diff --git a/.gitignore b/.gitignore index 2a1300ab31..93385ea51b 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,5 @@ build/ .idea/ porymap.project.cfg .vscode/ +*.a +.fuse_hidden* diff --git a/.travis.yml b/.travis.yml index 1ff0ad2c75..e9964105eb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: generic -dist: trusty +dist: bionic sudo: false env: global: diff --git a/.travis/calcrom/calcrom.pl b/.travis/calcrom/calcrom.pl index c5972ae108..1bc8bc74b4 100755 --- a/.travis/calcrom/calcrom.pl +++ b/.travis/calcrom/calcrom.pl @@ -64,7 +64,7 @@ my $undoc_cmd = "grep '[Uu]nknown_[0-9a-fA-F]*\\|sub_[0-9a-fA-F]*'"; # This looks for every symbol with an address at the end of it. Some things are # given a name based on their type / location, but still have an unknown purpose. # For example, FooMap_EventScript_FFFFFFF. -my $partial_doc_cmd = "grep '[0-9a-fA-F]\\{6,7\\}'"; +my $partial_doc_cmd = "grep '_[0-28][0-9a-fA-F]\\{5,6\\}'"; my $count_cmd = "wc -l"; diff --git a/Makefile b/Makefile index 85d3f6a51e..293f86f176 100644 --- a/Makefile +++ b/Makefile @@ -43,6 +43,7 @@ ELF = $(ROM:.gba=.elf) MAP = $(ROM:.gba=.map) C_SUBDIR = src +GFLIB_SUBDIR = gflib ASM_SUBDIR = asm DATA_SRC_SUBDIR = src/data DATA_ASM_SUBDIR = data @@ -50,6 +51,7 @@ SONG_SUBDIR = sound/songs MID_SUBDIR = sound/songs/midi C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR) +GFLIB_BUILDDIR = $(OBJ_DIR)/$(GFLIB_SUBDIR) ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR) DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR) SONG_BUILDDIR = $(OBJ_DIR)/$(SONG_SUBDIR) @@ -73,14 +75,14 @@ OBJ_DIR := build/modern LIBPATH := -L $(TOOLCHAIN)/lib/gcc/arm-none-eabi/$(GCC_VER)/thumb -L $(TOOLCHAIN)/arm-none-eabi/lib/thumb endif -CPPFLAGS := -iquote include -Wno-trigraphs -DMODERN=$(MODERN) +CPPFLAGS := -iquote include -iquote $(GFLIB_SUBDIR) -Wno-trigraphs -DMODERN=$(MODERN) ifeq ($(MODERN),0) CPPFLAGS += -I tools/agbcc/include -I tools/agbcc endif LDFLAGS = -Map ../../$(MAP) -LIB := $(LIBPATH) -lgcc -lc +LIB := $(LIBPATH) -lgcc -lc -L../../libagbsyscall -lagbsyscall SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c GFX := tools/gbagfx/gbagfx$(EXE) @@ -109,7 +111,7 @@ MAKEFLAGS += --no-print-directory # Secondary expansion is required for dependency variables in object rules. .SECONDEXPANSION: -.PHONY: all rom clean compare tidy tools mostlyclean clean-tools $(TOOLDIRS) berry_fix +.PHONY: all rom clean compare tidy tools mostlyclean clean-tools $(TOOLDIRS) berry_fix libagbsyscall infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line)))) @@ -125,6 +127,9 @@ 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)) +GFLIB_SRCS := $(wildcard $(GFLIB_SUBDIR)/*.c) +GFLIB_OBJS := $(patsubst $(GFLIB_SUBDIR)/%.c,$(GFLIB_BUILDDIR)/%.o,$(GFLIB_SRCS)) + C_ASM_SRCS += $(wildcard $(C_SUBDIR)/*.s $(C_SUBDIR)/*/*.s $(C_SUBDIR)/*/*/*.s) C_ASM_OBJS := $(patsubst $(C_SUBDIR)/%.s,$(C_BUILDDIR)/%.o,$(C_ASM_SRCS)) @@ -140,7 +145,7 @@ SONG_OBJS := $(patsubst $(SONG_SUBDIR)/%.s,$(SONG_BUILDDIR)/%.o,$(SONG_SRCS)) MID_SRCS := $(wildcard $(MID_SUBDIR)/*.mid) MID_OBJS := $(patsubst $(MID_SUBDIR)/%.mid,$(MID_BUILDDIR)/%.o,$(MID_SRCS)) -OBJS := $(C_OBJS) $(C_ASM_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS) +OBJS := $(C_OBJS) $(GFLIB_OBJS) $(C_ASM_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS) OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS)) SUBDIRS := $(sort $(dir $(OBJS))) @@ -156,7 +161,7 @@ tools: $(TOOLDIRS) $(TOOLDIRS): @$(MAKE) -C $@ CC=$(HOSTCC) CXX=$(HOSTCXX) -rom: berry_fix $(ROM) +rom: $(ROM) ifeq ($(COMPARE),1) @$(SHA1) rom.sha1 endif @@ -178,6 +183,7 @@ mostlyclean: tidy find $(DATA_ASM_SUBDIR)/maps \( -iname 'connections.inc' -o -iname 'events.inc' -o -iname 'header.inc' \) -exec rm {} + rm -f $(AUTO_GEN_TARGETS) @$(MAKE) clean -C berry_fix + @$(MAKE) clean -C libagbsyscall tidy: rm -f $(ROM) $(ELF) $(MAP) @@ -230,7 +236,7 @@ endif ifeq ($(NODEP),1) $(C_BUILDDIR)/%.o: c_dep := else -$(C_BUILDDIR)/%.o: c_dep = $(shell [[ -f $(C_SUBDIR)/$*.c ]] && $(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 -I gflib $(C_SUBDIR)/$*.c) endif ifeq ($(DINFO),1) @@ -243,6 +249,18 @@ $(C_BUILDDIR)/%.o : $(C_SUBDIR)/%.c $$(c_dep) @echo -e ".text\n\t.align\t2, 0\n" >> $(C_BUILDDIR)/$*.s $(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s +ifeq ($(NODEP),1) +$(GFLIB_BUILDDIR)/%.o: c_dep := +else +$(GFLIB_BUILDDIR)/%.o: c_dep = $(shell [[ -f $(GFLIB_SUBDIR)/$*.c ]] && $(SCANINC) -I include -I tools/agbcc/include -I gflib $(GFLIB_SUBDIR)/$*.c) +endif + +$(GFLIB_BUILDDIR)/%.o : $(GFLIB_SUBDIR)/%.c $$(c_dep) + @$(CPP) $(CPPFLAGS) $< -o $(GFLIB_BUILDDIR)/$*.i + @$(PREPROC) $(GFLIB_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CFLAGS) -o $(GFLIB_BUILDDIR)/$*.s + @echo -e ".text\n\t.align\t2, 0\n" >> $(GFLIB_BUILDDIR)/$*.s + $(AS) $(ASFLAGS) -o $@ $(GFLIB_BUILDDIR)/$*.s + ifeq ($(NODEP),1) $(C_BUILDDIR)/%.o: c_asm_dep := else @@ -293,7 +311,7 @@ endif $(OBJ_DIR)/ld_script.ld: $(LD_SCRIPT) $(LD_SCRIPT_DEPS) cd $(OBJ_DIR) && sed "s#tools/#../../tools/#g" ../../$(LD_SCRIPT) > ld_script.ld -$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) +$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) berry_fix libagbsyscall cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) $(LIB) $(FIX) $@ -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent @@ -306,4 +324,7 @@ modern: ; @$(MAKE) MODERN=1 berry_fix/berry_fix.gba: berry_fix berry_fix: - @$(MAKE) -C berry_fix COMPARE=$(COMPARE) + @$(MAKE) -C berry_fix COMPARE=$(COMPARE) TOOLCHAIN=$(TOOLCHAIN) + +libagbsyscall: + @$(MAKE) -C libagbsyscall TOOLCHAIN=$(TOOLCHAIN) diff --git a/README.md b/README.md index 5d4edab857..2c3447abc4 100644 --- a/README.md +++ b/README.md @@ -33,4 +33,4 @@ Other disassembly and/or decompilation projects: ## Contacts -You can find us on [Discord](https://discord.gg/6EuWgX9) and [IRC](https://kiwiirc.com/client/irc.freenode.net/?#pret). +You can find us on [Discord](https://discord.gg/d5dubZ3) and [IRC](https://kiwiirc.com/client/irc.freenode.net/?#pret). diff --git a/asm/berry_crush.s b/asm/berry_crush.s deleted file mode 100755 index 8d44c7269e..0000000000 --- a/asm/berry_crush.s +++ /dev/null @@ -1,5515 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8021A28 -sub_8021A28: @ 8021A28 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - str r0, [sp, 0xC] - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x10] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x14] - lsls r3, 24 - movs r0, 0 - str r0, [sp, 0x18] - movs r1, 0 - str r1, [sp, 0x1C] - ldr r2, [sp, 0xC] - adds r2, 0x68 - str r2, [sp, 0x20] - movs r4, 0xF0 - lsls r4, 24 - adds r3, r4 - lsrs r3, 24 - ldr r0, [sp, 0x10] - cmp r0, 0x2 - bne _08021A68 - adds r0, r3, 0 - subs r0, 0x2A - lsls r0, 24 - lsrs r3, r0, 24 -_08021A68: - ldr r2, [sp, 0xC] - ldrb r1, [r2, 0x9] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 1 - subs r6, r3, r0 - cmp r6, 0 - ble _08021A84 - lsrs r0, r6, 31 - adds r0, r6, r0 - asrs r0, 1 - adds r6, r0, 0 - adds r6, 0x10 - b _08021A86 -_08021A84: - movs r6, 0x10 -_08021A86: - movs r5, 0 - ldr r3, [sp, 0xC] - ldrb r3, [r3, 0x9] - cmp r5, r3 - bcc _08021A92 - b _08021D14 -_08021A92: - ldr r4, [sp, 0x10] - lsls r4, 2 - str r4, [sp, 0x24] -_08021A98: - bl DynamicPlaceholderTextUtil_Reset - ldr r0, [sp, 0x10] - cmp r0, 0x1 - beq _08021B48 - cmp r0, 0x1 - bgt _08021AC0 - cmp r0, 0 - beq _08021ADE - ldr r4, [sp, 0x14] - subs r4, 0x4 - lsls r1, r6, 24 - mov r10, r1 - ldr r2, [sp, 0x1C] - adds r2, 0xA2 - mov r9, r2 - ldr r3, [sp, 0x18] - lsls r3, 5 - mov r8, r3 - b _08021C5A -_08021AC0: - ldr r4, [sp, 0x10] - cmp r4, 0x2 - bne _08021AC8 - b _08021C1C -_08021AC8: - ldr r4, [sp, 0x14] - subs r4, 0x4 - lsls r0, r6, 24 - mov r10, r0 - ldr r1, [sp, 0x1C] - adds r1, 0xA2 - mov r9, r1 - ldr r2, [sp, 0x18] - lsls r2, 5 - mov r8, r2 - b _08021C5A -_08021ADE: - ldr r0, [sp, 0x20] - adds r0, 0x20 - adds r0, r5 - ldrb r0, [r0] - str r0, [sp, 0x18] - lsls r3, r5, 1 - ldr r2, [sp, 0x20] - adds r2, 0xC - cmp r5, 0 - beq _08021B04 - adds r0, r2, r3 - subs r1, r5, 0x1 - lsls r1, 1 - adds r1, r2, r1 - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - beq _08021B04 - str r5, [sp, 0x1C] -_08021B04: - ldr r4, [sp, 0x24] - ldr r1, [sp, 0x10] - adds r0, r4, r1 - lsls r0, 1 - adds r0, r3, r0 - adds r0, r2, r0 - ldrh r1, [r0] - ldr r0, =gStringVar4 - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r0, =gUnknown_082F43B4 - adds r0, r4, r0 - ldr r1, [r0] - ldr r0, =gStringVar4 - bl StringAppend - ldr r4, [sp, 0x14] - subs r4, 0x4 - lsls r2, r6, 24 - mov r10, r2 - ldr r3, [sp, 0x1C] - adds r3, 0xA2 - mov r9, r3 - ldr r0, [sp, 0x18] - lsls r0, 5 - mov r8, r0 - b _08021C5A - .pool -_08021B48: - ldr r1, [sp, 0x20] - adds r0, r1, r5 - adds r0, 0x28 - ldrb r0, [r0] - str r0, [sp, 0x18] - lsls r3, r5, 1 - adds r2, r1, 0 - adds r2, 0xC - cmp r5, 0 - beq _08021B72 - adds r0, r3, 0 - adds r0, 0xA - adds r0, r2, r0 - adds r1, r3, 0 - adds r1, 0x8 - adds r1, r2, r1 - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - beq _08021B72 - str r5, [sp, 0x1C] -_08021B72: - ldr r0, [sp, 0x24] - ldr r1, [sp, 0x10] - adds r4, r0, r1 - lsls r4, 1 - adds r4, r3, r4 - adds r4, r2, r4 - ldrh r1, [r4] - lsrs r1, 4 - ldr r0, =gStringVar1 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r7, 0 - ldrb r0, [r4] - movs r3, 0xF - ands r3, r0 - movs r2, 0 - ldr r4, [sp, 0x10] - lsls r4, 2 - str r4, [sp, 0x28] - ldr r4, [sp, 0x14] - subs r4, 0x4 - lsls r0, r6, 24 - mov r10, r0 - ldr r1, [sp, 0x1C] - adds r1, 0xA2 - mov r9, r1 - ldr r0, [sp, 0x18] - lsls r0, 5 - mov r8, r0 - adds r6, 0xE - adds r5, 0x1 - ldr r1, =gUnknown_082F334C - mov r12, r1 -_08021BB8: - movs r0, 0x3 - subs r1, r0, r2 - adds r0, r3, 0 - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08021BD0 - lsls r0, r2, 2 - add r0, r12 - ldr r0, [r0] - adds r7, r0 -_08021BD0: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _08021BB8 - adds r0, r7, 0 - ldr r1, =0x000f4240 - bl __udivsi3 - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, =gStringVar2 - adds r1, r3, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, =gUnknown_082F43B4 - ldr r2, [sp, 0x28] - adds r0, r2, r0 - ldr r1, [r0] - ldr r0, =gStringVar4 - bl StringExpandPlaceholders - b _08021C5E - .pool -_08021C1C: - str r5, [sp, 0x18] - str r5, [sp, 0x1C] - lsls r7, r5, 5 - ldr r3, [sp, 0xC] - adds r0, r3, r7 - adds r0, 0xA4 - ldrb r2, [r0] - cmp r2, 0x2B - bls _08021C30 - movs r2, 0 -_08021C30: - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - ldr r0, =gBerries - adds r1, r0 - ldr r0, =gStringVar1 - bl StringCopy - ldr r0, =gUnknown_082F43B4 - ldr r1, [r0, 0x8] - ldr r0, =gStringVar4 - bl StringExpandPlaceholders - ldr r4, [sp, 0x14] - subs r4, 0x4 - lsls r0, r6, 24 - mov r10, r0 - movs r1, 0xA2 - adds r1, r5 - mov r9, r1 - mov r8, r7 -_08021C5A: - adds r6, 0xE - adds r5, 0x1 -_08021C5E: - movs r0, 0x2 - ldr r1, =gStringVar4 - adds r2, r4, 0 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - ldr r3, [sp, 0xC] - movs r4, 0xDD - lsls r4, 1 - adds r0, r3, r4 - ldrb r0, [r0] - lsls r2, 24 - lsrs r2, 24 - mov r1, r10 - lsrs r3, r1, 24 - ldr r1, =gUnknown_082F32D8 - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r1, =gStringVar4 - str r1, [sp, 0x8] - movs r1, 0x2 - bl AddTextPrinterParameterized3 - ldr r3, [sp, 0x18] - ldr r2, [sp, 0xC] - ldrb r2, [r2, 0x8] - cmp r3, r2 - bne _08021CC0 - ldr r0, =gStringVar3 - ldr r1, =gText_1DotBlueF700 - bl StringCopy - b _08021CC8 - .pool -_08021CC0: - ldr r0, =gStringVar3 - ldr r1, =gText_1DotF700 - bl StringCopy -_08021CC8: - ldr r4, =gStringVar3 - mov r3, r9 - strb r3, [r4] - mov r1, r8 - adds r1, 0x98 - ldr r0, [sp, 0xC] - adds r1, r0, r1 - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r0, =gStringVar4 - adds r1, r4, 0 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - ldr r1, [sp, 0xC] - movs r2, 0xDD - lsls r2, 1 - adds r0, r1, r2 - ldrb r0, [r0] - mov r4, r10 - lsrs r3, r4, 24 - ldr r1, =gUnknown_082F32D8 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - ldr r2, =gStringVar4 - str r2, [sp, 0x8] - movs r1, 0x2 - movs r2, 0x4 - bl AddTextPrinterParameterized3 - lsls r0, r5, 24 - lsrs r5, r0, 24 - ldr r3, [sp, 0xC] - ldrb r3, [r3, 0x9] - cmp r5, r3 - bcs _08021D14 - b _08021A98 -_08021D14: - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8021A28 - - thumb_func_start sub_8021D34 -sub_8021D34: @ 8021D34 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - mov r8, r0 - movs r0, 0 - mov r10, r0 - movs r6, 0 - movs r1, 0 - str r1, [sp, 0xC] - mov r2, r8 - adds r2, 0x68 - str r2, [sp, 0x10] - movs r4, 0xDD - lsls r4, 1 - add r4, r8 - mov r9, r4 - ldrb r0, [r4] - movs r1, 0x4 - bl GetWindowAttribute - lsls r0, 27 - movs r1, 0xD6 - lsls r1, 24 - adds r0, r1 - lsrs r7, r0, 24 - movs r0, 0x9C - lsls r0, 1 - add r0, r8 - ldr r2, [sp, 0x10] - ldrh r1, [r2, 0x4] - bl sub_8021944 - ldrb r0, [r4] - ldr r4, =gUnknown_082F32D8 - str r4, [sp] - str r6, [sp, 0x4] - ldr r1, =gText_TimeColon - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - ldr r4, =gText_SpaceSec - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - movs r1, 0xB0 - subs r0, r1, r0 - lsls r0, 24 - lsrs r6, r0, 24 - mov r2, r9 - ldrb r0, [r2] - ldr r1, =gUnknown_082F32D8 - str r1, [sp] - mov r2, r10 - str r2, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - movs r0, 0x9F - lsls r0, 1 - add r0, r8 - movs r4, 0 - ldrsh r1, [r0, r4] - ldr r0, =gStringVar1 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, =gStringVar2 - movs r1, 0xA0 - lsls r1, 1 - add r1, r8 - movs r2, 0 - ldrsh r1, [r1, r2] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r5, =gStringVar4 - ldr r1, =gText_XDotY2 - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0x2 - adds r1, r5, 0 - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - subs r0, r6, r0 - lsls r0, 24 - lsrs r6, r0, 24 - mov r4, r9 - ldrb r0, [r4] - ldr r1, =gUnknown_082F32D8 - str r1, [sp] - mov r2, r10 - str r2, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - ldr r4, =gText_SpaceMin - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - subs r0, r6, r0 - lsls r0, 24 - lsrs r6, r0, 24 - mov r1, r9 - ldrb r0, [r1] - ldr r2, =gUnknown_082F32D8 - str r2, [sp] - mov r1, r10 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - movs r0, 0x9E - lsls r0, 1 - add r0, r8 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r0, =gStringVar1 - movs r2, 0x2 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r1, =gText_StrVar1 - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0x2 - adds r1, r5, 0 - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - subs r0, r6, r0 - lsls r0, 24 - lsrs r6, r0, 24 - mov r4, r9 - ldrb r0, [r4] - ldr r1, =gUnknown_082F32D8 - str r1, [sp] - mov r2, r10 - str r2, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - adds r0, r7, 0 - adds r0, 0xE - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r4] - ldr r4, =gUnknown_082F32D8 - str r4, [sp] - mov r1, r10 - str r1, [sp, 0x4] - ldr r1, =gText_PressingSpeed - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - ldr r4, =gText_TimesPerSec - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - movs r2, 0xB0 - subs r0, r2, r0 - lsls r0, 24 - str r0, [sp, 0x18] - lsrs r6, r0, 24 - mov r1, r9 - ldrb r0, [r1] - ldr r2, =gUnknown_082F32D8 - str r2, [sp] - mov r1, r10 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - mov r4, r8 - ldrb r2, [r4, 0x16] - ldrh r0, [r4, 0x16] - mov r12, r0 - movs r1, 0x7 - mov r9, r1 - movs r5, 0x1 - ldr r3, =gUnknown_082F334C -_08021EEC: - mov r4, r9 - mov r0, r10 - subs r1, r4, r0 - adds r0, r2, 0 - asrs r0, r1 - ands r0, r5 - cmp r0, 0 - beq _08021F0A - mov r1, r10 - lsls r0, r1, 2 - adds r0, r3 - ldr r0, [r0] - ldr r4, [sp, 0xC] - adds r4, r0 - str r4, [sp, 0xC] -_08021F0A: - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - cmp r0, 0x7 - bls _08021EEC - ldr r0, =gStringVar1 - mov r2, r12 - lsrs r1, r2, 8 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar2 - ldr r1, =0x000f4240 - ldr r0, [sp, 0xC] - bl __udivsi3 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_XDotY3 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r2, 0x1 - negs r2, r2 - movs r0, 0x2 - adds r1, r4, 0 - bl GetStringWidth - subs r0, r6, r0 - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r8 - adds r0, 0x25 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08021FC4 - movs r0, 0xDD - lsls r0, 1 - add r0, r8 - ldrb r0, [r0] - ldr r1, =gUnknown_082F32E7 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - b _08021FDE - .pool -_08021FC4: - movs r0, 0xDD - lsls r0, 1 - add r0, r8 - ldrb r0, [r0] - ldr r1, =gUnknown_082F32D8 - str r1, [sp] - str r2, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 -_08021FDE: - adds r0, r7, 0 - adds r0, 0xE - lsls r0, 24 - lsrs r7, r0, 24 - movs r4, 0xDD - lsls r4, 1 - add r8, r4 - mov r1, r8 - ldrb r0, [r1] - ldr r2, =gUnknown_082F32D8 - mov r9, r2 - str r2, [sp] - movs r5, 0 - str r5, [sp, 0x4] - ldr r1, =gText_Silkiness - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - ldr r0, =gStringVar1 - ldr r4, [sp, 0x10] - ldrh r1, [r4, 0x8] - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_Var1Percent - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r2, 0x1 - negs r2, r2 - movs r0, 0x2 - adds r1, r4, 0 - bl GetStringWidth - movs r1, 0xB0 - subs r1, r0 - lsls r1, 24 - lsrs r6, r1, 24 - mov r1, r8 - ldrb r0, [r1] - mov r2, r9 - str r2, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8021D34 - - thumb_func_start sub_8022070 -sub_8022070: @ 8022070 - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r6, r1, 0 - adds r0, r6, 0 - adds r0, 0x80 - ldrb r0, [r0] - cmp r0, 0x5 - bls _08022084 - b _08022218 -_08022084: - lsls r0, 2 - ldr r1, =_08022094 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08022094: - .4byte _080220AC - .4byte _080220F8 - .4byte _0802210C - .4byte _08022130 - .4byte _080221F8 - .4byte _08022200 -_080220AC: - ldrb r0, [r4, 0x9] - subs r0, 0x2 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0 - bl sub_8022554 - ldrh r0, [r4, 0x12] - lsls r0, 3 - ldr r2, =gUnknown_082F32CC - mov r1, sp - adds r0, r2 - ldm r0!, {r2,r3} - stm r1!, {r2,r3} - ldrh r0, [r4, 0x12] - cmp r0, 0xD - bne _080220DC - ldr r0, =gUnknown_082F3344 - adds r0, 0x4 - b _080220DE - .pool -_080220DC: - ldr r0, =gUnknown_082F3344 -_080220DE: - adds r0, r5, r0 - ldrb r1, [r0] - mov r0, sp - strb r1, [r0, 0x4] - mov r0, sp - bl AddWindow - adds r1, r6, 0 - adds r1, 0x82 - strb r0, [r1] - b _08022218 - .pool -_080220F8: - adds r4, r6, 0 - adds r4, 0x82 - ldrb r0, [r4] - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0 - bl FillWindowPixelBuffer - b _08022218 -_0802210C: - adds r5, r6, 0 - adds r5, 0x82 - ldrb r0, [r5] - ldr r4, =0x0000021d - adds r1, r4, 0 - movs r2, 0xD0 - bl LoadUserWindowBorderGfx_ - ldrb r0, [r5] - movs r1, 0 - adds r2, r4, 0 - movs r3, 0xD - bl DrawStdFrameWithCustomTileAndPalette - b _08022218 - .pool -_08022130: - ldrb r0, [r4, 0x9] - subs r0, 0x2 - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r4, 0x12] - cmp r0, 0xC - beq _08022184 - cmp r0, 0xC - bgt _08022148 - cmp r0, 0xB - beq _0802214E - b _08022218 -_08022148: - cmp r0, 0xD - beq _080221C8 - b _08022218 -_0802214E: - adds r0, r6, 0 - adds r0, 0x82 - ldrb r0, [r0] - ldr r3, =gText_PressesRankings - movs r1, 0x14 - movs r2, 0x3 - bl sub_80219C8 - ldr r0, =gUnknown_082F3344 - adds r0, r5, r0 - ldrb r3, [r0] - lsls r3, 27 - lsrs r3, 24 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0xA0 - bl sub_8021A28 - adds r1, r6, 0 - adds r1, 0x80 - movs r0, 0x5 - b _08022220 - .pool -_08022184: - adds r0, r6, 0 - adds r0, 0x82 - ldrb r0, [r0] - ldr r2, =gUnknown_082F43B4 - adds r1, r4, 0 - adds r1, 0x8F - ldrb r1, [r1] - adds r1, 0x3 - lsls r1, 2 - adds r1, r2 - ldr r3, [r1] - movs r1, 0x14 - movs r2, 0x4 - bl sub_80219C8 - ldr r0, =gUnknown_082F3344 - adds r0, r5, r0 - ldrb r3, [r0] - lsls r3, 27 - lsrs r3, 24 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0xA0 - bl sub_8021A28 - adds r1, r6, 0 - adds r1, 0x80 - movs r0, 0x5 - b _08022220 - .pool -_080221C8: - adds r0, r6, 0 - adds r0, 0x82 - ldrb r0, [r0] - ldr r3, =gText_CrushingResults - movs r1, 0x16 - movs r2, 0x3 - bl sub_80219C8 - ldr r0, =gUnknown_082F3344 - adds r0, 0x4 - adds r0, r5, r0 - ldrb r3, [r0] - lsls r3, 27 - lsrs r3, 24 - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0xB0 - bl sub_8021A28 - b _08022218 - .pool -_080221F8: - adds r0, r4, 0 - bl sub_8021D34 - b _08022218 -_08022200: - adds r0, r6, 0 - adds r0, 0x82 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - adds r1, r6, 0 - adds r1, 0x80 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _08022224 -_08022218: - adds r1, r6, 0 - adds r1, 0x80 - ldrb r0, [r1] - adds r0, 0x1 -_08022220: - strb r0, [r1] - movs r0, 0 -_08022224: - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8022070 - - thumb_func_start sub_802222C -sub_802222C: @ 802222C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xDD - lsls r0, 1 - adds r5, r4, r0 - ldrb r0, [r5] - movs r1, 0x1 - bl ClearStdWindowAndFrameToTransparent - ldrb r0, [r5] - bl RemoveWindow - adds r0, r4, 0 - bl sub_8022600 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_802222C - - thumb_func_start sub_8022250 -sub_8022250: @ 8022250 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - mov r9, r0 - movs r1, 0 - str r1, [sp, 0xC] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x1 - beq _080222D0 - cmp r0, 0x1 - bgt _08022288 - cmp r0, 0 - beq _08022296 - b _080224BA - .pool -_08022288: - cmp r0, 0x2 - bne _0802228E - b _08022480 -_0802228E: - cmp r0, 0x3 - bne _08022294 - b _08022494 -_08022294: - b _080224BA -_08022296: - ldr r0, =gUnknown_082F32EC - bl AddWindow - strh r0, [r6, 0x2] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrb r0, [r6, 0x2] - movs r1, 0 - bl FillWindowPixelBuffer - ldrb r0, [r6, 0x2] - ldr r4, =0x0000021d - adds r1, r4, 0 - movs r2, 0xD0 - bl LoadUserWindowBorderGfx_ - ldrb r0, [r6, 0x2] - movs r1, 0 - adds r2, r4, 0 - movs r3, 0xD - bl DrawStdFrameWithCustomTileAndPalette - b _080224BA - .pool -_080222D0: - ldr r0, =gText_BerryCrush2 - mov r10, r0 - movs r1, 0x1 - negs r1, r1 - mov r8, r1 - movs r0, 0x1 - mov r1, r10 - mov r2, r8 - bl GetStringWidth - lsrs r0, 1 - movs r4, 0x60 - subs r0, r4, r0 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r6, 0x2] - ldr r5, =gUnknown_082F32E1 - str r5, [sp] - mov r1, r9 - str r1, [sp, 0x4] - mov r1, r10 - str r1, [sp, 0x8] - movs r1, 0x1 - adds r2, r7, 0 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - ldr r0, =gText_PressingSpeedRankings - mov r10, r0 - movs r0, 0x1 - mov r1, r10 - mov r2, r8 - bl GetStringWidth - lsrs r0, 1 - subs r4, r0 - lsls r4, 24 - lsrs r7, r4, 24 - ldrb r0, [r6, 0x2] - str r5, [sp] - mov r1, r9 - str r1, [sp, 0x4] - mov r1, r10 - str r1, [sp, 0x8] - movs r1, 0x1 - adds r2, r7, 0 - movs r3, 0x11 - bl AddTextPrinterParameterized3 - movs r0, 0x29 - mov r10, r0 -_08022336: - mov r1, r9 - adds r1, 0x2 - ldr r0, =gStringVar1 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r0, =gStringVar4 - ldr r1, =gText_Var1Players - bl StringExpandPlaceholders - ldrb r0, [r6, 0x2] - ldr r1, =gUnknown_082F32D8 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - ldr r1, =gStringVar4 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r2, 0 - mov r3, r10 - bl AddTextPrinterParameterized3 - movs r0, 0x1 - ldr r1, =gText_TimesPerSec - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - movs r1, 0xC0 - subs r1, r0 - lsls r1, 24 - lsrs r7, r1, 24 - ldrb r0, [r6, 0x2] - ldr r1, =gUnknown_082F32D8 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - ldr r1, =gText_TimesPerSec - str r1, [sp, 0x8] - movs r1, 0x1 - adds r2, r7, 0 - mov r3, r10 - bl AddTextPrinterParameterized3 - movs r2, 0 - mov r0, r9 - lsls r4, r0, 1 - mov r1, r10 - adds r1, 0x10 - str r1, [sp, 0x10] - movs r0, 0x1 - add r9, r0 - adds r0, r4, r6 - ldrb r3, [r0, 0x4] - movs r1, 0x7 - mov r12, r1 - movs r0, 0x1 - mov r8, r0 - ldr r5, =gUnknown_082F334C -_080223AE: - mov r0, r12 - subs r1, r0, r2 - adds r0, r3, 0 - asrs r0, r1 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - beq _080223CA - lsls r0, r2, 2 - adds r0, r5 - ldr r0, [r0] - ldr r1, [sp, 0xC] - adds r1, r0 - str r1, [sp, 0xC] -_080223CA: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _080223AE - adds r0, r4, r6 - ldrh r1, [r0, 0x4] - lsrs r1, 8 - ldr r0, =gStringVar1 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, [sp, 0xC] - ldr r1, =0x000f4240 - bl __udivsi3 - adds r1, r0, 0 - ldr r0, =gStringVar2 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, =gStringVar4 - ldr r1, =gText_XDotY3 - bl StringExpandPlaceholders - movs r0, 0x1 - ldr r1, =gStringVar4 - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - subs r0, r7, r0 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r6, 0x2] - ldr r1, =gUnknown_082F32D8 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - ldr r1, =gStringVar4 - str r1, [sp, 0x8] - movs r1, 0x1 - adds r2, r7, 0 - mov r3, r10 - bl AddTextPrinterParameterized3 - ldr r1, [sp, 0x10] - lsls r0, r1, 24 - lsrs r0, 24 - mov r10, r0 - movs r0, 0 - str r0, [sp, 0xC] - mov r1, r9 - lsls r0, r1, 24 - lsrs r0, 24 - mov r9, r0 - cmp r0, 0x3 - bhi _08022444 - b _08022336 -_08022444: - ldrb r0, [r6, 0x2] - movs r1, 0x3 - bl CopyWindowToVram - b _080224BA - .pool -_08022480: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _080224BA - b _080224C0 - .pool -_08022494: - ldrb r0, [r6, 0x2] - movs r1, 0x1 - bl ClearStdWindowAndFrameToTransparent - ldrb r0, [r6, 0x2] - bl ClearWindowTilemap - ldrb r0, [r6, 0x2] - bl RemoveWindow - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts - bl ScriptContext2_Disable - mov r0, r9 - b _080224BE -_080224BA: - ldrh r0, [r6] - adds r0, 0x1 -_080224BE: - strh r0, [r6] -_080224C0: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8022250 - - thumb_func_start sub_80224D0 -sub_80224D0: @ 80224D0 - push {lr} - bl ScriptContext2_Enable - ldr r0, =sub_8022250 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - movs r3, 0xF6 - lsls r3, 1 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1, 0xC] - adds r3, 0x2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1, 0xE] - adds r3, 0x2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1, 0x10] - adds r3, 0x2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1, 0x12] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80224D0 - - thumb_func_start sub_8022524 -sub_8022524: @ 8022524 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - bl sub_8021944 - movs r0, 0x4 - ldrsh r1, [r4, r0] - movs r0, 0 - bl sub_8035044 - movs r0, 0x6 - ldrsh r1, [r4, r0] - movs r0, 0x1 - bl sub_8035044 - movs r0, 0x8 - ldrsh r1, [r4, r0] - movs r0, 0x2 - bl sub_8035044 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8022524 - - thumb_func_start sub_8022554 -sub_8022554: @ 8022554 - push {lr} - ldr r2, [r0, 0x78] - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2] - ldr r1, [r0, 0x7C] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r3 - strb r0, [r1] - movs r0, 0x2 - movs r1, 0x1 - bl sub_803547C - movs r0, 0x1 - movs r1, 0x1 - bl sub_803547C - movs r0, 0 - movs r1, 0x1 - bl sub_803547C - pop {r0} - bx r0 - thumb_func_end sub_8022554 - - thumb_func_start sub_8022588 -sub_8022588: @ 8022588 - push {r4-r7,lr} - adds r5, r0, 0 - movs r6, 0 - ldrb r0, [r5, 0x9] - cmp r6, r0 - bcs _080225E8 - ldr r7, =gUnknown_082F417C -_08022596: - lsls r0, r6, 2 - movs r1, 0xA2 - lsls r1, 1 - adds r2, r5, r1 - adds r2, r0 - ldrb r1, [r5, 0x9] - subs r1, 0x2 - lsls r0, r1, 2 - adds r0, r1 - adds r0, r6, r0 - adds r0, r7 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, =gUnknown_082F4190 - adds r0, r1 - str r0, [r2] - ldrb r0, [r0] - lsls r0, 3 - ldr r1, =gUnknown_082F32F4 - adds r0, r1 - bl AddWindow - ldr r1, =0x000001bb - adds r4, r5, r1 - adds r4, r6 - strb r0, [r4] - ldrb r0, [r4] - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r5, 0x9] - cmp r6, r0 - bcc _08022596 -_080225E8: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8022588 - - thumb_func_start sub_8022600 -sub_8022600: @ 8022600 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r6, r0, 0 - movs r7, 0 - ldrb r0, [r6, 0x9] - cmp r7, r0 - bcs _080226B6 - movs r1, 0 - mov r8, r1 -_08022616: - ldr r1, =0x000001bb - adds r0, r6, r1 - adds r5, r0, r7 - ldrb r0, [r5] - bl PutWindowTilemap - ldrb r0, [r6, 0x8] - cmp r7, r0 - bne _08022668 - lsls r4, r7, 5 - adds r4, 0x98 - adds r4, r6, r4 - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - lsrs r0, 1 - movs r2, 0x24 - subs r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r5] - mov r1, r8 - str r1, [sp] - str r1, [sp, 0x4] - ldr r1, =gUnknown_082F32DB - str r1, [sp, 0x8] - mov r1, r8 - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x2 - movs r3, 0x1 - bl AddTextPrinterParameterized4 - b _0802269C - .pool -_08022668: - lsls r4, r7, 5 - adds r4, 0x98 - adds r4, r6, r4 - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - lsrs r0, 1 - movs r2, 0x24 - subs r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r5] - mov r1, r8 - str r1, [sp] - str r1, [sp, 0x4] - ldr r1, =gUnknown_082F32DE - str r1, [sp, 0x8] - mov r1, r8 - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x2 - movs r3, 0x1 - bl AddTextPrinterParameterized4 -_0802269C: - ldr r1, =0x000001bb - adds r0, r6, r1 - adds r0, r7 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r6, 0x9] - cmp r7, r0 - bcc _08022616 -_080226B6: - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8022600 - - thumb_func_start sub_80226D0 -sub_80226D0: @ 80226D0 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - movs r5, 0 - ldr r0, =gUnknown_08DE3FD4 - ldr r4, =gDecompressionBuffer - adds r1, r4, 0 - bl LZ77UnCompWram - b _0802271A - .pool -_080226EC: - lsls r1, r5, 2 - movs r2, 0xA2 - lsls r2, 1 - adds r0, r6, r2 - adds r0, r1 - ldr r3, [r0] - ldrb r0, [r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4, r1 - ldrb r2, [r3, 0x1] - ldrb r3, [r3, 0x2] - movs r0, 0xA - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x3 - bl CopyToBgTilemapBufferRect - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0802271A: - ldrb r0, [r6, 0x9] - cmp r5, r0 - bcc _080226EC - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80226D0 - - thumb_func_start sub_8022730 -sub_8022730: @ 8022730 - push {r4-r7,lr} - adds r6, r0, 0 - movs r5, 0 - ldr r0, =0x0000ff98 - strh r0, [r6, 0x2A] - strh r5, [r6, 0x2C] - ldr r1, =gSpriteCoordOffsetX - strh r5, [r1] - ldr r1, =gSpriteCoordOffsetY - strh r0, [r1] - ldr r4, =gUnknown_082F41F4 -_08022746: - lsls r0, r5, 3 - adds r0, r4 - bl LoadCompressedSpriteSheet - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _08022746 - ldr r0, =gUnknown_082F421C - bl LoadSpritePalettes - ldr r0, =gUnknown_082F430C - movs r1, 0x78 - movs r2, 0x58 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - movs r0, 0xAC - lsls r0, 1 - adds r3, r6, r0 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - str r0, [r3] - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r1, [r3] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1] - ldr r1, [r3] - adds r1, 0x2C - ldrb r0, [r1] - movs r2, 0x40 - orrs r0, r2 - strb r0, [r1] - movs r5, 0 - ldrb r1, [r6, 0x9] - cmp r5, r1 - bcs _08022822 - movs r7, 0x4 -_080227AA: - lsls r4, r5, 2 - movs r3, 0xA2 - lsls r3, 1 - adds r0, r6, r3 - adds r0, r4 - ldr r0, [r0] - ldrh r1, [r0, 0x4] - adds r1, 0x78 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r0, 0x6] - adds r2, 0x20 - lsls r2, 16 - asrs r2, 16 - ldr r0, =gUnknown_082F4324 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - movs r0, 0xAE - lsls r0, 1 - adds r3, r6, r0 - adds r3, r4 - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r3] - ldrb r0, [r1, 0x5] - movs r4, 0xD - negs r4, r4 - adds r2, r4, 0 - ands r0, r2 - orrs r0, r7 - strb r0, [r1, 0x5] - ldr r1, [r3] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r7 - strb r0, [r1] - ldr r2, [r3] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldr r2, [r3] - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r6, 0x9] - cmp r5, r0 - bcc _080227AA -_08022822: - movs r5, 0 - ldr r4, =gUnknown_082F41CC+6 - adds r7, r4, 0x1 -_08022828: - lsls r2, r5, 1 - adds r0, r2, r4 - movs r1, 0 - ldrsb r1, [r0, r1] - adds r1, 0x78 - adds r2, r7 - ldrb r2, [r2] - lsls r2, 24 - asrs r2, 24 - adds r2, 0x88 - ldr r0, =gUnknown_082F433C - movs r3, 0x6 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r5, 2 - movs r1, 0xC2 - lsls r1, 1 - adds r3, r6, r1 - adds r3, r0 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - str r0, [r3] - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r2, [r3] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r2, [r3] - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r3] - strh r5, [r0, 0x2E] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xA - bls _08022828 - movs r5, 0 -_0802288E: - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 19 - movs r3, 0xB0 - lsls r3, 16 - adds r1, r3 - asrs r1, 16 - ldr r0, =gUnknown_082F4354 - movs r2, 0x8 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r5, 2 - movs r4, 0xD8 - lsls r4, 1 - adds r3, r6, r4 - adds r3, r0 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - str r0, [r3] - ldrb r1, [r0, 0x5] - movs r4, 0xD - negs r4, r4 - adds r2, r4, 0 - ands r1, r2 - strb r1, [r0, 0x5] - ldr r2, [r3] - adds r2, 0x3E - ldrb r0, [r2] - adds r4, 0x8 - adds r1, r4, 0 - ands r0, r1 - strb r0, [r2] - ldr r2, [r3] - adds r2, 0x2C - ldrb r0, [r2] - movs r3, 0x41 - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - strb r0, [r2] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _0802288E - ldr r4, =gUnknown_082F4384 - movs r0, 0 - movs r1, 0 - adds r2, r4, 0 - bl sub_8034D14 - adds r2, r4, 0 - adds r2, 0x10 - movs r0, 0x1 - movs r1, 0 - bl sub_8034D14 - adds r4, 0x20 - movs r0, 0x2 - movs r1, 0 - adds r2, r4, 0 - bl sub_8034D14 - ldrh r0, [r6, 0x12] - cmp r0, 0x1 - bne _08022928 - movs r4, 0x9C - lsls r4, 1 - adds r0, r6, r4 - bl sub_8022554 -_08022928: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8022730 - - thumb_func_start sub_8022960 -sub_8022960: @ 8022960 - push {r4-r6,lr} - adds r5, r0, 0 - movs r4, 0 - movs r0, 0x4 - bl FreeSpriteTilesByTag - movs r0, 0x3 - bl FreeSpriteTilesByTag - movs r0, 0x2 - bl FreeSpriteTilesByTag - movs r0, 0x1 - bl FreeSpriteTilesByTag - movs r0, 0x4 - bl FreeSpritePaletteByTag - movs r0, 0x2 - bl FreeSpritePaletteByTag - movs r0, 0x1 - bl FreeSpritePaletteByTag - movs r0, 0xD8 - lsls r0, 1 - adds r6, r5, r0 -_08022996: - lsls r0, r4, 2 - adds r0, r6, r0 - ldr r0, [r0] - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _08022996 - movs r0, 0x2 - bl sub_80353DC - movs r0, 0x1 - bl sub_80353DC - movs r0, 0 - bl sub_80353DC - movs r4, 0 - movs r1, 0xC2 - lsls r1, 1 - adds r6, r5, r1 -_080229C4: - lsls r0, r4, 2 - adds r0, r6, r0 - ldr r0, [r0] - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xA - bls _080229C4 - movs r4, 0 - ldrb r2, [r5, 0x9] - cmp r4, r2 - bcs _080229FC -_080229E0: - lsls r1, r4, 2 - movs r2, 0xAE - lsls r2, 1 - adds r0, r5, r2 - adds r0, r1 - ldr r0, [r0] - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r5, 0x9] - cmp r4, r0 - bcc _080229E0 -_080229FC: - movs r1, 0xAC - lsls r1, 1 - adds r0, r5, r1 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08022A18 - adds r0, r2, 0 - bl DestroySprite -_08022A18: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8022960 - - thumb_func_start sub_8022A20 -sub_8022A20: @ 8022A20 - push {lr} - adds r3, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08022A46 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] -_08022A46: - pop {r0} - bx r0 - thumb_func_end sub_8022A20 - - thumb_func_start sub_8022A4C -sub_8022A4C: @ 8022A4C - push {r4,r5,lr} - adds r3, r0, 0 - movs r1, 0 - ldr r5, =SpriteCallbackDummy - adds r2, r3, 0 - adds r2, 0x2E - movs r4, 0 -_08022A5A: - lsls r0, r1, 1 - adds r0, r2, r0 - strh r4, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _08022A5A - movs r0, 0 - strh r0, [r3, 0x24] - strh r0, [r3, 0x26] - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - str r5, [r3, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8022A4C - - thumb_func_start sub_8022A94 -sub_8022A94: @ 8022A94 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r5, 0 - adds r4, 0x2E - ldrh r0, [r4, 0x4] - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 24 - ldrh r2, [r5, 0x26] - adds r0, r2 - strh r0, [r5, 0x26] - movs r1, 0xE - ldrsh r0, [r4, r1] - movs r6, 0x80 - lsls r6, 8 - ands r0, r6 - cmp r0, 0 - beq _08022AFA - ldrh r0, [r4, 0x6] - ldrh r2, [r5, 0x2E] - adds r0, r2 - strh r0, [r5, 0x2E] - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - adds r0, r1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 23 - movs r2, 0xC - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r5, 0x24] - movs r1, 0xE - ldrsh r0, [r4, r1] - ands r0, r6 - cmp r0, 0 - beq _08022AFA - ldrh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 23 - cmp r0, 0x7E - ble _08022AFA - movs r0, 0 - strh r0, [r5, 0x24] - ldrh r1, [r4, 0xE] - ldr r0, =0x00007fff - ands r0, r1 - strh r0, [r4, 0xE] -_08022AFA: - ldrh r0, [r4] - lsls r0, 16 - asrs r0, 23 - strh r0, [r5, 0x20] - movs r2, 0x22 - ldrsh r1, [r5, r2] - movs r2, 0x26 - ldrsh r0, [r5, r2] - adds r1, r0 - ldrh r2, [r4, 0xE] - ldr r0, =0x00007fff - ands r0, r2 - cmp r1, r0 - ble _08022B1A - ldr r0, =sub_8022A4C - str r0, [r5, 0x1C] -_08022B1A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8022A94 - - thumb_func_start sub_8022B28 -sub_8022B28: @ 8022B28 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r7, r6, 0 - adds r7, 0x2E - movs r0, 0 - mov r8, r0 - movs r2, 0xA0 - lsls r2, 2 - strh r2, [r7, 0x2] - movs r0, 0x20 - strh r0, [r7, 0x4] - movs r1, 0xA8 - strh r1, [r7, 0xE] - movs r0, 0x24 - ldrsh r4, [r6, r0] - lsls r4, 23 - lsrs r4, 16 - ldrh r0, [r6, 0x22] - subs r1, r0 - lsls r1, 23 - asrs r1, 16 - adds r2, 0x20 - asrs r2, 1 - movs r0, 0x7 - bl sub_81515D4 - adds r5, r0, 0 - ldrh r0, [r6, 0x20] - lsls r0, 7 - strh r0, [r6, 0x2E] - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - movs r0, 0x7 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_81515D4 - strh r0, [r7, 0x6] - movs r0, 0x7 - adds r1, r5, 0 - movs r2, 0x55 - bl sub_8151550 - adds r2, r0, 0 - mov r1, r8 - strh r1, [r7, 0x8] - movs r1, 0xFE - lsls r1, 6 - lsls r2, 16 - asrs r2, 16 - movs r0, 0x7 - bl sub_81515D4 - strh r0, [r7, 0xA] - movs r2, 0x24 - ldrsh r0, [r6, r2] - cmp r0, 0 - bge _08022BA6 - adds r0, 0x3 -_08022BA6: - asrs r0, 2 - strh r0, [r7, 0xC] - ldrh r0, [r7, 0xE] - ldr r2, =0xffff8000 - adds r1, r2, 0 - orrs r0, r1 - strh r0, [r7, 0xE] - mov r0, r8 - strh r0, [r6, 0x26] - strh r0, [r6, 0x24] - ldr r0, =sub_8022A94 - str r0, [r6, 0x1C] - adds r2, r6, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r2, 0x12 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8022B28 - - thumb_func_start sub_8022BEC -sub_8022BEC: @ 8022BEC - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r2, 0 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - mov r8, r4 - bl sub_8020C00 - adds r6, r0, 0 - cmp r5, 0x19 - bls _08022C0A - movs r5, 0 -_08022C0A: - cmp r4, 0 - beq _08022C14 - cmp r4, 0x1 - beq _08022C40 - b _08022C4A -_08022C14: - cmp r5, 0 - beq _08022C28 - ldr r0, =gUnknown_082F43CC - lsls r1, r5, 2 - adds r1, r0 - ldr r2, [r1] - adds r0, r6, 0 - adds r1, r7, 0 - bl _call_via_r2 -_08022C28: - ldrb r0, [r6, 0xE] - cmp r0, 0x19 - bls _08022C32 - mov r0, r8 - strb r0, [r6, 0xE] -_08022C32: - ldr r0, =gUnknown_082F43CC - ldrb r1, [r6, 0xE] - lsls r1, 2 - b _08022C44 - .pool -_08022C40: - ldr r0, =gUnknown_082F43CC - lsls r1, r5, 2 -_08022C44: - adds r1, r0 - ldr r0, [r1] - str r0, [r6, 0x4] -_08022C4A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8022BEC - - thumb_func_start sub_8022C58 -sub_8022C58: @ 8022C58 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldrb r2, [r1] - ldrb r3, [r1, 0x1] - lsls r3, 8 - orrs r2, r3 - ldrb r3, [r1, 0x2] - lsls r3, 16 - orrs r2, r3 - ldrb r3, [r1, 0x3] - lsls r3, 24 - adds r0, r2, 0 - orrs r0, r3 - ldrb r2, [r1, 0x9] - strb r2, [r1] - ldrb r4, [r1, 0x8] - lsls r4, 8 - ldrb r2, [r1, 0x7] - orrs r4, r2 - ldr r5, =gPaletteFade - ldrb r3, [r5, 0x8] - movs r2, 0x7F - ands r2, r3 - strb r2, [r5, 0x8] - movs r5, 0x4 - ldrsb r5, [r1, r5] - ldrb r2, [r1, 0x5] - ldrb r3, [r1, 0x6] - str r4, [sp] - adds r1, r5, 0 - bl BeginNormalPaletteFade - bl UpdatePaletteFade - movs r0, 0x2 - strb r0, [r6, 0xE] - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8022C58 - - thumb_func_start sub_8022CB0 -sub_8022CB0: @ 8022CB0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0x1 - beq _08022CE4 - cmp r0, 0x1 - bgt _08022CC6 - cmp r0, 0 - beq _08022CD0 - b _08022D06 -_08022CC6: - cmp r0, 0x2 - beq _08022CEA - cmp r0, 0x3 - beq _08022CF6 - b _08022D06 -_08022CD0: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _08022D0C - ldrb r0, [r5] - cmp r0, 0 - bne _08022D06 - movs r0, 0x3 - b _08022D0A -_08022CE4: - bl sub_8010434 - b _08022D06 -_08022CEA: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - bne _08022D06 - b _08022D0C -_08022CF6: - ldrb r0, [r4, 0xF] - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - movs r0, 0 - strb r0, [r4, 0xC] - b _08022D0E -_08022D06: - ldrb r0, [r4, 0xC] - adds r0, 0x1 -_08022D0A: - strb r0, [r4, 0xC] -_08022D0C: - movs r0, 0 -_08022D0E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8022CB0 - - thumb_func_start sub_8022D14 -sub_8022D14: @ 8022D14 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r7, r0, 0 - adds r5, r1, 0 - ldrb r4, [r5, 0x3] - lsls r4, 8 - ldrb r0, [r5, 0x2] - orrs r4, r0 - ldrb r6, [r7, 0xC] - cmp r6, 0x1 - beq _08022DC0 - cmp r6, 0x1 - bgt _08022D38 - cmp r6, 0 - beq _08022D42 - b _08022E08 -_08022D38: - cmp r6, 0x2 - beq _08022DD8 - cmp r6, 0x3 - beq _08022DE8 - b _08022E08 -_08022D42: - movs r0, 0 - movs r1, 0 - bl DrawDialogueFrame - ldrb r1, [r5, 0x1] - movs r0, 0x2 - mov r8, r0 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _08022D90 - ldr r4, =gStringVar4 - ldr r1, =gUnknown_082F32A4 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringExpandPlaceholders - ldrb r3, [r7, 0xB] - str r6, [sp] - mov r0, r8 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl AddTextPrinterParameterized2 - b _08022DB2 - .pool -_08022D90: - ldr r1, =gUnknown_082F32A4 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - ldrb r3, [r7, 0xB] - str r4, [sp] - mov r0, r8 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - bl AddTextPrinterParameterized2 -_08022DB2: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - b _08022E08 - .pool -_08022DC0: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _08022E0E - cmp r4, 0 - bne _08022E08 - ldrb r0, [r7, 0xC] - adds r0, 0x1 - strb r0, [r7, 0xC] - b _08022E08 -_08022DD8: - ldr r0, =gMain - ldrh r0, [r0, 0x2E] - ands r4, r0 - cmp r4, 0 - bne _08022E08 - b _08022E0E - .pool -_08022DE8: - ldrb r1, [r5, 0x1] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08022DFA - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame -_08022DFA: - ldrb r0, [r7, 0xE] - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - ldrb r0, [r5, 0x4] - b _08022E0C -_08022E08: - ldrb r0, [r7, 0xC] - adds r0, 0x1 -_08022E0C: - strb r0, [r7, 0xC] -_08022E0E: - movs r0, 0 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8022D14 - - thumb_func_start sub_8022E1C -sub_8022E1C: @ 8022E1C - push {r4,lr} - adds r4, r0, 0 - bl sub_802104C - cmp r0, 0 - beq _08022E34 - ldrb r0, [r4, 0xE] - adds r2, r4, 0 - adds r2, 0x36 - movs r1, 0 - bl sub_8022BEC -_08022E34: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8022E1C - - thumb_func_start sub_8022E3C -sub_8022E3C: @ 8022E3C - push {r4,lr} - adds r4, r0, 0 - bl sub_802130C - cmp r0, 0 - beq _08022E54 - ldrb r0, [r4, 0xE] - adds r2, r4, 0 - adds r2, 0x36 - movs r1, 0 - bl sub_8022BEC -_08022E54: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8022E3C - - thumb_func_start sub_8022E5C -sub_8022E5C: @ 8022E5C - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0 - beq _08022E6C - cmp r0, 0x1 - beq _08022E72 - b _08022E9C -_08022E6C: - bl sub_8010434 - b _08022E9C -_08022E72: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08022EA2 - ldr r0, =0x000001e5 - bl PlayNewMapMusic - movs r0, 0x7 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - movs r1, 0 - movs r0, 0x3 - strh r0, [r4, 0x12] - strb r1, [r4, 0xC] - b _08022EA2 - .pool -_08022E9C: - ldrb r0, [r4, 0xC] - adds r0, 0x1 - strb r0, [r4, 0xC] -_08022EA2: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8022E5C - - thumb_func_start sub_8022EAC -sub_8022EAC: @ 8022EAC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0 - beq _08022EC2 - cmp r0, 0x1 - beq _08022EE8 - adds r0, 0x1 - b _08022EF8 -_08022EC2: - adds r0, r4, 0 - bl sub_8024578 - movs r0, 0x1 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x1 - movs r3, 0 - bl sub_8024644 - movs r0, 0x7 - strb r0, [r4, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - b _08022EFA -_08022EE8: - movs r0, 0x8 - strb r0, [r4, 0xE] - movs r0, 0x5 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - movs r0, 0x2 -_08022EF8: - strb r0, [r4, 0xC] -_08022EFA: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8022EAC - - thumb_func_start sub_8022F04 -sub_8022F04: @ 8022F04 - push {lr} - movs r1, 0 - str r1, [r0, 0x4] - ldr r0, =sub_8020E1C - bl SetMainCallback2 - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8022F04 - - thumb_func_start sub_8022F1C -sub_8022F1C: @ 8022F1C - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r2, r1, 0 - ldrb r0, [r5, 0xC] - cmp r0, 0x5 - bls _08022F2C - b _08023060 -_08022F2C: - lsls r0, 2 - ldr r1, =_08022F3C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08022F3C: - .4byte _08022F54 - .4byte _08022F74 - .4byte _08022F7A - .4byte _08022FAA - .4byte _08022FBA - .4byte _08023044 -_08022F54: - movs r0, 0x1 - str r0, [sp] - adds r0, r2, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl sub_8024644 - movs r0, 0x9 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - b _08023066 -_08022F74: - bl sub_8010434 - b _08023060 -_08022F7A: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08023066 - adds r4, r5, 0 - adds r4, 0x42 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0xC - bl memset - ldrb r0, [r5, 0x8] - lsls r0, 5 - adds r0, r5, r0 - adds r0, 0xA4 - ldrh r0, [r0] - strh r0, [r4] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x2 - bl SendBlock - b _08023060 -_08022FAA: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08023066 - movs r0, 0 - strh r0, [r5, 0x10] - b _08023060 -_08022FBA: - bl GetBlockReceivedStatus - ldr r2, =gUnknown_082F4448 - ldrb r4, [r5, 0x9] - subs r1, r4, 0x2 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _08023066 - movs r3, 0 - cmp r3, r4 - bcs _0802301E - ldr r7, =gBlockRecvBuffer - movs r6, 0 - ldr r4, =gUnknown_0858AB24 -_08022FDC: - lsls r0, r3, 5 - adds r0, r5, r0 - lsls r1, r3, 8 - adds r1, r7 - ldrh r1, [r1] - adds r2, r0, 0 - adds r2, 0xA4 - strh r1, [r2] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xB0 - bls _08022FF6 - strh r6, [r2] -_08022FF6: - ldrh r1, [r2] - lsls r1, 2 - adds r1, r4 - ldrh r0, [r5, 0x18] - ldrb r1, [r1] - adds r0, r1 - strh r0, [r5, 0x18] - ldrh r0, [r2] - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x2] - ldr r0, [r5, 0x1C] - adds r0, r1 - str r0, [r5, 0x1C] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldrb r0, [r5, 0x9] - cmp r3, r0 - bcc _08022FDC -_0802301E: - movs r0, 0 - strh r0, [r5, 0x10] - bl ResetBlockReceivedFlags - movs r1, 0x18 - ldrsh r0, [r5, r1] - lsls r0, 8 - movs r1, 0x80 - lsls r1, 6 - bl sub_81515FC - str r0, [r5, 0x20] - b _08023060 - .pool -_08023044: - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - movs r0, 0xA - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - movs r1, 0 - movs r0, 0x4 - strh r0, [r5, 0x12] - strb r1, [r5, 0xC] - b _08023066 -_08023060: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_08023066: - movs r0, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8022F1C - - thumb_func_start sub_8023070 -sub_8023070: @ 8023070 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0x6 - bls _0802307C - b _080231A8 -_0802307C: - lsls r0, 2 - ldr r1, =_0802308C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0802308C: - .4byte _080230A8 - .4byte _080230BA - .4byte _080230E8 - .4byte _08023120 - .4byte _08023150 - .4byte _08023172 - .4byte _08023184 -_080230A8: - movs r0, 0x9C - lsls r0, 1 - adds r1, r4, r0 - adds r0, r4, 0 - bl sub_80214A8 - bl sub_8010434 - b _080231A8 -_080230BA: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _080231AE - movs r2, 0x9C - lsls r2, 1 - adds r1, r4, r2 - movs r0, 0 - strb r0, [r1] - ldr r3, =0x00000139 - adds r1, r4, r3 - strb r0, [r1] - adds r2, 0x2 - adds r1, r4, r2 - strb r0, [r1] - adds r3, 0x2 - adds r1, r4, r3 - strb r0, [r1] - b _080231A8 - .pool -_080230E8: - movs r0, 0x9C - lsls r0, 1 - adds r3, r4, r0 - ldrb r0, [r3] - lsls r0, 2 - movs r2, 0xB8 - lsls r2, 1 - adds r1, r4, r2 - adds r0, r1, r0 - ldr r2, [r0] - ldr r0, =sub_8021608 - str r0, [r2, 0x1C] - ldrb r0, [r3] - lsls r0, 2 - adds r1, r0 - ldr r1, [r1] - adds r1, 0x2C - ldrb r2, [r1] - movs r0, 0x7F - ands r0, r2 - strb r0, [r1] - movs r0, 0x3D - bl PlaySE - b _080231A8 - .pool -_08023120: - movs r3, 0x9C - lsls r3, 1 - adds r2, r4, r3 - ldrb r0, [r2] - lsls r0, 2 - adds r3, 0x38 - adds r1, r4, r3 - adds r3, r1, r0 - ldr r0, [r3] - ldr r1, [r0, 0x1C] - ldr r0, =sub_8021608 - cmp r1, r0 - beq _080231AE - movs r0, 0 - str r0, [r3] - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - bl sub_8010434 - b _080231A8 - .pool -_08023150: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _080231AE - movs r0, 0x9C - lsls r0, 1 - adds r1, r4, r0 - ldrb r0, [r1] - ldrb r2, [r4, 0x9] - cmp r0, r2 - bcs _0802316C - movs r0, 0x2 - b _080231AC -_0802316C: - movs r0, 0 - strb r0, [r1] - b _080231A8 -_08023172: - movs r3, 0x9C - lsls r3, 1 - adds r1, r4, r3 - adds r0, r4, 0 - bl sub_80216A8 - bl sub_8010434 - b _080231A8 -_08023184: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _080231AE - movs r0, 0x2B - bl PlaySE - movs r0, 0xB - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - movs r1, 0 - movs r0, 0x5 - strh r0, [r4, 0x12] - strb r1, [r4, 0xC] - b _080231AE -_080231A8: - ldrb r0, [r4, 0xC] - adds r0, 0x1 -_080231AC: - strb r0, [r4, 0xC] -_080231AE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8023070 - - thumb_func_start sub_80231B8 -sub_80231B8: @ 80231B8 - push {r4-r7,lr} - adds r4, r0, 0 - ldrb r1, [r4, 0xC] - cmp r1, 0x1 - beq _0802321C - cmp r1, 0x1 - bgt _080231CC - cmp r1, 0 - beq _080231D6 - b _080232DC -_080231CC: - cmp r1, 0x2 - beq _0802329C - cmp r1, 0x3 - beq _080232BE - b _080232DC -_080231D6: - ldrh r0, [r4, 0x2A] - adds r0, 0x4 - strh r0, [r4, 0x2A] - lsls r0, 16 - cmp r0, 0 - bge _080231E4 - b _080232E2 -_080231E4: - strh r1, [r4, 0x2A] - ldr r0, =0x00000139 - adds r3, r4, r0 - movs r0, 0x4 - strb r0, [r3] - movs r2, 0x9C - lsls r2, 1 - adds r1, r4, r2 - movs r0, 0 - strb r0, [r1] - ldr r2, =gUnknown_082F326C - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - adds r0, r2 - ldrb r0, [r0] - movs r2, 0x9D - lsls r2, 1 - adds r1, r4, r2 - strb r0, [r1] - movs r0, 0xD6 - bl PlaySE - b _080232DC - .pool -_0802321C: - ldr r7, =gUnknown_082F326C - movs r0, 0x9C - lsls r0, 1 - adds r6, r4, r0 - ldr r1, =0x00000139 - adds r5, r4, r1 - ldrb r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - ldrb r2, [r6] - adds r0, r2 - adds r0, r7 - movs r1, 0 - ldrsb r1, [r0, r1] - strh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x12 - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1A - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1E - bl SetGpuReg - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - movs r1, 0x9D - lsls r1, 1 - adds r2, r4, r1 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r2] - cmp r0, r1 - bcc _080232E2 - ldrb r0, [r5] - cmp r0, 0 - beq _080232DC - subs r0, 0x1 - strb r0, [r5] - ldrb r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - adds r0, r7 - ldrb r0, [r0] - strb r0, [r2] - movs r0, 0 - strb r0, [r6] - b _080232E2 - .pool -_0802329C: - movs r0, 0 - strh r0, [r4, 0x2C] - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - bl sub_8010434 - b _080232DC -_080232BE: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _080232E2 - movs r0, 0xC - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - movs r1, 0 - movs r0, 0x6 - strh r0, [r4, 0x12] - strb r1, [r4, 0xC] - b _080232E2 -_080232DC: - ldrb r0, [r4, 0xC] - adds r0, 0x1 - strb r0, [r4, 0xC] -_080232E2: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80231B8 - - thumb_func_start sub_80232EC -sub_80232EC: @ 80232EC - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0x1 - beq _0802330C - cmp r0, 0x1 - bgt _08023302 - cmp r0, 0 - beq _08023332 - b _0802338C -_08023302: - cmp r0, 0x2 - beq _0802332A - cmp r0, 0x3 - beq _08023338 - b _0802338C -_0802330C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08023392 - movs r1, 0x80 - lsls r1, 5 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x78 - movs r3, 0x50 - bl sub_802EB24 - b _0802338C -_0802332A: - bl sub_802EB84 - cmp r0, 0 - bne _08023392 -_08023332: - bl sub_8010434 - b _0802338C -_08023338: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08023392 - movs r0, 0x9C - lsls r0, 1 - adds r1, r4, r0 - movs r0, 0 - strb r0, [r1] - ldr r2, =0x00000139 - adds r1, r4, r2 - strb r0, [r1] - adds r2, 0x1 - adds r1, r4, r2 - strb r0, [r1] - adds r2, 0x1 - adds r1, r4, r2 - strb r0, [r1] - strh r0, [r4, 0x10] - ldrb r0, [r4, 0x8] - cmp r0, 0 - bne _08023378 - movs r0, 0xD - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - b _08023382 - .pool -_08023378: - movs r0, 0xE - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC -_08023382: - movs r1, 0 - movs r0, 0x7 - strh r0, [r4, 0x12] - strb r1, [r4, 0xC] - b _08023392 -_0802338C: - ldrb r0, [r4, 0xC] - adds r0, 0x1 - strb r0, [r4, 0xC] -_08023392: - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80232EC - - thumb_func_start sub_802339C -sub_802339C: @ 802339C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r4, r0, 0 - movs r0, 0 - mov r8, r0 - movs r2, 0 - adds r7, r2, 0 - ldrb r1, [r4, 0x9] - cmp r7, r1 - bcs _080234AA - movs r2, 0x5E - adds r2, r4 - mov r9, r2 - ldr r3, =gUnknown_082F325C - mov r10, r3 -_080233C0: - lsls r0, r7, 4 - ldr r1, =gRecvCmds - adds r2, r0, r1 - ldrh r1, [r2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - movs r3, 0xBC - lsls r3, 6 - cmp r0, r3 - bne _0802349E - ldrh r0, [r2, 0x2] - cmp r0, 0x2 - bne _0802349E - ldrb r1, [r2, 0x4] - movs r0, 0x4 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08023496 - mov r0, r9 - ldrb r2, [r0] - lsrs r1, r2, 3 - mov r3, r10 - adds r0, r7, r3 - ldrb r0, [r0] - orrs r1, r0 - lsls r1, 3 - movs r0, 0x7 - ands r0, r2 - orrs r0, r1 - mov r1, r9 - strb r0, [r1] - lsls r2, r7, 5 - adds r3, r4, r2 - mov r12, r3 - mov r1, r12 - adds r1, 0xB5 - movs r0, 0x1 - strb r0, [r1] - subs r1, 0x7 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - subs r1, 0x8 - ldrh r0, [r4, 0x28] - ldrh r1, [r1] - subs r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - mov r5, r12 - adds r5, 0xAA - ldrh r1, [r5] - subs r0, r1, 0x1 - adds r6, r2, 0 - cmp r3, r0 - blt _08023468 - adds r0, r1, 0x1 - cmp r3, r0 - bgt _08023468 - mov r1, r12 - adds r1, 0xA8 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - strh r3, [r5] - mov r0, r12 - adds r0, 0xAC - ldrh r1, [r1] - ldrh r2, [r0] - cmp r1, r2 - bls _08023476 - strh r1, [r0] - b _08023476 - .pool -_08023468: - adds r0, r4, r6 - adds r2, r0, 0 - adds r2, 0xA8 - movs r1, 0 - strh r1, [r2] - adds r0, 0xAA - strh r3, [r0] -_08023476: - adds r1, r4, r6 - ldrh r0, [r4, 0x28] - adds r3, r1, 0 - adds r3, 0xA6 - movs r2, 0 - strh r0, [r3] - adds r1, 0xB4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bls _0802349E - strb r2, [r1] - b _0802349E -_08023496: - lsls r0, r7, 5 - adds r0, r4, r0 - adds r0, 0xB5 - strb r1, [r0] -_0802349E: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r3, [r4, 0x9] - cmp r7, r3 - bcc _080233C0 -_080234AA: - mov r0, r8 - cmp r0, 0x1 - bls _080234E0 - movs r7, 0 - ldrb r1, [r4, 0x9] - cmp r7, r1 - bcs _080234E0 - movs r3, 0x2 -_080234BA: - lsls r0, r7, 5 - adds r1, r4, r0 - adds r2, r1, 0 - adds r2, 0xB5 - ldrb r0, [r2] - cmp r0, 0 - beq _080234D4 - orrs r0, r3 - strb r0, [r2] - adds r1, 0xB0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080234D4: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r2, [r4, 0x9] - cmp r7, r2 - bcc _080234BA -_080234E0: - mov r3, r8 - cmp r3, 0 - beq _08023548 - ldrh r0, [r4, 0x2E] - add r0, r8 - strh r0, [r4, 0x2E] - ldr r1, =gUnknown_082F3264 - mov r0, r8 - subs r0, 0x1 - adds r0, r1 - ldrb r0, [r0] - add r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r0, [r4, 0x34] - add r0, r8 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x1A] - add r0, r8 - strh r0, [r4, 0x1A] - movs r1, 0x18 - ldrsh r0, [r4, r1] - movs r3, 0x1A - ldrsh r2, [r4, r3] - subs r0, r2 - cmp r0, 0 - ble _08023534 - lsls r2, 8 - ldr r1, [r4, 0x20] - adds r0, r2, 0 - bl sub_81515FC - adds r2, r0, 0 - asrs r2, 8 - adds r0, r4, 0 - adds r0, 0x24 - strb r2, [r0] - b _08023548 - .pool -_08023534: - adds r1, r4, 0 - adds r1, 0x24 - movs r0, 0x20 - strb r0, [r1] - adds r2, r4, 0 - adds r2, 0x5E - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_08023548: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_802339C - - thumb_func_start sub_8023558 -sub_8023558: @ 8023558 - push {r4-r6,lr} - adds r3, r0, 0 - movs r6, 0 - movs r1, 0 - adds r4, r1, 0 - ldrb r0, [r3, 0x9] - cmp r4, r0 - bcs _080235B0 - adds r5, r3, 0 - adds r5, 0x64 -_0802356C: - lsls r0, r4, 5 - adds r1, r3, r0 - adds r0, r1, 0 - adds r0, 0xB5 - ldrb r2, [r0] - cmp r2, 0 - beq _080235A4 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r1, 0 - adds r0, 0xB4 - ldrb r0, [r0] - adds r1, r0, 0x1 - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _08023594 - movs r0, 0x4 - orrs r1, r0 -_08023594: - lsls r0, r4, 1 - adds r0, r4 - lsls r1, r0 - lsls r0, r1, 16 - lsrs r1, r0, 16 - ldrh r0, [r5] - orrs r1, r0 - strh r1, [r5] -_080235A4: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r1, [r3, 0x9] - cmp r4, r1 - bcc _0802356C -_080235B0: - adds r0, r3, 0 - adds r0, 0x24 - ldrb r1, [r0] - adds r0, 0x3C - strh r1, [r0] - cmp r6, 0 - bne _080235D4 - ldr r2, =0x0000013b - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080236A0 - movs r4, 0x9C - lsls r4, 1 - adds r1, r3, r4 - b _08023612 - .pool -_080235D4: - ldr r5, =0x0000013b - adds r2, r3, r5 - ldrb r0, [r2] - cmp r0, 0 - beq _0802361A - ldr r0, =0x00000139 - adds r1, r3, r0 - ldrb r2, [r1] - cmp r6, r2 - beq _0802360C - subs r0, r6, 0x1 - strb r0, [r1] - ldr r1, =gUnknown_082F3290 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - movs r4, 0x9D - lsls r4, 1 - adds r1, r3, r4 - strb r0, [r1] - b _08023640 - .pool -_0802360C: - movs r5, 0x9C - lsls r5, 1 - adds r1, r3, r5 -_08023612: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08023640 -_0802361A: - movs r0, 0x9C - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0 - strb r0, [r1] - subs r0, r6, 0x1 - ldr r4, =0x00000139 - adds r1, r3, r4 - strb r0, [r1] - ldr r1, =gUnknown_082F3290 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - movs r5, 0x9D - lsls r5, 1 - adds r1, r3, r5 - strb r0, [r1] - movs r0, 0x1 - strb r0, [r2] -_08023640: - ldr r0, =0x0000013b - adds r4, r3, r0 - ldrb r0, [r4] - cmp r0, 0 - beq _080236A0 - movs r2, 0x9C - lsls r2, 1 - adds r1, r3, r2 - movs r5, 0x9D - lsls r5, 1 - adds r2, r3, r5 - ldrb r0, [r1] - ldrb r5, [r2] - cmp r0, r5 - bcc _0802367C - movs r0, 0 - strb r0, [r1] - ldr r5, =0x00000139 - adds r1, r3, r5 - strb r0, [r1] - strb r0, [r2] - strb r0, [r4] - movs r1, 0 - b _08023690 - .pool -_0802367C: - ldr r2, =gUnknown_082F3290 - ldrb r1, [r1] - ldr r4, =0x00000139 - adds r0, r3, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, 0x1 - adds r1, r0 - adds r1, r2 - ldrb r1, [r1] -_08023690: - adds r0, r3, 0 - adds r0, 0x5F - strb r1, [r0] - b _080236A8 - .pool -_080236A0: - adds r1, r3, 0 - adds r1, 0x5F - movs r0, 0 - strb r0, [r1] -_080236A8: - ldrh r1, [r3, 0x26] - adds r0, r3, 0 - adds r0, 0x62 - strh r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8023558 - - thumb_func_start sub_80236B8 -sub_80236B8: @ 80236B8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - ldr r3, =gMain - ldrh r1, [r3, 0x2E] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _080236DA - adds r2, r5, 0 - adds r2, 0x5E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080236DA: - ldrh r1, [r3, 0x2C] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _080236FA - ldrb r0, [r5, 0x8] - lsls r0, 5 - adds r0, r5, r0 - adds r1, r0, 0 - adds r1, 0xB2 - ldrh r0, [r1] - ldrh r2, [r5, 0x28] - cmp r0, r2 - bcs _080236FA - adds r0, 0x1 - strh r0, [r1] -_080236FA: - ldrb r0, [r5, 0x8] - adds r7, r5, 0 - adds r7, 0x5E - cmp r0, 0 - beq _08023710 - ldrb r1, [r7] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _08023710 - b _0802384C -_08023710: - adds r4, r5, 0 - adds r4, 0x5C - movs r0, 0x2 - strh r0, [r4] - ldrh r0, [r5, 0x28] - movs r1, 0x1E - bl __umodsi3 - lsls r0, 16 - mov r8, r4 - adds r6, r5, 0 - adds r6, 0x25 - cmp r0, 0 - bne _08023768 - movs r0, 0x2E - ldrsh r2, [r5, r0] - ldr r1, =gUnknown_082F4444 - ldrb r0, [r5, 0x9] - subs r0, 0x2 - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - ble _08023754 - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - ldrb r0, [r6] - movs r1, 0x10 - orrs r0, r1 - b _0802375C - .pool -_08023754: - ldrb r1, [r6] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 -_0802375C: - strb r0, [r6] - movs r0, 0 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] -_08023768: - ldrh r0, [r5, 0x28] - movs r1, 0xF - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _080237DE - movs r0, 0x34 - ldrsh r2, [r5, r0] - ldr r3, =gUnknown_082F4434 - ldrb r0, [r5, 0x9] - subs r0, 0x2 - lsls r1, r0, 2 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r2, r0 - bge _08023798 - ldrb r1, [r6] - movs r0, 0x1F - ands r0, r1 - strb r0, [r6] - b _080237D8 - .pool -_08023798: - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r2, r0 - bge _080237AC - ldrb r0, [r6] - movs r1, 0x1F - ands r1, r0 - movs r0, 0x20 - b _080237D4 -_080237AC: - adds r0, r3, 0x2 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r2, r0 - bge _080237BC - movs r0, 0x2 - strh r0, [r5, 0x34] - b _080237D8 -_080237BC: - adds r0, r3, 0x3 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r2, r0 - bge _080237CC - movs r0, 0x3 - strh r0, [r5, 0x34] - b _080237D8 -_080237CC: - ldrb r0, [r6] - movs r1, 0x1F - ands r1, r0 - movs r0, 0x80 -_080237D4: - orrs r1, r0 - strb r1, [r6] -_080237D8: - movs r0, 0 - strh r0, [r5, 0x34] - b _0802380A -_080237DE: - ldrh r0, [r5, 0x10] - adds r0, 0x1 - strh r0, [r5, 0x10] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3C - bls _0802380A - cmp r0, 0x46 - bls _080237FA - bl sub_8011AC8 - movs r0, 0 - strh r0, [r5, 0x10] - b _0802380A -_080237FA: - ldrb r0, [r7] - movs r4, 0xF8 - ands r4, r0 - cmp r4, 0 - bne _0802380A - bl sub_8011AC8 - strh r4, [r5, 0x10] -_0802380A: - ldrh r1, [r5, 0x28] - ldr r0, =0x00008c9f - cmp r1, r0 - bls _0802381A - ldrb r0, [r7] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r7] -_0802381A: - ldrb r1, [r6] - lsls r1, 27 - lsrs r1, 31 - lsls r1, 1 - ldrb r2, [r7] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r7] - ldrb r0, [r6] - lsrs r0, 5 - adds r2, r5, 0 - adds r2, 0x66 - strh r0, [r2] - adds r4, r5, 0 - adds r4, 0x42 - adds r0, r4, 0 - mov r1, r8 - movs r2, 0xC - bl memcpy - adds r0, r4, 0 - bl sub_800FE50 -_0802384C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80236B8 - - thumb_func_start sub_802385C -sub_802385C: @ 802385C - push {r4,r5,lr} - adds r5, r0, 0 - movs r4, 0 - ldr r3, =gRecvCmds - ldrb r0, [r5, 0x9] - cmp r4, r0 - bcs _08023880 - movs r1, 0 -_0802386C: - lsls r0, r4, 5 - adds r0, r5, r0 - adds r0, 0xB5 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r5, 0x9] - cmp r4, r0 - bcc _0802386C -_08023880: - adds r2, r3, 0 - ldrh r0, [r2] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _08023898 - ldrh r0, [r2, 0x2] - cmp r0, 0x2 - beq _080238AC -_08023898: - adds r2, r5, 0 - adds r2, 0x25 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _080238EA - .pool -_080238AC: - adds r4, r5, 0 - adds r4, 0x4E - adds r0, r4, 0 - adds r1, r3, 0 - movs r2, 0xE - bl memcpy - ldrh r0, [r4, 0x6] - strh r0, [r5, 0x2A] - movs r0, 0x5 - ldrsb r0, [r4, r0] - strh r0, [r5, 0x2C] - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x28] - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - adds r0, r5, 0 - bl sub_80216E0 - ldrb r1, [r4, 0x4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080238EA - adds r0, r5, 0 - adds r0, 0x25 - ldrb r1, [r0] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0] -_080238EA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_802385C - - thumb_func_start sub_80238F0 -sub_80238F0: @ 80238F0 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x5C - movs r1, 0 - movs r2, 0xC - bl memset - adds r0, r4, 0 - adds r0, 0x4E - movs r1, 0 - movs r2, 0xE - bl memset - adds r0, r4, 0 - bl sub_802385C - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x12 - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1A - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1E - bl SetGpuReg - adds r0, r4, 0 - adds r0, 0x25 - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08023978 - ldrh r1, [r4, 0x28] - ldr r0, =0x00008c9f - cmp r1, r0 - bls _08023964 - adds r0, 0x1 - strh r0, [r4, 0x28] - movs r0, 0x10 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - b _0802396E - .pool -_08023964: - movs r0, 0xF - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC -_0802396E: - movs r1, 0 - movs r0, 0 - strh r0, [r4, 0x10] - strb r1, [r4, 0xC] - b _08023992 -_08023978: - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - adds r0, r4, 0 - bl sub_802339C - adds r0, r4, 0 - bl sub_8023558 - adds r0, r4, 0 - bl sub_80236B8 - movs r0, 0 -_08023992: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80238F0 - - thumb_func_start sub_8023998 -sub_8023998: @ 8023998 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x5C - movs r1, 0 - movs r2, 0xC - bl memset - adds r0, r4, 0 - adds r0, 0x4E - movs r1, 0 - movs r2, 0xE - bl memset - adds r0, r4, 0 - bl sub_802385C - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x12 - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1A - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1E - bl SetGpuReg - adds r0, r4, 0 - adds r0, 0x25 - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08023A20 - ldrh r1, [r4, 0x28] - ldr r0, =0x00008c9f - cmp r1, r0 - bls _08023A0C - adds r0, 0x1 - strh r0, [r4, 0x28] - movs r0, 0x10 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - b _08023A16 - .pool -_08023A0C: - movs r0, 0xF - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC -_08023A16: - movs r1, 0 - movs r0, 0 - strh r0, [r4, 0x10] - strb r1, [r4, 0xC] - b _08023A28 -_08023A20: - adds r0, r4, 0 - bl sub_80236B8 - movs r0, 0 -_08023A28: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8023998 - - thumb_func_start sub_8023A30 -sub_8023A30: @ 8023A30 - push {r4-r7,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0x5 - bls _08023A3C - b _08023BB2 -_08023A3C: - lsls r0, 2 - ldr r1, =_08023A4C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08023A4C: - .4byte _08023A64 - .4byte _08023A8C - .4byte _08023ADC - .4byte _08023B5C - .4byte _08023B7A - .4byte _08023B94 -_08023A64: - movs r0, 0x8 - strh r0, [r4, 0x12] - movs r0, 0xD6 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - ldr r2, =0x000003ff - movs r1, 0x8 - bl BlendPalettes - movs r0, 0x9C - lsls r0, 1 - adds r1, r4, r0 - movs r0, 0x2 - strb r0, [r1] - b _08023BB2 - .pool -_08023A8C: - movs r1, 0x9C - lsls r1, 1 - adds r5, r4, r1 - ldrb r0, [r5] - subs r0, 0x1 - strb r0, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08023AA2 - b _08023BB8 -_08023AA2: - movs r0, 0x1 - negs r0, r0 - ldr r2, =0x000003ff - movs r1, 0 - bl BlendPalettes - ldr r2, =0x00000139 - adds r1, r4, r2 - movs r0, 0x4 - strb r0, [r1] - movs r0, 0 - strb r0, [r5] - ldr r2, =gUnknown_082F326C - ldrb r1, [r1] - lsls r0, r1, 3 - subs r0, r1 - adds r0, r2 - ldrb r0, [r0] - movs r2, 0x9D - lsls r2, 1 - adds r1, r4, r2 - strb r0, [r1] - b _08023BB2 - .pool -_08023ADC: - ldr r7, =gUnknown_082F326C - movs r0, 0x9C - lsls r0, 1 - adds r6, r4, r0 - ldr r1, =0x00000139 - adds r5, r4, r1 - ldrb r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - ldrb r2, [r6] - adds r0, r2 - adds r0, r7 - movs r1, 0 - ldrsb r1, [r0, r1] - strh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x12 - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1A - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1E - bl SetGpuReg - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - movs r1, 0x9D - lsls r1, 1 - adds r2, r4, r1 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r2] - cmp r0, r1 - bcc _08023BB8 - ldrb r0, [r5] - cmp r0, 0 - beq _08023BB2 - subs r0, 0x1 - strb r0, [r5] - ldrb r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - adds r0, r7 - ldrb r0, [r0] - strb r0, [r2] - movs r0, 0 - strb r0, [r6] - b _08023BB8 - .pool -_08023B5C: - movs r0, 0 - strh r0, [r4, 0x2C] - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - b _08023BB2 -_08023B7A: - movs r2, 0x9C - lsls r2, 1 - adds r1, r4, r2 - adds r0, r4, 0 - bl sub_80218D4 - cmp r0, 0 - beq _08023BB8 - bl sub_8010434 - movs r0, 0 - strh r0, [r4, 0x10] - b _08023BB2 -_08023B94: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08023BB8 - movs r0, 0x11 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - movs r1, 0 - movs r0, 0 - strh r0, [r4, 0x10] - strb r1, [r4, 0xC] - b _08023BBA -_08023BB2: - ldrb r0, [r4, 0xC] - adds r0, 0x1 - strb r0, [r4, 0xC] -_08023BB8: - movs r0, 0 -_08023BBA: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8023A30 - - thumb_func_start sub_8023BC0 -sub_8023BC0: @ 8023BC0 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldrb r0, [r5, 0xC] - cmp r0, 0x1 - beq _08023C04 - cmp r0, 0x1 - bgt _08023BD8 - cmp r0, 0 - beq _08023BE2 - b _08023C9C -_08023BD8: - cmp r0, 0x2 - beq _08023C2A - cmp r0, 0x3 - beq _08023C5C - b _08023C9C -_08023BE2: - movs r0, 0x9 - strh r0, [r5, 0x12] - movs r0, 0x20 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - movs r1, 0x8 - movs r2, 0x1F - bl BlendPalettes - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x4 - strb r0, [r1] - b _08023C9C -_08023C04: - movs r0, 0x9C - lsls r0, 1 - adds r4, r5, r0 - ldrb r0, [r4] - subs r0, 0x1 - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _08023CA2 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - movs r2, 0x1F - bl BlendPalettes - movs r0, 0 - strb r0, [r4] - b _08023C9C -_08023C2A: - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - adds r0, r5, 0 - bl sub_80218D4 - cmp r0, 0 - beq _08023CA2 - bl sub_8010434 - movs r0, 0 - strh r0, [r5, 0x10] - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - b _08023C9C -_08023C5C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08023CA2 - ldr r0, =gStringVar1 - ldr r1, [r5, 0x1C] - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - movs r4, 0 - str r4, [sp] - adds r0, r6, 0 - movs r1, 0x7 - movs r2, 0x1 - movs r3, 0 - bl sub_8024644 - movs r0, 0x13 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - movs r0, 0 - strh r4, [r5, 0x10] - b _08023CA0 - .pool -_08023C9C: - ldrb r0, [r5, 0xC] - adds r0, 0x1 -_08023CA0: - strb r0, [r5, 0xC] -_08023CA2: - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8023BC0 - - thumb_func_start sub_8023CAC -sub_8023CAC: @ 8023CAC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - adds r7, r0, 0 - ldrb r0, [r7, 0xC] - cmp r0, 0x7 - bls _08023CC2 - b _0802402E -_08023CC2: - lsls r0, 2 - ldr r1, =_08023CD0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08023CD0: - .4byte _08023CF0 - .4byte _08023D2A - .4byte _08023D38 - .4byte _08023DA0 - .4byte _08023F20 - .4byte _08023FD0 - .4byte _08023FDC - .4byte _08024010 -_08023CF0: - adds r4, r7, 0 - adds r4, 0x42 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x4 - bl memset - ldrb r0, [r7, 0x8] - lsls r0, 5 - adds r0, r7, r0 - adds r2, r0, 0 - adds r2, 0xB2 - ldrh r1, [r7, 0x28] - ldrh r0, [r2] - cmp r0, r1 - bls _08023D12 - strh r1, [r2] -_08023D12: - ldrb r0, [r7, 0x8] - lsls r0, 5 - adds r0, r7, r0 - adds r0, 0xB2 - ldrh r0, [r0] - strh r0, [r4] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x2 - bl SendBlock - b _0802402E -_08023D2A: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - bne _08023D36 - b _08024034 -_08023D36: - b _08024004 -_08023D38: - bl GetBlockReceivedStatus - ldr r2, =gUnknown_082F4448 - ldrb r3, [r7, 0x9] - subs r1, r3, 0x2 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - beq _08023D50 - b _08024034 -_08023D50: - movs r0, 0 - mov r8, r0 - adds r4, r7, 0 - adds r4, 0x42 - cmp r8, r3 - bcs _08023D7E - ldr r2, =gBlockRecvBuffer -_08023D5E: - mov r3, r8 - lsls r1, r3, 5 - adds r1, r7, r1 - lsls r0, r3, 8 - adds r0, r2 - ldrh r0, [r0] - adds r1, 0xB2 - strh r0, [r1] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r6, [r7, 0x9] - cmp r8, r6 - bcc _08023D5E -_08023D7E: - movs r0, 0 - strh r0, [r7, 0x10] - strh r0, [r4] - bl ResetBlockReceivedFlags - ldrb r0, [r7, 0x8] - cmp r0, 0 - bne _08023D9C - movs r0, 0x3 - b _08024032 - .pool -_08023D9C: - movs r0, 0x6 - b _08024032 -_08023DA0: - adds r0, r7, 0 - adds r0, 0x68 - movs r1, 0 - movs r2, 0x30 - bl memset - ldrh r1, [r7, 0x28] - adds r0, r7, 0 - adds r0, 0x6C - strh r1, [r0] - movs r0, 0x18 - ldrsh r4, [r7, r0] - ldrh r0, [r7, 0x28] - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl __divsi3 - adds r1, r7, 0 - adds r1, 0x6E - strh r0, [r1] - movs r1, 0x30 - ldrsh r0, [r7, r1] - lsls r0, 8 - movs r4, 0xC8 - lsls r4, 6 - adds r1, r4, 0 - bl sub_8151574 - adds r2, r0, 0 - movs r3, 0x32 - ldrsh r1, [r7, r3] - lsls r1, 8 - bl sub_81515FC - adds r2, r0, r4 - asrs r2, 8 - movs r1, 0x7F - adds r0, r2, 0 - ands r0, r1 - adds r1, r7, 0 - adds r1, 0x70 - strh r0, [r1] - lsls r2, 8 - movs r1, 0xC8 - lsls r1, 7 - adds r0, r2, 0 - bl sub_81515FC - adds r2, r0, 0 - ldrb r1, [r7, 0x9] - ldr r0, [r7, 0x1C] - muls r0, r1 - lsls r4, r0, 8 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_8151574 - adds r4, r0, 0 - asrs r0, r4, 8 - str r0, [r7, 0x68] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - adds r1, r7, 0 - adds r1, 0x8F - strb r0, [r1] - movs r6, 0 - mov r8, r6 - mov r9, r1 - ldrb r0, [r7, 0x9] - cmp r8, r0 - bcc _08023E44 - b _0802402E -_08023E44: - adds r0, r7, 0 - adds r0, 0x88 - add r0, r8 - mov r1, r8 - strb r1, [r0] - adds r0, r7, 0 - adds r0, 0x90 - add r0, r8 - strb r1, [r0] - mov r3, r8 - lsls r2, r3, 1 - adds r1, r7, 0 - adds r1, 0x74 - adds r1, r2 - lsls r0, r3, 5 - adds r3, r7, r0 - adds r5, r3, 0 - adds r5, 0xAE - ldrh r0, [r5] - strh r0, [r1] - adds r1, r7, 0 - adds r1, 0x72 - ldrh r6, [r1] - adds r0, r6 - strh r0, [r1] - mov r1, r9 - ldrb r0, [r1] - adds r6, r2, 0 - cmp r0, 0x1 - beq _08023EAE - cmp r0, 0x1 - bgt _08023E8A - cmp r0, 0 - beq _08023E90 - b _08023F04 -_08023E8A: - cmp r0, 0x2 - beq _08023ECC - b _08023F04 -_08023E90: - ldrh r0, [r5] - cmp r0, 0 - beq _08023ED2 - adds r0, r3, 0 - adds r0, 0xAC - ldrh r2, [r0] - lsls r2, 8 - adds r0, r2, 0 - movs r1, 0xC8 - lsls r1, 7 - bl sub_8151574 - adds r2, r0, 0 - ldrh r4, [r5] - b _08023EFA -_08023EAE: - ldrh r0, [r5] - cmp r0, 0 - beq _08023ED2 - adds r0, r3, 0 - adds r0, 0xB0 - ldrh r2, [r0] - lsls r2, 8 - adds r0, r2, 0 - movs r1, 0xC8 - lsls r1, 7 - bl sub_8151574 - adds r2, r0, 0 - ldrh r4, [r5] - b _08023EFA -_08023ECC: - ldrh r0, [r5] - cmp r0, 0 - bne _08023ED6 -_08023ED2: - movs r4, 0 - b _08023F04 -_08023ED6: - adds r1, r3, 0 - adds r1, 0xB2 - ldrh r0, [r1] - ldrh r2, [r7, 0x28] - cmp r0, r2 - bcc _08023EE8 - movs r4, 0xC8 - lsls r4, 7 - b _08023F04 -_08023EE8: - ldrh r2, [r1] - lsls r2, 8 - adds r0, r2, 0 - movs r1, 0xC8 - lsls r1, 7 - bl sub_8151574 - adds r2, r0, 0 - ldrh r4, [r7, 0x28] -_08023EFA: - lsls r4, 8 - adds r1, r4, 0 - bl sub_81515FC - adds r4, r0, 0 -_08023F04: - asrs r4, 4 - adds r0, r7, 0 - adds r0, 0x7E - adds r0, r6 - strh r4, [r0] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r3, [r7, 0x9] - cmp r8, r3 - bcc _08023E44 - b _0802402E -_08023F20: - movs r6, 0 - mov r8, r6 - ldrb r0, [r7, 0x9] - subs r0, 0x1 - adds r1, r7, 0 - adds r1, 0x68 - str r1, [sp, 0xC] - cmp r8, r0 - bge _08023FC4 -_08023F32: - ldrb r0, [r7, 0x9] - subs r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - mov r2, r8 - adds r2, 0x1 - str r2, [sp, 0x8] - cmp r4, r8 - bls _08023FB4 - adds r3, r7, 0 - adds r3, 0x74 - str r3, [sp] - adds r6, r7, 0 - adds r6, 0x88 - str r6, [sp, 0x4] - movs r0, 0x90 - adds r0, r7 - mov r10, r0 - movs r1, 0x7E - adds r1, r7 - mov r9, r1 -_08023F5C: - subs r2, r4, 0x1 - mov r12, r2 - lsls r6, r2, 1 - ldr r0, [sp] - adds r3, r0, r6 - lsls r5, r4, 1 - adds r1, r0, r5 - ldrh r2, [r3] - ldrh r0, [r1] - cmp r2, r0 - bcs _08023F86 - ldrh r0, [r1] - strh r2, [r1] - strh r0, [r3] - ldr r1, [sp, 0x4] - adds r2, r1, r4 - ldrb r3, [r2] - add r1, r12 - ldrb r0, [r1] - strb r0, [r2] - strb r3, [r1] -_08023F86: - mov r2, r9 - adds r3, r2, r6 - adds r1, r2, r5 - ldrh r2, [r3] - ldrh r6, [r1] - cmp r2, r6 - bcs _08023FAA - ldrh r0, [r1] - strh r2, [r1] - strh r0, [r3] - mov r0, r10 - adds r2, r0, r4 - ldrb r3, [r2] - mov r1, r10 - add r1, r12 - ldrb r0, [r1] - strb r0, [r2] - strb r3, [r1] -_08023FAA: - mov r1, r12 - lsls r0, r1, 24 - lsrs r4, r0, 24 - cmp r4, r8 - bhi _08023F5C -_08023FB4: - ldr r2, [sp, 0x8] - lsls r0, r2, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r0, [r7, 0x9] - subs r0, 0x1 - cmp r8, r0 - blt _08023F32 -_08023FC4: - movs r0, 0 - ldr r1, [sp, 0xC] - movs r2, 0x30 - bl SendBlock - b _0802402E -_08023FD0: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08024034 - b _08024004 -_08023FDC: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08024034 - adds r4, r7, 0 - adds r4, 0x68 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x30 - bl memset - ldr r1, =gBlockRecvBuffer - adds r0, r4, 0 - movs r2, 0x30 - bl memcpy - bl ResetBlockReceivedFlags -_08024004: - movs r0, 0 - strh r0, [r7, 0x10] - b _0802402E - .pool -_08024010: - bl sub_8020E58 - movs r0, 0x12 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - movs r0, 0 - movs r1, 0xB - strh r1, [r7, 0x12] - strb r0, [r7, 0xC] - adds r1, r7, 0 - adds r1, 0x24 - strb r0, [r1] - b _08024034 -_0802402E: - ldrb r0, [r7, 0xC] - adds r0, 0x1 -_08024032: - strb r0, [r7, 0xC] -_08024034: - movs r0, 0 - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8023CAC - - thumb_func_start sub_8024048 -sub_8024048: @ 8024048 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldrb r0, [r5, 0xC] - cmp r0, 0x4 - bhi _08024124 - lsls r0, 2 - ldr r1, =_08024064 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08024064: - .4byte _08024078 - .4byte _0802408A - .4byte _0802409C - .4byte _080240CC - .4byte _080240DC -_08024078: - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - adds r0, r5, 0 - bl sub_8022070 - cmp r0, 0 - bne _08024124 - b _0802412A -_0802408A: - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x1E - strb r0, [r1] - b _08024124 -_0802409C: - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _080240AE - subs r0, 0x1 - strb r0, [r1] - b _0802412A -_080240AE: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802412A - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_802222C - b _08024124 - .pool -_080240CC: - ldrh r0, [r5, 0x12] - cmp r0, 0xC - bhi _08024124 - adds r0, 0x1 - movs r1, 0 - strh r0, [r5, 0x12] - strb r1, [r5, 0xC] - b _0802412A -_080240DC: - ldr r0, =gStringVar1 - ldr r1, [r5, 0x1C] - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar2 - bl GetBerryPowder - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - movs r4, 0 - str r4, [sp] - adds r0, r6, 0 - movs r1, 0x2 - movs r2, 0x3 - movs r3, 0 - bl sub_8024644 - movs r0, 0x13 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - strb r4, [r5, 0xC] - b _0802412A - .pool -_08024124: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0802412A: - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8024048 - - thumb_func_start sub_8024134 -sub_8024134: @ 8024134 - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r0, [r5, 0xC] - cmp r0, 0x4 - bhi _08024218 - lsls r0, 2 - ldr r1, =_08024150 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08024150: - .4byte _08024164 - .4byte _080241A0 - .4byte _080241A6 - .4byte _080241F0 - .4byte _08024204 -_08024164: - ldrh r1, [r5, 0x28] - ldr r0, =0x00008c9f - cmp r1, r0 - bls _08024176 - movs r1, 0x9C - lsls r1, 1 - adds r0, r5, r1 - bl sub_8022554 -_08024176: - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x8 - movs r2, 0 - movs r3, 0 - bl sub_8024644 - movs r4, 0 - movs r0, 0x13 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - strb r4, [r5, 0xC] - b _0802421E - .pool -_080241A0: - bl sub_8010434 - b _08024218 -_080241A6: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0802421E - movs r0, 0 - movs r1, 0 - bl DrawDialogueFrame - ldr r2, =gText_SavingDontTurnOffPower - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized2 - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =sub_8153688 - movs r1, 0 - bl CreateTask - b _08024218 - .pool -_080241F0: - ldr r0, =sub_8153688 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _08024218 - b _0802421E - .pool -_08024204: - movs r0, 0x14 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - movs r1, 0 - movs r0, 0xF - strh r0, [r5, 0x12] - strb r1, [r5, 0xC] - b _0802421E -_08024218: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0802421E: - movs r0, 0 - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8024134 - - thumb_func_start sub_8024228 -sub_8024228: @ 8024228 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldrb r0, [r5, 0xC] - cmp r0, 0x1 - beq _0802426A - cmp r0, 0x1 - bgt _08024240 - cmp r0, 0 - beq _08024246 - b _080242D0 -_08024240: - cmp r0, 0x2 - beq _08024270 - b _080242D0 -_08024246: - movs r0, 0x1 - str r0, [sp] - adds r0, r6, 0 - movs r1, 0x4 - movs r2, 0 - movs r3, 0 - bl sub_8024644 - movs r0, 0x14 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - movs r0, 0 - strb r0, [r5, 0xC] - b _080242D8 -_0802426A: - bl DisplayYesNoMenuDefaultYes - b _080242D0 -_08024270: - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _080242D6 - adds r0, r5, 0 - adds r0, 0x42 - movs r1, 0 - movs r2, 0xC - bl memset - cmp r4, 0 - bne _080242A2 - bl HasAtLeastOneBerry - lsls r0, 24 - cmp r0, 0 - beq _0802429E - strh r4, [r5, 0x14] - b _080242A6 -_0802429E: - movs r0, 0x3 - b _080242A4 -_080242A2: - movs r0, 0x1 -_080242A4: - strh r0, [r5, 0x14] -_080242A6: - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - movs r4, 0 - str r4, [sp] - adds r0, r6, 0 - movs r1, 0x8 - movs r2, 0 - movs r3, 0 - bl sub_8024644 - movs r0, 0x15 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - strb r4, [r5, 0xC] - b _080242D6 -_080242D0: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_080242D6: - movs r0, 0 -_080242D8: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8024228 - - thumb_func_start sub_80242E0 -sub_80242E0: @ 80242E0 - push {r4-r7,lr} - adds r4, r0, 0 - movs r5, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0x1 - beq _08024306 - cmp r0, 0x1 - bgt _080242F6 - cmp r0, 0 - beq _08024300 - b _080243AC -_080242F6: - cmp r0, 0x2 - beq _08024328 - cmp r0, 0x3 - beq _08024336 - b _080243AC -_08024300: - bl sub_8010434 - b _080243AC -_08024306: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _080243B2 - ldrh r0, [r4, 0x14] - adds r1, r4, 0 - adds r1, 0x42 - strh r0, [r1] - adds r0, r4, 0 - adds r0, 0x4E - strh r5, [r0] - movs r0, 0 - movs r2, 0x2 - bl SendBlock - b _080243AC -_08024328: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _080243B2 - strh r5, [r4, 0x10] - b _080243AC -_08024336: - bl GetBlockReceivedStatus - ldr r2, =gUnknown_082F4448 - ldrb r3, [r4, 0x9] - subs r1, r3, 0x2 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _080243B2 - adds r7, r4, 0 - adds r7, 0x42 - adds r6, r4, 0 - adds r6, 0x4E - cmp r5, r3 - bcs _08024374 - adds r1, r6, 0 - ldr r2, =gBlockRecvBuffer -_0802435C: - lsls r0, r5, 8 - adds r0, r2 - ldrh r0, [r0] - ldrh r3, [r1] - adds r0, r3 - strh r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r4, 0x9] - cmp r5, r0 - bcc _0802435C -_08024374: - ldrh r0, [r6] - cmp r0, 0 - beq _08024390 - movs r0, 0x17 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - b _0802439A - .pool -_08024390: - movs r0, 0x16 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC -_0802439A: - bl ResetBlockReceivedFlags - movs r1, 0 - movs r0, 0 - strh r0, [r7] - strh r0, [r6] - strh r0, [r4, 0x10] - strb r1, [r4, 0xC] - b _080243B4 -_080243AC: - ldrb r0, [r4, 0xC] - adds r0, 0x1 - strb r0, [r4, 0xC] -_080243B2: - movs r0, 0 -_080243B4: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80242E0 - - thumb_func_start sub_80243BC -sub_80243BC: @ 80243BC - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldrb r4, [r5, 0xC] - cmp r4, 0x1 - beq _080243EA - cmp r4, 0x1 - bgt _080243D2 - cmp r4, 0 - beq _080243DC - b _08024434 -_080243D2: - cmp r4, 0x2 - beq _080243F6 - cmp r4, 0x3 - beq _0802441A - b _08024434 -_080243DC: - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x10 - b _08024410 -_080243EA: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - beq _08024434 - b _0802443A -_080243F6: - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - adds r0, r5, 0 - bl sub_8021488 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 -_08024410: - bl BeginNormalPaletteFade - bl UpdatePaletteFade - b _08024434 -_0802441A: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _0802443A - movs r0, 0x7 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - movs r0, 0 - strh r4, [r5, 0x12] - b _08024438 -_08024434: - ldrb r0, [r5, 0xC] - adds r0, 0x1 -_08024438: - strb r0, [r5, 0xC] -_0802443A: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80243BC - - thumb_func_start sub_8024444 -sub_8024444: @ 8024444 - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r0, 0 - ldrb r4, [r5, 0xC] - cmp r4, 0x1 - beq _080244BC - cmp r4, 0x1 - bgt _0802445A - cmp r4, 0 - beq _08024460 - b _080244F6 -_0802445A: - cmp r4, 0x2 - beq _080244D4 - b _080244F6 -_08024460: - movs r0, 0 - movs r1, 0 - bl DrawDialogueFrame - ldrh r1, [r5, 0x14] - cmp r1, 0x3 - bne _08024490 - ldr r0, =gUnknown_082F32A4 - ldr r2, [r0, 0x14] - ldrb r3, [r5, 0xB] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - bl AddTextPrinterParameterized2 - b _080244AC - .pool -_08024490: - ldr r0, =gUnknown_082F32A4 - ldr r2, [r0, 0x18] - ldrb r3, [r5, 0xB] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - bl AddTextPrinterParameterized2 -_080244AC: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - b _080244F6 - .pool -_080244BC: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _080244FC - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x78 - strb r0, [r1] - b _080244F6 -_080244D4: - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - ldrb r0, [r1] - adds r4, r0, 0 - cmp r4, 0 - beq _080244E8 - subs r0, 0x1 - strb r0, [r1] - b _080244FC -_080244E8: - movs r0, 0x18 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - strb r4, [r5, 0xC] - b _080244FC -_080244F6: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_080244FC: - movs r0, 0 - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8024444 - - thumb_func_start sub_8024508 -sub_8024508: @ 8024508 - push {r4,r5,lr} - adds r5, r0, 0 - ldrb r4, [r5, 0xC] - cmp r4, 0x1 - beq _08024528 - cmp r4, 0x1 - bgt _0802451C - cmp r4, 0 - beq _08024522 - b _08024558 -_0802451C: - cmp r4, 0x2 - beq _08024538 - b _08024558 -_08024522: - bl sub_8010434 - b _08024558 -_08024528: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0802455E - bl sub_800AC34 - b _08024558 -_08024538: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0802455E - movs r0, 0x19 - strb r0, [r5, 0xE] - movs r0, 0x5 - movs r1, 0x1 - movs r2, 0 - bl sub_8022BEC - strb r4, [r5, 0xC] - b _0802455E - .pool -_08024558: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0802455E: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8024508 - - thumb_func_start sub_8024568 -sub_8024568: @ 8024568 - push {lr} - movs r0, 0 - bl sub_8020C0C - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_8024568 - - thumb_func_start sub_8024578 -sub_8024578: @ 8024578 - push {r4-r6,lr} - adds r4, r0, 0 - movs r5, 0 - movs r0, 0x33 - bl IncrementGameStat - strb r5, [r4, 0xD] - movs r1, 0 - strh r5, [r4, 0x10] - movs r0, 0x2 - strh r0, [r4, 0x12] - strh r5, [r4, 0x14] - str r5, [r4, 0x1C] - strh r5, [r4, 0x18] - strh r5, [r4, 0x1A] - str r5, [r4, 0x20] - adds r0, r4, 0 - adds r0, 0x24 - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x25 - movs r0, 0 - strb r0, [r1] - strh r5, [r4, 0x26] - strh r5, [r4, 0x28] - strh r5, [r4, 0x2E] - ldr r0, =0x0000ffff - strh r0, [r4, 0x32] - strh r5, [r4, 0x30] - strh r5, [r4, 0x34] - movs r6, 0 - movs r3, 0 -_080245B8: - lsls r0, r5, 5 - adds r2, r4, r0 - adds r1, r2, 0 - adds r1, 0xA4 - ldr r0, =0x0000ffff - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0xA6 - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] - adds r1, 0x6 - movs r0, 0x1 - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0xAC - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] - adds r0, 0x2 - strb r6, [r0] - adds r0, 0x1 - strb r6, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _080245B8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8024578 - - thumb_func_start sub_8024604 -sub_8024604: @ 8024604 - push {r4-r6,lr} - sub sp, 0x8 - str r2, [sp, 0x4] - ldr r5, [sp, 0x18] - ldr r6, [sp, 0x1C] - ldr r4, [sp, 0x20] - mov r2, sp - strh r4, [r2] - add r4, sp, 0x4 - ldrb r2, [r4] - strb r2, [r0] - ldrb r2, [r4, 0x1] - strb r2, [r0, 0x1] - ldrb r2, [r4, 0x2] - strb r2, [r0, 0x2] - ldrb r2, [r4, 0x3] - strb r2, [r0, 0x3] - strb r3, [r0, 0x4] - strb r5, [r0, 0x5] - strb r6, [r0, 0x6] - mov r2, sp - ldrb r2, [r2] - strb r2, [r0, 0x7] - mov r2, sp - ldrb r2, [r2, 0x1] - strb r2, [r0, 0x8] - strb r1, [r0, 0x9] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8024604 - - thumb_func_start sub_8024644 -sub_8024644: @ 8024644 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, [sp, 0x10] - mov r4, sp - strh r3, [r4] - strb r1, [r0] - strb r2, [r0, 0x1] - mov r1, sp - ldrb r1, [r1] - strb r1, [r0, 0x2] - mov r1, sp - ldrb r1, [r1, 0x1] - strb r1, [r0, 0x3] - strb r5, [r0, 0x4] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8024644 - - .align 2, 0 @ don't pad with nop diff --git a/asm/macros.inc b/asm/macros.inc index 7c35e059d3..6782f42004 100644 --- a/asm/macros.inc +++ b/asm/macros.inc @@ -6,6 +6,17 @@ .include "asm/macros/ec.inc" .include "asm/macros/map.inc" .include "asm/macros/field_effect_script.inc" + .include "asm/macros/trainer_hill.inc" + .include "asm/macros/battle_tent.inc" + .include "asm/macros/battle_frontier/apprentice.inc" + .include "asm/macros/battle_frontier/battle_arena.inc" + .include "asm/macros/battle_frontier/battle_dome.inc" + .include "asm/macros/battle_frontier/battle_factory.inc" + .include "asm/macros/battle_frontier/battle_palace.inc" + .include "asm/macros/battle_frontier/battle_pike.inc" + .include "asm/macros/battle_frontier/battle_pyramid.inc" + .include "asm/macros/battle_frontier/battle_tower.inc" + .include "asm/macros/battle_frontier/frontier_util.inc" .macro region_map_entry x, y, width, height, name .byte \x diff --git a/asm/macros/battle_frontier/apprentice.inc b/asm/macros/battle_frontier/apprentice.inc new file mode 100644 index 0000000000..5d9ab8e3b9 --- /dev/null +++ b/asm/macros/battle_frontier/apprentice.inc @@ -0,0 +1,154 @@ + @ TRUE if the player has talked to the Apprentice and answered their level mode question + .macro apprentice_gavelvlmode + setvar VAR_0x8004, APPRENTICE_FUNC_GAVE_LVLMODE + special CallApprenticeFunction + .endm + + @ Set the level mode the Apprentice should battle in + .macro apprentice_setlvlmode lvlmode:req + setvar VAR_0x8004, APPRENTICE_FUNC_SET_LVLMODE + setorcopyvar VAR_0x8005, \lvlmode + addvar VAR_0x8005, 1 @ Apprentice lvl mode is +1 from regular lvl mode value + special CallApprenticeFunction + .endm + + @ Question was answered, increment the number of questions answered + .macro apprentice_answeredquestion + setvar VAR_0x8004, APPRENTICE_FUNC_ANSWERED_QUESTION + special CallApprenticeFunction + .endm + + @ Show the response selection box to answer the Apprentice question. Menus are defined as APPRENTICE_ASK_* + .macro apprentice_menu which:req + setvar VAR_0x8004, APPRENTICE_FUNC_MENU + setvar VAR_0x8005, \which + special CallApprenticeFunction + waitstate + .endm + + @ Shuffle and set the Apprentice party mons to pick between from their list of possible party species + .macro apprentice_shufflespecies + setvar VAR_0x8004, APPRENTICE_FUNC_SHUFFLE_SPECIES + special CallApprenticeFunction + .endm + + @ Randomize the question data (e.g. moves to pick between) and shuffle the order to ask them in + .macro apprentice_randomizequestions + setvar VAR_0x8004, APPRENTICE_FUNC_RANDOMIZE_QUESTIONS + special CallApprenticeFunction + .endm + + @ Print the APPRENTICE_MSG_* text for the current Apprentice + .macro apprentice_msg waitbuttonpress:req, which:req + setvar VAR_0x8004, APPRENTICE_FUNC_PRINT_MSG + setvar VAR_0x8005, \waitbuttonpress + setvar VAR_0x8006, \which + special CallApprenticeFunction + waitstate + .endm + + @ Clear the data for the current Player Apprentice + .macro apprentice_reset + setvar VAR_0x8004, APPRENTICE_FUNC_RESET + special CallApprenticeFunction + .endm + + @ Always returns TRUE. No side effect. May have been for debug or dummied for some other reason + .macro apprentice_shouldcheckgone + setvar VAR_0x8004, APPRENTICE_FUNC_CHECK_GONE + special CallApprenticeFunction + .endm + + @ Return the APPRENTICE_QUESTION_* value for the current question to ask + .macro apprentice_getquestion + setvar VAR_0x8004, APPRENTICE_FUNC_GET_QUESTION + special CallApprenticeFunction + .endm + + @ Get the number of mons that have been chosen for the Apprentice's party so far + .macro apprentice_getnumpartymons + setvar VAR_0x8004, APPRENTICE_FUNC_GET_NUM_PARTY_MONS + special CallApprenticeFunction + .endm + + @ Set the Apprentice party mon at the given slot. VAR_0x8005 is used implicitly as which of the 2 mons was selected + .macro apprentice_setpartymon slot:req + copyvar VAR_0x8006, \slot + setvar VAR_0x8004, APPRENTICE_FUNC_SET_PARTY_MON + special CallApprenticeFunction + .endm + + @ Allocate and set up data to track about the question + .macro apprentice_initquestion which:req + setvar VAR_0x8004, APPRENTICE_FUNC_INIT_QUESTION_DATA + setvar VAR_0x8005, \which + special CallApprenticeFunction + .endm + + @ Free allocated question data + .macro apprentice_freequestion + setvar VAR_0x8004, APPRENTICE_FUNC_FREE_QUESTION_DATA + special CallApprenticeFunction + .endm + + @ Buffer some APPRENTICE_BUFF_* string to the given stringvar (0 for STR_VAR_1, 1 for STR_VAR_2, 2 for STR_VAR_3) + .macro apprentice_buff stringvar:req, tobuff:req + setvar VAR_0x8004, APPRENTICE_FUNC_BUFFER_STRING + setvar VAR_0x8005, \stringvar + .if \tobuff >= VARS_START + copyvar VAR_0x8006, \tobuff + .else + setvar VAR_0x8006, \tobuff + .endif + special CallApprenticeFunction + .endm + + @ Set which move to use that the player chose (implicitly VAR_0x8005) + .macro apprentice_setmove + setvar VAR_0x8004, APPRENTICE_FUNC_SET_MOVE + special CallApprenticeFunction + .endm + + @ Set which mon the Apprentice should lead with + .macro apprentice_setleadmon monId:req + copyvar VAR_0x8005, \monId + setvar VAR_0x8004, APPRENTICE_FUNC_SET_LEAD_MON + special CallApprenticeFunction + .endm + + @ Open the Bag Menu for the player to choose an item to recommend as a held item + .macro apprentice_openbag + setvar VAR_0x8004, APPRENTICE_FUNC_OPEN_BAG + special CallApprenticeFunction + waitstate + .endm + + @ Try and set the recommended held item. FALSE if the item has been recommended before, as Battle Frontier forbids using the same held item for multiple party mons + .macro apprentice_trysetitem + setvar VAR_0x8004, APPRENTICE_FUNC_TRY_SET_HELD_ITEM + special CallApprenticeFunction + .endm + + @ Save the current Player Apprentice to the saveblock to make room for a new Apprentice + .macro apprentice_save + setvar VAR_0x8004, APPRENTICE_FUNC_SAVE + special CallApprenticeFunction + .endm + + @ Set the object event gfx for the Apprentice based on their trainer class + .macro apprentice_setgfx + setvar VAR_0x8004, APPRENTICE_FUNC_SET_GFX + special CallApprenticeFunction + .endm + + @ Always returns TRUE. No side effect. May have been for debug or dummied for some other reason + .macro apprentice_shouldleave + setvar VAR_0x8004, APPRENTICE_FUNC_SHOULD_LEAVE + special CallApprenticeFunction + .endm + + @ Shift the other saved Apprentices over to make room for saving a new Apprentice + .macro apprentice_shiftsaved + setvar VAR_0x8004, APPRENTICE_FUNC_SHIFT_SAVED + special CallApprenticeFunction + .endm diff --git a/asm/macros/battle_frontier/battle_arena.inc b/asm/macros/battle_frontier/battle_arena.inc new file mode 100644 index 0000000000..8280f58455 --- /dev/null +++ b/asm/macros/battle_frontier/battle_arena.inc @@ -0,0 +1,49 @@ + @ Initialize the Battle Arena challenge + .macro arena_init + setvar VAR_0x8004, BATTLE_ARENA_FUNC_INIT + special CallBattleArenaFunction + .endm + + @ Unused. Get the value of some ARENA_DATA_*. See GetArenaData for the data types that can be retrieved + .macro arena_get data:req + setvar VAR_0x8004, BATTLE_ARENA_FUNC_GET_DATA + setvar VAR_0x8005, \data + special CallBattleArenaFunction + .endm + + @ Set some ARENA_DATA_* to val. See SetArenaData for the data types that can be set + .macro arena_set data:req, val:req + setvar VAR_0x8004, BATTLE_ARENA_FUNC_SET_DATA + setvar VAR_0x8005, \data + .if \val >= VARS_START + copyvar VAR_0x8006, \val + .else + setvar VAR_0x8006, \val + .endif + special CallBattleArenaFunction + .endm + + @ Save the game and set the challenge status + .macro arena_save challengeStatus:req + setvar VAR_0x8004, BATTLE_ARENA_FUNC_SAVE + setvar VAR_0x8005, \challengeStatus + special CallBattleArenaFunction + .endm + + @ Unused. Set the prize item to give from one of two lists of possible prizes, depending on streak. + .macro arena_setprize + setvar VAR_0x8004, BATTLE_ARENA_FUNC_SET_PRIZE + special CallBattleArenaFunction + .endm + + @ Unused. Give the set prize item to the player. TRUE if room in Bag for prize, FALSE otherwise + .macro arena_giveprize + setvar VAR_0x8004, BATTLE_ARENA_FUNC_GIVE_PRIZE + special CallBattleArenaFunction + .endm + + @ Buffer the opponents name to STR_VAR_1 + .macro arena_gettrainername + setvar VAR_0x8004, BATTLE_ARENA_FUNC_GET_TRAINER_NAME + special CallBattleArenaFunction + .endm diff --git a/asm/macros/battle_frontier/battle_dome.inc b/asm/macros/battle_frontier/battle_dome.inc new file mode 100644 index 0000000000..9adbcc54e7 --- /dev/null +++ b/asm/macros/battle_frontier/battle_dome.inc @@ -0,0 +1,144 @@ + @ Initialize the Battle Dome challenge + .macro dome_init + setvar VAR_0x8004, BATTLE_DOME_FUNC_INIT + special CallBattleDomeFunction + .endm + + @ Get the value of some DOME_DATA_*. See GetDomeData for the data types that can be retrieved + .macro dome_get data:req + setvar VAR_0x8004, BATTLE_DOME_FUNC_GET_DATA + setvar VAR_0x8005, \data + special CallBattleDomeFunction + .endm + + @ Set some DOME_DATA_* to val. See SetDomeData for the data types that can be set + .macro dome_set data:req, val=0xFFFF + setvar VAR_0x8004, BATTLE_DOME_FUNC_SET_DATA + setvar VAR_0x8005, \data + .if \val != 0xFFFF + setvar VAR_0x8006, \val + .endif + special CallBattleDomeFunction + .endm + + @ Buffer the name of the current round to gStringVar1 + .macro dome_getroundtext + setvar VAR_0x8004, BATTLE_DOME_FUNC_GET_ROUND_TEXT + special CallBattleDomeFunction + .endm + + @ Buffer the name of the opponent to gStringVar2 and the name of the round to gStringVar1 + .macro dome_getopponentname + setvar VAR_0x8004, BATTLE_DOME_FUNC_GET_OPPONENT_NAME + special CallBattleDomeFunction + .endm + + @ Choose which of the opponents mons to use in battle and load them into the enemy party + .macro dome_initopponentparty + setvar VAR_0x8004, BATTLE_DOME_FUNC_INIT_OPPONENT_PARTY + special CallBattleDomeFunction + .endm + + @ Show the page that gives information on the next opponent + .macro dome_showopponentinfo + setvar VAR_0x8004, BATTLE_DOME_FUNC_SHOW_OPPONENT_INFO + special CallBattleDomeFunction + .endm + + @ Displays the tourney tree for the current tourney + .macro dome_showtourneytree + setvar VAR_0x8004, BATTLE_DOME_FUNC_SHOW_TOURNEY_TREE + special CallBattleDomeFunction + .endm + + @ Displays the tourney tree for the results of the previous tourney. Before the player enters their first tourney this is a random tourney generated by dome_initresultstree + .macro dome_showprevtourneytree + setvar VAR_0x8004, BATTLE_DOME_FUNC_SHOW_PREV_TOURNEY_TREE + special CallBattleDomeFunction + .endm + + @ Sets gTrainerBattleOpponent_A to the trainer ID of the next opponent + .macro dome_setopponent + setvar VAR_0x8004, BATTLE_DOME_FUNC_SET_OPPONENT_ID + special CallBattleDomeFunction + .endm + + @ Set the object event gfx id for the opponent + .macro dome_setopponentgfx + setvar VAR_0x8004, BATTLE_DOME_FUNC_SET_OPPONENT_GFX + special CallBattleDomeFunction + .endm + + @ A non-interactive version of the tourney tree shown when a round is completed + .macro dome_showstatictourneytree + setvar VAR_0x8004, BATTLE_DOME_FUNC_SHOW_STATIC_TOURNEY_TREE + special CallBattleDomeFunction + .endm + + @ Decides the winners of NPC vs NPC matches, and eliminates either the player or their opponent depending on the playerStatus (DOME_PLAYER_*) + .macro dome_resolvewinners playerStatus:req + setvar VAR_0x8004, BATTLE_DOME_FUNC_RESOLVE_WINNERS + setvar VAR_0x8005, \playerStatus + special CallBattleDomeFunction + .endm + + @ Save the game and set the challenge status + .macro dome_save challengeStatus:req + setvar VAR_0x8004, BATTLE_DOME_FUNC_SAVE + setvar VAR_0x8005, \challengeStatus + special CallBattleDomeFunction + .endm + + @ Unused. Increment the win streaks for the current challenge by one + .macro dome_incrementstreaks + setvar VAR_0x8004, BATTLE_DOME_FUNC_INCREMENT_STREAK + special CallBattleDomeFunction + .endm + + @ Sets the facility trainer/mon set pointers + .macro dome_settrainers + setvar VAR_0x8004, BATTLE_DOME_FUNC_SET_TRAINERS + special CallBattleDomeFunction + .endm + + @ If any moves were copied using Sketch during the challenge then restore them to Sketch + .macro dome_resetsketch + setvar VAR_0x8004, BATTLE_DOME_FUNC_RESET_SKETCH + special CallBattleDomeFunction + .endm + + @ Reset the held items of the mons that just battled to what they were prior to battling + .macro dome_restorehelditems + setvar VAR_0x8004, BATTLE_DOME_FUNC_RESTORE_HELD_ITEMS + special CallBattleDomeFunction + .endm + + @ Reduce the players party to the selected mons, used to reduce down to the 2 selected for battle + .macro dome_reduceparty + setvar VAR_0x8004, BATTLE_DOME_FUNC_REDUCE_PARTY + special CallBattleDomeFunction + .endm + + @ Compares the initial tournament ranking (seed) of the player to opponent A. Returns 1 if the player's seed is better, 2 if the opponent's seed is better. + .macro dome_compareseeds + setvar VAR_0x8004, BATTLE_DOME_FUNC_COMPARE_SEEDS + special CallBattleDomeFunction + .endm + + @ Buffer the name of the winner for the last Dome challenge to STR_VAR_1 + .macro dome_getwinnersname + setvar VAR_0x8004, BATTLE_DOME_FUNC_GET_WINNER_NAME + special CallBattleDomeFunction + .endm + + @ Performs a random tourney to initialize the results board before the player has entered a challenge + .macro dome_initresultstree + setvar VAR_0x8004, BATTLE_DOME_FUNC_INIT_RESULTS_TREE + special CallBattleDomeFunction + .endm + + @ Generates the tourney trainers and their parties, and seeds them in the tourney tree + .macro dome_inittrainers + setvar VAR_0x8004, BATTLE_DOME_FUNC_INIT_TRAINERS + special CallBattleDomeFunction + .endm diff --git a/asm/macros/battle_frontier/battle_factory.inc b/asm/macros/battle_frontier/battle_factory.inc new file mode 100644 index 0000000000..684eeb98dc --- /dev/null +++ b/asm/macros/battle_frontier/battle_factory.inc @@ -0,0 +1,101 @@ + @ Initialize the Battle Factory challenge + .macro factory_init + setvar VAR_0x8004, BATTLE_FACTORY_FUNC_INIT + special CallBattleFactoryFunction + .endm + + @ Get the value of some FACTORY_DATA_*. See GetBattleFactoryData for the data types that can be retrieved + .macro factory_get data:req + setvar VAR_0x8004, BATTLE_FACTORY_FUNC_GET_DATA + setvar VAR_0x8005, \data + special CallBattleFactoryFunction + .endm + + @ Set some FACTORY_DATA_* to val. See SetBattleFactoryData for the data types that can be set + .macro factory_set data:req, val=0xFFFF + setvar VAR_0x8004, BATTLE_FACTORY_FUNC_SET_DATA + setvar VAR_0x8005, \data + .if \val == 0xFFFF + @ argument not provided + .elseif \val >= VARS_START + copyvar VAR_0x8006, \val + .else + setvar VAR_0x8006, \val + .endif + special CallBattleFactoryFunction + .endm + + @ Save the game and set the challenge status + .macro factory_save challengeStatus:req + setvar VAR_0x8004, BATTLE_FACTORY_FUNC_SAVE + setvar VAR_0x8005, \challengeStatus + special CallBattleFactoryFunction + .endm + + @ Select the initial rental mons for the challenge + .macro factory_rentmons + setvar VAR_0x8004, BATTLE_FACTORY_FUNC_SELECT_RENT_MONS + special CallBattleFactoryFunction + .endm + + @ Select a mon to swap for from the previously defeated team + .macro factory_swapmons + setvar VAR_0x8004, BATTLE_FACTORY_FUNC_SWAP_RENT_MONS + special CallBattleFactoryFunction + .endm + + @ Allows FACTORY_DATA_WIN_STREAK_SWAPS to be incremented once + .macro factory_setswapped + setvar VAR_0x8004, BATTLE_FACTORY_FUNC_SET_SWAPPED + special CallBattleFactoryFunction + .endm + + @ Update gEnemyParty with the next set of rental mons + .macro factory_setopponentmons + setvar VAR_0x8004, BATTLE_FACTORY_FUNC_SET_OPPONENT_MONS + special CallBattleFactoryFunction + .endm + + @ Populate gPlayerParty and gEnemyParty with the rental mons. Only needed when resuming a challenge, otherwise only factory_setopponentmons and factory_rentmons/factory_swapmons are needed + .macro factory_setparties arg:req + setvar VAR_0x8004, BATTLE_FACTORY_FUNC_SET_PARTIES + setvar VAR_0x8005, \arg + special CallBattleFactoryFunction + .endm + + @ Set the object event gfx for the opponent trainer + .macro factory_setopponentgfx + setvar VAR_0x8004, BATTLE_FACTORY_FUNC_SET_OPPONENT_GFX + special CallBattleFactoryFunction + .endm + + @ Generate the mons for the opponents team + .macro factory_generateopponentmons + setvar VAR_0x8004, BATTLE_FACTORY_FUNC_GENERATE_OPPONENT_MONS + special CallBattleFactoryFunction + .endm + + @ Generate the random 6 mons to choose from for the initial rental + .macro factory_generaterentalmons + setvar VAR_0x8004, BATTLE_FACTORY_FUNC_GENERATE_RENTAL_MONS + special CallBattleFactoryFunction + .endm + + @ Return the pokemon type most common in the opponents team, or NUMBER_OF_MON_TYPES if there is no standout type + .macro factory_getopponentmontype + setvar VAR_0x8004, BATTLE_FACTORY_FUNC_GET_OPPONENT_MON_TYPE + special CallBattleFactoryFunction + .endm + + @ Return the FACTORY_STYLE_* dependent on what types of moves the opponents team has, or FACTORY_NUM_STYLES if multiple styles tie for the same amount of moves + .macro factory_getopponentstyle + setvar VAR_0x8004, BATTLE_FACTORY_FUNC_GET_OPPONENT_STYLE + special CallBattleFactoryFunction + .endm + + @ Restore the held items for the players party to what they were pre-battle + .macro factory_resethelditems + setvar VAR_0x8004, BATTLE_FACTORY_FUNC_RESET_HELD_ITEMS + special CallBattleFactoryFunction + .endm + diff --git a/asm/macros/battle_frontier/battle_palace.inc b/asm/macros/battle_frontier/battle_palace.inc new file mode 100644 index 0000000000..f326c11546 --- /dev/null +++ b/asm/macros/battle_frontier/battle_palace.inc @@ -0,0 +1,63 @@ + @ Initialize the Battle Palace challenge + .macro palace_init + setvar VAR_0x8004, BATTLE_PALACE_FUNC_INIT + special CallBattlePalaceFunction + .endm + + @ Get the value of some PALACE_DATA_*. See GetPalaceData for the data types that can be retrieved + .macro palace_get data:req + setvar VAR_0x8004, BATTLE_PALACE_FUNC_GET_DATA + setvar VAR_0x8005, \data + special CallBattlePalaceFunction + .endm + + @ Set some PALACE_DATA_* to val. See SetPalaceData for the data types that can be set + .macro palace_set data:req, val:req + setvar VAR_0x8004, BATTLE_PALACE_FUNC_SET_DATA + setvar VAR_0x8005, \data + setvar VAR_0x8006, \val + special CallBattlePalaceFunction + .endm + + @ Get the id of the comment to be made while being led through the corridor + .macro palace_getcomment + setvar VAR_0x8004, BATTLE_PALACE_FUNC_GET_COMMENT_ID + special CallBattlePalaceFunction + .endm + + @ Unused. Choose and set the opponent gfx id. The equivalent macro from Battle Tower is used instead + .macro palace_setopponent + setvar VAR_0x8004, BATTLE_PALACE_FUNC_SET_OPPONENT + special CallBattlePalaceFunction + .endm + + @ Buffer the opponents intro speech to gStringVar4. Also used by Battle Arena and Factory + .macro palace_getopponentintro + setvar VAR_0x8004, BATTLE_PALACE_FUNC_GET_OPPONENT_INTRO + special CallBattlePalaceFunction + .endm + + @ Increments the current win streak by 1 + .macro palace_incrementstreak + setvar VAR_0x8004, BATTLE_PALACE_FUNC_INCREMENT_STREAK + special CallBattlePalaceFunction + .endm + + @ Save the game and set the challenge status + .macro palace_save challengeStatus:req + setvar VAR_0x8004, BATTLE_PALACE_FUNC_SAVE + setvar VAR_0x8005, \challengeStatus + special CallBattlePalaceFunction + .endm + + @ Unused. Set the prize item to give from one of two lists of possible prizes, depending on streak. + .macro palace_setprize + setvar VAR_0x8004, BATTLE_PALACE_FUNC_SET_PRIZE + special CallBattleArenaFunction + .endm + + @ Unused. Give the set prize item to the player. TRUE if room in Bag for prize, FALSE otherwise + .macro palace_giveprize + setvar VAR_0x8004, BATTLE_PALACE_FUNC_GIVE_PRIZE + special CallBattleArenaFunction + .endm diff --git a/asm/macros/battle_frontier/battle_pike.inc b/asm/macros/battle_frontier/battle_pike.inc new file mode 100644 index 0000000000..30f5c88d83 --- /dev/null +++ b/asm/macros/battle_frontier/battle_pike.inc @@ -0,0 +1,171 @@ + @ Set sRoomType to the next PIKE_ROOM_* id + .macro pike_setnextroom + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_TYPE + special CallBattlePikeFunction + .endm + + @ Get the value of some PIKE_DATA_*. See GetBattlePikeData for the data types that can be retrieved + .macro pike_get data:req + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_DATA + setvar VAR_0x8005, \data + special CallBattlePikeFunction + .endm + + @ Set some PIKE_DATA_* to val. See SetBattlePikeData for the data types that can be set + .macro pike_set data:req, val:req + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA + setvar VAR_0x8005, \data + .if \val >= VARS_START + copyvar VAR_0x8006, \val + .else + setvar VAR_0x8006, \val + .endif + special CallBattlePikeFunction + .endm + + @ TRUE if the next room is the last (15th) room, FALSE otherwise + .macro pike_isfinalroom + setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_FINAL_ROOM + special CallBattlePikeFunction + .endm + + @ Set the object event gfx for the room being entered + .macro pike_setroomobjects + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS + special CallBattlePikeFunction + .endm + + @ Get the current room type (sRoomType) + .macro pike_getroomtype + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE + special CallBattlePikeFunction + .endm + + @ Sets a bool that's never read + .macro pike_inwildmonroom + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_IN_WILD_MON_ROOM + special CallBattlePikeFunction + .endm + + @ Clears a bool that's never read + .macro pike_exitwildmonroom + setvar VAR_0x8004, BATTLE_PIKE_FUNC_CLEAR_IN_WILD_MON_ROOM + special CallBattlePikeFunction + .endm + + @ Save the game and set the challenge status + .macro pike_save challengeStatus:req + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE + setvar VAR_0x8005, \challengeStatus + special CallBattlePikeFunction + .endm + + @ Returns the PIKE_STATUS_* to be afflicted for the status room + .macro pike_getstatus + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_STATUS + special CallBattlePikeFunction + .endm + + @ Returns the PIKE_STATUSMON_* that attacks the player for the status room + .macro pike_getstatusmon + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON + special CallBattlePikeFunction + .endm + + @ Randomly heals either one or two party mons and returns the number of mons healed + .macro pike_healonetwomons + setvar VAR_0x8004, BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS + special CallBattlePikeFunction + .endm + + @ Buffers a message for the lone NPC in the NPC room to gStringVar4 + .macro pike_getnpcmsg + setvar VAR_0x8004, BATTLE_PIKE_FUNC_BUFFER_NPC_MSG + special CallBattlePikeFunction + .endm + + @ Flashes the screen 3 times for when the Dusclops/Kirlia attacks the player + .macro pike_flashscreen + setvar VAR_0x8004, BATTLE_PIKE_FUNC_STATUS_SCREEN_FLASH + special CallBattlePikeFunction + .endm + + @ TRUE if the player is currently in a Battle Pike challenge map + .macro pike_inchallenge + setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_IN + special CallBattlePikeFunction + .endm + + @ Set which room to give a hint about. TRUE if its the Pike Queens room next + .macro pike_sethintroom + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HINT_ROOM + special CallBattlePikeFunction + .endm + + @ Get PIKE_ROOM_(LEFT/CENTER/RIGHT) for which room to give a hint about + .macro pike_gethintroomid + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID + special CallBattlePikeFunction + .endm + + @ Get the PIKE_HINT_* to give about the next room + .macro pike_gethint + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT + special CallBattlePikeFunction + .endm + + @ Reset the frontier trainer ids for the start of the challenge + .macro pike_cleartrainerids + setvar VAR_0x8004, BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS + special CallBattlePikeFunction + .endm + + @ Buffer the opponents battle intro speech to gStringVar4. \trainer 0 for Trainer A, 1 for Trainer B + .macro pike_gettrainerintro trainer:req + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_TRAINER_INTRO + setvar VAR_0x8005, \trainer + special CallBattlePikeFunction + .endm + + @ Get the status of the Pike Queen (Not ready, Silver/Gold streak before symbols, Silver/Gold streak after symbols) + .macro pike_getbrainstatus + setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE + special CallBattlePikeFunction + .endm + + @ Heal 0-2 party mons depending on which room was chosen for the Pike Queen battle. Return the number healed + .macro pike_prequeenheal + setvar VAR_0x8004, BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN + special CallBattlePikeFunction + .endm + + @ When \set is TRUE, prevent healing rooms from appearing (for 1st room or when party is full health). \set FALSE to re-enable healing rooms + .macro pike_nohealing set:req + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HEAL_ROOMS_DISABLED + setvar VAR_0x8005, \set + special CallBattlePikeFunction + .endm + + @ TRUE if the party is full health (full HP, PP, and no status), FALSE otherwise + .macro pike_ispartyfullhealth + setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH + special CallBattlePikeFunction + .endm + + @ Save the party held items in pikeHeldItemsBackup + .macro pike_savehelditems + setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE_HELD_ITEMS + special CallBattlePikeFunction + .endm + + @ Restore the party held items from pikeHeldItemsBackup + .macro pike_resethelditems + setvar VAR_0x8004, BATTLE_PIKE_FUNC_RESET_HELD_ITEMS + special CallBattlePikeFunction + .endm + + @ Initialize the Battle Pike challenge + .macro pike_init + setvar VAR_0x8004, BATTLE_PIKE_FUNC_INIT + special CallBattlePikeFunction + .endm diff --git a/asm/macros/battle_frontier/battle_pyramid.inc b/asm/macros/battle_frontier/battle_pyramid.inc new file mode 100644 index 0000000000..f8141e2dd6 --- /dev/null +++ b/asm/macros/battle_frontier/battle_pyramid.inc @@ -0,0 +1,104 @@ + @ Initialize the Battle Pyramid challenge + .macro pyramid_init + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_INIT + special CallBattlePyramidFunction + .endm + + @ Get the value of some PYRAMID_DATA_*. See GetBattlePyramidData for the data types that can be retrieved + .macro pyramid_get data:req + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_GET_DATA + setvar VAR_0x8005, \data + special CallBattlePyramidFunction + .endm + + @ Set some PYRAMID_DATA_* to val. See SetBattlePyramidData for the data types that can be set + .macro pyramid_set data:req, val:req + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_DATA + setvar VAR_0x8005, \data + setvar VAR_0x8006, \val + special CallBattlePyramidFunction + .endm + + @ Save the game and set the challenge status + .macro pyramid_save challengeStatus:req + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SAVE + setvar VAR_0x8005, \challengeStatus + special CallBattlePyramidFunction + .endm + + @ Set the prize item to give from one of two lists of possible prizes, depending on streak. + .macro pyramid_setprize + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_PRIZE + special CallBattlePyramidFunction + .endm + + @ Unused. Give the set prize item to the player. TRUE if room in Bag for prize, FALSE otherwise + .macro pyramid_giveprize + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_GIVE_PRIZE + special CallBattlePyramidFunction + .endm + + @ Set the random values for the floor (used to determine object positions, e.g.), and clear trainer flags + .macro pyramid_seedfloor + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SEED_FLOOR + special CallBattlePyramidFunction + .endm + + @ Set the item to pick up depending on the random seed and quantity (always 1) to the arguments for STD_FIND_ITEM + .macro pyramid_setitem + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_ITEM + special CallBattlePyramidFunction + .endm + + @ Hide the picked-up item (technically it moves the item far offscreen) + .macro pyramid_hideitem + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_HIDE_ITEM + special CallBattlePyramidFunction + .endm + + @ Set the facility trainers to gBattleFrontierTrainers + .macro pyramid_settrainers + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_TRAINERS + special CallBattlePyramidFunction + .endm + + @ Show the post-battle hint text + .macro pyramid_showhint + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT + special CallBattlePyramidFunction + .endm + + @ VAR_RESULT is 1 if player is on a Pyramid floor, 2 if on the Pyramid peak, 0 otherwise + .macro pyramid_inchallenge + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_IS_IN + special CallBattlePyramidFunction + .endm + + @ Update the light around the player. 2 different modes, for setting or incrementing light. See PYRAMID_LIGHT_* + .macro pyramid_updatelight radius:req, mode:req, sound=0xFFFF + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_UPDATE_LIGHT + setvar VAR_0x8005, \radius + setvar VAR_0x8006, \mode + .if \sound != 0xFFFF + setvar VAR_0x8007, \sound + .endif + special CallBattlePyramidFunction + .endm + + @ Reset the held items to what they were at the start of the challenge + .macro pyramid_clearhelditems + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS + special CallBattlePyramidFunction + .endm + + @ Set the palette depending on current floor number + .macro pyramid_setfloorpal + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE + special CallBattlePyramidFunction + .endm + + @ Reset sketched moves and update the party order in the saveblock + .macro pyramid_resetparty + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_RESTORE_PARTY + special CallBattlePyramidFunction + .endm diff --git a/asm/macros/battle_frontier/battle_tower.inc b/asm/macros/battle_frontier/battle_tower.inc new file mode 100644 index 0000000000..71e795b1d1 --- /dev/null +++ b/asm/macros/battle_frontier/battle_tower.inc @@ -0,0 +1,91 @@ + @ Initialize the Battle Tower challenge + .macro tower_init + setvar VAR_0x8004, BATTLE_TOWER_FUNC_INIT + special CallBattleTowerFunc + .endm + + @ Get the value of some TOWER_DATA_*. See GetTowerData for the data types that can be retrieved + .macro tower_get data:req + setvar VAR_0x8004, BATTLE_TOWER_FUNC_GET_DATA + setvar VAR_0x8005, \data + special CallBattleTowerFunc + .endm + + @ Set some TOWER_DATA_* to val. See SetTowerData for the data types that can be set + .macro tower_set data:req, val=0xFFFF + setvar VAR_0x8004, BATTLE_TOWER_FUNC_SET_DATA + setvar VAR_0x8005, \data + .if \val != 0xFFFF + setvar VAR_0x8006, \val + .endif + special CallBattleTowerFunc + .endm + + @ Choose and set the gfx for the next opponent. Also used by Battle Tents + .macro tower_setopponent + setvar VAR_0x8004, BATTLE_TOWER_FUNC_SET_OPPONENT + special CallBattleTowerFunc + .endm + + @ Increments the battle number and returns the new one. Also clears E-Reader trainer if defeated, and saves the current win streak + .macro tower_setbattlewon + setvar VAR_0x8004, BATTLE_TOWER_FUNC_SET_BATTLE_WON + special CallBattleTowerFunc + .endm + + @ Try to award ribbons for completing 56th straight Battle Tower win. VAR_RESULT is TRUE if ribbons were awarded. + .macro tower_giveribbons + setvar VAR_0x8004, BATTLE_TOWER_FUNC_GIVE_RIBBONS + special CallBattleTowerFunc + .endm + + @ Save the game and set the challenge status + .macro tower_save challengeStatus:req + setvar VAR_0x8004, BATTLE_TOWER_FUNC_SAVE + setvar VAR_0x8005, \challengeStatus + special CallBattleTowerFunc + .endm + + @ Buffer the opponent's easy chat intro speech to STR_VAR_4 + .macro tower_getopponentintro opponent:req + setvar VAR_0x8004, BATTLE_TOWER_FUNC_GET_OPPONENT_INTRO + setvar VAR_0x8005, \opponent + special CallBattleTowerFunc + .endm + + @ Load the parties, gfx, and other data (like Apprentice id) for the multi partner candidates + .macro tower_loadpartners + setvar VAR_0x8004, BATTLE_TOWER_FUNC_LOAD_PARTNERS + special CallBattleTowerFunc + .endm + + @ Print message from potential multi partner. msgId is any PARTNER_MSGID_* + .macro tower_dopartnermsg msgId:req + setvar VAR_0x8004, BATTLE_TOWER_FUNC_PARTNER_MSG + setvar VAR_0x8005, \msgId + special CallBattleTowerFunc + .endm + + @ Receives/loads the opponent data for a link multi challenge. Returns 6 when finished, and finishes immediately if not doing a link multi battle. + .macro tower_loadlinkopponents + setvar VAR_0x8004, BATTLE_TOWER_FUNC_LOAD_LINK_OPPONENTS + special CallBattleTowerFunc + .endm + + @ Unknown. Destroys some link task if using wireless link. Wait for link? + .macro tower_unklink + setvar VAR_0x8004, BATTLE_TOWER_FUNC_13 + special CallBattleTowerFunc + .endm + + @ Set VAR_OBJ_GFX_ID_E to the gfx id of the selected multi partner + .macro tower_setpartnergfx + setvar VAR_0x8004, BATTLE_TOWER_FUNC_SET_PARTNER_GFX + special CallBattleTowerFunc + .endm + + @ Set the data used for the post-challenge Battle Tower interview + .macro tower_setinterviewdata + setvar VAR_0x8004, BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA + special CallBattleTowerFunc + .endm diff --git a/asm/macros/battle_frontier/frontier_util.inc b/asm/macros/battle_frontier/frontier_util.inc new file mode 100644 index 0000000000..def5b4d1c7 --- /dev/null +++ b/asm/macros/battle_frontier/frontier_util.inc @@ -0,0 +1,153 @@ + @ Get the status (CHALLENGE_STATUS_*) of the current challenge and store the result in VAR_TEMP_0 + .macro frontier_getstatus + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_STATUS + special CallFrontierUtilFunc + .endm + + @ Get the value of some FRONTIER_DATA_*. See GetFrontierData for the data types that can be retrieved + .macro frontier_get data:req + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA + setvar VAR_0x8005, \data + special CallFrontierUtilFunc + .endm + + @ Set the value of some FRONTIER_DATA_*. Some data types do not need a val argument because the value is set directly from somewhere else. See SetFrontierData for the data types that can be set + .macro frontier_set data:req, val=0xFFFF + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA + setvar VAR_0x8005, \data + .if \val == 0xFFFF + @ no value provided + .elseif \val >= VARS_START + copyvar VAR_0x8006, \val + .else + setvar VAR_0x8006, \val + .endif + special CallFrontierUtilFunc + .endm + + @ Load the selected mons into gSelectedOrderFromParty and reduce the players party to these mons + .macro frontier_setpartyorder partySize:req + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_PARTY_ORDER + setvar VAR_0x8005, \partySize + special CallFrontierUtilFunc + .endm + + @ Performs a soft reset + .macro frontier_reset + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SOFT_RESET + special CallFrontierUtilFunc + .endm + + @ Loads gBattleFrontierTrainers into gFacilityTrainers + .macro frontier_settrainers + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_TRAINERS + special CallFrontierUtilFunc + .endm + + @ Sets the selected party mons in the saveblock + .macro frontier_saveparty + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SAVE_PARTY + special CallFrontierUtilFunc + .endm + + @ Shows the results window for the given facility and mode. Facilities with only 1 mode dont provide the mode argument + .macro frontier_results facility:req, mode=0xFF + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_RESULTS_WINDOW + setvar VAR_0x8005, \facility + .if \mode != 0xFF + setvar VAR_0x8006, \mode + .endif + special CallFrontierUtilFunc + .endm + + @ Checks if the Battle Frontier TV special should air, and if so attempts to set it up + .macro frontier_checkairshow + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_CHECK_AIR_TV_SHOW + special CallFrontierUtilFunc + .endm + + @ Get the status of the Frontier Brain (Not ready, Silver/Gold streak before symbols, Silver/Gold streak after symbols) + .macro frontier_getbrainstatus + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_BRAIN_STATUS + special CallFrontierUtilFunc + .endm + + @ TRUE if the opponent is a Frontier Brain, FALSE otherwise + .macro frontier_isbrain + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_IS_BRAIN + special CallFrontierUtilFunc + .endm + + @ Awards battle points depending on the current challenge + .macro frontier_givepoints + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_BATTLE_POINTS + special CallFrontierUtilFunc + .endm + + @ Returns 0-2 for the number of facility symbols the player has + .macro frontier_getsymbols + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS + special CallFrontierUtilFunc + .endm + + @ Awards a frontier symbol depending on the current challenge + .macro frontier_givesymbol + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL + special CallFrontierUtilFunc + .endm + + @ TRUE if the given battleType is set in gBattleTypeFlags, FALSE otherwise + .macro frontier_isbattletype battleType:req + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_CHECK_BATTLE_TYPE + setvar VAR_0x8005, \battleType + special CallFrontierUtilFunc + .endm + + @ TRUE if there are insufficient eligible party mons to participate in the challenge, and buffers caught ineligible species to STR_VAR_1. FALSE otherwise. The return value is stored in VAR_0x8004 instead, and the current level mode is expected to be in VAR_RESULT + .macro frontier_checkineligible + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_CHECK_INELIGIBLE + special CallFrontierUtilFunc + .endm + + @ Validates the visiting E-Reader trainer. 0 if valid, 1 if not + .macro frontier_checkvisittrainer + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_CHECK_VISIT_TRAINER + special CallFrontierUtilFunc + .endm + + @ Increments the current win streak by 1 + .macro frontier_incrementstreak + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_INCREMENT_STREAK + special CallFrontierUtilFunc + .endm + + @ Resets the party held items to what they were upon entering the challenge + .macro frontier_restorehelditems + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_RESTORE_HELD_ITEMS + special CallFrontierUtilFunc + .endm + + @ Move the recorded battle to save data + .macro frontier_savebattle + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SAVE_BATTLE + special CallFrontierUtilFunc + .endm + + @ Buffer the name of gTrainerBattleOpponent_A in STR_VAR_1 (0) or STR_VAR_2 (1) + .macro frontier_gettrainername stringVar:req + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_BUFFER_TRAINER_NAME + setvar VAR_0x8005, \stringVar + special CallFrontierUtilFunc + .endm + + @ If any moves were copied using Sketch during the challenge then restore them to Sketch + .macro frontier_resetsketch + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_RESET_SKETCH_MOVES + special CallFrontierUtilFunc + .endm + + @ Set the object event gfx of the Frontier Brain for the current facility + .macro frontier_setbrainobj + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_BRAIN_OBJECT + special CallFrontierUtilFunc + .endm diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 997af51cce..eda410c5ba 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -391,11 +391,11 @@ .byte 0x47 .endm - .macro playstatchangeanimation battler:req, param1:req, param2:req + .macro playstatchangeanimation battler:req, stats:req, statchange:req .byte 0x48 .byte \battler - .byte \param1 - .byte \param2 + .byte \stats + .byte \statchange .endm .macro moveend param0:req, param1:req @@ -738,10 +738,10 @@ .byte 0x88 .endm - .macro statbuffchange param0:req, param1:req + .macro statbuffchange flags:req, jumpptr:req .byte 0x89 - .byte \param0 - .4byte \param1 + .byte \flags + .4byte \jumpptr .endm .macro normalisebuffs @@ -1267,7 +1267,7 @@ various \battler, 4 .endm - .macro resetintrimidatetracebits battler:req + .macro resetintimidatetracebits battler:req various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS .endm diff --git a/asm/macros/battle_tent.inc b/asm/macros/battle_tent.inc new file mode 100644 index 0000000000..663d1d344d --- /dev/null +++ b/asm/macros/battle_tent.inc @@ -0,0 +1,167 @@ +@ Verdanturf Tent + + @ Initialize the Verdanturf Battle Tent challenge + .macro verdanturftent_init + setvar VAR_0x8004, VERDANTURF_TENT_FUNC_INIT + special CallVerdanturfTentFunction + .endm + + @ Get the current prize item id + .macro verdanturftent_getprize + setvar VAR_0x8004, VERDANTURF_TENT_FUNC_GET_PRIZE + special CallVerdanturfTentFunction + .endm + + @ Unused. Set the prize item to be given + .macro verdanturftent_setprize unusedArg:req, itemId:req + setvar VAR_0x8004, VERDANTURF_TENT_FUNC_SET_PRIZE + setvar VAR_0x8005, \unusedArg + setvar VAR_0x8006, \itemId + special CallVerdanturfTentFunction + .endm + + @ Unused. Set the opponent trainer and gfx. SetNextBattleTentOpponent is used through tower_setopponent instead + .macro verdanturftent_setopponentgfx + setvar VAR_0x8004, VERDANTURF_TENT_FUNC_SET_OPPONENT_GFX + special CallVerdanturfTentFunction + .endm + + @ Buffers the opponents intro speech to STR_VAR_4. Despite being a Verdanturf Tent function, it serves the same purpose for all 3 tents. + .macro battletent_getopponentintro + setvar VAR_0x8004, VERDANTURF_TENT_FUNC_GET_OPPONENT_INTRO + special CallVerdanturfTentFunction + .endm + + @ Save the game and set the challenge status + .macro verdanturftent_save challengeStatus:req + setvar VAR_0x8004, VERDANTURF_TENT_FUNC_SAVE + setvar VAR_0x8005, \challengeStatus + special CallVerdanturfTentFunction + .endm + + @ Set the prize item as randomly selected from a list. Randomness unnecessary, as the list is only 1 item + .macro verdanturftent_setrandomprize + setvar VAR_0x8004, VERDANTURF_TENT_FUNC_SET_RANDOM_PRIZE + special CallVerdanturfTentFunction + .endm + + @ Give the current prize item. FALSE if no room for prize + .macro verdanturftent_giveprize + setvar VAR_0x8004, VERDANTURF_TENT_FUNC_GIVE_PRIZE + special CallVerdanturfTentFunction + .endm + + +@ Fallarbor Tent + + @ Initialize the Fallarbor Battle Tent challenge + .macro fallarbortent_init + setvar VAR_0x8004, FALLARBOR_TENT_FUNC_INIT + special CallFallarborTentFunction + .endm + + @ Get the current prize item id + .macro fallarbortent_getprize + setvar VAR_0x8004, FALLARBOR_TENT_FUNC_GET_PRIZE + special CallFallarborTentFunction + .endm + + @ Unused. Set the prize item to be given + .macro fallarbortent_setprize unusedArg:req, itemId:req + setvar VAR_0x8004, FALLARBOR_TENT_FUNC_SET_PRIZE + setvar VAR_0x8005, \unusedArg + setvar VAR_0x8006, \itemId + special CallFallarborTentFunction + .endm + + @ Save the game and set the challenge status + .macro fallarbortent_save challengeStatus:req + setvar VAR_0x8004, FALLARBOR_TENT_FUNC_SAVE + setvar VAR_0x8005, \challengeStatus + special CallFallarborTentFunction + .endm + + @ Set the prize item as randomly selected from a list. Randomness unnecessary, as the list is only 1 item + .macro fallarbortent_setrandomprize + setvar VAR_0x8004, FALLARBOR_TENT_FUNC_SET_RANDOM_PRIZE + special CallFallarborTentFunction + .endm + + @ Give the current prize item. FALSE if no room for prize + .macro fallarbortent_giveprize + setvar VAR_0x8004, FALLARBOR_TENT_FUNC_GIVE_PRIZE + special CallFallarborTentFunction + .endm + + @ Buffer the opponent trainers name to STR_VAR_1 + .macro fallarbortent_getopponentname + setvar VAR_0x8004, FALLARBOR_TENT_FUNC_GET_OPPONENT_NAME + special CallFallarborTentFunction + .endm + + +@ Slateport Tent + + @ Initialize the Slateport Battle Tent challenge + .macro slateporttent_init + setvar VAR_0x8004, SLATEPORT_TENT_FUNC_INIT + special CallSlateportTentFunction + .endm + + @ Get the current prize item id + .macro slateporttent_getprize + setvar VAR_0x8004, SLATEPORT_TENT_FUNC_GET_PRIZE + special CallSlateportTentFunction + .endm + + @ Unused. Set the prize item to be given + .macro slateporttent_setprize unusedArg:req, itemId:req + setvar VAR_0x8004, SLATEPORT_TENT_FUNC_SET_PRIZE + setvar VAR_0x8005, \unusedArg + setvar VAR_0x8006, \itemId + special CallSlateportTentFunction + .endm + + @ Save the game and set the challenge status + .macro slateporttent_save challengeStatus:req + setvar VAR_0x8004, SLATEPORT_TENT_FUNC_SAVE + setvar VAR_0x8005, \challengeStatus + special CallSlateportTentFunction + .endm + + @ Set the prize item as randomly selected from a list. Randomness unnecessary, as the list is only 1 item + .macro slateporttent_setrandomprize + setvar VAR_0x8004, SLATEPORT_TENT_FUNC_SET_RANDOM_PRIZE + special CallSlateportTentFunction + .endm + + @ Give the current prize item. FALSE if no room for prize + .macro slateporttent_giveprize + setvar VAR_0x8004, SLATEPORT_TENT_FUNC_GIVE_PRIZE + special CallSlateportTentFunction + .endm + + @ Slateport Tent's version of factory_rentmons + .macro slateporttent_rentmons + setvar VAR_0x8004, SLATEPORT_TENT_FUNC_SELECT_RENT_MONS + special CallSlateportTentFunction + .endm + + @ Slateport Tent's version of factory_swapmons + .macro slateporttent_swapmons + setvar VAR_0x8004, SLATEPORT_TENT_FUNC_SWAP_RENT_MONS + special CallSlateportTentFunction + .endm + + @ Slateport Tent's version of factory_generateopponentmons + .macro slateporttent_generateopponentmons + setvar VAR_0x8004, SLATEPORT_TENT_FUNC_GENERATE_OPPONENT_MONS + special CallSlateportTentFunction + .endm + + @ Slateport Tent's version of factory_generaterentalmons + .macro slateporttent_generaterentalmons + setvar VAR_0x8004, SLATEPORT_TENT_FUNC_GENERATE_RENTAL_MONS + special CallSlateportTentFunction + .endm + diff --git a/asm/macros/event.inc b/asm/macros/event.inc index bf1b8ce769..abb2eb13a5 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -233,14 +233,12 @@ .endm @ Generic compare macro which attempts to deduce argument types based on their values - @ Any values between 0x4000 to 0x4FFF and 0x8000 to 0x8FFF are considered event variable identifiers - .macro compare arg1:req, arg2:req - .if ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && ((\arg2 >> 12) == 4 || (\arg2 >> 12) == 8) - compare_var_to_var \arg1, \arg2 - .elseif ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && (\arg2 >= 0 && \arg2 <= 0xFFFF) - compare_var_to_value \arg1, \arg2 + @ Any values between 0x4000 to 0x40FF and 0x8000 to 0x8015 are considered event variable identifiers + .macro compare var:req, arg:req + .if ((\arg >= VARS_START && \arg <= VARS_END) || (\arg >= SPECIAL_VARS_START && \arg <= SPECIAL_VARS_END)) + compare_var_to_var \var, \arg .else - .error "Invalid arguments for 'compare'" + compare_var_to_value \var, \arg .endif .endm @@ -465,47 +463,47 @@ .2byte \Y .endm - @ Retrieves the number of Pokemon in the player's party, and stores that number in variable 0x800D (LASTRESULT). + @ Retrieves the number of Pokemon in the player's party, and stores that number in VAR_RESULT. .macro getpartysize .byte 0x43 .endm - @ Attempts to add quantity of item index to the player's Bag. If the player has enough room, the item will be added and variable 0x800D (LASTRESULT) will be set to 0x0001; otherwise, LASTRESULT is set to 0x0000. - .macro giveitem index:req, quantity:req + @ Attempts to add quantity of item index to the player's Bag. If the player has enough room, the item will be added and VAR_RESULT will be set to TRUE; otherwise, VAR_RESULT is set to FALSE. + .macro additem index:req, quantity=1 .byte 0x44 .2byte \index .2byte \quantity .endm @ Removes quantity of item index from the player's Bag. - .macro takeitem index:req, quantity:req + .macro removeitem index:req, quantity=1 .byte 0x45 .2byte \index .2byte \quantity .endm - @ Checks if the player has enough space in their Bag to hold quantity more of item index. Sets variable 0x800D (LASTRESULT) to 0x0001 if there is room, or 0x0000 is there is no room. + @ Checks if the player has enough space in their Bag to hold quantity more of item index. Sets VAR_RESULT to TRUE if there is room, or FALSE is there is no room. .macro checkitemspace index:req, quantity:req .byte 0x46 .2byte \index .2byte \quantity .endm - @ Checks if the player has quantity or more of item index in their Bag. Sets variable 0x800D (LASTRESULT) to 0x0001 if the player has enough of the item, or 0x0000 if they have fewer than quantity of the item. + @ Checks if the player has quantity or more of item index in their Bag. Sets VAR_RESULT to TRUE if the player has enough of the item, or FALSE if they have fewer than quantity of the item. .macro checkitem index:req, quantity:req .byte 0x47 .2byte \index .2byte \quantity .endm - @ Checks which Bag pocket the specified (index) item belongs in, and writes the value to variable 0x800D (LASTRESULT). This script is used to show the name of the proper Bag pocket when the player receives an item via callstd (simplified to giveitem in XSE). + @ Checks which Bag pocket the specified item belongs in, and writes the pocket value (POCKET_*) to VAR_RESULT. This script is used to show the name of the proper Bag pocket when the player receives an item via callstd (simplified to giveitem in XSE). .macro checkitemtype index:req .byte 0x48 .2byte \index .endm @ Adds a quantity amount of item index to the player's PC. Both arguments can be variables. - .macro givepcitem index:req, quantity:req + .macro addpcitem index:req, quantity:req .byte 0x49 .2byte \index .2byte \quantity @@ -519,13 +517,13 @@ .endm @ Adds decoration to the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.) - .macro givedecoration decoration:req + .macro adddecoration decoration:req .byte 0x4b .2byte \decoration .endm @ Removes a decoration from the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.) - .macro takedecoration decoration:req + .macro removedecoration decoration:req .byte 0x4c .2byte \decoration .endm @@ -536,7 +534,7 @@ .2byte \decoration .endm - @ Checks if the player has enough space in their PC to hold decoration. Sets variable 0x800D (LASTRESULT) to 0x0001 if there is room, or 0x0000 is there is no room. In FireRed, this command is a nop. (The argument is read, but not used for anything.) + @ Checks if the player has enough space in their PC to hold decoration. Sets VAR_RESULT to TRUE if there is room, or FALSE is there is no room. In FireRed, this command is a nop. (The argument is read, but not used for anything.) .macro checkdecorspace decoration:req .byte 0x4e .2byte \decoration @@ -677,7 +675,7 @@ .elseif \type == TRAINER_BATTLE_SET_TRAINER_B .4byte \pointer1 @ text .4byte \pointer2 @ text - .elseif \type == TRAINER_BATTLE_12 + .elseif \type == TRAINER_BATTLE_HILL .4byte \pointer1 @ text .4byte \pointer2 @ text .endif @@ -818,14 +816,14 @@ .byte 0x6d .endm - @ Displays a YES/NO multichoice box at the specified coordinates, and blocks script execution until the user makes a selection. Their selection is stored in variable 0x800D (LASTRESULT); 0x0000 for "NO" or if the user pressed B, and 0x0001 for "YES". + @ Displays a YES/NO multichoice box at the specified coordinates, and blocks script execution until the user makes a selection. Their selection is stored in VAR_RESULT as NO (0) or YES (1). Pressing B is equivalent to answering NO .macro yesnobox x:req, y:req .byte 0x6e .byte \x .byte \y .endm - @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined (gMultichoiceLists) and the one to be used is specified with list. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. + @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with list. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. .macro multichoice x:req, y:req, list:req, b:req .byte 0x6f .byte \x @@ -834,7 +832,7 @@ .byte \b .endm - @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined (gMultichoiceLists) and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. + @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. .macro multichoicedefault x:req, y:req, list:req, default:req, b:req .byte 0x70 .byte \x @@ -844,7 +842,7 @@ .byte \b .endm - @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined (gMultichoiceLists) and the one to be used is specified with list. The per_row argument determines how many list items will be shown on a single row of the box. + @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with list. The per_row argument determines how many list items will be shown on a single row of the box. .macro multichoicegrid x:req, y:req, list:req, per_row:req, B:req .byte 0x71 .byte \x @@ -878,20 +876,20 @@ .endm @ Displays a box containing the front sprite for the specified (species) Pokemon species. - .macro drawmonpic species:req, x:req, y:req + .macro showmonpic species:req, x:req, y:req .byte 0x75 .2byte \species .byte \x .byte \y .endm - @ Hides all boxes displayed with drawmonpic. - .macro erasemonpic + @ Hides all boxes displayed with showmonpic. + .macro hidemonpic .byte 0x76 .endm @ Draws an image of the winner of the contest. In FireRed, this command is a nop. (The argument is discarded.) - .macro drawcontestwinner a:req + .macro showcontestwinner a:req .byte 0x77 .byte \a .endm @@ -902,15 +900,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 @@ -925,7 +923,7 @@ .2byte \move .endm - @ Checks if at least one Pokemon in the player's party knows the specified (index) attack. If so, variable 0x800D (LASTRESULT) is set to the (zero-indexed) slot number of the first Pokemon that knows the move. If not, LASTRESULT is set to 0x0006. Variable 0x8004 is also set to this Pokemon's species. + @ Checks if at least one Pokemon in the player's party knows the specified (index) attack. If so, VAR_RESULT is set to the (zero-indexed) slot number of the first Pokemon that knows the move. If not, VAR_RESULT is set to PARTY_SIZE. VAR_0x8004 is also set to this Pokemon's species. .macro checkpartymove index:req .byte 0x7c .2byte \index @@ -1045,27 +1043,27 @@ .byte 0x8e .endm - @ Stores a random integer between 0 and limit in variable 0x800D (LASTRESULT). + @ Stores a random integer between 0 and limit in VAR_RESULT. .macro random limit:req .byte 0x8f .2byte \limit .endm @ If check is 0x00, this command adds value to the player's money. - .macro givemoney value:req, check:req + .macro addmoney value:req, check:req .byte 0x90 .4byte \value .byte \check .endm @ If check is 0x00, this command subtracts value from the player's money. - .macro takemoney value:req, check:req + .macro removemoney value:req, check:req .byte 0x91 .4byte \value .byte \check .endm - @ If check is 0x00, this command will check if the player has value or more money; script variable 0x800D (LASTRESULT) is set to 0x0001 if the player has enough money, or 0x0000 if the do not. + @ If check is 0x00, this command will check if the player has money >= value; VAR_RESULT is set to TRUE if the player has enough money, or FALSE if they do not. .macro checkmoney value:req, check:req .byte 0x92 .4byte \value @@ -1080,9 +1078,11 @@ .byte \check .endm - @ Hides the secondary box spawned by showmoney. + @ Hides the secondary box spawned by showmoney. Consumption of the x and y arguments was dummied out. .macro hidemoneybox .byte 0x94 + .byte 0 @ \x + .byte 0 @ \y .endm @ Updates the secondary box spawned by showmoney. Consumes but does not use arguments. @@ -1099,16 +1099,16 @@ .2byte \index .endm - @ Fades the screen to and from black and white. Mode 0x00 fades from black, mode 0x01 fades out to black, mode 0x2 fades in from white, and mode 0x3 fades out to white. - .macro fadescreen effect:req + @ Fades the screen to and from black and white. Modes are FADE_(TO/FROM)_(WHITE/BLACK) + .macro fadescreen mode:req .byte 0x97 - .byte \effect + .byte \mode .endm - @ Fades the screen to and from black and white. Mode 0x00 fades from black, mode 0x01 fades out to black, mode 0x2 fades in from white, and mode 0x3 fades out to white. Other modes may exist. - .macro fadescreenspeed effect:req, speed:req + @ Fades the screen to and from black and white. Modes are FADE_(TO/FROM)_(WHITE/BLACK) + .macro fadescreenspeed mode:req, speed:req .byte 0x98 - .byte \effect + .byte \mode .byte \speed .endm @@ -1152,7 +1152,7 @@ .2byte \heallocation .endm - @ Checks the player's gender. If male, then 0x0000 is stored in variable 0x800D (LASTRESULT). If female, then 0x0001 is stored in LASTRESULT. + @ Checks the player's gender. If male, then MALE (0) is stored in VAR_RESULT. If female, then FEMALE (1) is stored in VAR_RESULT. .macro checkplayergender .byte 0xa0 .endm @@ -1281,12 +1281,12 @@ .2byte \out .endm - .macro givecoins count:req + .macro addcoins count:req .byte 0xb4 .2byte \count .endm - .macro takecoins count:req + .macro removecoins count:req .byte 0xb5 .2byte \count .endm @@ -1435,7 +1435,7 @@ .2byte \slot .endm - @ Checks if the Pokemon in the specified slot of the player's party is obedient. If the Pokemon is disobedient, 0x0001 is written to script variable 0x800D (LASTRESULT). If the Pokemon is obedient (or if the specified slot is empty or invalid), 0x0000 is written. + @ Checks if the Pokemon in the specified slot of the player's party is obedient. If the Pokemon is disobedient, VAR_RESULT is TRUE. If the Pokemon is obedient (or if the specified slot is empty or invalid), VAR_RESULT is FALSE. .macro checkmonobedience slot:req .byte 0xce .2byte \slot @@ -1468,31 +1468,34 @@ .byte \location .endm - .macro mossdeepgym1 unknown:req + @ For the rotating tile puzzles in Mossdeep Gym/Trick House Room 7. Moves the objects on the colored puzzle specified by puzzleNumber one rotation + .macro moverotatingtileobjects puzzleNumber:req .byte 0xd3 - .2byte \unknown + .2byte \puzzleNumber .endm - .macro mossdeepgym2 + @ For the rotating tile puzzles in Mossdeep Gym/Trick House Room 7. Updates the facing direction of all objects on the puzzle tiles + .macro turnrotatingtileobjects .byte 0xd4 .endm - @ In FireRed, this command is a nop. - .macro mossdeepgym3 var:req + @ For the rotating tile puzzles in Mossdeep Gym/Trick House Room 7. Allocates memory for the puzzle objects. isTrickHouse is needed to determine which of the two maps the puzzle is on, in order to know where in the tileset the puzzle tiles start. In FireRed, this command is a nop. + .macro initrotatingtilepuzzle isTrickHouse:req .byte 0xd5 - .2byte \var + .2byte \isTrickHouse .endm - .macro mossdeepgym4 + @ For the rotating tile puzzles in Mossdeep Gym/Trick House Room 7. Frees the memory allocated for the puzzle objects. + .macro freerotatingtilepuzzle .byte 0xd6 .endm - .macro warp7 map:req, byte:req, word1:req, word2:req + .macro warpmossdeepgym map:req, warpId:req, x:req, y:req .byte 0xd7 map \map - .byte \byte - .2byte \word1 - .2byte \word2 + .byte \warpId + .2byte \x + .2byte \y .endm .macro cmdD8 @@ -1503,7 +1506,7 @@ .byte 0xd9 .endm - .macro hidebox2 + .macro closebraillemessage .byte 0xda .endm @@ -1512,9 +1515,9 @@ .4byte \pointer .endm - .macro fadescreenswapbuffers byte:req + .macro fadescreenswapbuffers mode:req .byte 0xdc - .byte \byte + .byte \mode .endm .macro buffertrainerclassname out:req, class:req @@ -1534,7 +1537,7 @@ .4byte \pointer .endm - .macro warp8 map:req, byte:req, word1:req, word2:req + .macro warpsootopolislegend map:req, byte:req, word1:req, word2:req .byte 0xe0 map \map .byte \byte @@ -1561,12 +1564,12 @@ .macro goto_if_unset flag:req, dest:req checkflag \flag - goto_if 0, \dest + goto_if FALSE, \dest .endm .macro goto_if_set flag:req, dest:req checkflag \flag - goto_if 1, \dest + goto_if TRUE, \dest .endm .macro goto_if_lt dest:req @ LESS THAN @@ -1595,12 +1598,12 @@ .macro call_if_unset flag:req, dest:req checkflag \flag - call_if 0, \dest + call_if FALSE, \dest .endm .macro call_if_set flag:req, dest:req checkflag \flag - call_if 1, \dest + call_if TRUE, \dest .endm .macro call_if_lt dest:req @ LESS THAN @@ -1627,6 +1630,44 @@ call_if 5, \dest .endm + .macro vgoto_if_eq dest:req + vgoto_if TRUE, \dest + .endm + + .macro vgoto_if_ne dest:req + vgoto_if FALSE, \dest + .endm + + .macro vgoto_if_unset flag:req, dest:req + checkflag \flag + vgoto_if FALSE, \dest + .endm + + .macro vgoto_if_set flag:req, dest:req + checkflag \flag + vgoto_if TRUE, \dest + .endm + + .macro goto_if_defeated trainer:req, dest:req + checktrainerflag \trainer + goto_if TRUE, \dest + .endm + + .macro goto_if_not_defeated trainer:req, dest:req + checktrainerflag \trainer + goto_if FALSE, \dest + .endm + + .macro call_if_defeated trainer:req, dest:req + checktrainerflag \trainer + call_if TRUE, \dest + .endm + + .macro call_if_not_defeated trainer:req, dest:req + checktrainerflag \trainer + call_if FALSE, \dest + .endm + .macro switch var:req copyvar VAR_0x8000, \var .endm @@ -1642,6 +1683,7 @@ MSGBOX_DEFAULT = 4 MSGBOX_YESNO = 5 MSGBOX_AUTOCLOSE = 6 + MSGBOX_GETPOINTS = 9 YES = 1 NO = 0 @@ -1651,13 +1693,19 @@ callstd \type .endm - .macro giveitem_std item:req, amount=1, function=0 + .macro giveitem item:req, amount=1 setorcopyvar VAR_0x8000, \item setorcopyvar VAR_0x8001, \amount - callstd \function + callstd STD_OBTAIN_ITEM .endm - .macro givedecoration_std decoration:req + .macro finditem item:req, amount=1 + setorcopyvar VAR_0x8000, \item + setorcopyvar VAR_0x8001, \amount + callstd STD_FIND_ITEM + .endm + + .macro givedecoration decoration:req setorcopyvar VAR_0x8000, \decoration callstd STD_OBTAIN_DECORATION .endm @@ -1668,3 +1716,10 @@ setorcopyvar VAR_0x8000, \trainer callstd STD_REGISTER_MATCH_CALL .endm + + .macro dofieldeffectsparkle x:req, y:req, priority:req + setfieldeffectargument 0, \x + setfieldeffectargument 1, \y + setfieldeffectargument 2, \priority + dofieldeffect FLDEFF_SPARKLE + .endm diff --git a/asm/macros/movement.inc b/asm/macros/movement.inc index 99b5c8f840..e26a00d76c 100644 --- a/asm/macros/movement.inc +++ b/asm/macros/movement.inc @@ -102,8 +102,8 @@ create_movement_action clear_fixed_priority create_movement_action init_affine_anim create_movement_action clear_affine_anim - create_movement_action unknown_movement_1 - create_movement_action unknown_movement_2 + create_movement_action hide_reflection + create_movement_action show_reflection create_movement_action walk_down_start_affine create_movement_action walk_down_affine diff --git a/asm/macros/trainer_hill.inc b/asm/macros/trainer_hill.inc new file mode 100644 index 0000000000..d5c84fd021 --- /dev/null +++ b/asm/macros/trainer_hill.inc @@ -0,0 +1,108 @@ + @ Initialize the Trainer Hill challenge and start the timer + .macro trainerhill_start + setvar VAR_0x8004, TRAINER_HILL_FUNC_START + special CallTrainerHillFunction + .endm + + @ 0 if not spoken to yet, 1 if spoken to but not received prize, 2 if received prize + .macro trainerhill_getownerstate + setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_OWNER_STATE + special CallTrainerHillFunction + .endm + + @ Try to give prize. 0 if given successfully, 1 if no room for prize, 2 if giving prize should be skipped + .macro trainerhill_giveprize + setvar VAR_0x8004, TRAINER_HILL_FUNC_GIVE_PRIZE + special CallTrainerHillFunction + .endm + + @ Check the final challenge time. 0 if new record, 1 if not, 2 if time has already been checked + .macro trainerhill_finaltime + setvar VAR_0x8004, TRAINER_HILL_FUNC_CHECK_FINAL_TIME + special CallTrainerHillFunction + .endm + + @ Resume the timer. Wont resume if owner has been spoken to or max time has been reached + .macro trainerhill_resumetimer + setvar VAR_0x8004, TRAINER_HILL_FUNC_RESUME_TIMER + special CallTrainerHillFunction + .endm + + @ Set player lost the challenge (trainerHill.hasLost) to TRUE + .macro trainerhill_lost + setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_LOST + special CallTrainerHillFunction + .endm + + @ Get the current challenge status (TRAINER_HILL_PLAYER_STATUS_*) + .macro trainerhill_getstatus + setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS + special CallTrainerHillFunction + .endm + + @ Buffer the current timer to string vars (mins to STR_VAR_1, secs to STR_VAR_2, fraction of sec to STR_VAR_3) + .macro trainerhill_gettime + setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_CHALLENGE_TIME + special CallTrainerHillFunction + .endm + + @ FALSE if fewer than all 4 floors used, TRUE otherwise. Only FALSE in JP-exclusive modes + .macro trainerhill_allfloorsused + setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_ALL_FLOORS_USED + special CallTrainerHillFunction + .endm + + @ Unknown, dummied. Only side effect is setting VAR_RESULT to 0. + .macro trainerhill_clearresult + setvar VAR_0x8004, TRAINER_HILL_FUNC_CLEAR_RESULT + special CallTrainerHillFunction + .endm + + @ TRUE if currently in a Trainer Hill challenge + .macro trainerhill_inchallenge + setvar VAR_0x8004, TRAINER_HILL_FUNC_IN_CHALLENGE + special CallTrainerHillFunction + .endm + + @ Show the post battle text for the spoken to Trainer Hill trainer + .macro trainerhill_postbattletext + setvar VAR_0x8004, TRAINER_HILL_FUNC_POST_BATTLE_TEXT + special CallTrainerHillFunction + .endm + + @ Set all Trainer Hill trainers defeated + .macro trainerhill_settrainerflags + setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_ALL_TRAINER_FLAGS + special CallTrainerHillFunction + .endm + + @ TRUE if the game has been saved for the challenge, FALSE otherwise + .macro trainerhill_getsaved + setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_GAME_SAVED + special CallTrainerHillFunction + .endm + + @ Set that the game has been saved for the challenge + .macro trainerhill_setsaved + setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_GAME_SAVED + special CallTrainerHillFunction + .endm + + @ Clear that the game has been saved for the challenge + .macro trainerhill_clearsaved + setvar VAR_0x8004, TRAINER_HILL_FUNC_CLEAR_GAME_SAVED + special CallTrainerHillFunction + .endm + + @ FALSE if the Trainer Hill challenge was lost, TRUE otherwise + .macro trainerhill_getwon + setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_WON + special CallTrainerHillFunction + .endm + + @ Set the challenge mode to HILL_TAG_* (Normal, Variety, Unique, or Expert) + .macro trainerhill_settag tag:req + setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_TAG + copyvar VAR_0x8005, \tag + special CallTrainerHillFunction + .endm diff --git a/berry_fix/Makefile b/berry_fix/Makefile index 2bc225eba9..0ead3804fd 100644 --- a/berry_fix/Makefile +++ b/berry_fix/Makefile @@ -1,7 +1,29 @@ -include $(DEVKITARM)/base_tools +TOOLCHAIN := $(DEVKITARM) +COMPARE ?= 0 + +ifeq ($(CC),) +HOSTCC := gcc +else +HOSTCC := $(CC) +endif + +ifeq ($(CXX),) +HOSTCXX := g++ +else +HOSTCXX := $(CXX) +endif + +ifneq (,$(wildcard $(TOOLCHAIN)/base_tools)) +include $(TOOLCHAIN)/base_tools +else +export PATH := $(TOOLCHAIN)/bin:$(PATH) +PREFIX := arm-none-eabi- +OBJCOPY := $(PREFIX)objcopy +export CC := $(PREFIX)gcc +export AS := $(PREFIX)as +endif export CPP := $(PREFIX)cpp export LD := $(PREFIX)ld -COMPARE ?= 0 ifeq ($(OS),Windows_NT) EXE := .exe @@ -144,7 +166,7 @@ $(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) $(DATA_ASM_SUBDIR)/$*.s) endif payload: - @$(MAKE) -C payload COMPARE=$(COMPARE) + @$(MAKE) -C payload COMPARE=$(COMPARE) TOOLCHAIN=$(TOOLCHAIN) payload/payload.gba: payload diff --git a/berry_fix/payload/Makefile b/berry_fix/payload/Makefile index 63e3267241..a121fda93b 100644 --- a/berry_fix/payload/Makefile +++ b/berry_fix/payload/Makefile @@ -1,7 +1,29 @@ -include $(DEVKITARM)/base_tools +TOOLCHAIN := $(DEVKITARM) +COMPARE ?= 0 + +ifeq ($(CC),) +HOSTCC := gcc +else +HOSTCC := $(CC) +endif + +ifeq ($(CXX),) +HOSTCXX := g++ +else +HOSTCXX := $(CXX) +endif + +ifneq (,$(wildcard $(TOOLCHAIN)/base_tools)) +include $(TOOLCHAIN)/base_tools +else +export PATH := $(TOOLCHAIN)/bin:$(PATH) +PREFIX := arm-none-eabi- +OBJCOPY := $(PREFIX)objcopy +export CC := $(PREFIX)gcc +export AS := $(PREFIX)as +endif export CPP := $(PREFIX)cpp export LD := $(PREFIX)ld -COMPARE ?= 0 ifeq ($(OS),Windows_NT) EXE := .exe diff --git a/common_syms/apprentice.txt b/common_syms/apprentice.txt index e35133eccc..0d3569dcbb 100644 --- a/common_syms/apprentice.txt +++ b/common_syms/apprentice.txt @@ -1,3 +1,3 @@ -gUnknown_030062EC -gUnknown_030062F0 -gUnknown_030062F4 +gApprenticePartyMovesData +gApprenticeQuestionData +gApprenticeFunc diff --git a/common_syms/contest_painting.txt b/common_syms/contest_painting.txt index 1fba37a59d..32bb8be161 100644 --- a/common_syms/contest_painting.txt +++ b/common_syms/contest_painting.txt @@ -1,4 +1,4 @@ -gUnknown_03006190 -gUnknown_030061A0 -gUnknown_030061C0 +gContestMonPixels +gImageProcessingContext +gContestPaintingWinner gContestPaintingMonPalette diff --git a/common_syms/contest_painting_effects.txt b/common_syms/contest_painting_effects.txt deleted file mode 100644 index 2f3d792196..0000000000 --- a/common_syms/contest_painting_effects.txt +++ /dev/null @@ -1,10 +0,0 @@ -gUnknown_03006164 -gUnknown_03006168 -gUnknown_0300616C -gUnknown_03006170 -gUnknown_03006174 -gUnknown_03006178 -gUnknown_0300617C -gUnknown_03006180 -gUnknown_03006184 -gUnknown_03006188 diff --git a/common_syms/field_specials.txt b/common_syms/field_specials.txt index 25d874a656..7adb3f6692 100644 --- a/common_syms/field_specials.txt +++ b/common_syms/field_specials.txt @@ -1 +1 @@ -gUnknown_030061D0 +gScrollableMultichoice_ListMenuTemplate diff --git a/common_syms/image_processing_effects.txt b/common_syms/image_processing_effects.txt new file mode 100644 index 0000000000..134f7e88b2 --- /dev/null +++ b/common_syms/image_processing_effects.txt @@ -0,0 +1,10 @@ +gCanvasColumnStart +gCanvasPixels +gCanvasRowEnd +gCanvasHeight +gCanvasColumnEnd +gCanvasRowStart +gCanvasMonPersonality +gCanvasWidth +gCanvasPalette +gCanvasPaletteStart diff --git a/common_syms/party_menu.txt b/common_syms/party_menu.txt index 53e72fa531..6ed37392c2 100644 --- a/common_syms/party_menu.txt +++ b/common_syms/party_menu.txt @@ -1 +1 @@ -gUnknown_03006328 +gItemUseCB diff --git a/common_syms/save.txt b/common_syms/save.txt index d7668c332e..190a658406 100644 --- a/common_syms/save.txt +++ b/common_syms/save.txt @@ -10,4 +10,4 @@ gSaveFileStatus gGameContinueCallback gRamSaveSectionLocations gSaveUnusedVar2 -gUnknown_03006294 +gSaveAttemptStatus diff --git a/common_syms/trainer_see.txt b/common_syms/trainer_see.txt index 2d05143254..0b30a632a0 100644 --- a/common_syms/trainer_see.txt +++ b/common_syms/trainer_see.txt @@ -1,5 +1,5 @@ -gUnknown_03006080 -gUnknown_03006084 +gWhichTrainerToFaceAfterBattle +gPostBattleMovementScript gApproachingTrainers gNoOfApproachingTrainers -gUnknown_030060AC +gTrainerApproachedPlayer diff --git a/constants/berry_constants.inc b/constants/berry_constants.inc deleted file mode 100644 index 2ecd7ac36f..0000000000 --- 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 7c74c8e87c..a58bf92a25 100644 --- a/constants/constants.inc +++ b/constants/constants.inc @@ -1,6 +1,4 @@ .include "constants/gba_constants.inc" .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/constants/gba_constants.inc b/constants/gba_constants.inc index 9d59c8fcdd..3ff857ee8d 100644 --- a/constants/gba_constants.inc +++ b/constants/gba_constants.inc @@ -488,3 +488,26 @@ .set OAM_SIZE_8x32, OAM_SIZE_1 | OAM_V_RECTANGLE .set OAM_SIZE_16x32, OAM_SIZE_2 | OAM_V_RECTANGLE .set OAM_SIZE_32x64, OAM_SIZE_3 | OAM_V_RECTANGLE + +@ BLDCNT + + .set BLDCNT_TGT1_BG0, 1 << 0 + .set BLDCNT_TGT1_BG1, 1 << 1 + .set BLDCNT_TGT1_BG2, 1 << 2 + .set BLDCNT_TGT1_BG3, 1 << 3 + .set BLDCNT_TGT1_OBJ, 1 << 4 + .set BLDCNT_TGT1_BD, 1 << 5 + .set BLDCNT_TGT1_ALL, BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD + + .set BLDCNT_EFFECT_NONE, 0 << 6 + .set BLDCNT_EFFECT_BLEND, 1 << 6 + .set BLDCNT_EFFECT_LIGHTEN, 2 << 6 + .set BLDCNT_EFFECT_DARKEN, 3 << 6 + + .set BLDCNT_TGT2_BG0, 1 << 8 + .set BLDCNT_TGT2_BG1, 1 << 9 + .set BLDCNT_TGT2_BG2, 1 << 10 + .set BLDCNT_TGT2_BG3, 1 << 11 + .set BLDCNT_TGT2_OBJ, 1 << 12 + .set BLDCNT_TGT2_BD, 1 << 13 + .set BLDCNT_TGT2_ALL, BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD diff --git a/constants/pokemon_data_constants.inc b/constants/pokemon_data_constants.inc deleted file mode 100644 index 646bd6d4cc..0000000000 --- a/constants/pokemon_data_constants.inc +++ /dev/null @@ -1,35 +0,0 @@ - .set GROWTH_MEDIUM_FAST, 0x00 - .set GROWTH_ERRATIC, 0x01 - .set GROWTH_FLUCTUATING, 0x02 - .set GROWTH_MEDIUM_SLOW, 0x03 - .set GROWTH_FAST, 0x04 - .set GROWTH_SLOW, 0x05 - - .set BODY_COLOR_RED, 0x00 - .set BODY_COLOR_BLUE, 0x01 - .set BODY_COLOR_YELLOW, 0x02 - .set BODY_COLOR_GREEN, 0x03 - .set BODY_COLOR_BLACK, 0x04 - .set BODY_COLOR_BROWN, 0x05 - .set BODY_COLOR_PURPLE, 0x06 - .set BODY_COLOR_GRAY, 0x07 - .set BODY_COLOR_WHITE, 0x08 - .set BODY_COLOR_PINK, 0x09 - - .set F_SUMMARY_SCREEN_FLIP_SPRITE, 0x80 - - .set EVO_FRIENDSHIP, 0x0001 @ Pokémon levels up with friendship ≥ 220 - .set EVO_FRIENDSHIP_DAY, 0x0002 @ Pokémon levels up during the day with friendship ≥ 220 - .set EVO_FRIENDSHIP_NIGHT, 0x0003 @ Pokémon levels up at night with friendship ≥ 220 - .set EVO_LEVEL, 0x0004 @ Pokémon reaches the specified level - .set EVO_TRADE, 0x0005 @ Pokémon is traded - .set EVO_TRADE_ITEM, 0x0006 @ Pokémon is traded while it's holding the specified item - .set EVO_ITEM, 0x0007 @ specified item is used on Pokémon - .set EVO_LEVEL_ATK_GT_DEF, 0x0008 @ Pokémon reaches the specified level with attack > defense - .set EVO_LEVEL_ATK_EQ_DEF, 0x0009 @ Pokémon reaches the specified level with attack = defense - .set EVO_LEVEL_ATK_LT_DEF, 0x000a @ Pokémon reaches the specified level with attack < defense - .set EVO_LEVEL_SILCOON, 0x000b @ Pokémon reaches the specified level with a Silcoon personality value - .set EVO_LEVEL_CASCOON, 0x000c @ Pokémon reaches the specified level with a Cascoon personality value - .set EVO_LEVEL_NINJASK, 0x000d @ Pokémon reaches the specified level (special value for Ninjask) - .set EVO_LEVEL_SHEDINJA, 0x000e @ Pokémon reaches the specified level (special value for Shedinja) - .set EVO_BEAUTY, 0x000f @ Pokémon levels up with beauty ≥ specified value diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s index 03f76fe291..633c3b38e2 100644 --- a/data/battle_ai_scripts.s +++ b/data/battle_ai_scripts.s @@ -2395,10 +2395,10 @@ AI_CV_Hail_ScoreDown1: AI_CV_Hail_End: end +@ BUG: Facade score is increased if the target is statused, but should be if the user is. Replace AI_TARGET with AI_USER AI_CV_Facade: if_not_status AI_TARGET, STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON, AI_CV_Facade_End score +1 - AI_CV_Facade_End: end diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index f366d44261..fd1ded459e 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1469,19 +1469,19 @@ Move_SELF_DESTRUCT: end SelfDestruct1: playsewithpan SE_W120, SOUND_PAN_ATTACKER - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 0, 0, 0, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 1 delay 6 playsewithpan SE_W120, SOUND_PAN_ATTACKER - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 24, -24, 0, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 24, -24, 0, 1 delay 6 playsewithpan SE_W120, SOUND_PAN_ATTACKER - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -16, 16, 0, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -16, 16, 0, 1 delay 6 playsewithpan SE_W120, SOUND_PAN_ATTACKER - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -24, -12, 0, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -24, -12, 0, 1 delay 6 playsewithpan SE_W120, SOUND_PAN_ATTACKER - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 16, 16, 0, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 16, 16, 0, 1 delay 6 return @@ -1493,7 +1493,7 @@ Move_SLAM: playsewithpan SE_W004, SOUND_PAN_ATTACKER createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 3, 0, 4 delay 1 - createsprite gUnknown_085928D0, ANIM_ATTACKER, 2, 0, 0 + createsprite gSlamHitSpriteTemplate, ANIM_ATTACKER, 2, 0, 0 delay 3 playsewithpan SE_W025B, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1 @@ -1523,17 +1523,17 @@ Move_VINE_WHIP: Move_DRILL_PECK: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_WHIRLWIND_LINES - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0 playsewithpan SE_W029, SOUND_PAN_ATTACKER waitforvisualfinish delay 2 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 1 delay 2 loopsewithpan SE_W030, SOUND_PAN_TARGET, 4, 8 createvisualtask sub_810EB88, 5 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1 waitforvisualfinish - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2 waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 6 waitforvisualfinish @@ -1637,19 +1637,19 @@ Move_EXPLOSION: end Explosion1: playsewithpan SE_W153, SOUND_PAN_ATTACKER - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 0, 0, 0, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 1 delay 6 playsewithpan SE_W153, SOUND_PAN_ATTACKER - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 24, -24, 0, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 24, -24, 0, 1 delay 6 playsewithpan SE_W153, SOUND_PAN_ATTACKER - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -16, 16, 0, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -16, 16, 0, 1 delay 6 playsewithpan SE_W153, SOUND_PAN_ATTACKER - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -24, -12, 0, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -24, -12, 0, 1 delay 6 playsewithpan SE_W153, SOUND_PAN_ATTACKER - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 16, 16, 0, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 16, 16, 0, 1 delay 6 return @@ -1657,9 +1657,9 @@ Move_DEFENSE_CURL: loadspritegfx ANIM_TAG_ECLIPSING_ORB loopsewithpan SE_W161, SOUND_PAN_ATTACKER, 18, 3 createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 0 - createvisualtask sub_815B338, 5 + createvisualtask AnimTask_DefenseCurlDeformMon, 5 waitforvisualfinish - createsprite gUnknown_085CE338, ANIM_ATTACKER, 2, 0, 6, 0, 1 + createsprite gEclipsingOrbSpriteTemplate, ANIM_ATTACKER, 2, 0, 6, 0, 1 waitforvisualfinish createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 1 waitforvisualfinish @@ -1800,11 +1800,11 @@ Move_SAFEGUARD: monbg ANIM_ATK_PARTNER setalpha 8, 8 playsewithpan SE_W208, SOUND_PAN_ATTACKER - createsprite gUnknown_08593C64, ANIM_ATTACKER, 2 + createsprite gGuardRingSpriteTemplate, ANIM_ATTACKER, 2 delay 4 - createsprite gUnknown_08593C64, ANIM_ATTACKER, 2 + createsprite gGuardRingSpriteTemplate, ANIM_ATTACKER, 2 delay 4 - createsprite gUnknown_08593C64, ANIM_ATTACKER, 2 + createsprite gGuardRingSpriteTemplate, ANIM_ATTACKER, 2 waitforvisualfinish playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER createvisualtask sub_8115A04, 2, 10, 0, 2, 0, 10, RGB_WHITE @@ -1885,11 +1885,11 @@ Move_PAY_DAY: monbgprio_28 ANIM_TARGET setalpha 12, 8 playsewithpan SE_W013B, SOUND_PAN_ATTACKER - createsprite gUnknown_085934D8, ANIM_ATTACKER, 2, 20, 0, 0, 0, 1152 + createsprite gCoinThrowSpriteTemplate, ANIM_ATTACKER, 2, 20, 0, 0, 0, 1152 waitforvisualfinish playsewithpan SE_W006, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, 1, 2 - createsprite gUnknown_085934F0, ANIM_ATTACKER, 2 + createsprite gFallingCoinSpriteTemplate, ANIM_ATTACKER, 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_TARGET @@ -1992,26 +1992,26 @@ Move_ATTRACT: loopsewithpan SE_W204, SOUND_PAN_ATTACKER, 12, 3 createvisualtask AnimTask_SwayMon, 5, 0, 12, 4096, 4, ANIM_ATTACKER delay 15 - createsprite gUnknown_085939A0, ANIM_TARGET, 3, 20, -8 + createsprite gRedHeartProjectileSpriteTemplate, ANIM_TARGET, 3, 20, -8 waitforvisualfinish playsewithpan SE_W213, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 160, -32 - createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -256, -40 - createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 128, -16 - createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 416, -38 - createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -128, -22 - createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -384, -31 + createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 160, -32 + createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -256, -40 + createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 128, -16 + createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 416, -38 + createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -128, -22 + createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -384, -31 waitforvisualfinish waitplaysewithpan SE_W213B, 0, 15 createvisualtask AnimTask_HeartsBackground, 5 - createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 16, 256, 0 - createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 224, 240, 15 - createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 126, 272, 30 - createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 80, 224, 45 - createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 170, 272, 60 - createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 40, 256, 75 - createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 112, 256, 90 - createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 200, 272, 90 + createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 16, 256, 0 + createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 224, 240, 15 + createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 126, 272, 30 + createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 80, 224, 45 + createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 170, 272, 60 + createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 40, 256, 75 + createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 112, 256, 90 + createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 200, 272, 90 delay 75 createvisualtask sub_8115A04, 2, 4, 4, 4, 0, 10, RGB(31, 25, 27) end @@ -2069,11 +2069,11 @@ Move_CONFUSE_RAY: Move_LOCK_ON: loadspritegfx ANIM_TAG_LOCK_ON - createsprite gUnknown_08592CA0, ANIM_ATTACKER, 40 - createsprite gUnknown_08592CB8, ANIM_ATTACKER, 40, 1 - createsprite gUnknown_08592CB8, ANIM_ATTACKER, 40, 2 - createsprite gUnknown_08592CB8, ANIM_ATTACKER, 40, 3 - createsprite gUnknown_08592CB8, ANIM_ATTACKER, 40, 4 + createsprite gLockOnTargetSpriteTemplate, ANIM_ATTACKER, 40 + createsprite gLockOnMoveTargetSpriteTemplate, ANIM_ATTACKER, 40, 1 + createsprite gLockOnMoveTargetSpriteTemplate, ANIM_ATTACKER, 40, 2 + createsprite gLockOnMoveTargetSpriteTemplate, ANIM_ATTACKER, 40, 3 + createsprite gLockOnMoveTargetSpriteTemplate, ANIM_ATTACKER, 40, 4 delay 120 setarg 7, -1 waitforvisualfinish @@ -2086,7 +2086,7 @@ Move_MEAN_LOOK: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 16, RGB_BLACK loopsewithpan SE_W109, SOUND_PAN_TARGET, 15, 4 waitplaysewithpan SE_W043, SOUND_PAN_TARGET, 0x55 - createsprite gUnknown_085CE104, ANIM_ATTACKER, 2 + createsprite gMeanLookEyeSpriteTemplate, ANIM_ATTACKER, 2 delay 120 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 16, 0, RGB_BLACK delay 30 @@ -2264,23 +2264,23 @@ Move_SMOKESCREEN: loadspritegfx ANIM_TAG_BLACK_SMOKE loadspritegfx ANIM_TAG_BLACK_BALL playsewithpan SE_W104, SOUND_PAN_ATTACKER - createsprite gUnknown_085CE050, ANIM_TARGET, 2, 20, 0, 0, 0, 35, -25 + createsprite gBlackBallSpriteTemplate, ANIM_TARGET, 2, 20, 0, 0, 0, 35, -25 waitforvisualfinish - createvisualtask sub_815A160, 2 + createvisualtask AnimTask_SmokescreenImpact, 2 delay 2 playsewithpan SE_W028, SOUND_PAN_TARGET - createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, -12, 104, 0, 75 - createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, -12, 72, 1, 75 - createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, -6, 56, 1, 75 - createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, -6, 88, 0, 75 - createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 0, 56, 0, 75 - createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 0, 88, 1, 75 - createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 6, 72, 0, 75 - createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 6, 104, 1, 75 - createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 12, 72, 0, 75 - createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 12, 56, 1, 75 - createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 18, 80, 0, 75 - createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 18, 72, 1, 75 + createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, -12, 104, 0, 75 + createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, -12, 72, 1, 75 + createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, -6, 56, 1, 75 + createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, -6, 88, 0, 75 + createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, 0, 56, 0, 75 + createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, 0, 88, 1, 75 + createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, 6, 72, 0, 75 + createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, 6, 104, 1, 75 + createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, 12, 72, 0, 75 + createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, 12, 56, 1, 75 + createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, 18, 80, 0, 75 + createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, 18, 72, 1, 75 waitforvisualfinish end @@ -2291,45 +2291,45 @@ Move_CONVERSION: setalpha 16, 0 delay 0 playsewithpan SE_W129, SOUND_PAN_ATTACKER - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -24, -24 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -24, -24 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -8, -24 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -8, -24 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 8, -24 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 8, -24 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 24, -24 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 24, -24 delay 3 playsewithpan SE_W129, SOUND_PAN_ATTACKER - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -24, -8 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -24, -8 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -8, -8 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -8, -8 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 8, -8 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 8, -8 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 24, -8 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 24, -8 delay 3 playsewithpan SE_W129, SOUND_PAN_ATTACKER - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -24, 8 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -24, 8 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -8, 8 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -8, 8 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 8, 8 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 8, 8 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 24, 8 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 24, 8 delay 3 playsewithpan SE_W129, SOUND_PAN_ATTACKER - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -24, 24 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -24, 24 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -8, 24 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -8, 24 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 8, 24 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 8, 24 delay 3 - createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 24, 24 + createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 24, 24 delay 20 playsewithpan SE_W112, SOUND_PAN_ATTACKER createvisualtask sub_8115D94, 2, ANIM_TAG_CONVERSION, 1, 1, 14335, 12, 0, 0 delay 6 - createvisualtask sub_81022D4, 5 + createvisualtask AnimTask_ConversionAlphaBlend, 5 waitforvisualfinish delay 1 clearmonbg ANIM_ATK_PARTNER @@ -2343,23 +2343,23 @@ Move_CONVERSION_2: setalpha 0, 16 delay 0 playsewithpan SE_W112, SOUND_PAN_TARGET - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -24, -24, 60 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -8, -24, 65 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 8, -24, 70 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 24, -24, 75 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -24, -8, 80 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -8, -8, 85 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 8, -8, 90 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 24, -8, 95 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -24, 8, 100 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -8, 8, 105 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 8, 8, 110 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 24, 8, 115 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -24, 24, 120 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -8, 24, 125 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 8, 24, 130 - createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 24, 24, 135 - createvisualtask sub_81023E0, 5 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -24, -24, 60 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -8, -24, 65 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 8, -24, 70 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 24, -24, 75 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -24, -8, 80 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -8, -8, 85 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 8, -8, 90 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 24, -8, 95 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -24, 8, 100 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -8, 8, 105 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 8, 8, 110 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 24, 8, 115 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -24, 24, 120 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -8, 24, 125 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 8, 24, 130 + createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 24, 24, 135 + createvisualtask AnimTask_Conversion2AlphaBlend, 5 delay 60 playsewithpan SE_W129, SOUND_PAN_TARGET delay 10 @@ -2405,15 +2405,15 @@ Move_ROLLING_KICK: Move_HEADBUTT: loadspritegfx ANIM_TAG_IMPACT - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0 playsewithpan SE_W029, SOUND_PAN_ATTACKER waitforvisualfinish delay 2 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 1 waitforvisualfinish createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 4, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2 createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1 playsewithpan SE_W233B, SOUND_PAN_TARGET waitforvisualfinish @@ -2422,16 +2422,16 @@ Move_HEADBUTT: Move_HORN_ATTACK: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HORN_HIT - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0 playsewithpan SE_W029, SOUND_PAN_ATTACKER waitforvisualfinish delay 2 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1 - createsprite gUnknown_08592F44, ANIM_TARGET, 4, 0, 0, 10 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 1 + createsprite gHornHitSpriteTemplate, ANIM_TARGET, 4, 0, 0, 10 waitforvisualfinish createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 4, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2 createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1 playsewithpan SE_W030, SOUND_PAN_TARGET waitforvisualfinish @@ -2448,14 +2448,14 @@ FuryAttackContinue: end FuryAttackRight: - createsprite gUnknown_08592F44, ANIM_TARGET, 4, 8, 8, 10 + createsprite gHornHitSpriteTemplate, ANIM_TARGET, 4, 8, 8, 10 waitforvisualfinish createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1 playsewithpan SE_W030, SOUND_PAN_TARGET goto FuryAttackContinue FuryAttackLeft: - createsprite gUnknown_08592F44, ANIM_TARGET, 4, -8, -8, 10 + createsprite gHornHitSpriteTemplate, ANIM_TARGET, 4, -8, -8, 10 waitforvisualfinish createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1 playsewithpan SE_W030, SOUND_PAN_TARGET @@ -2471,12 +2471,12 @@ Move_HORN_DRILL: HornDrillContinue: waitbgfadein setalpha 12, 8 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0 playsewithpan SE_W029, SOUND_PAN_ATTACKER waitforvisualfinish delay 2 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1 - createsprite gUnknown_08592F44, ANIM_TARGET, 4, 0, 0, 12 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 1 + createsprite gHornHitSpriteTemplate, ANIM_TARGET, 4, 0, 0, 12 waitforvisualfinish playse SE_BAN createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 40, 1 @@ -2514,7 +2514,7 @@ HornDrillContinue: createsprite gUnknown_085973E8, ANIM_TARGET, 3, 32, 0, 1, 2 playsewithpan SE_W030, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2 + createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2 waitforvisualfinish restorebg waitbgfadeout @@ -2531,8 +2531,8 @@ HornDrillInContest: Move_THRASH: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET - createvisualtask sub_8104C38, 2 - createvisualtask sub_8104CA4, 2 + createvisualtask AnimTask_ThrashMoveMonHorizontal, 2 + createvisualtask AnimTask_ThrashMoveMonVertical, 2 createsprite gUnknown_08595EB0, ANIM_TARGET, 3, 1, 10, 0 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 7, 1 playsewithpan SE_W004, SOUND_PAN_TARGET @@ -2549,36 +2549,36 @@ Move_THRASH: Move_SING: loadspritegfx ANIM_TAG_MUSIC_NOTES monbg ANIM_DEF_PARTNER - createvisualtask sub_8102BE8, 2 + createvisualtask AnimTask_MusicNotesRainbowBlend, 2 waitforvisualfinish panse_1B SE_W047, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 7, 0, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 7, 0, 12 delay 5 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 6, 1, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 6, 1, 12 delay 5 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 1, 2, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 1, 2, 12 delay 5 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 3, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 3, 12 delay 5 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 3, 0, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 3, 0, 12 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 12 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 5, 2, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 5, 2, 12 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 6, 3, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 6, 3, 12 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 0, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 0, 12 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 12 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 1, 2, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 1, 2, 12 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 5, 3, 12 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 5, 3, 12 delay 4 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER - createvisualtask sub_8102CA0, 2 + createvisualtask AnimTask_MusicNotesClearRainbowBlend, 2 waitforvisualfinish end @@ -2775,7 +2775,7 @@ Move_TELEPORT: end Move_DOUBLE_TEAM: - createvisualtask sub_81029B4, 2 + createvisualtask AnimTask_DoubleTeam, 2 setalpha 12, 8 monbg ANIM_ATK_PARTNER playsewithpan SE_W104, SOUND_PAN_ATTACKER @@ -2812,10 +2812,10 @@ Move_MINIMIZE: Move_METRONOME: loadspritegfx ANIM_TAG_FINGER loadspritegfx ANIM_TAG_THOUGHT_BUBBLE - createsprite gUnknown_08593114, ANIM_ATTACKER, 11, 0, 100 + createsprite gThoughtBubbleSpriteTemplate, ANIM_ATTACKER, 11, 0, 100 playsewithpan SE_W118, SOUND_PAN_ATTACKER delay 6 - createsprite gUnknown_085931BC, ANIM_ATTACKER, 12, 0 + createsprite gMetronomeFingerSpriteTemplate, ANIM_ATTACKER, 12, 0 delay 24 loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 22, 3 waitforvisualfinish @@ -2841,7 +2841,7 @@ SkullBashSetUp1: return SkullBashAttack: loadspritegfx ANIM_TAG_IMPACT - createvisualtask sub_8101C94, 2, 0 + createvisualtask AnimTask_SkullBashPosition, 2, 0 playsewithpan SE_W036, SOUND_PAN_ATTACKER waitforvisualfinish playse SE_BAN @@ -2851,7 +2851,7 @@ SkullBashAttack: createsprite gUnknown_085973E8, ANIM_TARGET, 4, 0, 0, 1, 0 loopsewithpan SE_W025B, SOUND_PAN_TARGET, 8, 3 waitforvisualfinish - createvisualtask sub_8101C94, 2, 1 + createvisualtask AnimTask_SkullBashPosition, 2, 1 goto SkullBashEnd Move_AMNESIA: @@ -2893,9 +2893,9 @@ Move_GLARE: waitforvisualfinish createvisualtask sub_8116620, 5, 1, 0, 0, 16, RGB_BLACK waitforvisualfinish - createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, -16, -8 - createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, 16, -8 - createvisualtask sub_81064F8, 5 + createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, -16, -8 + createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, 16, -8 + createvisualtask AnimTask_ScaryFace, 5 playsewithpan SE_W043, SOUND_PAN_ATTACKER delay 2 createvisualtask sub_810A094, 3, 20, 1, 0 @@ -3006,7 +3006,7 @@ Move_ACID_ARMOR: Move_SHARPEN: loadspritegfx ANIM_TAG_SPHERE_TO_CUBE - createsprite gUnknown_08592DE4, ANIM_ATTACKER, 2 + createsprite gSharpenSphereSpriteTemplate, ANIM_ATTACKER, 2 waitforvisualfinish end @@ -3021,7 +3021,7 @@ Move_SUPER_FANG: delay 20 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4 delay 4 - createsprite gUnknown_08592F74, ANIM_TARGET, 2 + createsprite gSuperFangSpriteTemplate, ANIM_TARGET, 2 playsewithpan SE_W044, SOUND_PAN_TARGET delay 8 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB(31, 2, 2), 14, 0x7FFF, 14 @@ -3032,10 +3032,10 @@ Move_SUPER_FANG: Move_SLASH: loadspritegfx ANIM_TAG_SLASH - createsprite gUnknown_08592D2C, ANIM_TARGET, 2, 1, -8, 0 + createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, 1, -8, 0 playsewithpan SE_W013, SOUND_PAN_TARGET delay 4 - createsprite gUnknown_08592D2C, ANIM_TARGET, 2, 1, 8, 0 + createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, 1, 8, 0 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1 playsewithpan SE_W013, SOUND_PAN_TARGET waitforvisualfinish @@ -3047,8 +3047,8 @@ Move_STRUGGLE: monbg ANIM_TARGET setalpha 12, 8 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4 - createsprite gUnknown_08593B80, ANIM_ATTACKER, 2, 0, 0, 2 - createsprite gUnknown_08593B80, ANIM_ATTACKER, 2, 0, 1, 2 + createsprite gMovementWavesSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 2 + createsprite gMovementWavesSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 2 loopsewithpan SE_W029, SOUND_PAN_ATTACKER, 12, 4 waitforvisualfinish createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2 @@ -3063,7 +3063,7 @@ Move_SKETCH: loadspritegfx ANIM_TAG_PENCIL monbg ANIM_TARGET createvisualtask sub_8104E74, 2 - createsprite gUnknown_085936D4, ANIM_TARGET, 2 + createsprite gPencilSpriteTemplate, ANIM_TARGET, 2 waitforvisualfinish clearmonbg ANIM_TARGET createvisualtask AnimTask_Splash, 2, 0, 2 @@ -3206,15 +3206,15 @@ Move_ENDURE: end EndureEffect: - createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, -24, 26, 2 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -24, 26, 2 delay 4 - createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, 14, 28, 1 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 14, 28, 1 delay 4 - createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, -5, 10, 2 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -5, 10, 2 delay 4 - createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, 28, 26, 3 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 28, 26, 3 delay 4 - createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, -12, 0, 1 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -12, 0, 1 return Move_CHARM: @@ -3251,23 +3251,23 @@ Move_ROLLOUT: Move_FALSE_SWIPE: loadspritegfx ANIM_TAG_SLASH_2 loadspritegfx ANIM_TAG_IMPACT - createsprite gUnknown_08592D44, ANIM_TARGET, 2 + createsprite gFalseSwipeSliceSpriteTemplate, ANIM_TARGET, 2 playsewithpan SE_W233, SOUND_PAN_TARGET delay 16 - createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 0 + createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 0 playsewithpan SE_W104, SOUND_PAN_TARGET delay 2 - createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 16 + createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 16 delay 2 - createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 32 + createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 32 playsewithpan SE_W104, SOUND_PAN_TARGET delay 2 - createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 48 + createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 48 delay 2 - createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 64 + createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 64 playsewithpan SE_W104, SOUND_PAN_TARGET delay 2 - createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 80 + createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 80 delay 2 waitforvisualfinish createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 @@ -3298,7 +3298,7 @@ Move_MILK_DRINK: loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_TARGET - createsprite gUnknown_08592B3C, ANIM_ATTACKER, 2 + createsprite gMilkBottleSpriteTemplate, ANIM_ATTACKER, 2 delay 40 playsewithpan SE_W152, SOUND_PAN_ATTACKER delay 12 @@ -3306,7 +3306,7 @@ Move_MILK_DRINK: delay 20 playsewithpan SE_W152, SOUND_PAN_ATTACKER waitforvisualfinish - createsprite gUnknown_0859381C, ANIM_ATTACKER, 3, 0, 0, 1, 0 + createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 0 playsewithpan SE_W208, SOUND_PAN_ATTACKER waitforvisualfinish clearmonbg ANIM_TARGET @@ -3340,8 +3340,8 @@ Move_RAPID_SPIN: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_RAPID_SPIN monbg ANIM_ATTACKER - createsprite gUnknown_085CE288, ANIM_ATTACKER, 2, 0, 0, 32, -32, 40, -2 - createvisualtask sub_815ADB0, 2, 0, 2, 0 + createsprite gRapidSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 32, -32, 40, -2 + createvisualtask AnimTask_RapinSpinMonElevation, 2, 0, 2, 0 loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 8, 4 waitforvisualfinish createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 2 @@ -3349,7 +3349,7 @@ Move_RAPID_SPIN: playsewithpan SE_W003, SOUND_PAN_TARGET waitforvisualfinish delay 8 - createvisualtask sub_815ADB0, 2, 0, 2, 1 + createvisualtask AnimTask_RapinSpinMonElevation, 2, 0, 2, 1 loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 8, 4 waitforvisualfinish clearmonbg ANIM_ATTACKER @@ -3362,21 +3362,21 @@ Move_MOONLIGHT: setalpha 0, 16 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 16, RGB_BLACK waitforvisualfinish - createsprite gUnknown_08592EBC, ANIM_ATTACKER, 2, 120, 56 + createsprite gMoonSpriteTemplate, ANIM_ATTACKER, 2, 120, 56 createvisualtask sub_80A7A74, 3, 0, 16, 16, 0, 1 playsewithpan SE_W236, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, -12, 0 + createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, -12, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, -24, 0 + createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, -24, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, 21, 0 + createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, 21, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, 0, 0 + createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, 0, 0 delay 30 - createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, 10, 0 + createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, 10, 0 delay 20 - createvisualtask sub_81025C0, 2 + createvisualtask AnimTask_FadeScreenBlue, 2 waitforvisualfinish call HealingEffect waitforvisualfinish @@ -3392,15 +3392,15 @@ ExtremeSpeedContinue: waitbgfadeout createvisualtask sub_8117660, 5, -2304, 0, 1, -1 waitbgfadein - createvisualtask sub_810577C, 2 + createvisualtask AnimTask_StretchAttacker, 2 loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 8, 3 waitforvisualfinish delay 1 - createvisualtask sub_8117F60, 2 + createvisualtask AnimTask_ExtremeSpeedMoveTarget, 2 monbg ANIM_TARGET setalpha 12, 8 delay 18 - createvisualtask sub_8105810, 2 + createvisualtask AnimTask_ExtremeSpeedImpact, 2 delay 2 playsewithpan SE_W004, SOUND_PAN_TARGET createsprite gBattleAnimSpriteTemplate_85973B8, ANIM_TARGET, 2, 1, 0, -12, 3 @@ -3411,9 +3411,9 @@ ExtremeSpeedContinue: playsewithpan SE_W233B, SOUND_PAN_TARGET createsprite gBattleAnimSpriteTemplate_85973B8, ANIM_TARGET, 2, 1, 0, 0, 3 waitforvisualfinish - createvisualtask sub_8105AAC, 2 + createvisualtask AnimTask_SpeedDust, 2 delay 10 - createvisualtask sub_810599C, 2 + createvisualtask AnimTask_ExtremeSpeedMonReappear, 2 loopsewithpan SE_W104, SOUND_PAN_ATTACKER, 8, 4 waitforvisualfinish restorebg @@ -3434,23 +3434,23 @@ Move_UPROAR: loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE loadspritegfx ANIM_TAG_THIN_RING monbg ANIM_DEF_PARTNER - createvisualtask sub_8106D90, 2, 0 - createsprite gBattleAnimSpriteTemplate_8593898, ANIM_ATTACKER, 3, 0, 0, 0, 0, 31, 8 + createvisualtask AnimTask_UproarDistortion, 2, 0 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 31, 8 playsewithpan SE_W253, SOUND_PAN_ATTACKER - createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, 29, -12, 0 - createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, -12, -29, 1 + createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, 29, -12, 0 + createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, -12, -29, 1 delay 16 - createvisualtask sub_8106D90, 2, 0 - createsprite gBattleAnimSpriteTemplate_8593898, ANIM_ATTACKER, 3, 0, 0, 0, 0, 31, 8 + createvisualtask AnimTask_UproarDistortion, 2, 0 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 31, 8 playsewithpan SE_W253, SOUND_PAN_ATTACKER - createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, 12, -29, 1 - createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, -29, -12, 0 + createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, 12, -29, 1 + createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, -29, -12, 0 delay 16 - createvisualtask sub_8106D90, 2, 0 - createsprite gBattleAnimSpriteTemplate_8593898, ANIM_ATTACKER, 3, 0, 0, 0, 0, 31, 8 + createvisualtask AnimTask_UproarDistortion, 2, 0 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 31, 8 playsewithpan SE_W253, SOUND_PAN_ATTACKER - createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, 24, -24, 1 - createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, -24, -24, 0 + createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, 24, -24, 1 + createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, -24, -24, 0 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end @@ -3493,7 +3493,7 @@ Move_HAIL: Move_TORMENT: loadspritegfx ANIM_TAG_ANGER loadspritegfx ANIM_TAG_THOUGHT_BUBBLE - createvisualtask sub_815AFF0, 2 + createvisualtask AnimTask_TormentAttacker, 2 waitforvisualfinish createvisualtask AnimTask_BlendMonInAndOut, 2, ANIM_TARGET, RGB_RED, 10, 1, 1 createsprite gAngerMarkSpriteTemplate, ANIM_TARGET, 2, 1, -20, -28 @@ -3551,7 +3551,7 @@ Move_SMELLING_SALT: Move_FOLLOW_ME: loadspritegfx ANIM_TAG_FINGER - createsprite gUnknown_085931D4, ANIM_ATTACKER, 2, 0 + createsprite gFollowMeFingerSpriteTemplate, ANIM_ATTACKER, 2, 0 playsewithpan SE_W039, SOUND_PAN_ATTACKER delay 18 playsewithpan SE_W213, SOUND_PAN_ATTACKER @@ -3598,10 +3598,10 @@ Move_TAUNT: loadspritegfx ANIM_TAG_FINGER_2 loadspritegfx ANIM_TAG_THOUGHT_BUBBLE loadspritegfx ANIM_TAG_ANGER - createsprite gUnknown_08593114, ANIM_ATTACKER, 11, 0, 45 + createsprite gThoughtBubbleSpriteTemplate, ANIM_ATTACKER, 11, 0, 45 playsewithpan SE_W118, SOUND_PAN_ATTACKER delay 6 - createsprite gUnknown_0859324C, ANIM_ATTACKER, 12, 0 + createsprite gTauntFingerSpriteTemplate, ANIM_ATTACKER, 12, 0 delay 4 loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 16, 2 waitforvisualfinish @@ -3906,7 +3906,7 @@ Move_LUSTER_PURGE: loadspritegfx ANIM_TAG_IMPACT fadetobg BG_PSYCHIC waitbgfadeout - createvisualtask sub_815A5C8, 5 + createvisualtask AnimTask_FadeScreenToWhite, 5 waitbgfadein monbg ANIM_ATTACKER setalpha 12, 8 @@ -3990,19 +3990,19 @@ Move_TEETER_DANCE: loadspritegfx ANIM_TAG_MUSIC_NOTES loadspritegfx ANIM_TAG_DUCK createvisualtask AnimTask_TeeterDanceMovement, 5 - createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 0, 16, -2 + createsprite gFastFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 16, -2 playsewithpan SE_W298, SOUND_PAN_ATTACKER delay 24 - createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 0, 0, -2 + createsprite gFastFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, -2 playsewithpan SE_W298, SOUND_PAN_ATTACKER delay 24 - createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 0, -16, -2 + createsprite gFastFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, -16, -2 playsewithpan SE_W298, SOUND_PAN_ATTACKER delay 24 - createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 1, -8, -2 + createsprite gFastFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 1, -8, -2 playsewithpan SE_W298, SOUND_PAN_ATTACKER delay 24 - createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 2, 8, -2 + createsprite gFastFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 2, 8, -2 playsewithpan SE_W298, SOUND_PAN_ATTACKER end @@ -4058,42 +4058,42 @@ Move_NEEDLE_ARM: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET loopsewithpan SE_W030, SOUND_PAN_TARGET, 2, 16 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 0, -32, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 0, -32, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 22, -22, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 22, -22, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 30, 0, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 30, 0, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 20, 20, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 20, 20, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 0, 28, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 0, 28, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, -19, 19, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, -19, 19, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, -27, 0, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, -27, 0, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, -18, -18, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, -18, -18, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 0, -25, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 0, -25, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 17, -17, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 17, -17, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 23, 0, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 23, 0, 16 delay 2 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 16, 16, 16 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 16, 16, 16 waitforvisualfinish createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1 createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 8, 1, 0 playsewithpan SE_W233B, SOUND_PAN_TARGET - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 0, -24, 10 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 17, -17, 10 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 24, 0, 10 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 17, 17, 10 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 0, 24, 10 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, -17, 17, 10 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, -24, 0, 10 - createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, -17, -17, 10 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 0, -24, 10 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 17, -17, 10 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 24, 0, 10 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 17, 17, 10 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 0, 24, 10 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, -17, 17, 10 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, -24, 0, 10 + createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, -17, -17, 10 end Move_SLACK_OFF: @@ -4135,17 +4135,17 @@ Move_AROMATHERAPY: delay 1 monbg ANIM_ATTACKER delay 1 - createsprite gUnknown_085927AC, ANIM_ATTACKER, 0, 24, 16, 0, 2, 2, 0, 0 - createsprite gUnknown_085927AC, ANIM_ATTACKER, 66, 64, 24, 0, 3, 1, 1, 0 - createsprite gUnknown_085927C4, ANIM_ATTACKER, 0, 16, 24, 0, 2, 1, 0, 0 + createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 0, 24, 16, 0, 2, 2, 0, 0 + createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 66, 64, 24, 0, 3, 1, 1, 0 + createsprite gAromatherapyBigFlowerSpriteTemplate, ANIM_ATTACKER, 0, 16, 24, 0, 2, 1, 0, 0 delay 20 - createsprite gUnknown_085927AC, ANIM_ATTACKER, 66, 48, 12, 0, 4, 3, 1, 0 - createsprite gUnknown_085927AC, ANIM_ATTACKER, 0, 100, 16, 0, 3, 2, 0, 0 - createsprite gUnknown_085927AC, ANIM_ATTACKER, 0, 74, 24, 180, 3, 2, 0, 0 + createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 66, 48, 12, 0, 4, 3, 1, 0 + createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 0, 100, 16, 0, 3, 2, 0, 0 + createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 0, 74, 24, 180, 3, 2, 0, 0 delay 10 - createsprite gUnknown_085927AC, ANIM_ATTACKER, 66, 80, 30, 0, 4, 1, 1, 0 - createsprite gUnknown_085927AC, ANIM_ATTACKER, 0, 128, 12, 0, 3, 3, 0, 0 - createsprite gUnknown_085927C4, ANIM_ATTACKER, 0, 90, 16, 0, 2, 1, 0, 0 + createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 66, 80, 30, 0, 4, 1, 1, 0 + createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 0, 128, 12, 0, 3, 3, 0, 0 + createsprite gAromatherapyBigFlowerSpriteTemplate, ANIM_ATTACKER, 0, 90, 16, 0, 2, 1, 0, 0 waitforvisualfinish clearmonbg ANIM_ATTACKER delay 1 @@ -4155,13 +4155,13 @@ Move_AROMATHERAPY: createvisualtask sub_815DFCC, 2, 1 waitforvisualfinish playsewithpan SE_W234, SOUND_PAN_ATTACKER - createsprite gUnknown_08592B94, ANIM_ATTACKER, 16, -15, 0, 0, 0, 32, 60, 1 + createsprite gSparklingStarsSpriteTemplate, ANIM_ATTACKER, 16, -15, 0, 0, 0, 32, 60, 1 delay 8 - createsprite gUnknown_08592B94, ANIM_ATTACKER, 16, 12, -5, 0, 0, 32, 60, 1 + createsprite gSparklingStarsSpriteTemplate, ANIM_ATTACKER, 16, 12, -5, 0, 0, 32, 60, 1 waitforvisualfinish playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 43, 3, 10, 0, RGB(13, 31, 12) - createsprite gUnknown_08593868, ANIM_ATTACKER, 16, 0, 0, 0, 1 + createsprite gBlendThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 16, 0, 0, 0, 1 waitforvisualfinish end @@ -4196,10 +4196,10 @@ Move_AIR_CUTTER: monbg ANIM_DEF_PARTNER setalpha 12, 8 delay 0 - createvisualtask sub_8103CF0, 2, 32, -24, 1536, 2, 128 + createvisualtask AnimTask_AirCutterProjectile, 2, 32, -24, 1536, 2, 128 waitforvisualfinish playsewithpan SE_W015, SOUND_PAN_TARGET - createsprite gUnknown_08592A34, ANIM_ATTACKER, 2, 40, -32, 0, 2 + createsprite gAirCutterSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 0, 2 delay 5 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 2, 0, 8, 1 @@ -4229,35 +4229,35 @@ Move_GRASS_WHISTLE: loadspritegfx ANIM_TAG_MUSIC_NOTES createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 4, RGB(18, 31, 12) waitforvisualfinish - createvisualtask sub_8102BE8, 2 + createvisualtask AnimTask_MusicNotesRainbowBlend, 2 waitforvisualfinish panse_1B SE_W320, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 7, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 7, 1, 0 delay 5 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 6, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 6, 1, 0 delay 5 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 1, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 1, 1, 0 delay 5 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 0 delay 5 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 3, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 3, 1, 0 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 0 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 5, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 5, 1, 0 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 6, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 6, 1, 0 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 0 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 0 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 1, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 1, 1, 0 delay 4 - createsprite gUnknown_08593008, ANIM_TARGET, 2, 5, 1, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 5, 1, 0 delay 4 waitforvisualfinish - createvisualtask sub_8102CA0, 2 + createvisualtask AnimTask_MusicNotesClearRainbowBlend, 2 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 4, 4, 0, RGB(18, 31, 12) waitforvisualfinish end @@ -4266,8 +4266,8 @@ Move_TICKLE: loadspritegfx ANIM_TAG_EYE_SPARKLE createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 0, 0, 16, RGB_BLACK waitforvisualfinish - createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, -16, -8 - createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, 16, -8 + createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, -16, -8 + createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, 16, -8 playsewithpan SE_W197, SOUND_PAN_ATTACKER waitforvisualfinish createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 0, 16, 0, RGB_BLACK @@ -4473,13 +4473,13 @@ Move_CALM_MIND: waitforvisualfinish createvisualtask sub_81177E4, 5, 1 waitforvisualfinish - createsprite gUnknown_08593850, ANIM_ATTACKER, 40, 0, 0, 0, 0 + createsprite gThinRingShrinkingSpriteTemplate, ANIM_ATTACKER, 40, 0, 0, 0, 0 playsewithpan SE_W048, SOUND_PAN_ATTACKER delay 14 - createsprite gUnknown_08593850, ANIM_ATTACKER, 40, 0, 0, 0, 0 + createsprite gThinRingShrinkingSpriteTemplate, ANIM_ATTACKER, 40, 0, 0, 0, 0 playsewithpan SE_W048, SOUND_PAN_ATTACKER delay 14 - createsprite gUnknown_08593850, ANIM_ATTACKER, 40, 0, 0, 0, 0 + createsprite gThinRingShrinkingSpriteTemplate, ANIM_ATTACKER, 40, 0, 0, 0, 0 playsewithpan SE_W048, SOUND_PAN_ATTACKER waitforvisualfinish createvisualtask sub_81177E4, 5, 0 @@ -4492,7 +4492,7 @@ Move_CALM_MIND: Move_LEAF_BLADE: loadspritegfx ANIM_TAG_LEAF loadspritegfx ANIM_TAG_CROSS_IMPACT - createvisualtask sub_80FFFC0, 5 + createvisualtask AnimTask_LeafBlade, 5 delay 2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 playsewithpan SE_W015, SOUND_PAN_TARGET @@ -4577,43 +4577,43 @@ Move_HARDEN: Move_BELLY_DRUM: loadspritegfx ANIM_TAG_MUSIC_NOTES loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE - createvisualtask sub_8102BE8, 2 + createvisualtask AnimTask_MusicNotesRainbowBlend, 2 waitforvisualfinish call BellyDrum1 - createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 0, 0, 0, 0 + createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 0, 0 playsewithpan SE_W187, SOUND_PAN_ATTACKER delay 15 call BellyDrum2 - createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 1, 1, 1, 0 + createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 1, 0 playsewithpan SE_W187, SOUND_PAN_ATTACKER delay 15 call BellyDrum1 - createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 0, 3, 3, 128 + createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 3, 3, 128 playsewithpan SE_W187, SOUND_PAN_ATTACKER delay 7 call BellyDrum2 - createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 1, 2, 0, 128 + createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 128 playsewithpan SE_W187, SOUND_PAN_ATTACKER delay 7 call BellyDrum1 - createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 0, 1, 1, 0 + createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 1, 0 playsewithpan SE_W187, SOUND_PAN_ATTACKER delay 7 call BellyDrum2 - createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 1, 0, 3, 0 + createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 3, 0 playsewithpan SE_W187, SOUND_PAN_ATTACKER waitforvisualfinish - createvisualtask sub_8102CA0, 2 + createvisualtask AnimTask_MusicNotesClearRainbowBlend, 2 waitforvisualfinish end BellyDrum2: - createsprite gUnknown_08593068, ANIM_ATTACKER, 3, 0 + createsprite gBellyDrumHandSpriteTemplate, ANIM_ATTACKER, 3, 0 createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 8, 2, 1 return BellyDrum1: - createsprite gUnknown_08593068, ANIM_ATTACKER, 3, 1 + createsprite gBellyDrumHandSpriteTemplate, ANIM_ATTACKER, 3, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 8, 2, 1 return @@ -4623,8 +4623,8 @@ Move_MIND_READER: loadspritegfx ANIM_TAG_ROUND_WHITE_HALO monbg ANIM_DEF_PARTNER playsewithpan SE_W109, SOUND_PAN_TARGET - createsprite gUnknown_085CE07C, ANIM_ATTACKER, 5, 0, 0, 1, 0 - createsprite gUnknown_085CE094, ANIM_ATTACKER, 5 + createsprite gOpeningEyeSpriteTemplate, ANIM_ATTACKER, 5, 0, 0, 1, 0 + createsprite gWhiteHaloSpriteTemplate, ANIM_ATTACKER, 5 delay 40 playsewithpan SE_W043, SOUND_PAN_TARGET createvisualtask sub_8115A04, 2, 1, 1, 2, 0, 10, RGB_BLACK @@ -4634,26 +4634,26 @@ Move_MIND_READER: end MindReaderEffect: - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 70, 0, 6 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 40, 40, 6 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 10, -60, 6 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -50, -40, 6 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -40, 40, 6 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 50, -50, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 70, 0, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 40, 40, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 10, -60, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, -50, -40, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, -40, 40, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 50, -50, 6 delay 2 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 50, -30, 6 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 60, 10, 6 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 0, 60, 6 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 0, -40, 6 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -60, 20, 6 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -60, -30, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 50, -30, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 60, 10, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 0, 60, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 0, -40, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, -60, 20, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, -60, -30, 6 delay 2 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -50, 50, 6 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -60, 20, 6 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -40, -40, 6 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 20, -60, 6 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 50, -50, 6 - createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 35, 40, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, -50, 50, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, -60, 20, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, -40, -40, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 20, -60, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 50, -50, 6 + createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 35, 40, 6 delay 2 return @@ -4697,11 +4697,11 @@ Move_ICE_PUNCH: Move_REST: playsewithpan SE_W173, SOUND_PAN_ATTACKER loadspritegfx ANIM_TAG_LETTER_Z - createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 + createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 delay 20 - createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 + createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 delay 20 - createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 + createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 waitforvisualfinish end @@ -4912,7 +4912,7 @@ Move_SCRATCH: monbg ANIM_TARGET setalpha 12, 8 playsewithpan SE_W010, SOUND_PAN_TARGET - createsprite gUnknown_085CE020, ANIM_ATTACKER, 2, 0, 0, 1, 0 + createsprite gScratchSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_TARGET @@ -5010,9 +5010,9 @@ Snore1: createvisualtask AnimTask_ScaleMonAndRestore, 5, -7, -7, 7, ANIM_ATTACKER, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 7, 1 createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, 6, 1, 14, 0, 0 - createsprite gUnknown_085936EC, ANIM_ATTACKER, 2, 0, 0, -42, -38, 24, 0, 0 - createsprite gUnknown_085936EC, ANIM_ATTACKER, 2, 0, 0, 0, -42, 24, 0, 0 - createsprite gUnknown_085936EC, ANIM_ATTACKER, 2, 0, 0, 42, -38, 24, 0, 0 + createsprite gSnoreZSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, -42, -38, 24, 0, 0 + createsprite gSnoreZSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 0, -42, 24, 0, 0 + createsprite gSnoreZSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 42, -38, 24, 0, 0 return Move_LIGHT_SCREEN: @@ -5158,7 +5158,7 @@ Move_FAINT_ATTACK: clearmonbg ANIM_ATTACKER invisible ANIM_ATTACKER delay 1 - createvisualtask sub_8117F60, 2 + createvisualtask AnimTask_ExtremeSpeedMoveTarget, 2 setalpha 12, 8 monbg ANIM_TARGET delay 1 @@ -6086,14 +6086,14 @@ Move_SPIKES: monbg ANIM_DEF_PARTNER playsewithpan SE_W026, SOUND_PAN_ATTACKER waitplaysewithpan SE_W030, SOUND_PAN_TARGET, 28 - createsprite gUnknown_085CE11C, ANIM_TARGET, 2, 20, 0, 0, 24, 30 + createsprite gSpikesSpriteTemplate, ANIM_TARGET, 2, 20, 0, 0, 24, 30 delay 10 playsewithpan SE_W026, SOUND_PAN_ATTACKER waitplaysewithpan SE_W030, SOUND_PAN_TARGET, 28 - createsprite gUnknown_085CE11C, ANIM_TARGET, 2, 20, 0, -24, 24, 30 + createsprite gSpikesSpriteTemplate, ANIM_TARGET, 2, 20, 0, -24, 24, 30 delay 10 waitplaysewithpan SE_W030, SOUND_PAN_TARGET, 28 - createsprite gUnknown_085CE11C, ANIM_TARGET, 2, 20, 0, 24, 24, 30 + createsprite gSpikesSpriteTemplate, ANIM_TARGET, 2, 20, 0, 24, 24, 30 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end @@ -6580,19 +6580,19 @@ Move_DYNAMIC_PUNCH: waitsound playsewithpan SE_W120, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 5, 0, 28, 1 - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 0, 0, 1, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1 delay 6 playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 24, -24, 1, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 24, -24, 1, 1 delay 6 playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -16, 16, 1, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -16, 16, 1, 1 delay 6 playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -24, -12, 1, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -24, -12, 1, 1 delay 6 playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 16, 16, 1, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 16, 16, 1, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff @@ -6897,16 +6897,16 @@ Move_OCTAZOOKA: loadspritegfx ANIM_TAG_GRAY_SMOKE loadspritegfx ANIM_TAG_BLACK_BALL playsewithpan SE_W025B, SOUND_PAN_ATTACKER - createsprite gUnknown_08592DFC, ANIM_TARGET, 2, 20, 0, 0, 0, 20, 0 + createsprite gOctazookaBallSpriteTemplate, ANIM_TARGET, 2, 20, 0, 0, 0, 20, 0 waitforvisualfinish playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gUnknown_08592E30, ANIM_TARGET, 2, 8, 8, 1, 0 + createsprite gOctazookaSmokeSpriteTemplate, ANIM_TARGET, 2, 8, 8, 1, 0 delay 2 - createsprite gUnknown_08592E30, ANIM_TARGET, 2, -8, -8, 1, 0 + createsprite gOctazookaSmokeSpriteTemplate, ANIM_TARGET, 2, -8, -8, 1, 0 delay 2 - createsprite gUnknown_08592E30, ANIM_TARGET, 2, 8, -8, 1, 0 + createsprite gOctazookaSmokeSpriteTemplate, ANIM_TARGET, 2, 8, -8, 1, 0 delay 2 - createsprite gUnknown_08592E30, ANIM_TARGET, 2, -8, 8, 1, 0 + createsprite gOctazookaSmokeSpriteTemplate, ANIM_TARGET, 2, -8, 8, 1, 0 waitforvisualfinish end @@ -6986,7 +6986,7 @@ Move_LEER: monbgprio_28 ANIM_ATTACKER setalpha 8, 8 playsewithpan SE_W043, SOUND_PAN_ATTACKER - createsprite gUnknown_085CE150, ANIM_ATTACKER, 2, 24, -12 + createsprite gLeerSpriteTemplate, ANIM_ATTACKER, 2, 24, -12 createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 10, ANIM_ATTACKER, 1 waitforvisualfinish delay 10 @@ -7320,22 +7320,22 @@ Move_EGG_BOMB: loadspritegfx ANIM_TAG_EXPLOSION loadspritegfx ANIM_TAG_LARGE_FRESH_EGG playsewithpan SE_W039, SOUND_PAN_ATTACKER - createsprite gUnknown_08593488, ANIM_TARGET, 2, 10, 0, 0, 0, 25, -32 + createsprite gEggThrowSpriteTemplate, ANIM_TARGET, 2, 10, 0, 0, 0, 25, -32 waitforvisualfinish createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 16, 1 - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, 6, 5, 1, 0 + createsprite gExplosionSpriteTemplate, ANIM_TARGET, 4, 6, 5, 1, 0 playsewithpan SE_W120, SOUND_PAN_TARGET delay 3 - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, -16, -15, 1, 0 + createsprite gExplosionSpriteTemplate, ANIM_TARGET, 4, -16, -15, 1, 0 playsewithpan SE_W120, SOUND_PAN_TARGET delay 3 - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, 16, -5, 1, 0 + createsprite gExplosionSpriteTemplate, ANIM_TARGET, 4, 16, -5, 1, 0 playsewithpan SE_W120, SOUND_PAN_TARGET delay 3 - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, -12, 18, 1, 0 + createsprite gExplosionSpriteTemplate, ANIM_TARGET, 4, -12, 18, 1, 0 playsewithpan SE_W120, SOUND_PAN_TARGET delay 3 - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, 0, 5, 1, 0 + createsprite gExplosionSpriteTemplate, ANIM_TARGET, 4, 0, 5, 1, 0 playsewithpan SE_W120, SOUND_PAN_TARGET delay 3 waitforvisualfinish @@ -7677,15 +7677,15 @@ Move_SOFT_BOILED: monbg ANIM_ATK_PARTNER playsewithpan SE_W039, SOUND_PAN_ATTACKER createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 2, 6, 1 - createsprite gUnknown_085937B0, ANIM_ATTACKER, 4, 0, 16, 0 - createsprite gUnknown_085937B0, ANIM_ATTACKER, 4, 0, 16, 1 + createsprite gSoftBoiledEggSpriteTemplate, ANIM_ATTACKER, 4, 0, 16, 0 + createsprite gSoftBoiledEggSpriteTemplate, ANIM_ATTACKER, 4, 0, 16, 1 delay 120 delay 7 playsewithpan SE_W030, SOUND_PAN_ATTACKER createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 10, 0, RGB(12, 24, 30) - createsprite gUnknown_0859381C, ANIM_ATTACKER, 3, 31, 16, 0, 1 + createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 3, 31, 16, 0, 1 delay 8 - createsprite gUnknown_0859381C, ANIM_ATTACKER, 3, 31, 16, 0, 1 + createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 3, 31, 16, 0, 1 delay 60 setarg 7, -1 waitforvisualfinish @@ -7700,24 +7700,24 @@ Move_HEAL_BELL: createvisualtask sub_8116620, 10, 10, 0, 0, 10, RGB_WHITE waitforvisualfinish createvisualtask sub_8105CB4, 5 - createsprite gUnknown_08593938, ANIM_ATTACKER, 2, 0, -24, 0, 1 + createsprite gBellSpriteTemplate, ANIM_ATTACKER, 2, 0, -24, 0, 1 delay 12 - createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 48, -18, 35, 0, 0 - createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -48, 20, 30, 1, 1 - createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -38, -29, 30, 2, 2 - createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 36, 18, 30, 3, 3 + createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 48, -18, 35, 0, 0 + createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -48, 20, 30, 1, 1 + createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -38, -29, 30, 2, 2 + createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 36, 18, 30, 3, 3 call HealBell1 delay 0x21 - createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 19, 26, 35, 4, 4 - createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -34, -12, 30, 5, 5 - createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 41, -20, 34, 6, 2 - createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -15, 26, 32, 7, 0 + createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 19, 26, 35, 4, 4 + createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -34, -12, 30, 5, 5 + createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 41, -20, 34, 6, 2 + createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -15, 26, 32, 7, 0 call HealBell1 delay 0x21 - createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -48, 18, 31, 0, 2 - createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 48, -20, 30, 2, 5 - createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 38, 29, 33, 4, 3 - createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -36, -18, 30, 6, 1 + createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -48, 18, 31, 0, 2 + createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 48, -20, 30, 2, 5 + createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 38, 29, 33, 4, 3 + createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -36, -18, 30, 6, 1 call HealBell1 waitforvisualfinish createvisualtask sub_8105D60, 5 @@ -7727,27 +7727,27 @@ Move_HEAL_BELL: unloadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_SPARKLE_2 playsewithpan SE_W234, SOUND_PAN_ATTACKER - createsprite gUnknown_08592B94, ANIM_ATTACKER, 16, -15, 0, 0, 0, 32, 60, 1 + createsprite gSparklingStarsSpriteTemplate, ANIM_ATTACKER, 16, -15, 0, 0, 0, 32, 60, 1 delay 8 - createsprite gUnknown_08592B94, ANIM_ATTACKER, 16, 12, -5, 0, 0, 32, 60, 1 + createsprite gSparklingStarsSpriteTemplate, ANIM_ATTACKER, 16, 12, -5, 0, 0, 32, 60, 1 waitforvisualfinish unloadspritegfx ANIM_TAG_SPARKLE_2 loadspritegfx ANIM_TAG_THIN_RING playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER createvisualtask sub_8116664, 10, 4, 3, 10, 0, RGB(12, 24, 30) createvisualtask sub_8116620, 10, 10, 3, 10, 0, RGB_WHITE - createsprite gUnknown_08593868, ANIM_ATTACKER, 16, 0, 0, 0, 1 + createsprite gBlendThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 16, 0, 0, 0, 1 end HealBell1: createvisualtask sub_8116664, 10, 4, 3, 8, 0, RGB(12, 24, 30) createvisualtask sub_8116620, 10, 10, 3, 2, 10, RGB_WHITE - createsprite gUnknown_0859381C, ANIM_ATTACKER, 40, 0, -24, 0, 1 + createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 0, 1 playsewithpan SE_W215, SOUND_PAN_ATTACKER return Move_FAKE_OUT: playsewithpan SE_W260, 0 - createvisualtask sub_8105EB0, 5 + createvisualtask AnimTask_FakeOut, 5 waitforvisualfinish playsewithpan SE_W166, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1 @@ -7763,10 +7763,10 @@ Move_SCARY_FACE: waitforvisualfinish delay 10 playsewithpan SE_W043, SOUND_PAN_ATTACKER - createvisualtask sub_81064F8, 5 + createvisualtask AnimTask_ScaryFace, 5 delay 13 - createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, -16, -8 - createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, 16, -8 + createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, -16, -8 + createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, 16, -8 waitforvisualfinish createvisualtask sub_810A094, 3, 20, 1, 0 playsewithpan SE_W081B, SOUND_PAN_TARGET @@ -7777,33 +7777,33 @@ Move_SCARY_FACE: Move_SWEET_KISS: loadspritegfx ANIM_TAG_RED_HEART loadspritegfx ANIM_TAG_ANGEL - createsprite gUnknown_08593AA8, ANIM_TARGET, 2, 16, -48 + createsprite gAngelSpriteTemplate, ANIM_TARGET, 2, 16, -48 playsewithpan SE_W215, SOUND_PAN_TARGET delay 23 playsewithpan SE_W215, SOUND_PAN_TARGET delay 23 playsewithpan SE_W215, SOUND_PAN_TARGET waitforvisualfinish - createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 160, -30 + createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 160, -30 playsewithpan SE_W213, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -256, -42 - createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 128, -14 - createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 416, -38 - createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -128, -22 - createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -384, -31 + createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -256, -42 + createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 128, -14 + createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 416, -38 + createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -128, -22 + createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -384, -31 end Move_LOVELY_KISS: loadspritegfx ANIM_TAG_PINK_HEART loadspritegfx ANIM_TAG_DEVIL - createsprite gUnknown_08593AF0, ANIM_TARGET, 2, 0, -24 + createsprite gDevilSpriteTemplate, ANIM_TARGET, 2, 0, -24 playsewithpan SE_W060B, SOUND_PAN_TARGET waitforvisualfinish playsewithpan SE_W213, SOUND_PAN_TARGET - createsprite gUnknown_08593AC0, ANIM_TARGET, 3, -256, -42 - createsprite gUnknown_08593AC0, ANIM_TARGET, 3, 128, -14 - createsprite gUnknown_08593AC0, ANIM_TARGET, 3, 416, -38 - createsprite gUnknown_08593AC0, ANIM_TARGET, 3, -128, -22 + createsprite gPinkHeartSpriteTemplate, ANIM_TARGET, 3, -256, -42 + createsprite gPinkHeartSpriteTemplate, ANIM_TARGET, 3, 128, -14 + createsprite gPinkHeartSpriteTemplate, ANIM_TARGET, 3, 416, -38 + createsprite gPinkHeartSpriteTemplate, ANIM_TARGET, 3, -128, -22 end Move_FURY_SWIPES: @@ -7811,13 +7811,13 @@ Move_FURY_SWIPES: createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 5, 5 delay 4 playsewithpan SE_W010, SOUND_PAN_TARGET - createsprite gUnknown_08593B38, ANIM_TARGET, 2, 16, 0, 1 + createsprite gFurySwipesSpriteTemplate, ANIM_TARGET, 2, 16, 0, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 5, 1 delay 10 createsprite gHorizontalLungeSpriteTemplate, ANIM_TARGET, 2, 5, 5 delay 4 playsewithpan SE_W010, SOUND_PAN_TARGET - createsprite gUnknown_08593B38, ANIM_TARGET, 2, -16, 0, 0 + createsprite gFurySwipesSpriteTemplate, ANIM_TARGET, 2, -16, 0, 0 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 7, 1 end @@ -7870,19 +7870,19 @@ Move_PRESENT: PresentDamage: loadspritegfx ANIM_TAG_EXPLOSION playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 3, 0, 0, 1, 1 + createsprite gExplosionSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1 delay 6 playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 3, 24, -24, 1, 1 + createsprite gExplosionSpriteTemplate, ANIM_TARGET, 3, 24, -24, 1, 1 delay 6 playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 3, -16, 16, 1, 1 + createsprite gExplosionSpriteTemplate, ANIM_TARGET, 3, -16, 16, 1, 1 delay 6 playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 3, -24, -12, 1, 1 + createsprite gExplosionSpriteTemplate, ANIM_TARGET, 3, -24, -12, 1, 1 delay 6 playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 3, 16, 16, 1, 1 + createsprite gExplosionSpriteTemplate, ANIM_TARGET, 3, 16, 16, 1, 1 end PresentHeal: @@ -7915,28 +7915,28 @@ Move_BATON_PASS: loadspritegfx ANIM_TAG_POKEBALL playsewithpan SE_W226, SOUND_PAN_ATTACKER createvisualtask sub_8115A04, 2, 31, 1, 2, 0, 11, RGB(31, 22, 30) - createsprite gUnknown_085CE370, ANIM_ATTACKER, 2 + createsprite gBatonPassPokeballSpriteTemplate, ANIM_ATTACKER, 2 end Move_PERISH_SONG: loadspritegfx ANIM_TAG_MUSIC_NOTES_2 - createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 0, 0, 0 - createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 1, 1, 16 - createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 2, 1, 32 - createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 3, 2, 48 - createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 4, 2, 64 - createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 5, 0, 80 - createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 6, 0, 96 - createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 7, 1, 112 - createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 8, 2, 128 - createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 9, 0, 144 - createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 10, 2, 160 - createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 11, 0, 176 - createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 12, 1, 192 - createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 13, 3, 208 - createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 14, 3, 224 - createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 15, 0, 240 - createsprite gUnknown_08593C24, ANIM_ATTACKER, 4, 15, 0, 0 + createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 0 + createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 1, 1, 16 + createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 2, 1, 32 + createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 3, 2, 48 + createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 4, 2, 64 + createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 5, 0, 80 + createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 6, 0, 96 + createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 7, 1, 112 + createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 8, 2, 128 + createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 9, 0, 144 + createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 10, 2, 160 + createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 11, 0, 176 + createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 12, 1, 192 + createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 13, 3, 208 + createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 14, 3, 224 + createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 15, 0, 240 + createsprite gPerishSongMusicNote2SpriteTemplate, ANIM_ATTACKER, 4, 15, 0, 0 delay 20 panse_1B SE_W195, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 delay 80 @@ -7958,26 +7958,26 @@ Move_SLEEP_TALK: loadspritegfx ANIM_TAG_LETTER_Z createvisualtask AnimTask_SwayMon, 5, 0, 4, 4096, 2, ANIM_ATTACKER delay 20 - createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -1 + createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -1 playsewithpan SE_W173, SOUND_PAN_ATTACKER delay 6 - createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -1 + createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -1 delay 6 - createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -1 + createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -1 delay 20 - createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -5 + createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -5 playsewithpan SE_W173, SOUND_PAN_ATTACKER delay 6 - createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -5 + createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -5 delay 6 - createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -5 + createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -5 delay 20 - createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -3 + createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -3 playsewithpan SE_W173, SOUND_PAN_ATTACKER delay 6 - createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -3 + createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -3 delay 6 - createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -3 + createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -3 waitforvisualfinish end @@ -7993,7 +7993,7 @@ Move_HYPER_FANG: goto HyperFangOnPlayer HyperFangContinue: waitbgfadeout - createsprite gUnknown_085CE1DC, ANIM_TARGET, 2 + createsprite gFangSpriteTemplate, ANIM_TARGET, 2 waitbgfadein createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 0, 10, 10, 1 playsewithpan SE_W043, SOUND_PAN_TARGET @@ -8013,8 +8013,8 @@ HyperFangInContest: goto HyperFangContinue Move_TRI_ATTACK: - loadspritegfx ANIM_TAG_TRI_FORCE_TRIANGLE - createsprite gUnknown_085CE2F8, ANIM_TARGET, 2, 16, 0 + loadspritegfx ANIM_TAG_TRI_ATTACK_TRIANGLE + createsprite gTriAttackTriangleSpriteTemplate, ANIM_TARGET, 2, 16, 0 playsewithpan SE_W161, SOUND_PAN_ATTACKER delay 20 playsewithpan SE_W161, SOUND_PAN_ATTACKER @@ -8095,21 +8095,21 @@ Move_WILL_O_WISP: Move_ENCORE: loadspritegfx ANIM_TAG_SPOTLIGHT loadspritegfx ANIM_TAG_TAG_HAND - createvisualtask sub_815ABEC, 2 + createvisualtask AnimTask_CreateSpotlight, 2 createvisualtask sub_8116960, 2, 248, 3, 0, 10, 0 waitforvisualfinish - createsprite gUnknown_085CE22C, ANIM_TARGET, 2, 0, -8 - createsprite gUnknown_085CE244, ANIM_ATTACKER, 2, -2, 0, 0, 0, 9 - createsprite gUnknown_085CE244, ANIM_ATTACKER, 2, 2, 0, 1, 0, 9 - createsprite gUnknown_085CE25C, ANIM_ATTACKER, 3, -2, 0, 0, 0, 9 - createsprite gUnknown_085CE25C, ANIM_ATTACKER, 3, 2, 0, 1, 0, 9 + createsprite gSpotlightSpriteTemplate, ANIM_TARGET, 2, 0, -8 + createsprite gClappingHandSpriteTemplate, ANIM_ATTACKER, 2, -2, 0, 0, 0, 9 + createsprite gClappingHandSpriteTemplate, ANIM_ATTACKER, 2, 2, 0, 1, 0, 9 + createsprite gClappingHand2SpriteTemplate, ANIM_ATTACKER, 3, -2, 0, 0, 0, 9 + createsprite gClappingHand2SpriteTemplate, ANIM_ATTACKER, 3, 2, 0, 1, 0, 9 delay 16 createvisualtask sub_8159244, 5, 223, SOUND_PAN_TARGET createvisualtask AnimTask_SwayMon, 5, 1, 8, 1536, 5, ANIM_TARGET waitforvisualfinish createvisualtask sub_8116960, 2, 248, 3, 10, 0, 1 waitforvisualfinish - createvisualtask sub_815AC8C, 2 + createvisualtask AnimTask_RemoveSpotlight, 2 end Move_TRICK: @@ -8146,7 +8146,7 @@ Move_WISH: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 0, 10, RGB_BLACK waitforvisualfinish panse_27 SE_W115, SOUND_PAN_TARGET, SOUND_PAN_ATTACKER, -3, 0 - createsprite gUnknown_085CE388, ANIM_ATTACKER, 40 + createsprite gWishStarSpriteTemplate, ANIM_ATTACKER, 40 waitforvisualfinish delay 60 loopsewithpan SE_W215, SOUND_PAN_ATTACKER, 16, 3 @@ -8160,7 +8160,7 @@ Move_STOCKPILE: loadspritegfx ANIM_TAG_GRAY_ORB playsewithpan SE_W025, SOUND_PAN_ATTACKER createvisualtask sub_8115A04, 2, 2, 8, 1, 0, 12, RGB_WHITE - createvisualtask sub_815B65C, 5 + createvisualtask AnimTask_StockpileDeformMon, 5 call Stockpile1 call Stockpile1 waitforvisualfinish @@ -8189,19 +8189,19 @@ Move_SPIT_UP: loadspritegfx ANIM_TAG_RED_ORB_2 loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_W036, SOUND_PAN_ATTACKER - createvisualtask sub_815B6B4, 5 + createvisualtask AnimTask_SpitUpDeformMon, 5 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 8, 2 delay 45 playsewithpan SE_W255, SOUND_PAN_ATTACKER delay 3 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 0, 12 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 32, 12 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 64, 12 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 96, 12 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 128, 12 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 160, 12 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 192, 12 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 224, 12 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 0, 12 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 32, 12 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 64, 12 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 96, 12 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 128, 12 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 160, 12 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 192, 12 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 224, 12 delay 5 jumpifmoveturn 2, SpitUpStrong jumpifmoveturn 3, SpitUpStrongest @@ -8216,27 +8216,27 @@ SpitUpContinue: waitforvisualfinish end SpitUpStrong: - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 16 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 80 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 144 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 208 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 16 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 80 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 144 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 208 goto SpitUpContinue SpitUpStrongest: - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 16 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 48 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 80 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 112 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 144 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 176 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 208 - createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 240 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 16 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 48 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 80 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 112 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 144 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 176 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 208 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 240 goto SpitUpContinue Move_SWALLOW: loadspritegfx ANIM_TAG_BLUE_ORB loadspritegfx ANIM_TAG_BLUE_STAR playsewithpan SE_W036, SOUND_PAN_ATTACKER - createvisualtask sub_815B778, 5 + createvisualtask AnimTask_SwallowDeformMon, 5 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 8, 2 delay 38 playsewithpan SE_W255, SOUND_PAN_ATTACKER @@ -8249,15 +8249,15 @@ SwallowContinue: call HealingEffect end SwallowEffect: - createsprite gUnknown_085CE418, ANIM_ATTACKER, 2, 0, -8 + createsprite gSwallowBlueOrbSpriteTemplate, ANIM_ATTACKER, 2, 0, -8 delay 1 - createsprite gUnknown_085CE418, ANIM_ATTACKER, 2, -24, -8 + createsprite gSwallowBlueOrbSpriteTemplate, ANIM_ATTACKER, 2, -24, -8 delay 1 - createsprite gUnknown_085CE418, ANIM_ATTACKER, 2, 16, -8 + createsprite gSwallowBlueOrbSpriteTemplate, ANIM_ATTACKER, 2, 16, -8 delay 1 - createsprite gUnknown_085CE418, ANIM_ATTACKER, 2, -16, -8 + createsprite gSwallowBlueOrbSpriteTemplate, ANIM_ATTACKER, 2, -16, -8 delay 1 - createsprite gUnknown_085CE418, ANIM_ATTACKER, 2, 24, -8 + createsprite gSwallowBlueOrbSpriteTemplate, ANIM_ATTACKER, 2, 24, -8 delay 1 return SwallowGood: @@ -8272,7 +8272,7 @@ Move_TRANSFORM: monbg ANIM_ATTACKER playsewithpan SE_W100, SOUND_PAN_ATTACKER waitplaysewithpan SE_W107, SOUND_PAN_ATTACKER, 48 - createvisualtask sub_815B7D0, 2, 0 + createvisualtask AnimTask_TransformMon, 2, 0 waitforvisualfinish clearmonbg ANIM_ATTACKER end @@ -8280,7 +8280,7 @@ Move_TRANSFORM: Move_MORNING_SUN: loadspritegfx ANIM_TAG_GREEN_STAR loadspritegfx ANIM_TAG_BLUE_STAR - createvisualtask sub_815BB84, 5 + createvisualtask AnimTask_MorningSunLightBeam, 5 delay 8 createvisualtask sub_8116620, 10, 0x781, 8, 0, 12, RGB_WHITE delay 14 @@ -8305,7 +8305,7 @@ Move_MORNING_SUN: call HealingEffect end MorningSun1: - createsprite gUnknown_085CE48C, ANIM_ATTACKER, 2, 30, 640 + createsprite gGreenStarSpriteTemplate, ANIM_ATTACKER, 2, 30, 640 delay 5 return @@ -8401,7 +8401,7 @@ Move_FLATTER: loadspritegfx ANIM_TAG_SPOTLIGHT loadspritegfx ANIM_TAG_CONFETTI createvisualtask sub_8159244, 5, 223, SOUND_PAN_TARGET - createvisualtask sub_815ABEC, 2 + createvisualtask AnimTask_CreateSpotlight, 2 createvisualtask sub_8116960, 2, 248, 3, 0, 10, 0 waitforvisualfinish createsprite gFlatterSpotlightSpriteTemplate, ANIM_TARGET, 2, 0, -8, 80 @@ -8435,7 +8435,7 @@ Move_FLATTER: waitforvisualfinish createvisualtask sub_8116960, 2, 248, 3, 10, 0, 1 waitforvisualfinish - createvisualtask sub_815AC8C, 2 + createvisualtask AnimTask_RemoveSpotlight, 2 end CreateFlatterConfetti: createsprite gFlatterConfettiSpriteTemplate, ANIM_ATTACKER, 40, ANIM_ATTACKER @@ -8468,7 +8468,7 @@ Move_REFRESH: waitforvisualfinish playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 10, 0, RGB(12, 24, 30) - createsprite gUnknown_0859381C, ANIM_ATTACKER, 3, 0, 0, 0, 0 + createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0 end Move_BLAZE_KICK: @@ -8505,7 +8505,7 @@ Move_HYPER_VOICE: HyperVoiceEffect: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 8, 0, RGB_YELLOW createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 5, ANIM_ATTACKER, 0 - createsprite gUnknown_08593880, ANIM_ATTACKER, 0, 45, 0, 0, 0, 0, 0, 1 + createsprite gHyperVoiceRingSpriteTemplate, ANIM_ATTACKER, 0, 45, 0, 0, 0, 0, 0, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 6, 1 createvisualtask sub_81162A4, 2, 1, 0, 6, 1 @@ -8593,26 +8593,26 @@ Move_MUDDY_WATER: Move_BULLET_SEED: loadspritegfx ANIM_TAG_SEED - createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 + createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0 delay 5 - createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 + createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0 delay 5 - createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 + createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0 delay 5 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 30, 1 - createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 + createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0 delay 5 - createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 + createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0 delay 5 - createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 + createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0 delay 5 - createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 + createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0 delay 5 - createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 + createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0 delay 5 - createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 + createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0 delay 5 - createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 + createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0 waitforvisualfinish end @@ -8768,7 +8768,7 @@ Move_POISON_FANG: loadspritegfx ANIM_TAG_FANG_ATTACK loadspritegfx ANIM_TAG_POISON_BUBBLE playsewithpan SE_W044, SOUND_PAN_TARGET - createsprite gUnknown_085CE1DC, ANIM_TARGET, 2 + createsprite gFangSpriteTemplate, ANIM_TARGET, 2 delay 10 createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 3, 0, 10, 1 waitforvisualfinish @@ -8858,7 +8858,7 @@ Move_METAL_SOUND: end MetalSound1: panse_1B SE_W103, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 - createsprite gUnknown_08593458, ANIM_TARGET, 2, 16, 0, 0, 0, 30, 0 + createsprite gMetalSoundSpriteTemplate, ANIM_TARGET, 2, 16, 0, 0, 0, 30, 0 delay 2 return @@ -9059,9 +9059,9 @@ Move_COSMIC_POWER: waitbgfadein delay 70 createvisualtask sub_8159210, 5, 228, SOUND_PAN_ATTACKER - createsprite gUnknown_08592B7C, ANIM_ATTACKER, 2, -15, 0, 0, 0, 32, 60 + createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, -15, 0, 0, 0, 32, 60 delay 8 - createsprite gUnknown_08592B7C, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60 + createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60 delay 40 createvisualtask sub_8117610, 2, 0, 15, 0, 0 waitforvisualfinish @@ -9167,29 +9167,29 @@ SilverWindContinue: delay 0 createvisualtask sub_8116620, 10, 1, 0, 4, 4, RGB_BLACK waitbgfadein - createsprite gUnknown_08592830, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 - createsprite gUnknown_08592830, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 - createsprite gUnknown_08592830, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 - createsprite gUnknown_08592830, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 delay 0 - createsprite gUnknown_08592848, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 - createsprite gUnknown_08592848, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 - createsprite gUnknown_08592848, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 - createsprite gUnknown_08592848, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 delay 0 - createsprite gUnknown_08592860, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 - createsprite gUnknown_08592860, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 - createsprite gUnknown_08592860, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 - createsprite gUnknown_08592860, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1 delay 6 - createsprite gUnknown_08592830, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 - createsprite gUnknown_08592830, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 + createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 delay 0 - createsprite gUnknown_08592848, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 - createsprite gUnknown_08592848, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 + createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 delay 0 - createsprite gUnknown_08592860, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 - createsprite gUnknown_08592860, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1 + createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1 waitforvisualfinish playsewithpan SE_W016B, SOUND_PAN_TARGET clearmonbg ANIM_DEF_PARTNER @@ -9503,13 +9503,13 @@ Move_WATER_PULSE: playsewithpan SE_W145C, SOUND_PAN_TARGET waitforvisualfinish playsewithpan SE_W202, SOUND_PAN_ATTACKER - createsprite gUnknown_08593470, ANIM_TARGET, 2, 0, 0, 40, 15 + createsprite gWaterPulseRingSpriteTemplate, ANIM_TARGET, 2, 0, 0, 40, 15 delay 5 playsewithpan SE_W202, SOUND_PAN_ATTACKER - createsprite gUnknown_08593470, ANIM_TARGET, 2, 0, 0, 40, 15 + createsprite gWaterPulseRingSpriteTemplate, ANIM_TARGET, 2, 0, 0, 40, 15 delay 5 playsewithpan SE_W202, SOUND_PAN_ATTACKER - createsprite gUnknown_08593470, ANIM_TARGET, 2, 0, 0, 40, 15 + createsprite gWaterPulseRingSpriteTemplate, ANIM_TARGET, 2, 0, 0, 40, 15 delay 13 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 8, 18, 1 waitforvisualfinish @@ -9523,7 +9523,7 @@ Move_PSYCHO_BOOST: monbg ANIM_ATK_PARTNER fadetobg BG_PSYCHIC waitbgfadeout - createvisualtask sub_815A5C8, 5 + createvisualtask AnimTask_FadeScreenToWhite, 5 waitbgfadein delay 6 createvisualtask sub_8115A04, 2, 1, 2, 8, 0, 10, RGB_BLACK @@ -10027,33 +10027,33 @@ IcyWindEffect2: return GrantingStarsEffect: - createsprite gUnknown_08592B7C, ANIM_ATTACKER, 2, -15, 0, 0, 0, 32, 60 + createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, -15, 0, 0, 0, 32, 60 delay 8 - createsprite gUnknown_08592B7C, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60 + createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60 delay 8 return HealingEffect: playsewithpan SE_W071B, SOUND_PAN_ATTACKER - createsprite gUnknown_08592F2C, ANIM_ATTACKER, 2, 0, -5, 0, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_ATTACKER, 2, 0, -5, 0, 0 delay 7 - createsprite gUnknown_08592F2C, ANIM_ATTACKER, 2, -15, 10, 0, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_ATTACKER, 2, -15, 10, 0, 0 delay 7 - createsprite gUnknown_08592F2C, ANIM_ATTACKER, 2, -15, -15, 0, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_ATTACKER, 2, -15, -15, 0, 0 delay 7 - createsprite gUnknown_08592F2C, ANIM_ATTACKER, 2, 10, -5, 0, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_ATTACKER, 2, 10, -5, 0, 0 delay 7 return HealingEffect2: playsewithpan SE_W071B, SOUND_PAN_TARGET - createsprite gUnknown_08592F2C, ANIM_TARGET, 2, 0, -5, 1, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, 0, -5, 1, 0 delay 7 - createsprite gUnknown_08592F2C, ANIM_TARGET, 2, -15, 10, 1, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, -15, 10, 1, 0 delay 7 - createsprite gUnknown_08592F2C, ANIM_TARGET, 2, -15, -15, 1, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, -15, -15, 1, 0 delay 7 - createsprite gUnknown_08592F2C, ANIM_TARGET, 2, 10, -5, 1, 0 + createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, 10, -5, 1, 0 delay 7 return @@ -10154,7 +10154,7 @@ ConfusionEffect: SetPsychicBackground: fadetobg BG_PSYCHIC waitbgfadeout - createvisualtask sub_815A504, 5 + createvisualtask AnimTask_SetPsychicBackground, 5 waitbgfadein return @@ -10249,9 +10249,9 @@ Status_Infatuation: Status_Sleep: loadspritegfx ANIM_TAG_LETTER_Z playsewithpan SE_W173, SOUND_PAN_ATTACKER - createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 + createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 delay 30 - createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 + createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 end Status_Paralysis: @@ -10292,19 +10292,19 @@ Status_Nightmare: end General_CastformChange: - createvisualtask sub_815BB18, 2 + createvisualtask AnimTask_IsMonInvisible, 2 jumpreteq 1, AnimScript_82D7ECA goto AnimScript_82D7EB2 AnimScript_82D7EB2: monbg ANIM_ATTACKER playsewithpan SE_W100, SOUND_PAN_ATTACKER waitplaysewithpan SE_W107, SOUND_PAN_ATTACKER, 48 - createvisualtask sub_815B7D0, 2, 1 + createvisualtask AnimTask_TransformMon, 2, 1 waitforvisualfinish clearmonbg ANIM_ATTACKER end AnimScript_82D7ECA: - createvisualtask sub_815BB58, 2, 1 + createvisualtask AnimTask_CastformGfxChange, 2, 1 end General_StatsChange: @@ -10440,7 +10440,7 @@ General_ItemEffect: waitforvisualfinish playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 3, 7, 0, RGB(17, 31, 25) - createsprite gUnknown_0859381C, ANIM_ATTACKER, 3, 0, 0, 0, 0 + createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0 waitforvisualfinish end @@ -10589,7 +10589,7 @@ General_DoomDesireHit: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 0, 16, RGB_WHITE waitforvisualfinish delay 10 - createvisualtask sub_815C0A4, 5 + createvisualtask AnimTask_DoomDesireLightBeam, 5 delay 9 playsewithpan SE_W109, SOUND_PAN_ATTACKER delay 9 @@ -10599,19 +10599,19 @@ General_DoomDesireHit: delay 25 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 10, 0, 20, 1 playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 0, 0, 1, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1 delay 6 playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 24, -24, 1, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 24, -24, 1, 1 delay 6 playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -16, 16, 1, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -16, 16, 1, 1 delay 6 playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -24, -12, 1, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -24, -12, 1, 1 delay 6 playsewithpan SE_W120, SOUND_PAN_TARGET - createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 16, 16, 1, 1 + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 16, 16, 1, 1 waitforvisualfinish createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 16, 0, RGB_WHITE waitforvisualfinish diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 244a3ac05c..24a266de64 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -366,7 +366,7 @@ BattleScript_EffectAbsorb:: setbyte cMULTISTRING_CHOOSER, 0x0 goto BattleScript_AbsorbUpdateHp BattleScript_AbsorbLiquidOoze:: - manipulatedamage ATK80_DMG_CHANGE_SIGN + manipulatedamage DMG_CHANGE_SIGN setbyte cMULTISTRING_CHOOSER, 0x1 BattleScript_AbsorbUpdateHp:: healthbarupdate BS_ATTACKER @@ -422,7 +422,7 @@ BattleScript_ExplosionLoop: resultmessage waitmessage 0x40 tryfaintmon BS_TARGET, FALSE, NULL - moveendto ATK49_NEXT_TARGET + moveendto MOVEEND_NEXT_TARGET jumpifnexttargetvalid BattleScript_ExplosionLoop tryfaintmon BS_ATTACKER, FALSE, NULL end @@ -430,7 +430,7 @@ BattleScript_ExplosionMissed: effectivenesssound resultmessage waitmessage 0x40 - moveendto ATK49_NEXT_TARGET + moveendto MOVEEND_NEXT_TARGET jumpifnexttargetvalid BattleScript_ExplosionLoop tryfaintmon BS_ATTACKER, FALSE, NULL end @@ -511,7 +511,7 @@ BattleScript_EffectStatUp:: BattleScript_EffectStatUpAfterAtkCanceler:: attackstring ppreduce - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_StatUpEnd + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_StatUpEnd jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_StatUpAttackAnim pause 0x20 goto BattleScript_StatUpPrintString @@ -557,7 +557,7 @@ BattleScript_EffectStatDown:: accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce - statbuffchange STAT_CHANGE_BS_PTR, BattleScript_StatDownEnd + statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_StatDownEnd jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, 0x2, BattleScript_StatDownDoAnim jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x3, BattleScript_StatDownEnd pause 0x20 @@ -654,7 +654,7 @@ BattleScript_DoMultiHit:: printstring STRINGID_EMPTYSTRING3 waitmessage 0x1 addbyte sMULTIHIT_STRING + 4, 0x1 - moveendto ATK49_NEXT_TARGET + moveendto MOVEEND_NEXT_TARGET jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_MultiHitPrintStrings decrementmultihit BattleScript_MultiHitLoop goto BattleScript_MultiHitPrintStrings @@ -670,8 +670,8 @@ BattleScript_MultiHitPrintStrings:: BattleScript_MultiHitEnd:: seteffectwithchance tryfaintmon BS_TARGET, FALSE, NULL - moveendcase ATK49_SYNCHRONIZE_TARGET - moveendfrom ATK49_STATUS_IMMUNITY_ABILITIES + moveendcase MOVEEND_SYNCHRONIZE_TARGET + moveendfrom MOVEEND_IMMUNITY_ABILITIES end BattleScript_EffectConversion:: @@ -882,7 +882,7 @@ BattleScript_MoveMissedDoDamage:: damagecalc typecalc adjustnormaldamage - manipulatedamage ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP + manipulatedamage DMG_RECOIL_FROM_MISS bicbyte gMoveResultFlags, MOVE_RESULT_MISSED orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE healthbarupdate BS_ATTACKER @@ -1435,7 +1435,7 @@ BattleScript_DoTripleKickAttack:: waitmessage 0x40 printstring STRINGID_EMPTYSTRING3 waitmessage 0x1 - moveendto ATK49_NEXT_TARGET + moveendto MOVEEND_NEXT_TARGET jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_TripleKickPrintStrings decrementmultihit BattleScript_TripleKickLoop goto BattleScript_TripleKickPrintStrings @@ -1454,7 +1454,7 @@ BattleScript_TripleKickPrintStrings:: BattleScript_TripleKickEnd:: seteffectwithchance tryfaintmon BS_TARGET, FALSE, NULL - moveendfrom ATK49_UPDATE_LAST_MOVES + moveendfrom MOVEEND_UPDATE_LAST_MOVES end BattleScript_EffectThief:: @@ -1513,17 +1513,17 @@ BattleScript_CurseTrySpeed:: attackanimation waitanimation setstatchanger STAT_SPEED, 1, TRUE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CurseTryAttack + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CurseTryAttack printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_CurseTryAttack:: setstatchanger STAT_ATK, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CurseTryDefence + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CurseTryDefence printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_CurseTryDefence:: setstatchanger STAT_DEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CurseEnd + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CurseEnd printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_CurseEnd:: @@ -1635,7 +1635,7 @@ BattleScript_EffectSwagger:: attackanimation waitanimation setstatchanger STAT_ATK, 2, FALSE - statbuffchange STAT_CHANGE_BS_PTR, BattleScript_SwaggerTryConfuse + statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_SwaggerTryConfuse jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_SwaggerTryConfuse setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 @@ -1716,7 +1716,7 @@ BattleScript_EffectBatonPass:: attackstring ppreduce jumpifbattletype BATTLE_TYPE_ARENA, BattleScript_ButItFailed - jumpifcantswitch ATK4F_DONT_CHECK_STATUSES | BS_ATTACKER, BattleScript_ButItFailed + jumpifcantswitch SWITCH_IGNORE_ESCAPE_PREVENTION | BS_ATTACKER, BattleScript_ButItFailed attackanimation waitanimation openpartyscreen 0x1, BattleScript_ButItFailed @@ -1834,7 +1834,7 @@ BattleScript_EffectSkullBash:: setbyte sTWOTURN_STRINGID, 0x2 call BattleScriptFirstChargingTurn setstatchanger STAT_DEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_SkullBashEnd + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_SkullBashEnd jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_SkullBashEnd setgraphicalstatchangevalues playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 @@ -1885,7 +1885,7 @@ BattleScript_DoHitAllWithUndergroundBonus:: printstring STRINGID_EMPTYSTRING3 waitmessage 0x1 tryfaintmon BS_TARGET, FALSE, NULL - moveendto ATK49_NEXT_TARGET + moveendto MOVEEND_NEXT_TARGET jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop end BattleScript_HitAllWithUndergroundBonusMissed:: @@ -1894,7 +1894,7 @@ BattleScript_HitAllWithUndergroundBonusMissed:: effectivenesssound resultmessage waitmessage 0x40 - moveendto ATK49_NEXT_TARGET + moveendto MOVEEND_NEXT_TARGET jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop end @@ -1970,7 +1970,7 @@ BattleScript_BeatUpLoop:: printstring STRINGID_PKMNATTACK critcalc jumpifbyte CMP_NOT_EQUAL, gCritMultiplier, 0x2, BattleScript_BeatUpAttack - manipulatedamage ATK80_DMG_DOUBLED + manipulatedamage DMG_DOUBLED BattleScript_BeatUpAttack:: adjustnormaldamage attackanimation @@ -1985,7 +1985,7 @@ BattleScript_BeatUpAttack:: resultmessage waitmessage 0x40 tryfaintmon BS_TARGET, FALSE, NULL - moveendto ATK49_NEXT_TARGET + moveendto MOVEEND_NEXT_TARGET goto BattleScript_BeatUpLoop BattleScript_BeatUpEnd:: end @@ -2037,7 +2037,7 @@ BattleScript_EffectDefenseCurl:: ppreduce setdefensecurlbit setstatchanger STAT_DEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_DefenseCurlDoStatUpAnim + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_DefenseCurlDoStatUpAnim jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_StatUpPrintString attackanimation waitanimation @@ -2178,7 +2178,7 @@ BattleScript_EffectFlatter:: attackanimation waitanimation setstatchanger STAT_SPATK, 1, FALSE - statbuffchange STAT_CHANGE_BS_PTR, BattleScript_FlatterTryConfuse + statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_FlatterTryConfuse jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_FlatterTryConfuse setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 @@ -2232,17 +2232,17 @@ BattleScript_EffectMemento:: waitanimation jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_EffectMementoPrintNoEffect setbyte sSTAT_ANIM_PLAYED, FALSE - playstatchangeanimation BS_TARGET, BIT_ATK | BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO | ATK48_ONLY_MULTIPLE - playstatchangeanimation BS_TARGET, BIT_ATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO + playstatchangeanimation BS_TARGET, BIT_ATK | BIT_SPATK, STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO | STAT_CHANGE_MULTIPLE_STATS + playstatchangeanimation BS_TARGET, BIT_ATK, STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO setstatchanger STAT_ATK, 2, TRUE - statbuffchange STAT_CHANGE_BS_PTR, BattleScript_EffectMementoTrySpAtk + statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_EffectMementoTrySpAtk jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_EffectMementoTrySpAtk printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_EffectMementoTrySpAtk: - playstatchangeanimation BS_TARGET, BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO + playstatchangeanimation BS_TARGET, BIT_SPATK, STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO setstatchanger STAT_SPATK, 2, TRUE - statbuffchange STAT_CHANGE_BS_PTR, BattleScript_EffectMementoTryFaint + statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_EffectMementoTryFaint jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_EffectMementoTryFaint printfromtable gStatDownStringIds waitmessage 0x40 @@ -2606,7 +2606,7 @@ BattleScript_TeeterDanceLoop:: resultmessage waitmessage 0x40 BattleScript_TeeterDanceDoMoveEndIncrement:: - moveendto ATK49_NEXT_TARGET + moveendto MOVEEND_NEXT_TARGET BattleScript_TeeterDanceLoopIncrement:: addbyte gBattlerTarget, 0x1 jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_TeeterDanceLoop @@ -2677,17 +2677,17 @@ BattleScript_TickleDoMoveAnim:: attackanimation waitanimation setbyte sSTAT_ANIM_PLAYED, FALSE - playstatchangeanimation BS_TARGET, BIT_ATK | BIT_DEF, ATK48_STAT_NEGATIVE | ATK48_ONLY_MULTIPLE - playstatchangeanimation BS_TARGET, BIT_ATK, ATK48_STAT_NEGATIVE + playstatchangeanimation BS_TARGET, BIT_ATK | BIT_DEF, STAT_CHANGE_NEGATIVE | STAT_CHANGE_MULTIPLE_STATS + playstatchangeanimation BS_TARGET, BIT_ATK, STAT_CHANGE_NEGATIVE setstatchanger STAT_ATK, 1, TRUE - statbuffchange STAT_CHANGE_BS_PTR, BattleScript_TickleTryLowerDef + statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_TickleTryLowerDef jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TickleTryLowerDef printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_TickleTryLowerDef:: - playstatchangeanimation BS_TARGET, BIT_DEF, ATK48_STAT_NEGATIVE + playstatchangeanimation BS_TARGET, BIT_DEF, STAT_CHANGE_NEGATIVE setstatchanger STAT_DEF, 1, TRUE - statbuffchange STAT_CHANGE_BS_PTR, BattleScript_TickleEnd + statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_TickleEnd jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TickleEnd printfromtable gStatDownStringIds waitmessage 0x40 @@ -2713,13 +2713,13 @@ BattleScript_CosmicPowerDoMoveAnim:: setbyte sSTAT_ANIM_PLAYED, FALSE playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_SPDEF, 0x0 setstatchanger STAT_DEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CosmicPowerTrySpDef + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CosmicPowerTrySpDef jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CosmicPowerTrySpDef printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_CosmicPowerTrySpDef:: setstatchanger STAT_SPDEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CosmicPowerEnd + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CosmicPowerEnd jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CosmicPowerEnd printfromtable gStatUpStringIds waitmessage 0x40 @@ -2742,13 +2742,13 @@ BattleScript_BulkUpDoMoveAnim:: setbyte sSTAT_ANIM_PLAYED, FALSE playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF, 0x0 setstatchanger STAT_ATK, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_BulkUpTryDef + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_BulkUpTryDef jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_BulkUpTryDef printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_BulkUpTryDef:: setstatchanger STAT_DEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_BulkUpEnd + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_BulkUpEnd jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_BulkUpEnd printfromtable gStatUpStringIds waitmessage 0x40 @@ -2767,13 +2767,13 @@ BattleScript_CalmMindDoMoveAnim:: setbyte sSTAT_ANIM_PLAYED, FALSE playstatchangeanimation BS_ATTACKER, BIT_SPATK | BIT_SPDEF, 0x0 setstatchanger STAT_SPATK, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CalmMindTrySpDef + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CalmMindTrySpDef jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CalmMindTrySpDef printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_CalmMindTrySpDef:: setstatchanger STAT_SPDEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CalmMindEnd + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CalmMindEnd jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CalmMindEnd printfromtable gStatUpStringIds waitmessage 0x40 @@ -2799,13 +2799,13 @@ BattleScript_DragonDanceDoMoveAnim:: setbyte sSTAT_ANIM_PLAYED, FALSE playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_SPEED, 0x0 setstatchanger STAT_ATK, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_DragonDanceTrySpeed + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_DragonDanceTrySpeed jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_DragonDanceTrySpeed printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_DragonDanceTrySpeed:: setstatchanger STAT_SPEED, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_DragonDanceEnd + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_DragonDanceEnd jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_DragonDanceEnd printfromtable gStatUpStringIds waitmessage 0x40 @@ -2865,7 +2865,7 @@ BattleScript_FaintedMonTryChooseAnother:: jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonChooseAnother jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_FaintedMonChooseAnother jumpifbyte CMP_EQUAL, sBATTLE_STYLE, 0x1, BattleScript_FaintedMonChooseAnother - jumpifcantswitch 11, BattleScript_FaintedMonChooseAnother + jumpifcantswitch BS_PLAYER1, BattleScript_FaintedMonChooseAnother printstring STRINGID_ENEMYABOUTTOSWITCHPKMN setbyte gBattleCommunication, 0x0 yesnobox @@ -2875,7 +2875,7 @@ BattleScript_FaintedMonTryChooseAnother:: switchhandleorder BS_ATTACKER, 0x2 jumpifbyte CMP_EQUAL, gBattleCommunication, 0x6, BattleScript_FaintedMonChooseAnother atknameinbuff1 - resetintrimidatetracebits BS_ATTACKER + resetintimidatetracebits BS_ATTACKER hpthresholds2 BS_ATTACKER printstring STRINGID_RETURNMON switchoutabilities BS_ATTACKER @@ -3128,8 +3128,8 @@ BattleScript_DoSwitchOut:: switchinanim BS_ATTACKER, FALSE waitstate switchineffects BS_ATTACKER - moveendcase ATK49_STATUS_IMMUNITY_ABILITIES - moveendcase ATK49_MIRROR_MOVE + moveendcase MOVEEND_IMMUNITY_ABILITIES + moveendcase MOVEEND_MIRROR_MOVE end2 BattleScript_PursuitDmgOnSwitchOut:: @@ -3152,7 +3152,7 @@ BattleScript_PursuitDmgOnSwitchOut:: resultmessage waitmessage 0x40 tryfaintmon BS_TARGET, FALSE, NULL - moveendfromto ATK49_MOVE_END_ABILITIES, ATK49_CHOICE_MOVE + moveendfromto MOVEEND_ON_DAMAGE_ABILITIES, MOVEEND_CHOICE_MOVE various4 BS_TARGET jumpifbyte CMP_EQUAL, gBattleCommunication, 0x0, BattleScript_PursuitDmgOnSwitchOutRet setbyte sGIVEEXP_STATE, 0x0 @@ -3281,7 +3281,7 @@ BattleScript_LeechSeedTurnDrain:: datahpupdate BS_ATTACKER copyword gBattleMoveDamage, gHpDealt jumpifability BS_ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_LeechSeedTurnPrintLiquidOoze - manipulatedamage ATK80_DMG_CHANGE_SIGN + manipulatedamage DMG_CHANGE_SIGN setbyte cMULTISTRING_CHOOSER, 0x3 goto BattleScript_LeechSeedTurnPrintAndUpdateHp BattleScript_LeechSeedTurnPrintLiquidOoze:: @@ -3380,7 +3380,7 @@ BattleScript_DisabledNoMore:: BattleScript_SelectingDisabledMoveInPalace:: printstring STRINGID_PKMNMOVEISDISABLED BattleScript_SelectingUnusableMoveInPalace:: - moveendto ATK49_NEXT_TARGET + moveendto MOVEEND_NEXT_TARGET end BattleScript_EncoredNoMore:: @@ -3471,27 +3471,27 @@ BattleScript_AllStatsUpAtk:: setbyte sSTAT_ANIM_PLAYED, FALSE playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF | BIT_SPEED | BIT_SPATK | BIT_SPDEF, 0x0 setstatchanger STAT_ATK, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_AllStatsUpDef + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpDef printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_AllStatsUpDef:: setstatchanger STAT_DEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_AllStatsUpSpeed + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpSpeed printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_AllStatsUpSpeed:: setstatchanger STAT_SPEED, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_AllStatsUpSpAtk + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpSpAtk printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_AllStatsUpSpAtk:: setstatchanger STAT_SPATK, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_AllStatsUpSpDef + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpSpDef printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_AllStatsUpSpDef:: setstatchanger STAT_SPDEF, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_AllStatsUpRet + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpRet printfromtable gStatUpStringIds waitmessage 0x40 BattleScript_AllStatsUpRet:: @@ -3543,8 +3543,8 @@ BattleScript_DoFutureAttackHit:: tryfaintmon BS_TARGET, FALSE, NULL atk24 BattleScript_FutureAttackEnd BattleScript_FutureAttackEnd:: - moveendcase ATK49_RAGE - moveendfromto ATK49_ITEM_EFFECTS_ALL, ATK49_UPDATE_LAST_MOVES + moveendcase MOVEEND_RAGE + moveendfromto MOVEEND_ITEM_EFFECTS_ALL, MOVEEND_UPDATE_LAST_MOVES setbyte gMoveResultFlags, 0 end2 @@ -3635,17 +3635,17 @@ BattleScript_PrintMonIsRooted:: BattleScript_AtkDefDown:: setbyte sSTAT_ANIM_PLAYED, FALSE - playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_ATK, ATK48_DONT_CHECK_LOWER | ATK48_STAT_NEGATIVE | ATK48_ONLY_MULTIPLE - playstatchangeanimation BS_ATTACKER, BIT_ATK, ATK48_DONT_CHECK_LOWER | ATK48_STAT_NEGATIVE + playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_ATK, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE | STAT_CHANGE_MULTIPLE_STATS + playstatchangeanimation BS_ATTACKER, BIT_ATK, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE setstatchanger STAT_ATK, 1, TRUE - statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_CHANGE_BS_PTR, BattleScript_82DB144 + statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_BUFF_ALLOW_PTR, BattleScript_82DB144 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB144 printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_82DB144:: - playstatchangeanimation BS_ATTACKER, BIT_DEF, ATK48_DONT_CHECK_LOWER | ATK48_STAT_NEGATIVE + playstatchangeanimation BS_ATTACKER, BIT_DEF, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE setstatchanger STAT_DEF, 1, TRUE - statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_CHANGE_BS_PTR, BattleScript_82DB167 + statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_BUFF_ALLOW_PTR, BattleScript_82DB167 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB167 printfromtable gStatDownStringIds waitmessage 0x40 @@ -3709,9 +3709,9 @@ BattleScript_OneHitKOMsg:: BattleScript_SAtkDown2:: setbyte sSTAT_ANIM_PLAYED, FALSE - playstatchangeanimation BS_ATTACKER, BIT_SPATK, ATK48_DONT_CHECK_LOWER | ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO + playstatchangeanimation BS_ATTACKER, BIT_SPATK, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO setstatchanger STAT_SPATK, 2, TRUE - statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_CHANGE_BS_PTR, BattleScript_SAtkDown2End + statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_BUFF_ALLOW_PTR, BattleScript_SAtkDown2End jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_SAtkDown2End printfromtable gStatDownStringIds waitmessage 0x40 @@ -4042,7 +4042,7 @@ BattleScript_IntimidateActivatesLoop: jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_IntimidatePrevented jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_IntimidatePrevented jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_IntimidatePrevented - statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_BS_PTR, BattleScript_IntimidateActivatesLoopIncrement + statbuffchange STAT_BUFF_NOT_PROTECT_AFFECTED | STAT_BUFF_ALLOW_PTR, BattleScript_IntimidateActivatesLoopIncrement jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_IntimidateActivatesLoopIncrement setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 @@ -4233,7 +4233,7 @@ BattleScript_AbilityCuredStatus:: BattleScript_IgnoresWhileAsleep:: printstring STRINGID_PKMNIGNORESASLEEP waitmessage 0x40 - moveendto ATK49_NEXT_TARGET + moveendto MOVEEND_NEXT_TARGET end BattleScript_IgnoresAndUsesRandomMove:: @@ -4249,7 +4249,7 @@ BattleScript_MoveUsedLoafingAround:: BattleScript_82DB6C7:: printfromtable gInobedientStringIds waitmessage 0x40 - moveendto ATK49_NEXT_TARGET + moveendto MOVEEND_NEXT_TARGET end BattleScript_IgnoresAndFallsAsleep:: @@ -4257,7 +4257,7 @@ BattleScript_IgnoresAndFallsAsleep:: waitmessage 0x40 setmoveeffect MOVE_EFFECT_SLEEP | MOVE_EFFECT_AFFECTS_USER seteffectprimary - moveendto ATK49_NEXT_TARGET + moveendto MOVEEND_NEXT_TARGET end BattleScript_IgnoresAndHitsItself:: @@ -4420,7 +4420,7 @@ BattleScript_BerryConfuseHealEnd2:: BattleScript_BerryStatRaiseEnd2:: playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_82DB85B + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_82DB85B BattleScript_82DB85B:: setbyte cMULTISTRING_CHOOSER, 0x4 call BattleScript_StatUp diff --git a/data/berry_crush.s b/data/berry_crush.s index 6535cd5583..a2b0f2658d 100755 --- a/data/berry_crush.s +++ b/data/berry_crush.s @@ -47,21 +47,21 @@ gUnknown_082F32CC:: @ 82F32CC struct BgTemplate? not sure .byte 0xb3, 0x30, 0x00, 0x00 .align 2 -gUnknown_082F32D8:: @ 82F32D8 - .byte 0x01, 0x02, 0x03 +sBerryCrushTextColors1:: @ 82F32D8 + .byte 0x01, 0x02, 0x03 @ TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY -gUnknown_082F32DB:: @ 82F32DB - .byte 0x00, 0x01, 0x02 +sBerryCrushTextColors2:: @ 82F32DB + .byte 0x00, 0x01, 0x02 @ TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY -gUnknown_082F32DE:: @ 82F32DE - .byte 0x00, 0x03, 0x04 +sBerryCrushTextColors3:: @ 82F32DE + .byte 0x00, 0x03, 0x04 @ TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GREY, TEXT_COLOR_RED -gUnknown_082F32E1:: @ 82F32E1 - .byte 0x01, 0x08, 0x09 - .byte 0x01, 0x06, 0x07 +sBerryCrushTextColorTable:: @ 82F32E1 + .byte 0x01, 0x08, 0x09 @ TEXT_COLOR_WHITE, TEXT_COLOR_BLUE, TEXT_COLOR_LIGHT_BLUE + .byte 0x01, 0x06, 0x07 @ TEXT_COLOR_WHITE, TEXT_COLOR_GREEN, TEXT_COLOR_LIGHT_GREEN -gUnknown_082F32E7:: @ 82F32E7 - .byte 0x01, 0x04, 0x05 +sBerryCrushTextColors4:: @ 82F32E7 + .byte 0x01, 0x04, 0x05 @ TEXT_COLOR_WHITE, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED .align 2 gUnknown_082F32EC:: @ 82F32EC @@ -281,23 +281,23 @@ gUnknown_082F4304:: @ 82F4304 .align 2 gUnknown_082F430C:: @ 82F430C - spr_template 0x0001, 0x0001, gUnknown_0852491C, gUnknown_082F42E8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + spr_template 0x0001, 0x0001, gOamData_AffineOff_ObjNormal_64x64, gUnknown_082F42E8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy .align 2 gUnknown_082F4324:: @ 82F4324 - spr_template 0x0002, 0x0002, gUnknown_08524914, gUnknown_082F42EC, NULL, gDummySpriteAffineAnimTable, sub_8022A20 + spr_template 0x0002, 0x0002, gOamData_AffineOff_ObjNormal_32x32, gUnknown_082F42EC, NULL, gDummySpriteAffineAnimTable, sub_8022A20 .align 2 gUnknown_082F433C:: @ 82F433C - spr_template 0x0003, 0x0002, gUnknown_0852490C, gUnknown_082F42F4, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + spr_template 0x0003, 0x0002, gOamData_AffineOff_ObjNormal_16x16, gUnknown_082F42F4, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy .align 2 gUnknown_082F4354:: @ 82F4354 - spr_template 0x0004, 0x0004, gUnknown_08524944, gUnknown_082F42FC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + spr_template 0x0004, 0x0004, gOamData_AffineOff_ObjNormal_8x16, gUnknown_082F42FC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy .align 2 gUnknown_082F436C:: @ 82F436C - spr_template 0x0005, 0x0005, gUnknown_085249D4, gUnknown_082F4300, NULL, gUnknown_082F4304, SpriteCallbackDummy + spr_template 0x0005, 0x0005, gOamData_AffineDouble_ObjNormal_32x32, gUnknown_082F4300, NULL, gUnknown_082F4304, SpriteCallbackDummy .align 2 gUnknown_082F4384:: @ 82F4384 diff --git a/data/contest_link_80F57C4.s b/data/contest_link_80F57C4.s index a434eee281..40a5636a07 100644 --- a/data/contest_link_80F57C4.s +++ b/data/contest_link_80F57C4.s @@ -83,6 +83,6 @@ gUnknown_0858D8E0:: @ 858D8E0 obj_tiles gMiscBlank_Gfx, 0x0200, 0x56ce .align 2 -gUnknown_0858D8E8:: @ 858D8E8 - .byte 0x01, 0x0f, 0x0e, 0x00 +sContestLinkTextColors:: @ 858D8E8 + .byte 0x01, 0x0f, 0x0e, 0x00 @ TEXT_COLOR_WHITE, TEXT_DYNAMIC_COLOR_6, TEXT_DYNAMIC_COLOR_5 diff --git a/data/event_scripts.s b/data/event_scripts.s index 0641cfe3e2..05984f3b52 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1,28 +1,56 @@ #include "constants/global.h" +#include "constants/apprentice.h" +#include "constants/battle.h" +#include "constants/battle_arena.h" +#include "constants/battle_dome.h" +#include "constants/battle_factory.h" #include "constants/battle_frontier.h" +#include "constants/battle_palace.h" +#include "constants/battle_pike.h" +#include "constants/battle_pyramid.h" #include "constants/battle_setup.h" +#include "constants/battle_tent.h" +#include "constants/battle_tower.h" +#include "constants/berry.h" +#include "constants/cable_club.h" +#include "constants/coins.h" #include "constants/contest.h" +#include "constants/daycare.h" +#include "constants/decorations.h" #include "constants/easy_chat.h" #include "constants/event_objects.h" #include "constants/event_object_movement_constants.h" #include "constants/field_effects.h" +#include "constants/field_poison.h" +#include "constants/field_specials.h" +#include "constants/field_tasks.h" +#include "constants/field_weather.h" #include "constants/flags.h" -#include "constants/decorations.h" +#include "constants/frontier_util.h" +#include "constants/game_stat.h" +#include "constants/item.h" #include "constants/items.h" #include "constants/heal_locations.h" #include "constants/layouts.h" +#include "constants/lilycove_lady.h" #include "constants/map_scripts.h" #include "constants/maps.h" +#include "constants/mauville_old_man.h" +#include "constants/metatile_labels.h" #include "constants/moves.h" +#include "constants/party_menu.h" +#include "constants/pokemon.h" +#include "constants/script_menu.h" +#include "constants/secret_bases.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/trade.h" +#include "constants/trainer_hill.h" #include "constants/trainers.h" +#include "constants/tv.h" +#include "constants/union_room.h" #include "constants/vars.h" #include "constants/weather.h" -#include "constants/trainer_hill.h" -#include "constants/lilycove_lady.h" -#include "constants/battle.h" -#include "constants/metatile_labels.h" .include "asm/macros.inc" .include "asm/macros/event.inc" .include "constants/constants.inc" @@ -59,16 +87,16 @@ gSpecialVars:: @ 81DBA0C .include "data/specials.inc" gStdScripts:: @ 81DC2A0 - .4byte Std_ObtainItem - .4byte Std_FindItem - .4byte Std_MsgboxNPC - .4byte Std_MsgboxSign - .4byte Std_MsgboxDefault - .4byte Std_MsgboxYesNo - .4byte Std_MsgboxAutoclose - .4byte Std_ObtainDecoration - .4byte Std_RegisteredInMatchCall - .4byte Std_9 + .4byte Std_ObtainItem @ STD_OBTAIN_ITEM + .4byte Std_FindItem @ STD_FIND_ITEM + .4byte Std_MsgboxNPC @ MSGBOX_NPC + .4byte Std_MsgboxSign @ MSGBOX_SIGN + .4byte Std_MsgboxDefault @ MSGBOX_DEFAULT + .4byte Std_MsgboxYesNo @ MSGBOX_YESNO + .4byte Std_MsgboxAutoclose @ MSGBOX_AUTOCLOSE + .4byte Std_ObtainDecoration @ STD_OBTAIN_DECORATION + .4byte Std_RegisteredInMatchCall @ STD_REGISTER_MATCH_CALL + .4byte Std_MsgboxGetPoints @ MSGBOX_GETPOINTS .4byte Std_10 gStdScripts_End:: @ 81DC2CC @@ -158,8 +186,8 @@ gStdScripts_End:: @ 81DC2CC .include "data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc" .include "data/maps/FallarborTown_PokemonCenter_1F/scripts.inc" .include "data/maps/FallarborTown_PokemonCenter_2F/scripts.inc" - .include "data/maps/FallarborTown_House1/scripts.inc" - .include "data/maps/FallarborTown_House2/scripts.inc" + .include "data/maps/FallarborTown_CozmosHouse/scripts.inc" + .include "data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc" .include "data/maps/VerdanturfTown_BattleTentLobby/scripts.inc" .include "data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc" .include "data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc" @@ -188,12 +216,12 @@ gStdScripts_End:: @ 81DC2CC .include "data/maps/SlateportCity_BattleTentLobby/scripts.inc" .include "data/maps/SlateportCity_BattleTentCorridor/scripts.inc" .include "data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc" - .include "data/maps/SlateportCity_House1/scripts.inc" + .include "data/maps/SlateportCity_NameRatersHouse/scripts.inc" .include "data/maps/SlateportCity_PokemonFanClub/scripts.inc" .include "data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc" .include "data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc" .include "data/maps/SlateportCity_Harbor/scripts.inc" - .include "data/maps/SlateportCity_House2/scripts.inc" + .include "data/maps/SlateportCity_House/scripts.inc" .include "data/maps/SlateportCity_PokemonCenter_1F/scripts.inc" .include "data/maps/SlateportCity_PokemonCenter_2F/scripts.inc" .include "data/maps/SlateportCity_Mart/scripts.inc" @@ -418,263 +446,17 @@ gStdScripts_End:: @ 81DC2CC .include "data/maps/TerraCave_End/scripts.inc" .include "data/maps/AlteringCave/scripts.inc" .include "data/maps/MeteorFalls_StevensCave/scripts.inc" - .include "data/maps/SecretBase_BlueCave1/scripts.inc" - .include "data/maps/SecretBase_BlueCave2/scripts.inc" - .include "data/maps/SecretBase_BlueCave3/scripts.inc" - .include "data/maps/SecretBase_BlueCave4/scripts.inc" - .include "data/maps/SecretBase_BrownCave1/scripts.inc" - .include "data/maps/SecretBase_BrownCave2/scripts.inc" - .include "data/maps/SecretBase_BrownCave3/scripts.inc" - .include "data/maps/SecretBase_BrownCave4/scripts.inc" - .include "data/maps/SecretBase_RedCave1/scripts.inc" - .include "data/maps/SecretBase_RedCave2/scripts.inc" - .include "data/maps/SecretBase_RedCave3/scripts.inc" - .include "data/maps/SecretBase_RedCave4/scripts.inc" - .include "data/maps/SecretBase_Shrub1/scripts.inc" - .include "data/maps/SecretBase_Shrub2/scripts.inc" - .include "data/maps/SecretBase_Shrub3/scripts.inc" - .include "data/maps/SecretBase_Shrub4/scripts.inc" - .include "data/maps/SecretBase_Tree1/scripts.inc" - .include "data/maps/SecretBase_Tree2/scripts.inc" - .include "data/maps/SecretBase_Tree3/scripts.inc" - .include "data/maps/SecretBase_Tree4/scripts.inc" - .include "data/maps/SecretBase_YellowCave1/scripts.inc" - .include "data/maps/SecretBase_YellowCave2/scripts.inc" - .include "data/maps/SecretBase_YellowCave3/scripts.inc" - .include "data/maps/SecretBase_YellowCave4/scripts.inc" - -EventScript_SecretBasePC:: @ 823B4BB - lockall - playse SE_PC_LOGIN - message Text_SecretBaseBootUpPC - dofieldeffect FLDEFF_PCTURN_ON - waitstate - waitmessage - waitbuttonpress - playse SE_SELECT - goto EventScript_SecretBasePCShowMainMenu - end - -EventScript_SecretBasePCShowMainMenu:: @ 823B4D3 - message Text_SecretBasePCStartMenu - waitmessage - goto_if_set FLAG_SECRET_BASE_REGISTRY_ENABLED, EventScript_SecretBasePCMainMenuChoice - goto EventScript_23B531 - end - -gUnknown_0823B4E8:: @ 823B4E8 ;EventScript_SecretBasePCCancel? - lockall - goto EventScript_SecretBasePCShowMainMenu - end - -EventScript_SecretBasePCMainMenuChoice:: @ 823B4EF - multichoice 0, 0, 6, 0 - switch VAR_RESULT - case 0, EventScript_23B581 - case 1, EventScript_23B568 - case 2, EventScript_23B585 - case 3, EventScript_23B66E - case 127, EventScript_23B66E - end - -EventScript_23B531:: @ 823B531 - multichoice 0, 0, 5, 0 - switch VAR_RESULT - case 0, EventScript_23B581 - case 1, EventScript_23B568 - case 2, EventScript_23B66E - case 127, EventScript_23B66E - end - -EventScript_23B568:: @ 823B568 - msgbox Text_2766AA, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq EventScript_SecretBasePCShowMainMenu - closemessage - special MoveOutOfSecretBase - releaseall - end - -EventScript_23B581:: @ 823B581 - special ShowSecretBaseDecorationMenu - end - -EventScript_23B585:: @ 823B585 - special ShowSecretBaseRegistryMenu - end - -EventScript_RecordMixingSecretBasePC:: @ 823B589 - lockall - message Text_SecretBaseBootUpPC - playse SE_PC_LOGIN - dofieldeffect FLDEFF_PCTURN_ON - waitstate - waitmessage - waitbuttonpress - playse SE_SELECT - goto EventScript_23B5A1 - end - -EventScript_23B5A1:: @ 823B5A1 - message Text_SecretBasePCStartMenu - waitmessage - multichoice 0, 0, 7, 0 - switch VAR_RESULT - case 0, EventScript_23B5F0 - case 1, EventScript_23B585 - case 2, EventScript_23B660 - case 3, EventScript_23B66E - case 127, EventScript_23B66E - end - -gUnknown_0823B5E9:: @ 823B5E9 - lockall - goto EventScript_23B5A1 - end - -EventScript_23B5F0:: @ 823B5F0 - special GetCurSecretBaseRegistrationValidity - compare VAR_RESULT, 1 - goto_if_eq EventScript_23B62F - compare VAR_RESULT, 2 - goto_if_eq EventScript_CantRegisterTooManyBases - special CopyCurSecretBaseOwnerName_StrVar1 - msgbox Text_WantToRegisterSecretBase, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq EventScript_23B5A1 - msgbox Text_2767D1, MSGBOX_SIGN - special ToggleCurSecretBaseRegistry - special DoSecretBasePCTurnOffEffect - releaseall - end - -EventScript_23B62F:: @ 823B62F - msgbox Text_276731, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq EventScript_23B5A1 - msgbox Text_2767E9, MSGBOX_SIGN - special ToggleCurSecretBaseRegistry - special DoSecretBasePCTurnOffEffect - releaseall - end - -EventScript_CantRegisterTooManyBases:: @ 823B652 - msgbox Text_TooManyBasesDeleteSome, MSGBOX_SIGN - special DoSecretBasePCTurnOffEffect - closemessage - releaseall - end - -EventScript_23B660:: @ 823B660 - msgbox Text_276835, MSGBOX_DEFAULT - goto EventScript_23B5A1 - end - -EventScript_23B66E:: @ 823B66E - special DoSecretBasePCTurnOffEffect - closemessage - releaseall - end - -EventScript_23B674:: @ 823B674 - special SetSecretBaseSecretsTvFlags_Poster - end - -EventScript_23B678:: @ 823B678 - special SetSecretBaseSecretsTvFlags_MiscFurnature - end - -EventScript_23B67C:: @ 823B67C - special SetSecretBaseSecretsTvFlags_LargeDecorationSpot - end - -EventScript_23B680:: @ 823B680 - special SetSecretBaseSecretsTvFlags_SmallDecorationSpot - end - -EventScript_SecretBaseSandOrnament:: @ 823B684 - special SetSecretBaseSecretsTvFlags_SandOrnament - dofieldeffect FLDEFF_SAND_PILLAR - waitstate - end - -EventScript_SecretBaseShieldOrToyTV:: @ 823B68C - special GetShieldToyTVDecorationInfo - compare VAR_RESULT, 0 - goto_if_eq EventScript_23B6BC - compare VAR_RESULT, 1 - goto_if_eq EventScript_23B6C5 - compare VAR_RESULT, 2 - goto_if_eq EventScript_23B6CE - compare VAR_RESULT, 3 - goto_if_eq EventScript_23B6D7 - end - -EventScript_23B6BC:: @ 823B6BC - msgbox Text_27692B, MSGBOX_SIGN - end - -EventScript_23B6C5:: @ 823B6C5 - msgbox Text_276974, MSGBOX_SIGN - end - -EventScript_23B6CE:: @ 823B6CE - msgbox Text_2769B8, MSGBOX_SIGN - end - -EventScript_23B6D7:: @ 823B6D7 - msgbox Text_2769FF, MSGBOX_SIGN - end - -gText_23B6E0:: @ 823B6E0 - .string "There's a small indent in the wall.$" - -gText_23B704:: @ 823B704 - .string "There's a small indent in the wall.\p" - .string "Use the SECRET POWER?$" - -gText_23B73E:: @ 823B73E - .string "Discovered a small cavern!$" - -SecretBase_RedCave1_Text_23B759: @ 823B759 - .string "Want to make your SECRET BASE here?$" - - .include "data/maps/SingleBattleColosseum/scripts.inc" + .include "data/scripts/shared_secret_base.inc" + .include "data/maps/BattleColosseum_2P/scripts.inc" .include "data/maps/TradeCenter/scripts.inc" .include "data/maps/RecordCorner/scripts.inc" - .include "data/maps/DoubleBattleColosseum/scripts.inc" - .include "data/maps/LinkContestRoom1/scripts.inc" - .include "data/maps/UnknownLinkContestRoom_25_29/scripts.inc" - .include "data/maps/UnknownLinkContestRoom_25_30/scripts.inc" - .include "data/maps/UnknownLinkContestRoom_25_31/scripts.inc" - .include "data/maps/UnknownLinkContestRoom_25_32/scripts.inc" - .include "data/maps/UnknownLinkContestRoom_25_33/scripts.inc" - .include "data/maps/UnknownLinkContestRoom_25_34/scripts.inc" - .include "data/maps/LinkContestRoom2/scripts.inc" - .include "data/maps/LinkContestRoom3/scripts.inc" - .include "data/maps/LinkContestRoom4/scripts.inc" - .include "data/maps/LinkContestRoom5/scripts.inc" - .include "data/maps/LinkContestRoom6/scripts.inc" + .include "data/maps/BattleColosseum_4P/scripts.inc" + .include "data/maps/ContestHall/scripts.inc" .include "data/maps/InsideOfTruck/scripts.inc" .include "data/maps/SSTidalCorridor/scripts.inc" .include "data/maps/SSTidalLowerDeck/scripts.inc" .include "data/maps/SSTidalRooms/scripts.inc" .include "data/maps/BattlePyramidSquare01/scripts.inc" - .include "data/maps/BattlePyramidSquare02/scripts.inc" - .include "data/maps/BattlePyramidSquare03/scripts.inc" - .include "data/maps/BattlePyramidSquare04/scripts.inc" - .include "data/maps/BattlePyramidSquare05/scripts.inc" - .include "data/maps/BattlePyramidSquare06/scripts.inc" - .include "data/maps/BattlePyramidSquare07/scripts.inc" - .include "data/maps/BattlePyramidSquare08/scripts.inc" - .include "data/maps/BattlePyramidSquare09/scripts.inc" - .include "data/maps/BattlePyramidSquare10/scripts.inc" - .include "data/maps/BattlePyramidSquare11/scripts.inc" - .include "data/maps/BattlePyramidSquare12/scripts.inc" - .include "data/maps/BattlePyramidSquare13/scripts.inc" - .include "data/maps/BattlePyramidSquare14/scripts.inc" - .include "data/maps/BattlePyramidSquare15/scripts.inc" - .include "data/maps/BattlePyramidSquare16/scripts.inc" .include "data/maps/UnionRoom/scripts.inc" .include "data/maps/SafariZone_Northwest/scripts.inc" .include "data/maps/SafariZone_North/scripts.inc" @@ -691,9 +473,9 @@ SecretBase_RedCave1_Text_23B759: @ 823B759 .include "data/maps/SafariZone_Northeast/scripts.inc" .include "data/maps/SafariZone_Southeast/scripts.inc" .include "data/maps/BattleFrontier_OutsideEast/scripts.inc" + .include "data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc" + .include "data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc" .include "data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc" - .include "data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc" - .include "data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc" .include "data/maps/BattleFrontier_BattleDomeLobby/scripts.inc" .include "data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc" .include "data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc" @@ -702,7 +484,7 @@ SecretBase_RedCave1_Text_23B759: @ 823B759 .include "data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc" .include "data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc" .include "data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc" - .include "data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc" + .include "data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc" .include "data/maps/BattleFrontier_BattlePyramidTop/scripts.inc" .include "data/maps/BattleFrontier_BattleArenaLobby/scripts.inc" .include "data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc" @@ -713,12 +495,12 @@ SecretBase_RedCave1_Text_23B759: @ 823B759 .include "data/maps/BattleFrontier_BattlePikeLobby/scripts.inc" .include "data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc" .include "data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc" - .include "data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc" - .include "data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc" - .include "data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc" + .include "data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc" + .include "data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc" + .include "data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc" .include "data/maps/BattleFrontier_RankingHall/scripts.inc" .include "data/maps/BattleFrontier_Lounge1/scripts.inc" - .include "data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc" + .include "data/maps/BattleFrontier_ExchangeServiceCorner/scripts.inc" .include "data/maps/BattleFrontier_Lounge2/scripts.inc" .include "data/maps/BattleFrontier_Lounge3/scripts.inc" .include "data/maps/BattleFrontier_Lounge4/scripts.inc" @@ -788,367 +570,10 @@ SecretBase_RedCave1_Text_23B759: @ 823B759 .include "data/maps/Route119_House/scripts.inc" .include "data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc" -Std_MsgboxNPC: @ 8271315 - lock - faceplayer - message 0x0 - waitmessage - waitbuttonpress - release - return - -Std_MsgboxSign: @ 8271320 - lockall - message 0x0 - waitmessage - waitbuttonpress - releaseall - return - -Std_MsgboxDefault: @ 827132A - message 0x0 - waitmessage - waitbuttonpress - return - -Std_MsgboxYesNo: @ 8271332 - message 0x0 - waitmessage - yesnobox 20, 8 - return - -Std_9: @ 827133C - message 0x0 - playfanfare MUS_ME_POINTGET - waitfanfare - waitmessage - return - -Std_10: @ 8271347 - pokenavcall 0x0 - waitmessage - return - -EventScript_UnusedReturn: @ 827134E - return - -Common_EventScript_SaveGame:: @ 827134F - special SaveGame - waitstate - return - -EventScript_271354:: @ 8271354 - cmdD8 - cmdD9 - + .include "data/scripts/std_msgbox.inc" .include "data/scripts/trainer_battle.inc" - -Std_MsgboxAutoclose:: @ 8271494 - message 0x0 - waitmessage - waitbuttonpress - release - 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 - return - -EventScript_ResetAllMapFlags:: @ 82715DE - setflag FLAG_LINK_CONTEST_POKE_BALL - setflag FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE - setflag FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE - setflag FLAG_HIDE_ROUTE_111_VICKY_WINSTRATE - setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH - setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL - setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL - setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE - setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA - setflag FLAG_HIDE_PETALBURG_CITY_WALLY - setflag FLAG_UNKNOWN_0x363 - setflag FLAG_HIDE_RUSTBORO_CITY_AQUA_GRUNT - setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1 - setflag FLAG_HIDE_RUSBORO_CITY_RIVAL - setflag FLAG_HIDE_RUSTBORO_CITY_SCIENTIST - setflag FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN - setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY - setflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO - setflag FLAG_HIDE_ROUTE_104_MR_BRINEY - setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN - setflag FLAG_HIDE_ROUTE_108_MR_BRINEY - setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN - setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT - setflag FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST - setflag FLAG_HIDE_ROUTE_110_BIRCH - setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_1 - setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_2 - setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1 - setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_2 - setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_3 - setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_4 - setflag FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS - setflag FLAG_HIDE_PETALBURG_GYM_GREETER - setflag FLAG_HIDE_PETALBURG_GYM_WALLYS_UNCLE - setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN - setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN - setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM - setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM - setflag FLAG_HIDE_PLAYERS_HOUSE_DAD - setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL - setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL - setflag FLAG_HIDE_FANCLUB_OLD_LADY - setflag FLAG_HIDE_FANCLUB_BOY - setflag FLAG_HIDE_FANCLUB_LITTLE_BOY - setflag FLAG_HIDE_FANCLUB_LADY - setflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER - setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1 - setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1 - setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3 - setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2 - setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2 - setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2 - setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3 - setflag FLAG_HIDE_SLATEPORT_CITY_CONTEST_REPORTER - setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER - setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY - setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN - setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE - setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN - setflag FLAG_HIDE_VERDANTURF_TOWN_SCOTT - setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE - setflag FLAG_HIDE_PETALBURG_GYM_WALLY - setflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY - setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE - setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE - setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS - setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1 - setflag FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_1 - setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN - setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT - setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_ARCHIE - setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL - setflag FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL - setflag FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY - setflag FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN - setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SUBMARINE_SHADOW - setflag FLAG_HIDE_ROUTE_119_RIVAL - setflag FLAG_HIDE_ROUTE_119_SCOTT - setflag FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN - setflag FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE - setflag FLAG_HIDE_LANETTES_HOUSE_LANETTE - setflag FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN - setflag FLAG_HIDE_MT_CHIMNEY_TRAINERS - setflag FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY - setflag FLAG_HIDE_RUSTURF_TUNNEL_OLD_MAN - setflag FLAG_HIDE_ROUTE_116_MR_BRINEY - setflag FLAG_HIDE_RUSTURF_TUNNEL_PEEKO - setflag FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT - setflag FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN - setflag FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN - setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_ARCHIE - setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_1 - setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_2 - setflag FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION - setflag FLAG_HIDE_BATTLE_TOWER_OPPONENT - setflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE - setflag FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM - setflag FLAG_HIDE_LITTLEROOT_TOWN_RIVAL - setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCH - setflag FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS - setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 - setflag FLAG_HIDE_ROUTE_101_BIRCH - setflag FLAG_HIDE_ROUTE_103_BIRCH - setflag FLAG_HIDE_LILYCOVE_HARBOR_FERRY_SAILOR - setflag FLAG_HIDE_LILYCOVE_HARBOR_EON_TICKET_TAKER - setflag FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE - setflag FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON - setflag FLAG_UNKNOWN_0x393 - setflag FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE - setflag FLAG_HIDE_MAUVILLE_CITY_WATTSON - setflag FLAG_HIDE_MAUVILLE_CITY_SCOTT - setflag FLAG_HIDE_CHAMPIONS_ROOM_RIVAL - setflag FLAG_HIDE_CHAMPIONS_ROOM_BIRCH - setflag FLAG_HIDE_ROUTE_110_RIVAL_2 - setflag FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE - setflag FLAG_HIDE_ROUTE_104_RIVAL - setflag FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS - setflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1 - setflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2 - setflag FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL - setflag FLAG_HIDE_METEOR_FALLS_TEAM_AQUA - setflag FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN - setflag FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO - setflag FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M - setflag FLAG_HIDE_ROUTE_128_STEVEN - setflag FLAG_HIDE_ROUTE_128_ARCHIE - setflag FLAG_HIDE_ROUTE_128_MAXIE - setflag FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE - setflag FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN - setflag FLAG_HIDE_SLATEPORT_CITY_SCOTT - setflag FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY - setflag FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY - setflag FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY - setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN - setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL - setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY - setflag FLAG_HIDE_OLDALE_TOWN_RIVAL - setflag FLAG_HIDE_ROUTE_101_BOY - setflag FLAG_HIDE_PETALBURG_CITY_SCOTT - setflag FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA - setflag FLAG_HIDE_SOOTOPOLIS_CITY_KYOGRE - setflag FLAG_HIDE_SOOTOPOLIS_CITY_GROUDON - setflag FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS - setflag FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE - setflag FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE - setflag FLAG_HIDE_ROUTE_111_DESERT_FOSSIL - setflag FLAG_HIDE_ROUTE_111_PLAYER_DESCENT - setflag FLAG_HIDE_DESERT_UNDERPASS_FOSSIL - setflag FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA - setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA - setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA - setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN - setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS - setflag FLAG_HIDE_DEOXYS - setflag FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION - setflag FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT - setflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT - setflag FLAG_HIDE_SKY_PILLAR_WALLACE - setflag FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT - call EventScript_ResetAllBerries - end - -EverGrandeCity_HallOfFame_EventScript_2717C1:: @ 82717C1 - special sub_81AFDD0 - setflag FLAG_IS_CHAMPION - call EverGrandeCity_HallOfFame_EventScript_ResetDefeatedEventLegendaries - compare VAR_FOSSIL_MANIAC_STATE, 0 - call_if_eq EverGrandeCity_HallOfFame_EventScript_271839 - clearflag FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS - call EverGrandeCity_HallOfFame_EventScript_ResetEliteFour - setflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY - clearflag FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY - clearflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY - setvar VAR_STEVENS_HOUSE_STATE, 2 - setflag FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY - clearflag FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY - clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL - clearflag FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL - setflag FLAG_HIDE_SAFARI_ZONE_SOUTH_CONSTRUCTION_WORKERS - clearflag FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION - setflag FLAG_HIDE_LILYCOVE_CITY_RIVAL - special sub_813BA60 - call_if_unset FLAG_RECEIVED_SS_TICKET, EverGrandeCity_HallOfFame_EventScript_271843 - call_if_unset FLAG_RECEIVED_BELDUM, EverGrandeCity_HallOfFame_EventScript_27183F - setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM - setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM - compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 0 - call_if_eq EverGrandeCity_HallOfFame_EventScript_271851 - return - -EverGrandeCity_HallOfFame_EventScript_ResetDefeatedEventLegendaries:: @ 8271829 - clearflag FLAG_DEFEATED_MEW - clearflag FLAG_DEFEATED_LATIAS_OR_LATIOS - clearflag FLAG_DEFEATED_DEOXYS - clearflag FLAG_DEFEATED_LUGIA - clearflag FLAG_DEFEATED_HO_OH - return - -EverGrandeCity_HallOfFame_EventScript_271839:: @ 8271839 - setvar VAR_FOSSIL_MANIAC_STATE, 1 - return - -EverGrandeCity_HallOfFame_EventScript_27183F:: @ 827183F - clearflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL - return - -EverGrandeCity_HallOfFame_EventScript_271843:: @ 8271843 - setvar VAR_LITTLEROOT_HOUSES_STATE, 3 - setvar VAR_LITTLEROOT_HOUSES_STATE_2, 3 - clearflag FLAG_HIDE_PLAYERS_HOUSE_DAD - return - -EverGrandeCity_HallOfFame_EventScript_271851:: @ 8271851 - setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1 - return + .include "data/scripts/new_game.inc" + .include "data/scripts/hall_of_fame.inc" EventScript_WhiteOut:: @ 8271857 call EverGrandeCity_HallOfFame_EventScript_ResetEliteFour @@ -1161,13 +586,13 @@ EventScript_ResetMrBriney:: @ 8271862 compare VAR_BRINEY_LOCATION, 2 goto_if_eq EventScript_MoveMrBrineyToDewford compare VAR_BRINEY_LOCATION, 3 - goto_if_eq EventScript_MoveMrBrineyToRoute108 + goto_if_eq EventScript_MoveMrBrineyToRoute109 end EventScript_MoveMrBrineyToHouse:: @ 8271884 setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN - setflag FLAG_HIDE_ROUTE_108_MR_BRINEY + setflag FLAG_HIDE_ROUTE_109_MR_BRINEY setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT clearflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT clearflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY @@ -1175,7 +600,7 @@ EventScript_MoveMrBrineyToHouse:: @ 8271884 end EventScript_MoveMrBrineyToDewford:: @ 827189A - setflag FLAG_HIDE_ROUTE_108_MR_BRINEY + setflag FLAG_HIDE_ROUTE_109_MR_BRINEY setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT setflag FLAG_HIDE_ROUTE_104_MR_BRINEY setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT @@ -1185,14 +610,14 @@ EventScript_MoveMrBrineyToDewford:: @ 827189A clearflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN end -EventScript_MoveMrBrineyToRoute108:: @ 82718B3 +EventScript_MoveMrBrineyToRoute109:: @ 82718B3 setflag FLAG_HIDE_ROUTE_104_MR_BRINEY setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY setflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN - clearflag FLAG_HIDE_ROUTE_108_MR_BRINEY + clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT end @@ -1204,484 +629,32 @@ EverGrandeCity_HallOfFame_EventScript_ResetEliteFour:: @ 82718CC setvar VAR_ELITE_4_STATE, 0 return -DewfordTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE -FallarborTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE -LavaridgeTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE -MauvilleCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE -OldaleTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE -PetalburgCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE -RustboroCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE -SlateportCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE -VerdanturfTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE +Common_EventScript_UpdateBrineyLocation:: @ 82718DE goto_if_unset FLAG_RECEIVED_POKENAV, Common_EventScript_NopReturn goto_if_set FLAG_DEFEATED_PETALBURG_GYM, Common_EventScript_NopReturn - goto_if_unset FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT, OldaleTown_PokemonCenter_1F_EventScript_27190C - goto_if_unset FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN, OldaleTown_PokemonCenter_1F_EventScript_271912 - goto_if_unset FLAG_HIDE_ROUTE_108_MR_BRINEY, OldaleTown_PokemonCenter_1F_EventScript_271918 + goto_if_unset FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT, EventScript_SetBrineyLocation_House + goto_if_unset FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN, EventScript_SetBrineyLocation_Dewford + goto_if_unset FLAG_HIDE_ROUTE_109_MR_BRINEY, EventScript_SetBrineyLocation_Route109 return -OldaleTown_PokemonCenter_1F_EventScript_27190C:: @ 827190C +EventScript_SetBrineyLocation_House:: @ 827190C setvar VAR_BRINEY_LOCATION, 1 return -OldaleTown_PokemonCenter_1F_EventScript_271912:: @ 8271912 +EventScript_SetBrineyLocation_Dewford:: @ 8271912 setvar VAR_BRINEY_LOCATION, 2 return -OldaleTown_PokemonCenter_1F_EventScript_271918:: @ 8271918 +EventScript_SetBrineyLocation_Route109:: @ 8271918 setvar VAR_BRINEY_LOCATION, 3 return -BattleFrontier_PokemonCenter_1F_EventScript_27191E:: @ 827191E -DewfordTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E -EverGrandeCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E -EverGrandeCity_PokemonLeague_1F_EventScript_27191E:: @ 827191E -FallarborTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E -FortreeCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E -LavaridgeTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E -LilycoveCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E -MauvilleCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E -MossdeepCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E -OldaleTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E -PacifidlogTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E -PetalburgCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E -RustboroCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E -SlateportCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E -SootopolisCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E -TrainerHill_Entrance_EventScript_27191E:: @ 827191E -VerdanturfTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E - lock - faceplayer - setvar VAR_0x8004, 0 - specialvar VAR_RESULT, CountPlayerTrainerStars - compare VAR_RESULT, 4 - goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271A68 - msgbox gUnknown_082726EB, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_27195A - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271954 - end - -OldaleTown_PokemonCenter_1F_EventScript_271954:: @ 8271954 - message gUnknown_082727DB - return - -OldaleTown_PokemonCenter_1F_EventScript_27195A:: @ 827195A - incrementgamestat 15 - compare VAR_0x8004, 0 - call_if_eq OldaleTown_PokemonCenter_1F_EventScript_271987 - compare VAR_0x8004, 1 - call_if_eq OldaleTown_PokemonCenter_1F_EventScript_27198D - waitmessage - call OldaleTown_PokemonCenter_1F_EventScript_271993 - goto_if_unset FLAG_POKERUS_EXPLAINED, OldaleTown_PokemonCenter_1F_EventScript_271A43 - goto OldaleTown_PokemonCenter_1F_EventScript_2719B1 - end - -OldaleTown_PokemonCenter_1F_EventScript_271987:: @ 8271987 - message gUnknown_08272768 - return - -OldaleTown_PokemonCenter_1F_EventScript_27198D:: @ 827198D - message gUnknown_082729C0 - return - -OldaleTown_PokemonCenter_1F_EventScript_271993:: @ 8271993 - applymovement VAR_0x800B, Common_Movement_WalkInPlaceLeft - waitmovement 0 - dofieldeffect FLDEFF_POKECENTER_HEAL - waitfieldeffect FLDEFF_POKECENTER_HEAL - applymovement VAR_0x800B, Common_Movement_WalkInPlaceDown - waitmovement 0 - special HealPlayerParty - return - -OldaleTown_PokemonCenter_1F_EventScript_2719B1:: @ 82719B1 - specialvar VAR_RESULT, sub_8139ED0 - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2 - specialvar VAR_RESULT, sp182_move_string - copyvar VAR_0x8008, VAR_RESULT - compare VAR_0x8008, 0 - goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2 - compare VAR_0x8008, 1 - goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271A19 - end - -OldaleTown_PokemonCenter_1F_EventScript_2719E2:: @ 82719E2 - compare VAR_0x8004, 1 - goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271A03 - message gUnknown_08272798 - waitmessage - applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_271AD0 - waitmovement 0 - message gUnknown_082727DB - return - -OldaleTown_PokemonCenter_1F_EventScript_271A03:: @ 8271A03 - message gUnknown_082729F0 - waitmessage - applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_271AD0 - waitmovement 0 - message gUnknown_08272A07 - return - -OldaleTown_PokemonCenter_1F_EventScript_271A19:: @ 8271A19 - goto_if_set FLAG_NURSE_UNION_ROOM_REMINDER, OldaleTown_PokemonCenter_1F_EventScript_2719E2 - msgbox gUnknown_08272798, MSGBOX_DEFAULT - setflag FLAG_NURSE_UNION_ROOM_REMINDER - message OldaleTown_PokemonCenter_1F_Text_278A48 - waitmessage - applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_271AD0 - waitmovement 0 - message gUnknown_082727DB - return - -OldaleTown_PokemonCenter_1F_EventScript_271A43:: @ 8271A43 - specialvar VAR_RESULT, IsPokerusInParty - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_Explain_Pokerus - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_2719B1 - end - -OldaleTown_PokemonCenter_1F_EventScript_Explain_Pokerus:: @ 8271A5F - message gText_PokerusExplanation - setflag FLAG_POKERUS_EXPLAINED - return - -OldaleTown_PokemonCenter_1F_EventScript_271A68:: @ 8271A68 - goto_if_set FLAG_OLDALE_NURSE_MENTIONS_GOLD_CARD, OldaleTown_PokemonCenter_1F_EventScript_271AAC - setflag FLAG_OLDALE_NURSE_MENTIONS_GOLD_CARD - msgbox gUnknown_082727F5, MSGBOX_DEFAULT - playse SE_PIN - applymovement VAR_0x800B, Common_Movement_ExclamationMark - waitmovement 0 - applymovement VAR_0x800B, Common_Movement_Delay48 - waitmovement 0 - msgbox gUnknown_08272860, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5 - message gUnknown_08272A07 - return - -OldaleTown_PokemonCenter_1F_EventScript_271AAC:: @ 8271AAC - msgbox gUnknown_08272982, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5 - message gUnknown_08272A07 - return - -OldaleTown_PokemonCenter_1F_EventScript_271AC5:: @ 8271AC5 - setvar VAR_0x8004, 1 - goto OldaleTown_PokemonCenter_1F_EventScript_27195A - end - -OldaleTown_PokemonCenter_1F_Movement_271AD0: @ 8271AD0 - nurse_joy_bow - delay_4 - step_end - -Std_ObtainItem:: @ 8271AD3 - giveitem VAR_0x8000, VAR_0x8001 - copyvar VAR_0x8007, VAR_RESULT - call EventScript_271AE3 - return - -EventScript_271AE3:: @ 8271AE3 - bufferitemnameplural 1, VAR_0x8000, VAR_0x8001 - checkitemtype VAR_0x8000 - call EventScript_271B08 - compare VAR_0x8007, 1 - call_if_eq EventScript_271B95 - compare VAR_0x8007, 0 - call_if_eq EventScript_271BA9 - return - -EventScript_271B08:: @ 8271B08 - switch VAR_RESULT - case 1, EventScript_271B45 - case 5, EventScript_271B55 - case 2, EventScript_271B65 - case 3, EventScript_271B75 - case 4, EventScript_271B85 - end - -EventScript_271B45:: @ 8271B45 - bufferstdstring 2, 14 - compare VAR_0x8007, 1 - call_if_eq EventScript_271BAF - return - -EventScript_271B55:: @ 8271B55 - bufferstdstring 2, 15 - compare VAR_0x8007, 1 - call_if_eq EventScript_271BAF - return - -EventScript_271B65:: @ 8271B65 - bufferstdstring 2, 16 - compare VAR_0x8007, 1 - call_if_eq EventScript_271BAF - return - -EventScript_271B75:: @ 8271B75 - bufferstdstring 2, 17 - compare VAR_0x8007, 1 - call_if_eq EventScript_271BB3 - return - -EventScript_271B85:: @ 8271B85 - bufferstdstring 2, 18 - compare VAR_0x8007, 1 - call_if_eq EventScript_271BAF - return - -EventScript_271B95:: @ 8271B95 - message gUnknown_08272A78 - waitfanfare - msgbox gText_PutItemInPocket, MSGBOX_DEFAULT - setvar VAR_RESULT, 1 - return - -EventScript_271BA9:: @ 8271BA9 - setvar VAR_RESULT, 0 - return - -EventScript_271BAF:: @ 8271BAF - playfanfare MUS_FANFA4 - return - -EventScript_271BB3:: @ 8271BB3 - playfanfare MUS_ME_WAZA - return - -Std_ObtainDecoration:: @ 8271BB7 - givedecoration VAR_0x8000 - copyvar VAR_0x8007, VAR_RESULT - call EventScript_271BC5 - return - -EventScript_271BC5:: @ 8271BC5 - bufferdecorationname 1, VAR_0x8000 - compare VAR_0x8007, 1 - call_if_eq EventScript_271BE0 - compare VAR_0x8007, 0 - call_if_eq EventScript_271BF7 - return - -EventScript_271BE0:: @ 8271BE0 - playfanfare MUS_FANFA4 - message gUnknown_08272B09 - waitfanfare - msgbox gUnknown_08272B48, MSGBOX_DEFAULT - setvar VAR_RESULT, 1 - return - -EventScript_271BF7:: @ 8271BF7 - setvar VAR_RESULT, 0 - return - -Std_FindItem:: @ 8271BFD - lock - faceplayer - waitse - copyvar VAR_0x8004, VAR_0x8000 - copyvar VAR_0x8005, VAR_0x8001 - checkitemspace VAR_0x8000, VAR_0x8001 - copyvar VAR_0x8007, VAR_RESULT - bufferitemnameplural 1, VAR_0x8000, VAR_0x8001 - checkitemtype VAR_0x8000 - call EventScript_271B08 - compare VAR_0x8007, 1 - call_if_eq EventScript_PickItemUp - compare VAR_0x8007, 0 - call_if_eq EventScript_271CA1 - release - return - -EventScript_PickItemUp:: @ 8271C3A - removeobject VAR_LAST_TALKED - giveitem VAR_0x8004, VAR_0x8005 - specialvar VAR_RESULT, sub_81398C0 - copyvar VAR_0x8008, VAR_RESULT - compare VAR_0x8008, 1 - call_if_eq EventScript_271C8F - compare VAR_0x8008, 0 - call_if_eq EventScript_271C9B - waitfanfare - waitmessage - bufferitemnameplural 1, VAR_0x8004, VAR_0x8005 - setvar VAR_0x8004, 12 - special CallBattlePyramidFunction - compare VAR_RESULT, 1 - goto_if_eq EventScript_271C86 - msgbox gText_PutItemInPocket, MSGBOX_DEFAULT - return - -EventScript_271C86:: @ 8271C86 - msgbox gText_PlayerPutItemInBag, MSGBOX_DEFAULT - return - -EventScript_271C8F:: @ 8271C8F - bufferitemnameplural 0, VAR_0x8004, VAR_0x8005 - message gText_PlayerFoundOneItemTwoLines - return - -EventScript_271C9B:: @ 8271C9B - message gText_PlayerFoundOneItem - return - -EventScript_271CA1:: @ 8271CA1 - msgbox gUnknown_08272A78, MSGBOX_DEFAULT - msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT - setvar VAR_RESULT, 0 - return - -EventScript_HiddenItemScript:: @ 8271CB7 - lockall - waitse - giveitem VAR_0x8005, 1 - copyvar VAR_0x8007, VAR_RESULT - bufferitemnameplural 1, VAR_0x8005, 1 - checkitemtype VAR_0x8005 - call EventScript_271B08 - compare VAR_0x8007, 1 - goto_if_eq EventScript_271CE8 - compare VAR_0x8007, 0 - goto_if_eq EventScript_271D47 - end - -EventScript_271CE8:: @ 8271CE8 - copyvar VAR_0x8008, VAR_0x8004 - copyvar VAR_0x8004, VAR_0x8005 - specialvar VAR_RESULT, sub_81398C0 - compare VAR_RESULT, 1 - goto_if_eq EventScript_271D0E - compare VAR_RESULT, 0 - goto_if_eq EventScript_271D1F - end - -EventScript_271D0E:: @ 8271D0E - bufferitemnameplural 0, VAR_0x8004, 1 - message gText_PlayerFoundOneItemTwoLines - goto EventScript_271D2A - end - -EventScript_271D1F:: @ 8271D1F - message gText_PlayerFoundOneItem - goto EventScript_271D2A - end - -EventScript_271D2A:: @ 8271D2A - waitmessage - waitfanfare - bufferitemnameplural 1, VAR_0x8004, 1 - copyvar VAR_0x8004, VAR_0x8008 - msgbox gText_PutItemInPocket, MSGBOX_DEFAULT - special sub_80EDCE8 - special SetFlagInVar - releaseall - end - -EventScript_271D47:: @ 8271D47 - msgbox gText_PlayerFoundOneItem, MSGBOX_DEFAULT - msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT - setvar VAR_RESULT, 0 - releaseall - end - -EventScript_271D5E:: @ 8271D5E - lock - faceplayer - msgbox Text_WouldYouLikeToMixRecords, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq EventScript_271D83 - compare VAR_RESULT, 0 - goto_if_eq EventScript_271D89 - goto EventScript_271D89 - -EventScript_271D83:: @ 8271D83 - special RecordMixingPlayerSpotTriggered - waitstate - lock - faceplayer - -EventScript_271D89:: @ 8271D89 - message Text_WouldNotLikeToMixRecords - waitmessage - waitbuttonpress - release - end - -EventScript_PC:: @ 8271D92 - lockall - setvar VAR_0x8004, 0 - special DoPCTurnOnEffect - playse SE_PC_ON - msgbox Text_BootUpPC, MSGBOX_DEFAULT - goto EventScript_271DAC - end - -EventScript_271DAC:: @ 8271DAC - message gText_WhichPCShouldBeAccessed - waitmessage - special ScrSpecial_CreatePCMenu - waitstate - goto EventScript_271DBC - end - -EventScript_271DBC:: @ 8271DBC - switch VAR_RESULT - case 0, EventScript_271E0E - case 1, EventScript_271DF9 - case 2, EventScript_271E54 - case 3, EventScript_271E47 - case 127, EventScript_271E47 - end - -EventScript_271DF9:: @ 8271DF9 - playse SE_PC_LOGIN - msgbox gText_AccessedPlayersPC, MSGBOX_DEFAULT - special PlayerPC - waitstate - goto EventScript_271DAC - end - -EventScript_271E0E:: @ 8271E0E - playse SE_PC_LOGIN - call_if_unset FLAG_SYS_PC_LANETTE, EventScript_271E35 - call_if_set FLAG_SYS_PC_LANETTE, EventScript_271E3E - msgbox gText_StorageSystemOpened, MSGBOX_DEFAULT - special ShowPokemonStorageSystemPC - waitstate - goto EventScript_271DAC - end - -EventScript_271E35:: @ 8271E35 - msgbox gText_AccessedSomeonesPC, MSGBOX_DEFAULT - return - -EventScript_271E3E:: @ 8271E3E - msgbox gText_AccessedLanettesPC, MSGBOX_DEFAULT - return - -EventScript_271E47:: @ 8271E47 - setvar VAR_0x8004, 0 - playse SE_PC_OFF - special DoPCTurnOffEffect - releaseall - end - -EventScript_271E54:: @ 8271E54 - goto_if_unset FLAG_SYS_GAME_CLEAR, EventScript_271E47 - playse SE_PC_LOGIN - special AccessHallOfFamePC - waitstate - goto EventScript_271DBC - end + .include "data/scripts/pkmn_center_nurse.inc" + .include "data/scripts/obtain_item.inc" + .include "data/scripts/record_mix.inc" + .include "data/scripts/pc.inc" +@ scripts/notices.inc? signs.inc? See comment about text/notices.inc Common_EventScript_ShowPokemartSign:: @ 8271E6A msgbox gText_PokemartSign, MSGBOX_SIGN end @@ -1691,199 +664,30 @@ Common_EventScript_ShowPokemonCenterSign:: @ 8271E73 end Common_ShowEasyChatScreen:: @ 8271E7C - fadescreen 1 + fadescreen FADE_TO_BLACK special ShowEasyChatScreen - fadescreen 0 + fadescreen FADE_FROM_BLACK return -DewfordTown_Gym_EventScript_271E84:: @ 8271E84 -LavaridgeTown_Gym_1F_EventScript_271E84:: @ 8271E84 -MauvilleCity_Gym_EventScript_271E84:: @ 8271E84 -RustboroCity_Gym_EventScript_271E84:: @ 8271E84 +Common_EventScript_ReadyPetalburgGymForBattle:: @ 8271E84 clearflag FLAG_HIDE_PETALBURG_GYM_GREETER setflag FLAG_PETALBURG_MART_EXPANDED_ITEMS return -DewfordTown_EventScript_271E8B:: @ 8271E8B -DewfordTown_Hall_EventScript_271E8B:: @ 8271E8B +Common_EventScript_BufferTrendyPhrase:: @ 8271E8B dotimebasedevents setvar VAR_0x8004, 0 special BufferTrendyPhraseString return -DewfordTown_EventScript_271E95:: @ 8271E95 -Route104_MrBrineysHouse_EventScript_271E95:: @ 8271E95 -Route109_EventScript_271E95:: @ 8271E95 +EventScript_BackupMrBrineyLocation:: @ 8271E95 copyvar VAR_0x8008, VAR_BRINEY_LOCATION setvar VAR_BRINEY_LOCATION, 0 return -EventScript_UseSurf:: @ 8271EA0 - checkpartymove MOVE_SURF - compare VAR_RESULT, 6 - goto_if_eq EventScript_CantSurf - bufferpartymonnick 0, VAR_RESULT - setfieldeffectargument 0, VAR_RESULT - lockall - msgbox gText_WantToUseSurf, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq EventScript_CancelSurf - msgbox gText_PlayerUsedSurf, MSGBOX_DEFAULT - dofieldeffect FLDEFF_USE_SURF - -EventScript_CancelSurf:: @ 8271ED5 - releaseall - -EventScript_CantSurf:: @ 8271ED6 - end - -Common_EventScript_SetupRivalGender:: @ 8271ED7 - checkplayergender - compare VAR_RESULT, MALE - goto_if_eq RustboroCity_EventScript_271EEF - compare VAR_RESULT, FEMALE - goto_if_eq RustboroCity_EventScript_271EF5 - end - -RustboroCity_EventScript_271EEF:: @ 8271EEF - setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL - return - -RustboroCity_EventScript_271EF5:: @ 8271EF5 - setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL - return - -Common_EventScript_SetupRivalOnBikeGender:: @ 8271EFB - checkplayergender - compare VAR_RESULT, MALE - goto_if_eq LavaridgeTown_EventScript_271F13 - compare VAR_RESULT, FEMALE - goto_if_eq LavaridgeTown_EventScript_271F19 - end - -LavaridgeTown_EventScript_271F13:: @ 8271F13 - setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE - return - -LavaridgeTown_EventScript_271F19:: @ 8271F19 - setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE - return - -EventScript_271F1F:: @ 8271F1F - checkplayergender - compare VAR_RESULT, MALE - goto_if_eq EventScript_271F37 - compare VAR_RESULT, FEMALE - goto_if_eq EventScript_271F3D - end - -EventScript_271F37:: @ 8271F37 - setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL - return - -EventScript_271F3D:: @ 8271F3D - setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL - return - -DewfordTown_Gym_EventScript_271F43:: @ 8271F43 -FortreeCity_Gym_EventScript_271F43:: @ 8271F43 -LavaridgeTown_Gym_1F_EventScript_271F43:: @ 8271F43 -MauvilleCity_Gym_EventScript_271F43:: @ 8271F43 -MossdeepCity_Gym_EventScript_271F43:: @ 8271F43 -PetalburgCity_Gym_EventScript_271F43:: @ 8271F43 -RustboroCity_Gym_EventScript_271F43:: @ 8271F43 -SootopolisCity_Gym_1F_EventScript_271F43:: @ 8271F43 - switch VAR_0x8008 - case 1, DewfordTown_Gym_EventScript_271FA1 - case 2, DewfordTown_Gym_EventScript_271FAB - case 3, DewfordTown_Gym_EventScript_271FBE - case 4, DewfordTown_Gym_EventScript_271FCE - case 5, DewfordTown_Gym_EventScript_271FE7 - case 6, DewfordTown_Gym_EventScript_271FFD - case 7, DewfordTown_Gym_EventScript_272010 - case 8, DewfordTown_Gym_EventScript_272035 - end - -DewfordTown_Gym_EventScript_271FA1:: @ 8271FA1 - settrainerflag TRAINER_JOSH - settrainerflag TRAINER_TOMMY - settrainerflag TRAINER_MARC - return - -DewfordTown_Gym_EventScript_271FAB:: @ 8271FAB - settrainerflag TRAINER_TAKAO - settrainerflag TRAINER_JOCELYN - settrainerflag TRAINER_LAURA - settrainerflag TRAINER_BRENDEN - settrainerflag TRAINER_CRISTIAN - settrainerflag TRAINER_LILITH - return - -DewfordTown_Gym_EventScript_271FBE:: @ 8271FBE - settrainerflag TRAINER_KIRK - settrainerflag TRAINER_SHAWN - settrainerflag TRAINER_BEN - settrainerflag TRAINER_VIVIAN - settrainerflag TRAINER_ANGELO - return - -DewfordTown_Gym_EventScript_271FCE:: @ 8271FCE - settrainerflag TRAINER_COLE - settrainerflag TRAINER_AXLE - settrainerflag TRAINER_KEEGAN - settrainerflag TRAINER_GERALD - settrainerflag TRAINER_DANIELLE - settrainerflag TRAINER_JACE - settrainerflag TRAINER_JEFF - settrainerflag TRAINER_ELI - return - -DewfordTown_Gym_EventScript_271FE7:: @ 8271FE7 - settrainerflag TRAINER_RANDALL - settrainerflag TRAINER_PARKER - settrainerflag TRAINER_GEORGE - settrainerflag TRAINER_BERKE - settrainerflag TRAINER_MARY - settrainerflag TRAINER_ALEXIA - settrainerflag TRAINER_JODY - return - -DewfordTown_Gym_EventScript_271FFD:: @ 8271FFD - settrainerflag TRAINER_JARED - settrainerflag TRAINER_FLINT - settrainerflag TRAINER_ASHLEY - settrainerflag TRAINER_EDWARDO - settrainerflag TRAINER_HUMBERTO - settrainerflag TRAINER_DARIUS - return - -DewfordTown_Gym_EventScript_272010:: @ 8272010 - settrainerflag TRAINER_PRESTON - settrainerflag TRAINER_VIRGIL - settrainerflag TRAINER_BLAKE - settrainerflag TRAINER_HANNAH - settrainerflag TRAINER_SAMANTHA - settrainerflag TRAINER_MAURA - settrainerflag TRAINER_SYLVIA - settrainerflag TRAINER_NATE - settrainerflag TRAINER_KATHLEEN - settrainerflag TRAINER_CLIFFORD - settrainerflag TRAINER_MACEY - settrainerflag TRAINER_NICHOLAS - return - -DewfordTown_Gym_EventScript_272035:: @ 8272035 - settrainerflag TRAINER_ANDREA - settrainerflag TRAINER_CRISSY - settrainerflag TRAINER_BRIANNA - settrainerflag TRAINER_CONNIE - settrainerflag TRAINER_BRIDGET - settrainerflag TRAINER_OLIVIA - settrainerflag TRAINER_TIFFANY - settrainerflag TRAINER_BETHANY - settrainerflag TRAINER_ANNIKA - settrainerflag TRAINER_DAPHNE - return + .include "data/scripts/surf.inc" + .include "data/scripts/rival_graphics.inc" + .include "data/scripts/set_gym_trainers.inc" Common_EventScript_ShowBagIsFull:: @ 8272054 msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT @@ -1894,17 +698,17 @@ Common_EventScript_BagIsFull:: @ 827205E msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT return -Route114_LanettesHouse_EventScript_272067:: @ 8272067 +Common_EventScript_ShowNoRoomForDecor:: @ 8272067 msgbox gText_NoRoomLeftForAnother, MSGBOX_DEFAULT release end -Common_EventScript_NoRoomLeftForAnother:: @ 8272071 +Common_EventScript_NoRoomForDecor:: @ 8272071 msgbox gText_NoRoomLeftForAnother, MSGBOX_DEFAULT return -Common_EventScript_SetWeather15:: @ 827207A - setweather WEATHER_ALTERNATING +Common_EventScript_SetAbnormalWeather:: @ 827207A + setweather WEATHER_ABNORMAL return Common_EventScript_PlayGymBadgeFanfare:: @ 827207E @@ -1913,140 +717,42 @@ Common_EventScript_PlayGymBadgeFanfare:: @ 827207E return Common_EventScript_OutOfCenterPartyHeal:: @ 8272083 - fadescreen 1 + fadescreen FADE_TO_BLACK playfanfare MUS_ME_ASA waitfanfare special HealPlayerParty - fadescreen 0 + fadescreen FADE_FROM_BLACK return EventScript_RegionMap:: @ 827208F lockall msgbox Common_Text_LookCloserAtMap, MSGBOX_DEFAULT - fadescreen 1 + fadescreen FADE_TO_BLACK special FieldShowRegionMap waitstate releaseall end -DewfordTown_EventScript_2720A0:: @ 82720A0 -Route104_EventScript_2720A0:: @ 82720A0 -Route109_EventScript_2720A0:: @ 82720A0 - setflag FLAG_SPECIAL_FLAG_0x4001 +Common_EventScript_PlayBrineysBoatMusic:: @ 82720A0 + setflag FLAG_DONT_TRANSITION_MUSIC playbgm MUS_M_BOAT, 0 return -DewfordTown_EventScript_2720A8:: @ 82720A8 -Route104_EventScript_2720A8:: @ 82720A8 -Route109_EventScript_2720A8:: @ 82720A8 - clearflag FLAG_SPECIAL_FLAG_0x4001 +Common_EventScript_StopBrineysBoatMusic:: @ 82720A8 + clearflag FLAG_DONT_TRANSITION_MUSIC fadedefaultbgm return -LittlerootTown_ProfessorBirchsLab_EventScript_2720AD:: @ 82720AD -Route101_EventScript_2720AD:: @ 82720AD -Route103_EventScript_2720AD:: @ 82720AD - compare VAR_PETALBURG_GYM_STATE, 0 - goto_if_eq Common_EventScript_NopReturn - goto_if_set FLAG_SYS_GAME_CLEAR, Route101_EventScript_27211A - compare VAR_BIRCH_STATE, 0 - call_if_eq Route101_EventScript_27211A - compare VAR_BIRCH_STATE, 1 - call_if_eq Route101_EventScript_27211A - compare VAR_BIRCH_STATE, 2 - call_if_eq Route101_EventScript_272127 - compare VAR_BIRCH_STATE, 3 - call_if_eq Route101_EventScript_272127 - compare VAR_BIRCH_STATE, 4 - call_if_eq Route101_EventScript_272134 - compare VAR_BIRCH_STATE, 5 - call_if_eq Route101_EventScript_272134 - compare VAR_BIRCH_STATE, 6 - call_if_eq Route101_EventScript_27211A - compare VAR_BIRCH_STATE, 7 - call_if_eq Route101_EventScript_27211A - return + .include "data/scripts/prof_birch.inc" -Route101_EventScript_27211A:: @ 827211A - clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH - clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 - setflag FLAG_HIDE_ROUTE_101_BIRCH - setflag FLAG_HIDE_ROUTE_103_BIRCH - return - -Route101_EventScript_272127:: @ 8272127 - clearflag FLAG_HIDE_ROUTE_101_BIRCH - setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH - setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 - setflag FLAG_HIDE_ROUTE_103_BIRCH - return - -Route101_EventScript_272134:: @ 8272134 - clearflag FLAG_HIDE_ROUTE_103_BIRCH - setflag FLAG_HIDE_ROUTE_101_BIRCH - setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH - setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 - return - -LittlerootTown_ProfessorBirchsLab_EventScript_272141:: @ 8272141 -Route101_EventScript_272141:: @ 8272141 -Route103_EventScript_272141:: @ 8272141 - lock - faceplayer - goto_if_unset FLAG_HAS_MATCH_CALL, Route101_EventScript_272155 - goto_if_unset FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, Route101_EventScript_1FA2D2 - -Route101_EventScript_272155:: @ 8272155 - msgbox gUnknown_082A5C9C, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route101_EventScript_27216F - call Route101_EventScript_272184 - release - end - -Route101_EventScript_27216F:: @ 827216F - msgbox Route101_Text_2A5CEB, MSGBOX_DEFAULT - release - end - -Route101_EventScript_272179:: @ 8272179 - copyvar VAR_0x8004, VAR_0x8009 - special ShowPokedexRatingMessage - waitmessage - waitbuttonpress - return - -EverGrandeCity_ChampionsRoom_EventScript_272184:: @ 8272184 -Route101_EventScript_272184:: @ 8272184 - setvar VAR_0x8004, 0 - specialvar VAR_RESULT, ScriptGetPokedexInfo - copyvar VAR_0x8008, VAR_0x8005 - copyvar VAR_0x8009, VAR_0x8006 - copyvar VAR_0x800A, VAR_RESULT - buffernumberstring 0, VAR_0x8008 - buffernumberstring 1, VAR_0x8009 - msgbox gUnknown_082A5D2C, MSGBOX_DEFAULT - call Route101_EventScript_272179 - compare VAR_0x800A, 0 - goto_if_eq Common_EventScript_NopReturn - setvar VAR_0x8004, 1 - specialvar VAR_RESULT, ScriptGetPokedexInfo - copyvar VAR_0x8008, VAR_0x8005 - copyvar VAR_0x8009, VAR_0x8006 - buffernumberstring 0, VAR_0x8008 - buffernumberstring 1, VAR_0x8009 - msgbox gUnknown_082A633D, MSGBOX_DEFAULT - return - -BattleFrontier_OutsideWest_EventScript_2721E2:: @ 82721E2 -LilycoveCity_Harbor_EventScript_2721E2:: @ 82721E2 -SlateportCity_Harbor_EventScript_2721E2:: @ 82721E2 +@ Below could be split as ferry.inc aside from the Rusturf tunnel script +Common_EventScript_FerryDepart:: @ 82721E2 delay 60 - applymovement VAR_0x8004, SlateportCity_Harbor_Movement_2721F0 + applymovement VAR_0x8004, Movement_FerryDepart waitmovement 0 return -SlateportCity_Harbor_Movement_2721F0: @ 82721F0 +Movement_FerryDepart: @ 82721F0 walk_slow_right walk_slow_right walk_slow_right @@ -2056,10 +762,10 @@ SlateportCity_Harbor_Movement_2721F0: @ 82721F0 walk_right step_end -PetalburgCity_Gym_EventScript_2721F8:: @ 82721F8 +EventScript_HideMrBriney:: @ 82721F8 setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN - setflag FLAG_HIDE_ROUTE_108_MR_BRINEY + setflag FLAG_HIDE_ROUTE_109_MR_BRINEY setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT setflag FLAG_HIDE_ROUTE_104_MR_BRINEY setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT @@ -2068,2018 +774,252 @@ PetalburgCity_Gym_EventScript_2721F8:: @ 82721F8 setvar VAR_BRINEY_LOCATION, 0 return -RusturfTunnel_EventScript_272216:: @ 8272216 +RusturfTunnel_EventScript_SetRusturfTunnelOpen:: @ 8272216 removeobject 1 removeobject 10 - clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN - clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN + clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDAS_BOYFRIEND + clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDA setvar VAR_RUSTURF_TUNNEL_STATE, 6 setflag FLAG_RUSTURF_TUNNEL_OPENED return -EventScript_27222B:: @ 827222B +EventScript_UnusedBoardFerry:: @ 827222B delay 30 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - showobjectat 255, MAP_PETALBURG_CITY + showobjectat EVENT_OBJ_ID_PLAYER, 0 delay 30 - applymovement EVENT_OBJ_ID_PLAYER, Movement_27224E + applymovement EVENT_OBJ_ID_PLAYER, Movement_UnusedBoardFerry waitmovement 0 delay 30 return -Movement_27224E: @ 827224E +Movement_UnusedBoardFerry: @ 827224E walk_up step_end -BattleFrontier_OutsideWest_EventScript_272250:: @ 8272250 -BirthIsland_Harbor_EventScript_272250:: @ 8272250 -FarawayIsland_Entrance_EventScript_272250:: @ 8272250 -NavelRock_Harbor_EventScript_272250:: @ 8272250 -SouthernIsland_Exterior_EventScript_272250:: @ 8272250 - compare VAR_FACING, 1 - call_if_eq BattleFrontier_OutsideWest_EventScript_242A21 - compare VAR_FACING, 3 - call_if_eq BattleFrontier_OutsideWest_EventScript_242A2C +Common_EventScript_FerryDepartIsland:: @ 8272250 + compare VAR_FACING, DIR_SOUTH + call_if_eq Ferry_EventScript_DepartIslandSouth + compare VAR_FACING, DIR_WEST + call_if_eq Ferry_EventScript_DepartIslandWest delay 30 - hideobjectat 255, MAP_PETALBURG_CITY - call BattleFrontier_OutsideWest_EventScript_2721E2 + hideobjectat EVENT_OBJ_ID_PLAYER, 0 + call Common_EventScript_FerryDepart return -EventScript_272274:: @ 8272274 - lockall - waitse - playmoncry SPECIES_KYOGRE, 2 - waitmoncry - setvar VAR_TEMP_5, 1 - releaseall - end + .include "data/scripts/cave_of_origin.inc" + .include "data/scripts/kecleon.inc" -EventScript_272283:: @ 8272283 - lockall - setvar VAR_TEMP_1, 1 - goto EventScript_2722A7 - end - -EventScript_27228F:: @ 827228F - lockall - setvar VAR_TEMP_2, 1 - goto EventScript_2722A7 - end - -EventScript_27229B:: @ 827229B - lockall - setvar VAR_TEMP_3, 1 - goto EventScript_2722A7 - end - -EventScript_2722A7:: @ 82722A7 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 5 - special sub_8139560 - waitstate - releaseall - end - -CaveOfOrigin_1F_EventScript_2722C1:: @ 82722C1 -CaveOfOrigin_UnusedRubySapphireMap1_EventScript_2722C1:: @ 82722C1 -CaveOfOrigin_UnusedRubySapphireMap2_EventScript_2722C1:: @ 82722C1 -CaveOfOrigin_UnusedRubySapphireMap3_EventScript_2722C1:: @ 82722C1 - setvar VAR_TEMP_1, 1 - setvar VAR_TEMP_2, 1 - setvar VAR_TEMP_3, 1 - setvar VAR_TEMP_4, 1 - setvar VAR_TEMP_5, 1 - return - -Route120_EventScript_2722DB:: @ 82722DB - lock - faceplayer - setvar VAR_0x8009, 1 - goto Route120_EventScript_272336 - end - -Route120_EventScript_2722E8:: @ 82722E8 - lock - faceplayer - setvar VAR_0x8009, 2 - goto Route120_EventScript_272336 - end - -Route120_EventScript_2722F5:: @ 82722F5 - lock - faceplayer - setvar VAR_0x8009, 3 - goto Route120_EventScript_272336 - end - -Route120_EventScript_272302:: @ 8272302 - lock - faceplayer - setvar VAR_0x8009, 4 - goto Route120_EventScript_272336 - end - -Route120_EventScript_27230F:: @ 827230F - lock - faceplayer - setvar VAR_0x8009, 5 - goto Route120_EventScript_272336 - end - -Route119_EventScript_27231C:: @ 827231C - lock - faceplayer - setvar VAR_0x8009, 6 - goto Route119_EventScript_272336 - end - -Route119_EventScript_272329:: @ 8272329 - lock - faceplayer - setvar VAR_0x8009, 7 - goto Route119_EventScript_272336 - end - -Route119_EventScript_272336:: @ 8272336 -Route120_EventScript_272336:: @ 8272336 - checkitem ITEM_DEVON_SCOPE, 1 - compare VAR_RESULT, 1 - goto_if_eq Route119_EventScript_272350 - msgbox Route119_Text_1F5D00, MSGBOX_DEFAULT - release - end - -Route119_EventScript_272350:: @ 8272350 - msgbox Route119_Text_1F5D23, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route119_EventScript_272365 - release - end - -Route119_EventScript_272365:: @ 8272365 - msgbox Route119_Text_1F5D63, MSGBOX_DEFAULT - closemessage - applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer - waitmovement 0 - applymovement VAR_LAST_TALKED, Route119_Movement_2723C7 - waitmovement 0 - waitse - playmoncry SPECIES_KECLEON, 2 - delay 40 - waitmoncry - setwildbattle SPECIES_KECLEON, 30, ITEM_NONE - setflag FLAG_SYS_CTRL_OBJ_DELETE - dowildbattle - clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq Route119_EventScript_2723C1 - compare VAR_RESULT, 4 - goto_if_eq Route119_EventScript_2723C1 - compare VAR_RESULT, 5 - goto_if_eq Route119_EventScript_2723C1 - release - end - -Route119_EventScript_2723C1:: @ 82723C1 - goto Route119_EventScript_27376D - end - -FortreeCity_Movement_2723C7: @ 82723C7 -Route119_Movement_2723C7: @ 82723C7 -Route120_Movement_2723C7: @ 82723C7 - set_visible - delay_4 - set_invisible - delay_4 - set_visible - delay_4 - set_invisible - delay_4 - set_visible - delay_8 - set_invisible - delay_8 - set_visible - delay_8 - set_invisible - delay_8 - set_visible - delay_16 - set_invisible - delay_16 - set_visible - step_end - -Common_EventScript_NameReceivedPokemon:: @ 82723DD - fadescreen 1 +Common_EventScript_NameReceivedPartyMon:: @ 82723DD + fadescreen FADE_TO_BLACK special ChangePokemonNickname waitstate return -FallarborTown_House1_EventScript_2723E4:: @ 82723E4 -GraniteCave_StevensRoom_EventScript_2723E4:: @ 82723E4 -SlateportCity_OceanicMuseum_2F_EventScript_2723E4:: @ 82723E4 +Common_EventScript_PlayerHandedOverTheItem:: @ 82723E4 bufferitemname 0, VAR_0x8004 playfanfare MUS_ME_WAZA - message gUnknown_08273161 + message gText_PlayerHandedOverTheItem waitmessage waitfanfare - takeitem VAR_0x8004, 1 + removeitem VAR_0x8004 return -EverGrandeCity_DrakesRoom_EventScript_2723F8:: @ 82723F8 -EverGrandeCity_GlaciasRoom_EventScript_2723F8:: @ 82723F8 -EverGrandeCity_PhoebesRoom_EventScript_2723F8:: @ 82723F8 -EverGrandeCity_SidneysRoom_EventScript_2723F8:: @ 82723F8 -PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles:: @ 82723F8 - applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_SidneysRoom_Movement_2725C6 - waitmovement 0 - playse SE_DOOR - setmetatile 6, 1, METATILE_EliteFour_OpenDoor_Frame, 0 - setmetatile 6, 2, METATILE_EliteFour_OpenDoor_Opening, 0 - setmetatile 0, 2, METATILE_EliteFour_RightSpotlightOff, 1 - setmetatile 1, 2, METATILE_EliteFour_LeftSpotlightOff, 1 - setmetatile 2, 2, METATILE_EliteFour_RightSpotlightOff, 1 - setmetatile 3, 2, METATILE_EliteFour_LeftSpotlightOff, 1 - setmetatile 4, 2, METATILE_EliteFour_RightSpotlightOff, 1 - setmetatile 8, 2, METATILE_EliteFour_LeftSpotlightOff, 1 - setmetatile 9, 2, METATILE_EliteFour_RightSpotlightOff, 1 - setmetatile 10, 2, METATILE_EliteFour_LeftSpotlightOff, 1 - setmetatile 11, 2, METATILE_EliteFour_RightSpotlightOff, 1 - setmetatile 12, 2, METATILE_EliteFour_LeftSpotlightOff, 1 - special DrawWholeMapView - return - -EverGrandeCity_DrakesRoom_EventScript_272475:: @ 8272475 -EverGrandeCity_GlaciasRoom_EventScript_272475:: @ 8272475 -EverGrandeCity_PhoebesRoom_EventScript_272475:: @ 8272475 -EverGrandeCity_SidneysRoom_EventScript_272475:: @ 8272475 - applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_SidneysRoom_Movement_2725BA - waitmovement 0 - playse SE_TRACK_DOOR - setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 - setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 - setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 - setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 - setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 - setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 - special DrawWholeMapView - return - -EverGrandeCity_DrakesRoom_EventScript_2724BC:: @ 82724BC -EverGrandeCity_GlaciasRoom_EventScript_2724BC:: @ 82724BC -EverGrandeCity_PhoebesRoom_EventScript_2724BC:: @ 82724BC -EverGrandeCity_SidneysRoom_EventScript_2724BC:: @ 82724BC - setmetatile 6, 1, METATILE_EliteFour_OpenDoor_Frame, 0 - setmetatile 6, 2, METATILE_EliteFour_OpenDoor_Opening, 0 - setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 - setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 - setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 - setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 - setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 - setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 - setmetatile 0, 2, METATILE_EliteFour_RightSpotlightOff, 1 - setmetatile 1, 2, METATILE_EliteFour_LeftSpotlightOff, 1 - setmetatile 2, 2, METATILE_EliteFour_RightSpotlightOff, 1 - setmetatile 3, 2, METATILE_EliteFour_LeftSpotlightOff, 1 - setmetatile 4, 2, METATILE_EliteFour_RightSpotlightOff, 1 - setmetatile 8, 2, METATILE_EliteFour_LeftSpotlightOff, 1 - setmetatile 9, 2, METATILE_EliteFour_RightSpotlightOff, 1 - setmetatile 10, 2, METATILE_EliteFour_LeftSpotlightOff, 1 - setmetatile 11, 2, METATILE_EliteFour_RightSpotlightOff, 1 - setmetatile 12, 2, METATILE_EliteFour_LeftSpotlightOff, 1 - return - -EverGrandeCity_DrakesRoom_EventScript_27255F:: @ 827255F -EverGrandeCity_GlaciasRoom_EventScript_27255F:: @ 827255F -EverGrandeCity_PhoebesRoom_EventScript_27255F:: @ 827255F -EverGrandeCity_SidneysRoom_EventScript_27255F:: @ 827255F - setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 - setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 - setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 - setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 - setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 - setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 - return - -SlateportCity_Movement_272596: @ 8272596 - emote_question_mark - step_end - -Common_Movement_ExclamationMark: @ 8272598 - emote_exclamation_mark - step_end - -Common_Movement_Delay48: @ 827259A - delay_16 - delay_16 - delay_16 - step_end - -Common_Movement_FacePlayer: @ 827259E - face_player - step_end - -Common_Movement_FaceAwayPlayer: @ 82725A0 - face_away_player - step_end - -Common_Movement_FaceOriginalDirection: @ 82725A2 - face_original_direction - step_end - -Common_Movement_WalkInPlaceLeft: @ 82725A4 - walk_in_place_fastest_left - step_end - -Common_Movement_WalkInPlaceUp: @ 82725A6 - walk_in_place_fastest_up - step_end - -Common_Movement_WalkInPlaceRight: @ 82725A8 - walk_in_place_fastest_right - step_end - -Common_Movement_WalkInPlaceDown: @ 82725AA - walk_in_place_fastest_down - step_end - -RustboroCity_Movement_2725AC: @ 82725AC - face_right - step_end - -RustboroCity_Movement_2725AE: @ 82725AE - face_left - step_end - -Common_Movement_FaceDown: @ 82725B0 - face_down - step_end - -Common_Movement_FaceUp: @ 82725B2 - face_up - step_end - -BattleFrontier_BattleDomeBattleRoom_Movement_2725B4: @ 82725B4 -MeteorFalls_1F_1R_Movement_2725B4: @ 82725B4 - walk_in_place_down - step_end - -BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6: @ 82725B6 -BattleFrontier_BattleTowerBattleRoom_Movement_2725B6: @ 82725B6 - walk_in_place_left - step_end - -Route121_Movement_2725B8: @ 82725B8 - walk_in_place_right - step_end - -EverGrandeCity_SidneysRoom_Movement_2725BA: @ 82725BA - walk_up - walk_up - walk_up - walk_up - walk_up - walk_up - step_end - -EverGrandeCity_ChampionsRoom_Movement_2725C1: @ 82725C1 - walk_up - walk_up - walk_up - walk_up - step_end - -EverGrandeCity_SidneysRoom_Movement_2725C6: @ 82725C6 - delay_16 - delay_16 - step_end - -Route110_TrickHouseEntrance_Movement_2725C9: @ 82725C9 - walk_up - step_end - -Movement_2725CB:: @ 82725CB - walk_up - walk_up - step_end - -EventScript_PictureBookShelf:: @ 82725CE - msgbox Text_PictureBookShelf, MSGBOX_SIGN - end - -EventScript_BookShelf:: @ 82725D7 - msgbox Text_BookShelf, MSGBOX_SIGN - end - -EventScript_PokemonCenterBookShelf:: @ 82725E0 - msgbox Text_PokemonCenterBookShelf, MSGBOX_SIGN - end - -EventScript_Vase:: @ 82725E9 - msgbox Text_Vase, MSGBOX_SIGN - end - -EventScript_EmptyTrashCan:: @ 82725F2 - msgbox Text_EmptyTrashCan, MSGBOX_SIGN - end - -EventScript_ShopShelf:: @ 82725FB - msgbox Text_ShopShelf, MSGBOX_SIGN - end - -EventScript_Blueprint:: @ 8272604 - msgbox Text_Blueprint, MSGBOX_SIGN - end - -Text_WouldYouLikeToMixRecords: @ 827260D - .string "Would you like to mix records with\n" - .string "other TRAINERS?$" - -Text_WouldNotLikeToMixRecords: @ 8272640 - .string "We hope to see you again!$" - -Text_BootUpPC: @ 827265A - .string "{PLAYER} booted up the PC.$" - -gText_WhichPCShouldBeAccessed:: @ 827266F - .string "Which PC should be accessed?$" - -gText_AccessedSomeonesPC:: @ 827268C - .string "Accessed SOMEONE'S PC.$" - -gText_StorageSystemOpened:: @ 82726A3 - .string "POKéMON Storage System opened.$" - -gText_AccessedPlayersPC:: @ 82726C2 - .string "Accessed {PLAYER}'s PC.$" - -gText_AccessedLanettesPC:: @ 82726D4 - .string "Accessed LANETTE's PC.$" - -gUnknown_082726EB:: @ 82726EB - .string "Hello, and welcome to\nthe POKéMON CENTER.\pWe restore your tired POKéMON\nto full health.\pWould you like to rest your POKéMON?$" - -gUnknown_08272768:: @ 8272768 - .string "Okay, I'll take your POKéMON\nfor a few seconds.$" - -gUnknown_08272798:: @ 8272798 - .string "Thank you for waiting.\pWe've restored your POKéMON\nto full health.$" - -gUnknown_082727DB:: @ 82727DB - .string "We hope to see you again!$" - -gUnknown_082727F5:: @ 82727F5 - .string "Hello, and welcome to\nthe POKéMON CENTER.\pWe restore your tired POKéMON\nto full health.\pWould you like to…$" - -gUnknown_08272860:: @ 8272860 - .string "Th-that card…\nCould it be… The GOLD CARD?!\pOh, the gold color is brilliant!\nThe four stars seem to sparkle!\pI've seen several TRAINERS with\na SILVER CARD before, but, {PLAYER},\lyou're the first TRAINER I've ever\lseen with a GOLD CARD!\pOkay, {PLAYER}, please allow me\nthe honor of resting your POKéMON!$" - -gUnknown_08272982:: @ 8272982 - .string "I'm delighted to see you, {PLAYER}!\nYou want the usual, am I right?$" - -gUnknown_082729C0:: @ 82729C0 - .string "Okay, I'll take your POKéMON\nfor a few seconds.$" - -gUnknown_082729F0:: @ 82729F0 - .string "Thank you for waiting.$" - -gUnknown_08272A07:: @ 8272A07 - .string "We hope to see you again!$" - -gUnknown_08272A21:: @ 8272A21 - .string "Welcome!\pHow may I serve you?$" - -gUnknown_08272A3F:: @ 8272A3F - .string "Please come again!$" - -gUnknown_08272A52:: @ 8272A52 - .string "{PLAYER}{KUN}, welcome!\pWhat can I do for you?$" - -gUnknown_08272A78:: @ 8272A78 - .string "Obtained the {STR_VAR_2}!$" - -gUnknown_08272A89:: @ 8272A89 - .string "The BAG is full…$" - -gText_PutItemInPocket:: @ 8272A9A - .string "{PLAYER} put away the {STR_VAR_2}\nin the {STR_VAR_3} POCKET.$" - -gText_PlayerFoundOneItem:: @ 8272ABF - .string "{PLAYER} found one {STR_VAR_2}!$" - -gText_TooBadBagIsFull:: @ 8272AD0 - .string "Too bad!\nThe BAG is full…$" - -gText_PlayerPutItemInBag:: @ 8272AEA - .string "{PLAYER} put away the {STR_VAR_2}\nin the BAG.$" - -gUnknown_08272B09:: @ 8272B09 - .string "Obtained the {STR_VAR_2}!$" - -gText_NoRoomLeftForAnother:: @ 8272B1A - .string "Too bad! There's no room left for\nanother {STR_VAR_2}…$" - -gUnknown_08272B48:: @ 8272B48 - .string "The {STR_VAR_2} was transferred\nto the PC.$" + .include "data/scripts/elite_four.inc" + .include "data/scripts/movement.inc" + .include "data/scripts/check_furniture.inc" + .include "data/text/record_mix.inc" + .include "data/text/pc.inc" + .include "data/text/pkmn_center_nurse.inc" + .include "data/text/mart_clerk.inc" + .include "data/text/obtain_item.inc" +@ The below and surf.inc could be split into some text/notices.inc gText_PokemartSign:: @ 8272B6A - .string "“Selected items for your convenience!”\nPOKéMON MART$" + .string "“Selected items for your convenience!”\n" + .string "POKéMON MART$" gText_PokemonCenterSign:: @ 8272B9E - .string "“Rejuvenate your tired partners!”\nPOKéMON CENTER$" + .string "“Rejuvenate your tired partners!”\n" + .string "POKéMON CENTER$" -gUnknown_08272BCF:: @ 8272BCF - .string "{STR_VAR_1} might like this program.\n… … … … … … … … … … … … … … … …\pBetter get going!$" +gText_MomOrDadMightLikeThisProgram:: @ 8272BCF + .string "{STR_VAR_1} might like this program.\n" + .string "… … … … … … … … … … … … … … … …\p" + .string "Better get going!$" -gUnknown_08272C1D:: @ 8272C1D - .string "Welcome to LILYCOVE DEPARTMENT STORE.\pWhich floor would you like?$" +gText_WhichFloorWouldYouLike:: @ 8272C1D + .string "Welcome to LILYCOVE DEPARTMENT STORE.\p" + .string "Which floor would you like?$" -gUnknown_08272C5F:: @ 8272C5F - .string "The sandstorm is vicious.\nIt's impossible to keep going.$" +gText_SandstormIsVicious:: @ 8272C5F + .string "The sandstorm is vicious.\n" + .string "It's impossible to keep going.$" gText_SelectWithoutRegisteredItem:: @ 8272C98 - .string "An item in the BAG can be\nregistered to SELECT for easy use.$" + .string "An item in the BAG can be\n" + .string "registered to SELECT for easy use.$" -gUnknown_08272CD5:: @ 8272CD5 - .string "There's an e-mail from POKéMON TRAINER\nSCHOOL.\p… … … … … …\pA POKéMON may learn up to four moves.\pA TRAINER's expertise is tested on the\nmove sets chosen for POKéMON.\p… … … … … …$" +gText_PokemonTrainerSchoolEmail:: @ 8272CD5 + .string "There's an e-mail from POKéMON TRAINER\n" + .string "SCHOOL.\p" + .string "… … … … … …\p" + .string "A POKéMON may learn up to four moves.\p" + .string "A TRAINER's expertise is tested on the\n" + .string "move sets chosen for POKéMON.\p" + .string "… … … … … …$" gText_PlayerHouseBootPC:: @ 8272D87 .string "{PLAYER} booted up the PC.$" -gUnknown_08272D9C:: @ 8272D9C +gText_PokeblockLinkCanceled:: @ 8272D9C .string "The link was canceled.$" -gUnknown_08272DB3:: @ 8272DB3 - .string "Want to give a nickname to\nthe {STR_VAR_2} you received?$" +gText_UnusedNicknameReceivedPokemon:: @ 8272DB3 + .string "Want to give a nickname to\n" + .string "the {STR_VAR_2} you received?$" -gUnknown_08272DE3:: @ 8272DE3 - .string "{PLAYER} is out of usable\nPOKéMON!\p{PLAYER} whited out!$" +gText_PlayerWhitedOut:: @ 8272DE3 + .string "{PLAYER} is out of usable\n" + .string "POKéMON!\p{PLAYER} whited out!$" gText_RegisteredTrainerinPokeNav:: @ 8272E0F - .string "Registered {STR_VAR_1} {STR_VAR_2}\nin the POKéNAV.$" + .string "Registered {STR_VAR_1} {STR_VAR_2}\n" + .string "in the POKéNAV.$" -gUnknown_08272E30:: @ 8272E30 - .string "Do you know the TM SECRET POWER?\pOur group, we love the TM SECRET\nPOWER.\pOne of our members will give it to you.\nCome back and show me if you get it.\pWe'll accept you as a member and sell\nyou good stuff in secrecy.$" +gText_ComeBackWithSecretPower:: @ 8272E30 + .string "Do you know the TM SECRET POWER?\p" + .string "Our group, we love the TM SECRET\n" + .string "POWER.\p" + .string "One of our members will give it to you.\n" + .string "Come back and show me if you get it.\p" + .string "We'll accept you as a member and sell\n" + .string "you good stuff in secrecy.$" gText_PokerusExplanation:: @ 8272F07 - .string "Your POKéMON may be infected with\nPOKéRUS.\pLittle is known about the POKéRUS\nexcept that they are microscopic life-\lforms that attach to POKéMON.\pWhile infected, POKéMON are said to\ngrow exceptionally well.$" + .string "Your POKéMON may be infected with\n" + .string "POKéRUS.\p" + .string "Little is known about the POKéRUS\n" + .string "except that they are microscopic life-\l" + .string "forms that attach to POKéMON.\p" + .string "While infected, POKéMON are said to\n" + .string "grow exceptionally well.$" .include "data/text/surf.inc" -gUnknown_0827301B:: @ 827301B - .string "It sounded as if a door opened\nsomewhere far away.$" +gText_DoorOpenedFarAway:: @ 827301B + .string "It sounded as if a door opened\n" + .string "somewhere far away.$" -gUnknown_0827304E:: @ 827304E +gText_BigHoleInTheWall:: @ 827304E .string "There is a big hole in the wall.$" -gUnknown_0827306F:: @ 827306F - .string "I'm terribly sorry.\nThe POKéMON WIRELESS CLUB is\lundergoing adjustments now.$" +gText_SorryWirelessClubAdjustments:: @ 827306F + .string "I'm terribly sorry.\n" + .string "The POKéMON WIRELESS CLUB is\l" + .string "undergoing adjustments now.$" -gUnknown_082730BC:: @ 82730BC - .string "It appears to be undergoing\nadjustments…$" +gText_UndergoingAdjustments:: @ 82730BC + .string "It appears to be undergoing\n" + .string "adjustments…$" -gUnknown_082730E5:: @ 82730E5 - .string "I'm terribly sorry. The TRADE CENTER\nis undergoing inspections.$" +@ Unused +gText_SorryTradeCenterInspections:: @ 82730E5 + .string "I'm terribly sorry. The TRADE CENTER\n" + .string "is undergoing inspections.$" -gUnknown_08273125:: @ 8273125 - .string "I'm terribly sorry. The RECORD CORNER\nis under preparation.$" +@ Unused +gText_SorryRecordCornerPreparation:: @ 8273125 + .string "I'm terribly sorry. The RECORD CORNER\n" + .string "is under preparation.$" -gUnknown_08273161:: @ 8273161 - .string "{PLAYER} handed over the\n{STR_VAR_1}.$" +gText_PlayerHandedOverTheItem:: @ 8273161 + .string "{PLAYER} handed over the\n" + .string "{STR_VAR_1}.$" -gUnknown_08273178:: @ 8273178 - .string "Thank you for accessing the\nMYSTERY GIFT System.$" +gText_ThankYouForAccessingMysteryGift:: @ 8273178 + .string "Thank you for accessing the\n" + .string "MYSTERY GIFT System.$" -gText_PlayerFoundOneItemTwoLines:: @ 82731A9 - .string "{PLAYER} found one {STR_VAR_1}\n{STR_VAR_2}!$" +gText_PlayerFoundOneTMHM:: @ 82731A9 + .string "{PLAYER} found one {STR_VAR_1}\n" + .string "{STR_VAR_2}!$" gText_Sudowoodo_Attacked:: @ 82731BD - .string "The weird tree doesn't like the\nWAILMER PAIL!\pThe weird tree attacked!$" + .string "The weird tree doesn't like the\n" + .string "WAILMER PAIL!\p" + .string "The weird tree attacked!$" gText_LegendaryFlewAway:: @ 8273204 .string "The {STR_VAR_1} flew away!$" -gText_PkmnTransferredSomeonesPC:: @ 8273216 - .string "{STR_VAR_2} was transferred to\nSOMEONE'S PC.\pIt was placed in \nBOX “{STR_VAR_1}.”$" - -gText_PkmnTransferredLanettesPC:: @ 8273256 - .string "{STR_VAR_2} was transferred to\nLANETTE'S PC.\pIt was placed in \nBOX “{STR_VAR_1}.”$" - -gText_PkmnBoxSomeonesPCFull:: @ 8273296 - .string "BOX “{STR_VAR_3}” on\nSOMEONE'S PC was full.\p{STR_VAR_2} was transferred to\nBOX “{STR_VAR_1}.”$" - -gText_PkmnBoxLanettesPCFull:: @ 82732D9 - .string "BOX “{STR_VAR_3}” on\nLANETTE'S PC was full.\p{STR_VAR_2} was transferred to\nBOX “{STR_VAR_1}.”$" - -gUnknown_0827331C:: @ 827331C - .string "There's no more room for POKéMON!\pThe POKéMON BOXES are full and\ncan't accept any more!$" - -gText_NicknameThisPokemon:: @ 8273374 - .string "Do you want to give a nickname to\nthis {STR_VAR_1}?$" - -gUnknown_0827339F:: @ 827339F - .string "There is a questionnaire.\nWould you like to fill it out?$" - -gUnknown_082733D8:: @ 82733D8 - .string "Thank you for taking the time to\nfill out our questionnaire.\pYour feedback will be used for\nfuture reference.$" - -gUnknown_08273446:: @ 8273446 - .string "Oh, hello!\nYou know those words?\pThat means you must know about\nthe MYSTERY GIFT.\pFrom now on, you should be\nreceiving MYSTERY GIFTS!$" - -gUnknown_082734CC:: @ 82734CC - .string "Once you save your game, you can\naccess the MYSTERY GIFT.$" - -gUnknown_08273506:: @ 8273506 - .string "Oh, hello!\nYou know those words?\pThat means you must know about\nthe MYSTERY EVENT.$" - -gUnknown_08273559:: @ 8273559 - .string "Once you save your game, you can\naccess the MYSTERY EVENT.$" - -gUnknown_08273594:: @ 8273594 - .string "Thank you for using the MYSTERY\nEVENT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$" - -gUnknown_082735F2:: @ 82735F2 - .string "It appears to be for use at\nthe LILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$" - -gText_UnusualWeatherEnded_Rain:: @ 8273656 - .string "The massive downpour appears to\nhave stopped…$" - -gText_UnusualWeatherEnded_Sun:: @ 8273684 - .string "The intense sunshine appears to\nhave subsided…$" + .include "data/text/pc_transfer.inc" + .include "data/text/mevent.inc" + .include "data/text/abnormal_weather.inc" EventScript_SelectWithoutRegisteredItem:: @ 82736B3 msgbox gText_SelectWithoutRegisteredItem, MSGBOX_SIGN end -EventScript_Poison:: @ 82736BC - lockall - special ExecuteWhiteOut - waitstate - compare VAR_RESULT, 1 - goto_if_eq EventScript_2736D9 - compare VAR_RESULT, 2 - goto_if_eq EventScript_2736F8 - releaseall - end - -EventScript_2736D9:: @ 82736D9 - message gUnknown_08272DE3 - waitmessage - waitbuttonpress - special sub_80B05B4 - waitstate - fadescreen 1 - call_if_set FLAG_FLANNERY_GIVES_BADGE_INFO, EventScript_2736F4 - special sp0C8_whiteout_maybe - waitstate - end - -EventScript_2736F4:: @ 82736F4 - setrespawn HEAL_LOCATION_LAVARIDGE_TOWN - return - -EventScript_2736F8:: @ 82736F8 - message gUnknown_08272DE3 - waitmessage - waitbuttonpress - setvar VAR_0x8004, 16 - special CallBattlePikeFunction - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222 - setvar VAR_0x8004, 12 - special CallBattlePyramidFunction - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 - compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 - setvar VAR_0x8004, TRAINER_HILL_FUNC_10 - special CallTrainerHillFunction - compare VAR_RESULT, 1 - goto_if_eq TrainerHill_1F_EventScript_2C83C9 - special sub_80B05B4 - waitstate - fadescreen 1 - special sp0C8_whiteout_maybe - waitstate - end + .include "data/scripts/field_poison.inc" Common_EventScript_NopReturn:: @ 827374E return -EventScript_UnusedSetVarResult1:: @ 827374F +@ Unused +EventScript_CableClub_SetVarResult1:: @ 827374F setvar VAR_RESULT, 1 return -OldaleTown_PokemonCenter_2F_EventScript_273755:: @ 8273755 +EventScript_CableClub_SetVarResult0:: @ 8273755 setvar VAR_RESULT, 0 return -BattleFrontier_PokemonCenter_2F_EventScript_27375B:: @ 827375B -DewfordTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B -EverGrandeCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -EverGrandeCity_PokemonLeague_2F_EventScript_27375B:: @ 827375B -FallarborTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B -FortreeCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -LavaridgeTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B -LilycoveCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -MauvilleCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -MossdeepCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -OldaleTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B -PacifidlogTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B -PetalburgCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -RustboroCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -SlateportCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -SootopolisCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B -VerdanturfTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B - call OldaleTown_PokemonCenter_2F_EventScript_27751B +Common_EventScript_UnionRoomAttendant:: @ 827375B + call CableClub_EventScript_UnionRoomAttendant end -BattleFrontier_PokemonCenter_2F_EventScript_273761:: @ 8273761 -DewfordTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 -EverGrandeCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -EverGrandeCity_PokemonLeague_2F_EventScript_273761:: @ 8273761 -FallarborTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 -FortreeCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -LavaridgeTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 -LilycoveCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -MauvilleCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -MossdeepCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -OldaleTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 -PacifidlogTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 -PetalburgCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -RustboroCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -SlateportCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -SootopolisCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 -VerdanturfTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 - call OldaleTown_PokemonCenter_2F_EventScript_277672 +Common_EventScript_WirelessClubAttendant:: @ 8273761 + call CableClub_EventScript_WirelessClubAttendant end -BattleFrontier_PokemonCenter_2F_EventScript_273767:: @ 8273767 -DewfordTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 -EverGrandeCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -EverGrandeCity_PokemonLeague_2F_EventScript_273767:: @ 8273767 -FallarborTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 -FortreeCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -LavaridgeTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 -LilycoveCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -MauvilleCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -MossdeepCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -OldaleTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 -PacifidlogTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 -PetalburgCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -RustboroCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -SlateportCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -SootopolisCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 -VerdanturfTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 - call OldaleTown_PokemonCenter_2F_EventScript_2776A4 +Common_EventScript_DirectCornerAttendant:: @ 8273767 + call CableClub_EventScript_DirectCornerAttendant end -AncientTomb_EventScript_27376D:: @ 827376D -AquaHideout_B1F_EventScript_27376D:: @ 827376D -DesertRuins_EventScript_27376D:: @ 827376D -IslandCave_EventScript_27376D:: @ 827376D -MarineCave_End_EventScript_27376D:: @ 827376D -NewMauville_Inside_EventScript_27376D:: @ 827376D -Route119_EventScript_27376D:: @ 827376D -TerraCave_End_EventScript_27376D:: @ 827376D - fadescreenswapbuffers 1 +Common_EventScript_RemoveStaticPokemon:: @ 827376D + fadescreenswapbuffers FADE_TO_BLACK removeobject VAR_LAST_TALKED - fadescreenswapbuffers 0 + fadescreenswapbuffers FADE_FROM_BLACK release end -AncientTomb_EventScript_273776:: @ 8273776 -BirthIsland_Exterior_EventScript_273776:: @ 8273776 -DesertRuins_EventScript_273776:: @ 8273776 -FarawayIsland_Interior_EventScript_273776:: @ 8273776 -IslandCave_EventScript_273776:: @ 8273776 -MarineCave_End_EventScript_273776:: @ 8273776 -NavelRock_Bottom_EventScript_273776:: @ 8273776 -NavelRock_Top_EventScript_273776:: @ 8273776 -SouthernIsland_Interior_EventScript_273776:: @ 8273776 -TerraCave_End_EventScript_273776:: @ 8273776 - fadescreenswapbuffers 1 +Common_EventScript_LegendaryFlewAway:: @ 8273776 + fadescreenswapbuffers FADE_TO_BLACK removeobject VAR_LAST_TALKED - fadescreenswapbuffers 0 + fadescreenswapbuffers FADE_FROM_BLACK bufferspeciesname 0, VAR_0x8004 msgbox gText_LegendaryFlewAway, MSGBOX_DEFAULT release end -LittlerootTown_ProfessorBirchsLab_EventScript_27378B:: @ 827378B -MossdeepCity_StevensHouse_EventScript_27378B:: @ 827378B -Route119_WeatherInstitute_2F_EventScript_27378B:: @ 827378B -RustboroCity_DevonCorp_2F_EventScript_27378B:: @ 827378B - getpartysize - subvar VAR_RESULT, 1 - copyvar VAR_0x8004, VAR_RESULT - return - -LittlerootTown_ProfessorBirchsLab_EventScript_273797:: @ 8273797 -MossdeepCity_StevensHouse_EventScript_273797:: @ 8273797 -Route119_WeatherInstitute_2F_EventScript_273797:: @ 8273797 -RustboroCity_DevonCorp_2F_EventScript_273797:: @ 8273797 - fadescreen 1 - special ChangeBoxPokemonNickname - waitstate - lock - faceplayer - return - -LittlerootTown_ProfessorBirchsLab_EventScript_2737A0:: @ 82737A0 -MossdeepCity_StevensHouse_EventScript_2737A0:: @ 82737A0 -Route119_WeatherInstitute_2F_EventScript_2737A0:: @ 82737A0 -RustboroCity_DevonCorp_2F_EventScript_2737A0:: @ 82737A0 - bufferboxname 0, VAR_STORAGE_UNKNOWN - bufferspeciesname 1, VAR_TEMP_1 - call_if_unset FLAG_SYS_PC_LANETTE, LittlerootTown_ProfessorBirchsLab_EventScript_2737BB - call_if_set FLAG_SYS_PC_LANETTE, LittlerootTown_ProfessorBirchsLab_EventScript_2737E6 - return - -LittlerootTown_ProfessorBirchsLab_EventScript_2737BB:: @ 82737BB - specialvar VAR_RESULT, sub_813B21C - compare VAR_RESULT, 1 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737D4 - msgbox gText_PkmnTransferredSomeonesPC, MSGBOX_DEFAULT - return - -LittlerootTown_ProfessorBirchsLab_EventScript_2737D4:: @ 82737D4 - specialvar VAR_RESULT, get_unknown_box_id - bufferboxname 2, VAR_RESULT - msgbox gText_PkmnBoxSomeonesPCFull, MSGBOX_DEFAULT - return - -LittlerootTown_ProfessorBirchsLab_EventScript_2737E6:: @ 82737E6 - specialvar VAR_RESULT, sub_813B21C - compare VAR_RESULT, 1 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737FF - msgbox gText_PkmnTransferredLanettesPC, MSGBOX_DEFAULT - return - -LittlerootTown_ProfessorBirchsLab_EventScript_2737FF:: @ 82737FF - specialvar VAR_RESULT, get_unknown_box_id - bufferboxname 2, VAR_RESULT - msgbox gText_PkmnBoxLanettesPCFull, MSGBOX_DEFAULT - return - -LittlerootTown_ProfessorBirchsLab_EventScript_273811:: @ 8273811 -MossdeepCity_StevensHouse_EventScript_273811:: @ 8273811 -Route119_WeatherInstitute_2F_EventScript_273811:: @ 8273811 -RustboroCity_DevonCorp_2F_EventScript_273811:: @ 8273811 - msgbox gUnknown_0827331C, MSGBOX_DEFAULT - release - end - -EventScript_Questionnaire:: @ 827381B - lockall - msgbox gUnknown_0827339F, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq EventScript_2738FD - setvar VAR_0x8004, EASY_CHAT_TYPE_QUESTIONNAIRE - call Common_ShowEasyChatScreen - lock - faceplayer - specialvar VAR_0x8008, sub_813B490 - compare VAR_0x8004, 1 - goto_if_eq EventScript_27386D - compare VAR_0x8004, 2 - goto_if_eq EventScript_2738B5 - compare VAR_RESULT, 0 - goto_if_eq EventScript_2738FD - compare VAR_RESULT, 1 - goto_if_eq EventScript_2738FF - end - -EventScript_27386D:: @ 827386D - goto_if_unset FLAG_SYS_POKEDEX_GET, EventScript_2738FF - goto_if_set FLAG_SYS_MYSTERY_EVENT_ENABLE, EventScript_2738FF - applymovement VAR_0x8008, Common_Movement_FaceDown - waitmovement 0 - playse SE_PIN - applymovement VAR_0x8008, Common_Movement_ExclamationMark - waitmovement 0 - applymovement VAR_0x8008, Common_Movement_Delay48 - waitmovement 0 - msgbox gUnknown_08273506, MSGBOX_DEFAULT - setflag FLAG_SYS_MYSTERY_EVENT_ENABLE - msgbox gUnknown_08273559, MSGBOX_DEFAULT - releaseall - end - -EventScript_2738B5:: @ 82738B5 - goto_if_unset FLAG_SYS_POKEDEX_GET, EventScript_2738FF - goto_if_set FLAG_SYS_MYSTERY_GIFT_ENABLE, EventScript_2738FF - applymovement VAR_0x8008, Common_Movement_FaceDown - waitmovement 0 - playse SE_PIN - applymovement VAR_0x8008, Common_Movement_ExclamationMark - waitmovement 0 - applymovement VAR_0x8008, Common_Movement_Delay48 - waitmovement 0 - msgbox gUnknown_08273446, MSGBOX_DEFAULT - setflag FLAG_SYS_MYSTERY_GIFT_ENABLE - msgbox gUnknown_082734CC, MSGBOX_DEFAULT - releaseall - end - -EventScript_2738FD:: @ 82738FD - releaseall - end - -EventScript_2738FF:: @ 82738FF - applymovement VAR_0x8008, Common_Movement_FaceDown - waitmovement 0 - msgbox gUnknown_082733D8, MSGBOX_DEFAULT - releaseall - end - -UnusualWeather_EventScript_PlaceTilesRoute114North:: @ 8273913 - setmetatile 7, 3, METATILE_Fallarbor_RedCaveEntrance_Top, 1 - setmetatile 7, 4, METATILE_Fallarbor_RedCaveEntrance_Bottom, 0 - return - -UnusualWeather_EventScript_PlaceTilesRoute114South:: @ 8273926 - setmetatile 6, 45, METATILE_Fallarbor_BrownCaveEntrance_Top, 1 - setmetatile 6, 46, METATILE_Fallarbor_BrownCaveEntrance_Bottom, 0 - return - -UnusualWeather_EventScript_PlaceTilesRoute115West:: @ 8273939 - setmetatile 21, 5, METATILE_Fallarbor_BrownCaveEntrance_Top, 1 - setmetatile 21, 6, METATILE_Fallarbor_BrownCaveEntrance_Bottom, 0 - return - -UnusualWeather_EventScript_PlaceTilesRoute115East:: @ 827394C - setmetatile 36, 9, METATILE_Fallarbor_BrownCaveEntrance_Top, 1 - setmetatile 36, 10, METATILE_Fallarbor_BrownCaveEntrance_Bottom, 0 - return - -UnusualWeather_EventScript_PlaceTilesRoute116North:: @ 827395F - setmetatile 59, 12, METATILE_General_CaveEntrance_Top, 1 - setmetatile 59, 13, METATILE_General_CaveEntrance_Bottom, 0 - return - -UnusualWeather_EventScript_PlaceTilesRoute116South:: @ 8273972 - setmetatile 79, 5, METATILE_General_CaveEntrance_Top, 1 - setmetatile 79, 6, METATILE_General_CaveEntrance_Bottom, 0 - return - -UnusualWeather_EventScript_PlaceTilesRoute118East:: @ 8273985 - setmetatile 42, 5, METATILE_General_CaveEntrance_Top, 1 - setmetatile 42, 6, METATILE_General_CaveEntrance_Bottom, 0 - return - -UnusualWeather_EventScript_PlaceTilesRoute118West:: @ 8273998 - setmetatile 9, 5, METATILE_General_CaveEntrance_Top, 1 - setmetatile 9, 6, METATILE_General_CaveEntrance_Bottom, 0 - return - -UnusualWeather_EventScript_PlaceTilesRoute105North:: @ 82739AB - setmetatile 10, 28, METATILE_General_RoughWater, 0 - setmetatile 11, 28, METATILE_General_RoughWater, 0 - setmetatile 9, 29, METATILE_General_RoughWater, 0 - setmetatile 10, 29, METATILE_General_RoughDeepWater, 0 - setmetatile 11, 29, METATILE_General_RoughDeepWater, 0 - setmetatile 12, 29, METATILE_General_RoughWater, 0 - setmetatile 9, 30, METATILE_General_RoughWater, 0 - setmetatile 10, 30, METATILE_General_RoughDeepWater, 0 - setmetatile 11, 30, METATILE_General_RoughDeepWater, 0 - setmetatile 12, 30, METATILE_General_RoughWater, 0 - setmetatile 10, 31, METATILE_General_RoughWater, 0 - setmetatile 11, 31, METATILE_General_RoughWater, 0 - return - -UnusualWeather_EventScript_PlaceTilesRoute105South:: @ 8273A18 - setmetatile 20, 53, METATILE_General_RoughWater, 0 - setmetatile 21, 53, METATILE_General_RoughWater, 0 - setmetatile 19, 54, METATILE_General_RoughWater, 0 - setmetatile 20, 54, METATILE_General_RoughDeepWater, 0 - setmetatile 21, 54, METATILE_General_RoughDeepWater, 0 - setmetatile 22, 54, METATILE_General_RoughWater, 0 - setmetatile 19, 55, METATILE_General_RoughWater, 0 - setmetatile 20, 55, METATILE_General_RoughDeepWater, 0 - setmetatile 21, 55, METATILE_General_RoughDeepWater, 0 - setmetatile 22, 55, METATILE_General_RoughWater, 0 - setmetatile 20, 56, METATILE_General_RoughWater, 0 - setmetatile 21, 56, METATILE_General_RoughWater, 0 - return - -UnusualWeather_EventScript_PlaceTilesRoute125West:: @ 8273A85 - setmetatile 8, 16, METATILE_General_RoughWater, 0 - setmetatile 9, 16, METATILE_General_RoughWater, 0 - setmetatile 7, 17, METATILE_General_RoughWater, 0 - setmetatile 8, 17, METATILE_General_RoughDeepWater, 0 - setmetatile 9, 17, METATILE_General_RoughDeepWater, 0 - setmetatile 10, 17, METATILE_General_RoughWater, 0 - setmetatile 7, 18, METATILE_General_RoughWater, 0 - setmetatile 8, 18, METATILE_General_RoughDeepWater, 0 - setmetatile 9, 18, METATILE_General_RoughDeepWater, 0 - setmetatile 10, 18, METATILE_General_RoughWater, 0 - setmetatile 8, 19, METATILE_General_RoughWater, 0 - setmetatile 9, 19, METATILE_General_RoughWater, 0 - return - -UnusualWeather_EventScript_PlaceTilesRoute125East:: @ 8273AF2 - setmetatile 53, 18, METATILE_General_RoughWater, 0 - setmetatile 54, 18, METATILE_General_RoughWater, 0 - setmetatile 52, 19, METATILE_General_RoughWater, 0 - setmetatile 53, 19, METATILE_General_RoughDeepWater, 0 - setmetatile 54, 19, METATILE_General_RoughDeepWater, 0 - setmetatile 55, 19, METATILE_General_RoughWater, 0 - setmetatile 52, 20, METATILE_General_RoughWater, 0 - setmetatile 53, 20, METATILE_General_RoughDeepWater, 0 - setmetatile 54, 20, METATILE_General_RoughDeepWater, 0 - setmetatile 55, 20, METATILE_General_RoughWater, 0 - setmetatile 53, 21, METATILE_General_RoughWater, 0 - setmetatile 54, 21, METATILE_General_RoughWater, 0 - return - -UnusualWeather_EventScript_PlaceTilesRoute127North:: @ 8273B5F - setmetatile 57, 9, METATILE_General_RoughWater, 0 - setmetatile 58, 9, METATILE_General_RoughWater, 0 - setmetatile 56, 10, METATILE_General_RoughWater, 0 - setmetatile 57, 10, METATILE_General_RoughDeepWater, 0 - setmetatile 58, 10, METATILE_General_RoughDeepWater, 0 - setmetatile 59, 10, METATILE_General_RoughWater, 0 - setmetatile 56, 11, METATILE_General_RoughWater, 0 - setmetatile 57, 11, METATILE_General_RoughDeepWater, 0 - setmetatile 58, 11, METATILE_General_RoughDeepWater, 0 - setmetatile 59, 11, METATILE_General_RoughWater, 0 - setmetatile 57, 12, METATILE_General_RoughWater, 0 - setmetatile 58, 12, METATILE_General_RoughWater, 0 - return - -UnusualWeather_EventScript_PlaceTilesRoute127South:: @ 8273BCC - setmetatile 61, 30, METATILE_General_RoughWater, 0 - setmetatile 62, 30, METATILE_General_RoughWater, 0 - setmetatile 60, 31, METATILE_General_RoughWater, 0 - setmetatile 61, 31, METATILE_General_RoughDeepWater, 0 - setmetatile 62, 31, METATILE_General_RoughDeepWater, 0 - setmetatile 63, 31, METATILE_General_RoughWater, 0 - setmetatile 60, 32, METATILE_General_RoughWater, 0 - setmetatile 61, 32, METATILE_General_RoughDeepWater, 0 - setmetatile 62, 32, METATILE_General_RoughDeepWater, 0 - setmetatile 63, 32, METATILE_General_RoughWater, 0 - setmetatile 61, 33, METATILE_General_RoughWater, 0 - setmetatile 62, 33, METATILE_General_RoughWater, 0 - return - -UnusualWeather_EventScript_PlaceTilesRoute129West:: @ 8273C39 - setmetatile 16, 14, METATILE_General_RoughWater, 0 - setmetatile 17, 14, METATILE_General_RoughWater, 0 - setmetatile 15, 15, METATILE_General_RoughWater, 0 - setmetatile 16, 15, METATILE_General_RoughDeepWater, 0 - setmetatile 17, 15, METATILE_General_RoughDeepWater, 0 - setmetatile 18, 15, METATILE_General_RoughWater, 0 - setmetatile 15, 16, METATILE_General_RoughWater, 0 - setmetatile 16, 16, METATILE_General_RoughDeepWater, 0 - setmetatile 17, 16, METATILE_General_RoughDeepWater, 0 - setmetatile 18, 16, METATILE_General_RoughWater, 0 - setmetatile 16, 17, METATILE_General_RoughWater, 0 - setmetatile 17, 17, METATILE_General_RoughWater, 0 - return - -UnusualWeather_EventScript_PlaceTilesRoute129East:: @ 8273CA6 - setmetatile 42, 19, METATILE_General_RoughWater, 0 - setmetatile 43, 19, METATILE_General_RoughWater, 0 - setmetatile 41, 20, METATILE_General_RoughWater, 0 - setmetatile 42, 20, METATILE_General_RoughDeepWater, 0 - setmetatile 43, 20, METATILE_General_RoughDeepWater, 0 - setmetatile 44, 20, METATILE_General_RoughWater, 0 - setmetatile 41, 21, METATILE_General_RoughWater, 0 - setmetatile 42, 21, METATILE_General_RoughDeepWater, 0 - setmetatile 43, 21, METATILE_General_RoughDeepWater, 0 - setmetatile 44, 21, METATILE_General_RoughWater, 0 - setmetatile 42, 22, METATILE_General_RoughWater, 0 - setmetatile 43, 22, METATILE_General_RoughWater, 0 - return - -Route105_EventScript_273D13:: @ 8273D13 -Route114_EventScript_273D13:: @ 8273D13 -Route115_EventScript_273D13:: @ 8273D13 -Route116_EventScript_273D13:: @ 8273D13 -Route118_EventScript_273D13:: @ 8273D13 -Route125_EventScript_273D13:: @ 8273D13 -Route127_EventScript_273D13:: @ 8273D13 -Route129_EventScript_273D13:: @ 8273D13 - setflag FLAG_HIDE_MAP_NAME_POPUP - return - -UnusualWeather_StartKyogreWeather:: @ 8273D17 - setweather WEATHER_RAIN_HEAVY - return - -UnusualWeather_StartGroudonWeather:: @ 8273D1B - setweather WEATHER_DROUGHT - return - -UnusualWeather_EventScript_EndEventAndCleanup_1:: @ 8273D1F - lockall - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_KYOGRE_LOCATIONS_START - goto_if_ge UnusualWeather_EventScript_ShowRainEndedMessage - goto UnusualWeather_EventScript_ShowSunEndedMessage - end - -UnusualWeather_EventScript_EndEventAndCleanup_2:: @ 8273D31 - closemessage - fadescreenswapbuffers 1 - setweather WEATHER_SUNNY - doweather - call UnusualWeather_EventScript_CleanupMapTiles - special DrawWholeMapView - setvar VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_NONE - setvar VAR_SHOULD_END_UNUSUAL_WEATHER, 0 - clearflag FLAG_HIDE_MAP_NAME_POPUP - fadescreenswapbuffers 0 - releaseall - end - -UnusualWeather_EventScript_ShowRainEndedMessage:: @ 8273D51 - msgbox gText_UnusualWeatherEnded_Rain, MSGBOX_DEFAULT - goto UnusualWeather_EventScript_EndEventAndCleanup_2 - end - -UnusualWeather_EventScript_ShowSunEndedMessage:: @ 8273D5F - msgbox gText_UnusualWeatherEnded_Sun, MSGBOX_DEFAULT - goto UnusualWeather_EventScript_EndEventAndCleanup_2 - end - -UnusualWeather_EventScript_CleanupMapTiles:: @ 8273D6D - switch VAR_UNUSUAL_WEATHER_LOCATION - case UNUSUAL_WEATHER_ROUTE_114_NORTH, UnusualWeather_EventScript_CleanupRoute114North - case UNUSUAL_WEATHER_ROUTE_114_SOUTH, UnusualWeather_EventScript_CleanupRoute114South - case UNUSUAL_WEATHER_ROUTE_115_WEST, UnusualWeather_EventScript_CleanupRoute115West - case UNUSUAL_WEATHER_ROUTE_115_EAST, UnusualWeather_EventScript_CleanupRoute115East - case UNUSUAL_WEATHER_ROUTE_116_NORTH, UnusualWeather_EventScript_CleanupRoute116North - case UNUSUAL_WEATHER_ROUTE_116_SOUTH, UnusualWeather_EventScript_CleanupRoute116South - case UNUSUAL_WEATHER_ROUTE_118_EAST, UnusualWeather_EventScript_CleanupRoute118East - case UNUSUAL_WEATHER_ROUTE_118_WEST, UnusualWeather_EventScript_CleanupRoute118West - case UNUSUAL_WEATHER_ROUTE_105_NORTH, UnusualWeather_EventScript_CleanupRoute105North - case UNUSUAL_WEATHER_ROUTE_105_SOUTH, UnusualWeather_EventScript_CleanupRoute105South - case UNUSUAL_WEATHER_ROUTE_125_WEST, UnusualWeather_EventScript_CleanupRoute125West - case UNUSUAL_WEATHER_ROUTE_125_EAST, UnusualWeather_EventScript_CleanupRoute125East - case UNUSUAL_WEATHER_ROUTE_127_NORTH, UnusualWeather_EventScript_CleanupRoute127North - case UNUSUAL_WEATHER_ROUTE_127_SOUTH, UnusualWeather_EventScript_CleanupRoute127South - case UNUSUAL_WEATHER_ROUTE_129_WEST, UnusualWeather_EventScript_CleanupRoute129West - case UNUSUAL_WEATHER_ROUTE_129_EAST, UnusualWeather_EventScript_CleanupRoute129East - return - -UnusualWeather_EventScript_CleanupRoute114North:: @ 8273E23 - setmetatile 7, 3, METATILE_Fallarbor_RedRockWall, 1 - setmetatile 7, 4, METATILE_Fallarbor_RedRockWall, 1 - return - -UnusualWeather_EventScript_CleanupRoute114South:: @ 8273E36 - setmetatile 6, 45, METATILE_Fallarbor_BrownRockWall, 1 - setmetatile 6, 46, METATILE_Fallarbor_BrownRockWall, 1 - return - -UnusualWeather_EventScript_CleanupRoute115West:: @ 8273E49 - setmetatile 21, 5, METATILE_Fallarbor_BrownRockWall, 1 - setmetatile 21, 6, METATILE_Fallarbor_BrownRockWall, 1 - return - -UnusualWeather_EventScript_CleanupRoute115East:: @ 8273E5C - setmetatile 36, 9, METATILE_Fallarbor_BrownRockWall, 1 - setmetatile 36, 10, METATILE_Fallarbor_BrownRockWall, 1 - return - -UnusualWeather_EventScript_CleanupRoute116North:: @ 8273E6F - setmetatile 59, 12, METATILE_General_RockWall_RockBase, 1 - setmetatile 59, 13, METATILE_General_RockWall_RockBase, 1 - return - -UnusualWeather_EventScript_CleanupRoute116South:: @ 8273E82 - setmetatile 79, 5, METATILE_General_RockWall_RockBase, 1 - setmetatile 79, 6, METATILE_General_RockWall_RockBase, 1 - return - -UnusualWeather_EventScript_CleanupRoute118East:: @ 8273E95 - setmetatile 42, 5, METATILE_General_RockWall_RockBase, 1 - setmetatile 42, 6, METATILE_General_RockWall_GrassBase, 1 - return - -UnusualWeather_EventScript_CleanupRoute118West:: @ 8273EA8 - setmetatile 9, 5, METATILE_General_RockWall_RockBase, 1 - setmetatile 9, 6, METATILE_General_RockWall_GrassBase, 1 - return - -UnusualWeather_EventScript_CleanupRoute105North:: @ 8273EBB - setmetatile 10, 28, METATILE_General_CalmWater, 0 - setmetatile 11, 28, METATILE_General_CalmWater, 0 - setmetatile 9, 29, METATILE_General_CalmWater, 0 - setmetatile 10, 29, METATILE_General_CalmWater, 0 - setmetatile 11, 29, METATILE_General_CalmWater, 0 - setmetatile 12, 29, METATILE_General_CalmWater, 0 - setmetatile 9, 30, METATILE_General_CalmWater, 0 - setmetatile 10, 30, METATILE_General_CalmWater, 0 - setmetatile 11, 30, METATILE_General_CalmWater, 0 - setmetatile 12, 30, METATILE_General_CalmWater, 0 - setmetatile 10, 31, METATILE_General_CalmWater, 0 - setmetatile 11, 31, METATILE_General_CalmWater, 0 - return - -UnusualWeather_EventScript_CleanupRoute105South:: @ 8273F28 - setmetatile 20, 53, METATILE_General_CalmWater, 0 - setmetatile 21, 53, METATILE_General_CalmWater, 0 - setmetatile 19, 54, METATILE_General_CalmWater, 0 - setmetatile 20, 54, METATILE_General_CalmWater, 0 - setmetatile 21, 54, METATILE_General_CalmWater, 0 - setmetatile 22, 54, METATILE_General_CalmWater, 0 - setmetatile 19, 55, METATILE_General_CalmWater, 0 - setmetatile 20, 55, METATILE_General_CalmWater, 0 - setmetatile 21, 55, METATILE_General_CalmWater, 0 - setmetatile 22, 55, METATILE_General_CalmWater, 0 - setmetatile 20, 56, METATILE_General_CalmWater, 0 - setmetatile 21, 56, METATILE_General_CalmWater, 0 - return - -UnusualWeather_EventScript_CleanupRoute125West:: @ 8273F95 - setmetatile 8, 16, METATILE_General_CalmWater, 0 - setmetatile 9, 16, METATILE_General_CalmWater, 0 - setmetatile 7, 17, METATILE_General_CalmWater, 0 - setmetatile 8, 17, METATILE_General_CalmWater, 0 - setmetatile 9, 17, METATILE_General_CalmWater, 0 - setmetatile 10, 17, METATILE_General_CalmWater, 0 - setmetatile 7, 18, METATILE_General_CalmWater, 0 - setmetatile 8, 18, METATILE_General_CalmWater, 0 - setmetatile 9, 18, METATILE_General_CalmWater, 0 - setmetatile 10, 18, METATILE_General_CalmWater, 0 - setmetatile 8, 19, METATILE_General_CalmWater, 0 - setmetatile 9, 19, METATILE_General_CalmWater, 0 - return - -UnusualWeather_EventScript_CleanupRoute125East:: @ 8274002 - setmetatile 53, 18, METATILE_General_CalmWater, 0 - setmetatile 54, 18, METATILE_General_CalmWater, 0 - setmetatile 52, 19, METATILE_General_CalmWater, 0 - setmetatile 53, 19, METATILE_General_CalmWater, 0 - setmetatile 54, 19, METATILE_General_CalmWater, 0 - setmetatile 55, 19, METATILE_General_CalmWater, 0 - setmetatile 52, 20, METATILE_General_CalmWater, 0 - setmetatile 53, 20, METATILE_General_CalmWater, 0 - setmetatile 54, 20, METATILE_General_CalmWater, 0 - setmetatile 55, 20, METATILE_General_CalmWater, 0 - setmetatile 53, 21, METATILE_General_CalmWater, 0 - setmetatile 54, 21, METATILE_General_CalmWater, 0 - return - -UnusualWeather_EventScript_CleanupRoute127North:: @ 827406F - setmetatile 57, 9, METATILE_General_CalmWater, 0 - setmetatile 58, 9, METATILE_General_CalmWater, 0 - setmetatile 56, 10, METATILE_General_CalmWater, 0 - setmetatile 57, 10, METATILE_General_CalmWater, 0 - setmetatile 58, 10, METATILE_General_CalmWater, 0 - setmetatile 59, 10, METATILE_General_CalmWater, 0 - setmetatile 56, 11, METATILE_General_CalmWater, 0 - setmetatile 57, 11, METATILE_General_CalmWater, 0 - setmetatile 58, 11, METATILE_General_CalmWater, 0 - setmetatile 59, 11, METATILE_General_CalmWater, 0 - setmetatile 57, 12, METATILE_General_CalmWater, 0 - setmetatile 58, 12, METATILE_General_CalmWater, 0 - return - -UnusualWeather_EventScript_CleanupRoute127South:: @ 82740DC - setmetatile 61, 30, METATILE_General_CalmWater, 0 - setmetatile 62, 30, METATILE_General_CalmWater, 0 - setmetatile 60, 31, METATILE_General_CalmWater, 0 - setmetatile 61, 31, METATILE_General_CalmWater, 0 - setmetatile 62, 31, METATILE_General_CalmWater, 0 - setmetatile 63, 31, METATILE_General_CalmWater, 0 - setmetatile 60, 32, METATILE_General_CalmWater, 0 - setmetatile 61, 32, METATILE_General_CalmWater, 0 - setmetatile 62, 32, METATILE_General_CalmWater, 0 - setmetatile 63, 32, METATILE_General_CalmWater, 0 - setmetatile 61, 33, METATILE_General_CalmWater, 0 - setmetatile 62, 33, METATILE_General_CalmWater, 0 - return - -UnusualWeather_EventScript_CleanupRoute129West:: @ 8274149 - setmetatile 16, 14, METATILE_General_CalmWater, 0 - setmetatile 17, 14, METATILE_General_CalmWater, 0 - setmetatile 15, 15, METATILE_General_CalmWater, 0 - setmetatile 16, 15, METATILE_General_CalmWater, 0 - setmetatile 17, 15, METATILE_General_CalmWater, 0 - setmetatile 18, 15, METATILE_General_CalmWater, 0 - setmetatile 15, 16, METATILE_General_CalmWater, 0 - setmetatile 16, 16, METATILE_General_CalmWater, 0 - setmetatile 17, 16, METATILE_General_CalmWater, 0 - setmetatile 18, 16, METATILE_General_CalmWater, 0 - setmetatile 16, 17, METATILE_General_CalmWater, 0 - setmetatile 17, 17, METATILE_General_CalmWater, 0 - return - -UnusualWeather_EventScript_CleanupRoute129East:: @ 82741B6 - setmetatile 42, 19, METATILE_General_CalmWater, 0 - setmetatile 43, 19, METATILE_General_CalmWater, 0 - setmetatile 41, 20, METATILE_General_CalmWater, 0 - setmetatile 42, 20, METATILE_General_CalmWater, 0 - setmetatile 43, 20, METATILE_General_CalmWater, 0 - setmetatile 44, 20, METATILE_General_CalmWater, 0 - setmetatile 41, 21, METATILE_General_CalmWater, 0 - setmetatile 42, 21, METATILE_General_CalmWater, 0 - setmetatile 43, 21, METATILE_General_CalmWater, 0 - setmetatile 44, 21, METATILE_General_CalmWater, 0 - setmetatile 42, 22, METATILE_General_CalmWater, 0 - setmetatile 43, 22, METATILE_General_CalmWater, 0 - return - -UnusualWeather_Underwater_SetupEscapeWarp:: @ 8274223 - switch VAR_UNUSUAL_WEATHER_LOCATION - case UNUSUAL_WEATHER_ROUTE_105_NORTH, UnusualWeather_Underwater_SetupEscapeWarpRoute105North - case UNUSUAL_WEATHER_ROUTE_105_SOUTH, UnusualWeather_Underwater_SetupEscapeWarpRoute105South - case UNUSUAL_WEATHER_ROUTE_125_WEST, UnusualWeather_Underwater_SetupEscapeWarpRoute125West - case UNUSUAL_WEATHER_ROUTE_125_EAST, UnusualWeather_Underwater_SetupEscapeWarpRoute125East - case UNUSUAL_WEATHER_ROUTE_127_NORTH, UnusualWeather_Underwater_SetupEscapeWarpRoute127North - case UNUSUAL_WEATHER_ROUTE_127_SOUTH, UnusualWeather_Underwater_SetupEscapeWarpRoute127South - case UNUSUAL_WEATHER_ROUTE_129_WEST, UnusualWeather_Underwater_SetupEscapeWarpRoute129West - case UNUSUAL_WEATHER_ROUTE_129_EAST, UnusualWeather_Underwater_SetupEscapeWarpRoute129East - return - -UnusualWeather_Underwater_SetupEscapeWarpRoute105North:: @ 8274281 - setescapewarp MAP_ROUTE105, 255, 11, 29 - return - -UnusualWeather_Underwater_SetupEscapeWarpRoute105South:: @ 827428A - setescapewarp MAP_ROUTE105, 255, 21, 54 - return - -UnusualWeather_Underwater_SetupEscapeWarpRoute125West:: @ 8274293 - setescapewarp MAP_ROUTE125, 255, 9, 17 - return - -UnusualWeather_Underwater_SetupEscapeWarpRoute125East:: @ 827429C - setescapewarp MAP_ROUTE125, 255, 54, 19 - return - -UnusualWeather_Underwater_SetupEscapeWarpRoute127North:: @ 82742A5 - setescapewarp MAP_ROUTE127, 255, 58, 10 - return - -UnusualWeather_Underwater_SetupEscapeWarpRoute127South:: @ 82742AE - setescapewarp MAP_ROUTE127, 255, 62, 31 - return - -UnusualWeather_Underwater_SetupEscapeWarpRoute129West:: @ 82742B7 - setescapewarp MAP_ROUTE129, 255, 17, 15 - return - -UnusualWeather_Underwater_SetupEscapeWarpRoute129East:: @ 82742C0 - setescapewarp MAP_ROUTE129, 255, 43, 20 - return - -Std_RegisteredInMatchCall:: @ 82742C9 - buffertrainerclassname 0, VAR_0x8000 - buffertrainername 1, VAR_0x8000 - closemessage - delay 30 - playfanfare MUS_ME_TORE_EYE - msgbox gText_RegisteredTrainerinPokeNav, MSGBOX_DEFAULT - waitfanfare - closemessage - delay 30 - return - -EventScript_TryGetTrainerScript:: @ 82742E6 - special ShouldTryGetTrainerScript - compare VAR_RESULT, 1 - goto_if_eq EventScript_GotoTrainerScript - releaseall - end - -EventScript_GotoTrainerScript:: @ 82742F6 - gotobeatenscript - releaseall - end - + .include "data/scripts/pc_transfer.inc" + .include "data/scripts/mevent.inc" + .include "data/scripts/abnormal_weather.inc" + .include "data/scripts/trainer_script.inc" .include "data/scripts/berry_tree.inc" .include "data/scripts/secret_base.inc" .include "data/scripts/cable_club.inc" + .include "data/text/cable_club.inc" .include "data/scripts/contest_hall.inc" .include "data/text/contest_strings.inc" - -gUnknown_0827E8CE:: @ 827E8CE - .string "Missed turn$" - -gText_LinkStandby4:: @ 827E8DA - .string "Link standby!$" - -gUnknown_0827E8E8:: @ 827E8E8 - .string "The winner is {STR_VAR_1}'s {STR_VAR_2}!\n" - .string "Congratulations!$" - -gUnknown_0827E910:: @ 827E910 - .string "The winner is {STR_VAR_1}'s {STR_VAR_2}!{PAUSE_UNTIL_PRESS}$" - -gUnknown_0827E929:: @ 827E929 - .string "Primary judging: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$" - -gUnknown_0827E943:: @ 827E943 - .string "Secondary judging: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$" - -gUnknown_0827E95F:: @ 827E95F - .string "Set event: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$" - -gUnknown_0827E973:: @ 827E973 - .string "The move used most often:\n" - .string "{STR_VAR_1}{PAUSE_UNTIL_PRESS}$" - -gUnknown_0827E992:: @ 827E992 - .string "The most impressive POKéMON:\n" - .string "{STR_VAR_1}'s {STR_VAR_2}{PAUSE_UNTIL_PRESS}$" - -gUnknown_0827E9B9:: @ 827E9B9 - .string "Set event: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$" - -gUnknown_0827E9CD:: @ 827E9CD - .string "A link TV program will not be made\n" - .string "because the TRAINER lost.{PAUSE_UNTIL_PRESS}$" - -gUnknown_0827EA0C:: @ 827EA0C - .string "{STR_VAR_1}\n" - .string "{STR_VAR_2}'s {STR_VAR_3}$" - -gUnknown_0827EA17:: @ 827EA17 - .string "CONTEST$" - -gContestRankNormal:: - .string "NORMAL RANK$" - -gContestRankSuper:: - .string "SUPER RANK$" - -gContestRankHyper:: - .string "HYPER RANK$" - -gContestRankMaster:: - .string "MASTER RANK$" - -gContestLink:: - .string "LINK$" - -gContestCoolness:: - .string "COOLNESS$" - -gContestBeauty:: - .string "BEAUTY$" - -gContestCuteness:: - .string "CUTENESS$" - -gContestSmartness:: - .string "SMARTNESS$" - -gContestToughness:: - .string "TOUGHNESS$" - -gContestPaintingCool1:: - .string "Nonstop supercool--\n" - .string "the inestimable {STR_VAR_1}$" - -gContestPaintingCool2:: - .string "Hey, there!\n" - .string "The good-looking POKéMON {STR_VAR_1}$" - -gContestPaintingCool3:: - .string "The marvelous, wonderful, and\n" - .string "very great {STR_VAR_1}$" - -gContestPaintingBeauty1:: - .string "This century's last Venus--\n" - .string "the beautiful {STR_VAR_1}$" - -gContestPaintingBeauty2:: - .string "{STR_VAR_1}'s dazzling,\n" - .string "glittering smile$" - -gContestPaintingBeauty3:: - .string "POKéMON CENTER's super idol--\n" - .string "the incomparable {STR_VAR_1}$" - -gContestPaintingCute1:: - .string "The lovely and sweet {STR_VAR_1}$" - -gContestPaintingCute2:: - .string "The pretty {STR_VAR_1}'s\n" - .string "winning portrait$" - -gContestPaintingCute3:: - .string "Give us a wink!\n" - .string "The cutie POKéMON {STR_VAR_1}$" - -gContestPaintingSmart1:: - .string "The smartness maestro--\n" - .string "the wise POKéMON {STR_VAR_1}$" - -gContestPaintingSmart2:: - .string "{STR_VAR_1}--the one chosen\n" - .string "above all POKéMON$" - -gContestPaintingSmart3:: - .string "The excellent {STR_VAR_1}'s\n" - .string "moment of elegance$" - -gContestPaintingTough1:: - .string "The powerfully muscular\n" - .string "speedster {STR_VAR_1}$" - -gContestPaintingTough2:: - .string "The strong, stronger, and\n" - .string "strongest {STR_VAR_1}$" - -gContestPaintingTough3:: - .string "The mighty tough\n" - .string "hyper POKéMON {STR_VAR_1}$" - -gTrickHouse_Mechadoll_Oddish:: @ 27ECBC - .string "ODDISH$" - -gTrickHouse_Mechadoll_Poochyena:: @ 27ECC3 - .string "POOCHYENA$" - -gTrickHouse_Mechadoll_Taillow:: @ 27ECCD - .string "TAILLOW$" - -gTrickHouse_Mechadoll_Azurill:: @ 27ECD5 - .string "AZURILL$" - -gTrickHouse_Mechadoll_Lotad:: @ 27ECDD - .string "LOTAD$" - -gTrickHouse_Mechadoll_Wingull:: @ 27ECE3 - .string "WINGULL$" - -gTrickHouse_Mechadoll_Dustox:: @ 27ECEB - .string "DUSTOX$" - -gTrickHouse_Mechadoll_Zubat:: @ 27ECF2 - .string "ZUBAT$" - -gTrickHouse_Mechadoll_Nincada:: @ 27ECF8 - .string "NINCADA$" - -gTrickHouse_Mechadoll_Ralts:: @ 27ED00 - .string "RALTS$" - -gTrickHouse_Mechadoll_Zigzagoon:: @ 27ED06 - .string "ZIGZAGOON$" - -gTrickHouse_Mechadoll_Slakoth:: @ 27ED10 - .string "SLAKOTH$" - -gTrickHouse_Mechadoll_Poochyena2:: @ 27ED18 - .string "POOCHYENA$" - -gTrickHouse_Mechadoll_Shroomish:: @ 27ED22 - .string "SHROOMISH$" - -gTrickHouse_Mechadoll_Zigzagoon2:: @ 27ED2C - .string "ZIGZAGOON$" - -gTrickHouse_Mechadoll_Poochyena3:: @ 27ED36 - .string "POOCHYENA$" - -gTrickHouse_Mechadoll_Zubat2:: @ 27ED40 - .string "ZUBAT$" - -gTrickHouse_Mechadoll_Carvanha:: @ 27ED46 - .string "CARVANHA$" - -gTrickHouse_Mechadoll_BurnHeal:: @ 27ED4F - .string "BURN HEAL$" - -gTrickHouse_Mechadoll_HarborMail:: @ 27ED59 - .string "HARBOR MAIL$" - -gTrickHouse_Mechadoll_SamePrice:: @ 27ED65 - .string "Same price$" - -gTrickHouse_Mechadoll_60Yen:: @ 27ED70 - .string "¥60$" - -gTrickHouse_Mechadoll_55Yen:: @ 27ED74 - .string "¥55$" - -gTrickHouse_Mechadoll_Nothing:: @ 27ED78 - .string "Nothing$" - -gTrickHouse_Mechadoll_CostMore:: @ 27ED80 - .string "They will cost more.$" - -gTrickHouse_Mechadoll_CostLess:: @ 27ED95 - .string "They will cost less.$" - -gTrickHouse_Mechadoll_SamePrice2:: @ 27EDAA - .string "Same price$" - -gTrickHouse_Mechadoll_Male:: @ 27EDB5 - .string "Male$" - -gTrickHouse_Mechadoll_Female:: @ 27EDBA - .string "Female$" - -gTrickHouse_Mechadoll_Neither:: @ 27EDC1 - .string "Neither$" - -gTrickHouse_Mechadoll_ElderlyMen:: @ 27EDC9 - .string "Elderly men$" - -gTrickHouse_Mechadoll_ElderlyLadies:: @ 27EDD5 - .string "Elderly ladies$" - -gTrickHouse_Mechadoll_SameNumber:: @ 27EDE4 - .string "Same number$" - -gTrickHouse_Mechadoll_None:: @ 27EDF0 - .string "None$" - -gTrickHouse_Mechadoll_One:: @ 27EDF5 - .string "1$" - -gTrickHouse_Mechadoll_Two:: @ 27EDF7 - .string "2$" - -gTrickHouse_Mechadoll_Two2:: @ 27EDF9 - .string "2$" - -gTrickHouse_Mechadoll_Three:: @ 27EDFB - .string "3$" - -gTrickHouse_Mechadoll_Four:: @ 27EDFD - .string "4$" - -gTrickHouse_Mechadoll_Six:: @ 27EDFF - .string "6$" - -gTrickHouse_Mechadoll_Seven:: @ 27EE01 - .string "7$" - -gTrickHouse_Mechadoll_Eight:: @ 27EE03 - .string "8$" - -gTrickHouse_Mechadoll_Six2:: @ 27EE05 - .string "6$" - -gTrickHouse_Mechadoll_Seven2:: @ 27EE07 - .string "7$" - -gTrickHouse_Mechadoll_Eight2:: @ 27EE09 - .string "8$" - + .include "data/text/contest_link.inc" + .include "data/text/contest_painting.inc" + .include "data/text/trick_house_mechadolls.inc" .include "data/scripts/tv.inc" .include "data/text/tv.inc" - -BattleFrontier_BattleTowerLobby_EventScript_28C7E9:: @ 828C7E9 -LilycoveCity_ContestLobby_EventScript_28C7E9:: @ 828C7E9 -SlateportCity_OceanicMuseum_1F_EventScript_28C7E9:: @ 828C7E9 -SlateportCity_PokemonFanClub_EventScript_28C7E9:: @ 828C7E9 - special InterviewAfter - incrementgamestat 6 - release - end - -SlateportCity_PokemonFanClub_EventScript_28C7F0:: @ 828C7F0 - setvar VAR_0x8005, 1 - special InterviewBefore - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C879 - copyvar VAR_0x8009, VAR_0x8006 - msgbox SlateportCity_PokemonFanClub_Text_280674, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C827 - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C85C - end - -SlateportCity_PokemonFanClub_EventScript_28C827:: @ 828C827 - msgbox SlateportCity_PokemonFanClub_Text_28073B, MSGBOX_DEFAULT - setvar VAR_0x8004, EASY_CHAT_TYPE_INTERVIEW - copyvar VAR_0x8005, VAR_0x8009 - setvar VAR_0x8006, EASY_CHAT_PERSON_REPORTER_FEMALE - call Common_ShowEasyChatScreen - lock - faceplayer - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C866 - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C85C - end - -SlateportCity_PokemonFanClub_EventScript_28C85C:: @ 828C85C - msgbox SlateportCity_PokemonFanClub_Text_2805E2, MSGBOX_DEFAULT - release - end - -SlateportCity_PokemonFanClub_EventScript_28C866:: @ 828C866 - msgbox SlateportCity_PokemonFanClub_Text_280789, MSGBOX_DEFAULT - setvar VAR_0x8005, 1 - goto SlateportCity_PokemonFanClub_EventScript_28C7E9 - end - -SlateportCity_PokemonFanClub_EventScript_28C879:: @ 828C879 - msgbox SlateportCity_PokemonFanClub_Text_28062E, MSGBOX_DEFAULT - release - end - -SlateportCity_OceanicMuseum_1F_EventScript_28C883:: @ 828C883 - lock - faceplayer - setvar VAR_0x8005, 2 - special InterviewBefore - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C939 - copyvar VAR_0x8009, VAR_0x8006 - goto_if_set FLAG_OCEANIC_MUSEUM_MET_REPORTER, SlateportCity_OceanicMuseum_1F_EventScript_28C8C8 - setflag FLAG_OCEANIC_MUSEUM_MET_REPORTER - msgbox SlateportCity_OceanicMuseum_1F_Text_2811A0, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7 - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C - end - -SlateportCity_OceanicMuseum_1F_EventScript_28C8C8:: @ 828C8C8 - msgbox SlateportCity_OceanicMuseum_1F_Text_28126D, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7 - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C - end - -SlateportCity_OceanicMuseum_1F_EventScript_28C8E7:: @ 828C8E7 - msgbox SlateportCity_OceanicMuseum_1F_Text_2812F2, MSGBOX_DEFAULT - setvar VAR_0x8004, EASY_CHAT_TYPE_INTERVIEW - copyvar VAR_0x8005, VAR_0x8009 - setvar VAR_0x8006, EASY_CHAT_PERSON_REPORTER_MALE - call Common_ShowEasyChatScreen - lock - faceplayer - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C926 - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C - end - -SlateportCity_OceanicMuseum_1F_EventScript_28C91C:: @ 828C91C - msgbox SlateportCity_OceanicMuseum_1F_Text_281367, MSGBOX_DEFAULT - release - end - -SlateportCity_OceanicMuseum_1F_EventScript_28C926:: @ 828C926 - msgbox SlateportCity_OceanicMuseum_1F_Text_2813B9, MSGBOX_DEFAULT - setvar VAR_0x8005, 2 - goto SlateportCity_OceanicMuseum_1F_EventScript_28C7E9 - end - -SlateportCity_OceanicMuseum_1F_EventScript_28C939:: @ 828C939 - msgbox SlateportCity_OceanicMuseum_1F_Text_28144D, MSGBOX_DEFAULT - release - end - -SlateportCity_PokemonFanClub_EventScript_28C943:: @ 828C943 - lock - faceplayer - specialvar VAR_RESULT, sub_80EF8F8 - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C7F0 - setvar VAR_0x8005, 3 - special InterviewBefore - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_28CA4F - copyvar VAR_0x8009, VAR_0x8006 - msgbox SlateportCity_PokemonFanClub_Text_280270, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C98C - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_28CA45 - end - -SlateportCity_PokemonFanClub_EventScript_28C98C:: @ 828C98C - msgbox SlateportCity_PokemonFanClub_Text_28034F, MSGBOX_DEFAULT - random 3 - copyvar VAR_0x800A, VAR_RESULT - switch VAR_RESULT - case 0, SlateportCity_PokemonFanClub_EventScript_28C9C3 - case 1, SlateportCity_PokemonFanClub_EventScript_28C9D1 - case 2, SlateportCity_PokemonFanClub_EventScript_28C9DF - end - -SlateportCity_PokemonFanClub_EventScript_28C9C3:: @ 828C9C3 - msgbox SlateportCity_PokemonFanClub_Text_280393, MSGBOX_DEFAULT - goto SlateportCity_PokemonFanClub_EventScript_28C9ED - end - -SlateportCity_PokemonFanClub_EventScript_28C9D1:: @ 828C9D1 - msgbox SlateportCity_PokemonFanClub_Text_2803EF, MSGBOX_DEFAULT - goto SlateportCity_PokemonFanClub_EventScript_28C9ED - end - -SlateportCity_PokemonFanClub_EventScript_28C9DF:: @ 828C9DF - msgbox SlateportCity_PokemonFanClub_Text_280454, MSGBOX_DEFAULT - goto SlateportCity_PokemonFanClub_EventScript_28C9ED - end - -SlateportCity_PokemonFanClub_EventScript_28C9ED:: @ 828C9ED - setvar VAR_0x8004, EASY_CHAT_TYPE_FAN_CLUB - copyvar VAR_0x8005, VAR_0x8009 - setvar VAR_0x8006, 0 - call Common_ShowEasyChatScreen - lock - faceplayer - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_28CA45 - msgbox SlateportCity_PokemonFanClub_Text_2804AC, MSGBOX_DEFAULT - setvar VAR_0x8006, 1 - call Common_ShowEasyChatScreen - lock - faceplayer - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_28CA45 - msgbox SlateportCity_PokemonFanClub_Text_280523, MSGBOX_DEFAULT - copyvar VAR_0x8007, VAR_0x800A - setvar VAR_0x8005, 3 - goto SlateportCity_PokemonFanClub_EventScript_28C7E9 - end - -SlateportCity_PokemonFanClub_EventScript_28CA45:: @ 828CA45 - msgbox SlateportCity_PokemonFanClub_Text_2805E2, MSGBOX_DEFAULT - release - end - -SlateportCity_PokemonFanClub_EventScript_28CA4F:: @ 828CA4F - msgbox SlateportCity_PokemonFanClub_Text_28062E, MSGBOX_DEFAULT - release - end - -LilycoveCity_ContestLobby_EventScript_28CA59:: @ 828CA59 - lock - faceplayer - goto_if_set FLAG_TEMP_2, LilycoveCity_ContestLobby_EventScript_28CB21 - setvar VAR_0x8005, 6 - special InterviewBefore - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_28CB21 - copyvar VAR_0x8009, VAR_0x8006 - msgbox LilycoveCity_ContestLobby_Text_27EF15, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_28CA9B - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_28CAD0 - end - -LilycoveCity_ContestLobby_EventScript_28CA9B:: @ 828CA9B - msgbox LilycoveCity_ContestLobby_Text_27EFE7, MSGBOX_DEFAULT - setvar VAR_0x8004, EASY_CHAT_TYPE_CONTEST_INTERVIEW - copyvar VAR_0x8005, VAR_0x8009 - setvar VAR_0x8006, 0 - call Common_ShowEasyChatScreen - lock - faceplayer - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_28CADA - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_28CAD0 - end - -LilycoveCity_ContestLobby_EventScript_28CAD0:: @ 828CAD0 - msgbox LilycoveCity_ContestLobby_Text_27F1EF, MSGBOX_DEFAULT - release - end - -LilycoveCity_ContestLobby_EventScript_28CADA:: @ 828CADA - setvar VAR_0x8004, 24 - special SetContestCategoryStringVarForInterview - msgbox LilycoveCity_ContestLobby_Text_27F03E, MSGBOX_DEFAULT - setvar VAR_0x8004, EASY_CHAT_TYPE_CONTEST_INTERVIEW - copyvar VAR_0x8005, VAR_0x8009 - setvar VAR_0x8006, 1 - call Common_ShowEasyChatScreen - lock - faceplayer - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_28CAD0 - msgbox LilycoveCity_ContestLobby_Text_27F0EC, MSGBOX_DEFAULT - setflag FLAG_TEMP_2 - setvar VAR_0x8005, 6 - goto LilycoveCity_ContestLobby_EventScript_28C7E9 - end - -LilycoveCity_ContestLobby_EventScript_28CB21:: @ 828CB21 - msgbox LilycoveCity_ContestLobby_Text_27F23F, MSGBOX_DEFAULT - release - end - -LilycoveCity_ContestLobby_EventScript_28CB2B:: @ 828CB2B - compare VAR_LINK_CONTEST_ROOM_STATE, 2 - goto_if_ne LilycoveCity_ContestLobby_EventScript_28CB95 - setvar VAR_0x8005, 6 - special InterviewBefore - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_28CB95 - switch VAR_CONTEST_LOCATION - case 0, LilycoveCity_ContestLobby_EventScript_28CB95 - case 2, LilycoveCity_ContestLobby_EventScript_28CB91 - case 1, LilycoveCity_ContestLobby_EventScript_28CB91 - case 3, LilycoveCity_ContestLobby_EventScript_28CB91 - case 4, LilycoveCity_ContestLobby_EventScript_28CB91 - case 5, LilycoveCity_ContestLobby_EventScript_28CB95 - end - -LilycoveCity_ContestLobby_EventScript_28CB91:: @ 828CB91 - clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER - return - -LilycoveCity_ContestLobby_EventScript_28CB95:: @ 828CB95 - return - -BattleFrontier_BattleTowerLobby_EventScript_28CB96:: @ 828CB96 - lock - faceplayer - goto_if_set FLAG_TEMP_2, BattleFrontier_BattleTowerLobby_EventScript_28CC7A - setvar VAR_0x8005, 7 - special InterviewBefore - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC7A - copyvar VAR_0x8009, VAR_0x8006 - msgbox BattleFrontier_BattleTowerLobby_Text_27F704, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CBD8 - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC2E - end - -BattleFrontier_BattleTowerLobby_EventScript_28CBD8:: @ 828CBD8 - message BattleFrontier_BattleTowerLobby_Text_27F7BA - waitmessage - multichoice 20, 8, 45, 1 - copyvar VAR_0x8008, VAR_RESULT - compare VAR_RESULT, 0 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC38 - compare VAR_RESULT, 1 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC41 - msgbox BattleFrontier_BattleTowerLobby_Text_27F97A, MSGBOX_DEFAULT - setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_TOWER_INTERVIEW - copyvar VAR_0x8005, VAR_0x8009 - call Common_ShowEasyChatScreen - lock - faceplayer - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC4A - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70 - end - -BattleFrontier_BattleTowerLobby_EventScript_28CC2E:: @ 828CC2E - msgbox BattleFrontier_BattleTowerLobby_Text_27F84C, MSGBOX_DEFAULT - release - end - -BattleFrontier_BattleTowerLobby_EventScript_28CC38:: @ 828CC38 - msgbox BattleFrontier_BattleTowerLobby_Text_27F8AE, MSGBOX_DEFAULT - return - -BattleFrontier_BattleTowerLobby_EventScript_28CC41:: @ 828CC41 - msgbox BattleFrontier_BattleTowerLobby_Text_27F921, MSGBOX_DEFAULT - return - -BattleFrontier_BattleTowerLobby_EventScript_28CC4A:: @ 828CC4A - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70 - msgbox BattleFrontier_BattleTowerLobby_Text_27F9FD, MSGBOX_DEFAULT - setflag FLAG_TEMP_2 - copyvar VAR_0x8004, VAR_0x8008 - setvar VAR_0x8005, 7 - goto BattleFrontier_BattleTowerLobby_EventScript_28C7E9 - end - -BattleFrontier_BattleTowerLobby_EventScript_28CC70:: @ 828CC70 - msgbox BattleFrontier_BattleTowerLobby_Text_27FA6F, MSGBOX_DEFAULT - release - end - -BattleFrontier_BattleTowerLobby_EventScript_28CC7A:: @ 828CC7A - msgbox BattleFrontier_BattleTowerLobby_Text_27FAF3, MSGBOX_DEFAULT - release - end - -BattleFrontier_BattleTowerLobby_EventScript_28CC84:: @ 828CC84 - compare VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6 - setvar VAR_0x8005, 7 - special InterviewBefore - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6 - clearflag FLAG_HIDE_BATTLE_TOWER_REPORTER - return - -BattleFrontier_BattleTowerLobby_EventScript_28CCA6:: @ 828CCA6 - setflag FLAG_HIDE_BATTLE_TOWER_REPORTER - return - + .include "data/scripts/interview.inc" .include "data/scripts/gabby_and_ty.inc" .include "data/text/pokemon_news.inc" .include "data/scripts/mauville_man.inc" @@ -4087,3037 +1027,35 @@ BattleFrontier_BattleTowerLobby_EventScript_28CCA6:: @ 828CCA6 .include "data/scripts/item_ball_scripts.inc" .include "data/scripts/mystery_event_club.inc" .include "data/scripts/day_care.inc" - -EventScript_2926F8:: @ 82926F8 - animateflash 1 - setflashradius 1 - end - + .include "data/scripts/flash.inc" .include "data/scripts/players_house.inc" - -EventScript_RunningShoesManual:: @ 8292DE5 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7F66, MSGBOX_SIGN - end - - .include "data/scripts/pokeblocks.inc" - -gText_SoPretty:: @ 8294295 - .string " so pretty!$" - -gText_SoDarling:: @ 82942A1 - .string " so darling!$" - -gText_SoRelaxed:: @ 82942AE - .string " so relaxed!$" - -gText_SoSunny:: @ 82942BB - .string " so sunny!$" - -gText_SoDesirable:: @ 82942C6 - .string " so desirable!$" - -gText_SoExciting:: @ 82942D5 - .string " so exciting!$" - -gText_SoAmusing:: @ 82942E3 - .string " so amusing!$" - -gText_SoMagical:: @ 82942F0 - .string " so magical!$" - -gOtherText_Is:: @ 82942FD - .string " is$" - -gOtherText_DontYouAgree:: @ 8294301 - .string "\n" - .string "Don't you agree?$" - -gMauvilleManText_ISoWantToGoOnAVacation:: @ 8294313 - .string "I so want to go on a vacation.\n" - .string "Would you happen to know a nice place?$" - -gMauvilleManText_IBoughtCrayonsWith120Colors:: @ 8294359 - .string "I bought crayons with 120 colors!\n" - .string "Don't you think that's nice?$" - -gMauvilleManText_WouldntItBeNiceIfWeCouldFloat:: @ 8294398 - .string "Wouldn't it be nice if we could float\n" - .string "away on a cloud of bubbles?$" - -gMauvilleManText_WhenYouWriteOnASandyBeach:: @ 82943DA - .string "When you write on a sandy beach,\n" - .string "they wash away. It makes me sad.$" - -gMauvilleManText_WhatsTheBottomOfTheSeaLike:: @ 829441C - .string "What's the bottom of the sea like?\n" - .string "Just once I would so love to go!$" - -gMauvilleManText_WhenYouSeeTheSettingSunDoesIt:: @ 8294460 - .string "When you see the setting sun, does it\n" - .string "make you want to go home?$" - -gMauvilleManText_LyingBackInTheGreenGrass:: @ 82944A0 - .string "Lying back in the green grass…\n" - .string "Oh, it's so, so nice!$" - -gMauvilleManText_SecretBasesAreSoWonderful:: @ 82944D5 - .string "SECRET BASES are so wonderful!\n" - .string "Can't you feel the excitement?$" - + .include "data/scripts/berry_blender.inc" + .include "data/text/mauville_man.inc" .include "data/text/trainers.inc" - -EventScript_RepelWoreOff:: @ 82A4B2A - msgbox Text_RepelWoreOff, MSGBOX_SIGN - end - -Text_RepelWoreOff: @ 82A4B33 - .string "REPEL's effect wore off…$" - + .include "data/scripts/repel.inc" .include "data/scripts/safari_zone.inc" - -MauvilleCity_GameCorner_EventScript_2A5AB1:: @ 82A5AB1 - checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 - setvar VAR_0x8004, 0 - getpricereduction 2 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_2A5B0D - addvar VAR_0x8004, 128 - goto MauvilleCity_GameCorner_EventScript_2A5B0D - end - -MauvilleCity_GameCorner_EventScript_2A5ADF:: @ 82A5ADF - checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 - setvar VAR_0x8004, 1 - getpricereduction 2 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_2A5B0D - addvar VAR_0x8004, 128 - goto MauvilleCity_GameCorner_EventScript_2A5B0D - end - -MauvilleCity_GameCorner_EventScript_2A5B0D:: @ 82A5B0D - special PlayRoulette - waitstate - end - - .include "data/text/roulette.inc" + .include "data/scripts/roulette.inc" .include "data/text/pokedex_rating.inc" .include "data/text/lottery_corner.inc" - .include "data/text/eon_ticket.inc" + .include "data/text/event_ticket_1.inc" .include "data/text/braille.inc" .include "data/text/berries.inc" .include "data/text/shoal_cave.inc" - -Text_PictureBookShelf: @ 82A81E5 - .string "There's a set of POKéMON picture books.$" - -Text_BookShelf: @ 82A820D - .string "It's filled with all sorts of books.$" - -Text_PokemonCenterBookShelf: @ 82A8232 - .string "POKéMON magazines!\n" - .string "POKéMON PAL…\p" - .string "POKéMON HANDBOOK…\n" - .string "ADORABLE POKéMON…$" - -Text_Vase: @ 82A8276 - .string "This vase looks expensive…\n" - .string "Peered inside…\p" - .string "But, it was empty.$" - -Text_EmptyTrashCan: @ 82A82B3 - .string "It's empty.$" - -Text_ShopShelf: @ 82A82BF - .string "The shelves brim with all sorts of\n" - .string "POKéMON merchandise.$" - -Text_Blueprint: @ 82A82F7 - .string "A blueprint of some sort?\n" - .string "It's too complicated!$" - -GraniteCave_B1F_MapScript2_2A8327: @ 82A8327 -MirageTower_2F_MapScript2_2A8327: @ 82A8327 -MirageTower_3F_MapScript2_2A8327: @ 82A8327 -MtPyre_2F_MapScript2_2A8327: @ 82A8327 -SkyPillar_2F_MapScript2_2A8327: @ 82A8327 -SkyPillar_4F_MapScript2_2A8327: @ 82A8327 - map_script_2 VAR_ICE_STEP_COUNT, 0, EventScript_FallDownHole - .2byte 0 - -GraniteCave_B1F_MapScript1_2A8331: @ 82A8331 -MirageTower_2F_MapScript1_2A8331: @ 82A8331 -MirageTower_3F_MapScript1_2A8331: @ 82A8331 -MtPyre_2F_MapScript1_2A8331: @ 82A8331 - copyvar VAR_ICE_STEP_COUNT, 0x1 - end - -EventScript_FallDownHole:: @ 82A8337 - lockall - delay 20 - applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_B1F_Movement_2A8369 - waitmovement 0 - playse SE_RU_HYUU - delay 60 - warphole MAP_UNDEFINED - waitstate - end - -gUnknown_082A8350:: @ 82A8350 - lockall - delay 20 - applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_B1F_Movement_2A8369 - waitmovement 0 - playse SE_RU_HYUU - delay 60 - special DoFallWarp - waitstate - end - -GraniteCave_B1F_Movement_2A8369: @ 82A8369 - set_invisible - step_end - -LilycoveCity_PokemonCenter_1F_EventScript_2A836B:: @ 82A836B - special Script_GetLilycoveLadyId - switch VAR_RESULT - case LILYCOVE_LADY_QUIZ, LilycoveCity_PokemonCenter_1F_EventScript_2A8554 - case LILYCOVE_LADY_FAVOR, LilycoveCity_PokemonCenter_1F_EventScript_2A8395 - case LILYCOVE_LADY_CONTEST, LilycoveCity_PokemonCenter_1F_EventScript_2A882A - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8395:: @ 82A8395 - lock - faceplayer - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A69, MSGBOX_DEFAULT - specialvar VAR_RESULT, GetFavorLadyState - compare VAR_RESULT, LILYCOVE_LADY_STATE_READY - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83D0 - compare VAR_RESULT, LILYCOVE_LADY_STATE_COMPLETED - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83C6 - compare VAR_RESULT, LILYCOVE_LADY_STATE_PRIZE - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8510 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A83C6:: @ 82A83C6 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8AB1, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A83D0:: @ 82A83D0 - special BufferFavorLadyRequest - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A7D, MSGBOX_DEFAULT - specialvar VAR_RESULT, HasAnotherPlayerGivenFavorLadyItem - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8435 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83F7 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A83F7:: @ 82A83F7 - special BufferFavorLadyItemName - special BufferFavorLadyPlayerName - specialvar VAR_RESULT, DidFavorLadyLikeItem - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8419 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8427 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8419:: @ 82A8419 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8ACE, MSGBOX_DEFAULT - goto LilycoveCity_PokemonCenter_1F_EventScript_2A8435 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8427:: @ 82A8427 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8B36, MSGBOX_DEFAULT - goto LilycoveCity_PokemonCenter_1F_EventScript_2A8435 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8435:: @ 82A8435 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8B69, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A845E - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8454:: @ 82A8454 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BCD, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A845E:: @ 82A845E - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BAD, MSGBOX_DEFAULT - goto LilycoveCity_PokemonCenter_1F_EventScript_2A846C - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A846C:: @ 82A846C - fadescreen 1 - setvar VAR_RESULT, 0 - special Script_FavorLadyOpenBagMenu - waitstate - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A848E - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84AD - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A848E:: @ 82A848E - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BEE, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A846C - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A84AD:: @ 82A84AD - specialvar VAR_RESULT, Script_DoesFavorLadyLikeItem - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84C9 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84D6 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A84C9:: @ 82A84C9 - special BufferFavorLadyRequest - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8C0F, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A84D6:: @ 82A84D6 - specialvar VAR_RESULT, IsFavorLadyThresholdMet - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84F2 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84FF - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A84F2:: @ 82A84F2 - special BufferFavorLadyRequest - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8C6F, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A84FF:: @ 82A84FF - special BufferFavorLadyRequest - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8CC8, MSGBOX_DEFAULT - goto LilycoveCity_PokemonCenter_1F_EventScript_2A8510 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8510:: @ 82A8510 - setvar VAR_0x8004, 0 - specialvar VAR_0x8004, FavorLadyGetPrize - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8D5D, MSGBOX_DEFAULT - giveitem_std VAR_0x8004 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8545 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A854F - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8545:: @ 82A8545 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8DBD, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A854F:: @ 82A854F - special SetFavorLadyState_Complete - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8554:: @ 82A8554 - lock - faceplayer - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8E2B, MSGBOX_DEFAULT - specialvar VAR_RESULT, GetQuizLadyState - compare VAR_RESULT, LILYCOVE_LADY_STATE_READY - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8585 - compare VAR_RESULT, LILYCOVE_LADY_STATE_COMPLETED - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85AC - compare VAR_RESULT, LILYCOVE_LADY_STATE_PRIZE - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86EC - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8585:: @ 82A8585 - specialvar VAR_RESULT, GetQuizAuthor - compare VAR_RESULT, QUIZ_AUTHOR_PLAYER - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8 - compare VAR_RESULT, QUIZ_AUTHOR_OTHER_PLAYER - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85D2 - compare VAR_RESULT, QUIZ_AUTHOR_LADY - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85E0 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A85AC:: @ 82A85AC - specialvar VAR_RESULT, IsQuizLadyWaitingForChallenger - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8759 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A85C8:: @ 82A85C8 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8E4E, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A85D2:: @ 82A85D2 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EAC, MSGBOX_DEFAULT - goto LilycoveCity_PokemonCenter_1F_EventScript_2A85EE - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A85E0:: @ 82A85E0 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EAC, MSGBOX_DEFAULT - goto LilycoveCity_PokemonCenter_1F_EventScript_2A85EE - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A85EE:: @ 82A85EE - setvar VAR_0x8004, 0 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EEC, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8612 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8612:: @ 82A8612 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F65, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A861C:: @ 82A861C - special ClearQuizLadyPlayerAnswer - compare VAR_0x8004, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A864C - compare VAR_0x8004, EASY_CHAT_TYPE_QUIZ_ANSWER - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8656 - -LilycoveCity_PokemonCenter_1F_EventScript_2A8635:: @ 82A8635 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8660 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8689 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A864C:: @ 82A864C - special QuizLadyShowQuizQuestion - waitstate - goto LilycoveCity_PokemonCenter_1F_EventScript_2A8635 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8656:: @ 82A8656 - special QuizLadyGetPlayerAnswer - waitstate - goto LilycoveCity_PokemonCenter_1F_EventScript_2A8635 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8660:: @ 82A8660 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F7E, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A867F - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A867F:: @ 82A867F - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F9A, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8689:: @ 82A8689 - special SetQuizLadyState_Complete - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F4D, MSGBOX_DEFAULT - specialvar VAR_RESULT, IsQuizAnswerCorrect - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86C7 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86B0 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A86B0:: @ 82A86B0 - playse SE_SEIKAI - delay 10 - playse SE_SEIKAI - msgbox LilycoveCity_PokemonCenter_1F_Text_2A8FC7, MSGBOX_DEFAULT - goto LilycoveCity_PokemonCenter_1F_EventScript_2A86EC - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A86C7:: @ 82A86C7 - special BufferQuizCorrectAnswer - special BufferQuizPrizeName - playse SE_HAZURE - delay 10 - playse SE_HAZURE - msgbox LilycoveCity_PokemonCenter_1F_Text_2A90A5, MSGBOX_DEFAULT - msgbox LilycoveCity_PokemonCenter_1F_Text_2A90CD, MSGBOX_DEFAULT - goto LilycoveCity_PokemonCenter_1F_EventScript_2A8759 - end - -@ VAR_RESULT is essentially ignored, both jumps are identical -LilycoveCity_PokemonCenter_1F_EventScript_2A86EC:: @ 82A86EC - specialvar VAR_RESULT, BufferQuizAuthorNameAndCheckIfLady - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8708 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8716 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8708:: @ 82A8708 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A9007, MSGBOX_DEFAULT - goto LilycoveCity_PokemonCenter_1F_EventScript_2A8724 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8716:: @ 82A8716 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A9007, MSGBOX_DEFAULT - goto LilycoveCity_PokemonCenter_1F_EventScript_2A8724 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8724:: @ 82A8724 - setvar VAR_0x8005, 0 - special BufferQuizPrizeItem - special SetQuizLadyState_Complete - giveitem_std VAR_0x8005 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A874C - goto LilycoveCity_PokemonCenter_1F_EventScript_2A8759 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A874C:: @ 82A874C - msgbox LilycoveCity_PokemonCenter_1F_Text_2A906A, MSGBOX_DEFAULT - special SetQuizLadyState_GivePrize - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8759:: @ 82A8759 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A90FB, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8785 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8778:: @ 82A8778 - special QuizLadyPickNewQuestion - msgbox LilycoveCity_PokemonCenter_1F_Text_2A9131, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8785:: @ 82A8785 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A9153, MSGBOX_DEFAULT - -LilycoveCity_PokemonCenter_1F_EventScript_2A878D:: @ 82A878D - fadescreen 1 - setvar VAR_RESULT, 0 - special Script_QuizLadyOpenBagMenu - waitstate - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87AF - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87CE - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A87AF:: @ 82A87AF - msgbox LilycoveCity_PokemonCenter_1F_Text_2A9212, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A878D - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A87CE:: @ 82A87CE - msgbox LilycoveCity_PokemonCenter_1F_Text_2A9270, MSGBOX_DEFAULT - special ClearQuizLadyQuestionAndAnswer - special ClearQuizLadyPlayerAnswer - setvar VAR_0x8004, EASY_CHAT_TYPE_QUIZ_QUESTION - -LilycoveCity_PokemonCenter_1F_EventScript_2A87E1:: @ 82A87E1 - fadescreen 1 - special QuizLadySetCustomQuestion - waitstate - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87F8 - goto LilycoveCity_PokemonCenter_1F_EventScript_2A8817 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A87F8:: @ 82A87F8 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A92D3, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87E1 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8817:: @ 82A8817 - special QuizLadyTakePrizeForCustomQuiz - special QuizLadyRecordCustomQuizData - special QuizLadySetWaitingForChallenger - msgbox LilycoveCity_PokemonCenter_1F_Text_2A9336, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A882A:: @ 82A882A - lock - faceplayer - msgbox LilycoveCity_PokemonCenter_1F_Text_2A93A7, MSGBOX_DEFAULT - specialvar VAR_RESULT, HasPlayerGivenContestLadyPokeblock - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8850 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C - end - -@ Redundant with above script, VAR_RESULT will always be 0 here -LilycoveCity_PokemonCenter_1F_EventScript_2A8850:: @ 82A8850 - specialvar VAR_RESULT, ShouldContestLadyShowGoOnAir - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8876 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A886C:: @ 82A886C - msgbox LilycoveCity_PokemonCenter_1F_Text_2A93D6, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8876:: @ 82A8876 - special Script_BufferContestLadyCategoryAndMonName - msgbox LilycoveCity_PokemonCenter_1F_Text_2A93F4, MSGBOX_DEFAULT - checkitem ITEM_POKEBLOCK_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89AE - msgbox LilycoveCity_PokemonCenter_1F_Text_2A94E8, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88BA - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A88B0:: @ 82A88B0 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A9556, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A88BA:: @ 82A88BA - fadescreen 1 - special OpenPokeblockCaseForContestLady - waitstate - compare VAR_RESULT, 65535 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88D7 - compare VAR_RESULT, 65535 - goto_if_ne LilycoveCity_PokemonCenter_1F_EventScript_2A88F6 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A88D7:: @ 82A88D7 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A9537, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88BA - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A88F6:: @ 82A88F6 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A9571, MSGBOX_DEFAULT - special SetContestLadyGivenPokeblock - special GetContestLadyMonSpecies - goto LilycoveCity_PokemonCenter_1F_EventScript_2A890A - end - -@ VAR_0x8004 here is the return value from GivePokeblockToContestLady -LilycoveCity_PokemonCenter_1F_EventScript_2A890A:: @ 82A890A - applymovement 4, LilycoveCity_PokemonCenter_1F_Movement_2A89B8 - waitmovement 0 - delay 60 - applymovement 5, LilycoveCity_PokemonCenter_1F_Movement_2A89BB - waitmovement 0 - delay 60 - waitse - playmoncry VAR_0x8005, 0 - delay 120 - waitmoncry - compare VAR_0x8004, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A893F - goto LilycoveCity_PokemonCenter_1F_EventScript_2A894C - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A893F:: @ 82A893F - applymovement 5, LilycoveCity_PokemonCenter_1F_Movement_2A89C2 - waitmovement 0 - delay 60 - -@ VAR_0x8004 here is the return value from GivePokeblockToContestLady -LilycoveCity_PokemonCenter_1F_EventScript_2A894C:: @ 82A894C - applymovement 4, LilycoveCity_PokemonCenter_1F_Movement_2A89C0 - waitmovement 0 - delay 60 - compare VAR_0x8004, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8970 - compare VAR_0x8004, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A897E - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8970:: @ 82A8970 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A95AD, MSGBOX_DEFAULT - goto LilycoveCity_PokemonCenter_1F_EventScript_2A898F - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A897E:: @ 82A897E - special Script_BufferContestLadyCategoryAndMonName - msgbox LilycoveCity_PokemonCenter_1F_Text_2A9605, MSGBOX_DEFAULT - goto LilycoveCity_PokemonCenter_1F_EventScript_2A898F - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A898F:: @ 82A898F - specialvar VAR_RESULT, ShouldContestLadyShowGoOnAir - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89A1 - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A89A1:: @ 82A89A1 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A9669, MSGBOX_DEFAULT - special PutLilycoveContestLadyShowOnTheAir - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A89AE:: @ 82A89AE - msgbox LilycoveCity_PokemonCenter_1F_Text_2A9451, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonCenter_1F_Movement_2A89B8: @ 82A89B8 - face_right - delay_8 - step_end - -LilycoveCity_PokemonCenter_1F_Movement_2A89BB: @ 82A89BB - face_left - delay_8 - step_end - -LilycoveCity_PokemonCenter_1F_Movement_2A89BE: @ 82A89BE - face_down - step_end - -LilycoveCity_PokemonCenter_1F_Movement_2A89C0: @ 82A89C0 - face_player - step_end - -LilycoveCity_PokemonCenter_1F_Movement_2A89C2: @ 82A89C2 - disable_jump_landing_ground_effect - jump_in_place_left - disable_jump_landing_ground_effect - jump_in_place_left - step_end - -LilycoveCity_PokemonCenter_1F_EventScript_2A89C7:: @ 82A89C7 - specialvar VAR_RESULT, GetContestLadyCategory - special Script_BufferContestLadyCategoryAndMonName - special GetContestLadyMonSpecies - compare VAR_RESULT, CONTEST_CATEGORY_COOL - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A0A - compare VAR_RESULT, CONTEST_CATEGORY_BEAUTY - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A1D - compare VAR_RESULT, CONTEST_CATEGORY_CUTE - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A30 - compare VAR_RESULT, CONTEST_CATEGORY_SMART - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A43 - compare VAR_RESULT, CONTEST_CATEGORY_TOUGH - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A56 - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8A0A:: @ 82A8A0A - lock - faceplayer - waitse - playmoncry VAR_0x8005, 0 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A96DA, MSGBOX_DEFAULT - waitmoncry - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8A1D:: @ 82A8A1D - lock - faceplayer - waitse - playmoncry VAR_0x8005, 0 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A970E, MSGBOX_DEFAULT - waitmoncry - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8A30:: @ 82A8A30 - lock - faceplayer - waitse - playmoncry VAR_0x8005, 0 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A96F6, MSGBOX_DEFAULT - waitmoncry - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8A43:: @ 82A8A43 - lock - faceplayer - waitse - playmoncry VAR_0x8005, 0 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A96E6, MSGBOX_DEFAULT - waitmoncry - release - end - -LilycoveCity_PokemonCenter_1F_EventScript_2A8A56:: @ 82A8A56 - lock - faceplayer - waitse - playmoncry VAR_0x8005, 0 - msgbox LilycoveCity_PokemonCenter_1F_Text_2A9703, MSGBOX_DEFAULT - waitmoncry - release - end - -LilycoveCity_PokemonCenter_1F_Text_2A8A69: @ 82A8A69 - .string "I'm the FAVOR LADY…$" - -LilycoveCity_PokemonCenter_1F_Text_2A8A7D: @ 82A8A7D - .string "I've recently developed an obsession\n" - .string "for {STR_VAR_1} things…$" - -LilycoveCity_PokemonCenter_1F_Text_2A8AB1: @ 82A8AB1 - .string "Oh…\n" - .string "Thank you for last time…$" - -LilycoveCity_PokemonCenter_1F_Text_2A8ACE: @ 82A8ACE - .string "Before, I think it was {STR_VAR_3}…\p" - .string "{STR_VAR_3} gave me one {STR_VAR_2},\n" - .string "saying it was {STR_VAR_1}.\p" - .string "But it wasn't {STR_VAR_1}.\n" - .string "Not in the least bit.$" - -LilycoveCity_PokemonCenter_1F_Text_2A8B36: @ 82A8B36 - .string "Before, {STR_VAR_3} gave me a very\n" - .string "{STR_VAR_1} {STR_VAR_2}.\p" - .string "I cherish it now.$" - -LilycoveCity_PokemonCenter_1F_Text_2A8B69: @ 82A8B69 - .string "Listen, if you have anything that\n" - .string "is {STR_VAR_1}, will you share it\l" - .string "with me?$" - -LilycoveCity_PokemonCenter_1F_Text_2A8BAD: @ 82A8BAD - .string "…Really?\n" - .string "What will you give me?$" - -LilycoveCity_PokemonCenter_1F_Text_2A8BCD: @ 82A8BCD - .string "Is that so?\n" - .string "Then, it's good-bye…$" - -LilycoveCity_PokemonCenter_1F_Text_2A8BEE: @ 82A8BEE - .string "Oh…\n" - .string "You're not willing to share?$" - -LilycoveCity_PokemonCenter_1F_Text_2A8C0F: @ 82A8C0F - .string "Oh?\n" - .string "That {STR_VAR_2} is {STR_VAR_1}?\p" - .string "…Oh, is that right?\p" - .string "Well, I owe you a thanks anyway.\n" - .string "I'll try to cherish it…$" - -LilycoveCity_PokemonCenter_1F_Text_2A8C6F: @ 82A8C6F - .string "Oh…\p" - .string "That's a quite {STR_VAR_1}\n" - .string "{STR_VAR_2}…\p" - .string "Isn't it nice?\n" - .string "It's so dreamy…\p" - .string "Thank you…\n" - .string "I will cherish this…$" - -LilycoveCity_PokemonCenter_1F_Text_2A8CC8: @ 82A8CC8 - .string "…Oh, oh, oh…\p" - .string "This is amazing!\n" - .string "This really is {STR_VAR_1}!\p" - .string "I never knew that one {STR_VAR_2}\n" - .string "could be this {STR_VAR_1}!\p" - .string "Thank you!\p" - .string "I will treasure this for the rest\n" - .string "of my life!$" - -LilycoveCity_PokemonCenter_1F_Text_2A8D5D: @ 82A8D5D - .string "I'll give you this wonderful item in\n" - .string "return for your fabulous gift.\p" - .string "I hope you will cherish it…$" - -LilycoveCity_PokemonCenter_1F_Text_2A8DBD: @ 82A8DBD - .string "Oh, you can't have it if you don't have\n" - .string "the space for it.\p" - .string "Please come see me when you get\n" - .string "your BAG organized…$" - -LilycoveCity_PokemonCenter_1F_Text_2A8E2B: @ 82A8E2B - .string "I'm the QUIZ LADY!\n" - .string "I love quizzes!$" - -LilycoveCity_PokemonCenter_1F_Text_2A8E4E: @ 82A8E4E - .string "Oh?\p" - .string "I'm waiting for a challenger to answer\n" - .string "the quiz you made.\p" - .string "We can chat another time, okay?$" - -LilycoveCity_PokemonCenter_1F_Text_2A8EAC: @ 82A8EAC - .string "I'm waiting for someone to challenge\n" - .string "a quiz this {STR_VAR_1} thought up!$" - -LilycoveCity_PokemonCenter_1F_Text_2A8EEC: @ 82A8EEC - .string "If you answer correctly, you can win\n" - .string "fabulous prizes!\p" - .string "Would you like to take the quiz\n" - .string "challenge?$" - -LilycoveCity_PokemonCenter_1F_Text_2A8F4D: @ 82A8F4D - .string "… … … … … …\n" - .string "… … … … … …$" - -LilycoveCity_PokemonCenter_1F_Text_2A8F65: @ 82A8F65 - .string "Oh, how boring!\n" - .string "Bye-bye!$" - -LilycoveCity_PokemonCenter_1F_Text_2A8F7E: @ 82A8F7E - .string "Awww!\n" - .string "You're going to quit?$" - -LilycoveCity_PokemonCenter_1F_Text_2A8F9A: @ 82A8F9A - .string "Please take the quiz challenge\n" - .string "another time!$" - -LilycoveCity_PokemonCenter_1F_Text_2A8FC7: @ 82A8FC7 - .string "You're amazing! You've got it right!\n" - .string "You're one sharp customer!$" - -LilycoveCity_PokemonCenter_1F_Text_2A9007: @ 82A9007 - .string "Congratulations!\n" - .string "You've got the quiz right!\p" - .string "You've won a prize provided by\n" - .string "{STR_VAR_1}!$" - -LilycoveCity_PokemonCenter_1F_Text_2A9056: @ 82A9056 - .string "{STR_VAR_1} received\n" - .string "one {STR_VAR_2}!$" - -LilycoveCity_PokemonCenter_1F_Text_2A906A: @ 82A906A - .string "Oh? Your BAG is filled up!\n" - .string "Come see me when you have room.$" - -LilycoveCity_PokemonCenter_1F_Text_2A90A5: @ 82A90A5 - .string "Hmm… Wrong!\n" - .string "The correct answer is “{STR_VAR_3}”!$" - -LilycoveCity_PokemonCenter_1F_Text_2A90CD: @ 82A90CD - .string "Too bad!\p" - .string "I get to keep the quiz prize\n" - .string "{STR_VAR_1} now!$" - -LilycoveCity_PokemonCenter_1F_Text_2A90FB: @ 82A90FB - .string "Listen, listen!\n" - .string "Would you like to make your own quiz?$" - -LilycoveCity_PokemonCenter_1F_Text_2A9131: @ 82A9131 - .string "Oh, I see…\n" - .string "Well, maybe next time!$" - -LilycoveCity_PokemonCenter_1F_Text_2A9153: @ 82A9153 - .string "Okay, the first thing you have to do\n" - .string "is pick the prize for the person that\l" - .string "answers your quiz correctly.\p" - .string "But beware, if the person taking\n" - .string "the quiz can't get it right, I get to\l" - .string "keep the prize!$" - -LilycoveCity_PokemonCenter_1F_Text_2A9212: @ 82A9212 - .string "If you don't choose a prize,\n" - .string "your quiz can't be made.\p" - .string "Are you going to quit making\n" - .string "your quiz?$" - -LilycoveCity_PokemonCenter_1F_Text_2A9270: @ 82A9270 - .string "Oh, how nice!\n" - .string "That's a wonderful prize!\p" - .string "Next, you need to write your quiz\n" - .string "question and its answer.$" - -LilycoveCity_PokemonCenter_1F_Text_2A92D3: @ 82A92D3 - .string "Are you going to quit writing\n" - .string "your quiz question?$" - -LilycoveCity_PokemonCenter_1F_Text_2A9305: @ 82A9305 - .string "Are you going to quit choosing\n" - .string "your quiz answer?$" - -LilycoveCity_PokemonCenter_1F_Text_2A9336: @ 82A9336 - .string "Thank you!\n" - .string "You've put together a nice quiz.\p" - .string "I'll go look for someone who'll take\n" - .string "your quiz challenge right away.$" - -LilycoveCity_PokemonCenter_1F_Text_2A93A7: @ 82A93A7 - .string "I'm the CONTEST LADY!\n" - .string "I sure do love CONTESTS!$" - -LilycoveCity_PokemonCenter_1F_Text_2A93D6: @ 82A93D6 - .string "Thanks for your {POKEBLOCK} before!$" - -LilycoveCity_PokemonCenter_1F_Text_2A93F4: @ 82A93F4 - .string "This is my friend {STR_VAR_1}!\n" - .string "It's the epitome of {STR_VAR_2}!\p" - .string "But I think that it will display\n" - .string "even more {STR_VAR_2}!$" - -LilycoveCity_PokemonCenter_1F_Text_2A9451: @ 82A9451 - .string "So, I need your help!\p" - .string "Please, may I have one {POKEBLOCK}?\n" - .string "All I'm asking for is one!\p" - .string "…Oh, but…\n" - .string "Don't you have a {POKEBLOCK} CASE?\l" - .string "That's no good. Next time, then!$" - -LilycoveCity_PokemonCenter_1F_Text_2A94E8: @ 82A94E8 - .string "So, I need your help!\p" - .string "Please, may I have one {POKEBLOCK}?\n" - .string "All I'm asking for is one!$" - -LilycoveCity_PokemonCenter_1F_Text_2A9537: @ 82A9537 - .string "Awww!\n" - .string "I can't have one {POKEBLOCK}?!$" - -LilycoveCity_PokemonCenter_1F_Text_2A9556: @ 82A9556 - .string "Sheesh!\n" - .string "What a cheapskate!$" - -LilycoveCity_PokemonCenter_1F_Text_2A9571: @ 82A9571 - .string "Yay!\n" - .string "Thank you!\p" - .string "I'll feed my POKéMON your {POKEBLOCK}\n" - .string "right away.$" - -LilycoveCity_PokemonCenter_1F_Text_2A95AD: @ 82A95AD - .string "…It doesn't seem to have changed\n" - .string "in any way at all…\p" - .string "Hmm…\p" - .string "Oh, well!\n" - .string "Thank you very much!$" - -LilycoveCity_PokemonCenter_1F_Text_2A9605: @ 82A9605 - .string "Oh, yay!\n" - .string "It's really delighted!\p" - .string "I think it really improved {STR_VAR_1}'s\n" - .string "{STR_VAR_2} quality, too.\p" - .string "Thank you so much!$" - -LilycoveCity_PokemonCenter_1F_Text_2A9669: @ 82A9669 - .string "Hmm…\p" - .string "I think we may be ready to enter\n" - .string "some CONTESTS.\p" - .string "If you see us in one somewhere,\n" - .string "I hope you'll cheer for us.$" - -LilycoveCity_PokemonCenter_1F_Text_2A96DA: @ 82A96DA - .string "{STR_VAR_1}: Guguuh!$" - -LilycoveCity_PokemonCenter_1F_Text_2A96E6: @ 82A96E6 - .string "{STR_VAR_1}: Igigigiiih!$" - -LilycoveCity_PokemonCenter_1F_Text_2A96F6: @ 82A96F6 - .string "{STR_VAR_1}: Baaarun…$" - -LilycoveCity_PokemonCenter_1F_Text_2A9703: @ 82A9703 - .string "{STR_VAR_1}: Pikka!$" - -LilycoveCity_PokemonCenter_1F_Text_2A970E: @ 82A970E - .string "{STR_VAR_1}: Umyaaaan!$" - + .include "data/text/check_furniture.inc" + .include "data/scripts/cave_hole.inc" + .include "data/scripts/lilycove_lady.inc" .include "data/text/match_call.inc" .include "data/scripts/apprentice.inc" - -gBattleDomeOpponentPotentialText1:: - .string "The best candidate to be a champ!$" - -gBattleDomeOpponentPotentialText2:: - .string "A sure-finalist team.$" - -gBattleDomeOpponentPotentialText3:: - .string "A likely top-three finisher.$" - -gBattleDomeOpponentPotentialText4:: - .string "A candidate to finish first.$" - -gBattleDomeOpponentPotentialText5:: - .string "A team with top-class potential.$" - -gBattleDomeOpponentPotentialText6:: - .string "The dark horse team this tournament.$" - -gBattleDomeOpponentPotentialText7:: - .string "A better-than-average team.$" - -gBattleDomeOpponentPotentialText8:: - .string "This tournament's average team.$" - -gBattleDomeOpponentPotentialText9:: - .string "A team with average potential.$" - -gBattleDomeOpponentPotentialText10:: - .string "A weaker-than-average team.$" - -gBattleDomeOpponentPotentialText11:: - .string "A team looking for its first win.$" - -gBattleDomeOpponentPotentialText12:: - .string "One win will make this team proud.$" - -gBattleDomeOpponentPotentialText13:: - .string "Overall, a weak team.$" - -gBattleDomeOpponentPotentialText14:: - .string "A team with very low potential.$" - -gBattleDomeOpponentPotentialText15:: - .string "A team unlikely to win the tournament.$" - -gBattleDomeOpponentPotentialText16:: - .string "The team most unlikely to win.$" - -gBattleDomeOpponentPotentialText17:: - .string "The perfect, invincible superstar!$" - -gBattleDomeOpponentStyleText1:: - .string "Willing to risk total disaster at times.$" - -gBattleDomeOpponentStyleText2:: - .string "Skilled at enduring long battles.$" - -gBattleDomeOpponentStyleText3:: - .string "Varies tactics to suit the opponent.$" - -gBattleDomeOpponentStyleText4:: - .string "Has a tough winning pattern.$" - -gBattleDomeOpponentStyleText5:: - .string "Occasionally uses a very rare move.$" - -gBattleDomeOpponentStyleText6:: - .string "Uses startling and disruptive moves.$" - -gBattleDomeOpponentStyleText7:: - .string "Constantly watches HP in battle.$" - -gBattleDomeOpponentStyleText8:: - .string "Good at storing then loosing power.$" - -gBattleDomeOpponentStyleText9:: - .string "Skilled at enfeebling foes.$" - -gBattleDomeOpponentStyleText10:: - .string "Prefers tactics that rely on luck.$" - -gBattleDomeOpponentStyleText11:: - .string "Attacks with a regal atmosphere.$" - -gBattleDomeOpponentStyleText12:: - .string "Attacks with powerful, low-PP moves.$" - -gBattleDomeOpponentStyleText13:: - .string "Skilled at enfeebling, then attacking.$" - -gBattleDomeOpponentStyleText14:: - .string "Battles while enduring all attacks.$" - -gBattleDomeOpponentStyleText15:: - .string "Skilled at upsetting foes emotionally.$" - -gBattleDomeOpponentStyleText16:: - .string "Uses strong and straightforward moves.$" - -gBattleDomeOpponentStyleText17:: - .string "Aggressively uses strong moves.$" - -gBattleDomeOpponentStyleText18:: - .string "Battles while cleverly dodging attacks.$" - -gBattleDomeOpponentStyleText19:: - .string "Skilled at using upsetting attacks.$" - -gBattleDomeOpponentStyleText20:: - .string "Uses many popular moves.$" - -gBattleDomeOpponentStyleText21:: - .string "Has moves for powerful combinations.$" - -gBattleDomeOpponentStyleText22:: - .string "Uses high-probability attacks.$" - -gBattleDomeOpponentStyleText23:: - .string "Aggressively uses spectacular moves.$" - -gBattleDomeOpponentStyleText24:: - .string "Emphasizes offense over defense.$" - -gBattleDomeOpponentStyleText25:: - .string "Emphasizes defense over offense.$" - -gBattleDomeOpponentStyleText26:: - .string "Attacks quickly with strong moves.$" - -gBattleDomeOpponentStyleText27:: - .string "Often uses moves with added effects.$" - -gBattleDomeOpponentStyleText28:: - .string "Uses a well-balanced mix of moves.$" - -gBattleDomeOpponentStyleTextUnused1:: - .string "This is sample message 1.$" - -gBattleDomeOpponentStyleTextUnused2:: - .string "This is sample message 2.$" - -gBattleDomeOpponentStyleTextUnused3:: - .string "This is sample message 3.$" - -gBattleDomeOpponentStyleTextUnused4:: - .string "This is sample message 4.$" - -gBattleDomeOpponentStatsText1:: - .string "Emphasizes HP and ATTACK.$" - -gBattleDomeOpponentStatsText2:: - .string "Emphasizes HP and DEFENSE.$" - -gBattleDomeOpponentStatsText3:: - .string "Emphasizes HP and SPEED.$" - -gBattleDomeOpponentStatsText4:: - .string "Emphasizes HP and SP. ATTACK.$" - -gBattleDomeOpponentStatsText5:: - .string "Emphasizes HP and SP. DEFENSE.$" - -gBattleDomeOpponentStatsText6:: - .string "Emphasizes ATTACK and DEFENSE.$" - -gBattleDomeOpponentStatsText7:: - .string "Emphasizes ATTACK and SPEED.$" - -gBattleDomeOpponentStatsText8:: - .string "Emphasizes ATTACK and SP. ATTACK.$" - -gBattleDomeOpponentStatsText9:: - .string "Emphasizes ATTACK and SP. DEFENSE.$" - -gBattleDomeOpponentStatsText10:: - .string "Emphasizes DEFENSE and SPEED.$" - -gBattleDomeOpponentStatsText11:: - .string "Emphasizes DEFENSE and SP. ATTACK.$" - -gBattleDomeOpponentStatsText12:: - .string "Emphasizes DEFENSE and SP. DEFENSE.$" - -gBattleDomeOpponentStatsText13:: - .string "Emphasizes SPEED and SP. ATTACK.$" - -gBattleDomeOpponentStatsText14:: - .string "Emphasizes SPEED and SP. DEFENSE.$" - -gBattleDomeOpponentStatsText15:: - .string "Emphasizes SP. ATTACK and SP. DEFENSE.$" - -gBattleDomeOpponentStatsText16:: - .string "Emphasizes HP.$" - -gBattleDomeOpponentStatsText17:: - .string "Emphasizes ATTACK.$" - -gBattleDomeOpponentStatsText18:: - .string "Emphasizes DEFENSE.$" - -gBattleDomeOpponentStatsText19:: - .string "Emphasizes SPEED.$" - -gBattleDomeOpponentStatsText20:: - .string "Emphasizes SP. ATTACK.$" - -gBattleDomeOpponentStatsText21:: - .string "Emphasizes SP. DEFENSE.$" - -gBattleDomeOpponentStatsText22:: - .string "Neglects HP and ATTACK.$" - -gBattleDomeOpponentStatsText23:: - .string "Neglects HP and DEFENSE.$" - -gBattleDomeOpponentStatsText24:: - .string "Neglects HP and SPEED.$" - -gBattleDomeOpponentStatsText25:: - .string "Neglects HP and SP. ATTACK.$" - -gBattleDomeOpponentStatsText26:: - .string "Neglects HP and SP. DEFENSE.$" - -gBattleDomeOpponentStatsText27:: - .string "Neglects ATTACK and DEFENSE.$" - -gBattleDomeOpponentStatsText28:: - .string "Neglects ATTACK and SPEED.$" - -gBattleDomeOpponentStatsText29:: - .string "Neglects ATTACK and SP. ATTACK.$" - -gBattleDomeOpponentStatsText30:: - .string "Neglects ATTACK and SP. DEFENSE.$" - -gBattleDomeOpponentStatsText31:: - .string "Neglects DEFENSE and SPEED.$" - -gBattleDomeOpponentStatsText32:: - .string "Neglects DEFENSE and SP. ATTACK.$" - -gBattleDomeOpponentStatsText33:: - .string "Neglects DEFENSE and SP. DEFENSE.$" - -gBattleDomeOpponentStatsText34:: - .string "Neglects SPEED and SP. ATTACK.$" - -gBattleDomeOpponentStatsText35:: - .string "Neglects SPEED and SP. DEFENSE.$" - -gBattleDomeOpponentStatsText36:: - .string "Neglects SP. ATTACK and SP. DEFENSE.$" - -gBattleDomeOpponentStatsText37:: - .string "Neglects HP.$" - -gBattleDomeOpponentStatsText38:: - .string "Neglects ATTACK.$" - -gBattleDomeOpponentStatsText39:: - .string "Neglects DEFENSE.$" - -gBattleDomeOpponentStatsText40:: - .string "Neglects SPEED.$" - -gBattleDomeOpponentStatsText41:: - .string "Neglects SP. ATTACK.$" - -gBattleDomeOpponentStatsText42:: - .string "Neglects SP. DEFENSE.$" - -gBattleDomeOpponentStatsText43:: - .string "Raises POKéMON in a well-balanced way.$" - -gBattleDomeWinText1:: - .string "Let the battle begin!$" - -gBattleDomeWinText2:: - .string "{STR_VAR_1} won using {STR_VAR_2}!$" - -gBattleDomeWinText3:: - .string "{STR_VAR_1} became the champ!$" - -gBattleDomeWinText4:: - .string "{STR_VAR_1} won by default!$" - -gBattleDomeWinText5:: - .string "{STR_VAR_1} won outright by default!$" - -gBattleDomeWinText6:: - .string "{STR_VAR_1} won without using a move!$" - -gBattleDomeWinText7:: - .string "{STR_VAR_1} won outright with no moves!$" - -gBattleDomeMatchNumberText1:: - .string "Round 1, Match 1$" - -gBattleDomeMatchNumberText2:: - .string "Round 1, Match 2$" - -gBattleDomeMatchNumberText3:: - .string "Round 1, Match 3$" - -gBattleDomeMatchNumberText4:: - .string "Round 1, Match 4$" - -gBattleDomeMatchNumberText5:: - .string "Round 1, Match 5$" - -gBattleDomeMatchNumberText6:: - .string "Round 1, Match 6$" - -gBattleDomeMatchNumberText7:: - .string "Round 1, Match 7$" - -gBattleDomeMatchNumberText8:: - .string "Round 1, Match 8$" - -gBattleDomeMatchNumberText9:: - .string "Round 2, Match 1$" - -gBattleDomeMatchNumberText10:: - .string "Round 2, Match 2$" - -gBattleDomeMatchNumberText11:: - .string "Round 2, Match 3$" - -gBattleDomeMatchNumberText12:: - .string "Round 2, Match 4$" - -gBattleDomeMatchNumberText13:: - .string "Semifinal Match 1$" - -gBattleDomeMatchNumberText14:: - .string "Semifinal Match 2$" - -gBattleDomeMatchNumberText15:: - .string "Final Match$" - -BattleFrontier_BattlePikeRandomRoom1_MapScripts_2C3E1B: @ 82C3E1B - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRandomRoom1_MapScript2_2C3EDE - -BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25: @ 82C3E25 - setvar VAR_0x8004, 4 - special CallBattlePikeFunction - setvar VAR_0x8004, 5 - special CallBattlePikeFunction - switch VAR_RESULT - case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1 - case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1 - case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EC0 - case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EA2 - case 4, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1 - case 7, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3E93 - case 6, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EA2 - case 8, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3ECF - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3E93:: @ 82C3E93 - setobjectxyperm 1, 2, 5 - setobjectxyperm 2, 6, 5 - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EA2:: @ 82C3EA2 - setobjectxyperm 1, 4, 4 - setobjectxyperm 2, 3, 4 - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1:: @ 82C3EB1 - setobjectxyperm 1, 4, 4 - setobjectxyperm 2, 0, 0 - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EC0:: @ 82C3EC0 - setobjectxyperm 1, 5, 5 - setobjectxyperm 2, 0, 0 - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3ECF:: @ 82C3ECF - setobjectxyperm 1, 4, 3 - setobjectxyperm 2, 4, 4 - end - -BattleFrontier_BattlePikeRandomRoom1_MapScript2_2C3EDE: @ 82C3EDE - map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8 - .2byte 0 - -BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8:: @ 82C3EE8 - setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_LINK_RECEPTIONIST - setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_LINK_RECEPTIONIST - setvar VAR_0x8004, 5 - special CallBattlePikeFunction - compare VAR_RESULT, 3 - goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35 - compare VAR_RESULT, 6 - goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35 - compare VAR_RESULT, 7 - goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35 - compare VAR_RESULT, 8 - goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F3F - hideobjectat 2, MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 - setvar VAR_TEMP_4, 1 - turnobject 255, 2 - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35:: @ 82C3F35 - setvar VAR_TEMP_4, 1 - turnobject 255, 2 - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F3F:: @ 82C3F3F - setvar VAR_TEMP_4, 1 - turnobject 255, 2 - hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 - end - -BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F4E:: @ 82C3F4E - setvar VAR_0x8007, 0 - goto BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F - end - -BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F59:: @ 82C3F59 - setvar VAR_0x8007, 1 - goto BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F - end - -BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F64:: @ 82C3F64 - setvar VAR_0x8007, 2 - goto BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F - end - -BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F:: @ 82C3F6F - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special CallBattlePikeFunction - addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - copyvar VAR_0x8006, VAR_RESULT - special CallBattlePikeFunction - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc - addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc - setvar VAR_0x8004, 0 - special CallBattlePikeFunction - setvar VAR_0x8004, 5 - special CallBattlePikeFunction - switch VAR_RESULT - case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 - case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 - case 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 - case 3, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 - case 4, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 - case 5, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4049 - case 6, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 - case 7, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 - case 8, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 - end - -BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030:: @ 82C4030 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A - waitmovement 0 - call BattleFrontier_BattlePikeThreePathRoom_EventScript_25BB49 - warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1, 255, 4, 7 - waitstate - end - -BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4049:: @ 82C4049 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A - waitmovement 0 - call BattleFrontier_BattlePikeThreePathRoom_EventScript_25BB49 - warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3, 255, 4, 19 - waitstate - end - -BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062:: @ 82C4062 - setvar VAR_TEMP_3, 1 - setvar VAR_TEMP_2, 1 - end - -BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D:: @ 82C406D - setvar VAR_TEMP_3, 0 - setvar VAR_TEMP_2, 0 - lockall - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CE36, MSGBOX_DEFAULT - closemessage - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082:: @ 82C4082 - setvar VAR_TEMP_3, 1 - setvar VAR_TEMP_2, 1 - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D:: @ 82C408D - setvar VAR_TEMP_3, 0 - setvar VAR_TEMP_2, 0 - lockall - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25CE36, MSGBOX_DEFAULT - closemessage - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2 - setvar VAR_0x8004, 25 - special CallBattlePikeFunction - compare VAR_RESULT, 1 - call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128 - compare VAR_RESULT, 1 - call_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special CallBattlePikeFunction - addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - copyvar VAR_0x8006, VAR_RESULT - special CallBattlePikeFunction - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc - addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc - setvar VAR_0x8004, 3 - special CallBattlePikeFunction - compare VAR_RESULT, 1 - call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144 - compare VAR_RESULT, 0 - call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C415C - waitstate - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128:: @ 82C4128 -BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128:: @ 82C4128 - setvar VAR_0x8004, 24 - setvar VAR_0x8005, 1 - special CallBattlePikeFunction - return - -BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136:: @ 82C4136 -BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136:: @ 82C4136 - setvar VAR_0x8004, 24 - setvar VAR_0x8005, 0 - special CallBattlePikeFunction - return - -BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144:: @ 82C4144 -BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144:: @ 82C4144 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A - waitmovement 0 - call BattleFrontier_BattlePikeRandomRoom1_EventScript_25BB49 - warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2, 255, 2, 7 - return - -BattleFrontier_BattlePikeRandomRoom1_EventScript_2C415C:: @ 82C415C -BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C:: @ 82C415C - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A - waitmovement 0 - call BattleFrontier_BattlePikeRandomRoom1_EventScript_25BB49 - warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10 - return - -BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174 - setvar VAR_0x8004, 7 - special CallBattlePikeFunction - setvar VAR_0x8004, 25 - special CallBattlePikeFunction - compare VAR_RESULT, 1 - call_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128 - compare VAR_RESULT, 1 - call_if_ne BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special CallBattlePikeFunction - addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - copyvar VAR_0x8006, VAR_RESULT - special CallBattlePikeFunction - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc - addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc - setvar VAR_0x8004, 3 - special CallBattlePikeFunction - compare VAR_RESULT, 1 - call_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144 - compare VAR_RESULT, 0 - call_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C - waitstate - end - -BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202:: @ 82C4202 - setvar VAR_TEMP_3, 1 - setvar VAR_TEMP_2, 1 - end - -BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D:: @ 82C420D - setvar VAR_TEMP_3, 0 - setvar VAR_TEMP_2, 0 - lockall - msgbox BattleFrontier_BattlePikeRandomRoom3_Text_25CE36, MSGBOX_DEFAULT - closemessage - end - -BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222:: @ 82C4222 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 4 - special CallFrontierUtilFunc - warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6 - waitstate - end - -BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C423E: @ 82C423E -BattleFrontier_BattlePikeThreePathRoom_MapScript1_2C423E: @ 82C423E - setorcopyvar VAR_0x8006, VAR_RESULT - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 0 - special CallFrontierUtilFunc - compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B - call BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4271 - -BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B:: @ 82C426B - setorcopyvar VAR_RESULT, VAR_0x8006 - end - -BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4271:: @ 82C4271 -BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4271:: @ 82C4271 - setvar VAR_0x8004, 21 - special CallFrontierUtilFunc - return - -BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A: @ 82C427A -BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A: @ 82C427A - set_invisible - step_end - -LilycoveCity_ContestLobby_Text_2C427C: @ 82C427C - .string "BLEND MASTER: Indeed I am!\n" - .string "The BLEND MASTER am I!\p" - .string "Blend with me, and you shall witness\n" - .string "the mastery I bring to blending!$" - -LilycoveCity_ContestLobby_Text_2C42F4: @ 82C42F4 - .string "BLEND MASTER: Hmmm! So, you wish to\n" - .string "see my mastery in action?$" - -LilycoveCity_ContestLobby_Text_2C4332: @ 82C4332 - .string "Hmmm!\p" - .string "So, you are too busy now, I see!\p" - .string "But fear not!\n" - .string "I shall be here all day!\l" - .string "Hurry back from your errand!$" - -LilycoveCity_ContestLobby_Text_2C439D: @ 82C439D - .string "Hmmm!\p" - .string "You haven't got a single BERRY!\p" - .string "I shall be here all day!\n" - .string "Hurry back with some BERRIES!$" - -LilycoveCity_ContestLobby_Text_2C43FA: @ 82C43FA - .string "Of course!\n" - .string "Of course!\p" - .string "Incidentally…\n" - .string "You do know how to blend {POKEBLOCK}S\l" - .string "from BERRIES?$" - -LilycoveCity_ContestLobby_Text_2C444C: @ 82C444C - .string "Hmmm!\p" - .string "Ah, but it is a simple process!\p" - .string "When the BLENDER's arrow comes to\n" - .string "your marker, just press the A Button.\p" - .string "That's all you have to do.\p" - .string "When you see how precisely I press\n" - .string "the A Button, you will understand.$" - -LilycoveCity_ContestLobby_Text_2C451B: @ 82C451B - .string "Fine!\p" - .string "Let's get started, then!\p" - .string "All together with the BLEND MASTER,\n" - .string "let's BERRY BLENDER!$" - -LilycoveCity_ContestLobby_Text_2C4573: @ 82C4573 - .string "Hmmm!\p" - .string "You don't appear to have gotten\n" - .string "the {POKEBLOCK} CASE!\p" - .string "I shall be here all day!\n" - .string "Obtain the {POKEBLOCK} CASE and hurry back!$" - -LilycoveCity_ContestLobby_Text_2C45E8: @ 82C45E8 - .string "Hmmm!\p" - .string "Your {POKEBLOCK} CASE appears to be full!\p" - .string "I shall be here all day!\n" - .string "Use some {POKEBLOCK}S and hurry back!$" - -LilycoveCity_ContestLobby_Text_2C464B: @ 82C464B - .string "Whoa!\n" - .string "Awesome!$" - -LilycoveCity_ContestLobby_Text_2C465A: @ 82C465A - .string "Wickedly fast!$" - -LilycoveCity_ContestLobby_Text_2C4669: @ 82C4669 - .string "What an expert!$" - -LilycoveCity_ContestLobby_Text_2C4679: @ 82C4679 - .string "When I blended with the MASTER,\n" - .string "we made amazing {POKEBLOCK}S!$" - -LilycoveCity_ContestLobby_Text_2C46B1: @ 82C46B1 - .string "Eyes that track the arrow with\n" - .string "machinelike intensity…\p" - .string "A hand that taps the A Button\n" - .string "with clockwork-like precision…\p" - .string "Possessing these qualities makes\n" - .string "the BLEND MASTER truly great.$" - -LilycoveCity_ContestLobby_Text_2C4763: @ 82C4763 - .string "The BLEND MASTER's supposed to work\n" - .string "on his skills deep in the mountains.\p" - .string "Sometimes, he comes to LILYCOVE\n" - .string "to blend BERRIES all day long.$" - -FallarborTown_BattleTentLobby_Text_2C47EB: @ 82C47EB - .string "I welcome you to the BATTLE TENT\n" - .string "FALLARBOR SITE!\p" - .string "I am your guide to the Set KO Tourney!$" - -FallarborTown_BattleTentLobby_Text_2C4843: @ 82C4843 - .string "Now, do you wish to take the challenge\n" - .string "of a Set KO Tourney?$" - -FallarborTown_BattleTentLobby_Text_2C487F: @ 82C487F - .string "We await your challenge on\n" - .string "another occasion!$" - -FallarborTown_BattleTentLobby_Text_2C48AC: @ 82C48AC - .string "In the FALLARBOR BATTLE TENT,\n" - .string "we undertake the Set KO Tourney.\p" - .string "All participants enter with a team of\n" - .string "three POKéMON.\p" - .string "The three POKéMON must be lined up\n" - .string "in the order that they are to appear in.\p" - .string "During battle, the POKéMON will appear\n" - .string "one at a time in the preset order.\p" - .string "Once a POKéMON enters battle, it must\n" - .string "remain out until the match is decided.\p" - .string "If a match remains undecided in\n" - .string "three turns, it goes to judging.\p" - .string "If you wish to interrupt your challenge,\n" - .string "please save the game.\p" - .string "If you don't save, you will not be able\n" - .string "to continue with your challenge.\p" - .string "If you pull off the feat of beating\n" - .string "three TRAINERS in succession,\l" - .string "we will present you with a fine prize.$" - -FallarborTown_BattleTentLobby_Text_2C4B35: @ 82C4B35 - .string "Before showing you to the BATTLE\n" - .string "TENT, I must save. Is that okay?$" - -FallarborTown_BattleTentLobby_Text_2C4B77: @ 82C4B77 - .string "We offer two levels of challenge,\n" - .string "Level 50 and Open Level.\l" - .string "Which is your choice?$" - -FallarborTown_BattleTentLobby_Text_2C4BC8: @ 82C4BC8 - .string "Very well, now select your\n" - .string "three POKéMON, please.$" - -FallarborTown_BattleTentLobby_Text_2C4BFA: @ 82C4BFA - .string "My dear challenger!\p" - .string "You do not have the three POKéMON\n" - .string "required for entry.\p" - .string "They also must not hold the same\n" - .string "kinds of items.\p" - .string "EGGS{STR_VAR_1} ineligible.\p" - .string "When you have made your preparations,\n" - .string "please do return.$" - -FallarborTown_BattleTentLobby_Text_2C4CC0: @ 82C4CC0 - .string "My dear challenger!\p" - .string "You do not have the three POKéMON\n" - .string "required for entry.\p" - .string "To qualify, you must bring three\n" - .string "different kinds of POKéMON.\p" - .string "They also must not hold the same\n" - .string "kinds of items.\p" - .string "EGGS{STR_VAR_1} ineligible.\p" - .string "When you have made your preparations,\n" - .string "please do return.$" - -FallarborTown_BattleTentLobby_Text_2C4DC3: @ 82C4DC3 - .string "I shall now guide you to\n" - .string "the BATTLE TENT.$" - -FallarborTown_BattleTentLobby_Text_2C4DED: @ 82C4DED - .string "My dear challenger!\p" - .string "You did not save the game before\n" - .string "shutting down, did you?\p" - .string "It is unfortunate, but that has\n" - .string "resulted in your disqualification\l" - .string "from your challenge.\p" - .string "You may, of course, start with a fresh\n" - .string "challenge.$" - -FallarborTown_BattleTentLobby_Text_2C4EC3: @ 82C4EC3 - .string "How splendid! You have beaten\n" - .string "three TRAINERS in succession!$" - -FallarborTown_BattleTentLobby_Text_2C4EFF: @ 82C4EFF - .string "Please wait while I save the game.$" - -FallarborTown_BattleTentLobby_Text_2C4F22: @ 82C4F22 - .string "In commemoration of your 3-win streak,\n" - .string "we present you with this prize.$" - -FallarborTown_BattleTentLobby_Text_2C4F69: @ 82C4F69 - .string "{PLAYER} received the prize\n" - .string "{STR_VAR_1}.$" - -FallarborTown_BattleTentLobby_Text_2C4F83: @ 82C4F83 - .string "Oh?\n" - .string "Your BAG seems to be full.\p" - .string "I urge you to clear space and\n" - .string "return for your prize.$" - -FallarborTown_BattleTentLobby_Text_2C4FD7: @ 82C4FD7 - .string "Thank you so much for participating!\p" - .string "Please wait while I save the game.$" - -FallarborTown_BattleTentLobby_Text_2C501F: @ 82C501F - .string "We await your challenge on\n" - .string "another occasion!$" - -FallarborTown_BattleTentLobby_Text_2C504C: @ 82C504C - .string "We have been looking forward to\n" - .string "your arrival.\p" - .string "Before I show you to the BATTLE TENT,\n" - .string "I must save the game. Please wait.$" - -VerdanturfTown_BattleTentLobby_Text_2C50C3: @ 82C50C3 - .string "I welcome you to the BATTLE TENT\n" - .string "VERDANTURF SITE!\p" - .string "Here, the TRAINER's trust toward\n" - .string "POKéMON is tested.$" - -VerdanturfTown_BattleTentLobby_Text_2C5129: @ 82C5129 - .string "Do you wish to take the VERDANTURF\n" - .string "BATTLE TENT challenge?$" - -VerdanturfTown_BattleTentLobby_Text_2C5163: @ 82C5163 - .string "In the VERDANTURF BATTLE TENT,\n" - .string "there is one crucial rule that must\l" - .string "be obeyed.\p" - .string "TRAINERS are permitted only to switch\n" - .string "their POKéMON in and out.\p" - .string "TRAINERS are otherwise forbidden to\n" - .string "command their POKéMON.\p" - .string "The POKéMON are to behave according\n" - .string "to their nature and battle on their own.\p" - .string "You must put your trust in your\n" - .string "POKéMON and watch over them.\p" - .string "If you achieve the honor of beating\n" - .string "three TRAINERS in succession,\l" - .string "we will present you with a prize.\p" - .string "If you want to interrupt your\n" - .string "challenge, please save the game.\p" - .string "If you don't save before interrupting,\n" - .string "you will be disqualified.$" - -VerdanturfTown_BattleTentLobby_Text_2C539A: @ 82C539A - .string "When you have fortified your heart\n" - .string "and POKéMON, you must return.$" - -VerdanturfTown_BattleTentLobby_Text_2C53DB: @ 82C53DB - .string "There are two levels of difficulty,\n" - .string "Level 50 and Open Level.\l" - .string "Which is your choice of a challenge?$" - -VerdanturfTown_BattleTentLobby_Text_2C543D: @ 82C543D - .string "Sigh…\p" - .string "You do not have the three POKéMON\n" - .string "required for the challenge.\p" - .string "To enter, you must provide three\n" - .string "different kinds of POKéMON.\p" - .string "They also must not be holding\n" - .string "the same kinds of items.\p" - .string "EGGS{STR_VAR_1} ineligible.\p" - .string "Come back when you have made\n" - .string "your preparations.$" - -VerdanturfTown_BattleTentLobby_Text_2C5538: @ 82C5538 - .string "Sigh…\p" - .string "You do not have the three POKéMON\n" - .string "required for the challenge.\p" - .string "To enter, you must provide three\n" - .string "different kinds of POKéMON.\p" - .string "They also must not be holding\n" - .string "the same kinds of items.\p" - .string "EGGS{STR_VAR_1} ineligible.\p" - .string "Come back when you have made\n" - .string "your preparations.$" - -VerdanturfTown_BattleTentLobby_Text_2C5633: @ 82C5633 - .string "Good. Now, you must select your\n" - .string "three POKéMON.$" - -VerdanturfTown_BattleTentLobby_Text_2C5662: @ 82C5662 - .string "I must save before I show you to\n" - .string "the BATTLE TENT. Is that okay?$" - -VerdanturfTown_BattleTentLobby_Text_2C56A2: @ 82C56A2 - .string "Good.\n" - .string "Now, follow me.$" - -VerdanturfTown_BattleTentLobby_Text_2C56B8: @ 82C56B8 - .string "I feel privileged for having seen\n" - .string "your POKéMON's exploits.\p" - .string "The results will be recorded.\n" - .string "I must ask you to briefly wait.$" - -VerdanturfTown_BattleTentLobby_Text_2C5731: @ 82C5731 - .string "To achieve a 3-win streak…\p" - .string "The bonds that bind your heart with\n" - .string "your POKéMON seem firm and true.$" - -VerdanturfTown_BattleTentLobby_Text_2C5791: @ 82C5791 - .string "Your feat will be recorded.\n" - .string "I must ask you to briefly wait.$" - -VerdanturfTown_BattleTentLobby_Text_2C57CD: @ 82C57CD - .string "For the feat of your 3-win streak,\n" - .string "we present you with this prize.$" - -SlateportCity_BattleTentLobby_Text_2C5810: @ 82C5810 - .string "Welcome to the BATTLE TENT\n" - .string "SLATEPORT SITE!\p" - .string "I am your guide to the Battle Swap\n" - .string "Tournament.$" - -SlateportCity_BattleTentLobby_Text_2C586A: @ 82C586A - .string "Would you like to take the Battle\n" - .string "Swap challenge?$" - -SlateportCity_BattleTentLobby_Text_2C589C: @ 82C589C - .string "Here at the SLATEPORT BATTLE TENT,\n" - .string "we hold Battle Swap events\l" - .string "using rental POKéMON.\p" - .string "First, you will be loaned three\n" - .string "POKéMON specifically for this event.\p" - .string "Using the supplied rental POKéMON,\n" - .string "you must conduct a SINGLE BATTLE.\p" - .string "If you win, you are permitted to trade\n" - .string "one of your rental POKéMON.\p" - .string "Repeat this cycle of battling and\n" - .string "trading--if you win three times in\l" - .string "a row, you will earn a fine prize.\p" - .string "If you want to interrupt your\n" - .string "challenge, please save the game.\p" - .string "If you don't save before interrupting,\n" - .string "you will be disqualified.$" - -SlateportCity_BattleTentLobby_Text_2C5AA5: @ 82C5AA5 - .string "We look forward to your next visit.$" - -SlateportCity_BattleTentLobby_Text_2C5AC9: @ 82C5AC9 - .string "Which level do you wish to challenge?\n" - .string "Level 50 or Level 100?$" - -SlateportCity_BattleTentLobby_Text_2C5B06: @ 82C5B06 - .string "Before you begin your challenge,\n" - .string "I need to save data. Is that okay?$" - -SlateportCity_BattleTentLobby_Text_2C5B4A: @ 82C5B4A - .string "Okay, I will hold your POKéMON for\n" - .string "safekeeping while you compete.$" - -SlateportCity_BattleTentLobby_Text_2C5B8C: @ 82C5B8C - .string "Please step this way.$" - -SlateportCity_BattleTentLobby_Text_2C5BA2: @ 82C5BA2 - .string "Thank you for participating!\p" - .string "I will return your POKéMON in exchange\n" - .string "for our rental POKéMON.\p" - .string "I must also save your event results.\n" - .string "Please wait.$" - -SlateportCity_BattleTentLobby_Text_2C5C30: @ 82C5C30 - .string "I will return your POKéMON in exchange\n" - .string "for our rental POKéMON.$" - -SlateportCity_BattleTentLobby_Text_2C5C6F: @ 82C5C6F - .string "Congratulations!\n" - .string "You've won three straight matches!\p" - .string "I will return your POKéMON in exchange\n" - .string "for our rental POKéMON.\p" - .string "I must also save your event results.\n" - .string "Please wait.$" - -SlateportCity_BattleTentLobby_Text_2C5D14: @ 82C5D14 - .string "In recognition of your 3-win streak,\n" - .string "we award you this prize.$" - -SlateportCity_BattleTentLobby_Text_2C5D52: @ 82C5D52 - .string "Oh?\n" - .string "You seem to have no room for this.\p" - .string "Please make room in your BAG and\n" - .string "let me know.$" - -SlateportCity_BattleTentLobby_Text_2C5DA7: @ 82C5DA7 - .string "We've been waiting for you!\p" - .string "Before we resume your challenge,\n" - .string "I must save the game.$" - -SlateportCity_BattleTentLobby_Text_2C5DFA: @ 82C5DFA - .string "I'm sorry to say this, but you didn't\n" - .string "save before you quit playing last time.\p" - .string "As a result, you have been disqualified\n" - .string "from your challenge.$" - -SlateportCity_BattleTentLobby_Text_2C5E85: @ 82C5E85 - .string "We'll return your personal POKéMON.$" - -SlateportCity_BattleTentLobby_Text_2C5EA9: @ 82C5EA9 - .string "{PLAYER} received the prize\n" - .string "{STR_VAR_1}.$" - -SlateportCity_BattleTentLobby_Text_2C5EC3: @ 82C5EC3 - .string "The Battle Swap rules are listed.$" - -SlateportCity_BattleTentLobby_Text_2C5EE5: @ 82C5EE5 - .string "Which heading do you want to read?$" - -SlateportCity_BattleTentLobby_Text_2C5F08: @ 82C5F08 - .string "In a Battle Swap event, you may use\n" - .string "only three POKéMON.\p" - .string "Whether you are renting or swapping,\n" - .string "your team may not have two or more\l" - .string "of the same POKéMON.$" - -SlateportCity_BattleTentLobby_Text_2C5F9D: @ 82C5F9D - .string "You may swap POKéMON only with\n" - .string "the TRAINER you have just defeated.\p" - .string "You may swap for only those POKéMON\n" - .string "used by the beaten TRAINER.$" - -SlateportCity_BattleTentLobby_Text_2C6020: @ 82C6020 - .string "After every battle you win, you may\n" - .string "swap for one of your defeated\l" - .string "opponent's POKéMON.\p" - .string "You will not be able to swap POKéMON\n" - .string "with the third TRAINER in the event.$" - -SlateportCity_BattleTentLobby_Text_2C60C0: @ 82C60C0 - .string "There are two key points to be aware\n" - .string "of when swapping POKéMON.\p" - .string "First, when swapping, you can't check\n" - .string "the stats of the POKéMON you are\l" - .string "about to receive.\p" - .string "Second, the POKéMON on your team\n" - .string "are lined up in sequence, depending on\l" - .string "the order in which you rented them.\p" - .string "This sequence remains unchanged\n" - .string "even when swaps are made.$" - -SlateportCity_BattleTentLobby_Text_2C61FE: @ 82C61FE - .string "The POKéMON of the SLATEPORT\n" - .string "BATTLE TENT are all rentals.\p" - .string "All rental POKéMON are kept at\n" - .string "Level 30.$" - -VerdanturfTown_BattleTentLobby_Text_2C6261: @ 82C6261 - .string "The VERDANTURF BATTLE TENT\n" - .string "rules are listed.$" - -VerdanturfTown_BattleTentLobby_Text_2C628E: @ 82C628E - .string "Which heading do you want to read?$" - -VerdanturfTown_BattleTentLobby_Text_2C62B1: @ 82C62B1 - .string "Here at the VERDANTURF BATTLE TENT,\n" - .string "POKéMON are required to think and\l" - .string "battle by themselves.\p" - .string "Unlike in the wild, POKéMON that live\n" - .string "with people behave differently\l" - .string "depending on their nature.$" - -VerdanturfTown_BattleTentLobby_Text_2C636D: @ 82C636D - .string "Depending on its nature, a POKéMON\n" - .string "may prefer to attack no matter what.\p" - .string "Another POKéMON may prefer to protect\n" - .string "itself from any harm.\p" - .string "Yet another may enjoy vexing or\n" - .string "confounding its foes.\p" - .string "Depending on its nature, a POKéMON\n" - .string "will have favorite moves that it is good\l" - .string "at using.\p" - .string "It may also dislike certain moves that\n" - .string "it has trouble using.$" - -VerdanturfTown_BattleTentLobby_Text_2C64BA: @ 82C64BA - .string "There are offensive moves that inflict\n" - .string "direct damage on the foe.\p" - .string "There are defensive moves that are\n" - .string "used to prepare for enemy attacks or\l" - .string "used to heal HP and so on.\p" - .string "There are also other somewhat-odd\n" - .string "moves that may enfeeble the foes with\l" - .string "stat problems including poison and \l" - .string "paralysis.\p" - .string "POKéMON will consider using moves in\n" - .string "these three categories.$" - -VerdanturfTown_BattleTentLobby_Text_2C6612: @ 82C6612 - .string "When not under command by its TRAINER,\n" - .string "a POKéMON may be unable to effectively\l" - .string "use certain moves.\p" - .string "A POKéMON is not good at using any\n" - .string "move that it dislikes.\p" - .string "If a POKéMON only knows moves that\n" - .string "do not match its nature, it will often\l" - .string "be unable to live up to its potential.$" - -VerdanturfTown_BattleTentLobby_Text_2C671E: @ 82C671E - .string "Depending on its nature, a POKéMON may\n" - .string "start using moves that don't match its\l" - .string "nature when it is in trouble.\p" - .string "If a POKéMON begins behaving oddly\n" - .string "in a pinch, watch it carefully.$" - -FallarborTown_BattleTentLobby_Text_2C67CD: @ 82C67CD -VerdanturfTown_BattleTentLobby_Text_2C67CD: @ 82C67CD - .string "At this BATTLE TENT, the levels of\n" - .string "your opponents will be adjusted to\l" - .string "match the levels of your POKéMON.\p" - .string "However, no TRAINER you face will\n" - .string "have any POKéMON below Level 30.$" - -VerdanturfTown_BattleTentLobby_Text_2C6878: @ 82C6878 - .string "The VERDANTURF BATTLE TENT\n" - .string "rules are listed.$" - -LilycoveCity_Harbor_Text_2C68A5: @ 82C68A5 - .string "What's up, youngster?\p" - .string "What, it's you who's supposed to have\n" - .string "a tattered old map?\p" - .string "Let's have a look.\n" - .string "… … … … … …\p" - .string "Boy, this is quite a ways away.\n" - .string "I'm afraid I can't help you…$" - -LilycoveCity_Harbor_Text_2C6951: @ 82C6951 - .string "BRINEY: Hold on a second!\p" - .string "What's the idea of turning down\n" - .string "someone that I owe so much to?$" - -LilycoveCity_Harbor_Text_2C69AA: @ 82C69AA - .string "{PLAYER}{KUN}, I'm terribly sorry.\p" - .string "You came to me seeking my help,\n" - .string "and we almost turned you away.\p" - .string "Well, let me make things right.\p" - .string "We'll sail right away, of course!\p" - .string "Let's find this island on\n" - .string "this OLD SEA MAP!$" - -LilycoveCity_Harbor_Text_2C6A71: @ 82C6A71 - .string "Is it you who brought that odd\n" - .string "ticket?\p" - .string "Where you're trying to go is an island\n" - .string "that's far, far away.\p" - .string "No one knows what awaits there…\p" - .string "The very thought excites my blood\n" - .string "as a sailing man!\p" - .string "Get on board, youngster!$" - -FarawayIsland_Entrance_Text_2C6B42: @ 82C6B42 - .string "CAPT. BRINEY can be so maddeningly\n" - .string "fickle…\p" - .string "Do you want to return to LILYCOVE?$" - -BirthIsland_Harbor_Text_2C6B90: @ 82C6B90 - .string "What an oddly shaped island, eh?\n" - .string "Do you want to return to LILYCOVE?$" - -LilycoveCity_Harbor_Text_2C6BD4: @ 82C6BD4 - .string "Is it you who brought those\n" - .string "odd tickets?\p" - .string "… … …Hm.\p" - .string "These tickets will get you to islands\n" - .string "that are far, far away.\p" - .string "No one knows what awaits there,\n" - .string "or what may happen there.\p" - .string "The very thought excites my blood\n" - .string "as a sailing man!\p" - .string "Get on board, youngster!\n" - .string "Where shall we sail first?$" - -NavelRock_Harbor_Text_2C6CE6: @ 82C6CE6 - .string "Did… Did you hear that?\n" - .string "That low growling from deep in there.\p" - .string "Are you sure it's safe?\n" - .string "Do you think we should leave?$" - -FarawayIsland_Entrance_Text_2C6D5A: @ 82C6D5A - .string "The writing is fading as if it was\n" - .string "written a long time ago…\p" - .string "“…ber, 6th day\n" - .string "If any human…sets foot here…\l" - .string "again…et it be a kindhearted pers…\l" - .string "…ith that hope, I depar…”$" - -FarawayIsland_Interior_Text_2C6DFF: @ 82C6DFF - .string "Myuu…$" - -MauvilleCity_Text_2C6E05: @ 82C6E05 - .string "This move can be learned only\n" - .string "once. Is that okay?$" - -SlateportCity_PokemonFanClub_Text_2C6E37: @ 82C6E37 - .string "Heh! My POKéMON totally rules!\n" - .string "It's cooler than any POKéMON!\p" - .string "I was lipping off with a swagger in\n" - .string "my step like that when the CHAIRMAN\l" - .string "chewed me out.\p" - .string "That took the swagger out of my step.\p" - .string "If you'd like, I'll teach the move\n" - .string "SWAGGER to a POKéMON of yours.$" - -SlateportCity_PokemonFanClub_Text_2C6F33: @ 82C6F33 - .string "What, no? Can't you get into\n" - .string "the spirit of things?$" - -SlateportCity_PokemonFanClub_Text_2C6F66: @ 82C6F66 - .string "All right, which POKéMON wants to\n" - .string "learn how to SWAGGER?$" - -SlateportCity_PokemonFanClub_Text_2C6F9E: @ 82C6F9E - .string "I'll just praise my POKéMON from now\n" - .string "on without the swagger.$" - -MauvilleCity_Text_2C6FDB: @ 82C6FDB - .string "Did you know that you can go from\n" - .string "here a long way in that direction\l" - .string "without changing direction?\p" - .string "I might even be able to roll\n" - .string "that way.\p" - .string "Do you think your POKéMON will\n" - .string "want to roll, too?\p" - .string "I can teach one the move ROLLOUT\n" - .string "if you'd like.$" - -MauvilleCity_Text_2C70C4: @ 82C70C4 - .string "You don't need to be shy about it.\n" - .string "Let's roll!$" - -MauvilleCity_Text_2C70F3: @ 82C70F3 - .string "Ehehe, sure thing! It'd be great if\n" - .string "the POKéMON looked like me.$" - -MauvilleCity_Text_2C7133: @ 82C7133 - .string "Rolling around in the grass makes me\n" - .string "happy. Come on, let's roll!$" - -VerdanturfTown_PokemonCenter_1F_Text_2C7174: @ 82C7174 - .string "There's a move that gets stronger\n" - .string "when you keep using it in a row.\p" - .string "It's a BUG-type move, and it is\n" - .string "wickedly cool.\p" - .string "It's called FURY CUTTER.\n" - .string "Want me to teach it to a POKéMON?$" - -VerdanturfTown_PokemonCenter_1F_Text_2C7221: @ 82C7221 - .string "We're not on the same wavelength.$" - -VerdanturfTown_PokemonCenter_1F_Text_2C7243: @ 82C7243 - .string "Yay!\n" - .string "Show me which POKéMON I should teach.$" - -VerdanturfTown_PokemonCenter_1F_Text_2C726E: @ 82C726E - .string "I get a thrill watching to see if\n" - .string "the move keeps hitting in succession!$" - -LavaridgeTown_House_Text_2C72B6: @ 82C72B6 - .string "Ah, young one!\p" - .string "I am also a young one, but I mimic\n" - .string "the styles and speech of the elderly\l" - .string "folks of this town.\p" - .string "What do you say, young one?\n" - .string "Would you agree to it if I were to\l" - .string "offer to teach the move MIMIC?$" - -LavaridgeTown_House_Text_2C737F: @ 82C737F - .string "Oh, boo! I wanted to teach MIMIC\n" - .string "to your POKéMON!$" - -LavaridgeTown_House_Text_2C73B1: @ 82C73B1 - .string "Fwofwo! And so I shall!\n" - .string "Let me see the POKéMON\l" - .string "you wish me to teach.$" - -LavaridgeTown_House_Text_2C73F6: @ 82C73F6 - .string "MIMIC is a move of great depth.\p" - .string "Could you execute it to perfection\n" - .string "as well as me…?$" - -FallarborTown_Mart_Text_2C7449: @ 82C7449 - .string "I want all sorts of things!\n" - .string "But I used up my allowance…\p" - .string "Wouldn't it be nice if there were\n" - .string "a spell that made money appear when\l" - .string "you waggle a finger?\p" - .string "If you want, I can teach your POKéMON\n" - .string "the move METRONOME.\p" - .string "Money won't appear, but your POKéMON\n" - .string "will waggle a finger. Yes?$" - -FallarborTown_Mart_Text_2C7556: @ 82C7556 - .string "Okay. I'll be here if you change\n" - .string "your mind.$" - -FallarborTown_Mart_Text_2C7582: @ 82C7582 - .string "Okay! I'll teach it!\n" - .string "Which POKéMON should I teach?$" - -FallarborTown_Mart_Text_2C75B5: @ 82C75B5 - .string "When a POKéMON waggles its finger\n" - .string "like a METRONOME, all sorts of nice\l" - .string "things happen.\p" - .string "Wouldn't it be nice if we could\n" - .string "use it, too?$" - -FortreeCity_House2_Text_2C7637: @ 82C7637 - .string "Humph! My wife relies on HIDDEN\n" - .string "POWER to stay awake.\p" - .string "She should just take a nap like I do,\n" - .string "and SLEEP TALK.\p" - .string "I can teach your POKéMON how to\n" - .string "SLEEP TALK instead. Interested?$" - -FortreeCity_House2_Text_2C76E2: @ 82C76E2 - .string "Oh, fine, fine. You want to stay awake\n" - .string "with HIDDEN POWER, too…$" - -FortreeCity_House2_Text_2C7721: @ 82C7721 - .string "Ah, an appreciative child!\n" - .string "Which POKéMON should I teach?$" - -FortreeCity_House2_Text_2C775A: @ 82C775A - .string "I've never once gotten my wife's\n" - .string "coin trick right.\p" - .string "I would be happy if I got it right\n" - .string "even as I SLEEP TALK…$" - -LilycoveCity_DepartmentStoreRooftop_Text_2C77C6: @ 82C77C6 - .string "When I see the wide world from up\n" - .string "here on the roof…\p" - .string "I think about how nice it would be\n" - .string "if there were more than just one me\l" - .string "so I could enjoy all sorts of lives.\p" - .string "Of course it's not possible.\n" - .string "Giggle…\p" - .string "I know! Would you be interested in\n" - .string "having a POKéMON learn SUBSTITUTE?$" - -LilycoveCity_DepartmentStoreRooftop_Text_2C78D1: @ 82C78D1 - .string "Oh, no?\p" - .string "A POKéMON can make a copy of\n" - .string "itself using it, you know.$" - -LilycoveCity_DepartmentStoreRooftop_Text_2C7911: @ 82C7911 - .string "Giggle…\n" - .string "Which POKéMON do you want me to\l" - .string "teach SUBSTITUTE?$" - -LilycoveCity_DepartmentStoreRooftop_Text_2C794B: @ 82C794B - .string "We human beings should enjoy our\n" - .string "own lives to the utmost!\p" - .string "I hope you'll get that way, too!$" - -MossdeepCity_Text_2C79A6: @ 82C79A6 - .string "I can't do this anymore!\p" - .string "It's utterly hopeless!\p" - .string "I'm a FIGHTING-type TRAINER,\n" - .string "so I can't win at the MOSSDEEP GYM\l" - .string "no matter how hard I try!\p" - .string "Argh! Punch! Punch! Punch!\n" - .string "Punch! Punch! Punch!\p" - .string "What, don't look at me that way!\n" - .string "I'm only hitting the ground!\p" - .string "Or do you want me to teach your\n" - .string "POKéMON DYNAMICPUNCH?$" - -MossdeepCity_Text_2C7AD4: @ 82C7AD4 - .string "Darn! You're even making fun of me?\n" - .string "Punch! Punch! Punch!$" - -MossdeepCity_Text_2C7B0D: @ 82C7B0D - .string "What? You do? You're a good person!\n" - .string "Which POKéMON should I teach?$" - -MossdeepCity_Text_2C7B4F: @ 82C7B4F - .string "I want you to win at the MOSSDEEP GYM\n" - .string "using that DYNAMICPUNCH!$" - -SootopolisCity_PokemonCenter_1F_Text_2C7B8E: @ 82C7B8E - .string "Sigh…\p" - .string "SOOTOPOLIS's GYM LEADER is really\n" - .string "lovably admirable.\p" - .string "But that also means I have many\n" - .string "rivals for his attention.\p" - .string "He's got appeal with a DOUBLE-EDGE.\n" - .string "I couldn't even catch his eye.\p" - .string "Please, let me teach your POKéMON\n" - .string "the move DOUBLE-EDGE!$" - -SootopolisCity_PokemonCenter_1F_Text_2C7C7E: @ 82C7C7E - .string "Oh…\n" - .string "Even you rejected me…$" - -SootopolisCity_PokemonCenter_1F_Text_2C7C98: @ 82C7C98 - .string "Okay, which POKéMON should I teach\n" - .string "DOUBLE-EDGE?$" - -SootopolisCity_PokemonCenter_1F_Text_2C7CC8: @ 82C7CC8 - .string "I won't live for love anymore!\n" - .string "I'll become tough!$" - -PacifidlogTown_PokemonCenter_1F_Text_2C7CFA: @ 82C7CFA - .string "I don't intend to be going nowhere\n" - .string "fast in the sticks like this forever.\p" - .string "You watch me, I'll get out to the city\n" - .string "and become a huge hit.\p" - .string "Seriously, I'm going to cause\n" - .string "a huge EXPLOSION of popularity!\p" - .string "If you overheard that, I'll happily\n" - .string "teach EXPLOSION to your POKéMON!$" - -PacifidlogTown_PokemonCenter_1F_Text_2C7E04: @ 82C7E04 - .string "Gaah! You're turning me down because\n" - .string "I live in the country?$" - -PacifidlogTown_PokemonCenter_1F_Text_2C7E40: @ 82C7E40 - .string "Fine! An EXPLOSION it is!\n" - .string "Which POKéMON wants to blow up?$" - -PacifidlogTown_PokemonCenter_1F_Text_2C7E7A: @ 82C7E7A - .string "For a long time, I've taught POKéMON\n" - .string "how to use EXPLOSION, but I've yet\l" - .string "to ignite my own EXPLOSION…\p" - .string "Maybe it's because deep down,\n" - .string "I would rather stay here…$" - -SlateportCity_PokemonFanClub_EventScript_2C7F16:: @ 82C7F16 - lock - faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SWAGGER, SlateportCity_PokemonFanClub_EventScript_2C7F74 - msgbox SlateportCity_PokemonFanClub_Text_2C6E37, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A - call SlateportCity_PokemonFanClub_EventScript_2C832D - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A - msgbox SlateportCity_PokemonFanClub_Text_2C6F66, MSGBOX_DEFAULT - setvar VAR_0x8005, 23 - call EventScript_ShowPartyMenu - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A - setflag FLAG_MOVE_TUTOR_TAUGHT_SWAGGER - goto SlateportCity_PokemonFanClub_EventScript_2C7F74 - end - -SlateportCity_PokemonFanClub_EventScript_2C7F6A:: @ 82C7F6A - msgbox SlateportCity_PokemonFanClub_Text_2C6F33, MSGBOX_DEFAULT - release - end - -SlateportCity_PokemonFanClub_EventScript_2C7F74:: @ 82C7F74 - msgbox SlateportCity_PokemonFanClub_Text_2C6F9E, MSGBOX_DEFAULT - release - end - -MauvilleCity_EventScript_2C7F7E:: @ 82C7F7E - lock - faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT, MauvilleCity_EventScript_2C7FDC - msgbox MauvilleCity_Text_2C6FDB, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_EventScript_2C7FD2 - call MauvilleCity_EventScript_2C832D - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_EventScript_2C7FD2 - msgbox MauvilleCity_Text_2C70F3, MSGBOX_DEFAULT - setvar VAR_0x8005, 16 - call EventScript_ShowPartyMenu - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_EventScript_2C7FD2 - setflag FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT - goto MauvilleCity_EventScript_2C7FDC - end - -MauvilleCity_EventScript_2C7FD2:: @ 82C7FD2 - msgbox MauvilleCity_Text_2C70C4, MSGBOX_DEFAULT - release - end - -MauvilleCity_EventScript_2C7FDC:: @ 82C7FDC - msgbox MauvilleCity_Text_2C7133, MSGBOX_DEFAULT - release - end - -VerdanturfTown_PokemonCenter_1F_EventScript_2C7FE6:: @ 82C7FE6 - lock - faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER, VerdanturfTown_PokemonCenter_1F_EventScript_2C8044 - msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7174, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A - call VerdanturfTown_PokemonCenter_1F_EventScript_2C832D - compare VAR_RESULT, 0 - goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A - msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7243, MSGBOX_DEFAULT - setvar VAR_0x8005, 29 - call EventScript_ShowPartyMenu - compare VAR_RESULT, 0 - goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A - setflag FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER - goto VerdanturfTown_PokemonCenter_1F_EventScript_2C8044 - end - -VerdanturfTown_PokemonCenter_1F_EventScript_2C803A:: @ 82C803A - msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7221, MSGBOX_DEFAULT - release - end - -VerdanturfTown_PokemonCenter_1F_EventScript_2C8044:: @ 82C8044 - msgbox VerdanturfTown_PokemonCenter_1F_Text_2C726E, MSGBOX_DEFAULT - release - end - -LavaridgeTown_House_EventScript_2C804E:: @ 82C804E - lock - faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_MIMIC, LavaridgeTown_House_EventScript_2C80AC - msgbox LavaridgeTown_House_Text_2C72B6, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LavaridgeTown_House_EventScript_2C80A2 - call LavaridgeTown_House_EventScript_2C832D - compare VAR_RESULT, 0 - goto_if_eq LavaridgeTown_House_EventScript_2C80A2 - msgbox LavaridgeTown_House_Text_2C73B1, MSGBOX_DEFAULT - setvar VAR_0x8005, 7 - call EventScript_ShowPartyMenu - compare VAR_RESULT, 0 - goto_if_eq LavaridgeTown_House_EventScript_2C80A2 - setflag FLAG_MOVE_TUTOR_TAUGHT_MIMIC - goto LavaridgeTown_House_EventScript_2C80AC - end - -LavaridgeTown_House_EventScript_2C80A2:: @ 82C80A2 - msgbox LavaridgeTown_House_Text_2C737F, MSGBOX_DEFAULT - release - end - -LavaridgeTown_House_EventScript_2C80AC:: @ 82C80AC - msgbox LavaridgeTown_House_Text_2C73F6, MSGBOX_DEFAULT - release - end - -FallarborTown_Mart_EventScript_2C80B6:: @ 82C80B6 - lock - faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_METRONOME, FallarborTown_Mart_EventScript_2C8114 - msgbox FallarborTown_Mart_Text_2C7449, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq FallarborTown_Mart_EventScript_2C810A - call FallarborTown_Mart_EventScript_2C832D - compare VAR_RESULT, 0 - goto_if_eq FallarborTown_Mart_EventScript_2C810A - msgbox FallarborTown_Mart_Text_2C7582, MSGBOX_DEFAULT - setvar VAR_0x8005, 8 - call EventScript_ShowPartyMenu - compare VAR_RESULT, 0 - goto_if_eq FallarborTown_Mart_EventScript_2C810A - setflag FLAG_MOVE_TUTOR_TAUGHT_METRONOME - goto FallarborTown_Mart_EventScript_2C8114 - end - -FallarborTown_Mart_EventScript_2C810A:: @ 82C810A - msgbox FallarborTown_Mart_Text_2C7556, MSGBOX_DEFAULT - release - end - -FallarborTown_Mart_EventScript_2C8114:: @ 82C8114 - msgbox FallarborTown_Mart_Text_2C75B5, MSGBOX_DEFAULT - release - end - -FortreeCity_House2_EventScript_2C811E:: @ 82C811E - lock - faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK, FortreeCity_House2_EventScript_2C817C - msgbox FortreeCity_House2_Text_2C7637, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq FortreeCity_House2_EventScript_2C8172 - call FortreeCity_House2_EventScript_2C832D - compare VAR_RESULT, 0 - goto_if_eq FortreeCity_House2_EventScript_2C8172 - msgbox FortreeCity_House2_Text_2C7721, MSGBOX_DEFAULT - setvar VAR_0x8005, 24 - call EventScript_ShowPartyMenu - compare VAR_RESULT, 0 - goto_if_eq FortreeCity_House2_EventScript_2C8172 - setflag FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK - goto FortreeCity_House2_EventScript_2C817C - end - -FortreeCity_House2_EventScript_2C8172:: @ 82C8172 - msgbox FortreeCity_House2_Text_2C76E2, MSGBOX_DEFAULT - release - end - -FortreeCity_House2_EventScript_2C817C:: @ 82C817C - msgbox FortreeCity_House2_Text_2C775A, MSGBOX_DEFAULT - release - end - -LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186:: @ 82C8186 - lock - faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE, LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4 - msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C77C6, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA - call LilycoveCity_DepartmentStoreRooftop_EventScript_2C832D - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA - msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C7911, MSGBOX_DEFAULT - setvar VAR_0x8005, 14 - call EventScript_ShowPartyMenu - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA - setflag FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE - goto LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4 - end - -LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA:: @ 82C81DA - msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C78D1, MSGBOX_DEFAULT - release - end - -LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4:: @ 82C81E4 - msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C794B, MSGBOX_DEFAULT - release - end - -MossdeepCity_EventScript_2C81EE:: @ 82C81EE - lock - faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH, MossdeepCity_EventScript_2C824C - msgbox MossdeepCity_Text_2C79A6, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_EventScript_2C8242 - call MossdeepCity_EventScript_2C832D - compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_EventScript_2C8242 - msgbox MossdeepCity_Text_2C7B0D, MSGBOX_DEFAULT - setvar VAR_0x8005, 15 - call EventScript_ShowPartyMenu - compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_EventScript_2C8242 - setflag FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH - goto MossdeepCity_EventScript_2C824C - end - -MossdeepCity_EventScript_2C8242:: @ 82C8242 - msgbox MossdeepCity_Text_2C7AD4, MSGBOX_DEFAULT - release - end - -MossdeepCity_EventScript_2C824C:: @ 82C824C - msgbox MossdeepCity_Text_2C7B4F, MSGBOX_DEFAULT - release - end - -SootopolisCity_PokemonCenter_1F_EventScript_2C8256:: @ 82C8256 - lock - faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE, SootopolisCity_PokemonCenter_1F_EventScript_2C82B4 - msgbox SootopolisCity_PokemonCenter_1F_Text_2C7B8E, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA - call SootopolisCity_PokemonCenter_1F_EventScript_2C832D - compare VAR_RESULT, 0 - goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA - msgbox SootopolisCity_PokemonCenter_1F_Text_2C7C98, MSGBOX_DEFAULT - setvar VAR_0x8005, 4 - call EventScript_ShowPartyMenu - compare VAR_RESULT, 0 - goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA - setflag FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE - goto SootopolisCity_PokemonCenter_1F_EventScript_2C82B4 - end - -SootopolisCity_PokemonCenter_1F_EventScript_2C82AA:: @ 82C82AA - msgbox SootopolisCity_PokemonCenter_1F_Text_2C7C7E, MSGBOX_DEFAULT - release - end - -SootopolisCity_PokemonCenter_1F_EventScript_2C82B4:: @ 82C82B4 - msgbox SootopolisCity_PokemonCenter_1F_Text_2C7CC8, MSGBOX_DEFAULT - release - end - -PacifidlogTown_PokemonCenter_1F_EventScript_2C82BE:: @ 82C82BE - lock - faceplayer - goto_if_set FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION, PacifidlogTown_PokemonCenter_1F_EventScript_2C831C - msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7CFA, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 - call PacifidlogTown_PokemonCenter_1F_EventScript_2C832D - compare VAR_RESULT, 0 - goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 - msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E40, MSGBOX_DEFAULT - setvar VAR_0x8005, 12 - call EventScript_ShowPartyMenu - compare VAR_RESULT, 0 - goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 - setflag FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION - goto PacifidlogTown_PokemonCenter_1F_EventScript_2C831C - end - -PacifidlogTown_PokemonCenter_1F_EventScript_2C8312:: @ 82C8312 - msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E04, MSGBOX_DEFAULT - release - end - -PacifidlogTown_PokemonCenter_1F_EventScript_2C831C:: @ 82C831C - msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E7A, MSGBOX_DEFAULT - release - end - -EventScript_ShowPartyMenu:: @ 82C8326 - special sub_81B892C - waitstate - lock - faceplayer - return - -FallarborTown_Mart_EventScript_2C832D:: @ 82C832D -FortreeCity_House2_EventScript_2C832D:: @ 82C832D -LavaridgeTown_House_EventScript_2C832D:: @ 82C832D -LilycoveCity_DepartmentStoreRooftop_EventScript_2C832D:: @ 82C832D -MauvilleCity_EventScript_2C832D:: @ 82C832D -MossdeepCity_EventScript_2C832D:: @ 82C832D -PacifidlogTown_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D -SlateportCity_PokemonFanClub_EventScript_2C832D:: @ 82C832D -SootopolisCity_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D -VerdanturfTown_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D - msgbox MauvilleCity_Text_2C6E05, MSGBOX_YESNO - return - -TrainerHill_1F_MapScript1_2C8336: @ 82C8336 -TrainerHill_2F_MapScript1_2C8336: @ 82C8336 -TrainerHill_3F_MapScript1_2C8336: @ 82C8336 -TrainerHill_4F_MapScript1_2C8336: @ 82C8336 -TrainerHill_Roof_MapScript1_2C8336: @ 82C8336 - setvar VAR_TEMP_2, 0 - setvar VAR_0x8004, TRAINER_HILL_FUNC_RESUME_TIMER - special CallTrainerHillFunction - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 5 - special CallFrontierUtilFunc - compare VAR_RESULT, B_OUTCOME_LOST - goto_if_eq TrainerHill_1F_EventScript_2C83C9 - compare VAR_RESULT, B_OUTCOME_DREW - goto_if_eq TrainerHill_1F_EventScript_2C83C9 - compare VAR_RESULT, B_OUTCOME_FORFEITED - goto_if_eq TrainerHill_1F_EventScript_2C83C9 - end - -TrainerHill_1F_MapScript2_2C8372: @ 82C8372 -TrainerHill_2F_MapScript2_2C8372: @ 82C8372 - map_script_2 VAR_TEMP_3, 0, TrainerHill_1F_EventScript_2C837C - .2byte 0 - -TrainerHill_1F_EventScript_2C837C:: @ 82C837C - setvar VAR_TEMP_3, 1 -@ forced stop - -TrainerHill_1F_MapScript2_2C8381: @ 82C8381 -TrainerHill_2F_MapScript2_2C8381: @ 82C8381 -TrainerHill_3F_MapScript2_2C8381: @ 82C8381 -TrainerHill_4F_MapScript2_2C8381: @ 82C8381 -TrainerHill_Roof_MapScript2_2C8381: @ 82C8381 - map_script_2 VAR_TEMP_2, 0, TrainerHill_1F_EventScript_2C83A6 - map_script_2 VAR_TEMP_1, 1, TrainerHill_1F_EventScript_2C83DF - .2byte 0 - -EventScript_TrainerHillTimer:: @ 82C8393 - lockall - setvar VAR_0x8004, TRAINER_HILL_FUNC_7 - special CallTrainerHillFunction - msgbox TrainerHill_Entrance_Text_268D47, MSGBOX_DEFAULT - releaseall - end - -TrainerHill_1F_EventScript_2C83A6:: @ 82C83A6 - setvar VAR_TEMP_2, 1 - setvar VAR_0x8004, TRAINER_HILL_FUNC_9 - special CallTrainerHillFunction - compare VAR_RESULT, 1 - goto_if_eq TrainerHill_1F_EventScript_2C83BF - end - -TrainerHill_1F_EventScript_2C83BF:: @ 82C83BF - warpsilent MAP_TRAINER_HILL_ENTRANCE, 255, 9, 6 - waitstate - end - -TrainerHill_1F_EventScript_2C83C9:: @ 82C83C9 - setvar VAR_0x8004, TRAINER_HILL_FUNC_12 - special CallTrainerHillFunction - setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_LOST - special CallTrainerHillFunction - setvar VAR_TEMP_1, 1 - end - -TrainerHill_1F_EventScript_2C83DF:: @ 82C83DF -TrainerHill_Entrance_EventScript_2C83DF:: @ 82C83DF - setvar VAR_TEMP_1, 0 - warp MAP_TRAINER_HILL_ENTRANCE, 255, 9, 6 - waitstate - end - -TrainerHill_1F_Movement_2C83EE:: @ 82C83EE - set_invisible - step_end - -EventScript_2C83F0:: @ 82C83F0 - trainerbattle TRAINER_BATTLE_12, TRAINER_PHILLIP, 0, BattleFacility_TrainerBattle_PlaceholderText, BattleFacility_TrainerBattle_PlaceholderText - setvar VAR_0x8004, TRAINER_HILL_FUNC_11 - special CallTrainerHillFunction - waitmessage - waitbuttonpress - closemessage - end - -Text_ThisIsATestSignpostMsg:: @ 82C840A - .string "This is a test message.\n" - .string "This is a signpost.$" - -EventScript_TestSignpostMsg:: @ 82C8436 - msgbox Text_ThisIsATestSignpostMsg, MSGBOX_SIGN - end - -gText_082C843F:: @ 82C843F - .string "It's very disappointing…$" - -gText_082C8458:: @ 82C8458 - .string "Okay, I understand…$" - -gText_082C846C:: @ 82C846C - .string "I'm terribly sorry…$" - -gText_082C8480:: @ 82C8480 - .string "Thank you…$" - -gText_082C848B:: @ 82C848B - .string "Ahahaha! Aren't you embarrassed?\n" - .string "Everyone's watching!$" - -gText_082C84C1:: @ 82C84C1 - .string "Grr…\n" - .string "What the…$" - -gText_082C84D0:: @ 82C84D0 - .string "My DOME ACE title isn't just for show!$" - -gText_082C84F7:: @ 82C84F7 - .string "Ahahaha!\n" - .string "You're inspiring!$" - -gText_082C8512:: @ 82C8512 - .string "Way to work!\n" - .string "That was a good lesson, eh?$" - -gText_082C853B:: @ 82C853B - .string "Good job!\n" - .string "You know what you're doing!$" - -gText_082C8561:: @ 82C8561 - .string "Hey, hey, hey!\n" - .string "You're finished already?$" - -gText_082C8589:: @ 82C8589 - .string "What happened here?$" - -gText_082C859D:: @ 82C859D - .string "Humph…$" - -gText_082C85A4:: @ 82C85A4 - .string "Urk…$" - -gText_082C85A9:: @ 82C85A9 - .string "Hah!$" - -gText_082C85AE:: @ 82C85AE - .string "Darn!$" - -gText_082C85B4:: @ 82C85B4 - .string "Oh, come on!\n" - .string "You have to try harder than that!$" - -gText_082C85E3:: @ 82C85E3 - .string "No way!\n" - .string "Good job!$" - -gText_082C85F5:: @ 82C85F5 - .string "Heheh!\n" - .string "What did you expect?$" - -gText_082C8611:: @ 82C8611 - .string "Huh?\n" - .string "Are you serious?!$" - -gText_082C8628:: @ 82C8628 - .string "Your POKéMON are wimpy because\n" - .string "you're wimpy as a TRAINER!$" - -gText_082C8662:: @ 82C8662 - .string "Ah…\n" - .string "Now this is something else…$" - -gText_082C8682:: @ 82C8682 - .string "Gwahahaha!\n" - .string "My brethren, we have nothing to fear!$" - -gText_082C86B3:: @ 82C86B3 - .string "Gwah!\n" - .string "Hahahaha!$" - -gText_082C86C3:: @ 82C86C3 - .string "Hey! What's wrong with you!\n" - .string "Let's see some effort! Get up!$" - -gText_082C86FE:: @ 82C86FE - .string "That's it! You've done great!\n" - .string "You've worked hard for this!$" - -gText_082C8739:: @ 82C8739 - .string "Hey! Don't you give up now!\n" - .string "Get up! Don't lose faith in yourself!$" - -gText_082C877B:: @ 82C877B - .string "That's it! You've done it!\n" - .string "You kept working for this!$" - - .align 2 + .include "data/text/apprentice.inc" + .include "data/text/battle_dome.inc" + .include "data/scripts/battle_pike.inc" + .include "data/text/blend_master.inc" + .include "data/text/battle_tent.inc" + .include "data/text/event_ticket_2.inc" + .include "data/text/move_tutors.inc" + .include "data/scripts/move_tutors.inc" + .include "data/scripts/trainer_hill.inc" + .include "data/scripts/test_signpost.inc" + .include "data/text/frontier_brain.inc" .include "data/text/save.inc" .include "data/text/birch_speech.inc" diff --git a/data/contest_painting_effects.s b/data/image_processing_effects.s similarity index 99% rename from data/contest_painting_effects.s rename to data/image_processing_effects.s index d14b51a515..b319b4023c 100644 --- a/data/contest_painting_effects.s +++ b/data/image_processing_effects.s @@ -4,7 +4,7 @@ .section .rodata .align 2, 0 -gUnknown_085A1F94:: @ 85A1F94 +gPointillismPoints:: @ 85A1F94 .byte 0x00, 0x1d, 0x1c, 0x0e, 0x1e, 0x1b, 0x00, 0x01, 0x32, 0x2e, 0x1e, 0x37, 0x0a, 0x22, 0x1f, 0x05, 0x26, 0x2e, 0x12, 0x17, 0x1e, 0x1a, 0x03, 0x11, 0x05, 0x11, 0x18, 0x05, 0x27, 0x2f, 0x1a, 0x3f .byte 0x12, 0x22, 0x3f, 0x16, 0x2b, 0x2f, 0x2e, 0x11, 0x02, 0x2d, 0x23, 0x0d, 0x28, 0x17, 0x0c, 0x19, 0x2f, 0x0e, 0x13, 0x30, 0x18, 0x20, 0x2d, 0x28, 0x22, 0x01, 0x03, 0x19, 0x0e, 0x2a, 0x2b, 0x22 .byte 0x15, 0x25, 0x22, 0x0a, 0x26, 0x39, 0x06, 0x23, 0x16, 0x07, 0x2f, 0x22, 0x3a, 0x1b, 0x3b, 0x36, 0x35, 0x0a, 0x2b, 0x24, 0x36, 0x09, 0x12, 0x1c, 0x2f, 0x23, 0x2e, 0x38, 0x2c, 0x05, 0x2a, 0x20 diff --git a/data/io_reg.s b/data/io_reg.s index 9c5f64f583..0941b4345b 100644 --- a/data/io_reg.s +++ b/data/io_reg.s @@ -7,31 +7,31 @@ .align 2 gUnref_82EC784:: @ 82EC784 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x04000008 - .4byte 0x0400000A - .4byte 0x0400000C - .4byte 0x0400000E - .4byte 0x04000010 - .4byte 0x04000014 - .4byte 0x04000018 - .4byte 0x0400001C - .4byte 0x04000012 - .4byte 0x04000016 - .4byte 0x0400001A - .4byte 0x0400001E - .4byte 0x02000100 - .4byte 0x08000400 + .4byte 0x00000000 + .4byte 0x00000000 + .4byte 0x04000008 + .4byte 0x0400000A + .4byte 0x0400000C + .4byte 0x0400000E + .4byte 0x04000010 + .4byte 0x04000014 + .4byte 0x04000018 + .4byte 0x0400001C + .4byte 0x04000012 + .4byte 0x04000016 + .4byte 0x0400001A + .4byte 0x0400001E + .4byte 0x02000100 + .4byte 0x08000400 gOverworldBackgroundLayerFlags:: @ 82EC7C4 - .2byte 0x0100 /* BLDCNT_TGT2_BG0 */ - .2byte 0x0200 /* BLDCNT_TGT2_BG1 */ - .2byte 0x0400 /* BLDCNT_TGT2_BG2 */ - .2byte 0x0800 /* BLDCNT_TGT2_BG3 */ + .2byte BLDCNT_TGT2_BG0 + .2byte BLDCNT_TGT2_BG1 + .2byte BLDCNT_TGT2_BG2 + .2byte BLDCNT_TGT2_BG3 -gUnknown_82EC7CC:: @ 82EC7CC - .2byte 0x0001 - .2byte 0x0002 - .2byte 0x0004 - .2byte 0x0008 +gOrbEffectBackgroundLayerFlags:: @ 82EC7CC + .2byte BLDCNT_TGT1_BG0 + .2byte BLDCNT_TGT1_BG1 + .2byte BLDCNT_TGT1_BG2 + .2byte BLDCNT_TGT1_BG3 diff --git a/data/layouts/DoubleBattleColosseum/border.bin b/data/layouts/BattleColosseum_2P/border.bin similarity index 100% rename from data/layouts/DoubleBattleColosseum/border.bin rename to data/layouts/BattleColosseum_2P/border.bin diff --git a/data/layouts/SingleBattleColosseum/map.bin b/data/layouts/BattleColosseum_2P/map.bin similarity index 100% rename from data/layouts/SingleBattleColosseum/map.bin rename to data/layouts/BattleColosseum_2P/map.bin diff --git a/data/layouts/LinkContestRoom1/border.bin b/data/layouts/BattleColosseum_4P/border.bin similarity index 100% rename from data/layouts/LinkContestRoom1/border.bin rename to data/layouts/BattleColosseum_4P/border.bin diff --git a/data/layouts/DoubleBattleColosseum/map.bin b/data/layouts/BattleColosseum_4P/map.bin similarity index 100% rename from data/layouts/DoubleBattleColosseum/map.bin rename to data/layouts/BattleColosseum_4P/map.bin diff --git a/data/layouts/BattleFrontier_BattlePikeRandomRoom1/border.bin b/data/layouts/BattleFrontier_BattlePikeRoomFinal/border.bin similarity index 100% rename from data/layouts/BattleFrontier_BattlePikeRandomRoom1/border.bin rename to data/layouts/BattleFrontier_BattlePikeRoomFinal/border.bin diff --git a/data/layouts/BattleFrontier_BattlePikeRandomRoom2/map.bin b/data/layouts/BattleFrontier_BattlePikeRoomFinal/map.bin similarity index 100% rename from data/layouts/BattleFrontier_BattlePikeRandomRoom2/map.bin rename to data/layouts/BattleFrontier_BattlePikeRoomFinal/map.bin diff --git a/data/layouts/BattleFrontier_BattlePikeRandomRoom2/border.bin b/data/layouts/BattleFrontier_BattlePikeRoomNormal/border.bin similarity index 100% rename from data/layouts/BattleFrontier_BattlePikeRandomRoom2/border.bin rename to data/layouts/BattleFrontier_BattlePikeRoomNormal/border.bin diff --git a/data/layouts/BattleFrontier_BattlePikeRandomRoom1/map.bin b/data/layouts/BattleFrontier_BattlePikeRoomNormal/map.bin similarity index 100% rename from data/layouts/BattleFrontier_BattlePikeRandomRoom1/map.bin rename to data/layouts/BattleFrontier_BattlePikeRoomNormal/map.bin diff --git a/data/layouts/BattleFrontier_BattlePikeRandomRoom3/border.bin b/data/layouts/BattleFrontier_BattlePikeRoomWildMons/border.bin similarity index 100% rename from data/layouts/BattleFrontier_BattlePikeRandomRoom3/border.bin rename to data/layouts/BattleFrontier_BattlePikeRoomWildMons/border.bin diff --git a/data/layouts/BattleFrontier_BattlePikeRandomRoom3/map.bin b/data/layouts/BattleFrontier_BattlePikeRoomWildMons/map.bin similarity index 100% rename from data/layouts/BattleFrontier_BattlePikeRandomRoom3/map.bin rename to data/layouts/BattleFrontier_BattlePikeRoomWildMons/map.bin diff --git a/data/layouts/BattleFrontier_BattlePointExchangeServiceCorner/border.bin b/data/layouts/BattleFrontier_BattlePyramidFloor/border.bin similarity index 100% rename from data/layouts/BattleFrontier_BattlePointExchangeServiceCorner/border.bin rename to data/layouts/BattleFrontier_BattlePyramidFloor/border.bin diff --git a/data/layouts/BattleFrontier_BattlePyramidEmptySquare/map.bin b/data/layouts/BattleFrontier_BattlePyramidFloor/map.bin similarity index 100% rename from data/layouts/BattleFrontier_BattlePyramidEmptySquare/map.bin rename to data/layouts/BattleFrontier_BattlePyramidFloor/map.bin diff --git a/data/layouts/BattleFrontier_BattlePyramidEmptySquare/border.bin b/data/layouts/BattleFrontier_BattleTowerMultiCorridor/border.bin similarity index 100% rename from data/layouts/BattleFrontier_BattlePyramidEmptySquare/border.bin rename to data/layouts/BattleFrontier_BattleTowerMultiCorridor/border.bin diff --git a/data/layouts/BattleFrontier_BattleTowerCorridor2/map.bin b/data/layouts/BattleFrontier_BattleTowerMultiCorridor/map.bin similarity index 100% rename from data/layouts/BattleFrontier_BattleTowerCorridor2/map.bin rename to data/layouts/BattleFrontier_BattleTowerMultiCorridor/map.bin diff --git a/data/layouts/BattleFrontier_BattleTowerCorridor2/border.bin b/data/layouts/BattleFrontier_BattleTowerMultiPartnerRoom/border.bin similarity index 100% rename from data/layouts/BattleFrontier_BattleTowerCorridor2/border.bin rename to data/layouts/BattleFrontier_BattleTowerMultiPartnerRoom/border.bin diff --git a/data/layouts/BattleFrontier_BattleTowerMultiBattleRoom/map.bin b/data/layouts/BattleFrontier_BattleTowerMultiPartnerRoom/map.bin similarity index 100% rename from data/layouts/BattleFrontier_BattleTowerMultiBattleRoom/map.bin rename to data/layouts/BattleFrontier_BattleTowerMultiPartnerRoom/map.bin diff --git a/data/layouts/BattleFrontier_BattleTowerMultiBattleRoom/border.bin b/data/layouts/BattleFrontier_ExchangeServiceCorner/border.bin similarity index 100% rename from data/layouts/BattleFrontier_BattleTowerMultiBattleRoom/border.bin rename to data/layouts/BattleFrontier_ExchangeServiceCorner/border.bin diff --git a/data/layouts/BattleFrontier_BattlePointExchangeServiceCorner/map.bin b/data/layouts/BattleFrontier_ExchangeServiceCorner/map.bin similarity index 100% rename from data/layouts/BattleFrontier_BattlePointExchangeServiceCorner/map.bin rename to data/layouts/BattleFrontier_ExchangeServiceCorner/map.bin diff --git a/data/layouts/LinkContestRoom2/border.bin b/data/layouts/ContestHall/border.bin similarity index 100% rename from data/layouts/LinkContestRoom2/border.bin rename to data/layouts/ContestHall/border.bin diff --git a/data/layouts/LinkContestRoom1/map.bin b/data/layouts/ContestHall/map.bin similarity index 100% rename from data/layouts/LinkContestRoom1/map.bin rename to data/layouts/ContestHall/map.bin diff --git a/data/layouts/LinkContestRoom3/border.bin b/data/layouts/ContestHallBeauty/border.bin similarity index 100% rename from data/layouts/LinkContestRoom3/border.bin rename to data/layouts/ContestHallBeauty/border.bin diff --git a/data/layouts/LinkContestRoom2/map.bin b/data/layouts/ContestHallBeauty/map.bin similarity index 100% rename from data/layouts/LinkContestRoom2/map.bin rename to data/layouts/ContestHallBeauty/map.bin diff --git a/data/layouts/LinkContestRoom4/border.bin b/data/layouts/ContestHallCool/border.bin similarity index 100% rename from data/layouts/LinkContestRoom4/border.bin rename to data/layouts/ContestHallCool/border.bin diff --git a/data/layouts/LinkContestRoom4/map.bin b/data/layouts/ContestHallCool/map.bin similarity index 100% rename from data/layouts/LinkContestRoom4/map.bin rename to data/layouts/ContestHallCool/map.bin diff --git a/data/layouts/LinkContestRoom5/border.bin b/data/layouts/ContestHallCute/border.bin similarity index 100% rename from data/layouts/LinkContestRoom5/border.bin rename to data/layouts/ContestHallCute/border.bin diff --git a/data/layouts/LinkContestRoom6/map.bin b/data/layouts/ContestHallCute/map.bin similarity index 100% rename from data/layouts/LinkContestRoom6/map.bin rename to data/layouts/ContestHallCute/map.bin diff --git a/data/layouts/LinkContestRoom6/border.bin b/data/layouts/ContestHallSmart/border.bin similarity index 100% rename from data/layouts/LinkContestRoom6/border.bin rename to data/layouts/ContestHallSmart/border.bin diff --git a/data/layouts/LinkContestRoom5/map.bin b/data/layouts/ContestHallSmart/map.bin similarity index 100% rename from data/layouts/LinkContestRoom5/map.bin rename to data/layouts/ContestHallSmart/map.bin diff --git a/data/layouts/SingleBattleColosseum/border.bin b/data/layouts/ContestHallTough/border.bin similarity index 100% rename from data/layouts/SingleBattleColosseum/border.bin rename to data/layouts/ContestHallTough/border.bin diff --git a/data/layouts/LinkContestRoom3/map.bin b/data/layouts/ContestHallTough/map.bin similarity index 100% rename from data/layouts/LinkContestRoom3/map.bin rename to data/layouts/ContestHallTough/map.bin diff --git a/data/layouts/layouts.json b/data/layouts/layouts.json index 353b9a2840..681f46f752 100644 --- a/data/layouts/layouts.json +++ b/data/layouts/layouts.json @@ -2202,14 +2202,14 @@ "blockdata_filepath": "data/layouts/SecretBase_Shrub4/map.bin" }, { - "id": "LAYOUT_SINGLE_BATTLE_COLOSSEUM", - "name": "SingleBattleColosseum_Layout", + "id": "LAYOUT_BATTLE_COLOSSEUM_2P", + "name": "BattleColosseum_2P_Layout", "width": 14, "height": 9, "primary_tileset": "gTileset_Building", "secondary_tileset": "gTileset_CableClub", - "border_filepath": "data/layouts/SingleBattleColosseum/border.bin", - "blockdata_filepath": "data/layouts/SingleBattleColosseum/map.bin" + "border_filepath": "data/layouts/BattleColosseum_2P/border.bin", + "blockdata_filepath": "data/layouts/BattleColosseum_2P/map.bin" }, { "id": "LAYOUT_TRADE_CENTER", @@ -2232,24 +2232,24 @@ "blockdata_filepath": "data/layouts/RecordCorner/map.bin" }, { - "id": "LAYOUT_DOUBLE_BATTLE_COLOSSEUM", - "name": "DoubleBattleColosseum_Layout", + "id": "LAYOUT_BATTLE_COLOSSEUM_4P", + "name": "BattleColosseum_4P_Layout", "width": 14, "height": 9, "primary_tileset": "gTileset_Building", "secondary_tileset": "gTileset_CableClub", - "border_filepath": "data/layouts/DoubleBattleColosseum/border.bin", - "blockdata_filepath": "data/layouts/DoubleBattleColosseum/map.bin" + "border_filepath": "data/layouts/BattleColosseum_4P/border.bin", + "blockdata_filepath": "data/layouts/BattleColosseum_4P/map.bin" }, { - "id": "LAYOUT_LINK_CONTEST_ROOM1", - "name": "LinkContestRoom1_Layout", + "id": "LAYOUT_CONTEST_HALL", + "name": "ContestHall_Layout", "width": 15, "height": 11, "primary_tileset": "gTileset_General", "secondary_tileset": "gTileset_Contest", - "border_filepath": "data/layouts/LinkContestRoom1/border.bin", - "blockdata_filepath": "data/layouts/LinkContestRoom1/map.bin" + "border_filepath": "data/layouts/ContestHall/border.bin", + "blockdata_filepath": "data/layouts/ContestHall/map.bin" }, { "id": "LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_29", @@ -2312,54 +2312,54 @@ "blockdata_filepath": "data/layouts/UnknownLinkContestRoom_25_34/map.bin" }, { - "id": "LAYOUT_LINK_CONTEST_ROOM2", - "name": "LinkContestRoom2_Layout", + "id": "LAYOUT_CONTEST_HALL_BEAUTY", + "name": "ContestHallBeauty_Layout", "width": 15, "height": 11, "primary_tileset": "gTileset_General", "secondary_tileset": "gTileset_Contest", - "border_filepath": "data/layouts/LinkContestRoom2/border.bin", - "blockdata_filepath": "data/layouts/LinkContestRoom2/map.bin" + "border_filepath": "data/layouts/ContestHallBeauty/border.bin", + "blockdata_filepath": "data/layouts/ContestHallBeauty/map.bin" }, { - "id": "LAYOUT_LINK_CONTEST_ROOM3", - "name": "LinkContestRoom3_Layout", + "id": "LAYOUT_CONTEST_HALL_TOUGH", + "name": "ContestHallTough_Layout", "width": 15, "height": 11, "primary_tileset": "gTileset_General", "secondary_tileset": "gTileset_Contest", - "border_filepath": "data/layouts/LinkContestRoom3/border.bin", - "blockdata_filepath": "data/layouts/LinkContestRoom3/map.bin" + "border_filepath": "data/layouts/ContestHallTough/border.bin", + "blockdata_filepath": "data/layouts/ContestHallTough/map.bin" }, { - "id": "LAYOUT_LINK_CONTEST_ROOM4", - "name": "LinkContestRoom4_Layout", + "id": "LAYOUT_CONTEST_HALL_COOL", + "name": "ContestHallCool_Layout", "width": 15, "height": 11, "primary_tileset": "gTileset_General", "secondary_tileset": "gTileset_Contest", - "border_filepath": "data/layouts/LinkContestRoom4/border.bin", - "blockdata_filepath": "data/layouts/LinkContestRoom4/map.bin" + "border_filepath": "data/layouts/ContestHallCool/border.bin", + "blockdata_filepath": "data/layouts/ContestHallCool/map.bin" }, { - "id": "LAYOUT_LINK_CONTEST_ROOM5", - "name": "LinkContestRoom5_Layout", + "id": "LAYOUT_CONTEST_HALL_SMART", + "name": "ContestHallSmart_Layout", "width": 15, "height": 11, "primary_tileset": "gTileset_General", "secondary_tileset": "gTileset_Contest", - "border_filepath": "data/layouts/LinkContestRoom5/border.bin", - "blockdata_filepath": "data/layouts/LinkContestRoom5/map.bin" + "border_filepath": "data/layouts/ContestHallSmart/border.bin", + "blockdata_filepath": "data/layouts/ContestHallSmart/map.bin" }, { - "id": "LAYOUT_LINK_CONTEST_ROOM6", - "name": "LinkContestRoom6_Layout", + "id": "LAYOUT_CONTEST_HALL_CUTE", + "name": "ContestHallCute_Layout", "width": 15, "height": 11, "primary_tileset": "gTileset_General", "secondary_tileset": "gTileset_Contest", - "border_filepath": "data/layouts/LinkContestRoom6/border.bin", - "blockdata_filepath": "data/layouts/LinkContestRoom6/map.bin" + "border_filepath": "data/layouts/ContestHallCute/border.bin", + "blockdata_filepath": "data/layouts/ContestHallCute/map.bin" }, { "id": "LAYOUT_INSIDE_OF_TRUCK", @@ -3512,24 +3512,24 @@ "blockdata_filepath": "data/layouts/BattleFrontier_BattlePikeThreePathRoom/map.bin" }, { - "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1", - "name": "BattleFrontier_BattlePikeRandomRoom1_Layout", + "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL", + "name": "BattleFrontier_BattlePikeRoomNormal_Layout", "width": 9, "height": 8, "primary_tileset": "gTileset_Building", "secondary_tileset": "gTileset_BattlePike", - "border_filepath": "data/layouts/BattleFrontier_BattlePikeRandomRoom1/border.bin", - "blockdata_filepath": "data/layouts/BattleFrontier_BattlePikeRandomRoom1/map.bin" + "border_filepath": "data/layouts/BattleFrontier_BattlePikeRoomNormal/border.bin", + "blockdata_filepath": "data/layouts/BattleFrontier_BattlePikeRoomNormal/map.bin" }, { - "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2", - "name": "BattleFrontier_BattlePikeRandomRoom2_Layout", + "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL", + "name": "BattleFrontier_BattlePikeRoomFinal_Layout", "width": 5, "height": 8, "primary_tileset": "gTileset_Building", "secondary_tileset": "gTileset_BattlePike", - "border_filepath": "data/layouts/BattleFrontier_BattlePikeRandomRoom2/border.bin", - "blockdata_filepath": "data/layouts/BattleFrontier_BattlePikeRandomRoom2/map.bin" + "border_filepath": "data/layouts/BattleFrontier_BattlePikeRoomFinal/border.bin", + "blockdata_filepath": "data/layouts/BattleFrontier_BattlePikeRoomFinal/map.bin" }, { "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY", @@ -3572,14 +3572,14 @@ "blockdata_filepath": "data/layouts/SootopolisCity_LegendsBattle/map.bin" }, { - "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3", - "name": "BattleFrontier_BattlePikeRandomRoom3_Layout", + "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS", + "name": "BattleFrontier_BattlePikeRoomWildMons_Layout", "width": 9, "height": 20, "primary_tileset": "gTileset_Building", "secondary_tileset": "gTileset_BattlePike", - "border_filepath": "data/layouts/BattleFrontier_BattlePikeRandomRoom3/border.bin", - "blockdata_filepath": "data/layouts/BattleFrontier_BattlePikeRandomRoom3/map.bin" + "border_filepath": "data/layouts/BattleFrontier_BattlePikeRoomWildMons/border.bin", + "blockdata_filepath": "data/layouts/BattleFrontier_BattlePikeRoomWildMons/map.bin" }, { "id": "LAYOUT_UNKNOWN_084693AC", @@ -3602,14 +3602,14 @@ "blockdata_filepath": "data/layouts/BattleFrontier_BattlePyramidLobby/map.bin" }, { - "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE", - "name": "BattleFrontier_BattlePyramidEmptySquare_Layout", + "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR", + "name": "BattleFrontier_BattlePyramidFloor_Layout", "width": 8, "height": 8, "primary_tileset": "gTileset_Building", "secondary_tileset": "gTileset_BattlePyramid", - "border_filepath": "data/layouts/BattleFrontier_BattlePyramidEmptySquare/border.bin", - "blockdata_filepath": "data/layouts/BattleFrontier_BattlePyramidEmptySquare/map.bin" + "border_filepath": "data/layouts/BattleFrontier_BattlePyramidFloor/border.bin", + "blockdata_filepath": "data/layouts/BattleFrontier_BattlePyramidFloor/map.bin" }, { "id": "LAYOUT_BATTLE_PYRAMID_SQUARE01", @@ -3892,24 +3892,24 @@ "blockdata_filepath": "data/layouts/DesertUnderpass/map.bin" }, { - "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM", - "name": "BattleFrontier_BattleTowerMultiBattleRoom_Layout", + "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM", + "name": "BattleFrontier_BattleTowerMultiPartnerRoom_Layout", "width": 21, "height": 15, "primary_tileset": "gTileset_Building", "secondary_tileset": "gTileset_BattleFrontier", - "border_filepath": "data/layouts/BattleFrontier_BattleTowerMultiBattleRoom/border.bin", - "blockdata_filepath": "data/layouts/BattleFrontier_BattleTowerMultiBattleRoom/map.bin" + "border_filepath": "data/layouts/BattleFrontier_BattleTowerMultiPartnerRoom/border.bin", + "blockdata_filepath": "data/layouts/BattleFrontier_BattleTowerMultiPartnerRoom/map.bin" }, { - "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2", - "name": "BattleFrontier_BattleTowerCorridor2_Layout", + "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR", + "name": "BattleFrontier_BattleTowerMultiCorridor_Layout", "width": 17, "height": 5, "primary_tileset": "gTileset_Building", "secondary_tileset": "gTileset_BattleFrontier", - "border_filepath": "data/layouts/BattleFrontier_BattleTowerCorridor2/border.bin", - "blockdata_filepath": "data/layouts/BattleFrontier_BattleTowerCorridor2/map.bin" + "border_filepath": "data/layouts/BattleFrontier_BattleTowerMultiCorridor/border.bin", + "blockdata_filepath": "data/layouts/BattleFrontier_BattleTowerMultiCorridor/map.bin" }, { "id": "LAYOUT_ROUTE111_NO_MIRAGE_TOWER", @@ -3972,14 +3972,14 @@ "blockdata_filepath": "data/layouts/BattleFrontier_Lounge1/map.bin" }, { - "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER", - "name": "BattleFrontier_BattlePointExchangeServiceCorner_Layout", + "id": "LAYOUT_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER", + "name": "BattleFrontier_ExchangeServiceCorner_Layout", "width": 15, "height": 11, "primary_tileset": "gTileset_Building", "secondary_tileset": "gTileset_BattleFrontier", - "border_filepath": "data/layouts/BattleFrontier_BattlePointExchangeServiceCorner/border.bin", - "blockdata_filepath": "data/layouts/BattleFrontier_BattlePointExchangeServiceCorner/map.bin" + "border_filepath": "data/layouts/BattleFrontier_ExchangeServiceCorner/border.bin", + "blockdata_filepath": "data/layouts/BattleFrontier_ExchangeServiceCorner/map.bin" }, { "id": "LAYOUT_BATTLE_FRONTIER_RECEPTION_GATE", diff --git a/data/maps/AbandonedShip_CaptainsOffice/map.json b/data/maps/AbandonedShip_CaptainsOffice/map.json index b876ad8497..804fd0afc2 100644 --- a/data/maps/AbandonedShip_CaptainsOffice/map.json +++ b/data/maps/AbandonedShip_CaptainsOffice/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_CaptainsOffice_EventScript_2387E2", + "script": "AbandonedShip_CaptainsOffice_EventScript_CaptSternAide", "flag": "0" }, { diff --git a/data/maps/AbandonedShip_CaptainsOffice/scripts.inc b/data/maps/AbandonedShip_CaptainsOffice/scripts.inc index 011ea4a07e..b2940eb6fb 100644 --- a/data/maps/AbandonedShip_CaptainsOffice/scripts.inc +++ b/data/maps/AbandonedShip_CaptainsOffice/scripts.inc @@ -1,42 +1,42 @@ AbandonedShip_CaptainsOffice_MapScripts:: @ 82387E1 .byte 0 -AbandonedShip_CaptainsOffice_EventScript_2387E2:: @ 82387E2 +AbandonedShip_CaptainsOffice_EventScript_CaptSternAide:: @ 82387E2 lock faceplayer - goto_if_set FLAG_EXCHANGED_SCANNER, AbandonedShip_CaptainsOffice_EventScript_23881A + goto_if_set FLAG_EXCHANGED_SCANNER, AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus checkitem ITEM_SCANNER, 1 compare VAR_RESULT, 1 - goto_if_eq AbandonedShip_CaptainsOffice_EventScript_238810 - goto_if_set FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER, AbandonedShip_CaptainsOffice_EventScript_23881A - msgbox AbandonedShip_CaptainsOffice_Text_238824, MSGBOX_DEFAULT + goto_if_eq AbandonedShip_CaptainsOffice_EventScript_CanYouDeliverScanner + goto_if_set FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER, AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus + msgbox AbandonedShip_CaptainsOffice_Text_NoSuccessFindingScanner, MSGBOX_DEFAULT release end -AbandonedShip_CaptainsOffice_EventScript_238810:: @ 8238810 - msgbox AbandonedShip_CaptainsOffice_Text_23889D, MSGBOX_DEFAULT +AbandonedShip_CaptainsOffice_EventScript_CanYouDeliverScanner:: @ 8238810 + msgbox AbandonedShip_CaptainsOffice_Text_OhCanYouDeliverScanner, MSGBOX_DEFAULT release end -AbandonedShip_CaptainsOffice_EventScript_23881A:: @ 823881A - msgbox AbandonedShip_CaptainsOffice_Text_238918, MSGBOX_DEFAULT +AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus:: @ 823881A + msgbox AbandonedShip_CaptainsOffice_Text_ThisIsSSCactus, MSGBOX_DEFAULT release end -AbandonedShip_CaptainsOffice_Text_238824: @ 8238824 +AbandonedShip_CaptainsOffice_Text_NoSuccessFindingScanner: @ 8238824 .string "I'm investigating this ship on behalf\n" .string "of CAPT. STERN.\p" .string "He also asked me to find a SCANNER,\n" .string "but I haven't had any success…$" -AbandonedShip_CaptainsOffice_Text_23889D: @ 823889D +AbandonedShip_CaptainsOffice_Text_OhCanYouDeliverScanner: @ 823889D .string "Oh! That's a SCANNER!\p" .string "Listen, can I get you to deliver that\n" .string "to CAPT. STERN?\p" .string "I want to investigate this ship a\n" .string "little more.$" -AbandonedShip_CaptainsOffice_Text_238918: @ 8238918 +AbandonedShip_CaptainsOffice_Text_ThisIsSSCactus: @ 8238918 .string "This ship is called S.S. CACTUS.\n" .string "It seems to be from an earlier era.$" diff --git a/data/maps/AbandonedShip_Corridors_1F/map.json b/data/maps/AbandonedShip_Corridors_1F/map.json index 4ddf92226f..b75fcf3acd 100644 --- a/data/maps/AbandonedShip_Corridors_1F/map.json +++ b/data/maps/AbandonedShip_Corridors_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_Corridors_1F_EventScript_2379A5", + "script": "AbandonedShip_Corridors_1F_EventScript_Youngster", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 7, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "AbandonedShip_Corridors_1F_EventScript_2379AE", + "script": "AbandonedShip_Corridors_1F_EventScript_Charlie", "flag": "0" } ], diff --git a/data/maps/AbandonedShip_Corridors_1F/scripts.inc b/data/maps/AbandonedShip_Corridors_1F/scripts.inc index 15fda4194e..a954ee1197 100644 --- a/data/maps/AbandonedShip_Corridors_1F/scripts.inc +++ b/data/maps/AbandonedShip_Corridors_1F/scripts.inc @@ -1,26 +1,26 @@ AbandonedShip_Corridors_1F_MapScripts:: @ 82379A4 .byte 0 -AbandonedShip_Corridors_1F_EventScript_2379A5:: @ 82379A5 - msgbox AbandonedShip_Corridors_1F_Text_237A60, MSGBOX_NPC +AbandonedShip_Corridors_1F_EventScript_Youngster:: @ 82379A5 + msgbox AbandonedShip_Corridors_1F_Text_IsntItFunHere, MSGBOX_NPC end -AbandonedShip_Corridors_1F_EventScript_2379AE:: @ 82379AE - trainerbattle_single TRAINER_CHARLIE, AbandonedShip_Corridors_1F_Text_2379C5, AbandonedShip_Corridors_1F_Text_237A01 - msgbox AbandonedShip_Corridors_1F_Text_237A1B, MSGBOX_AUTOCLOSE +AbandonedShip_Corridors_1F_EventScript_Charlie:: @ 82379AE + trainerbattle_single TRAINER_CHARLIE, AbandonedShip_Corridors_1F_Text_CharlieIntro, AbandonedShip_Corridors_1F_Text_CharlieDefeat + msgbox AbandonedShip_Corridors_1F_Text_CharliePostBattle, MSGBOX_AUTOCLOSE end -AbandonedShip_Corridors_1F_Text_2379C5: @ 82379C5 +AbandonedShip_Corridors_1F_Text_CharlieIntro: @ 82379C5 .string "What's so funny about having my inner\n" .string "tube aboard the ship?$" -AbandonedShip_Corridors_1F_Text_237A01: @ 8237A01 +AbandonedShip_Corridors_1F_Text_CharlieDefeat: @ 8237A01 .string "Whoa, you overwhelmed me!$" -AbandonedShip_Corridors_1F_Text_237A1B: @ 8237A1B +AbandonedShip_Corridors_1F_Text_CharliePostBattle: @ 8237A1B .string "It's not easy throwing POKé BALLS\n" .string "while hanging on to an inner tube!$" -AbandonedShip_Corridors_1F_Text_237A60: @ 8237A60 +AbandonedShip_Corridors_1F_Text_IsntItFunHere: @ 8237A60 .string "Isn't it fun here?\n" .string "I get excited just being here!$" diff --git a/data/maps/AbandonedShip_Corridors_B1F/map.json b/data/maps/AbandonedShip_Corridors_B1F/map.json index 9bccfc6364..04868ad92e 100644 --- a/data/maps/AbandonedShip_Corridors_B1F/map.json +++ b/data/maps/AbandonedShip_Corridors_B1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_Corridors_B1F_EventScript_237DBF", + "script": "AbandonedShip_Corridors_B1F_EventScript_TuberM", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "AbandonedShip_Corridors_B1F_EventScript_237E13", + "script": "AbandonedShip_Corridors_B1F_EventScript_Duncan", "flag": "0" } ], @@ -107,7 +107,7 @@ "y": 4, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "AbandonedShip_Corridors_B1F_EventScript_237DC8" + "script": "AbandonedShip_Corridors_B1F_EventScript_StorageRoomDoor" } ] } \ No newline at end of file diff --git a/data/maps/AbandonedShip_Corridors_B1F/scripts.inc b/data/maps/AbandonedShip_Corridors_B1F/scripts.inc index 1012ebce78..94ed2ef7e7 100644 --- a/data/maps/AbandonedShip_Corridors_B1F/scripts.inc +++ b/data/maps/AbandonedShip_Corridors_B1F/scripts.inc @@ -1,88 +1,87 @@ AbandonedShip_Corridors_B1F_MapScripts:: @ 8237D84 - map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Corridors_B1F_MapScript1_237D8F - map_script MAP_SCRIPT_ON_LOAD, AbandonedShip_Corridors_B1F_MapScript1_237D98 + map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Corridors_B1F_OnResume + map_script MAP_SCRIPT_ON_LOAD, AbandonedShip_Corridors_B1F_OnLoad .byte 0 -AbandonedShip_Corridors_B1F_MapScript1_237D8F: @ 8237D8F +AbandonedShip_Corridors_B1F_OnResume: @ 8237D8F setdivewarp MAP_ABANDONED_SHIP_UNDERWATER1, 255, 5, 4 end -AbandonedShip_Corridors_B1F_MapScript1_237D98: @ 8237D98 - call_if_unset FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_237DAB - call_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_237DB5 +AbandonedShip_Corridors_B1F_OnLoad: @ 8237D98 + call_if_unset FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_LockStorageRoom + call_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_UnlockStorageRoom end -AbandonedShip_Corridors_B1F_EventScript_237DAB:: @ 8237DAB - setmetatile 11, 4, METATILE_InsideShip_InTactDoor0_Bottom, 1 +AbandonedShip_Corridors_B1F_EventScript_LockStorageRoom:: @ 8237DAB + setmetatile 11, 4, METATILE_InsideShip_IntactDoor_Bottom_Locked, 1 return -AbandonedShip_Corridors_B1F_EventScript_237DB5:: @ 8237DB5 - setmetatile 11, 4, METATILE_InsideShip_InTactDoor1_Bottom, 1 +AbandonedShip_Corridors_B1F_EventScript_UnlockStorageRoom:: @ 8237DB5 + setmetatile 11, 4, METATILE_InsideShip_IntactDoor_Bottom_Unlocked, 1 return -AbandonedShip_Corridors_B1F_EventScript_237DBF:: @ 8237DBF - msgbox AbandonedShip_Corridors_B1F_Text_237F03, MSGBOX_NPC +AbandonedShip_Corridors_B1F_EventScript_TuberM:: @ 8237DBF + msgbox AbandonedShip_Corridors_B1F_Text_YayItsAShip, MSGBOX_NPC end -AbandonedShip_Corridors_B1F_EventScript_237DC8:: @ 8237DC8 +AbandonedShip_Corridors_B1F_EventScript_StorageRoomDoor:: @ 8237DC8 lockall - goto_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_237E09 + goto_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_DoorIsUnlocked checkitem ITEM_STORAGE_KEY, 1 - compare VAR_RESULT, 0 - goto_if_eq AbandonedShip_Corridors_B1F_EventScript_237DFF - msgbox AbandonedShip_Corridors_B1F_Text_237F4B, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + goto_if_eq AbandonedShip_Corridors_B1F_EventScript_DoorIsLocked + msgbox AbandonedShip_Corridors_B1F_Text_InsertedStorageKey, MSGBOX_DEFAULT playse SE_PIN - takeitem ITEM_STORAGE_KEY, 1 + removeitem ITEM_STORAGE_KEY setflag FLAG_USED_STORAGE_KEY - call AbandonedShip_Corridors_B1F_EventScript_237DB5 + call AbandonedShip_Corridors_B1F_EventScript_UnlockStorageRoom special DrawWholeMapView releaseall end -AbandonedShip_Corridors_B1F_EventScript_237DFF:: @ 8237DFF - msgbox AbandonedShip_Corridors_B1F_Text_237F15, MSGBOX_DEFAULT +AbandonedShip_Corridors_B1F_EventScript_DoorIsLocked:: @ 8237DFF + msgbox AbandonedShip_Corridors_B1F_Text_DoorIsLocked, MSGBOX_DEFAULT releaseall end -AbandonedShip_Corridors_B1F_EventScript_237E09:: @ 8237E09 - msgbox AbandonedShip_Corridors_B1F_Text_237FA5, MSGBOX_DEFAULT +AbandonedShip_Corridors_B1F_EventScript_DoorIsUnlocked:: @ 8237E09 + msgbox AbandonedShip_Text_TheDoorIsOpen, MSGBOX_DEFAULT releaseall end -AbandonedShip_Corridors_B1F_EventScript_237E13:: @ 8237E13 - trainerbattle_single TRAINER_DUNCAN, AbandonedShip_Corridors_B1F_Text_237E2A, AbandonedShip_Corridors_B1F_Text_237E80 - msgbox AbandonedShip_Corridors_B1F_Text_237E92, MSGBOX_AUTOCLOSE +AbandonedShip_Corridors_B1F_EventScript_Duncan:: @ 8237E13 + trainerbattle_single TRAINER_DUNCAN, AbandonedShip_Corridors_B1F_Text_DuncanIntro, AbandonedShip_Corridors_B1F_Text_DuncanDefeat + msgbox AbandonedShip_Corridors_B1F_Text_DuncanPostBattle, MSGBOX_AUTOCLOSE end -AbandonedShip_Corridors_B1F_Text_237E2A: @ 8237E2A +AbandonedShip_Corridors_B1F_Text_DuncanIntro: @ 8237E2A .string "When we go out to sea, we SAILORS\n" .string "always bring our POKéMON.\l" .string "How about a quick battle?$" -AbandonedShip_Corridors_B1F_Text_237E80: @ 8237E80 +AbandonedShip_Corridors_B1F_Text_DuncanDefeat: @ 8237E80 .string "Whoops, I'm sunk!$" -AbandonedShip_Corridors_B1F_Text_237E92: @ 8237E92 +AbandonedShip_Corridors_B1F_Text_DuncanPostBattle: @ 8237E92 .string "The ship's bottom has sunk into the\n" .string "depths.\p" .string "If a POKéMON knew how to go underwater,\n" .string "we might make some progress…$" -AbandonedShip_Corridors_B1F_Text_237F03: @ 8237F03 +AbandonedShip_Corridors_B1F_Text_YayItsAShip: @ 8237F03 .string "Yay!\n" .string "It's a ship!$" -AbandonedShip_Corridors_B1F_Text_237F15: @ 8237F15 +AbandonedShip_Corridors_B1F_Text_DoorIsLocked: @ 8237F15 .string "The door is locked.\p" .string "“STORAGE” is painted on the door.$" -AbandonedShip_Corridors_B1F_Text_237F4B: @ 8237F4B +AbandonedShip_Corridors_B1F_Text_InsertedStorageKey: @ 8237F4B .string "{PLAYER} inserted and turned the\n" .string "STORAGE KEY.\p" .string "The inserted KEY stuck fast,\n" .string "but the door opened.$" -AbandonedShip_Corridors_B1F_Text_237FA5: @ 8237FA5 -AbandonedShip_HiddenFloorCorridors_Text_237FA5: @ 8237FA5 +AbandonedShip_Text_TheDoorIsOpen: @ 8237FA5 .string "The door is open.$" diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/map.json b/data/maps/AbandonedShip_HiddenFloorCorridors/map.json index 1b1466fe1e..81e19fd1fd 100644 --- a/data/maps/AbandonedShip_HiddenFloorCorridors/map.json +++ b/data/maps/AbandonedShip_HiddenFloorCorridors/map.json @@ -66,7 +66,7 @@ "y": 8, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "AbandonedShip_HiddenFloorCorridors_EventScript_238A19" + "script": "AbandonedShip_HiddenFloorCorridors_EventScript_Room1Door" }, { "type": "sign", @@ -74,7 +74,7 @@ "y": 8, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "AbandonedShip_HiddenFloorCorridors_EventScript_238A50" + "script": "AbandonedShip_HiddenFloorCorridors_EventScript_Room2Door" }, { "type": "sign", @@ -82,7 +82,7 @@ "y": 4, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "AbandonedShip_HiddenFloorCorridors_EventScript_238A87" + "script": "AbandonedShip_HiddenFloorCorridors_EventScript_Room4Door" }, { "type": "sign", @@ -90,7 +90,7 @@ "y": 4, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "AbandonedShip_HiddenFloorCorridors_EventScript_238ABE" + "script": "AbandonedShip_HiddenFloorCorridors_EventScript_Room6Door" } ] } \ No newline at end of file diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc b/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc index 9c6474b6f4..612d46a9a4 100644 --- a/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc +++ b/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc @@ -1,157 +1,157 @@ AbandonedShip_HiddenFloorCorridors_MapScripts:: @ 823896C - map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_HiddenFloorCorridors_MapScript1_238977 - map_script MAP_SCRIPT_ON_LOAD, AbandonedShip_HiddenFloorCorridors_MapScript1_238980 + map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_HiddenFloorCorridors_OnResume + map_script MAP_SCRIPT_ON_LOAD, AbandonedShip_HiddenFloorCorridors_OnLoad .byte 0 -AbandonedShip_HiddenFloorCorridors_MapScript1_238977: @ 8238977 +AbandonedShip_HiddenFloorCorridors_OnResume: @ 8238977 setdivewarp MAP_ABANDONED_SHIP_UNDERWATER1, 255, 5, 4 end -AbandonedShip_HiddenFloorCorridors_MapScript1_238980: @ 8238980 - call_if_unset FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389F1 - call_if_unset FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389FB - call_if_unset FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238A05 - call_if_unset FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238A0F - call_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389C9 - call_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389D3 - call_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389DD - call_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389E7 +AbandonedShip_HiddenFloorCorridors_OnLoad: @ 8238980 + call_if_unset FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom1 + call_if_unset FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom2 + call_if_unset FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom4 + call_if_unset FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom6 + call_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom1 + call_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom2 + call_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom4 + call_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom6 end -AbandonedShip_HiddenFloorCorridors_EventScript_2389C9:: @ 82389C9 - setmetatile 3, 8, METATILE_InsideShip_InTactDoor1_Bottom, 1 +AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom1:: @ 82389C9 + setmetatile 3, 8, METATILE_InsideShip_IntactDoor_Bottom_Unlocked, 1 return -AbandonedShip_HiddenFloorCorridors_EventScript_2389D3:: @ 82389D3 - setmetatile 6, 8, METATILE_InsideShip_InTactDoor1_Bottom, 1 +AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom2:: @ 82389D3 + setmetatile 6, 8, METATILE_InsideShip_IntactDoor_Bottom_Unlocked, 1 return -AbandonedShip_HiddenFloorCorridors_EventScript_2389DD:: @ 82389DD - setmetatile 3, 3, METATILE_InsideShip_DoorIndent1, 0 +AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom4:: @ 82389DD + setmetatile 3, 3, METATILE_InsideShip_DoorIndent_Unlocked, 0 return -AbandonedShip_HiddenFloorCorridors_EventScript_2389E7:: @ 82389E7 - setmetatile 9, 3, METATILE_InsideShip_DoorIndent1, 0 +AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom6:: @ 82389E7 + setmetatile 9, 3, METATILE_InsideShip_DoorIndent_Unlocked, 0 return -AbandonedShip_HiddenFloorCorridors_EventScript_2389F1:: @ 82389F1 - setmetatile 3, 8, METATILE_InsideShip_InTactDoor0_Bottom, 1 +AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom1:: @ 82389F1 + setmetatile 3, 8, METATILE_InsideShip_IntactDoor_Bottom_Locked, 1 return -AbandonedShip_HiddenFloorCorridors_EventScript_2389FB:: @ 82389FB - setmetatile 6, 8, METATILE_InsideShip_InTactDoor0_Bottom, 1 +AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom2:: @ 82389FB + setmetatile 6, 8, METATILE_InsideShip_IntactDoor_Bottom_Locked, 1 return -AbandonedShip_HiddenFloorCorridors_EventScript_238A05:: @ 8238A05 - setmetatile 3, 3, METATILE_InsideShip_DoorIndent0, 0 +AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom4:: @ 8238A05 + setmetatile 3, 3, METATILE_InsideShip_DoorIndent_Locked, 0 return -AbandonedShip_HiddenFloorCorridors_EventScript_238A0F:: @ 8238A0F - setmetatile 9, 3, METATILE_InsideShip_DoorIndent0, 0 +AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom6:: @ 8238A0F + setmetatile 9, 3, METATILE_InsideShip_DoorIndent_Locked, 0 return -AbandonedShip_HiddenFloorCorridors_EventScript_238A19:: @ 8238A19 +AbandonedShip_HiddenFloorCorridors_EventScript_Room1Door:: @ 8238A19 lockall - goto_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D + goto_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen checkitem ITEM_ROOM_1_KEY, 1 - compare VAR_RESULT, 0 - goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AF5 - msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_Rm1IsLocked + msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT playse SE_PIN - takeitem ITEM_ROOM_1_KEY, 1 + removeitem ITEM_ROOM_1_KEY setflag FLAG_USED_ROOM_1_KEY - call AbandonedShip_HiddenFloorCorridors_EventScript_2389C9 + call AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom1 special DrawWholeMapView releaseall end -AbandonedShip_HiddenFloorCorridors_EventScript_238A50:: @ 8238A50 +AbandonedShip_HiddenFloorCorridors_EventScript_Room2Door:: @ 8238A50 lockall - goto_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D + goto_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen checkitem ITEM_ROOM_2_KEY, 1 - compare VAR_RESULT, 0 - goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AFF - msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_Rm2IsLocked + msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT playse SE_PIN - takeitem ITEM_ROOM_2_KEY, 1 + removeitem ITEM_ROOM_2_KEY setflag FLAG_USED_ROOM_2_KEY - call AbandonedShip_HiddenFloorCorridors_EventScript_2389D3 + call AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom2 special DrawWholeMapView releaseall end -AbandonedShip_HiddenFloorCorridors_EventScript_238A87:: @ 8238A87 +AbandonedShip_HiddenFloorCorridors_EventScript_Room4Door:: @ 8238A87 lockall - goto_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D + goto_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen checkitem ITEM_ROOM_4_KEY, 1 - compare VAR_RESULT, 0 - goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B09 - msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_Rm4IsLocked + msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT playse SE_PIN - takeitem ITEM_ROOM_4_KEY, 1 + removeitem ITEM_ROOM_4_KEY setflag FLAG_USED_ROOM_4_KEY - call AbandonedShip_HiddenFloorCorridors_EventScript_2389DD + call AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom4 special DrawWholeMapView releaseall end -AbandonedShip_HiddenFloorCorridors_EventScript_238ABE:: @ 8238ABE +AbandonedShip_HiddenFloorCorridors_EventScript_Room6Door:: @ 8238ABE lockall - goto_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D + goto_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen checkitem ITEM_ROOM_6_KEY, 1 - compare VAR_RESULT, 0 - goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B13 - msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_Rm6IsLocked + msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT playse SE_PIN - takeitem ITEM_ROOM_6_KEY, 1 + removeitem ITEM_ROOM_6_KEY setflag FLAG_USED_ROOM_6_KEY - call AbandonedShip_HiddenFloorCorridors_EventScript_2389E7 + call AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom6 special DrawWholeMapView releaseall end -AbandonedShip_HiddenFloorCorridors_EventScript_238AF5:: @ 8238AF5 - msgbox AbandonedShip_HiddenFloorCorridors_Text_238B27, MSGBOX_DEFAULT +AbandonedShip_HiddenFloorCorridors_EventScript_Rm1IsLocked:: @ 8238AF5 + msgbox AbandonedShip_HiddenFloorCorridors_Text_Rm1DoorIsLocked, MSGBOX_DEFAULT releaseall end -AbandonedShip_HiddenFloorCorridors_EventScript_238AFF:: @ 8238AFF - msgbox AbandonedShip_HiddenFloorCorridors_Text_238B5B, MSGBOX_DEFAULT +AbandonedShip_HiddenFloorCorridors_EventScript_Rm2IsLocked:: @ 8238AFF + msgbox AbandonedShip_HiddenFloorCorridors_Text_Rm2DoorIsLocked, MSGBOX_DEFAULT releaseall end -AbandonedShip_HiddenFloorCorridors_EventScript_238B09:: @ 8238B09 - msgbox AbandonedShip_HiddenFloorCorridors_Text_238B8F, MSGBOX_DEFAULT +AbandonedShip_HiddenFloorCorridors_EventScript_Rm4IsLocked:: @ 8238B09 + msgbox AbandonedShip_HiddenFloorCorridors_Text_Rm4DoorIsLocked, MSGBOX_DEFAULT releaseall end -AbandonedShip_HiddenFloorCorridors_EventScript_238B13:: @ 8238B13 - msgbox AbandonedShip_HiddenFloorCorridors_Text_238BC3, MSGBOX_DEFAULT +AbandonedShip_HiddenFloorCorridors_EventScript_Rm6IsLocked:: @ 8238B13 + msgbox AbandonedShip_HiddenFloorCorridors_Text_Rm6DoorIsLocked, MSGBOX_DEFAULT releaseall end -AbandonedShip_HiddenFloorCorridors_EventScript_238B1D:: @ 8238B1D - msgbox AbandonedShip_HiddenFloorCorridors_Text_237FA5, MSGBOX_DEFAULT +AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen:: @ 8238B1D + msgbox AbandonedShip_Text_TheDoorIsOpen, MSGBOX_DEFAULT releaseall end -AbandonedShip_HiddenFloorCorridors_Text_238B27: @ 8238B27 +AbandonedShip_HiddenFloorCorridors_Text_Rm1DoorIsLocked: @ 8238B27 .string "The door is locked.\p" .string "“RM. 1” is painted on the door.$" -AbandonedShip_HiddenFloorCorridors_Text_238B5B: @ 8238B5B +AbandonedShip_HiddenFloorCorridors_Text_Rm2DoorIsLocked: @ 8238B5B .string "The door is locked.\p" .string "“RM. 2” is painted on the door.$" -AbandonedShip_HiddenFloorCorridors_Text_238B8F: @ 8238B8F +AbandonedShip_HiddenFloorCorridors_Text_Rm4DoorIsLocked: @ 8238B8F .string "The door is locked.\p" .string "“RM. 4” is painted on the door.$" -AbandonedShip_HiddenFloorCorridors_Text_238BC3: @ 8238BC3 +AbandonedShip_HiddenFloorCorridors_Text_Rm6DoorIsLocked: @ 8238BC3 .string "The door is locked.\p" .string "“RM. 6” is painted on the door.$" -AbandonedShip_HiddenFloorCorridors_Text_238BF7: @ 8238BF7 +AbandonedShip_HiddenFloorCorridors_Text_InsertedKey: @ 8238BF7 .string "{PLAYER} inserted and turned the\n" .string "KEY.\p" .string "The inserted KEY stuck fast,\n" diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/map.json b/data/maps/AbandonedShip_HiddenFloorRooms/map.json index fdfb8a187c..f937eb649f 100644 --- a/data/maps/AbandonedShip_HiddenFloorRooms/map.json +++ b/data/maps/AbandonedShip_HiddenFloorRooms/map.json @@ -172,7 +172,7 @@ "y": 5, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "AbandonedShip_HiddenFloorRooms_EventScript_238DF3" + "script": "AbandonedShip_HiddenFloorRooms_EventScript_Trash" }, { "type": "sign", @@ -180,7 +180,7 @@ "y": 3, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "AbandonedShip_HiddenFloorRooms_EventScript_238DF3" + "script": "AbandonedShip_HiddenFloorRooms_EventScript_Trash" }, { "type": "sign", @@ -188,7 +188,7 @@ "y": 10, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "AbandonedShip_HiddenFloorRooms_EventScript_238DF3" + "script": "AbandonedShip_HiddenFloorRooms_EventScript_Trash" }, { "type": "sign", @@ -196,7 +196,7 @@ "y": 3, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "AbandonedShip_HiddenFloorRooms_EventScript_238DF3" + "script": "AbandonedShip_HiddenFloorRooms_EventScript_Trash" }, { "type": "sign", @@ -204,7 +204,7 @@ "y": 2, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "AbandonedShip_HiddenFloorRooms_EventScript_238DF3" + "script": "AbandonedShip_HiddenFloorRooms_EventScript_Trash" }, { "type": "sign", @@ -212,7 +212,7 @@ "y": 6, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "AbandonedShip_HiddenFloorRooms_EventScript_238DF3" + "script": "AbandonedShip_HiddenFloorRooms_EventScript_Trash" } ] } \ No newline at end of file diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc index 2d6f7ee77d..53a7ee2ed6 100644 --- a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc +++ b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc @@ -1,148 +1,125 @@ AbandonedShip_HiddenFloorRooms_MapScripts:: @ 8238C49 - map_script MAP_SCRIPT_ON_FRAME_TABLE, AbandonedShip_HiddenFloorRooms_MapScript2_238C4F + map_script MAP_SCRIPT_ON_FRAME_TABLE, AbandonedShip_HiddenFloorRooms_OnFrame .byte 0 -AbandonedShip_HiddenFloorRooms_MapScript2_238C4F: @ 8238C4F - map_script_2 VAR_TEMP_1, 0, AbandonedShip_HiddenFloorRooms_EventScript_238C59 +AbandonedShip_HiddenFloorRooms_OnFrame: @ 8238C4F + map_script_2 VAR_TEMP_1, 0, AbandonedShip_HiddenFloorRooms_EventScript_DoHiddenItemSparkle .2byte 0 -AbandonedShip_HiddenFloorRooms_EventScript_238C59:: @ 8238C59 +@ After the below calculation, VAR_TEMP_4 is the room number of the door the player entered +@ Bottom row, left column (Rm 1) +@ Bottom row, middle column (Rm 2) +@ Bottom row, right column (Rm 3) +@ Upper row, left column (Rm 4) +@ Upper row, middle column (Rm 5) +@ Upper row, right column (Rm 6) +AbandonedShip_HiddenFloorRooms_EventScript_DoHiddenItemSparkle:: @ 8238C59 setvar VAR_TEMP_1, 1 getplayerxy VAR_TEMP_2, VAR_TEMP_3 setvar VAR_TEMP_4, 1 compare VAR_TEMP_2, 21 - call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238CD1 + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_InMiddleRoomColumn compare VAR_TEMP_2, 36 - call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238CD7 + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_InRightRoomColumn compare VAR_TEMP_3, 2 - call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238CDD + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_InUpperRoomRow switch VAR_TEMP_4 - case 1, AbandonedShip_HiddenFloorRooms_EventScript_238CE3 - case 2, AbandonedShip_HiddenFloorRooms_EventScript_238D0C - case 3, AbandonedShip_HiddenFloorRooms_EventScript_238D0D - case 4, AbandonedShip_HiddenFloorRooms_EventScript_238D33 - case 5, AbandonedShip_HiddenFloorRooms_EventScript_238D6B - case 6, AbandonedShip_HiddenFloorRooms_EventScript_238DB2 + case 1, AbandonedShip_HiddenFloorRooms_EventScript_EnterRm1 + case 2, AbandonedShip_HiddenFloorRooms_EventScript_EnterRm2 + case 3, AbandonedShip_HiddenFloorRooms_EventScript_EnterRm3 + case 4, AbandonedShip_HiddenFloorRooms_EventScript_EnterRm4 + case 5, AbandonedShip_HiddenFloorRooms_EventScript_EnterRm5 + case 6, AbandonedShip_HiddenFloorRooms_EventScript_EnterRm6 end -AbandonedShip_HiddenFloorRooms_EventScript_238CD1:: @ 8238CD1 +AbandonedShip_HiddenFloorRooms_EventScript_InMiddleRoomColumn:: @ 8238CD1 addvar VAR_TEMP_4, 1 return -AbandonedShip_HiddenFloorRooms_EventScript_238CD7:: @ 8238CD7 +AbandonedShip_HiddenFloorRooms_EventScript_InRightRoomColumn:: @ 8238CD7 addvar VAR_TEMP_4, 2 return -AbandonedShip_HiddenFloorRooms_EventScript_238CDD:: @ 8238CDD +AbandonedShip_HiddenFloorRooms_EventScript_InUpperRoomRow:: @ 8238CDD addvar VAR_TEMP_4, 3 return -AbandonedShip_HiddenFloorRooms_EventScript_238CE3:: @ 8238CE3 +AbandonedShip_HiddenFloorRooms_EventScript_EnterRm1:: @ 8238CE3 delay 20 - setfieldeffectargument 0, 10 - setfieldeffectargument 1, 10 - setfieldeffectargument 2, 0 - dofieldeffect FLDEFF_SPARKLE + dofieldeffectsparkle 10, 10, 0 specialvar VAR_RESULT, FoundAbandonedShipRoom4Key - compare VAR_RESULT, 0 - call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DD3 + compare VAR_RESULT, FALSE + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_Rm4KeySparkle waitfieldeffect FLDEFF_SPARKLE delay 10 end -AbandonedShip_HiddenFloorRooms_EventScript_238D0C:: @ 8238D0C +AbandonedShip_HiddenFloorRooms_EventScript_EnterRm2:: @ 8238D0C end -AbandonedShip_HiddenFloorRooms_EventScript_238D0D:: @ 8238D0D +AbandonedShip_HiddenFloorRooms_EventScript_EnterRm3:: @ 8238D0D specialvar VAR_RESULT, FoundAbandonedShipRoom1Key - compare VAR_RESULT, 1 - goto_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238D32 + compare VAR_RESULT, TRUE + goto_if_eq AbandonedShip_HiddenFloorRooms_EventScript_Rm3NoSparkle delay 20 - compare VAR_RESULT, 0 - call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DB3 + compare VAR_RESULT, FALSE + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_Rm1KeySparkle waitfieldeffect FLDEFF_SPARKLE delay 10 end -AbandonedShip_HiddenFloorRooms_EventScript_238D32:: @ 8238D32 +AbandonedShip_HiddenFloorRooms_EventScript_Rm3NoSparkle:: @ 8238D32 end -AbandonedShip_HiddenFloorRooms_EventScript_238D33:: @ 8238D33 +AbandonedShip_HiddenFloorRooms_EventScript_EnterRm4:: @ 8238D33 delay 20 - setfieldeffectargument 0, 8 - setfieldeffectargument 1, 5 - setfieldeffectargument 2, 0 - dofieldeffect FLDEFF_SPARKLE - setfieldeffectargument 0, 11 - setfieldeffectargument 1, 3 - setfieldeffectargument 2, 0 - dofieldeffect FLDEFF_SPARKLE + dofieldeffectsparkle 8, 5, 0 + dofieldeffectsparkle 11, 3, 0 specialvar VAR_RESULT, FoundAbandonedShipRoom6Key - compare VAR_RESULT, 0 - call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DE3 + compare VAR_RESULT, FALSE + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_Rm6KeySparkle waitfieldeffect FLDEFF_SPARKLE delay 10 end -AbandonedShip_HiddenFloorRooms_EventScript_238D6B:: @ 8238D6B +AbandonedShip_HiddenFloorRooms_EventScript_EnterRm5:: @ 8238D6B delay 20 - setfieldeffectargument 0, 16 - setfieldeffectargument 1, 3 - setfieldeffectargument 2, 0 - dofieldeffect FLDEFF_SPARKLE - setfieldeffectargument 0, 25 - setfieldeffectargument 1, 2 - setfieldeffectargument 2, 0 - dofieldeffect FLDEFF_SPARKLE - setfieldeffectargument 0, 24 - setfieldeffectargument 1, 6 - setfieldeffectargument 2, 0 - dofieldeffect FLDEFF_SPARKLE + dofieldeffectsparkle 16, 3, 0 + dofieldeffectsparkle 25, 2, 0 + dofieldeffectsparkle 24, 6, 0 specialvar VAR_RESULT, FoundAbandonedShipRoom2Key - compare VAR_RESULT, 0 - call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DC3 + compare VAR_RESULT, FALSE + call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_Rm2KeySparkle waitfieldeffect FLDEFF_SPARKLE delay 10 end -AbandonedShip_HiddenFloorRooms_EventScript_238DB2:: @ 8238DB2 +AbandonedShip_HiddenFloorRooms_EventScript_EnterRm6:: @ 8238DB2 end -AbandonedShip_HiddenFloorRooms_EventScript_238DB3:: @ 8238DB3 - setfieldeffectargument 0, 42 - setfieldeffectargument 1, 10 - setfieldeffectargument 2, 0 - dofieldeffect FLDEFF_SPARKLE +AbandonedShip_HiddenFloorRooms_EventScript_Rm1KeySparkle:: @ 8238DB3 + dofieldeffectsparkle 42, 10, 0 return -AbandonedShip_HiddenFloorRooms_EventScript_238DC3:: @ 8238DC3 - setfieldeffectargument 0, 20 - setfieldeffectargument 1, 5 - setfieldeffectargument 2, 0 - dofieldeffect FLDEFF_SPARKLE +AbandonedShip_HiddenFloorRooms_EventScript_Rm2KeySparkle:: @ 8238DC3 + dofieldeffectsparkle 20, 5, 0 return -AbandonedShip_HiddenFloorRooms_EventScript_238DD3:: @ 8238DD3 - setfieldeffectargument 0, 1 - setfieldeffectargument 1, 12 - setfieldeffectargument 2, 0 - dofieldeffect FLDEFF_SPARKLE +AbandonedShip_HiddenFloorRooms_EventScript_Rm4KeySparkle:: @ 8238DD3 + dofieldeffectsparkle 1, 12, 0 return -AbandonedShip_HiddenFloorRooms_EventScript_238DE3:: @ 8238DE3 - setfieldeffectargument 0, 1 - setfieldeffectargument 1, 2 - setfieldeffectargument 2, 0 - dofieldeffect FLDEFF_SPARKLE +AbandonedShip_HiddenFloorRooms_EventScript_Rm6KeySparkle:: @ 8238DE3 + dofieldeffectsparkle 1, 2, 0 return -AbandonedShip_HiddenFloorRooms_EventScript_238DF3:: @ 8238DF3 +AbandonedShip_HiddenFloorRooms_EventScript_Trash:: @ 8238DF3 lockall - msgbox AbandonedShip_HiddenFloorRooms_Text_238DFE, MSGBOX_DEFAULT + msgbox AbandonedShip_HiddenFloorRooms_Text_BrightShinyTrash, MSGBOX_DEFAULT releaseall end -AbandonedShip_HiddenFloorRooms_Text_238DFE: @ 8238DFE +AbandonedShip_HiddenFloorRooms_Text_BrightShinyTrash: @ 8238DFE .string "It's bright and shiny!\n" .string "But it's just trash…$" diff --git a/data/maps/AbandonedShip_Rooms2_1F/map.json b/data/maps/AbandonedShip_Rooms2_1F/map.json index 35b029f7f7..6f39d4827d 100644 --- a/data/maps/AbandonedShip_Rooms2_1F/map.json +++ b/data/maps/AbandonedShip_Rooms2_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "AbandonedShip_Rooms2_1F_EventScript_2380A7", + "script": "AbandonedShip_Rooms2_1F_EventScript_Dan", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "AbandonedShip_Rooms2_1F_EventScript_23810B", + "script": "AbandonedShip_Rooms2_1F_EventScript_Kira", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "AbandonedShip_Rooms2_1F_EventScript_238186", + "script": "AbandonedShip_Rooms2_1F_EventScript_Garrison", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "AbandonedShip_Rooms2_1F_EventScript_23816F", + "script": "AbandonedShip_Rooms2_1F_EventScript_Jani", "flag": "0" } ], diff --git a/data/maps/AbandonedShip_Rooms2_1F/scripts.inc b/data/maps/AbandonedShip_Rooms2_1F/scripts.inc index ec382e56c7..a09242fc94 100644 --- a/data/maps/AbandonedShip_Rooms2_1F/scripts.inc +++ b/data/maps/AbandonedShip_Rooms2_1F/scripts.inc @@ -1,151 +1,151 @@ AbandonedShip_Rooms2_1F_MapScripts:: @ 82380A6 .byte 0 -AbandonedShip_Rooms2_1F_EventScript_2380A7:: @ 82380A7 - trainerbattle_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_23819D, AbandonedShip_Rooms2_1F_Text_2381DA, AbandonedShip_Rooms2_1F_Text_238257, AbandonedShip_Rooms2_1F_EventScript_2380D7 +AbandonedShip_Rooms2_1F_EventScript_Dan:: @ 82380A7 + trainerbattle_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_DanIntro, AbandonedShip_Rooms2_1F_Text_DanDefeat, AbandonedShip_Rooms2_1F_Text_DanNotEnoughMons, AbandonedShip_Rooms2_1F_EventScript_RegisterDan specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq AbandonedShip_Rooms2_1F_EventScript_2380F0 - msgbox AbandonedShip_Rooms2_1F_Text_23820F, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq AbandonedShip_Rooms2_1F_EventScript_DanRematch + msgbox AbandonedShip_Rooms2_1F_Text_DanPostBattle, MSGBOX_DEFAULT release end -AbandonedShip_Rooms2_1F_EventScript_2380D7:: @ 82380D7 - msgbox AbandonedShip_Rooms2_1F_Text_2383BB, MSGBOX_DEFAULT +AbandonedShip_Rooms2_1F_EventScript_RegisterDan:: @ 82380D7 + msgbox AbandonedShip_Rooms2_1F_Text_KiraRegister, MSGBOX_DEFAULT @ Kira speaks for both when registering KiraAndDan register_matchcall TRAINER_KIRA_AND_DAN_1 release end -AbandonedShip_Rooms2_1F_EventScript_2380F0:: @ 82380F0 - trainerbattle_rematch_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_2383FF, AbandonedShip_Rooms2_1F_Text_238473, AbandonedShip_Rooms2_1F_Text_238509 - msgbox AbandonedShip_Rooms2_1F_Text_238491, MSGBOX_AUTOCLOSE +AbandonedShip_Rooms2_1F_EventScript_DanRematch:: @ 82380F0 + trainerbattle_rematch_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_DanRematchIntro, AbandonedShip_Rooms2_1F_Text_DanRematchDefeat, AbandonedShip_Rooms2_1F_Text_DanRematchNotEnoughMons + msgbox AbandonedShip_Rooms2_1F_Text_DanPostRematch, MSGBOX_AUTOCLOSE end -AbandonedShip_Rooms2_1F_EventScript_23810B:: @ 823810B - trainerbattle_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_2382A4, AbandonedShip_Rooms2_1F_Text_2382F4, AbandonedShip_Rooms2_1F_Text_23836F, AbandonedShip_Rooms2_1F_EventScript_23813B +AbandonedShip_Rooms2_1F_EventScript_Kira:: @ 823810B + trainerbattle_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_KiraIntro, AbandonedShip_Rooms2_1F_Text_KiraDefeat, AbandonedShip_Rooms2_1F_Text_KiraNotEnoughMons, AbandonedShip_Rooms2_1F_EventScript_RegisterKira specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq AbandonedShip_Rooms2_1F_EventScript_238154 - msgbox AbandonedShip_Rooms2_1F_Text_23830A, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq AbandonedShip_Rooms2_1F_EventScript_KiraRematch + msgbox AbandonedShip_Rooms2_1F_Text_KiraPostBattle, MSGBOX_DEFAULT release end -AbandonedShip_Rooms2_1F_EventScript_23813B:: @ 823813B - msgbox AbandonedShip_Rooms2_1F_Text_2383BB, MSGBOX_DEFAULT +AbandonedShip_Rooms2_1F_EventScript_RegisterKira:: @ 823813B + msgbox AbandonedShip_Rooms2_1F_Text_KiraRegister, MSGBOX_DEFAULT register_matchcall TRAINER_KIRA_AND_DAN_1 release end -AbandonedShip_Rooms2_1F_EventScript_238154:: @ 8238154 - trainerbattle_rematch_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_238556, AbandonedShip_Rooms2_1F_Text_2385F2, AbandonedShip_Rooms2_1F_Text_238668 - msgbox AbandonedShip_Rooms2_1F_Text_23860B, MSGBOX_AUTOCLOSE +AbandonedShip_Rooms2_1F_EventScript_KiraRematch:: @ 8238154 + trainerbattle_rematch_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_KiraRematchIntro, AbandonedShip_Rooms2_1F_Text_KiraRematchDefeat, AbandonedShip_Rooms2_1F_Text_KiraRematchNotEnoughMons + msgbox AbandonedShip_Rooms2_1F_Text_KiraPostRematch, MSGBOX_AUTOCLOSE end -AbandonedShip_Rooms2_1F_EventScript_23816F:: @ 823816F - trainerbattle_single TRAINER_JANI, AbandonedShip_Rooms2_1F_Text_2386B4, AbandonedShip_Rooms2_1F_Text_2386E8 - msgbox AbandonedShip_Rooms2_1F_Text_238708, MSGBOX_AUTOCLOSE +AbandonedShip_Rooms2_1F_EventScript_Jani:: @ 823816F + trainerbattle_single TRAINER_JANI, AbandonedShip_Rooms2_1F_Text_JaniIntro, AbandonedShip_Rooms2_1F_Text_JaniDefeat + msgbox AbandonedShip_Rooms2_1F_Text_JaniPostBattle, MSGBOX_AUTOCLOSE end -AbandonedShip_Rooms2_1F_EventScript_238186:: @ 8238186 - trainerbattle_single TRAINER_GARRISON, AbandonedShip_Rooms2_1F_Text_23873F, AbandonedShip_Rooms2_1F_Text_238779 - msgbox AbandonedShip_Rooms2_1F_Text_2387A9, MSGBOX_AUTOCLOSE +AbandonedShip_Rooms2_1F_EventScript_Garrison:: @ 8238186 + trainerbattle_single TRAINER_GARRISON, AbandonedShip_Rooms2_1F_Text_GarrisonIntro, AbandonedShip_Rooms2_1F_Text_GarrisonDefeat + msgbox AbandonedShip_Rooms2_1F_Text_GarrisonPostBattle, MSGBOX_AUTOCLOSE end -AbandonedShip_Rooms2_1F_Text_23819D: @ 823819D +AbandonedShip_Rooms2_1F_Text_DanIntro: @ 823819D .string "DAN: While searching for treasures,\n" .string "we discovered a TRAINER!$" -AbandonedShip_Rooms2_1F_Text_2381DA: @ 82381DA +AbandonedShip_Rooms2_1F_Text_DanDefeat: @ 82381DA .string "DAN: We couldn't win even though\n" .string "we worked together…$" -AbandonedShip_Rooms2_1F_Text_23820F: @ 823820F +AbandonedShip_Rooms2_1F_Text_DanPostBattle: @ 823820F .string "DAN: We can't find any treasures…\n" .string "I wonder if someone got them already?$" -AbandonedShip_Rooms2_1F_Text_238257: @ 8238257 +AbandonedShip_Rooms2_1F_Text_DanNotEnoughMons: @ 8238257 .string "DAN: You don't even have two POKéMON.\n" .string "You can't expect to beat us like that.$" -AbandonedShip_Rooms2_1F_Text_2382A4: @ 82382A4 +AbandonedShip_Rooms2_1F_Text_KiraIntro: @ 82382A4 .string "KIRA: Oh?\n" .string "We were searching for treasures.\l" .string "But we discovered a TRAINER instead!$" -AbandonedShip_Rooms2_1F_Text_2382F4: @ 82382F4 +AbandonedShip_Rooms2_1F_Text_KiraDefeat: @ 82382F4 .string "KIRA: Ooh, so strong!$" -AbandonedShip_Rooms2_1F_Text_23830A: @ 823830A +AbandonedShip_Rooms2_1F_Text_KiraPostBattle: @ 823830A .string "KIRA: Where could the treasures be?\p" .string "I've already decided what I'm buying\n" .string "when we find the treasures!$" -AbandonedShip_Rooms2_1F_Text_23836F: @ 823836F +AbandonedShip_Rooms2_1F_Text_KiraNotEnoughMons: @ 823836F .string "KIRA: Oh, you don't have two POKéMON?\n" .string "We'll have to battle some other time!$" -AbandonedShip_Rooms2_1F_Text_2383BB: @ 82383BB +AbandonedShip_Rooms2_1F_Text_KiraRegister: @ 82383BB .string "KIRA: Oh, you make me so angry!\n" .string "I'm going to register you for that!$" -AbandonedShip_Rooms2_1F_Text_2383FF: @ 82383FF +AbandonedShip_Rooms2_1F_Text_DanRematchIntro: @ 82383FF .string "DAN: We've been searching for\n" .string "treasures all this time.\p" .string "Our POKéMON have grown stronger, too.\n" .string "Let us show you, okay?$" -AbandonedShip_Rooms2_1F_Text_238473: @ 8238473 +AbandonedShip_Rooms2_1F_Text_DanRematchDefeat: @ 8238473 .string "DAN: You're strong, as usual!$" -AbandonedShip_Rooms2_1F_Text_238491: @ 8238491 +AbandonedShip_Rooms2_1F_Text_DanPostRematch: @ 8238491 .string "DAN: We can't find any treasures,\n" .string "we lose at POKéMON…\p" .string "I want to go home… But if I say that,\n" .string "she gets all angry with me…$" -AbandonedShip_Rooms2_1F_Text_238509: @ 8238509 +AbandonedShip_Rooms2_1F_Text_DanRematchNotEnoughMons: @ 8238509 .string "DAN: You don't even have two POKéMON.\n" .string "You can't expect to beat us like that.$" -AbandonedShip_Rooms2_1F_Text_238556: @ 8238556 +AbandonedShip_Rooms2_1F_Text_KiraRematchIntro: @ 8238556 .string "KIRA: Oh? We meet again!\p" .string "Just like us, you still haven't given up\n" .string "searching for treasures, have you?\p" .string "Want to make it so the loser has\n" .string "to give up searching?$" -AbandonedShip_Rooms2_1F_Text_2385F2: @ 82385F2 +AbandonedShip_Rooms2_1F_Text_KiraRematchDefeat: @ 82385F2 .string "KIRA: Oh, we lost again…$" -AbandonedShip_Rooms2_1F_Text_23860B: @ 823860B +AbandonedShip_Rooms2_1F_Text_KiraPostRematch: @ 823860B .string "KIRA: We're not leaving until we raise\n" .string "our POKéMON some more and we find\l" .string "the treasures here!$" -AbandonedShip_Rooms2_1F_Text_238668: @ 8238668 +AbandonedShip_Rooms2_1F_Text_KiraRematchNotEnoughMons: @ 8238668 .string "KIRA: Oh, you don't have two POKéMON?\n" .string "We'll have to battle some other time!$" -AbandonedShip_Rooms2_1F_Text_2386B4: @ 82386B4 +AbandonedShip_Rooms2_1F_Text_JaniIntro: @ 82386B4 .string "I'm not good at swimming,\n" .string "but I am good at battles!$" -AbandonedShip_Rooms2_1F_Text_2386E8: @ 82386E8 +AbandonedShip_Rooms2_1F_Text_JaniDefeat: @ 82386E8 .string "Oops.\n" .string "That didn't go very well.$" -AbandonedShip_Rooms2_1F_Text_238708: @ 8238708 +AbandonedShip_Rooms2_1F_Text_JaniPostBattle: @ 8238708 .string "Walking around barefoot in this ship\n" .string "is kind of gross.$" -AbandonedShip_Rooms2_1F_Text_23873F: @ 823873F +AbandonedShip_Rooms2_1F_Text_GarrisonIntro: @ 823873F .string "Strength and compassion…\n" .string "Those are a TRAINER's treasures!$" -AbandonedShip_Rooms2_1F_Text_238779: @ 8238779 +AbandonedShip_Rooms2_1F_Text_GarrisonDefeat: @ 8238779 .string "Ah, there is something about you\n" .string "that sparkles.$" -AbandonedShip_Rooms2_1F_Text_2387A9: @ 82387A9 +AbandonedShip_Rooms2_1F_Text_GarrisonPostBattle: @ 82387A9 .string "In a cabin somewhere on board,\n" .string "I saw something sparkle.$" diff --git a/data/maps/AbandonedShip_Rooms2_B1F/map.json b/data/maps/AbandonedShip_Rooms2_B1F/map.json index 621b80bb1a..672d2c54ec 100644 --- a/data/maps/AbandonedShip_Rooms2_B1F/map.json +++ b/data/maps/AbandonedShip_Rooms2_B1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_Rooms2_B1F_EventScript_238025", + "script": "AbandonedShip_Rooms2_B1F_EventScript_Camper", "flag": "0" }, { diff --git a/data/maps/AbandonedShip_Rooms2_B1F/scripts.inc b/data/maps/AbandonedShip_Rooms2_B1F/scripts.inc index a0b9e39463..5c24186965 100644 --- a/data/maps/AbandonedShip_Rooms2_B1F/scripts.inc +++ b/data/maps/AbandonedShip_Rooms2_B1F/scripts.inc @@ -1,11 +1,11 @@ AbandonedShip_Rooms2_B1F_MapScripts:: @ 8238024 .byte 0 -AbandonedShip_Rooms2_B1F_EventScript_238025:: @ 8238025 - msgbox AbandonedShip_Rooms2_B1F_Text_23802E, MSGBOX_NPC +AbandonedShip_Rooms2_B1F_EventScript_Camper:: @ 8238025 + msgbox AbandonedShip_Rooms2_B1F_Text_PerfectPlaceToGoExploring, MSGBOX_NPC end -AbandonedShip_Rooms2_B1F_Text_23802E: @ 823802E +AbandonedShip_Rooms2_B1F_Text_PerfectPlaceToGoExploring: @ 823802E .string "This is a perfect place to go exploring!\n" .string "It's exciting here!\p" .string "I bet there're amazing treasures on\n" diff --git a/data/maps/AbandonedShip_Rooms_1F/map.json b/data/maps/AbandonedShip_Rooms_1F/map.json index af25a3994f..28feaf9403 100644 --- a/data/maps/AbandonedShip_Rooms_1F/map.json +++ b/data/maps/AbandonedShip_Rooms_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_Rooms_1F_EventScript_237A93", + "script": "AbandonedShip_Rooms_1F_EventScript_Gentleman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "AbandonedShip_Rooms_1F_EventScript_237AB3", + "script": "AbandonedShip_Rooms_1F_EventScript_Thalia", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "AbandonedShip_Rooms_1F_EventScript_237A9C", + "script": "AbandonedShip_Rooms_1F_EventScript_Demetrius", "flag": "0" } ], diff --git a/data/maps/AbandonedShip_Rooms_1F/scripts.inc b/data/maps/AbandonedShip_Rooms_1F/scripts.inc index 5797ed5fb6..cabbb45eab 100644 --- a/data/maps/AbandonedShip_Rooms_1F/scripts.inc +++ b/data/maps/AbandonedShip_Rooms_1F/scripts.inc @@ -1,78 +1,78 @@ AbandonedShip_Rooms_1F_MapScripts:: @ 8237A92 .byte 0 -AbandonedShip_Rooms_1F_EventScript_237A93:: @ 8237A93 - msgbox AbandonedShip_Rooms_1F_Text_237B15, MSGBOX_NPC +AbandonedShip_Rooms_1F_EventScript_Gentleman:: @ 8237A93 + msgbox AbandonedShip_Rooms_1F_Text_TakingALookAround, MSGBOX_NPC end -AbandonedShip_Rooms_1F_EventScript_237A9C:: @ 8237A9C - trainerbattle_single TRAINER_DEMETRIUS, AbandonedShip_Rooms_1F_Text_237D0C, AbandonedShip_Rooms_1F_Text_237D2A - msgbox AbandonedShip_Rooms_1F_Text_237D41, MSGBOX_AUTOCLOSE +AbandonedShip_Rooms_1F_EventScript_Demetrius:: @ 8237A9C + trainerbattle_single TRAINER_DEMETRIUS, AbandonedShip_Rooms_1F_Text_DemetriusIntro, AbandonedShip_Rooms_1F_Text_DemetriusDefeat + msgbox AbandonedShip_Rooms_1F_Text_DemetriusPostBattle, MSGBOX_AUTOCLOSE end -AbandonedShip_Rooms_1F_EventScript_237AB3:: @ 8237AB3 - trainerbattle_single TRAINER_THALIA_1, AbandonedShip_Rooms_1F_Text_237B76, AbandonedShip_Rooms_1F_Text_237BB8, AbandonedShip_Rooms_1F_EventScript_237ADF +AbandonedShip_Rooms_1F_EventScript_Thalia:: @ 8237AB3 + trainerbattle_single TRAINER_THALIA_1, AbandonedShip_Rooms_1F_Text_ThaliaIntro, AbandonedShip_Rooms_1F_Text_ThaliaDefeat, AbandonedShip_Rooms_1F_EventScript_RegisterThalia specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq AbandonedShip_Rooms_1F_EventScript_237AFE - msgbox AbandonedShip_Rooms_1F_Text_237BDB, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq AbandonedShip_Rooms_1F_EventScript_ThaliaRematch + msgbox AbandonedShip_Rooms_1F_Text_ThaliaPostBattle, MSGBOX_DEFAULT release end -AbandonedShip_Rooms_1F_EventScript_237ADF:: @ 8237ADF - special sub_80B4808 +AbandonedShip_Rooms_1F_EventScript_RegisterThalia:: @ 8237ADF + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox AbandonedShip_Rooms_1F_Text_237C2A, MSGBOX_DEFAULT + msgbox AbandonedShip_Rooms_1F_Text_ThaliaRegister, MSGBOX_DEFAULT register_matchcall TRAINER_THALIA_1 release end -AbandonedShip_Rooms_1F_EventScript_237AFE:: @ 8237AFE - trainerbattle_rematch TRAINER_THALIA_1, AbandonedShip_Rooms_1F_Text_237C69, AbandonedShip_Rooms_1F_Text_237CB2 - msgbox AbandonedShip_Rooms_1F_Text_237CC9, MSGBOX_AUTOCLOSE +AbandonedShip_Rooms_1F_EventScript_ThaliaRematch:: @ 8237AFE + trainerbattle_rematch TRAINER_THALIA_1, AbandonedShip_Rooms_1F_Text_ThaliaRematchIntro, AbandonedShip_Rooms_1F_Text_ThaliaRematchDefeat + msgbox AbandonedShip_Rooms_1F_Text_ThaliaPostRematch, MSGBOX_AUTOCLOSE end -AbandonedShip_Rooms_1F_Text_237B15: @ 8237B15 +AbandonedShip_Rooms_1F_Text_TakingALookAround: @ 8237B15 .string "Ships of this sort are rare, so I'm\n" .string "taking a look around.\p" .string "Hmhm…\n" .string "There appear to be other cabins…$" -AbandonedShip_Rooms_1F_Text_237B76: @ 8237B76 +AbandonedShip_Rooms_1F_Text_ThaliaIntro: @ 8237B76 .string "What on earth would compel you to\n" .string "come here? You must be curious!$" -AbandonedShip_Rooms_1F_Text_237BB8: @ 8237BB8 +AbandonedShip_Rooms_1F_Text_ThaliaDefeat: @ 8237BB8 .string "Not just curious, but also strong…$" -AbandonedShip_Rooms_1F_Text_237BDB: @ 8237BDB +AbandonedShip_Rooms_1F_Text_ThaliaPostBattle: @ 8237BDB .string "The man next door…\p" .string "He says he's just sightseeing,\n" .string "but I don't know about that.$" -AbandonedShip_Rooms_1F_Text_237C2A: @ 8237C2A +AbandonedShip_Rooms_1F_Text_ThaliaRegister: @ 8237C2A .string "You're such a tough TRAINER!\n" .string "Let me register you as a memento!$" -AbandonedShip_Rooms_1F_Text_237C69: @ 8237C69 +AbandonedShip_Rooms_1F_Text_ThaliaRematchIntro: @ 8237C69 .string "What on earth would compel you to\n" .string "come back? You must really be curious!$" -AbandonedShip_Rooms_1F_Text_237CB2: @ 8237CB2 +AbandonedShip_Rooms_1F_Text_ThaliaRematchDefeat: @ 8237CB2 .string "Aren't you too strong?$" -AbandonedShip_Rooms_1F_Text_237CC9: @ 8237CC9 +AbandonedShip_Rooms_1F_Text_ThaliaPostRematch: @ 8237CC9 .string "I'm sure that man's up to something!\n" .string "He just acts so suspiciously!$" -AbandonedShip_Rooms_1F_Text_237D0C: @ 8237D0C +AbandonedShip_Rooms_1F_Text_DemetriusIntro: @ 8237D0C .string "Waaah!\n" .string "I've been found! …Huh?$" -AbandonedShip_Rooms_1F_Text_237D2A: @ 8237D2A +AbandonedShip_Rooms_1F_Text_DemetriusDefeat: @ 8237D2A .string "Oh, you're not my mom.$" -AbandonedShip_Rooms_1F_Text_237D41: @ 8237D41 +AbandonedShip_Rooms_1F_Text_DemetriusPostBattle: @ 8237D41 .string "I'm in trouble with my mom, so I ran.\n" .string "Keep it a secret where I am!$" diff --git a/data/maps/AbandonedShip_Rooms_B1F/map.json b/data/maps/AbandonedShip_Rooms_B1F/map.json index 2e836f3a11..0af0a05ac9 100644 --- a/data/maps/AbandonedShip_Rooms_B1F/map.json +++ b/data/maps/AbandonedShip_Rooms_B1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_Rooms_B1F_EventScript_237FC6", + "script": "AbandonedShip_Rooms_B1F_EventScript_FatMan", "flag": "0" }, { diff --git a/data/maps/AbandonedShip_Rooms_B1F/scripts.inc b/data/maps/AbandonedShip_Rooms_B1F/scripts.inc index 05223592ee..80208b0511 100644 --- a/data/maps/AbandonedShip_Rooms_B1F/scripts.inc +++ b/data/maps/AbandonedShip_Rooms_B1F/scripts.inc @@ -1,16 +1,16 @@ AbandonedShip_Rooms_B1F_MapScripts:: @ 8237FB7 - map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Rooms_B1F_MapScript1_237FBD + map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Rooms_B1F_OnResume .byte 0 -AbandonedShip_Rooms_B1F_MapScript1_237FBD: @ 8237FBD +AbandonedShip_Rooms_B1F_OnResume: @ 8237FBD setdivewarp MAP_ABANDONED_SHIP_UNDERWATER2, 255, 17, 4 end -AbandonedShip_Rooms_B1F_EventScript_237FC6:: @ 8237FC6 - msgbox AbandonedShip_Rooms_B1F_Text_237FCF, MSGBOX_NPC +AbandonedShip_Rooms_B1F_EventScript_FatMan:: @ 8237FC6 + msgbox AbandonedShip_Rooms_B1F_Text_GettingQueasy, MSGBOX_NPC end -AbandonedShip_Rooms_B1F_Text_237FCF: @ 8237FCF +AbandonedShip_Rooms_B1F_Text_GettingQueasy: @ 8237FCF .string "Urrrrppp…\p" .string "I'm getting queasy just being aboard\n" .string "this ship…\p" diff --git a/data/maps/AbandonedShip_Underwater1/map.json b/data/maps/AbandonedShip_Underwater1/map.json index de9c778159..da1b5eb4c1 100644 --- a/data/maps/AbandonedShip_Underwater1/map.json +++ b/data/maps/AbandonedShip_Underwater1/map.json @@ -5,7 +5,7 @@ "music": "MUS_DEEPDEEP", "region_map_section": "MAPSEC_ABANDONED_SHIP", "requires_flash": false, - "weather": "WEATHER_BUBBLES", + "weather": "WEATHER_UNDERWATER_BUBBLES", "map_type": "MAP_TYPE_UNDERWATER", "allow_bike": true, "allow_escape_rope": false, diff --git a/data/maps/AbandonedShip_Underwater1/scripts.inc b/data/maps/AbandonedShip_Underwater1/scripts.inc index b957bb6bef..9e10c19f5e 100644 --- a/data/maps/AbandonedShip_Underwater1/scripts.inc +++ b/data/maps/AbandonedShip_Underwater1/scripts.inc @@ -1,8 +1,8 @@ AbandonedShip_Underwater1_MapScripts:: @ 8238096 - map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Underwater1_MapScript1_23809C + map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Underwater1_OnResume .byte 0 -AbandonedShip_Underwater1_MapScript1_23809C: @ 823809C +AbandonedShip_Underwater1_OnResume: @ 823809C setdivewarp MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS, 255, 0, 10 end diff --git a/data/maps/AbandonedShip_Underwater2/map.json b/data/maps/AbandonedShip_Underwater2/map.json index c1c9f24d36..104325b167 100644 --- a/data/maps/AbandonedShip_Underwater2/map.json +++ b/data/maps/AbandonedShip_Underwater2/map.json @@ -5,7 +5,7 @@ "music": "MUS_DEEPDEEP", "region_map_section": "MAPSEC_ABANDONED_SHIP", "requires_flash": false, - "weather": "WEATHER_BUBBLES", + "weather": "WEATHER_UNDERWATER_BUBBLES", "map_type": "MAP_TYPE_UNDERWATER", "allow_bike": true, "allow_escape_rope": false, diff --git a/data/maps/AbandonedShip_Underwater2/scripts.inc b/data/maps/AbandonedShip_Underwater2/scripts.inc index cc000b09c7..40e6c1e5e3 100644 --- a/data/maps/AbandonedShip_Underwater2/scripts.inc +++ b/data/maps/AbandonedShip_Underwater2/scripts.inc @@ -1,8 +1,8 @@ AbandonedShip_Underwater2_MapScripts:: @ 823895D - map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Underwater2_MapScript1_238963 + map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Underwater2_OnResume .byte 0 -AbandonedShip_Underwater2_MapScript1_238963: @ 8238963 +AbandonedShip_Underwater2_OnResume: @ 8238963 setdivewarp MAP_ABANDONED_SHIP_ROOMS_B1F, 255, 13, 7 end diff --git a/data/maps/AncientTomb/map.json b/data/maps/AncientTomb/map.json index 9de100bff1..9229f7581c 100644 --- a/data/maps/AncientTomb/map.json +++ b/data/maps/AncientTomb/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AncientTomb_EventScript_23905A", + "script": "AncientTomb_EventScript_Registeel", "flag": "FLAG_HIDE_REGISTEEL" } ], @@ -59,7 +59,7 @@ "y": 20, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "AncientTomb_EventScript_239033" + "script": "AncientTomb_EventScript_CaveEntranceMiddle" }, { "type": "sign", @@ -67,7 +67,7 @@ "y": 20, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "AncientTomb_EventScript_239050" + "script": "AncientTomb_EventScript_CaveEntranceSide" }, { "type": "sign", @@ -75,7 +75,7 @@ "y": 20, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "AncientTomb_EventScript_239050" + "script": "AncientTomb_EventScript_CaveEntranceSide" } ] } \ No newline at end of file diff --git a/data/maps/AncientTomb/scripts.inc b/data/maps/AncientTomb/scripts.inc index 9bc404af6d..95dd85d286 100644 --- a/data/maps/AncientTomb/scripts.inc +++ b/data/maps/AncientTomb/scripts.inc @@ -1,34 +1,34 @@ AncientTomb_MapScripts:: @ 8238FB3 - map_script MAP_SCRIPT_ON_RESUME, AncientTomb_MapScript1_238FC3 - map_script MAP_SCRIPT_ON_LOAD, AncientTomb_MapScript1_238FF2 + map_script MAP_SCRIPT_ON_RESUME, AncientTomb_OnResume + map_script MAP_SCRIPT_ON_LOAD, AncientTomb_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, AncientTomb_OnTransition .byte 0 -AncientTomb_MapScript1_238FC3: @ 8238FC3 - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, AncientTomb_EventScript_238FCD +AncientTomb_OnResume: @ 8238FC3 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, AncientTomb_EventScript_TryRemoveRegisteel end -AncientTomb_EventScript_238FCD:: @ 8238FCD +AncientTomb_EventScript_TryRemoveRegisteel:: @ 8238FCD specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject VAR_LAST_TALKED return AncientTomb_OnTransition: @ 8238FE1 setflag FLAG_LANDMARK_ANCIENT_TOMB - call_if_unset FLAG_DEFEATED_REGISTEEL, AncientTomb_EventScript_238FEE + call_if_unset FLAG_DEFEATED_REGISTEEL, AncientTomb_EventScript_ShowRegisteel end -AncientTomb_EventScript_238FEE:: @ 8238FEE +AncientTomb_EventScript_ShowRegisteel:: @ 8238FEE clearflag FLAG_HIDE_REGISTEEL return -AncientTomb_MapScript1_238FF2: @ 8238FF2 - call_if_unset FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED, AncientTomb_EventScript_238FFC +AncientTomb_OnLoad: @ 8238FF2 + call_if_unset FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED, AncientTomb_EventScript_HideRegiEntrance end -AncientTomb_EventScript_238FFC:: @ 8238FFC +AncientTomb_EventScript_HideRegiEntrance:: @ 8238FFC setmetatile 7, 19, METATILE_Cave_EntranceCover, 1 setmetatile 8, 19, METATILE_Cave_EntranceCover, 1 setmetatile 9, 19, METATILE_Cave_EntranceCover, 1 @@ -37,29 +37,29 @@ AncientTomb_EventScript_238FFC:: @ 8238FFC setmetatile 9, 20, METATILE_Cave_SealedChamberBraille_Mid, 1 return -AncientTomb_EventScript_239033:: @ 8239033 +AncientTomb_EventScript_CaveEntranceMiddle:: @ 8239033 lockall - goto_if_set FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED, AncientTomb_EventScript_239046 - braillemessage AncientTomb_Braille_2A6D06 + goto_if_set FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED, AncientTomb_EventScript_BigHoleInWall + braillemessage AncientTomb_Braille_ShineInTheMiddle waitbuttonpress - hidebox2 + closebraillemessage releaseall end -AncientTomb_EventScript_239046:: @ 8239046 - msgbox gUnknown_0827304E, MSGBOX_DEFAULT +AncientTomb_EventScript_BigHoleInWall:: @ 8239046 + msgbox gText_BigHoleInTheWall, MSGBOX_DEFAULT releaseall end -AncientTomb_EventScript_239050:: @ 8239050 +AncientTomb_EventScript_CaveEntranceSide:: @ 8239050 lockall - braillemessage AncientTomb_Braille_2A6D06 + braillemessage AncientTomb_Braille_ShineInTheMiddle waitbuttonpress - hidebox2 + closebraillemessage releaseall end -AncientTomb_EventScript_23905A:: @ 823905A +AncientTomb_EventScript_Registeel:: @ 823905A lock faceplayer waitse @@ -72,23 +72,23 @@ AncientTomb_EventScript_23905A:: @ 823905A waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq AncientTomb_EventScript_2390A1 - compare VAR_RESULT, 4 - goto_if_eq AncientTomb_EventScript_2390AA - compare VAR_RESULT, 5 - goto_if_eq AncientTomb_EventScript_2390AA + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq AncientTomb_EventScript_DefeatedRegisteel + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq AncientTomb_EventScript_RanFromRegisteel + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq AncientTomb_EventScript_RanFromRegisteel setflag FLAG_DEFEATED_REGISTEEL release end -AncientTomb_EventScript_2390A1:: @ 82390A1 +AncientTomb_EventScript_DefeatedRegisteel:: @ 82390A1 setflag FLAG_DEFEATED_REGISTEEL - goto AncientTomb_EventScript_27376D + goto Common_EventScript_RemoveStaticPokemon end -AncientTomb_EventScript_2390AA:: @ 82390AA - setvar VAR_0x8004, 403 - goto AncientTomb_EventScript_273776 +AncientTomb_EventScript_RanFromRegisteel:: @ 82390AA + setvar VAR_0x8004, SPECIES_REGISTEEL + goto Common_EventScript_LegendaryFlewAway end diff --git a/data/maps/AquaHideout_1F/map.json b/data/maps/AquaHideout_1F/map.json index 5f585f32f3..25fe48a9ed 100644 --- a/data/maps/AquaHideout_1F/map.json +++ b/data/maps/AquaHideout_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AquaHideout_1F_EventScript_233494", + "script": "AquaHideout_1F_EventScript_HideoutEntranceGrunt1", "flag": "FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AquaHideout_1F_EventScript_2334C6", + "script": "AquaHideout_1F_EventScript_HideoutEntranceGrunt2", "flag": "FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE" }, { @@ -50,7 +50,7 @@ "movement_range_y": 5, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "AquaHideout_1F_EventScript_2334F8", + "script": "AquaHideout_1F_EventScript_Grunt1", "flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS" } ], diff --git a/data/maps/AquaHideout_1F/scripts.inc b/data/maps/AquaHideout_1F/scripts.inc index 653e0f7c71..b246862a72 100644 --- a/data/maps/AquaHideout_1F/scripts.inc +++ b/data/maps/AquaHideout_1F/scripts.inc @@ -1,55 +1,56 @@ AquaHideout_1F_MapScripts:: @ 8233493 .byte 0 -AquaHideout_1F_EventScript_233494:: @ 8233494 +@ The below two entrance guards give hints about what to do to progress the story +AquaHideout_1F_EventScript_HideoutEntranceGrunt1:: @ 8233494 lock faceplayer - goto_if_set FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, AquaHideout_1F_EventScript_2334BC - goto_if_set FLAG_RECEIVED_RED_OR_BLUE_ORB, AquaHideout_1F_EventScript_2334B2 - msgbox AquaHideout_1F_Text_23351D, MSGBOX_DEFAULT + goto_if_set FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, AquaHideout_1F_EventScript_SlateportHint1 + goto_if_set FLAG_RECEIVED_RED_OR_BLUE_ORB, AquaHideout_1F_EventScript_MagmaHideoutHint1 + msgbox AquaHideout_1F_Text_OurBossIsSnatchingSomething, MSGBOX_DEFAULT release end -AquaHideout_1F_EventScript_2334B2:: @ 82334B2 - msgbox AquaHideout_1F_Text_2335E3, MSGBOX_DEFAULT +AquaHideout_1F_EventScript_MagmaHideoutHint1:: @ 82334B2 + msgbox AquaHideout_1F_Text_WhereMightMagmaHideoutBe, MSGBOX_DEFAULT release end -AquaHideout_1F_EventScript_2334BC:: @ 82334BC - msgbox AquaHideout_1F_Text_23367D, MSGBOX_DEFAULT +AquaHideout_1F_EventScript_SlateportHint1:: @ 82334BC + msgbox AquaHideout_1F_Text_BossWentToJackASubmarine, MSGBOX_DEFAULT release end -AquaHideout_1F_EventScript_2334C6:: @ 82334C6 +AquaHideout_1F_EventScript_HideoutEntranceGrunt2:: @ 82334C6 lock faceplayer - goto_if_set FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, AquaHideout_1F_EventScript_2334EE - goto_if_set FLAG_RECEIVED_RED_OR_BLUE_ORB, AquaHideout_1F_EventScript_2334E4 - msgbox AquaHideout_1F_Text_233739, MSGBOX_DEFAULT + goto_if_set FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, AquaHideout_1F_EventScript_SlateportHint2 + goto_if_set FLAG_RECEIVED_RED_OR_BLUE_ORB, AquaHideout_1F_EventScript_MagmaHideoutHint2 + msgbox AquaHideout_1F_Text_BossIsOnRoute122, MSGBOX_DEFAULT release end -AquaHideout_1F_EventScript_2334E4:: @ 82334E4 - msgbox AquaHideout_1F_Text_2337FA, MSGBOX_DEFAULT +AquaHideout_1F_EventScript_MagmaHideoutHint2:: @ 82334E4 + msgbox AquaHideout_1F_Text_TeamMagmaAtMtChimney, MSGBOX_DEFAULT release end -AquaHideout_1F_EventScript_2334EE:: @ 82334EE - msgbox AquaHideout_1F_Text_233884, MSGBOX_DEFAULT +AquaHideout_1F_EventScript_SlateportHint2:: @ 82334EE + msgbox AquaHideout_1F_Text_BossIsInSlateportCity, MSGBOX_DEFAULT release end -AquaHideout_1F_EventScript_2334F8:: @ 82334F8 - trainerbattle_single TRAINER_GRUNT_1, AquaHideout_1F_Text_23393D, AquaHideout_1F_Text_233964, AquaHideout_1F_EventScript_233513 - msgbox AquaHideout_1F_Text_233977, MSGBOX_AUTOCLOSE +AquaHideout_1F_EventScript_Grunt1:: @ 82334F8 + trainerbattle_single TRAINER_GRUNT_AQUA_HIDEOUT_1, AquaHideout_1F_Text_Grunt1Intro, AquaHideout_1F_Text_Grunt1Defeat, AquaHideout_1F_EventScript_Grunt1Defeated + msgbox AquaHideout_1F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -AquaHideout_1F_EventScript_233513:: @ 8233513 - msgbox AquaHideout_1F_Text_233977, MSGBOX_DEFAULT +AquaHideout_1F_EventScript_Grunt1Defeated:: @ 8233513 + msgbox AquaHideout_1F_Text_Grunt1PostBattle, MSGBOX_DEFAULT release end -AquaHideout_1F_Text_23351D: @ 823351D +AquaHideout_1F_Text_OurBossIsSnatchingSomething: @ 823351D .string "What? What? What do you want with \n" .string "TEAM AQUA?\p" .string "Our BOSS isn't here! He's gone off to\n" @@ -59,7 +60,7 @@ AquaHideout_1F_Text_23351D: @ 823351D .string "Wahaha! Do you really think I'd tell\n" .string "you something that crucial?$" -AquaHideout_1F_Text_2335E3: @ 82335E3 +AquaHideout_1F_Text_WhereMightMagmaHideoutBe: @ 82335E3 .string "What? What?\n" .string "Are you a TEAM MAGMA grunt?\p" .string "I hear that TEAM MAGMA is trying to\n" @@ -67,7 +68,7 @@ AquaHideout_1F_Text_2335E3: @ 82335E3 .string "HIDEOUT.\p" .string "But where might their HIDEOUT be?$" -AquaHideout_1F_Text_23367D: @ 823367D +AquaHideout_1F_Text_BossWentToJackASubmarine: @ 823367D .string "What? What? What do you want with \n" .string "TEAM AQUA?\p" .string "Our BOSS isn't here!\n" @@ -77,7 +78,7 @@ AquaHideout_1F_Text_23367D: @ 823367D .string "Wahaha! Do you really think I'd tell\n" .string "you something that crucial?$" -AquaHideout_1F_Text_233739: @ 8233739 +AquaHideout_1F_Text_BossIsOnRoute122: @ 8233739 .string "What? What? What do you want with \n" .string "TEAM AQUA?\p" .string "Our BOSS isn't here! He's on his way to\n" @@ -87,14 +88,14 @@ AquaHideout_1F_Text_233739: @ 8233739 .string "Wahaha! Do you really think I'd tell\n" .string "you something that crucial?$" -AquaHideout_1F_Text_2337FA: @ 82337FA +AquaHideout_1F_Text_TeamMagmaAtMtChimney: @ 82337FA .string "What? What?\n" .string "Are you a TEAM MAGMA grunt?\p" .string "I hear that TEAM MAGMA is after\n" .string "an awesome POKéMON at MT. CHIMNEY.\p" .string "But what is that POKéMON like?$" -AquaHideout_1F_Text_233884: @ 8233884 +AquaHideout_1F_Text_BossIsInSlateportCity: @ 8233884 .string "What? What? What do you want with\n" .string "TEAM AQUA?\p" .string "Our BOSS isn't here!\n" @@ -104,15 +105,15 @@ AquaHideout_1F_Text_233884: @ 8233884 .string "Wahaha! Do you really think I'd tell\n" .string "you something that crucial?$" -AquaHideout_1F_Text_23393D: @ 823393D +AquaHideout_1F_Text_Grunt1Intro: @ 823393D .string "Ayiyiyi!\n" .string "Suspicious character spotted!$" -AquaHideout_1F_Text_233964: @ 8233964 +AquaHideout_1F_Text_Grunt1Defeat: @ 8233964 .string "Grrrrr…\n" .string "I lost it!$" -AquaHideout_1F_Text_233977: @ 8233977 +AquaHideout_1F_Text_Grunt1PostBattle: @ 8233977 .string "I took the loss for the TEAM,\n" .string "but I did my job…$" diff --git a/data/maps/AquaHideout_B1F/map.json b/data/maps/AquaHideout_B1F/map.json index 8cdc901ecf..f31180f8bd 100644 --- a/data/maps/AquaHideout_B1F/map.json +++ b/data/maps/AquaHideout_B1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "AquaHideout_B1F_EventScript_233A85", + "script": "AquaHideout_B1F_EventScript_Grunt2", "flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "AquaHideout_B1F_EventScript_233AB0", + "script": "AquaHideout_B1F_EventScript_Grunt3", "flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "AquaHideout_B1F_EventScript_233AD5", + "script": "AquaHideout_B1F_EventScript_Grunt5", "flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AquaHideout_B1F_EventScript_2339EB", + "script": "AquaHideout_B1F_EventScript_Electrode1", "flag": "FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_1" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AquaHideout_B1F_EventScript_233A38", + "script": "AquaHideout_B1F_EventScript_Electrode2", "flag": "FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "AquaHideout_B1F_EventScript_233AEC", + "script": "AquaHideout_B1F_EventScript_Grunt7", "flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS" } ], diff --git a/data/maps/AquaHideout_B1F/scripts.inc b/data/maps/AquaHideout_B1F/scripts.inc index 589e416125..17e803814f 100644 --- a/data/maps/AquaHideout_B1F/scripts.inc +++ b/data/maps/AquaHideout_B1F/scripts.inc @@ -1,33 +1,33 @@ AquaHideout_B1F_MapScripts:: @ 82339A7 - map_script MAP_SCRIPT_ON_RESUME, AquaHideout_B1F_MapScript1_2339B2 + map_script MAP_SCRIPT_ON_RESUME, AquaHideout_B1F_OnResume map_script MAP_SCRIPT_ON_TRANSITION, AquaHideout_B1F_OnTransition .byte 0 -AquaHideout_B1F_MapScript1_2339B2: @ 82339B2 - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, AquaHideout_B1F_EventScript_2339BC +AquaHideout_B1F_OnResume: @ 82339B2 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, AquaHideout_B1F_EventScript_TryRemoveElectrode end -AquaHideout_B1F_EventScript_2339BC:: @ 82339BC +AquaHideout_B1F_EventScript_TryRemoveElectrode:: @ 82339BC specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject VAR_LAST_TALKED return AquaHideout_B1F_OnTransition: @ 82339D0 - call_if_unset FLAG_DEFEATED_ELECTRODE_1_AQUA_HIDEOUT, AquaHideout_B1F_EventScript_2339E3 - call_if_unset FLAG_DEFEATED_ELECTRODE_2_AQUA_HIDEOUT, AquaHideout_B1F_EventScript_2339E7 + call_if_unset FLAG_DEFEATED_ELECTRODE_1_AQUA_HIDEOUT, AquaHideout_B1F_EventScript_ShowElectrode1 + call_if_unset FLAG_DEFEATED_ELECTRODE_2_AQUA_HIDEOUT, AquaHideout_B1F_EventScript_ShowElectrode2 end -AquaHideout_B1F_EventScript_2339E3:: @ 82339E3 +AquaHideout_B1F_EventScript_ShowElectrode1:: @ 82339E3 clearflag FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_1 return -AquaHideout_B1F_EventScript_2339E7:: @ 82339E7 +AquaHideout_B1F_EventScript_ShowElectrode2:: @ 82339E7 clearflag FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2 return -AquaHideout_B1F_EventScript_2339EB:: @ 82339EB +AquaHideout_B1F_EventScript_Electrode1:: @ 82339EB lock faceplayer setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE @@ -39,22 +39,22 @@ AquaHideout_B1F_EventScript_2339EB:: @ 82339EB dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq AquaHideout_B1F_EventScript_233A2F - compare VAR_RESULT, 4 - goto_if_eq AquaHideout_B1F_EventScript_233A2F - compare VAR_RESULT, 5 - goto_if_eq AquaHideout_B1F_EventScript_233A2F + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode1 + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode1 + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode1 setflag FLAG_DEFEATED_ELECTRODE_1_AQUA_HIDEOUT release end -AquaHideout_B1F_EventScript_233A2F:: @ 8233A2F +AquaHideout_B1F_EventScript_DefeatedElectrode1:: @ 8233A2F setflag FLAG_DEFEATED_ELECTRODE_1_AQUA_HIDEOUT - goto AquaHideout_B1F_EventScript_27376D + goto Common_EventScript_RemoveStaticPokemon end -AquaHideout_B1F_EventScript_233A38:: @ 8233A38 +AquaHideout_B1F_EventScript_Electrode2:: @ 8233A38 lock faceplayer setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE @@ -66,102 +66,102 @@ AquaHideout_B1F_EventScript_233A38:: @ 8233A38 dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq AquaHideout_B1F_EventScript_233A7C - compare VAR_RESULT, 4 - goto_if_eq AquaHideout_B1F_EventScript_233A7C - compare VAR_RESULT, 5 - goto_if_eq AquaHideout_B1F_EventScript_233A7C + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode2 + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode2 + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode2 setflag FLAG_DEFEATED_ELECTRODE_2_AQUA_HIDEOUT release end -AquaHideout_B1F_EventScript_233A7C:: @ 8233A7C +AquaHideout_B1F_EventScript_DefeatedElectrode2:: @ 8233A7C setflag FLAG_DEFEATED_ELECTRODE_2_AQUA_HIDEOUT - goto AquaHideout_B1F_EventScript_27376D + goto Common_EventScript_RemoveStaticPokemon end -AquaHideout_B1F_EventScript_233A85:: @ 8233A85 - trainerbattle_single TRAINER_GRUNT_2, AquaHideout_B1F_Text_233B03, AquaHideout_B1F_Text_233B4A, AquaHideout_B1F_EventScript_233AA0 - msgbox AquaHideout_B1F_Text_233B5E, MSGBOX_AUTOCLOSE +AquaHideout_B1F_EventScript_Grunt2:: @ 8233A85 + trainerbattle_single TRAINER_GRUNT_AQUA_HIDEOUT_2, AquaHideout_B1F_Text_Grunt2Intro, AquaHideout_B1F_Text_Grunt2Defeat, AquaHideout_B1F_EventScript_Grunt2Defeated + msgbox AquaHideout_B1F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end -AquaHideout_B1F_EventScript_233AA0:: @ 8233AA0 - special sub_80B4808 +AquaHideout_B1F_EventScript_Grunt2Defeated:: @ 8233AA0 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox AquaHideout_B1F_Text_233B5E, MSGBOX_DEFAULT + msgbox AquaHideout_B1F_Text_Grunt2PostBattle, MSGBOX_DEFAULT release end -AquaHideout_B1F_EventScript_233AB0:: @ 8233AB0 - trainerbattle_single TRAINER_GRUNT_3, AquaHideout_B1F_Text_233BC5, AquaHideout_B1F_Text_233C27, AquaHideout_B1F_EventScript_233ACB - msgbox AquaHideout_B1F_Text_233C41, MSGBOX_AUTOCLOSE +AquaHideout_B1F_EventScript_Grunt3:: @ 8233AB0 + trainerbattle_single TRAINER_GRUNT_AQUA_HIDEOUT_3, AquaHideout_B1F_Text_Grunt3Intro, AquaHideout_B1F_Text_Grunt3Defeat, AquaHideout_B1F_EventScript_Grunt3Defeated + msgbox AquaHideout_B1F_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE end -AquaHideout_B1F_EventScript_233ACB:: @ 8233ACB - msgbox AquaHideout_B1F_Text_233C41, MSGBOX_DEFAULT +AquaHideout_B1F_EventScript_Grunt3Defeated:: @ 8233ACB + msgbox AquaHideout_B1F_Text_Grunt3PostBattle, MSGBOX_DEFAULT release end -AquaHideout_B1F_EventScript_233AD5:: @ 8233AD5 - trainerbattle_single TRAINER_GRUNT_21, AquaHideout_B1F_Text_233C89, AquaHideout_B1F_Text_233CCA - msgbox AquaHideout_B1F_Text_233CDC, MSGBOX_AUTOCLOSE +AquaHideout_B1F_EventScript_Grunt5:: @ 8233AD5 + trainerbattle_single TRAINER_GRUNT_AQUA_HIDEOUT_5, AquaHideout_B1F_Text_Grunt5Intro, AquaHideout_B1F_Text_Grunt5Defeat + msgbox AquaHideout_B1F_Text_Grunt5PostBattle, MSGBOX_AUTOCLOSE end -AquaHideout_B1F_EventScript_233AEC:: @ 8233AEC - trainerbattle_single TRAINER_GRUNT_25, AquaHideout_B1F_Text_233D1B, AquaHideout_B1F_Text_233D6E - msgbox AquaHideout_B1F_Text_233D84, MSGBOX_AUTOCLOSE +AquaHideout_B1F_EventScript_Grunt7:: @ 8233AEC + trainerbattle_single TRAINER_GRUNT_AQUA_HIDEOUT_7, AquaHideout_B1F_Text_Grunt7Intro, AquaHideout_B1F_Text_Grunt7Defeat + msgbox AquaHideout_B1F_Text_Grunt7PostBattle, MSGBOX_AUTOCLOSE end -AquaHideout_B1F_Text_233B03: @ 8233B03 +AquaHideout_B1F_Text_Grunt2Intro: @ 8233B03 .string "If you want to know the secret about\n" .string "our HIDEOUT, you have me to beat!$" -AquaHideout_B1F_Text_233B4A: @ 8233B4A +AquaHideout_B1F_Text_Grunt2Defeat: @ 8233B4A .string "I can't win at all…$" -AquaHideout_B1F_Text_233B5E: @ 8233B5E +AquaHideout_B1F_Text_Grunt2PostBattle: @ 8233B5E .string "Our HIDEOUT's secret?\p" .string "Well, let's just say…\n" .string "There's a submarine at the far end!\p" .string "But, by now…\n" .string "Kekekeke…$" -AquaHideout_B1F_Text_233BC5: @ 8233BC5 +AquaHideout_B1F_Text_Grunt3Intro: @ 8233BC5 .string "Fuel supply loaded A-OK!\n" .string "In-cruise snacks loaded A-OK!\p" .string "Nothing left to do but KO a pesky\n" .string "meddler!$" -AquaHideout_B1F_Text_233C27: @ 8233C27 +AquaHideout_B1F_Text_Grunt3Defeat: @ 8233C27 .string "I took a serious licking!$" -AquaHideout_B1F_Text_233C41: @ 8233C41 +AquaHideout_B1F_Text_Grunt3PostBattle: @ 8233C41 .string "Humph!\n" .string "This was supposed to happen!\p" .string "My mission was to just hold you up!$" -AquaHideout_B1F_Text_233C89: @ 8233C89 +AquaHideout_B1F_Text_Grunt5Intro: @ 8233C89 .string "Yawn… Keeping watch over the\n" .string "HIDEOUT bores me. I'll take you on.$" -AquaHideout_B1F_Text_233CCA: @ 8233CCA +AquaHideout_B1F_Text_Grunt5Defeat: @ 8233CCA .string "Yawn…\n" .string "Oh, I lost…$" -AquaHideout_B1F_Text_233CDC: @ 8233CDC +AquaHideout_B1F_Text_Grunt5PostBattle: @ 8233CDC .string "If you scurry too much, other TEAM\n" .string "AQUA members might get you.$" -AquaHideout_B1F_Text_233D1B: @ 8233D1B +AquaHideout_B1F_Text_Grunt7Intro: @ 8233D1B .string "Hey!\n" .string "You there!\p" .string "Which do you think is cooler?\n" .string "TEAM AQUA's uniform or TEAM MAGMA's?$" -AquaHideout_B1F_Text_233D6E: @ 8233D6E +AquaHideout_B1F_Text_Grunt7Defeat: @ 8233D6E .string "I lost in a cool way…$" -AquaHideout_B1F_Text_233D84: @ 8233D84 +AquaHideout_B1F_Text_Grunt7PostBattle: @ 8233D84 .string "If you have a cool uniform, you look\n" .string "good even in a loss, don't you think?$" diff --git a/data/maps/AquaHideout_B2F/map.json b/data/maps/AquaHideout_B2F/map.json index b286872af8..1ae0fcecd3 100644 --- a/data/maps/AquaHideout_B2F/map.json +++ b/data/maps/AquaHideout_B2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "AquaHideout_B2F_EventScript_233E09", + "script": "AquaHideout_B2F_EventScript_Matt", "flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS" }, { @@ -37,7 +37,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "AquaHideout_B2F_EventScript_233E8A", + "script": "AquaHideout_B2F_EventScript_Grunt4", "flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "AquaHideout_B2F_EventScript_233EAF", + "script": "AquaHideout_B2F_EventScript_Grunt6", "flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "AquaHideout_B2F_EventScript_233EC6", + "script": "AquaHideout_B2F_EventScript_Grunt8", "flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS" } ], @@ -173,7 +173,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "AquaHideout_B2F_EventScript_233DE5" + "script": "AquaHideout_B2F_EventScript_MattNoticePlayer" }, { "type": "trigger", @@ -182,7 +182,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "AquaHideout_B2F_EventScript_233DE5" + "script": "AquaHideout_B2F_EventScript_MattNoticePlayer" } ], "bg_events": [] diff --git a/data/maps/AquaHideout_B2F/scripts.inc b/data/maps/AquaHideout_B2F/scripts.inc index 975715fc22..dd2c38fa41 100644 --- a/data/maps/AquaHideout_B2F/scripts.inc +++ b/data/maps/AquaHideout_B2F/scripts.inc @@ -3,16 +3,16 @@ AquaHideout_B2F_MapScripts:: @ 8233DCF .byte 0 AquaHideout_B2F_OnTransition: @ 8233DD5 - call_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, AquaHideout_B2F_EventScript_233DDF + call_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, AquaHideout_B2F_EventScript_PreventMattNoticing end -AquaHideout_B2F_EventScript_233DDF:: @ 8233DDF +AquaHideout_B2F_EventScript_PreventMattNoticing:: @ 8233DDF setvar VAR_TEMP_1, 1 return -AquaHideout_B2F_EventScript_233DE5:: @ 8233DE5 +AquaHideout_B2F_EventScript_MattNoticePlayer:: @ 8233DE5 lockall - setvar VAR_0x8008, 1 + setvar VAR_0x8008, 1 @ Matt object event id playse SE_PIN applymovement VAR_0x8008, Common_Movement_ExclamationMark waitmovement 0 @@ -22,70 +22,71 @@ AquaHideout_B2F_EventScript_233DE5:: @ 8233DE5 releaseall end -AquaHideout_B2F_EventScript_233E09:: @ 8233E09 - trainerbattle_single TRAINER_MATT, AquaHideout_B2F_Text_233EDD, AquaHideout_B2F_Text_233F8D, AquaHideout_B2F_EventScript_233E25 - msgbox AquaHideout_B2F_Text_233FF2, MSGBOX_DEFAULT +AquaHideout_B2F_EventScript_Matt:: @ 8233E09 + trainerbattle_single TRAINER_MATT, AquaHideout_B2F_Text_MattIntro, AquaHideout_B2F_Text_MattDefeat, AquaHideout_B2F_EventScript_SubmarineEscape + msgbox AquaHideout_B2F_Text_MattPostBattle, MSGBOX_DEFAULT release end -AquaHideout_B2F_EventScript_233E25:: @ 8233E25 - setvar VAR_0x8008, 1 - setvar VAR_0x8009, 4 - applymovement VAR_0x8008, Common_Movement_WalkInPlaceLeft +AquaHideout_B2F_EventScript_SubmarineEscape:: @ 8233E25 + setvar VAR_0x8008, 1 @ Matt object event id + setvar VAR_0x8009, 4 @ Submarine object event id + applymovement VAR_0x8008, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 delay 20 applymovement VAR_0x8008, Common_Movement_FacePlayer waitmovement 0 - msgbox AquaHideout_B2F_Text_233FA6, MSGBOX_DEFAULT + msgbox AquaHideout_B2F_Text_OurBossGotThroughHisPreparations, MSGBOX_DEFAULT closemessage - applymovement VAR_0x8008, Common_Movement_WalkInPlaceLeft - applymovement VAR_0x8009, AquaHideout_B2F_Movement_233E80 + applymovement VAR_0x8008, Common_Movement_WalkInPlaceFastestLeft + applymovement VAR_0x8009, AquaHideout_B2F_Movement_SumbarineDepartLeft waitmovement 0 removeobject VAR_0x8009 delay 20 applymovement VAR_0x8008, Common_Movement_FacePlayer waitmovement 0 - msgbox AquaHideout_B2F_Text_233FF2, MSGBOX_DEFAULT + msgbox AquaHideout_B2F_Text_MattPostBattle, MSGBOX_DEFAULT setflag FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE setflag FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS release end -AquaHideout_B2F_Movement_233E80: @ 8233E80 +AquaHideout_B2F_Movement_SumbarineDepartLeft: @ 8233E80 walk_left walk_left walk_left walk_left step_end -AquaHideout_B2F_Movement_233E85: @ 8233E85 +@ Unused +AquaHideout_B2F_Movement_SumbarineDepartRight: @ 8233E85 walk_right walk_right walk_right walk_right step_end -AquaHideout_B2F_EventScript_233E8A:: @ 8233E8A - trainerbattle_single TRAINER_GRUNT_4, AquaHideout_B2F_Text_2340B4, AquaHideout_B2F_Text_2340F0, AquaHideout_B2F_EventScript_233EA5 - msgbox AquaHideout_B2F_Text_234112, MSGBOX_AUTOCLOSE +AquaHideout_B2F_EventScript_Grunt4:: @ 8233E8A + trainerbattle_single TRAINER_GRUNT_AQUA_HIDEOUT_4, AquaHideout_B2F_Text_Grunt4Intro, AquaHideout_B2F_Text_Grunt4Defeat, AquaHideout_B2F_EventScript_Grunt4Defeated + msgbox AquaHideout_B2F_Text_Grunt4PostBattle, MSGBOX_AUTOCLOSE end -AquaHideout_B2F_EventScript_233EA5:: @ 8233EA5 - msgbox AquaHideout_B2F_Text_234112, MSGBOX_DEFAULT +AquaHideout_B2F_EventScript_Grunt4Defeated:: @ 8233EA5 + msgbox AquaHideout_B2F_Text_Grunt4PostBattle, MSGBOX_DEFAULT release end -AquaHideout_B2F_EventScript_233EAF:: @ 8233EAF - trainerbattle_single TRAINER_GRUNT_22, AquaHideout_B2F_Text_23412D, AquaHideout_B2F_Text_2341CE - msgbox AquaHideout_B2F_Text_2341FE, MSGBOX_AUTOCLOSE +AquaHideout_B2F_EventScript_Grunt6:: @ 8233EAF + trainerbattle_single TRAINER_GRUNT_AQUA_HIDEOUT_6, AquaHideout_B2F_Text_Grunt6Intro, AquaHideout_B2F_Text_Grunt6Defeat + msgbox AquaHideout_B2F_Text_Grunt6PostBattle, MSGBOX_AUTOCLOSE end -AquaHideout_B2F_EventScript_233EC6:: @ 8233EC6 - trainerbattle_single TRAINER_GRUNT_26, AquaHideout_B2F_Text_23426F, AquaHideout_B2F_Text_2342CC - msgbox AquaHideout_B2F_Text_2342FF, MSGBOX_AUTOCLOSE +AquaHideout_B2F_EventScript_Grunt8:: @ 8233EC6 + trainerbattle_single TRAINER_GRUNT_AQUA_HIDEOUT_8, AquaHideout_B2F_Text_Grunt8Intro, AquaHideout_B2F_Text_Grunt8Defeat + msgbox AquaHideout_B2F_Text_Grunt8PostBattle, MSGBOX_AUTOCLOSE end -AquaHideout_B2F_Text_233EDD: @ 8233EDD +AquaHideout_B2F_Text_MattIntro: @ 8233EDD .string "Hehehe…\p" .string "Got here already, did you?\n" .string "We underestimated you!\p" @@ -95,16 +96,16 @@ AquaHideout_B2F_Text_233EDD: @ 8233EDD .string "I'm not stalling for time.\n" .string "I'm going to pulverize you!$" -AquaHideout_B2F_Text_233F8D: @ 8233F8D +AquaHideout_B2F_Text_MattDefeat: @ 8233F8D .string "Hehehe…\n" .string "So, I lost, too…$" -AquaHideout_B2F_Text_233FA6: @ 8233FA6 +AquaHideout_B2F_Text_OurBossGotThroughHisPreparations: @ 8233FA6 .string "Hehehe!\p" .string "While I was toying with you, our BOSS\n" .string "got through his preparations!$" -AquaHideout_B2F_Text_233FF2: @ 8233FF2 +AquaHideout_B2F_Text_MattPostBattle: @ 8233FF2 .string "Hehehe!\p" .string "Our BOSS has already gone on his way to\n" .string "some cave under the sea!\p" @@ -114,19 +115,19 @@ AquaHideout_B2F_Text_233FF2: @ 8233FF2 .string "But will you find it then?\n" .string "Hehehe!$" -AquaHideout_B2F_Text_2340B4: @ 82340B4 +AquaHideout_B2F_Text_Grunt4Intro: @ 82340B4 .string "Wahahah, I grew weary of waiting!\n" .string "You owe me a battle, too!$" -AquaHideout_B2F_Text_2340F0: @ 82340F0 +AquaHideout_B2F_Text_Grunt4Defeat: @ 82340F0 .string "Tired of waiting…\n" .string "Lost and dazed…$" -AquaHideout_B2F_Text_234112: @ 8234112 +AquaHideout_B2F_Text_Grunt4PostBattle: @ 8234112 .string "BOSS…\n" .string "Is this good enough?$" -AquaHideout_B2F_Text_23412D: @ 823412D +AquaHideout_B2F_Text_Grunt6Intro: @ 823412D .string "Warp panels, the HIDEOUT's pride\n" .string "and joy!\p" .string "You're clueless about where you are,\n" @@ -134,25 +135,25 @@ AquaHideout_B2F_Text_23412D: @ 823412D .string "Fluster and tire out the enemy, then\n" .string "lower the boom! That's our plan!$" -AquaHideout_B2F_Text_2341CE: @ 82341CE +AquaHideout_B2F_Text_Grunt6Defeat: @ 82341CE .string "What's wrong with you?\n" .string "You're not tired at all!$" -AquaHideout_B2F_Text_2341FE: @ 82341FE +AquaHideout_B2F_Text_Grunt6PostBattle: @ 82341FE .string "That reminds me… I can't remember\n" .string "where I put the MASTER BALL.\p" .string "If I fail to guard it, our BOSS will\n" .string "chew me out…$" -AquaHideout_B2F_Text_23426F: @ 823426F +AquaHideout_B2F_Text_Grunt8Intro: @ 823426F .string "When I joined TEAM AQUA, the first\n" .string "thing I had to learn was how these\l" .string "warp panels connected.$" -AquaHideout_B2F_Text_2342CC: @ 82342CC +AquaHideout_B2F_Text_Grunt8Defeat: @ 82342CC .string "I was too occupied thinking about\n" .string "the warp panels…$" -AquaHideout_B2F_Text_2342FF: @ 82342FF +AquaHideout_B2F_Text_Grunt8PostBattle: @ 82342FF .string "I'll have to learn about how I can\n" .string "battle more effectively…$" diff --git a/data/maps/SingleBattleColosseum/map.json b/data/maps/BattleColosseum_2P/map.json similarity index 80% rename from data/maps/SingleBattleColosseum/map.json rename to data/maps/BattleColosseum_2P/map.json index a7ad50f1b6..282be1e5cf 100644 --- a/data/maps/SingleBattleColosseum/map.json +++ b/data/maps/BattleColosseum_2P/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_SINGLE_BATTLE_COLOSSEUM", - "name": "SingleBattleColosseum", - "layout": "LAYOUT_SINGLE_BATTLE_COLOSSEUM", + "id": "MAP_BATTLE_COLOSSEUM_2P", + "name": "BattleColosseum_2P", + "layout": "LAYOUT_BATTLE_COLOSSEUM_2P", "music": "MUS_RAINBOW", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SingleBattleColosseum_EventScript_2774A6", + "script": "BattleColosseum_2P_EventScript_Attendant", "flag": "0" } ], @@ -52,7 +52,7 @@ "elevation": 3, "var": "VAR_TEMP_0", "var_value": "0", - "script": "EventScript_SingleBattleColosseum_PlayerSpot0" + "script": "EventScript_BattleColosseum_2P_PlayerSpot0" }, { "type": "trigger", @@ -61,7 +61,7 @@ "elevation": 3, "var": "VAR_TEMP_0", "var_value": "0", - "script": "EventScript_SingleBattleColosseum_PlayerSpot1" + "script": "EventScript_BattleColosseum_2P_PlayerSpot1" } ], "bg_events": [] diff --git a/data/maps/BattleColosseum_2P/scripts.inc b/data/maps/BattleColosseum_2P/scripts.inc new file mode 100644 index 0000000000..97c6a5d0bd --- /dev/null +++ b/data/maps/BattleColosseum_2P/scripts.inc @@ -0,0 +1,3 @@ +BattleColosseum_2P_MapScripts:: @ 823B77D + .byte 0 + diff --git a/data/maps/DoubleBattleColosseum/map.json b/data/maps/BattleColosseum_4P/map.json similarity index 79% rename from data/maps/DoubleBattleColosseum/map.json rename to data/maps/BattleColosseum_4P/map.json index 172bb3fdc8..2b849cfc19 100644 --- a/data/maps/DoubleBattleColosseum/map.json +++ b/data/maps/BattleColosseum_4P/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_DOUBLE_BATTLE_COLOSSEUM", - "name": "DoubleBattleColosseum", - "layout": "LAYOUT_DOUBLE_BATTLE_COLOSSEUM", + "id": "MAP_BATTLE_COLOSSEUM_4P", + "name": "BattleColosseum_4P", + "layout": "LAYOUT_BATTLE_COLOSSEUM_4P", "music": "MUS_RAINBOW", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, @@ -52,7 +52,7 @@ "elevation": 3, "var": "VAR_TEMP_0", "var_value": "0", - "script": "EventScript_DoubleBattleColosseum_PlayerSpot0" + "script": "EventScript_BattleColosseum_4P_PlayerSpot0" }, { "type": "trigger", @@ -61,7 +61,7 @@ "elevation": 3, "var": "VAR_TEMP_0", "var_value": "0", - "script": "EventScript_DoubleBattleColosseum_PlayerSpot2" + "script": "EventScript_BattleColosseum_4P_PlayerSpot2" }, { "type": "trigger", @@ -70,7 +70,7 @@ "elevation": 3, "var": "VAR_TEMP_0", "var_value": "0", - "script": "EventScript_DoubleBattleColosseum_PlayerSpot1" + "script": "EventScript_BattleColosseum_4P_PlayerSpot1" }, { "type": "trigger", @@ -79,7 +79,7 @@ "elevation": 3, "var": "VAR_TEMP_0", "var_value": "0", - "script": "EventScript_DoubleBattleColosseum_PlayerSpot3" + "script": "EventScript_BattleColosseum_4P_PlayerSpot3" } ], "bg_events": [] diff --git a/data/maps/BattleColosseum_4P/scripts.inc b/data/maps/BattleColosseum_4P/scripts.inc new file mode 100644 index 0000000000..70dca8e276 --- /dev/null +++ b/data/maps/BattleColosseum_4P/scripts.inc @@ -0,0 +1,3 @@ +BattleColosseum_4P_MapScripts:: @ 823B780 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc index f3a0ecfb46..7f4439682e 100644 --- a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc @@ -1,498 +1,443 @@ BattleFrontier_BattleArenaBattleRoom_MapScripts:: @ 8257487 - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleArenaBattleRoom_MapScript1_2574A0 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaBattleRoom_MapScript2_2574D2 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleArenaBattleRoom_MapScript2_257C0C - map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleArenaBattleRoom_MapScript1_25749C + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleArenaBattleRoom_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaBattleRoom_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleArenaBattleRoom_OnWarp + map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleArenaBattleRoom_OnResume .byte 0 -BattleFrontier_BattleArenaBattleRoom_MapScript1_25749C: @ 825749C - special sub_8139980 + @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden + @ The player is represented instead by object event 8, which has the gfx id VAR_OBJ_GFX_ID_1 + +BattleFrontier_BattleArenaBattleRoom_OnResume: @ 825749C + special OffsetCameraForBattle end -BattleFrontier_BattleArenaBattleRoom_MapScript1_2574A0: @ 82574A0 - setvar VAR_0x8004, 5 - special CallFrontierUtilFunc - call BattleFrontier_BattleArenaBattleRoom_EventScript_2574AE +BattleFrontier_BattleArenaBattleRoom_OnTransition: @ 82574A0 + frontier_settrainers + call BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfx end -BattleFrontier_BattleArenaBattleRoom_EventScript_2574AE:: @ 82574AE +BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfx:: @ 82574AE checkplayergender compare VAR_RESULT, MALE - goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574C6 + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfxMale compare VAR_RESULT, FEMALE - goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574CC + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfxFemale return -BattleFrontier_BattleArenaBattleRoom_EventScript_2574C6:: @ 82574C6 +BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfxMale:: @ 82574C6 setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL return -BattleFrontier_BattleArenaBattleRoom_EventScript_2574CC:: @ 82574CC +BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfxFemale:: @ 82574CC setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL return -BattleFrontier_BattleArenaBattleRoom_MapScript2_2574D2: @ 82574D2 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC +BattleFrontier_BattleArenaBattleRoom_OnFrame: @ 82574D2 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_EnterRoom .2byte 0 -BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC:: @ 82574DC +BattleFrontier_BattleArenaBattleRoom_EventScript_EnterRoom:: @ 82574DC lockall showobjectat 8, MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM - applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE2 + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerEnter waitmovement 0 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc + frontier_get FRONTIER_DATA_BATTLE_NUM compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25752E - applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257C08 - applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BEB + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_AnnounceTrainers + applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceDown + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceLeft setvar VAR_TEMP_2, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 6 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - goto BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 + frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE + goto BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleArenaBattleRoom_EventScript_25752E:: @ 825752E - setvar VAR_0x8004, 3 - special sub_8161F74 +BattleFrontier_BattleArenaBattleRoom_EventScript_AnnounceTrainers:: @ 825752E + tower_setopponent addobject 7 - applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BEF + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentEnter waitmovement 0 - applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 + applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown playse SE_W187 waitse waitmovement 0 - msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C3D, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleArenaBattleRoom_Text_PlayerStepForward, MSGBOX_DEFAULT closemessage - applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE5 + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForward waitmovement 0 - applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 + applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown playse SE_W187 waitse waitmovement 0 - setvar VAR_0x8004, 6 - special CallBattleArenaFunction - msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C68, MSGBOX_DEFAULT + arena_gettrainername + msgbox BattleFrontier_BattleArenaBattleRoom_Text_OpponentStepForward, MSGBOX_DEFAULT closemessage - applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2 + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward waitmovement 0 - applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 + applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown playse SE_W187 waitse waitmovement 0 - msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C93, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleArenaBattleRoom_Text_SetKOTourneyBegin, MSGBOX_DEFAULT closemessage - applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE5 - applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2 + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForward + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward waitmovement 0 - setvar VAR_0x8004, 5 - special CallBattlePalaceFunction + palace_getopponentintro msgbox gStringVar4, MSGBOX_DEFAULT waitmessage - call BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C + call BattleFrontier_BattleArenaBattleRoom_EventScript_DoArenaBattle switch VAR_RESULT - case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257630 - -BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB:: @ 82575DB - applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 - applymovement 1, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 - applymovement 2, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 - applymovement 3, BattleFrontier_BattleArenaBattleRoom_Movement_257C05 - applymovement 4, BattleFrontier_BattleArenaBattleRoom_Movement_257C05 + case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedOpponent +BattleFrontier_BattleArenaBattleRoom_EventScript_DeclareOpponentWinner:: @ 82575DB + applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement 1, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement 2, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement 3, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp + applymovement 4, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp playse SE_W173 waitse waitmovement 0 - setvar VAR_0x8004, 6 - special CallBattleArenaFunction - msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CCE, MSGBOX_DEFAULT - -BattleFrontier_BattleArenaBattleRoom_EventScript_257615:: @ 8257615 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 4 - special CallFrontierUtilFunc + arena_gettrainername + msgbox BattleFrontier_BattleArenaBattleRoom_Text_WinnerIsOpponent, MSGBOX_DEFAULT +BattleFrontier_BattleArenaBattleRoom_EventScript_WarpToLobbyLost:: @ 8257615 + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY, 255, 7, 8 waitstate -BattleFrontier_BattleArenaBattleRoom_EventScript_257630:: @ 8257630 - call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc +BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedOpponent:: @ 8257630 + call BattleFrontier_BattleArenaBattleRoom_EventScript_DeclarePlayerWinner + frontier_get FRONTIER_DATA_BATTLE_NUM addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT switch VAR_RESULT - case 7, BattleFrontier_BattleArenaBattleRoom_EventScript_257852 - applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE7 - applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BFA + case 7, BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerWalkBackToLine + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentExit waitmovement 0 removeobject 7 - applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257C08 - applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BEB + applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceDown + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceLeft waitmovement 0 - msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CE9, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleArenaBattleRoom_Text_MonsWillBeRestored, MSGBOX_DEFAULT special LoadPlayerParty special SavePlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc + frontier_setpartyorder FRONTIER_PARTY_SIZE playfanfare MUS_ME_ASA waitfanfare special HealPlayerParty - -BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0:: @ 82576B0 - setvar VAR_0x8004, 9 - special CallFrontierUtilFunc +BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent:: @ 82576B0 + frontier_getbrainstatus copyvar VAR_TEMP_F, VAR_RESULT - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc + compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY + goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_TycoonUpNext + frontier_get FRONTIER_DATA_BATTLE_NUM compare VAR_RESULT, 1 - call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257870 + call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor2ndOpponent compare VAR_RESULT, 2 - call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257877 + call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor3rdOpponent compare VAR_RESULT, 3 - call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25787E + call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor4thOpponent compare VAR_RESULT, 4 - call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257885 + call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor5thOpponent compare VAR_RESULT, 5 - call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25788C + call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor6thOpponent compare VAR_RESULT, 6 - call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257893 - call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257768 - multichoice 19, 4, 103, 1 + call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor7thOpponent + call BattleFrontier_EventScript_GetCantRecordBattle + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponentNoRecord + multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 1 switch VAR_RESULT - case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_25783A - case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25779E - case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA - case 3, BattleFrontier_BattleArenaBattleRoom_EventScript_257808 - case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 + case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_ContinueChallenge + case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_AskRecordBattle + case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_AskPauseChallenge + case 3, BattleFrontier_BattleArenaBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleArenaBattleRoom_EventScript_257768:: @ 8257768 - multichoice 20, 6, 104, 1 +BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponentNoRecord:: @ 8257768 + multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1 switch VAR_RESULT - case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_25783A - case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA - case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_257808 - case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 + case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_ContinueChallenge + case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_AskPauseChallenge + case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleArenaBattleRoom_EventScript_25779E:: @ 825779E - message BattleFrontier_BattleArenaBattleRoom_Text_257F04 +BattleFrontier_BattleArenaBattleRoom_EventScript_AskRecordBattle:: @ 825779E + message BattleFrontier_BattleArenaBattleRoom_Text_RecordLastBattle waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 - case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_2577D0 - case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 + case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent + case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_RecordBattle + case MULTI_B_PRESSED, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleArenaBattleRoom_EventScript_2577D0:: @ 82577D0 - call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8B4 - goto BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 +BattleFrontier_BattleArenaBattleRoom_EventScript_RecordBattle:: @ 82577D0 + call BattleFrontier_EventScript_SaveBattle + goto BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA:: @ 82577DA - msgbox BattleFrontier_BattleArenaBattleRoom_Text_257E6B, MSGBOX_YESNO +BattleFrontier_BattleArenaBattleRoom_EventScript_AskPauseChallenge:: @ 82577DA + msgbox BattleFrontier_BattleArenaBattleRoom_Text_SaveAndShutDown, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 - case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25789A - case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 + case NO, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent + case YES, BattleFrontier_BattleArenaBattleRoom_EventScript_PauseChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleArenaBattleRoom_EventScript_257808:: @ 8257808 - message BattleFrontier_BattleArenaBattleRoom_Text_257E9E +BattleFrontier_BattleArenaBattleRoom_EventScript_AskRetireChallenge:: @ 8257808 + message BattleFrontier_BattleArenaBattleRoom_Text_RetireFromChallenge waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 - case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257615 - case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 + case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent + case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_WarpToLobbyLost + case MULTI_B_PRESSED, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleArenaBattleRoom_EventScript_25783A:: @ 825783A +BattleFrontier_BattleArenaBattleRoom_EventScript_ContinueChallenge:: @ 825783A closemessage - applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BED - applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257BED + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight + applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight waitmovement 0 - goto BattleFrontier_BattleArenaBattleRoom_EventScript_25752E + goto BattleFrontier_BattleArenaBattleRoom_EventScript_AnnounceTrainers waitstate - -BattleFrontier_BattleArenaBattleRoom_EventScript_257852:: @ 8257852 +BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon:: @ 8257852 delay 60 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 3 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY, 255, 7, 8 waitstate -BattleFrontier_BattleArenaBattleRoom_EventScript_257870:: @ 8257870 - message BattleFrontier_BattleArenaBattleRoom_Text_257D17 +BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor2ndOpponent:: @ 8257870 + message BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor2ndOpponent waitmessage return -BattleFrontier_BattleArenaBattleRoom_EventScript_257877:: @ 8257877 - message BattleFrontier_BattleArenaBattleRoom_Text_257D50 +BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor3rdOpponent:: @ 8257877 + message BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor3rdOpponent waitmessage return -BattleFrontier_BattleArenaBattleRoom_EventScript_25787E:: @ 825787E - message BattleFrontier_BattleArenaBattleRoom_Text_257D88 +BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor4thOpponent:: @ 825787E + message BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor4thOpponent waitmessage return -BattleFrontier_BattleArenaBattleRoom_EventScript_257885:: @ 8257885 - message BattleFrontier_BattleArenaBattleRoom_Text_257DC1 +BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor5thOpponent:: @ 8257885 + message BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor5thOpponent waitmessage return -BattleFrontier_BattleArenaBattleRoom_EventScript_25788C:: @ 825788C - message BattleFrontier_BattleArenaBattleRoom_Text_257DF9 +BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor6thOpponent:: @ 825788C + message BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor6thOpponent waitmessage return -BattleFrontier_BattleArenaBattleRoom_EventScript_257893:: @ 8257893 - message BattleFrontier_BattleArenaBattleRoom_Text_257E31 +BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor7thOpponent:: @ 8257893 + message BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor7thOpponent waitmessage return -BattleFrontier_BattleArenaBattleRoom_EventScript_25789A:: @ 825789A - message BattleFrontier_BattleArenaBattleRoom_Text_257EDB +BattleFrontier_BattleArenaBattleRoom_EventScript_PauseChallenge:: @ 825789A + message BattleFrontier_BattleArenaBattleRoom_Text_SavingPleaseWait waitmessage - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 2 - special CallBattleArenaFunction + arena_save CHALLENGE_STATUS_PAUSED playse SE_SAVE waitse - fadescreen 1 - setvar VAR_0x8004, 4 - special CallFrontierUtilFunc + fadescreen FADE_TO_BLACK + frontier_reset end -BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC:: @ 82578BC +BattleFrontier_BattleArenaBattleRoom_EventScript_TycoonUpNext:: @ 82578BC compare VAR_TEMP_2, 1 - goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4 - msgbox BattleFrontier_BattleArenaBattleRoom_Text_257F45, MSGBOX_DEFAULT + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoon + msgbox BattleFrontier_BattleArenaBattleRoom_Text_NowFaceTycoon, MSGBOX_DEFAULT setvar VAR_TEMP_2, 1 - -BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4:: @ 82578D4 - message BattleFrontier_BattleArenaBattleRoom_Text_257FBB +BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoon:: @ 82578D4 + message BattleFrontier_BattleArenaBattleRoom_Text_PreparedForTycoon waitmessage - call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25792B - multichoice 19, 4, 103, 1 + call BattleFrontier_EventScript_GetCantRecordBattle + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoonNoRecord + multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 1 switch VAR_RESULT - case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257961 - case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25779E - case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA - case 3, BattleFrontier_BattleArenaBattleRoom_EventScript_257808 - case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4 + case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGreta + case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_AskRecordBattle + case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_AskPauseChallenge + case 3, BattleFrontier_BattleArenaBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoon -BattleFrontier_BattleArenaBattleRoom_EventScript_25792B:: @ 825792B - multichoice 20, 6, 104, 1 +BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoonNoRecord:: @ 825792B + multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1 switch VAR_RESULT - case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257961 - case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA - case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_257808 - case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4 + case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGreta + case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_AskPauseChallenge + case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoon -BattleFrontier_BattleArenaBattleRoom_EventScript_257961:: @ 8257961 - call BattleFrontier_BattleArenaBattleRoom_EventScript_242170 - applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BED - applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257BED +BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGreta:: @ 8257961 + call BattleFrontier_EventScript_SetBrainObjectGfx + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight + applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight waitmovement 0 - applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 + applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown playse SE_W187 waitse waitmovement 0 - msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C3D, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleArenaBattleRoom_Text_PlayerStepForward, MSGBOX_DEFAULT closemessage - applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE4 + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForwardLong waitmovement 0 - applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 + applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown playse SE_W187 waitse waitmovement 0 - msgbox BattleFrontier_BattleArenaBattleRoom_Text_257FED, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleArenaBattleRoom_Text_MakeWayForGreta, MSGBOX_DEFAULT closemessage addobject 7 - applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF4 + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_GretaEnter waitmovement 0 - applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2 + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward waitmovement 0 switch VAR_TEMP_F - case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_257AA5 - case 3, BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F - case 4, BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F - msgbox BattleFrontier_BattleArenaBattleRoom_Text_25801C, MSGBOX_DEFAULT + case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleArenaBattleRoom_EventScript_IntroGretaGold + case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaSilver + case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaGold + frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH + compare VAR_RESULT, FALSE + goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaSilver + msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaYoureChallenger, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C30 + frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_GretaLookAroundPlayer waitmovement 0 - msgbox BattleFrontier_BattleArenaBattleRoom_Text_25804E, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleArenaBattleRoom_Text_IsThatRight, MSGBOX_DEFAULT closemessage - applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C3A + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_GretaWalkBackToCenter waitmovement 0 - msgbox BattleFrontier_BattleArenaBattleRoom_Text_258068, MSGBOX_DEFAULT - -BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F:: @ 8257A3F - msgbox BattleFrontier_BattleArenaBattleRoom_Text_25810D, MSGBOX_DEFAULT - call BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E + msgbox BattleFrontier_BattleArenaBattleRoom_Text_YouLookWeakTakeThingsEasy, MSGBOX_DEFAULT +BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaSilver:: @ 8257A3F + msgbox BattleFrontier_BattleArenaBattleRoom_Text_IgniteMyPassionForBattle, MSGBOX_DEFAULT + call BattleFrontier_BattleArenaBattleRoom_EventScript_StartArenaBattle compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C - goto BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaSilver + goto BattleFrontier_BattleArenaBattleRoom_EventScript_DeclareOpponentWinner -BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C:: @ 8257A5C - call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9 - setvar VAR_0x8004, 12 - special CallFrontierUtilFunc +BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaSilver:: @ 8257A5C + call BattleFrontier_BattleArenaBattleRoom_EventScript_DeclarePlayerWinner + frontier_getsymbols compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_257852 - applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF1 + goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForwardLong waitmovement 0 - msgbox BattleFrontier_BattleArenaBattleRoom_Text_25813F, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaYoureToughAfterAll, MSGBOX_DEFAULT playfanfare MUS_ME_SYMBOLGET - message BattleFrontier_BattleArenaBattleRoom_Text_25819C + message BattleFrontier_BattleArenaBattleRoom_Text_ReceivedGutsSymbol waitmessage waitfanfare - setvar VAR_0x8004, 13 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleArenaBattleRoom_Text_2581CF, MSGBOX_DEFAULT - goto BattleFrontier_BattleArenaBattleRoom_EventScript_257852 + frontier_givesymbol + msgbox BattleFrontier_BattleArenaBattleRoom_Text_GoingToBeFunNextTime, MSGBOX_DEFAULT + goto BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon -BattleFrontier_BattleArenaBattleRoom_EventScript_257AA5:: @ 8257AA5 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8 - msgbox BattleFrontier_BattleArenaBattleRoom_Text_258213, MSGBOX_DEFAULT +BattleFrontier_BattleArenaBattleRoom_EventScript_IntroGretaGold:: @ 8257AA5 + frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH + compare VAR_RESULT, FALSE + goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaGold + msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaLookingForwardToSeeingAgain, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C30 + frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_GretaLookAroundPlayer waitmovement 0 - msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582A2, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleArenaBattleRoom_Text_SoAreYouReady, MSGBOX_DEFAULT closemessage - applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C3A + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_GretaWalkBackToCenter waitmovement 0 - msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582BB, MSGBOX_DEFAULT - -BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8:: @ 8257AF8 - msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582F9, MSGBOX_DEFAULT - call BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E + msgbox BattleFrontier_BattleArenaBattleRoom_Text_WontAllowHalfheartedEffort, MSGBOX_DEFAULT +BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaGold:: @ 8257AF8 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_LetsGetThisStarted, MSGBOX_DEFAULT + call BattleFrontier_BattleArenaBattleRoom_EventScript_StartArenaBattle compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257B15 - goto BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaGold + goto BattleFrontier_BattleArenaBattleRoom_EventScript_DeclareOpponentWinner -BattleFrontier_BattleArenaBattleRoom_EventScript_257B15:: @ 8257B15 - call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9 - setvar VAR_0x8004, 12 - special CallFrontierUtilFunc +BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaGold:: @ 8257B15 + call BattleFrontier_BattleArenaBattleRoom_EventScript_DeclarePlayerWinner + frontier_getsymbols compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257852 - applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF1 + goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForwardLong waitmovement 0 - msgbox BattleFrontier_BattleArenaBattleRoom_Text_258323, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaBlownAway, MSGBOX_DEFAULT playfanfare MUS_ME_SYMBOLGET - message BattleFrontier_BattleArenaBattleRoom_Text_25835B + message BattleFrontier_BattleArenaBattleRoom_Text_GutsSymbolTookGoldenShine waitmessage waitfanfare - setvar VAR_0x8004, 13 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleArenaBattleRoom_Text_258383, MSGBOX_DEFAULT - goto BattleFrontier_BattleArenaBattleRoom_EventScript_257852 + frontier_givesymbol + msgbox BattleFrontier_BattleArenaBattleRoom_Text_IfWeBattleAgainWontLose, MSGBOX_DEFAULT + goto BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon -BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E:: @ 8257B5E - msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C93, MSGBOX_DEFAULT - call BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C +BattleFrontier_BattleArenaBattleRoom_EventScript_StartArenaBattle:: @ 8257B5E + msgbox BattleFrontier_BattleArenaBattleRoom_Text_SetKOTourneyBegin, MSGBOX_DEFAULT + call BattleFrontier_BattleArenaBattleRoom_EventScript_DoArenaBattle return -BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C:: @ 8257B6C -FallarborTown_BattleTentBattleRoom_EventScript_257B6C:: @ 8257B6C +BattleFrontier_BattleArenaBattleRoom_EventScript_DoArenaBattle:: @ 8257B6C closemessage setvar VAR_TEMP_2, 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 6 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_RECORD_DISABLED, FALSE special HealPlayerParty setvar VAR_0x8004, SPECIAL_BATTLE_ARENA setvar VAR_0x8005, 0 special DoSpecialTrainerBattle waitstate - setvar VAR_0x8004, 18 - special CallFrontierUtilFunc + frontier_restorehelditems special HealPlayerParty - setvar VAR_0x8004, 21 - special CallFrontierUtilFunc + frontier_resetsketch return -BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9:: @ 8257BA9 - applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 - applymovement 1, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 - applymovement 2, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 - applymovement 3, BattleFrontier_BattleArenaBattleRoom_Movement_257C05 - applymovement 4, BattleFrontier_BattleArenaBattleRoom_Movement_257C05 +BattleFrontier_BattleArenaBattleRoom_EventScript_DeclarePlayerWinner:: @ 8257BA9 + applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement 1, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement 2, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement 3, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp + applymovement 4, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp playse SE_BAN waitse waitmovement 0 - msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CB3, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleArenaBattleRoom_Text_WinnerIsPlayer, MSGBOX_DEFAULT closemessage - call BattleFrontier_BattleArenaBattleRoom_EventScript_241EBA + call BattleFrontier_EventScript_IncrementWinStreak return -BattleFrontier_BattleArenaBattleRoom_Movement_257BE2: @ 8257BE2 +BattleFrontier_BattleArenaBattleRoom_Movement_PlayerEnter: @ 8257BE2 walk_right walk_right - -BattleFrontier_BattleArenaBattleRoom_Movement_257BE4: @ 8257BE4 +BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForwardLong: @ 8257BE4 walk_right - -BattleFrontier_BattleArenaBattleRoom_Movement_257BE5: @ 8257BE5 +BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForward: @ 8257BE5 walk_right step_end -BattleFrontier_BattleArenaBattleRoom_Movement_257BE7: @ 8257BE7 +BattleFrontier_BattleArenaBattleRoom_Movement_PlayerWalkBackToLine: @ 8257BE7 walk_left walk_left walk_in_place_fastest_right step_end -BattleFrontier_BattleArenaBattleRoom_Movement_257BEB: @ 8257BEB +BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceLeft: @ 8257BEB walk_in_place_fastest_up step_end -BattleFrontier_BattleArenaBattleRoom_Movement_257BED: @ 8257BED +BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight: @ 8257BED walk_in_place_fastest_right step_end -BattleFrontier_BattleArenaBattleRoom_Movement_257BEF: @ 8257BEF +BattleFrontier_BattleArenaBattleRoom_Movement_OpponentEnter: @ 8257BEF walk_left walk_left - -BattleFrontier_BattleArenaBattleRoom_Movement_257BF1: @ 8257BF1 +BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForwardLong: @ 8257BF1 walk_left - -BattleFrontier_BattleArenaBattleRoom_Movement_257BF2: @ 8257BF2 +BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward: @ 8257BF2 walk_left step_end -BattleFrontier_BattleArenaBattleRoom_Movement_257BF4: @ 8257BF4 +BattleFrontier_BattleArenaBattleRoom_Movement_GretaEnter: @ 8257BF4 walk_fast_left walk_fast_left walk_fast_left @@ -500,7 +445,7 @@ BattleFrontier_BattleArenaBattleRoom_Movement_257BF4: @ 8257BF4 walk_fast_left step_end -BattleFrontier_BattleArenaBattleRoom_Movement_257BFA: @ 8257BFA +BattleFrontier_BattleArenaBattleRoom_Movement_OpponentExit: @ 8257BFA walk_right walk_right walk_right @@ -510,37 +455,38 @@ BattleFrontier_BattleArenaBattleRoom_Movement_257BFA: @ 8257BFA walk_right step_end -BattleFrontier_BattleArenaBattleRoom_Movement_257C02: @ 8257C02 +BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown: @ 8257C02 disable_jump_landing_ground_effect jump_in_place_down step_end -BattleFrontier_BattleArenaBattleRoom_Movement_257C05: @ 8257C05 +BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp: @ 8257C05 disable_jump_landing_ground_effect jump_in_place_up step_end -BattleFrontier_BattleArenaBattleRoom_Movement_257C08: @ 8257C08 +BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceDown: @ 8257C08 walk_in_place_fastest_down step_end -BattleFrontier_BattleArenaBattleRoom_Movement_257C0A: @ 8257C0A +@ Unused, redundant +BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight2: @ 8257C0A walk_in_place_fastest_right step_end -BattleFrontier_BattleArenaBattleRoom_MapScript2_257C0C: @ 8257C0C - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257C16 +BattleFrontier_BattleArenaBattleRoom_OnWarp: @ 8257C0C + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_SetUpRoomObjects .2byte 0 -BattleFrontier_BattleArenaBattleRoom_EventScript_257C16:: @ 8257C16 +BattleFrontier_BattleArenaBattleRoom_EventScript_SetUpRoomObjects:: @ 8257C16 hideobjectat 8, MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM removeobject 7 - call BattleFrontier_BattleArenaBattleRoom_EventScript_24BCDC - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_24C773 + call BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfx + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisible setvar VAR_TEMP_1, 1 end -BattleFrontier_BattleArenaBattleRoom_Movement_257C30: @ 8257C30 +BattleFrontier_BattleArenaBattleRoom_Movement_GretaLookAroundPlayer: @ 8257C30 walk_down walk_in_place_fastest_left delay_16 @@ -552,106 +498,97 @@ BattleFrontier_BattleArenaBattleRoom_Movement_257C30: @ 8257C30 walk_in_place_fastest_left step_end -BattleFrontier_BattleArenaBattleRoom_Movement_257C3A: @ 8257C3A +BattleFrontier_BattleArenaBattleRoom_Movement_GretaWalkBackToCenter: @ 8257C3A walk_down walk_in_place_fastest_left step_end -BattleFrontier_BattleArenaBattleRoom_Text_257C3D: @ 8257C3D +BattleFrontier_BattleArenaBattleRoom_Text_PlayerStepForward: @ 8257C3D .string "REFEREE: TRAINER {PLAYER}!\n" .string "Step forward, please!$" -BattleFrontier_BattleArenaBattleRoom_Text_257C68: @ 8257C68 +BattleFrontier_BattleArenaBattleRoom_Text_OpponentStepForward: @ 8257C68 .string "REFEREE: TRAINER {STR_VAR_1}!\n" .string "Step forward, please!$" -BattleFrontier_BattleArenaBattleRoom_Text_257C93: @ 8257C93 -FallarborTown_BattleTentBattleRoom_Text_257C93: @ 8257C93 +BattleFrontier_BattleArenaBattleRoom_Text_SetKOTourneyBegin: @ 8257C93 .string "REFEREE: Set KO Tourney!\n" .string "Begin!$" -BattleFrontier_BattleArenaBattleRoom_Text_257CB3: @ 8257CB3 -FallarborTown_BattleTentBattleRoom_Text_257CB3: @ 8257CB3 +BattleFrontier_BattleArenaBattleRoom_Text_WinnerIsPlayer: @ 8257CB3 .string "REFEREE: The winner is {PLAYER}!$" -BattleFrontier_BattleArenaBattleRoom_Text_257CCE: @ 8257CCE -FallarborTown_BattleTentBattleRoom_Text_257CCE: @ 8257CCE +BattleFrontier_BattleArenaBattleRoom_Text_WinnerIsOpponent: @ 8257CCE .string "REFEREE: The winner is {STR_VAR_1}!$" -BattleFrontier_BattleArenaBattleRoom_Text_257CE9: @ 8257CE9 -FallarborTown_BattleTentBattleRoom_Text_257CE9: @ 8257CE9 +BattleFrontier_BattleArenaBattleRoom_Text_MonsWillBeRestored: @ 8257CE9 .string "Your POKéMON will be restored to\n" .string "full health.$" -BattleFrontier_BattleArenaBattleRoom_Text_257D17: @ 8257D17 -FallarborTown_BattleTentBattleRoom_Text_257D17: @ 8257D17 +BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor2ndOpponent: @ 8257D17 .string "Next up, your second opponent!\n" .string "Are you ready to move on?$" -BattleFrontier_BattleArenaBattleRoom_Text_257D50: @ 8257D50 -FallarborTown_BattleTentBattleRoom_Text_257D50: @ 8257D50 +BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor3rdOpponent: @ 8257D50 .string "Next up, your third opponent!\n" .string "Are you ready to move on?$" -BattleFrontier_BattleArenaBattleRoom_Text_257D88: @ 8257D88 +BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor4thOpponent: @ 8257D88 .string "Next up, your fourth opponent!\n" .string "Are you ready to move on?$" -BattleFrontier_BattleArenaBattleRoom_Text_257DC1: @ 8257DC1 +BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor5thOpponent: @ 8257DC1 .string "Next up, your fifth opponent!\n" .string "Are you ready to move on?$" -BattleFrontier_BattleArenaBattleRoom_Text_257DF9: @ 8257DF9 +BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor6thOpponent: @ 8257DF9 .string "Next up, your sixth opponent!\n" .string "Are you ready to move on?$" -BattleFrontier_BattleArenaBattleRoom_Text_257E31: @ 8257E31 +BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor7thOpponent: @ 8257E31 .string "Next up, your seventh opponent!\n" .string "Are you ready to move on?$" -BattleFrontier_BattleArenaBattleRoom_Text_257E6B: @ 8257E6B -FallarborTown_BattleTentBattleRoom_Text_257E6B: @ 8257E6B +BattleFrontier_BattleArenaBattleRoom_Text_SaveAndShutDown: @ 8257E6B .string "Would you like to save the game and\n" .string "shut down now?$" -BattleFrontier_BattleArenaBattleRoom_Text_257E9E: @ 8257E9E -FallarborTown_BattleTentBattleRoom_Text_257E9E: @ 8257E9E +BattleFrontier_BattleArenaBattleRoom_Text_RetireFromChallenge: @ 8257E9E .string "Would you like to retire from your\n" .string "Set KO Tourney challenge?$" -BattleFrontier_BattleArenaBattleRoom_Text_257EDB: @ 8257EDB -FallarborTown_BattleTentBattleRoom_Text_257EDB: @ 8257EDB +BattleFrontier_BattleArenaBattleRoom_Text_SavingPleaseWait: @ 8257EDB .string "I am saving your game data.\n" .string "Please wait.$" -BattleFrontier_BattleArenaBattleRoom_Text_257F04: @ 8257F04 +BattleFrontier_BattleArenaBattleRoom_Text_RecordLastBattle: @ 8257F04 .string "Would you like to record your last\n" .string "battle on your FRONTIER PASS?$" -BattleFrontier_BattleArenaBattleRoom_Text_257F45: @ 8257F45 +BattleFrontier_BattleArenaBattleRoom_Text_NowFaceTycoon: @ 8257F45 .string "My dear challenger!\p" .string "Your skill level is truly astounding!\p" .string "We now would like you to face our\n" .string "leader, the ARENA TYCOON!$" -BattleFrontier_BattleArenaBattleRoom_Text_257FBB: @ 8257FBB +BattleFrontier_BattleArenaBattleRoom_Text_PreparedForTycoon: @ 8257FBB .string "A battle with the ARENA TYCOON!\n" .string "Are you prepared?$" -BattleFrontier_BattleArenaBattleRoom_Text_257FED: @ 8257FED +BattleFrontier_BattleArenaBattleRoom_Text_MakeWayForGreta: @ 8257FED .string "REFEREE: The ARENA TYCOON!\n" .string "Make way for GRETA!$" -BattleFrontier_BattleArenaBattleRoom_Text_25801C: @ 825801C +BattleFrontier_BattleArenaBattleRoom_Text_GretaYoureChallenger: @ 825801C .string "GRETA: Hey!\n" .string "Howdy!\p" .string "…Wait, are you the challenger?$" -BattleFrontier_BattleArenaBattleRoom_Text_25804E: @ 825804E +BattleFrontier_BattleArenaBattleRoom_Text_IsThatRight: @ 825804E .string "Is that right? Hmm…\n" .string "Hmhm…$" -BattleFrontier_BattleArenaBattleRoom_Text_258068: @ 8258068 +BattleFrontier_BattleArenaBattleRoom_Text_YouLookWeakTakeThingsEasy: @ 8258068 .string "I don't know how to say it, but…\n" .string "To put it bluntly, you look pretty weak.\l" .string "Are you sure you're up for me?\p" @@ -659,53 +596,53 @@ BattleFrontier_BattleArenaBattleRoom_Text_258068: @ 8258068 .string "Well, all right!\n" .string "We'll take things easy to start with!$" -BattleFrontier_BattleArenaBattleRoom_Text_25810D: @ 825810D +BattleFrontier_BattleArenaBattleRoom_Text_IgniteMyPassionForBattle: @ 825810D .string "Okay! Let's see you ignite my passion\n" .string "for battle!$" -BattleFrontier_BattleArenaBattleRoom_Text_25813F: @ 825813F +BattleFrontier_BattleArenaBattleRoom_Text_GretaYoureToughAfterAll: @ 825813F .string "GRETA: Ow, wait a second!\n" .string "You are tough after all!\p" .string "I like you!\n" .string "Let's see your FRONTIER PASS.$" -BattleFrontier_BattleArenaBattleRoom_Text_25819C: @ 825819C +BattleFrontier_BattleArenaBattleRoom_Text_ReceivedGutsSymbol: @ 825819C .string "The Guts Symbol was embossed on\n" .string "the FRONTIER PASS!$" -BattleFrontier_BattleArenaBattleRoom_Text_2581CF: @ 82581CF +BattleFrontier_BattleArenaBattleRoom_Text_GoingToBeFunNextTime: @ 82581CF .string "Hmm…\p" .string "It's going to be fun the next time!\n" .string "I'm looking forward to it!$" -BattleFrontier_BattleArenaBattleRoom_Text_258213: @ 8258213 +BattleFrontier_BattleArenaBattleRoom_Text_GretaLookingForwardToSeeingAgain: @ 8258213 .string "GRETA: Hey! Howdy!\n" .string "You finally won your way up to me!\p" .string "I was getting worried waiting for you!\n" .string "I was really looking forward to seeing\l" .string "you again!$" -BattleFrontier_BattleArenaBattleRoom_Text_2582A2: @ 82582A2 +BattleFrontier_BattleArenaBattleRoom_Text_SoAreYouReady: @ 82582A2 .string "… … …\n" .string "So, are you ready?$" -BattleFrontier_BattleArenaBattleRoom_Text_2582BB: @ 82582BB +BattleFrontier_BattleArenaBattleRoom_Text_WontAllowHalfheartedEffort: @ 82582BB .string "I won't allow a halfhearted effort!\n" .string "Be ready for a thrashing!$" -BattleFrontier_BattleArenaBattleRoom_Text_2582F9: @ 82582F9 +BattleFrontier_BattleArenaBattleRoom_Text_LetsGetThisStarted: @ 82582F9 .string "Come on, REFEREE!\n" .string "Let's get this started!$" -BattleFrontier_BattleArenaBattleRoom_Text_258323: @ 8258323 +BattleFrontier_BattleArenaBattleRoom_Text_GretaBlownAway: @ 8258323 .string "GRETA: Gaaah! Blown away!\n" .string "Let's see your FRONTIER PASS!$" -BattleFrontier_BattleArenaBattleRoom_Text_25835B: @ 825835B +BattleFrontier_BattleArenaBattleRoom_Text_GutsSymbolTookGoldenShine: @ 825835B .string "The Guts Symbol took on\n" .string "a golden shine!$" -BattleFrontier_BattleArenaBattleRoom_Text_258383: @ 8258383 +BattleFrontier_BattleArenaBattleRoom_Text_IfWeBattleAgainWontLose: @ 8258383 .string "Arrrgh!\n" .string "This is so infuriating!\p" .string "If we ever battle again, I won't lose!\n" diff --git a/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc b/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc index cc362f5f04..465d013fc0 100644 --- a/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc @@ -1,30 +1,30 @@ BattleFrontier_BattleArenaCorridor_MapScripts:: @ 82573B9 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaCorridor_MapScript2_2573BF + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaCorridor_OnFrame .byte 0 -BattleFrontier_BattleArenaCorridor_MapScript2_2573BF: @ 82573BF - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaCorridor_EventScript_2573C9 +BattleFrontier_BattleArenaCorridor_OnFrame: @ 82573BF + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaCorridor_EventScript_WalkToBattleRoom .2byte 0 -BattleFrontier_BattleArenaCorridor_EventScript_2573C9:: @ 82573C9 +BattleFrontier_BattleArenaCorridor_EventScript_WalkToBattleRoom:: @ 82573C9 delay 16 setvar VAR_TEMP_0, 1 - applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_25742F - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_257417 + applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_AttendantWalkToDoor + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_PlayerWalkToDoor waitmovement 0 - applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_257444 + applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_AttendantFacePlayer waitmovement 0 - msgbox BattleFrontier_BattleArenaCorridor_Text_257449, MSGBOX_SIGN - applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_257446 + msgbox BattleFrontier_BattleArenaCorridor_Text_PleaseStepIn, MSGBOX_SIGN + applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_AttendantMoveOutOfWay waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_25742C + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_PlayerEnterDoor waitmovement 0 setvar VAR_0x8006, 0 warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM, 255, 7, 5 waitstate end -BattleFrontier_BattleArenaCorridor_Movement_257417: @ 8257417 +BattleFrontier_BattleArenaCorridor_Movement_PlayerWalkToDoor: @ 8257417 walk_up walk_left walk_left @@ -47,12 +47,12 @@ BattleFrontier_BattleArenaCorridor_Movement_257417: @ 8257417 walk_right step_end -BattleFrontier_BattleArenaCorridor_Movement_25742C: @ 825742C +BattleFrontier_BattleArenaCorridor_Movement_PlayerEnterDoor: @ 825742C walk_right set_invisible step_end -BattleFrontier_BattleArenaCorridor_Movement_25742F: @ 825742F +BattleFrontier_BattleArenaCorridor_Movement_AttendantWalkToDoor: @ 825742F walk_left walk_left walk_left @@ -75,16 +75,16 @@ BattleFrontier_BattleArenaCorridor_Movement_25742F: @ 825742F walk_right step_end -BattleFrontier_BattleArenaCorridor_Movement_257444: @ 8257444 +BattleFrontier_BattleArenaCorridor_Movement_AttendantFacePlayer: @ 8257444 walk_in_place_fastest_left step_end -BattleFrontier_BattleArenaCorridor_Movement_257446: @ 8257446 +BattleFrontier_BattleArenaCorridor_Movement_AttendantMoveOutOfWay: @ 8257446 walk_up walk_in_place_fastest_down step_end -BattleFrontier_BattleArenaCorridor_Text_257449: @ 8257449 +BattleFrontier_BattleArenaCorridor_Text_PleaseStepIn: @ 8257449 .string "Your battles shall be waged in\n" .string "the next room. Please step in!$" diff --git a/data/maps/BattleFrontier_BattleArenaLobby/map.json b/data/maps/BattleFrontier_BattleArenaLobby/map.json index 49712c5dd8..3bec0b5fb5 100644 --- a/data/maps/BattleFrontier_BattleArenaLobby/map.json +++ b/data/maps/BattleFrontier_BattleArenaLobby/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleArenaLobby_EventScript_255DF4", + "script": "BattleFrontier_BattleArenaLobby_EventScript_Attendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleArenaLobby_EventScript_2560C1", + "script": "BattleFrontier_BattleArenaLobby_EventScript_Woman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleArenaLobby_EventScript_2560AF", + "script": "BattleFrontier_BattleArenaLobby_EventScript_Man", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleArenaLobby_EventScript_2560B8", + "script": "BattleFrontier_BattleArenaLobby_EventScript_Camper", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleArenaLobby_EventScript_2560A6", + "script": "BattleFrontier_BattleArenaLobby_EventScript_Youngster", "flag": "0" } ], @@ -97,7 +97,7 @@ "y": 9, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_BattleArenaLobby_EventScript_256092" + "script": "BattleFrontier_BattleArenaLobby_EventScript_ShowResults" }, { "type": "sign", @@ -105,7 +105,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_BattleArenaLobby_EventScript_2560CA" + "script": "BattleFrontier_BattleArenaLobby_EventScript_RulesBoard" } ] } \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc index 5df47aed16..b1830f167b 100644 --- a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc @@ -1,276 +1,224 @@ BattleFrontier_BattleArenaLobby_MapScripts:: @ 8255C36 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaLobby_MapScript2_255C55 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleArenaLobby_MapScript2_255C41 + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaLobby_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleArenaLobby_OnWarp .byte 0 -BattleFrontier_BattleArenaLobby_MapScript2_255C41: @ 8255C41 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleArenaLobby_EventScript_255C4B +BattleFrontier_BattleArenaLobby_OnWarp: @ 8255C41 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleArenaLobby_EventScript_TurnPlayerNorth .2byte 0 -BattleFrontier_BattleArenaLobby_EventScript_255C4B:: @ 8255C4B +BattleFrontier_BattleArenaLobby_EventScript_TurnPlayerNorth:: @ 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 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaLobby_EventScript_255C7F - map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattleArenaLobby_EventScript_255C88 - map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattleArenaLobby_EventScript_255DC0 - map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattleArenaLobby_EventScript_255CCF - map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattleArenaLobby_EventScript_255D2B +BattleFrontier_BattleArenaLobby_OnFrame: @ 8255C55 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleArenaLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleArenaLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleArenaLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleArenaLobby_EventScript_LostChallenge .2byte 0 -BattleFrontier_BattleArenaLobby_EventScript_255C7F:: @ 8255C7F - setvar VAR_0x8004, 0 - special CallFrontierUtilFunc +BattleFrontier_BattleArenaLobby_EventScript_GetChallengeStatus:: @ 8255C7F + frontier_getstatus end -BattleFrontier_BattleArenaLobby_EventScript_255C88:: @ 8255C88 +BattleFrontier_BattleArenaLobby_EventScript_QuitWithoutSaving:: @ 8255C88 lockall - msgbox BattleFrontier_BattleArenaLobby_Text_256811, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleArenaLobby_Text_DidntSaveBeforeShuttingDown, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallBattleArenaFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 0 - special CallBattleArenaFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + arena_set ARENA_DATA_WIN_STREAK, 0 + arena_set ARENA_DATA_WIN_STREAK_ACTIVE, FALSE + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 setvar VAR_TEMP_0, 255 releaseall end -BattleFrontier_BattleArenaLobby_EventScript_255CCF:: @ 8255CCF +BattleFrontier_BattleArenaLobby_EventScript_WonChallenge:: @ 8255CCF lockall - setvar VAR_0x8004, 10 - special CallFrontierUtilFunc - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255CF0 - msgbox BattleFrontier_BattleArenaLobby_Text_2568E7, MSGBOX_DEFAULT - goto BattleFrontier_BattleArenaLobby_EventScript_255CF8 + frontier_isbrain + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_DefeatedTycoon + msgbox BattleFrontier_BattleArenaLobby_Text_CongratsOnSevenWins, MSGBOX_DEFAULT + goto BattleFrontier_BattleArenaLobby_EventScript_GiveBattlePoints -BattleFrontier_BattleArenaLobby_EventScript_255CF0:: @ 8255CF0 - msgbox BattleFrontier_BattleArenaLobby_Text_2572D9, MSGBOX_DEFAULT - -BattleFrontier_BattleArenaLobby_EventScript_255CF8:: @ 8255CF8 - msgbox BattleFrontier_BattleArenaLobby_Text_257353, MSGBOX_DEFAULT - setvar VAR_0x8004, 11 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleArenaLobby_Text_241520, 9 - message BattleFrontier_BattleArenaLobby_Text_256931 +BattleFrontier_BattleArenaLobby_EventScript_DefeatedTycoon:: @ 8255CF0 + msgbox BattleFrontier_BattleArenaLobby_Text_CongratsOnDefeatingTycoon, MSGBOX_DEFAULT +BattleFrontier_BattleArenaLobby_EventScript_GiveBattlePoints:: @ 8255CF8 + msgbox BattleFrontier_BattleArenaLobby_Text_PleaseAcceptBattlePoints, MSGBOX_DEFAULT + frontier_givepoints + msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS + message BattleFrontier_BattleArenaLobby_Text_RecordAchievement waitmessage - call BattleFrontier_BattleArenaLobby_EventScript_255D59 - msgbox BattleFrontier_BattleArenaLobby_Text_256A74, MSGBOX_DEFAULT + call BattleFrontier_BattleArenaLobby_EventScript_SaveAfterChallenge + msgbox BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 releaseall end -BattleFrontier_BattleArenaLobby_EventScript_255D2B:: @ 8255D2B +BattleFrontier_BattleArenaLobby_EventScript_LostChallenge:: @ 8255D2B lockall - message BattleFrontier_BattleArenaLobby_Text_256A2C + message BattleFrontier_BattleArenaLobby_Text_ThankYouWaitWhileSave waitmessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 0 - special CallBattleArenaFunction - call BattleFrontier_BattleArenaLobby_EventScript_255D59 - msgbox BattleFrontier_BattleArenaLobby_Text_256A74, MSGBOX_DEFAULT + arena_set ARENA_DATA_WIN_STREAK_ACTIVE, FALSE + call BattleFrontier_BattleArenaLobby_EventScript_SaveAfterChallenge + msgbox BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 releaseall end -BattleFrontier_BattleArenaLobby_EventScript_255D59:: @ 8255D59 - setvar VAR_0x8004, 8 - special CallFrontierUtilFunc +BattleFrontier_BattleArenaLobby_EventScript_SaveAfterChallenge:: @ 8255D59 + frontier_checkairshow special LoadPlayerParty special HealPlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 0 - special CallBattleArenaFunction + arena_save 0 playse SE_SAVE waitse - call BattleFrontier_BattleArenaLobby_EventScript_23E8E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255DBF - message BattleFrontier_BattleArenaLobby_Text_256B19 + call BattleFrontier_EventScript_GetCantRecordBattle + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_EndSaveAfterChallenge + message BattleFrontier_BattleArenaLobby_Text_RecordLastMatch waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, BattleFrontier_BattleArenaLobby_EventScript_255DBF - case 0, BattleFrontier_BattleArenaLobby_EventScript_255DBA - case 127, BattleFrontier_BattleArenaLobby_EventScript_255DBF + case 1, BattleFrontier_BattleArenaLobby_EventScript_EndSaveAfterChallenge + case 0, BattleFrontier_BattleArenaLobby_EventScript_RecordMatch + case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_EndSaveAfterChallenge -BattleFrontier_BattleArenaLobby_EventScript_255DBA:: @ 8255DBA - call BattleFrontier_BattleArenaLobby_EventScript_23E8B4 - -BattleFrontier_BattleArenaLobby_EventScript_255DBF:: @ 8255DBF +BattleFrontier_BattleArenaLobby_EventScript_RecordMatch:: @ 8255DBA + call BattleFrontier_EventScript_SaveBattle +BattleFrontier_BattleArenaLobby_EventScript_EndSaveAfterChallenge:: @ 8255DBF return -BattleFrontier_BattleArenaLobby_EventScript_255DC0:: @ 8255DC0 +BattleFrontier_BattleArenaLobby_EventScript_ResumeChallenge:: @ 8255DC0 lockall - message BattleFrontier_BattleArenaLobby_Text_256AA1 + message BattleFrontier_BattleArenaLobby_Text_LookingForwardToArrivalSaveGame waitmessage - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 1 - special CallBattleArenaFunction + arena_save CHALLENGE_STATUS_SAVING playse SE_SAVE waitse - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_PAUSED, FALSE setvar VAR_TEMP_0, 255 - goto BattleFrontier_BattleArenaLobby_EventScript_255F54 + goto BattleFrontier_BattleArenaLobby_EventScript_EnterChallenge -BattleFrontier_BattleArenaLobby_EventScript_255DF4:: @ 8255DF4 +BattleFrontier_BattleArenaLobby_EventScript_Attendant:: @ 8255DF4 lock faceplayer - setvar VAR_FRONTIER_FACILITY, 3 - setvar VAR_FRONTIER_BATTLE_MODE, 0 + setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_ARENA + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES special SavePlayerParty - msgbox BattleFrontier_BattleArenaLobby_Text_256166, MSGBOX_DEFAULT - -BattleFrontier_BattleArenaLobby_EventScript_255E0B:: @ 8255E0B - message BattleFrontier_BattleArenaLobby_Text_2561EA + msgbox BattleFrontier_BattleArenaLobby_Text_WelcomeToBattleArena, MSGBOX_DEFAULT +BattleFrontier_BattleArenaLobby_EventScript_AskTakeChallenge:: @ 8255E0B + message BattleFrontier_BattleArenaLobby_Text_WishToTakeChallenge waitmessage - multichoice 17, 6, 23, 0 + multichoice 17, 6, MULTI_CHALLENGEINFO, 0 switch VAR_RESULT - case 0, BattleFrontier_BattleArenaLobby_EventScript_255E47 - case 1, BattleFrontier_BattleArenaLobby_EventScript_255F9F - case 2, BattleFrontier_BattleArenaLobby_EventScript_255FFB - case 127, BattleFrontier_BattleArenaLobby_EventScript_255FFB + case 0, BattleFrontier_BattleArenaLobby_EventScript_TryEnterChallenge + case 1, BattleFrontier_BattleArenaLobby_EventScript_ExplainChallenge + case 2, BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge -BattleFrontier_BattleArenaLobby_EventScript_255E47:: @ 8255E47 - message BattleFrontier_BattleArenaLobby_Text_256513 +BattleFrontier_BattleArenaLobby_EventScript_TryEnterChallenge:: @ 8255E47 + message BattleFrontier_BattleArenaLobby_Text_WhichLevelMode waitmessage - multichoice 17, 6, 24, 0 + multichoice 17, 6, MULTI_LEVEL_MODE, 0 switch VAR_RESULT - case 2, BattleFrontier_BattleArenaLobby_EventScript_255FFB - case 127, BattleFrontier_BattleArenaLobby_EventScript_255FFB - setvar VAR_0x8004, 15 - special CallFrontierUtilFunc - compare VAR_0x8004, 1 - goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255FAC - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleArenaLobby_Text_256573, MSGBOX_DEFAULT - fadescreen 1 - call BattleFrontier_BattleArenaLobby_EventScript_23F2B7 + case FRONTIER_LVL_TENT, BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge + frontier_checkineligible + compare VAR_0x8004, TRUE + goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMons + frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT + msgbox BattleFrontier_BattleArenaLobby_Text_SelectThreeMons, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK + call BattleFrontier_EventScript_GetLvlMode copyvar VAR_0x8004, VAR_RESULT - setvar VAR_0x8005, 3 - special sub_80F9490 + setvar VAR_0x8005, FRONTIER_PARTY_SIZE + special ChoosePartyForBattleFrontier waitstate compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255FF8 - msgbox BattleFrontier_BattleArenaLobby_Text_2564CE, MSGBOX_YESNO + goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge + msgbox BattleFrontier_BattleArenaLobby_Text_OkayToSave, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattleArenaLobby_EventScript_255FF8 - case 1, BattleFrontier_BattleArenaLobby_EventScript_255EE8 - case 127, BattleFrontier_BattleArenaLobby_EventScript_255FF8 + case NO, BattleFrontier_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge + case YES, BattleFrontier_BattleArenaLobby_EventScript_SaveBeforeChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge -BattleFrontier_BattleArenaLobby_EventScript_255EE8:: @ 8255EE8 +BattleFrontier_BattleArenaLobby_EventScript_SaveBeforeChallenge:: @ 8255EE8 setvar VAR_TEMP_0, 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 4 - special CallFrontierUtilFunc - setvar VAR_0x8004, 0 - special CallBattleArenaFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 1 - special CallBattleArenaFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_SELECTED_MON_ORDER + arena_init + arena_set ARENA_DATA_WIN_STREAK_ACTIVE, TRUE + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING + frontier_set FRONTIER_DATA_PAUSED, FALSE special LoadPlayerParty closemessage delay 2 call Common_EventScript_SaveGame setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255FE1 - -BattleFrontier_BattleArenaLobby_EventScript_255F54:: @ 8255F54 + goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_CancelChallengeSaveFailed +BattleFrontier_BattleArenaLobby_EventScript_EnterChallenge:: @ 8255F54 special SavePlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleArenaLobby_Text_2567E6, MSGBOX_DEFAULT + frontier_setpartyorder FRONTIER_PARTY_SIZE + msgbox BattleFrontier_BattleArenaLobby_Text_GuideYouToArena, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - call_if_eq BattleFrontier_BattleArenaLobby_EventScript_256005 - compare VAR_RESULT, 1 - call_if_eq BattleFrontier_BattleArenaLobby_EventScript_256050 + frontier_get FRONTIER_DATA_LVL_MODE + compare VAR_RESULT, FRONTIER_LVL_50 + call_if_eq BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLv50 + compare VAR_RESULT, FRONTIER_LVL_OPEN + call_if_eq BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLvOpen warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR, 255, 9, 13 setvar VAR_TEMP_0, 0 waitstate end -BattleFrontier_BattleArenaLobby_EventScript_255F9F:: @ 8255F9F - msgbox BattleFrontier_BattleArenaLobby_Text_25624C, MSGBOX_DEFAULT - goto BattleFrontier_BattleArenaLobby_EventScript_255E0B +BattleFrontier_BattleArenaLobby_EventScript_ExplainChallenge:: @ 8255F9F + msgbox BattleFrontier_BattleArenaLobby_Text_ExplainChallenge, MSGBOX_DEFAULT + goto BattleFrontier_BattleArenaLobby_EventScript_AskTakeChallenge -BattleFrontier_BattleArenaLobby_EventScript_255FAC:: @ 8255FAC +BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMons:: @ 8255FAC switch VAR_RESULT - case 0, BattleFrontier_BattleArenaLobby_EventScript_255FC7 - case 1, BattleFrontier_BattleArenaLobby_EventScript_255FD4 + case FRONTIER_LVL_50, BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMonsLv50 + case FRONTIER_LVL_OPEN, BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMonsLvOpen -BattleFrontier_BattleArenaLobby_EventScript_255FC7:: @ 8255FC7 - msgbox BattleFrontier_BattleArenaLobby_Text_2566A8, MSGBOX_DEFAULT - goto BattleFrontier_BattleArenaLobby_EventScript_256003 +BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMonsLv50:: @ 8255FC7 + msgbox BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT + goto BattleFrontier_BattleArenaLobby_EventScript_EndCancelChallenge -BattleFrontier_BattleArenaLobby_EventScript_255FD4:: @ 8255FD4 - msgbox BattleFrontier_BattleArenaLobby_Text_2565A5, MSGBOX_DEFAULT - goto BattleFrontier_BattleArenaLobby_EventScript_256003 +BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMonsLvOpen:: @ 8255FD4 + msgbox BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT + goto BattleFrontier_BattleArenaLobby_EventScript_EndCancelChallenge -BattleFrontier_BattleArenaLobby_EventScript_255FE1:: @ 8255FE1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - goto BattleFrontier_BattleArenaLobby_EventScript_255FFB +BattleFrontier_BattleArenaLobby_EventScript_CancelChallengeSaveFailed:: @ 8255FE1 + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 + goto BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge -BattleFrontier_BattleArenaLobby_EventScript_255FF8:: @ 8255FF8 +BattleFrontier_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge:: @ 8255FF8 special LoadPlayerParty - -BattleFrontier_BattleArenaLobby_EventScript_255FFB:: @ 8255FFB - msgbox BattleFrontier_BattleArenaLobby_Text_25621F, MSGBOX_DEFAULT - -BattleFrontier_BattleArenaLobby_EventScript_256003:: @ 8256003 +BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge:: @ 8255FFB + msgbox BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge, MSGBOX_DEFAULT +BattleFrontier_BattleArenaLobby_EventScript_EndCancelChallenge:: @ 8256003 release end -BattleFrontier_BattleArenaLobby_EventScript_256005:: @ 8256005 - applymovement 1, BattleFrontier_BattleArenaLobby_Movement_256034 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_256041 +BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLv50:: @ 8256005 + applymovement 1, BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToLeftDoor + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToLeftDoor waitmovement 0 opendoor 2, 2 waitdooranim - applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25603E - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_25604C + applymovement 1, BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor waitmovement 0 closedoor 2, 2 waitdooranim return -BattleFrontier_BattleArenaLobby_Movement_256034: @ 8256034 +BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToLeftDoor: @ 8256034 walk_up walk_up walk_up @@ -282,12 +230,12 @@ BattleFrontier_BattleArenaLobby_Movement_256034: @ 8256034 walk_up step_end -BattleFrontier_BattleArenaLobby_Movement_25603E: @ 825603E +BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor: @ 825603E walk_up set_invisible step_end -BattleFrontier_BattleArenaLobby_Movement_256041: @ 8256041 +BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToLeftDoor: @ 8256041 walk_up walk_up walk_up @@ -300,26 +248,26 @@ BattleFrontier_BattleArenaLobby_Movement_256041: @ 8256041 walk_in_place_fastest_up step_end -BattleFrontier_BattleArenaLobby_Movement_25604C: @ 825604C +BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor: @ 825604C walk_up walk_up set_invisible step_end -BattleFrontier_BattleArenaLobby_EventScript_256050:: @ 8256050 - applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25607F - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_256088 +BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLvOpen:: @ 8256050 + applymovement 1, BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToRightDoor + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToRightDoor waitmovement 0 opendoor 11, 2 waitdooranim - applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25603E - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_25604C + applymovement 1, BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor waitmovement 0 closedoor 11, 2 waitdooranim return -BattleFrontier_BattleArenaLobby_Movement_25607F: @ 825607F +BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToRightDoor: @ 825607F walk_up walk_up walk_up @@ -330,7 +278,7 @@ BattleFrontier_BattleArenaLobby_Movement_25607F: @ 825607F walk_up step_end -BattleFrontier_BattleArenaLobby_Movement_256088: @ 8256088 +BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToRightDoor: @ 8256088 walk_up walk_up walk_up @@ -342,90 +290,88 @@ BattleFrontier_BattleArenaLobby_Movement_256088: @ 8256088 walk_in_place_fastest_up step_end -BattleFrontier_BattleArenaLobby_EventScript_256092:: @ 8256092 +BattleFrontier_BattleArenaLobby_EventScript_ShowResults:: @ 8256092 lockall - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc + frontier_results FRONTIER_FACILITY_ARENA waitbuttonpress special RemoveRecordsWindow releaseall end -BattleFrontier_BattleArenaLobby_EventScript_2560A6:: @ 82560A6 - msgbox BattleFrontier_BattleArenaLobby_Text_256B5C, MSGBOX_NPC +BattleFrontier_BattleArenaLobby_EventScript_Youngster:: @ 82560A6 + msgbox BattleFrontier_BattleArenaLobby_Text_BadIdeaToNotAttack, MSGBOX_NPC end -BattleFrontier_BattleArenaLobby_EventScript_2560AF:: @ 82560AF - msgbox BattleFrontier_BattleArenaLobby_Text_256BCB, MSGBOX_NPC +BattleFrontier_BattleArenaLobby_EventScript_Man:: @ 82560AF + msgbox BattleFrontier_BattleArenaLobby_Text_LandingHitsWorked, MSGBOX_NPC end -BattleFrontier_BattleArenaLobby_EventScript_2560B8:: @ 82560B8 - msgbox BattleFrontier_BattleArenaLobby_Text_256C19, MSGBOX_NPC +BattleFrontier_BattleArenaLobby_EventScript_Camper:: @ 82560B8 + msgbox BattleFrontier_BattleArenaLobby_Text_MatchWasDeclaredDraw, MSGBOX_NPC end -BattleFrontier_BattleArenaLobby_EventScript_2560C1:: @ 82560C1 - msgbox BattleFrontier_BattleArenaLobby_Text_256C9A, MSGBOX_NPC +BattleFrontier_BattleArenaLobby_EventScript_Woman:: @ 82560C1 + msgbox BattleFrontier_BattleArenaLobby_Text_OrderOfMonsImportant, MSGBOX_NPC end -BattleFrontier_BattleArenaLobby_EventScript_2560CA:: @ 82560CA +BattleFrontier_BattleArenaLobby_EventScript_RulesBoard:: @ 82560CA lockall - msgbox BattleFrontier_BattleArenaLobby_Text_256DB8, MSGBOX_DEFAULT - goto BattleFrontier_BattleArenaLobby_EventScript_2560D9 + msgbox BattleFrontier_BattleArenaLobby_Text_RulesAreListed, MSGBOX_DEFAULT + goto BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleArenaLobby_EventScript_2560D9:: @ 82560D9 - message BattleFrontier_BattleArenaLobby_Text_256DDF +BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard:: @ 82560D9 + message BattleFrontier_BattleArenaLobby_Text_ReadWhichHeading waitmessage - multichoice 17, 2, 96, 0 + multichoice 17, 2, MULTI_BATTLE_ARENA_RULES, 0 switch VAR_RESULT - case 0, BattleFrontier_BattleArenaLobby_EventScript_25612C - case 1, BattleFrontier_BattleArenaLobby_EventScript_25613A - case 2, BattleFrontier_BattleArenaLobby_EventScript_256148 - case 3, BattleFrontier_BattleArenaLobby_EventScript_256156 - case 4, BattleFrontier_BattleArenaLobby_EventScript_256164 - case 127, BattleFrontier_BattleArenaLobby_EventScript_256164 + case 0, BattleFrontier_BattleArenaLobby_EventScript_BattleRules + case 1, BattleFrontier_BattleArenaLobby_EventScript_MindRules + case 2, BattleFrontier_BattleArenaLobby_EventScript_SkillRules + case 3, BattleFrontier_BattleArenaLobby_EventScript_BodyRules + case 4, BattleFrontier_BattleArenaLobby_EventScript_ExitRules + case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_ExitRules end -BattleFrontier_BattleArenaLobby_EventScript_25612C:: @ 825612C - msgbox BattleFrontier_BattleArenaLobby_Text_256E02, MSGBOX_DEFAULT - goto BattleFrontier_BattleArenaLobby_EventScript_2560D9 +BattleFrontier_BattleArenaLobby_EventScript_BattleRules:: @ 825612C + msgbox BattleFrontier_BattleArenaLobby_Text_ExplainBattleRules, MSGBOX_DEFAULT + goto BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleArenaLobby_EventScript_25613A:: @ 825613A - msgbox BattleFrontier_BattleArenaLobby_Text_256F43, MSGBOX_DEFAULT - goto BattleFrontier_BattleArenaLobby_EventScript_2560D9 +BattleFrontier_BattleArenaLobby_EventScript_MindRules:: @ 825613A + msgbox BattleFrontier_BattleArenaLobby_Text_ExplainMindRules, MSGBOX_DEFAULT + goto BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleArenaLobby_EventScript_256148:: @ 8256148 - msgbox BattleFrontier_BattleArenaLobby_Text_256FF2, MSGBOX_DEFAULT - goto BattleFrontier_BattleArenaLobby_EventScript_2560D9 +BattleFrontier_BattleArenaLobby_EventScript_SkillRules:: @ 8256148 + msgbox BattleFrontier_BattleArenaLobby_Text_ExplainSkillRules, MSGBOX_DEFAULT + goto BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleArenaLobby_EventScript_256156:: @ 8256156 - msgbox BattleFrontier_BattleArenaLobby_Text_257202, MSGBOX_DEFAULT - goto BattleFrontier_BattleArenaLobby_EventScript_2560D9 +BattleFrontier_BattleArenaLobby_EventScript_BodyRules:: @ 8256156 + msgbox BattleFrontier_BattleArenaLobby_Text_ExplainBodyRules, MSGBOX_DEFAULT + goto BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleArenaLobby_EventScript_256164:: @ 8256164 +BattleFrontier_BattleArenaLobby_EventScript_ExitRules:: @ 8256164 releaseall end -BattleFrontier_BattleArenaLobby_Text_256166: @ 8256166 +BattleFrontier_BattleArenaLobby_Text_WelcomeToBattleArena: @ 8256166 .string "Where the battling spirit of TRAINERS\n" .string "is put to the test!\p" .string "I welcome you to the BATTLE ARENA!\p" .string "I am your guide to the Set KO Tourney!$" -BattleFrontier_BattleArenaLobby_Text_2561EA: @ 82561EA +BattleFrontier_BattleArenaLobby_Text_WishToTakeChallenge: @ 82561EA .string "Now, do you wish to take\n" .string "the BATTLE ARENA challenge?$" -BattleFrontier_BattleArenaLobby_Text_25621F: @ 825621F +BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge: @ 825621F .string "We await your challenge on\n" .string "another occasion!$" -BattleFrontier_BattleArenaLobby_Text_25624C: @ 825624C +BattleFrontier_BattleArenaLobby_Text_ExplainChallenge: @ 825624C .string "In the BATTLE ARENA, we undertake\n" .string "the Set KO Tourney.\p" .string "All participants enter with a team of\n" @@ -446,20 +392,20 @@ BattleFrontier_BattleArenaLobby_Text_25624C: @ 825624C .string "seven TRAINERS in succession,\l" .string "we will present you with Battle Points.$" -BattleFrontier_BattleArenaLobby_Text_2564CE: @ 82564CE +BattleFrontier_BattleArenaLobby_Text_OkayToSave: @ 82564CE .string "Before showing you to the BATTLE\n" .string "ARENA, you must save. Is that okay?$" -BattleFrontier_BattleArenaLobby_Text_256513: @ 8256513 +BattleFrontier_BattleArenaLobby_Text_WhichLevelMode: @ 8256513 .string "The BATTLE ARENA offers two levels\n" .string "of challenge, Level 50 and Open Level.\l" .string "Which is your choice?$" -BattleFrontier_BattleArenaLobby_Text_256573: @ 8256573 +BattleFrontier_BattleArenaLobby_Text_SelectThreeMons: @ 8256573 .string "Very well, now select your\n" .string "three POKéMON, please.$" -BattleFrontier_BattleArenaLobby_Text_2565A5: @ 82565A5 +BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsLvOpen: @ 82565A5 .string "My dear challenger!\p" .string "You do not have the three POKéMON\n" .string "required for entry.\p" @@ -471,7 +417,7 @@ BattleFrontier_BattleArenaLobby_Text_2565A5: @ 82565A5 .string "When you have made your preparations,\n" .string "please do return.$" -BattleFrontier_BattleArenaLobby_Text_2566A8: @ 82566A8 +BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsLv50: @ 82566A8 .string "My dear challenger!\p" .string "You do not have the three POKéMON\n" .string "required for entry.\p" @@ -485,11 +431,11 @@ BattleFrontier_BattleArenaLobby_Text_2566A8: @ 82566A8 .string "When you have made your preparations,\n" .string "please do return.$" -BattleFrontier_BattleArenaLobby_Text_2567E6: @ 82567E6 +BattleFrontier_BattleArenaLobby_Text_GuideYouToArena: @ 82567E6 .string "I shall now guide you to\n" .string "the BATTLE ARENA.$" -BattleFrontier_BattleArenaLobby_Text_256811: @ 8256811 +BattleFrontier_BattleArenaLobby_Text_DidntSaveBeforeShuttingDown: @ 8256811 .string "My dear challenger!\p" .string "You did not save the game before\n" .string "shutting down, did you?\p" @@ -499,64 +445,67 @@ BattleFrontier_BattleArenaLobby_Text_256811: @ 8256811 .string "You may, of course, start with a fresh\n" .string "challenge.$" -BattleFrontier_BattleArenaLobby_Text_2568E7: @ 82568E7 +BattleFrontier_BattleArenaLobby_Text_CongratsOnSevenWins: @ 82568E7 .string "We congratulate you for your splendid\n" .string "string of wins over seven TRAINERS!$" -BattleFrontier_BattleArenaLobby_Text_256931: @ 8256931 +BattleFrontier_BattleArenaLobby_Text_RecordAchievement: @ 8256931 .string "Your achievement will be recorded.\n" .string "Please wait while I save the game.$" -BattleFrontier_BattleArenaLobby_Text_256977: @ 8256977 +@ Unused +BattleFrontier_BattleArenaLobby_Text_PresentYouWithPrize: @ 8256977 .string "In commemoration of your 7-win streak,\n" .string "we present you with this prize.$" -BattleFrontier_BattleArenaLobby_Text_2569BE: @ 82569BE +@ Unused +BattleFrontier_BattleArenaLobby_Text_ReceivedPrize: @ 82569BE .string "{PLAYER} received the prize\n" .string "{STR_VAR_1}.$" -BattleFrontier_BattleArenaLobby_Text_2569D8: @ 82569D8 +@ Unused +BattleFrontier_BattleArenaLobby_Text_BagFullReturnForPrize: @ 82569D8 .string "Oh?\n" .string "Your BAG seems to be full.\p" .string "I urge you to clear space and\n" .string "return for your prize.$" -BattleFrontier_BattleArenaLobby_Text_256A2C: @ 8256A2C +BattleFrontier_BattleArenaLobby_Text_ThankYouWaitWhileSave: @ 8256A2C .string "Thank you so much for participating!\p" .string "Please wait while I save the game.$" -BattleFrontier_BattleArenaLobby_Text_256A74: @ 8256A74 +BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge2: @ 8256A74 .string "We await your challenge on\n" .string "another occasion!$" -BattleFrontier_BattleArenaLobby_Text_256AA1: @ 8256AA1 +BattleFrontier_BattleArenaLobby_Text_LookingForwardToArrivalSaveGame: @ 8256AA1 .string "We have been looking forward to\n" .string "your arrival.\p" .string "Before I show you to the BATTLE\n" .string "ARENA, I must save the game.\l" .string "Please wait.$" -BattleFrontier_BattleArenaLobby_Text_256B19: @ 8256B19 +BattleFrontier_BattleArenaLobby_Text_RecordLastMatch: @ 8256B19 .string "Shall I record your last BATTLE ARENA\n" .string "match on your FRONTIER PASS?$" -BattleFrontier_BattleArenaLobby_Text_256B5C: @ 8256B5C +BattleFrontier_BattleArenaLobby_Text_BadIdeaToNotAttack: @ 8256B5C .string "I lost on the REFEREE's decision…\p" .string "I don't think it was a good idea to only\n" .string "use defensive moves and not attack…$" -BattleFrontier_BattleArenaLobby_Text_256BCB: @ 8256BCB +BattleFrontier_BattleArenaLobby_Text_LandingHitsWorked: @ 8256BCB .string "I won in judging!\p" .string "Landing hits consistently on\n" .string "the opponent's POKéMON worked!$" -BattleFrontier_BattleArenaLobby_Text_256C19: @ 8256C19 +BattleFrontier_BattleArenaLobby_Text_MatchWasDeclaredDraw: @ 8256C19 .string "Our match was declared a draw.\p" .string "When we ran out of time, both my\n" .string "POKéMON and the opponent's had about\l" .string "the same amount of HP left.$" -BattleFrontier_BattleArenaLobby_Text_256C9A: @ 8256C9A +BattleFrontier_BattleArenaLobby_Text_OrderOfMonsImportant: @ 8256C9A .string "In the BATTLE ARENA, the order of\n" .string "POKéMON is totally important.\p" .string "For example, if your first POKéMON\n" @@ -567,16 +516,13 @@ BattleFrontier_BattleArenaLobby_Text_256C9A: @ 8256C9A .string "I think that will be a good way of\n" .string "making an effective team.$" -BattleFrontier_BattleArenaLobby_Text_256DB8: @ 8256DB8 -FallarborTown_BattleTentLobby_Text_256DB8: @ 8256DB8 +BattleFrontier_BattleArenaLobby_Text_RulesAreListed: @ 8256DB8 .string "The Set KO Tourney's rules are listed.$" -BattleFrontier_BattleArenaLobby_Text_256DDF: @ 8256DDF -FallarborTown_BattleTentLobby_Text_256DDF: @ 8256DDF +BattleFrontier_BattleArenaLobby_Text_ReadWhichHeading: @ 8256DDF .string "Which heading do you want to read?$" -BattleFrontier_BattleArenaLobby_Text_256E02: @ 8256E02 -FallarborTown_BattleTentLobby_Text_256E02: @ 8256E02 +BattleFrontier_BattleArenaLobby_Text_ExplainBattleRules: @ 8256E02 .string "The Set KO Tourney has special rules,\n" .string "unlike standard battles.\p" .string "First, one battle lasts only\n" @@ -588,8 +534,7 @@ FallarborTown_BattleTentLobby_Text_256E02: @ 8256E02 .string "Also, a POKéMON cannot be switched out\n" .string "until its battle's outcome is decided.$" -BattleFrontier_BattleArenaLobby_Text_256F43: @ 8256F43 -FallarborTown_BattleTentLobby_Text_256F43: @ 8256F43 +BattleFrontier_BattleArenaLobby_Text_ExplainMindRules: @ 8256F43 .string "The first judging factor is “Mind.”\n" .string "This factor evaluates how aggressive\l" .string "the battlers were.\p" @@ -597,8 +542,7 @@ FallarborTown_BattleTentLobby_Text_256F43: @ 8256F43 .string "the TRAINERS ordered the use of\l" .string "offensive moves.$" -BattleFrontier_BattleArenaLobby_Text_256FF2: @ 8256FF2 -FallarborTown_BattleTentLobby_Text_256FF2: @ 8256FF2 +BattleFrontier_BattleArenaLobby_Text_ExplainSkillRules: @ 8256FF2 .string "The second judging factor is “Skill.”\n" .string "This factor evaluates how effectively\l" .string "POKéMON moves were used.\p" @@ -617,8 +561,7 @@ FallarborTown_BattleTentLobby_Text_256FF2: @ 8256FF2 .string "hit with a move, its Skill rating will not\l" .string "go down.$" -BattleFrontier_BattleArenaLobby_Text_257202: @ 8257202 -FallarborTown_BattleTentLobby_Text_257202: @ 8257202 +BattleFrontier_BattleArenaLobby_Text_ExplainBodyRules: @ 8257202 .string "The third judging factor is “Body.”\n" .string "This factor is based on how much HP\l" .string "remained at the end of a battle.\p" @@ -626,13 +569,13 @@ FallarborTown_BattleTentLobby_Text_257202: @ 8257202 .string "HP a POKéMON had at the start of\l" .string "battle, and what remained at the end.$" -BattleFrontier_BattleArenaLobby_Text_2572D9: @ 82572D9 +BattleFrontier_BattleArenaLobby_Text_CongratsOnDefeatingTycoon: @ 82572D9 .string "A victory snatched from the ARENA\n" .string "TYCOON, and a seven-TRAINER sweep!\p" .string "We congratulate you on your most\n" .string "splendid challenge!$" -BattleFrontier_BattleArenaLobby_Text_257353: @ 8257353 +BattleFrontier_BattleArenaLobby_Text_PleaseAcceptBattlePoints: @ 8257353 .string "My dear challenger, in recognition of\n" .string "your indefatigable spirit, please\l" .string "accept these Battle Point(s).$" diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc index 59a010691d..2d03b461a1 100644 --- a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc @@ -1,533 +1,465 @@ BattleFrontier_BattleDomeBattleRoom_MapScripts:: @ 824BC9C - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleDomeBattleRoom_MapScript1_24BCB1 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeBattleRoom_MapScript2_24BD00 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomeBattleRoom_MapScript2_24C481 - map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleDomeBattleRoom_MapScript1_24C4F0 + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleDomeBattleRoom_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeBattleRoom_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomeBattleRoom_OnWarp + map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleDomeBattleRoom_OnResume .byte 0 -BattleFrontier_BattleDomeBattleRoom_MapScript1_24BCB1: @ 824BCB1 - setvar VAR_0x8004, 10 - special CallBattleDomeFunction - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc + .set NO_DRAW, 0 + .set DRAW_TRAINER, 1 + .set DRAW_TUCKER, 2 + +BattleFrontier_BattleDomeBattleRoom_OnTransition: @ 824BCB1 + dome_setopponentgfx + frontier_get FRONTIER_DATA_BATTLE_NUM copyvar VAR_TEMP_F, VAR_RESULT - compare VAR_RESULT, 0 - call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C919 - call BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC + compare VAR_RESULT, DOME_ROUND1 + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_SetWalkingAudienceMemberPos + call BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfx end -BattleFrontier_BattleArenaBattleRoom_EventScript_24BCDC:: @ 824BCDC -BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC:: @ 824BCDC +BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfx:: @ 824BCDC checkplayergender compare VAR_RESULT, MALE - goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCF4 + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfxMale compare VAR_RESULT, FEMALE - goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCFA + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfxFemale return -BattleFrontier_BattleDomeBattleRoom_EventScript_24BCF4:: @ 824BCF4 +BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfxMale:: @ 824BCF4 setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL return -BattleFrontier_BattleDomeBattleRoom_EventScript_24BCFA:: @ 824BCFA +BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfxFemale:: @ 824BCFA setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL return -BattleFrontier_BattleDomeBattleRoom_MapScript2_24BD00: @ 824BD00 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A +BattleFrontier_BattleDomeBattleRoom_OnFrame: @ 824BD00 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_EnterRoom .2byte 0 -BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A:: @ 824BD0A +BattleFrontier_BattleDomeBattleRoom_EventScript_EnterRoom:: @ 824BD0A lockall - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD - compare VAR_RESULT, 0 - call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C938 - applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4 + call BattleFrontier_BattleDomeBattleRoom_EventScript_GetRoundNum + compare VAR_RESULT, DOME_ROUND1 + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_TryDoAudienceMemberWalkToSeat + applymovement 1, Common_Movement_WalkInPlaceDown waitmovement 0 - call BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C970, MSGBOX_DEFAULT + call BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayer + msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerHasEnteredDome, MSGBOX_DEFAULT closemessage showobjectat 13, MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM - compare VAR_TEMP_F, 3 - goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24BD4E - compare VAR_TEMP_E, 0 - goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24BD5A + compare VAR_TEMP_F, DOME_FINAL + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnter + compare VAR_TEMP_E, FRONTIER_BRAIN_NOT_READY + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnterForTucker +BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnter:: @ 824BD4E + applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerEnter + goto BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceReactToPlayer -BattleFrontier_BattleDomeBattleRoom_EventScript_24BD4E:: @ 824BD4E - applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C775 - goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BD61 - -BattleFrontier_BattleDomeBattleRoom_EventScript_24BD5A:: @ 824BD5A - applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C77F - -BattleFrontier_BattleDomeBattleRoom_EventScript_24BD61:: @ 824BD61 +BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnterForTucker:: @ 824BD5A + applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerEnterForTucker +BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceReactToPlayer:: @ 824BD61 playse SE_W227B - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround waitmovement 0 - compare VAR_TEMP_F, 3 - goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82 - compare VAR_TEMP_E, 0 - goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB - -BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82:: @ 824BD82 - setvar VAR_0x8004, 4 - special CallBattleDomeFunction - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C990, MSGBOX_DEFAULT + compare VAR_TEMP_F, DOME_FINAL + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_BattleOpponent + compare VAR_TEMP_E, FRONTIER_BRAIN_NOT_READY + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTucker +BattleFrontier_BattleDomeBattleRoom_EventScript_BattleOpponent:: @ 824BD82 + dome_getopponentname + msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerVersusTrainer, MSGBOX_DEFAULT closemessage - applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C77B - applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C789 + applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerStepForward + applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_OpponentStepForward waitmovement 0 - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 0 - special sub_8161F74 + tower_getopponentintro 0 msgbox gStringVar4, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 5 - special CallBattleDomeFunction - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C440 - setvar VAR_TEMP_2, 0 + dome_initopponentparty + call BattleFrontier_BattleDomeBattleRoom_EventScript_DoDomeBattle + setvar VAR_TEMP_2, NO_DRAW switch VAR_RESULT - case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0 - case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F - case 9, BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F - setvar VAR_TEMP_2, 1 - -BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7:: @ 824BDF7 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA86, MSGBOX_DEFAULT + case B_OUTCOME_WON, BattleFrontier_BattleDomeBattleRoom_EventScript_DefeatedOpponent + case B_OUTCOME_LOST, BattleFrontier_BattleDomeBattleRoom_EventScript_LostToOpponent + case B_OUTCOME_FORFEITED, BattleFrontier_BattleDomeBattleRoom_EventScript_LostToOpponent + setvar VAR_TEMP_2, DRAW_TRAINER +BattleFrontier_BattleDomeBattleRoom_EventScript_Draw:: @ 824BDF7 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_RefereeDecisionPleaseWait, MSGBOX_DEFAULT closemessage playse SE_W227B - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround delay 60 - applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_24C964 + applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_TieRefereeEnter waitmovement 0 - applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_24C969 + applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_RefereeFaceLeft waitmovement 0 delay 180 - applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_24C96B + applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_TieRefereeExit waitmovement 0 - compare VAR_TEMP_2, 2 - goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F - setvar VAR_0x8004, 19 - special CallBattleDomeFunction + compare VAR_TEMP_2, DRAW_TUCKER @ Tucker always wins on a draw + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_LostToOpponent + dome_compareseeds switch VAR_RESULT - case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0 - -BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F:: @ 824BE4F - applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4 + case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_DefeatedOpponent +BattleFrontier_BattleDomeBattleRoom_EventScript_LostToOpponent:: @ 824BE4F + applymovement 1, Common_Movement_WalkInPlaceDown waitmovement 0 - setvar VAR_0x8004, 4 - special CallBattleDomeFunction - compare VAR_TEMP_2, 0 - call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1 - compare VAR_TEMP_2, 1 - call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BEC5 - compare VAR_TEMP_2, 2 - call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BED9 + dome_getopponentname + compare VAR_TEMP_2, NO_DRAW + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_OpponentWon + compare VAR_TEMP_2, DRAW_TRAINER + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_OpponentWonDraw + compare VAR_TEMP_2, DRAW_TUCKER + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerWonDraw playse SE_W227B - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround delay 60 +BattleFrontier_BattleDomeBattleRoom_EventScript_LostTourney:: @ 824BE8D + dome_resolvewinners DOME_PLAYER_LOST_MATCH +BattleFrontier_BattleDomeBattleRoom_EventScript_WarpToLobbyLost:: @ 824BE9A + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST + goto BattleFrontier_BattleDomeBattleRoom_EventScript_WarpToLobby -BattleFrontier_BattleDomeBattleRoom_EventScript_24BE8D:: @ 824BE8D - setvar VAR_0x8004, 12 - setvar VAR_0x8005, 2 - special CallBattleDomeFunction - -BattleFrontier_BattleDomePreBattleRoom_EventScript_24BE9A:: @ 824BE9A - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 4 - special CallFrontierUtilFunc - goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5 -@ goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24C8F5 - -BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1:: @ 824BEB1 - setvar VAR_0x8004, 20 - setvar VAR_0x8005, 1 - special CallFrontierUtilFunc - message BattleFrontier_BattleDomeBattleRoom_Text_24C9E1 +BattleFrontier_BattleDomeBattleRoom_EventScript_OpponentWon:: @ 824BEB1 + frontier_gettrainername 1 + message BattleFrontier_BattleDomeBattleRoom_Text_TrainerIsWinner waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24BEC5:: @ 824BEC5 - setvar VAR_0x8004, 20 - setvar VAR_0x8005, 0 - special CallFrontierUtilFunc - message BattleFrontier_BattleDomeBattleRoom_Text_24CB34 +BattleFrontier_BattleDomeBattleRoom_EventScript_OpponentWonDraw:: @ 824BEC5 + frontier_gettrainername 0 + message BattleFrontier_BattleDomeBattleRoom_Text_RefereesDecidedWinnerTrainer waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24BED9:: @ 824BED9 - message BattleFrontier_BattleDomeBattleRoom_Text_24D6BE +BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerWonDraw:: @ 824BED9 + message BattleFrontier_BattleDomeBattleRoom_Text_RefereesDecidedWinnerTucker waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0:: @ 824BEE0 - applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4 +BattleFrontier_BattleDomeBattleRoom_EventScript_DefeatedOpponent:: @ 824BEE0 + applymovement 1, Common_Movement_WalkInPlaceDown waitmovement 0 - compare VAR_TEMP_2, 0 - call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BFC3 - compare VAR_TEMP_2, 1 - call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BFCC + compare VAR_TEMP_2, NO_DRAW + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWon + compare VAR_TEMP_2, DRAW_TRAINER + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWonDraw playse SE_W227B - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround delay 60 - setvar VAR_0x8004, 3 - special CallBattleDomeFunction - setvar VAR_0x8004, 12 - setvar VAR_0x8005, 1 - special CallBattleDomeFunction - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc + dome_getroundtext + dome_resolvewinners DOME_PLAYER_WON_MATCH + frontier_get FRONTIER_DATA_BATTLE_NUM addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT switch VAR_RESULT - case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62 + case DOME_ROUNDS_COUNT, BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney setvar VAR_0x8006, 1 warp MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM, 255, 5, 3 waitstate -BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62:: @ 824BF62 - applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C77D +BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney:: @ 824BF62 + applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerApproachAudience waitmovement 0 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special CallFrontierUtilFunc + frontier_get FRONTIER_DATA_LVL_MODE switch VAR_RESULT - case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF96 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA04, MSGBOX_DEFAULT - goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF9E + case FRONTIER_LVL_OPEN, BattleFrontier_BattleDomeBattleRoom_EventScript_WonLvOpenTourney + msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsLv50Champ, MSGBOX_DEFAULT + goto BattleFrontier_BattleDomeBattleRoom_EventScript_CelebrateWin -BattleFrontier_BattleDomeBattleRoom_EventScript_24BF96:: @ 824BF96 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA44, MSGBOX_DEFAULT - -BattleFrontier_BattleDomeBattleRoom_EventScript_24BF9E:: @ 824BF9E - special sub_8175280 +BattleFrontier_BattleDomeBattleRoom_EventScript_WonLvOpenTourney:: @ 824BF96 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsLvOpenChamp, MSGBOX_DEFAULT +BattleFrontier_BattleDomeBattleRoom_EventScript_CelebrateWin:: @ 824BF9E + special DoConfettiEffect playse SE_W227B - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround delay 60 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 3 - special CallFrontierUtilFunc - goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5 + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON + goto BattleFrontier_BattleDomeBattleRoom_EventScript_WarpToLobby -BattleFrontier_BattleDomeBattleRoom_EventScript_24BFC3:: @ 824BFC3 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C9BE, MSGBOX_DEFAULT +BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWon:: @ 824BFC3 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsWinner, MSGBOX_DEFAULT return -BattleFrontier_BattleDomeBattleRoom_EventScript_24BFCC:: @ 824BFCC - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CB9D, MSGBOX_DEFAULT +BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWonDraw:: @ 824BFCC + msgbox BattleFrontier_BattleDomeBattleRoom_Text_RefereesDecidedWinnerPlayer, MSGBOX_DEFAULT return -BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5:: @ 824BFD5 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 6 - special CallBattleDomeFunction - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C023 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 7 - special CallBattleDomeFunction - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C076 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special CallBattleDomeFunction - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C16A - goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C9 +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayer:: @ 824BFD5 + dome_get DOME_DATA_ATTEMPTED_CHALLENGE + compare VAR_RESULT, FALSE + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttempt + dome_get DOME_DATA_HAS_WON_CHALLENGE + compare VAR_RESULT, FALSE + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWon + dome_get DOME_DATA_WIN_STREAK_ACTIVE + compare VAR_RESULT, FALSE + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreak + goto BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampion return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C023:: @ 824C023 - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttempt:: @ 824C023 + call BattleFrontier_BattleDomeBattleRoom_EventScript_GetRoundNum switch VAR_RESULT - case 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C05A - case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C061 - case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C068 - case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C06F + case DOME_ROUND1, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttemptRound1 + case DOME_ROUND2, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttemptRound2 + case DOME_SEMIFINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttemptSemifinal + case DOME_FINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttemptFinal return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C05A:: @ 824C05A - message BattleFrontier_BattleDomeBattleRoom_Text_24CC06 +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttemptRound1:: @ 824C05A + message BattleFrontier_BattleDomeBattleRoom_Text_BrightNewHope waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C061:: @ 824C061 - message BattleFrontier_BattleDomeBattleRoom_Text_24CC1C +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttemptRound2:: @ 824C061 + message BattleFrontier_BattleDomeBattleRoom_Text_RisingStar waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C068:: @ 824C068 - message BattleFrontier_BattleDomeBattleRoom_Text_24CC2E +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttemptSemifinal:: @ 824C068 + message BattleFrontier_BattleDomeBattleRoom_Text_WillTheyRaceToChampionship waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C06F:: @ 824C06F - message BattleFrontier_BattleDomeBattleRoom_Text_24CC5B +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttemptFinal:: @ 824C06F + message BattleFrontier_BattleDomeBattleRoom_Text_CanAchieveChampionFirstTry waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C076:: @ 824C076 - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWon:: @ 824C076 + call BattleFrontier_BattleDomeBattleRoom_EventScript_GetRoundNum switch VAR_RESULT - case 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C0AD - case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C0B4 - case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C0BB - case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C2 + case DOME_ROUND1, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonRound1 + case DOME_ROUND2, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonRound2 + case DOME_SEMIFINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonSemifinal + case DOME_FINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonFinal return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C0AD:: @ 824C0AD - message BattleFrontier_BattleDomeBattleRoom_Text_24CC99 +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonRound1:: @ 824C0AD + message BattleFrontier_BattleDomeBattleRoom_Text_CanLossBeAvenged waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C0B4:: @ 824C0B4 - message BattleFrontier_BattleDomeBattleRoom_Text_24CCC5 +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonRound2:: @ 824C0B4 + message BattleFrontier_BattleDomeBattleRoom_Text_OnFireForChampionship waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C0BB:: @ 824C0BB - message BattleFrontier_BattleDomeBattleRoom_Text_24CCFD +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonSemifinal:: @ 824C0BB + message BattleFrontier_BattleDomeBattleRoom_Text_WinHereAdvancesToFinal waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C2:: @ 824C0C2 - message BattleFrontier_BattleDomeBattleRoom_Text_24CD33 +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonFinal:: @ 824C0C2 + message BattleFrontier_BattleDomeBattleRoom_Text_WillLongHeldDreamComeTrue waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C9:: @ 824C0C9 - compare VAR_TEMP_F, 3 - goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C105 +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampion:: @ 824C0C9 + compare VAR_TEMP_F, DOME_FINAL + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionNoTucker switch VAR_TEMP_E - case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C158 - case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C161 - case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C158 - case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24C161 - -BattleFrontier_BattleDomeBattleRoom_EventScript_24C105:: @ 824C105 - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD + case FRONTIER_BRAIN_SILVER, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerPreTuckerSilver + case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerPreTuckerGold + case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerPreTuckerSilver + case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerPreTuckerGold +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionNoTucker:: @ 824C105 + call BattleFrontier_BattleDomeBattleRoom_EventScript_GetRoundNum switch VAR_RESULT - case 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C13C - case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C143 - case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C14A - case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C151 + case DOME_ROUND1, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionRound1 + case DOME_ROUND2, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionRound2 + case DOME_SEMIFINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionSemifinal + case DOME_FINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionFinal return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C13C:: @ 824C13C - message BattleFrontier_BattleDomeBattleRoom_Text_24CD72 +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionRound1:: @ 824C13C + message BattleFrontier_BattleDomeBattleRoom_Text_TheInvincibleChampion waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C143:: @ 824C143 - message BattleFrontier_BattleDomeBattleRoom_Text_24CD8C +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionRound2:: @ 824C143 + message BattleFrontier_BattleDomeBattleRoom_Text_CanAnyoneHopeToBeatTrainer waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C14A:: @ 824C14A - message BattleFrontier_BattleDomeBattleRoom_Text_24CDB3 +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionSemifinal:: @ 824C14A + message BattleFrontier_BattleDomeBattleRoom_Text_DoBattlesExistSolelyForTrainer waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C151:: @ 824C151 - message BattleFrontier_BattleDomeBattleRoom_Text_24CDDE +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionFinal:: @ 824C151 + message BattleFrontier_BattleDomeBattleRoom_Text_CurrentChampAimingToRetainTitle waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C158:: @ 824C158 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CEBE, MSGBOX_DEFAULT +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerPreTuckerSilver:: @ 824C158 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_FeelGlowOfTrueMaster, MSGBOX_DEFAULT return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C161:: @ 824C161 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D232, MSGBOX_DEFAULT +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerPreTuckerGold:: @ 824C161 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_CanWinStreakBeStretched, MSGBOX_DEFAULT return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C16A:: @ 824C16A - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreak:: @ 824C16A + call BattleFrontier_BattleDomeBattleRoom_EventScript_GetRoundNum switch VAR_RESULT - case 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1A1 - case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1A8 - case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1AF - case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1B6 + case DOME_ROUND1, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreakRound1 + case DOME_ROUND2, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreakRound2 + case DOME_SEMIFINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreakSemifinal + case DOME_FINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreakFinal return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C1A1:: @ 824C1A1 - message BattleFrontier_BattleDomeBattleRoom_Text_24CE10 +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreakRound1:: @ 824C1A1 + message BattleFrontier_BattleDomeBattleRoom_Text_FormerChampHasReturned waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C1A8:: @ 824C1A8 - message BattleFrontier_BattleDomeBattleRoom_Text_24CE33 +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreakRound2:: @ 824C1A8 + message BattleFrontier_BattleDomeBattleRoom_Text_FormerToughnessReturned waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C1AF:: @ 824C1AF - message BattleFrontier_BattleDomeBattleRoom_Text_24CE57 +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreakSemifinal:: @ 824C1AF + message BattleFrontier_BattleDomeBattleRoom_Text_WillDoExpectedAdvanceToFinals waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C1B6:: @ 824C1B6 - message BattleFrontier_BattleDomeBattleRoom_Text_24CE94 +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreakFinal:: @ 824C1B6 + message BattleFrontier_BattleDomeBattleRoom_Text_WillFormerChampRegainGlory waitmessage return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD:: @ 824C1BD - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc +BattleFrontier_BattleDomeBattleRoom_EventScript_GetRoundNum:: @ 824C1BD + frontier_get FRONTIER_DATA_BATTLE_NUM return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB:: @ 824C1CB +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTucker:: @ 824C1CB switch VAR_TEMP_E - case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1FC - case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C209 - case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1FC - case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24C209 + case FRONTIER_BRAIN_SILVER, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTuckerSilver + case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTuckerGold + case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTuckerSilver + case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTuckerGold -BattleFrontier_BattleDomeBattleRoom_EventScript_24C1FC:: @ 824C1FC - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CEDE, MSGBOX_DEFAULT - goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C211 +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTuckerSilver:: @ 824C1FC + msgbox BattleFrontier_BattleDomeBattleRoom_Text_MakeWayForDomeAceTucker, MSGBOX_DEFAULT + goto BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerEnter -BattleFrontier_BattleDomeBattleRoom_EventScript_24C209:: @ 824C209 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D26C, MSGBOX_DEFAULT - -BattleFrontier_BattleDomeBattleRoom_EventScript_24C211:: @ 824C211 +BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTuckerGold:: @ 824C209 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_LegendHasReturnedDomeAceTucker, MSGBOX_DEFAULT +BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerEnter:: @ 824C211 closemessage - applymovement 2, BattleFrontier_BattleDomeBattleRoom_Movement_24C94B - applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_24C7F9 - applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C78E + applymovement 2, BattleFrontier_BattleDomeBattleRoom_Movement_AudienceTwinJump + applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_RefereeMoveForTuckerEntrance + applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerEnterAndDance playse SE_W227B - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround waitse playse SE_W227B - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround waitse playse SE_W227B - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround waitse playse SE_W227B - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround waitse playse SE_W227B - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround waitse waitmovement 0 - message BattleFrontier_BattleDomeBattleRoom_Text_24CF7A + message BattleFrontier_BattleDomeBattleRoom_Text_SpectatorTuckerChant waitmessage playse SE_W227B - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround waitse switch VAR_TEMP_E - case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C346 - case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9 - case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24C373 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CFAE, MSGBOX_DEFAULT - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - -BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9:: @ 824C2B9 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0D9, MSGBOX_DEFAULT - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C400 + case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerGoldIntro + case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerSilver + case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerGold + frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH + compare VAR_RESULT, FALSE + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerSilver + msgbox BattleFrontier_BattleDomeBattleRoom_Text_TuckerSilverIntro, MSGBOX_DEFAULT + frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH +BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerSilver:: @ 824C2B9 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_LetsSeeYourStrategy, MSGBOX_DEFAULT + call BattleFrontier_BattleDomeBattleRoom_EventScript_DoTuckerBattle switch VAR_RESULT - case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420 - case 9, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420 - case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C436 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0F6, MSGBOX_DEFAULT - setvar VAR_0x8004, 12 - setvar VAR_0x8005, 1 - special CallBattleDomeFunction - setvar VAR_0x8004, 12 - special CallFrontierUtilFunc + case B_OUTCOME_LOST, BattleFrontier_BattleDomeBattleRoom_EventScript_LostToTucker + case B_OUTCOME_FORFEITED, BattleFrontier_BattleDomeBattleRoom_EventScript_LostToTucker + case B_OUTCOME_DREW, BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerDraw + msgbox BattleFrontier_BattleDomeBattleRoom_Text_IncredibleVictorIsPlayer, MSGBOX_DEFAULT + dome_resolvewinners DOME_PLAYER_WON_MATCH + frontier_getsymbols compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62 + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney closemessage - applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C82B + applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerApproachPlayer waitmovement 0 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D172, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleDomeBattleRoom_Text_SeeYourFrontierPass, MSGBOX_DEFAULT playfanfare MUS_ME_SYMBOLGET - message BattleFrontier_BattleDomeBattleRoom_Text_24D1AA + message BattleFrontier_BattleDomeBattleRoom_Text_ReceivedTacticsSymbol waitmessage waitfanfare - setvar VAR_0x8004, 13 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D1E0, MSGBOX_DEFAULT - goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62 + frontier_givesymbol + msgbox BattleFrontier_BattleDomeBattleRoom_Text_WontUnderestimateYouNextTime, MSGBOX_DEFAULT + goto BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney -BattleFrontier_BattleDomeBattleRoom_EventScript_24C346:: @ 824C346 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C373 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D319, MSGBOX_DEFAULT - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - -BattleFrontier_BattleDomeBattleRoom_EventScript_24C373:: @ 824C373 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D43E, MSGBOX_DEFAULT - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C400 +BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerGoldIntro:: @ 824C346 + frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH + compare VAR_RESULT, FALSE + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerGold + msgbox BattleFrontier_BattleDomeBattleRoom_Text_TuckerGoldIntro, MSGBOX_DEFAULT + frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH +BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerGold:: @ 824C373 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_UnleashAllPowerIPossess, MSGBOX_DEFAULT + call BattleFrontier_BattleDomeBattleRoom_EventScript_DoTuckerBattle switch VAR_RESULT - case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420 - case 9, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420 - case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C436 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0F6, MSGBOX_DEFAULT - setvar VAR_0x8004, 12 - setvar VAR_0x8005, 1 - special CallBattleDomeFunction - setvar VAR_0x8004, 12 - special CallFrontierUtilFunc + case B_OUTCOME_LOST, BattleFrontier_BattleDomeBattleRoom_EventScript_LostToTucker + case B_OUTCOME_FORFEITED, BattleFrontier_BattleDomeBattleRoom_EventScript_LostToTucker + case B_OUTCOME_DREW, BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerDraw + msgbox BattleFrontier_BattleDomeBattleRoom_Text_IncredibleVictorIsPlayer, MSGBOX_DEFAULT + dome_resolvewinners DOME_PLAYER_WON_MATCH + frontier_getsymbols compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62 + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney closemessage - applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C82B + applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerApproachPlayer waitmovement 0 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D47F, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleDomeBattleRoom_Text_NeverLostWhenPowerUnleashed, MSGBOX_DEFAULT playfanfare MUS_ME_SYMBOLGET - message BattleFrontier_BattleDomeBattleRoom_Text_24D522 + message BattleFrontier_BattleDomeBattleRoom_Text_TacticsSymbolTookGoldenShine waitmessage waitfanfare - setvar VAR_0x8004, 13 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D54D, MSGBOX_DEFAULT - goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62 + frontier_givesymbol + msgbox BattleFrontier_BattleDomeBattleRoom_Text_LookForwardToNextEncounter, MSGBOX_DEFAULT + goto BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney -BattleFrontier_BattleDomeBattleRoom_EventScript_24C400:: @ 824C400 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D677, MSGBOX_DEFAULT +BattleFrontier_BattleDomeBattleRoom_EventScript_DoTuckerBattle:: @ 824C400 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerVersusTucker, MSGBOX_DEFAULT closemessage - applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C787 - applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C829 + applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerStepForward2 + applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerStepForward waitmovement 0 - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C440 + call BattleFrontier_BattleDomeBattleRoom_EventScript_DoDomeBattle return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C420:: @ 824C420 - msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D127, MSGBOX_DEFAULT +BattleFrontier_BattleDomeBattleRoom_EventScript_LostToTucker:: @ 824C420 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_WinnerIsTucker, MSGBOX_DEFAULT playse SE_W227B - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround waitse - goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BE8D + goto BattleFrontier_BattleDomeBattleRoom_EventScript_LostTourney -BattleFrontier_BattleDomeBattleRoom_EventScript_24C436:: @ 824C436 - setvar VAR_TEMP_2, 2 - goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7 +BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerDraw:: @ 824C436 + setvar VAR_TEMP_2, DRAW_TUCKER + goto BattleFrontier_BattleDomeBattleRoom_EventScript_Draw -BattleFrontier_BattleDomeBattleRoom_EventScript_24C440:: @ 824C440 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 6 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc +BattleFrontier_BattleDomeBattleRoom_EventScript_DoDomeBattle:: @ 824C440 + frontier_set FRONTIER_DATA_RECORD_DISABLED, FALSE special HealPlayerParty setvar VAR_0x8004, SPECIAL_BATTLE_DOME setvar VAR_0x8005, 0 @@ -535,66 +467,61 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C440:: @ 824C440 special DoSpecialTrainerBattle waitstate setvar VAR_TEMP_9, 0 - setvar VAR_0x8004, 17 - special CallBattleDomeFunction + dome_restorehelditems special HealPlayerParty - setvar VAR_0x8004, 16 - special CallBattleDomeFunction + dome_resetsketch return -BattleFrontier_BattleDomeBattleRoom_MapScript2_24C481: @ 824C481 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B +BattleFrontier_BattleDomeBattleRoom_OnWarp: @ 824C481 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_SetUpObjects .2byte 0 -BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B:: @ 824C48B +BattleFrontier_BattleDomeBattleRoom_EventScript_SetUpObjects:: @ 824C48B hideobjectat 13, MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C502 - call BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC + call BattleFrontier_BattleDomeBattleRoom_EventScript_AddAudience + call BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfx setvar VAR_TEMP_1, 1 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_24C773 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc - compare VAR_RESULT, 3 - goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF - setvar VAR_0x8004, 9 - special CallFrontierUtilFunc + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisible + frontier_get FRONTIER_DATA_BATTLE_NUM + compare VAR_RESULT, DOME_FINAL + goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_EndSetUpObjects + frontier_getbrainstatus copyvar VAR_TEMP_E, VAR_RESULT - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF - call BattleFrontier_BattleDomeBattleRoom_EventScript_242170 + compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY + goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_EndSetUpObjects + call BattleFrontier_EventScript_SetBrainObjectGfx setobjectxyperm 15, 13, 9 removeobject 15 addobject 15 - applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C78B - -BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF:: @ 824C4EF + applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisibleFacingUp +BattleFrontier_BattleDomeBattleRoom_EventScript_EndSetUpObjects:: @ 824C4EF end -BattleFrontier_BattleDomeBattleRoom_MapScript1_24C4F0: @ 824C4F0 +BattleFrontier_BattleDomeBattleRoom_OnResume: @ 824C4F0 compare VAR_TEMP_9, 1 - call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_CallAddAudience end -BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC:: @ 824C4FC - call BattleFrontier_BattleDomeBattleRoom_EventScript_24C502 +BattleFrontier_BattleDomeBattleRoom_EventScript_CallAddAudience:: @ 824C4FC + call BattleFrontier_BattleDomeBattleRoom_EventScript_AddAudience return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C502:: @ 824C502 - compare VAR_TEMP_F, 0 - call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C52F - compare VAR_TEMP_F, 1 - call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C530 - compare VAR_TEMP_F, 2 - call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C594 - compare VAR_TEMP_F, 3 - call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C652 +@ Add audience members to supplement the permanent object event audience +BattleFrontier_BattleDomeBattleRoom_EventScript_AddAudience:: @ 824C502 + compare VAR_TEMP_F, DOME_ROUND1 + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AddRound1Audience + compare VAR_TEMP_F, DOME_ROUND2 + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AddRound2Audience + compare VAR_TEMP_F, DOME_SEMIFINAL + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AddSemifinalAudience + compare VAR_TEMP_F, DOME_FINAL + call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AddFinalAudience return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C52F:: @ 824C52F +BattleFrontier_BattleDomeBattleRoom_EventScript_AddRound1Audience:: @ 824C52F return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C530:: @ 824C530 +BattleFrontier_BattleDomeBattleRoom_EventScript_AddRound2Audience:: @ 824C530 createvobject EVENT_OBJ_GFX_SCIENTIST_1, 1, 3, 0, 3, DIR_SOUTH createvobject EVENT_OBJ_GFX_EXPERT_F, 4, 6, 0, 3, DIR_SOUTH createvobject EVENT_OBJ_GFX_NINJA_BOY, 6, 8, 0, 3, DIR_SOUTH @@ -608,7 +535,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C530:: @ 824C530 createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 5, 1, 3, DIR_SOUTH return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C594:: @ 824C594 +BattleFrontier_BattleDomeBattleRoom_EventScript_AddSemifinalAudience:: @ 824C594 createvobject EVENT_OBJ_GFX_SCIENTIST_1, 1, 3, 0, 3, DIR_SOUTH createvobject EVENT_OBJ_GFX_EXPERT_F, 4, 6, 0, 3, DIR_SOUTH createvobject EVENT_OBJ_GFX_NINJA_BOY, 6, 8, 0, 3, DIR_SOUTH @@ -632,7 +559,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C594:: @ 824C594 createvobject EVENT_OBJ_GFX_WOMAN_5, 31, 8, 2, 3, 1 return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C652:: @ 824C652 +BattleFrontier_BattleDomeBattleRoom_EventScript_AddFinalAudience:: @ 824C652 createvobject EVENT_OBJ_GFX_NINJA_BOY, 0, 2, 0, 3, DIR_SOUTH createvobject EVENT_OBJ_GFX_SCIENTIST_1, 1, 3, 0, 3, DIR_SOUTH createvobject EVENT_OBJ_GFX_BEAUTY, 2, 15, 0, 3, DIR_SOUTH @@ -667,28 +594,27 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C652:: @ 824C652 createvobject EVENT_OBJ_GFX_WOMAN_5, 31, 8, 2, 3, DIR_SOUTH return -BattleFrontier_BattleArenaBattleRoom_Movement_24C773: @ 824C773 -BattleFrontier_BattleDomeBattleRoom_Movement_24C773: @ 824C773 +BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisible: @ 824C773 set_invisible step_end -BattleFrontier_BattleDomeBattleRoom_Movement_24C775: @ 824C775 +BattleFrontier_BattleDomeBattleRoom_Movement_PlayerEnter: @ 824C775 set_visible delay_16 walk_up walk_up walk_up walk_right - -BattleFrontier_BattleDomeBattleRoom_Movement_24C77B: @ 824C77B +BattleFrontier_BattleDomeBattleRoom_Movement_PlayerStepForward: @ 824C77B walk_right step_end -BattleFrontier_BattleDomeBattleRoom_Movement_24C77D: @ 824C77D +BattleFrontier_BattleDomeBattleRoom_Movement_PlayerApproachAudience: @ 824C77D walk_up step_end -BattleFrontier_BattleDomeBattleRoom_Movement_24C77F: @ 824C77F +@ Identical to Movement_PlayerEnter +BattleFrontier_BattleDomeBattleRoom_Movement_PlayerEnterForTucker: @ 824C77F set_visible delay_16 walk_up @@ -698,20 +624,20 @@ BattleFrontier_BattleDomeBattleRoom_Movement_24C77F: @ 824C77F walk_right step_end -BattleFrontier_BattleDomeBattleRoom_Movement_24C787: @ 824C787 +BattleFrontier_BattleDomeBattleRoom_Movement_PlayerStepForward2: @ 824C787 walk_right step_end -BattleFrontier_BattleDomeBattleRoom_Movement_24C789: @ 824C789 +BattleFrontier_BattleDomeBattleRoom_Movement_OpponentStepForward: @ 824C789 walk_left step_end -BattleFrontier_BattleDomeBattleRoom_Movement_24C78B: @ 824C78B +BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisibleFacingUp: @ 824C78B face_up set_invisible step_end -BattleFrontier_BattleDomeBattleRoom_Movement_24C78E: @ 824C78E +BattleFrontier_BattleDomeBattleRoom_Movement_TuckerEnterAndDance: @ 824C78E set_visible walk_up walk_up @@ -820,7 +746,7 @@ BattleFrontier_BattleDomeBattleRoom_Movement_24C78E: @ 824C78E walk_left step_end -BattleFrontier_BattleDomeBattleRoom_Movement_24C7F9: @ 824C7F9 +BattleFrontier_BattleDomeBattleRoom_Movement_RefereeMoveForTuckerEntrance: @ 824C7F9 delay_16 delay_16 walk_left @@ -870,99 +796,99 @@ BattleFrontier_BattleDomeBattleRoom_Movement_24C7F9: @ 824C7F9 walk_in_place_fastest_down step_end -BattleFrontier_BattleDomeBattleRoom_Movement_24C829: @ 824C829 +BattleFrontier_BattleDomeBattleRoom_Movement_TuckerStepForward: @ 824C829 walk_left step_end -BattleFrontier_BattleDomeBattleRoom_Movement_24C82B: @ 824C82B +BattleFrontier_BattleDomeBattleRoom_Movement_TuckerApproachPlayer: @ 824C82B walk_left walk_left 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 +BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround:: @ 824C82E + 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 -BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5:: @ 824C8F5 -BattleFrontier_BattleDomePreBattleRoom_EventScript_24C8F5:: @ 824C8F5 +BattleFrontier_BattleDomeBattleRoom_EventScript_WarpToLobby:: @ 824C8F5 copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24C90F + compare VAR_RESULT, FRONTIER_MODE_DOUBLES + goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_WarpToLobbyDoubles warp MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 255, 5, 11 waitstate end -BattleFrontier_BattleDomePreBattleRoom_EventScript_24C90F:: @ 824C90F +BattleFrontier_BattleDomePreBattleRoom_EventScript_WarpToLobbyDoubles:: @ 824C90F warp MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 255, 17, 11 waitstate end -BattleFrontier_BattleDomeBattleRoom_EventScript_24C919:: @ 824C919 +@ On round 1 there's a 50% chance that a specific audience member will walk to his seat +BattleFrontier_BattleDomeBattleRoom_EventScript_SetWalkingAudienceMemberPos:: @ 824C919 random 2 copyvar VAR_TEMP_D, VAR_RESULT compare VAR_TEMP_D, 0 @@ -971,13 +897,13 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C919:: @ 824C919 setobjectmovementtype 6, MOVEMENT_TYPE_FACE_RIGHT return -BattleFrontier_BattleDomeBattleRoom_EventScript_24C938:: @ 824C938 +BattleFrontier_BattleDomeBattleRoom_EventScript_TryDoAudienceMemberWalkToSeat:: @ 824C938 compare VAR_TEMP_D, 0 goto_if_eq Common_EventScript_NopReturn - applymovement 6, BattleFrontier_BattleDomeBattleRoom_Movement_24C95E + applymovement 6, BattleFrontier_BattleDomeBattleRoom_Movement_AudienceMemberWalkToSeat return -BattleFrontier_BattleDomeBattleRoom_Movement_24C94B: @ 824C94B +BattleFrontier_BattleDomeBattleRoom_Movement_AudienceTwinJump: @ 824C94B delay_16 delay_16 delay_16 @@ -998,7 +924,7 @@ BattleFrontier_BattleDomeBattleRoom_Movement_24C94B: @ 824C94B enable_jump_landing_ground_effect step_end -BattleFrontier_BattleDomeBattleRoom_Movement_24C95E: @ 824C95E +BattleFrontier_BattleDomeBattleRoom_Movement_AudienceMemberWalkToSeat: @ 824C95E walk_down walk_down walk_right @@ -1006,52 +932,52 @@ BattleFrontier_BattleDomeBattleRoom_Movement_24C95E: @ 824C95E walk_in_place_fastest_down step_end -BattleFrontier_BattleDomeBattleRoom_Movement_24C964: @ 824C964 +BattleFrontier_BattleDomeBattleRoom_Movement_TieRefereeEnter: @ 824C964 walk_right walk_right walk_right walk_right step_end -BattleFrontier_BattleDomeBattleRoom_Movement_24C969: @ 824C969 +BattleFrontier_BattleDomeBattleRoom_Movement_RefereeFaceLeft: @ 824C969 walk_in_place_fastest_left step_end -BattleFrontier_BattleDomeBattleRoom_Movement_24C96B: @ 824C96B +BattleFrontier_BattleDomeBattleRoom_Movement_TieRefereeExit: @ 824C96B walk_left walk_left walk_left walk_left step_end -BattleFrontier_BattleDomeBattleRoom_Text_24C970: @ 824C970 +BattleFrontier_BattleDomeBattleRoom_Text_PlayerHasEnteredDome: @ 824C970 .string "{PLAYER} has entered the BATTLE DOME!$" -BattleFrontier_BattleDomeBattleRoom_Text_24C990: @ 824C990 +BattleFrontier_BattleDomeBattleRoom_Text_PlayerVersusTrainer: @ 824C990 .string "{STR_VAR_1}\n" .string "match!\p" .string "{PLAYER} versus {STR_VAR_2}!\p" .string "Let the battle begin!$" -BattleFrontier_BattleDomeBattleRoom_Text_24C9BE: @ 824C9BE +BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsWinner: @ 824C9BE .string "{PLAYER} is the winner!\n" .string "Congratulations!$" -BattleFrontier_BattleDomeBattleRoom_Text_24C9E1: @ 824C9E1 +BattleFrontier_BattleDomeBattleRoom_Text_TrainerIsWinner: @ 824C9E1 .string "{STR_VAR_2} is the winner!\n" .string "Congratulations!$" -BattleFrontier_BattleDomeBattleRoom_Text_24CA04: @ 824CA04 +BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsLv50Champ: @ 824CA04 .string "{PLAYER} is the Level 50\n" .string "Battle Tournament Champion!\p" .string "Congratulations!$" -BattleFrontier_BattleDomeBattleRoom_Text_24CA44: @ 824CA44 +BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsLvOpenChamp: @ 824CA44 .string "{PLAYER} is the Open Level\n" .string "Battle Tournament Champion!\p" .string "Congratulations!$" -BattleFrontier_BattleDomeBattleRoom_Text_24CA86: @ 824CA86 +BattleFrontier_BattleDomeBattleRoom_Text_RefereeDecisionPleaseWait: @ 824CA86 .string "What an unbelievable finish!\n" .string "We have a double knockout!\p" .string "In this event, the Battle Tournament\n" @@ -1059,7 +985,7 @@ BattleFrontier_BattleDomeBattleRoom_Text_24CA86: @ 824CA86 .string "Please wait while the judging\n" .string "is under way.$" -BattleFrontier_BattleDomeBattleRoom_Text_24CB34: @ 824CB34 +BattleFrontier_BattleDomeBattleRoom_Text_RefereesDecidedWinnerTrainer: @ 824CB34 .string "The REFEREES have reached\n" .string "a decision!\p" .string "The winner is…\n" @@ -1067,7 +993,7 @@ BattleFrontier_BattleDomeBattleRoom_Text_24CB34: @ 824CB34 .string "The winner is {STR_VAR_1}!\l" .string "Congratulations!$" -BattleFrontier_BattleDomeBattleRoom_Text_24CB9D: @ 824CB9D +BattleFrontier_BattleDomeBattleRoom_Text_RefereesDecidedWinnerPlayer: @ 824CB9D .string "The REFEREES have reached\n" .string "a decision!\p" .string "The winner is…\n" @@ -1075,85 +1001,85 @@ BattleFrontier_BattleDomeBattleRoom_Text_24CB9D: @ 824CB9D .string "The winner is {PLAYER}!\l" .string "Congratulations!$" -BattleFrontier_BattleDomeBattleRoom_Text_24CC06: @ 824CC06 +BattleFrontier_BattleDomeBattleRoom_Text_BrightNewHope: @ 824CC06 .string "The bright new hope!\p" .string "$" -BattleFrontier_BattleDomeBattleRoom_Text_24CC1C: @ 824CC1C +BattleFrontier_BattleDomeBattleRoom_Text_RisingStar: @ 824CC1C .string "The rising star!\p" .string "$" -BattleFrontier_BattleDomeBattleRoom_Text_24CC2E: @ 824CC2E +BattleFrontier_BattleDomeBattleRoom_Text_WillTheyRaceToChampionship: @ 824CC2E .string "Will this TRAINER race to\n" .string "the championship?\p" .string "$" -BattleFrontier_BattleDomeBattleRoom_Text_24CC5B: @ 824CC5B +BattleFrontier_BattleDomeBattleRoom_Text_CanAchieveChampionFirstTry: @ 824CC5B .string "Can the feat of a championship\n" .string "on the first try be achieved?\p" .string "$" -BattleFrontier_BattleDomeBattleRoom_Text_24CC99: @ 824CC99 +BattleFrontier_BattleDomeBattleRoom_Text_CanLossBeAvenged: @ 824CC99 .string "Can the loss of the last match\n" .string "be avenged?\p" .string "$" -BattleFrontier_BattleDomeBattleRoom_Text_24CCC5: @ 824CCC5 +BattleFrontier_BattleDomeBattleRoom_Text_OnFireForChampionship: @ 824CCC5 .string "The TRAINER is on fire for\n" .string "the first championship try!\p" .string "$" -BattleFrontier_BattleDomeBattleRoom_Text_24CCFD: @ 824CCFD +BattleFrontier_BattleDomeBattleRoom_Text_WinHereAdvancesToFinal: @ 824CCFD .string "A win here means this TRAINER\n" .string "advances to the final!\p" .string "$" -BattleFrontier_BattleDomeBattleRoom_Text_24CD33: @ 824CD33 +BattleFrontier_BattleDomeBattleRoom_Text_WillLongHeldDreamComeTrue: @ 824CD33 .string "Will the long-held dream of\n" .string "a championship finally come true?\p" .string "$" -BattleFrontier_BattleDomeBattleRoom_Text_24CD72: @ 824CD72 +BattleFrontier_BattleDomeBattleRoom_Text_TheInvincibleChampion: @ 824CD72 .string "The invincible champion!\p" .string "$" -BattleFrontier_BattleDomeBattleRoom_Text_24CD8C: @ 824CD8C +BattleFrontier_BattleDomeBattleRoom_Text_CanAnyoneHopeToBeatTrainer: @ 824CD8C .string "Can anyone hope to beat this\n" .string "TRAINER?\p" .string "$" -BattleFrontier_BattleDomeBattleRoom_Text_24CDB3: @ 824CDB3 +BattleFrontier_BattleDomeBattleRoom_Text_DoBattlesExistSolelyForTrainer: @ 824CDB3 .string "Do battles exist solely for\n" .string "this TRAINER?\p" .string "$" -BattleFrontier_BattleDomeBattleRoom_Text_24CDDE: @ 824CDDE +BattleFrontier_BattleDomeBattleRoom_Text_CurrentChampAimingToRetainTitle: @ 824CDDE .string "The current champion aiming to\n" .string "retain the title!\p" .string "$" -BattleFrontier_BattleDomeBattleRoom_Text_24CE10: @ 824CE10 +BattleFrontier_BattleDomeBattleRoom_Text_FormerChampHasReturned: @ 824CE10 .string "The former champion has returned!\p" .string "$" -BattleFrontier_BattleDomeBattleRoom_Text_24CE33: @ 824CE33 +BattleFrontier_BattleDomeBattleRoom_Text_FormerToughnessReturned: @ 824CE33 .string "The former toughness has returned!\p" .string "$" -BattleFrontier_BattleDomeBattleRoom_Text_24CE57: @ 824CE57 +BattleFrontier_BattleDomeBattleRoom_Text_WillDoExpectedAdvanceToFinals: @ 824CE57 .string "Will this TRAINER do as expected\n" .string "and advance to the finals?\p" .string "$" -BattleFrontier_BattleDomeBattleRoom_Text_24CE94: @ 824CE94 +BattleFrontier_BattleDomeBattleRoom_Text_WillFormerChampRegainGlory: @ 824CE94 .string "Will the former champ regain\n" .string "lost glory?\p" .string "$" -BattleFrontier_BattleDomeBattleRoom_Text_24CEBE: @ 824CEBE +BattleFrontier_BattleDomeBattleRoom_Text_FeelGlowOfTrueMaster: @ 824CEBE .string "Feel the glow of a true master!$" -BattleFrontier_BattleDomeBattleRoom_Text_24CEDE: @ 824CEDE +BattleFrontier_BattleDomeBattleRoom_Text_MakeWayForDomeAceTucker: @ 824CEDE .string "And now… The TRAINER standing in\n" .string "{PLAYER}'s record-setting path…\p" .string "Yes! The one and only!\n" @@ -1161,11 +1087,11 @@ BattleFrontier_BattleDomeBattleRoom_Text_24CEDE: @ 824CEDE .string "Our very own DOME ACE!\l" .string "Make way for TUCKER!$" -BattleFrontier_BattleDomeBattleRoom_Text_24CF7A: @ 824CF7A +BattleFrontier_BattleDomeBattleRoom_Text_SpectatorTuckerChant: @ 824CF7A .string "Spectators: TUCKER! TUCKER!\n" .string "TUCKER! TUCKER! TUCKER!$" -BattleFrontier_BattleDomeBattleRoom_Text_24CFAE: @ 824CFAE +BattleFrontier_BattleDomeBattleRoom_Text_TuckerSilverIntro: @ 824CFAE .string "TUCKER: Ahahah!\p" .string "Do you hear it? This crowd!\n" .string "They're all itching to see our match!\p" @@ -1177,37 +1103,37 @@ BattleFrontier_BattleDomeBattleRoom_Text_24CFAE: @ 824CFAE .string "I, TUCKER the DOME ACE, will bathe you\l" .string "in my brilliant glow!$" -BattleFrontier_BattleDomeBattleRoom_Text_24D0D9: @ 824D0D9 +BattleFrontier_BattleDomeBattleRoom_Text_LetsSeeYourStrategy: @ 824D0D9 .string "Your strategy!\n" .string "Let's see it!$" -BattleFrontier_BattleDomeBattleRoom_Text_24D0F6: @ 824D0F6 +BattleFrontier_BattleDomeBattleRoom_Text_IncredibleVictorIsPlayer: @ 824D0F6 .string "Unbelievable! It's incredible!\n" .string "The victor is {PLAYER}!$" -BattleFrontier_BattleDomeBattleRoom_Text_24D127: @ 824D127 +BattleFrontier_BattleDomeBattleRoom_Text_WinnerIsTucker: @ 824D127 .string "The winner is TUCKER!\n" .string "The DOME ACE has prevailed!\p" .string "Congratulations, TUCKER!$" -BattleFrontier_BattleDomeBattleRoom_Text_24D172: @ 824D172 +BattleFrontier_BattleDomeBattleRoom_Text_SeeYourFrontierPass: @ 824D172 .string "TUCKER: Rules are rules!\n" .string "Let me see your FRONTIER PASS.$" -BattleFrontier_BattleDomeBattleRoom_Text_24D1AA: @ 824D1AA +BattleFrontier_BattleDomeBattleRoom_Text_ReceivedTacticsSymbol: @ 824D1AA .string "The Tactics Symbol was embossed on\n" .string "the FRONTIER PASS!$" -BattleFrontier_BattleDomeBattleRoom_Text_24D1E0: @ 824D1E0 +BattleFrontier_BattleDomeBattleRoom_Text_WontUnderestimateYouNextTime: @ 824D1E0 .string "… … … … … …\p" .string "I sorely underestimated you. I won't\n" .string "make the same mistake next time…$" -BattleFrontier_BattleDomeBattleRoom_Text_24D232: @ 824D232 +BattleFrontier_BattleDomeBattleRoom_Text_CanWinStreakBeStretched: @ 824D232 .string "Can the win streak be stretched?\n" .string "The confidence is there!$" -BattleFrontier_BattleDomeBattleRoom_Text_24D26C: @ 824D26C +BattleFrontier_BattleDomeBattleRoom_Text_LegendHasReturnedDomeAceTucker: @ 824D26C .string "Ladies and gentlemen!\n" .string "Boys, girls, and POKéMON!\p" .string "Finally!\n" @@ -1216,7 +1142,7 @@ BattleFrontier_BattleDomeBattleRoom_Text_24D26C: @ 824D26C .string "Our very own DOME ACE!\l" .string "It's none other than TUCKER!$" -BattleFrontier_BattleDomeBattleRoom_Text_24D319: @ 824D319 +BattleFrontier_BattleDomeBattleRoom_Text_TuckerGoldIntro: @ 824D319 .string "TUCKER: Ah…\n" .string "The pummeling roar of the crowd…\l" .string "Their furnace-like heat of excitement…\l" @@ -1228,22 +1154,22 @@ BattleFrontier_BattleDomeBattleRoom_Text_24D319: @ 824D319 .string "Brighter and more brilliant!\l" .string "I must light all that gather here!$" -BattleFrontier_BattleDomeBattleRoom_Text_24D43E: @ 824D43E +BattleFrontier_BattleDomeBattleRoom_Text_UnleashAllPowerIPossess: @ 824D43E .string "I will unleash all the power that\n" .string "I possess! Right here and now!$" -BattleFrontier_BattleDomeBattleRoom_Text_24D47F: @ 824D47F +BattleFrontier_BattleDomeBattleRoom_Text_NeverLostWhenPowerUnleashed: @ 824D47F .string "TUCKER: You're genuinely fantastic!\p" .string "Never before! I haven't ever lost in the\n" .string "times I've had to unleash my power.\p" .string "Yes, quite fantastic!\n" .string "Your FRONTIER PASS, please?$" -BattleFrontier_BattleDomeBattleRoom_Text_24D522: @ 824D522 +BattleFrontier_BattleDomeBattleRoom_Text_TacticsSymbolTookGoldenShine: @ 824D522 .string "The Tactics Symbol took on\n" .string "a golden shine!$" -BattleFrontier_BattleDomeBattleRoom_Text_24D54D: @ 824D54D +BattleFrontier_BattleDomeBattleRoom_Text_LookForwardToNextEncounter: @ 824D54D .string "You're strong, but above all,\n" .string "you have a unique charm!\p" .string "In you, I see a definite potential for\n" @@ -1251,22 +1177,24 @@ BattleFrontier_BattleDomeBattleRoom_Text_24D54D: @ 824D54D .string "I will very much look forward to\n" .string "our next encounter!$" -BattleFrontier_BattleDomeBattleRoom_Text_24D5F5: @ 824D5F5 +@ Unused +BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsLv50Champ2: @ 824D5F5 .string "{PLAYER} is the Level 50\n" .string "Battle Tournament Champion!\p" .string "Congratulations!$" -BattleFrontier_BattleDomeBattleRoom_Text_24D635: @ 824D635 +@ Unused +BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsLvOpenChamp2: @ 824D635 .string "{PLAYER} is the Open Level\n" .string "Battle Tournament Champion!\p" .string "Congratulations!$" -BattleFrontier_BattleDomeBattleRoom_Text_24D677: @ 824D677 +BattleFrontier_BattleDomeBattleRoom_Text_PlayerVersusTucker: @ 824D677 .string "The final match!\p" .string "{PLAYER} versus the DOME ACE, TUCKER!\p" .string "Let the battle begin!$" -BattleFrontier_BattleDomeBattleRoom_Text_24D6BE: @ 824D6BE +BattleFrontier_BattleDomeBattleRoom_Text_RefereesDecidedWinnerTucker: @ 824D6BE .string "The REFEREES have reached\n" .string "a decision!\p" .string "The winner is…\n" diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc b/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc index c777f7a7a0..be8071c8c9 100644 --- a/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc @@ -1,51 +1,48 @@ BattleFrontier_BattleDomeCorridor_MapScripts:: @ 824B0FE - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeCorridor_MapScript2_24B104 + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeCorridor_OnFrame .byte 0 -BattleFrontier_BattleDomeCorridor_MapScript2_24B104: @ 824B104 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeCorridor_EventScript_24B10E +BattleFrontier_BattleDomeCorridor_OnFrame: @ 824B104 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeCorridor_EventScript_EnterCorridor .2byte 0 -BattleFrontier_BattleDomeCorridor_EventScript_24B10E:: @ 824B10E +BattleFrontier_BattleDomeCorridor_EventScript_EnterCorridor:: @ 824B10E delay 16 setvar VAR_TEMP_0, 1 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special CallFrontierUtilFunc - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleDomeCorridor_EventScript_24B161 - applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1B2 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1A1 + frontier_get FRONTIER_DATA_LVL_MODE + compare VAR_RESULT, FRONTIER_LVL_OPEN + goto_if_eq BattleFrontier_BattleDomeCorridor_EventScript_WalkToBattleRoomLvOpen + applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_AttendantWalkToDoorLv50 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerWalkToDoorLv50 waitmovement 0 opendoor 13, 3 waitdooranim - applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1BE - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1AE + applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_AttendantEnterDoorLv50 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerEnterDoorLv50 waitmovement 0 closedoor 13, 3 waitdooranim - goto BattleFrontier_BattleDomeCorridor_EventScript_24B18F + goto BattleFrontier_BattleDomeCorridor_EventScript_WarpToPreBattleRoom -BattleFrontier_BattleDomeCorridor_EventScript_24B161:: @ 824B161 - applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1D6 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1C1 +BattleFrontier_BattleDomeCorridor_EventScript_WalkToBattleRoomLvOpen:: @ 824B161 + applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_AttendantWalkToDoorLvOpen + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerWalkToDoorLvOpen waitmovement 0 opendoor 37, 3 waitdooranim - applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1E6 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1D2 + applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_AttendantEnterDoorLvOpen + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerEnterDoorLvOpen waitmovement 0 closedoor 37, 3 waitdooranim - -BattleFrontier_BattleDomeCorridor_EventScript_24B18F:: @ 824B18F +BattleFrontier_BattleDomeCorridor_EventScript_WarpToPreBattleRoom:: @ 824B18F waitmovement 0 setvar VAR_0x8006, 0 warp MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM, 255, 5, 7 waitstate end -BattleFrontier_BattleDomeCorridor_Movement_24B1A1: @ 824B1A1 +BattleFrontier_BattleDomeCorridor_Movement_PlayerWalkToDoorLv50: @ 824B1A1 walk_up walk_left walk_left @@ -60,13 +57,13 @@ BattleFrontier_BattleDomeCorridor_Movement_24B1A1: @ 824B1A1 walk_in_place_fastest_up step_end -BattleFrontier_BattleDomeCorridor_Movement_24B1AE: @ 824B1AE +BattleFrontier_BattleDomeCorridor_Movement_PlayerEnterDoorLv50: @ 824B1AE walk_up walk_up set_invisible step_end -BattleFrontier_BattleDomeCorridor_Movement_24B1B2: @ 824B1B2 +BattleFrontier_BattleDomeCorridor_Movement_AttendantWalkToDoorLv50: @ 824B1B2 walk_left walk_left walk_left @@ -80,12 +77,12 @@ BattleFrontier_BattleDomeCorridor_Movement_24B1B2: @ 824B1B2 walk_up step_end -BattleFrontier_BattleDomeCorridor_Movement_24B1BE: @ 824B1BE +BattleFrontier_BattleDomeCorridor_Movement_AttendantEnterDoorLv50: @ 824B1BE walk_up set_invisible step_end -BattleFrontier_BattleDomeCorridor_Movement_24B1C1: @ 824B1C1 +BattleFrontier_BattleDomeCorridor_Movement_PlayerWalkToDoorLvOpen: @ 824B1C1 walk_up walk_right walk_right @@ -104,13 +101,13 @@ BattleFrontier_BattleDomeCorridor_Movement_24B1C1: @ 824B1C1 walk_in_place_fastest_up step_end -BattleFrontier_BattleDomeCorridor_Movement_24B1D2: @ 824B1D2 +BattleFrontier_BattleDomeCorridor_Movement_PlayerEnterDoorLvOpen: @ 824B1D2 walk_up walk_up set_invisible step_end -BattleFrontier_BattleDomeCorridor_Movement_24B1D6: @ 824B1D6 +BattleFrontier_BattleDomeCorridor_Movement_AttendantWalkToDoorLvOpen: @ 824B1D6 walk_right walk_right walk_right @@ -128,12 +125,13 @@ BattleFrontier_BattleDomeCorridor_Movement_24B1D6: @ 824B1D6 walk_up step_end -BattleFrontier_BattleDomeCorridor_Movement_24B1E6: @ 824B1E6 +BattleFrontier_BattleDomeCorridor_Movement_AttendantEnterDoorLvOpen: @ 824B1E6 walk_up set_invisible step_end -BattleFrontier_BattleDomeCorridor_Movement_24B1E9: @ 824B1E9 +@ Unused +BattleFrontier_BattleDomeCorridor_Movement_WalkToBattleRoomMidRight: @ 824B1E9 walk_up walk_right walk_right diff --git a/data/maps/BattleFrontier_BattleDomeLobby/map.json b/data/maps/BattleFrontier_BattleDomeLobby/map.json index 89eeb60e46..3559d6e1db 100644 --- a/data/maps/BattleFrontier_BattleDomeLobby/map.json +++ b/data/maps/BattleFrontier_BattleDomeLobby/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleDomeLobby_EventScript_249A35", + "script": "BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleDomeLobby_EventScript_249E10", + "script": "BattleFrontier_BattleDomeLobby_EventScript_Man", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleDomeLobby_EventScript_249DFE", + "script": "BattleFrontier_BattleDomeLobby_EventScript_Lass", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleDomeLobby_EventScript_249E07", + "script": "BattleFrontier_BattleDomeLobby_EventScript_FatMan", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleDomeLobby_EventScript_249DED", + "script": "BattleFrontier_BattleDomeLobby_EventScript_Maniac", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleDomeLobby_EventScript_249A47", + "script": "BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendant", "flag": "0" } ], @@ -117,7 +117,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_BattleDomeLobby_EventScript_249D52" + "script": "BattleFrontier_BattleDomeLobby_EventScript_ShowSinglesResults" }, { "type": "sign", @@ -125,7 +125,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_BattleDomeLobby_EventScript_249D84" + "script": "BattleFrontier_BattleDomeLobby_EventScript_ShowPrevTourneyTree" }, { "type": "sign", @@ -133,7 +133,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_BattleDomeLobby_EventScript_249D6B" + "script": "BattleFrontier_BattleDomeLobby_EventScript_ShowDoublesResults" }, { "type": "sign", @@ -141,7 +141,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_BattleDomeLobby_EventScript_249E34" + "script": "BattleFrontier_BattleDomeLobby_EventScript_RulesBoard" } ] } \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc index 68ecf802bd..788bcbaa27 100644 --- a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc @@ -1,395 +1,323 @@ BattleFrontier_BattleDomeLobby_MapScripts:: @ 82497E2 - map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleDomeLobby_MapScript1_2497F2 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeLobby_MapScript2_24980F - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomeLobby_MapScript2_2497FB + map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleDomeLobby_OnResume + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeLobby_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomeLobby_OnWarp .byte 0 -BattleFrontier_BattleDomeLobby_MapScript1_2497F2: @ 82497F2 - setvar VAR_0x8004, 21 - special CallBattleDomeFunction +BattleFrontier_BattleDomeLobby_OnResume: @ 82497F2 + dome_initresultstree end -BattleFrontier_BattleDomeLobby_MapScript2_2497FB: @ 82497FB -BattleFrontier_BattlePyramidLobby_MapScript2_2497FB: @ 82497FB - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleDomeLobby_EventScript_249805 +BattleFrontier_BattleDomeLobby_OnWarp: @ 82497FB + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleDomeLobby_EventScript_TurnPlayerNorth .2byte 0 -BattleFrontier_BattleDomeLobby_EventScript_249805:: @ 8249805 +BattleFrontier_BattleDomeLobby_EventScript_TurnPlayerNorth:: @ 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 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeLobby_EventScript_249839 - map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattleDomeLobby_EventScript_249842 - map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattleDomeLobby_EventScript_2499F9 - map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattleDomeLobby_EventScript_24989B - map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattleDomeLobby_EventScript_249940 +BattleFrontier_BattleDomeLobby_OnFrame: @ 824980F + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleDomeLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleDomeLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleDomeLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleDomeLobby_EventScript_LostChallenge .2byte 0 -BattleFrontier_BattleDomeLobby_EventScript_249839:: @ 8249839 - setvar VAR_0x8004, 0 - special CallFrontierUtilFunc +BattleFrontier_BattleDomeLobby_EventScript_GetChallengeStatus:: @ 8249839 + frontier_getstatus end -BattleFrontier_BattleDomeLobby_EventScript_249842:: @ 8249842 +BattleFrontier_BattleDomeLobby_EventScript_QuitWithoutSaving:: @ 8249842 lockall - msgbox BattleFrontier_BattleDomeLobby_Text_24A45F, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleDomeLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallBattleDomeFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallBattleDomeFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 6 - setvar VAR_0x8006, 1 - special CallBattleDomeFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + dome_set DOME_DATA_WIN_STREAK, 0 + dome_set DOME_DATA_WIN_STREAK_ACTIVE, FALSE + dome_set DOME_DATA_ATTEMPTED_CHALLENGE, TRUE + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 setvar VAR_TEMP_0, 255 releaseall end -BattleFrontier_BattleDomeLobby_EventScript_24989B:: @ 824989B - call BattleFrontier_BattleDomeLobby_EventScript_241EBA +BattleFrontier_BattleDomeLobby_EventScript_WonChallenge:: @ 824989B + call BattleFrontier_EventScript_IncrementWinStreak lockall - setvar VAR_0x8004, 10 - special CallFrontierUtilFunc - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_2498C1 - msgbox BattleFrontier_BattleDomeLobby_Text_24A4E9, MSGBOX_DEFAULT - goto BattleFrontier_BattleDomeLobby_EventScript_2498C9 + frontier_isbrain + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_DefeatedAce + msgbox BattleFrontier_BattleDomeLobby_Text_CongratsForWinningTourney, MSGBOX_DEFAULT + goto BattleFrontier_BattleDomeLobby_EventScript_GiveBattlePoints -BattleFrontier_BattleDomeLobby_EventScript_2498C1:: @ 82498C1 - msgbox BattleFrontier_BattleDomeLobby_Text_24AD67, MSGBOX_DEFAULT - -BattleFrontier_BattleDomeLobby_EventScript_2498C9:: @ 82498C9 - msgbox BattleFrontier_BattleDomeLobby_Text_24ADB1, MSGBOX_DEFAULT - setvar VAR_0x8004, 11 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleDomeLobby_Text_241520, 9 - message BattleFrontier_BattleDomeLobby_Text_24A5D6 +BattleFrontier_BattleDomeLobby_EventScript_DefeatedAce:: @ 82498C1 + msgbox BattleFrontier_BattleDomeLobby_Text_CongratsDefeatedTucker, MSGBOX_DEFAULT +BattleFrontier_BattleDomeLobby_EventScript_GiveBattlePoints:: @ 82498C9 + msgbox BattleFrontier_BattleDomeLobby_Text_AwardTheseBattlePoints, MSGBOX_DEFAULT + frontier_givepoints + msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS + message BattleFrontier_BattleDomeLobby_Text_RecordWillBeSaved waitmessage special LoadPlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc - setvar VAR_0x8004, 8 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 6 - setvar VAR_0x8006, 1 - special CallBattleDomeFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 7 - setvar VAR_0x8006, 1 - special CallBattleDomeFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 1 - special CallBattleDomeFunction + frontier_setpartyorder FRONTIER_PARTY_SIZE + frontier_checkairshow + dome_set DOME_DATA_ATTEMPTED_CHALLENGE, TRUE + dome_set DOME_DATA_HAS_WON_CHALLENGE, TRUE + dome_set DOME_DATA_WIN_STREAK_ACTIVE, TRUE special LoadPlayerParty special HealPlayerParty - goto BattleFrontier_BattleDomeLobby_EventScript_249991 + goto BattleFrontier_BattleDomeLobby_EventScript_AskRecordBattle -BattleFrontier_BattleDomeLobby_EventScript_249940:: @ 8249940 +BattleFrontier_BattleDomeLobby_EventScript_LostChallenge:: @ 8249940 lockall - msgbox BattleFrontier_BattleDomeLobby_Text_24A5BF, MSGBOX_DEFAULT - message BattleFrontier_BattleDomeLobby_Text_24A5D6 + msgbox BattleFrontier_BattleDomeLobby_Text_ThankYouForPlaying, MSGBOX_DEFAULT + message BattleFrontier_BattleDomeLobby_Text_RecordWillBeSaved waitmessage special LoadPlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc - setvar VAR_0x8004, 8 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallBattleDomeFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 6 - setvar VAR_0x8006, 1 - special CallBattleDomeFunction + frontier_setpartyorder FRONTIER_PARTY_SIZE + frontier_checkairshow + dome_set DOME_DATA_WIN_STREAK_ACTIVE, FALSE + dome_set DOME_DATA_ATTEMPTED_CHALLENGE, TRUE special LoadPlayerParty special HealPlayerParty - -BattleFrontier_BattleDomeLobby_EventScript_249991:: @ 8249991 - setvar VAR_0x8004, 13 - setvar VAR_0x8005, 0 - special CallBattleDomeFunction +BattleFrontier_BattleDomeLobby_EventScript_AskRecordBattle:: @ 8249991 + dome_save 0 playse SE_SAVE waitse - call BattleFrontier_BattleDomeLobby_EventScript_23E8E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_2499E9 - message BattleFrontier_BattleDomeLobby_Text_24AE17 + call BattleFrontier_EventScript_GetCantRecordBattle + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_EndChallenge + message BattleFrontier_BattleDomeLobby_Text_RecordLastMatch waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, BattleFrontier_BattleDomeLobby_EventScript_2499E9 - case 0, BattleFrontier_BattleDomeLobby_EventScript_2499E4 - case 127, BattleFrontier_BattleDomeLobby_EventScript_2499E9 + case 1, BattleFrontier_BattleDomeLobby_EventScript_EndChallenge + case 0, BattleFrontier_BattleDomeLobby_EventScript_RecordBattle + case MULTI_B_PRESSED, BattleFrontier_BattleDomeLobby_EventScript_EndChallenge -BattleFrontier_BattleDomeLobby_EventScript_2499E4:: @ 82499E4 - call BattleFrontier_BattleDomeLobby_EventScript_23E8B4 - -BattleFrontier_BattleDomeLobby_EventScript_2499E9:: @ 82499E9 - msgbox BattleFrontier_BattleDomeLobby_Text_249F74, MSGBOX_DEFAULT +BattleFrontier_BattleDomeLobby_EventScript_RecordBattle:: @ 82499E4 + call BattleFrontier_EventScript_SaveBattle +BattleFrontier_BattleDomeLobby_EventScript_EndChallenge:: @ 82499E9 + msgbox BattleFrontier_BattleDomeLobby_Text_HopeToSeeYouAgain, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 releaseall end -BattleFrontier_BattleDomeLobby_EventScript_2499F9:: @ 82499F9 +BattleFrontier_BattleDomeLobby_EventScript_ResumeChallenge:: @ 82499F9 lockall - msgbox BattleFrontier_BattleDomeLobby_Text_24A5FE, MSGBOX_DEFAULT - message BattleFrontier_BattleDomeLobby_Text_24A61A + msgbox BattleFrontier_BattleDomeLobby_Text_WeveBeenWaitingForYou, MSGBOX_DEFAULT + message BattleFrontier_BattleDomeLobby_Text_OkayToSaveBeforeChallenge2 waitmessage - setvar VAR_0x8004, 13 - setvar VAR_0x8005, 1 - special CallBattleDomeFunction + dome_save CHALLENGE_STATUS_SAVING playse SE_SAVE waitse - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_PAUSED, FALSE setvar VAR_TEMP_0, 255 - goto BattleFrontier_BattleDomeLobby_EventScript_249BC2 + goto BattleFrontier_BattleDomeLobby_EventScript_EnterChallenge -BattleFrontier_BattleDomeLobby_EventScript_249A35:: @ 8249A35 +BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendant:: @ 8249A35 lock faceplayer - setvar VAR_FRONTIER_FACILITY, 1 - setvar VAR_FRONTIER_BATTLE_MODE, 0 - goto BattleFrontier_BattleDomeLobby_EventScript_249A59 + setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_DOME + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + goto BattleFrontier_BattleDomeLobby_EventScript_AttendantWelcome end -BattleFrontier_BattleDomeLobby_EventScript_249A47:: @ 8249A47 +BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendant:: @ 8249A47 lock faceplayer - setvar VAR_FRONTIER_FACILITY, 1 - setvar VAR_FRONTIER_BATTLE_MODE, 1 - goto BattleFrontier_BattleDomeLobby_EventScript_249A59 + setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_DOME + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + goto BattleFrontier_BattleDomeLobby_EventScript_AttendantWelcome end -BattleFrontier_BattleDomeLobby_EventScript_249A59:: @ 8249A59 +BattleFrontier_BattleDomeLobby_EventScript_AttendantWelcome:: @ 8249A59 special SavePlayerParty - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CFD - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D06 - -BattleFrontier_BattleDomeLobby_EventScript_249A72:: @ 8249A72 - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D0F - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D15 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_WelcomeSingles + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_WelcomeDoubles +BattleFrontier_BattleDomeLobby_EventScript_AskTakeChallenge:: @ 8249A72 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_TakeSinglesChallenge + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_TakeDoublesChallenge waitmessage - multichoice 17, 6, 23, 0 + multichoice 17, 6, MULTI_CHALLENGEINFO, 0 switch VAR_RESULT - case 0, BattleFrontier_BattleDomeLobby_EventScript_249ABF - case 1, BattleFrontier_BattleDomeLobby_EventScript_249BFA - case 2, BattleFrontier_BattleDomeLobby_EventScript_249C64 - case 127, BattleFrontier_BattleDomeLobby_EventScript_249C64 + case 0, BattleFrontier_BattleDomeLobby_EventScript_TryEnterChallenge + case 1, BattleFrontier_BattleDomeLobby_EventScript_ExplainChallenge + case 2, BattleFrontier_BattleDomeLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleDomeLobby_EventScript_CancelChallenge -BattleFrontier_BattleDomeLobby_EventScript_249ABF:: @ 8249ABF - message BattleFrontier_BattleDomeLobby_Text_24A210 +BattleFrontier_BattleDomeLobby_EventScript_TryEnterChallenge:: @ 8249ABF + message BattleFrontier_BattleDomeLobby_Text_WhichLevelMode waitmessage - multichoice 17, 6, 24, 0 + multichoice 17, 6, MULTI_LEVEL_MODE, 0 switch VAR_RESULT - case 2, BattleFrontier_BattleDomeLobby_EventScript_249C64 - case 127, BattleFrontier_BattleDomeLobby_EventScript_249C64 - setvar VAR_0x8004, 15 - special CallFrontierUtilFunc - compare VAR_0x8004, 1 - goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_249C15 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleDomeLobby_Text_24A26E, MSGBOX_DEFAULT - fadescreen 1 - call BattleFrontier_BattleDomeLobby_EventScript_23F2B7 + case FRONTIER_LVL_TENT, BattleFrontier_BattleDomeLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleDomeLobby_EventScript_CancelChallenge + frontier_checkineligible + compare VAR_0x8004, TRUE + goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMons + frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT + msgbox BattleFrontier_BattleDomeLobby_Text_SelectThreeMons, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK + call BattleFrontier_EventScript_GetLvlMode copyvar VAR_0x8004, VAR_RESULT - setvar VAR_0x8005, 3 - special sub_80F9490 + setvar VAR_0x8005, FRONTIER_PARTY_SIZE + special ChoosePartyForBattleFrontier waitstate compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_249C61 - msgbox BattleFrontier_BattleDomeLobby_Text_24A1C6, MSGBOX_YESNO + goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_LoadPartyCancelChallenge + msgbox BattleFrontier_BattleDomeLobby_Text_OkayToSaveBeforeChallenge, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattleDomeLobby_EventScript_249C61 - case 1, BattleFrontier_BattleDomeLobby_EventScript_249B60 - case 127, BattleFrontier_BattleDomeLobby_EventScript_249C61 + case NO, BattleFrontier_BattleDomeLobby_EventScript_LoadPartyCancelChallenge + case YES, BattleFrontier_BattleDomeLobby_EventScript_SaveBeforeChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleDomeLobby_EventScript_LoadPartyCancelChallenge -BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60 +BattleFrontier_BattleDomeLobby_EventScript_SaveBeforeChallenge:: @ 8249B60 setvar VAR_TEMP_0, 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 4 - special CallFrontierUtilFunc - setvar VAR_0x8004, 0 - special CallBattleDomeFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_SELECTED_MON_ORDER + dome_init + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING + frontier_set FRONTIER_DATA_PAUSED, FALSE special LoadPlayerParty closemessage delay 2 call Common_EventScript_SaveGame setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_249C4A - setvar VAR_0x8004, 22 - special CallBattleDomeFunction - -BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2 + goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_CancelChallengeSaveFailed + dome_inittrainers +BattleFrontier_BattleDomeLobby_EventScript_EnterChallenge:: @ 8249BC2 special SavePlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc - setvar VAR_0x8004, 15 - special CallBattleDomeFunction - msgbox BattleFrontier_BattleDomeLobby_Text_24A437, MSGBOX_DEFAULT + frontier_setpartyorder FRONTIER_PARTY_SIZE + dome_settrainers + msgbox BattleFrontier_BattleDomeLobby_Text_ShowYouToBattleDome, MSGBOX_DEFAULT closemessage - call BattleFrontier_BattleDomeLobby_EventScript_249C6E + call BattleFrontier_BattleDomeLobby_EventScript_WalkToDoor special HealPlayerParty warp MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR, 255, 23, 6 setvar VAR_TEMP_0, 0 waitstate end -BattleFrontier_BattleDomeLobby_EventScript_249BFA:: @ 8249BFA - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D1B - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D24 - goto BattleFrontier_BattleDomeLobby_EventScript_249A72 +BattleFrontier_BattleDomeLobby_EventScript_ExplainChallenge:: @ 8249BFA + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_ExplainSinglesChallenge + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_ExplainDoublesChallenge + goto BattleFrontier_BattleDomeLobby_EventScript_AskTakeChallenge -BattleFrontier_BattleDomeLobby_EventScript_249C15:: @ 8249C15 +BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMons:: @ 8249C15 switch VAR_RESULT - case 0, BattleFrontier_BattleDomeLobby_EventScript_249C30 - case 1, BattleFrontier_BattleDomeLobby_EventScript_249C3D + case FRONTIER_LVL_50, BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMonsLv50 + case FRONTIER_LVL_OPEN, BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMonsLvOpen -BattleFrontier_BattleDomeLobby_EventScript_249C30:: @ 8249C30 - msgbox BattleFrontier_BattleDomeLobby_Text_24A353, MSGBOX_DEFAULT - goto BattleFrontier_BattleDomeLobby_EventScript_249C6C +BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMonsLv50:: @ 8249C30 + msgbox BattleFrontier_BattleDomeLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT + goto BattleFrontier_BattleDomeLobby_EventScript_EndCancelChallenge -BattleFrontier_BattleDomeLobby_EventScript_249C3D:: @ 8249C3D - msgbox BattleFrontier_BattleDomeLobby_Text_24A2AB, MSGBOX_DEFAULT - goto BattleFrontier_BattleDomeLobby_EventScript_249C6C +BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMonsLvOpen:: @ 8249C3D + msgbox BattleFrontier_BattleDomeLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT + goto BattleFrontier_BattleDomeLobby_EventScript_EndCancelChallenge -BattleFrontier_BattleDomeLobby_EventScript_249C4A:: @ 8249C4A - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - goto BattleFrontier_BattleDomeLobby_EventScript_249C64 +BattleFrontier_BattleDomeLobby_EventScript_CancelChallengeSaveFailed:: @ 8249C4A + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 + goto BattleFrontier_BattleDomeLobby_EventScript_CancelChallenge -BattleFrontier_BattleDomeLobby_EventScript_249C61:: @ 8249C61 +BattleFrontier_BattleDomeLobby_EventScript_LoadPartyCancelChallenge:: @ 8249C61 special LoadPlayerParty - -BattleFrontier_BattleDomeLobby_EventScript_249C64:: @ 8249C64 - msgbox BattleFrontier_BattleDomeLobby_Text_249F74, MSGBOX_DEFAULT - -BattleFrontier_BattleDomeLobby_EventScript_249C6C:: @ 8249C6C +BattleFrontier_BattleDomeLobby_EventScript_CancelChallenge:: @ 8249C64 + msgbox BattleFrontier_BattleDomeLobby_Text_HopeToSeeYouAgain, MSGBOX_DEFAULT +BattleFrontier_BattleDomeLobby_EventScript_EndCancelChallenge:: @ 8249C6C release end -BattleFrontier_BattleDomeLobby_EventScript_249C6E:: @ 8249C6E - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CDD - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CE5 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_249D45 +BattleFrontier_BattleDomeLobby_EventScript_WalkToDoor:: @ 8249C6E + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendantWalkToDoor + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendantWalkToDoor + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_WalkToDoor waitmovement 0 - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D2D - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D33 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_OpenSinglesDoor + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_OpenDoublesDoor waitdooranim - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CED - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CF5 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_249D4E + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendantEnterDoor + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendantEnterDoor + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_PlayerEnterDoor waitmovement 0 - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D39 - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D3F + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_CloseSinglesDoor + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_CloseDoublesDoor waitdooranim return -BattleFrontier_BattleDomeLobby_EventScript_249CDD:: @ 8249CDD - applymovement 1, BattleFrontier_BattleDomeLobby_Movement_249D45 +BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendantWalkToDoor:: @ 8249CDD + applymovement 1, BattleFrontier_BattleDomeLobby_Movement_WalkToDoor return -BattleFrontier_BattleDomeLobby_EventScript_249CE5:: @ 8249CE5 - applymovement 6, BattleFrontier_BattleDomeLobby_Movement_249D45 +BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendantWalkToDoor:: @ 8249CE5 + applymovement 6, BattleFrontier_BattleDomeLobby_Movement_WalkToDoor return -BattleFrontier_BattleDomeLobby_EventScript_249CED:: @ 8249CED - applymovement 1, BattleFrontier_BattleDomeLobby_Movement_249D4B +BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendantEnterDoor:: @ 8249CED + applymovement 1, BattleFrontier_BattleDomeLobby_Movement_AttendantEnterDoor return -BattleFrontier_BattleDomeLobby_EventScript_249CF5:: @ 8249CF5 - applymovement 6, BattleFrontier_BattleDomeLobby_Movement_249D4B +BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendantEnterDoor:: @ 8249CF5 + applymovement 6, BattleFrontier_BattleDomeLobby_Movement_AttendantEnterDoor return -BattleFrontier_BattleDomeLobby_EventScript_249CFD:: @ 8249CFD - msgbox BattleFrontier_BattleDomeLobby_Text_249EB7, MSGBOX_DEFAULT +BattleFrontier_BattleDomeLobby_EventScript_WelcomeSingles:: @ 8249CFD + msgbox BattleFrontier_BattleDomeLobby_Text_WelcomeSingleBattle, MSGBOX_DEFAULT return -BattleFrontier_BattleDomeLobby_EventScript_249D06:: @ 8249D06 - msgbox BattleFrontier_BattleDomeLobby_Text_24A664, MSGBOX_DEFAULT +BattleFrontier_BattleDomeLobby_EventScript_WelcomeDoubles:: @ 8249D06 + msgbox BattleFrontier_BattleDomeLobby_Text_WelcomeDoubleBattle, MSGBOX_DEFAULT return -BattleFrontier_BattleDomeLobby_EventScript_249D0F:: @ 8249D0F - message BattleFrontier_BattleDomeLobby_Text_249F3A +BattleFrontier_BattleDomeLobby_EventScript_TakeSinglesChallenge:: @ 8249D0F + message BattleFrontier_BattleDomeLobby_Text_TakeSinglesChallenge return -BattleFrontier_BattleDomeLobby_EventScript_249D15:: @ 8249D15 - message BattleFrontier_BattleDomeLobby_Text_24A6E7 +BattleFrontier_BattleDomeLobby_EventScript_TakeDoublesChallenge:: @ 8249D15 + message BattleFrontier_BattleDomeLobby_Text_TakeDoublesChallenge return -BattleFrontier_BattleDomeLobby_EventScript_249D1B:: @ 8249D1B - msgbox BattleFrontier_BattleDomeLobby_Text_249F8E, MSGBOX_DEFAULT +BattleFrontier_BattleDomeLobby_EventScript_ExplainSinglesChallenge:: @ 8249D1B + msgbox BattleFrontier_BattleDomeLobby_Text_ExplainSinglesChallenge, MSGBOX_DEFAULT return -BattleFrontier_BattleDomeLobby_EventScript_249D24:: @ 8249D24 - msgbox BattleFrontier_BattleDomeLobby_Text_24A721, MSGBOX_DEFAULT +BattleFrontier_BattleDomeLobby_EventScript_ExplainDoublesChallenge:: @ 8249D24 + msgbox BattleFrontier_BattleDomeLobby_Text_ExplainDoublesChallenge, MSGBOX_DEFAULT return -BattleFrontier_BattleDomeLobby_EventScript_249D2D:: @ 8249D2D +BattleFrontier_BattleDomeLobby_EventScript_OpenSinglesDoor:: @ 8249D2D opendoor 5, 4 return -BattleFrontier_BattleDomeLobby_EventScript_249D33:: @ 8249D33 +BattleFrontier_BattleDomeLobby_EventScript_OpenDoublesDoor:: @ 8249D33 opendoor 17, 4 return -BattleFrontier_BattleDomeLobby_EventScript_249D39:: @ 8249D39 +BattleFrontier_BattleDomeLobby_EventScript_CloseSinglesDoor:: @ 8249D39 closedoor 5, 4 return -BattleFrontier_BattleDomeLobby_EventScript_249D3F:: @ 8249D3F +BattleFrontier_BattleDomeLobby_EventScript_CloseDoublesDoor:: @ 8249D3F closedoor 17, 4 return -BattleFrontier_BattleDomeLobby_Movement_249D45: @ 8249D45 +BattleFrontier_BattleDomeLobby_Movement_WalkToDoor: @ 8249D45 walk_up walk_up walk_up @@ -397,155 +325,148 @@ BattleFrontier_BattleDomeLobby_Movement_249D45: @ 8249D45 walk_up step_end -BattleFrontier_BattleDomeLobby_Movement_249D4B: @ 8249D4B +BattleFrontier_BattleDomeLobby_Movement_AttendantEnterDoor: @ 8249D4B walk_up set_invisible step_end -BattleFrontier_BattleDomeLobby_Movement_249D4E: @ 8249D4E +BattleFrontier_BattleDomeLobby_Movement_PlayerEnterDoor: @ 8249D4E walk_up walk_up set_invisible step_end -BattleFrontier_BattleDomeLobby_EventScript_249D52:: @ 8249D52 +BattleFrontier_BattleDomeLobby_EventScript_ShowSinglesResults:: @ 8249D52 lockall - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_results FRONTIER_FACILITY_DOME, FRONTIER_MODE_SINGLES waitbuttonpress special RemoveRecordsWindow releaseall end -BattleFrontier_BattleDomeLobby_EventScript_249D6B:: @ 8249D6B +BattleFrontier_BattleDomeLobby_EventScript_ShowDoublesResults:: @ 8249D6B lockall - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc + frontier_results FRONTIER_FACILITY_DOME, FRONTIER_MODE_DOUBLES waitbuttonpress special RemoveRecordsWindow releaseall end -BattleFrontier_BattleDomeLobby_EventScript_249D84:: @ 8249D84 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 9 - special CallBattleDomeFunction +BattleFrontier_BattleDomeLobby_EventScript_ShowPrevTourneyTree:: @ 8249D84 + dome_get DOME_DATA_PREV_TOURNEY_TYPE compare VAR_RESULT, 0 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249DC9 + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsSinglesLv50 compare VAR_RESULT, 1 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249DD2 + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsDoublesLv50 compare VAR_RESULT, 2 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249DDB + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsSinglesLvOpen compare VAR_RESULT, 3 - call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249DE4 - fadescreen 1 - setvar VAR_0x8004, 8 - special CallBattleDomeFunction + call_if_eq BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsDoublesLvOpen + fadescreen FADE_TO_BLACK + dome_showprevtourneytree waitstate end -BattleFrontier_BattleDomeLobby_EventScript_249DC9:: @ 8249DC9 - msgbox BattleFrontier_BattleDomeLobby_Text_24A966, MSGBOX_SIGN +BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsSinglesLv50:: @ 8249DC9 + msgbox BattleFrontier_BattleDomeLobby_Text_PrevTourneyResultsSinglesLv50, MSGBOX_SIGN return -BattleFrontier_BattleDomeLobby_EventScript_249DD2:: @ 8249DD2 - msgbox BattleFrontier_BattleDomeLobby_Text_24A9A9, MSGBOX_SIGN +BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsDoublesLv50:: @ 8249DD2 + msgbox BattleFrontier_BattleDomeLobby_Text_PrevTourneyResultsDoublesLv50, MSGBOX_SIGN return -BattleFrontier_BattleDomeLobby_EventScript_249DDB:: @ 8249DDB - msgbox BattleFrontier_BattleDomeLobby_Text_24A9EC, MSGBOX_SIGN +BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsSinglesLvOpen:: @ 8249DDB + msgbox BattleFrontier_BattleDomeLobby_Text_PrevTourneyResultsSinglesLvOpen, MSGBOX_SIGN return -BattleFrontier_BattleDomeLobby_EventScript_249DE4:: @ 8249DE4 - msgbox BattleFrontier_BattleDomeLobby_Text_24AA31, MSGBOX_SIGN +BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsDoublesLvOpen:: @ 8249DE4 + msgbox BattleFrontier_BattleDomeLobby_Text_PrevTourneyResultsDoublesLvOpen, MSGBOX_SIGN return -BattleFrontier_BattleDomeLobby_EventScript_249DED:: @ 8249DED - setvar VAR_0x8004, 20 - special CallBattleDomeFunction - msgbox BattleFrontier_BattleDomeLobby_Text_24AA76, MSGBOX_NPC +BattleFrontier_BattleDomeLobby_EventScript_Maniac:: @ 8249DED + dome_getwinnersname + msgbox BattleFrontier_BattleDomeLobby_Text_LastWinnerWasTough, MSGBOX_NPC end -BattleFrontier_BattleDomeLobby_EventScript_249DFE:: @ 8249DFE - msgbox BattleFrontier_BattleDomeLobby_Text_24AB94, MSGBOX_NPC +BattleFrontier_BattleDomeLobby_EventScript_Lass:: @ 8249DFE + msgbox BattleFrontier_BattleDomeLobby_Text_WinnersGainReputation, MSGBOX_NPC end -BattleFrontier_BattleDomeLobby_EventScript_249E07:: @ 8249E07 - msgbox BattleFrontier_BattleDomeLobby_Text_24AC76, MSGBOX_NPC +BattleFrontier_BattleDomeLobby_EventScript_FatMan:: @ 8249E07 + msgbox BattleFrontier_BattleDomeLobby_Text_TrashedInFirstRound, MSGBOX_NPC end -BattleFrontier_BattleDomeLobby_EventScript_249E10:: @ 8249E10 - msgbox BattleFrontier_BattleDomeLobby_Text_24ACD3, MSGBOX_NPC +BattleFrontier_BattleDomeLobby_EventScript_Man:: @ 8249E10 + msgbox BattleFrontier_BattleDomeLobby_Text_NeedToCheckOpponentCarefully, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_249E19:: @ 8249E19 - msgbox BattleFrontier_OutsideWest_Text_24AB06, MSGBOX_NPC +@ A few OutsideWest event scripts are inserted here instead, two of which are unused +BattleFrontier_OutsideWest_EventScript_Man3:: @ 8249E19 + msgbox BattleFrontier_OutsideWest_Text_LongDreamedAboutBattleFrontier, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_249E22:: @ 8249E22 - msgbox BattleFrontier_OutsideWest_Text_24AB44, MSGBOX_NPC +@ Unused +BattleFrontier_OutsideWest_EventScript_BattleDomeSign2:: @ 8249E22 + msgbox BattleFrontier_OutsideWest_Text_BattleDomeSign2, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_249E2B:: @ 8249E2B - msgbox BattleFrontier_OutsideWest_Text_24AB75, MSGBOX_NPC +@ Unused +BattleFrontier_OutsideWest_EventScript_UnderConstructionSign:: @ 8249E2B + msgbox BattleFrontier_OutsideWest_Text_QuestionMarkUnderConstruction, MSGBOX_NPC end -BattleFrontier_BattleDomeLobby_EventScript_249E34:: @ 8249E34 +BattleFrontier_BattleDomeLobby_EventScript_RulesBoard:: @ 8249E34 lockall - msgbox BattleFrontier_BattleDomeLobby_Text_24AE63, MSGBOX_DEFAULT - goto BattleFrontier_BattleDomeLobby_EventScript_249E43 + msgbox BattleFrontier_BattleDomeLobby_Text_RulesAreListed, MSGBOX_DEFAULT + goto BattleFrontier_BattleDomeLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleDomeLobby_EventScript_249E43:: @ 8249E43 - message BattleFrontier_BattleDomeLobby_Text_24AE8B +BattleFrontier_BattleDomeLobby_EventScript_ReadRulesBoard:: @ 8249E43 + message BattleFrontier_BattleDomeLobby_Text_ReadWhichHeading waitmessage - multichoice 17, 4, 98, 0 + multichoice 17, 4, MULTI_BATTLE_DOME_RULES, 0 switch VAR_RESULT - case 0, BattleFrontier_BattleDomeLobby_EventScript_249E8B - case 1, BattleFrontier_BattleDomeLobby_EventScript_249E99 - case 2, BattleFrontier_BattleDomeLobby_EventScript_249EA7 - case 3, BattleFrontier_BattleDomeLobby_EventScript_249EB5 - case 127, BattleFrontier_BattleDomeLobby_EventScript_249EB5 + case 0, BattleFrontier_BattleDomeLobby_EventScript_RulesMatchup + case 1, BattleFrontier_BattleDomeLobby_EventScript_RulesTourneyTree + case 2, BattleFrontier_BattleDomeLobby_EventScript_RulesDoubleKO + case 3, BattleFrontier_BattleDomeLobby_EventScript_ExitRules + case MULTI_B_PRESSED, BattleFrontier_BattleDomeLobby_EventScript_ExitRules end -BattleFrontier_BattleDomeLobby_EventScript_249E8B:: @ 8249E8B - msgbox BattleFrontier_BattleDomeLobby_Text_24AEAE, MSGBOX_DEFAULT - goto BattleFrontier_BattleDomeLobby_EventScript_249E43 +BattleFrontier_BattleDomeLobby_EventScript_RulesMatchup:: @ 8249E8B + msgbox BattleFrontier_BattleDomeLobby_Text_ExplainMatchupRules, MSGBOX_DEFAULT + goto BattleFrontier_BattleDomeLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleDomeLobby_EventScript_249E99:: @ 8249E99 - msgbox BattleFrontier_BattleDomeLobby_Text_24AF4C, MSGBOX_DEFAULT - goto BattleFrontier_BattleDomeLobby_EventScript_249E43 +BattleFrontier_BattleDomeLobby_EventScript_RulesTourneyTree:: @ 8249E99 + msgbox BattleFrontier_BattleDomeLobby_Text_ExplainTourneyTree, MSGBOX_DEFAULT + goto BattleFrontier_BattleDomeLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleDomeLobby_EventScript_249EA7:: @ 8249EA7 - msgbox BattleFrontier_BattleDomeLobby_Text_24B073, MSGBOX_DEFAULT - goto BattleFrontier_BattleDomeLobby_EventScript_249E43 +BattleFrontier_BattleDomeLobby_EventScript_RulesDoubleKO:: @ 8249EA7 + msgbox BattleFrontier_BattleDomeLobby_Text_ExplainDoubleKORules, MSGBOX_DEFAULT + goto BattleFrontier_BattleDomeLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleDomeLobby_EventScript_249EB5:: @ 8249EB5 +BattleFrontier_BattleDomeLobby_EventScript_ExitRules:: @ 8249EB5 releaseall end -BattleFrontier_BattleDomeLobby_Text_249EB7: @ 8249EB7 +BattleFrontier_BattleDomeLobby_Text_WelcomeSingleBattle: @ 8249EB7 .string "Where the strategies of TRAINERS\n" .string "are put to the test!\p" .string "Welcome to the BATTLE DOME!\p" .string "I am your guide to the SINGLE BATTLE\n" .string "Tournament.$" -BattleFrontier_BattleDomeLobby_Text_249F3A: @ 8249F3A +BattleFrontier_BattleDomeLobby_Text_TakeSinglesChallenge: @ 8249F3A .string "Would you like to challenge\n" .string "the SINGLE BATTLE Tournament?$" -BattleFrontier_BattleDomeLobby_Text_249F74: @ 8249F74 +BattleFrontier_BattleDomeLobby_Text_HopeToSeeYouAgain: @ 8249F74 .string "We hope to see you again.$" -BattleFrontier_BattleDomeLobby_Text_249F8E: @ 8249F8E +BattleFrontier_BattleDomeLobby_Text_ExplainSinglesChallenge: @ 8249F8E .string "The SINGLE BATTLE Tournament\n" .string "is exactly as the name suggests--\l" .string "a tournament of SINGLE BATTLES.\p" @@ -566,20 +487,20 @@ BattleFrontier_BattleDomeLobby_Text_249F8E: @ 8249F8E .string "If you don't save before interrupting,\n" .string "you will be disqualified.$" -BattleFrontier_BattleDomeLobby_Text_24A1C6: @ 824A1C6 +BattleFrontier_BattleDomeLobby_Text_OkayToSaveBeforeChallenge: @ 824A1C6 .string "Before I show you to the BATTLE DOME,\n" .string "I must save the data. Is that okay?$" -BattleFrontier_BattleDomeLobby_Text_24A210: @ 824A210 +BattleFrontier_BattleDomeLobby_Text_WhichLevelMode: @ 824A210 .string "The tournament offers two levels\n" .string "of challenge, Level 50 and Open Level.\l" .string "Which is your choice?$" -BattleFrontier_BattleDomeLobby_Text_24A26E: @ 824A26E +BattleFrontier_BattleDomeLobby_Text_SelectThreeMons: @ 824A26E .string "Now select the three POKéMON that\n" .string "you wish to enter, please.$" -BattleFrontier_BattleDomeLobby_Text_24A2AB: @ 824A2AB +BattleFrontier_BattleDomeLobby_Text_NotEnoughValidMonsLvOpen: @ 824A2AB .string "Excuse me!\p" .string "You don't have three eligible POKéMON.\p" .string "Also, the POKéMON must be holding\n" @@ -587,7 +508,7 @@ BattleFrontier_BattleDomeLobby_Text_24A2AB: @ 824A2AB .string "EGGS{STR_VAR_1} ineligible.\p" .string "Please come see me when you are ready.$" -BattleFrontier_BattleDomeLobby_Text_24A353: @ 824A353 +BattleFrontier_BattleDomeLobby_Text_NotEnoughValidMonsLv50: @ 824A353 .string "Excuse me!\p" .string "You don't have three eligible POKéMON.\p" .string "You must have three different POKéMON\n" @@ -597,60 +518,63 @@ BattleFrontier_BattleDomeLobby_Text_24A353: @ 824A353 .string "EGGS{STR_VAR_1} ineligible.\p" .string "Please come see me when you are ready.$" -BattleFrontier_BattleDomeLobby_Text_24A437: @ 824A437 +BattleFrontier_BattleDomeLobby_Text_ShowYouToBattleDome: @ 824A437 .string "I will now show you to\n" .string "the BATTLE DOME.$" -BattleFrontier_BattleDomeLobby_Text_24A45F: @ 824A45F +BattleFrontier_BattleDomeLobby_Text_DidntSaveBeforeQuitting: @ 824A45F .string "Excuse me!\p" .string "You didn't save before you quit your\n" .string "challenge last time.\p" .string "Because of that, your challenge so far\n" .string "has been disqualified. Sorry!$" -BattleFrontier_BattleDomeLobby_Text_24A4E9: @ 824A4E9 +BattleFrontier_BattleDomeLobby_Text_CongratsForWinningTourney: @ 824A4E9 .string "Congratulations for winning\n" .string "your Battle Tournament!$" -BattleFrontier_BattleDomeLobby_Text_24A51D: @ 824A51D +@ Unused +BattleFrontier_BattleDomeLobby_Text_HereIsYourPrize: @ 824A51D .string "Here is your prize for your Battle\n" .string "Tournament victory.$" -VerdanturfTown_BattleTentLobby_Text_24A554: @ 824A554 +@ Used by Verdanturf Tent +BattleFrontier_BattleDomeLobby_Text_ReceivedPrize: @ 824A554 .string "{PLAYER} received the prize\n" .string "{STR_VAR_1}.$" -VerdanturfTown_BattleTentLobby_Text_24A56E: @ 824A56E +@ Unused +BattleFrontier_BattleDomeLobby_Text_BagFullMakeRoom: @ 824A56E .string "Oh, your BAG appears to be full.\p" .string "Please make room in your BAG, then come\n" .string "see me.$" -BattleFrontier_BattleDomeLobby_Text_24A5BF: @ 824A5BF +BattleFrontier_BattleDomeLobby_Text_ThankYouForPlaying: @ 824A5BF .string "Thank you for playing!$" -BattleFrontier_BattleDomeLobby_Text_24A5D6: @ 824A5D6 +BattleFrontier_BattleDomeLobby_Text_RecordWillBeSaved: @ 824A5D6 .string "Your record will be saved.\n" .string "Please wait.$" -BattleFrontier_BattleDomeLobby_Text_24A5FE: @ 824A5FE +BattleFrontier_BattleDomeLobby_Text_WeveBeenWaitingForYou: @ 824A5FE .string "We've been waiting for you!$" -BattleFrontier_BattleDomeLobby_Text_24A61A: @ 824A61A +BattleFrontier_BattleDomeLobby_Text_OkayToSaveBeforeChallenge2: @ 824A61A .string "Before I show you to the BATTLE DOME,\n" .string "I must save the data. Is that okay?$" -BattleFrontier_BattleDomeLobby_Text_24A664: @ 824A664 +BattleFrontier_BattleDomeLobby_Text_WelcomeDoubleBattle: @ 824A664 .string "Where the strategies of TRAINERS\n" .string "are put to the test!\p" .string "Welcome to the BATTLE DOME!\p" .string "I am your guide to the DOUBLE BATTLE\n" .string "Tournament.$" -BattleFrontier_BattleDomeLobby_Text_24A6E7: @ 824A6E7 +BattleFrontier_BattleDomeLobby_Text_TakeDoublesChallenge: @ 824A6E7 .string "Would you like to challenge\n" .string "the DOUBLE BATTLE Tournament?$" -BattleFrontier_BattleDomeLobby_Text_24A721: @ 824A721 +BattleFrontier_BattleDomeLobby_Text_ExplainDoublesChallenge: @ 824A721 .string "The DOUBLE BATTLE Tournament\n" .string "is exactly as the name suggests--\l" .string "a tournament of DOUBLE BATTLES.\p" @@ -671,23 +595,23 @@ BattleFrontier_BattleDomeLobby_Text_24A721: @ 824A721 .string "If you don't save before interrupting,\n" .string "you will be disqualified.$" -BattleFrontier_BattleDomeLobby_Text_24A966: @ 824A966 +BattleFrontier_BattleDomeLobby_Text_PrevTourneyResultsSinglesLv50: @ 824A966 .string "They're the results of the last\n" .string "Level 50 SINGLE BATTLE Tournament.$" -BattleFrontier_BattleDomeLobby_Text_24A9A9: @ 824A9A9 +BattleFrontier_BattleDomeLobby_Text_PrevTourneyResultsDoublesLv50: @ 824A9A9 .string "They're the results of the last\n" .string "Level 50 DOUBLE BATTLE Tournament.$" -BattleFrontier_BattleDomeLobby_Text_24A9EC: @ 824A9EC +BattleFrontier_BattleDomeLobby_Text_PrevTourneyResultsSinglesLvOpen: @ 824A9EC .string "They're the results of the last\n" .string "Open Level SINGLE BATTLE Tournament.$" -BattleFrontier_BattleDomeLobby_Text_24AA31: @ 824AA31 +BattleFrontier_BattleDomeLobby_Text_PrevTourneyResultsDoublesLvOpen: @ 824AA31 .string "They're the results of the last\n" .string "Open Level DOUBLE BATTLE Tournament.$" -BattleFrontier_BattleDomeLobby_Text_24AA76: @ 824AA76 +BattleFrontier_BattleDomeLobby_Text_LastWinnerWasTough: @ 824AA76 .string "Did you see it?\n" .string "The last Battle Tournament?\p" .string "The winner, {STR_VAR_1}, was seriously\n" @@ -695,19 +619,21 @@ BattleFrontier_BattleDomeLobby_Text_24AA76: @ 824AA76 .string "You should check out the results\n" .string "on the monitor beside the PC.$" -BattleFrontier_OutsideWest_Text_24AB06: @ 824AB06 +BattleFrontier_OutsideWest_Text_LongDreamedAboutBattleFrontier: @ 824AB06 .string "The BATTLE FRONTIER…\n" .string "I've long dreamed about a place like it.$" -BattleFrontier_OutsideWest_Text_24AB44: @ 824AB44 +@ Functionally unused +BattleFrontier_OutsideWest_Text_BattleDomeSign2: @ 824AB44 .string "The BATTLE DOME\n" .string "Become the Unbeatable Superstar!$" -BattleFrontier_OutsideWest_Text_24AB75: @ 824AB75 +@ Functionally unused +BattleFrontier_OutsideWest_Text_QuestionMarkUnderConstruction: @ 824AB75 .string "The ??????\n" .string "Under Construction!$" -BattleFrontier_BattleDomeLobby_Text_24AB94: @ 824AB94 +BattleFrontier_BattleDomeLobby_Text_WinnersGainReputation: @ 824AB94 .string "When a TRAINER chains tournament\n" .string "wins at the BATTLE DOME, he or she\l" .string "gains a reputation as a star.\p" @@ -716,48 +642,48 @@ BattleFrontier_BattleDomeLobby_Text_24AB94: @ 824AB94 .string "A true superstar is a TRAINER who\n" .string "can keep winning tournaments.$" -BattleFrontier_BattleDomeLobby_Text_24AC76: @ 824AC76 +BattleFrontier_BattleDomeLobby_Text_TrashedInFirstRound: @ 824AC76 .string "I ran into one of the tournament\n" .string "favorites in the very first round.\p" .string "Of course I got trashed…$" -BattleFrontier_BattleDomeLobby_Text_24ACD3: @ 824ACD3 +BattleFrontier_BattleDomeLobby_Text_NeedToCheckOpponentCarefully: @ 824ACD3 .string "I would've won if I'd kept this POKéMON\n" .string "held in reserve.\p" .string "You need to check your opponent's\n" .string "POKéMON carefully before choosing\l" .string "your battling POKéMON.$" -BattleFrontier_BattleDomeLobby_Text_24AD67: @ 824AD67 +BattleFrontier_BattleDomeLobby_Text_CongratsDefeatedTucker: @ 824AD67 .string "Congratulations!\p" .string "You defeated the DOME ACE and won\n" .string "the Battle Tournament!$" -BattleFrontier_BattleDomeLobby_Text_24ADB1: @ 824ADB1 +BattleFrontier_BattleDomeLobby_Text_AwardTheseBattlePoints: @ 824ADB1 .string "In recognition of your strategy--\n" .string "a thing of beauty it was, too--\l" .string "we award you these Battle Point(s)!$" -BattleFrontier_BattleDomeLobby_Text_24AE17: @ 824AE17 +BattleFrontier_BattleDomeLobby_Text_RecordLastMatch: @ 824AE17 .string "Would you like to record your\n" .string "last BATTLE DOME match on your\l" .string "FRONTIER PASS?$" -BattleFrontier_BattleDomeLobby_Text_24AE63: @ 824AE63 +BattleFrontier_BattleDomeLobby_Text_RulesAreListed: @ 824AE63 .string "The Battle Tournament rules\n" .string "are listed.$" -BattleFrontier_BattleDomeLobby_Text_24AE8B: @ 824AE8B +BattleFrontier_BattleDomeLobby_Text_ReadWhichHeading: @ 824AE8B .string "Which heading do you want to read?$" -BattleFrontier_BattleDomeLobby_Text_24AEAE: @ 824AEAE +BattleFrontier_BattleDomeLobby_Text_ExplainMatchupRules: @ 824AEAE .string "The tournament matchups are drawn up\n" .string "based on the toughness of POKéMON\l" .string "held by TRAINERS.\p" .string "The matchups avoid having tough\n" .string "TRAINERS face each other right away.$" -BattleFrontier_BattleDomeLobby_Text_24AF4C: @ 824AF4C +BattleFrontier_BattleDomeLobby_Text_ExplainTourneyTree: @ 824AF4C .string "The tournament chart, or as we call it,\n" .string "the “Tree,” is available for viewing\l" .string "in the Waiting Room from any guide.\p" @@ -768,7 +694,7 @@ BattleFrontier_BattleDomeLobby_Text_24AF4C: @ 824AF4C .string "by TRAINERS, and the battle styles of\l" .string "TRAINERS.$" -BattleFrontier_BattleDomeLobby_Text_24B073: @ 824B073 +BattleFrontier_BattleDomeLobby_Text_ExplainDoubleKORules: @ 824B073 .string "If battling POKéMON faint at the same\n" .string "time--a double KO--in a tournament\l" .string "match, the REFEREES will review\l" diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc index 3901201bb2..ffc3991421 100644 --- a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc @@ -1,181 +1,163 @@ BattleFrontier_BattleDomePreBattleRoom_MapScripts:: @ 824B1F9 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B218 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B204 + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomePreBattleRoom_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomePreBattleRoom_OnWarp .byte 0 -BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B204: @ 824B204 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B20E +BattleFrontier_BattleDomePreBattleRoom_OnWarp: @ 824B204 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_TurnPlayerNorth .2byte 0 -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B20E:: @ 824B20E +BattleFrontier_BattleDomePreBattleRoom_EventScript_TurnPlayerNorth:: @ 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 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222 +BattleFrontier_BattleDomePreBattleRoom_OnFrame: @ 824B218 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_EnterRoom .2byte 0 -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222:: @ 824B222 +BattleFrontier_BattleDomePreBattleRoom_EventScript_EnterRoom:: @ 824B222 compare VAR_0x8006, 1 - goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 6 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc + goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_ReturnFromBattle + frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE setvar VAR_TEMP_0, 1 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_24B652 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerEnter waitmovement 0 lockall - -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F:: @ 824B24F - call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B4FB +BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound:: @ 824B24F + call BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForNextRoundMessage waitmessage + switch VAR_RESULT @ No case? + call BattleFrontier_EventScript_GetCantRecordBattle + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRoundNoRecord + multichoice 16, 0, MULTI_TOURNEY_WITH_RECORD, 1 switch VAR_RESULT - call BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B2C1 - multichoice 16, 0, 73, 1 - switch VAR_RESULT - case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3DD - case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3F5 - case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D - case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B30D - case 4, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B349 - case 5, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B377 - case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowOpponentInfo + case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowTourneyTree + case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_ContinueChallenge + case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskRecordBattle + case 4, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskPauseChallenge + case 5, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B2C1:: @ 824B2C1 - multichoice 16, 2, 107, 1 +BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRoundNoRecord:: @ 824B2C1 + multichoice 16, 2, MULTI_TOURNEY_NO_RECORD, 1 switch VAR_RESULT - case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3DD - case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3F5 - case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D - case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B349 - case 4, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B377 - case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowOpponentInfo + case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowTourneyTree + case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_ContinueChallenge + case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskPauseChallenge + case 4, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B30D:: @ 824B30D - message BattleFrontier_BattleDomePreBattleRoom_Text_24BAF7 +BattleFrontier_BattleDomePreBattleRoom_EventScript_AskRecordBattle:: @ 824B30D + message BattleFrontier_BattleDomePreBattleRoom_Text_RecordLastMatch waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F - case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B33F - case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound + case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_RecordBattle + case MULTI_B_PRESSED, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B33F:: @ 824B33F - call BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8B4 - goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F +BattleFrontier_BattleDomePreBattleRoom_EventScript_RecordBattle:: @ 824B33F + call BattleFrontier_EventScript_SaveBattle + goto BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B349:: @ 824B349 - msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA69, MSGBOX_YESNO +BattleFrontier_BattleDomePreBattleRoom_EventScript_AskPauseChallenge:: @ 824B349 + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_SaveAndQuitGame, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F - case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3BB - case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + case NO, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound + case YES, BattleFrontier_BattleDomePreBattleRoom_EventScript_PauseChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B377:: @ 824B377 - message BattleFrontier_BattleDomePreBattleRoom_Text_24BA93 +BattleFrontier_BattleDomePreBattleRoom_EventScript_AskRetireChallenge:: @ 824B377 + message BattleFrontier_BattleDomePreBattleRoom_Text_RetireYourChallenge waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F - case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3A9 - case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound + case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_RetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3A9:: @ 824B3A9 - setvar VAR_0x8004, 12 - setvar VAR_0x8005, 9 - special CallBattleDomeFunction - goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24BE9A +BattleFrontier_BattleDomePreBattleRoom_EventScript_RetireChallenge:: @ 824B3A9 + dome_resolvewinners DOME_PLAYER_RETIRED + goto BattleFrontier_BattleDomeBattleRoom_EventScript_WarpToLobbyLost -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3BB:: @ 824B3BB - message BattleFrontier_BattleDomePreBattleRoom_Text_24BAD3 +BattleFrontier_BattleDomePreBattleRoom_EventScript_PauseChallenge:: @ 824B3BB + message BattleFrontier_BattleDomePreBattleRoom_Text_SavingDataPleaseWait waitmessage - setvar VAR_0x8004, 13 - setvar VAR_0x8005, 2 - special CallBattleDomeFunction + dome_save CHALLENGE_STATUS_PAUSED playse SE_SAVE waitse - fadescreen 1 - setvar VAR_0x8004, 4 - special CallFrontierUtilFunc + fadescreen FADE_TO_BLACK + frontier_reset end -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3DD:: @ 824B3DD - msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9B5, MSGBOX_DEFAULT - fadescreen 1 - setvar VAR_0x8004, 6 - special CallBattleDomeFunction +BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowOpponentInfo:: @ 824B3DD + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_PlayersNextOpponentIsTrainer, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK + dome_showopponentinfo waitstate - goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + goto BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3F5:: @ 824B3F5 - call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B40A - fadescreen 1 - setvar VAR_0x8004, 7 - special CallBattleDomeFunction +BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowTourneyTree:: @ 824B3F5 + call BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowRoundMessage + fadescreen FADE_TO_BLACK + dome_showtourneytree waitstate - goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + goto BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B40A:: @ 824B40A - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc +BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowRoundMessage:: @ 824B40A + frontier_get FRONTIER_DATA_BATTLE_NUM switch VAR_RESULT - case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B449 - case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B452 - case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B45B - case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B464 + case DOME_ROUND1, BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInRound1 + case DOME_ROUND2, BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInRound2 + case DOME_SEMIFINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInSemifinals + case DOME_FINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInFinals return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B449:: @ 824B449 - msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9D9, MSGBOX_DEFAULT +BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInRound1:: @ 824B449 + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInRound1, MSGBOX_DEFAULT return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B452:: @ 824B452 - msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9FD, MSGBOX_DEFAULT +BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInRound2:: @ 824B452 + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInRound2, MSGBOX_DEFAULT return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B45B:: @ 824B45B - msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA21, MSGBOX_DEFAULT +BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInSemifinals:: @ 824B45B + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInSemifinals, MSGBOX_DEFAULT return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B464:: @ 824B464 - msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA46, MSGBOX_DEFAULT +BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInFinals:: @ 824B464 + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInFinals, MSGBOX_DEFAULT return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D - message BattleFrontier_BattleDomePreBattleRoom_Text_24B70C +BattleFrontier_BattleDomePreBattleRoom_EventScript_ContinueChallenge:: @ 824B46D + message BattleFrontier_BattleDomePreBattleRoom_Text_ChooseTwoMons waitmessage waitbuttonpress - fadescreen 1 - call BattleFrontier_BattleDomePreBattleRoom_EventScript_23F2B7 + fadescreen FADE_TO_BLACK + call BattleFrontier_EventScript_GetLvlMode copyvar VAR_0x8004, VAR_RESULT - setvar VAR_0x8005, 2 - special sub_80F9490 + setvar VAR_0x8005, DOME_BATTLE_PARTY_SIZE @ 2 of the 3 party mons are selected for battle + special ChoosePartyForBattleFrontier waitstate - setvar VAR_0x8004, 21 - special CallFrontierUtilFunc + frontier_resetsketch compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 8 - special CallBattleDomeFunction - setvar VAR_0x8004, 18 - special CallBattleDomeFunction - setvar VAR_0x8004, 9 - special CallBattleDomeFunction - msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B748, MSGBOX_DEFAULT + goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound + dome_set DOME_DATA_SELECTED_MONS + dome_reduceparty + dome_setopponent + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_RightThisWay, MSGBOX_DEFAULT closemessage - applymovement 1, BattleFrontier_BattleDomePreBattleRoom_Movement_24B64F + applymovement 1, BattleFrontier_BattleDomePreBattleRoom_Movement_AttendantMoveAside waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_24B657 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerWalkToDoor waitmovement 0 opendoor 5, 1 waitdooranim - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_24B659 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerEnterDoor waitmovement 0 closedoor 5, 1 waitdooranim @@ -184,232 +166,229 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D waitstate end -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B4FB:: @ 824B4FB - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc +BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForNextRoundMessage:: @ 824B4FB + frontier_get FRONTIER_DATA_BATTLE_NUM switch VAR_RESULT - case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B53A - case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B540 - case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B546 - case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B54C + case DOME_ROUND1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForRound1 + case DOME_ROUND2, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForRound2 + case DOME_SEMIFINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForSemifinals + case DOME_FINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForFinals return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B53A:: @ 824B53A - message BattleFrontier_BattleDomePreBattleRoom_Text_24B65C +BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForRound1:: @ 824B53A + message BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForRound1 return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B540:: @ 824B540 - message BattleFrontier_BattleDomePreBattleRoom_Text_24B689 +BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForRound2:: @ 824B540 + message BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForRound2 return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B546:: @ 824B546 - message BattleFrontier_BattleDomePreBattleRoom_Text_24B6B6 +BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForSemifinals:: @ 824B546 + message BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForSemifinals return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B54C:: @ 824B54C - setvar VAR_0x8004, 9 - special CallFrontierUtilFunc +BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForFinals:: @ 824B54C + frontier_getbrainstatus switch VAR_RESULT - case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B58B - case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5A0 - case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B58B - case 4, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5A0 - message BattleFrontier_BattleDomePreBattleRoom_Text_24B6E3 + case FRONTIER_BRAIN_SILVER, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerSilver + case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerGold + case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerSilver + case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerGold + message BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForFinals return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B58B:: @ 824B58B - goto_if_set FLAG_TEMP_1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5B5 - msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BB2E, MSGBOX_DEFAULT +BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerSilver:: @ 824B58B + goto_if_set FLAG_TEMP_1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerSilverShort + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerSilver, MSGBOX_DEFAULT setflag FLAG_TEMP_1 return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5A0:: @ 824B5A0 - goto_if_set FLAG_TEMP_1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5BE - msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BBAC, MSGBOX_DEFAULT +BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerGold:: @ 824B5A0 + goto_if_set FLAG_TEMP_1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerGoldShort + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerGold, MSGBOX_DEFAULT setflag FLAG_TEMP_1 return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5B5:: @ 824B5B5 - msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BC2A, MSGBOX_DEFAULT +BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerSilverShort:: @ 824B5B5 + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerSilverShort, MSGBOX_DEFAULT return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5BE:: @ 824B5BE - msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BC63, MSGBOX_DEFAULT +BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerGoldShort:: @ 824B5BE + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerGoldShort, MSGBOX_DEFAULT return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7:: @ 824B5C7 +BattleFrontier_BattleDomePreBattleRoom_EventScript_ReturnFromBattle:: @ 824B5C7 setvar VAR_TEMP_0, 1 - msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B760, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_RestoreMonsToFullHealth, MSGBOX_DEFAULT special LoadPlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc + frontier_setpartyorder FRONTIER_PARTY_SIZE playfanfare MUS_ME_ASA waitfanfare special HealPlayerParty - call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B600 - fadescreen 1 - setvar VAR_0x8004, 11 - special CallBattleDomeFunction + call BattleFrontier_BattleDomePreBattleRoom_EventScript_RoundCompleteMessage + fadescreen FADE_TO_BLACK + dome_showstatictourneytree waitstate - goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + goto BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B600:: @ 824B600 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc +BattleFrontier_BattleDomePreBattleRoom_EventScript_RoundCompleteMessage:: @ 824B600 + frontier_get FRONTIER_DATA_BATTLE_NUM switch VAR_RESULT - case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B634 - case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B63D - case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B646 + case DOME_ROUND2, BattleFrontier_BattleDomePreBattleRoom_EventScript_Round1Complete + case DOME_SEMIFINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_Round2Complete + case DOME_FINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_SemifinalsComplete return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B634:: @ 824B634 - msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B7A3, MSGBOX_DEFAULT +BattleFrontier_BattleDomePreBattleRoom_EventScript_Round1Complete:: @ 824B634 + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_Round1Complete, MSGBOX_DEFAULT return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B63D:: @ 824B63D - msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B7F1, MSGBOX_DEFAULT +BattleFrontier_BattleDomePreBattleRoom_EventScript_Round2Complete:: @ 824B63D + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_Round2Complete, MSGBOX_DEFAULT return -BattleFrontier_BattleDomePreBattleRoom_EventScript_24B646:: @ 824B646 - msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B83F, MSGBOX_DEFAULT +BattleFrontier_BattleDomePreBattleRoom_EventScript_SemifinalsComplete:: @ 824B646 + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_SemifinalsComplete, MSGBOX_DEFAULT return -BattleFrontier_BattleDomePreBattleRoom_Movement_24B64F: @ 824B64F +BattleFrontier_BattleDomePreBattleRoom_Movement_AttendantMoveAside: @ 824B64F walk_right face_left step_end -BattleFrontier_BattleDomePreBattleRoom_Movement_24B652: @ 824B652 +BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerEnter: @ 824B652 walk_up walk_up walk_up walk_up step_end -BattleFrontier_BattleDomePreBattleRoom_Movement_24B657: @ 824B657 +BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerWalkToDoor: @ 824B657 walk_up step_end -BattleFrontier_BattleDomePreBattleRoom_Movement_24B659: @ 824B659 +BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerEnterDoor: @ 824B659 walk_up set_invisible step_end -BattleFrontier_BattleDomePreBattleRoom_Text_24B65C: @ 824B65C +BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForRound1: @ 824B65C .string "Your 1st-round match is next.\n" .string "Are you ready?$" -BattleFrontier_BattleDomePreBattleRoom_Text_24B689: @ 824B689 +BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForRound2: @ 824B689 .string "Your 2nd-round match is next.\n" .string "Are you ready?$" -BattleFrontier_BattleDomePreBattleRoom_Text_24B6B6: @ 824B6B6 +BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForSemifinals: @ 824B6B6 .string "Your semifinal match is next.\n" .string "Are you ready?$" -BattleFrontier_BattleDomePreBattleRoom_Text_24B6E3: @ 824B6E3 +BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForFinals: @ 824B6E3 .string "Your final match is next.\n" .string "Are you ready?$" -BattleFrontier_BattleDomePreBattleRoom_Text_24B70C: @ 824B70C +BattleFrontier_BattleDomePreBattleRoom_Text_ChooseTwoMons: @ 824B70C .string "Please choose the two POKéMON\n" .string "that are to appear in battle.$" -BattleFrontier_BattleDomePreBattleRoom_Text_24B748: @ 824B748 +BattleFrontier_BattleDomePreBattleRoom_Text_RightThisWay: @ 824B748 .string "Right this way, please.$" -BattleFrontier_BattleDomePreBattleRoom_Text_24B760: @ 824B760 +BattleFrontier_BattleDomePreBattleRoom_Text_RestoreMonsToFullHealth: @ 824B760 .string "Thank you for competing!\p" .string "I'll restore your POKéMON to\n" .string "full health.$" -BattleFrontier_BattleDomePreBattleRoom_Text_24B7A3: @ 824B7A3 +BattleFrontier_BattleDomePreBattleRoom_Text_Round1Complete: @ 824B7A3 .string "All 1st-round matches have been\n" .string "completed.\p" .string "These are the teams that advanced!$" -BattleFrontier_BattleDomePreBattleRoom_Text_24B7F1: @ 824B7F1 +BattleFrontier_BattleDomePreBattleRoom_Text_Round2Complete: @ 824B7F1 .string "All 2nd-round matches have been\n" .string "completed.\p" .string "These are the teams that advanced!$" -BattleFrontier_BattleDomePreBattleRoom_Text_24B83F: @ 824B83F +BattleFrontier_BattleDomePreBattleRoom_Text_SemifinalsComplete: @ 824B83F .string "All semifinal matches have been\n" .string "completed.\p" .string "These are the teams that advanced!$" -BattleFrontier_BattleDomePreBattleRoom_Text_24B88D: @ 824B88D +@ Unused +BattleFrontier_BattleDomePreBattleRoom_Text_CongratsReadyForRound2: @ 824B88D .string "Congratulations for getting through\n" .string "the 1st round.\p" .string "The 2nd round is next.\n" .string "Are you ready?$" -BattleFrontier_BattleDomePreBattleRoom_Text_24B8E6: @ 824B8E6 +@ Unused +BattleFrontier_BattleDomePreBattleRoom_Text_CongratsReadyForSemifinals: @ 824B8E6 .string "Congratulations for advancing\n" .string "to the semifinals.\p" .string "The best four teams meet in this round.\n" .string "Are you ready?$" -BattleFrontier_BattleDomePreBattleRoom_Text_24B94E: @ 824B94E +@ Unused +BattleFrontier_BattleDomePreBattleRoom_Text_CongratsReadyForFinals: @ 824B94E .string "Congratulations for advancing\n" .string "to the final match.\p" .string "You're one win from the championship.\n" .string "Are you ready?$" -BattleFrontier_BattleDomePreBattleRoom_Text_24B9B5: @ 824B9B5 +BattleFrontier_BattleDomePreBattleRoom_Text_PlayersNextOpponentIsTrainer: @ 824B9B5 .string "{PLAYER}'s next opponent\n" .string "is this TRAINER.$" -BattleFrontier_BattleDomePreBattleRoom_Text_24B9D9: @ 824B9D9 +BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInRound1: @ 824B9D9 .string "The tournament is in the 1st round.$" -BattleFrontier_BattleDomePreBattleRoom_Text_24B9FD: @ 824B9FD +BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInRound2: @ 824B9FD .string "The tournament is in the 2nd round.$" -BattleFrontier_BattleDomePreBattleRoom_Text_24BA21: @ 824BA21 +BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInSemifinals: @ 824BA21 .string "The tournament is in the semifinals.$" -BattleFrontier_BattleDomePreBattleRoom_Text_24BA46: @ 824BA46 +BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInFinals: @ 824BA46 .string "The tournament is up to the final.$" -BattleFrontier_BattleDomePreBattleRoom_Text_24BA69: @ 824BA69 +BattleFrontier_BattleDomePreBattleRoom_Text_SaveAndQuitGame: @ 824BA69 .string "Would you like to save and\n" .string "quit the game?$" -BattleFrontier_BattleDomePreBattleRoom_Text_24BA93: @ 824BA93 +BattleFrontier_BattleDomePreBattleRoom_Text_RetireYourChallenge: @ 824BA93 .string "Would you like to retire from your\n" .string "Battle Tournament challenge?$" -BattleFrontier_BattleDomePreBattleRoom_Text_24BAD3: @ 824BAD3 +BattleFrontier_BattleDomePreBattleRoom_Text_SavingDataPleaseWait: @ 824BAD3 .string "I am saving your data.\n" .string "Please wait.$" -BattleFrontier_BattleDomePreBattleRoom_Text_24BAF7: @ 824BAF7 +BattleFrontier_BattleDomePreBattleRoom_Text_RecordLastMatch: @ 824BAF7 .string "Should I record your last match\n" .string "on your FRONTIER PASS?$" -BattleFrontier_BattleDomePreBattleRoom_Text_24BB2E: @ 824BB2E +BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerSilver: @ 824BB2E .string "Congratulations for advancing\n" .string "to the final match.\p" .string "For the final match, you will challenge\n" .string "the DOME ACE TUCKER.\p" .string "Are you ready?$" -BattleFrontier_BattleDomePreBattleRoom_Text_24BBAC: @ 824BBAC +@ Identical to ReadyForTuckerSilver +BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerGold: @ 824BBAC .string "Congratulations for advancing\n" .string "to the final match.\p" .string "For the final match, you will challenge\n" .string "the DOME ACE TUCKER.\p" .string "Are you ready?$" -BattleFrontier_BattleDomePreBattleRoom_Text_24BC2A: @ 824BC2A +BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerSilverShort: @ 824BC2A .string "Your final battle against TUCKER is\n" .string "next. Are you ready?$" -BattleFrontier_BattleDomePreBattleRoom_Text_24BC63: @ 824BC63 +@ Identical again +BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerGoldShort: @ 824BC63 .string "Your final battle against TUCKER is\n" .string "next. Are you ready?$" diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc index 9c76544f67..af3322f7ee 100644 --- a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc @@ -1,230 +1,186 @@ BattleFrontier_BattleFactoryBattleRoom_MapScripts:: @ 825ADAB - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleFactoryBattleRoom_MapScript1_25ADBB - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE00 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE31 + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleFactoryBattleRoom_OnTransition + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryBattleRoom_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryBattleRoom_OnFrame .byte 0 -BattleFrontier_BattleFactoryBattleRoom_MapScript1_25ADBB: @ 825ADBB - setvar VAR_0x8004, 5 - special CallFrontierUtilFunc + @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden + @ The player is represented instead by object event 8, which has the gfx id VAR_OBJ_GFX_ID_F + +BattleFrontier_BattleFactoryBattleRoom_OnTransition: @ 825ADBB + frontier_settrainers checkplayergender compare VAR_RESULT, MALE - call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE25 + call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_SetPlayerGfxMale compare VAR_RESULT, FEMALE - call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE2B - setvar VAR_0x8004, 9 - special CallFrontierUtilFunc + call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_SetPlayerGfxFemale + frontier_getbrainstatus copyvar VAR_TEMP_F, VAR_RESULT - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3 + compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY + goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_SetUpFactoryHeadObj end -BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3:: @ 825ADF3 - call BattleFrontier_BattleFactoryBattleRoom_EventScript_242170 +BattleFrontier_BattleFactoryBattleRoom_EventScript_SetUpFactoryHeadObj:: @ 825ADF3 + call BattleFrontier_EventScript_SetBrainObjectGfx setobjectxyperm 2, 7, 9 end -BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE00: @ 825AE00 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE0A +BattleFrontier_BattleFactoryBattleRoom_OnWarp: @ 825AE00 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_HideObjects .2byte 0 -BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE0A:: @ 825AE0A +BattleFrontier_BattleFactoryBattleRoom_EventScript_HideObjects:: @ 825AE0A setvar VAR_TEMP_1, 1 hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM - compare VAR_TEMP_F, 0 - goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE24 + compare VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY + goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_EndHideObjects hideobjectat 2, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM - -BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE24:: @ 825AE24 +BattleFrontier_BattleFactoryBattleRoom_EventScript_EndHideObjects:: @ 825AE24 end -BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE25:: @ 825AE25 +BattleFrontier_BattleFactoryBattleRoom_EventScript_SetPlayerGfxMale:: @ 825AE25 setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL return -BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE2B:: @ 825AE2B +BattleFrontier_BattleFactoryBattleRoom_EventScript_SetPlayerGfxFemale:: @ 825AE2B setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL return -BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE31: @ 825AE31 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67 +BattleFrontier_BattleFactoryBattleRoom_OnFrame: @ 825AE31 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoom .2byte 0 -BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B:: @ 825AE3B - msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B1E2, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoomFactoryHeadBattle:: @ 825AE3B + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_GetAMoveOn, MSGBOX_DEFAULT closemessage - applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_25B18B - applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B + applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_NolandMoveToBattle + applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom waitmovement 0 - call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4 - goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7 + call BattleFrontier_BattleFactoryBattleRoom_EventScript_ScientistsFaceBattle + goto BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleOpponent end -BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67:: @ 825AE67 - compare VAR_TEMP_F, 0 - goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B - applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B +BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoom:: @ 825AE67 + compare VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY + goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoomFactoryHeadBattle + applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom waitmovement 0 - call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4 - setvar VAR_0x8004, 11 - special CallBattleFactoryFunction + call BattleFrontier_BattleFactoryBattleRoom_EventScript_ScientistsFaceBattle + factory_setopponentgfx removeobject 2 setobjectxyperm 2, 7, 1 addobject 2 - applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_25B184 + applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_OpponentEnter waitmovement 0 - -BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7:: @ 825AEA7 - compare VAR_TEMP_F, 0 - goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C - setvar VAR_0x8004, 5 - special CallBattlePalaceFunction +BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleOpponent:: @ 825AEA7 + compare VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY + goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNoland + palace_getopponentintro lockall msgbox gStringVar4, MSGBOX_DEFAULT waitmessage closemessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 6 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_RECORD_DISABLED, FALSE special HealPlayerParty setvar VAR_0x8004, SPECIAL_BATTLE_FACTORY setvar VAR_0x8005, 0 special DoSpecialTrainerBattle waitstate switch VAR_RESULT - case 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF0F + case 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedOpponent +BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyLost:: @ 825AEF8 + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST + goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobby -BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8:: @ 825AEF8 -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25AEF8:: @ 825AEF8 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 4 - special CallFrontierUtilFunc - goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190 -@ goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B190 - -BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF0F:: @ 825AF0F - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 3 - special CallBattleFactoryFunction - compare VAR_RESULT, 9999 - goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E +BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedOpponent:: @ 825AF0F + factory_get FACTORY_DATA_WIN_STREAK_SWAPS + compare VAR_RESULT, MAX_STREAK + goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementWinStreak addvar VAR_RESULT, 1 setorcopyvar VAR_0x8006, VAR_RESULT - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - special CallBattleFactoryFunction - -BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E:: @ 825AF3E - call BattleFrontier_BattleFactoryBattleRoom_EventScript_241EBA - -BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43:: @ 825AF43 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc + factory_set FACTORY_DATA_WIN_STREAK_SWAPS @ uses VAR_0x8006 above +BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementWinStreak:: @ 825AF3E + call BattleFrontier_EventScript_IncrementWinStreak +BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementBattleNum:: @ 825AF43 + frontier_get FRONTIER_DATA_BATTLE_NUM addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT switch VAR_RESULT - case 7, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85 + case 7, BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyWon setvar VAR_0x8006, 1 warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 255, 8, 8 waitstate +BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyWon:: @ 825AF85 + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON + goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobby -BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85:: @ 825AF85 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 3 - special CallFrontierUtilFunc - goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190 - -BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C:: @ 825AF9C +BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNoland:: @ 825AF9C switch VAR_TEMP_F - case 2, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B051 - case 3, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF - case 4, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF - msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B1FB, MSGBOX_DEFAULT - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - -BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF:: @ 825AFEF - msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B3F1, MSGBOX_DEFAULT - call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0 + case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleFactoryBattleRoom_EventScript_IntroNolandGold + case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandSilver + case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandGold + frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH + compare VAR_RESULT, FALSE + goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandSilver + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_NolandImFactoryHead, MSGBOX_DEFAULT + frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH +BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandSilver:: @ 825AFEF + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_ShakeOutKnowledgeBringItOn, MSGBOX_DEFAULT + call BattleFrontier_BattleFactoryBattleRoom_EventScript_DoNolandBattle compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C - goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8 + goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandSilver + goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyLost -BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C:: @ 825B00C - setvar VAR_0x8004, 12 - special CallFrontierUtilFunc +BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandSilver:: @ 825B00C + frontier_getsymbols compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105 - msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B42D, MSGBOX_DEFAULT + goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_NolandLetsSeeFrontierPass, MSGBOX_DEFAULT closemessage - applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B182 + applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland waitmovement 0 playfanfare MUS_ME_SYMBOLGET - message BattleFrontier_BattleFactoryBattleRoom_Text_25B460 + message BattleFrontier_BattleFactoryBattleRoom_Text_ReceivedKnowledgeSymbol waitmessage waitfanfare - setvar VAR_0x8004, 13 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B498, MSGBOX_DEFAULT - goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105 + frontier_givesymbol + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_NextTimeNoHoldsBarred, MSGBOX_DEFAULT + goto BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland -BattleFrontier_BattleFactoryBattleRoom_EventScript_25B051:: @ 825B051 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E - msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B517, MSGBOX_DEFAULT - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - -BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E:: @ 825B07E - msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5CF, MSGBOX_DEFAULT - call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0 +BattleFrontier_BattleFactoryBattleRoom_EventScript_IntroNolandGold:: @ 825B051 + frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH + compare VAR_RESULT, FALSE + goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandGold + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_HarderLookThanLastTime, MSGBOX_DEFAULT + frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH +BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandGold:: @ 825B07E + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_AllRightBringItOn, MSGBOX_DEFAULT + call BattleFrontier_BattleFactoryBattleRoom_EventScript_DoNolandBattle compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B - goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8 + goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandGold + goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyLost -BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B:: @ 825B09B - setvar VAR_0x8004, 12 - special CallFrontierUtilFunc +BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandGold:: @ 825B09B + frontier_getsymbols compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105 - msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5E7, MSGBOX_DEFAULT + goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_OutOfMyLeagueLetsSeePass, MSGBOX_DEFAULT waitmessage - applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B182 + applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland waitmovement 0 playfanfare MUS_ME_SYMBOLGET - message BattleFrontier_BattleFactoryBattleRoom_Text_25B640 + message BattleFrontier_BattleFactoryBattleRoom_Text_KnowledgeSymbolTookGoldenShine waitmessage waitfanfare - setvar VAR_0x8004, 13 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B66D, MSGBOX_DEFAULT - goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105 + frontier_givesymbol + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_LastTimeILoseToYou, MSGBOX_DEFAULT + goto BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland -BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0:: @ 825B0E0 +BattleFrontier_BattleFactoryBattleRoom_EventScript_DoNolandBattle:: @ 825B0E0 closemessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 6 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_RECORD_DISABLED, FALSE special HealPlayerParty setvar VAR_0x8004, SPECIAL_BATTLE_FACTORY setvar VAR_0x8005, 0 @@ -232,35 +188,24 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0:: @ 825B0E0 waitstate return -BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105:: @ 825B105 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 3 - special CallBattleFactoryFunction - compare VAR_RESULT, 9999 - goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E +BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland:: @ 825B105 + factory_get FACTORY_DATA_WIN_STREAK_SWAPS + compare VAR_RESULT, MAX_STREAK + goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementWinStreak addvar VAR_RESULT, 1 setorcopyvar VAR_0x8006, VAR_RESULT - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - special CallBattleFactoryFunction - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special CallBattleFactoryFunction - compare VAR_RESULT, 9999 - goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43 + factory_set FACTORY_DATA_WIN_STREAK_SWAPS @ uses VAR_0x8006 above + factory_get FACTORY_DATA_WIN_STREAK + compare VAR_RESULT, MAX_STREAK + goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementBattleNum addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - copyvar VAR_0x8006, VAR_RESULT - special CallBattleFactoryFunction - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc + factory_set FACTORY_DATA_WIN_STREAK, VAR_RESULT + frontier_get FRONTIER_DATA_BATTLE_NUM addvar VAR_RESULT, 1 - goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85 + goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyWon end -BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B: @ 825B17B +BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom: @ 825B17B walk_up walk_up walk_up @@ -269,11 +214,11 @@ BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B: @ 825B17B face_right step_end -BattleFrontier_BattleFactoryBattleRoom_Movement_25B182: @ 825B182 +BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland: @ 825B182 walk_right step_end -BattleFrontier_BattleFactoryBattleRoom_Movement_25B184: @ 825B184 +BattleFrontier_BattleFactoryBattleRoom_Movement_OpponentEnter: @ 825B184 walk_down walk_down walk_down @@ -282,42 +227,41 @@ BattleFrontier_BattleFactoryBattleRoom_Movement_25B184: @ 825B184 face_left step_end -BattleFrontier_BattleFactoryBattleRoom_Movement_25B18B: @ 825B18B +BattleFrontier_BattleFactoryBattleRoom_Movement_NolandMoveToBattle: @ 825B18B walk_up walk_up walk_up face_left step_end -BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190:: @ 825B190 -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B190:: @ 825B190 +BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobby:: @ 825B190 copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B1AA + compare VAR_RESULT, FRONTIER_MODE_DOUBLES + goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyDoubles warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 255, 4, 8 waitstate end -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B1AA:: @ 825B1AA +BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyDoubles:: @ 825B1AA warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 255, 14, 8 waitstate end -BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4:: @ 825B1B4 - applymovement 1, Common_Movement_WalkInPlaceRight - applymovement 3, Common_Movement_WalkInPlaceRight - applymovement 4, Common_Movement_WalkInPlaceRight - applymovement 5, Common_Movement_WalkInPlaceLeft - applymovement 6, Common_Movement_WalkInPlaceLeft - applymovement 7, Common_Movement_WalkInPlaceLeft +BattleFrontier_BattleFactoryBattleRoom_EventScript_ScientistsFaceBattle:: @ 825B1B4 + applymovement 1, Common_Movement_WalkInPlaceFastestRight + applymovement 3, Common_Movement_WalkInPlaceFastestRight + applymovement 4, Common_Movement_WalkInPlaceFastestRight + applymovement 5, Common_Movement_WalkInPlaceFastestLeft + applymovement 6, Common_Movement_WalkInPlaceFastestLeft + applymovement 7, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -BattleFrontier_BattleFactoryBattleRoom_Text_25B1E2: @ 825B1E2 +BattleFrontier_BattleFactoryBattleRoom_Text_GetAMoveOn: @ 825B1E2 .string "Hey, hey!\n" .string "Get a move on!$" -BattleFrontier_BattleFactoryBattleRoom_Text_25B1FB: @ 825B1FB +BattleFrontier_BattleFactoryBattleRoom_Text_NolandImFactoryHead: @ 825B1FB .string "Hey, my name's NOLAND!\n" .string "I'm basically in charge of this place,\l" .string "which is why I'm the FACTORY HEAD!\p" @@ -334,26 +278,26 @@ BattleFrontier_BattleFactoryBattleRoom_Text_25B1FB: @ 825B1FB .string "conditions as you.\p" .string "I'll be using rental POKéMON, too!$" -BattleFrontier_BattleFactoryBattleRoom_Text_25B3F1: @ 825B3F1 +BattleFrontier_BattleFactoryBattleRoom_Text_ShakeOutKnowledgeBringItOn: @ 825B3F1 .string "Shake out every last bit of your\n" .string "knowledge and bring it on!$" -BattleFrontier_BattleFactoryBattleRoom_Text_25B42D: @ 825B42D +BattleFrontier_BattleFactoryBattleRoom_Text_NolandLetsSeeFrontierPass: @ 825B42D .string "NOLAND: Smart going!\n" .string "Let's see your FRONTIER PASS.$" -BattleFrontier_BattleFactoryBattleRoom_Text_25B460: @ 825B460 +BattleFrontier_BattleFactoryBattleRoom_Text_ReceivedKnowledgeSymbol: @ 825B460 .string "The Knowledge Symbol was embossed\n" .string "on the FRONTIER PASS!$" -BattleFrontier_BattleFactoryBattleRoom_Text_25B498: @ 825B498 +BattleFrontier_BattleFactoryBattleRoom_Text_NextTimeNoHoldsBarred: @ 825B498 .string "Heh…\n" .string "You're a pretty bright spark…\p" .string "Next time, I'll come after you hard.\n" .string "No holds barred, understand?\p" .string "You keep up your studies!$" -BattleFrontier_BattleFactoryBattleRoom_Text_25B517: @ 825B517 +BattleFrontier_BattleFactoryBattleRoom_Text_HarderLookThanLastTime: @ 825B517 .string "NOLAND: Hey, hey! How's it going?\n" .string "You keeping up with your studies?\p" .string "…Oh?\p" @@ -362,21 +306,21 @@ BattleFrontier_BattleFactoryBattleRoom_Text_25B517: @ 825B517 .string "Now, this should be fun!\n" .string "I'm getting excited, hey!$" -BattleFrontier_BattleFactoryBattleRoom_Text_25B5CF: @ 825B5CF +BattleFrontier_BattleFactoryBattleRoom_Text_AllRightBringItOn: @ 825B5CF .string "All right!\n" .string "Bring it on!$" -BattleFrontier_BattleFactoryBattleRoom_Text_25B5E7: @ 825B5E7 +BattleFrontier_BattleFactoryBattleRoom_Text_OutOfMyLeagueLetsSeePass: @ 825B5E7 .string "NOLAND: What the…\n" .string "You're getting out of my league!\p" .string "Sheesh!\n" .string "Let's see that FRONTIER PASS!$" -BattleFrontier_BattleFactoryBattleRoom_Text_25B640: @ 825B640 +BattleFrontier_BattleFactoryBattleRoom_Text_KnowledgeSymbolTookGoldenShine: @ 825B640 .string "The Knowledge Symbol took on\n" .string "a golden shine!$" -BattleFrontier_BattleFactoryBattleRoom_Text_25B66D: @ 825B66D +BattleFrontier_BattleFactoryBattleRoom_Text_LastTimeILoseToYou: @ 825B66D .string "Pfft, man!\p" .string "That's absolutely the last time\n" .string "I lose to you!\p" diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/map.json b/data/maps/BattleFrontier_BattleFactoryLobby/map.json index 8ed837413f..ade32b0547 100644 --- a/data/maps/BattleFrontier_BattleFactoryLobby/map.json +++ b/data/maps/BattleFrontier_BattleFactoryLobby/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleFactoryLobby_EventScript_2585CB", + "script": "BattleFrontier_BattleFactoryLobby_EventScript_SinglesAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleFactoryLobby_EventScript_258813", + "script": "BattleFrontier_BattleFactoryLobby_EventScript_Woman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleFactoryLobby_EventScript_25881C", + "script": "BattleFrontier_BattleFactoryLobby_EventScript_Camper", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleFactoryLobby_EventScript_258825", + "script": "BattleFrontier_BattleFactoryLobby_EventScript_Picnicker", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleFactoryLobby_EventScript_258830", + "script": "BattleFrontier_BattleFactoryLobby_EventScript_FatMan", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleFactoryLobby_EventScript_2585DD", + "script": "BattleFrontier_BattleFactoryLobby_EventScript_DoublesAttendant", "flag": "0" } ], @@ -117,7 +117,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_BattleFactoryLobby_EventScript_2587E1" + "script": "BattleFrontier_BattleFactoryLobby_EventScript_ShowSinglesResults" }, { "type": "sign", @@ -125,7 +125,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_BattleFactoryLobby_EventScript_2587FA" + "script": "BattleFrontier_BattleFactoryLobby_EventScript_ShowDoublesResults" }, { "type": "sign", @@ -133,7 +133,7 @@ "y": 4, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_BattleFactoryLobby_EventScript_258839" + "script": "BattleFrontier_BattleFactoryLobby_EventScript_RulesBoard" } ] } \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc index a9e57dde6d..7d272ed845 100644 --- a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc @@ -1,404 +1,347 @@ BattleFrontier_BattleFactoryLobby_MapScripts:: @ 82583E8 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryLobby_MapScript2_258407 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryLobby_MapScript2_2583F3 + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryLobby_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryLobby_OnWarp .byte 0 -BattleFrontier_BattleFactoryLobby_MapScript2_2583F3: @ 82583F3 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryLobby_EventScript_2583FD +BattleFrontier_BattleFactoryLobby_OnWarp: @ 82583F3 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryLobby_EventScript_TurnPlayerNorth .2byte 0 -BattleFrontier_BattleFactoryLobby_EventScript_2583FD:: @ 82583FD +BattleFrontier_BattleFactoryLobby_EventScript_TurnPlayerNorth:: @ 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 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryLobby_EventScript_258431 - map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattleFactoryLobby_EventScript_25843A - map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattleFactoryLobby_EventScript_258592 - map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattleFactoryLobby_EventScript_25849B - map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattleFactoryLobby_EventScript_258506 +BattleFrontier_BattleFactoryLobby_OnFrame: @ 8258407 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleFactoryLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleFactoryLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleFactoryLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleFactoryLobby_EventScript_LostChallenge .2byte 0 -BattleFrontier_BattleFactoryLobby_EventScript_258431:: @ 8258431 - setvar VAR_0x8004, 0 - special CallFrontierUtilFunc +BattleFrontier_BattleFactoryLobby_EventScript_GetChallengeStatus:: @ 8258431 + frontier_getstatus end -BattleFrontier_BattleFactoryLobby_EventScript_25843A:: @ 825843A +BattleFrontier_BattleFactoryLobby_EventScript_QuitWithoutSaving:: @ 825843A lockall - msgbox BattleFrontier_BattleFactoryLobby_Text_258ECA, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleFactoryLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 8 - special CallBattleFactoryFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallBattleFactoryFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallBattleFactoryFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 0 - special CallBattleFactoryFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + factory_setswapped + factory_set FACTORY_DATA_WIN_STREAK_SWAPS, 0 + factory_set FACTORY_DATA_WIN_STREAK, 0 + factory_set FACTORY_DATA_WIN_STREAK_ACTIVE, FALSE + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 setvar VAR_TEMP_0, 255 releaseall end -BattleFrontier_BattleFactoryLobby_EventScript_25849B:: @ 825849B +BattleFrontier_BattleFactoryLobby_EventScript_WonChallenge:: @ 825849B lockall - setvar VAR_0x8004, 10 - special CallFrontierUtilFunc - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2584BD - msgbox BattleFrontier_BattleFactoryLobby_Text_258D93, MSGBOX_DEFAULT + frontier_isbrain + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_DefeatedFactoryHead + msgbox BattleFrontier_BattleFactoryLobby_Text_CongratsSevenWins, MSGBOX_DEFAULT waitmessage - goto BattleFrontier_BattleFactoryLobby_EventScript_2584C6 + goto BattleFrontier_BattleFactoryLobby_EventScript_GiveBattlePoints -BattleFrontier_BattleFactoryLobby_EventScript_2584BD:: @ 82584BD - msgbox BattleFrontier_BattleFactoryLobby_Text_25926A, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryLobby_EventScript_DefeatedFactoryHead:: @ 82584BD + msgbox BattleFrontier_BattleFactoryLobby_Text_CongratsForDefeatingHead, MSGBOX_DEFAULT waitmessage - -BattleFrontier_BattleFactoryLobby_EventScript_2584C6:: @ 82584C6 - msgbox BattleFrontier_BattleFactoryLobby_Text_2592BD, MSGBOX_DEFAULT - setvar VAR_0x8004, 11 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleFactoryLobby_Text_241520, 9 - message BattleFrontier_BattleFactoryLobby_Text_259323 +BattleFrontier_BattleFactoryLobby_EventScript_GiveBattlePoints:: @ 82584C6 + msgbox BattleFrontier_BattleFactoryLobby_Text_AwardBattlePoints, MSGBOX_DEFAULT + frontier_givepoints + msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS + message BattleFrontier_BattleFactoryLobby_Text_ExchangeMonsAndSave waitmessage - setvar VAR_0x8004, 8 - special CallFrontierUtilFunc + frontier_checkairshow special LoadPlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 0 - special CallBattleFactoryFunction + factory_save 0 playse SE_SAVE waitse - goto BattleFrontier_BattleFactoryLobby_EventScript_25853B + goto BattleFrontier_BattleFactoryLobby_EventScript_AskRecordBattle end -BattleFrontier_BattleFactoryLobby_EventScript_258506:: @ 8258506 +BattleFrontier_BattleFactoryLobby_EventScript_LostChallenge:: @ 8258506 lockall - message BattleFrontier_BattleFactoryLobby_Text_258CC7 + message BattleFrontier_BattleFactoryLobby_Text_ReturnMonsSaveResults waitmessage - setvar VAR_0x8004, 8 - special CallFrontierUtilFunc + frontier_checkairshow special LoadPlayerParty - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 0 - special CallBattleFactoryFunction - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 0 - special CallBattleFactoryFunction + factory_set FACTORY_DATA_WIN_STREAK_ACTIVE, FALSE + factory_save 0 playse SE_SAVE waitse -BattleFrontier_BattleFactoryLobby_EventScript_25853B:: @ 825853B - call BattleFrontier_BattleFactoryLobby_EventScript_23E8E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_258582 - message BattleFrontier_BattleFactoryLobby_Text_259388 +BattleFrontier_BattleFactoryLobby_EventScript_AskRecordBattle:: @ 825853B + call BattleFrontier_EventScript_GetCantRecordBattle + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_EndRecordBattle + message BattleFrontier_BattleFactoryLobby_Text_RecordLastMatch waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, BattleFrontier_BattleFactoryLobby_EventScript_258582 - case 0, BattleFrontier_BattleFactoryLobby_EventScript_25857D - case 127, BattleFrontier_BattleFactoryLobby_EventScript_258582 + case 1, BattleFrontier_BattleFactoryLobby_EventScript_EndRecordBattle + case 0, BattleFrontier_BattleFactoryLobby_EventScript_RecordBattle + case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_EndRecordBattle -BattleFrontier_BattleFactoryLobby_EventScript_25857D:: @ 825857D - call BattleFrontier_BattleFactoryLobby_EventScript_23E8B4 - -BattleFrontier_BattleFactoryLobby_EventScript_258582:: @ 8258582 - msgbox BattleFrontier_BattleFactoryLobby_Text_258BC5, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryLobby_EventScript_RecordBattle:: @ 825857D + call BattleFrontier_EventScript_SaveBattle +BattleFrontier_BattleFactoryLobby_EventScript_EndRecordBattle:: @ 8258582 + msgbox BattleFrontier_BattleFactoryLobby_Text_LookForwardToNextVisit, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 releaseall end -BattleFrontier_BattleFactoryLobby_EventScript_258592:: @ 8258592 +BattleFrontier_BattleFactoryLobby_EventScript_ResumeChallenge:: @ 8258592 lockall - message BattleFrontier_BattleFactoryLobby_Text_258E77 + message BattleFrontier_BattleFactoryLobby_Text_WaitingForYouToResume waitmessage - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 1 - special CallBattleFactoryFunction + factory_save CHALLENGE_STATUS_SAVING playse SE_SAVE waitse - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_PAUSED, FALSE setvar VAR_TEMP_0, 255 setvar VAR_0x8006, 2 - goto BattleFrontier_BattleFactoryLobby_EventScript_25871A + goto BattleFrontier_BattleFactoryLobby_EventScript_EnterChallenge -BattleFrontier_BattleFactoryLobby_EventScript_2585CB:: @ 82585CB +BattleFrontier_BattleFactoryLobby_EventScript_SinglesAttendant:: @ 82585CB lock faceplayer - setvar VAR_FRONTIER_FACILITY, 4 - setvar VAR_FRONTIER_BATTLE_MODE, 0 - goto BattleFrontier_BattleFactoryLobby_EventScript_2585ED + setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_FACTORY + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + goto BattleFrontier_BattleFactoryLobby_EventScript_Attendant end -BattleFrontier_BattleFactoryLobby_EventScript_2585DD:: @ 82585DD - setvar VAR_FRONTIER_FACILITY, 4 - setvar VAR_FRONTIER_BATTLE_MODE, 1 - goto BattleFrontier_BattleFactoryLobby_EventScript_2585ED +BattleFrontier_BattleFactoryLobby_EventScript_DoublesAttendant:: @ 82585DD + setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_FACTORY + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + goto BattleFrontier_BattleFactoryLobby_EventScript_Attendant end -BattleFrontier_BattleFactoryLobby_EventScript_2585ED:: @ 82585ED +BattleFrontier_BattleFactoryLobby_EventScript_Attendant:: @ 82585ED special SavePlayerParty - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587B1 - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587BA - -BattleFrontier_BattleFactoryLobby_EventScript_258606:: @ 8258606 - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587C3 - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587C9 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_WelcomeForSingleBattle + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_WelcomeForDoubleBattle +BattleFrontier_BattleFactoryLobby_EventScript_AskTakeChallenge:: @ 8258606 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_TakeSinglesChallenge + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_TakeDoublesChallenge waitmessage - multichoice 17, 6, 23, 0 + multichoice 17, 6, MULTI_CHALLENGEINFO, 0 switch VAR_RESULT - case 0, BattleFrontier_BattleFactoryLobby_EventScript_258653 - case 1, BattleFrontier_BattleFactoryLobby_EventScript_258768 - case 2, BattleFrontier_BattleFactoryLobby_EventScript_25879D - case 127, BattleFrontier_BattleFactoryLobby_EventScript_25879D + case 0, BattleFrontier_BattleFactoryLobby_EventScript_TryEnterChallenge + case 1, BattleFrontier_BattleFactoryLobby_EventScript_ExplainChallenge + case 2, BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge -BattleFrontier_BattleFactoryLobby_EventScript_258653:: @ 8258653 - message BattleFrontier_BattleFactoryLobby_Text_258BE9 +BattleFrontier_BattleFactoryLobby_EventScript_TryEnterChallenge:: @ 8258653 + message BattleFrontier_BattleFactoryLobby_Text_WhichLevelMode waitmessage - multichoice 17, 6, 24, 0 + multichoice 17, 6, MULTI_LEVEL_MODE, 0 switch VAR_RESULT - case 2, BattleFrontier_BattleFactoryLobby_EventScript_25879D - case 127, BattleFrontier_BattleFactoryLobby_EventScript_25879D - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleFactoryLobby_Text_258C27, MSGBOX_YESNO + case FRONTIER_LVL_TENT, BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge + frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT + msgbox BattleFrontier_BattleFactoryLobby_Text_OkayToSaveBeforeChallenge, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattleFactoryLobby_EventScript_25879A - case 1, BattleFrontier_BattleFactoryLobby_EventScript_2586B9 - case 127, BattleFrontier_BattleFactoryLobby_EventScript_25879A + case NO, BattleFrontier_BattleFactoryLobby_EventScript_LoadPartyAndCancelChallenge + case YES, BattleFrontier_BattleFactoryLobby_EventScript_SaveBeforeChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_LoadPartyAndCancelChallenge -BattleFrontier_BattleFactoryLobby_EventScript_2586B9:: @ 82586B9 +BattleFrontier_BattleFactoryLobby_EventScript_SaveBeforeChallenge:: @ 82586B9 setvar VAR_TEMP_0, 0 - setvar VAR_0x8004, 0 - special CallBattleFactoryFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 1 - special CallBattleFactoryFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + factory_init + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING + factory_set FACTORY_DATA_WIN_STREAK_ACTIVE, TRUE + frontier_set FRONTIER_DATA_PAUSED, FALSE closemessage delay 2 call Common_EventScript_SaveGame setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_258783 + goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_CancelChallengeSaveFailed setvar VAR_0x8006, 0 - -BattleFrontier_BattleFactoryLobby_EventScript_25871A:: @ 825871A +BattleFrontier_BattleFactoryLobby_EventScript_EnterChallenge:: @ 825871A special SavePlayerParty - msgbox BattleFrontier_BattleFactoryLobby_Text_258CB1, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleFactoryLobby_Text_StepThisWay, MSGBOX_DEFAULT closemessage - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_25875C - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_258762 - applymovement VAR_LAST_TALKED, BattleFrontier_BattleFactoryLobby_Movement_2587A7 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryLobby_Movement_2587AC + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_TalkedToSinglesAttendant + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_TalkedToDoublesAttendant + applymovement VAR_LAST_TALKED, BattleFrontier_BattleFactoryLobby_Movement_AttendantEnterDoor + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryLobby_Movement_PlayerEnterDoor waitmovement 0 warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 255, 8, 13 setvar VAR_TEMP_0, 0 waitstate end -BattleFrontier_BattleFactoryLobby_EventScript_25875C:: @ 825875C +BattleFrontier_BattleFactoryLobby_EventScript_TalkedToSinglesAttendant:: @ 825875C setvar VAR_LAST_TALKED, 1 return -BattleFrontier_BattleFactoryLobby_EventScript_258762:: @ 8258762 +BattleFrontier_BattleFactoryLobby_EventScript_TalkedToDoublesAttendant:: @ 8258762 setvar VAR_LAST_TALKED, 6 return -BattleFrontier_BattleFactoryLobby_EventScript_258768:: @ 8258768 - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587CF - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587D8 - goto BattleFrontier_BattleFactoryLobby_EventScript_258606 +BattleFrontier_BattleFactoryLobby_EventScript_ExplainChallenge:: @ 8258768 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_ExplainSinglesChallenge + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_ExplainDoublesChallenge + goto BattleFrontier_BattleFactoryLobby_EventScript_AskTakeChallenge -BattleFrontier_BattleFactoryLobby_EventScript_258783:: @ 8258783 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - goto BattleFrontier_BattleFactoryLobby_EventScript_25879D +BattleFrontier_BattleFactoryLobby_EventScript_CancelChallengeSaveFailed:: @ 8258783 + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 + goto BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge -BattleFrontier_BattleFactoryLobby_EventScript_25879A:: @ 825879A +BattleFrontier_BattleFactoryLobby_EventScript_LoadPartyAndCancelChallenge:: @ 825879A special LoadPlayerParty - -BattleFrontier_BattleFactoryLobby_EventScript_25879D:: @ 825879D - msgbox BattleFrontier_BattleFactoryLobby_Text_258BC5, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge:: @ 825879D + msgbox BattleFrontier_BattleFactoryLobby_Text_LookForwardToNextVisit, MSGBOX_DEFAULT release end -BattleFrontier_BattleFactoryLobby_Movement_2587A7: @ 82587A7 +BattleFrontier_BattleFactoryLobby_Movement_AttendantEnterDoor: @ 82587A7 walk_up walk_up walk_up set_invisible step_end -BattleFrontier_BattleFactoryLobby_Movement_2587AC: @ 82587AC +BattleFrontier_BattleFactoryLobby_Movement_PlayerEnterDoor: @ 82587AC walk_up walk_up walk_up walk_up step_end -BattleFrontier_BattleFactoryLobby_EventScript_2587B1:: @ 82587B1 - msgbox BattleFrontier_BattleFactoryLobby_Text_2588EE, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryLobby_EventScript_WelcomeForSingleBattle:: @ 82587B1 + msgbox BattleFrontier_BattleFactoryLobby_Text_WelcomeForSingleBattle, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryLobby_EventScript_2587BA:: @ 82587BA - msgbox BattleFrontier_BattleFactoryLobby_Text_258F93, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryLobby_EventScript_WelcomeForDoubleBattle:: @ 82587BA + msgbox BattleFrontier_BattleFactoryLobby_Text_WelcomeForDoubleBattle, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryLobby_EventScript_2587C3:: @ 82587C3 - message BattleFrontier_BattleFactoryLobby_Text_25897A +BattleFrontier_BattleFactoryLobby_EventScript_TakeSinglesChallenge:: @ 82587C3 + message BattleFrontier_BattleFactoryLobby_Text_TakeSinglesChallenge return -BattleFrontier_BattleFactoryLobby_EventScript_2587C9:: @ 82587C9 - message BattleFrontier_BattleFactoryLobby_Text_25901F +BattleFrontier_BattleFactoryLobby_EventScript_TakeDoublesChallenge:: @ 82587C9 + message BattleFrontier_BattleFactoryLobby_Text_TakeDoublesChallenge return -BattleFrontier_BattleFactoryLobby_EventScript_2587CF:: @ 82587CF - msgbox BattleFrontier_BattleFactoryLobby_Text_2589B3, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryLobby_EventScript_ExplainSinglesChallenge:: @ 82587CF + msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainSinglesChallenge, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryLobby_EventScript_2587D8:: @ 82587D8 - msgbox BattleFrontier_BattleFactoryLobby_Text_259058, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryLobby_EventScript_ExplainDoublesChallenge:: @ 82587D8 + msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainDoublesChallenge, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryLobby_EventScript_2587E1:: @ 82587E1 +BattleFrontier_BattleFactoryLobby_EventScript_ShowSinglesResults:: @ 82587E1 lockall - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 4 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_results FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_SINGLES waitbuttonpress special RemoveRecordsWindow releaseall end -BattleFrontier_BattleFactoryLobby_EventScript_2587FA:: @ 82587FA +BattleFrontier_BattleFactoryLobby_EventScript_ShowDoublesResults:: @ 82587FA lockall - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 4 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc + frontier_results FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_DOUBLES waitbuttonpress special RemoveRecordsWindow releaseall end -BattleFrontier_BattleFactoryLobby_EventScript_258813:: @ 8258813 - msgbox BattleFrontier_BattleFactoryLobby_Text_2593D7, MSGBOX_NPC +BattleFrontier_BattleFactoryLobby_EventScript_Woman:: @ 8258813 + msgbox BattleFrontier_BattleFactoryLobby_Text_NeedKnowledgeOfMonsMoves, MSGBOX_NPC end -BattleFrontier_BattleFactoryLobby_EventScript_25881C:: @ 825881C - msgbox BattleFrontier_BattleFactoryLobby_Text_2594E5, MSGBOX_NPC +BattleFrontier_BattleFactoryLobby_EventScript_Camper:: @ 825881C + msgbox BattleFrontier_BattleFactoryLobby_Text_SwappedForWeakMon, MSGBOX_NPC end -BattleFrontier_BattleFactoryLobby_EventScript_258825:: @ 8258825 +BattleFrontier_BattleFactoryLobby_EventScript_Picnicker:: @ 8258825 lock - msgbox BattleFrontier_BattleFactoryLobby_Text_259547, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleFactoryLobby_Text_NeedToCheckOpponentsMons, MSGBOX_DEFAULT release end -BattleFrontier_BattleFactoryLobby_EventScript_258830:: @ 8258830 - msgbox BattleFrontier_BattleFactoryLobby_Text_2595C4, MSGBOX_NPC +BattleFrontier_BattleFactoryLobby_EventScript_FatMan:: @ 8258830 + msgbox BattleFrontier_BattleFactoryLobby_Text_CantFigureOutStaffHints, MSGBOX_NPC end -BattleFrontier_BattleFactoryLobby_EventScript_258839:: @ 8258839 +BattleFrontier_BattleFactoryLobby_EventScript_RulesBoard:: @ 8258839 lockall - msgbox BattleFrontier_BattleFactoryLobby_Text_259721, MSGBOX_DEFAULT - goto BattleFrontier_BattleFactoryLobby_EventScript_258848 + msgbox BattleFrontier_BattleFactoryLobby_Text_RulesAreListed, MSGBOX_DEFAULT + goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleFactoryLobby_EventScript_258848:: @ 8258848 - message BattleFrontier_BattleFactoryLobby_Text_259743 +BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard:: @ 8258848 + message BattleFrontier_BattleFactoryLobby_Text_ReadWhichHeading waitmessage - multichoice 17, 0, 99, 0 + multichoice 17, 0, MULTI_BATTLE_FACTORY_RULES, 0 switch VAR_RESULT - case 0, BattleFrontier_BattleFactoryLobby_EventScript_2588A6 - case 1, BattleFrontier_BattleFactoryLobby_EventScript_2588B4 - case 2, BattleFrontier_BattleFactoryLobby_EventScript_2588C2 - case 3, BattleFrontier_BattleFactoryLobby_EventScript_2588D0 - case 4, BattleFrontier_BattleFactoryLobby_EventScript_2588DE - case 5, BattleFrontier_BattleFactoryLobby_EventScript_2588EC - case 127, BattleFrontier_BattleFactoryLobby_EventScript_2588EC + case 0, BattleFrontier_BattleFactoryLobby_EventScript_RulesBasics + case 1, BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapPartner + case 2, BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapNumber + case 3, BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapNotes + case 4, BattleFrontier_BattleFactoryLobby_EventScript_RulesOpenLv + case 5, BattleFrontier_BattleFactoryLobby_EventScript_ExitRules + case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_ExitRules end -BattleFrontier_BattleFactoryLobby_EventScript_2588A6:: @ 82588A6 - msgbox BattleFrontier_BattleFactoryLobby_Text_259766, MSGBOX_DEFAULT - goto BattleFrontier_BattleFactoryLobby_EventScript_258848 +BattleFrontier_BattleFactoryLobby_EventScript_RulesBasics:: @ 82588A6 + msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainBasicRules, MSGBOX_DEFAULT + goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleFactoryLobby_EventScript_2588B4:: @ 82588B4 - msgbox BattleFrontier_BattleFactoryLobby_Text_2597FB, MSGBOX_DEFAULT - goto BattleFrontier_BattleFactoryLobby_EventScript_258848 +BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapPartner:: @ 82588B4 + msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainSwapPartnerRules, MSGBOX_DEFAULT + goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleFactoryLobby_EventScript_2588C2:: @ 82588C2 - msgbox BattleFrontier_BattleFactoryLobby_Text_25987E, MSGBOX_DEFAULT - goto BattleFrontier_BattleFactoryLobby_EventScript_258848 +BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapNumber:: @ 82588C2 + msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainSwapNumberRules, MSGBOX_DEFAULT + goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleFactoryLobby_EventScript_2588D0:: @ 82588D0 - msgbox BattleFrontier_BattleFactoryLobby_Text_259920, MSGBOX_DEFAULT - goto BattleFrontier_BattleFactoryLobby_EventScript_258848 +BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapNotes:: @ 82588D0 + msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainSwapNotesRules, MSGBOX_DEFAULT + goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleFactoryLobby_EventScript_2588DE:: @ 82588DE - msgbox BattleFrontier_BattleFactoryLobby_Text_259A5E, MSGBOX_DEFAULT - goto BattleFrontier_BattleFactoryLobby_EventScript_258848 +BattleFrontier_BattleFactoryLobby_EventScript_RulesOpenLv:: @ 82588DE + msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainOpenLvRules, MSGBOX_DEFAULT + goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleFactoryLobby_EventScript_2588EC:: @ 82588EC +BattleFrontier_BattleFactoryLobby_EventScript_ExitRules:: @ 82588EC releaseall end -BattleFrontier_BattleFactoryLobby_Text_2588EE: @ 82588EE +BattleFrontier_BattleFactoryLobby_Text_WelcomeForSingleBattle: @ 82588EE .string "Where the intelligence of TRAINERS\n" .string "is put to the test!\p" .string "Welcome to the BATTLE FACTORY!\p" .string "I am your guide to the Battle Swap\n" .string "Single Tournament.$" -BattleFrontier_BattleFactoryLobby_Text_25897A: @ 825897A +BattleFrontier_BattleFactoryLobby_Text_TakeSinglesChallenge: @ 825897A .string "Would you like to take the Battle\n" .string "Swap Single challenge?$" -BattleFrontier_BattleFactoryLobby_Text_2589B3: @ 82589B3 +BattleFrontier_BattleFactoryLobby_Text_ExplainSinglesChallenge: @ 82589B3 .string "The Battle Swap Single Tournament\n" .string "is a SINGLE BATTLE competition using\l" .string "only rental POKéMON.\p" @@ -416,79 +359,85 @@ BattleFrontier_BattleFactoryLobby_Text_2589B3: @ 82589B3 .string "If you don't save, you will be\n" .string "disqualified from your challenge.$" -BattleFrontier_BattleFactoryLobby_Text_258BC5: @ 8258BC5 +BattleFrontier_BattleFactoryLobby_Text_LookForwardToNextVisit: @ 8258BC5 .string "We look forward to your next visit.$" -BattleFrontier_BattleFactoryLobby_Text_258BE9: @ 8258BE9 +BattleFrontier_BattleFactoryLobby_Text_WhichLevelMode: @ 8258BE9 .string "Which level do you wish to challenge?\n" .string "Level 50 or Open Level?$" -BattleFrontier_BattleFactoryLobby_Text_258C27: @ 8258C27 +BattleFrontier_BattleFactoryLobby_Text_OkayToSaveBeforeChallenge: @ 8258C27 .string "Before you begin your challenge,\n" .string "I need to save the game. Is that okay?$" -BattleFrontier_BattleFactoryLobby_Text_258C6F: @ 8258C6F +@ Unused +BattleFrontier_BattleFactoryLobby_Text_WillHoldMonsForSafekeeping: @ 8258C6F .string "Okay, I will hold your POKéMON for\n" .string "safekeeping while you compete.$" -BattleFrontier_BattleFactoryLobby_Text_258CB1: @ 8258CB1 +BattleFrontier_BattleFactoryLobby_Text_StepThisWay: @ 8258CB1 .string "Please step this way.$" -BattleFrontier_BattleFactoryLobby_Text_258CC7: @ 8258CC7 +BattleFrontier_BattleFactoryLobby_Text_ReturnMonsSaveResults: @ 8258CC7 .string "Thank you for participating!\p" .string "I will return your POKéMON in exchange\n" .string "for our rental POKéMON.\p" .string "I must also save the event results.\n" .string "Please wait.$" -BattleFrontier_BattleFactoryLobby_Text_258D54: @ 8258D54 +@ Unused +BattleFrontier_BattleFactoryLobby_Text_ReturnMons: @ 8258D54 .string "I will return your POKéMON in exchange\n" .string "for our rental POKéMON.$" -BattleFrontier_BattleFactoryLobby_Text_258D93: @ 8258D93 +BattleFrontier_BattleFactoryLobby_Text_CongratsSevenWins: @ 8258D93 .string "Congratulations! You've won seven\n" .string "straight Battle Swap matches!$" -BattleFrontier_BattleFactoryLobby_Text_258DD3: @ 8258DD3 +@ Unused +BattleFrontier_BattleFactoryLobby_Text_AwardBattlePointsForStreak: @ 8258DD3 .string "In recognition of your 7-win streak,\n" .string "we award you these Battle Point(s).$" -BattleFrontier_BattleFactoryLobby_Text_258E1C: @ 8258E1C +@ Unused +BattleFrontier_BattleFactoryLobby_Text_MaxBattlePoints: @ 8258E1C .string "Oh, oh, oh!\p" .string "Your Battle Points are maxed.\p" .string "Please come back after using\n" .string "some Battle Points.$" -BattleFrontier_BattleFactoryLobby_Text_258E77: @ 8258E77 +BattleFrontier_BattleFactoryLobby_Text_WaitingForYouToResume: @ 8258E77 .string "We've been waiting for you!\p" .string "Before we resume your challenge,\n" .string "I must save the game.$" -BattleFrontier_BattleFactoryLobby_Text_258ECA: @ 8258ECA +BattleFrontier_BattleFactoryLobby_Text_DidntSaveBeforeQuitting: @ 8258ECA .string "I'm sorry to say this, but you didn't\n" .string "save before you quit playing last time.\p" .string "As a result, you have been disqualified\n" .string "from your challenge.$" -BattleFrontier_BattleFactoryLobby_Text_258F55: @ 8258F55 +@ Unused +BattleFrontier_BattleFactoryLobby_Text_WellReturnMons: @ 8258F55 .string "We'll return your personal POKéMON.$" -BattleFrontier_BattleFactoryLobby_Text_258F79: @ 8258F79 +@ Unused +BattleFrontier_BattleFactoryLobby_Text_ReceivedPrizeItem: @ 8258F79 .string "{PLAYER} received the prize\n" .string "{STR_VAR_1}.$" -BattleFrontier_BattleFactoryLobby_Text_258F93: @ 8258F93 +BattleFrontier_BattleFactoryLobby_Text_WelcomeForDoubleBattle: @ 8258F93 .string "Where the intelligence of TRAINERS\n" .string "is put to the test!\p" .string "Welcome to the BATTLE FACTORY!\p" .string "I am your guide to the Battle Swap\n" .string "Double Tournament.$" -BattleFrontier_BattleFactoryLobby_Text_25901F: @ 825901F +BattleFrontier_BattleFactoryLobby_Text_TakeDoublesChallenge: @ 825901F .string "Would you like to take the Battle\n" .string "Swap Double challenge?$" -BattleFrontier_BattleFactoryLobby_Text_259058: @ 8259058 +BattleFrontier_BattleFactoryLobby_Text_ExplainDoublesChallenge: @ 8259058 .string "The Battle Swap Double Tournament\n" .string "is a DOUBLE BATTLE competition using\l" .string "only rental POKéMON.\p" @@ -506,28 +455,28 @@ BattleFrontier_BattleFactoryLobby_Text_259058: @ 8259058 .string "If you don't save before interrupting,\n" .string "you will be disqualified.$" -BattleFrontier_BattleFactoryLobby_Text_25926A: @ 825926A +BattleFrontier_BattleFactoryLobby_Text_CongratsForDefeatingHead: @ 825926A .string "Congratulations for defeating\n" .string "the FACTORY HEAD and winning\l" .string "seven matches in a row!$" -BattleFrontier_BattleFactoryLobby_Text_2592BD: @ 82592BD +BattleFrontier_BattleFactoryLobby_Text_AwardBattlePoints: @ 82592BD .string "In recognition of your wealth of\n" .string "knowledge and keen intelligence,\l" .string "we award you these Battle Point(s).$" -BattleFrontier_BattleFactoryLobby_Text_259323: @ 8259323 +BattleFrontier_BattleFactoryLobby_Text_ExchangeMonsAndSave: @ 8259323 .string "Let me exchange your POKéMON\n" .string "for our rental POKéMON.\p" .string "I need to save the battle data,\n" .string "so please wait.$" -BattleFrontier_BattleFactoryLobby_Text_259388: @ 8259388 +BattleFrontier_BattleFactoryLobby_Text_RecordLastMatch: @ 8259388 .string "Would you like to record your last\n" .string "BATTLE FACTORY match on your\l" .string "FRONTIER PASS?$" -BattleFrontier_BattleFactoryLobby_Text_2593D7: @ 82593D7 +BattleFrontier_BattleFactoryLobby_Text_NeedKnowledgeOfMonsMoves: @ 82593D7 .string "Hi!\n" .string "You, there!\p" .string "Are you thinking that the events here\n" @@ -539,25 +488,26 @@ BattleFrontier_BattleFactoryLobby_Text_2593D7: @ 82593D7 .string "about POKéMON and their moves,\l" .string "it will be tough to keep winning.$" -BattleFrontier_BattleFactoryLobby_Text_2594E5: @ 82594E5 +BattleFrontier_BattleFactoryLobby_Text_SwappedForWeakMon: @ 82594E5 .string "I swapped for a weak POKéMON…\n" .string "I thought it was a good kind to have…\p" .string "They wiped the floor with us…$" -BattleFrontier_BattleFactoryLobby_Text_259547: @ 8259547 +BattleFrontier_BattleFactoryLobby_Text_NeedToCheckOpponentsMons: @ 8259547 .string "Things haven't been going my way\n" .string "at all.\p" .string "You need to check your opponent's\n" .string "POKéMON during battle to see if\l" .string "they're any good.$" -BattleFrontier_BattleFactoryLobby_Text_2595C4: @ 82595C4 +BattleFrontier_BattleFactoryLobby_Text_CantFigureOutStaffHints: @ 82595C4 .string "You know how the staff here give you\n" .string "a few hints about your next opponent?\p" .string "Well, I'm a full-grown man, but I have\n" .string "trouble figuring out their hints.$" -BattleFrontier_BattleFactoryLobby_Text_259658: @ 8259658 +@ Unused +BattleFrontier_BattleFactoryLobby_Text_RentalMonsAreVaried: @ 8259658 .string "Like, I'm really tough, but I get bored\n" .string "really easily, so I just kept swapping\l" .string "and battling over and over.\p" @@ -565,35 +515,33 @@ BattleFrontier_BattleFactoryLobby_Text_259658: @ 8259658 .string "Battle Swap events, I noticed they\l" .string "varied the rental POKéMON.$" -BattleFrontier_BattleFactoryLobby_Text_259721: @ 8259721 -SlateportCity_BattleTentLobby_Text_259721: @ 8259721 +BattleFrontier_BattleFactoryLobby_Text_RulesAreListed: @ 8259721 .string "The Battle Swap rules are listed.$" -BattleFrontier_BattleFactoryLobby_Text_259743: @ 8259743 -SlateportCity_BattleTentLobby_Text_259743: @ 8259743 +BattleFrontier_BattleFactoryLobby_Text_ReadWhichHeading: @ 8259743 .string "Which heading do you want to read?$" -BattleFrontier_BattleFactoryLobby_Text_259766: @ 8259766 +BattleFrontier_BattleFactoryLobby_Text_ExplainBasicRules: @ 8259766 .string "In a Battle Swap event, you may use\n" .string "only three POKéMON.\p" .string "Whether you are renting or swapping,\n" .string "your team may not have two or more\l" .string "of the same POKéMON.$" -BattleFrontier_BattleFactoryLobby_Text_2597FB: @ 82597FB +BattleFrontier_BattleFactoryLobby_Text_ExplainSwapPartnerRules: @ 82597FB .string "You may swap POKéMON only with\n" .string "the TRAINER you have just defeated.\p" .string "You may swap for only those POKéMON\n" .string "used by the beaten TRAINER.$" -BattleFrontier_BattleFactoryLobby_Text_25987E: @ 825987E +BattleFrontier_BattleFactoryLobby_Text_ExplainSwapNumberRules: @ 825987E .string "After every battle you win, you may\n" .string "swap for one of your defeated\l" .string "opponent's POKéMON.\p" .string "You will not be able to swap POKéMON\n" .string "with the seventh TRAINER in the event.$" -BattleFrontier_BattleFactoryLobby_Text_259920: @ 8259920 +BattleFrontier_BattleFactoryLobby_Text_ExplainSwapNotesRules: @ 8259920 .string "There are two key points to be aware\n" .string "of when swapping POKéMON.\p" .string "First, when swapping, you can't check\n" @@ -605,7 +553,7 @@ BattleFrontier_BattleFactoryLobby_Text_259920: @ 8259920 .string "This sequence remains unchanged\n" .string "even when swaps are made.$" -BattleFrontier_BattleFactoryLobby_Text_259A5E: @ 8259A5E +BattleFrontier_BattleFactoryLobby_Text_ExplainOpenLvRules: @ 8259A5E .string "In the Open Level, the rental POKéMON\n" .string "and the opposing TRAINERS' POKéMON\l" .string "are all Level 100.$" diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc index 0049b3f58c..8e98dccaec 100644 --- a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc @@ -1,462 +1,434 @@ BattleFrontier_BattleFactoryPreBattleRoom_MapScripts:: @ 8259ABA - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AEF - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AC5 + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryPreBattleRoom_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryPreBattleRoom_OnWarp .byte 0 -BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AC5: @ 8259AC5 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259ACF +BattleFrontier_BattleFactoryPreBattleRoom_OnWarp: @ 8259AC5 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_SetUpObjects .2byte 0 -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259ACF:: @ 8259ACF +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_SetUpObjects:: @ 8259ACF setvar VAR_TEMP_1, 1 compare VAR_0x8006, 1 - goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA + goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_TurnPlayerNorth setobjectxy 1, 8, 7 - turnobject 1, 1 - -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA:: @ 8259AEA - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject 1, DIR_SOUTH +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_TurnPlayerNorth:: @ 8259AEA + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end -BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AEF: @ 8259AEF - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9 +BattleFrontier_BattleFactoryPreBattleRoom_OnFrame: @ 8259AEF + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterRoom .2byte 0 -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9:: @ 8259AF9 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterRoom:: @ 8259AF9 compare VAR_0x8006, 1 - goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5 + goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReturnToRoomFromBattle setvar VAR_TEMP_0, 1 - applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1AC - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A + applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantEnterRoom + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerEnterRoom waitmovement 0 compare VAR_0x8006, 2 - goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69 - setvar VAR_0x8004, 13 - special CallBattleFactoryFunction - setvar VAR_0x8004, 12 - special CallBattleFactoryFunction - setvar VAR_0x8004, 14 - special CallBattleFactoryFunction + goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ResumeChallenge + factory_generaterentalmons + factory_generateopponentmons + factory_getopponentmontype setorcopyvar VAR_0x8005, VAR_RESULT - setvar VAR_0x8004, 15 - special CallBattleFactoryFunction + factory_getopponentstyle setorcopyvar VAR_0x8006, VAR_RESULT - call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93 - call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A1C8, MSGBOX_DEFAULT - fadescreen 1 - setvar VAR_0x8004, 8 - special CallBattleFactoryFunction - setvar VAR_0x8004, 6 - special CallBattleFactoryFunction + call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_CommentOnOpponentType + call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_CommentOnOpponentStyle + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_HoldMonsChooseFromSelection, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK + factory_setswapped + factory_rentmons waitstate - -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74:: @ 8259B74 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB96, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom:: @ 8259B74 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_RightThisWay, MSGBOX_DEFAULT closemessage - call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23F2B7 - compare VAR_RESULT, 0 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A17C - compare VAR_RESULT, 1 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A18B + call BattleFrontier_EventScript_GetLvlMode + compare VAR_RESULT, FRONTIER_LVL_50 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_WalkToBattleRoomLv50 + compare VAR_RESULT, FRONTIER_LVL_OPEN + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_WalkToBattleRoomLvOpen waitmovement 0 warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM, 255, 6, 11 waitstate end -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5:: @ 8259BA5 - setvar VAR_0x8004, 9 - special CallBattleFactoryFunction - setvar VAR_0x8004, 16 - special CallBattleFactoryFunction - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A22D, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReturnToRoomFromBattle:: @ 8259BA5 + factory_setopponentmons + factory_resethelditems + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_LetUsRestoreMons, MSGBOX_DEFAULT playfanfare MUS_ME_ASA waitfanfare special HealPlayerParty - setvar VAR_0x8004, 9 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26 - playse 263 + frontier_getbrainstatus + compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY + goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForRegularOpponent + playse SE_TOREEYE waitse - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC15, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_WaitFewMoments, MSGBOX_DEFAULT closemessage - applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1BF + applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantMoveToReceiveCall waitmovement 0 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC58, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_UnderstoodSirWillDo, MSGBOX_DEFAULT closemessage - applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1C3 + applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantReturnToPlayer waitmovement 0 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC89, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_MessageFromHeadComeRightNow, MSGBOX_DEFAULT closemessage delay 16 - goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9 + goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHead end -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13:: @ 8259C13 - setvar VAR_0x8004, 9 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9 - -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26:: @ 8259C26 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent:: @ 8259C13 + frontier_getbrainstatus + compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY + goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHead +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForRegularOpponent:: @ 8259C26 + frontier_get FRONTIER_DATA_BATTLE_NUM compare VAR_RESULT, 1 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E1D + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor2ndOpponent compare VAR_RESULT, 2 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E24 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor3rdOpponent compare VAR_RESULT, 3 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E2B + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor4thOpponent compare VAR_RESULT, 4 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E32 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor5thOpponent compare VAR_RESULT, 5 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E39 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor6thOpponent compare VAR_RESULT, 6 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E40 - call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CC6 - multichoice 19, 4, 103, 1 + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor7thOpponent + call BattleFrontier_EventScript_GetCantRecordBattle + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponentNoRecord + multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 1 switch VAR_RESULT - case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D98 - case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CFC - case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38 - case 3, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66 - case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 + case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskSwapMon + case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskRecordBattle + case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskPauseChallenge + case 3, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CC6:: @ 8259CC6 - multichoice 20, 6, 104, 1 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponentNoRecord:: @ 8259CC6 + multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1 switch VAR_RESULT - case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D98 - case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38 - case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66 - case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 + case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskSwapMon + case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskPauseChallenge + case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CFC:: @ 8259CFC - message BattleFrontier_BattleFactoryPreBattleRoom_Text_25ABD2 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskRecordBattle:: @ 8259CFC + message BattleFrontier_BattleFactoryPreBattleRoom_Text_RecordLatestBattle waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 - case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D2E - case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 + case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent + case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_RecordBattle + case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D2E:: @ 8259D2E - call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8B4 - goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_RecordBattle:: @ 8259D2E + call BattleFrontier_EventScript_SaveBattle + goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38:: @ 8259D38 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A350, MSGBOX_YESNO +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskPauseChallenge:: @ 8259D38 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_SaveAndQuitGame, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 - case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E47 - case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 + case NO, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent + case YES, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_PauseChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66:: @ 8259D66 - message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A37A +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskRetireChallenge:: @ 8259D66 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_RetireFromChallenge waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 - case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25AEF8 - case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 + case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent + case 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyLost + case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D98:: @ 8259D98 - setvar VAR_0x8004, 12 - special CallBattleFactoryFunction - setvar VAR_0x8004, 14 - special CallBattleFactoryFunction +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskSwapMon:: @ 8259D98 + factory_generateopponentmons + factory_getopponentmontype setorcopyvar VAR_0x8005, VAR_RESULT - setvar VAR_0x8004, 15 - special CallBattleFactoryFunction + factory_getopponentstyle setorcopyvar VAR_0x8006, VAR_RESULT - call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93 - call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB2E, MSGBOX_YESNO + call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_CommentOnOpponentType + call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_CommentOnOpponentStyle + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_LikeToSwapMon, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74 - case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2 - case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74 + case NO, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom + case YES, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_SwapMons + case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2:: @ 8259DF2 - fadescreen 1 - setvar VAR_0x8004, 7 - special CallBattleFactoryFunction +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_SwapMons:: @ 8259DF2 + fadescreen FADE_TO_BLACK + factory_swapmons waitstate compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74 - setvar VAR_0x8004, 8 - special CallBattleFactoryFunction - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB6C, MSGBOX_DEFAULT - goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74 + goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom + factory_setswapped + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_YourSwapIsComplete, MSGBOX_DEFAULT + goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E1D:: @ 8259E1D - message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A263 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor2ndOpponent:: @ 8259E1D + message BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor2ndOpponent waitmessage return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E24:: @ 8259E24 - message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A289 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor3rdOpponent:: @ 8259E24 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor3rdOpponent waitmessage return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E2B:: @ 8259E2B - message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2AF +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor4thOpponent:: @ 8259E2B + message BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor4thOpponent waitmessage return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E32:: @ 8259E32 - message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2D5 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor5thOpponent:: @ 8259E32 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor5thOpponent waitmessage return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E39:: @ 8259E39 - message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2FB +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor6thOpponent:: @ 8259E39 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor6thOpponent waitmessage return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E40:: @ 8259E40 - message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A321 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor7thOpponent:: @ 8259E40 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor7thOpponent waitmessage return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E47:: @ 8259E47 - message BattleFrontier_BattleFactoryPreBattleRoom_Text_25ABAE +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_PauseChallenge:: @ 8259E47 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_SavingDataPleaseWait waitmessage - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 2 - special CallBattleFactoryFunction + factory_save CHALLENGE_STATUS_PAUSED playse SE_SAVE waitse - fadescreen 1 - setvar VAR_0x8004, 4 - special CallFrontierUtilFunc + fadescreen FADE_TO_BLACK + frontier_reset end -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69:: @ 8259E69 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ResumeChallenge:: @ 8259E69 special SavePlayerParty - setvar VAR_0x8004, 10 - setvar VAR_0x8005, 0 - special CallBattleFactoryFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 6 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc + factory_setparties 0 + frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE special CalculatePlayerPartyCount - goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 + goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93:: @ 8259E93 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3B4, MSGBOX_DEFAULT - compare VAR_0x8005, 0 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F62 - compare VAR_0x8005, 1 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F6B - compare VAR_0x8005, 2 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F74 - compare VAR_0x8005, 3 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F7D - compare VAR_0x8005, 4 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F86 - compare VAR_0x8005, 5 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F8F - compare VAR_0x8005, 6 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F98 - compare VAR_0x8005, 7 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FA1 - compare VAR_0x8005, 8 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FAA - compare VAR_0x8005, 10 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FB3 - compare VAR_0x8005, 11 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FBC - compare VAR_0x8005, 12 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FC5 - compare VAR_0x8005, 13 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FCE - compare VAR_0x8005, 14 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FD7 - compare VAR_0x8005, 15 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE0 - compare VAR_0x8005, 16 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE9 - compare VAR_0x8005, 17 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FF2 - compare VAR_0x8005, 18 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FFB +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_CommentOnOpponentType:: @ 8259E93 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_InvestigatedUpcomingOpponent, MSGBOX_DEFAULT + compare VAR_0x8005, TYPE_NORMAL + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesNormal + compare VAR_0x8005, TYPE_FIGHTING + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFighting + compare VAR_0x8005, TYPE_FLYING + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFlying + compare VAR_0x8005, TYPE_POISON + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesPoison + compare VAR_0x8005, TYPE_GROUND + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGround + compare VAR_0x8005, TYPE_ROCK + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesRock + compare VAR_0x8005, TYPE_BUG + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesBug + compare VAR_0x8005, TYPE_GHOST + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGhost + compare VAR_0x8005, TYPE_STEEL + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesSteel + compare VAR_0x8005, TYPE_FIRE + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFire + compare VAR_0x8005, TYPE_WATER + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesWater + compare VAR_0x8005, TYPE_GRASS + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGrass + compare VAR_0x8005, TYPE_ELECTRIC + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesElectric + compare VAR_0x8005, TYPE_PSYCHIC + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesPsychic + compare VAR_0x8005, TYPE_ICE + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesIce + compare VAR_0x8005, TYPE_DRAGON + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDragon + compare VAR_0x8005, TYPE_DARK + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDark + compare VAR_0x8005, NUMBER_OF_MON_TYPES + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentHasNoMostCommonType return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F62:: @ 8259F62 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3F8, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesNormal:: @ 8259F62 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInNormalType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F6B:: @ 8259F6B - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A597, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFighting:: @ 8259F6B + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInFightingType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F74:: @ 8259F74 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A66B, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFlying:: @ 8259F74 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInFlyingType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F7D:: @ 8259F7D - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A5DF, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesPoison:: @ 8259F7D + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInPoisonType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F86:: @ 8259F86 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A625, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGround:: @ 8259F86 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInGroundType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F8F:: @ 8259F8F - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A73B, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesRock:: @ 8259F8F + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInRockType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F98:: @ 8259F98 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6F8, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesBug:: @ 8259F98 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInBugType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FA1:: @ 8259FA1 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A77F, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGhost:: @ 8259FA1 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInGhostType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FAA:: @ 8259FAA - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A84E, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesSteel:: @ 8259FAA + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInSteelType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FB3:: @ 8259FB3 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A43E, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFire:: @ 8259FB3 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInFireType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FBC:: @ 8259FBC - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A482, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesWater:: @ 8259FBC + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInWaterType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FC5:: @ 8259FC5 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A50F, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGrass:: @ 8259FC5 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInGrassType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FCE:: @ 8259FCE - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A4C7, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesElectric:: @ 8259FCE + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInElectricType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FD7:: @ 8259FD7 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6B1, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesPsychic:: @ 8259FD7 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInPsychicType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE0:: @ 8259FE0 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A554, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesIce:: @ 8259FE0 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInIceType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE9:: @ 8259FE9 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A7C4, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDragon:: @ 8259FE9 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInDragonType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FF2:: @ 8259FF2 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A80A, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDark:: @ 8259FF2 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInDarkType, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FFB:: @ 8259FFB - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A893, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentHasNoMostCommonType:: @ 8259FFB + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerHasNoClearFavorite, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004:: @ 825A004 - compare VAR_0x8006, 0 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068 - compare VAR_0x8006, 1 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A071 - compare VAR_0x8006, 2 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A07A - compare VAR_0x8006, 3 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A083 - compare VAR_0x8006, 4 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A08C - compare VAR_0x8006, 5 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A095 - compare VAR_0x8006, 6 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A09E - compare VAR_0x8006, 7 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0A7 - compare VAR_0x8006, 8 - call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B0 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_CommentOnOpponentStyle:: @ 825A004 + compare VAR_0x8006, FACTORY_STYLE_NONE + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleUnrestrained + compare VAR_0x8006, FACTORY_STYLE_PREPARATION + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleTotalPreparation + compare VAR_0x8006, FACTORY_STYLE_SLOW_STEADY + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleSlowAndSteady + compare VAR_0x8006, FACTORY_STYLE_ENDURANCE + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleEndurance + compare VAR_0x8006, FACTORY_STYLE_HIGH_RISK + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleHighRisk + compare VAR_0x8006, FACTORY_STYLE_WEAKENING + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleWeakenFoe + compare VAR_0x8006, FACTORY_STYLE_UNPREDICTABLE + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleImpossibleToPredict + compare VAR_0x8006, FACTORY_STYLE_WEATHER + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleDependsOnFlow + compare VAR_0x8006, FACTORY_NUM_STYLES + call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleFlexible return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068:: @ 825A068 - msgbox Text_StyleUnrestrained, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleUnrestrained:: @ 825A068 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleUnrestrained, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A071:: @ 825A071 - msgbox Text_StyleTotalPreparation, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleTotalPreparation:: @ 825A071 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleTotalPreparation, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A07A:: @ 825A07A - msgbox Text_StyleSlowAndSteady, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleSlowAndSteady:: @ 825A07A + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleSlowAndSteady, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A083:: @ 825A083 - msgbox Text_StyleEndurance, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleEndurance:: @ 825A083 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleEndurance, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A08C:: @ 825A08C - msgbox Text_StyleHighRisk, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleHighRisk:: @ 825A08C + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleHighRisk, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A095:: @ 825A095 - msgbox Text_StyleWeakenFoe, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleWeakenFoe:: @ 825A095 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleWeakenFoe, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A09E:: @ 825A09E - msgbox Text_StyleImpossibleToPredict, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleImpossibleToPredict:: @ 825A09E + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleImpossibleToPredict, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0A7:: @ 825A0A7 - msgbox Text_StyleDependsOnFlow, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleDependsOnFlow:: @ 825A0A7 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleDependsOnFlow, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B0:: @ 825A0B0 - msgbox Text_StyleFlexible, MSGBOX_DEFAULT +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleFlexible:: @ 825A0B0 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleFlexible, MSGBOX_DEFAULT return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9:: @ 825A0B9 - message BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD20 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHead:: @ 825A0B9 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_PreparedToFaceHead waitmessage - call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A110 - multichoice 19, 4, 103, 1 + call BattleFrontier_EventScript_GetCantRecordBattle + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHeadNoRecord + multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 1 switch VAR_RESULT - case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A146 - case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CFC - case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38 - case 3, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66 - case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9 + case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskSwapBeforeHead + case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskRecordBattle + case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskPauseChallenge + case 3, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHead -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A110:: @ 825A110 - multichoice 20, 6, 104, 1 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHeadNoRecord:: @ 825A110 + multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1 switch VAR_RESULT - case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A146 - case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38 - case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66 - case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9 + case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskSwapBeforeHead + case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskPauseChallenge + case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHead -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A146:: @ 825A146 - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD61, MSGBOX_DEFAULT - msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB2E, MSGBOX_YESNO +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskSwapBeforeHead:: @ 825A146 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_CantTellAnythingAboutHead, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_LikeToSwapMon, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74 - case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2 - case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74 + case NO, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom + case YES, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_SwapMons + case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A17C:: @ 825A17C - applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B3 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A0 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_WalkToBattleRoomLv50:: @ 825A17C + applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_GuideWalkToBattleRoomLv50 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerWalkToBattleRoomLv50 return -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A18B:: @ 825A18B - applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B9 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A6 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_WalkToBattleRoomLvOpen:: @ 825A18B + applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_GuideWalkToBattleRoomLvOpen + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerWalkToBattleRoomLvOpen return -BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A: @ 825A19A +BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerEnterRoom: @ 825A19A walk_up walk_up walk_up @@ -464,7 +436,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A: @ 825A19A walk_up step_end -BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A0: @ 825A1A0 +BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerWalkToBattleRoomLv50: @ 825A1A0 walk_up walk_left walk_left @@ -472,7 +444,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A0: @ 825A1A0 walk_up step_end -BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A6: @ 825A1A6 +BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerWalkToBattleRoomLvOpen: @ 825A1A6 walk_up walk_right walk_right @@ -480,7 +452,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A6: @ 825A1A6 walk_up step_end -BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1AC: @ 825A1AC +BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantEnterRoom: @ 825A1AC walk_up walk_up walk_up @@ -489,7 +461,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1AC: @ 825A1AC face_down step_end -BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B3: @ 825A1B3 +BattleFrontier_BattleFactoryPreBattleRoom_Movement_GuideWalkToBattleRoomLv50: @ 825A1B3 walk_left walk_left walk_up @@ -497,7 +469,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B3: @ 825A1B3 set_invisible step_end -BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B9: @ 825A1B9 +BattleFrontier_BattleFactoryPreBattleRoom_Movement_GuideWalkToBattleRoomLvOpen: @ 825A1B9 walk_right walk_right walk_up @@ -505,211 +477,201 @@ BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B9: @ 825A1B9 set_invisible step_end -BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1BF: @ 825A1BF +BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantMoveToReceiveCall: @ 825A1BF walk_left walk_left walk_left step_end -BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1C3: @ 825A1C3 +BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantReturnToPlayer: @ 825A1C3 walk_right walk_right walk_right face_down step_end -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A1C8: @ 825A1C8 -SlateportCity_BattleTentCorridor_Text_25A1C8: @ 825A1C8 +BattleFrontier_BattleFactoryPreBattleRoom_Text_HoldMonsChooseFromSelection: @ 825A1C8 .string "First, we will hold your POKéMON for\n" .string "safekeeping.\p" .string "You may then choose from our\n" .string "selection of POKéMON.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A22D: @ 825A22D -SlateportCity_BattleTentCorridor_Text_25A22D: @ 825A22D +BattleFrontier_BattleFactoryPreBattleRoom_Text_LetUsRestoreMons: @ 825A22D .string "Thank you for competing!\n" .string "Let us restore your POKéMON!$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A263: @ 825A263 -SlateportCity_BattleTentCorridor_Text_25A263: @ 825A263 +BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor2ndOpponent: @ 825A263 .string "The 2nd match is next!\n" .string "Are you ready?$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A289: @ 825A289 -SlateportCity_BattleTentCorridor_Text_25A289: @ 825A289 +BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor3rdOpponent: @ 825A289 .string "The 3rd match is next!\n" .string "Are you ready?$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2AF: @ 825A2AF +BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor4thOpponent: @ 825A2AF .string "The 4th match is next!\n" .string "Are you ready?$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2D5: @ 825A2D5 +BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor5thOpponent: @ 825A2D5 .string "The 5th match is next!\n" .string "Are you ready?$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2FB: @ 825A2FB +BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor6thOpponent: @ 825A2FB .string "The 6th match is next!\n" .string "Are you ready?$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A321: @ 825A321 +BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor7thOpponent: @ 825A321 .string "Finally, the 7th match is next!\n" .string "Are you ready?$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A350: @ 825A350 -SlateportCity_BattleTentCorridor_Text_25A350: @ 825A350 +BattleFrontier_BattleFactoryPreBattleRoom_Text_SaveAndQuitGame: @ 825A350 .string "Would you like to save and quit\n" .string "the game?$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A37A: @ 825A37A -SlateportCity_BattleTentCorridor_Text_25A37A: @ 825A37A +BattleFrontier_BattleFactoryPreBattleRoom_Text_RetireFromChallenge: @ 825A37A .string "Would you like to retire from your\n" .string "Battle Swap challenge?$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3B4: @ 825A3B4 +BattleFrontier_BattleFactoryPreBattleRoom_Text_InvestigatedUpcomingOpponent: @ 825A3B4 .string "I've conducted a little investigation\n" .string "about your upcoming opponent.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3F8: @ 825A3F8 +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInNormalType: @ 825A3F8 .string "The TRAINER is apparently skilled\n" .string "in the handling of the NORMAL type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A43E: @ 825A43E +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInFireType: @ 825A43E .string "The TRAINER is apparently skilled\n" .string "in the handling of the FIRE type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A482: @ 825A482 +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInWaterType: @ 825A482 .string "The TRAINER is apparently skilled\n" .string "in the handling of the WATER type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A4C7: @ 825A4C7 +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInElectricType: @ 825A4C7 .string "The TRAINER is apparently skilled\n" .string "in the handling of the ELECTRIC type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A50F: @ 825A50F +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInGrassType: @ 825A50F .string "The TRAINER is apparently skilled\n" .string "in the handling of the GRASS type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A554: @ 825A554 +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInIceType: @ 825A554 .string "The TRAINER is apparently skilled\n" .string "in the handling of the ICE type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A597: @ 825A597 +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInFightingType: @ 825A597 .string "The TRAINER is apparently skilled\n" .string "in the handling of the FIGHTING type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A5DF: @ 825A5DF +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInPoisonType: @ 825A5DF .string "The TRAINER is apparently skilled\n" .string "in the handling of the POISON type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A625: @ 825A625 +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInGroundType: @ 825A625 .string "The TRAINER is apparently skilled\n" .string "in the handling of the GROUND type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A66B: @ 825A66B +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInFlyingType: @ 825A66B .string "The TRAINER is apparently skilled\n" .string "in the handling of the FLYING type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6B1: @ 825A6B1 +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInPsychicType: @ 825A6B1 .string "The TRAINER is apparently skilled\n" .string "in the handling of the PSYCHIC type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6F8: @ 825A6F8 +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInBugType: @ 825A6F8 .string "The TRAINER is apparently skilled\n" .string "in the handling of the BUG type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A73B: @ 825A73B +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInRockType: @ 825A73B .string "The TRAINER is apparently skilled\n" .string "in the handling of the ROCK type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A77F: @ 825A77F +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInGhostType: @ 825A77F .string "The TRAINER is apparently skilled\n" .string "in the handling of the GHOST type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A7C4: @ 825A7C4 +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInDragonType: @ 825A7C4 .string "The TRAINER is apparently skilled\n" .string "in the handling of the DRAGON type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A80A: @ 825A80A +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInDarkType: @ 825A80A .string "The TRAINER is apparently skilled\n" .string "in the handling of the DARK type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A84E: @ 825A84E +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInSteelType: @ 825A84E .string "The TRAINER is apparently skilled\n" .string "in the handling of the STEEL type.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25A893: @ 825A893 +BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerHasNoClearFavorite: @ 825A893 .string "The TRAINER appears to have no clear\n" .string "favorites when it comes to type.$" -Text_StyleSlowAndSteady: @ 825A8D9 +BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleSlowAndSteady: @ 825A8D9 .string "The favorite battle style appears to\n" .string "be slow and steady.$" -Text_StyleEndurance: @ 825A912 +BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleEndurance: @ 825A912 .string "The favorite battle style appears to\n" .string "be one of endurance.$" -Text_StyleHighRisk: @ 825A94C +BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleHighRisk: @ 825A94C .string "The favorite battle style appears to\n" .string "be high risk, high return.$" -Text_StyleDependsOnFlow: @ 825A98C +BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleDependsOnFlow: @ 825A98C .string "The favorite battle style appears to\n" .string "depend on the battle's flow.$" -Text_StyleTotalPreparation: @ 825A9CE +BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleTotalPreparation: @ 825A9CE .string "The favorite battle style appears to\n" .string "be one based on total preparation.$" -Text_StyleWeakenFoe: @ 825AA16 +BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleWeakenFoe: @ 825AA16 .string "The favorite battle style appears\n" .string "to be weakening the foe to start.$" -Text_StyleFlexible: @ 825AA5A +BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleFlexible: @ 825AA5A .string "The favorite battle style appears to\n" .string "be flexibly adaptable to the situation.$" -Text_StyleImpossibleToPredict: @ 825AAA7 +BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleImpossibleToPredict: @ 825AAA7 .string "The favorite battle style appears to\n" .string "be impossible to predict.$" -Text_StyleUnrestrained: @ 825AAE6 +BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleUnrestrained: @ 825AAE6 .string "The favorite battle style appears to\n" .string "be free-spirited and unrestrained.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB2E: @ 825AB2E -SlateportCity_BattleTentCorridor_Text_25AB2E: @ 825AB2E +BattleFrontier_BattleFactoryPreBattleRoom_Text_LikeToSwapMon: @ 825AB2E .string "Before starting the battle, would you\n" .string "like to swap a POKéMON?$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB6C: @ 825AB6C -SlateportCity_BattleTentCorridor_Text_25AB6C: @ 825AB6C +BattleFrontier_BattleFactoryPreBattleRoom_Text_YourSwapIsComplete: @ 825AB6C .string "Thank you!\n" .string "Your POKéMON swap is complete.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB96: @ 825AB96 -SlateportCity_BattleTentCorridor_Text_25AB96: @ 825AB96 +BattleFrontier_BattleFactoryPreBattleRoom_Text_RightThisWay: @ 825AB96 .string "Right this way, please!$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25ABAE: @ 825ABAE -SlateportCity_BattleTentCorridor_Text_25ABAE: @ 825ABAE +BattleFrontier_BattleFactoryPreBattleRoom_Text_SavingDataPleaseWait: @ 825ABAE .string "I am saving your data.\n" .string "Please wait.$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25ABD2: @ 825ABD2 +BattleFrontier_BattleFactoryPreBattleRoom_Text_RecordLatestBattle: @ 825ABD2 .string "Would you like to record your latest\n" .string "battle on your FRONTIER PASS?$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC15: @ 825AC15 +BattleFrontier_BattleFactoryPreBattleRoom_Text_WaitFewMoments: @ 825AC15 .string "Excuse me! Excuse me, please!\n" .string "May I get you to wait a few moments?$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC58: @ 825AC58 +BattleFrontier_BattleFactoryPreBattleRoom_Text_UnderstoodSirWillDo: @ 825AC58 .string "…Uh-huh? What?! …Whoa!\n" .string "Understood, sir! Will do!$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC89: @ 825AC89 +BattleFrontier_BattleFactoryPreBattleRoom_Text_MessageFromHeadComeRightNow: @ 825AC89 .string "Oh, my…\n" .string "Sorry to keep you waiting!\p" .string "I have a message from this facility's\n" @@ -717,10 +679,10 @@ BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC89: @ 825AC89 .string "He says, “We're going to do it!\n" .string "Come here right now!”$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD20: @ 825AD20 +BattleFrontier_BattleFactoryPreBattleRoom_Text_PreparedToFaceHead: @ 825AD20 .string "The FACTORY HEAD is demanding you.\n" .string "Are you prepared to face him?$" -BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD61: @ 825AD61 +BattleFrontier_BattleFactoryPreBattleRoom_Text_CantTellAnythingAboutHead: @ 825AD61 .string "I'm terribly sorry, but I can't tell you\n" .string "anything about the FACTORY HEAD.$" diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc index bdd4a9ff4f..10a6bd5a33 100644 --- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc @@ -1,418 +1,369 @@ BattleFrontier_BattlePalaceBattleRoom_MapScripts:: @ 824F815 - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePalaceBattleRoom_MapScript1_24F825 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceBattleRoom_MapScript2_24F861 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePalaceBattleRoom_MapScript2_24FE34 + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePalaceBattleRoom_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceBattleRoom_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePalaceBattleRoom_OnWarp .byte 0 -BattleFrontier_BattlePalaceBattleRoom_MapScript1_24F825: @ 824F825 - setvar VAR_0x8004, 5 - special CallFrontierUtilFunc - call BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833 + @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden + @ The player is represented instead by object event 1, which has the gfx id VAR_OBJ_GFX_ID_0 + @ The opponent is represented by object event 2, which has the gfx id VAR_OBJ_GFX_ID_1 + +BattleFrontier_BattlePalaceBattleRoom_OnTransition: @ 824F825 + frontier_settrainers + call BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfx end -BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833:: @ 824F833 +BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfx:: @ 824F833 checkplayergender compare VAR_RESULT, MALE - goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F84B + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfxMale compare VAR_RESULT, FEMALE - goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F856 + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfxFemale return -BattleFrontier_BattlePalaceBattleRoom_EventScript_24F84B:: @ 824F84B +@ The opponent's gfx are set to the players by default +BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfxMale:: @ 824F84B setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL return -BattleFrontier_BattlePalaceBattleRoom_EventScript_24F856:: @ 824F856 +BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfxFemale:: @ 824F856 setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL return -BattleFrontier_BattlePalaceBattleRoom_MapScript2_24F861: @ 824F861 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B +BattleFrontier_BattlePalaceBattleRoom_OnFrame: @ 824F861 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_EnterRoom .2byte 0 -BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B:: @ 824F86B +BattleFrontier_BattlePalaceBattleRoom_EventScript_EnterRoom:: @ 824F86B showobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc + frontier_get FRONTIER_DATA_BATTLE_NUM compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8B5 - applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE9B + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_BeginChallenge + applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerReturnToChallenge waitmovement 0 - applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC + applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown setvar VAR_TEMP_2, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 6 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A + frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8B5:: @ 824F8B5 - applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE92 +BattleFrontier_BattlePalaceBattleRoom_EventScript_BeginChallenge:: @ 824F8B5 + applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerEnterRoom waitmovement 0 - -BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8BF:: @ 824F8BF - setvar VAR_0x8004, 3 - special sub_8161F74 +BattleFrontier_BattlePalaceBattleRoom_EventScript_NextOpponentEnter:: @ 824F8BF + tower_setopponent addobject 2 - applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA1 + applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_OpponentEnter waitmovement 0 - setvar VAR_0x8004, 5 - special CallBattlePalaceFunction + palace_getopponentintro msgbox gStringVar4, MSGBOX_DEFAULT waitmessage - call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7 + call BattleFrontier_BattlePalaceBattleRoom_EventScript_DoPalaceBattle switch VAR_RESULT - case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F911 + case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedOpponent +BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyLost:: @ 824F8FA + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobby -BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA:: @ 824F8FA - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 4 - special CallFrontierUtilFunc - goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB - -BattleFrontier_BattlePalaceBattleRoom_EventScript_24F911:: @ 824F911 - call BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc +BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedOpponent:: @ 824F911 + call BattleFrontier_EventScript_IncrementWinStreak + frontier_get FRONTIER_DATA_BATTLE_NUM addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT switch VAR_RESULT - case 7, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28 - applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA7 + case 7, BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon + applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_OpponentExit waitmovement 0 removeobject 2 - applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99 - applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC + applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp + applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown waitmovement 0 - msgbox BattleFrontier_BattlePalaceBattleRoom_Text_24FF00, MSGBOX_DEFAULT + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_LetMeRestoreYourMons, MSGBOX_DEFAULT special LoadPlayerParty special SavePlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc + frontier_setpartyorder FRONTIER_PARTY_SIZE playfanfare MUS_ME_ASA waitfanfare special HealPlayerParty - -BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A:: @ 824F98A - setvar VAR_0x8004, 9 - special CallFrontierUtilFunc +BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent:: @ 824F98A + frontier_getbrainstatus copyvar VAR_TEMP_F, VAR_RESULT - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc + compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY + goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_MavenUpNext + frontier_get FRONTIER_DATA_BATTLE_NUM compare VAR_RESULT, 1 - call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE66 + call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor2ndOpponent compare VAR_RESULT, 2 - call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE6D + call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor3rdOpponent compare VAR_RESULT, 3 - call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE74 + call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor4thOpponent compare VAR_RESULT, 4 - call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE7B + call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor5thOpponent compare VAR_RESULT, 5 - call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE82 + call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor6thOpponent compare VAR_RESULT, 6 - call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE89 - call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA42 - multichoice 19, 4, 103, 1 + call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor7thOpponent + call BattleFrontier_EventScript_GetCantRecordBattle + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponentNoRecord + multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 1 switch VAR_RESULT - case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB14 - case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA78 - case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4 - case 3, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAE2 - case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A + case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_ContinueChallenge + case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRecordBattle + case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskPauseChallenge + case 3, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA42:: @ 824FA42 - multichoice 20, 6, 104, 1 +BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponentNoRecord:: @ 824FA42 + multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1 switch VAR_RESULT - case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB14 - case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4 - case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAE2 - case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A + case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_ContinueChallenge + case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskPauseChallenge + case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA78:: @ 824FA78 - message BattleFrontier_BattlePalaceBattleRoom_Text_25009E +BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRecordBattle:: @ 824FA78 + message BattleFrontier_BattlePalaceBattleRoom_Text_RecordLastMatch waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A - case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAAA - case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A + case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent + case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_RecordBattle + case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAAA:: @ 824FAAA - call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8B4 - goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A +BattleFrontier_BattlePalaceBattleRoom_EventScript_RecordBattle:: @ 824FAAA + call BattleFrontier_EventScript_SaveBattle + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4:: @ 824FAB4 - msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250030, MSGBOX_YESNO +BattleFrontier_BattlePalaceBattleRoom_EventScript_AskPauseChallenge:: @ 824FAB4 + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SaveAndQuitGame, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A - case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F - case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A + case NO, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent + case YES, BattleFrontier_BattlePalaceBattleRoom_EventScript_PauseChallenge + case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAE2:: @ 824FAE2 - message BattleFrontier_BattlePalaceBattleRoom_Text_25005A +BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRetireChallenge:: @ 824FAE2 + message BattleFrontier_BattlePalaceBattleRoom_Text_WishToQuitChallenge waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A - case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA - case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A + case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent + case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyLost + case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB14:: @ 824FB14 - applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97 - applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97 +BattleFrontier_BattlePalaceBattleRoom_EventScript_ContinueChallenge:: @ 824FB14 + applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight + applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight closemessage - goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8BF + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_NextOpponentEnter -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28:: @ 824FB28 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 3 - special CallFrontierUtilFunc - goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB +BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon:: @ 824FB28 + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobby -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F:: @ 824FB3F - message BattleFrontier_BattlePalaceBattleRoom_Text_25007E +BattleFrontier_BattlePalaceBattleRoom_EventScript_PauseChallenge:: @ 824FB3F + message BattleFrontier_BattlePalaceBattleRoom_Text_SavingData waitmessage - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 2 - special CallBattlePalaceFunction + palace_save CHALLENGE_STATUS_PAUSED playse SE_SAVE waitse - fadescreen 1 - setvar VAR_0x8004, 4 - special CallFrontierUtilFunc + fadescreen FADE_TO_BLACK + frontier_reset end -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61:: @ 824FB61 +BattleFrontier_BattlePalaceBattleRoom_EventScript_MavenUpNext:: @ 824FB61 compare VAR_TEMP_2, 1 - goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79 - msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2500DD, MSGBOX_DEFAULT + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMaven + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_ChallengingPalaceMaven, MSGBOX_DEFAULT setvar VAR_TEMP_2, 1 - -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79:: @ 824FB79 - message BattleFrontier_BattlePalaceBattleRoom_Text_25014A +BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMaven:: @ 824FB79 + message BattleFrontier_BattlePalaceBattleRoom_Text_ReadyForPalaceMaven waitmessage - call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FBD0 - multichoice 19, 4, 103, 1 + call BattleFrontier_EventScript_GetCantRecordBattle + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMavenNoRecord + multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 1 switch VAR_RESULT - case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06 - case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA78 - case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4 - case 3, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAE2 - case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79 + case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenser + case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRecordBattle + case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskPauseChallenge + case 3, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMaven -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FBD0:: @ 824FBD0 - multichoice 20, 6, 104, 1 +BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMavenNoRecord:: @ 824FBD0 + multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1 switch VAR_RESULT - case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06 - case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4 - case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAE2 - case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79 + case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenser + case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskPauseChallenge + case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMaven -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06:: @ 824FC06 - call BattleFrontier_BattlePalaceBattleRoom_EventScript_242170 - msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25017C, MSGBOX_DEFAULT +BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenser:: @ 824FC06 + call BattleFrontier_EventScript_SetBrainObjectGfx + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_AnnounceArrivalOfSpenser, MSGBOX_DEFAULT closemessage - applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97 - applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97 + applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight + applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight setobjectxyperm 2, 15, 1 addobject 2 hideobjectat 2, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM setobjectxy 2, 13, 1 setobjectxyperm 2, 13, 1 - applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEDF - applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEE7 - applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEF2 + applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_DusclopsEnter + applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_AzurillEnter + applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_SpenserEnter waitmovement 0 switch VAR_TEMP_F - case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD3A - case 3, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA - case 4, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA - msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2501C1, MSGBOX_DEFAULT - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA:: @ 824FCAA - msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502C4, MSGBOX_DEFAULT - call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7 + case FRONTIER_BRAIN_GOLD, BattleFrontier_BattlePalaceBattleRoom_EventScript_IntroSpenserGold + case FRONTIER_BRAIN_STREAK, BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserSilver + case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserGold + frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH + compare VAR_RESULT, FALSE + goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserSilver + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserFirstIntro, MSGBOX_DEFAULT + frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH +BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserSilver:: @ 824FCAA + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_ProveYourBondWithMons, MSGBOX_DEFAULT + call BattleFrontier_BattlePalaceBattleRoom_EventScript_DoPalaceBattle compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7 - goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserSilver + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyLost -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7:: @ 824FCC7 - setvar VAR_0x8004, 6 - special CallBattlePalaceFunction - setvar VAR_0x8004, 12 - special CallFrontierUtilFunc +BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserSilver:: @ 824FCC7 + palace_incrementstreak + frontier_getsymbols compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28 - msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502FF, MSGBOX_DEFAULT - applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99 - applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC - msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25036D, MSGBOX_DEFAULT + goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserPostSilverBattle, MSGBOX_DEFAULT + applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp + applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_LetsSeeFrontierPass, MSGBOX_DEFAULT playfanfare MUS_ME_SYMBOLGET - message BattleFrontier_BattlePalaceBattleRoom_Text_2503DC + message BattleFrontier_BattlePalaceBattleRoom_Text_ReceivedSpiritsSymbol waitmessage waitfanfare - setvar VAR_0x8004, 13 - special CallFrontierUtilFunc - applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6 + frontier_givesymbol + applymovement 2, Common_Movement_WalkInPlaceLeft waitmovement 0 - applymovement 1, Common_Movement_WalkInPlaceRight - applymovement 3, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight + applymovement 3, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250412, MSGBOX_DEFAULT - goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28 + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserAwaitNextTime, MSGBOX_DEFAULT + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD3A:: @ 824FD3A - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67 - msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250485, MSGBOX_DEFAULT - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67:: @ 824FD67 - msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250572, MSGBOX_DEFAULT - call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7 +BattleFrontier_BattlePalaceBattleRoom_EventScript_IntroSpenserGold:: @ 824FD3A + frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH + compare VAR_RESULT, FALSE + goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserGold + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserThisTimeWontHoldBack, MSGBOX_DEFAULT + frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH +BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserGold:: @ 824FD67 + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_Kaaah, MSGBOX_DEFAULT + call BattleFrontier_BattlePalaceBattleRoom_EventScript_DoPalaceBattle compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84 - goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserGold + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyLost -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84:: @ 824FD84 - setvar VAR_0x8004, 6 - special CallBattlePalaceFunction - setvar VAR_0x8004, 12 - special CallFrontierUtilFunc +BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserGold:: @ 824FD84 + palace_incrementstreak + frontier_getsymbols compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28 - msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25057E, MSGBOX_DEFAULT - applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99 - applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC - msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250629, MSGBOX_DEFAULT + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserYourTeamIsAdmirable, MSGBOX_DEFAULT + applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp + applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_HurryWithFrontierPass, MSGBOX_DEFAULT playfanfare MUS_ME_SYMBOLGET - message BattleFrontier_BattlePalaceBattleRoom_Text_250699 + message BattleFrontier_BattlePalaceBattleRoom_Text_SpiritsSymbolTookGoldenShine waitmessage waitfanfare - setvar VAR_0x8004, 13 - special CallFrontierUtilFunc - applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6 + frontier_givesymbol + applymovement 2, Common_Movement_WalkInPlaceLeft waitmovement 0 - applymovement 1, Common_Movement_WalkInPlaceRight - applymovement 3, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight + applymovement 3, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2506C4, MSGBOX_DEFAULT - goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28 + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserComeSeeMeAgain, MSGBOX_DEFAULT + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7:: @ 824FDF7 -VerdanturfTown_BattleTentBattleRoom_EventScript_24FDF7:: @ 824FDF7 +BattleFrontier_BattlePalaceBattleRoom_EventScript_DoPalaceBattle:: @ 824FDF7 closemessage setvar VAR_TEMP_2, 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 6 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_RECORD_DISABLED, FALSE special HealPlayerParty setvar VAR_0x8004, SPECIAL_BATTLE_PALACE setvar VAR_0x8005, 0 special DoSpecialTrainerBattle waitstate - setvar VAR_0x8004, 18 - special CallFrontierUtilFunc + frontier_restorehelditems special HealPlayerParty - setvar VAR_0x8004, 21 - special CallFrontierUtilFunc + frontier_resetsketch return -BattleFrontier_BattlePalaceBattleRoom_MapScript2_24FE34: @ 824FE34 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE3E +BattleFrontier_BattlePalaceBattleRoom_OnWarp: @ 824FE34 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_SetUpRoomObjects .2byte 0 -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE3E:: @ 824FE3E +BattleFrontier_BattlePalaceBattleRoom_EventScript_SetUpRoomObjects:: @ 824FE3E hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM - call BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833 + call BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfx setvar VAR_TEMP_1, 1 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible removeobject 2 - applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90 - applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90 + applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible + applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible end -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE66:: @ 824FE66 - message BattleFrontier_BattlePalaceBattleRoom_Text_24FF28 +BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor2ndOpponent:: @ 824FE66 + message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor2ndOpponent waitmessage return -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE6D:: @ 824FE6D - message BattleFrontier_BattlePalaceBattleRoom_Text_24FF54 +BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor3rdOpponent:: @ 824FE6D + message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor3rdOpponent waitmessage return -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE74:: @ 824FE74 - message BattleFrontier_BattlePalaceBattleRoom_Text_24FF80 +BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor4thOpponent:: @ 824FE74 + message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor4thOpponent waitmessage return -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE7B:: @ 824FE7B - message BattleFrontier_BattlePalaceBattleRoom_Text_24FFAC +BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor5thOpponent:: @ 824FE7B + message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor5thOpponent waitmessage return -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE82:: @ 824FE82 - message BattleFrontier_BattlePalaceBattleRoom_Text_24FFD8 +BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor6thOpponent:: @ 824FE82 + message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor6thOpponent waitmessage return -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE89:: @ 824FE89 - message BattleFrontier_BattlePalaceBattleRoom_Text_250004 +BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor7thOpponent:: @ 824FE89 + message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor7thOpponent waitmessage return -BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90: @ 824FE90 +BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible: @ 824FE90 set_invisible step_end -BattleFrontier_BattlePalaceBattleRoom_Movement_24FE92: @ 824FE92 +BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerEnterRoom: @ 824FE92 set_visible walk_up walk_up walk_up walk_up - -BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97: @ 824FE97 +BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight: @ 824FE97 face_right step_end -BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99: @ 824FE99 +BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp: @ 824FE99 face_up step_end -BattleFrontier_BattlePalaceBattleRoom_Movement_24FE9B: @ 824FE9B +BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerReturnToChallenge: @ 824FE9B set_visible walk_up walk_up @@ -420,7 +371,7 @@ BattleFrontier_BattlePalaceBattleRoom_Movement_24FE9B: @ 824FE9B walk_up step_end -BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA1: @ 824FEA1 +BattleFrontier_BattlePalaceBattleRoom_Movement_OpponentEnter: @ 824FEA1 walk_down walk_down walk_down @@ -428,50 +379,50 @@ BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA1: @ 824FEA1 face_left step_end -BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA7: @ 824FEA7 +BattleFrontier_BattlePalaceBattleRoom_Movement_OpponentExit: @ 824FEA7 walk_up walk_up walk_up walk_up step_end -BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC: @ 824FEAC +BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown: @ 824FEAC face_down step_end -BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAE: @ 824FEAE +BattleFrontier_BattlePalaceBattleRoom_Movement_UnusedOpponentEnter1: @ 824FEAE set_visible walk_slow_down walk_slow_down face_left step_end -BattleFrontier_BattlePalaceBattleRoom_Movement_24FEB3: @ 824FEB3 +BattleFrontier_BattlePalaceBattleRoom_Movement_UnusedOpponentEnter2: @ 824FEB3 set_visible walk_slow_down step_end -BattleFrontier_BattlePalaceBattleRoom_Movement_24FEB6: @ 824FEB6 +BattleFrontier_BattlePalaceBattleRoom_Movement_UnusedOpponentEnter3: @ 824FEB6 walk_slow_down walk_slow_down walk_slow_down face_left step_end -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB:: @ 824FEBB +BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobby:: @ 824FEBB copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FED5 + compare VAR_RESULT, FRONTIER_MODE_DOUBLES + goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyDoubles warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 255, 5, 7 waitstate end -BattleFrontier_BattlePalaceBattleRoom_EventScript_24FED5:: @ 824FED5 +BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyDoubles:: @ 824FED5 warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 255, 19, 7 waitstate end -BattleFrontier_BattlePalaceBattleRoom_Movement_24FEDF: @ 824FEDF +BattleFrontier_BattlePalaceBattleRoom_Movement_DusclopsEnter: @ 824FEDF delay_16 delay_16 set_visible @@ -481,7 +432,7 @@ BattleFrontier_BattlePalaceBattleRoom_Movement_24FEDF: @ 824FEDF walk_in_place_fastest_left step_end -BattleFrontier_BattlePalaceBattleRoom_Movement_24FEE7: @ 824FEE7 +BattleFrontier_BattlePalaceBattleRoom_Movement_AzurillEnter: @ 824FEE7 set_visible walk_fast_down walk_fast_right @@ -494,7 +445,7 @@ BattleFrontier_BattlePalaceBattleRoom_Movement_24FEE7: @ 824FEE7 delay_16 step_end -BattleFrontier_BattlePalaceBattleRoom_Movement_24FEF2: @ 824FEF2 +BattleFrontier_BattlePalaceBattleRoom_Movement_SpenserEnter: @ 824FEF2 delay_16 delay_16 delay_16 @@ -510,70 +461,64 @@ BattleFrontier_BattlePalaceBattleRoom_Movement_24FEF2: @ 824FEF2 face_left step_end -BattleFrontier_BattlePalaceBattleRoom_Text_24FF00: @ 824FF00 -VerdanturfTown_BattleTentBattleRoom_Text_24FF00: @ 824FF00 +BattleFrontier_BattlePalaceBattleRoom_Text_LetMeRestoreYourMons: @ 824FF00 .string "Excellent…\n" .string "Let me restore your POKéMON.$" -BattleFrontier_BattlePalaceBattleRoom_Text_24FF28: @ 824FF28 -VerdanturfTown_BattleTentBattleRoom_Text_24FF28: @ 824FF28 +BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor2ndOpponent: @ 824FF28 .string "The 2nd opponent is next.\n" .string "Are you prepared?$" -BattleFrontier_BattlePalaceBattleRoom_Text_24FF54: @ 824FF54 -VerdanturfTown_BattleTentBattleRoom_Text_24FF54: @ 824FF54 +BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor3rdOpponent: @ 824FF54 .string "The 3rd opponent is next.\n" .string "Are you prepared?$" -BattleFrontier_BattlePalaceBattleRoom_Text_24FF80: @ 824FF80 +BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor4thOpponent: @ 824FF80 .string "The 4th opponent is next.\n" .string "Are you prepared?$" -BattleFrontier_BattlePalaceBattleRoom_Text_24FFAC: @ 824FFAC +BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor5thOpponent: @ 824FFAC .string "The 5th opponent is next.\n" .string "Are you prepared?$" -BattleFrontier_BattlePalaceBattleRoom_Text_24FFD8: @ 824FFD8 +BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor6thOpponent: @ 824FFD8 .string "The 6th opponent is next.\n" .string "Are you prepared?$" -BattleFrontier_BattlePalaceBattleRoom_Text_250004: @ 8250004 +BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor7thOpponent: @ 8250004 .string "The 7th opponent is next.\n" .string "Are you prepared?$" -BattleFrontier_BattlePalaceBattleRoom_Text_250030: @ 8250030 -VerdanturfTown_BattleTentBattleRoom_Text_250030: @ 8250030 +BattleFrontier_BattlePalaceBattleRoom_Text_SaveAndQuitGame: @ 8250030 .string "Would you like to save and quit\n" .string "the game?$" -BattleFrontier_BattlePalaceBattleRoom_Text_25005A: @ 825005A -VerdanturfTown_BattleTentBattleRoom_Text_25005A: @ 825005A +BattleFrontier_BattlePalaceBattleRoom_Text_WishToQuitChallenge: @ 825005A .string "Do you wish to quit your challenge?$" -BattleFrontier_BattlePalaceBattleRoom_Text_25007E: @ 825007E -VerdanturfTown_BattleTentBattleRoom_Text_25007E: @ 825007E +BattleFrontier_BattlePalaceBattleRoom_Text_SavingData: @ 825007E .string "Saving the data.\n" .string "Have patience…$" -BattleFrontier_BattlePalaceBattleRoom_Text_25009E: @ 825009E +BattleFrontier_BattlePalaceBattleRoom_Text_RecordLastMatch: @ 825009E .string "Do you wish to record your latest\n" .string "match on your FRONTIER PASS?$" -BattleFrontier_BattlePalaceBattleRoom_Text_2500DD: @ 82500DD +BattleFrontier_BattlePalaceBattleRoom_Text_ChallengingPalaceMaven: @ 82500DD .string "And now…\p" .string "By winning consistently, you have\n" .string "earned the privilege of challenging\l" .string "our master, the PALACE MAVEN…$" -BattleFrontier_BattlePalaceBattleRoom_Text_25014A: @ 825014A +BattleFrontier_BattlePalaceBattleRoom_Text_ReadyForPalaceMaven: @ 825014A .string "I shall send for the PALACE MAVEN.\n" .string "Are you ready?$" -BattleFrontier_BattlePalaceBattleRoom_Text_25017C: @ 825017C +BattleFrontier_BattlePalaceBattleRoom_Text_AnnounceArrivalOfSpenser: @ 825017C .string "Let great fanfare announce the arrival\n" .string "of the PALACE MAVEN, SPENSER!$" -BattleFrontier_BattlePalaceBattleRoom_Text_2501C1: @ 82501C1 +BattleFrontier_BattlePalaceBattleRoom_Text_SpenserFirstIntro: @ 82501C1 .string "SPENSER: My physical being is with\n" .string "POKéMON always!\p" .string "My heart beats as one with\n" @@ -585,34 +530,34 @@ BattleFrontier_BattlePalaceBattleRoom_Text_2501C1: @ 82501C1 .string "If your bonds of trust are frail,\n" .string "you will never beat my brethren!$" -BattleFrontier_BattlePalaceBattleRoom_Text_2502C4: @ 82502C4 +BattleFrontier_BattlePalaceBattleRoom_Text_ProveYourBondWithMons: @ 82502C4 .string "The bond you share with your POKéMON!\n" .string "Prove it to me here!$" -BattleFrontier_BattlePalaceBattleRoom_Text_2502FF: @ 82502FF +BattleFrontier_BattlePalaceBattleRoom_Text_SpenserPostSilverBattle: @ 82502FF .string "SPENSER: Gwahahah!\p" .string "Hah, you never fell for my bluster!\n" .string "Sorry for trying that stunt!\p" .string "Here!\n" .string "Bring me the thing!$" -BattleFrontier_BattlePalaceBattleRoom_Text_25036D: @ 825036D +BattleFrontier_BattlePalaceBattleRoom_Text_LetsSeeFrontierPass: @ 825036D .string "My, my, if only you could maintain that\n" .string "facade of distinguished authority…\p" .string "Here!\n" .string "Let's see your FRONTIER PASS!$" -BattleFrontier_BattlePalaceBattleRoom_Text_2503DC: @ 82503DC +BattleFrontier_BattlePalaceBattleRoom_Text_ReceivedSpiritsSymbol: @ 82503DC .string "The Spirits Symbol was embossed on\n" .string "the FRONTIER PASS!$" -BattleFrontier_BattlePalaceBattleRoom_Text_250412: @ 8250412 +BattleFrontier_BattlePalaceBattleRoom_Text_SpenserAwaitNextTime: @ 8250412 .string "SPENSER: Your POKéMON's eyes are \n" .string "truly clear and unclouded.\p" .string "I will eagerly await the next\n" .string "opportunity to see you.$" -BattleFrontier_BattlePalaceBattleRoom_Text_250485: @ 8250485 +BattleFrontier_BattlePalaceBattleRoom_Text_SpenserThisTimeWontHoldBack: @ 8250485 .string "SPENSER: Gwahahah!\n" .string "You've battled your way up again?\p" .string "You must have developed a truly\n" @@ -623,10 +568,10 @@ BattleFrontier_BattlePalaceBattleRoom_Text_250485: @ 8250485 .string "Ready now?\n" .string "Prepare to lose!$" -BattleFrontier_BattlePalaceBattleRoom_Text_250572: @ 8250572 +BattleFrontier_BattlePalaceBattleRoom_Text_Kaaah: @ 8250572 .string "… … …Kaaah!$" -BattleFrontier_BattlePalaceBattleRoom_Text_25057E: @ 825057E +BattleFrontier_BattlePalaceBattleRoom_Text_SpenserYourTeamIsAdmirable: @ 825057E .string "SPENSER: Well, that was some display!\n" .string "Even fully unleashed, my brethren\l" .string "could not overpower you.\p" @@ -634,17 +579,17 @@ BattleFrontier_BattlePalaceBattleRoom_Text_25057E: @ 825057E .string "Here!\n" .string "Bring me that thing, will you?$" -BattleFrontier_BattlePalaceBattleRoom_Text_250629: @ 8250629 +BattleFrontier_BattlePalaceBattleRoom_Text_HurryWithFrontierPass: @ 8250629 .string "My, my, if only you could maintain\n" .string "a certain level of decorum…\p" .string "Gaaah, here!\n" .string "Hurry with that FRONTIER PASS, you!$" -BattleFrontier_BattlePalaceBattleRoom_Text_250699: @ 8250699 +BattleFrontier_BattlePalaceBattleRoom_Text_SpiritsSymbolTookGoldenShine: @ 8250699 .string "The Spirits Symbol took on\n" .string "a golden shine!$" -BattleFrontier_BattlePalaceBattleRoom_Text_2506C4: @ 82506C4 +BattleFrontier_BattlePalaceBattleRoom_Text_SpenserComeSeeMeAgain: @ 82506C4 .string "SPENSER: Gwahahah!\p" .string "Come see me time and again!\n" .string "My brethren and I will be waiting!$" diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc index d5219636c5..46ab902fa7 100644 --- a/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc @@ -1,92 +1,88 @@ BattleFrontier_BattlePalaceCorridor_MapScripts:: @ 824F4A3 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceCorridor_MapScript2_24F4A9 + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceCorridor_OnFrame .byte 0 -BattleFrontier_BattlePalaceCorridor_MapScript2_24F4A9: @ 824F4A9 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3 +BattleFrontier_BattlePalaceCorridor_OnFrame: @ 824F4A9 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceCorridor_EventScript_WalkThroughCorridor .2byte 0 -BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3:: @ 824F4B3 +BattleFrontier_BattlePalaceCorridor_EventScript_WalkThroughCorridor:: @ 824F4B3 delay 16 - applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8 + applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_EnterCorridor + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_EnterCorridor waitmovement 0 lockall - setvar VAR_0x8004, 3 - special CallBattlePalaceFunction + palace_getcomment compare VAR_RESULT, 0 - call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F58B + call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment1 compare VAR_RESULT, 1 - call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F594 + call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment2 compare VAR_RESULT, 2 - call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F59D + call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment3 compare VAR_RESULT, 3 - call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F5A6 + call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_StreakComment compare VAR_RESULT, 4 - call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F5AF + call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_LongStreakComment closemessage - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special CallFrontierUtilFunc - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F553 - applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5BD - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5C4 + frontier_get FRONTIER_DATA_LVL_MODE + compare VAR_RESULT, FRONTIER_LVL_OPEN + goto_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_WalkToOpenBattleRoom + applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_AttendantWalkTo50BattleRoom + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerWalkTo50BattleRoom waitmovement 0 opendoor 6, 3 waitdooranim - applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5DA - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9 + applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_AttendantEnterBattleRoom + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerEnterBattleRoom waitmovement 0 closedoor 6, 3 waitdooranim - goto BattleFrontier_BattlePalaceCorridor_EventScript_24F581 + goto BattleFrontier_BattlePalaceCorridor_EventScript_WarpToBattleRoom -BattleFrontier_BattlePalaceCorridor_EventScript_24F553:: @ 824F553 - applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5CB - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5D2 +BattleFrontier_BattlePalaceCorridor_EventScript_WalkToOpenBattleRoom:: @ 824F553 + applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_AttendantWalkToOpenBattleRoom + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerWalkToOpenBattleRoom waitmovement 0 opendoor 10, 3 waitdooranim - applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5DA - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9 + applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_AttendantEnterBattleRoom + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerEnterBattleRoom waitmovement 0 closedoor 10, 3 waitdooranim - -BattleFrontier_BattlePalaceCorridor_EventScript_24F581:: @ 824F581 +BattleFrontier_BattlePalaceCorridor_EventScript_WarpToBattleRoom:: @ 824F581 warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM, 255, 7, 4 waitstate end -BattleFrontier_BattlePalaceCorridor_EventScript_24F58B:: @ 824F58B - msgbox BattleFrontier_BattlePalaceCorridor_Text_24F5DD, MSGBOX_DEFAULT +BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment1:: @ 824F58B + msgbox BattleFrontier_BattlePalaceCorridor_Text_PeopleAndMonAreSame, MSGBOX_DEFAULT return -BattleFrontier_BattlePalaceCorridor_EventScript_24F594:: @ 824F594 - msgbox BattleFrontier_BattlePalaceCorridor_Text_24F65B, MSGBOX_DEFAULT +BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment2:: @ 824F594 + msgbox BattleFrontier_BattlePalaceCorridor_Text_LetMonDoWhatItLikes, MSGBOX_DEFAULT return -BattleFrontier_BattlePalaceCorridor_EventScript_24F59D:: @ 824F59D - msgbox BattleFrontier_BattlePalaceCorridor_Text_24F718, MSGBOX_DEFAULT +BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment3:: @ 824F59D + msgbox BattleFrontier_BattlePalaceCorridor_Text_MonDifferentWhenCornered, MSGBOX_DEFAULT return -BattleFrontier_BattlePalaceCorridor_EventScript_24F5A6:: @ 824F5A6 - msgbox BattleFrontier_BattlePalaceCorridor_Text_24F78C, MSGBOX_DEFAULT +BattleFrontier_BattlePalaceCorridor_EventScript_StreakComment:: @ 824F5A6 + msgbox BattleFrontier_BattlePalaceCorridor_Text_BeginningToUnderstandNature, MSGBOX_DEFAULT return -BattleFrontier_BattlePalaceCorridor_EventScript_24F5AF:: @ 824F5AF - msgbox BattleFrontier_BattlePalaceCorridor_Text_24F7D4, MSGBOX_DEFAULT +BattleFrontier_BattlePalaceCorridor_EventScript_LongStreakComment:: @ 824F5AF + msgbox BattleFrontier_BattlePalaceCorridor_Text_HeartfeltBondBetweenYouAndMons, MSGBOX_DEFAULT return -BattleFrontier_BattlePalaceCorridor_Movement_24F5B8: @ 824F5B8 +BattleFrontier_BattlePalaceCorridor_Movement_EnterCorridor: @ 824F5B8 walk_up walk_up walk_up walk_up step_end -BattleFrontier_BattlePalaceCorridor_Movement_24F5BD: @ 824F5BD +BattleFrontier_BattlePalaceCorridor_Movement_AttendantWalkTo50BattleRoom: @ 824F5BD walk_up walk_up walk_left @@ -95,7 +91,7 @@ BattleFrontier_BattlePalaceCorridor_Movement_24F5BD: @ 824F5BD walk_up step_end -BattleFrontier_BattlePalaceCorridor_Movement_24F5C4: @ 824F5C4 +BattleFrontier_BattlePalaceCorridor_Movement_PlayerWalkTo50BattleRoom: @ 824F5C4 walk_up walk_up walk_up @@ -104,7 +100,7 @@ BattleFrontier_BattlePalaceCorridor_Movement_24F5C4: @ 824F5C4 walk_up step_end -BattleFrontier_BattlePalaceCorridor_Movement_24F5CB: @ 824F5CB +BattleFrontier_BattlePalaceCorridor_Movement_AttendantWalkToOpenBattleRoom: @ 824F5CB walk_up walk_right walk_right @@ -113,7 +109,7 @@ BattleFrontier_BattlePalaceCorridor_Movement_24F5CB: @ 824F5CB walk_up step_end -BattleFrontier_BattlePalaceCorridor_Movement_24F5D2: @ 824F5D2 +BattleFrontier_BattlePalaceCorridor_Movement_PlayerWalkToOpenBattleRoom: @ 824F5D2 walk_up walk_up walk_right @@ -122,39 +118,38 @@ BattleFrontier_BattlePalaceCorridor_Movement_24F5D2: @ 824F5D2 walk_up step_end -BattleFrontier_BattlePalaceCorridor_Movement_24F5D9: @ 824F5D9 +BattleFrontier_BattlePalaceCorridor_Movement_PlayerEnterBattleRoom: @ 824F5D9 walk_up - -BattleFrontier_BattlePalaceCorridor_Movement_24F5DA: @ 824F5DA +BattleFrontier_BattlePalaceCorridor_Movement_AttendantEnterBattleRoom: @ 824F5DA walk_up set_invisible step_end -BattleFrontier_BattlePalaceCorridor_Text_24F5DD: @ 824F5DD +BattleFrontier_BattlePalaceCorridor_Text_PeopleAndMonAreSame: @ 824F5DD .string "People and POKéMON, they are but\n" .string "the same…\p" .string "Their individual nature makes them\n" .string "good at certain things, and not good\l" .string "at others.$" -BattleFrontier_BattlePalaceCorridor_Text_24F65B: @ 824F65B +BattleFrontier_BattlePalaceCorridor_Text_LetMonDoWhatItLikes: @ 824F65B .string "Rather than trying to make a POKéMON\n" .string "do what it dislikes, try to let it do\l" .string "what it likes and is good at doing.\p" .string "Put yourself in the POKéMON's position\n" .string "and consider what moves it would like.$" -BattleFrontier_BattlePalaceCorridor_Text_24F718: @ 824F718 +BattleFrontier_BattlePalaceCorridor_Text_MonDifferentWhenCornered: @ 824F718 .string "A POKéMON's nature is a remarkable\n" .string "thing…\p" .string "Some POKéMON behave in a completely\n" .string "different way when they are cornered.$" -BattleFrontier_BattlePalaceCorridor_Text_24F78C: @ 824F78C +BattleFrontier_BattlePalaceCorridor_Text_BeginningToUnderstandNature: @ 824F78C .string "Are you beginning to understand how\n" .string "a POKéMON's nature makes it behave?$" -BattleFrontier_BattlePalaceCorridor_Text_24F7D4: @ 824F7D4 +BattleFrontier_BattlePalaceCorridor_Text_HeartfeltBondBetweenYouAndMons: @ 824F7D4 .string "Ah… I see a strong, heartfelt bond\n" .string "between you and your POKéMON…$" diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/map.json b/data/maps/BattleFrontier_BattlePalaceLobby/map.json index c1d79ee509..f35780171a 100644 --- a/data/maps/BattleFrontier_BattlePalaceLobby/map.json +++ b/data/maps/BattleFrontier_BattlePalaceLobby/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePalaceLobby_EventScript_24D944", + "script": "BattleFrontier_BattlePalaceLobby_EventScript_SinglesAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePalaceLobby_EventScript_24DC82", + "script": "BattleFrontier_BattlePalaceLobby_EventScript_BlackBelt", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePalaceLobby_EventScript_24DC9D", + "script": "BattleFrontier_BattlePalaceLobby_EventScript_Maniac", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePalaceLobby_EventScript_24DC8B", + "script": "BattleFrontier_BattlePalaceLobby_EventScript_Man", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePalaceLobby_EventScript_24DC94", + "script": "BattleFrontier_BattlePalaceLobby_EventScript_Beauty", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePalaceLobby_EventScript_24D956", + "script": "BattleFrontier_BattlePalaceLobby_EventScript_DoublesAttendant", "flag": "0" } ], @@ -124,7 +124,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_BattlePalaceLobby_EventScript_24DC50" + "script": "BattleFrontier_BattlePalaceLobby_EventScript_ShowSinglesResults" }, { "type": "sign", @@ -132,7 +132,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_BattlePalaceLobby_EventScript_24DC69" + "script": "BattleFrontier_BattlePalaceLobby_EventScript_ShowDoublesResults" }, { "type": "sign", @@ -140,7 +140,7 @@ "y": 4, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_BattlePalaceLobby_EventScript_24DCA6" + "script": "BattleFrontier_BattlePalaceLobby_EventScript_RulesBoard" } ] } \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc index 40205e9b5d..e015a2d428 100644 --- a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc @@ -1,463 +1,405 @@ BattleFrontier_BattlePalaceLobby_MapScripts:: @ 824D77E - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceLobby_MapScript2_24D79D - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePalaceLobby_MapScript2_24D789 + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceLobby_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePalaceLobby_OnWarp .byte 0 -BattleFrontier_BattlePalaceLobby_MapScript2_24D789: @ 824D789 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D793 +BattleFrontier_BattlePalaceLobby_OnWarp: @ 824D789 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePalaceLobby_EventScript_TurnPlayerNorth .2byte 0 -BattleFrontier_BattlePalaceLobby_EventScript_24D793:: @ 824D793 +BattleFrontier_BattlePalaceLobby_EventScript_TurnPlayerNorth:: @ 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 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D7C7 - map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattlePalaceLobby_EventScript_24D7D0 - map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattlePalaceLobby_EventScript_24D908 - map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattlePalaceLobby_EventScript_24D817 - map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattlePalaceLobby_EventScript_24D873 +BattleFrontier_BattlePalaceLobby_OnFrame: @ 824D79D + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePalaceLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePalaceLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattlePalaceLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePalaceLobby_EventScript_LostChallenge .2byte 0 -BattleFrontier_BattlePalaceLobby_EventScript_24D7C7:: @ 824D7C7 - setvar VAR_0x8004, 0 - special CallFrontierUtilFunc +BattleFrontier_BattlePalaceLobby_EventScript_GetChallengeStatus:: @ 824D7C7 + frontier_getstatus end -BattleFrontier_BattlePalaceLobby_EventScript_24D7D0:: @ 824D7D0 +BattleFrontier_BattlePalaceLobby_EventScript_QuitWithoutSaving:: @ 824D7D0 lockall - msgbox BattleFrontier_BattlePalaceLobby_Text_24E636, MSGBOX_DEFAULT + msgbox BattleFrontier_BattlePalaceLobby_Text_FailedToSaveBeforeEndingChallenge, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallBattlePalaceFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 0 - special CallBattlePalaceFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + palace_set PALACE_DATA_WIN_STREAK, 0 + palace_set PALACE_DATA_WIN_STREAK_ACTIVE, FALSE + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 setvar VAR_TEMP_0, 255 releaseall end -BattleFrontier_BattlePalaceLobby_EventScript_24D817:: @ 824D817 +BattleFrontier_BattlePalaceLobby_EventScript_WonChallenge:: @ 824D817 lockall - setvar VAR_0x8004, 10 - special CallFrontierUtilFunc - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24D838 - msgbox BattleFrontier_BattlePalaceLobby_Text_24E497, MSGBOX_DEFAULT - goto BattleFrontier_BattlePalaceLobby_EventScript_24D840 + frontier_isbrain + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_DefeatedMaven + msgbox BattleFrontier_BattlePalaceLobby_Text_FirmTrueBondsFor7WinStreak, MSGBOX_DEFAULT + goto BattleFrontier_BattlePalaceLobby_EventScript_GiveBattlePoints -BattleFrontier_BattlePalaceLobby_EventScript_24D838:: @ 824D838 - msgbox BattleFrontier_BattlePalaceLobby_Text_24EE81, MSGBOX_DEFAULT - -BattleFrontier_BattlePalaceLobby_EventScript_24D840:: @ 824D840 - msgbox BattleFrontier_BattlePalaceLobby_Text_24EEB9, MSGBOX_DEFAULT - setvar VAR_0x8004, 11 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattlePalaceLobby_Text_241520, 9 - message BattleFrontier_BattlePalaceLobby_Text_24E4F7 +BattleFrontier_BattlePalaceLobby_EventScript_DefeatedMaven:: @ 824D838 + msgbox BattleFrontier_BattlePalaceLobby_Text_ToDefeatMavenAnd7Trainers, MSGBOX_DEFAULT +BattleFrontier_BattlePalaceLobby_EventScript_GiveBattlePoints:: @ 824D840 + msgbox BattleFrontier_BattlePalaceLobby_Text_PresentYouWithBattlePoints, MSGBOX_DEFAULT + frontier_givepoints + msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS + message BattleFrontier_BattlePalaceLobby_Text_FeatWillBeRecorded waitmessage - call BattleFrontier_BattlePalaceLobby_EventScript_24D8A1 - msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, MSGBOX_DEFAULT + call BattleFrontier_BattlePalaceLobby_EventScript_SaveAfterChallenge + msgbox BattleFrontier_BattlePalaceLobby_Text_ReturnWhenFortified, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 releaseall end -BattleFrontier_BattlePalaceLobby_EventScript_24D873:: @ 824D873 +BattleFrontier_BattlePalaceLobby_EventScript_LostChallenge:: @ 824D873 lockall - message BattleFrontier_BattlePalaceLobby_Text_24E41E + message BattleFrontier_BattlePalaceLobby_Text_ResultsWillBeRecorded waitmessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 0 - special CallBattlePalaceFunction - call BattleFrontier_BattlePalaceLobby_EventScript_24D8A1 - msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, MSGBOX_DEFAULT + palace_set PALACE_DATA_WIN_STREAK_ACTIVE, FALSE + call BattleFrontier_BattlePalaceLobby_EventScript_SaveAfterChallenge + msgbox BattleFrontier_BattlePalaceLobby_Text_ReturnWhenFortified, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 releaseall end -BattleFrontier_BattlePalaceLobby_EventScript_24D8A1:: @ 824D8A1 - setvar VAR_0x8004, 8 - special CallFrontierUtilFunc +BattleFrontier_BattlePalaceLobby_EventScript_SaveAfterChallenge:: @ 824D8A1 + frontier_checkairshow special LoadPlayerParty special HealPlayerParty - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 0 - special CallBattlePalaceFunction + palace_save 0 playse SE_SAVE waitse - call BattleFrontier_BattlePalaceLobby_EventScript_23E8E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24D907 - message BattleFrontier_BattlePalaceLobby_Text_24EF16 + call BattleFrontier_EventScript_GetCantRecordBattle + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_EndSaveAfterChallenge + message BattleFrontier_BattlePalaceLobby_Text_LikeToRecordMatch waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, BattleFrontier_BattlePalaceLobby_EventScript_24D907 - case 0, BattleFrontier_BattlePalaceLobby_EventScript_24D902 - case 127, BattleFrontier_BattlePalaceLobby_EventScript_24D907 + case 1, BattleFrontier_BattlePalaceLobby_EventScript_EndSaveAfterChallenge + case 0, BattleFrontier_BattlePalaceLobby_EventScript_RecordMatch + case MULTI_B_PRESSED, BattleFrontier_BattlePalaceLobby_EventScript_EndSaveAfterChallenge -BattleFrontier_BattlePalaceLobby_EventScript_24D902:: @ 824D902 - call BattleFrontier_BattlePalaceLobby_EventScript_23E8B4 - -BattleFrontier_BattlePalaceLobby_EventScript_24D907:: @ 824D907 +BattleFrontier_BattlePalaceLobby_EventScript_RecordMatch:: @ 824D902 + call BattleFrontier_EventScript_SaveBattle +BattleFrontier_BattlePalaceLobby_EventScript_EndSaveAfterChallenge:: @ 824D907 return -BattleFrontier_BattlePalaceLobby_EventScript_24D908:: @ 824D908 +BattleFrontier_BattlePalaceLobby_EventScript_ResumeChallenge:: @ 824D908 lockall - msgbox BattleFrontier_BattlePalaceLobby_Text_24E5D8, MSGBOX_DEFAULT - message BattleFrontier_BattlePalaceLobby_Text_24E5F6 + msgbox BattleFrontier_BattlePalaceLobby_Text_WeHaveBeenWaiting, MSGBOX_DEFAULT + message BattleFrontier_BattlePalaceLobby_Text_MustSaveBeforeChallenge waitmessage - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 1 - special CallBattlePalaceFunction + palace_save CHALLENGE_STATUS_SAVING playse SE_SAVE waitse - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_PAUSED, FALSE setvar VAR_TEMP_0, 255 - goto BattleFrontier_BattlePalaceLobby_EventScript_24DAF3 + goto BattleFrontier_BattlePalaceLobby_EventScript_EnterChallenge -BattleFrontier_BattlePalaceLobby_EventScript_24D944:: @ 824D944 +BattleFrontier_BattlePalaceLobby_EventScript_SinglesAttendant:: @ 824D944 lock faceplayer - setvar VAR_FRONTIER_FACILITY, 2 - setvar VAR_FRONTIER_BATTLE_MODE, 0 - goto BattleFrontier_BattlePalaceLobby_EventScript_24D968 + setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PALACE + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + goto BattleFrontier_BattlePalaceLobby_EventScript_Attendant end -BattleFrontier_BattlePalaceLobby_EventScript_24D956:: @ 824D956 +BattleFrontier_BattlePalaceLobby_EventScript_DoublesAttendant:: @ 824D956 lock faceplayer - setvar VAR_FRONTIER_FACILITY, 2 - setvar VAR_FRONTIER_BATTLE_MODE, 1 - goto BattleFrontier_BattlePalaceLobby_EventScript_24D968 + setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PALACE + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + goto BattleFrontier_BattlePalaceLobby_EventScript_Attendant end -BattleFrontier_BattlePalaceLobby_EventScript_24D968:: @ 824D968 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 0 - special CallBattlePalaceFunction - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattlePalaceLobby_EventScript_24D817 +BattleFrontier_BattlePalaceLobby_EventScript_Attendant:: @ 824D968 + palace_get PALACE_DATA_PRIZE + compare VAR_RESULT, ITEM_NONE + goto_if_ne BattleFrontier_BattlePalaceLobby_EventScript_WonChallenge special SavePlayerParty - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB9E - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DBA7 - -BattleFrontier_BattlePalaceLobby_EventScript_24D999:: @ 824D999 - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DBB0 - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DBB6 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_WelcomeForSingleBattle + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_WelcomeForDoubleBattle +BattleFrontier_BattlePalaceLobby_EventScript_AskTakeChallenge:: @ 824D999 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_AskTakeSingleBattleChallenge + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_AskTakeDoubleBattleChallenge waitmessage - multichoice 17, 6, 23, 0 + multichoice 17, 6, MULTI_CHALLENGEINFO, 0 switch VAR_RESULT - case 0, BattleFrontier_BattlePalaceLobby_EventScript_24D9E6 - case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DB20 - case 2, BattleFrontier_BattlePalaceLobby_EventScript_24DB94 - case 127, BattleFrontier_BattlePalaceLobby_EventScript_24DB94 + case 0, BattleFrontier_BattlePalaceLobby_EventScript_TryEnterChallenge + case 1, BattleFrontier_BattlePalaceLobby_EventScript_ExplainChallenge + case 2, BattleFrontier_BattlePalaceLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattlePalaceLobby_EventScript_CancelChallenge -BattleFrontier_BattlePalaceLobby_EventScript_24D9E6:: @ 824D9E6 - message BattleFrontier_BattlePalaceLobby_Text_24E119 +BattleFrontier_BattlePalaceLobby_EventScript_TryEnterChallenge:: @ 824D9E6 + message BattleFrontier_BattlePalaceLobby_Text_WhichChallenge waitmessage - multichoice 17, 6, 24, 0 + multichoice 17, 6, MULTI_LEVEL_MODE, 0 switch VAR_RESULT - case 2, BattleFrontier_BattlePalaceLobby_EventScript_24DB94 - case 127, BattleFrontier_BattlePalaceLobby_EventScript_24DB94 - setvar VAR_0x8004, 15 - special CallFrontierUtilFunc - compare VAR_0x8004, 1 - goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB45 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc - msgbox BattleFrontier_BattlePalaceLobby_Text_24E399, MSGBOX_DEFAULT - fadescreen 1 - call BattleFrontier_BattlePalaceLobby_EventScript_23F2B7 + case FRONTIER_LVL_TENT, BattleFrontier_BattlePalaceLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattlePalaceLobby_EventScript_CancelChallenge + frontier_checkineligible + compare VAR_0x8004, TRUE + goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMons + frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT + msgbox BattleFrontier_BattlePalaceLobby_Text_NowSelectThreeMons, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK + call BattleFrontier_EventScript_GetLvlMode copyvar VAR_0x8004, VAR_RESULT - setvar VAR_0x8005, 3 - special sub_80F9490 + setvar VAR_0x8005, FRONTIER_PARTY_SIZE + special ChoosePartyForBattleFrontier waitstate compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB91 - msgbox BattleFrontier_BattlePalaceLobby_Text_24E3C8, MSGBOX_YESNO + goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_LoadPartyAndCancelChallenge + msgbox BattleFrontier_BattlePalaceLobby_Text_MustSaveBeforeChallenge2, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattlePalaceLobby_EventScript_24DB91 - case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DA87 - case 127, BattleFrontier_BattlePalaceLobby_EventScript_24DB91 + case NO, BattleFrontier_BattlePalaceLobby_EventScript_LoadPartyAndCancelChallenge + case YES, BattleFrontier_BattlePalaceLobby_EventScript_SaveBeforeChallenge + case MULTI_B_PRESSED, BattleFrontier_BattlePalaceLobby_EventScript_LoadPartyAndCancelChallenge -BattleFrontier_BattlePalaceLobby_EventScript_24DA87:: @ 824DA87 +BattleFrontier_BattlePalaceLobby_EventScript_SaveBeforeChallenge:: @ 824DA87 setvar VAR_TEMP_0, 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 4 - special CallFrontierUtilFunc - setvar VAR_0x8004, 0 - special CallBattlePalaceFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 1 - special CallBattlePalaceFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_SELECTED_MON_ORDER + palace_init + palace_set PALACE_DATA_WIN_STREAK_ACTIVE, TRUE + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING + frontier_set FRONTIER_DATA_PAUSED, FALSE special LoadPlayerParty closemessage delay 2 call Common_EventScript_SaveGame setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB7A - -BattleFrontier_BattlePalaceLobby_EventScript_24DAF3:: @ 824DAF3 + goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_CancelChallengeSaveFailed +BattleFrontier_BattlePalaceLobby_EventScript_EnterChallenge:: @ 824DAF3 special SavePlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattlePalaceLobby_Text_24E408, MSGBOX_DEFAULT + frontier_setpartyorder FRONTIER_PARTY_SIZE + msgbox BattleFrontier_BattlePalaceLobby_Text_FollowMe, MSGBOX_DEFAULT closemessage - call BattleFrontier_BattlePalaceLobby_EventScript_24DBBC + call BattleFrontier_BattlePalaceLobby_EventScript_WalkToDoor warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR, 255, 8, 13 setvar VAR_TEMP_0, 0 waitstate end -BattleFrontier_BattlePalaceLobby_EventScript_24DB20:: @ 824DB20 - compare VAR_FRONTIER_BATTLE_MODE, 1 - goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB38 - msgbox BattleFrontier_BattlePalaceLobby_Text_24DE17, MSGBOX_DEFAULT - goto BattleFrontier_BattlePalaceLobby_EventScript_24D999 +BattleFrontier_BattlePalaceLobby_EventScript_ExplainChallenge:: @ 824DB20 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_ExplainDoublesChallenge + msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainSingleBattleChallenge, MSGBOX_DEFAULT + goto BattleFrontier_BattlePalaceLobby_EventScript_AskTakeChallenge -BattleFrontier_BattlePalaceLobby_EventScript_24DB38:: @ 824DB38 - msgbox BattleFrontier_BattlePalaceLobby_Text_24EBC2, MSGBOX_DEFAULT - goto BattleFrontier_BattlePalaceLobby_EventScript_24D999 +BattleFrontier_BattlePalaceLobby_EventScript_ExplainDoublesChallenge:: @ 824DB38 + msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainDoubleBattleChallenge, MSGBOX_DEFAULT + goto BattleFrontier_BattlePalaceLobby_EventScript_AskTakeChallenge -BattleFrontier_BattlePalaceLobby_EventScript_24DB45:: @ 824DB45 +BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMons:: @ 824DB45 switch VAR_RESULT - case 0, BattleFrontier_BattlePalaceLobby_EventScript_24DB60 - case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DB6D + case FRONTIER_LVL_50, BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMonsLv50 + case FRONTIER_LVL_OPEN, BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMonsLvOpen -BattleFrontier_BattlePalaceLobby_EventScript_24DB60:: @ 824DB60 - msgbox BattleFrontier_BattlePalaceLobby_Text_24E173, MSGBOX_DEFAULT - goto BattleFrontier_BattlePalaceLobby_EventScript_24DB9C +BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMonsLv50:: @ 824DB60 + msgbox BattleFrontier_BattlePalaceLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT + goto BattleFrontier_BattlePalaceLobby_EventScript_EndCancelChallenge -BattleFrontier_BattlePalaceLobby_EventScript_24DB6D:: @ 824DB6D - msgbox BattleFrontier_BattlePalaceLobby_Text_24E29E, MSGBOX_DEFAULT - goto BattleFrontier_BattlePalaceLobby_EventScript_24DB9C +BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMonsLvOpen:: @ 824DB6D + msgbox BattleFrontier_BattlePalaceLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT + goto BattleFrontier_BattlePalaceLobby_EventScript_EndCancelChallenge -BattleFrontier_BattlePalaceLobby_EventScript_24DB7A:: @ 824DB7A - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - goto BattleFrontier_BattlePalaceLobby_EventScript_24DB94 +BattleFrontier_BattlePalaceLobby_EventScript_CancelChallengeSaveFailed:: @ 824DB7A + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 + goto BattleFrontier_BattlePalaceLobby_EventScript_CancelChallenge -BattleFrontier_BattlePalaceLobby_EventScript_24DB91:: @ 824DB91 +BattleFrontier_BattlePalaceLobby_EventScript_LoadPartyAndCancelChallenge:: @ 824DB91 special LoadPlayerParty - -BattleFrontier_BattlePalaceLobby_EventScript_24DB94:: @ 824DB94 - msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, MSGBOX_DEFAULT - -BattleFrontier_BattlePalaceLobby_EventScript_24DB9C:: @ 824DB9C +BattleFrontier_BattlePalaceLobby_EventScript_CancelChallenge:: @ 824DB94 + msgbox BattleFrontier_BattlePalaceLobby_Text_ReturnWhenFortified, MSGBOX_DEFAULT +BattleFrontier_BattlePalaceLobby_EventScript_EndCancelChallenge:: @ 824DB9C release end -BattleFrontier_BattlePalaceLobby_EventScript_24DB9E:: @ 824DB9E - msgbox BattleFrontier_BattlePalaceLobby_Text_24DD5B, MSGBOX_DEFAULT +BattleFrontier_BattlePalaceLobby_EventScript_WelcomeForSingleBattle:: @ 824DB9E + msgbox BattleFrontier_BattlePalaceLobby_Text_WelcomeForSingleBattle, MSGBOX_DEFAULT return -BattleFrontier_BattlePalaceLobby_EventScript_24DBA7:: @ 824DBA7 - msgbox BattleFrontier_BattlePalaceLobby_Text_24EB06, MSGBOX_DEFAULT +BattleFrontier_BattlePalaceLobby_EventScript_WelcomeForDoubleBattle:: @ 824DBA7 + msgbox BattleFrontier_BattlePalaceLobby_Text_WelcomeForDoubleBattle, MSGBOX_DEFAULT return -BattleFrontier_BattlePalaceLobby_EventScript_24DBB0:: @ 824DBB0 - message BattleFrontier_BattlePalaceLobby_Text_24DDE1 +BattleFrontier_BattlePalaceLobby_EventScript_AskTakeSingleBattleChallenge:: @ 824DBB0 + message BattleFrontier_BattlePalaceLobby_Text_TakeSingleBattleChallenge return -BattleFrontier_BattlePalaceLobby_EventScript_24DBB6:: @ 824DBB6 - message BattleFrontier_BattlePalaceLobby_Text_24EB8C +BattleFrontier_BattlePalaceLobby_EventScript_AskTakeDoubleBattleChallenge:: @ 824DBB6 + message BattleFrontier_BattlePalaceLobby_Text_TakeDoubleBattleChallenge return -BattleFrontier_BattlePalaceLobby_EventScript_24DBBC:: @ 824DBBC - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC23 - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC29 - applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC47 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_24DC47 +BattleFrontier_BattlePalaceLobby_EventScript_WalkToDoor:: @ 824DBBC + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_TalkedToSinglesAttendant + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_TalkedToDoublesAttendant + applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_WalkToDoor + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_WalkToDoor waitmovement 0 - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC2F - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC35 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_OpenSinglesHallDoor + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_OpenDoublesHallDoor waitdooranim - applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC49 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_24DC4C + applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_AttendantEnterDoor + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_PlayerEnterDoor waitmovement 0 - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC3B - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC41 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_CloseSinglesHallDoor + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_CloseDoublesHallDoor waitdooranim return -BattleFrontier_BattlePalaceLobby_EventScript_24DC23:: @ 824DC23 +BattleFrontier_BattlePalaceLobby_EventScript_TalkedToSinglesAttendant:: @ 824DC23 setvar VAR_LAST_TALKED, 1 return -BattleFrontier_BattlePalaceLobby_EventScript_24DC29:: @ 824DC29 +BattleFrontier_BattlePalaceLobby_EventScript_TalkedToDoublesAttendant:: @ 824DC29 setvar VAR_LAST_TALKED, 6 return -BattleFrontier_BattlePalaceLobby_EventScript_24DC2F:: @ 824DC2F +BattleFrontier_BattlePalaceLobby_EventScript_OpenSinglesHallDoor:: @ 824DC2F opendoor 5, 4 return -BattleFrontier_BattlePalaceLobby_EventScript_24DC35:: @ 824DC35 +BattleFrontier_BattlePalaceLobby_EventScript_OpenDoublesHallDoor:: @ 824DC35 opendoor 19, 4 return -BattleFrontier_BattlePalaceLobby_EventScript_24DC3B:: @ 824DC3B +BattleFrontier_BattlePalaceLobby_EventScript_CloseSinglesHallDoor:: @ 824DC3B closedoor 5, 4 return -BattleFrontier_BattlePalaceLobby_EventScript_24DC41:: @ 824DC41 +BattleFrontier_BattlePalaceLobby_EventScript_CloseDoublesHallDoor:: @ 824DC41 closedoor 19, 4 return -BattleFrontier_BattlePalaceLobby_Movement_24DC47: @ 824DC47 +BattleFrontier_BattlePalaceLobby_Movement_WalkToDoor: @ 824DC47 walk_up step_end -BattleFrontier_BattlePalaceLobby_Movement_24DC49: @ 824DC49 +BattleFrontier_BattlePalaceLobby_Movement_AttendantEnterDoor: @ 824DC49 walk_up set_invisible step_end -BattleFrontier_BattlePalaceLobby_Movement_24DC4C: @ 824DC4C +BattleFrontier_BattlePalaceLobby_Movement_PlayerEnterDoor: @ 824DC4C walk_up walk_up set_invisible step_end -BattleFrontier_BattlePalaceLobby_EventScript_24DC50:: @ 824DC50 +BattleFrontier_BattlePalaceLobby_EventScript_ShowSinglesResults:: @ 824DC50 lockall - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_results FRONTIER_FACILITY_PALACE, FRONTIER_MODE_SINGLES waitbuttonpress special RemoveRecordsWindow releaseall end -BattleFrontier_BattlePalaceLobby_EventScript_24DC69:: @ 824DC69 +BattleFrontier_BattlePalaceLobby_EventScript_ShowDoublesResults:: @ 824DC69 lockall - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc + frontier_results FRONTIER_FACILITY_PALACE, FRONTIER_MODE_DOUBLES waitbuttonpress special RemoveRecordsWindow releaseall end -BattleFrontier_BattlePalaceLobby_EventScript_24DC82:: @ 824DC82 - msgbox BattleFrontier_BattlePalaceLobby_Text_24E6E3, MSGBOX_NPC +BattleFrontier_BattlePalaceLobby_EventScript_BlackBelt:: @ 824DC82 + msgbox BattleFrontier_BattlePalaceLobby_Text_LadyCanTellWhatMonsThink, MSGBOX_NPC end -BattleFrontier_BattlePalaceLobby_EventScript_24DC8B:: @ 824DC8B - msgbox BattleFrontier_BattlePalaceLobby_Text_24E851, MSGBOX_NPC +BattleFrontier_BattlePalaceLobby_EventScript_Man:: @ 824DC8B + msgbox BattleFrontier_BattlePalaceLobby_Text_NatureAndMovesKeyHere, MSGBOX_NPC end -BattleFrontier_BattlePalaceLobby_EventScript_24DC94:: @ 824DC94 - msgbox BattleFrontier_BattlePalaceLobby_Text_24E992, MSGBOX_NPC +BattleFrontier_BattlePalaceLobby_EventScript_Beauty:: @ 824DC94 + msgbox BattleFrontier_BattlePalaceLobby_Text_MonDocileButTransforms, MSGBOX_NPC end -BattleFrontier_BattlePalaceLobby_EventScript_24DC9D:: @ 824DC9D - msgbox BattleFrontier_BattlePalaceLobby_Text_24EA4B, MSGBOX_NPC +BattleFrontier_BattlePalaceLobby_EventScript_Maniac:: @ 824DC9D + msgbox BattleFrontier_BattlePalaceLobby_Text_WhatNatureFavorsChippingAway, MSGBOX_NPC end -BattleFrontier_BattlePalaceLobby_EventScript_24DCA6:: @ 824DCA6 +BattleFrontier_BattlePalaceLobby_EventScript_RulesBoard:: @ 824DCA6 lockall - msgbox BattleFrontier_BattlePalaceLobby_Text_24EF66, MSGBOX_DEFAULT - goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5 + msgbox BattleFrontier_BattlePalaceLobby_Text_RulesAreListed, MSGBOX_DEFAULT + goto BattleFrontier_BattlePalaceLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattlePalaceLobby_EventScript_24DCB5:: @ 824DCB5 - message BattleFrontier_BattlePalaceLobby_Text_24EF88 +BattleFrontier_BattlePalaceLobby_EventScript_ReadRulesBoard:: @ 824DCB5 + message BattleFrontier_BattlePalaceLobby_Text_ReadWhichHeading waitmessage - multichoice 16, 0, 100, 0 + multichoice 16, 0, MULTI_BATTLE_PALACE_RULES, 0 switch VAR_RESULT - case 0, BattleFrontier_BattlePalaceLobby_EventScript_24DD13 - case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DD21 - case 2, BattleFrontier_BattlePalaceLobby_EventScript_24DD2F - case 3, BattleFrontier_BattlePalaceLobby_EventScript_24DD3D - case 4, BattleFrontier_BattlePalaceLobby_EventScript_24DD4B - case 5, BattleFrontier_BattlePalaceLobby_EventScript_24DD59 - case 127, BattleFrontier_BattlePalaceLobby_EventScript_24DD59 + case 0, BattleFrontier_BattlePalaceLobby_EventScript_RulesBasics + case 1, BattleFrontier_BattlePalaceLobby_EventScript_RulesNature + case 2, BattleFrontier_BattlePalaceLobby_EventScript_RulesMoves + case 3, BattleFrontier_BattlePalaceLobby_EventScript_RulesUnderpowered + case 4, BattleFrontier_BattlePalaceLobby_EventScript_RulesWhenInDanger + case 5, BattleFrontier_BattlePalaceLobby_EventScript_ExitRules + case MULTI_B_PRESSED, BattleFrontier_BattlePalaceLobby_EventScript_ExitRules end -BattleFrontier_BattlePalaceLobby_EventScript_24DD13:: @ 824DD13 - msgbox BattleFrontier_BattlePalaceLobby_Text_24EFAB, MSGBOX_DEFAULT - goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5 +BattleFrontier_BattlePalaceLobby_EventScript_RulesBasics:: @ 824DD13 + msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesBasics, MSGBOX_DEFAULT + goto BattleFrontier_BattlePalaceLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattlePalaceLobby_EventScript_24DD21:: @ 824DD21 - msgbox BattleFrontier_BattlePalaceLobby_Text_24F049, MSGBOX_DEFAULT - goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5 +BattleFrontier_BattlePalaceLobby_EventScript_RulesNature:: @ 824DD21 + msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesNature, MSGBOX_DEFAULT + goto BattleFrontier_BattlePalaceLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattlePalaceLobby_EventScript_24DD2F:: @ 824DD2F - msgbox BattleFrontier_BattlePalaceLobby_Text_24F190, MSGBOX_DEFAULT - goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5 +BattleFrontier_BattlePalaceLobby_EventScript_RulesMoves:: @ 824DD2F + msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesMoves, MSGBOX_DEFAULT + goto BattleFrontier_BattlePalaceLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattlePalaceLobby_EventScript_24DD3D:: @ 824DD3D - msgbox BattleFrontier_BattlePalaceLobby_Text_24F2E8, MSGBOX_DEFAULT - goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5 +BattleFrontier_BattlePalaceLobby_EventScript_RulesUnderpowered:: @ 824DD3D + msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesUnderpowered, MSGBOX_DEFAULT + goto BattleFrontier_BattlePalaceLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattlePalaceLobby_EventScript_24DD4B:: @ 824DD4B - msgbox BattleFrontier_BattlePalaceLobby_Text_24F3F4, MSGBOX_DEFAULT - goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5 +BattleFrontier_BattlePalaceLobby_EventScript_RulesWhenInDanger:: @ 824DD4B + msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesWhenInDanger, MSGBOX_DEFAULT + goto BattleFrontier_BattlePalaceLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattlePalaceLobby_EventScript_24DD59:: @ 824DD59 +BattleFrontier_BattlePalaceLobby_EventScript_ExitRules:: @ 824DD59 releaseall end -BattleFrontier_BattlePalaceLobby_Text_24DD5B: @ 824DD5B +BattleFrontier_BattlePalaceLobby_Text_WelcomeForSingleBattle: @ 824DD5B .string "Where the hearts of TRAINERS\n" .string "are put to the test.\p" .string "I welcome you to the BATTLE PALACE.\p" .string "I accept challenges to the SINGLE\n" .string "BATTLE HALLS.$" -BattleFrontier_BattlePalaceLobby_Text_24DDE1: @ 824DDE1 +BattleFrontier_BattlePalaceLobby_Text_TakeSingleBattleChallenge: @ 824DDE1 .string "Do you wish to take\n" .string "the SINGLE BATTLE HALL challenge?$" -BattleFrontier_BattlePalaceLobby_Text_24DE17: @ 824DE17 +BattleFrontier_BattlePalaceLobby_Text_ExplainSingleBattleChallenge: @ 824DE17 .string "In the BATTLE PALACE, there are\n" .string "several auditoriums for SINGLE BATTLES\l" .string "that are named SINGLE BATTLE HALLS.\p" @@ -480,16 +422,16 @@ BattleFrontier_BattlePalaceLobby_Text_24DE17: @ 824DE17 .string "If you don't save before interrupting,\n" .string "you will be disqualified.$" -BattleFrontier_BattlePalaceLobby_Text_24E0D8: @ 824E0D8 +BattleFrontier_BattlePalaceLobby_Text_ReturnWhenFortified: @ 824E0D8 .string "When you have fortified your heart\n" .string "and POKéMON, you must return.$" -BattleFrontier_BattlePalaceLobby_Text_24E119: @ 824E119 +BattleFrontier_BattlePalaceLobby_Text_WhichChallenge: @ 824E119 .string "There are two BATTLE HALLS,\n" .string "Level 50 and Open Level.\l" .string "Which is your choice of a challenge?$" -BattleFrontier_BattlePalaceLobby_Text_24E173: @ 824E173 +BattleFrontier_BattlePalaceLobby_Text_NotEnoughValidMonsLv50: @ 824E173 .string "Sigh…\p" .string "You do not have the three POKéMON\n" .string "required for the challenge.\p" @@ -503,7 +445,7 @@ BattleFrontier_BattlePalaceLobby_Text_24E173: @ 824E173 .string "Come back when you have made\n" .string "your preparations.$" -BattleFrontier_BattlePalaceLobby_Text_24E29E: @ 824E29E +BattleFrontier_BattlePalaceLobby_Text_NotEnoughValidMonsLvOpen: @ 824E29E .string "Sigh…\p" .string "You do not have the three POKéMON\n" .string "required for the challenge.\p" @@ -515,65 +457,64 @@ BattleFrontier_BattlePalaceLobby_Text_24E29E: @ 824E29E .string "Come back when you have made\n" .string "your preparations.$" -BattleFrontier_BattlePalaceLobby_Text_24E399: @ 824E399 +BattleFrontier_BattlePalaceLobby_Text_NowSelectThreeMons: @ 824E399 .string "Good. Now, you must select your\n" .string "three POKéMON.$" -BattleFrontier_BattlePalaceLobby_Text_24E3C8: @ 824E3C8 +BattleFrontier_BattlePalaceLobby_Text_MustSaveBeforeChallenge2: @ 824E3C8 .string "I must save before I show you to\n" .string "the BATTLE HALL. Is that okay?$" -BattleFrontier_BattlePalaceLobby_Text_24E408: @ 824E408 +BattleFrontier_BattlePalaceLobby_Text_FollowMe: @ 824E408 .string "Good.\n" .string "Now, follow me.$" -BattleFrontier_BattlePalaceLobby_Text_24E41E: @ 824E41E +BattleFrontier_BattlePalaceLobby_Text_ResultsWillBeRecorded: @ 824E41E .string "I feel privileged for having seen\n" .string "your POKéMON's exploits.\p" .string "The results will be recorded.\n" .string "I must ask you to briefly wait.$" -BattleFrontier_BattlePalaceLobby_Text_24E497: @ 824E497 +BattleFrontier_BattlePalaceLobby_Text_FirmTrueBondsFor7WinStreak: @ 824E497 .string "To achieve a 7-win streak…\p" .string "The bonds that bind your heart with\n" .string "your POKéMON seem firm and true.$" -BattleFrontier_BattlePalaceLobby_Text_24E4F7: @ 824E4F7 +BattleFrontier_BattlePalaceLobby_Text_FeatWillBeRecorded: @ 824E4F7 .string "Your feat will be recorded.\n" .string "I must ask you to briefly wait.$" -BattleFrontier_BattlePalaceLobby_Text_24E533: @ 824E5333 +@ Unused +BattleFrontier_BattlePalaceLobby_Text_BattlePointsFor7WinStreak: @ 824E5333 .string "For the feat of your 7-win streak,\n" .string "we present you with Battle Point(s).$" -VerdanturfTown_BattleTentLobby_Text_24E57B: @ 824E57B +BattleFrontier_BattlePalaceLobby_Text_NoSpaceForPrize: @ 824E57B .string "You seem to have no space for\n" .string "our prize.\p" .string "You should return when you have\n" .string "organized your BAG.$" -BattleFrontier_BattlePalaceLobby_Text_24E5D8: @ 824E5D8 -VerdanturfTown_BattleTentLobby_Text_24E5D8: @ 824E5D8 +BattleFrontier_BattlePalaceLobby_Text_WeHaveBeenWaiting: @ 824E5D8 .string "We have been waiting for you…$" -BattleFrontier_BattlePalaceLobby_Text_24E5F6: @ 824E5F6 -VerdanturfTown_BattleTentLobby_Text_24E5F6: @ 824E5F6 +BattleFrontier_BattlePalaceLobby_Text_MustSaveBeforeChallenge: @ 824E5F6 .string "I must save before I show you to\n" .string "the BATTLE HALL. Is that okay?$" -BattleFrontier_BattlePalaceLobby_Text_24E636: @ 824E636 -VerdanturfTown_BattleTentLobby_Text_24E636: @ 824E636 +BattleFrontier_BattlePalaceLobby_Text_FailedToSaveBeforeEndingChallenge: @ 824E636 .string "Sigh…\p" .string "You failed to save before you ended\n" .string "your challenge the last time.\p" .string "As a result, your challenge has been\n" .string "disqualified. It is most unfortunate.$" -BattleFrontier_BattlePalaceLobby_Text_24E6C9: @ 824E6C9 +@ Unused +BattleFrontier_BattlePalaceLobby_Text_ReceivedPrize: @ 824E6C9 .string "{PLAYER} received the prize\n" .string "{STR_VAR_1}.$" -BattleFrontier_BattlePalaceLobby_Text_24E6E3: @ 824E6E3 +BattleFrontier_BattlePalaceLobby_Text_LadyCanTellWhatMonsThink: @ 824E6E3 .string "For a hardy fellow like me,\n" .string "hardy POKéMON are the best.\p" .string "Offense is the best defense!\n" @@ -589,7 +530,7 @@ BattleFrontier_BattlePalaceLobby_Text_24E6E3: @ 824E6E3 .string "Huh?\n" .string "Why are you looking at me like that?$" -BattleFrontier_BattlePalaceLobby_Text_24E851: @ 824E851 +BattleFrontier_BattlePalaceLobby_Text_NatureAndMovesKeyHere: @ 824E851 .string "Hmm…\p" .string "It appears that the nature of POKéMON\n" .string "and the moves that they have been\l" @@ -602,7 +543,7 @@ BattleFrontier_BattlePalaceLobby_Text_24E851: @ 824E851 .string "you may need to examine how well\l" .string "its moves match its nature.$" -BattleFrontier_BattlePalaceLobby_Text_24E992: @ 824E992 +BattleFrontier_BattlePalaceLobby_Text_MonDocileButTransforms: @ 824E992 .string "My POKéMON is usually very docile.\p" .string "But when it's in a BATTLE HALL,\n" .string "it sometimes seems to become\l" @@ -610,25 +551,25 @@ BattleFrontier_BattlePalaceLobby_Text_24E992: @ 824E992 .string "It becomes totally intimidating.\n" .string "It's shocking, even.$" -BattleFrontier_BattlePalaceLobby_Text_24EA4B: @ 824EA4B +BattleFrontier_BattlePalaceLobby_Text_WhatNatureFavorsChippingAway: @ 824EA4B .string "I wonder what sort of nature a POKéMON\n" .string "would have if it favored enfeebling its\l" .string "opponents and chipping away slowly.\p" .string "I'd be surprised if it was a LAX nature.\p" .string "But, nah, that can't be right.$" -BattleFrontier_BattlePalaceLobby_Text_24EB06: @ 824EB06 +BattleFrontier_BattlePalaceLobby_Text_WelcomeForDoubleBattle: @ 824EB06 .string "Where the hearts of TRAINERS\n" .string "are put to the test.\p" .string "I welcome you to the BATTLE PALACE.\p" .string "I accept challenges to the DOUBLE\n" .string "BATTLE HALLS.$" -BattleFrontier_BattlePalaceLobby_Text_24EB8C: @ 824EB8C +BattleFrontier_BattlePalaceLobby_Text_TakeDoubleBattleChallenge: @ 824EB8C .string "Do you wish to take\n" .string "the DOUBLE BATTLE HALL challenge?$" -BattleFrontier_BattlePalaceLobby_Text_24EBC2: @ 824EBC2 +BattleFrontier_BattlePalaceLobby_Text_ExplainDoubleBattleChallenge: @ 824EBC2 .string "In the BATTLE PALACE, there are\n" .string "several auditoriums for DOUBLE BATTLES\l" .string "that are named DOUBLE BATTLE HALLS.\p" @@ -651,37 +592,34 @@ BattleFrontier_BattlePalaceLobby_Text_24EBC2: @ 824EBC2 .string "If you don't save before interrupting,\n" .string "you will be disqualified.$" -BattleFrontier_BattlePalaceLobby_Text_24EE81: @ 824EE81 +BattleFrontier_BattlePalaceLobby_Text_ToDefeatMavenAnd7Trainers: @ 824EE81 .string "To defeat the PALACE MAVEN\n" .string "and seven TRAINERS in a row…$" -BattleFrontier_BattlePalaceLobby_Text_24EEB9: @ 824EEB9 +BattleFrontier_BattlePalaceLobby_Text_PresentYouWithBattlePoints: @ 824EEB9 .string "In honor of the bond you share with\n" .string "your POKéMON, we present you with\l" .string "these Battle Point(s).$" -BattleFrontier_BattlePalaceLobby_Text_24EF16: @ 824EF16 +BattleFrontier_BattlePalaceLobby_Text_LikeToRecordMatch: @ 824EF16 .string "Would you like to record your latest\n" .string "BATTLE PALACE match on your\l" .string "FRONTIER PASS?$" -BattleFrontier_BattlePalaceLobby_Text_24EF66: @ 824EF66 +BattleFrontier_BattlePalaceLobby_Text_RulesAreListed: @ 824EF66 .string "The BATTLE HALL rules are listed.$" -BattleFrontier_BattlePalaceLobby_Text_24EF88: @ 824EF88 -VerdanturfTown_BattleTentLobby_Text_24EF88: @ 824EF88 +BattleFrontier_BattlePalaceLobby_Text_ReadWhichHeading: @ 824EF88 .string "Which heading do you want to read?$" -BattleFrontier_BattlePalaceLobby_Text_24EFAB: @ 824EFAB -VerdanturfTown_BattleTentLobby_Text_24EFAB: @ 824EFAB +BattleFrontier_BattlePalaceLobby_Text_ExplainRulesBasics: @ 824EFAB .string "Here, POKéMON are required to think\n" .string "and battle by themselves.\p" .string "Unlike in the wild, POKéMON that live\n" .string "with people behave differently\l" .string "depending on their nature.$" -BattleFrontier_BattlePalaceLobby_Text_24F049: @ 824F049 -VerdanturfTown_BattleTentLobby_Text_24F049: @ 824F049 +BattleFrontier_BattlePalaceLobby_Text_ExplainRulesNature: @ 824F049 .string "Depending on its nature, a POKéMON\n" .string "may prefer to attack no matter what.\p" .string "Another POKéMON may prefer to protect\n" @@ -694,8 +632,7 @@ VerdanturfTown_BattleTentLobby_Text_24F049: @ 824F049 .string "It may also dislike certain moves that\n" .string "it has trouble using.$" -BattleFrontier_BattlePalaceLobby_Text_24F190: @ 824F190 -VerdanturfTown_BattleTentLobby_Text_24F190: @ 824F190 +BattleFrontier_BattlePalaceLobby_Text_ExplainRulesMoves: @ 824F190 .string "There are offensive moves that inflict\n" .string "direct damage on the foe.\p" .string "There are defensive moves that are\n" @@ -708,8 +645,7 @@ VerdanturfTown_BattleTentLobby_Text_24F190: @ 824F190 .string "POKéMON will consider using moves in\n" .string "these three categories.$" -BattleFrontier_BattlePalaceLobby_Text_24F2E8: @ 824F2E8 -VerdanturfTown_BattleTentLobby_Text_24F2E8: @ 824F2E8 +BattleFrontier_BattlePalaceLobby_Text_ExplainRulesUnderpowered: @ 824F2E8 .string "When not under command by its TRAINER,\n" .string "a POKéMON may be unable to effectively\l" .string "use certain moves.\p" @@ -719,8 +655,7 @@ VerdanturfTown_BattleTentLobby_Text_24F2E8: @ 824F2E8 .string "do not match its nature, it will often\l" .string "be unable to live up to its potential.$" -BattleFrontier_BattlePalaceLobby_Text_24F3F4: @ 824F3F4 -VerdanturfTown_BattleTentLobby_Text_24F3F4: @ 824F3F4 +BattleFrontier_BattlePalaceLobby_Text_ExplainRulesWhenInDanger: @ 824F3F4 .string "Depending on its nature, a POKéMON may\n" .string "start using moves that don't match its\l" .string "nature when it is in trouble.\p" diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc index c7421c2c86..cb164c4bb2 100644 --- a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc @@ -1,69 +1,60 @@ BattleFrontier_BattlePikeCorridor_MapScripts:: @ 825C771 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeCorridor_MapScript2_25C77C - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeCorridor_MapScript2_25C7F7 + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeCorridor_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeCorridor_OnWarp .byte 0 -BattleFrontier_BattlePikeCorridor_MapScript2_25C77C: @ 825C77C - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeCorridor_EventScript_25C786 +BattleFrontier_BattlePikeCorridor_OnFrame: @ 825C77C + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeCorridor_EventScript_EnterCorridor .2byte 0 -BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786 +BattleFrontier_BattlePikeCorridor_EventScript_EnterCorridor:: @ 825C786 delay 16 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - setvar VAR_0x8004, 20 - special CallBattlePikeFunction - setvar VAR_0x8004, 24 - setvar VAR_0x8005, 1 - special CallBattlePikeFunction - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_25C80B - applymovement 1, BattleFrontier_BattlePikeCorridor_Movement_25C812 + frontier_set FRONTIER_DATA_BATTLE_NUM, 1 + pike_cleartrainerids + pike_nohealing TRUE + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_PlayerEnterCorridor + applymovement 1, BattleFrontier_BattlePikeCorridor_Movement_AttendantEnterCorridor waitmovement 0 lockall - msgbox BattleFrontier_BattlePikeCorridor_Text_25C817, MSGBOX_DEFAULT + msgbox BattleFrontier_BattlePikeCorridor_Text_YourChallengeHasBegun, MSGBOX_DEFAULT closemessage releaseall - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_25C80E + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_PlayerExitCorridor waitmovement 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 99 - special CallFrontierUtilFunc - call BattleFrontier_BattlePikeCorridor_EventScript_25BB49 + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 99 + call BattleFrontier_BattlePike_EventScript_CloseCurtain warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10 waitstate end -BattleFrontier_BattlePikeCorridor_MapScript2_25C7F7: @ 825C7F7 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePikeCorridor_EventScript_25C801 +BattleFrontier_BattlePikeCorridor_OnWarp: @ 825C7F7 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePikeCorridor_EventScript_TurnPlayerNorth .2byte 0 -BattleFrontier_BattlePikeCorridor_EventScript_25C801:: @ 825C801 +BattleFrontier_BattlePikeCorridor_EventScript_TurnPlayerNorth:: @ 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 +BattleFrontier_BattlePikeCorridor_Movement_PlayerEnterCorridor: @ 825C80B walk_up walk_up step_end -BattleFrontier_BattlePikeCorridor_Movement_25C80E: @ 825C80E +BattleFrontier_BattlePikeCorridor_Movement_PlayerExitCorridor: @ 825C80E walk_up walk_up set_invisible step_end -BattleFrontier_BattlePikeCorridor_Movement_25C812: @ 825C812 +BattleFrontier_BattlePikeCorridor_Movement_AttendantEnterCorridor: @ 825C812 walk_up walk_up walk_left face_down step_end -BattleFrontier_BattlePikeCorridor_Text_25C817: @ 825C817 +BattleFrontier_BattlePikeCorridor_Text_YourChallengeHasBegun: @ 825C817 .string "Your Battle Choice challenge\n" .string "has now begun…$" diff --git a/data/maps/BattleFrontier_BattlePikeLobby/map.json b/data/maps/BattleFrontier_BattlePikeLobby/map.json index 5854c6bf7a..598c49444c 100644 --- a/data/maps/BattleFrontier_BattlePikeLobby/map.json +++ b/data/maps/BattleFrontier_BattlePikeLobby/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePikeLobby_EventScript_25B868", + "script": "BattleFrontier_BattlePikeLobby_EventScript_Attendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePikeLobby_EventScript_25BAAB", + "script": "BattleFrontier_BattlePikeLobby_EventScript_Hiker", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePikeLobby_EventScript_25BAB4", + "script": "BattleFrontier_BattlePikeLobby_EventScript_Twin", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePikeLobby_EventScript_25BABD", + "script": "BattleFrontier_BattlePikeLobby_EventScript_Beauty", "flag": "0" } ], @@ -98,7 +98,7 @@ "y": 3, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_BattlePikeLobby_EventScript_25BA80" + "script": "BattleFrontier_BattlePikeLobby_EventScript_ShowResults" }, { "type": "sign", @@ -106,7 +106,7 @@ "y": 3, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_BattlePikeLobby_EventScript_25BAC6" + "script": "BattleFrontier_BattlePikeLobby_EventScript_RulesBoard" } ] } \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc index 51d6023c8c..4389d0d0f0 100644 --- a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc @@ -1,351 +1,285 @@ BattleFrontier_BattlePikeLobby_MapScripts:: @ 825B6C6 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeLobby_MapScript2_25B6D1 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeLobby_MapScript2_25B6F3 + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeLobby_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeLobby_OnWarp .byte 0 -BattleFrontier_BattlePikeLobby_MapScript2_25B6D1: @ 825B6D1 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeLobby_EventScript_25B707 - map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattlePikeLobby_EventScript_25B710 - map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattlePikeLobby_EventScript_25B762 - map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattlePikeLobby_EventScript_25B806 +BattleFrontier_BattlePikeLobby_OnFrame: @ 825B6D1 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattlePikeLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePikeLobby_EventScript_LostChallenge .2byte 0 -BattleFrontier_BattlePikeLobby_MapScript2_25B6F3: @ 825B6F3 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePikeLobby_EventScript_25B6FD +BattleFrontier_BattlePikeLobby_OnWarp: @ 825B6F3 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePikeLobby_EventScript_TurnPlayerNorth .2byte 0 -BattleFrontier_BattlePikeLobby_EventScript_25B6FD:: @ 825B6FD +BattleFrontier_BattlePikeLobby_EventScript_TurnPlayerNorth:: @ 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 - setvar VAR_0x8004, 0 - special CallFrontierUtilFunc +BattleFrontier_BattlePikeLobby_EventScript_GetChallengeStatus:: @ 825B707 + frontier_getstatus end -BattleFrontier_BattlePikeLobby_EventScript_25B710:: @ 825B710 +BattleFrontier_BattlePikeLobby_EventScript_QuitWithoutSaving:: @ 825B710 special HealPlayerParty - setvar VAR_0x8004, 27 - special CallBattlePikeFunction + pike_resethelditems lockall - msgbox BattleFrontier_BattlePikeLobby_Text_25C2E0, MSGBOX_DEFAULT + msgbox BattleFrontier_BattlePikeLobby_Text_FailedToSaveBeforeQuitting, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallBattlePikeFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 4 - setvar VAR_0x8006, 0 - special CallBattlePikeFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + pike_set PIKE_DATA_WIN_STREAK 0 + pike_set PIKE_DATA_WIN_STREAK_ACTIVE, FALSE + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 setvar VAR_TEMP_0, 255 releaseall end -BattleFrontier_BattlePikeLobby_EventScript_25B762:: @ 825B762 +BattleFrontier_BattlePikeLobby_EventScript_WonChallenge:: @ 825B762 lockall - setvar VAR_0x8004, 10 - special CallFrontierUtilFunc - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25B784 - msgbox BattleFrontier_BattlePikeLobby_Text_25C18A, MSGBOX_DEFAULT + frontier_isbrain + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_DefeatedQueen + msgbox BattleFrontier_BattlePikeLobby_Text_PossessLuckInAbundance, MSGBOX_DEFAULT waitmessage - goto BattleFrontier_BattlePikeLobby_EventScript_25B78D + goto BattleFrontier_BattlePikeLobby_EventScript_GiveBattlePoints -BattleFrontier_BattlePikeLobby_EventScript_25B784:: @ 825B784 - msgbox BattleFrontier_BattlePikeLobby_Text_25C383, MSGBOX_DEFAULT +BattleFrontier_BattlePikeLobby_EventScript_DefeatedQueen:: @ 825B784 + msgbox BattleFrontier_BattlePikeLobby_Text_SnatchedVictoryFromQueen, MSGBOX_DEFAULT waitmessage - -BattleFrontier_BattlePikeLobby_EventScript_25B78D:: @ 825B78D - msgbox BattleFrontier_BattlePikeLobby_Text_25C3D9, MSGBOX_DEFAULT - setvar VAR_0x8004, 11 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattlePikeLobby_Text_241520, 9 - setvar VAR_0x8004, 8 - special CallFrontierUtilFunc - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 3 - special CallBattlePikeFunction +BattleFrontier_BattlePikeLobby_EventScript_GiveBattlePoints:: @ 825B78D + msgbox BattleFrontier_BattlePikeLobby_Text_AwardYouTheseBattlePoints, MSGBOX_DEFAULT + frontier_givepoints + msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS + frontier_checkairshow + pike_get PIKE_DATA_TOTAL_STREAKS addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - copyvar VAR_0x8006, VAR_RESULT - special CallBattlePikeFunction + pike_set PIKE_DATA_TOTAL_STREAKS, VAR_RESULT special LoadPlayerParty special HealPlayerParty - setvar VAR_0x8004, 27 - special CallBattlePikeFunction - message BattleFrontier_BattlePikeLobby_Text_25C1DF + pike_resethelditems + message BattleFrontier_BattlePikeLobby_Text_ShallRecordResults waitmessage - setvar VAR_0x8004, 8 - setvar VAR_0x8005, 0 - special CallBattlePikeFunction + pike_save 0 playse SE_SAVE waitse - msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, MSGBOX_DEFAULT + msgbox BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 releaseall end -BattleFrontier_BattlePikeLobby_EventScript_25B806:: @ 825B806 +BattleFrontier_BattlePikeLobby_EventScript_LostChallenge:: @ 825B806 lockall - message BattleFrontier_BattlePikeLobby_Text_25C146 + message BattleFrontier_BattlePikeLobby_Text_ChallengeEndedRecordResults waitmessage - setvar VAR_0x8004, 8 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 4 - setvar VAR_0x8006, 0 - special CallBattlePikeFunction + frontier_checkairshow + frontier_set FRONTIER_DATA_BATTLE_NUM, 0 + pike_set PIKE_DATA_WIN_STREAK_ACTIVE, FALSE special LoadPlayerParty special HealPlayerParty - setvar VAR_0x8004, 27 - special CallBattlePikeFunction - setvar VAR_0x8004, 8 - setvar VAR_0x8005, 0 - special CallBattlePikeFunction + pike_resethelditems + pike_save 0 playse SE_SAVE waitse - msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, MSGBOX_DEFAULT + msgbox BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 releaseall end -BattleFrontier_BattlePikeLobby_EventScript_25B868:: @ 825B868 +BattleFrontier_BattlePikeLobby_EventScript_Attendant:: @ 825B868 lock faceplayer - setvar VAR_FRONTIER_FACILITY, 5 - setvar VAR_FRONTIER_BATTLE_MODE, 0 + setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PIKE + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES special SavePlayerParty - msgbox BattleFrontier_BattlePikeLobby_Text_25BB52, MSGBOX_DEFAULT - -BattleFrontier_BattlePikeLobby_EventScript_25B87F:: @ 825B87F - message BattleFrontier_BattlePikeLobby_Text_25BBC1 + msgbox BattleFrontier_BattlePikeLobby_Text_WelcomeToBattlePike, MSGBOX_DEFAULT +BattleFrontier_BattlePikeLobby_EventScript_AskTakeChallenge:: @ 825B87F + message BattleFrontier_BattlePikeLobby_Text_TakeChallenge waitmessage - multichoice 17, 6, 23, 0 + multichoice 17, 6, MULTI_CHALLENGEINFO, 0 switch VAR_RESULT - case 0, BattleFrontier_BattlePikeLobby_EventScript_25B8BB - case 1, BattleFrontier_BattlePikeLobby_EventScript_25BA1A - case 2, BattleFrontier_BattlePikeLobby_EventScript_25BA76 - case 127, BattleFrontier_BattlePikeLobby_EventScript_25BA76 + case 0, BattleFrontier_BattlePikeLobby_EventScript_TryEnterChallenge + case 1, BattleFrontier_BattlePikeLobby_EventScript_ExplainChallenge + case 2, BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge -BattleFrontier_BattlePikeLobby_EventScript_25B8BB:: @ 825B8BB - message BattleFrontier_BattlePikeLobby_Text_25BE35 +BattleFrontier_BattlePikeLobby_EventScript_TryEnterChallenge:: @ 825B8BB + message BattleFrontier_BattlePikeLobby_Text_WhichChallengeMode waitmessage - multichoice 17, 6, 24, 0 + multichoice 17, 6, MULTI_LEVEL_MODE, 0 switch VAR_RESULT - case 2, BattleFrontier_BattlePikeLobby_EventScript_25BA76 - case 127, BattleFrontier_BattlePikeLobby_EventScript_25BA76 - setvar VAR_0x8004, 15 - special CallFrontierUtilFunc - compare VAR_0x8004, 1 - goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25BA27 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc - msgbox BattleFrontier_BattlePikeLobby_Text_25C094, MSGBOX_DEFAULT - fadescreen 1 - call BattleFrontier_BattlePikeLobby_EventScript_23F2B7 + case FRONTIER_LVL_TENT, BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge + frontier_checkineligible + compare VAR_0x8004, TRUE + goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMons + frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT + msgbox BattleFrontier_BattlePikeLobby_Text_PleaseChooseThreeMons, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK + call BattleFrontier_EventScript_GetLvlMode copyvar VAR_0x8004, VAR_RESULT - setvar VAR_0x8005, 3 - special sub_80F9490 + setvar VAR_0x8005, FRONTIER_PARTY_SIZE + special ChoosePartyForBattleFrontier waitstate compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25BA73 - msgbox BattleFrontier_BattlePikeLobby_Text_25C0D8, MSGBOX_YESNO + goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge + msgbox BattleFrontier_BattlePikeLobby_Text_SaveBeforeChallenge, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattlePikeLobby_EventScript_25BA73 - case 1, BattleFrontier_BattlePikeLobby_EventScript_25B95C - case 127, BattleFrontier_BattlePikeLobby_EventScript_25BA73 + case NO, BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge + case YES, BattleFrontier_BattlePikeLobby_EventScript_SaveBeforeChallenge + case MULTI_B_PRESSED, BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge -BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C +BattleFrontier_BattlePikeLobby_EventScript_SaveBeforeChallenge:: @ 825B95C setvar VAR_TEMP_0, 0 setvar VAR_TEMP_1, 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 4 - special CallFrontierUtilFunc - setvar VAR_0x8004, 28 - special CallBattlePikeFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 4 - setvar VAR_0x8006, 1 - special CallBattlePikeFunction - setvar VAR_0x8004, 26 - special CallBattlePikeFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_SELECTED_MON_ORDER + pike_init + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING + pike_set PIKE_DATA_WIN_STREAK_ACTIVE, TRUE + pike_savehelditems + frontier_set FRONTIER_DATA_PAUSED, FALSE special LoadPlayerParty closemessage delay 2 call Common_EventScript_SaveGame setvar VAR_TEMP_0, 255 - setvar VAR_0x8004, 26 - special CallBattlePikeFunction + pike_savehelditems compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25BA5C + goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_CancelChallengeSaveFailed special SavePlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattlePikeLobby_Text_25C130, MSGBOX_DEFAULT + frontier_setpartyorder FRONTIER_PARTY_SIZE + msgbox BattleFrontier_BattlePikeLobby_Text_StepThisWay, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 5 - special CallFrontierUtilFunc - call BattleFrontier_BattlePikeLobby_EventScript_25BA94 + frontier_settrainers + call BattleFrontier_BattlePikeLobby_EventScript_WalkToCorridor special HealPlayerParty - call BattleFrontier_BattlePikeLobby_EventScript_25BB49 + call BattleFrontier_BattlePike_EventScript_CloseCurtain warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR, 255, 6, 7 setvar VAR_TEMP_0, 0 waitstate end -BattleFrontier_BattlePikeLobby_EventScript_25BA1A:: @ 825BA1A - msgbox BattleFrontier_BattlePikeLobby_Text_25BBF5, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeLobby_EventScript_25B87F +BattleFrontier_BattlePikeLobby_EventScript_ExplainChallenge:: @ 825BA1A + msgbox BattleFrontier_BattlePikeLobby_Text_ExplainBattlePike, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeLobby_EventScript_AskTakeChallenge -BattleFrontier_BattlePikeLobby_EventScript_25BA27:: @ 825BA27 +BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMons:: @ 825BA27 switch VAR_RESULT - case 0, BattleFrontier_BattlePikeLobby_EventScript_25BA42 - case 1, BattleFrontier_BattlePikeLobby_EventScript_25BA4F + case FRONTIER_LVL_50, BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMonsLv50 + case FRONTIER_LVL_OPEN, BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMonsLvOpen -BattleFrontier_BattlePikeLobby_EventScript_25BA42:: @ 825BA42 - msgbox BattleFrontier_BattlePikeLobby_Text_25BE8C, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeLobby_EventScript_25BA7E +BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMonsLv50:: @ 825BA42 + msgbox BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeLobby_EventScript_EndCancelChallenge -BattleFrontier_BattlePikeLobby_EventScript_25BA4F:: @ 825BA4F - msgbox BattleFrontier_BattlePikeLobby_Text_25BF9A, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeLobby_EventScript_25BA7E +BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMonsLvOpen:: @ 825BA4F + msgbox BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeLobby_EventScript_EndCancelChallenge -BattleFrontier_BattlePikeLobby_EventScript_25BA5C:: @ 825BA5C - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - goto BattleFrontier_BattlePikeLobby_EventScript_25BA76 +BattleFrontier_BattlePikeLobby_EventScript_CancelChallengeSaveFailed:: @ 825BA5C + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 + goto BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge -BattleFrontier_BattlePikeLobby_EventScript_25BA73:: @ 825BA73 +BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge:: @ 825BA73 special LoadPlayerParty - -BattleFrontier_BattlePikeLobby_EventScript_25BA76:: @ 825BA76 - msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, MSGBOX_DEFAULT - -BattleFrontier_BattlePikeLobby_EventScript_25BA7E:: @ 825BA7E +BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge:: @ 825BA76 + msgbox BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou, MSGBOX_DEFAULT +BattleFrontier_BattlePikeLobby_EventScript_EndCancelChallenge:: @ 825BA7E release end -BattleFrontier_BattlePikeLobby_EventScript_25BA80:: @ 825BA80 +BattleFrontier_BattlePikeLobby_EventScript_ShowResults:: @ 825BA80 lockall - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 5 - special CallFrontierUtilFunc + frontier_results FRONTIER_FACILITY_PIKE waitbuttonpress special RemoveRecordsWindow releaseall end -BattleFrontier_BattlePikeLobby_EventScript_25BA94:: @ 825BA94 - applymovement 1, BattleFrontier_BattlePikeLobby_Movement_25BAA7 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeLobby_Movement_25BAA6 +BattleFrontier_BattlePikeLobby_EventScript_WalkToCorridor:: @ 825BA94 + applymovement 1, BattleFrontier_BattlePikeLobby_Movement_AttendantWalkToCorridor + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeLobby_Movement_PlayerWalkToCorridor waitmovement 0 return -BattleFrontier_BattlePikeLobby_Movement_25BAA6: @ 825BAA6 +BattleFrontier_BattlePikeLobby_Movement_PlayerWalkToCorridor: @ 825BAA6 walk_up - -BattleFrontier_BattlePikeLobby_Movement_25BAA7: @ 825BAA7 +BattleFrontier_BattlePikeLobby_Movement_AttendantWalkToCorridor: @ 825BAA7 walk_up walk_up set_invisible step_end -BattleFrontier_BattlePikeLobby_EventScript_25BAAB:: @ 825BAAB - msgbox BattleFrontier_BattlePikeLobby_Text_25C422, MSGBOX_NPC +BattleFrontier_BattlePikeLobby_EventScript_Hiker:: @ 825BAAB + msgbox BattleFrontier_BattlePikeLobby_Text_OneRoomAwayFromGoal, MSGBOX_NPC end -BattleFrontier_BattlePikeLobby_EventScript_25BAB4:: @ 825BAB4 - msgbox BattleFrontier_BattlePikeLobby_Text_25C4A5, MSGBOX_NPC +BattleFrontier_BattlePikeLobby_EventScript_Twin:: @ 825BAB4 + msgbox BattleFrontier_BattlePikeLobby_Text_NeverHadToBattleTrainer, MSGBOX_NPC end -BattleFrontier_BattlePikeLobby_EventScript_25BABD:: @ 825BABD - msgbox BattleFrontier_BattlePikeLobby_Text_25C4FD, MSGBOX_NPC +BattleFrontier_BattlePikeLobby_EventScript_Beauty:: @ 825BABD + msgbox BattleFrontier_BattlePikeLobby_Text_ThinkAbilitiesUsefulHere, MSGBOX_NPC end -BattleFrontier_BattlePikeLobby_EventScript_25BAC6:: @ 825BAC6 +BattleFrontier_BattlePikeLobby_EventScript_RulesBoard:: @ 825BAC6 lockall - msgbox BattleFrontier_BattlePikeLobby_Text_25C5FB, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5 + msgbox BattleFrontier_BattlePikeLobby_Text_RulesAreListed, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattlePikeLobby_EventScript_25BAD5:: @ 825BAD5 - message BattleFrontier_BattlePikeLobby_Text_25C621 +BattleFrontier_BattlePikeLobby_EventScript_ReadRulesBoard:: @ 825BAD5 + message BattleFrontier_BattlePikeLobby_Text_ReadWhichHeading waitmessage - multichoice 16, 4, 102, 0 + multichoice 16, 4, MULTI_BATTLE_PIKE_RULES, 0 switch VAR_RESULT - case 0, BattleFrontier_BattlePikeLobby_EventScript_25BB1D - case 1, BattleFrontier_BattlePikeLobby_EventScript_25BB2B - case 2, BattleFrontier_BattlePikeLobby_EventScript_25BB39 - case 3, BattleFrontier_BattlePikeLobby_EventScript_25BB47 - case 127, BattleFrontier_BattlePikeLobby_EventScript_25BB47 + case 0, BattleFrontier_BattlePikeLobby_EventScript_RulesPokenavBag + case 1, BattleFrontier_BattlePikeLobby_EventScript_RulesHeldItems + case 2, BattleFrontier_BattlePikeLobby_EventScript_RulesMonOrder + case 3, BattleFrontier_BattlePikeLobby_EventScript_ExitRules + case MULTI_B_PRESSED, BattleFrontier_BattlePikeLobby_EventScript_ExitRules end -BattleFrontier_BattlePikeLobby_EventScript_25BB1D:: @ 825BB1D - msgbox BattleFrontier_BattlePikeLobby_Text_25C644, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5 +BattleFrontier_BattlePikeLobby_EventScript_RulesPokenavBag:: @ 825BB1D + msgbox BattleFrontier_BattlePikeLobby_Text_ExplainPokenavBagRules, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattlePikeLobby_EventScript_25BB2B:: @ 825BB2B - msgbox BattleFrontier_BattlePikeLobby_Text_25C68A, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5 +BattleFrontier_BattlePikeLobby_EventScript_RulesHeldItems:: @ 825BB2B + msgbox BattleFrontier_BattlePikeLobby_Text_ExplainHeldItemRules, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattlePikeLobby_EventScript_25BB39:: @ 825BB39 - msgbox BattleFrontier_BattlePikeLobby_Text_25C6EB, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5 +BattleFrontier_BattlePikeLobby_EventScript_RulesMonOrder:: @ 825BB39 + msgbox BattleFrontier_BattlePikeLobby_Text_ExplainMonOrderRules, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattlePikeLobby_EventScript_25BB47:: @ 825BB47 +BattleFrontier_BattlePikeLobby_EventScript_ExitRules:: @ 825BB47 releaseall end -BattleFrontier_BattlePikeCorridor_EventScript_25BB49:: @ 825BB49 -BattleFrontier_BattlePikeLobby_EventScript_25BB49:: @ 825BB49 -BattleFrontier_BattlePikeRandomRoom1_EventScript_25BB49:: @ 825BB49 -BattleFrontier_BattlePikeThreePathRoom_EventScript_25BB49:: @ 825BB49 - playse 267 - special sub_813B880 +BattleFrontier_BattlePike_EventScript_CloseCurtain:: @ 825BB49 + playse SE_CURTAIN + special CloseBattlePikeCurtain waitstate waitse return -BattleFrontier_BattlePikeLobby_Text_25BB52: @ 825BB52 +BattleFrontier_BattlePikeLobby_Text_WelcomeToBattlePike: @ 825BB52 .string "Where the luck of TRAINERS\n" .string "is put to the test…\p" .string "Welcome to the BATTLE PIKE…\p" .string "I am your guide to the BATTLE PIKE…$" -BattleFrontier_BattlePikeLobby_Text_25BBC1: @ 825BBC1 +BattleFrontier_BattlePikeLobby_Text_TakeChallenge: @ 825BBC1 .string "Would you like to take the Battle\n" .string "Choice challenge?$" -BattleFrontier_BattlePikeLobby_Text_25BBF5: @ 825BBF5 +BattleFrontier_BattlePikeLobby_Text_ExplainBattlePike: @ 825BBF5 .string "Here we conduct an event we call\n" .string "the Battle Choice.\p" .string "The Battle Choice rules are very\n" @@ -364,16 +298,16 @@ BattleFrontier_BattlePikeLobby_Text_25BBF5: @ 825BBF5 .string "If you don't save before interrupting,\n" .string "you will be disqualified.$" -BattleFrontier_BattlePikeLobby_Text_25BE02: @ 825BE02 +BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou: @ 825BE02 .string "We look forward to seeing you\n" .string "on another occasion…$" -BattleFrontier_BattlePikeLobby_Text_25BE35: @ 825BE35 +BattleFrontier_BattlePikeLobby_Text_WhichChallengeMode: @ 825BE35 .string "You have the choice of two courses,\n" .string "Level 50 and Open Level.\l" .string "Which will you challenge?$" -BattleFrontier_BattlePikeLobby_Text_25BE8C: @ 825BE8C +BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLv50: @ 825BE8C .string "I beg your pardon, but…\p" .string "You do not have three eligible\n" .string "POKéMON for the Battle Choice event.\p" @@ -385,7 +319,7 @@ BattleFrontier_BattlePikeLobby_Text_25BE8C: @ 825BE8C .string "Please come see me when\n" .string "you are ready…$" -BattleFrontier_BattlePikeLobby_Text_25BF9A: @ 825BF9A +BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLvOpen: @ 825BF9A .string "I beg your pardon, but…\p" .string "You do not have three eligible\n" .string "POKéMON for the Battle Choice event.\p" @@ -397,98 +331,101 @@ BattleFrontier_BattlePikeLobby_Text_25BF9A: @ 825BF9A .string "Please come see me when\n" .string "you are ready…$" -BattleFrontier_BattlePikeLobby_Text_25C094: @ 825C094 +BattleFrontier_BattlePikeLobby_Text_PleaseChooseThreeMons: @ 825C094 .string "Please choose the three POKéMON\n" .string "you wish to enter in the challenge…$" -BattleFrontier_BattlePikeLobby_Text_25C0D8: @ 825C0D8 +BattleFrontier_BattlePikeLobby_Text_SaveBeforeChallenge: @ 825C0D8 .string "Before starting your Battle Choice\n" .string "challenge, I must save the game.\l" .string "Is that acceptable?$" -BattleFrontier_BattlePikeLobby_Text_25C130: @ 825C130 +BattleFrontier_BattlePikeLobby_Text_StepThisWay: @ 825C130 .string "Please step this way…$" -BattleFrontier_BattlePikeLobby_Text_25C146: @ 825C146 +BattleFrontier_BattlePikeLobby_Text_ChallengeEndedRecordResults: @ 825C146 .string "Your challenge has ended…\p" .string "I shall record your results.\n" .string "Please wait…$" -BattleFrontier_BattlePikeLobby_Text_25C18A: @ 825C18A +BattleFrontier_BattlePikeLobby_Text_PossessLuckInAbundance: @ 825C18A .string "You have completed the challenge…\p" .string "I must say… You seem to possess luck\n" .string "in abundance…$" -BattleFrontier_BattlePikeLobby_Text_25C1DF: @ 825C1DF +BattleFrontier_BattlePikeLobby_Text_ShallRecordResults: @ 825C1DF .string "I shall record your results.\n" .string "Please wait…$" -BattleFrontier_BattlePikeLobby_Text_25C209: @ 825C209 +@ Unused +BattleFrontier_BattlePikeLobby_Text_AwardYouTheseBattlePoints2: @ 825C209 .string "To commemorate your completion of\n" .string "the Battle Choice challenge, we award\l" .string "you these Battle Point(s)…$" -BattleFrontier_BattlePikeLobby_Text_25C26C: @ 825C26C +@ Unused +BattleFrontier_BattlePikeLobby_Text_ReachedBattlePointLimit: @ 825C26C .string "You appear to have reached the limit\n" .string "for Battle Points…\pPlease exchange some Battle Points\n" .string "for prizes, then return…$" -BattleFrontier_BattlePikeLobby_Text_25C2E0: @ 825C2E0 +BattleFrontier_BattlePikeLobby_Text_FailedToSaveBeforeQuitting: @ 825C2E0 .string "I beg your pardon, but…\p" .string "You failed to save before you quit\n" .string "your challenge the last time.\p" .string "Because of that, your challenge so far\n" .string "has been disqualified. I am sorry…$" -BattleFrontier_BattlePikeLobby_Text_25C383: @ 825C383 +BattleFrontier_BattlePikeLobby_Text_SnatchedVictoryFromQueen: @ 825C383 .string "Congratulations…\p" .string "You have snatched victory from the\n" .string "PIKE QUEEN and cleared the event…$" -BattleFrontier_BattlePikeLobby_Text_25C3D9: @ 825C3D9 +BattleFrontier_BattlePikeLobby_Text_AwardYouTheseBattlePoints: @ 825C3D9 .string "In recognition of your amazing luck,\n" .string "we award you these Battle Point(s)…$" -BattleFrontier_BattlePikeLobby_Text_25C422: @ 825C422 +BattleFrontier_BattlePikeLobby_Text_OneRoomAwayFromGoal: @ 825C422 .string "Arrgh! I blew my chance!\n" .string "I was one room away from the goal!\p" .string "In this place, you'd better watch out\n" .string "for poison, freezing, and so on.$" -BattleFrontier_BattlePikeLobby_Text_25C4A5: @ 825C4A5 +BattleFrontier_BattlePikeLobby_Text_NeverHadToBattleTrainer: @ 825C4A5 .string "I've completed the challenge 10 times\n" .string "now, but I've never had to battle\l" .string "a TRAINER once.$" -BattleFrontier_BattlePikeLobby_Text_25C4FD: @ 825C4FD +BattleFrontier_BattlePikeLobby_Text_ThinkAbilitiesUsefulHere: @ 825C4FD .string "Listen! Listen!\p" .string "Don't you think that the special\n" .string "abilities of POKéMON will be useful\l" .string "here?$" -BattleFrontier_BattlePikeLobby_Text_25C558: @ 825C558 +@ Unused +BattleFrontier_BattlePikeLobby_Text_TrainersWhicheverPathIChoose: @ 825C558 .string "What is this weird place?\n" .string "I can't figure it out at all!\p" .string "I've taken the challenge a bunch\n" .string "of times, but all I ever do is run into\l" .string "TRAINERS whichever path I choose.$" -BattleFrontier_BattlePikeLobby_Text_25C5FB: @ 825C5FB +BattleFrontier_BattlePikeLobby_Text_RulesAreListed: @ 825C5FB .string "The Battle Choice's rules are listed.$" -BattleFrontier_BattlePikeLobby_Text_25C621: @ 825C621 +BattleFrontier_BattlePikeLobby_Text_ReadWhichHeading: @ 825C621 .string "Which heading do you want to read?$" -BattleFrontier_BattlePikeLobby_Text_25C644: @ 825C644 +BattleFrontier_BattlePikeLobby_Text_ExplainPokenavBagRules: @ 825C644 .string "The BAG and POKéNAV may not be used\n" .string "during a Battle Choice challenge.$" -BattleFrontier_BattlePikeLobby_Text_25C68A: @ 825C68A +BattleFrontier_BattlePikeLobby_Text_ExplainHeldItemRules: @ 825C68A .string "During a Battle Choice challenge,\n" .string "any BERRY or HERB held by POKéMON\l" .string "will be effective only once.$" -BattleFrontier_BattlePikeLobby_Text_25C6EB: @ 825C6EB +BattleFrontier_BattlePikeLobby_Text_ExplainMonOrderRules: @ 825C6EB .string "During a Battle Choice challenge,\n" .string "the sequence of POKéMON cannot be\l" .string "changed.\p" diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc deleted file mode 100644 index ea959387bd..0000000000 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc +++ /dev/null @@ -1,895 +0,0 @@ -BattleFrontier_BattlePikeRandomRoom1_MapScripts:: @ 825D152 - map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C423E - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeRandomRoom1_MapScript2_25D167 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRandomRoom1_MapScript2_2C3EDE - .byte 0 - -BattleFrontier_BattlePikeRandomRoom1_MapScript2_25D167: @ 825D167 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D171 - .2byte 0 - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D171:: @ 825D171 - setvar VAR_TEMP_0, 1 - setvar VAR_0x8004, 5 - special CallBattlePikeFunction - switch VAR_RESULT - case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D1C6 - case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D50E - case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D605 - case 6, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D231 - case 7, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E - case 8, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2BF - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D1C6:: @ 825D1C6 - lockall - delay 16 - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D795 - waitmovement 0 - setvar VAR_0x8004, 21 - setvar VAR_0x8005, 0 - special CallBattlePikeFunction - msgbox gStringVar4, MSGBOX_DEFAULT - waitmessage - closemessage - releaseall - setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE - setvar VAR_0x8005, 0 - special DoSpecialTrainerBattle - waitstate - switch VAR_RESULT - case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D226 - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A:: @ 825D20A - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 4 - special CallFrontierUtilFunc - warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6 - waitstate - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D226:: @ 825D226 - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D798 - waitmovement 0 - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D231:: @ 825D231 - lockall - delay 16 - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDFE, MSGBOX_DEFAULT - waitmessage - closemessage - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D795 - waitmovement 0 - setvar VAR_0x8004, 21 - setvar VAR_0x8005, 0 - special CallBattlePikeFunction - msgbox gStringVar4, MSGBOX_DEFAULT - waitmessage - closemessage - releaseall - setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE - setvar VAR_0x8005, 0 - special DoSpecialTrainerBattle - waitstate - switch VAR_RESULT - case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D285 - goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D285:: @ 825D285 - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D798 - waitmovement 0 - applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B6 - waitmovement 0 - lock - faceplayer - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DE3F, MSGBOX_DEFAULT - playfanfare MUS_ME_ASA - waitfanfare - special HealPlayerParty - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DE94, MSGBOX_DEFAULT - closemessage - release - applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D798 - waitmovement 0 - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2BF:: @ 825D2BF - delay 22 - lockall - applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DF - waitmovement 0 - setvar VAR_0x8004, 23 - special CallBattlePikeFunction - switch VAR_RESULT - case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4DC - case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4EA - case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4FC - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB:: @ 825D2FB - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E311, MSGBOX_DEFAULT - closemessage - special SpawnCameraObject - applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B0 - applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E2 - waitmovement 0 - playse 267 - call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8E7 - delay 4 - call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8A4 - delay 4 - call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D96D - delay 4 - waitse - delay 60 - playse 268 - delay 65 - call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8A4 - showobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 - delay 4 - call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8E7 - delay 4 - call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D92A - waitse - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E7 - waitmovement 0 - setvar VAR_0x8004, 22 - special CallBattlePikeFunction - switch VAR_RESULT - case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D416 - case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD - case 4, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DED2, MSGBOX_DEFAULT - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD:: @ 825D3BD - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DF71, MSGBOX_DEFAULT - call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3DA - goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3DA:: @ 825D3DA - setvar VAR_0x8004, 12 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DFA2, MSGBOX_DEFAULT - waitmessage - playfanfare MUS_ME_SYMBOLGET - message BattleFrontier_BattlePikeRandomRoom1_Text_25DFD0 - waitmessage - waitfanfare - setvar VAR_0x8004, 13 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E003, MSGBOX_DEFAULT - closemessage - goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D416:: @ 825D416 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443 - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E02C, MSGBOX_DEFAULT - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443:: @ 825D443 - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E0E8, MSGBOX_DEFAULT - call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460 - goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460:: @ 825D460 - setvar VAR_0x8004, 12 - special CallFrontierUtilFunc - compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E0F6, MSGBOX_DEFAULT - waitmessage - playfanfare MUS_ME_SYMBOLGET - message BattleFrontier_BattlePikeRandomRoom1_Text_25E118 - waitmessage - waitfanfare - setvar VAR_0x8004, 13 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E140, MSGBOX_DEFAULT - closemessage - goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D:: @ 825D49D - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7EA - waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC - waitmovement 0 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special CallBattlePikeFunction - addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - copyvar VAR_0x8006, VAR_RESULT - special CallBattlePikeFunction - call BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144 - waitstate - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4DC:: @ 825D4DC - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E15D, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4EA:: @ 825D4EA - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E1DD, MSGBOX_DEFAULT - playfanfare MUS_ME_ASA - waitfanfare - goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4FC:: @ 825D4FC - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E238, MSGBOX_DEFAULT - playfanfare MUS_ME_ASA - waitfanfare - goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D50E:: @ 825D50E - lockall - delay 16 - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D795 - waitmovement 0 - message BattleFrontier_BattlePikeRandomRoom1_Text_25D9B6 - waitmessage - playfanfare MUS_ME_ASA - waitfanfare - special HealPlayerParty - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DA13, MSGBOX_DEFAULT - closemessage - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D798 - waitmovement 0 - releaseall - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E - lockall - delay 16 - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C1 - applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C3 - waitmovement 0 - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C5 - applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C5 - waitmovement 0 - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C8 - applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CA - waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BB - waitmovement 0 - setvar VAR_0x8004, 21 - setvar VAR_0x8005, 0 - special CallBattlePikeFunction - msgbox gStringVar4, MSGBOX_DEFAULT - closemessage - delay 16 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD - waitmovement 0 - setvar VAR_0x8004, 21 - setvar VAR_0x8005, 1 - special CallBattlePikeFunction - msgbox gStringVar4, MSGBOX_DEFAULT - closemessage - setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_DOUBLE - setvar VAR_0x8005, 0 - special DoSpecialTrainerBattle - waitstate - switch VAR_RESULT - case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D5DC - goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D5DC:: @ 825D5DC - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD - waitmovement 0 - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CC - waitmovement 0 - applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7D4 - waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BF - waitmovement 0 - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D605:: @ 825D605 - lockall - message BattleFrontier_BattlePikeRandomRoom1_Text_25DBD1 - applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7AA - waitmovement 0 - setvar VAR_0x8004, 12 - special CallBattlePikeFunction - copyvar VAR_0x8004, VAR_RESULT - compare VAR_0x8004, 0 - call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643 - compare VAR_0x8004, 1 - call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5 - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DD3F, MSGBOX_DEFAULT - closemessage - releaseall - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643:: @ 825D643 - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DBE4, MSGBOX_DEFAULT - closemessage - waitse - playmoncry SPECIES_KIRLIA, 0 - waitmoncry - setvar VAR_0x8004, 11 - special CallBattlePikeFunction - compare VAR_RESULT, 2 - call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751 - compare VAR_RESULT, 1 - call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D758 - compare VAR_RESULT, 3 - call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D75F - compare VAR_RESULT, 4 - call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D766 - setvar VAR_0x8004, 15 - special CallBattlePikeFunction - waitstate - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2 - waitmovement 0 - applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B1 - waitmovement 0 - waitse - playmoncry SPECIES_KIRLIA, 0 - waitmoncry - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DCAF, MSGBOX_DEFAULT - waitse - playmoncry SPECIES_KIRLIA, 0 - waitmoncry - closemessage - applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B3 - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A4 - waitmovement 0 - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DCCF, MSGBOX_DEFAULT - return - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5:: @ 825D6D5 - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DC01, MSGBOX_DEFAULT - closemessage - waitse - playmoncry SPECIES_DUSCLOPS, 0 - waitmoncry - setvar VAR_0x8004, 11 - special CallBattlePikeFunction - compare VAR_RESULT, 0 - call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D76D - compare VAR_RESULT, 1 - call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774 - setvar VAR_0x8004, 15 - special CallBattlePikeFunction - waitstate - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2 - waitmovement 0 - applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B1 - waitmovement 0 - waitse - playmoncry SPECIES_DUSCLOPS, 0 - waitmoncry - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DCAF, MSGBOX_DEFAULT - waitse - playmoncry SPECIES_DUSCLOPS, 0 - waitmoncry - closemessage - applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B3 - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A4 - waitmovement 0 - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DD06, MSGBOX_DEFAULT - return - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751:: @ 825D751 - message BattleFrontier_BattlePikeRandomRoom1_Text_25DC20 - waitmessage - return - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D758:: @ 825D758 - message BattleFrontier_BattlePikeRandomRoom1_Text_25DC63 - waitmessage - return - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D75F:: @ 825D75F - message BattleFrontier_BattlePikeRandomRoom1_Text_25DC49 - waitmessage - return - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D766:: @ 825D766 - message BattleFrontier_BattlePikeRandomRoom1_Text_25DC33 - waitmessage - return - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D76D:: @ 825D76D - message BattleFrontier_BattlePikeRandomRoom1_Text_25DC97 - waitmessage - return - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774:: @ 825D774 - message BattleFrontier_BattlePikeRandomRoom1_Text_25DC7C - waitmessage - return - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B:: @ 825D77B - closemessage - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC - waitmovement 0 - setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE - setvar VAR_0x8005, 0 - special DoSpecialTrainerBattle - waitstate - return - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D795: @ 825D795 - walk_down - walk_down - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D798: @ 825D798 - walk_up - walk_up - walk_up - set_invisible - walk_up - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D79E: @ 825D79E - walk_up - set_invisible - walk_up - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2: @ 825D7A2 - walk_down - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A4: @ 825D7A4 - walk_down - face_left - delay_16 - delay_16 - face_down - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7AA: @ 825D7AA - walk_fast_down - walk_fast_right - walk_fast_right - walk_fast_down - walk_fast_left - face_down - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B1: @ 825D7B1 - face_up - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B3: @ 825D7B3 - walk_left - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B4: @ 825D7B4 - face_right - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B6: @ 825D7B6 - walk_down - walk_down - walk_right - face_down - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BB: @ 825D7BB - face_left - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD: @ 825D7BD - face_right - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BF: @ 825D7BF - face_up - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C1: @ 825D7C1 - walk_right - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C3: @ 825D7C3 - walk_left - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C5: @ 825D7C5 - walk_down - walk_down - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C8: @ 825D7C8 - face_right - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CA: @ 825D7CA - face_left - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CC: @ 825D7CC - walk_up - walk_up - walk_up - walk_right - walk_up - set_invisible - walk_up - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7D4: @ 825D7D4 - walk_up - walk_up - walk_up - walk_left - walk_up - set_invisible - walk_up - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC: @ 825D7DC - walk_up - walk_up - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DF: @ 825D7DF - walk_down - walk_down - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E2: @ 825D7E2 - walk_up - walk_up - walk_up - set_invisible - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E7: @ 825D7E7 - set_visible - walk_down - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D7EA: @ 825D7EA - walk_left - face_right - step_end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED:: @ 825D7ED - setvar VAR_0x8004, 5 - special CallBattlePikeFunction - switch VAR_RESULT - case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D81B - case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D831 - case 4, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D83E - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D81B:: @ 825D81B - lock - faceplayer - setvar VAR_0x8004, 14 - special CallBattlePikeFunction - msgbox gStringVar4, MSGBOX_DEFAULT - waitmessage - closemessage - release - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D831:: @ 825D831 - lock - faceplayer - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDA3, MSGBOX_DEFAULT - closemessage - release - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D83E:: @ 825D83E - setvar VAR_0x8004, 13 - special CallBattlePikeFunction - compare VAR_RESULT, 2 - call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881 - compare VAR_RESULT, 1 - call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D875 - playfanfare MUS_ME_ASA - waitfanfare - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DABE, MSGBOX_DEFAULT - closemessage - release - applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D79E - waitmovement 0 - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D875:: @ 825D875 - lock - faceplayer - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DA51, MSGBOX_DEFAULT - closemessage - return - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881:: @ 825D881 - lock - faceplayer - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E32E, MSGBOX_DEFAULT - closemessage - return - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D88D:: @ 825D88D - lock - faceplayer - msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDE6, MSGBOX_DEFAULT - closemessage - release - applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B4 - waitmovement 0 - end - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8A4:: @ 825D8A4 - setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage1_Tile0, 1 - setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage1_Tile1, 1 - setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage1_Tile2, 1 - setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage1_Tile3, 1 - setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage1_Tile4, 1 - setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage1_Tile5, 0 - setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage1_Tile6, 1 - special DrawWholeMapView - return - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8E7:: @ 825D8E7 - setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage2_Tile0, 1 - setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage2_Tile1, 1 - setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage2_Tile2, 1 - setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage2_Tile3, 1 - setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage2_Tile4, 1 - setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage2_Tile5, 0 - setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage2_Tile6, 1 - special DrawWholeMapView - return - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D92A:: @ 825D92A - setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage3_Tile0, 1 - setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage3_Tile1, 1 - setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage3_Tile2, 1 - setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage3_Tile3, 1 - setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage3_Tile4, 1 - setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage3_Tile5, 0 - setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage3_Tile6, 1 - special DrawWholeMapView - return - -BattleFrontier_BattlePikeRandomRoom1_EventScript_25D96D:: @ 825D96D - setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage0_Tile0, 1 - setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage0_Tile1, 1 - setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage0_Tile2, 1 - setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage0_Tile3, 1 - setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage0_Tile4, 1 - setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage0_Tile5, 0 - setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage0_Tile6, 1 - special DrawWholeMapView - return - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B0: @ 825D9B0 - walk_up - walk_up - step_end - -BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B3: @ 825D9B3 - walk_down - walk_down - step_end - -BattleFrontier_BattlePikeRandomRoom1_Text_25D9B6: @ 825D9B6 - .string "Welcome…\n" - .string "You must be commended for your luck…\p" - .string "Your POKéMON shall be restored\n" - .string "to full health…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DA13: @ 825DA13 - .string "I urge you to enjoy the rest of your\n" - .string "Battle Choice challenge…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DA51: @ 825DA51 - .string "Ah, you're a lucky one.\n" - .string "I'm in somewhat-good spirits now.\p" - .string "I will restore one of your POKéMON\n" - .string "to full health.$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DABE: @ 825DABE - .string "The best of luck to you.\n" - .string "Farewell.$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DAE1: @ 825DAE1 - .string "Excuse me…\p" - .string "Would you care for a battle?\n" - .string "I'll restore your POKéMON if you win.$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DB2F: @ 825DB2F - .string "Very well…\n" - .string "Now, shall we?$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DB49: @ 825DB49 - .string "I see…\n" - .string "How unsporting of you…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DB67: @ 825DB67 - .string "Magnificent…\p" - .string "As promised, I shall restore your\n" - .string "POKéMON to full health.$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DBAE: @ 825DBAE - .string "The best of luck to you.\n" - .string "Farewell.$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DBD1: @ 825DBD1 - .string "Oh, my!\p" - .string "Watch out!$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DBE4: @ 825DBE4 - .string "Now, now!\n" - .string "KIRLIA, stop that!$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DC01: @ 825DC01 - .string "Now, now!\n" - .string "DUSCLOPS, stop that!$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DC20: @ 825DC20 - .string "KIRLIA used TOXIC!$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DC33: @ 825DC33 - .string "KIRLIA used HYPNOSIS!$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DC49: @ 825DC49 - .string "KIRLIA used THUNDER WAVE!$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DC63: @ 825DC63 - .string "KIRLIA used WILL-O-WISP!$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DC7C: @ 825DC7C - .string "DUSCLOPS used WILL-O-WISP!$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DC97: @ 825DC97 - .string "DUSCLOPS used ICE BEAM!$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DCAF: @ 825DCAF - .string "Look here!\n" - .string "That's quite enough!$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DCCF: @ 825DCCF - .string "I must apologize to you…\p" - .string "My KIRLIA has a TIMID nature…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DD06: @ 825DD06 - .string "I must apologize to you…\p" - .string "My DUSCLOPS has a TIMID nature…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DD3F: @ 825DD3F - .string "It attacks without warning if it is\n" - .string "startled by another person…\p" - .string "Are you and your POKéMON all right?$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DDA3: @ 825DDA3 - .string "I do apologize for what happened…\n" - .string "I do hope your POKéMON are fine.$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DDE6: @ 825DDE6 - .string "… … … … … …\n" - .string "… … … … … …$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DDFE: @ 825DDFE - .string "Welcome…\p" - .string "Here, we will have you battle\n" - .string "a somewhat-tough TRAINER…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DE3F: @ 825DE3F - .string "How wonderful…\p" - .string "To honor your victory, your POKéMON\n" - .string "shall be restored to full health…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DE94: @ 825DE94 - .string "I urge you to enjoy the rest of your\n" - .string "Battle Choice challenge…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DED2: @ 825DED2 - .string "I am LUCY…\n" - .string "I am the law here…\l" - .string "For I am the PIKE QUEEN…\p" - .string "You already know it, but to advance,\n" - .string "you must defeat me…\p" - .string "…I'm not one for idle chatter.\n" - .string "Hurry. Come on…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DF71: @ 825DF71 - .string "Your luck…\n" - .string "I hope you didn't use it all up here…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DFA2: @ 825DFA2 - .string "LUCY: … … … … … …\n" - .string "Show me your FRONTIER PASS…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25DFD0: @ 825DFD0 - .string "The Luck Symbol was embossed on\n" - .string "the FRONTIER PASS!$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25E003: @ 825E003 - .string "…That's all there is…\n" - .string "Disappear already…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25E02C: @ 825E02C - .string "LUCY: …You again…\p" - .string "… … … … … …\p" - .string "…I've trampled flowers and braved\n" - .string "storms to get to where I am…\p" - .string "I don't feel any compulsion to keep\n" - .string "losing to the same opponent…\p" - .string "… … … … … …\n" - .string "Fine… I'll do it…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25E0E8: @ 825E0E8 - .string "Now!\n" - .string "Come on!$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25E0F6: @ 825E0F6 - .string "LUCY: … … … … … …\p" - .string "…FRONTIER PASS…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25E118: @ 825E118 - .string "The Luck Symbol took on\n" - .string "a golden shine!$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25E140: @ 825E140 - .string "…You, I won't forget…\n" - .string "…Ever…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25E15D: @ 825E15D - .string "I welcome you…\p" - .string "Giggle…\n" - .string "You seem to be bereft of luck…\p" - .string "If only you hadn't chosen this room,\n" - .string "your POKéMON could have been healed…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25E1DD: @ 825E1DD - .string "I welcome you…\p" - .string "Since you have chosen this room, I will\n" - .string "restore one POKéMON to full health…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25E238: @ 825E238 - .string "I welcome you…\p" - .string "Since you have chosen this room, I will\n" - .string "restore two POKéMON to full health…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25E293: @ 825E293 - .string "I welcome you…\p" - .string "Giggle…\n" - .string "You should thank your lucky stars…\p" - .string "Since you have chosen this room,\n" - .string "all your POKéMON will be restored…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25E311: @ 825E311 - .string "I shall go fetch our master…$" - -BattleFrontier_BattlePikeRandomRoom1_Text_25E32E: @ 825E32E - .string "Ah, you're a lucky one!\n" - .string "I'm in good spirits now.\p" - .string "I will restore two of your POKéMON\n" - .string "to full health!$" - diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc deleted file mode 100644 index 5d438d8bd8..0000000000 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc +++ /dev/null @@ -1,43 +0,0 @@ -BattleFrontier_BattlePikeRandomRoom2_MapScripts:: @ 825E392 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E39D - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E3DE - .byte 0 - -BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E39D: @ 825E39D - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3A7 - .2byte 0 - -BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3A7:: @ 825E3A7 - delay 16 - applymovement 1, BattleFrontier_BattlePikeRandomRoom2_Movement_25E3DB - waitmovement 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 3 - special CallFrontierUtilFunc - lockall - msgbox BattleFrontier_BattlePikeRandomRoom2_Text_25E3F2, MSGBOX_DEFAULT - closemessage - releaseall - warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6 - waitstate - end - -BattleFrontier_BattlePikeRandomRoom2_Movement_25E3DB: @ 825E3DB - walk_down - walk_down - step_end - -BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E3DE: @ 825E3DE - map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3E8 - .2byte 0 - -BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3E8:: @ 825E3E8 - setvar VAR_TEMP_4, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 - end - -BattleFrontier_BattlePikeRandomRoom2_Text_25E3F2: @ 825E3F2 - .string "Congratulations…\n" - .string "Now, this way, please…$" - diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc deleted file mode 100644 index 9f2dfec16c..0000000000 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc +++ /dev/null @@ -1,50 +0,0 @@ -BattleFrontier_BattlePikeRandomRoom3_MapScripts:: @ 825E41A - map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePikeRandomRoom3_MapScript1_25E47A - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E42A - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E466 - .byte 0 - -BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E42A: @ 825E42A - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E43C - map_script_2 VAR_TEMP_1, 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E44A - .2byte 0 - -BattleFrontier_BattlePikeRandomRoom3_EventScript_25E43C:: @ 825E43C - setvar VAR_TEMP_0, 1 - setvar VAR_0x8004, 6 - special CallBattlePikeFunction - end - -BattleFrontier_BattlePikeRandomRoom3_EventScript_25E44A:: @ 825E44A - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 4 - special CallFrontierUtilFunc - warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6 - waitstate - end - -BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E466: @ 825E466 - map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E470 - .2byte 0 - -BattleFrontier_BattlePikeRandomRoom3_EventScript_25E470:: @ 825E470 - setvar VAR_TEMP_4, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 - end - -BattleFrontier_BattlePikeRandomRoom3_MapScript1_25E47A: @ 825E47A - call BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4271 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 5 - special CallFrontierUtilFunc - compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3 - compare VAR_RESULT, 3 - goto_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3 - end - -BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3:: @ 825E4A3 - setvar VAR_TEMP_1, 1 - end - diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom2/map.json b/data/maps/BattleFrontier_BattlePikeRoomFinal/map.json similarity index 81% rename from data/maps/BattleFrontier_BattlePikeRandomRoom2/map.json rename to data/maps/BattleFrontier_BattlePikeRoomFinal/map.json index a07464a15d..2b3daf8b7d 100644 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom2/map.json +++ b/data/maps/BattleFrontier_BattlePikeRoomFinal/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2", - "name": "BattleFrontier_BattlePikeRandomRoom2", - "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2", + "id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL", + "name": "BattleFrontier_BattlePikeRoomFinal", + "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL", "music": "MUS_B_TUBE", "region_map_section": "MAPSEC_BATTLE_FRONTIER", "requires_flash": false, diff --git a/data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc b/data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc new file mode 100644 index 0000000000..d547a200f3 --- /dev/null +++ b/data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc @@ -0,0 +1,40 @@ +BattleFrontier_BattlePikeRoomFinal_MapScripts:: @ 825E392 + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeRoomFinal_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRoomFinal_OnWarp + .byte 0 + +BattleFrontier_BattlePikeRoomFinal_OnFrame: @ 825E39D + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeRoomFinal_EventScript_EnterRoom + .2byte 0 + +BattleFrontier_BattlePikeRoomFinal_EventScript_EnterRoom:: @ 825E3A7 + delay 16 + applymovement 1, BattleFrontier_BattlePikeRoomFinal_Movement_AttendantApproachPlayer + waitmovement 0 + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON + lockall + msgbox BattleFrontier_BattlePikeRoomFinal_Text_CongratsThisWayPlease, MSGBOX_DEFAULT + closemessage + releaseall + warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6 + waitstate + end + +BattleFrontier_BattlePikeRoomFinal_Movement_AttendantApproachPlayer: @ 825E3DB + walk_down + walk_down + step_end + +BattleFrontier_BattlePikeRoomFinal_OnWarp: @ 825E3DE + map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRoomFinal_EventScript_TurnPlayerNorth + .2byte 0 + +BattleFrontier_BattlePikeRoomFinal_EventScript_TurnPlayerNorth:: @ 825E3E8 + setvar VAR_TEMP_4, 1 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH + end + +BattleFrontier_BattlePikeRoomFinal_Text_CongratsThisWayPlease: @ 825E3F2 + .string "Congratulations…\n" + .string "Now, this way, please…$" + diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/map.json b/data/maps/BattleFrontier_BattlePikeRoomNormal/map.json similarity index 69% rename from data/maps/BattleFrontier_BattlePikeRandomRoom1/map.json rename to data/maps/BattleFrontier_BattlePikeRoomNormal/map.json index 630a0e3354..4413e35f3e 100644 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom1/map.json +++ b/data/maps/BattleFrontier_BattlePikeRoomNormal/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1", - "name": "BattleFrontier_BattlePikeRandomRoom1", - "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1", + "id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL", + "name": "BattleFrontier_BattlePikeRoomNormal", + "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL", "music": "MUS_B_TUBE", "region_map_section": "MAPSEC_BATTLE_FRONTIER", "requires_flash": false, @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED", + "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_NPC", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_25D88D", + "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_StatusMon", "flag": "0" } ], @@ -50,7 +50,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2" + "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_Exit" }, { "type": "trigger", @@ -59,7 +59,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082" + "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_SetEnteredRoom" }, { "type": "trigger", @@ -68,7 +68,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "1", - "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D" + "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_NoTurningBack" }, { "type": "trigger", @@ -77,7 +77,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082" + "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_SetEnteredRoom" }, { "type": "trigger", @@ -86,7 +86,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082" + "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_SetEnteredRoom" }, { "type": "trigger", @@ -95,7 +95,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "1", - "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D" + "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_NoTurningBack" }, { "type": "trigger", @@ -104,7 +104,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "1", - "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D" + "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_NoTurningBack" } ], "bg_events": [] diff --git a/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc b/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc new file mode 100644 index 0000000000..184bf93241 --- /dev/null +++ b/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc @@ -0,0 +1,862 @@ +BattleFrontier_BattlePikeRoomNormal_MapScripts:: @ 825D152 + map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePikeRoom_OnResume + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePikeRoom_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeRoomNormal_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRoom_OnWarp + .byte 0 + +BattleFrontier_BattlePikeRoomNormal_OnFrame: @ 825D167 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeRoomNormal_EventScript_EnterRoom + .2byte 0 + +BattleFrontier_BattlePikeRoomNormal_EventScript_EnterRoom:: @ 825D171 + setvar VAR_TEMP_0, 1 + pike_getroomtype + switch VAR_RESULT + case PIKE_ROOM_SINGLE_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_EnterSingleBattleRoom + case PIKE_ROOM_HEAL_FULL, BattleFrontier_BattlePikeRoomNormal_EventScript_EnterFullHealRoom + case PIKE_ROOM_STATUS, BattleFrontier_BattlePikeRoomNormal_EventScript_EnterStatusRoom + case PIKE_ROOM_HARD_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_EnterHardBattleRoom + case PIKE_ROOM_DOUBLE_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_EnterDoubleBattleRoom + case PIKE_ROOM_BRAIN, BattleFrontier_BattlePikeRoomNormal_EventScript_EnterBrainRoom + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_EnterSingleBattleRoom:: @ 825D1C6 + lockall + delay 16 + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer + waitmovement 0 + pike_gettrainerintro 0 + msgbox gStringVar4, MSGBOX_DEFAULT + waitmessage + closemessage + releaseall + setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE + setvar VAR_0x8005, 0 + special DoSpecialTrainerBattle + waitstate + switch VAR_RESULT + case 1, BattleFrontier_BattlePikeRoomNormal_EventScript_WonSingleBattle +BattleFrontier_BattlePikeRoomNormal_EventScript_WarpToLobbyLost:: @ 825D20A + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST + warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6 + waitstate + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_WonSingleBattle:: @ 825D226 + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit + waitmovement 0 + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_EnterHardBattleRoom:: @ 825D231 + lockall + delay 16 + msgbox BattleFrontier_BattlePikeRoomNormal_Text_BattleSomewhatToughTrainer, MSGBOX_DEFAULT + waitmessage + closemessage + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer + waitmovement 0 + pike_gettrainerintro 0 + msgbox gStringVar4, MSGBOX_DEFAULT + waitmessage + closemessage + releaseall + setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE + setvar VAR_0x8005, 0 + special DoSpecialTrainerBattle + waitstate + switch VAR_RESULT + case 1, BattleFrontier_BattlePikeRoomNormal_EventScript_WonHardBattle + goto BattleFrontier_BattlePikeRoomNormal_EventScript_WarpToLobbyLost + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_WonHardBattle:: @ 825D285 + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit + waitmovement 0 + applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCApproachPlayer + waitmovement 0 + lock + faceplayer + msgbox BattleFrontier_BattlePikeRoomNormal_Text_RestoreToFullHealth, MSGBOX_DEFAULT + playfanfare MUS_ME_ASA + waitfanfare + special HealPlayerParty + msgbox BattleFrontier_BattlePikeRoomNormal_Text_EnjoyRestOfChallenge2, MSGBOX_DEFAULT + closemessage + release + applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit + waitmovement 0 + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_EnterBrainRoom:: @ 825D2BF + delay 22 + lockall + applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_PreQueenHealNPCApproachPlayer + waitmovement 0 + pike_prequeenheal + switch VAR_RESULT + case 0, BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenNoHeal + case 1, BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenHealOneMon + case 2, BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenHealTwoMons + +BattleFrontier_BattlePikeRoomNormal_EventScript_LucyEnter:: @ 825D2FB + msgbox BattleFrontier_BattlePikeRoomNormal_Text_ShallFetchOurMaster, MSGBOX_DEFAULT + closemessage + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePikeRoomNormal_Movement_CameraPanUp + applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCExitForLucy + waitmovement 0 + playse SE_CURTAIN + call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesLittleClosed + delay 4 + call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesMostlyClosed + delay 4 + call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesClosed + delay 4 + waitse + delay 60 + playse SE_CURTAIN1 + delay 65 + call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesMostlyClosed + showobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL + delay 4 + call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesLittleClosed + delay 4 + call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesOpen + waitse + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_LucyEnter + waitmovement 0 + pike_getbrainstatus + switch VAR_RESULT + case FRONTIER_BRAIN_GOLD, BattleFrontier_BattlePikeRoomNormal_EventScript_IntroLucyGold + case FRONTIER_BRAIN_STREAK, BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucySilver + case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucyGold + frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH + compare VAR_RESULT, FALSE + goto_if_ne BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucySilver + msgbox BattleFrontier_BattlePikeRoomNormal_Text_ImThePikeQueen, MSGBOX_DEFAULT + frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH +BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucySilver:: @ 825D3BD + msgbox BattleFrontier_BattlePikeRoomNormal_Text_HopeYouDidntUseUpLuck, MSGBOX_DEFAULT + call BattleFrontier_BattlePikeRoomNormal_EventScript_DoPikeQueenBattle + compare VAR_RESULT, 1 + goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucySilver + goto BattleFrontier_BattlePikeRoomNormal_EventScript_WarpToLobbyLost + +BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucySilver:: @ 825D3DA + frontier_getsymbols + compare VAR_RESULT, 0 + goto_if_ne BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy + msgbox BattleFrontier_BattlePikeRoomNormal_Text_LucyShowMeFrontierPass, MSGBOX_DEFAULT + waitmessage + playfanfare MUS_ME_SYMBOLGET + message BattleFrontier_BattlePikeRoomNormal_Text_ReceivedLuckSymbol + waitmessage + waitfanfare + frontier_givesymbol + msgbox BattleFrontier_BattlePikeRoomNormal_Text_AllThereIsDisappear, MSGBOX_DEFAULT + closemessage + goto BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy + +BattleFrontier_BattlePikeRoomNormal_EventScript_IntroLucyGold:: @ 825D416 + frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH + compare VAR_RESULT, FALSE + goto_if_ne BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucyGold + msgbox BattleFrontier_BattlePikeRoomNormal_Text_LucyYouAgain, MSGBOX_DEFAULT + frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH +BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucyGold:: @ 825D443 + msgbox BattleFrontier_BattlePikeRoomNormal_Text_NowComeOn, MSGBOX_DEFAULT + call BattleFrontier_BattlePikeRoomNormal_EventScript_DoPikeQueenBattle + compare VAR_RESULT, 1 + goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucyGold + goto BattleFrontier_BattlePikeRoomNormal_EventScript_WarpToLobbyLost + +BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucyGold:: @ 825D460 + frontier_getsymbols + compare VAR_RESULT, 2 + goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy + msgbox BattleFrontier_BattlePikeRoomNormal_Text_LucyFrontierPass, MSGBOX_DEFAULT + waitmessage + playfanfare MUS_ME_SYMBOLGET + message BattleFrontier_BattlePikeRoomNormal_Text_LuckSymbolTookGoldenShine + waitmessage + waitfanfare + frontier_givesymbol + msgbox BattleFrontier_BattlePikeRoomNormal_Text_IWontForget, MSGBOX_DEFAULT + closemessage + goto BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy:: @ 825D49D + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_LucyMoveAside + waitmovement 0 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerWalkUp2 + waitmovement 0 + pike_get PIKE_DATA_WIN_STREAK + addvar VAR_RESULT, 1 + pike_set PIKE_DATA_WIN_STREAK VAR_RESULT + call BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom + waitstate + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenNoHeal:: @ 825D4DC + msgbox BattleFrontier_BattlePikeRoomNormal_Text_ChoseRoomNoHeal, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeRoomNormal_EventScript_LucyEnter + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenHealOneMon:: @ 825D4EA + msgbox BattleFrontier_BattlePikeRoomNormal_Text_ChoseRoomHealOne, MSGBOX_DEFAULT + playfanfare MUS_ME_ASA + waitfanfare + goto BattleFrontier_BattlePikeRoomNormal_EventScript_LucyEnter + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenHealTwoMons:: @ 825D4FC + msgbox BattleFrontier_BattlePikeRoomNormal_Text_ChoseRoomHealTwo, MSGBOX_DEFAULT + playfanfare MUS_ME_ASA + waitfanfare + goto BattleFrontier_BattlePikeRoomNormal_EventScript_LucyEnter + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_EnterFullHealRoom:: @ 825D50E + lockall + delay 16 + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer + waitmovement 0 + message BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreToFullHealth + waitmessage + playfanfare MUS_ME_ASA + waitfanfare + special HealPlayerParty + msgbox BattleFrontier_BattlePikeRoomNormal_Text_EnjoyRestOfChallenge, MSGBOX_DEFAULT + closemessage + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit + waitmovement 0 + releaseall + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_EnterDoubleBattleRoom:: @ 825D53E + lockall + delay 16 + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1WalkRight + applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2WalkLeft + waitmovement 0 + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_DoubleTrainersWalkDown + applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_DoubleTrainersWalkDown + waitmovement 0 + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1FacePlayer + applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2FacePlayer + waitmovement 0 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer1 + waitmovement 0 + pike_gettrainerintro 0 + msgbox gStringVar4, MSGBOX_DEFAULT + closemessage + delay 16 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer2 + waitmovement 0 + pike_gettrainerintro 1 + msgbox gStringVar4, MSGBOX_DEFAULT + closemessage + setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_DOUBLE + setvar VAR_0x8005, 0 + special DoSpecialTrainerBattle + waitstate + switch VAR_RESULT + case 1, BattleFrontier_BattlePikeRoomNormal_EventScript_WonDoubleBattle + goto BattleFrontier_BattlePikeRoomNormal_EventScript_WarpToLobbyLost + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_WonDoubleBattle:: @ 825D5DC + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer2 + waitmovement 0 + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1Exit + waitmovement 0 + applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2Exit + waitmovement 0 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceUp + waitmovement 0 + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_EnterStatusRoom:: @ 825D605 + lockall + message BattleFrontier_BattlePikeRoomNormal_Text_WatchOut + applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonApproachPlayer + waitmovement 0 + pike_getstatusmon + copyvar VAR_0x8004, VAR_RESULT + compare VAR_0x8004, PIKE_STATUSMON_KIRLIA + call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaAttack + compare VAR_0x8004, PIKE_STATUSMON_DUSCLOPS + call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsAttack + msgbox BattleFrontier_BattlePikeRoomNormal_Text_AttacksWhenStartled, MSGBOX_DEFAULT + closemessage + releaseall + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaAttack:: @ 825D643 + msgbox BattleFrontier_BattlePikeRoomNormal_Text_KirliaStop, MSGBOX_DEFAULT + closemessage + waitse + playmoncry SPECIES_KIRLIA, 0 + waitmoncry + pike_getstatus + compare VAR_RESULT, PIKE_STATUS_TOXIC + call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedToxic + compare VAR_RESULT, PIKE_STATUS_BURN + call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedWillOWisp + compare VAR_RESULT, PIKE_STATUS_PARALYSIS + call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedThunderWave + compare VAR_RESULT, PIKE_STATUS_SLEEP + call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedHypnosis + pike_flashscreen + waitstate + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCApproachMon + waitmovement 0 + applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceNPC + waitmovement 0 + waitse + playmoncry SPECIES_KIRLIA, 0 + waitmoncry + msgbox BattleFrontier_BattlePikeRoomNormal_Text_ThatsEnough, MSGBOX_DEFAULT + waitse + playmoncry SPECIES_KIRLIA, 0 + waitmoncry + closemessage + applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonMoveAside + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_StatusNPCApproachPlayer + waitmovement 0 + msgbox BattleFrontier_BattlePikeRoomNormal_Text_ApologizeForKirlia, MSGBOX_DEFAULT + return + +BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsAttack:: @ 825D6D5 + msgbox BattleFrontier_BattlePikeRoomNormal_Text_DusclopsStop, MSGBOX_DEFAULT + closemessage + waitse + playmoncry SPECIES_DUSCLOPS, 0 + waitmoncry + pike_getstatus + compare VAR_RESULT, PIKE_STATUS_FREEZE + call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsUsedIceBeam + compare VAR_RESULT, PIKE_STATUS_BURN + call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsUsedWillOWisp + pike_flashscreen + waitstate + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCApproachMon + waitmovement 0 + applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceNPC + waitmovement 0 + waitse + playmoncry SPECIES_DUSCLOPS, 0 + waitmoncry + msgbox BattleFrontier_BattlePikeRoomNormal_Text_ThatsEnough, MSGBOX_DEFAULT + waitse + playmoncry SPECIES_DUSCLOPS, 0 + waitmoncry + closemessage + applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonMoveAside + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_StatusNPCApproachPlayer + waitmovement 0 + msgbox BattleFrontier_BattlePikeRoomNormal_Text_ApologizeForDusclops, MSGBOX_DEFAULT + return + +BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedToxic:: @ 825D751 + message BattleFrontier_BattlePikeRoomNormal_Text_KirliaUsedToxic + waitmessage + return + +BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedWillOWisp:: @ 825D758 + message BattleFrontier_BattlePikeRoomNormal_Text_KirliaUsedWillOWisp + waitmessage + return + +BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedThunderWave:: @ 825D75F + message BattleFrontier_BattlePikeRoomNormal_Text_KirliaUsedThunderWave + waitmessage + return + +BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedHypnosis:: @ 825D766 + message BattleFrontier_BattlePikeRoomNormal_Text_KirliaUsedHypnosis + waitmessage + return + +BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsUsedIceBeam:: @ 825D76D + message BattleFrontier_BattlePikeRoomNormal_Text_DusclopsUsedIceBeam + waitmessage + return + +BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsUsedWillOWisp:: @ 825D774 + message BattleFrontier_BattlePikeRoomNormal_Text_DusclopsUsedWillOWisp + waitmessage + return + +BattleFrontier_BattlePikeRoomNormal_EventScript_DoPikeQueenBattle:: @ 825D77B + closemessage + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerWalkUp2 + waitmovement 0 + setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE + setvar VAR_0x8005, 0 + special DoSpecialTrainerBattle + waitstate + return + +BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer: @ 825D795 + walk_down + walk_down + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit: @ 825D798 + walk_up + walk_up + walk_up + set_invisible + walk_up + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCExit: @ 825D79E + walk_up + set_invisible + walk_up + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_NPCApproachMon: @ 825D7A2 + walk_down + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_StatusNPCApproachPlayer: @ 825D7A4 + walk_down + face_left + delay_16 + delay_16 + face_down + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_MonApproachPlayer: @ 825D7AA + walk_fast_down + walk_fast_right + walk_fast_right + walk_fast_down + walk_fast_left + face_down + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceNPC: @ 825D7B1 + face_up + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_MonMoveAside: @ 825D7B3 + walk_left +BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceRight: @ 825D7B4 + face_right + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCApproachPlayer: @ 825D7B6 + walk_down + walk_down + walk_right + face_down + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer1: @ 825D7BB + face_left + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer2: @ 825D7BD + face_right + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceUp: @ 825D7BF + face_up + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1WalkRight: @ 825D7C1 + walk_right + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2WalkLeft: @ 825D7C3 + walk_left + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_DoubleTrainersWalkDown: @ 825D7C5 + walk_down + walk_down + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1FacePlayer: @ 825D7C8 + face_right + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2FacePlayer: @ 825D7CA + face_left + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1Exit: @ 825D7CC + walk_up + walk_up + walk_up + walk_right + walk_up + set_invisible + walk_up + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2Exit: @ 825D7D4 + walk_up + walk_up + walk_up + walk_left + walk_up + set_invisible + walk_up + step_end + +@ For approaching Lucy and exiting room after defeating Lucy +BattleFrontier_BattlePikeRoomNormal_Movement_PlayerWalkUp2: @ 825D7DC + walk_up + walk_up + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_PreQueenHealNPCApproachPlayer: @ 825D7DF + walk_down + walk_down + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCExitForLucy: @ 825D7E2 + walk_up + walk_up + walk_up + set_invisible + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_LucyEnter: @ 825D7E7 + set_visible + walk_down + step_end + +BattleFrontier_BattlePikeRoomNormal_Movement_LucyMoveAside: @ 825D7EA + walk_left + face_right + step_end + +BattleFrontier_BattlePikeRoomNormal_EventScript_NPC:: @ 825D7ED + pike_getroomtype + switch VAR_RESULT + case PIKE_ROOM_NPC, BattleFrontier_BattlePikeRoomNormal_EventScript_NormalNPC + case PIKE_ROOM_STATUS, BattleFrontier_BattlePikeRoomNormal_EventScript_StatusNPC + case PIKE_ROOM_HEAL_PART, BattleFrontier_BattlePikeRoomNormal_EventScript_HealNPC +BattleFrontier_BattlePikeRoomNormal_EventScript_NormalNPC:: @ 825D81B + lock + faceplayer + pike_getnpcmsg + msgbox gStringVar4, MSGBOX_DEFAULT + waitmessage + closemessage + release + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_StatusNPC:: @ 825D831 + lock + faceplayer + msgbox BattleFrontier_BattlePikeRoomNormal_Text_ApologizeHopeMonsAreFine, MSGBOX_DEFAULT + closemessage + release + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_HealNPC:: @ 825D83E + pike_healonetwomons + compare VAR_RESULT, 2 + call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_WillRestoreTwoMons + compare VAR_RESULT, 1 + call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_WillRestoreOneMon + playfanfare MUS_ME_ASA + waitfanfare + msgbox BattleFrontier_BattlePikeRoomNormal_Text_BestOfLuckFarewell, MSGBOX_DEFAULT + closemessage + release + applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCExit + waitmovement 0 + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_WillRestoreOneMon:: @ 825D875 + lock + faceplayer + msgbox BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreOneMon, MSGBOX_DEFAULT + closemessage + return + +BattleFrontier_BattlePikeRoomNormal_EventScript_WillRestoreTwoMons:: @ 825D881 + lock + faceplayer + msgbox BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreTwoMons, MSGBOX_DEFAULT + closemessage + return + +@ Dusclops or Kirlia +BattleFrontier_BattlePikeRoomNormal_EventScript_StatusMon:: @ 825D88D + lock + faceplayer + msgbox BattleFrontier_BattlePikeRoomNormal_Text_Silence, MSGBOX_DEFAULT + closemessage + release + applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceRight + waitmovement 0 + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesMostlyClosed:: @ 825D8A4 + setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage1_Tile0, 1 + setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage1_Tile1, 1 + setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage1_Tile2, 1 + setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage1_Tile3, 1 + setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage1_Tile4, 1 + setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage1_Tile5, 0 + setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage1_Tile6, 1 + special DrawWholeMapView + return + +BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesLittleClosed:: @ 825D8E7 + setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage2_Tile0, 1 + setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage2_Tile1, 1 + setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage2_Tile2, 1 + setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage2_Tile3, 1 + setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage2_Tile4, 1 + setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage2_Tile5, 0 + setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage2_Tile6, 1 + special DrawWholeMapView + return + +BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesOpen:: @ 825D92A + setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage3_Tile0, 1 + setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage3_Tile1, 1 + setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage3_Tile2, 1 + setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage3_Tile3, 1 + setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage3_Tile4, 1 + setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage3_Tile5, 0 + setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage3_Tile6, 1 + special DrawWholeMapView + return + +BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesClosed:: @ 825D96D + setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage0_Tile0, 1 + setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage0_Tile1, 1 + setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage0_Tile2, 1 + setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage0_Tile3, 1 + setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage0_Tile4, 1 + setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage0_Tile5, 0 + setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage0_Tile6, 1 + special DrawWholeMapView + return + +BattleFrontier_BattlePikeRoomNormal_Movement_CameraPanUp: @ 825D9B0 + walk_up + walk_up + step_end + +@ Unused +BattleFrontier_BattlePikeRoomNormal_Movement_CameraPanDown: @ 825D9B3 + walk_down + walk_down + step_end + +BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreToFullHealth: @ 825D9B6 + .string "Welcome…\n" + .string "You must be commended for your luck…\p" + .string "Your POKéMON shall be restored\n" + .string "to full health…$" + +BattleFrontier_BattlePikeRoomNormal_Text_EnjoyRestOfChallenge: @ 825DA13 + .string "I urge you to enjoy the rest of your\n" + .string "Battle Choice challenge…$" + +BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreOneMon: @ 825DA51 + .string "Ah, you're a lucky one.\n" + .string "I'm in somewhat-good spirits now.\p" + .string "I will restore one of your POKéMON\n" + .string "to full health.$" + +BattleFrontier_BattlePikeRoomNormal_Text_BestOfLuckFarewell: @ 825DABE + .string "The best of luck to you.\n" + .string "Farewell.$" + +@ Seems there was a planned room type where the player could choose to battle and would be healed if they won +@ Possibly replaced/superseded by the hard battle room, which is the same but the battle isnt optional +@ Unused +BattleFrontier_BattlePikeRoomNormal_Text_CareForBattleWillRestoreMons: @ 825DAE1 + .string "Excuse me…\p" + .string "Would you care for a battle?\n" + .string "I'll restore your POKéMON if you win.$" + +@ Unused +BattleFrontier_BattlePikeRoomNormal_Text_NowShallWe: @ 825DB2F + .string "Very well…\n" + .string "Now, shall we?$" + +@ Unused +BattleFrontier_BattlePikeRoomNormal_Text_HowUnsportingOfYou: @ 825DB49 + .string "I see…\n" + .string "How unsporting of you…$" + +@ Unused +BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreMonsAsPromised: @ 825DB67 + .string "Magnificent…\p" + .string "As promised, I shall restore your\n" + .string "POKéMON to full health.$" + +@ Unused +BattleFrontier_BattlePikeRoomNormal_Text_BestOfLuckFarewell2: @ 825DBAE + .string "The best of luck to you.\n" + .string "Farewell.$" + +BattleFrontier_BattlePikeRoomNormal_Text_WatchOut: @ 825DBD1 + .string "Oh, my!\p" + .string "Watch out!$" + +BattleFrontier_BattlePikeRoomNormal_Text_KirliaStop: @ 825DBE4 + .string "Now, now!\n" + .string "KIRLIA, stop that!$" + +BattleFrontier_BattlePikeRoomNormal_Text_DusclopsStop: @ 825DC01 + .string "Now, now!\n" + .string "DUSCLOPS, stop that!$" + +BattleFrontier_BattlePikeRoomNormal_Text_KirliaUsedToxic: @ 825DC20 + .string "KIRLIA used TOXIC!$" + +BattleFrontier_BattlePikeRoomNormal_Text_KirliaUsedHypnosis: @ 825DC33 + .string "KIRLIA used HYPNOSIS!$" + +BattleFrontier_BattlePikeRoomNormal_Text_KirliaUsedThunderWave: @ 825DC49 + .string "KIRLIA used THUNDER WAVE!$" + +BattleFrontier_BattlePikeRoomNormal_Text_KirliaUsedWillOWisp: @ 825DC63 + .string "KIRLIA used WILL-O-WISP!$" + +BattleFrontier_BattlePikeRoomNormal_Text_DusclopsUsedWillOWisp: @ 825DC7C + .string "DUSCLOPS used WILL-O-WISP!$" + +BattleFrontier_BattlePikeRoomNormal_Text_DusclopsUsedIceBeam: @ 825DC97 + .string "DUSCLOPS used ICE BEAM!$" + +BattleFrontier_BattlePikeRoomNormal_Text_ThatsEnough: @ 825DCAF + .string "Look here!\n" + .string "That's quite enough!$" + +BattleFrontier_BattlePikeRoomNormal_Text_ApologizeForKirlia: @ 825DCCF + .string "I must apologize to you…\p" + .string "My KIRLIA has a TIMID nature…$" + +BattleFrontier_BattlePikeRoomNormal_Text_ApologizeForDusclops: @ 825DD06 + .string "I must apologize to you…\p" + .string "My DUSCLOPS has a TIMID nature…$" + +BattleFrontier_BattlePikeRoomNormal_Text_AttacksWhenStartled: @ 825DD3F + .string "It attacks without warning if it is\n" + .string "startled by another person…\p" + .string "Are you and your POKéMON all right?$" + +BattleFrontier_BattlePikeRoomNormal_Text_ApologizeHopeMonsAreFine: @ 825DDA3 + .string "I do apologize for what happened…\n" + .string "I do hope your POKéMON are fine.$" + +BattleFrontier_BattlePikeRoomNormal_Text_Silence: @ 825DDE6 + .string "… … … … … …\n" + .string "… … … … … …$" + +BattleFrontier_BattlePikeRoomNormal_Text_BattleSomewhatToughTrainer: @ 825DDFE + .string "Welcome…\p" + .string "Here, we will have you battle\n" + .string "a somewhat-tough TRAINER…$" + +BattleFrontier_BattlePikeRoomNormal_Text_RestoreToFullHealth: @ 825DE3F + .string "How wonderful…\p" + .string "To honor your victory, your POKéMON\n" + .string "shall be restored to full health…$" + +BattleFrontier_BattlePikeRoomNormal_Text_EnjoyRestOfChallenge2: @ 825DE94 + .string "I urge you to enjoy the rest of your\n" + .string "Battle Choice challenge…$" + +BattleFrontier_BattlePikeRoomNormal_Text_ImThePikeQueen: @ 825DED2 + .string "I am LUCY…\n" + .string "I am the law here…\l" + .string "For I am the PIKE QUEEN…\p" + .string "You already know it, but to advance,\n" + .string "you must defeat me…\p" + .string "…I'm not one for idle chatter.\n" + .string "Hurry. Come on…$" + +BattleFrontier_BattlePikeRoomNormal_Text_HopeYouDidntUseUpLuck: @ 825DF71 + .string "Your luck…\n" + .string "I hope you didn't use it all up here…$" + +BattleFrontier_BattlePikeRoomNormal_Text_LucyShowMeFrontierPass: @ 825DFA2 + .string "LUCY: … … … … … …\n" + .string "Show me your FRONTIER PASS…$" + +BattleFrontier_BattlePikeRoomNormal_Text_ReceivedLuckSymbol: @ 825DFD0 + .string "The Luck Symbol was embossed on\n" + .string "the FRONTIER PASS!$" + +BattleFrontier_BattlePikeRoomNormal_Text_AllThereIsDisappear: @ 825E003 + .string "…That's all there is…\n" + .string "Disappear already…$" + +BattleFrontier_BattlePikeRoomNormal_Text_LucyYouAgain: @ 825E02C + .string "LUCY: …You again…\p" + .string "… … … … … …\p" + .string "…I've trampled flowers and braved\n" + .string "storms to get to where I am…\p" + .string "I don't feel any compulsion to keep\n" + .string "losing to the same opponent…\p" + .string "… … … … … …\n" + .string "Fine… I'll do it…$" + +BattleFrontier_BattlePikeRoomNormal_Text_NowComeOn: @ 825E0E8 + .string "Now!\n" + .string "Come on!$" + +BattleFrontier_BattlePikeRoomNormal_Text_LucyFrontierPass: @ 825E0F6 + .string "LUCY: … … … … … …\p" + .string "…FRONTIER PASS…$" + +BattleFrontier_BattlePikeRoomNormal_Text_LuckSymbolTookGoldenShine: @ 825E118 + .string "The Luck Symbol took on\n" + .string "a golden shine!$" + +BattleFrontier_BattlePikeRoomNormal_Text_IWontForget: @ 825E140 + .string "…You, I won't forget…\n" + .string "…Ever…$" + +BattleFrontier_BattlePikeRoomNormal_Text_ChoseRoomNoHeal: @ 825E15D + .string "I welcome you…\p" + .string "Giggle…\n" + .string "You seem to be bereft of luck…\p" + .string "If only you hadn't chosen this room,\n" + .string "your POKéMON could have been healed…$" + +BattleFrontier_BattlePikeRoomNormal_Text_ChoseRoomHealOne: @ 825E1DD + .string "I welcome you…\p" + .string "Since you have chosen this room, I will\n" + .string "restore one POKéMON to full health…$" + +BattleFrontier_BattlePikeRoomNormal_Text_ChoseRoomHealTwo: @ 825E238 + .string "I welcome you…\p" + .string "Since you have chosen this room, I will\n" + .string "restore two POKéMON to full health…$" + +@ Unused +BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreAllMons: @ 825E293 + .string "I welcome you…\p" + .string "Giggle…\n" + .string "You should thank your lucky stars…\p" + .string "Since you have chosen this room,\n" + .string "all your POKéMON will be restored…$" + +BattleFrontier_BattlePikeRoomNormal_Text_ShallFetchOurMaster: @ 825E311 + .string "I shall go fetch our master…$" + +BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreTwoMons: @ 825E32E + .string "Ah, you're a lucky one!\n" + .string "I'm in good spirits now.\p" + .string "I will restore two of your POKéMON\n" + .string "to full health!$" + diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom3/map.json b/data/maps/BattleFrontier_BattlePikeRoomWildMons/map.json similarity index 65% rename from data/maps/BattleFrontier_BattlePikeRandomRoom3/map.json rename to data/maps/BattleFrontier_BattlePikeRoomWildMons/map.json index 6e0e749605..6dd45dc341 100644 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom3/map.json +++ b/data/maps/BattleFrontier_BattlePikeRoomWildMons/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3", - "name": "BattleFrontier_BattlePikeRandomRoom3", - "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3", + "id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS", + "name": "BattleFrontier_BattlePikeRoomWildMons", + "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS", "music": "MUS_B_TUBE", "region_map_section": "MAPSEC_BATTLE_FRONTIER", "requires_flash": false, @@ -23,7 +23,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174" + "script": "BattleFrontier_BattlePikeRoomWildMons_EventScript_Exit" }, { "type": "trigger", @@ -32,7 +32,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202" + "script": "BattleFrontier_BattlePikeRoomWildMons_EventScript_SetEnteredRoom" }, { "type": "trigger", @@ -41,7 +41,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202" + "script": "BattleFrontier_BattlePikeRoomWildMons_EventScript_SetEnteredRoom" }, { "type": "trigger", @@ -50,7 +50,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202" + "script": "BattleFrontier_BattlePikeRoomWildMons_EventScript_SetEnteredRoom" }, { "type": "trigger", @@ -59,7 +59,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "1", - "script": "BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D" + "script": "BattleFrontier_BattlePikeRoomWildMons_EventScript_NoTurningBack" }, { "type": "trigger", @@ -68,7 +68,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "1", - "script": "BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D" + "script": "BattleFrontier_BattlePikeRoomWildMons_EventScript_NoTurningBack" }, { "type": "trigger", @@ -77,7 +77,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "1", - "script": "BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D" + "script": "BattleFrontier_BattlePikeRoomWildMons_EventScript_NoTurningBack" } ], "bg_events": [] diff --git a/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc b/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc new file mode 100644 index 0000000000..418a9e764e --- /dev/null +++ b/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc @@ -0,0 +1,44 @@ +BattleFrontier_BattlePikeRoomWildMons_MapScripts:: @ 825E41A + map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePikeRoomWildMons_OnResume + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeRoomWildMons_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRoomWildMons_OnWarp + .byte 0 + +BattleFrontier_BattlePikeRoomWildMons_OnFrame: @ 825E42A + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeRoomWildMons_EventScript_SetInWildMonRoom + map_script_2 VAR_TEMP_1, 1, BattleFrontier_BattlePikeRoomWildMons_EventScript_WarpToLobbyLost + .2byte 0 + +BattleFrontier_BattlePikeRoomWildMons_EventScript_SetInWildMonRoom:: @ 825E43C + setvar VAR_TEMP_0, 1 + pike_inwildmonroom + end + +BattleFrontier_BattlePikeRoomWildMons_EventScript_WarpToLobbyLost:: @ 825E44A + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST + warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6 + waitstate + end + +BattleFrontier_BattlePikeRoomWildMons_OnWarp: @ 825E466 + map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRoomWildMons_EventScript_TurnPlayerNorth + .2byte 0 + +BattleFrontier_BattlePikeRoomWildMons_EventScript_TurnPlayerNorth:: @ 825E470 + setvar VAR_TEMP_4, 1 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH + end + +BattleFrontier_BattlePikeRoomWildMons_OnResume: @ 825E47A + call BattleFrontier_BattlePikeRoom_EventScript_ResetSketchedMoves + frontier_get FRONTIER_DATA_BATTLE_OUTCOME + compare VAR_RESULT, B_OUTCOME_LOST + goto_if_eq BattleFrontier_BattlePikeRoomWildMons_EventScript_SetLost + compare VAR_RESULT, B_OUTCOME_DREW + goto_if_eq BattleFrontier_BattlePikeRoomWildMons_EventScript_SetLost + end + +BattleFrontier_BattlePikeRoomWildMons_EventScript_SetLost:: @ 825E4A3 + setvar VAR_TEMP_1, 1 + end + diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.json b/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.json index ac9230c533..4f6bd9a7ca 100644 --- a/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.json +++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_25C908", + "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_Attendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB", + "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_HintGiver", "flag": "0" } ], @@ -50,7 +50,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F4E" + "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_LeftRoomWarp" }, { "type": "trigger", @@ -59,7 +59,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F59" + "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_CenterRoomWarp" }, { "type": "trigger", @@ -68,7 +68,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F64" + "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_RightRoomWarp" }, { "type": "trigger", @@ -77,7 +77,7 @@ "elevation": 0, "var": "VAR_TEMP_3", "var_value": "1", - "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D" + "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_NoTurningBack" }, { "type": "trigger", @@ -86,7 +86,7 @@ "elevation": 0, "var": "VAR_TEMP_3", "var_value": "1", - "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D" + "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_NoTurningBack" }, { "type": "trigger", @@ -95,7 +95,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062" + "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_SetEnteredRoom" }, { "type": "trigger", @@ -104,7 +104,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062" + "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_SetEnteredRoom" }, { "type": "trigger", @@ -113,7 +113,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062" + "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_SetEnteredRoom" }, { "type": "trigger", @@ -122,7 +122,7 @@ "elevation": 0, "var": "VAR_TEMP_3", "var_value": "1", - "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D" + "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_NoTurningBack" } ], "bg_events": [] diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc index 54f11f071e..8255308064 100644 --- a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc @@ -1,272 +1,250 @@ BattleFrontier_BattlePikeThreePathRoom_MapScripts:: @ 825C843 - map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePikeThreePathRoom_MapScript1_2C423E - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C853 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C87D + map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePikeRoom_OnResume + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeThreePathRoom_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeThreePathRoom_OnWarp .byte 0 -BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C853: @ 825C853 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C891 - map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C89A - map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4 - map_script_2 VAR_TEMP_5, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78 - map_script_2 VAR_TEMP_5, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97 +BattleFrontier_BattlePikeThreePathRoom_OnFrame: @ 825C853 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpToLobby + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePikeThreePathRoom_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_5, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_SetHintRoom + map_script_2 VAR_TEMP_5, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_GivePikeQueenHint .2byte 0 -BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C87D: @ 825C87D - map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C887 +BattleFrontier_BattlePikeThreePathRoom_OnWarp: @ 825C87D + map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_TurnPlayerNorth .2byte 0 -BattleFrontier_BattlePikeThreePathRoom_EventScript_25C887:: @ 825C887 +BattleFrontier_BattlePikeThreePathRoom_EventScript_TurnPlayerNorth:: @ 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 - setvar VAR_0x8004, 0 - special CallFrontierUtilFunc +BattleFrontier_BattlePikeThreePathRoom_EventScript_GetChallengeStatus:: @ 825C891 + frontier_getstatus end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25C89A:: @ 825C89A +BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpToLobby:: @ 825C89A warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6 waitstate end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4:: @ 825C8A4 +BattleFrontier_BattlePikeThreePathRoom_EventScript_ResumeChallenge:: @ 825C8A4 lockall - message BattleFrontier_BattlePikeThreePathRoom_Text_25CD75 + message BattleFrontier_BattlePikeThreePathRoom_Text_AwaitingReturnSaveBeforeResume waitmessage - setvar VAR_0x8004, 8 - setvar VAR_0x8005, 1 - special CallBattlePikeFunction + pike_save CHALLENGE_STATUS_SAVING playse SE_SAVE waitse - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_PAUSED, FALSE setvar VAR_TEMP_0, 255 special SavePlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CDDA, MSGBOX_DEFAULT + frontier_setpartyorder FRONTIER_PARTY_SIZE + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_PleaseEnjoyChallenge, MSGBOX_DEFAULT closemessage releaseall - setvar VAR_0x8004, 5 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 99 - special CallFrontierUtilFunc + frontier_settrainers + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 99 end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25C908:: @ 825C908 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc +BattleFrontier_BattlePikeThreePathRoom_EventScript_Attendant:: @ 825C908 + frontier_get FRONTIER_DATA_BATTLE_NUM @ Room number switch VAR_RESULT - case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C968 - case 3, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C978 - case 5, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C988 - case 7, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C998 - case 9, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9A8 - case 11, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9B8 - case 13, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9C8 + case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom1 + case 3, BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom3 + case 5, BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom5 + case 7, BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom7 + case 9, BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom9 + case 11, BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom11 + case 13, BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom13 end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25C968:: @ 825C968 +BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom1:: @ 825C968 lock faceplayer - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CBDD, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom1, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_AskContinueChallenge end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25C978:: @ 825C978 +BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom3:: @ 825C978 lock faceplayer - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC00, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom3, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_AskContinueChallenge end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25C988:: @ 825C988 +BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom5:: @ 825C988 lock faceplayer - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC23, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom5, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_AskContinueChallenge end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25C998:: @ 825C998 +BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom7:: @ 825C998 lock faceplayer - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC46, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom7, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_AskContinueChallenge end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9A8:: @ 825C9A8 +BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom9:: @ 825C9A8 lock faceplayer - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC69, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom9, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_AskContinueChallenge end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9B8:: @ 825C9B8 +BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom11:: @ 825C9B8 lock faceplayer - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC8C, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom11, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_AskContinueChallenge end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9C8:: @ 825C9C8 +BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom13:: @ 825C9C8 lock faceplayer - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCB0, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom13, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_AskContinueChallenge end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8:: @ 825C9D8 - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCD4, MSGBOX_YESNO +BattleFrontier_BattlePikeThreePathRoom_EventScript_AskContinueChallenge:: @ 825C9D8 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_ContinueWithChallenge, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA2A - case 127, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA2A + case NO, BattleFrontier_BattlePikeThreePathRoom_EventScript_AskSaveChallenge + case MULTI_B_PRESSED, BattleFrontier_BattlePikeThreePathRoom_EventScript_AskSaveChallenge release end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD:: @ 825C9FD - setvar VAR_0x8004, 6 - special CallFrontierUtilFunc - message BattleFrontier_BattlePikeThreePathRoom_Text_25CE08 +BattleFrontier_BattlePikeThreePathRoom_EventScript_PauseChallenge:: @ 825C9FD + frontier_saveparty + message BattleFrontier_BattlePikeThreePathRoom_Text_SavingYourData waitmessage special LoadPlayerParty - setvar VAR_0x8004, 8 - setvar VAR_0x8005, 2 - special CallBattlePikeFunction + pike_save CHALLENGE_STATUS_PAUSED playse SE_SAVE waitse - fadescreen 1 - setvar VAR_0x8004, 4 - special CallFrontierUtilFunc + fadescreen FADE_TO_BLACK + frontier_reset end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA2A:: @ 825CA2A - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCFB, MSGBOX_YESNO +BattleFrontier_BattlePikeThreePathRoom_EventScript_AskSaveChallenge:: @ 825CA2A + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_SaveChallengeAndQuit, MSGBOX_YESNO switch VAR_RESULT - case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD - case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A - case 127, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A + case YES, BattleFrontier_BattlePikeThreePathRoom_EventScript_PauseChallenge + case NO, BattleFrontier_BattlePikeThreePathRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattlePikeThreePathRoom_EventScript_AskRetireChallenge release end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A:: @ 825CA5A - message BattleFrontier_BattlePikeThreePathRoom_Text_25CD3C +BattleFrontier_BattlePikeThreePathRoom_EventScript_AskRetireChallenge:: @ 825CA5A + message BattleFrontier_BattlePikeThreePathRoom_Text_RetireFromChallenge waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222 + case 0, BattleFrontier_BattlePike_EventScript_Retire release end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78:: @ 825CA78 - setvar VAR_0x8004, 17 - special CallBattlePikeFunction - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91 +BattleFrontier_BattlePikeThreePathRoom_EventScript_SetHintRoom:: @ 825CA78 + pike_sethintroom + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_SetPikeQueenHint setvar VAR_TEMP_5, 255 end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91:: @ 825CA91 +BattleFrontier_BattlePikeThreePathRoom_EventScript_SetPikeQueenHint:: @ 825CA91 setvar VAR_TEMP_5, 1 end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97:: @ 825CA97 - applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_25CBCE +BattleFrontier_BattlePikeThreePathRoom_EventScript_GivePikeQueenHint:: @ 825CA97 + applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_HintGiverApproachPlayer waitmovement 0 lockall - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D094, MSGBOX_DEFAULT + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_TerrifyingEvent, MSGBOX_DEFAULT releaseall - applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_25CBD5 + applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_HintGiverReturnToPos waitmovement 0 setvar VAR_TEMP_5, 255 end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB:: @ 825CABB - setvar VAR_0x8004, 19 - special CallBattlePikeFunction - compare VAR_RESULT, 4 - goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2 +BattleFrontier_BattlePikeThreePathRoom_EventScript_HintGiver:: @ 825CABB + pike_gethint + compare VAR_RESULT, PIKE_HINT_BRAIN + goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveBrainHint lock faceplayer - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CE69, MSGBOX_YESNO + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_FindingItDifficultToChoose, MSGBOX_YESNO switch VAR_RESULT - case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB0A - case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00 - case 127, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00 + case YES, BattleFrontier_BattlePikeThreePathRoom_EventScript_AcceptHint + case NO, BattleFrontier_BattlePikeThreePathRoom_EventScript_DeclineHint + case MULTI_B_PRESSED, BattleFrontier_BattlePikeThreePathRoom_EventScript_DeclineHint release end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00:: @ 825CB00 - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CEBB, MSGBOX_DEFAULT +BattleFrontier_BattlePikeThreePathRoom_EventScript_DeclineHint:: @ 825CB00 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_ApologizeForImpertinence, MSGBOX_DEFAULT release end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB0A:: @ 825CB0A - setvar VAR_0x8004, 18 - special CallBattlePikeFunction +BattleFrontier_BattlePikeThreePathRoom_EventScript_AcceptHint:: @ 825CB0A + pike_gethintroomid switch VAR_RESULT - case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB39 - case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB46 - case 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB53 + case PIKE_ROOM_LEFT, BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveLeftRoomHint + case PIKE_ROOM_CENTER, BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveCenterRoomHint + case PIKE_ROOM_RIGHT, BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveRightRoomHint end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB39:: @ 825CB39 - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CF64, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60 +BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveLeftRoomHint:: @ 825CB39 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_SomethingAboutLeftPath, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveHint -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB46:: @ 825CB46 - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CF23, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60 +BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveCenterRoomHint:: @ 825CB46 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_SomethingAboutCenterPath, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveHint -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB53:: @ 825CB53 - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CEE3, MSGBOX_DEFAULT - goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60 +BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveRightRoomHint:: @ 825CB53 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_SomethingAboutRightPath, MSGBOX_DEFAULT + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveHint -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60:: @ 825CB60 - setvar VAR_0x8004, 19 - special CallBattlePikeFunction +BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveHint:: @ 825CB60 + pike_gethint switch VAR_RESULT - case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB9A - case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBA4 - case 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBAE - case 3, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBB8 + case PIKE_HINT_NOSTALGIA, BattleFrontier_BattlePikeThreePathRoom_EventScript_HintNostalgia + case PIKE_HINT_WHISPERING, BattleFrontier_BattlePikeThreePathRoom_EventScript_HintWhispering + case PIKE_HINT_POKEMON, BattleFrontier_BattlePikeThreePathRoom_EventScript_HintPokemon + case PIKE_HINT_PEOPLE, BattleFrontier_BattlePikeThreePathRoom_EventScript_HintPeople end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB9A:: @ 825CB9A - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D054, MSGBOX_DEFAULT +BattleFrontier_BattlePikeThreePathRoom_EventScript_HintNostalgia:: @ 825CB9A + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_WaveOfNostaliga, MSGBOX_DEFAULT release end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBA4:: @ 825CBA4 - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D017, MSGBOX_DEFAULT +BattleFrontier_BattlePikeThreePathRoom_EventScript_HintWhispering:: @ 825CBA4 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_HeardWhispering, MSGBOX_DEFAULT release end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBAE:: @ 825CBAE - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CFA3, MSGBOX_DEFAULT +BattleFrontier_BattlePikeThreePathRoom_EventScript_HintPokemon:: @ 825CBAE + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_AromaOfPokemon, MSGBOX_DEFAULT release end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBB8:: @ 825CBB8 - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CFE5, MSGBOX_DEFAULT +BattleFrontier_BattlePikeThreePathRoom_EventScript_HintPeople:: @ 825CBB8 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_PresenceOfPeople, MSGBOX_DEFAULT release end -BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2:: @ 825CBC2 +BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveBrainHint:: @ 825CBC2 lock faceplayer - msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D125, MSGBOX_DEFAULT + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_DreadfulPresence, MSGBOX_DEFAULT release end -BattleFrontier_BattlePikeThreePathRoom_Movement_25CBCE: @ 825CBCE +BattleFrontier_BattlePikeThreePathRoom_Movement_HintGiverApproachPlayer: @ 825CBCE walk_left walk_left walk_down @@ -275,7 +253,7 @@ BattleFrontier_BattlePikeThreePathRoom_Movement_25CBCE: @ 825CBCE walk_down step_end -BattleFrontier_BattlePikeThreePathRoom_Movement_25CBD5: @ 825CBD5 +BattleFrontier_BattlePikeThreePathRoom_Movement_HintGiverReturnToPos: @ 825CBD5 walk_up walk_up walk_up @@ -285,109 +263,107 @@ BattleFrontier_BattlePikeThreePathRoom_Movement_25CBD5: @ 825CBD5 face_down step_end -BattleFrontier_BattlePikeThreePathRoom_Text_25CBDD: @ 825CBDD +BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom1: @ 825CBDD .string "You are currently in\n" .string "the 1st room…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CC00: @ 825CC00 +BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom3: @ 825CC00 .string "You are currently in\n" .string "the 3rd room…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CC23: @ 825CC23 +BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom5: @ 825CC23 .string "You are currently in\n" .string "the 5th room…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CC46: @ 825CC46 +BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom7: @ 825CC46 .string "You are currently in\n" .string "the 7th room…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CC69: @ 825CC69 +BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom9: @ 825CC69 .string "You are currently in\n" .string "the 9th room…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CC8C: @ 825CC8C +BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom11: @ 825CC8C .string "You are currently in\n" .string "the 11th room…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CCB0: @ 825CCB0 +BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom13: @ 825CCB0 .string "You are currently in\n" .string "the 13th room…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CCD4: @ 825CCD4 +BattleFrontier_BattlePikeThreePathRoom_Text_ContinueWithChallenge: @ 825CCD4 .string "Will you continue with\n" .string "your challenge?$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CCFB: @ 825CCFB +BattleFrontier_BattlePikeThreePathRoom_Text_SaveChallengeAndQuit: @ 825CCFB .string "Would you like to save your challenge\n" .string "and quit the game for now?$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CD3C: @ 825CD3C +BattleFrontier_BattlePikeThreePathRoom_Text_RetireFromChallenge: @ 825CD3C .string "Do you wish to retire from your\n" .string "Battle Choice challenge?$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CD75: @ 825CD75 +BattleFrontier_BattlePikeThreePathRoom_Text_AwaitingReturnSaveBeforeResume: @ 825CD75 .string "We've been awaiting your return…\p" .string "Before resuming your Battle Choice\n" .string "challenge, let me save the game…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CDDA: @ 825CDDA +BattleFrontier_BattlePikeThreePathRoom_Text_PleaseEnjoyChallenge: @ 825CDDA .string "Please do enjoy your Battle Choice\n" .string "challenge…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CE08: @ 825CE08 +BattleFrontier_BattlePikeThreePathRoom_Text_SavingYourData: @ 825CE08 .string "I am saving your data…\n" .string "A little time, please…$" -BattleFrontier_BattlePikeRandomRoom1_Text_25CE36: @ 825CE36 -BattleFrontier_BattlePikeRandomRoom3_Text_25CE36: @ 825CE36 -BattleFrontier_BattlePikeThreePathRoom_Text_25CE36: @ 825CE36 +BattleFrontier_BattlePike_Text_PathBlockedNoTurningBack: @ 825CE36 .string "The path is blocked!\n" .string "And there is no turning back…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CE69: @ 825CE69 +BattleFrontier_BattlePikeThreePathRoom_Text_FindingItDifficultToChoose: @ 825CE69 .string "I beg your pardon, but…\p" .string "Are you perhaps finding it difficult\n" .string "to choose your path?$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CEBB: @ 825CEBB +BattleFrontier_BattlePikeThreePathRoom_Text_ApologizeForImpertinence: @ 825CEBB .string "I see…\n" .string "I apologize for my impertinence…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CEE3: @ 825CEE3 +BattleFrontier_BattlePikeThreePathRoom_Text_SomethingAboutRightPath: @ 825CEE3 .string "Ah, let me see… There is something\n" .string "about the path on the right…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CF23: @ 825CF23 +BattleFrontier_BattlePikeThreePathRoom_Text_SomethingAboutCenterPath: @ 825CF23 .string "Ah, let me see… There is something\n" .string "about the path in the center…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CF64: @ 825CF64 +BattleFrontier_BattlePikeThreePathRoom_Text_SomethingAboutLeftPath: @ 825CF64 .string "Ah, let me see… There is something\n" .string "about the path on the left…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CFA3: @ 825CFA3 +BattleFrontier_BattlePikeThreePathRoom_Text_AromaOfPokemon: @ 825CFA3 .string "It seems to have the distinct aroma\n" .string "of POKéMON wafting around it…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25CFE5: @ 825CFE5 +BattleFrontier_BattlePikeThreePathRoom_Text_PresenceOfPeople: @ 825CFE5 .string "Is it… A TRAINER?\n" .string "I sense the presence of people…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25D017: @ 825D017 +BattleFrontier_BattlePikeThreePathRoom_Text_HeardWhispering: @ 825D017 .string "I seem to have heard something…\n" .string "It may have been whispering…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25D054: @ 825D054 +BattleFrontier_BattlePikeThreePathRoom_Text_WaveOfNostaliga: @ 825D054 .string "For some odd reason, I felt a wave\n" .string "of nostalgia coming from it…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25D094: @ 825D094 +BattleFrontier_BattlePikeThreePathRoom_Text_TerrifyingEvent: @ 825D094 .string "I am sorry to say…\p" .string "A terrifying event, yes, a horrible one,\n" .string "is about to befall you…\p" .string "I urge you to pay the utmost care\n" .string "and prepare for the worst…$" -BattleFrontier_BattlePikeThreePathRoom_Text_25D125: @ 825D125 +BattleFrontier_BattlePikeThreePathRoom_Text_DreadfulPresence: @ 825D125 .string "From every path I sense a dreadful\n" .string "presence…$" diff --git a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc deleted file mode 100644 index 4fa8d142aa..0000000000 --- a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc +++ /dev/null @@ -1,764 +0,0 @@ -BattleFrontier_BattlePointExchangeServiceCorner_MapScripts:: @ 825F070 - .byte 0 - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071:: @ 825F071 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F7FA, MSGBOX_DEFAULT - special sub_813A958 - return - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D:: @ 825F07D - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF12, MSGBOX_DEFAULT - special sub_813A988 - release - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A:: @ 825F08A - specialvar VAR_TEMP_1, sub_813AA04 - compare VAR_TEMP_1, VAR_0x8008 - goto_if_ge BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE86, MSGBOX_DEFAULT - compare VAR_TEMP_2, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 - compare VAR_TEMP_2, 1 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E - compare VAR_TEMP_2, 2 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9:: @ 825F0C9 - compare VAR_TEMP_2, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5 - compare VAR_TEMP_2, 1 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5:: @ 825F0E5 - checkdecorspace VAR_0x8009 - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F11D - copyvar VAR_0x8004, VAR_0x8008 - special sub_813A9A4 - givedecoration VAR_0x8009 - special sub_813A8FC - playse SE_REGI - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE45, MSGBOX_DEFAULT - compare VAR_TEMP_2, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F11D:: @ 825F11D - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEB9, MSGBOX_DEFAULT - special sub_813A988 - release - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A:: @ 825F12A - checkitemspace VAR_0x8009, 1 - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F166 - copyvar VAR_0x8004, VAR_0x8008 - special sub_813A9A4 - giveitem VAR_0x8009, 1 - special sub_813A8FC - playse SE_REGI - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE72, MSGBOX_DEFAULT - compare VAR_TEMP_2, 2 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F166:: @ 825F166 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEE3, MSGBOX_DEFAULT - special sub_813A988 - release - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F173:: @ 825F173 - lock - faceplayer - setvar VAR_TEMP_2, 0 - call BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185:: @ 825F185 - setvar VAR_0x8004, 3 - special sub_813AA18 - special sub_813A128 - waitstate - special sub_813AA44 - switch VAR_RESULT - case 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F21E - case 1, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F241 - case 2, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F264 - case 3, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F287 - case 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2AA - case 5, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2CD - case 6, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2F0 - case 7, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F313 - case 8, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F336 - case 9, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F359 - case 10, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D - case 127, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F21E:: @ 825F21E - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8B6, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 - setvar VAR_0x8008, 16 - setvar VAR_0x8009, 75 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F241:: @ 825F241 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8E6, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 - setvar VAR_0x8008, 32 - setvar VAR_0x8009, 103 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F264:: @ 825F264 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F917, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 - setvar VAR_0x8008, 32 - setvar VAR_0x8009, 87 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F287:: @ 825F287 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F949, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 - setvar VAR_0x8008, 48 - setvar VAR_0x8009, 79 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2AA:: @ 825F2AA - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F979, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 - setvar VAR_0x8008, 48 - setvar VAR_0x8009, 84 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2CD:: @ 825F2CD - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9A9, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 - setvar VAR_0x8008, 48 - setvar VAR_0x8009, 85 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2F0:: @ 825F2F0 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9DB, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 - setvar VAR_0x8008, 48 - setvar VAR_0x8009, 86 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F313:: @ 825F313 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA0A, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 - setvar VAR_0x8008, 80 - setvar VAR_0x8009, 80 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F336:: @ 825F336 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA3D, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 - setvar VAR_0x8008, 80 - setvar VAR_0x8009, 81 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F359:: @ 825F359 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA70, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 - setvar VAR_0x8008, 80 - setvar VAR_0x8009, 82 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F37C:: @ 825F37C - lock - faceplayer - setvar VAR_TEMP_2, 1 - call BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E:: @ 825F38E - setvar VAR_0x8004, 4 - special sub_813AA18 - special sub_813A128 - waitstate - special sub_813AA44 - switch VAR_RESULT - case 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F3F0 - case 1, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F413 - case 2, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F436 - case 3, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F459 - case 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F47C - case 5, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D - case 127, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F3F0:: @ 825F3F0 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAA2, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E - setvar VAR_0x8008, 128 - setvar VAR_0x8009, 113 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F413:: @ 825F413 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAD2, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E - setvar VAR_0x8008, 128 - setvar VAR_0x8009, 111 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F436:: @ 825F436 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB03, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E - setvar VAR_0x8008, 256 - setvar VAR_0x8009, 114 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F459:: @ 825F459 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB35, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E - setvar VAR_0x8008, 256 - setvar VAR_0x8009, 115 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F47C:: @ 825F47C - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB68, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E - setvar VAR_0x8008, 256 - setvar VAR_0x8009, 116 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F49F:: @ 825F49F - lock - faceplayer - setvar VAR_TEMP_2, 2 - call BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1:: @ 825F4B1 - setvar VAR_0x8004, 5 - special sub_813AA18 - special sub_813A128 - waitstate - special sub_813AA44 - switch VAR_RESULT - case 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F51E - case 1, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F541 - case 2, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F564 - case 3, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F587 - case 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5AA - case 5, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5CD - case 6, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D - case 127, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F51E:: @ 825F51E - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB9B, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 - setvar VAR_0x8008, 1 - setvar VAR_0x8009, 64 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F541:: @ 825F541 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBC7, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 - setvar VAR_0x8008, 1 - setvar VAR_0x8009, 67 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F564:: @ 825F564 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBF3, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 - setvar VAR_0x8008, 1 - setvar VAR_0x8009, 65 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F587:: @ 825F587 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC1C, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 - setvar VAR_0x8008, 1 - setvar VAR_0x8009, 70 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5AA:: @ 825F5AA - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC45, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 - setvar VAR_0x8008, 1 - setvar VAR_0x8009, 66 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5CD:: @ 825F5CD - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC70, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 - setvar VAR_0x8008, 1 - setvar VAR_0x8009, 63 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5F0:: @ 825F5F0 - lock - faceplayer - setvar VAR_TEMP_2, 3 - call BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602:: @ 825F602 - setvar VAR_0x8004, 6 - special sub_813AA18 - special sub_813A128 - waitstate - special sub_813AA44 - switch VAR_RESULT - case 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F690 - case 1, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6B3 - case 2, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6D6 - case 3, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6F9 - case 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F71C - case 5, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F73F - case 6, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F762 - case 7, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F785 - case 8, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7A8 - case 9, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D - case 127, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F690:: @ 825F690 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE17, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 - setvar VAR_0x8008, 48 - setvar VAR_0x8009, 200 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6B3:: @ 825F6B3 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCCB, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 - setvar VAR_0x8008, 48 - setvar VAR_0x8009, 180 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6D6:: @ 825F6D6 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCFA, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 - setvar VAR_0x8008, 48 - setvar VAR_0x8009, 183 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6F9:: @ 825F6F9 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD29, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 - setvar VAR_0x8008, 48 - setvar VAR_0x8009, 185 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F71C:: @ 825F71C - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC9A, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 - setvar VAR_0x8008, 64 - setvar VAR_0x8009, 179 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F73F:: @ 825F73F - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD59, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 - setvar VAR_0x8008, 64 - setvar VAR_0x8009, 186 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F762:: @ 825F762 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD89, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 - setvar VAR_0x8008, 64 - setvar VAR_0x8009, 187 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F785:: @ 825F785 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDB9, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 - setvar VAR_0x8008, 64 - setvar VAR_0x8009, 196 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7A8:: @ 825F7A8 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDE8, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 - setvar VAR_0x8008, 64 - setvar VAR_0x8009, 198 - goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7CB:: @ 825F7CB - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_260099, MSGBOX_NPC - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7D4:: @ 825F7D4 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_26002E, MSGBOX_NPC - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7DD:: @ 825F7DD - lock - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FFD0, MSGBOX_DEFAULT - release - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7E8:: @ 825F7E8 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF5D, MSGBOX_NPC - end - -BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7F1:: @ 825F7F1 - msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_26012D, MSGBOX_NPC - end - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25F7FA: @ 825F7FA - .string "Hello, this is the EXCHANGE SERVICE\n" - .string "CORNER.\p" - .string "We exchange the Battle Points you\n" - .string "have collected for lovely prizes.\p" - .string "Please choose a prize from this list.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25F890: @ 825F890 - .string "Please choose a prize from this list.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8B6: @ 825F8B6 - .string "You've chosen the KISS POSTER.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8E6: @ 825F8E6 - .string "You've chosen the KISS CUSHION.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25F917: @ 825F917 - .string "You've chosen the SMOOCHUM DOLL.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25F949: @ 825F949 - .string "You've chosen the TOGEPI DOLL.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25F979: @ 825F979 - .string "You've chosen the MEOWTH DOLL.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9A9: @ 825F9A9 - .string "You've chosen the CLEFAIRY DOLL.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9DB: @ 825F9DB - .string "You've chosen the DITTO DOLL.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA0A: @ 825FA0A - .string "You've chosen the CYNDAQUIL DOLL.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA3D: @ 825FA3D - .string "You've chosen the CHIKORITA DOLL.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA70: @ 825FA70 - .string "You've chosen the TOTODILE DOLL.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAA2: @ 825FAA2 - .string "You've chosen the LAPRAS DOLL.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAD2: @ 825FAD2 - .string "You've chosen the SNORLAX DOLL.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB03: @ 825FB03 - .string "You've chosen the VENUSAUR DOLL.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB35: @ 825FB35 - .string "You've chosen the CHARIZARD DOLL.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB68: @ 825FB68 - .string "You've chosen the BLASTOISE DOLL.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB9B: @ 825FB9B - .string "You've chosen the PROTEIN.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBC7: @ 825FBC7 - .string "You've chosen the CALCIUM.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBF3: @ 825FBF3 - .string "You've chosen the IRON.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC1C: @ 825FC1C - .string "You've chosen the ZINC.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC45: @ 825FC45 - .string "You've chosen the CARBOS.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC70: @ 825FC70 - .string "You've chosen the HP UP.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC9A: @ 825FC9A - .string "You've chosen the BRIGHTPOWDER.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCCB: @ 825FCCB - .string "You've chosen the WHITE HERB.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCFA: @ 825FCFA - .string "You've chosen the QUICK CLAW.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD29: @ 825FD29 - .string "You've chosen the MENTAL HERB.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD59: @ 825FD59 - .string "You've chosen the CHOICE BAND.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD89: @ 825FD89 - .string "You've chosen the KING'S ROCK.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDB9: @ 825FDB9 - .string "You've chosen the FOCUS BAND.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDE8: @ 825FDE8 - .string "You've chosen the SCOPE LENS.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE17: @ 825FE17 - .string "You've chosen the LEFTOVERS.\n" - .string "Is that correct?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE45: @ 825FE45 - .string "Thank you!\n" - .string "We'll send it to your PC at home.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE72: @ 825FE72 - .string "Here is your prize!$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE86: @ 825FE86 - .string "I'm so sorry…\n" - .string "You don't have enough Battle Points…$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEB9: @ 825FEB9 - .string "I'm so sorry…\n" - .string "Your PC appears to be full…$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEE3: @ 825FEE3 - .string "I'm so sorry…\n" - .string "You don't have space to hold it…$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF12: @ 825FF12 - .string "Thank you very much.\p" - .string "Please visit us when you have\n" - .string "saved up Battle Points.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF5D: @ 825FF5D - .string "Oh, they're so nice!\n" - .string "I wish I had them!\l" - .string "Cute cushions!\l" - .string "Big plush DOLLS!\l" - .string "Little plush DOLLS!\l" - .string "I wish I had them all!$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_25FFD0: @ 825FFD0 - .string "Leave it to your mommy!\p" - .string "If it's anything you want, I'll go\n" - .string "through anything to get it, honey!$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_26002E: @ 826002E - .string "If I can get hold of the items here,\n" - .string "my POKéMON will get tougher.\p" - .string "You bet they will!\n" - .string "No question about it!$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_260099: @ 8260099 - .string "Hah?\n" - .string "What are you gawking at?\p" - .string "I don't like you staring at my plush\n" - .string "doll like that.\p" - .string "If you want it, go get one yourself!\n" - .string "Isn't that right, SMOOCHUM?$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_26012D: @ 826012D - .string "Did you know?\p" - .string "If you stretch your record at any of\n" - .string "the BATTLE facilities, they start\l" - .string "giving you more and more Battle Points.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA:: @ 82601AA - .string "A large poster with a SMOOCHUM print.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0:: @ 82601D0 - .string "A SMOOCHUM cushion.\n" - .string "Place it on a mat or a desk.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_260201:: @ 8260201 - .string "A SMOOCHUM DOLL.\n" - .string "Place it on a mat or a desk.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F:: @ 826022F - .string "A TOGEPI DOLL.\n" - .string "Place it on a mat or a desk.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B:: @ 826025B - .string "A MEOWTH DOLL.\n" - .string "Place it on a mat or a desk.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_260287:: @ 8260287 - .string "A CLEFAIRY DOLL.\n" - .string "Place it on a mat or a desk.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5:: @ 82602B5 - .string "A DITTO DOLL.\n" - .string "Place it on a mat or a desk.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0:: @ 82602E0 - .string "A CYNDAQUIL DOLL.\n" - .string "Place it on a mat or a desk.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F:: @ 826030F - .string "A CHIKORITA DOLL.\n" - .string "Place it on a mat or a desk.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E:: @ 826033E - .string "A TOTODILE DOLL.\n" - .string "Place it on a mat or a desk.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C:: @ 826036C - .string "A large DOLL.\n" - .string "Place it on a mat or a desk.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_260397:: @ 8260397 - .string "Raises the stat ATTACK of one\n" - .string "POKéMON.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE:: @ 82603BE - .string "Raises the stat SP. ATK of one\n" - .string "POKéMON.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6:: @ 82603E6 - .string "Raises the stat DEFENSE of one\n" - .string "POKéMON.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E:: @ 826040E - .string "Raises the stat SP. DEF of one\n" - .string "POKéMON.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_260436:: @ 8260436 - .string "Raises the stat SPEED of one\n" - .string "POKéMON.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C:: @ 826045C - .string "Raises the HP of one POKéMON.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A:: @ 826047A - .string "A hold item that gradually restores\n" - .string "HP in battle.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC:: @ 82604AC - .string "A hold item that restores any\n" - .string "lowered stat.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8:: @ 82604D8 - .string "A hold item that occasionally allows\n" - .string "the first strike.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F:: @ 826050F - .string "A hold item that snaps POKéMON out\n" - .string "of infatuation.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_260542:: @ 8260542 - .string "A hold item that casts a glare to\n" - .string "reduce accuracy.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_260575:: @ 8260575 - .string "Raises a move's power, but permits\n" - .string "only that move.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8:: @ 82605A8 - .string "A hold item that may cause flinching\n" - .string "when the foe is hit.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2:: @ 82605E2 - .string "A hold item that occasionally\n" - .string "prevents fainting.$" - -BattleFrontier_BattlePointExchangeServiceCorner_Text_260613:: @ 8260613 - .string "A hold item that raises the\n" - .string "critical-hit rate.$" diff --git a/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.json b/data/maps/BattleFrontier_BattlePyramidFloor/map.json similarity index 97% rename from data/maps/BattleFrontier_BattlePyramidEmptySquare/map.json rename to data/maps/BattleFrontier_BattlePyramidFloor/map.json index 3f4739b26b..2b3baf4252 100644 --- a/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.json +++ b/data/maps/BattleFrontier_BattlePyramidFloor/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE", - "name": "BattleFrontier_BattlePyramidEmptySquare", - "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE", + "id": "MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR", + "name": "BattleFrontier_BattlePyramidFloor", + "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR", "music": "MUS_NONE", "region_map_section": "MAPSEC_BATTLE_FRONTIER", "requires_flash": false, diff --git a/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc b/data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc similarity index 58% rename from data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc rename to data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc index 723c666d81..f590ff8900 100644 --- a/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc @@ -1,161 +1,120 @@ -BattleFrontier_BattlePyramidEmptySquare_MapScripts:: @ 8252A33 - map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePyramidEmptySquare_MapScript2_252A43 - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePyramidEmptySquare_MapScript1_252BCA +BattleFrontier_BattlePyramidFloor_MapScripts:: @ 8252A33 + map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePyramidFloor_OnResume + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePyramidFloor_OnFrame + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePyramidFloor_OnTransition .byte 0 -BattleFrontier_BattlePyramidEmptySquare_MapScript2_252A43: @ 8252A43 - map_script_2 VAR_TEMP_D, 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A5D - map_script_2 VAR_TEMP_E, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A98 - map_script_2 VAR_TEMP_F, 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A8F +BattleFrontier_BattlePyramidFloor_OnFrame: @ 8252A43 + map_script_2 VAR_TEMP_D, 1, BattleFrontier_BattlePyramidFloor_EventScript_UpdateLight + map_script_2 VAR_TEMP_E, 0, BattleFrontier_BattlePyramidFloor_EventScript_PlayPyramidMusic + map_script_2 VAR_TEMP_F, 1, BattleFrontier_BattlePyramidFloor_EventScript_ShowMapName .2byte 0 -BattleFrontier_BattlePyramidEmptySquare_EventScript_252A5D:: @ 8252A5D +BattleFrontier_BattlePyramidFloor_EventScript_UpdateLight:: @ 8252A5D lockall - setvar VAR_0x8004, 13 + @ pyramid_updatelight, cant use macro because it straddles the loop + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_UPDATE_LIGHT setvar VAR_0x8005, 4 - setvar VAR_0x8006, 1 - setvar VAR_0x8007, 55 + setvar VAR_0x8006, PYRAMID_LIGHT_INCR_RADIUS + setvar VAR_0x8007, SE_SAVE setvar VAR_RESULT, 0 - -BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77:: @ 8252A77 +BattleFrontier_BattlePyramidFloor_EventScript_UpdateLightLoop:: @ 8252A77 special CallBattlePyramidFunction delay 2 compare VAR_RESULT, 2 - goto_if_ne BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77 + goto_if_ne BattleFrontier_BattlePyramidFloor_EventScript_UpdateLightLoop setvar VAR_TEMP_D, 0 releaseall end -BattleFrontier_BattlePyramidEmptySquare_EventScript_252A8F:: @ 8252A8F +BattleFrontier_BattlePyramidFloor_EventScript_ShowMapName:: @ 8252A8F special ShowMapNamePopup setvar VAR_TEMP_F, 0 end -BattleFrontier_BattlePyramidEmptySquare_EventScript_252A98:: @ 8252A98 +BattleFrontier_BattlePyramidFloor_EventScript_PlayPyramidMusic:: @ 8252A98 playbgm MUS_PYRAMID, 0 setvar VAR_TEMP_E, 1 end -BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2 - setvar VAR_0x8004, 15 - special CallBattlePyramidFunction - setvar VAR_0x8004, 0 - special CallFrontierUtilFunc +BattleFrontier_BattlePyramidFloor_OnResume: @ 8252AA2 + pyramid_setfloorpal + frontier_getstatus switch VAR_TEMP_0 - case 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D - case 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B66 - case 2, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 5 - special CallFrontierUtilFunc - compare VAR_RESULT, 4 - goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39 - compare VAR_RESULT, 5 - goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39 + case 0, BattleFrontier_BattlePyramidFloor_EventScript_ReadyChallenge + case CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramid_EventScript_WarpToLobby + case CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidFloor_EventScript_ReadyChallenge + frontier_get FRONTIER_DATA_BATTLE_OUTCOME + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq BattleFrontier_BattlePyramidFloor_EventScript_ResetParty + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq BattleFrontier_BattlePyramidFloor_EventScript_ResetParty compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39 - compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42 - compare VAR_RESULT, 3 - goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42 - compare VAR_RESULT, 9 - goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42 - setvar VAR_0x8004, 14 - setvar VAR_0x8005, 8 - special CallFrontierUtilFunc + goto_if_eq BattleFrontier_BattlePyramidFloor_EventScript_ResetParty + compare VAR_RESULT, B_OUTCOME_LOST + goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost + compare VAR_RESULT, B_OUTCOME_DREW + goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost + compare VAR_RESULT, B_OUTCOME_FORFEITED + goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost + frontier_isbattletype BATTLE_TYPE_TRAINER @ VAR_RESULT seems to be ignored here setvar VAR_TEMP_D, 1 - -BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39:: @ 8252B39 - setvar VAR_0x8004, 17 - special CallBattlePyramidFunction +BattleFrontier_BattlePyramidFloor_EventScript_ResetParty:: @ 8252B39 + pyramid_resetparty end -BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42:: @ 8252B42 -BattleFrontier_BattlePyramidTop_EventScript_252B42:: @ 8252B42 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 4 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 7 - setvar VAR_0x8006, 255 - special CallBattlePyramidFunction - -BattleFrontier_BattlePyramidEmptySquare_EventScript_252B66:: @ 8252B66 -BattleFrontier_BattlePyramidTop_EventScript_252B66:: @ 8252B66 - setvar VAR_0x8004, 13 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallBattlePyramidFunction - setvar VAR_0x8004, 14 - special CallBattlePyramidFunction +BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost:: @ 8252B42 + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST + pyramid_set PYRAMID_DATA_TRAINER_FLAGS, 255 +BattleFrontier_BattlePyramid_EventScript_WarpToLobby:: @ 8252B66 + pyramid_updatelight 0, PYRAMID_LIGHT_SET_RADIUS + pyramid_clearhelditems special HealPlayerParty warpsilent MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13 waitstate end -BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D:: @ 8252B8D - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 1 - special CallBattlePyramidFunction +BattleFrontier_BattlePyramidFloor_EventScript_ReadyChallenge:: @ 8252B8D + pyramid_save CHALLENGE_STATUS_SAVING special SavePlayerParty - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - setvar VAR_0x8004, 9 - special CallBattlePyramidFunction - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 + pyramid_settrainers + frontier_setpartyorder FRONTIER_PARTY_SIZE setvar VAR_TEMP_F, 1 end -BattleFrontier_BattlePyramidEmptySquare_MapScript1_252BCA: @ 8252BCA - call BattleFrontier_BattlePyramidEmptySquare_EventScript_252BD5 +BattleFrontier_BattlePyramidFloor_OnTransition: @ 8252BCA + call BattleFrontier_BattlePyramidFloor_EventScript_SetLightRadius setvar VAR_TEMP_F, 1 end -BattleFrontier_BattlePyramidEmptySquare_EventScript_252BD5:: @ 8252BD5 - setvar VAR_0x8004, 13 - setvar VAR_0x8005, 32 - setvar VAR_0x8006, 0 - special CallBattlePyramidFunction +BattleFrontier_BattlePyramidFloor_EventScript_SetLightRadius:: @ 8252BD5 + pyramid_updatelight 32, PYRAMID_LIGHT_SET_RADIUS return -BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8:: @ 8252BE8 - call BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc +BattlePyramid_WarpToNextFloor:: @ 8252BE8 + call BattleFrontier_EventScript_IncrementWinStreak + frontier_get FRONTIER_DATA_BATTLE_NUM @ Floor number addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT compare VAR_RESULT, 7 - goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45 - setvar VAR_0x8004, 6 - special CallBattlePyramidFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + goto_if_eq BattlePyramid_WarpToTop + pyramid_seedfloor + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 setvar VAR_RESULT, 0 - warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE, 255, 1, 1 + warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR, 255, 1, 1 waitstate end -BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45:: @ 8252C45 +BattlePyramid_WarpToTop:: @ 8252C45 warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP, 255, 17, 17 waitstate end +@ TRAINER_PHILLIP is used as a placeholder BattlePyramid_TrainerBattle:: @ 8252C4F trainerbattle TRAINER_BATTLE_PYRAMID, TRAINER_PHILLIP, 0, BattleFacility_TrainerBattle_PlaceholderText, BattleFacility_TrainerBattle_PlaceholderText - setvar VAR_0x8004, 10 - special CallBattlePyramidFunction + pyramid_showhint waitmessage waitbuttonpress closemessage @@ -163,20 +122,18 @@ BattlePyramid_TrainerBattle:: @ 8252C4F end BattlePyramid_FindItemBall:: @ 8252C6A - setvar VAR_0x8004, 7 - special CallBattlePyramidFunction + pyramid_setitem callstd STD_FIND_ITEM compare VAR_0x8007, 0 - goto_if_eq BattlePyramid_FindItemBall_End - setvar VAR_0x8004, 8 - special CallBattlePyramidFunction - -BattlePyramid_FindItemBall_End:: @ 8252C87 + goto_if_eq BattlePyramid_FindItemBallEnd + pyramid_hideitem +BattlePyramid_FindItemBallEnd:: @ 8252C87 end -BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88:: @ 8252C88 - goto BattleFrontier_BattlePyramidTop_EventScript_252B42 +BattlePyramid_Retire:: @ 8252C88 + goto BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost +@ Also used by Trainer Hill BattleFacility_TrainerBattle_PlaceholderText: @ 8252C8D .string "This is a sample message.$" @@ -189,595 +146,595 @@ gText_BattlePyramidConfirmRetire:: @ 8252CFB .string "Are you sure you want to quit your\n" .string "PYRAMID quest?$" -BattlePyramid_ExitHintUp_Text1:: @ 8252D2D +BattlePyramid_Text_ExitHintUp1:: @ 8252D2D .string "This floor's exit is in\n" .string "that direction: {UP_ARROW}$" -BattlePyramid_ExitHintLeft_Text1:: @ 8252D57 +BattlePyramid_Text_ExitHintLeft1:: @ 8252D57 .string "This floor's exit is in\n" .string "that direction: {LEFT_ARROW}$" -BattlePyramid_ExitHintRight_Text1:: @ 8252D81 +BattlePyramid_Text_ExitHintRight1:: @ 8252D81 .string "This floor's exit is in\n" .string "that direction: {RIGHT_ARROW}$" -BattlePyramid_ExitHintDown_Text1:: @ 8252DAB +BattlePyramid_Text_ExitHintDown1:: @ 8252DAB .string "This floor's exit is in\n" .string "that direction: {DOWN_ARROW}$" -BattlePyramid_ExitHintUp_Text2:: @ 8252DD5 +BattlePyramid_Text_ExitHintUp2:: @ 8252DD5 .string "The exit on this floor is in\n" .string "the {UP_ARROW} direction.$" -BattlePyramid_ExitHintLeft_Text2:: @ 8252E03 +BattlePyramid_Text_ExitHintLeft2:: @ 8252E03 .string "The exit on this floor is in\n" .string "the {LEFT_ARROW} direction.$" -BattlePyramid_ExitHintRight_Text2:: @ 8252E31 +BattlePyramid_Text_ExitHintRight2:: @ 8252E31 .string "The exit on this floor is in\n" .string "the {RIGHT_ARROW} direction.$" -BattlePyramid_ExitHintDown_Text2:: @ 8252E5F +BattlePyramid_Text_ExitHintDown2:: @ 8252E5F .string "The exit on this floor is in\n" .string "the {DOWN_ARROW} direction.$" -BattlePyramid_ExitHintUp_Text3:: @ 8252E8D +BattlePyramid_Text_ExitHintUp3:: @ 8252E8D .string "The exit is over\n" .string "that {UP_ARROW} way.$" -BattlePyramid_ExitHintLeft_Text3:: @ 8252EAA +BattlePyramid_Text_ExitHintLeft3:: @ 8252EAA .string "The exit is over\n" .string "that {LEFT_ARROW} way.$" -BattlePyramid_ExitHintRight_Text3:: @ 8252EC7 +BattlePyramid_Text_ExitHintRight3:: @ 8252EC7 .string "The exit is over\n" .string "that {RIGHT_ARROW} way.$" -BattlePyramid_ExitHintDown_Text3:: @ 8252EE4 +BattlePyramid_Text_ExitHintDown3:: @ 8252EE4 .string "The exit is over\n" .string "that {DOWN_ARROW} way.$" -BattlePyramid_ExitHintUp_Text4:: @ 8252F01 +BattlePyramid_Text_ExitHintUp4:: @ 8252F01 .string "On this floor, the exit is somewhere\n" .string "in the {UP_ARROW} direction.$" -BattlePyramid_ExitHintLeft_Text4:: @ 8252F3A +BattlePyramid_Text_ExitHintLeft4:: @ 8252F3A .string "On this floor, the exit is somewhere\n" .string "in the {LEFT_ARROW} direction.$" -BattlePyramid_ExitHintRight_Text4:: @ 8252F73 +BattlePyramid_Text_ExitHintRight4:: @ 8252F73 .string "On this floor, the exit is somewhere\n" .string "in the {RIGHT_ARROW} direction.$" -BattlePyramid_ExitHintDown_Text4:: @ 8252FAC +BattlePyramid_Text_ExitHintDown4:: @ 8252FAC .string "On this floor, the exit is somewhere\n" .string "in the {DOWN_ARROW} direction.$" -BattlePyramid_ExitHintUp_Text5:: @ 8252FE5 +BattlePyramid_Text_ExitHintUp5:: @ 8252FE5 .string "The exit?\n" .string "It's that {UP_ARROW} way.$" -BattlePyramid_ExitHintLeft_Text5:: @ 8253000 +BattlePyramid_Text_ExitHintLeft5:: @ 8253000 .string "The exit?\n" .string "It's that {LEFT_ARROW} way.$" -BattlePyramid_ExitHintRight_Text5:: @ 825301B +BattlePyramid_Text_ExitHintRight5:: @ 825301B .string "The exit?\n" .string "It's that {RIGHT_ARROW} way.$" -BattlePyramid_ExitHintDown_Text5:: @ 8253036 +BattlePyramid_Text_ExitHintDown5:: @ 8253036 .string "The exit?\n" .string "It's that {DOWN_ARROW} way.$" -BattlePyramid_ExitHintUp_Text6:: @ 8253051 +BattlePyramid_Text_ExitHintUp6:: @ 8253051 .string "The exit happens to be in\n" .string "the {UP_ARROW} direction.$" -BattlePyramid_ExitHintLeft_Text6:: @ 825307C +BattlePyramid_Text_ExitHintLeft6:: @ 825307C .string "The exit happens to be in\n" .string "the {LEFT_ARROW} direction.$" -BattlePyramid_ExitHintRight_Text6:: @ 82530A7 +BattlePyramid_Text_ExitHintRight6:: @ 82530A7 .string "The exit happens to be in\n" .string "the {RIGHT_ARROW} direction.$" -BattlePyramid_ExitHintDown_Text6:: @ 82530D2 +BattlePyramid_Text_ExitHintDown6:: @ 82530D2 .string "The exit happens to be in\n" .string "the {DOWN_ARROW} direction.$" -BattlePyramid_EightItemsRemaining_Text1:: @ 82530FD +BattlePyramid_Text_EightItemsRemaining1:: @ 82530FD .string "Are you looking for items?\p" .string "There are eight items left to\n" .string "be found.$" -BattlePyramid_SevenItemsRemaining_Text1:: @ 8253140 +BattlePyramid_Text_SevenItemsRemaining1:: @ 8253140 .string "Are you looking for items?\p" .string "There are seven items left to\n" .string "be found.$" -BattlePyramid_SixItemsRemaining_Text1:: @ 8253183 +BattlePyramid_Text_SixItemsRemaining1:: @ 8253183 .string "Are you looking for items?\p" .string "There are six items left to\n" .string "be found.$" -BattlePyramid_FiveItemsRemaining_Text1:: @ 82531C4 +BattlePyramid_Text_FiveItemsRemaining1:: @ 82531C4 .string "Are you looking for items?\p" .string "There are five items left to\n" .string "be found.$" -BattlePyramid_FourItemsRemaining_Text1:: @ 8253206 +BattlePyramid_Text_FourItemsRemaining1:: @ 8253206 .string "Are you looking for items?\p" .string "There are four items left to\n" .string "be found.$" -BattlePyramid_ThreeItemsRemaining_Text1:: @ 8253248 +BattlePyramid_Text_ThreeItemsRemaining1:: @ 8253248 .string "Are you looking for items?\p" .string "There are three items left to\n" .string "be found.$" -BattlePyramid_TwoItemsRemaining_Text1:: @ 825328B +BattlePyramid_Text_TwoItemsRemaining1:: @ 825328B .string "Are you looking for items?\p" .string "There are two items left to\n" .string "be found.$" -BattlePyramid_OneItemRemaining_Text1:: @ 82532CC +BattlePyramid_Text_OneItemRemaining1:: @ 82532CC .string "Are you looking for items?\p" .string "There is one item left to\n" .string "be found.$" -BattlePyramid_ZeroItemsRemaining_Text1:: @ 825330B +BattlePyramid_Text_ZeroItemsRemaining1:: @ 825330B .string "Are you looking for items?\p" .string "There isn't anything left to\n" .string "be found!$" -BattlePyramid_EightItemsRemaining_Text2:: @ 825334D +BattlePyramid_Text_EightItemsRemaining2:: @ 825334D .string "Because you won, I'll tell you\n" .string "a little secret!\p" .string "There are eight items\n" .string "lying around here.$" -BattlePyramid_SevenItemsRemaining_Text2:: @ 82533A6 +BattlePyramid_Text_SevenItemsRemaining2:: @ 82533A6 .string "Because you won, I'll tell you\n" .string "a little secret!\p" .string "There are seven items left\n" .string "lying around here.$" -BattlePyramid_SixItemsRemaining_Text2:: @ 8253404 +BattlePyramid_Text_SixItemsRemaining2:: @ 8253404 .string "Because you won, I'll tell you\n" .string "a little secret!\p" .string "There are six items left\n" .string "lying around here.$" -BattlePyramid_FiveItemsRemaining_Text2:: @ 8253460 +BattlePyramid_Text_FiveItemsRemaining2:: @ 8253460 .string "Because you won, I'll tell you\n" .string "a little secret!\p" .string "There are five items left\n" .string "lying around here.$" -BattlePyramid_FourItemsRemaining_Text2:: @ 82534BD +BattlePyramid_Text_FourItemsRemaining2:: @ 82534BD .string "Because you won, I'll tell you\n" .string "a little secret!\p" .string "There are four items left\n" .string "lying around here.$" -BattlePyramid_ThreeItemsRemaining_Text2:: @ 825351A +BattlePyramid_Text_ThreeItemsRemaining2:: @ 825351A .string "Because you won, I'll tell you\n" .string "a little secret!\p" .string "There are three items left\n" .string "lying around here.$" -BattlePyramid_TwoItemsRemaining_Text2:: @ 8253578 +BattlePyramid_Text_TwoItemsRemaining2:: @ 8253578 .string "Because you won, I'll tell you\n" .string "a little secret!\p" .string "There are two items left\n" .string "lying around here.$" -BattlePyramid_OneItemRemaining_Text2:: @ 82535D4 +BattlePyramid_Text_OneItemRemaining2:: @ 82535D4 .string "Because you won, I'll tell you\n" .string "a little secret!\p" .string "There is just one item\n" .string "lying around here.$" -BattlePyramid_ZeroItemsRemaining_Text2:: @ 825362E +BattlePyramid_Text_ZeroItemsRemaining2:: @ 825362E .string "Because you won, I'll tell you\n" .string "a little secret!\p" .string "There isn't anything left\n" .string "lying around here.$" -BattlePyramid_EightItemsRemaining_Text3:: @ 825368B +BattlePyramid_Text_EightItemsRemaining3:: @ 825368B .string "How's your stock of items holding up?\p" .string "I reckon there are eight items left\n" .string "waiting to be found on this floor.$" -BattlePyramid_SevenItemsRemaining_Text3:: @ 82536F8 +BattlePyramid_Text_SevenItemsRemaining3:: @ 82536F8 .string "How's your stock of items holding up?\p" .string "I reckon there are seven items left\n" .string "waiting to be found on this floor.$" -BattlePyramid_SixItemsRemaining_Text3:: @ 8253765 +BattlePyramid_Text_SixItemsRemaining3:: @ 8253765 .string "How's your stock of items holding up?\p" .string "I reckon there are six items left\n" .string "waiting to be found on this floor.$" -BattlePyramid_FiveItemsRemaining_Text3:: @ 82537D0 +BattlePyramid_Text_FiveItemsRemaining3:: @ 82537D0 .string "How's your stock of items holding up?\p" .string "I reckon there are five items left\n" .string "waiting to be found on this floor.$" -BattlePyramid_FourItemsRemaining_Text3:: @ 825383C +BattlePyramid_Text_FourItemsRemaining3:: @ 825383C .string "How's your stock of items holding up?\p" .string "I reckon there are four items left\n" .string "waiting to be found on this floor.$" -BattlePyramid_ThreeItemsRemaining_Text3:: @ 82538A8 +BattlePyramid_Text_ThreeItemsRemaining3:: @ 82538A8 .string "How's your stock of items holding up?\p" .string "I reckon there are three items left\n" .string "waiting to be found on this floor.$" -BattlePyramid_TwoItemsRemaining_Text3:: @ 8253915 +BattlePyramid_Text_TwoItemsRemaining3:: @ 8253915 .string "How's your stock of items holding up?\p" .string "I reckon there are two items left\n" .string "waiting to be found on this floor.$" -BattlePyramid_OneItemRemaining_Text3:: @ 8253980 +BattlePyramid_Text_OneItemRemaining3:: @ 8253980 .string "How's your stock of items holding up?\p" .string "I reckon there's but one item left\n" .string "waiting to be found on this floor.$" -BattlePyramid_ZeroItemsRemaining_Text3:: @ 82539EC +BattlePyramid_Text_ZeroItemsRemaining3:: @ 82539EC .string "How's your stock of items holding up?\p" .string "I reckon there are no more items\n" .string "waiting to be found on this floor.\l" .string "You take care now!$" -BattlePyramid_EightItemsRemaining_Text4:: @ 8253A69 +BattlePyramid_Text_EightItemsRemaining4:: @ 8253A69 .string "You're strong, so you've earned\n" .string "a hint!\p" .string "There appear to be eight more\n" .string "items on the ground.$" -BattlePyramid_SevenItemsRemaining_Text4:: @ 8253AC4 +BattlePyramid_Text_SevenItemsRemaining4:: @ 8253AC4 .string "You're strong, so you've earned\n" .string "a hint!\p" .string "There appear to be seven more\n" .string "items on the ground.$" -BattlePyramid_SixItemsRemaining_Text4:: @ 8253B1F +BattlePyramid_Text_SixItemsRemaining4:: @ 8253B1F .string "You're strong, so you've earned\n" .string "a hint!\p" .string "There appear to be six more\n" .string "items on the ground.$" -BattlePyramid_FiveItemsRemaining_Text4:: @ 8253B78 +BattlePyramid_Text_FiveItemsRemaining4:: @ 8253B78 .string "You're strong, so you've earned\n" .string "a hint!\p" .string "There appear to be five more\n" .string "items on the ground.$" -BattlePyramid_FourItemsRemaining_Text4:: @ 8253BD2 +BattlePyramid_Text_FourItemsRemaining4:: @ 8253BD2 .string "You're strong, so you've earned\n" .string "a hint!\p" .string "There appear to be four more\n" .string "items on the ground.$" -BattlePyramid_ThreeItemsRemaining_Text4:: @ 8253C2C +BattlePyramid_Text_ThreeItemsRemaining4:: @ 8253C2C .string "You're strong, so you've earned\n" .string "a hint!\p" .string "There appear to be three more\n" .string "items on the ground.$" -BattlePyramid_TwoItemsRemaining_Text4:: @ 8253C87 +BattlePyramid_Text_TwoItemsRemaining4:: @ 8253C87 .string "You're strong, so you've earned\n" .string "a hint!\p" .string "There appear to be two more\n" .string "items on the ground.$" -BattlePyramid_OneItemRemaining_Text4:: @ 8253CE0 +BattlePyramid_Text_OneItemRemaining4:: @ 8253CE0 .string "You're strong, so you've earned\n" .string "a hint!\p" .string "There appears to be only one more\n" .string "item on the ground.$" -BattlePyramid_ZeroItemsRemaining_Text4:: @ 8253D3E +BattlePyramid_Text_ZeroItemsRemaining4:: @ 8253D3E .string "You're strong, so you've earned\n" .string "a hint!\p" .string "There appear to be no more\n" .string "items on the ground.$" -BattlePyramid_EightItemsRemaining_Text5:: @ 8253D96 +BattlePyramid_Text_EightItemsRemaining5:: @ 8253D96 .string "On this floor of the PYRAMID,\n" .string "I hear there are eight items…$" -BattlePyramid_SevenItemsRemaining_Text5:: @ 8253DD2 +BattlePyramid_Text_SevenItemsRemaining5:: @ 8253DD2 .string "On this floor of the PYRAMID,\n" .string "I hear there are seven items…$" -BattlePyramid_SixItemsRemaining_Text5:: @ 8253E0E +BattlePyramid_Text_SixItemsRemaining5:: @ 8253E0E .string "On this floor of the PYRAMID,\n" .string "I hear there are six items…$" -BattlePyramid_FiveItemsRemaining_Text5:: @ 8253E48 +BattlePyramid_Text_FiveItemsRemaining5:: @ 8253E48 .string "On this floor of the PYRAMID,\n" .string "I hear there are five items…$" -BattlePyramid_FourItemsRemaining_Text5:: @ 8253E83 +BattlePyramid_Text_FourItemsRemaining5:: @ 8253E83 .string "On this floor of the PYRAMID,\n" .string "I hear there are four items…$" -BattlePyramid_ThreeItemsRemaining_Text5:: @ 8253EBE +BattlePyramid_Text_ThreeItemsRemaining5:: @ 8253EBE .string "On this floor of the PYRAMID,\n" .string "I hear there are three items…$" -BattlePyramid_TwoItemsRemaining_Text5:: @ 8253EFA +BattlePyramid_Text_TwoItemsRemaining5:: @ 8253EFA .string "On this floor of the PYRAMID,\n" .string "I hear there are two items…$" -BattlePyramid_OneItemRemaining_Text5:: @ 8253F34 +BattlePyramid_Text_OneItemRemaining5:: @ 8253F34 .string "On this floor of the PYRAMID,\n" .string "I hear there is one item…$" -BattlePyramid_ZeroItemsRemaining_Text5:: @ 8253F6C +BattlePyramid_Text_ZeroItemsRemaining5:: @ 8253F6C .string "On this floor of the PYRAMID,\n" .string "I hear there are no items…$" -BattlePyramid_EightItemsRemaining_Text6:: @ 8253FA5 +BattlePyramid_Text_EightItemsRemaining6:: @ 8253FA5 .string "Have you collected any items?\p" .string "I believe there are eight more\n" .string "items on this floor.$" -BattlePyramid_SevenItemsRemaining_Text6:: @ 8253FF7 +BattlePyramid_Text_SevenItemsRemaining6:: @ 8253FF7 .string "Have you collected any items?\p" .string "I believe there are seven more\n" .string "items on this floor.$" -BattlePyramid_SixItemsRemaining_Text6:: @ 8254049 +BattlePyramid_Text_SixItemsRemaining6:: @ 8254049 .string "Have you collected any items?\p" .string "I believe there are six more\n" .string "items on this floor.$" -BattlePyramid_FiveItemsRemaining_Text6:: @ 8254099 +BattlePyramid_Text_FiveItemsRemaining6:: @ 8254099 .string "Have you collected any items?\p" .string "I believe there are five more\n" .string "items on this floor.$" -BattlePyramid_FourItemsRemaining_Text6:: @ 82540EA +BattlePyramid_Text_FourItemsRemaining6:: @ 82540EA .string "Have you collected any items?\p" .string "I believe there are four more\n" .string "items on this floor.$" -BattlePyramid_ThreeItemsRemaining_Text6:: @ 825413B +BattlePyramid_Text_ThreeItemsRemaining6:: @ 825413B .string "Have you collected any items?\p" .string "I believe there are three more\n" .string "items on this floor.$" -BattlePyramid_TwoItemsRemaining_Text6:: @ 825418D +BattlePyramid_Text_TwoItemsRemaining6:: @ 825418D .string "Have you collected any items?\p" .string "I believe there are two more\n" .string "items on this floor.$" -BattlePyramid_OneItemRemaining_Text6:: @ 82541DD +BattlePyramid_Text_OneItemRemaining6:: @ 82541DD .string "Have you collected any items?\p" .string "I believe there is one more\n" .string "item on this floor.$" -BattlePyramid_ZeroItemsRemaining_Text6:: @ 825422B +BattlePyramid_Text_ZeroItemsRemaining6:: @ 825422B .string "Have you collected any items?\p" .string "I believe there are no more\n" .string "items on this floor.$" -BattlePyramid_SevenTrainersRemaining_Text1:: @ 825427A +BattlePyramid_Text_SevenTrainersRemaining1:: @ 825427A .string "You were really awesome!\p" .string "But there are still seven tough\n" .string "TRAINERS other than me!$" -BattlePyramid_SixTrainersRemaining_Text1:: @ 82542CB +BattlePyramid_Text_SixTrainersRemaining1:: @ 82542CB .string "You were really awesome!\p" .string "But there are still six tough\n" .string "TRAINERS other than me!$" -BattlePyramid_FiveTrainersRemaining_Text1:: @ 825431A +BattlePyramid_Text_FiveTrainersRemaining1:: @ 825431A .string "You were really awesome!\p" .string "But there are still five tough\n" .string "TRAINERS other than me!$" -BattlePyramid_FourTrainersRemaining_Text1:: @ 825436A +BattlePyramid_Text_FourTrainersRemaining1:: @ 825436A .string "You were really awesome!\p" .string "But there are still four tough\n" .string "TRAINERS other than me!$" -BattlePyramid_ThreeTrainersRemaining_Text1:: @ 82543BA +BattlePyramid_Text_ThreeTrainersRemaining1:: @ 82543BA .string "You were really awesome!\p" .string "But there are still three tough\n" .string "TRAINERS other than me!$" -BattlePyramid_TwoTrainersRemaining_Text1:: @ 825440B +BattlePyramid_Text_TwoTrainersRemaining1:: @ 825440B .string "You were really awesome!\p" .string "But there are still two tough\n" .string "TRAINERS other than me!$" -BattlePyramid_OneTrainersRemaining_Text1:: @ 825445A +BattlePyramid_Text_OneTrainersRemaining1:: @ 825445A .string "You were really awesome!\p" .string "But there's still one tough\n" .string "TRAINER other than me!$" -BattlePyramid_ZeroTrainersRemaining_Text1:: @ 82544A6 +BattlePyramid_Text_ZeroTrainersRemaining1:: @ 82544A6 .string "You were really awesome!\p" .string "There's no one left that\n" .string "can beat you!$" -BattlePyramid_SevenTrainersRemaining_Text2:: @ 82544E6 +BattlePyramid_Text_SevenTrainersRemaining2:: @ 82544E6 .string "This is so upsetting!\p" .string "But there are seven TRAINERS left!\n" .string "Someone will humble you!$" -BattlePyramid_SixTrainersRemaining_Text2:: @ 8254538 +BattlePyramid_Text_SixTrainersRemaining2:: @ 8254538 .string "This is so upsetting!\p" .string "But there are six TRAINERS left!\n" .string "Someone will humble you!$" -BattlePyramid_FiveTrainersRemaining_Text2:: @ 8254588 +BattlePyramid_Text_FiveTrainersRemaining2:: @ 8254588 .string "This is so upsetting!\p" .string "But there are five TRAINERS left!\n" .string "Someone will humble you!$" -BattlePyramid_FourTrainersRemaining_Text2:: @ 82545D9 +BattlePyramid_Text_FourTrainersRemaining2:: @ 82545D9 .string "This is so upsetting!\p" .string "But there are four TRAINERS left!\n" .string "Someone will humble you!$" -BattlePyramid_ThreeTrainersRemaining_Text2:: @ 825462A +BattlePyramid_Text_ThreeTrainersRemaining2:: @ 825462A .string "This is so upsetting!\p" .string "But there are three TRAINERS left!\n" .string "Someone will humble you!$" -BattlePyramid_TwoTrainersRemaining_Text2:: @ 825467C +BattlePyramid_Text_TwoTrainersRemaining2:: @ 825467C .string "This is so upsetting!\p" .string "But there are two TRAINERS left!\n" .string "Someone will humble you!$" -BattlePyramid_OneTrainersRemaining_Text2:: @ 82546CC +BattlePyramid_Text_OneTrainersRemaining2:: @ 82546CC .string "This is so upsetting!\p" .string "But there's one TRAINER left!\n" .string "I'm sure you will be humbled!$" -BattlePyramid_ZeroTrainersRemaining_Text2:: @ 825471E +BattlePyramid_Text_ZeroTrainersRemaining2:: @ 825471E .string "This is so upsetting!\p" .string "But there are no more TRAINERS\n" .string "who can engage you!$" -BattlePyramid_SevenTrainersRemaining_Text3:: @ 8254767 +BattlePyramid_Text_SevenTrainersRemaining3:: @ 8254767 .string "That's pretty impressive!\p" .string "But there are seven more TRAINERS\n" .string "on this floor. Can you beat them all?$" -BattlePyramid_SixTrainersRemaining_Text3:: @ 82547C9 +BattlePyramid_Text_SixTrainersRemaining3:: @ 82547C9 .string "That's pretty impressive!\p" .string "But there are six more TRAINERS\n" .string "on this floor. Can you beat them all?$" -BattlePyramid_FiveTrainersRemaining_Text3:: @ 8254829 +BattlePyramid_Text_FiveTrainersRemaining3:: @ 8254829 .string "That's pretty impressive!\p" .string "But there are five more TRAINERS\n" .string "on this floor. Can you beat them all?$" -BattlePyramid_FourTrainersRemaining_Text3:: @ 825488A +BattlePyramid_Text_FourTrainersRemaining3:: @ 825488A .string "That's pretty impressive!\p" .string "But there are four more TRAINERS\n" .string "on this floor. Can you beat them all?$" -BattlePyramid_ThreeTrainersRemaining_Text3:: @ 82548EB +BattlePyramid_Text_ThreeTrainersRemaining3:: @ 82548EB .string "That's pretty impressive!\p" .string "But there are three more TRAINERS\n" .string "on this floor. Can you beat them all?$" -BattlePyramid_TwoTrainersRemaining_Text3:: @ 825494D +BattlePyramid_Text_TwoTrainersRemaining3:: @ 825494D .string "That's pretty impressive!\p" .string "But there are two more TRAINERS\n" .string "on this floor. Can you beat them both?$" -BattlePyramid_OneTrainersRemaining_Text3:: @ 82549AE +BattlePyramid_Text_OneTrainersRemaining3:: @ 82549AE .string "That's pretty impressive!\p" .string "But there's still one more TRAINER\n" .string "on this floor. Can you prevail?$" -BattlePyramid_ZeroTrainersRemaining_Text3:: @ 8254A0B +BattlePyramid_Text_ZeroTrainersRemaining3:: @ 8254A0B .string "That's pretty impressive!\p" .string "You've gone through all the TRAINERS\n" .string "on this floor.$" -BattlePyramid_SevenTrainersRemaining_Text4:: @ 8254A59 +BattlePyramid_Text_SevenTrainersRemaining4:: @ 8254A59 .string "Maybe you could sweep through\n" .string "the seven TRAINERS left on this floor.$" -BattlePyramid_SixTrainersRemaining_Text4:: @ 8254A9E +BattlePyramid_Text_SixTrainersRemaining4:: @ 8254A9E .string "Maybe you could sweep through\n" .string "the six TRAINERS left on this floor.$" -BattlePyramid_FiveTrainersRemaining_Text4:: @ 8254AE1 +BattlePyramid_Text_FiveTrainersRemaining4:: @ 8254AE1 .string "Maybe you could sweep through\n" .string "the five TRAINERS left on this floor.$" -BattlePyramid_FourTrainersRemaining_Text4:: @ 8254B25 +BattlePyramid_Text_FourTrainersRemaining4:: @ 8254B25 .string "Maybe you could sweep through\n" .string "the four TRAINERS left on this floor.$" -BattlePyramid_ThreeTrainersRemaining_Text4:: @ 8254B69 +BattlePyramid_Text_ThreeTrainersRemaining4:: @ 8254B69 .string "Maybe you could sweep through\n" .string "the three TRAINERS left on this floor.$" -BattlePyramid_TwoTrainersRemaining_Text4:: @ 8254BAE +BattlePyramid_Text_TwoTrainersRemaining4:: @ 8254BAE .string "Maybe you could sweep through\n" .string "the two TRAINERS left on this floor.$" -BattlePyramid_OneTrainersRemaining_Text4:: @ 8254BF1 +BattlePyramid_Text_OneTrainersRemaining4:: @ 8254BF1 .string "Maybe you could complete your sweep\n" .string "with the one TRAINER left on this floor.$" -BattlePyramid_ZeroTrainersRemaining_Text4:: @ 8254C3E +BattlePyramid_Text_ZeroTrainersRemaining4:: @ 8254C3E .string "There isn't a single person left who\n" .string "can defeat you now…$" -BattlePyramid_SevenTrainersRemaining_Text5:: @ 8254C77 +BattlePyramid_Text_SevenTrainersRemaining5:: @ 8254C77 .string "You may have what it takes to beat\n" .string "the seven expert TRAINERS who remain.$" -BattlePyramid_SixTrainersRemaining_Text5:: @ 8254CC0 +BattlePyramid_Text_SixTrainersRemaining5:: @ 8254CC0 .string "You may have what it takes to beat\n" .string "the six expert TRAINERS who remain.$" -BattlePyramid_FiveTrainersRemaining_Text5:: @ 8254D07 +BattlePyramid_Text_FiveTrainersRemaining5:: @ 8254D07 .string "You may have what it takes to beat\n" .string "the five expert TRAINERS who remain.$" -BattlePyramid_FourTrainersRemaining_Text5:: @ 8254D4F +BattlePyramid_Text_FourTrainersRemaining5:: @ 8254D4F .string "You may have what it takes to beat\n" .string "the four expert TRAINERS who remain.$" -BattlePyramid_ThreeTrainersRemaining_Text5:: @ 8254D97 +BattlePyramid_Text_ThreeTrainersRemaining5:: @ 8254D97 .string "You may have what it takes to beat\n" .string "the three expert TRAINERS who remain.$" -BattlePyramid_TwoTrainersRemaining_Text5:: @ 8254DE0 +BattlePyramid_Text_TwoTrainersRemaining5:: @ 8254DE0 .string "You may have what it takes to beat\n" .string "the two expert TRAINERS who remain.$" -BattlePyramid_OneTrainersRemaining_Text5:: @ 8254E27 +BattlePyramid_Text_OneTrainersRemaining5:: @ 8254E27 .string "You may have what it takes to beat\n" .string "the one expert TRAINER who remains.$" -BattlePyramid_ZeroTrainersRemaining_Text5:: @ 8254E6E +BattlePyramid_Text_ZeroTrainersRemaining5:: @ 8254E6E .string "Your skills are beyond reproach.\p" .string "There are no more TRAINERS here\n" .string "who have any chance of beating you.$" -BattlePyramid_SevenTrainersRemaining_Text6:: @ 8254ED3 +BattlePyramid_Text_SevenTrainersRemaining6:: @ 8254ED3 .string "Can you keep winning against\n" .string "the seven remaining TRAINERS?$" -BattlePyramid_SixTrainersRemaining_Text6:: @ 8254F0E +BattlePyramid_Text_SixTrainersRemaining6:: @ 8254F0E .string "Can you keep winning against\n" .string "the six remaining TRAINERS?$" -BattlePyramid_FiveTrainersRemaining_Text6:: @ 8254F47 +BattlePyramid_Text_FiveTrainersRemaining6:: @ 8254F47 .string "Can you keep winning against\n" .string "the five remaining TRAINERS?$" -BattlePyramid_FourTrainersRemaining_Text6:: @ 8254F81 +BattlePyramid_Text_FourTrainersRemaining6:: @ 8254F81 .string "Can you keep winning against\n" .string "the four remaining TRAINERS?$" -BattlePyramid_ThreeTrainersRemaining_Text6:: @ 8254FBB +BattlePyramid_Text_ThreeTrainersRemaining6:: @ 8254FBB .string "Can you keep winning against\n" .string "the three remaining TRAINERS?$" -BattlePyramid_TwoTrainersRemaining_Text6:: @ 8254FF6 +BattlePyramid_Text_TwoTrainersRemaining6:: @ 8254FF6 .string "Can you keep winning against\n" .string "the two remaining TRAINERS?$" -BattlePyramid_OneTrainersRemaining_Text6:: @ 825502F +BattlePyramid_Text_OneTrainersRemaining6:: @ 825502F .string "Can you keep winning against\n" .string "the last remaining TRAINER?$" -BattlePyramid_ZeroTrainersRemaining_Text6:: @ 8255068 +BattlePyramid_Text_ZeroTrainersRemaining6:: @ 8255068 .string "There aren't any TRAINERS left that\n" .string "can take you on now…$" diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/map.json b/data/maps/BattleFrontier_BattlePyramidLobby/map.json index 4f99b94881..0b0d1d1a1d 100644 --- a/data/maps/BattleFrontier_BattlePyramidLobby/map.json +++ b/data/maps/BattleFrontier_BattlePyramidLobby/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePyramidLobby_EventScript_2508B1", + "script": "BattleFrontier_BattlePyramidLobby_EventScript_Attendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePyramidLobby_EventScript_250ACE", + "script": "BattleFrontier_BattlePyramidLobby_EventScript_HintGiver", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePyramidLobby_EventScript_250E83", + "script": "BattleFrontier_BattlePyramidLobby_EventScript_Woman", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePyramidLobby_EventScript_250E8C", + "script": "BattleFrontier_BattlePyramidLobby_EventScript_FatMan", "flag": "0" } ], @@ -84,7 +84,7 @@ "y": 12, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_BattlePyramidLobby_EventScript_250D42" + "script": "BattleFrontier_BattlePyramidLobby_EventScript_ShowResults" }, { "type": "sign", @@ -92,7 +92,7 @@ "y": 12, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_BattlePyramidLobby_EventScript_250E95" + "script": "BattleFrontier_BattlePyramidLobby_EventScript_RulesBoard" } ] } \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc index 667c4847e6..6d6ce708a7 100644 --- a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc @@ -1,467 +1,401 @@ BattleFrontier_BattlePyramidLobby_MapScripts:: @ 8250716 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePyramidLobby_MapScript2_250735 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePyramidLobby_MapScript2_2497FB + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePyramidLobby_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomeLobby_OnWarp .byte 0 -BattleFrontier_BattlePyramidLobby_MapScript2_250721: @ 8250721 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePyramidLobby_EventScript_25072B +@ Unused. Pyramid uses Dome's OnWarp (presumably by mistake). Their effects are identical +BattleFrontier_BattlePyramidLobby_OnWarp: @ 8250721 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePyramidLobby_EventScript_TurnPlayerNorth .2byte 0 -BattleFrontier_BattlePyramidLobby_EventScript_25072B: @ 825072B +BattleFrontier_BattlePyramidLobby_EventScript_TurnPlayerNorth: @ 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 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePyramidLobby_EventScript_25075F - map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattlePyramidLobby_EventScript_250768 - map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattlePyramidLobby_EventScript_2508AC - map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattlePyramidLobby_EventScript_2507B1 - map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattlePyramidLobby_EventScript_250852 +BattleFrontier_BattlePyramidLobby_OnFrame: @ 8250735 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePyramidLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramidLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattlePyramidLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePyramidLobby_EventScript_LostChallenge .2byte 0 -BattleFrontier_BattlePyramidLobby_EventScript_25075F:: @ 825075F - setvar VAR_0x8004, 0 - special CallFrontierUtilFunc +BattleFrontier_BattlePyramidLobby_EventScript_GetChallengeStatus:: @ 825075F + frontier_getstatus end -BattleFrontier_BattlePyramidLobby_EventScript_250768:: @ 8250768 +BattleFrontier_BattlePyramidLobby_EventScript_QuitWithoutSaving:: @ 8250768 lockall - message BattleFrontier_BattlePyramidLobby_Text_2516D6 + message BattleFrontier_BattlePyramidLobby_Text_DidntSaveBeforeQuittingTakeBag waitmessage playse SE_EXPMAX waitse closemessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallBattlePyramidFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 0 - special CallBattlePyramidFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + pyramid_set PYRAMID_DATA_WIN_STREAK, 0 + pyramid_set PYRAMID_DATA_WIN_STREAK_ACTIVE, FALSE + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 setvar VAR_TEMP_0, 255 releaseall end -BattleFrontier_BattlePyramidLobby_EventScript_2507B1:: @ 82507B1 +BattleFrontier_BattlePyramidLobby_EventScript_WonChallenge:: @ 82507B1 lockall - setvar VAR_0x8004, 10 - special CallFrontierUtilFunc - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_2507D2 - msgbox BattleFrontier_BattlePyramidLobby_Text_2517B5, MSGBOX_DEFAULT - goto BattleFrontier_BattlePyramidLobby_EventScript_2507DA + frontier_isbrain + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_DefeatedKing + msgbox BattleFrontier_BattlePyramidLobby_Text_YouveConqueredPyramid, MSGBOX_DEFAULT + goto BattleFrontier_BattlePyramidLobby_EventScript_GiveBattlePoints -BattleFrontier_BattlePyramidLobby_EventScript_2507D2:: @ 82507D2 - msgbox BattleFrontier_BattlePyramidLobby_Text_2525F4, MSGBOX_DEFAULT - -BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA - special sub_81B95E0 - compare VAR_RESULT, 1 - call_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250DDB - clearflag FLAG_SPECIAL_FLAG_0x4004 - setvar VAR_0x8004, 8 - special CallFrontierUtilFunc +BattleFrontier_BattlePyramidLobby_EventScript_DefeatedKing:: @ 82507D2 + msgbox BattleFrontier_BattlePyramidLobby_Text_YouveDefeatedPyramidKing, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_GiveBattlePoints:: @ 82507DA + special DoBattlePyramidMonsHaveHeldItem + compare VAR_RESULT, TRUE + call_if_eq BattleFrontier_BattlePyramidLobby_EventScript_StoreHeldItemsInPyramidBag + clearflag FLAG_STORING_ITEMS_IN_PYRAMID_BAG + frontier_checkairshow special LoadPlayerParty - setvar VAR_0x8004, 14 - special CallBattlePyramidFunction + pyramid_clearhelditems special HealPlayerParty - message BattleFrontier_BattlePyramidLobby_Text_2519F8 + message BattleFrontier_BattlePyramidLobby_Text_UsedBattleBagWillBeKept waitmessage playse SE_EXPMAX waitse - msgbox BattleFrontier_BattlePyramidLobby_Text_252662, MSGBOX_DEFAULT - setvar VAR_0x8004, 11 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattlePyramidLobby_Text_241520, 9 - message BattleFrontier_BattlePyramidLobby_Text_251A77 + msgbox BattleFrontier_BattlePyramidLobby_Text_GiveYouTheseBattlePoints, MSGBOX_DEFAULT + frontier_givepoints + msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS + message BattleFrontier_BattlePyramidLobby_Text_RecordResultsWait waitmessage - setvar VAR_0x8004, 4 - special CallBattlePyramidFunction - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 0 - special CallBattlePyramidFunction + pyramid_setprize + pyramid_save 0 playse SE_SAVE waitse - msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, MSGBOX_DEFAULT + msgbox BattleFrontier_BattlePyramidLobby_Text_LookForwardToNextChallenge, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 releaseall end -BattleFrontier_BattlePyramidLobby_EventScript_250852:: @ 8250852 - setvar VAR_0x8004, 8 - special CallFrontierUtilFunc +BattleFrontier_BattlePyramidLobby_EventScript_LostChallenge:: @ 8250852 + frontier_checkairshow special LoadPlayerParty - setvar VAR_0x8004, 14 - special CallBattlePyramidFunction + pyramid_clearhelditems special HealPlayerParty lockall - message BattleFrontier_BattlePyramidLobby_Text_251B5A + message BattleFrontier_BattlePyramidLobby_Text_DisappointingHereIsBag waitmessage playse SE_EXPMAX waitse - message BattleFrontier_BattlePyramidLobby_Text_251A77 + message BattleFrontier_BattlePyramidLobby_Text_RecordResultsWait waitmessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 0 - special CallBattlePyramidFunction - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 0 - special CallBattlePyramidFunction + pyramid_set PYRAMID_DATA_WIN_STREAK_ACTIVE, FALSE + pyramid_save 0 playse SE_SAVE waitse - msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, MSGBOX_DEFAULT + msgbox BattleFrontier_BattlePyramidLobby_Text_LookForwardToNextChallenge, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 releaseall end -BattleFrontier_BattlePyramidLobby_EventScript_2508AC:: @ 82508AC - goto BattleFrontier_BattlePyramidLobby_EventScript_250A21 +BattleFrontier_BattlePyramidLobby_EventScript_ResumeChallenge:: @ 82508AC + goto BattleFrontier_BattlePyramidLobby_EventScript_EnterChallenge -BattleFrontier_BattlePyramidLobby_EventScript_2508B1:: @ 82508B1 +BattleFrontier_BattlePyramidLobby_EventScript_Attendant:: @ 82508B1 lock faceplayer - setvar VAR_FRONTIER_FACILITY, 6 - setvar VAR_FRONTIER_BATTLE_MODE, 0 + setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PYRAMID + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES special SavePlayerParty - msgbox BattleFrontier_BattlePyramidLobby_Text_250F31, MSGBOX_DEFAULT - -BattleFrontier_BattlePyramidLobby_EventScript_2508C8:: @ 82508C8 - message BattleFrontier_BattlePyramidLobby_Text_250FA7 + msgbox BattleFrontier_BattlePyramidLobby_Text_WelcomeToBattlePyramid, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_AskTakeChallenge:: @ 82508C8 + message BattleFrontier_BattlePyramidLobby_Text_EmbarkOnChallenge waitmessage - multichoice 17, 6, 23, 0 + multichoice 17, 6, MULTI_CHALLENGEINFO, 0 switch VAR_RESULT - case 0, BattleFrontier_BattlePyramidLobby_EventScript_250904 - case 1, BattleFrontier_BattlePyramidLobby_EventScript_250A68 - case 2, BattleFrontier_BattlePyramidLobby_EventScript_250AC4 - case 127, BattleFrontier_BattlePyramidLobby_EventScript_250AC4 + case 0, BattleFrontier_BattlePyramidLobby_EventScript_TryEnterChallenge + case 1, BattleFrontier_BattlePyramidLobby_EventScript_ExplainChallenge + case 2, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge -BattleFrontier_BattlePyramidLobby_EventScript_250904:: @ 8250904 - message BattleFrontier_BattlePyramidLobby_Text_251248 +BattleFrontier_BattlePyramidLobby_EventScript_TryEnterChallenge:: @ 8250904 + message BattleFrontier_BattlePyramidLobby_Text_WhichLevelMode waitmessage - multichoice 17, 6, 24, 0 + multichoice 17, 6, MULTI_LEVEL_MODE, 0 switch VAR_RESULT - case 2, BattleFrontier_BattlePyramidLobby_EventScript_250AC4 - case 127, BattleFrontier_BattlePyramidLobby_EventScript_250AC4 - setvar VAR_0x8004, 15 - special CallFrontierUtilFunc - compare VAR_0x8004, 1 - goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250A75 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc - msgbox BattleFrontier_BattlePyramidLobby_Text_251297, MSGBOX_DEFAULT - fadescreen 1 - call BattleFrontier_BattlePyramidLobby_EventScript_23F2B7 + case FRONTIER_LVL_TENT, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge + frontier_checkineligible + compare VAR_0x8004, TRUE + goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMons + frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT + msgbox BattleFrontier_BattlePyramidLobby_Text_SelectThreeMons, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK + call BattleFrontier_EventScript_GetLvlMode copyvar VAR_0x8004, VAR_RESULT - setvar VAR_0x8005, 3 - special sub_80F9490 + setvar VAR_0x8005, FRONTIER_PARTY_SIZE + special ChoosePartyForBattleFrontier waitstate compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250AC1 - msgbox BattleFrontier_BattlePyramidLobby_Text_2514E6, MSGBOX_YESNO + goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge + msgbox BattleFrontier_BattlePyramidLobby_Text_OkayToSaveBeforeChallenge, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattlePyramidLobby_EventScript_250AC1 - case 1, BattleFrontier_BattlePyramidLobby_EventScript_2509A5 - case 127, BattleFrontier_BattlePyramidLobby_EventScript_250AC1 + case NO, BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge + case YES, BattleFrontier_BattlePyramidLobby_EventScript_SaveBeforeChallenge + case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge -BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5 +BattleFrontier_BattlePyramidLobby_EventScript_SaveBeforeChallenge:: @ 82509A5 setvar VAR_TEMP_0, 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 4 - special CallFrontierUtilFunc - setvar VAR_0x8004, 0 - special CallBattlePyramidFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 1 - special CallBattlePyramidFunction - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - setvar VAR_0x8004, 6 - special CallBattlePyramidFunction - setvar VAR_0x8004, 9 - special CallBattlePyramidFunction + frontier_set FRONTIER_DATA_SELECTED_MON_ORDER + pyramid_init + pyramid_set PYRAMID_DATA_WIN_STREAK_ACTIVE, TRUE + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING + frontier_set FRONTIER_DATA_PAUSED, FALSE + pyramid_seedfloor + pyramid_settrainers special LoadPlayerParty closemessage delay 2 call Common_EventScript_SaveGame setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250AAA - -BattleFrontier_BattlePyramidLobby_EventScript_250A21:: @ 8250A21 + goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_CancelChallengeSaveFailed +BattleFrontier_BattlePyramidLobby_EventScript_EnterChallenge:: @ 8250A21 special SavePlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattlePyramidLobby_Text_251531, MSGBOX_DEFAULT + frontier_setpartyorder FRONTIER_PARTY_SIZE + msgbox BattleFrontier_BattlePyramidLobby_Text_ShowYouIntoPyramid, MSGBOX_DEFAULT closemessage - call BattleFrontier_BattlePyramidLobby_EventScript_250D56 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + call BattleFrontier_BattlePyramidLobby_EventScript_WalkToPanelAndReceiveBag + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 setvar VAR_RESULT, 0 special HealPlayerParty - warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE, 255, 1, 1 + warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR, 255, 1, 1 setvar VAR_TEMP_0, 0 waitstate end -BattleFrontier_BattlePyramidLobby_EventScript_250A68:: @ 8250A68 - msgbox BattleFrontier_BattlePyramidLobby_Text_25100C, MSGBOX_DEFAULT - goto BattleFrontier_BattlePyramidLobby_EventScript_2508C8 +BattleFrontier_BattlePyramidLobby_EventScript_ExplainChallenge:: @ 8250A68 + msgbox BattleFrontier_BattlePyramidLobby_Text_ExplainBattlePyramid, MSGBOX_DEFAULT + goto BattleFrontier_BattlePyramidLobby_EventScript_AskTakeChallenge -BattleFrontier_BattlePyramidLobby_EventScript_250A75:: @ 8250A75 +BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMons:: @ 8250A75 switch VAR_RESULT - case 0, BattleFrontier_BattlePyramidLobby_EventScript_250A90 - case 1, BattleFrontier_BattlePyramidLobby_EventScript_250A9D + case FRONTIER_LVL_50, BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMonsLv50 + case FRONTIER_LVL_OPEN, BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMonsLvOpen -BattleFrontier_BattlePyramidLobby_EventScript_250A90:: @ 8250A90 - msgbox BattleFrontier_BattlePyramidLobby_Text_2513C1, MSGBOX_DEFAULT - goto BattleFrontier_BattlePyramidLobby_EventScript_250ACC +BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMonsLv50:: @ 8250A90 + msgbox BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT + goto BattleFrontier_BattlePyramidLobby_EventScript_EndCancelChallenge -BattleFrontier_BattlePyramidLobby_EventScript_250A9D:: @ 8250A9D - msgbox BattleFrontier_BattlePyramidLobby_Text_2512E2, MSGBOX_DEFAULT - goto BattleFrontier_BattlePyramidLobby_EventScript_250ACC +BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMonsLvOpen:: @ 8250A9D + msgbox BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT + goto BattleFrontier_BattlePyramidLobby_EventScript_EndCancelChallenge -BattleFrontier_BattlePyramidLobby_EventScript_250AAA:: @ 8250AAA - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - goto BattleFrontier_BattlePyramidLobby_EventScript_250AC4 +BattleFrontier_BattlePyramidLobby_EventScript_CancelChallengeSaveFailed:: @ 8250AAA + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 + goto BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge -BattleFrontier_BattlePyramidLobby_EventScript_250AC1:: @ 8250AC1 +BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge:: @ 8250AC1 special LoadPlayerParty - -BattleFrontier_BattlePyramidLobby_EventScript_250AC4:: @ 8250AC4 - msgbox BattleFrontier_BattlePyramidLobby_Text_250FE5, MSGBOX_DEFAULT - -BattleFrontier_BattlePyramidLobby_EventScript_250ACC:: @ 8250ACC +BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge:: @ 8250AC4 + msgbox BattleFrontier_BattlePyramidLobby_Text_AwaitFutureChallenge, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_EndCancelChallenge:: @ 8250ACC release end -BattleFrontier_BattlePyramidLobby_EventScript_250ACE:: @ 8250ACE +BattleFrontier_BattlePyramidLobby_EventScript_HintGiver:: @ 8250ACE lockall applymovement 2, Common_Movement_FacePlayer waitmovement 0 - msgbox BattleFrontier_BattlePyramidLobby_Text_251C3B, MSGBOX_DEFAULT - call BattleFrontier_BattlePyramidLobby_EventScript_250AF0 - msgbox BattleFrontier_BattlePyramidLobby_Text_252461, MSGBOX_DEFAULT + msgbox BattleFrontier_BattlePyramidLobby_Text_TellYouWhatMisfortunesAwait, MSGBOX_DEFAULT + call BattleFrontier_BattlePyramidLobby_EventScript_GiveHint + msgbox BattleFrontier_BattlePyramidLobby_Text_BelieveMyFortunesOrNot, MSGBOX_DEFAULT releaseall end -BattleFrontier_BattlePyramidLobby_EventScript_250AF0:: @ 8250AF0 - multichoice 17, 6, 24, 0 +BattleFrontier_BattlePyramidLobby_EventScript_GiveHint:: @ 8250AF0 + multichoice 17, 6, MULTI_LEVEL_MODE, 0 switch VAR_RESULT - case 0, BattleFrontier_BattlePyramidLobby_EventScript_250B28 - case 1, BattleFrontier_BattlePyramidLobby_EventScript_250B66 - case 2, BattleFrontier_BattlePyramidLobby_EventScript_250B27 - case 127, BattleFrontier_BattlePyramidLobby_EventScript_250B27 + case FRONTIER_LVL_50, BattleFrontier_BattlePyramidLobby_EventScript_GiveHintLv50 + case FRONTIER_LVL_OPEN, BattleFrontier_BattlePyramidLobby_EventScript_GiveHintLvOpen + case FRONTIER_LVL_TENT, BattleFrontier_BattlePyramidLobby_EventScript_NoHint + case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_NoHint return -BattleFrontier_BattlePyramidLobby_EventScript_250B27:: @ 8250B27 +@ Shouldnt occur +BattleFrontier_BattlePyramidLobby_EventScript_NoHint:: @ 8250B27 return -BattleFrontier_BattlePyramidLobby_EventScript_250B28:: @ 8250B28 - msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, MSGBOX_DEFAULT - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 5 - special CallBattlePyramidFunction - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattlePyramidLobby_EventScript_250B53 +BattleFrontier_BattlePyramidLobby_EventScript_GiveHintLv50:: @ 8250B28 + msgbox BattleFrontier_BattlePyramidLobby_Text_Aah, MSGBOX_DEFAULT + pyramid_get PYRAMID_DATA_WIN_STREAK_ACTIVE_50 + compare VAR_RESULT, FALSE + goto_if_ne BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLv50Streak setvar VAR_RESULT, 0 - goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4 + goto BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment return -BattleFrontier_BattlePyramidLobby_EventScript_250B53:: @ 8250B53 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 3 - special CallBattlePyramidFunction - goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4 +BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLv50Streak:: @ 8250B53 + pyramid_get PYRAMID_DATA_WIN_STREAK_50 + goto BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment return -BattleFrontier_BattlePyramidLobby_EventScript_250B66:: @ 8250B66 - msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, MSGBOX_DEFAULT - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 6 - special CallBattlePyramidFunction - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattlePyramidLobby_EventScript_250B91 +BattleFrontier_BattlePyramidLobby_EventScript_GiveHintLvOpen:: @ 8250B66 + msgbox BattleFrontier_BattlePyramidLobby_Text_Aah, MSGBOX_DEFAULT + pyramid_get PYRAMID_DATA_WIN_STREAK_ACTIVE_OPEN + compare VAR_RESULT, FALSE + goto_if_ne BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLvOpenStreak setvar VAR_RESULT, 0 - goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4 + goto BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment return -BattleFrontier_BattlePyramidLobby_EventScript_250B91:: @ 8250B91 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 4 - special CallBattlePyramidFunction - goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4 +BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLvOpenStreak:: @ 8250B91 + pyramid_get PYRAMID_DATA_WIN_STREAK_OPEN + goto BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment return -BattleFrontier_BattlePyramidLobby_EventScript_250BA4:: @ 8250BA4 +BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment:: @ 8250BA4 copyvar VAR_0x8004, VAR_RESULT - special sub_813B968 + special GetBattlePyramidHint switch VAR_RESULT - case 0, BattleFrontier_BattlePyramidLobby_EventScript_250C8E - case 1, BattleFrontier_BattlePyramidLobby_EventScript_250C97 - case 2, BattleFrontier_BattlePyramidLobby_EventScript_250CA0 - case 3, BattleFrontier_BattlePyramidLobby_EventScript_250CA9 - case 4, BattleFrontier_BattlePyramidLobby_EventScript_250CB2 - case 5, BattleFrontier_BattlePyramidLobby_EventScript_250CBB - case 6, BattleFrontier_BattlePyramidLobby_EventScript_250CC4 - case 7, BattleFrontier_BattlePyramidLobby_EventScript_250CCD - case 8, BattleFrontier_BattlePyramidLobby_EventScript_250CD6 - case 9, BattleFrontier_BattlePyramidLobby_EventScript_250CDF - case 10, BattleFrontier_BattlePyramidLobby_EventScript_250CE8 - case 11, BattleFrontier_BattlePyramidLobby_EventScript_250CF1 - case 12, BattleFrontier_BattlePyramidLobby_EventScript_250CFA - case 13, BattleFrontier_BattlePyramidLobby_EventScript_250D03 - case 14, BattleFrontier_BattlePyramidLobby_EventScript_250D0C - case 15, BattleFrontier_BattlePyramidLobby_EventScript_250D15 - case 16, BattleFrontier_BattlePyramidLobby_EventScript_250D1E - case 17, BattleFrontier_BattlePyramidLobby_EventScript_250D27 - case 18, BattleFrontier_BattlePyramidLobby_EventScript_250D30 - case 19, BattleFrontier_BattlePyramidLobby_EventScript_250D39 + case 0, BattleFrontier_BattlePyramidLobby_EventScript_HintParalysis + case 1, BattleFrontier_BattlePyramidLobby_EventScript_HintPoison + case 2, BattleFrontier_BattlePyramidLobby_EventScript_HintBurn + case 3, BattleFrontier_BattlePyramidLobby_EventScript_HintPPWaste + case 4, BattleFrontier_BattlePyramidLobby_EventScript_HintLevitate + case 5, BattleFrontier_BattlePyramidLobby_EventScript_HintTrapAbility + case 6, BattleFrontier_BattlePyramidLobby_EventScript_HintIce + case 7, BattleFrontier_BattlePyramidLobby_EventScript_HintExplosion + case 8, BattleFrontier_BattlePyramidLobby_EventScript_HintPsychic + case 9, BattleFrontier_BattlePyramidLobby_EventScript_HintRock + case 10, BattleFrontier_BattlePyramidLobby_EventScript_HintFighting + case 11, BattleFrontier_BattlePyramidLobby_EventScript_HintWeather + case 12, BattleFrontier_BattlePyramidLobby_EventScript_HintBug + case 13, BattleFrontier_BattlePyramidLobby_EventScript_HintDark + case 14, BattleFrontier_BattlePyramidLobby_EventScript_HintWater + case 15, BattleFrontier_BattlePyramidLobby_EventScript_HintGhost + case 16, BattleFrontier_BattlePyramidLobby_EventScript_HintSteel + case 17, BattleFrontier_BattlePyramidLobby_EventScript_HintFlyingDragon + case 18, BattleFrontier_BattlePyramidLobby_EventScript_HintStoneEvolve + case 19, BattleFrontier_BattlePyramidLobby_EventScript_HintNormal return -BattleFrontier_BattlePyramidLobby_EventScript_250C8E:: @ 8250C8E - msgbox BattleFrontier_BattlePyramidLobby_Text_251CB3, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintParalysis:: @ 8250C8E + msgbox BattleFrontier_BattlePyramidLobby_Text_HintParalysis, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250C97:: @ 8250C97 - msgbox BattleFrontier_BattlePyramidLobby_Text_251D07, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintPoison:: @ 8250C97 + msgbox BattleFrontier_BattlePyramidLobby_Text_HintPoison, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250CA0:: @ 8250CA0 - msgbox BattleFrontier_BattlePyramidLobby_Text_251D54, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintBurn:: @ 8250CA0 + msgbox BattleFrontier_BattlePyramidLobby_Text_HintBurn, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250CA9:: @ 8250CA9 - msgbox BattleFrontier_BattlePyramidLobby_Text_251D9C, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintPPWaste:: @ 8250CA9 + msgbox BattleFrontier_BattlePyramidLobby_Text_HintPPWaste, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250CB2:: @ 8250CB2 - msgbox BattleFrontier_BattlePyramidLobby_Text_251E3D, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintLevitate:: @ 8250CB2 + msgbox BattleFrontier_BattlePyramidLobby_Text_HintLevitate, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250CBB:: @ 8250CBB - msgbox BattleFrontier_BattlePyramidLobby_Text_251EA1, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintTrapAbility:: @ 8250CBB + msgbox BattleFrontier_BattlePyramidLobby_Text_HintTrapAbility, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250CC4:: @ 8250CC4 - msgbox BattleFrontier_BattlePyramidLobby_Text_251F17, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintIce:: @ 8250CC4 + msgbox BattleFrontier_BattlePyramidLobby_Text_HintIce, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250CCD:: @ 8250CCD - msgbox BattleFrontier_BattlePyramidLobby_Text_251F6E, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintExplosion:: @ 8250CCD + msgbox BattleFrontier_BattlePyramidLobby_Text_HintExplosion, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250CD6:: @ 8250CD6 - msgbox BattleFrontier_BattlePyramidLobby_Text_251FC7, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintPsychic:: @ 8250CD6 + msgbox BattleFrontier_BattlePyramidLobby_Text_HintPsychic, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250CDF:: @ 8250CDF - msgbox BattleFrontier_BattlePyramidLobby_Text_25201B, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintRock:: @ 8250CDF + msgbox BattleFrontier_BattlePyramidLobby_Text_HintRock, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250CE8:: @ 8250CE8 - msgbox BattleFrontier_BattlePyramidLobby_Text_252068, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintFighting:: @ 8250CE8 + msgbox BattleFrontier_BattlePyramidLobby_Text_HintFighting, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250CF1:: @ 8250CF1 - msgbox BattleFrontier_BattlePyramidLobby_Text_2520BA, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintWeather:: @ 8250CF1 + msgbox BattleFrontier_BattlePyramidLobby_Text_HintWeather, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250CFA:: @ 8250CFA - msgbox BattleFrontier_BattlePyramidLobby_Text_252158, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintBug:: @ 8250CFA + msgbox BattleFrontier_BattlePyramidLobby_Text_HintBug, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250D03:: @ 8250D03 - msgbox BattleFrontier_BattlePyramidLobby_Text_2521B4, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintDark:: @ 8250D03 + msgbox BattleFrontier_BattlePyramidLobby_Text_HintDark, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250D0C:: @ 8250D0C - msgbox BattleFrontier_BattlePyramidLobby_Text_252206, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintWater:: @ 8250D0C + msgbox BattleFrontier_BattlePyramidLobby_Text_HintWater, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250D15:: @ 8250D15 - msgbox BattleFrontier_BattlePyramidLobby_Text_25225A, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintGhost:: @ 8250D15 + msgbox BattleFrontier_BattlePyramidLobby_Text_HintGhost, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250D1E:: @ 8250D1E - msgbox BattleFrontier_BattlePyramidLobby_Text_2522AE, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintSteel:: @ 8250D1E + msgbox BattleFrontier_BattlePyramidLobby_Text_HintSteel, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250D27:: @ 8250D27 - msgbox BattleFrontier_BattlePyramidLobby_Text_25230B, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintFlyingDragon:: @ 8250D27 + msgbox BattleFrontier_BattlePyramidLobby_Text_HintFlyingDragon, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250D30:: @ 8250D30 - msgbox BattleFrontier_BattlePyramidLobby_Text_252364, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintStoneEvolve:: @ 8250D30 + msgbox BattleFrontier_BattlePyramidLobby_Text_HintStoneEvolve, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250D39:: @ 8250D39 - msgbox BattleFrontier_BattlePyramidLobby_Text_252403, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HintNormal:: @ 8250D39 + msgbox BattleFrontier_BattlePyramidLobby_Text_HintNormal, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250D42:: @ 8250D42 +BattleFrontier_BattlePyramidLobby_EventScript_ShowResults:: @ 8250D42 lockall - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 6 - special CallFrontierUtilFunc + frontier_results FRONTIER_FACILITY_PYRAMID waitbuttonpress special RemoveRecordsWindow releaseall end -BattleFrontier_BattlePyramidLobby_EventScript_250D56:: @ 8250D56 - applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_250DC4 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_250DCD +BattleFrontier_BattlePyramidLobby_EventScript_WalkToPanelAndReceiveBag:: @ 8250D56 + applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_AttendantWalkToPanel + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_PlayerWalkToPanel waitmovement 0 - msgbox BattleFrontier_BattlePyramidLobby_Text_251569, MSGBOX_DEFAULT - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special CallBattlePyramidFunction + msgbox BattleFrontier_BattlePyramidLobby_Text_WeWillHoldBagForSafekeeping, MSGBOX_DEFAULT + pyramid_get PYRAMID_DATA_WIN_STREAK compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250D94 - msgbox BattleFrontier_BattlePyramidLobby_Text_2515AD, MSGBOX_DEFAULT - goto BattleFrontier_BattlePyramidLobby_EventScript_250D9C + goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_ReceiveNewBattleBag + msgbox BattleFrontier_BattlePyramidLobby_Text_PleaseTakePreviousBattleBag, MSGBOX_DEFAULT + goto BattleFrontier_BattlePyramidLobby_EventScript_ReceiveBattleBag -BattleFrontier_BattlePyramidLobby_EventScript_250D94:: @ 8250D94 - msgbox BattleFrontier_BattlePyramidLobby_Text_2515F4, MSGBOX_DEFAULT - -BattleFrontier_BattlePyramidLobby_EventScript_250D9C:: @ 8250D9C - message BattleFrontier_BattlePyramidLobby_Text_25161E +BattleFrontier_BattlePyramidLobby_EventScript_ReceiveNewBattleBag:: @ 8250D94 + msgbox BattleFrontier_BattlePyramidLobby_Text_PleaseTakeThisBattleBag, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_ReceiveBattleBag:: @ 8250D9C + message BattleFrontier_BattlePyramidLobby_Text_ExchangedBagForBattleBag waitmessage playse SE_EXPMAX waitse - msgbox BattleFrontier_BattlePyramidLobby_Text_251647, MSGBOX_DEFAULT + msgbox BattleFrontier_BattlePyramidLobby_Text_StepOnFloorPanel, MSGBOX_DEFAULT closemessage - applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_250DD5 + applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_AttendantMoveAside waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_250DD8 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_PlayerStepOnPanel waitmovement 0 return -BattleFrontier_BattlePyramidLobby_Movement_250DC4: @ 8250DC4 +BattleFrontier_BattlePyramidLobby_Movement_AttendantWalkToPanel: @ 8250DC4 walk_up walk_up walk_up @@ -472,7 +406,7 @@ BattleFrontier_BattlePyramidLobby_Movement_250DC4: @ 8250DC4 face_down step_end -BattleFrontier_BattlePyramidLobby_Movement_250DCD: @ 8250DCD +BattleFrontier_BattlePyramidLobby_Movement_PlayerWalkToPanel: @ 8250DCD walk_up walk_up walk_up @@ -482,135 +416,136 @@ BattleFrontier_BattlePyramidLobby_Movement_250DCD: @ 8250DCD walk_up step_end -BattleFrontier_BattlePyramidLobby_Movement_250DD5: @ 8250DD5 +BattleFrontier_BattlePyramidLobby_Movement_AttendantMoveAside: @ 8250DD5 walk_right face_left step_end -BattleFrontier_BattlePyramidLobby_Movement_250DD8: @ 8250DD8 +BattleFrontier_BattlePyramidLobby_Movement_PlayerStepOnPanel: @ 8250DD8 walk_up walk_up step_end -BattleFrontier_BattlePyramidLobby_EventScript_250DDB:: @ 8250DDB - msgbox BattleFrontier_BattlePyramidLobby_Text_2517FC, MSGBOX_DEFAULT - setflag FLAG_SPECIAL_FLAG_0x4004 - special sub_81C6A94 +BattleFrontier_BattlePyramidLobby_EventScript_StoreHeldItemsInPyramidBag:: @ 8250DDB + msgbox BattleFrontier_BattlePyramidLobby_Text_MonHoldingItemCannotTake, MSGBOX_DEFAULT + setflag FLAG_STORING_ITEMS_IN_PYRAMID_BAG + special TryStoreHeldItemsInPyramidBag compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250E00 - message BattleFrontier_BattlePyramidLobby_Text_2518C6 + goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_HeldItemsStoredInPyramidBag + message BattleFrontier_BattlePyramidLobby_Text_BagCannotHoldPickItemsToKeep waitmessage - goto BattleFrontier_BattlePyramidLobby_EventScript_250E09 + goto BattleFrontier_BattlePyramidLobby_EventScript_PickItemsToKeep end -BattleFrontier_BattlePyramidLobby_EventScript_250E00:: @ 8250E00 - msgbox BattleFrontier_BattlePyramidLobby_Text_251881, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidLobby_EventScript_HeldItemsStoredInPyramidBag:: @ 8250E00 + msgbox BattleFrontier_BattlePyramidLobby_Text_HeldItemsMovedToBag, MSGBOX_DEFAULT return -BattleFrontier_BattlePyramidLobby_EventScript_250E09:: @ 8250E09 - multichoice 17, 6, 83, 0 +@ When exiting Battle Pyramid with a full pyramid bag and held items the player must select to keep/toss party held items and make room for any kept items by tossing from the pyramid bag +BattleFrontier_BattlePyramidLobby_EventScript_PickItemsToKeep:: @ 8250E09 + multichoice 17, 6, MULTI_FRONTIER_ITEM_CHOOSE, 0 switch VAR_RESULT - case 0, BattleFrontier_BattlePyramidLobby_EventScript_250E40 - case 1, BattleFrontier_BattlePyramidLobby_EventScript_250E50 - case 2, BattleFrontier_BattlePyramidLobby_EventScript_250E60 - case 127, BattleFrontier_BattlePyramidLobby_EventScript_250E60 + case 0, BattleFrontier_BattlePyramidLobby_EventScript_PickItemsFromBag + case 1, BattleFrontier_BattlePyramidLobby_EventScript_PickItemsFromParty + case 2, BattleFrontier_BattlePyramidLobby_EventScript_ExitPickItems + case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_ExitPickItems end -BattleFrontier_BattlePyramidLobby_EventScript_250E40:: @ 8250E40 - special sub_81C4F24 +BattleFrontier_BattlePyramidLobby_EventScript_PickItemsFromBag:: @ 8250E40 + special ChooseItemsToTossFromPyramidBag waitstate - message BattleFrontier_BattlePyramidLobby_Text_25197E + message BattleFrontier_BattlePyramidLobby_Text_PickItemsToKeep waitmessage - goto BattleFrontier_BattlePyramidLobby_EventScript_250E09 + goto BattleFrontier_BattlePyramidLobby_EventScript_PickItemsToKeep end -BattleFrontier_BattlePyramidLobby_EventScript_250E50:: @ 8250E50 - special sub_81B9620 +BattleFrontier_BattlePyramidLobby_EventScript_PickItemsFromParty:: @ 8250E50 + special BattlePyramidChooseMonHeldItems waitstate - message BattleFrontier_BattlePyramidLobby_Text_25197E + message BattleFrontier_BattlePyramidLobby_Text_PickItemsToKeep waitmessage - goto BattleFrontier_BattlePyramidLobby_EventScript_250E09 + goto BattleFrontier_BattlePyramidLobby_EventScript_PickItemsToKeep end -BattleFrontier_BattlePyramidLobby_EventScript_250E60:: @ 8250E60 - special sub_81B95E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250E6F +BattleFrontier_BattlePyramidLobby_EventScript_ExitPickItems:: @ 8250E60 + special DoBattlePyramidMonsHaveHeldItem + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_PartyStillHasHeldItems return -BattleFrontier_BattlePyramidLobby_EventScript_250E6F:: @ 8250E6F - msgbox BattleFrontier_BattlePyramidLobby_Text_25194F, MSGBOX_DEFAULT - message BattleFrontier_BattlePyramidLobby_Text_25197E +BattleFrontier_BattlePyramidLobby_EventScript_PartyStillHasHeldItems:: @ 8250E6F + msgbox BattleFrontier_BattlePyramidLobby_Text_LeastOneMonHoldingItem, MSGBOX_DEFAULT + message BattleFrontier_BattlePyramidLobby_Text_PickItemsToKeep waitmessage - goto BattleFrontier_BattlePyramidLobby_EventScript_250E09 + goto BattleFrontier_BattlePyramidLobby_EventScript_PickItemsToKeep end -BattleFrontier_BattlePyramidLobby_EventScript_250E83:: @ 8250E83 - msgbox BattleFrontier_BattlePyramidLobby_Text_2524DA, MSGBOX_NPC +BattleFrontier_BattlePyramidLobby_EventScript_Woman:: @ 8250E83 + msgbox BattleFrontier_BattlePyramidLobby_Text_TrainersNoticeRunning, MSGBOX_NPC end -BattleFrontier_BattlePyramidLobby_EventScript_250E8C:: @ 8250E8C - msgbox BattleFrontier_BattlePyramidLobby_Text_252595, MSGBOX_NPC +BattleFrontier_BattlePyramidLobby_EventScript_FatMan:: @ 8250E8C + msgbox BattleFrontier_BattlePyramidLobby_Text_LostLotOfItems, MSGBOX_NPC end -BattleFrontier_BattlePyramidLobby_EventScript_250E95:: @ 8250E95 +BattleFrontier_BattlePyramidLobby_EventScript_RulesBoard:: @ 8250E95 lockall - msgbox BattleFrontier_BattlePyramidLobby_Text_2526B6, MSGBOX_DEFAULT - goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4 + msgbox BattleFrontier_BattlePyramidLobby_Text_RulesAreListed, MSGBOX_DEFAULT + goto BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattlePyramidLobby_EventScript_250EA4:: @ 8250EA4 - message BattleFrontier_BattlePyramidLobby_Text_2526D9 +BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard:: @ 8250EA4 + message BattleFrontier_BattlePyramidLobby_Text_ReadWhichHeading waitmessage - multichoice 15, 2, 101, 0 + multichoice 15, 2, MULTI_BATTLE_PYRAMID_RULES, 0 switch VAR_RESULT - case 0, BattleFrontier_BattlePyramidLobby_EventScript_250EF7 - case 1, BattleFrontier_BattlePyramidLobby_EventScript_250F05 - case 2, BattleFrontier_BattlePyramidLobby_EventScript_250F13 - case 3, BattleFrontier_BattlePyramidLobby_EventScript_250F21 - case 4, BattleFrontier_BattlePyramidLobby_EventScript_250F2F - case 127, BattleFrontier_BattlePyramidLobby_EventScript_250F2F + case 0, BattleFrontier_BattlePyramidLobby_EventScript_RulesPokemon + case 1, BattleFrontier_BattlePyramidLobby_EventScript_RulesTrainers + case 2, BattleFrontier_BattlePyramidLobby_EventScript_RulesMaze + case 3, BattleFrontier_BattlePyramidLobby_EventScript_RulesBag + case 4, BattleFrontier_BattlePyramidLobby_EventScript_ExitRules + case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_ExitRules end -BattleFrontier_BattlePyramidLobby_EventScript_250EF7:: @ 8250EF7 - msgbox BattleFrontier_BattlePyramidLobby_Text_2526FC, MSGBOX_DEFAULT - goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4 +BattleFrontier_BattlePyramidLobby_EventScript_RulesPokemon:: @ 8250EF7 + msgbox BattleFrontier_BattlePyramidLobby_Text_ExplainMonRules, MSGBOX_DEFAULT + goto BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattlePyramidLobby_EventScript_250F05:: @ 8250F05 - msgbox BattleFrontier_BattlePyramidLobby_Text_2527A9, MSGBOX_DEFAULT - goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4 +BattleFrontier_BattlePyramidLobby_EventScript_RulesTrainers:: @ 8250F05 + msgbox BattleFrontier_BattlePyramidLobby_Text_ExplainTrainerRules, MSGBOX_DEFAULT + goto BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattlePyramidLobby_EventScript_250F13:: @ 8250F13 - msgbox BattleFrontier_BattlePyramidLobby_Text_25285A, MSGBOX_DEFAULT - goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4 +BattleFrontier_BattlePyramidLobby_EventScript_RulesMaze:: @ 8250F13 + msgbox BattleFrontier_BattlePyramidLobby_Text_ExplainMazeRules, MSGBOX_DEFAULT + goto BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattlePyramidLobby_EventScript_250F21:: @ 8250F21 - msgbox BattleFrontier_BattlePyramidLobby_Text_252924, MSGBOX_DEFAULT - goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4 +BattleFrontier_BattlePyramidLobby_EventScript_RulesBag:: @ 8250F21 + msgbox BattleFrontier_BattlePyramidLobby_Text_ExplainBagRules, MSGBOX_DEFAULT + goto BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattlePyramidLobby_EventScript_250F2F:: @ 8250F2F +BattleFrontier_BattlePyramidLobby_EventScript_ExitRules:: @ 8250F2F releaseall end -BattleFrontier_BattlePyramidLobby_Text_250F31: @ 8250F31 +BattleFrontier_BattlePyramidLobby_Text_WelcomeToBattlePyramid: @ 8250F31 .string "Where the courage of TRAINERS\n" .string "is put to the test!\p" .string "Welcome to the BATTLE PYRAMID!\p" .string "I am your guide to\n" .string "the Battle Quest.$" -BattleFrontier_BattlePyramidLobby_Text_250FA7: @ 8250FA7 +BattleFrontier_BattlePyramidLobby_Text_EmbarkOnChallenge: @ 8250FA7 .string "Have you the courage to embark on\n" .string "the Battle Quest challenge?$" -BattleFrontier_BattlePyramidLobby_Text_250FE5: @ 8250FE5 +BattleFrontier_BattlePyramidLobby_Text_AwaitFutureChallenge: @ 8250FE5 .string "We await your challenge in the future!$" -BattleFrontier_BattlePyramidLobby_Text_25100C: @ 825100C +BattleFrontier_BattlePyramidLobby_Text_ExplainBattlePyramid: @ 825100C .string "The Battle Quest is a battling\n" .string "event in which you must explore\l" .string "the PYRAMID and try to reach the top.\p" @@ -629,16 +564,16 @@ BattleFrontier_BattlePyramidLobby_Text_25100C: @ 825100C .string "If you don't save before interrupting,\n" .string "you will be disqualified.$" -BattleFrontier_BattlePyramidLobby_Text_251248: @ 8251248 +BattleFrontier_BattlePyramidLobby_Text_WhichLevelMode: @ 8251248 .string "The PYRAMID offers two courses,\n" .string "Level 50 and Open Level.\l" .string "Which will you enter?$" -BattleFrontier_BattlePyramidLobby_Text_251297: @ 8251297 +BattleFrontier_BattlePyramidLobby_Text_SelectThreeMons: @ 8251297 .string "Very good. Now, please select the three\n" .string "POKéMON you wish to accompany you.$" -BattleFrontier_BattlePyramidLobby_Text_2512E2: @ 82512E2 +BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsLvOpen: @ 82512E2 .string "A slight problem, adventurer!\p" .string "You seem to not have the three\n" .string "POKéMON qualified for the challenge.\p" @@ -648,7 +583,7 @@ BattleFrontier_BattlePyramidLobby_Text_2512E2: @ 82512E2 .string "When you are ready, please have\n" .string "a word with me.$" -BattleFrontier_BattlePyramidLobby_Text_2513C1: @ 82513C1 +BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsLv50: @ 82513C1 .string "A slight problem, adventurer!\p" .string "You seem to not have the three\n" .string "POKéMON qualified for the challenge.\p" @@ -660,38 +595,38 @@ BattleFrontier_BattlePyramidLobby_Text_2513C1: @ 82513C1 .string "When you are ready, please have\n" .string "a word with me.$" -BattleFrontier_BattlePyramidLobby_Text_2514E6: @ 82514E6 +BattleFrontier_BattlePyramidLobby_Text_OkayToSaveBeforeChallenge: @ 82514E6 .string "Before you enter the BATTLE PYRAMID,\n" .string "the game must be saved. Is that okay?$" -BattleFrontier_BattlePyramidLobby_Text_251531: @ 8251531 +BattleFrontier_BattlePyramidLobby_Text_ShowYouIntoPyramid: @ 8251531 .string "Very good. I will now show you into\n" .string "the BATTLE PYRAMID.$" -BattleFrontier_BattlePyramidLobby_Text_251569: @ 8251569 +BattleFrontier_BattlePyramidLobby_Text_WeWillHoldBagForSafekeeping: @ 8251569 .string "We will hold your BAG for safekeeping,\n" .string "{PLAYER}, while you are exploring.$" -BattleFrontier_BattlePyramidLobby_Text_2515AD: @ 82515AD +BattleFrontier_BattlePyramidLobby_Text_PleaseTakePreviousBattleBag: @ 82515AD .string "In exchange, please take this BATTLE\n" .string "BAG, the one you used previously.$" -BattleFrontier_BattlePyramidLobby_Text_2515F4: @ 82515F4 +BattleFrontier_BattlePyramidLobby_Text_PleaseTakeThisBattleBag: @ 82515F4 .string "In exchange, please take this\n" .string "BATTLE BAG.$" -BattleFrontier_BattlePyramidLobby_Text_25161E: @ 825161E +BattleFrontier_BattlePyramidLobby_Text_ExchangedBagForBattleBag: @ 825161E .string "{PLAYER} exchanged the BAG for\n" .string "the BATTLE BAG.$" -BattleFrontier_BattlePyramidLobby_Text_251647: @ 8251647 +BattleFrontier_BattlePyramidLobby_Text_StepOnFloorPanel: @ 8251647 .string "When you step on this floor panel,\n" .string "you will be transported to a higher\l" .string "floor in the PYRAMID.\p" .string "I hope for your sake that your\n" .string "quest goes safely!$" -BattleFrontier_BattlePyramidLobby_Text_2516D6: @ 82516D6 +BattleFrontier_BattlePyramidLobby_Text_DidntSaveBeforeQuittingTakeBag: @ 82516D6 .string "A major problem, explorer!\p" .string "You did not save before ending\n" .string "your challenge the last time.\p" @@ -701,107 +636,112 @@ BattleFrontier_BattlePyramidLobby_Text_2516D6: @ 82516D6 .string "for you.\p" .string "{PLAYER} got the BAG back.$" -BattleFrontier_BattlePyramidLobby_Text_2517B5: @ 82517B5 +BattleFrontier_BattlePyramidLobby_Text_YouveConqueredPyramid: @ 82517B5 .string "Excellent to see you back!\p" .string "You've conquered the PYRAMID!\n" .string "How splendid!$" -BattleFrontier_BattlePyramidLobby_Text_2517FC: @ 82517FC +BattleFrontier_BattlePyramidLobby_Text_MonHoldingItemCannotTake: @ 82517FC .string "Ah, a slight problem.\p" .string "At least one POKéMON is holding\n" .string "an item.\p" .string "I'm sorry to say, items obtained in\n" .string "the PYRAMID cannot be taken away.$" -BattleFrontier_BattlePyramidLobby_Text_251881: @ 8251881 +BattleFrontier_BattlePyramidLobby_Text_HeldItemsMovedToBag: @ 8251881 .string "All items held by your POKéMON will be\n" .string "moved to your BATTLE BAG, {PLAYER}.$" -BattleFrontier_BattlePyramidLobby_Text_2518C6: @ 82518C6 +BattleFrontier_BattlePyramidLobby_Text_BagCannotHoldPickItemsToKeep: @ 82518C6 .string "The BATTLE BAG cannot hold all your\n" .string "items, I'm sorry to say.\p" .string "Please pick the items you'll keep in the\n" .string "BATTLE BAG, and with your POKéMON.$" -BattleFrontier_BattlePyramidLobby_Text_25194F: @ 825194F +BattleFrontier_BattlePyramidLobby_Text_LeastOneMonHoldingItem: @ 825194F .string "At least one POKéMON is still\n" .string "holding an item.$" -BattleFrontier_BattlePyramidLobby_Text_25197E: @ 825197E +BattleFrontier_BattlePyramidLobby_Text_PickItemsToKeep: @ 825197E .string "Please pick the items you'll keep in the\n" .string "BATTLE BAG, and with your POKéMON.$" -BattleFrontier_BattlePyramidLobby_Text_2519CA: @ 82519CA +@ Unused +BattleFrontier_BattlePyramidLobby_Text_ReturnedEverythingMonsHeld: @ 82519CA .string "{PLAYER} returned everything that\n" .string "the POKéMON held.$" -BattleFrontier_BattlePyramidLobby_Text_2519F8: @ 82519F8 +BattleFrontier_BattlePyramidLobby_Text_UsedBattleBagWillBeKept: @ 82519F8 .string "The BATTLE BAG you used will be kept\n" .string "in readiness for your next challenge.\p" .string "{PLAYER} turned the BATTLE BAG over\n" .string "for the BAG's return.$" -BattleFrontier_BattlePyramidLobby_Text_251A77: @ 8251A77 +BattleFrontier_BattlePyramidLobby_Text_RecordResultsWait: @ 8251A77 .string "I must record your results.\n" .string "Please wait.$" -BattleFrontier_BattlePyramidLobby_Text_251AA0: @ 8251AA0 +@ Unused +BattleFrontier_BattlePyramidLobby_Text_ForConqueringPyramidTakeThis: @ 8251AA0 .string "As a memento for conquering\n" .string "the BATTLE PYRAMID, please take this.$" -BattleFrontier_BattlePyramidLobby_Text_251AE2: @ 8251AE2 +@ Unused +BattleFrontier_BattlePyramidLobby_Text_ReceivedPrizeItem: @ 8251AE2 .string "{PLAYER} received the prize\n" .string "{STR_VAR_1}.$" -BattleFrontier_BattlePyramidLobby_Text_251AFC: @ 8251AFC +@ Unused +BattleFrontier_BattlePyramidLobby_Text_BagIsFull: @ 8251AFC .string "…Ah…\n" .string "Your BAG appears to be filled.\p" .string "Please return after you've organized\n" .string "your BAG's contents.$" -BattleFrontier_BattlePyramidLobby_Text_251B5A: @ 8251B5A +BattleFrontier_BattlePyramidLobby_Text_DisappointingHereIsBag: @ 8251B5A .string "How disappointing for you…\p" .string "Here is the BAG we've been holding\n" .string "for you.\p" .string "{PLAYER} got the BAG back.$" -BattleFrontier_BattlePyramidLobby_Text_251BB6: @ 8251BB6 +BattleFrontier_BattlePyramidLobby_Text_LookForwardToNextChallenge: @ 8251BB6 .string "We look forward to your\n" .string "next challenge!$" -BattleFrontier_BattlePyramidLobby_Text_251BDE: @ 8251BDE +@ Unused +BattleFrontier_BattlePyramidLobby_Text_HereIsPrize: @ 8251BDE .string "We have been looking forward to\n" .string "your arrival!\p" .string "Here is your prize for conquering\n" .string "the PYRAMID.$" -BattleFrontier_BattlePyramidLobby_Text_251C3B: @ 8251C3B +BattleFrontier_BattlePyramidLobby_Text_TellYouWhatMisfortunesAwait: @ 8251C3B .string "Welcome…\p" .string "I shall be pleased to tell you what\n" .string "misfortunes await in the PYRAMID…$" -BattleFrontier_BattlePyramidLobby_Text_251C8A: @ 8251C8A +BattleFrontier_BattlePyramidLobby_Text_Aah: @ 8251C8A .string "… … … … … …\n" .string "… … … … … …\p" .string "… … … … … …\n" .string "Aah!$" -BattleFrontier_BattlePyramidLobby_Text_251CB3: @ 8251CB3 +BattleFrontier_BattlePyramidLobby_Text_HintParalysis: @ 8251CB3 .string "I see a shower of sparks…\p" .string "…And in it, I see your POKéMON\n" .string "struggling with paralysis…$" -BattleFrontier_BattlePyramidLobby_Text_251D07: @ 8251D07 +BattleFrontier_BattlePyramidLobby_Text_HintPoison: @ 8251D07 .string "I see poison…\p" .string "…And, I see your POKéMON suffering\n" .string "from the effects of poison…$" -BattleFrontier_BattlePyramidLobby_Text_251D54: @ 8251D54 +BattleFrontier_BattlePyramidLobby_Text_HintBurn: @ 8251D54 .string "I see bright red flames…\p" .string "…And, I see your POKéMON suffering\n" .string "from burns…$" -BattleFrontier_BattlePyramidLobby_Text_251D9C: @ 8251D9C +BattleFrontier_BattlePyramidLobby_Text_HintPPWaste: @ 8251D9C .string "I sense the tremendous pressure of\n" .string "unrequited anger…\p" .string "It is a curse…\p" @@ -809,44 +749,44 @@ BattleFrontier_BattlePyramidLobby_Text_251D9C: @ 8251D9C .string "Power Points and having no recourse\l" .string "but to use STRUGGLE…$" -BattleFrontier_BattlePyramidLobby_Text_251E3D: @ 8251E3D +BattleFrontier_BattlePyramidLobby_Text_HintLevitate: @ 8251E3D .string "I see POKéMON loftily airborne…\p" .string "…And, I see your POKéMON frustrated\n" .string "by powerless GROUND-type moves…$" -BattleFrontier_BattlePyramidLobby_Text_251EA1: @ 8251EA1 +BattleFrontier_BattlePyramidLobby_Text_HintTrapAbility: @ 8251EA1 .string "I sense terrific energy rising from\n" .string "the ground below…\p" .string "…And, I see your POKéMON unable to\n" .string "escape the power's clutches…$" -BattleFrontier_BattlePyramidLobby_Text_251F17: @ 8251F17 +BattleFrontier_BattlePyramidLobby_Text_HintIce: @ 8251F17 .string "I see ICE-type POKéMON…\p" .string "…And, I see your POKéMON fighting\n" .string "the freezing effects of ice…$" -BattleFrontier_BattlePyramidLobby_Text_251F6E: @ 8251F6E +BattleFrontier_BattlePyramidLobby_Text_HintExplosion: @ 8251F6E .string "I see a flurry of moves that imperil\n" .string "the user…\p" .string "…And, I see your POKéMON falling\n" .string "to them…$" -BattleFrontier_BattlePyramidLobby_Text_251FC7: @ 8251FC7 +BattleFrontier_BattlePyramidLobby_Text_HintPsychic: @ 8251FC7 .string "I see PSYCHIC-type POKéMON…\p" .string "…And, I see your POKéMON in torment\n" .string "from PSYCHIC moves…$" -BattleFrontier_BattlePyramidLobby_Text_25201B: @ 825201B +BattleFrontier_BattlePyramidLobby_Text_HintRock: @ 825201B .string "I see ROCK-type POKéMON…\p" .string "…And, I see your POKéMON suffering\n" .string "from ROCK moves…$" -BattleFrontier_BattlePyramidLobby_Text_252068: @ 8252068 +BattleFrontier_BattlePyramidLobby_Text_HintFighting: @ 8252068 .string "I see FIGHTING-type POKéMON…\p" .string "…And, I see your POKéMON pummeled\n" .string "by FIGHTING moves…$" -BattleFrontier_BattlePyramidLobby_Text_2520BA: @ 82520BA +BattleFrontier_BattlePyramidLobby_Text_HintWeather: @ 82520BA .string "RAIN DANCE… SUNNY DAY…\n" .string "SANDSTORM… HAIL…\p" .string "I see POKéMON that become stronger\n" @@ -854,37 +794,37 @@ BattleFrontier_BattlePyramidLobby_Text_2520BA: @ 82520BA .string "…And, I see your POKéMON confounded\n" .string "by different types of moves…$" -BattleFrontier_BattlePyramidLobby_Text_252158: @ 8252158 +BattleFrontier_BattlePyramidLobby_Text_HintBug: @ 8252158 .string "I see BUG-type POKéMON…\p" .string "…And, I see your POKéMON suffering\n" .string "from different kinds of attacks…$" -BattleFrontier_BattlePyramidLobby_Text_2521B4: @ 82521B4 +BattleFrontier_BattlePyramidLobby_Text_HintDark: @ 82521B4 .string "I see DARK-type POKéMON…\p" .string "…And, I see your POKéMON suffering\n" .string "from DARK-type moves…$" -BattleFrontier_BattlePyramidLobby_Text_252206: @ 8252206 +BattleFrontier_BattlePyramidLobby_Text_HintWater: @ 8252206 .string "I see WATER-type POKéMON…\p" .string "…And, I see your POKéMON suffering\n" .string "from WATER-type moves…$" -BattleFrontier_BattlePyramidLobby_Text_25225A: @ 825225A +BattleFrontier_BattlePyramidLobby_Text_HintGhost: @ 825225A .string "I see GHOST-type POKéMON…\p" .string "…And, I see your POKéMON suffering\n" .string "from GHOST-type moves…$" -BattleFrontier_BattlePyramidLobby_Text_2522AE: @ 82522AE +BattleFrontier_BattlePyramidLobby_Text_HintSteel: @ 82522AE .string "I see STEEL-type POKéMON…\p" .string "…And, I see your POKéMON suffering\n" .string "from enormously powerful moves…$" -BattleFrontier_BattlePyramidLobby_Text_25230B: @ 825230B +BattleFrontier_BattlePyramidLobby_Text_HintFlyingDragon: @ 825230B .string "I see flying POKéMON…\p" .string "…And, I see your POKéMON suffering\n" .string "from enormously powerful moves…$" -BattleFrontier_BattlePyramidLobby_Text_252364: @ 8252364 +BattleFrontier_BattlePyramidLobby_Text_HintStoneEvolve: @ 8252364 .string "I see those that have evolved from\n" .string "the power of stones…\p" .string "I also sense fire, water,\n" @@ -892,18 +832,18 @@ BattleFrontier_BattlePyramidLobby_Text_252364: @ 8252364 .string "…And, I see your POKéMON suffering\n" .string "from those three powers…$" -BattleFrontier_BattlePyramidLobby_Text_252403: @ 8252403 +BattleFrontier_BattlePyramidLobby_Text_HintNormal: @ 8252403 .string "I see NORMAL-type POKéMON…\p" .string "…And, I see your POKéMON suffering\n" .string "from enormously powerful moves…$" -BattleFrontier_BattlePyramidLobby_Text_252461: @ 8252461 +BattleFrontier_BattlePyramidLobby_Text_BelieveMyFortunesOrNot: @ 8252461 .string "Whether you believe my fortunes\n" .string "or not, the choice is yours…\p" .string "The future can be changed anytime…\n" .string "I wish you safe passage…$" -BattleFrontier_BattlePyramidLobby_Text_2524DA: @ 82524DA +BattleFrontier_BattlePyramidLobby_Text_TrainersNoticeRunning: @ 82524DA .string "Did you know?\p" .string "If you run fast, TRAINERS may notice\n" .string "and come after you for a battle.\p" @@ -911,37 +851,37 @@ BattleFrontier_BattlePyramidLobby_Text_2524DA: @ 82524DA .string "don't catch their eyes, but sneak\l" .string "cautiously and quietly past them.$" -BattleFrontier_BattlePyramidLobby_Text_252595: @ 8252595 +BattleFrontier_BattlePyramidLobby_Text_LostLotOfItems: @ 8252595 .string "Awaaaaaaarrrrgh!\p" .string "I had a whole lot of items, but I lost\n" .string "them all when I lost!\p" .string "Awaaaaaaarrrrgh!$" -BattleFrontier_BattlePyramidLobby_Text_2525F4: @ 82525F4 +BattleFrontier_BattlePyramidLobby_Text_YouveDefeatedPyramidKing: @ 82525F4 .string "Welcome back!\n" .string "You've done the unthinkable!\p" .string "You've defeated the PYRAMID KING\n" .string "and conquered the BATTLE PYRAMID!$" -BattleFrontier_BattlePyramidLobby_Text_252662: @ 8252662 +BattleFrontier_BattlePyramidLobby_Text_GiveYouTheseBattlePoints: @ 8252662 .string "Young explorer!\n" .string "In commendation of your courage,\l" .string "we give you these Battle Point(s)!$" -BattleFrontier_BattlePyramidLobby_Text_2526B6: @ 82526B6 +BattleFrontier_BattlePyramidLobby_Text_RulesAreListed: @ 82526B6 .string "The Battle Quest rules are listed.$" -BattleFrontier_BattlePyramidLobby_Text_2526D9: @ 82526D9 +BattleFrontier_BattlePyramidLobby_Text_ReadWhichHeading: @ 82526D9 .string "Which heading do you want to read?$" -BattleFrontier_BattlePyramidLobby_Text_2526FC: @ 82526FC +BattleFrontier_BattlePyramidLobby_Text_ExplainMonRules: @ 82526FC .string "When the PYRAMID is conquered,\n" .string "the wild POKéMON that appear in it\l" .string "are replaced by different kinds.\p" .string "Explore, observe, and learn what kinds\n" .string "of wild POKéMON you may encounter.$" -BattleFrontier_BattlePyramidLobby_Text_2527A9: @ 82527A9 +BattleFrontier_BattlePyramidLobby_Text_ExplainTrainerRules: @ 82527A9 .string "TRAINERS are lying in wait for you\n" .string "inside the PYRAMID.\p" .string "On each floor, there are up to\n" @@ -949,7 +889,7 @@ BattleFrontier_BattlePyramidLobby_Text_2527A9: @ 82527A9 .string "When you defeat a TRAINER, you will\n" .string "get a helpful hint for your adventure.$" -BattleFrontier_BattlePyramidLobby_Text_25285A: @ 825285A +BattleFrontier_BattlePyramidLobby_Text_ExplainMazeRules: @ 825285A .string "The mazes in the PYRAMID rearrange\n" .string "themselves every time you enter it.\p" .string "The mazes are poorly lit.\n" @@ -957,7 +897,7 @@ BattleFrontier_BattlePyramidLobby_Text_25285A: @ 825285A .string "The light grows brighter whenever you\n" .string "defeat a wild POKéMON or a TRAINER.$" -BattleFrontier_BattlePyramidLobby_Text_252924: @ 8252924 +BattleFrontier_BattlePyramidLobby_Text_ExplainBagRules: @ 8252924 .string "The BATTLE BAG serves as your BAG\n" .string "while in the PYRAMID.\p" .string "There are two separate BATTLE BAGS--\n" diff --git a/data/maps/BattleFrontier_BattlePyramidTop/map.json b/data/maps/BattleFrontier_BattlePyramidTop/map.json index d73dc16923..3a304f147f 100644 --- a/data/maps/BattleFrontier_BattlePyramidTop/map.json +++ b/data/maps/BattleFrontier_BattlePyramidTop/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "3", - "script": "BattleFrontier_BattlePyramidTop_EventScript_2551D0", + "script": "BattleFrontier_BattlePyramidTop_EventScript_Attendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "elevation": 4, "var": "VAR_TEMP_2", "var_value": "0", - "script": "BattleFrontier_BattlePyramidTop_EventScript_255256" + "script": "BattleFrontier_BattlePyramidTop_EventScript_BattleBrandon" } ], "bg_events": [] diff --git a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc index 39bb39f498..2d9006e9ee 100644 --- a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc @@ -1,232 +1,197 @@ BattleFrontier_BattlePyramidTop_MapScripts:: @ 82550A1 - map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePyramidTop_MapScript1_2550F4 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePyramidTop_MapScript2_25516E - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePyramidTop_MapScript1_2550B6 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePyramidTop_MapScript2_2550CE + map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePyramidTop_OnResume + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePyramidTop_OnFrame + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePyramidTop_OnTransition + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePyramidTop_OnWarp .byte 0 -BattleFrontier_BattlePyramidTop_MapScript1_2550B6: @ 82550B6 - setvar VAR_0x8004, 13 - setvar VAR_0x8005, 200 - setvar VAR_0x8006, 0 - special CallBattlePyramidFunction +BattleFrontier_BattlePyramidTop_OnTransition: @ 82550B6 + pyramid_updatelight 200, PYRAMID_LIGHT_SET_RADIUS setvar VAR_TEMP_F, 1 end -BattleFrontier_BattlePyramidTop_MapScript2_2550CE: @ 82550CE - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePyramidTop_EventScript_2550D8 +BattleFrontier_BattlePyramidTop_OnWarp: @ 82550CE + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePyramidTop_EventScript_SetUpObjects .2byte 0 -BattleFrontier_BattlePyramidTop_EventScript_2550D8:: @ 82550D8 +BattleFrontier_BattlePyramidTop_EventScript_SetUpObjects:: @ 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 + goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_EndSetUpObjects setobjectxyperm 2, 0, 0 - -BattleFrontier_BattlePyramidTop_EventScript_2550F3:: @ 82550F3 +BattleFrontier_BattlePyramidTop_EventScript_EndSetUpObjects:: @ 82550F3 end -BattleFrontier_BattlePyramidTop_MapScript1_2550F4: @ 82550F4 - setvar VAR_0x8004, 9 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_25510C - call BattleFrontier_BattlePyramidTop_EventScript_242170 - -BattleFrontier_BattlePyramidTop_EventScript_25510C:: @ 825510C +BattleFrontier_BattlePyramidTop_OnResume: @ 82550F4 + frontier_getbrainstatus + compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY + goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_CheckChallengeStatus + call BattleFrontier_EventScript_SetBrainObjectGfx +BattleFrontier_BattlePyramidTop_EventScript_CheckChallengeStatus:: @ 825510C copyvar VAR_TEMP_C, VAR_RESULT - setvar VAR_0x8004, 0 - special CallFrontierUtilFunc + frontier_getstatus switch VAR_TEMP_0 - case 0, BattleFrontier_BattlePyramidTop_EventScript_255193 - case 1, BattleFrontier_BattlePyramidTop_EventScript_252B66 - case 2, BattleFrontier_BattlePyramidTop_EventScript_255193 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 5 - special CallFrontierUtilFunc - compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 - compare VAR_RESULT, 3 - goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 - compare VAR_RESULT, 9 - goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 + case 0, BattleFrontier_BattlePyramidTop_EventScript_ReadyChallenge + case CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramid_EventScript_WarpToLobby + case CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidTop_EventScript_ReadyChallenge + frontier_get FRONTIER_DATA_BATTLE_OUTCOME + compare VAR_RESULT, B_OUTCOME_LOST + goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost + compare VAR_RESULT, B_OUTCOME_DREW + goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost + compare VAR_RESULT, B_OUTCOME_FORFEITED + goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost end -BattleFrontier_BattlePyramidTop_MapScript2_25516E: @ 825516E - map_script_2 VAR_TEMP_E, 0, BattleFrontier_BattlePyramidTop_EventScript_255180 - map_script_2 VAR_TEMP_F, 1, BattleFrontier_BattlePyramidTop_EventScript_25518A +BattleFrontier_BattlePyramidTop_OnFrame: @ 825516E + map_script_2 VAR_TEMP_E, 0, BattleFrontier_BattlePyramidTop_EventScript_PlayPyramidMusic + map_script_2 VAR_TEMP_F, 1, BattleFrontier_BattlePyramidTop_EventScript_ShowMapName .2byte 0 -BattleFrontier_BattlePyramidTop_EventScript_255180:: @ 8255180 +BattleFrontier_BattlePyramidTop_EventScript_PlayPyramidMusic:: @ 8255180 playbgm MUS_PYRAMID_TOP, 0 setvar VAR_TEMP_E, 1 end -BattleFrontier_BattlePyramidTop_EventScript_25518A:: @ 825518A +BattleFrontier_BattlePyramidTop_EventScript_ShowMapName:: @ 825518A special ShowMapNamePopup setvar VAR_TEMP_F, 0 end -BattleFrontier_BattlePyramidTop_EventScript_255193:: @ 8255193 - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 1 - special CallBattlePyramidFunction +BattleFrontier_BattlePyramidTop_EventScript_ReadyChallenge:: @ 8255193 + pyramid_save CHALLENGE_STATUS_SAVING special SavePlayerParty - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - setvar VAR_0x8004, 9 - special CallBattlePyramidFunction - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 + pyramid_settrainers + frontier_setpartyorder FRONTIER_PARTY_SIZE setvar VAR_TEMP_F, 1 end -BattleFrontier_BattlePyramidTop_EventScript_2551D0:: @ 82551D0 +BattleFrontier_BattlePyramidTop_EventScript_Attendant:: @ 82551D0 lock faceplayer compare VAR_TEMP_D, 0 - goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_255236 - compare VAR_TEMP_C, 0 - goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_255240 - msgbox BattleFrontier_BattlePyramidTop_Text_255410, MSGBOX_DEFAULT + goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_StepForwardWhenReady + compare VAR_TEMP_C, FRONTIER_BRAIN_NOT_READY + goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_BrandonHereMoveAside + msgbox BattleFrontier_BattlePyramidTop_Text_ReachedSummitUpYouGo, MSGBOX_DEFAULT closemessage - applymovement 1, BattleFrontier_BattlePyramidTop_Movement_2553FD + applymovement 1, BattleFrontier_BattlePyramidTop_Movement_AttendantMoveAside waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidTop_Movement_255403 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidTop_Movement_PlayerClimbToTop waitmovement 0 - applymovement 1, BattleFrontier_BattlePyramidTop_Movement_255400 + applymovement 1, BattleFrontier_BattlePyramidTop_Movement_AttendantBlockPath waitmovement 0 - message BattleFrontier_BattlePyramidTop_Text_2554E8 + message BattleFrontier_BattlePyramidTop_Text_PlayerConqueredPyramid waitmessage playfanfare MUS_ME_POINTGET waitfanfare closemessage - -BattleFrontier_BattlePyramidTop_EventScript_25521A:: @ 825521A - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 3 - special CallFrontierUtilFunc +BattleFrontier_BattlePyramidTop_EventScript_WarpToLobbyWon:: @ 825521A + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13 waitstate end -BattleFrontier_BattlePyramidTop_EventScript_255236:: @ 8255236 - msgbox BattleFrontier_BattlePyramidTop_Text_255BFE, MSGBOX_DEFAULT +BattleFrontier_BattlePyramidTop_EventScript_StepForwardWhenReady:: @ 8255236 + msgbox BattleFrontier_BattlePyramidTop_Text_StepForwardWhenReady, MSGBOX_DEFAULT closemessage end -BattleFrontier_BattlePyramidTop_EventScript_255240:: @ 8255240 - msgbox BattleFrontier_BattlePyramidTop_Text_25551F, MSGBOX_DEFAULT - applymovement 1, BattleFrontier_BattlePyramidTop_Movement_2553FD +BattleFrontier_BattlePyramidTop_EventScript_BrandonHereMoveAside:: @ 8255240 + msgbox BattleFrontier_BattlePyramidTop_Text_ChiefBeatYouHere, MSGBOX_DEFAULT + applymovement 1, BattleFrontier_BattlePyramidTop_Movement_AttendantMoveAside setvar VAR_TEMP_D, 1 closemessage end -BattleFrontier_BattlePyramidTop_EventScript_255256:: @ 8255256 +BattleFrontier_BattlePyramidTop_EventScript_BattleBrandon:: @ 8255256 lockall switch VAR_TEMP_C - case 2, BattleFrontier_BattlePyramidTop_EventScript_255335 - case 3, BattleFrontier_BattlePyramidTop_EventScript_2552D0 - case 4, BattleFrontier_BattlePyramidTop_EventScript_255388 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_2552D0 + case FRONTIER_BRAIN_GOLD, BattleFrontier_BattlePyramidTop_EventScript_BrandonIntroGold + case FRONTIER_BRAIN_STREAK, BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardSilverSpeech + case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardGoldSpeech + frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH + compare VAR_RESULT, FALSE + goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardSilverSpeech special SpawnCameraObject - applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_25540C + applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_CameraPanUp waitmovement 0 - msgbox BattleFrontier_BattlePyramidTop_Text_255669, MSGBOX_DEFAULT + msgbox BattleFrontier_BattlePyramidTop_Text_ExplorationsAreGrandestAdventure, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A + frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH + applymovement 2, BattleFrontier_BattlePyramidTop_Movement_BrandonApproachPlayer waitmovement 0 - msgbox BattleFrontier_BattlePyramidTop_Text_25573E, MSGBOX_DEFAULT - goto BattleFrontier_BattlePyramidTop_EventScript_2552DA + msgbox BattleFrontier_BattlePyramidTop_Text_ImPyramidKingBrandon, MSGBOX_DEFAULT + goto BattleFrontier_BattlePyramidTop_EventScript_BattleBrandonSilver end -BattleFrontier_BattlePyramidTop_EventScript_2552D0:: @ 82552D0 - applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A +BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardSilverSpeech:: @ 82552D0 + applymovement 2, BattleFrontier_BattlePyramidTop_Movement_BrandonApproachPlayer waitmovement 0 - -BattleFrontier_BattlePyramidTop_EventScript_2552DA:: @ 82552DA - msgbox BattleFrontier_BattlePyramidTop_Text_255846, MSGBOX_DEFAULT - call BattleFrontier_BattlePyramidTop_EventScript_2553ED +BattleFrontier_BattlePyramidTop_EventScript_BattleBrandonSilver:: @ 82552DA + msgbox BattleFrontier_BattlePyramidTop_Text_BringCourageToOurBattle, MSGBOX_DEFAULT + call BattleFrontier_BattlePyramidTop_EventScript_DoBrandonBattle playbgm MUS_PYRAMID_TOP, 0 compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_2552FB - goto BattleFrontier_BattlePyramidTop_EventScript_252B42 + goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_DefeatedBrandonSilver + goto BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost -BattleFrontier_BattlePyramidTop_EventScript_2552FB:: @ 82552FB - setvar VAR_0x8004, 12 - special CallFrontierUtilFunc +BattleFrontier_BattlePyramidTop_EventScript_DefeatedBrandonSilver:: @ 82552FB + frontier_getsymbols compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_25521A - msgbox BattleFrontier_BattlePyramidTop_Text_255873, MSGBOX_DEFAULT + goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_WarpToLobbyWon + msgbox BattleFrontier_BattlePyramidTop_Text_BrandonFrontierPassPlease, MSGBOX_DEFAULT playfanfare MUS_ME_SYMBOLGET - message BattleFrontier_BattlePyramidTop_Text_2558E9 + message BattleFrontier_BattlePyramidTop_Text_ReceivedBraveSymbol waitmessage waitfanfare - setvar VAR_0x8004, 13 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattlePyramidTop_Text_25591D, MSGBOX_DEFAULT - goto BattleFrontier_BattlePyramidTop_EventScript_25521A + frontier_givesymbol + msgbox BattleFrontier_BattlePyramidTop_Text_LookForwardToNextMeeting, MSGBOX_DEFAULT + goto BattleFrontier_BattlePyramidTop_EventScript_WarpToLobbyWon -BattleFrontier_BattlePyramidTop_EventScript_255335:: @ 8255335 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_255388 +BattleFrontier_BattlePyramidTop_EventScript_BrandonIntroGold:: @ 8255335 + frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH + compare VAR_RESULT, FALSE + goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardGoldSpeech special SpawnCameraObject - applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_25540C + applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_CameraPanUp waitmovement 0 - msgbox BattleFrontier_BattlePyramidTop_Text_255951, MSGBOX_DEFAULT + msgbox BattleFrontier_BattlePyramidTop_Text_BrandonYouveReturned, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A + frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH + applymovement 2, BattleFrontier_BattlePyramidTop_Movement_BrandonApproachPlayer waitmovement 0 - msgbox BattleFrontier_BattlePyramidTop_Text_255A6D, MSGBOX_DEFAULT - goto BattleFrontier_BattlePyramidTop_EventScript_255392 + msgbox BattleFrontier_BattlePyramidTop_Text_MyCourageIsOffMeter, MSGBOX_DEFAULT + goto BattleFrontier_BattlePyramidTop_EventScript_BattleBrandonGold end -BattleFrontier_BattlePyramidTop_EventScript_255388:: @ 8255388 - applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A +BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardGoldSpeech:: @ 8255388 + applymovement 2, BattleFrontier_BattlePyramidTop_Movement_BrandonApproachPlayer waitmovement 0 - -BattleFrontier_BattlePyramidTop_EventScript_255392:: @ 8255392 - msgbox BattleFrontier_BattlePyramidTop_Text_255AA1, MSGBOX_DEFAULT - call BattleFrontier_BattlePyramidTop_EventScript_2553ED +BattleFrontier_BattlePyramidTop_EventScript_BattleBrandonGold:: @ 8255392 + msgbox BattleFrontier_BattlePyramidTop_Text_EverythingYouHave, MSGBOX_DEFAULT + call BattleFrontier_BattlePyramidTop_EventScript_DoBrandonBattle playbgm MUS_PYRAMID_TOP, 0 compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_2553B3 - goto BattleFrontier_BattlePyramidTop_EventScript_252B42 + goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_DefeatedBrandonGold + goto BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost -BattleFrontier_BattlePyramidTop_EventScript_2553B3:: @ 82553B3 - setvar VAR_0x8004, 12 - special CallFrontierUtilFunc +BattleFrontier_BattlePyramidTop_EventScript_DefeatedBrandonGold:: @ 82553B3 + frontier_getsymbols compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_25521A - msgbox BattleFrontier_BattlePyramidTop_Text_255ACD, MSGBOX_DEFAULT + goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_WarpToLobbyWon + msgbox BattleFrontier_BattlePyramidTop_Text_BrandonRemarkableHaveThis, MSGBOX_DEFAULT playfanfare MUS_ME_SYMBOLGET - message BattleFrontier_BattlePyramidTop_Text_255B59 + message BattleFrontier_BattlePyramidTop_Text_BraveSymbolTookGoldenShine waitmessage waitfanfare - setvar VAR_0x8004, 13 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattlePyramidTop_Text_255B82, MSGBOX_DEFAULT - goto BattleFrontier_BattlePyramidTop_EventScript_25521A + frontier_givesymbol + msgbox BattleFrontier_BattlePyramidTop_Text_FarewellForNow, MSGBOX_DEFAULT + goto BattleFrontier_BattlePyramidTop_EventScript_WarpToLobbyWon -BattleFrontier_BattlePyramidTop_EventScript_2553ED:: @ 82553ED +BattleFrontier_BattlePyramidTop_EventScript_DoBrandonBattle:: @ 82553ED closemessage setvar VAR_0x8004, SPECIAL_BATTLE_PYRAMID setvar VAR_0x8005, 0 @@ -234,17 +199,17 @@ BattleFrontier_BattlePyramidTop_EventScript_2553ED:: @ 82553ED waitstate return -BattleFrontier_BattlePyramidTop_Movement_2553FD: @ 82553FD +BattleFrontier_BattlePyramidTop_Movement_AttendantMoveAside: @ 82553FD walk_right walk_in_place_fastest_left step_end -BattleFrontier_BattlePyramidTop_Movement_255400: @ 8255400 +BattleFrontier_BattlePyramidTop_Movement_AttendantBlockPath: @ 8255400 walk_left walk_in_place_fastest_up step_end -BattleFrontier_BattlePyramidTop_Movement_255403: @ 8255403 +BattleFrontier_BattlePyramidTop_Movement_PlayerClimbToTop: @ 8255403 walk_up walk_up walk_up @@ -253,17 +218,17 @@ BattleFrontier_BattlePyramidTop_Movement_255403: @ 8255403 walk_in_place_fastest_down step_end -BattleFrontier_BattlePyramidTop_Movement_25540A: @ 825540A +BattleFrontier_BattlePyramidTop_Movement_BrandonApproachPlayer: @ 825540A walk_fast_down step_end -BattleFrontier_BattlePyramidTop_Movement_25540C: @ 825540C +BattleFrontier_BattlePyramidTop_Movement_CameraPanUp: @ 825540C walk_slow_up walk_slow_up delay_16 step_end -BattleFrontier_BattlePyramidTop_Text_255410: @ 8255410 +BattleFrontier_BattlePyramidTop_Text_ReachedSummitUpYouGo: @ 8255410 .string "It is a delight to see you here!\n" .string "You have reached the summit of\l" .string "the BATTLE PYRAMID!\p" @@ -274,11 +239,11 @@ BattleFrontier_BattlePyramidTop_Text_255410: @ 8255410 .string "Now, please!\n" .string "Up you go!$" -BattleFrontier_BattlePyramidTop_Text_2554E8: @ 82554E8 +BattleFrontier_BattlePyramidTop_Text_PlayerConqueredPyramid: @ 82554E8 .string "The PYRAMID's new conqueror!\n" .string "Let the name {PLAYER} be known!$" -BattleFrontier_BattlePyramidTop_Text_25551F: @ 825551F +BattleFrontier_BattlePyramidTop_Text_ChiefBeatYouHere: @ 825551F .string "It is a delight to see you here!\p" .string "Unfortunately, you were second by\n" .string "a mere fraction of time!\p" @@ -291,7 +256,7 @@ BattleFrontier_BattlePyramidTop_Text_25551F: @ 825551F .string "Now, please! When you are ready,\n" .string "take one more step of courage!$" -BattleFrontier_BattlePyramidTop_Text_255669: @ 8255669 +BattleFrontier_BattlePyramidTop_Text_ExplorationsAreGrandestAdventure: @ 8255669 .string "Young adventurer…\p" .string "Wouldn't you agree that explorations\n" .string "are the grandest of adventures?\p" @@ -301,7 +266,7 @@ BattleFrontier_BattlePyramidTop_Text_255669: @ 8255669 .string "And, above all, only your own courage\n" .string "to lead you through unknown worlds…$" -BattleFrontier_BattlePyramidTop_Text_25573E: @ 825573E +BattleFrontier_BattlePyramidTop_Text_ImPyramidKingBrandon: @ 825573E .string "Aah, yes, indeed this life is grand!\n" .string "Grand, it is! Eh?\p" .string "I'm BRANDON!\p" @@ -314,25 +279,25 @@ BattleFrontier_BattlePyramidTop_Text_25573E: @ 825573E .string "Hahahah!\n" .string "This should be exciting!$" -BattleFrontier_BattlePyramidTop_Text_255846: @ 8255846 +BattleFrontier_BattlePyramidTop_Text_BringCourageToOurBattle: @ 8255846 .string "Now, then!\n" .string "Bring your courage to our battle!$" -BattleFrontier_BattlePyramidTop_Text_255873: @ 8255873 +BattleFrontier_BattlePyramidTop_Text_BrandonFrontierPassPlease: @ 8255873 .string "BRANDON: Hahahah! Grand it was!\n" .string "Grand, yes, indeed!\p" .string "Well done! You've earned recognition!\n" .string "Your FRONTIER PASS, please!$" -BattleFrontier_BattlePyramidTop_Text_2558E9: @ 82558E9 +BattleFrontier_BattlePyramidTop_Text_ReceivedBraveSymbol: @ 82558E9 .string "The Brave Symbol was embossed on\n" .string "the FRONTIER PASS!$" -BattleFrontier_BattlePyramidTop_Text_25591D: @ 825591D +BattleFrontier_BattlePyramidTop_Text_LookForwardToNextMeeting: @ 825591D .string "Young explorer!\n" .string "I look forward to our next meeting!$" -BattleFrontier_BattlePyramidTop_Text_255951: @ 8255951 +BattleFrontier_BattlePyramidTop_Text_BrandonYouveReturned: @ 8255951 .string "BRANDON: …You've finally returned,\n" .string "young explorer…\p" .string "Your love of adventure seems to come\n" @@ -346,16 +311,16 @@ BattleFrontier_BattlePyramidTop_Text_255951: @ 8255951 .string "Those days of death-defying,\n" .string "life-affirming adventures are back…$" -BattleFrontier_BattlePyramidTop_Text_255A6D: @ 8255A6D +BattleFrontier_BattlePyramidTop_Text_MyCourageIsOffMeter: @ 8255A6D .string "Now, then!\p" .string "I sense my own courage is off\n" .string "the meter!$" -BattleFrontier_BattlePyramidTop_Text_255AA1: @ 8255AA1 +BattleFrontier_BattlePyramidTop_Text_EverythingYouHave: @ 8255AA1 .string "Everything you have!\n" .string "I'm braced for it all!$" -BattleFrontier_BattlePyramidTop_Text_255ACD: @ 8255ACD +BattleFrontier_BattlePyramidTop_Text_BrandonRemarkableHaveThis: @ 8255ACD .string "BRANDON: Hahahah!\n" .string "Remarkable!\l" .string "Yes, it's grand, indeed!\p" @@ -363,17 +328,17 @@ BattleFrontier_BattlePyramidTop_Text_255ACD: @ 8255ACD .string "You've bested me through and through!\n" .string "Here! I want you to have this!$" -BattleFrontier_BattlePyramidTop_Text_255B59: @ 8255B59 +BattleFrontier_BattlePyramidTop_Text_BraveSymbolTookGoldenShine: @ 8255B59 .string "The Brave Symbol took on\n" .string "a golden shine!$" -BattleFrontier_BattlePyramidTop_Text_255B82: @ 8255B82 +BattleFrontier_BattlePyramidTop_Text_FarewellForNow: @ 8255B82 .string "Ah, yes! It just goes to show that\n" .string "I have much to learn still!\p" .string "May our paths cross again!\n" .string "Farewell for now, young explorer!$" -BattleFrontier_BattlePyramidTop_Text_255BFE: @ 8255BFE +BattleFrontier_BattlePyramidTop_Text_StepForwardWhenReady: @ 8255BFE .string "Now, when you are ready, take courage\n" .string "and step forward.$" diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc index 6e3f0c8fa1..95b4085287 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc @@ -1,414 +1,348 @@ BattleFrontier_BattleTowerBattleRoom_MapScripts:: @ 8241B40 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerBattleRoom_MapScript2_241B62 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerBattleRoom_MapScript2_241B4B + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerBattleRoom_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerBattleRoom_OnWarp .byte 0 -BattleFrontier_BattleTowerBattleRoom_MapScript2_241B4B: @ 8241B4B - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241B55 +BattleFrontier_BattleTowerBattleRoom_OnWarp: @ 8241B4B + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_SetUpObjects .2byte 0 -BattleFrontier_BattleTowerBattleRoom_EventScript_241B55:: @ 8241B55 +BattleFrontier_BattleTowerBattleRoom_EventScript_SetUpObjects:: @ 8241B55 setvar VAR_TEMP_1, 1 - applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_242198 + applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_SetInvisible end -BattleFrontier_BattleTowerBattleRoom_MapScript2_241B62: @ 8241B62 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C +BattleFrontier_BattleTowerBattleRoom_OnFrame: @ 8241B62 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_EnterRoom .2byte 0 -BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C:: @ 8241B6C +BattleFrontier_BattleTowerBattleRoom_EventScript_EnterRoom:: @ 8241B6C setvar VAR_TEMP_0, 1 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242179 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerEnter waitmovement 0 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc + frontier_get FRONTIER_DATA_BATTLE_NUM compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3 - applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_OpponentEnter + applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantApproachPlayer waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_24217E + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceAttendant waitmovement 0 setvar VAR_TEMP_2, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 6 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F + frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE + goto BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3:: @ 8241BC3 - setvar VAR_0x8004, 3 - special sub_8161F74 +BattleFrontier_BattleTowerBattleRoom_EventScript_OpponentEnter:: @ 8241BC3 + tower_setopponent addobject 1 - applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_242182 + applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_OpponentEnter waitmovement 0 - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 0 - special sub_8161F74 + tower_getopponentintro 0 msgbox gStringVar4, MSGBOX_DEFAULT waitmessage - call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E + call BattleFrontier_BattleTowerBattleRoom_EventScript_DoTowerBattle switch VAR_RESULT - case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F - -BattleFrontier_BattleTowerBattleRoom_EventScript_241C03:: @ 8241C03 -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_241C03:: @ 8241C03 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 4 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - special sub_8161F74 + case B_OUTCOME_WON, BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedOpponent +BattleFrontier_BattleTower_EventScript_WarpToLobbyLost:: @ 8241C03 + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST + tower_set TOWER_DATA_LVL_MODE setvar VAR_0x8004, 3 - special sub_813BF7C - goto BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8 + special Script_TryGainNewFanFromCounter + goto BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobby -BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F:: @ 8241C2F - call BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA - setvar VAR_0x8004, 4 - special sub_8161F74 +BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedOpponent:: @ 8241C2F + call BattleFrontier_EventScript_IncrementWinStreak + tower_setbattlewon switch VAR_RESULT - case 7, BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6 - applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_242188 + case 7, BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon + applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_OpponentExit waitmovement 0 removeobject 1 - setvar VAR_0x8004, 9 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - call_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3 - applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D + frontier_getbrainstatus + compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY + call_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_SecondAttendantEnter + applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantApproachPlayer waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_24217E + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceAttendant waitmovement 0 - msgbox BattleFrontier_BattleTowerBattleRoom_Text_242217, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleTowerBattleRoom_Text_RestoreMonsToFullHealth, MSGBOX_DEFAULT playfanfare MUS_ME_ASA waitfanfare special HealPlayerParty - -BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F:: @ 8241C8F - setvar VAR_0x8004, 9 - special CallFrontierUtilFunc +BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent:: @ 8241C8F + frontier_getbrainstatus copyvar VAR_TEMP_F, VAR_RESULT - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc - call BattleFrontier_BattleTowerBattleRoom_EventScript_241E44 - call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241D0A - multichoice 19, 4, 103, 1 + compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY + goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_MaidenUpNext + frontier_get FRONTIER_DATA_BATTLE_NUM + call BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyForOpponent + call BattleFrontier_EventScript_GetCantRecordBattle + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponentNoRecord + multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 1 switch VAR_RESULT - case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241DDC - case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241D40 - case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C - case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA - case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F + case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_ContinueChallenge + case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_AskRecordBattle + case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_AskPauseChallenge + case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleTowerBattleRoom_EventScript_241D0A:: @ 8241D0A - multichoice 20, 6, 104, 1 +BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponentNoRecord:: @ 8241D0A + multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1 switch VAR_RESULT - case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241DDC - case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C - case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA - case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F + case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_ContinueChallenge + case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_AskPauseChallenge + case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleTowerBattleRoom_EventScript_241D40:: @ 8241D40 - message BattleFrontier_BattleTowerBattleRoom_Text_2423A3 +BattleFrontier_BattleTowerBattleRoom_EventScript_AskRecordBattle:: @ 8241D40 + message BattleFrontier_BattleTowerBattleRoom_Text_RecordYourBattle waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F - case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241D72 - case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F + case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent + case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_RecordBattle + case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleTowerBattleRoom_EventScript_241D72:: @ 8241D72 - call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8B4 - goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F +BattleFrontier_BattleTowerBattleRoom_EventScript_RecordBattle:: @ 8241D72 + call BattleFrontier_EventScript_SaveBattle + goto BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C:: @ 8241D7C - msgbox BattleFrontier_BattleTowerBattleRoom_Text_2423FC, MSGBOX_YESNO +BattleFrontier_BattleTowerBattleRoom_EventScript_AskPauseChallenge:: @ 8241D7C + msgbox BattleFrontier_BattleTowerBattleRoom_Text_SaveAndQuitGame, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F - case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241E22 - case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F + case NO, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent + case YES, BattleFrontier_BattleTowerBattleRoom_EventScript_PauseChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA:: @ 8241DAA - message BattleFrontier_BattleTowerBattleRoom_Text_24244C +BattleFrontier_BattleTowerBattleRoom_EventScript_AskRetireChallenge:: @ 8241DAA + message BattleFrontier_BattleTowerBattleRoom_Text_CancelYourChallenge waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F - case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_24220E - case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F + case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent + case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_RetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent -BattleFrontier_BattleTowerBattleRoom_EventScript_241DDC:: @ 8241DDC +BattleFrontier_BattleTowerBattleRoom_EventScript_ContinueChallenge:: @ 8241DDC closemessage - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242180 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceBattle waitmovement 0 - applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_242192 + applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantReturnToPos waitmovement 0 - goto BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3 + goto BattleFrontier_BattleTowerBattleRoom_EventScript_OpponentEnter -BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6:: @ 8241DF6 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 3 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - special sub_8161F74 +BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon:: @ 8241DF6 + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON + tower_set TOWER_DATA_LVL_MODE setvar VAR_0x8004, 3 - special sub_813BF7C - goto BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8 + special Script_TryGainNewFanFromCounter + goto BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobby -BattleFrontier_BattleTowerBattleRoom_EventScript_241E22:: @ 8241E22 - message BattleFrontier_BattleTowerBattleRoom_Text_242426 +BattleFrontier_BattleTowerBattleRoom_EventScript_PauseChallenge:: @ 8241E22 + message BattleFrontier_BattleTowerBattleRoom_Text_SavingPleaseWait waitmessage - setvar VAR_0x8004, 6 - setvar VAR_0x8005, 2 - special sub_8161F74 + tower_save CHALLENGE_STATUS_PAUSED playse SE_SAVE waitse - fadescreen 1 - setvar VAR_0x8004, 4 - special CallFrontierUtilFunc + fadescreen FADE_TO_BLACK + frontier_reset end -BattleFrontier_BattleTowerBattleRoom_EventScript_241E44:: @ 8241E44 +BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyForOpponent:: @ 8241E44 copyvar VAR_TEMP_F, VAR_RESULT switch VAR_TEMP_F - case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241E90 - case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_241E97 - case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_241E9E - case 4, BattleFrontier_BattleTowerBattleRoom_EventScript_241EA5 - case 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241EAC - case 6, BattleFrontier_BattleTowerBattleRoom_EventScript_241EB3 + case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor2ndOpponent + case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor3rdOpponent + case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor4thOpponent + case 4, BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor5thOpponent + case 5, BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor6thOpponent + case 6, BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor7thOpponent -BattleFrontier_BattleTowerBattleRoom_EventScript_241E90:: @ 8241E90 - message BattleFrontier_BattleTowerBattleRoom_Text_242277 +BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor2ndOpponent:: @ 8241E90 + message BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor2ndOpponent waitmessage return -BattleFrontier_BattleTowerBattleRoom_EventScript_241E97:: @ 8241E97 - message BattleFrontier_BattleTowerBattleRoom_Text_2422A9 +BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor3rdOpponent:: @ 8241E97 + message BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor3rdOpponent waitmessage return -BattleFrontier_BattleTowerBattleRoom_EventScript_241E9E:: @ 8241E9E - message BattleFrontier_BattleTowerBattleRoom_Text_2422DB +BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor4thOpponent:: @ 8241E9E + message BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor4thOpponent waitmessage return -BattleFrontier_BattleTowerBattleRoom_EventScript_241EA5:: @ 8241EA5 - message BattleFrontier_BattleTowerBattleRoom_Text_24230D +BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor5thOpponent:: @ 8241EA5 + message BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor5thOpponent waitmessage return -BattleFrontier_BattleTowerBattleRoom_EventScript_241EAC:: @ 8241EAC - message BattleFrontier_BattleTowerBattleRoom_Text_24233F +BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor6thOpponent:: @ 8241EAC + message BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor6thOpponent waitmessage return -BattleFrontier_BattleTowerBattleRoom_EventScript_241EB3:: @ 8241EB3 - message BattleFrontier_BattleTowerBattleRoom_Text_242371 +BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor7thOpponent:: @ 8241EB3 + message BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor7thOpponent waitmessage return -BattleFrontier_BattleArenaBattleRoom_EventScript_241EBA:: @ 8241EBA -BattleFrontier_BattleDomeLobby_EventScript_241EBA:: @ 8241EBA -BattleFrontier_BattleFactoryBattleRoom_EventScript_241EBA:: @ 8241EBA -BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA:: @ 8241EBA -BattleFrontier_BattleTowerBattleRoom2_EventScript_241EBA:: @ 8241EBA -BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA:: @ 8241EBA - setvar VAR_0x8004, 17 - special CallFrontierUtilFunc +BattleFrontier_EventScript_IncrementWinStreak:: @ 8241EBA + frontier_incrementstreak return -BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3:: @ 8241EC3 - applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_24219A +BattleFrontier_BattleTowerBattleRoom_EventScript_SecondAttendantEnter:: @ 8241EC3 + applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantEnter waitmovement 0 - applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_2725B6 + applymovement 3, Common_Movement_WalkInPlaceLeft waitmovement 0 playse SE_PIN applymovement 2, Common_Movement_ExclamationMark waitmovement 0 applymovement 2, Common_Movement_Delay48 waitmovement 0 - applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_2421A6 - applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_2421AB + applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantDelay + applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantFaceSecondAttendant waitmovement 0 - applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_2421A1 + applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantExit waitmovement 0 return -BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A:: @ 8241F0A +BattleFrontier_BattleTowerBattleRoom_EventScript_MaidenUpNext:: @ 8241F0A compare VAR_TEMP_2, 1 - goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F22 - msgbox BattleFrontier_BattleTowerBattleRoom_Text_2424C2, MSGBOX_DEFAULT + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaiden + msgbox BattleFrontier_BattleTowerBattleRoom_Text_SalonMaidenOnHerWay, MSGBOX_DEFAULT setvar VAR_TEMP_2, 1 - -BattleFrontier_BattleTowerBattleRoom_EventScript_241F22:: @ 8241F22 - message BattleFrontier_BattleTowerBattleRoom_Text_242542 +BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaiden:: @ 8241F22 + message BattleFrontier_BattleTowerBattleRoom_Text_ReadyForSalonMaiden waitmessage - call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F79 - multichoice 19, 4, 103, 1 + call BattleFrontier_EventScript_GetCantRecordBattle + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaidenNoRecord + multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 1 switch VAR_RESULT - case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF - case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241D40 - case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C - case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA - case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241F22 + case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabel + case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_AskRecordBattle + case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_AskPauseChallenge + case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaiden -BattleFrontier_BattleTowerBattleRoom_EventScript_241F79:: @ 8241F79 - multichoice 20, 6, 104, 1 +BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaidenNoRecord:: @ 8241F79 + multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1 switch VAR_RESULT - case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF - case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C - case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA - case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241F22 + case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabel + case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_AskPauseChallenge + case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaiden -BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF:: @ 8241FAF - call BattleFrontier_BattleTowerBattleRoom_EventScript_242170 +BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabel:: @ 8241FAF + call BattleFrontier_EventScript_SetBrainObjectGfx closemessage - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242180 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceBattle waitmovement 0 - applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_242192 + applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantReturnToPos waitmovement 0 addobject 1 - applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_2421B2 + applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_AnabelEnter waitmovement 0 switch VAR_TEMP_F - case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_242085 - case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_242029 - case 4, BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_242029 - msgbox BattleFrontier_BattleTowerBattleRoom_Text_242579, MSGBOX_DEFAULT - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc + case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleTowerBattleRoom_EventScript_AnabelGoldIntro + case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelSilver + case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelGold + frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH + compare VAR_RESULT, FALSE + goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelSilver + msgbox BattleFrontier_BattleTowerBattleRoom_Text_GreetingsImAnabel, MSGBOX_DEFAULT + frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH +BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelSilver:: @ 8242029 + msgbox BattleFrontier_BattleTowerBattleRoom_Text_LetMeSeeYourTalent, MSGBOX_DEFAULT + call BattleFrontier_BattleTowerBattleRoom_EventScript_DoTowerBattle + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedAnabelSilver + goto BattleFrontier_BattleTower_EventScript_WarpToLobbyLost -BattleFrontier_BattleTowerBattleRoom_EventScript_242029:: @ 8242029 - msgbox BattleFrontier_BattleTowerBattleRoom_Text_24268C, MSGBOX_DEFAULT - call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_242046 - goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03 - -BattleFrontier_BattleTowerBattleRoom_EventScript_242046:: @ 8242046 - call BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA - setvar VAR_0x8004, 12 - special CallFrontierUtilFunc +BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedAnabelSilver:: @ 8242046 + call BattleFrontier_EventScript_IncrementWinStreak + frontier_getsymbols compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6 - msgbox BattleFrontier_BattleTowerBattleRoom_Text_2426B4, MSGBOX_DEFAULT + goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon + msgbox BattleFrontier_BattleTowerBattleRoom_Text_AnabelTalentShallBeRecognized, MSGBOX_DEFAULT playfanfare MUS_ME_SYMBOLGET - message BattleFrontier_BattleTowerBattleRoom_Text_24270E + message BattleFrontier_BattleTowerBattleRoom_Text_ReceivedAbilitySymbol waitmessage waitfanfare - setvar VAR_0x8004, 13 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleTowerBattleRoom_Text_242744, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6 + frontier_givesymbol + msgbox BattleFrontier_BattleTowerBattleRoom_Text_UntilNextTime, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon -BattleFrontier_BattleTowerBattleRoom_EventScript_242085:: @ 8242085 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2 - msgbox BattleFrontier_BattleTowerBattleRoom_Text_2427F9, MSGBOX_DEFAULT - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc +BattleFrontier_BattleTowerBattleRoom_EventScript_AnabelGoldIntro:: @ 8242085 + frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH + compare VAR_RESULT, FALSE + goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelGold + msgbox BattleFrontier_BattleTowerBattleRoom_Text_AnabelYouCameBack, MSGBOX_DEFAULT + frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH +BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelGold:: @ 82420B2 + msgbox BattleFrontier_BattleTowerBattleRoom_Text_LetsBeginShallWe, MSGBOX_DEFAULT + call BattleFrontier_BattleTowerBattleRoom_EventScript_DoTowerBattle + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedAnabelGold + goto BattleFrontier_BattleTower_EventScript_WarpToLobbyLost -BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2:: @ 82420B2 - msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428E0, MSGBOX_DEFAULT - call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF - goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03 - -BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF:: @ 82420CF - call BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA - setvar VAR_0x8004, 12 - special CallFrontierUtilFunc +BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedAnabelGold:: @ 82420CF + call BattleFrontier_EventScript_IncrementWinStreak + frontier_getsymbols compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6 - msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428F7, MSGBOX_DEFAULT + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon + msgbox BattleFrontier_BattleTowerBattleRoom_Text_AnabelCongratsYourPassPlease, MSGBOX_DEFAULT playfanfare MUS_ME_SYMBOLGET - message BattleFrontier_BattleTowerBattleRoom_Text_242932 + message BattleFrontier_BattleTowerBattleRoom_Text_AbilitySymbolTookGoldenShine waitmessage waitfanfare - setvar VAR_0x8004, 13 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleTowerBattleRoom_Text_24295D, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6 + frontier_givesymbol + msgbox BattleFrontier_BattleTowerBattleRoom_Text_WishICouldBattleYouAgain, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon -BattleFrontier_BattleTowerBattleRoom2_EventScript_24210E:: @ 824210E -BattleFrontier_BattleTowerBattleRoom_EventScript_24210E:: @ 824210E +BattleFrontier_BattleTowerBattleRoom_EventScript_DoTowerBattle:: @ 824210E closemessage setvar VAR_TEMP_2, 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 6 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_RECORD_DISABLED, FALSE special HealPlayerParty setvar VAR_0x8004, SPECIAL_BATTLE_TOWER setvar VAR_0x8005, 0 special DoSpecialTrainerBattle waitstate copyvar VAR_0x8004, VAR_FRONTIER_BATTLE_MODE - compare VAR_0x8004, 3 - goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_24215A - setvar VAR_0x8004, 18 - special CallFrontierUtilFunc + compare VAR_0x8004, FRONTIER_MODE_LINK_MULTIS + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_EndTowerBattle + frontier_restorehelditems special HealPlayerParty - setvar VAR_0x8004, 21 - special CallFrontierUtilFunc - -BattleFrontier_BattleTowerBattleRoom_EventScript_24215A:: @ 824215A - setvar VAR_0x8004, 15 - special sub_8161F74 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 5 - special CallFrontierUtilFunc + frontier_resetsketch +BattleFrontier_BattleTowerBattleRoom_EventScript_EndTowerBattle:: @ 824215A + tower_setinterviewdata + frontier_get FRONTIER_DATA_BATTLE_OUTCOME return -BattleFrontier_BattleArenaBattleRoom_EventScript_242170:: @ 8242170 -BattleFrontier_BattleDomeBattleRoom_EventScript_242170:: @ 8242170 -BattleFrontier_BattleFactoryBattleRoom_EventScript_242170:: @ 8242170 -BattleFrontier_BattlePalaceBattleRoom_EventScript_242170:: @ 8242170 -BattleFrontier_BattlePyramidTop_EventScript_242170:: @ 8242170 -BattleFrontier_BattleTowerBattleRoom_EventScript_242170:: @ 8242170 - setvar VAR_0x8004, 22 - special CallFrontierUtilFunc +BattleFrontier_EventScript_SetBrainObjectGfx:: @ 8242170 + frontier_setbrainobj return -BattleFrontier_BattleTowerBattleRoom_Movement_242179: @ 8242179 +BattleFrontier_BattleTowerBattleRoom_Movement_PlayerEnter: @ 8242179 walk_up walk_up walk_up face_right step_end -BattleFrontier_BattleTowerBattleRoom_Movement_24217E: @ 824217E +BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceAttendant: @ 824217E face_down step_end -BattleFrontier_BattleTowerBattleRoom_Movement_242180: @ 8242180 +BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceBattle: @ 8242180 face_right step_end -BattleFrontier_BattleTowerBattleRoom_Movement_242182: @ 8242182 +BattleFrontier_BattleTowerBattleRoom_Movement_OpponentEnter: @ 8242182 walk_down walk_down walk_down @@ -416,21 +350,21 @@ BattleFrontier_BattleTowerBattleRoom_Movement_242182: @ 8242182 face_left step_end -BattleFrontier_BattleTowerBattleRoom_Movement_242188: @ 8242188 +BattleFrontier_BattleTowerBattleRoom_Movement_OpponentExit: @ 8242188 walk_up walk_up walk_up walk_up step_end -BattleFrontier_BattleTowerBattleRoom_Movement_24218D: @ 824218D +BattleFrontier_BattleTowerBattleRoom_Movement_AttendantApproachPlayer: @ 824218D walk_right walk_right walk_right walk_up step_end -BattleFrontier_BattleTowerBattleRoom_Movement_242192: @ 8242192 +BattleFrontier_BattleTowerBattleRoom_Movement_AttendantReturnToPos: @ 8242192 walk_down walk_left walk_left @@ -438,11 +372,11 @@ BattleFrontier_BattleTowerBattleRoom_Movement_242192: @ 8242192 face_right step_end -BattleFrontier_BattleTowerBattleRoom_Movement_242198: @ 8242198 +BattleFrontier_BattleTowerBattleRoom_Movement_SetInvisible: @ 8242198 set_invisible step_end -BattleFrontier_BattleTowerBattleRoom_Movement_24219A: @ 824219A +BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantEnter: @ 824219A set_visible delay_16 walk_up @@ -451,21 +385,21 @@ BattleFrontier_BattleTowerBattleRoom_Movement_24219A: @ 824219A delay_8 step_end -BattleFrontier_BattleTowerBattleRoom_Movement_2421A1: @ 82421A1 +BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantExit: @ 82421A1 walk_right walk_right walk_down set_invisible step_end -BattleFrontier_BattleTowerBattleRoom_Movement_2421A6: @ 82421A6 +BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantDelay: @ 82421A6 delay_16 delay_16 delay_16 delay_16 step_end -BattleFrontier_BattleTowerBattleRoom_Movement_2421AB: @ 82421AB +BattleFrontier_BattleTowerBattleRoom_Movement_AttendantFaceSecondAttendant: @ 82421AB face_right delay_16 delay_16 @@ -474,7 +408,7 @@ BattleFrontier_BattleTowerBattleRoom_Movement_2421AB: @ 82421AB walk_in_place_right step_end -BattleFrontier_BattleTowerBattleRoom_Movement_2421B2: @ 82421B2 +BattleFrontier_BattleTowerBattleRoom_Movement_AnabelEnter: @ 82421B2 walk_slow_down walk_slow_down walk_slow_down @@ -482,113 +416,107 @@ BattleFrontier_BattleTowerBattleRoom_Movement_2421B2: @ 82421B2 face_left step_end -BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8:: @ 82421B8 -BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8:: @ 82421B8 +BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobby:: @ 82421B8 copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421E8 - compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421F2 - compare VAR_RESULT, 3 - goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421FC + compare VAR_RESULT, FRONTIER_MODE_DOUBLES + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyDoubles + compare VAR_RESULT, FRONTIER_MODE_MULTIS + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyMultis + compare VAR_RESULT, FRONTIER_MODE_LINK_MULTIS + goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyLinkMultis warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 6, 6 waitstate end -BattleFrontier_BattleTowerBattleRoom_EventScript_2421E8:: @ 82421E8 +BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyDoubles:: @ 82421E8 warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 10, 6 waitstate end -BattleFrontier_BattleTowerBattleRoom_EventScript_2421F2:: @ 82421F2 +BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyMultis:: @ 82421F2 warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 14, 6 waitstate end -BattleFrontier_BattleTowerBattleRoom_EventScript_2421FC:: @ 82421FC - setvar VAR_0x8004, 13 - special sub_8161F74 +BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyLinkMultis:: @ 82421FC + tower_unklink warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 18, 6 waitstate end -BattleFrontier_BattleTowerBattleRoom_EventScript_24220E:: @ 824220E +BattleFrontier_BattleTowerBattleRoom_EventScript_RetireChallenge:: @ 824220E setflag FLAG_CANCEL_BATTLE_ROOM_CHALLENGE - goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03 + goto BattleFrontier_BattleTower_EventScript_WarpToLobbyLost end -BattleFrontier_BattleTowerBattleRoom2_Text_242217: @ 8242217 -BattleFrontier_BattleTowerBattleRoom_Text_242217: @ 8242217 +BattleFrontier_BattleTowerBattleRoom_Text_RestoreMonsToFullHealth: @ 8242217 .string "We will restore your POKéMON to\n" .string "full health.$" -BattleFrontier_BattleTowerBattleRoom_Text_242244: @ 8242244 +@ Unused +BattleFrontier_BattleTowerBattleRoom_Text_ReadyForOpponent: @ 8242244 .string "You will be facing opponent no. {STR_VAR_1}.\n" .string "Are you ready?$" -BattleFrontier_BattleTowerBattleRoom_Text_242277: @ 8242277 +BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor2ndOpponent: @ 8242277 .string "You will be facing opponent no. 2.\n" .string "Are you ready?$" -BattleFrontier_BattleTowerBattleRoom_Text_2422A9: @ 82422A9 +BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor3rdOpponent: @ 82422A9 .string "You will be facing opponent no. 3.\n" .string "Are you ready?$" -BattleFrontier_BattleTowerBattleRoom_Text_2422DB: @ 82422DB +BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor4thOpponent: @ 82422DB .string "You will be facing opponent no. 4.\n" .string "Are you ready?$" -BattleFrontier_BattleTowerBattleRoom_Text_24230D: @ 824230D +BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor5thOpponent: @ 824230D .string "You will be facing opponent no. 5.\n" .string "Are you ready?$" -BattleFrontier_BattleTowerBattleRoom_Text_24233F: @ 824233F +BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor6thOpponent: @ 824233F .string "You will be facing opponent no. 6.\n" .string "Are you ready?$" -BattleFrontier_BattleTowerBattleRoom_Text_242371: @ 8242371 +BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor7thOpponent: @ 8242371 .string "You will be facing opponent no. 7.\n" .string "Are you ready?$" -BattleFrontier_BattleTowerBattleRoom2_Text_2423A3: @ 82423A3 -BattleFrontier_BattleTowerBattleRoom_Text_2423A3: @ 82423A3 +BattleFrontier_BattleTowerBattleRoom_Text_RecordYourBattle: @ 82423A3 .string "Record your battle on your\n" .string "FRONTIER PASS?$" -BattleFrontier_BattleTowerLobby_Text_2423CD: @ 82423CD +BattleFrontier_BattleTowerLobby_Text_BattleRecordedOnPass: @ 82423CD .string "{PLAYER}'s battle was recorded\n" .string "on the FRONTIER PASS.$" -BattleFrontier_BattleTowerBattleRoom2_Text_2423FC: @ 82423FC -BattleFrontier_BattleTowerBattleRoom_Text_2423FC: @ 82423FC +BattleFrontier_BattleTowerBattleRoom_Text_SaveAndQuitGame: @ 82423FC .string "Would you like to save and\n" .string "quit the game?$" -BattleFrontier_BattleTowerBattleRoom2_Text_242426: @ 8242426 -BattleFrontier_BattleTowerBattleRoom_Text_242426: @ 8242426 +BattleFrontier_BattleTowerBattleRoom_Text_SavingPleaseWait: @ 8242426 .string "Saving your battle data.\n" .string "Please wait.$" -BattleFrontier_BattleTowerBattleRoom2_Text_24244C: @ 824244C -BattleFrontier_BattleTowerBattleRoom_Text_24244C: @ 824244C +BattleFrontier_BattleTowerBattleRoom_Text_CancelYourChallenge: @ 824244C .string "Would you like to cancel your BATTLE\n" .string "ROOM challenge?$" -gText_BattleRecordCouldntBeSaved:: @ 8242481 +BattleFrontier_BattleTowerBattleRoom_Text_RecordCouldntBeSaved:: @ 8242481 .string "There was an error of some sort.\n" .string "Your record could not be saved.$" -BattleFrontier_BattleTowerBattleRoom_Text_2424C2: @ 82424C2 +BattleFrontier_BattleTowerBattleRoom_Text_SalonMaidenOnHerWay: @ 82424C2 .string "Excuse me, but…\p" .string "Our leader, the SALON MAIDEN, is on\n" .string "her way here in hopes of battling you.\p" .string "She should be arriving very shortly.$" -BattleFrontier_BattleTowerBattleRoom_Text_242542: @ 8242542 +BattleFrontier_BattleTowerBattleRoom_Text_ReadyForSalonMaiden: @ 8242542 .string "You will be facing the SALON MAIDEN.\n" .string "Are you prepared?$" -BattleFrontier_BattleTowerBattleRoom_Text_242579: @ 8242579 +BattleFrontier_BattleTowerBattleRoom_Text_GreetingsImAnabel: @ 8242579 .string "Greetings…\n" .string "My name is ANABEL.\p" .string "I am the SALON MAIDEN, and I am in\n" @@ -600,20 +528,20 @@ BattleFrontier_BattleTowerBattleRoom_Text_242579: @ 8242579 .string "The reason I've come to see you…\n" .string "Well, there is but one reason…$" -BattleFrontier_BattleTowerBattleRoom_Text_24268C: @ 824268C +BattleFrontier_BattleTowerBattleRoom_Text_LetMeSeeYourTalent: @ 824268C .string "Let me see your talent in\n" .string "its entirety…$" -BattleFrontier_BattleTowerBattleRoom_Text_2426B4: @ 82426B4 +BattleFrontier_BattleTowerBattleRoom_Text_AnabelTalentShallBeRecognized: @ 82426B4 .string "ANABEL: Fufufu, nicely done…\p" .string "Your FRONTIER PASS, please…\n" .string "Your talent shall be recognized.$" -BattleFrontier_BattleTowerBattleRoom_Text_24270E: @ 824270E +BattleFrontier_BattleTowerBattleRoom_Text_ReceivedAbilitySymbol: @ 824270E .string "The Ability Symbol was embossed on\n" .string "the FRONTIER PASS!$" -BattleFrontier_BattleTowerBattleRoom_Text_242744: @ 8242744 +BattleFrontier_BattleTowerBattleRoom_Text_UntilNextTime: @ 8242744 .string "… … … … … …\p" .string "You have confidence in your POKéMON\n" .string "battling talent, don't you?\p" @@ -622,7 +550,7 @@ BattleFrontier_BattleTowerBattleRoom_Text_242744: @ 8242744 .string "I will be waiting for you.\n" .string "Until the next time we meet…$" -BattleFrontier_BattleTowerBattleRoom_Text_2427F9: @ 82427F9 +BattleFrontier_BattleTowerBattleRoom_Text_AnabelYouCameBack: @ 82427F9 .string "ANABEL: You really did come back to\n" .string "see me…\p" .string "… … … … … …\p" @@ -632,18 +560,18 @@ BattleFrontier_BattleTowerBattleRoom_Text_2427F9: @ 82427F9 .string "Too long since I've been able to battle\n" .string "without thinking about anything…$" -BattleFrontier_BattleTowerBattleRoom_Text_2428E0: @ 82428E0 +BattleFrontier_BattleTowerBattleRoom_Text_LetsBeginShallWe: @ 82428E0 .string "Let's begin, shall we?$" -BattleFrontier_BattleTowerBattleRoom_Text_2428F7: @ 82428F7 +BattleFrontier_BattleTowerBattleRoom_Text_AnabelCongratsYourPassPlease: @ 82428F7 .string "ANABEL: Fufu, congratulations…\n" .string "Your FRONTIER PASS, please…$" -BattleFrontier_BattleTowerBattleRoom_Text_242932: @ 8242932 +BattleFrontier_BattleTowerBattleRoom_Text_AbilitySymbolTookGoldenShine: @ 8242932 .string "The Ability Symbol took on\n" .string "a golden shine!$" -BattleFrontier_BattleTowerBattleRoom_Text_24295D: @ 824295D +BattleFrontier_BattleTowerBattleRoom_Text_WishICouldBattleYouAgain: @ 824295D .string "That was fun…\p" .string "I have never had a POKéMON battle\n" .string "so enjoyable before…\p" diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/map.json b/data/maps/BattleFrontier_BattleTowerBattleRoom2/map.json deleted file mode 100644 index 698edcc65b..0000000000 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom2/map.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "id": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2", - "name": "BattleFrontier_BattleTowerBattleRoom2", - "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM", - "music": "MUS_SATTOWER", - "region_map_section": "MAPSEC_BATTLE_FRONTIER", - "requires_flash": false, - "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_INDOOR", - "allow_bike": false, - "allow_escape_rope": false, - "allow_running": false, - "show_map_name": false, - "battle_scene": "MAP_BATTLE_SCENE_FRONTIER", - "connections": null, - "object_events": [ - { - "graphics_id": "EVENT_OBJ_GFX_VAR_0", - "x": 5, - "y": 1, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_DOWN", - "movement_range_x": 0, - "movement_range_y": 0, - "trainer_type": "0", - "trainer_sight_or_berry_tree_id": "0", - "script": "0x0", - "flag": "FLAG_HIDE_BATTLE_TOWER_OPPONENT" - }, - { - "graphics_id": "EVENT_OBJ_GFX_TEALA", - "x": 1, - "y": 4, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_RIGHT", - "movement_range_x": 0, - "movement_range_y": 0, - "trainer_type": "0", - "trainer_sight_or_berry_tree_id": "0", - "script": "0x0", - "flag": "0" - }, - { - "graphics_id": "EVENT_OBJ_GFX_TEALA", - "x": 1, - "y": 5, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_RIGHT", - "movement_range_x": 0, - "movement_range_y": 0, - "trainer_type": "0", - "trainer_sight_or_berry_tree_id": "0", - "script": "0x0", - "flag": "0" - }, - { - "graphics_id": "EVENT_OBJ_GFX_VAR_1", - "x": 4, - "y": 1, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_DOWN", - "movement_range_x": 0, - "movement_range_y": 0, - "trainer_type": "0", - "trainer_sight_or_berry_tree_id": "0", - "script": "0x0", - "flag": "FLAG_HIDE_BATTLE_TOWER_OPPONENT" - }, - { - "graphics_id": "EVENT_OBJ_GFX_VAR_F", - "x": 4, - "y": 8, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_UP", - "movement_range_x": 0, - "movement_range_y": 0, - "trainer_type": "0", - "trainer_sight_or_berry_tree_id": "0", - "script": "0x0", - "flag": "0" - }, - { - "graphics_id": "EVENT_OBJ_GFX_VAR_E", - "x": 5, - "y": 8, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_UP", - "movement_range_x": 0, - "movement_range_y": 0, - "trainer_type": "0", - "trainer_sight_or_berry_tree_id": "0", - "script": "0x0", - "flag": "0" - } - ], - "warp_events": [], - "coord_events": [], - "bg_events": [] -} \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc deleted file mode 100644 index 8ebb7ed25c..0000000000 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc +++ /dev/null @@ -1,539 +0,0 @@ -BattleFrontier_BattleTowerBattleRoom2_MapScripts:: @ 8248EE8 - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerBattleRoom2_MapScript1_248EF8 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F33 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F43 - .byte 0 - -BattleFrontier_BattleTowerBattleRoom2_MapScript1_248EF8: @ 8248EF8 - compare VAR_FRONTIER_BATTLE_MODE, 2 - call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F - compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F:: @ 8248F0F - setvar VAR_0x8004, 14 - special sub_8161F74 - checkplayergender - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29 - setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_BRENDAN_NORMAL - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29:: @ 8248F29 - setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_MAY_NORMAL - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F:: @ 8248F2F - special sub_813A76C - return - -BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F33: @ 8248F33 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F3D - .2byte 0 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_248F3D:: @ 8248F3D - hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2 - end - -BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F43: @ 8248F43 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D - .2byte 0 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D:: @ 8248F4D - setvar VAR_TEMP_0, 1 - applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249518 - applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_24951E - waitmovement 0 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4 - applymovement 2, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E - applymovement 3, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E - waitmovement 0 - applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249524 - applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249524 - waitmovement 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 6 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4:: @ 8248FB4 - setvar VAR_0x8004, 3 - special sub_8161F74 - addobject 1 - addobject 4 - applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249528 - applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_24952E - waitmovement 0 - compare VAR_FRONTIER_BATTLE_MODE, 3 - goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249026 - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 0 - special sub_8161F74 - delay 15 - applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249545 - waitmovement 0 - msgbox gStringVar4, MSGBOX_DEFAULT - waitmessage - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 1 - special sub_8161F74 - applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_249545 - waitmovement 0 - msgbox gStringVar4, MSGBOX_DEFAULT - waitmessage - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249069 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249026:: @ 8249026 - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 0 - special sub_8161F74 - delay 15 - applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249545 - waitmovement 0 - messageautoscroll 0x2021fc4 - waitmessage - delay 48 - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 1 - special sub_8161F74 - applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_249545 - waitmovement 0 - messageautoscroll 0x2021fc4 - waitmessage - delay 48 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249069:: @ 8249069 - call BattleFrontier_BattleTowerBattleRoom2_EventScript_24210E - switch VAR_RESULT - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA - -BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E:: @ 824907E - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 4 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - special sub_8161F74 - setvar VAR_0x8004, 3 - special sub_813BF7C - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA:: @ 82490AA - call BattleFrontier_BattleTowerBattleRoom2_EventScript_241EBA - setvar VAR_0x8004, 4 - special sub_8161F74 - switch VAR_RESULT - case 7, BattleFrontier_BattleTowerBattleRoom2_EventScript_2492AF - applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_249534 - applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249539 - waitmovement 0 - removeobject 1 - removeobject 4 - applymovement 2, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E - applymovement 3, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E - waitmovement 0 - applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249524 - applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249524 - waitmovement 0 - compare VAR_FRONTIER_BATTLE_MODE, 3 - goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249118 - msgbox BattleFrontier_BattleTowerBattleRoom2_Text_242217, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249121 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249118:: @ 8249118 - messageautoscroll BattleFrontier_BattleTowerBattleRoom2_Text_242217 - waitmessage - delay 48 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249121:: @ 8249121 - special LoadPlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc - compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249514 - playfanfare MUS_ME_ASA - waitfanfare - special HealPlayerParty - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249143:: @ 8249143 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc - call BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD - compare VAR_FRONTIER_BATTLE_MODE, 3 - goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249283 - call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_2491B1 - multichoice 19, 4, 103, 1 - switch VAR_RESULT - case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249283 - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2491E7 - case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_249223 - case 3, BattleFrontier_BattleTowerBattleRoom2_EventScript_249251 - case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2491B1:: @ 82491B1 - multichoice 20, 6, 104, 1 - switch VAR_RESULT - case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249283 - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249223 - case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_249251 - case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2491E7:: @ 82491E7 - message BattleFrontier_BattleTowerBattleRoom2_Text_2423A3 - waitmessage - multichoicedefault 20, 8, 94, 1, 0 - switch VAR_RESULT - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249219 - case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249219:: @ 8249219 - call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8B4 - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249223:: @ 8249223 - msgbox BattleFrontier_BattleTowerBattleRoom2_Text_2423FC, MSGBOX_YESNO - switch VAR_RESULT - case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB - case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249251:: @ 8249251 - message BattleFrontier_BattleTowerBattleRoom2_Text_24244C - waitmessage - multichoicedefault 20, 8, 94, 1, 0 - switch VAR_RESULT - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E - case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249283:: @ 8249283 - closemessage - clearflag FLAG_TEMP_2 - applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249526 - applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249526 - waitmovement 0 - applymovement 2, BattleFrontier_BattleTowerBattleRoom2_Movement_249541 - applymovement 3, BattleFrontier_BattleTowerBattleRoom2_Movement_249541 - waitmovement 0 - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2492AF:: @ 82492AF - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 3 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - special sub_8161F74 - setvar VAR_0x8004, 3 - special sub_813BF7C - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB:: @ 82492DB - message BattleFrontier_BattleTowerBattleRoom2_Text_242426 - waitmessage - setvar VAR_0x8004, 6 - setvar VAR_0x8005, 2 - special sub_8161F74 - playse SE_SAVE - waitse - fadescreen 1 - setvar VAR_0x8004, 4 - special CallFrontierUtilFunc - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD:: @ 82492FD - compare VAR_FRONTIER_BATTLE_MODE, 3 - goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E - copyvar VAR_TEMP_F, VAR_RESULT - switch VAR_TEMP_F - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249354 - case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_24935B - case 3, BattleFrontier_BattleTowerBattleRoom2_EventScript_249362 - case 4, BattleFrontier_BattleTowerBattleRoom2_EventScript_249369 - case 5, BattleFrontier_BattleTowerBattleRoom2_EventScript_249370 - case 6, BattleFrontier_BattleTowerBattleRoom2_EventScript_249377 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249354:: @ 8249354 - message BattleFrontier_BattleTowerBattleRoom2_Text_249547 - waitmessage - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_24935B:: @ 824935B - message BattleFrontier_BattleTowerBattleRoom2_Text_249578 - waitmessage - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249362:: @ 8249362 - message BattleFrontier_BattleTowerBattleRoom2_Text_2495A9 - waitmessage - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249369:: @ 8249369 - message BattleFrontier_BattleTowerBattleRoom2_Text_2495DA - waitmessage - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249370:: @ 8249370 - message BattleFrontier_BattleTowerBattleRoom2_Text_24960B - waitmessage - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249377:: @ 8249377 - message BattleFrontier_BattleTowerBattleRoom2_Text_24963C - waitmessage - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E:: @ 824937E - copyvar VAR_TEMP_F, VAR_RESULT - switch VAR_TEMP_F - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493CA - case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493D6 - case 3, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493E2 - case 4, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493EE - case 5, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493FA - case 6, BattleFrontier_BattleTowerBattleRoom2_EventScript_249406 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2493CA:: @ 82493CA - message BattleFrontier_BattleTowerBattleRoom2_Text_249547 - waitmessage - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2493D6:: @ 82493D6 - message BattleFrontier_BattleTowerBattleRoom2_Text_249578 - waitmessage - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2493E2:: @ 82493E2 - message BattleFrontier_BattleTowerBattleRoom2_Text_2495A9 - waitmessage - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2493EE:: @ 82493EE - message BattleFrontier_BattleTowerBattleRoom2_Text_2495DA - waitmessage - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2493FA:: @ 82493FA - message BattleFrontier_BattleTowerBattleRoom2_Text_24960B - waitmessage - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249406:: @ 8249406 - message BattleFrontier_BattleTowerBattleRoom2_Text_24963C - waitmessage - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249412:: @ 8249412 - waitmessage - delay 48 - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249417:: @ 8249417 - goto_if_set FLAG_TEMP_2, BattleFrontier_BattleTowerBattleRoom2_EventScript_249457 - multichoice 19, 6, 105, 1 - switch VAR_RESULT - case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249483 - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494A8 - case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD - case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249457:: @ 8249457 - multichoice 20, 8, 106, 1 - switch VAR_RESULT - case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249483 - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD - case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249483:: @ 8249483 - setvar VAR_0x8004, 0 - setvar VAR_0x8005, 0 - message gText_LinkStandby3 - waitmessage - special sub_813B568 - waitstate - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249412 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2494A8:: @ 82494A8 - message BattleFrontier_BattleTowerBattleRoom2_Text_2423A3 - waitmessage - multichoicedefault 20, 8, 94, 1, 0 - switch VAR_RESULT - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8B4 - setflag FLAG_TEMP_2 - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD:: @ 82494DD - message BattleFrontier_BattleTowerBattleRoom2_Text_24244C - waitmessage - multichoicedefault 20, 8, 94, 1, 0 - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_2494FA - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2494FA:: @ 82494FA - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 0 - message gText_LinkStandby3 - waitmessage - special sub_813B568 - waitstate - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249514:: @ 8249514 - special sub_813B534 - return - -BattleFrontier_BattleTowerBattleRoom2_Movement_249518: @ 8249518 - walk_up - walk_up - walk_up - walk_up - face_right - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_24951E: @ 824951E - walk_left - walk_up - walk_up - walk_up - face_right - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_249524: @ 8249524 - face_left - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_249526: @ 8249526 - walk_in_place_fastest_right - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_249528: @ 8249528 - walk_down - walk_down - walk_down - walk_down - face_left - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_24952E: @ 824952E - walk_right - walk_down - walk_down - walk_down - face_left - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_249534: @ 8249534 - walk_up - walk_up - walk_up - set_invisible - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_249539: @ 8249539 - walk_up - walk_up - walk_up - walk_up - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_24953E: @ 824953E - walk_right - walk_right - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_249541: @ 8249541 - walk_left - walk_left - walk_in_place_fastest_right - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_249545: @ 8249545 - walk_in_place_left - step_end - -BattleFrontier_BattleTowerBattleRoom2_Text_249547: @ 8249547 - .string "The 2nd set of opponents is next.\n" - .string "Are you ready?$" - -BattleFrontier_BattleTowerBattleRoom2_Text_249578: @ 8249578 - .string "The 3rd set of opponents is next.\n" - .string "Are you ready?$" - -BattleFrontier_BattleTowerBattleRoom2_Text_2495A9: @ 82495A9 - .string "The 4th set of opponents is next.\n" - .string "Are you ready?$" - -BattleFrontier_BattleTowerBattleRoom2_Text_2495DA: @ 82495DA - .string "The 5th set of opponents is next.\n" - .string "Are you ready?$" - -BattleFrontier_BattleTowerBattleRoom2_Text_24960B: @ 824960B - .string "The 6th set of opponents is next.\n" - .string "Are you ready?$" - -BattleFrontier_BattleTowerBattleRoom2_Text_24963C: @ 824963C - .string "The 7th set of opponents is next.\n" - .string "Are you ready?$" - -BattleFrontier_BattleTowerBattleRoom2_Text_24966D: @ 824966D - .string "The 2nd set of opponents is next.\n" - .string "Do your best!$" - -BattleFrontier_BattleTowerBattleRoom2_Text_24969D: @ 824969D - .string "The 3rd set of opponents is next.\n" - .string "Do your best!$" - -BattleFrontier_BattleTowerBattleRoom2_Text_2496CD: @ 82496CD - .string "The 4th set of opponents is next.\n" - .string "Do your best!$" - -BattleFrontier_BattleTowerBattleRoom2_Text_2496FD: @ 82496FD - .string "The 5th set of opponents is next.\n" - .string "Do your best!$" - -BattleFrontier_BattleTowerBattleRoom2_Text_24972D: @ 824972D - .string "The 6th set of opponents is next.\n" - .string "Do your best!$" - -BattleFrontier_BattleTowerBattleRoom2_Text_24975D: @ 824975D - .string "The 7th set of opponents is next.\n" - .string "Do your best!$" - -gText_LinkStandby3:: @ 824978D - .string "Link standby…$" - -gText_YourPartnerHasRetired:: @ 824979B - .string "Your partner has retired.\p" - .string "Your BATTLE ROOM challenge\n" - .string "will be canceled.$" diff --git a/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc b/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc index a729615626..6957079da5 100644 --- a/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc @@ -1,55 +1,52 @@ BattleFrontier_BattleTowerCorridor_MapScripts:: @ 8241AAA - map_script MAP_SCRIPT_ON_LOAD, BattleFrontier_BattleTowerCorridor_MapScript1_241AB5 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerCorridor_MapScript2_241AE6 + map_script MAP_SCRIPT_ON_LOAD, BattleFrontier_BattleTowerCorridor_OnLoad + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerCorridor_OnFrame .byte 0 -BattleFrontier_BattleTowerCorridor_MapScript1_241AB5: @ 8241AB5 +BattleFrontier_BattleTowerCorridor_OnLoad: @ 8241AB5 compare VAR_0x8006, 1 - goto_if_eq BattleFrontier_BattleTowerCorridor_EventScript_241AD3 + goto_if_eq BattleFrontier_BattleTowerCorridor_EventScript_OpenFarDoor setmetatile 12, 0, METATILE_BattleFrontier_CorridorOpenDoor_Top, 0 setmetatile 12, 1, METATILE_BattleFrontier_CorridorOpenDoor_Bottom, 0 end -BattleFrontier_BattleTowerCorridor_EventScript_241AD3:: @ 8241AD3 +BattleFrontier_BattleTowerCorridor_EventScript_OpenFarDoor:: @ 8241AD3 setmetatile 15, 0, METATILE_BattleFrontier_CorridorOpenDoor_Top, 0 setmetatile 15, 1, METATILE_BattleFrontier_CorridorOpenDoor_Bottom, 0 end -BattleFrontier_BattleTowerCorridor_MapScript2_241AE6: @ 8241AE6 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerCorridor_EventScript_241AF0 +BattleFrontier_BattleTowerCorridor_OnFrame: @ 8241AE6 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerCorridor_EventScript_EnterCorridor .2byte 0 -BattleFrontier_BattleTowerCorridor_EventScript_241AF0:: @ 8241AF0 +BattleFrontier_BattleTowerCorridor_EventScript_EnterCorridor:: @ 8241AF0 setvar VAR_TEMP_0, 1 compare VAR_0x8006, 1 - goto_if_eq BattleFrontier_BattleTowerCorridor_EventScript_241B16 - applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_241B3A - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_241B39 + goto_if_eq BattleFrontier_BattleTowerCorridor_EventScript_WalkToFarDoor + applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_AttendantWalkToDoor + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_PlayerWalkToDoor waitmovement 0 - goto BattleFrontier_BattleTowerCorridor_EventScript_241B27 + goto BattleFrontier_BattleTowerCorridor_EventScript_WarpToBattleRoom -BattleFrontier_BattleTowerCorridor_EventScript_241B16:: @ 8241B16 - applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_241B37 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_241B36 +BattleFrontier_BattleTowerCorridor_EventScript_WalkToFarDoor:: @ 8241B16 + applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_AttendantWalkToFarDoor + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_PlayerWalkToFarDoor waitmovement 0 -BattleFrontier_BattleTowerCorridor_EventScript_241B27:: @ 8241B27 +BattleFrontier_BattleTowerCorridor_EventScript_WarpToBattleRoom:: @ 8241B27 setvar VAR_TEMP_0, 0 warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM, 255, 4, 8 waitstate end -BattleFrontier_BattleTowerCorridor_Movement_241B36: @ 8241B36 +BattleFrontier_BattleTowerCorridor_Movement_PlayerWalkToFarDoor: @ 8241B36 walk_right - -BattleFrontier_BattleTowerCorridor_Movement_241B37: @ 8241B37 +BattleFrontier_BattleTowerCorridor_Movement_AttendantWalkToFarDoor: @ 8241B37 walk_right walk_right - -BattleFrontier_BattleTowerCorridor_Movement_241B39: @ 8241B39 +BattleFrontier_BattleTowerCorridor_Movement_PlayerWalkToDoor: @ 8241B39 walk_right - -BattleFrontier_BattleTowerCorridor_Movement_241B3A: @ 8241B3A +BattleFrontier_BattleTowerCorridor_Movement_AttendantWalkToDoor: @ 8241B3A walk_right walk_right walk_right diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc b/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc deleted file mode 100644 index efab7be70d..0000000000 --- a/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc +++ /dev/null @@ -1,172 +0,0 @@ -BattleFrontier_BattleTowerCorridor2_MapScripts:: @ 8248D4A - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerCorridor2_MapScript1_248D5A - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerCorridor2_MapScript2_248D95 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerCorridor2_MapScript2_248DB2 - .byte 0 - -BattleFrontier_BattleTowerCorridor2_MapScript1_248D5A: @ 8248D5A - compare VAR_FRONTIER_BATTLE_MODE, 2 - call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D71 - compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D91 - end - -BattleFrontier_BattleTowerCorridor2_EventScript_248D71:: @ 8248D71 - setvar VAR_0x8004, 14 - special sub_8161F74 - checkplayergender - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D8B - setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_BRENDAN_NORMAL - return - -BattleFrontier_BattleTowerCorridor2_EventScript_248D8B:: @ 8248D8B - setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_MAY_NORMAL - return - -BattleFrontier_BattleTowerCorridor2_EventScript_248D91:: @ 8248D91 - special sub_813A76C - return - -BattleFrontier_BattleTowerCorridor2_MapScript2_248D95: @ 8248D95 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerCorridor2_EventScript_248D9F - .2byte 0 - -BattleFrontier_BattleTowerCorridor2_EventScript_248D9F:: @ 8248D9F - hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 - hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 - hideobjectat 4, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 - special sub_8139980 - end - -BattleFrontier_BattleTowerCorridor2_MapScript2_248DB2: @ 8248DB2 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerCorridor2_EventScript_248DBC - .2byte 0 - -BattleFrontier_BattleTowerCorridor2_EventScript_248DBC:: @ 8248DBC - lockall - setflag FLAG_SPECIAL_FLAG_0x4002 - setvar VAR_0x8004, 14 - setvar VAR_0x8005, 1 - opendoor 1, 1 - waitdooranim - clearflag FLAG_SPECIAL_FLAG_0x4002 - showobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 - showobjectat 4, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 - applymovement 1, BattleFrontier_BattleTowerCorridor2_Movement_248EE6 - applymovement 4, BattleFrontier_BattleTowerCorridor2_Movement_248EE6 - waitmovement 0 - setflag FLAG_SPECIAL_FLAG_0x4002 - setvar VAR_0x8004, 14 - setvar VAR_0x8005, 1 - closedoor 1, 1 - waitdooranim - clearflag FLAG_SPECIAL_FLAG_0x4002 - applymovement 1, BattleFrontier_BattleTowerCorridor2_Movement_248EBC - applymovement 4, BattleFrontier_BattleTowerCorridor2_Movement_248EC4 - applymovement 3, BattleFrontier_BattleTowerCorridor2_Movement_248ECC - applymovement 2, BattleFrontier_BattleTowerCorridor2_Movement_248ED5 - waitmovement 0 - delay 40 - applymovement 3, Common_Movement_WalkInPlaceUp - applymovement 2, Common_Movement_WalkInPlaceUp - waitmovement 0 - opendoor 7, 1 - waitdooranim - applymovement 3, BattleFrontier_BattleTowerCorridor2_Movement_248EE3 - applymovement 2, BattleFrontier_BattleTowerCorridor2_Movement_248EE3 - applymovement 1, BattleFrontier_BattleTowerCorridor2_Movement_248EDE - applymovement 4, BattleFrontier_BattleTowerCorridor2_Movement_248EDE - waitmovement 0 - closedoor 7, 1 - waitdooranim - delay 30 - setvar VAR_TEMP_1, 1 - call BattleFrontier_BattleTowerCorridor2_EventScript_248E71 - releaseall - end - -BattleFrontier_BattleTowerCorridor2_EventScript_248E71:: @ 8248E71 - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248E9E - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248E9E - compare VAR_FRONTIER_BATTLE_MODE, 2 - call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248EA8 - compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248EB2 - return - -BattleFrontier_BattleTowerCorridor2_EventScript_248E9E:: @ 8248E9E - warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM, 255, 4, 8 - waitstate - return - -BattleFrontier_BattleTowerCorridor2_EventScript_248EA8:: @ 8248EA8 - warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2, 255, 4, 5 - waitstate - return - -BattleFrontier_BattleTowerCorridor2_EventScript_248EB2:: @ 8248EB2 - warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2, 255, 4, 5 - waitstate - return - -BattleFrontier_BattleTowerCorridor2_Movement_248EBC: @ 8248EBC - walk_down - walk_right - walk_right - walk_right - walk_right - walk_right - walk_right - step_end - -BattleFrontier_BattleTowerCorridor2_Movement_248EC4: @ 8248EC4 - walk_down - walk_left - walk_left - walk_left - walk_left - walk_left - walk_left - step_end - -BattleFrontier_BattleTowerCorridor2_Movement_248ECC: @ 8248ECC - walk_right - walk_right - walk_right - walk_right - walk_right - walk_right - walk_up - walk_in_place_fastest_right - step_end - -BattleFrontier_BattleTowerCorridor2_Movement_248ED5: @ 8248ED5 - walk_left - walk_left - walk_left - walk_left - walk_left - walk_left - walk_up - walk_in_place_fastest_left - step_end - -BattleFrontier_BattleTowerCorridor2_Movement_248EDE: @ 8248EDE - delay_16 - walk_up - walk_up - set_invisible - step_end - -BattleFrontier_BattleTowerCorridor2_Movement_248EE3: @ 8248EE3 - walk_up - set_invisible - step_end - -BattleFrontier_BattleTowerCorridor2_Movement_248EE6: @ 8248EE6 - walk_down - step_end - diff --git a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc index 0d07f5be22..320520bb81 100644 --- a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc @@ -1,90 +1,90 @@ BattleFrontier_BattleTowerElevator_MapScripts:: @ 82419DB - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerElevator_MapScript2_2419E6 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerElevator_MapScript2_241A96 + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerElevator_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerElevator_OnWarp .byte 0 -BattleFrontier_BattleTowerElevator_MapScript2_2419E6: @ 82419E6 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerElevator_EventScript_2419F0 +BattleFrontier_BattleTowerElevator_OnFrame: @ 82419E6 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerElevator_EventScript_EnterElevator .2byte 0 -BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0 +BattleFrontier_BattleTowerElevator_EventScript_EnterElevator:: @ 82419F0 setvar VAR_TEMP_0, 1 - applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A86 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_241A8A + applymovement 1, BattleFrontier_BattleTowerElevator_Movement_AttendantEnter + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_PlayerEnter waitmovement 0 - special sub_813A080 + special BufferBattleTowerElevatorFloors waitse - special ShakeScreenInElevator + special MoveElevator waitstate delay 48 - applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A8E - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_241A92 + applymovement 1, BattleFrontier_BattleTowerElevator_Movement_AttendantExit + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_PlayerExit waitmovement 0 - call BattleFrontier_BattleTowerElevator_EventScript_241A28 + call BattleFrontier_BattleTowerElevator_EventScript_WarpToNextRoom end -BattleFrontier_BattleTowerElevator_EventScript_241A28:: @ 8241A28 - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A55 - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A55 - compare VAR_FRONTIER_BATTLE_MODE, 2 - call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A5F - compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A72 +BattleFrontier_BattleTowerElevator_EventScript_WarpToNextRoom:: @ 8241A28 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridor + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridor + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS + call_if_eq BattleFrontier_BattleTowerElevator_EventScript_WarpToNextRoomMulti + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS + call_if_eq BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridorMulti return -BattleFrontier_BattleTowerElevator_EventScript_241A55:: @ 8241A55 +BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridor:: @ 8241A55 warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR, 255, 8, 1 waitstate return -BattleFrontier_BattleTowerElevator_EventScript_241A5F:: @ 8241A5F - goto_if_unset FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerElevator_EventScript_241A7C - warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2, 255, 7, 2 +BattleFrontier_BattleTowerElevator_EventScript_WarpToNextRoomMulti:: @ 8241A5F + goto_if_unset FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerElevator_EventScript_WarpToPartnerRoom + warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR, 255, 7, 2 waitstate return -BattleFrontier_BattleTowerElevator_EventScript_241A72:: @ 8241A72 - warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2, 255, 7, 2 +BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridorMulti:: @ 8241A72 + warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR, 255, 7, 2 waitstate return -BattleFrontier_BattleTowerElevator_EventScript_241A7C:: @ 8241A7C - warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 10, 1 +BattleFrontier_BattleTowerElevator_EventScript_WarpToPartnerRoom:: @ 8241A7C + warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM, 255, 10, 1 waitstate return -BattleFrontier_BattleTowerElevator_Movement_241A86: @ 8241A86 +BattleFrontier_BattleTowerElevator_Movement_AttendantEnter: @ 8241A86 walk_up walk_right face_down step_end -BattleFrontier_BattleTowerElevator_Movement_241A8A: @ 8241A8A +BattleFrontier_BattleTowerElevator_Movement_PlayerEnter: @ 8241A8A walk_up walk_up face_down step_end -BattleFrontier_BattleTowerElevator_Movement_241A8E: @ 8241A8E +BattleFrontier_BattleTowerElevator_Movement_AttendantExit: @ 8241A8E walk_down walk_down set_invisible step_end -BattleFrontier_BattleTowerElevator_Movement_241A92: @ 8241A92 +BattleFrontier_BattleTowerElevator_Movement_PlayerExit: @ 8241A92 walk_right walk_down walk_down step_end -BattleFrontier_BattleTowerElevator_MapScript2_241A96: @ 8241A96 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerElevator_EventScript_241AA0 +BattleFrontier_BattleTowerElevator_OnWarp: @ 8241A96 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerElevator_EventScript_TurnPlayerNorth .2byte 0 -BattleFrontier_BattleTowerElevator_EventScript_241AA0:: @ 8241AA0 +BattleFrontier_BattleTowerElevator_EventScript_TurnPlayerNorth:: @ 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/map.json b/data/maps/BattleFrontier_BattleTowerLobby/map.json index 339b20b56f..4b83c34a0c 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/map.json +++ b/data/maps/BattleFrontier_BattleTowerLobby/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerLobby_EventScript_23E936", + "script": "BattleFrontier_BattleTowerLobby_EventScript_SinglesAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerLobby_EventScript_23EEE7", + "script": "BattleFrontier_BattleTowerLobby_EventScript_FeelingsMan", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerLobby_EventScript_23EFB5", + "script": "BattleFrontier_BattleTowerLobby_EventScript_Woman", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerLobby_EventScript_23EFBE", + "script": "BattleFrontier_BattleTowerLobby_EventScript_Boy", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerLobby_EventScript_28CB96", + "script": "BattleFrontier_BattleTowerLobby_EventScript_Reporter", "flag": "FLAG_HIDE_BATTLE_TOWER_REPORTER" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EventScript_Apprentice", + "script": "BattleFrontier_BattleTowerLobby_EventScript_Apprentice", "flag": "FLAG_HIDE_APPRENTICE" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerLobby_EventScript_23EA9F", + "script": "BattleFrontier_BattleTowerLobby_EventScript_DoublesAttendant", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerLobby_EventScript_23EC08", + "script": "BattleFrontier_BattleTowerLobby_EventScript_MultisAttendant", "flag": "0" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerLobby_EventScript_23ED74", + "script": "BattleFrontier_BattleTowerLobby_EventScript_LinkMultisAttendant", "flag": "0" } ], @@ -163,7 +163,7 @@ "y": 5, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_BattleTowerLobby_EventScript_23EFC7" + "script": "BattleFrontier_BattleTowerLobby_EventScript_ShowSinglesResults" }, { "type": "sign", @@ -171,7 +171,7 @@ "y": 5, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_BattleTowerLobby_EventScript_23EFE0" + "script": "BattleFrontier_BattleTowerLobby_EventScript_ShowDoublesResults" }, { "type": "sign", @@ -179,7 +179,7 @@ "y": 5, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_BattleTowerLobby_EventScript_23EFF9" + "script": "BattleFrontier_BattleTowerLobby_EventScript_ShowMultisResults" }, { "type": "sign", @@ -187,7 +187,7 @@ "y": 5, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_BattleTowerLobby_EventScript_23F012" + "script": "BattleFrontier_BattleTowerLobby_EventScript_ShowLinkMultisResults" }, { "type": "sign", @@ -195,7 +195,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_BattleTowerLobby_EventScript_23F4BE" + "script": "BattleFrontier_BattleTowerLobby_EventScript_RulesBoard" } ] } \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc index 6d53a33e16..297f05fb07 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc @@ -1,801 +1,664 @@ BattleFrontier_BattleTowerLobby_MapScripts:: @ 823E67B - map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleTowerLobby_MapScript1_23E690 - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerLobby_MapScript1_23E694 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerLobby_MapScript2_23E6DD - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerLobby_MapScript2_23E6C9 + map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleTowerLobby_OnResume + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerLobby_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerLobby_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerLobby_OnWarp .byte 0 -BattleFrontier_BattleTowerLobby_MapScript1_23E690: @ 823E690 - special sub_81653CC +BattleFrontier_BattleTowerLobby_OnResume: @ 823E690 + special TryHideBattleTowerReporter end -BattleFrontier_BattleTowerLobby_MapScript1_23E694: @ 823E694 - call BattleFrontier_BattleTowerLobby_EventScript_28CC84 - setvar VAR_0x8004, 10 - special CallApprenticeFunction - compare VAR_0x8004, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E6B5 - goto_if_set FLAG_DAILY_APPRENTICE_LEAVES, BattleFrontier_BattleTowerLobby_EventScript_23E6C1 - -BattleFrontier_BattleTowerLobby_EventScript_23E6B5:: @ 823E6B5 +BattleFrontier_BattleTowerLobby_OnTransition: @ 823E694 + call BattleFrontier_BattleTowerLobby_EventScript_ShowOrHideReporter + apprentice_shouldcheckgone + compare VAR_0x8004, FALSE @ Always TRUE here + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_ShowApprentice + goto_if_set FLAG_DAILY_APPRENTICE_LEAVES, BattleFrontier_BattleTowerLobby_EventScript_HideApprentice +BattleFrontier_BattleTowerLobby_EventScript_ShowApprentice:: @ 823E6B5 clearflag FLAG_HIDE_APPRENTICE - setvar VAR_0x8004, 23 - special CallApprenticeFunction - -BattleFrontier_BattleTowerLobby_EventScript_23E6C0:: @ 823E6C0 + apprentice_setgfx +BattleFrontier_BattleTowerLobby_EventScript_EndShowOrHideApprentice:: @ 823E6C0 end -BattleFrontier_BattleTowerLobby_EventScript_23E6C1:: @ 823E6C1 +BattleFrontier_BattleTowerLobby_EventScript_HideApprentice:: @ 823E6C1 setflag FLAG_HIDE_APPRENTICE - goto BattleFrontier_BattleTowerLobby_EventScript_23E6C0 + goto BattleFrontier_BattleTowerLobby_EventScript_EndShowOrHideApprentice -BattleFrontier_BattleTowerLobby_MapScript2_23E6C9: @ 823E6C9 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerLobby_EventScript_23E6D3 +BattleFrontier_BattleTowerLobby_OnWarp: @ 823E6C9 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerLobby_EventScript_PlayerFaceNorth .2byte 0 -BattleFrontier_BattleTowerLobby_EventScript_23E6D3:: @ 823E6D3 +BattleFrontier_BattleTowerLobby_EventScript_PlayerFaceNorth:: @ 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 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerLobby_EventScript_23E707 - map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattleTowerLobby_EventScript_23E710 - map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattleTowerLobby_EventScript_23E8EE - map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattleTowerLobby_EventScript_23E758 - map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattleTowerLobby_EventScript_23E7F2 +BattleFrontier_BattleTowerLobby_OnFrame: @ 823E6DD + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleTowerLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleTowerLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleTowerLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleTowerLobby_EventScript_LostChallenge .2byte 0 -BattleFrontier_BattleTowerLobby_EventScript_23E707:: @ 823E707 - setvar VAR_0x8004, 0 - special CallFrontierUtilFunc +BattleFrontier_BattleTowerLobby_EventScript_GetChallengeStatus:: @ 823E707 + frontier_getstatus end -BattleFrontier_BattleTowerLobby_EventScript_23E710:: @ 823E710 +BattleFrontier_BattleTowerLobby_EventScript_QuitWithoutSaving:: @ 823E710 lock faceplayer - msgbox BattleFrontier_BattleTowerLobby_Text_23F583, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleTowerLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special sub_8161F74 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 0 - special sub_8161F74 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + tower_set TOWER_DATA_WIN_STREAK, 0 + tower_set TOWER_DATA_WIN_STREAK_ACTIVE, FALSE + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 setvar VAR_TEMP_0, 255 release end -BattleFrontier_BattleTowerLobby_EventScript_23E758:: @ 823E758 +BattleFrontier_BattleTowerLobby_EventScript_WonChallenge:: @ 823E758 lock faceplayer - setvar VAR_0x8004, 10 - special CallFrontierUtilFunc - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E778 - message BattleFrontier_BattleTowerLobby_Text_23F60D + frontier_isbrain + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_DefeatedMaiden + message BattleFrontier_BattleTowerLobby_Text_CongratsBeatenSeven waitmessage - goto BattleFrontier_BattleTowerLobby_EventScript_23E780 + goto BattleFrontier_BattleTowerLobby_EventScript_GiveRibbons -BattleFrontier_BattleTowerLobby_EventScript_23E778:: @ 823E778 - msgbox BattleFrontier_BattleTowerLobby_Text_241486, MSGBOX_DEFAULT - -BattleFrontier_BattleTowerLobby_EventScript_23E780:: @ 823E780 - setvar VAR_0x8004, 5 - special sub_8161F74 - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E7A5 - message BattleFrontier_BattleTowerLobby_Text_23F844 +BattleFrontier_BattleTowerLobby_EventScript_DefeatedMaiden:: @ 823E778 + msgbox BattleFrontier_BattleTowerLobby_Text_CongratsDefeatedMaiden, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_GiveRibbons:: @ 823E780 + tower_giveribbons + compare VAR_RESULT, FALSE + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_GiveBattlePoints + message BattleFrontier_BattleTowerLobby_Text_HereAreSomeRibbons waitmessage playfanfare MUS_FANFA4 waitfanfare - msgbox BattleFrontier_BattleTowerLobby_Text_23F89F, MSGBOX_DEFAULT - -BattleFrontier_BattleTowerLobby_EventScript_23E7A5:: @ 823E7A5 - msgbox BattleFrontier_BattleTowerLobby_Text_2414D4, MSGBOX_DEFAULT - setvar VAR_0x8004, 11 - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleTowerLobby_Text_241520, 9 - call BattleFrontier_BattleTowerLobby_EventScript_23E84D - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special sub_8161F74 + msgbox BattleFrontier_BattleTowerLobby_Text_PutRibbonOnMons, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_GiveBattlePoints:: @ 823E7A5 + msgbox BattleFrontier_BattleTowerLobby_Text_AwardYouTheseBattlePoints, MSGBOX_DEFAULT + frontier_givepoints + msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS + call BattleFrontier_BattleTowerLobby_EventScript_AskSaveBattle + tower_get TOWER_DATA_WIN_STREAK compare VAR_RESULT, 49 - goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23E7E2 - msgbox BattleFrontier_BattleTowerLobby_Text_23F79D, MSGBOX_DEFAULT - -BattleFrontier_BattleTowerLobby_EventScript_23E7E2:: @ 823E7E2 - msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, MSGBOX_DEFAULT + goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_LookForwardToChallenge + msgbox BattleFrontier_BattleTowerLobby_Text_AboutToFace50thTrainer, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_LookForwardToChallenge:: @ 823E7E2 + msgbox BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 release end -BattleFrontier_BattleTowerLobby_EventScript_23E7F2:: @ 823E7F2 - compare VAR_FRONTIER_BATTLE_MODE, 2 - goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23E81E - goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerLobby_EventScript_23E81E - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special sub_8161F74 +BattleFrontier_BattleTowerLobby_EventScript_LostChallenge:: @ 823E7F2 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS + goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_CancelWinStreak + goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerLobby_EventScript_CancelWinStreak + tower_get TOWER_DATA_WIN_STREAK compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23E830 - -BattleFrontier_BattleTowerLobby_EventScript_23E81E:: @ 823E81E - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 0 - special sub_8161F74 - -BattleFrontier_BattleTowerLobby_EventScript_23E830:: @ 823E830 + goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_LostThanksForPlaying +BattleFrontier_BattleTowerLobby_EventScript_CancelWinStreak:: @ 823E81E + tower_set TOWER_DATA_WIN_STREAK_ACTIVE, FALSE +BattleFrontier_BattleTowerLobby_EventScript_LostThanksForPlaying:: @ 823E830 lock faceplayer - message BattleFrontier_BattleTowerLobby_Text_23F6F7 + message BattleFrontier_BattleTowerLobby_Text_ThankYouForPlaying waitmessage - call BattleFrontier_BattleTowerLobby_EventScript_23E84D - msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, MSGBOX_DEFAULT + call BattleFrontier_BattleTowerLobby_EventScript_AskSaveBattle + msgbox BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 release end -BattleFrontier_BattleTowerLobby_EventScript_23E84D:: @ 823E84D - message BattleFrontier_BattleTowerLobby_Text_23F70F +BattleFrontier_BattleTowerLobby_EventScript_AskSaveBattle:: @ 823E84D + message BattleFrontier_BattleTowerLobby_Text_RecordWillBeSaved waitmessage - setvar VAR_0x8004, 8 - special CallFrontierUtilFunc + frontier_checkairshow special LoadPlayerParty special HealPlayerParty - setvar VAR_0x8004, 6 - setvar VAR_0x8005, 0 - special sub_8161F74 + tower_save 0 playse SE_SAVE waitse - call BattleFrontier_BattleTowerLobby_EventScript_23E8E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E8DF - message BattleFrontier_BattleTowerLobby_Text_23FE3C + call BattleFrontier_EventScript_GetCantRecordBattle + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle + message BattleFrontier_BattleTowerLobby_Text_RecordLastMatch waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, BattleFrontier_BattleTowerLobby_EventScript_23E8DF - case 0, BattleFrontier_BattleTowerLobby_EventScript_23E8B4 - case 127, BattleFrontier_BattleTowerLobby_EventScript_23E8DF + case 1, BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle + case 0, BattleFrontier_EventScript_SaveBattle + case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle -BattleFrontier_BattleArenaBattleRoom_EventScript_23E8B4:: @ 823E8B4 -BattleFrontier_BattleArenaLobby_EventScript_23E8B4:: @ 823E8B4 -BattleFrontier_BattleDomeLobby_EventScript_23E8B4:: @ 823E8B4 -BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8B4:: @ 823E8B4 -BattleFrontier_BattleFactoryLobby_EventScript_23E8B4:: @ 823E8B4 -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8B4:: @ 823E8B4 -BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8B4:: @ 823E8B4 -BattleFrontier_BattlePalaceLobby_EventScript_23E8B4:: @ 823E8B4 -BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8B4:: @ 823E8B4 -BattleFrontier_BattleTowerBattleRoom_EventScript_23E8B4:: @ 823E8B4 -BattleFrontier_BattleTowerLobby_EventScript_23E8B4:: @ 823E8B4 - setvar VAR_0x8004, 19 - special CallFrontierUtilFunc - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E8D7 +BattleFrontier_EventScript_SaveBattle:: @ 823E8B4 + frontier_savebattle + compare VAR_RESULT, FALSE + goto_if_eq BattleFrontier_EventScript_BattleSaveFailed playse SE_SAVE - msgbox BattleFrontier_BattleTowerLobby_Text_2423CD, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23E8DF + msgbox BattleFrontier_BattleTowerLobby_Text_BattleRecordedOnPass, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle -BattleFrontier_BattleTowerLobby_EventScript_23E8D7:: @ 823E8D7 - msgbox gText_BattleRecordCouldntBeSaved, MSGBOX_DEFAULT - -BattleFrontier_BattleTowerLobby_EventScript_23E8DF:: @ 823E8DF +BattleFrontier_EventScript_BattleSaveFailed:: @ 823E8D7 + msgbox BattleFrontier_BattleTowerBattleRoom_Text_RecordCouldntBeSaved, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle:: @ 823E8DF return -BattleFrontier_BattleArenaBattleRoom_EventScript_23E8E0:: @ 823E8E0 -BattleFrontier_BattleArenaLobby_EventScript_23E8E0:: @ 823E8E0 -BattleFrontier_BattleDomeLobby_EventScript_23E8E0:: @ 823E8E0 -BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8E0:: @ 823E8E0 -BattleFrontier_BattleFactoryLobby_EventScript_23E8E0:: @ 823E8E0 -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8E0:: @ 823E8E0 -BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8E0:: @ 823E8E0 -BattleFrontier_BattlePalaceLobby_EventScript_23E8E0:: @ 823E8E0 -BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8E0:: @ 823E8E0 -BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0:: @ 823E8E0 -BattleFrontier_BattleTowerLobby_EventScript_23E8E0:: @ 823E8E0 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 6 - special CallFrontierUtilFunc +BattleFrontier_EventScript_GetCantRecordBattle:: @ 823E8E0 + frontier_get FRONTIER_DATA_RECORD_DISABLED return -BattleFrontier_BattleTowerLobby_EventScript_23E8EE:: @ 823E8EE +BattleFrontier_BattleTowerLobby_EventScript_ResumeChallenge:: @ 823E8EE lock faceplayer - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E930 - message BattleFrontier_BattleTowerLobby_Text_23F737 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_SetBravoTrainerOn + message BattleFrontier_BattleTowerLobby_Text_WeveBeenWaitingForYou waitmessage - message BattleFrontier_BattleTowerLobby_Text_23F754 + message BattleFrontier_BattleTowerLobby_Text_ProgressWillBeSaved waitmessage - setvar VAR_0x8004, 6 - setvar VAR_0x8005, 1 - special sub_8161F74 + tower_save CHALLENGE_STATUS_SAVING playse SE_SAVE waitse - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3 + frontier_set FRONTIER_DATA_PAUSED, FALSE + goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator end -BattleFrontier_BattleTowerLobby_EventScript_23E930:: @ 823E930 - setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 1 +BattleFrontier_BattleTowerLobby_EventScript_SetBravoTrainerOn:: @ 823E930 + setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, TRUE return -BattleFrontier_BattleTowerLobby_EventScript_23E936:: @ 823E936 +BattleFrontier_BattleTowerLobby_EventScript_SinglesAttendant:: @ 823E936 lock faceplayer - setvar VAR_FRONTIER_FACILITY, 0 + setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_TOWER special SavePlayerParty - msgbox BattleFrontier_BattleTowerLobby_Text_240537, MSGBOX_DEFAULT - -BattleFrontier_BattleTowerLobby_EventScript_23E948:: @ 823E948 - message BattleFrontier_BattleTowerLobby_Text_2405B3 + msgbox BattleFrontier_BattleTowerLobby_Text_WelcomSingleBattle, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_AskEnterSinglesChallenge:: @ 823E948 + message BattleFrontier_BattleTowerLobby_Text_TakeSinglesChallenge waitmessage - multichoice 17, 6, 23, 0 + multichoice 17, 6, MULTI_CHALLENGEINFO, 0 switch VAR_RESULT - case 0, BattleFrontier_BattleTowerLobby_EventScript_23E984 - case 1, BattleFrontier_BattleTowerLobby_EventScript_23EA91 - case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 - case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + case 0, BattleFrontier_BattleTowerLobby_EventScript_TryEnterSinglesChallenge + case 1, BattleFrontier_BattleTowerLobby_EventScript_ExplainSinglesChallenge + case 2, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge -BattleFrontier_BattleTowerLobby_EventScript_23E984:: @ 823E984 - setvar VAR_FRONTIER_BATTLE_MODE, 0 - message BattleFrontier_BattleTowerLobby_Text_23FD3B +BattleFrontier_BattleTowerLobby_EventScript_TryEnterSinglesChallenge:: @ 823E984 + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + message BattleFrontier_BattleTowerLobby_Text_WhichLevelMode waitmessage - multichoice 17, 6, 24, 0 + multichoice 17, 6, MULTI_LEVEL_MODE, 0 switch VAR_RESULT - case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 - case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 - setvar VAR_0x8004, 15 - special CallFrontierUtilFunc - compare VAR_0x8004, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleTowerLobby_Text_2407A6, MSGBOX_DEFAULT - fadescreen 1 - call BattleFrontier_BattleTowerLobby_EventScript_23F2B7 + case FRONTIER_LVL_TENT, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge + frontier_checkineligible + compare VAR_0x8004, TRUE + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons + frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT + msgbox BattleFrontier_BattleTowerLobby_Text_SelectThreeMons, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK + call BattleFrontier_EventScript_GetLvlMode copyvar VAR_0x8004, VAR_RESULT - setvar VAR_0x8005, 3 - special sub_80F9490 + setvar VAR_0x8005, FRONTIER_PARTY_SIZE + special ChoosePartyForBattleFrontier waitstate compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3 - msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge + msgbox BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 - case 1, BattleFrontier_BattleTowerLobby_EventScript_23EA2A - case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + case NO, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge + case YES, BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeSinglesChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge -BattleFrontier_BattleTowerLobby_EventScript_23EA2A:: @ 823EA2A - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 4 - special CallFrontierUtilFunc +BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeSinglesChallenge:: @ 823EA2A + frontier_set FRONTIER_DATA_SELECTED_MON_ORDER setvar VAR_TEMP_0, 0 - setvar VAR_0x8004, 0 - special sub_8161F74 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 1 - special sub_8161F74 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + tower_init + tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE + frontier_set FRONTIER_DATA_PAUSED, FALSE special LoadPlayerParty closemessage delay 2 call Common_EventScript_SaveGame setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 - incrementgamestat 30 - setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 1 - goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed + incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER + setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, TRUE + goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator end -BattleFrontier_BattleTowerLobby_EventScript_23EA91:: @ 823EA91 - msgbox BattleFrontier_BattleTowerLobby_Text_2405EC, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23E948 +BattleFrontier_BattleTowerLobby_EventScript_ExplainSinglesChallenge:: @ 823EA91 + msgbox BattleFrontier_BattleTowerLobby_Text_ExplainSinglesChallenge, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_AskEnterSinglesChallenge end -BattleFrontier_BattleTowerLobby_EventScript_23EA9F:: @ 823EA9F +BattleFrontier_BattleTowerLobby_EventScript_DoublesAttendant:: @ 823EA9F lock faceplayer - setvar VAR_FRONTIER_FACILITY, 0 + setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_TOWER special SavePlayerParty - msgbox BattleFrontier_BattleTowerLobby_Text_2407E2, MSGBOX_DEFAULT - -BattleFrontier_BattleTowerLobby_EventScript_23EAB1:: @ 823EAB1 - message BattleFrontier_BattleTowerLobby_Text_24085E + msgbox BattleFrontier_BattleTowerLobby_Text_WelcomeDoubleBattle, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_AskEnterDoublesChallenge:: @ 823EAB1 + message BattleFrontier_BattleTowerLobby_Text_TakeDoublesChallenge waitmessage - multichoice 17, 6, 23, 0 + multichoice 17, 6, MULTI_CHALLENGEINFO, 0 switch VAR_RESULT - case 0, BattleFrontier_BattleTowerLobby_EventScript_23EAED - case 1, BattleFrontier_BattleTowerLobby_EventScript_23EBFA - case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 - case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + case 0, BattleFrontier_BattleTowerLobby_EventScript_TryEnterDoublesChallenge + case 1, BattleFrontier_BattleTowerLobby_EventScript_ExplainDoublesChallenge + case 2, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge -BattleFrontier_BattleTowerLobby_EventScript_23EAED:: @ 823EAED - setvar VAR_FRONTIER_BATTLE_MODE, 1 - message BattleFrontier_BattleTowerLobby_Text_23FD3B +BattleFrontier_BattleTowerLobby_EventScript_TryEnterDoublesChallenge:: @ 823EAED + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + message BattleFrontier_BattleTowerLobby_Text_WhichLevelMode waitmessage - multichoice 17, 6, 24, 0 + multichoice 17, 6, MULTI_LEVEL_MODE, 0 switch VAR_RESULT - case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 - case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 - setvar VAR_0x8004, 15 - special CallFrontierUtilFunc - compare VAR_0x8004, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleTowerLobby_Text_240A50, MSGBOX_DEFAULT - fadescreen 1 - call BattleFrontier_BattleTowerLobby_EventScript_23F2B7 + case FRONTIER_LVL_TENT, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge + frontier_checkineligible + compare VAR_0x8004, TRUE + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons + frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT + msgbox BattleFrontier_BattleTowerLobby_Text_PleaseSelectFourMons, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK + call BattleFrontier_EventScript_GetLvlMode copyvar VAR_0x8004, VAR_RESULT - setvar VAR_0x8005, 4 - special sub_80F9490 + setvar VAR_0x8005, FRONTIER_DOUBLES_PARTY_SIZE + special ChoosePartyForBattleFrontier waitstate compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3 - msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge + msgbox BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 - case 1, BattleFrontier_BattleTowerLobby_EventScript_23EB93 - case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + case NO, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge + case YES, BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeDoublesChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge -BattleFrontier_BattleTowerLobby_EventScript_23EB93:: @ 823EB93 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 4 - special CallFrontierUtilFunc +BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeDoublesChallenge:: @ 823EB93 + frontier_set FRONTIER_DATA_SELECTED_MON_ORDER setvar VAR_TEMP_0, 0 - setvar VAR_0x8004, 0 - special sub_8161F74 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 1 - special sub_8161F74 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + tower_init + tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE + frontier_set FRONTIER_DATA_PAUSED, FALSE special LoadPlayerParty closemessage delay 2 call Common_EventScript_SaveGame setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 - incrementgamestat 30 - setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0 - goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed + incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER + setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE + goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator end -BattleFrontier_BattleTowerLobby_EventScript_23EBFA:: @ 823EBFA - msgbox BattleFrontier_BattleTowerLobby_Text_240897, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23EAB1 +BattleFrontier_BattleTowerLobby_EventScript_ExplainDoublesChallenge:: @ 823EBFA + msgbox BattleFrontier_BattleTowerLobby_Text_ExplainDoublesChallenge, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_AskEnterDoublesChallenge end -BattleFrontier_BattleTowerLobby_EventScript_23EC08:: @ 823EC08 +BattleFrontier_BattleTowerLobby_EventScript_MultisAttendant:: @ 823EC08 lock faceplayer - setvar VAR_FRONTIER_FACILITY, 0 + setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_TOWER clearflag FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER special SavePlayerParty - msgbox BattleFrontier_BattleTowerLobby_Text_240A8B, MSGBOX_DEFAULT - -BattleFrontier_BattleTowerLobby_EventScript_23EC1D:: @ 823EC1D - message BattleFrontier_BattleTowerLobby_Text_240B06 + msgbox BattleFrontier_BattleTowerLobby_Text_WelcomeMultiBattle, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_AskEnterMultisChallenge:: @ 823EC1D + message BattleFrontier_BattleTowerLobby_Text_TakeMultisChallenge waitmessage - multichoice 17, 6, 23, 0 + multichoice 17, 6, MULTI_CHALLENGEINFO, 0 switch VAR_RESULT - case 0, BattleFrontier_BattleTowerLobby_EventScript_23EC59 - case 1, BattleFrontier_BattleTowerLobby_EventScript_23ED66 - case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 - case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + case 0, BattleFrontier_BattleTowerLobby_EventScript_TryEnterMultisChallenge + case 1, BattleFrontier_BattleTowerLobby_EventScript_ExplainMultisChallenge + case 2, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge -BattleFrontier_BattleTowerLobby_EventScript_23EC59:: @ 823EC59 - setvar VAR_FRONTIER_BATTLE_MODE, 2 - message BattleFrontier_BattleTowerLobby_Text_23FD3B +BattleFrontier_BattleTowerLobby_EventScript_TryEnterMultisChallenge:: @ 823EC59 + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS + message BattleFrontier_BattleTowerLobby_Text_WhichLevelMode waitmessage - multichoice 17, 6, 24, 0 + multichoice 17, 6, MULTI_LEVEL_MODE, 0 switch VAR_RESULT - case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 - case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 - setvar VAR_0x8004, 15 - special CallFrontierUtilFunc - compare VAR_0x8004, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleTowerLobby_Text_240DDB, MSGBOX_DEFAULT - fadescreen 1 - call BattleFrontier_BattleTowerLobby_EventScript_23F2B7 + case FRONTIER_LVL_TENT, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge + frontier_checkineligible + compare VAR_0x8004, TRUE + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons + frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT + msgbox BattleFrontier_BattleTowerLobby_Text_PleaseSelectTwoMons, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK + call BattleFrontier_EventScript_GetLvlMode copyvar VAR_0x8004, VAR_RESULT - setvar VAR_0x8005, 2 - special sub_80F9490 + setvar VAR_0x8005, FRONTIER_MULTI_PARTY_SIZE + special ChoosePartyForBattleFrontier waitstate compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3 - msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge + msgbox BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 - case 1, BattleFrontier_BattleTowerLobby_EventScript_23ECFF - case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + case NO, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge + case YES, BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeMultisChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge -BattleFrontier_BattleTowerLobby_EventScript_23ECFF:: @ 823ECFF - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 4 - special CallFrontierUtilFunc +BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeMultisChallenge:: @ 823ECFF + frontier_set FRONTIER_DATA_SELECTED_MON_ORDER setvar VAR_TEMP_0, 0 - setvar VAR_0x8004, 0 - special sub_8161F74 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 1 - special sub_8161F74 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + tower_init + tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE + frontier_set FRONTIER_DATA_PAUSED, FALSE special LoadPlayerParty closemessage delay 2 call Common_EventScript_SaveGame setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 - incrementgamestat 30 - setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0 - goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed + incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER + setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE + goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator end -BattleFrontier_BattleTowerLobby_EventScript_23ED66:: @ 823ED66 - msgbox BattleFrontier_BattleTowerLobby_Text_240B3E, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23EC1D +BattleFrontier_BattleTowerLobby_EventScript_ExplainMultisChallenge:: @ 823ED66 + msgbox BattleFrontier_BattleTowerLobby_Text_ExplainMultisChallenge, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_AskEnterMultisChallenge end -BattleFrontier_BattleTowerLobby_EventScript_23ED74:: @ 823ED74 +BattleFrontier_BattleTowerLobby_EventScript_LinkMultisAttendant:: @ 823ED74 lock faceplayer - setvar VAR_FRONTIER_FACILITY, 0 + setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_TOWER special SavePlayerParty - msgbox BattleFrontier_BattleTowerLobby_Text_240E15, MSGBOX_DEFAULT - -BattleFrontier_BattleTowerLobby_EventScript_23ED86:: @ 823ED86 - message BattleFrontier_BattleTowerLobby_Text_240E95 + msgbox BattleFrontier_BattleTowerLobby_Text_WelcomeLinkMultiBattle, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_AskEnterLinkMultisChallenge:: @ 823ED86 + message BattleFrontier_BattleTowerLobby_Text_TakeLinkMultisChallenge waitmessage - multichoice 17, 6, 23, 0 + multichoice 17, 6, MULTI_CHALLENGEINFO, 0 switch VAR_RESULT - case 0, BattleFrontier_BattleTowerLobby_EventScript_23EDC2 - case 1, BattleFrontier_BattleTowerLobby_EventScript_23F3DA - case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 - case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + case 0, BattleFrontier_BattleTowerLobby_EventScript_TryEnterLinkMultisChallenge + case 1, BattleFrontier_BattleTowerLobby_EventScript_ExplainLinkMultisChallenge + case 2, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge -BattleFrontier_BattleTowerLobby_EventScript_23EDC2:: @ 823EDC2 - setvar VAR_FRONTIER_BATTLE_MODE, 3 - message BattleFrontier_BattleTowerLobby_Text_23FD3B +BattleFrontier_BattleTowerLobby_EventScript_TryEnterLinkMultisChallenge:: @ 823EDC2 + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS + message BattleFrontier_BattleTowerLobby_Text_WhichLevelMode waitmessage - multichoice 17, 6, 24, 0 + multichoice 17, 6, MULTI_LEVEL_MODE, 0 switch VAR_RESULT - case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 - case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 - setvar VAR_0x8004, 15 - special CallFrontierUtilFunc - compare VAR_0x8004, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc - msgbox BattleFrontier_BattleTowerLobby_Text_24115E, MSGBOX_DEFAULT - fadescreen 1 - call BattleFrontier_BattleTowerLobby_EventScript_23F2B7 + case FRONTIER_LVL_TENT, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge + frontier_checkineligible + compare VAR_0x8004, TRUE + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons + frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT + msgbox BattleFrontier_BattleTowerLobby_Text_PleaseSelectTwoMons2, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK + call BattleFrontier_EventScript_GetLvlMode copyvar VAR_0x8004, VAR_RESULT - setvar VAR_0x8005, 2 - special sub_80F9490 + setvar VAR_0x8005, FRONTIER_MULTI_PARTY_SIZE + special ChoosePartyForBattleFrontier waitstate compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3 - msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge + msgbox BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering, MSGBOX_YESNO switch VAR_RESULT - case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 - case 1, BattleFrontier_BattleTowerLobby_EventScript_23EE68 - case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + case NO, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge + case YES, BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeLinkMultisChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge -BattleFrontier_BattleTowerLobby_EventScript_23EE68:: @ 823EE68 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 4 - special CallFrontierUtilFunc +BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeLinkMultisChallenge:: @ 823EE68 + frontier_set FRONTIER_DATA_SELECTED_MON_ORDER setvar VAR_TEMP_0, 0 - setvar VAR_0x8004, 0 - special sub_8161F74 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 1 - special sub_8161F74 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + tower_init + tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE + frontier_set FRONTIER_DATA_PAUSED, FALSE special LoadPlayerParty closemessage delay 2 - setvar VAR_0x8004, 6 - setvar VAR_0x8005, 0 - special sub_8161F74 + tower_save 0 call Common_EventScript_SaveGame setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 - incrementgamestat 30 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed + incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER specialvar VAR_RESULT, IsWirelessAdapterConnected - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3E8 - goto BattleFrontier_BattleTowerLobby_EventScript_23F2C5 + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_TryWirelessLink + goto BattleFrontier_BattleTowerLobby_EventScript_TryCableLink end -BattleFrontier_BattleTowerLobby_EventScript_23EEE7:: @ 823EEE7 +BattleFrontier_BattleTowerLobby_EventScript_FeelingsMan:: @ 823EEE7 lock faceplayer - message BattleFrontier_BattleTowerLobby_Text_23F8CD + message BattleFrontier_BattleTowerLobby_Text_DescribeFeelingsAboutBattleTower waitmessage - multichoice 16, 4, 109, 0 + multichoice 16, 4, MULTI_BATTLE_TOWER_FEELINGS, 0 switch VAR_RESULT - case 0, BattleFrontier_BattleTowerLobby_EventScript_23EF32 - case 1, BattleFrontier_BattleTowerLobby_EventScript_23EF4C - case 2, BattleFrontier_BattleTowerLobby_EventScript_23EF66 - case 3, BattleFrontier_BattleTowerLobby_EventScript_23EF80 - case 127, BattleFrontier_BattleTowerLobby_EventScript_23EF80 + case 0, BattleFrontier_BattleTowerLobby_EventScript_FeelingsBattleNow + case 1, BattleFrontier_BattleTowerLobby_EventScript_FeelingsIWon + case 2, BattleFrontier_BattleTowerLobby_EventScript_FeelingsILost + case 3, BattleFrontier_BattleTowerLobby_EventScript_FeelingsWontTell + case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_FeelingsWontTell release end -BattleFrontier_BattleTowerLobby_EventScript_23EF32:: @ 823EF32 - msgbox BattleFrontier_BattleTowerLobby_Text_23F969, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_FeelingsBattleNow:: @ 823EF32 + msgbox BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouBegin, MSGBOX_DEFAULT setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_START call Common_ShowEasyChatScreen lock faceplayer - goto BattleFrontier_BattleTowerLobby_EventScript_23EF8A + goto BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings end -BattleFrontier_BattleTowerLobby_EventScript_23EF4C:: @ 823EF4C - msgbox BattleFrontier_BattleTowerLobby_Text_23F9AA, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_FeelingsIWon:: @ 823EF4C + msgbox BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouveWon, MSGBOX_DEFAULT setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_WON call Common_ShowEasyChatScreen lock faceplayer - goto BattleFrontier_BattleTowerLobby_EventScript_23EF8A + goto BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings end -BattleFrontier_BattleTowerLobby_EventScript_23EF66:: @ 823EF66 - msgbox BattleFrontier_BattleTowerLobby_Text_23F9D4, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_FeelingsILost:: @ 823EF66 + msgbox BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouveLost, MSGBOX_DEFAULT setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_LOST call Common_ShowEasyChatScreen lock faceplayer - goto BattleFrontier_BattleTowerLobby_EventScript_23EF8A + goto BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings end -BattleFrontier_BattleTowerLobby_EventScript_23EF80:: @ 823EF80 - msgbox BattleFrontier_BattleTowerLobby_Text_23FA0F, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_FeelingsWontTell:: @ 823EF80 + msgbox BattleFrontier_BattleTowerLobby_Text_DontThinkMuchAboutIt, MSGBOX_DEFAULT release end -BattleFrontier_BattleTowerLobby_EventScript_23EF8A:: @ 823EF8A +BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings:: @ 823EF8A compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23EFA1 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CanceledEasyChat compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23EFAB + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_SubmittedFeelings end -BattleFrontier_BattleTowerLobby_EventScript_23EFA1:: @ 823EFA1 - msgbox BattleFrontier_BattleTowerLobby_Text_23FA4F, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_CanceledEasyChat:: @ 823EFA1 + msgbox BattleFrontier_BattleTowerLobby_Text_ChangedYourMind, MSGBOX_DEFAULT release end -BattleFrontier_BattleTowerLobby_EventScript_23EFAB:: @ 823EFAB - msgbox BattleFrontier_BattleTowerLobby_Text_23FA83, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_SubmittedFeelings:: @ 823EFAB + msgbox BattleFrontier_BattleTowerLobby_Text_ThatsHowYouFeel, MSGBOX_DEFAULT release end -BattleFrontier_BattleTowerLobby_EventScript_23EFB5:: @ 823EFB5 - msgbox BattleFrontier_BattleTowerLobby_Text_23FAC0, MSGBOX_NPC +BattleFrontier_BattleTowerLobby_EventScript_Woman:: @ 823EFB5 + msgbox BattleFrontier_BattleTowerLobby_Text_WinsInRowRecorded, MSGBOX_NPC end -BattleFrontier_BattleTowerLobby_EventScript_23EFBE:: @ 823EFBE - msgbox BattleFrontier_BattleTowerLobby_Text_23FB26, MSGBOX_NPC +BattleFrontier_BattleTowerLobby_EventScript_Boy:: @ 823EFBE + msgbox BattleFrontier_BattleTowerLobby_Text_CanLeaveUntilLossOrSevenWins, MSGBOX_NPC end -BattleFrontier_BattleTowerLobby_EventScript_23EFC7:: @ 823EFC7 +BattleFrontier_BattleTowerLobby_EventScript_ShowSinglesResults:: @ 823EFC7 lockall - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_results FRONTIER_FACILITY_TOWER, FRONTIER_MODE_SINGLES waitbuttonpress special RemoveRecordsWindow releaseall end -BattleFrontier_BattleTowerLobby_EventScript_23EFE0:: @ 823EFE0 +BattleFrontier_BattleTowerLobby_EventScript_ShowDoublesResults:: @ 823EFE0 lockall - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc + frontier_results FRONTIER_FACILITY_TOWER, FRONTIER_MODE_DOUBLES waitbuttonpress special RemoveRecordsWindow releaseall end -BattleFrontier_BattleTowerLobby_EventScript_23EFF9:: @ 823EFF9 +BattleFrontier_BattleTowerLobby_EventScript_ShowMultisResults:: @ 823EFF9 lockall - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 2 - special CallFrontierUtilFunc + frontier_results FRONTIER_FACILITY_TOWER, FRONTIER_MODE_MULTIS waitbuttonpress special RemoveRecordsWindow releaseall end -BattleFrontier_BattleTowerLobby_EventScript_23F012:: @ 823F012 +BattleFrontier_BattleTowerLobby_EventScript_ShowLinkMultisResults:: @ 823F012 lockall - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 3 - special CallFrontierUtilFunc + frontier_results FRONTIER_FACILITY_TOWER, FRONTIER_MODE_LINK_MULTIS waitbuttonpress special RemoveRecordsWindow releaseall end -BattleFrontier_BattleTowerLobby_EventScript_23F02B:: @ 823F02B +BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons:: @ 823F02B switch VAR_RESULT - case 0, BattleFrontier_BattleTowerLobby_EventScript_23F046 - case 1, BattleFrontier_BattleTowerLobby_EventScript_23F08B + case FRONTIER_LVL_50, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50 + case FRONTIER_LVL_OPEN, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpen -BattleFrontier_BattleTowerLobby_EventScript_23F046:: @ 823F046 +BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50:: @ 823F046 switch VAR_FRONTIER_BATTLE_MODE - case 0, BattleFrontier_BattleTowerLobby_EventScript_23F06F - case 1, BattleFrontier_BattleTowerLobby_EventScript_23F07D - msgbox BattleFrontier_BattleTowerLobby_Text_24038B, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1 + case FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Singles + case FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Doubles + msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Multis, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge end -BattleFrontier_BattleTowerLobby_EventScript_23F06F:: @ 823F06F - msgbox BattleFrontier_BattleTowerLobby_Text_240027, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1 +BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Singles:: @ 823F06F + msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Singles, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge end -BattleFrontier_BattleTowerLobby_EventScript_23F07D:: @ 823F07D - msgbox BattleFrontier_BattleTowerLobby_Text_2401DB, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1 +BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Doubles:: @ 823F07D + msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Doubles, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge end -BattleFrontier_BattleTowerLobby_EventScript_23F08B:: @ 823F08B +BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpen:: @ 823F08B switch VAR_FRONTIER_BATTLE_MODE - case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0B4 - case 1, BattleFrontier_BattleTowerLobby_EventScript_23F0C2 - msgbox BattleFrontier_BattleTowerLobby_Text_24046B, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1 + case FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenSingles + case FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenDoubles + msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenMultis, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge end -BattleFrontier_BattleTowerLobby_EventScript_23F0B4:: @ 823F0B4 - msgbox BattleFrontier_BattleTowerLobby_Text_24010B, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1 +BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenSingles:: @ 823F0B4 + msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenSingles, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge end -BattleFrontier_BattleTowerLobby_EventScript_23F0C2:: @ 823F0C2 - msgbox BattleFrontier_BattleTowerLobby_Text_2402BD, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1 +BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenDoubles:: @ 823F0C2 + msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenDoubles, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge end -BattleFrontier_BattleTowerLobby_EventScript_23F0D0:: @ 823F0D0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - special CallFrontierUtilFunc - goto BattleFrontier_BattleTowerLobby_EventScript_23F0E6 +BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed:: @ 823F0D0 + frontier_set FRONTIER_DATA_CHALLENGE_STATUS @ No status provided, so it relies on VAR_0x8006 being 0 already + goto BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge end -BattleFrontier_BattleTowerLobby_EventScript_23F0E3:: @ 823F0E3 +BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge:: @ 823F0E3 special LoadPlayerParty - -BattleFrontier_BattleTowerLobby_EventScript_23F0E6:: @ 823F0E6 +BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge:: @ 823F0E6 special CloseLink - msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, MSGBOX_DEFAULT - -BattleFrontier_BattleTowerLobby_EventScript_23F0F1:: @ 823F0F1 + msgbox BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge:: @ 823F0F1 release end -BattleFrontier_BattleTowerLobby_EventScript_23F0F3:: @ 823F0F3 +BattleFrontier_BattleTowerLobby_EventScript_EnterElevator:: @ 823F0F3 special SavePlayerParty - setvar VAR_0x8004, 3 - call BattleFrontier_BattleTowerLobby_EventScript_23F272 + setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_PARTY_ORDER + call BattleFrontier_BattleTowerLobby_EventScript_GetPartySize special CallFrontierUtilFunc setvar VAR_RESULT, 0 - -BattleFrontier_BattleTowerLobby_EventScript_23F108:: @ 823F108 - setvar VAR_0x8004, 12 - special sub_8161F74 +BattleFrontier_BattleTowerLobby_EventScript_WaitForLinkOpponentLoad:: @ 823F108 + tower_loadlinkopponents delay 1 compare VAR_RESULT, 6 - goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23F108 - call BattleFrontier_BattleTowerLobby_EventScript_23F135 + goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_WaitForLinkOpponentLoad + call BattleFrontier_BattleTowerLobby_EventScript_ShowYouToBattleRoom clearflag FLAG_CANCEL_BATTLE_ROOM_CHALLENGE warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 255, 1, 6 setvar VAR_TEMP_0, 0 waitstate end -BattleFrontier_BattleTowerLobby_EventScript_23F135:: @ 823F135 - call BattleFrontier_BattleTowerLobby_EventScript_23F1A7 - compare VAR_FRONTIER_BATTLE_MODE, 3 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F152 - msgbox BattleFrontier_BattleTowerLobby_Text_23FE11, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23F15B +BattleFrontier_BattleTowerLobby_EventScript_ShowYouToBattleRoom:: @ 823F135 + call BattleFrontier_BattleTowerLobby_EventScript_BufferModeText + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_ShowYouToLinkMultiBattleRoom + msgbox BattleFrontier_BattleTowerLobby_Text_ShowYouToBattleRoom, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_WalkToElevator -BattleFrontier_BattleTowerLobby_EventScript_23F152:: @ 823F152 - messageautoscroll BattleFrontier_BattleTowerLobby_Text_23FE11 +BattleFrontier_BattleTowerLobby_EventScript_ShowYouToLinkMultiBattleRoom:: @ 823F152 + messageautoscroll BattleFrontier_BattleTowerLobby_Text_ShowYouToBattleRoom waitmessage delay 48 - -BattleFrontier_BattleTowerLobby_EventScript_23F15B:: @ 823F15B +BattleFrontier_BattleTowerLobby_EventScript_WalkToElevator:: @ 823F15B closemessage - call BattleFrontier_BattleTowerLobby_EventScript_23F1E8 - call BattleFrontier_BattleTowerLobby_EventScript_23F22D - applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_23F195 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_23F195 + call BattleFrontier_BattleTowerLobby_EventScript_SetAttendantTalkedTo + call BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoord + applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_WalkToElevator + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_WalkToElevator waitmovement 0 opendoor VAR_0x8004, 1 waitdooranim - applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_23F199 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_23F19C + applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_AttendantEnterElevator + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_PlayerEnterElevator waitmovement 0 closedoor VAR_0x8004, 1 waitdooranim return -BattleFrontier_BattleTowerLobby_Movement_23F195: @ 823F195 +BattleFrontier_BattleTowerLobby_Movement_WalkToElevator: @ 823F195 walk_up walk_up walk_up step_end -BattleFrontier_BattleTowerLobby_Movement_23F199: @ 823F199 +BattleFrontier_BattleTowerLobby_Movement_AttendantEnterElevator: @ 823F199 walk_up set_invisible step_end -BattleFrontier_BattleTowerLobby_Movement_23F19C: @ 823F19C +BattleFrontier_BattleTowerLobby_Movement_PlayerEnterElevator: @ 823F19C walk_up walk_up set_invisible step_end -BattleFrontier_BattleTowerLobby_Movement_23F1A0: @ 823F1A0 +@ Unused +BattleFrontier_BattleTowerLobby_Movement_UnusedEnterElevator: @ 823F1A0 walk_fast_up walk_fast_up walk_fast_up @@ -804,362 +667,352 @@ BattleFrontier_BattleTowerLobby_Movement_23F1A0: @ 823F1A0 set_invisible step_end -BattleFrontier_BattleTowerLobby_EventScript_23F1A7:: @ 823F1A7 - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1D4 - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1D9 - compare VAR_FRONTIER_BATTLE_MODE, 2 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1DE - compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1E3 +BattleFrontier_BattleTowerLobby_EventScript_BufferModeText:: @ 823F1A7 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_BufferTextSingle + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_BufferTextDouble + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_BufferTextMulti + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_BufferTextLinkMulti return -BattleFrontier_BattleTowerLobby_EventScript_23F1D4:: @ 823F1D4 - bufferstdstring 0, 19 +BattleFrontier_BattleTowerLobby_EventScript_BufferTextSingle:: @ 823F1D4 + bufferstdstring 0, STDSTRING_SINGLE return -BattleFrontier_BattleTowerLobby_EventScript_23F1D9:: @ 823F1D9 - bufferstdstring 0, 20 +BattleFrontier_BattleTowerLobby_EventScript_BufferTextDouble:: @ 823F1D9 + bufferstdstring 0, STDSTRING_DOUBLE return -BattleFrontier_BattleTowerLobby_EventScript_23F1DE:: @ 823F1DE - bufferstdstring 0, 21 +BattleFrontier_BattleTowerLobby_EventScript_BufferTextMulti:: @ 823F1DE + bufferstdstring 0, STDSTRING_MULTI return -BattleFrontier_BattleTowerLobby_EventScript_23F1E3:: @ 823F1E3 - bufferstdstring 0, 22 +BattleFrontier_BattleTowerLobby_EventScript_BufferTextLinkMulti:: @ 823F1E3 + bufferstdstring 0, STDSTRING_MULTI_LINK return -BattleFrontier_BattleTowerLobby_EventScript_23F1E8:: @ 823F1E8 - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F215 - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F21B - compare VAR_FRONTIER_BATTLE_MODE, 2 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F221 - compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F227 +BattleFrontier_BattleTowerLobby_EventScript_SetAttendantTalkedTo:: @ 823F1E8 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_TalkedToSinglesAttendant + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_TalkedToDoublesAttendant + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_TalkedToMultisAttendant + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_TalkedToLinkMultisAttendant return -BattleFrontier_BattleTowerLobby_EventScript_23F215:: @ 823F215 +BattleFrontier_BattleTowerLobby_EventScript_TalkedToSinglesAttendant:: @ 823F215 setvar VAR_LAST_TALKED, 1 return -BattleFrontier_BattleTowerLobby_EventScript_23F21B:: @ 823F21B +BattleFrontier_BattleTowerLobby_EventScript_TalkedToDoublesAttendant:: @ 823F21B setvar VAR_LAST_TALKED, 7 return -BattleFrontier_BattleTowerLobby_EventScript_23F221:: @ 823F221 +BattleFrontier_BattleTowerLobby_EventScript_TalkedToMultisAttendant:: @ 823F221 setvar VAR_LAST_TALKED, 8 return -BattleFrontier_BattleTowerLobby_EventScript_23F227:: @ 823F227 +BattleFrontier_BattleTowerLobby_EventScript_TalkedToLinkMultisAttendant:: @ 823F227 setvar VAR_LAST_TALKED, 9 return -BattleFrontier_BattleTowerLobby_EventScript_23F22D:: @ 823F22D - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F25A - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F260 - compare VAR_FRONTIER_BATTLE_MODE, 2 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F266 - compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F26C +BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoord:: @ 823F22D + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordSingles + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordDoubles + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordMultis + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordLinkMultis return -BattleFrontier_BattleTowerLobby_EventScript_23F25A:: @ 823F25A +BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordSingles:: @ 823F25A setvar VAR_0x8004, 6 return -BattleFrontier_BattleTowerLobby_EventScript_23F260:: @ 823F260 +BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordDoubles:: @ 823F260 setvar VAR_0x8004, 10 return -BattleFrontier_BattleTowerLobby_EventScript_23F266:: @ 823F266 +BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordMultis:: @ 823F266 setvar VAR_0x8004, 14 return -BattleFrontier_BattleTowerLobby_EventScript_23F26C:: @ 823F26C +BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordLinkMultis:: @ 823F26C setvar VAR_0x8004, 18 return -BattleFrontier_BattleTowerLobby_EventScript_23F272:: @ 823F272 - compare VAR_FRONTIER_BATTLE_MODE, 0 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F29F - compare VAR_FRONTIER_BATTLE_MODE, 1 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F2A5 - compare VAR_FRONTIER_BATTLE_MODE, 2 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F2AB - compare VAR_FRONTIER_BATTLE_MODE, 3 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F2B1 +BattleFrontier_BattleTowerLobby_EventScript_GetPartySize:: @ 823F272 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetSinglesPartySize + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetDoublesPartySize + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetMultisPartySize + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetLinkMultisPartySize return -BattleFrontier_BattleTowerLobby_EventScript_23F29F:: @ 823F29F - setvar VAR_0x8005, 3 +BattleFrontier_BattleTowerLobby_EventScript_GetSinglesPartySize:: @ 823F29F + setvar VAR_0x8005, FRONTIER_PARTY_SIZE return -BattleFrontier_BattleTowerLobby_EventScript_23F2A5:: @ 823F2A5 - setvar VAR_0x8005, 4 +BattleFrontier_BattleTowerLobby_EventScript_GetDoublesPartySize:: @ 823F2A5 + setvar VAR_0x8005, FRONTIER_DOUBLES_PARTY_SIZE return -BattleFrontier_BattleTowerLobby_EventScript_23F2AB:: @ 823F2AB - setvar VAR_0x8005, 2 +BattleFrontier_BattleTowerLobby_EventScript_GetMultisPartySize:: @ 823F2AB + setvar VAR_0x8005, FRONTIER_MULTI_PARTY_SIZE return -BattleFrontier_BattleTowerLobby_EventScript_23F2B1:: @ 823F2B1 - setvar VAR_0x8005, 2 +BattleFrontier_BattleTowerLobby_EventScript_GetLinkMultisPartySize:: @ 823F2B1 + setvar VAR_0x8005, FRONTIER_MULTI_PARTY_SIZE return -BattleFrontier_BattleArenaLobby_EventScript_23F2B7:: @ 823F2B7 -BattleFrontier_BattleDomeLobby_EventScript_23F2B7:: @ 823F2B7 -BattleFrontier_BattleDomePreBattleRoom_EventScript_23F2B7:: @ 823F2B7 -BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23F2B7:: @ 823F2B7 -BattleFrontier_BattlePalaceLobby_EventScript_23F2B7:: @ 823F2B7 -BattleFrontier_BattlePikeLobby_EventScript_23F2B7:: @ 823F2B7 -BattleFrontier_BattlePyramidLobby_EventScript_23F2B7:: @ 823F2B7 -BattleFrontier_BattleTowerLobby_EventScript_23F2B7:: @ 823F2B7 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special CallFrontierUtilFunc +BattleFrontier_EventScript_GetLvlMode:: @ 823F2B7 + frontier_get FRONTIER_DATA_LVL_MODE return -BattleFrontier_BattleTowerLobby_EventScript_23F2C5:: @ 823F2C5 - setvar VAR_0x8004, 9 +BattleFrontier_BattleTowerLobby_EventScript_TryCableLink:: @ 823F2C5 + setvar VAR_0x8004, USING_BATTLE_TOWER message gText_PleaseWaitForLink waitmessage setvar VAR_0x8005, 0 - special sub_80B2DA4 + special TryBattleLinkup waitstate compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3AF + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CableLinkSuccessful compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2772D2 + goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady compare VAR_RESULT, 3 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F327 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLinkDifferentSelections compare VAR_RESULT, 4 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F351 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLinkIncorrectNumberOfPlayers compare VAR_RESULT, 5 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge compare VAR_RESULT, 6 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2772C5 + goto_if_eq CableClub_EventScript_AbortLinkConnectionError compare VAR_RESULT, 11 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F366 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLink end -BattleFrontier_BattleTowerLobby_EventScript_23F327:: @ 823F327 +BattleFrontier_BattleTowerLobby_EventScript_AbortLinkDifferentSelections:: @ 823F327 special CloseLink compare VAR_0x8005, 3 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F33F - msgbox BattleFrontier_BattleTowerLobby_Text_278255, MSGBOX_DEFAULT + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_FriendDifferentSelection + msgbox Text_PlayersMadeDifferentSelections, MSGBOX_DEFAULT release end -BattleFrontier_BattleTowerLobby_EventScript_23F33F:: @ 823F33F - msgbox BattleFrontier_BattleTowerLobby_Text_2412E8, MSGBOX_DEFAULT - msgbox BattleFrontier_BattleTowerLobby_Text_2413DE, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_FriendDifferentSelection:: @ 823F33F + msgbox BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlMode, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleTowerLobby_Text_ChooseDifferentMonsMatchLvlMode, MSGBOX_DEFAULT release end -BattleFrontier_BattleTowerLobby_EventScript_23F351:: @ 823F351 - msgbox BattleFrontier_BattleTowerLobby_Text_241240, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_AbortLinkIncorrectNumberOfPlayers:: @ 823F351 + msgbox BattleFrontier_BattleTowerLobby_Text_LinkMultiOnlyForTwoPlayers, MSGBOX_DEFAULT special CloseLink - msgbox BattleFrontier_BattleTowerLobby_Text_2782A8, MSGBOX_DEFAULT + msgbox CableClub_Text_IncorrectNumberOfParticipants, MSGBOX_DEFAULT release end -BattleFrontier_BattleTowerLobby_EventScript_23F366:: @ 823F366 +BattleFrontier_BattleTowerLobby_EventScript_AbortLink:: @ 823F366 special CloseLink compare VAR_0x8005, 0 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F394 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_FriendChoseDifferentLvlMode compare VAR_0x8005, 1 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F39D + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_FriendAlsoSelectedMon compare VAR_0x8005, 2 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3A6 - msgbox BattleFrontier_BattleTowerLobby_Text_2413DE, MSGBOX_DEFAULT + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_FriendAlsoSelectedMons + msgbox BattleFrontier_BattleTowerLobby_Text_ChooseDifferentMonsMatchLvlMode, MSGBOX_DEFAULT release end -BattleFrontier_BattleTowerLobby_EventScript_23F394:: @ 823F394 - msgbox BattleFrontier_BattleTowerLobby_Text_2412E8, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_FriendChoseDifferentLvlMode:: @ 823F394 + msgbox BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlMode, MSGBOX_DEFAULT return -BattleFrontier_BattleTowerLobby_EventScript_23F39D:: @ 823F39D - msgbox BattleFrontier_BattleTowerLobby_Text_241285, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_FriendAlsoSelectedMon:: @ 823F39D + msgbox BattleFrontier_BattleTowerLobby_Text_FriendAlsoSelectedMon, MSGBOX_DEFAULT return -BattleFrontier_BattleTowerLobby_EventScript_23F3A6:: @ 823F3A6 - msgbox BattleFrontier_BattleTowerLobby_Text_2412B3, MSGBOX_DEFAULT +BattleFrontier_BattleTowerLobby_EventScript_FriendAlsoSelectedMons:: @ 823F3A6 + msgbox BattleFrontier_BattleTowerLobby_Text_FriendAlsoSelectedMons, MSGBOX_DEFAULT return -BattleFrontier_BattleTowerLobby_EventScript_23F3AF:: @ 823F3AF - incrementgamestat 30 - setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0 - message BattleFrontier_BattleTowerLobby_Text_24144D +BattleFrontier_BattleTowerLobby_EventScript_CableLinkSuccessful:: @ 823F3AF + incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER + setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE + message BattleFrontier_BattleTowerLobby_Text_SaveGameBeforeShowingIn waitmessage - setvar VAR_0x8004, 6 - setvar VAR_0x8005, 1 - special sub_8161F74 + tower_save CHALLENGE_STATUS_SAVING special sub_80A08CC waitstate playse SE_SAVE waitse - special sub_80B3BC4 - goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3 + special TrySetBattleTowerLinkType + goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator end -BattleFrontier_BattleTowerLobby_EventScript_23F3DA:: @ 823F3DA - msgbox BattleFrontier_BattleTowerLobby_Text_240ED2, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23ED86 +BattleFrontier_BattleTowerLobby_EventScript_ExplainLinkMultisChallenge:: @ 823F3DA + msgbox BattleFrontier_BattleTowerLobby_Text_ExplainLinkMultisChallenge, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_AskEnterLinkMultisChallenge end -BattleFrontier_BattleTowerLobby_EventScript_23F3E8:: @ 823F3E8 - setvar VAR_0x8004, 20 - goto BattleFrontier_BattleTowerLobby_EventScript_23F3F3 +BattleFrontier_BattleTowerLobby_EventScript_TryWirelessLink:: @ 823F3E8 + setvar VAR_0x8004, LINK_GROUP_BATTLE_TOWER + goto BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader end -BattleFrontier_BattleTowerLobby_EventScript_23F3F3:: @ 823F3F3 - message BattleFrontier_BattleTowerLobby_Text_2792CD +BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader:: @ 823F3F3 + message CableClub_Text_ChooseGroupLeaderOfTwo waitmessage - multichoice 16, 6, 81, 0 + multichoice 16, 6, MULTI_LINK_LEADER, 0 switch VAR_RESULT - case 0, BattleFrontier_BattleTowerLobby_EventScript_23F463 - case 1, BattleFrontier_BattleTowerLobby_EventScript_23F430 - case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 - case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + case 0, BattleFrontier_BattleTowerLobby_EventScript_TryJoinGroup + case 1, BattleFrontier_BattleTowerLobby_EventScript_TryBecomeLeader + case 2, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge end -BattleFrontier_BattleTowerLobby_EventScript_23F430:: @ 823F430 - call BattleFrontier_BattleTowerLobby_EventScript_277B30 +BattleFrontier_BattleTowerLobby_EventScript_TryBecomeLeader:: @ 823F430 + call CableClub_EventScript_TryBecomeLinkLeader compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F496 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful compare VAR_RESULT, 5 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3F3 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader compare VAR_RESULT, 8 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F430 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_TryBecomeLeader compare VAR_RESULT, 11 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F366 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLink release return -BattleFrontier_BattleTowerLobby_EventScript_23F463:: @ 823F463 - call BattleFrontier_BattleTowerLobby_EventScript_277B35 +BattleFrontier_BattleTowerLobby_EventScript_TryJoinGroup:: @ 823F463 + call CableClub_EventScript_TryJoinLinkGroup compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F496 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful compare VAR_RESULT, 5 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3F3 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader compare VAR_RESULT, 8 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F463 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_TryJoinGroup compare VAR_RESULT, 11 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F366 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLink release return -BattleFrontier_BattleTowerLobby_EventScript_23F496:: @ 823F496 - incrementgamestat 30 - setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0 - message BattleFrontier_BattleTowerLobby_Text_24144D +BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful:: @ 823F496 + incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER + setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE + message BattleFrontier_BattleTowerLobby_Text_SaveGameBeforeShowingIn waitmessage - setvar VAR_0x8004, 6 - setvar VAR_0x8005, 1 - special sub_8161F74 + tower_save CHALLENGE_STATUS_SAVING special sub_80A08CC waitstate playse SE_SAVE waitse - goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3 + goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator end -BattleFrontier_BattleTowerLobby_EventScript_23F4BE:: @ 823F4BE +BattleFrontier_BattleTowerLobby_EventScript_RulesBoard:: @ 823F4BE lockall - msgbox BattleFrontier_BattleTowerLobby_Text_241540, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD + msgbox BattleFrontier_BattleTowerLobby_Text_RulesAreListed, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleTowerLobby_EventScript_23F4CD:: @ 823F4CD - message BattleFrontier_BattleTowerLobby_Text_241563 +BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard:: @ 823F4CD + message BattleFrontier_BattleTowerLobby_Text_ReadWhichHeading waitmessage - multichoice 17, 2, 97, 0 + multichoice 17, 2, MULTI_BATTLE_TOWER_RULES, 0 switch VAR_RESULT - case 0, BattleFrontier_BattleTowerLobby_EventScript_23F520 - case 1, BattleFrontier_BattleTowerLobby_EventScript_23F52E - case 2, BattleFrontier_BattleTowerLobby_EventScript_23F53C - case 3, BattleFrontier_BattleTowerLobby_EventScript_23F54A - case 4, BattleFrontier_BattleTowerLobby_EventScript_23F558 - case 127, BattleFrontier_BattleTowerLobby_EventScript_23F558 + case 0, BattleFrontier_BattleTowerLobby_EventScript_RulesTower + case 1, BattleFrontier_BattleTowerLobby_EventScript_RulesMons + case 2, BattleFrontier_BattleTowerLobby_EventScript_RulesSalon + case 3, BattleFrontier_BattleTowerLobby_EventScript_RulesMultiLink + case 4, BattleFrontier_BattleTowerLobby_EventScript_ExitRules + case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_ExitRules end -BattleFrontier_BattleTowerLobby_EventScript_23F520:: @ 823F520 - msgbox BattleFrontier_BattleTowerLobby_Text_241586, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD +BattleFrontier_BattleTowerLobby_EventScript_RulesTower:: @ 823F520 + msgbox BattleFrontier_BattleTowerLobby_Text_ExplainTowerRules, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleTowerLobby_EventScript_23F52E:: @ 823F52E - msgbox BattleFrontier_BattleTowerLobby_Text_241693, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD +BattleFrontier_BattleTowerLobby_EventScript_RulesMons:: @ 823F52E + msgbox BattleFrontier_BattleTowerLobby_Text_ExplainMonRules, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleTowerLobby_EventScript_23F53C:: @ 823F53C - msgbox BattleFrontier_BattleTowerLobby_Text_241777, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD +BattleFrontier_BattleTowerLobby_EventScript_RulesSalon:: @ 823F53C + msgbox BattleFrontier_BattleTowerLobby_Text_ExplainSalonRules, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleTowerLobby_EventScript_23F54A:: @ 823F54A - msgbox BattleFrontier_BattleTowerLobby_Text_24187E, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD +BattleFrontier_BattleTowerLobby_EventScript_RulesMultiLink:: @ 823F54A + msgbox BattleFrontier_BattleTowerLobby_Text_ExplainMultiLinkRules, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard end -BattleFrontier_BattleTowerLobby_EventScript_23F558:: @ 823F558 +BattleFrontier_BattleTowerLobby_EventScript_ExitRules:: @ 823F558 releaseall end -BattleFrontier_BattleTowerLobby_EventScript_23F55A: @ 823F55A +@ Unused +BattleFrontier_BattleTowerLobby_EventScript_DirectYouToBattleRoom: @ 823F55A .string "I'll direct you to your BATTLE ROOM now.$" -BattleFrontier_BattleTowerLobby_Text_23F583: @ 823F583 +BattleFrontier_BattleTowerLobby_Text_DidntSaveBeforeQuitting: @ 823F583 .string "Excuse me!\p" .string "You didn't save before you quit your\n" .string "challenge last time.\p" .string "Because of that, your challenge so far\n" .string "has been disqualified. Sorry!$" -BattleFrontier_BattleTowerLobby_Text_23F60D: @ 823F60D +BattleFrontier_BattleTowerLobby_Text_CongratsBeatenSeven: @ 823F60D .string "Congratulations!\n" .string "You've beaten all seven TRAINERS!\p" .string "$" -BattleFrontier_BattleTowerLobby_Text_23F641: @ 823F641 +@ Unused +BattleFrontier_BattleTowerLobby_Text_EarnedFabulousPrize: @ 823F641 .string "For beating seven TRAINERS in a row,\n" .string "you have earned this fabulous prize!\p" .string "$" -SlateportCity_BattleTentLobby_Text_23F68C: @ 823F68C +BattleFrontier_BattleTowerLobby_Text_ReceivedPrize: @ 823F68C .string "{PLAYER} received the prize\n" .string "{STR_VAR_1}.$" -SlateportCity_BattleTentLobby_Text_23F6A6: @ 823F6A6 +@ Unused +BattleFrontier_BattleTowerLobby_Text_BagFullMakeRoom: @ 823F6A6 .string "Oh, your BAG appears to be full.\p" .string "Please make room in your BAG, then come\n" .string "see me.$" -BattleFrontier_BattleTowerLobby_Text_23F6F7: @ 823F6F7 +BattleFrontier_BattleTowerLobby_Text_ThankYouForPlaying: @ 823F6F7 .string "Thank you for playing!\p" .string "$" -BattleFrontier_BattleTowerLobby_Text_23F70F: @ 823F70F +BattleFrontier_BattleTowerLobby_Text_RecordWillBeSaved: @ 823F70F .string "Your record will be saved.\n" .string "Please wait.$" -BattleFrontier_BattleTowerLobby_Text_23F737: @ 823F737 +BattleFrontier_BattleTowerLobby_Text_WeveBeenWaitingForYou: @ 823F737 .string "We've been waiting for you!\p" .string "$" -BattleFrontier_BattleTowerLobby_Text_23F754: @ 823F754 +BattleFrontier_BattleTowerLobby_Text_ProgressWillBeSaved: @ 823F754 .string "Before entering a BATTLE ROOM, your\n" .string "progress will be saved. Please wait.$" -BattleFrontier_BattleTowerLobby_Text_23F79D: @ 823F79D +BattleFrontier_BattleTowerLobby_Text_AboutToFace50thTrainer: @ 823F79D .string "You're finally about to face the\n" .string "50th TRAINER.\p" .string "From here on, every time you beat seven\n" @@ -1167,61 +1020,62 @@ BattleFrontier_BattleTowerLobby_Text_23F79D: @ 823F79D .string "receive a commemorative RIBBON.\p" .string "Good luck!$" -BattleFrontier_BattleTowerLobby_Text_23F844: @ 823F844 +BattleFrontier_BattleTowerLobby_Text_HereAreSomeRibbons: @ 823F844 .string "Here are some RIBBONS for beating\n" .string "seven tough TRAINERS in a row.\p" .string "{PLAYER} received some RIBBONS!$" -BattleFrontier_BattleTowerLobby_Text_23F89F: @ 823F89F +BattleFrontier_BattleTowerLobby_Text_PutRibbonOnMons: @ 823F89F .string "{PLAYER} put the RIBBONS on\n" .string "the challenger POKéMON.$" -BattleFrontier_BattleTowerLobby_Text_23F8CD: @ 823F8CD +BattleFrontier_BattleTowerLobby_Text_DescribeFeelingsAboutBattleTower: @ 823F8CD .string "Excuse me, do you have a moment?\p" .string "Can you describe your feelings when\n" .string "you're about to begin a BATTLE TOWER\l" .string "match, or when you've either won or\l" .string "lost a match?$" -BattleFrontier_BattleTowerLobby_Text_23F969: @ 823F969 +BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouBegin: @ 823F969 .string "Okay, what are your feelings when\n" .string "you're about to begin a match?$" -BattleFrontier_BattleTowerLobby_Text_23F9AA: @ 823F9AA +BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouveWon: @ 823F9AA .string "What do you feel when you've won\n" .string "a match?$" -BattleFrontier_BattleTowerLobby_Text_23F9D4: @ 823F9D4 +BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouveLost: @ 823F9D4 .string "Can I hear about your feelings when\n" .string "you have lost a match?$" -BattleFrontier_BattleTowerLobby_Text_23FA0F: @ 823FA0F +BattleFrontier_BattleTowerLobby_Text_DontThinkMuchAboutIt: @ 823FA0F .string "Oh, so you don't think much about it?\n" .string "You're one cool customer.$" -BattleFrontier_BattleTowerLobby_Text_23FA4F: @ 823FA4F +BattleFrontier_BattleTowerLobby_Text_ChangedYourMind: @ 823FA4F .string "Hunh? You changed your mind?\n" .string "I guess you're fickle.$" -BattleFrontier_BattleTowerLobby_Text_23FA83: @ 823FA83 +BattleFrontier_BattleTowerLobby_Text_ThatsHowYouFeel: @ 823FA83 .string "Okay, so that's how you feel?\n" .string "That's quite original.\p" .string "Thanks!$" -BattleFrontier_BattleTowerLobby_Text_23FAC0: @ 823FAC0 +BattleFrontier_BattleTowerLobby_Text_WinsInRowRecorded: @ 823FAC0 .string "The number of matches you win in a row\n" .string "is recorded.\p" .string "I'd better not get beaten in\n" .string "an embarrassing way!$" -BattleFrontier_BattleTowerLobby_Text_23FB26: @ 823FB26 +BattleFrontier_BattleTowerLobby_Text_CanLeaveUntilLossOrSevenWins: @ 823FB26 .string "Once you've entered the BATTLE TOWER,\n" .string "you can't leave until you either lose\l" .string "or you beat seven TRAINERS in a row.\p" .string "You'd best be certain that you're up\n" .string "to the challenge.$" -BattleFrontier_BattleTowerLobby_Text_23FBCE: @ 823FBCE +@ Unused +BattleFrontier_BattleTowerLobby_Text_DoubleBattleRoomConstruction: @ 823FBCE .string "Welcome to the BATTLE TOWER\n" .string "DOUBLE BATTLE CORNER!\p" .string "Unfortunately, the BATTLE ROOMS\n" @@ -1229,7 +1083,8 @@ BattleFrontier_BattleTowerLobby_Text_23FBCE: @ 823FBCE .string "Please come back when the work\n" .string "is completed.$" -BattleFrontier_BattleTowerLobby_Text_23FC6B: @ 823FC6B +@ Unused +BattleFrontier_BattleTowerLobby_Text_MultiBattleRoomConstruction: @ 823FC6B .string "Welcome to the BATTLE TOWER\n" .string "MULTI BATTLE CORNER!\p" .string "Unfortunately, the BATTLE ROOMS\n" @@ -1237,32 +1092,34 @@ BattleFrontier_BattleTowerLobby_Text_23FC6B: @ 823FC6B .string "Please come back when the work\n" .string "is completed.$" -BattleFrontier_BattleTowerLobby_Text_23FD07: @ 823FD07 +BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge: @ 823FD07 .string "We look forward to seeing you on\n" .string "another challenge!$" -BattleFrontier_BattleTowerLobby_Text_23FD3B: @ 823FD3B +BattleFrontier_BattleTowerLobby_Text_WhichLevelMode: @ 823FD3B .string "The BATTLE ROOM offers two levels\n" .string "of challenge, Level 50 and Open Level.\l" .string "Which is your choice?$" -BattleFrontier_BattleTowerLobby_Text_23FD9A: @ 823FD9A +@ Unused +BattleFrontier_BattleTowerLobby_Text_PleaseSelectMons: @ 823FD9A .string "Please select the POKéMON you wish\n" .string "to enter.$" -BattleFrontier_BattleTowerLobby_Text_23FDC7: @ 823FDC7 +BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering: @ 823FDC7 .string "Before entering a BATTLE ROOM, your\n" .string "progress must be saved. Is that okay?$" -BattleFrontier_BattleTowerLobby_Text_23FE11: @ 823FE11 +BattleFrontier_BattleTowerLobby_Text_ShowYouToBattleRoom: @ 823FE11 .string "I will now show you to the\n" .string "{STR_VAR_1} BATTLE ROOM.$" -BattleFrontier_BattleTowerLobby_Text_23FE3C: @ 823FE3C +BattleFrontier_BattleTowerLobby_Text_RecordLastMatch: @ 823FE3C .string "Shall I record your last BATTLE TOWER\n" .string "match on your FRONTIER PASS?$" -BattleFrontier_BattleTowerLobby_Text_23FE7F: @ 823FE7F +@ Unused +BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50: @ 823FE7F .string "Excuse me!\p" .string "You don't have {STR_VAR_2} eligible POKéMON.\p" .string "You must have {STR_VAR_2} different POKéMON\n" @@ -1272,7 +1129,8 @@ BattleFrontier_BattleTowerLobby_Text_23FE7F: @ 823FE7F .string "EGGS{STR_VAR_1} ineligible.\p" .string "Please come see me when you are ready.$" -BattleFrontier_BattleTowerLobby_Text_23FF5D: @ 823FF5D +@ Unused +BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpen: @ 823FF5D .string "Excuse me!\p" .string "You don't have {STR_VAR_2} eligible POKéMON.\p" .string "You must have {STR_VAR_2} different POKéMON\n" @@ -1282,7 +1140,7 @@ BattleFrontier_BattleTowerLobby_Text_23FF5D: @ 823FF5D .string "EGGS{STR_VAR_1} ineligible.\p" .string "Please come see me when you are ready.$" -BattleFrontier_BattleTowerLobby_Text_240027: @ 8240027 +BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Singles: @ 8240027 .string "Excuse me!\p" .string "You don't have three eligible POKéMON.\p" .string "You must have three different POKéMON\n" @@ -1292,7 +1150,7 @@ BattleFrontier_BattleTowerLobby_Text_240027: @ 8240027 .string "EGGS{STR_VAR_1} ineligible.\p" .string "Please come see me when you are ready.$" -BattleFrontier_BattleTowerLobby_Text_24010B: @ 824010B +BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenSingles: @ 824010B .string "Excuse me!\p" .string "You don't have three eligible POKéMON.\p" .string "You must have three different POKéMON\n" @@ -1302,7 +1160,7 @@ BattleFrontier_BattleTowerLobby_Text_24010B: @ 824010B .string "EGGS{STR_VAR_1} ineligible.\p" .string "Please come see me when you are ready.$" -BattleFrontier_BattleTowerLobby_Text_2401DB: @ 82401DB +BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Doubles: @ 82401DB .string "Excuse me!\p" .string "You don't have four eligible POKéMON.\p" .string "You must have four different POKéMON\n" @@ -1312,7 +1170,7 @@ BattleFrontier_BattleTowerLobby_Text_2401DB: @ 82401DB .string "EGGS{STR_VAR_1} ineligible.\p" .string "Please come see me when you are ready.$" -BattleFrontier_BattleTowerLobby_Text_2402BD: @ 82402BD +BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenDoubles: @ 82402BD .string "Excuse me!\p" .string "You don't have four eligible POKéMON.\p" .string "You must have four different POKéMON\n" @@ -1322,7 +1180,7 @@ BattleFrontier_BattleTowerLobby_Text_2402BD: @ 82402BD .string "EGGS{STR_VAR_1} ineligible.\p" .string "Please come see me when you are ready.$" -BattleFrontier_BattleTowerLobby_Text_24038B: @ 824038B +BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Multis: @ 824038B .string "Excuse me!\p" .string "You don't have two eligible POKéMON.\p" .string "You must have two different POKéMON\n" @@ -1332,7 +1190,7 @@ BattleFrontier_BattleTowerLobby_Text_24038B: @ 824038B .string "EGGS{STR_VAR_1} ineligible.\p" .string "Please come see me when you are ready.$" -BattleFrontier_BattleTowerLobby_Text_24046B: @ 824046B +BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenMultis: @ 824046B .string "Excuse me!\p" .string "You don't have two eligible POKéMON.\p" .string "You must have two different POKéMON\n" @@ -1342,18 +1200,18 @@ BattleFrontier_BattleTowerLobby_Text_24046B: @ 824046B .string "EGGS{STR_VAR_1} ineligible.\p" .string "Please come see me when you are ready.$" -BattleFrontier_BattleTowerLobby_Text_240537: @ 8240537 +BattleFrontier_BattleTowerLobby_Text_WelcomSingleBattle: @ 8240537 .string "Where the talents of TRAINERS\n" .string "are put to the test!\p" .string "Welcome to the BATTLE TOWER!\p" .string "I am your guide to the SINGLE\n" .string "BATTLE ROOMS.$" -BattleFrontier_BattleTowerLobby_Text_2405B3: @ 82405B3 +BattleFrontier_BattleTowerLobby_Text_TakeSinglesChallenge: @ 82405B3 .string "Would you like to take the SINGLE\n" .string "BATTLE ROOM challenge?$" -BattleFrontier_BattleTowerLobby_Text_2405EC: @ 82405EC +BattleFrontier_BattleTowerLobby_Text_ExplainSinglesChallenge: @ 82405EC .string "The BATTLE TOWER's SINGLE BATTLE\n" .string "ROOMS are facilities for conducting\l" .string "SINGLE BATTLES with three POKéMON.\p" @@ -1368,22 +1226,22 @@ BattleFrontier_BattleTowerLobby_Text_2405EC: @ 82405EC .string "If you don't save before interrupting,\n" .string "you will be disqualified.$" -BattleFrontier_BattleTowerLobby_Text_2407A6: @ 82407A6 +BattleFrontier_BattleTowerLobby_Text_SelectThreeMons: @ 82407A6 .string "Now please select the three POKéMON\n" .string "that are to be entered.$" -BattleFrontier_BattleTowerLobby_Text_2407E2: @ 82407E2 +BattleFrontier_BattleTowerLobby_Text_WelcomeDoubleBattle: @ 82407E2 .string "Where the talents of TRAINERS\n" .string "are put to the test!\p" .string "Welcome to the BATTLE TOWER!\p" .string "I am your guide to the DOUBLE\n" .string "BATTLE ROOMS.$" -BattleFrontier_BattleTowerLobby_Text_24085E: @ 824085E +BattleFrontier_BattleTowerLobby_Text_TakeDoublesChallenge: @ 824085E .string "Would you like to take the DOUBLE\n" .string "BATTLE ROOM challenge?$" -BattleFrontier_BattleTowerLobby_Text_240897: @ 8240897 +BattleFrontier_BattleTowerLobby_Text_ExplainDoublesChallenge: @ 8240897 .string "The BATTLE TOWER's DOUBLE BATTLE\n" .string "ROOMS are facilities for conducting\l" .string "DOUBLE BATTLES with four POKéMON.\p" @@ -1398,22 +1256,22 @@ BattleFrontier_BattleTowerLobby_Text_240897: @ 8240897 .string "If you don't save before interrupting,\n" .string "you will be disqualified.$" -BattleFrontier_BattleTowerLobby_Text_240A50: @ 8240A50 +BattleFrontier_BattleTowerLobby_Text_PleaseSelectFourMons: @ 8240A50 .string "Now please select the four POKéMON\n" .string "that are to be entered.$" -BattleFrontier_BattleTowerLobby_Text_240A8B: @ 8240A8B +BattleFrontier_BattleTowerLobby_Text_WelcomeMultiBattle: @ 8240A8B .string "Where the talents of TRAINERS\n" .string "are put to the test!\p" .string "Welcome to the BATTLE TOWER!\p" .string "I am your guide to the MULTI\n" .string "BATTLE ROOMS.$" -BattleFrontier_BattleTowerLobby_Text_240B06: @ 8240B06 +BattleFrontier_BattleTowerLobby_Text_TakeMultisChallenge: @ 8240B06 .string "Would you like to take the MULTI\n" .string "BATTLE ROOM challenge?$" -BattleFrontier_BattleTowerLobby_Text_240B3E: @ 8240B3E +BattleFrontier_BattleTowerLobby_Text_ExplainMultisChallenge: @ 8240B3E .string "The BATTLE TOWER's MULTI BATTLE\n" .string "ROOMS are facilities for conducting\l" .string "MULTI BATTLES.\p" @@ -1436,22 +1294,22 @@ BattleFrontier_BattleTowerLobby_Text_240B3E: @ 8240B3E .string "If you don't save before interrupting,\n" .string "you will be disqualified.$" -BattleFrontier_BattleTowerLobby_Text_240DDB: @ 8240DDB +BattleFrontier_BattleTowerLobby_Text_PleaseSelectTwoMons: @ 8240DDB .string "Now please select the two POKéMON\n" .string "that are to be entered.$" -BattleFrontier_BattleTowerLobby_Text_240E15: @ 8240E15 +BattleFrontier_BattleTowerLobby_Text_WelcomeLinkMultiBattle: @ 8240E15 .string "Where the talents of TRAINERS\n" .string "are put to the test!\p" .string "Welcome to the BATTLE TOWER!\p" .string "I am your guide to the LINK MULTI\n" .string "BATTLE ROOMS.$" -BattleFrontier_BattleTowerLobby_Text_240E95: @ 8240E95 +BattleFrontier_BattleTowerLobby_Text_TakeLinkMultisChallenge: @ 8240E95 .string "Would you like to take the LINK MULTI\n" .string "BATTLE ROOM challenge?$" -BattleFrontier_BattleTowerLobby_Text_240ED2: @ 8240ED2 +BattleFrontier_BattleTowerLobby_Text_ExplainLinkMultisChallenge: @ 8240ED2 .string "The BATTLE TOWER's MULTI BATTLE\n" .string "ROOMS are facilities for conducting\l" .string "MULTI BATTLES with a friend.\p" @@ -1472,79 +1330,76 @@ BattleFrontier_BattleTowerLobby_Text_240ED2: @ 8240ED2 .string "Once you start, you must battle seven\n" .string "MULTI BATTLES in a row nonstop.$" -BattleFrontier_BattleTowerLobby_Text_24115E: @ 824115E +BattleFrontier_BattleTowerLobby_Text_PleaseSelectTwoMons2: @ 824115E .string "Now please select the two POKéMON\n" .string "that are to be entered.$" -BattleFrontier_BattleTowerLobby_Text_241198: @ 8241198 +@ Unused +BattleFrontier_BattleTowerLobby_Text_ChoseSameMonAsFriend: @ 8241198 .string "You have chosen the same kind of\n" .string "POKéMON as your friend.\p" .string "Please choose two POKéMON different\n" .string "from your friend's, match the level\l" .string "you wish to enter, and register again.$" -BattleFrontier_BattleTowerLobby_Text_241240: @ 8241240 +BattleFrontier_BattleTowerLobby_Text_LinkMultiOnlyForTwoPlayers: @ 8241240 .string "The LINK MULTI BATTLE ROOM challenge\n" .string "is only for two linked players.$" -BattleFrontier_BattleTowerLobby_Text_241285: @ 8241285 +BattleFrontier_BattleTowerLobby_Text_FriendAlsoSelectedMon: @ 8241285 .string "Your friend has also selected\n" .string "the POKéMON {STR_VAR_1}.$" -BattleFrontier_BattleTowerLobby_Text_2412B3: @ 82412B3 +BattleFrontier_BattleTowerLobby_Text_FriendAlsoSelectedMons: @ 82412B3 .string "Your friend has also selected the\n" .string "POKéMON {STR_VAR_1} and {STR_VAR_2}.$" -BattleFrontier_BattleTowerLobby_Text_2412E8: @ 82412E8 +BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlMode: @ 82412E8 .string "Your friend has chosen a different\n" .string "battle level.$" -BattleFrontier_BattleTowerLobby_Text_241319: @ 8241319 +@ Unused +BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlModeSameMon: @ 8241319 .string "Your friend has chosen a different\n" .string "battle level.\p" .string "Your friend has also selected\n" .string "the POKéMON {STR_VAR_1}.$" -BattleFrontier_BattleTowerLobby_Text_241378: @ 8241378 +@ Unused +BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlModeSameMons: @ 8241378 .string "Your friend has chosen a different\n" .string "battle level.\p" .string "Your friend has also selected the\n" .string "POKéMON {STR_VAR_1} and {STR_VAR_2}.$" -BattleFrontier_BattleTowerLobby_Text_2413DE: @ 82413DE +BattleFrontier_BattleTowerLobby_Text_ChooseDifferentMonsMatchLvlMode: @ 82413DE .string "Please choose two POKéMON different\n" .string "from your friend's, match the level\l" .string "you wish to enter, and register again.$" -BattleFrontier_BattleTowerLobby_Text_24144D: @ 824144D +BattleFrontier_BattleTowerLobby_Text_SaveGameBeforeShowingIn: @ 824144D .string "I will save the game before\n" .string "showing you in. Please wait.$" -BattleFrontier_BattleTowerLobby_Text_241486: @ 8241486 +BattleFrontier_BattleTowerLobby_Text_CongratsDefeatedMaiden: @ 8241486 .string "Congratulations!\n" .string "You have defeated the SALON MAIDEN\l" .string "and swept seven TRAINERS!$" -BattleFrontier_BattleTowerLobby_Text_2414D4: @ 82414D4 +BattleFrontier_BattleTowerLobby_Text_AwardYouTheseBattlePoints: @ 82414D4 .string "In recognition of your infinite talent,\n" .string "we award you these Battle Point(s).$" -BattleFrontier_BattleArenaLobby_Text_241520: @ 8241520 -BattleFrontier_BattleDomeLobby_Text_241520: @ 8241520 -BattleFrontier_BattleFactoryLobby_Text_241520: @ 8241520 -BattleFrontier_BattlePalaceLobby_Text_241520: @ 8241520 -BattleFrontier_BattlePikeLobby_Text_241520: @ 8241520 -BattleFrontier_BattlePyramidLobby_Text_241520: @ 8241520 -BattleFrontier_BattleTowerLobby_Text_241520: @ 8241520 +BattleFrontier_Text_ObtainedXBattlePoints: @ 8241520 .string "{PLAYER} obtained {STR_VAR_1} Battle Point(s).$" -BattleFrontier_BattleTowerLobby_Text_241540: @ 8241540 +BattleFrontier_BattleTowerLobby_Text_RulesAreListed: @ 8241540 .string "The BATTLE TOWER rules are listed.$" -BattleFrontier_BattleTowerLobby_Text_241563: @ 8241563 +BattleFrontier_BattleTowerLobby_Text_ReadWhichHeading: @ 8241563 .string "Which heading do you want to read?$" -BattleFrontier_BattleTowerLobby_Text_241586: @ 8241586 +BattleFrontier_BattleTowerLobby_Text_ExplainTowerRules: @ 8241586 .string "The BATTLE TOWER is a facility where\n" .string "four types of battles are waged--\l" .string "SINGLE BATTLE, DOUBLE BATTLE, MULTI\l" @@ -1554,7 +1409,7 @@ BattleFrontier_BattleTowerLobby_Text_241586: @ 8241586 .string "Please speak with a guide offering\n" .string "the type of battle you wish to enter.$" -BattleFrontier_BattleTowerLobby_Text_241693: @ 8241693 +BattleFrontier_BattleTowerLobby_Text_ExplainMonRules: @ 8241693 .string "Depending on the BATTLE ROOM you are\n" .string "entering, you will be required to take\l" .string "a certain number of POKéMON.\p" @@ -1563,7 +1418,7 @@ BattleFrontier_BattleTowerLobby_Text_241693: @ 8241693 .string "The DOUBLE BATTLE mode requires four,\n" .string "and the MULTI modes both require two.$" -BattleFrontier_BattleTowerLobby_Text_241777: @ 8241777 +BattleFrontier_BattleTowerLobby_Text_ExplainSalonRules: @ 8241777 .string "The BATTLE SALON is where you must\n" .string "find a partner to form a tag team for\l" .string "the MULTI BATTLE ROOM challenge.\p" @@ -1573,7 +1428,7 @@ BattleFrontier_BattleTowerLobby_Text_241777: @ 8241777 .string "You may choose a new tag partner\n" .string "after winning seven straight matches.$" -BattleFrontier_BattleTowerLobby_Text_24187E: @ 824187E +BattleFrontier_BattleTowerLobby_Text_ExplainMultiLinkRules: @ 824187E .string "The LINK MULTI BATTLE Mode is for two\n" .string "friends to mount a challenge together.\p" .string "You and your friend must be linked with\n" diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.json b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.json index f3b0807320..842da9c00e 100644 --- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.json +++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.json @@ -1,7 +1,7 @@ { "id": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM", "name": "BattleFrontier_BattleTowerMultiBattleRoom", - "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM", + "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM", "music": "MUS_SATTOWER", "region_map_section": "MAPSEC_BATTLE_FRONTIER", "requires_flash": false, @@ -9,127 +9,88 @@ "map_type": "MAP_TYPE_INDOOR", "allow_bike": false, "allow_escape_rope": false, - "allow_running": true, + "allow_running": false, "show_map_name": false, - "battle_scene": "MAP_BATTLE_SCENE_NORMAL", + "battle_scene": "MAP_BATTLE_SCENE_FRONTIER", "connections": null, "object_events": [ { - "graphics_id": "EVENT_OBJ_GFX_TEALA", - "x": 11, - "y": 2, + "graphics_id": "EVENT_OBJ_GFX_VAR_0", + "x": 5, + "y": 1, "elevation": 3, "movement_type": "MOVEMENT_TYPE_FACE_DOWN", - "movement_range_x": 1, - "movement_range_y": 1, + "movement_range_x": 0, + "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E7A", + "script": "0x0", + "flag": "FLAG_HIDE_BATTLE_TOWER_OPPONENT" + }, + { + "graphics_id": "EVENT_OBJ_GFX_TEALA", + "x": 1, + "y": 4, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_RIGHT", + "movement_range_x": 0, + "movement_range_y": 0, + "trainer_type": "0", + "trainer_sight_or_berry_tree_id": "0", + "script": "0x0", "flag": "0" }, { - "graphics_id": "EVENT_OBJ_GFX_VAR_0", - "x": 2, - "y": 10, + "graphics_id": "EVENT_OBJ_GFX_TEALA", + "x": 1, + "y": 5, "elevation": 3, - "movement_type": "MOVEMENT_TYPE_LOOK_AROUND", - "movement_range_x": 1, - "movement_range_y": 1, + "movement_type": "MOVEMENT_TYPE_FACE_RIGHT", + "movement_range_x": 0, + "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29", - "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1" + "script": "0x0", + "flag": "0" }, { "graphics_id": "EVENT_OBJ_GFX_VAR_1", - "x": 17, - "y": 11, + "x": 4, + "y": 1, "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT", - "movement_range_x": 1, - "movement_range_y": 1, + "movement_type": "MOVEMENT_TYPE_FACE_DOWN", + "movement_range_x": 0, + "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB", - "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2" + "script": "0x0", + "flag": "FLAG_HIDE_BATTLE_TOWER_OPPONENT" }, { - "graphics_id": "EVENT_OBJ_GFX_VAR_2", - "x": 6, - "y": 9, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_LOOK_AROUND", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": "0", - "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008", - "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3" - }, - { - "graphics_id": "EVENT_OBJ_GFX_VAR_3", - "x": 8, - "y": 13, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_LOOK_AROUND", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": "0", - "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015", - "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4" - }, - { - "graphics_id": "EVENT_OBJ_GFX_VAR_4", - "x": 10, - "y": 11, + "graphics_id": "EVENT_OBJ_GFX_VAR_F", + "x": 4, + "y": 8, "elevation": 3, "movement_type": "MOVEMENT_TYPE_FACE_UP", - "movement_range_x": 1, - "movement_range_y": 1, + "movement_range_x": 0, + "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022", - "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5" + "script": "0x0", + "flag": "0" }, { - "graphics_id": "EVENT_OBJ_GFX_VAR_5", - "x": 13, - "y": 10, + "graphics_id": "EVENT_OBJ_GFX_VAR_E", + "x": 5, + "y": 8, "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_RIGHT", - "movement_range_x": 1, - "movement_range_y": 1, + "movement_type": "MOVEMENT_TYPE_FACE_UP", + "movement_range_x": 0, + "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F", - "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6" - }, - { - "graphics_id": "EVENT_OBJ_GFX_VAR_6", - "x": 15, - "y": 13, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_LEFT", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": "0", - "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C", - "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1" - }, - { - "graphics_id": "EVENT_OBJ_GFX_VAR_7", - "x": 4, - "y": 12, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_RIGHT", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": "0", - "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049", - "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2" + "script": "0x0", + "flag": "0" } ], "warp_events": [], diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc index f09166f5ae..f991d5fe62 100644 --- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc @@ -1,1820 +1,513 @@ -BattleFrontier_BattleTowerMultiBattleRoom_MapScripts:: @ 8243D92 - map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DA7 - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DB0 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E14 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E23 +BattleFrontier_BattleTowerMultiBattleRoom_MapScripts:: @ 8248EE8 + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerMultiBattleRoom_OnTransition + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerMultiBattleRoom_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerMultiBattleRoom_OnFrame .byte 0 -BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DA7: @ 8243DA7 - setvar VAR_0x8004, 17 - special CallBattlePyramidFunction + @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden + @ The player is represented instead by object event 5, which has the gfx id VAR_OBJ_GFX_ID_F + @ The multi partner is represented by object event 6, which has the gfx id VAR_OBJ_GFX_ID_E + +BattleFrontier_BattleTowerMultiBattleRoom_OnTransition: @ 8248EF8 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS + call_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetObjGfx + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS + call_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetLinkPlayerGfx end -BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DB0: @ 8243DB0 - goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243DDA - clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1 - clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2 - clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3 - clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4 - clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5 - clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6 - setflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1 - setflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2 - setvar VAR_0x8004, 10 - special sub_8161F74 - end +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetObjGfx:: @ 8248F0F + tower_setpartnergfx + checkplayergender + compare VAR_RESULT, FEMALE + goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetPlayerGfxFemale + setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_BRENDAN_NORMAL + return -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243DDA:: @ 8243DDA - setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_BOY_1 - setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_BOY_1 - setvar VAR_OBJ_GFX_ID_2, EVENT_OBJ_GFX_BOY_1 - setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_BOY_1 - setvar VAR_OBJ_GFX_ID_4, EVENT_OBJ_GFX_BOY_1 - setvar VAR_OBJ_GFX_ID_5, EVENT_OBJ_GFX_BOY_1 - setvar VAR_OBJ_GFX_ID_6, EVENT_OBJ_GFX_BOY_1 - setvar VAR_OBJ_GFX_ID_7, EVENT_OBJ_GFX_BOY_1 - setvar VAR_TEMP_1, 1 - setvar VAR_TEMP_3, 1 - setobjectxyperm 1, 10, 2 - end +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetPlayerGfxFemale:: @ 8248F29 + setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_MAY_NORMAL + return -BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E14: @ 8243E14 - map_script_2 VAR_TEMP_3, 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E1E +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetLinkPlayerGfx:: @ 8248F2F + special SetBattleTowerLinkPlayerGfx + return + +BattleFrontier_BattleTowerMultiBattleRoom_OnWarp: @ 8248F33 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_HidePlayerObj .2byte 0 -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E1E:: @ 8243E1E - turnobject EVENT_OBJ_ID_PLAYER, 2 +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_HidePlayerObj:: @ 8248F3D + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM end -BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E23: @ 8243E23 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41 - map_script_2 VAR_TEMP_3, 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E35 +BattleFrontier_BattleTowerMultiBattleRoom_OnFrame: @ 8248F43 + map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_EnterRoom .2byte 0 -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E35:: @ 8243E35 - lockall - setvar VAR_TEMP_3, 0 - goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EB5 - end - -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41:: @ 8243E41 - lockall - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E75 +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_EnterRoom:: @ 8248F4D + setvar VAR_TEMP_0, 1 + applymovement 5, BattleFrontier_BattleTowerMultiBattleRoom_Movement_PlayerEnterRoom + applymovement 6, BattleFrontier_BattleTowerMultiBattleRoom_Movement_PartnerEnterRoom waitmovement 0 - applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E77 - waitmovement 0 - copyobjectxytoperm 1 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp - waitmovement 0 - msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244056, MSGBOX_DEFAULT - special HealPlayerParty - setvar VAR_TEMP_1, 1 - releaseall - end - -BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E75: @ 8243E75 - walk_down - step_end - -BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E77: @ 8243E77 - walk_left - walk_in_place_fastest_down - step_end - -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E7A:: @ 8243E7A - lock - faceplayer - message BattleFrontier_BattleTowerMultiBattleRoom_Text_244094 - waitmessage - multichoicedefault 20, 8, 94, 1, 0 + frontier_get FRONTIER_DATA_BATTLE_NUM compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E9D - msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_24410C, MSGBOX_DEFAULT - release - end + goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_OpponentsEnter + applymovement 2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer + applymovement 3, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer + waitmovement 0 + applymovement 5, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant + applymovement 6, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant + waitmovement 0 + frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E9D:: @ 8243E9D - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 6 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_241C03 - end +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_OpponentsEnter:: @ 8248FB4 + tower_setopponent + addobject 1 + addobject 4 + applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent1Enter + applymovement 4, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent2Enter + waitmovement 0 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS + goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DoOpponentIntrosLink + tower_getopponentintro 0 + delay 15 + applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft + waitmovement 0 + msgbox gStringVar4, MSGBOX_DEFAULT + waitmessage + tower_getopponentintro 1 + applymovement 4, BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft + waitmovement 0 + msgbox gStringVar4, MSGBOX_DEFAULT + waitmessage + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DoTowerBattle -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EB5:: @ 8243EB5 - msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244149, MSGBOX_DEFAULT +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DoOpponentIntrosLink:: @ 8249026 + tower_getopponentintro 0 + delay 15 + applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft + waitmovement 0 + messageautoscroll gStringVar4 + waitmessage + delay 48 + tower_getopponentintro 1 + applymovement 4, BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft + waitmovement 0 + messageautoscroll gStringVar4 + waitmessage + delay 48 +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DoTowerBattle:: @ 8249069 + call BattleFrontier_BattleTowerBattleRoom_EventScript_DoTowerBattle + switch VAR_RESULT + case B_OUTCOME_WON, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DefeatedOpponents +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_WarpToLobbyLost:: @ 824907E + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST + tower_set TOWER_DATA_LVL_MODE + setvar VAR_0x8004, 3 + special Script_TryGainNewFanFromCounter + goto BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobby + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DefeatedOpponents:: @ 82490AA + call BattleFrontier_EventScript_IncrementWinStreak + tower_setbattlewon + switch VAR_RESULT + case 7, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_WarpToLobbyWon + applymovement 4, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent2Exit + applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent1Exit + waitmovement 0 + removeobject 1 + removeobject 4 + applymovement 2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer + applymovement 3, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer + waitmovement 0 + applymovement 5, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant + applymovement 6, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant + waitmovement 0 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS + goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RetorePartyMsgLink + msgbox BattleFrontier_BattleTowerBattleRoom_Text_RestoreMonsToFullHealth, MSGBOX_DEFAULT + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RestoreParty + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RetorePartyMsgLink:: @ 8249118 + messageautoscroll BattleFrontier_BattleTowerBattleRoom_Text_RestoreMonsToFullHealth + waitmessage + delay 48 +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RestoreParty:: @ 8249121 + special LoadPlayerParty + frontier_setpartyorder FRONTIER_MULTI_PARTY_SIZE + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS + call_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_249514 + playfanfare MUS_ME_ASA + waitfanfare + special HealPlayerParty +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents:: @ 8249143 + frontier_get FRONTIER_DATA_BATTLE_NUM + call BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyForNextOpponentSet + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS + goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallenge + call BattleFrontier_EventScript_GetCantRecordBattle + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsNoRecord + multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallenge + case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRecordBattle + case 2, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskPauseChallenge + case 3, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsNoRecord:: @ 82491B1 + multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallenge + case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskPauseChallenge + case 2, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRecordBattle:: @ 82491E7 + message BattleFrontier_BattleTowerBattleRoom_Text_RecordYourBattle + waitmessage + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents + case 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RecordBattle + case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RecordBattle:: @ 8249219 + call BattleFrontier_EventScript_SaveBattle + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskPauseChallenge:: @ 8249223 + msgbox BattleFrontier_BattleTowerBattleRoom_Text_SaveAndQuitGame, MSGBOX_YESNO + switch VAR_RESULT + case NO, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents + case YES, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_PauseChallenge + case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallenge:: @ 8249251 + message BattleFrontier_BattleTowerBattleRoom_Text_CancelYourChallenge + waitmessage + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents + case 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_WarpToLobbyLost + case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallenge:: @ 8249283 closemessage - applymovement 1, Common_Movement_WalkInPlaceUp + clearflag FLAG_TEMP_2 + applymovement 5, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceBattle + applymovement 6, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceBattle waitmovement 0 - opendoor 10, 1 - waitdooranim - call BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EE4 - closedoor 10, 1 - waitdooranim - warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 255, 1, 6 - waitstate - releaseall + applymovement 2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantReturnToPos + applymovement 3, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantReturnToPos + waitmovement 0 + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_OpponentsEnter end -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EE4:: @ 8243EE4 - applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1A - waitmovement 0 +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_WarpToLobbyWon:: @ 82492AF + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON + tower_set TOWER_DATA_LVL_MODE + setvar VAR_0x8004, 3 + special Script_TryGainNewFanFromCounter + goto BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobby + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_PauseChallenge:: @ 82492DB + message BattleFrontier_BattleTowerBattleRoom_Text_SavingPleaseWait + waitmessage + tower_save CHALLENGE_STATUS_PAUSED + playse SE_SAVE + waitse + fadescreen 1 + frontier_reset + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyForNextOpponentSet:: @ 82492FD + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS + goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyForNextOpponentSetLink + copyvar VAR_TEMP_F, VAR_RESULT + switch VAR_TEMP_F + case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor2ndOpponentSet + case 2, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor3rdOpponentSet + case 3, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor4thOpponentSet + case 4, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor5thOpponentSet + case 5, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor6thOpponentSet + case 6, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor7thOpponentSet + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor2ndOpponentSet:: @ 8249354 + message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor2ndOpponentSet + waitmessage return -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EF6: @ 8243EF6 - applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1E - waitmovement 0 +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor3rdOpponentSet:: @ 824935B + message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor3rdOpponentSet + waitmessage return -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F08: @ 8243F08 - applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F22 - waitmovement 0 +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor4thOpponentSet:: @ 8249362 + message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor4thOpponentSet + waitmessage return -BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1A: @ 8243F1A +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor5thOpponentSet:: @ 8249369 + message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor5thOpponentSet + waitmessage + return + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor6thOpponentSet:: @ 8249370 + message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor6thOpponentSet + waitmessage + return + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor7thOpponentSet:: @ 8249377 + message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor7thOpponentSet + waitmessage + return + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyForNextOpponentSetLink:: @ 824937E + copyvar VAR_TEMP_F, VAR_RESULT + switch VAR_TEMP_F + case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor2ndOpponentSetLink + case 2, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor3rdOpponentSetLink + case 3, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor4thOpponentSetLink + case 4, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor5thOpponentSetLink + case 5, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor6thOpponentSetLink + case 6, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor7thOpponentSetLink + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor2ndOpponentSetLink:: @ 82493CA + message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor2ndOpponentSet + waitmessage + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLink + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor3rdOpponentSetLink:: @ 82493D6 + message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor3rdOpponentSet + waitmessage + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLink + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor4thOpponentSetLink:: @ 82493E2 + message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor4thOpponentSet + waitmessage + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLink + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor5thOpponentSetLink:: @ 82493EE + message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor5thOpponentSet + waitmessage + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLink + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor6thOpponentSetLink:: @ 82493FA + message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor6thOpponentSet + waitmessage + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLink + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor7thOpponentSetLink:: @ 8249406 + message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor7thOpponentSet + waitmessage + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLink + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_LinkDelayForMsg:: @ 8249412 + waitmessage + delay 48 + return + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLink:: @ 8249417 + goto_if_set FLAG_TEMP_2, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLinkNoRecord + multichoice 19, 6, MULTI_GO_ON_RECORD_RETIRE, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallengeLink + case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRecordBattleLink + case 2, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallengeLink + case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallengeLink + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLinkNoRecord:: @ 8249457 + multichoice 20, 8, MULTI_GO_ON_RETIRE, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallengeLink + case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallengeLink + case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallengeLink + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallengeLink:: @ 8249483 + setvar VAR_0x8004, BATTLE_TOWER_LINK_CONTINUE + setvar VAR_0x8005, 0 + message gText_LinkStandby3 + waitmessage + special LinkRetireStatusWithBattleTowerPartner + waitstate + compare VAR_RESULT, BATTLE_TOWER_LINKSTAT_CONTINUE + goto_if_ne BattleFrontier_BattleTowerMultiBattleRoom_EventScript_WarpToLobbyLost + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_LinkDelayForMsg + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRecordBattleLink:: @ 82494A8 + message BattleFrontier_BattleTowerBattleRoom_Text_RecordYourBattle + waitmessage + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents + case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents + call BattleFrontier_EventScript_SaveBattle + setflag FLAG_TEMP_2 + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallengeLink:: @ 82494DD + message BattleFrontier_BattleTowerBattleRoom_Text_CancelYourChallenge + waitmessage + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 + compare VAR_RESULT, 0 + goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RetireChallengeLink + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RetireChallengeLink:: @ 82494FA + setvar VAR_0x8004, BATTLE_TOWER_LINK_RETIRE + setvar VAR_0x8005, 0 + message gText_LinkStandby3 + waitmessage + special LinkRetireStatusWithBattleTowerPartner + waitstate + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_WarpToLobbyLost + end + +@ Some link function. Sets battle type flags at least +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_249514:: @ 8249514 + special sub_813B534 + return + +BattleFrontier_BattleTowerMultiBattleRoom_Movement_PlayerEnterRoom: @ 8249518 walk_up walk_up - set_invisible + walk_up + walk_up + face_right step_end -BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1E: @ 8243F1E - walk_right - walk_up - set_invisible - step_end - -BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F22: @ 8243F22 +BattleFrontier_BattleTowerMultiBattleRoom_Movement_PartnerEnterRoom: @ 824951E walk_left walk_up - set_invisible + walk_up + walk_up + face_right step_end -BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26: @ 8243F26 +BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant: @ 8249524 + face_left + step_end + +BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceBattle: @ 8249526 + walk_in_place_fastest_right + step_end + +BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent1Enter: @ 8249528 + walk_down + walk_down + walk_down + walk_down + face_left + step_end + +BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent2Enter: @ 824952E + walk_right + walk_down + walk_down + walk_down + face_left + step_end + +BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent2Exit: @ 8249534 + walk_up + walk_up walk_up set_invisible step_end -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29:: @ 8243F29 - lock - faceplayer - setvar VAR_TEMP_2, 0 - goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 - end - -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36:: @ 8243F36 - goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3 - setvar VAR_0x8004, 11 - setvar VAR_0x8005, 0 - special sub_8161F74 - waitmessage - waitbuttonpress - setvar VAR_0x8004, 11 - setvar VAR_0x8005, 1 - special sub_8161F74 - waitmessage - waitbuttonpress - setvar VAR_0x8004, 11 - setvar VAR_0x8005, 2 - special sub_8161F74 - waitmessage - multichoicedefault 20, 8, 94, 1, 0 - switch VAR_RESULT - case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3 - case 127, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3 - setvar VAR_0x8004, 11 - setvar VAR_0x8005, 3 - special sub_8161F74 - waitmessage - waitbuttonpress - closemessage - compare VAR_FACING, 1 - call_if_ne BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FD4 - compare VAR_FACING, 1 - call_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FDF - removeobject VAR_LAST_TALKED - setflag FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER - warpsilent MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 10, 3 - waitstate - release - end - -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3:: @ 8243FC3 - setvar VAR_0x8004, 11 - setvar VAR_0x8005, 4 - special sub_8161F74 - waitmessage - waitbuttonpress - release - end - -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FD4:: @ 8243FD4 - applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FEA - waitmovement 0 - return - -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FDF:: @ 8243FDF - applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FF2 - waitmovement 0 - return - -BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FEA: @ 8243FEA - walk_fast_up - walk_fast_up - walk_fast_up - walk_fast_up - walk_fast_up - walk_fast_up - walk_fast_up +BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent1Exit: @ 8249539 + walk_up + walk_up + walk_up + walk_up step_end -BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FF2: @ 8243FF2 - walk_fast_left - walk_fast_up - walk_fast_up - walk_fast_up - walk_fast_up - walk_fast_up - walk_fast_up - walk_fast_up +BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer: @ 824953E + walk_right + walk_right step_end -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB:: @ 8243FFB - lock - faceplayer - setvar VAR_TEMP_2, 1 - goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 - end - -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008:: @ 8244008 - lock - faceplayer - setvar VAR_TEMP_2, 2 - goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 - end - -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015:: @ 8244015 - lock - faceplayer - setvar VAR_TEMP_2, 3 - goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 - end - -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022:: @ 8244022 - lock - faceplayer - setvar VAR_TEMP_2, 4 - goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 - end - -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F:: @ 824402F - lock - faceplayer - setvar VAR_TEMP_2, 5 - goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 - end - -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C:: @ 824403C - lock - faceplayer - setvar VAR_TEMP_2, 6 - goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 - end - -BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049:: @ 8244049 - lock - faceplayer - setvar VAR_TEMP_2, 7 - goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 - end - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244056: @ 8244056 - .string "Please find a partner from out of\n" - .string "the TRAINERS gathered here.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244094: @ 8244094 - .string "{PLAYER}, you have not found a partner\n" - .string "for your tag team.\p" - .string "Would you like to quit looking and\n" - .string "return to the reception counter?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24410C: @ 824410C - .string "Then, please find a partner from\n" - .string "the TRAINERS gathered here.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244149:: @ 8244149 - .string "Thank you for choosing a partner.\p" - .string "I will now show you to your\n" - .string "MULTI BATTLE ROOM.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24419A:: @ 824419A - .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n" - .string "You can call me {STR_VAR_3}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2441CA:: @ 82441CA - .string "On {STR_VAR_1}'s advice, I brought\n" - .string "one {STR_VAR_3} with {STR_VAR_2} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2441F7:: @ 82441F7 - .string "one {STR_VAR_2} with {STR_VAR_1}.\p" - .string "Please, let me join you as a tag team.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24422E:: @ 824422E - .string "Thank you!\n" - .string "I'll go register right now.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244255:: @ 8244255 - .string "I really wanted to form a tag team\n" - .string "with you, {PLAYER}…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244286:: @ 8244286 - .string "I am {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n" - .string "My name is {STR_VAR_3}.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2442B2:: @ 82442B2 - .string "I got advice from {STR_VAR_1} and chose\n" - .string "one {STR_VAR_3} with {STR_VAR_2} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2442E4:: @ 82442E4 - .string "one {STR_VAR_2} with {STR_VAR_1}.\p" - .string "Please, let's form a tag team!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244313:: @ 8244313 - .string "Thank you very much!\n" - .string "I'll be done with registration quickly!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244350:: @ 8244350 - .string "{PLAYER}, I was hoping that I could\n" - .string "partner up with you…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244383:: @ 8244383 - .string "Um, my name's {STR_VAR_3}, and I'm\n" - .string "{STR_VAR_1}'s no. {STR_VAR_2} apprentice.\p" - .string "Snivel…\p" - .string "I'm sorry!\n" - .string "This tension is making me cry…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2443E7:: @ 82443E7 - .string "{STR_VAR_3} advised me, so I have\n" - .string "one {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244413:: @ 8244413 - .string "one {STR_VAR_2} with {STR_VAR_1}.\p" - .string "Snivel…\n" - .string "Please, please team up with me!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24444B:: @ 824444B - .string "Oh, really? You will?\n" - .string "Awesome! Wicked! Awoooh!\p" - .string "Oh… I'm sorry…\n" - .string "I'm so happy, I'm crying…\p" - .string "I'll go register right away.\n" - .string "Please don't go away!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2444D6:: @ 82444D6 - .string "Oh, b-but…\n" - .string "Sob… Waaaaah!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2444EF:: @ 82444EF - .string "Hi, there! I'm {STR_VAR_3}!\n" - .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24451E:: @ 824451E - .string "{STR_VAR_3} recommended my crew.\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244549:: @ 8244549 - .string "one {STR_VAR_2} with {STR_VAR_1},\n" - .string "that's what I have! Cool, huh?\p" - .string "So come on!\n" - .string "Let's form a tag team!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24459B:: @ 824459B - .string "Yay! Great!\n" - .string "Okay, I'll go register, okay?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2445C5:: @ 82445C5 - .string "Aww, why?\n" - .string "I wanted to team up, {PLAYER}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2445E8:: @ 82445E8 - .string "I'm {STR_VAR_3}, the no. {STR_VAR_2} apprentice\n" - .string "of the famous {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244618:: @ 8244618 - .string "I looked to {STR_VAR_3} for advice.\n" - .string "One {STR_VAR_1}-using {STR_VAR_2}$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244643:: @ 8244643 - .string "and one {STR_VAR_2} with {STR_VAR_1},\n" - .string "that's my pair.\p" - .string "Please, will you join me in\n" - .string "a tag team?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24468F:: @ 824468F - .string "Thank you!\n" - .string "I'll register right away!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2446B4:: @ 82446B4 - .string "{PLAYER}, I had been hoping to join\n" - .string "you in a tag team…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2446E5:: @ 82446E5 - .string "Um… I'm sincerely happy that you\n" - .string "would take the time to talk to me.\p" - .string "I'm {STR_VAR_3}.\n" - .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24474D:: @ 824474D - .string "{STR_VAR_3} gave me advice.\n" - .string "I'm very grateful for it.\p" - .string "I have a team of one {STR_VAR_2}\n" - .string "with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24479E:: @ 824479E - .string "one {STR_VAR_2} with {STR_VAR_1}.\n" - .string "I know I'm asking a lot…\p" - .string "I don't think you'll be willing to,\n" - .string "but may I join you as a partner?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24480C:: @ 824480C - .string "Really? I can't believe it!\n" - .string "I can't believe you'll let me join you!\l" - .string "I… I won't let you down!\p" - .string "Um… If it's really okay, I'll go register\n" - .string "right this instant!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2448A7:: @ 82448A7 - .string "Oh…\n" - .string "I didn't think I was good enough…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2448CD:: @ 82448CD - .string "Hi, I'm {STR_VAR_3}.\n" - .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2448F5:: @ 82448F5 - .string "{STR_VAR_3} told me that it would be\n" - .string "good to make this team:\l" - .string "one {STR_VAR_1}-using {STR_VAR_2}$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244939:: @ 8244939 - .string "and one {STR_VAR_2} that knows how\n" - .string "to use {STR_VAR_1}.\p" - .string "Not bad, huh?\n" - .string "Want me to team up with you?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244989:: @ 8244989 - .string "Okay, glad to join you!\n" - .string "I hope you won't mess things up for me!\l" - .string "I'll do my registration now.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2449E6:: @ 82449E6 - .string "Huh? Why did you turn me down?\n" - .string "You're no judge of character!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244A23:: @ 8244A23 - .string "I'm {STR_VAR_3} and I'm a TRIATHLETE.\n" - .string "I'm busy every day what with jogging,\l" - .string "training, and rapping.\p" - .string "I also happen to be {STR_VAR_1}'s\n" - .string "no. {STR_VAR_2} apprentice.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244AA9:: @ 8244AA9 - .string "This is what {STR_VAR_3} recommended.\n" - .string "One {STR_VAR_1}-using {STR_VAR_2}$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244AD6:: @ 8244AD6 - .string "and one {STR_VAR_1}-using\n" - .string "{STR_VAR_2}.\p" - .string "I put a lot of effort into raising\n" - .string "them, even though I'm busy.\p" - .string "Let's form a tag team\n" - .string "and give it a go!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244B52:: @ 8244B52 - .string "Thanks, that's the spirit!\n" - .string "Hang tight while I go register, okay?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244B93:: @ 8244B93 - .string "I took time from my busy schedule\n" - .string "to be here! Give me a break!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244BD2:: @ 8244BD2 - .string "Hi!\n" - .string "How's it going?\p" - .string "I'm {STR_VAR_3}, {STR_VAR_1}'s\n" - .string "no. {STR_VAR_2} apprentice. Glad to meet you!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244C18:: @ 8244C18 - .string "Listen, listen! You have to hear about\n" - .string "the POKéMON {STR_VAR_3} recommended.\l" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244C6E:: @ 8244C6E - .string "one {STR_VAR_2} with {STR_VAR_1}.\n" - .string "Of course I raised them superbly!\p" - .string "So, want to team up?\n" - .string "I'm sure it'll be a great combo!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244CD6:: @ 8244CD6 - .string "Yay, I think this will be fun!\n" - .string "I'll go register!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244D07:: @ 8244D07 - .string "Oh, you're mean!\n" - .string "I come recommended, you know.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244D36:: @ 8244D36 - .string "Please let me introduce myself.\n" - .string "I am {STR_VAR_3}.\p" - .string "I serve as {STR_VAR_1}'s\n" - .string "no. {STR_VAR_2} apprentice.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244D82:: @ 8244D82 - .string "I sought the sage advice of\n" - .string "{STR_VAR_3} and raised my team\l" - .string "of one {STR_VAR_2} with {STR_VAR_1}$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244DC6:: @ 8244DC6 - .string "and one {STR_VAR_2} with {STR_VAR_1}.\p" - .string "Please agree to a tag team with me!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244DFE:: @ 8244DFE - .string "Oh… I'm delighted!\n" - .string "I promise to give you my best!\p" - .string "Of course I will register us!\n" - .string "Please wait!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244E5B:: @ 8244E5B - .string "I had been hoping to join you,\n" - .string "{PLAYER}…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244E7E:: @ 8244E7E - .string "Eek! You spoke to me!\n" - .string "I… I'm overjoyed!\p" - .string "I'm {STR_VAR_3}! I'm {STR_VAR_1}'s\n" - .string "no. {STR_VAR_2} apprentice!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244ECA:: @ 8244ECA - .string "On {STR_VAR_3}'s advice, I trained\n" - .string "one {STR_VAR_1}-using {STR_VAR_2}$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244EF4:: @ 8244EF4 - .string "and one {STR_VAR_1}-using\n" - .string "{STR_VAR_2}.\p" - .string "Please, can you grant me my wish?\n" - .string "I want to be your tag-team partner!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244F4F:: @ 8244F4F - .string "Eek! I… I feel giddy!\n" - .string "Thank you so much!\l" - .string "I'll go register us right away!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244F98:: @ 8244F98 - .string "Waaah! Don't you feel any pity?\n" - .string "But that makes you cooler…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_244FD3:: @ 8244FD3 - .string "Yeehaw! I'm {STR_VAR_1}'s\n" - .string "no. {STR_VAR_2} apprentice!\p" - .string "{STR_VAR_3}'s my name, hello, hello!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245013:: @ 8245013 - .string "My mentor {STR_VAR_3} recommended\n" - .string "one {STR_VAR_1}-master {STR_VAR_2}$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24503D:: @ 824503D - .string "and one {STR_VAR_1}-master\n" - .string "{STR_VAR_2}.\p" - .string "Good stuff, huh?\n" - .string "You'll partner with me, won't you?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245087:: @ 8245087 - .string "Okay, excellent!\n" - .string "I'll get the registration done quickly!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2450C0:: @ 82450C0 - .string "Gwaaah!\n" - .string "You're a calculating one, {PLAYER}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2450E6:: @ 82450E6 - .string "Hey! There's big trouble! This is\n" - .string "the BATTLE TOWER's last day!\p" - .string "… … … … … …\n" - .string "I'm only joking!\p" - .string "People call me {STR_VAR_3} and I do, too!\n" - .string "I'm {STR_VAR_1}'s 1,000th apprentice!\l" - .string "Actually, I'm no. {STR_VAR_2}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245196:: @ 8245196 - .string "{STR_VAR_3} gave me some advice.\n" - .string "{STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2451BD:: @ 82451BD - .string "{STR_VAR_2} with {STR_VAR_1}.\n" - .string "I've got ten of each kind!\l" - .string "Actually, just one of each!\p" - .string "How about it?\n" - .string "Want to try tag battles with me?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24522F:: @ 824522F - .string "Yippee!\n" - .string "I'll give you a POKéMON as my thanks!\p" - .string "Just joking! But I will really go do\n" - .string "the registration, okay?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24529A:: @ 824529A - .string "Oh, that's so cold! I'll have to wreck\n" - .string "the BATTLE TOWER for that!\p" - .string "Of course I won't!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2452EF:: @ 82452EF - .string "Hey, there, I'm rockin' and a-rollin'!\n" - .string "POKéMON, I be controllin'!\p" - .string "I'm {STR_VAR_3} the rappin' SAILOR.\n" - .string "Don't be mistakin' me for no wailer!\p" - .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n" - .string "Me, you shouldn't be quick to dismiss!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2453B4:: @ 82453B4 - .string "With the advice of {STR_VAR_3} I did\n" - .string "abide, put together my team of pride!\l" - .string "One {STR_VAR_1}-using {STR_VAR_2}$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245406:: @ 8245406 - .string "and one {STR_VAR_1}-using\n" - .string "{STR_VAR_2}!\p" - .string "Our meeting we should commemorate,\n" - .string "with a tag-team victory to celebrate!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245464:: @ 8245464 - .string "Hey, hey, I like your style!\n" - .string "Our registration, I will go file!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2454A3:: @ 82454A3 - .string "Oh, hey, {PLAYER}, now that's cold!\n" - .string "If I may be so bold!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2454D6:: @ 82454D6 - .string "Yippee-yahoo!\n" - .string "Oh, don't run! I was just having fun!\p" - .string "Howdy! I'm {STR_VAR_3}!\n" - .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245535:: @ 8245535 - .string "{STR_VAR_3} told me what to do.\n" - .string "So one {STR_VAR_1}-using {STR_VAR_2}$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24555F:: @ 824555F - .string "and one {STR_VAR_1}-using\n" - .string "{STR_VAR_2}, I did choose.\p" - .string "So, what do you say?\n" - .string "Come on, make my day!\p" - .string "Please, I'm begging you!\n" - .string "Let me join you, don't leave me blue!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2455EC:: @ 82455EC - .string "Yeahah! Luck is with me!\n" - .string "It sure makes me happy!\p" - .string "Before we go join the fray,\n" - .string "I'll go register right away!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245656:: @ 8245656 - .string "You're turning me down?\n" - .string "{PLAYER}, you're making me frown!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24568A:: @ 824568A - .string "Cough!\p" - .string "Oh, sorry, I have a cold.\n" - .string "My POKéMON are fine, though.\p" - .string "My name's {STR_VAR_3}, {STR_VAR_1}'s\n" - .string "no. {STR_VAR_2} apprentice. Cough!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2456F5:: @ 82456F5 - .string "I took {STR_VAR_3}'s advice to heart\n" - .string "and put together my team of\l" - .string "one {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245740:: @ 8245740 - .string "one {STR_VAR_2} with {STR_VAR_1}.\p" - .string "I trained them every day,\n" - .string "even in wind and rain.\p" - .string "That's why I have this cold,\n" - .string "I think.\p" - .string "That's what I'm about.\n" - .string "Want to be my tag partner?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2457D9:: @ 82457D9 - .string "Thanks, I appreciate this!\n" - .string "Cough, cough!\l" - .string "Hang on while I go register.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24581F:: @ 824581F - .string "Oh, you won't?\n" - .string "{PLAYER}, I think we'd make a good pair.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245851:: @ 8245851 - .string "Oh, hello!\n" - .string "This is nerve-racking.\p" - .string "I'm {STR_VAR_3}.\n" - .string "I'm the no. {STR_VAR_2} apprentice of {STR_VAR_1}.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24589C:: @ 824589C - .string "{STR_VAR_3} said this team'll be good--\n" - .string "one {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2458CE:: @ 82458CE - .string "one {STR_VAR_2} with {STR_VAR_1}.\p" - .string "I'm feeling self-conscious about this,\n" - .string "but will you let me join you?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245923:: @ 8245923 - .string "Oh, gee, thank you!\n" - .string "I feel bashful, but I'll do my best!\p" - .string "I'll go get the registration done.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24597F:: @ 824597F - .string "Oh, please don't say no!\n" - .string "I feel self-conscious enough already…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2459BE:: @ 82459BE - .string "I am {STR_VAR_3}, and that's no lie.\n" - .string "I am {STR_VAR_1}'s no. {STR_VAR_2} apprentice.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2459F7:: @ 82459F7 - .string "{STR_VAR_3} recommended my team.\p" - .string "Since the advice sounded sincere,\n" - .string "I decided to bring with me\l" - .string "my {STR_VAR_1}-using {STR_VAR_2} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245A5F:: @ 8245A5F - .string "my {STR_VAR_1}-using {STR_VAR_2}.\p" - .string "If possible, I would like you to accept\n" - .string "me as your tag-team partner.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245AB4:: @ 8245AB4 - .string "You really will accept me?\n" - .string "It would be too terrible otherwise.\p" - .string "But since you've agreed, this is fine.\n" - .string "I shall go register the both of us.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245B3E:: @ 8245B3E - .string "Hm? Now why would you refuse?\n" - .string "Is this your idea of a joke?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245B79:: @ 8245B79 - .string "I'm {STR_VAR_1}, and I'm a LASS!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245B91:: @ 8245B91 - .string "What I have are one {STR_VAR_2}\n" - .string "that uses {STR_VAR_1} and one$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245BBD:: @ 8245BBD - .string "{STR_VAR_2} that uses {STR_VAR_1}.\n" - .string "Those are what I have with me.\p" - .string "Will you be my partner?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245C05:: @ 8245C05 - .string "Thank you!\n" - .string "I'll go do the registration!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245C2D:: @ 8245C2D - .string "You don't want to be my partner?\n" - .string "You'll regret it later!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245C66:: @ 8245C66 - .string "Hello!\p" - .string "I'm YOUNGSTER {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245C7F:: @ 8245C7F - .string "Want to know what I have?\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245CAC:: @ 8245CAC - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "You'll be my tag-team partner,\n" - .string "won't you?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245CE6:: @ 8245CE6 - .string "Yay!\n" - .string "I'll go and register, okay?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245D07:: @ 8245D07 - .string "Aww! If you'd form a tag team with\n" - .string "my POKéMON, we'd be unstoppable!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245D4B:: @ 8245D4B - .string "Yahoo!\n" - .string "I'm HIKER {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245D60:: @ 8245D60 - .string "Know what I have with me?\n" - .string "My {STR_VAR_1}-using {STR_VAR_2} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245D8D:: @ 8245D8D - .string "my {STR_VAR_1}-using {STR_VAR_2}!\p" - .string "Sounds good, eh?\n" - .string "Want to form a tag team?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245DC7:: @ 8245DC7 - .string "Yahoo!\n" - .string "I'll go do the registering, then.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245DF0:: @ 8245DF0 - .string "I would've liked to battle with you\n" - .string "at my side.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245E20:: @ 8245E20 - .string "Hello!\n" - .string "I'm {STR_VAR_1}, and I'm a BEAUTY!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245E41:: @ 8245E41 - .string "Do you know what I've been raising?\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245E78:: @ 8245E78 - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "What do you think?\n" - .string "Want to make a tag team together?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245EBD:: @ 8245EBD - .string "Wonderful!\n" - .string "I'll get the registration done now!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245EEC:: @ 8245EEC - .string "How disappointing!\p" - .string "We two together--we would've been\n" - .string "the best!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245F2B:: @ 8245F2B - .string "Yo!\p" - .string "You know who I am?\n" - .string "I'm {STR_VAR_1} the FISHERMAN!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245F58:: @ 8245F58 - .string "I've got with me a team of one\n" - .string "{STR_VAR_1}-using {STR_VAR_2} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245F87:: @ 8245F87 - .string "one {STR_VAR_1}-using {STR_VAR_2}.\p" - .string "So, how about it?\n" - .string "Will you battle at my side?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_245FC6:: @ 8245FC6 - .string "Good, good!\n" - .string "Leave it up to me!\p" - .string "I'll go and register us now.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246002:: @ 8246002 - .string "We matched up perfectly, too…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246020:: @ 8246020 - .string "Glad to make your acquaintance.\n" - .string "I am {STR_VAR_1}, a LADY.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246051:: @ 8246051 - .string "I am accompanied by a team of\n" - .string "one {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246082:: @ 8246082 - .string "one {STR_VAR_2} with {STR_VAR_1}.\p" - .string "I hope I meet your approval.\n" - .string "For I wish to have you as my partner.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2460D5:: @ 82460D5 - .string "I thank you sincerely.\n" - .string "I shall handle the registration.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24610D:: @ 824610D - .string "I'm sure that you will regret not\n" - .string "having me as your partner.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24614A:: @ 824614A - .string "I'm TRIATHLETE {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24615D:: @ 824615D - .string "What I have…\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24617D:: @ 824617D - .string "one {STR_VAR_2} with {STR_VAR_1}!\n" - .string "That's my pair!\p" - .string "Please?\n" - .string "Will you form a tag team with me?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2461C7:: @ 82461C7 - .string "Gee, thanks!\n" - .string "I'll go register at the counter.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2461F5:: @ 82461F5 - .string "We two together, we would've been\n" - .string "tough for certain!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24622A:: @ 824622A - .string "Hiya!\n" - .string "I'm BUG CATCHER {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246244:: @ 8246244 - .string "Check out what I have!\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24626E:: @ 824626E - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "So, listen!\n" - .string "Do you want to form a tag team?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2462AA:: @ 82462AA - .string "Gotcha!\p" - .string "I'll go do the registration stuff\n" - .string "at the counter.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2462E4:: @ 82462E4 - .string "Aww, my POKéMON are awesome.\n" - .string "I hope you won't regret this!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24631F:: @ 824631F - .string "Good day!\n" - .string "I'm SCHOOL KID {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24633C:: @ 824633C - .string "What I've been raising are one\n" - .string "{STR_VAR_2} that uses {STR_VAR_1}$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24636B:: @ 824636B - .string "and one {STR_VAR_2} that uses\n" - .string "{STR_VAR_1}.\p" - .string "Not too bad, don't you think?\n" - .string "Would you care to form a tag team?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2463C5:: @ 82463C5 - .string "Thank you very much!\n" - .string "I'll get done with the registration.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2463FF:: @ 82463FF - .string "That's too bad…\p" - .string "I was hoping that I could learn\n" - .string "from you as your partner…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246449:: @ 8246449 - .string "Yo! Let me tell you who I am!\n" - .string "I'm RICH BOY {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246478:: @ 8246478 - .string "Guess what I got!\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24649D:: @ 824649D - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "I'm willing to offer you the chance\n" - .string "to be in a tag team with me.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2464EE:: @ 82464EE - .string "Smart move!\p" - .string "I'll finish up the registration\n" - .string "process quick!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246529:: @ 8246529 - .string "You'd turn me of all people down?\n" - .string "You'll regret that decision for sure!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246571:: @ 8246571 - .string "Hiyah!\n" - .string "I am BLACK BELT {STR_VAR_1}.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24658C:: @ 824658C - .string "As my companions, I have\n" - .string "one {STR_VAR_2} using {STR_VAR_1}$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2465B5:: @ 82465B5 - .string "and one {STR_VAR_2} using\n" - .string "{STR_VAR_1}.\p" - .string "Please, grant me my wish!\n" - .string "Allow me to be your tag partner!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246605:: @ 8246605 - .string "Hiyah!\n" - .string "I will go register forthwith!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24662A:: @ 824662A - .string "I see… I hope for an opportunity\n" - .string "the next time we meet…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246662:: @ 8246662 - .string "Hi, there!\n" - .string "I'm {STR_VAR_1}, and I'm a TUBER!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246686:: @ 8246686 - .string "I'll tell you what I have.\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2466B4:: @ 82466B4 - .string "one {STR_VAR_2} with {STR_VAR_1}!\n" - .string "May I please be on your tag team?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2466E6:: @ 82466E6 - .string "Thank you!\n" - .string "I'll go register us now!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24670A:: @ 824670A - .string "If we'd become partners, we could\n" - .string "have been so strong!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246741:: @ 8246741 - .string "Greetings…\n" - .string "I am HEX MANIAC {STR_VAR_1}…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246760:: @ 8246760 - .string "I bear with me one {STR_VAR_1}-using\n" - .string "{STR_VAR_2} together with one$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246791:: @ 8246791 - .string "{STR_VAR_1}-using {STR_VAR_2}…\p" - .string "I beseech you…\n" - .string "Join me in a tag team…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2467C4:: @ 82467C4 - .string "I thank you…\n" - .string "I shall register us…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2467E6:: @ 82467E6 - .string "I so longed to join you…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2467FF:: @ 82467FF - .string "How do you do? I'm {STR_VAR_1},\n" - .string "and I'm a POKéMON BREEDER!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246831:: @ 8246831 - .string "I'm raising a couple good ones!\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246864:: @ 8246864 - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "How about it?\n" - .string "Feel like making a tag team with me?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2468A7:: @ 82468A7 - .string "Thank you kindly!\p" - .string "I'll go take care of the registration\n" - .string "stuff, so you wait right here!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2468FE:: @ 82468FE - .string "I was looking forward to being\n" - .string "your partner…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24692B:: @ 824692B - .string "Well, hello!\n" - .string "I'm TRIATHLETE {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24694B:: @ 824694B - .string "Want to know what I run with?\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24697C:: @ 824697C - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "Well?\n" - .string "Want to be in a tag team with me?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2469B4:: @ 82469B4 - .string "Good going!\p" - .string "I'll be quick and get the registration\n" - .string "all done!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2469F1:: @ 82469F1 - .string "You and me, we would've been tops.\n" - .string "It's too bad…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246A22:: @ 8246A22 - .string "Hey, there! My name's {STR_VAR_1}!\n" - .string "I'm a TRIATHLETE!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246A4E:: @ 8246A4E - .string "I go on runs with my durable team--\n" - .string "one {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246A85:: @ 8246A85 - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "Not too shabby, huh?\n" - .string "We should be in a tag team together!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246ACF:: @ 8246ACF - .string "All right!\n" - .string "I'll go register in a flash!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246AF7:: @ 8246AF7 - .string "I really wanted to battle as your\n" - .string "tag-team partner…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246B2B:: @ 8246B2B - .string "I'm BATTLE GIRL {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246B3F:: @ 8246B3F - .string "I've been toughening up one\n" - .string "{STR_VAR_1}-using {STR_VAR_2} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246B6B:: @ 8246B6B - .string "one {STR_VAR_1}-using {STR_VAR_2}!\p" - .string "Do you like that combo?\n" - .string "How about you and me join up?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246BB2:: @ 8246BB2 - .string "Why, thanks!\p" - .string "I'll get the registration done\n" - .string "right now!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246BE9:: @ 8246BE9 - .string "With you, I thought we could form\n" - .string "the ultimate tag team…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246C22:: @ 8246C22 - .string "I'm TRIATHLETE {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246C35:: @ 8246C35 - .string "I've been running with one {STR_VAR_2}\n" - .string "that knows how to use {STR_VAR_1}$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246C6C:: @ 8246C6C - .string "and one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "We could be in a tag team.\n" - .string "Wouldn't that be great?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246CB3:: @ 8246CB3 - .string "Thank you!\p" - .string "I'll go register us, and that's\n" - .string "right now!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246CE9:: @ 8246CE9 - .string "Aww, that's too bad. We would've been\n" - .string "the toughest tag team around!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246D2D:: @ 8246D2D - .string "Me?\n" - .string "I'm TUBER {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246D3F:: @ 8246D3F - .string "What do I have with me?\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246D6A:: @ 8246D6A - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "Hey?\n" - .string "You'll team up with me, right?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246D9E:: @ 8246D9E - .string "Okay!\p" - .string "I'll go register!\n" - .string "Let's be excellent together!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246DD3:: @ 8246DD3 - .string "My POKéMON are tough for sure…\n" - .string "It's too bad you don't want to team up.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246E1A:: @ 8246E1A - .string "Yay-hey!\n" - .string "Call me GUITARIST {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246E39:: @ 8246E39 - .string "Check out my entourage!\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246E64:: @ 8246E64 - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "Yay-hey! Pretty wild, huh?\n" - .string "We'll have to do a duet in a tag team!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246EB6:: @ 8246EB6 - .string "Yay-hey! Right on!\n" - .string "I'll do that registration stuff now!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246EEE:: @ 8246EEE - .string "My POKéMON rock hard!\n" - .string "You'll be sorry, I tell you!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246F21:: @ 8246F21 - .string "Pleased to meet you.\n" - .string "I am {STR_VAR_1}, a GENTLEMAN.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246F4C:: @ 8246F4C - .string "I am accompanied by my trusted\n" - .string "{STR_VAR_1}-using {STR_VAR_2} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246F7B:: @ 8246F7B - .string "one {STR_VAR_1}-using {STR_VAR_2}.\p" - .string "May I ask you to join me in a tag-team\n" - .string "partnership arrangement?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_246FCC:: @ 8246FCC - .string "Ah, I thank you for your trust.\n" - .string "I shall be done with the registration.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247013:: @ 8247013 - .string "That is most unfortunate…\p" - .string "I shall look forward to the next\n" - .string "opportunity…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24705B:: @ 824705B - .string "Hello, I'm {STR_VAR_1},\n" - .string "and I'm a POKéFAN.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24707D:: @ 824707D - .string "I have with me now one {STR_VAR_2}\n" - .string "that knows the move {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2470B2:: @ 82470B2 - .string "one {STR_VAR_2} with {STR_VAR_1}.\p" - .string "Do you like what you see?\n" - .string "Why don't you be my tag partner?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2470FD:: @ 82470FD - .string "Thank you!\n" - .string "I'll look after the registration!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24712A:: @ 824712A - .string "My POKéMON are top grade…\n" - .string "It's too bad you can't appreciate that.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24716C:: @ 824716C - .string "Hm!\n" - .string "I am {STR_VAR_1}, and an EXPERT am I!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24718D:: @ 824718D - .string "The POKéMON that I've toughened up are\n" - .string "one {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2471C7:: @ 82471C7 - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "What say you to a tag team with me?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2471FB:: @ 82471FB - .string "Hm!\n" - .string "I shall register us right away!\l" - .string "Let us both do our best!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247238:: @ 8247238 - .string "I will hope that your choice is\n" - .string "indeed correct…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247268:: @ 8247268 - .string "Hello, hello.\n" - .string "I'm {STR_VAR_1}, and I'm an EXPERT.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247291:: @ 8247291 - .string "I've raised my POKéMON thoroughly.\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2472C7:: @ 82472C7 - .string "one {STR_VAR_2} with {STR_VAR_1}--\n" - .string "they're what I have.\p" - .string "Wouldn't you like to team up with me?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247313:: @ 8247313 - .string "Good, good.\n" - .string "I'll see to the registration right away.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247348:: @ 8247348 - .string "Perhaps we can form a team the next\n" - .string "time we meet.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24737A:: @ 824737A - .string "I'm DRAGON TAMER {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24738F:: @ 824738F - .string "The team I've been toughening up is\n" - .string "one {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2473C6:: @ 82473C6 - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "How about it?\n" - .string "Want to be my partner?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2473FB:: @ 82473FB - .string "Okay, I'll give it my best!\n" - .string "I'll go register now, all right?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247438:: @ 8247438 - .string "You're not going to find many tougher\n" - .string "partners than me!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247470:: @ 8247470 - .string "I'm BIRD KEEPER {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247484:: @ 8247484 - .string "What POKéMON do I have?\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2474AF:: @ 82474AF - .string "one {STR_VAR_2} with {STR_VAR_1}.\p" - .string "Don't you think we'd make a decent\n" - .string "tag team?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2474EC:: @ 82474EC - .string "Great, thanks!\n" - .string "I'll look after the registration!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24751D:: @ 824751D - .string "My POKéMON and I are strong.\n" - .string "What a letdown.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24754A:: @ 824754A - .string "I'm NINJA BOY {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24755C:: @ 824755C - .string "My POKéMON team consists of one\n" - .string "{STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24758B:: @ 824758B - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "Let's be in a tag team together!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2475BC:: @ 82475BC - .string "Yay!\n" - .string "Let me go register!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2475D5:: @ 82475D5 - .string "You'll regret not having my tough\n" - .string "POKéMON on your side!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24760D:: @ 824760D - .string "Hello!\n" - .string "I'm PARASOL LADY {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247629:: @ 8247629 - .string "Escorting me now are my {STR_VAR_2}\n" - .string "that uses {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247655:: @ 8247655 - .string "one {STR_VAR_2} that uses\n" - .string "{STR_VAR_1}.\p" - .string "Aren't they nice?\n" - .string "Care to join us in a tag team?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24769B:: @ 824769B - .string "Thanks a bunch!\p" - .string "I'll go register at the counter.\n" - .string "Let's not disappoint each other!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2476ED:: @ 82476ED - .string "My POKéMON are tremendously strong.\n" - .string "How disappointing…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247724:: @ 8247724 - .string "Hello.\n" - .string "I'm {STR_VAR_1}, and I'm a BUG MANIAC!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247749:: @ 8247749 - .string "I have found my POKéMON, yes.\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24777A:: @ 824777A - .string "one {STR_VAR_2} with {STR_VAR_1}--\n" - .string "they are what I found.\p" - .string "Could I interest you in forming\n" - .string "a tag team?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2477CE:: @ 82477CE - .string "Okay!\n" - .string "Understood!\p" - .string "I won't be long with the registration!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247807:: @ 8247807 - .string "With the POKéMON I found, we wouldn't\n" - .string "have lost…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247838:: @ 8247838 - .string "Ahoy, there!\n" - .string "I'm SAILOR {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247854:: @ 8247854 - .string "Let me show you my pride and joy!\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247889:: @ 8247889 - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "Of course you're not going to turn\n" - .string "me down. We will team up, right?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2478DD:: @ 82478DD - .string "I didn't expect any less!\n" - .string "I'll go register now.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24790D:: @ 824790D - .string "We would've stormed through\n" - .string "the opposition! Too bad!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247942:: @ 8247942 - .string "Hi, I'm {STR_VAR_1}.\n" - .string "I'm a COLLECTOR.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24795F:: @ 824795F - .string "The jewels in my collection are\n" - .string "my {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247991:: @ 8247991 - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "Swell, huh?\n" - .string "We should be in a team together.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2479CE:: @ 82479CE - .string "Oh, yeah!\p" - .string "Well, let's not waste any time.\n" - .string "I'll go register the two of us.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247A18:: @ 8247A18 - .string "Well, that's upsetting.\n" - .string "You don't appreciate my POKéMON.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247A51:: @ 8247A51 - .string "Howdy, I'm {STR_VAR_1}.\n" - .string "I'm a POKéMON RANGER.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247A76:: @ 8247A76 - .string "Keeping me company are one\n" - .string "{STR_VAR_1}-using {STR_VAR_2} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247AA1:: @ 8247AA1 - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "Don't you think we'd make an impressive\n" - .string "tag team?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247AE3:: @ 8247AE3 - .string "That's super!\n" - .string "I'll deal with the registration now.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247B16:: @ 8247B16 - .string "Next time, choose my POKéMON,\n" - .string "will you?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247B3E:: @ 8247B3E - .string "My name's {STR_VAR_1}.\n" - .string "I'm a POKéMON RANGER!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247B62:: @ 8247B62 - .string "Let me tell you about my team. I have\n" - .string "one {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247B9B:: @ 8247B9B - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "How would you like to form a tag team\n" - .string "with my little posse?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247BE7:: @ 8247BE7 - .string "We'll be at our best!\n" - .string "I'll get the registration done quick!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247C23:: @ 8247C23 - .string "I hope you'll choose my POKéMON\n" - .string "next time.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247C4E:: @ 8247C4E - .string "Pleased to meet you. I'm {STR_VAR_1}.\n" - .string "I consider myself an AROMA LADY.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247C8C:: @ 8247C8C - .string "I travel with one {STR_VAR_2}\n" - .string "that uses {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247CB2:: @ 8247CB2 - .string "one {STR_VAR_2} that uses\n" - .string "{STR_VAR_1}.\p" - .string "I hope they strike your fancy.\n" - .string "Would you care to be my partner?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247D07:: @ 8247D07 - .string "I'm honored by your acceptance.\n" - .string "I will go register right this instant.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247D4E:: @ 8247D4E - .string "It would be wonderful if we could form\n" - .string "a tag team the next time we meet.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247D97:: @ 8247D97 - .string "Want to know who I am?\n" - .string "I'm {STR_VAR_1}, the RUIN MANIAC!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247DC7:: @ 8247DC7 - .string "The POKéMON that I have with me are\n" - .string "one {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247DFE:: @ 8247DFE - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "Intriguing, eh?\n" - .string "How about you and I partner up?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247E3E:: @ 8247E3E - .string "That's a sound decision!\n" - .string "I'll go do the registration paperwork.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247E7E:: @ 8247E7E - .string "Hmm…\n" - .string "I think my POKéMON are tough…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247EA1:: @ 8247EA1 - .string "I'm COOLTRAINER {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247EB5:: @ 8247EB5 - .string "The POKéMON I have right now are one\n" - .string "{STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247EE9:: @ 8247EE9 - .string "one {STR_VAR_2} with {STR_VAR_1}.\n" - .string "Cool, huh?\p" - .string "Don't you think it'd be pretty cool\n" - .string "if we made a tag team?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247F3F:: @ 8247F3F - .string "Cool!\n" - .string "I'll go do the registration in a flash!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247F6D:: @ 8247F6D - .string "I thought that we'd make just\n" - .string "the greatest team ever.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247FA3:: @ 8247FA3 - .string "I'm COOLTRAINER {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247FB7:: @ 8247FB7 - .string "The team I've been raising has one\n" - .string "{STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_247FE9:: @ 8247FE9 - .string "one {STR_VAR_2} with {STR_VAR_1}.\p" - .string "Does that sound okay?\n" - .string "How about we become tag partners?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248031:: @ 8248031 - .string "Sounds A-OK!\n" - .string "I'd better do the registration.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24805E:: @ 824805E - .string "I was thinking how we would be\n" - .string "one tough team…$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24808D:: @ 824808D - .string "Heyo!\n" - .string "I'm {STR_VAR_1}, the POKéMANIAC!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2480AB:: @ 82480AB - .string "What does a guy like me have?\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2480DC:: @ 82480DC - .string "one {STR_VAR_2} with {STR_VAR_1},\n" - .string "that's what!\p" - .string "Let's do it!\n" - .string "We'll stomp around as a tag team!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248128:: @ 8248128 - .string "Good call!\n" - .string "I'll register the both of us!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248151:: @ 8248151 - .string "My POKéMON are brutal!\n" - .string "It's not my fault if you regret this!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24818E:: @ 824818E - .string "Yo, there!\n" - .string "I'm KINDLER {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2481A9:: @ 82481A9 - .string "You know what my training cooked up?\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2481E1:: @ 82481E1 - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "Well, what do you say?\n" - .string "Want to form a tag team?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248221:: @ 8248221 - .string "All right!\n" - .string "I'll get on with the registration.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24824F:: @ 824824F - .string "Promise you'll partner up with me\n" - .string "the next time we run into each other.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248297:: @ 8248297 - .string "I'm {STR_VAR_1}, and I'm a CAMPER!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2482B1:: @ 82482B1 - .string "I've been raising one {STR_VAR_1}-\n" - .string "using {STR_VAR_2} and one$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2482DC:: @ 82482DC - .string "{STR_VAR_1}-using {STR_VAR_2}.\p" - .string "Do you think it'd be fun to team up?\n" - .string "I bet it would be!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248321:: @ 8248321 - .string "Yeah!\n" - .string "Off I go to register!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24833D:: @ 824833D - .string "Next time, okay?\n" - .string "I want to be on your team.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248369:: @ 8248369 - .string "Hello!\n" - .string "I'm {STR_VAR_1}, and I'm a PICNICKER!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24838D:: @ 824838D - .string "The POKéMON I've been taking are\n" - .string "one {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2483C1:: @ 82483C1 - .string "one {STR_VAR_2} with {STR_VAR_1}.\p" - .string "Are you interested in joining me\n" - .string "on a tag team?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248401:: @ 8248401 - .string "Why, thank you!\n" - .string "I will do the registration now.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248431:: @ 8248431 - .string "It would be nice if I could join you\n" - .string "some other time.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248467:: @ 8248467 - .string "I'm PSYCHIC {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248477:: @ 8248477 - .string "The twosome I've been raising are\n" - .string "one {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2484AC:: @ 82484AC - .string "one {STR_VAR_2} with {STR_VAR_1}.\p" - .string "Would you like to form a tag team\n" - .string "with me?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2484E7:: @ 82484E7 - .string "Sure thing!\n" - .string "I'll take care of the registration!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248517:: @ 8248517 - .string "If we meet again, that's when I'd like\n" - .string "to team up with you.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248553:: @ 8248553 - .string "I'm {STR_VAR_1}.\n" - .string "I'm a PSYCHIC.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24856A:: @ 824856A - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24857D:: @ 824857D - .string "one {STR_VAR_2} with {STR_VAR_1}--\n" - .string "they're my disciples.\p" - .string "Doesn't the idea of forming a tag-team\n" - .string "partnership intrigue you?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2485E5:: @ 82485E5 - .string "Thank you.\n" - .string "I'll go deal with the registration.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248614:: @ 8248614 - .string "I hope there will be another chance\n" - .string "to forge an alliance.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24864E:: @ 824864E - .string "I'm SCHOOL KID {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248661:: @ 8248661 - .string "One {STR_VAR_1}-using {STR_VAR_2}$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248671:: @ 8248671 - .string "and one {STR_VAR_1}-using\n" - .string "{STR_VAR_2} are my POKéMON pair.\p" - .string "May I please be your partner on\n" - .string "a tag team?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2486C6:: @ 82486C6 - .string "Ooh, thank you!\n" - .string "I'll register at the counter right away!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2486FF:: @ 82486FF - .string "Please?\n" - .string "May I join you the next time?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248725:: @ 8248725 - .string "Hiya! The name's {STR_VAR_1}!\n" - .string "I'm a POKéMON BREEDER!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248751:: @ 8248751 - .string "The POKéMON I've raised are one\n" - .string "{STR_VAR_1}-using {STR_VAR_2} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248781:: @ 8248781 - .string "one {STR_VAR_1}-using {STR_VAR_2}.\p" - .string "Sound interesting?\n" - .string "How about we form a tag team, then?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2487C9:: @ 82487C9 - .string "All righty!\n" - .string "You leave the registration to me!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2487F7:: @ 82487F7 - .string "You have to team up with me next time,\n" - .string "all right?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248829:: @ 8248829 - .string "I'm {STR_VAR_1}, and I'm proud to say\n" - .string "that I am a POKéFAN.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24885B:: @ 824885B - .string "The darling POKéMON I've raised are\n" - .string "one {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248892:: @ 8248892 - .string "one {STR_VAR_2} with {STR_VAR_1}.\p" - .string "Aren't they just the cutest?\n" - .string "We ought to make a team!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2488D8:: @ 82488D8 - .string "Thank you, dear!\n" - .string "I'll be on my way to register!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248908:: @ 8248908 - .string "My darling POKéMON are the best,\n" - .string "I'll have you know. How annoying!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24894B:: @ 824894B - .string "Hi, I'm SWIMMER {STR_VAR_1}.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24895F:: @ 824895F - .string "One {STR_VAR_1}-using {STR_VAR_2}$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_24896F:: @ 824896F - .string "and one {STR_VAR_1}-using\n" - .string "{STR_VAR_2} are what I've trained.\p" - .string "You and me, let's make a tag team.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2489BD:: @ 82489BD - .string "That's cool!\n" - .string "I'll register the two of us.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_2489E7:: @ 82489E7 - .string "If we meet again, you owe me\n" - .string "a tag team!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248A10:: @ 8248A10 - .string "What's happening?\n" - .string "I'm {STR_VAR_1}, and I'm a TRIATHLETE.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248A40:: @ 8248A40 - .string "I got a couple decent POKéMON.\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248A72:: @ 8248A72 - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "It'd be neat if we made a tag team\n" - .string "together, so how about it?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248AC0:: @ 8248AC0 - .string "Right on!\n" - .string "You wait while I register, okay?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248AEB:: @ 8248AEB - .string "I expect you'll let me join you\n" - .string "next time, how's that?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248B22:: @ 8248B22 - .string "I'm the TRIATHLETE {STR_VAR_1}!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248B39:: @ 8248B39 - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248B4C:: @ 8248B4C - .string "another {STR_VAR_2} that knows how\n" - .string "to use {STR_VAR_1}. That's my pair.\p" - .string "What do you think?\n" - .string "We'd make a good team, I'd say.$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248BB4:: @ 8248BB4 - .string "I like that answer!\n" - .string "I'll get done with registration fast!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248BEE:: @ 8248BEE - .string "You'll give me another chance to form\n" - .string "a partnership, won't you?$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248C2E:: @ 8248C2E - .string "Hi, there! Hello!\n" - .string "I'm {STR_VAR_1}, and I'm a SWIMMER!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248C5B:: @ 8248C5B - .string "Check out what I've been raising!\n" - .string "One {STR_VAR_2} with {STR_VAR_1} and$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248C90:: @ 8248C90 - .string "one {STR_VAR_2} with {STR_VAR_1}!\p" - .string "Sweet, huh?\n" - .string "It'd be sweet to form a team, too!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248CCF:: @ 8248CCF - .string "Much obliged!\n" - .string "I'll get this registration thing done!$" - -BattleFrontier_BattleTowerMultiBattleRoom_Text_248D04:: @ 8248D04 - .string "If we meet again, you have to team up\n" - .string "with me. You'll do that, right?$" - +BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantReturnToPos: @ 8249541 + walk_left + walk_left + walk_in_place_fastest_right + step_end + +BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft: @ 8249545 + walk_in_place_left + step_end + +BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor2ndOpponentSet: @ 8249547 + .string "The 2nd set of opponents is next.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor3rdOpponentSet: @ 8249578 + .string "The 3rd set of opponents is next.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor4thOpponentSet: @ 82495A9 + .string "The 4th set of opponents is next.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor5thOpponentSet: @ 82495DA + .string "The 5th set of opponents is next.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor6thOpponentSet: @ 824960B + .string "The 6th set of opponents is next.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor7thOpponentSet: @ 824963C + .string "The 7th set of opponents is next.\n" + .string "Are you ready?$" + +@ Unused +BattleFrontier_BattleTowerMultiBattleRoom_Text_2ndOpponentSetNext: @ 824966D + .string "The 2nd set of opponents is next.\n" + .string "Do your best!$" + +@ Unused +BattleFrontier_BattleTowerMultiBattleRoom_Text_3rdOpponentSetNext: @ 824969D + .string "The 3rd set of opponents is next.\n" + .string "Do your best!$" + +@ Unused +BattleFrontier_BattleTowerMultiBattleRoom_Text_4thOpponentSetNext: @ 82496CD + .string "The 4th set of opponents is next.\n" + .string "Do your best!$" + +@ Unused +BattleFrontier_BattleTowerMultiBattleRoom_Text_5thOpponentSetNext: @ 82496FD + .string "The 5th set of opponents is next.\n" + .string "Do your best!$" + +@ Unused +BattleFrontier_BattleTowerMultiBattleRoom_Text_6thOpponentSetNext: @ 824972D + .string "The 6th set of opponents is next.\n" + .string "Do your best!$" + +@ Unused +BattleFrontier_BattleTowerMultiBattleRoom_Text_7thOpponentSetNext: @ 824975D + .string "The 7th set of opponents is next.\n" + .string "Do your best!$" + +gText_LinkStandby3:: @ 824978D + .string "Link standby…$" + +gText_YourPartnerHasRetired:: @ 824979B + .string "Your partner has retired.\p" + .string "Your BATTLE ROOM challenge\n" + .string "will be canceled.$" diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/map.json b/data/maps/BattleFrontier_BattleTowerMultiCorridor/map.json similarity index 90% rename from data/maps/BattleFrontier_BattleTowerCorridor2/map.json rename to data/maps/BattleFrontier_BattleTowerMultiCorridor/map.json index de898bef45..68de9587c6 100644 --- a/data/maps/BattleFrontier_BattleTowerCorridor2/map.json +++ b/data/maps/BattleFrontier_BattleTowerMultiCorridor/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2", - "name": "BattleFrontier_BattleTowerCorridor2", - "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2", + "id": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR", + "name": "BattleFrontier_BattleTowerMultiCorridor", + "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR", "music": "MUS_SATTOWER", "region_map_section": "MAPSEC_BATTLE_FRONTIER", "requires_flash": false, diff --git a/data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc new file mode 100644 index 0000000000..7af2adfe34 --- /dev/null +++ b/data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc @@ -0,0 +1,176 @@ +BattleFrontier_BattleTowerMultiCorridor_MapScripts:: @ 8248D4A + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerMultiCorridor_OnTransition + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerMultiCorridor_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerMultiCorridor_OnFrame + .byte 0 + + @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden + @ The player is represented instead by object event 1, which has the gfx id VAR_OBJ_GFX_ID_F + @ The multi partner is represented by object event 4, which has the gfx id VAR_OBJ_GFX_ID_E + +BattleFrontier_BattleTowerMultiCorridor_OnTransition: @ 8248D5A + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS + call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_SetObjGfx + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS + call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_SetLinkPlayerGfx + end + +BattleFrontier_BattleTowerMultiCorridor_EventScript_SetObjGfx:: @ 8248D71 + tower_setpartnergfx + checkplayergender + compare VAR_RESULT, FEMALE + goto_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_SetPlayerGfxFemale + setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_BRENDAN_NORMAL + return + +BattleFrontier_BattleTowerMultiCorridor_EventScript_SetPlayerGfxFemale:: @ 8248D8B + setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_MAY_NORMAL + return + +BattleFrontier_BattleTowerMultiCorridor_EventScript_SetLinkPlayerGfx:: @ 8248D91 + special SetBattleTowerLinkPlayerGfx + return + +BattleFrontier_BattleTowerMultiCorridor_OnWarp: @ 8248D95 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerMultiCorridor_EventScript_SetUpObjects + .2byte 0 + +BattleFrontier_BattleTowerMultiCorridor_EventScript_SetUpObjects:: @ 8248D9F + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR + hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR + hideobjectat 4, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR + special OffsetCameraForBattle + end + +BattleFrontier_BattleTowerMultiCorridor_OnFrame: @ 8248DB2 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerMultiCorridor_EventScript_EnterCorridor + .2byte 0 + +BattleFrontier_BattleTowerMultiCorridor_EventScript_EnterCorridor:: @ 8248DBC + lockall + setflag FLAG_ENABLE_MULTI_CORRIDOR_DOOR + setvar VAR_0x8004, 14 @ x coord of far door, used by DrawDoor + setvar VAR_0x8005, 1 @ y coord of far door, used by DrawDoor + opendoor 1, 1 + waitdooranim + clearflag FLAG_ENABLE_MULTI_CORRIDOR_DOOR + showobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR + showobjectat 4, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR + applymovement 1, BattleFrontier_BattleTowerMultiCorridor_Movement_ExitElevator + applymovement 4, BattleFrontier_BattleTowerMultiCorridor_Movement_ExitElevator + waitmovement 0 + setflag FLAG_ENABLE_MULTI_CORRIDOR_DOOR + setvar VAR_0x8004, 14 @ x coord of far door, used by DrawDoor + setvar VAR_0x8005, 1 @ y coord of far door, used by DrawDoor + closedoor 1, 1 + waitdooranim + clearflag FLAG_ENABLE_MULTI_CORRIDOR_DOOR + applymovement 1, BattleFrontier_BattleTowerMultiCorridor_Movement_PlayerWalkToDoor + applymovement 4, BattleFrontier_BattleTowerMultiCorridor_Movement_PartnerWalkToDoor + applymovement 3, BattleFrontier_BattleTowerMultiCorridor_Movement_PlayerAttendantWalkToDoor + applymovement 2, BattleFrontier_BattleTowerMultiCorridor_Movement_PartnerAttendantWalkToDoor + waitmovement 0 + delay 40 + applymovement 3, Common_Movement_WalkInPlaceFastestUp + applymovement 2, Common_Movement_WalkInPlaceFastestUp + waitmovement 0 + opendoor 7, 1 + waitdooranim + applymovement 3, BattleFrontier_BattleTowerMultiCorridor_Movement_AttendantEnterDoor + applymovement 2, BattleFrontier_BattleTowerMultiCorridor_Movement_AttendantEnterDoor + applymovement 1, BattleFrontier_BattleTowerMultiCorridor_Movement_TrainerEnterDoor + applymovement 4, BattleFrontier_BattleTowerMultiCorridor_Movement_TrainerEnterDoor + waitmovement 0 + closedoor 7, 1 + waitdooranim + delay 30 + setvar VAR_TEMP_1, 1 + call BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToBattleRoom + releaseall + end + +BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToBattleRoom:: @ 8248E71 + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToNormalBattleRoom + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES + call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToNormalBattleRoom + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS + call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToMultiBattleRoom + compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS + call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToLinkMultiBattleRoom + return + +BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToNormalBattleRoom:: @ 8248E9E + warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM, 255, 4, 8 + waitstate + return + +BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToMultiBattleRoom:: @ 8248EA8 + warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 4, 5 + waitstate + return + +@ Unnecessary duplicate of the above +BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToLinkMultiBattleRoom:: @ 8248EB2 + warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 4, 5 + waitstate + return + +BattleFrontier_BattleTowerMultiCorridor_Movement_PlayerWalkToDoor: @ 8248EBC + walk_down + walk_right + walk_right + walk_right + walk_right + walk_right + walk_right + step_end + +BattleFrontier_BattleTowerMultiCorridor_Movement_PartnerWalkToDoor: @ 8248EC4 + walk_down + walk_left + walk_left + walk_left + walk_left + walk_left + walk_left + step_end + +BattleFrontier_BattleTowerMultiCorridor_Movement_PlayerAttendantWalkToDoor: @ 8248ECC + walk_right + walk_right + walk_right + walk_right + walk_right + walk_right + walk_up + walk_in_place_fastest_right + step_end + +BattleFrontier_BattleTowerMultiCorridor_Movement_PartnerAttendantWalkToDoor: @ 8248ED5 + walk_left + walk_left + walk_left + walk_left + walk_left + walk_left + walk_up + walk_in_place_fastest_left + step_end + +BattleFrontier_BattleTowerMultiCorridor_Movement_TrainerEnterDoor: @ 8248EDE + delay_16 + walk_up + walk_up + set_invisible + step_end + +BattleFrontier_BattleTowerMultiCorridor_Movement_AttendantEnterDoor: @ 8248EE3 + walk_up + set_invisible + step_end + +BattleFrontier_BattleTowerMultiCorridor_Movement_ExitElevator: @ 8248EE6 + walk_down + step_end + diff --git a/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/map.json b/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/map.json new file mode 100644 index 0000000000..bd292f2c52 --- /dev/null +++ b/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/map.json @@ -0,0 +1,138 @@ +{ + "id": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM", + "name": "BattleFrontier_BattleTowerMultiPartnerRoom", + "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM", + "music": "MUS_SATTOWER", + "region_map_section": "MAPSEC_BATTLE_FRONTIER", + "requires_flash": false, + "weather": "WEATHER_NONE", + "map_type": "MAP_TYPE_INDOOR", + "allow_bike": false, + "allow_escape_rope": false, + "allow_running": true, + "show_map_name": false, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", + "connections": null, + "object_events": [ + { + "graphics_id": "EVENT_OBJ_GFX_TEALA", + "x": 11, + "y": 2, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_DOWN", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": "0", + "trainer_sight_or_berry_tree_id": "0", + "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Attendant", + "flag": "0" + }, + { + "graphics_id": "EVENT_OBJ_GFX_VAR_0", + "x": 2, + "y": 10, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_LOOK_AROUND", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": "0", + "trainer_sight_or_berry_tree_id": "0", + "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner1", + "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1" + }, + { + "graphics_id": "EVENT_OBJ_GFX_VAR_1", + "x": 17, + "y": 11, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": "0", + "trainer_sight_or_berry_tree_id": "0", + "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner2", + "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2" + }, + { + "graphics_id": "EVENT_OBJ_GFX_VAR_2", + "x": 6, + "y": 9, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_LOOK_AROUND", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": "0", + "trainer_sight_or_berry_tree_id": "0", + "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner3", + "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3" + }, + { + "graphics_id": "EVENT_OBJ_GFX_VAR_3", + "x": 8, + "y": 13, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_LOOK_AROUND", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": "0", + "trainer_sight_or_berry_tree_id": "0", + "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner4", + "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4" + }, + { + "graphics_id": "EVENT_OBJ_GFX_VAR_4", + "x": 10, + "y": 11, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_UP", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": "0", + "trainer_sight_or_berry_tree_id": "0", + "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner5", + "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5" + }, + { + "graphics_id": "EVENT_OBJ_GFX_VAR_5", + "x": 13, + "y": 10, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_RIGHT", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": "0", + "trainer_sight_or_berry_tree_id": "0", + "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner6", + "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6" + }, + { + "graphics_id": "EVENT_OBJ_GFX_VAR_6", + "x": 15, + "y": 13, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_LEFT", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": "0", + "trainer_sight_or_berry_tree_id": "0", + "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner7", + "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1" + }, + { + "graphics_id": "EVENT_OBJ_GFX_VAR_7", + "x": 4, + "y": 12, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_RIGHT", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": "0", + "trainer_sight_or_berry_tree_id": "0", + "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner8", + "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2" + } + ], + "warp_events": [], + "coord_events": [], + "bg_events": [] +} \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc new file mode 100644 index 0000000000..ea32a82759 --- /dev/null +++ b/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc @@ -0,0 +1,1809 @@ +BattleFrontier_BattleTowerMultiPartnerRoom_MapScripts:: @ 8243D92 + map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleTowerMultiPartnerRoom_OnResume + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerMultiPartnerRoom_OnTransition + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerMultiPartnerRoom_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerMultiPartnerRoom_OnFrame + .byte 0 + +BattleFrontier_BattleTowerMultiPartnerRoom_OnResume: @ 8243DA7 + pyramid_resetparty + end + +BattleFrontier_BattleTowerMultiPartnerRoom_OnTransition: @ 8243DB0 + goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_ChosePartner + clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1 + clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2 + clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3 + clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4 + clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5 + clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6 + setflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1 + setflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2 + tower_loadpartners + end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_ChosePartner:: @ 8243DDA + setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_BOY_1 + setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_BOY_1 + setvar VAR_OBJ_GFX_ID_2, EVENT_OBJ_GFX_BOY_1 + setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_BOY_1 + setvar VAR_OBJ_GFX_ID_4, EVENT_OBJ_GFX_BOY_1 + setvar VAR_OBJ_GFX_ID_5, EVENT_OBJ_GFX_BOY_1 + setvar VAR_OBJ_GFX_ID_6, EVENT_OBJ_GFX_BOY_1 + setvar VAR_OBJ_GFX_ID_7, EVENT_OBJ_GFX_BOY_1 + setvar VAR_TEMP_1, 1 + setvar VAR_TEMP_3, 1 + setobjectxyperm 1, 10, 2 + end + +BattleFrontier_BattleTowerMultiPartnerRoom_OnWarp: @ 8243E14 + map_script_2 VAR_TEMP_3, 1, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TurnPlayerNorth + .2byte 0 + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TurnPlayerNorth:: @ 8243E1E + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH + end + +BattleFrontier_BattleTowerMultiPartnerRoom_OnFrame: @ 8243E23 + map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_EnterRoom + map_script_2 VAR_TEMP_3, 1, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_ExitRoom + .2byte 0 + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_ExitRoom:: @ 8243E35 + lockall + setvar VAR_TEMP_3, 0 + goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_EnterElevator + end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_EnterRoom:: @ 8243E41 + lockall + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterRoom + waitmovement 0 + applymovement 1, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantBlockExit + waitmovement 0 + copyobjectxytoperm 1 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp + waitmovement 0 + msgbox BattleFrontier_BattleTowerMultiPartnerRoom_Text_PleaseFindPartner, MSGBOX_DEFAULT + special HealPlayerParty + setvar VAR_TEMP_1, 1 + releaseall + end + +BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterRoom: @ 8243E75 + walk_down + step_end + +BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantBlockExit: @ 8243E77 + walk_left + walk_in_place_fastest_down + step_end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Attendant:: @ 8243E7A + lock + faceplayer + message BattleFrontier_BattleTowerMultiPartnerRoom_Text_QuitLookingForPartner + waitmessage + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 + compare VAR_RESULT, 0 + goto_if_eq BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_QuitChallenge + msgbox BattleFrontier_BattleTowerMultiPartnerRoom_Text_PleaseFindPartner2, MSGBOX_DEFAULT + release + end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_QuitChallenge:: @ 8243E9D + frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE + goto BattleFrontier_BattleTower_EventScript_WarpToLobbyLost + end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_EnterElevator:: @ 8243EB5 + msgbox BattleFrontier_BattleTowerMultiPartnerRoom_Text_ThankYouForChoosingPartner, MSGBOX_DEFAULT + closemessage + applymovement 1, Common_Movement_WalkInPlaceFastestUp + waitmovement 0 + opendoor 10, 1 + waitdooranim + call BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_MoveToElevator + closedoor 10, 1 + waitdooranim + warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 255, 1, 6 + waitstate + releaseall + end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_MoveToElevator:: @ 8243EE4 + applymovement 1, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterElevator + waitmovement 0 + return + +@ Unused +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_MoveToElevatorEast: @ 8243EF6 + applymovement 1, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterElevatorEast + waitmovement 0 + return + +@ Unused +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_MoveToElevatorWest: @ 8243F08 + applymovement 1, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEneterElevatorWest + waitmovement 0 + return + +BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterElevator: @ 8243F1A + walk_up + walk_up + set_invisible + step_end + +@ Functionally unused +BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterElevatorEast: @ 8243F1E + walk_right + walk_up + set_invisible + step_end + +@ Functionally unused +BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEneterElevatorWest: @ 8243F22 + walk_left + walk_up + set_invisible + step_end + +BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator: @ 8243F26 + walk_up + set_invisible + step_end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner1:: @ 8243F29 + lock + faceplayer + setvar VAR_TEMP_2, 0 + goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner + end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner:: @ 8243F36 + goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_RejectPartner + tower_dopartnermsg PARTNER_MSGID_INTRO + waitmessage + waitbuttonpress + tower_dopartnermsg PARTNER_MSGID_MON1 + waitmessage + waitbuttonpress + tower_dopartnermsg PARTNER_MSGID_MON2_ASK + waitmessage + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_RejectPartner + case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_RejectPartner + tower_dopartnermsg PARTNER_MSGID_ACCEPT + waitmessage + waitbuttonpress + closemessage + compare VAR_FACING, DIR_SOUTH + call_if_ne BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_PartnerExit + compare VAR_FACING, DIR_SOUTH + call_if_eq BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_PartnerExitSouth + removeobject VAR_LAST_TALKED + setflag FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER + warpsilent MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM, 255, 10, 3 + waitstate + release + end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_RejectPartner:: @ 8243FC3 + tower_dopartnermsg PARTNER_MSGID_REJECT + waitmessage + waitbuttonpress + release + end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_PartnerExit:: @ 8243FD4 + applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PartnerExit + waitmovement 0 + return + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_PartnerExitSouth:: @ 8243FDF + applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PartnerExitSouth + waitmovement 0 + return + +BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PartnerExit: @ 8243FEA + walk_fast_up + walk_fast_up + walk_fast_up + walk_fast_up + walk_fast_up + walk_fast_up + walk_fast_up + step_end + +BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PartnerExitSouth: @ 8243FF2 + walk_fast_left + walk_fast_up + walk_fast_up + walk_fast_up + walk_fast_up + walk_fast_up + walk_fast_up + walk_fast_up + step_end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner2:: @ 8243FFB + lock + faceplayer + setvar VAR_TEMP_2, 1 + goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner + end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner3:: @ 8244008 + lock + faceplayer + setvar VAR_TEMP_2, 2 + goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner + end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner4:: @ 8244015 + lock + faceplayer + setvar VAR_TEMP_2, 3 + goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner + end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner5:: @ 8244022 + lock + faceplayer + setvar VAR_TEMP_2, 4 + goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner + end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner6:: @ 824402F + lock + faceplayer + setvar VAR_TEMP_2, 5 + goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner + end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner7:: @ 824403C + lock + faceplayer + setvar VAR_TEMP_2, 6 + goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner + end + +BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner8:: @ 8244049 + lock + faceplayer + setvar VAR_TEMP_2, 7 + goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner + end + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PleaseFindPartner: @ 8244056 + .string "Please find a partner from out of\n" + .string "the TRAINERS gathered here.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_QuitLookingForPartner: @ 8244094 + .string "{PLAYER}, you have not found a partner\n" + .string "for your tag team.\p" + .string "Would you like to quit looking and\n" + .string "return to the reception counter?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PleaseFindPartner2: @ 824410C + .string "Then, please find a partner from\n" + .string "the TRAINERS gathered here.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_ThankYouForChoosingPartner:: @ 8244149 + .string "Thank you for choosing a partner.\p" + .string "I will now show you to your\n" + .string "MULTI BATTLE ROOM.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice1Intro:: @ 824419A + .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n" + .string "You can call me {STR_VAR_3}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice1Mon1:: @ 82441CA + .string "On {STR_VAR_1}'s advice, I brought\n" + .string "one {STR_VAR_3} with {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice1Mon2Ask:: @ 82441F7 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Please, let me join you as a tag team.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice1Accept:: @ 824422E + .string "Thank you!\n" + .string "I'll go register right now.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice1Reject:: @ 8244255 + .string "I really wanted to form a tag team\n" + .string "with you, {PLAYER}…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice2Intro:: @ 8244286 + .string "I am {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n" + .string "My name is {STR_VAR_3}.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice2Mon1:: @ 82442B2 + .string "I got advice from {STR_VAR_1} and chose\n" + .string "one {STR_VAR_3} with {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice2Mon2Ask:: @ 82442E4 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Please, let's form a tag team!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice2Accept:: @ 8244313 + .string "Thank you very much!\n" + .string "I'll be done with registration quickly!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice2Reject:: @ 8244350 + .string "{PLAYER}, I was hoping that I could\n" + .string "partner up with you…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Intro:: @ 8244383 + .string "Um, my name's {STR_VAR_3}, and I'm\n" + .string "{STR_VAR_1}'s no. {STR_VAR_2} apprentice.\p" + .string "Snivel…\p" + .string "I'm sorry!\n" + .string "This tension is making me cry…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Mon1:: @ 82443E7 + .string "{STR_VAR_3} advised me, so I have\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Mon2Ask:: @ 8244413 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Snivel…\n" + .string "Please, please team up with me!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Accept:: @ 824444B + .string "Oh, really? You will?\n" + .string "Awesome! Wicked! Awoooh!\p" + .string "Oh… I'm sorry…\n" + .string "I'm so happy, I'm crying…\p" + .string "I'll go register right away.\n" + .string "Please don't go away!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Reject:: @ 82444D6 + .string "Oh, b-but…\n" + .string "Sob… Waaaaah!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Intro:: @ 82444EF + .string "Hi, there! I'm {STR_VAR_3}!\n" + .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Mon1:: @ 824451E + .string "{STR_VAR_3} recommended my crew.\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Mon2Ask:: @ 8244549 + .string "one {STR_VAR_2} with {STR_VAR_1},\n" + .string "that's what I have! Cool, huh?\p" + .string "So come on!\n" + .string "Let's form a tag team!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Accept:: @ 824459B + .string "Yay! Great!\n" + .string "Okay, I'll go register, okay?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Reject:: @ 82445C5 + .string "Aww, why?\n" + .string "I wanted to team up, {PLAYER}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Intro:: @ 82445E8 + .string "I'm {STR_VAR_3}, the no. {STR_VAR_2} apprentice\n" + .string "of the famous {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Mon1:: @ 8244618 + .string "I looked to {STR_VAR_3} for advice.\n" + .string "One {STR_VAR_1}-using {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Mon2Ask:: @ 8244643 + .string "and one {STR_VAR_2} with {STR_VAR_1},\n" + .string "that's my pair.\p" + .string "Please, will you join me in\n" + .string "a tag team?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Accept:: @ 824468F + .string "Thank you!\n" + .string "I'll register right away!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Reject:: @ 82446B4 + .string "{PLAYER}, I had been hoping to join\n" + .string "you in a tag team…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Intro:: @ 82446E5 + .string "Um… I'm sincerely happy that you\n" + .string "would take the time to talk to me.\p" + .string "I'm {STR_VAR_3}.\n" + .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Mon1:: @ 824474D + .string "{STR_VAR_3} gave me advice.\n" + .string "I'm very grateful for it.\p" + .string "I have a team of one {STR_VAR_2}\n" + .string "with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Mon2Ask:: @ 824479E + .string "one {STR_VAR_2} with {STR_VAR_1}.\n" + .string "I know I'm asking a lot…\p" + .string "I don't think you'll be willing to,\n" + .string "but may I join you as a partner?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Accept:: @ 824480C + .string "Really? I can't believe it!\n" + .string "I can't believe you'll let me join you!\l" + .string "I… I won't let you down!\p" + .string "Um… If it's really okay, I'll go register\n" + .string "right this instant!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Reject:: @ 82448A7 + .string "Oh…\n" + .string "I didn't think I was good enough…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Intro:: @ 82448CD + .string "Hi, I'm {STR_VAR_3}.\n" + .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Mon1:: @ 82448F5 + .string "{STR_VAR_3} told me that it would be\n" + .string "good to make this team:\l" + .string "one {STR_VAR_1}-using {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Mon2Ask:: @ 8244939 + .string "and one {STR_VAR_2} that knows how\n" + .string "to use {STR_VAR_1}.\p" + .string "Not bad, huh?\n" + .string "Want me to team up with you?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Accept:: @ 8244989 + .string "Okay, glad to join you!\n" + .string "I hope you won't mess things up for me!\l" + .string "I'll do my registration now.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Reject:: @ 82449E6 + .string "Huh? Why did you turn me down?\n" + .string "You're no judge of character!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Intro:: @ 8244A23 + .string "I'm {STR_VAR_3} and I'm a TRIATHLETE.\n" + .string "I'm busy every day what with jogging,\l" + .string "training, and rapping.\p" + .string "I also happen to be {STR_VAR_1}'s\n" + .string "no. {STR_VAR_2} apprentice.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Mon1:: @ 8244AA9 + .string "This is what {STR_VAR_3} recommended.\n" + .string "One {STR_VAR_1}-using {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Mon2Ask:: @ 8244AD6 + .string "and one {STR_VAR_1}-using\n" + .string "{STR_VAR_2}.\p" + .string "I put a lot of effort into raising\n" + .string "them, even though I'm busy.\p" + .string "Let's form a tag team\n" + .string "and give it a go!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Accept:: @ 8244B52 + .string "Thanks, that's the spirit!\n" + .string "Hang tight while I go register, okay?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Reject:: @ 8244B93 + .string "I took time from my busy schedule\n" + .string "to be here! Give me a break!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Intro:: @ 8244BD2 + .string "Hi!\n" + .string "How's it going?\p" + .string "I'm {STR_VAR_3}, {STR_VAR_1}'s\n" + .string "no. {STR_VAR_2} apprentice. Glad to meet you!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Mon1:: @ 8244C18 + .string "Listen, listen! You have to hear about\n" + .string "the POKéMON {STR_VAR_3} recommended.\l" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Mon2Ask:: @ 8244C6E + .string "one {STR_VAR_2} with {STR_VAR_1}.\n" + .string "Of course I raised them superbly!\p" + .string "So, want to team up?\n" + .string "I'm sure it'll be a great combo!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Accept:: @ 8244CD6 + .string "Yay, I think this will be fun!\n" + .string "I'll go register!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Reject:: @ 8244D07 + .string "Oh, you're mean!\n" + .string "I come recommended, you know.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Intro:: @ 8244D36 + .string "Please let me introduce myself.\n" + .string "I am {STR_VAR_3}.\p" + .string "I serve as {STR_VAR_1}'s\n" + .string "no. {STR_VAR_2} apprentice.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Mon1:: @ 8244D82 + .string "I sought the sage advice of\n" + .string "{STR_VAR_3} and raised my team\l" + .string "of one {STR_VAR_2} with {STR_VAR_1}$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Mon2Ask:: @ 8244DC6 + .string "and one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Please agree to a tag team with me!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Accept:: @ 8244DFE + .string "Oh… I'm delighted!\n" + .string "I promise to give you my best!\p" + .string "Of course I will register us!\n" + .string "Please wait!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Reject:: @ 8244E5B + .string "I had been hoping to join you,\n" + .string "{PLAYER}…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Intro:: @ 8244E7E + .string "Eek! You spoke to me!\n" + .string "I… I'm overjoyed!\p" + .string "I'm {STR_VAR_3}! I'm {STR_VAR_1}'s\n" + .string "no. {STR_VAR_2} apprentice!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Mon1:: @ 8244ECA + .string "On {STR_VAR_3}'s advice, I trained\n" + .string "one {STR_VAR_1}-using {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Mon2Ask:: @ 8244EF4 + .string "and one {STR_VAR_1}-using\n" + .string "{STR_VAR_2}.\p" + .string "Please, can you grant me my wish?\n" + .string "I want to be your tag-team partner!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Accept:: @ 8244F4F + .string "Eek! I… I feel giddy!\n" + .string "Thank you so much!\l" + .string "I'll go register us right away!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Reject:: @ 8244F98 + .string "Waaah! Don't you feel any pity?\n" + .string "But that makes you cooler…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Intro:: @ 8244FD3 + .string "Yeehaw! I'm {STR_VAR_1}'s\n" + .string "no. {STR_VAR_2} apprentice!\p" + .string "{STR_VAR_3}'s my name, hello, hello!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Mon1:: @ 8245013 + .string "My mentor {STR_VAR_3} recommended\n" + .string "one {STR_VAR_1}-master {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Mon2Ask:: @ 824503D + .string "and one {STR_VAR_1}-master\n" + .string "{STR_VAR_2}.\p" + .string "Good stuff, huh?\n" + .string "You'll partner with me, won't you?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Accept:: @ 8245087 + .string "Okay, excellent!\n" + .string "I'll get the registration done quickly!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Reject:: @ 82450C0 + .string "Gwaaah!\n" + .string "You're a calculating one, {PLAYER}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Intro:: @ 82450E6 + .string "Hey! There's big trouble! This is\n" + .string "the BATTLE TOWER's last day!\p" + .string "… … … … … …\n" + .string "I'm only joking!\p" + .string "People call me {STR_VAR_3} and I do, too!\n" + .string "I'm {STR_VAR_1}'s 1,000th apprentice!\l" + .string "Actually, I'm no. {STR_VAR_2}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Mon1:: @ 8245196 + .string "{STR_VAR_3} gave me some advice.\n" + .string "{STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Mon2Ask:: @ 82451BD + .string "{STR_VAR_2} with {STR_VAR_1}.\n" + .string "I've got ten of each kind!\l" + .string "Actually, just one of each!\p" + .string "How about it?\n" + .string "Want to try tag battles with me?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Accept:: @ 824522F + .string "Yippee!\n" + .string "I'll give you a POKéMON as my thanks!\p" + .string "Just joking! But I will really go do\n" + .string "the registration, okay?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Reject:: @ 824529A + .string "Oh, that's so cold! I'll have to wreck\n" + .string "the BATTLE TOWER for that!\p" + .string "Of course I won't!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Intro:: @ 82452EF + .string "Hey, there, I'm rockin' and a-rollin'!\n" + .string "POKéMON, I be controllin'!\p" + .string "I'm {STR_VAR_3} the rappin' SAILOR.\n" + .string "Don't be mistakin' me for no wailer!\p" + .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n" + .string "Me, you shouldn't be quick to dismiss!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Mon1:: @ 82453B4 + .string "With the advice of {STR_VAR_3} I did\n" + .string "abide, put together my team of pride!\l" + .string "One {STR_VAR_1}-using {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Mon2Ask:: @ 8245406 + .string "and one {STR_VAR_1}-using\n" + .string "{STR_VAR_2}!\p" + .string "Our meeting we should commemorate,\n" + .string "with a tag-team victory to celebrate!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Accept:: @ 8245464 + .string "Hey, hey, I like your style!\n" + .string "Our registration, I will go file!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Reject:: @ 82454A3 + .string "Oh, hey, {PLAYER}, now that's cold!\n" + .string "If I may be so bold!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Intro:: @ 82454D6 + .string "Yippee-yahoo!\n" + .string "Oh, don't run! I was just having fun!\p" + .string "Howdy! I'm {STR_VAR_3}!\n" + .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Mon1:: @ 8245535 + .string "{STR_VAR_3} told me what to do.\n" + .string "So one {STR_VAR_1}-using {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Mon2Ask:: @ 824555F + .string "and one {STR_VAR_1}-using\n" + .string "{STR_VAR_2}, I did choose.\p" + .string "So, what do you say?\n" + .string "Come on, make my day!\p" + .string "Please, I'm begging you!\n" + .string "Let me join you, don't leave me blue!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Accept:: @ 82455EC + .string "Yeahah! Luck is with me!\n" + .string "It sure makes me happy!\p" + .string "Before we go join the fray,\n" + .string "I'll go register right away!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Reject:: @ 8245656 + .string "You're turning me down?\n" + .string "{PLAYER}, you're making me frown!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Intro:: @ 824568A + .string "Cough!\p" + .string "Oh, sorry, I have a cold.\n" + .string "My POKéMON are fine, though.\p" + .string "My name's {STR_VAR_3}, {STR_VAR_1}'s\n" + .string "no. {STR_VAR_2} apprentice. Cough!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Mon1:: @ 82456F5 + .string "I took {STR_VAR_3}'s advice to heart\n" + .string "and put together my team of\l" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Mon2Ask:: @ 8245740 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "I trained them every day,\n" + .string "even in wind and rain.\p" + .string "That's why I have this cold,\n" + .string "I think.\p" + .string "That's what I'm about.\n" + .string "Want to be my tag partner?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Accept:: @ 82457D9 + .string "Thanks, I appreciate this!\n" + .string "Cough, cough!\l" + .string "Hang on while I go register.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Reject:: @ 824581F + .string "Oh, you won't?\n" + .string "{PLAYER}, I think we'd make a good pair.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Intro:: @ 8245851 + .string "Oh, hello!\n" + .string "This is nerve-racking.\p" + .string "I'm {STR_VAR_3}.\n" + .string "I'm the no. {STR_VAR_2} apprentice of {STR_VAR_1}.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Mon1:: @ 824589C + .string "{STR_VAR_3} said this team'll be good--\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Mon2Ask:: @ 82458CE + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "I'm feeling self-conscious about this,\n" + .string "but will you let me join you?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Accept:: @ 8245923 + .string "Oh, gee, thank you!\n" + .string "I feel bashful, but I'll do my best!\p" + .string "I'll go get the registration done.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Reject:: @ 824597F + .string "Oh, please don't say no!\n" + .string "I feel self-conscious enough already…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Intro:: @ 82459BE + .string "I am {STR_VAR_3}, and that's no lie.\n" + .string "I am {STR_VAR_1}'s no. {STR_VAR_2} apprentice.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Mon1:: @ 82459F7 + .string "{STR_VAR_3} recommended my team.\p" + .string "Since the advice sounded sincere,\n" + .string "I decided to bring with me\l" + .string "my {STR_VAR_1}-using {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Mon2Ask:: @ 8245A5F + .string "my {STR_VAR_1}-using {STR_VAR_2}.\p" + .string "If possible, I would like you to accept\n" + .string "me as your tag-team partner.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Accept:: @ 8245AB4 + .string "You really will accept me?\n" + .string "It would be too terrible otherwise.\p" + .string "But since you've agreed, this is fine.\n" + .string "I shall go register the both of us.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Reject:: @ 8245B3E + .string "Hm? Now why would you refuse?\n" + .string "Is this your idea of a joke?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassIntro:: @ 8245B79 + .string "I'm {STR_VAR_1}, and I'm a LASS!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassMon1:: @ 8245B91 + .string "What I have are one {STR_VAR_2}\n" + .string "that uses {STR_VAR_1} and one$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassMon2Ask:: @ 8245BBD + .string "{STR_VAR_2} that uses {STR_VAR_1}.\n" + .string "Those are what I have with me.\p" + .string "Will you be my partner?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassAccept:: @ 8245C05 + .string "Thank you!\n" + .string "I'll go do the registration!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassReject:: @ 8245C2D + .string "You don't want to be my partner?\n" + .string "You'll regret it later!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterIntro:: @ 8245C66 + .string "Hello!\p" + .string "I'm YOUNGSTER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterMon1:: @ 8245C7F + .string "Want to know what I have?\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterMon2Ask:: @ 8245CAC + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "You'll be my tag-team partner,\n" + .string "won't you?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterAccept:: @ 8245CE6 + .string "Yay!\n" + .string "I'll go and register, okay?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterReject:: @ 8245D07 + .string "Aww! If you'd form a tag team with\n" + .string "my POKéMON, we'd be unstoppable!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerIntro:: @ 8245D4B + .string "Yahoo!\n" + .string "I'm HIKER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerMon1:: @ 8245D60 + .string "Know what I have with me?\n" + .string "My {STR_VAR_1}-using {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerMon2Ask:: @ 8245D8D + .string "my {STR_VAR_1}-using {STR_VAR_2}!\p" + .string "Sounds good, eh?\n" + .string "Want to form a tag team?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerAccept:: @ 8245DC7 + .string "Yahoo!\n" + .string "I'll go do the registering, then.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerReject:: @ 8245DF0 + .string "I would've liked to battle with you\n" + .string "at my side.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyIntro:: @ 8245E20 + .string "Hello!\n" + .string "I'm {STR_VAR_1}, and I'm a BEAUTY!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyMon1:: @ 8245E41 + .string "Do you know what I've been raising?\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyMon2Ask:: @ 8245E78 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "What do you think?\n" + .string "Want to make a tag team together?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyAccept:: @ 8245EBD + .string "Wonderful!\n" + .string "I'll get the registration done now!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyReject:: @ 8245EEC + .string "How disappointing!\p" + .string "We two together--we would've been\n" + .string "the best!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanIntro:: @ 8245F2B + .string "Yo!\p" + .string "You know who I am?\n" + .string "I'm {STR_VAR_1} the FISHERMAN!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanMon1:: @ 8245F58 + .string "I've got with me a team of one\n" + .string "{STR_VAR_1}-using {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanMon2Ask:: @ 8245F87 + .string "one {STR_VAR_1}-using {STR_VAR_2}.\p" + .string "So, how about it?\n" + .string "Will you battle at my side?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanAccept:: @ 8245FC6 + .string "Good, good!\n" + .string "Leave it up to me!\p" + .string "I'll go and register us now.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanReject:: @ 8246002 + .string "We matched up perfectly, too…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyIntro:: @ 8246020 + .string "Glad to make your acquaintance.\n" + .string "I am {STR_VAR_1}, a LADY.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyMon1:: @ 8246051 + .string "I am accompanied by a team of\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyMon2Ask:: @ 8246082 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "I hope I meet your approval.\n" + .string "For I wish to have you as my partner.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyAccept:: @ 82460D5 + .string "I thank you sincerely.\n" + .string "I shall handle the registration.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyReject:: @ 824610D + .string "I'm sure that you will regret not\n" + .string "having me as your partner.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFIntro:: @ 824614A + .string "I'm TRIATHLETE {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFMon1:: @ 824615D + .string "What I have…\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFMon2Ask:: @ 824617D + .string "one {STR_VAR_2} with {STR_VAR_1}!\n" + .string "That's my pair!\p" + .string "Please?\n" + .string "Will you form a tag team with me?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFAccept:: @ 82461C7 + .string "Gee, thanks!\n" + .string "I'll go register at the counter.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFReject:: @ 82461F5 + .string "We two together, we would've been\n" + .string "tough for certain!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherIntro:: @ 824622A + .string "Hiya!\n" + .string "I'm BUG CATCHER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherMon1:: @ 8246244 + .string "Check out what I have!\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherMon2Ask:: @ 824626E + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "So, listen!\n" + .string "Do you want to form a tag team?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherAccept:: @ 82462AA + .string "Gotcha!\p" + .string "I'll go do the registration stuff\n" + .string "at the counter.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherReject:: @ 82462E4 + .string "Aww, my POKéMON are awesome.\n" + .string "I hope you won't regret this!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMIntro:: @ 824631F + .string "Good day!\n" + .string "I'm SCHOOL KID {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMMon1:: @ 824633C + .string "What I've been raising are one\n" + .string "{STR_VAR_2} that uses {STR_VAR_1}$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMMon2Ask:: @ 824636B + .string "and one {STR_VAR_2} that uses\n" + .string "{STR_VAR_1}.\p" + .string "Not too bad, don't you think?\n" + .string "Would you care to form a tag team?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMAccept:: @ 82463C5 + .string "Thank you very much!\n" + .string "I'll get done with the registration.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMReject:: @ 82463FF + .string "That's too bad…\p" + .string "I was hoping that I could learn\n" + .string "from you as your partner…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyIntro:: @ 8246449 + .string "Yo! Let me tell you who I am!\n" + .string "I'm RICH BOY {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyMon1:: @ 8246478 + .string "Guess what I got!\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyMon2Ask:: @ 824649D + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "I'm willing to offer you the chance\n" + .string "to be in a tag team with me.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyAccept:: @ 82464EE + .string "Smart move!\p" + .string "I'll finish up the registration\n" + .string "process quick!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyReject:: @ 8246529 + .string "You'd turn me of all people down?\n" + .string "You'll regret that decision for sure!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltIntro:: @ 8246571 + .string "Hiyah!\n" + .string "I am BLACK BELT {STR_VAR_1}.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltMon1:: @ 824658C + .string "As my companions, I have\n" + .string "one {STR_VAR_2} using {STR_VAR_1}$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltMon2Ask:: @ 82465B5 + .string "and one {STR_VAR_2} using\n" + .string "{STR_VAR_1}.\p" + .string "Please, grant me my wish!\n" + .string "Allow me to be your tag partner!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltAccept:: @ 8246605 + .string "Hiyah!\n" + .string "I will go register forthwith!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltReject:: @ 824662A + .string "I see… I hope for an opportunity\n" + .string "the next time we meet…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFIntro:: @ 8246662 + .string "Hi, there!\n" + .string "I'm {STR_VAR_1}, and I'm a TUBER!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFMon1:: @ 8246686 + .string "I'll tell you what I have.\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFMon2Ask:: @ 82466B4 + .string "one {STR_VAR_2} with {STR_VAR_1}!\n" + .string "May I please be on your tag team?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFAccept:: @ 82466E6 + .string "Thank you!\n" + .string "I'll go register us now!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFReject:: @ 824670A + .string "If we'd become partners, we could\n" + .string "have been so strong!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacIntro:: @ 8246741 + .string "Greetings…\n" + .string "I am HEX MANIAC {STR_VAR_1}…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacMon1:: @ 8246760 + .string "I bear with me one {STR_VAR_1}-using\n" + .string "{STR_VAR_2} together with one$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacMon2Ask:: @ 8246791 + .string "{STR_VAR_1}-using {STR_VAR_2}…\p" + .string "I beseech you…\n" + .string "Join me in a tag team…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacAccept:: @ 82467C4 + .string "I thank you…\n" + .string "I shall register us…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacReject:: @ 82467E6 + .string "I so longed to join you…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMIntro:: @ 82467FF + .string "How do you do? I'm {STR_VAR_1},\n" + .string "and I'm a POKéMON BREEDER!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMMon1:: @ 8246831 + .string "I'm raising a couple good ones!\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMMon2Ask:: @ 8246864 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "How about it?\n" + .string "Feel like making a tag team with me?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMAccept:: @ 82468A7 + .string "Thank you kindly!\p" + .string "I'll go take care of the registration\n" + .string "stuff, so you wait right here!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMReject:: @ 82468FE + .string "I was looking forward to being\n" + .string "your partner…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFIntro:: @ 824692B + .string "Well, hello!\n" + .string "I'm TRIATHLETE {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFMon1:: @ 824694B + .string "Want to know what I run with?\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFMon2Ask:: @ 824697C + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Well?\n" + .string "Want to be in a tag team with me?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFAccept:: @ 82469B4 + .string "Good going!\p" + .string "I'll be quick and get the registration\n" + .string "all done!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFReject:: @ 82469F1 + .string "You and me, we would've been tops.\n" + .string "It's too bad…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMIntro:: @ 8246A22 + .string "Hey, there! My name's {STR_VAR_1}!\n" + .string "I'm a TRIATHLETE!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMMon1:: @ 8246A4E + .string "I go on runs with my durable team--\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMMon2Ask:: @ 8246A85 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Not too shabby, huh?\n" + .string "We should be in a tag team together!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMAccept:: @ 8246ACF + .string "All right!\n" + .string "I'll go register in a flash!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMReject:: @ 8246AF7 + .string "I really wanted to battle as your\n" + .string "tag-team partner…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlIntro:: @ 8246B2B + .string "I'm BATTLE GIRL {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlMon1:: @ 8246B3F + .string "I've been toughening up one\n" + .string "{STR_VAR_1}-using {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlMon2Ask:: @ 8246B6B + .string "one {STR_VAR_1}-using {STR_VAR_2}!\p" + .string "Do you like that combo?\n" + .string "How about you and me join up?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlAccept:: @ 8246BB2 + .string "Why, thanks!\p" + .string "I'll get the registration done\n" + .string "right now!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlReject:: @ 8246BE9 + .string "With you, I thought we could form\n" + .string "the ultimate tag team…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMIntro:: @ 8246C22 + .string "I'm TRIATHLETE {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMMon1:: @ 8246C35 + .string "I've been running with one {STR_VAR_2}\n" + .string "that knows how to use {STR_VAR_1}$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMMon2Ask:: @ 8246C6C + .string "and one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "We could be in a tag team.\n" + .string "Wouldn't that be great?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMAccept:: @ 8246CB3 + .string "Thank you!\p" + .string "I'll go register us, and that's\n" + .string "right now!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMReject:: @ 8246CE9 + .string "Aww, that's too bad. We would've been\n" + .string "the toughest tag team around!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMIntro:: @ 8246D2D + .string "Me?\n" + .string "I'm TUBER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMMon1:: @ 8246D3F + .string "What do I have with me?\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMMon2Ask:: @ 8246D6A + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Hey?\n" + .string "You'll team up with me, right?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMAccept:: @ 8246D9E + .string "Okay!\p" + .string "I'll go register!\n" + .string "Let's be excellent together!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMReject:: @ 8246DD3 + .string "My POKéMON are tough for sure…\n" + .string "It's too bad you don't want to team up.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristIntro:: @ 8246E1A + .string "Yay-hey!\n" + .string "Call me GUITARIST {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristMon1:: @ 8246E39 + .string "Check out my entourage!\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristMon2Ask:: @ 8246E64 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Yay-hey! Pretty wild, huh?\n" + .string "We'll have to do a duet in a tag team!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristAccept:: @ 8246EB6 + .string "Yay-hey! Right on!\n" + .string "I'll do that registration stuff now!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristReject:: @ 8246EEE + .string "My POKéMON rock hard!\n" + .string "You'll be sorry, I tell you!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanIntro:: @ 8246F21 + .string "Pleased to meet you.\n" + .string "I am {STR_VAR_1}, a GENTLEMAN.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanMon1:: @ 8246F4C + .string "I am accompanied by my trusted\n" + .string "{STR_VAR_1}-using {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanMon2Ask:: @ 8246F7B + .string "one {STR_VAR_1}-using {STR_VAR_2}.\p" + .string "May I ask you to join me in a tag-team\n" + .string "partnership arrangement?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanAccept:: @ 8246FCC + .string "Ah, I thank you for your trust.\n" + .string "I shall be done with the registration.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanReject:: @ 8247013 + .string "That is most unfortunate…\p" + .string "I shall look forward to the next\n" + .string "opportunity…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMIntro:: @ 824705B + .string "Hello, I'm {STR_VAR_1},\n" + .string "and I'm a POKéFAN.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMMon1:: @ 824707D + .string "I have with me now one {STR_VAR_2}\n" + .string "that knows the move {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMMon2Ask:: @ 82470B2 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Do you like what you see?\n" + .string "Why don't you be my tag partner?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMAccept:: @ 82470FD + .string "Thank you!\n" + .string "I'll look after the registration!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMReject:: @ 824712A + .string "My POKéMON are top grade…\n" + .string "It's too bad you can't appreciate that.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMIntro:: @ 824716C + .string "Hm!\n" + .string "I am {STR_VAR_1}, and an EXPERT am I!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMMon1:: @ 824718D + .string "The POKéMON that I've toughened up are\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMMon2Ask:: @ 82471C7 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "What say you to a tag team with me?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMAccept:: @ 82471FB + .string "Hm!\n" + .string "I shall register us right away!\l" + .string "Let us both do our best!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMReject:: @ 8247238 + .string "I will hope that your choice is\n" + .string "indeed correct…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFIntro:: @ 8247268 + .string "Hello, hello.\n" + .string "I'm {STR_VAR_1}, and I'm an EXPERT.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFMon1:: @ 8247291 + .string "I've raised my POKéMON thoroughly.\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFMon2Ask:: @ 82472C7 + .string "one {STR_VAR_2} with {STR_VAR_1}--\n" + .string "they're what I have.\p" + .string "Wouldn't you like to team up with me?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFAccept:: @ 8247313 + .string "Good, good.\n" + .string "I'll see to the registration right away.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFReject:: @ 8247348 + .string "Perhaps we can form a team the next\n" + .string "time we meet.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerIntro:: @ 824737A + .string "I'm DRAGON TAMER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerMon1:: @ 824738F + .string "The team I've been toughening up is\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerMon2Ask:: @ 82473C6 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "How about it?\n" + .string "Want to be my partner?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerAccept:: @ 82473FB + .string "Okay, I'll give it my best!\n" + .string "I'll go register now, all right?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerReject:: @ 8247438 + .string "You're not going to find many tougher\n" + .string "partners than me!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperIntro:: @ 8247470 + .string "I'm BIRD KEEPER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperMon1:: @ 8247484 + .string "What POKéMON do I have?\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperMon2Ask:: @ 82474AF + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Don't you think we'd make a decent\n" + .string "tag team?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperAccept:: @ 82474EC + .string "Great, thanks!\n" + .string "I'll look after the registration!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperReject:: @ 824751D + .string "My POKéMON and I are strong.\n" + .string "What a letdown.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyIntro:: @ 824754A + .string "I'm NINJA BOY {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyMon1:: @ 824755C + .string "My POKéMON team consists of one\n" + .string "{STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyMon2Ask:: @ 824758B + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Let's be in a tag team together!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyAccept:: @ 82475BC + .string "Yay!\n" + .string "Let me go register!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyReject:: @ 82475D5 + .string "You'll regret not having my tough\n" + .string "POKéMON on your side!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyIntro:: @ 824760D + .string "Hello!\n" + .string "I'm PARASOL LADY {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyMon1:: @ 8247629 + .string "Escorting me now are my {STR_VAR_2}\n" + .string "that uses {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyMon2Ask:: @ 8247655 + .string "one {STR_VAR_2} that uses\n" + .string "{STR_VAR_1}.\p" + .string "Aren't they nice?\n" + .string "Care to join us in a tag team?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyAccept:: @ 824769B + .string "Thanks a bunch!\p" + .string "I'll go register at the counter.\n" + .string "Let's not disappoint each other!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyReject:: @ 82476ED + .string "My POKéMON are tremendously strong.\n" + .string "How disappointing…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacIntro:: @ 8247724 + .string "Hello.\n" + .string "I'm {STR_VAR_1}, and I'm a BUG MANIAC!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacMon1:: @ 8247749 + .string "I have found my POKéMON, yes.\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacMon2Ask:: @ 824777A + .string "one {STR_VAR_2} with {STR_VAR_1}--\n" + .string "they are what I found.\p" + .string "Could I interest you in forming\n" + .string "a tag team?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacAccept:: @ 82477CE + .string "Okay!\n" + .string "Understood!\p" + .string "I won't be long with the registration!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacReject:: @ 8247807 + .string "With the POKéMON I found, we wouldn't\n" + .string "have lost…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorIntro:: @ 8247838 + .string "Ahoy, there!\n" + .string "I'm SAILOR {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorMon1:: @ 8247854 + .string "Let me show you my pride and joy!\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorMon2Ask:: @ 8247889 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Of course you're not going to turn\n" + .string "me down. We will team up, right?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorAccept:: @ 82478DD + .string "I didn't expect any less!\n" + .string "I'll go register now.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorReject:: @ 824790D + .string "We would've stormed through\n" + .string "the opposition! Too bad!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorIntro:: @ 8247942 + .string "Hi, I'm {STR_VAR_1}.\n" + .string "I'm a COLLECTOR.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorMon1:: @ 824795F + .string "The jewels in my collection are\n" + .string "my {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorMon2Ask:: @ 8247991 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Swell, huh?\n" + .string "We should be in a team together.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorAccept:: @ 82479CE + .string "Oh, yeah!\p" + .string "Well, let's not waste any time.\n" + .string "I'll go register the two of us.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorReject:: @ 8247A18 + .string "Well, that's upsetting.\n" + .string "You don't appreciate my POKéMON.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMIntro:: @ 8247A51 + .string "Howdy, I'm {STR_VAR_1}.\n" + .string "I'm a POKéMON RANGER.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMMon1:: @ 8247A76 + .string "Keeping me company are one\n" + .string "{STR_VAR_1}-using {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMMon2Ask:: @ 8247AA1 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Don't you think we'd make an impressive\n" + .string "tag team?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMAccept:: @ 8247AE3 + .string "That's super!\n" + .string "I'll deal with the registration now.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMReject:: @ 8247B16 + .string "Next time, choose my POKéMON,\n" + .string "will you?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFIntro:: @ 8247B3E + .string "My name's {STR_VAR_1}.\n" + .string "I'm a POKéMON RANGER!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFMon1:: @ 8247B62 + .string "Let me tell you about my team. I have\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFMon2Ask:: @ 8247B9B + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "How would you like to form a tag team\n" + .string "with my little posse?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFAccept:: @ 8247BE7 + .string "We'll be at our best!\n" + .string "I'll get the registration done quick!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFReject:: @ 8247C23 + .string "I hope you'll choose my POKéMON\n" + .string "next time.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyIntro:: @ 8247C4E + .string "Pleased to meet you. I'm {STR_VAR_1}.\n" + .string "I consider myself an AROMA LADY.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyMon1:: @ 8247C8C + .string "I travel with one {STR_VAR_2}\n" + .string "that uses {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyMon2Ask:: @ 8247CB2 + .string "one {STR_VAR_2} that uses\n" + .string "{STR_VAR_1}.\p" + .string "I hope they strike your fancy.\n" + .string "Would you care to be my partner?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyAccept:: @ 8247D07 + .string "I'm honored by your acceptance.\n" + .string "I will go register right this instant.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyReject:: @ 8247D4E + .string "It would be wonderful if we could form\n" + .string "a tag team the next time we meet.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacIntro:: @ 8247D97 + .string "Want to know who I am?\n" + .string "I'm {STR_VAR_1}, the RUIN MANIAC!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacMon1:: @ 8247DC7 + .string "The POKéMON that I have with me are\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacMon2Ask:: @ 8247DFE + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Intriguing, eh?\n" + .string "How about you and I partner up?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacAccept:: @ 8247E3E + .string "That's a sound decision!\n" + .string "I'll go do the registration paperwork.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacReject:: @ 8247E7E + .string "Hmm…\n" + .string "I think my POKéMON are tough…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMIntro:: @ 8247EA1 + .string "I'm COOLTRAINER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMMon1:: @ 8247EB5 + .string "The POKéMON I have right now are one\n" + .string "{STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMMon2Ask:: @ 8247EE9 + .string "one {STR_VAR_2} with {STR_VAR_1}.\n" + .string "Cool, huh?\p" + .string "Don't you think it'd be pretty cool\n" + .string "if we made a tag team?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMAccept:: @ 8247F3F + .string "Cool!\n" + .string "I'll go do the registration in a flash!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMReject:: @ 8247F6D + .string "I thought that we'd make just\n" + .string "the greatest team ever.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFIntro:: @ 8247FA3 + .string "I'm COOLTRAINER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFMon1:: @ 8247FB7 + .string "The team I've been raising has one\n" + .string "{STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFMon2Ask:: @ 8247FE9 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Does that sound okay?\n" + .string "How about we become tag partners?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFAccept:: @ 8248031 + .string "Sounds A-OK!\n" + .string "I'd better do the registration.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFReject:: @ 824805E + .string "I was thinking how we would be\n" + .string "one tough team…$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacIntro:: @ 824808D + .string "Heyo!\n" + .string "I'm {STR_VAR_1}, the POKéMANIAC!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacMon1:: @ 82480AB + .string "What does a guy like me have?\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacMon2Ask:: @ 82480DC + .string "one {STR_VAR_2} with {STR_VAR_1},\n" + .string "that's what!\p" + .string "Let's do it!\n" + .string "We'll stomp around as a tag team!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacAccept:: @ 8248128 + .string "Good call!\n" + .string "I'll register the both of us!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacReject:: @ 8248151 + .string "My POKéMON are brutal!\n" + .string "It's not my fault if you regret this!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerIntro:: @ 824818E + .string "Yo, there!\n" + .string "I'm KINDLER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerMon1:: @ 82481A9 + .string "You know what my training cooked up?\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerMon2Ask:: @ 82481E1 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Well, what do you say?\n" + .string "Want to form a tag team?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerAccept:: @ 8248221 + .string "All right!\n" + .string "I'll get on with the registration.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerReject:: @ 824824F + .string "Promise you'll partner up with me\n" + .string "the next time we run into each other.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperIntro:: @ 8248297 + .string "I'm {STR_VAR_1}, and I'm a CAMPER!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperMon1:: @ 82482B1 + .string "I've been raising one {STR_VAR_1}-\n" + .string "using {STR_VAR_2} and one$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperMon2Ask:: @ 82482DC + .string "{STR_VAR_1}-using {STR_VAR_2}.\p" + .string "Do you think it'd be fun to team up?\n" + .string "I bet it would be!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperAccept:: @ 8248321 + .string "Yeah!\n" + .string "Off I go to register!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperReject:: @ 824833D + .string "Next time, okay?\n" + .string "I want to be on your team.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerIntro:: @ 8248369 + .string "Hello!\n" + .string "I'm {STR_VAR_1}, and I'm a PICNICKER!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerMon1:: @ 824838D + .string "The POKéMON I've been taking are\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerMon2Ask:: @ 82483C1 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Are you interested in joining me\n" + .string "on a tag team?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerAccept:: @ 8248401 + .string "Why, thank you!\n" + .string "I will do the registration now.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerReject:: @ 8248431 + .string "It would be nice if I could join you\n" + .string "some other time.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMIntro:: @ 8248467 + .string "I'm PSYCHIC {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMMon1:: @ 8248477 + .string "The twosome I've been raising are\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMMon2Ask:: @ 82484AC + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Would you like to form a tag team\n" + .string "with me?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMAccept:: @ 82484E7 + .string "Sure thing!\n" + .string "I'll take care of the registration!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMReject:: @ 8248517 + .string "If we meet again, that's when I'd like\n" + .string "to team up with you.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFIntro:: @ 8248553 + .string "I'm {STR_VAR_1}.\n" + .string "I'm a PSYCHIC.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFMon1:: @ 824856A + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFMon2Ask:: @ 824857D + .string "one {STR_VAR_2} with {STR_VAR_1}--\n" + .string "they're my disciples.\p" + .string "Doesn't the idea of forming a tag-team\n" + .string "partnership intrigue you?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFAccept:: @ 82485E5 + .string "Thank you.\n" + .string "I'll go deal with the registration.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFReject:: @ 8248614 + .string "I hope there will be another chance\n" + .string "to forge an alliance.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFIntro:: @ 824864E + .string "I'm SCHOOL KID {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFMon1:: @ 8248661 + .string "One {STR_VAR_1}-using {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFMon2Ask:: @ 8248671 + .string "and one {STR_VAR_1}-using\n" + .string "{STR_VAR_2} are my POKéMON pair.\p" + .string "May I please be your partner on\n" + .string "a tag team?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFAccept:: @ 82486C6 + .string "Ooh, thank you!\n" + .string "I'll register at the counter right away!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFReject:: @ 82486FF + .string "Please?\n" + .string "May I join you the next time?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFIntro:: @ 8248725 + .string "Hiya! The name's {STR_VAR_1}!\n" + .string "I'm a POKéMON BREEDER!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFMon1:: @ 8248751 + .string "The POKéMON I've raised are one\n" + .string "{STR_VAR_1}-using {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFMon2Ask:: @ 8248781 + .string "one {STR_VAR_1}-using {STR_VAR_2}.\p" + .string "Sound interesting?\n" + .string "How about we form a tag team, then?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFAccept:: @ 82487C9 + .string "All righty!\n" + .string "You leave the registration to me!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFReject:: @ 82487F7 + .string "You have to team up with me next time,\n" + .string "all right?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFIntro:: @ 8248829 + .string "I'm {STR_VAR_1}, and I'm proud to say\n" + .string "that I am a POKéFAN.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFMon1:: @ 824885B + .string "The darling POKéMON I've raised are\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFMon2Ask:: @ 8248892 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Aren't they just the cutest?\n" + .string "We ought to make a team!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFAccept:: @ 82488D8 + .string "Thank you, dear!\n" + .string "I'll be on my way to register!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFReject:: @ 8248908 + .string "My darling POKéMON are the best,\n" + .string "I'll have you know. How annoying!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFIntro:: @ 824894B + .string "Hi, I'm SWIMMER {STR_VAR_1}.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFMon1:: @ 824895F + .string "One {STR_VAR_1}-using {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFMon2Ask:: @ 824896F + .string "and one {STR_VAR_1}-using\n" + .string "{STR_VAR_2} are what I've trained.\p" + .string "You and me, let's make a tag team.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFAccept:: @ 82489BD + .string "That's cool!\n" + .string "I'll register the two of us.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFReject:: @ 82489E7 + .string "If we meet again, you owe me\n" + .string "a tag team!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMIntro:: @ 8248A10 + .string "What's happening?\n" + .string "I'm {STR_VAR_1}, and I'm a TRIATHLETE.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMMon1:: @ 8248A40 + .string "I got a couple decent POKéMON.\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMMon2Ask:: @ 8248A72 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "It'd be neat if we made a tag team\n" + .string "together, so how about it?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMAccept:: @ 8248AC0 + .string "Right on!\n" + .string "You wait while I register, okay?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMReject:: @ 8248AEB + .string "I expect you'll let me join you\n" + .string "next time, how's that?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFIntro:: @ 8248B22 + .string "I'm the TRIATHLETE {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFMon1:: @ 8248B39 + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFMon2Ask:: @ 8248B4C + .string "another {STR_VAR_2} that knows how\n" + .string "to use {STR_VAR_1}. That's my pair.\p" + .string "What do you think?\n" + .string "We'd make a good team, I'd say.$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFAccept:: @ 8248BB4 + .string "I like that answer!\n" + .string "I'll get done with registration fast!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFReject:: @ 8248BEE + .string "You'll give me another chance to form\n" + .string "a partnership, won't you?$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMIntro:: @ 8248C2E + .string "Hi, there! Hello!\n" + .string "I'm {STR_VAR_1}, and I'm a SWIMMER!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMMon1:: @ 8248C5B + .string "Check out what I've been raising!\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMMon2Ask:: @ 8248C90 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Sweet, huh?\n" + .string "It'd be sweet to form a team, too!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMAccept:: @ 8248CCF + .string "Much obliged!\n" + .string "I'll get this registration thing done!$" + +BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMReject:: @ 8248D04 + .string "If we meet again, you have to team up\n" + .string "with me. You'll do that, right?$" + diff --git a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/map.json b/data/maps/BattleFrontier_ExchangeServiceCorner/map.json similarity index 78% rename from data/maps/BattleFrontier_BattlePointExchangeServiceCorner/map.json rename to data/maps/BattleFrontier_ExchangeServiceCorner/map.json index 4c7bcad2aa..055b6e56e5 100644 --- a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/map.json +++ b/data/maps/BattleFrontier_ExchangeServiceCorner/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER", - "name": "BattleFrontier_BattlePointExchangeServiceCorner", - "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER", + "id": "MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER", + "name": "BattleFrontier_ExchangeServiceCorner", + "layout": "LAYOUT_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER", "music": "MUS_B_TOWER", "region_map_section": "MAPSEC_BATTLE_FRONTIER", "requires_flash": false, @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F173", + "script": "BattleFrontier_ExchangeServiceCorner_EventScript_DecorClerk1", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7E8", + "script": "BattleFrontier_ExchangeServiceCorner_EventScript_RichBoy", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7DD", + "script": "BattleFrontier_ExchangeServiceCorner_EventScript_PokefanF", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7D4", + "script": "BattleFrontier_ExchangeServiceCorner_EventScript_Sailor", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7CB", + "script": "BattleFrontier_ExchangeServiceCorner_EventScript_Man", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F37C", + "script": "BattleFrontier_ExchangeServiceCorner_EventScript_DecorClerk2", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F49F", + "script": "BattleFrontier_ExchangeServiceCorner_EventScript_VitaminClerk", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5F0", + "script": "BattleFrontier_ExchangeServiceCorner_EventScript_HoldItemClerk", "flag": "0" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7F1", + "script": "BattleFrontier_ExchangeServiceCorner_EventScript_Girl", "flag": "0" } ], diff --git a/data/maps/BattleFrontier_ExchangeServiceCorner/scripts.inc b/data/maps/BattleFrontier_ExchangeServiceCorner/scripts.inc new file mode 100644 index 0000000000..f0fb42bb49 --- /dev/null +++ b/data/maps/BattleFrontier_ExchangeServiceCorner/scripts.inc @@ -0,0 +1,765 @@ +BattleFrontier_ExchangeServiceCorner_MapScripts:: @ 825F070 + .byte 0 + +BattleFrontier_ExchangeServiceCorner_EventScript_ClerkWelcome:: @ 825F071 + msgbox BattleFrontier_ExchangeServiceCorner_Text_WelcomePleaseChoosePrize, MSGBOX_DEFAULT + special ShowBattlePointsWindow + return + +BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye:: @ 825F07D + msgbox BattleFrontier_ExchangeServiceCorner_Text_ThankYouVisitWithPoints, MSGBOX_DEFAULT + special CloseBattlePointsWindow + release + end + +BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize:: @ 825F08A + specialvar VAR_TEMP_1, GetFrontierBattlePoints + compare VAR_TEMP_1, VAR_0x8008 + goto_if_ge BattleFrontier_ExchangeServiceCorner_EventScript_TryGivePrize + msgbox BattleFrontier_ExchangeServiceCorner_Text_DontHaveEnoughPoints, MSGBOX_DEFAULT + compare VAR_TEMP_2, EXCHANGE_CORNER_DECOR1_CLERK + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1 + compare VAR_TEMP_2, EXCHANGE_CORNER_DECOR2_CLERK + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2 + compare VAR_TEMP_2, EXCHANGE_CORNER_VITAMIN_CLERK + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin + goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem + end + +BattleFrontier_ExchangeServiceCorner_EventScript_TryGivePrize:: @ 825F0C9 + compare VAR_TEMP_2, EXCHANGE_CORNER_DECOR1_CLERK + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveDecor + compare VAR_TEMP_2, EXCHANGE_CORNER_DECOR2_CLERK + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveDecor + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveItem + end + +BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveDecor:: @ 825F0E5 + checkdecorspace VAR_0x8009 + compare VAR_RESULT, FALSE + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_NoRoomForDecor + copyvar VAR_0x8004, VAR_0x8008 + special TakeFrontierBattlePoints + adddecoration VAR_0x8009 + special UpdateBattlePointsWindow + playse SE_REGI + msgbox BattleFrontier_ExchangeServiceCorner_Text_WellSendItToPC, MSGBOX_DEFAULT + compare VAR_TEMP_2, EXCHANGE_CORNER_DECOR1_CLERK + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1 + goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2 + end + +BattleFrontier_ExchangeServiceCorner_EventScript_NoRoomForDecor:: @ 825F11D + msgbox BattleFrontier_ExchangeServiceCorner_Text_PCIsFull, MSGBOX_DEFAULT + special CloseBattlePointsWindow + release + end + +BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveItem:: @ 825F12A + checkitemspace VAR_0x8009, 1 + compare VAR_RESULT, FALSE + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_BagFull + copyvar VAR_0x8004, VAR_0x8008 + special TakeFrontierBattlePoints + additem VAR_0x8009 + special UpdateBattlePointsWindow + playse SE_REGI + msgbox BattleFrontier_ExchangeServiceCorner_Text_HereIsYourPrize, MSGBOX_DEFAULT + compare VAR_TEMP_2, EXCHANGE_CORNER_VITAMIN_CLERK + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin + goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem + end + +BattleFrontier_ExchangeServiceCorner_EventScript_BagFull:: @ 825F166 + msgbox BattleFrontier_ExchangeServiceCorner_Text_DontHaveSpaceToHoldIt, MSGBOX_DEFAULT + special CloseBattlePointsWindow + release + end + +BattleFrontier_ExchangeServiceCorner_EventScript_DecorClerk1:: @ 825F173 + lock + faceplayer + setvar VAR_TEMP_2, EXCHANGE_CORNER_DECOR1_CLERK + call BattleFrontier_ExchangeServiceCorner_EventScript_ClerkWelcome + goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1 + end + +BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1:: @ 825F185 + setvar VAR_0x8004, SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1 + special ShowFrontierExchangeCornerItemIconWindow + special ShowScrollableMultichoice + waitstate + special CloseFrontierExchangeCornerItemIconWindow + switch VAR_RESULT + case 0, BattleFrontier_ExchangeServiceCorner_EventScript_KissPoster + case 1, BattleFrontier_ExchangeServiceCorner_EventScript_KissCushion + case 2, BattleFrontier_ExchangeServiceCorner_EventScript_SmoochumDoll + case 3, BattleFrontier_ExchangeServiceCorner_EventScript_TogepiDoll + case 4, BattleFrontier_ExchangeServiceCorner_EventScript_MeowthDoll + case 5, BattleFrontier_ExchangeServiceCorner_EventScript_ClefairyDoll + case 6, BattleFrontier_ExchangeServiceCorner_EventScript_DittoDoll + case 7, BattleFrontier_ExchangeServiceCorner_EventScript_CyndaquilDoll + case 8, BattleFrontier_ExchangeServiceCorner_EventScript_ChikoritaDoll + case 9, BattleFrontier_ExchangeServiceCorner_EventScript_TotodileDoll + case 10, BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye + case MULTI_B_PRESSED, BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye + end + +BattleFrontier_ExchangeServiceCorner_EventScript_KissPoster:: @ 825F21E + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmKissPoster, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1 + setvar VAR_0x8008, 16 + setvar VAR_0x8009, DECOR_KISS_POSTER + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_KissCushion:: @ 825F241 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmKissCushion, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1 + setvar VAR_0x8008, 32 + setvar VAR_0x8009, DECOR_KISS_CUSHION + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_SmoochumDoll:: @ 825F264 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmSmoochumDoll, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1 + setvar VAR_0x8008, 32 + setvar VAR_0x8009, DECOR_SMOOCHUM_DOLL + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_TogepiDoll:: @ 825F287 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmTogepiDoll, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1 + setvar VAR_0x8008, 48 + setvar VAR_0x8009, DECOR_TOGEPI_DOLL + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_MeowthDoll:: @ 825F2AA + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmMeowthDoll, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1 + setvar VAR_0x8008, 48 + setvar VAR_0x8009, DECOR_MEOWTH_DOLL + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_ClefairyDoll:: @ 825F2CD + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmClefairyDoll, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1 + setvar VAR_0x8008, 48 + setvar VAR_0x8009, DECOR_CLEFAIRY_DOLL + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_DittoDoll:: @ 825F2F0 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmDittoDoll, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1 + setvar VAR_0x8008, 48 + setvar VAR_0x8009, DECOR_DITTO_DOLL + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_CyndaquilDoll:: @ 825F313 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmCyndaquilDoll, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1 + setvar VAR_0x8008, 80 + setvar VAR_0x8009, DECOR_CYNDAQUIL_DOLL + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_ChikoritaDoll:: @ 825F336 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmChikoritaDoll, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1 + setvar VAR_0x8008, 80 + setvar VAR_0x8009, DECOR_CHIKORITA_DOLL + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_TotodileDoll:: @ 825F359 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmTotodileDoll, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1 + setvar VAR_0x8008, 80 + setvar VAR_0x8009, DECOR_TOTODILE_DOLL + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_DecorClerk2:: @ 825F37C + lock + faceplayer + setvar VAR_TEMP_2, EXCHANGE_CORNER_DECOR2_CLERK + call BattleFrontier_ExchangeServiceCorner_EventScript_ClerkWelcome + goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2 + end + +BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2:: @ 825F38E + setvar VAR_0x8004, SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2 + special ShowFrontierExchangeCornerItemIconWindow + special ShowScrollableMultichoice + waitstate + special CloseFrontierExchangeCornerItemIconWindow + switch VAR_RESULT + case 0, BattleFrontier_ExchangeServiceCorner_EventScript_LaprasDoll + case 1, BattleFrontier_ExchangeServiceCorner_EventScript_SnorlaxDoll + case 2, BattleFrontier_ExchangeServiceCorner_EventScript_VenusaurDoll + case 3, BattleFrontier_ExchangeServiceCorner_EventScript_CharizardDoll + case 4, BattleFrontier_ExchangeServiceCorner_EventScript_BlastoiseDoll + case 5, BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye + case MULTI_B_PRESSED, BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye + end + +BattleFrontier_ExchangeServiceCorner_EventScript_LaprasDoll:: @ 825F3F0 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmLaprasDoll, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2 + setvar VAR_0x8008, 128 + setvar VAR_0x8009, DECOR_LAPRAS_DOLL + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_SnorlaxDoll:: @ 825F413 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmSnorlaxDoll, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2 + setvar VAR_0x8008, 128 + setvar VAR_0x8009, DECOR_SNORLAX_DOLL + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_VenusaurDoll:: @ 825F436 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmVenusaurDoll, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2 + setvar VAR_0x8008, 256 + setvar VAR_0x8009, DECOR_VENUSAUR_DOLL + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_CharizardDoll:: @ 825F459 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmCharizardDoll, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2 + setvar VAR_0x8008, 256 + setvar VAR_0x8009, DECOR_CHARIZARD_DOLL + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_BlastoiseDoll:: @ 825F47C + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmBlastoiseDoll, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2 + setvar VAR_0x8008, 256 + setvar VAR_0x8009, DECOR_BLASTOISE_DOLL + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_VitaminClerk:: @ 825F49F + lock + faceplayer + setvar VAR_TEMP_2, EXCHANGE_CORNER_VITAMIN_CLERK + call BattleFrontier_ExchangeServiceCorner_EventScript_ClerkWelcome + goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin + end + +BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin:: @ 825F4B1 + setvar VAR_0x8004, SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR + special ShowFrontierExchangeCornerItemIconWindow + special ShowScrollableMultichoice + waitstate + special CloseFrontierExchangeCornerItemIconWindow + switch VAR_RESULT + case 0, BattleFrontier_ExchangeServiceCorner_EventScript_Protein + case 1, BattleFrontier_ExchangeServiceCorner_EventScript_Calcium + case 2, BattleFrontier_ExchangeServiceCorner_EventScript_Iron + case 3, BattleFrontier_ExchangeServiceCorner_EventScript_Zinc + case 4, BattleFrontier_ExchangeServiceCorner_EventScript_Carbos + case 5, BattleFrontier_ExchangeServiceCorner_EventScript_HPUp + case 6, BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye + case MULTI_B_PRESSED, BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye + end + +BattleFrontier_ExchangeServiceCorner_EventScript_Protein:: @ 825F51E + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmProtein, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin + setvar VAR_0x8008, 1 + setvar VAR_0x8009, ITEM_PROTEIN + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_Calcium:: @ 825F541 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmCalcium, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin + setvar VAR_0x8008, 1 + setvar VAR_0x8009, ITEM_CALCIUM + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_Iron:: @ 825F564 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmIron, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin + setvar VAR_0x8008, 1 + setvar VAR_0x8009, ITEM_IRON + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_Zinc:: @ 825F587 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmZinc, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin + setvar VAR_0x8008, 1 + setvar VAR_0x8009, ITEM_ZINC + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_Carbos:: @ 825F5AA + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmCarbos, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin + setvar VAR_0x8008, 1 + setvar VAR_0x8009, ITEM_CARBOS + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_HPUp:: @ 825F5CD + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmHPUp, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin + setvar VAR_0x8008, 1 + setvar VAR_0x8009, ITEM_HP_UP + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_HoldItemClerk:: @ 825F5F0 + lock + faceplayer + setvar VAR_TEMP_2, EXCHANGE_CORNER_HOLD_ITEM_CLERK + call BattleFrontier_ExchangeServiceCorner_EventScript_ClerkWelcome + goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem + end + +BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem:: @ 825F602 + setvar VAR_0x8004, SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR + special ShowFrontierExchangeCornerItemIconWindow + special ShowScrollableMultichoice + waitstate + special CloseFrontierExchangeCornerItemIconWindow + switch VAR_RESULT + case 0, BattleFrontier_ExchangeServiceCorner_EventScript_Leftovers + case 1, BattleFrontier_ExchangeServiceCorner_EventScript_WhiteHerb + case 2, BattleFrontier_ExchangeServiceCorner_EventScript_QuickClaw + case 3, BattleFrontier_ExchangeServiceCorner_EventScript_MentalHerb + case 4, BattleFrontier_ExchangeServiceCorner_EventScript_Brightpowder + case 5, BattleFrontier_ExchangeServiceCorner_EventScript_ChoiceBand + case 6, BattleFrontier_ExchangeServiceCorner_EventScript_KingsRock + case 7, BattleFrontier_ExchangeServiceCorner_EventScript_FocusBand + case 8, BattleFrontier_ExchangeServiceCorner_EventScript_ScopeLens + case 9, BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye + case MULTI_B_PRESSED, BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye + end + +BattleFrontier_ExchangeServiceCorner_EventScript_Leftovers:: @ 825F690 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmLeftovers, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem + setvar VAR_0x8008, 48 + setvar VAR_0x8009, ITEM_LEFTOVERS + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_WhiteHerb:: @ 825F6B3 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmWhiteHerb, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem + setvar VAR_0x8008, 48 + setvar VAR_0x8009, ITEM_WHITE_HERB + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_QuickClaw:: @ 825F6D6 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmQuickClaw, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem + setvar VAR_0x8008, 48 + setvar VAR_0x8009, ITEM_QUICK_CLAW + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_MentalHerb:: @ 825F6F9 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmMentalHerb, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem + setvar VAR_0x8008, 48 + setvar VAR_0x8009, ITEM_MENTAL_HERB + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_Brightpowder:: @ 825F71C + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmBrightpowder, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem + setvar VAR_0x8008, 64 + setvar VAR_0x8009, ITEM_BRIGHT_POWDER + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_ChoiceBand:: @ 825F73F + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmChoiceBand, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem + setvar VAR_0x8008, 64 + setvar VAR_0x8009, ITEM_CHOICE_BAND + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_KingsRock:: @ 825F762 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmKingsRock, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem + setvar VAR_0x8008, 64 + setvar VAR_0x8009, ITEM_KINGS_ROCK + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_FocusBand:: @ 825F785 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmFocusBand, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem + setvar VAR_0x8008, 64 + setvar VAR_0x8009, ITEM_FOCUS_BAND + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_ScopeLens:: @ 825F7A8 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmScopeLens, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem + setvar VAR_0x8008, 64 + setvar VAR_0x8009, ITEM_SCOPE_LENS + goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize + end + +BattleFrontier_ExchangeServiceCorner_EventScript_Man:: @ 825F7CB + msgbox BattleFrontier_ExchangeServiceCorner_Text_GoGetYourOwnDoll, MSGBOX_NPC + end + +BattleFrontier_ExchangeServiceCorner_EventScript_Sailor:: @ 825F7D4 + msgbox BattleFrontier_ExchangeServiceCorner_Text_ItemsWillGetMonTougher, MSGBOX_NPC + end + +BattleFrontier_ExchangeServiceCorner_EventScript_PokefanF:: @ 825F7DD + lock + msgbox BattleFrontier_ExchangeServiceCorner_Text_GetYouAnythingYouWant, MSGBOX_DEFAULT + release + end + +BattleFrontier_ExchangeServiceCorner_EventScript_RichBoy:: @ 825F7E8 + msgbox BattleFrontier_ExchangeServiceCorner_Text_WishIHadAllDolls, MSGBOX_NPC + end + +BattleFrontier_ExchangeServiceCorner_EventScript_Girl:: @ 825F7F1 + msgbox BattleFrontier_ExchangeServiceCorner_Text_MoreBattlePointsForRecord, MSGBOX_NPC + end + +BattleFrontier_ExchangeServiceCorner_Text_WelcomePleaseChoosePrize: @ 825F7FA + .string "Hello, this is the EXCHANGE SERVICE\n" + .string "CORNER.\p" + .string "We exchange the Battle Points you\n" + .string "have collected for lovely prizes.\p" + .string "Please choose a prize from this list.$" + +@ Unused +BattleFrontier_ExchangeServiceCorner_Text_PleaseChoosePrize: @ 825F890 + .string "Please choose a prize from this list.$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmKissPoster: @ 825F8B6 + .string "You've chosen the KISS POSTER.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmKissCushion: @ 825F8E6 + .string "You've chosen the KISS CUSHION.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmSmoochumDoll: @ 825F917 + .string "You've chosen the SMOOCHUM DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmTogepiDoll: @ 825F949 + .string "You've chosen the TOGEPI DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmMeowthDoll: @ 825F979 + .string "You've chosen the MEOWTH DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmClefairyDoll: @ 825F9A9 + .string "You've chosen the CLEFAIRY DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmDittoDoll: @ 825F9DB + .string "You've chosen the DITTO DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmCyndaquilDoll: @ 825FA0A + .string "You've chosen the CYNDAQUIL DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmChikoritaDoll: @ 825FA3D + .string "You've chosen the CHIKORITA DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmTotodileDoll: @ 825FA70 + .string "You've chosen the TOTODILE DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmLaprasDoll: @ 825FAA2 + .string "You've chosen the LAPRAS DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmSnorlaxDoll: @ 825FAD2 + .string "You've chosen the SNORLAX DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmVenusaurDoll: @ 825FB03 + .string "You've chosen the VENUSAUR DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmCharizardDoll: @ 825FB35 + .string "You've chosen the CHARIZARD DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmBlastoiseDoll: @ 825FB68 + .string "You've chosen the BLASTOISE DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmProtein: @ 825FB9B + .string "You've chosen the PROTEIN.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmCalcium: @ 825FBC7 + .string "You've chosen the CALCIUM.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmIron: @ 825FBF3 + .string "You've chosen the IRON.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmZinc: @ 825FC1C + .string "You've chosen the ZINC.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmCarbos: @ 825FC45 + .string "You've chosen the CARBOS.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmHPUp: @ 825FC70 + .string "You've chosen the HP UP.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmBrightpowder: @ 825FC9A + .string "You've chosen the BRIGHTPOWDER.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmWhiteHerb: @ 825FCCB + .string "You've chosen the WHITE HERB.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmQuickClaw: @ 825FCFA + .string "You've chosen the QUICK CLAW.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmMentalHerb: @ 825FD29 + .string "You've chosen the MENTAL HERB.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmChoiceBand: @ 825FD59 + .string "You've chosen the CHOICE BAND.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmKingsRock: @ 825FD89 + .string "You've chosen the KING'S ROCK.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmFocusBand: @ 825FDB9 + .string "You've chosen the FOCUS BAND.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmScopeLens: @ 825FDE8 + .string "You've chosen the SCOPE LENS.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_ConfirmLeftovers: @ 825FE17 + .string "You've chosen the LEFTOVERS.\n" + .string "Is that correct?$" + +BattleFrontier_ExchangeServiceCorner_Text_WellSendItToPC: @ 825FE45 + .string "Thank you!\n" + .string "We'll send it to your PC at home.$" + +BattleFrontier_ExchangeServiceCorner_Text_HereIsYourPrize: @ 825FE72 + .string "Here is your prize!$" + +BattleFrontier_ExchangeServiceCorner_Text_DontHaveEnoughPoints: @ 825FE86 + .string "I'm so sorry…\n" + .string "You don't have enough Battle Points…$" + +BattleFrontier_ExchangeServiceCorner_Text_PCIsFull: @ 825FEB9 + .string "I'm so sorry…\n" + .string "Your PC appears to be full…$" + +BattleFrontier_ExchangeServiceCorner_Text_DontHaveSpaceToHoldIt: @ 825FEE3 + .string "I'm so sorry…\n" + .string "You don't have space to hold it…$" + +BattleFrontier_ExchangeServiceCorner_Text_ThankYouVisitWithPoints: @ 825FF12 + .string "Thank you very much.\p" + .string "Please visit us when you have\n" + .string "saved up Battle Points.$" + +BattleFrontier_ExchangeServiceCorner_Text_WishIHadAllDolls: @ 825FF5D + .string "Oh, they're so nice!\n" + .string "I wish I had them!\l" + .string "Cute cushions!\l" + .string "Big plush DOLLS!\l" + .string "Little plush DOLLS!\l" + .string "I wish I had them all!$" + +BattleFrontier_ExchangeServiceCorner_Text_GetYouAnythingYouWant: @ 825FFD0 + .string "Leave it to your mommy!\p" + .string "If it's anything you want, I'll go\n" + .string "through anything to get it, honey!$" + +BattleFrontier_ExchangeServiceCorner_Text_ItemsWillGetMonTougher: @ 826002E + .string "If I can get hold of the items here,\n" + .string "my POKéMON will get tougher.\p" + .string "You bet they will!\n" + .string "No question about it!$" + +BattleFrontier_ExchangeServiceCorner_Text_GoGetYourOwnDoll: @ 8260099 + .string "Hah?\n" + .string "What are you gawking at?\p" + .string "I don't like you staring at my plush\n" + .string "doll like that.\p" + .string "If you want it, go get one yourself!\n" + .string "Isn't that right, SMOOCHUM?$" + +BattleFrontier_ExchangeServiceCorner_Text_MoreBattlePointsForRecord: @ 826012D + .string "Did you know?\p" + .string "If you stretch your record at any of\n" + .string "the BATTLE facilities, they start\l" + .string "giving you more and more Battle Points.$" + +BattleFrontier_ExchangeServiceCorner_Text_KissPosterDesc:: @ 82601AA + .string "A large poster with a SMOOCHUM print.$" + +BattleFrontier_ExchangeServiceCorner_Text_KissCushionDesc:: @ 82601D0 + .string "A SMOOCHUM cushion.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_ExchangeServiceCorner_Text_SmoochumDollDesc:: @ 8260201 + .string "A SMOOCHUM DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_ExchangeServiceCorner_Text_TogepiDollDesc:: @ 826022F + .string "A TOGEPI DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_ExchangeServiceCorner_Text_MeowthDollDesc:: @ 826025B + .string "A MEOWTH DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_ExchangeServiceCorner_Text_ClefairyDollDesc:: @ 8260287 + .string "A CLEFAIRY DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_ExchangeServiceCorner_Text_DittoDollDesc:: @ 82602B5 + .string "A DITTO DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_ExchangeServiceCorner_Text_CyndaquilDollDesc:: @ 82602E0 + .string "A CYNDAQUIL DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_ExchangeServiceCorner_Text_ChikoritaDollDesc:: @ 826030F + .string "A CHIKORITA DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_ExchangeServiceCorner_Text_TotodileDollDesc:: @ 826033E + .string "A TOTODILE DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc:: @ 826036C + .string "A large DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_ExchangeServiceCorner_Text_ProteinDesc:: @ 8260397 + .string "Raises the stat ATTACK of one\n" + .string "POKéMON.$" + +BattleFrontier_ExchangeServiceCorner_Text_CalciumDesc:: @ 82603BE + .string "Raises the stat SP. ATK of one\n" + .string "POKéMON.$" + +BattleFrontier_ExchangeServiceCorner_Text_IronDesc:: @ 82603E6 + .string "Raises the stat DEFENSE of one\n" + .string "POKéMON.$" + +BattleFrontier_ExchangeServiceCorner_Text_ZincDesc:: @ 826040E + .string "Raises the stat SP. DEF of one\n" + .string "POKéMON.$" + +BattleFrontier_ExchangeServiceCorner_Text_CarbosDesc:: @ 8260436 + .string "Raises the stat SPEED of one\n" + .string "POKéMON.$" + +BattleFrontier_ExchangeServiceCorner_Text_HPUpDesc:: @ 826045C + .string "Raises the HP of one POKéMON.$" + +BattleFrontier_ExchangeServiceCorner_Text_LeftoversDesc:: @ 826047A + .string "A hold item that gradually restores\n" + .string "HP in battle.$" + +BattleFrontier_ExchangeServiceCorner_Text_WhiteHerbDesc:: @ 82604AC + .string "A hold item that restores any\n" + .string "lowered stat.$" + +BattleFrontier_ExchangeServiceCorner_Text_QuickClawDesc:: @ 82604D8 + .string "A hold item that occasionally allows\n" + .string "the first strike.$" + +BattleFrontier_ExchangeServiceCorner_Text_MentalHerbDesc:: @ 826050F + .string "A hold item that snaps POKéMON out\n" + .string "of infatuation.$" + +BattleFrontier_ExchangeServiceCorner_Text_BrightpowderDesc:: @ 8260542 + .string "A hold item that casts a glare to\n" + .string "reduce accuracy.$" + +BattleFrontier_ExchangeServiceCorner_Text_ChoiceBandDesc:: @ 8260575 + .string "Raises a move's power, but permits\n" + .string "only that move.$" + +BattleFrontier_ExchangeServiceCorner_Text_KingsRockDesc:: @ 82605A8 + .string "A hold item that may cause flinching\n" + .string "when the foe is hit.$" + +BattleFrontier_ExchangeServiceCorner_Text_FocusBandDesc:: @ 82605E2 + .string "A hold item that occasionally\n" + .string "prevents fainting.$" + +BattleFrontier_ExchangeServiceCorner_Text_ScopeLensDesc:: @ 8260613 + .string "A hold item that raises the\n" + .string "critical-hit rate.$" diff --git a/data/maps/BattleFrontier_Lounge1/map.json b/data/maps/BattleFrontier_Lounge1/map.json index 8d4870f4fe..d631907761 100644 --- a/data/maps/BattleFrontier_Lounge1/map.json +++ b/data/maps/BattleFrontier_Lounge1/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge1_EventScript_25E775", + "script": "BattleFrontier_Lounge1_EventScript_Breeder", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge1_EventScript_25E94D", + "script": "BattleFrontier_Lounge1_EventScript_Boy1", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge1_EventScript_25E956", + "script": "BattleFrontier_Lounge1_EventScript_Boy2", "flag": "0" } ], diff --git a/data/maps/BattleFrontier_Lounge1/scripts.inc b/data/maps/BattleFrontier_Lounge1/scripts.inc index 28aab432bc..0ded021b67 100644 --- a/data/maps/BattleFrontier_Lounge1/scripts.inc +++ b/data/maps/BattleFrontier_Lounge1/scripts.inc @@ -1,166 +1,173 @@ BattleFrontier_Lounge1_MapScripts:: @ 825E774 .byte 0 -BattleFrontier_Lounge1_EventScript_25E775:: @ 825E775 +@ NPC that rates pokemon based on their IVs +BattleFrontier_Lounge1_EventScript_Breeder:: @ 825E775 lock faceplayer - call_if_unset FLAG_MET_BATTLE_FRONTIER_BREEDER, BattleFrontier_Lounge1_EventScript_25E7AD - call_if_set FLAG_MET_BATTLE_FRONTIER_BREEDER, BattleFrontier_Lounge1_EventScript_25E7B6 + call_if_unset FLAG_MET_BATTLE_FRONTIER_BREEDER, BattleFrontier_Lounge1_EventScript_BreederIntro + call_if_set FLAG_MET_BATTLE_FRONTIER_BREEDER, BattleFrontier_Lounge1_EventScript_AlreadyMetBreeder setflag FLAG_MET_BATTLE_FRONTIER_BREEDER - goto BattleFrontier_Lounge1_EventScript_25E792 + goto BattleFrontier_Lounge1_EventScript_ChooseMonToShowBreeder end -BattleFrontier_Lounge1_EventScript_25E792:: @ 825E792 - special sub_81B94B0 +BattleFrontier_Lounge1_EventScript_ChooseMonToShowBreeder:: @ 825E792 + special ChoosePartyMon waitstate compare VAR_0x8004, 255 - goto_if_ne BattleFrontier_Lounge1_EventScript_25E7BF + goto_if_ne BattleFrontier_Lounge1_EventScript_ShowMonToBreeder compare VAR_0x8004, 255 - goto_if_eq BattleFrontier_Lounge1_EventScript_25E943 + goto_if_eq BattleFrontier_Lounge1_EventScript_CancelMonSelect end -BattleFrontier_Lounge1_EventScript_25E7AD:: @ 825E7AD - msgbox BattleFrontier_Lounge1_Text_25E95F, MSGBOX_DEFAULT +BattleFrontier_Lounge1_EventScript_BreederIntro:: @ 825E7AD + msgbox BattleFrontier_Lounge1_Text_PokemonBreederIntro, MSGBOX_DEFAULT return -BattleFrontier_Lounge1_EventScript_25E7B6:: @ 825E7B6 - msgbox BattleFrontier_Lounge1_Text_25EEF6, MSGBOX_DEFAULT +BattleFrontier_Lounge1_EventScript_AlreadyMetBreeder:: @ 825E7B6 + msgbox BattleFrontier_Lounge1_Text_LetsLookAtYourPokemon, MSGBOX_DEFAULT return -BattleFrontier_Lounge1_EventScript_25E7BF:: @ 825E7BF +@ BufferVarsForIVRater buffers the following values +@ VAR_0x8005: Sum of the mons IVs +@ VAR_0x8006: Stat id of highest IV stat +@ VAR_0x8007: IV of the highest IV stat +BattleFrontier_Lounge1_EventScript_ShowMonToBreeder:: @ 825E7BF specialvar VAR_RESULT, ScriptGetPartyMonSpecies - compare VAR_RESULT, 412 - goto_if_eq BattleFrontier_Lounge1_EventScript_25E7FF - special sub_8139D98 - compare VAR_0x8005, 90 - goto_if_le BattleFrontier_Lounge1_EventScript_25E87F - compare VAR_0x8005, 120 - goto_if_le BattleFrontier_Lounge1_EventScript_25E88D - compare VAR_0x8005, 150 - goto_if_le BattleFrontier_Lounge1_EventScript_25E89B - compare VAR_0x8005, 151 - goto_if_ge BattleFrontier_Lounge1_EventScript_25E8A9 + compare VAR_RESULT, SPECIES_EGG + goto_if_eq BattleFrontier_Lounge1_EventScript_ShowEggToBreeder + special BufferVarsForIVRater + compare VAR_0x8005, 90 @ Average of 15 + goto_if_le BattleFrontier_Lounge1_EventScript_AverageTotalIVs + compare VAR_0x8005, 120 @ Average of 20 + goto_if_le BattleFrontier_Lounge1_EventScript_AboveAverageTotalIVs + compare VAR_0x8005, 150 @ Average of 25 + goto_if_le BattleFrontier_Lounge1_EventScript_HighTotalIVs + compare VAR_0x8005, 151 @ Average of > 25 + goto_if_ge BattleFrontier_Lounge1_EventScript_VeryHighTotalIVs end -BattleFrontier_Lounge1_EventScript_25E7FF:: @ 825E7FF - msgbox BattleFrontier_Lounge1_Text_25EF5E, MSGBOX_DEFAULT - goto BattleFrontier_Lounge1_EventScript_25E792 +BattleFrontier_Lounge1_EventScript_ShowEggToBreeder:: @ 825E7FF + msgbox BattleFrontier_Lounge1_Text_EvenICantTell, MSGBOX_DEFAULT + goto BattleFrontier_Lounge1_EventScript_ChooseMonToShowBreeder end -BattleFrontier_Lounge1_EventScript_25E80D:: @ 825E80D - compare VAR_0x8006, 0 - goto_if_eq BattleFrontier_Lounge1_EventScript_25E8B7 - compare VAR_0x8006, 1 - goto_if_eq BattleFrontier_Lounge1_EventScript_25E8C5 - compare VAR_0x8006, 2 - goto_if_eq BattleFrontier_Lounge1_EventScript_25E8D3 - compare VAR_0x8006, 3 - goto_if_eq BattleFrontier_Lounge1_EventScript_25E8E1 - compare VAR_0x8006, 4 - goto_if_eq BattleFrontier_Lounge1_EventScript_25E8EF - compare VAR_0x8006, 5 - goto_if_eq BattleFrontier_Lounge1_EventScript_25E8FD +@ Comment on the highest IV stat +BattleFrontier_Lounge1_EventScript_HighestIVStat:: @ 825E80D + compare VAR_0x8006, STAT_HP + goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVHP + compare VAR_0x8006, STAT_ATK + goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVAtk + compare VAR_0x8006, STAT_DEF + goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVDef + compare VAR_0x8006, STAT_SPEED + goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVSpeed + compare VAR_0x8006, STAT_SPATK + goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVSpAtk + compare VAR_0x8006, STAT_SPDEF + goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVSpDef end -BattleFrontier_Lounge1_EventScript_25E850:: @ 825E850 +@ Comment on the highest IV value +BattleFrontier_Lounge1_EventScript_HighestIVValue:: @ 825E850 compare VAR_0x8007, 15 - goto_if_le BattleFrontier_Lounge1_EventScript_25E90B + goto_if_le BattleFrontier_Lounge1_EventScript_HighestIVLow compare VAR_0x8007, 25 - goto_if_le BattleFrontier_Lounge1_EventScript_25E919 + goto_if_le BattleFrontier_Lounge1_EventScript_HighestIVMid compare VAR_0x8007, 30 - goto_if_le BattleFrontier_Lounge1_EventScript_25E927 + goto_if_le BattleFrontier_Lounge1_EventScript_HighestIVHigh compare VAR_0x8007, 31 - goto_if_ge BattleFrontier_Lounge1_EventScript_25E935 + goto_if_ge BattleFrontier_Lounge1_EventScript_HighestIVMax end -BattleFrontier_Lounge1_EventScript_25E87D:: @ 825E87D +BattleFrontier_Lounge1_EventScript_EndBreederComments:: @ 825E87D release end -BattleFrontier_Lounge1_EventScript_25E87F:: @ 825E87F - msgbox BattleFrontier_Lounge1_Text_25EA92, MSGBOX_DEFAULT - goto BattleFrontier_Lounge1_EventScript_25E80D +BattleFrontier_Lounge1_EventScript_AverageTotalIVs:: @ 825E87F + msgbox BattleFrontier_Lounge1_Text_AverageAbility, MSGBOX_DEFAULT + goto BattleFrontier_Lounge1_EventScript_HighestIVStat end -BattleFrontier_Lounge1_EventScript_25E88D:: @ 825E88D - msgbox BattleFrontier_Lounge1_Text_25EAD9, MSGBOX_DEFAULT - goto BattleFrontier_Lounge1_EventScript_25E80D +BattleFrontier_Lounge1_EventScript_AboveAverageTotalIVs:: @ 825E88D + msgbox BattleFrontier_Lounge1_Text_BetterThanAverageAbility, MSGBOX_DEFAULT + goto BattleFrontier_Lounge1_EventScript_HighestIVStat end -BattleFrontier_Lounge1_EventScript_25E89B:: @ 825E89B - msgbox BattleFrontier_Lounge1_Text_25EB2A, MSGBOX_DEFAULT - goto BattleFrontier_Lounge1_EventScript_25E80D +BattleFrontier_Lounge1_EventScript_HighTotalIVs:: @ 825E89B + msgbox BattleFrontier_Lounge1_Text_ImpressiveAbility, MSGBOX_DEFAULT + goto BattleFrontier_Lounge1_EventScript_HighestIVStat end -BattleFrontier_Lounge1_EventScript_25E8A9:: @ 825E8A9 - msgbox BattleFrontier_Lounge1_Text_25EB6F, MSGBOX_DEFAULT - goto BattleFrontier_Lounge1_EventScript_25E80D +BattleFrontier_Lounge1_EventScript_VeryHighTotalIVs:: @ 825E8A9 + msgbox BattleFrontier_Lounge1_Text_OutstandingAbility, MSGBOX_DEFAULT + goto BattleFrontier_Lounge1_EventScript_HighestIVStat end -BattleFrontier_Lounge1_EventScript_25E8B7:: @ 825E8B7 - msgbox BattleFrontier_Lounge1_Text_25EBBB, MSGBOX_DEFAULT - goto BattleFrontier_Lounge1_EventScript_25E850 +BattleFrontier_Lounge1_EventScript_HighestIVHP:: @ 825E8B7 + msgbox BattleFrontier_Lounge1_Text_BestAspectHP, MSGBOX_DEFAULT + goto BattleFrontier_Lounge1_EventScript_HighestIVValue end -BattleFrontier_Lounge1_EventScript_25E8C5:: @ 825E8C5 - msgbox BattleFrontier_Lounge1_Text_25EBF8, MSGBOX_DEFAULT - goto BattleFrontier_Lounge1_EventScript_25E850 +BattleFrontier_Lounge1_EventScript_HighestIVAtk:: @ 825E8C5 + msgbox BattleFrontier_Lounge1_Text_BestAspectAtk, MSGBOX_DEFAULT + goto BattleFrontier_Lounge1_EventScript_HighestIVValue end -BattleFrontier_Lounge1_EventScript_25E8D3:: @ 825E8D3 - msgbox BattleFrontier_Lounge1_Text_25EC39, MSGBOX_DEFAULT - goto BattleFrontier_Lounge1_EventScript_25E850 +BattleFrontier_Lounge1_EventScript_HighestIVDef:: @ 825E8D3 + msgbox BattleFrontier_Lounge1_Text_BestAspectDef, MSGBOX_DEFAULT + goto BattleFrontier_Lounge1_EventScript_HighestIVValue end -BattleFrontier_Lounge1_EventScript_25E8E1:: @ 825E8E1 - msgbox BattleFrontier_Lounge1_Text_25ED0E, MSGBOX_DEFAULT - goto BattleFrontier_Lounge1_EventScript_25E850 +BattleFrontier_Lounge1_EventScript_HighestIVSpeed:: @ 825E8E1 + msgbox BattleFrontier_Lounge1_Text_BestAspectSpeed, MSGBOX_DEFAULT + goto BattleFrontier_Lounge1_EventScript_HighestIVValue end -BattleFrontier_Lounge1_EventScript_25E8EF:: @ 825E8EF - msgbox BattleFrontier_Lounge1_Text_25EC7B, MSGBOX_DEFAULT - goto BattleFrontier_Lounge1_EventScript_25E850 +BattleFrontier_Lounge1_EventScript_HighestIVSpAtk:: @ 825E8EF + msgbox BattleFrontier_Lounge1_Text_BestAspectSpAtk, MSGBOX_DEFAULT + goto BattleFrontier_Lounge1_EventScript_HighestIVValue end -BattleFrontier_Lounge1_EventScript_25E8FD:: @ 825E8FD - msgbox BattleFrontier_Lounge1_Text_25ECC4, MSGBOX_DEFAULT - goto BattleFrontier_Lounge1_EventScript_25E850 +BattleFrontier_Lounge1_EventScript_HighestIVSpDef:: @ 825E8FD + msgbox BattleFrontier_Lounge1_Text_BestAspectSpDef, MSGBOX_DEFAULT + goto BattleFrontier_Lounge1_EventScript_HighestIVValue end -BattleFrontier_Lounge1_EventScript_25E90B:: @ 825E90B - msgbox BattleFrontier_Lounge1_Text_25ED4E, MSGBOX_DEFAULT - goto BattleFrontier_Lounge1_EventScript_25E87D +BattleFrontier_Lounge1_EventScript_HighestIVLow:: @ 825E90B + msgbox BattleFrontier_Lounge1_Text_StatRelativelyGood, MSGBOX_DEFAULT + goto BattleFrontier_Lounge1_EventScript_EndBreederComments end -BattleFrontier_Lounge1_EventScript_25E919:: @ 825E919 - msgbox BattleFrontier_Lounge1_Text_25ED87, MSGBOX_DEFAULT - goto BattleFrontier_Lounge1_EventScript_25E87D +BattleFrontier_Lounge1_EventScript_HighestIVMid:: @ 825E919 + msgbox BattleFrontier_Lounge1_Text_StatImpressive, MSGBOX_DEFAULT + goto BattleFrontier_Lounge1_EventScript_EndBreederComments end -BattleFrontier_Lounge1_EventScript_25E927:: @ 825E927 - msgbox BattleFrontier_Lounge1_Text_25EDC1, MSGBOX_DEFAULT - goto BattleFrontier_Lounge1_EventScript_25E87D +BattleFrontier_Lounge1_EventScript_HighestIVHigh:: @ 825E927 + msgbox BattleFrontier_Lounge1_Text_StatOutstanding, MSGBOX_DEFAULT + goto BattleFrontier_Lounge1_EventScript_EndBreederComments end -BattleFrontier_Lounge1_EventScript_25E935:: @ 825E935 - msgbox BattleFrontier_Lounge1_Text_25EDF6, MSGBOX_DEFAULT - goto BattleFrontier_Lounge1_EventScript_25E87D +BattleFrontier_Lounge1_EventScript_HighestIVMax:: @ 825E935 + msgbox BattleFrontier_Lounge1_Text_StatFlawless, MSGBOX_DEFAULT + goto BattleFrontier_Lounge1_EventScript_EndBreederComments end -BattleFrontier_Lounge1_EventScript_25E943:: @ 825E943 - msgbox BattleFrontier_Lounge1_Text_25EE37, MSGBOX_DEFAULT +BattleFrontier_Lounge1_EventScript_CancelMonSelect:: @ 825E943 + msgbox BattleFrontier_Lounge1_Text_NoTimeForMyAdvice, MSGBOX_DEFAULT release end -BattleFrontier_Lounge1_EventScript_25E94D:: @ 825E94D - msgbox BattleFrontier_Lounge1_Text_25EFDD, MSGBOX_NPC +BattleFrontier_Lounge1_EventScript_Boy1:: @ 825E94D + msgbox BattleFrontier_Lounge1_Text_SaidMyMonIsOutstanding, MSGBOX_NPC end -BattleFrontier_Lounge1_EventScript_25E956:: @ 825E956 - msgbox BattleFrontier_Lounge1_Text_25F020, MSGBOX_NPC +BattleFrontier_Lounge1_EventScript_Boy2:: @ 825E956 + msgbox BattleFrontier_Lounge1_Text_DidntDoAnythingSpecialRaisingIt, MSGBOX_NPC end -BattleFrontier_Lounge1_Text_25E95F: @ 825E95F +BattleFrontier_Lounge1_Text_PokemonBreederIntro: @ 825E95F .string "For 70 years I have raised POKéMON!\n" .string "I am the man they revere as\l" .string "the legendary top POKéMON BREEDER!\p" @@ -173,94 +180,95 @@ BattleFrontier_Lounge1_Text_25E95F: @ 825E95F .string "Here!\n" .string "Let's have a look at your POKéMON!$" -BattleFrontier_Lounge1_Text_25EA92: @ 825EA92 +BattleFrontier_Lounge1_Text_AverageAbility: @ 825EA92 .string "…Hmm…\p" .string "This one, overall, I would describe\n" .string "as being of average ability.$" -BattleFrontier_Lounge1_Text_25EAD9: @ 825EAD9 +BattleFrontier_Lounge1_Text_BetterThanAverageAbility: @ 825EAD9 .string "…Hmm…\p" .string "This one, overall, I would describe as\n" .string "having better-than-average ability.$" -BattleFrontier_Lounge1_Text_25EB2A: @ 825EB2A +BattleFrontier_Lounge1_Text_ImpressiveAbility: @ 825EB2A .string "…Hmm…\p" .string "This one, overall, I would say is\n" .string "quite impressive in ability!$" -BattleFrontier_Lounge1_Text_25EB6F: @ 825EB6F +BattleFrontier_Lounge1_Text_OutstandingAbility: @ 825EB6F .string "…Hmm…\p" .string "This one, overall, I would say is\n" .string "wonderfully outstanding in ability!$" -BattleFrontier_Lounge1_Text_25EBBB: @ 825EBBB +BattleFrontier_Lounge1_Text_BestAspectHP: @ 825EBBB .string "Incidentally, the best aspect of it,\n" .string "I would say, is its HP…$" -BattleFrontier_Lounge1_Text_25EBF8: @ 825EBF8 +BattleFrontier_Lounge1_Text_BestAspectAtk: @ 825EBF8 .string "Incidentally, the best aspect of it,\n" .string "I would say, is its ATTACK…$" -BattleFrontier_Lounge1_Text_25EC39: @ 825EC39 +BattleFrontier_Lounge1_Text_BestAspectDef: @ 825EC39 .string "Incidentally, the best aspect of it,\n" .string "I would say, is its DEFENSE…$" -BattleFrontier_Lounge1_Text_25EC7B: @ 825EC7B +BattleFrontier_Lounge1_Text_BestAspectSpAtk: @ 825EC7B .string "Incidentally, the best aspect of it,\n" .string "I would say, is its SPECIAL ATTACK…$" -BattleFrontier_Lounge1_Text_25ECC4: @ 825ECC4 +BattleFrontier_Lounge1_Text_BestAspectSpDef: @ 825ECC4 .string "Incidentally, the best aspect of it,\n" .string "I would say, is its SPECIAL DEFENSE…$" -BattleFrontier_Lounge1_Text_25ED0E: @ 825ED0E +BattleFrontier_Lounge1_Text_BestAspectSpeed: @ 825ED0E .string "Incidentally, the best aspect of it,\n" .string "I would say, is its SPEED…$" -BattleFrontier_Lounge1_Text_25ED4E: @ 825ED4E +BattleFrontier_Lounge1_Text_StatRelativelyGood: @ 825ED4E .string "That stat is relatively good.\n" .string "…Hm… That's how I call it.$" -BattleFrontier_Lounge1_Text_25ED87: @ 825ED87 +BattleFrontier_Lounge1_Text_StatImpressive: @ 825ED87 .string "That stat is quite impressive.\n" .string "…Hm… That's how I call it.$" -BattleFrontier_Lounge1_Text_25EDC1: @ 825EDC1 +BattleFrontier_Lounge1_Text_StatOutstanding: @ 825EDC1 .string "That stat is outstanding!\n" .string "…Hm… That's how I call it.$" -BattleFrontier_Lounge1_Text_25EDF6: @ 825EDF6 +BattleFrontier_Lounge1_Text_StatFlawless: @ 825EDF6 .string "It's flawless! A thing of perfection!\n" .string "…Hm… That's how I call it.$" -BattleFrontier_Lounge1_Text_25EE37: @ 825EE37 +BattleFrontier_Lounge1_Text_NoTimeForMyAdvice: @ 825EE37 .string "What?\n" .string "You have no time for my advice?\p" .string "You should always be eager to learn\n" .string "from the experiences of your elders!$" -BattleFrontier_Lounge1_Text_25EEA6: @ 825EEA6 +@ Unused +BattleFrontier_Lounge1_Text_HaveBusinessNeedsTending: @ 825EEA6 .string "Yes, what is it now?\p" .string "I have business that needs tending!\n" .string "Save it for next time!$" -BattleFrontier_Lounge1_Text_25EEF6: @ 825EEF6 +BattleFrontier_Lounge1_Text_LetsLookAtYourPokemon: @ 825EEF6 .string "Ah, youngster! Do your POKéMON's\n" .string "abilities intrigue you?\p" .string "Here, here!\n" .string "Let's have a look at your POKéMON!$" -BattleFrontier_Lounge1_Text_25EF5E: @ 825EF5E +BattleFrontier_Lounge1_Text_EvenICantTell: @ 825EF5E .string "An expert I am, but even I can't tell\n" .string "anything about an unhatched POKéMON!\p" .string "Show me a POKéMON!\n" .string "A POKéMON is what I need to see!$" -BattleFrontier_Lounge1_Text_25EFDD: @ 825EFDD +BattleFrontier_Lounge1_Text_SaidMyMonIsOutstanding: @ 825EFDD .string "He said my POKéMON is outstanding!\n" .string "I'm glad I raised it carefully!$" -BattleFrontier_Lounge1_Text_25F020: @ 825F020 +BattleFrontier_Lounge1_Text_DidntDoAnythingSpecialRaisingIt: @ 825F020 .string "He said my POKéMON is outstanding!\n" .string "But I didn't do anything special\l" .string "raising it…$" diff --git a/data/maps/BattleFrontier_Lounge2/map.json b/data/maps/BattleFrontier_Lounge2/map.json index e2ace0b93c..575f2898ee 100644 --- a/data/maps/BattleFrontier_Lounge2/map.json +++ b/data/maps/BattleFrontier_Lounge2/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge2_EventScript_260643", + "script": "BattleFrontier_Lounge2_EventScript_FrontierManiac", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge2_EventScript_26073C", + "script": "BattleFrontier_Lounge2_EventScript_Maniac1", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge2_EventScript_260747", + "script": "BattleFrontier_Lounge2_EventScript_Maniac2", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge2_EventScript_26075D", + "script": "BattleFrontier_Lounge2_EventScript_TriathleteF", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge2_EventScript_260752", + "script": "BattleFrontier_Lounge2_EventScript_Maniac3", "flag": "0" } ], diff --git a/data/maps/BattleFrontier_Lounge2/scripts.inc b/data/maps/BattleFrontier_Lounge2/scripts.inc index 435eb41278..610a744b4a 100644 --- a/data/maps/BattleFrontier_Lounge2/scripts.inc +++ b/data/maps/BattleFrontier_Lounge2/scripts.inc @@ -1,122 +1,128 @@ BattleFrontier_Lounge2_MapScripts:: @ 8260642 .byte 0 -BattleFrontier_Lounge2_EventScript_260643:: @ 8260643 +@ This NPC gives hints about a random facility or battle mode. +@ For battle modes he gives generic advice +@ For facilities, depending on how far the player has progressed he will say either +@ The name of the Frontier Brain there +@ The type and description of the 3 pokemon they use in their silver battle +@ The type and description of the 3 pokemon they use in their gold battle +BattleFrontier_Lounge2_EventScript_FrontierManiac:: @ 8260643 lock faceplayer - goto_if_set FLAG_MET_BATTLE_FRONTIER_MANIAC, BattleFrontier_Lounge2_EventScript_26065F + goto_if_set FLAG_MET_BATTLE_FRONTIER_MANIAC, BattleFrontier_Lounge2_EventScript_AlreadyMetManiac setflag FLAG_MET_BATTLE_FRONTIER_MANIAC - msgbox BattleFrontier_Lounge2_Text_260766, MSGBOX_DEFAULT - goto BattleFrontier_Lounge2_EventScript_26066D + msgbox BattleFrontier_Lounge2_Text_FrontierManiacIntro, MSGBOX_DEFAULT + goto BattleFrontier_Lounge2_EventScript_GiveAdvice end -BattleFrontier_Lounge2_EventScript_26065F:: @ 826065F - msgbox BattleFrontier_Lounge2_Text_260857, MSGBOX_DEFAULT - goto BattleFrontier_Lounge2_EventScript_26066D +BattleFrontier_Lounge2_EventScript_AlreadyMetManiac:: @ 826065F + msgbox BattleFrontier_Lounge2_Text_SwingByForTheLatestWord, MSGBOX_DEFAULT + goto BattleFrontier_Lounge2_EventScript_GiveAdvice end -BattleFrontier_Lounge2_EventScript_26066D:: @ 826066D +BattleFrontier_Lounge2_EventScript_GiveAdvice:: @ 826066D compare VAR_FRONTIER_MANIAC_FACILITY, 0 - call_if_eq BattleFrontier_Lounge2_EventScript_26070A + call_if_eq BattleFrontier_Lounge2_EventScript_BufferSingle compare VAR_FRONTIER_MANIAC_FACILITY, 1 - call_if_eq BattleFrontier_Lounge2_EventScript_26070F + call_if_eq BattleFrontier_Lounge2_EventScript_BufferDouble compare VAR_FRONTIER_MANIAC_FACILITY, 2 - call_if_eq BattleFrontier_Lounge2_EventScript_260714 + call_if_eq BattleFrontier_Lounge2_EventScript_BufferMulti compare VAR_FRONTIER_MANIAC_FACILITY, 3 - call_if_eq BattleFrontier_Lounge2_EventScript_260719 + call_if_eq BattleFrontier_Lounge2_EventScript_BufferMultiLink compare VAR_FRONTIER_MANIAC_FACILITY, 4 - call_if_eq BattleFrontier_Lounge2_EventScript_26071E + call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattleDome compare VAR_FRONTIER_MANIAC_FACILITY, 5 - call_if_eq BattleFrontier_Lounge2_EventScript_260723 + call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattleFactory compare VAR_FRONTIER_MANIAC_FACILITY, 6 - call_if_eq BattleFrontier_Lounge2_EventScript_260728 + call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattlePalace compare VAR_FRONTIER_MANIAC_FACILITY, 7 - call_if_eq BattleFrontier_Lounge2_EventScript_26072D + call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattleArena compare VAR_FRONTIER_MANIAC_FACILITY, 8 - call_if_eq BattleFrontier_Lounge2_EventScript_260732 + call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattlePike compare VAR_FRONTIER_MANIAC_FACILITY, 9 - call_if_eq BattleFrontier_Lounge2_EventScript_260737 + call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattlePyramid compare VAR_FRONTIER_MANIAC_FACILITY, 3 - call_if_le BattleFrontier_Lounge2_EventScript_2606F8 + call_if_le BattleFrontier_Lounge2_EventScript_BattleTowerNews compare VAR_FRONTIER_MANIAC_FACILITY, 4 - call_if_ge BattleFrontier_Lounge2_EventScript_260701 - special sub_8139F20 + call_if_ge BattleFrontier_Lounge2_EventScript_FacilityNews + special ShowFrontierManiacMessage waitmessage waitbuttonpress release end -BattleFrontier_Lounge2_EventScript_2606F8:: @ 82606F8 - msgbox BattleFrontier_Lounge2_Text_260933, MSGBOX_DEFAULT +BattleFrontier_Lounge2_EventScript_BattleTowerNews:: @ 82606F8 + msgbox BattleFrontier_Lounge2_Text_BattleTowerIsHottest, MSGBOX_DEFAULT return -BattleFrontier_Lounge2_EventScript_260701:: @ 8260701 - msgbox BattleFrontier_Lounge2_Text_2608F2, MSGBOX_DEFAULT +BattleFrontier_Lounge2_EventScript_FacilityNews:: @ 8260701 + msgbox BattleFrontier_Lounge2_Text_FacilityIsHottest, MSGBOX_DEFAULT return -BattleFrontier_Lounge2_EventScript_26070A:: @ 826070A - bufferstdstring 0, 19 +BattleFrontier_Lounge2_EventScript_BufferSingle:: @ 826070A + bufferstdstring 0, STDSTRING_SINGLE return -BattleFrontier_Lounge2_EventScript_26070F:: @ 826070F - bufferstdstring 0, 20 +BattleFrontier_Lounge2_EventScript_BufferDouble:: @ 826070F + bufferstdstring 0, STDSTRING_DOUBLE return -BattleFrontier_Lounge2_EventScript_260714:: @ 8260714 - bufferstdstring 0, 21 +BattleFrontier_Lounge2_EventScript_BufferMulti:: @ 8260714 + bufferstdstring 0, STDSTRING_MULTI return -BattleFrontier_Lounge2_EventScript_260719:: @ 8260719 - bufferstdstring 0, 22 +BattleFrontier_Lounge2_EventScript_BufferMultiLink:: @ 8260719 + bufferstdstring 0, STDSTRING_MULTI_LINK return -BattleFrontier_Lounge2_EventScript_26071E:: @ 826071E - bufferstdstring 0, 24 +BattleFrontier_Lounge2_EventScript_BufferBattleDome:: @ 826071E + bufferstdstring 0, STDSTRING_BATTLE_DOME return -BattleFrontier_Lounge2_EventScript_260723:: @ 8260723 - bufferstdstring 0, 25 +BattleFrontier_Lounge2_EventScript_BufferBattleFactory:: @ 8260723 + bufferstdstring 0, STDSTRING_BATTLE_FACTORY return -BattleFrontier_Lounge2_EventScript_260728:: @ 8260728 - bufferstdstring 0, 26 +BattleFrontier_Lounge2_EventScript_BufferBattlePalace:: @ 8260728 + bufferstdstring 0, STDSTRING_BATTLE_PALACE return -BattleFrontier_Lounge2_EventScript_26072D:: @ 826072D - bufferstdstring 0, 27 +BattleFrontier_Lounge2_EventScript_BufferBattleArena:: @ 826072D + bufferstdstring 0, STDSTRING_BATTLE_ARENA return -BattleFrontier_Lounge2_EventScript_260732:: @ 8260732 - bufferstdstring 0, 28 +BattleFrontier_Lounge2_EventScript_BufferBattlePike:: @ 8260732 + bufferstdstring 0, STDSTRING_BATTLE_PIKE return -BattleFrontier_Lounge2_EventScript_260737:: @ 8260737 - bufferstdstring 0, 29 +BattleFrontier_Lounge2_EventScript_BufferBattlePyramid:: @ 8260737 + bufferstdstring 0, STDSTRING_BATTLE_PYRAMID return -BattleFrontier_Lounge2_EventScript_26073C:: @ 826073C +BattleFrontier_Lounge2_EventScript_Maniac1:: @ 826073C lock - msgbox BattleFrontier_Lounge2_Text_261C9C, MSGBOX_DEFAULT + msgbox BattleFrontier_Lounge2_Text_NewsGatheringPower, MSGBOX_DEFAULT release end -BattleFrontier_Lounge2_EventScript_260747:: @ 8260747 +BattleFrontier_Lounge2_EventScript_Maniac2:: @ 8260747 lock - msgbox BattleFrontier_Lounge2_Text_261CDC, MSGBOX_DEFAULT + msgbox BattleFrontier_Lounge2_Text_AmazingPowersOfObservation, MSGBOX_DEFAULT release end -BattleFrontier_Lounge2_EventScript_260752:: @ 8260752 +BattleFrontier_Lounge2_EventScript_Maniac3:: @ 8260752 lock - msgbox BattleFrontier_Lounge2_Text_261D1D, MSGBOX_DEFAULT + msgbox BattleFrontier_Lounge2_Text_AmazingPowerOfPersuasion, MSGBOX_DEFAULT release end -BattleFrontier_Lounge2_EventScript_26075D:: @ 826075D - msgbox BattleFrontier_Lounge2_Text_261D5C, MSGBOX_NPC +BattleFrontier_Lounge2_EventScript_TriathleteF:: @ 826075D + msgbox BattleFrontier_Lounge2_Text_ThisPlaceIsScaringMe, MSGBOX_NPC end -BattleFrontier_Lounge2_Text_260766:: @ 8260766 +BattleFrontier_Lounge2_Text_FrontierManiacIntro:: @ 8260766 .string "Howdy! When it comes to news about\n" .string "the BATTLE FRONTIER, I'm no. 1.\p" .string "You can think of me as\n" @@ -126,33 +132,34 @@ BattleFrontier_Lounge2_Text_260766:: @ 8260766 .string "I'll happily share the hottest news\n" .string "I gathered about the BATTLE FRONTIER.$" -BattleFrontier_Lounge2_Text_260857:: @ 8260857 +BattleFrontier_Lounge2_Text_SwingByForTheLatestWord:: @ 8260857 .string "Howdy! Did you swing by to grill me\n" .string "about the latest word? Oh, all right!$" -BattleFrontier_Lounge2_Text_2608A1:: @ 82608A1 +@ Unused +BattleFrontier_Lounge2_Text_MyInformationsBeenUsefulRight:: @ 82608A1 .string "Well? Well? Well?\p" .string "I'm sure my information's been\n" .string "seriously useful to you, right?$" -BattleFrontier_Lounge2_Text_2608F2:: @ 82608F2 +BattleFrontier_Lounge2_Text_FacilityIsHottest:: @ 82608F2 .string "Let's see now…\p" .string "It sounds like the {STR_VAR_1}\n" .string "is the hottest place going.$" -BattleFrontier_Lounge2_Text_260933:: @ 8260933 +BattleFrontier_Lounge2_Text_BattleTowerIsHottest:: @ 8260933 .string "Let's see now…\p" .string "It sounds like BATTLE TOWER\n" .string "{STR_VAR_1} is the hottest.$" -BattleFrontier_Lounge2_Text_260971:: @ 8260971 +BattleFrontier_Lounge2_Text_SalonMaidenIsThere:: @ 8260971 .string "Bet you didn't know this!\p" .string "One of those top TRAINERS that SCOTT\n" .string "calls the FRONTIER BRAINS is there.\p" .string "It's this mysterious TRAINER called\n" .string "the SALON MAIDEN that runs the place.$" -BattleFrontier_Lounge2_Text_260A1E:: @ 8260A1E +BattleFrontier_Lounge2_Text_SalonMaidenSilverMons:: @ 8260A1E .string "Have you battled the SALON MAIDEN?\p" .string "When she's measuring up her opponent,\n" .string "she apparently uses these POKéMON:\p" @@ -160,7 +167,7 @@ BattleFrontier_Lounge2_Text_260A1E:: @ 8260A1E .string "a FIRE-type VOLCANO POKéMON,\l" .string "and a NORMAL-type SLEEPING POKéMON.$" -BattleFrontier_Lounge2_Text_260AE7:: @ 8260AE7 +BattleFrontier_Lounge2_Text_SalonMaidenGoldMons:: @ 8260AE7 .string "Have you battled the SALON MAIDEN\n" .string "when she's serious?\p" .string "When she's battling flat out,\n" @@ -169,14 +176,14 @@ BattleFrontier_Lounge2_Text_260AE7:: @ 8260AE7 .string "an ELECTRIC-type THUNDER POKéMON,\l" .string "and a NORMAL-type SLEEPING POKéMON.$" -BattleFrontier_Lounge2_Text_260BC4:: @ 8260BC4 +BattleFrontier_Lounge2_Text_DomeAceIsThere:: @ 8260BC4 .string "Bet you didn't know this!\p" .string "One of those top TRAINERS that SCOTT\n" .string "calls the FRONTIER BRAINS is there.\p" .string "It's this flamboyant TRAINER called\n" .string "the DOME ACE that runs the place.$" -BattleFrontier_Lounge2_Text_260C6D:: @ 8260C6D +BattleFrontier_Lounge2_Text_DomeAceSilverMons:: @ 8260C6D .string "Have you battled the DOME ACE?\p" .string "When he's treating the opponent\n" .string "lightly, he uses these three POKéMON:\p" @@ -184,7 +191,7 @@ BattleFrontier_Lounge2_Text_260C6D:: @ 8260C6D .string "a WATER & GROUND MUD FISH POKéMON,\l" .string "and a FIRE & FLYING FLAME POKéMON.$" -BattleFrontier_Lounge2_Text_260D3A:: @ 8260D3A +BattleFrontier_Lounge2_Text_DomeAceGoldMons:: @ 8260D3A .string "Have you battled the DOME ACE\n" .string "when he's serious?\p" .string "When he's demonstrating his strategy,\n" @@ -194,14 +201,14 @@ BattleFrontier_Lounge2_Text_260D3A:: @ 8260D3A .string "and a STEEL- & PSYCHIC-type IRON LEG\l" .string "POKéMON.$" -BattleFrontier_Lounge2_Text_260E1E:: @ 8260E1E +BattleFrontier_Lounge2_Text_FactoryHeadIsThere:: @ 8260E1E .string "Bet you didn't know this!\p" .string "One of those top TRAINERS that SCOTT\n" .string "calls the FRONTIER BRAINS is there.\p" .string "It's this freaky TRAINER called\n" .string "the FACTORY HEAD that runs the place.$" -BattleFrontier_Lounge2_Text_260EC7:: @ 8260EC7 +BattleFrontier_Lounge2_Text_FactoryHeadSilverMons:: @ 8260EC7 .string "Have you battled the FACTORY HEAD\n" .string "already?\p" .string "Let me think… When he goes to battle,\n" @@ -209,7 +216,7 @@ BattleFrontier_Lounge2_Text_260EC7:: @ 8260EC7 .string "He battles under pretty much the same\n" .string "conditions as you.$" -BattleFrontier_Lounge2_Text_260F74:: @ 8260F74 +BattleFrontier_Lounge2_Text_FactoryHeadGoldMons:: @ 8260F74 .string "Have you battled the FACTORY HEAD\n" .string "when he's serious?\p" .string "When he goes seriously to battle,\n" @@ -217,14 +224,14 @@ BattleFrontier_Lounge2_Text_260F74:: @ 8260F74 .string "He battles under virtually the same\n" .string "conditions as you.$" -BattleFrontier_Lounge2_Text_261026:: @ 8261026 +BattleFrontier_Lounge2_Text_PikeQueenIsThere:: @ 8261026 .string "Bet you didn't know this!\p" .string "One of those top TRAINERS that SCOTT\n" .string "calls the FRONTIER BRAINS is there.\p" .string "It's this scary TRAINER called\n" .string "the PIKE QUEEN that runs the place.$" -BattleFrontier_Lounge2_Text_2610CC:: @ 82610CC +BattleFrontier_Lounge2_Text_PikeQueenSilverMons:: @ 82610CC .string "Have you battled the PIKE QUEEN\n" .string "before?\p" .string "When she's in a good mood, they say\n" @@ -233,7 +240,7 @@ BattleFrontier_Lounge2_Text_2610CC:: @ 82610CC .string "a BUG & ROCK MOLD POKéMON,\l" .string "and a WATER-type TENDER POKéMON.$" -BattleFrontier_Lounge2_Text_261194:: @ 8261194 +BattleFrontier_Lounge2_Text_PikeQueenGoldMons:: @ 8261194 .string "Have you battled the PIKE QUEEN\n" .string "when she's serious?\p" .string "When she's seriously annoyed, they say\n" @@ -243,14 +250,14 @@ BattleFrontier_Lounge2_Text_261194:: @ 8261194 .string "and a WATER- & FLYING-type ATROCIOUS\l" .string "POKéMON.$" -BattleFrontier_Lounge2_Text_261282:: @ 8261282 +BattleFrontier_Lounge2_Text_ArenaTycoonIsThere:: @ 8261282 .string "Bet you didn't know this!\p" .string "One of those top TRAINERS that SCOTT\n" .string "calls the FRONTIER BRAINS is there.\p" .string "It's this cute TRAINER called\n" .string "the ARENA TYCOON that runs the place.$" -BattleFrontier_Lounge2_Text_261329:: @ 8261329 +BattleFrontier_Lounge2_Text_ArenaTycoonSilverMons:: @ 8261329 .string "Have you battled the ARENA TYCOON\n" .string "before?\p" .string "When she's assessing the foe's ability,\n" @@ -259,7 +266,7 @@ BattleFrontier_Lounge2_Text_261329:: @ 8261329 .string "a DARK-type MOONLIGHT POKéMON,\l" .string "and a BUG & GHOST SHED POKéMON.$" -BattleFrontier_Lounge2_Text_261403:: @ 8261403 +BattleFrontier_Lounge2_Text_ArenaTycoonGoldMons:: @ 8261403 .string "Have you battled the ARENA TYCOON\n" .string "when she's serious?\p" .string "When she battles for keeps,\n" @@ -269,14 +276,14 @@ BattleFrontier_Lounge2_Text_261403:: @ 8261403 .string "and a GRASS- & FIGHTING-type\l" .string "MUSHROOM POKéMON.$" -BattleFrontier_Lounge2_Text_2614E6:: @ 82614E6 +BattleFrontier_Lounge2_Text_PalaceMavenIsThere:: @ 82614E6 .string "Bet you didn't know this!\p" .string "One of those top TRAINERS that SCOTT\n" .string "calls the FRONTIER BRAINS is there.\p" .string "It's this sinister TRAINER called\n" .string "the PALACE MAVEN that runs the place.$" -BattleFrontier_Lounge2_Text_261591:: @ 8261591 +BattleFrontier_Lounge2_Text_PalaceMavenSilverMons:: @ 8261591 .string "Have you battled the PALACE MAVEN\n" .string "before?\p" .string "When he's testing the opponent's\n" @@ -285,7 +292,7 @@ BattleFrontier_Lounge2_Text_261591:: @ 8261591 .string "a NORMAL-type LAZY POKéMON, and a\l" .string "WATER- & ICE-type TRANSPORT POKéMON.$" -BattleFrontier_Lounge2_Text_26166F:: @ 826166F +BattleFrontier_Lounge2_Text_PalaceMavenGoldMons:: @ 826166F .string "Have you battled the PALACE MAVEN\n" .string "when he's serious?\p" .string "When he throws his entire might into\n" @@ -294,14 +301,14 @@ BattleFrontier_Lounge2_Text_26166F:: @ 826166F .string "a NORMAL-type LAZY POKéMON,\l" .string "and a WATER-type AURORA POKéMON.$" -BattleFrontier_Lounge2_Text_26174D:: @ 826174D +BattleFrontier_Lounge2_Text_PyramidKingIsThere:: @ 826174D .string "Bet you didn't know this!\p" .string "One of those top TRAINERS that SCOTT\n" .string "calls the FRONTIER BRAINS is there.\p" .string "It's this fiery-hot TRAINER called\n" .string "the PYRAMID KING that runs the place.$" -BattleFrontier_Lounge2_Text_2617F9:: @ 82617F9 +BattleFrontier_Lounge2_Text_PyramidKingSilverMons:: @ 82617F9 .string "Have you battled the PYRAMID KING\n" .string "before?\p" .string "When he's checking the foe's power,\n" @@ -310,7 +317,7 @@ BattleFrontier_Lounge2_Text_2617F9:: @ 82617F9 .string "an ICE-type ICEBERG POKéMON,\l" .string "and a STEEL-type IRON POKéMON.$" -BattleFrontier_Lounge2_Text_2618C4:: @ 82618C4 +BattleFrontier_Lounge2_Text_PyramidKingGoldMons:: @ 82618C4 .string "Have you battled the PYRAMID KING\n" .string "when he's serious?\p" .string "When he's pumped with hot power,\n" @@ -320,7 +327,7 @@ BattleFrontier_Lounge2_Text_2618C4:: @ 82618C4 .string "and a FIRE- & FLYING-type FLAME\l" .string "POKéMON.$" -BattleFrontier_Lounge2_Text_2619AC:: @ 82619AC +BattleFrontier_Lounge2_Text_DoubleBattleAdvice1:: @ 82619AC .string "Sure, there are several places where\n" .string "you can enter DOUBLE BATTLES.\p" .string "But the DOUBLE BATTLE ROOMS of\n" @@ -329,44 +336,44 @@ BattleFrontier_Lounge2_Text_2619AC:: @ 82619AC .string "how DOUBLE BATTLES are played here\l" .string "in the BATTLE FRONTIER.$" -BattleFrontier_Lounge2_Text_261A91:: @ 8261A91 +BattleFrontier_Lounge2_Text_DoubleBattleAdvice2:: @ 8261A91 .string "Watch yourself in the battles here.\p" .string "I hear there are TRAINERS that have\n" .string "strategies they developed just for\l" .string "DOUBLE BATTLES.$" -BattleFrontier_Lounge2_Text_261B0C:: @ 8261B0C +BattleFrontier_Lounge2_Text_DoubleBattleAdvice3:: @ 8261B0C .string "Once you're confident and comfortable\n" .string "with DOUBLE BATTLES here, you should\l" .string "think about challenging other places\l" .string "offering DOUBLE BATTLES.$" -BattleFrontier_Lounge2_Text_261B95:: @ 8261B95 +BattleFrontier_Lounge2_Text_MultiBattleAdvice:: @ 8261B95 .string "All sorts of TRAINERS gather in\n" .string "the BATTLE SALON.\p" .string "Just think--you may run into your\n" .string "friends or followers!\l" .string "You should look carefully!$" -BattleFrontier_Lounge2_Text_261C1A:: @ 8261C1A +BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice:: @ 8261C1A .string "If you're with a friend, head for the\n" .string "LINK MULTI BATTLE ROOM.\p" .string "If you play with a strong friend,\n" .string "you can expect to see tough foes!$" -BattleFrontier_Lounge2_Text_261C9C:: @ 8261C9C +BattleFrontier_Lounge2_Text_NewsGatheringPower:: @ 8261C9C .string "What amazing news-gathering power!\n" .string "My mentor's like none other!$" -BattleFrontier_Lounge2_Text_261CDC:: @ 8261CDC +BattleFrontier_Lounge2_Text_AmazingPowersOfObservation:: @ 8261CDC .string "What amazing powers of observation!\n" .string "My mentor's like none other!$" -BattleFrontier_Lounge2_Text_261D1D:: @ 8261D1D +BattleFrontier_Lounge2_Text_AmazingPowerOfPersuasion:: @ 8261D1D .string "What amazing power of persuasion!\n" .string "My mentor's like none other!$" -BattleFrontier_Lounge2_Text_261D5C:: @ 8261D5C +BattleFrontier_Lounge2_Text_ThisPlaceIsScaringMe:: @ 8261D5C .string "…What is this place?\n" .string "It's scaring me…$" diff --git a/data/maps/BattleFrontier_Lounge3/map.json b/data/maps/BattleFrontier_Lounge3/map.json index 5ff702a86f..843fc6e109 100644 --- a/data/maps/BattleFrontier_Lounge3/map.json +++ b/data/maps/BattleFrontier_Lounge3/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge3_EventScript_261D83", + "script": "BattleFrontier_Lounge3_EventScript_Gambler", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge3_EventScript_261FE1", + "script": "BattleFrontier_Lounge3_EventScript_FatMan", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge3_EventScript_261FC1", + "script": "BattleFrontier_Lounge3_EventScript_Woman", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge3_EventScript_261FD1", + "script": "BattleFrontier_Lounge3_EventScript_PokefanF", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 3, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge3_EventScript_261FB8", + "script": "BattleFrontier_Lounge3_EventScript_Man", "flag": "0" } ], diff --git a/data/maps/BattleFrontier_Lounge3/scripts.inc b/data/maps/BattleFrontier_Lounge3/scripts.inc index 7977e75b4b..e892ad3eab 100644 --- a/data/maps/BattleFrontier_Lounge3/scripts.inc +++ b/data/maps/BattleFrontier_Lounge3/scripts.inc @@ -1,214 +1,218 @@ BattleFrontier_Lounge3_MapScripts:: @ 8261D82 .byte 0 -BattleFrontier_Lounge3_EventScript_261D83:: @ 8261D83 + .set BET_AMOUNT_5, 5 + .set BET_AMOUNT_10, 10 + .set BET_AMOUNT_15, 15 + +BattleFrontier_Lounge3_EventScript_Gambler:: @ 8261D83 lock faceplayer - goto_if_set FLAG_MET_BATTLE_FRONTIER_BETTOR, BattleFrontier_Lounge3_EventScript_261EF9 - call BattleFrontier_Lounge3_EventScript_261EA0 + goto_if_set FLAG_MET_BATTLE_FRONTIER_GAMBLER, BattleFrontier_Lounge3_EventScript_AlreadyMetGambler + call BattleFrontier_Lounge3_EventScript_CountSilverSymbols compare VAR_0x8004, 2 - goto_if_le BattleFrontier_Lounge3_EventScript_261EEB - setflag FLAG_MET_BATTLE_FRONTIER_BETTOR - msgbox BattleFrontier_Lounge3_Text_262061, MSGBOX_DEFAULT - goto BattleFrontier_Lounge3_EventScript_261DAF + goto_if_le BattleFrontier_Lounge3_EventScript_NotEnoughSilverSymbols + setflag FLAG_MET_BATTLE_FRONTIER_GAMBLER + msgbox BattleFrontier_Lounge3_Text_YouLookToughExplainGambling, MSGBOX_DEFAULT + goto BattleFrontier_Lounge3_EventScript_AskToEnterChallenge end -BattleFrontier_Lounge3_EventScript_261DAF:: @ 8261DAF - special sub_813A820 +BattleFrontier_Lounge3_EventScript_AskToEnterChallenge:: @ 8261DAF + special ShowFrontierGamblerLookingMessage waitmessage waitbuttonpress - msgbox BattleFrontier_Lounge3_Text_262A60, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_Lounge3_EventScript_261FA5 - msgbox BattleFrontier_Lounge3_Text_262ABD, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_Lounge3_EventScript_261FA5 - message BattleFrontier_Lounge3_Text_262B42 + msgbox BattleFrontier_Lounge3_Text_HowAboutEnteringEventForMe, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_Lounge3_EventScript_DeclineChallenge + msgbox BattleFrontier_Lounge3_Text_SpotMeSomeBattlePoints, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_Lounge3_EventScript_DeclineChallenge + message BattleFrontier_Lounge3_Text_HowMuchCanYouSpot waitmessage - special sub_813A958 - goto BattleFrontier_Lounge3_EventScript_261DE9 + special ShowBattlePointsWindow + goto BattleFrontier_Lounge3_EventScript_ChooseBetAmount end -BattleFrontier_Lounge3_EventScript_261DE9:: @ 8261DE9 - multichoice 20, 4, 87, 0 +BattleFrontier_Lounge3_EventScript_ChooseBetAmount:: @ 8261DE9 + multichoice 20, 4, MULTI_FRONTIER_GAMBLER_BET, 0 copyvar VAR_FRONTIER_GAMBLER_AMOUNT_BET, VAR_RESULT switch VAR_RESULT - case 0, BattleFrontier_Lounge3_EventScript_261E30 - case 1, BattleFrontier_Lounge3_EventScript_261E3B - case 2, BattleFrontier_Lounge3_EventScript_261E46 - case 3, BattleFrontier_Lounge3_EventScript_261FAF - case 127, BattleFrontier_Lounge3_EventScript_261FAF + case FRONTIER_GAMBLER_BET_5, BattleFrontier_Lounge3_EventScript_Bet5 + case FRONTIER_GAMBLER_BET_10, BattleFrontier_Lounge3_EventScript_Bet10 + case FRONTIER_GAMBLER_BET_15, BattleFrontier_Lounge3_EventScript_Bet15 + case FRONTIER_GAMBLER_BET_CANCEL, BattleFrontier_Lounge3_EventScript_CancelBet + case MULTI_B_PRESSED, BattleFrontier_Lounge3_EventScript_CancelBet end -BattleFrontier_Lounge3_EventScript_261E30:: @ 8261E30 - setvar VAR_0x8008, 5 - goto BattleFrontier_Lounge3_EventScript_261E51 +BattleFrontier_Lounge3_EventScript_Bet5:: @ 8261E30 + setvar VAR_0x8008, BET_AMOUNT_5 + goto BattleFrontier_Lounge3_EventScript_TryPlaceBet end -BattleFrontier_Lounge3_EventScript_261E3B:: @ 8261E3B - setvar VAR_0x8008, 10 - goto BattleFrontier_Lounge3_EventScript_261E51 +BattleFrontier_Lounge3_EventScript_Bet10:: @ 8261E3B + setvar VAR_0x8008, BET_AMOUNT_10 + goto BattleFrontier_Lounge3_EventScript_TryPlaceBet end -BattleFrontier_Lounge3_EventScript_261E46:: @ 8261E46 - setvar VAR_0x8008, 15 - goto BattleFrontier_Lounge3_EventScript_261E51 +BattleFrontier_Lounge3_EventScript_Bet15:: @ 8261E46 + setvar VAR_0x8008, BET_AMOUNT_15 + goto BattleFrontier_Lounge3_EventScript_TryPlaceBet end -BattleFrontier_Lounge3_EventScript_261E51:: @ 8261E51 - specialvar VAR_TEMP_1, sub_813AA04 +BattleFrontier_Lounge3_EventScript_TryPlaceBet:: @ 8261E51 + specialvar VAR_TEMP_1, GetFrontierBattlePoints compare VAR_TEMP_1, VAR_0x8008 - goto_if_ge BattleFrontier_Lounge3_EventScript_261E75 - msgbox BattleFrontier_Lounge3_Text_262B6E, MSGBOX_DEFAULT - message BattleFrontier_Lounge3_Text_262B42 + goto_if_ge BattleFrontier_Lounge3_EventScript_PlaceBet + msgbox BattleFrontier_Lounge3_Text_YouDontHaveEnoughPoints, MSGBOX_DEFAULT + message BattleFrontier_Lounge3_Text_HowMuchCanYouSpot waitmessage - goto BattleFrontier_Lounge3_EventScript_261DE9 + goto BattleFrontier_Lounge3_EventScript_ChooseBetAmount end -BattleFrontier_Lounge3_EventScript_261E75:: @ 8261E75 +BattleFrontier_Lounge3_EventScript_PlaceBet:: @ 8261E75 copyvar VAR_0x8004, VAR_0x8008 - special sub_813A9A4 - setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1 - special sub_813A8FC + special TakeFrontierBattlePoints + setvar VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_PLACED_BET + special UpdateBattlePointsWindow playse SE_REGI - msgbox BattleFrontier_Lounge3_Text_262BE0, MSGBOX_DEFAULT - goto BattleFrontier_Lounge3_EventScript_261E96 + msgbox BattleFrontier_Lounge3_Text_ThanksOffYouGo, MSGBOX_DEFAULT + goto BattleFrontier_Lounge3_EventScript_FinishBet end -BattleFrontier_Lounge3_EventScript_261E96:: @ 8261E96 - special sub_813A854 +BattleFrontier_Lounge3_EventScript_FinishBet:: @ 8261E96 + special ShowFrontierGamblerGoMessage waitmessage waitbuttonpress - special sub_813A988 + special CloseBattlePointsWindow release end -BattleFrontier_Lounge3_EventScript_261EA0:: @ 8261EA0 +BattleFrontier_Lounge3_EventScript_CountSilverSymbols:: @ 8261EA0 setvar VAR_0x8004, 0 - call_if_set FLAG_SYS_TOWER_SILVER, BattleFrontier_Lounge3_EventScript_261EE5 - call_if_set FLAG_SYS_DOME_SILVER, BattleFrontier_Lounge3_EventScript_261EE5 - call_if_set FLAG_SYS_PALACE_SILVER, BattleFrontier_Lounge3_EventScript_261EE5 - call_if_set FLAG_SYS_ARENA_SILVER, BattleFrontier_Lounge3_EventScript_261EE5 - call_if_set FLAG_SYS_FACTORY_SILVER, BattleFrontier_Lounge3_EventScript_261EE5 - call_if_set FLAG_SYS_PIKE_SILVER, BattleFrontier_Lounge3_EventScript_261EE5 - call_if_set FLAG_SYS_PYRAMID_SILVER, BattleFrontier_Lounge3_EventScript_261EE5 + call_if_set FLAG_SYS_TOWER_SILVER, BattleFrontier_Lounge3_EventScript_AddSilverSymbolCount + call_if_set FLAG_SYS_DOME_SILVER, BattleFrontier_Lounge3_EventScript_AddSilverSymbolCount + call_if_set FLAG_SYS_PALACE_SILVER, BattleFrontier_Lounge3_EventScript_AddSilverSymbolCount + call_if_set FLAG_SYS_ARENA_SILVER, BattleFrontier_Lounge3_EventScript_AddSilverSymbolCount + call_if_set FLAG_SYS_FACTORY_SILVER, BattleFrontier_Lounge3_EventScript_AddSilverSymbolCount + call_if_set FLAG_SYS_PIKE_SILVER, BattleFrontier_Lounge3_EventScript_AddSilverSymbolCount + call_if_set FLAG_SYS_PYRAMID_SILVER, BattleFrontier_Lounge3_EventScript_AddSilverSymbolCount return -BattleFrontier_Lounge3_EventScript_261EE5:: @ 8261EE5 +BattleFrontier_Lounge3_EventScript_AddSilverSymbolCount:: @ 8261EE5 addvar VAR_0x8004, 1 return -BattleFrontier_Lounge3_EventScript_261EEB:: @ 8261EEB - msgbox BattleFrontier_Lounge3_Text_261FFE, MSGBOX_DEFAULT - goto BattleFrontier_Lounge3_EventScript_261FF1 +BattleFrontier_Lounge3_EventScript_NotEnoughSilverSymbols:: @ 8261EEB + msgbox BattleFrontier_Lounge3_Text_CantYouSeeWereBusyHere, MSGBOX_DEFAULT + goto BattleFrontier_Lounge3_EventScript_FaceOriginalDirection end -BattleFrontier_Lounge3_EventScript_261EF9:: @ 8261EF9 - msgbox BattleFrontier_Lounge3_Text_26346B, MSGBOX_DEFAULT - compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1 - goto_if_ge BattleFrontier_Lounge3_EventScript_261F12 - goto BattleFrontier_Lounge3_EventScript_261DAF +BattleFrontier_Lounge3_EventScript_AlreadyMetGambler:: @ 8261EF9 + msgbox BattleFrontier_Lounge3_Text_Oh, MSGBOX_DEFAULT + compare VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_PLACED_BET + goto_if_ge BattleFrontier_Lounge3_EventScript_CheckBetResults + goto BattleFrontier_Lounge3_EventScript_AskToEnterChallenge end -BattleFrontier_Lounge3_EventScript_261F12:: @ 8261F12 - compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1 - goto_if_eq BattleFrontier_Lounge3_EventScript_261F9E - compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 2 - goto_if_eq BattleFrontier_Lounge3_EventScript_261F2E - goto BattleFrontier_Lounge3_EventScript_261F71 +BattleFrontier_Lounge3_EventScript_CheckBetResults:: @ 8261F12 + compare VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_PLACED_BET + goto_if_eq BattleFrontier_Lounge3_EventScript_ChallengeNotAttempted + compare VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WON + goto_if_eq BattleFrontier_Lounge3_EventScript_WonChallenge + goto BattleFrontier_Lounge3_EventScript_LostChallenge end -BattleFrontier_Lounge3_EventScript_261F2E:: @ 8261F2E - msgbox BattleFrontier_Lounge3_Text_263334, MSGBOX_DEFAULT - compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 0 - call_if_eq BattleFrontier_Lounge3_EventScript_261F80 - compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 1 - call_if_eq BattleFrontier_Lounge3_EventScript_261F8A - compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 2 - call_if_eq BattleFrontier_Lounge3_EventScript_261F94 - msgbox BattleFrontier_Lounge3_Text_2633D4, 9 - special sub_813A9D0 - msgbox BattleFrontier_Lounge3_Text_2633F2, MSGBOX_DEFAULT - setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 0 +BattleFrontier_Lounge3_EventScript_WonChallenge:: @ 8261F2E + msgbox BattleFrontier_Lounge3_Text_HelloChampHeresYourPoints, MSGBOX_DEFAULT + compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, FRONTIER_GAMBLER_BET_5 + call_if_eq BattleFrontier_Lounge3_EventScript_RewardBet5 + compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, FRONTIER_GAMBLER_BET_10 + call_if_eq BattleFrontier_Lounge3_EventScript_RewardBet10 + compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, FRONTIER_GAMBLER_BET_15 + call_if_eq BattleFrontier_Lounge3_EventScript_RewardBet15 + msgbox BattleFrontier_Lounge3_Text_ObtainedBattlePoints, MSGBOX_GETPOINTS + special GiveFrontierBattlePoints + msgbox BattleFrontier_Lounge3_Text_ThinkOfMeForAnotherChallenge, MSGBOX_DEFAULT + setvar VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WAITING release end -BattleFrontier_Lounge3_EventScript_261F71:: @ 8261F71 - msgbox BattleFrontier_Lounge3_Text_263298, MSGBOX_DEFAULT - setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 0 +BattleFrontier_Lounge3_EventScript_LostChallenge:: @ 8261F71 + msgbox BattleFrontier_Lounge3_Text_NiceTryCantReturnPoints, MSGBOX_DEFAULT + setvar VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WAITING release end -BattleFrontier_Lounge3_EventScript_261F80:: @ 8261F80 - buffernumberstring 0, 10 - setvar VAR_0x8004, 10 +BattleFrontier_Lounge3_EventScript_RewardBet5:: @ 8261F80 + buffernumberstring 0, (BET_AMOUNT_5 * 2) + setvar VAR_0x8004, (BET_AMOUNT_5 * 2) return -BattleFrontier_Lounge3_EventScript_261F8A:: @ 8261F8A - buffernumberstring 0, 20 - setvar VAR_0x8004, 20 +BattleFrontier_Lounge3_EventScript_RewardBet10:: @ 8261F8A + buffernumberstring 0, (BET_AMOUNT_10 * 2) + setvar VAR_0x8004, (BET_AMOUNT_10 * 2) return -BattleFrontier_Lounge3_EventScript_261F94:: @ 8261F94 - buffernumberstring 0, 30 - setvar VAR_0x8004, 30 +BattleFrontier_Lounge3_EventScript_RewardBet15:: @ 8261F94 + buffernumberstring 0, (BET_AMOUNT_15 * 2) + setvar VAR_0x8004, (BET_AMOUNT_15 * 2) return -BattleFrontier_Lounge3_EventScript_261F9E:: @ 8261F9E - special sub_813A854 +BattleFrontier_Lounge3_EventScript_ChallengeNotAttempted:: @ 8261F9E + special ShowFrontierGamblerGoMessage waitmessage waitbuttonpress release end -BattleFrontier_Lounge3_EventScript_261FA5:: @ 8261FA5 - msgbox BattleFrontier_Lounge3_Text_26342D, MSGBOX_DEFAULT +BattleFrontier_Lounge3_EventScript_DeclineChallenge:: @ 8261FA5 + msgbox BattleFrontier_Lounge3_Text_NotInterested, MSGBOX_DEFAULT release end -BattleFrontier_Lounge3_EventScript_261FAF:: @ 8261FAF - special sub_813A988 - goto BattleFrontier_Lounge3_EventScript_261FA5 +BattleFrontier_Lounge3_EventScript_CancelBet:: @ 8261FAF + special CloseBattlePointsWindow + goto BattleFrontier_Lounge3_EventScript_DeclineChallenge end -BattleFrontier_Lounge3_EventScript_261FB8:: @ 8261FB8 - msgbox BattleFrontier_Lounge3_Text_263545, MSGBOX_NPC +BattleFrontier_Lounge3_EventScript_Man:: @ 8261FB8 + msgbox BattleFrontier_Lounge3_Text_ShouldBeTakingChallenges, MSGBOX_NPC end -BattleFrontier_Lounge3_EventScript_261FC1:: @ 8261FC1 +BattleFrontier_Lounge3_EventScript_Woman:: @ 8261FC1 lock faceplayer - msgbox BattleFrontier_Lounge3_Text_26346F, MSGBOX_DEFAULT - goto BattleFrontier_Lounge3_EventScript_261FF1 + msgbox BattleFrontier_Lounge3_Text_BackedWrongTrainer, MSGBOX_DEFAULT + goto BattleFrontier_Lounge3_EventScript_FaceOriginalDirection end -BattleFrontier_Lounge3_EventScript_261FD1:: @ 8261FD1 +BattleFrontier_Lounge3_EventScript_PokefanF:: @ 8261FD1 lock faceplayer - msgbox BattleFrontier_Lounge3_Text_26351D, MSGBOX_DEFAULT - goto BattleFrontier_Lounge3_EventScript_261FF1 + msgbox BattleFrontier_Lounge3_Text_KnowWinnerWhenISeeOne, MSGBOX_DEFAULT + goto BattleFrontier_Lounge3_EventScript_FaceOriginalDirection end -BattleFrontier_Lounge3_EventScript_261FE1:: @ 8261FE1 +BattleFrontier_Lounge3_EventScript_FatMan:: @ 8261FE1 lock faceplayer - msgbox BattleFrontier_Lounge3_Text_2634C9, MSGBOX_DEFAULT - goto BattleFrontier_Lounge3_EventScript_261FF1 + msgbox BattleFrontier_Lounge3_Text_TrainerGoodButRattled, MSGBOX_DEFAULT + goto BattleFrontier_Lounge3_EventScript_FaceOriginalDirection end -BattleFrontier_Lounge3_EventScript_261FF1:: @ 8261FF1 +BattleFrontier_Lounge3_EventScript_FaceOriginalDirection:: @ 8261FF1 closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -BattleFrontier_Lounge3_Text_261FFE:: @ 8261FFE +BattleFrontier_Lounge3_Text_CantYouSeeWereBusyHere:: @ 8261FFE .string "…What's that you want?\p" .string "Can't you see we're kind of busy here?\n" .string "Can't your business wait till later?$" -BattleFrontier_Lounge3_Text_262061:: @ 8262061 +BattleFrontier_Lounge3_Text_YouLookToughExplainGambling:: @ 8262061 .string "…Huh?\n" .string "You look to me like a tough TRAINER.\p" .string "Heheh…\n" @@ -228,201 +232,201 @@ BattleFrontier_Lounge3_Text_262061:: @ 8262061 .string "Sounds simple, huh?\n" .string "So, anyway…$" -BattleFrontier_Lounge3_Text_262261:: @ 8262261 +BattleFrontier_Lounge3_Text_ChallengeBattleTowerSingle:: @ 8262261 .string "What I'm looking for is a TRAINER who's\n" .string "going to be challenging the BATTLE\l" .string "TOWER's SINGLE BATTLE ROOMS.\p" .string "But so far, I haven't seen a TRAINER\n" .string "that has that winning quality.$" -BattleFrontier_Lounge3_Text_26230D:: @ 826230D +BattleFrontier_Lounge3_Text_ChallengeBattleTowerDouble:: @ 826230D .string "What I'm looking for is a TRAINER who's\n" .string "going to be challenging the BATTLE\l" .string "TOWER's DOUBLE BATTLE ROOMS.\p" .string "But so far, I haven't seen a TRAINER\n" .string "that has that winning quality.$" -BattleFrontier_Lounge3_Text_2623B9:: @ 82623B9 +BattleFrontier_Lounge3_Text_ChallengeBattleTowerMulti:: @ 82623B9 .string "What I'm looking for is a TRAINER who's\n" .string "going to be challenging the BATTLE\l" .string "TOWER's MULTI BATTLE ROOMS.\p" .string "But so far, I haven't seen a TRAINER\n" .string "that has that winning quality.$" -BattleFrontier_Lounge3_Text_262464:: @ 8262464 +BattleFrontier_Lounge3_Text_ChallengeBattleDomeSingle:: @ 8262464 .string "What I'm looking for is a TRAINER who's\n" .string "going to be entering the BATTLE\l" .string "DOME's SINGLE BATTLE Tourney.\p" .string "But so far, I haven't seen a TRAINER\n" .string "that has that winning quality.$" -BattleFrontier_Lounge3_Text_26250E:: @ 826250E +BattleFrontier_Lounge3_Text_ChallengeBattleDomeDouble:: @ 826250E .string "What I'm looking for is a TRAINER who's\n" .string "going to be entering the BATTLE\l" .string "DOME's DOUBLE BATTLE Tourney.\p" .string "But so far, I haven't seen a TRAINER\n" .string "that has that winning quality.$" -BattleFrontier_Lounge3_Text_2625B8:: @ 82625B8 +BattleFrontier_Lounge3_Text_ChallengeBattleFactorySingle:: @ 82625B8 .string "What I'm looking for is a TRAINER who's\n" .string "going to be entering the BATTLE\l" .string "FACTORY's Battle Swap Single Tourney.\p" .string "But so far, I haven't seen a TRAINER\n" .string "that has that winning quality.$" -BattleFrontier_Lounge3_Text_26266A:: @ 826266A +BattleFrontier_Lounge3_Text_ChallengeBattleFactoryDouble:: @ 826266A .string "What I'm looking for is a TRAINER who's\n" .string "going to be entering the BATTLE\l" .string "FACTORY's Battle Swap Double Tourney.\p" .string "But so far, I haven't seen a TRAINER\n" .string "that has that winning quality.$" -BattleFrontier_Lounge3_Text_26271C:: @ 826271C +BattleFrontier_Lounge3_Text_ChallengeBattlePalaceSingle:: @ 826271C .string "What I'm looking for is a TRAINER who's\n" .string "going to be challenging the BATTLE\l" .string "PALACE's SINGLE BATTLE HALLS.\p" .string "But so far, I haven't seen a TRAINER\n" .string "that has that winning quality.$" -BattleFrontier_Lounge3_Text_2627C9:: @ 82627C9 +BattleFrontier_Lounge3_Text_ChallengeBattlePalaceDouble:: @ 82627C9 .string "What I'm looking for is a TRAINER who's\n" .string "going to be challenging the BATTLE\l" .string "PALACE's DOUBLE BATTLE HALLS.\p" .string "But so far, I haven't seen a TRAINER\n" .string "that has that winning quality.$" -BattleFrontier_Lounge3_Text_262876:: @ 8262876 +BattleFrontier_Lounge3_Text_ChallengeBattleArena:: @ 8262876 .string "What I'm looking for is a TRAINER who's\n" .string "going to be entering the BATTLE\l" .string "ARENA's Set KO Tourney.\p" .string "But so far, I haven't seen a TRAINER\n" .string "that has that winning quality.$" -BattleFrontier_Lounge3_Text_26291A:: @ 826291A +BattleFrontier_Lounge3_Text_ChallengeBattlePike:: @ 826291A .string "What I'm looking for is a TRAINER who's\n" .string "going to be entering the BATTLE PIKE's\l" .string "Battle Choice.\p" .string "But so far, I haven't seen a TRAINER\n" .string "that has that winning quality.$" -BattleFrontier_Lounge3_Text_2629BC:: @ 82629BC +BattleFrontier_Lounge3_Text_ChallengeBattlePyramid:: @ 82629BC .string "What I'm looking for is a TRAINER who's\n" .string "going to be entering the BATTLE\l" .string "PYRAMID's Battle Quest.\p" .string "But so far, I haven't seen a TRAINER\n" .string "that has that winning quality.$" -BattleFrontier_Lounge3_Text_262A60:: @ 8262A60 +BattleFrontier_Lounge3_Text_HowAboutEnteringEventForMe:: @ 8262A60 .string "I'll see to it that you benefit, too.\n" .string "So how about it?\l" .string "How about entering that event for me?$" -BattleFrontier_Lounge3_Text_262ABD:: @ 8262ABD +BattleFrontier_Lounge3_Text_SpotMeSomeBattlePoints:: @ 8262ABD .string "All right, that's perfect.\n" .string "So, uh… How about spotting me some\l" .string "of your Battle Points?\p" .string "Trust me, I'll show you my gratitude\n" .string "afterward.$" -BattleFrontier_Lounge3_Text_262B42:: @ 8262B42 +BattleFrontier_Lounge3_Text_HowMuchCanYouSpot:: @ 8262B42 .string "Great, great!\n" .string "So, how much can you spot me?$" -BattleFrontier_Lounge3_Text_262B6E:: @ 8262B6E +BattleFrontier_Lounge3_Text_YouDontHaveEnoughPoints:: @ 8262B6E .string "Oh, no, no, no!\n" .string "You don't have enough Battle Points!\p" .string "I wish you wouldn't monkey around and\n" .string "waste everyone's time!$" -BattleFrontier_Lounge3_Text_262BE0:: @ 8262BE0 +BattleFrontier_Lounge3_Text_ThanksOffYouGo:: @ 8262BE0 .string "Heheh! Thanks much!\n" .string "So, off you go!$" -BattleFrontier_Lounge3_Text_262C04:: @ 8262C04 +BattleFrontier_Lounge3_Text_GetToBattleTowerSingle:: @ 8262C04 .string "Get to the BATTLE TOWER's\n" .string "SINGLE BATTLE ROOMS pronto!\p" .string "It's a must-win situation!\n" .string "Don't blow your chance!\l" .string "Both of our futures depend on you!$" -BattleFrontier_Lounge3_Text_262C90:: @ 8262C90 +BattleFrontier_Lounge3_Text_GetToBattleTowerDouble:: @ 8262C90 .string "Get to the BATTLE TOWER's\n" .string "DOUBLE BATTLE ROOMS pronto!\p" .string "It's a must-win situation!\n" .string "Don't blow your chance!\l" .string "Both of our futures depend on you!$" -BattleFrontier_Lounge3_Text_262D1C:: @ 8262D1C +BattleFrontier_Lounge3_Text_GetToBattleTowerMulti:: @ 8262D1C .string "Get to the BATTLE TOWER's\n" .string "MULTI BATTLE ROOMS pronto!\p" .string "It's a must-win situation!\n" .string "Don't blow your chance!\l" .string "Both of our futures depend on you!$" -BattleFrontier_Lounge3_Text_262DA7:: @ 8262DA7 +BattleFrontier_Lounge3_Text_GetToBattleDomeSingle:: @ 8262DA7 .string "Get to the BATTLE DOME's\n" .string "SINGLE BATTLE Tourney pronto!\p" .string "It's a must-win situation!\n" .string "Don't blow your chance!\l" .string "Both of our futures depend on you!$" -BattleFrontier_Lounge3_Text_262E34:: @ 8262E34 +BattleFrontier_Lounge3_Text_GetToBattleDomeDouble:: @ 8262E34 .string "Get to the BATTLE DOME's\n" .string "DOUBLE BATTLE Tourney pronto!\p" .string "It's a must-win situation!\n" .string "Don't blow your chance!\l" .string "Both of our futures depend on you!$" -BattleFrontier_Lounge3_Text_262EC1:: @ 8262EC1 +BattleFrontier_Lounge3_Text_GetToBattleFactorySingle:: @ 8262EC1 .string "Get to the BATTLE FACTORY's\n" .string "Battle Swap Single Tourney pronto!\p" .string "It's a must-win situation!\n" .string "Don't blow your chance!\l" .string "Both of our futures depend on you!$" -BattleFrontier_Lounge3_Text_262F56:: @ 8262F56 +BattleFrontier_Lounge3_Text_GetToBattleFactoryDouble:: @ 8262F56 .string "Get to the BATTLE FACTORY's\n" .string "Battle Swap Double Tourney pronto!\p" .string "It's a must-win situation!\n" .string "Don't blow your chance!\l" .string "Both of our futures depend on you!$" -BattleFrontier_Lounge3_Text_262FEB:: @ 8262FEB +BattleFrontier_Lounge3_Text_GetToBattlePalaceSingle:: @ 8262FEB .string "Get to the BATTLE PALACE's\n" .string "SINGLE BATTLE HALLS pronto!\p" .string "It's a must-win situation!\n" .string "Don't blow your chance!\l" .string "Both of our futures depend on you!$" -BattleFrontier_Lounge3_Text_263078:: @ 8263078 +BattleFrontier_Lounge3_Text_GetToBattlePalaceDouble:: @ 8263078 .string "Get to the BATTLE PALACE's\n" .string "DOUBLE BATTLE HALLS pronto!\p" .string "It's a must-win situation!\n" .string "Don't blow your chance!\l" .string "Both of our futures depend on you!$" -BattleFrontier_Lounge3_Text_263105:: @ 8263105 +BattleFrontier_Lounge3_Text_GetToBattleArena:: @ 8263105 .string "Get to the BATTLE ARENA's\n" .string "Set KO Tourney pronto!\p" .string "It's a must-win situation!\n" .string "Don't blow your chance!\l" .string "Both of our futures depend on you!$" -BattleFrontier_Lounge3_Text_26318C:: @ 826318C +BattleFrontier_Lounge3_Text_GetToBattlePike:: @ 826318C .string "Get to the BATTLE PIKE's\n" .string "Battle Choice pronto!\p" .string "It's a must-win situation!\n" .string "Don't blow your chance!\l" .string "Both of our futures depend on you!$" -BattleFrontier_Lounge3_Text_263211:: @ 8263211 +BattleFrontier_Lounge3_Text_GetToBattlePyramid:: @ 8263211 .string "Get to the BATTLE PYRAMID's\n" .string "Battle Quest pronto!\p" .string "It's a must-win situation!\n" .string "Don't blow your chance!\l" .string "Both of our futures depend on you!$" -BattleFrontier_Lounge3_Text_263298:: @ 8263298 +BattleFrontier_Lounge3_Text_NiceTryCantReturnPoints:: @ 8263298 .string "Oh, it's you…\n" .string "Nice try…\p" .string "I hate to break it to you, but I can't\n" @@ -430,7 +434,7 @@ BattleFrontier_Lounge3_Text_263298:: @ 8263298 .string "I guess we'll have to let it motivate\n" .string "us to try harder next time!$" -BattleFrontier_Lounge3_Text_263334:: @ 8263334 +BattleFrontier_Lounge3_Text_HelloChampHeresYourPoints:: @ 8263334 .string "Oh, yes!\n" .string "Hello there, champ!\p" .string "I knew you could!\n" @@ -439,36 +443,36 @@ BattleFrontier_Lounge3_Text_263334:: @ 8263334 .string "I'll return your Battle Points and,\n" .string "of course, a little extra from me!$" -BattleFrontier_Lounge3_Text_2633D4:: @ 82633D4 +BattleFrontier_Lounge3_Text_ObtainedBattlePoints:: @ 82633D4 .string "{PLAYER} obtained\n" .string "{STR_VAR_1} Battle Points.$" -BattleFrontier_Lounge3_Text_2633F2:: @ 82633F2 +BattleFrontier_Lounge3_Text_ThinkOfMeForAnotherChallenge:: @ 82633F2 .string "If you're up for another challenge,\n" .string "please do think of me!$" -BattleFrontier_Lounge3_Text_26342D:: @ 826342D +BattleFrontier_Lounge3_Text_NotInterested:: @ 826342D .string "Not interested?! You shouldn't be\n" .string "so afraid to take a chance!$" -BattleFrontier_Lounge3_Text_26346B:: @ 826346B +BattleFrontier_Lounge3_Text_Oh:: @ 826346B .string "Oh…$" -BattleFrontier_Lounge3_Text_26346F:: @ 826346F +BattleFrontier_Lounge3_Text_BackedWrongTrainer:: @ 826346F .string "I backed the wrong TRAINER again!\p" .string "Maybe I should be battling normally\n" .string "like everyone else…$" -BattleFrontier_Lounge3_Text_2634C9:: @ 82634C9 +BattleFrontier_Lounge3_Text_TrainerGoodButRattled:: @ 82634C9 .string "That TRAINER…\p" .string "He's good, but he gets rattled too\n" .string "easily to survive the BATTLE DOME…$" -BattleFrontier_Lounge3_Text_26351D:: @ 826351D +BattleFrontier_Lounge3_Text_KnowWinnerWhenISeeOne:: @ 826351D .string "Giggle!\n" .string "I know a winner when I see one!$" -BattleFrontier_Lounge3_Text_263545:: @ 8263545 +BattleFrontier_Lounge3_Text_ShouldBeTakingChallenges:: @ 8263545 .string "Those TRAINERS…\n" .string "What are they doing?\l" .string "They should be taking challenges.$" diff --git a/data/maps/BattleFrontier_Lounge4/map.json b/data/maps/BattleFrontier_Lounge4/map.json index b67d3bb07b..0c86ccf3c8 100644 --- a/data/maps/BattleFrontier_Lounge4/map.json +++ b/data/maps/BattleFrontier_Lounge4/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge4_EventScript_26358D", + "script": "BattleFrontier_Lounge4_EventScript_Woman", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge4_EventScript_263596", + "script": "BattleFrontier_Lounge4_EventScript_Cook", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge4_EventScript_26359F", + "script": "BattleFrontier_Lounge4_EventScript_Man", "flag": "0" } ], diff --git a/data/maps/BattleFrontier_Lounge4/scripts.inc b/data/maps/BattleFrontier_Lounge4/scripts.inc index 407720915a..6da60d30ff 100644 --- a/data/maps/BattleFrontier_Lounge4/scripts.inc +++ b/data/maps/BattleFrontier_Lounge4/scripts.inc @@ -1,27 +1,27 @@ BattleFrontier_Lounge4_MapScripts:: @ 826358C .byte 0 -BattleFrontier_Lounge4_EventScript_26358D:: @ 826358D - msgbox BattleFrontier_Lounge4_Text_2635A8, MSGBOX_NPC +BattleFrontier_Lounge4_EventScript_Woman:: @ 826358D + msgbox BattleFrontier_Lounge4_Text_WonderIfInterviewsAiring, MSGBOX_NPC end -BattleFrontier_Lounge4_EventScript_263596:: @ 8263596 - msgbox BattleFrontier_Lounge4_Text_2635EC, MSGBOX_NPC +BattleFrontier_Lounge4_EventScript_Cook:: @ 8263596 + msgbox BattleFrontier_Lounge4_Text_IfIOpenedRestaurantHere, MSGBOX_NPC end -BattleFrontier_Lounge4_EventScript_26359F:: @ 826359F - msgbox BattleFrontier_Lounge4_Text_263625, MSGBOX_NPC +BattleFrontier_Lounge4_EventScript_Man:: @ 826359F + msgbox BattleFrontier_Lounge4_Text_NeedBreatherAfterBattles, MSGBOX_NPC end -BattleFrontier_Lounge4_Text_2635A8: @ 82635A8 +BattleFrontier_Lounge4_Text_WonderIfInterviewsAiring: @ 82635A8 .string "I wonder if they'll be airing interviews\n" .string "with tough TRAINERS today?$" -BattleFrontier_Lounge4_Text_2635EC: @ 82635EC +BattleFrontier_Lounge4_Text_IfIOpenedRestaurantHere: @ 82635EC .string "If I opened a restaurant here,\n" .string "it'd make money for sure.$" -BattleFrontier_Lounge4_Text_263625: @ 8263625 +BattleFrontier_Lounge4_Text_NeedBreatherAfterBattles: @ 8263625 .string "Whew…\p" .string "I need to take a breather after\n" .string "some intense battles…\p" diff --git a/data/maps/BattleFrontier_Lounge5/map.json b/data/maps/BattleFrontier_Lounge5/map.json index 698569d9b7..6d9eab35fe 100644 --- a/data/maps/BattleFrontier_Lounge5/map.json +++ b/data/maps/BattleFrontier_Lounge5/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge5_EventScript_2645C6", + "script": "BattleFrontier_Lounge5_EventScript_NatureGirl", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge5_EventScript_264617", + "script": "BattleFrontier_Lounge5_EventScript_Gentleman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge5_EventScript_264620", + "script": "BattleFrontier_Lounge5_EventScript_BlackBelt", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge5_EventScript_264629", + "script": "BattleFrontier_Lounge5_EventScript_LittleBoy", "flag": "0" } ], diff --git a/data/maps/BattleFrontier_Lounge5/scripts.inc b/data/maps/BattleFrontier_Lounge5/scripts.inc index 7a8bd19295..3df294fb17 100644 --- a/data/maps/BattleFrontier_Lounge5/scripts.inc +++ b/data/maps/BattleFrontier_Lounge5/scripts.inc @@ -1,205 +1,205 @@ BattleFrontier_Lounge5_MapScripts:: @ 82645C5 .byte 0 -BattleFrontier_Lounge5_EventScript_2645C6:: @ 82645C6 +BattleFrontier_Lounge5_EventScript_NatureGirl:: @ 82645C6 lock faceplayer - msgbox BattleFrontier_Lounge5_Text_264632, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_Lounge5_EventScript_26460D - special sub_81B94B0 + msgbox BattleFrontier_Lounge5_Text_NatureGirlGreeting, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_Lounge5_EventScript_NatureGirlNoneShown + special ChoosePartyMon waitstate lock faceplayer compare VAR_0x8004, 255 - goto_if_eq BattleFrontier_Lounge5_EventScript_26460D + goto_if_eq BattleFrontier_Lounge5_EventScript_NatureGirlNoneShown specialvar VAR_RESULT, ScriptGetPartyMonSpecies - compare VAR_RESULT, 412 - goto_if_eq BattleFrontier_Lounge5_EventScript_264603 - special sub_813A7B8 + compare VAR_RESULT, SPECIES_EGG + goto_if_eq BattleFrontier_Lounge5_EventScript_NatureGirlEgg + special ShowNatureGirlMessage waitmessage waitbuttonpress release end -BattleFrontier_Lounge5_EventScript_264603:: @ 8264603 - msgbox BattleFrontier_Lounge5_Text_264EEE, MSGBOX_DEFAULT +BattleFrontier_Lounge5_EventScript_NatureGirlEgg:: @ 8264603 + msgbox BattleFrontier_Lounge5_Text_NatureGirlEgg, MSGBOX_DEFAULT release end -BattleFrontier_Lounge5_EventScript_26460D:: @ 826460D - msgbox BattleFrontier_Lounge5_Text_26467F, MSGBOX_DEFAULT +BattleFrontier_Lounge5_EventScript_NatureGirlNoneShown:: @ 826460D + msgbox BattleFrontier_Lounge5_Text_NatureGirlNoneShown, MSGBOX_DEFAULT release end -BattleFrontier_Lounge5_EventScript_264617:: @ 8264617 - msgbox BattleFrontier_Lounge5_Text_264F22, MSGBOX_NPC +BattleFrontier_Lounge5_EventScript_Gentleman:: @ 8264617 + msgbox BattleFrontier_Lounge5_Text_LadyClaimsSheUnderstandsPokemon, MSGBOX_NPC end -BattleFrontier_Lounge5_EventScript_264620:: @ 8264620 - msgbox BattleFrontier_Lounge5_Text_264F64, MSGBOX_NPC +BattleFrontier_Lounge5_EventScript_BlackBelt:: @ 8264620 + msgbox BattleFrontier_Lounge5_Text_GirlSayingSomethingProfound, MSGBOX_NPC end -BattleFrontier_Lounge5_EventScript_264629:: @ 8264629 - msgbox BattleFrontier_Lounge5_Text_264FAB, MSGBOX_NPC +BattleFrontier_Lounge5_EventScript_LittleBoy:: @ 8264629 + msgbox BattleFrontier_Lounge5_Text_GirlPlaysAtRedHouseALot, MSGBOX_NPC end -BattleFrontier_Lounge5_Text_264632:: @ 8264632 +BattleFrontier_Lounge5_Text_NatureGirlGreeting:: @ 8264632 .string "Ehehe!\n" .string "I can tell what POKéMON are thinking!\p" .string "Please!\n" .string "Can I see your POKéMON?$" -BattleFrontier_Lounge5_Text_26467F:: @ 826467F +BattleFrontier_Lounge5_Text_NatureGirlNoneShown:: @ 826467F .string "Boo!\n" .string "Cheapie!$" -BattleFrontier_Lounge5_Text_26468D:: @ 826468D +BattleFrontier_Lounge5_Text_NatureGirlHardy:: @ 826468D .string "Hmhm…\p" .string "This one says it likes to battle!\n" .string "It will battle even if it has a lot\l" .string "of ouchies!$" -BattleFrontier_Lounge5_Text_2646E5:: @ 82646E5 +BattleFrontier_Lounge5_Text_NatureGirlLonely:: @ 82646E5 .string "Hmhm…\p" .string "This one says it likes to be sneaky!\n" .string "But if it gets enough ouchies,\l" .string "it will hit back!$" -BattleFrontier_Lounge5_Text_264741:: @ 8264741 +BattleFrontier_Lounge5_Text_NatureGirlBrave:: @ 8264741 .string "Hmhm…\p" .string "This one says it likes to battle!\n" .string "But if it gets enough ouchies,\l" .string "it will worry about itself!$" -BattleFrontier_Lounge5_Text_2647A4:: @ 82647A4 +BattleFrontier_Lounge5_Text_NatureGirlAdamant:: @ 82647A4 .string "Hmhm…\p" .string "This one says it likes to battle!\n" .string "It will battle even if it has a lot\l" .string "of ouchies!$" -BattleFrontier_Lounge5_Text_2647FC:: @ 82647FC +BattleFrontier_Lounge5_Text_NatureGirlNaughty:: @ 82647FC .string "Hmhm…\p" .string "This one says it looks after itself!\n" .string "But if it gets enough ouchies,\l" .string "it will hit back!$" -BattleFrontier_Lounge5_Text_264858:: @ 8264858 +BattleFrontier_Lounge5_Text_NatureGirlBold:: @ 8264858 .string "Hmhm…\p" .string "This one says it likes to be sneaky!\n" .string "But if it gets enough ouchies,\l" .string "it will worry about itself!$" -BattleFrontier_Lounge5_Text_2648BE:: @ 82648BE +BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky:: @ 82648BE .string "Hmhm…\p" .string "This one says it likes to battle!\n" .string "It will battle even if it has a lot\l" .string "of ouchies!$" -BattleFrontier_Lounge5_Text_264916:: @ 8264916 +BattleFrontier_Lounge5_Text_NatureGirlRelaxed:: @ 8264916 .string "Hmhm…\p" .string "This one says it likes to be sneaky!\n" .string "But if it gets enough ouchies,\l" .string "it will hit back!$" -BattleFrontier_Lounge5_Text_264972:: @ 8264972 +BattleFrontier_Lounge5_Text_NatureGirlImpish:: @ 8264972 .string "Hmhm…\p" .string "This one says it likes to battle!\n" .string "But if it gets enough ouchies,\l" .string "it will worry about itself!$" -BattleFrontier_Lounge5_Text_2649D5:: @ 82649D5 +BattleFrontier_Lounge5_Text_NatureGirlLax:: @ 82649D5 .string "Hmhm…\p" .string "This one says it likes to be sneaky!\n" .string "It says it likes to be sneaky even\l" .string "if it has a lot of ouchies!$" -BattleFrontier_Lounge5_Text_264A3F:: @ 8264A3F +BattleFrontier_Lounge5_Text_NatureGirlTimid:: @ 8264A3F .string "Hmhm…\p" .string "This one says it likes to battle!\n" .string "But if it gets enough ouchies,\l" .string "it will turn sneaky!$" -BattleFrontier_Lounge5_Text_264A9B:: @ 8264A9B +BattleFrontier_Lounge5_Text_NatureGirlHasty:: @ 8264A9B .string "Hmhm…\p" .string "This one says it likes to battle!\n" .string "It will battle even if it has a lot\l" .string "of ouchies!$" -BattleFrontier_Lounge5_Text_264AF3:: @ 8264AF3 +BattleFrontier_Lounge5_Text_NatureGirlSerious:: @ 8264AF3 .string "Hmhm…\p" .string "This one says it likes to be sneaky!\n" .string "It says it likes to be sneaky even\l" .string "if it has a lot of ouchies!$" -BattleFrontier_Lounge5_Text_264B5D:: @ 8264B5D +BattleFrontier_Lounge5_Text_NatureGirlJolly:: @ 8264B5D .string "Hmhm…\p" .string "This one says it likes to be sneaky!\n" .string "But if it gets enough ouchies,\l" .string "it will worry about itself!$" -BattleFrontier_Lounge5_Text_264BC3:: @ 8264BC3 +BattleFrontier_Lounge5_Text_NatureGirlModest:: @ 8264BC3 .string "Hmhm…\p" .string "This one says it looks after itself!\n" .string "It says it worries about itself whether\l" .string "or not it has a lot of ouchies!$" -BattleFrontier_Lounge5_Text_264C36:: @ 8264C36 +BattleFrontier_Lounge5_Text_NatureGirlMild:: @ 8264C36 .string "Hmhm…\p" .string "This one says it looks after itself!\n" .string "But if it gets enough ouchies,\l" .string "it will turn sneaky!$" -BattleFrontier_Lounge5_Text_264C95:: @ 8264C95 +BattleFrontier_Lounge5_Text_NatureGirlBashful:: @ 8264C95 .string "Hmhm…\p" .string "This one says it looks after itself!\n" .string "It says it worries about itself even\l" .string "if it has a lot of ouchies!$" -BattleFrontier_Lounge5_Text_264D01:: @ 8264D01 +BattleFrontier_Lounge5_Text_NatureGirlRash:: @ 8264D01 .string "Hmhm…\p" .string "This one says it likes to be sneaky!\n" .string "It says it likes to be sneaky even\l" .string "if it has a lot of ouchies!$" -BattleFrontier_Lounge5_Text_264D6B:: @ 8264D6B +BattleFrontier_Lounge5_Text_NatureGirlCalm:: @ 8264D6B .string "Hmhm…\p" .string "This one says it looks after itself!\n" .string "It says it worries about itself even\l" .string "if it has a lot of ouchies!$" -BattleFrontier_Lounge5_Text_264DD7:: @ 8264DD7 +BattleFrontier_Lounge5_Text_NatureGirlGentle:: @ 8264DD7 .string "Hmhm…\p" .string "This one says it looks after itself!\n" .string "But if it gets enough ouchies,\l" .string "it will hit back!$" -BattleFrontier_Lounge5_Text_264E33:: @ 8264E33 +BattleFrontier_Lounge5_Text_NatureGirlSassy:: @ 8264E33 .string "Hmhm…\p" .string "This one says it likes to battle!\n" .string "But if it gets enough ouchies,\l" .string "it will turn sneaky!$" -BattleFrontier_Lounge5_Text_264E8F:: @ 8264E8F +BattleFrontier_Lounge5_Text_NatureGirlCareful:: @ 8264E8F .string "Hmhm…\p" .string "This one says it looks after itself!\n" .string "But if it gets enough ouchies,\l" .string "it will turn sneaky!$" -BattleFrontier_Lounge5_Text_264EEE:: @ 8264EEE +BattleFrontier_Lounge5_Text_NatureGirlEgg:: @ 8264EEE .string "That's silly! An EGG is asleep!\n" .string "I can't talk to it!$" -BattleFrontier_Lounge5_Text_264F22:: @ 8264F22 +BattleFrontier_Lounge5_Text_LadyClaimsSheUnderstandsPokemon:: @ 8264F22 .string "How charming!\n" .string "That little lady claims she can\l" .string "understand POKéMON!$" -BattleFrontier_Lounge5_Text_264F64:: @ 8264F64 +BattleFrontier_Lounge5_Text_GirlSayingSomethingProfound:: @ 8264F64 .string "I have this feeling that the little girl\n" .string "is saying something profound.$" -BattleFrontier_Lounge5_Text_264FAB:: @ 8264FAB +BattleFrontier_Lounge5_Text_GirlPlaysAtRedHouseALot:: @ 8264FAB .string "I know something!\p" .string "That little girl plays at the red house\n" .string "a lot!$" diff --git a/data/maps/BattleFrontier_Lounge6/map.json b/data/maps/BattleFrontier_Lounge6/map.json index 1ecbec9f8f..5888ea7c05 100644 --- a/data/maps/BattleFrontier_Lounge6/map.json +++ b/data/maps/BattleFrontier_Lounge6/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge6_EventScript_264FED", + "script": "BattleFrontier_Lounge6_EventScript_Trader", "flag": "0" } ], diff --git a/data/maps/BattleFrontier_Lounge6/scripts.inc b/data/maps/BattleFrontier_Lounge6/scripts.inc index 2b14c43c56..34ca000732 100644 --- a/data/maps/BattleFrontier_Lounge6/scripts.inc +++ b/data/maps/BattleFrontier_Lounge6/scripts.inc @@ -1,54 +1,54 @@ BattleFrontier_Lounge6_MapScripts:: @ 8264FEC .byte 0 -BattleFrontier_Lounge6_EventScript_264FED:: @ 8264FED +BattleFrontier_Lounge6_EventScript_Trader:: @ 8264FED lock faceplayer - goto_if_set FLAG_BATTLE_FRONTIER_TRADE_DONE, BattleFrontier_Lounge6_EventScript_265083 - setvar VAR_0x8008, 3 + goto_if_set FLAG_BATTLE_FRONTIER_TRADE_DONE, BattleFrontier_Lounge6_EventScript_TradeCompleted + setvar VAR_0x8008, INGAME_TRADE_MEOWTH copyvar VAR_0x8004, VAR_0x8008 specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT - msgbox BattleFrontier_Lounge6_Text_26508D, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_Lounge6_EventScript_26506B - special sub_81B94B0 + msgbox BattleFrontier_Lounge6_Text_WouldYouLikeToTrade, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_Lounge6_EventScript_DeclineTrade + special ChoosePartyMon waitstate copyvar VAR_0x800A, VAR_0x8004 compare VAR_0x8004, 255 - goto_if_eq BattleFrontier_Lounge6_EventScript_26506B + goto_if_eq BattleFrontier_Lounge6_EventScript_DeclineTrade copyvar VAR_0x8005, VAR_0x800A specialvar VAR_RESULT, GetTradeSpecies copyvar VAR_0x800B, VAR_RESULT compare VAR_RESULT, VAR_0x8009 - goto_if_ne BattleFrontier_Lounge6_EventScript_265075 + goto_if_ne BattleFrontier_Lounge6_EventScript_NotRequestedMon copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A special CreateInGameTradePokemon special DoInGameTradeScene waitstate - msgbox BattleFrontier_Lounge6_Text_265128, MSGBOX_DEFAULT + msgbox BattleFrontier_Lounge6_Text_PromiseIllBeGoodToIt, MSGBOX_DEFAULT setflag FLAG_BATTLE_FRONTIER_TRADE_DONE release end -BattleFrontier_Lounge6_EventScript_26506B:: @ 826506B - msgbox BattleFrontier_Lounge6_Text_2651CB, MSGBOX_DEFAULT +BattleFrontier_Lounge6_EventScript_DeclineTrade:: @ 826506B + msgbox BattleFrontier_Lounge6_Text_WellThatsFineToo, MSGBOX_DEFAULT release end -BattleFrontier_Lounge6_EventScript_265075:: @ 8265075 +BattleFrontier_Lounge6_EventScript_NotRequestedMon:: @ 8265075 bufferspeciesname 0, VAR_0x8009 - msgbox BattleFrontier_Lounge6_Text_26518D, MSGBOX_DEFAULT + msgbox BattleFrontier_Lounge6_Text_DontTradeForAnythingButMon, MSGBOX_DEFAULT release end -BattleFrontier_Lounge6_EventScript_265083:: @ 8265083 - msgbox BattleFrontier_Lounge6_Text_26520E, MSGBOX_DEFAULT +BattleFrontier_Lounge6_EventScript_TradeCompleted:: @ 8265083 + msgbox BattleFrontier_Lounge6_Text_SkittySoMuchCuterThanImagined, MSGBOX_DEFAULT release end -BattleFrontier_Lounge6_Text_26508D: @ 826508D +BattleFrontier_Lounge6_Text_WouldYouLikeToTrade: @ 826508D .string "My POKéMON is a {STR_VAR_2}.\n" .string "Do you know it?\l" .string "It's quite cute and rather nice.\p" @@ -57,24 +57,24 @@ BattleFrontier_Lounge6_Text_26508D: @ 826508D .string "Would you like to trade me a {STR_VAR_1}\n" .string "for my {STR_VAR_2}?$" -BattleFrontier_Lounge6_Text_265128: @ 8265128 +BattleFrontier_Lounge6_Text_PromiseIllBeGoodToIt: @ 8265128 .string "Oh, it's adorable!\n" .string "Thank you!\l" .string "I promise I'll be good to it!\p" .string "Oh! I hope you'll be good to\n" .string "my {STR_VAR_2}, too!$" -BattleFrontier_Lounge6_Text_26518D: @ 826518D +BattleFrontier_Lounge6_Text_DontTradeForAnythingButMon: @ 826518D .string "Oh, I'm sorry!\n" .string "I don't intend to trade for anything\l" .string "but a {STR_VAR_1}.$" -BattleFrontier_Lounge6_Text_2651CB: @ 82651CB +BattleFrontier_Lounge6_Text_WellThatsFineToo: @ 82651CB .string "Oh, you won't?\n" .string "Well, that's fine, too.\l" .string "Please come visit us again.$" -BattleFrontier_Lounge6_Text_26520E: @ 826520E +BattleFrontier_Lounge6_Text_SkittySoMuchCuterThanImagined: @ 826520E .string "Giggle!\n" .string "A SKITTY is so much cuter than I had\l" .string "imagined. I'm delighted!$" diff --git a/data/maps/BattleFrontier_Lounge7/map.json b/data/maps/BattleFrontier_Lounge7/map.json index da866ea721..5ebc789baa 100644 --- a/data/maps/BattleFrontier_Lounge7/map.json +++ b/data/maps/BattleFrontier_Lounge7/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge7_EventScript_2656DB", + "script": "BattleFrontier_Lounge7_EventScript_Sailor", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge7_EventScript_265255", + "script": "BattleFrontier_Lounge7_EventScript_LeftMoveTutor", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge7_EventScript_265445", + "script": "BattleFrontier_Lounge7_EventScript_RightMoveTutor", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge7_EventScript_2656E4", + "script": "BattleFrontier_Lounge7_EventScript_Gentleman", "flag": "0" } ], diff --git a/data/maps/BattleFrontier_Lounge7/scripts.inc b/data/maps/BattleFrontier_Lounge7/scripts.inc index 1339b54c9b..3dd8fc98cf 100644 --- a/data/maps/BattleFrontier_Lounge7/scripts.inc +++ b/data/maps/BattleFrontier_Lounge7/scripts.inc @@ -1,293 +1,297 @@ BattleFrontier_Lounge7_MapScripts:: @ 8265254 .byte 0 -BattleFrontier_Lounge7_EventScript_265255:: @ 8265255 +BattleFrontier_Lounge7_EventScript_LeftMoveTutor:: @ 8265255 lock faceplayer - setvar VAR_TEMP_C, 9 - goto_if_set FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR, BattleFrontier_Lounge7_EventScript_265276 - msgbox BattleFrontier_Lounge7_Text_2656ED, MSGBOX_DEFAULT + setvar VAR_TEMP_C, SCROLL_MULTI_BF_MOVE_TUTOR_1 + goto_if_set FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR, BattleFrontier_Lounge7_EventScript_AlreadyMetLeftTutor + msgbox BattleFrontier_Lounge7_Text_LeftTutorIntro, MSGBOX_DEFAULT setflag FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR - goto BattleFrontier_Lounge7_EventScript_265284 + goto BattleFrontier_Lounge7_EventScript_ChooseLeftTutorMove end -BattleFrontier_Lounge7_EventScript_265276:: @ 8265276 - msgbox BattleFrontier_Lounge7_Text_2658AB, MSGBOX_DEFAULT - goto BattleFrontier_Lounge7_EventScript_265284 +BattleFrontier_Lounge7_EventScript_AlreadyMetLeftTutor:: @ 8265276 + msgbox BattleFrontier_Lounge7_Text_LeftTutorWelcomeBack, MSGBOX_DEFAULT + goto BattleFrontier_Lounge7_EventScript_ChooseLeftTutorMove end -BattleFrontier_Lounge7_EventScript_265284:: @ 8265284 - message BattleFrontier_Lounge7_Text_2658EF +BattleFrontier_Lounge7_EventScript_ChooseLeftTutorMove:: @ 8265284 + message BattleFrontier_Lounge7_Text_TeachWhichMove waitmessage - special sub_813A958 + special ShowBattlePointsWindow setvar VAR_TEMP_E, 0 - setvar VAR_0x8004, 9 + setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_1 setvar VAR_0x8006, 0 - special sub_813A128 + special ShowScrollableMultichoice waitstate copyvar VAR_TEMP_D, VAR_RESULT switch VAR_RESULT - case 0, BattleFrontier_Lounge7_EventScript_2653D7 - case 1, BattleFrontier_Lounge7_EventScript_2653E2 - case 2, BattleFrontier_Lounge7_EventScript_2653ED - case 3, BattleFrontier_Lounge7_EventScript_2653F8 - case 4, BattleFrontier_Lounge7_EventScript_265403 - case 5, BattleFrontier_Lounge7_EventScript_26540E - case 6, BattleFrontier_Lounge7_EventScript_265419 - case 7, BattleFrontier_Lounge7_EventScript_265424 - case 8, BattleFrontier_Lounge7_EventScript_26542F - case 9, BattleFrontier_Lounge7_EventScript_26543A - case 10, BattleFrontier_Lounge7_EventScript_265635 - case 127, BattleFrontier_Lounge7_EventScript_265635 + case 0, BattleFrontier_Lounge7_EventScript_Softboiled + case 1, BattleFrontier_Lounge7_EventScript_SeismicToss + case 2, BattleFrontier_Lounge7_EventScript_DreamEater + case 3, BattleFrontier_Lounge7_EventScript_MegaPunch + case 4, BattleFrontier_Lounge7_EventScript_MegaKick + case 5, BattleFrontier_Lounge7_EventScript_BodySlam + case 6, BattleFrontier_Lounge7_EventScript_RockSlide + case 7, BattleFrontier_Lounge7_EventScript_Counter + case 8, BattleFrontier_Lounge7_EventScript_ThunderWave + case 9, BattleFrontier_Lounge7_EventScript_SwordsDance + case 10, BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect + case MULTI_B_PRESSED, BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect end -BattleFrontier_Lounge7_EventScript_26532F:: @ 826532F - message BattleFrontier_Lounge7_Text_2658EF +BattleFrontier_Lounge7_EventScript_ChooseNewLeftTutorMove:: @ 826532F + message BattleFrontier_Lounge7_Text_TeachWhichMove waitmessage setvar VAR_TEMP_E, 0 - setvar VAR_0x8004, 9 + setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_1 setvar VAR_0x8006, 1 - special sub_813A128 + special ShowScrollableMultichoice waitstate copyvar VAR_TEMP_D, VAR_RESULT switch VAR_RESULT - case 0, BattleFrontier_Lounge7_EventScript_2653D7 - case 1, BattleFrontier_Lounge7_EventScript_2653E2 - case 2, BattleFrontier_Lounge7_EventScript_2653ED - case 3, BattleFrontier_Lounge7_EventScript_2653F8 - case 4, BattleFrontier_Lounge7_EventScript_265403 - case 5, BattleFrontier_Lounge7_EventScript_26540E - case 6, BattleFrontier_Lounge7_EventScript_265419 - case 7, BattleFrontier_Lounge7_EventScript_265424 - case 8, BattleFrontier_Lounge7_EventScript_26542F - case 9, BattleFrontier_Lounge7_EventScript_26543A - case 10, BattleFrontier_Lounge7_EventScript_265635 - case 127, BattleFrontier_Lounge7_EventScript_265635 + case 0, BattleFrontier_Lounge7_EventScript_Softboiled + case 1, BattleFrontier_Lounge7_EventScript_SeismicToss + case 2, BattleFrontier_Lounge7_EventScript_DreamEater + case 3, BattleFrontier_Lounge7_EventScript_MegaPunch + case 4, BattleFrontier_Lounge7_EventScript_MegaKick + case 5, BattleFrontier_Lounge7_EventScript_BodySlam + case 6, BattleFrontier_Lounge7_EventScript_RockSlide + case 7, BattleFrontier_Lounge7_EventScript_Counter + case 8, BattleFrontier_Lounge7_EventScript_ThunderWave + case 9, BattleFrontier_Lounge7_EventScript_SwordsDance + case 10, BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect + case MULTI_B_PRESSED, BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect end -BattleFrontier_Lounge7_EventScript_2653D7:: @ 82653D7 +BattleFrontier_Lounge7_EventScript_Softboiled:: @ 82653D7 setvar VAR_0x8008, 16 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_2653E2:: @ 82653E2 +BattleFrontier_Lounge7_EventScript_SeismicToss:: @ 82653E2 setvar VAR_0x8008, 24 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_2653ED:: @ 82653ED +BattleFrontier_Lounge7_EventScript_DreamEater:: @ 82653ED setvar VAR_0x8008, 24 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_2653F8:: @ 82653F8 +BattleFrontier_Lounge7_EventScript_MegaPunch:: @ 82653F8 setvar VAR_0x8008, 24 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_265403:: @ 8265403 +BattleFrontier_Lounge7_EventScript_MegaKick:: @ 8265403 setvar VAR_0x8008, 48 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_26540E:: @ 826540E +BattleFrontier_Lounge7_EventScript_BodySlam:: @ 826540E setvar VAR_0x8008, 48 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_265419:: @ 8265419 +BattleFrontier_Lounge7_EventScript_RockSlide:: @ 8265419 setvar VAR_0x8008, 48 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_265424:: @ 8265424 +BattleFrontier_Lounge7_EventScript_Counter:: @ 8265424 setvar VAR_0x8008, 48 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_26542F:: @ 826542F +BattleFrontier_Lounge7_EventScript_ThunderWave:: @ 826542F setvar VAR_0x8008, 48 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_26543A:: @ 826543A +BattleFrontier_Lounge7_EventScript_SwordsDance:: @ 826543A setvar VAR_0x8008, 48 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_265445:: @ 8265445 +BattleFrontier_Lounge7_EventScript_RightMoveTutor:: @ 8265445 lock faceplayer - setvar VAR_TEMP_C, 10 - goto_if_set FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR, BattleFrontier_Lounge7_EventScript_265466 - msgbox BattleFrontier_Lounge7_Text_265A6C, MSGBOX_DEFAULT + setvar VAR_TEMP_C, SCROLL_MULTI_BF_MOVE_TUTOR_2 + goto_if_set FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR, BattleFrontier_Lounge7_EventScript_AlreadyMetRightTutor + msgbox BattleFrontier_Lounge7_Text_RightTutorIntro, MSGBOX_DEFAULT setflag FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR - goto BattleFrontier_Lounge7_EventScript_265474 + goto BattleFrontier_Lounge7_EventScript_ChooseRightTutorMove end -BattleFrontier_Lounge7_EventScript_265466:: @ 8265466 - msgbox BattleFrontier_Lounge7_Text_265C2C, MSGBOX_DEFAULT - goto BattleFrontier_Lounge7_EventScript_265474 +BattleFrontier_Lounge7_EventScript_AlreadyMetRightTutor:: @ 8265466 + msgbox BattleFrontier_Lounge7_Text_RightTutorWelcomeBack, MSGBOX_DEFAULT + goto BattleFrontier_Lounge7_EventScript_ChooseRightTutorMove end -BattleFrontier_Lounge7_EventScript_265474:: @ 8265474 - message BattleFrontier_Lounge7_Text_2658EF +BattleFrontier_Lounge7_EventScript_ChooseRightTutorMove:: @ 8265474 + message BattleFrontier_Lounge7_Text_TeachWhichMove waitmessage - special sub_813A958 + special ShowBattlePointsWindow setvar VAR_TEMP_E, 1 - setvar VAR_0x8004, 10 + setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_2 setvar VAR_0x8006, 0 - special sub_813A128 + special ShowScrollableMultichoice waitstate copyvar VAR_TEMP_D, VAR_RESULT switch VAR_RESULT - case 0, BattleFrontier_Lounge7_EventScript_2655C7 - case 1, BattleFrontier_Lounge7_EventScript_2655D2 - case 2, BattleFrontier_Lounge7_EventScript_2655DD - case 3, BattleFrontier_Lounge7_EventScript_2655E8 - case 4, BattleFrontier_Lounge7_EventScript_2655F3 - case 5, BattleFrontier_Lounge7_EventScript_2655FE - case 6, BattleFrontier_Lounge7_EventScript_265609 - case 7, BattleFrontier_Lounge7_EventScript_265614 - case 8, BattleFrontier_Lounge7_EventScript_26561F - case 9, BattleFrontier_Lounge7_EventScript_26562A - case 10, BattleFrontier_Lounge7_EventScript_265635 - case 127, BattleFrontier_Lounge7_EventScript_265635 + case 0, BattleFrontier_Lounge7_EventScript_DefenseCurl + case 1, BattleFrontier_Lounge7_EventScript_Snore + case 2, BattleFrontier_Lounge7_EventScript_MudSlap + case 3, BattleFrontier_Lounge7_EventScript_Swift + case 4, BattleFrontier_Lounge7_EventScript_IcyWind + case 5, BattleFrontier_Lounge7_EventScript_Endure + case 6, BattleFrontier_Lounge7_EventScript_PsychUp + case 7, BattleFrontier_Lounge7_EventScript_IcePunch + case 8, BattleFrontier_Lounge7_EventScript_ThunderPunch + case 9, BattleFrontier_Lounge7_EventScript_FirePunch + case 10, BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect + case MULTI_B_PRESSED, BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect end -BattleFrontier_Lounge7_EventScript_26551F:: @ 826551F - message BattleFrontier_Lounge7_Text_2658EF +BattleFrontier_Lounge7_EventScript_ChooseNewRightTutorMove:: @ 826551F + message BattleFrontier_Lounge7_Text_TeachWhichMove waitmessage setvar VAR_TEMP_E, 1 - setvar VAR_0x8004, 10 + setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_2 setvar VAR_0x8006, 1 - special sub_813A128 + special ShowScrollableMultichoice waitstate copyvar VAR_TEMP_D, VAR_RESULT switch VAR_RESULT - case 0, BattleFrontier_Lounge7_EventScript_2655C7 - case 1, BattleFrontier_Lounge7_EventScript_2655D2 - case 2, BattleFrontier_Lounge7_EventScript_2655DD - case 3, BattleFrontier_Lounge7_EventScript_2655E8 - case 4, BattleFrontier_Lounge7_EventScript_2655F3 - case 5, BattleFrontier_Lounge7_EventScript_2655FE - case 6, BattleFrontier_Lounge7_EventScript_265609 - case 7, BattleFrontier_Lounge7_EventScript_265614 - case 8, BattleFrontier_Lounge7_EventScript_26561F - case 9, BattleFrontier_Lounge7_EventScript_26562A - case 10, BattleFrontier_Lounge7_EventScript_265635 - case 127, BattleFrontier_Lounge7_EventScript_265635 + case 0, BattleFrontier_Lounge7_EventScript_DefenseCurl + case 1, BattleFrontier_Lounge7_EventScript_Snore + case 2, BattleFrontier_Lounge7_EventScript_MudSlap + case 3, BattleFrontier_Lounge7_EventScript_Swift + case 4, BattleFrontier_Lounge7_EventScript_IcyWind + case 5, BattleFrontier_Lounge7_EventScript_Endure + case 6, BattleFrontier_Lounge7_EventScript_PsychUp + case 7, BattleFrontier_Lounge7_EventScript_IcePunch + case 8, BattleFrontier_Lounge7_EventScript_ThunderPunch + case 9, BattleFrontier_Lounge7_EventScript_FirePunch + case 10, BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect + case MULTI_B_PRESSED, BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect end -BattleFrontier_Lounge7_EventScript_2655C7:: @ 82655C7 +BattleFrontier_Lounge7_EventScript_DefenseCurl:: @ 82655C7 setvar VAR_0x8008, 16 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_2655D2:: @ 82655D2 +BattleFrontier_Lounge7_EventScript_Snore:: @ 82655D2 setvar VAR_0x8008, 24 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_2655DD:: @ 82655DD +BattleFrontier_Lounge7_EventScript_MudSlap:: @ 82655DD setvar VAR_0x8008, 24 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_2655E8:: @ 82655E8 +BattleFrontier_Lounge7_EventScript_Swift:: @ 82655E8 setvar VAR_0x8008, 24 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_2655F3:: @ 82655F3 +BattleFrontier_Lounge7_EventScript_IcyWind:: @ 82655F3 setvar VAR_0x8008, 24 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_2655FE:: @ 82655FE +BattleFrontier_Lounge7_EventScript_Endure:: @ 82655FE setvar VAR_0x8008, 48 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_265609:: @ 8265609 +BattleFrontier_Lounge7_EventScript_PsychUp:: @ 8265609 setvar VAR_0x8008, 48 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_265614:: @ 8265614 +BattleFrontier_Lounge7_EventScript_IcePunch:: @ 8265614 setvar VAR_0x8008, 48 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_26561F:: @ 826561F +BattleFrontier_Lounge7_EventScript_ThunderPunch:: @ 826561F setvar VAR_0x8008, 48 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_26562A:: @ 826562A +BattleFrontier_Lounge7_EventScript_FirePunch:: @ 826562A setvar VAR_0x8008, 48 - goto BattleFrontier_Lounge7_EventScript_26564F + goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection end -BattleFrontier_Lounge7_EventScript_265635:: @ 8265635 - special sub_813ADB8 - special sub_813A988 - msgbox BattleFrontier_Lounge7_Text_265A0E, MSGBOX_DEFAULT +BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect:: @ 8265635 + special CloseBattleFrontierTutorWindow + special CloseBattlePointsWindow + msgbox BattleFrontier_Lounge7_Text_YouDontWantTo, MSGBOX_DEFAULT release end -BattleFrontier_Lounge7_EventScript_265645:: @ 8265645 - msgbox BattleFrontier_Lounge7_Text_265A0E, MSGBOX_DEFAULT +BattleFrontier_Lounge7_EventScript_CancelChooseMon:: @ 8265645 + msgbox BattleFrontier_Lounge7_Text_YouDontWantTo, MSGBOX_DEFAULT release end -BattleFrontier_Lounge7_EventScript_26564F:: @ 826564F +@ VAR_0x8008 is the price +@ VAR_TEMP_C is the scroll multichoice ID +@ VAR_TEMP_D is the move selection +@ VAR_TEMP_E is which move tutor was spoken to +BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection:: @ 826564F copyvar VAR_0x8004, VAR_TEMP_D copyvar VAR_0x8005, VAR_TEMP_E - special sub_813AC7C + special BufferBattleFrontierTutorMoveName buffernumberstring 1, VAR_0x8008 copyvar VAR_0x8004, VAR_TEMP_C - msgbox BattleFrontier_Lounge7_Text_265921, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_Lounge7_EventScript_2656CA - specialvar VAR_TEMP_1, sub_813AA04 + msgbox BattleFrontier_Lounge7_Text_MoveWillBeXBattlePoints, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_Lounge7_EventScript_ChooseNewMove + specialvar VAR_TEMP_1, GetFrontierBattlePoints compare VAR_TEMP_1, VAR_0x8008 - goto_if_ge BattleFrontier_Lounge7_EventScript_265696 - msgbox BattleFrontier_Lounge7_Text_265997, MSGBOX_DEFAULT - goto BattleFrontier_Lounge7_EventScript_2656CA + goto_if_ge BattleFrontier_Lounge7_EventScript_TeachTutorMove + msgbox BattleFrontier_Lounge7_Text_HaventGotEnoughPoints, MSGBOX_DEFAULT + goto BattleFrontier_Lounge7_EventScript_ChooseNewMove end -BattleFrontier_Lounge7_EventScript_265696:: @ 8265696 - msgbox BattleFrontier_Lounge7_Text_26595A, MSGBOX_DEFAULT - special sub_813AEB4 - fadescreen 1 - special sub_813A988 - special sub_813ADB8 - special sub_81B892C +BattleFrontier_Lounge7_EventScript_TeachTutorMove:: @ 8265696 + msgbox BattleFrontier_Lounge7_Text_TeachMoveToWhichMon, MSGBOX_DEFAULT + special GetBattleFrontierTutorMoveIndex + fadescreen FADE_TO_BLACK + special CloseBattlePointsWindow + special CloseBattleFrontierTutorWindow + special ChooseMonForMoveTutor waitstate - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_Lounge7_EventScript_265645 - msgbox BattleFrontier_Lounge7_Text_2659C7, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + goto_if_eq BattleFrontier_Lounge7_EventScript_CancelChooseMon + msgbox BattleFrontier_Lounge7_Text_IllTakeBattlePoints, MSGBOX_DEFAULT copyvar VAR_0x8004, VAR_0x8008 - special sub_813A9A4 + special TakeFrontierBattlePoints release end -BattleFrontier_Lounge7_EventScript_2656CA:: @ 82656CA +BattleFrontier_Lounge7_EventScript_ChooseNewMove:: @ 82656CA compare VAR_TEMP_E, 0 - goto_if_eq BattleFrontier_Lounge7_EventScript_26532F - goto BattleFrontier_Lounge7_EventScript_26551F + goto_if_eq BattleFrontier_Lounge7_EventScript_ChooseNewLeftTutorMove + goto BattleFrontier_Lounge7_EventScript_ChooseNewRightTutorMove end -BattleFrontier_Lounge7_EventScript_2656DB:: @ 82656DB - msgbox BattleFrontier_Lounge7_Text_265C6F, MSGBOX_NPC +BattleFrontier_Lounge7_EventScript_Sailor:: @ 82656DB + msgbox BattleFrontier_Lounge7_Text_ThinkLadiesDontGetAlong, MSGBOX_NPC end -BattleFrontier_Lounge7_EventScript_2656E4:: @ 82656E4 - msgbox BattleFrontier_Lounge7_Text_265D17, MSGBOX_NPC +BattleFrontier_Lounge7_EventScript_Gentleman:: @ 82656E4 + msgbox BattleFrontier_Lounge7_Text_LadiesWereStrongAndBeautiful, MSGBOX_NPC end -BattleFrontier_Lounge7_Text_2656ED: @ 82656ED +BattleFrontier_Lounge7_Text_LeftTutorIntro: @ 82656ED .string "Buhahaha!\p" .string "You couldn't tell it from looking now,\n" .string "but I used to be one tough TRAINER.\p" @@ -305,38 +309,38 @@ BattleFrontier_Lounge7_Text_2656ED: @ 82656ED .string "How about paying for the moves I teach\l" .string "with a wee bit of Battle Points?$" -BattleFrontier_Lounge7_Text_2658AB: @ 82658AB +BattleFrontier_Lounge7_Text_LeftTutorWelcomeBack: @ 82658AB .string "Buhahaha!\p" .string "Are you back to learn special and\n" .string "yet cute POKéMON moves?$" -BattleFrontier_Lounge7_Text_2658EF: @ 82658EF +BattleFrontier_Lounge7_Text_TeachWhichMove: @ 82658EF .string "Fine, fine, look here!\n" .string "Which move should I teach?$" -BattleFrontier_Lounge7_Text_265921: @ 8265921 +BattleFrontier_Lounge7_Text_MoveWillBeXBattlePoints: @ 8265921 .string "The move {STR_VAR_1}, is it?\n" .string "That will be {STR_VAR_2} Battle Points, okay?$" -BattleFrontier_Lounge7_Text_26595A: @ 826595A +BattleFrontier_Lounge7_Text_TeachMoveToWhichMon: @ 826595A .string "Fine, fine, now pick the POKéMON\n" .string "I should teach the move to.$" -BattleFrontier_Lounge7_Text_265997: @ 8265997 +BattleFrontier_Lounge7_Text_HaventGotEnoughPoints: @ 8265997 .string "What the…\n" .string "You haven't got enough Battle Points!$" -BattleFrontier_Lounge7_Text_2659C7: @ 82659C7 +BattleFrontier_Lounge7_Text_IllTakeBattlePoints: @ 82659C7 .string "Do you see how skilled I am now?\n" .string "I'll take your Battle Points, thanks!$" -BattleFrontier_Lounge7_Text_265A0E: @ 8265A0E +BattleFrontier_Lounge7_Text_YouDontWantTo: @ 8265A0E .string "What's that?\n" .string "You don't want to…\p" .string "If you want to see how skilled I am,\n" .string "you come see me anytime!$" -BattleFrontier_Lounge7_Text_265A6C: @ 8265A6C +BattleFrontier_Lounge7_Text_RightTutorIntro: @ 8265A6C .string "Ihihihi!\p" .string "I know it's hard to see now, but I used\n" .string "to be one fantastic TRAINER.\p" @@ -354,19 +358,19 @@ BattleFrontier_Lounge7_Text_265A6C: @ 8265A6C .string "How about paying for the moves I teach\l" .string "with a wee bit of Battle Points?$" -BattleFrontier_Lounge7_Text_265C2C: @ 8265C2C +BattleFrontier_Lounge7_Text_RightTutorWelcomeBack: @ 8265C2C .string "Ihihihi!\p" .string "Have you come to learn hard and\n" .string "yet pretty POKéMON moves?$" -BattleFrontier_Lounge7_Text_265C6F: @ 8265C6F +BattleFrontier_Lounge7_Text_ThinkLadiesDontGetAlong: @ 8265C6F .string "Those ladies, the way they bad-mouth\n" .string "each other, you probably think that\l" .string "they don't get along.\p" .string "But if that were true, they wouldn't\n" .string "stay out here together, would they?$" -BattleFrontier_Lounge7_Text_265D17: @ 8265D17 +BattleFrontier_Lounge7_Text_LadiesWereStrongAndBeautiful: @ 8265D17 .string "When I was just a wee YOUNGSTER,\n" .string "those ladies were strong and beautiful.\p" .string "They were idols among us TRAINERS.\p" @@ -378,102 +382,102 @@ BattleFrontier_Lounge7_Text_265D17: @ 8265D17 .string "but feel this…\p" .string "Time is so cruel…$" -BattleFrontier_Lounge7_Text_265E30:: @ 8265E30 +BattleFrontier_Lounge7_Text_SoftboiledDesc:: @ 8265E30 .string "Recovers up to\n" .string "half the user's\n" .string "maximum HP.$" -BattleFrontier_Lounge7_Text_265E5B:: @ 8265E5B +BattleFrontier_Lounge7_Text_SeismicTossDesc:: @ 8265E5B .string "Inflicts damage\n" .string "identical to the\n" .string "user's level.$" -BattleFrontier_Lounge7_Text_265E8A:: @ 8265E8A +BattleFrontier_Lounge7_Text_DreamEaterDesc:: @ 8265E8A .string "Recovers half the\n" .string "damage inflicted\n" .string "on a sleeping foe.$" -BattleFrontier_Lounge7_Text_265EC0:: @ 8265EC0 +BattleFrontier_Lounge7_Text_MegaPunchDesc:: @ 8265EC0 .string "A strong punch\n" .string "thrown with\n" .string "incredible power.$" -BattleFrontier_Lounge7_Text_265EED:: @ 8265EED +BattleFrontier_Lounge7_Text_MegaKickDesc:: @ 8265EED .string "An extremely\n" .string "powerful kick with\n" .string "intense force.$" -BattleFrontier_Lounge7_Text_265F1C:: @ 8265F1C +BattleFrontier_Lounge7_Text_BodySlamDesc:: @ 8265F1C .string "A full-body slam\n" .string "that may cause\n" .string "paralysis.$" -BattleFrontier_Lounge7_Text_265F47:: @ 8265F47 +BattleFrontier_Lounge7_Text_RockSlideDesc:: @ 8265F47 .string "Large boulders\n" .string "are hurled. May\n" .string "cause flinching.$" -BattleFrontier_Lounge7_Text_265F77:: @ 8265F77 +BattleFrontier_Lounge7_Text_CounterDesc:: @ 8265F77 .string "Retaliates any\n" .string "physical hit with\n" .string "double the power.$" -BattleFrontier_Lounge7_Text_265FAA:: @ 8265FAA +BattleFrontier_Lounge7_Text_ThunderWaveDesc:: @ 8265FAA .string "A weak jolt of\n" .string "electricity that\n" .string "paralyzes the foe.$" -BattleFrontier_Lounge7_Text_265FDD:: @ 8265FDD +BattleFrontier_Lounge7_Text_SwordsDanceDesc:: @ 8265FDD .string "A fighting dance\n" .string "that sharply\n" .string "raises ATTACK.$" -BattleFrontier_Lounge7_Text_26600A:: @ 826600A +BattleFrontier_Lounge7_Text_DefenseCurlDesc:: @ 826600A .string "Curls up to con-\n" .string "ceal weak spots\n" .string "and raise DEFENSE.$" -BattleFrontier_Lounge7_Text_26603E:: @ 826603E +BattleFrontier_Lounge7_Text_SnoreDesc:: @ 826603E .string "A loud attack\n" .string "that can be used\n" .string "only while asleep.$" -BattleFrontier_Lounge7_Text_266070:: @ 8266070 +BattleFrontier_Lounge7_Text_MudSlapDesc:: @ 8266070 .string "Hurls mud in the\n" .string "foe's face to re-\n" .string "duce its accuracy.$" -BattleFrontier_Lounge7_Text_2660A6:: @ 82660A6 +BattleFrontier_Lounge7_Text_SwiftDesc:: @ 82660A6 .string "Sprays star-\n" .string "shaped rays\n" .string "that never miss.$" -BattleFrontier_Lounge7_Text_2660D0:: @ 82660D0 +BattleFrontier_Lounge7_Text_IcyWindDesc:: @ 82660D0 .string "A chilling attack\n" .string "that lowers the\n" .string "foe's SPEED.$" -BattleFrontier_Lounge7_Text_2660FF:: @ 82660FF +BattleFrontier_Lounge7_Text_EndureDesc:: @ 82660FF .string "Endures any at-\n" .string "tack for 1 turn,\n" .string "leaving 1HP.$" -BattleFrontier_Lounge7_Text_26612D:: @ 826612D +BattleFrontier_Lounge7_Text_PsychUpDesc:: @ 826612D .string "Copies the foe's\n" .string "effect(s) and\n" .string "gives to the user.$" -BattleFrontier_Lounge7_Text_26615F:: @ 826615F +BattleFrontier_Lounge7_Text_IcePunchDesc:: @ 826615F .string "An icy punch\n" .string "that may\n" .string "freeze the foe.$" -BattleFrontier_Lounge7_Text_266185:: @ 8266185 +BattleFrontier_Lounge7_Text_ThunderPunchDesc:: @ 8266185 .string "An electrified\n" .string "punch that may\n" .string "paralyze the foe.$" -BattleFrontier_Lounge7_Text_2661B5:: @ 82661B5 +BattleFrontier_Lounge7_Text_FirePunchDesc:: @ 82661B5 .string "A fiery punch\n" .string "that may burn\n" .string "the foe.$" diff --git a/data/maps/BattleFrontier_Lounge8/map.json b/data/maps/BattleFrontier_Lounge8/map.json index ff2bd23614..519f008fcf 100644 --- a/data/maps/BattleFrontier_Lounge8/map.json +++ b/data/maps/BattleFrontier_Lounge8/map.json @@ -24,7 +24,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge8_EventScript_2676DC", + "script": "BattleFrontier_Lounge8_EventScript_NinjaBoy", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge8_EventScript_2676CA", + "script": "BattleFrontier_Lounge8_EventScript_Man", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Lounge8_EventScript_2676D3", + "script": "BattleFrontier_Lounge8_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/BattleFrontier_Lounge8/scripts.inc b/data/maps/BattleFrontier_Lounge8/scripts.inc index 3a6f78fd7e..2615af7439 100644 --- a/data/maps/BattleFrontier_Lounge8/scripts.inc +++ b/data/maps/BattleFrontier_Lounge8/scripts.inc @@ -1,19 +1,19 @@ BattleFrontier_Lounge8_MapScripts:: @ 82676C9 .byte 0 -BattleFrontier_Lounge8_EventScript_2676CA:: @ 82676CA - msgbox BattleFrontier_Lounge8_Text_2676E5, MSGBOX_NPC +BattleFrontier_Lounge8_EventScript_Man:: @ 82676CA + msgbox BattleFrontier_Lounge8_Text_WhatATrainerNeeds, MSGBOX_NPC end -BattleFrontier_Lounge8_EventScript_2676D3:: @ 82676D3 - msgbox BattleFrontier_Lounge8_Text_26779C, MSGBOX_NPC +BattleFrontier_Lounge8_EventScript_Woman:: @ 82676D3 + msgbox BattleFrontier_Lounge8_Text_KnowAboutFrontierBrains, MSGBOX_NPC end -BattleFrontier_Lounge8_EventScript_2676DC:: @ 82676DC - msgbox BattleFrontier_Lounge8_Text_26782C, MSGBOX_NPC +BattleFrontier_Lounge8_EventScript_NinjaBoy:: @ 82676DC + msgbox BattleFrontier_Lounge8_Text_ToldMeIHaveTalentForBattling, MSGBOX_NPC end -BattleFrontier_Lounge8_Text_2676E5: @ 82676E5 +BattleFrontier_Lounge8_Text_WhatATrainerNeeds: @ 82676E5 .string "What a TRAINER needs…\p" .string "Knowledge…\n" .string "Strategy…\l" @@ -27,14 +27,14 @@ BattleFrontier_Lounge8_Text_2676E5: @ 82676E5 .string "Huh? POKéMON?\n" .string "What's that?$" -BattleFrontier_Lounge8_Text_26779C: @ 826779C +BattleFrontier_Lounge8_Text_KnowAboutFrontierBrains: @ 826779C .string "Do you know about the FRONTIER\n" .string "BRAINS?\p" .string "That's what SCOTT calls the seven\n" .string "special TRAINERS that run the seven\l" .string "facilities in the BATTLE FRONTIER.$" -BattleFrontier_Lounge8_Text_26782C: @ 826782C +BattleFrontier_Lounge8_Text_ToldMeIHaveTalentForBattling: @ 826782C .string "At the BATTLE TOWER, an older girl\n" .string "told me that I have a lot of talent\l" .string "for battling!\p" diff --git a/data/maps/BattleFrontier_Mart/map.json b/data/maps/BattleFrontier_Mart/map.json index 46f6de9af3..f4adf6c367 100644 --- a/data/maps/BattleFrontier_Mart/map.json +++ b/data/maps/BattleFrontier_Mart/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Mart_EventScript_267ACC", + "script": "BattleFrontier_Mart_EventScript_Clerk", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Mart_EventScript_267B0B", + "script": "BattleFrontier_Mart_EventScript_OldWoman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Mart_EventScript_267B02", + "script": "BattleFrontier_Mart_EventScript_OldMan", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_Mart_EventScript_267B20", + "script": "BattleFrontier_Mart_EventScript_Boy", "flag": "0" } ], diff --git a/data/maps/BattleFrontier_Mart/scripts.inc b/data/maps/BattleFrontier_Mart/scripts.inc index d84b2cb0ad..e04a2e6d34 100644 --- a/data/maps/BattleFrontier_Mart/scripts.inc +++ b/data/maps/BattleFrontier_Mart/scripts.inc @@ -1,18 +1,18 @@ BattleFrontier_Mart_MapScripts:: @ 8267ACB .byte 0 -BattleFrontier_Mart_EventScript_267ACC:: @ 8267ACC +BattleFrontier_Mart_EventScript_Clerk:: @ 8267ACC lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart BattleFrontier_Mart_Pokemart_267AE4 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart BattleFrontier_Mart_Pokemart + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -BattleFrontier_Mart_Pokemart_267AE4: @ 8267AE4 +BattleFrontier_Mart_Pokemart: @ 8267AE4 .2byte ITEM_ULTRA_BALL .2byte ITEM_HYPER_POTION .2byte ITEM_MAX_POTION @@ -30,35 +30,35 @@ BattleFrontier_Mart_Pokemart_267AE4: @ 8267AE4 release end -BattleFrontier_Mart_EventScript_267B02:: @ 8267B02 - msgbox BattleFrontier_Mart_Text_267B29, MSGBOX_NPC +BattleFrontier_Mart_EventScript_OldMan:: @ 8267B02 + msgbox BattleFrontier_Mart_Text_ChaperonGrandson, MSGBOX_NPC end -BattleFrontier_Mart_EventScript_267B0B:: @ 8267B0B +BattleFrontier_Mart_EventScript_OldWoman:: @ 8267B0B lock applymovement 2, Common_Movement_FaceDown waitmovement 0 - msgbox BattleFrontier_Mart_Text_267B8F, MSGBOX_DEFAULT + msgbox BattleFrontier_Mart_Text_ProteinMakeNiceGift, MSGBOX_DEFAULT release end -BattleFrontier_Mart_EventScript_267B20:: @ 8267B20 - msgbox BattleFrontier_Mart_Text_267C01, MSGBOX_NPC +BattleFrontier_Mart_EventScript_Boy:: @ 8267B20 + msgbox BattleFrontier_Mart_Text_FacilitiesDontAllowItems, MSGBOX_NPC end -BattleFrontier_Mart_Text_267B29: @ 8267B29 +BattleFrontier_Mart_Text_ChaperonGrandson: @ 8267B29 .string "We came here to chaperon our\n" .string "grandson.\p" .string "But since we're here, we thought\n" .string "we should get some souvenirs.$" -BattleFrontier_Mart_Text_267B8F: @ 8267B8F +BattleFrontier_Mart_Text_ProteinMakeNiceGift: @ 8267B8F .string "Dear, what do you think of this?\n" .string "Wouldn't this make a nice gift?\p" .string "It's…PRO…TE…IN?\n" .string "It sounds delicious, doesn't it?$" -BattleFrontier_Mart_Text_267C01: @ 8267C01 +BattleFrontier_Mart_Text_FacilitiesDontAllowItems: @ 8267C01 .string "A lot of the BATTLE FRONTIER's\n" .string "facilities don't allow the use of items\l" .string "during battles.\p" diff --git a/data/maps/BattleFrontier_OutsideEast/map.json b/data/maps/BattleFrontier_OutsideEast/map.json index 341b203218..cccf8fb8a4 100644 --- a/data/maps/BattleFrontier_OutsideEast/map.json +++ b/data/maps/BattleFrontier_OutsideEast/map.json @@ -30,7 +30,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242C67", + "script": "BattleFrontier_OutsideEast_EventScript_NinjaBoy", "flag": "0" }, { @@ -43,7 +43,7 @@ "movement_range_y": 3, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242C70", + "script": "BattleFrontier_OutsideEast_EventScript_Man1", "flag": "0" }, { @@ -56,7 +56,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242C79", + "script": "BattleFrontier_OutsideEast_EventScript_Hiker", "flag": "0" }, { @@ -69,7 +69,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242C82", + "script": "BattleFrontier_OutsideEast_EventScript_HexManiac", "flag": "0" }, { @@ -82,7 +82,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242C8B", + "script": "BattleFrontier_OutsideEast_EventScript_BlackBelt1", "flag": "0" }, { @@ -95,7 +95,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242C94", + "script": "BattleFrontier_OutsideEast_EventScript_Cook", "flag": "0" }, { @@ -108,7 +108,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242CBB", + "script": "BattleFrontier_OutsideEast_EventScript_ExpertF", "flag": "0" }, { @@ -121,7 +121,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242CE1", + "script": "BattleFrontier_OutsideEast_EventScript_TriathleteM", "flag": "0" }, { @@ -134,7 +134,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242CB2", + "script": "BattleFrontier_OutsideEast_EventScript_RichBoy", "flag": "0" }, { @@ -147,7 +147,7 @@ "movement_range_y": 6, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242CC4", + "script": "BattleFrontier_OutsideEast_EventScript_TriathleteF", "flag": "0" }, { @@ -160,7 +160,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242CCD", + "script": "BattleFrontier_OutsideEast_EventScript_Twin", "flag": "0" }, { @@ -173,7 +173,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242CD6", + "script": "BattleFrontier_OutsideEast_EventScript_Man2", "flag": "0" }, { @@ -186,7 +186,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242C9F", + "script": "BattleFrontier_OutsideEast_EventScript_Zigzagoon", "flag": "0" }, { @@ -199,7 +199,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242CEA", + "script": "BattleFrontier_OutsideEast_EventScript_Sudowoodo", "flag": "FLAG_HIDE_BATTLE_FRONTIER_SUDOWOODO" }, { @@ -212,7 +212,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242D79", + "script": "BattleFrontier_OutsideEast_EventScript_Maniac1", "flag": "0" }, { @@ -225,7 +225,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242D82", + "script": "BattleFrontier_OutsideEast_EventScript_Girl", "flag": "0" }, { @@ -238,7 +238,7 @@ "movement_range_y": 6, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242D8B", + "script": "BattleFrontier_OutsideEast_EventScript_PsychicM", "flag": "0" }, { @@ -251,7 +251,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242D94", + "script": "BattleFrontier_OutsideEast_EventScript_Man3", "flag": "0" }, { @@ -264,7 +264,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242D9D", + "script": "BattleFrontier_OutsideEast_EventScript_Woman1", "flag": "0" }, { @@ -277,7 +277,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242DA6", + "script": "BattleFrontier_OutsideEast_EventScript_Woman2", "flag": "0" }, { @@ -290,7 +290,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242DAF", + "script": "BattleFrontier_OutsideEast_EventScript_BlackBelt2", "flag": "0" }, { @@ -303,7 +303,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242DB8", + "script": "BattleFrontier_OutsideEast_EventScript_Maniac2", "flag": "0" }, { @@ -316,7 +316,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242DC3", + "script": "BattleFrontier_OutsideEast_EventScript_Woman3", "flag": "0" }, { @@ -329,7 +329,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242DE9", + "script": "BattleFrontier_OutsideEast_EventScript_OldWoman", "flag": "0" }, { @@ -342,7 +342,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242DE0", + "script": "BattleFrontier_OutsideEast_EventScript_Gentleman", "flag": "0" }, { @@ -355,7 +355,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideEast_EventScript_242E08", + "script": "BattleFrontier_OutsideEast_EventScript_Camper", "flag": "0" } ], @@ -406,7 +406,7 @@ "x": 10, "y": 28, "elevation": 0, - "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER", + "dest_map": "MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER", "dest_warp_id": 0 }, { @@ -467,7 +467,7 @@ "y": 17, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_OutsideEast_EventScript_242C43" + "script": "BattleFrontier_OutsideEast_EventScript_BattleTowerSign" }, { "type": "sign", @@ -475,7 +475,7 @@ "y": 56, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_OutsideEast_EventScript_242C4C" + "script": "BattleFrontier_OutsideEast_EventScript_BattlePalaceSign" }, { "type": "sign", @@ -483,7 +483,7 @@ "y": 34, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_OutsideEast_EventScript_242C55" + "script": "BattleFrontier_OutsideEast_EventScript_BattleArenaSign" }, { "type": "sign", @@ -491,7 +491,7 @@ "y": 15, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_OutsideEast_EventScript_242C5E" + "script": "BattleFrontier_OutsideEast_EventScript_BattlePyramidSign" }, { "type": "sign", @@ -499,7 +499,7 @@ "y": 29, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_OutsideEast_EventScript_242DD7" + "script": "BattleFrontier_OutsideEast_EventScript_ExchangeCornerSign" }, { "type": "sign", @@ -507,7 +507,7 @@ "y": 13, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_OutsideEast_EventScript_242DCE" + "script": "BattleFrontier_OutsideEast_EventScript_RankingHallSign" }, { "type": "sign", diff --git a/data/maps/BattleFrontier_OutsideEast/scripts.inc b/data/maps/BattleFrontier_OutsideEast/scripts.inc index b502da8ecc..ebfdba916a 100644 --- a/data/maps/BattleFrontier_OutsideEast/scripts.inc +++ b/data/maps/BattleFrontier_OutsideEast/scripts.inc @@ -1,125 +1,125 @@ BattleFrontier_OutsideEast_MapScripts:: @ 8242C04 - map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_OutsideEast_MapScript1_242C0F - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_OutsideEast_MapScript1_242C2D + map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_OutsideEast_OnResume + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_OutsideEast_OnTransition .byte 0 -BattleFrontier_OutsideEast_MapScript1_242C0F: @ 8242C0F - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, BattleFrontier_OutsideEast_EventScript_242C19 +BattleFrontier_OutsideEast_OnResume: @ 8242C0F + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, BattleFrontier_OutsideEast_EventScript_TryRemoveSudowoodo end -BattleFrontier_OutsideEast_EventScript_242C19:: @ 8242C19 +BattleFrontier_OutsideEast_EventScript_TryRemoveSudowoodo:: @ 8242C19 specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject VAR_LAST_TALKED return -BattleFrontier_OutsideEast_MapScript1_242C2D: @ 8242C2D +BattleFrontier_OutsideEast_OnTransition: @ 8242C2D setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0 setflag FLAG_HIDE_BATTLE_TOWER_REPORTER - call_if_unset FLAG_DEFEATED_SUDOWOODO, BattleFrontier_OutsideEast_EventScript_242C3F + call_if_unset FLAG_DEFEATED_SUDOWOODO, BattleFrontier_OutsideEast_EventScript_ShowSudowoodo end -BattleFrontier_OutsideEast_EventScript_242C3F:: @ 8242C3F +BattleFrontier_OutsideEast_EventScript_ShowSudowoodo:: @ 8242C3F clearflag FLAG_HIDE_BATTLE_FRONTIER_SUDOWOODO return -BattleFrontier_OutsideEast_EventScript_242C43:: @ 8242C43 - msgbox BattleFrontier_OutsideEast_Text_242E11, MSGBOX_SIGN +BattleFrontier_OutsideEast_EventScript_BattleTowerSign:: @ 8242C43 + msgbox BattleFrontier_OutsideEast_Text_BattleTowerSign, MSGBOX_SIGN end -BattleFrontier_OutsideEast_EventScript_242C4C:: @ 8242C4C - msgbox BattleFrontier_OutsideEast_Text_242E58, MSGBOX_SIGN +BattleFrontier_OutsideEast_EventScript_BattlePalaceSign:: @ 8242C4C + msgbox BattleFrontier_OutsideEast_Text_BattlePalaceSign, MSGBOX_SIGN end -BattleFrontier_OutsideEast_EventScript_242C55:: @ 8242C55 - msgbox BattleFrontier_OutsideEast_Text_242E96, MSGBOX_SIGN +BattleFrontier_OutsideEast_EventScript_BattleArenaSign:: @ 8242C55 + msgbox BattleFrontier_OutsideEast_Text_BattleArenaSign, MSGBOX_SIGN end -BattleFrontier_OutsideEast_EventScript_242C5E:: @ 8242C5E - msgbox BattleFrontier_OutsideEast_Text_242ECF, MSGBOX_SIGN +BattleFrontier_OutsideEast_EventScript_BattlePyramidSign:: @ 8242C5E + msgbox BattleFrontier_OutsideEast_Text_BattlePyramidSign, MSGBOX_SIGN end -BattleFrontier_OutsideEast_EventScript_242C67:: @ 8242C67 - msgbox BattleFrontier_OutsideEast_Text_242F8C, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_NinjaBoy:: @ 8242C67 + msgbox BattleFrontier_OutsideEast_Text_BattleTowerFeelsSpecial, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242C70:: @ 8242C70 - msgbox BattleFrontier_OutsideEast_Text_242FDC, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_Man1:: @ 8242C70 + msgbox BattleFrontier_OutsideEast_Text_ConquerLeagueAndFrontier, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242C79:: @ 8242C79 - msgbox BattleFrontier_OutsideEast_Text_24308C, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_Hiker:: @ 8242C79 + msgbox BattleFrontier_OutsideEast_Text_PyramidTooHarsh, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242C82:: @ 8242C82 - msgbox BattleFrontier_OutsideEast_Text_243106, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_HexManiac:: @ 8242C82 + msgbox BattleFrontier_OutsideEast_Text_ThriveInDarkness, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242C8B:: @ 8242C8B - msgbox BattleFrontier_OutsideEast_Text_2431A5, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_BlackBelt1:: @ 8242C8B + msgbox BattleFrontier_OutsideEast_Text_PutTogetherUltimateTeam, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242C94:: @ 8242C94 +BattleFrontier_OutsideEast_EventScript_Cook:: @ 8242C94 lock - msgbox BattleFrontier_OutsideEast_Text_2432DD, MSGBOX_DEFAULT + msgbox BattleFrontier_OutsideEast_Text_BelieveInYouBuddy, MSGBOX_DEFAULT release end -BattleFrontier_OutsideEast_EventScript_242C9F:: @ 8242C9F +BattleFrontier_OutsideEast_EventScript_Zigzagoon:: @ 8242C9F lock faceplayer waitse playmoncry SPECIES_ZIGZAGOON, 0 - msgbox BattleFrontier_OutsideEast_Text_24334B, MSGBOX_DEFAULT + msgbox BattleFrontier_OutsideEast_Text_ZigzagoonLooksVacant, MSGBOX_DEFAULT waitmoncry release end -BattleFrontier_OutsideEast_EventScript_242CB2:: @ 8242CB2 - msgbox BattleFrontier_OutsideEast_Text_243363, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_RichBoy:: @ 8242CB2 + msgbox BattleFrontier_OutsideEast_Text_PeopleCallMeBusybody, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242CBB:: @ 8242CBB - msgbox BattleFrontier_OutsideEast_Text_243425, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_ExpertF:: @ 8242CBB + msgbox BattleFrontier_OutsideEast_Text_OnceBeatGymLeader, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242CC4:: @ 8242CC4 - msgbox BattleFrontier_OutsideEast_Text_2434A0, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_TriathleteF:: @ 8242CC4 + msgbox BattleFrontier_OutsideEast_Text_FastOnBikeAndBattles, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242CCD:: @ 8242CCD - msgbox BattleFrontier_OutsideEast_Text_243504, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_Twin:: @ 8242CCD + msgbox BattleFrontier_OutsideEast_Text_BetterThanDaddyAtPokemon, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242CD6:: @ 8242CD6 +BattleFrontier_OutsideEast_EventScript_Man2:: @ 8242CD6 lock - msgbox BattleFrontier_OutsideEast_Text_243529, MSGBOX_DEFAULT + msgbox BattleFrontier_OutsideEast_Text_GoRackUpSomeWinsForDaddy, MSGBOX_DEFAULT release end -BattleFrontier_OutsideEast_EventScript_242CE1:: @ 8242CE1 - msgbox BattleFrontier_OutsideEast_Text_243230, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_TriathleteM:: @ 8242CE1 + msgbox BattleFrontier_OutsideEast_Text_DidScottBringYouHere, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242CEA:: @ 8242CEA +BattleFrontier_OutsideEast_EventScript_Sudowoodo:: @ 8242CEA lock faceplayer waitse playse 269 - applymovement 14, BattleFrontier_OutsideEast_Movement_242D69 + applymovement 14, BattleFrontier_OutsideEast_Movement_SudowoodoShake waitmovement 0 release end -BattleFrontier_OutsideEast_EventScript_242CFC:: @ 8242CFC +BattleFrontier_OutsideEast_EventScript_WaterSudowoodo:: @ 8242CFC lock faceplayer special DoWateringBerryTreeAnim waitstate waitse - playse 269 - applymovement 14, BattleFrontier_OutsideEast_Movement_242D69 + playse SE_USSOKI + applymovement 14, BattleFrontier_OutsideEast_Movement_SudowoodoShake waitmovement 0 msgbox gText_Sudowoodo_Attacked, MSGBOX_DEFAULT closemessage @@ -127,28 +127,28 @@ BattleFrontier_OutsideEast_EventScript_242CFC:: @ 8242CFC playmoncry SPECIES_SUDOWOODO, 2 delay 40 waitmoncry - setvar VAR_LAST_TALKED, 14 + setvar VAR_LAST_TALKED, 14 @ Sudowoodo object event id setwildbattle SPECIES_SUDOWOODO, 40, ITEM_NONE setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_OutsideEast_EventScript_242D60 - compare VAR_RESULT, 4 - goto_if_eq BattleFrontier_OutsideEast_EventScript_242D60 - compare VAR_RESULT, 5 - goto_if_eq BattleFrontier_OutsideEast_EventScript_242D60 + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq BattleFrontier_OutsideEast_EventScript_DefeatedSudowoodo + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq BattleFrontier_OutsideEast_EventScript_DefeatedSudowoodo + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq BattleFrontier_OutsideEast_EventScript_DefeatedSudowoodo setflag FLAG_DEFEATED_SUDOWOODO release end -BattleFrontier_OutsideEast_EventScript_242D60:: @ 8242D60 +BattleFrontier_OutsideEast_EventScript_DefeatedSudowoodo:: @ 8242D60 setflag FLAG_DEFEATED_SUDOWOODO - goto IslandCave_EventScript_27376D + goto Common_EventScript_RemoveStaticPokemon end -BattleFrontier_OutsideEast_Movement_242D69: @ 8242D69 +BattleFrontier_OutsideEast_Movement_SudowoodoShake: @ 8242D69 face_right delay_8 face_down @@ -166,107 +166,107 @@ BattleFrontier_OutsideEast_Movement_242D69: @ 8242D69 face_down step_end -BattleFrontier_OutsideEast_EventScript_242D79:: @ 8242D79 - msgbox BattleFrontier_OutsideEast_Text_243598, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_Maniac1:: @ 8242D79 + msgbox BattleFrontier_OutsideEast_Text_HeardPrettyGirlAtBattleArena, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242D82:: @ 8242D82 - msgbox BattleFrontier_OutsideEast_Text_243668, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_Girl:: @ 8242D82 + msgbox BattleFrontier_OutsideEast_Text_SometimesImportantOldManInThere, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242D8B:: @ 8242D8B - msgbox BattleFrontier_OutsideEast_Text_2436F2, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_PsychicM:: @ 8242D8B + msgbox BattleFrontier_OutsideEast_Text_LegendOfBattlePyramid, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242D94:: @ 8242D94 - msgbox BattleFrontier_OutsideEast_Text_243809, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_Man3:: @ 8242D94 + msgbox BattleFrontier_OutsideEast_Text_GotWipedOut, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242D9D:: @ 8242D9D - msgbox BattleFrontier_OutsideEast_Text_243895, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_Woman1:: @ 8242D9D + msgbox BattleFrontier_OutsideEast_Text_ToughTrainerInBattleTower, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242DA6:: @ 8242DA6 - msgbox BattleFrontier_OutsideEast_Text_243943, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_Woman2:: @ 8242DA6 + msgbox BattleFrontier_OutsideEast_Text_EnoughBattlePointsForDoll, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242DAF:: @ 8242DAF - msgbox BattleFrontier_OutsideEast_Text_2439A0, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_BlackBelt2:: @ 8242DAF + msgbox BattleFrontier_OutsideEast_Text_LikeToHaveNameRecordedHere, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242DB8:: @ 8242DB8 +BattleFrontier_OutsideEast_EventScript_Maniac2:: @ 8242DB8 lock - msgbox BattleFrontier_OutsideEast_Text_243A2B, MSGBOX_DEFAULT + msgbox BattleFrontier_OutsideEast_Text_CanDoAnythingWithYou, MSGBOX_DEFAULT release end -BattleFrontier_OutsideEast_EventScript_242DC3:: @ 8242DC3 +BattleFrontier_OutsideEast_EventScript_Woman3:: @ 8242DC3 lock - msgbox BattleFrontier_OutsideEast_Text_243A53, MSGBOX_DEFAULT + msgbox BattleFrontier_OutsideEast_Text_PowerOfOurLoveWillOvercome, MSGBOX_DEFAULT release end -BattleFrontier_OutsideEast_EventScript_242DCE:: @ 8242DCE - msgbox BattleFrontier_OutsideEast_Text_242F0D, MSGBOX_SIGN +BattleFrontier_OutsideEast_EventScript_RankingHallSign:: @ 8242DCE + msgbox BattleFrontier_OutsideEast_Text_RankingHallSign, MSGBOX_SIGN end -BattleFrontier_OutsideEast_EventScript_242DD7:: @ 8242DD7 - msgbox BattleFrontier_OutsideEast_Text_242F4A, MSGBOX_SIGN +BattleFrontier_OutsideEast_EventScript_ExchangeCornerSign:: @ 8242DD7 + msgbox BattleFrontier_OutsideEast_Text_ExchangeCornerSign, MSGBOX_SIGN end -BattleFrontier_OutsideEast_EventScript_242DE0:: @ 8242DE0 - msgbox BattleFrontier_OutsideEast_Text_243B68, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_Gentleman:: @ 8242DE0 + msgbox BattleFrontier_OutsideEast_Text_FrontierNotExclusivelyForToughTrainers, MSGBOX_NPC end -BattleFrontier_OutsideEast_EventScript_242DE9:: @ 8242DE9 +BattleFrontier_OutsideEast_EventScript_OldWoman:: @ 8242DE9 lock faceplayer - goto_if_set FLAG_DEFEATED_SUDOWOODO, BattleFrontier_OutsideEast_EventScript_242DFE - msgbox BattleFrontier_OutsideEast_Text_243C2C, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_SUDOWOODO, BattleFrontier_OutsideEast_EventScript_OldWomanSudowoodoGone + msgbox BattleFrontier_OutsideEast_Text_OddTreeHereSeemsToWiggle, MSGBOX_DEFAULT release end -BattleFrontier_OutsideEast_EventScript_242DFE:: @ 8242DFE - msgbox BattleFrontier_OutsideEast_Text_243CA3, MSGBOX_DEFAULT +BattleFrontier_OutsideEast_EventScript_OldWomanSudowoodoGone:: @ 8242DFE + msgbox BattleFrontier_OutsideEast_Text_OnceAnOddTreePastHere, MSGBOX_DEFAULT release end -BattleFrontier_OutsideEast_EventScript_242E08:: @ 8242E08 - msgbox BattleFrontier_OutsideEast_Text_243D0B, MSGBOX_NPC +BattleFrontier_OutsideEast_EventScript_Camper:: @ 8242E08 + msgbox BattleFrontier_OutsideEast_Text_StickyMonWithLongTail, MSGBOX_NPC end -BattleFrontier_OutsideEast_Text_242E11: @ 8242E11 +BattleFrontier_OutsideEast_Text_BattleTowerSign: @ 8242E11 .string "This is the BATTLE TOWER!\n" .string "Keep the win streak as the toughest\l" .string "TRAINER!$" -BattleFrontier_OutsideEast_Text_242E58: @ 8242E58 +BattleFrontier_OutsideEast_Text_BattlePalaceSign: @ 8242E58 .string "This is the BATTLE PALACE!\n" .string "Keep your eyes on POKéMON battles!$" -BattleFrontier_OutsideEast_Text_242E96: @ 8242E96 +BattleFrontier_OutsideEast_Text_BattleArenaSign: @ 8242E96 .string "This is the BATTLE ARENA!\n" .string "Let the toughest teams gather!$" -BattleFrontier_OutsideEast_Text_242ECF: @ 8242ECF +BattleFrontier_OutsideEast_Text_BattlePyramidSign: @ 8242ECF .string "This is the BATTLE PYRAMID!\n" .string "Advance through the Battle Quest!$" -BattleFrontier_OutsideEast_Text_242F0D: @ 8242F0D +BattleFrontier_OutsideEast_Text_RankingHallSign: @ 8242F0D .string "BATTLE FRONTIER RANKING HALL\n" .string "Set your sights on new records!$" -BattleFrontier_OutsideEast_Text_242F4A: @ 8242F4A +BattleFrontier_OutsideEast_Text_ExchangeCornerSign: @ 8242F4A .string "BATTLE POINT EXCHANGE SERVICE CORNER\n" .string "Exchange your Battle Points!$" -BattleFrontier_OutsideEast_Text_242F8C: @ 8242F8C +BattleFrontier_OutsideEast_Text_BattleTowerFeelsSpecial: @ 8242F8C .string "Wow!\n" .string "It's huge!\p" .string "The BATTLE TOWER feels special.\n" .string "It's different from the others.$" -BattleFrontier_OutsideEast_Text_242FDC: @ 8242FDC +BattleFrontier_OutsideEast_Text_ConquerLeagueAndFrontier: @ 8242FDC .string "My grand ambition is to conquer both\n" .string "the BATTLE FRONTIER and the POKéMON\l" .string "LEAGUE.\p" @@ -274,26 +274,26 @@ BattleFrontier_OutsideEast_Text_242FDC: @ 8242FDC .string "I… I'm going to ask MIMI next door\n" .string "if she will be friends with me!$" -BattleFrontier_OutsideEast_Text_24308C: @ 824308C +BattleFrontier_OutsideEast_Text_PyramidTooHarsh: @ 824308C .string "The BATTLE PYRAMID's too harsh!\n" .string "I just can't make it to the top!\p" .string "Since I'm out of options, maybe I can\n" .string "climb the outside…$" -BattleFrontier_OutsideEast_Text_243106: @ 8243106 +BattleFrontier_OutsideEast_Text_ThriveInDarkness: @ 8243106 .string "I thrive in darkness…\n" .string "Yes… What is worthy of me?\l" .string "None other than the BATTLE PYRAMID…\p" .string "What say you to wandering in darkness\n" .string "and in utter and total desperation?$" -BattleFrontier_OutsideEast_Text_2431A5: @ 82431A5 +BattleFrontier_OutsideEast_Text_PutTogetherUltimateTeam: @ 82431A5 .string "I didn't sleep for a week, but then\n" .string "I put together the ultimate team!\p" .string "I can't see myself losing, no joke.\n" .string "We're storming the BATTLE ARENA!$" -BattleFrontier_OutsideEast_Text_243230: @ 8243230 +BattleFrontier_OutsideEast_Text_DidScottBringYouHere: @ 8243230 .string "Did SCOTT bring you here, too?\n" .string "What is it with that guy?\p" .string "It sounds like he really does know\n" @@ -301,16 +301,16 @@ BattleFrontier_OutsideEast_Text_243230: @ 8243230 .string "I've never seen him battling in person\n" .string "ever.$" -BattleFrontier_OutsideEast_Text_2432DD: @ 82432DD +BattleFrontier_OutsideEast_Text_BelieveInYouBuddy: @ 82432DD .string "ZIGG!\n" .string "I believe in you, little buddy!\p" .string "I'll make my little ZIGG any favorite\n" .string "tasty treats you like if you win!$" -BattleFrontier_OutsideEast_Text_24334B: @ 824334B +BattleFrontier_OutsideEast_Text_ZigzagoonLooksVacant: @ 824334B .string "ZIGZAGOON looks vacant…$" -BattleFrontier_OutsideEast_Text_243363: @ 8243363 +BattleFrontier_OutsideEast_Text_PeopleCallMeBusybody: @ 8243363 .string "People call me a busybody,\n" .string "but I can't help it.\p" .string "Your hat's on crooked!\n" @@ -319,29 +319,29 @@ BattleFrontier_OutsideEast_Text_243363: @ 8243363 .string "I don't know if I can stand to just\n" .string "watch at the BATTLE PALACE…$" -BattleFrontier_OutsideEast_Text_243425: @ 8243425 +BattleFrontier_OutsideEast_Text_OnceBeatGymLeader: @ 8243425 .string "I may not look that impressive now,\n" .string "but I once beat a GYM LEADER.\p" .string "Who knows, maybe I should give it\n" .string "another shot at glory.$" -BattleFrontier_OutsideEast_Text_2434A0: @ 82434A0 +BattleFrontier_OutsideEast_Text_FastOnBikeAndBattles: @ 82434A0 .string "I'm fast on my BIKE, and that goes for\n" .string "the way I battle, too.\p" .string "I win matches in the blink of\n" .string "an eye!$" -BattleFrontier_OutsideEast_Text_243504: @ 8243504 +BattleFrontier_OutsideEast_Text_BetterThanDaddyAtPokemon: @ 8243504 .string "I'm better than my daddy\n" .string "at POKéMON.$" -BattleFrontier_OutsideEast_Text_243529: @ 8243529 +BattleFrontier_OutsideEast_Text_GoRackUpSomeWinsForDaddy: @ 8243529 .string "Go on, my baby sweetie!\n" .string "Go rack up some wins for Daddy!\p" .string "You're just like your mother,\n" .string "so you'll be dominating!$" -BattleFrontier_OutsideEast_Text_243598: @ 8243598 +BattleFrontier_OutsideEast_Text_HeardPrettyGirlAtBattleArena: @ 8243598 .string "It wasn't easy getting here,\n" .string "but I'd heard about this knockout\l" .string "pretty girl at the BATTLE ARENA.\p" @@ -350,13 +350,13 @@ BattleFrontier_OutsideEast_Text_243598: @ 8243598 .string "A whole teeming mob of sweaty,\n" .string "stinky, and primitive martial artists!$" -BattleFrontier_OutsideEast_Text_243668: @ 8243668 +BattleFrontier_OutsideEast_Text_SometimesImportantOldManInThere: @ 8243668 .string "I sometimes see this really important-\n" .string "looking old man going in there.\p" .string "He has these really awesome POKéMON.\n" .string "He seems really nice, though.$" -BattleFrontier_OutsideEast_Text_2436F2: @ 82436F2 +BattleFrontier_OutsideEast_Text_LegendOfBattlePyramid: @ 82436F2 .string "Do you know it?\n" .string "The legend of the BATTLE PYRAMID?\p" .string "When there comes a confident TRAINER\n" @@ -368,7 +368,7 @@ BattleFrontier_OutsideEast_Text_2436F2: @ 82436F2 .string "What's it supposed to mean?\n" .string "That, my friend, I can't say!$" -BattleFrontier_OutsideEast_Text_243809: @ 8243809 +BattleFrontier_OutsideEast_Text_GotWipedOut: @ 8243809 .string "Man! Oh man!\n" .string "I've never lost once before!\p" .string "But I got wiped out with no saving\n" @@ -376,7 +376,7 @@ BattleFrontier_OutsideEast_Text_243809: @ 8243809 .string "And then I'm told I don't have any\n" .string "talent?! Man!$" -BattleFrontier_OutsideEast_Text_243895: @ 8243895 +BattleFrontier_OutsideEast_Text_ToughTrainerInBattleTower: @ 8243895 .string "This guy ran into a horribly tough\n" .string "TRAINER while he was on the BATTLE\l" .string "TOWER challenge.\p" @@ -384,23 +384,23 @@ BattleFrontier_OutsideEast_Text_243895: @ 8243895 .string "You need to be cautious if you ever\n" .string "decide to go to the BATTLE TOWER.$" -BattleFrontier_OutsideEast_Text_243943: @ 8243943 +BattleFrontier_OutsideEast_Text_EnoughBattlePointsForDoll: @ 8243943 .string "Yes!\n" .string "I've finally got enough Battle Points!\p" .string "I guess I'll trade for another giant\n" .string "plush DOLL!$" -BattleFrontier_OutsideEast_Text_2439A0: @ 82439A0 +BattleFrontier_OutsideEast_Text_LikeToHaveNameRecordedHere: @ 82439A0 .string "Oh, yeah, okay!\n" .string "So this is the RANKING HALL!\p" .string "I'd like to go down in history as\n" .string "a super champ and have my name\l" .string "recorded here for posterity.$" -BattleFrontier_OutsideEast_Text_243A2B: @ 8243A2B +BattleFrontier_OutsideEast_Text_CanDoAnythingWithYou: @ 8243A2B .string "With you by my side, I can do anything.$" -BattleFrontier_OutsideEast_Text_243A53: @ 8243A53 +BattleFrontier_OutsideEast_Text_PowerOfOurLoveWillOvercome: @ 8243A53 .string "Ooh, darling, you are so wonderful!\p" .string "Ooh, I just can't wait anymore!\p" .string "Let's go to a MULTI BATTLE ROOM\n" @@ -411,7 +411,7 @@ BattleFrontier_OutsideEast_Text_243A53: @ 8243A53 .string "Why, before us, darling, everything\n" .string "will topple like dominoes!$" -BattleFrontier_OutsideEast_Text_243B68: @ 8243B68 +BattleFrontier_OutsideEast_Text_FrontierNotExclusivelyForToughTrainers: @ 8243B68 .string "The BATTLE FRONTIER isn't exclusively\n" .string "for tough TRAINERS.\p" .string "Many people with special abilities\n" @@ -420,19 +420,19 @@ BattleFrontier_OutsideEast_Text_243B68: @ 8243B68 .string "He may have built this place to serve\n" .string "a bigger objective…$" -BattleFrontier_OutsideEast_Text_243C2C: @ 8243C2C +BattleFrontier_OutsideEast_Text_OddTreeHereSeemsToWiggle: @ 8243C2C .string "Excuse me, young one.\n" .string "Have you good eyesight?\p" .string "There is an odd tree past here, and to\n" .string "my tired eyes it seems to wiggle.$" -BattleFrontier_OutsideEast_Text_243CA3: @ 8243CA3 +BattleFrontier_OutsideEast_Text_OnceAnOddTreePastHere: @ 8243CA3 .string "Excuse me, young one.\n" .string "Have you a good memory?\p" .string "I have this feeling there once was\n" .string "an odd tree past here.$" -BattleFrontier_OutsideEast_Text_243D0B: @ 8243D0B +BattleFrontier_OutsideEast_Text_StickyMonWithLongTail: @ 8243D0B .string "I…\n" .string "I saw it!\p" .string "There was a sticky sort of a POKéMON\n" diff --git a/data/maps/BattleFrontier_OutsideWest/map.json b/data/maps/BattleFrontier_OutsideWest/map.json index a2972e0b40..42b76323a5 100644 --- a/data/maps/BattleFrontier_OutsideWest/map.json +++ b/data/maps/BattleFrontier_OutsideWest/map.json @@ -30,7 +30,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D50F", + "script": "BattleFrontier_OutsideWest_EventScript_Boy1", "flag": "0" }, { @@ -56,7 +56,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D3F0", + "script": "BattleFrontier_OutsideWest_EventScript_FerryAttendant", "flag": "0" }, { @@ -69,7 +69,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D68B", + "script": "BattleFrontier_OutsideWest_EventScript_ExpertM", "flag": "0" }, { @@ -82,7 +82,7 @@ "movement_range_y": 3, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D52D", + "script": "BattleFrontier_OutsideWest_EventScript_Man1", "flag": "0" }, { @@ -95,7 +95,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D69D", + "script": "BattleFrontier_OutsideWest_EventScript_Woman1", "flag": "0" }, { @@ -108,7 +108,7 @@ "movement_range_y": 3, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D6A6", + "script": "BattleFrontier_OutsideWest_EventScript_FatMan1", "flag": "0" }, { @@ -121,7 +121,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D679", + "script": "BattleFrontier_OutsideWest_EventScript_Gentleman", "flag": "0" }, { @@ -134,7 +134,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D536", + "script": "BattleFrontier_OutsideWest_EventScript_Maniac1", "flag": "0" }, { @@ -147,7 +147,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D53D", + "script": "BattleFrontier_OutsideWest_EventScript_Maniac2", "flag": "0" }, { @@ -160,7 +160,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D694", + "script": "BattleFrontier_OutsideWest_EventScript_Man2", "flag": "0" }, { @@ -173,7 +173,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D5C6", + "script": "BattleFrontier_OutsideWest_EventScript_Girl", "flag": "0" }, { @@ -186,7 +186,7 @@ "movement_range_y": 3, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D635", + "script": "BattleFrontier_OutsideWest_EventScript_Woman2", "flag": "0" }, { @@ -199,7 +199,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D57F", + "script": "BattleFrontier_OutsideWest_EventScript_Camper", "flag": "0" }, { @@ -212,7 +212,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D682", + "script": "BattleFrontier_OutsideWest_EventScript_Lass", "flag": "0" }, { @@ -225,7 +225,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_249E19", + "script": "BattleFrontier_OutsideWest_EventScript_Man3", "flag": "0" }, { @@ -238,7 +238,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D667", + "script": "BattleFrontier_OutsideWest_EventScript_Fisherman1", "flag": "0" }, { @@ -251,7 +251,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D518", + "script": "BattleFrontier_OutsideWest_EventScript_Fisherman2", "flag": "0" }, { @@ -264,7 +264,7 @@ "movement_range_y": 3, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D6AF", + "script": "BattleFrontier_OutsideWest_EventScript_FatMan2", "flag": "0" }, { @@ -277,7 +277,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D6B8", + "script": "BattleFrontier_OutsideWest_EventScript_Woman3", "flag": "0" }, { @@ -290,7 +290,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D6C3", + "script": "BattleFrontier_OutsideWest_EventScript_Boy2", "flag": "0" }, { @@ -303,7 +303,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D6CE", + "script": "BattleFrontier_OutsideWest_EventScript_OldMan", "flag": "0" }, { @@ -316,7 +316,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D6D7", + "script": "BattleFrontier_OutsideWest_EventScript_Man4", "flag": "0" }, { @@ -329,7 +329,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_OutsideWest_EventScript_23D6EE", + "script": "BattleFrontier_OutsideWest_EventScript_PokefanF", "flag": "0" } ], @@ -420,7 +420,7 @@ "y": 18, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_OutsideWest_EventScript_23D4E2" + "script": "BattleFrontier_OutsideWest_EventScript_BattleDomeSign" }, { "type": "sign", @@ -428,7 +428,7 @@ "y": 30, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_OutsideWest_EventScript_23D4F4" + "script": "BattleFrontier_OutsideWest_EventScript_BattlePikeSign" }, { "type": "sign", @@ -436,7 +436,7 @@ "y": 43, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_OutsideWest_EventScript_23D4EB" + "script": "BattleFrontier_OutsideWest_EventScript_BattleFactorySign" }, { "type": "sign", diff --git a/data/maps/BattleFrontier_OutsideWest/scripts.inc b/data/maps/BattleFrontier_OutsideWest/scripts.inc index 2d2bdb1c08..4fb750023a 100644 --- a/data/maps/BattleFrontier_OutsideWest/scripts.inc +++ b/data/maps/BattleFrontier_OutsideWest/scripts.inc @@ -1,109 +1,111 @@ BattleFrontier_OutsideWest_MapScripts:: @ 823D3E1 - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_OutsideWest_MapScript1_23D3E7 + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_OutsideWest_OnTransition .byte 0 -BattleFrontier_OutsideWest_MapScript1_23D3E7: @ 823D3E7 +BattleFrontier_OutsideWest_OnTransition: @ 823D3E7 setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0 setflag FLAG_HIDE_BATTLE_TOWER_REPORTER end -BattleFrontier_OutsideWest_EventScript_23D3F0:: @ 823D3F0 +BattleFrontier_OutsideWest_EventScript_FerryAttendant:: @ 823D3F0 lock faceplayer - msgbox BattleFrontier_OutsideWest_Text_23D808, MSGBOX_DEFAULT + msgbox BattleFrontier_OutsideWest_Text_MayISeeYourTicket, MSGBOX_DEFAULT checkitem ITEM_SS_TICKET, 1 - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_OutsideWest_EventScript_23D44E - message BattleFrontier_OutsideWest_Text_23D89D + compare VAR_RESULT, FALSE + goto_if_eq BattleFrontier_OutsideWest_EventScript_NoSSTicket + message BattleFrontier_OutsideWest_Text_WhereWouldYouLikeToGo waitmessage - goto BattleFrontier_OutsideWest_EventScript_23D416 + goto BattleFrontier_OutsideWest_EventScript_ChooseFerryDestination end -BattleFrontier_OutsideWest_EventScript_23D416:: @ 823D416 - multichoicedefault 18, 6, 53, 2, 0 +BattleFrontier_OutsideWest_EventScript_ChooseFerryDestination:: @ 823D416 + multichoicedefault 18, 6, MULTI_SSTIDAL_BATTLE_FRONTIER, 2, 0 switch VAR_RESULT - case 0, BattleFrontier_OutsideWest_EventScript_23D458 - case 1, BattleFrontier_OutsideWest_EventScript_23D483 - case 2, BattleFrontier_OutsideWest_EventScript_23D4D8 - case 127, BattleFrontier_OutsideWest_EventScript_23D4D8 + case 0, BattleFrontier_OutsideWest_EventScript_FerryToSlateport + case 1, BattleFrontier_OutsideWest_EventScript_FerryToLilycove + case 2, BattleFrontier_OutsideWest_EventScript_CancelFerrySelect + case MULTI_B_PRESSED, BattleFrontier_OutsideWest_EventScript_CancelFerrySelect end -BattleFrontier_OutsideWest_EventScript_23D44E:: @ 823D44E - msgbox BattleFrontier_OutsideWest_Text_23D842, MSGBOX_DEFAULT +BattleFrontier_OutsideWest_EventScript_NoSSTicket:: @ 823D44E + msgbox BattleFrontier_OutsideWest_Text_MustHaveTicketToBoard, MSGBOX_DEFAULT release end -BattleFrontier_OutsideWest_EventScript_23D458:: @ 823D458 - msgbox BattleFrontier_OutsideWest_Text_23D8F2, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_OutsideWest_EventScript_23D4AE - msgbox BattleFrontier_OutsideWest_Text_23D94B, MSGBOX_DEFAULT - call BattleFrontier_OutsideWest_EventScript_23D4BA +BattleFrontier_OutsideWest_EventScript_FerryToSlateport:: @ 823D458 + msgbox BattleFrontier_OutsideWest_Text_SlateportItIs, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_OutsideWest_EventScript_ChooseNewFerryDestination + msgbox BattleFrontier_OutsideWest_Text_PleaseBoardFerry, MSGBOX_DEFAULT + call BattleFrontier_OutsideWest_EventScript_BoardFerry warp MAP_SLATEPORT_CITY_HARBOR, 255, 8, 11 waitstate release end -BattleFrontier_OutsideWest_EventScript_23D483:: @ 823D483 - msgbox BattleFrontier_OutsideWest_Text_23D90E, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_OutsideWest_EventScript_23D4AE - msgbox BattleFrontier_OutsideWest_Text_23D94B, MSGBOX_DEFAULT - call BattleFrontier_OutsideWest_EventScript_23D4BA +BattleFrontier_OutsideWest_EventScript_FerryToLilycove:: @ 823D483 + msgbox BattleFrontier_OutsideWest_Text_LilycoveItIs, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_OutsideWest_EventScript_ChooseNewFerryDestination + msgbox BattleFrontier_OutsideWest_Text_PleaseBoardFerry, MSGBOX_DEFAULT + call BattleFrontier_OutsideWest_EventScript_BoardFerry warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11 waitstate release end -BattleFrontier_OutsideWest_EventScript_23D4AE:: @ 823D4AE - message BattleFrontier_OutsideWest_Text_23D97A +BattleFrontier_OutsideWest_EventScript_ChooseNewFerryDestination:: @ 823D4AE + message BattleFrontier_OutsideWest_Text_ThenWhereWouldYouLikeToGo waitmessage - goto BattleFrontier_OutsideWest_EventScript_23D416 + goto BattleFrontier_OutsideWest_EventScript_ChooseFerryDestination end -BattleFrontier_OutsideWest_EventScript_23D4BA:: @ 823D4BA +BattleFrontier_OutsideWest_EventScript_BoardFerry:: @ 823D4BA closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 30 hideobjectat 3, MAP_BATTLE_FRONTIER_OUTSIDE_WEST setvar VAR_0x8004, 2 - call BattleFrontier_OutsideWest_EventScript_272250 + call Common_EventScript_FerryDepartIsland return -BattleFrontier_OutsideWest_EventScript_23D4D8:: @ 823D4D8 - msgbox BattleFrontier_OutsideWest_Text_23D929, MSGBOX_DEFAULT +BattleFrontier_OutsideWest_EventScript_CancelFerrySelect:: @ 823D4D8 + msgbox BattleFrontier_OutsideWest_Text_SailWithUsAnotherTime, MSGBOX_DEFAULT release end -BattleFrontier_OutsideWest_EventScript_23D4E2:: @ 823D4E2 - msgbox BattleFrontier_OutsideWest_Text_23D6F7, MSGBOX_SIGN +BattleFrontier_OutsideWest_EventScript_BattleDomeSign:: @ 823D4E2 + msgbox BattleFrontier_OutsideWest_Text_BattleDomeSign, MSGBOX_SIGN end -BattleFrontier_OutsideWest_EventScript_23D4EB:: @ 823D4EB - msgbox BattleFrontier_OutsideWest_Text_23D737, MSGBOX_SIGN +BattleFrontier_OutsideWest_EventScript_BattleFactorySign:: @ 823D4EB + msgbox BattleFrontier_OutsideWest_Text_BattleFactorySign, MSGBOX_SIGN end -BattleFrontier_OutsideWest_EventScript_23D4F4:: @ 823D4F4 - msgbox BattleFrontier_OutsideWest_Text_23D772, MSGBOX_SIGN +BattleFrontier_OutsideWest_EventScript_BattlePikeSign:: @ 823D4F4 + msgbox BattleFrontier_OutsideWest_Text_BattlePikeSign, MSGBOX_SIGN end -BattleFrontier_OutsideWest_EventScript_23D4FD:: @ 823D4FD - msgbox BattleFrontier_OutsideWest_Text_23D7A6, MSGBOX_NPC +@ Unused. Of note, Battle Tower is in the East section in the final release +BattleFrontier_OutsideWest_EventScript_UnusedNPC1:: @ 823D4FD + msgbox BattleFrontier_OutsideWest_Text_ThisIsBattleTower, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_23D506:: @ 823D4FD - msgbox BattleFrontier_OutsideWest_Text_23D9DD, MSGBOX_NPC +@ Unused +BattleFrontier_OutsideWest_EventScript_UnusedNPC2:: @ 823D4FD + msgbox BattleFrontier_OutsideWest_Text_CantFindBattleTower, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_23D50F:: @ 823D50F - msgbox BattleFrontier_OutsideWest_Text_23D99C, MSGBOX_NPC +BattleFrontier_OutsideWest_EventScript_Boy1:: @ 823D50F + msgbox BattleFrontier_OutsideWest_Text_BestOutOfAllMyFriends, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_23D518:: @ 823D518 +BattleFrontier_OutsideWest_EventScript_Fisherman2:: @ 823D518 lock faceplayer - message BattleFrontier_OutsideWest_Text_23DA60 + message BattleFrontier_OutsideWest_Text_GotSeasickOnWayHere waitmessage applymovement 18, Common_Movement_FaceAwayPlayer waitmovement 0 @@ -111,268 +113,269 @@ BattleFrontier_OutsideWest_EventScript_23D518:: @ 823D518 release end -BattleFrontier_OutsideWest_EventScript_23D52D:: @ 823D52D - msgbox BattleFrontier_OutsideWest_Text_23DABF, MSGBOX_NPC +BattleFrontier_OutsideWest_EventScript_Man1:: @ 823D52D + msgbox BattleFrontier_OutsideWest_Text_OnlyToughTrainersBroughtHere, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_23D536:: @ 823D536 +BattleFrontier_OutsideWest_EventScript_Maniac1:: @ 823D536 lock - goto BattleFrontier_OutsideWest_EventScript_23D544 + goto BattleFrontier_OutsideWest_EventScript_FactoryChallengersTalk end -BattleFrontier_OutsideWest_EventScript_23D53D:: @ 823D53D +BattleFrontier_OutsideWest_EventScript_Maniac2:: @ 823D53D lock - goto BattleFrontier_OutsideWest_EventScript_23D544 + goto BattleFrontier_OutsideWest_EventScript_FactoryChallengersTalk end -BattleFrontier_OutsideWest_EventScript_23D544:: @ 823D544 - applymovement 9, Common_Movement_WalkInPlaceRight +BattleFrontier_OutsideWest_EventScript_FactoryChallengersTalk:: @ 823D544 + applymovement 9, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox BattleFrontier_OutsideWest_Text_23DB7D, MSGBOX_DEFAULT - applymovement 10, Common_Movement_WalkInPlaceLeft + msgbox BattleFrontier_OutsideWest_Text_SureWeCanChallengeWithNoMons, MSGBOX_DEFAULT + applymovement 10, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox BattleFrontier_OutsideWest_Text_23DBCE, MSGBOX_DEFAULT + msgbox BattleFrontier_OutsideWest_Text_BigGuySaidIllLendYouMons, MSGBOX_DEFAULT closemessage delay 25 - applymovement 9, Common_Movement_WalkInPlaceUp - applymovement 10, Common_Movement_WalkInPlaceUp + applymovement 9, Common_Movement_WalkInPlaceFastestUp + applymovement 10, Common_Movement_WalkInPlaceFastestUp waitmovement 0 release end -BattleFrontier_OutsideWest_EventScript_23D57F:: @ 823D57F +BattleFrontier_OutsideWest_EventScript_Camper:: @ 823D57F lock faceplayer delay 20 - compare VAR_FACING, 2 - call_if_eq BattleFrontier_OutsideWest_EventScript_23D5BA - compare VAR_FACING, 1 - call_if_eq BattleFrontier_OutsideWest_EventScript_23D5C5 - compare VAR_FACING, 3 - call_if_eq BattleFrontier_OutsideWest_EventScript_23D5BA - compare VAR_FACING, 4 - call_if_eq BattleFrontier_OutsideWest_EventScript_23D5BA - msgbox BattleFrontier_OutsideWest_Text_23DC36, MSGBOX_DEFAULT + compare VAR_FACING, DIR_NORTH + call_if_eq BattleFrontier_OutsideWest_EventScript_CamperFaceFactory + compare VAR_FACING, DIR_SOUTH + call_if_eq BattleFrontier_OutsideWest_EventScript_CamperAlreadyFacingFactory + compare VAR_FACING, DIR_WEST + call_if_eq BattleFrontier_OutsideWest_EventScript_CamperFaceFactory + compare VAR_FACING, DIR_EAST + call_if_eq BattleFrontier_OutsideWest_EventScript_CamperFaceFactory + msgbox BattleFrontier_OutsideWest_Text_WhosRaisingThoseRentalMons, MSGBOX_DEFAULT release end -BattleFrontier_OutsideWest_EventScript_23D5BA:: @ 823D5BA - applymovement 14, Common_Movement_WalkInPlaceUp +BattleFrontier_OutsideWest_EventScript_CamperFaceFactory:: @ 823D5BA + applymovement 14, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -BattleFrontier_OutsideWest_EventScript_23D5C5:: @ 823D5C5 +BattleFrontier_OutsideWest_EventScript_CamperAlreadyFacingFactory:: @ 823D5C5 return -BattleFrontier_OutsideWest_EventScript_23D5C6:: @ 823D5C6 +BattleFrontier_OutsideWest_EventScript_Girl:: @ 823D5C6 lock faceplayer - message BattleFrontier_OutsideWest_Text_23DCB0 + message BattleFrontier_OutsideWest_Text_ScaredOfPikeBecauseSeviper waitmessage - compare VAR_FACING, 2 - call_if_eq BattleFrontier_OutsideWest_EventScript_23D5FD - compare VAR_FACING, 1 - call_if_eq BattleFrontier_OutsideWest_EventScript_23D608 - compare VAR_FACING, 3 - call_if_eq BattleFrontier_OutsideWest_EventScript_23D613 - compare VAR_FACING, 4 - call_if_eq BattleFrontier_OutsideWest_EventScript_23D61E + compare VAR_FACING, DIR_NORTH + call_if_eq BattleFrontier_OutsideWest_EventScript_GirlShudderNorth + compare VAR_FACING, DIR_SOUTH + call_if_eq BattleFrontier_OutsideWest_EventScript_GirlShudderSouth + compare VAR_FACING, DIR_WEST + call_if_eq BattleFrontier_OutsideWest_EventScript_GirlShudderWest + compare VAR_FACING, DIR_EAST + call_if_eq BattleFrontier_OutsideWest_EventScript_GirlShudderEast waitbuttonpress release end -BattleFrontier_OutsideWest_EventScript_23D5FD:: @ 823D5FD - applymovement 12, BattleFrontier_OutsideWest_Movement_23D629 +BattleFrontier_OutsideWest_EventScript_GirlShudderNorth:: @ 823D5FD + applymovement 12, BattleFrontier_OutsideWest_Movement_GirlShudderNorth waitmovement 0 return -BattleFrontier_OutsideWest_EventScript_23D608:: @ 823D608 - applymovement 12, BattleFrontier_OutsideWest_Movement_23D62C +BattleFrontier_OutsideWest_EventScript_GirlShudderSouth:: @ 823D608 + applymovement 12, BattleFrontier_OutsideWest_Movement_GirlShudderSouth waitmovement 0 return -BattleFrontier_OutsideWest_EventScript_23D613:: @ 823D613 - applymovement 12, BattleFrontier_OutsideWest_Movement_23D62F +BattleFrontier_OutsideWest_EventScript_GirlShudderWest:: @ 823D613 + applymovement 12, BattleFrontier_OutsideWest_Movement_GirlShudderWest waitmovement 0 return -BattleFrontier_OutsideWest_EventScript_23D61E:: @ 823D61E - applymovement 12, BattleFrontier_OutsideWest_Movement_23D632 +BattleFrontier_OutsideWest_EventScript_GirlShudderEast:: @ 823D61E + applymovement 12, BattleFrontier_OutsideWest_Movement_GirlShudderEast waitmovement 0 return -BattleFrontier_OutsideWest_Movement_23D629: @ 823D629 +BattleFrontier_OutsideWest_Movement_GirlShudderNorth: @ 823D629 walk_in_place_fastest_down walk_in_place_fastest_down step_end -BattleFrontier_OutsideWest_Movement_23D62C: @ 823D62C +BattleFrontier_OutsideWest_Movement_GirlShudderSouth: @ 823D62C walk_in_place_fastest_up walk_in_place_fastest_up step_end -BattleFrontier_OutsideWest_Movement_23D62F: @ 823D62F +BattleFrontier_OutsideWest_Movement_GirlShudderWest: @ 823D62F walk_in_place_fastest_right walk_in_place_fastest_right step_end -BattleFrontier_OutsideWest_Movement_23D632: @ 823D632 +BattleFrontier_OutsideWest_Movement_GirlShudderEast: @ 823D632 walk_in_place_fastest_left walk_in_place_fastest_left step_end -BattleFrontier_OutsideWest_EventScript_23D635:: @ 823D635 +BattleFrontier_OutsideWest_EventScript_Woman2:: @ 823D635 lock faceplayer - msgbox BattleFrontier_OutsideWest_Text_23DD3B, MSGBOX_DEFAULT + msgbox BattleFrontier_OutsideWest_Text_LetsPlayRockPaperScissors, MSGBOX_DEFAULT random 2 compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_OutsideWest_EventScript_23D653 - goto BattleFrontier_OutsideWest_EventScript_23D65D + goto_if_eq BattleFrontier_OutsideWest_EventScript_WomanWonRockPaperScissors + goto BattleFrontier_OutsideWest_EventScript_WomanLostRockPaperScissors end -BattleFrontier_OutsideWest_EventScript_23D653:: @ 823D653 - msgbox BattleFrontier_OutsideWest_Text_23DD7A, MSGBOX_DEFAULT +BattleFrontier_OutsideWest_EventScript_WomanWonRockPaperScissors:: @ 823D653 + msgbox BattleFrontier_OutsideWest_Text_WonIllTakePikeChallenge, MSGBOX_DEFAULT release end -BattleFrontier_OutsideWest_EventScript_23D65D:: @ 823D65D - msgbox BattleFrontier_OutsideWest_Text_23DDAD, MSGBOX_DEFAULT +BattleFrontier_OutsideWest_EventScript_WomanLostRockPaperScissors:: @ 823D65D + msgbox BattleFrontier_OutsideWest_Text_LostIllPutOffPikeChallenge, MSGBOX_DEFAULT release end -BattleFrontier_OutsideWest_EventScript_23D667:: @ 823D667 - msgbox BattleFrontier_OutsideWest_Text_23DE15, MSGBOX_NPC +BattleFrontier_OutsideWest_EventScript_Fisherman1:: @ 823D667 + msgbox BattleFrontier_OutsideWest_Text_ChooseFishingOverBattling, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_23D670:: @ 823D670 - msgbox BattleFrontier_OutsideWest_Text_23DF7D, MSGBOX_NPC +@ Unused +BattleFrontier_OutsideWest_EventScript_UnusedNPC3:: @ 823D670 + msgbox BattleFrontier_OutsideWest_Text_DomeIsHereGrandpa, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_23D679:: @ 823D679 - msgbox BattleFrontier_OutsideWest_Text_23DEFD, MSGBOX_NPC +BattleFrontier_OutsideWest_EventScript_Gentleman:: @ 823D679 + msgbox BattleFrontier_OutsideWest_Text_YoureOffToChallengeDome, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_23D682:: @ 823D682 - msgbox BattleFrontier_OutsideWest_Text_23DEB4, MSGBOX_NPC +BattleFrontier_OutsideWest_EventScript_Lass:: @ 823D682 + msgbox BattleFrontier_OutsideWest_Text_KeepBattlingUntilIGetSymbol, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_23D68B:: @ 823D68B - msgbox BattleFrontier_OutsideWest_Text_23DFBF, MSGBOX_NPC +BattleFrontier_OutsideWest_EventScript_ExpertM:: @ 823D68B + msgbox BattleFrontier_OutsideWest_Text_WontLetGentlemenBeatMe, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_23D694:: @ 823D694 - msgbox BattleFrontier_OutsideWest_Text_23E01E, MSGBOX_NPC +BattleFrontier_OutsideWest_EventScript_Man2:: @ 823D694 + msgbox BattleFrontier_OutsideWest_Text_NothingHereNotLongAgo, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_23D69D:: @ 823D69D - msgbox BattleFrontier_OutsideWest_Text_23E09F, MSGBOX_NPC +BattleFrontier_OutsideWest_EventScript_Woman1:: @ 823D69D + msgbox BattleFrontier_OutsideWest_Text_FinallyArrivedAtFrontier, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_23D6A6:: @ 823D6A6 - msgbox BattleFrontier_OutsideWest_Text_23E102, MSGBOX_NPC +BattleFrontier_OutsideWest_EventScript_FatMan1:: @ 823D6A6 + msgbox BattleFrontier_OutsideWest_Text_SquareFilledWithToughPeople, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_23D6AF:: @ 823D6AF - msgbox BattleFrontier_OutsideWest_Text_23E154, MSGBOX_NPC +BattleFrontier_OutsideWest_EventScript_FatMan2:: @ 823D6AF + msgbox BattleFrontier_OutsideWest_Text_MetOlderGirlAtPike, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_23D6B8:: @ 823D6B8 +BattleFrontier_OutsideWest_EventScript_Woman3:: @ 823D6B8 lock - msgbox BattleFrontier_OutsideWest_Text_23E273, MSGBOX_DEFAULT + msgbox BattleFrontier_OutsideWest_Text_LastTimeOurEyesMet, MSGBOX_DEFAULT release end -BattleFrontier_OutsideWest_EventScript_23D6C3:: @ 823D6C3 +BattleFrontier_OutsideWest_EventScript_Boy2:: @ 823D6C3 lock - msgbox BattleFrontier_OutsideWest_Text_23E2E9, MSGBOX_DEFAULT + msgbox BattleFrontier_OutsideWest_Text_DomeAceLookedBecauseOfMyCheering, MSGBOX_DEFAULT release end -BattleFrontier_OutsideWest_EventScript_23D6CE:: @ 823D6CE - msgbox BattleFrontier_OutsideWest_Text_23E37E, MSGBOX_NPC +BattleFrontier_OutsideWest_EventScript_OldMan:: @ 823D6CE + msgbox BattleFrontier_OutsideWest_Text_DomeAceIsMine, MSGBOX_NPC end -BattleFrontier_OutsideWest_EventScript_23D6D7:: @ 823D6D7 +BattleFrontier_OutsideWest_EventScript_Man4:: @ 823D6D7 lock faceplayer - msgbox BattleFrontier_OutsideWest_Text_23E410, MSGBOX_DEFAULT + msgbox BattleFrontier_OutsideWest_Text_FansOverThereUsedToBeTrainers, MSGBOX_DEFAULT closemessage applymovement 23, Common_Movement_FaceOriginalDirection waitmovement 0 release end -BattleFrontier_OutsideWest_EventScript_23D6EE:: @ 823D6EE - msgbox BattleFrontier_OutsideWest_Text_23E5A5, MSGBOX_NPC +BattleFrontier_OutsideWest_EventScript_PokefanF:: @ 823D6EE + msgbox BattleFrontier_OutsideWest_Text_MonWithLongTailInFrontier, MSGBOX_NPC end -BattleFrontier_OutsideWest_Text_23D6F7: @ 823D6F7 +BattleFrontier_OutsideWest_Text_BattleDomeSign: @ 823D6F7 .string "This is the BATTLE DOME!\n" .string "Your path to the invincible superstar!$" -BattleFrontier_OutsideWest_Text_23D737: @ 823D737 +BattleFrontier_OutsideWest_Text_BattleFactorySign: @ 823D737 .string "This is the BATTLE FACTORY!\n" .string "Seek out the toughest POKéMON!$" -BattleFrontier_OutsideWest_Text_23D772: @ 823D772 +BattleFrontier_OutsideWest_Text_BattlePikeSign: @ 823D772 .string "This is the BATTLE PIKE!\n" .string "Choose one of three paths!$" -BattleFrontier_OutsideWest_Text_23D7A6: @ 823D7A6 +BattleFrontier_OutsideWest_Text_ThisIsBattleTower: @ 823D7A6 .string "This is the BATTLE TOWER.\p" .string "TRAINERS bring their best-raised\n" .string "POKéMON for elimination-style matches.$" -BattleFrontier_OutsideWest_Text_23D808: @ 823D808 +BattleFrontier_OutsideWest_Text_MayISeeYourTicket: @ 823D808 .string "Hello, are you here for the ferry?\n" .string "May I see your TICKET?$" -BattleFrontier_OutsideWest_Text_23D842: @ 823D842 +BattleFrontier_OutsideWest_Text_MustHaveTicketToBoard: @ 823D842 .string "{PLAYER} doesn't have the TICKET…\p" .string "I'm terribly sorry.\p" .string "You must have a TICKET to board\n" .string "the ferry.$" -BattleFrontier_OutsideWest_Text_23D89D: @ 823D89D +BattleFrontier_OutsideWest_Text_WhereWouldYouLikeToGo: @ 823D89D .string "{PLAYER} flashed the TICKET.\p" .string "Perfect! That's all you need!\p" .string "And where would you like to go?$" -BattleFrontier_OutsideWest_Text_23D8F2: @ 823D8F2 +BattleFrontier_OutsideWest_Text_SlateportItIs: @ 823D8F2 .string "SLATEPORT CITY it is, then!$" -BattleFrontier_OutsideWest_Text_23D90E: @ 823D90E +BattleFrontier_OutsideWest_Text_LilycoveItIs: @ 823D90E .string "LILYCOVE CITY it is, then!$" -BattleFrontier_OutsideWest_Text_23D929: @ 823D929 +BattleFrontier_OutsideWest_Text_SailWithUsAnotherTime: @ 823D929 .string "Please sail with us another time!$" -BattleFrontier_OutsideWest_Text_23D94B: @ 823D94B +BattleFrontier_OutsideWest_Text_PleaseBoardFerry: @ 823D94B .string "Please board the ferry and wait for\n" .string "departure.$" -BattleFrontier_OutsideWest_Text_23D97A: @ 823D97A +BattleFrontier_OutsideWest_Text_ThenWhereWouldYouLikeToGo: @ 823D97A .string "Then, where would you like to go?$" -BattleFrontier_OutsideWest_Text_23D99C: @ 823D99C +BattleFrontier_OutsideWest_Text_BestOutOfAllMyFriends: @ 823D99C .string "I'm the best out of all my friends.\n" .string "But here…\l" .string "I've been useless!$" -BattleFrontier_OutsideWest_Text_23D9DD: @ 823D9DD +BattleFrontier_OutsideWest_Text_CantFindBattleTower: @ 823D9DD .string "I want to go to the BATTLE TOWER,\n" .string "but I can't find it even though I have\l" .string "a map of the BATTLE FRONTIER.\p" .string "This place is just too big!$" -BattleFrontier_OutsideWest_Text_23DA60: @ 823DA60 +BattleFrontier_OutsideWest_Text_GotSeasickOnWayHere: @ 823DA60 .string "I wanted to take a challenge as soon\n" .string "as I arrived here.\p" .string "But on the way, I got seasick…\n" .string "Urrrrp…$" -BattleFrontier_OutsideWest_Text_23DABF: @ 823DABF +BattleFrontier_OutsideWest_Text_OnlyToughTrainersBroughtHere: @ 823DABF .string "It's not as if just anyone can come\n" .string "here, you know?\p" .string "Only those TRAINERS who've been\n" @@ -380,94 +383,94 @@ BattleFrontier_OutsideWest_Text_23DABF: @ 823DABF .string "That's why many TRAINERS don't even\n" .string "know about the BATTLE FRONTIER.$" -BattleFrontier_OutsideWest_Text_23DB7D: @ 823DB7D +BattleFrontier_OutsideWest_Text_SureWeCanChallengeWithNoMons: @ 823DB7D .string "Hey, bro…\p" .string "Are you sure we can make challenges\n" .string "even if we don't have any POKéMON?$" -BattleFrontier_OutsideWest_Text_23DBCE: @ 823DBCE +BattleFrontier_OutsideWest_Text_BigGuySaidIllLendYouMons: @ 823DBCE .string "Uh…\n" .string "I'm sure it'll be okay.\p" .string "I think…\p" .string "But remember that big scary guy?\n" .string "He said, “I'll lend you POKéMON!”$" -BattleFrontier_OutsideWest_Text_23DC36: @ 823DC36 +BattleFrontier_OutsideWest_Text_WhosRaisingThoseRentalMons: @ 823DC36 .string "That's the BATTLE FACTORY.\n" .string "You can rent strong POKéMON there.\p" .string "But it makes me wonder.\n" .string "Who's raising those rental POKéMON?$" -BattleFrontier_OutsideWest_Text_23DCB0: @ 823DCB0 +BattleFrontier_OutsideWest_Text_ScaredOfPikeBecauseSeviper: @ 823DCB0 .string "I'm scared of going into the BATTLE\n" .string "PIKE because of SEVIPER…\p" .string "B-but I came all the way here, so I will\n" .string "try to conquer everything!\l" .string "…Shudder…$" -BattleFrontier_OutsideWest_Text_23DD3B: @ 823DD3B +BattleFrontier_OutsideWest_Text_LetsPlayRockPaperScissors: @ 823DD3B .string "Let's play rock, paper, scissors!\n" .string "One, two, three!\p" .string "… … … … … …$" -BattleFrontier_OutsideWest_Text_23DD7A: @ 823DD7A +BattleFrontier_OutsideWest_Text_WonIllTakePikeChallenge: @ 823DD7A .string "Yay! I won!\n" .string "I will take the BATTLE PIKE challenge!$" -BattleFrontier_OutsideWest_Text_23DDAD: @ 823DDAD +BattleFrontier_OutsideWest_Text_LostIllPutOffPikeChallenge: @ 823DDAD .string "Oh, no…\n" .string "I lost.\p" .string "I guess I'm not very lucky today.\n" .string "I'll put off my BATTLE PIKE challenge\l" .string "until tomorrow.$" -BattleFrontier_OutsideWest_Text_23DE15: @ 823DE15 +BattleFrontier_OutsideWest_Text_ChooseFishingOverBattling: @ 823DE15 .string "I believe I'm the only person here who,\n" .string "for some unknown reason, would choose\l" .string "fishing over battling.\p" .string "Huh? You can't catch anything here?\n" .string "That's disappointing…$" -BattleFrontier_OutsideWest_Text_23DEB4: @ 823DEB4 +BattleFrontier_OutsideWest_Text_KeepBattlingUntilIGetSymbol: @ 823DEB4 .string "Today, I'm going to keep battling, no\n" .string "matter what, until I get a Symbol.$" -BattleFrontier_OutsideWest_Text_23DEFD: @ 823DEFD +BattleFrontier_OutsideWest_Text_YoureOffToChallengeDome: @ 823DEFD .string "Oh? You're off to challenge\n" .string "the BATTLE DOME?\p" .string "I'll wish you the best of luck.\n" .string "Let us both win our way up and meet\l" .string "in challenges.$" -BattleFrontier_OutsideWest_Text_23DF7D: @ 823DF7D +BattleFrontier_OutsideWest_Text_DomeIsHereGrandpa: @ 823DF7D .string "Grandpa, over here!\n" .string "The BATTLE DOME is here!\l" .string "Go get 'em, Grandpa!$" -BattleFrontier_OutsideWest_Text_23DFBF: @ 823DFBF +BattleFrontier_OutsideWest_Text_WontLetGentlemenBeatMe: @ 823DFBF .string "Ah, so this here is the BATTLE DOME?\n" .string "I won't let GENTLEMEN beat me!\p" .string "But where is the entrance?$" -BattleFrontier_OutsideWest_Text_23E01E: @ 823E01E +BattleFrontier_OutsideWest_Text_NothingHereNotLongAgo: @ 823E01E .string "There used to be nothing here not all\n" .string "that long ago.\p" .string "But, now look at this place! Amazing!\n" .string "I'll bring my mother out to see this.$" -BattleFrontier_OutsideWest_Text_23E09F: @ 823E09F +BattleFrontier_OutsideWest_Text_FinallyArrivedAtFrontier: @ 823E09F .string "I've finally arrived at the BATTLE\n" .string "FRONTIER!\p" .string "I'm sure to grab attention with\n" .string "my looks and ability!$" -BattleFrontier_OutsideWest_Text_23E102: @ 823E102 +BattleFrontier_OutsideWest_Text_SquareFilledWithToughPeople: @ 823E102 .string "Munch, munch…\p" .string "It looks like this square's filled with\n" .string "tough people.\p" .string "Munch, munch…$" -BattleFrontier_OutsideWest_Text_23E154: @ 823E154 +BattleFrontier_OutsideWest_Text_MetOlderGirlAtPike: @ 823E154 .string "Crunch, munch…\p" .string "A while back, I met this older girl\n" .string "at the BATTLE PIKE.\p" @@ -480,13 +483,13 @@ BattleFrontier_OutsideWest_Text_23E154: @ 823E154 .string "scary experience, sure enough.\p" .string "Crunch, munch…$" -BattleFrontier_OutsideWest_Text_23E273: @ 823E273 +BattleFrontier_OutsideWest_Text_LastTimeOurEyesMet: @ 823E273 .string "Huh? Will you listen to yourself?\n" .string "That's nothing!\p" .string "Why, the last time I cheered for him,\n" .string "our eyes met and sparks flew!$" -BattleFrontier_OutsideWest_Text_23E2E9: @ 823E2E9 +BattleFrontier_OutsideWest_Text_DomeAceLookedBecauseOfMyCheering: @ 823E2E9 .string "Whaaaaaat?!\n" .string "Pfft!\p" .string "That only happened because\n" @@ -494,7 +497,7 @@ BattleFrontier_OutsideWest_Text_23E2E9: @ 823E2E9 .string "The DOME ACE only looked our way\n" .string "because my cheering was so loud!$" -BattleFrontier_OutsideWest_Text_23E37E: @ 823E37E +BattleFrontier_OutsideWest_Text_DomeAceIsMine: @ 823E37E .string "Oh, shush!\n" .string "Keep that racket down!\p" .string "You fair-weather fans should stick\n" @@ -502,7 +505,7 @@ BattleFrontier_OutsideWest_Text_23E37E: @ 823E37E .string "The DOME ACE is mine!\n" .string "The only idol for me!$" -BattleFrontier_OutsideWest_Text_23E410: @ 823E410 +BattleFrontier_OutsideWest_Text_FansOverThereUsedToBeTrainers: @ 823E410 .string "Those people squabbling over there…\p" .string "It's hard to believe, but they once\n" .string "were TRAINERS, and good ones, too.\p" @@ -516,7 +519,7 @@ BattleFrontier_OutsideWest_Text_23E410: @ 823E410 .string "They go cheer for their idol at the\l" .string "BATTLE DOME every day now.$" -BattleFrontier_OutsideWest_Text_23E5A5: @ 823E5A5 +BattleFrontier_OutsideWest_Text_MonWithLongTailInFrontier: @ 823E5A5 .string "I heard a rumor that someone saw\n" .string "a POKéMON with an unusually long tail\l" .string "somewhere in the BATTLE FRONTIER.\p" diff --git a/data/maps/BattleFrontier_PokemonCenter_1F/map.json b/data/maps/BattleFrontier_PokemonCenter_1F/map.json index 8f8153c085..743bab8b00 100644 --- a/data/maps/BattleFrontier_PokemonCenter_1F/map.json +++ b/data/maps/BattleFrontier_PokemonCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_PokemonCenter_1F_EventScript_267908", + "script": "BattleFrontier_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_PokemonCenter_1F_EventScript_267916", + "script": "BattleFrontier_PokemonCenter_1F_EventScript_SchoolKid", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_PokemonCenter_1F_EventScript_26791F", + "script": "BattleFrontier_PokemonCenter_1F_EventScript_Man", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_PokemonCenter_1F_EventScript_267928", + "script": "BattleFrontier_PokemonCenter_1F_EventScript_Picnicker", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_PokemonCenter_1F_EventScript_267931", + "script": "BattleFrontier_PokemonCenter_1F_EventScript_Skitty", "flag": "0" } ], diff --git a/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc b/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc index c99a0de381..f77d9ab831 100644 --- a/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc +++ b/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc @@ -1,43 +1,44 @@ BattleFrontier_PokemonCenter_1F_MapScripts:: @ 82678F9 - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_PokemonCenter_1F_MapScript1_267904 - map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_PokemonCenter_1F_OnTransition + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 -BattleFrontier_PokemonCenter_1F_MapScript1_267904: @ 8267904 +BattleFrontier_PokemonCenter_1F_OnTransition: @ 8267904 setrespawn HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST end -BattleFrontier_PokemonCenter_1F_EventScript_267908:: @ 8267908 +@ VAR_0x800B is the Nurse's object event id +BattleFrontier_PokemonCenter_1F_EventScript_Nurse:: @ 8267908 setvar VAR_0x800B, 1 - call BattleFrontier_PokemonCenter_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -BattleFrontier_PokemonCenter_1F_EventScript_267916:: @ 8267916 - msgbox BattleFrontier_PokemonCenter_1F_Text_267944, MSGBOX_NPC +BattleFrontier_PokemonCenter_1F_EventScript_SchoolKid:: @ 8267916 + msgbox BattleFrontier_PokemonCenter_1F_Text_NeverSeenPokemon, MSGBOX_NPC end -BattleFrontier_PokemonCenter_1F_EventScript_26791F:: @ 826791F - msgbox BattleFrontier_PokemonCenter_1F_Text_2679EB, MSGBOX_NPC +BattleFrontier_PokemonCenter_1F_EventScript_Man:: @ 826791F + msgbox BattleFrontier_PokemonCenter_1F_Text_NextStopBattleArena, MSGBOX_NPC end -BattleFrontier_PokemonCenter_1F_EventScript_267928:: @ 8267928 - msgbox BattleFrontier_PokemonCenter_1F_Text_267A4B, MSGBOX_NPC +BattleFrontier_PokemonCenter_1F_EventScript_Picnicker:: @ 8267928 + msgbox BattleFrontier_PokemonCenter_1F_Text_GoingThroughEveryChallenge, MSGBOX_NPC end -BattleFrontier_PokemonCenter_1F_EventScript_267931:: @ 8267931 +BattleFrontier_PokemonCenter_1F_EventScript_Skitty:: @ 8267931 lock faceplayer waitse playmoncry SPECIES_SKITTY, 0 - msgbox BattleFrontier_PokemonCenter_1F_Text_267A90, MSGBOX_DEFAULT + msgbox BattleFrontier_PokemonCenter_1F_Text_Skitty, MSGBOX_DEFAULT waitmoncry release end -BattleFrontier_PokemonCenter_1F_Text_267944: @ 8267944 +BattleFrontier_PokemonCenter_1F_Text_NeverSeenPokemon: @ 8267944 .string "There was someone here using a \n" .string "POKéMON I've never seen before.\p" .string "I never learned about it at\n" @@ -45,15 +46,15 @@ BattleFrontier_PokemonCenter_1F_Text_267944: @ 8267944 .string "I wonder where you can catch POKéMON\n" .string "like that.$" -BattleFrontier_PokemonCenter_1F_Text_2679EB: @ 82679EB +BattleFrontier_PokemonCenter_1F_Text_NextStopBattleArena: @ 82679EB .string "Okay! Next stop, the BATTLE ARENA!\n" .string "I'd better get the right POKéMON from\l" .string "the PC Storage System.$" -BattleFrontier_PokemonCenter_1F_Text_267A4B: @ 8267A4B +BattleFrontier_PokemonCenter_1F_Text_GoingThroughEveryChallenge: @ 8267A4B .string "Giggle… I'm going to go through every\n" .string "challenge with just this baby!$" -BattleFrontier_PokemonCenter_1F_Text_267A90: @ 8267A90 +BattleFrontier_PokemonCenter_1F_Text_Skitty: @ 8267A90 .string "SKITTY: Mya myaaah!$" diff --git a/data/maps/BattleFrontier_PokemonCenter_2F/map.json b/data/maps/BattleFrontier_PokemonCenter_2F/map.json index caa6fed8ac..fa93cde5f9 100644 --- a/data/maps/BattleFrontier_PokemonCenter_2F/map.json +++ b/data/maps/BattleFrontier_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc b/data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc index 59ede7f6a5..5a19a9d284 100644 --- a/data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc +++ b/data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ BattleFrontier_PokemonCenter_2F_MapScripts:: @ 8267AA4 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, BattleFrontier_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -BattleFrontier_PokemonCenter_2F_EventScript_267AB9:: @ 8267AB9 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +BattleFrontier_PokemonCenter_2F_EventScript_Colosseum:: @ 8267AB9 + call CableClub_EventScript_Colosseum end -BattleFrontier_PokemonCenter_2F_EventScript_267ABF:: @ 8267ABF - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +BattleFrontier_PokemonCenter_2F_EventScript_TradeCenter:: @ 8267ABF + call CableClub_EventScript_TradeCenter end -BattleFrontier_PokemonCenter_2F_EventScript_267AC5:: @ 8267AC5 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +BattleFrontier_PokemonCenter_2F_EventScript_RecordCorner:: @ 8267AC5 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/BattleFrontier_RankingHall/map.json b/data/maps/BattleFrontier_RankingHall/map.json index af28ecea64..f26e03e416 100644 --- a/data/maps/BattleFrontier_RankingHall/map.json +++ b/data/maps/BattleFrontier_RankingHall/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_RankingHall_EventScript_25E52F", + "script": "BattleFrontier_RankingHall_EventScript_Attendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_RankingHall_EventScript_25E54A", + "script": "BattleFrontier_RankingHall_EventScript_NinjaBoy", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_RankingHall_EventScript_25E573", + "script": "BattleFrontier_RankingHall_EventScript_Boy", "flag": "0" } ], @@ -78,7 +78,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_RankingHall_EventScript_25E4AA" + "script": "BattleFrontier_RankingHall_EventScript_TowerSinglesRecords" }, { "type": "sign", @@ -86,7 +86,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_RankingHall_EventScript_25E4B6" + "script": "BattleFrontier_RankingHall_EventScript_TowerDoublesRecords" }, { "type": "sign", @@ -94,7 +94,7 @@ "y": 5, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_RankingHall_EventScript_25E4C2" + "script": "BattleFrontier_RankingHall_EventScript_TowerMultisRecords" }, { "type": "sign", @@ -102,7 +102,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_RankingHall_EventScript_25E4CE" + "script": "BattleFrontier_RankingHall_EventScript_TowerLinkRecords" }, { "type": "sign", @@ -110,7 +110,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_RankingHall_EventScript_25E4DA" + "script": "BattleFrontier_RankingHall_EventScript_ArenaRecords" }, { "type": "sign", @@ -118,7 +118,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_RankingHall_EventScript_25E4E6" + "script": "BattleFrontier_RankingHall_EventScript_PalaceRecords" }, { "type": "sign", @@ -126,7 +126,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_RankingHall_EventScript_25E4F2" + "script": "BattleFrontier_RankingHall_EventScript_FactoryRecords" }, { "type": "sign", @@ -134,7 +134,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_RankingHall_EventScript_25E4FE" + "script": "BattleFrontier_RankingHall_EventScript_DomeRecords" }, { "type": "sign", @@ -142,7 +142,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_RankingHall_EventScript_25E50A" + "script": "BattleFrontier_RankingHall_EventScript_PikeRecords" }, { "type": "sign", @@ -150,7 +150,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "BattleFrontier_RankingHall_EventScript_25E516" + "script": "BattleFrontier_RankingHall_EventScript_PyramidRecords" }, { "type": "sign", @@ -158,7 +158,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_RankingHall_EventScript_25E538" + "script": "BattleFrontier_RankingHall_EventScript_DomePikeFactoryRecordsSign" }, { "type": "sign", @@ -166,7 +166,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "BattleFrontier_RankingHall_EventScript_25E541" + "script": "BattleFrontier_RankingHall_EventScript_PalaceArenaPyramidRecordsSIgn" } ] } \ No newline at end of file diff --git a/data/maps/BattleFrontier_RankingHall/scripts.inc b/data/maps/BattleFrontier_RankingHall/scripts.inc index 5f8a6c44e9..e8415c8286 100644 --- a/data/maps/BattleFrontier_RankingHall/scripts.inc +++ b/data/maps/BattleFrontier_RankingHall/scripts.inc @@ -1,67 +1,67 @@ BattleFrontier_RankingHall_MapScripts:: @ 825E4A9 .byte 0 -BattleFrontier_RankingHall_EventScript_25E4AA:: @ 825E4AA +BattleFrontier_RankingHall_EventScript_TowerSinglesRecords:: @ 825E4AA lockall - setvar VAR_0x8005, 0 - goto BattleFrontier_RankingHall_EventScript_25E522 + setvar VAR_0x8005, RANKING_HALL_BATTLE_TOWER_SINGLES + goto BattleFrontier_RankingHall_EventScript_ShowRecords end -BattleFrontier_RankingHall_EventScript_25E4B6:: @ 825E4B6 +BattleFrontier_RankingHall_EventScript_TowerDoublesRecords:: @ 825E4B6 lockall - setvar VAR_0x8005, 1 - goto BattleFrontier_RankingHall_EventScript_25E522 + setvar VAR_0x8005, RANKING_HALL_BATTLE_TOWER_DOUBLES + goto BattleFrontier_RankingHall_EventScript_ShowRecords end -BattleFrontier_RankingHall_EventScript_25E4C2:: @ 825E4C2 +BattleFrontier_RankingHall_EventScript_TowerMultisRecords:: @ 825E4C2 lockall - setvar VAR_0x8005, 2 - goto BattleFrontier_RankingHall_EventScript_25E522 + setvar VAR_0x8005, RANKING_HALL_BATTLE_TOWER_MULTIS + goto BattleFrontier_RankingHall_EventScript_ShowRecords end -BattleFrontier_RankingHall_EventScript_25E4CE:: @ 825E4CE +BattleFrontier_RankingHall_EventScript_TowerLinkRecords:: @ 825E4CE lockall - setvar VAR_0x8005, 9 - goto BattleFrontier_RankingHall_EventScript_25E522 + setvar VAR_0x8005, RANKING_HALL_BATTLE_TOWER_LINK + goto BattleFrontier_RankingHall_EventScript_ShowRecords end -BattleFrontier_RankingHall_EventScript_25E4DA:: @ 825E4DA +BattleFrontier_RankingHall_EventScript_ArenaRecords:: @ 825E4DA lockall - setvar VAR_0x8005, 5 - goto BattleFrontier_RankingHall_EventScript_25E522 + setvar VAR_0x8005, RANKING_HALL_BATTLE_ARENA + goto BattleFrontier_RankingHall_EventScript_ShowRecords end -BattleFrontier_RankingHall_EventScript_25E4E6:: @ 825E4E6 +BattleFrontier_RankingHall_EventScript_PalaceRecords:: @ 825E4E6 lockall - setvar VAR_0x8005, 4 - goto BattleFrontier_RankingHall_EventScript_25E522 + setvar VAR_0x8005, RANKING_HALL_BATTLE_PALACE + goto BattleFrontier_RankingHall_EventScript_ShowRecords end -BattleFrontier_RankingHall_EventScript_25E4F2:: @ 825E4F2 +BattleFrontier_RankingHall_EventScript_FactoryRecords:: @ 825E4F2 lockall - setvar VAR_0x8005, 6 - goto BattleFrontier_RankingHall_EventScript_25E522 + setvar VAR_0x8005, RANKING_HALL_BATTLE_FACTORY + goto BattleFrontier_RankingHall_EventScript_ShowRecords end -BattleFrontier_RankingHall_EventScript_25E4FE:: @ 825E4FE +BattleFrontier_RankingHall_EventScript_DomeRecords:: @ 825E4FE lockall - setvar VAR_0x8005, 3 - goto BattleFrontier_RankingHall_EventScript_25E522 + setvar VAR_0x8005, RANKING_HALL_BATTLE_DOME + goto BattleFrontier_RankingHall_EventScript_ShowRecords end -BattleFrontier_RankingHall_EventScript_25E50A:: @ 825E50A +BattleFrontier_RankingHall_EventScript_PikeRecords:: @ 825E50A lockall - setvar VAR_0x8005, 7 - goto BattleFrontier_RankingHall_EventScript_25E522 + setvar VAR_0x8005, RANKING_HALL_BATTLE_PIKE + goto BattleFrontier_RankingHall_EventScript_ShowRecords end -BattleFrontier_RankingHall_EventScript_25E516:: @ 825E516 +BattleFrontier_RankingHall_EventScript_PyramidRecords:: @ 825E516 lockall - setvar VAR_0x8005, 8 - goto BattleFrontier_RankingHall_EventScript_25E522 + setvar VAR_0x8005, RANKING_HALL_BATTLE_PYRAMID + goto BattleFrontier_RankingHall_EventScript_ShowRecords end -BattleFrontier_RankingHall_EventScript_25E522:: @ 825E522 +BattleFrontier_RankingHall_EventScript_ShowRecords:: @ 825E522 special ShowRankingHallRecordsWindow waitbuttonpress special ScrollRankingHallRecordsWindow @@ -70,64 +70,64 @@ BattleFrontier_RankingHall_EventScript_25E522:: @ 825E522 releaseall end -BattleFrontier_RankingHall_EventScript_25E52F:: @ 825E52F - msgbox BattleFrontier_RankingHall_Text_25E57C, MSGBOX_NPC +BattleFrontier_RankingHall_EventScript_Attendant:: @ 825E52F + msgbox BattleFrontier_RankingHall_Text_ExplainRankingHall, MSGBOX_NPC end -BattleFrontier_RankingHall_EventScript_25E538:: @ 825E538 - msgbox BattleFrontier_RankingHall_Text_25E5F9, MSGBOX_SIGN +BattleFrontier_RankingHall_EventScript_DomePikeFactoryRecordsSign:: @ 825E538 + msgbox BattleFrontier_RankingHall_Text_DomePikeFactoryRecords, MSGBOX_SIGN end -BattleFrontier_RankingHall_EventScript_25E541:: @ 825E541 - msgbox BattleFrontier_RankingHall_Text_25E62E, MSGBOX_SIGN +BattleFrontier_RankingHall_EventScript_PalaceArenaPyramidRecordsSIgn:: @ 825E541 + msgbox BattleFrontier_RankingHall_Text_PalaceArenaPyramidRecords, MSGBOX_SIGN end -BattleFrontier_RankingHall_EventScript_25E54A:: @ 825E54A +BattleFrontier_RankingHall_EventScript_NinjaBoy:: @ 825E54A lock faceplayer - msgbox BattleFrontier_RankingHall_Text_25E666, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_RankingHall_EventScript_25E569 - msgbox BattleFrontier_RankingHall_Text_25E6B6, MSGBOX_DEFAULT + msgbox BattleFrontier_RankingHall_Text_IsYourNameOnThisList, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq BattleFrontier_RankingHall_EventScript_NinjaBoyNameOnList + msgbox BattleFrontier_RankingHall_Text_WorkHarderIfYouSawFriendsName, MSGBOX_DEFAULT release end -BattleFrontier_RankingHall_EventScript_25E569:: @ 825E569 - msgbox BattleFrontier_RankingHall_Text_25E685, MSGBOX_DEFAULT +BattleFrontier_RankingHall_EventScript_NinjaBoyNameOnList:: @ 825E569 + msgbox BattleFrontier_RankingHall_Text_WowThatsSuper, MSGBOX_DEFAULT release end -BattleFrontier_RankingHall_EventScript_25E573:: @ 825E573 - msgbox BattleFrontier_RankingHall_Text_25E715, MSGBOX_NPC +BattleFrontier_RankingHall_EventScript_Boy:: @ 825E573 + msgbox BattleFrontier_RankingHall_Text_MyNamesNotUpThere, MSGBOX_NPC end -BattleFrontier_RankingHall_Text_25E57C: @ 825E57C +BattleFrontier_RankingHall_Text_ExplainRankingHall: @ 825E57C .string "This is the RANKING HALL.\p" .string "This is where we recognize the immortal\n" .string "TRAINERS who left great records in\l" .string "BATTLE FRONTIER events.$" -BattleFrontier_RankingHall_Text_25E5F9: @ 825E5F9 +BattleFrontier_RankingHall_Text_DomePikeFactoryRecords: @ 825E5F9 .string "BATTLE DOME, BATTLE PIKE,\n" .string "and BATTLE FACTORY Records$" -BattleFrontier_RankingHall_Text_25E62E: @ 825E62E +BattleFrontier_RankingHall_Text_PalaceArenaPyramidRecords: @ 825E62E .string "BATTLE PALACE, BATTLE ARENA,\n" .string "and BATTLE PYRAMID Records$" -BattleFrontier_RankingHall_Text_25E666: @ 825E666 +BattleFrontier_RankingHall_Text_IsYourNameOnThisList: @ 825E666 .string "Hi, is your name on this list?$" -BattleFrontier_RankingHall_Text_25E685: @ 825E685 +BattleFrontier_RankingHall_Text_WowThatsSuper: @ 825E685 .string "Wow, that's super!\n" .string "I'll have to try harder, too!$" -BattleFrontier_RankingHall_Text_25E6B6: @ 825E6B6 +BattleFrontier_RankingHall_Text_WorkHarderIfYouSawFriendsName: @ 825E6B6 .string "Oh, is that right?\p" .string "If you saw your friend's name up here,\n" .string "I bet it would make you work harder!$" -BattleFrontier_RankingHall_Text_25E715: @ 825E715 +BattleFrontier_RankingHall_Text_MyNamesNotUpThere: @ 825E715 .string "Hmm…\n" .string "My name's not up there…\p" .string "Well, it's only natural since I haven't\n" diff --git a/data/maps/BattleFrontier_ReceptionGate/map.json b/data/maps/BattleFrontier_ReceptionGate/map.json index db140442ea..ff891ad5bb 100644 --- a/data/maps/BattleFrontier_ReceptionGate/map.json +++ b/data/maps/BattleFrontier_ReceptionGate/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_ReceptionGate_EventScript_2662FC", + "script": "BattleFrontier_ReceptionGate_EventScript_Greeter", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_ReceptionGate_EventScript_266310", + "script": "BattleFrontier_ReceptionGate_EventScript_FacilityGuide", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_ReceptionGate_EventScript_266436", + "script": "BattleFrontier_ReceptionGate_EventScript_RulesGuide", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_ReceptionGate_EventScript_2664F4", + "script": "BattleFrontier_ReceptionGate_EventScript_FrontierPassGuide", "flag": "0" } ], diff --git a/data/maps/BattleFrontier_ReceptionGate/scripts.inc b/data/maps/BattleFrontier_ReceptionGate/scripts.inc index 5f0952cb0d..cb01034ad3 100644 --- a/data/maps/BattleFrontier_ReceptionGate/scripts.inc +++ b/data/maps/BattleFrontier_ReceptionGate/scripts.inc @@ -1,5 +1,5 @@ BattleFrontier_ReceptionGate_MapScripts:: @ 82661DA - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_ReceptionGate_MapScript2_2661E9 + map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_ReceptionGate_OnFrame map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_ReceptionGate_OnTransition .byte 0 @@ -7,11 +7,11 @@ BattleFrontier_ReceptionGate_OnTransition: @ 82661E5 setflag FLAG_LANDMARK_BATTLE_FRONTIER end -BattleFrontier_ReceptionGate_MapScript2_2661E9: @ 82661E9 - map_script_2 VAR_HAS_ENTERED_BATTLE_FRONTIER, 0, BattleFrontier_ReceptionGate_EventScript_2661F3 +BattleFrontier_ReceptionGate_OnFrame: @ 82661E9 + map_script_2 VAR_HAS_ENTERED_BATTLE_FRONTIER, 0, BattleFrontier_ReceptionGate_EventScript_FirstTimeEntering .2byte 0 -BattleFrontier_ReceptionGate_EventScript_2661F3:: @ 82661F3 +BattleFrontier_ReceptionGate_EventScript_FirstTimeEntering:: @ 82661F3 lockall setvar VAR_HAS_ENTERED_BATTLE_FRONTIER, 1 playse SE_PIN @@ -19,57 +19,57 @@ BattleFrontier_ReceptionGate_EventScript_2661F3:: @ 82661F3 waitmovement 0 applymovement 1, Common_Movement_Delay48 waitmovement 0 - msgbox BattleFrontier_ReceptionGate_Text_266580, MSGBOX_DEFAULT + msgbox BattleFrontier_ReceptionGate_Text_FirstTimeHereThisWay, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_2662D2 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_PlayerApproachCounter waitmovement 0 - goto BattleFrontier_ReceptionGate_EventScript_266229 + goto BattleFrontier_ReceptionGate_EventScript_ScottScene end -BattleFrontier_ReceptionGate_EventScript_266229:: @ 8266229 - msgbox BattleFrontier_ReceptionGate_Text_2665B2, MSGBOX_DEFAULT - msgbox BattleFrontier_ReceptionGate_Text_2665F7, MSGBOX_DEFAULT +BattleFrontier_ReceptionGate_EventScript_ScottScene:: @ 8266229 + msgbox BattleFrontier_ReceptionGate_Text_WelcomeToBattleFrontier, MSGBOX_DEFAULT + msgbox BattleFrontier_ReceptionGate_Text_IssueFrontierPass, MSGBOX_DEFAULT playfanfare MUS_FANFA4 - message BattleFrontier_ReceptionGate_Text_266676 + message BattleFrontier_ReceptionGate_Text_ObtainedFrontierPass waitfanfare waitmessage - msgbox BattleFrontier_ReceptionGate_Text_266695, MSGBOX_DEFAULT + msgbox BattleFrontier_ReceptionGate_Text_PlacedTrainerCardInFrontierPass, MSGBOX_DEFAULT setflag FLAG_SYS_FRONTIER_PASS - msgbox BattleFrontier_ReceptionGate_Text_2666C6, MSGBOX_DEFAULT - msgbox BattleFrontier_ReceptionGate_Text_266703, MSGBOX_DEFAULT + msgbox BattleFrontier_ReceptionGate_Text_EnjoyBattleFrontier, MSGBOX_DEFAULT + msgbox BattleFrontier_ReceptionGate_Text_IfItIsntPlayerYouCame, MSGBOX_DEFAULT closemessage - applymovement 1, Common_Movement_WalkInPlaceUp - applymovement 2, Common_Movement_WalkInPlaceUp - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp + applymovement 2, Common_Movement_WalkInPlaceFastestUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 playse SE_PIN applymovement 1, Common_Movement_ExclamationMark applymovement 2, Common_Movement_ExclamationMark applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_ExclamationMark waitmovement 0 - msgbox BattleFrontier_ReceptionGate_Text_266733, MSGBOX_DEFAULT + msgbox BattleFrontier_ReceptionGate_Text_OhMrScottGoodDay, MSGBOX_DEFAULT closemessage - applymovement 1, BattleFrontier_ReceptionGate_Movement_2662F0 - applymovement 2, BattleFrontier_ReceptionGate_Movement_2662F6 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_2662D7 - applymovement 4, BattleFrontier_ReceptionGate_Movement_2662E0 + applymovement 1, BattleFrontier_ReceptionGate_Movement_GreeterFaceScott + applymovement 2, BattleFrontier_ReceptionGate_Movement_FacilityGuideFaceScott + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_PlayerFaceScott + applymovement 4, BattleFrontier_ReceptionGate_Movement_ScottEnter waitmovement 0 - msgbox BattleFrontier_ReceptionGate_Text_266764, MSGBOX_DEFAULT + msgbox BattleFrontier_ReceptionGate_Text_ScottGreatToSeeYouHere, MSGBOX_DEFAULT closemessage - applymovement 4, BattleFrontier_ReceptionGate_Movement_2662E8 + applymovement 4, BattleFrontier_ReceptionGate_Movement_ScottExit waitmovement 0 removeobject 4 releaseall end -BattleFrontier_ReceptionGate_Movement_2662D2: @ 82662D2 +BattleFrontier_ReceptionGate_Movement_PlayerApproachCounter: @ 82662D2 walk_up walk_up walk_left walk_left step_end -BattleFrontier_ReceptionGate_Movement_2662D7: @ 82662D7 +BattleFrontier_ReceptionGate_Movement_PlayerFaceScott: @ 82662D7 delay_16 delay_16 delay_16 @@ -77,12 +77,13 @@ BattleFrontier_ReceptionGate_Movement_2662D7: @ 82662D7 walk_in_place_fastest_right step_end -BattleFrontier_ReceptionGate_Movement_2662DD: @ 82662DD +@ Unused +BattleFrontier_ReceptionGate_Movement_WalkDown: @ 82662DD walk_down walk_down step_end -BattleFrontier_ReceptionGate_Movement_2662E0: @ 82662E0 +BattleFrontier_ReceptionGate_Movement_ScottEnter: @ 82662E0 walk_down walk_down walk_down @@ -92,7 +93,7 @@ BattleFrontier_ReceptionGate_Movement_2662E0: @ 82662E0 walk_left step_end -BattleFrontier_ReceptionGate_Movement_2662E8: @ 82662E8 +BattleFrontier_ReceptionGate_Movement_ScottExit: @ 82662E8 walk_right walk_up walk_up @@ -102,7 +103,7 @@ BattleFrontier_ReceptionGate_Movement_2662E8: @ 82662E8 walk_up step_end -BattleFrontier_ReceptionGate_Movement_2662F0: @ 82662F0 +BattleFrontier_ReceptionGate_Movement_GreeterFaceScott: @ 82662F0 delay_16 delay_16 delay_16 @@ -110,7 +111,7 @@ BattleFrontier_ReceptionGate_Movement_2662F0: @ 82662F0 walk_in_place_fastest_right step_end -BattleFrontier_ReceptionGate_Movement_2662F6: @ 82662F6 +BattleFrontier_ReceptionGate_Movement_FacilityGuideFaceScott: @ 82662F6 delay_16 delay_16 delay_16 @@ -118,217 +119,217 @@ BattleFrontier_ReceptionGate_Movement_2662F6: @ 82662F6 walk_in_place_fastest_left step_end -BattleFrontier_ReceptionGate_EventScript_2662FC:: @ 82662FC +BattleFrontier_ReceptionGate_EventScript_Greeter:: @ 82662FC lock faceplayer - msgbox BattleFrontier_ReceptionGate_Text_2665B2, MSGBOX_DEFAULT - msgbox BattleFrontier_ReceptionGate_Text_2666C6, MSGBOX_DEFAULT + msgbox BattleFrontier_ReceptionGate_Text_WelcomeToBattleFrontier, MSGBOX_DEFAULT + msgbox BattleFrontier_ReceptionGate_Text_EnjoyBattleFrontier, MSGBOX_DEFAULT release end -BattleFrontier_ReceptionGate_EventScript_266310:: @ 8266310 +BattleFrontier_ReceptionGate_EventScript_FacilityGuide:: @ 8266310 lock faceplayer - msgbox BattleFrontier_ReceptionGate_Text_266857, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266320 + msgbox BattleFrontier_ReceptionGate_Text_YourGuideToFacilities, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_266320:: @ 8266320 - message BattleFrontier_ReceptionGate_Text_26689D +BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout:: @ 8266320 + message BattleFrontier_ReceptionGate_Text_LearnAboutWhich2 waitmessage - setvar VAR_0x8004, 8 - special sub_813A128 + setvar VAR_0x8004, SCROLL_MULTI_BF_RECEPTIONIST + special ShowScrollableMultichoice waitstate switch VAR_RESULT - case 0, BattleFrontier_ReceptionGate_EventScript_2663AE - case 1, BattleFrontier_ReceptionGate_EventScript_2663BC - case 2, BattleFrontier_ReceptionGate_EventScript_2663CA - case 3, BattleFrontier_ReceptionGate_EventScript_2663D8 - case 4, BattleFrontier_ReceptionGate_EventScript_2663E6 - case 5, BattleFrontier_ReceptionGate_EventScript_2663F4 - case 6, BattleFrontier_ReceptionGate_EventScript_266402 - case 7, BattleFrontier_ReceptionGate_EventScript_266410 - case 8, BattleFrontier_ReceptionGate_EventScript_26641E - case 9, BattleFrontier_ReceptionGate_EventScript_26642C - case 127, BattleFrontier_ReceptionGate_EventScript_26642C + case 0, BattleFrontier_ReceptionGate_EventScript_BattleTower + case 1, BattleFrontier_ReceptionGate_EventScript_BattleDome + case 2, BattleFrontier_ReceptionGate_EventScript_BattlePalace + case 3, BattleFrontier_ReceptionGate_EventScript_BattleArena + case 4, BattleFrontier_ReceptionGate_EventScript_BattleFactory + case 5, BattleFrontier_ReceptionGate_EventScript_BattlePike + case 6, BattleFrontier_ReceptionGate_EventScript_BattlePyramid + case 7, BattleFrontier_ReceptionGate_EventScript_RankingHall + case 8, BattleFrontier_ReceptionGate_EventScript_ExchangeCorner + case 9, BattleFrontier_ReceptionGate_EventScript_ExitFacilityGuide + case MULTI_B_PRESSED, BattleFrontier_ReceptionGate_EventScript_ExitFacilityGuide end -BattleFrontier_ReceptionGate_EventScript_2663AE:: @ 82663AE - msgbox BattleFrontier_ReceptionGate_Text_2668C2, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266320 +BattleFrontier_ReceptionGate_EventScript_BattleTower:: @ 82663AE + msgbox BattleFrontier_ReceptionGate_Text_BattleTowerInfo, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_2663BC:: @ 82663BC - msgbox BattleFrontier_ReceptionGate_Text_26696F, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266320 +BattleFrontier_ReceptionGate_EventScript_BattleDome:: @ 82663BC + msgbox BattleFrontier_ReceptionGate_Text_BattleDomeInfo, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_2663CA:: @ 82663CA - msgbox BattleFrontier_ReceptionGate_Text_266A34, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266320 +BattleFrontier_ReceptionGate_EventScript_BattlePalace:: @ 82663CA + msgbox BattleFrontier_ReceptionGate_Text_BattlePalaceInfo, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_2663D8:: @ 82663D8 - msgbox BattleFrontier_ReceptionGate_Text_266AC2, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266320 +BattleFrontier_ReceptionGate_EventScript_BattleArena:: @ 82663D8 + msgbox BattleFrontier_ReceptionGate_Text_BattleArenaInfo, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_2663E6:: @ 82663E6 - msgbox BattleFrontier_ReceptionGate_Text_266B5D, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266320 +BattleFrontier_ReceptionGate_EventScript_BattleFactory:: @ 82663E6 + msgbox BattleFrontier_ReceptionGate_Text_BattleFactoryInfo, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_2663F4:: @ 82663F4 - msgbox BattleFrontier_ReceptionGate_Text_266C24, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266320 +BattleFrontier_ReceptionGate_EventScript_BattlePike:: @ 82663F4 + msgbox BattleFrontier_ReceptionGate_Text_BattlePikeInfo, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_266402:: @ 8266402 - msgbox BattleFrontier_ReceptionGate_Text_266CBB, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266320 +BattleFrontier_ReceptionGate_EventScript_BattlePyramid:: @ 8266402 + msgbox BattleFrontier_ReceptionGate_Text_BattlePyramidInfo, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_266410:: @ 8266410 - msgbox BattleFrontier_ReceptionGate_Text_266D1C, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266320 +BattleFrontier_ReceptionGate_EventScript_RankingHall:: @ 8266410 + msgbox BattleFrontier_ReceptionGate_Text_RankingHallInfo, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_26641E:: @ 826641E - msgbox BattleFrontier_ReceptionGate_Text_266DCB, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266320 +BattleFrontier_ReceptionGate_EventScript_ExchangeCorner:: @ 826641E + msgbox BattleFrontier_ReceptionGate_Text_ExchangeCornerInfo, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_26642C:: @ 826642C - msgbox BattleFrontier_ReceptionGate_Text_2666C6, MSGBOX_DEFAULT +BattleFrontier_ReceptionGate_EventScript_ExitFacilityGuide:: @ 826642C + msgbox BattleFrontier_ReceptionGate_Text_EnjoyBattleFrontier, MSGBOX_DEFAULT release end -BattleFrontier_ReceptionGate_EventScript_266436:: @ 8266436 +BattleFrontier_ReceptionGate_EventScript_RulesGuide:: @ 8266436 lock faceplayer - msgbox BattleFrontier_ReceptionGate_Text_266E66, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266446 + msgbox BattleFrontier_ReceptionGate_Text_YourGuideToRules, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseRuleToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_266446:: @ 8266446 - message BattleFrontier_ReceptionGate_Text_266EE0 +BattleFrontier_ReceptionGate_EventScript_ChooseRuleToLearnAbout:: @ 8266446 + message BattleFrontier_ReceptionGate_Text_LearnAboutWhat waitmessage - multichoice 15, 0, 95, 0 + multichoice 15, 0, MULTI_FRONTIER_RULES, 0 switch VAR_RESULT - case 0, BattleFrontier_ReceptionGate_EventScript_2664A4 - case 1, BattleFrontier_ReceptionGate_EventScript_2664B2 - case 2, BattleFrontier_ReceptionGate_EventScript_2664C0 - case 3, BattleFrontier_ReceptionGate_EventScript_2664CE - case 4, BattleFrontier_ReceptionGate_EventScript_2664DC - case 5, BattleFrontier_ReceptionGate_EventScript_2664EA - case 127, BattleFrontier_ReceptionGate_EventScript_2664EA + case 0, BattleFrontier_ReceptionGate_EventScript_LevelMode + case 1, BattleFrontier_ReceptionGate_EventScript_Level50 + case 2, BattleFrontier_ReceptionGate_EventScript_OpenLevel + case 3, BattleFrontier_ReceptionGate_EventScript_MonEntry + case 4, BattleFrontier_ReceptionGate_EventScript_HoldItems + case 5, BattleFrontier_ReceptionGate_EventScript_ExitRulesGuide + case MULTI_B_PRESSED, BattleFrontier_ReceptionGate_EventScript_ExitRulesGuide end -BattleFrontier_ReceptionGate_EventScript_2664A4:: @ 82664A4 - msgbox BattleFrontier_ReceptionGate_Text_266F04, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266446 +BattleFrontier_ReceptionGate_EventScript_LevelMode:: @ 82664A4 + msgbox BattleFrontier_ReceptionGate_Text_LevelModeInfo, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseRuleToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_2664B2:: @ 82664B2 - msgbox BattleFrontier_ReceptionGate_Text_266F69, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266446 +BattleFrontier_ReceptionGate_EventScript_Level50:: @ 82664B2 + msgbox BattleFrontier_ReceptionGate_Text_Level50Info, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseRuleToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_2664C0:: @ 82664C0 - msgbox BattleFrontier_ReceptionGate_Text_267080, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266446 +BattleFrontier_ReceptionGate_EventScript_OpenLevel:: @ 82664C0 + msgbox BattleFrontier_ReceptionGate_Text_OpenLevelInfo, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseRuleToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_2664CE:: @ 82664CE - msgbox BattleFrontier_ReceptionGate_Text_26716A, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266446 +BattleFrontier_ReceptionGate_EventScript_MonEntry:: @ 82664CE + msgbox BattleFrontier_ReceptionGate_Text_MonEntryInfo, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseRuleToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_2664DC:: @ 82664DC - msgbox BattleFrontier_ReceptionGate_Text_267298, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266446 +BattleFrontier_ReceptionGate_EventScript_HoldItems:: @ 82664DC + msgbox BattleFrontier_ReceptionGate_Text_HoldItemsInfo, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseRuleToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_2664EA:: @ 82664EA - msgbox BattleFrontier_ReceptionGate_Text_2666C6, MSGBOX_DEFAULT +BattleFrontier_ReceptionGate_EventScript_ExitRulesGuide:: @ 82664EA + msgbox BattleFrontier_ReceptionGate_Text_EnjoyBattleFrontier, MSGBOX_DEFAULT release end -BattleFrontier_ReceptionGate_EventScript_2664F4:: @ 82664F4 +BattleFrontier_ReceptionGate_EventScript_FrontierPassGuide:: @ 82664F4 lock faceplayer - msgbox BattleFrontier_ReceptionGate_Text_267357, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266504 + msgbox BattleFrontier_ReceptionGate_Text_YourGuideToFrontierPass, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseFrontierPassInfoToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_266504:: @ 8266504 - message BattleFrontier_ReceptionGate_Text_26737C +BattleFrontier_ReceptionGate_EventScript_ChooseFrontierPassInfoToLearnAbout:: @ 8266504 + message BattleFrontier_ReceptionGate_Text_LearnAboutWhich1 waitmessage - multichoice 16, 4, 11, 0 + multichoice 16, 4, MULTI_FRONTIER_PASS_INFO, 0 switch VAR_RESULT - case 0, BattleFrontier_ReceptionGate_EventScript_26654C - case 1, BattleFrontier_ReceptionGate_EventScript_26655A - case 2, BattleFrontier_ReceptionGate_EventScript_266568 - case 3, BattleFrontier_ReceptionGate_EventScript_266576 - case 127, BattleFrontier_ReceptionGate_EventScript_266576 + case 0, BattleFrontier_ReceptionGate_EventScript_Symbols + case 1, BattleFrontier_ReceptionGate_EventScript_RecordBattle + case 2, BattleFrontier_ReceptionGate_EventScript_BattlePoints + case 3, BattleFrontier_ReceptionGate_EventScript_ExitFrontierPassGuide + case MULTI_B_PRESSED, BattleFrontier_ReceptionGate_EventScript_ExitFrontierPassGuide end -BattleFrontier_ReceptionGate_EventScript_26654C:: @ 826654C - msgbox BattleFrontier_ReceptionGate_Text_2673A1, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266504 +BattleFrontier_ReceptionGate_EventScript_Symbols:: @ 826654C + msgbox BattleFrontier_ReceptionGate_Text_SymbolsInfo, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseFrontierPassInfoToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_26655A:: @ 826655A - msgbox BattleFrontier_ReceptionGate_Text_2674F3, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266504 +BattleFrontier_ReceptionGate_EventScript_RecordBattle:: @ 826655A + msgbox BattleFrontier_ReceptionGate_Text_RecordedBattleInfo, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseFrontierPassInfoToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_266568:: @ 8266568 - msgbox BattleFrontier_ReceptionGate_Text_26761C, MSGBOX_DEFAULT - goto BattleFrontier_ReceptionGate_EventScript_266504 +BattleFrontier_ReceptionGate_EventScript_BattlePoints:: @ 8266568 + msgbox BattleFrontier_ReceptionGate_Text_BattlePointsInfo, MSGBOX_DEFAULT + goto BattleFrontier_ReceptionGate_EventScript_ChooseFrontierPassInfoToLearnAbout end -BattleFrontier_ReceptionGate_EventScript_266576:: @ 8266576 - msgbox BattleFrontier_ReceptionGate_Text_2666C6, MSGBOX_DEFAULT +BattleFrontier_ReceptionGate_EventScript_ExitFrontierPassGuide:: @ 8266576 + msgbox BattleFrontier_ReceptionGate_Text_EnjoyBattleFrontier, MSGBOX_DEFAULT release end -BattleFrontier_ReceptionGate_Text_266580: @ 8266580 +BattleFrontier_ReceptionGate_Text_FirstTimeHereThisWay: @ 8266580 .string "Is it your first time here?\n" .string "Please step this way!$" -BattleFrontier_ReceptionGate_Text_2665B2: @ 82665B2 +BattleFrontier_ReceptionGate_Text_WelcomeToBattleFrontier: @ 82665B2 .string "The front lines of POKéMON battling!\n" .string "Welcome to the BATTLE FRONTIER!$" -BattleFrontier_ReceptionGate_Text_2665F7: @ 82665F7 +BattleFrontier_ReceptionGate_Text_IssueFrontierPass: @ 82665F7 .string "For a first-time visitor, we issue\n" .string "the FRONTIER PASS.\p" .string "It's for use at all the facilities\n" .string "in the BATTLE FRONTIER.\p" .string "Here you are!$" -BattleFrontier_ReceptionGate_Text_266676: @ 8266676 +BattleFrontier_ReceptionGate_Text_ObtainedFrontierPass: @ 8266676 .string "{PLAYER} obtained\n" .string "the FRONTIER PASS.$" -BattleFrontier_ReceptionGate_Text_266695: @ 8266695 +BattleFrontier_ReceptionGate_Text_PlacedTrainerCardInFrontierPass: @ 8266695 .string "{PLAYER} placed the TRAINER CARD\n" .string "in the FRONTIER PASS.$" -BattleFrontier_ReceptionGate_Text_2666C6: @ 82666C6 +BattleFrontier_ReceptionGate_Text_EnjoyBattleFrontier: @ 82666C6 .string "We hope you enjoy all that the BATTLE\n" .string "FRONTIER has to offer!$" -BattleFrontier_ReceptionGate_Text_266703: @ 8266703 +BattleFrontier_ReceptionGate_Text_IfItIsntPlayerYouCame: @ 8266703 .string "???: Well, if it isn't {PLAYER}{KUN}!\n" .string "You came out here!$" -BattleFrontier_ReceptionGate_Text_266733: @ 8266733 +BattleFrontier_ReceptionGate_Text_OhMrScottGoodDay: @ 8266733 .string "GUIDE: Oh! MR. SCOTT, sir!\n" .string "Good day to you, sir!$" -BattleFrontier_ReceptionGate_Text_266764: @ 8266764 +BattleFrontier_ReceptionGate_Text_ScottGreatToSeeYouHere: @ 8266764 .string "SCOTT: It's great to see you here,\n" .string "it really is!\p" .string "I hope you'll take your time and\n" @@ -338,21 +339,21 @@ BattleFrontier_ReceptionGate_Text_266764: @ 8266764 .string "I also have my quarters here, so feel\n" .string "free to visit if you have time.$" -BattleFrontier_ReceptionGate_Text_266857: @ 8266857 +BattleFrontier_ReceptionGate_Text_YourGuideToFacilities: @ 8266857 .string "I'm your guide to the various facilities\n" .string "here in the BATTLE FRONTIER.$" -BattleFrontier_ReceptionGate_Text_26689D: @ 826689D +BattleFrontier_ReceptionGate_Text_LearnAboutWhich2: @ 826689D .string "Which would you like to learn about?$" -BattleFrontier_ReceptionGate_Text_2668C2: @ 82668C2 +BattleFrontier_ReceptionGate_Text_BattleTowerInfo: @ 82668C2 .string "It is the gigantic tower considered\n" .string "to be the BATTLE FRONTIER's symbol.\p" .string "There are four kinds of BATTLE ROOMS\n" .string "in the tower for SINGLE, DOUBLE, MULTI,\l" .string "and LINK MULTI BATTLES.$" -BattleFrontier_ReceptionGate_Text_26696F: @ 826696F +BattleFrontier_ReceptionGate_Text_BattleDomeInfo: @ 826696F .string "The BATTLE DOME is the large building\n" .string "shaped like a huge egg.\p" .string "Events named Battle Tourneys are held\n" @@ -361,20 +362,20 @@ BattleFrontier_ReceptionGate_Text_26696F: @ 826696F .string "two courses--for SINGLE and DOUBLE\l" .string "BATTLES.$" -BattleFrontier_ReceptionGate_Text_266A34: @ 8266A34 +BattleFrontier_ReceptionGate_Text_BattlePalaceInfo: @ 8266A34 .string "The BATTLE PALACE is the red building\n" .string "on the right of the BATTLE FRONTIER.\p" .string "There are two kinds of BATTLE HALLS\n" .string "for SINGLE and DOUBLE BATTLES.$" -BattleFrontier_ReceptionGate_Text_266AC2: @ 8266AC2 +BattleFrontier_ReceptionGate_Text_BattleArenaInfo: @ 8266AC2 .string "The BATTLE ARENA is the dojo-like\n" .string "building at the center-right of\l" .string "the BATTLE FRONTIER.\p" .string "An event called the Set KO Tourney\n" .string "takes place at the BATTLE ARENA.$" -BattleFrontier_ReceptionGate_Text_266B5D: @ 8266B5D +BattleFrontier_ReceptionGate_Text_BattleFactoryInfo: @ 8266B5D .string "The BATTLE FACTORY is the large\n" .string "building that is the closest to us.\p" .string "An event called the Battle Swap\n" @@ -383,20 +384,20 @@ BattleFrontier_ReceptionGate_Text_266B5D: @ 8266B5D .string "two courses for SINGLE and DOUBLE\l" .string "BATTLES.$" -BattleFrontier_ReceptionGate_Text_266C24: @ 8266C24 +BattleFrontier_ReceptionGate_Text_BattlePikeInfo: @ 8266C24 .string "The BATTLE PIKE is the building shaped\n" .string "like a POKéMON at the center-left of\l" .string "the BATTLE FRONTIER.\p" .string "An event called the Battle Choice\n" .string "is conducted there.$" -BattleFrontier_ReceptionGate_Text_266CBB: @ 8266CBB +BattleFrontier_ReceptionGate_Text_BattlePyramidInfo: @ 8266CBB .string "The BATTLE PYRAMID is the enormous\n" .string "pyramid.\p" .string "An event called the Battle Quest\n" .string "is conducted there.$" -BattleFrontier_ReceptionGate_Text_266D1C: @ 8266D1C +BattleFrontier_ReceptionGate_Text_RankingHallInfo: @ 8266D1C .string "The RANKING HALL is located near\n" .string "the BATTLE TOWER.\p" .string "There, you may see the most fantastic\n" @@ -404,28 +405,28 @@ BattleFrontier_ReceptionGate_Text_266D1C: @ 8266D1C .string "took on the many challenges of\l" .string "the BATTLE FRONTIER.$" -BattleFrontier_ReceptionGate_Text_266DCB: @ 8266DCB +BattleFrontier_ReceptionGate_Text_ExchangeCornerInfo: @ 8266DCB .string "The EXCHANGE SERVICE CORNER is near\n" .string "the BATTLE TOWER.\p" .string "The Battle Points you have earned in\n" .string "the BATTLE FRONTIER may be exchanged\l" .string "for fabulous prizes there.$" -BattleFrontier_ReceptionGate_Text_266E66: @ 8266E66 +BattleFrontier_ReceptionGate_Text_YourGuideToRules: @ 8266E66 .string "I'm your guide to the basic rules that\n" .string "are common to all the challenges\l" .string "offered by the facilities in the BATTLE\l" .string "FRONTIER.$" -BattleFrontier_ReceptionGate_Text_266EE0: @ 8266EE0 +BattleFrontier_ReceptionGate_Text_LearnAboutWhat: @ 8266EE0 .string "What would you like to learn about?$" -BattleFrontier_ReceptionGate_Text_266F04: @ 8266F04 +BattleFrontier_ReceptionGate_Text_LevelModeInfo: @ 8266F04 .string "All the challenges at the BATTLE\n" .string "FRONTIER's facilities come in\l" .string "two courses--Level 50 and Open Level.$" -BattleFrontier_ReceptionGate_Text_266F69: @ 8266F69 +BattleFrontier_ReceptionGate_Text_Level50Info: @ 8266F69 .string "The Level 50 course is open to POKéMON\n" .string "up to and including Level 50.\p" .string "Please keep in mind, however, that\n" @@ -436,7 +437,7 @@ BattleFrontier_ReceptionGate_Text_266F69: @ 8266F69 .string "To begin, we hope you will challenge\n" .string "this course.$" -BattleFrontier_ReceptionGate_Text_267080: @ 8267080 +BattleFrontier_ReceptionGate_Text_OpenLevelInfo: @ 8267080 .string "The Open Level course places no limit\n" .string "on the levels of POKéMON entering\l" .string "challenges.\p" @@ -446,7 +447,7 @@ BattleFrontier_ReceptionGate_Text_267080: @ 8267080 .string "However, no TRAINER you face will\n" .string "have any POKéMON below Level 60.$" -BattleFrontier_ReceptionGate_Text_26716A: @ 826716A +BattleFrontier_ReceptionGate_Text_MonEntryInfo: @ 826716A .string "Virtually any kind of POKéMON may take\n" .string "on the challenges at all facilities.\p" .string "EGGS and certain kinds of POKéMON,\n" @@ -457,7 +458,7 @@ BattleFrontier_ReceptionGate_Text_26716A: @ 826716A .string "of the same kind of POKéMON are not\l" .string "permitted.$" -BattleFrontier_ReceptionGate_Text_267298: @ 8267298 +BattleFrontier_ReceptionGate_Text_HoldItemsInfo: @ 8267298 .string "When entering a challenge at a BATTLE\n" .string "FRONTIER facility, POKéMON may not\l" .string "be holding the same kind of item.\p" @@ -465,13 +466,13 @@ BattleFrontier_ReceptionGate_Text_267298: @ 8267298 .string "entering a challenge are holding\l" .string "different items.$" -BattleFrontier_ReceptionGate_Text_267357: @ 8267357 +BattleFrontier_ReceptionGate_Text_YourGuideToFrontierPass: @ 8267357 .string "I'm your guide to the FRONTIER PASS.$" -BattleFrontier_ReceptionGate_Text_26737C: @ 826737C +BattleFrontier_ReceptionGate_Text_LearnAboutWhich1: @ 826737C .string "Which would you like to learn about?$" -BattleFrontier_ReceptionGate_Text_2673A1: @ 82673A1 +BattleFrontier_ReceptionGate_Text_SymbolsInfo: @ 82673A1 .string "There are seven facilities at\n" .string "the BATTLE FRONTIER.\p" .string "TRAINERS who gain recognition for\n" @@ -483,7 +484,7 @@ BattleFrontier_ReceptionGate_Text_2673A1: @ 82673A1 .string "It's certainly not easy to win symbols.\n" .string "I wish you the best of luck!$" -BattleFrontier_ReceptionGate_Text_2674F3: @ 82674F3 +BattleFrontier_ReceptionGate_Text_RecordedBattleInfo: @ 82674F3 .string "It is possible to record one battle\n" .string "on your FRONTIER PASS.\p" .string "You may record a battle you had with\n" @@ -495,7 +496,7 @@ BattleFrontier_ReceptionGate_Text_2674F3: @ 82674F3 .string "You may choose to record your match\n" .string "at the end of a battle.$" -BattleFrontier_ReceptionGate_Text_26761C: @ 826761C +BattleFrontier_ReceptionGate_Text_BattlePointsInfo: @ 826761C .string "Battle Points are rewards given to\n" .string "TRAINERS who battled outstandingly\l" .string "at the BATTLE FRONTIER.\p" diff --git a/data/maps/BattleFrontier_ScottsHouse/map.json b/data/maps/BattleFrontier_ScottsHouse/map.json index bff7696b39..13cb13dd47 100644 --- a/data/maps/BattleFrontier_ScottsHouse/map.json +++ b/data/maps/BattleFrontier_ScottsHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BattleFrontier_ScottsHouse_EventScript_2636A8", + "script": "BattleFrontier_ScottsHouse_EventScript_Scott", "flag": "0" } ], diff --git a/data/maps/BattleFrontier_ScottsHouse/scripts.inc b/data/maps/BattleFrontier_ScottsHouse/scripts.inc index 52863d4740..e4b0c28e9b 100644 --- a/data/maps/BattleFrontier_ScottsHouse/scripts.inc +++ b/data/maps/BattleFrontier_ScottsHouse/scripts.inc @@ -1,252 +1,232 @@ BattleFrontier_ScottsHouse_MapScripts:: @ 82636A7 .byte 0 -BattleFrontier_ScottsHouse_EventScript_2636A8:: @ 82636A8 +BattleFrontier_ScottsHouse_EventScript_Scott:: @ 82636A8 lock faceplayer - goto_if_set FLAG_TEMP_4, BattleFrontier_ScottsHouse_EventScript_2637DA - goto_if_set FLAG_TEMP_3, BattleFrontier_ScottsHouse_EventScript_2638AA - goto_if_set FLAG_TEMP_2, BattleFrontier_ScottsHouse_EventScript_263939 - goto BattleFrontier_ScottsHouse_EventScript_2636CB + goto_if_set FLAG_TEMP_4, BattleFrontier_ScottsHouse_EventScript_GivenBerry + goto_if_set FLAG_TEMP_3, BattleFrontier_ScottsHouse_EventScript_GivenShield + goto_if_set FLAG_TEMP_2, BattleFrontier_ScottsHouse_EventScript_GivenBattlePoints + goto BattleFrontier_ScottsHouse_EventScript_CheckGiveItems end -BattleFrontier_ScottsHouse_EventScript_2636CB:: @ 82636CB - goto_if_unset FLAG_SCOTT_GIVES_BATTLE_POINTS, BattleFrontier_ScottsHouse_EventScript_263943 - goto_if_unset FLAG_COLLECTED_ALL_SILVER_SYMBOLS, BattleFrontier_ScottsHouse_EventScript_263704 - goto_if_unset FLAG_RECEIVED_STARF_BERRY_FROM_SCOTT, BattleFrontier_ScottsHouse_EventScript_26376A - goto BattleFrontier_ScottsHouse_EventScript_2636EC +BattleFrontier_ScottsHouse_EventScript_CheckGiveItems:: @ 82636CB + goto_if_unset FLAG_SCOTT_GIVES_BATTLE_POINTS, BattleFrontier_ScottsHouse_EventScript_WelcomeToFrontier + goto_if_unset FLAG_COLLECTED_ALL_SILVER_SYMBOLS, BattleFrontier_ScottsHouse_EventScript_CheckSilverSymbols + goto_if_unset FLAG_COLLECTED_ALL_GOLD_SYMBOLS, BattleFrontier_ScottsHouse_EventScript_CheckGoldSymbols + goto BattleFrontier_ScottsHouse_EventScript_CheckGiveShield end -BattleFrontier_ScottsHouse_EventScript_2636EC:: @ 82636EC - goto_if_unset FLAG_RECEIVED_SILVER_SHIELD, BattleFrontier_ScottsHouse_EventScript_26381B - goto_if_unset FLAG_RECEIVED_GOLD_SHIELD, BattleFrontier_ScottsHouse_EventScript_2638B4 - goto BattleFrontier_ScottsHouse_EventScript_2637E4 +BattleFrontier_ScottsHouse_EventScript_CheckGiveShield:: @ 82636EC + goto_if_unset FLAG_RECEIVED_SILVER_SHIELD, BattleFrontier_ScottsHouse_EventScript_CheckGiveSilverShield + goto_if_unset FLAG_RECEIVED_GOLD_SHIELD, BattleFrontier_ScottsHouse_EventScript_CheckGiveGoldShield + goto BattleFrontier_ScottsHouse_EventScript_RandomComment end -BattleFrontier_ScottsHouse_EventScript_263704:: @ 8263704 - goto_if_unset FLAG_SYS_TOWER_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC - goto_if_unset FLAG_SYS_DOME_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC - goto_if_unset FLAG_SYS_PALACE_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC - goto_if_unset FLAG_SYS_ARENA_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC - goto_if_unset FLAG_SYS_FACTORY_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC - goto_if_unset FLAG_SYS_PIKE_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC - goto_if_unset FLAG_SYS_PYRAMID_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC - msgbox BattleFrontier_ScottsHouse_Text_2640BC, MSGBOX_DEFAULT - giveitem_std ITEM_LANSAT_BERRY - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_ScottsHouse_EventScript_2637D0 +BattleFrontier_ScottsHouse_EventScript_CheckSilverSymbols:: @ 8263704 + goto_if_unset FLAG_SYS_TOWER_SILVER, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield + goto_if_unset FLAG_SYS_DOME_SILVER, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield + goto_if_unset FLAG_SYS_PALACE_SILVER, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield + goto_if_unset FLAG_SYS_ARENA_SILVER, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield + goto_if_unset FLAG_SYS_FACTORY_SILVER, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield + goto_if_unset FLAG_SYS_PIKE_SILVER, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield + goto_if_unset FLAG_SYS_PYRAMID_SILVER, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield + msgbox BattleFrontier_ScottsHouse_Text_YouveCollectedAllSilverSymbols, MSGBOX_DEFAULT + giveitem ITEM_LANSAT_BERRY + compare VAR_RESULT, FALSE + goto_if_eq BattleFrontier_ScottsHouse_EventScript_BerryPocketFull setflag FLAG_COLLECTED_ALL_SILVER_SYMBOLS setflag FLAG_TEMP_4 release end -BattleFrontier_ScottsHouse_EventScript_26376A:: @ 826376A - goto_if_unset FLAG_SYS_TOWER_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC - goto_if_unset FLAG_SYS_DOME_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC - goto_if_unset FLAG_SYS_PALACE_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC - goto_if_unset FLAG_SYS_ARENA_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC - goto_if_unset FLAG_SYS_FACTORY_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC - goto_if_unset FLAG_SYS_PIKE_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC - goto_if_unset FLAG_SYS_PYRAMID_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC - msgbox BattleFrontier_ScottsHouse_Text_264216, MSGBOX_DEFAULT - giveitem_std ITEM_STARF_BERRY - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_ScottsHouse_EventScript_2637D0 - setflag FLAG_RECEIVED_STARF_BERRY_FROM_SCOTT +BattleFrontier_ScottsHouse_EventScript_CheckGoldSymbols:: @ 826376A + goto_if_unset FLAG_SYS_TOWER_GOLD, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield + goto_if_unset FLAG_SYS_DOME_GOLD, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield + goto_if_unset FLAG_SYS_PALACE_GOLD, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield + goto_if_unset FLAG_SYS_ARENA_GOLD, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield + goto_if_unset FLAG_SYS_FACTORY_GOLD, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield + goto_if_unset FLAG_SYS_PIKE_GOLD, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield + goto_if_unset FLAG_SYS_PYRAMID_GOLD, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield + msgbox BattleFrontier_ScottsHouse_Text_YouveCollectedAllGoldSymbols, MSGBOX_DEFAULT + giveitem ITEM_STARF_BERRY + compare VAR_RESULT, FALSE + goto_if_eq BattleFrontier_ScottsHouse_EventScript_BerryPocketFull + setflag FLAG_COLLECTED_ALL_GOLD_SYMBOLS setflag FLAG_TEMP_4 release end -BattleFrontier_ScottsHouse_EventScript_2637D0:: @ 82637D0 - msgbox BattleFrontier_ScottsHouse_Text_2643EB, MSGBOX_DEFAULT +BattleFrontier_ScottsHouse_EventScript_BerryPocketFull:: @ 82637D0 + msgbox BattleFrontier_ScottsHouse_Text_BerryPocketStuffed, MSGBOX_DEFAULT release end -BattleFrontier_ScottsHouse_EventScript_2637DA:: @ 82637DA - msgbox BattleFrontier_ScottsHouse_Text_264373, MSGBOX_DEFAULT +BattleFrontier_ScottsHouse_EventScript_GivenBerry:: @ 82637DA + msgbox BattleFrontier_ScottsHouse_Text_SoGladIBroughtYouHere, MSGBOX_DEFAULT release end -BattleFrontier_ScottsHouse_EventScript_2637E4:: @ 82637E4 +BattleFrontier_ScottsHouse_EventScript_RandomComment:: @ 82637E4 random 3 compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_ScottsHouse_EventScript_263807 + goto_if_eq BattleFrontier_ScottsHouse_EventScript_FrontierBrainComment compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_ScottsHouse_EventScript_263811 - msgbox BattleFrontier_ScottsHouse_Text_263DDD, MSGBOX_DEFAULT + goto_if_eq BattleFrontier_ScottsHouse_EventScript_ArtisanCaveComment + msgbox BattleFrontier_ScottsHouse_Text_WhyIGoSeekingTrainers, MSGBOX_DEFAULT release end -BattleFrontier_ScottsHouse_EventScript_263807:: @ 8263807 - msgbox BattleFrontier_ScottsHouse_Text_263F12, MSGBOX_DEFAULT +BattleFrontier_ScottsHouse_EventScript_FrontierBrainComment:: @ 8263807 + msgbox BattleFrontier_ScottsHouse_Text_HaveYouMetFrontierBrain, MSGBOX_DEFAULT release end -BattleFrontier_ScottsHouse_EventScript_263811:: @ 8263811 - msgbox BattleFrontier_ScottsHouse_Text_263FFE, MSGBOX_DEFAULT +BattleFrontier_ScottsHouse_EventScript_ArtisanCaveComment:: @ 8263811 + msgbox BattleFrontier_ScottsHouse_Text_MayFindWildMonsInFrontier, MSGBOX_DEFAULT release end -BattleFrontier_ScottsHouse_EventScript_26381B:: @ 826381B - setvar VAR_FRONTIER_BATTLE_MODE, 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special sub_8161F74 +BattleFrontier_ScottsHouse_EventScript_CheckGiveSilverShield:: @ 826381B + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50 + tower_get TOWER_DATA_WIN_STREAK compare VAR_RESULT, 50 - goto_if_ge BattleFrontier_ScottsHouse_EventScript_26387A - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special sub_8161F74 + goto_if_ge BattleFrontier_ScottsHouse_EventScript_GiveSilverShield + frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_OPEN + tower_get TOWER_DATA_WIN_STREAK compare VAR_RESULT, 50 - goto_if_ge BattleFrontier_ScottsHouse_EventScript_26387A - goto BattleFrontier_ScottsHouse_EventScript_2637E4 + goto_if_ge BattleFrontier_ScottsHouse_EventScript_GiveSilverShield + goto BattleFrontier_ScottsHouse_EventScript_RandomComment end -BattleFrontier_ScottsHouse_EventScript_26387A:: @ 826387A - msgbox BattleFrontier_ScottsHouse_Text_264412, MSGBOX_DEFAULT - givedecoration_std 42 - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_ScottsHouse_EventScript_2638A0 +BattleFrontier_ScottsHouse_EventScript_GiveSilverShield:: @ 826387A + msgbox BattleFrontier_ScottsHouse_Text_Beat50TrainersInARow, MSGBOX_DEFAULT + givedecoration DECOR_SILVER_SHIELD + compare VAR_RESULT, FALSE + goto_if_eq BattleFrontier_ScottsHouse_EventScript_NoRoomForShield setflag FLAG_RECEIVED_SILVER_SHIELD setflag FLAG_TEMP_3 - goto BattleFrontier_ScottsHouse_EventScript_2638AA + goto BattleFrontier_ScottsHouse_EventScript_GivenShield end -BattleFrontier_ScottsHouse_EventScript_2638A0:: @ 82638A0 - msgbox BattleFrontier_ScottsHouse_Text_264583, MSGBOX_DEFAULT +BattleFrontier_ScottsHouse_EventScript_NoRoomForShield:: @ 82638A0 + msgbox BattleFrontier_ScottsHouse_Text_ComeBackForThisLater, MSGBOX_DEFAULT release end -BattleFrontier_ScottsHouse_EventScript_2638AA:: @ 82638AA - msgbox BattleFrontier_ScottsHouse_Text_264546, MSGBOX_DEFAULT +BattleFrontier_ScottsHouse_EventScript_GivenShield:: @ 82638AA + msgbox BattleFrontier_ScottsHouse_Text_ExpectingToHearEvenGreaterThings, MSGBOX_DEFAULT release end -BattleFrontier_ScottsHouse_EventScript_2638B4:: @ 82638B4 - setvar VAR_FRONTIER_BATTLE_MODE, 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special sub_8161F74 +BattleFrontier_ScottsHouse_EventScript_CheckGiveGoldShield:: @ 82638B4 + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50 + tower_get TOWER_DATA_WIN_STREAK compare VAR_RESULT, 100 - goto_if_ge BattleFrontier_ScottsHouse_EventScript_263913 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special sub_8161F74 + goto_if_ge BattleFrontier_ScottsHouse_EventScript_GiveGoldShield + frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_OPEN + tower_get TOWER_DATA_WIN_STREAK compare VAR_RESULT, 100 - goto_if_ge BattleFrontier_ScottsHouse_EventScript_263913 - goto BattleFrontier_ScottsHouse_EventScript_2637E4 + goto_if_ge BattleFrontier_ScottsHouse_EventScript_GiveGoldShield + goto BattleFrontier_ScottsHouse_EventScript_RandomComment end -BattleFrontier_ScottsHouse_EventScript_263913:: @ 8263913 - msgbox BattleFrontier_ScottsHouse_Text_26449F, MSGBOX_DEFAULT - givedecoration_std 43 - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_ScottsHouse_EventScript_2638A0 +BattleFrontier_ScottsHouse_EventScript_GiveGoldShield:: @ 8263913 + msgbox BattleFrontier_ScottsHouse_Text_Beat100TrainersInARow, MSGBOX_DEFAULT + givedecoration DECOR_GOLD_SHIELD + compare VAR_RESULT, FALSE + goto_if_eq BattleFrontier_ScottsHouse_EventScript_NoRoomForShield setflag FLAG_RECEIVED_GOLD_SHIELD setflag FLAG_TEMP_3 - goto BattleFrontier_ScottsHouse_EventScript_2638AA + goto BattleFrontier_ScottsHouse_EventScript_GivenShield end -BattleFrontier_ScottsHouse_EventScript_263939:: @ 8263939 - msgbox BattleFrontier_ScottsHouse_Text_263DB8, MSGBOX_DEFAULT +BattleFrontier_ScottsHouse_EventScript_GivenBattlePoints:: @ 8263939 + msgbox BattleFrontier_ScottsHouse_Text_ExpectingGreatThings, MSGBOX_DEFAULT release end -BattleFrontier_ScottsHouse_EventScript_263943:: @ 8263943 - msgbox BattleFrontier_ScottsHouse_Text_263A3F, MSGBOX_DEFAULT +BattleFrontier_ScottsHouse_EventScript_WelcomeToFrontier:: @ 8263943 + msgbox BattleFrontier_ScottsHouse_Text_WelcomeToBattleFrontier, MSGBOX_DEFAULT closemessage delay 30 - compare VAR_FACING, 2 - call_if_eq BattleFrontier_ScottsHouse_EventScript_263A13 - compare VAR_FACING, 1 - call_if_eq BattleFrontier_ScottsHouse_EventScript_263A1E - compare VAR_FACING, 4 - call_if_eq BattleFrontier_ScottsHouse_EventScript_263A29 - compare VAR_FACING, 3 - call_if_eq BattleFrontier_ScottsHouse_EventScript_263A34 - msgbox BattleFrontier_ScottsHouse_Text_263B29, MSGBOX_DEFAULT + compare VAR_FACING, DIR_NORTH + call_if_eq BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayNorth + compare VAR_FACING, DIR_SOUTH + call_if_eq BattleFrontier_ScottsHouse_EventScript_ScottFaceAwaySouth + compare VAR_FACING, DIR_EAST + call_if_eq BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayEast + compare VAR_FACING, DIR_WEST + call_if_eq BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayWest + msgbox BattleFrontier_ScottsHouse_Text_HowMuchEffortItTookToMakeReal, MSGBOX_DEFAULT applymovement 1, Common_Movement_FacePlayer waitmovement 0 - msgbox BattleFrontier_ScottsHouse_Text_263BD4, MSGBOX_DEFAULT + msgbox BattleFrontier_ScottsHouse_Text_HaveThisAsMementoOfOurPathsCrossing, MSGBOX_DEFAULT compare VAR_SCOTT_STATE, 13 - goto_if_eq BattleFrontier_ScottsHouse_EventScript_2639BC + goto_if_eq BattleFrontier_ScottsHouse_EventScript_Give4BattlePoints compare VAR_SCOTT_STATE, 9 - goto_if_ge BattleFrontier_ScottsHouse_EventScript_2639CB + goto_if_ge BattleFrontier_ScottsHouse_EventScript_Give3BattlePoints compare VAR_SCOTT_STATE, 6 - goto_if_ge BattleFrontier_ScottsHouse_EventScript_2639DA - goto BattleFrontier_ScottsHouse_EventScript_2639E9 + goto_if_ge BattleFrontier_ScottsHouse_EventScript_Give2BattlePoints + goto BattleFrontier_ScottsHouse_EventScript_Give1BattlePoint end -BattleFrontier_ScottsHouse_EventScript_2639BC:: @ 82639BC +BattleFrontier_ScottsHouse_EventScript_Give4BattlePoints:: @ 82639BC buffernumberstring 0, 4 setvar VAR_0x8004, 4 - goto BattleFrontier_ScottsHouse_EventScript_2639F8 + goto BattleFrontier_ScottsHouse_EventScript_GiveBattlePoints end -BattleFrontier_ScottsHouse_EventScript_2639CB:: @ 82639CB +BattleFrontier_ScottsHouse_EventScript_Give3BattlePoints:: @ 82639CB buffernumberstring 0, 3 setvar VAR_0x8004, 3 - goto BattleFrontier_ScottsHouse_EventScript_2639F8 + goto BattleFrontier_ScottsHouse_EventScript_GiveBattlePoints end -BattleFrontier_ScottsHouse_EventScript_2639DA:: @ 82639DA +BattleFrontier_ScottsHouse_EventScript_Give2BattlePoints:: @ 82639DA buffernumberstring 0, 2 setvar VAR_0x8004, 2 - goto BattleFrontier_ScottsHouse_EventScript_2639F8 + goto BattleFrontier_ScottsHouse_EventScript_GiveBattlePoints end -BattleFrontier_ScottsHouse_EventScript_2639E9:: @ 82639E9 +BattleFrontier_ScottsHouse_EventScript_Give1BattlePoint:: @ 82639E9 buffernumberstring 0, 1 setvar VAR_0x8004, 1 - goto BattleFrontier_ScottsHouse_EventScript_2639F8 + goto BattleFrontier_ScottsHouse_EventScript_GiveBattlePoints end -BattleFrontier_ScottsHouse_EventScript_2639F8:: @ 82639F8 - special sub_813A9D0 - msgbox BattleFrontier_ScottsHouse_Text_263CB0, 9 - msgbox BattleFrontier_ScottsHouse_Text_263CD0, MSGBOX_DEFAULT +BattleFrontier_ScottsHouse_EventScript_GiveBattlePoints:: @ 82639F8 + special GiveFrontierBattlePoints + msgbox BattleFrontier_ScottsHouse_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS + msgbox BattleFrontier_ScottsHouse_Text_ExplainBattlePoints, MSGBOX_DEFAULT setflag FLAG_SCOTT_GIVES_BATTLE_POINTS setflag FLAG_TEMP_2 release end -BattleFrontier_ScottsHouse_EventScript_263A13:: @ 8263A13 - applymovement 1, Common_Movement_WalkInPlaceUp +BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayNorth:: @ 8263A13 + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -BattleFrontier_ScottsHouse_EventScript_263A1E:: @ 8263A1E - applymovement 1, Common_Movement_WalkInPlaceDown +BattleFrontier_ScottsHouse_EventScript_ScottFaceAwaySouth:: @ 8263A1E + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -BattleFrontier_ScottsHouse_EventScript_263A29:: @ 8263A29 - applymovement 1, Common_Movement_WalkInPlaceRight +BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayEast:: @ 8263A29 + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -BattleFrontier_ScottsHouse_EventScript_263A34:: @ 8263A34 - applymovement 1, Common_Movement_WalkInPlaceLeft +BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayWest:: @ 8263A34 + applymovement 1, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -BattleFrontier_ScottsHouse_Text_263A3F: @ 8263A3F +BattleFrontier_ScottsHouse_Text_WelcomeToBattleFrontier: @ 8263A3F .string "SCOTT: Well, hello and welcome!\n" .string "Heheh… Sorry about the cramped space.\p" .string "Anyway, {PLAYER}{KUN}, let me formally\n" @@ -255,7 +235,7 @@ BattleFrontier_ScottsHouse_Text_263A3F: @ 8263A3F .string "It took me years and years, but I've\l" .string "finally given shape to my dream.$" -BattleFrontier_ScottsHouse_Text_263B29: @ 8263B29 +BattleFrontier_ScottsHouse_Text_HowMuchEffortItTookToMakeReal: @ 8263B29 .string "On reflection, it was a terribly long\n" .string "journey…\p" .string "I left home alone on a quest to find\n" @@ -263,7 +243,7 @@ BattleFrontier_ScottsHouse_Text_263B29: @ 8263B29 .string "No one can imagine how much effort\n" .string "or time it took to make this real.$" -BattleFrontier_ScottsHouse_Text_263BD4: @ 8263BD4 +BattleFrontier_ScottsHouse_Text_HaveThisAsMementoOfOurPathsCrossing: @ 8263BD4 .string "But that's all in the past.\n" .string "No point dwelling on that!\p" .string "All I want for you is to enjoy battling\n" @@ -272,11 +252,11 @@ BattleFrontier_ScottsHouse_Text_263BD4: @ 8263BD4 .string "as a memento for all the time our\l" .string "paths crossed on our journeys.$" -BattleFrontier_ScottsHouse_Text_263CB0: @ 8263CB0 +BattleFrontier_ScottsHouse_Text_ObtainedXBattlePoints: @ 8263CB0 .string "{PLAYER} obtained\n" .string "{STR_VAR_1} Battle Point(s).$" -BattleFrontier_ScottsHouse_Text_263CD0: @ 8263CD0 +BattleFrontier_ScottsHouse_Text_ExplainBattlePoints: @ 8263CD0 .string "SCOTT: You can check your Battle\n" .string "Points on your FRONTIER PASS.\p" .string "The more success you have here at\n" @@ -285,10 +265,10 @@ BattleFrontier_ScottsHouse_Text_263CD0: @ 8263CD0 .string "Use your Battle Points the way you\n" .string "see fit, like trading them for items.$" -BattleFrontier_ScottsHouse_Text_263DB8: @ 8263DB8 +BattleFrontier_ScottsHouse_Text_ExpectingGreatThings: @ 8263DB8 .string "I'm expecting great things from you!$" -BattleFrontier_ScottsHouse_Text_263DDD: @ 8263DDD +BattleFrontier_ScottsHouse_Text_WhyIGoSeekingTrainers: @ 8263DDD .string "SCOTT: Every TRAINER is an individual.\n" .string "They all lead lives of their own.\p" .string "But when they're in a battle,\n" @@ -300,7 +280,7 @@ BattleFrontier_ScottsHouse_Text_263DDD: @ 8263DDD .string "TRAINERS who are serious about\l" .string "battling, and invite them here.$" -BattleFrontier_ScottsHouse_Text_263F12: @ 8263F12 +BattleFrontier_ScottsHouse_Text_HaveYouMetFrontierBrain: @ 8263F12 .string "SCOTT: Have you met any of\n" .string "the FRONTIER BRAINS?\p" .string "Better yet, have you obtained any\n" @@ -310,7 +290,7 @@ BattleFrontier_ScottsHouse_Text_263F12: @ 8263F12 .string "But I'm sure that seeing how tough\n" .string "you are will startle even them!$" -BattleFrontier_ScottsHouse_Text_263FFE: @ 8263FFE +BattleFrontier_ScottsHouse_Text_MayFindWildMonsInFrontier: @ 8263FFE .string "SCOTT: You don't just train for battle,\n" .string "right?\p" .string "I think I remember you working on\n" @@ -320,7 +300,7 @@ BattleFrontier_ScottsHouse_Text_263FFE: @ 8263FFE .string "the BATTLE FRONTIER somewhere…\l" .string "Fufufu!$" -BattleFrontier_ScottsHouse_Text_2640BC: @ 82640BC +BattleFrontier_ScottsHouse_Text_YouveCollectedAllSilverSymbols: @ 82640BC .string "SCOTT: Are you enjoying things in\n" .string "the BATTLE FRONTIER?\p" .string "…Wait a second…\n" @@ -335,7 +315,7 @@ BattleFrontier_ScottsHouse_Text_2640BC: @ 82640BC .string "I want you to have this.\n" .string "I'm sure you can put it to proper use.$" -BattleFrontier_ScottsHouse_Text_264216: @ 8264216 +BattleFrontier_ScottsHouse_Text_YouveCollectedAllGoldSymbols: @ 8264216 .string "SCOTT: I hope you're enjoying\n" .string "everything in the BATTLE FRONTIER.\p" .string "…Wait a second…\n" @@ -350,35 +330,35 @@ BattleFrontier_ScottsHouse_Text_264216: @ 8264216 .string "I think you will be able to\n" .string "appreciate the value of my gift!$" -BattleFrontier_ScottsHouse_Text_264373: @ 8264373 +BattleFrontier_ScottsHouse_Text_SoGladIBroughtYouHere: @ 8264373 .string "I must say I have the gift of knowing\n" .string "a good TRAINER when I see one.\p" .string "I'm so glad I had the foresight to\n" .string "bring you here!$" -BattleFrontier_ScottsHouse_Text_2643EB: @ 82643EB +BattleFrontier_ScottsHouse_Text_BerryPocketStuffed: @ 82643EB .string "Your BERRY POCKET seems to\n" .string "be stuffed.$" -BattleFrontier_ScottsHouse_Text_264412: @ 8264412 +BattleFrontier_ScottsHouse_Text_Beat50TrainersInARow: @ 8264412 .string "SCOTT: Oh, I heard about you!\n" .string "How you ruled the BATTLE TOWER!\l" .string "You beat over 50 TRAINERS in a row?\p" .string "That's fantastic!\n" .string "I want you to have this!$" -BattleFrontier_ScottsHouse_Text_26449F: @ 826449F +BattleFrontier_ScottsHouse_Text_Beat100TrainersInARow: @ 826449F .string "SCOTT: Oh, my! I heard about you!\n" .string "How you overwhelmed the BATTLE TOWER!\l" .string "You beat over 100 TRAINERS in a row?\p" .string "That's ridiculously spectacular!\n" .string "You've got to have this!$" -BattleFrontier_ScottsHouse_Text_264546: @ 8264546 +BattleFrontier_ScottsHouse_Text_ExpectingToHearEvenGreaterThings: @ 8264546 .string "I'll be expecting to hear even greater\n" .string "things about you now!$" -BattleFrontier_ScottsHouse_Text_264583: @ 8264583 +BattleFrontier_ScottsHouse_Text_ComeBackForThisLater: @ 8264583 .string "Oops, well, if you have too much\n" .string "stuff, come back for this later.$" diff --git a/data/maps/BattlePyramidSquare01/scripts.inc b/data/maps/BattlePyramidSquare01/scripts.inc index c51e49ba75..c547b1b81d 100644 --- a/data/maps/BattlePyramidSquare01/scripts.inc +++ b/data/maps/BattlePyramidSquare01/scripts.inc @@ -1 +1,2 @@ BattlePyramidSquare01_MapScripts:: @ 823D1A5 + .byte 0 diff --git a/data/maps/BattlePyramidSquare02/map.json b/data/maps/BattlePyramidSquare02/map.json index e68b71284f..5d8f32f253 100644 --- a/data/maps/BattlePyramidSquare02/map.json +++ b/data/maps/BattlePyramidSquare02/map.json @@ -13,6 +13,7 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, + "shared_scripts_map": "BattlePyramidSquare01", "object_events": [ { "graphics_id": "EVENT_OBJ_GFX_BOY_3", diff --git a/data/maps/BattlePyramidSquare02/scripts.inc b/data/maps/BattlePyramidSquare02/scripts.inc deleted file mode 100644 index a694b03bf6..0000000000 --- a/data/maps/BattlePyramidSquare02/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -BattlePyramidSquare02_MapScripts:: @ 823D1A5 diff --git a/data/maps/BattlePyramidSquare03/map.json b/data/maps/BattlePyramidSquare03/map.json index 8a495158e7..c69bd0b15c 100644 --- a/data/maps/BattlePyramidSquare03/map.json +++ b/data/maps/BattlePyramidSquare03/map.json @@ -13,6 +13,7 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, + "shared_scripts_map": "BattlePyramidSquare01", "object_events": [ { "graphics_id": "EVENT_OBJ_GFX_BOY_1", diff --git a/data/maps/BattlePyramidSquare03/scripts.inc b/data/maps/BattlePyramidSquare03/scripts.inc deleted file mode 100644 index 229dd5a28d..0000000000 --- a/data/maps/BattlePyramidSquare03/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -BattlePyramidSquare03_MapScripts:: @ 823D1A5 diff --git a/data/maps/BattlePyramidSquare04/map.json b/data/maps/BattlePyramidSquare04/map.json index e413a7e5fc..18319c6809 100644 --- a/data/maps/BattlePyramidSquare04/map.json +++ b/data/maps/BattlePyramidSquare04/map.json @@ -13,6 +13,7 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, + "shared_scripts_map": "BattlePyramidSquare01", "object_events": [ { "graphics_id": "EVENT_OBJ_GFX_WOMAN_2", diff --git a/data/maps/BattlePyramidSquare04/scripts.inc b/data/maps/BattlePyramidSquare04/scripts.inc deleted file mode 100644 index a231965b5f..0000000000 --- a/data/maps/BattlePyramidSquare04/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -BattlePyramidSquare04_MapScripts:: @ 823D1A5 diff --git a/data/maps/BattlePyramidSquare05/map.json b/data/maps/BattlePyramidSquare05/map.json index d16a87646e..b00e173673 100644 --- a/data/maps/BattlePyramidSquare05/map.json +++ b/data/maps/BattlePyramidSquare05/map.json @@ -13,6 +13,7 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, + "shared_scripts_map": "BattlePyramidSquare01", "object_events": [ { "graphics_id": "EVENT_OBJ_GFX_BOY_2", diff --git a/data/maps/BattlePyramidSquare05/scripts.inc b/data/maps/BattlePyramidSquare05/scripts.inc deleted file mode 100644 index e4670f78c3..0000000000 --- a/data/maps/BattlePyramidSquare05/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -BattlePyramidSquare05_MapScripts:: @ 823D1A5 diff --git a/data/maps/BattlePyramidSquare06/map.json b/data/maps/BattlePyramidSquare06/map.json index ddf011814a..e06449a127 100644 --- a/data/maps/BattlePyramidSquare06/map.json +++ b/data/maps/BattlePyramidSquare06/map.json @@ -13,6 +13,7 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, + "shared_scripts_map": "BattlePyramidSquare01", "object_events": [ { "graphics_id": "EVENT_OBJ_GFX_GIRL_2", diff --git a/data/maps/BattlePyramidSquare06/scripts.inc b/data/maps/BattlePyramidSquare06/scripts.inc deleted file mode 100644 index 6c0d38e416..0000000000 --- a/data/maps/BattlePyramidSquare06/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -BattlePyramidSquare06_MapScripts:: @ 823D1A5 diff --git a/data/maps/BattlePyramidSquare07/map.json b/data/maps/BattlePyramidSquare07/map.json index 8719c6d25c..a8514304fb 100644 --- a/data/maps/BattlePyramidSquare07/map.json +++ b/data/maps/BattlePyramidSquare07/map.json @@ -13,6 +13,7 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, + "shared_scripts_map": "BattlePyramidSquare01", "object_events": [ { "graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY", diff --git a/data/maps/BattlePyramidSquare07/scripts.inc b/data/maps/BattlePyramidSquare07/scripts.inc deleted file mode 100644 index 8603a69165..0000000000 --- a/data/maps/BattlePyramidSquare07/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -BattlePyramidSquare07_MapScripts:: @ 823D1A5 diff --git a/data/maps/BattlePyramidSquare08/map.json b/data/maps/BattlePyramidSquare08/map.json index 54cfa4fe80..0f6f51539c 100644 --- a/data/maps/BattlePyramidSquare08/map.json +++ b/data/maps/BattlePyramidSquare08/map.json @@ -13,6 +13,7 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, + "shared_scripts_map": "BattlePyramidSquare01", "object_events": [ { "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL", diff --git a/data/maps/BattlePyramidSquare08/scripts.inc b/data/maps/BattlePyramidSquare08/scripts.inc deleted file mode 100644 index 68a055f0e2..0000000000 --- a/data/maps/BattlePyramidSquare08/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -BattlePyramidSquare08_MapScripts:: @ 823D1A5 diff --git a/data/maps/BattlePyramidSquare09/map.json b/data/maps/BattlePyramidSquare09/map.json index 67b9ceb1fe..c12ac3a26d 100644 --- a/data/maps/BattlePyramidSquare09/map.json +++ b/data/maps/BattlePyramidSquare09/map.json @@ -13,6 +13,7 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, + "shared_scripts_map": "BattlePyramidSquare01", "object_events": [ { "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL", diff --git a/data/maps/BattlePyramidSquare09/scripts.inc b/data/maps/BattlePyramidSquare09/scripts.inc deleted file mode 100644 index e937349887..0000000000 --- a/data/maps/BattlePyramidSquare09/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -BattlePyramidSquare09_MapScripts:: @ 823D1A5 diff --git a/data/maps/BattlePyramidSquare10/map.json b/data/maps/BattlePyramidSquare10/map.json index 0a5e88bf7f..32fe28258e 100644 --- a/data/maps/BattlePyramidSquare10/map.json +++ b/data/maps/BattlePyramidSquare10/map.json @@ -13,6 +13,7 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, + "shared_scripts_map": "BattlePyramidSquare01", "object_events": [ { "graphics_id": "EVENT_OBJ_GFX_GIRL_3", diff --git a/data/maps/BattlePyramidSquare10/scripts.inc b/data/maps/BattlePyramidSquare10/scripts.inc deleted file mode 100644 index 412e608e7b..0000000000 --- a/data/maps/BattlePyramidSquare10/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -BattlePyramidSquare10_MapScripts:: @ 823D1A5 diff --git a/data/maps/BattlePyramidSquare11/map.json b/data/maps/BattlePyramidSquare11/map.json index 5dc7736a3a..99edaca3ba 100644 --- a/data/maps/BattlePyramidSquare11/map.json +++ b/data/maps/BattlePyramidSquare11/map.json @@ -13,6 +13,7 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, + "shared_scripts_map": "BattlePyramidSquare01", "object_events": [ { "graphics_id": "EVENT_OBJ_GFX_RICH_BOY", diff --git a/data/maps/BattlePyramidSquare11/scripts.inc b/data/maps/BattlePyramidSquare11/scripts.inc deleted file mode 100644 index 3b82fb925a..0000000000 --- a/data/maps/BattlePyramidSquare11/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -BattlePyramidSquare11_MapScripts:: @ 823D1A5 diff --git a/data/maps/BattlePyramidSquare12/map.json b/data/maps/BattlePyramidSquare12/map.json index dcb57812d9..e7142a1668 100644 --- a/data/maps/BattlePyramidSquare12/map.json +++ b/data/maps/BattlePyramidSquare12/map.json @@ -13,6 +13,7 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, + "shared_scripts_map": "BattlePyramidSquare01", "object_events": [ { "graphics_id": "EVENT_OBJ_GFX_WOMAN_1", diff --git a/data/maps/BattlePyramidSquare12/scripts.inc b/data/maps/BattlePyramidSquare12/scripts.inc deleted file mode 100644 index 87a38213bf..0000000000 --- a/data/maps/BattlePyramidSquare12/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -BattlePyramidSquare12_MapScripts:: @ 823D1A5 diff --git a/data/maps/BattlePyramidSquare13/map.json b/data/maps/BattlePyramidSquare13/map.json index d277c5b1bc..3945ca4f5d 100644 --- a/data/maps/BattlePyramidSquare13/map.json +++ b/data/maps/BattlePyramidSquare13/map.json @@ -13,6 +13,7 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, + "shared_scripts_map": "BattlePyramidSquare01", "object_events": [ { "graphics_id": "EVENT_OBJ_GFX_FAT_MAN", diff --git a/data/maps/BattlePyramidSquare13/scripts.inc b/data/maps/BattlePyramidSquare13/scripts.inc deleted file mode 100644 index 1881093053..0000000000 --- a/data/maps/BattlePyramidSquare13/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -BattlePyramidSquare13_MapScripts:: @ 823D1A5 diff --git a/data/maps/BattlePyramidSquare14/map.json b/data/maps/BattlePyramidSquare14/map.json index 5727356edb..4f90bfe6bd 100644 --- a/data/maps/BattlePyramidSquare14/map.json +++ b/data/maps/BattlePyramidSquare14/map.json @@ -13,6 +13,7 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, + "shared_scripts_map": "BattlePyramidSquare01", "object_events": [ { "graphics_id": "EVENT_OBJ_GFX_POKEFAN_F", diff --git a/data/maps/BattlePyramidSquare14/scripts.inc b/data/maps/BattlePyramidSquare14/scripts.inc deleted file mode 100644 index 5ae39cb8a4..0000000000 --- a/data/maps/BattlePyramidSquare14/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -BattlePyramidSquare14_MapScripts:: @ 823D1A5 diff --git a/data/maps/BattlePyramidSquare15/map.json b/data/maps/BattlePyramidSquare15/map.json index 62c7e34f33..7f1900dbc5 100644 --- a/data/maps/BattlePyramidSquare15/map.json +++ b/data/maps/BattlePyramidSquare15/map.json @@ -13,6 +13,7 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, + "shared_scripts_map": "BattlePyramidSquare01", "object_events": [ { "graphics_id": "EVENT_OBJ_GFX_POKEFAN_F", diff --git a/data/maps/BattlePyramidSquare15/scripts.inc b/data/maps/BattlePyramidSquare15/scripts.inc deleted file mode 100644 index f1b7782d79..0000000000 --- a/data/maps/BattlePyramidSquare15/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -BattlePyramidSquare15_MapScripts:: @ 823D1A5 diff --git a/data/maps/BattlePyramidSquare16/map.json b/data/maps/BattlePyramidSquare16/map.json index a69a0ed5a3..bb0d02316b 100644 --- a/data/maps/BattlePyramidSquare16/map.json +++ b/data/maps/BattlePyramidSquare16/map.json @@ -13,6 +13,7 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, + "shared_scripts_map": "BattlePyramidSquare01", "object_events": [ { "graphics_id": "EVENT_OBJ_GFX_POKEFAN_F", diff --git a/data/maps/BattlePyramidSquare16/scripts.inc b/data/maps/BattlePyramidSquare16/scripts.inc deleted file mode 100644 index 9308930d1b..0000000000 --- a/data/maps/BattlePyramidSquare16/scripts.inc +++ /dev/null @@ -1,3 +0,0 @@ -BattlePyramidSquare16_MapScripts:: @ 823D1A5 - .byte 0 - diff --git a/data/maps/BirthIsland_Exterior/map.json b/data/maps/BirthIsland_Exterior/map.json index c3e5ddddf6..50bd57f0b7 100644 --- a/data/maps/BirthIsland_Exterior/map.json +++ b/data/maps/BirthIsland_Exterior/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BirthIsland_Exterior_EventScript_267F83", + "script": "BirthIsland_Exterior_EventScript_Triangle", "flag": "FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE" }, { diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc index 3eb491e0f7..b51940a7c6 100644 --- a/data/maps/BirthIsland_Exterior/scripts.inc +++ b/data/maps/BirthIsland_Exterior/scripts.inc @@ -1,11 +1,11 @@ BirthIsland_Exterior_MapScripts:: @ 8267F15 map_script MAP_SCRIPT_ON_TRANSITION, BirthIsland_Exterior_OnTransition - map_script MAP_SCRIPT_ON_RESUME, BirthIsland_Exterior_MapScript1_267F65 - map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, BirthIsland_Exterior_MapScript1_267F25 + map_script MAP_SCRIPT_ON_RESUME, BirthIsland_Exterior_OnResume + map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, BirthIsland_Exterior_OnReturnToField .byte 0 -BirthIsland_Exterior_MapScript1_267F25: @ 8267F25 - special sub_813B1D0 +BirthIsland_Exterior_OnReturnToField: @ 8267F25 + special SetDeoxysRockPalette end BirthIsland_Exterior_OnTransition: @ 8267F29 @@ -13,57 +13,57 @@ BirthIsland_Exterior_OnTransition: @ 8267F29 setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL setvar VAR_DEOXYS_ROCK_STEP_COUNT, 0 setvar VAR_DEOXYS_ROCK_LEVEL, 0 - call_if_set FLAG_BATTLED_DEOXYS, BirthIsland_Exterior_EventScript_267F4E - call_if_unset FLAG_BATTLED_DEOXYS, BirthIsland_Exterior_EventScript_267F55 + call_if_set FLAG_BATTLED_DEOXYS, BirthIsland_Exterior_EventScript_HideDeoxysAndPuzzle + call_if_unset FLAG_BATTLED_DEOXYS, BirthIsland_Exterior_EventScript_TryShowDeoxysPuzzle end -BirthIsland_Exterior_EventScript_267F4E:: @ 8267F4E +BirthIsland_Exterior_EventScript_HideDeoxysAndPuzzle:: @ 8267F4E setflag FLAG_HIDE_DEOXYS setflag FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE return -BirthIsland_Exterior_EventScript_267F55:: @ 8267F55 +BirthIsland_Exterior_EventScript_TryShowDeoxysPuzzle:: @ 8267F55 goto_if_set FLAG_DEFEATED_DEOXYS, Common_EventScript_NopReturn clearflag FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE clearflag FLAG_DEOXYS_ROCK_COMPLETE return -BirthIsland_Exterior_MapScript1_267F65: @ 8267F65 - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, BirthIsland_Exterior_EventScript_267F6F +BirthIsland_Exterior_OnResume: @ 8267F65 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, BirthIsland_Exterior_EventScript_TryRemoveDeoxys end -BirthIsland_Exterior_EventScript_267F6F:: @ 8267F6F +BirthIsland_Exterior_EventScript_TryRemoveDeoxys:: @ 8267F6F specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject 2 return -BirthIsland_Exterior_EventScript_267F83:: @ 8267F83 +BirthIsland_Exterior_EventScript_Triangle:: @ 8267F83 lock faceplayer special DoDeoxysRockInteraction waitstate switch VAR_RESULT - case 0, BirthIsland_Exterior_EventScript_267FBB - case 1, BirthIsland_Exterior_EventScript_267FBD - case 2, BirthIsland_Exterior_EventScript_267FC1 - case 3, BirthIsland_Exterior_EventScript_267FBF + case 0, BirthIsland_Exterior_EventScript_NotSolved1 + case 1, BirthIsland_Exterior_EventScript_NotSolved2 + case 2, BirthIsland_Exterior_EventScript_Deoxys + case 3, BirthIsland_Exterior_EventScript_NotSolved3 end -BirthIsland_Exterior_EventScript_267FBB:: @ 8267FBB +BirthIsland_Exterior_EventScript_NotSolved1:: @ 8267FBB release end -BirthIsland_Exterior_EventScript_267FBD:: @ 8267FBD +BirthIsland_Exterior_EventScript_NotSolved2:: @ 8267FBD release end -BirthIsland_Exterior_EventScript_267FBF:: @ 8267FBF +BirthIsland_Exterior_EventScript_NotSolved3:: @ 8267FBF release end -BirthIsland_Exterior_EventScript_267FC1:: @ 8267FC1 +BirthIsland_Exterior_EventScript_Deoxys:: @ 8267FC1 waitse setfieldeffectargument 0, 1 setfieldeffectargument 1, 58 @@ -72,44 +72,44 @@ BirthIsland_Exterior_EventScript_267FC1:: @ 8267FC1 playbgm MUS_RG_DEOEYE, 0 waitfieldeffect FLDEFF_65 addobject 2 - applymovement 2, BirthIsland_Exterior_Movement_268054 + applymovement 2, BirthIsland_Exterior_Movement_DeoxysApproach waitmovement 0 waitse playmoncry SPECIES_DEOXYS, 2 delay 40 waitmoncry setvar VAR_LAST_TALKED, 2 - setvar VAR_0x8004, 410 - setvar VAR_0x8005, 30 - setvar VAR_0x8006, 0 + setvar VAR_0x8004, SPECIES_DEOXYS + setvar VAR_0x8005, 30 @ level + setvar VAR_0x8006, ITEM_NONE special CreateObedientEnemyMon setflag FLAG_SYS_CTRL_OBJ_DELETE special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq BirthIsland_Exterior_EventScript_26803B - compare VAR_RESULT, 4 - goto_if_eq BirthIsland_Exterior_EventScript_268049 - compare VAR_RESULT, 5 - goto_if_eq BirthIsland_Exterior_EventScript_268049 + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq BirthIsland_Exterior_EventScript_DefeatedDeoxys + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq BirthIsland_Exterior_EventScript_RanFromDeoxys + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq BirthIsland_Exterior_EventScript_RanFromDeoxys setflag FLAG_BATTLED_DEOXYS release end -BirthIsland_Exterior_EventScript_26803B:: @ 826803B +BirthIsland_Exterior_EventScript_DefeatedDeoxys:: @ 826803B setflag FLAG_DEFEATED_DEOXYS - setvar VAR_0x8004, 410 - goto BirthIsland_Exterior_EventScript_273776 + setvar VAR_0x8004, SPECIES_DEOXYS + goto Common_EventScript_LegendaryFlewAway end -BirthIsland_Exterior_EventScript_268049:: @ 8268049 - setvar VAR_0x8004, 410 - goto BirthIsland_Exterior_EventScript_273776 +BirthIsland_Exterior_EventScript_RanFromDeoxys:: @ 8268049 + setvar VAR_0x8004, SPECIES_DEOXYS + goto Common_EventScript_LegendaryFlewAway end -BirthIsland_Exterior_Movement_268054: @ 8268054 +BirthIsland_Exterior_Movement_DeoxysApproach: @ 8268054 walk_slow_down walk_slow_down walk_slow_down diff --git a/data/maps/BirthIsland_Harbor/map.json b/data/maps/BirthIsland_Harbor/map.json index 48937d4824..ea124d9efb 100644 --- a/data/maps/BirthIsland_Harbor/map.json +++ b/data/maps/BirthIsland_Harbor/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "BirthIsland_Harbor_EventScript_26805D", + "script": "BirthIsland_Harbor_EventScript_Sailor", "flag": "0" }, { diff --git a/data/maps/BirthIsland_Harbor/scripts.inc b/data/maps/BirthIsland_Harbor/scripts.inc index 5f850ed7be..f19b373f5a 100644 --- a/data/maps/BirthIsland_Harbor/scripts.inc +++ b/data/maps/BirthIsland_Harbor/scripts.inc @@ -1,27 +1,27 @@ BirthIsland_Harbor_MapScripts:: @ 826805C .byte 0 -BirthIsland_Harbor_EventScript_26805D:: @ 826805D +BirthIsland_Harbor_EventScript_Sailor:: @ 826805D lock faceplayer - msgbox BirthIsland_Harbor_Text_2C6B90, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq BirthIsland_Harbor_EventScript_2680A2 - msgbox BirthIsland_Harbor_Text_2A6A5D, MSGBOX_DEFAULT + msgbox BirthIsland_Harbor_Text_SailorReturn, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq BirthIsland_Harbor_EventScript_AsYouLike + msgbox EventTicket_Text_SailHome, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 30 hideobjectat 1, MAP_BIRTH_ISLAND_HARBOR setvar VAR_0x8004, 2 - call BirthIsland_Harbor_EventScript_272250 + call Common_EventScript_FerryDepartIsland warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11 waitstate release end -BirthIsland_Harbor_EventScript_2680A2:: @ 82680A2 - msgbox BirthIsland_Harbor_Text_2A6A82, MSGBOX_DEFAULT +BirthIsland_Harbor_EventScript_AsYouLike:: @ 82680A2 + msgbox EventTicket_Text_AsYouLike, MSGBOX_DEFAULT release end diff --git a/data/maps/CaveOfOrigin_1F/scripts.inc b/data/maps/CaveOfOrigin_1F/scripts.inc index 8c72ec4b8d..de1d979d43 100644 --- a/data/maps/CaveOfOrigin_1F/scripts.inc +++ b/data/maps/CaveOfOrigin_1F/scripts.inc @@ -3,5 +3,5 @@ CaveOfOrigin_1F_MapScripts:: @ 8235768 .byte 0 CaveOfOrigin_1F_OnTransition: @ 823576E - call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_1F_EventScript_2722C1 + call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_EventScript_SetTempVars end diff --git a/data/maps/CaveOfOrigin_B1F/map.json b/data/maps/CaveOfOrigin_B1F/map.json index ac3baeaf87..ba32f6cfc0 100644 --- a/data/maps/CaveOfOrigin_B1F/map.json +++ b/data/maps/CaveOfOrigin_B1F/map.json @@ -5,7 +5,7 @@ "music": "MUS_NONE", "region_map_section": "MAPSEC_CAVE_OF_ORIGIN", "requires_flash": false, - "weather": "WEATHER_FOG_1", + "weather": "WEATHER_FOG_HORIZONTAL", "map_type": "MAP_TYPE_UNDERGROUND", "allow_bike": false, "allow_escape_rope": true, @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "CaveOfOrigin_B1F_EventScript_2357A9", + "script": "CaveOfOrigin_B1F_EventScript_Wallace", "flag": "FLAG_HIDE_CAVE_OF_ORIGIN_B1F_WALLACE" } ], diff --git a/data/maps/CaveOfOrigin_B1F/scripts.inc b/data/maps/CaveOfOrigin_B1F/scripts.inc index 5148d29423..552f3b095d 100644 --- a/data/maps/CaveOfOrigin_B1F/scripts.inc +++ b/data/maps/CaveOfOrigin_B1F/scripts.inc @@ -1,12 +1,12 @@ CaveOfOrigin_B1F_MapScripts:: @ 82357A8 .byte 0 -CaveOfOrigin_B1F_EventScript_2357A9:: @ 82357A9 +CaveOfOrigin_B1F_EventScript_Wallace:: @ 82357A9 lock faceplayer - msgbox CaveOfOrigin_B1F_Text_23586E, MSGBOX_DEFAULT + msgbox CaveOfOrigin_B1F_Text_WallaceStory, MSGBOX_DEFAULT closemessage - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 60 playse SE_PIN @@ -17,49 +17,49 @@ CaveOfOrigin_B1F_EventScript_2357A9:: @ 82357A9 delay 30 applymovement 1, Common_Movement_FacePlayer waitmovement 0 - message CaveOfOrigin_B1F_Text_235ACE + message CaveOfOrigin_B1F_Text_WhereIsRayquaza waitmessage - goto CaveOfOrigin_B1F_EventScript_2357F0 + goto CaveOfOrigin_B1F_EventScript_WheresRayquaza -CaveOfOrigin_B1F_EventScript_2357F0:: @ 82357F0 - multichoice 0, 0, 110, 0 +CaveOfOrigin_B1F_EventScript_WheresRayquaza:: @ 82357F0 + multichoice 0, 0, MULTI_WHERES_RAYQUAZA, 0 switch VAR_RESULT - case 0, CaveOfOrigin_B1F_EventScript_23582C - case 1, CaveOfOrigin_B1F_EventScript_235837 - case 2, CaveOfOrigin_B1F_EventScript_23584D - case 3, CaveOfOrigin_B1F_EventScript_235842 - goto CaveOfOrigin_B1F_EventScript_235842 + case 0, CaveOfOrigin_B1F_EventScript_AtCaveOfOrigin + case 1, CaveOfOrigin_B1F_EventScript_AtMtPyre + case 2, CaveOfOrigin_B1F_EventScript_AtSkyPillar + case 3, CaveOfOrigin_B1F_EventScript_DontRemember + goto CaveOfOrigin_B1F_EventScript_DontRemember end -CaveOfOrigin_B1F_EventScript_23582C:: @ 823582C - message CaveOfOrigin_B1F_Text_235B23 +CaveOfOrigin_B1F_EventScript_AtCaveOfOrigin:: @ 823582C + message CaveOfOrigin_B1F_Text_ButWereInCaveOfOrigin waitmessage - goto CaveOfOrigin_B1F_EventScript_2357F0 + goto CaveOfOrigin_B1F_EventScript_WheresRayquaza -CaveOfOrigin_B1F_EventScript_235837:: @ 8235837 - message CaveOfOrigin_B1F_Text_235BBF +CaveOfOrigin_B1F_EventScript_AtMtPyre:: @ 8235837 + message CaveOfOrigin_B1F_Text_OldLadyDidntMentionThat waitmessage - goto CaveOfOrigin_B1F_EventScript_2357F0 + goto CaveOfOrigin_B1F_EventScript_WheresRayquaza -CaveOfOrigin_B1F_EventScript_235842:: @ 8235842 - message CaveOfOrigin_B1F_Text_235C99 +CaveOfOrigin_B1F_EventScript_DontRemember:: @ 8235842 + message CaveOfOrigin_B1F_Text_CantYouRememberSomehow waitmessage - goto CaveOfOrigin_B1F_EventScript_2357F0 + goto CaveOfOrigin_B1F_EventScript_WheresRayquaza -CaveOfOrigin_B1F_EventScript_23584D:: @ 823584D - msgbox CaveOfOrigin_B1F_Text_235CEE, MSGBOX_DEFAULT +CaveOfOrigin_B1F_EventScript_AtSkyPillar:: @ 823584D + msgbox CaveOfOrigin_B1F_Text_WellHeadToSkyPillar, MSGBOX_DEFAULT closemessage playse SE_KAIDAN - fadescreenspeed 1, 4 + fadescreenspeed FADE_TO_BLACK, 4 setflag FLAG_WALLACE_GOES_TO_SKY_PILLAR setvar VAR_SOOTOPOLIS_CITY_STATE, 3 removeobject 1 clearflag FLAG_HIDE_SKY_PILLAR_WALLACE - fadescreen 0 + fadescreen FADE_FROM_BLACK release end -CaveOfOrigin_B1F_Text_23586E: @ 823586E +CaveOfOrigin_B1F_Text_WallaceStory: @ 823586E .string "Ah, so you are {PLAYER}{KUN}?\n" .string "I've heard tales of your exploits.\p" .string "My name is WALLACE.\p" @@ -83,19 +83,19 @@ CaveOfOrigin_B1F_Text_23586E: @ 823586E .string "But even I have no clue as to\n" .string "RAYQUAZA's whereabouts…$" -CaveOfOrigin_B1F_Text_235ACE: @ 8235ACE +CaveOfOrigin_B1F_Text_WhereIsRayquaza: @ 8235ACE .string "WALLACE: {PLAYER}{KUN}, do you perhaps\n" .string "know where RAYQUAZA is now?\p" .string "If you do, please tell me.$" -CaveOfOrigin_B1F_Text_235B23: @ 8235B23 +CaveOfOrigin_B1F_Text_ButWereInCaveOfOrigin: @ 8235B23 .string "WALLACE: The CAVE OF ORIGIN?\p" .string "But that's right here!\n" .string "I need you to do better than that!\p" .string "Please, I need you to think about\n" .string "where RAYQUAZA might be right now.$" -CaveOfOrigin_B1F_Text_235BBF: @ 8235BBF +CaveOfOrigin_B1F_Text_OldLadyDidntMentionThat: @ 8235BBF .string "WALLACE: MT. PYRE?\p" .string "But when I met the old lady there\n" .string "earlier, she made no mention of it.\p" @@ -104,12 +104,12 @@ CaveOfOrigin_B1F_Text_235BBF: @ 8235BBF .string "{PLAYER}{KUN}, could you think about this\n" .string "more carefully for me?$" -CaveOfOrigin_B1F_Text_235C99: @ 8235C99 +CaveOfOrigin_B1F_Text_CantYouRememberSomehow: @ 8235C99 .string "WALLACE: Huh? You don't remember?\n" .string "Hmm… That's a problem…\p" .string "Can't you remember somehow?$" -CaveOfOrigin_B1F_Text_235CEE: @ 8235CEE +CaveOfOrigin_B1F_Text_WellHeadToSkyPillar: @ 8235CEE .string "WALLACE: The SKY PILLAR?\p" .string "That's it!\n" .string "It must be the SKY PILLAR!\p" diff --git a/data/maps/CaveOfOrigin_Entrance/scripts.inc b/data/maps/CaveOfOrigin_Entrance/scripts.inc index 53228f63c8..76cdbc7ad2 100644 --- a/data/maps/CaveOfOrigin_Entrance/scripts.inc +++ b/data/maps/CaveOfOrigin_Entrance/scripts.inc @@ -1,8 +1,8 @@ CaveOfOrigin_Entrance_MapScripts:: @ 8235759 - map_script MAP_SCRIPT_ON_RESUME, CaveOfOrigin_Entrance_MapScript1_23575F + map_script MAP_SCRIPT_ON_RESUME, CaveOfOrigin_Entrance_OnResume .byte 0 -CaveOfOrigin_Entrance_MapScript1_23575F: @ 823575F +CaveOfOrigin_Entrance_OnResume: @ 823575F setescapewarp MAP_SOOTOPOLIS_CITY, 255, 31, 17 end diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc index bc574be2d8..326ea21e3a 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc @@ -3,5 +3,5 @@ CaveOfOrigin_UnusedRubySapphireMap1_MapScripts:: @ 8235778 .byte 0 CaveOfOrigin_UnusedRubySapphireMap1_OnTransition: @ 823577E - call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_UnusedRubySapphireMap1_EventScript_2722C1 + call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_EventScript_SetTempVars end diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json index 8b83029e3a..b0b496d88d 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json @@ -5,7 +5,7 @@ "music": "MUS_DAN03", "region_map_section": "MAPSEC_CAVE_OF_ORIGIN", "requires_flash": true, - "weather": "WEATHER_FOG_1", + "weather": "WEATHER_FOG_HORIZONTAL", "map_type": "MAP_TYPE_UNDERGROUND", "allow_bike": true, "allow_escape_rope": true, diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc index 340e4a5859..5e92a7d45e 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc @@ -3,6 +3,6 @@ CaveOfOrigin_UnusedRubySapphireMap2_MapScripts:: @ 8235788 .byte 0 CaveOfOrigin_UnusedRubySapphireMap2_OnTransition: @ 823578E - call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_UnusedRubySapphireMap2_EventScript_2722C1 + call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_EventScript_SetTempVars end diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json index 2b7c6db194..99afc0925d 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json @@ -5,7 +5,7 @@ "music": "MUS_DAN03", "region_map_section": "MAPSEC_CAVE_OF_ORIGIN", "requires_flash": true, - "weather": "WEATHER_FOG_1", + "weather": "WEATHER_FOG_HORIZONTAL", "map_type": "MAP_TYPE_UNDERGROUND", "allow_bike": true, "allow_escape_rope": true, diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc index f2e1189070..2f0e2b66c7 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc @@ -3,6 +3,6 @@ CaveOfOrigin_UnusedRubySapphireMap3_MapScripts:: @ 8235798 .byte 0 CaveOfOrigin_UnusedRubySapphireMap3_OnTransition: @ 823579E - call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_UnusedRubySapphireMap3_EventScript_2722C1 + call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_EventScript_SetTempVars end diff --git a/data/maps/LinkContestRoom1/map.json b/data/maps/ContestHall/map.json similarity index 97% rename from data/maps/LinkContestRoom1/map.json rename to data/maps/ContestHall/map.json index 664a32b29f..1402a9afa0 100644 --- a/data/maps/LinkContestRoom1/map.json +++ b/data/maps/ContestHall/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_LINK_CONTEST_ROOM1", - "name": "LinkContestRoom1", - "layout": "LAYOUT_LINK_CONTEST_ROOM1", + "id": "MAP_CONTEST_HALL", + "name": "ContestHall", + "layout": "LAYOUT_CONTEST_HALL", "music": "MUS_CONTEST0", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, @@ -181,7 +181,7 @@ "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", "script": "0x0", - "flag": "FLAG_LINK_CONTEST_POKE_BALL" + "flag": "FLAG_HIDE_CONTEST_POKE_BALL" }, { "graphics_id": "EVENT_OBJ_GFX_VAR_3", diff --git a/data/maps/ContestHall/scripts.inc b/data/maps/ContestHall/scripts.inc new file mode 100644 index 0000000000..e1ef9b7084 --- /dev/null +++ b/data/maps/ContestHall/scripts.inc @@ -0,0 +1,460 @@ +ContestHall_MapScripts:: @ 823B781 + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, ContestHall_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, ContestHall_OnFrame + map_script MAP_SCRIPT_ON_TRANSITION, ContestHall_OnTransition + map_script MAP_SCRIPT_ON_RESUME, ContestHall_OnResume + map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, ContestHall_OnReturn + .byte 0 + +ContestHall_OnReturn: @ 823B79B + special LoadLinkContestPlayerPalettes + end + +ContestHall_OnTransition: @ 823B79F + call ContestHall_EventScript_ReadyContestMusic + setvar VAR_TEMP_0, 1 + call ContestHall_EventScript_AddRandomAudienceMembers + end + +ContestHall_EventScript_ReadyContestMusic:: @ 823B7AF + call ContestHall_EventScript_TryWaitForLink + special ScriptGetMultiplayerId + compare VAR_RESULT, 0 + call_if_eq ContestHall_EventScript_SaveContestMusicPlayer1 + compare VAR_RESULT, 1 + call_if_eq ContestHall_EventScript_SaveContestMusicPlayer2 + compare VAR_RESULT, 2 + call_if_eq ContestHall_EventScript_SaveContestMusicPlayer3 + compare VAR_RESULT, 3 + call_if_eq ContestHall_EventScript_SaveContestMusicPlayer4 + compare VAR_RESULT, 4 + call_if_eq ContestHall_EventScript_SaveContestMusic + return + +ContestHall_EventScript_SaveContestMusicPlayer1:: @ 823B7EF + savebgm MUS_TEST1 + return + +ContestHall_EventScript_SaveContestMusicPlayer2:: @ 823B7F3 + savebgm MUS_TEST2 + return + +ContestHall_EventScript_SaveContestMusicPlayer3:: @ 823B7F7 + savebgm MUS_TEST3 + return + +ContestHall_EventScript_SaveContestMusicPlayer4:: @ 823B7FB + savebgm MUS_TEST4 + return + +ContestHall_EventScript_SaveContestMusic:: @ 823B7FF + savebgm MUS_CONTEST0 + return + +ContestHall_OnResume: @ 823B803 + compare VAR_TEMP_9, 1 + call_if_eq ContestHall_EventScript_ReShowAudience + end + +ContestHall_EventScript_ReShowAudience:: @ 823B80F + call ContestHall_EventScript_CreateAudience + return + +ContestHall_OnFrame: @ 823B815 + map_script_2 VAR_CONTEST_HALL_STATE, 1, ContestHall_EventScript_Contest + .2byte 0 + +ContestHall_OnWarp: @ 823B81F + map_script_2 VAR_CONTEST_HALL_STATE, 1, ContestHall_EventScript_SetContestObjects + .2byte 0 + +ContestHall_EventScript_Contest:: @ 823B829 + call ContestHall_EventScript_DoContest + call ContestHall_EventScript_SetExitWarp + end + +ContestHall_EventScript_SetContestObjects:: @ 823B834 + special LoadLinkContestPlayerPalettes + hideobjectat EVENT_OBJ_ID_PLAYER, MAP_LITTLEROOT_TOWN + call ContestHall_EventScript_CreateAudience + end + +@ There are 8 audience member event objects, 7 of which are given random gfx below (the 8th is the Artist) +@ The rest of the audience is created statically by ContestHall_EventScript_CreateAudience +ContestHall_EventScript_AddRandomAudienceMembers:: @ 823B842 + call ContestHall_EventScript_GetRandomAudienceGfxId + call ContestHall_EventScript_SetRandomAudienceGfx + compare VAR_TEMP_0, 8 + goto_if_lt ContestHall_EventScript_AddRandomAudienceMembers + return + +ContestHall_EventScript_SetRandomAudienceGfx:: @ 823B858 + switch VAR_TEMP_0 + case 1, ContestHall_EventScript_SetRandomAudience1 + case 2, ContestHall_EventScript_SetRandomAudience2 + case 3, ContestHall_EventScript_SetRandomAudience3 + case 4, ContestHall_EventScript_SetRandomAudience4 + case 5, ContestHall_EventScript_SetRandomAudience5 + case 6, ContestHall_EventScript_SetRandomAudience6 + case 7, ContestHall_EventScript_SetRandomAudience7 + end + +ContestHall_EventScript_SetRandomAudience1:: @ 823B8AB + copyvar VAR_OBJ_GFX_ID_4, VAR_TEMP_1 + addvar VAR_TEMP_0, 1 + return + +ContestHall_EventScript_SetRandomAudience2:: @ 823B8B6 + copyvar VAR_OBJ_GFX_ID_5, VAR_TEMP_1 + addvar VAR_TEMP_0, 1 + return + +ContestHall_EventScript_SetRandomAudience3:: @ 823B8C1 + copyvar VAR_OBJ_GFX_ID_6, VAR_TEMP_1 + addvar VAR_TEMP_0, 1 + return + +ContestHall_EventScript_SetRandomAudience4:: @ 823B8CC + copyvar VAR_OBJ_GFX_ID_7, VAR_TEMP_1 + addvar VAR_TEMP_0, 1 + return + +ContestHall_EventScript_SetRandomAudience5:: @ 823B8D7 + copyvar VAR_OBJ_GFX_ID_8, VAR_TEMP_1 + addvar VAR_TEMP_0, 1 + return + +ContestHall_EventScript_SetRandomAudience6:: @ 823B8E2 + copyvar VAR_OBJ_GFX_ID_9, VAR_TEMP_1 + addvar VAR_TEMP_0, 1 + return + +ContestHall_EventScript_SetRandomAudience7:: @ 823B8ED + copyvar VAR_OBJ_GFX_ID_A, VAR_TEMP_1 + addvar VAR_TEMP_0, 1 + return + +ContestHall_EventScript_GetRandomAudienceGfxId:: @ 823B8F8 + setvar VAR_RESULT, 32 + special ScriptRandom + addvar VAR_RESULT, 1 + switch VAR_RESULT + case 1, ContestHall_EventScript_RandomAudienceNinjaBoy + case 2, ContestHall_EventScript_RandomAudienceTwin + case 3, ContestHall_EventScript_RandomAudienceBoy1 + case 4, ContestHall_EventScript_RandomAudienceGirl1 + case 5, ContestHall_EventScript_RandomAudienceGirl2 + case 6, ContestHall_EventScript_RandomAudienceLittleBoy + case 7, ContestHall_EventScript_RandomAudienceGirl + case 8, ContestHall_EventScript_RandomAudienceBoy3 + case 9, ContestHall_EventScript_RandomAudienceGirl3 + case 10, ContestHall_EventScript_RandomAudienceRichBoy + case 11, ContestHall_EventScript_RandomAudienceFatMan + case 12, ContestHall_EventScript_RandomAudiencePokefanF + case 13, ContestHall_EventScript_RandomAudienceMan1 + case 14, ContestHall_EventScript_RandomAudienceWoman2 + case 15, ContestHall_EventScript_RandomAudienceExpertM + case 16, ContestHall_EventScript_RandomAudienceExpertF + case 17, ContestHall_EventScript_RandomAudiencePokefanM + case 18, ContestHall_EventScript_RandomAudienceWoman4 + case 19, ContestHall_EventScript_RandomAudienceCook + case 20, ContestHall_EventScript_RandomAudienceLass + case 21, ContestHall_EventScript_RandomAudienceOldWoman + case 22, ContestHall_EventScript_RandomAudienceCamper + case 23, ContestHall_EventScript_RandomAudiencePicnicker + case 24, ContestHall_EventScript_RandomAudienceMan3 + case 25, ContestHall_EventScript_RandomAudienceWoman5 + case 26, ContestHall_EventScript_RandomAudienceYoungster + case 27, ContestHall_EventScript_RandomAudienceBugCatcher + case 28, ContestHall_EventScript_RandomAudiencePsychicM + case 29, ContestHall_EventScript_RandomAudienceSchoolKidM + case 30, ContestHall_EventScript_RandomAudienceBlackBelt + case 31, ContestHall_EventScript_RandomAudienceBeauty + case 32, ContestHall_EventScript_RandomAudienceScientist1 + end + +ContestHall_EventScript_RandomAudienceNinjaBoy:: @ 823BA6B + setvar VAR_TEMP_1, EVENT_OBJ_GFX_NINJA_BOY + return + +ContestHall_EventScript_RandomAudienceTwin:: @ 823BA71 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_TWIN + return + +ContestHall_EventScript_RandomAudienceBoy1:: @ 823BA77 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_BOY_1 + return + +ContestHall_EventScript_RandomAudienceGirl1:: @ 823BA7D + setvar VAR_TEMP_1, EVENT_OBJ_GFX_GIRL_1 + return + +ContestHall_EventScript_RandomAudienceGirl2:: @ 823BA83 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_GIRL_2 + return + +ContestHall_EventScript_RandomAudienceLittleBoy:: @ 823BA89 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_LITTLE_BOY + return + +ContestHall_EventScript_RandomAudienceGirl:: @ 823BA8F + setvar VAR_TEMP_1, EVENT_OBJ_GFX_LITTLE_GIRL + return + +ContestHall_EventScript_RandomAudienceBoy3:: @ 823BA95 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_BOY_3 + return + +ContestHall_EventScript_RandomAudienceGirl3:: @ 823BA9B + setvar VAR_TEMP_1, EVENT_OBJ_GFX_GIRL_3 + return + +ContestHall_EventScript_RandomAudienceRichBoy:: @ 823BAA1 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_RICH_BOY + return + +ContestHall_EventScript_RandomAudienceFatMan:: @ 823BAA7 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_FAT_MAN + return + +ContestHall_EventScript_RandomAudiencePokefanF:: @ 823BAAD + setvar VAR_TEMP_1, EVENT_OBJ_GFX_POKEFAN_F + return + +ContestHall_EventScript_RandomAudienceMan1:: @ 823BAB3 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_MAN_1 + return + +ContestHall_EventScript_RandomAudienceWoman2:: @ 823BAB9 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_WOMAN_2 + return + +ContestHall_EventScript_RandomAudienceExpertM:: @ 823BABF + setvar VAR_TEMP_1, EVENT_OBJ_GFX_EXPERT_M + return + +ContestHall_EventScript_RandomAudienceExpertF:: @ 823BAC5 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_EXPERT_F + return + +ContestHall_EventScript_RandomAudiencePokefanM:: @ 823BACB + setvar VAR_TEMP_1, EVENT_OBJ_GFX_POKEFAN_M + return + +ContestHall_EventScript_RandomAudienceWoman4:: @ 823BAD1 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_WOMAN_4 + return + +ContestHall_EventScript_RandomAudienceCook:: @ 823BAD7 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_COOK + return + +ContestHall_EventScript_RandomAudienceLass:: @ 823BADD + setvar VAR_TEMP_1, EVENT_OBJ_GFX_LASS + return + +ContestHall_EventScript_RandomAudienceOldWoman:: @ 823BAE3 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_OLD_WOMAN + return + +ContestHall_EventScript_RandomAudienceCamper:: @ 823BAE9 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_CAMPER + return + +ContestHall_EventScript_RandomAudiencePicnicker:: @ 823BAEF + setvar VAR_TEMP_1, EVENT_OBJ_GFX_PICNICKER + return + +ContestHall_EventScript_RandomAudienceMan3:: @ 823BAF5 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_MAN_3 + return + +ContestHall_EventScript_RandomAudienceWoman5:: @ 823BAFB + setvar VAR_TEMP_1, EVENT_OBJ_GFX_WOMAN_5 + return + +ContestHall_EventScript_RandomAudienceYoungster:: @ 823BB01 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_YOUNGSTER + return + +ContestHall_EventScript_RandomAudienceBugCatcher:: @ 823BB07 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_BUG_CATCHER + return + +ContestHall_EventScript_RandomAudiencePsychicM:: @ 823BB0D + setvar VAR_TEMP_1, EVENT_OBJ_GFX_PSYCHIC_M + return + +ContestHall_EventScript_RandomAudienceSchoolKidM:: @ 823BB13 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_SCHOOL_KID_M + return + +ContestHall_EventScript_RandomAudienceBlackBelt:: @ 823BB19 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_BLACK_BELT + return + +ContestHall_EventScript_RandomAudienceBeauty:: @ 823BB1F + setvar VAR_TEMP_1, EVENT_OBJ_GFX_BEAUTY + return + +ContestHall_EventScript_RandomAudienceScientist1:: @ 823BB25 + setvar VAR_TEMP_1, EVENT_OBJ_GFX_SCIENTIST_1 + return + +ContestHall_EventScript_CreateAudience:: @ 823BB2B + specialvar VAR_RESULT, IsWirelessContest + compare VAR_RESULT, TRUE + goto_if_eq ContestHall_EventScript_CreateWirelessContestAudience + switch VAR_CONTEST_TYPE + case CONTEST_TYPE_NPC_NORMAL, ContestHall_EventScript_CreateNormalContestAudience + case CONTEST_TYPE_NPC_SUPER, ContestHall_EventScript_CreateSuperContestAudience + case CONTEST_TYPE_NPC_HYPER, ContestHall_EventScript_CreateHyperContestAudience + case CONTEST_TYPE_NPC_MASTER, ContestHall_EventScript_CreateMasterContestAudience + case CONTEST_TYPE_LINK, ContestHall_EventScript_CreateMasterContestAudience + return + +ContestHall_EventScript_CreateNormalContestAudience:: @ 823BB78 + createvobject EVENT_OBJ_GFX_NINJA_BOY, 20, 3, 2, 3, DIR_SOUTH + createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH + return + +ContestHall_EventScript_CreateSuperContestAudience:: @ 823BB8B + createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_SCIENTIST_1, 3, 2, 8, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 13, 12, 8, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_LASS, 20, 3, 2, 3, DIR_SOUTH + createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH + return + +ContestHall_EventScript_CreateHyperContestAudience:: @ 823BBE6 + createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_GENTLEMAN, 3, 2, 8, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_EXPERT_F, 20, 3, 2, 3, DIR_SOUTH + createvobject EVENT_OBJ_GFX_MAN_2, 20, 6, 2, 3, DIR_SOUTH + createvobject EVENT_OBJ_GFX_WOMAN_5, 20, 7, 2, 3, DIR_SOUTH + createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 8, 2, 3, DIR_SOUTH + createvobject EVENT_OBJ_GFX_GENTLEMAN, 24, 11, 2, 3, DIR_SOUTH + createvobject EVENT_OBJ_GFX_LITTLE_BOY, 25, 3, 9, 3, DIR_NORTH + createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 4, 9, 3, DIR_NORTH + createvobject EVENT_OBJ_GFX_FAT_MAN, 27, 5, 9, 3, DIR_NORTH + createvobject EVENT_OBJ_GFX_HEX_MANIAC, 28, 9, 9, 3, DIR_NORTH + createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 10, 9, 3, DIR_NORTH + createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 30, 11, 9, 3, DIR_NORTH + return + +ContestHall_EventScript_CreateMasterContestAudience:: @ 823BC92 + createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 3, 2, 8, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_MANIAC, 4, 1, 3, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_WOMAN_5, 6, 1, 5, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_WOMAN_4, 7, 1, 6, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_GENTLEMAN, 9, 1, 8, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_FISHERMAN, 14, 13, 3, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, 15, 13, 4, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_MAN_4, 17, 13, 6, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 18, 13, 7, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_DEVON_EMPLOYEE, 19, 13, 8, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_POKEFAN_M, 20, 3, 2, 3, DIR_SOUTH + createvobject EVENT_OBJ_GFX_CAMPER, 21, 6, 2, 3, DIR_SOUTH + createvobject EVENT_OBJ_GFX_MAN_3, 22, 7, 2, 3, DIR_SOUTH + createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH + createvobject EVENT_OBJ_GFX_SAILOR, 25, 3, 9, 3, DIR_NORTH + createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 4, 9, 3, DIR_NORTH + createvobject EVENT_OBJ_GFX_GENTLEMAN, 27, 5, 9, 3, DIR_NORTH + createvobject EVENT_OBJ_GFX_HEX_MANIAC, 28, 9, 9, 3, DIR_NORTH + createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 10, 9, 3, DIR_NORTH + createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 30, 11, 9, 3, DIR_NORTH + return + +ContestHall_EventScript_CreateWirelessContestAudience:: @ 823BD86 + createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 3, 2, 8, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_MANIAC, 4, 1, 3, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_WOMAN_5, 6, 1, 5, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_WOMAN_4, 7, 1, 6, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_GENTLEMAN, 9, 1, 8, 3, DIR_EAST + createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_FISHERMAN, 14, 13, 3, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, 15, 13, 4, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_MAN_4, 17, 13, 6, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 18, 13, 7, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_DEVON_EMPLOYEE, 19, 13, 8, 3, DIR_WEST + createvobject EVENT_OBJ_GFX_POKEFAN_M, 20, 3, 2, 3, DIR_SOUTH + createvobject EVENT_OBJ_GFX_CAMPER, 21, 6, 2, 3, DIR_SOUTH + createvobject EVENT_OBJ_GFX_MAN_3, 22, 7, 2, 3, DIR_SOUTH + createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH + return + +ContestHall_EventScript_SetExitWarp:: @ 823BE44 + special ClearLinkContestFlags + switch VAR_CONTEST_TYPE + case CONTEST_TYPE_NPC_NORMAL, ContestHall_EventScript_SetExitWarpNormalContest + case CONTEST_TYPE_NPC_SUPER, ContestHall_EventScript_SetExitWarpSuperContest + case CONTEST_TYPE_NPC_HYPER, ContestHall_EventScript_SetExitWarpHyperContest + case CONTEST_TYPE_NPC_MASTER, ContestHall_EventScript_SetExitWarpMasterContest + case CONTEST_TYPE_LINK, ContestHall_EventScript_SetExitWarpLinkContest + return + +ContestHall_EventScript_SetExitWarpNormalContest:: @ 823BE84 + warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4 + waitstate + end + +ContestHall_EventScript_SetExitWarpSuperContest:: @ 823BE8E + warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4 + waitstate + end + +ContestHall_EventScript_SetExitWarpHyperContest:: @ 823BE98 + warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4 + waitstate + end + +ContestHall_EventScript_SetExitWarpMasterContest:: @ 823BEA2 + warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4 + waitstate + end + +ContestHall_EventScript_SetExitWarpLinkContest:: @ 823BEAC + warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 15, 4 + waitstate + end + +LilycoveCity_ContestLobby_EventScript_SetPlayerGfx:: @ 823BEB6 + checkplayergender + compare VAR_RESULT, MALE + goto_if_eq LilycoveCity_ContestLobby_EventScript_SetPlayerGfxBrendan + compare VAR_RESULT, FEMALE + goto_if_eq LilycoveCity_ContestLobby_EventScript_SetPlayerGfxMay + return + +LilycoveCity_ContestLobby_EventScript_SetPlayerGfxBrendan:: @ 823BECE + setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL + return + +LilycoveCity_ContestLobby_EventScript_SetPlayerGfxMay:: @ 823BED4 + setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL + return + diff --git a/data/maps/LinkContestRoom2/map.json b/data/maps/ContestHallBeauty/map.json similarity index 63% rename from data/maps/LinkContestRoom2/map.json rename to data/maps/ContestHallBeauty/map.json index b02da178f2..daad0f9626 100644 --- a/data/maps/LinkContestRoom2/map.json +++ b/data/maps/ContestHallBeauty/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_LINK_CONTEST_ROOM2", - "name": "LinkContestRoom2", - "layout": "LAYOUT_LINK_CONTEST_ROOM2", + "id": "MAP_CONTEST_HALL_BEAUTY", + "name": "ContestHallBeauty", + "layout": "LAYOUT_CONTEST_HALL_BEAUTY", "music": "MUS_CONTEST0", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, @@ -13,6 +13,6 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, - "shared_events_map": "LinkContestRoom1", - "shared_scripts_map": "LinkContestRoom1" + "shared_events_map": "ContestHall", + "shared_scripts_map": "ContestHall" } \ No newline at end of file diff --git a/data/maps/LinkContestRoom5/map.json b/data/maps/ContestHallCool/map.json similarity index 63% rename from data/maps/LinkContestRoom5/map.json rename to data/maps/ContestHallCool/map.json index f312d4c2b3..d1c2e985c2 100644 --- a/data/maps/LinkContestRoom5/map.json +++ b/data/maps/ContestHallCool/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_LINK_CONTEST_ROOM5", - "name": "LinkContestRoom5", - "layout": "LAYOUT_LINK_CONTEST_ROOM5", + "id": "MAP_CONTEST_HALL_COOL", + "name": "ContestHallCool", + "layout": "LAYOUT_CONTEST_HALL_COOL", "music": "MUS_CONTEST0", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, @@ -13,6 +13,6 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, - "shared_events_map": "LinkContestRoom1", - "shared_scripts_map": "LinkContestRoom1" + "shared_events_map": "ContestHall", + "shared_scripts_map": "ContestHall" } \ No newline at end of file diff --git a/data/maps/LinkContestRoom3/map.json b/data/maps/ContestHallCute/map.json similarity index 63% rename from data/maps/LinkContestRoom3/map.json rename to data/maps/ContestHallCute/map.json index fb0bf29e03..d6b16dc4ef 100644 --- a/data/maps/LinkContestRoom3/map.json +++ b/data/maps/ContestHallCute/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_LINK_CONTEST_ROOM3", - "name": "LinkContestRoom3", - "layout": "LAYOUT_LINK_CONTEST_ROOM3", + "id": "MAP_CONTEST_HALL_CUTE", + "name": "ContestHallCute", + "layout": "LAYOUT_CONTEST_HALL_CUTE", "music": "MUS_CONTEST0", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, @@ -13,6 +13,6 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, - "shared_events_map": "LinkContestRoom1", - "shared_scripts_map": "LinkContestRoom1" + "shared_events_map": "ContestHall", + "shared_scripts_map": "ContestHall" } \ No newline at end of file diff --git a/data/maps/LinkContestRoom4/map.json b/data/maps/ContestHallSmart/map.json similarity index 63% rename from data/maps/LinkContestRoom4/map.json rename to data/maps/ContestHallSmart/map.json index 85d12ece4e..12d3cccd8a 100644 --- a/data/maps/LinkContestRoom4/map.json +++ b/data/maps/ContestHallSmart/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_LINK_CONTEST_ROOM4", - "name": "LinkContestRoom4", - "layout": "LAYOUT_LINK_CONTEST_ROOM4", + "id": "MAP_CONTEST_HALL_SMART", + "name": "ContestHallSmart", + "layout": "LAYOUT_CONTEST_HALL_SMART", "music": "MUS_CONTEST0", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, @@ -13,6 +13,6 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, - "shared_events_map": "LinkContestRoom1", - "shared_scripts_map": "LinkContestRoom1" + "shared_events_map": "ContestHall", + "shared_scripts_map": "ContestHall" } \ No newline at end of file diff --git a/data/maps/ContestHallTough/map.json b/data/maps/ContestHallTough/map.json new file mode 100644 index 0000000000..0702111732 --- /dev/null +++ b/data/maps/ContestHallTough/map.json @@ -0,0 +1,18 @@ +{ + "id": "MAP_CONTEST_HALL_TOUGH", + "name": "ContestHallTough", + "layout": "LAYOUT_CONTEST_HALL_TOUGH", + "music": "MUS_CONTEST0", + "region_map_section": "MAPSEC_DYNAMIC", + "requires_flash": false, + "weather": "WEATHER_NONE", + "map_type": "MAP_TYPE_INDOOR", + "allow_bike": false, + "allow_escape_rope": false, + "allow_running": false, + "show_map_name": false, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", + "connections": null, + "shared_events_map": "ContestHall", + "shared_scripts_map": "ContestHall" +} \ No newline at end of file diff --git a/data/maps/DesertRuins/map.json b/data/maps/DesertRuins/map.json index 28a04a458d..441157d861 100644 --- a/data/maps/DesertRuins/map.json +++ b/data/maps/DesertRuins/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DesertRuins_EventScript_22DA02", + "script": "DesertRuins_EventScript_Regirock", "flag": "FLAG_HIDE_REGIROCK" } ], @@ -59,7 +59,7 @@ "y": 20, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "DesertRuins_EventScript_22D9DB" + "script": "DesertRuins_EventScript_CaveEntranceMiddle" }, { "type": "sign", @@ -67,7 +67,7 @@ "y": 20, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "DesertRuins_EventScript_22D9F8" + "script": "DesertRuins_EventScript_CaveEntranceSide" }, { "type": "sign", @@ -75,7 +75,7 @@ "y": 20, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "DesertRuins_EventScript_22D9F8" + "script": "DesertRuins_EventScript_CaveEntranceSide" } ] } \ No newline at end of file diff --git a/data/maps/DesertRuins/scripts.inc b/data/maps/DesertRuins/scripts.inc index 5cadf3ec09..bd7b04fb43 100644 --- a/data/maps/DesertRuins/scripts.inc +++ b/data/maps/DesertRuins/scripts.inc @@ -1,25 +1,25 @@ DesertRuins_MapScripts:: @ 822D95B - map_script MAP_SCRIPT_ON_RESUME, DesertRuins_MapScript1_22D96B - map_script MAP_SCRIPT_ON_LOAD, DesertRuins_MapScript1_22D989 + map_script MAP_SCRIPT_ON_RESUME, DesertRuins_OnResume + map_script MAP_SCRIPT_ON_LOAD, DesertRuins_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, DesertRuins_OnTransition .byte 0 -DesertRuins_MapScript1_22D96B: @ 822D96B - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, DesertRuins_EventScript_22D975 +DesertRuins_OnResume: @ 822D96B + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, DesertRuins_EventScript_TryRemoveRegirock end -DesertRuins_EventScript_22D975:: @ 822D975 +DesertRuins_EventScript_TryRemoveRegirock:: @ 822D975 specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject VAR_LAST_TALKED return -DesertRuins_MapScript1_22D989: @ 822D989 - call_if_unset FLAG_SYS_REGIROCK_PUZZLE_COMPLETED, DesertRuins_EventScript_22D993 +DesertRuins_OnLoad: @ 822D989 + call_if_unset FLAG_SYS_REGIROCK_PUZZLE_COMPLETED, DesertRuins_EventScript_HideRegiEntrance end -DesertRuins_EventScript_22D993:: @ 822D993 +DesertRuins_EventScript_HideRegiEntrance:: @ 822D993 setmetatile 7, 19, METATILE_Cave_EntranceCover, 1 setmetatile 8, 19, METATILE_Cave_EntranceCover, 1 setmetatile 9, 19, METATILE_Cave_EntranceCover, 1 @@ -30,36 +30,36 @@ DesertRuins_EventScript_22D993:: @ 822D993 DesertRuins_OnTransition: @ 822D9CA setflag FLAG_LANDMARK_DESERT_RUINS - call_if_unset FLAG_DEFEATED_REGIROCK, DesertRuins_EventScript_22D9D7 + call_if_unset FLAG_DEFEATED_REGIROCK, DesertRuins_EventScript_ShowRegirock end -DesertRuins_EventScript_22D9D7:: @ 822D9D7 +DesertRuins_EventScript_ShowRegirock:: @ 822D9D7 clearflag FLAG_HIDE_REGIROCK return -DesertRuins_EventScript_22D9DB:: @ 822D9DB +DesertRuins_EventScript_CaveEntranceMiddle:: @ 822D9DB lockall - goto_if_set FLAG_SYS_REGIROCK_PUZZLE_COMPLETED, DesertRuins_EventScript_22D9EE - braillemessage DesertRuins_Braille_2A6CA0 + goto_if_set FLAG_SYS_REGIROCK_PUZZLE_COMPLETED, DesertRuins_EventScript_BigHoleInWall + braillemessage DesertRuins_Braille_UseRockSmash waitbuttonpress - hidebox2 + closebraillemessage releaseall end -DesertRuins_EventScript_22D9EE:: @ 822D9EE - msgbox gUnknown_0827304E, MSGBOX_DEFAULT +DesertRuins_EventScript_BigHoleInWall:: @ 822D9EE + msgbox gText_BigHoleInTheWall, MSGBOX_DEFAULT releaseall end -DesertRuins_EventScript_22D9F8:: @ 822D9F8 +DesertRuins_EventScript_CaveEntranceSide:: @ 822D9F8 lockall - braillemessage DesertRuins_Braille_2A6CA0 + braillemessage DesertRuins_Braille_UseRockSmash waitbuttonpress - hidebox2 + closebraillemessage releaseall end -DesertRuins_EventScript_22DA02:: @ 822DA02 +DesertRuins_EventScript_Regirock:: @ 822DA02 lock faceplayer waitse @@ -72,23 +72,23 @@ DesertRuins_EventScript_22DA02:: @ 822DA02 waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq DesertRuins_EventScript_22DA49 - compare VAR_RESULT, 4 - goto_if_eq DesertRuins_EventScript_22DA52 - compare VAR_RESULT, 5 - goto_if_eq DesertRuins_EventScript_22DA52 + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq DesertRuins_EventScript_DefeatedRegirock + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq DesertRuins_EventScript_RanFromRegirock + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq DesertRuins_EventScript_RanFromRegirock setflag FLAG_DEFEATED_REGIROCK release end -DesertRuins_EventScript_22DA49:: @ 822DA49 +DesertRuins_EventScript_DefeatedRegirock:: @ 822DA49 setflag FLAG_DEFEATED_REGIROCK - goto DesertRuins_EventScript_27376D + goto Common_EventScript_RemoveStaticPokemon end -DesertRuins_EventScript_22DA52:: @ 822DA52 - setvar VAR_0x8004, 401 - goto DesertRuins_EventScript_273776 +DesertRuins_EventScript_RanFromRegirock:: @ 822DA52 + setvar VAR_0x8004, SPECIES_REGIROCK + goto Common_EventScript_LegendaryFlewAway end diff --git a/data/maps/DesertUnderpass/map.json b/data/maps/DesertUnderpass/map.json index ca4b894d4f..a3a80d41ed 100644 --- a/data/maps/DesertUnderpass/map.json +++ b/data/maps/DesertUnderpass/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DesertUnderpass_EventScript_23AF41", + "script": "DesertUnderpass_EventScript_Fossil", "flag": "FLAG_HIDE_DESERT_UNDERPASS_FOSSIL" } ], diff --git a/data/maps/DesertUnderpass/scripts.inc b/data/maps/DesertUnderpass/scripts.inc index 8e89075e58..bba7dfe081 100644 --- a/data/maps/DesertUnderpass/scripts.inc +++ b/data/maps/DesertUnderpass/scripts.inc @@ -6,29 +6,31 @@ DesertUnderpass_OnTransition: @ 823AF3D setflag FLAG_LANDMARK_DESERT_UNDERPASS end -DesertUnderpass_EventScript_23AF41:: @ 823AF41 +DesertUnderpass_EventScript_Fossil:: @ 823AF41 lock faceplayer - goto_if_set FLAG_CHOSE_CLAW_FOSSIL, DesertUnderpass_EventScript_23AF57 - goto_if_set FLAG_CHOSE_ROOT_FOSSIL, DesertUnderpass_EventScript_23AF68 + goto_if_set FLAG_CHOSE_ROOT_FOSSIL, DesertUnderpass_EventScript_GiveClawFossil + goto_if_set FLAG_CHOSE_CLAW_FOSSIL, DesertUnderpass_EventScript_GiveRootFossil release end -DesertUnderpass_EventScript_23AF57:: @ 823AF57 - giveitem_std ITEM_CLAW_FOSSIL +DesertUnderpass_EventScript_GiveClawFossil:: @ 823AF57 + giveitem ITEM_CLAW_FOSSIL removeobject 1 release end -DesertUnderpass_EventScript_23AF68:: @ 823AF68 - giveitem_std ITEM_ROOT_FOSSIL +DesertUnderpass_EventScript_GiveRootFossil:: @ 823AF68 + giveitem ITEM_ROOT_FOSSIL removeobject 1 release end -DesertUnderpass_Text_23AF79:: @ 823AF79 +@ Unused +DesertUnderpass_Text_FoundRootFossil:: @ 823AF79 .string "{PLAYER} found the ROOT FOSSIL.$" -DesertUnderpass_Text_23AF93:: @ 823AF93 +@ Unused +DesertUnderpass_Text_FoundClawFossil:: @ 823AF93 .string "{PLAYER} found the CLAW FOSSIL.$" diff --git a/data/maps/DewfordTown/map.json b/data/maps/DewfordTown/map.json index 32fe0c313b..bfa5a2e8bb 100644 --- a/data/maps/DewfordTown/map.json +++ b/data/maps/DewfordTown/map.json @@ -35,7 +35,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_EventScript_1E95B1", + "script": "DewfordTown_EventScript_Woman", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "3", - "script": "DewfordTown_EventScript_1E9511", + "script": "DewfordTown_EventScript_Briney", "flag": "FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN" }, { @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_EventScript_1E95D5", + "script": "DewfordTown_EventScript_OldRodFisherman", "flag": "0" }, { @@ -87,7 +87,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_EventScript_1E9922", + "script": "DewfordTown_EventScript_TrendyPhraseBoy", "flag": "0" } ], @@ -136,7 +136,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "DewfordTown_EventScript_1E95BA" + "script": "DewfordTown_EventScript_TownSign" }, { "type": "sign", @@ -144,7 +144,7 @@ "y": 16, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "DewfordTown_EventScript_1E95C3" + "script": "DewfordTown_EventScript_GymSign" }, { "type": "sign", @@ -168,7 +168,7 @@ "y": 4, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "DewfordTown_EventScript_1E95CC" + "script": "DewfordTown_EventScript_HallSign" } ] } \ No newline at end of file diff --git a/data/maps/DewfordTown/scripts.inc b/data/maps/DewfordTown/scripts.inc index fa29f4099c..62bd150631 100644 --- a/data/maps/DewfordTown/scripts.inc +++ b/data/maps/DewfordTown/scripts.inc @@ -6,131 +6,131 @@ DewfordTown_OnTransition: @ 81E950D setflag FLAG_VISITED_DEWFORD_TOWN end -DewfordTown_EventScript_1E9511:: @ 81E9511 +DewfordTown_EventScript_Briney:: @ 81E9511 lock faceplayer - goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, DewfordTown_EventScript_1E9585 - message DewfordTown_Text_1E9C8A + goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, DewfordTown_EventScript_ReturnToPetalburgPrompt + message DewfordTown_Text_WhereAreWeBound waitmessage - multichoicedefault 21, 6, 0, 2, 0 + multichoicedefault 21, 6, MULTI_BRINEY_ON_DEWFORD, 2, 0 switch VAR_RESULT - case 0, DewfordTown_EventScript_1E955A - case 1, DewfordTown_EventScript_1E956A - case 2, DewfordTown_EventScript_1E957A - case 127, DewfordTown_EventScript_1E957A + case 0, DewfordTown_EventScript_ChoosePetalburg + case 1, DewfordTown_EventScript_ChooseSlateport + case 2, DewfordTown_EventScript_CancelSailSelect + case MULTI_B_PRESSED, DewfordTown_EventScript_CancelSailSelect end -DewfordTown_EventScript_1E955A:: @ 81E955A - msgbox DewfordTown_Text_1E9CE5, MSGBOX_DEFAULT +DewfordTown_EventScript_ChoosePetalburg:: @ 81E955A + msgbox DewfordTown_Text_PetalburgWereSettingSail, MSGBOX_DEFAULT closemessage - goto DewfordTown_EventScript_1E9660 + goto DewfordTown_EventScript_SailToPetalburg release end -DewfordTown_EventScript_1E956A:: @ 81E956A - msgbox DewfordTown_Text_1E9D3A, MSGBOX_DEFAULT +DewfordTown_EventScript_ChooseSlateport:: @ 81E956A + msgbox DewfordTown_Text_SlateportWereSettingSail, MSGBOX_DEFAULT closemessage - goto DewfordTown_EventScript_1E96E7 + goto DewfordTown_EventScript_SailToSlateport release end -DewfordTown_EventScript_1E957A:: @ 81E957A - msgbox DewfordTown_Text_1E9D8F, MSGBOX_DEFAULT +DewfordTown_EventScript_CancelSailSelect:: @ 81E957A + msgbox DewfordTown_Text_JustTellMeWhenYouNeedToSetSail, MSGBOX_DEFAULT closemessage release end -DewfordTown_EventScript_1E9585:: @ 81E9585 - msgbox DewfordTown_Text_1E9B24, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq DewfordTown_EventScript_1E95A2 - msgbox DewfordTown_Text_1E9BD9, MSGBOX_DEFAULT +DewfordTown_EventScript_ReturnToPetalburgPrompt:: @ 81E9585 + msgbox DewfordTown_Text_SetSailBackToPetalburg, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq DewfordTown_EventScript_SailBackToPetalburg + msgbox DewfordTown_Text_GoDeliverIllBeWaiting, MSGBOX_DEFAULT release end -DewfordTown_EventScript_1E95A2:: @ 81E95A2 - msgbox DewfordTown_Text_1E9B7F, MSGBOX_DEFAULT +DewfordTown_EventScript_SailBackToPetalburg:: @ 81E95A2 + msgbox DewfordTown_Text_PetalburgWereSettingSail2, MSGBOX_DEFAULT closemessage - goto DewfordTown_EventScript_1E9660 + goto DewfordTown_EventScript_SailToPetalburg end -DewfordTown_EventScript_1E95B1:: @ 81E95B1 - msgbox DewfordTown_Text_1E99A8, MSGBOX_NPC +DewfordTown_EventScript_Woman:: @ 81E95B1 + msgbox DewfordTown_Text_TinyIslandCommunity, MSGBOX_NPC end -DewfordTown_EventScript_1E95BA:: @ 81E95BA - msgbox DewfordTown_Text_1E9A0F, MSGBOX_SIGN +DewfordTown_EventScript_TownSign:: @ 81E95BA + msgbox DewfordTown_Text_TownSign, MSGBOX_SIGN end -DewfordTown_EventScript_1E95C3:: @ 81E95C3 - msgbox DewfordTown_Text_1E9A3D, MSGBOX_SIGN +DewfordTown_EventScript_GymSign:: @ 81E95C3 + msgbox DewfordTown_Text_GymSign, MSGBOX_SIGN end -DewfordTown_EventScript_1E95CC:: @ 81E95CC - msgbox DewfordTown_Text_1E9A7F, MSGBOX_SIGN +DewfordTown_EventScript_HallSign:: @ 81E95CC + msgbox DewfordTown_Text_HallSign, MSGBOX_SIGN end -DewfordTown_EventScript_1E95D5:: @ 81E95D5 +DewfordTown_EventScript_OldRodFisherman:: @ 81E95D5 lock faceplayer - goto_if_set FLAG_RECEIVED_OLD_ROD, DewfordTown_EventScript_1E962A - msgbox DewfordTown_Text_1E9DD1, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq DewfordTown_EventScript_1E95FF - compare VAR_RESULT, 0 - goto_if_eq DewfordTown_EventScript_1E9620 + goto_if_set FLAG_RECEIVED_OLD_ROD, DewfordTown_EventScript_HowsFishing + msgbox DewfordTown_Text_GettingItchToFish, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq DewfordTown_EventScript_GiveOldRod + compare VAR_RESULT, NO + goto_if_eq DewfordTown_EventScript_NotGettingItchToFish end -DewfordTown_EventScript_1E95FF:: @ 81E95FF - msgbox DewfordTown_Text_1E9E14, MSGBOX_DEFAULT - giveitem_std ITEM_OLD_ROD +DewfordTown_EventScript_GiveOldRod:: @ 81E95FF + msgbox DewfordTown_Text_GiveYouOneOfMyRods, MSGBOX_DEFAULT + giveitem ITEM_OLD_ROD setflag FLAG_RECEIVED_OLD_ROD - msgbox DewfordTown_Text_1E9E65, MSGBOX_DEFAULT + msgbox DewfordTown_Text_ThrowInFishingAdvice, MSGBOX_DEFAULT release end -DewfordTown_EventScript_1E9620:: @ 81E9620 - msgbox DewfordTown_Text_1E9F92, MSGBOX_DEFAULT +DewfordTown_EventScript_NotGettingItchToFish:: @ 81E9620 + msgbox DewfordTown_Text_ThatsTooBadThen, MSGBOX_DEFAULT release end -DewfordTown_EventScript_1E962A:: @ 81E962A - message DewfordTown_Text_1E9FB8 +DewfordTown_EventScript_HowsFishing:: @ 81E962A + message DewfordTown_Text_HowsYourFishing waitmessage - multichoice 20, 8, 50, 1 + multichoice 20, 8, MULTI_HOWS_FISHING, 1 compare VAR_RESULT, 0 - goto_if_eq DewfordTown_EventScript_1E964C + goto_if_eq DewfordTown_EventScript_FishingExcellent compare VAR_RESULT, 1 - goto_if_eq DewfordTown_EventScript_1E9656 + goto_if_eq DewfordTown_EventScript_FishingNotSoGood end -DewfordTown_EventScript_1E964C:: @ 81E964C - msgbox DewfordTown_Text_1E9FD0, MSGBOX_DEFAULT +DewfordTown_EventScript_FishingExcellent:: @ 81E964C + msgbox DewfordTown_Text_GreatHaulInSomeBigOnes, MSGBOX_DEFAULT release end -DewfordTown_EventScript_1E9656:: @ 81E9656 - msgbox DewfordTown_Text_1EA004, MSGBOX_DEFAULT +DewfordTown_EventScript_FishingNotSoGood:: @ 81E9656 + msgbox DewfordTown_Text_FishingAdvice, MSGBOX_DEFAULT release end -DewfordTown_EventScript_1E9660:: @ 81E9660 - call DewfordTown_EventScript_271E95 +DewfordTown_EventScript_SailToPetalburg:: @ 81E9660 + call EventScript_BackupMrBrineyLocation setobjectpriority 2, MAP_DEWFORD_TOWN, 0 setobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN, 0 - applymovement 2, DewfordTown_Movement_1E991D + applymovement 2, DewfordTown_Movement_BrineyBoardBoat waitmovement 0 removeobject 2 - applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9911 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_PlayerBoardBoat waitmovement 0 hideobjectat EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN - call DewfordTown_EventScript_2720A0 - applymovement 4, DewfordTown_Movement_1E97A2 - applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E97A2 + call Common_EventScript_PlayBrineysBoatMusic + applymovement 4, DewfordTown_Movement_SailToPetalburg + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_SailToPetalburg waitmovement 0 showobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE104 - call DewfordTown_EventScript_2720A8 - applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9914 + call Common_EventScript_StopBrineysBoatMusic + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_ExitBoatPetalburg waitmovement 0 showobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE104 clearflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY @@ -146,36 +146,36 @@ DewfordTown_EventScript_1E9660:: @ 81E9660 release end -DewfordTown_EventScript_1E96E7:: @ 81E96E7 - call DewfordTown_EventScript_271E95 +DewfordTown_EventScript_SailToSlateport:: @ 81E96E7 + call EventScript_BackupMrBrineyLocation setobjectpriority 2, MAP_DEWFORD_TOWN, 0 setobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN, 1 - applymovement 2, DewfordTown_Movement_1E991D + applymovement 2, DewfordTown_Movement_BrineyBoardBoat waitmovement 0 removeobject 2 - applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9911 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_PlayerBoardBoat waitmovement 0 hideobjectat EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN - call DewfordTown_EventScript_2720A0 - applymovement 4, DewfordTown_Movement_1E9865 - applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9865 + call Common_EventScript_PlayBrineysBoatMusic + applymovement 4, DewfordTown_Movement_SailToSlateport + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_SailToSlateport waitmovement 0 - call DewfordTown_EventScript_2720A8 + call Common_EventScript_StopBrineysBoatMusic showobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE109 - applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9918 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_ExitBoatSlateport waitmovement 0 setobjectxyperm 2, 21, 26 addobject 2 setobjectpriority 2, MAP_ROUTE109, 0 - applymovement 2, DewfordTown_Movement_1E991F + applymovement 2, DewfordTown_Movement_BrineyExitBoat waitmovement 0 - clearflag FLAG_HIDE_ROUTE_108_MR_BRINEY + clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY addobject 1 clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN hideobjectat 4, MAP_DEWFORD_TOWN - call_if_unset FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_1E9790 - call_if_set FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_1E9799 + call_if_unset FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_LandedSlateportDeliverGoods + call_if_set FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_LandedSlateport closemessage copyvar VAR_BRINEY_LOCATION, VAR_0x8008 resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN @@ -184,15 +184,15 @@ DewfordTown_EventScript_1E96E7:: @ 81E96E7 release end -DewfordTown_EventScript_1E9790:: @ 81E9790 - msgbox DewfordTown_Text_1EEC1D, MSGBOX_DEFAULT +DewfordTown_EventScript_LandedSlateportDeliverGoods:: @ 81E9790 + msgbox DewfordTown_Text_BrineyLandedInSlateportDeliverGoods, MSGBOX_DEFAULT return -DewfordTown_EventScript_1E9799:: @ 81E9799 - msgbox DewfordTown_Text_1EEDA7, MSGBOX_DEFAULT +DewfordTown_EventScript_LandedSlateport:: @ 81E9799 + msgbox DewfordTown_Text_BrineyLandedInSlateport, MSGBOX_DEFAULT return -DewfordTown_Movement_1E97A2: @ 81E97A2 +DewfordTown_Movement_SailToPetalburg: @ 81E97A2 walk_up walk_up walk_fast_up @@ -389,7 +389,7 @@ DewfordTown_Movement_1E97A2: @ 81E97A2 walk_up step_end -DewfordTown_Movement_1E9865: @ 81E9865 +DewfordTown_Movement_SailToSlateport: @ 81E9865 walk_right walk_fast_right walk_fast_right @@ -563,154 +563,153 @@ DewfordTown_Movement_1E9865: @ 81E9865 walk_fast_up step_end -DewfordTown_Movement_1E9911: @ 81E9911 +DewfordTown_Movement_PlayerBoardBoat: @ 81E9911 walk_right walk_up step_end -DewfordTown_Movement_1E9914: @ 81E9914 +DewfordTown_Movement_ExitBoatPetalburg: @ 81E9914 walk_up walk_up walk_up step_end -DewfordTown_Movement_1E9918: @ 81E9918 +DewfordTown_Movement_ExitBoatSlateport: @ 81E9918 walk_up walk_up walk_up walk_in_place_fastest_down step_end -DewfordTown_Movement_1E991D: @ 81E991D +DewfordTown_Movement_BrineyBoardBoat: @ 81E991D walk_up step_end -DewfordTown_Movement_1E991F: @ 81E991F +DewfordTown_Movement_BrineyExitBoat: @ 81E991F walk_up walk_up step_end -DewfordTown_EventScript_1E9922:: @ 81E9922 +DewfordTown_EventScript_TrendyPhraseBoy:: @ 81E9922 lock faceplayer - call DewfordTown_EventScript_271E8B - msgbox DewfordTown_Text_1EA136, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq DewfordTown_EventScript_1E9948 - compare VAR_RESULT, 0 - goto_if_eq DewfordTown_EventScript_1E9952 + call Common_EventScript_BufferTrendyPhrase + msgbox DewfordTown_Text_XIsTheBiggestHappeningThingRight, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq DewfordTown_EventScript_ConfirmTrendyPhrase + compare VAR_RESULT, NO + goto_if_eq DewfordTown_EventScript_RejectTrendyPhrase end -DewfordTown_EventScript_1E9948:: @ 81E9948 - msgbox DewfordTown_Text_1EA491, MSGBOX_DEFAULT +DewfordTown_EventScript_ConfirmTrendyPhrase:: @ 81E9948 + msgbox DewfordTown_Text_YeahDefinitionOfInRightNow, MSGBOX_DEFAULT release end -DewfordTown_EventScript_1E9952:: @ 81E9952 - msgbox DewfordTown_Text_1EA242, MSGBOX_DEFAULT +DewfordTown_EventScript_RejectTrendyPhrase:: @ 81E9952 + msgbox DewfordTown_Text_TellMeWhatsNewAndIn, MSGBOX_DEFAULT setvar VAR_0x8004, EASY_CHAT_TYPE_TRENDY_PHRASE call Common_ShowEasyChatScreen lock faceplayer compare VAR_RESULT, 1 - goto_if_eq DewfordTown_EventScript_1E997D + goto_if_eq DewfordTown_EventScript_GiveNewTrendyPhrase compare VAR_RESULT, 0 - goto_if_eq DewfordTown_EventScript_1E9994 + goto_if_eq DewfordTown_EventScript_CancelNewTrendyPhrase end -DewfordTown_EventScript_1E997D:: @ 81E997D - incrementgamestat 2 +DewfordTown_EventScript_GiveNewTrendyPhrase:: @ 81E997D + incrementgamestat GAME_STAT_STARTED_TRENDS compare VAR_0x8004, 0 - goto_if_eq DewfordTown_EventScript_1E999E - msgbox DewfordTown_Text_1EA2AA, MSGBOX_DEFAULT + goto_if_eq DewfordTown_EventScript_PhraseNotTrendyEnough + msgbox DewfordTown_Text_OfCourseIKnowAboutThat, MSGBOX_DEFAULT release end -DewfordTown_EventScript_1E9994:: @ 81E9994 - msgbox DewfordTown_Text_1EA443, MSGBOX_DEFAULT +DewfordTown_EventScript_CancelNewTrendyPhrase:: @ 81E9994 + msgbox DewfordTown_Text_HearOfAnyTrendsComeShareWithMe, MSGBOX_DEFAULT release end -DewfordTown_EventScript_1E999E:: @ 81E999E - msgbox DewfordTown_Text_1EA3FE, MSGBOX_DEFAULT +DewfordTown_EventScript_PhraseNotTrendyEnough:: @ 81E999E + msgbox DewfordTown_Text_XHuhIThinkYIsCool, MSGBOX_DEFAULT release end -DewfordTown_Text_1E99A8: @ 81E99A8 +DewfordTown_Text_TinyIslandCommunity: @ 81E99A8 .string "DEWFORD is a tiny island community.\n" .string "If something gets trendy here,\l" .string "everyone picks up on it right away.$" -DewfordTown_Text_1E9A0F: @ 81E9A0F +DewfordTown_Text_TownSign: @ 81E9A0F .string "DEWFORD TOWN\n" .string "“A tiny island in the blue sea.”$" -DewfordTown_Text_1E9A3D: @ 81E9A3D +DewfordTown_Text_GymSign: @ 81E9A3D .string "DEWFORD TOWN POKéMON GYM\n" .string "LEADER: BRAWLY\l" .string "“A big wave in fighting!”$" -DewfordTown_Text_1E9A7F: @ 81E9A7F +DewfordTown_Text_HallSign: @ 81E9A7F .string "DEWFORD HALL\n" .string "“Everyone's information exchange!”$" -Route104_Text_1E9AAF: @ 81E9AAF +Route104_Text_LandedInDewfordDeliverLetter: @ 81E9AAF .string "MR. BRINEY: Ahoy!\n" .string "We've hit land in DEWFORD.\p" .string "I suppose you're off to deliver that\n" .string "LETTER to, who was it now, STEVEN!$" -DewfordTown_Text_1E9B24: @ 81E9B24 +DewfordTown_Text_SetSailBackToPetalburg: @ 81E9B24 .string "MR. BRINEY: Have you delivered your\n" .string "LETTER?\p" .string "Or were you meaning to sail back to\n" .string "PETALBURG?$" -DewfordTown_Text_1E9B7F: @ 81E9B7F +DewfordTown_Text_PetalburgWereSettingSail2: @ 81E9B7F .string "MR. BRINEY: PETALBURG it is, then!\p" .string "Anchors aweigh!\n" .string "PEEKO, we're setting sail, my darling!$" -DewfordTown_Text_1E9BD9: @ 81E9BD9 +DewfordTown_Text_GoDeliverIllBeWaiting: @ 81E9BD9 .string "MR. BRINEY: Then you go on and deliver\n" .string "the LETTER. I'll be waiting.$" -Route104_Text_1E9C1D: @ 81E9C1D -Route109_Text_1E9C1D: @ 81E9C1D +DewfordTown_Text_BrineyLandedInDewford: @ 81E9C1D .string "MR. BRINEY: Ahoy!\n" .string "We've hit land in DEWFORD!\p" .string "You just go on and tell me whenever\n" .string "you want to set sail again!$" -DewfordTown_Text_1E9C8A: @ 81E9C8A +DewfordTown_Text_WhereAreWeBound: @ 81E9C8A .string "MR. BRINEY: Ahoy!\n" .string "For you, I'll go out to sea anytime!\p" .string "Now, my friend, where are we bound?$" -DewfordTown_Text_1E9CE5: @ 81E9CE5 +DewfordTown_Text_PetalburgWereSettingSail: @ 81E9CE5 .string "MR. BRINEY: PETALBURG, is it?\p" .string "Anchors aweigh!\n" .string "PEEKO, we're setting sail, my darling!$" -DewfordTown_Text_1E9D3A: @ 81E9D3A +DewfordTown_Text_SlateportWereSettingSail: @ 81E9D3A .string "MR. BRINEY: SLATEPORT, is it?\p" .string "Anchors aweigh!\n" .string "PEEKO, we're setting sail, my darling!$" -DewfordTown_Text_1E9D8F: @ 81E9D8F +DewfordTown_Text_JustTellMeWhenYouNeedToSetSail: @ 81E9D8F .string "MR. BRINEY: You just tell me whenever\n" .string "you need to set sail again!$" -DewfordTown_Text_1E9DD1: @ 81E9DD1 +DewfordTown_Text_GettingItchToFish: @ 81E9DD1 .string "This is a renowned fishing spot.\n" .string "Are you getting the itch to fish?$" -DewfordTown_Text_1E9E14: @ 81E9E14 +DewfordTown_Text_GiveYouOneOfMyRods: @ 81E9E14 .string "I hear you, and I like what\n" .string "you're saying!\p" .string "I'll give you one of my fishing RODS.$" -DewfordTown_Text_1E9E65: @ 81E9E65 +DewfordTown_Text_ThrowInFishingAdvice: @ 81E9E65 .string "And, as an added bonus, I'll even throw\n" .string "in a little fishing advice!\p" .string "First, you want to face the water,\n" @@ -722,19 +721,19 @@ DewfordTown_Text_1E9E65: @ 81E9E65 .string "you need to time the pulls on your ROD\l" .string "to haul them in.$" -DewfordTown_Text_1E9F92: @ 81E9F92 +DewfordTown_Text_ThatsTooBadThen: @ 81E9F92 .string "Oh, is that so?\n" .string "That's too bad, then.$" -DewfordTown_Text_1E9FB8: @ 81E9FB8 +DewfordTown_Text_HowsYourFishing: @ 81E9FB8 .string "Yo!\n" .string "How's your fishing?$" -DewfordTown_Text_1E9FD0: @ 81E9FD0 +DewfordTown_Text_GreatHaulInSomeBigOnes: @ 81E9FD0 .string "Is that right! That's great!\n" .string "Haul in some big ones!$" -DewfordTown_Text_1EA004: @ 81EA004 +DewfordTown_Text_FishingAdvice: @ 81EA004 .string "Oh, hey, don't get down on yourself!\n" .string "I'll give you a little fishing advice.\p" .string "First, you want to face the water,\n" @@ -746,7 +745,7 @@ DewfordTown_Text_1EA004: @ 81EA004 .string "you need to time the pulls on your ROD\l" .string "to haul them in.$" -DewfordTown_Text_1EA136: @ 81EA136 +DewfordTown_Text_XIsTheBiggestHappeningThingRight: @ 81EA136 .string "I like what's hip, happening, and trendy.\n" .string "I'm always checking it out.\p" .string "Listen, have you heard about this new\n" @@ -760,13 +759,13 @@ DewfordTown_Text_1EA136: @ 81EA136 .string "“{STR_VAR_1}”\l" .string "is the biggest happening thing, right?$" -DewfordTown_Text_1EA242: @ 81EA242 +DewfordTown_Text_TellMeWhatsNewAndIn: @ 81EA242 .string "Hunh?\n" .string "It's not the hip and happening thing?\p" .string "Well, hey, you have to tell me,\n" .string "what's new and what's “in”?$" -DewfordTown_Text_1EA2AA: @ 81EA2AA +DewfordTown_Text_OfCourseIKnowAboutThat: @ 81EA2AA .string "Hunh?\n" .string "“{STR_VAR_2}”?\p" .string "… …\p" @@ -784,18 +783,18 @@ DewfordTown_Text_1EA2AA: @ 81EA2AA .string "Now, “{STR_VAR_2}” is\n" .string "what's vital and in tune with the times!$" -DewfordTown_Text_1EA3FE: @ 81EA3FE +DewfordTown_Text_XHuhIThinkYIsCool: @ 81EA3FE .string "Hmm…\n" .string "“{STR_VAR_2},” huh?\p" .string "But personally, I think\n" .string "“{STR_VAR_1}”\l" .string "is what's real in cool.$" -DewfordTown_Text_1EA443: @ 81EA443 +DewfordTown_Text_HearOfAnyTrendsComeShareWithMe: @ 81EA443 .string "Well, if you hear of any happening new\n" .string "trends, come share them with me, okay?$" -DewfordTown_Text_1EA491: @ 81EA491 +DewfordTown_Text_YeahDefinitionOfInRightNow: @ 81EA491 .string "Yeah, absolutely right!\p" .string "“{STR_VAR_1}” is the\n" .string "definition of “in” right now.$" diff --git a/data/maps/DewfordTown_Gym/map.json b/data/maps/DewfordTown_Gym/map.json index cf87f878ae..35ba61064b 100644 --- a/data/maps/DewfordTown_Gym/map.json +++ b/data/maps/DewfordTown_Gym/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_Gym_EventScript_1FC7C2", + "script": "DewfordTown_Gym_EventScript_Brawly", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "DewfordTown_Gym_EventScript_1FC8B7", + "script": "DewfordTown_Gym_EventScript_Takao", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "DewfordTown_Gym_EventScript_1FC8D9", + "script": "DewfordTown_Gym_EventScript_Jocelyn", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "DewfordTown_Gym_EventScript_1FC8FB", + "script": "DewfordTown_Gym_EventScript_Laura", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_Gym_EventScript_1FC983", + "script": "DewfordTown_Gym_EventScript_GymGuide", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "DewfordTown_Gym_EventScript_1FC93F", + "script": "DewfordTown_Gym_EventScript_Cristian", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "DewfordTown_Gym_EventScript_1FC961", + "script": "DewfordTown_Gym_EventScript_Lilith", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "DewfordTown_Gym_EventScript_1FC91D", + "script": "DewfordTown_Gym_EventScript_Brenden", "flag": "0" } ], @@ -143,7 +143,7 @@ "y": 23, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "DewfordTown_Gym_EventScript_1FC9A2" + "script": "DewfordTown_Gym_EventScript_LeftGymStatue" }, { "type": "sign", @@ -151,7 +151,7 @@ "y": 23, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "DewfordTown_Gym_EventScript_1FC9B2" + "script": "DewfordTown_Gym_EventScript_RightGymStatue" }, { "type": "sign", @@ -159,7 +159,7 @@ "y": 24, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "DewfordTown_Gym_EventScript_1FC9A2" + "script": "DewfordTown_Gym_EventScript_LeftGymStatue" }, { "type": "sign", @@ -167,7 +167,7 @@ "y": 24, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "DewfordTown_Gym_EventScript_1FC9B2" + "script": "DewfordTown_Gym_EventScript_RightGymStatue" } ] } \ No newline at end of file diff --git a/data/maps/DewfordTown_Gym/scripts.inc b/data/maps/DewfordTown_Gym/scripts.inc index 5601c7477c..98acc97dc6 100644 --- a/data/maps/DewfordTown_Gym/scripts.inc +++ b/data/maps/DewfordTown_Gym/scripts.inc @@ -3,186 +3,174 @@ DewfordTown_Gym_MapScripts:: @ 81FC63C .byte 0 DewfordTown_Gym_OnTransition: @ 81FC642 - call DewfordTown_Gym_EventScript_1FC648 + call DewfordTown_Gym_EventScript_SetFlashRadius end -DewfordTown_Gym_EventScript_1FC648:: @ 81FC648 - checktrainerflag TRAINER_BRAWLY_1 - goto_if_eq DewfordTown_Gym_EventScript_1FC6A2 - call DewfordTown_Gym_EventScript_1FC768 +DewfordTown_Gym_EventScript_SetFlashRadius:: @ 81FC648 + goto_if_defeated TRAINER_BRAWLY_1, DewfordTown_Gym_EventScript_SetLightsOn + call DewfordTown_Gym_EventScript_CountTrainersDefeated copyvar VAR_0x8001, VAR_0x8000 compare VAR_0x8000, 0 - goto_if_eq DewfordTown_Gym_EventScript_1FC6BE + goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius7 compare VAR_0x8000, 1 - goto_if_eq DewfordTown_Gym_EventScript_1FC6BA + goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius6 compare VAR_0x8000, 2 - goto_if_eq DewfordTown_Gym_EventScript_1FC6B6 + goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius5 compare VAR_0x8000, 3 - goto_if_eq DewfordTown_Gym_EventScript_1FC6B2 + goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius4 compare VAR_0x8000, 4 - goto_if_eq DewfordTown_Gym_EventScript_1FC6AE + goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius3 compare VAR_0x8000, 5 - goto_if_eq DewfordTown_Gym_EventScript_1FC6AA - goto DewfordTown_Gym_EventScript_1FC6A6 + goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius2 + goto DewfordTown_Gym_EventScript_SetFlashRadius1 -DewfordTown_Gym_EventScript_1FC6A2:: @ 81FC6A2 +DewfordTown_Gym_EventScript_SetLightsOn:: @ 81FC6A2 setflashradius 0 return -DewfordTown_Gym_EventScript_1FC6A6:: @ 81FC6A6 +DewfordTown_Gym_EventScript_SetFlashRadius1:: @ 81FC6A6 setflashradius 1 return -DewfordTown_Gym_EventScript_1FC6AA:: @ 81FC6AA +DewfordTown_Gym_EventScript_SetFlashRadius2:: @ 81FC6AA setflashradius 2 return -DewfordTown_Gym_EventScript_1FC6AE:: @ 81FC6AE +DewfordTown_Gym_EventScript_SetFlashRadius3:: @ 81FC6AE setflashradius 3 return -DewfordTown_Gym_EventScript_1FC6B2:: @ 81FC6B2 +DewfordTown_Gym_EventScript_SetFlashRadius4:: @ 81FC6B2 setflashradius 4 return -DewfordTown_Gym_EventScript_1FC6B6:: @ 81FC6B6 +DewfordTown_Gym_EventScript_SetFlashRadius5:: @ 81FC6B6 setflashradius 5 return -DewfordTown_Gym_EventScript_1FC6BA:: @ 81FC6BA +DewfordTown_Gym_EventScript_SetFlashRadius6:: @ 81FC6BA setflashradius 6 return -DewfordTown_Gym_EventScript_1FC6BE:: @ 81FC6BE +DewfordTown_Gym_EventScript_SetFlashRadius7:: @ 81FC6BE setflashradius 7 return -DewfordTown_Gym_EventScript_1FC6C2:: @ 81FC6C2 - call DewfordTown_Gym_EventScript_1FC768 +DewfordTown_Gym_EventScript_BrightenRoom:: @ 81FC6C2 + call DewfordTown_Gym_EventScript_CountTrainersDefeated nop1 compare VAR_0x8000, VAR_0x8001 - goto_if_eq DewfordTown_Gym_EventScript_1FC71A + goto_if_eq DewfordTown_Gym_EventScript_NoLightChange copyvar VAR_0x8001, VAR_0x8000 compare VAR_0x8000, 1 - goto_if_eq DewfordTown_Gym_EventScript_1FC71B + goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash1Trainer compare VAR_0x8000, 2 - goto_if_eq DewfordTown_Gym_EventScript_1FC726 + goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash2Trainers compare VAR_0x8000, 3 - goto_if_eq DewfordTown_Gym_EventScript_1FC731 + goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash3Trainers compare VAR_0x8000, 4 - goto_if_eq DewfordTown_Gym_EventScript_1FC73C + goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash4Trainers compare VAR_0x8000, 5 - goto_if_eq DewfordTown_Gym_EventScript_1FC747 + goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash5Trainers compare VAR_0x8000, 6 - goto_if_eq DewfordTown_Gym_EventScript_1FC752 + goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash6Trainers -DewfordTown_Gym_EventScript_1FC71A:: @ 81FC71A +DewfordTown_Gym_EventScript_NoLightChange:: @ 81FC71A return -DewfordTown_Gym_EventScript_1FC71B:: @ 81FC71B +@ NOTE: A little confusingly, a larger animateflash param value is a smaller flash radius +DewfordTown_Gym_EventScript_AnimateFlash1Trainer:: @ 81FC71B playse SE_MU_PACHI animateflash 6 - call DewfordTown_Gym_EventScript_1FC648 + call DewfordTown_Gym_EventScript_SetFlashRadius return -DewfordTown_Gym_EventScript_1FC726:: @ 81FC726 +DewfordTown_Gym_EventScript_AnimateFlash2Trainers:: @ 81FC726 playse SE_MU_PACHI animateflash 5 - call DewfordTown_Gym_EventScript_1FC648 + call DewfordTown_Gym_EventScript_SetFlashRadius return -DewfordTown_Gym_EventScript_1FC731:: @ 81FC731 +DewfordTown_Gym_EventScript_AnimateFlash3Trainers:: @ 81FC731 playse SE_MU_PACHI animateflash 4 - call DewfordTown_Gym_EventScript_1FC648 + call DewfordTown_Gym_EventScript_SetFlashRadius return -DewfordTown_Gym_EventScript_1FC73C:: @ 81FC73C +DewfordTown_Gym_EventScript_AnimateFlash4Trainers:: @ 81FC73C playse SE_MU_PACHI animateflash 3 - call DewfordTown_Gym_EventScript_1FC648 + call DewfordTown_Gym_EventScript_SetFlashRadius return -DewfordTown_Gym_EventScript_1FC747:: @ 81FC747 +DewfordTown_Gym_EventScript_AnimateFlash5Trainers:: @ 81FC747 playse SE_MU_PACHI animateflash 2 - call DewfordTown_Gym_EventScript_1FC648 + call DewfordTown_Gym_EventScript_SetFlashRadius return -DewfordTown_Gym_EventScript_1FC752:: @ 81FC752 +DewfordTown_Gym_EventScript_AnimateFlash6Trainers:: @ 81FC752 playse SE_MU_PACHI animateflash 1 - call DewfordTown_Gym_EventScript_1FC648 + call DewfordTown_Gym_EventScript_SetFlashRadius return -DewfordTown_Gym_EventScript_1FC75D:: @ 81FC75D +DewfordTown_Gym_EventScript_AnimateFlashFullBrightness:: @ 81FC75D playse SE_MU_PACHI animateflash 0 - call DewfordTown_Gym_EventScript_1FC648 + call DewfordTown_Gym_EventScript_SetFlashRadius return -DewfordTown_Gym_EventScript_1FC768:: @ 81FC768 +DewfordTown_Gym_EventScript_CountTrainersDefeated:: @ 81FC768 setvar VAR_0x8000, 0 - checktrainerflag TRAINER_TAKAO - goto_if_lt DewfordTown_Gym_EventScript_1FC77B + goto_if_not_defeated TRAINER_TAKAO, DewfordTown_Gym_EventScript_CheckJocelyn addvar VAR_0x8000, 1 - -DewfordTown_Gym_EventScript_1FC77B:: @ 81FC77B - checktrainerflag TRAINER_JOCELYN - goto_if_lt DewfordTown_Gym_EventScript_1FC789 +DewfordTown_Gym_EventScript_CheckJocelyn:: @ 81FC77B + goto_if_not_defeated TRAINER_JOCELYN, DewfordTown_Gym_EventScript_CheckLaura addvar VAR_0x8000, 1 - -DewfordTown_Gym_EventScript_1FC789:: @ 81FC789 - checktrainerflag TRAINER_LAURA - goto_if_lt DewfordTown_Gym_EventScript_1FC797 +DewfordTown_Gym_EventScript_CheckLaura:: @ 81FC789 + goto_if_not_defeated TRAINER_LAURA, DewfordTown_Gym_EventScript_CheckBrenden addvar VAR_0x8000, 1 - -DewfordTown_Gym_EventScript_1FC797:: @ 81FC797 - checktrainerflag TRAINER_BRENDEN - goto_if_lt DewfordTown_Gym_EventScript_1FC7A5 +DewfordTown_Gym_EventScript_CheckBrenden:: @ 81FC797 + goto_if_not_defeated TRAINER_BRENDEN, DewfordTown_Gym_EventScript_CheckCristian addvar VAR_0x8000, 1 - -DewfordTown_Gym_EventScript_1FC7A5:: @ 81FC7A5 - checktrainerflag TRAINER_CRISTIAN - goto_if_lt DewfordTown_Gym_EventScript_1FC7B3 +DewfordTown_Gym_EventScript_CheckCristian:: @ 81FC7A5 + goto_if_not_defeated TRAINER_CRISTIAN, DewfordTown_Gym_EventScript_CheckLilith addvar VAR_0x8000, 1 - -DewfordTown_Gym_EventScript_1FC7B3:: @ 81FC7B3 - checktrainerflag TRAINER_LILITH - goto_if_lt DewfordTown_Gym_EventScript_1FC7C1 +DewfordTown_Gym_EventScript_CheckLilith:: @ 81FC7B3 + goto_if_not_defeated TRAINER_LILITH, DewfordTown_Gym_EventScript_StopCountingTrainers addvar VAR_0x8000, 1 - -DewfordTown_Gym_EventScript_1FC7C1:: @ 81FC7C1 +DewfordTown_Gym_EventScript_StopCountingTrainers:: @ 81FC7C1 return -DewfordTown_Gym_EventScript_1FC7C2:: @ 81FC7C2 - trainerbattle_single TRAINER_BRAWLY_1, DewfordTown_Gym_Text_1FCF44, DewfordTown_Gym_Text_1FD008, DewfordTown_Gym_EventScript_1FC7F7, NO_MUSIC +DewfordTown_Gym_EventScript_Brawly:: @ 81FC7C2 + trainerbattle_single TRAINER_BRAWLY_1, DewfordTown_Gym_Text_BrawlyIntro, DewfordTown_Gym_Text_BrawlyDefeat, DewfordTown_Gym_EventScript_BrawlyDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq DewfordTown_Gym_EventScript_1FC89C - goto_if_unset FLAG_RECEIVED_TM08, DewfordTown_Gym_EventScript_1FC878 - msgbox DewfordTown_Gym_Text_1FD20D, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq DewfordTown_Gym_EventScript_BrawlyRematch + goto_if_unset FLAG_RECEIVED_TM08, DewfordTown_Gym_EventScript_GiveBulkUp2 + msgbox DewfordTown_Gym_Text_BrawlyPostBattle, MSGBOX_DEFAULT release end -DewfordTown_Gym_EventScript_1FC7F7:: @ 81FC7F7 - call DewfordTown_Gym_EventScript_1FC75D - message DewfordTown_Gym_Text_1FD07D +DewfordTown_Gym_EventScript_BrawlyDefeated:: @ 81FC7F7 + call DewfordTown_Gym_EventScript_AnimateFlashFullBrightness + message DewfordTown_Gym_Text_ReceivedKnuckleBadge waitmessage call Common_EventScript_PlayGymBadgeFanfare - msgbox DewfordTown_Gym_Text_1FD0A8, MSGBOX_DEFAULT + msgbox DewfordTown_Gym_Text_KnuckleBadgeInfoTakeThis, MSGBOX_DEFAULT setflag FLAG_DEFEATED_DEWFORD_GYM setflag FLAG_BADGE02_GET addvar VAR_PETALBURG_GYM_STATE, 1 compare VAR_PETALBURG_GYM_STATE, 6 - call_if_eq DewfordTown_Gym_EventScript_271E84 + call_if_eq Common_EventScript_ReadyPetalburgGymForBattle setvar VAR_0x8008, 2 - call DewfordTown_Gym_EventScript_271F43 - call DewfordTown_Gym_EventScript_1FC855 + call Common_EventScript_SetGymTrainers + call DewfordTown_Gym_EventScript_GiveBulkUp closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox DewfordTown_Gym_Text_1FD1E0, MSGBOX_DEFAULT + msgbox DewfordTown_Gym_Text_RegisteredBrawly, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -192,124 +180,124 @@ DewfordTown_Gym_EventScript_1FC7F7:: @ 81FC7F7 release end -DewfordTown_Gym_EventScript_1FC855:: @ 81FC855 - giveitem_std ITEM_TM08 +DewfordTown_Gym_EventScript_GiveBulkUp:: @ 81FC855 + giveitem ITEM_TM08 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_BagIsFull - msgbox DewfordTown_Gym_Text_1FD181, MSGBOX_DEFAULT + msgbox DewfordTown_Gym_Text_ExplainBulkUp, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM08 return -DewfordTown_Gym_EventScript_1FC878:: @ 81FC878 - giveitem_std ITEM_TM08 +DewfordTown_Gym_EventScript_GiveBulkUp2: @ 81FC878 + giveitem ITEM_TM08 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull - msgbox DewfordTown_Gym_Text_1FD181, MSGBOX_DEFAULT + msgbox DewfordTown_Gym_Text_ExplainBulkUp, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM08 release end -DewfordTown_Gym_EventScript_1FC89C:: @ 81FC89C - trainerbattle_rematch_double TRAINER_BRAWLY_1, DewfordTown_Gym_Text_1FD2C4, DewfordTown_Gym_Text_1FD367, DewfordTown_Gym_Text_1FD3DE - msgbox DewfordTown_Gym_Text_1FD37B, MSGBOX_AUTOCLOSE +DewfordTown_Gym_EventScript_BrawlyRematch:: @ 81FC89C + trainerbattle_rematch_double TRAINER_BRAWLY_1, DewfordTown_Gym_Text_BrawlyPreRematch, DewfordTown_Gym_Text_BrawlyRematchDefeat, DewfordTown_Gym_Text_BrawlyRematchNeedTwoMons + msgbox DewfordTown_Gym_Text_BrawlyPostRematch, MSGBOX_AUTOCLOSE end -DewfordTown_Gym_EventScript_1FC8B7:: @ 81FC8B7 - trainerbattle_single TRAINER_TAKAO, DewfordTown_Gym_Text_1FCB9F, DewfordTown_Gym_Text_1FCBB8, DewfordTown_Gym_EventScript_1FC8D2 - msgbox DewfordTown_Gym_Text_1FCBCA, MSGBOX_AUTOCLOSE +DewfordTown_Gym_EventScript_Takao:: @ 81FC8B7 + trainerbattle_single TRAINER_TAKAO, DewfordTown_Gym_Text_TakaoIntro, DewfordTown_Gym_Text_TakaoDefeat, DewfordTown_Gym_EventScript_TakaoBrightenRoom + msgbox DewfordTown_Gym_Text_TakaoPostBattle, MSGBOX_AUTOCLOSE end -DewfordTown_Gym_EventScript_1FC8D2:: @ 81FC8D2 - call DewfordTown_Gym_EventScript_1FC6C2 +DewfordTown_Gym_EventScript_TakaoBrightenRoom:: @ 81FC8D2 + call DewfordTown_Gym_EventScript_BrightenRoom release end -DewfordTown_Gym_EventScript_1FC8D9:: @ 81FC8D9 - trainerbattle_single TRAINER_JOCELYN, DewfordTown_Gym_Text_1FCC0A, DewfordTown_Gym_Text_1FCC45, DewfordTown_Gym_EventScript_1FC8F4 - msgbox DewfordTown_Gym_Text_1FCC6B, MSGBOX_AUTOCLOSE +DewfordTown_Gym_EventScript_Jocelyn:: @ 81FC8D9 + trainerbattle_single TRAINER_JOCELYN, DewfordTown_Gym_Text_JocelynIntro, DewfordTown_Gym_Text_JocelynDefeat, DewfordTown_Gym_EventScript_JocelynBrightenRoom + msgbox DewfordTown_Gym_Text_JocelynPostBattle, MSGBOX_AUTOCLOSE end -DewfordTown_Gym_EventScript_1FC8F4:: @ 81FC8F4 - call DewfordTown_Gym_EventScript_1FC6C2 +DewfordTown_Gym_EventScript_JocelynBrightenRoom:: @ 81FC8F4 + call DewfordTown_Gym_EventScript_BrightenRoom release end -DewfordTown_Gym_EventScript_1FC8FB:: @ 81FC8FB - trainerbattle_single TRAINER_LAURA, DewfordTown_Gym_Text_1FCD01, DewfordTown_Gym_Text_1FCD3C, DewfordTown_Gym_EventScript_1FC916 - msgbox DewfordTown_Gym_Text_1FCD4F, MSGBOX_AUTOCLOSE +DewfordTown_Gym_EventScript_Laura:: @ 81FC8FB + trainerbattle_single TRAINER_LAURA, DewfordTown_Gym_Text_LauraIntro, DewfordTown_Gym_Text_LauraDefeat, DewfordTown_Gym_EventScript_LauraBrightenRoom + msgbox DewfordTown_Gym_Text_LauraPostBattle, MSGBOX_AUTOCLOSE end -DewfordTown_Gym_EventScript_1FC916:: @ 81FC916 - call DewfordTown_Gym_EventScript_1FC6C2 +DewfordTown_Gym_EventScript_LauraBrightenRoom:: @ 81FC916 + call DewfordTown_Gym_EventScript_BrightenRoom release end -DewfordTown_Gym_EventScript_1FC91D:: @ 81FC91D - trainerbattle_single TRAINER_BRENDEN, DewfordTown_Gym_Text_1FCE48, DewfordTown_Gym_Text_1FCE75, DewfordTown_Gym_EventScript_1FC938 - msgbox DewfordTown_Gym_Text_1FCEAB, MSGBOX_AUTOCLOSE +DewfordTown_Gym_EventScript_Brenden:: @ 81FC91D + trainerbattle_single TRAINER_BRENDEN, DewfordTown_Gym_Text_BrendenIntro, DewfordTown_Gym_Text_BrendenDefeat, DewfordTown_Gym_EventScript_BrendenBrightenRoom + msgbox DewfordTown_Gym_Text_BrendenPostBattle, MSGBOX_AUTOCLOSE end -DewfordTown_Gym_EventScript_1FC938:: @ 81FC938 - call DewfordTown_Gym_EventScript_1FC6C2 +DewfordTown_Gym_EventScript_BrendenBrightenRoom:: @ 81FC938 + call DewfordTown_Gym_EventScript_BrightenRoom release end -DewfordTown_Gym_EventScript_1FC93F:: @ 81FC93F - trainerbattle_single TRAINER_CRISTIAN, DewfordTown_Gym_Text_1FCEDC, DewfordTown_Gym_Text_1FCF0A, DewfordTown_Gym_EventScript_1FC95A - msgbox DewfordTown_Gym_Text_1FCF26, MSGBOX_AUTOCLOSE +DewfordTown_Gym_EventScript_Cristian:: @ 81FC93F + trainerbattle_single TRAINER_CRISTIAN, DewfordTown_Gym_Text_CristianIntro, DewfordTown_Gym_Text_CristianDefeat, DewfordTown_Gym_EventScript_CristianBrightenRoom + msgbox DewfordTown_Gym_Text_CristianPostBattle, MSGBOX_AUTOCLOSE end -DewfordTown_Gym_EventScript_1FC95A:: @ 81FC95A - call DewfordTown_Gym_EventScript_1FC6C2 +DewfordTown_Gym_EventScript_CristianBrightenRoom:: @ 81FC95A + call DewfordTown_Gym_EventScript_BrightenRoom release end -DewfordTown_Gym_EventScript_1FC961:: @ 81FC961 - trainerbattle_single TRAINER_LILITH, DewfordTown_Gym_Text_1FCDB8, DewfordTown_Gym_Text_1FCDE5, DewfordTown_Gym_EventScript_1FC97C - msgbox DewfordTown_Gym_Text_1FCE08, MSGBOX_AUTOCLOSE +DewfordTown_Gym_EventScript_Lilith:: @ 81FC961 + trainerbattle_single TRAINER_LILITH, DewfordTown_Gym_Text_LilithIntro, DewfordTown_Gym_Text_LilithDefeat, DewfordTown_Gym_EventScript_LilithBrightenRoom + msgbox DewfordTown_Gym_Text_LilithPostBattle, MSGBOX_AUTOCLOSE end -DewfordTown_Gym_EventScript_1FC97C:: @ 81FC97C - call DewfordTown_Gym_EventScript_1FC6C2 +DewfordTown_Gym_EventScript_LilithBrightenRoom:: @ 81FC97C + call DewfordTown_Gym_EventScript_BrightenRoom release end -DewfordTown_Gym_EventScript_1FC983:: @ 81FC983 +DewfordTown_Gym_EventScript_GymGuide:: @ 81FC983 lock faceplayer - goto_if_set FLAG_DEFEATED_DEWFORD_GYM, DewfordTown_Gym_EventScript_1FC998 - msgbox DewfordTown_Gym_Text_1FC9D6, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_DEWFORD_GYM, DewfordTown_Gym_EventScript_GymGuidePostVictory + msgbox DewfordTown_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT release end -DewfordTown_Gym_EventScript_1FC998:: @ 81FC998 - msgbox DewfordTown_Gym_Text_1FCB5C, MSGBOX_DEFAULT +DewfordTown_Gym_EventScript_GymGuidePostVictory:: @ 81FC998 + msgbox DewfordTown_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT release end -DewfordTown_Gym_EventScript_1FC9A2:: @ 81FC9A2 +DewfordTown_Gym_EventScript_LeftGymStatue:: @ 81FC9A2 lockall - goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_1FC9C2 - goto DewfordTown_Gym_EventScript_1FC9CC + goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_GymStatueCertified + goto DewfordTown_Gym_EventScript_GymStatue end -DewfordTown_Gym_EventScript_1FC9B2:: @ 81FC9B2 +DewfordTown_Gym_EventScript_RightGymStatue:: @ 81FC9B2 lockall - goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_1FC9C2 - goto DewfordTown_Gym_EventScript_1FC9CC + goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_GymStatueCertified + goto DewfordTown_Gym_EventScript_GymStatue end -DewfordTown_Gym_EventScript_1FC9C2:: @ 81FC9C2 - msgbox DewfordTown_Gym_Text_1FD28B, MSGBOX_DEFAULT +DewfordTown_Gym_EventScript_GymStatueCertified:: @ 81FC9C2 + msgbox DewfordTown_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT releaseall end -DewfordTown_Gym_EventScript_1FC9CC:: @ 81FC9CC - msgbox DewfordTown_Gym_Text_1FD272, MSGBOX_DEFAULT +DewfordTown_Gym_EventScript_GymStatue:: @ 81FC9CC + msgbox DewfordTown_Gym_Text_GymStatue, MSGBOX_DEFAULT releaseall end -DewfordTown_Gym_Text_1FC9D6: @ 81FC9D6 +DewfordTown_Gym_Text_GymGuideAdvice: @ 81FC9D6 .string "Hey, how's it going, CHAMPION-\n" .string "bound {PLAYER}?\p" .string "DEWFORD's GYM LEADER BRAWLY commands\n" @@ -325,88 +313,88 @@ DewfordTown_Gym_Text_1FC9D6: @ 81FC9D6 .string "the TRAINERS in your way.\p" .string "Hey, okay, go for it!$" -DewfordTown_Gym_Text_1FCB5C: @ 81FCB5C +DewfordTown_Gym_Text_GymGuidePostVictory: @ 81FCB5C .string "Whoah! It's turned too bright in here!\p" .string "Your future is bright, too!$" -DewfordTown_Gym_Text_1FCB9F: @ 81FCB9F +DewfordTown_Gym_Text_TakaoIntro: @ 81FCB9F .string "Might is right!\n" .string "Come on!$" -DewfordTown_Gym_Text_1FCBB8: @ 81FCBB8 +DewfordTown_Gym_Text_TakaoDefeat: @ 81FCBB8 .string "Not enough power…$" -DewfordTown_Gym_Text_1FCBCA: @ 81FCBCA +DewfordTown_Gym_Text_TakaoPostBattle: @ 81FCBCA .string "Your skill overcame my strength!\n" .string "Your technique is commendable!$" -DewfordTown_Gym_Text_1FCC0A: @ 81FCC0A +DewfordTown_Gym_Text_JocelynIntro: @ 81FCC0A .string "There's no need for BRAWLY to be\n" .string "involved!\p" .string "I'll crush you!$" -DewfordTown_Gym_Text_1FCC45: @ 81FCC45 +DewfordTown_Gym_Text_JocelynDefeat: @ 81FCC45 .string "But… How?\n" .string "How could I lose so easily?$" -DewfordTown_Gym_Text_1FCC6B: @ 81FCC6B +DewfordTown_Gym_Text_JocelynPostBattle: @ 81FCC6B .string "I'm not going to waste this loss.\n" .string "I'll use it to motivate me to train!\p" .string "One day I'll become a GYM LEADER…\p" .string "No, I'll become the POKéMON LEAGUE\n" .string "CHAMPION!$" -DewfordTown_Gym_Text_1FCD01: @ 81FCD01 +DewfordTown_Gym_Text_LauraIntro: @ 81FCD01 .string "Don't you dare brush me off!\n" .string "It's not my fault if you cry!$" -DewfordTown_Gym_Text_1FCD3C: @ 81FCD3C +DewfordTown_Gym_Text_LauraDefeat: @ 81FCD3C .string "Waaaaaaah!\n" .string "I lost!$" -DewfordTown_Gym_Text_1FCD4F: @ 81FCD4F +DewfordTown_Gym_Text_LauraPostBattle: @ 81FCD4F .string "I battle in the dark to make my heart\n" .string "stronger.\p" .string "But because it's so dark, I can never\n" .string "see BRAWLY's face…$" -DewfordTown_Gym_Text_1FCDB8: @ 81FCDB8 +DewfordTown_Gym_Text_LilithIntro: @ 81FCDB8 .string "Ufufu…\n" .string "Are you stumbling around in the dark?$" -DewfordTown_Gym_Text_1FCDE5: @ 81FCDE5 +DewfordTown_Gym_Text_LilithDefeat: @ 81FCDE5 .string "Oh, you…\n" .string "I don't want to know you!$" -DewfordTown_Gym_Text_1FCE08: @ 81FCE08 +DewfordTown_Gym_Text_LilithPostBattle: @ 81FCE08 .string "You deserve to stay lost and end up\n" .string "back at the entrance again!$" -DewfordTown_Gym_Text_1FCE48: @ 81FCE48 +DewfordTown_Gym_Text_BrendenIntro: @ 81FCE48 .string "I'll show you the gumption of\n" .string "a sailing man!$" -DewfordTown_Gym_Text_1FCE75: @ 81FCE75 +DewfordTown_Gym_Text_BrendenDefeat: @ 81FCE75 .string "How'd this happen?\n" .string "It's not like me to lose this way!$" -DewfordTown_Gym_Text_1FCEAB: @ 81FCEAB +DewfordTown_Gym_Text_BrendenPostBattle: @ 81FCEAB .string "Oh, aye! You're worthy of seeing\n" .string "our GYM LEADER.$" -DewfordTown_Gym_Text_1FCEDC: @ 81FCEDC +DewfordTown_Gym_Text_CristianIntro: @ 81FCEDC .string "If you mean to pass, it has to be\n" .string "through me!$" -DewfordTown_Gym_Text_1FCF0A: @ 81FCF0A +DewfordTown_Gym_Text_CristianDefeat: @ 81FCF0A .string "Grrrrr!\n" .string "Vastly overpowered!$" -DewfordTown_Gym_Text_1FCF26: @ 81FCF26 +DewfordTown_Gym_Text_CristianPostBattle: @ 81FCF26 .string "You win!\n" .string "Go after that BADGE!$" -DewfordTown_Gym_Text_1FCF44: @ 81FCF44 +DewfordTown_Gym_Text_BrawlyIntro: @ 81FCF44 .string "I'm BRAWLY!\n" .string "DEWFORD's GYM LEADER!\p" .string "I've been churned in the rough waves\n" @@ -415,18 +403,18 @@ DewfordTown_Gym_Text_1FCF44: @ 81FCF44 .string "So you wanted to challenge me?\n" .string "Let me see what you're made of!$" -DewfordTown_Gym_Text_1FD008: @ 81FD008 +DewfordTown_Gym_Text_BrawlyDefeat: @ 81FD008 .string "Whoah, wow! You made a much bigger\n" .string "splash than I expected!\p" .string "You swamped me!\p" .string "Okay, you've got me.\n" .string "Take this GYM BADGE!$" -DewfordTown_Gym_Text_1FD07D: @ 81FD07D +DewfordTown_Gym_Text_ReceivedKnuckleBadge: @ 81FD07D .string "{PLAYER} received the KNUCKLE BADGE\n" .string "from BRAWLY.$" -DewfordTown_Gym_Text_1FD0A8: @ 81FD0A8 +DewfordTown_Gym_Text_KnuckleBadgeInfoTakeThis: @ 81FD0A8 .string "The KNUCKLE BADGE makes all POKéMON\n" .string "up to Level 30, even those you get in\l" .string "trades, obey without question.\p" @@ -435,30 +423,30 @@ DewfordTown_Gym_Text_1FD0A8: @ 81FD0A8 .string "If you'd like, use this TECHNICAL\n" .string "MACHINE, too.$" -DewfordTown_Gym_Text_1FD181: @ 81FD181 +DewfordTown_Gym_Text_ExplainBulkUp: @ 81FD181 .string "That TM08 contains BULK UP.\p" .string "It's a move that raises both ATTACK\n" .string "and DEFENSE stats.\p" .string "… … … … … …$" -DewfordTown_Gym_Text_1FD1E0: @ 81FD1E0 +DewfordTown_Gym_Text_RegisteredBrawly: @ 81FD1E0 .string "Registered GYM LEADER BRAWLY\n" .string "in the POKéNAV.$" -DewfordTown_Gym_Text_1FD20D: @ 81FD20D +DewfordTown_Gym_Text_BrawlyPostBattle: @ 81FD20D .string "I can see your talent becoming a giant\n" .string "wave to cause a storm of astonishment\l" .string "among TRAINERS one day!$" -DewfordTown_Gym_Text_1FD272: @ 81FD272 +DewfordTown_Gym_Text_GymStatue: @ 81FD272 .string "DEWFORD TOWN POKéMON GYM$" -DewfordTown_Gym_Text_1FD28B: @ 81FD28B +DewfordTown_Gym_Text_GymStatueCertified: @ 81FD28B .string "DEWFORD TOWN POKéMON GYM\p" .string "BRAWLY'S CERTIFIED TRAINERS:\n" .string "{PLAYER}$" -DewfordTown_Gym_Text_1FD2C4: @ 81FD2C4 +DewfordTown_Gym_Text_BrawlyPreRematch: @ 81FD2C4 .string "BRAWLY: A wave may draw back, but it\n" .string "always returns to the shore.\p" .string "A giant wave of a talent like you…\n" @@ -466,16 +454,16 @@ DewfordTown_Gym_Text_1FD2C4: @ 81FD2C4 .string "Show me how much higher\n" .string "you've gone!$" -DewfordTown_Gym_Text_1FD367: @ 81FD367 +DewfordTown_Gym_Text_BrawlyRematchDefeat: @ 81FD367 .string "Wow!\n" .string "Swamped again!$" -DewfordTown_Gym_Text_1FD37B: @ 81FD37B +DewfordTown_Gym_Text_BrawlyPostRematch: @ 81FD37B .string "BRAWLY: Battling is vast and it's deep.\n" .string "You can't see the bottom.\l" .string "It's just like the sea of HOENN!$" -DewfordTown_Gym_Text_1FD3DE: @ 81FD3DE +DewfordTown_Gym_Text_BrawlyRematchNeedTwoMons: @ 81FD3DE .string "BRAWLY: A wave may draw back, but it\n" .string "always returns to the shore.\p" .string "A giant wave of a talent like you…\n" diff --git a/data/maps/DewfordTown_Hall/map.json b/data/maps/DewfordTown_Hall/map.json index b801ea3c26..087981fdef 100644 --- a/data/maps/DewfordTown_Hall/map.json +++ b/data/maps/DewfordTown_Hall/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_Hall_EventScript_1FD4D0", + "script": "DewfordTown_Hall_EventScript_Girl", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_Hall_EventScript_1FD4F9", + "script": "DewfordTown_Hall_EventScript_Woman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_Hall_EventScript_1FD50A", + "script": "DewfordTown_Hall_EventScript_Man", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_Hall_EventScript_1FD547", + "script": "DewfordTown_Hall_EventScript_ExpertM", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_Hall_EventScript_1FD563", + "script": "DewfordTown_Hall_EventScript_Twin", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_Hall_EventScript_1FD57F", + "script": "DewfordTown_Hall_EventScript_LittleBoy", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_Hall_EventScript_1FD62F", + "script": "DewfordTown_Hall_EventScript_SchoolKidM", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_Hall_EventScript_1FD63B", + "script": "DewfordTown_Hall_EventScript_PsychicM", "flag": "0" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_Hall_EventScript_1FD7DA", + "script": "DewfordTown_Hall_EventScript_SludgeBombMan", "flag": "FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN" } ], @@ -156,7 +156,7 @@ "y": 1, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "DewfordTown_Hall_EventScript_1FD590" + "script": "DewfordTown_Hall_EventScript_Bookshelf" }, { "type": "sign", @@ -164,7 +164,7 @@ "y": 1, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "DewfordTown_Hall_EventScript_1FD5A0" + "script": "DewfordTown_Hall_EventScript_Painting" } ] } \ No newline at end of file diff --git a/data/maps/DewfordTown_Hall/scripts.inc b/data/maps/DewfordTown_Hall/scripts.inc index 22bf5ed6ab..6065bc9576 100644 --- a/data/maps/DewfordTown_Hall/scripts.inc +++ b/data/maps/DewfordTown_Hall/scripts.inc @@ -1,319 +1,319 @@ DewfordTown_Hall_MapScripts:: @ 81FD4CF .byte 0 -DewfordTown_Hall_EventScript_1FD4D0:: @ 81FD4D0 +DewfordTown_Hall_EventScript_Girl:: @ 81FD4D0 lock faceplayer - call DewfordTown_Hall_EventScript_271E8B + call Common_EventScript_BufferTrendyPhrase special TrendyPhraseIsOld - compare VAR_RESULT, 1 - goto_if_eq DewfordTown_Hall_EventScript_1FD4EF - msgbox DewfordTown_Hall_Text_1FD818, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq DewfordTown_Hall_EventScript_GirlBoredOfTrend + msgbox DewfordTown_Hall_Text_CantImagineLifeWithoutTrend, MSGBOX_DEFAULT release end -DewfordTown_Hall_EventScript_1FD4EF:: @ 81FD4EF - msgbox DewfordTown_Hall_Text_1FD877, MSGBOX_DEFAULT +DewfordTown_Hall_EventScript_GirlBoredOfTrend:: @ 81FD4EF + msgbox DewfordTown_Hall_Text_GettingBoredOfTrend, MSGBOX_DEFAULT release end -DewfordTown_Hall_EventScript_1FD4F9:: @ 81FD4F9 +DewfordTown_Hall_EventScript_Woman:: @ 81FD4F9 lock faceplayer - call DewfordTown_Hall_EventScript_271E8B - msgbox DewfordTown_Hall_Text_1FD8ED, MSGBOX_DEFAULT + call Common_EventScript_BufferTrendyPhrase + msgbox DewfordTown_Hall_Text_TeachingMonAboutTrend, MSGBOX_DEFAULT release end -DewfordTown_Hall_EventScript_1FD50A:: @ 81FD50A +DewfordTown_Hall_EventScript_Man:: @ 81FD50A lock faceplayer - call DewfordTown_Hall_EventScript_271E8B - special sub_811EF6C - msgbox DewfordTown_Hall_Text_1FD948, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq DewfordTown_Hall_EventScript_1FD533 - compare VAR_RESULT, 0 - goto_if_eq DewfordTown_Hall_EventScript_1FD53D + call Common_EventScript_BufferTrendyPhrase + special BufferDeepLinkPhrase + msgbox DewfordTown_Hall_Text_DeepLinkBetweenXAndY, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq DewfordTown_Hall_EventScript_ConfirmTrendLink + compare VAR_RESULT, NO + goto_if_eq DewfordTown_Hall_EventScript_RejectTrendLink end -DewfordTown_Hall_EventScript_1FD533:: @ 81FD533 - msgbox DewfordTown_Hall_Text_1FD9B3, MSGBOX_DEFAULT +DewfordTown_Hall_EventScript_ConfirmTrendLink:: @ 81FD533 + msgbox DewfordTown_Hall_Text_MyHunchWasRight, MSGBOX_DEFAULT release end -DewfordTown_Hall_EventScript_1FD53D:: @ 81FD53D - msgbox DewfordTown_Hall_Text_1FDA06, MSGBOX_DEFAULT +DewfordTown_Hall_EventScript_RejectTrendLink:: @ 81FD53D + msgbox DewfordTown_Hall_Text_NotEasyToKeepUp, MSGBOX_DEFAULT release end -DewfordTown_Hall_EventScript_1FD547:: @ 81FD547 +DewfordTown_Hall_EventScript_ExpertM:: @ 81FD547 lock faceplayer - call DewfordTown_Hall_EventScript_271E8B - msgbox DewfordTown_Hall_Text_1FDA5C, MSGBOX_DEFAULT + call Common_EventScript_BufferTrendyPhrase + msgbox DewfordTown_Hall_Text_TVShowAboutTrend, MSGBOX_DEFAULT closemessage - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 release end -DewfordTown_Hall_EventScript_1FD563:: @ 81FD563 +DewfordTown_Hall_EventScript_Twin:: @ 81FD563 lock faceplayer - call DewfordTown_Hall_EventScript_271E8B - msgbox DewfordTown_Hall_Text_1FDA99, MSGBOX_DEFAULT + call Common_EventScript_BufferTrendyPhrase + msgbox DewfordTown_Hall_Text_IsTrendMorePopularAcrossSea, MSGBOX_DEFAULT closemessage - applymovement 5, Common_Movement_WalkInPlaceUp + applymovement 5, Common_Movement_WalkInPlaceFastestUp waitmovement 0 release end -DewfordTown_Hall_EventScript_1FD57F:: @ 81FD57F +DewfordTown_Hall_EventScript_LittleBoy:: @ 81FD57F lock faceplayer - call DewfordTown_Hall_EventScript_271E8B - msgbox DewfordTown_Hall_Text_1FDAC4, MSGBOX_DEFAULT + call Common_EventScript_BufferTrendyPhrase + msgbox DewfordTown_Hall_Text_CollectTrendMerchandise, MSGBOX_DEFAULT release end -DewfordTown_Hall_EventScript_1FD590:: @ 81FD590 +DewfordTown_Hall_EventScript_Bookshelf:: @ 81FD590 lockall - call DewfordTown_Hall_EventScript_271E8B - msgbox DewfordTown_Hall_Text_1FDB89, MSGBOX_DEFAULT + call Common_EventScript_BufferTrendyPhrase + msgbox DewfordTown_Hall_Text_BooksAboutTrend, MSGBOX_DEFAULT releaseall end -DewfordTown_Hall_EventScript_1FD5A0:: @ 81FD5A0 +DewfordTown_Hall_EventScript_Painting:: @ 81FD5A0 lockall - call DewfordTown_Hall_EventScript_271E8B + call Common_EventScript_BufferTrendyPhrase special GetDewfordHallPaintingNameIndex switch VAR_RESULT - case 0, DewfordTown_Hall_EventScript_1FD607 - case 4, DewfordTown_Hall_EventScript_1FD607 - case 1, DewfordTown_Hall_EventScript_1FD611 - case 5, DewfordTown_Hall_EventScript_1FD607 - case 2, DewfordTown_Hall_EventScript_1FD61B - case 6, DewfordTown_Hall_EventScript_1FD61B - case 3, DewfordTown_Hall_EventScript_1FD625 - case 7, DewfordTown_Hall_EventScript_1FD61B + case 0, DewfordTown_Hall_EventScript_ScreamTitle + case 4, DewfordTown_Hall_EventScript_ScreamTitle + case 1, DewfordTown_Hall_EventScript_SmileTitle + case 5, DewfordTown_Hall_EventScript_ScreamTitle + case 2, DewfordTown_Hall_EventScript_LastTitle + case 6, DewfordTown_Hall_EventScript_LastTitle + case 3, DewfordTown_Hall_EventScript_BirthTitle + case 7, DewfordTown_Hall_EventScript_LastTitle end -DewfordTown_Hall_EventScript_1FD607:: @ 81FD607 - msgbox DewfordTown_Hall_Text_1FDC05, MSGBOX_DEFAULT +DewfordTown_Hall_EventScript_ScreamTitle:: @ 81FD607 + msgbox DewfordTown_Hall_Text_TrendsScream, MSGBOX_DEFAULT releaseall end -DewfordTown_Hall_EventScript_1FD611:: @ 81FD611 - msgbox DewfordTown_Hall_Text_1FDC21, MSGBOX_DEFAULT +DewfordTown_Hall_EventScript_SmileTitle:: @ 81FD611 + msgbox DewfordTown_Hall_Text_TrendsSmile, MSGBOX_DEFAULT releaseall end -DewfordTown_Hall_EventScript_1FD61B:: @ 81FD61B - msgbox DewfordTown_Hall_Text_1FDC3C, MSGBOX_DEFAULT +DewfordTown_Hall_EventScript_LastTitle:: @ 81FD61B + msgbox DewfordTown_Hall_Text_LastTrend, MSGBOX_DEFAULT releaseall end -DewfordTown_Hall_EventScript_1FD625:: @ 81FD625 - msgbox DewfordTown_Hall_Text_1FDC57, MSGBOX_DEFAULT +DewfordTown_Hall_EventScript_BirthTitle:: @ 81FD625 + msgbox DewfordTown_Hall_Text_BirthOfTrend, MSGBOX_DEFAULT releaseall end -DewfordTown_Hall_EventScript_1FD62F:: @ 81FD62F +DewfordTown_Hall_EventScript_SchoolKidM:: @ 81FD62F lockall setvar VAR_0x8008, 0 - goto DewfordTown_Hall_EventScript_1FD647 + goto DewfordTown_Hall_EventScript_DoTrendDebate end -DewfordTown_Hall_EventScript_1FD63B:: @ 81FD63B +DewfordTown_Hall_EventScript_PsychicM:: @ 81FD63B lockall setvar VAR_0x8008, 1 - goto DewfordTown_Hall_EventScript_1FD647 + goto DewfordTown_Hall_EventScript_DoTrendDebate end -DewfordTown_Hall_EventScript_1FD647:: @ 81FD647 - call DewfordTown_Hall_EventScript_271E8B +DewfordTown_Hall_EventScript_DoTrendDebate:: @ 81FD647 + call Common_EventScript_BufferTrendyPhrase special GetDewfordHallPaintingNameIndex switch VAR_RESULT - case 0, DewfordTown_Hall_EventScript_1FD6AD - case 1, DewfordTown_Hall_EventScript_1FD6AD - case 2, DewfordTown_Hall_EventScript_1FD6C9 - case 3, DewfordTown_Hall_EventScript_1FD6C9 - case 4, DewfordTown_Hall_EventScript_1FD6E5 - case 5, DewfordTown_Hall_EventScript_1FD6E5 - case 6, DewfordTown_Hall_EventScript_1FD701 - case 7, DewfordTown_Hall_EventScript_1FD71D + case 0, DewfordTown_Hall_EventScript_TrendDebate1 + case 1, DewfordTown_Hall_EventScript_TrendDebate1 + case 2, DewfordTown_Hall_EventScript_TrendDebate2 + case 3, DewfordTown_Hall_EventScript_TrendDebate2 + case 4, DewfordTown_Hall_EventScript_TrendDebate3 + case 5, DewfordTown_Hall_EventScript_TrendDebate3 + case 6, DewfordTown_Hall_EventScript_TrendDebate4 + case 7, DewfordTown_Hall_EventScript_TrendDebate5 end -DewfordTown_Hall_EventScript_1FD6AD:: @ 81FD6AD - call DewfordTown_Hall_EventScript_1FD73A - msgbox DewfordTown_Hall_Text_1FDC76, MSGBOX_DEFAULT - call DewfordTown_Hall_EventScript_1FD772 - msgbox DewfordTown_Hall_Text_1FDCE2, MSGBOX_DEFAULT +DewfordTown_Hall_EventScript_TrendDebate1:: @ 81FD6AD + call DewfordTown_Hall_EventScript_DebateReact1 + msgbox DewfordTown_Hall_Text_SawTrendCoolestThing, MSGBOX_DEFAULT + call DewfordTown_Hall_EventScript_DebateReact2 + msgbox DewfordTown_Hall_Text_AllegedTrendNotAuthentic, MSGBOX_DEFAULT releaseall end -DewfordTown_Hall_EventScript_1FD6C9:: @ 81FD6C9 - call DewfordTown_Hall_EventScript_1FD73A - msgbox DewfordTown_Hall_Text_1FDD95, MSGBOX_DEFAULT - call DewfordTown_Hall_EventScript_1FD772 - msgbox DewfordTown_Hall_Text_1FDE0E, MSGBOX_DEFAULT +DewfordTown_Hall_EventScript_TrendDebate2:: @ 81FD6C9 + call DewfordTown_Hall_EventScript_DebateReact1 + msgbox DewfordTown_Hall_Text_ComposedTrendThemeSong, MSGBOX_DEFAULT + call DewfordTown_Hall_EventScript_DebateReact2 + msgbox DewfordTown_Hall_Text_WorkOnYourSinging, MSGBOX_DEFAULT releaseall end -DewfordTown_Hall_EventScript_1FD6E5:: @ 81FD6E5 - call DewfordTown_Hall_EventScript_1FD73A - msgbox DewfordTown_Hall_Text_1FDE77, MSGBOX_DEFAULT - call DewfordTown_Hall_EventScript_1FD772 - msgbox DewfordTown_Hall_Text_1FDED8, MSGBOX_DEFAULT +DewfordTown_Hall_EventScript_TrendDebate3:: @ 81FD6E5 + call DewfordTown_Hall_EventScript_DebateReact1 + msgbox DewfordTown_Hall_Text_OrganizeTrendParty, MSGBOX_DEFAULT + call DewfordTown_Hall_EventScript_DebateReact2 + msgbox DewfordTown_Hall_Text_BrilliantIndeed, MSGBOX_DEFAULT releaseall end -DewfordTown_Hall_EventScript_1FD701:: @ 81FD701 - call DewfordTown_Hall_EventScript_1FD73A - msgbox DewfordTown_Hall_Text_1FDF72, MSGBOX_DEFAULT - call DewfordTown_Hall_EventScript_1FD772 - msgbox DewfordTown_Hall_Text_1FDFF1, MSGBOX_DEFAULT +DewfordTown_Hall_EventScript_TrendDebate4:: @ 81FD701 + call DewfordTown_Hall_EventScript_DebateReact1 + msgbox DewfordTown_Hall_Text_TrendHasBecomePartOfLife, MSGBOX_DEFAULT + call DewfordTown_Hall_EventScript_DebateReact2 + msgbox DewfordTown_Hall_Text_TrendWeighsHeavilyOnMind, MSGBOX_DEFAULT releaseall end -DewfordTown_Hall_EventScript_1FD71D:: @ 81FD71D - call DewfordTown_Hall_EventScript_1FD73A - msgbox DewfordTown_Hall_Text_1FE09A, MSGBOX_DEFAULT - call DewfordTown_Hall_EventScript_1FD772 - msgbox DewfordTown_Hall_Text_1FE0F2, MSGBOX_DEFAULT +DewfordTown_Hall_EventScript_TrendDebate5:: @ 81FD71D + call DewfordTown_Hall_EventScript_DebateReact1 + msgbox DewfordTown_Hall_Text_IfWeTeamUpWellBeInvincible, MSGBOX_DEFAULT + call DewfordTown_Hall_EventScript_DebateReact2 + msgbox DewfordTown_Hall_Text_WellBeTrendDuo, MSGBOX_DEFAULT releaseall end -DewfordTown_Hall_EventScript_1FD739:: @ 81FD739 +DewfordTown_Hall_EventScript_DontMovePlayer1:: @ 81FD739 return -DewfordTown_Hall_EventScript_1FD73A:: @ 81FD73A - applymovement 8, DewfordTown_Hall_Movement_1FD7D6 +DewfordTown_Hall_EventScript_DebateReact1:: @ 81FD73A + applymovement 8, DewfordTown_Hall_Movement_PsychicWalkInPlaceLeft waitmovement 0 compare VAR_0x8008, 0 - goto_if_eq DewfordTown_Hall_EventScript_1FD75B + goto_if_eq DewfordTown_Hall_EventScript_PlayerReactWest compare VAR_0x8008, 1 - goto_if_eq DewfordTown_Hall_EventScript_1FD771 + goto_if_eq DewfordTown_Hall_EventScript_DontMovePlayer2 end -DewfordTown_Hall_EventScript_1FD75B:: @ 81FD75B - compare VAR_FACING, 4 - goto_if_eq DewfordTown_Hall_EventScript_1FD739 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight +DewfordTown_Hall_EventScript_PlayerReactWest:: @ 81FD75B + compare VAR_FACING, DIR_EAST + goto_if_eq DewfordTown_Hall_EventScript_DontMovePlayer1 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -DewfordTown_Hall_EventScript_1FD771:: @ 81FD771 +DewfordTown_Hall_EventScript_DontMovePlayer2:: @ 81FD771 return -DewfordTown_Hall_EventScript_1FD772:: @ 81FD772 - applymovement 7, DewfordTown_Hall_Movement_1FD7D8 +DewfordTown_Hall_EventScript_DebateReact2:: @ 81FD772 + applymovement 7, DewfordTown_Hall_Movement_SchoolKidWalkInPlaceRight waitmovement 0 compare VAR_0x8008, 0 - goto_if_eq DewfordTown_Hall_EventScript_1FD793 + goto_if_eq DewfordTown_Hall_EventScript_PlayerReactNorthSouth compare VAR_0x8008, 1 - goto_if_eq DewfordTown_Hall_EventScript_1FD7C0 + goto_if_eq DewfordTown_Hall_EventScript_PlayerReactEast end -DewfordTown_Hall_EventScript_1FD793:: @ 81FD793 - compare VAR_FACING, 2 - call_if_eq DewfordTown_Hall_EventScript_1FD7AA - compare VAR_FACING, 1 - call_if_eq DewfordTown_Hall_EventScript_1FD7B5 +DewfordTown_Hall_EventScript_PlayerReactNorthSouth:: @ 81FD793 + compare VAR_FACING, DIR_NORTH + call_if_eq DewfordTown_Hall_EventScript_PlayerWalkInPlaceUp + compare VAR_FACING, DIR_SOUTH + call_if_eq DewfordTown_Hall_EventScript_PlayerWalkInPlaceDown return -DewfordTown_Hall_EventScript_1FD7AA:: @ 81FD7AA - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp +DewfordTown_Hall_EventScript_PlayerWalkInPlaceUp:: @ 81FD7AA + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -DewfordTown_Hall_EventScript_1FD7B5:: @ 81FD7B5 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown +DewfordTown_Hall_EventScript_PlayerWalkInPlaceDown:: @ 81FD7B5 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -DewfordTown_Hall_EventScript_1FD7C0:: @ 81FD7C0 - compare VAR_FACING, 3 - goto_if_eq DewfordTown_Hall_EventScript_1FD739 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft +DewfordTown_Hall_EventScript_PlayerReactEast:: @ 81FD7C0 + compare VAR_FACING, DIR_WEST + goto_if_eq DewfordTown_Hall_EventScript_DontMovePlayer1 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -DewfordTown_Hall_Movement_1FD7D6: @ 81FD7D6 +DewfordTown_Hall_Movement_PsychicWalkInPlaceLeft: @ 81FD7D6 walk_in_place_left step_end -DewfordTown_Hall_Movement_1FD7D8: @ 81FD7D8 +DewfordTown_Hall_Movement_SchoolKidWalkInPlaceRight: @ 81FD7D8 walk_in_place_right step_end -DewfordTown_Hall_EventScript_1FD7DA:: @ 81FD7DA +DewfordTown_Hall_EventScript_SludgeBombMan:: @ 81FD7DA lock faceplayer - call DewfordTown_Hall_EventScript_271E8B - goto_if_set FLAG_RECEIVED_TM36, DewfordTown_Hall_EventScript_1FD80E - msgbox DewfordTown_Hall_Text_1FE142, MSGBOX_DEFAULT - giveitem_std ITEM_TM36 - compare VAR_RESULT, 0 + call Common_EventScript_BufferTrendyPhrase + goto_if_set FLAG_RECEIVED_TM36, DewfordTown_Hall_EventScript_ReceivedSludgeBomb + msgbox DewfordTown_Hall_Text_GiveYouSludgeBomb, MSGBOX_DEFAULT + giveitem ITEM_TM36 + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_TM36 release end -DewfordTown_Hall_EventScript_1FD80E:: @ 81FD80E - msgbox DewfordTown_Hall_Text_1FE1ED, MSGBOX_DEFAULT +DewfordTown_Hall_EventScript_ReceivedSludgeBomb:: @ 81FD80E + msgbox DewfordTown_Hall_Text_LoveSludgeBombButTrendInToo, MSGBOX_DEFAULT release end -DewfordTown_Hall_Text_1FD818: @ 81FD818 +DewfordTown_Hall_Text_CantImagineLifeWithoutTrend: @ 81FD818 .string "What's in vogue? Why, it has to be\n" .string "“{STR_VAR_1}”!\p" .string "I can't imagine what life would be like\n" .string "without “{STR_VAR_1}”!$" -DewfordTown_Hall_Text_1FD877: @ 81FD877 +DewfordTown_Hall_Text_GettingBoredOfTrend: @ 81FD877 .string "What's in vogue? Why, it has to be\n" .string "“{STR_VAR_1}”!\p" .string "But I'm getting kind of bored with it.\p" .string "I should look for the next big thing.$" -DewfordTown_Hall_Text_1FD8ED: @ 81FD8ED +DewfordTown_Hall_Text_TeachingMonAboutTrend: @ 81FD8ED .string "I'm teaching my POKéMON about\n" .string "“{STR_VAR_1},”\l" .string "but it's not going well.\p" .string "It's a bit too much, I think.$" -DewfordTown_Hall_Text_1FD948: @ 81FD948 +DewfordTown_Hall_Text_DeepLinkBetweenXAndY: @ 81FD948 .string "I'm studying up on the hip and trendy\n" .string "“{STR_VAR_1}” now.\p" .string "Is it true that there's a deep link\n" .string "between “{STR_VAR_1}”\l" .string "and “{STR_VAR_2}”?$" -DewfordTown_Hall_Text_1FD9B3: @ 81FD9B3 +DewfordTown_Hall_Text_MyHunchWasRight: @ 81FD9B3 .string "Oh!\n" .string "So, my hunch was right!\p" .string "I'm one step closer to being hip and\n" .string "happening, yowza!$" -DewfordTown_Hall_Text_1FDA06: @ 81FDA06 +DewfordTown_Hall_Text_NotEasyToKeepUp: @ 81FDA06 .string "What?!\n" .string "Is that so?!\p" .string "It's not easy for an older fellow like\n" .string "me to keep up with trends!$" -DewfordTown_Hall_Text_1FDA5C: @ 81FDA5C +DewfordTown_Hall_Text_TVShowAboutTrend: @ 81FDA5C .string "This whole business about\n" .string "“{STR_VAR_1}”…\l" .string "Isn't there a TV show on it?$" -DewfordTown_Hall_Text_1FDA99: @ 81FDA99 +DewfordTown_Hall_Text_IsTrendMorePopularAcrossSea: @ 81FDA99 .string "Across the sea…\p" .string "Is “{STR_VAR_1}”\n" .string "even more popular?$" -DewfordTown_Hall_Text_1FDAC4: @ 81FDAC4 +DewfordTown_Hall_Text_CollectTrendMerchandise: @ 81FDAC4 .string "I collect official\n" .string "“{STR_VAR_1}”\l" .string "licensed merchandise.\p" @@ -327,7 +327,7 @@ DewfordTown_Hall_Text_1FDAC4: @ 81FDAC4 .string "Heheh, I own!\n" .string "I'm not sharing anything with you!$" -DewfordTown_Hall_Text_1FDB89: @ 81FDB89 +DewfordTown_Hall_Text_BooksAboutTrend: @ 81FDB89 .string "IDENTIFYING GOOD\n" .string "“{STR_VAR_1}” &\l" .string "BAD “{STR_VAR_1}”…\p" @@ -339,30 +339,30 @@ DewfordTown_Hall_Text_1FDB89: @ 81FDB89 .string "It's neatly jammed with books about\n" .string "“{STR_VAR_1}.”$" -DewfordTown_Hall_Text_1FDC05: @ 81FDC05 +DewfordTown_Hall_Text_TrendsScream: @ 81FDC05 .string "“{STR_VAR_1}'S\n" .string "SCREAM” is the title.$" -DewfordTown_Hall_Text_1FDC21: @ 81FDC21 +DewfordTown_Hall_Text_TrendsSmile: @ 81FDC21 .string "“{STR_VAR_1}'S\n" .string "SMILE” is the title.$" -DewfordTown_Hall_Text_1FDC3C: @ 81FDC3C +DewfordTown_Hall_Text_LastTrend: @ 81FDC3C .string "It's titled “THE LAST\n" .string "{STR_VAR_1}”.$" -DewfordTown_Hall_Text_1FDC57: @ 81FDC57 +DewfordTown_Hall_Text_BirthOfTrend: @ 81FDC57 .string "It's titled “THE BIRTH OF\n" .string "{STR_VAR_1}”.$" -DewfordTown_Hall_Text_1FDC76: @ 81FDC76 +DewfordTown_Hall_Text_SawTrendCoolestThing: @ 81FDC76 .string "I saw “{STR_VAR_1}”!\n" .string "Cool, huh?\p" .string "It's, like, the coolest thing going!\p" .string "It was awesome!\n" .string "It was the real thing, oh yeah!$" -DewfordTown_Hall_Text_1FDCE2: @ 81FDCE2 +DewfordTown_Hall_Text_AllegedTrendNotAuthentic: @ 81FDCE2 .string "Oh, no, no, no.\p" .string "That alleged\n" .string "“{STR_VAR_1}”\l" @@ -372,7 +372,7 @@ DewfordTown_Hall_Text_1FDCE2: @ 81FDCE2 .string "Sharper, yet more mellow!\p" .string "Ah, no matter. It's astonishing!$" -DewfordTown_Hall_Text_1FDD95: @ 81FDD95 +DewfordTown_Hall_Text_ComposedTrendThemeSong: @ 81FDD95 .string "Hey, listen, I composed a theme song\n" .string "for “{STR_VAR_1}.”\p" .string "“{STR_VAR_1}”\n" @@ -384,20 +384,20 @@ DewfordTown_Hall_Text_1FDD95: @ 81FDD95 .string "Wonderful\n" .string "{STR_VAR_1}!$" -DewfordTown_Hall_Text_1FDE0E: @ 81FDE0E +DewfordTown_Hall_Text_WorkOnYourSinging: @ 81FDE0E .string "… …\p" .string "I dare say, chap, it would pay for you\n" .string "to work on your singing before you\l" .string "trifle yourself with\l" .string "“{STR_VAR_1}.”$" -DewfordTown_Hall_Text_1FDE77: @ 81FDE77 +DewfordTown_Hall_Text_OrganizeTrendParty: @ 81FDE77 .string "Anyway, as I was saying earlier, we\n" .string "should get together and organize a\l" .string "“{STR_VAR_1}” party\l" .string "on the island.$" -DewfordTown_Hall_Text_1FDED8: @ 81FDED8 +DewfordTown_Hall_Text_BrilliantIndeed: @ 81FDED8 .string "Oh, a smashing good idea!\p" .string "It will settle once and for all\n" .string "who is the best at\l" @@ -406,14 +406,14 @@ DewfordTown_Hall_Text_1FDED8: @ 81FDED8 .string "Starting today, our lives will revolve\n" .string "around “{STR_VAR_1}”!$" -DewfordTown_Hall_Text_1FDF72: @ 81FDF72 +DewfordTown_Hall_Text_TrendHasBecomePartOfLife: @ 81FDF72 .string "I was thinking, though…\p" .string "Wouldn't you agree that\n" .string "“{STR_VAR_1}” has\l" .string "grown from being something trendy to\l" .string "being a part of our daily lives?$" -DewfordTown_Hall_Text_1FDFF1: @ 81FDFF1 +DewfordTown_Hall_Text_TrendWeighsHeavilyOnMind: @ 81FDFF1 .string "Beg pardon?\n" .string "That much, what?\p" .string "However, it's true that\n" @@ -424,19 +424,19 @@ DewfordTown_Hall_Text_1FDFF1: @ 81FDFF1 .string "“{STR_VAR_1}”\l" .string "PROFESSOR, old sport!$" -DewfordTown_Hall_Text_1FE09A: @ 81FE09A +DewfordTown_Hall_Text_IfWeTeamUpWellBeInvincible: @ 81FE09A .string "If you and me team up as a combo,\n" .string "we'll be invincible when it comes to all\l" .string "things “{STR_VAR_1}”!$" -DewfordTown_Hall_Text_1FE0F2: @ 81FE0F2 +DewfordTown_Hall_Text_WellBeTrendDuo: @ 81FE0F2 .string "Spot on, my friend!\p" .string "We shall be the\n" .string "“{STR_VAR_1}” DUO!\p" .string "Isn't that a ripe image?\n" .string "Hahahah!$" -DewfordTown_Hall_Text_1FE142: @ 81FE142 +DewfordTown_Hall_Text_GiveYouSludgeBomb: @ 81FE142 .string "For me, SLUDGE BOMB is at the peak\n" .string "of popularity. It's the one.\p" .string "Hunh? You're telling me that you don't\n" @@ -444,7 +444,7 @@ DewfordTown_Hall_Text_1FE142: @ 81FE142 .string "That's outright pitiful.\n" .string "I'll give you one.$" -DewfordTown_Hall_Text_1FE1ED: @ 81FE1ED +DewfordTown_Hall_Text_LoveSludgeBombButTrendInToo: @ 81FE1ED .string "I love SLUDGE BOMB.\p" .string "But POKéMON with the move\n" .string "“{STR_VAR_1}”\l" diff --git a/data/maps/DewfordTown_House1/map.json b/data/maps/DewfordTown_House1/map.json index dfae500bdd..beb6d52759 100644 --- a/data/maps/DewfordTown_House1/map.json +++ b/data/maps/DewfordTown_House1/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_House1_EventScript_1FC3D7", + "script": "DewfordTown_House1_EventScript_Woman", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_House1_EventScript_1FC3CE", + "script": "DewfordTown_House1_EventScript_Man", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_House1_EventScript_1FC3E0", + "script": "DewfordTown_House1_EventScript_Zigzagoon", "flag": "0" } ], diff --git a/data/maps/DewfordTown_House1/scripts.inc b/data/maps/DewfordTown_House1/scripts.inc index 32706dbdea..06e3770578 100644 --- a/data/maps/DewfordTown_House1/scripts.inc +++ b/data/maps/DewfordTown_House1/scripts.inc @@ -1,36 +1,36 @@ DewfordTown_House1_MapScripts:: @ 81FC3CD .byte 0 -DewfordTown_House1_EventScript_1FC3CE:: @ 81FC3CE - msgbox DewfordTown_House1_Text_1FC3F3, MSGBOX_NPC +DewfordTown_House1_EventScript_Man:: @ 81FC3CE + msgbox DewfordTown_House1_Text_LotToBeSaidForLivingOnIsland, MSGBOX_NPC end -DewfordTown_House1_EventScript_1FC3D7:: @ 81FC3D7 - msgbox DewfordTown_House1_Text_1FC45B, MSGBOX_NPC +DewfordTown_House1_EventScript_Woman:: @ 81FC3D7 + msgbox DewfordTown_House1_Text_LifeGoesSlowlyOnIsland, MSGBOX_NPC end -DewfordTown_House1_EventScript_1FC3E0:: @ 81FC3E0 +DewfordTown_House1_EventScript_Zigzagoon:: @ 81FC3E0 lock faceplayer waitse playmoncry SPECIES_ZIGZAGOON, 0 - msgbox DewfordTown_House1_Text_1FC510, MSGBOX_DEFAULT + msgbox DewfordTown_House1_Text_Zigzagoon, MSGBOX_DEFAULT waitmoncry release end -DewfordTown_House1_Text_1FC3F3: @ 81FC3F3 +DewfordTown_House1_Text_LotToBeSaidForLivingOnIsland: @ 81FC3F3 .string "There's a lot to be said for living on\n" .string "a small island like this in harmony with\l" .string "POKéMON and the family.$" -DewfordTown_House1_Text_1FC45B: @ 81FC45B +DewfordTown_House1_Text_LifeGoesSlowlyOnIsland: @ 81FC45B .string "I left the major port of SLATEPORT\n" .string "CITY when I married my husband here.\p" .string "Life goes by slowly on this little\n" .string "island. But being surrounded by the\l" .string "beautiful sea--that's happiness, too.$" -DewfordTown_House1_Text_1FC510: @ 81FC510 +DewfordTown_House1_Text_Zigzagoon: @ 81FC510 .string "ZIGZAGOON: Guguuh!$" diff --git a/data/maps/DewfordTown_House2/map.json b/data/maps/DewfordTown_House2/map.json index bc9c008fc3..ac1abca367 100644 --- a/data/maps/DewfordTown_House2/map.json +++ b/data/maps/DewfordTown_House2/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_House2_EventScript_1FE22E", + "script": "DewfordTown_House2_EventScript_Man", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_House2_EventScript_1FE271", + "script": "DewfordTown_House2_EventScript_Boy", "flag": "0" } ], diff --git a/data/maps/DewfordTown_House2/scripts.inc b/data/maps/DewfordTown_House2/scripts.inc index eb6beb9512..4a57cfdcf5 100644 --- a/data/maps/DewfordTown_House2/scripts.inc +++ b/data/maps/DewfordTown_House2/scripts.inc @@ -1,33 +1,33 @@ DewfordTown_House2_MapScripts:: @ 81FE22D .byte 0 -DewfordTown_House2_EventScript_1FE22E:: @ 81FE22E +DewfordTown_House2_EventScript_Man:: @ 81FE22E lock faceplayer - goto_if_set FLAG_RECEIVED_SILK_SCARF, DewfordTown_House2_EventScript_1FE267 - msgbox DewfordTown_House2_Text_1FE27A, MSGBOX_DEFAULT - giveitem_std ITEM_SILK_SCARF - compare VAR_RESULT, 0 - goto_if_eq DewfordTown_House2_EventScript_1FE25D + goto_if_set FLAG_RECEIVED_SILK_SCARF, DewfordTown_House2_EventScript_ExplainSilkScarf + msgbox DewfordTown_House2_Text_WantYouToHaveSilkScarf, MSGBOX_DEFAULT + giveitem ITEM_SILK_SCARF + compare VAR_RESULT, FALSE + goto_if_eq DewfordTown_House2_EventScript_NoRoomForScarf setflag FLAG_RECEIVED_SILK_SCARF release end -DewfordTown_House2_EventScript_1FE25D:: @ 81FE25D - msgbox DewfordTown_House2_Text_1FE356, MSGBOX_DEFAULT +DewfordTown_House2_EventScript_NoRoomForScarf:: @ 81FE25D + msgbox DewfordTown_House2_Text_NoRoom, MSGBOX_DEFAULT release end -DewfordTown_House2_EventScript_1FE267:: @ 81FE267 - msgbox DewfordTown_House2_Text_1FE3D1, MSGBOX_DEFAULT +DewfordTown_House2_EventScript_ExplainSilkScarf:: @ 81FE267 + msgbox DewfordTown_House2_Text_ExplainSilkScarf, MSGBOX_DEFAULT release end -DewfordTown_House2_EventScript_1FE271:: @ 81FE271 - msgbox DewfordTown_House2_Text_1FE444, MSGBOX_NPC +DewfordTown_House2_EventScript_Boy:: @ 81FE271 + msgbox DewfordTown_House2_Text_BrawlySoCool, MSGBOX_NPC end -DewfordTown_House2_Text_1FE27A: @ 81FE27A +DewfordTown_House2_Text_WantYouToHaveSilkScarf: @ 81FE27A .string "Gorge your eyes on this!\p" .string "It's a SILK SCARF. It's right at the\n" .string "cutting edge of fashion, yeah!\p" @@ -36,19 +36,19 @@ DewfordTown_House2_Text_1FE27A: @ 81FE27A .string "Oh, you're a delight!\n" .string "Here you go. I want you to have it!$" -DewfordTown_House2_Text_1FE356: @ 81FE356 +DewfordTown_House2_Text_NoRoom: @ 81FE356 .string "Oh, you don't have room?\p" .string "Now, listen tight, this SCARF is a must-\n" .string "have! Why, I would sell all my items\l" .string "in order to get it!$" -DewfordTown_House2_Text_1FE3D1: @ 81FE3D1 +DewfordTown_House2_Text_ExplainSilkScarf: @ 81FE3D1 .string "The SILK SCARF raises the power of\n" .string "NORMAL-type moves.\p" .string "It's a marvelous SCARF that will go\n" .string "with almost all POKéMON!$" -DewfordTown_House2_Text_1FE444: @ 81FE444 +DewfordTown_House2_Text_BrawlySoCool: @ 81FE444 .string "Wow, you bothered to cross the sea\n" .string "to visit DEWFORD?\p" .string "Did you maybe come here because you\n" diff --git a/data/maps/DewfordTown_PokemonCenter_1F/map.json b/data/maps/DewfordTown_PokemonCenter_1F/map.json index 89acf1ea8f..67e0e57219 100644 --- a/data/maps/DewfordTown_PokemonCenter_1F/map.json +++ b/data/maps/DewfordTown_PokemonCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_PokemonCenter_1F_EventScript_1FC537", + "script": "DewfordTown_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_PokemonCenter_1F_EventScript_1FC545", + "script": "DewfordTown_PokemonCenter_1F_EventScript_PokefanF", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_PokemonCenter_1F_EventScript_1FC54E", + "script": "DewfordTown_PokemonCenter_1F_EventScript_Man", "flag": "0" } ], diff --git a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc index be9005d7d1..99d180d8f6 100644 --- a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc @@ -1,36 +1,37 @@ DewfordTown_PokemonCenter_1F_MapScripts:: @ 81FC523 map_script MAP_SCRIPT_ON_TRANSITION, DewfordTown_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, DewfordTown_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 DewfordTown_PokemonCenter_1F_OnTransition: @ 81FC52E setrespawn HEAL_LOCATION_DEWFORD_TOWN - call DewfordTown_PokemonCenter_1F_EventScript_2718DE + call Common_EventScript_UpdateBrineyLocation end -DewfordTown_PokemonCenter_1F_EventScript_1FC537:: @ 81FC537 +@ VAR_0x800B is the Nurse's object event id +DewfordTown_PokemonCenter_1F_EventScript_Nurse:: @ 81FC537 setvar VAR_0x800B, 1 - call DewfordTown_PokemonCenter_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -DewfordTown_PokemonCenter_1F_EventScript_1FC545:: @ 81FC545 - msgbox DewfordTown_PokemonCenter_1F_Text_1FC557, MSGBOX_NPC +DewfordTown_PokemonCenter_1F_EventScript_PokefanF:: @ 81FC545 + msgbox DewfordTown_PokemonCenter_1F_Text_StoneCavern, MSGBOX_NPC end -DewfordTown_PokemonCenter_1F_EventScript_1FC54E:: @ 81FC54E - msgbox DewfordTown_PokemonCenter_1F_Text_1FC5AE, MSGBOX_NPC +DewfordTown_PokemonCenter_1F_EventScript_Man:: @ 81FC54E + msgbox DewfordTown_PokemonCenter_1F_Text_FaintedMonCanUseHM, MSGBOX_NPC end -DewfordTown_PokemonCenter_1F_Text_1FC557: @ 81FC557 +DewfordTown_PokemonCenter_1F_Text_StoneCavern: @ 81FC557 .string "There's a stone cavern at the edge\n" .string "of town.\p" .string "I've heard you can find rare stones\n" .string "there.$" -DewfordTown_PokemonCenter_1F_Text_1FC5AE: @ 81FC5AE +DewfordTown_PokemonCenter_1F_Text_FaintedMonCanUseHM: @ 81FC5AE .string "Even if a POKéMON faints and can't\n" .string "battle, it can still use a move learned\l" .string "from a HIDDEN MACHINE (HM).$" diff --git a/data/maps/DewfordTown_PokemonCenter_2F/map.json b/data/maps/DewfordTown_PokemonCenter_2F/map.json index 2792a9a20b..6ebca2ae0c 100644 --- a/data/maps/DewfordTown_PokemonCenter_2F/map.json +++ b/data/maps/DewfordTown_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "DewfordTown_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/DewfordTown_PokemonCenter_2F/scripts.inc b/data/maps/DewfordTown_PokemonCenter_2F/scripts.inc index f49560d8ca..df8539f0b7 100644 --- a/data/maps/DewfordTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/DewfordTown_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ DewfordTown_PokemonCenter_2F_MapScripts:: @ 81FC615 - map_script MAP_SCRIPT_ON_FRAME_TABLE, DewfordTown_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, DewfordTown_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, DewfordTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -DewfordTown_PokemonCenter_2F_EventScript_1FC62A:: @ 81FC62A - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +DewfordTown_PokemonCenter_2F_EventScript_Colosseum:: @ 81FC62A + call CableClub_EventScript_Colosseum end -DewfordTown_PokemonCenter_2F_EventScript_1FC630:: @ 81FC630 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +DewfordTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 81FC630 + call CableClub_EventScript_TradeCenter end -DewfordTown_PokemonCenter_2F_EventScript_1FC636:: @ 81FC636 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +DewfordTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 81FC636 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/DoubleBattleColosseum/scripts.inc b/data/maps/DoubleBattleColosseum/scripts.inc deleted file mode 100644 index ac64377aeb..0000000000 --- a/data/maps/DoubleBattleColosseum/scripts.inc +++ /dev/null @@ -1,3 +0,0 @@ -DoubleBattleColosseum_MapScripts:: @ 823B780 - .byte 0 - diff --git a/data/maps/EverGrandeCity/map.json b/data/maps/EverGrandeCity/map.json index 90175db1d1..0fd6e9eca5 100644 --- a/data/maps/EverGrandeCity/map.json +++ b/data/maps/EverGrandeCity/map.json @@ -58,7 +58,7 @@ "elevation": 1, "var": "VAR_TEMP_1", "var_value": "0", - "script": "EverGrandeCity_EventScript_1E7D46" + "script": "EverGrandeCity_EventScript_SetVisitedEverGrande" }, { "type": "trigger", @@ -67,7 +67,7 @@ "elevation": 1, "var": "VAR_TEMP_1", "var_value": "0", - "script": "EverGrandeCity_EventScript_1E7D46" + "script": "EverGrandeCity_EventScript_SetVisitedEverGrande" }, { "type": "trigger", @@ -76,7 +76,7 @@ "elevation": 1, "var": "VAR_TEMP_1", "var_value": "0", - "script": "EverGrandeCity_EventScript_1E7D46" + "script": "EverGrandeCity_EventScript_SetVisitedEverGrande" }, { "type": "trigger", @@ -85,7 +85,7 @@ "elevation": 1, "var": "VAR_TEMP_1", "var_value": "0", - "script": "EverGrandeCity_EventScript_1E7D46" + "script": "EverGrandeCity_EventScript_SetVisitedEverGrande" }, { "type": "trigger", @@ -94,7 +94,7 @@ "elevation": 1, "var": "VAR_TEMP_1", "var_value": "0", - "script": "EverGrandeCity_EventScript_1E7D46" + "script": "EverGrandeCity_EventScript_SetVisitedEverGrande" }, { "type": "trigger", @@ -103,7 +103,7 @@ "elevation": 1, "var": "VAR_TEMP_1", "var_value": "0", - "script": "EverGrandeCity_EventScript_1E7D46" + "script": "EverGrandeCity_EventScript_SetVisitedEverGrande" }, { "type": "trigger", @@ -112,7 +112,7 @@ "elevation": 1, "var": "VAR_TEMP_1", "var_value": "0", - "script": "EverGrandeCity_EventScript_1E7D46" + "script": "EverGrandeCity_EventScript_SetVisitedEverGrande" }, { "type": "trigger", @@ -121,7 +121,7 @@ "elevation": 1, "var": "VAR_TEMP_1", "var_value": "0", - "script": "EverGrandeCity_EventScript_1E7D46" + "script": "EverGrandeCity_EventScript_SetVisitedEverGrande" }, { "type": "trigger", @@ -130,7 +130,7 @@ "elevation": 1, "var": "VAR_TEMP_1", "var_value": "0", - "script": "EverGrandeCity_EventScript_1E7D46" + "script": "EverGrandeCity_EventScript_SetVisitedEverGrande" }, { "type": "trigger", @@ -139,7 +139,7 @@ "elevation": 1, "var": "VAR_TEMP_1", "var_value": "0", - "script": "EverGrandeCity_EventScript_1E7D46" + "script": "EverGrandeCity_EventScript_SetVisitedEverGrande" }, { "type": "trigger", @@ -148,7 +148,7 @@ "elevation": 1, "var": "VAR_TEMP_1", "var_value": "0", - "script": "EverGrandeCity_EventScript_1E7D46" + "script": "EverGrandeCity_EventScript_SetVisitedEverGrande" } ], "bg_events": [ @@ -158,7 +158,7 @@ "y": 43, "elevation": 5, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "EverGrandeCity_EventScript_1E7D2B" + "script": "EverGrandeCity_EventScript_VictoryRoadSign" }, { "type": "sign", @@ -174,7 +174,7 @@ "y": 52, "elevation": 5, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "EverGrandeCity_EventScript_1E7D34" + "script": "EverGrandeCity_EventScript_CitySign" }, { "type": "sign", @@ -182,7 +182,7 @@ "y": 15, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "EverGrandeCity_EventScript_1E7D3D" + "script": "EverGrandeCity_EventScript_PokemonLeagueSign" }, { "type": "sign", diff --git a/data/maps/EverGrandeCity/scripts.inc b/data/maps/EverGrandeCity/scripts.inc index 39e57f5639..42392c7e9a 100644 --- a/data/maps/EverGrandeCity/scripts.inc +++ b/data/maps/EverGrandeCity/scripts.inc @@ -3,34 +3,34 @@ EverGrandeCity_MapScripts:: @ 81E7D1B .byte 0 EverGrandeCity_OnTransition: @ 81E7D21 - call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 + call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather end -EverGrandeCity_EventScript_1E7D2B:: @ 81E7D2B - msgbox EverGrandeCity_Text_1E7D4F, MSGBOX_SIGN +EverGrandeCity_EventScript_VictoryRoadSign:: @ 81E7D2B + msgbox EverGrandeCity_Text_EnteringVictoryRoad, MSGBOX_SIGN end -EverGrandeCity_EventScript_1E7D34:: @ 81E7D34 - msgbox EverGrandeCity_Text_1E7D89, MSGBOX_SIGN +EverGrandeCity_EventScript_CitySign:: @ 81E7D34 + msgbox EverGrandeCity_Text_CitySign, MSGBOX_SIGN end -EverGrandeCity_EventScript_1E7D3D:: @ 81E7D3D - msgbox EverGrandeCity_Text_1E7D65, MSGBOX_SIGN +EverGrandeCity_EventScript_PokemonLeagueSign:: @ 81E7D3D + msgbox EverGrandeCity_Text_EnteringPokemonLeague, MSGBOX_SIGN end -EverGrandeCity_EventScript_1E7D46:: @ 81E7D46 +EverGrandeCity_EventScript_SetVisitedEverGrande:: @ 81E7D46 setflag FLAG_VISITED_EVER_GRANDE_CITY setvar VAR_TEMP_1, 1 end -EverGrandeCity_Text_1E7D4F: @ 81E7D4F +EverGrandeCity_Text_EnteringVictoryRoad: @ 81E7D4F .string "ENTERING VICTORY ROAD$" -EverGrandeCity_Text_1E7D65: @ 81E7D65 +EverGrandeCity_Text_EnteringPokemonLeague: @ 81E7D65 .string "ENTERING POKéMON LEAGUE\n" .string "CENTER GATE$" -EverGrandeCity_Text_1E7D89: @ 81E7D89 +EverGrandeCity_Text_CitySign: @ 81E7D89 .string "EVER GRANDE CITY\p" .string "“The paradise of flowers, the sea,\n" .string "and POKéMON.”$" diff --git a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc index 88d02b29b5..69abb2974d 100644 --- a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc +++ b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc @@ -1,140 +1,140 @@ EverGrandeCity_ChampionsRoom_MapScripts:: @ 82289EF map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_ChampionsRoom_OnTransition - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_ChampionsRoom_MapScript2_228A05 - map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_ChampionsRoom_MapScript2_228A14 + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_ChampionsRoom_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_ChampionsRoom_OnFrame .byte 0 EverGrandeCity_ChampionsRoom_OnTransition: @ 82289FF - call Common_EventScript_SetupRivalGender + call Common_EventScript_SetupRivalGfxId end -EverGrandeCity_ChampionsRoom_MapScript2_228A05: @ 8228A05 - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_ChampionsRoom_EventScript_228A0F +EverGrandeCity_ChampionsRoom_OnWarp: @ 8228A05 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_ChampionsRoom_EventScript_PlayerTurnNorth .2byte 0 -EverGrandeCity_ChampionsRoom_EventScript_228A0F:: @ 8228A0F - turnobject EVENT_OBJ_ID_PLAYER, 2 +EverGrandeCity_ChampionsRoom_EventScript_PlayerTurnNorth:: @ 8228A0F + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end -EverGrandeCity_ChampionsRoom_MapScript2_228A14: @ 8228A14 - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_ChampionsRoom_EventScript_228A1E +EverGrandeCity_ChampionsRoom_OnFrame: @ 8228A14 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_ChampionsRoom_EventScript_EnterRoom .2byte 0 -EverGrandeCity_ChampionsRoom_EventScript_228A1E:: @ 8228A1E +EverGrandeCity_ChampionsRoom_EventScript_EnterRoom:: @ 8228A1E lockall - applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_2725C1 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkUp4 waitmovement 0 delay 40 - applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228A42 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_PlayerApproachWallace waitmovement 0 setvar VAR_TEMP_1, 1 - goto EverGrandeCity_ChampionsRoom_EventScript_228A45 + goto EverGrandeCity_ChampionsRoom_EventScript_Wallace releaseall end -EverGrandeCity_ChampionsRoom_Movement_228A42: @ 8228A42 +EverGrandeCity_ChampionsRoom_Movement_PlayerApproachWallace: @ 8228A42 walk_up walk_up step_end -EverGrandeCity_ChampionsRoom_EventScript_228A45:: @ 8228A45 +EverGrandeCity_ChampionsRoom_EventScript_Wallace:: @ 8228A45 playbgm MUS_DAIGO, 0 - msgbox EverGrandeCity_ChampionsRoom_Text_228C4C, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_WALLACE, EverGrandeCity_ChampionsRoom_Text_228EAC - goto EverGrandeCity_ChampionsRoom_EventScript_228A61 + msgbox EverGrandeCity_ChampionsRoom_Text_IntroSpeech, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_WALLACE, EverGrandeCity_ChampionsRoom_Text_Defeat + goto EverGrandeCity_ChampionsRoom_EventScript_Defeated end -EverGrandeCity_ChampionsRoom_EventScript_228A61:: @ 8228A61 +EverGrandeCity_ChampionsRoom_EventScript_Defeated:: @ 8228A61 playse SE_DOOR setmetatile 6, 1, METATILE_EliteFour_OpenDoorChampion_Frame, 0 setmetatile 6, 2, METATILE_EliteFour_OpenDoorChampion_Opening, 0 special DrawWholeMapView - msgbox EverGrandeCity_ChampionsRoom_Text_228F66, MSGBOX_DEFAULT + msgbox EverGrandeCity_ChampionsRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT closemessage playse SE_DOOR checkplayergender compare VAR_RESULT, MALE - call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228ABC + call_if_eq EverGrandeCity_ChampionsRoom_EventScript_PlayMayMusic compare VAR_RESULT, FEMALE - call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AC1 + call_if_eq EverGrandeCity_ChampionsRoom_EventScript_PlayBrendanMusic addobject 2 - call EverGrandeCity_ChampionsRoom_EventScript_228BFD + call EverGrandeCity_ChampionsRoom_EventScript_RivalApproachPlayer checkplayergender compare VAR_RESULT, MALE - goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AC6 + goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_MayAdvice compare VAR_RESULT, FEMALE - goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AFB + goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_BrendanAdvice end -EverGrandeCity_ChampionsRoom_EventScript_228ABC:: @ 8228ABC +EverGrandeCity_ChampionsRoom_EventScript_PlayMayMusic:: @ 8228ABC playbgm MUS_GIRL_SUP, 0 return -EverGrandeCity_ChampionsRoom_EventScript_228AC1:: @ 8228AC1 +EverGrandeCity_ChampionsRoom_EventScript_PlayBrendanMusic:: @ 8228AC1 playbgm MUS_BOY_SUP, 0 return -EverGrandeCity_ChampionsRoom_EventScript_228AC6:: @ 8228AC6 - msgbox EverGrandeCity_ChampionsRoom_Text_2290CA, MSGBOX_DEFAULT +EverGrandeCity_ChampionsRoom_EventScript_MayAdvice:: @ 8228AC6 + msgbox EverGrandeCity_ChampionsRoom_Text_MayAdvice, MSGBOX_DEFAULT delay 40 playse SE_PIN applymovement 2, Common_Movement_ExclamationMark waitmovement 0 applymovement 2, Common_Movement_Delay48 waitmovement 0 - call EverGrandeCity_ChampionsRoom_EventScript_228C12 - msgbox EverGrandeCity_ChampionsRoom_Text_22910B, MSGBOX_DEFAULT - goto EverGrandeCity_ChampionsRoom_EventScript_228B30 + call EverGrandeCity_ChampionsRoom_EventScript_RivalLookBackAndForth + msgbox EverGrandeCity_ChampionsRoom_Text_MayItsAlreadyOver, MSGBOX_DEFAULT + goto EverGrandeCity_ChampionsRoom_EventScript_BirchArrivesExitForHoF end -EverGrandeCity_ChampionsRoom_EventScript_228AFB:: @ 8228AFB - msgbox EverGrandeCity_ChampionsRoom_Text_229152, MSGBOX_DEFAULT +EverGrandeCity_ChampionsRoom_EventScript_BrendanAdvice:: @ 8228AFB + msgbox EverGrandeCity_ChampionsRoom_Text_BrendanAdvice, MSGBOX_DEFAULT delay 40 playse SE_PIN applymovement 2, Common_Movement_ExclamationMark waitmovement 0 applymovement 2, Common_Movement_Delay48 waitmovement 0 - call EverGrandeCity_ChampionsRoom_EventScript_228C12 - msgbox EverGrandeCity_ChampionsRoom_Text_2291A2, MSGBOX_DEFAULT - goto EverGrandeCity_ChampionsRoom_EventScript_228B30 + call EverGrandeCity_ChampionsRoom_EventScript_RivalLookBackAndForth + msgbox EverGrandeCity_ChampionsRoom_Text_BrendanYouveWon, MSGBOX_DEFAULT + goto EverGrandeCity_ChampionsRoom_EventScript_BirchArrivesExitForHoF end -EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30 +EverGrandeCity_ChampionsRoom_EventScript_BirchArrivesExitForHoF:: @ 8228B30 closemessage addobject 3 - applymovement 3, EverGrandeCity_ChampionsRoom_Movement_228C43 + applymovement 3, EverGrandeCity_ChampionsRoom_Movement_BirchArrives waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox EverGrandeCity_ChampionsRoom_Text_2291E6, MSGBOX_DEFAULT - call EverGrandeCity_ChampionsRoom_EventScript_272184 - msgbox EverGrandeCity_ChampionsRoom_Text_22934D, MSGBOX_DEFAULT - applymovement 1, Common_Movement_WalkInPlaceUp + msgbox EverGrandeCity_ChampionsRoom_Text_BirchArriveRatePokedex, MSGBOX_DEFAULT + call ProfBirch_EventScript_RatePokedex + msgbox EverGrandeCity_ChampionsRoom_Text_BirchCongratulations, MSGBOX_DEFAULT + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 20 - applymovement 1, Common_Movement_WalkInPlaceDown + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox EverGrandeCity_ChampionsRoom_Text_229399, MSGBOX_DEFAULT + msgbox EverGrandeCity_ChampionsRoom_Text_WallaceComeWithMe, MSGBOX_DEFAULT closemessage delay 30 - applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3B - applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228C1D - applymovement 3, Common_Movement_WalkInPlaceUp - applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C38 + applymovement 1, EverGrandeCity_ChampionsRoom_Movement_WallaceExitStart + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_PlayerExitStart + applymovement 3, Common_Movement_WalkInPlaceFastestUp + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_RivalFollows waitmovement 0 delay 20 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox EverGrandeCity_ChampionsRoom_Text_2293EB, MSGBOX_DEFAULT + msgbox EverGrandeCity_ChampionsRoom_Text_WallaceWaitOutside, MSGBOX_DEFAULT checkplayergender compare VAR_RESULT, MALE - call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228BEB + call_if_eq EverGrandeCity_ChampionsRoom_EventScript_MayCongratulations compare VAR_RESULT, FEMALE - call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228BF4 + call_if_eq EverGrandeCity_ChampionsRoom_EventScript_BrendanCongratulations closemessage - applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3F - applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228C20 + applymovement 1, EverGrandeCity_ChampionsRoom_Movement_WallaceExit + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_PlayerExit waitmovement 0 setflag FLAG_HIDE_PETALBURG_GYM_GREETER warp MAP_EVER_GRANDE_CITY_HALL_OF_FAME, 255, 7, 16 @@ -142,32 +142,32 @@ EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30 releaseall end -EverGrandeCity_ChampionsRoom_EventScript_228BEB:: @ 8228BEB - msgbox EverGrandeCity_ChampionsRoom_Text_229479, MSGBOX_DEFAULT +EverGrandeCity_ChampionsRoom_EventScript_MayCongratulations:: @ 8228BEB + msgbox EverGrandeCity_ChampionsRoom_Text_MayCongratulations, MSGBOX_DEFAULT return -EverGrandeCity_ChampionsRoom_EventScript_228BF4:: @ 8228BF4 - msgbox EverGrandeCity_ChampionsRoom_Text_2294F5, MSGBOX_DEFAULT +EverGrandeCity_ChampionsRoom_EventScript_BrendanCongratulations:: @ 8228BF4 + msgbox EverGrandeCity_ChampionsRoom_Text_BrendanCongratulations, MSGBOX_DEFAULT return -EverGrandeCity_ChampionsRoom_EventScript_228BFD:: @ 8228BFD - applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C26 +EverGrandeCity_ChampionsRoom_EventScript_RivalApproachPlayer:: @ 8228BFD + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_RivalApproachPlayer waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -EverGrandeCity_ChampionsRoom_EventScript_228C12:: @ 8228C12 - applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C2F +EverGrandeCity_ChampionsRoom_EventScript_RivalLookBackAndForth:: @ 8228C12 + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_RivalLookBackAndForth waitmovement 0 return -EverGrandeCity_ChampionsRoom_Movement_228C1D: @ 8228C1D +EverGrandeCity_ChampionsRoom_Movement_PlayerExitStart: @ 8228C1D walk_up walk_up step_end -EverGrandeCity_ChampionsRoom_Movement_228C20: @ 8228C20 +EverGrandeCity_ChampionsRoom_Movement_PlayerExit: @ 8228C20 walk_up delay_16 walk_up @@ -175,7 +175,7 @@ EverGrandeCity_ChampionsRoom_Movement_228C20: @ 8228C20 set_invisible step_end -EverGrandeCity_ChampionsRoom_Movement_228C26: @ 8228C26 +EverGrandeCity_ChampionsRoom_Movement_RivalApproachPlayer: @ 8228C26 walk_up walk_up walk_up @@ -186,7 +186,7 @@ EverGrandeCity_ChampionsRoom_Movement_228C26: @ 8228C26 walk_in_place_fastest_right step_end -EverGrandeCity_ChampionsRoom_Movement_228C2F: @ 8228C2F +EverGrandeCity_ChampionsRoom_Movement_RivalLookBackAndForth: @ 8228C2F walk_in_place_fastest_up delay_16 walk_in_place_fastest_right @@ -197,24 +197,24 @@ EverGrandeCity_ChampionsRoom_Movement_228C2F: @ 8228C2F delay_16 step_end -EverGrandeCity_ChampionsRoom_Movement_228C38: @ 8228C38 +EverGrandeCity_ChampionsRoom_Movement_RivalFollows: @ 8228C38 walk_right walk_up step_end -EverGrandeCity_ChampionsRoom_Movement_228C3B: @ 8228C3B +EverGrandeCity_ChampionsRoom_Movement_WallaceExitStart: @ 8228C3B walk_up walk_up walk_in_place_fastest_down step_end -EverGrandeCity_ChampionsRoom_Movement_228C3F: @ 8228C3F +EverGrandeCity_ChampionsRoom_Movement_WallaceExit: @ 8228C3F walk_up delay_8 set_invisible step_end -EverGrandeCity_ChampionsRoom_Movement_228C43: @ 8228C43 +EverGrandeCity_ChampionsRoom_Movement_BirchArrives: @ 8228C43 walk_up walk_up walk_up @@ -225,7 +225,7 @@ EverGrandeCity_ChampionsRoom_Movement_228C43: @ 8228C43 walk_in_place_fastest_left step_end -EverGrandeCity_ChampionsRoom_Text_228C4C: @ 8228C4C +EverGrandeCity_ChampionsRoom_Text_IntroSpeech: @ 8228C4C .string "WALLACE: Welcome, {PLAYER}{KUN}.\p" .string "That incident in SOOTOPOLIS CITY…\n" .string "That was superb work, putting an end\l" @@ -248,7 +248,7 @@ EverGrandeCity_ChampionsRoom_Text_228C4C: @ 8228C4C .string "their POKéMON in HOENN?\p" .string "Show me right here and now!$" -EverGrandeCity_ChampionsRoom_Text_228EAC: @ 8228EAC +EverGrandeCity_ChampionsRoom_Text_Defeat: @ 8228EAC .string "I, the CHAMPION, fall in defeat…\p" .string "That was wonderful work.\n" .string "You were elegant, infuriatingly so.\l" @@ -257,7 +257,7 @@ EverGrandeCity_ChampionsRoom_Text_228EAC: @ 8228EAC .string "You are a truly noble POKéMON\n" .string "TRAINER!$" -EverGrandeCity_ChampionsRoom_Text_228F66: @ 8228F66 +EverGrandeCity_ChampionsRoom_Text_PostBattleSpeech: @ 8228F66 .string "WALLACE: The POKéMON you sent into\n" .string "battle…\p" .string "At times they danced like a spring\n" @@ -272,29 +272,29 @@ EverGrandeCity_ChampionsRoom_Text_228F66: @ 8228F66 .string "I now proclaim you to be the new\n" .string "HOENN region…$" -EverGrandeCity_ChampionsRoom_Text_2290CA: @ 82290CA +EverGrandeCity_ChampionsRoom_Text_MayAdvice: @ 82290CA .string "MAY: {PLAYER}{KUN}!\p" .string "Here's some advice before you challenge\n" .string "the CHAMPION…$" -EverGrandeCity_ChampionsRoom_Text_22910B: @ 822910B +EverGrandeCity_ChampionsRoom_Text_MayItsAlreadyOver: @ 822910B .string "MAY: Huh?\n" .string "What, what, what?\p" .string "{PLAYER}{KUN}…\n" .string "Could it be that…\l" .string "It's already over?$" -EverGrandeCity_ChampionsRoom_Text_229152: @ 8229152 +EverGrandeCity_ChampionsRoom_Text_BrendanAdvice: @ 8229152 .string "BRENDAN: {PLAYER}!\p" .string "How would you like some advice before\n" .string "you challenge the CHAMPION?…$" -EverGrandeCity_ChampionsRoom_Text_2291A2: @ 82291A2 +EverGrandeCity_ChampionsRoom_Text_BrendanYouveWon: @ 82291A2 .string "BRENDAN: {PLAYER}…\p" .string "Are you trying to tell me…\n" .string "You've beaten the CHAMPION?$" -EverGrandeCity_ChampionsRoom_Text_2291E6: @ 82291E6 +EverGrandeCity_ChampionsRoom_Text_BirchArriveRatePokedex: @ 82291E6 .string "PROF. BIRCH: See?\n" .string "What did I tell you, {RIVAL}?\p" .string "Didn't I tell you that you don't need\n" @@ -310,25 +310,25 @@ EverGrandeCity_ChampionsRoom_Text_2291E6: @ 82291E6 .string "What became of your POKéDEX?\n" .string "Here, let me see.$" -EverGrandeCity_ChampionsRoom_Text_22934D: @ 822934D +EverGrandeCity_ChampionsRoom_Text_BirchCongratulations: @ 822934D .string "PROF. BIRCH: Anyways,\n" .string "congratulations!\p" .string "Now, go proudly into the final room!$" -EverGrandeCity_ChampionsRoom_Text_229399: @ 8229399 +EverGrandeCity_ChampionsRoom_Text_WallaceComeWithMe: @ 8229399 .string "WALLACE: {PLAYER}{KUN}…\p" .string "No, let me rephrase that properly.\p" .string "The new CHAMPION!\p" .string "Come with me.$" -EverGrandeCity_ChampionsRoom_Text_2293EB: @ 82293EB +EverGrandeCity_ChampionsRoom_Text_WallaceWaitOutside: @ 82293EB .string "WALLACE: I'm sorry, but…\p" .string "From here on, only those TRAINERS who\n" .string "have become CHAMPIONS may enter.\p" .string "You'll have to wait outside with\n" .string "PROF. BIRCH.$" -EverGrandeCity_ChampionsRoom_Text_229479: @ 8229479 +EverGrandeCity_ChampionsRoom_Text_MayCongratulations: @ 8229479 .string "MAY: Groan…\p" .string "… … … … … … … …\n" .string "… … … … … … … …\p" @@ -337,7 +337,7 @@ EverGrandeCity_ChampionsRoom_Text_229479: @ 8229479 .string "{PLAYER}{KUN}!\n" .string "Honestly, congratulations!$" -EverGrandeCity_ChampionsRoom_Text_2294F5: @ 82294F5 +EverGrandeCity_ChampionsRoom_Text_BrendanCongratulations: @ 82294F5 .string "BRENDAN: Whaaaat?! … … … … …\n" .string "… … … … … … … …\p" .string "It can't be helped if that's the rule.\p" diff --git a/data/maps/EverGrandeCity_DrakesRoom/map.json b/data/maps/EverGrandeCity_DrakesRoom/map.json index 4fb0d16ef6..5ff9107909 100644 --- a/data/maps/EverGrandeCity_DrakesRoom/map.json +++ b/data/maps/EverGrandeCity_DrakesRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_DrakesRoom_EventScript_2286F3", + "script": "EverGrandeCity_DrakesRoom_EventScript_Drake", "flag": "0" } ], diff --git a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc index ed8d82be26..0b5462c1c6 100644 --- a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc +++ b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc @@ -1,67 +1,68 @@ EverGrandeCity_DrakesRoom_MapScripts:: @ 822869C - map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_DrakesRoom_MapScript2_2286BB - map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_DrakesRoom_MapScript1_2286D2 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_DrakesRoom_MapScript2_227F3E + map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_DrakesRoom_OnFrame + map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_DrakesRoom_OnLoad + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_SidneysRoom_OnWarp .byte 0 -EverGrandeCity_DrakesRoom_MapScript2_2286AC: @ 82286AC - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_DrakesRoom_EventScript_2286B6 +@ Unused, Drake uses Sidneys identical OnWarp for some reason +EverGrandeCity_DrakesRoom_OnWarp: @ 82286AC + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_DrakesRoom_EventScript_PlayerTurnNorth .2byte 0 -EverGrandeCity_DrakesRoom_EventScript_2286B6:: @ 82286B6 - turnobject EVENT_OBJ_ID_PLAYER, 2 +EverGrandeCity_DrakesRoom_EventScript_PlayerTurnNorth:: @ 82286B6 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end -EverGrandeCity_DrakesRoom_MapScript2_2286BB: @ 82286BB - map_script_2 VAR_ELITE_4_STATE, 3, EverGrandeCity_DrakesRoom_EventScript_2286C5 +EverGrandeCity_DrakesRoom_OnFrame: @ 82286BB + map_script_2 VAR_ELITE_4_STATE, 3, EverGrandeCity_DrakesRoom_EventScript_WalkInCloseDoor .2byte 0 -EverGrandeCity_DrakesRoom_EventScript_2286C5:: @ 82286C5 +EverGrandeCity_DrakesRoom_EventScript_WalkInCloseDoor:: @ 82286C5 lockall - call EverGrandeCity_DrakesRoom_EventScript_272475 + call PokemonLeague_EliteFour_EventScript_WalkInCloseDoor setvar VAR_ELITE_4_STATE, 4 releaseall end -EverGrandeCity_DrakesRoom_MapScript1_2286D2: @ 82286D2 - call_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_2286E7 +EverGrandeCity_DrakesRoom_OnLoad: @ 82286D2 + call_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_ResetAdvanceToNextRoom compare VAR_ELITE_4_STATE, 4 - call_if_eq EverGrandeCity_DrakesRoom_EventScript_2286ED + call_if_eq EverGrandeCity_DrakesRoom_EventScript_CloseDoor end -EverGrandeCity_DrakesRoom_EventScript_2286E7:: @ 82286E7 - call EverGrandeCity_DrakesRoom_EventScript_2724BC +EverGrandeCity_DrakesRoom_EventScript_ResetAdvanceToNextRoom:: @ 82286E7 + call PokemonLeague_EliteFour_EventScript_ResetAdvanceToNextRoom return -EverGrandeCity_DrakesRoom_EventScript_2286ED:: @ 82286ED - call EverGrandeCity_DrakesRoom_EventScript_27255F +EverGrandeCity_DrakesRoom_EventScript_CloseDoor:: @ 82286ED + call PokemonLeague_EliteFour_EventScript_CloseDoor return -EverGrandeCity_DrakesRoom_EventScript_2286F3:: @ 82286F3 +EverGrandeCity_DrakesRoom_EventScript_Drake:: @ 82286F3 lock faceplayer - goto_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_22871A + goto_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_PostBattleSpeech playbgm MUS_SITENNOU, 0 - msgbox EverGrandeCity_DrakesRoom_Text_22873E, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_DRAKE, EverGrandeCity_DrakesRoom_Text_228895 - goto EverGrandeCity_DrakesRoom_EventScript_228724 + msgbox EverGrandeCity_DrakesRoom_Text_IntroSpeech, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_DRAKE, EverGrandeCity_DrakesRoom_Text_Defeat + goto EverGrandeCity_DrakesRoom_EventScript_Defeated end -EverGrandeCity_DrakesRoom_EventScript_22871A:: @ 822871A - msgbox EverGrandeCity_DrakesRoom_Text_2288B0, MSGBOX_DEFAULT +EverGrandeCity_DrakesRoom_EventScript_PostBattleSpeech:: @ 822871A + msgbox EverGrandeCity_DrakesRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT release end -EverGrandeCity_DrakesRoom_EventScript_228724:: @ 8228724 +EverGrandeCity_DrakesRoom_EventScript_Defeated:: @ 8228724 setvar VAR_0x8004, 0 - special sub_813BF7C + special Script_TryGainNewFanFromCounter setflag FLAG_DEFEATED_ELITE_4_DRAKE - call EverGrandeCity_DrakesRoom_EventScript_2723F8 - msgbox EverGrandeCity_DrakesRoom_Text_2288B0, MSGBOX_DEFAULT + call PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles + msgbox EverGrandeCity_DrakesRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT release end -EverGrandeCity_DrakesRoom_Text_22873E: @ 822873E +EverGrandeCity_DrakesRoom_Text_IntroSpeech: @ 822873E .string "I am the last of the POKéMON LEAGUE\n" .string "ELITE FOUR, DRAKE the DRAGON master!\p" .string "In their natural state, POKéMON are\n" @@ -74,10 +75,10 @@ EverGrandeCity_DrakesRoom_Text_22873E: @ 822873E .string "If you don't, then you will never\n" .string "prevail over me!$" -EverGrandeCity_DrakesRoom_Text_228895: @ 8228895 +EverGrandeCity_DrakesRoom_Text_Defeat: @ 8228895 .string "Superb, it should be said.$" -EverGrandeCity_DrakesRoom_Text_2288B0: @ 82288B0 +EverGrandeCity_DrakesRoom_Text_PostBattleSpeech: @ 82288B0 .string "You deserve every credit for coming\n" .string "this far as a TRAINER of POKéMON.\p" .string "You do seem to know what is needed.\p" diff --git a/data/maps/EverGrandeCity_GlaciasRoom/map.json b/data/maps/EverGrandeCity_GlaciasRoom/map.json index ea3116460d..8d220202e4 100644 --- a/data/maps/EverGrandeCity_GlaciasRoom/map.json +++ b/data/maps/EverGrandeCity_GlaciasRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_GlaciasRoom_EventScript_228469", + "script": "EverGrandeCity_GlaciasRoom_EventScript_Glacia", "flag": "0" } ], diff --git a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc index 24960d95ef..f852015a79 100644 --- a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc +++ b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc @@ -1,65 +1,65 @@ EverGrandeCity_GlaciasRoom_MapScripts:: @ 8228412 - map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_GlaciasRoom_MapScript2_228431 - map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_GlaciasRoom_MapScript1_228448 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_GlaciasRoom_MapScript2_228422 + map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_GlaciasRoom_OnFrame + map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_GlaciasRoom_OnLoad + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_GlaciasRoom_OnWarp .byte 0 -EverGrandeCity_GlaciasRoom_MapScript2_228422: @ 8228422 - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_GlaciasRoom_EventScript_22842C +EverGrandeCity_GlaciasRoom_OnWarp: @ 8228422 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_GlaciasRoom_EventScript_PlayerTurnNorth .2byte 0 -EverGrandeCity_GlaciasRoom_EventScript_22842C:: @ 822842C - turnobject EVENT_OBJ_ID_PLAYER, 2 +EverGrandeCity_GlaciasRoom_EventScript_PlayerTurnNorth:: @ 822842C + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end -EverGrandeCity_GlaciasRoom_MapScript2_228431: @ 8228431 - map_script_2 VAR_ELITE_4_STATE, 2, EverGrandeCity_GlaciasRoom_EventScript_22843B +EverGrandeCity_GlaciasRoom_OnFrame: @ 8228431 + map_script_2 VAR_ELITE_4_STATE, 2, EverGrandeCity_GlaciasRoom_EventScript_WalkInCloseDoor .2byte 0 -EverGrandeCity_GlaciasRoom_EventScript_22843B:: @ 822843B +EverGrandeCity_GlaciasRoom_EventScript_WalkInCloseDoor:: @ 822843B lockall - call EverGrandeCity_GlaciasRoom_EventScript_272475 + call PokemonLeague_EliteFour_EventScript_WalkInCloseDoor setvar VAR_ELITE_4_STATE, 3 releaseall end -EverGrandeCity_GlaciasRoom_MapScript1_228448: @ 8228448 - call_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_22845D +EverGrandeCity_GlaciasRoom_OnLoad: @ 8228448 + call_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_ResetAdvanceToNextRoom compare VAR_ELITE_4_STATE, 3 - call_if_eq EverGrandeCity_GlaciasRoom_EventScript_228463 + call_if_eq EverGrandeCity_GlaciasRoom_EventScript_CloseDoor end -EverGrandeCity_GlaciasRoom_EventScript_22845D:: @ 822845D - call EverGrandeCity_GlaciasRoom_EventScript_2724BC +EverGrandeCity_GlaciasRoom_EventScript_ResetAdvanceToNextRoom:: @ 822845D + call PokemonLeague_EliteFour_EventScript_ResetAdvanceToNextRoom return -EverGrandeCity_GlaciasRoom_EventScript_228463:: @ 8228463 - call EverGrandeCity_GlaciasRoom_EventScript_27255F +EverGrandeCity_GlaciasRoom_EventScript_CloseDoor:: @ 8228463 + call PokemonLeague_EliteFour_EventScript_CloseDoor return -EverGrandeCity_GlaciasRoom_EventScript_228469:: @ 8228469 +EverGrandeCity_GlaciasRoom_EventScript_Glacia:: @ 8228469 lock faceplayer - goto_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_228490 + goto_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_PostBattleSpeech playbgm MUS_SITENNOU, 0 - msgbox EverGrandeCity_GlaciasRoom_Text_2284AC, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_GLACIA, EverGrandeCity_GlaciasRoom_Text_2285B4 - goto EverGrandeCity_GlaciasRoom_EventScript_22849A + msgbox EverGrandeCity_GlaciasRoom_Text_IntroSpeech, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_GLACIA, EverGrandeCity_GlaciasRoom_Text_Defeat + goto EverGrandeCity_GlaciasRoom_EventScript_Defeated end -EverGrandeCity_GlaciasRoom_EventScript_228490:: @ 8228490 - msgbox EverGrandeCity_GlaciasRoom_Text_228640, MSGBOX_DEFAULT +EverGrandeCity_GlaciasRoom_EventScript_PostBattleSpeech:: @ 8228490 + msgbox EverGrandeCity_GlaciasRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT release end -EverGrandeCity_GlaciasRoom_EventScript_22849A:: @ 822849A +EverGrandeCity_GlaciasRoom_EventScript_Defeated:: @ 822849A setflag FLAG_DEFEATED_ELITE_4_GLACIA - call EverGrandeCity_GlaciasRoom_EventScript_2723F8 - msgbox EverGrandeCity_GlaciasRoom_Text_228640, MSGBOX_DEFAULT + call PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles + msgbox EverGrandeCity_GlaciasRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT release end -EverGrandeCity_GlaciasRoom_Text_2284AC: @ 82284AC +EverGrandeCity_GlaciasRoom_Text_IntroSpeech: @ 82284AC .string "Welcome, my name is GLACIA\n" .string "of the ELITE FOUR.\p" .string "I've traveled from afar to HOENN\n" @@ -70,14 +70,14 @@ EverGrandeCity_GlaciasRoom_Text_2284AC: @ 82284AC .string "It would please me to no end if I could\n" .string "go all out against you!$" -EverGrandeCity_GlaciasRoom_Text_2285B4: @ 82285B4 +EverGrandeCity_GlaciasRoom_Text_Defeat: @ 82285B4 .string "You and your POKéMON…\n" .string "How hot your spirits burn!\p" .string "The all-consuming heat overwhelms.\p" .string "It's no surprise that my icy skills\n" .string "failed to harm you.$" -EverGrandeCity_GlaciasRoom_Text_228640: @ 8228640 +EverGrandeCity_GlaciasRoom_Text_PostBattleSpeech: @ 8228640 .string "Advance to the next room.\p" .string "And there, confirm the truly fearsome\n" .string "side of the POKéMON LEAGUE.$" diff --git a/data/maps/EverGrandeCity_Hall1/scripts.inc b/data/maps/EverGrandeCity_Hall1/scripts.inc index d9a7adfe32..cd9bd27c14 100644 --- a/data/maps/EverGrandeCity_Hall1/scripts.inc +++ b/data/maps/EverGrandeCity_Hall1/scripts.inc @@ -1,12 +1,12 @@ EverGrandeCity_Hall1_MapScripts:: @ 8229569 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall1_MapScript2_22956F + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall1_OnWarp .byte 0 -EverGrandeCity_Hall1_MapScript2_22956F: @ 822956F - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall1_EventScript_229579 +EverGrandeCity_Hall1_OnWarp: @ 822956F + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall1_EventScript_TurnPlayerNorth .2byte 0 -EverGrandeCity_Hall1_EventScript_229579:: @ 8229579 - turnobject EVENT_OBJ_ID_PLAYER, 2 +EverGrandeCity_Hall1_EventScript_TurnPlayerNorth:: @ 8229579 + 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 b831d0fd58..4591aa111d 100644 --- a/data/maps/EverGrandeCity_Hall2/scripts.inc +++ b/data/maps/EverGrandeCity_Hall2/scripts.inc @@ -1,12 +1,12 @@ EverGrandeCity_Hall2_MapScripts:: @ 822957E - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall2_MapScript2_229584 + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall2_OnWarp .byte 0 -EverGrandeCity_Hall2_MapScript2_229584: @ 8229584 - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall2_EventScript_22958E +EverGrandeCity_Hall2_OnWarp: @ 8229584 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall2_EventScript_TurnPlayerNorth .2byte 0 -EverGrandeCity_Hall2_EventScript_22958E:: @ 822958E - turnobject EVENT_OBJ_ID_PLAYER, 2 +EverGrandeCity_Hall2_EventScript_TurnPlayerNorth:: @ 822958E + 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 d75cf95b60..7bd895fd07 100644 --- a/data/maps/EverGrandeCity_Hall3/scripts.inc +++ b/data/maps/EverGrandeCity_Hall3/scripts.inc @@ -1,12 +1,12 @@ EverGrandeCity_Hall3_MapScripts:: @ 8229593 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall3_MapScript2_229599 + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall3_OnWarp .byte 0 -EverGrandeCity_Hall3_MapScript2_229599: @ 8229599 - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall3_EventScript_2295A3 +EverGrandeCity_Hall3_OnWarp: @ 8229599 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall3_EventScript_TurnPlayerNorth .2byte 0 -EverGrandeCity_Hall3_EventScript_2295A3:: @ 82295A3 - turnobject EVENT_OBJ_ID_PLAYER, 2 +EverGrandeCity_Hall3_EventScript_TurnPlayerNorth:: @ 82295A3 + 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 faf20646aa..54d7adfc38 100644 --- a/data/maps/EverGrandeCity_Hall4/scripts.inc +++ b/data/maps/EverGrandeCity_Hall4/scripts.inc @@ -1,12 +1,12 @@ EverGrandeCity_Hall4_MapScripts:: @ 82295A8 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall4_MapScript2_2295AE + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall4_OnWarp .byte 0 -EverGrandeCity_Hall4_MapScript2_2295AE: @ 82295AE - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall4_EventScript_2295B8 +EverGrandeCity_Hall4_OnWarp: @ 82295AE + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall4_EventScript_TurnPlayerNorth .2byte 0 -EverGrandeCity_Hall4_EventScript_2295B8:: @ 82295B8 - turnobject EVENT_OBJ_ID_PLAYER, 2 +EverGrandeCity_Hall4_EventScript_TurnPlayerNorth:: @ 82295B8 + 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 e586958c2a..1ba85b999a 100644 --- a/data/maps/EverGrandeCity_Hall5/scripts.inc +++ b/data/maps/EverGrandeCity_Hall5/scripts.inc @@ -1,12 +1,12 @@ EverGrandeCity_Hall5_MapScripts:: @ 82295BD - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall5_MapScript2_2295C3 + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall5_OnWarp .byte 0 -EverGrandeCity_Hall5_MapScript2_2295C3: @ 82295C3 - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall5_EventScript_2295CD +EverGrandeCity_Hall5_OnWarp: @ 82295C3 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall5_EventScript_TurnPlayerNorth .2byte 0 -EverGrandeCity_Hall5_EventScript_2295CD:: @ 82295CD - turnobject EVENT_OBJ_ID_PLAYER, 2 +EverGrandeCity_Hall5_EventScript_TurnPlayerNorth:: @ 82295CD + 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 343614d852..89cda0e40c 100644 --- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc +++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc @@ -1,72 +1,72 @@ EverGrandeCity_HallOfFame_MapScripts:: @ 822982C - map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_HallOfFame_MapScript2_229846 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_HallOfFame_MapScript2_229837 + map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_HallOfFame_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_HallOfFame_OnWarp .byte 0 -EverGrandeCity_HallOfFame_MapScript2_229837: @ 8229837 - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_HallOfFame_EventScript_229841 +EverGrandeCity_HallOfFame_OnWarp: @ 8229837 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_HallOfFame_EventScript_TurnPlayerNorth .2byte 0 -EverGrandeCity_HallOfFame_EventScript_229841:: @ 8229841 - turnobject EVENT_OBJ_ID_PLAYER, 2 +EverGrandeCity_HallOfFame_EventScript_TurnPlayerNorth:: @ 8229841 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end -EverGrandeCity_HallOfFame_MapScript2_229846: @ 8229846 - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_HallOfFame_EventScript_229850 +EverGrandeCity_HallOfFame_OnFrame: @ 8229846 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_HallOfFame_EventScript_EnterHallOfFame .2byte 0 -EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850 +EverGrandeCity_HallOfFame_EventScript_EnterHallOfFame:: @ 8229850 lockall - applymovement 1, EverGrandeCity_HallOfFame_Movement_229901 - applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_229901 + applymovement 1, EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame1 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame1 waitmovement 0 - applymovement 1, Common_Movement_WalkInPlaceRight - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement 1, Common_Movement_WalkInPlaceFastestRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox EverGrandeCity_HallOfFame_Text_22990E, MSGBOX_DEFAULT + msgbox EverGrandeCity_HallOfFame_Text_HereWeHonorLeagueChampions, MSGBOX_DEFAULT closemessage - applymovement 1, EverGrandeCity_HallOfFame_Movement_229908 - applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_229908 + applymovement 1, EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame2 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame2 waitmovement 0 delay 20 - applymovement 1, Common_Movement_WalkInPlaceRight - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement 1, Common_Movement_WalkInPlaceFastestRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox EverGrandeCity_HallOfFame_Text_2299A3, MSGBOX_DEFAULT + msgbox EverGrandeCity_HallOfFame_Text_LetsRecordYouAndYourPartnersNames, MSGBOX_DEFAULT closemessage - applymovement 1, Common_Movement_WalkInPlaceUp - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 20 dofieldeffect FLDEFF_HALL_OF_FAME_RECORD waitfieldeffect FLDEFF_HALL_OF_FAME_RECORD delay 40 setvar VAR_TEMP_1, 1 - call EverGrandeCity_HallOfFame_EventScript_2717C1 + call EverGrandeCity_HallOfFame_EventScript_SetGameClearFlags checkplayergender compare VAR_RESULT, MALE - goto_if_eq EverGrandeCity_HallOfFame_EventScript_2298E9 + goto_if_eq EverGrandeCity_HallOfFame_EventScript_GameClearMale compare VAR_RESULT, FEMALE - goto_if_eq EverGrandeCity_HallOfFame_EventScript_2298F5 + goto_if_eq EverGrandeCity_HallOfFame_EventScript_GameClearFemale end -EverGrandeCity_HallOfFame_EventScript_2298E9:: @ 82298E9 +EverGrandeCity_HallOfFame_EventScript_GameClearMale:: @ 82298E9 setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F - fadescreenspeed 1, 24 + fadescreenspeed FADE_TO_BLACK, 24 special GameClear waitstate releaseall end -EverGrandeCity_HallOfFame_EventScript_2298F5:: @ 82298F5 +EverGrandeCity_HallOfFame_EventScript_GameClearFemale:: @ 82298F5 setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F - fadescreenspeed 1, 24 + fadescreenspeed FADE_TO_BLACK, 24 special GameClear waitstate releaseall end -EverGrandeCity_HallOfFame_Movement_229901: @ 8229901 +EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame1: @ 8229901 walk_up walk_up walk_up @@ -75,7 +75,7 @@ EverGrandeCity_HallOfFame_Movement_229901: @ 8229901 walk_up step_end -EverGrandeCity_HallOfFame_Movement_229908: @ 8229908 +EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame2: @ 8229908 walk_up walk_up walk_up @@ -83,7 +83,7 @@ EverGrandeCity_HallOfFame_Movement_229908: @ 8229908 walk_up step_end -EverGrandeCity_HallOfFame_Text_22990E: @ 822990E +EverGrandeCity_HallOfFame_Text_HereWeHonorLeagueChampions: @ 822990E .string "WALLACE: This room…\p" .string "This is where we keep records of\n" .string "POKéMON that prevailed through\l" @@ -91,7 +91,7 @@ EverGrandeCity_HallOfFame_Text_22990E: @ 822990E .string "It is here that the LEAGUE CHAMPIONS\n" .string "are honored.$" -EverGrandeCity_HallOfFame_Text_2299A3: @ 82299A3 +EverGrandeCity_HallOfFame_Text_LetsRecordYouAndYourPartnersNames: @ 82299A3 .string "WALLACE: Come on, let's record your\n" .string "name as a TRAINER who triumphed over\l" .string "the POKéMON LEAGUE, and the names of\l" diff --git a/data/maps/EverGrandeCity_PhoebesRoom/map.json b/data/maps/EverGrandeCity_PhoebesRoom/map.json index a0072fd08f..73ee3357d1 100644 --- a/data/maps/EverGrandeCity_PhoebesRoom/map.json +++ b/data/maps/EverGrandeCity_PhoebesRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PhoebesRoom_EventScript_2281CB", + "script": "EverGrandeCity_PhoebesRoom_EventScript_Phoebe", "flag": "0" } ], diff --git a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc index 971eff7ca7..538e561cf4 100644 --- a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc +++ b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc @@ -1,65 +1,65 @@ EverGrandeCity_PhoebesRoom_MapScripts:: @ 8228174 - map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_PhoebesRoom_MapScript1_2281AA - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_PhoebesRoom_MapScript2_228184 - map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_PhoebesRoom_MapScript2_228193 + map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_PhoebesRoom_OnLoad + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_PhoebesRoom_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_PhoebesRoom_OnFrame .byte 0 -EverGrandeCity_PhoebesRoom_MapScript2_228184: @ 8228184 - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_PhoebesRoom_EventScript_22818E +EverGrandeCity_PhoebesRoom_OnWarp: @ 8228184 + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_PhoebesRoom_EventScript_PlayerTurnNorth .2byte 0 -EverGrandeCity_PhoebesRoom_EventScript_22818E:: @ 822818E - turnobject EVENT_OBJ_ID_PLAYER, 2 +EverGrandeCity_PhoebesRoom_EventScript_PlayerTurnNorth:: @ 822818E + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end -EverGrandeCity_PhoebesRoom_MapScript2_228193: @ 8228193 - map_script_2 VAR_ELITE_4_STATE, 1, EverGrandeCity_PhoebesRoom_EventScript_22819D +EverGrandeCity_PhoebesRoom_OnFrame: @ 8228193 + map_script_2 VAR_ELITE_4_STATE, 1, EverGrandeCity_PhoebesRoom_EventScript_WalkInCloseDoor .2byte 0 -EverGrandeCity_PhoebesRoom_EventScript_22819D:: @ 822819D +EverGrandeCity_PhoebesRoom_EventScript_WalkInCloseDoor:: @ 822819D lockall - call EverGrandeCity_PhoebesRoom_EventScript_272475 + call PokemonLeague_EliteFour_EventScript_WalkInCloseDoor setvar VAR_ELITE_4_STATE, 2 releaseall end -EverGrandeCity_PhoebesRoom_MapScript1_2281AA: @ 82281AA - call_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_2281BF +EverGrandeCity_PhoebesRoom_OnLoad: @ 82281AA + call_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_ResetAdvanceToNextRoom compare VAR_ELITE_4_STATE, 2 - call_if_eq EverGrandeCity_PhoebesRoom_EventScript_2281C5 + call_if_eq EverGrandeCity_PhoebesRoom_EventScript_CloseDoor end -EverGrandeCity_PhoebesRoom_EventScript_2281BF:: @ 82281BF - call EverGrandeCity_PhoebesRoom_EventScript_2724BC +EverGrandeCity_PhoebesRoom_EventScript_ResetAdvanceToNextRoom:: @ 82281BF + call PokemonLeague_EliteFour_EventScript_ResetAdvanceToNextRoom return -EverGrandeCity_PhoebesRoom_EventScript_2281C5:: @ 82281C5 - call EverGrandeCity_PhoebesRoom_EventScript_27255F +EverGrandeCity_PhoebesRoom_EventScript_CloseDoor:: @ 82281C5 + call PokemonLeague_EliteFour_EventScript_CloseDoor return -EverGrandeCity_PhoebesRoom_EventScript_2281CB:: @ 82281CB +EverGrandeCity_PhoebesRoom_EventScript_Phoebe:: @ 82281CB lock faceplayer - goto_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_2281F2 + goto_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_PostBattleSpeech playbgm MUS_SITENNOU, 0 - msgbox EverGrandeCity_PhoebesRoom_Text_22820E, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_PHOEBE, EverGrandeCity_PhoebesRoom_Text_228325 - goto EverGrandeCity_PhoebesRoom_EventScript_2281FC + msgbox EverGrandeCity_PhoebesRoom_Text_IntroSpeech, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_PHOEBE, EverGrandeCity_PhoebesRoom_Text_Defeat + goto EverGrandeCity_PhoebesRoom_EventScript_Defeated end -EverGrandeCity_PhoebesRoom_EventScript_2281F2:: @ 82281F2 - msgbox EverGrandeCity_PhoebesRoom_Text_228343, MSGBOX_DEFAULT +EverGrandeCity_PhoebesRoom_EventScript_PostBattleSpeech:: @ 82281F2 + msgbox EverGrandeCity_PhoebesRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT release end -EverGrandeCity_PhoebesRoom_EventScript_2281FC:: @ 82281FC +EverGrandeCity_PhoebesRoom_EventScript_Defeated:: @ 82281FC setflag FLAG_DEFEATED_ELITE_4_PHOEBE - call EverGrandeCity_PhoebesRoom_EventScript_2723F8 - msgbox EverGrandeCity_PhoebesRoom_Text_228343, MSGBOX_DEFAULT + call PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles + msgbox EverGrandeCity_PhoebesRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT release end -EverGrandeCity_PhoebesRoom_Text_22820E: @ 822820E +EverGrandeCity_PhoebesRoom_Text_IntroSpeech: @ 822820E .string "Ahahaha!\p" .string "I'm PHOEBE of the ELITE FOUR.\n" .string "I did my training on MT. PYRE.\p" @@ -70,11 +70,11 @@ EverGrandeCity_PhoebesRoom_Text_22820E: @ 822820E .string "So, come on, just try and see if you can\n" .string "even inflict damage on my POKéMON!$" -EverGrandeCity_PhoebesRoom_Text_228325: @ 8228325 +EverGrandeCity_PhoebesRoom_Text_Defeat: @ 8228325 .string "Oh, darn.\n" .string "I've gone and lost.$" -EverGrandeCity_PhoebesRoom_Text_228343: @ 8228343 +EverGrandeCity_PhoebesRoom_Text_PostBattleSpeech: @ 8228343 .string "There's a definite bond between you\n" .string "and your POKéMON, too.\p" .string "I didn't recognize it, so it's only\n" diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/map.json b/data/maps/EverGrandeCity_PokemonCenter_1F/map.json index 38c527b34e..23bbe085f2 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_1F/map.json +++ b/data/maps/EverGrandeCity_PokemonCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonCenter_1F_EventScript_229A59", + "script": "EverGrandeCity_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonCenter_1F_EventScript_229A67", + "script": "EverGrandeCity_PokemonCenter_1F_EventScript_Woman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonCenter_1F_EventScript_229A70", + "script": "EverGrandeCity_PokemonCenter_1F_EventScript_ExpertM", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonCenter_1F_EventScript_229A79", + "script": "EverGrandeCity_PokemonCenter_1F_EventScript_Scott", "flag": "FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT" } ], diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc index 0b292530eb..95be20f751 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc @@ -1,45 +1,46 @@ EverGrandeCity_PokemonCenter_1F_MapScripts:: @ 8229A34 map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, EverGrandeCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 EverGrandeCity_PokemonCenter_1F_OnTransition: @ 8229A3F setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_1 - call_if_unset FLAG_MET_SCOTT_IN_EVERGRANDE, EverGrandeCity_PokemonCenter_1F_EventScript_229A4C + call_if_unset FLAG_MET_SCOTT_IN_EVERGRANDE, EverGrandeCity_PokemonCenter_1F_EventScript_TryShowScott end -EverGrandeCity_PokemonCenter_1F_EventScript_229A4C:: @ 8229A4C +EverGrandeCity_PokemonCenter_1F_EventScript_TryShowScott:: @ 8229A4C goto_if_unset FLAG_BADGE06_GET, Common_EventScript_NopReturn clearflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT return -EverGrandeCity_PokemonCenter_1F_EventScript_229A59:: @ 8229A59 +@ VAR_0x800B is the Nurse's object event id +EverGrandeCity_PokemonCenter_1F_EventScript_Nurse:: @ 8229A59 setvar VAR_0x800B, 1 - call EverGrandeCity_PokemonCenter_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -EverGrandeCity_PokemonCenter_1F_EventScript_229A67:: @ 8229A67 - msgbox EverGrandeCity_PokemonCenter_1F_Text_229ADA, MSGBOX_NPC +EverGrandeCity_PokemonCenter_1F_EventScript_Woman:: @ 8229A67 + msgbox EverGrandeCity_PokemonCenter_1F_Text_LeagueAfterVictoryRoad, MSGBOX_NPC end -EverGrandeCity_PokemonCenter_1F_EventScript_229A70:: @ 8229A70 - msgbox EverGrandeCity_PokemonCenter_1F_Text_229B62, MSGBOX_NPC +EverGrandeCity_PokemonCenter_1F_EventScript_ExpertM:: @ 8229A70 + msgbox EverGrandeCity_PokemonCenter_1F_Text_BelieveInYourPokemon, MSGBOX_NPC end -EverGrandeCity_PokemonCenter_1F_EventScript_229A79:: @ 8229A79 +EverGrandeCity_PokemonCenter_1F_EventScript_Scott:: @ 8229A79 lock faceplayer - msgbox EverGrandeCity_PokemonCenter_1F_Text_229BF1, MSGBOX_DEFAULT + msgbox EverGrandeCity_PokemonCenter_1F_Text_ScottHappyForYou, MSGBOX_DEFAULT closemessage - compare VAR_FACING, 2 - call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_229AB6 - compare VAR_FACING, 4 - call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_229AC1 - compare VAR_FACING, 3 - call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_229AC1 + compare VAR_FACING, DIR_NORTH + call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_ScottExitNorth + compare VAR_FACING, DIR_EAST + call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_ScottExit + compare VAR_FACING, DIR_WEST + call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_ScottExit addvar VAR_SCOTT_STATE, 1 setflag FLAG_MET_SCOTT_IN_EVERGRANDE playse SE_KAIDAN @@ -48,17 +49,17 @@ EverGrandeCity_PokemonCenter_1F_EventScript_229A79:: @ 8229A79 release end -EverGrandeCity_PokemonCenter_1F_EventScript_229AB6:: @ 8229AB6 - applymovement 4, EverGrandeCity_PokemonCenter_1F_Movement_229ACC +EverGrandeCity_PokemonCenter_1F_EventScript_ScottExitNorth:: @ 8229AB6 + applymovement 4, EverGrandeCity_PokemonCenter_1F_Movement_ScottExitNorth waitmovement 0 return -EverGrandeCity_PokemonCenter_1F_EventScript_229AC1:: @ 8229AC1 - applymovement 4, EverGrandeCity_PokemonCenter_1F_Movement_229AD3 +EverGrandeCity_PokemonCenter_1F_EventScript_ScottExit:: @ 8229AC1 + applymovement 4, EverGrandeCity_PokemonCenter_1F_Movement_ScottExit waitmovement 0 return -EverGrandeCity_PokemonCenter_1F_Movement_229ACC: @ 8229ACC +EverGrandeCity_PokemonCenter_1F_Movement_ScottExitNorth: @ 8229ACC walk_left walk_down walk_down @@ -67,7 +68,7 @@ EverGrandeCity_PokemonCenter_1F_Movement_229ACC: @ 8229ACC walk_down step_end -EverGrandeCity_PokemonCenter_1F_Movement_229AD3: @ 8229AD3 +EverGrandeCity_PokemonCenter_1F_Movement_ScottExit: @ 8229AD3 walk_down walk_down walk_left @@ -76,20 +77,20 @@ EverGrandeCity_PokemonCenter_1F_Movement_229AD3: @ 8229AD3 walk_down step_end -EverGrandeCity_PokemonCenter_1F_Text_229ADA: @ 8229ADA +EverGrandeCity_PokemonCenter_1F_Text_LeagueAfterVictoryRoad: @ 8229ADA .string "The POKéMON LEAGUE is only a short\n" .string "distance after the VICTORY ROAD.\p" .string "If you've come this far, what choice\n" .string "do you have but to keep going?$" -EverGrandeCity_PokemonCenter_1F_Text_229B62: @ 8229B62 +EverGrandeCity_PokemonCenter_1F_Text_BelieveInYourPokemon: @ 8229B62 .string "The long and harrowing VICTORY ROAD…\p" .string "It's like reliving the path one has\n" .string "traveled in life…\p" .string "Believe in your POKéMON and give it\n" .string "your very best!$" -EverGrandeCity_PokemonCenter_1F_Text_229BF1: @ 8229BF1 +EverGrandeCity_PokemonCenter_1F_Text_ScottHappyForYou: @ 8229BF1 .string "SCOTT: {PLAYER}{KUN}, you've clawed your\n" .string "way up to face the POKéMON LEAGUE!\p" .string "I'm happy for you!\n" diff --git a/data/maps/EverGrandeCity_PokemonCenter_2F/map.json b/data/maps/EverGrandeCity_PokemonCenter_2F/map.json index f1dcd3868b..b995908296 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_2F/map.json +++ b/data/maps/EverGrandeCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc index 690032b8a4..f52419d605 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc @@ -1,20 +1,21 @@ EverGrandeCity_PokemonCenter_2F_MapScripts:: @ 8229CE0 - map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -EverGrandeCity_PokemonCenter_2F_EventScript_229CF5:: @ 8229CF5 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +EverGrandeCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8229CF5 + call CableClub_EventScript_Colosseum end -EverGrandeCity_PokemonCenter_2F_EventScript_229CFB:: @ 8229CFB - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +EverGrandeCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8229CFB + call CableClub_EventScript_TradeCenter end -EverGrandeCity_PokemonCenter_2F_EventScript_229D01:: @ 8229D01 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +EverGrandeCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 8229D01 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/map.json b/data/maps/EverGrandeCity_PokemonLeague_1F/map.json index 2a9efbeaf9..8efb63b9a2 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_1F/map.json +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonLeague_1F_EventScript_2295FC", + "script": "EverGrandeCity_PokemonLeague_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonLeague_1F_EventScript_22960A", + "script": "EverGrandeCity_PokemonLeague_1F_EventScript_Clerk", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonLeague_1F_EventScript_229636", + "script": "EverGrandeCity_PokemonLeague_1F_EventScript_DoorGuard", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonLeague_1F_EventScript_229636", + "script": "EverGrandeCity_PokemonLeague_1F_EventScript_DoorGuard", "flag": "0" } ], diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc index f688918eaf..8140258953 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc @@ -1,39 +1,40 @@ EverGrandeCity_PokemonLeague_1F_MapScripts:: @ 82295D2 map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_PokemonLeague_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, EverGrandeCity_PokemonLeague_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 EverGrandeCity_PokemonLeague_1F_OnTransition: @ 82295DD setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_2 setflag FLAG_LANDMARK_POKEMON_LEAGUE - call_if_unset FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_1F_EventScript_2295ED + call_if_unset FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_1F_EventScript_GuardsBlockDoor end -EverGrandeCity_PokemonLeague_1F_EventScript_2295ED:: @ 82295ED +EverGrandeCity_PokemonLeague_1F_EventScript_GuardsBlockDoor:: @ 82295ED setobjectxyperm 3, 9, 2 setobjectxyperm 4, 10, 2 return -EverGrandeCity_PokemonLeague_1F_EventScript_2295FC:: @ 82295FC +@ VAR_0x800B is the Nurse's object event id +EverGrandeCity_PokemonLeague_1F_EventScript_Nurse:: @ 82295FC setvar VAR_0x800B, 1 - call EverGrandeCity_PokemonLeague_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -EverGrandeCity_PokemonLeague_1F_EventScript_22960A:: @ 822960A +EverGrandeCity_PokemonLeague_1F_EventScript_Clerk:: @ 822960A lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart EverGrandeCity_PokemonLeague_1F_Pokemart_229624 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart EverGrandeCity_PokemonLeague_1F_Pokemart + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -EverGrandeCity_PokemonLeague_1F_Pokemart_229624: @ 8229624 +EverGrandeCity_PokemonLeague_1F_Pokemart: @ 8229624 .2byte ITEM_ULTRA_BALL .2byte ITEM_HYPER_POTION .2byte ITEM_MAX_POTION @@ -45,25 +46,27 @@ EverGrandeCity_PokemonLeague_1F_Pokemart_229624: @ 8229624 release end -EverGrandeCity_PokemonLeague_1F_EventScript_229636:: @ 8229636 +@ The door guards only check for FLAG_BADGE06_GET because Winonas badge is the only one that can be skipped +@ Its assumed the player has the remaining badges +EverGrandeCity_PokemonLeague_1F_EventScript_DoorGuard:: @ 8229636 lockall - goto_if_set FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_1F_EventScript_2296BB + goto_if_set FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_1F_EventScript_GoForth getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_TEMP_0, 11 - call_if_ge EverGrandeCity_PokemonLeague_1F_EventScript_229698 + call_if_ge EverGrandeCity_PokemonLeague_1F_EventScript_PlayerMoveToFrontFromRight compare VAR_TEMP_0, 8 - call_if_le EverGrandeCity_PokemonLeague_1F_EventScript_2296A3 - message EverGrandeCity_PokemonLeague_1F_Text_2296E8 + call_if_le EverGrandeCity_PokemonLeague_1F_EventScript_PlayerMoveToFrontFromLeft + message EverGrandeCity_PokemonLeague_1F_Text_MustHaveAllGymBadges waitmessage delay 120 - goto_if_unset FLAG_BADGE06_GET, EverGrandeCity_PokemonLeague_1F_EventScript_2296AE + goto_if_unset FLAG_BADGE06_GET, EverGrandeCity_PokemonLeague_1F_EventScript_NotAllBadges closemessage - applymovement 3, EverGrandeCity_PokemonLeague_1F_Movement_2296E2 - applymovement 4, EverGrandeCity_PokemonLeague_1F_Movement_2296E5 + applymovement 3, EverGrandeCity_PokemonLeague_1F_Movement_LeftGuardOutOfWay + applymovement 4, EverGrandeCity_PokemonLeague_1F_Movement_RightGuardOutOfWay waitmovement 0 delay 10 playfanfare MUS_ME_BACHI - message EverGrandeCity_PokemonLeague_1F_Text_2297EF + message EverGrandeCity_PokemonLeague_1F_Text_GoForth waitmessage waitfanfare closemessage @@ -73,67 +76,67 @@ EverGrandeCity_PokemonLeague_1F_EventScript_229636:: @ 8229636 releaseall end -EverGrandeCity_PokemonLeague_1F_EventScript_229698:: @ 8229698 - applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_2296DA +EverGrandeCity_PokemonLeague_1F_EventScript_PlayerMoveToFrontFromRight:: @ 8229698 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_MoveToFrontFromRight waitmovement 0 return -EverGrandeCity_PokemonLeague_1F_EventScript_2296A3:: @ 82296A3 - applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_2296DE +EverGrandeCity_PokemonLeague_1F_EventScript_PlayerMoveToFrontFromLeft:: @ 82296A3 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_MoveToFrontFromLeft waitmovement 0 return -EverGrandeCity_PokemonLeague_1F_EventScript_2296AE:: @ 82296AE +EverGrandeCity_PokemonLeague_1F_EventScript_NotAllBadges:: @ 82296AE playse SE_HAZURE - msgbox EverGrandeCity_PokemonLeague_1F_Text_229787, MSGBOX_DEFAULT + msgbox EverGrandeCity_PokemonLeague_1F_Text_HaventObtainedAllBadges, MSGBOX_DEFAULT releaseall end -EverGrandeCity_PokemonLeague_1F_EventScript_2296BB:: @ 82296BB +EverGrandeCity_PokemonLeague_1F_EventScript_GoForth:: @ 82296BB applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer waitmovement 0 - msgbox EverGrandeCity_PokemonLeague_1F_Text_2297EF, MSGBOX_DEFAULT + msgbox EverGrandeCity_PokemonLeague_1F_Text_GoForth, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end -EverGrandeCity_PokemonLeague_1F_Movement_2296DA: @ 82296DA +EverGrandeCity_PokemonLeague_1F_Movement_MoveToFrontFromRight: @ 82296DA walk_down walk_left walk_in_place_fastest_up step_end -EverGrandeCity_PokemonLeague_1F_Movement_2296DE: @ 82296DE +EverGrandeCity_PokemonLeague_1F_Movement_MoveToFrontFromLeft: @ 82296DE walk_down walk_right walk_in_place_fastest_up step_end -EverGrandeCity_PokemonLeague_1F_Movement_2296E2: @ 82296E2 +EverGrandeCity_PokemonLeague_1F_Movement_LeftGuardOutOfWay: @ 82296E2 walk_left walk_in_place_fastest_down step_end -EverGrandeCity_PokemonLeague_1F_Movement_2296E5: @ 82296E5 +EverGrandeCity_PokemonLeague_1F_Movement_RightGuardOutOfWay: @ 82296E5 walk_right walk_in_place_fastest_down step_end -EverGrandeCity_PokemonLeague_1F_Text_2296E8: @ 82296E8 +EverGrandeCity_PokemonLeague_1F_Text_MustHaveAllGymBadges: @ 82296E8 .string "Beyond this point, only those TRAINERS\n" .string "who have collected all the GYM BADGES\l" .string "are permitted to enter.\p" .string "TRAINER, let us confirm that you have\n" .string "all the GYM BADGES.$" -EverGrandeCity_PokemonLeague_1F_Text_229787: @ 8229787 +EverGrandeCity_PokemonLeague_1F_Text_HaventObtainedAllBadges: @ 8229787 .string "You haven't obtained all the BADGES.\p" .string "If you're bound for the POKéMON\n" .string "LEAGUE, you must return with them.$" -EverGrandeCity_PokemonLeague_1F_Text_2297EF: @ 82297EF +EverGrandeCity_PokemonLeague_1F_Text_GoForth: @ 82297EF .string "TRAINER! Believe in yourself and your\n" .string "POKéMON, and go forth!$" diff --git a/data/maps/EverGrandeCity_PokemonLeague_2F/map.json b/data/maps/EverGrandeCity_PokemonLeague_2F/map.json index 0d0bb68a10..a016be34be 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_2F/map.json +++ b/data/maps/EverGrandeCity_PokemonLeague_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonLeague_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonLeague_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonLeague_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_PokemonLeague_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc index 2a2652938d..b860f95b87 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc @@ -1,19 +1,20 @@ EverGrandeCity_PokemonLeague_2F_MapScripts:: @ 8229D07 - map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_PokemonLeague_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_PokemonLeague_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_PokemonLeague_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -EverGrandeCity_PokemonLeague_2F_EventScript_229D1C:: @ 8229D1C - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +EverGrandeCity_PokemonLeague_2F_EventScript_Colosseum:: @ 8229D1C + call CableClub_EventScript_Colosseum end -EverGrandeCity_PokemonLeague_2F_EventScript_229D22:: @ 8229D22 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +EverGrandeCity_PokemonLeague_2F_EventScript_TradeCenter:: @ 8229D22 + call CableClub_EventScript_TradeCenter end -EverGrandeCity_PokemonLeague_2F_EventScript_229D28:: @ 8229D28 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +EverGrandeCity_PokemonLeague_2F_EventScript_RecordCorner:: @ 8229D28 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/EverGrandeCity_SidneysRoom/map.json b/data/maps/EverGrandeCity_SidneysRoom/map.json index 87545b5973..0aa57a944b 100644 --- a/data/maps/EverGrandeCity_SidneysRoom/map.json +++ b/data/maps/EverGrandeCity_SidneysRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "EverGrandeCity_SidneysRoom_EventScript_227F64", + "script": "EverGrandeCity_SidneysRoom_EventScript_Sidney", "flag": "0" } ], diff --git a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc index 380b3aaf76..d671f49235 100644 --- a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc +++ b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc @@ -1,8 +1,8 @@ EverGrandeCity_SidneysRoom_MapScripts:: @ 8227F01 - map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_SidneysRoom_MapScript1_227F1D - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_SidneysRoom_MapScript2_227F3E + map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_SidneysRoom_OnLoad + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_SidneysRoom_OnWarp map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_SidneysRoom_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_SidneysRoom_MapScript2_227F4D + map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_SidneysRoom_OnFrame .byte 0 EverGrandeCity_SidneysRoom_OnTransition: @ 8227F16 @@ -10,63 +10,62 @@ EverGrandeCity_SidneysRoom_OnTransition: @ 8227F16 setflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT end -EverGrandeCity_SidneysRoom_MapScript1_227F1D: @ 8227F1D - call_if_set FLAG_DEFEATED_ELITE_4_SIDNEY, EverGrandeCity_SidneysRoom_EventScript_227F32 +EverGrandeCity_SidneysRoom_OnLoad: @ 8227F1D + call_if_set FLAG_DEFEATED_ELITE_4_SIDNEY, EverGrandeCity_SidneysRoom_EventScript_ResetAdvanceToNextRoom compare VAR_ELITE_4_STATE, 1 - call_if_eq EverGrandeCity_SidneysRoom_EventScript_227F38 + call_if_eq EverGrandeCity_SidneysRoom_EventScript_CloseDoor end -EverGrandeCity_SidneysRoom_EventScript_227F32:: @ 8227F32 - call EverGrandeCity_SidneysRoom_EventScript_2724BC +EverGrandeCity_SidneysRoom_EventScript_ResetAdvanceToNextRoom:: @ 8227F32 + call PokemonLeague_EliteFour_EventScript_ResetAdvanceToNextRoom return -EverGrandeCity_SidneysRoom_EventScript_227F38:: @ 8227F38 - call EverGrandeCity_SidneysRoom_EventScript_27255F +EverGrandeCity_SidneysRoom_EventScript_CloseDoor:: @ 8227F38 + call PokemonLeague_EliteFour_EventScript_CloseDoor return -EverGrandeCity_DrakesRoom_MapScript2_227F3E: @ 8227F3E -EverGrandeCity_SidneysRoom_MapScript2_227F3E: @ 8227F3E - map_script_2 VAR_TEMP_1, 0, EverGrandeCity_SidneysRoom_EventScript_227F48 +EverGrandeCity_SidneysRoom_OnWarp: @ 8227F3E + map_script_2 VAR_TEMP_1, 0, EverGrandeCity_SidneysRoom_EventScript_PlayerTurnNorth .2byte 0 -EverGrandeCity_SidneysRoom_EventScript_227F48:: @ 8227F48 - turnobject EVENT_OBJ_ID_PLAYER, 2 +EverGrandeCity_SidneysRoom_EventScript_PlayerTurnNorth:: @ 8227F48 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end -EverGrandeCity_SidneysRoom_MapScript2_227F4D: @ 8227F4D - map_script_2 VAR_ELITE_4_STATE, 0, EverGrandeCity_SidneysRoom_EventScript_227F57 +EverGrandeCity_SidneysRoom_OnFrame: @ 8227F4D + map_script_2 VAR_ELITE_4_STATE, 0, EverGrandeCity_SidneysRoom_EventScript_WalkInCloseDoor .2byte 0 -EverGrandeCity_SidneysRoom_EventScript_227F57:: @ 8227F57 +EverGrandeCity_SidneysRoom_EventScript_WalkInCloseDoor:: @ 8227F57 lockall - call EverGrandeCity_SidneysRoom_EventScript_272475 + call PokemonLeague_EliteFour_EventScript_WalkInCloseDoor setvar VAR_ELITE_4_STATE, 1 releaseall end -EverGrandeCity_SidneysRoom_EventScript_227F64:: @ 8227F64 +EverGrandeCity_SidneysRoom_EventScript_Sidney:: @ 8227F64 lock faceplayer - goto_if_set FLAG_DEFEATED_ELITE_4_SIDNEY, EverGrandeCity_SidneysRoom_EventScript_227F8B + goto_if_set FLAG_DEFEATED_ELITE_4_SIDNEY, EverGrandeCity_SidneysRoom_EventScript_PostBattleSpeech playbgm MUS_SITENNOU, 0 - msgbox EverGrandeCity_SidneysRoom_Text_227FA7, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_SIDNEY, EverGrandeCity_SidneysRoom_Text_2280A2 - goto EverGrandeCity_SidneysRoom_EventScript_227F95 + msgbox EverGrandeCity_SidneysRoom_Text_IntroSpeech, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_SIDNEY, EverGrandeCity_SidneysRoom_Text_Defeat + goto EverGrandeCity_SidneysRoom_EventScript_Defeated end -EverGrandeCity_SidneysRoom_EventScript_227F8B:: @ 8227F8B - msgbox EverGrandeCity_SidneysRoom_Text_2280EC, MSGBOX_DEFAULT +EverGrandeCity_SidneysRoom_EventScript_PostBattleSpeech:: @ 8227F8B + msgbox EverGrandeCity_SidneysRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT release end -EverGrandeCity_SidneysRoom_EventScript_227F95:: @ 8227F95 +EverGrandeCity_SidneysRoom_EventScript_Defeated:: @ 8227F95 setflag FLAG_DEFEATED_ELITE_4_SIDNEY - call EverGrandeCity_SidneysRoom_EventScript_2723F8 - msgbox EverGrandeCity_SidneysRoom_Text_2280EC, MSGBOX_DEFAULT + call PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles + msgbox EverGrandeCity_SidneysRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT release end -EverGrandeCity_SidneysRoom_Text_227FA7: @ 8227FA7 +EverGrandeCity_SidneysRoom_Text_IntroSpeech: @ 8227FA7 .string "Welcome, challenger!\n" .string "I'm SIDNEY of the ELITE FOUR.\p" .string "I like that look you're giving me.\n" @@ -76,11 +75,11 @@ EverGrandeCity_SidneysRoom_Text_227FA7: @ 8227FA7 .string "a battle that can only be staged\l" .string "here in the POKéMON LEAGUE!$" -EverGrandeCity_SidneysRoom_Text_2280A2: @ 82280A2 +EverGrandeCity_SidneysRoom_Text_Defeat: @ 82280A2 .string "Well, how do you like that? I lost!\n" .string "Eh, it was fun, so it doesn't matter.$" -EverGrandeCity_SidneysRoom_Text_2280EC: @ 82280EC +EverGrandeCity_SidneysRoom_Text_PostBattleSpeech: @ 82280EC .string "Well, listen to what this loser has\n" .string "to say.\p" .string "You've got what it takes to go far.\n" diff --git a/data/maps/FallarborTown/map.json b/data/maps/FallarborTown/map.json index 8633191843..b0475451ae 100644 --- a/data/maps/FallarborTown/map.json +++ b/data/maps/FallarborTown/map.json @@ -35,7 +35,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_EventScript_1EB22B", + "script": "FallarborTown_EventScript_Girl", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_EventScript_1EB20C", + "script": "FallarborTown_EventScript_ExpertM", "flag": "0" }, { @@ -61,7 +61,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_EventScript_1EB234", + "script": "FallarborTown_EventScript_Gentleman", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_EventScript_1EB23D", + "script": "FallarborTown_EventScript_Azurill", "flag": "FLAG_HIDE_FALLARBOR_AZURILL" } ], @@ -104,14 +104,14 @@ "x": 6, "y": 17, "elevation": 0, - "dest_map": "MAP_FALLARBOR_TOWN_HOUSE1", + "dest_map": "MAP_FALLARBOR_TOWN_COZMOS_HOUSE", "dest_warp_id": 0 }, { "x": 1, "y": 6, "elevation": 0, - "dest_map": "MAP_FALLARBOR_TOWN_HOUSE2", + "dest_map": "MAP_FALLARBOR_TOWN_MOVE_RELEARNERS_HOUSE", "dest_warp_id": 0 } ], @@ -139,7 +139,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "FallarborTown_EventScript_1EB250" + "script": "FallarborTown_EventScript_BattleTentSign" }, { "type": "sign", @@ -155,7 +155,7 @@ "y": 11, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "FallarborTown_EventScript_1EB259" + "script": "FallarborTown_EventScript_TownSign" }, { "type": "sign", @@ -171,7 +171,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "FallarborTown_EventScript_1EB262" + "script": "FallarborTown_EventScript_MoveTutorSign" }, { "type": "hidden_item", diff --git a/data/maps/FallarborTown/scripts.inc b/data/maps/FallarborTown/scripts.inc index 15942007b7..a94c81ae9c 100644 --- a/data/maps/FallarborTown/scripts.inc +++ b/data/maps/FallarborTown/scripts.inc @@ -4,74 +4,74 @@ FallarborTown_MapScripts:: @ 81EB1FA FallarborTown_OnTransition: @ 81EB200 setflag FLAG_VISITED_FALLARBOR_TOWN - setvar VAR_LINK_CONTEST_ROOM_STATE, 0 + setvar VAR_CONTEST_HALL_STATE, 0 clearflag FLAG_CONTEST_SKETCH_CREATED end -FallarborTown_EventScript_1EB20C:: @ 81EB20C +FallarborTown_EventScript_ExpertM:: @ 81EB20C lock faceplayer - goto_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FallarborTown_EventScript_1EB221 - msgbox FallarborTown_Text_1EB26B, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FallarborTown_EventScript_ExpertMNormal + msgbox FallarborTown_Text_ShadyCharactersCozmosHome, MSGBOX_DEFAULT release end -FallarborTown_EventScript_1EB221:: @ 81EB221 - msgbox FallarborTown_Text_1EB2DE, MSGBOX_DEFAULT +FallarborTown_EventScript_ExpertMNormal:: @ 81EB221 + msgbox FallarborTown_Text_RegionKnownForMeteors, MSGBOX_DEFAULT release end -FallarborTown_EventScript_1EB22B:: @ 81EB22B - msgbox FallarborTown_Text_1EB35F, MSGBOX_NPC +FallarborTown_EventScript_Girl:: @ 81EB22B + msgbox FallarborTown_Text_MyPreciousAzurill, MSGBOX_NPC end -FallarborTown_EventScript_1EB234:: @ 81EB234 - msgbox FallarborTown_Text_1EB3CA, MSGBOX_NPC +FallarborTown_EventScript_Gentleman:: @ 81EB234 + msgbox FallarborTown_Text_HaveYouChallengedFlannery, MSGBOX_NPC end -FallarborTown_EventScript_1EB23D:: @ 81EB23D +FallarborTown_EventScript_Azurill:: @ 81EB23D lock faceplayer waitse playmoncry SPECIES_AZURILL, 0 - msgbox FallarborTown_Text_1EB3B5, MSGBOX_DEFAULT + msgbox FallarborTown_Text_Azurill, MSGBOX_DEFAULT waitmoncry release end -FallarborTown_EventScript_1EB250:: @ 81EB250 - msgbox FallarborTown_Text_1EB4C2, MSGBOX_SIGN +FallarborTown_EventScript_BattleTentSign:: @ 81EB250 + msgbox FallarborTown_Text_BattleTentSign, MSGBOX_SIGN end -FallarborTown_EventScript_1EB259:: @ 81EB259 - msgbox FallarborTown_Text_1EB4FE, MSGBOX_SIGN +FallarborTown_EventScript_TownSign:: @ 81EB259 + msgbox FallarborTown_Text_TownSign, MSGBOX_SIGN end -FallarborTown_EventScript_1EB262:: @ 81EB262 - msgbox FallarborTown_Text_1EB534, MSGBOX_SIGN +FallarborTown_EventScript_MoveTutorSign:: @ 81EB262 + msgbox FallarborTown_Text_MoveTutorSign, MSGBOX_SIGN end -FallarborTown_Text_1EB26B: @ 81EB26B +FallarborTown_Text_ShadyCharactersCozmosHome: @ 81EB26B .string "Something's happening,\n" .string "and I don't like it!\p" .string "I've seen shady characters wandering\n" .string "in and out of PROF. COZMO's home…$" -FallarborTown_Text_1EB2DE: @ 81EB2DE +FallarborTown_Text_RegionKnownForMeteors: @ 81EB2DE .string "This region's been known for meteors\n" .string "since the olden days.\p" .string "They say METEOR FALLS was gouged out\n" .string "by a falling meteorite long ago.$" -FallarborTown_Text_1EB35F: @ 81EB35F +FallarborTown_Text_MyPreciousAzurill: @ 81EB35F .string "See! Take a look!\n" .string "This is my precious AZURILL!\p" .string "It's slick and smooth and plushy, too!$" -FallarborTown_Text_1EB3B5: @ 81EB3B5 +FallarborTown_Text_Azurill: @ 81EB3B5 .string "AZURILL: Rooreelooo.$" -FallarborTown_Text_1EB3CA: @ 81EB3CA +FallarborTown_Text_HaveYouChallengedFlannery: @ 81EB3CA .string "Have you already challenged FLANNERY,\n" .string "the LEADER of LAVARIDGE GYM?\p" .string "The girl's grandfather was famous.\n" @@ -81,15 +81,15 @@ FallarborTown_Text_1EB3CA: @ 81EB3CA .string "become a great TRAINER in her own\l" .string "right.$" -FallarborTown_Text_1EB4C2: @ 81EB4C2 +FallarborTown_Text_BattleTentSign: @ 81EB4C2 .string "BATTLE TENT FALLARBOR SITE\n" .string "“May the Greatest Teams Gather!”$" -FallarborTown_Text_1EB4FE: @ 81EB4FE +FallarborTown_Text_TownSign: @ 81EB4FE .string "FALLARBOR TOWN\n" .string "“A farm community with small gardens.”$" -FallarborTown_Text_1EB534: @ 81EB534 +FallarborTown_Text_MoveTutorSign: @ 81EB534 .string "MOVE TUTOR'S HOUSE\n" .string "“New moves taught to POKéMON.”$" diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc index 7501f6e8d9..d60b561ce7 100644 --- a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc +++ b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc @@ -1,223 +1,198 @@ FallarborTown_BattleTentBattleRoom_MapScripts:: @ 8200899 map_script MAP_SCRIPT_ON_TRANSITION, FallarborTown_BattleTentBattleRoom_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentBattleRoom_MapScript2_2008DD - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FallarborTown_BattleTentBattleRoom_MapScript2_200BB0 + map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentBattleRoom_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FallarborTown_BattleTentBattleRoom_OnWarp .byte 0 + @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden + @ The player is represented instead by object event 1, which has the gfx id VAR_OBJ_GFX_ID_1 + @ The opponent is represented by object event 3, which has the gfx id VAR_OBJ_GFX_ID_0 + FallarborTown_BattleTentBattleRoom_OnTransition: @ 82008A9 - call FallarborTown_BattleTentBattleRoom_EventScript_2008AF + call FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfx end -FallarborTown_BattleTentBattleRoom_EventScript_2008AF:: @ 82008AF +FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfx:: @ 82008AF checkplayergender compare VAR_RESULT, MALE - goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_2008C7 + goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfxMale compare VAR_RESULT, FEMALE - goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_2008D2 + goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale return -FallarborTown_BattleTentBattleRoom_EventScript_2008C7:: @ 82008C7 +FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfxMale:: @ 82008C7 setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL return -FallarborTown_BattleTentBattleRoom_EventScript_2008D2:: @ 82008D2 +FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale:: @ 82008D2 setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL return -FallarborTown_BattleTentBattleRoom_MapScript2_2008DD: @ 82008DD - map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentBattleRoom_EventScript_2008E7 +FallarborTown_BattleTentBattleRoom_OnFrame: @ 82008DD + map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentBattleRoom_EventScript_EnterRoom .2byte 0 -FallarborTown_BattleTentBattleRoom_EventScript_2008E7:: @ 82008E7 +FallarborTown_BattleTentBattleRoom_EventScript_EnterRoom:: @ 82008E7 lockall showobjectat 1, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM - applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B8D + applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_PlayerEnter waitmovement 0 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc + frontier_get FRONTIER_DATA_BATTLE_NUM compare VAR_RESULT, 0 - goto_if_ne FallarborTown_BattleTentBattleRoom_EventScript_200B73 - -FallarborTown_BattleTentBattleRoom_EventScript_20090F:: @ 820090F - setvar VAR_0x8004, 3 - special sub_8161F74 + goto_if_ne FallarborTown_BattleTentBattleRoom_EventScript_ResumeChallenge +FallarborTown_BattleTentBattleRoom_EventScript_NextOpponentEnter:: @ 820090F + tower_setopponent addobject 3 - applymovement 3, FallarborTown_BattleTentBattleRoom_Movement_200B96 + applymovement 3, FallarborTown_BattleTentBattleRoom_Movement_OpponentEnter waitmovement 0 - applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA3 + applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_AttendantJump playse SE_W187 waitse waitmovement 0 - msgbox FallarborTown_BattleTentBattleRoom_Text_257C93, MSGBOX_DEFAULT - setvar VAR_0x8004, 4 - special sub_81B99B4 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_SetKOTourneyBegin, MSGBOX_DEFAULT + battletent_getopponentintro msgbox gStringVar4, MSGBOX_DEFAULT waitmessage - call FallarborTown_BattleTentBattleRoom_EventScript_257B6C + call BattleFrontier_BattleArenaBattleRoom_EventScript_DoArenaBattle switch VAR_RESULT - case 1, FallarborTown_BattleTentBattleRoom_EventScript_20099C - applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA3 + case 1, FallarborTown_BattleTentBattleRoom_EventScript_DefeatedOpponent + applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_AttendantJump playse SE_W173 waitse waitmovement 0 - setvar VAR_0x8004, 6 - special sub_81B9B80 - msgbox FallarborTown_BattleTentBattleRoom_Text_257CCE, MSGBOX_DEFAULT - -FallarborTown_BattleTentBattleRoom_EventScript_20097E:: @ 820097E - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 4 - special CallFrontierUtilFunc + fallarbortent_getopponentname + msgbox BattleFrontier_BattleArenaBattleRoom_Text_WinnerIsOpponent, MSGBOX_DEFAULT +FallarborTown_BattleTentBattleRoom_EventScript_WarpToLobbyLost:: @ 820097E + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST special LoadPlayerParty warp MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6 waitstate -FallarborTown_BattleTentBattleRoom_EventScript_20099C:: @ 820099C - applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA3 +FallarborTown_BattleTentBattleRoom_EventScript_DefeatedOpponent:: @ 820099C + applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_AttendantJump playse SE_BAN waitse waitmovement 0 - msgbox FallarborTown_BattleTentBattleRoom_Text_257CB3, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleArenaBattleRoom_Text_WinnerIsPlayer, MSGBOX_DEFAULT closemessage - -FallarborTown_BattleTentBattleRoom_EventScript_2009B3:: @ 82009B3 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc +FallarborTown_BattleTentBattleRoom_EventScript_IncrementBattleNum:: @ 82009B3 + frontier_get FRONTIER_DATA_BATTLE_NUM addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT switch VAR_RESULT - case 3, FallarborTown_BattleTentBattleRoom_EventScript_200AF3 - applymovement 3, FallarborTown_BattleTentBattleRoom_Movement_200B9E + case 3, FallarborTown_BattleTentBattleRoom_EventScript_WarpToLobbyWon + applymovement 3, FallarborTown_BattleTentBattleRoom_Movement_OpponentExit waitmovement 0 removeobject 3 - applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA6 + applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_AttendantApproachPlayer waitmovement 0 - applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B94 + applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_PlayerFaceAttendant waitmovement 0 - msgbox FallarborTown_BattleTentBattleRoom_Text_257CE9, MSGBOX_DEFAULT + msgbox BattleFrontier_BattleArenaBattleRoom_Text_MonsWillBeRestored, MSGBOX_DEFAULT special LoadPlayerParty special SavePlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc + frontier_setpartyorder FRONTIER_PARTY_SIZE playfanfare MUS_ME_ASA waitfanfare special HealPlayerParty - -FallarborTown_BattleTentBattleRoom_EventScript_200A2A:: @ 8200A2A - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc +FallarborTown_BattleTentBattleRoom_EventScript_AskContinueChallenge:: @ 8200A2A + frontier_get FRONTIER_DATA_BATTLE_NUM compare VAR_RESULT, 1 - call_if_eq FallarborTown_BattleTentBattleRoom_EventScript_200B43 + call_if_eq FallarborTown_BattleTentBattleRoom_EventScript_ReadyFor2ndOpponent compare VAR_RESULT, 2 - call_if_eq FallarborTown_BattleTentBattleRoom_EventScript_200B4A - multichoice 20, 6, 104, 1 + call_if_eq FallarborTown_BattleTentBattleRoom_EventScript_ReadyFor3rdOpponent + multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1 switch VAR_RESULT - case 0, FallarborTown_BattleTentBattleRoom_EventScript_200AD8 - case 1, FallarborTown_BattleTentBattleRoom_EventScript_200A78 - case 2, FallarborTown_BattleTentBattleRoom_EventScript_200AA6 + case 0, FallarborTown_BattleTentBattleRoom_EventScript_ContinueChallenge + case 1, FallarborTown_BattleTentBattleRoom_EventScript_AskPauseChallenge + case 2, FallarborTown_BattleTentBattleRoom_EventScript_AskRetireChallenge -FallarborTown_BattleTentBattleRoom_EventScript_200A78:: @ 8200A78 - msgbox FallarborTown_BattleTentBattleRoom_Text_257E6B, MSGBOX_YESNO +FallarborTown_BattleTentBattleRoom_EventScript_AskPauseChallenge:: @ 8200A78 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_SaveAndShutDown, MSGBOX_YESNO switch VAR_RESULT - case 0, FallarborTown_BattleTentBattleRoom_EventScript_200A2A - case 1, FallarborTown_BattleTentBattleRoom_EventScript_200B51 - case 127, FallarborTown_BattleTentBattleRoom_EventScript_200A2A + case NO, FallarborTown_BattleTentBattleRoom_EventScript_AskContinueChallenge + case YES, FallarborTown_BattleTentBattleRoom_EventScript_PauseChallenge + case MULTI_B_PRESSED, FallarborTown_BattleTentBattleRoom_EventScript_AskContinueChallenge -FallarborTown_BattleTentBattleRoom_EventScript_200AA6:: @ 8200AA6 - message FallarborTown_BattleTentBattleRoom_Text_257E9E +FallarborTown_BattleTentBattleRoom_EventScript_AskRetireChallenge:: @ 8200AA6 + message BattleFrontier_BattleArenaBattleRoom_Text_RetireFromChallenge waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, FallarborTown_BattleTentBattleRoom_EventScript_200A2A - case 0, FallarborTown_BattleTentBattleRoom_EventScript_20097E - case 127, FallarborTown_BattleTentBattleRoom_EventScript_200A2A + case 1, FallarborTown_BattleTentBattleRoom_EventScript_AskContinueChallenge + case 0, FallarborTown_BattleTentBattleRoom_EventScript_WarpToLobbyLost + case MULTI_B_PRESSED, FallarborTown_BattleTentBattleRoom_EventScript_AskContinueChallenge -FallarborTown_BattleTentBattleRoom_EventScript_200AD8:: @ 8200AD8 +FallarborTown_BattleTentBattleRoom_EventScript_ContinueChallenge:: @ 8200AD8 closemessage - applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BAB + applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_AttendantReturnToPos waitmovement 0 - applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B92 + applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_PlayerFaceBattle waitmovement 0 - goto FallarborTown_BattleTentBattleRoom_EventScript_20090F + goto FallarborTown_BattleTentBattleRoom_EventScript_NextOpponentEnter waitstate -FallarborTown_BattleTentBattleRoom_EventScript_200AF3:: @ 8200AF3 +FallarborTown_BattleTentBattleRoom_EventScript_WarpToLobbyWon:: @ 8200AF3 delay 60 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 3 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON special LoadPlayerParty warp MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6 waitstate - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - special CallBattleArenaFunction - compare VAR_RESULT, 9999 - goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_2009B3 + +@ Unreachable code block? The flow into the next block also doesnt make sense + arena_get ARENA_DATA_WIN_STREAK + compare VAR_RESULT, MAX_STREAK + goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_IncrementBattleNum addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - copyvar VAR_0x8006, VAR_RESULT - special CallBattleArenaFunction + arena_set ARENA_DATA_WIN_STREAK, VAR_RESULT +@ See above -FallarborTown_BattleTentBattleRoom_EventScript_200B43:: @ 8200B43 - message FallarborTown_BattleTentBattleRoom_Text_257D17 +FallarborTown_BattleTentBattleRoom_EventScript_ReadyFor2ndOpponent:: @ 8200B43 + message BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor2ndOpponent waitmessage return -FallarborTown_BattleTentBattleRoom_EventScript_200B4A:: @ 8200B4A - message FallarborTown_BattleTentBattleRoom_Text_257D50 +FallarborTown_BattleTentBattleRoom_EventScript_ReadyFor3rdOpponent:: @ 8200B4A + message BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor3rdOpponent waitmessage return -FallarborTown_BattleTentBattleRoom_EventScript_200B51:: @ 8200B51 - message FallarborTown_BattleTentBattleRoom_Text_257EDB +FallarborTown_BattleTentBattleRoom_EventScript_PauseChallenge:: @ 8200B51 + message BattleFrontier_BattleArenaBattleRoom_Text_SavingPleaseWait waitmessage - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 2 - special sub_81B9B80 + fallarbortent_save CHALLENGE_STATUS_PAUSED playse SE_SAVE waitse - fadescreen 1 - setvar VAR_0x8004, 4 - special CallFrontierUtilFunc + fadescreen FADE_TO_BLACK + frontier_reset end -FallarborTown_BattleTentBattleRoom_EventScript_200B73:: @ 8200B73 - applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA6 +FallarborTown_BattleTentBattleRoom_EventScript_ResumeChallenge:: @ 8200B73 + applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_AttendantApproachPlayer waitmovement 0 - applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B94 + applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_PlayerFaceAttendant waitmovement 0 - goto FallarborTown_BattleTentBattleRoom_EventScript_200A2A + goto FallarborTown_BattleTentBattleRoom_EventScript_AskContinueChallenge end -FallarborTown_BattleTentBattleRoom_Movement_200B8D: @ 8200B8D +FallarborTown_BattleTentBattleRoom_Movement_PlayerEnter: @ 8200B8D walk_up walk_up walk_up walk_in_place_fastest_right step_end -FallarborTown_BattleTentBattleRoom_Movement_200B92: @ 8200B92 +FallarborTown_BattleTentBattleRoom_Movement_PlayerFaceBattle: @ 8200B92 walk_in_place_fastest_right step_end -FallarborTown_BattleTentBattleRoom_Movement_200B94: @ 8200B94 +FallarborTown_BattleTentBattleRoom_Movement_PlayerFaceAttendant: @ 8200B94 walk_in_place_fastest_left step_end -FallarborTown_BattleTentBattleRoom_Movement_200B96: @ 8200B96 +FallarborTown_BattleTentBattleRoom_Movement_OpponentEnter: @ 8200B96 walk_down walk_down walk_down @@ -225,41 +200,42 @@ FallarborTown_BattleTentBattleRoom_Movement_200B96: @ 8200B96 walk_in_place_fastest_left step_end -FallarborTown_BattleTentBattleRoom_Movement_200B9C: @ 8200B9C +@ Unused +FallarborTown_BattleTentBattleRoom_Movement_OpponentStepForward: @ 8200B9C walk_left step_end -FallarborTown_BattleTentBattleRoom_Movement_200B9E: @ 8200B9E +FallarborTown_BattleTentBattleRoom_Movement_OpponentExit: @ 8200B9E walk_up walk_up walk_up walk_up step_end -FallarborTown_BattleTentBattleRoom_Movement_200BA3: @ 8200BA3 +FallarborTown_BattleTentBattleRoom_Movement_AttendantJump: @ 8200BA3 disable_jump_landing_ground_effect jump_in_place_down step_end -FallarborTown_BattleTentBattleRoom_Movement_200BA6: @ 8200BA6 +FallarborTown_BattleTentBattleRoom_Movement_AttendantApproachPlayer: @ 8200BA6 walk_down walk_down walk_down walk_in_place_fastest_right step_end -FallarborTown_BattleTentBattleRoom_Movement_200BAB: @ 8200BAB +FallarborTown_BattleTentBattleRoom_Movement_AttendantReturnToPos: @ 8200BAB walk_up walk_up walk_up walk_in_place_fastest_down step_end -FallarborTown_BattleTentBattleRoom_MapScript2_200BB0: @ 8200BB0 - map_script_2 VAR_TEMP_1, 0, FallarborTown_BattleTentBattleRoom_EventScript_200BBA +FallarborTown_BattleTentBattleRoom_OnWarp: @ 8200BB0 + map_script_2 VAR_TEMP_1, 0, FallarborTown_BattleTentBattleRoom_EventScript_SetUpObjects .2byte 0 -FallarborTown_BattleTentBattleRoom_EventScript_200BBA:: @ 8200BBA +FallarborTown_BattleTentBattleRoom_EventScript_SetUpObjects:: @ 8200BBA hideobjectat EVENT_OBJ_ID_PLAYER, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM hideobjectat 1, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM removeobject 3 diff --git a/data/maps/FallarborTown_BattleTentCorridor/scripts.inc b/data/maps/FallarborTown_BattleTentCorridor/scripts.inc index 3270338295..bc8bdb5127 100644 --- a/data/maps/FallarborTown_BattleTentCorridor/scripts.inc +++ b/data/maps/FallarborTown_BattleTentCorridor/scripts.inc @@ -1,21 +1,21 @@ FallarborTown_BattleTentCorridor_MapScripts:: @ 82006A7 - map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentCorridor_MapScript2_2006AD + map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentCorridor_OnFrame .byte 0 -FallarborTown_BattleTentCorridor_MapScript2_2006AD: @ 82006AD - map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentCorridor_EventScript_2006B7 +FallarborTown_BattleTentCorridor_OnFrame: @ 82006AD + map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentCorridor_EventScript_EnterCorridor .2byte 0 -FallarborTown_BattleTentCorridor_EventScript_2006B7:: @ 82006B7 +FallarborTown_BattleTentCorridor_EventScript_EnterCorridor:: @ 82006B7 lockall setvar VAR_TEMP_0, 1 - applymovement 1, FallarborTown_BattleTentCorridor_Movement_2006FB - applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentCorridor_Movement_2006FB + applymovement 1, FallarborTown_BattleTentCorridor_Movement_WalkToDoor + applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentCorridor_Movement_WalkToDoor waitmovement 0 opendoor 2, 1 waitdooranim - applymovement 1, FallarborTown_BattleTentCorridor_Movement_200701 - applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentCorridor_Movement_200700 + applymovement 1, FallarborTown_BattleTentCorridor_Movement_AttendantEnterDoor + applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentCorridor_Movement_PlayerEnterDoor waitmovement 0 closedoor 2, 1 waitdooranim @@ -25,40 +25,44 @@ FallarborTown_BattleTentCorridor_EventScript_2006B7:: @ 82006B7 releaseall end -FallarborTown_BattleTentCorridor_Movement_2006FB: @ 82006FB +FallarborTown_BattleTentCorridor_Movement_WalkToDoor: @ 82006FB walk_up walk_up walk_up walk_up step_end -FallarborTown_BattleTentCorridor_Movement_200700: @ 8200700 +FallarborTown_BattleTentCorridor_Movement_PlayerEnterDoor: @ 8200700 walk_up - -FallarborTown_BattleTentCorridor_Movement_200701: @ 8200701 +FallarborTown_BattleTentCorridor_Movement_AttendantEnterDoor: @ 8200701 walk_up set_invisible step_end -FallarborTown_BattleTentCorridor_Text_200704: @ 8200704 +@ Leftover text from when this was a Contest Hall in R/S +@ Unused +FallarborTown_ContestHall_Text_DoAllRightInPreliminary: @ 8200704 .string "We do all right in the preliminary round,\n" .string "but we can never win the appeals…\p" .string "Maybe it means I have to watch what\n" .string "other contestants are doing…$" -FallarborTown_BattleTentCorridor_Text_200791: @ 8200791 +@ Unused +FallarborTown_ContestHall_Text_MonAllTheseRibbons: @ 8200791 .string "See!\n" .string "My POKéMON won all these RIBBONS!\p" .string "Have your POKéMON earned any RIBBONS?\n" .string "You can check them on your POKéNAV.$" -FallarborTown_BattleTentCorridor_Text_200802: @ 8200802 +@ Unused +FallarborTown_ContestHall_Text_CantWinEverywhere: @ 8200802 .string "I can't beat GYM LEADERS…\p" .string "I can't win any CONTESTS…\p" .string "I've been here, there, and everywhere,\n" .string "and it's all for naught…$" -FallarborTown_BattleTentCorridor_Text_200876: @ 8200876 +@ Unused +FallarborTown_ContestHall_Text_SuperRankStage: @ 8200876 .string "POKéMON CONTESTS\n" .string "SUPER RANK STAGE!$" diff --git a/data/maps/FallarborTown_BattleTentLobby/map.json b/data/maps/FallarborTown_BattleTentLobby/map.json index aa65e71a0d..b48119689e 100644 --- a/data/maps/FallarborTown_BattleTentLobby/map.json +++ b/data/maps/FallarborTown_BattleTentLobby/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_BattleTentLobby_EventScript_200001", + "script": "FallarborTown_BattleTentLobby_EventScript_Attendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_BattleTentLobby_EventScript_20020D", + "script": "FallarborTown_BattleTentLobby_EventScript_Hiker", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_BattleTentLobby_EventScript_200216", + "script": "FallarborTown_BattleTentLobby_EventScript_LittleBoy", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_BattleTentLobby_EventScript_20021F", + "script": "FallarborTown_BattleTentLobby_EventScript_Lass", "flag": "0" }, { @@ -76,8 +76,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_BattleTentLobby_EventScript_200228", - "flag": "FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT" + "script": "FallarborTown_BattleTentLobby_EventScript_Scott", + "flag": "FLAG_HIDE_FALLARBOR_TOWN_BATTLE_TENT_SCOTT" } ], "warp_events": [ @@ -104,7 +104,7 @@ "y": 5, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "FallarborTown_BattleTentLobby_EventScript_20024F" + "script": "FallarborTown_BattleTentLobby_EventScript_RulesBoard" } ] } \ No newline at end of file diff --git a/data/maps/FallarborTown_BattleTentLobby/scripts.inc b/data/maps/FallarborTown_BattleTentLobby/scripts.inc index f6b7e10973..53006f577b 100644 --- a/data/maps/FallarborTown_BattleTentLobby/scripts.inc +++ b/data/maps/FallarborTown_BattleTentLobby/scripts.inc @@ -1,368 +1,317 @@ FallarborTown_BattleTentLobby_MapScripts:: @ 81FFE66 - map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentLobby_MapScript2_1FFE85 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FallarborTown_BattleTentLobby_MapScript2_1FFE71 + map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentLobby_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FallarborTown_BattleTentLobby_OnWarp .byte 0 -FallarborTown_BattleTentLobby_MapScript2_1FFE71: @ 81FFE71 - map_script_2 VAR_TEMP_1, 0, FallarborTown_BattleTentLobby_EventScript_1FFE7B +FallarborTown_BattleTentLobby_OnWarp: @ 81FFE71 + map_script_2 VAR_TEMP_1, 0, FallarborTown_BattleTentLobby_EventScript_TurnPlayerNorth .2byte 0 -FallarborTown_BattleTentLobby_EventScript_1FFE7B:: @ 81FFE7B +FallarborTown_BattleTentLobby_EventScript_TurnPlayerNorth:: @ 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 - map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentLobby_EventScript_1FFEAF - map_script_2 VAR_TEMP_0, 1, FallarborTown_BattleTentLobby_EventScript_1FFEB8 - map_script_2 VAR_TEMP_0, 2, FallarborTown_BattleTentLobby_EventScript_1FFFCD - map_script_2 VAR_TEMP_0, 3, FallarborTown_BattleTentLobby_EventScript_1FFEED - map_script_2 VAR_TEMP_0, 4, FallarborTown_BattleTentLobby_EventScript_1FFF93 +FallarborTown_BattleTentLobby_OnFrame: @ 81FFE85 + map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, FallarborTown_BattleTentLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, FallarborTown_BattleTentLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, FallarborTown_BattleTentLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, FallarborTown_BattleTentLobby_EventScript_LostChallenge .2byte 0 -FallarborTown_BattleTentLobby_EventScript_1FFEAF:: @ 81FFEAF - setvar VAR_0x8004, 0 - special CallFrontierUtilFunc +FallarborTown_BattleTentLobby_EventScript_GetChallengeStatus:: @ 81FFEAF + frontier_getstatus end -FallarborTown_BattleTentLobby_EventScript_1FFEB8:: @ 81FFEB8 +FallarborTown_BattleTentLobby_EventScript_QuitWithoutSaving:: @ 81FFEB8 lockall - msgbox FallarborTown_BattleTentLobby_Text_2C4DED, MSGBOX_DEFAULT + msgbox FallarborTown_BattleTentLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 setvar VAR_TEMP_0, 255 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50 releaseall end -FallarborTown_BattleTentLobby_EventScript_1FFEED:: @ 81FFEED +FallarborTown_BattleTentLobby_EventScript_WonChallenge:: @ 81FFEED lockall - msgbox FallarborTown_BattleTentLobby_Text_2C4EC3, MSGBOX_DEFAULT - message FallarborTown_BattleTentLobby_Text_2C4EFF + msgbox FallarborTown_BattleTentLobby_Text_BeatThreeTrainers, MSGBOX_DEFAULT + message FallarborTown_BattleTentLobby_Text_WaitWhileSaveGame waitmessage - setvar VAR_0x8004, 4 - special sub_81B9B80 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 0 - special sub_81B9B80 + fallarbortent_setrandomprize + frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50 + fallarbortent_save 0 playse SE_SAVE waitse -FallarborTown_BattleTentLobby_EventScript_1FFF27:: @ 81FFF27 - msgbox FallarborTown_BattleTentLobby_Text_2C4F22, MSGBOX_DEFAULT - setvar VAR_0x8004, 5 - special sub_81B9B80 +FallarborTown_BattleTentLobby_EventScript_GivePrize:: @ 81FFF27 + msgbox FallarborTown_BattleTentLobby_Text_PresentYouWithPrize, MSGBOX_DEFAULT + fallarbortent_giveprize switch VAR_RESULT - case 0, FallarborTown_BattleTentLobby_EventScript_1FFF73 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - message FallarborTown_BattleTentLobby_Text_2C4F69 + case FALSE, FallarborTown_BattleTentLobby_EventScript_NoRoomForPrize + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 + message FallarborTown_BattleTentLobby_Text_ReceivedPrize waitmessage playfanfare MUS_FANFA4 waitfanfare - msgbox FallarborTown_BattleTentLobby_Text_2C501F, MSGBOX_DEFAULT + msgbox FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 releaseall end -FallarborTown_BattleTentLobby_EventScript_1FFF73:: @ 81FFF73 - msgbox FallarborTown_BattleTentLobby_Text_2C4F83, MSGBOX_DEFAULT +FallarborTown_BattleTentLobby_EventScript_NoRoomForPrize:: @ 81FFF73 + msgbox FallarborTown_BattleTentLobby_Text_BagFullReturnForPrize, MSGBOX_DEFAULT waitmessage closemessage setvar VAR_TEMP_0, 255 releaseall end -FallarborTown_BattleTentLobby_EventScript_1FFF84:: @ 81FFF84 +FallarborTown_BattleTentLobby_EventScript_PrizeWaiting:: @ 81FFF84 lockall - msgbox FallarborTown_BattleTentLobby_Text_2C4EC3, MSGBOX_DEFAULT - goto FallarborTown_BattleTentLobby_EventScript_1FFF27 + msgbox FallarborTown_BattleTentLobby_Text_BeatThreeTrainers, MSGBOX_DEFAULT + goto FallarborTown_BattleTentLobby_EventScript_GivePrize end -FallarborTown_BattleTentLobby_EventScript_1FFF93:: @ 81FFF93 +FallarborTown_BattleTentLobby_EventScript_LostChallenge:: @ 81FFF93 lockall - message FallarborTown_BattleTentLobby_Text_2C4FD7 + message FallarborTown_BattleTentLobby_Text_ThankYouWaitWhileSaving waitmessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 0 - special sub_81B9B80 + frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50 + fallarbortent_save 0 playse SE_SAVE waitse - msgbox FallarborTown_BattleTentLobby_Text_2C501F, MSGBOX_DEFAULT + msgbox FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 releaseall end -FallarborTown_BattleTentLobby_EventScript_1FFFCD:: @ 81FFFCD +FallarborTown_BattleTentLobby_EventScript_ResumeChallenge:: @ 81FFFCD lockall - message FallarborTown_BattleTentLobby_Text_2C504C + message FallarborTown_BattleTentLobby_Text_LookingForwardToArrival waitmessage - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 1 - special sub_81B9B80 + fallarbortent_save CHALLENGE_STATUS_SAVING playse SE_SAVE waitse - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_PAUSED, FALSE setvar VAR_TEMP_0, 255 - goto FallarborTown_BattleTentLobby_EventScript_20013C + goto FallarborTown_BattleTentLobby_EventScript_EnterChallenge -FallarborTown_BattleTentLobby_EventScript_200001:: @ 8200001 +FallarborTown_BattleTentLobby_EventScript_Attendant:: @ 8200001 lock faceplayer - setvar VAR_0x8004, 1 - special sub_81B9B80 - compare VAR_RESULT, 0 - goto_if_ne FallarborTown_BattleTentLobby_EventScript_1FFF84 + fallarbortent_getprize + compare VAR_RESULT, ITEM_NONE + goto_if_ne FallarborTown_BattleTentLobby_EventScript_PrizeWaiting special SavePlayerParty - msgbox FallarborTown_BattleTentLobby_Text_2C47EB, MSGBOX_DEFAULT - -FallarborTown_BattleTentLobby_EventScript_200021:: @ 8200021 - message FallarborTown_BattleTentLobby_Text_2C4843 + msgbox FallarborTown_BattleTentLobby_Text_WelcomeToBattleTent, MSGBOX_DEFAULT +FallarborTown_BattleTentLobby_EventScript_AskEnterChallenge:: @ 8200021 + message FallarborTown_BattleTentLobby_Text_TakeChallenge waitmessage - multichoice 17, 6, 23, 0 + multichoice 17, 6, MULTI_CHALLENGEINFO, 0 switch VAR_RESULT - case 0, FallarborTown_BattleTentLobby_EventScript_20005D - case 1, FallarborTown_BattleTentLobby_EventScript_200169 - case 2, FallarborTown_BattleTentLobby_EventScript_2001C5 - case 127, FallarborTown_BattleTentLobby_EventScript_2001C5 + case 0, FallarborTown_BattleTentLobby_EventScript_TryEnterChallenge + case 1, FallarborTown_BattleTentLobby_EventScript_ExplainChallenge + case 2, FallarborTown_BattleTentLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, FallarborTown_BattleTentLobby_EventScript_CancelChallenge -FallarborTown_BattleTentLobby_EventScript_20005D:: @ 820005D - setvar VAR_FRONTIER_FACILITY, 3 - setvar VAR_FRONTIER_BATTLE_MODE, 0 +FallarborTown_BattleTentLobby_EventScript_TryEnterChallenge:: @ 820005D + setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_ARENA + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES setvar VAR_RESULT, 2 - setvar VAR_0x8004, 15 - special CallFrontierUtilFunc - compare VAR_0x8004, 1 - goto_if_eq FallarborTown_BattleTentLobby_EventScript_200176 + frontier_checkineligible + compare VAR_0x8004, TRUE + goto_if_eq FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMons + frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_TENT + msgbox FallarborTown_BattleTentLobby_Text_SelectThreeMons, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 2 - special CallFrontierUtilFunc - msgbox FallarborTown_BattleTentLobby_Text_2C4BC8, MSGBOX_DEFAULT - fadescreen 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - special sub_80F9490 + setvar VAR_0x8005, FRONTIER_PARTY_SIZE + special ChoosePartyForBattleFrontier waitstate compare VAR_RESULT, 0 - goto_if_eq FallarborTown_BattleTentLobby_EventScript_2001C2 - msgbox FallarborTown_BattleTentLobby_Text_2C4B35, MSGBOX_YESNO + goto_if_eq FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge + msgbox FallarborTown_BattleTentLobby_Text_SaveBeforeChallenge, MSGBOX_YESNO switch VAR_RESULT - case 0, FallarborTown_BattleTentLobby_EventScript_2001C2 - case 1, FallarborTown_BattleTentLobby_EventScript_2000E2 - case 127, FallarborTown_BattleTentLobby_EventScript_2001C2 + case NO, FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge + case YES, FallarborTown_BattleTentLobby_EventScript_SaveBeforeChallenge + case MULTI_B_PRESSED, FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge -FallarborTown_BattleTentLobby_EventScript_2000E2:: @ 82000E2 +FallarborTown_BattleTentLobby_EventScript_SaveBeforeChallenge:: @ 82000E2 setvar VAR_TEMP_0, 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 4 - special CallFrontierUtilFunc - setvar VAR_0x8004, 0 - special sub_81B9B80 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_SELECTED_MON_ORDER + fallarbortent_init + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING + frontier_set FRONTIER_DATA_PAUSED, FALSE special LoadPlayerParty closemessage delay 2 call Common_EventScript_SaveGame setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_if_eq FallarborTown_BattleTentLobby_EventScript_2001AB - -FallarborTown_BattleTentLobby_EventScript_20013C:: @ 820013C + goto_if_eq FallarborTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed +FallarborTown_BattleTentLobby_EventScript_EnterChallenge:: @ 820013C special SavePlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc - msgbox FallarborTown_BattleTentLobby_Text_2C4DC3, MSGBOX_DEFAULT + frontier_setpartyorder FRONTIER_PARTY_SIZE + msgbox FallarborTown_BattleTentLobby_Text_GuideYouToBattleTent, MSGBOX_DEFAULT closemessage - call FallarborTown_BattleTentLobby_EventScript_2001CF + call FallarborTown_BattleTentLobby_EventScript_WalkToDoor warp MAP_FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR, 255, 2, 7 setvar VAR_TEMP_0, 0 waitstate end -FallarborTown_BattleTentLobby_EventScript_200169:: @ 8200169 - msgbox FallarborTown_BattleTentLobby_Text_2C48AC, MSGBOX_DEFAULT - goto FallarborTown_BattleTentLobby_EventScript_200021 +FallarborTown_BattleTentLobby_EventScript_ExplainChallenge:: @ 8200169 + msgbox FallarborTown_BattleTentLobby_Text_ExplainFallarborTent, MSGBOX_DEFAULT + goto FallarborTown_BattleTentLobby_EventScript_AskEnterChallenge -FallarborTown_BattleTentLobby_EventScript_200176:: @ 8200176 +FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMons:: @ 8200176 switch VAR_RESULT - case 0, FallarborTown_BattleTentLobby_EventScript_200191 - case 1, FallarborTown_BattleTentLobby_EventScript_20019E + case FRONTIER_LVL_50, FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMonsLv50 + case FRONTIER_LVL_OPEN, FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMonsLvOpen +FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMonsLv50:: @ 8200191 + msgbox FallarborTown_BattleTentLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT + goto FallarborTown_BattleTentLobby_EventScript_EndCancelChallenge -FallarborTown_BattleTentLobby_EventScript_200191:: @ 8200191 - msgbox FallarborTown_BattleTentLobby_Text_2C4BFA, MSGBOX_DEFAULT - goto FallarborTown_BattleTentLobby_EventScript_2001CD +FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMonsLvOpen:: @ 820019E + msgbox FallarborTown_BattleTentLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT + goto FallarborTown_BattleTentLobby_EventScript_EndCancelChallenge -FallarborTown_BattleTentLobby_EventScript_20019E:: @ 820019E - msgbox FallarborTown_BattleTentLobby_Text_2C4CC0, MSGBOX_DEFAULT - goto FallarborTown_BattleTentLobby_EventScript_2001CD +FallarborTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed:: @ 82001AB + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 + goto FallarborTown_BattleTentLobby_EventScript_CancelChallenge -FallarborTown_BattleTentLobby_EventScript_2001AB:: @ 82001AB - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - goto FallarborTown_BattleTentLobby_EventScript_2001C5 - -FallarborTown_BattleTentLobby_EventScript_2001C2:: @ 82001C2 +FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge:: @ 82001C2 special LoadPlayerParty - -FallarborTown_BattleTentLobby_EventScript_2001C5:: @ 82001C5 - msgbox FallarborTown_BattleTentLobby_Text_2C487F, MSGBOX_DEFAULT - -FallarborTown_BattleTentLobby_EventScript_2001CD:: @ 82001CD +FallarborTown_BattleTentLobby_EventScript_CancelChallenge:: @ 82001C5 + msgbox FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge, MSGBOX_DEFAULT +FallarborTown_BattleTentLobby_EventScript_EndCancelChallenge:: @ 82001CD release end -FallarborTown_BattleTentLobby_EventScript_2001CF:: @ 82001CF - applymovement 1, FallarborTown_BattleTentLobby_Movement_2001FE - applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentLobby_Movement_200205 +FallarborTown_BattleTentLobby_EventScript_WalkToDoor:: @ 82001CF + applymovement 1, FallarborTown_BattleTentLobby_Movement_AttendantWalkToDoor + applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentLobby_Movement_PlayerWalkToDoor waitmovement 0 opendoor 6, 1 waitdooranim - applymovement 1, FallarborTown_BattleTentLobby_Movement_200202 - applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentLobby_Movement_200209 + applymovement 1, FallarborTown_BattleTentLobby_Movement_AttendantEnterDoor + applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentLobby_Movement_PlayerEnterDoor waitmovement 0 closedoor 6, 1 waitdooranim return -FallarborTown_BattleTentLobby_Movement_2001FE: @ 82001FE +FallarborTown_BattleTentLobby_Movement_AttendantWalkToDoor: @ 82001FE walk_up walk_up walk_up step_end -FallarborTown_BattleTentLobby_Movement_200202: @ 8200202 +FallarborTown_BattleTentLobby_Movement_AttendantEnterDoor: @ 8200202 walk_up set_invisible step_end -FallarborTown_BattleTentLobby_Movement_200205: @ 8200205 +FallarborTown_BattleTentLobby_Movement_PlayerWalkToDoor: @ 8200205 walk_up walk_up walk_up step_end -FallarborTown_BattleTentLobby_Movement_200209: @ 8200209 +FallarborTown_BattleTentLobby_Movement_PlayerEnterDoor: @ 8200209 walk_up walk_up set_invisible step_end -FallarborTown_BattleTentLobby_EventScript_20020D:: @ 820020D - msgbox FallarborTown_BattleTentLobby_Text_20045A, MSGBOX_NPC +FallarborTown_BattleTentLobby_EventScript_Hiker:: @ 820020D + msgbox FallarborTown_BattleTentLobby_Text_CameToCampOut, MSGBOX_NPC end -FallarborTown_BattleTentLobby_EventScript_200216:: @ 8200216 - msgbox FallarborTown_BattleTentLobby_Text_200304, MSGBOX_NPC +FallarborTown_BattleTentLobby_EventScript_LittleBoy:: @ 8200216 + msgbox FallarborTown_BattleTentLobby_Text_MakeThinkImJustKid, MSGBOX_NPC end -FallarborTown_BattleTentLobby_EventScript_20021F:: @ 820021F - msgbox FallarborTown_BattleTentLobby_Text_200382, MSGBOX_NPC +FallarborTown_BattleTentLobby_EventScript_Lass:: @ 820021F + msgbox FallarborTown_BattleTentLobby_Text_FallarborTentMyFavorite, MSGBOX_NPC end -FallarborTown_BattleTentLobby_EventScript_200228:: @ 8200228 +FallarborTown_BattleTentLobby_EventScript_Scott:: @ 8200228 lock faceplayer - goto_if_set FLAG_MET_SCOTT_IN_FALLARBOR, FallarborTown_BattleTentLobby_EventScript_200245 - msgbox FallarborTown_BattleTentLobby_Text_200501, MSGBOX_DEFAULT + goto_if_set FLAG_MET_SCOTT_IN_FALLARBOR, FallarborTown_BattleTentLobby_EventScript_ScottAlreadySpokenTo + msgbox FallarborTown_BattleTentLobby_Text_ScottLookingForSomeone, MSGBOX_DEFAULT addvar VAR_SCOTT_STATE, 1 setflag FLAG_MET_SCOTT_IN_FALLARBOR release end -FallarborTown_BattleTentLobby_EventScript_200245:: @ 8200245 - msgbox FallarborTown_BattleTentLobby_Text_200653, MSGBOX_DEFAULT +FallarborTown_BattleTentLobby_EventScript_ScottAlreadySpokenTo:: @ 8200245 + msgbox FallarborTown_BattleTentLobby_Text_ScottMakeChallenge, MSGBOX_DEFAULT release end -FallarborTown_BattleTentLobby_EventScript_20024F:: @ 820024F +FallarborTown_BattleTentLobby_EventScript_RulesBoard:: @ 820024F lockall - msgbox FallarborTown_BattleTentLobby_Text_256DB8, MSGBOX_DEFAULT - goto FallarborTown_BattleTentLobby_EventScript_20025E + msgbox BattleFrontier_BattleArenaLobby_Text_RulesAreListed, MSGBOX_DEFAULT + goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard end -FallarborTown_BattleTentLobby_EventScript_20025E:: @ 820025E - message FallarborTown_BattleTentLobby_Text_256DDF +FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard:: @ 820025E + message BattleFrontier_BattleArenaLobby_Text_ReadWhichHeading waitmessage - multichoice 17, 0, 112, 0 + multichoice 17, 0, MULTI_FALLARBOR_TENT_RULES, 0 switch VAR_RESULT - case 0, FallarborTown_BattleTentLobby_EventScript_2002BC - case 1, FallarborTown_BattleTentLobby_EventScript_2002CA - case 2, FallarborTown_BattleTentLobby_EventScript_2002D8 - case 3, FallarborTown_BattleTentLobby_EventScript_2002E6 - case 4, FallarborTown_BattleTentLobby_EventScript_2002F4 - case 5, FallarborTown_BattleTentLobby_EventScript_200302 - case 127, FallarborTown_BattleTentLobby_EventScript_200302 + case 0, FallarborTown_BattleTentLobby_EventScript_RulesLevel + case 1, FallarborTown_BattleTentLobby_EventScript_RulesBattle + case 2, FallarborTown_BattleTentLobby_EventScript_RulesMind + case 3, FallarborTown_BattleTentLobby_EventScript_RulesSkill + case 4, FallarborTown_BattleTentLobby_EventScript_RulesBody + case 5, FallarborTown_BattleTentLobby_EventScript_ExitRules + case MULTI_B_PRESSED, FallarborTown_BattleTentLobby_EventScript_ExitRules end -FallarborTown_BattleTentLobby_EventScript_2002BC:: @ 82002BC - msgbox FallarborTown_BattleTentLobby_Text_2C67CD, MSGBOX_DEFAULT - goto FallarborTown_BattleTentLobby_EventScript_20025E +FallarborTown_BattleTentLobby_EventScript_RulesLevel:: @ 82002BC + msgbox BattleTentLobby_Text_ExplainLevelRules, MSGBOX_DEFAULT + goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard end -FallarborTown_BattleTentLobby_EventScript_2002CA:: @ 82002CA - msgbox FallarborTown_BattleTentLobby_Text_256E02, MSGBOX_DEFAULT - goto FallarborTown_BattleTentLobby_EventScript_20025E +FallarborTown_BattleTentLobby_EventScript_RulesBattle:: @ 82002CA + msgbox BattleFrontier_BattleArenaLobby_Text_ExplainBattleRules, MSGBOX_DEFAULT + goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard end -FallarborTown_BattleTentLobby_EventScript_2002D8:: @ 82002D8 - msgbox FallarborTown_BattleTentLobby_Text_256F43, MSGBOX_DEFAULT - goto FallarborTown_BattleTentLobby_EventScript_20025E +FallarborTown_BattleTentLobby_EventScript_RulesMind:: @ 82002D8 + msgbox BattleFrontier_BattleArenaLobby_Text_ExplainMindRules, MSGBOX_DEFAULT + goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard end -FallarborTown_BattleTentLobby_EventScript_2002E6:: @ 82002E6 - msgbox FallarborTown_BattleTentLobby_Text_256FF2, MSGBOX_DEFAULT - goto FallarborTown_BattleTentLobby_EventScript_20025E +FallarborTown_BattleTentLobby_EventScript_RulesSkill:: @ 82002E6 + msgbox BattleFrontier_BattleArenaLobby_Text_ExplainSkillRules, MSGBOX_DEFAULT + goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard end -FallarborTown_BattleTentLobby_EventScript_2002F4:: @ 82002F4 - msgbox FallarborTown_BattleTentLobby_Text_257202, MSGBOX_DEFAULT - goto FallarborTown_BattleTentLobby_EventScript_20025E +FallarborTown_BattleTentLobby_EventScript_RulesBody:: @ 82002F4 + msgbox BattleFrontier_BattleArenaLobby_Text_ExplainBodyRules, MSGBOX_DEFAULT + goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard end -FallarborTown_BattleTentLobby_EventScript_200302:: @ 8200302 +FallarborTown_BattleTentLobby_EventScript_ExitRules:: @ 8200302 releaseall end -FallarborTown_BattleTentLobby_Text_200304: @ 8200304 +FallarborTown_BattleTentLobby_Text_MakeThinkImJustKid: @ 8200304 .string "Fufufufufu.\p" .string "I'm going to make everyone think\n" .string "I'm just a kid and let them play down.\p" .string "Then, I'll shock them and grab\n" .string "the title!$" -FallarborTown_BattleTentLobby_Text_200382: @ 8200382 +FallarborTown_BattleTentLobby_Text_FallarborTentMyFavorite: @ 8200382 .string "You know how BATTLE TENTS offer\n" .string "different events in different towns?\p" .string "My favorite is definitely the BATTLE\n" @@ -371,7 +320,7 @@ FallarborTown_BattleTentLobby_Text_200382: @ 8200382 .string "try to win with all their faith in\l" .string "their POKéMON.$" -FallarborTown_BattleTentLobby_Text_20045A: @ 820045A +FallarborTown_BattleTentLobby_Text_CameToCampOut: @ 820045A .string "I heard something about some tent,\n" .string "so I came to camp out.\p" .string "I didn't know that tents these days\n" @@ -379,7 +328,7 @@ FallarborTown_BattleTentLobby_Text_20045A: @ 820045A .string "Since I'm here, I may as well try\n" .string "my hand at battling!$" -FallarborTown_BattleTentLobby_Text_200501: @ 8200501 +FallarborTown_BattleTentLobby_Text_ScottLookingForSomeone: @ 8200501 .string "SCOTT: Hi, {PLAYER}{KUN}!\n" .string "So you came out to this BATTLE TENT!\p" .string "The people in these parts tend to be\n" @@ -394,7 +343,7 @@ FallarborTown_BattleTentLobby_Text_200501: @ 8200501 .string "Whoops! Never mind!\n" .string "Keep working at it!$" -FallarborTown_BattleTentLobby_Text_200653: @ 8200653 +FallarborTown_BattleTentLobby_Text_ScottMakeChallenge: @ 8200653 .string "SCOTT: Instead of wasting your\n" .string "time with the likes of me, why not\l" .string "make a challenge?$" diff --git a/data/maps/FallarborTown_House1/map.json b/data/maps/FallarborTown_CozmosHouse/map.json similarity index 83% rename from data/maps/FallarborTown_House1/map.json rename to data/maps/FallarborTown_CozmosHouse/map.json index e5e75c6315..a31c1c5bfa 100644 --- a/data/maps/FallarborTown_House1/map.json +++ b/data/maps/FallarborTown_CozmosHouse/map.json @@ -1,6 +1,6 @@ { - "id": "MAP_FALLARBOR_TOWN_HOUSE1", - "name": "FallarborTown_House1", + "id": "MAP_FALLARBOR_TOWN_COZMOS_HOUSE", + "name": "FallarborTown_CozmosHouse", "layout": "LAYOUT_HOUSE1", "music": "MUS_TONEKUSA", "region_map_section": "MAPSEC_FALLARBOR_TOWN", @@ -24,8 +24,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_House1_EventScript_200F13", - "flag": "FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO" + "script": "FallarborTown_CozmosHouse_EventScript_ProfCozmo", + "flag": "FLAG_HIDE_FALLARBOR_HOUSE_PROF_COZMO" }, { "graphics_id": "EVENT_OBJ_GFX_WOMAN_2", @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_House1_EventScript_200FBC", + "script": "FallarborTown_CozmosHouse_EventScript_CozmosWife", "flag": "0" } ], diff --git a/data/maps/FallarborTown_CozmosHouse/scripts.inc b/data/maps/FallarborTown_CozmosHouse/scripts.inc new file mode 100644 index 0000000000..3f4db18d3a --- /dev/null +++ b/data/maps/FallarborTown_CozmosHouse/scripts.inc @@ -0,0 +1,121 @@ +FallarborTown_CozmosHouse_MapScripts:: @ 8200F12 + .byte 0 + +FallarborTown_CozmosHouse_EventScript_ProfCozmo:: @ 8200F13 + lock + faceplayer + goto_if_set FLAG_RECEIVED_TM27, FallarborTown_CozmosHouse_EventScript_GaveMeteorite + checkitem ITEM_METEORITE, 1 + compare VAR_RESULT, TRUE + goto_if_eq FallarborTown_CozmosHouse_EventScript_PlayerHasMeteorite + msgbox FallarborTown_CozmosHouse_Text_MeteoriteWillNeverBeMineNow, MSGBOX_DEFAULT + release + end + +FallarborTown_CozmosHouse_EventScript_PlayerHasMeteorite:: @ 8200F38 + call_if_unset FLAG_TEMP_2, FallarborTown_CozmosHouse_EventScript_NoticeMeteorite + call_if_set FLAG_TEMP_2, FallarborTown_CozmosHouse_EventScript_AskForMeteorite + compare VAR_RESULT, NO + goto_if_eq FallarborTown_CozmosHouse_EventScript_DeclineGiveMeteorite + msgbox FallarborTown_CozmosHouse_Text_PleaseUseThisTM, MSGBOX_DEFAULT + giveitem ITEM_TM27 + compare VAR_RESULT, FALSE + goto_if_eq Common_EventScript_ShowBagIsFull + setvar VAR_0x8004, ITEM_METEORITE + call Common_EventScript_PlayerHandedOverTheItem + setflag FLAG_RECEIVED_TM27 + msgbox FallarborTown_CozmosHouse_Text_ReallyGoingToHelpMyResearch, MSGBOX_DEFAULT + release + end + +FallarborTown_CozmosHouse_EventScript_NoticeMeteorite:: @ 8200F8B + msgbox FallarborTown_CozmosHouse_Text_MeteoriteWillNeverBeMineNow, MSGBOX_DEFAULT + msgbox FallarborTown_CozmosHouse_Text_IsThatMeteoriteMayIHaveIt, MSGBOX_YESNO + return + +FallarborTown_CozmosHouse_EventScript_AskForMeteorite:: @ 8200F9C + msgbox FallarborTown_CozmosHouse_Text_MayIHaveMeteorite, MSGBOX_YESNO + return + +FallarborTown_CozmosHouse_EventScript_DeclineGiveMeteorite:: @ 8200FA5 + setflag FLAG_TEMP_2 + msgbox FallarborTown_CozmosHouse_Text_CrushedWithDisappointment, MSGBOX_DEFAULT + release + end + +FallarborTown_CozmosHouse_EventScript_GaveMeteorite:: @ 8200FB2 + msgbox FallarborTown_CozmosHouse_Text_ReallyGoingToHelpMyResearch, MSGBOX_DEFAULT + release + end + +FallarborTown_CozmosHouse_EventScript_CozmosWife:: @ 8200FBC + lock + faceplayer + goto_if_set FLAG_RECEIVED_TM27, FallarborTown_CozmosHouse_EventScript_CozmoIsHappy + goto_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FallarborTown_CozmosHouse_EventScript_CozmoIsSad + msgbox FallarborTown_CozmosHouse_Text_CozmoWentToMeteorFalls, MSGBOX_DEFAULT + release + end + +FallarborTown_CozmosHouse_EventScript_CozmoIsSad:: @ 8200FDA + msgbox FallarborTown_CozmosHouse_Text_FeelSorryForCozmo, MSGBOX_DEFAULT + release + end + +FallarborTown_CozmosHouse_EventScript_CozmoIsHappy:: @ 8200FE4 + msgbox FallarborTown_CozmosHouse_Text_CozmoIsSoHappy, MSGBOX_DEFAULT + release + end + +FallarborTown_CozmosHouse_Text_MeteoriteWillNeverBeMineNow: @ 8200FEE + .string "PROF. COZMO: Oh…\n" + .string "I never should have let myself be\l" + .string "conned into telling TEAM MAGMA where\l" + .string "you can find METEORITES…\p" + .string "That METEORITE from METEOR FALLS…\n" + .string "It's never going to be mine now…$" + +FallarborTown_CozmosHouse_Text_IsThatMeteoriteMayIHaveIt: @ 82010A2 + .string "Oh!\n" + .string "Hah?\p" + .string "That item…\p" + .string "Could it be?\p" + .string "Is it the METEORITE that TEAM MAGMA\n" + .string "took from METEOR FALLS?\p" + .string "Please, may I have it?\p" + .string "I'm not asking for it for free.\n" + .string "How about in exchange for this TM?$" + +FallarborTown_CozmosHouse_Text_PleaseUseThisTM: @ 8201159 + .string "PROF. COZMO: This TM, it represents\n" + .string "my feeling of gratitude.\l" + .string "Please use it!$" + +FallarborTown_CozmosHouse_Text_ReallyGoingToHelpMyResearch: @ 82011A5 + .string "PROF. COZMO: Oh, I can't believe it.\n" + .string "This is really, really great!\p" + .string "This is really going to help my research!$" + +FallarborTown_CozmosHouse_Text_CrushedWithDisappointment: @ 8201212 + .string "PROF. COZMO: Oh, but…\n" + .string "I'm crushed with disappointment…$" + +FallarborTown_CozmosHouse_Text_MayIHaveMeteorite: @ 8201249 + .string "PROF. COZMO: Please, may I have that\n" + .string "METEORITE?\p" + .string "I'm not asking for it for free.\n" + .string "How about in exchange for this TM?$" + +FallarborTown_CozmosHouse_Text_CozmoWentToMeteorFalls: @ 82012BC + .string "PROF. COZMO went off to METEOR FALLS\n" + .string "on ROUTE 114 with some people from\l" + .string "TEAM MAGMA.$" + +FallarborTown_CozmosHouse_Text_FeelSorryForCozmo: @ 8201310 + .string "Poor PROF. COZMO…\n" + .string "He's so depressed… I feel sorry for him.$" + +FallarborTown_CozmosHouse_Text_CozmoIsSoHappy: @ 820134B + .string "Look at PROF. COZMO…\n" + .string "He's so happy! I think it's cute.$" + diff --git a/data/maps/FallarborTown_House1/scripts.inc b/data/maps/FallarborTown_House1/scripts.inc deleted file mode 100644 index 2255f90d3e..0000000000 --- a/data/maps/FallarborTown_House1/scripts.inc +++ /dev/null @@ -1,121 +0,0 @@ -FallarborTown_House1_MapScripts:: @ 8200F12 - .byte 0 - -FallarborTown_House1_EventScript_200F13:: @ 8200F13 - lock - faceplayer - goto_if_set FLAG_RECEIVED_TM27, FallarborTown_House1_EventScript_200FB2 - checkitem ITEM_METEORITE, 1 - compare VAR_RESULT, 1 - goto_if_eq FallarborTown_House1_EventScript_200F38 - msgbox FallarborTown_House1_Text_200FEE, MSGBOX_DEFAULT - release - end - -FallarborTown_House1_EventScript_200F38:: @ 8200F38 - call_if_unset FLAG_TEMP_2, FallarborTown_House1_EventScript_200F8B - call_if_set FLAG_TEMP_2, FallarborTown_House1_EventScript_200F9C - compare VAR_RESULT, 0 - goto_if_eq FallarborTown_House1_EventScript_200FA5 - msgbox FallarborTown_House1_Text_201159, MSGBOX_DEFAULT - giveitem_std ITEM_TM27 - compare VAR_RESULT, 0 - goto_if_eq Common_EventScript_ShowBagIsFull - setvar VAR_0x8004, 280 - call FallarborTown_House1_EventScript_2723E4 - setflag FLAG_RECEIVED_TM27 - msgbox FallarborTown_House1_Text_2011A5, MSGBOX_DEFAULT - release - end - -FallarborTown_House1_EventScript_200F8B:: @ 8200F8B - msgbox FallarborTown_House1_Text_200FEE, MSGBOX_DEFAULT - msgbox FallarborTown_House1_Text_2010A2, MSGBOX_YESNO - return - -FallarborTown_House1_EventScript_200F9C:: @ 8200F9C - msgbox FallarborTown_House1_Text_201249, MSGBOX_YESNO - return - -FallarborTown_House1_EventScript_200FA5:: @ 8200FA5 - setflag FLAG_TEMP_2 - msgbox FallarborTown_House1_Text_201212, MSGBOX_DEFAULT - release - end - -FallarborTown_House1_EventScript_200FB2:: @ 8200FB2 - msgbox FallarborTown_House1_Text_2011A5, MSGBOX_DEFAULT - release - end - -FallarborTown_House1_EventScript_200FBC:: @ 8200FBC - lock - faceplayer - goto_if_set FLAG_RECEIVED_TM27, FallarborTown_House1_EventScript_200FE4 - goto_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FallarborTown_House1_EventScript_200FDA - msgbox FallarborTown_House1_Text_2012BC, MSGBOX_DEFAULT - release - end - -FallarborTown_House1_EventScript_200FDA:: @ 8200FDA - msgbox FallarborTown_House1_Text_201310, MSGBOX_DEFAULT - release - end - -FallarborTown_House1_EventScript_200FE4:: @ 8200FE4 - msgbox FallarborTown_House1_Text_20134B, MSGBOX_DEFAULT - release - end - -FallarborTown_House1_Text_200FEE: @ 8200FEE - .string "PROF. COZMO: Oh…\n" - .string "I never should have let myself be\l" - .string "conned into telling TEAM MAGMA where\l" - .string "you can find METEORITES…\p" - .string "That METEORITE from METEOR FALLS…\n" - .string "It's never going to be mine now…$" - -FallarborTown_House1_Text_2010A2: @ 82010A2 - .string "Oh!\n" - .string "Hah?\p" - .string "That item…\p" - .string "Could it be?\p" - .string "Is it the METEORITE that TEAM MAGMA\n" - .string "took from METEOR FALLS?\p" - .string "Please, may I have it?\p" - .string "I'm not asking for it for free.\n" - .string "How about in exchange for this TM?$" - -FallarborTown_House1_Text_201159: @ 8201159 - .string "PROF. COZMO: This TM, it represents\n" - .string "my feeling of gratitude.\l" - .string "Please use it!$" - -FallarborTown_House1_Text_2011A5: @ 82011A5 - .string "PROF. COZMO: Oh, I can't believe it.\n" - .string "This is really, really great!\p" - .string "This is really going to help my research!$" - -FallarborTown_House1_Text_201212: @ 8201212 - .string "PROF. COZMO: Oh, but…\n" - .string "I'm crushed with disappointment…$" - -FallarborTown_House1_Text_201249: @ 8201249 - .string "PROF. COZMO: Please, may I have that\n" - .string "METEORITE?\p" - .string "I'm not asking for it for free.\n" - .string "How about in exchange for this TM?$" - -FallarborTown_House1_Text_2012BC: @ 82012BC - .string "PROF. COZMO went off to METEOR FALLS\n" - .string "on ROUTE 114 with some people from\l" - .string "TEAM MAGMA.$" - -FallarborTown_House1_Text_201310: @ 8201310 - .string "Poor PROF. COZMO…\n" - .string "He's so depressed… I feel sorry for him.$" - -FallarborTown_House1_Text_20134B: @ 820134B - .string "Look at PROF. COZMO…\n" - .string "He's so happy! I think it's cute.$" - diff --git a/data/maps/FallarborTown_House2/scripts.inc b/data/maps/FallarborTown_House2/scripts.inc deleted file mode 100644 index d0305ad4b8..0000000000 --- a/data/maps/FallarborTown_House2/scripts.inc +++ /dev/null @@ -1,102 +0,0 @@ -FallarborTown_House2_MapScripts:: @ 8201382 - .byte 0 - -FallarborTown_House2_EventScript_201383:: @ 8201383 - lockall - applymovement 1, Common_Movement_FacePlayer - waitmovement 0 - goto_if_set FLAG_TEMP_1, FallarborTown_House2_EventScript_2013A8 - msgbox FallarborTown_House2_Text_20145C, MSGBOX_DEFAULT - setflag FLAG_TEMP_1 - goto FallarborTown_House2_EventScript_2013A8 - end - -FallarborTown_House2_EventScript_2013A8:: @ 82013A8 - checkitem ITEM_HEART_SCALE, 1 - compare VAR_RESULT, 0 - goto_if_eq FallarborTown_House2_EventScript_201452 - msgbox FallarborTown_House2_Text_201541, MSGBOX_YESNO - switch VAR_RESULT - case 0, FallarborTown_House2_EventScript_201452 - goto FallarborTown_House2_EventScript_2013D6 - end - -FallarborTown_House2_EventScript_2013D6:: @ 82013D6 - msgbox FallarborTown_House2_Text_2015A5, MSGBOX_DEFAULT - special sub_81B951C - waitstate - compare VAR_0x8004, 255 - goto_if_eq FallarborTown_House2_EventScript_201452 - special sub_81B98DC - compare VAR_RESULT, 1 - goto_if_eq FallarborTown_House2_EventScript_201444 - compare VAR_0x8005, 0 - goto_if_eq FallarborTown_House2_EventScript_201436 - goto FallarborTown_House2_EventScript_20140C - end - -FallarborTown_House2_EventScript_20140C:: @ 820140C - msgbox FallarborTown_House2_Text_2015C3, MSGBOX_DEFAULT - special TeachMoveRelearnerMove - waitstate - compare VAR_0x8004, 0 - goto_if_eq FallarborTown_House2_EventScript_2013D6 - msgbox FallarborTown_House2_Text_201627, MSGBOX_DEFAULT - takeitem ITEM_HEART_SCALE, 1 - goto FallarborTown_House2_EventScript_201452 - end - -FallarborTown_House2_EventScript_201436:: @ 8201436 - msgbox FallarborTown_House2_Text_2015DE, MSGBOX_DEFAULT - goto FallarborTown_House2_EventScript_2013D6 - end - -FallarborTown_House2_EventScript_201444:: @ 8201444 - msgbox FallarborTown_House2_Text_201697, MSGBOX_DEFAULT - goto FallarborTown_House2_EventScript_2013D6 - end - -FallarborTown_House2_EventScript_201452:: @ 8201452 - msgbox FallarborTown_House2_Text_201653, MSGBOX_DEFAULT - releaseall - end - -FallarborTown_House2_Text_20145C: @ 820145C - .string "I'm the MOVE TUTOR.\p" - .string "I know all the moves that POKéMON\n" - .string "learn--every one of them--and I can\l" - .string "teach POKéMON those moves.\p" - .string "I can teach a move to a POKéMON\n" - .string "of yours if you'd like.\p" - .string "I'll do it for a HEART SCALE.\n" - .string "I'm collecting those now.$" - -FallarborTown_House2_Text_201541: @ 8201541 - .string "Oh! That's it! That's an honest to\n" - .string "goodness HEART SCALE!\p" - .string "Let me guess, you want me to teach\n" - .string "a move?$" - -FallarborTown_House2_Text_2015A5: @ 82015A5 - .string "Which POKéMON needs tutoring?$" - -FallarborTown_House2_Text_2015C3: @ 82015C3 - .string "Which move should I teach?$" - -FallarborTown_House2_Text_2015DE: @ 82015DE - .string "Sorry…\p" - .string "It doesn't appear as if I have any move\n" - .string "I can teach that POKéMON.$" - -FallarborTown_House2_Text_201627: @ 8201627 - .string "{PLAYER} handed over one HEART SCALE\n" - .string "in exchange.$" - -FallarborTown_House2_Text_201653: @ 8201653 - .string "If your POKéMON need to learn a move,\n" - .string "come back with a HEART SCALE.$" - -FallarborTown_House2_Text_201697: @ 8201697 - .string "Hunh? There isn't a single move that\n" - .string "I can teach an EGG.$" - diff --git a/data/maps/FallarborTown_Mart/map.json b/data/maps/FallarborTown_Mart/map.json index 9248eec875..f58c0d9e2f 100644 --- a/data/maps/FallarborTown_Mart/map.json +++ b/data/maps/FallarborTown_Mart/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_Mart_EventScript_1FFCBF", + "script": "FallarborTown_Mart_EventScript_Clerk", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_Mart_EventScript_1FFCF4", + "script": "FallarborTown_Mart_EventScript_Woman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_Mart_EventScript_1FFCFD", + "script": "FallarborTown_Mart_EventScript_PokefanM", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_Mart_EventScript_1FFD06", + "script": "FallarborTown_Mart_EventScript_Skitty", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_Mart_EventScript_2C80B6", + "script": "FallarborTown_Mart_EventScript_MetronomeTutor", "flag": "0" } ], diff --git a/data/maps/FallarborTown_Mart/scripts.inc b/data/maps/FallarborTown_Mart/scripts.inc index bd9de930c5..bf106781a8 100644 --- a/data/maps/FallarborTown_Mart/scripts.inc +++ b/data/maps/FallarborTown_Mart/scripts.inc @@ -1,18 +1,18 @@ FallarborTown_Mart_MapScripts:: @ 81FFCBE .byte 0 -FallarborTown_Mart_EventScript_1FFCBF:: @ 81FFCBF +FallarborTown_Mart_EventScript_Clerk:: @ 81FFCBF lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart FallarborTown_Mart_Pokemart_1FFCD8 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart FallarborTown_Mart_Pokemart + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -FallarborTown_Mart_Pokemart_1FFCD8: @ 81FFCD8 +FallarborTown_Mart_Pokemart: @ 81FFCD8 .2byte ITEM_GREAT_BALL .2byte ITEM_SUPER_POTION .2byte ITEM_ANTIDOTE @@ -29,25 +29,25 @@ FallarborTown_Mart_Pokemart_1FFCD8: @ 81FFCD8 release end -FallarborTown_Mart_EventScript_1FFCF4:: @ 81FFCF4 - msgbox FallarborTown_Mart_Text_1FFD19, MSGBOX_NPC +FallarborTown_Mart_EventScript_Woman:: @ 81FFCF4 + msgbox FallarborTown_Mart_Text_DecidingSkittyEvolve, MSGBOX_NPC end -FallarborTown_Mart_EventScript_1FFCFD:: @ 81FFCFD - msgbox FallarborTown_Mart_Text_1FFE09, MSGBOX_NPC +FallarborTown_Mart_EventScript_PokefanM:: @ 81FFCFD + msgbox FallarborTown_Mart_Text_SellNuggetIFound, MSGBOX_NPC end -FallarborTown_Mart_EventScript_1FFD06:: @ 81FFD06 +FallarborTown_Mart_EventScript_Skitty:: @ 81FFD06 lock faceplayer waitse playmoncry SPECIES_SKITTY, 0 - msgbox FallarborTown_Mart_Text_1FFDFA, MSGBOX_DEFAULT + msgbox FallarborTown_Mart_Text_Skitty, MSGBOX_DEFAULT waitmoncry release end -FallarborTown_Mart_Text_1FFD19: @ 81FFD19 +FallarborTown_Mart_Text_DecidingSkittyEvolve: @ 81FFD19 .string "I'm having a hard time deciding if I\n" .string "should make my SKITTY evolve or not.\p" .string "I only have to use this MOON STONE,\n" @@ -56,10 +56,10 @@ FallarborTown_Mart_Text_1FFD19: @ 81FFD19 .string "much stronger.\p" .string "But it will look so different, too.$" -FallarborTown_Mart_Text_1FFDFA: @ 81FFDFA +FallarborTown_Mart_Text_Skitty: @ 81FFDFA .string "SKITTY: Miyao?$" -FallarborTown_Mart_Text_1FFE09: @ 81FFE09 +FallarborTown_Mart_Text_SellNuggetIFound: @ 81FFE09 .string "This NUGGET I found here…\n" .string "I suppose I'll have to sell it, seeing\l" .string "as how it has no other use.$" diff --git a/data/maps/FallarborTown_House2/map.json b/data/maps/FallarborTown_MoveRelearnersHouse/map.json similarity index 85% rename from data/maps/FallarborTown_House2/map.json rename to data/maps/FallarborTown_MoveRelearnersHouse/map.json index fe0ce67a02..c444c1e382 100644 --- a/data/maps/FallarborTown_House2/map.json +++ b/data/maps/FallarborTown_MoveRelearnersHouse/map.json @@ -1,6 +1,6 @@ { - "id": "MAP_FALLARBOR_TOWN_HOUSE2", - "name": "FallarborTown_House2", + "id": "MAP_FALLARBOR_TOWN_MOVE_RELEARNERS_HOUSE", + "name": "FallarborTown_MoveRelearnersHouse", "layout": "LAYOUT_HOUSE2", "music": "MUS_TONEKUSA", "region_map_section": "MAPSEC_FALLARBOR_TOWN", @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_House2_EventScript_201383", + "script": "FallarborTown_MoveRelearnersHouse_EventScript_MoveRelearner", "flag": "0" } ], diff --git a/data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc b/data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc new file mode 100644 index 0000000000..ac0f42f203 --- /dev/null +++ b/data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc @@ -0,0 +1,102 @@ +FallarborTown_MoveRelearnersHouse_MapScripts:: @ 8201382 + .byte 0 + +FallarborTown_MoveRelearnersHouse_EventScript_MoveRelearner:: @ 8201383 + lockall + applymovement 1, Common_Movement_FacePlayer + waitmovement 0 + goto_if_set FLAG_TEMP_1, FallarborTown_MoveRelearnersHouse_EventScript_AskTeachMove + msgbox FallarborTown_MoveRelearnersHouse_Text_ImTheMoveTutor, MSGBOX_DEFAULT + setflag FLAG_TEMP_1 + goto FallarborTown_MoveRelearnersHouse_EventScript_AskTeachMove + end + +FallarborTown_MoveRelearnersHouse_EventScript_AskTeachMove:: @ 82013A8 + checkitem ITEM_HEART_SCALE, 1 + compare VAR_RESULT, 0 + goto_if_eq FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale + msgbox FallarborTown_MoveRelearnersHouse_Text_ThatsAHeartScaleWantMeToTeachMove, MSGBOX_YESNO + switch VAR_RESULT + case NO, FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale + goto FallarborTown_MoveRelearnersHouse_EventScript_ChooseMon + end + +FallarborTown_MoveRelearnersHouse_EventScript_ChooseMon:: @ 82013D6 + msgbox FallarborTown_MoveRelearnersHouse_Text_TutorWhichMon, MSGBOX_DEFAULT + special ChooseMonForMoveRelearner + waitstate + compare VAR_0x8004, 255 + goto_if_eq FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale + special IsSelectedMonEgg + compare VAR_RESULT, TRUE + goto_if_eq FallarborTown_MoveRelearnersHouse_EventScript_CantTeachEgg + compare VAR_0x8005, 0 + goto_if_eq FallarborTown_MoveRelearnersHouse_EventScript_NoMoveToTeachMon + goto FallarborTown_MoveRelearnersHouse_EventScript_ChooseMove + end + +FallarborTown_MoveRelearnersHouse_EventScript_ChooseMove:: @ 820140C + msgbox FallarborTown_MoveRelearnersHouse_Text_TeachWhichMove, MSGBOX_DEFAULT + special TeachMoveRelearnerMove + waitstate + compare VAR_0x8004, 0 + goto_if_eq FallarborTown_MoveRelearnersHouse_EventScript_ChooseMon + msgbox FallarborTown_MoveRelearnersHouse_Text_HandedOverHeartScale, MSGBOX_DEFAULT + removeitem ITEM_HEART_SCALE + goto FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale + end + +FallarborTown_MoveRelearnersHouse_EventScript_NoMoveToTeachMon:: @ 8201436 + msgbox FallarborTown_MoveRelearnersHouse_Text_DontHaveMoveToTeachPokemon, MSGBOX_DEFAULT + goto FallarborTown_MoveRelearnersHouse_EventScript_ChooseMon + end + +FallarborTown_MoveRelearnersHouse_EventScript_CantTeachEgg:: @ 8201444 + msgbox FallarborTown_MoveRelearnersHouse_Text_CantTeachEgg, MSGBOX_DEFAULT + goto FallarborTown_MoveRelearnersHouse_EventScript_ChooseMon + end + +FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale:: @ 8201452 + msgbox FallarborTown_MoveRelearnersHouse_Text_ComeBackWithHeartScale, MSGBOX_DEFAULT + releaseall + end + +FallarborTown_MoveRelearnersHouse_Text_ImTheMoveTutor: @ 820145C + .string "I'm the MOVE TUTOR.\p" + .string "I know all the moves that POKéMON\n" + .string "learn--every one of them--and I can\l" + .string "teach POKéMON those moves.\p" + .string "I can teach a move to a POKéMON\n" + .string "of yours if you'd like.\p" + .string "I'll do it for a HEART SCALE.\n" + .string "I'm collecting those now.$" + +FallarborTown_MoveRelearnersHouse_Text_ThatsAHeartScaleWantMeToTeachMove: @ 8201541 + .string "Oh! That's it! That's an honest to\n" + .string "goodness HEART SCALE!\p" + .string "Let me guess, you want me to teach\n" + .string "a move?$" + +FallarborTown_MoveRelearnersHouse_Text_TutorWhichMon: @ 82015A5 + .string "Which POKéMON needs tutoring?$" + +FallarborTown_MoveRelearnersHouse_Text_TeachWhichMove: @ 82015C3 + .string "Which move should I teach?$" + +FallarborTown_MoveRelearnersHouse_Text_DontHaveMoveToTeachPokemon: @ 82015DE + .string "Sorry…\p" + .string "It doesn't appear as if I have any move\n" + .string "I can teach that POKéMON.$" + +FallarborTown_MoveRelearnersHouse_Text_HandedOverHeartScale: @ 8201627 + .string "{PLAYER} handed over one HEART SCALE\n" + .string "in exchange.$" + +FallarborTown_MoveRelearnersHouse_Text_ComeBackWithHeartScale: @ 8201653 + .string "If your POKéMON need to learn a move,\n" + .string "come back with a HEART SCALE.$" + +FallarborTown_MoveRelearnersHouse_Text_CantTeachEgg: @ 8201697 + .string "Hunh? There isn't a single move that\n" + .string "I can teach an EGG.$" + diff --git a/data/maps/FallarborTown_PokemonCenter_1F/map.json b/data/maps/FallarborTown_PokemonCenter_1F/map.json index b1ea1ed144..0b55de01a9 100644 --- a/data/maps/FallarborTown_PokemonCenter_1F/map.json +++ b/data/maps/FallarborTown_PokemonCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_PokemonCenter_1F_EventScript_200BE1", + "script": "FallarborTown_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_PokemonCenter_1F_EventScript_200BEF", + "script": "FallarborTown_PokemonCenter_1F_EventScript_Girl", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_PokemonCenter_1F_EventScript_200BF8", + "script": "FallarborTown_PokemonCenter_1F_EventScript_ExpertM", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_PokemonCenter_1F_EventScript_200C01", + "script": "FallarborTown_PokemonCenter_1F_EventScript_Lanette", "flag": "FLAG_HIDE_FALLORBOR_POKEMON_CENTER_LANETTE" } ], diff --git a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc index 5dbd35b485..70c209ef95 100644 --- a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc @@ -1,59 +1,60 @@ FallarborTown_PokemonCenter_1F_MapScripts:: @ 8200BCD map_script MAP_SCRIPT_ON_TRANSITION, FallarborTown_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, FallarborTown_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 FallarborTown_PokemonCenter_1F_OnTransition: @ 8200BD8 setrespawn HEAL_LOCATION_FALLARBOR_TOWN - call FallarborTown_PokemonCenter_1F_EventScript_2718DE + call Common_EventScript_UpdateBrineyLocation end -FallarborTown_PokemonCenter_1F_EventScript_200BE1:: @ 8200BE1 +@ VAR_0x800B is the Nurse's object event id +FallarborTown_PokemonCenter_1F_EventScript_Nurse:: @ 8200BE1 setvar VAR_0x800B, 1 - call FallarborTown_PokemonCenter_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -FallarborTown_PokemonCenter_1F_EventScript_200BEF:: @ 8200BEF - msgbox FallarborTown_PokemonCenter_1F_Text_200E22, MSGBOX_NPC +FallarborTown_PokemonCenter_1F_EventScript_Girl:: @ 8200BEF + msgbox FallarborTown_PokemonCenter_1F_Text_FossilManiacEdgeOfTown, MSGBOX_NPC end -FallarborTown_PokemonCenter_1F_EventScript_200BF8:: @ 8200BF8 - msgbox FallarborTown_PokemonCenter_1F_Text_200E8B, MSGBOX_NPC +FallarborTown_PokemonCenter_1F_EventScript_ExpertM:: @ 8200BF8 + msgbox FallarborTown_PokemonCenter_1F_Text_PlantHardyTrees, MSGBOX_NPC end -FallarborTown_PokemonCenter_1F_EventScript_200C01:: @ 8200C01 +FallarborTown_PokemonCenter_1F_EventScript_Lanette:: @ 8200C01 lock faceplayer - msgbox FallarborTown_PokemonCenter_1F_Text_200C6B, MSGBOX_DEFAULT + msgbox FallarborTown_PokemonCenter_1F_Text_LanetteGreeting, MSGBOX_DEFAULT closemessage switch VAR_FACING - case 2, FallarborTown_PokemonCenter_1F_EventScript_200C28 - case 3, FallarborTown_PokemonCenter_1F_EventScript_200C38 + case DIR_NORTH, FallarborTown_PokemonCenter_1F_EventScript_LanetteExitNorth + case DIR_WEST, FallarborTown_PokemonCenter_1F_EventScript_LanetteExitWest end -FallarborTown_PokemonCenter_1F_EventScript_200C28:: @ 8200C28 - applymovement 4, FallarborTown_PokemonCenter_1F_Movement_200C53 +FallarborTown_PokemonCenter_1F_EventScript_LanetteExitNorth:: @ 8200C28 + applymovement 4, FallarborTown_PokemonCenter_1F_Movement_LanetteExitNorth waitmovement 0 - goto FallarborTown_PokemonCenter_1F_EventScript_200C48 + goto FallarborTown_PokemonCenter_1F_EventScript_LanetteExited end -FallarborTown_PokemonCenter_1F_EventScript_200C38:: @ 8200C38 - applymovement 4, FallarborTown_PokemonCenter_1F_Movement_200C60 +FallarborTown_PokemonCenter_1F_EventScript_LanetteExitWest:: @ 8200C38 + applymovement 4, FallarborTown_PokemonCenter_1F_Movement_LanetteExitWest waitmovement 0 - goto FallarborTown_PokemonCenter_1F_EventScript_200C48 + goto FallarborTown_PokemonCenter_1F_EventScript_LanetteExited end -FallarborTown_PokemonCenter_1F_EventScript_200C48:: @ 8200C48 +FallarborTown_PokemonCenter_1F_EventScript_LanetteExited:: @ 8200C48 playse SE_JIDO_DOA removeobject 4 clearflag FLAG_HIDE_LANETTES_HOUSE_LANETTE release end -FallarborTown_PokemonCenter_1F_Movement_200C53: @ 8200C53 +FallarborTown_PokemonCenter_1F_Movement_LanetteExitNorth: @ 8200C53 walk_right walk_down walk_down @@ -68,7 +69,7 @@ FallarborTown_PokemonCenter_1F_Movement_200C53: @ 8200C53 delay_8 step_end -FallarborTown_PokemonCenter_1F_Movement_200C60: @ 8200C60 +FallarborTown_PokemonCenter_1F_Movement_LanetteExitWest: @ 8200C60 walk_down walk_down walk_left @@ -81,7 +82,7 @@ FallarborTown_PokemonCenter_1F_Movement_200C60: @ 8200C60 delay_8 step_end -FallarborTown_PokemonCenter_1F_Text_200C6B: @ 8200C6B +FallarborTown_PokemonCenter_1F_Text_LanetteGreeting: @ 8200C6B .string "Oh, hello.\n" .string "You are?\p" .string "Okay, your name's {PLAYER}{KUN}.\n" @@ -98,13 +99,13 @@ FallarborTown_PokemonCenter_1F_Text_200C6B: @ 8200C6B .string "If you could, please visit me at home.\n" .string "My house is on ROUTE 114.$" -FallarborTown_PokemonCenter_1F_Text_200E22: @ 8200E22 +FallarborTown_PokemonCenter_1F_Text_FossilManiacEdgeOfTown: @ 8200E22 .string "I wonder what POKéMON looked like\n" .string "long, long ago?\p" .string "Maybe the FOSSIL MANIAC at the edge\n" .string "of town will know.$" -FallarborTown_PokemonCenter_1F_Text_200E8B: @ 8200E8B +FallarborTown_PokemonCenter_1F_Text_PlantHardyTrees: @ 8200E8B .string "In the fields of FALLARBOR, we plant\n" .string "seedlings of hardy trees that thrive\l" .string "even in volcanic ash.$" diff --git a/data/maps/FallarborTown_PokemonCenter_2F/map.json b/data/maps/FallarborTown_PokemonCenter_2F/map.json index 029a4a9c66..60bca57a90 100644 --- a/data/maps/FallarborTown_PokemonCenter_2F/map.json +++ b/data/maps/FallarborTown_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FallarborTown_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/FallarborTown_PokemonCenter_2F/scripts.inc b/data/maps/FallarborTown_PokemonCenter_2F/scripts.inc index 0d53326474..e9912ee686 100644 --- a/data/maps/FallarborTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/FallarborTown_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ FallarborTown_PokemonCenter_2F_MapScripts:: @ 8200EEB - map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FallarborTown_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, FallarborTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -FallarborTown_PokemonCenter_2F_EventScript_200F00:: @ 8200F00 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +FallarborTown_PokemonCenter_2F_EventScript_Colosseum:: @ 8200F00 + call CableClub_EventScript_Colosseum end -FallarborTown_PokemonCenter_2F_EventScript_200F06:: @ 8200F06 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +FallarborTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 8200F06 + call CableClub_EventScript_TradeCenter end -FallarborTown_PokemonCenter_2F_EventScript_200F0C:: @ 8200F0C - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +FallarborTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 8200F0C + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/FarawayIsland_Entrance/map.json b/data/maps/FarawayIsland_Entrance/map.json index e8dc6dbed1..fe81fd10a7 100644 --- a/data/maps/FarawayIsland_Entrance/map.json +++ b/data/maps/FarawayIsland_Entrance/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FarawayIsland_Entrance_EventScript_267CA2", + "script": "FarawayIsland_Entrance_EventScript_Sailor", "flag": "0" }, { @@ -65,7 +65,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "FarawayIsland_Entrance_EventScript_267C98" + "script": "FarawayIsland_Entrance_EventScript_SetCloudsWeather" }, { "type": "trigger", @@ -74,7 +74,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "FarawayIsland_Entrance_EventScript_267C9D" + "script": "FarawayIsland_Entrance_EventScript_ClearWeather" }, { "type": "trigger", @@ -83,7 +83,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "FarawayIsland_Entrance_EventScript_267C98" + "script": "FarawayIsland_Entrance_EventScript_SetCloudsWeather" } ], "bg_events": [ @@ -93,7 +93,7 @@ "y": 32, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "FarawayIsland_Entrance_EventScript_267CF1" + "script": "FarawayIsland_Entrance_EventScript_Sign" } ] } \ No newline at end of file diff --git a/data/maps/FarawayIsland_Entrance/scripts.inc b/data/maps/FarawayIsland_Entrance/scripts.inc index bd91918c3c..23ce120988 100644 --- a/data/maps/FarawayIsland_Entrance/scripts.inc +++ b/data/maps/FarawayIsland_Entrance/scripts.inc @@ -6,41 +6,41 @@ FarawayIsland_Entrance_OnTransition: @ 8267C94 setflag FLAG_ARRIVED_ON_FARAWAY_ISLAND end -FarawayIsland_Entrance_EventScript_267C98:: @ 8267C98 - setweather WEATHER_CLOUDS +FarawayIsland_Entrance_EventScript_SetCloudsWeather:: @ 8267C98 + setweather WEATHER_SUNNY_CLOUDS doweather end -FarawayIsland_Entrance_EventScript_267C9D:: @ 8267C9D +FarawayIsland_Entrance_EventScript_ClearWeather:: @ 8267C9D setweather WEATHER_NONE doweather end -FarawayIsland_Entrance_EventScript_267CA2:: @ 8267CA2 +FarawayIsland_Entrance_EventScript_Sailor:: @ 8267CA2 lock faceplayer - msgbox FarawayIsland_Entrance_Text_2C6B42, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq FarawayIsland_Entrance_EventScript_267CE7 - msgbox FarawayIsland_Entrance_Text_2A6A5D, MSGBOX_DEFAULT + msgbox FarawayIsland_Entrance_Text_SailorReturn, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq FarawayIsland_Entrance_EventScript_AsYouLike + msgbox EventTicket_Text_SailHome, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 30 hideobjectat 1, MAP_FARAWAY_ISLAND_ENTRANCE setvar VAR_0x8004, 2 - call FarawayIsland_Entrance_EventScript_272250 + call Common_EventScript_FerryDepartIsland warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11 waitstate release end -FarawayIsland_Entrance_EventScript_267CE7:: @ 8267CE7 - msgbox FarawayIsland_Entrance_Text_2A6A82, MSGBOX_DEFAULT +FarawayIsland_Entrance_EventScript_AsYouLike:: @ 8267CE7 + msgbox EventTicket_Text_AsYouLike, MSGBOX_DEFAULT release end -FarawayIsland_Entrance_EventScript_267CF1:: @ 8267CF1 - msgbox FarawayIsland_Entrance_Text_2C6D5A, MSGBOX_SIGN +FarawayIsland_Entrance_EventScript_Sign:: @ 8267CF1 + msgbox FarawayIsland_Entrance_Text_Sign, MSGBOX_SIGN end diff --git a/data/maps/FarawayIsland_Interior/map.json b/data/maps/FarawayIsland_Interior/map.json index b41c5461a2..4998380e1a 100644 --- a/data/maps/FarawayIsland_Interior/map.json +++ b/data/maps/FarawayIsland_Interior/map.json @@ -24,7 +24,7 @@ "movement_range_y": 15, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "1", - "script": "FarawayIsland_Interior_EventScript_267DF2", + "script": "FarawayIsland_Interior_EventScript_Mew", "flag": "FLAG_HIDE_MEW" } ], diff --git a/data/maps/FarawayIsland_Interior/scripts.inc b/data/maps/FarawayIsland_Interior/scripts.inc index de6545ec32..2cdb626bdf 100644 --- a/data/maps/FarawayIsland_Interior/scripts.inc +++ b/data/maps/FarawayIsland_Interior/scripts.inc @@ -1,23 +1,23 @@ FarawayIsland_Interior_MapScripts:: @ 8267CFA - map_script MAP_SCRIPT_ON_RESUME, FarawayIsland_Interior_MapScript1_267D54 + map_script MAP_SCRIPT_ON_RESUME, FarawayIsland_Interior_OnResume map_script MAP_SCRIPT_ON_TRANSITION, FarawayIsland_Interior_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, FarawayIsland_Interior_MapScript2_267D98 - map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, FarawayIsland_Interior_MapScript1_267D0F + map_script MAP_SCRIPT_ON_FRAME_TABLE, FarawayIsland_Interior_OnFrame + map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, FarawayIsland_Interior_OnReturnToField .byte 0 -FarawayIsland_Interior_MapScript1_267D0F: @ 8267D0F +FarawayIsland_Interior_OnReturnToField: @ 8267D0F call_if_set FLAG_SYS_CTRL_OBJ_DELETE, FarawayIsland_Interior_EventScript_267D19 end FarawayIsland_Interior_EventScript_267D19:: @ 8267D19 specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 + compare VAR_RESULT, B_OUTCOME_WON goto_if_eq FarawayIsland_Interior_EventScript_267D4B - compare VAR_RESULT, 4 + compare VAR_RESULT, B_OUTCOME_RAN goto_if_eq FarawayIsland_Interior_EventScript_267D4B - compare VAR_RESULT, 5 + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED goto_if_eq FarawayIsland_Interior_EventScript_267D4B - compare VAR_RESULT, 10 + compare VAR_RESULT, B_OUTCOME_MON_TELEPORTED goto_if_eq FarawayIsland_Interior_EventScript_267D4B return @@ -26,13 +26,13 @@ FarawayIsland_Interior_EventScript_267D4B:: @ 8267D4B special sub_81D4A90 return -FarawayIsland_Interior_MapScript1_267D54: @ 8267D54 - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, FarawayIsland_Interior_EventScript_267D5E +FarawayIsland_Interior_OnResume: @ 8267D54 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, FarawayIsland_Interior_EventScript_TryRemoveMew end -FarawayIsland_Interior_EventScript_267D5E:: @ 8267D5E +FarawayIsland_Interior_EventScript_TryRemoveMew:: @ 8267D5E specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject VAR_LAST_TALKED return @@ -40,34 +40,34 @@ FarawayIsland_Interior_EventScript_267D5E:: @ 8267D5E FarawayIsland_Interior_OnTransition: @ 8267D72 setvar VAR_FARAWAY_ISLAND_STEP_COUNTER, 0 setvar VAR_TEMP_1, 1 - call_if_unset FLAG_CAUGHT_MEW, FarawayIsland_Interior_EventScript_267D86 + call_if_unset FLAG_CAUGHT_MEW, FarawayIsland_Interior_EventScript_TryShowMew end -FarawayIsland_Interior_EventScript_267D86:: @ 8267D86 +FarawayIsland_Interior_EventScript_TryShowMew:: @ 8267D86 goto_if_set FLAG_DEFEATED_MEW, Common_EventScript_NopReturn clearflag FLAG_HIDE_MEW setvar VAR_TEMP_1, 0 return -FarawayIsland_Interior_MapScript2_267D98: @ 8267D98 - map_script_2 VAR_TEMP_1, 0, FarawayIsland_Interior_EventScript_267DA2 +FarawayIsland_Interior_OnFrame: @ 8267D98 + map_script_2 VAR_TEMP_1, 0, FarawayIsland_Interior_EventScript_FindMew .2byte 0 -FarawayIsland_Interior_EventScript_267DA2:: @ 8267DA2 +FarawayIsland_Interior_EventScript_FindMew:: @ 8267DA2 lockall playse SE_PIN applymovement 1, Common_Movement_ExclamationMark waitmovement 0 applymovement 1, Common_Movement_Delay48 waitmovement 0 - applymovement 1, FarawayIsland_Interior_Movement_267DCE + applymovement 1, FarawayIsland_Interior_Movement_MewMoveAndHide waitmovement 0 copyobjectxytoperm 1 setvar VAR_TEMP_1, 1 releaseall end -FarawayIsland_Interior_Movement_267DCE: @ 8267DCE +FarawayIsland_Interior_Movement_MewMoveAndHide: @ 8267DCE walk_up walk_up walk_up @@ -75,11 +75,11 @@ FarawayIsland_Interior_Movement_267DCE: @ 8267DCE set_invisible step_end -FarawayIsland_Interior_Movement_267DD4: @ 8267DD4 +FarawayIsland_Interior_Movement_MewAppear: @ 8267DD4 set_visible step_end -FarawayIsland_Interior_Movement_267DD6: @ 8267DD6 +FarawayIsland_Interior_Movement_MewHideDown: @ 8267DD6 lock_facing_direction walk_fast_up walk_fast_up @@ -88,7 +88,7 @@ FarawayIsland_Interior_Movement_267DD6: @ 8267DD6 walk_in_place_down step_end -FarawayIsland_Interior_Movement_267DDD: @ 8267DDD +FarawayIsland_Interior_Movement_MewHideUp: @ 8267DDD lock_facing_direction walk_fast_up walk_fast_up @@ -97,7 +97,7 @@ FarawayIsland_Interior_Movement_267DDD: @ 8267DDD walk_in_place_up step_end -FarawayIsland_Interior_Movement_267DE4: @ 8267DE4 +FarawayIsland_Interior_Movement_MewHideRight: @ 8267DE4 lock_facing_direction walk_fast_up walk_fast_up @@ -106,7 +106,7 @@ FarawayIsland_Interior_Movement_267DE4: @ 8267DE4 walk_in_place_right step_end -FarawayIsland_Interior_Movement_267DEB: @ 8267DEB +FarawayIsland_Interior_Movement_MewHideLeft: @ 8267DEB lock_facing_direction walk_fast_up walk_fast_up @@ -115,89 +115,89 @@ FarawayIsland_Interior_Movement_267DEB: @ 8267DEB walk_in_place_left step_end -FarawayIsland_Interior_EventScript_267DF2:: @ 8267DF2 +FarawayIsland_Interior_EventScript_Mew:: @ 8267DF2 lock faceplayer - applymovement 1, FarawayIsland_Interior_Movement_267DD4 + applymovement 1, FarawayIsland_Interior_Movement_MewAppear waitmovement 0 setvar VAR_0x8004, 0 special sub_81D4A90 - message FarawayIsland_Interior_Text_2C6DFF + message FarawayIsland_Interior_Text_Mew waitse playmoncry SPECIES_MEW, 2 - compare VAR_FACING, 2 - call_if_eq FarawayIsland_Interior_EventScript_267EAF - compare VAR_FACING, 1 - call_if_eq FarawayIsland_Interior_EventScript_267EBA - compare VAR_FACING, 3 - call_if_eq FarawayIsland_Interior_EventScript_267EC5 - compare VAR_FACING, 4 - call_if_eq FarawayIsland_Interior_EventScript_267ED0 + compare VAR_FACING, DIR_NORTH + call_if_eq FarawayIsland_Interior_EventScript_MewHideDown + compare VAR_FACING, DIR_SOUTH + call_if_eq FarawayIsland_Interior_EventScript_MewHideUp + compare VAR_FACING, DIR_WEST + call_if_eq FarawayIsland_Interior_EventScript_MewHideRight + compare VAR_FACING, DIR_EAST + call_if_eq FarawayIsland_Interior_EventScript_MewHideLeft special sub_81D4BEC delay 40 waitmoncry - setvar VAR_0x8004, 151 - setvar VAR_0x8005, 30 - setvar VAR_0x8006, 0 + setvar VAR_0x8004, SPECIES_MEW + setvar VAR_0x8005, 30 @ level + setvar VAR_0x8006, ITEM_NONE special CreateObedientEnemyMon setflag FLAG_SYS_CTRL_OBJ_DELETE special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq FarawayIsland_Interior_EventScript_267E96 - compare VAR_RESULT, 4 - goto_if_eq FarawayIsland_Interior_EventScript_267EA4 - compare VAR_RESULT, 5 - goto_if_eq FarawayIsland_Interior_EventScript_267EA4 - compare VAR_RESULT, 10 - goto_if_eq FarawayIsland_Interior_EventScript_267EA4 + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq FarawayIsland_Interior_EventScript_MewDefeated + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq FarawayIsland_Interior_EventScript_PlayerOrMewRan + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq FarawayIsland_Interior_EventScript_PlayerOrMewRan + compare VAR_RESULT, B_OUTCOME_MON_TELEPORTED + goto_if_eq FarawayIsland_Interior_EventScript_PlayerOrMewRan setflag FLAG_CAUGHT_MEW release end -FarawayIsland_Interior_EventScript_267E96:: @ 8267E96 +FarawayIsland_Interior_EventScript_MewDefeated:: @ 8267E96 setflag FLAG_DEFEATED_MEW - setvar VAR_0x8004, 151 - goto FarawayIsland_Interior_EventScript_273776 + setvar VAR_0x8004, SPECIES_MEW + goto Common_EventScript_LegendaryFlewAway end -FarawayIsland_Interior_EventScript_267EA4:: @ 8267EA4 - setvar VAR_0x8004, 151 - goto FarawayIsland_Interior_EventScript_273776 +FarawayIsland_Interior_EventScript_PlayerOrMewRan:: @ 8267EA4 + setvar VAR_0x8004, SPECIES_MEW + goto Common_EventScript_LegendaryFlewAway end -FarawayIsland_Interior_EventScript_267EAF:: @ 8267EAF - applymovement 1, FarawayIsland_Interior_Movement_267DD6 +FarawayIsland_Interior_EventScript_MewHideDown:: @ 8267EAF + applymovement 1, FarawayIsland_Interior_Movement_MewHideDown waitmovement 0 return -FarawayIsland_Interior_EventScript_267EBA:: @ 8267EBA - applymovement 1, FarawayIsland_Interior_Movement_267DDD +FarawayIsland_Interior_EventScript_MewHideUp:: @ 8267EBA + applymovement 1, FarawayIsland_Interior_Movement_MewHideUp waitmovement 0 return -FarawayIsland_Interior_EventScript_267EC5:: @ 8267EC5 - applymovement 1, FarawayIsland_Interior_Movement_267DE4 +FarawayIsland_Interior_EventScript_MewHideRight:: @ 8267EC5 + applymovement 1, FarawayIsland_Interior_Movement_MewHideRight waitmovement 0 return -FarawayIsland_Interior_EventScript_267ED0:: @ 8267ED0 - applymovement 1, FarawayIsland_Interior_Movement_267DEB +FarawayIsland_Interior_EventScript_MewHideLeft:: @ 8267ED0 + applymovement 1, FarawayIsland_Interior_Movement_MewHideLeft waitmovement 0 return -FarawayIsland_Interior_EventScript_267EDB:: @ 8267EDB +FarawayIsland_Interior_EventScript_HideMewWhenGrassCut:: @ 8267EDB lockall - fadescreenswapbuffers 1 + fadescreenswapbuffers FADE_TO_BLACK setflag FLAG_HIDE_MEW removeobject 1 - fadescreenswapbuffers 0 - msgbox FarawayIsland_Interior_Text_267EF1, MSGBOX_DEFAULT + fadescreenswapbuffers FADE_FROM_BLACK + msgbox FarawayIsland_Interior_Text_TheFeelingOfBeingWatchedFaded, MSGBOX_DEFAULT closemessage releaseall end -FarawayIsland_Interior_Text_267EF1: @ 8267EF1 +FarawayIsland_Interior_Text_TheFeelingOfBeingWatchedFaded: @ 8267EF1 .string "The feeling of being watched faded…$" diff --git a/data/maps/FieryPath/scripts.inc b/data/maps/FieryPath/scripts.inc index 0aa5769a02..ca259993ec 100644 --- a/data/maps/FieryPath/scripts.inc +++ b/data/maps/FieryPath/scripts.inc @@ -3,12 +3,12 @@ FieryPath_MapScripts:: @ 8230F24 .byte 0 FieryPath_OnTransition: @ 8230F2A - call_if_unset FLAG_LANDMARK_FIERY_PATH, FieryPath_EventScript_230F37 + call_if_unset FLAG_LANDMARK_FIERY_PATH, FieryPath_EventScript_MoveScottToFallarbor setflag FLAG_LANDMARK_FIERY_PATH end -FieryPath_EventScript_230F37:: @ 8230F37 +FieryPath_EventScript_MoveScottToFallarbor:: @ 8230F37 setflag FLAG_HIDE_VERDANTURF_TOWN_SCOTT - clearflag FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT + clearflag FLAG_HIDE_FALLARBOR_TOWN_BATTLE_TENT_SCOTT return diff --git a/data/maps/FortreeCity/map.json b/data/maps/FortreeCity/map.json index 454fc34d39..ce1dcee3e1 100644 --- a/data/maps/FortreeCity/map.json +++ b/data/maps/FortreeCity/map.json @@ -35,7 +35,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_EventScript_1E25B6", + "script": "FortreeCity_EventScript_Man", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_EventScript_1E25DE", + "script": "FortreeCity_EventScript_Girl", "flag": "0" }, { @@ -61,7 +61,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_EventScript_1E25BF", + "script": "FortreeCity_EventScript_Woman", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_EventScript_1E25F0", + "script": "FortreeCity_EventScript_Boy", "flag": "0" }, { @@ -87,7 +87,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_EventScript_1E25E7", + "script": "FortreeCity_EventScript_OldMan", "flag": "0" }, { @@ -100,7 +100,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_EventScript_1E25F9", + "script": "FortreeCity_EventScript_GameboyKid", "flag": "0" }, { @@ -113,7 +113,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_EventScript_1E2614", + "script": "FortreeCity_EventScript_Kecleon", "flag": "FLAG_HIDE_FORTREE_CITY_KECLEON" } ], @@ -190,7 +190,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "FortreeCity_EventScript_1E2602" + "script": "FortreeCity_EventScript_CitySign" }, { "type": "sign", @@ -214,7 +214,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "FortreeCity_EventScript_1E260B" + "script": "FortreeCity_EventScript_GymSign" }, { "type": "sign", diff --git a/data/maps/FortreeCity/scripts.inc b/data/maps/FortreeCity/scripts.inc index 30f617f78a..748ed2558e 100644 --- a/data/maps/FortreeCity/scripts.inc +++ b/data/maps/FortreeCity/scripts.inc @@ -1,95 +1,95 @@ FortreeCity_MapScripts:: @ 81E25A4 map_script MAP_SCRIPT_ON_TRANSITION, FortreeCity_OnTransition - map_script MAP_SCRIPT_ON_RESUME, FortreeCity_MapScript1_1E25B3 + map_script MAP_SCRIPT_ON_RESUME, FortreeCity_OnResume .byte 0 FortreeCity_OnTransition: @ 81E25AF setflag FLAG_VISITED_FORTREE_CITY end -FortreeCity_MapScript1_1E25B3: @ 81E25B3 - setstepcallback 2 +FortreeCity_OnResume: @ 81E25B3 + setstepcallback STEP_CB_FORTREE_BRIDGE end -FortreeCity_EventScript_1E25B6:: @ 81E25B6 - msgbox FortreeCity_Text_1E2676, MSGBOX_NPC +FortreeCity_EventScript_Man:: @ 81E25B6 + msgbox FortreeCity_Text_SawGiganticPokemonInSky, MSGBOX_NPC end -FortreeCity_EventScript_1E25BF:: @ 81E25BF +FortreeCity_EventScript_Woman:: @ 81E25BF lock faceplayer - goto_if_set FLAG_KECLEON_FLED_FORTREE, FortreeCity_EventScript_1E25D4 - msgbox FortreeCity_Text_1E2738, MSGBOX_DEFAULT + goto_if_set FLAG_KECLEON_FLED_FORTREE, FortreeCity_EventScript_WomanGymAccessible + msgbox FortreeCity_Text_SomethingBlockingGym, MSGBOX_DEFAULT release end -FortreeCity_EventScript_1E25D4:: @ 81E25D4 - msgbox FortreeCity_Text_1E27B6, MSGBOX_DEFAULT +FortreeCity_EventScript_WomanGymAccessible:: @ 81E25D4 + msgbox FortreeCity_Text_ThisTimeIllBeatWinona, MSGBOX_DEFAULT release end -FortreeCity_EventScript_1E25DE:: @ 81E25DE - msgbox FortreeCity_Text_1E27FE, MSGBOX_NPC +FortreeCity_EventScript_Girl:: @ 81E25DE + msgbox FortreeCity_Text_TreesGrowByDrinkingRainwater, MSGBOX_NPC end -FortreeCity_EventScript_1E25E7:: @ 81E25E7 - msgbox FortreeCity_Text_1E2880, MSGBOX_NPC +FortreeCity_EventScript_OldMan:: @ 81E25E7 + msgbox FortreeCity_Text_EveryoneHealthyAndLively, MSGBOX_NPC end -FortreeCity_EventScript_1E25F0:: @ 81E25F0 - msgbox FortreeCity_Text_1E292E, MSGBOX_NPC +FortreeCity_EventScript_Boy:: @ 81E25F0 + msgbox FortreeCity_Text_BugPokemonComeThroughWindow, MSGBOX_NPC end -FortreeCity_EventScript_1E25F9:: @ 81E25F9 - msgbox FortreeCity_Text_1E299D, MSGBOX_NPC +FortreeCity_EventScript_GameboyKid:: @ 81E25F9 + msgbox FortreeCity_Text_PokemonThatEvolveWhenTraded, MSGBOX_NPC end -FortreeCity_EventScript_1E2602:: @ 81E2602 - msgbox FortreeCity_Text_1E2AAC, MSGBOX_SIGN +FortreeCity_EventScript_CitySign:: @ 81E2602 + msgbox FortreeCity_Text_CitySign, MSGBOX_SIGN end -FortreeCity_EventScript_1E260B:: @ 81E260B - msgbox FortreeCity_Text_1E2AE6, MSGBOX_SIGN +FortreeCity_EventScript_GymSign:: @ 81E260B + msgbox FortreeCity_Text_GymSign, MSGBOX_SIGN end -FortreeCity_EventScript_1E2614:: @ 81E2614 +FortreeCity_EventScript_Kecleon:: @ 81E2614 lock faceplayer checkitem ITEM_DEVON_SCOPE, 1 - compare VAR_RESULT, 1 - goto_if_eq FortreeCity_EventScript_1E2630 - msgbox FortreeCity_Text_1E29E5, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq FortreeCity_EventScript_AskUseDevonScope + msgbox FortreeCity_Text_SomethingUnseeable, MSGBOX_DEFAULT release end -FortreeCity_EventScript_1E2630:: @ 81E2630 - msgbox FortreeCity_Text_1E2A08, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq FortreeCity_EventScript_1E2645 +FortreeCity_EventScript_AskUseDevonScope:: @ 81E2630 + msgbox FortreeCity_Text_UnseeableUseDevonScope, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq FortreeCity_EventScript_UseDevonScope release end -FortreeCity_EventScript_1E2645:: @ 81E2645 - msgbox FortreeCity_Text_1E2A48, MSGBOX_DEFAULT +FortreeCity_EventScript_UseDevonScope:: @ 81E2645 + msgbox FortreeCity_Text_UsedDevonScopePokemonFled, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, FortreeCity_Movement_2723C7 + applymovement VAR_LAST_TALKED, Movement_KecleonAppears waitmovement 0 waitse playmoncry SPECIES_KECLEON, 2 delay 40 waitmoncry - applymovement VAR_LAST_TALKED, FortreeCity_Movement_1E2674 + applymovement VAR_LAST_TALKED, FortreeCity_Movement_KecleonFlee waitmovement 0 removeobject VAR_LAST_TALKED setflag FLAG_KECLEON_FLED_FORTREE release end -FortreeCity_Movement_1E2674: @ 81E2674 +FortreeCity_Movement_KecleonFlee: @ 81E2674 walk_right step_end -FortreeCity_Text_1E2676: @ 81E2676 +FortreeCity_Text_SawGiganticPokemonInSky: @ 81E2676 .string "No one believes me, but I saw this\n" .string "gigantic POKéMON in the sky.\p" .string "It seemed to squirm as it flew toward\n" @@ -98,23 +98,23 @@ FortreeCity_Text_1E2676: @ 81E2676 .string "Um… You, uh…smell singed.\p" .string "Were you at a volcano or something?$" -FortreeCity_Text_1E2738: @ 81E2738 +FortreeCity_Text_SomethingBlockingGym: @ 81E2738 .string "I want to go to the POKéMON GYM,\n" .string "but something's blocking the way.\p" .string "After all the bother I went through\n" .string "training on ROUTE 120…$" -FortreeCity_Text_1E27B6: @ 81E27B6 +FortreeCity_Text_ThisTimeIllBeatWinona: @ 81E27B6 .string "I've got my pride-and-joy POKéMON\n" .string "with me. This time, I'll beat WINONA.$" -FortreeCity_Text_1E27FE: @ 81E27FE +FortreeCity_Text_TreesGrowByDrinkingRainwater: @ 81E27FE .string "The ground absorbs rainwater, and\n" .string "trees grow by drinking that water…\p" .string "Our FORTREE CITY exists because\n" .string "there's both water and soil.$" -FortreeCity_Text_1E2880: @ 81E2880 +FortreeCity_Text_EveryoneHealthyAndLively: @ 81E2880 .string "The CITY consists of homes built on\n" .string "trees.\p" .string "Perhaps because of that lifestyle,\n" @@ -122,35 +122,35 @@ FortreeCity_Text_1E2880: @ 81E2880 .string "Why, even myself--I feel as if I've\n" .string "grown thirty years younger.$" -FortreeCity_Text_1E292E: @ 81E292E +FortreeCity_Text_BugPokemonComeThroughWindow: @ 81E292E .string "Living on top of trees is okay.\p" .string "But sometimes BUG POKéMON come in\n" .string "through windows.\l" .string "It can be really startling.$" -FortreeCity_Text_1E299D: @ 81E299D +FortreeCity_Text_PokemonThatEvolveWhenTraded: @ 81E299D .string "There are POKéMON that evolve when\n" .string "you trade them! That's what I heard.$" -FortreeCity_Text_1E29E5: @ 81E29E5 +FortreeCity_Text_SomethingUnseeable: @ 81E29E5 .string "Something unseeable is in the way.$" -FortreeCity_Text_1E2A08: @ 81E2A08 +FortreeCity_Text_UnseeableUseDevonScope: @ 81E2A08 .string "Something unseeable is in the way.\p" .string "Want to use the DEVON SCOPE?$" -FortreeCity_Text_1E2A48: @ 81E2A48 +FortreeCity_Text_UsedDevonScopePokemonFled: @ 81E2A48 .string "{PLAYER} used the DEVON SCOPE.\p" .string "An invisible POKéMON became completely\n" .string "visible!\p" .string "The startled POKéMON fled!$" -FortreeCity_Text_1E2AAC: @ 81E2AAC +FortreeCity_Text_CitySign: @ 81E2AAC .string "FORTREE CITY\n" .string "“The treetop city that frolics with\l" .string "nature.”$" -FortreeCity_Text_1E2AE6: @ 81E2AE6 +FortreeCity_Text_GymSign: @ 81E2AE6 .string "FORTREE CITY POKéMON GYM\n" .string "LEADER: WINONA\p" .string "“The bird user taking flight into\n" diff --git a/data/maps/FortreeCity_DecorationShop/map.json b/data/maps/FortreeCity_DecorationShop/map.json index a8654e7087..ac0ca1f89d 100644 --- a/data/maps/FortreeCity_DecorationShop/map.json +++ b/data/maps/FortreeCity_DecorationShop/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_DecorationShop_EventScript_21800E", + "script": "FortreeCity_DecorationShop_EventScript_PokefanM", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_DecorationShop_EventScript_218017", + "script": "FortreeCity_DecorationShop_EventScript_Girl", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_DecorationShop_EventScript_218020", + "script": "FortreeCity_DecorationShop_EventScript_ClerkDesks", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_DecorationShop_EventScript_21804C", + "script": "FortreeCity_DecorationShop_EventScript_ClerkChairs", "flag": "0" } ], diff --git a/data/maps/FortreeCity_DecorationShop/scripts.inc b/data/maps/FortreeCity_DecorationShop/scripts.inc index 3b0021cf39..4dd751b0f0 100644 --- a/data/maps/FortreeCity_DecorationShop/scripts.inc +++ b/data/maps/FortreeCity_DecorationShop/scripts.inc @@ -1,21 +1,21 @@ FortreeCity_DecorationShop_MapScripts:: @ 821800D .byte 0 -FortreeCity_DecorationShop_EventScript_21800E:: @ 821800E - msgbox FortreeCity_DecorationShop_Text_218078, MSGBOX_NPC +FortreeCity_DecorationShop_EventScript_PokefanM:: @ 821800E + msgbox FortreeCity_DecorationShop_Text_MerchandiseSentToPC, MSGBOX_NPC end -FortreeCity_DecorationShop_EventScript_218017:: @ 8218017 - msgbox FortreeCity_DecorationShop_Text_2180ED, MSGBOX_NPC +FortreeCity_DecorationShop_EventScript_Girl:: @ 8218017 + msgbox FortreeCity_DecorationShop_Text_BuyingDeskForDolls, MSGBOX_NPC end -FortreeCity_DecorationShop_EventScript_218020:: @ 8218020 +FortreeCity_DecorationShop_EventScript_ClerkDesks:: @ 8218020 lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage pokemartdecoration FortreeCity_DecorationShop_PokemartDecor_Desks - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end @@ -33,13 +33,13 @@ FortreeCity_DecorationShop_PokemartDecor_Desks: @ 8218038 release end -FortreeCity_DecorationShop_EventScript_21804C:: @ 821804C +FortreeCity_DecorationShop_EventScript_ClerkChairs:: @ 821804C lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage pokemartdecoration FortreeCity_DecorationShop_PokemartDecor_Chairs - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end @@ -57,13 +57,13 @@ FortreeCity_DecorationShop_PokemartDecor_Chairs: @ 8218064 release end -FortreeCity_DecorationShop_Text_218078: @ 8218078 +FortreeCity_DecorationShop_Text_MerchandiseSentToPC: @ 8218078 .string "Merchandise you buy here is sent to\n" .string "your own PC.\p" .string "That's fantastic! I wish they could\n" .string "also deliver me home like that.$" -FortreeCity_DecorationShop_Text_2180ED: @ 82180ED +FortreeCity_DecorationShop_Text_BuyingDeskForDolls: @ 82180ED .string "I'm buying a pretty desk and I'm\n" .string "putting my cute DOLLS on it.\p" .string "If I don't, when I decorate my\n" diff --git a/data/maps/FortreeCity_Gym/map.json b/data/maps/FortreeCity_Gym/map.json index f985b2ce47..7b17c58c0c 100644 --- a/data/maps/FortreeCity_Gym/map.json +++ b/data/maps/FortreeCity_Gym/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_Gym_EventScript_2165C8", + "script": "FortreeCity_Gym_EventScript_Winona", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "FortreeCity_Gym_EventScript_2166A8", + "script": "FortreeCity_Gym_EventScript_Jared", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "FortreeCity_Gym_EventScript_2166D6", + "script": "FortreeCity_Gym_EventScript_Flint", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "FortreeCity_Gym_EventScript_2166ED", + "script": "FortreeCity_Gym_EventScript_Ashley", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "FortreeCity_Gym_EventScript_2166BF", + "script": "FortreeCity_Gym_EventScript_Edwardo", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_Gym_EventScript_216732", + "script": "FortreeCity_Gym_EventScript_GymGuide", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "FortreeCity_Gym_EventScript_216704", + "script": "FortreeCity_Gym_EventScript_Humberto", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "FortreeCity_Gym_EventScript_21671B", + "script": "FortreeCity_Gym_EventScript_Darius", "flag": "0" } ], @@ -143,7 +143,7 @@ "y": 21, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "FortreeCity_Gym_EventScript_216751" + "script": "FortreeCity_Gym_EventScript_LeftGymStatue" }, { "type": "sign", @@ -151,7 +151,7 @@ "y": 21, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "FortreeCity_Gym_EventScript_216761" + "script": "FortreeCity_Gym_EventScript_RightGymStatue" } ] } \ No newline at end of file diff --git a/data/maps/FortreeCity_Gym/scripts.inc b/data/maps/FortreeCity_Gym/scripts.inc index 1b3cf29e9c..15e3591759 100644 --- a/data/maps/FortreeCity_Gym/scripts.inc +++ b/data/maps/FortreeCity_Gym/scripts.inc @@ -1,141 +1,141 @@ FortreeCity_Gym_MapScripts:: @ 82165AB map_script MAP_SCRIPT_ON_TRANSITION, FortreeCity_Gym_OnTransition - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FortreeCity_Gym_MapScript2_2165BA + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FortreeCity_Gym_OnWarp .byte 0 FortreeCity_Gym_OnTransition: @ 82165B6 special RotatingGate_InitPuzzle end -FortreeCity_Gym_MapScript2_2165BA: @ 82165BA - map_script_2 VAR_TEMP_0, 16384, FortreeCity_Gym_EventScript_2165C4 +FortreeCity_Gym_OnWarp: @ 82165BA + map_script_2 VAR_TEMP_0, VAR_TEMP_0, FortreeCity_Gym_EventScript_InitRotatingGates .2byte 0 -FortreeCity_Gym_EventScript_2165C4:: @ 82165C4 +FortreeCity_Gym_EventScript_InitRotatingGates:: @ 82165C4 special RotatingGate_InitPuzzleAndGraphics end -FortreeCity_Gym_EventScript_2165C8:: @ 82165C8 - trainerbattle_single TRAINER_WINONA_1, FortreeCity_Gym_Text_216D75, FortreeCity_Gym_Text_216E60, FortreeCity_Gym_EventScript_2165FD, NO_MUSIC +FortreeCity_Gym_EventScript_Winona:: @ 82165C8 + trainerbattle_single TRAINER_WINONA_1, FortreeCity_Gym_Text_WinonaIntro, FortreeCity_Gym_Text_WinonaDefeat, FortreeCity_Gym_EventScript_WinonaDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq FortreeCity_Gym_EventScript_21668D - goto_if_unset FLAG_RECEIVED_TM40, FortreeCity_Gym_EventScript_216646 - msgbox FortreeCity_Gym_Text_217071, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq FortreeCity_Gym_EventScript_WinonaRematch + goto_if_unset FLAG_RECEIVED_TM40, FortreeCity_Gym_EventScript_GiveAerialAce2 + msgbox FortreeCity_Gym_Text_WinonaPostBattle, MSGBOX_DEFAULT release end -FortreeCity_Gym_EventScript_2165FD:: @ 82165FD - message FortreeCity_Gym_Text_216EEC +FortreeCity_Gym_EventScript_WinonaDefeated:: @ 82165FD + message FortreeCity_Gym_Text_ReceivedFeatherBadge waitmessage call Common_EventScript_PlayGymBadgeFanfare - msgbox FortreeCity_Gym_Text_216F17, MSGBOX_DEFAULT + msgbox FortreeCity_Gym_Text_ExplainFeatherBadgeTakeThis, MSGBOX_DEFAULT setflag FLAG_DEFEATED_FORTREE_GYM setflag FLAG_BADGE06_GET setvar VAR_0x8008, 6 - call FortreeCity_Gym_EventScript_271F43 - call FortreeCity_Gym_EventScript_21666A + call Common_EventScript_SetGymTrainers + call FortreeCity_Gym_EventScript_GiveAerialAce closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox FortreeCity_Gym_Text_217044, MSGBOX_DEFAULT + msgbox FortreeCity_Gym_Text_RegisteredWinona, MSGBOX_DEFAULT waitfanfare closemessage delay 30 setflag FLAG_ENABLE_WINONA_MATCH_CALL - setvar VAR_WINONA_CALL_STEP_COUNTER, 0 - setflag FLAG_REGISTER_WINONA_POKENAV + setvar VAR_SCOTT_FORTREE_CALL_STEP_COUNTER, 0 + setflag FLAG_SCOTT_CALL_FORTREE_GYM release end -FortreeCity_Gym_EventScript_216646:: @ 8216646 - giveitem_std ITEM_TM40 +FortreeCity_Gym_EventScript_GiveAerialAce2:: @ 8216646 + giveitem ITEM_TM40 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull - msgbox FortreeCity_Gym_Text_216FEC, MSGBOX_DEFAULT + msgbox FortreeCity_Gym_Text_ExplainAerialAce, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM40 release end -FortreeCity_Gym_EventScript_21666A:: @ 821666A - giveitem_std ITEM_TM40 +FortreeCity_Gym_EventScript_GiveAerialAce:: @ 821666A + giveitem ITEM_TM40 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_BagIsFull - msgbox FortreeCity_Gym_Text_216FEC, MSGBOX_DEFAULT + msgbox FortreeCity_Gym_Text_ExplainAerialAce, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM40 return -FortreeCity_Gym_EventScript_21668D:: @ 821668D - trainerbattle_rematch_double TRAINER_WINONA_1, FortreeCity_Gym_Text_217100, FortreeCity_Gym_Text_2171E6, FortreeCity_Gym_Text_217292 - msgbox FortreeCity_Gym_Text_21720B, MSGBOX_AUTOCLOSE +FortreeCity_Gym_EventScript_WinonaRematch:: @ 821668D + trainerbattle_rematch_double TRAINER_WINONA_1, FortreeCity_Gym_Text_WinonaPreRematch, FortreeCity_Gym_Text_WinonaRematchDefeat, FortreeCity_Gym_Text_WinonaRematchNeedTwoMons + msgbox FortreeCity_Gym_Text_WinonaPostRematch, MSGBOX_AUTOCLOSE end -FortreeCity_Gym_EventScript_2166A8:: @ 82166A8 - trainerbattle_single TRAINER_JARED, FortreeCity_Gym_Text_2168A2, FortreeCity_Gym_Text_2168D3 - msgbox FortreeCity_Gym_Text_2168E7, MSGBOX_AUTOCLOSE +FortreeCity_Gym_EventScript_Jared:: @ 82166A8 + trainerbattle_single TRAINER_JARED, FortreeCity_Gym_Text_JaredIntro, FortreeCity_Gym_Text_JaredDefeat + msgbox FortreeCity_Gym_Text_JaredPostBattle, MSGBOX_AUTOCLOSE end -FortreeCity_Gym_EventScript_2166BF:: @ 82166BF - trainerbattle_single TRAINER_EDWARDO, FortreeCity_Gym_Text_21695A, FortreeCity_Gym_Text_2169C7 - msgbox FortreeCity_Gym_Text_2169F1, MSGBOX_AUTOCLOSE +FortreeCity_Gym_EventScript_Edwardo:: @ 82166BF + trainerbattle_single TRAINER_EDWARDO, FortreeCity_Gym_Text_EdwardoIntro, FortreeCity_Gym_Text_EdwardoDefeat + msgbox FortreeCity_Gym_Text_EdwardoPostBattle, MSGBOX_AUTOCLOSE end -FortreeCity_Gym_EventScript_2166D6:: @ 82166D6 - trainerbattle_single TRAINER_FLINT, FortreeCity_Gym_Text_216A66, FortreeCity_Gym_Text_216AC4 - msgbox FortreeCity_Gym_Text_216AD7, MSGBOX_AUTOCLOSE +FortreeCity_Gym_EventScript_Flint:: @ 82166D6 + trainerbattle_single TRAINER_FLINT, FortreeCity_Gym_Text_FlintIntro, FortreeCity_Gym_Text_FlintDefeat + msgbox FortreeCity_Gym_Text_FlintPostBattle, MSGBOX_AUTOCLOSE end -FortreeCity_Gym_EventScript_2166ED:: @ 82166ED - trainerbattle_single TRAINER_ASHLEY, FortreeCity_Gym_Text_216B1A, FortreeCity_Gym_Text_216B51 - msgbox FortreeCity_Gym_Text_216B5F, MSGBOX_AUTOCLOSE +FortreeCity_Gym_EventScript_Ashley:: @ 82166ED + trainerbattle_single TRAINER_ASHLEY, FortreeCity_Gym_Text_AshleyIntro, FortreeCity_Gym_Text_AshleyDefeat + msgbox FortreeCity_Gym_Text_AshleyPostBattle, MSGBOX_AUTOCLOSE end -FortreeCity_Gym_EventScript_216704:: @ 8216704 - trainerbattle_single TRAINER_HUMBERTO, FortreeCity_Gym_Text_216B9E, FortreeCity_Gym_Text_216C18 - msgbox FortreeCity_Gym_Text_216C32, MSGBOX_AUTOCLOSE +FortreeCity_Gym_EventScript_Humberto:: @ 8216704 + trainerbattle_single TRAINER_HUMBERTO, FortreeCity_Gym_Text_HumbertoIntro, FortreeCity_Gym_Text_HumbertoDefeat + msgbox FortreeCity_Gym_Text_HumbertoPostBattle, MSGBOX_AUTOCLOSE end -FortreeCity_Gym_EventScript_21671B:: @ 821671B - trainerbattle_single TRAINER_DARIUS, FortreeCity_Gym_Text_216C96, FortreeCity_Gym_Text_216CF2 - msgbox FortreeCity_Gym_Text_216D0F, MSGBOX_AUTOCLOSE +FortreeCity_Gym_EventScript_Darius:: @ 821671B + trainerbattle_single TRAINER_DARIUS, FortreeCity_Gym_Text_DariusIntro, FortreeCity_Gym_Text_DariusDefeat + msgbox FortreeCity_Gym_Text_DariusPostBattle, MSGBOX_AUTOCLOSE end -FortreeCity_Gym_EventScript_216732:: @ 8216732 +FortreeCity_Gym_EventScript_GymGuide:: @ 8216732 lock faceplayer - goto_if_set FLAG_DEFEATED_FORTREE_GYM, FortreeCity_Gym_EventScript_216747 - msgbox FortreeCity_Gym_Text_216785, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_FORTREE_GYM, FortreeCity_Gym_EventScript_GymGuidePostVictory + msgbox FortreeCity_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT release end -FortreeCity_Gym_EventScript_216747:: @ 8216747 - msgbox FortreeCity_Gym_Text_21687D, MSGBOX_DEFAULT +FortreeCity_Gym_EventScript_GymGuidePostVictory:: @ 8216747 + msgbox FortreeCity_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT release end -FortreeCity_Gym_EventScript_216751:: @ 8216751 +FortreeCity_Gym_EventScript_LeftGymStatue:: @ 8216751 lockall - goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_216771 - goto FortreeCity_Gym_EventScript_21677B + goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_GymStatueCertified + goto FortreeCity_Gym_EventScript_GymStatue end -FortreeCity_Gym_EventScript_216761:: @ 8216761 +FortreeCity_Gym_EventScript_RightGymStatue:: @ 8216761 lockall - goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_216771 - goto FortreeCity_Gym_EventScript_21677B + goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_GymStatueCertified + goto FortreeCity_Gym_EventScript_GymStatue end -FortreeCity_Gym_EventScript_216771:: @ 8216771 - msgbox FortreeCity_Gym_Text_2170C7, MSGBOX_DEFAULT +FortreeCity_Gym_EventScript_GymStatueCertified:: @ 8216771 + msgbox FortreeCity_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT releaseall end -FortreeCity_Gym_EventScript_21677B:: @ 821677B - msgbox FortreeCity_Gym_Text_2170AE, MSGBOX_DEFAULT +FortreeCity_Gym_EventScript_GymStatue:: @ 821677B + msgbox FortreeCity_Gym_Text_GymStatue, MSGBOX_DEFAULT releaseall end -FortreeCity_Gym_Text_216785: @ 8216785 +FortreeCity_Gym_Text_GymGuideAdvice: @ 8216785 .string "Yo, how's it going, CHAMPION-\n" .string "bound {PLAYER}?\p" .string "FORTREE GYM LEADER WINONA is\n" @@ -146,94 +146,94 @@ FortreeCity_Gym_Text_216785: @ 8216785 .string "who are trying to take wing!\p" .string "Okay, go for it!$" -FortreeCity_Gym_Text_21687D: @ 821687D +FortreeCity_Gym_Text_GymGuidePostVictory: @ 821687D .string "You did it!\n" .string "You've achieved liftoff!$" -FortreeCity_Gym_Text_2168A2: @ 82168A2 +FortreeCity_Gym_Text_JaredIntro: @ 82168A2 .string "Behold the elegant battle style of\n" .string "BIRD POKéMON!$" -FortreeCity_Gym_Text_2168D3: @ 82168D3 +FortreeCity_Gym_Text_JaredDefeat: @ 82168D3 .string "You…\n" .string "You're strong…$" -FortreeCity_Gym_Text_2168E7: @ 82168E7 +FortreeCity_Gym_Text_JaredPostBattle: @ 82168E7 .string "A TRAINER has to be smart to keep\n" .string "up with unexpected turns of events.\p" .string "Do you have the smarts to get to\n" .string "our LEADER?$" -FortreeCity_Gym_Text_21695A: @ 821695A +FortreeCity_Gym_Text_EdwardoIntro: @ 821695A .string "The lovers of BIRD POKéMON aspire\n" .string "to join this GYM.\p" .string "As a member of the FORTREE GYM,\n" .string "I'm not allowed to lose!$" -FortreeCity_Gym_Text_2169C7: @ 82169C7 +FortreeCity_Gym_Text_EdwardoDefeat: @ 82169C7 .string "It was too much of a load for me\n" .string "to bear…$" -FortreeCity_Gym_Text_2169F1: @ 82169F1 +FortreeCity_Gym_Text_EdwardoPostBattle: @ 82169F1 .string "The world is huge, and there are\n" .string "countless tough TRAINERS.\p" .string "I'm going to keep training and make\n" .string "myself even stronger.$" -FortreeCity_Gym_Text_216A66: @ 8216A66 +FortreeCity_Gym_Text_FlintIntro: @ 8216A66 .string "There's no need for WINONA, our GYM\n" .string "LEADER, to deal with you!\p" .string "I'm plenty good enough for you!$" -FortreeCity_Gym_Text_216AC4: @ 8216AC4 +FortreeCity_Gym_Text_FlintDefeat: @ 8216AC4 .string "WINONA, I…\n" .string "I lost!$" -FortreeCity_Gym_Text_216AD7: @ 8216AD7 +FortreeCity_Gym_Text_FlintPostBattle: @ 8216AD7 .string "WINONA is cute and she's strong.\n" .string "She's the ultimate LEADER!\p" .string "Blush…$" -FortreeCity_Gym_Text_216B1A: @ 8216B1A +FortreeCity_Gym_Text_AshleyIntro: @ 8216B1A .string "WINONA taught me personally!\n" .string "You can't beat me easily!$" -FortreeCity_Gym_Text_216B51: @ 8216B51 +FortreeCity_Gym_Text_AshleyDefeat: @ 8216B51 .string "I was beaten…$" -FortreeCity_Gym_Text_216B5F: @ 8216B5F +FortreeCity_Gym_Text_AshleyPostBattle: @ 8216B5F .string "Thanks to WINONA, the people of\n" .string "FORTREE can live without fear.$" -FortreeCity_Gym_Text_216B9E: @ 8216B9E +FortreeCity_Gym_Text_HumbertoIntro: @ 8216B9E .string "When WINONA takes to battle, her face\n" .string "shines with beautiful determination…\p" .string "I'm not letting you witness that\n" .string "lovely sight!$" -FortreeCity_Gym_Text_216C18: @ 8216C18 +FortreeCity_Gym_Text_HumbertoDefeat: @ 8216C18 .string "Urk!\n" .string "I couldn't stop you.$" -FortreeCity_Gym_Text_216C32: @ 8216C32 +FortreeCity_Gym_Text_HumbertoPostBattle: @ 8216C32 .string "You'd better watch it!\n" .string "Don't get distracted staring at WINONA\l" .string "or you'll go crashing down in a heap!$" -FortreeCity_Gym_Text_216C96: @ 8216C96 +FortreeCity_Gym_Text_DariusIntro: @ 8216C96 .string "You'd better know that there are all\n" .string "sorts of FLYING-type POKéMON.\p" .string "You do know that, right?$" -FortreeCity_Gym_Text_216CF2: @ 8216CF2 +FortreeCity_Gym_Text_DariusDefeat: @ 8216CF2 .string "You seem to know your stuff!$" -FortreeCity_Gym_Text_216D0F: @ 8216D0F +FortreeCity_Gym_Text_DariusPostBattle: @ 8216D0F .string "Sure, you beat me all right.\n" .string "But you'd better watch it! Our LEADER\l" .string "WINONA's POKéMON are all business.$" -FortreeCity_Gym_Text_216D75: @ 8216D75 +FortreeCity_Gym_Text_WinonaIntro: @ 8216D75 .string "I am WINONA. I am the LEADER of\n" .string "the FORTREE POKéMON GYM.\p" .string "I have become one with BIRD POKéMON\n" @@ -243,18 +243,18 @@ FortreeCity_Gym_Text_216D75: @ 8216D75 .string "Witness the elegant choreography\n" .string "of BIRD POKéMON and I!$" -FortreeCity_Gym_Text_216E60: @ 8216E60 +FortreeCity_Gym_Text_WinonaDefeat: @ 8216E60 .string "Never before have I seen a TRAINER\n" .string "command POKéMON with more grace\l" .string "than I…\p" .string "In recognition of your prowess,\n" .string "I present to you this GYM BADGE.$" -FortreeCity_Gym_Text_216EEC: @ 8216EEC +FortreeCity_Gym_Text_ReceivedFeatherBadge: @ 8216EEC .string "{PLAYER} received the FEATHER BADGE\n" .string "from WINONA.$" -FortreeCity_Gym_Text_216F17: @ 8216F17 +FortreeCity_Gym_Text_ExplainFeatherBadgeTakeThis: @ 8216F17 .string "With the FEATHER BADGE, all POKéMON up\n" .string "to LV 70, even those received through\l" .string "trades, will obey your every command.\p" @@ -263,29 +263,29 @@ FortreeCity_Gym_Text_216F17: @ 8216F17 .string "And this…\n" .string "This is a gift from me.$" -FortreeCity_Gym_Text_216FEC: @ 8216FEC +FortreeCity_Gym_Text_ExplainAerialAce: @ 8216FEC .string "TM40 contains AERIAL ACE.\p" .string "Its speed…\n" .string "No POKéMON should be able to avoid it.\p" .string "… … … … … …$" -FortreeCity_Gym_Text_217044: @ 8217044 +FortreeCity_Gym_Text_RegisteredWinona: @ 8217044 .string "Registered GYM LEADER WINONA\n" .string "in the POKéNAV.$" -FortreeCity_Gym_Text_217071: @ 8217071 +FortreeCity_Gym_Text_WinonaPostBattle: @ 8217071 .string "Though I fell to you, I will remain\n" .string "devoted to BIRD POKéMON.$" -FortreeCity_Gym_Text_2170AE: @ 82170AE +FortreeCity_Gym_Text_GymStatue: @ 82170AE .string "FORTREE CITY POKéMON GYM$" -FortreeCity_Gym_Text_2170C7: @ 82170C7 +FortreeCity_Gym_Text_GymStatueCertified: @ 82170C7 .string "FORTREE CITY POKéMON GYM\p" .string "WINONA'S CERTIFIED TRAINERS:\n" .string "{PLAYER}$" -FortreeCity_Gym_Text_217100: @ 8217100 +FortreeCity_Gym_Text_WinonaPreRematch: @ 8217100 .string "WINONA: We humans can never escape\n" .string "gravity's pull on the ground.\p" .string "But by striving for excellence,\n" @@ -295,17 +295,17 @@ FortreeCity_Gym_Text_217100: @ 8217100 .string "Please, allow me to see your power\n" .string "at full flight!$" -FortreeCity_Gym_Text_2171E6: @ 82171E6 +FortreeCity_Gym_Text_WinonaRematchDefeat: @ 82171E6 .string "I failed to reach your height again…$" -FortreeCity_Gym_Text_21720B: @ 821720B +FortreeCity_Gym_Text_WinonaPostRematch: @ 821720B .string "WINONA: Even though I have lost,\n" .string "the wings of my heart remain unbroken.\p" .string "I can rise and soar again and\n" .string "yet again.\p" .string "I am convinced of it!$" -FortreeCity_Gym_Text_217292: @ 8217292 +FortreeCity_Gym_Text_WinonaRematchNeedTwoMons: @ 8217292 .string "WINONA: We humans can never escape\n" .string "gravity's pull on the ground.\p" .string "But by striving for excellence,\n" diff --git a/data/maps/FortreeCity_House1/map.json b/data/maps/FortreeCity_House1/map.json index 62469515aa..f984e2be56 100644 --- a/data/maps/FortreeCity_House1/map.json +++ b/data/maps/FortreeCity_House1/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_House1_EventScript_2162BB", + "script": "FortreeCity_House1_EventScript_Trader", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_House1_EventScript_216368", + "script": "FortreeCity_House1_EventScript_Zigzagoon", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_House1_EventScript_21635F", + "script": "FortreeCity_House1_EventScript_ExpertF", "flag": "0" } ], diff --git a/data/maps/FortreeCity_House1/scripts.inc b/data/maps/FortreeCity_House1/scripts.inc index 87aa7a6436..c7f4a8d5b7 100644 --- a/data/maps/FortreeCity_House1/scripts.inc +++ b/data/maps/FortreeCity_House1/scripts.inc @@ -1,69 +1,69 @@ FortreeCity_House1_MapScripts:: @ 82162BA .byte 0 -FortreeCity_House1_EventScript_2162BB:: @ 82162BB +FortreeCity_House1_EventScript_Trader:: @ 82162BB lock faceplayer - goto_if_set FLAG_FORTREE_NPC_TRADE_COMPLETED, FortreeCity_House1_EventScript_216355 - setvar VAR_0x8008, 1 + goto_if_set FLAG_FORTREE_NPC_TRADE_COMPLETED, FortreeCity_House1_EventScript_TradeCompleted + setvar VAR_0x8008, INGAME_TRADE_PLUSLE copyvar VAR_0x8004, VAR_0x8008 specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT - msgbox FortreeCity_House1_Text_21637B, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq FortreeCity_House1_EventScript_21633D - special sub_81B94B0 + msgbox FortreeCity_House1_Text_YouWillTradeWontYou, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq FortreeCity_House1_EventScript_DeclineTrade + special ChoosePartyMon waitstate copyvar VAR_0x800A, VAR_0x8004 compare VAR_0x8004, 255 - goto_if_eq FortreeCity_House1_EventScript_21633D + goto_if_eq FortreeCity_House1_EventScript_DeclineTrade copyvar VAR_0x8005, VAR_0x800A specialvar VAR_RESULT, GetTradeSpecies copyvar VAR_0x800B, VAR_RESULT compare VAR_RESULT, VAR_0x8009 - goto_if_ne FortreeCity_House1_EventScript_216347 + goto_if_ne FortreeCity_House1_EventScript_NotRequestedMon copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A special CreateInGameTradePokemon special DoInGameTradeScene waitstate bufferspeciesname 0, VAR_0x8009 - msgbox FortreeCity_House1_Text_216440, MSGBOX_DEFAULT + msgbox FortreeCity_House1_Text_MonYouTakeCare, MSGBOX_DEFAULT setflag FLAG_FORTREE_NPC_TRADE_COMPLETED release end -FortreeCity_House1_EventScript_21633D:: @ 821633D - msgbox FortreeCity_House1_Text_21649F, MSGBOX_DEFAULT +FortreeCity_House1_EventScript_DeclineTrade:: @ 821633D + msgbox FortreeCity_House1_Text_YouWontTradeMe, MSGBOX_DEFAULT release end -FortreeCity_House1_EventScript_216347:: @ 8216347 +FortreeCity_House1_EventScript_NotRequestedMon:: @ 8216347 bufferspeciesname 0, VAR_0x8009 - msgbox FortreeCity_House1_Text_216474, MSGBOX_DEFAULT + msgbox FortreeCity_House1_Text_ThisIsntAMon, MSGBOX_DEFAULT release end -FortreeCity_House1_EventScript_216355:: @ 8216355 - msgbox FortreeCity_House1_Text_2164DB, MSGBOX_DEFAULT +FortreeCity_House1_EventScript_TradeCompleted:: @ 8216355 + msgbox FortreeCity_House1_Text_GoingToMakeVolbeatStrong, MSGBOX_DEFAULT release end -FortreeCity_House1_EventScript_21635F:: @ 821635F - msgbox FortreeCity_House1_Text_21653B, MSGBOX_NPC +FortreeCity_House1_EventScript_ExpertF:: @ 821635F + msgbox FortreeCity_House1_Text_TradingMemoriesWithOthers, MSGBOX_NPC end -FortreeCity_House1_EventScript_216368:: @ 8216368 +FortreeCity_House1_EventScript_Zigzagoon:: @ 8216368 lock faceplayer waitse playmoncry SPECIES_ZIGZAGOON, 0 - msgbox FortreeCity_House1_Text_216597, MSGBOX_DEFAULT + msgbox FortreeCity_House1_Text_Zigzagoon, MSGBOX_DEFAULT waitmoncry release end -FortreeCity_House1_Text_21637B: @ 821637B +FortreeCity_House1_Text_YouWillTradeWontYou: @ 821637B .string "Wrooooaaar! I need it!\n" .string "I have to get me a {STR_VAR_1}!\l" .string "I'll do anything for it!\p" @@ -73,29 +73,29 @@ FortreeCity_House1_Text_21637B: @ 821637B .string "your {STR_VAR_1} for my {STR_VAR_2},\l" .string "won't you?$" -FortreeCity_House1_Text_216440: @ 8216440 +FortreeCity_House1_Text_MonYouTakeCare: @ 8216440 .string "Oh, yeah, right on!\p" .string "{STR_VAR_1}, welcome!\n" .string "{STR_VAR_2}, you take care!$" -FortreeCity_House1_Text_216474: @ 8216474 +FortreeCity_House1_Text_ThisIsntAMon: @ 8216474 .string "Uh, no, I don't think so.\n" .string "That isn't a {STR_VAR_1}.$" -FortreeCity_House1_Text_21649F: @ 821649F +FortreeCity_House1_Text_YouWontTradeMe: @ 821649F .string "No? You won't trade me?\n" .string "Even after I bared my heart to you?$" -FortreeCity_House1_Text_2164DB: @ 82164DB +FortreeCity_House1_Text_GoingToMakeVolbeatStrong: @ 82164DB .string "I'm going to make VOLBEAT super\n" .string "strong from this moment on!\p" .string "I hope you do the same with PLUSLE!$" -FortreeCity_House1_Text_21653B: @ 821653B +FortreeCity_House1_Text_TradingMemoriesWithOthers: @ 821653B .string "Trading POKéMON with others…\p" .string "It's as if you're trading your own\n" .string "memories with other people.$" -FortreeCity_House1_Text_216597: @ 8216597 +FortreeCity_House1_Text_Zigzagoon: @ 8216597 .string "ZIGZAGOON: Gumomoh?$" diff --git a/data/maps/FortreeCity_House2/map.json b/data/maps/FortreeCity_House2/map.json index 17f928fe90..c4988e863a 100644 --- a/data/maps/FortreeCity_House2/map.json +++ b/data/maps/FortreeCity_House2/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_House2_EventScript_2177CB", + "script": "FortreeCity_House2_EventScript_HiddenPowerGiver", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_House2_EventScript_2C811E", + "script": "FortreeCity_House2_EventScript_SleepTalkTutor", "flag": "0" } ], diff --git a/data/maps/FortreeCity_House2/scripts.inc b/data/maps/FortreeCity_House2/scripts.inc index 34344bca36..98b8272fe7 100644 --- a/data/maps/FortreeCity_House2/scripts.inc +++ b/data/maps/FortreeCity_House2/scripts.inc @@ -1,82 +1,82 @@ FortreeCity_House2_MapScripts:: @ 82177CA .byte 0 -FortreeCity_House2_EventScript_2177CB:: @ 82177CB +FortreeCity_House2_EventScript_HiddenPowerGiver:: @ 82177CB lock faceplayer - goto_if_set FLAG_RECEIVED_TM10, FortreeCity_House2_EventScript_21786E - call_if_unset FLAG_MET_HIDDEN_POWER_GIVER, FortreeCity_House2_EventScript_217862 - msgbox FortreeCity_House2_Text_2178D6, MSGBOX_DEFAULT - multichoice 21, 8, 54, 1 + goto_if_set FLAG_RECEIVED_TM10, FortreeCity_House2_EventScript_ExplainHiddenPower + call_if_unset FLAG_MET_HIDDEN_POWER_GIVER, FortreeCity_House2_EventScript_Greeting + msgbox FortreeCity_House2_Text_CoinInWhichHand, MSGBOX_DEFAULT + multichoice 21, 8, MULTI_RIGHTLEFT, 1 switch VAR_RESULT - case 1, FortreeCity_House2_EventScript_217878 - msgbox FortreeCity_House2_Text_21796A, MSGBOX_DEFAULT - multichoice 21, 8, 54, 1 + case 1, FortreeCity_House2_EventScript_WrongGuess + msgbox FortreeCity_House2_Text_CorrectTryAgainWhichHand, MSGBOX_DEFAULT + multichoice 21, 8, MULTI_RIGHTLEFT, 1 switch VAR_RESULT - case 1, FortreeCity_House2_EventScript_217878 - msgbox FortreeCity_House2_Text_2179C9, MSGBOX_DEFAULT - multichoice 21, 8, 54, 1 + case 1, FortreeCity_House2_EventScript_WrongGuess + msgbox FortreeCity_House2_Text_CorrectTryAgainWhichHand2, MSGBOX_DEFAULT + multichoice 21, 8, MULTI_RIGHTLEFT, 1 switch VAR_RESULT - case 0, FortreeCity_House2_EventScript_217878 - msgbox FortreeCity_House2_Text_217A28, MSGBOX_DEFAULT - giveitem_std ITEM_TM10 + case 0, FortreeCity_House2_EventScript_WrongGuess + msgbox FortreeCity_House2_Text_YourHiddenPowerHasAwoken, MSGBOX_DEFAULT + giveitem ITEM_TM10 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_TM10 - msgbox FortreeCity_House2_Text_217A91, MSGBOX_DEFAULT + msgbox FortreeCity_House2_Text_ExplainHiddenPower, MSGBOX_DEFAULT release end -FortreeCity_House2_EventScript_217862:: @ 8217862 - msgbox FortreeCity_House2_Text_217882, MSGBOX_DEFAULT +FortreeCity_House2_EventScript_Greeting:: @ 8217862 + msgbox FortreeCity_House2_Text_HiddenPowersArousedByNature, MSGBOX_DEFAULT setflag FLAG_MET_HIDDEN_POWER_GIVER return -FortreeCity_House2_EventScript_21786E:: @ 821786E - msgbox FortreeCity_House2_Text_217A91, MSGBOX_DEFAULT +FortreeCity_House2_EventScript_ExplainHiddenPower:: @ 821786E + msgbox FortreeCity_House2_Text_ExplainHiddenPower, MSGBOX_DEFAULT release end -FortreeCity_House2_EventScript_217878:: @ 8217878 - msgbox FortreeCity_House2_Text_217AC7, MSGBOX_DEFAULT +FortreeCity_House2_EventScript_WrongGuess:: @ 8217878 + msgbox FortreeCity_House2_Text_YouGuessedWrong, MSGBOX_DEFAULT release end -FortreeCity_House2_Text_217882: @ 8217882 +FortreeCity_House2_Text_HiddenPowersArousedByNature: @ 8217882 .string "People… POKéMON…\p" .string "Their hidden powers are aroused by\n" .string "living in natural environments…$" -FortreeCity_House2_Text_2178D6: @ 82178D6 +FortreeCity_House2_Text_CoinInWhichHand: @ 82178D6 .string "Let this old woman see if your hidden\n" .string "power has awoken…\p" .string "I hold a coin in my hand.\p" .string "Now, tell me, have I palmed it in\n" .string "the right hand? Or in the left?$" -FortreeCity_House2_Text_21796A: @ 821796A +FortreeCity_House2_Text_CorrectTryAgainWhichHand: @ 821796A .string "Oh! Yes, correct!\p" .string "We shall try again.\p" .string "In which hand have I palmed the coin?\n" .string "The right or left?$" -FortreeCity_House2_Text_2179C9: @ 82179C9 +FortreeCity_House2_Text_CorrectTryAgainWhichHand2: @ 82179C9 .string "Oh! Yes, correct!\p" .string "We shall try again.\p" .string "In which hand have I palmed the coin?\n" .string "The right or left?$" -FortreeCity_House2_Text_217A28: @ 8217A28 +FortreeCity_House2_Text_YourHiddenPowerHasAwoken: @ 8217A28 .string "Oh! Splendid!\n" .string "Your hidden power has awoken!\p" .string "Here, take this and awaken the hidden\n" .string "power of your POKéMON.$" -FortreeCity_House2_Text_217A91: @ 8217A91 +FortreeCity_House2_Text_ExplainHiddenPower: @ 8217A91 .string "HIDDEN POWER is a move that changes\n" .string "with the POKéMON.$" -FortreeCity_House2_Text_217AC7: @ 8217AC7 +FortreeCity_House2_Text_YouGuessedWrong: @ 8217AC7 .string "No, too bad.\n" .string "You guessed wrong.$" diff --git a/data/maps/FortreeCity_House3/map.json b/data/maps/FortreeCity_House3/map.json index 8b7e971c7e..ce70f46054 100644 --- a/data/maps/FortreeCity_House3/map.json +++ b/data/maps/FortreeCity_House3/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_House3_EventScript_217AE8", + "script": "FortreeCity_House3_EventScript_Maniac", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_House3_EventScript_217AF1", + "script": "FortreeCity_House3_EventScript_SchoolKidM", "flag": "0" } ], diff --git a/data/maps/FortreeCity_House3/scripts.inc b/data/maps/FortreeCity_House3/scripts.inc index fe1f6cfee6..396bd4b222 100644 --- a/data/maps/FortreeCity_House3/scripts.inc +++ b/data/maps/FortreeCity_House3/scripts.inc @@ -1,15 +1,15 @@ FortreeCity_House3_MapScripts:: @ 8217AE7 .byte 0 -FortreeCity_House3_EventScript_217AE8:: @ 8217AE8 - msgbox FortreeCity_House3_Text_217AFA, MSGBOX_NPC +FortreeCity_House3_EventScript_Maniac:: @ 8217AE8 + msgbox FortreeCity_House3_Text_MetStevenHadAmazingPokemon, MSGBOX_NPC end -FortreeCity_House3_EventScript_217AF1:: @ 8217AF1 - msgbox FortreeCity_House3_Text_217C22, MSGBOX_NPC +FortreeCity_House3_EventScript_SchoolKidM:: @ 8217AF1 + msgbox FortreeCity_House3_Text_OhYouHavePokedex, MSGBOX_NPC end -FortreeCity_House3_Text_217AFA: @ 8217AFA +FortreeCity_House3_Text_MetStevenHadAmazingPokemon: @ 8217AFA .string "While speaking about POKéDEXES,\n" .string "I remembered something.\p" .string "I met this TRAINER, STEVEN, when\n" @@ -21,7 +21,7 @@ FortreeCity_House3_Text_217AFA: @ 8217AFA .string "He might even be stronger than the\n" .string "GYM LEADER in this town…$" -FortreeCity_House3_Text_217C22: @ 8217C22 +FortreeCity_House3_Text_OhYouHavePokedex: @ 8217C22 .string "What's that thing you have there?\p" .string "… … … … … …\p" .string "Oh, it's called a POKéDEX?\n" diff --git a/data/maps/FortreeCity_House4/map.json b/data/maps/FortreeCity_House4/map.json index a9db995edd..01d1a99e8e 100644 --- a/data/maps/FortreeCity_House4/map.json +++ b/data/maps/FortreeCity_House4/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_House4_EventScript_217C81", + "script": "FortreeCity_House4_EventScript_Woman", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_House4_EventScript_217C8A", + "script": "FortreeCity_House4_EventScript_Boy", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_House4_EventScript_217D20", + "script": "FortreeCity_House4_EventScript_Wingull", "flag": "FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL" } ], diff --git a/data/maps/FortreeCity_House4/scripts.inc b/data/maps/FortreeCity_House4/scripts.inc index 5dc9d769ac..be5ff9c6e7 100644 --- a/data/maps/FortreeCity_House4/scripts.inc +++ b/data/maps/FortreeCity_House4/scripts.inc @@ -1,51 +1,51 @@ FortreeCity_House4_MapScripts:: @ 8217C80 .byte 0 -FortreeCity_House4_EventScript_217C81:: @ 8217C81 - msgbox FortreeCity_House4_Text_217D33, MSGBOX_NPC +FortreeCity_House4_EventScript_Woman:: @ 8217C81 + msgbox FortreeCity_House4_Text_BringsWorldCloserTogether, MSGBOX_NPC end -FortreeCity_House4_EventScript_217C8A:: @ 8217C8A +FortreeCity_House4_EventScript_Boy:: @ 8217C8A lockall - goto_if_set FLAG_RECEIVED_MENTAL_HERB, FortreeCity_House4_EventScript_217D06 - goto_if_set FLAG_WINGULL_DELIVERED_MAIL, FortreeCity_House4_EventScript_217CD8 - goto_if_set FLAG_WINGULL_SENT_ON_ERRAND, FortreeCity_House4_EventScript_217CC4 - msgbox FortreeCity_House4_Text_217DB9, MSGBOX_DEFAULT + goto_if_set FLAG_RECEIVED_MENTAL_HERB, FortreeCity_House4_EventScript_ReceivedMentalHerb + goto_if_set FLAG_WINGULL_DELIVERED_MAIL, FortreeCity_House4_EventScript_WingullReturned + goto_if_set FLAG_WINGULL_SENT_ON_ERRAND, FortreeCity_House4_EventScript_WingullOnErrand + msgbox FortreeCity_House4_Text_GoBirdPokemon, MSGBOX_DEFAULT closemessage setflag FLAG_WINGULL_SENT_ON_ERRAND clearflag FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL - applymovement 3, FortreeCity_House4_Movement_217D1A + applymovement 3, FortreeCity_House4_Movement_WingullExit waitmovement 0 removeobject 3 releaseall end -FortreeCity_House4_EventScript_217CC4:: @ 8217CC4 +FortreeCity_House4_EventScript_WingullOnErrand:: @ 8217CC4 applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer waitmovement 0 - msgbox FortreeCity_House4_Text_217DD2, MSGBOX_DEFAULT + msgbox FortreeCity_House4_Text_AskedWingullToRunErrand, MSGBOX_DEFAULT releaseall end -FortreeCity_House4_EventScript_217CD8:: @ 8217CD8 +FortreeCity_House4_EventScript_WingullReturned:: @ 8217CD8 applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer waitmovement 0 - msgbox FortreeCity_House4_Text_217E05, MSGBOX_DEFAULT - giveitem_std ITEM_MENTAL_HERB - compare VAR_RESULT, 0 + msgbox FortreeCity_House4_Text_WelcomeWingullTakeMentalHerb, MSGBOX_DEFAULT + giveitem ITEM_MENTAL_HERB + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_MENTAL_HERB releaseall end -FortreeCity_House4_EventScript_217D06:: @ 8217D06 +FortreeCity_House4_EventScript_ReceivedMentalHerb:: @ 8217D06 applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer waitmovement 0 - msgbox FortreeCity_House4_Text_217EA8, MSGBOX_DEFAULT + msgbox FortreeCity_House4_Text_FriendsFarAwayThanksToWingull, MSGBOX_DEFAULT releaseall end -FortreeCity_House4_Movement_217D1A: @ 8217D1A +FortreeCity_House4_Movement_WingullExit: @ 8217D1A walk_fast_down walk_fast_down walk_fast_right @@ -53,31 +53,31 @@ FortreeCity_House4_Movement_217D1A: @ 8217D1A delay_8 step_end -FortreeCity_House4_EventScript_217D20:: @ 8217D20 +FortreeCity_House4_EventScript_Wingull:: @ 8217D20 lock faceplayer waitse playmoncry SPECIES_WINGULL, 0 - msgbox FortreeCity_House4_Text_217EE0, MSGBOX_DEFAULT + msgbox FortreeCity_House4_Text_Wingull, MSGBOX_DEFAULT waitmoncry release end -FortreeCity_House4_Text_217D33: @ 8217D33 +FortreeCity_House4_Text_BringsWorldCloserTogether: @ 8217D33 .string "By being together with POKéMON,\n" .string "people make more and more friends.\p" .string "And that brings the world closer\n" .string "together. I think it's wonderful!$" -FortreeCity_House4_Text_217DB9: @ 8217DB9 +FortreeCity_House4_Text_GoBirdPokemon: @ 8217DB9 .string "There!\n" .string "Go, BIRD POKéMON!$" -FortreeCity_House4_Text_217DD2: @ 8217DD2 +FortreeCity_House4_Text_AskedWingullToRunErrand: @ 8217DD2 .string "Heheh, I asked my WINGULL to run\n" .string "an errand for me.$" -FortreeCity_House4_Text_217E05: @ 8217E05 +FortreeCity_House4_Text_WelcomeWingullTakeMentalHerb: @ 8217E05 .string "Good!\n" .string "Welcome back, WINGULL!\p" .string "Huh? What is this?\n" @@ -87,10 +87,10 @@ FortreeCity_House4_Text_217E05: @ 8217E05 .string "But I'm not a TRAINER, so you can\n" .string "have it.$" -FortreeCity_House4_Text_217EA8: @ 8217EA8 +FortreeCity_House4_Text_FriendsFarAwayThanksToWingull: @ 8217EA8 .string "Thanks to my WINGULL, I have friends\n" .string "who live far away.$" -FortreeCity_House4_Text_217EE0: @ 8217EE0 +FortreeCity_House4_Text_Wingull: @ 8217EE0 .string "WINGULL: Pihyoh!$" diff --git a/data/maps/FortreeCity_House5/map.json b/data/maps/FortreeCity_House5/map.json index a60c02ec3e..a53b4e35c9 100644 --- a/data/maps/FortreeCity_House5/map.json +++ b/data/maps/FortreeCity_House5/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_House5_EventScript_217EF2", + "script": "FortreeCity_House5_EventScript_PokefanF", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_House5_EventScript_217F04", + "script": "FortreeCity_House5_EventScript_Zigzagoon", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_House5_EventScript_217EFB", + "script": "FortreeCity_House5_EventScript_Man", "flag": "0" } ], diff --git a/data/maps/FortreeCity_House5/scripts.inc b/data/maps/FortreeCity_House5/scripts.inc index a40fe0e83d..4d27c2f061 100644 --- a/data/maps/FortreeCity_House5/scripts.inc +++ b/data/maps/FortreeCity_House5/scripts.inc @@ -1,35 +1,35 @@ FortreeCity_House5_MapScripts:: @ 8217EF1 .byte 0 -FortreeCity_House5_EventScript_217EF2:: @ 8217EF2 - msgbox FortreeCity_House5_Text_217F17, MSGBOX_NPC +FortreeCity_House5_EventScript_PokefanF:: @ 8217EF2 + msgbox FortreeCity_House5_Text_TreeHousesAreGreat, MSGBOX_NPC end -FortreeCity_House5_EventScript_217EFB:: @ 8217EFB - msgbox FortreeCity_House5_Text_217F80, MSGBOX_NPC +FortreeCity_House5_EventScript_Man:: @ 8217EFB + msgbox FortreeCity_House5_Text_AdaptedToNature, MSGBOX_NPC end -FortreeCity_House5_EventScript_217F04:: @ 8217F04 +FortreeCity_House5_EventScript_Zigzagoon:: @ 8217F04 lock faceplayer waitse playmoncry SPECIES_ZIGZAGOON, 0 - msgbox FortreeCity_House5_Text_217FFB, MSGBOX_DEFAULT + msgbox FortreeCity_House5_Text_Zigzagoon, MSGBOX_DEFAULT waitmoncry release end -FortreeCity_House5_Text_217F17: @ 8217F17 +FortreeCity_House5_Text_TreeHousesAreGreat: @ 8217F17 .string "The tree houses of FORTREE are great!\p" .string "I think it's the number one town for\n" .string "living together with POKéMON.$" -FortreeCity_House5_Text_217F80: @ 8217F80 +FortreeCity_House5_Text_AdaptedToNature: @ 8217F80 .string "POKéMON and people have adapted to\n" .string "nature for survival.\p" .string "There's no need to make nature\n" .string "conform to the way we want to live.$" -FortreeCity_House5_Text_217FFB: @ 8217FFB +FortreeCity_House5_Text_Zigzagoon: @ 8217FFB .string "ZIGZAGOON: Bufuu!$" diff --git a/data/maps/FortreeCity_Mart/map.json b/data/maps/FortreeCity_Mart/map.json index c1bb6df86c..a8bca3743f 100644 --- a/data/maps/FortreeCity_Mart/map.json +++ b/data/maps/FortreeCity_Mart/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_Mart_EventScript_217666", + "script": "FortreeCity_Mart_EventScript_Clerk", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_Mart_EventScript_217698", + "script": "FortreeCity_Mart_EventScript_Woman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_Mart_EventScript_2176A1", + "script": "FortreeCity_Mart_EventScript_Girl", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_Mart_EventScript_2176AA", + "script": "FortreeCity_Mart_EventScript_Boy", "flag": "0" } ], diff --git a/data/maps/FortreeCity_Mart/scripts.inc b/data/maps/FortreeCity_Mart/scripts.inc index 8d2f9b5680..05318e7bdc 100644 --- a/data/maps/FortreeCity_Mart/scripts.inc +++ b/data/maps/FortreeCity_Mart/scripts.inc @@ -1,18 +1,18 @@ FortreeCity_Mart_MapScripts:: @ 8217665 .byte 0 -FortreeCity_Mart_EventScript_217666:: @ 8217666 +FortreeCity_Mart_EventScript_Clerk:: @ 8217666 lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart FortreeCity_Mart_Pokemart_217680 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart FortreeCity_Mart_Pokemart + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -FortreeCity_Mart_Pokemart_217680: @ 8217680 +FortreeCity_Mart_Pokemart: @ 8217680 .2byte ITEM_GREAT_BALL .2byte ITEM_ULTRA_BALL .2byte ITEM_SUPER_POTION @@ -27,31 +27,31 @@ FortreeCity_Mart_Pokemart_217680: @ 8217680 release end -FortreeCity_Mart_EventScript_217698:: @ 8217698 - msgbox FortreeCity_Mart_Text_2176B3, MSGBOX_NPC +FortreeCity_Mart_EventScript_Woman:: @ 8217698 + msgbox FortreeCity_Mart_Text_SuperRepelBetter, MSGBOX_NPC end -FortreeCity_Mart_EventScript_2176A1:: @ 82176A1 - msgbox FortreeCity_Mart_Text_217715, MSGBOX_NPC +FortreeCity_Mart_EventScript_Girl:: @ 82176A1 + msgbox FortreeCity_Mart_Text_StockUpOnItems, MSGBOX_NPC end -FortreeCity_Mart_EventScript_2176AA:: @ 82176AA - msgbox FortreeCity_Mart_Text_21778E, MSGBOX_NPC +FortreeCity_Mart_EventScript_Boy:: @ 82176AA + msgbox FortreeCity_Mart_Text_RareCandyMakesMonGrow, MSGBOX_NPC end -FortreeCity_Mart_Text_2176B3: @ 82176B3 +FortreeCity_Mart_Text_SuperRepelBetter: @ 82176B3 .string "SUPER REPEL lasts a long time,\n" .string "and it gets the job done.\p" .string "It's much better than an ordinary\n" .string "REPEL.$" -FortreeCity_Mart_Text_217715: @ 8217715 +FortreeCity_Mart_Text_StockUpOnItems: @ 8217715 .string "I always stock up on more items than\n" .string "I'm sure I'll need.\p" .string "You never know what might happen.\n" .string "Better to be safe than sorry!$" -FortreeCity_Mart_Text_21778E: @ 821778E +FortreeCity_Mart_Text_RareCandyMakesMonGrow: @ 821778E .string "A RARE CANDY makes a POKéMON grow\n" .string "immediately by one level.$" diff --git a/data/maps/FortreeCity_PokemonCenter_1F/map.json b/data/maps/FortreeCity_PokemonCenter_1F/map.json index efa58e87bb..38f133cc0a 100644 --- a/data/maps/FortreeCity_PokemonCenter_1F/map.json +++ b/data/maps/FortreeCity_PokemonCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_PokemonCenter_1F_EventScript_2173E7", + "script": "FortreeCity_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_PokemonCenter_1F_EventScript_2173F5", + "script": "FortreeCity_PokemonCenter_1F_EventScript_Gentleman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_PokemonCenter_1F_EventScript_2173FE", + "script": "FortreeCity_PokemonCenter_1F_EventScript_Man", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_PokemonCenter_1F_EventScript_217407", + "script": "FortreeCity_PokemonCenter_1F_EventScript_Boy", "flag": "0" } ], diff --git a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc index 0c62f97e2f..e759d2d93d 100644 --- a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc @@ -1,39 +1,40 @@ FortreeCity_PokemonCenter_1F_MapScripts:: @ 82173D8 map_script MAP_SCRIPT_ON_TRANSITION, FortreeCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, FortreeCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 FortreeCity_PokemonCenter_1F_OnTransition: @ 82173E3 setrespawn HEAL_LOCATION_FORTREE_CITY end -FortreeCity_PokemonCenter_1F_EventScript_2173E7:: @ 82173E7 +@ VAR_0x800B is the Nurse's object event id +FortreeCity_PokemonCenter_1F_EventScript_Nurse:: @ 82173E7 setvar VAR_0x800B, 1 - call FortreeCity_PokemonCenter_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -FortreeCity_PokemonCenter_1F_EventScript_2173F5:: @ 82173F5 - msgbox FortreeCity_PokemonCenter_1F_Text_217410, MSGBOX_NPC +FortreeCity_PokemonCenter_1F_EventScript_Gentleman:: @ 82173F5 + msgbox FortreeCity_PokemonCenter_1F_Text_GoToSafariZone, MSGBOX_NPC end -FortreeCity_PokemonCenter_1F_EventScript_2173FE:: @ 82173FE - msgbox FortreeCity_PokemonCenter_1F_Text_21746D, MSGBOX_NPC +FortreeCity_PokemonCenter_1F_EventScript_Man:: @ 82173FE + msgbox FortreeCity_PokemonCenter_1F_Text_RecordCornerIsNeat, MSGBOX_NPC end -FortreeCity_PokemonCenter_1F_EventScript_217407:: @ 8217407 - msgbox FortreeCity_PokemonCenter_1F_Text_21751F, MSGBOX_NPC +FortreeCity_PokemonCenter_1F_EventScript_Boy:: @ 8217407 + msgbox FortreeCity_PokemonCenter_1F_Text_DoYouKnowAboutPokenav, MSGBOX_NPC end -FortreeCity_PokemonCenter_1F_Text_217410: @ 8217410 +FortreeCity_PokemonCenter_1F_Text_GoToSafariZone: @ 8217410 .string "Listen, kid, are you working\n" .string "on a POKéDEX?\p" .string "Hmm… Go to the SAFARI ZONE.\n" .string "That's my suggestion.$" -FortreeCity_PokemonCenter_1F_Text_21746D: @ 821746D +FortreeCity_PokemonCenter_1F_Text_RecordCornerIsNeat: @ 821746D .string "Have you done anything at\n" .string "the RECORD CORNER?\p" .string "It's pretty neat. It mixes and matches\n" @@ -41,7 +42,7 @@ FortreeCity_PokemonCenter_1F_Text_21746D: @ 821746D .string "I don't know quite how it works,\n" .string "but it's cool. It's exciting, even!$" -FortreeCity_PokemonCenter_1F_Text_21751F: @ 821751F +FortreeCity_PokemonCenter_1F_Text_DoYouKnowAboutPokenav: @ 821751F .string "Oh, wow, you have a POKéNAV!\n" .string "And it's just like mine!\p" .string "Do you know about POKéNAV's\n" diff --git a/data/maps/FortreeCity_PokemonCenter_2F/map.json b/data/maps/FortreeCity_PokemonCenter_2F/map.json index 79bdfad307..42aca81648 100644 --- a/data/maps/FortreeCity_PokemonCenter_2F/map.json +++ b/data/maps/FortreeCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "FortreeCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/FortreeCity_PokemonCenter_2F/scripts.inc b/data/maps/FortreeCity_PokemonCenter_2F/scripts.inc index 2ab9510f3c..183dbece0b 100644 --- a/data/maps/FortreeCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/FortreeCity_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ FortreeCity_PokemonCenter_2F_MapScripts:: @ 821763E - map_script MAP_SCRIPT_ON_FRAME_TABLE, FortreeCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FortreeCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, FortreeCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -FortreeCity_PokemonCenter_2F_EventScript_217653:: @ 8217653 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +FortreeCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8217653 + call CableClub_EventScript_Colosseum end -FortreeCity_PokemonCenter_2F_EventScript_217659:: @ 8217659 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +FortreeCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8217659 + call CableClub_EventScript_TradeCenter end -FortreeCity_PokemonCenter_2F_EventScript_21765F:: @ 821765F - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +FortreeCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 821765F + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/GraniteCave_1F/map.json b/data/maps/GraniteCave_1F/map.json index 2413a023d0..1822dd0c94 100644 --- a/data/maps/GraniteCave_1F/map.json +++ b/data/maps/GraniteCave_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_1F_EventScript_22DA5E", + "script": "GraniteCave_1F_EventScript_Hiker", "flag": "0" }, { diff --git a/data/maps/GraniteCave_1F/scripts.inc b/data/maps/GraniteCave_1F/scripts.inc index b9e68d43ce..a351476919 100644 --- a/data/maps/GraniteCave_1F/scripts.inc +++ b/data/maps/GraniteCave_1F/scripts.inc @@ -1,23 +1,23 @@ GraniteCave_1F_MapScripts:: @ 822DA5D .byte 0 -GraniteCave_1F_EventScript_22DA5E:: @ 822DA5E +GraniteCave_1F_EventScript_Hiker:: @ 822DA5E lock faceplayer - goto_if_set FLAG_RECEIVED_HM05, GraniteCave_1F_EventScript_22DA8A - msgbox GraniteCave_1F_Text_22DA94, MSGBOX_DEFAULT - giveitem_std ITEM_HM05 + goto_if_set FLAG_RECEIVED_HM05, GraniteCave_1F_EventScript_ReceivedFlash + msgbox GraniteCave_1F_Text_GetsDarkAheadHereYouGo, MSGBOX_DEFAULT + giveitem ITEM_HM05 setflag FLAG_RECEIVED_HM05 - msgbox GraniteCave_1F_Text_22DBB7, MSGBOX_DEFAULT + msgbox GraniteCave_1F_Text_ExplainFlash, MSGBOX_DEFAULT release end -GraniteCave_1F_EventScript_22DA8A:: @ 822DA8A - msgbox GraniteCave_1F_Text_22DBB7, MSGBOX_DEFAULT +GraniteCave_1F_EventScript_ReceivedFlash:: @ 822DA8A + msgbox GraniteCave_1F_Text_ExplainFlash, MSGBOX_DEFAULT release end -GraniteCave_1F_Text_22DA94: @ 822DA94 +GraniteCave_1F_Text_GetsDarkAheadHereYouGo: @ 822DA94 .string "Hey, you.\n" .string "It gets awfully dark ahead.\l" .string "It'll be tough trying to explore.\p" @@ -29,7 +29,7 @@ GraniteCave_1F_Text_22DA94: @ 822DA94 .string "that we meet is our motto.\p" .string "Here you go, I'll pass this on to you.$" -GraniteCave_1F_Text_22DBB7: @ 822DBB7 +GraniteCave_1F_Text_ExplainFlash: @ 822DBB7 .string "Teach that hidden move FLASH to\n" .string "a POKéMON and use it.\p" .string "It lights up even the inky darkness\n" diff --git a/data/maps/GraniteCave_B1F/scripts.inc b/data/maps/GraniteCave_B1F/scripts.inc index 099e5a501c..f465b0694b 100644 --- a/data/maps/GraniteCave_B1F/scripts.inc +++ b/data/maps/GraniteCave_B1F/scripts.inc @@ -1,11 +1,11 @@ GraniteCave_B1F_MapScripts:: @ 822DC5E - map_script MAP_SCRIPT_ON_FRAME_TABLE, GraniteCave_B1F_MapScript2_2A8327 - map_script MAP_SCRIPT_ON_TRANSITION, GraniteCave_B1F_MapScript1_2A8331 - map_script MAP_SCRIPT_ON_RESUME, GraniteCave_B1F_MapScript1_22DC6E + map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole + map_script MAP_SCRIPT_ON_TRANSITION, CaveHole_FixCrackedGround + map_script MAP_SCRIPT_ON_RESUME, GraniteCave_B1F_SetHoleWarp .byte 0 -GraniteCave_B1F_MapScript1_22DC6E: @ 822DC6E - setstepcallback 7 +GraniteCave_B1F_SetHoleWarp: @ 822DC6E + setstepcallback STEP_CB_CRACKED_FLOOR setholewarp MAP_GRANITE_CAVE_B2F, 255, 0, 0 end diff --git a/data/maps/GraniteCave_StevensRoom/map.json b/data/maps/GraniteCave_StevensRoom/map.json index ae5b61a6b6..87264cd544 100644 --- a/data/maps/GraniteCave_StevensRoom/map.json +++ b/data/maps/GraniteCave_StevensRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "GraniteCave_StevensRoom_EventScript_22DC7B", + "script": "GraniteCave_StevensRoom_EventScript_Steven", "flag": "FLAG_HIDE_GRANITE_CAVE_STEVEN" } ], diff --git a/data/maps/GraniteCave_StevensRoom/scripts.inc b/data/maps/GraniteCave_StevensRoom/scripts.inc index d29ee13f25..1e8c44766b 100644 --- a/data/maps/GraniteCave_StevensRoom/scripts.inc +++ b/data/maps/GraniteCave_StevensRoom/scripts.inc @@ -1,63 +1,63 @@ GraniteCave_StevensRoom_MapScripts:: @ 822DC7A .byte 0 -GraniteCave_StevensRoom_EventScript_22DC7B:: @ 822DC7B +GraniteCave_StevensRoom_EventScript_Steven:: @ 822DC7B lock faceplayer - msgbox GraniteCave_StevensRoom_Text_22DD5A, MSGBOX_DEFAULT - setvar VAR_0x8004, 274 - call GraniteCave_StevensRoom_EventScript_2723E4 + msgbox GraniteCave_StevensRoom_Text_ImStevenLetterForMe, MSGBOX_DEFAULT + setvar VAR_0x8004, ITEM_LETTER + call Common_EventScript_PlayerHandedOverTheItem setflag FLAG_DELIVERED_STEVEN_LETTER - msgbox GraniteCave_StevensRoom_Text_22DDBD, MSGBOX_DEFAULT - giveitem_std ITEM_TM47 - compare VAR_RESULT, 0 - call_if_eq GraniteCave_StevensRoom_EventScript_22DD3C - msgbox GraniteCave_StevensRoom_Text_22DE6B, MSGBOX_DEFAULT + msgbox GraniteCave_StevensRoom_Text_ThankYouTakeThis, MSGBOX_DEFAULT + giveitem ITEM_TM47 + compare VAR_RESULT, FALSE + call_if_eq GraniteCave_StevensRoom_EventScript_BagFull + msgbox GraniteCave_StevensRoom_Text_CouldBecomeChampionLetsRegister, MSGBOX_DEFAULT closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox GraniteCave_StevensRoom_Text_22DF6A, MSGBOX_DEFAULT + msgbox GraniteCave_StevensRoom_Text_RegisteredSteven, MSGBOX_DEFAULT waitfanfare closemessage delay 30 setflag FLAG_REGISTERED_STEVEN_POKENAV - msgbox GraniteCave_StevensRoom_Text_22DF8C, MSGBOX_DEFAULT + msgbox GraniteCave_StevensRoom_Text_IveGotToHurryAlong, MSGBOX_DEFAULT closemessage - compare VAR_FACING, 2 - call_if_eq GraniteCave_StevensRoom_EventScript_22DD0D - compare VAR_FACING, 1 - call_if_eq GraniteCave_StevensRoom_EventScript_22DD2A - compare VAR_FACING, 3 - call_if_eq GraniteCave_StevensRoom_EventScript_22DD18 - compare VAR_FACING, 4 - call_if_eq GraniteCave_StevensRoom_EventScript_22DD18 + compare VAR_FACING, DIR_NORTH + call_if_eq GraniteCave_StevensRoom_EventScript_StevenExitNorth + compare VAR_FACING, DIR_SOUTH + call_if_eq GraniteCave_StevensRoom_EventScript_StevenExitSouth + compare VAR_FACING, DIR_WEST + call_if_eq GraniteCave_StevensRoom_EventScript_StevenExitWestEast + compare VAR_FACING, DIR_EAST + call_if_eq GraniteCave_StevensRoom_EventScript_StevenExitWestEast playse SE_KAIDAN removeobject 1 release end -GraniteCave_StevensRoom_EventScript_22DD0D:: @ 822DD0D - applymovement 1, GraniteCave_StevensRoom_Movement_22DD45 +GraniteCave_StevensRoom_EventScript_StevenExitNorth:: @ 822DD0D + applymovement 1, GraniteCave_StevensRoom_Movement_StevenExit waitmovement 0 return -GraniteCave_StevensRoom_EventScript_22DD18:: @ 822DD18 - applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_StevensRoom_Movement_22DD4C - applymovement 1, GraniteCave_StevensRoom_Movement_22DD45 +GraniteCave_StevensRoom_EventScript_StevenExitWestEast:: @ 822DD18 + applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_StevensRoom_Movement_PlayerTurnTowardExit + applymovement 1, GraniteCave_StevensRoom_Movement_StevenExit waitmovement 0 return -GraniteCave_StevensRoom_EventScript_22DD2A:: @ 822DD2A - applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_StevensRoom_Movement_22DD4C - applymovement 1, GraniteCave_StevensRoom_Movement_22DD51 +GraniteCave_StevensRoom_EventScript_StevenExitSouth:: @ 822DD2A + applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_StevensRoom_Movement_PlayerTurnTowardExit + applymovement 1, GraniteCave_StevensRoom_Movement_StevenExitSouth waitmovement 0 return -GraniteCave_StevensRoom_EventScript_22DD3C:: @ 822DD3C - msgbox GraniteCave_StevensRoom_Text_22DFAA, MSGBOX_DEFAULT +GraniteCave_StevensRoom_EventScript_BagFull:: @ 822DD3C + msgbox GraniteCave_StevensRoom_Text_OhBagIsFull, MSGBOX_DEFAULT return -GraniteCave_StevensRoom_Movement_22DD45: @ 822DD45 +GraniteCave_StevensRoom_Movement_StevenExit: @ 822DD45 walk_up walk_up walk_up @@ -66,14 +66,14 @@ GraniteCave_StevensRoom_Movement_22DD45: @ 822DD45 delay_8 step_end -GraniteCave_StevensRoom_Movement_22DD4C: @ 822DD4C +GraniteCave_StevensRoom_Movement_PlayerTurnTowardExit: @ 822DD4C delay_16 delay_16 delay_16 walk_in_place_fastest_up step_end -GraniteCave_StevensRoom_Movement_22DD51: @ 822DD51 +GraniteCave_StevensRoom_Movement_StevenExitSouth: @ 822DD51 walk_left walk_up walk_up @@ -84,14 +84,14 @@ GraniteCave_StevensRoom_Movement_22DD51: @ 822DD51 delay_8 step_end -GraniteCave_StevensRoom_Text_22DD5A: @ 822DD5A +GraniteCave_StevensRoom_Text_ImStevenLetterForMe: @ 822DD5A .string "My name is STEVEN.\p" .string "I'm interested in rare stones,\n" .string "so I travel here and there.\p" .string "Oh?\n" .string "A LETTER for me?$" -GraniteCave_StevensRoom_Text_22DDBD: @ 822DDBD +GraniteCave_StevensRoom_Text_ThankYouTakeThis: @ 822DDBD .string "STEVEN: Okay, thank you.\p" .string "You went through all this trouble to\n" .string "deliver that. I need to thank you.\p" @@ -100,7 +100,7 @@ GraniteCave_StevensRoom_Text_22DDBD: @ 822DDBD .string "It contains my favorite move,\n" .string "STEEL WING.$" -GraniteCave_StevensRoom_Text_22DE6B: @ 822DE6B +GraniteCave_StevensRoom_Text_CouldBecomeChampionLetsRegister: @ 822DE6B .string "STEVEN: Your POKéMON appear quite\n" .string "capable.\p" .string "If you keep training, you could even\n" @@ -111,14 +111,14 @@ GraniteCave_StevensRoom_Text_22DE6B: @ 822DE6B .string "our POKéNAVS.\p" .string "… … … … … …$" -GraniteCave_StevensRoom_Text_22DF6A: @ 822DF6A +GraniteCave_StevensRoom_Text_RegisteredSteven: @ 822DF6A .string "Registered STEVEN\n" .string "in the POKéNAV.$" -GraniteCave_StevensRoom_Text_22DF8C: @ 822DF8C +GraniteCave_StevensRoom_Text_IveGotToHurryAlong: @ 822DF8C .string "Now, I've got to hurry along.$" -GraniteCave_StevensRoom_Text_22DFAA: @ 822DFAA +GraniteCave_StevensRoom_Text_OhBagIsFull: @ 822DFAA .string "Oh, your BAG is full…\n" .string "That's too bad, then.$" diff --git a/data/maps/InsideOfTruck/map.json b/data/maps/InsideOfTruck/map.json index ff76eb7748..256c7c1a59 100644 --- a/data/maps/InsideOfTruck/map.json +++ b/data/maps/InsideOfTruck/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "InsideOfTruck_EventScript_23BF6C", + "script": "InsideOfTruck_EventScript_MovingBox", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "InsideOfTruck_EventScript_23BF6C", + "script": "InsideOfTruck_EventScript_MovingBox", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "InsideOfTruck_EventScript_23BF6C", + "script": "InsideOfTruck_EventScript_MovingBox", "flag": "0" } ], @@ -85,7 +85,7 @@ "elevation": 3, "var": "VAR_LITTLEROOT_INTRO_STATE", "var_value": "0", - "script": "InsideOfTruck_EventScript_23BF04" + "script": "InsideOfTruck_EventScript_SetIntroFlags" }, { "type": "trigger", @@ -94,7 +94,7 @@ "elevation": 3, "var": "VAR_LITTLEROOT_INTRO_STATE", "var_value": "0", - "script": "InsideOfTruck_EventScript_23BF04" + "script": "InsideOfTruck_EventScript_SetIntroFlags" }, { "type": "trigger", @@ -103,7 +103,7 @@ "elevation": 3, "var": "VAR_LITTLEROOT_INTRO_STATE", "var_value": "0", - "script": "InsideOfTruck_EventScript_23BF04" + "script": "InsideOfTruck_EventScript_SetIntroFlags" } ], "bg_events": [ @@ -113,7 +113,7 @@ "y": 0, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "InsideOfTruck_EventScript_23BF6C" + "script": "InsideOfTruck_EventScript_MovingBox" }, { "type": "sign", @@ -121,7 +121,7 @@ "y": 4, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "InsideOfTruck_EventScript_23BF6C" + "script": "InsideOfTruck_EventScript_MovingBox" }, { "type": "sign", @@ -129,7 +129,7 @@ "y": 3, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "InsideOfTruck_EventScript_23BF6C" + "script": "InsideOfTruck_EventScript_MovingBox" }, { "type": "sign", @@ -137,7 +137,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "InsideOfTruck_EventScript_23BF6C" + "script": "InsideOfTruck_EventScript_MovingBox" }, { "type": "sign", @@ -145,7 +145,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "InsideOfTruck_EventScript_23BF6C" + "script": "InsideOfTruck_EventScript_MovingBox" } ] } \ No newline at end of file diff --git a/data/maps/InsideOfTruck/scripts.inc b/data/maps/InsideOfTruck/scripts.inc index 043c8a8d8a..fb75273cc4 100644 --- a/data/maps/InsideOfTruck/scripts.inc +++ b/data/maps/InsideOfTruck/scripts.inc @@ -1,29 +1,29 @@ InsideOfTruck_MapScripts:: @ 823BEDA - map_script MAP_SCRIPT_ON_LOAD, InsideOfTruck_MapScript1_23BEE5 - map_script MAP_SCRIPT_ON_RESUME, InsideOfTruck_MapScript1_23BF01 + map_script MAP_SCRIPT_ON_LOAD, InsideOfTruck_OnLoad + map_script MAP_SCRIPT_ON_RESUME, InsideOfTruck_OnResume .byte 0 -InsideOfTruck_MapScript1_23BEE5: @ 823BEE5 +InsideOfTruck_OnLoad: @ 823BEE5 setmetatile 4, 1, METATILE_InsideOfTruck_ExitLight_Top, 0 setmetatile 4, 2, METATILE_InsideOfTruck_ExitLight_Mid, 0 setmetatile 4, 3, METATILE_InsideOfTruck_ExitLight_Bottom, 0 end -InsideOfTruck_MapScript1_23BF01: @ 823BF01 - setstepcallback 5 +InsideOfTruck_OnResume: @ 823BF01 + setstepcallback STEP_CB_TRUCK end -InsideOfTruck_EventScript_23BF04:: @ 823BF04 +InsideOfTruck_EventScript_SetIntroFlags:: @ 823BF04 lockall setflag FLAG_HIDE_MAP_NAME_POPUP checkplayergender compare VAR_RESULT, MALE - goto_if_eq InsideOfTruck_EventScript_23BF20 + goto_if_eq InsideOfTruck_EventScript_SetIntroFlagsMale compare VAR_RESULT, FEMALE - goto_if_eq InsideOfTruck_EventScript_23BF46 + goto_if_eq InsideOfTruck_EventScript_SetIntroFlagsFemale end -InsideOfTruck_EventScript_23BF20:: @ 823BF20 +InsideOfTruck_EventScript_SetIntroFlagsMale:: @ 823BF20 setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F setvar VAR_LITTLEROOT_INTRO_STATE, 1 setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MOM @@ -31,12 +31,12 @@ InsideOfTruck_EventScript_23BF20:: @ 823BF20 setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_MOM setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL - setvar VAR_LITTLEROOT_HOUSES_STATE_2, 1 + setvar VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 1 setdynamicwarp MAP_LITTLEROOT_TOWN, 255, 3, 10 releaseall end -InsideOfTruck_EventScript_23BF46:: @ 823BF46 +InsideOfTruck_EventScript_SetIntroFlagsFemale:: @ 823BF46 setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F setvar VAR_LITTLEROOT_INTRO_STATE, 2 setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_MOM @@ -44,16 +44,16 @@ InsideOfTruck_EventScript_23BF46:: @ 823BF46 setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_MOM setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL - setvar VAR_LITTLEROOT_HOUSES_STATE, 1 + setvar VAR_LITTLEROOT_HOUSES_STATE_MAY, 1 setdynamicwarp MAP_LITTLEROOT_TOWN, 255, 12, 10 releaseall end -InsideOfTruck_EventScript_23BF6C:: @ 823BF6C - msgbox InsideOfTruck_Text_23BF75, MSGBOX_SIGN +InsideOfTruck_EventScript_MovingBox:: @ 823BF6C + msgbox InsideOfTruck_Text_BoxPrintedWithMonLogo, MSGBOX_SIGN end -InsideOfTruck_Text_23BF75: @ 823BF75 +InsideOfTruck_Text_BoxPrintedWithMonLogo: @ 823BF75 .string "The box is printed with a POKéMON logo.\p" .string "It's a POKéMON brand moving and\n" .string "delivery service.$" diff --git a/data/maps/IslandCave/map.json b/data/maps/IslandCave/map.json index 27876f5e58..dbecdf4ed9 100644 --- a/data/maps/IslandCave/map.json +++ b/data/maps/IslandCave/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "IslandCave_EventScript_238F58", + "script": "IslandCave_EventScript_Regice", "flag": "FLAG_HIDE_REGICE" } ], @@ -59,7 +59,7 @@ "y": 20, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "IslandCave_EventScript_238EEF" + "script": "IslandCave_EventScript_CaveEntranceMiddle" }, { "type": "sign", @@ -67,7 +67,7 @@ "y": 20, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "IslandCave_EventScript_238F1D" + "script": "IslandCave_EventScript_CaveEntranceSide" }, { "type": "sign", @@ -75,7 +75,7 @@ "y": 20, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "IslandCave_EventScript_238F1D" + "script": "IslandCave_EventScript_CaveEntranceSide" } ] } \ No newline at end of file diff --git a/data/maps/IslandCave/scripts.inc b/data/maps/IslandCave/scripts.inc index 911e882f2b..8587e62c21 100644 --- a/data/maps/IslandCave/scripts.inc +++ b/data/maps/IslandCave/scripts.inc @@ -1,25 +1,25 @@ IslandCave_MapScripts:: @ 8238E2A - map_script MAP_SCRIPT_ON_RESUME, IslandCave_MapScript1_238E3A - map_script MAP_SCRIPT_ON_LOAD, IslandCave_MapScript1_238E58 + map_script MAP_SCRIPT_ON_RESUME, IslandCave_OnResume + map_script MAP_SCRIPT_ON_LOAD, IslandCave_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, IslandCave_OnTransition .byte 0 -IslandCave_MapScript1_238E3A: @ 8238E3A - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, IslandCave_EventScript_238E44 +IslandCave_OnResume: @ 8238E3A + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, IslandCave_EventScript_TryRemoveRegice end -IslandCave_EventScript_238E44:: @ 8238E44 +IslandCave_EventScript_TryRemoveRegice:: @ 8238E44 specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject VAR_LAST_TALKED return -IslandCave_MapScript1_238E58: @ 8238E58 - call_if_unset FLAG_SYS_BRAILLE_REGICE_COMPLETED, IslandCave_EventScript_238E62 +IslandCave_OnLoad: @ 8238E58 + call_if_unset FLAG_SYS_BRAILLE_REGICE_COMPLETED, IslandCave_EventScript_HideRegiEntrance end -IslandCave_EventScript_238E62:: @ 8238E62 +IslandCave_EventScript_HideRegiEntrance:: @ 8238E62 setmetatile 7, 19, METATILE_Cave_EntranceCover, 1 setmetatile 8, 19, METATILE_Cave_EntranceCover, 1 setmetatile 9, 19, METATILE_Cave_EntranceCover, 1 @@ -30,15 +30,15 @@ IslandCave_EventScript_238E62:: @ 8238E62 IslandCave_OnTransition: @ 8238E99 setflag FLAG_LANDMARK_ISLAND_CAVE - call IslandCave_EventScript_238F45 - call_if_unset FLAG_DEFEATED_REGICE, IslandCave_EventScript_238EAB + call IslandCave_EventScript_ClearSteps + call_if_unset FLAG_DEFEATED_REGICE, IslandCave_EventScript_ShowRegice end -IslandCave_EventScript_238EAB:: @ 8238EAB +IslandCave_EventScript_ShowRegice:: @ 8238EAB clearflag FLAG_HIDE_REGICE return -IslandCave_EventScript_238EAF:: @ 8238EAF +IslandCave_EventScript_OpenRegiEntrance:: @ 8238EAF setmetatile 7, 19, METATILE_Cave_SealedChamberEntrance_TopLeft, 1 setmetatile 8, 19, METATILE_Cave_SealedChamberEntrance_TopMid, 1 setmetatile 9, 19, METATILE_Cave_SealedChamberEntrance_TopRight, 1 @@ -50,45 +50,45 @@ IslandCave_EventScript_238EAF:: @ 8238EAF setflag FLAG_SYS_BRAILLE_REGICE_COMPLETED end -IslandCave_EventScript_238EEF:: @ 8238EEF +IslandCave_EventScript_CaveEntranceMiddle:: @ 8238EEF lockall - call_if_set FLAG_TEMP_3, IslandCave_EventScript_238F45 - goto_if_set FLAG_SYS_BRAILLE_REGICE_COMPLETED, IslandCave_EventScript_238F13 - braillemessage IslandCave_Braille_2A6CD4 + call_if_set FLAG_TEMP_3, IslandCave_EventScript_ClearSteps + goto_if_set FLAG_SYS_BRAILLE_REGICE_COMPLETED, IslandCave_EventScript_BigHoleInWall + braillemessage IslandCave_Braille_RunLapAroundWall setflag FLAG_TEMP_2 special ShouldDoBrailleRegicePuzzle - goto IslandCave_EventScript_238F41 + goto IslandCave_EventScript_CloseBrailleMsg end -IslandCave_EventScript_238F13:: @ 8238F13 - msgbox gUnknown_0827304E, MSGBOX_DEFAULT +IslandCave_EventScript_BigHoleInWall:: @ 8238F13 + msgbox gText_BigHoleInTheWall, MSGBOX_DEFAULT releaseall end -IslandCave_EventScript_238F1D:: @ 8238F1D +IslandCave_EventScript_CaveEntranceSide:: @ 8238F1D lockall - call_if_set FLAG_TEMP_3, IslandCave_EventScript_238F45 - braillemessage IslandCave_Braille_2A6CD4 - goto_if_set FLAG_SYS_BRAILLE_REGICE_COMPLETED, IslandCave_EventScript_238F41 + call_if_set FLAG_TEMP_3, IslandCave_EventScript_ClearSteps + braillemessage IslandCave_Braille_RunLapAroundWall + goto_if_set FLAG_SYS_BRAILLE_REGICE_COMPLETED, IslandCave_EventScript_CloseBrailleMsg setflag FLAG_TEMP_2 special ShouldDoBrailleRegicePuzzle - goto IslandCave_EventScript_238F41 + goto IslandCave_EventScript_CloseBrailleMsg end -IslandCave_EventScript_238F41:: @ 8238F41 +IslandCave_EventScript_CloseBrailleMsg:: @ 8238F41 waitbuttonpress - hidebox2 + closebraillemessage releaseall end -IslandCave_EventScript_238F45:: @ 8238F45 +IslandCave_EventScript_ClearSteps:: @ 8238F45 setvar VAR_REGICE_STEPS_1, 0 setvar VAR_REGICE_STEPS_2, 0 setvar VAR_REGICE_STEPS_3, 0 clearflag FLAG_TEMP_3 return -IslandCave_EventScript_238F58:: @ 8238F58 +IslandCave_EventScript_Regice:: @ 8238F58 lock faceplayer waitse @@ -101,22 +101,22 @@ IslandCave_EventScript_238F58:: @ 8238F58 waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq IslandCave_EventScript_238F9F - compare VAR_RESULT, 4 - goto_if_eq IslandCave_EventScript_238FA8 - compare VAR_RESULT, 5 - goto_if_eq IslandCave_EventScript_238FA8 + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq IslandCave_EventScript_DefeatedRegice + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq IslandCave_EventScript_RanFromRegice + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq IslandCave_EventScript_RanFromRegice setflag FLAG_DEFEATED_REGICE release end -IslandCave_EventScript_238F9F:: @ 8238F9F +IslandCave_EventScript_DefeatedRegice:: @ 8238F9F setflag FLAG_DEFEATED_REGICE - goto IslandCave_EventScript_27376D + goto Common_EventScript_RemoveStaticPokemon end -IslandCave_EventScript_238FA8:: @ 8238FA8 - setvar VAR_0x8004, 402 - goto IslandCave_EventScript_273776 +IslandCave_EventScript_RanFromRegice:: @ 8238FA8 + setvar VAR_0x8004, SPECIES_REGICE + goto Common_EventScript_LegendaryFlewAway end diff --git a/data/maps/JaggedPass/map.json b/data/maps/JaggedPass/map.json index e695c826cc..b60bcf2637 100644 --- a/data/maps/JaggedPass/map.json +++ b/data/maps/JaggedPass/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "JaggedPass_EventScript_230785", + "script": "JaggedPass_EventScript_Eric", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "JaggedPass_EventScript_2307FB", + "script": "JaggedPass_EventScript_Ethan", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "JaggedPass_EventScript_23079C", + "script": "JaggedPass_EventScript_Diana", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "JaggedPass_EventScript_230718", + "script": "JaggedPass_EventScript_MagmaHideoutGuard", "flag": "FLAG_HIDE_JAGGED_PASS_MAGMA_GUARD" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "JaggedPass_EventScript_230871", + "script": "JaggedPass_EventScript_Autumn", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "JaggedPass_EventScript_23085A", + "script": "JaggedPass_EventScript_Julio", "flag": "0" } ], @@ -156,7 +156,7 @@ "x": 21, "y": 12, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_ASH" + "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH" }, { "type": "weather", @@ -186,7 +186,7 @@ "elevation": 3, "var": "VAR_JAGGED_PASS_STATE", "var_value": "1", - "script": "JaggedPass_EventScript_2306BB" + "script": "JaggedPass_EventScript_OpenMagmaHideout" }, { "type": "trigger", @@ -195,7 +195,7 @@ "elevation": 3, "var": "VAR_JAGGED_PASS_STATE", "var_value": "1", - "script": "JaggedPass_EventScript_2306BB" + "script": "JaggedPass_EventScript_OpenMagmaHideout" }, { "type": "trigger", @@ -204,7 +204,7 @@ "elevation": 3, "var": "VAR_JAGGED_PASS_STATE", "var_value": "1", - "script": "JaggedPass_EventScript_2306BB" + "script": "JaggedPass_EventScript_OpenMagmaHideout" }, { "type": "trigger", @@ -213,7 +213,7 @@ "elevation": 3, "var": "VAR_JAGGED_PASS_STATE", "var_value": "1", - "script": "JaggedPass_EventScript_2306BB" + "script": "JaggedPass_EventScript_OpenMagmaHideout" }, { "type": "trigger", @@ -222,7 +222,7 @@ "elevation": 3, "var": "VAR_JAGGED_PASS_STATE", "var_value": "1", - "script": "JaggedPass_EventScript_2306BB" + "script": "JaggedPass_EventScript_OpenMagmaHideout" } ], "bg_events": [ diff --git a/data/maps/JaggedPass/scripts.inc b/data/maps/JaggedPass/scripts.inc index 1bb9e82a2b..9b4aa53830 100644 --- a/data/maps/JaggedPass/scripts.inc +++ b/data/maps/JaggedPass/scripts.inc @@ -1,60 +1,60 @@ JaggedPass_MapScripts:: @ 8230656 - map_script MAP_SCRIPT_ON_RESUME, JaggedPass_MapScript1_230666 + map_script MAP_SCRIPT_ON_RESUME, JaggedPass_OnResume map_script MAP_SCRIPT_ON_TRANSITION, JaggedPass_OnTransition - map_script MAP_SCRIPT_ON_LOAD, JaggedPass_MapScript1_23069C + map_script MAP_SCRIPT_ON_LOAD, JaggedPass_OnLoad .byte 0 -JaggedPass_MapScript1_230666: @ 8230666 - setstepcallback 1 +JaggedPass_OnResume: @ 8230666 + setstepcallback STEP_CB_ASH compare VAR_JAGGED_PASS_STATE, 0 - call_if_eq JaggedPass_EventScript_230674 + call_if_eq JaggedPass_EventScript_CheckHasMagmaEmblem end -JaggedPass_EventScript_230674:: @ 8230674 +JaggedPass_EventScript_CheckHasMagmaEmblem:: @ 8230674 checkitem ITEM_MAGMA_EMBLEM, 1 compare VAR_RESULT, 1 - goto_if_eq JaggedPass_EventScript_230685 + goto_if_eq JaggedPass_EventScript_SetReadyToOpenHideout return -JaggedPass_EventScript_230685:: @ 8230685 +JaggedPass_EventScript_SetReadyToOpenHideout:: @ 8230685 setvar VAR_JAGGED_PASS_STATE, 1 return JaggedPass_OnTransition: @ 823068B compare VAR_JAGGED_PASS_ASH_WEATHER, 1 - call_if_eq JaggedPass_EventScript_230697 + call_if_eq JaggedPass_EventScript_SetWeatherAsh end -JaggedPass_EventScript_230697:: @ 8230697 - setweather WEATHER_ASH +JaggedPass_EventScript_SetWeatherAsh:: @ 8230697 + setweather WEATHER_VOLCANIC_ASH doweather return -JaggedPass_MapScript1_23069C: @ 823069C +JaggedPass_OnLoad: @ 823069C compare VAR_JAGGED_PASS_STATE, 1 - goto_if_le JaggedPass_EventScript_2306A8 + goto_if_le JaggedPass_EventScript_ConcealHideoutEntrance end -JaggedPass_EventScript_2306A8:: @ 82306A8 +JaggedPass_EventScript_ConcealHideoutEntrance:: @ 82306A8 setmetatile 16, 17, METATILE_Lavaridge_RockWall, 1 setmetatile 16, 18, METATILE_Lavaridge_RockWall, 1 end -JaggedPass_EventScript_2306BB:: @ 82306BB +JaggedPass_EventScript_OpenMagmaHideout:: @ 82306BB lockall - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 5 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 1 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 5 @ shake delay + special ShakeCamera waitstate - msgbox JaggedPass_Text_230DBA, MSGBOX_DEFAULT + msgbox JaggedPass_Text_BoulderShakingInResponseToEmblem, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 16 - setvar VAR_0x8007, 3 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 1 @ horizontal pan + setvar VAR_0x8006, 16 @ num shakes + setvar VAR_0x8007, 3 @ shake delay + special ShakeCamera waitstate playse SE_KOUKA_M setmetatile 16, 17, METATILE_Lavaridge_CaveEntrance_Top, 1 @@ -66,9 +66,9 @@ JaggedPass_EventScript_2306BB:: @ 82306BB releaseall end -JaggedPass_EventScript_230718:: @ 8230718 +JaggedPass_EventScript_MagmaHideoutGuard:: @ 8230718 lockall - goto_if_set FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS, JaggedPass_EventScript_230766 + goto_if_set FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS, JaggedPass_EventScript_GuardDefeated waitse playse SE_PIN applymovement 5, Common_Movement_ExclamationMark @@ -77,196 +77,196 @@ JaggedPass_EventScript_230718:: @ 8230718 waitmovement 0 applymovement 5, Common_Movement_FacePlayer waitmovement 0 - msgbox JaggedPass_Text_230CCB, MSGBOX_DEFAULT + msgbox JaggedPass_Text_GruntIntro, MSGBOX_DEFAULT closemessage - trainerbattle_no_intro TRAINER_GRUNT_30, JaggedPass_Text_230D2D + trainerbattle_no_intro TRAINER_GRUNT_JAGGED_PASS, JaggedPass_Text_GruntDefeat setflag FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS applymovement 5, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end -JaggedPass_EventScript_230766:: @ 8230766 +JaggedPass_EventScript_GuardDefeated:: @ 8230766 applymovement 5, Common_Movement_FacePlayer waitmovement 0 - msgbox JaggedPass_Text_230D65, MSGBOX_DEFAULT + msgbox JaggedPass_Text_GoWhereverYouWant, MSGBOX_DEFAULT closemessage applymovement 5, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end -JaggedPass_EventScript_230785:: @ 8230785 - trainerbattle_single TRAINER_ERIC, JaggedPass_Text_230888, JaggedPass_Text_2308FF - msgbox JaggedPass_Text_230916, MSGBOX_AUTOCLOSE +JaggedPass_EventScript_Eric:: @ 8230785 + trainerbattle_single TRAINER_ERIC, JaggedPass_Text_EricIntro, JaggedPass_Text_EricDefeat + msgbox JaggedPass_Text_EricPostBattle, MSGBOX_AUTOCLOSE end -JaggedPass_EventScript_23079C:: @ 823079C - trainerbattle_single TRAINER_DIANA_1, JaggedPass_Text_230974, JaggedPass_Text_2309B5, JaggedPass_EventScript_2307C8 +JaggedPass_EventScript_Diana:: @ 823079C + trainerbattle_single TRAINER_DIANA_1, JaggedPass_Text_DianaIntro, JaggedPass_Text_DianaDefeat, JaggedPass_EventScript_RegisterDiana specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_if_eq JaggedPass_EventScript_2307E4 - msgbox JaggedPass_Text_2309D8, MSGBOX_DEFAULT + goto_if_eq JaggedPass_EventScript_DianaRematch + msgbox JaggedPass_Text_DianaPostBattle, MSGBOX_DEFAULT release end -JaggedPass_EventScript_2307C8:: @ 82307C8 - special sub_80B4808 - msgbox JaggedPass_Text_230A2C, MSGBOX_DEFAULT +JaggedPass_EventScript_RegisterDiana:: @ 82307C8 + special PlayerFaceTrainerAfterBattle + msgbox JaggedPass_Text_DianaRegister, MSGBOX_DEFAULT register_matchcall TRAINER_DIANA_1 release end -JaggedPass_EventScript_2307E4:: @ 82307E4 - trainerbattle_rematch TRAINER_DIANA_1, JaggedPass_Text_230A76, JaggedPass_Text_230AAA - msgbox JaggedPass_Text_230AD7, MSGBOX_AUTOCLOSE +JaggedPass_EventScript_DianaRematch:: @ 82307E4 + trainerbattle_rematch TRAINER_DIANA_1, JaggedPass_Text_DianaRematchIntro, JaggedPass_Text_DianaRematchDefeat + msgbox JaggedPass_Text_DianaPostRematch, MSGBOX_AUTOCLOSE end -JaggedPass_EventScript_2307FB:: @ 82307FB - trainerbattle_single TRAINER_ETHAN_1, JaggedPass_Text_230B10, JaggedPass_Text_230B50, JaggedPass_EventScript_230827 +JaggedPass_EventScript_Ethan:: @ 82307FB + trainerbattle_single TRAINER_ETHAN_1, JaggedPass_Text_EthanIntro, JaggedPass_Text_EthanDefeat, JaggedPass_EventScript_RegisterEthan specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_if_eq JaggedPass_EventScript_230843 - msgbox JaggedPass_Text_230B93, MSGBOX_DEFAULT + goto_if_eq JaggedPass_EventScript_EthanRematch + msgbox JaggedPass_Text_EthanPostBattle, MSGBOX_DEFAULT release end -JaggedPass_EventScript_230827:: @ 8230827 - special sub_80B4808 - msgbox JaggedPass_Text_230BC6, MSGBOX_DEFAULT +JaggedPass_EventScript_RegisterEthan:: @ 8230827 + special PlayerFaceTrainerAfterBattle + msgbox JaggedPass_Text_EthanRegister, MSGBOX_DEFAULT register_matchcall TRAINER_ETHAN_1 release end -JaggedPass_EventScript_230843:: @ 8230843 - trainerbattle_rematch TRAINER_ETHAN_1, JaggedPass_Text_230C28, JaggedPass_Text_230C60 - msgbox JaggedPass_Text_230C94, MSGBOX_AUTOCLOSE +JaggedPass_EventScript_EthanRematch:: @ 8230843 + trainerbattle_rematch TRAINER_ETHAN_1, JaggedPass_Text_EthanRematchIntro, JaggedPass_Text_EthanRematchDefeat + msgbox JaggedPass_Text_EthanPostRematch, MSGBOX_AUTOCLOSE end -JaggedPass_EventScript_23085A:: @ 823085A - trainerbattle_single TRAINER_JULIO, JaggedPass_Text_230DF7, JaggedPass_Text_230E38 - msgbox JaggedPass_Text_230E57, MSGBOX_AUTOCLOSE +JaggedPass_EventScript_Julio:: @ 823085A + trainerbattle_single TRAINER_JULIO, JaggedPass_Text_JulioIntro, JaggedPass_Text_JulioDefeat + msgbox JaggedPass_Text_JulioPostBattle, MSGBOX_AUTOCLOSE end -JaggedPass_EventScript_230871:: @ 8230871 - trainerbattle_single TRAINER_AUTUMN, JaggedPass_Text_230E8E, JaggedPass_Text_230ECD - msgbox JaggedPass_Text_230EE3, MSGBOX_AUTOCLOSE +JaggedPass_EventScript_Autumn:: @ 8230871 + trainerbattle_single TRAINER_AUTUMN, JaggedPass_Text_AutumnIntro, JaggedPass_Text_AutumnDefeat + msgbox JaggedPass_Text_AutumnPostBattle, MSGBOX_AUTOCLOSE end -JaggedPass_Text_230888: @ 8230888 +JaggedPass_Text_EricIntro: @ 8230888 .string "MT. CHIMNEY's JAGGED PASS…\p" .string "Now this is what I've always wanted\n" .string "in a mountain.\p" .string "This jagged bumpiness…\n" .string "It rocks my soul!$" -JaggedPass_Text_2308FF: @ 82308FF +JaggedPass_Text_EricDefeat: @ 82308FF .string "Losing left me bitter!$" -JaggedPass_Text_230916: @ 8230916 +JaggedPass_Text_EricPostBattle: @ 8230916 .string "Yes, I did lose at POKéMON…\p" .string "But, when it comes to the love of\n" .string "the mountains, I have you beat!$" -JaggedPass_Text_230974: @ 8230974 +JaggedPass_Text_DianaIntro: @ 8230974 .string "This place isn't your casual hike.\n" .string "It's not suited for a picnic.$" -JaggedPass_Text_2309B5: @ 82309B5 +JaggedPass_Text_DianaDefeat: @ 82309B5 .string "Ohhh, no!\n" .string "The ground is too bumpy…$" -JaggedPass_Text_2309D8: @ 82309D8 +JaggedPass_Text_DianaPostBattle: @ 82309D8 .string "Did you know?\p" .string "Some people cleverly ride their\n" .string "bicycles up this horribly bumpy pass.$" -JaggedPass_Text_230A2C: @ 8230A2C +JaggedPass_Text_DianaRegister: @ 8230A2C .string "Will you ever be back in this area?\n" .string "If you do return, I'd like a rematch.$" -JaggedPass_Text_230A76: @ 8230A76 +JaggedPass_Text_DianaRematchIntro: @ 8230A76 .string "Picnics are fun wherever you go.\n" .string "Just like POKéMON!$" -JaggedPass_Text_230AAA: @ 8230AAA +JaggedPass_Text_DianaRematchDefeat: @ 8230AAA .string "I only lost because the ground is\n" .string "too bumpy!$" -JaggedPass_Text_230AD7: @ 8230AD7 +JaggedPass_Text_DianaPostRematch: @ 8230AD7 .string "I'll forget about losing and just\n" .string "enjoy this bumpy hike.$" -JaggedPass_Text_230B10: @ 8230B10 +JaggedPass_Text_EthanIntro: @ 8230B10 .string "JAGGED PASS is hard to walk on.\n" .string "It's a good place for training.$" -JaggedPass_Text_230B50: @ 8230B50 +JaggedPass_Text_EthanDefeat: @ 8230B50 .string "It was all over while we were still\n" .string "trying to find a good footing…$" -JaggedPass_Text_230B93: @ 8230B93 +JaggedPass_Text_EthanPostBattle: @ 8230B93 .string "If I had an ACRO BIKE, I'd be able to\n" .string "jump ledges.$" -JaggedPass_Text_230BC6: @ 8230BC6 +JaggedPass_Text_EthanRegister: @ 8230BC6 .string "When I get more used to this bumpiness,\n" .string "I'll be sure to win!\p" .string "Can you register me in your POKéNAV?$" -JaggedPass_Text_230C28: @ 8230C28 +JaggedPass_Text_EthanRematchIntro: @ 8230C28 .string "I got used to this bumpiness.\n" .string "I sing while I climb now.$" -JaggedPass_Text_230C60: @ 8230C60 +JaggedPass_Text_EthanRematchDefeat: @ 8230C60 .string "It's still not easy to battle on this\n" .string "bumpy ground…$" -JaggedPass_Text_230C94: @ 8230C94 +JaggedPass_Text_EthanPostRematch: @ 8230C94 .string "I should get an ACRO BIKE from RYDEL\n" .string "in MAUVILLE CITY…$" -JaggedPass_Text_230CCB: @ 8230CCB +JaggedPass_Text_GruntIntro: @ 8230CCB .string "Wah!\n" .string "What are you doing here?\p" .string "What am I doing in a place like this?\p" .string "What business is it of yours?$" -JaggedPass_Text_230D2D: @ 8230D2D +JaggedPass_Text_GruntDefeat: @ 8230D2D .string "Urrrgh…\p" .string "I should've ducked into our HIDEOUT\n" .string "right away…$" -JaggedPass_Text_230D65: @ 8230D65 +JaggedPass_Text_GoWhereverYouWant: @ 8230D65 .string "Okay, oh-kay!\n" .string "I admit it--you're strong!\p" .string "Don't worry about me.\n" .string "Go wherever you want!$" -JaggedPass_Text_230DBA: @ 8230DBA +JaggedPass_Text_BoulderShakingInResponseToEmblem: @ 8230DBA .string "Oh! This boulder is shaking in response\n" .string "to the MAGMA EMBLEM!$" -JaggedPass_Text_230DF7: @ 8230DF7 +JaggedPass_Text_JulioIntro: @ 8230DF7 .string "Aiyeeh! It's awfully scary to shoot\n" .string "down the mountain in one go!$" -JaggedPass_Text_230E38: @ 8230E38 +JaggedPass_Text_JulioDefeat: @ 8230E38 .string "I feel like I'm falling apart…$" -JaggedPass_Text_230E57: @ 8230E57 +JaggedPass_Text_JulioPostBattle: @ 8230E57 .string "My bicycle bounced around so much,\n" .string "my rear end's sore…$" -JaggedPass_Text_230E8E: @ 8230E8E +JaggedPass_Text_AutumnIntro: @ 8230E8E .string "I climb this hill every day.\n" .string "I have confidence in my strength!$" -JaggedPass_Text_230ECD: @ 8230ECD +JaggedPass_Text_AutumnDefeat: @ 8230ECD .string "Hmm…\n" .string "What went wrong?$" -JaggedPass_Text_230EE3: @ 8230EE3 +JaggedPass_Text_AutumnPostBattle: @ 8230EE3 .string "What is that odd rock protrusion\n" .string "a little up the hill from here?$" diff --git a/data/maps/LavaridgeTown/map.json b/data/maps/LavaridgeTown/map.json index 65a6a25d38..1212f3354f 100644 --- a/data/maps/LavaridgeTown/map.json +++ b/data/maps/LavaridgeTown/map.json @@ -30,7 +30,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_EventScript_1EA73B", + "script": "LavaridgeTown_EventScript_ExpertF", "flag": "0" }, { @@ -43,7 +43,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_EventScript_1EA70E", + "script": "LavaridgeTown_EventScript_ExpertM", "flag": "0" }, { @@ -56,7 +56,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_EventScript_1EA717", + "script": "LavaridgeTown_EventScript_OldMan", "flag": "0" }, { @@ -69,7 +69,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_EventScript_1EA720", + "script": "LavaridgeTown_EventScript_Twin", "flag": "0" }, { @@ -82,7 +82,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_EventScript_1EA729", + "script": "LavaridgeTown_EventScript_HotSpringsOldWoman1", "flag": "0" }, { @@ -95,7 +95,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_EventScript_1EA732", + "script": "LavaridgeTown_EventScript_HotSpringsOldWoman2", "flag": "0" }, { @@ -109,7 +109,7 @@ "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", "script": "0x0", - "flag": "FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2" + "flag": "FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_ON_BIKE" }, { "graphics_id": "EVENT_OBJ_GFX_VAR_0", @@ -122,7 +122,7 @@ "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", "script": "0x0", - "flag": "FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1" + "flag": "FLAG_HIDE_LAVARIDGE_TOWN_RIVAL" }, { "graphics_id": "EVENT_OBJ_GFX_EXPERT_F", @@ -134,7 +134,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_EventScript_1EA744", + "script": "LavaridgeTown_EventScript_EggWoman", "flag": "0" } ], @@ -190,7 +190,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "LavaridgeTown_EventScript_1EA6FA" + "script": "LavaridgeTown_EventScript_HotSpringsTrigger" } ], "bg_events": [ @@ -200,7 +200,7 @@ "y": 16, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LavaridgeTown_EventScript_1EA7B7" + "script": "LavaridgeTown_EventScript_HerbShopSign" }, { "type": "sign", @@ -208,7 +208,7 @@ "y": 15, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LavaridgeTown_EventScript_1EA7AE" + "script": "LavaridgeTown_EventScript_GymSign" }, { "type": "sign", @@ -224,7 +224,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LavaridgeTown_EventScript_1EA7A5" + "script": "LavaridgeTown_EventScript_TownSign" }, { "type": "sign", diff --git a/data/maps/LavaridgeTown/scripts.inc b/data/maps/LavaridgeTown/scripts.inc index de1a2bcee6..5d86f36528 100644 --- a/data/maps/LavaridgeTown/scripts.inc +++ b/data/maps/LavaridgeTown/scripts.inc @@ -1,98 +1,98 @@ LavaridgeTown_MapScripts:: @ 81EA4D3 map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, LavaridgeTown_MapScript2_1EA547 + map_script MAP_SCRIPT_ON_FRAME_TABLE, LavaridgeTown_OnFrame .byte 0 LavaridgeTown_OnTransition: @ 81EA4DE setflag FLAG_VISITED_LAVARIDGE_TOWN - call_if_set FLAG_FLANNERY_GIVES_BADGE_INFO, LavaridgeTown_EventScript_1EA514 - call_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, LavaridgeTown_EventScript_1EA53F - call Common_EventScript_SetupRivalGender - call Common_EventScript_SetupRivalOnBikeGender + call_if_set FLAG_WHITEOUT_TO_LAVARIDGE, LavaridgeTown_EventScript_ClearLavaridgeWhiteOut + call_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, LavaridgeTown_EventScript_ShowMtChimneyTrainers + call Common_EventScript_SetupRivalGfxId + call Common_EventScript_SetupRivalOnBikeGfxId compare VAR_LAVARIDGE_TOWN_STATE, 1 - call_if_eq LavaridgeTown_EventScript_1EA518 + call_if_eq LavaridgeTown_EventScript_CheckSetRivalPos compare VAR_LAVARIDGE_TOWN_STATE, 1 - call_if_eq LavaridgeTown_EventScript_1EA543 + call_if_eq LavaridgeTown_EventScript_HideMapNamePopup end -LavaridgeTown_EventScript_1EA514:: @ 81EA514 - clearflag FLAG_FLANNERY_GIVES_BADGE_INFO +LavaridgeTown_EventScript_ClearLavaridgeWhiteOut:: @ 81EA514 + clearflag FLAG_WHITEOUT_TO_LAVARIDGE return -LavaridgeTown_EventScript_1EA518:: @ 81EA518 +LavaridgeTown_EventScript_CheckSetRivalPos:: @ 81EA518 getplayerxy VAR_0x8004, VAR_0x8005 compare VAR_0x8004, 9 - goto_if_eq LavaridgeTown_EventScript_1EA529 + goto_if_eq LavaridgeTown_EventScript_SetRivalPos return -LavaridgeTown_EventScript_1EA529:: @ 81EA529 +LavaridgeTown_EventScript_SetRivalPos:: @ 81EA529 setobjectxyperm 8, 11, 9 setobjectxyperm 7, 9, 8 setobjectmovementtype 7, MOVEMENT_TYPE_FACE_UP - clearflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1 + clearflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL return -LavaridgeTown_EventScript_1EA53F:: @ 81EA53F +LavaridgeTown_EventScript_ShowMtChimneyTrainers:: @ 81EA53F clearflag FLAG_HIDE_MT_CHIMNEY_TRAINERS return -LavaridgeTown_EventScript_1EA543:: @ 81EA543 +LavaridgeTown_EventScript_HideMapNamePopup:: @ 81EA543 setflag FLAG_HIDE_MAP_NAME_POPUP return -LavaridgeTown_MapScript2_1EA547: @ 81EA547 - map_script_2 VAR_LAVARIDGE_TOWN_STATE, 1, LavaridgeTown_EventScript_1EA551 +LavaridgeTown_OnFrame: @ 81EA547 + map_script_2 VAR_LAVARIDGE_TOWN_STATE, 1, LavaridgeTown_EventScript_RivalGiveGoGoggles .2byte 0 -LavaridgeTown_EventScript_1EA551:: @ 81EA551 +LavaridgeTown_EventScript_RivalGiveGoGoggles:: @ 81EA551 lockall getplayerxy VAR_0x8008, VAR_0x8009 compare VAR_0x8008, 9 - call_if_eq LavaridgeTown_EventScript_1EA63A + call_if_eq LavaridgeTown_EventScript_RivalNoticePlayer compare VAR_0x8008, 9 - call_if_ne LavaridgeTown_EventScript_1EA65C + call_if_ne LavaridgeTown_EventScript_RivalExitHerbShop delay 20 checkplayergender compare VAR_RESULT, MALE - call_if_eq LavaridgeTown_EventScript_1EA630 + call_if_eq LavaridgeTown_EventScript_PlayMayMusic compare VAR_RESULT, FEMALE - call_if_eq LavaridgeTown_EventScript_1EA635 + call_if_eq LavaridgeTown_EventScript_PlayBrendanMusic compare VAR_0x8008, 9 - call_if_eq LavaridgeTown_EventScript_1EA6A1 + call_if_eq LavaridgeTown_EventScript_RivalApproachPlayer1 compare VAR_0x8008, 9 - call_if_ne LavaridgeTown_EventScript_1EA6AC + call_if_ne LavaridgeTown_EventScript_RivalApproachPlayer2 checkplayergender compare VAR_RESULT, MALE - goto_if_eq LavaridgeTown_EventScript_1EA5B5 + goto_if_eq LavaridgeTown_EventScript_MayGiveGoGoggles compare VAR_RESULT, FEMALE - goto_if_eq LavaridgeTown_EventScript_1EA5DA + goto_if_eq LavaridgeTown_EventScript_BrendanGiveGoGoggles end -LavaridgeTown_EventScript_1EA5B5:: @ 81EA5B5 - msgbox LavaridgeTown_Text_1EA7C0, MSGBOX_DEFAULT - giveitem_std ITEM_GO_GOGGLES +LavaridgeTown_EventScript_MayGiveGoGoggles:: @ 81EA5B5 + msgbox LavaridgeTown_Text_MayNiceBadgesTakeThis, MSGBOX_DEFAULT + giveitem ITEM_GO_GOGGLES setflag FLAG_RECEIVED_GO_GOGGLES - msgbox LavaridgeTown_Text_1EA897, MSGBOX_DEFAULT - goto LavaridgeTown_EventScript_1EA5FF + msgbox LavaridgeTown_Text_MayExplainGoGogglesChallengeDad, MSGBOX_DEFAULT + goto LavaridgeTown_EventScript_RivalExit end -LavaridgeTown_EventScript_1EA5DA:: @ 81EA5DA - msgbox LavaridgeTown_Text_1EA9A2, MSGBOX_DEFAULT - giveitem_std ITEM_GO_GOGGLES +LavaridgeTown_EventScript_BrendanGiveGoGoggles:: @ 81EA5DA + msgbox LavaridgeTown_Text_BrendanNiceBadgesTakeThis, MSGBOX_DEFAULT + giveitem ITEM_GO_GOGGLES setflag FLAG_RECEIVED_GO_GOGGLES - msgbox LavaridgeTown_Text_1EAA2E, MSGBOX_DEFAULT - goto LavaridgeTown_EventScript_1EA5FF + msgbox LavaridgeTown_Text_BrendanExplainGoGogglesChallengeDad, MSGBOX_DEFAULT + goto LavaridgeTown_EventScript_RivalExit end -LavaridgeTown_EventScript_1EA5FF:: @ 81EA5FF +LavaridgeTown_EventScript_RivalExit:: @ 81EA5FF closemessage removeobject 8 addobject 7 delay 30 compare VAR_0x8008, 9 - call_if_eq LavaridgeTown_EventScript_1EA6B7 + call_if_eq LavaridgeTown_EventScript_RivalExit1 compare VAR_0x8008, 9 - call_if_ne LavaridgeTown_EventScript_1EA6C9 + call_if_ne LavaridgeTown_EventScript_RivalExit2 removeobject 7 setvar VAR_LAVARIDGE_TOWN_STATE, 2 clearflag FLAG_HIDE_MAP_NAME_POPUP @@ -101,16 +101,16 @@ LavaridgeTown_EventScript_1EA5FF:: @ 81EA5FF releaseall end -LavaridgeTown_EventScript_1EA630:: @ 81EA630 +LavaridgeTown_EventScript_PlayMayMusic:: @ 81EA630 playbgm MUS_GIRL_SUP, 1 return -LavaridgeTown_EventScript_1EA635:: @ 81EA635 +LavaridgeTown_EventScript_PlayBrendanMusic:: @ 81EA635 playbgm MUS_BOY_SUP, 1 return -LavaridgeTown_EventScript_1EA63A:: @ 81EA63A - applymovement 8, Common_Movement_WalkInPlaceUp +LavaridgeTown_EventScript_RivalNoticePlayer:: @ 81EA63A + applymovement 8, Common_Movement_WalkInPlaceFastestUp waitmovement 0 playse SE_PIN applymovement 8, Common_Movement_ExclamationMark @@ -119,47 +119,47 @@ LavaridgeTown_EventScript_1EA63A:: @ 81EA63A waitmovement 0 return -LavaridgeTown_EventScript_1EA65C:: @ 81EA65C +LavaridgeTown_EventScript_RivalExitHerbShop:: @ 81EA65C opendoor 12, 15 waitdooranim addobject 8 - applymovement 8, LavaridgeTown_Movement_1EA6F8 + applymovement 8, LavaridgeTown_Movement_RivalExitHerbShop waitmovement 0 closedoor 12, 15 waitdooranim - applymovement 8, Common_Movement_WalkInPlaceLeft + applymovement 8, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 playse SE_PIN applymovement 8, Common_Movement_ExclamationMark waitmovement 0 applymovement 8, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -LavaridgeTown_EventScript_1EA6A1:: @ 81EA6A1 - applymovement 8, LavaridgeTown_Movement_1EA6F4 +LavaridgeTown_EventScript_RivalApproachPlayer1:: @ 81EA6A1 + applymovement 8, LavaridgeTown_Movement_RivalApproachPlayer1 waitmovement 0 return -LavaridgeTown_EventScript_1EA6AC:: @ 81EA6AC - applymovement 8, LavaridgeTown_Movement_1EA6ED +LavaridgeTown_EventScript_RivalApproachPlayer2:: @ 81EA6AC + applymovement 8, LavaridgeTown_Movement_RivalApproachPlayer2 waitmovement 0 return -LavaridgeTown_EventScript_1EA6B7:: @ 81EA6B7 - applymovement EVENT_OBJ_ID_PLAYER, LavaridgeTown_Movement_1EA6DF - applymovement 7, LavaridgeTown_Movement_1EA6E3 +LavaridgeTown_EventScript_RivalExit1:: @ 81EA6B7 + applymovement EVENT_OBJ_ID_PLAYER, LavaridgeTown_Movement_PlayerWatchRivalExit + applymovement 7, LavaridgeTown_Movement_RivalExit1 waitmovement 0 return -LavaridgeTown_EventScript_1EA6C9:: @ 81EA6C9 - applymovement 7, LavaridgeTown_Movement_1EA6D4 +LavaridgeTown_EventScript_RivalExit2:: @ 81EA6C9 + applymovement 7, LavaridgeTown_Movement_RivalExit2 waitmovement 0 return -LavaridgeTown_Movement_1EA6D4: @ 81EA6D4 +LavaridgeTown_Movement_RivalExit2: @ 81EA6D4 walk_fast_right walk_fast_right walk_fast_right @@ -172,13 +172,13 @@ LavaridgeTown_Movement_1EA6D4: @ 81EA6D4 walk_fast_up step_end -LavaridgeTown_Movement_1EA6DF: @ 81EA6DF +LavaridgeTown_Movement_PlayerWatchRivalExit: @ 81EA6DF delay_16 delay_8 walk_in_place_fastest_right step_end -LavaridgeTown_Movement_1EA6E3: @ 81EA6E3 +LavaridgeTown_Movement_RivalExit1: @ 81EA6E3 walk_fast_down walk_fast_right walk_fast_right @@ -190,7 +190,7 @@ LavaridgeTown_Movement_1EA6E3: @ 81EA6E3 walk_fast_right step_end -LavaridgeTown_Movement_1EA6ED: @ 81EA6ED +LavaridgeTown_Movement_RivalApproachPlayer2: @ 81EA6ED walk_left walk_left walk_left @@ -199,97 +199,97 @@ LavaridgeTown_Movement_1EA6ED: @ 81EA6ED walk_left step_end -LavaridgeTown_Movement_1EA6F4: @ 81EA6F4 +LavaridgeTown_Movement_RivalApproachPlayer1: @ 81EA6F4 walk_left walk_left walk_up step_end -LavaridgeTown_Movement_1EA6F8: @ 81EA6F8 +LavaridgeTown_Movement_RivalExitHerbShop: @ 81EA6F8 walk_down step_end -LavaridgeTown_EventScript_1EA6FA:: @ 81EA6FA +LavaridgeTown_EventScript_HotSpringsTrigger:: @ 81EA6FA specialvar VAR_RESULT, GetPlayerFacingDirection - compare VAR_RESULT, 1 - goto_if_eq LavaridgeTown_EventScript_1EA70B + compare VAR_RESULT, DIR_SOUTH + goto_if_eq LavaridgeTown_EventScript_EnteredHotSprings end -LavaridgeTown_EventScript_1EA70B:: @ 81EA70B - incrementgamestat 49 +LavaridgeTown_EventScript_EnteredHotSprings:: @ 81EA70B + incrementgamestat GAME_STAT_ENTERED_HOT_SPRINGS end -LavaridgeTown_EventScript_1EA70E:: @ 81EA70E - msgbox LavaridgeTown_Text_1EAE03, MSGBOX_NPC +LavaridgeTown_EventScript_ExpertM:: @ 81EA70E + msgbox LavaridgeTown_Text_HotSpringsNeverRunDry, MSGBOX_NPC end -LavaridgeTown_EventScript_1EA717:: @ 81EA717 - msgbox LavaridgeTown_Text_1EAEE1, MSGBOX_SIGN +LavaridgeTown_EventScript_OldMan:: @ 81EA717 + msgbox LavaridgeTown_Text_PokemonNippedBackside, MSGBOX_SIGN end -LavaridgeTown_EventScript_1EA720:: @ 81EA720 - msgbox LavaridgeTown_Text_1EAF9B, MSGBOX_NPC +LavaridgeTown_EventScript_Twin:: @ 81EA720 + msgbox LavaridgeTown_Text_BatheInHotSpringsEveryDay, MSGBOX_NPC end -LavaridgeTown_EventScript_1EA729:: @ 81EA729 - msgbox LavaridgeTown_Text_1EB003, MSGBOX_NPC +LavaridgeTown_EventScript_HotSpringsOldWoman1:: @ 81EA729 + msgbox LavaridgeTown_Text_IfPokemonInHotSprings, MSGBOX_NPC end -LavaridgeTown_EventScript_1EA732:: @ 81EA732 - msgbox LavaridgeTown_Text_1EB092, MSGBOX_NPC +LavaridgeTown_EventScript_HotSpringsOldWoman2:: @ 81EA732 + msgbox LavaridgeTown_Text_HotSpringsClaims, MSGBOX_NPC end -LavaridgeTown_EventScript_1EA73B:: @ 81EA73B - msgbox LavaridgeTown_Text_1EAF4E, MSGBOX_NPC +LavaridgeTown_EventScript_ExpertF:: @ 81EA73B + msgbox LavaridgeTown_Text_OhYouLikeHotSprings, MSGBOX_NPC end -LavaridgeTown_EventScript_1EA744:: @ 81EA744 +LavaridgeTown_EventScript_EggWoman:: @ 81EA744 lock faceplayer - goto_if_set FLAG_RECEIVED_LAVARIDGE_EGG, LavaridgeTown_EventScript_1EA787 - msgbox LavaridgeTown_Text_1EAB80, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LavaridgeTown_EventScript_1EA79B + goto_if_set FLAG_RECEIVED_LAVARIDGE_EGG, LavaridgeTown_EventScript_ReceivedEgg + msgbox LavaridgeTown_Text_HaveEggWillYouTakeIt, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq LavaridgeTown_EventScript_DeclineEgg getpartysize - compare VAR_RESULT, 6 - goto_if_eq LavaridgeTown_EventScript_1EA791 - msgbox LavaridgeTown_Text_1EACC0, MSGBOX_DEFAULT + compare VAR_RESULT, PARTY_SIZE + goto_if_eq LavaridgeTown_EventScript_NoRoomForEgg + msgbox LavaridgeTown_Text_HopeYoullWalkPlentyWithEgg, MSGBOX_DEFAULT setflag FLAG_RECEIVED_LAVARIDGE_EGG playfanfare MUS_FANFA4 - message LavaridgeTown_Text_1EACF4 + message LavaridgeTown_Text_ReceivedTheEgg waitfanfare giveegg SPECIES_WYNAUT release end -LavaridgeTown_EventScript_1EA787:: @ 81EA787 - msgbox LavaridgeTown_Text_1EAD9E, MSGBOX_DEFAULT +LavaridgeTown_EventScript_ReceivedEgg:: @ 81EA787 + msgbox LavaridgeTown_Text_EverySoOftenEggFoundAtDayCare, MSGBOX_DEFAULT release end -LavaridgeTown_EventScript_1EA791:: @ 81EA791 - msgbox LavaridgeTown_Text_1EAD09, MSGBOX_DEFAULT +LavaridgeTown_EventScript_NoRoomForEgg:: @ 81EA791 + msgbox LavaridgeTown_Text_NoRoomForThisEgg, MSGBOX_DEFAULT release end -LavaridgeTown_EventScript_1EA79B:: @ 81EA79B - msgbox LavaridgeTown_Text_1EAD44, MSGBOX_DEFAULT +LavaridgeTown_EventScript_DeclineEgg:: @ 81EA79B + msgbox LavaridgeTown_Text_AsYouWishThen, MSGBOX_DEFAULT release end -LavaridgeTown_EventScript_1EA7A5:: @ 81EA7A5 - msgbox LavaridgeTown_Text_1EB12B, MSGBOX_SIGN +LavaridgeTown_EventScript_TownSign:: @ 81EA7A5 + msgbox LavaridgeTown_Text_TownSign, MSGBOX_SIGN end -LavaridgeTown_EventScript_1EA7AE:: @ 81EA7AE - msgbox LavaridgeTown_Text_1EB178, MSGBOX_SIGN +LavaridgeTown_EventScript_GymSign:: @ 81EA7AE + msgbox LavaridgeTown_Text_GymSign, MSGBOX_SIGN end -LavaridgeTown_EventScript_1EA7B7:: @ 81EA7B7 - msgbox LavaridgeTown_Text_1EB1CB, MSGBOX_SIGN +LavaridgeTown_EventScript_HerbShopSign:: @ 81EA7B7 + msgbox LavaridgeTown_Text_HerbShopSign, MSGBOX_SIGN end -LavaridgeTown_Text_1EA7C0: @ 81EA7C0 +LavaridgeTown_Text_MayNiceBadgesTakeThis: @ 81EA7C0 .string "MAY: {PLAYER}{KUN}! Long time no see!\p" .string "Oh? While I visited the hot springs,\n" .string "you got the LAVARIDGE GYM BADGE.\p" @@ -299,7 +299,7 @@ LavaridgeTown_Text_1EA7C0: @ 81EA7C0 .string "I guess it would be okay for you to\n" .string "have this.$" -LavaridgeTown_Text_1EA897: @ 81EA897 +LavaridgeTown_Text_MayExplainGoGogglesChallengeDad: @ 81EA897 .string "MAY: With those GO-GOGGLES, you'll\n" .string "have no trouble getting through the\l" .string "desert near ROUTE 111.\p" @@ -311,7 +311,7 @@ LavaridgeTown_Text_1EA897: @ 81EA897 .string "your dad in PETALBURG GYM.\p" .string "See you again!$" -LavaridgeTown_Text_1EA9A2: @ 81EA9A2 +LavaridgeTown_Text_BrendanNiceBadgesTakeThis: @ 81EA9A2 .string "BRENDAN: {PLAYER}, hey, it's been a while.\n" .string "How's it going?\p" .string "Hmm…\n" @@ -319,7 +319,7 @@ LavaridgeTown_Text_1EA9A2: @ 81EA9A2 .string "All right, then.\n" .string "You may as well have this.$" -LavaridgeTown_Text_1EAA2E: @ 81EAA2E +LavaridgeTown_Text_BrendanExplainGoGogglesChallengeDad: @ 81EAA2E .string "BRENDAN: Keep those with you if you're\n" .string "planning on going into that desert near\l" .string "ROUTE 111.\p" @@ -333,7 +333,7 @@ LavaridgeTown_Text_1EAA2E: @ 81EAA2E .string "he really is tough.\p" .string "See you around!$" -LavaridgeTown_Text_1EAB80: @ 81EAB80 +LavaridgeTown_Text_HaveEggWillYouTakeIt: @ 81EAB80 .string "I have here an EGG.\p" .string "I'd hoped to hatch it by covering it in\n" .string "hot sand by the hot springs.\l" @@ -346,28 +346,28 @@ LavaridgeTown_Text_1EAB80: @ 81EAB80 .string "So, what say you?\n" .string "Will you take this EGG to hatch?$" -LavaridgeTown_Text_1EACC0: @ 81EACC0 +LavaridgeTown_Text_HopeYoullWalkPlentyWithEgg: @ 81EACC0 .string "Good! I hope you'll walk plenty with\n" .string "this here EGG!$" -LavaridgeTown_Text_1EACF4: @ 81EACF4 +LavaridgeTown_Text_ReceivedTheEgg: @ 81EACF4 .string "{PLAYER} received the EGG.$" -LavaridgeTown_Text_1EAD09: @ 81EAD09 +LavaridgeTown_Text_NoRoomForThisEgg: @ 81EAD09 .string "Oh? You've too many POKéMON.\n" .string "There's no room for this EGG…$" -LavaridgeTown_Text_1EAD44: @ 81EAD44 +LavaridgeTown_Text_AsYouWishThen: @ 81EAD44 .string "As you wish, then…\p" .string "If you have a change of heart about\n" .string "hatching this EGG, I will be here.$" -LavaridgeTown_Text_1EAD9E: @ 81EAD9E +LavaridgeTown_Text_EverySoOftenEggFoundAtDayCare: @ 81EAD9E .string "Every so often, an EGG will be found at\n" .string "the POKéMON DAY CARE.\p" .string "Or at least that's how the rumor goes.$" -LavaridgeTown_Text_1EAE03: @ 81EAE03 +LavaridgeTown_Text_HotSpringsNeverRunDry: @ 81EAE03 .string "We draw as much hot water as we need,\n" .string "and yet the hot springs never run dry.\p" .string "Isn't it magical?\p" @@ -376,47 +376,47 @@ LavaridgeTown_Text_1EAE03: @ 81EAE03 .string "ground are heated by magma to well up\l" .string "as hot springs.$" -LavaridgeTown_Text_1EAEE1: @ 81EAEE1 +LavaridgeTown_Text_PokemonNippedBackside: @ 81EAEE1 .string "Being buried in this hot sand is…\n" .string "Sigh…\p" .string "So warm and heavenly…\p" .string "Eh? Gyaah! Ouch!\p" .string "A POKéMON nipped my backside!$" -LavaridgeTown_Text_1EAF4E: @ 81EAF4E +LavaridgeTown_Text_OhYouLikeHotSprings: @ 81EAF4E .string "Oh, you like hot springs, do you?\p" .string "That's surprising for one as young\n" .string "as you.$" -LavaridgeTown_Text_1EAF9B: @ 81EAF9B +LavaridgeTown_Text_BatheInHotSpringsEveryDay: @ 81EAF9B .string "I bathe in the hot springs every day.\p" .string "I want to become a beautiful and strong\n" .string "GYM LEADER like FLANNERY.$" -LavaridgeTown_Text_1EB003: @ 81EB003 +LavaridgeTown_Text_IfPokemonInHotSprings: @ 81EB003 .string "If people put POKéMON in hot springs,\n" .string "it might be seriously strange.\p" .string "Why, it might be an electric bath, or\n" .string "a bubble bath, or even a lava bath…$" -LavaridgeTown_Text_1EB092: @ 81EB092 +LavaridgeTown_Text_HotSpringsClaims: @ 81EB092 .string "They're claiming that these hot springs\n" .string "are good for calming nervous tension,\l" .string "relieving aching muscles, solving\l" .string "romantic problems, and attracting\l" .string "money…$" -LavaridgeTown_Text_1EB12B: @ 81EB12B +LavaridgeTown_Text_TownSign: @ 81EB12B .string "LAVARIDGE TOWN\p" .string "“POKéMON CENTER HOT SPRINGS\n" .string "An excellent place for relaxing!”$" -LavaridgeTown_Text_1EB178: @ 81EB178 +LavaridgeTown_Text_GymSign: @ 81EB178 .string "LAVARIDGE TOWN POKéMON GYM\n" .string "LEADER: FLANNERY\l" .string "“One with a fiery passion that burns!”$" -LavaridgeTown_Text_1EB1CB: @ 81EB1CB +LavaridgeTown_Text_HerbShopSign: @ 81EB1CB .string "POKéMON HERB SHOP\n" .string "“Bitter taste--better cure!”$" diff --git a/data/maps/LavaridgeTown_Gym_1F/map.json b/data/maps/LavaridgeTown_Gym_1F/map.json index aae6afc034..7c7033a830 100644 --- a/data/maps/LavaridgeTown_Gym_1F/map.json +++ b/data/maps/LavaridgeTown_Gym_1F/map.json @@ -5,7 +5,7 @@ "music": "MUS_GIM", "region_map_section": "MAPSEC_LAVARIDGE_TOWN", "requires_flash": false, - "weather": "WEATHER_FOG_1", + "weather": "WEATHER_FOG_HORIZONTAL", "map_type": "MAP_TYPE_INDOOR", "allow_bike": false, "allow_escape_rope": false, @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_Gym_1F_EventScript_1FE78C", + "script": "LavaridgeTown_Gym_1F_EventScript_Flannery", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "LavaridgeTown_Gym_1F_EventScript_1FE87F", + "script": "LavaridgeTown_Gym_1F_EventScript_Cole", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "LavaridgeTown_Gym_1F_EventScript_1FE900", + "script": "LavaridgeTown_Gym_1F_EventScript_Gerald", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "LavaridgeTown_Gym_1F_EventScript_1FE8AF", + "script": "LavaridgeTown_Gym_1F_EventScript_Axle", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "LavaridgeTown_Gym_1F_EventScript_1FE8E5", + "script": "LavaridgeTown_Gym_1F_EventScript_Danielle", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_Gym_1F_EventScript_1FE96C", + "script": "LavaridgeTown_Gym_1F_EventScript_GymGuide", "flag": "0" } ], @@ -285,7 +285,7 @@ "y": 15, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "LavaridgeTown_Gym_1F_EventScript_1FE98B" + "script": "LavaridgeTown_Gym_1F_EventScript_LeftGymStatue" }, { "type": "sign", @@ -293,7 +293,7 @@ "y": 15, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "LavaridgeTown_Gym_1F_EventScript_1FE99B" + "script": "LavaridgeTown_Gym_1F_EventScript_RightGymStatue" } ] } \ No newline at end of file diff --git a/data/maps/LavaridgeTown_Gym_1F/scripts.inc b/data/maps/LavaridgeTown_Gym_1F/scripts.inc index 8eec8cf43b..904abfae95 100644 --- a/data/maps/LavaridgeTown_Gym_1F/scripts.inc +++ b/data/maps/LavaridgeTown_Gym_1F/scripts.inc @@ -3,91 +3,76 @@ LavaridgeTown_Gym_1F_MapScripts:: @ 81FE6F4 .byte 0 LavaridgeTown_Gym_1F_OnTransition: @ 81FE6FA - call LavaridgeTown_Gym_1F_EventScript_1FE705 - call LavaridgeTown_Gym_1F_EventScript_1FE757 + call LavaridgeTown_Gym_1F_EventScript_SetTrainerTempVars + call LavaridgeTown_Gym_1F_EventScript_CheckHideTrainers end -LavaridgeTown_Gym_1F_EventScript_1FE705:: @ 81FE705 +@ Unclear where/if these temp vars are getting checked +LavaridgeTown_Gym_1F_EventScript_SetTrainerTempVars:: @ 81FE705 setvar VAR_TEMP_B, 0 setvar VAR_TEMP_C, 0 setvar VAR_TEMP_D, 0 setvar VAR_TEMP_E, 0 setvar VAR_TEMP_F, 0 - checktrainerflag TRAINER_COLE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE72C + goto_if_defeated TRAINER_COLE LavaridgeTown_Gym_1F_EventScript_SetGeraldTempVar setvar VAR_TEMP_B, 1 - -LavaridgeTown_Gym_1F_EventScript_1FE72C:: @ 81FE72C - checktrainerflag TRAINER_GERALD - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE73A +LavaridgeTown_Gym_1F_EventScript_SetGeraldTempVar:: @ 81FE72C + goto_if_defeated TRAINER_GERALD, LavaridgeTown_Gym_1F_EventScript_SetAxleTempVar setvar VAR_TEMP_C, 1 - -LavaridgeTown_Gym_1F_EventScript_1FE73A:: @ 81FE73A - checktrainerflag TRAINER_AXLE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE748 +LavaridgeTown_Gym_1F_EventScript_SetAxleTempVar:: @ 81FE73A + goto_if_defeated TRAINER_AXLE, LavaridgeTown_Gym_1F_EventScript_SetDanielleTempVar setvar VAR_TEMP_D, 1 - -LavaridgeTown_Gym_1F_EventScript_1FE748:: @ 81FE748 - checktrainerflag TRAINER_DANIELLE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE756 +LavaridgeTown_Gym_1F_EventScript_SetDanielleTempVar:: @ 81FE748 + goto_if_defeated TRAINER_DANIELLE, LavaridgeTown_Gym_1F_EventScript_EndSetTrainerTempVars setvar VAR_TEMP_E, 1 - -LavaridgeTown_Gym_1F_EventScript_1FE756:: @ 81FE756 +LavaridgeTown_Gym_1F_EventScript_EndSetTrainerTempVars:: @ 81FE756 return -LavaridgeTown_Gym_1F_EventScript_1FE757:: @ 81FE757 - checktrainerflag TRAINER_COLE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE764 +LavaridgeTown_Gym_1F_EventScript_CheckHideTrainers:: @ 81FE757 + goto_if_defeated TRAINER_COLE, LavaridgeTown_Gym_1F_EventScript_CheckHideGerald setobjectmovementtype 2, MOVEMENT_TYPE_HIDDEN - -LavaridgeTown_Gym_1F_EventScript_1FE764:: @ 81FE764 - checktrainerflag TRAINER_GERALD - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE771 +LavaridgeTown_Gym_1F_EventScript_CheckHideGerald:: @ 81FE764 + goto_if_defeated TRAINER_GERALD, LavaridgeTown_Gym_1F_EventScript_CheckHideAxle setobjectmovementtype 3, MOVEMENT_TYPE_HIDDEN - -LavaridgeTown_Gym_1F_EventScript_1FE771:: @ 81FE771 - checktrainerflag TRAINER_AXLE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE77E +LavaridgeTown_Gym_1F_EventScript_CheckHideAxle:: @ 81FE771 + goto_if_defeated TRAINER_AXLE, LavaridgeTown_Gym_1F_EventScript_CheckHideDanielle setobjectmovementtype 4, MOVEMENT_TYPE_HIDDEN - -LavaridgeTown_Gym_1F_EventScript_1FE77E:: @ 81FE77E - checktrainerflag TRAINER_DANIELLE - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE78B +LavaridgeTown_Gym_1F_EventScript_CheckHideDanielle:: @ 81FE77E + goto_if_defeated TRAINER_DANIELLE, LavaridgeTown_Gym_1F_EventScript_EndCheckHideTrainers setobjectmovementtype 5, MOVEMENT_TYPE_HIDDEN - -LavaridgeTown_Gym_1F_EventScript_1FE78B:: @ 81FE78B +LavaridgeTown_Gym_1F_EventScript_EndCheckHideTrainers:: @ 81FE78B return -LavaridgeTown_Gym_1F_EventScript_1FE78C:: @ 81FE78C - trainerbattle_single TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_1FF0DC, LavaridgeTown_Gym_1F_Text_1FF233, LavaridgeTown_Gym_1F_EventScript_1FE7C1, NO_MUSIC +LavaridgeTown_Gym_1F_EventScript_Flannery:: @ 81FE78C + trainerbattle_single TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_FlanneryIntro, LavaridgeTown_Gym_1F_Text_FlanneryDefeat, LavaridgeTown_Gym_1F_EventScript_FlanneryDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE864 - goto_if_unset FLAG_RECEIVED_TM50, LavaridgeTown_Gym_1F_EventScript_1FE81D - msgbox LavaridgeTown_Gym_1F_Text_1FF546, MSGBOX_DEFAULT + goto_if_eq LavaridgeTown_Gym_1F_EventScript_FlanneryRematch + goto_if_unset FLAG_RECEIVED_TM50, LavaridgeTown_Gym_1F_EventScript_GiveOverheat2 + msgbox LavaridgeTown_Gym_1F_Text_FlanneryPostBattle, MSGBOX_DEFAULT release end -LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1 - message LavaridgeTown_Gym_1F_Text_1FF32F +LavaridgeTown_Gym_1F_EventScript_FlanneryDefeated:: @ 81FE7C1 + message LavaridgeTown_Gym_1F_Text_ReceivedHeatBadge waitmessage call Common_EventScript_PlayGymBadgeFanfare - msgbox LavaridgeTown_Gym_1F_Text_1FF359, MSGBOX_DEFAULT - setflag FLAG_FLANNERY_GIVES_BADGE_INFO + msgbox LavaridgeTown_Gym_1F_Text_ExplainHeatBadgeTakeThis, MSGBOX_DEFAULT + setflag FLAG_WHITEOUT_TO_LAVARIDGE setflag FLAG_DEFEATED_LAVARIDGE_GYM setflag FLAG_BADGE04_GET addvar VAR_PETALBURG_GYM_STATE, 1 compare VAR_PETALBURG_GYM_STATE, 6 - call_if_eq LavaridgeTown_Gym_1F_EventScript_271E84 + call_if_eq Common_EventScript_ReadyPetalburgGymForBattle setvar VAR_0x8008, 4 - call LavaridgeTown_Gym_1F_EventScript_271F43 + call Common_EventScript_SetGymTrainers setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY setvar VAR_LAVARIDGE_TOWN_STATE, 1 - call LavaridgeTown_Gym_1F_EventScript_1FE841 + call LavaridgeTown_Gym_1F_EventScript_GiveOverheat closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox LavaridgeTown_Gym_1F_Text_1FF517, MSGBOX_DEFAULT + msgbox LavaridgeTown_Gym_1F_Text_RegisteredFlannery, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -95,113 +80,112 @@ LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1 release end -LavaridgeTown_Gym_1F_EventScript_1FE81D:: @ 81FE81D - giveitem_std ITEM_TM50 +LavaridgeTown_Gym_1F_EventScript_GiveOverheat2:: @ 81FE81D + giveitem ITEM_TM50 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull - msgbox LavaridgeTown_Gym_1F_Text_1FF45C, MSGBOX_DEFAULT + msgbox LavaridgeTown_Gym_1F_Text_ExplainOverheat, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM50 release end -LavaridgeTown_Gym_1F_EventScript_1FE841:: @ 81FE841 - giveitem_std ITEM_TM50 +LavaridgeTown_Gym_1F_EventScript_GiveOverheat:: @ 81FE841 + giveitem ITEM_TM50 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_BagIsFull - msgbox LavaridgeTown_Gym_1F_Text_1FF45C, MSGBOX_DEFAULT + msgbox LavaridgeTown_Gym_1F_Text_ExplainOverheat, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM50 return -LavaridgeTown_Gym_1F_EventScript_1FE864:: @ 81FE864 - trainerbattle_rematch_double TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_1FF601, LavaridgeTown_Gym_1F_Text_1FF69F, LavaridgeTown_Gym_1F_Text_1FF75E - msgbox LavaridgeTown_Gym_1F_Text_1FF6BF, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_1F_EventScript_FlanneryRematch:: @ 81FE864 + trainerbattle_rematch_double TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_FlanneryPreRematch, LavaridgeTown_Gym_1F_Text_FlanneryRematchDefeat, LavaridgeTown_Gym_1F_Text_FlanneryRematchNeedTwoMons + msgbox LavaridgeTown_Gym_1F_Text_FlanneryPostRematch, MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_1F_EventScript_1FE87F:: @ 81FE87F - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_COLE, 2, LavaridgeTown_Gym_1F_Text_1FEADE, LavaridgeTown_Gym_1F_Text_1FEAFB, LavaridgeTown_Gym_1F_EventScript_1FE89A - msgbox LavaridgeTown_Gym_1F_Text_1FEB1C, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_1F_EventScript_Cole:: @ 81FE87F + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_COLE, 2, LavaridgeTown_Gym_1F_Text_ColeIntro, LavaridgeTown_Gym_1F_Text_ColeDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript + msgbox LavaridgeTown_Gym_1F_Text_ColePostBattle MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_1F_EventScript_1FE89A:: @ 81FE89A -LavaridgeTown_Gym_B1F_EventScript_1FE89A:: @ 81FE89A - call LavaridgeTown_Gym_1F_EventScript_1FE705 +LavaridgeTown_Gym_EventScript_CheckTrainerScript:: @ 81FE89A + call LavaridgeTown_Gym_1F_EventScript_SetTrainerTempVars release special ShouldTryGetTrainerScript compare VAR_RESULT, 1 goto_if_eq EventScript_GotoTrainerScript end -LavaridgeTown_Gym_1F_EventScript_1FE8AF:: @ 81FE8AF - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_AXLE, 4, LavaridgeTown_Gym_1F_Text_1FEB7B, LavaridgeTown_Gym_1F_Text_1FEBC0, LavaridgeTown_Gym_1F_EventScript_1FE89A - msgbox LavaridgeTown_Gym_1F_Text_1FEBE1, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_1F_EventScript_Axle:: @ 81FE8AF + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_AXLE, 4, LavaridgeTown_Gym_1F_Text_AxleIntro, LavaridgeTown_Gym_1F_Text_AxleDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript + msgbox LavaridgeTown_Gym_1F_Text_AxlePostBattle, MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_B1F_EventScript_1FE8CA:: @ 81FE8CA - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_KEEGAN, 2, LavaridgeTown_Gym_B1F_Text_1FEC31, LavaridgeTown_Gym_B1F_Text_1FECE3, LavaridgeTown_Gym_B1F_EventScript_1FE89A - msgbox LavaridgeTown_Gym_B1F_Text_1FED02, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_B1F_EventScript_Keegan:: @ 81FE8CA + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_KEEGAN, 2, LavaridgeTown_Gym_B1F_Text_KeeganIntro, LavaridgeTown_Gym_B1F_Text_KeeganDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript + msgbox LavaridgeTown_Gym_B1F_Text_KeeganPostBattle, MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_1F_EventScript_1FE8E5:: @ 81FE8E5 - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_DANIELLE, 5, LavaridgeTown_Gym_1F_Text_1FEE22, LavaridgeTown_Gym_1F_Text_1FEE42, LavaridgeTown_Gym_1F_EventScript_1FE89A - msgbox LavaridgeTown_Gym_1F_Text_1FEE5D, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_1F_EventScript_Danielle:: @ 81FE8E5 + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_DANIELLE, 5, LavaridgeTown_Gym_1F_Text_DanielleIntro, LavaridgeTown_Gym_1F_Text_DanielleDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript + msgbox LavaridgeTown_Gym_1F_Text_DaniellePostBattle, MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_1F_EventScript_1FE900:: @ 81FE900 - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_GERALD, 3, LavaridgeTown_Gym_1F_Text_1FED72, LavaridgeTown_Gym_1F_Text_1FED9E, LavaridgeTown_Gym_1F_EventScript_1FE89A - msgbox LavaridgeTown_Gym_1F_Text_1FEDBB, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_1F_EventScript_Gerald:: @ 81FE900 + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_GERALD, 3, LavaridgeTown_Gym_1F_Text_GeraldIntro, LavaridgeTown_Gym_1F_Text_GeraldDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript + msgbox LavaridgeTown_Gym_1F_Text_GeraldPostBattle, MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_B1F_EventScript_1FE91B:: @ 81FE91B - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_JACE, 1, LavaridgeTown_Gym_B1F_Text_1FEE9D, LavaridgeTown_Gym_B1F_Text_1FEED5, LavaridgeTown_Gym_B1F_EventScript_1FE89A - msgbox LavaridgeTown_Gym_B1F_Text_1FEF07, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_B1F_EventScript_Jace:: @ 81FE91B + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_JACE, 1, LavaridgeTown_Gym_B1F_Text_JaceIntro, LavaridgeTown_Gym_B1F_Text_JaceDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript + msgbox LavaridgeTown_Gym_B1F_Text_JacePostBattle, MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_B1F_EventScript_1FE936:: @ 81FE936 - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_JEFF, 3, LavaridgeTown_Gym_B1F_Text_1FEF60, LavaridgeTown_Gym_B1F_Text_1FEFA7, LavaridgeTown_Gym_B1F_EventScript_1FE89A - msgbox LavaridgeTown_Gym_B1F_Text_1FEFC2, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_B1F_EventScript_Jeff:: @ 81FE936 + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_JEFF, 3, LavaridgeTown_Gym_B1F_Text_JeffIntro, LavaridgeTown_Gym_B1F_Text_JeffDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript + msgbox LavaridgeTown_Gym_B1F_Text_JeffPostBattle, MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_B1F_EventScript_1FE951:: @ 81FE951 - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_ELI, 4, LavaridgeTown_Gym_B1F_Text_1FF025, LavaridgeTown_Gym_B1F_Text_1FF05F, LavaridgeTown_Gym_B1F_EventScript_1FE89A - msgbox LavaridgeTown_Gym_B1F_Text_1FF09A, MSGBOX_AUTOCLOSE +LavaridgeTown_Gym_B1F_EventScript_Eli:: @ 81FE951 + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_ELI, 4, LavaridgeTown_Gym_B1F_Text_EliIntro, LavaridgeTown_Gym_B1F_Text_EliDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript + msgbox LavaridgeTown_Gym_B1F_Text_EliPostBattle, MSGBOX_AUTOCLOSE end -LavaridgeTown_Gym_1F_EventScript_1FE96C:: @ 81FE96C +LavaridgeTown_Gym_1F_EventScript_GymGuide:: @ 81FE96C lock faceplayer - goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, LavaridgeTown_Gym_1F_EventScript_1FE981 - msgbox LavaridgeTown_Gym_1F_Text_1FE9BF, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, LavaridgeTown_Gym_1F_EventScript_GymGuidePostVictory + msgbox LavaridgeTown_Gym_1F_Text_GymGuideAdvice, MSGBOX_DEFAULT release end -LavaridgeTown_Gym_1F_EventScript_1FE981:: @ 81FE981 - msgbox LavaridgeTown_Gym_1F_Text_1FEAB8, MSGBOX_DEFAULT +LavaridgeTown_Gym_1F_EventScript_GymGuidePostVictory:: @ 81FE981 + msgbox LavaridgeTown_Gym_1F_Text_GymGuidePostVictory, MSGBOX_DEFAULT release end -LavaridgeTown_Gym_1F_EventScript_1FE98B:: @ 81FE98B +LavaridgeTown_Gym_1F_EventScript_LeftGymStatue:: @ 81FE98B lockall - goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_1FE9AB - goto LavaridgeTown_Gym_1F_EventScript_1FE9B5 + goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_GymStatueCertified + goto LavaridgeTown_Gym_1F_EventScript_GymStatue end -LavaridgeTown_Gym_1F_EventScript_1FE99B:: @ 81FE99B +LavaridgeTown_Gym_1F_EventScript_RightGymStatue:: @ 81FE99B lockall - goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_1FE9AB - goto LavaridgeTown_Gym_1F_EventScript_1FE9B5 + goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_GymStatueCertified + goto LavaridgeTown_Gym_1F_EventScript_GymStatue end -LavaridgeTown_Gym_1F_EventScript_1FE9AB:: @ 81FE9AB - msgbox LavaridgeTown_Gym_1F_Text_1FF5C4, MSGBOX_DEFAULT +LavaridgeTown_Gym_1F_EventScript_GymStatueCertified:: @ 81FE9AB + msgbox LavaridgeTown_Gym_1F_Text_GymStatueCertified, MSGBOX_DEFAULT releaseall end -LavaridgeTown_Gym_1F_EventScript_1FE9B5:: @ 81FE9B5 - msgbox LavaridgeTown_Gym_1F_Text_1FF5A9, MSGBOX_DEFAULT +LavaridgeTown_Gym_1F_EventScript_GymStatue:: @ 81FE9B5 + msgbox LavaridgeTown_Gym_1F_Text_GymStatue, MSGBOX_DEFAULT releaseall end -LavaridgeTown_Gym_1F_Text_1FE9BF: @ 81FE9BF +LavaridgeTown_Gym_1F_Text_GymGuideAdvice: @ 81FE9BF .string "Hey, how's it going, CHAMPION-\n" .string "bound {PLAYER}?\p" .string "LAVARIDGE's GYM LEADER FLANNERY\n" @@ -212,35 +196,35 @@ LavaridgeTown_Gym_1F_Text_1FE9BF: @ 81FE9BF .string "Hose her down with water and then\l" .string "go for it!$" -LavaridgeTown_Gym_1F_Text_1FEAB8: @ 81FEAB8 +LavaridgeTown_Gym_1F_Text_GymGuidePostVictory: @ 81FEAB8 .string "Yow! That was a scorching-hot battle!$" -LavaridgeTown_Gym_1F_Text_1FEADE: @ 81FEADE +LavaridgeTown_Gym_1F_Text_ColeIntro: @ 81FEADE .string "Owowowowow!\n" .string "Yikes, it's hot!$" -LavaridgeTown_Gym_1F_Text_1FEAFB: @ 81FEAFB +LavaridgeTown_Gym_1F_Text_ColeDefeat: @ 81FEAFB .string "I'm blinded by sweat in my eyes…$" -LavaridgeTown_Gym_1F_Text_1FEB1C: @ 81FEB1C +LavaridgeTown_Gym_1F_Text_ColePostBattle: @ 81FEB1C .string "Being buried in hot sand promotes\n" .string "circulation.\p" .string "It's effective for healing pain in\n" .string "your joints.$" -LavaridgeTown_Gym_1F_Text_1FEB7B: @ 81FEB7B +LavaridgeTown_Gym_1F_Text_AxleIntro: @ 81FEB7B .string "I'm trying to relieve my stress.\n" .string "Don't come along and stress me out!$" -LavaridgeTown_Gym_1F_Text_1FEBC0: @ 81FEBC0 +LavaridgeTown_Gym_1F_Text_AxleDefeat: @ 81FEBC0 .string "I hope FLANNERY flames you good!$" -LavaridgeTown_Gym_1F_Text_1FEBE1: @ 81FEBE1 +LavaridgeTown_Gym_1F_Text_AxlePostBattle: @ 81FEBE1 .string "Haaah… Whew…\p" .string "If you spend too much time buried in\n" .string "hot sand, it tuckers you out…$" -LavaridgeTown_Gym_B1F_Text_1FEC31: @ 81FEC31 +LavaridgeTown_Gym_B1F_Text_KeeganIntro: @ 81FEC31 .string "You must be getting tired by now.\n" .string "You'd like to rest in the hot sand,\l" .string "wouldn't you?\p" @@ -248,78 +232,78 @@ LavaridgeTown_Gym_B1F_Text_1FEC31: @ 81FEC31 .string "your willpower is an important ability\l" .string "for all TRAINERS.$" -LavaridgeTown_Gym_B1F_Text_1FECE3: @ 81FECE3 +LavaridgeTown_Gym_B1F_Text_KeeganDefeat: @ 81FECE3 .string "Play with fire, and be burned…$" -LavaridgeTown_Gym_B1F_Text_1FED02: @ 81FED02 +LavaridgeTown_Gym_B1F_Text_KeeganPostBattle: @ 81FED02 .string "Your skill is real…\n" .string "But our LEADER FLANNERY is strong.\p" .string "If you don't watch yourself, you'll be\n" .string "burned seriously.$" -LavaridgeTown_Gym_1F_Text_1FED72: @ 81FED72 +LavaridgeTown_Gym_1F_Text_GeraldIntro: @ 81FED72 .string "Can your POKéMON withstand\n" .string "392-degree heat?$" -LavaridgeTown_Gym_1F_Text_1FED9E: @ 81FED9E +LavaridgeTown_Gym_1F_Text_GeraldDefeat: @ 81FED9E .string "It didn't burn hotly enough…$" -LavaridgeTown_Gym_1F_Text_1FEDBB: @ 81FEDBB +LavaridgeTown_Gym_1F_Text_GeraldPostBattle: @ 81FEDBB .string "The temperature of magma is\n" .string "392 degrees.\p" .string "Your POKéMON beat me, so they should\n" .string "easily survive in magma.$" -LavaridgeTown_Gym_1F_Text_1FEE22: @ 81FEE22 +LavaridgeTown_Gym_1F_Text_DanielleIntro: @ 81FEE22 .string "Um…\n" .string "Okay, I'll battle with you.$" -LavaridgeTown_Gym_1F_Text_1FEE42: @ 81FEE42 +LavaridgeTown_Gym_1F_Text_DanielleDefeat: @ 81FEE42 .string "Oh, but you're too strong.$" -LavaridgeTown_Gym_1F_Text_1FEE5D: @ 81FEE5D +LavaridgeTown_Gym_1F_Text_DaniellePostBattle: @ 81FEE5D .string "I'm going to be a pretty and strong\n" .string "TRAINER just like FLANNERY.$" -LavaridgeTown_Gym_B1F_Text_1FEE9D: @ 81FEE9D +LavaridgeTown_Gym_B1F_Text_JaceIntro: @ 81FEE9D .string "Come on, get with it!\n" .string "Let's go before my feelings cool!$" -LavaridgeTown_Gym_B1F_Text_1FEED5: @ 81FEED5 +LavaridgeTown_Gym_B1F_Text_JaceDefeat: @ 81FEED5 .string "It's so hot, and yet my heart is\n" .string "clutched by ice…$" -LavaridgeTown_Gym_B1F_Text_1FEF07: @ 81FEF07 +LavaridgeTown_Gym_B1F_Text_JacePostBattle: @ 81FEF07 .string "The way the battling spirit burns\n" .string "within you, you may stand a chance\l" .string "against our LEADER.$" -LavaridgeTown_Gym_B1F_Text_1FEF60: @ 81FEF60 +LavaridgeTown_Gym_B1F_Text_JeffIntro: @ 81FEF60 .string "See how the flames blaze wildly?\n" .string "They flare in anticipation of my win!$" -LavaridgeTown_Gym_B1F_Text_1FEFA7: @ 81FEFA7 +LavaridgeTown_Gym_B1F_Text_JeffDefeat: @ 81FEFA7 .string "Something didn't go right.$" -LavaridgeTown_Gym_B1F_Text_1FEFC2: @ 81FEFC2 +LavaridgeTown_Gym_B1F_Text_JeffPostBattle: @ 81FEFC2 .string "Well, so what? I say so what?\n" .string "I can walk on hot coals barefoot!\p" .string "…Don't even think about trying it!$" -LavaridgeTown_Gym_B1F_Text_1FF025: @ 81FF025 +LavaridgeTown_Gym_B1F_Text_EliIntro: @ 81FF025 .string "As much as I love mountains,\n" .string "I especially love volcanoes.$" -LavaridgeTown_Gym_B1F_Text_1FF05F: @ 81FF05F +LavaridgeTown_Gym_B1F_Text_EliDefeat: @ 81FF05F .string "Well, it seems to me I lost without\n" .string "ever being in control.$" -LavaridgeTown_Gym_B1F_Text_1FF09A: @ 81FF09A +LavaridgeTown_Gym_B1F_Text_EliPostBattle: @ 81FF09A .string "I stay here because I became a fan\n" .string "of FLANNERY's power.\p" .string "Hehehehe.$" -LavaridgeTown_Gym_1F_Text_1FF0DC: @ 81FF0DC +LavaridgeTown_Gym_1F_Text_FlanneryIntro: @ 81FF0DC .string "Welcome… No, wait.\p" .string "Puny TRAINER, how good to see you've\n" .string "made it here!\p" @@ -334,7 +318,7 @@ LavaridgeTown_Gym_1F_Text_1FF0DC: @ 81FF0DC .string "father, I shall, uh…demonstrate the\l" .string "hot moves we have honed on this land!$" -LavaridgeTown_Gym_1F_Text_1FF233: @ 81FF233 +LavaridgeTown_Gym_1F_Text_FlanneryDefeat: @ 81FF233 .string "Oh…\n" .string "I guess I was trying too hard…\p" .string "I… I've only recently become\n" @@ -346,11 +330,11 @@ LavaridgeTown_Gym_1F_Text_1FF233: @ 81FF233 .string "Thanks for teaching me that.\n" .string "For that, you deserve this.$" -LavaridgeTown_Gym_1F_Text_1FF32F: @ 81FF32F +LavaridgeTown_Gym_1F_Text_ReceivedHeatBadge: @ 81FF32F .string "{PLAYER} received the HEAT BADGE\n" .string "from FLANNERY.$" -LavaridgeTown_Gym_1F_Text_1FF359: @ 81FF359 +LavaridgeTown_Gym_1F_Text_ExplainHeatBadgeTakeThis: @ 81FF359 .string "If you have a HEAT BADGE, all POKéMON\n" .string "up to Level 50, even those you get in\l" .string "trades from other people, will obey\l" @@ -360,7 +344,7 @@ LavaridgeTown_Gym_1F_Text_1FF359: @ 81FF359 .string "This is a token of my appreciation.\n" .string "Don't be shy about taking it!$" -LavaridgeTown_Gym_1F_Text_1FF45C: @ 81FF45C +LavaridgeTown_Gym_1F_Text_ExplainOverheat: @ 81FF45C .string "That TM50 contains OVERHEAT.\p" .string "That move inflicts serious damage on\n" .string "the opponent.\p" @@ -368,24 +352,24 @@ LavaridgeTown_Gym_1F_Text_1FF45C: @ 81FF45C .string "of the POKéMON using it. It might not\l" .string "be suitable for longer battles.$" -LavaridgeTown_Gym_1F_Text_1FF517: @ 81FF517 +LavaridgeTown_Gym_1F_Text_RegisteredFlannery: @ 81FF517 .string "Registered GYM LEADER FLANNERY\n" .string "in the POKéNAV.$" -LavaridgeTown_Gym_1F_Text_1FF546: @ 81FF546 +LavaridgeTown_Gym_1F_Text_FlanneryPostBattle: @ 81FF546 .string "Your power reminds me of someone…\p" .string "Oh! I know! You battle like NORMAN,\n" .string "the GYM LEADER of PETALBURG.$" -LavaridgeTown_Gym_1F_Text_1FF5A9: @ 81FF5A9 +LavaridgeTown_Gym_1F_Text_GymStatue: @ 81FF5A9 .string "LAVARIDGE TOWN POKéMON GYM$" -LavaridgeTown_Gym_1F_Text_1FF5C4: @ 81FF5C4 +LavaridgeTown_Gym_1F_Text_GymStatueCertified: @ 81FF5C4 .string "LAVARIDGE TOWN POKéMON GYM\p" .string "FLANNERY'S CERTIFIED TRAINERS:\n" .string "{PLAYER}$" -LavaridgeTown_Gym_1F_Text_1FF601: @ 81FF601 +LavaridgeTown_Gym_1F_Text_FlanneryPreRematch: @ 81FF601 .string "FLANNERY: Losing a battle isn't going\n" .string "to deflate me.\p" .string "I love POKéMON.\n" @@ -394,11 +378,11 @@ LavaridgeTown_Gym_1F_Text_1FF601: @ 81FF601 .string "Let's exchange superhot moves\n" .string "in another battle!$" -LavaridgeTown_Gym_1F_Text_1FF69F: @ 81FF69F +LavaridgeTown_Gym_1F_Text_FlanneryRematchDefeat: @ 81FF69F .string "Whew!\n" .string "On the verge of eruption!$" -LavaridgeTown_Gym_1F_Text_1FF6BF: @ 81FF6BF +LavaridgeTown_Gym_1F_Text_FlanneryPostRematch: @ 81FF6BF .string "FLANNERY: I lost the match,\n" .string "but I'm completely satisfied.\p" .string "It's not often I get to enjoy a battle\n" @@ -406,7 +390,7 @@ LavaridgeTown_Gym_1F_Text_1FF6BF: @ 81FF6BF .string "Let's have another one like this\n" .string "again sometime!$" -LavaridgeTown_Gym_1F_Text_1FF75E: @ 81FF75E +LavaridgeTown_Gym_1F_Text_FlanneryRematchNeedTwoMons: @ 81FF75E .string "FLANNERY: Losing a battle isn't going\n" .string "to deflate me.\p" .string "I love POKéMON.\n" diff --git a/data/maps/LavaridgeTown_Gym_B1F/map.json b/data/maps/LavaridgeTown_Gym_B1F/map.json index 9679beb485..e8ba3e9582 100644 --- a/data/maps/LavaridgeTown_Gym_B1F/map.json +++ b/data/maps/LavaridgeTown_Gym_B1F/map.json @@ -5,7 +5,7 @@ "music": "MUS_GIM", "region_map_section": "MAPSEC_LAVARIDGE_TOWN", "requires_flash": false, - "weather": "WEATHER_FOG_1", + "weather": "WEATHER_FOG_HORIZONTAL", "map_type": "MAP_TYPE_INDOOR", "allow_bike": false, "allow_escape_rope": false, @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "LavaridgeTown_Gym_B1F_EventScript_1FE91B", + "script": "LavaridgeTown_Gym_B1F_EventScript_Jace", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "LavaridgeTown_Gym_B1F_EventScript_1FE8CA", + "script": "LavaridgeTown_Gym_B1F_EventScript_Keegan", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "LavaridgeTown_Gym_B1F_EventScript_1FE936", + "script": "LavaridgeTown_Gym_B1F_EventScript_Jeff", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "LavaridgeTown_Gym_B1F_EventScript_1FE951", + "script": "LavaridgeTown_Gym_B1F_EventScript_Eli", "flag": "0" } ], diff --git a/data/maps/LavaridgeTown_Gym_B1F/scripts.inc b/data/maps/LavaridgeTown_Gym_B1F/scripts.inc index 4f3bb062da..3a8f71fadf 100644 --- a/data/maps/LavaridgeTown_Gym_B1F/scripts.inc +++ b/data/maps/LavaridgeTown_Gym_B1F/scripts.inc @@ -3,57 +3,42 @@ LavaridgeTown_Gym_B1F_MapScripts:: @ 81FF87E .byte 0 LavaridgeTown_Gym_B1F_OnTransition: @ 81FF884 - call LavaridgeTown_Gym_B1F_EventScript_1FF88F - call LavaridgeTown_Gym_B1F_EventScript_1FF8DC + call LavaridgeTown_Gym_B1F_EventScript_SetTrainerTempVars + call LavaridgeTown_Gym_B1F_EventScript_CheckHideTrainers end -LavaridgeTown_Gym_B1F_EventScript_1FF88F:: @ 81FF88F +@ Unclear where/if these temp vars are getting checked +LavaridgeTown_Gym_B1F_EventScript_SetTrainerTempVars:: @ 81FF88F setvar VAR_TEMP_7, 0 setvar VAR_TEMP_8, 0 setvar VAR_TEMP_9, 0 setvar VAR_TEMP_A, 0 - checktrainerflag TRAINER_KEEGAN - goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8B1 + goto_if_defeated TRAINER_KEEGAN, LavaridgeTown_Gym_B1F_EventScript_SetJaceTempVar setvar VAR_TEMP_7, 1 - -LavaridgeTown_Gym_B1F_EventScript_1FF8B1:: @ 81FF8B1 - checktrainerflag TRAINER_JACE - goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8BF +LavaridgeTown_Gym_B1F_EventScript_SetJaceTempVar:: @ 81FF8B1 + goto_if_defeated TRAINER_JACE, LavaridgeTown_Gym_B1F_EventScript_SetJeffTempVar setvar VAR_TEMP_8, 1 - -LavaridgeTown_Gym_B1F_EventScript_1FF8BF:: @ 81FF8BF - checktrainerflag TRAINER_JEFF - goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8CD +LavaridgeTown_Gym_B1F_EventScript_SetJeffTempVar:: @ 81FF8BF + goto_if_defeated TRAINER_JEFF, LavaridgeTown_Gym_B1F_EventScript_SetEliTempVar setvar VAR_TEMP_9, 1 - -LavaridgeTown_Gym_B1F_EventScript_1FF8CD:: @ 81FF8CD - checktrainerflag TRAINER_ELI - goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8DB +LavaridgeTown_Gym_B1F_EventScript_SetEliTempVar:: @ 81FF8CD + goto_if_defeated TRAINER_ELI, LavaridgeTown_Gym_B1F_EventScript_EndSetTrainerTempVars setvar VAR_TEMP_A, 1 - -LavaridgeTown_Gym_B1F_EventScript_1FF8DB:: @ 81FF8DB +LavaridgeTown_Gym_B1F_EventScript_EndSetTrainerTempVars:: @ 81FF8DB return -LavaridgeTown_Gym_B1F_EventScript_1FF8DC:: @ 81FF8DC - checktrainerflag TRAINER_KEEGAN - goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8E9 +LavaridgeTown_Gym_B1F_EventScript_CheckHideTrainers:: @ 81FF8DC + goto_if_defeated TRAINER_KEEGAN, LavaridgeTown_Gym_B1F_EventScript_CheckHideJace setobjectmovementtype 2, MOVEMENT_TYPE_HIDDEN - -LavaridgeTown_Gym_B1F_EventScript_1FF8E9:: @ 81FF8E9 - checktrainerflag TRAINER_JACE - goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8F6 +LavaridgeTown_Gym_B1F_EventScript_CheckHideJace:: @ 81FF8E9 + goto_if_defeated TRAINER_JACE, LavaridgeTown_Gym_B1F_EventScript_CheckHideJeff setobjectmovementtype 1, MOVEMENT_TYPE_HIDDEN - -LavaridgeTown_Gym_B1F_EventScript_1FF8F6:: @ 81FF8F6 - checktrainerflag TRAINER_JEFF - goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF903 +LavaridgeTown_Gym_B1F_EventScript_CheckHideJeff:: @ 81FF8F6 + goto_if_defeated TRAINER_JEFF, LavaridgeTown_Gym_B1F_EventScript_CheckHideEli setobjectmovementtype 3, MOVEMENT_TYPE_HIDDEN - -LavaridgeTown_Gym_B1F_EventScript_1FF903:: @ 81FF903 - checktrainerflag TRAINER_ELI - goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF910 +LavaridgeTown_Gym_B1F_EventScript_CheckHideEli:: @ 81FF903 + goto_if_defeated TRAINER_ELI, LavaridgeTown_Gym_B1F_EventScript_EndCheckHideTrainers setobjectmovementtype 4, MOVEMENT_TYPE_HIDDEN - -LavaridgeTown_Gym_B1F_EventScript_1FF910:: @ 81FF910 +LavaridgeTown_Gym_B1F_EventScript_EndCheckHideTrainers:: @ 81FF910 return diff --git a/data/maps/LavaridgeTown_HerbShop/map.json b/data/maps/LavaridgeTown_HerbShop/map.json index 203812fb27..1e7048b3f7 100644 --- a/data/maps/LavaridgeTown_HerbShop/map.json +++ b/data/maps/LavaridgeTown_HerbShop/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_HerbShop_EventScript_1FE4D7", + "script": "LavaridgeTown_HerbShop_EventScript_Clerk", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_HerbShop_EventScript_1FE505", + "script": "LavaridgeTown_HerbShop_EventScript_OldMan", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_HerbShop_EventScript_1FE4FC", + "script": "LavaridgeTown_HerbShop_EventScript_ExpertM", "flag": "0" } ], diff --git a/data/maps/LavaridgeTown_HerbShop/scripts.inc b/data/maps/LavaridgeTown_HerbShop/scripts.inc index f6ad8e26bc..5f320a9423 100644 --- a/data/maps/LavaridgeTown_HerbShop/scripts.inc +++ b/data/maps/LavaridgeTown_HerbShop/scripts.inc @@ -1,18 +1,18 @@ LavaridgeTown_HerbShop_MapScripts:: @ 81FE4D6 .byte 0 -LavaridgeTown_HerbShop_EventScript_1FE4D7:: @ 81FE4D7 +LavaridgeTown_HerbShop_EventScript_Clerk:: @ 81FE4D7 lock faceplayer - message LavaridgeTown_HerbShop_Text_1FE53E + message LavaridgeTown_HerbShop_Text_WelcomeToHerbShop waitmessage - pokemart LavaridgeTown_HerbShop_Pokemart_1FE4F0 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart LavaridgeTown_HerbShop_Pokemart + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -LavaridgeTown_HerbShop_Pokemart_1FE4F0: @ 81FE4F0 +LavaridgeTown_HerbShop_Pokemart: @ 81FE4F0 .2byte ITEM_ENERGY_POWDER .2byte ITEM_ENERGY_ROOT .2byte ITEM_HEAL_POWDER @@ -21,38 +21,38 @@ LavaridgeTown_HerbShop_Pokemart_1FE4F0: @ 81FE4F0 release end -LavaridgeTown_HerbShop_EventScript_1FE4FC:: @ 81FE4FC - msgbox LavaridgeTown_HerbShop_Text_1FE685, MSGBOX_NPC +LavaridgeTown_HerbShop_EventScript_ExpertM:: @ 81FE4FC + msgbox LavaridgeTown_HerbShop_Text_HerbalMedicineWorksButMonWillDislike, MSGBOX_NPC end -LavaridgeTown_HerbShop_EventScript_1FE505:: @ 81FE505 +LavaridgeTown_HerbShop_EventScript_OldMan:: @ 81FE505 lock faceplayer - goto_if_set FLFLAG_RECEIVED_CHARCOAL, LavaridgeTown_HerbShop_EventScript_1FE534 - msgbox LavaridgeTown_HerbShop_Text_1FE584, MSGBOX_DEFAULT - giveitem_std ITEM_CHARCOAL + goto_if_set FLFLAG_RECEIVED_CHARCOAL, LavaridgeTown_HerbShop_EventScript_ExplainCharcoal + msgbox LavaridgeTown_HerbShop_Text_YouveComeToLookAtHerbalMedicine, MSGBOX_DEFAULT + giveitem ITEM_CHARCOAL compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull setflag FLFLAG_RECEIVED_CHARCOAL release end -LavaridgeTown_HerbShop_EventScript_1FE534:: @ 81FE534 - msgbox LavaridgeTown_HerbShop_Text_1FE5EB, MSGBOX_DEFAULT +LavaridgeTown_HerbShop_EventScript_ExplainCharcoal:: @ 81FE534 + msgbox LavaridgeTown_HerbShop_Text_ExplainCharcoal, MSGBOX_DEFAULT release end -LavaridgeTown_HerbShop_Text_1FE53E: @ 81FE53E +LavaridgeTown_HerbShop_Text_WelcomeToHerbShop: @ 81FE53E .string "Welcome to the HERB SHOP, home of\n" .string "effective and inexpensive medicine!$" -LavaridgeTown_HerbShop_Text_1FE584: @ 81FE584 +LavaridgeTown_HerbShop_Text_YouveComeToLookAtHerbalMedicine: @ 81FE584 .string "You've come to look at herbal medicine\n" .string "in LAVARIDGE?\p" .string "That's rather commendable.\p" .string "I like you! Take this!$" -LavaridgeTown_HerbShop_Text_1FE5EB: @ 81FE5EB +LavaridgeTown_HerbShop_Text_ExplainCharcoal: @ 81FE5EB .string "That CHARCOAL I gave you, it's used\n" .string "for making herbal medicine.\p" .string "It also does wonders when held by\n" @@ -60,7 +60,7 @@ LavaridgeTown_HerbShop_Text_1FE5EB: @ 81FE5EB .string "It intensifies the power of FIRE-type\n" .string "moves.$" -LavaridgeTown_HerbShop_Text_1FE685: @ 81FE685 +LavaridgeTown_HerbShop_Text_HerbalMedicineWorksButMonWillDislike: @ 81FE685 .string "Herbal medicine works impressively well.\n" .string "But your POKéMON will dislike you for it.\l" .string "It must be horribly bitter!$" diff --git a/data/maps/LavaridgeTown_House/map.json b/data/maps/LavaridgeTown_House/map.json index a0cd74f59e..77ebb268e9 100644 --- a/data/maps/LavaridgeTown_House/map.json +++ b/data/maps/LavaridgeTown_House/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_House_EventScript_1FF912", + "script": "LavaridgeTown_House_EventScript_OldMan", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_House_EventScript_1FF91B", + "script": "LavaridgeTown_House_EventScript_Zigzagoon", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_House_EventScript_2C804E", + "script": "LavaridgeTown_House_EventScript_MimicTutor", "flag": "0" } ], diff --git a/data/maps/LavaridgeTown_House/scripts.inc b/data/maps/LavaridgeTown_House/scripts.inc index 2dc6bc76e3..6db5f9ee52 100644 --- a/data/maps/LavaridgeTown_House/scripts.inc +++ b/data/maps/LavaridgeTown_House/scripts.inc @@ -1,26 +1,26 @@ LavaridgeTown_House_MapScripts:: @ 81FF911 .byte 0 -LavaridgeTown_House_EventScript_1FF912:: @ 81FF912 - msgbox LavaridgeTown_House_Text_1FF92E, MSGBOX_NPC +LavaridgeTown_House_EventScript_OldMan:: @ 81FF912 + msgbox LavaridgeTown_House_Text_WifeWarmingEggInHotSprings, MSGBOX_NPC end -LavaridgeTown_House_EventScript_1FF91B:: @ 81FF91B +LavaridgeTown_House_EventScript_Zigzagoon:: @ 81FF91B lock faceplayer waitse playmoncry SPECIES_ZIGZAGOON, 0 - msgbox LavaridgeTown_House_Text_1FF9BB, MSGBOX_DEFAULT + msgbox LavaridgeTown_House_Text_Zigzagoon, MSGBOX_DEFAULT waitmoncry release end -LavaridgeTown_House_Text_1FF92E: @ 81FF92E +LavaridgeTown_House_Text_WifeWarmingEggInHotSprings: @ 81FF92E .string "My wife's warming an EGG in the hot\n" .string "springs. This is what she told me.\p" .string "She left two POKéMON with the DAY CARE.\n" .string "And they discovered that EGG!$" -LavaridgeTown_House_Text_1FF9BB: @ 81FF9BB +LavaridgeTown_House_Text_Zigzagoon: @ 81FF9BB .string "ZIGZAGOON: Pshoo!$" diff --git a/data/maps/LavaridgeTown_Mart/map.json b/data/maps/LavaridgeTown_Mart/map.json index 2f8d1278f2..d55b562dbf 100644 --- a/data/maps/LavaridgeTown_Mart/map.json +++ b/data/maps/LavaridgeTown_Mart/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_Mart_EventScript_1FF9CE", + "script": "LavaridgeTown_Mart_EventScript_Clerk", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_Mart_EventScript_1FF9FE", + "script": "LavaridgeTown_Mart_EventScript_ExpertM", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_Mart_EventScript_1FFA07", + "script": "LavaridgeTown_Mart_EventScript_OldWoman", "flag": "0" } ], diff --git a/data/maps/LavaridgeTown_Mart/scripts.inc b/data/maps/LavaridgeTown_Mart/scripts.inc index ff9772b1d4..b5b3cb6f13 100644 --- a/data/maps/LavaridgeTown_Mart/scripts.inc +++ b/data/maps/LavaridgeTown_Mart/scripts.inc @@ -1,18 +1,18 @@ LavaridgeTown_Mart_MapScripts:: @ 81FF9CD .byte 0 -LavaridgeTown_Mart_EventScript_1FF9CE:: @ 81FF9CE +LavaridgeTown_Mart_EventScript_Clerk:: @ 81FF9CE lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart LavaridgeTown_Mart_Pokemart_1FF9E8 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart LavaridgeTown_Mart_Pokemart + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -LavaridgeTown_Mart_Pokemart_1FF9E8: @ 81FF9E8 +LavaridgeTown_Mart_Pokemart: @ 81FF9E8 .2byte ITEM_GREAT_BALL .2byte ITEM_SUPER_POTION .2byte ITEM_ANTIDOTE @@ -26,21 +26,21 @@ LavaridgeTown_Mart_Pokemart_1FF9E8: @ 81FF9E8 release end -LavaridgeTown_Mart_EventScript_1FF9FE:: @ 81FF9FE - msgbox LavaridgeTown_Mart_Text_1FFA10, MSGBOX_NPC +LavaridgeTown_Mart_EventScript_ExpertM:: @ 81FF9FE + msgbox LavaridgeTown_Mart_Text_XSpeedFirstStrike, MSGBOX_NPC end -LavaridgeTown_Mart_EventScript_1FFA07:: @ 81FFA07 - msgbox LavaridgeTown_Mart_Text_1FFA83, MSGBOX_NPC +LavaridgeTown_Mart_EventScript_OldWoman:: @ 81FFA07 + msgbox LavaridgeTown_Mart_Text_LocalSpecialtyOnMtChimney, MSGBOX_NPC end -LavaridgeTown_Mart_Text_1FFA10: @ 81FFA10 +LavaridgeTown_Mart_Text_XSpeedFirstStrike: @ 81FFA10 .string "Use X SPEED to add to a POKéMON's\n" .string "SPEED in battle.\p" .string "That will help it get in the first\n" .string "strike--a decided advantage!$" -LavaridgeTown_Mart_Text_1FFA83: @ 81FFA83 +LavaridgeTown_Mart_Text_LocalSpecialtyOnMtChimney: @ 81FFA83 .string "On MT. CHIMNEY's peak, there's a local\n" .string "specialty that you can buy only there.\p" .string "Give it to a POKéMON--it will be elated.$" diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/map.json b/data/maps/LavaridgeTown_PokemonCenter_1F/map.json index ef32ef6605..4df734a49d 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_1F/map.json +++ b/data/maps/LavaridgeTown_PokemonCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_PokemonCenter_1F_EventScript_1FFB0E", + "script": "LavaridgeTown_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_PokemonCenter_1F_EventScript_1FFB1C", + "script": "LavaridgeTown_PokemonCenter_1F_EventScript_Youngster", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_PokemonCenter_1F_EventScript_1FFB25", + "script": "LavaridgeTown_PokemonCenter_1F_EventScript_Woman", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_PokemonCenter_1F_EventScript_1FFB2E", + "script": "LavaridgeTown_PokemonCenter_1F_EventScript_Gentleman", "flag": "0" } ], diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc index 4905a5bcee..a2b25fe0e7 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc @@ -1,46 +1,47 @@ LavaridgeTown_PokemonCenter_1F_MapScripts:: @ 81FFAFA map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, LavaridgeTown_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 LavaridgeTown_PokemonCenter_1F_OnTransition: @ 81FFB05 setrespawn HEAL_LOCATION_LAVARIDGE_TOWN - call LavaridgeTown_PokemonCenter_1F_EventScript_2718DE + call Common_EventScript_UpdateBrineyLocation end -LavaridgeTown_PokemonCenter_1F_EventScript_1FFB0E:: @ 81FFB0E +@ VAR_0x800B is the Nurse's object event id +LavaridgeTown_PokemonCenter_1F_EventScript_Nurse:: @ 81FFB0E setvar VAR_0x800B, 1 - call LavaridgeTown_PokemonCenter_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -LavaridgeTown_PokemonCenter_1F_EventScript_1FFB1C:: @ 81FFB1C - msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFBAD, MSGBOX_NPC +LavaridgeTown_PokemonCenter_1F_EventScript_Youngster:: @ 81FFB1C + msgbox LavaridgeTown_PokemonCenter_1F_Text_HotSpringCanInvigorate, MSGBOX_NPC end -LavaridgeTown_PokemonCenter_1F_EventScript_1FFB25:: @ 81FFB25 - msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFB37, MSGBOX_NPC +LavaridgeTown_PokemonCenter_1F_EventScript_Woman:: @ 81FFB25 + msgbox LavaridgeTown_PokemonCenter_1F_Text_TrainersPokemonSpendTimeTogether, MSGBOX_NPC end -LavaridgeTown_PokemonCenter_1F_EventScript_1FFB2E:: @ 81FFB2E - msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFC21, MSGBOX_NPC +LavaridgeTown_PokemonCenter_1F_EventScript_Gentleman:: @ 81FFB2E + msgbox LavaridgeTown_PokemonCenter_1F_Text_TrainersShouldRestToo, MSGBOX_NPC end -LavaridgeTown_PokemonCenter_1F_Text_1FFB37: @ 81FFB37 +LavaridgeTown_PokemonCenter_1F_Text_TrainersPokemonSpendTimeTogether: @ 81FFB37 .string "I think POKéMON get closer to their\n" .string "TRAINERS if they spend time together.\p" .string "The longer the better.\n" .string "That's what I think.$" -LavaridgeTown_PokemonCenter_1F_Text_1FFBAD: @ 81FFBAD +LavaridgeTown_PokemonCenter_1F_Text_HotSpringCanInvigorate: @ 81FFBAD .string "It's sort of magical how just sitting\n" .string "in a hot-spring pool can invigorate.\p" .string "I wish I could let my POKéMON\n" .string "soak, too.$" -LavaridgeTown_PokemonCenter_1F_Text_1FFC21: @ 81FFC21 +LavaridgeTown_PokemonCenter_1F_Text_TrainersShouldRestToo: @ 81FFC21 .string "Hohoho! Hey, kid, you can reach\n" .string "the hot springs from here.\p" .string "If POKéMON are getting rest, so too\n" diff --git a/data/maps/LavaridgeTown_PokemonCenter_2F/map.json b/data/maps/LavaridgeTown_PokemonCenter_2F/map.json index 95d1e194fc..2ee196f9ba 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_2F/map.json +++ b/data/maps/LavaridgeTown_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LavaridgeTown_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc b/data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc index c8e52468fc..633f91e95f 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ LavaridgeTown_PokemonCenter_2F_MapScripts:: @ 81FFC97 - map_script MAP_SCRIPT_ON_FRAME_TABLE, LavaridgeTown_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LavaridgeTown_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, LavaridgeTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -LavaridgeTown_PokemonCenter_2F_EventScript_1FFCAC:: @ 81FFCAC - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +LavaridgeTown_PokemonCenter_2F_EventScript_Colosseum:: @ 81FFCAC + call CableClub_EventScript_Colosseum end -LavaridgeTown_PokemonCenter_2F_EventScript_1FFCB2:: @ 81FFCB2 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +LavaridgeTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 81FFCB2 + call CableClub_EventScript_TradeCenter end -LavaridgeTown_PokemonCenter_2F_EventScript_1FFCB8:: @ 81FFCB8 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +LavaridgeTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 81FFCB8 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/LilycoveCity/map.json b/data/maps/LilycoveCity/map.json index 26f0ad36d6..4f7c3ab0f7 100644 --- a/data/maps/LilycoveCity/map.json +++ b/data/maps/LilycoveCity/map.json @@ -35,7 +35,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2C53", + "script": "LilycoveCity_EventScript_Sailor2", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2C2B", + "script": "LilycoveCity_EventScript_Girl", "flag": "0" }, { @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2C22", + "script": "LilycoveCity_EventScript_Man3", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2C4A", + "script": "LilycoveCity_EventScript_RichBoy", "flag": "0" }, { @@ -87,7 +87,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2C91", + "script": "LilycoveCity_EventScript_Man2", "flag": "0" }, { @@ -100,7 +100,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2C72", + "script": "LilycoveCity_EventScript_Woman2", "flag": "0" }, { @@ -113,7 +113,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2C9A", + "script": "LilycoveCity_EventScript_ExpertM1", "flag": "0" }, { @@ -126,7 +126,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2CA3", + "script": "LilycoveCity_EventScript_ExpertF", "flag": "0" }, { @@ -139,7 +139,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2CAC", + "script": "LilycoveCity_EventScript_ExpertM2", "flag": "0" }, { @@ -152,7 +152,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2D7D", + "script": "LilycoveCity_EventScript_WailmerTrainerGrunt", "flag": "FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS" }, { @@ -178,7 +178,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2DD5", + "script": "LilycoveCity_EventScript_AquaGrunt4", "flag": "FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS" }, { @@ -191,7 +191,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2DBA", + "script": "LilycoveCity_EventScript_AquaGrunt1", "flag": "FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS" }, { @@ -204,7 +204,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2DC3", + "script": "LilycoveCity_EventScript_AquaGrunt2", "flag": "FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS" }, { @@ -217,7 +217,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2DCC", + "script": "LilycoveCity_EventScript_AquaGrunt3", "flag": "FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS" }, { @@ -230,7 +230,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2BD8", + "script": "LilycoveCity_EventScript_BerryGentleman", "flag": "0" }, { @@ -243,7 +243,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2DDE", + "script": "LilycoveCity_EventScript_Rival", "flag": "FLAG_HIDE_LILYCOVE_CITY_RIVAL" }, { @@ -256,7 +256,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E302D", + "script": "LilycoveCity_EventScript_SchoolKidM", "flag": "0" }, { @@ -269,7 +269,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2CEE", + "script": "LilycoveCity_EventScript_Woman1", "flag": "0" }, { @@ -282,7 +282,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2CDD", + "script": "LilycoveCity_EventScript_Man1", "flag": "0" }, { @@ -295,7 +295,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2CCB", + "script": "LilycoveCity_EventScript_Sailor1", "flag": "0" }, { @@ -308,7 +308,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_EventScript_1E2CD4", + "script": "LilycoveCity_EventScript_FatMan", "flag": "0" } ], @@ -420,7 +420,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_EventScript_1E2D1A" + "script": "LilycoveCity_EventScript_MuseumSign" }, { "type": "sign", @@ -436,7 +436,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_EventScript_1E2D6B" + "script": "LilycoveCity_EventScript_DepartmentStoreSign" }, { "type": "sign", @@ -452,7 +452,7 @@ "y": 15, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_EventScript_1E2CFF" + "script": "LilycoveCity_EventScript_CitySign" }, { "type": "sign", @@ -460,7 +460,7 @@ "y": 24, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_EventScript_1E2D08" + "script": "LilycoveCity_EventScript_ContestHallSign" }, { "type": "sign", @@ -468,7 +468,7 @@ "y": 24, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_EventScript_1E2D11" + "script": "LilycoveCity_EventScript_MotelSign" }, { "type": "sign", @@ -476,7 +476,7 @@ "y": 30, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_EventScript_1E2D44" + "script": "LilycoveCity_EventScript_HarborSign" }, { "type": "sign", @@ -484,7 +484,7 @@ "y": 14, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_EventScript_1E2D62" + "script": "LilycoveCity_EventScript_TrainerFanClubSign" }, { "type": "sign", @@ -492,7 +492,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_EventScript_1E2D74" + "script": "LilycoveCity_EventScript_MoveDeletersHouseSign" }, { "type": "hidden_item", diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc index 9a777e5516..fb3775f95e 100644 --- a/data/maps/LilycoveCity/scripts.inc +++ b/data/maps/LilycoveCity/scripts.inc @@ -1,21 +1,21 @@ LilycoveCity_MapScripts:: @ 81E2B3C map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_OnTransition - map_script MAP_SCRIPT_ON_LOAD, LilycoveCity_MapScript1_1E2B61 + map_script MAP_SCRIPT_ON_LOAD, LilycoveCity_OnLoad .byte 0 LilycoveCity_OnTransition: @ 81E2B47 setflag FLAG_VISITED_LILYCOVE_CITY - setvar VAR_LINK_CONTEST_ROOM_STATE, 0 + setvar VAR_CONTEST_HALL_STATE, 0 setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER - call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 - call Common_EventScript_SetupRivalGender + call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather + call Common_EventScript_SetupRivalGfxId end -LilycoveCity_MapScript1_1E2B61: @ 81E2B61 - call_if_unset FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_1E2B6B +LilycoveCity_OnLoad: @ 81E2B61 + call_if_unset FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_SetWailmerMetatiles end -LilycoveCity_EventScript_1E2B6B:: @ 81E2B6B +LilycoveCity_EventScript_SetWailmerMetatiles:: @ 81E2B6B setmetatile 76, 12, METATILE_Lilycove_Wailmer0, 1 setmetatile 77, 12, METATILE_Lilycove_Wailmer1, 1 setmetatile 76, 13, METATILE_Lilycove_Wailmer2, 1 @@ -30,364 +30,364 @@ LilycoveCity_EventScript_1E2B6B:: @ 81E2B6B setmetatile 78, 17, METATILE_Lilycove_Wailmer3, 1 return -LilycoveCity_EventScript_1E2BD8:: @ 81E2BD8 +LilycoveCity_EventScript_BerryGentleman:: @ 81E2BD8 lock faceplayer dotimebasedevents - goto_if_set FLAG_DAILY_LILYCOVE_RECEIVED_BERRY, LilycoveCity_EventScript_1E2C18 - msgbox LilycoveCity_Text_2A7244, MSGBOX_DEFAULT + goto_if_set FLAG_DAILY_LILYCOVE_RECEIVED_BERRY, LilycoveCity_EventScript_ReceivedBerry + msgbox LilycoveCity_Text_BerrySuitsYou, MSGBOX_DEFAULT random 10 - addvar VAR_RESULT, 133 - giveitem_std VAR_RESULT - compare VAR_RESULT, 0 + addvar VAR_RESULT, FIRST_BERRY_INDEX + giveitem VAR_RESULT + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_DAILY_LILYCOVE_RECEIVED_BERRY - msgbox LilycoveCity_Text_2A72E3, MSGBOX_DEFAULT + msgbox LilycoveCity_Text_BecauseYoureTrainer, MSGBOX_DEFAULT release end -LilycoveCity_EventScript_1E2C18:: @ 81E2C18 - msgbox LilycoveCity_Text_2A7321, MSGBOX_DEFAULT +LilycoveCity_EventScript_ReceivedBerry:: @ 81E2C18 + msgbox LilycoveCity_Text_PokeblocksSuitPokemon, MSGBOX_DEFAULT release end -LilycoveCity_EventScript_1E2C22:: @ 81E2C22 - msgbox LilycoveCity_Text_1E3D9E, MSGBOX_NPC +LilycoveCity_EventScript_Man3:: @ 81E2C22 + msgbox LilycoveCity_Text_ContestHallInTown, MSGBOX_NPC end -LilycoveCity_EventScript_1E2C2B:: @ 81E2C2B +LilycoveCity_EventScript_Girl:: @ 81E2C2B lock faceplayer - goto_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_1E2C40 - msgbox LilycoveCity_Text_1E3E3C, MSGBOX_DEFAULT + goto_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_GirlAquaGone + msgbox LilycoveCity_Text_StrangeCaveInCove, MSGBOX_DEFAULT release end -LilycoveCity_EventScript_1E2C40:: @ 81E2C40 - msgbox LilycoveCity_Text_1E3E7D, MSGBOX_DEFAULT +LilycoveCity_EventScript_GirlAquaGone:: @ 81E2C40 + msgbox LilycoveCity_Text_GoingToMoveDeleterForHMs, MSGBOX_DEFAULT release end -LilycoveCity_EventScript_1E2C4A:: @ 81E2C4A - msgbox LilycoveCity_Text_1E3F05, MSGBOX_NPC +LilycoveCity_EventScript_RichBoy:: @ 81E2C4A + msgbox LilycoveCity_Text_ImFromKanto, MSGBOX_NPC end -LilycoveCity_EventScript_1E2C53:: @ 81E2C53 +LilycoveCity_EventScript_Sailor2:: @ 81E2C53 lock faceplayer - goto_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_1E2C68 - msgbox LilycoveCity_Text_1E3FAB, MSGBOX_DEFAULT + goto_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_Sailor2AquaGone + msgbox LilycoveCity_Text_TeamAquaBeenTrainingWailmer, MSGBOX_DEFAULT release end -LilycoveCity_EventScript_1E2C68:: @ 81E2C68 - msgbox LilycoveCity_Text_1E4020, MSGBOX_DEFAULT +LilycoveCity_EventScript_Sailor2AquaGone:: @ 81E2C68 + msgbox LilycoveCity_Text_SomeonePuntedTeamAquaOut, MSGBOX_DEFAULT release end -LilycoveCity_EventScript_1E2C72:: @ 81E2C72 +LilycoveCity_EventScript_Woman2:: @ 81E2C72 lock faceplayer - goto_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_1E2C87 - msgbox LilycoveCity_Text_1E40AD, MSGBOX_DEFAULT + goto_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_Woman2AquaGone + msgbox LilycoveCity_Text_SomeoneStoleMyPokemon, MSGBOX_DEFAULT release end -LilycoveCity_EventScript_1E2C87:: @ 81E2C87 - msgbox LilycoveCity_Text_1E4145, MSGBOX_DEFAULT +LilycoveCity_EventScript_Woman2AquaGone:: @ 81E2C87 + msgbox LilycoveCity_Text_MissingPokemonCameBack, MSGBOX_DEFAULT release end -LilycoveCity_EventScript_1E2C91:: @ 81E2C91 - msgbox LilycoveCity_Text_1E417B, MSGBOX_NPC +LilycoveCity_EventScript_Man2:: @ 81E2C91 + msgbox LilycoveCity_Text_ImArtDealer, MSGBOX_NPC end -LilycoveCity_EventScript_1E2C9A:: @ 81E2C9A - msgbox LilycoveCity_Text_1E420B, MSGBOX_SIGN +LilycoveCity_EventScript_ExpertM1:: @ 81E2C9A + msgbox LilycoveCity_Text_SeaRemainsForeverYoung, MSGBOX_SIGN end -LilycoveCity_EventScript_1E2CA3:: @ 81E2CA3 - msgbox LilycoveCity_Text_1E4283, MSGBOX_SIGN +LilycoveCity_EventScript_ExpertF:: @ 81E2CA3 + msgbox LilycoveCity_Text_SixtyYearsAgoHusbandProposed, MSGBOX_SIGN end -LilycoveCity_EventScript_1E2CAC:: @ 81E2CAC +LilycoveCity_EventScript_ExpertM2:: @ 81E2CAC lock faceplayer - goto_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_1E2CC1 - msgbox LilycoveCity_Text_1E42FC, MSGBOX_DEFAULT + goto_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_ExpertM2AquaGone + msgbox LilycoveCity_Text_TeamAquaRenovatedCavern, MSGBOX_DEFAULT release end -LilycoveCity_EventScript_1E2CC1:: @ 81E2CC1 - msgbox LilycoveCity_Text_1E43FF, MSGBOX_DEFAULT +LilycoveCity_EventScript_ExpertM2AquaGone:: @ 81E2CC1 + msgbox LilycoveCity_Text_TeamAquaLotGoneForGood, MSGBOX_DEFAULT release end -LilycoveCity_EventScript_1E2CCB:: @ 81E2CCB - msgbox LilycoveCity_Text_1E48A5, MSGBOX_NPC +LilycoveCity_EventScript_Sailor1:: @ 81E2CCB + msgbox LilycoveCity_Text_HeardTowerCalledSkyPillar, MSGBOX_NPC end -LilycoveCity_EventScript_1E2CD4:: @ 81E2CD4 - msgbox LilycoveCity_Text_1E4902, MSGBOX_NPC +LilycoveCity_EventScript_FatMan:: @ 81E2CD4 + msgbox LilycoveCity_Text_SawTallTowerOnRoute131, MSGBOX_NPC end -LilycoveCity_EventScript_1E2CDD:: @ 81E2CDD +LilycoveCity_EventScript_Man1:: @ 81E2CDD lockall - msgbox LilycoveCity_Text_1E494D, MSGBOX_NPC + msgbox LilycoveCity_Text_JustArrivedAndSawRarePokemon, MSGBOX_NPC applymovement 20, Common_Movement_FaceOriginalDirection end -LilycoveCity_EventScript_1E2CEE:: @ 81E2CEE +LilycoveCity_EventScript_Woman1:: @ 81E2CEE lockall - msgbox LilycoveCity_Text_1E49F4, MSGBOX_NPC + msgbox LilycoveCity_Text_HoneymoonVowToSeeRarePokemon, MSGBOX_NPC applymovement 19, Common_Movement_FaceOriginalDirection end -LilycoveCity_EventScript_1E2CFF:: @ 81E2CFF - msgbox LilycoveCity_Text_1E448B, MSGBOX_SIGN +LilycoveCity_EventScript_CitySign:: @ 81E2CFF + msgbox LilycoveCity_Text_CitySign, MSGBOX_SIGN end -LilycoveCity_EventScript_1E2D08:: @ 81E2D08 - msgbox LilycoveCity_Text_1E44C3, MSGBOX_SIGN +LilycoveCity_EventScript_ContestHallSign:: @ 81E2D08 + msgbox LilycoveCity_Text_ContestHallSign, MSGBOX_SIGN end -LilycoveCity_EventScript_1E2D11:: @ 81E2D11 - msgbox LilycoveCity_Text_1E44FC, MSGBOX_SIGN +LilycoveCity_EventScript_MotelSign:: @ 81E2D11 + msgbox LilycoveCity_Text_MotelSign, MSGBOX_SIGN end -LilycoveCity_EventScript_1E2D1A:: @ 81E2D1A +LilycoveCity_EventScript_MuseumSign:: @ 81E2D1A lockall specialvar VAR_0x8004, CountPlayerContestPaintings switch VAR_0x8004 - case 0, LilycoveCity_EventScript_1E2D3A - msgbox LilycoveCity_Text_1E4571, MSGBOX_DEFAULT + case 0, LilycoveCity_EventScript_MuseumSignNoPaintings + msgbox LilycoveCity_Text_MuseumSignPlayersExhibit, MSGBOX_DEFAULT releaseall end -LilycoveCity_EventScript_1E2D3A:: @ 81E2D3A - msgbox LilycoveCity_Text_1E4534, MSGBOX_DEFAULT +LilycoveCity_EventScript_MuseumSignNoPaintings:: @ 81E2D3A + msgbox LilycoveCity_Text_MuseumSign, MSGBOX_DEFAULT releaseall end -LilycoveCity_EventScript_1E2D44:: @ 81E2D44 +LilycoveCity_EventScript_HarborSign:: @ 81E2D44 lockall - goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_1E2D58 - msgbox LilycoveCity_Text_1E45A7, MSGBOX_DEFAULT + goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_HarborSignFerryReady + msgbox LilycoveCity_Text_HarborSignUnderConstruction, MSGBOX_DEFAULT releaseall end -LilycoveCity_EventScript_1E2D58:: @ 81E2D58 - msgbox LilycoveCity_Text_1E4624, MSGBOX_DEFAULT +LilycoveCity_EventScript_HarborSignFerryReady:: @ 81E2D58 + msgbox LilycoveCity_Text_HarborSign, MSGBOX_DEFAULT releaseall end -LilycoveCity_EventScript_1E2D62:: @ 81E2D62 - msgbox LilycoveCity_Text_1E466E, MSGBOX_SIGN +LilycoveCity_EventScript_TrainerFanClubSign:: @ 81E2D62 + msgbox LilycoveCity_Text_TrainerFanClubSign, MSGBOX_SIGN end -LilycoveCity_EventScript_1E2D6B:: @ 81E2D6B - msgbox LilycoveCity_Text_1E46BE, MSGBOX_SIGN +LilycoveCity_EventScript_DepartmentStoreSign:: @ 81E2D6B + msgbox LilycoveCity_Text_DepartmentStoreSign, MSGBOX_SIGN end -LilycoveCity_EventScript_1E2D74:: @ 81E2D74 - msgbox LilycoveCity_Text_1E473D, MSGBOX_SIGN +LilycoveCity_EventScript_MoveDeletersHouseSign:: @ 81E2D74 + msgbox LilycoveCity_Text_MoveDeletersHouseSign, MSGBOX_SIGN end -LilycoveCity_EventScript_1E2D7D:: @ 81E2D7D +LilycoveCity_EventScript_WailmerTrainerGrunt:: @ 81E2D7D lockall - goto_if_set FLAG_MET_WAILMER_TRAINER, LilycoveCity_EventScript_1E2DB0 - msgbox LilycoveCity_Text_1E3D1F, MSGBOX_DEFAULT + goto_if_set FLAG_MET_WAILMER_TRAINER, LilycoveCity_EventScript_MetWailmerTrainer + msgbox LilycoveCity_Text_WailmerLeapOutOfWater, MSGBOX_DEFAULT applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer waitmovement 0 - msgbox LilycoveCity_Text_1E3D4A, MSGBOX_DEFAULT + msgbox LilycoveCity_Text_GetLostMessingUpTraining, MSGBOX_DEFAULT applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 setflag FLAG_MET_WAILMER_TRAINER releaseall end -LilycoveCity_EventScript_1E2DB0:: @ 81E2DB0 - msgbox LilycoveCity_Text_1E3D1F, MSGBOX_DEFAULT +LilycoveCity_EventScript_MetWailmerTrainer:: @ 81E2DB0 + msgbox LilycoveCity_Text_WailmerLeapOutOfWater, MSGBOX_DEFAULT releaseall end -LilycoveCity_EventScript_1E2DBA:: @ 81E2DBA - msgbox LilycoveCity_Text_1E3B2C, MSGBOX_NPC +LilycoveCity_EventScript_AquaGrunt1:: @ 81E2DBA + msgbox LilycoveCity_Text_MovedLootIntoHideoutToday, MSGBOX_NPC end -LilycoveCity_EventScript_1E2DC3:: @ 81E2DC3 - msgbox LilycoveCity_Text_1E3B95, MSGBOX_NPC +LilycoveCity_EventScript_AquaGrunt2:: @ 81E2DC3 + msgbox LilycoveCity_Text_ChanceToDoBigThings, MSGBOX_NPC end -LilycoveCity_EventScript_1E2DCC:: @ 81E2DCC - msgbox LilycoveCity_Text_1E3C46, MSGBOX_NPC +LilycoveCity_EventScript_AquaGrunt3:: @ 81E2DCC + msgbox LilycoveCity_Text_DontGoNearCaveInCove, MSGBOX_NPC end -LilycoveCity_EventScript_1E2DD5:: @ 81E2DD5 - msgbox LilycoveCity_Text_1E3CBE, MSGBOX_NPC +LilycoveCity_EventScript_AquaGrunt4:: @ 81E2DD5 + msgbox LilycoveCity_Text_IfWorldBecomesOurs, MSGBOX_NPC end -LilycoveCity_EventScript_1E2DDE:: @ 81E2DDE +LilycoveCity_EventScript_Rival:: @ 81E2DDE lock faceplayer checkplayergender compare VAR_RESULT, MALE - goto_if_eq LilycoveCity_EventScript_1E2DF8 + goto_if_eq LilycoveCity_EventScript_May compare VAR_RESULT, FEMALE - goto_if_eq LilycoveCity_EventScript_1E2E6B + goto_if_eq LilycoveCity_EventScript_Brendan end -LilycoveCity_EventScript_1E2DF8:: @ 81E2DF8 +LilycoveCity_EventScript_May:: @ 81E2DF8 playbgm MUS_GIRL_SUP, 1 - call_if_set FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_1E2E48 - call_if_unset FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_1E2E51 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_EventScript_1E2E5A - msgbox LilycoveCity_Text_1E3234, MSGBOX_DEFAULT + call_if_set FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_MayAskToBattleAgain + call_if_unset FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_MayAskToBattle + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_EventScript_DeclineMayBattle + msgbox LilycoveCity_Text_MayWontBeBeaten, MSGBOX_DEFAULT switch VAR_STARTER_MON - case 0, LilycoveCity_EventScript_1E2EDE - case 1, LilycoveCity_EventScript_1E2EEE - case 2, LilycoveCity_EventScript_1E2EFE + case 0, LilycoveCity_EventScript_BattleMayTreecko + case 1, LilycoveCity_EventScript_BattleMayTorchic + case 2, LilycoveCity_EventScript_BattleMayMudkip end -LilycoveCity_EventScript_1E2E48:: @ 81E2E48 - msgbox LilycoveCity_Text_1E31F5, MSGBOX_YESNO +LilycoveCity_EventScript_MayAskToBattleAgain:: @ 81E2E48 + msgbox LilycoveCity_Text_MayBattleMe, MSGBOX_YESNO return -LilycoveCity_EventScript_1E2E51:: @ 81E2E51 - msgbox LilycoveCity_Text_1E3061, MSGBOX_YESNO +LilycoveCity_EventScript_MayAskToBattle:: @ 81E2E51 + msgbox LilycoveCity_Text_MayShoppingLetsBattle, MSGBOX_YESNO return -LilycoveCity_EventScript_1E2E5A:: @ 81E2E5A +LilycoveCity_EventScript_DeclineMayBattle:: @ 81E2E5A setflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE - msgbox LilycoveCity_Text_1E318D, MSGBOX_DEFAULT + msgbox LilycoveCity_Text_MayNotRaisingPokemon, MSGBOX_DEFAULT savebgm MUS_DUMMY fadedefaultbgm release end -LilycoveCity_EventScript_1E2E6B:: @ 81E2E6B +LilycoveCity_EventScript_Brendan:: @ 81E2E6B playbgm MUS_BOY_SUP, 1 - call_if_set FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_1E2EBB - call_if_unset FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_1E2EC4 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_EventScript_1E2ECD - msgbox LilycoveCity_Text_1E373C, MSGBOX_DEFAULT + call_if_set FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_BrendanAskToBattleAgain + call_if_unset FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_BrendanAskToBattle + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_EventScript_DeclineBrendanBattle + msgbox LilycoveCity_Text_BrendanWontBeBeaten, MSGBOX_DEFAULT switch VAR_STARTER_MON - case 0, LilycoveCity_EventScript_1E2F0E - case 1, LilycoveCity_EventScript_1E2F1E - case 2, LilycoveCity_EventScript_1E2F2E + case 0, LilycoveCity_EventScript_BattleBrendanTreecko + case 1, LilycoveCity_EventScript_BattleBrendanTorchic + case 2, LilycoveCity_EventScript_BattleBrendanMudkip end -LilycoveCity_EventScript_1E2EBB:: @ 81E2EBB - msgbox LilycoveCity_Text_1E36FA, MSGBOX_YESNO +LilycoveCity_EventScript_BrendanAskToBattleAgain:: @ 81E2EBB + msgbox LilycoveCity_Text_BrendanBattleMe, MSGBOX_YESNO return -LilycoveCity_EventScript_1E2EC4:: @ 81E2EC4 - msgbox LilycoveCity_Text_1E3608, MSGBOX_YESNO +LilycoveCity_EventScript_BrendanAskToBattle:: @ 81E2EC4 + msgbox LilycoveCity_Text_BrendanShoppingLetsBattle, MSGBOX_YESNO return -LilycoveCity_EventScript_1E2ECD:: @ 81E2ECD +LilycoveCity_EventScript_DeclineBrendanBattle:: @ 81E2ECD setflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE - msgbox LilycoveCity_Text_1E36BF, MSGBOX_DEFAULT + msgbox LilycoveCity_Text_BrendanNoConfidence, MSGBOX_DEFAULT savebgm MUS_DUMMY fadedefaultbgm release end -LilycoveCity_EventScript_1E2EDE:: @ 81E2EDE - trainerbattle_no_intro TRAINER_MAY_12, LilycoveCity_Text_1E3275 - goto LilycoveCity_EventScript_1E2F3E +LilycoveCity_EventScript_BattleMayTreecko:: @ 81E2EDE + trainerbattle_no_intro TRAINER_MAY_LILYCOVE_TREECKO, LilycoveCity_Text_MayDefeat + goto LilycoveCity_EventScript_DefeatedMay end -LilycoveCity_EventScript_1E2EEE:: @ 81E2EEE - trainerbattle_no_intro TRAINER_MAY_13, LilycoveCity_Text_1E3275 - goto LilycoveCity_EventScript_1E2F3E +LilycoveCity_EventScript_BattleMayTorchic:: @ 81E2EEE + trainerbattle_no_intro TRAINER_MAY_LILYCOVE_TORCHIC, LilycoveCity_Text_MayDefeat + goto LilycoveCity_EventScript_DefeatedMay end -LilycoveCity_EventScript_1E2EFE:: @ 81E2EFE - trainerbattle_no_intro TRAINER_MAY_11, LilycoveCity_Text_1E3275 - goto LilycoveCity_EventScript_1E2F3E +LilycoveCity_EventScript_BattleMayMudkip:: @ 81E2EFE + trainerbattle_no_intro TRAINER_MAY_LILYCOVE_MUDKIP, LilycoveCity_Text_MayDefeat + goto LilycoveCity_EventScript_DefeatedMay end -LilycoveCity_EventScript_1E2F0E:: @ 81E2F0E - trainerbattle_no_intro TRAINER_BRENDAN_14, LilycoveCity_Text_1E3777 - goto LilycoveCity_EventScript_1E2FAA +LilycoveCity_EventScript_BattleBrendanTreecko:: @ 81E2F0E + trainerbattle_no_intro TRAINER_BRENDAN_LILYCOVE_TREECKO, LilycoveCity_Text_BrendanDefeat + goto LilycoveCity_EventScript_DefeatedBrendan end -LilycoveCity_EventScript_1E2F1E:: @ 81E2F1E - trainerbattle_no_intro TRAINER_BRENDAN_15, LilycoveCity_Text_1E3777 - goto LilycoveCity_EventScript_1E2FAA +LilycoveCity_EventScript_BattleBrendanTorchic:: @ 81E2F1E + trainerbattle_no_intro TRAINER_BRENDAN_LILYCOVE_TORCHIC, LilycoveCity_Text_BrendanDefeat + goto LilycoveCity_EventScript_DefeatedBrendan end -LilycoveCity_EventScript_1E2F2E:: @ 81E2F2E - trainerbattle_no_intro TRAINER_BRENDAN_13, LilycoveCity_Text_1E3777 - goto LilycoveCity_EventScript_1E2FAA +LilycoveCity_EventScript_BattleBrendanMudkip:: @ 81E2F2E + trainerbattle_no_intro TRAINER_BRENDAN_LILYCOVE_MUDKIP, LilycoveCity_Text_BrendanDefeat + goto LilycoveCity_EventScript_DefeatedBrendan end -LilycoveCity_EventScript_1E2F3E:: @ 81E2F3E - msgbox LilycoveCity_Text_1E32FB, MSGBOX_DEFAULT - setvar VAR_RESULT, 0 - call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_1E2F76 - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_EventScript_1E2F86 - compare VAR_RESULT, 1 - call_if_eq LilycoveCity_EventScript_1E2F8F +LilycoveCity_EventScript_DefeatedMay:: @ 81E2F3E + msgbox LilycoveCity_Text_MayGoingBackToLittleroot, MSGBOX_DEFAULT + setvar VAR_RESULT, FALSE + call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_CheckFinalBadge + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_EventScript_MayCollectBadges + compare VAR_RESULT, TRUE + call_if_eq LilycoveCity_EventScript_MayPokemonLeague clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL - goto LilycoveCity_EventScript_1E3006 + goto LilycoveCity_EventScript_RivalFlyAway end -LilycoveCity_EventScript_1E2F76:: @ 81E2F76 - goto_if_set FLAG_BADGE08_GET, LilycoveCity_EventScript_1E2F80 +LilycoveCity_EventScript_CheckFinalBadge:: @ 81E2F76 + goto_if_set FLAG_BADGE08_GET, LilycoveCity_EventScript_HasFinalBadge return -LilycoveCity_EventScript_1E2F80:: @ 81E2F80 - setvar VAR_RESULT, 1 +LilycoveCity_EventScript_HasFinalBadge:: @ 81E2F80 + setvar VAR_RESULT, TRUE return -LilycoveCity_EventScript_1E2F86:: @ 81E2F86 - msgbox LilycoveCity_Text_1E3398, MSGBOX_DEFAULT +LilycoveCity_EventScript_MayCollectBadges:: @ 81E2F86 + msgbox LilycoveCity_Text_MayYouGoingToCollectBadges, MSGBOX_DEFAULT return -LilycoveCity_EventScript_1E2F8F:: @ 81E2F8F - goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_1E2FA1 - msgbox LilycoveCity_Text_1E346D, MSGBOX_DEFAULT +LilycoveCity_EventScript_MayPokemonLeague:: @ 81E2F8F + goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_MayBattleFrontier + msgbox LilycoveCity_Text_MayYouGoingToPokemonLeague, MSGBOX_DEFAULT return -LilycoveCity_EventScript_1E2FA1:: @ 81E2FA1 - msgbox LilycoveCity_Text_1E353A, MSGBOX_DEFAULT +LilycoveCity_EventScript_MayBattleFrontier:: @ 81E2FA1 + msgbox LilycoveCity_Text_MayYouGoingToBattleFrontier, MSGBOX_DEFAULT return -LilycoveCity_EventScript_1E2FAA:: @ 81E2FAA - msgbox LilycoveCity_Text_1E37D7, MSGBOX_DEFAULT - setvar VAR_RESULT, 0 - call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_1E2F76 - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_EventScript_1E2FE2 - compare VAR_RESULT, 1 - call_if_eq LilycoveCity_EventScript_1E2FEB +LilycoveCity_EventScript_DefeatedBrendan:: @ 81E2FAA + msgbox LilycoveCity_Text_BrendanGoingBackToLittleroot, MSGBOX_DEFAULT + setvar VAR_RESULT, FALSE + call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_CheckFinalBadge + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_EventScript_BrendanCollectBadges + compare VAR_RESULT, TRUE + call_if_eq LilycoveCity_EventScript_BrendanPokemonLeague clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL - goto LilycoveCity_EventScript_1E3006 + goto LilycoveCity_EventScript_RivalFlyAway end -LilycoveCity_EventScript_1E2FE2:: @ 81E2FE2 - msgbox LilycoveCity_Text_1E3876, MSGBOX_DEFAULT +LilycoveCity_EventScript_BrendanCollectBadges:: @ 81E2FE2 + msgbox LilycoveCity_Text_BrendanYouGoingToCollectBadges, MSGBOX_DEFAULT return -LilycoveCity_EventScript_1E2FEB:: @ 81E2FEB - goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_1E2FFD - msgbox LilycoveCity_Text_1E390C, MSGBOX_DEFAULT +LilycoveCity_EventScript_BrendanPokemonLeague:: @ 81E2FEB + goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_BrendanBattleFrontier + msgbox LilycoveCity_Text_BrendanYouGoingToPokemonLeague, MSGBOX_DEFAULT return -LilycoveCity_EventScript_1E2FFD:: @ 81E2FFD - msgbox LilycoveCity_Text_1E39E3, MSGBOX_DEFAULT +LilycoveCity_EventScript_BrendanBattleFrontier:: @ 81E2FFD + msgbox LilycoveCity_Text_BrendanYouGoingToBattleFrontier, MSGBOX_DEFAULT return -LilycoveCity_EventScript_1E3006:: @ 81E3006 +LilycoveCity_EventScript_RivalFlyAway:: @ 81E3006 closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 50 setfieldeffectargument 0, 1 @@ -401,26 +401,26 @@ LilycoveCity_EventScript_1E3006:: @ 81E3006 release end -LilycoveCity_EventScript_1E302D:: @ 81E302D +LilycoveCity_EventScript_SchoolKidM:: @ 81E302D lock faceplayer - msgbox LilycoveCity_Text_1E4774, MSGBOX_YESNO - compare VAR_RESULT, 1 - call_if_eq LilycoveCity_EventScript_1E304F - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_EventScript_1E3058 + msgbox LilycoveCity_Text_DoYouKnowAboutBerryBlender, MSGBOX_YESNO + compare VAR_RESULT, YES + call_if_eq LilycoveCity_EventScript_KnowAboutBerryBlender + compare VAR_RESULT, NO + call_if_eq LilycoveCity_EventScript_DontKnowAboutBerryBlender release end -LilycoveCity_EventScript_1E304F:: @ 81E304F - msgbox LilycoveCity_Text_1E47A1, MSGBOX_DEFAULT +LilycoveCity_EventScript_KnowAboutBerryBlender:: @ 81E304F + msgbox LilycoveCity_Text_FasterSpinBetterPokeblocks, MSGBOX_DEFAULT return -LilycoveCity_EventScript_1E3058:: @ 81E3058 - msgbox LilycoveCity_Text_1E4824, MSGBOX_DEFAULT +LilycoveCity_EventScript_DontKnowAboutBerryBlender:: @ 81E3058 + msgbox LilycoveCity_Text_ExplainBerryBlender, MSGBOX_DEFAULT return -LilycoveCity_Text_1E3061: @ 81E3061 +LilycoveCity_Text_MayShoppingLetsBattle: @ 81E3061 .string "MAY: Oh, hey?\n" .string "{PLAYER}{KUN}, are you shopping, too?\p" .string "I bought a whole bunch of DOLLS and\n" @@ -433,35 +433,35 @@ LilycoveCity_Text_1E3061: @ 81E3061 .string "I'll battle with you, so you can show\n" .string "me your POKéMON, {PLAYER}{KUN}.$" -LilycoveCity_Text_1E318D: @ 81E318D +LilycoveCity_Text_MayNotRaisingPokemon: @ 81E318D .string "MAY: Oh, why? {PLAYER}{KUN}, haven't you\n" .string "been raising your POKéMON?\p" .string "That's not a very good showing as a\n" .string "TRAINER…$" -LilycoveCity_Text_1E31F5: @ 81E31F5 +LilycoveCity_Text_MayBattleMe: @ 81E31F5 .string "MAY: Come on, battle with me, so I can\n" .string "check out your POKéMON!$" -LilycoveCity_Text_1E3234: @ 81E3234 +LilycoveCity_Text_MayWontBeBeaten: @ 81E3234 .string "MAY: The POKéMON I raised won't be\n" .string "beaten by your POKéMON, {PLAYER}{KUN}!$" -LilycoveCity_Text_1E3275: @ 81E3275 +LilycoveCity_Text_MayDefeat: @ 81E3275 .string "… … … … … … … …\p" .string "I remember the battle I had with you,\n" .string "{PLAYER}{KUN}, on ROUTE 103.\p" .string "That battle helped you become this\n" .string "strong, {PLAYER}{KUN}, didn't it?$" -LilycoveCity_Text_1E32FB: @ 81E32FB +LilycoveCity_Text_MayGoingBackToLittleroot: @ 81E32FB .string "MAY: I'm thinking of going back to\n" .string "LITTLEROOT soon.\p" .string "I've caught a decent group of POKéMON,\n" .string "and my POKéDEX is coming along, so\l" .string "I'm going home to show my dad.$" -LilycoveCity_Text_1E3398: @ 81E3398 +LilycoveCity_Text_MayYouGoingToCollectBadges: @ 81E3398 .string "{PLAYER}{KUN}, what are you going to do?\p" .string "Collect all the GYM BADGES and take\n" .string "the POKéMON LEAGUE challenge?\p" @@ -470,7 +470,7 @@ LilycoveCity_Text_1E3398: @ 81E3398 .string "POKéDEX. I'll complete it before you!\p" .string "See you!$" -LilycoveCity_Text_1E346D: @ 81E346D +LilycoveCity_Text_MayYouGoingToPokemonLeague: @ 81E346D .string "{PLAYER}{KUN}, what are you going to do?\p" .string "Are you taking the POKéMON LEAGUE\n" .string "challenge?\p" @@ -480,7 +480,7 @@ LilycoveCity_Text_1E346D: @ 81E346D .string "but I'll finish my POKéDEX before you!\p" .string "See you!$" -LilycoveCity_Text_1E353A: @ 81E353A +LilycoveCity_Text_MayYouGoingToBattleFrontier: @ 81E353A .string "{PLAYER}{KUN}, what are you going to do?\p" .string "Are you taking the BATTLE FRONTIER\n" .string "challenge?\p" @@ -490,7 +490,7 @@ LilycoveCity_Text_1E353A: @ 81E353A .string "but I'll finish my POKéDEX before you!\p" .string "See you!$" -LilycoveCity_Text_1E3608: @ 81E3608 +LilycoveCity_Text_BrendanShoppingLetsBattle: @ 81E3608 .string "BRENDAN: Oh, hey, it's {PLAYER}.\p" .string "I'm running an errand for my dad.\n" .string "No, I'm not buying any DOLLS.\p" @@ -498,39 +498,39 @@ LilycoveCity_Text_1E3608: @ 81E3608 .string "Want to have a battle to see who's been\n" .string "raising POKéMON better?$" -LilycoveCity_Text_1E36BF: @ 81E36BF +LilycoveCity_Text_BrendanNoConfidence: @ 81E36BF .string "BRENDAN: Oh, what's the matter?\n" .string "Don't have the confidence?$" -LilycoveCity_Text_1E36FA: @ 81E36FA +LilycoveCity_Text_BrendanBattleMe: @ 81E36FA .string "BRENDAN: Want to battle to see who's\n" .string "been raising POKéMON better?$" -LilycoveCity_Text_1E373C: @ 81E373C +LilycoveCity_Text_BrendanWontBeBeaten: @ 81E373C .string "BRENDAN: Aww, but you know I'm not\n" .string "going to lose to no {PLAYER}.$" -LilycoveCity_Text_1E3777: @ 81E3777 +LilycoveCity_Text_BrendanDefeat: @ 81E3777 .string "Humph…\n" .string "You've done a lot of raising.\p" .string "That stings a bit--I had a head start\n" .string "on you as a TRAINER…$" -LilycoveCity_Text_1E37D7: @ 81E37D7 +LilycoveCity_Text_BrendanGoingBackToLittleroot: @ 81E37D7 .string "BRENDAN: I…\n" .string "I plan on going home to LITTLEROOT.\p" .string "You know I'm helping out my dad on his\n" .string "POKéDEX. It's coming together pretty\l" .string "decently, so I should go show him.$" -LilycoveCity_Text_1E3876: @ 81E3876 +LilycoveCity_Text_BrendanYouGoingToCollectBadges: @ 81E3876 .string "{PLAYER}, what are you going to do?\p" .string "Collect all the GYM BADGES and take\n" .string "the POKéMON LEAGUE challenge?\p" .string "Maybe I'll do that, too…\p" .string "Well, anyway, hang in there!$" -LilycoveCity_Text_1E390C: @ 81E390C +LilycoveCity_Text_BrendanYouGoingToPokemonLeague: @ 81E390C .string "{PLAYER}, what are you going to do?\p" .string "Since you're that strong, are you\n" .string "taking the POKéMON LEAGUE challenge?\p" @@ -539,7 +539,7 @@ LilycoveCity_Text_1E390C: @ 81E390C .string "you, {PLAYER}.\p" .string "Well, anyway, hang in there!$" -LilycoveCity_Text_1E39E3: @ 81E39E3 +LilycoveCity_Text_BrendanYouGoingToBattleFrontier: @ 81E39E3 .string "{PLAYER}, what are you going to do?\p" .string "Are you taking the BATTLE FRONTIER\n" .string "challenge?\p" @@ -553,14 +553,14 @@ LilycoveCity_Text_1E39E3: @ 81E39E3 .string "FRONTIER.\p" .string "Well, anyway, hang in there!$" -LilycoveCity_Text_1E3B2C: @ 81E3B2C +LilycoveCity_Text_MovedLootIntoHideoutToday: @ 81E3B2C .string "Fufufu…\p" .string "We moved more loot into our secret\n" .string "HIDEOUT today…\p" .string "Wh-who are you?!\n" .string "I was just talking to myself!$" -LilycoveCity_Text_1E3B95: @ 81E3B95 +LilycoveCity_Text_ChanceToDoBigThings: @ 81E3B95 .string "I'm just a GRUNT, so I don't know what\n" .string "the BOSS is thinking…\p" .string "But being on TEAM AQUA, I know I'll get\n" @@ -568,44 +568,44 @@ LilycoveCity_Text_1E3B95: @ 81E3B95 .string "Wh-who are you?!\n" .string "I was just talking to myself!$" -LilycoveCity_Text_1E3C46: @ 81E3C46 +LilycoveCity_Text_DontGoNearCaveInCove: @ 81E3C46 .string "Hey, you!\p" .string "Don't go near the cave in the cove!\p" .string "Why? You don't need a reason why!\n" .string "I'm an adult, so you just listen to me!$" -LilycoveCity_Text_1E3CBE: @ 81E3CBE +LilycoveCity_Text_IfWorldBecomesOurs: @ 81E3CBE .string "If this whole wide world becomes ours,\n" .string "TEAM AQUA's, it will be a happier\l" .string "place for POKéMON, too.$" -LilycoveCity_Text_1E3D1F: @ 81E3D1F +LilycoveCity_Text_WailmerLeapOutOfWater: @ 81E3D1F .string "There! WAILMER!\n" .string "Leap out of the water now!$" -LilycoveCity_Text_1E3D4A: @ 81E3D4A +LilycoveCity_Text_GetLostMessingUpTraining: @ 81E3D4A .string "Hunh? What do you want?\p" .string "You're messing up our training,\n" .string "so can you, like, get lost?$" -LilycoveCity_Text_1E3D9E: @ 81E3D9E +LilycoveCity_Text_ContestHallInTown: @ 81E3D9E .string "There's a POKéMON CONTEST HALL\n" .string "right in this here town. \p" .string "That means well-raised POKéMON will\n" .string "come from all over the country.\p" .string "My heart swells with excitement!$" -LilycoveCity_Text_1E3E3C: @ 81E3E3C +LilycoveCity_Text_StrangeCaveInCove: @ 81E3E3C .string "Have you seen that strange cave in\n" .string "the cove at the edge of town?$" -LilycoveCity_Text_1E3E7D: @ 81E3E7D +LilycoveCity_Text_GoingToMoveDeleterForHMs: @ 81E3E7D .string "I'm going to teach my POKéMON some new\n" .string "moves for entering a CONTEST.\p" .string "So, I'm going to see the MOVE DELETER\n" .string "and make it forget HM moves.$" -LilycoveCity_Text_1E3F05: @ 81E3F05 +LilycoveCity_Text_ImFromKanto: @ 81E3F05 .string "I came from KANTO.\p" .string "The HOENN region is beautiful with\n" .string "all its water and verdant nature.\p" @@ -613,50 +613,50 @@ LilycoveCity_Text_1E3F05: @ 81E3F05 .string "Could there be rare POKéMON that live\n" .string "only in this area?$" -LilycoveCity_Text_1E3FAB: @ 81E3FAB +LilycoveCity_Text_TeamAquaBeenTrainingWailmer: @ 81E3FAB .string "TEAM AQUA's been training their\n" .string "WAILMER in the cove.\p" .string "We SAILORS can't get our boats out\n" .string "to sea with them in the way!$" -LilycoveCity_Text_1E4020: @ 81E4020 +LilycoveCity_Text_SomeonePuntedTeamAquaOut: @ 81E4020 .string "Ahoy, did you know?\p" .string "Someone punted TEAM AQUA out of\n" .string "the way for us!\p" .string "That got the WAILMER out of the cove,\n" .string "so we can get our boats out again.$" -LilycoveCity_Text_1E40AD: @ 81E40AD +LilycoveCity_Text_SomeoneStoleMyPokemon: @ 81E40AD .string "I was taking a relaxing snooze at the\n" .string "seaside inn to the sound of waves…\p" .string "When someone stole my POKéMON!\p" .string "Who's the abductor?\n" .string "TEAM AQUA? Is it TEAM AQUA?$" -LilycoveCity_Text_1E4145: @ 81E4145 +LilycoveCity_Text_MissingPokemonCameBack: @ 81E4145 .string "My missing POKéMON…\n" .string "It came back without me noticing!$" -LilycoveCity_Text_1E417B: @ 81E417B +LilycoveCity_Text_ImArtDealer: @ 81E417B .string "I'm an ART DEALER.\p" .string "I am a buyer and seller of fine art,\n" .string "especially paintings.\p" .string "I've heard that the MUSEUM here has\n" .string "magnificent works on exhibit…$" -LilycoveCity_Text_1E420B: @ 81E420B +LilycoveCity_Text_SeaRemainsForeverYoung: @ 81E420B .string "Even as we grow old and wrinkled,\n" .string "the sea remains forever young with\l" .string "the vivid brilliance of life…\p" .string "Fwohoho fwohohohoho…$" -LilycoveCity_Text_1E4283: @ 81E4283 +LilycoveCity_Text_SixtyYearsAgoHusbandProposed: @ 81E4283 .string "It was sixty years ago that my husband\n" .string "proposed to me here.\l" .string "The sea remains as beautiful as ever.\p" .string "Mufufufu mufufufufufu…$" -LilycoveCity_Text_1E42FC: @ 81E42FC +LilycoveCity_Text_TeamAquaRenovatedCavern: @ 81E42FC .string "Hm, you know of the peculiar cavern\n" .string "in this cove?\p" .string "That had been a natural formation,\n" @@ -667,92 +667,92 @@ LilycoveCity_Text_1E42FC: @ 81E42FC .string "But what they do and what they say\n" .string "don't match at all!$" -LilycoveCity_Text_1E43FF: @ 81E43FF +LilycoveCity_Text_TeamAquaLotGoneForGood: @ 81E43FF .string "That cave in the cove…\p" .string "I didn't notice it right away,\n" .string "but it's completely empty now.\p" .string "That TEAM AQUA lot, they must\n" .string "have gone away for good.$" -LilycoveCity_Text_1E448B: @ 81E448B +LilycoveCity_Text_CitySign: @ 81E448B .string "LILYCOVE CITY\p" .string "“Where the land ends and the\n" .string "sea begins.”$" -LilycoveCity_Text_1E44C3: @ 81E44C3 +LilycoveCity_Text_ContestHallSign: @ 81E44C3 .string "POKéMON CONTEST HALL\n" .string "“The gathering place for TRAINERS!”$" -LilycoveCity_Text_1E44FC: @ 81E44FC +LilycoveCity_Text_MotelSign: @ 81E44FC .string "COVE LILY MOTEL\p" .string "“Remember us as COVE LILY of\n" .string "LILYCOVE.”$" -LilycoveCity_Text_1E4534: @ 81E4534 +LilycoveCity_Text_MuseumSign: @ 81E4534 .string "LILYCOVE MUSEUM\p" .string "“POKéMON Masterpiece Collection\n" .string "on exhibit!”$" -LilycoveCity_Text_1E4571: @ 81E4571 +LilycoveCity_Text_MuseumSignPlayersExhibit: @ 81E4571 .string "LILYCOVE MUSEUM\p" .string "“{PLAYER}'s POKéMON Collection\n" .string "on exhibit!”$" -LilycoveCity_Text_1E45A7: @ 81E45A7 +LilycoveCity_Text_HarborSignUnderConstruction: @ 81E45A7 .string "LILYCOVE CITY HARBOR\p" .string "“The ferry S.S. TIDAL is under\n" .string "construction in SLATEPORT CITY.\p" .string "“Service is scheduled to begin\n" .string "shortly.”$" -LilycoveCity_Text_1E4624: @ 81E4624 +LilycoveCity_Text_HarborSign: @ 81E4624 .string "LILYCOVE CITY HARBOR\p" .string "“Enjoy a delightful cruise on\n" .string "the ferry S.S. TIDAL.”$" -LilycoveCity_Text_1E466E: @ 81E466E +LilycoveCity_Text_TrainerFanClubSign: @ 81E466E .string "POKéMON TRAINER FAN CLUB\p" .string "The names of TRAINERS are scribbled\n" .string "all over the sign…$" -LilycoveCity_Text_1E46BE: @ 81E46BE +LilycoveCity_Text_DepartmentStoreSign: @ 81E46BE .string "LILYCOVE DEPARTMENT STORE\p" .string "“Overflowing with great merchandise\n" .string "and excitement!\p" .string "“A great place to find that something\n" .string "you need!”$" -LilycoveCity_Text_1E473D: @ 81E473D +LilycoveCity_Text_MoveDeletersHouseSign: @ 81E473D .string "MOVE DELETER'S HOUSE\p" .string "“Unwanted POKéMON moves deleted.”$" -LilycoveCity_Text_1E4774: @ 81E4774 +LilycoveCity_Text_DoYouKnowAboutBerryBlender: @ 81E4774 .string "Do you know about the machine\n" .string "BERRY BLENDER?$" -LilycoveCity_Text_1E47A1: @ 81E47A1 +LilycoveCity_Text_FasterSpinBetterPokeblocks: @ 81E47A1 .string "People have to work together to get it\n" .string "to spin faster.\p" .string "The faster you can make it spin, the\n" .string "better {POKEBLOCK}S you can get, I've heard.$" -LilycoveCity_Text_1E4824: @ 81E4824 +LilycoveCity_Text_ExplainBerryBlender: @ 81E4824 .string "It's used for making a kind of candy\n" .string "called a {POKEBLOCK}.\p" .string "If you give a good {POKEBLOCK} to a POKéMON,\n" .string "its condition will improve by a lot.$" -LilycoveCity_Text_1E48A5: @ 81E48A5 +LilycoveCity_Text_HeardTowerCalledSkyPillar: @ 81E48A5 .string "I heard there's a tower somewhere out\n" .string "on the sea routes.\p" .string "It's called the SKY PILLAR, I hear.$" -LilycoveCity_Text_1E4902: @ 81E4902 +LilycoveCity_Text_SawTallTowerOnRoute131: @ 81E4902 .string "I saw this tall tower somewhere\n" .string "around ROUTE 131.\p" .string "Could that possibly be…?$" -LilycoveCity_Text_1E494D: @ 81E494D +LilycoveCity_Text_JustArrivedAndSawRarePokemon: @ 81E494D .string "We just arrived here on our\n" .string "honeymoon vacation.\p" .string "We happened to see a DRAGON-type\n" @@ -760,7 +760,7 @@ LilycoveCity_Text_1E494D: @ 81E494D .string "Do cool POKéMON like that live in\n" .string "the HOENN region?$" -LilycoveCity_Text_1E49F4: @ 81E49F4 +LilycoveCity_Text_HoneymoonVowToSeeRarePokemon: @ 81E49F4 .string "On our honeymoon, we vowed to see as\n" .string "many rare POKéMON as we can.\p" .string "So we were delighted to see a rare\n" diff --git a/data/maps/LilycoveCity_ContestHall/map.json b/data/maps/LilycoveCity_ContestHall/map.json index 3522c7963c..456c7eec81 100644 --- a/data/maps/LilycoveCity_ContestHall/map.json +++ b/data/maps/LilycoveCity_ContestHall/map.json @@ -24,7 +24,7 @@ "movement_range_y": 4, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B485", + "script": "LilycoveCity_ContestHall_EventScript_Boy1", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 3, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B48E", + "script": "LilycoveCity_ContestHall_EventScript_Boy2", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B497", + "script": "LilycoveCity_ContestHall_EventScript_Girl", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B4A9", + "script": "LilycoveCity_ContestHall_EventScript_SmartContestMC", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B4C0", + "script": "LilycoveCity_ContestHall_EventScript_SmartContestJudge", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B4D7", + "script": "LilycoveCity_ContestHall_EventScript_SmartContestant1", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B4EE", + "script": "LilycoveCity_ContestHall_EventScript_SmartContestant2", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B505", + "script": "LilycoveCity_ContestHall_EventScript_SmartContestant3", "flag": "0" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B51C", + "script": "LilycoveCity_ContestHall_EventScript_SmartContestant4", "flag": "0" }, { @@ -141,7 +141,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B533", + "script": "LilycoveCity_ContestHall_EventScript_SmartContestAudience1", "flag": "0" }, { @@ -154,7 +154,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B56A", + "script": "LilycoveCity_ContestHall_EventScript_SmartContestAudience4", "flag": "0" }, { @@ -167,7 +167,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B53C", + "script": "LilycoveCity_ContestHall_EventScript_SmartContestAudience2", "flag": "0" }, { @@ -180,7 +180,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B581", + "script": "LilycoveCity_ContestHall_EventScript_BeautyContestMC", "flag": "0" }, { @@ -193,7 +193,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B598", + "script": "LilycoveCity_ContestHall_EventScript_BeautyContestJudge", "flag": "0" }, { @@ -206,7 +206,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B5AF", + "script": "LilycoveCity_ContestHall_EventScript_BeautyContestant1", "flag": "0" }, { @@ -219,7 +219,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B5C6", + "script": "LilycoveCity_ContestHall_EventScript_BeautyContestant2", "flag": "0" }, { @@ -232,7 +232,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B5DD", + "script": "LilycoveCity_ContestHall_EventScript_BeautyContestant3", "flag": "0" }, { @@ -245,7 +245,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B5F4", + "script": "LilycoveCity_ContestHall_EventScript_BeautyContestant4", "flag": "0" }, { @@ -258,7 +258,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B60B", + "script": "LilycoveCity_ContestHall_EventScript_BeautyContestAudience1", "flag": "0" }, { @@ -271,7 +271,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B639", + "script": "LilycoveCity_ContestHall_EventScript_BeautyContestAudience3", "flag": "0" }, { @@ -284,7 +284,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B622", + "script": "LilycoveCity_ContestHall_EventScript_BeautyContestAudience2", "flag": "0" }, { @@ -297,7 +297,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B553", + "script": "LilycoveCity_ContestHall_EventScript_SmartContestAudience3", "flag": "0" }, { @@ -310,7 +310,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B650", + "script": "LilycoveCity_ContestHall_EventScript_CuteContestMC", "flag": "0" }, { @@ -323,7 +323,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B667", + "script": "LilycoveCity_ContestHall_EventScript_CuteContestJudge", "flag": "0" }, { @@ -336,7 +336,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B67E", + "script": "LilycoveCity_ContestHall_EventScript_CuteContestant1", "flag": "0" }, { @@ -349,7 +349,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B695", + "script": "LilycoveCity_ContestHall_EventScript_CuteContestant2", "flag": "0" }, { @@ -362,7 +362,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B6AC", + "script": "LilycoveCity_ContestHall_EventScript_CuteContestant3", "flag": "0" }, { @@ -375,7 +375,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B6C3", + "script": "LilycoveCity_ContestHall_EventScript_CuteContestant4", "flag": "0" }, { @@ -388,7 +388,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B6DA", + "script": "LilycoveCity_ContestHall_EventScript_CuteContestAudience1", "flag": "0" }, { @@ -401,7 +401,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B71C", + "script": "LilycoveCity_ContestHall_EventScript_CuteContestAudience3", "flag": "0" }, { @@ -414,7 +414,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B705", + "script": "LilycoveCity_ContestHall_EventScript_CuteContestAudience2", "flag": "0" }, { @@ -427,7 +427,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestHall_EventScript_21B4A0", + "script": "LilycoveCity_ContestHall_EventScript_Sailor", "flag": "0" } ], @@ -469,7 +469,7 @@ "y": 16, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_ContestHall_EventScript_21B733" + "script": "LilycoveCity_ContestHall_EventScript_BeautyStageSign" }, { "type": "sign", @@ -477,7 +477,7 @@ "y": 28, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_ContestHall_EventScript_21B73C" + "script": "LilycoveCity_ContestHall_EventScript_CuteStageSign" }, { "type": "sign", @@ -485,7 +485,7 @@ "y": 28, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_ContestHall_EventScript_21B745" + "script": "LilycoveCity_ContestHall_EventScript_SmartStageSign" }, { "type": "sign", @@ -493,7 +493,7 @@ "y": 28, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_ContestHall_EventScript_21B745" + "script": "LilycoveCity_ContestHall_EventScript_SmartStageSign" }, { "type": "sign", @@ -501,7 +501,7 @@ "y": 16, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_ContestHall_EventScript_21B733" + "script": "LilycoveCity_ContestHall_EventScript_BeautyStageSign" }, { "type": "sign", @@ -509,7 +509,7 @@ "y": 28, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_ContestHall_EventScript_21B73C" + "script": "LilycoveCity_ContestHall_EventScript_CuteStageSign" } ] } \ No newline at end of file diff --git a/data/maps/LilycoveCity_ContestHall/scripts.inc b/data/maps/LilycoveCity_ContestHall/scripts.inc index 5823b6da4c..fb98c72f60 100644 --- a/data/maps/LilycoveCity_ContestHall/scripts.inc +++ b/data/maps/LilycoveCity_ContestHall/scripts.inc @@ -1,319 +1,319 @@ LilycoveCity_ContestHall_MapScripts:: @ 821B484 .byte 0 -LilycoveCity_ContestHall_EventScript_21B485:: @ 821B485 - msgbox LilycoveCity_ContestHall_Text_21B74E, MSGBOX_NPC +LilycoveCity_ContestHall_EventScript_Boy1:: @ 821B485 + msgbox LilycoveCity_ContestHall_Text_TodayWonSmartnessContest, MSGBOX_NPC end -LilycoveCity_ContestHall_EventScript_21B48E:: @ 821B48E - msgbox LilycoveCity_ContestHall_Text_21B7D7, MSGBOX_NPC +LilycoveCity_ContestHall_EventScript_Boy2:: @ 821B48E + msgbox LilycoveCity_ContestHall_Text_EnteredBunchOfContests, MSGBOX_NPC end -LilycoveCity_ContestHall_EventScript_21B497:: @ 821B497 - msgbox LilycoveCity_ContestHall_Text_21B899, MSGBOX_NPC +LilycoveCity_ContestHall_EventScript_Girl:: @ 821B497 + msgbox LilycoveCity_ContestHall_Text_ManWhoWonEarlierHadPokeblocks, MSGBOX_NPC end -LilycoveCity_ContestHall_EventScript_21B4A0:: @ 821B4A0 - msgbox LilycoveCity_ContestHall_Text_21B911, MSGBOX_NPC +LilycoveCity_ContestHall_EventScript_Sailor:: @ 821B4A0 + msgbox LilycoveCity_ContestHall_Text_IsntThisPlaceHumongous, MSGBOX_NPC end -LilycoveCity_ContestHall_EventScript_21B4A9:: @ 821B4A9 +LilycoveCity_ContestHall_EventScript_SmartContestMC:: @ 821B4A9 lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21B977, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_GiveItBestSmartAppeal, MSGBOX_DEFAULT closemessage applymovement 4, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B4C0:: @ 821B4C0 +LilycoveCity_ContestHall_EventScript_SmartContestJudge:: @ 821B4C0 lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21B9DC, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_AreYouEnjoyingThisContest, MSGBOX_DEFAULT closemessage applymovement 5, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B4D7:: @ 821B4D7 +LilycoveCity_ContestHall_EventScript_SmartContestant1:: @ 821B4D7 lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21BA44, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_EnteredWrongContest, MSGBOX_DEFAULT closemessage applymovement 6, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B4EE:: @ 821B4EE +LilycoveCity_ContestHall_EventScript_SmartContestant2:: @ 821B4EE lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21BAD5, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_RaisedMonToBeSmart, MSGBOX_DEFAULT closemessage applymovement 7, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B505:: @ 821B505 +LilycoveCity_ContestHall_EventScript_SmartContestant3:: @ 821B505 lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21BB84, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_IfMonPullsSmartMoveNext, MSGBOX_DEFAULT closemessage applymovement 8, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B51C:: @ 821B51C +LilycoveCity_ContestHall_EventScript_SmartContestant4:: @ 821B51C lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21BBDD, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_DontAppreciateCuteLeechLife, MSGBOX_DEFAULT closemessage applymovement 9, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B533:: @ 821B533 - msgbox LilycoveCity_ContestHall_Text_21BC65, MSGBOX_SIGN +LilycoveCity_ContestHall_EventScript_SmartContestAudience1:: @ 821B533 + msgbox LilycoveCity_ContestHall_Text_YoureBeautifulGrandpa, MSGBOX_SIGN end -LilycoveCity_ContestHall_EventScript_21B53C:: @ 821B53C +LilycoveCity_ContestHall_EventScript_SmartContestAudience2:: @ 821B53C lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21BC89, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_AllSeemToUseDifferentMoves, MSGBOX_DEFAULT closemessage applymovement 12, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B553:: @ 821B553 +LilycoveCity_ContestHall_EventScript_SmartContestAudience3:: @ 821B553 lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21BD30, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_PokemonSmarterThanTrainers, MSGBOX_DEFAULT closemessage applymovement 22, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B56A:: @ 821B56A +LilycoveCity_ContestHall_EventScript_SmartContestAudience4:: @ 821B56A lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21BD70, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_StillLoveSmartnessContests, MSGBOX_DEFAULT closemessage applymovement 11, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B581:: @ 821B581 +LilycoveCity_ContestHall_EventScript_BeautyContestMC:: @ 821B581 lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21BDDD, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_AreYouEnteringBeautyContest, MSGBOX_DEFAULT closemessage applymovement 13, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B598:: @ 821B598 +LilycoveCity_ContestHall_EventScript_BeautyContestJudge:: @ 821B598 lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21BE16, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_EveryPokemonPristineBeauty, MSGBOX_DEFAULT closemessage applymovement 14, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B5AF:: @ 821B5AF +LilycoveCity_ContestHall_EventScript_BeautyContestant1:: @ 821B5AF lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21BE77, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_EyesWillBeGluedToMyBeauty, MSGBOX_DEFAULT closemessage applymovement 15, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B5C6:: @ 821B5C6 +LilycoveCity_ContestHall_EventScript_BeautyContestant2:: @ 821B5C6 lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21BEDE, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_OverdidGrooming, MSGBOX_DEFAULT closemessage applymovement 16, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B5DD:: @ 821B5DD +LilycoveCity_ContestHall_EventScript_BeautyContestant3:: @ 821B5DD lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21BF6E, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_JudgeWontSeeAuroraBeam, MSGBOX_DEFAULT closemessage applymovement 17, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B5F4:: @ 821B5F4 +LilycoveCity_ContestHall_EventScript_BeautyContestant4:: @ 821B5F4 lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21BFE3, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_PokemonLooksLikeYoungerMe, MSGBOX_DEFAULT closemessage applymovement 18, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B60B:: @ 821B60B +LilycoveCity_ContestHall_EventScript_BeautyContestAudience1:: @ 821B60B lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21C07F, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_WinBeautyContestMakesMeHappy, MSGBOX_DEFAULT closemessage applymovement 19, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B622:: @ 821B622 +LilycoveCity_ContestHall_EventScript_BeautyContestAudience2:: @ 821B622 lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21C0D8, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_GanderAtAllThosePrettyPokemon, MSGBOX_DEFAULT closemessage applymovement 21, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B639:: @ 821B639 +LilycoveCity_ContestHall_EventScript_BeautyContestAudience3:: @ 821B639 lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21C137, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_CantWinOnBeautyAlone, MSGBOX_DEFAULT closemessage applymovement 20, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B650:: @ 821B650 +LilycoveCity_ContestHall_EventScript_CuteContestMC:: @ 821B650 lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21C1A4, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_InTheMiddleOfContest, MSGBOX_DEFAULT closemessage applymovement 23, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B667:: @ 821B667 +LilycoveCity_ContestHall_EventScript_CuteContestJudge:: @ 821B667 lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21C215, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_SuchCharmingCuteAppeals, MSGBOX_DEFAULT closemessage applymovement 24, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B67E:: @ 821B67E +LilycoveCity_ContestHall_EventScript_CuteContestant1:: @ 821B67E lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21C27F, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_MyAzurillWasDistracted, MSGBOX_DEFAULT closemessage applymovement 25, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B695:: @ 821B695 +LilycoveCity_ContestHall_EventScript_CuteContestant2:: @ 821B695 lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21C2BB, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_NeverWonBattleButContest, MSGBOX_DEFAULT closemessage applymovement 26, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B6AC:: @ 821B6AC +LilycoveCity_ContestHall_EventScript_CuteContestant3:: @ 821B6AC lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21C307, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_PetalDanceIsMarvel, MSGBOX_DEFAULT closemessage applymovement 27, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B6C3:: @ 821B6C3 +LilycoveCity_ContestHall_EventScript_CuteContestant4:: @ 821B6C3 lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21C365, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_MyMonAppealSoMuchCuter, MSGBOX_DEFAULT closemessage applymovement 28, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B6DA:: @ 821B6DA +LilycoveCity_ContestHall_EventScript_CuteContestAudience1:: @ 821B6DA lockall applymovement 29, Common_Movement_FacePlayer waitmovement 0 - msgbox LilycoveCity_ContestHall_Text_21C3F4, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_MyChildIsInContest, MSGBOX_DEFAULT closemessage applymovement 29, Common_Movement_FaceOriginalDirection waitmovement 0 delay 25 - msgbox LilycoveCity_ContestHall_Text_21C411, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_ComeOnDear, MSGBOX_DEFAULT releaseall end -LilycoveCity_ContestHall_EventScript_21B705:: @ 821B705 +LilycoveCity_ContestHall_EventScript_CuteContestAudience2:: @ 821B705 lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21C4B1, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_WantCuteMonOfMyOwn, MSGBOX_DEFAULT closemessage applymovement 31, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B71C:: @ 821B71C +LilycoveCity_ContestHall_EventScript_CuteContestAudience3:: @ 821B71C lock faceplayer - msgbox LilycoveCity_ContestHall_Text_21C445, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestHall_Text_ThatGirlThereIsCutest, MSGBOX_DEFAULT closemessage applymovement 30, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestHall_EventScript_21B733:: @ 821B733 - msgbox LilycoveCity_ContestHall_Text_21C512, MSGBOX_SIGN +LilycoveCity_ContestHall_EventScript_BeautyStageSign:: @ 821B733 + msgbox LilycoveCity_ContestHall_Text_BeautyContestStage, MSGBOX_SIGN end -LilycoveCity_ContestHall_EventScript_21B73C:: @ 821B73C - msgbox LilycoveCity_ContestHall_Text_21C548, MSGBOX_SIGN +LilycoveCity_ContestHall_EventScript_CuteStageSign:: @ 821B73C + msgbox LilycoveCity_ContestHall_Text_CuteContestStage, MSGBOX_SIGN end -LilycoveCity_ContestHall_EventScript_21B745:: @ 821B745 - msgbox LilycoveCity_ContestHall_Text_21C57B, MSGBOX_SIGN +LilycoveCity_ContestHall_EventScript_SmartStageSign:: @ 821B745 + msgbox LilycoveCity_ContestHall_Text_SmartContestStage, MSGBOX_SIGN end -LilycoveCity_ContestHall_Text_21B74E: @ 821B74E +LilycoveCity_ContestHall_Text_TodayWonSmartnessContest: @ 821B74E .string "This POKéMON won the BEAUTY CONTEST\n" .string "here before.\p" .string "Well, guess what? Today, I made it\n" .string "win a SMARTNESS CONTEST!\p" .string "My abilities scare even me…$" -LilycoveCity_ContestHall_Text_21B7D7: @ 821B7D7 +LilycoveCity_ContestHall_Text_EnteredBunchOfContests: @ 821B7D7 .string "I've entered a bunch of CONTESTS,\n" .string "so I'm seeing how things work.\p" .string "If you're in a COOLNESS CONTEST,\n" @@ -321,29 +321,29 @@ LilycoveCity_ContestHall_Text_21B7D7: @ 821B7D7 .string "But smart moves and cute moves\n" .string "don't go over well, for instance.$" -LilycoveCity_ContestHall_Text_21B899: @ 821B899 +LilycoveCity_ContestHall_Text_ManWhoWonEarlierHadPokeblocks: @ 821B899 .string "That young man who won earlier had\n" .string "a whole bunch of different {POKEBLOCK}S.\p" .string "Can you win if you had that many\n" .string "of those things?$" -LilycoveCity_ContestHall_Text_21B911: @ 821B911 +LilycoveCity_ContestHall_Text_IsntThisPlaceHumongous: @ 821B911 .string "Whoa, isn't this place humongous!\p" .string "The tension in the air… It's not\n" .string "like a CONTEST hall in the sticks.$" -LilycoveCity_ContestHall_Text_21B977: @ 821B977 +LilycoveCity_ContestHall_Text_GiveItBestSmartAppeal: @ 821B977 .string "MC: Okay, SMART POKéMON and their\n" .string "TRAINERS, are you ready?!\p" .string "Give it your best showing!\n" .string "Let's appeal!$" -LilycoveCity_ContestHall_Text_21B9DC: @ 821B9DC +LilycoveCity_ContestHall_Text_AreYouEnjoyingThisContest: @ 821B9DC .string "JUDGE: Are you enjoying this CONTEST?\p" .string "Come back with three friends, and\n" .string "all of you may enter a CONTEST!$" -LilycoveCity_ContestHall_Text_21BA44: @ 821BA44 +LilycoveCity_ContestHall_Text_EnteredWrongContest: @ 821BA44 .string "Ayayayay…\n" .string "I entered the wrong CONTEST.\p" .string "I entered this tough POKéMON in\n" @@ -351,7 +351,7 @@ LilycoveCity_ContestHall_Text_21BA44: @ 821BA44 .string "Come on, wow them with a smart-looking\n" .string "ROCK SMASH.$" -LilycoveCity_ContestHall_Text_21BAD5: @ 821BAD5 +LilycoveCity_ContestHall_Text_RaisedMonToBeSmart: @ 821BAD5 .string "I've spent many a year, and all my\n" .string "wisdom besides, raising this POKéMON\l" .string "to be smart.\p" @@ -359,54 +359,54 @@ LilycoveCity_ContestHall_Text_21BAD5: @ 821BAD5 .string "young pup's POKéMON.\p" .string "My dear wife, are you seeing this?$" -LilycoveCity_ContestHall_Text_21BB84: @ 821BB84 +LilycoveCity_ContestHall_Text_IfMonPullsSmartMoveNext: @ 821BB84 .string "There it is!\p" .string "If my POKéMON pulls a smart move next,\n" .string "the audience's excitement will peak!$" -LilycoveCity_ContestHall_Text_21BBDD: @ 821BBDD +LilycoveCity_ContestHall_Text_DontAppreciateCuteLeechLife: @ 821BBDD .string "Oh, dear, no!\p" .string "My darling ZUBAT's LEECH LIFE is so\n" .string "cute I kept using it over and over!\p" .string "But these mean people don't appreciate\n" .string "it at all!$" -LilycoveCity_ContestHall_Text_21BC65: @ 821BC65 +LilycoveCity_ContestHall_Text_YoureBeautifulGrandpa: @ 821BC65 .string "Kiyaaah! You're beautiful, Grandpa!$" -LilycoveCity_ContestHall_Text_21BC89: @ 821BC89 +LilycoveCity_ContestHall_Text_AllSeemToUseDifferentMoves: @ 821BC89 .string "Even when TRAINERS enter the same\n" .string "kind of POKéMON, they all seem to use\l" .string "different moves for appeals.\p" .string "It's just like the way people have\n" .string "different styles for battling.$" -LilycoveCity_ContestHall_Text_21BD30: @ 821BD30 +LilycoveCity_ContestHall_Text_PokemonSmarterThanTrainers: @ 821BD30 .string "I think the POKéMON look smarter\n" .string "than their TRAINERS. By a lot.$" -LilycoveCity_ContestHall_Text_21BD70: @ 821BD70 +LilycoveCity_ContestHall_Text_StillLoveSmartnessContests: @ 821BD70 .string "When all's said and done, I still love\n" .string "SMARTNESS CONTESTS.\p" .string "That intellectual green color…\n" .string "It's so… So… Cool.$" -LilycoveCity_ContestHall_Text_21BDDD: @ 821BDDD +LilycoveCity_ContestHall_Text_AreYouEnteringBeautyContest: @ 821BDDD .string "MC: Are you entering the BEAUTY\n" .string "CONTEST, too? Good luck!$" -LilycoveCity_ContestHall_Text_21BE16: @ 821BE16 +LilycoveCity_ContestHall_Text_EveryPokemonPristineBeauty: @ 821BE16 .string "JUDGE: Ah, every POKéMON here is\n" .string "a model of pristine beauty!\p" .string "Why, I almost forgot to score them!$" -LilycoveCity_ContestHall_Text_21BE77: @ 821BE77 +LilycoveCity_ContestHall_Text_EyesWillBeGluedToMyBeauty: @ 821BE77 .string "A POKéMON this beautiful…\n" .string "There isn't another one like it.\p" .string "Everyone's eyes will be glued to\n" .string "my beauty.$" -LilycoveCity_ContestHall_Text_21BEDE: @ 821BEDE +LilycoveCity_ContestHall_Text_OverdidGrooming: @ 821BEDE .string "Waaaah!\p" .string "I brushed and groomed my POKéMON\n" .string "carefully for this CONTEST…\p" @@ -414,96 +414,96 @@ LilycoveCity_ContestHall_Text_21BEDE: @ 821BEDE .string "My POKéMON's coat turned all scraggly…\p" .string "What should I do?$" -LilycoveCity_ContestHall_Text_21BF6E: @ 821BF6E +LilycoveCity_ContestHall_Text_JudgeWontSeeAuroraBeam: @ 821BF6E .string "This AURORA BEAM is so dazzling,\n" .string "the JUDGE won't be able to see it.\p" .string "Uh, wait a second…\n" .string "That'll be meaningless, then!$" -LilycoveCity_ContestHall_Text_21BFE3: @ 821BFE3 +LilycoveCity_ContestHall_Text_PokemonLooksLikeYoungerMe: @ 821BFE3 .string "This pretty POKéMON looks just like\n" .string "me when I was younger.\p" .string "Right when I said that, my husband\n" .string "spewed the coffee he was drinking.\p" .string "Did I say something funny?$" -LilycoveCity_ContestHall_Text_21C07F: @ 821C07F +LilycoveCity_ContestHall_Text_WinBeautyContestMakesMeHappy: @ 821C07F .string "You know, if I win at a BEAUTY\n" .string "CONTEST, sure it makes me\l" .string "happy. More than usual, anyway.$" -LilycoveCity_ContestHall_Text_21C0D8: @ 821C0D8 +LilycoveCity_ContestHall_Text_GanderAtAllThosePrettyPokemon: @ 821C0D8 .string "Wahahahah!\p" .string "Will you take a gander at all those\n" .string "pretty POKéMON!\l" .string "I just love this sort of glitz!$" -LilycoveCity_ContestHall_Text_21C137: @ 821C137 +LilycoveCity_ContestHall_Text_CantWinOnBeautyAlone: @ 821C137 .string "You can't always win on just beauty\n" .string "alone.\p" .string "You have to groom your POKéMON so\n" .string "it's nice and glossy like mine.$" -LilycoveCity_ContestHall_Text_21C1A4: @ 821C1A4 +LilycoveCity_ContestHall_Text_InTheMiddleOfContest: @ 821C1A4 .string "MC: Uh-oh! Hello!\n" .string "We're in the middle of a CONTEST!\p" .string "Please enter at our registration\n" .string "counter and come out, okay?$" -LilycoveCity_ContestHall_Text_21C215: @ 821C215 +LilycoveCity_ContestHall_Text_SuchCharmingCuteAppeals: @ 821C215 .string "JUDGE: Oh, such charming and cute\n" .string "appeals!\p" .string "Oh, my goodness! What a perfectly\n" .string "adorable WATER SPORT appeal!$" -LilycoveCity_ContestHall_Text_21C27F: @ 821C27F +LilycoveCity_ContestHall_Text_MyAzurillWasDistracted: @ 821C27F .string "Oh, no… My sweet AZURILL was\n" .string "distracted by another POKéMON.$" -LilycoveCity_ContestHall_Text_21C2BB: @ 821C2BB +LilycoveCity_ContestHall_Text_NeverWonBattleButContest: @ 821C2BB .string "My POKéMON has never won in a battle,\n" .string "but put it in a CONTEST and look out!$" -LilycoveCity_ContestHall_Text_21C307: @ 821C307 +LilycoveCity_ContestHall_Text_PetalDanceIsMarvel: @ 821C307 .string "My POKéMON's PETAL DANCE is a marvel\n" .string "of elegance.\p" .string "I won't let anyone disturb its\n" .string "performance.$" -LilycoveCity_ContestHall_Text_21C365: @ 821C365 +LilycoveCity_ContestHall_Text_MyMonAppealSoMuchCuter: @ 821C365 .string "Everyone's POKéMON are very cute.\p" .string "However, if my POKéMON were to make\n" .string "a cute appeal…\p" .string "I'm sure that it would be so much \n" .string "cuter than the others.$" -LilycoveCity_ContestHall_Text_21C3F4: @ 821C3F4 +LilycoveCity_ContestHall_Text_MyChildIsInContest: @ 821C3F4 .string "My child is in this CONTEST.$" -LilycoveCity_ContestHall_Text_21C411: @ 821C411 +LilycoveCity_ContestHall_Text_ComeOnDear: @ 821C411 .string "Come on, dear. Go for it!\n" .string "Your POKéMON is the best!$" -LilycoveCity_ContestHall_Text_21C445: @ 821C445 +LilycoveCity_ContestHall_Text_ThatGirlThereIsCutest: @ 821C445 .string "I think that girl over there is\n" .string "the cutest of the lot.\p" .string "What's that? They're judging\n" .string "POKéMON by their looks?$" -LilycoveCity_ContestHall_Text_21C4B1: @ 821C4B1 +LilycoveCity_ContestHall_Text_WantCuteMonOfMyOwn: @ 821C4B1 .string "Ohh, seeing all these cute POKéMON,\n" .string "they make we want to get my own!\p" .string "I'm going to go catch some!$" -LilycoveCity_ContestHall_Text_21C512: @ 821C512 +LilycoveCity_ContestHall_Text_BeautyContestStage: @ 821C512 .string "BEAUTY CONTEST STAGE\n" .string "BE ALLURED BY BEAUTIFUL POKéMON!$" -LilycoveCity_ContestHall_Text_21C548: @ 821C548 +LilycoveCity_ContestHall_Text_CuteContestStage: @ 821C548 .string "CUTENESS CONTEST STAGE\n" .string "BE CHARMED BY CUTE POKéMON!$" -LilycoveCity_ContestHall_Text_21C57B: @ 821C57B +LilycoveCity_ContestHall_Text_SmartContestStage: @ 821C57B .string "SMARTNESS CONTEST STAGE\n" .string "BE IMPRESSED BY SMART POKéMON!$" diff --git a/data/maps/LilycoveCity_ContestLobby/map.json b/data/maps/LilycoveCity_ContestLobby/map.json index 3cbb48f214..744ed41742 100644 --- a/data/maps/LilycoveCity_ContestLobby/map.json +++ b/data/maps/LilycoveCity_ContestLobby/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A554", + "script": "LilycoveCity_ContestLobby_EventScript_ContestReceptionist", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A806", + "script": "LilycoveCity_ContestLobby_EventScript_LinkContestReceptionist", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_293FA2", + "script": "BerryBlender_EventScript_Blender2Man", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A708", + "script": "LilycoveCity_ContestLobby_EventScript_BlackBelt", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A711", + "script": "LilycoveCity_ContestLobby_EventScript_Girl", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A71A", + "script": "LilycoveCity_ContestLobby_EventScript_Artist", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_28CA59", + "script": "LilycoveCity_ContestLobby_EventScript_Reporter", "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A768", + "script": "LilycoveCity_ContestLobby_EventScript_Blender3Boy", "flag": "0" }, { @@ -141,7 +141,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_293FB4", + "script": "BerryBlender_EventScript_Blender2Twin", "flag": "0" }, { @@ -167,7 +167,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A72C", + "script": "LilycoveCity_ContestLobby_EventScript_Fisherman", "flag": "0" }, { @@ -180,7 +180,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A723", + "script": "LilycoveCity_ContestLobby_EventScript_FatMan", "flag": "0" }, { @@ -193,7 +193,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A735", + "script": "LilycoveCity_ContestLobby_EventScript_NinjaBoy", "flag": "0" }, { @@ -206,7 +206,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_293FAB", + "script": "BerryBlender_EventScript_Blender3PokefanF", "flag": "0" }, { @@ -219,8 +219,8 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_293FBD", - "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT" + "script": "BerryBlender_EventScript_Blender1ExpertM", + "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_REPLACEMENT" }, { "graphics_id": "EVENT_OBJ_GFX_GIRL_1", @@ -232,7 +232,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A771", + "script": "LilycoveCity_ContestLobby_EventScript_Blender3Girl", "flag": "0" }, { @@ -245,8 +245,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A7B3", - "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS" + "script": "LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker2", + "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER" }, { "graphics_id": "EVENT_OBJ_GFX_CAMPER", @@ -258,8 +258,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A7BE", - "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS" + "script": "LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker3", + "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER" }, { "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL", @@ -271,8 +271,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A7C9", - "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS" + "script": "LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker4", + "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER" }, { "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_2", @@ -284,8 +284,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A7D9", - "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS" + "script": "LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker5", + "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER" }, { "graphics_id": "EVENT_OBJ_GFX_WOMAN_1", @@ -297,8 +297,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A7E9", - "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS" + "script": "LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker6", + "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER" }, { "graphics_id": "EVENT_OBJ_GFX_NINJA_BOY", @@ -310,8 +310,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A7A8", - "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS" + "script": "LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker1", + "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER" }, { "graphics_id": "EVENT_OBJ_GFX_OLD_MAN", @@ -323,8 +323,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21A798", - "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS" + "script": "LilycoveCity_ContestLobby_EventScript_BlendMaster", + "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER" }, { "graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL", @@ -336,7 +336,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_ContestLobby_EventScript_21ACF1", + "script": "LilycoveCity_ContestLobby_EventScript_LittleGirl", "flag": "0" } ], @@ -378,7 +378,7 @@ "y": 5, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "EventScript_PblockLink" + "script": "BerryBlender_EventScript_BerryBlenderLink" }, { "type": "sign", @@ -386,7 +386,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_ContestLobby_EventScript_293E1E" + "script": "BerryBlender_EventScript_BerryBlender3" }, { "type": "sign", @@ -394,7 +394,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_ContestLobby_EventScript_21A753" + "script": "LilycoveCity_ContestLobby_EventScript_ContestWinner4" }, { "type": "sign", @@ -402,7 +402,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_ContestLobby_EventScript_21A75A" + "script": "LilycoveCity_ContestLobby_EventScript_ContestWinner5" }, { "type": "sign", @@ -410,7 +410,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_ContestLobby_EventScript_21A761" + "script": "LilycoveCity_ContestLobby_EventScript_ContestWinner6" }, { "type": "sign", @@ -418,7 +418,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_ContestLobby_EventScript_21A77A" + "script": "LilycoveCity_ContestLobby_EventScript_BerryBlenderSpeedRecords" }, { "type": "sign", @@ -426,7 +426,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_ContestLobby_EventScript_21A73E" + "script": "LilycoveCity_ContestLobby_EventScript_ContestWinner1" }, { "type": "sign", @@ -434,7 +434,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_ContestLobby_EventScript_21A745" + "script": "LilycoveCity_ContestLobby_EventScript_ContestWinner2" }, { "type": "sign", @@ -442,7 +442,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_ContestLobby_EventScript_21A74C" + "script": "LilycoveCity_ContestLobby_EventScript_ContestWinner3" }, { "type": "sign", @@ -450,7 +450,7 @@ "y": 5, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "EventScript_Pblock1_Ask" + "script": "BerryBlender_EventScript_BerryBlender1" }, { "type": "sign", @@ -458,7 +458,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_ContestLobby_EventScript_293D4D" + "script": "BerryBlender_EventScript_BerryBlender2" }, { "type": "sign", @@ -466,7 +466,7 @@ "y": 3, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_ContestLobby_EventScript_21A784" + "script": "LilycoveCity_ContestLobby_EventScript_LinkContestResults" } ] } \ No newline at end of file diff --git a/data/maps/LilycoveCity_ContestLobby/scripts.inc b/data/maps/LilycoveCity_ContestLobby/scripts.inc index cd4749bfc5..3dd3259c71 100644 --- a/data/maps/LilycoveCity_ContestLobby/scripts.inc +++ b/data/maps/LilycoveCity_ContestLobby/scripts.inc @@ -1,164 +1,166 @@ LilycoveCity_ContestLobby_MapScripts:: @ 821A211 map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_ContestLobby_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_ContestLobby_MapScript2_21A243 + map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_ContestLobby_OnFrame .byte 0 +@ Some scripts for this room are split into data/scripts/contest_hall and data/scripts/berry_blender + LilycoveCity_ContestLobby_OnTransition: @ 821A21C - call LilycoveCity_ContestLobby_EventScript_28CB2B - call LilycoveCity_ContestLobby_EventScript_21A227 + call LilycoveCity_ContestLobby_EventScript_TryShowContestReporter + call LilycoveCity_ContestLobby_EventScript_TryShowBlendMaster end -LilycoveCity_ContestLobby_EventScript_21A227:: @ 821A227 - getpricereduction 4 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21A23C - clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT - setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS +LilycoveCity_ContestLobby_EventScript_TryShowBlendMaster:: @ 821A227 + getpricereduction POKENEWS_BLENDMASTER + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_ContestLobby_EventScript_ShowBlendMaster + clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_REPLACEMENT + setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER return -LilycoveCity_ContestLobby_EventScript_21A23C:: @ 821A23C - setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT - clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS +LilycoveCity_ContestLobby_EventScript_ShowBlendMaster:: @ 821A23C + setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_REPLACEMENT + clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER return -LilycoveCity_ContestLobby_MapScript2_21A243: @ 821A243 - map_script_2 VAR_LILYCOVE_CONTEST_LOBBY_STATE, 1, LilycoveCity_ContestLobby_EventScript_21A255 - map_script_2 VAR_LILYCOVE_CONTEST_LOBBY_STATE, 2, LilycoveCity_ContestLobby_EventScript_21A427 +LilycoveCity_ContestLobby_OnFrame: @ 821A243 + map_script_2 VAR_LILYCOVE_CONTEST_LOBBY_STATE, 1, LilycoveCity_ContestLobby_EventScript_TryDoContestArtist + map_script_2 VAR_LILYCOVE_CONTEST_LOBBY_STATE, 2, LilycoveCity_ContestLobby_EventScript_TryDoLinkContestArtist .2byte 0 -LilycoveCity_ContestLobby_EventScript_21A255:: @ 821A255 - goto_if_set FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR, LilycoveCity_ContestLobby_EventScript_21A264 +LilycoveCity_ContestLobby_EventScript_TryDoContestArtist:: @ 821A255 + goto_if_set FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR, LilycoveCity_ContestLobby_EventScript_ContestArtist setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0 end -LilycoveCity_ContestLobby_EventScript_21A264:: @ 821A264 +LilycoveCity_ContestLobby_EventScript_ContestArtist:: @ 821A264 lockall addobject 4 - applymovement 4, LilycoveCity_ContestLobby_Movement_21A407 + applymovement 4, LilycoveCity_ContestLobby_Movement_ArtistApproachPlayer waitmovement 4 - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A418 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerFaceArtist waitmovement 0 - msgbox LilycoveCity_ContestLobby_Text_21ADB9, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestLobby_Text_YourPokemonSpurredMeToPaint, MSGBOX_DEFAULT lockall - fadescreen 1 - drawcontestwinner 0 + fadescreen FADE_TO_BLACK + showcontestwinner 0 lockall - msgbox LilycoveCity_ContestLobby_Text_21AE78, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21A2AA - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21A2E4 + msgbox LilycoveCity_ContestLobby_Text_ShouldITakePaintingToMuseum, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseum + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_ContestLobby_EventScript_ConfirmDontTakePainting releaseall end -LilycoveCity_ContestLobby_EventScript_21A2AA:: @ 821A2AA - msgbox LilycoveCity_ContestLobby_Text_21AF63, MSGBOX_DEFAULT +LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseum:: @ 821A2AA + msgbox LilycoveCity_ContestLobby_Text_IllTakePaintingToMuseum, MSGBOX_DEFAULT closemessage - special sub_80F88DC + special SaveMuseumContestPainting setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0 specialvar VAR_RESULT, GiveMonArtistRibbon - compare VAR_RESULT, 1 - call_if_eq LilycoveCity_ContestLobby_EventScript_21A314 - applymovement 4, LilycoveCity_ContestLobby_Movement_21A40F + compare VAR_RESULT, TRUE + call_if_eq LilycoveCity_ContestLobby_EventScript_ReceivedArtistRibbon + applymovement 4, LilycoveCity_ContestLobby_Movement_ArtistExit waitmovement 0 removeobject 4 - call LilycoveCity_ContestLobby_EventScript_21A360 - call LilycoveCity_ContestLobby_EventScript_21A3B6 + call LilycoveCity_ContestLobby_EventScript_UpdateMuseumPatrons + call LilycoveCity_ContestLobby_EventScript_SetPaintingFlag releaseall end -LilycoveCity_ContestLobby_EventScript_21A2E4:: @ 821A2E4 - msgbox LilycoveCity_ContestLobby_Text_21B0BC, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21A2AA - msgbox LilycoveCity_ContestLobby_Text_21B132, MSGBOX_DEFAULT +LilycoveCity_ContestLobby_EventScript_ConfirmDontTakePainting:: @ 821A2E4 + msgbox LilycoveCity_ContestLobby_Text_TakeHomeButIdLikeToTakeToMuseum, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseum + msgbox LilycoveCity_ContestLobby_Text_FineThatsTheWayItIs, MSGBOX_DEFAULT closemessage - applymovement 4, LilycoveCity_ContestLobby_Movement_21A40F + applymovement 4, LilycoveCity_ContestLobby_Movement_ArtistExit waitmovement 0 setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0 removeobject 4 releaseall end -LilycoveCity_ContestLobby_EventScript_21A314:: @ 821A314 - incrementgamestat 42 - special sub_80F8390 - applymovement 4, LilycoveCity_ContestLobby_Movement_21A41A +LilycoveCity_ContestLobby_EventScript_ReceivedArtistRibbon:: @ 821A314 + incrementgamestat GAME_STAT_RECEIVED_RIBBONS + special BufferContestWinnerMonName + applymovement 4, LilycoveCity_ContestLobby_Movement_ArtistBeginToExit waitmovement 0 playse SE_PIN applymovement 4, Common_Movement_ExclamationMark waitmovement 0 - applymovement 4, LilycoveCity_ContestLobby_Movement_21A41E + applymovement 4, LilycoveCity_ContestLobby_Movement_ArtistReturnToPlayer waitmovement 0 - msgbox LilycoveCity_ContestLobby_Text_21B030, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestLobby_Text_TakeMementoOfPainting, MSGBOX_DEFAULT playfanfare MUS_FANFA4 - msgbox LilycoveCity_ContestLobby_Text_21B07E, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestLobby_Text_ReceivedARibbon, MSGBOX_DEFAULT waitfanfare - msgbox LilycoveCity_ContestLobby_Text_21B094, MSGBOX_DEFAULT - msgbox LilycoveCity_ContestLobby_Text_21B0AD, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestLobby_Text_PutTheRibbonOnMon, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestLobby_Text_OkaySeeYou, MSGBOX_DEFAULT closemessage return -LilycoveCity_ContestLobby_EventScript_21A360:: @ 821A360 +LilycoveCity_ContestLobby_EventScript_UpdateMuseumPatrons:: @ 821A360 specialvar VAR_0x8004, CountPlayerContestPaintings switch VAR_0x8004 - case 1, LilycoveCity_ContestLobby_EventScript_21A3A2 - case 2, LilycoveCity_ContestLobby_EventScript_21A3A6 - case 3, LilycoveCity_ContestLobby_EventScript_21A3AA - case 4, LilycoveCity_ContestLobby_EventScript_21A3AE - case 5, LilycoveCity_ContestLobby_EventScript_21A3B2 + case 1, LilycoveCity_ContestLobby_EventScript_ShowPatron1 + case 2, LilycoveCity_ContestLobby_EventScript_ShowPatron2 + case 3, LilycoveCity_ContestLobby_EventScript_ShowPatron3 + case 4, LilycoveCity_ContestLobby_EventScript_ShowPatron4 + case 5, LilycoveCity_ContestLobby_EventScript_ShowTourists return -LilycoveCity_ContestLobby_EventScript_21A3A2:: @ 821A3A2 +LilycoveCity_ContestLobby_EventScript_ShowPatron1:: @ 821A3A2 clearflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1 return -LilycoveCity_ContestLobby_EventScript_21A3A6:: @ 821A3A6 +LilycoveCity_ContestLobby_EventScript_ShowPatron2:: @ 821A3A6 clearflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_2 return -LilycoveCity_ContestLobby_EventScript_21A3AA:: @ 821A3AA +LilycoveCity_ContestLobby_EventScript_ShowPatron3:: @ 821A3AA clearflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_3 return -LilycoveCity_ContestLobby_EventScript_21A3AE:: @ 821A3AE +LilycoveCity_ContestLobby_EventScript_ShowPatron4:: @ 821A3AE clearflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_4 return -LilycoveCity_ContestLobby_EventScript_21A3B2:: @ 821A3B2 +LilycoveCity_ContestLobby_EventScript_ShowTourists:: @ 821A3B2 clearflag FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS return -LilycoveCity_ContestLobby_EventScript_21A3B6:: @ 821A3B6 +LilycoveCity_ContestLobby_EventScript_SetPaintingFlag:: @ 821A3B6 switch VAR_CONTEST_CATEGORY - case 0, LilycoveCity_ContestLobby_EventScript_21A3F3 - case 1, LilycoveCity_ContestLobby_EventScript_21A3F7 - case 2, LilycoveCity_ContestLobby_EventScript_21A3FB - case 3, LilycoveCity_ContestLobby_EventScript_21A3FF - case 4, LilycoveCity_ContestLobby_EventScript_21A403 + case CONTEST_CATEGORY_COOL, LilycoveCity_ContestLobby_EventScript_MadeCoolPainting + case CONTEST_CATEGORY_BEAUTY, LilycoveCity_ContestLobby_EventScript_MadeBeautyPainting + case CONTEST_CATEGORY_CUTE, LilycoveCity_ContestLobby_EventScript_MadeCutePainting + case CONTEST_CATEGORY_SMART, LilycoveCity_ContestLobby_EventScript_MadeSmartPainting + case CONTEST_CATEGORY_TOUGH, LilycoveCity_ContestLobby_EventScript_MadeToughPainting return -LilycoveCity_ContestLobby_EventScript_21A3F3:: @ 821A3F3 +LilycoveCity_ContestLobby_EventScript_MadeCoolPainting:: @ 821A3F3 setflag FLAG_COOL_PAINTING_MADE return -LilycoveCity_ContestLobby_EventScript_21A3F7:: @ 821A3F7 +LilycoveCity_ContestLobby_EventScript_MadeBeautyPainting:: @ 821A3F7 setflag FLAG_BEAUTY_PAINTING_MADE return -LilycoveCity_ContestLobby_EventScript_21A3FB:: @ 821A3FB +LilycoveCity_ContestLobby_EventScript_MadeCutePainting:: @ 821A3FB setflag FLAG_CUTE_PAINTING_MADE return -LilycoveCity_ContestLobby_EventScript_21A3FF:: @ 821A3FF +LilycoveCity_ContestLobby_EventScript_MadeSmartPainting:: @ 821A3FF setflag FLAG_SMART_PAINTING_MADE return -LilycoveCity_ContestLobby_EventScript_21A403:: @ 821A403 +LilycoveCity_ContestLobby_EventScript_MadeToughPainting:: @ 821A403 setflag FLAG_TOUGH_PAINTING_MADE return -LilycoveCity_ContestLobby_Movement_21A407: @ 821A407 +LilycoveCity_ContestLobby_Movement_ArtistApproachPlayer: @ 821A407 walk_down walk_down walk_down @@ -168,7 +170,7 @@ LilycoveCity_ContestLobby_Movement_21A407: @ 821A407 walk_right step_end -LilycoveCity_ContestLobby_Movement_21A40F: @ 821A40F +LilycoveCity_ContestLobby_Movement_ArtistExit: @ 821A40F walk_down walk_down walk_down @@ -179,17 +181,17 @@ LilycoveCity_ContestLobby_Movement_21A40F: @ 821A40F walk_down step_end -LilycoveCity_ContestLobby_Movement_21A418: @ 821A418 +LilycoveCity_ContestLobby_Movement_PlayerFaceArtist: @ 821A418 walk_in_place_fastest_left step_end -LilycoveCity_ContestLobby_Movement_21A41A: @ 821A41A +LilycoveCity_ContestLobby_Movement_ArtistBeginToExit: @ 821A41A walk_down walk_down walk_down step_end -LilycoveCity_ContestLobby_Movement_21A41E: @ 821A41E +LilycoveCity_ContestLobby_Movement_ArtistReturnToPlayer: @ 821A41E delay_16 delay_16 delay_16 @@ -200,79 +202,79 @@ LilycoveCity_ContestLobby_Movement_21A41E: @ 821A41E walk_in_place_fastest_right step_end -LilycoveCity_ContestLobby_EventScript_21A427:: @ 821A427 - goto_if_set FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR, LilycoveCity_ContestLobby_EventScript_21A436 +LilycoveCity_ContestLobby_EventScript_TryDoLinkContestArtist:: @ 821A427 + goto_if_set FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR, LilycoveCity_ContestLobby_EventScript_LinkContestArtist setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0 end -LilycoveCity_ContestLobby_EventScript_21A436:: @ 821A436 +LilycoveCity_ContestLobby_EventScript_LinkContestArtist:: @ 821A436 lockall addobject 11 - applymovement 11, LilycoveCity_ContestLobby_Movement_21A533 + applymovement 11, LilycoveCity_ContestLobby_Movement_LinkArtistApproachPlayer waitmovement 11 - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A545 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerFaceLinkArtist waitmovement 0 - msgbox LilycoveCity_ContestLobby_Text_21ADB9, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestLobby_Text_YourPokemonSpurredMeToPaint, MSGBOX_DEFAULT lockall - fadescreen 1 - drawcontestwinner 0 - msgbox LilycoveCity_ContestLobby_Text_21AE78, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21A47A - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21A4B4 + fadescreen FADE_TO_BLACK + showcontestwinner 0 + msgbox LilycoveCity_ContestLobby_Text_ShouldITakePaintingToMuseum, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseumLink + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_ContestLobby_EventScript_ConfirmDontTakePaintingLink end -LilycoveCity_ContestLobby_EventScript_21A47A:: @ 821A47A - msgbox LilycoveCity_ContestLobby_Text_21AF63, MSGBOX_DEFAULT +LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseumLink:: @ 821A47A + msgbox LilycoveCity_ContestLobby_Text_IllTakePaintingToMuseum, MSGBOX_DEFAULT closemessage - special sub_80F88DC + special SaveMuseumContestPainting setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0 specialvar VAR_RESULT, GiveMonArtistRibbon - compare VAR_RESULT, 1 - call_if_eq LilycoveCity_ContestLobby_EventScript_21A4E4 - applymovement 11, LilycoveCity_ContestLobby_Movement_21A53C + compare VAR_RESULT, TRUE + call_if_eq LilycoveCity_ContestLobby_EventScript_ReceivedLinkArtistRibbon + applymovement 11, LilycoveCity_ContestLobby_Movement_LinkArtistExit waitmovement 0 removeobject 11 - call LilycoveCity_ContestLobby_EventScript_21A360 - call LilycoveCity_ContestLobby_EventScript_21A3B6 + call LilycoveCity_ContestLobby_EventScript_UpdateMuseumPatrons + call LilycoveCity_ContestLobby_EventScript_SetPaintingFlag releaseall end -LilycoveCity_ContestLobby_EventScript_21A4B4:: @ 821A4B4 - msgbox LilycoveCity_ContestLobby_Text_21B0BC, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21A47A - msgbox LilycoveCity_ContestLobby_Text_21B132, MSGBOX_DEFAULT +LilycoveCity_ContestLobby_EventScript_ConfirmDontTakePaintingLink:: @ 821A4B4 + msgbox LilycoveCity_ContestLobby_Text_TakeHomeButIdLikeToTakeToMuseum, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseumLink + msgbox LilycoveCity_ContestLobby_Text_FineThatsTheWayItIs, MSGBOX_DEFAULT closemessage - applymovement 11, LilycoveCity_ContestLobby_Movement_21A53C + applymovement 11, LilycoveCity_ContestLobby_Movement_LinkArtistExit waitmovement 0 setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0 removeobject 11 releaseall end -LilycoveCity_ContestLobby_EventScript_21A4E4:: @ 821A4E4 - incrementgamestat 42 +LilycoveCity_ContestLobby_EventScript_ReceivedLinkArtistRibbon:: @ 821A4E4 + incrementgamestat GAME_STAT_RECEIVED_RIBBONS setflag FLAG_SYS_RIBBON_GET - special sub_80F8390 - applymovement 11, LilycoveCity_ContestLobby_Movement_21A547 + special BufferContestWinnerMonName + applymovement 11, LilycoveCity_ContestLobby_Movement_LinkArtistBeginExit waitmovement 0 playse SE_PIN applymovement 11, Common_Movement_ExclamationMark waitmovement 0 - applymovement 11, LilycoveCity_ContestLobby_Movement_21A54B + applymovement 11, LilycoveCity_ContestLobby_Movement_LinkArtistReturnToPlayer waitmovement 0 - msgbox LilycoveCity_ContestLobby_Text_21B030, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestLobby_Text_TakeMementoOfPainting, MSGBOX_DEFAULT playfanfare MUS_FANFA4 - msgbox LilycoveCity_ContestLobby_Text_21B07E, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestLobby_Text_ReceivedARibbon, MSGBOX_DEFAULT waitfanfare - msgbox LilycoveCity_ContestLobby_Text_21B094, MSGBOX_DEFAULT - msgbox LilycoveCity_ContestLobby_Text_21B0AD, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestLobby_Text_PutTheRibbonOnMon, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestLobby_Text_OkaySeeYou, MSGBOX_DEFAULT closemessage return -LilycoveCity_ContestLobby_Movement_21A533: @ 821A533 +LilycoveCity_ContestLobby_Movement_LinkArtistApproachPlayer: @ 821A533 walk_down walk_down walk_down @@ -283,7 +285,7 @@ LilycoveCity_ContestLobby_Movement_21A533: @ 821A533 walk_left step_end -LilycoveCity_ContestLobby_Movement_21A53C: @ 821A53C +LilycoveCity_ContestLobby_Movement_LinkArtistExit: @ 821A53C walk_down walk_down walk_down @@ -294,17 +296,17 @@ LilycoveCity_ContestLobby_Movement_21A53C: @ 821A53C walk_down step_end -LilycoveCity_ContestLobby_Movement_21A545: @ 821A545 +LilycoveCity_ContestLobby_Movement_PlayerFaceLinkArtist: @ 821A545 walk_in_place_fastest_right step_end -LilycoveCity_ContestLobby_Movement_21A547: @ 821A547 +LilycoveCity_ContestLobby_Movement_LinkArtistBeginExit: @ 821A547 walk_down walk_down walk_down step_end -LilycoveCity_ContestLobby_Movement_21A54B: @ 821A54B +LilycoveCity_ContestLobby_Movement_LinkArtistReturnToPlayer: @ 821A54B delay_16 delay_16 delay_16 @@ -315,122 +317,124 @@ LilycoveCity_ContestLobby_Movement_21A54B: @ 821A54B walk_in_place_fastest_left step_end -LilycoveCity_ContestLobby_EventScript_21A554:: @ 821A554 - special sub_80F9154 - specialvar VAR_RESULT, sub_80F8D24 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21A5CF - call LilycoveCity_ContestLobby_EventScript_279CC5 - call LilycoveCity_ContestLobby_EventScript_21A670 +@ EventScript_SpeakToContestReceptionist either ends or returns after a contest entry is submitted +LilycoveCity_ContestLobby_EventScript_ContestReceptionist:: @ 821A554 + special ClearLinkContestFlags + specialvar VAR_RESULT, IsContestDebugActive @ Always FALSE + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_ContestLobby_EventScript_SetDebug + call LilycoveCity_ContestLobby_EventScript_SpeakToContestReceptionist + call LilycoveCity_ContestLobby_EventScript_LeadToContestHall special SetContestTrainerGfxIds - call LilycoveCity_ContestLobby_EventScript_23BEB6 - call LilycoveCity_ContestLobby_EventScript_21A585 - call LilycoveCity_ContestLobby_EventScript_21A5EF + call LilycoveCity_ContestLobby_EventScript_SetPlayerGfx + call LilycoveCity_ContestLobby_EventScript_SetContestType + call LilycoveCity_ContestLobby_EventScript_WarpToContestHall waitstate end -LilycoveCity_ContestLobby_EventScript_21A585:: @ 821A585 +LilycoveCity_ContestLobby_EventScript_SetContestType:: @ 821A585 switch VAR_CONTEST_RANK - case 0, LilycoveCity_ContestLobby_EventScript_21A5B7 - case 1, LilycoveCity_ContestLobby_EventScript_21A5BD - case 2, LilycoveCity_ContestLobby_EventScript_21A5C3 - case 3, LilycoveCity_ContestLobby_EventScript_21A5C9 + case CONTEST_RANK_NORMAL, LilycoveCity_ContestLobby_EventScript_SetNormalContestType + case CONTEST_RANK_SUPER, LilycoveCity_ContestLobby_EventScript_SetSuperContestType + case CONTEST_RANK_HYPER, LilycoveCity_ContestLobby_EventScript_SetHyperContestType + case CONTEST_RANK_MASTER, LilycoveCity_ContestLobby_EventScript_SetMasterContestType return -LilycoveCity_ContestLobby_EventScript_21A5B7:: @ 821A5B7 - setvar VAR_CONTEST_LOCATION, 1 +LilycoveCity_ContestLobby_EventScript_SetNormalContestType:: @ 821A5B7 + setvar VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_NORMAL return -LilycoveCity_ContestLobby_EventScript_21A5BD:: @ 821A5BD - setvar VAR_CONTEST_LOCATION, 2 +LilycoveCity_ContestLobby_EventScript_SetSuperContestType:: @ 821A5BD + setvar VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_SUPER return -LilycoveCity_ContestLobby_EventScript_21A5C3:: @ 821A5C3 - setvar VAR_CONTEST_LOCATION, 3 +LilycoveCity_ContestLobby_EventScript_SetHyperContestType:: @ 821A5C3 + setvar VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_HYPER return -LilycoveCity_ContestLobby_EventScript_21A5C9:: @ 821A5C9 - setvar VAR_CONTEST_LOCATION, 4 +LilycoveCity_ContestLobby_EventScript_SetMasterContestType:: @ 821A5C9 + setvar VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_MASTER return -LilycoveCity_ContestLobby_EventScript_21A5CF:: @ 821A5CF +@ Functionally unused +LilycoveCity_ContestLobby_EventScript_SetDebug:: @ 821A5CF setflag FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR - copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 0x1 - giveitem ITEM_CONTEST_PASS, 1 + copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1 + additem ITEM_CONTEST_PASS setvar VAR_0x800B, 8 - setvar VAR_CONTEST_RANK, 3 + setvar VAR_CONTEST_RANK, CONTEST_RANK_MASTER setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 1 setflag FLAG_SYS_RIBBON_GET end -LilycoveCity_ContestLobby_EventScript_21A5EF:: @ 821A5EF - setflag FLAG_ENTERED_LINK_CONTEST +LilycoveCity_ContestLobby_EventScript_WarpToContestHall:: @ 821A5EF + setflag FLAG_ENTERED_CONTEST switch VAR_CONTEST_CATEGORY - case 0, LilycoveCity_ContestLobby_EventScript_21A62F - case 1, LilycoveCity_ContestLobby_EventScript_21A63C - case 2, LilycoveCity_ContestLobby_EventScript_21A649 - case 3, LilycoveCity_ContestLobby_EventScript_21A656 - case 4, LilycoveCity_ContestLobby_EventScript_21A663 + case CONTEST_CATEGORY_COOL, LilycoveCity_ContestLobby_EventScript_WarpToCoolContestHall + case CONTEST_CATEGORY_BEAUTY, LilycoveCity_ContestLobby_EventScript_WarpToBeautyContestHall + case CONTEST_CATEGORY_CUTE, LilycoveCity_ContestLobby_EventScript_WarpToCuteContestHall + case CONTEST_CATEGORY_SMART, LilycoveCity_ContestLobby_EventScript_WarpToSmartContestHall + case CONTEST_CATEGORY_TOUGH, LilycoveCity_ContestLobby_EventScript_WarpToToughContestHall return -LilycoveCity_ContestLobby_EventScript_21A62F:: @ 821A62F - setwarp MAP_LINK_CONTEST_ROOM4, 255, 7, 5 - special sub_80AFC60 +LilycoveCity_ContestLobby_EventScript_WarpToCoolContestHall:: @ 821A62F + setwarp MAP_CONTEST_HALL_COOL, 255, 7, 5 + special DoContestHallWarp waitstate return -LilycoveCity_ContestLobby_EventScript_21A63C:: @ 821A63C - setwarp MAP_LINK_CONTEST_ROOM2, 255, 7, 5 - special sub_80AFC60 +LilycoveCity_ContestLobby_EventScript_WarpToBeautyContestHall:: @ 821A63C + setwarp MAP_CONTEST_HALL_BEAUTY, 255, 7, 5 + special DoContestHallWarp waitstate return -LilycoveCity_ContestLobby_EventScript_21A649:: @ 821A649 - setwarp MAP_LINK_CONTEST_ROOM6, 255, 7, 5 - special sub_80AFC60 +LilycoveCity_ContestLobby_EventScript_WarpToCuteContestHall:: @ 821A649 + setwarp MAP_CONTEST_HALL_CUTE, 255, 7, 5 + special DoContestHallWarp waitstate return -LilycoveCity_ContestLobby_EventScript_21A656:: @ 821A656 - setwarp MAP_LINK_CONTEST_ROOM5, 255, 7, 5 - special sub_80AFC60 +LilycoveCity_ContestLobby_EventScript_WarpToSmartContestHall:: @ 821A656 + setwarp MAP_CONTEST_HALL_SMART, 255, 7, 5 + special DoContestHallWarp waitstate return -LilycoveCity_ContestLobby_EventScript_21A663:: @ 821A663 - setwarp MAP_LINK_CONTEST_ROOM3, 255, 7, 5 - special sub_80AFC60 +LilycoveCity_ContestLobby_EventScript_WarpToToughContestHall:: @ 821A663 + setwarp MAP_CONTEST_HALL_TOUGH, 255, 7, 5 + special DoContestHallWarp waitstate return -LilycoveCity_ContestLobby_EventScript_21A670:: @ 821A670 +LilycoveCity_ContestLobby_EventScript_LeadToContestHall:: @ 821A670 lockall - applymovement 1, LilycoveCity_ContestLobby_Movement_21A6F5 + applymovement 1, LilycoveCity_ContestLobby_Movement_ReceptionistApproachCounter waitmovement 0 playse SE_HASHI setmetatile 12, 2, METATILE_Contest_WallShadow, 1 setmetatile 12, 3, METATILE_Contest_FloorShadow, 1 special DrawWholeMapView - applymovement 1, LilycoveCity_ContestLobby_Movement_21A6F9 + applymovement 1, LilycoveCity_ContestLobby_Movement_ReceptionistExitCounter waitmovement 0 playse SE_HASHI setmetatile 12, 2, METATILE_Contest_CounterFlap_Top, 1 setmetatile 12, 3, METATILE_Contest_CounterFlap_Bottom, 1 special DrawWholeMapView delay 20 - applymovement 1, LilycoveCity_ContestLobby_Movement_21A706 + applymovement 1, LilycoveCity_ContestLobby_Movement_ReceptionistFacePlayer waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A6F2 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerApproachReceptionist waitmovement 0 - msgbox LilycoveCity_ContestLobby_Text_27B653, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestLobby_Text_ComeThroughHere, MSGBOX_DEFAULT closemessage - applymovement 1, LilycoveCity_ContestLobby_Movement_21A6FD - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A6E8 + applymovement 1, LilycoveCity_ContestLobby_Movement_ReceptionistWalkToContestHall + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerWalkToContestHall waitmovement 0 releaseall return -LilycoveCity_ContestLobby_Movement_21A6E8: @ 821A6E8 +LilycoveCity_ContestLobby_Movement_PlayerWalkToContestHall: @ 821A6E8 walk_left walk_left walk_left @@ -442,24 +446,24 @@ LilycoveCity_ContestLobby_Movement_21A6E8: @ 821A6E8 set_invisible step_end -LilycoveCity_ContestLobby_Movement_21A6F2: @ 821A6F2 +LilycoveCity_ContestLobby_Movement_PlayerApproachReceptionist: @ 821A6F2 walk_in_place_fastest_left walk_left step_end -LilycoveCity_ContestLobby_Movement_21A6F5: @ 821A6F5 +LilycoveCity_ContestLobby_Movement_ReceptionistApproachCounter: @ 821A6F5 walk_left walk_left walk_in_place_fastest_down step_end -LilycoveCity_ContestLobby_Movement_21A6F9: @ 821A6F9 +LilycoveCity_ContestLobby_Movement_ReceptionistExitCounter: @ 821A6F9 walk_down walk_down walk_in_place_fastest_up step_end -LilycoveCity_ContestLobby_Movement_21A6FD: @ 821A6FD +LilycoveCity_ContestLobby_Movement_ReceptionistWalkToContestHall: @ 821A6FD walk_left walk_left walk_left @@ -470,85 +474,85 @@ LilycoveCity_ContestLobby_Movement_21A6FD: @ 821A6FD set_invisible step_end -LilycoveCity_ContestLobby_Movement_21A706: @ 821A706 +LilycoveCity_ContestLobby_Movement_ReceptionistFacePlayer: @ 821A706 walk_in_place_fastest_right step_end -LilycoveCity_ContestLobby_EventScript_21A708:: @ 821A708 - msgbox LilycoveCity_ContestLobby_Text_21B1B1, MSGBOX_NPC +LilycoveCity_ContestLobby_EventScript_BlackBelt:: @ 821A708 + msgbox LilycoveCity_ContestLobby_Text_MasterRankHereICome, MSGBOX_NPC end -LilycoveCity_ContestLobby_EventScript_21A711:: @ 821A711 - msgbox LilycoveCity_ContestLobby_Text_21B24D, MSGBOX_NPC +LilycoveCity_ContestLobby_EventScript_Girl:: @ 821A711 + msgbox LilycoveCity_ContestLobby_Text_WholeVarietyOfPokemonHere, MSGBOX_NPC end -LilycoveCity_ContestLobby_EventScript_21A71A:: @ 821A71A - msgbox LilycoveCity_ContestLobby_Text_21B2BA, MSGBOX_NPC +LilycoveCity_ContestLobby_EventScript_Artist:: @ 821A71A + msgbox LilycoveCity_ContestLobby_Text_ContestFeastForEyes, MSGBOX_NPC end -LilycoveCity_ContestLobby_EventScript_21A723:: @ 821A723 - msgbox LilycoveCity_ContestLobby_Text_21B334, MSGBOX_NPC +LilycoveCity_ContestLobby_EventScript_FatMan:: @ 821A723 + msgbox LilycoveCity_ContestLobby_Text_ToughContestIsExtreme, MSGBOX_NPC end -LilycoveCity_ContestLobby_EventScript_21A72C:: @ 821A72C - msgbox LilycoveCity_ContestLobby_Text_21B392, MSGBOX_NPC +LilycoveCity_ContestLobby_EventScript_Fisherman:: @ 821A72C + msgbox LilycoveCity_ContestLobby_Text_LavishedCareOnMon, MSGBOX_NPC end -LilycoveCity_ContestLobby_EventScript_21A735:: @ 821A735 - msgbox LilycoveCity_ContestLobby_Text_21B3FC, MSGBOX_NPC +LilycoveCity_ContestLobby_EventScript_NinjaBoy:: @ 821A735 + msgbox LilycoveCity_ContestLobby_Text_MadePokeblocksWithFamily, MSGBOX_NPC end -LilycoveCity_ContestLobby_EventScript_21A73E:: @ 821A73E +LilycoveCity_ContestLobby_EventScript_ContestWinner1:: @ 821A73E lockall - fadescreen 1 - drawcontestwinner 1 + fadescreen FADE_TO_BLACK + showcontestwinner 1 releaseall end -LilycoveCity_ContestLobby_EventScript_21A745:: @ 821A745 +LilycoveCity_ContestLobby_EventScript_ContestWinner2:: @ 821A745 lockall - fadescreen 1 - drawcontestwinner 2 + fadescreen FADE_TO_BLACK + showcontestwinner 2 releaseall end -LilycoveCity_ContestLobby_EventScript_21A74C:: @ 821A74C +LilycoveCity_ContestLobby_EventScript_ContestWinner3:: @ 821A74C lockall - fadescreen 1 - drawcontestwinner 3 + fadescreen FADE_TO_BLACK + showcontestwinner 3 releaseall end -LilycoveCity_ContestLobby_EventScript_21A753:: @ 821A753 +LilycoveCity_ContestLobby_EventScript_ContestWinner4:: @ 821A753 lockall - fadescreen 1 - drawcontestwinner 4 + fadescreen FADE_TO_BLACK + showcontestwinner 4 releaseall end -LilycoveCity_ContestLobby_EventScript_21A75A:: @ 821A75A +LilycoveCity_ContestLobby_EventScript_ContestWinner5:: @ 821A75A lockall - fadescreen 1 - drawcontestwinner 5 + fadescreen FADE_TO_BLACK + showcontestwinner 5 releaseall end -LilycoveCity_ContestLobby_EventScript_21A761:: @ 821A761 +LilycoveCity_ContestLobby_EventScript_ContestWinner6:: @ 821A761 lockall - fadescreen 1 - drawcontestwinner 6 + fadescreen FADE_TO_BLACK + showcontestwinner 6 releaseall end -LilycoveCity_ContestLobby_EventScript_21A768:: @ 821A768 - msgbox LilycoveCity_ContestLobby_Text_2931AA, MSGBOX_NPC +LilycoveCity_ContestLobby_EventScript_Blender3Boy:: @ 821A768 + msgbox BerryBlender_Text_LetsGetBlendingAlready, MSGBOX_NPC end -LilycoveCity_ContestLobby_EventScript_21A771:: @ 821A771 - msgbox LilycoveCity_ContestLobby_Text_2931C6, MSGBOX_NPC +LilycoveCity_ContestLobby_EventScript_Blender3Girl:: @ 821A771 + msgbox BerryBlender_Text_WhatKindOfPokeblockWillIGet, MSGBOX_NPC end -LilycoveCity_ContestLobby_EventScript_21A77A:: @ 821A77A +LilycoveCity_ContestLobby_EventScript_BerryBlenderSpeedRecords:: @ 821A77A lockall special ShowBerryBlenderRecordWindow waitbuttonpress @@ -556,407 +560,405 @@ LilycoveCity_ContestLobby_EventScript_21A77A:: @ 821A77A releaseall end -LilycoveCity_ContestLobby_EventScript_21A784:: @ 821A784 +LilycoveCity_ContestLobby_EventScript_LinkContestResults:: @ 821A784 lockall - setvar VAR_0x8004, 7 - setvar VAR_0x8005, 7 - special CallFrontierUtilFunc + frontier_results FACILITY_LINK_CONTEST waitbuttonpress special RemoveRecordsWindow releaseall end -LilycoveCity_ContestLobby_EventScript_21A798:: @ 821A798 +LilycoveCity_ContestLobby_EventScript_BlendMaster:: @ 821A798 lock faceplayer - msgbox LilycoveCity_ContestLobby_Text_2C427C, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_21A7F9 + msgbox BerryBlender_Text_BlendWithTheBlendMaster, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_FaceOriginalDirection end -LilycoveCity_ContestLobby_EventScript_21A7A8:: @ 821A7A8 +LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker1:: @ 821A7A8 lock - msgbox LilycoveCity_ContestLobby_Text_2C464B, MSGBOX_DEFAULT + msgbox BerryBlender_Text_WhoaAwesome, MSGBOX_DEFAULT release end -LilycoveCity_ContestLobby_EventScript_21A7B3:: @ 821A7B3 +LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker2:: @ 821A7B3 lock - msgbox LilycoveCity_ContestLobby_Text_2C465A, MSGBOX_DEFAULT + msgbox BerryBlender_Text_WickedlyFast, MSGBOX_DEFAULT release end -LilycoveCity_ContestLobby_EventScript_21A7BE:: @ 821A7BE +LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker3:: @ 821A7BE lock - msgbox LilycoveCity_ContestLobby_Text_2C4669, MSGBOX_DEFAULT + msgbox BerryBlender_Text_WhatAnExpert, MSGBOX_DEFAULT release end -LilycoveCity_ContestLobby_EventScript_21A7C9:: @ 821A7C9 +LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker4:: @ 821A7C9 lock faceplayer - msgbox LilycoveCity_ContestLobby_Text_2C4679, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_21A7F9 + msgbox BerryBlender_Text_MadeAmazingPokeblocksWithMaster, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_FaceOriginalDirection end -LilycoveCity_ContestLobby_EventScript_21A7D9:: @ 821A7D9 +LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker5:: @ 821A7D9 lock faceplayer - msgbox LilycoveCity_ContestLobby_Text_2C46B1, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_21A7F9 + msgbox BerryBlender_Text_QualitiesOfBlendMaster, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_FaceOriginalDirection end -LilycoveCity_ContestLobby_EventScript_21A7E9:: @ 821A7E9 +LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker6:: @ 821A7E9 lock faceplayer - msgbox LilycoveCity_ContestLobby_Text_2C4763, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_21A7F9 + msgbox BerryBlender_Text_MasterWorksOnSkillsInMountains, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_FaceOriginalDirection end -LilycoveCity_ContestLobby_EventScript_21A7F9:: @ 821A7F9 +LilycoveCity_ContestLobby_EventScript_FaceOriginalDirection:: @ 821A7F9 closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_ContestLobby_EventScript_21A806:: @ 821A806 - special sub_80F9154 +LilycoveCity_ContestLobby_EventScript_LinkContestReceptionist:: @ 821A806 + special ClearLinkContestFlags lock faceplayer - msgbox LilycoveCity_ContestLobby_Text_27C063, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_21A819 + msgbox LilycoveCity_ContestLobby_Text_LinkContestReception, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_AskEnterLinkContest end -LilycoveCity_ContestLobby_EventScript_21A819:: @ 821A819 - message LilycoveCity_ContestLobby_Text_27C0F6 +LilycoveCity_ContestLobby_EventScript_AskEnterLinkContest:: @ 821A819 + message LilycoveCity_ContestLobby_Text_EnterContest3 waitmessage - multichoice 0, 0, 2, 0 + multichoice 0, 0, MULTI_ENTERINFO, 0 switch VAR_RESULT - case 0, LilycoveCity_ContestLobby_EventScript_21A856 - case 1, LilycoveCity_ContestLobby_EventScript_21A90D - case 2, LilycoveCity_ContestLobby_EventScript_21A97F - case 127, LilycoveCity_ContestLobby_EventScript_21A97F + case 0, LilycoveCity_ContestLobby_EventScript_TryEnterLinkContest + case 1, LilycoveCity_ContestLobby_EventScript_LinkContestInfo + case 2, LilycoveCity_ContestLobby_EventScript_CancelLinkContest + case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelLinkContest end -LilycoveCity_ContestLobby_EventScript_21A856:: @ 821A856 - msgbox LilycoveCity_ContestLobby_Text_27BD17, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21A97F +LilycoveCity_ContestLobby_EventScript_TryEnterLinkContest:: @ 821A856 + msgbox LilycoveCity_ContestLobby_Text_ProgressWillBeSaved, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkContest call Common_EventScript_SaveGame - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21A97F - message LilycoveCity_ContestLobby_Text_27C8FD + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkContest + message LilycoveCity_ContestLobby_Text_WhichContestMode waitmessage specialvar VAR_TEMP_D, IsWirelessAdapterConnected - multichoice 0, 0, 85, 0 + multichoice 0, 0, MULTI_LINK_CONTEST_MODE, 0 switch VAR_RESULT - case 0, LilycoveCity_ContestLobby_EventScript_21A8BB - case 1, LilycoveCity_ContestLobby_EventScript_21A8C6 - case 2, LilycoveCity_ContestLobby_EventScript_21A97F - case 127, LilycoveCity_ContestLobby_EventScript_21A97F + case 0, LilycoveCity_ContestLobby_EventScript_EmeraldMode @ Shortened to E-Mode + case 1, LilycoveCity_ContestLobby_EventScript_GlobalMode @ Shortened to G-Mode + case 2, LilycoveCity_ContestLobby_EventScript_CancelLinkContest + case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelLinkContest end -LilycoveCity_ContestLobby_EventScript_21A8BB:: @ 821A8BB +LilycoveCity_ContestLobby_EventScript_EmeraldMode:: @ 821A8BB setvar VAR_TEMP_C, 0 - goto LilycoveCity_ContestLobby_EventScript_21A8DC + goto LilycoveCity_ContestLobby_EventScript_ChooseLinkContestType end -LilycoveCity_ContestLobby_EventScript_21A8C6:: @ 821A8C6 +LilycoveCity_ContestLobby_EventScript_GlobalMode:: @ 821A8C6 setvar VAR_TEMP_C, 1 compare VAR_TEMP_D, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAFC - goto LilycoveCity_ContestLobby_EventScript_21A8DC + goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkNoWirelessGMode + goto LilycoveCity_ContestLobby_EventScript_ChooseLinkContestType end -LilycoveCity_ContestLobby_EventScript_21A8DC:: @ 821A8DC - message LilycoveCity_ContestLobby_Text_27C119 +LilycoveCity_ContestLobby_EventScript_ChooseLinkContestType:: @ 821A8DC + message LilycoveCity_ContestLobby_Text_EnterWhichContest3 waitmessage - multichoice 0, 0, 4, 0 + multichoice 0, 0, MULTI_CONTEST_TYPE, 0 switch VAR_RESULT - case 5, LilycoveCity_ContestLobby_EventScript_21A97F - case 127, LilycoveCity_ContestLobby_EventScript_21A97F + case CONTEST_CATEGORIES_COUNT, LilycoveCity_ContestLobby_EventScript_CancelLinkContest + case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelLinkContest copyvar VAR_CONTEST_CATEGORY, VAR_RESULT - goto LilycoveCity_ContestLobby_EventScript_21A98C + goto LilycoveCity_ContestLobby_EventScript_ChooseLinkContestMon end -LilycoveCity_ContestLobby_EventScript_21A90D:: @ 821A90D - message LilycoveCity_ContestLobby_Text_27C0DA +LilycoveCity_ContestLobby_EventScript_LinkContestInfo:: @ 821A90D + message LilycoveCity_ContestLobby_Text_WhichTopic2 waitmessage - multichoice 0, 0, 84, 0 + multichoice 0, 0, MULTI_LINK_CONTEST_INFO, 0 switch VAR_RESULT - case 0, LilycoveCity_ContestLobby_EventScript_21A955 - case 1, LilycoveCity_ContestLobby_EventScript_21A963 - case 2, LilycoveCity_ContestLobby_EventScript_21A971 - case 3, LilycoveCity_ContestLobby_EventScript_21A819 - case 127, LilycoveCity_ContestLobby_EventScript_21A819 + case 0, LilycoveCity_ContestLobby_EventScript_ExplainLinkContest + case 1, LilycoveCity_ContestLobby_EventScript_ExplainEMode + case 2, LilycoveCity_ContestLobby_EventScript_ExplainGMode + case 3, LilycoveCity_ContestLobby_EventScript_AskEnterLinkContest + case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_AskEnterLinkContest end -LilycoveCity_ContestLobby_EventScript_21A955:: @ 821A955 - msgbox LilycoveCity_ContestLobby_Text_27C340, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_21A90D +LilycoveCity_ContestLobby_EventScript_ExplainLinkContest:: @ 821A955 + msgbox LilycoveCity_ContestLobby_Text_ExplainLinkContest, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_LinkContestInfo end -LilycoveCity_ContestLobby_EventScript_21A963:: @ 821A963 - msgbox LilycoveCity_ContestLobby_Text_27C5B1, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_21A90D +LilycoveCity_ContestLobby_EventScript_ExplainEMode:: @ 821A963 + msgbox LilycoveCity_ContestLobby_Text_ExplainEMode, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_LinkContestInfo end -LilycoveCity_ContestLobby_EventScript_21A971:: @ 821A971 - msgbox LilycoveCity_ContestLobby_Text_27C742, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_21A90D +LilycoveCity_ContestLobby_EventScript_ExplainGMode:: @ 821A971 + msgbox LilycoveCity_ContestLobby_Text_ExplainGMode, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_LinkContestInfo end -LilycoveCity_ContestLobby_EventScript_21A97F:: @ 821A97F +LilycoveCity_ContestLobby_EventScript_CancelLinkContest:: @ 821A97F special CloseLink - msgbox LilycoveCity_ContestLobby_Text_27BD4F, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestLobby_Text_ParticipateAnotherTime, MSGBOX_DEFAULT release end -LilycoveCity_ContestLobby_EventScript_21A98C:: @ 821A98C - msgbox LilycoveCity_ContestLobby_Text_27C1C3, MSGBOX_DEFAULT +LilycoveCity_ContestLobby_EventScript_ChooseLinkContestMon:: @ 821A98C + msgbox LilycoveCity_ContestLobby_Text_EnterWhichPokemon3, MSGBOX_DEFAULT setvar VAR_CONTEST_RANK, 0 choosecontestmon compare VAR_0x8004, 255 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21A97F - special sub_80F7F30 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21A9E0 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21AA0A - compare VAR_RESULT, 2 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21AA0A - compare VAR_RESULT, 3 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21A9EE - compare VAR_RESULT, 4 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21A9FC + goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkContest + special TryEnterContestMon + compare VAR_RESULT, CANT_ENTER_CONTEST + goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkCantEnterLowRank + compare VAR_RESULT, CAN_ENTER_CONTEST_EQUAL_RANK + goto_if_eq LilycoveCity_ContestLobby_EventScript_EnterMonForLinkContest + compare VAR_RESULT, CAN_ENTER_CONTEST_HIGH_RANK + goto_if_eq LilycoveCity_ContestLobby_EventScript_EnterMonForLinkContest + compare VAR_RESULT, CANT_ENTER_CONTEST_EGG + goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkCantEnterEgg + compare VAR_RESULT, CANT_ENTER_CONTEST_FAINTED + goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkCantEnterFainted end -LilycoveCity_ContestLobby_EventScript_21A9E0:: @ 821A9E0 - msgbox LilycoveCity_ContestLobby_Text_27B471, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_21A98C +LilycoveCity_ContestLobby_EventScript_LinkCantEnterLowRank:: @ 821A9E0 + msgbox LilycoveCity_ContestLobby_Text_MonNotQualifiedForRank, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_ChooseLinkContestMon end -LilycoveCity_ContestLobby_EventScript_21A9EE:: @ 821A9EE - msgbox LilycoveCity_ContestLobby_Text_27C186, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_21A98C +LilycoveCity_ContestLobby_EventScript_LinkCantEnterEgg:: @ 821A9EE + msgbox LilycoveCity_ContestLobby_Text_EggCannotTakePart2, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_ChooseLinkContestMon end -LilycoveCity_ContestLobby_EventScript_21A9FC:: @ 821A9FC - msgbox LilycoveCity_ContestLobby_Text_27C140, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_21A98C +LilycoveCity_ContestLobby_EventScript_LinkCantEnterFainted:: @ 821A9FC + msgbox LilycoveCity_ContestLobby_Text_MonInNoCondition2, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_ChooseLinkContestMon end -LilycoveCity_ContestLobby_EventScript_21AA0A:: @ 821AA0A +LilycoveCity_ContestLobby_EventScript_EnterMonForLinkContest:: @ 821AA0A copyvar VAR_0x8008, VAR_0x8004 - goto LilycoveCity_ContestLobby_EventScript_21AA15 + goto LilycoveCity_ContestLobby_EventScript_TrySetUpLinkContest end -LilycoveCity_ContestLobby_EventScript_21AA15:: @ 821AA15 +LilycoveCity_ContestLobby_EventScript_TrySetUpLinkContest:: @ 821AA15 compare VAR_TEMP_D, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21AB4B + goto_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupType compare VAR_TEMP_D, 2 - goto_if_ge LilycoveCity_ContestLobby_EventScript_21A97F - message LilycoveCity_ContestLobby_Text_27BF85 + goto_if_ge LilycoveCity_ContestLobby_EventScript_CancelLinkContest + message LilycoveCity_ContestLobby_Text_PleaseWaitBButtonCancel waitmessage copyvar VAR_0x8004, VAR_RESULT compare VAR_TEMP_C, 0 - call_if_eq LilycoveCity_ContestLobby_EventScript_21AABB + call_if_eq LilycoveCity_ContestLobby_EventScript_TryLinkEMode compare VAR_TEMP_C, 1 - call_if_eq LilycoveCity_ContestLobby_EventScript_21AAC0 + call_if_eq LilycoveCity_ContestLobby_EventScript_TryLinkGMode compare VAR_TEMP_C, 2 - goto_if_ge LilycoveCity_ContestLobby_EventScript_21A97F + goto_if_ge LilycoveCity_ContestLobby_EventScript_CancelLinkContest compare VAR_RESULT, 4 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAD3 + goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkDifferentChoices compare VAR_RESULT, 3 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAD3 + goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkDifferentChoices compare VAR_RESULT, 5 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21A97F + goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkContest compare VAR_RESULT, 6 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAEF + goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkError compare VAR_RESULT, 10 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAE1 - message3 LilycoveCity_ContestLobby_Text_27BEEC + goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkModeDifference + message3 LilycoveCity_ContestLobby_Text_Transmitting contestlinktransfer switch VAR_0x8004 - case 0, LilycoveCity_ContestLobby_EventScript_21AB17 - case 1, LilycoveCity_ContestLobby_EventScript_21AAC5 - case 2, LilycoveCity_ContestLobby_EventScript_21AB09 + case 0, LilycoveCity_ContestLobby_EventScript_StartLinkContest + case 1, LilycoveCity_ContestLobby_EventScript_CancelLinkDifferentContest + case 2, LilycoveCity_ContestLobby_EventScript_CancelLinkTransmissionError end -LilycoveCity_ContestLobby_EventScript_21AABB:: @ 821AABB - special sub_80B3028 +LilycoveCity_ContestLobby_EventScript_TryLinkEMode:: @ 821AABB + special TryContestEModeLinkup waitstate return -LilycoveCity_ContestLobby_EventScript_21AAC0:: @ 821AAC0 - special sub_80B3000 +LilycoveCity_ContestLobby_EventScript_TryLinkGMode:: @ 821AAC0 + special TryContestGModeLinkup waitstate return -LilycoveCity_ContestLobby_EventScript_21AAC5:: @ 821AAC5 - msgbox LilycoveCity_ContestLobby_Text_27BF0E, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_21A97F +LilycoveCity_ContestLobby_EventScript_CancelLinkDifferentContest:: @ 821AAC5 + msgbox LilycoveCity_ContestLobby_Text_PlayersChoseDifferentContest, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_CancelLinkContest end -LilycoveCity_ContestLobby_EventScript_21AAD3:: @ 821AAD3 - msgbox LilycoveCity_ContestLobby_Text_27BF4B, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_21A97F +LilycoveCity_ContestLobby_EventScript_CancelLinkDifferentChoices:: @ 821AAD3 + msgbox LilycoveCity_ContestLobby_Text_PlayersMadeDifferentChoice, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_CancelLinkContest end -LilycoveCity_ContestLobby_EventScript_21AAE1:: @ 821AAE1 - msgbox LilycoveCity_ContestLobby_Text_27C254, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_21A97F +LilycoveCity_ContestLobby_EventScript_CancelLinkModeDifference:: @ 821AAE1 + msgbox LilycoveCity_ContestLobby_Text_PlayerAt4PCounterUseGMode, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_CancelLinkContest end -LilycoveCity_ContestLobby_EventScript_21AAEF:: @ 821AAEF +LilycoveCity_ContestLobby_EventScript_CancelLinkError:: @ 821AAEF special CloseLink - msgbox LilycoveCity_ContestLobby_Text_27821C, MSGBOX_DEFAULT + msgbox Text_LinkErrorPleaseReset, MSGBOX_DEFAULT release end -LilycoveCity_ContestLobby_EventScript_21AAFC:: @ 821AAFC +LilycoveCity_ContestLobby_EventScript_CancelLinkNoWirelessGMode:: @ 821AAFC special CloseLink - msgbox LilycoveCity_ContestLobby_Text_27C879, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestLobby_Text_NoWirelessAdapterInGMode, MSGBOX_DEFAULT release end -LilycoveCity_ContestLobby_EventScript_21AB09:: @ 821AB09 - msgbox LilycoveCity_ContestLobby_Text_27BEFA, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_21A97F +LilycoveCity_ContestLobby_EventScript_CancelLinkTransmissionError:: @ 821AB09 + msgbox LilycoveCity_ContestLobby_Text_TransmissionError, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_CancelLinkContest end -LilycoveCity_ContestLobby_EventScript_21AB17:: @ 821AB17 - special sub_80F84B0 +LilycoveCity_ContestLobby_EventScript_StartLinkContest:: @ 821AB17 + special GetContestPlayerId addvar VAR_0x8004, 1 buffernumberstring 1, VAR_0x8004 - messageautoscroll LilycoveCity_ContestLobby_Text_27BFF8 + messageautoscroll LilycoveCity_ContestLobby_Text_YourMonIsEntryNumX waitmessage subvar VAR_0x8004, 1 - call LilycoveCity_ContestLobby_EventScript_21AC49 - setvar VAR_LINK_CONTEST_ROOM_STATE, 1 - special sub_80F8AFC - setvar VAR_CONTEST_LOCATION, 5 - setvar VAR_CONTEST_RANK, 3 - call LilycoveCity_ContestLobby_EventScript_21A5EF + call LilycoveCity_ContestLobby_EventScript_LeadToLinkContestHall + setvar VAR_CONTEST_HALL_STATE, 1 + special SetLinkContestPlayerGfx + setvar VAR_CONTEST_TYPE, CONTEST_TYPE_LINK + setvar VAR_CONTEST_RANK, CONTEST_RANK_MASTER + call LilycoveCity_ContestLobby_EventScript_WarpToContestHall end -LilycoveCity_ContestLobby_EventScript_21AB4B:: @ 821AB4B - compare VAR_CONTEST_CATEGORY, 0 - call_if_eq LilycoveCity_ContestLobby_EventScript_21AB88 - compare VAR_CONTEST_CATEGORY, 1 - call_if_eq LilycoveCity_ContestLobby_EventScript_21AB8E - compare VAR_CONTEST_CATEGORY, 2 - call_if_eq LilycoveCity_ContestLobby_EventScript_21AB94 - compare VAR_CONTEST_CATEGORY, 3 - call_if_eq LilycoveCity_ContestLobby_EventScript_21AB9A - compare VAR_CONTEST_CATEGORY, 4 - call_if_eq LilycoveCity_ContestLobby_EventScript_21ABA0 - goto LilycoveCity_ContestLobby_EventScript_21ABA6 +LilycoveCity_ContestLobby_EventScript_SetLinkGroupType:: @ 821AB4B + compare VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_COOL + call_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupCoolContest + compare VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_BEAUTY + call_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupBeautyContest + compare VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_CUTE + call_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupCuteContest + compare VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_SMART + call_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupSmartContest + compare VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_TOUGH + call_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupToughContest + goto LilycoveCity_ContestLobby_EventScript_DecideLinkLeader end -LilycoveCity_ContestLobby_EventScript_21AB88:: @ 821AB88 - setvar VAR_0x8004, 15 +LilycoveCity_ContestLobby_EventScript_SetLinkGroupCoolContest:: @ 821AB88 + setvar VAR_0x8004, LINK_GROUP_COOL_CONTEST return -LilycoveCity_ContestLobby_EventScript_21AB8E:: @ 821AB8E - setvar VAR_0x8004, 16 +LilycoveCity_ContestLobby_EventScript_SetLinkGroupBeautyContest:: @ 821AB8E + setvar VAR_0x8004, LINK_GROUP_BEAUTY_CONTEST return -LilycoveCity_ContestLobby_EventScript_21AB94:: @ 821AB94 - setvar VAR_0x8004, 17 +LilycoveCity_ContestLobby_EventScript_SetLinkGroupCuteContest:: @ 821AB94 + setvar VAR_0x8004, LINK_GROUP_CUTE_CONTEST return -LilycoveCity_ContestLobby_EventScript_21AB9A:: @ 821AB9A - setvar VAR_0x8004, 18 +LilycoveCity_ContestLobby_EventScript_SetLinkGroupSmartContest:: @ 821AB9A + setvar VAR_0x8004, LINK_GROUP_SMART_CONTEST return -LilycoveCity_ContestLobby_EventScript_21ABA0:: @ 821ABA0 - setvar VAR_0x8004, 19 +LilycoveCity_ContestLobby_EventScript_SetLinkGroupToughContest:: @ 821ABA0 + setvar VAR_0x8004, LINK_GROUP_TOUGH_CONTEST return -LilycoveCity_ContestLobby_EventScript_21ABA6:: @ 821ABA6 - message Text_DecideLinkLeader +LilycoveCity_ContestLobby_EventScript_DecideLinkLeader:: @ 821ABA6 + message LilycoveCity_ContestLobby_Text_PleaseDecideLinkLeader waitmessage - multichoice 16, 6, 81, 0 + multichoice 16, 6, MULTI_LINK_LEADER, 0 switch VAR_RESULT - case 0, LilycoveCity_ContestLobby_EventScript_21AC0B - case 1, LilycoveCity_ContestLobby_EventScript_21ABE3 - case 2, LilycoveCity_ContestLobby_EventScript_21A97F - case 127, LilycoveCity_ContestLobby_EventScript_21A97F + case 0, LilycoveCity_ContestLobby_EventScript_TryJoinGroup + case 1, LilycoveCity_ContestLobby_EventScript_TryLeadGroup + case 2, LilycoveCity_ContestLobby_EventScript_CancelLinkContest + case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelLinkContest end -LilycoveCity_ContestLobby_EventScript_21ABE3:: @ 821ABE3 - call LilycoveCity_ContestLobby_EventScript_21AC33 +LilycoveCity_ContestLobby_EventScript_TryLeadGroup:: @ 821ABE3 + call LilycoveCity_ContestLobby_EventScript_TryBecomeLinkLeader compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21AC3D + goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkLeaderDecided compare VAR_RESULT, 5 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21ABA6 + goto_if_eq LilycoveCity_ContestLobby_EventScript_DecideLinkLeader compare VAR_RESULT, 8 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21ABE3 + goto_if_eq LilycoveCity_ContestLobby_EventScript_TryLeadGroup release end -LilycoveCity_ContestLobby_EventScript_21AC0B:: @ 821AC0B - call LilycoveCity_ContestLobby_EventScript_21AC38 +LilycoveCity_ContestLobby_EventScript_TryJoinGroup:: @ 821AC0B + call LilycoveCity_ContestLobby_EventScript_TryJoinLinkGroup compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21AC3D + goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkLeaderDecided compare VAR_RESULT, 5 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21ABA6 + goto_if_eq LilycoveCity_ContestLobby_EventScript_DecideLinkLeader compare VAR_RESULT, 8 - goto_if_eq LilycoveCity_ContestLobby_EventScript_21AC0B + goto_if_eq LilycoveCity_ContestLobby_EventScript_TryJoinGroup release end -LilycoveCity_ContestLobby_EventScript_21AC33:: @ 821AC33 - special BerryBlenderLinkBecomeLeader +LilycoveCity_ContestLobby_EventScript_TryBecomeLinkLeader:: @ 821AC33 + special TryBecomeLinkLeader waitstate return -LilycoveCity_ContestLobby_EventScript_21AC38:: @ 821AC38 - special BerryBlenderLinkJoinGroup +LilycoveCity_ContestLobby_EventScript_TryJoinLinkGroup:: @ 821AC38 + special TryJoinLinkGroup waitstate return -LilycoveCity_ContestLobby_EventScript_21AC3D:: @ 821AC3D - message3 LilycoveCity_ContestLobby_Text_27BEEC +LilycoveCity_ContestLobby_EventScript_LinkLeaderDecided:: @ 821AC3D + message3 LilycoveCity_ContestLobby_Text_Transmitting contestlinktransfer - goto LilycoveCity_ContestLobby_EventScript_21AB17 + goto LilycoveCity_ContestLobby_EventScript_StartLinkContest end -LilycoveCity_ContestLobby_EventScript_21AC49:: @ 821AC49 - messageautoscroll LilycoveCity_ContestLobby_Text_27C043 +LilycoveCity_ContestLobby_EventScript_LeadToLinkContestHall:: @ 821AC49 + messageautoscroll LilycoveCity_ContestLobby_Text_ContestBeginShortly waitmessage delay 20 closemessage - applymovement 2, LilycoveCity_ContestLobby_Movement_21ACDD + applymovement 2, LilycoveCity_ContestLobby_Movement_LinkReceptionistApproachCounter waitmovement 0 playse SE_HASHI setmetatile 17, 2, METATILE_Contest_WallShadow, 1 setmetatile 17, 3, METATILE_Contest_FloorShadow, 1 special DrawWholeMapView - applymovement 2, LilycoveCity_ContestLobby_Movement_21ACE1 + applymovement 2, LilycoveCity_ContestLobby_Movement_LinkReceptionistExitCounter waitmovement 0 playse SE_HASHI setmetatile 17, 2, METATILE_Contest_CounterFlap_Top, 1 setmetatile 17, 3, METATILE_Contest_CounterFlap_Bottom, 1 special DrawWholeMapView delay 20 - applymovement 2, LilycoveCity_ContestLobby_Movement_21ACEF + applymovement 2, LilycoveCity_ContestLobby_Movement_LinkReceptionistFacePlayer waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21ACDB + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerApproachLinkReceptionist waitmovement 0 - messageautoscroll LilycoveCity_ContestLobby_Text_27B653 + messageautoscroll LilycoveCity_ContestLobby_Text_ComeThroughHere waitmessage delay 20 closemessage - call LilycoveCity_ContestLobby_EventScript_27AD92 - applymovement 2, LilycoveCity_ContestLobby_Movement_21ACE5 - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21ACD0 + call LilycoveCity_ContestLobby_EventScript_DelayIfContestWithRSPlayer + applymovement 2, LilycoveCity_ContestLobby_Movement_LinkReceptionistWalkToContestHall + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerWalkToLinkContestHall waitmovement 0 release return -LilycoveCity_ContestLobby_Movement_21ACD0: @ 821ACD0 +LilycoveCity_ContestLobby_Movement_PlayerWalkToLinkContestHall: @ 821ACD0 walk_right walk_right walk_right @@ -969,23 +971,23 @@ LilycoveCity_ContestLobby_Movement_21ACD0: @ 821ACD0 set_invisible step_end -LilycoveCity_ContestLobby_Movement_21ACDB: @ 821ACDB +LilycoveCity_ContestLobby_Movement_PlayerApproachLinkReceptionist: @ 821ACDB walk_right step_end -LilycoveCity_ContestLobby_Movement_21ACDD: @ 821ACDD +LilycoveCity_ContestLobby_Movement_LinkReceptionistApproachCounter: @ 821ACDD walk_right walk_right walk_in_place_fastest_down step_end -LilycoveCity_ContestLobby_Movement_21ACE1: @ 821ACE1 +LilycoveCity_ContestLobby_Movement_LinkReceptionistExitCounter: @ 821ACE1 walk_down walk_down walk_in_place_fastest_up step_end -LilycoveCity_ContestLobby_Movement_21ACE5: @ 821ACE5 +LilycoveCity_ContestLobby_Movement_LinkReceptionistWalkToContestHall: @ 821ACE5 walk_right walk_right walk_right @@ -997,34 +999,34 @@ LilycoveCity_ContestLobby_Movement_21ACE5: @ 821ACE5 set_invisible step_end -LilycoveCity_ContestLobby_Movement_21ACEF: @ 821ACEF +LilycoveCity_ContestLobby_Movement_LinkReceptionistFacePlayer: @ 821ACEF walk_in_place_fastest_left step_end -LilycoveCity_ContestLobby_EventScript_21ACF1:: @ 821ACF1 +LilycoveCity_ContestLobby_EventScript_LittleGirl:: @ 821ACF1 lock faceplayer - goto_if_set FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_21AD06 - msgbox LilycoveCity_ContestLobby_Text_21AD10, MSGBOX_DEFAULT + goto_if_set FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_LittleGirlHaveCase + msgbox LilycoveCity_ContestLobby_Text_LadyGaveMePokeblockCase, MSGBOX_DEFAULT release end -LilycoveCity_ContestLobby_EventScript_21AD06:: @ 821AD06 - msgbox LilycoveCity_ContestLobby_Text_21AD55, MSGBOX_DEFAULT +LilycoveCity_ContestLobby_EventScript_LittleGirlHaveCase:: @ 821AD06 + msgbox LilycoveCity_ContestLobby_Text_MakePokeblocksDifferentBerries, MSGBOX_DEFAULT release end -LilycoveCity_ContestLobby_Text_21AD10: @ 821AD10 +LilycoveCity_ContestLobby_Text_LadyGaveMePokeblockCase: @ 821AD10 .string "Yippee!\p" .string "The lady at the reception counter\n" .string "gave me a case for {POKEBLOCK}S!$" -LilycoveCity_ContestLobby_Text_21AD55: @ 821AD55 +LilycoveCity_ContestLobby_Text_MakePokeblocksDifferentBerries: @ 821AD55 .string "Make {POKEBLOCK}S and put them in there.\p" .string "When you make a {POKEBLOCK}, everyone\n" .string "has to put in a different BERRY.$" -LilycoveCity_ContestLobby_Text_21ADB9: @ 821ADB9 +LilycoveCity_ContestLobby_Text_YourPokemonSpurredMeToPaint: @ 821ADB9 .string "Congratulations!\p" .string "I did a painting of your POKéMON to\n" .string "commemorate its victory…\p" @@ -1033,7 +1035,7 @@ LilycoveCity_ContestLobby_Text_21ADB9: @ 821ADB9 .string "painting better than I usually do.\l" .string "Look, see?$" -LilycoveCity_ContestLobby_Text_21AE78: @ 821AE78 +LilycoveCity_ContestLobby_Text_ShouldITakePaintingToMuseum: @ 821AE78 .string "What do you think? I'm confident in\n" .string "what I've done, but do you like it?\p" .string "A work of this caliber, it wouldn't look\n" @@ -1042,7 +1044,7 @@ LilycoveCity_ContestLobby_Text_21AE78: @ 821AE78 .string "for paintings?\p" .string "Do you think I should take this there?$" -LilycoveCity_ContestLobby_Text_21AF63: @ 821AF63 +LilycoveCity_ContestLobby_Text_IllTakePaintingToMuseum: @ 821AF63 .string "What, really? Then, sure, I will take\n" .string "this painting there right now.\p" .string "I'll give it a proper title, too.\p" @@ -1051,34 +1053,34 @@ LilycoveCity_ContestLobby_Text_21AF63: @ 821AF63 .string "Please check if they did accept this.\n" .string "Thank you!$" -LilycoveCity_ContestLobby_Text_21B030: @ 821B030 +LilycoveCity_ContestLobby_Text_TakeMementoOfPainting: @ 821B030 .string "Oh, that's right!\p" .string "As a memento of me painting your\n" .string "POKéMON, please take this.$" -LilycoveCity_ContestLobby_Text_21B07E: @ 821B07E +LilycoveCity_ContestLobby_Text_ReceivedARibbon: @ 821B07E .string "{PLAYER} received a RIBBON.$" -LilycoveCity_ContestLobby_Text_21B094: @ 821B094 +LilycoveCity_ContestLobby_Text_PutTheRibbonOnMon: @ 821B094 .string "{PLAYER} put the RIBBON on\n" .string "{STR_VAR_1}.$" -LilycoveCity_ContestLobby_Text_21B0AD: @ 821B0AD +LilycoveCity_ContestLobby_Text_OkaySeeYou: @ 821B0AD .string "Okay, see you!$" -LilycoveCity_ContestLobby_Text_21B0BC: @ 821B0BC +LilycoveCity_ContestLobby_Text_TakeHomeButIdLikeToTakeToMuseum: @ 821B0BC .string "Oh… Then, I guess I'll just take\n" .string "this home with me…\p" .string "But, you know, I would like to take\n" .string "this to the art museum… Okay?$" -LilycoveCity_ContestLobby_Text_21B132: @ 821B132 +LilycoveCity_ContestLobby_Text_FineThatsTheWayItIs: @ 821B132 .string "Oh, fine, that's the way it is.\n" .string "I will hang this in my own house.\p" .string "I'll just have to try harder next time.\n" .string "Well, be seeing you.$" -LilycoveCity_ContestLobby_Text_21B1B1: @ 821B1B1 +LilycoveCity_ContestLobby_Text_MasterRankHereICome: @ 821B1B1 .string "Hoo, boy… Master Rank CONTESTS,\n" .string "here I come.\p" .string "The world will know that my dearest\n" @@ -1086,31 +1088,31 @@ LilycoveCity_ContestLobby_Text_21B1B1: @ 821B1B1 .string "existence. The time has come!\l" .string "Uheheheh.$" -LilycoveCity_ContestLobby_Text_21B24D: @ 821B24D +LilycoveCity_ContestLobby_Text_WholeVarietyOfPokemonHere: @ 821B24D .string "You can see a whole variety of\n" .string "POKéMON here.\p" .string "That's why I make this place a regular\n" .string "part of my daily stroll.$" -LilycoveCity_ContestLobby_Text_21B2BA: @ 821B2BA +LilycoveCity_ContestLobby_Text_ContestFeastForEyes: @ 821B2BA .string "Wow, coming out to a CONTEST is\n" .string "a feast for these eyes!\p" .string "Would you look at all the POKéMON\n" .string "that just scream to be painted?$" -LilycoveCity_ContestLobby_Text_21B334: @ 821B334 +LilycoveCity_ContestLobby_Text_ToughContestIsExtreme: @ 821B334 .string "The TOUGHNESS CONTEST is like\n" .string "extreme, man!\p" .string "Those muscular appeals…\n" .string "Cascading sweat… I swoon!$" -LilycoveCity_ContestLobby_Text_21B392: @ 821B392 +LilycoveCity_ContestLobby_Text_LavishedCareOnMon: @ 821B392 .string "Day in and day out, I lavished my care\n" .string "on this POKéMON.\p" .string "Its condition is peaking.\n" .string "Today, victory is mine!$" -LilycoveCity_ContestLobby_Text_21B3FC: @ 821B3FC +LilycoveCity_ContestLobby_Text_MadePokeblocksWithFamily: @ 821B3FC .string "I made {POKEBLOCK}S with Mom, Dad, and\n" .string "Big Sister. They turned out great!\p" .string "I bet you can make smoother, better\n" diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json b/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json index 8f251039c2..c447bb41d9 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json +++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_CoveLilyMotel_1F_EventScript_218189", + "script": "LilycoveCity_CoveLilyMotel_1F_EventScript_MotelOwner", "flag": "0" } ], @@ -59,7 +59,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "LilycoveCity_CoveLilyMotel_1F_EventScript_218211" + "script": "LilycoveCity_CoveLilyMotel_1F_EventScript_BlockingTV" } ], "bg_events": [] diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc b/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc index 87e4c0afdb..3f97cc5972 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc +++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc @@ -1,79 +1,79 @@ LilycoveCity_CoveLilyMotel_1F_MapScripts:: @ 8218188 .byte 0 -LilycoveCity_CoveLilyMotel_1F_EventScript_218189:: @ 8218189 +LilycoveCity_CoveLilyMotel_1F_EventScript_MotelOwner:: @ 8218189 lockall - goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_CoveLilyMotel_1F_EventScript_2181EA - goto_if_set FLAG_BADGE07_GET, LilycoveCity_CoveLilyMotel_1F_EventScript_2181C3 - msgbox LilycoveCity_CoveLilyMotel_1F_Text_218264, MSGBOX_DEFAULT + goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_CoveLilyMotel_1F_EventScript_GameClear + goto_if_set FLAG_BADGE07_GET, LilycoveCity_CoveLilyMotel_1F_EventScript_AquaHideoutBusted + msgbox LilycoveCity_CoveLilyMotel_1F_Text_GuestsDoubledByMascot, MSGBOX_DEFAULT applymovement 1, Common_Movement_FacePlayer waitmovement 0 - msgbox LilycoveCity_CoveLilyMotel_1F_Text_21831E, MSGBOX_DEFAULT + msgbox LilycoveCity_CoveLilyMotel_1F_Text_NoGuestsWithTeamAqua, MSGBOX_DEFAULT closemessage applymovement 1, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end -LilycoveCity_CoveLilyMotel_1F_EventScript_2181C3:: @ 82181C3 - msgbox LilycoveCity_CoveLilyMotel_1F_Text_2183C3, MSGBOX_DEFAULT +LilycoveCity_CoveLilyMotel_1F_EventScript_AquaHideoutBusted:: @ 82181C3 + msgbox LilycoveCity_CoveLilyMotel_1F_Text_MonFoundLostItem, MSGBOX_DEFAULT applymovement 1, Common_Movement_FacePlayer waitmovement 0 - msgbox LilycoveCity_CoveLilyMotel_1F_Text_218470, MSGBOX_DEFAULT + msgbox LilycoveCity_CoveLilyMotel_1F_Text_HeardAquaHideoutBusted, MSGBOX_DEFAULT closemessage applymovement 1, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end -LilycoveCity_CoveLilyMotel_1F_EventScript_2181EA:: @ 82181EA - msgbox LilycoveCity_CoveLilyMotel_1F_Text_218544, MSGBOX_DEFAULT +LilycoveCity_CoveLilyMotel_1F_EventScript_GameClear:: @ 82181EA + msgbox LilycoveCity_CoveLilyMotel_1F_Text_HouseSittingMonCaughtBurglar, MSGBOX_DEFAULT applymovement 1, Common_Movement_FacePlayer waitmovement 0 - msgbox LilycoveCity_CoveLilyMotel_1F_Text_2185F4, MSGBOX_DEFAULT + msgbox LilycoveCity_CoveLilyMotel_1F_Text_BetterGetWorkingOnGuestsDinner, MSGBOX_DEFAULT closemessage applymovement 1, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end -LilycoveCity_CoveLilyMotel_1F_EventScript_218211:: @ 8218211 +LilycoveCity_CoveLilyMotel_1F_EventScript_BlockingTV:: @ 8218211 lockall playse SE_PIN applymovement 1, Common_Movement_ExclamationMark waitmovement 0 applymovement 1, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox LilycoveCity_CoveLilyMotel_1F_Text_21839B, MSGBOX_DEFAULT + msgbox LilycoveCity_CoveLilyMotel_1F_Text_CantSeeTheTV, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_CoveLilyMotel_1F_Movement_218259 - applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_21825E + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_CoveLilyMotel_1F_Movement_PlayerPushFromTV + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_OwnerPushPlayer waitmovement 0 - applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_218260 + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_OwnerReturn waitmovement 0 release end -LilycoveCity_CoveLilyMotel_1F_Movement_218259: @ 8218259 +LilycoveCity_CoveLilyMotel_1F_Movement_PlayerPushFromTV: @ 8218259 face_right lock_facing_direction walk_left unlock_facing_direction step_end -LilycoveCity_CoveLilyMotel_1F_Movement_21825E: @ 821825E +LilycoveCity_CoveLilyMotel_1F_Movement_OwnerPushPlayer: @ 821825E walk_up step_end -LilycoveCity_CoveLilyMotel_1F_Movement_218260: @ 8218260 +LilycoveCity_CoveLilyMotel_1F_Movement_OwnerReturn: @ 8218260 face_down walk_down face_up step_end -LilycoveCity_CoveLilyMotel_1F_Text_218264: @ 8218264 +LilycoveCity_CoveLilyMotel_1F_Text_GuestsDoubledByMascot: @ 8218264 .string "Hm, so they doubled the guests by\n" .string "using POKéMON as attractions?\p" .string "Hm, well, maybe I should make a cute\n" @@ -81,17 +81,17 @@ LilycoveCity_CoveLilyMotel_1F_Text_218264: @ 8218264 .string "I wonder if that will attract more\n" .string "guests to stay with us?$" -LilycoveCity_CoveLilyMotel_1F_Text_21831E: @ 821831E +LilycoveCity_CoveLilyMotel_1F_Text_NoGuestsWithTeamAqua: @ 821831E .string "Oh, sorry, sorry!\n" .string "I was too involved in watching TV!\p" .string "Since that TEAM AQUA came to town,\n" .string "the tourists have been staying away.$" -LilycoveCity_CoveLilyMotel_1F_Text_21839B: @ 821839B +LilycoveCity_CoveLilyMotel_1F_Text_CantSeeTheTV: @ 821839B .string "Hey, down in front!\n" .string "I can't see the TV!$" -LilycoveCity_CoveLilyMotel_1F_Text_2183C3: @ 82183C3 +LilycoveCity_CoveLilyMotel_1F_Text_MonFoundLostItem: @ 82183C3 .string "Amazing! You're telling me a POKéMON\n" .string "found someone's lost item?\p" .string "That's something. If we had some smart\n" @@ -99,7 +99,7 @@ LilycoveCity_CoveLilyMotel_1F_Text_2183C3: @ 82183C3 .string "We could recover anything that our\n" .string "guests mislaid…$" -LilycoveCity_CoveLilyMotel_1F_Text_218470: @ 8218470 +LilycoveCity_CoveLilyMotel_1F_Text_HeardAquaHideoutBusted: @ 8218470 .string "Oh, sorry, sorry!\n" .string "I was too involved in watching TV!\p" .string "I heard that someone busted\n" @@ -109,7 +109,7 @@ LilycoveCity_CoveLilyMotel_1F_Text_218470: @ 8218470 .string "It was a company called… Uh…\n" .string "GAME something…$" -LilycoveCity_CoveLilyMotel_1F_Text_218544: @ 8218544 +LilycoveCity_CoveLilyMotel_1F_Text_HouseSittingMonCaughtBurglar: @ 8218544 .string "Amazing! A house-sitting POKéMON\n" .string "caught a burglar?\p" .string "That's something. If we had a tough\n" @@ -117,7 +117,7 @@ LilycoveCity_CoveLilyMotel_1F_Text_218544: @ 8218544 .string "We would be able to provide our guests\n" .string "with greater safety.$" -LilycoveCity_CoveLilyMotel_1F_Text_2185F4: @ 82185F4 +LilycoveCity_CoveLilyMotel_1F_Text_BetterGetWorkingOnGuestsDinner: @ 82185F4 .string "Oh, sorry, sorry!\n" .string "I was too involved in watching TV.\p" .string "Oh, yes. A big group of guests arrived\n" diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json b/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json index 0bd5518158..17c93e5a1a 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json +++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_2186D3", + "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_GameDesigner", "flag": "FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_218729", + "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_GraphicArtist", "flag": "FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_218732", + "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_FatMan", "flag": "FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_218720", + "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_Programmer", "flag": "FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_218744", + "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_GameBoyKid", "flag": "FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_21873B", + "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_Woman", "flag": "FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_21874D", + "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_Scott", "flag": "FLAG_HIDE_LILCOVE_MOTEL_SCOTT" } ], diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc b/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc index fd6aa34bd7..7878e791a9 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc +++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc @@ -1,30 +1,30 @@ LilycoveCity_CoveLilyMotel_2F_MapScripts:: @ 82186D2 .byte 0 -LilycoveCity_CoveLilyMotel_2F_EventScript_2186D3:: @ 82186D3 +LilycoveCity_CoveLilyMotel_2F_EventScript_GameDesigner:: @ 82186D3 lock faceplayer - call_if_unset FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_2186F9 - call_if_set FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_21870F + call_if_unset FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_ShowMeCompletedDex + call_if_set FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_ShowDiploma specialvar VAR_RESULT, HasAllHoennMons - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_CoveLilyMotel_2F_EventScript_218702 + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_CoveLilyMotel_2F_EventScript_AllHoennMonsFanfare release end -LilycoveCity_CoveLilyMotel_2F_EventScript_2186F9:: @ 82186F9 - msgbox LilycoveCity_CoveLilyMotel_2F_Text_218774, MSGBOX_DEFAULT +LilycoveCity_CoveLilyMotel_2F_EventScript_ShowMeCompletedDex:: @ 82186F9 + msgbox LilycoveCity_CoveLilyMotel_2F_Text_ShowMeCompletedDex, MSGBOX_DEFAULT return -LilycoveCity_CoveLilyMotel_2F_EventScript_218702:: @ 8218702 +LilycoveCity_CoveLilyMotel_2F_EventScript_AllHoennMonsFanfare:: @ 8218702 setflag FLAG_TEMP_2 playfanfare MUS_FANFA4 waitfanfare - goto LilycoveCity_CoveLilyMotel_2F_EventScript_21870F + goto LilycoveCity_CoveLilyMotel_2F_EventScript_ShowDiploma end -LilycoveCity_CoveLilyMotel_2F_EventScript_21870F:: @ 821870F - message LilycoveCity_CoveLilyMotel_2F_Text_21881C +LilycoveCity_CoveLilyMotel_2F_EventScript_ShowDiploma:: @ 821870F + message LilycoveCity_CoveLilyMotel_2F_Text_FilledPokedexGiveYouThis waitmessage call Common_EventScript_PlayGymBadgeFanfare special Special_ShowDiploma @@ -32,42 +32,42 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_21870F:: @ 821870F release end -LilycoveCity_CoveLilyMotel_2F_EventScript_218720:: @ 8218720 - msgbox LilycoveCity_CoveLilyMotel_2F_Text_2188D6, MSGBOX_NPC +LilycoveCity_CoveLilyMotel_2F_EventScript_Programmer:: @ 8218720 + msgbox LilycoveCity_CoveLilyMotel_2F_Text_ImTheProgrammer, MSGBOX_NPC end -LilycoveCity_CoveLilyMotel_2F_EventScript_218729:: @ 8218729 - msgbox LilycoveCity_CoveLilyMotel_2F_Text_21892B, MSGBOX_NPC +LilycoveCity_CoveLilyMotel_2F_EventScript_GraphicArtist:: @ 8218729 + msgbox LilycoveCity_CoveLilyMotel_2F_Text_ImTheGraphicArtist, MSGBOX_NPC end -LilycoveCity_CoveLilyMotel_2F_EventScript_218732:: @ 8218732 - msgbox LilycoveCity_CoveLilyMotel_2F_Text_21896C, MSGBOX_NPC +LilycoveCity_CoveLilyMotel_2F_EventScript_FatMan:: @ 8218732 + msgbox LilycoveCity_CoveLilyMotel_2F_Text_GirlsAreCute, MSGBOX_NPC end -LilycoveCity_CoveLilyMotel_2F_EventScript_21873B:: @ 821873B - msgbox LilycoveCity_CoveLilyMotel_2F_Text_218A21, MSGBOX_NPC +LilycoveCity_CoveLilyMotel_2F_EventScript_Woman:: @ 821873B + msgbox LilycoveCity_CoveLilyMotel_2F_Text_SeaBreezeTicklesHeart, MSGBOX_NPC end -LilycoveCity_CoveLilyMotel_2F_EventScript_218744:: @ 8218744 - msgbox LilycoveCity_CoveLilyMotel_2F_Text_218A5B, MSGBOX_NPC +LilycoveCity_CoveLilyMotel_2F_EventScript_GameBoyKid:: @ 8218744 + msgbox LilycoveCity_CoveLilyMotel_2F_Text_NeverLeaveWithoutGameBoy, MSGBOX_NPC end -LilycoveCity_CoveLilyMotel_2F_EventScript_21874D:: @ 821874D +LilycoveCity_CoveLilyMotel_2F_EventScript_Scott:: @ 821874D lock faceplayer - goto_if_set FLAG_MET_SCOTT_IN_LILYCOVE, LilycoveCity_CoveLilyMotel_2F_EventScript_21876A - msgbox LilycoveCity_CoveLilyMotel_2F_Text_218ACF, MSGBOX_DEFAULT + goto_if_set FLAG_MET_SCOTT_IN_LILYCOVE, LilycoveCity_CoveLilyMotel_2F_EventScript_MetScott + msgbox LilycoveCity_CoveLilyMotel_2F_Text_SnoozingPreferBattles, MSGBOX_DEFAULT addvar VAR_SCOTT_STATE, 1 setflag FLAG_MET_SCOTT_IN_LILYCOVE release end -LilycoveCity_CoveLilyMotel_2F_EventScript_21876A:: @ 821876A - msgbox LilycoveCity_CoveLilyMotel_2F_Text_218C33, MSGBOX_DEFAULT +LilycoveCity_CoveLilyMotel_2F_EventScript_MetScott:: @ 821876A + msgbox LilycoveCity_CoveLilyMotel_2F_Text_ContestsDoTakeStrategy, MSGBOX_DEFAULT release end -LilycoveCity_CoveLilyMotel_2F_Text_218774: @ 8218774 +LilycoveCity_CoveLilyMotel_2F_Text_ShowMeCompletedDex: @ 8218774 .string "I'm the GAME DESIGNER.\p" .string "Oh, is that right?\n" .string "You're working on a POKéDEX?\p" @@ -76,7 +76,7 @@ LilycoveCity_CoveLilyMotel_2F_Text_218774: @ 8218774 .string "If you do complete it, please come\n" .string "show me.$" -LilycoveCity_CoveLilyMotel_2F_Text_21881C: @ 821881C +LilycoveCity_CoveLilyMotel_2F_Text_FilledPokedexGiveYouThis: @ 821881C .string "Wow! That's awesome!\n" .string "Yep, it's totally awesome!\p" .string "This POKéDEX is completely filled!\n" @@ -85,17 +85,17 @@ LilycoveCity_CoveLilyMotel_2F_Text_21881C: @ 821881C .string "Let me give you something in\n" .string "recognition of your feat!$" -LilycoveCity_CoveLilyMotel_2F_Text_2188D6: @ 82188D6 +LilycoveCity_CoveLilyMotel_2F_Text_ImTheProgrammer: @ 82188D6 .string "Me? You're talking to me?\n" .string "I'm the PROGRAMMER.\p" .string "I wonder what the SLOTS are\n" .string "like here.$" -LilycoveCity_CoveLilyMotel_2F_Text_21892B: @ 821892B +LilycoveCity_CoveLilyMotel_2F_Text_ImTheGraphicArtist: @ 821892B .string "I'm the GRAPHIC ARTIST! Aren't the\n" .string "POKéMON of HOENN interesting?$" -LilycoveCity_CoveLilyMotel_2F_Text_21896C: @ 821896C +LilycoveCity_CoveLilyMotel_2F_Text_GirlsAreCute: @ 821896C .string "The girl TUBERS, they're cute, hey?\n" .string "To battle against a cute TUBER…\p" .string "Whoop, it's so awesome!\p" @@ -103,17 +103,17 @@ LilycoveCity_CoveLilyMotel_2F_Text_21896C: @ 821896C .string "A 2-on-2 battle with TWINS…\p" .string "Whoop, it's unbearably fun!$" -LilycoveCity_CoveLilyMotel_2F_Text_218A21: @ 8218A21 +LilycoveCity_CoveLilyMotel_2F_Text_SeaBreezeTicklesHeart: @ 8218A21 .string "The sea breeze tickles my heart.\n" .string "It feels wonderful here!$" -LilycoveCity_CoveLilyMotel_2F_Text_218A5B: @ 8218A5B +LilycoveCity_CoveLilyMotel_2F_Text_NeverLeaveWithoutGameBoy: @ 8218A5B .string "You never know when and where\n" .string "people will challenge you.\p" .string "That's why I never leave home without\n" .string "my GAME BOY ADVANCE.$" -LilycoveCity_CoveLilyMotel_2F_Text_218ACF: @ 8218ACF +LilycoveCity_CoveLilyMotel_2F_Text_SnoozingPreferBattles: @ 8218ACF .string "SCOTT: … … … … …\n" .string "… … … … … Zzz…\p" .string "… … … … … Huh?!\n" @@ -129,7 +129,7 @@ LilycoveCity_CoveLilyMotel_2F_Text_218ACF: @ 8218ACF .string "like the GYMS, CONTESTS, BATTLE TENT,\l" .string "the whole works!$" -LilycoveCity_CoveLilyMotel_2F_Text_218C33: @ 8218C33 +LilycoveCity_CoveLilyMotel_2F_Text_ContestsDoTakeStrategy: @ 8218C33 .string "SCOTT: I think it does take strategy\n" .string "to win a CONTEST.\p" .string "Devising CONTEST strategies is one way\n" diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/map.json b/data/maps/LilycoveCity_DepartmentStoreElevator/map.json index 75a1fddf9e..abc4e18dde 100644 --- a/data/maps/LilycoveCity_DepartmentStoreElevator/map.json +++ b/data/maps/LilycoveCity_DepartmentStoreElevator/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStoreElevator_EventScript_220624", + "script": "LilycoveCity_DepartmentStoreElevator_EventScript_Attendant", "flag": "0" } ], diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc index 18fc0404bf..b7d6e4a49d 100644 --- a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc @@ -1,128 +1,129 @@ LilycoveCity_DepartmentStoreElevator_MapScripts:: @ 8220623 .byte 0 -LilycoveCity_DepartmentStoreElevator_EventScript_220624:: @ 8220624 +LilycoveCity_DepartmentStoreElevator_EventScript_Attendant:: @ 8220624 lock faceplayer setvar VAR_0x8004, 0 - call_if_unset FLAG_TEMP_2, LilycoveCity_DepartmentStoreElevator_EventScript_2207FC + call_if_unset FLAG_TEMP_2, LilycoveCity_DepartmentStoreElevator_EventScript_SetFloor copyvar VAR_0x8005, VAR_DEPT_STORE_FLOOR - special sub_8139B60 - message gUnknown_08272C1D + special ShowDeptStoreElevatorFloorSelect + message gText_WhichFloorWouldYouLike waitmessage setvar VAR_0x8004, 0 - specialvar VAR_RESULT, sub_81399F4 + specialvar VAR_RESULT, GetDeptStoreDefaultFloorChoice switch VAR_RESULT - case 0, LilycoveCity_DepartmentStoreElevator_EventScript_220689 - case 1, LilycoveCity_DepartmentStoreElevator_EventScript_220695 - case 2, LilycoveCity_DepartmentStoreElevator_EventScript_2206A1 - case 3, LilycoveCity_DepartmentStoreElevator_EventScript_2206AD - case 4, LilycoveCity_DepartmentStoreElevator_EventScript_2206B9 + case 0, LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom5th + case 1, LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom4th + case 2, LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom3rd + case 3, LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom2nd + case 4, LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom1st end -LilycoveCity_DepartmentStoreElevator_EventScript_220689:: @ 8220689 - multichoicedefault 0, 0, 57, 0, 0 - goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5 +@ Below scripts ensure the cursor for floor select always starts on the current floor +LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom5th:: @ 8220689 + multichoicedefault 0, 0, MULTI_FLOORS, 0, 0 + goto LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor end -LilycoveCity_DepartmentStoreElevator_EventScript_220695:: @ 8220695 - multichoicedefault 0, 0, 57, 1, 0 - goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5 +LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom4th:: @ 8220695 + multichoicedefault 0, 0, MULTI_FLOORS, 1, 0 + goto LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor end -LilycoveCity_DepartmentStoreElevator_EventScript_2206A1:: @ 82206A1 - multichoicedefault 0, 0, 57, 2, 0 - goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5 +LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom3rd:: @ 82206A1 + multichoicedefault 0, 0, MULTI_FLOORS, 2, 0 + goto LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor end -LilycoveCity_DepartmentStoreElevator_EventScript_2206AD:: @ 82206AD - multichoicedefault 0, 0, 57, 3, 0 - goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5 +LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom2nd:: @ 82206AD + multichoicedefault 0, 0, MULTI_FLOORS, 3, 0 + goto LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor end -LilycoveCity_DepartmentStoreElevator_EventScript_2206B9:: @ 82206B9 - multichoicedefault 0, 0, 57, 4, 0 - goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5 +LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom1st:: @ 82206B9 + multichoicedefault 0, 0, MULTI_FLOORS, 4, 0 + goto LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor end -LilycoveCity_DepartmentStoreElevator_EventScript_2206C5:: @ 82206C5 +LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor:: @ 82206C5 switch VAR_RESULT - case 0, LilycoveCity_DepartmentStoreElevator_EventScript_2207B8 - case 1, LilycoveCity_DepartmentStoreElevator_EventScript_220790 - case 2, LilycoveCity_DepartmentStoreElevator_EventScript_220768 - case 3, LilycoveCity_DepartmentStoreElevator_EventScript_220740 - case 4, LilycoveCity_DepartmentStoreElevator_EventScript_220718 - case 5, LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 - case 127, LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + case 0, LilycoveCity_DepartmentStoreElevator_EventScript_5thFloor + case 1, LilycoveCity_DepartmentStoreElevator_EventScript_4thFloor + case 2, LilycoveCity_DepartmentStoreElevator_EventScript_3rdFloor + case 3, LilycoveCity_DepartmentStoreElevator_EventScript_2ndFloor + case 4, LilycoveCity_DepartmentStoreElevator_EventScript_1stFloor + case 5, LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect + case MULTI_B_PRESSED, LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect end -LilycoveCity_DepartmentStoreElevator_EventScript_220718:: @ 8220718 - setvar VAR_0x8006, 4 +LilycoveCity_DepartmentStoreElevator_EventScript_1stFloor:: @ 8220718 + setvar VAR_0x8006, DEPT_STORE_FLOORNUM_1F setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F, 255, 2, 1 - compare VAR_DEPT_STORE_FLOOR, 4 - goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 - call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5 - setvar VAR_DEPT_STORE_FLOOR, 4 - goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_1F + goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect + call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator + setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_1F + goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect end -LilycoveCity_DepartmentStoreElevator_EventScript_220740:: @ 8220740 - setvar VAR_0x8006, 5 +LilycoveCity_DepartmentStoreElevator_EventScript_2ndFloor:: @ 8220740 + setvar VAR_0x8006, DEPT_STORE_FLOORNUM_2F setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F, 255, 2, 1 - compare VAR_DEPT_STORE_FLOOR, 5 - goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 - call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5 - setvar VAR_DEPT_STORE_FLOOR, 5 - goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_2F + goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect + call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator + setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_2F + goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect end -LilycoveCity_DepartmentStoreElevator_EventScript_220768:: @ 8220768 - setvar VAR_0x8006, 6 +LilycoveCity_DepartmentStoreElevator_EventScript_3rdFloor:: @ 8220768 + setvar VAR_0x8006, DEPT_STORE_FLOORNUM_3F setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F, 255, 2, 1 - compare VAR_DEPT_STORE_FLOOR, 6 - goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 - call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5 - setvar VAR_DEPT_STORE_FLOOR, 6 - goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_3F + goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect + call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator + setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_3F + goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect end -LilycoveCity_DepartmentStoreElevator_EventScript_220790:: @ 8220790 - setvar VAR_0x8006, 7 +LilycoveCity_DepartmentStoreElevator_EventScript_4thFloor:: @ 8220790 + setvar VAR_0x8006, DEPT_STORE_FLOORNUM_4F setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F, 255, 2, 1 - compare VAR_DEPT_STORE_FLOOR, 7 - goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 - call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5 - setvar VAR_DEPT_STORE_FLOOR, 7 - goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_4F + goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect + call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator + setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_4F + goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect end -LilycoveCity_DepartmentStoreElevator_EventScript_2207B8:: @ 82207B8 - setvar VAR_0x8006, 8 +LilycoveCity_DepartmentStoreElevator_EventScript_5thFloor:: @ 82207B8 + setvar VAR_0x8006, DEPT_STORE_FLOORNUM_5F setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F, 255, 2, 1 - compare VAR_DEPT_STORE_FLOOR, 8 - goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 - call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5 - setvar VAR_DEPT_STORE_FLOOR, 8 - goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_5F + goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect + call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator + setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_5F + goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect end -LilycoveCity_DepartmentStoreElevator_EventScript_2207E0:: @ 82207E0 - special sub_8139C10 +LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect:: @ 82207E0 + special CloseDeptStoreElevatorWindow release end -LilycoveCity_DepartmentStoreElevator_EventScript_2207E5:: @ 82207E5 - special sub_8139C10 +LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator:: @ 82207E5 + special CloseDeptStoreElevatorWindow closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 waitse - special ShakeScreenInElevator + special MoveElevator waitstate setflag FLAG_TEMP_2 return -LilycoveCity_DepartmentStoreElevator_EventScript_2207FC:: @ 82207FC - special SetDepartmentStoreFloorVar +LilycoveCity_DepartmentStoreElevator_EventScript_SetFloor:: @ 82207FC + special SetDeptStoreFloor return diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json b/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json index 7514a548a0..44f54006c9 100644 --- a/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json +++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_220268", + "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_Man", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_22028C", + "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_ThirstyMan", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_22022F", + "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_SaleWoman", "flag": "FLAG_HIDE_LILYCOVE_DEPARTMENT_STORE_ROOFTOP_SALE_WOMAN" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186", + "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_SubstituteTutor", "flag": "0" } ], @@ -84,7 +84,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_220295" + "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_VendingMachine" }, { "type": "sign", @@ -92,7 +92,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_220295" + "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_VendingMachine" } ] } \ No newline at end of file diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc index b8d0a7c449..12cb4727c3 100644 --- a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc @@ -3,33 +3,33 @@ LilycoveCity_DepartmentStoreRooftop_MapScripts:: @ 8220207 .byte 0 LilycoveCity_DepartmentStoreRooftop_OnTransition: @ 822020D - getpricereduction 3 - compare VAR_RESULT, 1 - call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220227 - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_22022B + getpricereduction POKENEWS_LILYCOVE + compare VAR_RESULT, TRUE + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_ShowSaleWoman + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_HideSaleWoman end -LilycoveCity_DepartmentStoreRooftop_EventScript_220227:: @ 8220227 +LilycoveCity_DepartmentStoreRooftop_EventScript_ShowSaleWoman:: @ 8220227 clearflag FLAG_HIDE_LILYCOVE_DEPARTMENT_STORE_ROOFTOP_SALE_WOMAN return -LilycoveCity_DepartmentStoreRooftop_EventScript_22022B:: @ 822022B +LilycoveCity_DepartmentStoreRooftop_EventScript_HideSaleWoman:: @ 822022B setflag FLAG_HIDE_LILYCOVE_DEPARTMENT_STORE_ROOFTOP_SALE_WOMAN return -LilycoveCity_DepartmentStoreRooftop_EventScript_22022F:: @ 822022F +LilycoveCity_DepartmentStoreRooftop_EventScript_SaleWoman:: @ 822022F lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemartdecoration LilycoveCity_DepartmentStoreRooftop_PokemartDecor_220248 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemartdecoration LilycoveCity_DepartmentStoreRooftop_PokemartDecor_ClearOutSale + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -LilycoveCity_DepartmentStoreRooftop_PokemartDecor_220248: @ 8220248 +LilycoveCity_DepartmentStoreRooftop_PokemartDecor_ClearOutSale: @ 8220248 .2byte DECOR_MUD_BALL .2byte DECOR_FENCE_LENGTH .2byte DECOR_FENCE_WIDTH @@ -48,189 +48,187 @@ LilycoveCity_DepartmentStoreRooftop_PokemartDecor_220248: @ 8220248 release end -LilycoveCity_DepartmentStoreRooftop_EventScript_220268:: @ 8220268 +LilycoveCity_DepartmentStoreRooftop_EventScript_Man:: @ 8220268 lock faceplayer - getpricereduction 3 - compare VAR_RESULT, 1 - call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220282 - msgbox LilycoveCity_DepartmentStoreRooftop_Text_220463, MSGBOX_DEFAULT + getpricereduction POKENEWS_LILYCOVE + compare VAR_RESULT, TRUE + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_ManClearOutSale + msgbox LilycoveCity_DepartmentStoreRooftop_Text_SetDatesForClearOutSales, MSGBOX_DEFAULT release end -LilycoveCity_DepartmentStoreRooftop_EventScript_220282:: @ 8220282 - msgbox LilycoveCity_DepartmentStoreRooftop_Text_2204C9, MSGBOX_DEFAULT +LilycoveCity_DepartmentStoreRooftop_EventScript_ManClearOutSale:: @ 8220282 + msgbox LilycoveCity_DepartmentStoreRooftop_Text_BeenWaitingForClearOutSale, MSGBOX_DEFAULT release end -LilycoveCity_DepartmentStoreRooftop_EventScript_22028C:: @ 822028C - msgbox LilycoveCity_DepartmentStoreRooftop_Text_220552, MSGBOX_NPC +LilycoveCity_DepartmentStoreRooftop_EventScript_ThirstyMan:: @ 822028C + msgbox LilycoveCity_DepartmentStoreRooftop_Text_BoneDryThirsty, MSGBOX_NPC end -LilycoveCity_DepartmentStoreRooftop_EventScript_220295:: @ 8220295 +LilycoveCity_DepartmentStoreRooftop_EventScript_VendingMachine:: @ 8220295 lockall - message LilycoveCity_DepartmentStoreRooftop_Text_22056D + message LilycoveCity_DepartmentStoreRooftop_Text_WhichDrinkWouldYouLike waitmessage showmoneybox 0, 0, 0 - goto LilycoveCity_DepartmentStoreRooftop_EventScript_2202A6 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseDrink end -LilycoveCity_DepartmentStoreRooftop_EventScript_2202A6:: @ 82202A6 - multichoice 16, 0, 42, 0 +LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseDrink:: @ 82202A6 + multichoice 16, 0, MULTI_VENDING_MACHINE, 0 copyvar VAR_TEMP_1, VAR_RESULT switch VAR_TEMP_1 - case 0, LilycoveCity_DepartmentStoreRooftop_EventScript_2202E4 - case 1, LilycoveCity_DepartmentStoreRooftop_EventScript_2202EF - case 2, LilycoveCity_DepartmentStoreRooftop_EventScript_2202FA - msgbox LilycoveCity_DepartmentStoreRooftop_Text_220603, MSGBOX_DEFAULT - goto LilycoveCity_DepartmentStoreRooftop_EventScript_22045E + case 0, LilycoveCity_DepartmentStoreRooftop_EventScript_FreshWater + case 1, LilycoveCity_DepartmentStoreRooftop_EventScript_SodaPop + case 2, LilycoveCity_DepartmentStoreRooftop_EventScript_Lemonade + msgbox LilycoveCity_DepartmentStoreRooftop_Text_DecidedAgainstBuyingDrink, MSGBOX_DEFAULT + goto LilycoveCity_DepartmentStoreRooftop_EventScript_ExitVendingMachine end -LilycoveCity_DepartmentStoreRooftop_EventScript_2202E4:: @ 82202E4 - setvar VAR_TEMP_0, 26 - goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F +LilycoveCity_DepartmentStoreRooftop_EventScript_FreshWater:: @ 82202E4 + setvar VAR_TEMP_0, ITEM_FRESH_WATER + goto LilycoveCity_DepartmentStoreRooftop_EventScript_TryBuyDrink end -LilycoveCity_DepartmentStoreRooftop_EventScript_2202EF:: @ 82202EF - setvar VAR_TEMP_0, 27 - goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F +LilycoveCity_DepartmentStoreRooftop_EventScript_SodaPop:: @ 82202EF + setvar VAR_TEMP_0, ITEM_SODA_POP + goto LilycoveCity_DepartmentStoreRooftop_EventScript_TryBuyDrink end -LilycoveCity_DepartmentStoreRooftop_EventScript_2202FA:: @ 82202FA - setvar VAR_TEMP_0, 28 - goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F +LilycoveCity_DepartmentStoreRooftop_EventScript_Lemonade:: @ 82202FA + setvar VAR_TEMP_0, ITEM_LEMONADE + goto LilycoveCity_DepartmentStoreRooftop_EventScript_TryBuyDrink end -LilycoveCity_DepartmentStoreRooftop_EventScript_220305:: @ 8220305 - checkmoney 0xc8, 0 +LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneyFreshWater:: @ 8220305 + checkmoney 200, 0 return -LilycoveCity_DepartmentStoreRooftop_EventScript_22030C:: @ 822030C - checkmoney 0x12c, 0 +LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneySodaPop:: @ 822030C + checkmoney 300, 0 return -LilycoveCity_DepartmentStoreRooftop_EventScript_220313:: @ 8220313 - checkmoney 0x15e, 0 +LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneyLemonade:: @ 8220313 + checkmoney 350, 0 return -LilycoveCity_DepartmentStoreRooftop_EventScript_22031A:: @ 822031A - takemoney 0xc8, 0 +LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneyFreshWater:: @ 822031A + removemoney 200, 0 return -LilycoveCity_DepartmentStoreRooftop_EventScript_220321:: @ 8220321 - takemoney 0x12c, 0 +LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneySodaPop:: @ 8220321 + removemoney 300, 0 return -LilycoveCity_DepartmentStoreRooftop_EventScript_220328:: @ 8220328 - takemoney 0x15e, 0 +LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneyLemonade:: @ 8220328 + removemoney 350, 0 return -LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F +LilycoveCity_DepartmentStoreRooftop_EventScript_TryBuyDrink:: @ 822032F compare VAR_TEMP_1, 0 - call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220305 + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneyFreshWater compare VAR_TEMP_1, 1 - call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_22030C + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneySodaPop compare VAR_TEMP_1, 2 - call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220313 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220442 + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneyLemonade + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_NotEnoughMoneyForDrink checkitemspace VAR_TEMP_0, 1 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450 + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_NoRoomForDrink compare VAR_TEMP_1, 0 - call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_22031A + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneyFreshWater compare VAR_TEMP_1, 1 - call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220321 + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneySodaPop compare VAR_TEMP_1, 2 - call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220328 + call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneyLemonade updatemoneybox 0, 0 bufferitemname 0, VAR_TEMP_0 playse SE_JIHANKI - msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205A1, MSGBOX_DEFAULT - giveitem VAR_TEMP_0, 1 + msgbox LilycoveCity_DepartmentStoreRooftop_Text_CanOfDrinkDroppedDown, MSGBOX_DEFAULT + additem VAR_TEMP_0 bufferitemname 1, VAR_TEMP_0 - bufferstdstring 2, 14 + bufferstdstring 2, STDSTRING_ITEMS msgbox gText_PutItemInPocket, MSGBOX_DEFAULT - random 64 + random 64 @ 1/64 chance of an additional drink dropping compare VAR_RESULT, 0 - goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_220436 + goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseNewDrink + checkitemspace VAR_TEMP_0, 1 + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_NoRoomForDrink + playse SE_JIHANKI + msgbox LilycoveCity_DepartmentStoreRooftop_Text_ExtraCanOfDrinkDroppedDown, MSGBOX_DEFAULT + additem VAR_TEMP_0 + bufferitemname 1, VAR_TEMP_0 + bufferstdstring 2, STDSTRING_ITEMS + msgbox gText_PutItemInPocket, MSGBOX_DEFAULT + random 64 @ 1/64 * the prev 1/64 chance of a third additional drink dropping, ~ 0.02% chance + compare VAR_RESULT, 0 + goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseNewDrink checkitemspace VAR_TEMP_0, 1 compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450 + goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_NoRoomForDrink playse SE_JIHANKI - msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, MSGBOX_DEFAULT - giveitem VAR_TEMP_0, 1 + msgbox LilycoveCity_DepartmentStoreRooftop_Text_ExtraCanOfDrinkDroppedDown, MSGBOX_DEFAULT + additem VAR_TEMP_0 bufferitemname 1, VAR_TEMP_0 - bufferstdstring 2, 14 + bufferstdstring 2, STDSTRING_ITEMS msgbox gText_PutItemInPocket, MSGBOX_DEFAULT - random 64 - compare VAR_RESULT, 0 - goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_220436 - checkitemspace VAR_TEMP_0, 1 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450 - playse SE_JIHANKI - msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, MSGBOX_DEFAULT - giveitem VAR_TEMP_0, 1 - bufferitemname 1, VAR_TEMP_0 - bufferstdstring 2, 14 - msgbox gText_PutItemInPocket, MSGBOX_DEFAULT - goto LilycoveCity_DepartmentStoreRooftop_EventScript_220436 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseNewDrink end -LilycoveCity_DepartmentStoreRooftop_EventScript_220436:: @ 8220436 - message LilycoveCity_DepartmentStoreRooftop_Text_22056D +LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseNewDrink:: @ 8220436 + message LilycoveCity_DepartmentStoreRooftop_Text_WhichDrinkWouldYouLike waitmessage - goto LilycoveCity_DepartmentStoreRooftop_EventScript_2202A6 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseDrink end -LilycoveCity_DepartmentStoreRooftop_EventScript_220442:: @ 8220442 - msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205F1, MSGBOX_DEFAULT - goto LilycoveCity_DepartmentStoreRooftop_EventScript_22045E +LilycoveCity_DepartmentStoreRooftop_EventScript_NotEnoughMoneyForDrink:: @ 8220442 + msgbox LilycoveCity_DepartmentStoreRooftop_Text_NotEnoughMoney, MSGBOX_DEFAULT + goto LilycoveCity_DepartmentStoreRooftop_EventScript_ExitVendingMachine end -LilycoveCity_DepartmentStoreRooftop_EventScript_220450:: @ 8220450 - msgbox gUnknown_08272A89, MSGBOX_DEFAULT - goto LilycoveCity_DepartmentStoreRooftop_EventScript_22045E +LilycoveCity_DepartmentStoreRooftop_EventScript_NoRoomForDrink:: @ 8220450 + msgbox gText_TheBagIsFull, MSGBOX_DEFAULT + goto LilycoveCity_DepartmentStoreRooftop_EventScript_ExitVendingMachine end -LilycoveCity_DepartmentStoreRooftop_EventScript_22045E:: @ 822045E +LilycoveCity_DepartmentStoreRooftop_EventScript_ExitVendingMachine:: @ 822045E hidemoneybox - nop - nop releaseall end -LilycoveCity_DepartmentStoreRooftop_Text_220463: @ 8220463 +LilycoveCity_DepartmentStoreRooftop_Text_SetDatesForClearOutSales: @ 8220463 .string "Don't they have set dates for their\n" .string "clear-out sales?\p" .string "I watch TV, but they never show any\n" .string "commercials.$" -LilycoveCity_DepartmentStoreRooftop_Text_2204C9: @ 82204C9 +LilycoveCity_DepartmentStoreRooftop_Text_BeenWaitingForClearOutSale: @ 82204C9 .string "Yes! I've been waiting a long time for\n" .string "this clear-out sale.\p" .string "They have items that you can only get\n" .string "here. I'm going to load up, that I am!$" -LilycoveCity_DepartmentStoreRooftop_Text_220552: @ 8220552 +LilycoveCity_DepartmentStoreRooftop_Text_BoneDryThirsty: @ 8220552 .string "Ohh… I'm bone-dry thirsty!$" -LilycoveCity_DepartmentStoreRooftop_Text_22056D: @ 822056D +LilycoveCity_DepartmentStoreRooftop_Text_WhichDrinkWouldYouLike: @ 822056D .string "It's a VENDING MACHINE.\n" .string "Which drink would you like?$" -LilycoveCity_DepartmentStoreRooftop_Text_2205A1: @ 82205A1 +LilycoveCity_DepartmentStoreRooftop_Text_CanOfDrinkDroppedDown: @ 82205A1 .string "Clang!\p" .string "A can of {STR_VAR_1} dropped down.$" -LilycoveCity_DepartmentStoreRooftop_Text_2205C2: @ 82205C2 +LilycoveCity_DepartmentStoreRooftop_Text_ExtraCanOfDrinkDroppedDown: @ 82205C2 .string "Clang!\p" .string "Score! An extra can of {STR_VAR_1}\n" .string "dropped down!$" -LilycoveCity_DepartmentStoreRooftop_Text_2205F1: @ 82205F1 +LilycoveCity_DepartmentStoreRooftop_Text_NotEnoughMoney: @ 82205F1 .string "Not enough money…$" -LilycoveCity_DepartmentStoreRooftop_Text_220603: @ 8220603 +LilycoveCity_DepartmentStoreRooftop_Text_DecidedAgainstBuyingDrink: @ 8220603 .string "Decided against buying a drink.$" diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/map.json b/data/maps/LilycoveCity_DepartmentStore_1F/map.json index 564377f7fe..0fc05dd5a5 100644 --- a/data/maps/LilycoveCity_DepartmentStore_1F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_1F_EventScript_21F693", + "script": "LilycoveCity_DepartmentStore_1F_EventScript_Greeter", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_1F_EventScript_21F69C", + "script": "LilycoveCity_DepartmentStore_1F_EventScript_LotteryClerk", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_1F_EventScript_21F82F", + "script": "LilycoveCity_DepartmentStore_1F_EventScript_PokefanF", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_1F_EventScript_21F838", + "script": "LilycoveCity_DepartmentStore_1F_EventScript_LittleGirl", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_1F_EventScript_21F841", + "script": "LilycoveCity_DepartmentStore_1F_EventScript_PokefanM", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_1F_EventScript_21F84A", + "script": "LilycoveCity_DepartmentStore_1F_EventScript_Azumarill", "flag": "0" } ], @@ -131,7 +131,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "LilycoveCity_DepartmentStore_1F_EventScript_21F85D" + "script": "LilycoveCity_DepartmentStore_1F_EventScript_FloorNamesSign" } ] } \ No newline at end of file diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc index 1e01fc1687..a3cf54ee02 100644 --- a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc @@ -1,28 +1,28 @@ LilycoveCity_DepartmentStore_1F_MapScripts:: @ 821F692 .byte 0 -LilycoveCity_DepartmentStore_1F_EventScript_21F693:: @ 821F693 - msgbox LilycoveCity_DepartmentStore_1F_Text_21F866, MSGBOX_NPC +LilycoveCity_DepartmentStore_1F_EventScript_Greeter:: @ 821F693 + msgbox LilycoveCity_DepartmentStore_1F_Text_WelcomeToDeptStore, MSGBOX_NPC end -LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C +LilycoveCity_DepartmentStore_1F_EventScript_LotteryClerk:: @ 821F69C lock faceplayer dotimebasedevents - compare VAR_POKELOT_PRIZE_ITEM, 0 - goto_if_ne LilycoveCity_DepartmentStore_1F_EventScript_21F7F7 - goto_if_set FLAG_DAILY_PICKED_LOTO_TICKET, LilycoveCity_DepartmentStore_1F_EventScript_21F78D - msgbox LilycoveCity_DepartmentStore_1F_Text_2A6390, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F797 + compare VAR_POKELOT_PRIZE_ITEM, ITEM_NONE + goto_if_ne LilycoveCity_DepartmentStore_1F_EventScript_GivePrizeFromEarlier + goto_if_set FLAG_DAILY_PICKED_LOTO_TICKET, LilycoveCity_DepartmentStore_1F_EventScript_ComeBackTomorrow + msgbox LilycoveCity_DepartmentStore_1F_Text_LotteryCornerDrawTicket, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_PleaseVisitAgain setflag FLAG_DAILY_PICKED_LOTO_TICKET - message LilycoveCity_DepartmentStore_1F_Text_2A64C8 + message LilycoveCity_DepartmentStore_1F_Text_PleasePickTicket waitmessage special RetrieveLotteryNumber copyvar VAR_0x8008, VAR_RESULT special BufferLottoTicketNumber - msgbox LilycoveCity_DepartmentStore_1F_Text_2A650B, MSGBOX_DEFAULT - applymovement 2, Common_Movement_WalkInPlaceRight + msgbox LilycoveCity_DepartmentStore_1F_Text_TicketNumberIsXPleaseWait, MSGBOX_DEFAULT + applymovement 2, Common_Movement_WalkInPlaceFastestRight waitmovement 0 playse SE_PC_ON special DoLotteryCornerComputerEffect @@ -33,142 +33,142 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C applymovement 2, Common_Movement_FacePlayer waitmovement 0 compare VAR_0x8004, 0 - goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7A1 - incrementgamestat 46 + goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_NoMatch + incrementgamestat GAME_STAT_WON_POKEMON_LOTTERY compare VAR_0x8006, 0 - call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F77B + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_TicketMatchPartyMon compare VAR_0x8006, 1 - call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F784 + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_TicketMatchPCMon bufferitemname 0, VAR_0x8005 compare VAR_0x8004, 1 - call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7B9 + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_TwoDigitMatch compare VAR_0x8004, 2 - call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7C2 + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_ThreeDigitMatch compare VAR_0x8004, 3 - call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7CB + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_FourDigitMatch compare VAR_0x8004, 4 - call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7D4 - giveitem_std VAR_0x8005 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7DD - special sub_80EE2CC - goto LilycoveCity_DepartmentStore_1F_EventScript_21F7AF + call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_FullMatch + giveitem VAR_0x8005 + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_RecordPrizeNoRoom + special TryPutLotteryWinnerReportOnAir + goto LilycoveCity_DepartmentStore_1F_EventScript_PleaseVisitAgain2 end -LilycoveCity_DepartmentStore_1F_EventScript_21F77B:: @ 821F77B - msgbox LilycoveCity_DepartmentStore_1F_Text_2A6592, MSGBOX_DEFAULT +LilycoveCity_DepartmentStore_1F_EventScript_TicketMatchPartyMon:: @ 821F77B + msgbox LilycoveCity_DepartmentStore_1F_Text_TicketMatchesPartyMon, MSGBOX_DEFAULT return -LilycoveCity_DepartmentStore_1F_EventScript_21F784:: @ 821F784 - msgbox LilycoveCity_DepartmentStore_1F_Text_2A65E6, MSGBOX_DEFAULT +LilycoveCity_DepartmentStore_1F_EventScript_TicketMatchPCMon:: @ 821F784 + msgbox LilycoveCity_DepartmentStore_1F_Text_TicketMatchesPCMon, MSGBOX_DEFAULT return -LilycoveCity_DepartmentStore_1F_EventScript_21F78D:: @ 821F78D - msgbox LilycoveCity_DepartmentStore_1F_Text_2A6496, MSGBOX_DEFAULT +LilycoveCity_DepartmentStore_1F_EventScript_ComeBackTomorrow:: @ 821F78D + msgbox LilycoveCity_DepartmentStore_1F_Text_ComeBackTomorrow, MSGBOX_DEFAULT release end -LilycoveCity_DepartmentStore_1F_EventScript_21F797:: @ 821F797 - msgbox LilycoveCity_DepartmentStore_1F_Text_2A64B1, MSGBOX_DEFAULT +LilycoveCity_DepartmentStore_1F_EventScript_PleaseVisitAgain:: @ 821F797 + msgbox LilycoveCity_DepartmentStore_1F_Text_PleaseVisitAgain, MSGBOX_DEFAULT release end -LilycoveCity_DepartmentStore_1F_EventScript_21F7A1:: @ 821F7A1 - msgbox LilycoveCity_DepartmentStore_1F_Text_2A663C, MSGBOX_DEFAULT - goto LilycoveCity_DepartmentStore_1F_EventScript_21F7AF +LilycoveCity_DepartmentStore_1F_EventScript_NoMatch:: @ 821F7A1 + msgbox LilycoveCity_DepartmentStore_1F_Text_NoNumbersMatched, MSGBOX_DEFAULT + goto LilycoveCity_DepartmentStore_1F_EventScript_PleaseVisitAgain2 end -LilycoveCity_DepartmentStore_1F_EventScript_21F7AF:: @ 821F7AF - msgbox LilycoveCity_DepartmentStore_1F_Text_2A6831, MSGBOX_DEFAULT +LilycoveCity_DepartmentStore_1F_EventScript_PleaseVisitAgain2:: @ 821F7AF + msgbox LilycoveCity_DepartmentStore_1F_Text_PleaseVisitAgain2, MSGBOX_DEFAULT release end -LilycoveCity_DepartmentStore_1F_EventScript_21F7B9:: @ 821F7B9 - msgbox LilycoveCity_DepartmentStore_1F_Text_2A6664, MSGBOX_DEFAULT +LilycoveCity_DepartmentStore_1F_EventScript_TwoDigitMatch:: @ 821F7B9 + msgbox LilycoveCity_DepartmentStore_1F_Text_TwoDigitsMatched, MSGBOX_DEFAULT return -LilycoveCity_DepartmentStore_1F_EventScript_21F7C2:: @ 821F7C2 - msgbox LilycoveCity_DepartmentStore_1F_Text_2A66A7, MSGBOX_DEFAULT +LilycoveCity_DepartmentStore_1F_EventScript_ThreeDigitMatch:: @ 821F7C2 + msgbox LilycoveCity_DepartmentStore_1F_Text_ThreeDigitsMatched, MSGBOX_DEFAULT return -LilycoveCity_DepartmentStore_1F_EventScript_21F7CB:: @ 821F7CB - msgbox LilycoveCity_DepartmentStore_1F_Text_2A66ED, MSGBOX_DEFAULT +LilycoveCity_DepartmentStore_1F_EventScript_FourDigitMatch:: @ 821F7CB + msgbox LilycoveCity_DepartmentStore_1F_Text_FourDigitsMatched, MSGBOX_DEFAULT return -LilycoveCity_DepartmentStore_1F_EventScript_21F7D4:: @ 821F7D4 - msgbox LilycoveCity_DepartmentStore_1F_Text_2A6731, MSGBOX_DEFAULT +LilycoveCity_DepartmentStore_1F_EventScript_FullMatch:: @ 821F7D4 + msgbox LilycoveCity_DepartmentStore_1F_Text_AllFiveDigitsMatched, MSGBOX_DEFAULT return -LilycoveCity_DepartmentStore_1F_EventScript_21F7DD:: @ 821F7DD +LilycoveCity_DepartmentStore_1F_EventScript_RecordPrizeNoRoom:: @ 821F7DD copyvar VAR_POKELOT_PRIZE_PLACE, VAR_0x8004 copyvar VAR_POKELOT_PRIZE_ITEM, VAR_0x8005 - goto LilycoveCity_DepartmentStore_1F_EventScript_21F7ED + goto LilycoveCity_DepartmentStore_1F_EventScript_NoRoomForPrize end -LilycoveCity_DepartmentStore_1F_EventScript_21F7ED:: @ 821F7ED - msgbox LilycoveCity_DepartmentStore_1F_Text_2A678C, MSGBOX_DEFAULT +LilycoveCity_DepartmentStore_1F_EventScript_NoRoomForPrize:: @ 821F7ED + msgbox LilycoveCity_DepartmentStore_1F_Text_NoRoomForThis, MSGBOX_DEFAULT release end -LilycoveCity_DepartmentStore_1F_EventScript_21F7F7:: @ 821F7F7 - msgbox LilycoveCity_DepartmentStore_1F_Text_2A67E1, MSGBOX_DEFAULT - giveitem_std VAR_POKELOT_PRIZE_ITEM - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7ED +LilycoveCity_DepartmentStore_1F_EventScript_GivePrizeFromEarlier:: @ 821F7F7 + msgbox LilycoveCity_DepartmentStore_1F_Text_PrizeWeveBeenHolding, MSGBOX_DEFAULT + giveitem VAR_POKELOT_PRIZE_ITEM + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_NoRoomForPrize copyvar VAR_0x8004, VAR_POKELOT_PRIZE_PLACE copyvar VAR_0x8005, VAR_POKELOT_PRIZE_ITEM - special sub_80EE2CC - setvar VAR_POKELOT_PRIZE_ITEM, 0 + special TryPutLotteryWinnerReportOnAir + setvar VAR_POKELOT_PRIZE_ITEM, ITEM_NONE setvar VAR_POKELOT_PRIZE_PLACE, 0 release end -LilycoveCity_DepartmentStore_1F_EventScript_21F82F:: @ 821F82F - msgbox LilycoveCity_DepartmentStore_1F_Text_21F88C, MSGBOX_NPC +LilycoveCity_DepartmentStore_1F_EventScript_PokefanF:: @ 821F82F + msgbox LilycoveCity_DepartmentStore_1F_Text_IBuyAllSortsOfThings, MSGBOX_NPC end -LilycoveCity_DepartmentStore_1F_EventScript_21F838:: @ 821F838 - msgbox LilycoveCity_DepartmentStore_1F_Text_21F8F5, MSGBOX_NPC +LilycoveCity_DepartmentStore_1F_EventScript_LittleGirl:: @ 821F838 + msgbox LilycoveCity_DepartmentStore_1F_Text_MomBuyingMeFurniture, MSGBOX_NPC end -LilycoveCity_DepartmentStore_1F_EventScript_21F841:: @ 821F841 - msgbox LilycoveCity_DepartmentStore_1F_Text_21F92B, MSGBOX_NPC +LilycoveCity_DepartmentStore_1F_EventScript_PokefanM:: @ 821F841 + msgbox LilycoveCity_DepartmentStore_1F_Text_BuyingSomethingForAzumarill, MSGBOX_NPC end -LilycoveCity_DepartmentStore_1F_EventScript_21F84A:: @ 821F84A +LilycoveCity_DepartmentStore_1F_EventScript_Azumarill:: @ 821F84A lock faceplayer waitse playmoncry SPECIES_AZUMARILL, 0 - msgbox LilycoveCity_DepartmentStore_1F_Text_21F974, MSGBOX_DEFAULT + msgbox LilycoveCity_DepartmentStore_1F_Text_Azumarill, MSGBOX_DEFAULT waitmoncry release end -LilycoveCity_DepartmentStore_1F_EventScript_21F85D:: @ 821F85D - msgbox LilycoveCity_DepartmentStore_1F_Text_21F98A, MSGBOX_SIGN +LilycoveCity_DepartmentStore_1F_EventScript_FloorNamesSign:: @ 821F85D + msgbox LilycoveCity_DepartmentStore_1F_Text_FloorNamesSign, MSGBOX_SIGN end -LilycoveCity_DepartmentStore_1F_Text_21F866: @ 821F866 +LilycoveCity_DepartmentStore_1F_Text_WelcomeToDeptStore: @ 821F866 .string "Welcome to LILYCOVE DEPARTMENT STORE.$" -LilycoveCity_DepartmentStore_1F_Text_21F88C: @ 821F88C +LilycoveCity_DepartmentStore_1F_Text_IBuyAllSortsOfThings: @ 821F88C .string "Whenever I come to the DEPARTMENT\n" .string "STORE, I always end up buying all sorts\l" .string "of things because it's so fun.$" -LilycoveCity_DepartmentStore_1F_Text_21F8F5: @ 821F8F5 +LilycoveCity_DepartmentStore_1F_Text_MomBuyingMeFurniture: @ 821F8F5 .string "Today, my mom is going to buy me some\n" .string "nice furniture.$" -LilycoveCity_DepartmentStore_1F_Text_21F92B: @ 821F92B +LilycoveCity_DepartmentStore_1F_Text_BuyingSomethingForAzumarill: @ 821F92B .string "I'm buying something for my AZUMARILL\n" .string "as a reward for winning a CONTEST.$" -LilycoveCity_DepartmentStore_1F_Text_21F974: @ 821F974 +LilycoveCity_DepartmentStore_1F_Text_Azumarill: @ 821F974 .string "AZUMARILL: Maririroo!$" -LilycoveCity_DepartmentStore_1F_Text_21F98A: @ 821F98A +LilycoveCity_DepartmentStore_1F_Text_FloorNamesSign: @ 821F98A .string "1F: SERVICE COUNTER\n" .string " LOTTERY CORNER\p" .string "2F: TRAINER'S ZONE\p" @@ -177,7 +177,8 @@ LilycoveCity_DepartmentStore_1F_Text_21F98A: @ 821F98A .string "5F: POKé DOLL FLOOR\p" .string "ROOFTOP: ROOFTOP PLAZA$" -LilycoveCity_DepartmentStore_1F_Text_21FA13: @ 821FA13 +@ Unused +LilycoveCity_DepartmentStore_1F_Text_WirelessCommIsFun: @ 821FA13 .string "Wireless Communication is a\n" .string "lot of fun, isn't it?\p" .string "I think it lets you do things that\n" @@ -186,7 +187,8 @@ LilycoveCity_DepartmentStore_1F_Text_21FA13: @ 821FA13 .string "with people you couldn't before.\p" .string "I think it's going to be exciting!$" -LilycoveCity_DepartmentStore_1F_Text_21FAE5: @ 821FAE5 +@ Unused +LilycoveCity_DepartmentStore_1F_Text_SpreadWordAboutWirelessComm: @ 821FAE5 .string "I want to spread the word about how\n" .string "fun Wireless Communication can be.$" diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/map.json b/data/maps/LilycoveCity_DepartmentStore_2F/map.json index 3238eeee88..fd30dc5164 100644 --- a/data/maps/LilycoveCity_DepartmentStore_2F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_2F_EventScript_21FB2D", + "script": "LilycoveCity_DepartmentStore_2F_EventScript_Cook", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_2F_EventScript_21FB36", + "script": "LilycoveCity_DepartmentStore_2F_EventScript_PokefanF", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_2F_EventScript_21FB3F", + "script": "LilycoveCity_DepartmentStore_2F_EventScript_Sailor", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_2F_EventScript_21FB7A", + "script": "LilycoveCity_DepartmentStore_2F_EventScript_ClerkRight", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_2F_EventScript_21FB48", + "script": "LilycoveCity_DepartmentStore_2F_EventScript_ClerkLeft", "flag": "0" } ], diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc index 4d4edf373d..9ced6b347b 100644 --- a/data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc @@ -1,30 +1,30 @@ LilycoveCity_DepartmentStore_2F_MapScripts:: @ 821FB2C .byte 0 -LilycoveCity_DepartmentStore_2F_EventScript_21FB2D:: @ 821FB2D - msgbox LilycoveCity_DepartmentStore_2F_Text_21FBAC, MSGBOX_NPC +LilycoveCity_DepartmentStore_2F_EventScript_Cook:: @ 821FB2D + msgbox LilycoveCity_DepartmentStore_2F_Text_LearnToUseItemsProperly, MSGBOX_NPC end -LilycoveCity_DepartmentStore_2F_EventScript_21FB36:: @ 821FB36 - msgbox LilycoveCity_DepartmentStore_2F_Text_21FBDF, MSGBOX_NPC +LilycoveCity_DepartmentStore_2F_EventScript_PokefanF:: @ 821FB36 + msgbox LilycoveCity_DepartmentStore_2F_Text_GoodGiftForHusband, MSGBOX_NPC end -LilycoveCity_DepartmentStore_2F_EventScript_21FB3F:: @ 821FB3F - msgbox LilycoveCity_DepartmentStore_2F_Text_21FC23, MSGBOX_NPC +LilycoveCity_DepartmentStore_2F_EventScript_Sailor:: @ 821FB3F + msgbox LilycoveCity_DepartmentStore_2F_Text_StockUpOnItems, MSGBOX_NPC end -LilycoveCity_DepartmentStore_2F_EventScript_21FB48:: @ 821FB48 +LilycoveCity_DepartmentStore_2F_EventScript_ClerkLeft:: @ 821FB48 lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart LilycoveCity_DepartmentStore_2F_Pokemart_21FB60 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart LilycoveCity_DepartmentStore_2F_Pokemart1 + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -LilycoveCity_DepartmentStore_2F_Pokemart_21FB60: @ 821FB60 +LilycoveCity_DepartmentStore_2F_Pokemart1: @ 821FB60 .2byte ITEM_POKE_BALL .2byte ITEM_GREAT_BALL .2byte ITEM_ULTRA_BALL @@ -40,18 +40,18 @@ LilycoveCity_DepartmentStore_2F_Pokemart_21FB60: @ 821FB60 release end -LilycoveCity_DepartmentStore_2F_EventScript_21FB7A:: @ 821FB7A +LilycoveCity_DepartmentStore_2F_EventScript_ClerkRight:: @ 821FB7A lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart LilycoveCity_DepartmentStore_2F_Pokemart_21FB94 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart LilycoveCity_DepartmentStore_2F_Pokemart2 + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -LilycoveCity_DepartmentStore_2F_Pokemart_21FB94: @ 821FB94 +LilycoveCity_DepartmentStore_2F_Pokemart2: @ 821FB94 .2byte ITEM_POTION .2byte ITEM_SUPER_POTION .2byte ITEM_HYPER_POTION @@ -66,15 +66,15 @@ LilycoveCity_DepartmentStore_2F_Pokemart_21FB94: @ 821FB94 release end -LilycoveCity_DepartmentStore_2F_Text_21FBAC: @ 821FBAC +LilycoveCity_DepartmentStore_2F_Text_LearnToUseItemsProperly: @ 821FBAC .string "Learn to use items properly.\n" .string "That's basic, really.$" -LilycoveCity_DepartmentStore_2F_Text_21FBDF: @ 821FBDF +LilycoveCity_DepartmentStore_2F_Text_GoodGiftForHusband: @ 821FBDF .string "My husband is waiting at home.\n" .string "What would make a good gift for him?$" -LilycoveCity_DepartmentStore_2F_Text_21FC23: @ 821FC23 +LilycoveCity_DepartmentStore_2F_Text_StockUpOnItems: @ 821FC23 .string "I'm leaving on a long journey soon.\n" .string "I need to stock up on items.$" diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/map.json b/data/maps/LilycoveCity_DepartmentStore_3F/map.json index 9ecf5104ae..cf25e1798f 100644 --- a/data/maps/LilycoveCity_DepartmentStore_3F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_3F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_3F_EventScript_21FCB6", + "script": "LilycoveCity_DepartmentStore_3F_EventScript_TriathleteM", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_3F_EventScript_21FCBF", + "script": "LilycoveCity_DepartmentStore_3F_EventScript_PokefanM", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_3F_EventScript_21FCC8", + "script": "LilycoveCity_DepartmentStore_3F_EventScript_Woman", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_3F_EventScript_21FC65", + "script": "LilycoveCity_DepartmentStore_3F_EventScript_ClerkLeft", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_3F_EventScript_21FC8C", + "script": "LilycoveCity_DepartmentStore_3F_EventScript_ClerkRight", "flag": "0" } ], diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc index 053ff46323..bec38867c0 100644 --- a/data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc @@ -1,17 +1,17 @@ LilycoveCity_DepartmentStore_3F_MapScripts:: @ 821FC64 .byte 0 -LilycoveCity_DepartmentStore_3F_EventScript_21FC65:: @ 821FC65 +LilycoveCity_DepartmentStore_3F_EventScript_ClerkLeft:: @ 821FC65 lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart LilycoveCity_DepartmentStore_3F_Pokemart_21FC7C - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart LilycoveCity_DepartmentStore_3F_Pokemart_Vitamins + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end -LilycoveCity_DepartmentStore_3F_Pokemart_21FC7C: @ 821FC7C +LilycoveCity_DepartmentStore_3F_Pokemart_Vitamins: @ 821FC7C .2byte ITEM_PROTEIN .2byte ITEM_CALCIUM .2byte ITEM_IRON @@ -22,18 +22,18 @@ LilycoveCity_DepartmentStore_3F_Pokemart_21FC7C: @ 821FC7C release end -LilycoveCity_DepartmentStore_3F_EventScript_21FC8C:: @ 821FC8C +LilycoveCity_DepartmentStore_3F_EventScript_ClerkRight:: @ 821FC8C lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart LilycoveCity_DepartmentStore_3F_Pokemart_21FCA4 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart LilycoveCity_DepartmentStore_3F_Pokemart_StatBoosters + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -LilycoveCity_DepartmentStore_3F_Pokemart_21FCA4: @ 821FCA4 +LilycoveCity_DepartmentStore_3F_Pokemart_StatBoosters: @ 821FCA4 .2byte ITEM_X_SPEED .2byte ITEM_X_SPECIAL .2byte ITEM_X_ATTACK @@ -45,31 +45,31 @@ LilycoveCity_DepartmentStore_3F_Pokemart_21FCA4: @ 821FCA4 release end -LilycoveCity_DepartmentStore_3F_EventScript_21FCB6:: @ 821FCB6 - msgbox LilycoveCity_DepartmentStore_3F_Text_21FCD1, MSGBOX_NPC +LilycoveCity_DepartmentStore_3F_EventScript_TriathleteM:: @ 821FCB6 + msgbox LilycoveCity_DepartmentStore_3F_Text_ItemsBestForTougheningPokemon, MSGBOX_NPC end -LilycoveCity_DepartmentStore_3F_EventScript_21FCBF:: @ 821FCBF - msgbox LilycoveCity_DepartmentStore_3F_Text_21FD3B, MSGBOX_NPC +LilycoveCity_DepartmentStore_3F_EventScript_PokefanM:: @ 821FCBF + msgbox LilycoveCity_DepartmentStore_3F_Text_WantMoreEndurance, MSGBOX_NPC end -LilycoveCity_DepartmentStore_3F_EventScript_21FCC8:: @ 821FCC8 - msgbox LilycoveCity_DepartmentStore_3F_Text_21FDB4, MSGBOX_NPC +LilycoveCity_DepartmentStore_3F_EventScript_Woman:: @ 821FCC8 + msgbox LilycoveCity_DepartmentStore_3F_Text_GaveCarbosToSpeedUpMon, MSGBOX_NPC end -LilycoveCity_DepartmentStore_3F_Text_21FCD1: @ 821FCD1 +LilycoveCity_DepartmentStore_3F_Text_ItemsBestForTougheningPokemon: @ 821FCD1 .string "For quickly toughening up POKéMON,\n" .string "items are the best.\p" .string "PROTEIN boosts ATTACK,\n" .string "and CALCIUM raises SP. ATK.$" -LilycoveCity_DepartmentStore_3F_Text_21FD3B: @ 821FD3B +LilycoveCity_DepartmentStore_3F_Text_WantMoreEndurance: @ 821FD3B .string "I want my POKéMON to have more\n" .string "endurance.\p" .string "I'm trying to decide whether to raise\n" .string "DEFENSE with IRON, or SP. DEF with ZINC.$" -LilycoveCity_DepartmentStore_3F_Text_21FDB4: @ 821FDB4 +LilycoveCity_DepartmentStore_3F_Text_GaveCarbosToSpeedUpMon: @ 821FDB4 .string "I gave a CARBOS to my POKéMON,\n" .string "and its SPEED went up.$" diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/map.json b/data/maps/LilycoveCity_DepartmentStore_4F/map.json index 2abccb7831..a95cf6c3e4 100644 --- a/data/maps/LilycoveCity_DepartmentStore_4F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_4F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_4F_EventScript_21FDEB", + "script": "LilycoveCity_DepartmentStore_4F_EventScript_Gentleman", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_4F_EventScript_21FDF4", + "script": "LilycoveCity_DepartmentStore_4F_EventScript_Woman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_4F_EventScript_21FDFD", + "script": "LilycoveCity_DepartmentStore_4F_EventScript_Youngster", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_4F_EventScript_21FE06", + "script": "LilycoveCity_DepartmentStore_4F_EventScript_ClerkLeft", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_4F_EventScript_21FE2C", + "script": "LilycoveCity_DepartmentStore_4F_EventScript_ClerkRight", "flag": "0" } ], diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc index d78baaf3d7..441697a7cc 100644 --- a/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc @@ -1,72 +1,72 @@ LilycoveCity_DepartmentStore_4F_MapScripts:: @ 821FDEA .byte 0 -LilycoveCity_DepartmentStore_4F_EventScript_21FDEB:: @ 821FDEB - msgbox LilycoveCity_DepartmentStore_4F_Text_21FE50, MSGBOX_NPC +LilycoveCity_DepartmentStore_4F_EventScript_Gentleman:: @ 821FDEB + msgbox LilycoveCity_DepartmentStore_4F_Text_AttackOrDefenseTM, MSGBOX_NPC end -LilycoveCity_DepartmentStore_4F_EventScript_21FDF4:: @ 821FDF4 - msgbox LilycoveCity_DepartmentStore_4F_Text_21FEC7, MSGBOX_NPC +LilycoveCity_DepartmentStore_4F_EventScript_Woman:: @ 821FDF4 + msgbox LilycoveCity_DepartmentStore_4F_Text_FiftyDifferentTMs, MSGBOX_NPC end -LilycoveCity_DepartmentStore_4F_EventScript_21FDFD:: @ 821FDFD - msgbox LilycoveCity_DepartmentStore_4F_Text_21FF2D, MSGBOX_NPC +LilycoveCity_DepartmentStore_4F_EventScript_Youngster:: @ 821FDFD + msgbox LilycoveCity_DepartmentStore_4F_Text_PokemonOnlyHaveFourMoves, MSGBOX_NPC end -LilycoveCity_DepartmentStore_4F_EventScript_21FE06:: @ 821FE06 +LilycoveCity_DepartmentStore_4F_EventScript_ClerkLeft:: @ 821FE06 lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart LilycoveCity_DepartmentStore_4F_Pokemart_21FE20 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart LilycoveCity_DepartmentStore_4F_Pokemart_AttackTMs + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -LilycoveCity_DepartmentStore_4F_Pokemart_21FE20: @ 821FE20 - .2byte ITEM_TM38 - .2byte ITEM_TM25 - .2byte ITEM_TM14 - .2byte ITEM_TM15 +LilycoveCity_DepartmentStore_4F_Pokemart_AttackTMs: @ 821FE20 + .2byte ITEM_TM38 @ Fire Blast + .2byte ITEM_TM25 @ Thunder + .2byte ITEM_TM14 @ Blizzard + .2byte ITEM_TM15 @ Hyper Beam .2byte ITEM_NONE release end -LilycoveCity_DepartmentStore_4F_EventScript_21FE2C:: @ 821FE2C +LilycoveCity_DepartmentStore_4F_EventScript_ClerkRight:: @ 821FE2C lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart LilycoveCity_DepartmentStore_4F_Pokemart_21FE44 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart LilycoveCity_DepartmentStore_4F_Pokemart_DefenseTMs + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -LilycoveCity_DepartmentStore_4F_Pokemart_21FE44: @ 821FE44 - .2byte ITEM_TM17 - .2byte ITEM_TM20 - .2byte ITEM_TM33 - .2byte ITEM_TM16 +LilycoveCity_DepartmentStore_4F_Pokemart_DefenseTMs: @ 821FE44 + .2byte ITEM_TM17 @ Protect + .2byte ITEM_TM20 @ Safeguard + .2byte ITEM_TM33 @ Reflect + .2byte ITEM_TM16 @ Light Screen .2byte ITEM_NONE release end -LilycoveCity_DepartmentStore_4F_Text_21FE50: @ 821FE50 +LilycoveCity_DepartmentStore_4F_Text_AttackOrDefenseTM: @ 821FE50 .string "Hmm…\p" .string "An attacking move…\n" .string "Or a defensive move…\p" .string "It's no easy matter to decide which TM\n" .string "moves should be taught to POKéMON…$" -LilycoveCity_DepartmentStore_4F_Text_21FEC7: @ 821FEC7 +LilycoveCity_DepartmentStore_4F_Text_FiftyDifferentTMs: @ 821FEC7 .string "There are so many different kinds of\n" .string "TM moves.\p" .string "A catalog I read said there are fifty\n" .string "different kinds.$" -LilycoveCity_DepartmentStore_4F_Text_21FF2D: @ 821FF2D +LilycoveCity_DepartmentStore_4F_Text_PokemonOnlyHaveFourMoves: @ 821FF2D .string "I'd like to get all the different TMs,\n" .string "but a POKéMON learns only four moves.$" diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/map.json b/data/maps/LilycoveCity_DepartmentStore_5F/map.json index a49de92558..98d15787ed 100644 --- a/data/maps/LilycoveCity_DepartmentStore_5F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_5F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_5F_EventScript_2200BC", + "script": "LilycoveCity_DepartmentStore_5F_EventScript_LittleGirl", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_5F_EventScript_22006C", + "script": "LilycoveCity_DepartmentStore_5F_EventScript_PokefanF", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_5F_EventScript_21FFA6", + "script": "LilycoveCity_DepartmentStore_5F_EventScript_ClerkFarLeft", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_5F_EventScript_21FFDC", + "script": "LilycoveCity_DepartmentStore_5F_EventScript_ClerkMidLeft", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_5F_EventScript_22000A", + "script": "LilycoveCity_DepartmentStore_5F_EventScript_ClerkMidRight", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_5F_EventScript_22003A", + "script": "LilycoveCity_DepartmentStore_5F_EventScript_ClerkFarRight", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_DepartmentStore_5F_EventScript_220075", + "script": "LilycoveCity_DepartmentStore_5F_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc index 6b57966046..0a2525b870 100644 --- a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc @@ -1,25 +1,27 @@ LilycoveCity_DepartmentStore_5F_MapScripts:: @ 821FF7A - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LilycoveCity_DepartmentStore_5F_MapScript2_21FF80 + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LilycoveCity_DepartmentStore_5F_OnWarp .byte 0 -LilycoveCity_DepartmentStore_5F_MapScript2_21FF80: @ 821FF80 - map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 1, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A - map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 2, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A - map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 3, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A +@ During the abnormal weather from Kyogre/Groudon awakening the dept store rooftop is inaccessible +@ Likely done to avoid dealing with showing the weather. Technically the rooftop is indoors +LilycoveCity_DepartmentStore_5F_OnWarp: @ 821FF80 + map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 1, LilycoveCity_DepartmentStore_5F_EventScript_BlockRoofStairs + map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 2, LilycoveCity_DepartmentStore_5F_EventScript_BlockRoofStairs + map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 3, LilycoveCity_DepartmentStore_5F_EventScript_BlockRoofStairs .2byte 0 -LilycoveCity_DepartmentStore_5F_EventScript_21FF9A:: @ 821FF9A +LilycoveCity_DepartmentStore_5F_EventScript_BlockRoofStairs:: @ 821FF9A setobjectxy 7, 16, 2 - turnobject 7, 2 + turnobject 7, DIR_NORTH end -LilycoveCity_DepartmentStore_5F_EventScript_21FFA6:: @ 821FFA6 +LilycoveCity_DepartmentStore_5F_EventScript_ClerkFarLeft:: @ 821FFA6 lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_Dolls - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end @@ -41,13 +43,13 @@ LilycoveCity_DepartmentStore_5F_Pokemart_Dolls: @ 821FFC0 release end -LilycoveCity_DepartmentStore_5F_EventScript_21FFDC:: @ 821FFDC +LilycoveCity_DepartmentStore_5F_EventScript_ClerkMidLeft:: @ 821FFDC lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_Cushions - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end @@ -66,13 +68,13 @@ LilycoveCity_DepartmentStore_5F_Pokemart_Cushions: @ 821FFF4 release end -LilycoveCity_DepartmentStore_5F_EventScript_22000A:: @ 822000A +LilycoveCity_DepartmentStore_5F_EventScript_ClerkMidRight:: @ 822000A lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_Posters - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end @@ -91,13 +93,13 @@ LilycoveCity_DepartmentStore_5F_Pokemart_Posters: @ 8220024 release end -LilycoveCity_DepartmentStore_5F_EventScript_22003A:: @ 822003A +LilycoveCity_DepartmentStore_5F_EventScript_ClerkFarRight:: @ 822003A lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_Mats - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end @@ -117,53 +119,53 @@ LilycoveCity_DepartmentStore_5F_Pokemart_Mats: @ 8220054 release end -LilycoveCity_DepartmentStore_5F_EventScript_22006C:: @ 822006C - msgbox LilycoveCity_DepartmentStore_5F_Text_2200C5, MSGBOX_NPC +LilycoveCity_DepartmentStore_5F_EventScript_PokefanF:: @ 822006C + msgbox LilycoveCity_DepartmentStore_5F_Text_PlaceFullOfCuteDolls, MSGBOX_NPC end -LilycoveCity_DepartmentStore_5F_EventScript_220075:: @ 8220075 +LilycoveCity_DepartmentStore_5F_EventScript_Woman:: @ 8220075 lockall applymovement 7, Common_Movement_FacePlayer waitmovement 0 compare VAR_SOOTOPOLIS_CITY_STATE, 0 - goto_if_eq LilycoveCity_DepartmentStore_5F_EventScript_22009C + goto_if_eq LilycoveCity_DepartmentStore_5F_EventScript_WomanNormal compare VAR_SOOTOPOLIS_CITY_STATE, 4 - goto_if_ge LilycoveCity_DepartmentStore_5F_EventScript_22009C - goto LilycoveCity_DepartmentStore_5F_EventScript_2200A7 + goto_if_ge LilycoveCity_DepartmentStore_5F_EventScript_WomanNormal + goto LilycoveCity_DepartmentStore_5F_EventScript_WomanLegendaryWeather end -LilycoveCity_DepartmentStore_5F_EventScript_22009C:: @ 822009C - msgbox LilycoveCity_DepartmentStore_5F_Text_22016B, MSGBOX_DEFAULT +LilycoveCity_DepartmentStore_5F_EventScript_WomanNormal:: @ 822009C + msgbox LilycoveCity_DepartmentStore_5F_Text_SellManyCuteMatsHere, MSGBOX_DEFAULT closemessage releaseall end -LilycoveCity_DepartmentStore_5F_EventScript_2200A7:: @ 82200A7 - msgbox LilycoveCity_DepartmentStore_5F_Text_2201C4, MSGBOX_DEFAULT +LilycoveCity_DepartmentStore_5F_EventScript_WomanLegendaryWeather:: @ 82200A7 + msgbox LilycoveCity_DepartmentStore_5F_Text_ClosedRooftopForWeather, MSGBOX_DEFAULT closemessage - applymovement 7, Common_Movement_WalkInPlaceUp + applymovement 7, Common_Movement_WalkInPlaceFastestUp waitmovement 0 releaseall end -LilycoveCity_DepartmentStore_5F_EventScript_2200BC:: @ 82200BC - msgbox LilycoveCity_DepartmentStore_5F_Text_220122, MSGBOX_NPC +LilycoveCity_DepartmentStore_5F_EventScript_LittleGirl:: @ 82200BC + msgbox LilycoveCity_DepartmentStore_5F_Text_GettingDollInsteadOfPokemon, MSGBOX_NPC end -LilycoveCity_DepartmentStore_5F_Text_2200C5: @ 82200C5 +LilycoveCity_DepartmentStore_5F_Text_PlaceFullOfCuteDolls: @ 82200C5 .string "This place is full of cute DOLLS.\p" .string "I should buy some for me, instead of\n" .string "just for my children.$" -LilycoveCity_DepartmentStore_5F_Text_220122: @ 8220122 +LilycoveCity_DepartmentStore_5F_Text_GettingDollInsteadOfPokemon: @ 8220122 .string "I'm not big enough to raise POKéMON,\n" .string "so I'm getting a cute DOLL instead.$" -LilycoveCity_DepartmentStore_5F_Text_22016B: @ 822016B +LilycoveCity_DepartmentStore_5F_Text_SellManyCuteMatsHere: @ 822016B .string "They sell many cute MATS here.\p" .string "I wonder which one I should get?\n" .string "Maybe I'll buy them all…$" -LilycoveCity_DepartmentStore_5F_Text_2201C4: @ 82201C4 +LilycoveCity_DepartmentStore_5F_Text_ClosedRooftopForWeather: @ 82201C4 .string "I think they closed the rooftop\n" .string "because the weather is wild today.$" diff --git a/data/maps/LilycoveCity_Harbor/map.json b/data/maps/LilycoveCity_Harbor/map.json index 28e2366e62..1b97c298d7 100644 --- a/data/maps/LilycoveCity_Harbor/map.json +++ b/data/maps/LilycoveCity_Harbor/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_Harbor_EventScript_21E00F", + "script": "LilycoveCity_Harbor_EventScript_FerryAttendant", "flag": "FLAG_HIDE_LILYCOVE_HARBOR_FERRY_ATTENDANT" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_Harbor_EventScript_21E637", + "script": "LilycoveCity_Harbor_EventScript_Sailor", "flag": "0" }, { @@ -77,7 +77,7 @@ "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", "script": "0x0", - "flag": "FLAG_HIDE_LILYCOVE_HARBOR_EON_TICKET_TAKER" + "flag": "FLAG_HIDE_LILYCOVE_HARBOR_EVENT_TICKET_TAKER" } ], "warp_events": [ diff --git a/data/maps/LilycoveCity_Harbor/scripts.inc b/data/maps/LilycoveCity_Harbor/scripts.inc index 4b446c39be..355b813de9 100644 --- a/data/maps/LilycoveCity_Harbor/scripts.inc +++ b/data/maps/LilycoveCity_Harbor/scripts.inc @@ -6,106 +6,107 @@ LilycoveCity_Harbor_OnTransition: @ 821E006 setescapewarp MAP_LILYCOVE_CITY, 255, 12, 33 end -LilycoveCity_Harbor_EventScript_21E00F:: @ 821E00F +LilycoveCity_Harbor_EventScript_FerryAttendant:: @ 821E00F lock faceplayer - goto_if_unset FLAG_SYS_GAME_CLEAR, LilycoveCity_Harbor_EventScript_21E54D - call LilycoveCity_Harbor_EventScript_21E194 - call LilycoveCity_Harbor_EventScript_21E1C6 - call LilycoveCity_Harbor_EventScript_21E1F8 - call LilycoveCity_Harbor_EventScript_21E22A - call LilycoveCity_Harbor_EventScript_21E25C - call LilycoveCity_Harbor_EventScript_21E2A6 + goto_if_unset FLAG_SYS_GAME_CLEAR, LilycoveCity_Harbor_EventScript_FerryUnavailable + call LilycoveCity_Harbor_EventScript_GetEonTicketState + call LilycoveCity_Harbor_EventScript_GetAuroraTicketState + call LilycoveCity_Harbor_EventScript_GetOldSeaMapState + call LilycoveCity_Harbor_EventScript_GetMysticTicketState + call LilycoveCity_Harbor_EventScript_GetFirstTimeShowingTicket + call LilycoveCity_Harbor_EventScript_GetHasTicketsState compare VAR_TEMP_C, 2 - goto_if_eq LilycoveCity_Harbor_EventScript_21E350 + goto_if_eq LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime compare VAR_TEMP_B, 1 - goto_if_eq LilycoveCity_Harbor_EventScript_21E2F0 + goto_if_eq LilycoveCity_Harbor_EventScript_EonTicketFirstTime compare VAR_TEMP_B, 2 - goto_if_eq LilycoveCity_Harbor_EventScript_21E320 + goto_if_eq LilycoveCity_Harbor_EventScript_AuroraTicketFirstTime compare VAR_TEMP_B, 4 - goto_if_eq LilycoveCity_Harbor_EventScript_21E350 - compare VAR_TEMP_B, 8 - goto_if_eq LilycoveCity_Harbor_EventScript_21E41D + goto_if_eq LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime + compare VAR_TEMP_B, 8 + goto_if_eq LilycoveCity_Harbor_EventScript_MysticTicketFirstTime compare VAR_TEMP_B, 0 - goto_if_ne LilycoveCity_Harbor_EventScript_21E44D - goto LilycoveCity_Harbor_EventScript_21E080 + goto_if_ne LilycoveCity_Harbor_EventScript_MultipleEventTicketsFirstTime + goto LilycoveCity_Harbor_EventScript_NoFirstTimeEventTickets end -LilycoveCity_Harbor_EventScript_21E080:: @ 821E080 +@ First goto_if_eq is unnecessary; identical scripts +LilycoveCity_Harbor_EventScript_NoFirstTimeEventTickets:: @ 821E080 compare VAR_TEMP_A, 0 - goto_if_eq LilycoveCity_Harbor_EventScript_21E557 - msgbox LilycoveCity_Harbor_Text_21E758, MSGBOX_DEFAULT - message LilycoveCity_Harbor_Text_21E7ED + goto_if_eq LilycoveCity_Harbor_EventScript_NoEventTickets + msgbox LilycoveCity_Harbor_Text_MayISeeYourTicket, MSGBOX_DEFAULT + message LilycoveCity_Harbor_Text_FlashTicketWhereTo waitmessage - goto LilycoveCity_Harbor_EventScript_21E09F + goto LilycoveCity_Harbor_EventScript_FerryRegularLocationSelect end -LilycoveCity_Harbor_EventScript_21E09F:: @ 821E09F +LilycoveCity_Harbor_EventScript_FerryRegularLocationSelect:: @ 821E09F setvar VAR_0x8004, 0 - special sub_80E2548 + special ScriptMenu_CreateLilycoveSSTidalMultichoice waitstate - special sub_80E2878 + special GetLilycoveSSTidalSelection switch VAR_RESULT - case 0, LilycoveCity_Harbor_EventScript_21E149 - case 1, LilycoveCity_Harbor_EventScript_21E171 - case 2, LilycoveCity_Harbor_EventScript_21E109 - case 3, LilycoveCity_Harbor_EventScript_21E119 - case 4, LilycoveCity_Harbor_EventScript_21E129 - case 5, LilycoveCity_Harbor_EventScript_21E139 - case 6, LilycoveCity_Harbor_EventScript_21E626 - case 127, LilycoveCity_Harbor_EventScript_21E626 + case 0, LilycoveCity_Harbor_EventScript_GoToSlateport + case 1, LilycoveCity_Harbor_EventScript_GoToBattleFrontier + case 2, LilycoveCity_Harbor_EventScript_GoToSouthernIsland + case 3, LilycoveCity_Harbor_EventScript_GoToNavelRock + case 4, LilycoveCity_Harbor_EventScript_GoToBirthIsland + case 5, LilycoveCity_Harbor_EventScript_GoToFarawayIsland + case 6, LilycoveCity_Harbor_EventScript_ExitSailSelect + case MULTI_B_PRESSED, LilycoveCity_Harbor_EventScript_ExitSailSelect end -LilycoveCity_Harbor_EventScript_21E109:: @ 821E109 - call LilycoveCity_Harbor_EventScript_21E5CC +LilycoveCity_Harbor_EventScript_GoToSouthernIsland:: @ 821E109 + call LilycoveCity_Harbor_EventScript_BoardFerry warp MAP_SOUTHERN_ISLAND_EXTERIOR, 255, 13, 22 waitstate release end -LilycoveCity_Harbor_EventScript_21E119:: @ 821E119 - call LilycoveCity_Harbor_EventScript_21E5CC +LilycoveCity_Harbor_EventScript_GoToNavelRock:: @ 821E119 + call LilycoveCity_Harbor_EventScript_BoardFerry warp MAP_NAVEL_ROCK_HARBOR, 255, 8, 4 waitstate release end -LilycoveCity_Harbor_EventScript_21E129:: @ 821E129 - call LilycoveCity_Harbor_EventScript_21E5CC +LilycoveCity_Harbor_EventScript_GoToBirthIsland:: @ 821E129 + call LilycoveCity_Harbor_EventScript_BoardFerry warp MAP_BIRTH_ISLAND_HARBOR, 255, 8, 4 waitstate release end -LilycoveCity_Harbor_EventScript_21E139:: @ 821E139 - call LilycoveCity_Harbor_EventScript_21E5CC +LilycoveCity_Harbor_EventScript_GoToFarawayIsland:: @ 821E139 + call LilycoveCity_Harbor_EventScript_BoardFerry warp MAP_FARAWAY_ISLAND_ENTRANCE, 255, 13, 38 waitstate release end -LilycoveCity_Harbor_EventScript_21E149:: @ 821E149 - msgbox LilycoveCity_Harbor_Text_21E864, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_Harbor_EventScript_21E5C0 - setvar VAR_PORTHOLE_STATE, 5 - call LilycoveCity_Harbor_EventScript_21E5CC +LilycoveCity_Harbor_EventScript_GoToSlateport:: @ 821E149 + msgbox LilycoveCity_Harbor_Text_SlateportItIs, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind + setvar VAR_SS_TIDAL_STATE, SS_TIDAL_BOARD_LILYCOVE + call LilycoveCity_Harbor_EventScript_BoardFerry warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10 waitstate release end -LilycoveCity_Harbor_EventScript_21E171:: @ 821E171 - msgbox LilycoveCity_Harbor_Text_21E880, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_Harbor_EventScript_21E5C0 - call LilycoveCity_Harbor_EventScript_21E5CC +LilycoveCity_Harbor_EventScript_GoToBattleFrontier:: @ 821E171 + msgbox LilycoveCity_Harbor_Text_BattleFrontierItIs, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind + call LilycoveCity_Harbor_EventScript_BoardFerry warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67 waitstate release end -LilycoveCity_Harbor_EventScript_21E194:: @ 821E194 +LilycoveCity_Harbor_EventScript_GetEonTicketState:: @ 821E194 setvar VAR_TEMP_E, 0 goto_if_unset FLAG_SYS_HAS_EON_TICKET, Common_EventScript_NopReturn checkitem ITEM_EON_TICKET, 1 @@ -116,7 +117,7 @@ LilycoveCity_Harbor_EventScript_21E194:: @ 821E194 setvar VAR_TEMP_E, 2 return -LilycoveCity_Harbor_EventScript_21E1C6:: @ 821E1C6 +LilycoveCity_Harbor_EventScript_GetAuroraTicketState:: @ 821E1C6 setvar VAR_TEMP_D, 0 goto_if_unset FLAG_ENABLE_SHIP_BIRTH_ISLAND, Common_EventScript_NopReturn checkitem ITEM_AURORA_TICKET, 1 @@ -127,7 +128,7 @@ LilycoveCity_Harbor_EventScript_21E1C6:: @ 821E1C6 setvar VAR_TEMP_D, 2 return -LilycoveCity_Harbor_EventScript_21E1F8:: @ 821E1F8 +LilycoveCity_Harbor_EventScript_GetOldSeaMapState:: @ 821E1F8 setvar VAR_TEMP_C, 0 goto_if_unset FLAG_ENABLE_SHIP_FARAWAY_ISLAND, Common_EventScript_NopReturn checkitem ITEM_OLD_SEA_MAP, 1 @@ -138,7 +139,7 @@ LilycoveCity_Harbor_EventScript_21E1F8:: @ 821E1F8 setvar VAR_TEMP_C, 2 return -LilycoveCity_Harbor_EventScript_21E22A:: @ 821E22A +LilycoveCity_Harbor_EventScript_GetMysticTicketState:: @ 821E22A setvar VAR_TEMP_9, 0 goto_if_unset FLAG_ENABLE_SHIP_NAVEL_ROCK, Common_EventScript_NopReturn checkitem ITEM_MYSTIC_TICKET, 1 @@ -149,200 +150,200 @@ LilycoveCity_Harbor_EventScript_21E22A:: @ 821E22A setvar VAR_TEMP_9, 2 return -LilycoveCity_Harbor_EventScript_21E25C:: @ 821E25C +LilycoveCity_Harbor_EventScript_GetFirstTimeShowingTicket:: @ 821E25C setvar VAR_TEMP_B, 0 compare VAR_TEMP_E, 2 - call_if_eq LilycoveCity_Harbor_EventScript_21E28E + call_if_eq LilycoveCity_Harbor_EventScript_SetFirstTimeShowingEonTicket compare VAR_TEMP_D, 2 - call_if_eq LilycoveCity_Harbor_EventScript_21E294 + call_if_eq LilycoveCity_Harbor_EventScript_SetFirstTimeShowingAuroraTicket compare VAR_TEMP_C, 2 - call_if_eq LilycoveCity_Harbor_EventScript_21E29A + call_if_eq LilycoveCity_Harbor_EventScript_SetFirstTimeShowingOldSeaMap compare VAR_TEMP_9, 2 - call_if_eq LilycoveCity_Harbor_EventScript_21E2A0 + call_if_eq LilycoveCity_Harbor_EventScript_SetFirstTimeShowingMysticTicket return -LilycoveCity_Harbor_EventScript_21E28E:: @ 821E28E +LilycoveCity_Harbor_EventScript_SetFirstTimeShowingEonTicket:: @ 821E28E addvar VAR_TEMP_B, 1 return -LilycoveCity_Harbor_EventScript_21E294:: @ 821E294 +LilycoveCity_Harbor_EventScript_SetFirstTimeShowingAuroraTicket:: @ 821E294 addvar VAR_TEMP_B, 2 return -LilycoveCity_Harbor_EventScript_21E29A:: @ 821E29A +LilycoveCity_Harbor_EventScript_SetFirstTimeShowingOldSeaMap:: @ 821E29A addvar VAR_TEMP_B, 4 return -LilycoveCity_Harbor_EventScript_21E2A0:: @ 821E2A0 +LilycoveCity_Harbor_EventScript_SetFirstTimeShowingMysticTicket:: @ 821E2A0 addvar VAR_TEMP_B, 8 return -LilycoveCity_Harbor_EventScript_21E2A6:: @ 821E2A6 +LilycoveCity_Harbor_EventScript_GetHasTicketsState:: @ 821E2A6 setvar VAR_TEMP_A, 0 compare VAR_TEMP_E, 1 - call_if_eq LilycoveCity_Harbor_EventScript_21E2D8 + call_if_eq LilycoveCity_Harbor_EventScript_SetHasEonTicket compare VAR_TEMP_D, 1 - call_if_eq LilycoveCity_Harbor_EventScript_21E2DE + call_if_eq LilycoveCity_Harbor_EventScript_SetHasAuroraTicket compare VAR_TEMP_C, 1 - call_if_eq LilycoveCity_Harbor_EventScript_21E2E4 + call_if_eq LilycoveCity_Harbor_EventScript_SetHasOldSeaMap compare VAR_TEMP_9, 1 - call_if_eq LilycoveCity_Harbor_EventScript_21E2EA + call_if_eq LilycoveCity_Harbor_EventScript_SetHasMysticTicket return -LilycoveCity_Harbor_EventScript_21E2D8:: @ 821E2D8 +LilycoveCity_Harbor_EventScript_SetHasEonTicket:: @ 821E2D8 addvar VAR_TEMP_A, 1 return -LilycoveCity_Harbor_EventScript_21E2DE:: @ 821E2DE +LilycoveCity_Harbor_EventScript_SetHasAuroraTicket:: @ 821E2DE addvar VAR_TEMP_A, 2 return -LilycoveCity_Harbor_EventScript_21E2E4:: @ 821E2E4 +LilycoveCity_Harbor_EventScript_SetHasOldSeaMap:: @ 821E2E4 addvar VAR_TEMP_A, 4 return -LilycoveCity_Harbor_EventScript_21E2EA:: @ 821E2EA +LilycoveCity_Harbor_EventScript_SetHasMysticTicket:: @ 821E2EA addvar VAR_TEMP_A, 8 return -LilycoveCity_Harbor_EventScript_21E2F0:: @ 821E2F0 +LilycoveCity_Harbor_EventScript_EonTicketFirstTime:: @ 821E2F0 setflag FLAG_HAS_EON_TICKET - msgbox LilycoveCity_Harbor_Text_2A68D2, MSGBOX_DEFAULT + msgbox EventTicket_Text_ThatPass, MSGBOX_DEFAULT closemessage - call LilycoveCity_Harbor_EventScript_21E4EE - msgbox LilycoveCity_Harbor_Text_2A68FC, MSGBOX_DEFAULT - goto LilycoveCity_Harbor_EventScript_21E30F + call LilycoveCity_Harbor_EventScript_GetEventTicketSailor + msgbox EventTicket_Text_ShowEonTicket, MSGBOX_DEFAULT + goto LilycoveCity_Harbor_EventScript_GoToSouthernIslandFirstTime end -LilycoveCity_Harbor_EventScript_21E30F:: @ 821E30F +LilycoveCity_Harbor_EventScript_GoToSouthernIslandFirstTime:: @ 821E30F closemessage - call LilycoveCity_Harbor_EventScript_21E514 + call LilycoveCity_Harbor_EventScript_BoardFerryWithSailor warp MAP_SOUTHERN_ISLAND_EXTERIOR, 255, 13, 22 waitstate release end -LilycoveCity_Harbor_EventScript_21E320:: @ 821E320 +LilycoveCity_Harbor_EventScript_AuroraTicketFirstTime:: @ 821E320 setflag FLAG_HAS_AURORA_TICKET - msgbox LilycoveCity_Harbor_Text_2A68D2, MSGBOX_DEFAULT + msgbox EventTicket_Text_ThatPass, MSGBOX_DEFAULT closemessage - call LilycoveCity_Harbor_EventScript_21E4EE - msgbox LilycoveCity_Harbor_Text_2C6A71, MSGBOX_DEFAULT - goto LilycoveCity_Harbor_EventScript_21E33F + call LilycoveCity_Harbor_EventScript_GetEventTicketSailor + msgbox EventTicket_Text_OddTicketGetOnBoard, MSGBOX_DEFAULT + goto LilycoveCity_Harbor_EventScript_GoToBirthIslandFirstTime end -LilycoveCity_Harbor_EventScript_21E33F:: @ 821E33F +LilycoveCity_Harbor_EventScript_GoToBirthIslandFirstTime:: @ 821E33F closemessage - call LilycoveCity_Harbor_EventScript_21E514 + call LilycoveCity_Harbor_EventScript_BoardFerryWithSailor warp MAP_BIRTH_ISLAND_HARBOR, 255, 8, 4 waitstate release end -LilycoveCity_Harbor_EventScript_21E350:: @ 821E350 +LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime:: @ 821E350 setflag FLAG_HAS_OLD_SEA_MAP - msgbox LilycoveCity_Harbor_Text_2A6848, MSGBOX_DEFAULT + msgbox EventTicket_Text_ShowOldSeaMap, MSGBOX_DEFAULT closemessage - call LilycoveCity_Harbor_EventScript_21E4EE - msgbox LilycoveCity_Harbor_Text_2C68A5, MSGBOX_DEFAULT + call LilycoveCity_Harbor_EventScript_GetEventTicketSailor + msgbox EventTicket_Text_OldSeaMapTooFar, MSGBOX_DEFAULT closemessage - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 playse SE_PIN applymovement 4, Common_Movement_ExclamationMark waitmovement 0 applymovement 4, Common_Movement_Delay48 waitmovement 0 - compare VAR_FACING, 2 - call_if_eq LilycoveCity_Harbor_EventScript_21E656 - compare VAR_FACING, 4 - call_if_eq LilycoveCity_Harbor_EventScript_21E661 + compare VAR_FACING, DIR_NORTH + call_if_eq LilycoveCity_Harbor_EventScript_MoveSailorOutOfWayNorth + compare VAR_FACING, DIR_EAST + call_if_eq LilycoveCity_Harbor_EventScript_MoveSailorOutOfWayEast addobject 5 - compare VAR_FACING, 2 - call_if_eq LilycoveCity_Harbor_EventScript_21E675 - compare VAR_FACING, 4 - call_if_eq LilycoveCity_Harbor_EventScript_21E680 - msgbox LilycoveCity_Harbor_Text_2C6951, MSGBOX_DEFAULT - compare VAR_FACING, 2 - call_if_eq LilycoveCity_Harbor_EventScript_21E68B - compare VAR_FACING, 4 - call_if_eq LilycoveCity_Harbor_EventScript_21E696 - msgbox LilycoveCity_Harbor_Text_2C69AA, MSGBOX_DEFAULT + compare VAR_FACING, DIR_NORTH + call_if_eq LilycoveCity_Harbor_EventScript_BrineyFaceSailorNorth + compare VAR_FACING, DIR_EAST + call_if_eq LilycoveCity_Harbor_EventScript_BrineyFaceSailorEast + msgbox EventTicket_Text_BrineyHoldOnASecond, MSGBOX_DEFAULT + compare VAR_FACING, DIR_NORTH + call_if_eq LilycoveCity_Harbor_EventScript_BrineyFacePlayerNorth + compare VAR_FACING, DIR_EAST + call_if_eq LilycoveCity_Harbor_EventScript_BrineyFacePlayerEast + msgbox EventTicket_Text_BrineyLetsSail, MSGBOX_DEFAULT closemessage - compare VAR_FACING, 2 - call_if_eq LilycoveCity_Harbor_EventScript_21E6A1 - compare VAR_FACING, 4 - call_if_eq LilycoveCity_Harbor_EventScript_21E6BA + compare VAR_FACING, DIR_NORTH + call_if_eq LilycoveCity_Harbor_EventScript_BoardFerryWithBrineyAndSailorNorth + compare VAR_FACING, DIR_EAST + call_if_eq LilycoveCity_Harbor_EventScript_BoardFerryWithBrineyAndSailorEast setvar VAR_0x8004, 2 - call LilycoveCity_Harbor_EventScript_2721E2 + call Common_EventScript_FerryDepart warp MAP_FARAWAY_ISLAND_ENTRANCE, 255, 13, 38 waitstate release end -LilycoveCity_Harbor_EventScript_21E40C:: @ 821E40C +LilycoveCity_Harbor_EventScript_GoToFarawayIslandFirstTime:: @ 821E40C closemessage - call LilycoveCity_Harbor_EventScript_21E514 + call LilycoveCity_Harbor_EventScript_BoardFerryWithSailor warp MAP_FARAWAY_ISLAND_ENTRANCE, 255, 13, 38 waitstate release end -LilycoveCity_Harbor_EventScript_21E41D:: @ 821E41D +LilycoveCity_Harbor_EventScript_MysticTicketFirstTime:: @ 821E41D setflag FLAG_HAS_MYSTIC_TICKET - msgbox LilycoveCity_Harbor_Text_2A68D2, MSGBOX_DEFAULT + msgbox EventTicket_Text_ThatPass, MSGBOX_DEFAULT closemessage - call LilycoveCity_Harbor_EventScript_21E4EE - msgbox LilycoveCity_Harbor_Text_2C6A71, MSGBOX_DEFAULT - goto LilycoveCity_Harbor_EventScript_21E43C + call LilycoveCity_Harbor_EventScript_GetEventTicketSailor + msgbox EventTicket_Text_OddTicketGetOnBoard, MSGBOX_DEFAULT + goto LilycoveCity_Harbor_EventScript_GoToNavelRockFirstTime end -LilycoveCity_Harbor_EventScript_21E43C:: @ 821E43C +LilycoveCity_Harbor_EventScript_GoToNavelRockFirstTime:: @ 821E43C closemessage - call LilycoveCity_Harbor_EventScript_21E514 + call LilycoveCity_Harbor_EventScript_BoardFerryWithSailor warp MAP_NAVEL_ROCK_HARBOR, 255, 8, 4 waitstate release end -LilycoveCity_Harbor_EventScript_21E44D:: @ 821E44D - msgbox LilycoveCity_Harbor_Text_2A68D2, MSGBOX_DEFAULT +LilycoveCity_Harbor_EventScript_MultipleEventTicketsFirstTime:: @ 821E44D + msgbox EventTicket_Text_ThatPass, MSGBOX_DEFAULT closemessage - call LilycoveCity_Harbor_EventScript_21E4EE - message LilycoveCity_Harbor_Text_2C6BD4 + call LilycoveCity_Harbor_EventScript_GetEventTicketSailor + message EventTicket_Text_OddTicketsWhereTo waitmessage setvar VAR_0x8004, 1 - special sub_80E2548 + special ScriptMenu_CreateLilycoveSSTidalMultichoice waitstate - special sub_80E2878 + special GetLilycoveSSTidalSelection switch VAR_RESULT - case 2, LilycoveCity_Harbor_EventScript_21E30F - case 3, LilycoveCity_Harbor_EventScript_21E43C - case 4, LilycoveCity_Harbor_EventScript_21E33F - case 5, LilycoveCity_Harbor_EventScript_21E40C - case 6, LilycoveCity_Harbor_EventScript_21E4B6 - case 127, LilycoveCity_Harbor_EventScript_21E4B6 + case 2, LilycoveCity_Harbor_EventScript_GoToSouthernIslandFirstTime + case 3, LilycoveCity_Harbor_EventScript_GoToNavelRockFirstTime + case 4, LilycoveCity_Harbor_EventScript_GoToBirthIslandFirstTime + case 5, LilycoveCity_Harbor_EventScript_GoToFarawayIslandFirstTime + case 6, LilycoveCity_Harbor_EventScript_ExitFirstTimeTicketSailSelect + case MULTI_B_PRESSED, LilycoveCity_Harbor_EventScript_ExitFirstTimeTicketSailSelect release end -LilycoveCity_Harbor_EventScript_21E4B6:: @ 821E4B6 - msgbox LilycoveCity_Harbor_Text_2A6A82, MSGBOX_DEFAULT +LilycoveCity_Harbor_EventScript_ExitFirstTimeTicketSailSelect:: @ 821E4B6 + msgbox EventTicket_Text_AsYouLike, MSGBOX_DEFAULT closemessage - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 30 removeobject 4 delay 30 - applymovement 1, Common_Movement_WalkInPlaceDown + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 showobjectat 1, MAP_LILYCOVE_CITY_HARBOR delay 30 - msgbox LilycoveCity_Harbor_Text_21E842, MSGBOX_DEFAULT + msgbox LilycoveCity_Harbor_Text_SailAnotherTime, MSGBOX_DEFAULT release end -LilycoveCity_Harbor_EventScript_21E4EE:: @ 821E4EE - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceUp +LilycoveCity_Harbor_EventScript_GetEventTicketSailor:: @ 821E4EE + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 30 hideobjectat VAR_LAST_TALKED, MAP_LILYCOVE_CITY_HARBOR @@ -353,194 +354,197 @@ LilycoveCity_Harbor_EventScript_21E4EE:: @ 821E4EE waitmovement 0 return -LilycoveCity_Harbor_EventScript_21E514:: @ 821E514 - applymovement 4, Common_Movement_WalkInPlaceUp +LilycoveCity_Harbor_EventScript_BoardFerryWithSailor:: @ 821E514 + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 30 removeobject 4 - compare VAR_FACING, 2 - call_if_eq LilycoveCity_Harbor_EventScript_21E61B - compare VAR_FACING, 4 - call_if_eq LilycoveCity_Harbor_EventScript_21E610 + compare VAR_FACING, DIR_NORTH + call_if_eq LilycoveCity_Harbor_EventScript_PlayerBoardFerryNorth + compare VAR_FACING, DIR_EAST + call_if_eq LilycoveCity_Harbor_EventScript_PlayerBoardFerryEast delay 30 - hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, 0 setvar VAR_0x8004, 2 - call LilycoveCity_Harbor_EventScript_2721E2 + call Common_EventScript_FerryDepart return -LilycoveCity_Harbor_EventScript_21E54D:: @ 821E54D - msgbox LilycoveCity_Harbor_Text_21E6F1, MSGBOX_DEFAULT +LilycoveCity_Harbor_EventScript_FerryUnavailable:: @ 821E54D + msgbox LilycoveCity_Harbor_Text_FerryUnavailable, MSGBOX_DEFAULT release end -LilycoveCity_Harbor_EventScript_21E557:: @ 821E557 - msgbox LilycoveCity_Harbor_Text_21E758, MSGBOX_DEFAULT - message LilycoveCity_Harbor_Text_21E7ED +LilycoveCity_Harbor_EventScript_NoEventTickets:: @ 821E557 + msgbox LilycoveCity_Harbor_Text_MayISeeYourTicket, MSGBOX_DEFAULT + message LilycoveCity_Harbor_Text_FlashTicketWhereTo waitmessage - goto LilycoveCity_Harbor_EventScript_21E09F + goto LilycoveCity_Harbor_EventScript_FerryRegularLocationSelect end -LilycoveCity_Harbor_EventScript_21E56B:: @ 821E56B - msgbox LilycoveCity_Harbor_Text_21E792, MSGBOX_DEFAULT +@ Unused +LilycoveCity_Harbor_EventScript_NoTicket:: @ 821E56B + msgbox LilycoveCity_Harbor_Text_NoTicket, MSGBOX_DEFAULT release end -LilycoveCity_Harbor_EventScript_21E575:: @ 821E575 - msgbox LilycoveCity_Harbor_Text_21E864, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_Harbor_EventScript_21E5C0 - setvar VAR_PORTHOLE_STATE, 5 - call LilycoveCity_Harbor_EventScript_21E5CC +@ Unused +LilycoveCity_Harbor_EventScript_GoToSlateportUnused:: @ 821E575 + msgbox LilycoveCity_Harbor_Text_SlateportItIs, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind + setvar VAR_SS_TIDAL_STATE, SS_TIDAL_BOARD_LILYCOVE + call LilycoveCity_Harbor_EventScript_BoardFerry warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10 waitstate release end -LilycoveCity_Harbor_EventScript_21E59D:: @ 821E59D - msgbox LilycoveCity_Harbor_Text_21E880, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_Harbor_EventScript_21E5C0 - call LilycoveCity_Harbor_EventScript_21E5CC +@ Unused +LilycoveCity_Harbor_EventScript_GoToBattleFrontierUnused:: @ 821E59D + msgbox LilycoveCity_Harbor_Text_BattleFrontierItIs, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind + call LilycoveCity_Harbor_EventScript_BoardFerry warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67 waitstate release end -LilycoveCity_Harbor_EventScript_21E5C0:: @ 821E5C0 - message LilycoveCity_Harbor_Text_21E8CC +LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind:: @ 821E5C0 + message LilycoveCity_Harbor_Text_WhereWouldYouLikeToGo waitmessage - goto LilycoveCity_Harbor_EventScript_21E09F + goto LilycoveCity_Harbor_EventScript_FerryRegularLocationSelect end -LilycoveCity_Harbor_EventScript_21E5CC:: @ 821E5CC - msgbox LilycoveCity_Harbor_Text_21E89D, MSGBOX_DEFAULT +LilycoveCity_Harbor_EventScript_BoardFerry:: @ 821E5CC + msgbox LilycoveCity_Harbor_Text_PleaseBoard, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceUp + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 30 hideobjectat VAR_LAST_TALKED, MAP_LILYCOVE_CITY_HARBOR - compare VAR_FACING, 2 - call_if_eq LilycoveCity_Harbor_EventScript_21E61B - compare VAR_FACING, 4 - call_if_eq LilycoveCity_Harbor_EventScript_21E610 + compare VAR_FACING, DIR_NORTH + call_if_eq LilycoveCity_Harbor_EventScript_PlayerBoardFerryNorth + compare VAR_FACING, DIR_EAST + call_if_eq LilycoveCity_Harbor_EventScript_PlayerBoardFerryEast delay 30 - hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, 0 setvar VAR_0x8004, 2 - call LilycoveCity_Harbor_EventScript_2721E2 + call Common_EventScript_FerryDepart return -LilycoveCity_Harbor_EventScript_21E610:: @ 821E610 - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E630 +LilycoveCity_Harbor_EventScript_PlayerBoardFerryEast:: @ 821E610 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_PlayerBoardFerryEast waitmovement 0 return -LilycoveCity_Harbor_EventScript_21E61B:: @ 821E61B - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E633 +LilycoveCity_Harbor_EventScript_PlayerBoardFerryNorth:: @ 821E61B + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_PlayerBoardFerryNorth waitmovement 0 return -LilycoveCity_Harbor_EventScript_21E626:: @ 821E626 - msgbox LilycoveCity_Harbor_Text_21E842, MSGBOX_DEFAULT +LilycoveCity_Harbor_EventScript_ExitSailSelect:: @ 821E626 + msgbox LilycoveCity_Harbor_Text_SailAnotherTime, MSGBOX_DEFAULT release end -LilycoveCity_Harbor_Movement_21E630: @ 821E630 +LilycoveCity_Harbor_Movement_PlayerBoardFerryEast: @ 821E630 walk_right walk_in_place_fastest_up step_end -LilycoveCity_Harbor_Movement_21E633: @ 821E633 +LilycoveCity_Harbor_Movement_PlayerBoardFerryNorth: @ 821E633 walk_up step_end -LilycoveCity_Harbor_Movement_21E635: @ 821E635 +LilycoveCity_Harbor_Movement_UnusedBoardFerry: @ 821E635 walk_up step_end -LilycoveCity_Harbor_EventScript_21E637:: @ 821E637 +LilycoveCity_Harbor_EventScript_Sailor:: @ 821E637 lock faceplayer - goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_Harbor_EventScript_21E64C - msgbox LilycoveCity_Harbor_Text_21E8EE, MSGBOX_DEFAULT + goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_Harbor_EventScript_SailorFerryAvailable + msgbox LilycoveCity_Harbor_Text_SailorFerryUnavailable, MSGBOX_DEFAULT release end -LilycoveCity_Harbor_EventScript_21E64C:: @ 821E64C - msgbox LilycoveCity_Harbor_Text_21E976, MSGBOX_DEFAULT +LilycoveCity_Harbor_EventScript_SailorFerryAvailable:: @ 821E64C + msgbox LilycoveCity_Harbor_Text_SailorFerryAvailable, MSGBOX_DEFAULT release end -LilycoveCity_Harbor_EventScript_21E656:: @ 821E656 - applymovement 4, LilycoveCity_Harbor_Movement_21E66C +LilycoveCity_Harbor_EventScript_MoveSailorOutOfWayNorth:: @ 821E656 + applymovement 4, LilycoveCity_Harbor_Movement_SailorOutOfWayNorth waitmovement 0 return -LilycoveCity_Harbor_EventScript_21E661:: @ 821E661 - applymovement 4, LilycoveCity_Harbor_Movement_21E671 +LilycoveCity_Harbor_EventScript_MoveSailorOutOfWayEast:: @ 821E661 + applymovement 4, LilycoveCity_Harbor_Movement_SailorOutOfWayEast waitmovement 0 return -LilycoveCity_Harbor_Movement_21E66C: @ 821E66C +LilycoveCity_Harbor_Movement_SailorOutOfWayNorth: @ 821E66C walk_in_place_fastest_right lock_facing_direction walk_left unlock_facing_direction step_end -LilycoveCity_Harbor_Movement_21E671: @ 821E671 +LilycoveCity_Harbor_Movement_SailorOutOfWayEast: @ 821E671 lock_facing_direction walk_down unlock_facing_direction step_end -LilycoveCity_Harbor_EventScript_21E675:: @ 821E675 - applymovement 5, Common_Movement_WalkInPlaceLeft +LilycoveCity_Harbor_EventScript_BrineyFaceSailorNorth:: @ 821E675 + applymovement 5, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -LilycoveCity_Harbor_EventScript_21E680:: @ 821E680 - applymovement 5, Common_Movement_WalkInPlaceDown +LilycoveCity_Harbor_EventScript_BrineyFaceSailorEast:: @ 821E680 + applymovement 5, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -LilycoveCity_Harbor_EventScript_21E68B:: @ 821E68B - applymovement 5, Common_Movement_WalkInPlaceDown +LilycoveCity_Harbor_EventScript_BrineyFacePlayerNorth:: @ 821E68B + applymovement 5, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -LilycoveCity_Harbor_EventScript_21E696:: @ 821E696 - applymovement 5, Common_Movement_WalkInPlaceLeft +LilycoveCity_Harbor_EventScript_BrineyFacePlayerEast:: @ 821E696 + applymovement 5, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -LilycoveCity_Harbor_EventScript_21E6A1:: @ 821E6A1 - applymovement 5, LilycoveCity_Harbor_Movement_21E6D3 - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E6D7 - applymovement 4, LilycoveCity_Harbor_Movement_21E6DC +LilycoveCity_Harbor_EventScript_BoardFerryWithBrineyAndSailorNorth:: @ 821E6A1 + applymovement 5, LilycoveCity_Harbor_Movement_BrineyBoardFerry + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_PlayerBoardWithBrineyNorth + applymovement 4, LilycoveCity_Harbor_Movement_SailorBoardWithBrineyNorth waitmovement 0 return -LilycoveCity_Harbor_EventScript_21E6BA:: @ 821E6BA - applymovement 5, LilycoveCity_Harbor_Movement_21E6D3 - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E6E4 - applymovement 4, LilycoveCity_Harbor_Movement_21E6EA +LilycoveCity_Harbor_EventScript_BoardFerryWithBrineyAndSailorEast:: @ 821E6BA + applymovement 5, LilycoveCity_Harbor_Movement_BrineyBoardFerry + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_PlayerBoardWithBrineyEast + applymovement 4, LilycoveCity_Harbor_Movement_SailorBoardWithBrineyEast waitmovement 0 return -LilycoveCity_Harbor_Movement_21E6D3: @ 821E6D3 +LilycoveCity_Harbor_Movement_BrineyBoardFerry: @ 821E6D3 walk_in_place_fastest_up delay_8 set_invisible step_end -LilycoveCity_Harbor_Movement_21E6D7: @ 821E6D7 +LilycoveCity_Harbor_Movement_PlayerBoardWithBrineyNorth: @ 821E6D7 delay_16 walk_up delay_16 set_invisible step_end -LilycoveCity_Harbor_Movement_21E6DC: @ 821E6DC +LilycoveCity_Harbor_Movement_SailorBoardWithBrineyNorth: @ 821E6DC delay_16 delay_16 delay_16 @@ -550,7 +554,7 @@ LilycoveCity_Harbor_Movement_21E6DC: @ 821E6DC set_invisible step_end -LilycoveCity_Harbor_Movement_21E6E4: @ 821E6E4 +LilycoveCity_Harbor_Movement_PlayerBoardWithBrineyEast: @ 821E6E4 delay_16 walk_right walk_in_place_fastest_up @@ -558,7 +562,7 @@ LilycoveCity_Harbor_Movement_21E6E4: @ 821E6E4 set_invisible step_end -LilycoveCity_Harbor_Movement_21E6EA: @ 821E6EA +LilycoveCity_Harbor_Movement_SailorBoardWithBrineyEast: @ 821E6EA delay_16 delay_16 delay_16 @@ -567,51 +571,50 @@ LilycoveCity_Harbor_Movement_21E6EA: @ 821E6EA set_invisible step_end -LilycoveCity_Harbor_Text_21E6F1: @ 821E6F1 +LilycoveCity_Harbor_Text_FerryUnavailable: @ 821E6F1 .string "I beg your pardon?\n" .string "You're looking for a ship?\p" .string "I'm sorry, the ferry service isn't\n" .string "available at present…$" -LilycoveCity_Harbor_Text_21E758: @ 821E758 +LilycoveCity_Harbor_Text_MayISeeYourTicket: @ 821E758 .string "Hello, are you here for the ferry?\n" .string "May I see your TICKET?$" - -LilycoveCity_Harbor_Text_21E792: @ 821E792 +LilycoveCity_Harbor_Text_NoTicket: @ 821E792 .string "{PLAYER} doesn't have the TICKET…\p" .string "I'm terribly sorry.\p" .string "You must have a TICKET to board\n" .string "the ferry.$" -LilycoveCity_Harbor_Text_21E7ED: @ 821E7ED +LilycoveCity_Harbor_Text_FlashTicketWhereTo: @ 821E7ED .string "{PLAYER} flashed the TICKET.\p" .string "Perfect! That's all you need!\p" .string "And where would you like to go?$" -LilycoveCity_Harbor_Text_21E842: @ 821E842 +LilycoveCity_Harbor_Text_SailAnotherTime: @ 821E842 .string "Please sail with us another time!$" -LilycoveCity_Harbor_Text_21E864: @ 821E864 +LilycoveCity_Harbor_Text_SlateportItIs: @ 821E864 .string "SLATEPORT CITY it is, then!$" -LilycoveCity_Harbor_Text_21E880: @ 821E880 +LilycoveCity_Harbor_Text_BattleFrontierItIs: @ 821E880 .string "BATTLE FRONTIER it is, then!$" -LilycoveCity_Harbor_Text_21E89D: @ 821E89D +LilycoveCity_Harbor_Text_PleaseBoard: @ 821E89D .string "Please board the ferry and wait for\n" .string "departure.$" -LilycoveCity_Harbor_Text_21E8CC: @ 821E8CC +LilycoveCity_Harbor_Text_WhereWouldYouLikeToGo: @ 821E8CC .string "Then, where would you like to go?$" -LilycoveCity_Harbor_Text_21E8EE: @ 821E8EE +LilycoveCity_Harbor_Text_SailorFerryUnavailable: @ 821E8EE .string "Until they finish making the ferry,\n" .string "we sailors have nothing to do…\p" .string "I wish they'd get a move on, the folks\n" .string "at the SHIPYARD in SLATEPORT.$" -LilycoveCity_Harbor_Text_21E976: @ 821E976 +LilycoveCity_Harbor_Text_SailorFerryAvailable: @ 821E976 .string "The ferry S.S. TIDAL is finally in\n" .string "operation.\p" .string "The folks at the SHIPYARD in SLATEPORT\n" diff --git a/data/maps/LilycoveCity_House1/map.json b/data/maps/LilycoveCity_House1/map.json index 54fa583332..4f3fbcc28f 100644 --- a/data/maps/LilycoveCity_House1/map.json +++ b/data/maps/LilycoveCity_House1/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_House1_EventScript_21ECCE", + "script": "LilycoveCity_House1_EventScript_ExpertM", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_House1_EventScript_21ECD7", + "script": "LilycoveCity_House1_EventScript_Kecleon", "flag": "0" } ], diff --git a/data/maps/LilycoveCity_House1/scripts.inc b/data/maps/LilycoveCity_House1/scripts.inc index ce09fa3dcb..207b27a11c 100644 --- a/data/maps/LilycoveCity_House1/scripts.inc +++ b/data/maps/LilycoveCity_House1/scripts.inc @@ -1,26 +1,26 @@ LilycoveCity_House1_MapScripts:: @ 821ECCD .byte 0 -LilycoveCity_House1_EventScript_21ECCE:: @ 821ECCE - msgbox LilycoveCity_House1_Text_21ECEA, MSGBOX_NPC +LilycoveCity_House1_EventScript_ExpertM:: @ 821ECCE + msgbox LilycoveCity_House1_Text_PokemonPartnersNotTools, MSGBOX_NPC end -LilycoveCity_House1_EventScript_21ECD7:: @ 821ECD7 +LilycoveCity_House1_EventScript_Kecleon:: @ 821ECD7 lock faceplayer waitse playmoncry SPECIES_KECLEON, 0 - msgbox LilycoveCity_House1_Text_21ED63, MSGBOX_DEFAULT + msgbox LilycoveCity_House1_Text_Kecleon, MSGBOX_DEFAULT waitmoncry release end -LilycoveCity_House1_Text_21ECEA: @ 821ECEA +LilycoveCity_House1_Text_PokemonPartnersNotTools: @ 821ECEA .string "POKéMON are partners to people.\n" .string "They aren't our tools.\p" .string "Unfortunately, there are some people\n" .string "who fail to understand that…$" -LilycoveCity_House1_Text_21ED63: @ 821ED63 +LilycoveCity_House1_Text_Kecleon: @ 821ED63 .string "KECLEON: Ruroro?$" diff --git a/data/maps/LilycoveCity_House2/map.json b/data/maps/LilycoveCity_House2/map.json index b3e4127a6a..c92a504991 100644 --- a/data/maps/LilycoveCity_House2/map.json +++ b/data/maps/LilycoveCity_House2/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_House2_EventScript_21ED75", + "script": "LilycoveCity_House2_EventScript_FatMan", "flag": "0" } ], diff --git a/data/maps/LilycoveCity_House2/scripts.inc b/data/maps/LilycoveCity_House2/scripts.inc index 0a0792bfda..29d741abd4 100644 --- a/data/maps/LilycoveCity_House2/scripts.inc +++ b/data/maps/LilycoveCity_House2/scripts.inc @@ -1,30 +1,30 @@ LilycoveCity_House2_MapScripts:: @ 821ED74 .byte 0 -LilycoveCity_House2_EventScript_21ED75:: @ 821ED75 +LilycoveCity_House2_EventScript_FatMan:: @ 821ED75 lock faceplayer - goto_if_set FLAG_RECEIVED_TM44, LilycoveCity_House2_EventScript_21EDAC - msgbox LilycoveCity_House2_Text_21EDB6, MSGBOX_DEFAULT - giveitem_std ITEM_TM44 - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_TM44, LilycoveCity_House2_EventScript_ReceivedRest + msgbox LilycoveCity_House2_Text_NotAwakeYetHaveThis, MSGBOX_DEFAULT + giveitem ITEM_TM44 + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_TM44 - msgbox LilycoveCity_House2_Text_21EDF9, MSGBOX_DEFAULT + msgbox LilycoveCity_House2_Text_SleepIsEssential, MSGBOX_DEFAULT release end -LilycoveCity_House2_EventScript_21EDAC:: @ 821EDAC - msgbox LilycoveCity_House2_Text_21EDF9, MSGBOX_DEFAULT +LilycoveCity_House2_EventScript_ReceivedRest:: @ 821EDAC + msgbox LilycoveCity_House2_Text_SleepIsEssential, MSGBOX_DEFAULT release end -LilycoveCity_House2_Text_21EDB6: @ 821EDB6 +LilycoveCity_House2_Text_NotAwakeYetHaveThis: @ 821EDB6 .string "Huh? What? What's that?\p" .string "I'm not near awake yet…\n" .string "You can have this…$" -LilycoveCity_House2_Text_21EDF9: @ 821EDF9 +LilycoveCity_House2_Text_SleepIsEssential: @ 821EDF9 .string "Yawn…\p" .string "Sleep is essential for good health…\n" .string "Sleep and regain health…$" diff --git a/data/maps/LilycoveCity_House3/map.json b/data/maps/LilycoveCity_House3/map.json index 537fc46b3e..e8010956d9 100644 --- a/data/maps/LilycoveCity_House3/map.json +++ b/data/maps/LilycoveCity_House3/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_House3_EventScript_21EF3D", + "script": "LilycoveCity_House3_EventScript_GameBoyKid4", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_House3_EventScript_21EE4B", + "script": "LilycoveCity_House3_EventScript_PokefanF", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_House3_EventScript_21EED5", + "script": "LilycoveCity_House3_EventScript_GameBoyKid2", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_House3_EventScript_21EF09", + "script": "LilycoveCity_House3_EventScript_GameBoyKid3", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_House3_EventScript_21EEA1", + "script": "LilycoveCity_House3_EventScript_GameBoyKid1", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_House3_EventScript_21EE8A", + "script": "LilycoveCity_House3_EventScript_Man", "flag": "0" } ], diff --git a/data/maps/LilycoveCity_House3/scripts.inc b/data/maps/LilycoveCity_House3/scripts.inc index 7d949fd8b7..8d4a1059ec 100644 --- a/data/maps/LilycoveCity_House3/scripts.inc +++ b/data/maps/LilycoveCity_House3/scripts.inc @@ -7,98 +7,98 @@ LilycoveCity_House3_OnTransition: @ 821EE42 copyvar VAR_TEMP_1, VAR_RESULT end -LilycoveCity_House3_EventScript_21EE4B:: @ 821EE4B +LilycoveCity_House3_EventScript_PokefanF:: @ 821EE4B lock faceplayer - msgbox LilycoveCity_House3_Text_21EF99, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_House3_EventScript_21EE75 - msgbox LilycoveCity_House3_Text_21F0F8, MSGBOX_DEFAULT + msgbox LilycoveCity_House3_Text_LearnFromMasterOfPokeblocks, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_House3_EventScript_DeclinePokeblockLearn + msgbox LilycoveCity_House3_Text_ExplainPokeblocks, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_House3_EventScript_21EE75:: @ 821EE75 - msgbox LilycoveCity_House3_Text_21F0A9, MSGBOX_DEFAULT +LilycoveCity_House3_EventScript_DeclinePokeblockLearn:: @ 821EE75 + msgbox LilycoveCity_House3_Text_OhAreYouSure, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_House3_EventScript_21EE8A:: @ 821EE8A +LilycoveCity_House3_EventScript_Man:: @ 821EE8A lock faceplayer - msgbox LilycoveCity_House3_Text_21F430, MSGBOX_DEFAULT + msgbox LilycoveCity_House3_Text_HappyToHaveQuadruplets, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_House3_EventScript_21EEA1:: @ 821EEA1 +LilycoveCity_House3_EventScript_GameBoyKid1:: @ 821EEA1 lock faceplayer switch VAR_TEMP_1 - case 0, LilycoveCity_House3_EventScript_21EF71 - case 1, LilycoveCity_House3_EventScript_21EF7B - case 2, LilycoveCity_House3_EventScript_21EF85 - case 3, LilycoveCity_House3_EventScript_21EF8F + case 0, LilycoveCity_House3_EventScript_WereDoingMultiBattle + case 1, LilycoveCity_House3_EventScript_WereMixingRecords + case 2, LilycoveCity_House3_EventScript_WereBlendingBerries + case 3, LilycoveCity_House3_EventScript_WereDoingContest end -LilycoveCity_House3_EventScript_21EED5:: @ 821EED5 +LilycoveCity_House3_EventScript_GameBoyKid2:: @ 821EED5 lock faceplayer switch VAR_TEMP_1 - case 0, LilycoveCity_House3_EventScript_21EF71 - case 1, LilycoveCity_House3_EventScript_21EF7B - case 2, LilycoveCity_House3_EventScript_21EF85 - case 3, LilycoveCity_House3_EventScript_21EF8F + case 0, LilycoveCity_House3_EventScript_WereDoingMultiBattle + case 1, LilycoveCity_House3_EventScript_WereMixingRecords + case 2, LilycoveCity_House3_EventScript_WereBlendingBerries + case 3, LilycoveCity_House3_EventScript_WereDoingContest end -LilycoveCity_House3_EventScript_21EF09:: @ 821EF09 +LilycoveCity_House3_EventScript_GameBoyKid3:: @ 821EF09 lock faceplayer switch VAR_TEMP_1 - case 0, LilycoveCity_House3_EventScript_21EF71 - case 1, LilycoveCity_House3_EventScript_21EF7B - case 2, LilycoveCity_House3_EventScript_21EF85 - case 3, LilycoveCity_House3_EventScript_21EF8F + case 0, LilycoveCity_House3_EventScript_WereDoingMultiBattle + case 1, LilycoveCity_House3_EventScript_WereMixingRecords + case 2, LilycoveCity_House3_EventScript_WereBlendingBerries + case 3, LilycoveCity_House3_EventScript_WereDoingContest end -LilycoveCity_House3_EventScript_21EF3D:: @ 821EF3D +LilycoveCity_House3_EventScript_GameBoyKid4:: @ 821EF3D lock faceplayer switch VAR_TEMP_1 - case 0, LilycoveCity_House3_EventScript_21EF71 - case 1, LilycoveCity_House3_EventScript_21EF7B - case 2, LilycoveCity_House3_EventScript_21EF85 - case 3, LilycoveCity_House3_EventScript_21EF8F + case 0, LilycoveCity_House3_EventScript_WereDoingMultiBattle + case 1, LilycoveCity_House3_EventScript_WereMixingRecords + case 2, LilycoveCity_House3_EventScript_WereBlendingBerries + case 3, LilycoveCity_House3_EventScript_WereDoingContest end -LilycoveCity_House3_EventScript_21EF71:: @ 821EF71 - msgbox LilycoveCity_House3_Text_21F4A7, MSGBOX_DEFAULT +LilycoveCity_House3_EventScript_WereDoingMultiBattle:: @ 821EF71 + msgbox LilycoveCity_House3_Text_GoingToWinMultiBattles, MSGBOX_DEFAULT release end -LilycoveCity_House3_EventScript_21EF7B:: @ 821EF7B - msgbox LilycoveCity_House3_Text_21F4E0, MSGBOX_DEFAULT +LilycoveCity_House3_EventScript_WereMixingRecords:: @ 821EF7B + msgbox LilycoveCity_House3_Text_LikeMixingAtRecordCorner, MSGBOX_DEFAULT release end -LilycoveCity_House3_EventScript_21EF85:: @ 821EF85 - msgbox LilycoveCity_House3_Text_21F523, MSGBOX_DEFAULT +LilycoveCity_House3_EventScript_WereBlendingBerries:: @ 821EF85 + msgbox LilycoveCity_House3_Text_MakePokeblocksWithBerryBlender, MSGBOX_DEFAULT release end -LilycoveCity_House3_EventScript_21EF8F:: @ 821EF8F - msgbox LilycoveCity_House3_Text_21F55A, MSGBOX_DEFAULT +LilycoveCity_House3_EventScript_WereDoingContest:: @ 821EF8F + msgbox LilycoveCity_House3_Text_GoingToEnterContest, MSGBOX_DEFAULT release end -LilycoveCity_House3_Text_21EF99: @ 821EF99 +LilycoveCity_House3_Text_LearnFromMasterOfPokeblocks: @ 821EF99 .string "Oh, my, my! Are you traveling alone?\n" .string "But you're so young! Good for you!\p" .string "I'm sure my kids could learn a thing\n" @@ -109,12 +109,12 @@ LilycoveCity_House3_Text_21EF99: @ 821EF99 .string "Would you like to learn from me,\n" .string "a master of {POKEBLOCK}S?$" -LilycoveCity_House3_Text_21F0A9: @ 821F0A9 +LilycoveCity_House3_Text_OhAreYouSure: @ 821F0A9 .string "Oh? Are you sure?\p" .string "You shouldn't always try to do\n" .string "everything by yourself, dear!$" -LilycoveCity_House3_Text_21F0F8: @ 821F0F8 +LilycoveCity_House3_Text_ExplainPokeblocks: @ 821F0F8 .string "Oh, good! You're a smart soul!\n" .string "This is a bit long, so listen up!\p" .string "Are you ready?\p" @@ -143,26 +143,26 @@ LilycoveCity_House3_Text_21F0F8: @ 821F0F8 .string "the world would be a happier place.\p" .string "Don't give up, dear!$" -LilycoveCity_House3_Text_21F430: @ 821F430 +LilycoveCity_House3_Text_HappyToHaveQuadruplets: @ 821F430 .string "When my wife gave birth to quadruplets,\n" .string "you bet I was shocked.\p" .string "But, now, seeing them play together,\n" .string "it makes me happy.$" -LilycoveCity_House3_Text_21F4A7: @ 821F4A7 +LilycoveCity_House3_Text_GoingToWinMultiBattles: @ 821F4A7 .string "We're having MULTI BATTLES, but I know\n" .string "I'm going to win.$" -LilycoveCity_House3_Text_21F4E0: @ 821F4E0 +LilycoveCity_House3_Text_LikeMixingAtRecordCorner: @ 821F4E0 .string "We like mixing stuff at\n" .string "the RECORD CORNER.\p" .string "But what gets mixed up?$" -LilycoveCity_House3_Text_21F523: @ 821F523 +LilycoveCity_House3_Text_MakePokeblocksWithBerryBlender: @ 821F523 .string "We're going to make super {POKEBLOCK}S\n" .string "with a BERRY BLENDER!$" -LilycoveCity_House3_Text_21F55A: @ 821F55A +LilycoveCity_House3_Text_GoingToEnterContest: @ 821F55A .string "I want to brag about how tough my\n" .string "POKéMON is, so we're going to enter\l" .string "a CONTEST together.$" diff --git a/data/maps/LilycoveCity_House4/map.json b/data/maps/LilycoveCity_House4/map.json index f442d00ba8..95fc79d35e 100644 --- a/data/maps/LilycoveCity_House4/map.json +++ b/data/maps/LilycoveCity_House4/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_House4_EventScript_21F5B5", + "script": "LilycoveCity_House4_EventScript_Man1", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_House4_EventScript_21F5BE", + "script": "LilycoveCity_House4_EventScript_Man2", "flag": "0" } ], diff --git a/data/maps/LilycoveCity_House4/scripts.inc b/data/maps/LilycoveCity_House4/scripts.inc index 2306ff6df3..685a91b7da 100644 --- a/data/maps/LilycoveCity_House4/scripts.inc +++ b/data/maps/LilycoveCity_House4/scripts.inc @@ -1,20 +1,20 @@ LilycoveCity_House4_MapScripts:: @ 821F5B4 .byte 0 -LilycoveCity_House4_EventScript_21F5B5:: @ 821F5B5 - msgbox LilycoveCity_House4_Text_21F5C7, MSGBOX_NPC +LilycoveCity_House4_EventScript_Man1:: @ 821F5B5 + msgbox LilycoveCity_House4_Text_MysteriesAtBottomOfSea, MSGBOX_NPC end -LilycoveCity_House4_EventScript_21F5BE:: @ 821F5BE - msgbox LilycoveCity_House4_Text_21F62B, MSGBOX_NPC +LilycoveCity_House4_EventScript_Man2:: @ 821F5BE + msgbox LilycoveCity_House4_Text_UnderwaterTrenchMossdeepSootopolis, MSGBOX_NPC end -LilycoveCity_House4_Text_21F5C7: @ 821F5C7 +LilycoveCity_House4_Text_MysteriesAtBottomOfSea: @ 821F5C7 .string "This planet's biggest mysteries are\n" .string "at the bottom of the sea.\p" .string "Somebody said that, but I don't know…$" -LilycoveCity_House4_Text_21F62B: @ 821F62B +LilycoveCity_House4_Text_UnderwaterTrenchMossdeepSootopolis: @ 821F62B .string "There's a deep underwater trench\n" .string "between MOSSDEEP and SOOTOPOLIS.\p" .string "That's what someone told me, anyway.$" diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json b/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json index 11272059e2..83028fbeb4 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json +++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218CB9", + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_Greeter", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218CC2", + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_Curator", "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DF5", + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_SchoolKidM", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DFE", + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_Artist1", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218E07", + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_NinjaBoy", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218E10", + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_Woman1", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218E19", + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_Woman2", "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218E2B", + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_Artist2", "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_4" }, { @@ -128,7 +128,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218E42", + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_FatMan", "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS" }, { @@ -141,7 +141,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218E22", + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_PsychicM", "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_3" } ], @@ -176,7 +176,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DAD" + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_FantasyPainting" }, { "type": "sign", @@ -184,7 +184,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DAD" + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_FantasyPainting" }, { "type": "sign", @@ -192,7 +192,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DD1" + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_BerryPainting" }, { "type": "sign", @@ -200,7 +200,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DD1" + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_BerryPainting" }, { "type": "sign", @@ -208,7 +208,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DA4" + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_OldPainting" }, { "type": "sign", @@ -216,7 +216,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DB6" + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_WomanPainting" }, { "type": "sign", @@ -224,7 +224,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DB6" + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_WomanPainting" }, { "type": "sign", @@ -232,7 +232,7 @@ "y": 12, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DDA" + "script": "LilycoveCity_LilycoveMuseum_EventScript_BirdSculpture" }, { "type": "sign", @@ -240,7 +240,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DA4" + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_OldPainting" }, { "type": "sign", @@ -248,7 +248,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DC8" + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_GrassPokemonPainting" }, { "type": "sign", @@ -256,7 +256,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC" + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_StoneTablet" }, { "type": "sign", @@ -264,7 +264,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DBF" + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_LegendaryPokemonPainting" }, { "type": "sign", @@ -272,7 +272,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DBF" + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_LegendaryPokemonPainting" }, { "type": "sign", @@ -280,7 +280,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC" + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_StoneTablet" }, { "type": "sign", @@ -288,7 +288,7 @@ "y": 11, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DE3" + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_PokeBallSculpture" }, { "type": "sign", @@ -296,7 +296,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC" + "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_StoneTablet" } ] } \ No newline at end of file diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc index 8f2cdde28d..a9c6f12668 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc +++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc @@ -1,175 +1,174 @@ LilycoveCity_LilycoveMuseum_1F_MapScripts:: @ 8218CB8 .byte 0 -LilycoveCity_LilycoveMuseum_1F_EventScript_218CB9:: @ 8218CB9 - msgbox LilycoveCity_LilycoveMuseum_1F_Text_218E4B, MSGBOX_SIGN +LilycoveCity_LilycoveMuseum_1F_EventScript_Greeter:: @ 8218CB9 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_WelcomeToLilycoveMuseum, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_1F_EventScript_218CC2:: @ 8218CC2 +LilycoveCity_LilycoveMuseum_1F_EventScript_Curator:: @ 8218CC2 lockall applymovement 2, Common_Movement_FacePlayer - message LilycoveCity_LilycoveMuseum_1F_Text_218EBC + message LilycoveCity_LilycoveMuseum_1F_Text_ImCuratorHaveYouViewedOurPaintings waitmessage - multichoice 20, 8, 16, 1 + multichoice 20, 8, MULTI_VIEWED_PAINTINGS, 1 compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218CF5 + goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_SawPaintings compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC + goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_NotYet end -LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC:: @ 8218CEC - msgbox LilycoveCity_LilycoveMuseum_1F_Text_218F5C, MSGBOX_NPC +LilycoveCity_LilycoveMuseum_1F_EventScript_NotYet:: @ 8218CEC + msgbox LilycoveCity_LilycoveMuseum_1F_Text_NotDisturbYouTakeYourTime, MSGBOX_NPC end -LilycoveCity_LilycoveMuseum_1F_EventScript_218CF5:: @ 8218CF5 - msgbox LilycoveCity_LilycoveMuseum_1F_Text_218F98, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D14 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D1E +LilycoveCity_LilycoveMuseum_1F_EventScript_SawPaintings:: @ 8218CF5 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_HaveYouAnInterestInPaintings, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_NotInterested + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_InterestedInPaintings end -LilycoveCity_LilycoveMuseum_1F_EventScript_218D14:: @ 8218D14 - msgbox LilycoveCity_LilycoveMuseum_1F_Text_218FF8, MSGBOX_SIGN +LilycoveCity_LilycoveMuseum_1F_EventScript_NotInterested:: @ 8218D14 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_HonoredYoudVisitInSpiteOfThat, MSGBOX_SIGN releaseall end -LilycoveCity_LilycoveMuseum_1F_EventScript_218D1E:: @ 8218D1E - msgbox LilycoveCity_LilycoveMuseum_1F_Text_219035, MSGBOX_SIGN - applymovement 2, LilycoveCity_LilycoveMuseum_1F_Movement_218D99 +LilycoveCity_LilycoveMuseum_1F_EventScript_InterestedInPaintings:: @ 8218D1E + msgbox LilycoveCity_LilycoveMuseum_1F_Text_ExcellentCanYouComeWithMe, MSGBOX_SIGN + applymovement 2, LilycoveCity_LilycoveMuseum_1F_Movement_CuratorEnterStairs waitmovement 0 removeobject 2 switch VAR_FACING - case 2, LilycoveCity_LilycoveMuseum_1F_EventScript_218D5A - case 3, LilycoveCity_LilycoveMuseum_1F_EventScript_218D6F - case 4, LilycoveCity_LilycoveMuseum_1F_EventScript_218D84 + case DIR_NORTH, LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorNorth + case DIR_WEST, LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorWest + case DIR_EAST, LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorEast end -LilycoveCity_LilycoveMuseum_1F_EventScript_218D5A:: @ 8218D5A +LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorNorth:: @ 8218D5A lockall - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_218DA1 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorNorth waitmovement 0 warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8 waitstate end -LilycoveCity_LilycoveMuseum_1F_EventScript_218D6F:: @ 8218D6F +LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorWest:: @ 8218D6F lockall - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_218D9B + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorWest waitmovement 0 warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8 waitstate end -LilycoveCity_LilycoveMuseum_1F_EventScript_218D84:: @ 8218D84 +LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorEast:: @ 8218D84 lockall - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_218D9E + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorEast waitmovement 0 warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8 waitstate end -LilycoveCity_LilycoveMuseum_1F_Movement_218D99: @ 8218D99 +LilycoveCity_LilycoveMuseum_1F_Movement_CuratorEnterStairs: @ 8218D99 walk_up step_end -LilycoveCity_LilycoveMuseum_1F_Movement_218D9B: @ 8218D9B +LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorWest: @ 8218D9B walk_left walk_up step_end -LilycoveCity_LilycoveMuseum_1F_Movement_218D9E: @ 8218D9E +LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorEast: @ 8218D9E walk_right walk_up step_end -LilycoveCity_LilycoveMuseum_1F_Movement_218DA1: @ 8218DA1 +LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorNorth: @ 8218DA1 walk_up walk_up step_end -LilycoveCity_LilycoveMuseum_1F_EventScript_218DA4:: @ 8218DA4 - msgbox LilycoveCity_LilycoveMuseum_1F_Text_219080, MSGBOX_SIGN +LilycoveCity_LilycoveMuseum_1F_EventScript_OldPainting:: @ 8218DA4 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_VeryOldPainting, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_1F_EventScript_218DAD:: @ 8218DAD - msgbox LilycoveCity_LilycoveMuseum_1F_Text_2190BF, MSGBOX_SIGN +LilycoveCity_LilycoveMuseum_1F_EventScript_FantasyPainting:: @ 8218DAD + msgbox LilycoveCity_LilycoveMuseum_1F_Text_OddLandscapeFantasticScenery, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_1F_EventScript_218DB6:: @ 8218DB6 - msgbox LilycoveCity_LilycoveMuseum_1F_Text_2190F9, MSGBOX_SIGN +LilycoveCity_LilycoveMuseum_1F_EventScript_WomanPainting:: @ 8218DB6 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_PaintingOfBeautifulWoman, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_1F_EventScript_218DBF:: @ 8218DBF - msgbox LilycoveCity_LilycoveMuseum_1F_Text_219142, MSGBOX_SIGN +LilycoveCity_LilycoveMuseum_1F_EventScript_LegendaryPokemonPainting:: @ 8218DBF + msgbox LilycoveCity_LilycoveMuseum_1F_Text_PaintingOfLegendaryPokemon, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_1F_EventScript_218DC8:: @ 8218DC8 - msgbox LilycoveCity_LilycoveMuseum_1F_Text_2191A2, MSGBOX_SIGN +LilycoveCity_LilycoveMuseum_1F_EventScript_GrassPokemonPainting:: @ 8218DC8 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_PaintingOfGrassPokemon, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_1F_EventScript_218DD1:: @ 8218DD1 - msgbox LilycoveCity_LilycoveMuseum_1F_Text_21920D, MSGBOX_SIGN +LilycoveCity_LilycoveMuseum_1F_EventScript_BerryPainting:: @ 8218DD1 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_PaintingOfBerries, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_1F_EventScript_218DDA:: @ 8218DDA -LilycoveCity_LilycoveMuseum_2F_EventScript_218DDA:: @ 8218DDA - msgbox LilycoveCity_LilycoveMuseum_1F_Text_219260, MSGBOX_SIGN +LilycoveCity_LilycoveMuseum_EventScript_BirdSculpture:: @ 8218DDA + msgbox LilycoveCity_LilycoveMuseum_Text_BirdPokemonSculptureReplica, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_1F_EventScript_218DE3:: @ 8218DE3 - msgbox LilycoveCity_LilycoveMuseum_1F_Text_2192AA, MSGBOX_SIGN +LilycoveCity_LilycoveMuseum_1F_EventScript_PokeBallSculpture:: @ 8218DE3 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_BigPokeBallCarvedFromStone, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC:: @ 8218DEC - msgbox LilycoveCity_LilycoveMuseum_1F_Text_219311, MSGBOX_SIGN +LilycoveCity_LilycoveMuseum_1F_EventScript_StoneTablet:: @ 8218DEC + msgbox LilycoveCity_LilycoveMuseum_1F_Text_StoneTabletWithAncientText, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_1F_EventScript_218DF5:: @ 8218DF5 - msgbox LilycoveCity_LilycoveMuseum_1F_Text_2193B4, MSGBOX_NPC +LilycoveCity_LilycoveMuseum_1F_EventScript_SchoolKidM:: @ 8218DF5 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_MustntForgetLoveForFineArts, MSGBOX_NPC end -LilycoveCity_LilycoveMuseum_1F_EventScript_218DFE:: @ 8218DFE - msgbox LilycoveCity_LilycoveMuseum_1F_Text_21941A, MSGBOX_NPC +LilycoveCity_LilycoveMuseum_1F_EventScript_Artist1:: @ 8218DFE + msgbox LilycoveCity_LilycoveMuseum_1F_Text_ThisMuseumIsInspiration, MSGBOX_NPC end -LilycoveCity_LilycoveMuseum_1F_EventScript_218E07:: @ 8218E07 - msgbox LilycoveCity_LilycoveMuseum_1F_Text_2194BA, MSGBOX_SIGN +LilycoveCity_LilycoveMuseum_1F_EventScript_NinjaBoy:: @ 8218E07 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_ThisLadyIsPretty, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_1F_EventScript_218E10:: @ 8218E10 - msgbox LilycoveCity_LilycoveMuseum_1F_Text_2194E1, MSGBOX_SIGN +LilycoveCity_LilycoveMuseum_1F_EventScript_Woman1:: @ 8218E10 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_ThisPokemonIsAdorable, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_1F_EventScript_218E19:: @ 8218E19 - msgbox LilycoveCity_LilycoveMuseum_1F_Text_219515, MSGBOX_NPC +LilycoveCity_LilycoveMuseum_1F_EventScript_Woman2:: @ 8218E19 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_HeardMuseumGotNewPaintings, MSGBOX_NPC end -LilycoveCity_LilycoveMuseum_1F_EventScript_218E22:: @ 8218E22 - msgbox LilycoveCity_LilycoveMuseum_1F_Text_21959B, MSGBOX_NPC +LilycoveCity_LilycoveMuseum_1F_EventScript_PsychicM:: @ 8218E22 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_CuratorHasBeenCheerful, MSGBOX_NPC end -LilycoveCity_LilycoveMuseum_1F_EventScript_218E2B:: @ 8218E2B +LilycoveCity_LilycoveMuseum_1F_EventScript_Artist2:: @ 8218E2B lock faceplayer - msgbox LilycoveCity_LilycoveMuseum_1F_Text_2195FF, MSGBOX_DEFAULT + msgbox LilycoveCity_LilycoveMuseum_1F_Text_AimToSeeGreatPaintings, MSGBOX_DEFAULT closemessage applymovement 8, Common_Movement_FaceOriginalDirection waitmovement 0 release end -LilycoveCity_LilycoveMuseum_1F_EventScript_218E42:: @ 8218E42 - msgbox LilycoveCity_LilycoveMuseum_1F_Text_21967A, MSGBOX_NPC +LilycoveCity_LilycoveMuseum_1F_EventScript_FatMan:: @ 8218E42 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_MuseumTouristDestination, MSGBOX_NPC end -LilycoveCity_LilycoveMuseum_1F_Text_218E4B: @ 8218E4B +LilycoveCity_LilycoveMuseum_1F_Text_WelcomeToLilycoveMuseum: @ 8218E4B .string "Welcome to LILYCOVE MUSEUM.\p" .string "Please take the time to enjoy our\n" .string "collection of fantastic artwork\l" .string "featuring POKéMON.$" -LilycoveCity_LilycoveMuseum_1F_Text_218EBC: @ 8218EBC +LilycoveCity_LilycoveMuseum_1F_Text_ImCuratorHaveYouViewedOurPaintings: @ 8218EBC .string "I'm the CURATOR of this MUSEUM of\n" .string "fine arts.\p" .string "It's heartening to see someone so\n" @@ -177,116 +176,116 @@ LilycoveCity_LilycoveMuseum_1F_Text_218EBC: @ 8218EBC .string "Have you viewed our collection of\n" .string "paintings already?$" -LilycoveCity_LilycoveMuseum_1F_Text_218F5C: @ 8218F5C +LilycoveCity_LilycoveMuseum_1F_Text_NotDisturbYouTakeYourTime: @ 8218F5C .string "Ah, then let me not disturb you.\n" .string "Please, do take your time.$" -LilycoveCity_LilycoveMuseum_1F_Text_218F98: @ 8218F98 +LilycoveCity_LilycoveMuseum_1F_Text_HaveYouAnInterestInPaintings: @ 8218F98 .string "Oh? I do believe that you seem to\n" .string "be a POKéMON TRAINER.\p" .string "Have you an interest in paintings,\n" .string "too?$" -LilycoveCity_LilycoveMuseum_1F_Text_218FF8: @ 8218FF8 +LilycoveCity_LilycoveMuseum_1F_Text_HonoredYoudVisitInSpiteOfThat: @ 8218FF8 .string "I see…\p" .string "I'm honored that you would visit\n" .string "us in spite of that.$" -LilycoveCity_LilycoveMuseum_1F_Text_219035: @ 8219035 +LilycoveCity_LilycoveMuseum_1F_Text_ExcellentCanYouComeWithMe: @ 8219035 .string "Ah, excellent!\n" .string "You do like paintings!\p" .string "Then, may I ask you to come with me?$" -LilycoveCity_LilycoveMuseum_1F_Text_219080: @ 8219080 +LilycoveCity_LilycoveMuseum_1F_Text_VeryOldPainting: @ 8219080 .string "It's a very old painting.\n" .string "The paint is peeling here and there.$" -LilycoveCity_LilycoveMuseum_1F_Text_2190BF: @ 82190BF +LilycoveCity_LilycoveMuseum_1F_Text_OddLandscapeFantasticScenery: @ 82190BF .string "It's an odd landscape with bizarre\n" .string "and fantastic scenery.$" -LilycoveCity_LilycoveMuseum_1F_Text_2190F9: @ 82190F9 +LilycoveCity_LilycoveMuseum_1F_Text_PaintingOfBeautifulWoman: @ 82190F9 .string "It's a painting of a beautiful, smiling\n" .string "woman with a POKéMON on her lap.$" -LilycoveCity_LilycoveMuseum_1F_Text_219142: @ 8219142 +LilycoveCity_LilycoveMuseum_1F_Text_PaintingOfLegendaryPokemon: @ 8219142 .string "It's a painting of a legendary POKéMON\n" .string "from long ago.\p" .string "The artist painted this from\n" .string "imagination.$" -LilycoveCity_LilycoveMuseum_1F_Text_2191A2: @ 82191A2 +LilycoveCity_LilycoveMuseum_1F_Text_PaintingOfGrassPokemon: @ 82191A2 .string "It's a painting of GRASS POKéMON\n" .string "swaying in a breeze.\p" .string "They appear to be enjoying the wind's\n" .string "gentle caress.$" -LilycoveCity_LilycoveMuseum_1F_Text_21920D: @ 821920D +LilycoveCity_LilycoveMuseum_1F_Text_PaintingOfBerries: @ 821920D .string "It's a delicious-looking painting\n" .string "of BERRIES.\p" .string "This painting could make you hungry!$" -LilycoveCity_LilycoveMuseum_1F_Text_219260: @ 8219260 +LilycoveCity_LilycoveMuseum_Text_BirdPokemonSculptureReplica: @ 8219260 .string "It's a replica of a famous sculpture.\p" .string "It depicts an ancient BIRD POKéMON.$" -LilycoveCity_LilycoveMuseum_1F_Text_2192AA: @ 82192AA +LilycoveCity_LilycoveMuseum_1F_Text_BigPokeBallCarvedFromStone: @ 82192AA .string "It's a big POKé BALL carved from\n" .string "a black stone.\p" .string "It was apparently used in festivals\n" .string "in the olden days.$" -LilycoveCity_LilycoveMuseum_1F_Text_219311: @ 8219311 +LilycoveCity_LilycoveMuseum_1F_Text_StoneTabletWithAncientText: @ 8219311 .string "It's a huge stone tablet inscribed\n" .string "with POKéMON and dense text in the\l" .string "small characters of an ancient,\l" .string "unreadable language.$" -LilycoveCity_LilycoveMuseum_1F_Text_21938C: @ 821938C +LilycoveCity_LilycoveMuseum_1F_Text_WorksOfMagnificence: @ 821938C .string "Hmmm…\n" .string "What works of great magnificence…$" -LilycoveCity_LilycoveMuseum_1F_Text_2193B4: @ 82193B4 +LilycoveCity_LilycoveMuseum_1F_Text_MustntForgetLoveForFineArts: @ 82193B4 .string "Battling with POKéMON is fun,\n" .string "I'll grant you that.\p" .string "But one mustn't forget our love for\n" .string "the fine arts.$" -LilycoveCity_LilycoveMuseum_1F_Text_21941A: @ 821941A +LilycoveCity_LilycoveMuseum_1F_Text_ThisMuseumIsInspiration: @ 821941A .string "This ART MUSEUM… Well, you could\n" .string "see many fantastic paintings.\p" .string "And the CURATOR is a wonderful person.\p" .string "Among artists like myself, this MUSEUM\n" .string "is an inspiration.$" -LilycoveCity_LilycoveMuseum_1F_Text_2194BA: @ 82194BA +LilycoveCity_LilycoveMuseum_1F_Text_ThisLadyIsPretty: @ 82194BA .string "This lady is pretty!\n" .string "She's like Mommy!$" -LilycoveCity_LilycoveMuseum_1F_Text_2194E1: @ 82194E1 +LilycoveCity_LilycoveMuseum_1F_Text_ThisPokemonIsAdorable: @ 82194E1 .string "This POKéMON is adorable!\n" .string "Just like our little boy!$" -LilycoveCity_LilycoveMuseum_1F_Text_219515: @ 8219515 +LilycoveCity_LilycoveMuseum_1F_Text_HeardMuseumGotNewPaintings: @ 8219515 .string "I'd heard that this ART MUSEUM got\n" .string "in some new paintings.\p" .string "So, naturally I hurried over.\p" .string "Are the new paintings up on\n" .string "the second floor?$" -LilycoveCity_LilycoveMuseum_1F_Text_21959B: @ 821959B +LilycoveCity_LilycoveMuseum_1F_Text_CuratorHasBeenCheerful: @ 821959B .string "Lately, the CURATOR has been\n" .string "unusually cheerful.\p" .string "I bet something good happened for him.\n" .string "Definitely.$" -LilycoveCity_LilycoveMuseum_1F_Text_2195FF: @ 82195FF +LilycoveCity_LilycoveMuseum_1F_Text_AimToSeeGreatPaintings: @ 82195FF .string "I aim to see many great paintings\n" .string "here and learn from them.\p" .string "I have this dream of one day having\n" .string "my artwork exhibited here.$" -LilycoveCity_LilycoveMuseum_1F_Text_21967A: @ 821967A +LilycoveCity_LilycoveMuseum_1F_Text_MuseumTouristDestination: @ 821967A .string "The ART MUSEUM has become a favorite\n" .string "tourist destination.\p" .string "It's great for LILYCOVE…\n" diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json b/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json index 18a2829e46..54d6fbc639 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json +++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_219866", + "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_Curator", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_21998A", + "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_Girl", "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_2" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_219993", + "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_ExpertM", "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_21999C", + "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_RichBoy", "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS" } ], @@ -84,7 +84,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_21992B" + "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_CutePainting" }, { "type": "sign", @@ -92,7 +92,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_21992B" + "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_CutePainting" }, { "type": "sign", @@ -100,7 +100,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_21993E" + "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_ToughPainting" }, { "type": "sign", @@ -108,7 +108,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_21993E" + "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_ToughPainting" }, { "type": "sign", @@ -116,7 +116,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_219951" + "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_CoolPainting" }, { "type": "sign", @@ -124,7 +124,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_219951" + "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_CoolPainting" }, { "type": "sign", @@ -132,7 +132,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_219964" + "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_BeautyPainting" }, { "type": "sign", @@ -140,7 +140,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_219964" + "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_BeautyPainting" }, { "type": "sign", @@ -148,7 +148,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_219977" + "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_SmartPainting" }, { "type": "sign", @@ -156,7 +156,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_219977" + "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_SmartPainting" }, { "type": "sign", @@ -164,7 +164,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_218DDA" + "script": "LilycoveCity_LilycoveMuseum_EventScript_BirdSculpture" }, { "type": "sign", @@ -172,7 +172,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_218DDA" + "script": "LilycoveCity_LilycoveMuseum_EventScript_BirdSculpture" } ] } \ No newline at end of file diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc index add7ef22f0..0d06d8af4c 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc +++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc @@ -1,224 +1,224 @@ LilycoveCity_LilycoveMuseum_2F_MapScripts:: @ 821973A - map_script MAP_SCRIPT_ON_LOAD, LilycoveCity_LilycoveMuseum_2F_MapScript1_219745 - map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_LilycoveMuseum_2F_MapScript2_2197FE + map_script MAP_SCRIPT_ON_LOAD, LilycoveCity_LilycoveMuseum_2F_OnLoad + map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_LilycoveMuseum_2F_OnFrame .byte 0 -LilycoveCity_LilycoveMuseum_2F_MapScript1_219745: @ 8219745 - goto_if_set FLAG_COOL_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_21978B - goto LilycoveCity_LilycoveMuseum_2F_EventScript_219754 +LilycoveCity_LilycoveMuseum_2F_OnLoad: @ 8219745 + goto_if_set FLAG_COOL_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_SetCoolPainting + goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckBeautyPainting end -LilycoveCity_LilycoveMuseum_2F_EventScript_219754:: @ 8219754 - goto_if_set FLAG_BEAUTY_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2197A3 - goto LilycoveCity_LilycoveMuseum_2F_EventScript_219763 +LilycoveCity_LilycoveMuseum_2F_EventScript_CheckBeautyPainting:: @ 8219754 + goto_if_set FLAG_BEAUTY_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_SetBeautyPainting + goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckCutePainting end -LilycoveCity_LilycoveMuseum_2F_EventScript_219763:: @ 8219763 - goto_if_set FLAG_CUTE_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2197BB - goto LilycoveCity_LilycoveMuseum_2F_EventScript_219772 +LilycoveCity_LilycoveMuseum_2F_EventScript_CheckCutePainting:: @ 8219763 + goto_if_set FLAG_CUTE_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_SetCutePainting + goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckSmartPainting end -LilycoveCity_LilycoveMuseum_2F_EventScript_219772:: @ 8219772 - goto_if_set FLAG_SMART_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2197D3 - goto LilycoveCity_LilycoveMuseum_2F_EventScript_219781 +LilycoveCity_LilycoveMuseum_2F_EventScript_CheckSmartPainting:: @ 8219772 + goto_if_set FLAG_SMART_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_SetSmartPainting + goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckToughPainting end -LilycoveCity_LilycoveMuseum_2F_EventScript_219781:: @ 8219781 - goto_if_set FLAG_TOUGH_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2197EB +LilycoveCity_LilycoveMuseum_2F_EventScript_CheckToughPainting:: @ 8219781 + goto_if_set FLAG_TOUGH_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_SetToughPainting end -LilycoveCity_LilycoveMuseum_2F_EventScript_21978B:: @ 821978B +LilycoveCity_LilycoveMuseum_2F_EventScript_SetCoolPainting:: @ 821978B setmetatile 10, 6, METATILE_LilycoveMuseum_Painting2_Left, 1 setmetatile 11, 6, METATILE_LilycoveMuseum_Painting2_Right, 1 - goto LilycoveCity_LilycoveMuseum_2F_EventScript_219754 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckBeautyPainting end -LilycoveCity_LilycoveMuseum_2F_EventScript_2197A3:: @ 82197A3 +LilycoveCity_LilycoveMuseum_2F_EventScript_SetBeautyPainting:: @ 82197A3 setmetatile 18, 6, METATILE_LilycoveMuseum_Painting1_Left, 1 setmetatile 19, 6, METATILE_LilycoveMuseum_Painting1_Right, 1 - goto LilycoveCity_LilycoveMuseum_2F_EventScript_219763 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckCutePainting end -LilycoveCity_LilycoveMuseum_2F_EventScript_2197BB:: @ 82197BB +LilycoveCity_LilycoveMuseum_2F_EventScript_SetCutePainting:: @ 82197BB setmetatile 14, 10, METATILE_LilycoveMuseum_Painting3_Left, 1 setmetatile 15, 10, METATILE_LilycoveMuseum_Painting3_Right, 1 - goto LilycoveCity_LilycoveMuseum_2F_EventScript_219772 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckSmartPainting end -LilycoveCity_LilycoveMuseum_2F_EventScript_2197D3:: @ 82197D3 +LilycoveCity_LilycoveMuseum_2F_EventScript_SetSmartPainting:: @ 82197D3 setmetatile 6, 10, METATILE_LilycoveMuseum_Painting0_Left, 1 setmetatile 7, 10, METATILE_LilycoveMuseum_Painting0_Right, 1 - goto LilycoveCity_LilycoveMuseum_2F_EventScript_219781 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckToughPainting end -LilycoveCity_LilycoveMuseum_2F_EventScript_2197EB:: @ 82197EB +LilycoveCity_LilycoveMuseum_2F_EventScript_SetToughPainting:: @ 82197EB setmetatile 2, 6, METATILE_LilycoveMuseum_Painting4_Left, 1 setmetatile 3, 6, METATILE_LilycoveMuseum_Painting4_Right, 1 end -LilycoveCity_LilycoveMuseum_2F_MapScript2_2197FE: @ 82197FE - map_script_2 VAR_LILYCOVE_MUSEUM_2F_STATE, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219808 +LilycoveCity_LilycoveMuseum_2F_OnFrame: @ 82197FE + map_script_2 VAR_LILYCOVE_MUSEUM_2F_STATE, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_ShowExhibitHall .2byte 0 -LilycoveCity_LilycoveMuseum_2F_EventScript_219808:: @ 8219808 +LilycoveCity_LilycoveMuseum_2F_EventScript_ShowExhibitHall:: @ 8219808 lockall applymovement 1, Common_Movement_FacePlayer - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_219861 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_PlayerWalkInPlaceLeft waitmovement 0 - msgbox LilycoveCity_LilycoveMuseum_2F_Text_2199EB, MSGBOX_SIGN - applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_219863 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_ThisIsExhibitHall, MSGBOX_SIGN + applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_FaceExhibitHall waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_219863 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_FaceExhibitHall waitmovement 0 - msgbox LilycoveCity_LilycoveMuseum_2F_Text_219A0D, MSGBOX_SIGN + msgbox LilycoveCity_LilycoveMuseum_2F_Text_ExplainExhibitHall, MSGBOX_SIGN applymovement 1, Common_Movement_FacePlayer waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_219861 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_PlayerWalkInPlaceLeft waitmovement 0 - msgbox LilycoveCity_LilycoveMuseum_2F_Text_219BC4, MSGBOX_SIGN - copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 0x1 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_PleaseObtainPaintingsForExhibit, MSGBOX_SIGN + copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1 releaseall end -LilycoveCity_LilycoveMuseum_2F_Movement_219861: @ 8219861 +LilycoveCity_LilycoveMuseum_2F_Movement_PlayerWalkInPlaceLeft: @ 8219861 walk_in_place_fastest_left step_end -LilycoveCity_LilycoveMuseum_2F_Movement_219863: @ 8219863 +LilycoveCity_LilycoveMuseum_2F_Movement_FaceExhibitHall: @ 8219863 face_up delay_16 step_end -LilycoveCity_LilycoveMuseum_2F_EventScript_219866:: @ 8219866 +LilycoveCity_LilycoveMuseum_2F_EventScript_Curator:: @ 8219866 lockall - goto_if_set FLAG_RECEIVED_GLASS_ORNAMENT, LilycoveCity_LilycoveMuseum_2F_EventScript_219921 + goto_if_set FLAG_RECEIVED_GLASS_ORNAMENT, LilycoveCity_LilycoveMuseum_2F_EventScript_ReceivedGlassOrnament specialvar VAR_0x8004, CountPlayerContestPaintings switch VAR_0x8004 - case 1, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA - case 2, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA - case 3, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA - case 4, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA - case 5, LilycoveCity_LilycoveMuseum_2F_EventScript_2198C3 - msgbox LilycoveCity_LilycoveMuseum_2F_Text_219CF3, MSGBOX_NPC + case 1, LilycoveCity_LilycoveMuseum_2F_EventScript_AddedPainting + case 2, LilycoveCity_LilycoveMuseum_2F_EventScript_AddedPainting + case 3, LilycoveCity_LilycoveMuseum_2F_EventScript_AddedPainting + case 4, LilycoveCity_LilycoveMuseum_2F_EventScript_AddedPainting + case 5, LilycoveCity_LilycoveMuseum_2F_EventScript_ThankPlayer + msgbox LilycoveCity_LilycoveMuseum_2F_Text_WishToFillExhibit, MSGBOX_NPC end -LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA:: @ 82198BA - msgbox LilycoveCity_LilycoveMuseum_2F_Text_219D42, MSGBOX_NPC +LilycoveCity_LilycoveMuseum_2F_EventScript_AddedPainting:: @ 82198BA + msgbox LilycoveCity_LilycoveMuseum_2F_Text_ThanksAddedNewPainting, MSGBOX_NPC end -LilycoveCity_LilycoveMuseum_2F_EventScript_2198C3:: @ 82198C3 +LilycoveCity_LilycoveMuseum_2F_EventScript_ThankPlayer:: @ 82198C3 applymovement 1, Common_Movement_FacePlayer waitmovement 0 - msgbox LilycoveCity_LilycoveMuseum_2F_Text_219DD4, MSGBOX_DEFAULT - applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_219863 - msgbox LilycoveCity_LilycoveMuseum_2F_Text_219DE6, MSGBOX_DEFAULT - goto LilycoveCity_LilycoveMuseum_2F_EventScript_2198EA + msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsYouPlayer, MSGBOX_DEFAULT + applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_FaceExhibitHall + msgbox LilycoveCity_LilycoveMuseum_2F_Text_PaintingsAttractedMoreGuests, MSGBOX_DEFAULT + goto LilycoveCity_LilycoveMuseum_2F_EventScript_GiveGlassOrnament end -LilycoveCity_LilycoveMuseum_2F_EventScript_2198EA:: @ 82198EA +LilycoveCity_LilycoveMuseum_2F_EventScript_GiveGlassOrnament:: @ 82198EA applymovement 1, Common_Movement_FacePlayer - msgbox LilycoveCity_LilycoveMuseum_2F_Text_219EC5, MSGBOX_DEFAULT - givedecoration_std 44 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_219911 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_TokenOfGratitude, MSGBOX_DEFAULT + givedecoration DECOR_GLASS_ORNAMENT + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_NoRoomForGlassOrnament setflag FLAG_RECEIVED_GLASS_ORNAMENT closemessage releaseall end -LilycoveCity_LilycoveMuseum_2F_EventScript_219911:: @ 8219911 - call Common_EventScript_NoRoomLeftForAnother - msgbox LilycoveCity_LilycoveMuseum_2F_Text_219EED, MSGBOX_DEFAULT +LilycoveCity_LilycoveMuseum_2F_EventScript_NoRoomForGlassOrnament:: @ 8219911 + call Common_EventScript_NoRoomForDecor + msgbox LilycoveCity_LilycoveMuseum_2F_Text_KeepThisForYou, MSGBOX_DEFAULT closemessage releaseall end -LilycoveCity_LilycoveMuseum_2F_EventScript_219921:: @ 8219921 - msgbox LilycoveCity_LilycoveMuseum_2F_Text_219F1B, MSGBOX_NPC +LilycoveCity_LilycoveMuseum_2F_EventScript_ReceivedGlassOrnament:: @ 8219921 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_HonorToHaveYouVisit, MSGBOX_NPC releaseall end -LilycoveCity_LilycoveMuseum_2F_EventScript_21992B:: @ 821992B +LilycoveCity_LilycoveMuseum_2F_EventScript_CutePainting:: @ 821992B lockall - goto_if_set FLAG_CUTE_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2199C1 - msgbox LilycoveCity_LilycoveMuseum_2F_Text_219FA0, MSGBOX_SIGN + goto_if_set FLAG_CUTE_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_ShowCutePainting + msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsPinkPictureFrame, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_2F_EventScript_21993E:: @ 821993E +LilycoveCity_LilycoveMuseum_2F_EventScript_ToughPainting:: @ 821993E lockall - goto_if_set FLAG_TOUGH_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2199DD - msgbox LilycoveCity_LilycoveMuseum_2F_Text_219FD3, MSGBOX_SIGN + goto_if_set FLAG_TOUGH_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_ShowToughPainting + msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsYellowPictureFrame, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_2F_EventScript_219951:: @ 8219951 +LilycoveCity_LilycoveMuseum_2F_EventScript_CoolPainting:: @ 8219951 lockall - goto_if_set FLAG_COOL_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2199A5 - msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A03B, MSGBOX_SIGN + goto_if_set FLAG_COOL_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_ShowCoolPainting + msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsRedPictureFrame, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_2F_EventScript_219964:: @ 8219964 +LilycoveCity_LilycoveMuseum_2F_EventScript_BeautyPainting:: @ 8219964 lockall - goto_if_set FLAG_BEAUTY_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2199B3 - msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A008, MSGBOX_SIGN + goto_if_set FLAG_BEAUTY_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_ShowBeautyPainting + msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsBluePictureFrame, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_2F_EventScript_219977:: @ 8219977 +LilycoveCity_LilycoveMuseum_2F_EventScript_SmartPainting:: @ 8219977 lockall - goto_if_set FLAG_SMART_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2199CF - msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A06D, MSGBOX_SIGN + goto_if_set FLAG_SMART_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_ShowSmartPainting + msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsGreenPictureFrame, MSGBOX_SIGN end -LilycoveCity_LilycoveMuseum_2F_EventScript_21998A:: @ 821998A - msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0BD, MSGBOX_NPC +LilycoveCity_LilycoveMuseum_2F_EventScript_Girl:: @ 821998A + msgbox LilycoveCity_LilycoveMuseum_2F_Text_NewPaintingsSurprisedMe, MSGBOX_NPC end -LilycoveCity_LilycoveMuseum_2F_EventScript_219993:: @ 8219993 - msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A132, MSGBOX_NPC +LilycoveCity_LilycoveMuseum_2F_EventScript_ExpertM:: @ 8219993 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_NewPaintingsRatherAmusing, MSGBOX_NPC end -LilycoveCity_LilycoveMuseum_2F_EventScript_21999C:: @ 821999C - msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A1A8, MSGBOX_NPC +LilycoveCity_LilycoveMuseum_2F_EventScript_RichBoy:: @ 821999C + msgbox LilycoveCity_LilycoveMuseum_2F_Text_ThesePaintingsOfYourPokemon, MSGBOX_NPC end -LilycoveCity_LilycoveMuseum_2F_EventScript_2199A5:: @ 82199A5 - msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, MSGBOX_SIGN - fadescreen 1 - drawcontestwinner 9 +LilycoveCity_LilycoveMuseum_2F_EventScript_ShowCoolPainting:: @ 82199A5 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsPaintingOfPokemon, MSGBOX_SIGN + fadescreen FADE_TO_BLACK + showcontestwinner 9 releaseall end -LilycoveCity_LilycoveMuseum_2F_EventScript_2199B3:: @ 82199B3 - msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, MSGBOX_SIGN - fadescreen 1 - drawcontestwinner 10 +LilycoveCity_LilycoveMuseum_2F_EventScript_ShowBeautyPainting:: @ 82199B3 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsPaintingOfPokemon, MSGBOX_SIGN + fadescreen FADE_TO_BLACK + showcontestwinner 10 releaseall end -LilycoveCity_LilycoveMuseum_2F_EventScript_2199C1:: @ 82199C1 - msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, MSGBOX_SIGN - fadescreen 1 - drawcontestwinner 11 +LilycoveCity_LilycoveMuseum_2F_EventScript_ShowCutePainting:: @ 82199C1 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsPaintingOfPokemon, MSGBOX_SIGN + fadescreen FADE_TO_BLACK + showcontestwinner 11 releaseall end -LilycoveCity_LilycoveMuseum_2F_EventScript_2199CF:: @ 82199CF - msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, MSGBOX_SIGN - fadescreen 1 - drawcontestwinner 12 +LilycoveCity_LilycoveMuseum_2F_EventScript_ShowSmartPainting:: @ 82199CF + msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsPaintingOfPokemon, MSGBOX_SIGN + fadescreen FADE_TO_BLACK + showcontestwinner 12 releaseall end -LilycoveCity_LilycoveMuseum_2F_EventScript_2199DD:: @ 82199DD - msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, MSGBOX_SIGN - fadescreen 1 - drawcontestwinner 13 +LilycoveCity_LilycoveMuseum_2F_EventScript_ShowToughPainting:: @ 82199DD + msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsPaintingOfPokemon, MSGBOX_SIGN + fadescreen FADE_TO_BLACK + showcontestwinner 13 releaseall end -LilycoveCity_LilycoveMuseum_2F_Text_2199EB: @ 82199EB +LilycoveCity_LilycoveMuseum_2F_Text_ThisIsExhibitHall: @ 82199EB .string "This is our special exhibit hall.$" -LilycoveCity_LilycoveMuseum_2F_Text_219A0D: @ 8219A0D +LilycoveCity_LilycoveMuseum_2F_Text_ExplainExhibitHall: @ 8219A0D .string "As you can plainly see, there is not\n" .string "a single painting on exhibit.\p" .string "Here, I don't wish to exhibit works of\n" @@ -234,7 +234,7 @@ LilycoveCity_LilycoveMuseum_2F_Text_219A0D: @ 8219A0D .string "POKéMON seemingly ready to spring\l" .string "forth into glorious life!$" -LilycoveCity_LilycoveMuseum_2F_Text_219BC4: @ 8219BC4 +LilycoveCity_LilycoveMuseum_2F_Text_PleaseObtainPaintingsForExhibit: @ 8219BC4 .string "I beg your pardon. I didn't intend\n" .string "to monopolize the conversation.\p" .string "Now, as you are young, and yet\n" @@ -246,23 +246,23 @@ LilycoveCity_LilycoveMuseum_2F_Text_219BC4: @ 8219BC4 .string "the artist's permission to exhibit\l" .string "it here?$" -LilycoveCity_LilycoveMuseum_2F_Text_219CF3: @ 8219CF3 +LilycoveCity_LilycoveMuseum_2F_Text_WishToFillExhibit: @ 8219CF3 .string "I wish to fill this exhibit hall with\n" .string "modern and vibrant paintings of\l" .string "POKéMON.$" -LilycoveCity_LilycoveMuseum_2F_Text_219D42: @ 8219D42 +LilycoveCity_LilycoveMuseum_2F_Text_ThanksAddedNewPainting: @ 8219D42 .string "Thanks to you, we've added a new\n" .string "painting to our collection!\p" .string "I've heard it depicts your POKéMON.\n" .string "Truly magnificent!\p" .string "Thank you so very, very much!$" -LilycoveCity_LilycoveMuseum_2F_Text_219DD4: @ 8219DD4 +LilycoveCity_LilycoveMuseum_2F_Text_ItsYouPlayer: @ 8219DD4 .string "Ah! It's you!\n" .string "{PLAYER}!$" -LilycoveCity_LilycoveMuseum_2F_Text_219DE6: @ 8219DE6 +LilycoveCity_LilycoveMuseum_2F_Text_PaintingsAttractedMoreGuests: @ 8219DE6 .string "Isn't this marvelous?\n" .string "This collection of paintings!\p" .string "Each one of them flawless!\n" @@ -272,56 +272,56 @@ LilycoveCity_LilycoveMuseum_2F_Text_219DE6: @ 8219DE6 .string "Sincerely, I thank you, {PLAYER}.\n" .string "This is my dream come true!$" -LilycoveCity_LilycoveMuseum_2F_Text_219EC5: @ 8219EC5 +LilycoveCity_LilycoveMuseum_2F_Text_TokenOfGratitude: @ 8219EC5 .string "This is merely a token of my gratitude.$" -LilycoveCity_LilycoveMuseum_2F_Text_219EED: @ 8219EED +LilycoveCity_LilycoveMuseum_2F_Text_KeepThisForYou: @ 8219EED .string "I will keep this for you until we\n" .string "meet again.$" -LilycoveCity_LilycoveMuseum_2F_Text_219F1B: @ 8219F1B +LilycoveCity_LilycoveMuseum_2F_Text_HonorToHaveYouVisit: @ 8219F1B .string "Ah, so good to see you, {PLAYER}!\p" .string "It's an honor to have you visit us\n" .string "on your busy journeys.\p" .string "Please, relax and do enjoy your\n" .string "visit with us.$" -LilycoveCity_LilycoveMuseum_2F_Text_219FA0: @ 8219FA0 +LilycoveCity_LilycoveMuseum_2F_Text_ItsPinkPictureFrame: @ 8219FA0 .string "It's a picture frame with pink-colored\n" .string "adornments.$" -LilycoveCity_LilycoveMuseum_2F_Text_219FD3: @ 8219FD3 +LilycoveCity_LilycoveMuseum_2F_Text_ItsYellowPictureFrame: @ 8219FD3 .string "It's a picture frame with\n" .string "yellow-colored adornments.$" -LilycoveCity_LilycoveMuseum_2F_Text_21A008: @ 821A008 +LilycoveCity_LilycoveMuseum_2F_Text_ItsBluePictureFrame: @ 821A008 .string "It's a picture frame with\n" .string "blue-colored adornments.$" -LilycoveCity_LilycoveMuseum_2F_Text_21A03B: @ 821A03B +LilycoveCity_LilycoveMuseum_2F_Text_ItsRedPictureFrame: @ 821A03B .string "It's a picture frame with\n" .string "red-colored adornments.$" -LilycoveCity_LilycoveMuseum_2F_Text_21A06D: @ 821A06D +LilycoveCity_LilycoveMuseum_2F_Text_ItsGreenPictureFrame: @ 821A06D .string "It's a picture frame with\n" .string "green-colored adornments.$" -LilycoveCity_LilycoveMuseum_2F_Text_21A0A1: @ 821A0A1 +LilycoveCity_LilycoveMuseum_2F_Text_ItsPaintingOfPokemon: @ 821A0A1 .string "It's a painting of POKéMON.$" -LilycoveCity_LilycoveMuseum_2F_Text_21A0BD: @ 821A0BD +LilycoveCity_LilycoveMuseum_2F_Text_NewPaintingsSurprisedMe: @ 821A0BD .string "I've been away awhile, so the new\n" .string "paintings up here surprised me.\p" .string "I wish someone would paint my POKéMON\n" .string "this pretty.$" -LilycoveCity_LilycoveMuseum_2F_Text_21A132: @ 821A132 +LilycoveCity_LilycoveMuseum_2F_Text_NewPaintingsRatherAmusing: @ 821A132 .string "Well… So this is where they show\n" .string "the topical POKéMON paintings.\p" .string "I see, these new paintings are indeed\n" .string "rather amusing.$" -LilycoveCity_LilycoveMuseum_2F_Text_21A1A8: @ 821A1A8 +LilycoveCity_LilycoveMuseum_2F_Text_ThesePaintingsOfYourPokemon: @ 821A1A8 .string "Wow, is that right?\n" .string "These paintings are of your POKéMON.\p" .string "Isn't that just the ultimate joy for\n" diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/map.json b/data/maps/LilycoveCity_MoveDeletersHouse/map.json index f4adbabe89..30c5a413f9 100644 --- a/data/maps/LilycoveCity_MoveDeletersHouse/map.json +++ b/data/maps/LilycoveCity_MoveDeletersHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_MoveDeletersHouse_EventScript_21EA0B", + "script": "LilycoveCity_MoveDeletersHouse_EventScript_MoveDeleter", "flag": "0" } ], diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc b/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc index e94fa43f12..2592ccd9cf 100644 --- a/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc +++ b/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc @@ -1,110 +1,110 @@ LilycoveCity_MoveDeletersHouse_MapScripts:: @ 821EA0A .byte 0 -LilycoveCity_MoveDeletersHouse_EventScript_21EA0B:: @ 821EA0B +LilycoveCity_MoveDeletersHouse_EventScript_MoveDeleter:: @ 821EA0B lockall applymovement 1, Common_Movement_FacePlayer waitmovement 0 - msgbox LilycoveCity_MoveDeletersHouse_Text_21EAFD, MSGBOX_YESNO + msgbox LilycoveCity_MoveDeletersHouse_Text_ICanMakeMonForgetMove, MSGBOX_YESNO switch VAR_RESULT - case 1, LilycoveCity_MoveDeletersHouse_EventScript_21EA3B - case 0, LilycoveCity_MoveDeletersHouse_EventScript_21EAE6 + case YES, LilycoveCity_MoveDeletersHouse_EventScript_ChooseMonAndMoveToForget + case NO, LilycoveCity_MoveDeletersHouse_EventScript_ComeAgain releaseall end -LilycoveCity_MoveDeletersHouse_EventScript_21EA3B:: @ 821EA3B - msgbox LilycoveCity_MoveDeletersHouse_Text_21EB65, MSGBOX_DEFAULT - special sub_81B94B0 +LilycoveCity_MoveDeletersHouse_EventScript_ChooseMonAndMoveToForget:: @ 821EA3B + msgbox LilycoveCity_MoveDeletersHouse_Text_WhichMonShouldForget, MSGBOX_DEFAULT + special ChoosePartyMon waitstate compare VAR_0x8004, 255 - goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EAE6 - special sub_81B98DC + goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_ComeAgain + special IsSelectedMonEgg + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_EggCantForgetMoves + special GetNumMovesSelectedMonHas compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EADC - special sub_81B96D0 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EACF - msgbox LilycoveCity_MoveDeletersHouse_Text_21EB89, MSGBOX_DEFAULT - fadescreen 1 - special sub_81B968C - fadescreen 0 - compare VAR_0x8005, 4 - goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EA3B - special sub_81B9718 - msgbox LilycoveCity_MoveDeletersHouse_Text_21EBDA, MSGBOX_YESNO + goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_MonOnlyKnowsOneMove + msgbox LilycoveCity_MoveDeletersHouse_Text_WhichMoveShouldBeForgotten, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK + special MoveDeleterChooseMoveToForget + fadescreen FADE_FROM_BLACK + compare VAR_0x8005, MAX_MON_MOVES + goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_ChooseMonAndMoveToForget + special BufferMoveDeleterNicknameAndMove + msgbox LilycoveCity_MoveDeletersHouse_Text_MonsMoveShouldBeForgotten, MSGBOX_YESNO switch VAR_RESULT - case 1, LilycoveCity_MoveDeletersHouse_EventScript_21EAB0 - case 0, LilycoveCity_MoveDeletersHouse_EventScript_21EAE6 + case YES, LilycoveCity_MoveDeletersHouse_EventScript_TryForgetMove + case NO, LilycoveCity_MoveDeletersHouse_EventScript_ComeAgain releaseall end -LilycoveCity_MoveDeletersHouse_EventScript_21EAB0:: @ 821EAB0 - special sub_81B9918 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EAF0 - special sub_81B9770 +LilycoveCity_MoveDeletersHouse_EventScript_TryForgetMove:: @ 821EAB0 + special IsLastMonThatKnowsSurf + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_LastMonWithSurf + special MoveDeleterForgetMove playfanfare MUS_ME_WASURE waitfanfare - msgbox LilycoveCity_MoveDeletersHouse_Text_21EC06, MSGBOX_DEFAULT + msgbox LilycoveCity_MoveDeletersHouse_Text_MonHasForgottenMove, MSGBOX_DEFAULT releaseall end -LilycoveCity_MoveDeletersHouse_EventScript_21EACF:: @ 821EACF - special sub_81B9718 - msgbox LilycoveCity_MoveDeletersHouse_Text_21EBA9, MSGBOX_DEFAULT +LilycoveCity_MoveDeletersHouse_EventScript_MonOnlyKnowsOneMove:: @ 821EACF + special BufferMoveDeleterNicknameAndMove + msgbox LilycoveCity_MoveDeletersHouse_Text_MonOnlyKnowsOneMove, MSGBOX_DEFAULT releaseall end -LilycoveCity_MoveDeletersHouse_EventScript_21EADC:: @ 821EADC - msgbox LilycoveCity_MoveDeletersHouse_Text_21EC78, MSGBOX_DEFAULT +LilycoveCity_MoveDeletersHouse_EventScript_EggCantForgetMoves:: @ 821EADC + msgbox LilycoveCity_MoveDeletersHouse_Text_EggCantForgetMoves, MSGBOX_DEFAULT releaseall end -LilycoveCity_MoveDeletersHouse_EventScript_21EAE6:: @ 821EAE6 - msgbox LilycoveCity_MoveDeletersHouse_Text_21EC3F, MSGBOX_DEFAULT +LilycoveCity_MoveDeletersHouse_EventScript_ComeAgain:: @ 821EAE6 + msgbox LilycoveCity_MoveDeletersHouse_Text_ComeAgain, MSGBOX_DEFAULT releaseall end -LilycoveCity_MoveDeletersHouse_EventScript_21EAF0:: @ 821EAF0 - special sub_81B9718 - msgbox LilycoveCity_MoveDeletersHouse_Text_21EC9C, MSGBOX_DEFAULT +LilycoveCity_MoveDeletersHouse_EventScript_LastMonWithSurf:: @ 821EAF0 + special BufferMoveDeleterNicknameAndMove + msgbox LilycoveCity_MoveDeletersHouse_Text_CantForgetSurf, MSGBOX_DEFAULT releaseall end -LilycoveCity_MoveDeletersHouse_Text_21EAFD: @ 821EAFD +LilycoveCity_MoveDeletersHouse_Text_ICanMakeMonForgetMove: @ 821EAFD .string "Uh…\n" .string "Oh, yes, I'm the MOVE DELETER.\p" .string "I can make POKéMON forget their moves.\p" .string "Would you like me to do that?$" -LilycoveCity_MoveDeletersHouse_Text_21EB65: @ 821EB65 +LilycoveCity_MoveDeletersHouse_Text_WhichMonShouldForget: @ 821EB65 .string "Which POKéMON should forget a move?$" -LilycoveCity_MoveDeletersHouse_Text_21EB89: @ 821EB89 +LilycoveCity_MoveDeletersHouse_Text_WhichMoveShouldBeForgotten: @ 821EB89 .string "Which move should be forgotten?$" -LilycoveCity_MoveDeletersHouse_Text_21EBA9: @ 821EBA9 +LilycoveCity_MoveDeletersHouse_Text_MonOnlyKnowsOneMove: @ 821EBA9 .string "{STR_VAR_1} knows only one move\n" .string "so it can't be forgotten…$" -LilycoveCity_MoveDeletersHouse_Text_21EBDA: @ 821EBDA +LilycoveCity_MoveDeletersHouse_Text_MonsMoveShouldBeForgotten: @ 821EBDA .string "Hm! {STR_VAR_1}'s {STR_VAR_2}?\n" .string "That move should be forgotten?$" -LilycoveCity_MoveDeletersHouse_Text_21EC06: @ 821EC06 +LilycoveCity_MoveDeletersHouse_Text_MonHasForgottenMove: @ 821EC06 .string "It worked to perfection!\p" .string "{STR_VAR_1} has forgotten\n" .string "{STR_VAR_2} completely.$" -LilycoveCity_MoveDeletersHouse_Text_21EC3F: @ 821EC3F +LilycoveCity_MoveDeletersHouse_Text_ComeAgain: @ 821EC3F .string "Come again if there are moves that\n" .string "need to be forgotten.$" -LilycoveCity_MoveDeletersHouse_Text_21EC78: @ 821EC78 +LilycoveCity_MoveDeletersHouse_Text_EggCantForgetMoves: @ 821EC78 .string "What?\n" .string "No EGG should know any moves.$" -LilycoveCity_MoveDeletersHouse_Text_21EC9C: @ 821EC9C +LilycoveCity_MoveDeletersHouse_Text_CantForgetSurf: @ 821EC9C .string "Hm!\p" .string "Your {STR_VAR_1} doesn't seem willing\n" .string "to forget SURF.$" diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/map.json b/data/maps/LilycoveCity_PokemonCenter_1F/map.json index c5c0121f4a..4f87f50b0a 100644 --- a/data/maps/LilycoveCity_PokemonCenter_1F/map.json +++ b/data/maps/LilycoveCity_PokemonCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonCenter_1F_EventScript_21C5E8", + "script": "LilycoveCity_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonCenter_1F_EventScript_21C5F6", + "script": "LilycoveCity_PokemonCenter_1F_EventScript_Boy", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonCenter_1F_EventScript_21C5FF", + "script": "LilycoveCity_PokemonCenter_1F_EventScript_Maniac", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonCenter_1F_EventScript_2A836B", + "script": "LilycoveCity_PokemonCenter_1F_EventScript_LilycoveLady", "flag": "0" }, { @@ -76,8 +76,8 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonCenter_1F_EventScript_2A89C7", - "flag": "FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY" + "script": "LilycoveCity_PokemonCenter_1F_EventScript_ContestLadyMon", + "flag": "FLAG_HIDE_LILYCOVE_POKEMON_CENTER_CONTEST_LADY_MON" } ], "warp_events": [ diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc index c2e1deb5dc..a7df8528e6 100644 --- a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc @@ -1,66 +1,68 @@ LilycoveCity_PokemonCenter_1F_MapScripts:: @ 821C5B2 map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, LilycoveCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 LilycoveCity_PokemonCenter_1F_OnTransition: @ 821C5BD setrespawn HEAL_LOCATION_LILYCOVE_CITY - goto LilycoveCity_PokemonCenter_1F_EventScript_21C5C6 + goto LilycoveCity_PokemonCenter_1F_EventScript_SetLilycoveLadyGfx end -LilycoveCity_PokemonCenter_1F_EventScript_21C5C6:: @ 821C5C6 +@ SetLilycoveLadyGfx returns TRUE if its the Contest Lady +LilycoveCity_PokemonCenter_1F_EventScript_SetLilycoveLadyGfx:: @ 821C5C6 special SetLilycoveLadyGfx - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E0 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E4 + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_HideContestLadyMon + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ShowContestLadyMon end -LilycoveCity_PokemonCenter_1F_EventScript_21C5E0:: @ 821C5E0 - setflag FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY +LilycoveCity_PokemonCenter_1F_EventScript_HideContestLadyMon:: @ 821C5E0 + setflag FLAG_HIDE_LILYCOVE_POKEMON_CENTER_CONTEST_LADY_MON end -LilycoveCity_PokemonCenter_1F_EventScript_21C5E4:: @ 821C5E4 - clearflag FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY +LilycoveCity_PokemonCenter_1F_EventScript_ShowContestLadyMon:: @ 821C5E4 + clearflag FLAG_HIDE_LILYCOVE_POKEMON_CENTER_CONTEST_LADY_MON end -LilycoveCity_PokemonCenter_1F_EventScript_21C5E8:: @ 821C5E8 +@ VAR_0x800B is the Nurse's object event id +LilycoveCity_PokemonCenter_1F_EventScript_Nurse:: @ 821C5E8 setvar VAR_0x800B, 1 - call LilycoveCity_PokemonCenter_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -LilycoveCity_PokemonCenter_1F_EventScript_21C5F6:: @ 821C5F6 - msgbox LilycoveCity_PokemonCenter_1F_Text_21C61E, MSGBOX_NPC +LilycoveCity_PokemonCenter_1F_EventScript_Boy:: @ 821C5F6 + msgbox LilycoveCity_PokemonCenter_1F_Text_HowManyKindsOfPokemon, MSGBOX_NPC end -LilycoveCity_PokemonCenter_1F_EventScript_21C5FF:: @ 821C5FF +LilycoveCity_PokemonCenter_1F_EventScript_Maniac:: @ 821C5FF lock faceplayer - goto_if_set FLAG_BADGE07_GET, LilycoveCity_PokemonCenter_1F_EventScript_21C614 - msgbox LilycoveCity_PokemonCenter_1F_Text_21C69D, MSGBOX_DEFAULT + goto_if_set FLAG_BADGE07_GET, LilycoveCity_PokemonCenter_1F_EventScript_ManiacBadTeamGone + msgbox LilycoveCity_PokemonCenter_1F_Text_HeardAboutRottenScoundrels, MSGBOX_DEFAULT release end -LilycoveCity_PokemonCenter_1F_EventScript_21C614:: @ 821C614 - msgbox LilycoveCity_PokemonCenter_1F_Text_21C6F6, MSGBOX_DEFAULT +LilycoveCity_PokemonCenter_1F_EventScript_ManiacBadTeamGone:: @ 821C614 + msgbox LilycoveCity_PokemonCenter_1F_Text_HaventSeenRottenScoundrels, MSGBOX_DEFAULT release end -LilycoveCity_PokemonCenter_1F_Text_21C61E: @ 821C61E +LilycoveCity_PokemonCenter_1F_Text_HowManyKindsOfPokemon: @ 821C61E .string "I wonder how many kinds of POKéMON\n" .string "there are in the world.\p" .string "It'd be great to cross seas and\n" .string "trade POKéMON with people far away.$" -LilycoveCity_PokemonCenter_1F_Text_21C69D: @ 821C69D +LilycoveCity_PokemonCenter_1F_Text_HeardAboutRottenScoundrels: @ 821C69D .string "I've been hearing about some rotten\n" .string "scoundrels who steal POKéMON and rip\l" .string "off METEORITES.$" -LilycoveCity_PokemonCenter_1F_Text_21C6F6: @ 821C6F6 +LilycoveCity_PokemonCenter_1F_Text_HaventSeenRottenScoundrels: @ 821C6F6 .string "Those rotten scoundrels who steal\n" .string "POKéMON and rip off METEORITES…\p" .string "I haven't seen them around recently.$" diff --git a/data/maps/LilycoveCity_PokemonCenter_2F/map.json b/data/maps/LilycoveCity_PokemonCenter_2F/map.json index 6bfb1c4cb0..cd1324cbe4 100644 --- a/data/maps/LilycoveCity_PokemonCenter_2F/map.json +++ b/data/maps/LilycoveCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc b/data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc index 9bbf4f3497..965580da54 100644 --- a/data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ LilycoveCity_PokemonCenter_2F_MapScripts:: @ 821C75D - map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LilycoveCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, LilycoveCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -LilycoveCity_PokemonCenter_2F_EventScript_21C772:: @ 821C772 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +LilycoveCity_PokemonCenter_2F_EventScript_Colosseum:: @ 821C772 + call CableClub_EventScript_Colosseum end -LilycoveCity_PokemonCenter_2F_EventScript_21C778:: @ 821C778 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +LilycoveCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 821C778 + call CableClub_EventScript_TradeCenter end -LilycoveCity_PokemonCenter_2F_EventScript_21C77E:: @ 821C77E - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +LilycoveCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 821C77E + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json b/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json index 0591d3c8e9..f918c86ecd 100644 --- a/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E", + "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_Lass", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17", + "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_Man", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05", + "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanM", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C", + "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirl", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3", + "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoy", "flag": "FLAG_HIDE_FANCLUB_LITTLE_BOY" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55", + "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_Boy", "flag": "FLAG_HIDE_FANCLUB_BOY" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7", + "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_Woman", "flag": "FLAG_HIDE_FANCLUB_LADY" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19", + "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertF", "flag": "FLAG_HIDE_FANCLUB_OLD_LADY" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CD7B", + "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_Interviewer", "flag": "FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER" } ], diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc index 62fdd34276..039fb64139 100644 --- a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc @@ -1,34 +1,36 @@ LilycoveCity_PokemonTrainerFanClub_MapScripts:: @ 821C785 - map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_PokemonTrainerFanClub_MapScript2_21C790 + map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_PokemonTrainerFanClub_OnFrame map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_PokemonTrainerFanClub_OnTransition .byte 0 -LilycoveCity_PokemonTrainerFanClub_MapScript2_21C790: @ 821C790 - map_script_2 VAR_LILYCOVE_FAN_CLUB_STATE, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A + @ See field_specials.c for a breakdown of the Fan Club and its variables + +LilycoveCity_PokemonTrainerFanClub_OnFrame: @ 821C790 + map_script_2 VAR_LILYCOVE_FAN_CLUB_STATE, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_MeetFirstFans .2byte 0 -LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A:: @ 821C79A +LilycoveCity_PokemonTrainerFanClub_EventScript_MeetFirstFans:: @ 821C79A lockall - applymovement 1, Common_Movement_WalkInPlaceDown + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF00, MSGBOX_DEFAULT - applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD - applymovement 2, LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_OhWowItsPlayer, MSGBOX_DEFAULT + applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlWatchPlayer + applymovement 2, LilycoveCity_PokemonTrainerFanClub_Movement_FanApproachPlayer waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF12, MSGBOX_DEFAULT - applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C804 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_HeardAboutYouImYourFan, MSGBOX_DEFAULT + applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlMoveCloserToPlayer waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C807 + applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlHideFromPlayer waitmovement 0 setvar VAR_LILYCOVE_FAN_CLUB_STATE, 2 releaseall end -LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5: @ 821C7F5 +LilycoveCity_PokemonTrainerFanClub_Movement_FanApproachPlayer: @ 821C7F5 delay_8 walk_in_place_fastest_down walk_down @@ -38,7 +40,7 @@ LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5: @ 821C7F5 walk_left step_end -LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD: @ 821C7FD +LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlWatchPlayer: @ 821C7FD walk_fast_left walk_fast_left walk_fast_down @@ -47,12 +49,12 @@ LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD: @ 821C7FD walk_fast_down step_end -LilycoveCity_PokemonTrainerFanClub_Movement_21C804: @ 821C804 +LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlMoveCloserToPlayer: @ 821C804 walk_down walk_in_place_fastest_right step_end -LilycoveCity_PokemonTrainerFanClub_Movement_21C807: @ 821C807 +LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlHideFromPlayer: @ 821C807 jump_in_place_right walk_fast_up walk_fast_up @@ -61,558 +63,563 @@ LilycoveCity_PokemonTrainerFanClub_Movement_21C807: @ 821C807 step_end LilycoveCity_PokemonTrainerFanClub_OnTransition: @ 821C80D - call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA + call LilycoveCity_PokemonTrainerFanClub_EventScript_HideOrShowInterviewer compare VAR_LILYCOVE_FAN_CLUB_STATE, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_SetFanMemberPositionsForFirstFanMeeting compare VAR_LILYCOVE_FAN_CLUB_STATE, 2 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C829 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_UpdateFanMemberPositions end -LilycoveCity_PokemonTrainerFanClub_EventScript_21C829:: @ 821C829 - special UpdateMovedLilycoveFanClubMembers - call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5 - setvar VAR_0x8004, 8 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8 - setvar VAR_0x8004, 9 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0 - setvar VAR_0x8004, 10 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8 - setvar VAR_0x8004, 11 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0 - setvar VAR_0x8004, 12 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8 - setvar VAR_0x8004, 13 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0 - setvar VAR_0x8004, 14 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8 - setvar VAR_0x8004, 15 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0 +LilycoveCity_PokemonTrainerFanClub_EventScript_UpdateFanMemberPositions:: @ 821C829 + special TryLoseFansFromPlayTime + call LilycoveCity_PokemonTrainerFanClub_EventScript_CheckSetUpTVShow + setvar VAR_0x8004, FANCLUB_MEMBER1 + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember1ToFarTable + setvar VAR_0x8004, FANCLUB_MEMBER2 + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember2ToFarTable + setvar VAR_0x8004, FANCLUB_MEMBER3 + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember3ToFarTable + setvar VAR_0x8004, FANCLUB_MEMBER4 + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember4ToFarTable + setvar VAR_0x8004, FANCLUB_MEMBER5 + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember5ToFarTable + setvar VAR_0x8004, FANCLUB_MEMBER6 + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember6ToFarTable + setvar VAR_0x8004, FANCLUB_MEMBER7 + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember7ToFarTable + setvar VAR_0x8004, FANCLUB_MEMBER8 + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember8ToFarTable end -LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA:: @ 821C8DA - specialvar VAR_RESULT, sub_80EE7C0 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1 +LilycoveCity_PokemonTrainerFanClub_EventScript_HideOrShowInterviewer:: @ 821C8DA + specialvar VAR_RESULT, ShouldHideFanClubInterviewer + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_HideInterviewer clearflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER clearflag FLAG_FAN_CLUB_STRENGTH_SHARED return -LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1:: @ 821C8F1 +LilycoveCity_PokemonTrainerFanClub_EventScript_HideInterviewer:: @ 821C8F1 setflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER return -LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5:: @ 821C8F5 - setvar VAR_0x8005, 8 - setvar VAR_0x8004, 8 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE - setvar VAR_0x8004, 9 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE - setvar VAR_0x8004, 10 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE - setvar VAR_0x8004, 11 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE - setvar VAR_0x8004, 12 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE - setvar VAR_0x8004, 13 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE - setvar VAR_0x8004, 14 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE - setvar VAR_0x8004, 15 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE +@ Set up the fan club TV show, if the player has at least 5 fans in the club +@ Rather than counting up, 1 is subtracted from the total for each member not a fan of the players +LilycoveCity_PokemonTrainerFanClub_EventScript_CheckSetUpTVShow:: @ 821C8F5 + setvar VAR_0x8005, NUM_TRAINER_FAN_CLUB_MEMBERS + setvar VAR_0x8004, FANCLUB_MEMBER1 + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan + setvar VAR_0x8004, FANCLUB_MEMBER2 + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan + setvar VAR_0x8004, FANCLUB_MEMBER3 + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan + setvar VAR_0x8004, FANCLUB_MEMBER4 + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan + setvar VAR_0x8004, FANCLUB_MEMBER5 + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan + setvar VAR_0x8004, FANCLUB_MEMBER6 + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan + setvar VAR_0x8004, FANCLUB_MEMBER7 + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan + setvar VAR_0x8004, FANCLUB_MEMBER8 + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, FALSE + call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan compare VAR_0x8005, 5 - goto_if_ge LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B4 + goto_if_ge LilycoveCity_PokemonTrainerFanClub_EventScript_TrySetUpTVShow return -LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE:: @ 821C9AE +LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan:: @ 821C9AE subvar VAR_0x8005, 1 return -LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B4:: @ 821C9B4 - special sub_80EE72C +LilycoveCity_PokemonTrainerFanClub_EventScript_TrySetUpTVShow:: @ 821C9B4 + special TrySetUpTrainerFanClubSpecial return -LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8:: @ 821C9B8 +LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember1ToFarTable:: @ 821C9B8 setobjectxyperm 1, 7, 5 return -LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0:: @ 821C9C0 +LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember2ToFarTable:: @ 821C9C0 setobjectxyperm 3, 3, 4 return -LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8:: @ 821C9C8 +LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember3ToFarTable:: @ 821C9C8 setobjectxyperm 4, 7, 2 return -LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0:: @ 821C9D0 +LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember4ToFarTable:: @ 821C9D0 setobjectxyperm 5, 5, 5 return -LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8:: @ 821C9D8 +LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember5ToFarTable:: @ 821C9D8 setobjectxyperm 6, 5, 2 return -LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0:: @ 821C9E0 +LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember6ToFarTable:: @ 821C9E0 setobjectxyperm 2, 8, 4 return -LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8:: @ 821C9E8 +LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember7ToFarTable:: @ 821C9E8 setobjectxyperm 7, 3, 3 return -LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0:: @ 821C9F0 +LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember8ToFarTable:: @ 821C9F0 setobjectxyperm 8, 8, 3 return -LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8:: @ 821C9F8 - call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5 - call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0 - call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0 - call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8 - call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8 - call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0 +LilycoveCity_PokemonTrainerFanClub_EventScript_SetFanMemberPositionsForFirstFanMeeting:: @ 821C9F8 + call LilycoveCity_PokemonTrainerFanClub_EventScript_CheckSetUpTVShow + call LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember2ToFarTable + call LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember4ToFarTable + call LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember5ToFarTable + call LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember7ToFarTable + call LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember8ToFarTable end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17:: @ 821CA17 +LilycoveCity_PokemonTrainerFanClub_EventScript_Man:: @ 821CA17 lock faceplayer - setvar VAR_0x8004, 13 - special BufferStreakTrainerText + setvar VAR_0x8004, FANCLUB_MEMBER6 + special BufferFanClubTrainerName compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayerNotChampion + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayersFan + specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub + compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1) + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ManOnlyNonFan + msgbox LilycoveCity_PokemonTrainerFanClub_Text_TrainersPowerIsOutOfTheOrdinary, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayersFan:: @ 821CA56 + specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56 - specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers - compare VAR_RESULT, 7 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D12A, MSGBOX_DEFAULT + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ManOnlyFan + msgbox LilycoveCity_PokemonTrainerFanClub_Text_YoureOneWeWantToWin, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56:: @ 821CA56 - specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D094, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_ManOnlyFan:: @ 821CA70 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_OthersDontKnowYoureTheBest, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70:: @ 821CA70 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D0BB, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_ManOnlyNonFan:: @ 821CA7A + msgbox LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsBestNoOneWantsToListen, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A:: @ 821CA7A - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D1B5, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayerNotChampion:: @ 821CA84 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_HearingAboutToughNewTrainer, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84:: @ 821CA84 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D20C, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E:: @ 821CA8E +LilycoveCity_PokemonTrainerFanClub_EventScript_Lass:: @ 821CA8E lock faceplayer - setvar VAR_0x8004, 8 - special BufferStreakTrainerText + setvar VAR_0x8004, FANCLUB_MEMBER1 + special BufferFanClubTrainerName compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayerNotChampion + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayersFan + specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub + compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1) + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LassOnlyNonFan + msgbox LilycoveCity_PokemonTrainerFanClub_Text_ICantHelpLikingBrawly, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayersFan:: @ 821CACD + specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD - specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers - compare VAR_RESULT, 7 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D347, MSGBOX_DEFAULT + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LassOnlyFan + msgbox LilycoveCity_PokemonTrainerFanClub_Text_ImPullingForYou, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD:: @ 821CACD - specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2A6, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_LassOnlyFan:: @ 821CAE7 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_BrawlyNoImYourFan, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7:: @ 821CAE7 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2CE, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_LassOnlyNonFan:: @ 821CAF1 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_NobodyUnderstandsBrawly, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1:: @ 821CAF1 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D377, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayerNotChampion:: @ 821CAFB + msgbox LilycoveCity_PokemonTrainerFanClub_Text_MyFavoriteTrainerIsBrawly, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB:: @ 821CAFB - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D3EE, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05:: @ 821CB05 +LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanM:: @ 821CB05 lock faceplayer - setvar VAR_0x8004, 9 - special BufferStreakTrainerText + setvar VAR_0x8004, FANCLUB_MEMBER2 + special BufferFanClubTrainerName compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayerNotChampion + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayersFan + specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub + compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1) + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMOnlyNonFan + msgbox LilycoveCity_PokemonTrainerFanClub_Text_LongWayToGoComparedToNorman, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayersFan:: @ 821CB44 + specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44 - specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers - compare VAR_RESULT, 7 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D52E, MSGBOX_DEFAULT + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMOnlyFan + msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouveSurpassedYourFather, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44:: @ 821CB44 - specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D438, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMOnlyFan:: @ 821CB5E + msgbox LilycoveCity_PokemonTrainerFanClub_Text_YourFatherNeverGaveUpSoKeepOnBattling, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E:: @ 821CB5E - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D4A3, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMOnlyNonFan:: @ 821CB68 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouAndNormanAreDifferent, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68:: @ 821CB68 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D5DC, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayerNotChampion:: @ 821CB72 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_WeDiscussStrongestTrainers, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72:: @ 821CB72 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D69C, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C:: @ 821CB7C +LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirl:: @ 821CB7C lock faceplayer - setvar VAR_0x8004, 10 - special BufferStreakTrainerText + setvar VAR_0x8004, FANCLUB_MEMBER3 + special BufferFanClubTrainerName compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9 - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayerNotChampion + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayersFan + specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub + compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1) + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyNonFan + msgbox LilycoveCity_PokemonTrainerFanClub_Text_EveryoneThinksTrainerIsCool, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayersFan:: @ 821CBBB + specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB - specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers - compare VAR_RESULT, 7 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D822, MSGBOX_DEFAULT + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyFan + msgbox LilycoveCity_PokemonTrainerFanClub_Text_OhWoweeItsPlayer, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB:: @ 821CBBB - specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D751, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyFan:: @ 821CBD5 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_AlwaysCheerForYou, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5:: @ 821CBD5 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D79B, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyNonFan:: @ 821CBDF + msgbox LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsReallyCoolItsJustMe, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF:: @ 821CBDF - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D857, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayerNotChampion:: @ 821CBE9 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_WishThereWasTrainerLikeThat, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9:: @ 821CBE9 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D8C4, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3:: @ 821CBF3 +LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoy:: @ 821CBF3 lock faceplayer - setvar VAR_0x8004, 11 - special BufferStreakTrainerText - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember + setvar VAR_0x8004, FANCLUB_MEMBER4 + special BufferFanClubTrainerName + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyPlayersFan + specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub + compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1) + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyOnlyNonFan + msgbox LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsWickedlyCool, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyPlayersFan:: @ 821CC27 + specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27 - specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers - compare VAR_RESULT, 7 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D9D1, MSGBOX_DEFAULT + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyOnlyFan + msgbox LilycoveCity_PokemonTrainerFanClub_Text_WantToBeStrongLikeYou, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27:: @ 821CC27 - specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D921, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyOnlyFan:: @ 821CC41 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_OnlyOneWhoCheersForYou, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41:: @ 821CC41 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D96A, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyOnlyNonFan:: @ 821CC4B + msgbox LilycoveCity_PokemonTrainerFanClub_Text_NeverGoingToStopBeingTrainersFan, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B:: @ 821CC4B - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA0D, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55:: @ 821CC55 +LilycoveCity_PokemonTrainerFanClub_EventScript_Boy:: @ 821CC55 lock faceplayer - setvar VAR_0x8004, 12 - special BufferStreakTrainerText - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember + setvar VAR_0x8004, FANCLUB_MEMBER5 + special BufferFanClubTrainerName + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_BoyPlayersFan + specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub + compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1) + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_BoyOnlyNonFan + msgbox LilycoveCity_PokemonTrainerFanClub_Text_ThinkTrainerIsNumberOne, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_BoyPlayersFan:: @ 821CC89 + specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89 - specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers - compare VAR_RESULT, 7 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DB69, MSGBOX_DEFAULT + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_BoyOnlyFan + msgbox LilycoveCity_PokemonTrainerFanClub_Text_YoureAmazingAfterAll, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89:: @ 821CC89 - specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA73, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_BoyOnlyFan:: @ 821CCA3 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_ImInYourCorner, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3:: @ 821CCA3 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DAF5, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_BoyOnlyNonFan:: @ 821CCAD + msgbox LilycoveCity_PokemonTrainerFanClub_Text_YoureMaybeStrongerThanTrainer, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD:: @ 821CCAD - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DBFB, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7:: @ 821CCB7 +LilycoveCity_PokemonTrainerFanClub_EventScript_Woman:: @ 821CCB7 lock faceplayer - setvar VAR_0x8004, 14 - special BufferStreakTrainerText - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember + setvar VAR_0x8004, FANCLUB_MEMBER7 + special BufferFanClubTrainerName + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_WomanPlayersFan + specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub + compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1) + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_WomanOnlyNonFan + msgbox LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsStandout, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_WomanPlayersFan:: @ 821CCEB + specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB - specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers - compare VAR_RESULT, 7 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DD36, MSGBOX_DEFAULT + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_WomanOnlyFan + msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouChangedMyMind, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB:: @ 821CCEB - specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DC68, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_WomanOnlyFan:: @ 821CD05 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouBattleAttractivelyInToughSituation, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05:: @ 821CD05 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DCD6, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_WomanOnlyNonFan:: @ 821CD0F + msgbox LilycoveCity_PokemonTrainerFanClub_Text_NoOneCanKnockYouButTrainerStronger, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F:: @ 821CD0F - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DDCE, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19:: @ 821CD19 +LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertF:: @ 821CD19 lock faceplayer - setvar VAR_0x8004, 15 - special BufferStreakTrainerText - specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember + setvar VAR_0x8004, FANCLUB_MEMBER8 + special BufferFanClubTrainerName + specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFPlayersFan + specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub + compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1) + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFOnlyNonFan + msgbox LilycoveCity_PokemonTrainerFanClub_Text_HaventRealizedPotential, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFPlayersFan:: @ 821CD4D + specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D - specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers - compare VAR_RESULT, 7 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DEFF, MSGBOX_DEFAULT + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFOnlyFan + msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouImpressive, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D:: @ 821CD4D - specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE72, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFOnlyFan:: @ 821CD67 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_OnlyIRecognizeYourTrueWorth, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67:: @ 821CD67 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE83, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFOnlyNonFan:: @ 821CD71 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_YourePowerfulButNotTrueStrength, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71:: @ 821CD71 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DF51, MSGBOX_DEFAULT - release - end - -LilycoveCity_PokemonTrainerFanClub_EventScript_21CD7B:: @ 821CD7B +LilycoveCity_PokemonTrainerFanClub_EventScript_Interviewer:: @ 821CD7B lock faceplayer - goto_if_set FLAG_FAN_CLUB_STRENGTH_SHARED, LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED - goto_if_unset FLAG_FAN_CLUB_STRENGTH_SHARED, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90 + goto_if_set FLAG_FAN_CLUB_STRENGTH_SHARED, LilycoveCity_PokemonTrainerFanClub_EventScript_AlreadyInterviewed + goto_if_unset FLAG_FAN_CLUB_STRENGTH_SHARED, LilycoveCity_PokemonTrainerFanClub_EventScript_Interview end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90:: @ 821CD90 - setvar VAR_0x8005, 11 +@ The interviewer doesnt count as an individual fan club member +@ Instead they always ask about whoever the Lass would be interested in, if not the player +LilycoveCity_PokemonTrainerFanClub_EventScript_Interview:: @ 821CD90 + setvar VAR_0x8005, TVSHOW_FAN_CLUB_SPECIAL special InterviewBefore - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEFF + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_AlreadyInterviewed2 copyvar VAR_0x800A, VAR_0x8006 - setvar VAR_0x8004, 8 - special BufferStreakTrainerText - msgbox LilycoveCity_PokemonTrainerFanClub_Text_281BCB, MSGBOX_DEFAULT + setvar VAR_0x8004, FANCLUB_MEMBER1 + special BufferFanClubTrainerName + msgbox LilycoveCity_PokemonTrainerFanClub_Text_WhatsYourOpinionOfTrainer, MSGBOX_DEFAULT setvar VAR_0x8004, EASY_CHAT_TYPE_FAN_QUESTION copyvar VAR_0x8005, VAR_0x800A call Common_ShowEasyChatScreen lock faceplayer compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_SubmitOpinion compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CancelGiveOpinion end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0:: @ 821CDE0 - msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C06, MSGBOX_DEFAULT - goto LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D +LilycoveCity_PokemonTrainerFanClub_EventScript_SubmitOpinion:: @ 821CDE0 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_ThatsWhatYouThink, MSGBOX_DEFAULT + goto LilycoveCity_PokemonTrainerFanClub_EventScript_RateTrainer end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE:: @ 821CDEE - setvar VAR_0x8004, 8 - special BufferStreakTrainerText - msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C3D, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15 +LilycoveCity_PokemonTrainerFanClub_EventScript_CancelGiveOpinion:: @ 821CDEE + setvar VAR_0x8004, FANCLUB_MEMBER1 + special BufferFanClubTrainerName + msgbox LilycoveCity_PokemonTrainerFanClub_Text_HaveYouForgottenTrainer, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_AskForOpinion end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15:: @ 821CE15 - setvar VAR_0x8004, 8 - special BufferStreakTrainerText - msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C65, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_AskForOpinion:: @ 821CE15 + setvar VAR_0x8004, FANCLUB_MEMBER1 + special BufferFanClubTrainerName + msgbox LilycoveCity_PokemonTrainerFanClub_Text_WhatsYourOpinionOfTrainer2, MSGBOX_DEFAULT setvar VAR_0x8004, EASY_CHAT_TYPE_FAN_QUESTION copyvar VAR_0x8005, VAR_0x800A call Common_ShowEasyChatScreen lock faceplayer compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_SubmitOpinion compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CancelGiveOpinion end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D:: @ 821CE4D - setvar VAR_0x8004, 8 - special BufferStreakTrainerText - message LilycoveCity_PokemonTrainerFanClub_Text_281C95 +LilycoveCity_PokemonTrainerFanClub_EventScript_RateTrainer:: @ 821CE4D + setvar VAR_0x8004, FANCLUB_MEMBER1 + special BufferFanClubTrainerName + message LilycoveCity_PokemonTrainerFanClub_Text_HowStrongRateTrainer waitmessage - setvar VAR_0x8004, 2 - special sub_813A128 + setvar VAR_0x8004, SCROLL_MULTI_POKEMON_FAN_CLUB_RATER + special ShowScrollableMultichoice waitstate - setvar VAR_0x8004, 8 + setvar VAR_0x8004, FANCLUB_MEMBER1 switch VAR_RESULT - case 11, LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F - case 127, LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F - setvar VAR_0x8004, 8 - special BufferStreakTrainerText + case 11, LilycoveCity_PokemonTrainerFanClub_EventScript_CancelRateTrainer + case MULTI_B_PRESSED, LilycoveCity_PokemonTrainerFanClub_EventScript_CancelRateTrainer + setvar VAR_0x8004, FANCLUB_MEMBER1 + special BufferFanClubTrainerName copyvar VAR_0x8006, VAR_0x800A copyvar VAR_0x8005, VAR_RESULT special PutFanClubSpecialOnTheAir - goto LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8 + goto LilycoveCity_PokemonTrainerFanClub_EventScript_CompleteInterview end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F:: @ 821CE9F - setvar VAR_0x8004, 8 - special BufferStreakTrainerText - msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CCD, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D +LilycoveCity_PokemonTrainerFanClub_EventScript_CancelRateTrainer:: @ 821CE9F + setvar VAR_0x8004, FANCLUB_MEMBER1 + special BufferFanClubTrainerName + msgbox LilycoveCity_PokemonTrainerFanClub_Text_HaveYouForgottenTrainer2, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_RateTrainer end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6:: @ 821CEC6 - setvar VAR_0x8004, 8 - special BufferStreakTrainerText - msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CF5, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer:: @ 821CEC6 + setvar VAR_0x8004, FANCLUB_MEMBER1 + special BufferFanClubTrainerName + msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouShouldMeetTrainer, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8:: @ 821CED8 - setvar VAR_0x8004, 8 - special BufferStreakTrainerText - msgbox LilycoveCity_PokemonTrainerFanClub_Text_281D40, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_CompleteInterview:: @ 821CED8 + setvar VAR_0x8004, FANCLUB_MEMBER1 + special BufferFanClubTrainerName + msgbox LilycoveCity_PokemonTrainerFanClub_Text_ThankYouIllShareThisInfo, MSGBOX_DEFAULT setflag FLAG_FAN_CLUB_STRENGTH_SHARED release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED:: @ 821CEED - setvar VAR_0x8004, 8 - special BufferStreakTrainerText - msgbox LilycoveCity_PokemonTrainerFanClub_Text_281DB4, MSGBOX_DEFAULT +LilycoveCity_PokemonTrainerFanClub_EventScript_AlreadyInterviewed:: @ 821CEED + setvar VAR_0x8004, FANCLUB_MEMBER1 + special BufferFanClubTrainerName + msgbox LilycoveCity_PokemonTrainerFanClub_HopeYouCatchTVSpecial, MSGBOX_DEFAULT release end -LilycoveCity_PokemonTrainerFanClub_EventScript_21CEFF:: @ 821CEFF +@ Shouldnt be reached +LilycoveCity_PokemonTrainerFanClub_EventScript_AlreadyInterviewed2:: @ 821CEFF end -LilycoveCity_PokemonTrainerFanClub_Text_21CF00: @ 821CF00 +LilycoveCity_PokemonTrainerFanClub_Text_OhWowItsPlayer: @ 821CF00 .string "Oh, wow!\n" .string "It's {PLAYER}!$" -LilycoveCity_PokemonTrainerFanClub_Text_21CF12: @ 821CF12 +LilycoveCity_PokemonTrainerFanClub_Text_HeardAboutYouImYourFan: @ 821CF12 .string "I've heard the news!\n" .string "You're really strong, aren't you?\p" .string "We always argue about who is the\n" @@ -628,29 +635,29 @@ LilycoveCity_PokemonTrainerFanClub_Text_21CF12: @ 821CF12 .string "Remember, I'm cheering for you,\n" .string "{PLAYER}!$" -LilycoveCity_PokemonTrainerFanClub_Text_21D094: @ 821D094 +LilycoveCity_PokemonTrainerFanClub_Text_YoureOneWeWantToWin: @ 821D094 .string "Yo, {PLAYER}!\n" .string "You're the one we want to win!$" -LilycoveCity_PokemonTrainerFanClub_Text_21D0BB: @ 821D0BB +LilycoveCity_PokemonTrainerFanClub_Text_OthersDontKnowYoureTheBest: @ 821D0BB .string "The others, they don't know that\n" .string "you're the best of the best!\p" .string "Isn't that right, {PLAYER}?\n" .string "Show them you've got guts!$" -LilycoveCity_PokemonTrainerFanClub_Text_21D12A: @ 821D12A +LilycoveCity_PokemonTrainerFanClub_Text_TrainersPowerIsOutOfTheOrdinary: @ 821D12A .string "I hate to say this, but the TRAINER\n" .string "everybody's talking about is\l" .string "{STR_VAR_1}, no question about it!\p" .string "That TRAINER's power…\n" .string "It's out of the ordinary.$" -LilycoveCity_PokemonTrainerFanClub_Text_21D1B5: @ 821D1B5 +LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsBestNoOneWantsToListen: @ 821D1B5 .string "Darn it… I've been telling people\n" .string "that {STR_VAR_1} is the best now…\p" .string "But no one wants to listen…$" -LilycoveCity_PokemonTrainerFanClub_Text_21D20C: @ 821D20C +LilycoveCity_PokemonTrainerFanClub_Text_HearingAboutToughNewTrainer: @ 821D20C .string "I've been hearing things about\n" .string "a tough new TRAINER.\p" .string "This TRAINER's supposed to be beating\n" @@ -658,13 +665,13 @@ LilycoveCity_PokemonTrainerFanClub_Text_21D20C: @ 821D20C .string "Do you know anything about this\n" .string "new TRAINER?$" -LilycoveCity_PokemonTrainerFanClub_Text_21D2A6: @ 821D2A6 +LilycoveCity_PokemonTrainerFanClub_Text_ImPullingForYou: @ 821D2A6 .string "Oh!\n" .string "{PLAYER}!\p" .string "Go for it!\n" .string "I'm pulling for you!$" -LilycoveCity_PokemonTrainerFanClub_Text_21D2CE: @ 821D2CE +LilycoveCity_PokemonTrainerFanClub_Text_BrawlyNoImYourFan: @ 821D2CE .string "Sigh…\n" .string "BRAWLY…\p" .string "Oh, no! Wait!\n" @@ -673,36 +680,36 @@ LilycoveCity_PokemonTrainerFanClub_Text_21D2CE: @ 821D2CE .string "So make me proud!\n" .string "Go for it!$" -LilycoveCity_PokemonTrainerFanClub_Text_21D347: @ 821D347 +LilycoveCity_PokemonTrainerFanClub_Text_ICantHelpLikingBrawly: @ 821D347 .string "I can't help it, I can only get to\n" .string "like BRAWLY…$" -LilycoveCity_PokemonTrainerFanClub_Text_21D377: @ 821D377 +LilycoveCity_PokemonTrainerFanClub_Text_NobodyUnderstandsBrawly: @ 821D377 .string "Nobody understands the charm of\n" .string "BRAWLY…\p" .string "I don't care!\p" .string "Even if I'm the only one, I'm going\n" .string "to keep cheering for BRAWLY!$" -LilycoveCity_PokemonTrainerFanClub_Text_21D3EE: @ 821D3EE +LilycoveCity_PokemonTrainerFanClub_Text_MyFavoriteTrainerIsBrawly: @ 821D3EE .string "Whatever anyone says, my favorite\n" .string "TRAINER is DEWFORD's GYM LEADER\l" .string "BRAWLY!$" -LilycoveCity_PokemonTrainerFanClub_Text_21D438: @ 821D438 +LilycoveCity_PokemonTrainerFanClub_Text_YouveSurpassedYourFather: @ 821D438 .string "You've surpassed your own father in\n" .string "every regard!\p" .string "I'm telling you, so there's no question\n" .string "about it at all!$" -LilycoveCity_PokemonTrainerFanClub_Text_21D4A3: @ 821D4A3 +LilycoveCity_PokemonTrainerFanClub_Text_YourFatherNeverGaveUpSoKeepOnBattling: @ 821D4A3 .string "Even when things turned bleak,\n" .string "your father never gave up.\p" .string "This I know to be true.\p" .string "You never give up even if you lose!\n" .string "So keep on battling!$" -LilycoveCity_PokemonTrainerFanClub_Text_21D52E: @ 821D52E +LilycoveCity_PokemonTrainerFanClub_Text_LongWayToGoComparedToNorman: @ 821D52E .string "NORMAN battled with more power,\n" .string "charisma, and showmanship than you.\p" .string "Even though people may say that\n" @@ -710,7 +717,7 @@ LilycoveCity_PokemonTrainerFanClub_Text_21D52E: @ 821D52E .string "You've still got a long way to go\n" .string "compared to your father.$" -LilycoveCity_PokemonTrainerFanClub_Text_21D5DC: @ 821D5DC +LilycoveCity_PokemonTrainerFanClub_Text_YouAndNormanAreDifferent: @ 821D5DC .string "You're beginning to get the same\n" .string "air of awe NORMAN exudes.\p" .string "But there's something conclusively\n" @@ -718,7 +725,7 @@ LilycoveCity_PokemonTrainerFanClub_Text_21D5DC: @ 821D5DC .string "I can't tell you what that is.\n" .string "You'll have to find it yourself.$" -LilycoveCity_PokemonTrainerFanClub_Text_21D69C: @ 821D69C +LilycoveCity_PokemonTrainerFanClub_Text_WeDiscussStrongestTrainers: @ 821D69C .string "Everyone here, we're all huge fans\n" .string "of POKéMON battles.\p" .string "We discuss who we consider to be\n" @@ -726,12 +733,12 @@ LilycoveCity_PokemonTrainerFanClub_Text_21D69C: @ 821D69C .string "If you were to become famous,\n" .string "we might even become your fans!$" -LilycoveCity_PokemonTrainerFanClub_Text_21D751: @ 821D751 +LilycoveCity_PokemonTrainerFanClub_Text_OhWoweeItsPlayer: @ 821D751 .string "Oh, woweee! It's {PLAYER}!\n" .string "For real, too!\p" .string "Please, shake my hand, shake my hand!$" -LilycoveCity_PokemonTrainerFanClub_Text_21D79B: @ 821D79B +LilycoveCity_PokemonTrainerFanClub_Text_AlwaysCheerForYou: @ 821D79B .string "I'll always cheer for you, {PLAYER}!\n" .string "Always, always!\p" .string "I don't want to see you lose ever,\n" @@ -739,60 +746,60 @@ LilycoveCity_PokemonTrainerFanClub_Text_21D79B: @ 821D79B .string "Because I know you're really,\n" .string "really strong, {PLAYER}!$" -LilycoveCity_PokemonTrainerFanClub_Text_21D822: @ 821D822 +LilycoveCity_PokemonTrainerFanClub_Text_EveryoneThinksTrainerIsCool: @ 821D822 .string "{STR_VAR_1} is really cool…\p" .string "Everyone thinks so, right, right?$" -LilycoveCity_PokemonTrainerFanClub_Text_21D857: @ 821D857 +LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsReallyCoolItsJustMe: @ 821D857 .string "{STR_VAR_1} really is cool, don't\n" .string "you think so?\p" .string "Even if it's just me, I'm going to keep\n" .string "cheering my favorite TRAINER.$" -LilycoveCity_PokemonTrainerFanClub_Text_21D8C4: @ 821D8C4 +LilycoveCity_PokemonTrainerFanClub_Text_WishThereWasTrainerLikeThat: @ 821D8C4 .string "My favorite TRAINER is…\p" .string "Cool…\p" .string "Strong…\p" .string "And really nice…\p" .string "I wish there was a TRAINER like that…$" -LilycoveCity_PokemonTrainerFanClub_Text_21D921: @ 821D921 +LilycoveCity_PokemonTrainerFanClub_Text_WantToBeStrongLikeYou: @ 821D921 .string "Whoa! It's {PLAYER}!\n" .string "Wicked!\p" .string "When I grow up, I want to be strong\n" .string "like you, {PLAYER}!$" -LilycoveCity_PokemonTrainerFanClub_Text_21D96A: @ 821D96A +LilycoveCity_PokemonTrainerFanClub_Text_OnlyOneWhoCheersForYou: @ 821D96A .string "Even if I'm the only one…\p" .string "You'll always be the only one\n" .string "I cheer for, {PLAYER}!\p" .string "Because I believe in you, {PLAYER}!$" -LilycoveCity_PokemonTrainerFanClub_Text_21D9D1: @ 821D9D1 +LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsWickedlyCool: @ 821D9D1 .string "{STR_VAR_1} is so wickedly cool…\n" .string "I want to shake hands with my hero.$" -LilycoveCity_PokemonTrainerFanClub_Text_21DA0D: @ 821DA0D +LilycoveCity_PokemonTrainerFanClub_Text_NeverGoingToStopBeingTrainersFan: @ 821DA0D .string "Even if I'm the only one…\p" .string "I'm never going to stop being\n" .string "{STR_VAR_1}'s fan!\p" .string "Because I've heard, {STR_VAR_1}\n" .string "never loses!$" -LilycoveCity_PokemonTrainerFanClub_Text_21DA73: @ 821DA73 +LilycoveCity_PokemonTrainerFanClub_Text_YoureAmazingAfterAll: @ 821DA73 .string "{PLAYER}!\n" .string "You are amazing after all!\p" .string "Ever since I set eyes on you,\n" .string "I knew that you were great.\p" .string "It looks like my eyes didn't deceive me.$" -LilycoveCity_PokemonTrainerFanClub_Text_21DAF5: @ 821DAF5 +LilycoveCity_PokemonTrainerFanClub_Text_ImInYourCorner: @ 821DAF5 .string "Who cares about the others.\n" .string "I'm in your corner!\p" .string "You don't need to worry. Just get\n" .string "out there and battle like always.$" -LilycoveCity_PokemonTrainerFanClub_Text_21DB69: @ 821DB69 +LilycoveCity_PokemonTrainerFanClub_Text_ThinkTrainerIsNumberOne: @ 821DB69 .string "You're a pretty decent TRAINER,\n" .string "I think.\p" .string "But I also think that {STR_VAR_1}\n" @@ -800,32 +807,32 @@ LilycoveCity_PokemonTrainerFanClub_Text_21DB69: @ 821DB69 .string "That's just my opinion.\n" .string "Don't worry about it too much.$" -LilycoveCity_PokemonTrainerFanClub_Text_21DBFB: @ 821DBFB +LilycoveCity_PokemonTrainerFanClub_Text_YoureMaybeStrongerThanTrainer: @ 821DBFB .string "Wow, you really are strong.\n" .string "Maybe even stronger than {STR_VAR_1}.\p" .string "But {STR_VAR_1} needs me.\p" .string "If I don't cheer for {STR_VAR_1},\n" .string "who will?$" -LilycoveCity_PokemonTrainerFanClub_Text_21DC68: @ 821DC68 +LilycoveCity_PokemonTrainerFanClub_Text_YouChangedMyMind: @ 821DC68 .string "You've changed my mind!\n" .string "You are strong, aren't you?\p" .string "I'd like you to tell me how you managed\n" .string "to get so strong!$" -LilycoveCity_PokemonTrainerFanClub_Text_21DCD6: @ 821DCD6 +LilycoveCity_PokemonTrainerFanClub_Text_YouBattleAttractivelyInToughSituation: @ 821DCD6 .string "The tougher the situation, the more\n" .string "attractively you battle.\p" .string "I can't wait for your next battle!$" -LilycoveCity_PokemonTrainerFanClub_Text_21DD36: @ 821DD36 +LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsStandout: @ 821DD36 .string "Among the recently hot TRAINERS,\n" .string "{STR_VAR_1} is the standout.\p" .string "That toughness, it's simply not normal.\p" .string "You're doing okay, but you're not in\n" .string "the same class as {STR_VAR_1}.$" -LilycoveCity_PokemonTrainerFanClub_Text_21DDCE: @ 821DDCE +LilycoveCity_PokemonTrainerFanClub_Text_NoOneCanKnockYouButTrainerStronger: @ 821DDCE .string "You are really popular…\p" .string "You're strong, and you're caring to\n" .string "POKéMON. No one can knock you.\p" @@ -833,23 +840,23 @@ LilycoveCity_PokemonTrainerFanClub_Text_21DDCE: @ 821DDCE .string "{STR_VAR_1} is definitely stronger!\n" .string "I'm positive!$" -LilycoveCity_PokemonTrainerFanClub_Text_21DE72: @ 821DE72 +LilycoveCity_PokemonTrainerFanClub_Text_YouImpressive: @ 821DE72 .string "You…\p" .string "Impressive!$" -LilycoveCity_PokemonTrainerFanClub_Text_21DE83: @ 821DE83 +LilycoveCity_PokemonTrainerFanClub_Text_OnlyIRecognizeYourTrueWorth: @ 821DE83 .string "Your true worth, it is fine if only\n" .string "I recognized it.\p" .string "The others I doubt will understand\n" .string "the hidden power that beats within.$" -LilycoveCity_PokemonTrainerFanClub_Text_21DEFF: @ 821DEFF +LilycoveCity_PokemonTrainerFanClub_Text_HaventRealizedPotential: @ 821DEFF .string "Yes, I see strength in your eyes.\p" .string "But!\p" .string "You still haven't realized your\n" .string "potential.$" -LilycoveCity_PokemonTrainerFanClub_Text_21DF51: @ 821DF51 +LilycoveCity_PokemonTrainerFanClub_Text_YourePowerfulButNotTrueStrength: @ 821DF51 .string "It is true that you are tremendously\n" .string "powerful.\p" .string "But!\n" diff --git a/data/maps/LinkContestRoom1/scripts.inc b/data/maps/LinkContestRoom1/scripts.inc deleted file mode 100644 index 9fb83a7a9f..0000000000 --- a/data/maps/LinkContestRoom1/scripts.inc +++ /dev/null @@ -1,458 +0,0 @@ -LinkContestRoom1_MapScripts:: @ 823B781 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LinkContestRoom1_MapScript2_23B81F - map_script MAP_SCRIPT_ON_FRAME_TABLE, LinkContestRoom1_MapScript2_23B815 - map_script MAP_SCRIPT_ON_TRANSITION, LinkContestRoom1_OnTransition - map_script MAP_SCRIPT_ON_RESUME, LinkContestRoom1_MapScript1_23B803 - map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, LinkContestRoom1_MapScript1_23B79B - .byte 0 - -LinkContestRoom1_MapScript1_23B79B: @ 823B79B - special sub_80F8B94 - end - -LinkContestRoom1_OnTransition: @ 823B79F - call LinkContestRoom1_EventScript_23B7AF - setvar VAR_TEMP_0, 1 - call LinkContestRoom1_EventScript_23B842 - end - -LinkContestRoom1_EventScript_23B7AF:: @ 823B7AF - call LinkContestRoom1_EventScript_27A133 - special ScriptGetMultiplayerId - compare VAR_RESULT, 0 - call_if_eq LinkContestRoom1_EventScript_23B7EF - compare VAR_RESULT, 1 - call_if_eq LinkContestRoom1_EventScript_23B7F3 - compare VAR_RESULT, 2 - call_if_eq LinkContestRoom1_EventScript_23B7F7 - compare VAR_RESULT, 3 - call_if_eq LinkContestRoom1_EventScript_23B7FB - compare VAR_RESULT, 4 - call_if_eq LinkContestRoom1_EventScript_23B7FF - return - -LinkContestRoom1_EventScript_23B7EF:: @ 823B7EF - savebgm MUS_TEST1 - return - -LinkContestRoom1_EventScript_23B7F3:: @ 823B7F3 - savebgm MUS_TEST2 - return - -LinkContestRoom1_EventScript_23B7F7:: @ 823B7F7 - savebgm MUS_TEST3 - return - -LinkContestRoom1_EventScript_23B7FB:: @ 823B7FB - savebgm MUS_TEST4 - return - -LinkContestRoom1_EventScript_23B7FF:: @ 823B7FF - savebgm MUS_CONTEST0 - return - -LinkContestRoom1_MapScript1_23B803: @ 823B803 - compare VAR_TEMP_9, 1 - call_if_eq LinkContestRoom1_EventScript_23B80F - end - -LinkContestRoom1_EventScript_23B80F:: @ 823B80F - call LinkContestRoom1_EventScript_23BB2B - return - -LinkContestRoom1_MapScript2_23B815: @ 823B815 - map_script_2 VAR_LINK_CONTEST_ROOM_STATE, 1, LinkContestRoom1_EventScript_23B829 - .2byte 0 - -LinkContestRoom1_MapScript2_23B81F: @ 823B81F - map_script_2 VAR_LINK_CONTEST_ROOM_STATE, 1, LinkContestRoom1_EventScript_23B834 - .2byte 0 - -LinkContestRoom1_EventScript_23B829:: @ 823B829 - call LinkContestRoom1_EventScript_279F97 - call LinkContestRoom1_EventScript_23BE44 - end - -LinkContestRoom1_EventScript_23B834:: @ 823B834 - special sub_80F8B94 - hideobjectat EVENT_OBJ_ID_PLAYER, MAP_LITTLEROOT_TOWN - call LinkContestRoom1_EventScript_23BB2B - end - -LinkContestRoom1_EventScript_23B842:: @ 823B842 - call LinkContestRoom1_EventScript_23B8F8 - call LinkContestRoom1_EventScript_23B858 - compare VAR_TEMP_0, 8 - goto_if_lt LinkContestRoom1_EventScript_23B842 - return - -LinkContestRoom1_EventScript_23B858:: @ 823B858 - switch VAR_TEMP_0 - case 1, LinkContestRoom1_EventScript_23B8AB - case 2, LinkContestRoom1_EventScript_23B8B6 - case 3, LinkContestRoom1_EventScript_23B8C1 - case 4, LinkContestRoom1_EventScript_23B8CC - case 5, LinkContestRoom1_EventScript_23B8D7 - case 6, LinkContestRoom1_EventScript_23B8E2 - case 7, LinkContestRoom1_EventScript_23B8ED - end - -LinkContestRoom1_EventScript_23B8AB:: @ 823B8AB - copyvar VAR_OBJ_GFX_ID_4, VAR_TEMP_1 - addvar VAR_TEMP_0, 1 - return - -LinkContestRoom1_EventScript_23B8B6:: @ 823B8B6 - copyvar VAR_OBJ_GFX_ID_5, VAR_TEMP_1 - addvar VAR_TEMP_0, 1 - return - -LinkContestRoom1_EventScript_23B8C1:: @ 823B8C1 - copyvar VAR_OBJ_GFX_ID_6, VAR_TEMP_1 - addvar VAR_TEMP_0, 1 - return - -LinkContestRoom1_EventScript_23B8CC:: @ 823B8CC - copyvar VAR_OBJ_GFX_ID_7, VAR_TEMP_1 - addvar VAR_TEMP_0, 1 - return - -LinkContestRoom1_EventScript_23B8D7:: @ 823B8D7 - copyvar VAR_OBJ_GFX_ID_8, VAR_TEMP_1 - addvar VAR_TEMP_0, 1 - return - -LinkContestRoom1_EventScript_23B8E2:: @ 823B8E2 - copyvar VAR_OBJ_GFX_ID_9, VAR_TEMP_1 - addvar VAR_TEMP_0, 1 - return - -LinkContestRoom1_EventScript_23B8ED:: @ 823B8ED - copyvar VAR_OBJ_GFX_ID_A, VAR_TEMP_1 - addvar VAR_TEMP_0, 1 - return - -LinkContestRoom1_EventScript_23B8F8:: @ 823B8F8 - setvar VAR_RESULT, 32 - special ScriptRandom - addvar VAR_RESULT, 1 - switch VAR_RESULT - case 1, LinkContestRoom1_EventScript_23BA6B - case 2, LinkContestRoom1_EventScript_23BA71 - case 3, LinkContestRoom1_EventScript_23BA77 - case 4, LinkContestRoom1_EventScript_23BA7D - case 5, LinkContestRoom1_EventScript_23BA83 - case 6, LinkContestRoom1_EventScript_23BA89 - case 7, LinkContestRoom1_EventScript_23BA8F - case 8, LinkContestRoom1_EventScript_23BA95 - case 9, LinkContestRoom1_EventScript_23BA9B - case 10, LinkContestRoom1_EventScript_23BAA1 - case 11, LinkContestRoom1_EventScript_23BAA7 - case 12, LinkContestRoom1_EventScript_23BAAD - case 13, LinkContestRoom1_EventScript_23BAB3 - case 14, LinkContestRoom1_EventScript_23BAB9 - case 15, LinkContestRoom1_EventScript_23BABF - case 16, LinkContestRoom1_EventScript_23BAC5 - case 17, LinkContestRoom1_EventScript_23BACB - case 18, LinkContestRoom1_EventScript_23BAD1 - case 19, LinkContestRoom1_EventScript_23BAD7 - case 20, LinkContestRoom1_EventScript_23BADD - case 21, LinkContestRoom1_EventScript_23BAE3 - case 22, LinkContestRoom1_EventScript_23BAE9 - case 23, LinkContestRoom1_EventScript_23BAEF - case 24, LinkContestRoom1_EventScript_23BAF5 - case 25, LinkContestRoom1_EventScript_23BAFB - case 26, LinkContestRoom1_EventScript_23BB01 - case 27, LinkContestRoom1_EventScript_23BB07 - case 28, LinkContestRoom1_EventScript_23BB0D - case 29, LinkContestRoom1_EventScript_23BB13 - case 30, LinkContestRoom1_EventScript_23BB19 - case 31, LinkContestRoom1_EventScript_23BB1F - case 32, LinkContestRoom1_EventScript_23BB25 - end - -LinkContestRoom1_EventScript_23BA6B:: @ 823BA6B - setvar VAR_TEMP_1, EVENT_OBJ_GFX_NINJA_BOY - return - -LinkContestRoom1_EventScript_23BA71:: @ 823BA71 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_TWIN - return - -LinkContestRoom1_EventScript_23BA77:: @ 823BA77 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_BOY_1 - return - -LinkContestRoom1_EventScript_23BA7D:: @ 823BA7D - setvar VAR_TEMP_1, EVENT_OBJ_GFX_GIRL_1 - return - -LinkContestRoom1_EventScript_23BA83:: @ 823BA83 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_GIRL_2 - return - -LinkContestRoom1_EventScript_23BA89:: @ 823BA89 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_LITTLE_BOY - return - -LinkContestRoom1_EventScript_23BA8F:: @ 823BA8F - setvar VAR_TEMP_1, EVENT_OBJ_GFX_LITTLE_GIRL - return - -LinkContestRoom1_EventScript_23BA95:: @ 823BA95 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_BOY_3 - return - -LinkContestRoom1_EventScript_23BA9B:: @ 823BA9B - setvar VAR_TEMP_1, EVENT_OBJ_GFX_GIRL_3 - return - -LinkContestRoom1_EventScript_23BAA1:: @ 823BAA1 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_RICH_BOY - return - -LinkContestRoom1_EventScript_23BAA7:: @ 823BAA7 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_FAT_MAN - return - -LinkContestRoom1_EventScript_23BAAD:: @ 823BAAD - setvar VAR_TEMP_1, EVENT_OBJ_GFX_POKEFAN_F - return - -LinkContestRoom1_EventScript_23BAB3:: @ 823BAB3 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_MAN_1 - return - -LinkContestRoom1_EventScript_23BAB9:: @ 823BAB9 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_WOMAN_2 - return - -LinkContestRoom1_EventScript_23BABF:: @ 823BABF - setvar VAR_TEMP_1, EVENT_OBJ_GFX_EXPERT_M - return - -LinkContestRoom1_EventScript_23BAC5:: @ 823BAC5 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_EXPERT_F - return - -LinkContestRoom1_EventScript_23BACB:: @ 823BACB - setvar VAR_TEMP_1, EVENT_OBJ_GFX_POKEFAN_M - return - -LinkContestRoom1_EventScript_23BAD1:: @ 823BAD1 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_WOMAN_4 - return - -LinkContestRoom1_EventScript_23BAD7:: @ 823BAD7 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_COOK - return - -LinkContestRoom1_EventScript_23BADD:: @ 823BADD - setvar VAR_TEMP_1, EVENT_OBJ_GFX_LASS - return - -LinkContestRoom1_EventScript_23BAE3:: @ 823BAE3 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_OLD_WOMAN - return - -LinkContestRoom1_EventScript_23BAE9:: @ 823BAE9 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_CAMPER - return - -LinkContestRoom1_EventScript_23BAEF:: @ 823BAEF - setvar VAR_TEMP_1, EVENT_OBJ_GFX_PICNICKER - return - -LinkContestRoom1_EventScript_23BAF5:: @ 823BAF5 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_MAN_3 - return - -LinkContestRoom1_EventScript_23BAFB:: @ 823BAFB - setvar VAR_TEMP_1, EVENT_OBJ_GFX_WOMAN_5 - return - -LinkContestRoom1_EventScript_23BB01:: @ 823BB01 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_YOUNGSTER - return - -LinkContestRoom1_EventScript_23BB07:: @ 823BB07 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_BUG_CATCHER - return - -LinkContestRoom1_EventScript_23BB0D:: @ 823BB0D - setvar VAR_TEMP_1, EVENT_OBJ_GFX_PSYCHIC_M - return - -LinkContestRoom1_EventScript_23BB13:: @ 823BB13 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_SCHOOL_KID_M - return - -LinkContestRoom1_EventScript_23BB19:: @ 823BB19 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_BLACK_BELT - return - -LinkContestRoom1_EventScript_23BB1F:: @ 823BB1F - setvar VAR_TEMP_1, EVENT_OBJ_GFX_BEAUTY - return - -LinkContestRoom1_EventScript_23BB25:: @ 823BB25 - setvar VAR_TEMP_1, EVENT_OBJ_GFX_SCIENTIST_1 - return - -LinkContestRoom1_EventScript_23BB2B:: @ 823BB2B - specialvar VAR_RESULT, sub_80F9160 - compare VAR_RESULT, 1 - goto_if_eq LinkContestRoom1_EventScript_23BD86 - switch VAR_CONTEST_LOCATION - case 1, LinkContestRoom1_EventScript_23BB78 - case 2, LinkContestRoom1_EventScript_23BB8B - case 3, LinkContestRoom1_EventScript_23BBE6 - case 4, LinkContestRoom1_EventScript_23BC92 - case 5, LinkContestRoom1_EventScript_23BC92 - return - -LinkContestRoom1_EventScript_23BB78:: @ 823BB78 - createvobject EVENT_OBJ_GFX_NINJA_BOY, 20, 3, 2, 3, DIR_SOUTH - createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH - return - -LinkContestRoom1_EventScript_23BB8B:: @ 823BB8B - createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_SCIENTIST_1, 3, 2, 8, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 13, 12, 8, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_LASS, 20, 3, 2, 3, DIR_SOUTH - createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH - return - -LinkContestRoom1_EventScript_23BBE6:: @ 823BBE6 - createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_GENTLEMAN, 3, 2, 8, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_EXPERT_F, 20, 3, 2, 3, DIR_SOUTH - createvobject EVENT_OBJ_GFX_MAN_2, 20, 6, 2, 3, DIR_SOUTH - createvobject EVENT_OBJ_GFX_WOMAN_5, 20, 7, 2, 3, DIR_SOUTH - createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 8, 2, 3, DIR_SOUTH - createvobject EVENT_OBJ_GFX_GENTLEMAN, 24, 11, 2, 3, DIR_SOUTH - createvobject EVENT_OBJ_GFX_LITTLE_BOY, 25, 3, 9, 3, DIR_NORTH - createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 4, 9, 3, DIR_NORTH - createvobject EVENT_OBJ_GFX_FAT_MAN, 27, 5, 9, 3, DIR_NORTH - createvobject EVENT_OBJ_GFX_HEX_MANIAC, 28, 9, 9, 3, DIR_NORTH - createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 10, 9, 3, DIR_NORTH - createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 30, 11, 9, 3, DIR_NORTH - return - -LinkContestRoom1_EventScript_23BC92:: @ 823BC92 - createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 3, 2, 8, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_MANIAC, 4, 1, 3, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_WOMAN_5, 6, 1, 5, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_WOMAN_4, 7, 1, 6, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_GENTLEMAN, 9, 1, 8, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_FISHERMAN, 14, 13, 3, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, 15, 13, 4, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_MAN_4, 17, 13, 6, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 18, 13, 7, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_DEVON_EMPLOYEE, 19, 13, 8, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_POKEFAN_M, 20, 3, 2, 3, DIR_SOUTH - createvobject EVENT_OBJ_GFX_CAMPER, 21, 6, 2, 3, DIR_SOUTH - createvobject EVENT_OBJ_GFX_MAN_3, 22, 7, 2, 3, DIR_SOUTH - createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH - createvobject EVENT_OBJ_GFX_SAILOR, 25, 3, 9, 3, DIR_NORTH - createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 4, 9, 3, DIR_NORTH - createvobject EVENT_OBJ_GFX_GENTLEMAN, 27, 5, 9, 3, DIR_NORTH - createvobject EVENT_OBJ_GFX_HEX_MANIAC, 28, 9, 9, 3, DIR_NORTH - createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 10, 9, 3, DIR_NORTH - createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 30, 11, 9, 3, DIR_NORTH - return - -LinkContestRoom1_EventScript_23BD86:: @ 823BD86 - createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 3, 2, 8, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_MANIAC, 4, 1, 3, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_WOMAN_5, 6, 1, 5, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_WOMAN_4, 7, 1, 6, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_GENTLEMAN, 9, 1, 8, 3, DIR_EAST - createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_FISHERMAN, 14, 13, 3, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, 15, 13, 4, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_MAN_4, 17, 13, 6, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 18, 13, 7, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_DEVON_EMPLOYEE, 19, 13, 8, 3, DIR_WEST - createvobject EVENT_OBJ_GFX_POKEFAN_M, 20, 3, 2, 3, DIR_SOUTH - createvobject EVENT_OBJ_GFX_CAMPER, 21, 6, 2, 3, DIR_SOUTH - createvobject EVENT_OBJ_GFX_MAN_3, 22, 7, 2, 3, DIR_SOUTH - createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH - return - -LinkContestRoom1_EventScript_23BE44:: @ 823BE44 - special sub_80F9154 - switch VAR_CONTEST_LOCATION - case 1, LinkContestRoom1_EventScript_23BE84 - case 2, LinkContestRoom1_EventScript_23BE8E - case 3, LinkContestRoom1_EventScript_23BE98 - case 4, LinkContestRoom1_EventScript_23BEA2 - case 5, LinkContestRoom1_EventScript_23BEAC - return - -LinkContestRoom1_EventScript_23BE84:: @ 823BE84 - warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4 - waitstate - end - -LinkContestRoom1_EventScript_23BE8E:: @ 823BE8E - warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4 - waitstate - end - -LinkContestRoom1_EventScript_23BE98:: @ 823BE98 - warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4 - waitstate - end - -LinkContestRoom1_EventScript_23BEA2:: @ 823BEA2 - warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4 - waitstate - end - -LinkContestRoom1_EventScript_23BEAC:: @ 823BEAC - warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 15, 4 - waitstate - end - -LilycoveCity_ContestLobby_EventScript_23BEB6:: @ 823BEB6 - checkplayergender - compare VAR_RESULT, MALE - goto_if_eq LilycoveCity_ContestLobby_EventScript_23BECE - compare VAR_RESULT, FEMALE - goto_if_eq LilycoveCity_ContestLobby_EventScript_23BED4 - return - -LilycoveCity_ContestLobby_EventScript_23BECE:: @ 823BECE - setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL - return - -LilycoveCity_ContestLobby_EventScript_23BED4:: @ 823BED4 - setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL - return - diff --git a/data/maps/LinkContestRoom2/scripts.inc b/data/maps/LinkContestRoom2/scripts.inc deleted file mode 100644 index 8b13789179..0000000000 --- a/data/maps/LinkContestRoom2/scripts.inc +++ /dev/null @@ -1 +0,0 @@ - diff --git a/data/maps/LinkContestRoom3/scripts.inc b/data/maps/LinkContestRoom3/scripts.inc deleted file mode 100644 index 8b13789179..0000000000 --- a/data/maps/LinkContestRoom3/scripts.inc +++ /dev/null @@ -1 +0,0 @@ - diff --git a/data/maps/LinkContestRoom4/scripts.inc b/data/maps/LinkContestRoom4/scripts.inc deleted file mode 100644 index 8b13789179..0000000000 --- a/data/maps/LinkContestRoom4/scripts.inc +++ /dev/null @@ -1 +0,0 @@ - diff --git a/data/maps/LinkContestRoom5/scripts.inc b/data/maps/LinkContestRoom5/scripts.inc deleted file mode 100644 index 8b13789179..0000000000 --- a/data/maps/LinkContestRoom5/scripts.inc +++ /dev/null @@ -1 +0,0 @@ - diff --git a/data/maps/LinkContestRoom6/map.json b/data/maps/LinkContestRoom6/map.json deleted file mode 100644 index 38bfcd9798..0000000000 --- a/data/maps/LinkContestRoom6/map.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": "MAP_LINK_CONTEST_ROOM6", - "name": "LinkContestRoom6", - "layout": "LAYOUT_LINK_CONTEST_ROOM6", - "music": "MUS_CONTEST0", - "region_map_section": "MAPSEC_DYNAMIC", - "requires_flash": false, - "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_INDOOR", - "allow_bike": false, - "allow_escape_rope": false, - "allow_running": false, - "show_map_name": false, - "battle_scene": "MAP_BATTLE_SCENE_NORMAL", - "connections": null, - "shared_events_map": "LinkContestRoom1", - "shared_scripts_map": "LinkContestRoom1" -} \ No newline at end of file diff --git a/data/maps/LinkContestRoom6/scripts.inc b/data/maps/LinkContestRoom6/scripts.inc deleted file mode 100644 index 8b13789179..0000000000 --- a/data/maps/LinkContestRoom6/scripts.inc +++ /dev/null @@ -1 +0,0 @@ - diff --git a/data/maps/LittlerootTown/map.json b/data/maps/LittlerootTown/map.json index eaa17a5df8..56249cb509 100644 --- a/data/maps/LittlerootTown/map.json +++ b/data/maps/LittlerootTown/map.json @@ -30,7 +30,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_EventScript_1E8034", + "script": "LittlerootTown_EventScript_Twin", "flag": "0" }, { @@ -43,7 +43,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_EventScript_1E8022", + "script": "LittlerootTown_EventScript_FatMan", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN" }, { @@ -56,7 +56,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_EventScript_1E802B", + "script": "LittlerootTown_EventScript_Boy", "flag": "0" }, { @@ -69,7 +69,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_EventScript_1E863D", + "script": "LittlerootTown_EventScript_Mom", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE" }, { @@ -156,7 +156,7 @@ "elevation": 3, "var": "VAR_LITTLEROOT_TOWN_STATE", "var_value": "0", - "script": "LittlerootTown_EventScript_1E8091" + "script": "LittlerootTown_EventScript_NeedPokemonTriggerLeft" }, { "type": "trigger", @@ -165,7 +165,7 @@ "elevation": 3, "var": "VAR_LITTLEROOT_TOWN_STATE", "var_value": "0", - "script": "LittlerootTown_EventScript_1E80EF" + "script": "LittlerootTown_EventScript_NeedPokemonTriggerRight" }, { "type": "trigger", @@ -174,7 +174,7 @@ "elevation": 3, "var": "VAR_LITTLEROOT_TOWN_STATE", "var_value": "1", - "script": "LittlerootTown_EventScript_1E811F" + "script": "LittlerootTown_EventScript_GoSaveBirchTrigger" }, { "type": "trigger", @@ -183,7 +183,7 @@ "elevation": 3, "var": "VAR_LITTLEROOT_TOWN_STATE", "var_value": "3", - "script": "LittlerootTown_EventScript_1E81F9" + "script": "LittlerootTown_EventScript_GiveRunningShoesTrigger4" }, { "type": "trigger", @@ -192,7 +192,7 @@ "elevation": 3, "var": "VAR_LITTLEROOT_TOWN_STATE", "var_value": "3", - "script": "LittlerootTown_EventScript_1E8205" + "script": "LittlerootTown_EventScript_GiveRunningShoesTrigger5" }, { "type": "trigger", @@ -201,7 +201,7 @@ "elevation": 3, "var": "VAR_LITTLEROOT_TOWN_STATE", "var_value": "3", - "script": "LittlerootTown_EventScript_1E81E1" + "script": "LittlerootTown_EventScript_GiveRunningShoesTrigger2" }, { "type": "trigger", @@ -210,7 +210,7 @@ "elevation": 3, "var": "VAR_LITTLEROOT_TOWN_STATE", "var_value": "3", - "script": "LittlerootTown_EventScript_1E81ED" + "script": "LittlerootTown_EventScript_GiveRunningShoesTrigger3" }, { "type": "trigger", @@ -219,7 +219,7 @@ "elevation": 3, "var": "VAR_LITTLEROOT_TOWN_STATE", "var_value": "3", - "script": "LittlerootTown_EventScript_1E81BB" + "script": "LittlerootTown_EventScript_GiveRunningShoesTrigger0" }, { "type": "trigger", @@ -228,7 +228,7 @@ "elevation": 3, "var": "VAR_LITTLEROOT_TOWN_STATE", "var_value": "3", - "script": "LittlerootTown_EventScript_1E81CE" + "script": "LittlerootTown_EventScript_GiveRunningShoesTrigger1" } ], "bg_events": [ @@ -238,7 +238,7 @@ "y": 13, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_EventScript_1E8151" + "script": "LittlerootTown_EventScript_TownSign" }, { "type": "sign", @@ -246,7 +246,7 @@ "y": 17, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_EventScript_1E815A" + "script": "LittlerootTown_EventScript_BirchsLabSign" }, { "type": "sign", @@ -254,7 +254,7 @@ "y": 8, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_EventScript_1E8163" + "script": "LittlerootTown_EventScript_BrendansHouseSign" }, { "type": "sign", @@ -262,7 +262,7 @@ "y": 8, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_EventScript_1E818F" + "script": "LittlerootTown_EventScript_MaysHouseSign" } ] } diff --git a/data/maps/LittlerootTown/scripts.inc b/data/maps/LittlerootTown/scripts.inc index 8f10f2b4d0..72b7b10504 100644 --- a/data/maps/LittlerootTown/scripts.inc +++ b/data/maps/LittlerootTown/scripts.inc @@ -1,195 +1,225 @@ LittlerootTown_MapScripts:: @ 81E7DCB - map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_MapScript1_1E7DDB - map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_MapScript2_1E7EC1 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_MapScript2_1E7FE2 + map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_OnWarp .byte 0 -LittlerootTown_MapScript1_1E7DDB: @ 81E7DDB + @ State descriptions for VAR_LITTLEROOT_TOWN_STATE + @ 1: Met Rival + @ 2: Saving Birch + @ 3: Received Pokedex + @ 4: Received Running Shoes + + @ State descriptions for VAR_LITTLEROOT_INTRO_STATE + @ 1: In truck male + @ 2: In truck female + @ 3: Entered house + @ 4: Told to go set clock + @ 5: Entered 2F to set clock + @ 6: Set clock + @ 7: Told to go meet rival + + @ State descriptions for VAR_LITTLEROOT_HOUSES_STATE_MAY + @ and VAR_LITTLEROOT_HOUSES_STATE_BRENDAN + @ 1: On Truck (and is corresponding gender) + @ 2: Met Rival's Mom (and is corresponding gender) + @ 3: Entered Hall of Fame + @ 4: Completed Lati TV / SS Ticket event + @ 5: Exited house after above event + + @ State descriptions for VAR_LITTLEROOT_RIVAL_STATE + @ 1: Never occurs + @ 2: Entered Rival's bedroom + @ 3: Met Rival + @ 4: Received Pokedex + + +LittlerootTown_OnTransition: @ 81E7DDB setflag FLAG_VISITED_LITTLEROOT_TOWN - call Common_EventScript_SetupRivalGender + call Common_EventScript_SetupRivalGfxId compare VAR_LITTLEROOT_INTRO_STATE, 2 - call_if_eq LittlerootTown_EventScript_1E7E67 - call_if_unset FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_1E7E6F + call_if_eq LittlerootTown_EventScript_MoveMomToMaysDoor + call_if_unset FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_SetTwinPos compare VAR_LITTLEROOT_TOWN_STATE, 3 - call_if_eq LittlerootTown_EventScript_1E7E92 - compare VAR_LITTLEROOT_HOUSES_STATE, 4 - call_if_eq LittlerootTown_EventScript_1E7E5C - compare VAR_LITTLEROOT_HOUSES_STATE_2, 4 - call_if_eq LittlerootTown_EventScript_1E7E5C + call_if_eq LittlerootTown_EventScript_SetMomStandingInFrontOfDoorPos + compare VAR_LITTLEROOT_HOUSES_STATE_MAY, 4 + call_if_eq LittlerootTown_EventScript_SetExitedHouseAfterLatiSSTicketEvent + compare VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 4 + call_if_eq LittlerootTown_EventScript_SetExitedHouseAfterLatiSSTicketEvent compare VAR_OLDALE_RIVAL_STATE, 1 - call_if_eq LittlerootTown_EventScript_1E7E53 + call_if_eq LittlerootTown_EventScript_MoveRivalFromOldale compare VAR_LITTLEROOT_RIVAL_STATE, 3 - call_if_eq LittlerootTown_EventScript_1E7E4F + call_if_eq LittlerootTown_EventScript_SetRivalLeftForRoute103 compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1 - call_if_eq LittlerootTown_EventScript_1E7E4B + call_if_eq LittlerootTown_EventScript_HideMapNamePopup compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2 - call_if_eq LittlerootTown_EventScript_1E7E45 + call_if_eq LittlerootTown_EventScript_LeftLabAfterDexUpgrade end -LittlerootTown_EventScript_1E7E45:: @ 81E7E45 +LittlerootTown_EventScript_LeftLabAfterDexUpgrade:: @ 81E7E45 setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3 return -LittlerootTown_EventScript_1E7E4B:: @ 81E7E4B +LittlerootTown_EventScript_HideMapNamePopup:: @ 81E7E4B setflag FLAG_HIDE_MAP_NAME_POPUP return -LittlerootTown_EventScript_1E7E4F:: @ 81E7E4F +LittlerootTown_EventScript_SetRivalLeftForRoute103:: @ 81E7E4F setflag FLAG_RIVAL_LEFT_FOR_ROUTE103 return -LittlerootTown_EventScript_1E7E53:: @ 81E7E53 +LittlerootTown_EventScript_MoveRivalFromOldale:: @ 81E7E53 setvar VAR_OLDALE_RIVAL_STATE, 2 setflag FLAG_HIDE_OLDALE_TOWN_RIVAL return -LittlerootTown_EventScript_1E7E5C:: @ 81E7E5C - setvar VAR_LITTLEROOT_HOUSES_STATE, 5 - setvar VAR_LITTLEROOT_HOUSES_STATE_2, 5 +LittlerootTown_EventScript_SetExitedHouseAfterLatiSSTicketEvent:: @ 81E7E5C + setvar VAR_LITTLEROOT_HOUSES_STATE_MAY, 5 + setvar VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 5 return -LittlerootTown_EventScript_1E7E67:: @ 81E7E67 +LittlerootTown_EventScript_MoveMomToMaysDoor:: @ 81E7E67 setobjectxyperm 4, 14, 8 return -LittlerootTown_EventScript_1E7E6F:: @ 81E7E6F +LittlerootTown_EventScript_SetTwinPos:: @ 81E7E6F compare VAR_LITTLEROOT_TOWN_STATE, 0 - goto_if_eq LittlerootTown_EventScript_1E7E86 + goto_if_eq LittlerootTown_EventScript_SetTwinGuardingRoutePos setobjectxyperm 1, 10, 1 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP return -LittlerootTown_EventScript_1E7E86:: @ 81E7E86 +LittlerootTown_EventScript_SetTwinGuardingRoutePos:: @ 81E7E86 setobjectxyperm 1, 7, 2 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_DOWN return -LittlerootTown_EventScript_1E7E92:: @ 81E7E92 +LittlerootTown_EventScript_SetMomStandingInFrontOfDoorPos:: @ 81E7E92 clearflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE setobjectmovementtype 4, MOVEMENT_TYPE_FACE_DOWN checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_EventScript_1E7EB1 + call_if_eq LittlerootTown_EventScript_SetMomInFrontOfDoorMale compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_EventScript_1E7EB9 + call_if_eq LittlerootTown_EventScript_SetMomInFrontOfDoorFemale return -LittlerootTown_EventScript_1E7EB1:: @ 81E7EB1 +LittlerootTown_EventScript_SetMomInFrontOfDoorMale:: @ 81E7EB1 setobjectxyperm 4, 5, 9 return -LittlerootTown_EventScript_1E7EB9:: @ 81E7EB9 +LittlerootTown_EventScript_SetMomInFrontOfDoorFemale:: @ 81E7EB9 setobjectxyperm 4, 14, 9 return -LittlerootTown_MapScript2_1E7EC1: @ 81E7EC1 - map_script_2 VAR_LITTLEROOT_INTRO_STATE, 1, LittlerootTown_EventScript_1E7EDB - map_script_2 VAR_LITTLEROOT_INTRO_STATE, 2, LittlerootTown_EventScript_1E7EF9 - map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_EventScript_1E7FB1 +LittlerootTown_OnFrame: @ 81E7EC1 + map_script_2 VAR_LITTLEROOT_INTRO_STATE, 1, LittlerootTown_EventScript_StepOffTruckMale + map_script_2 VAR_LITTLEROOT_INTRO_STATE, 2, LittlerootTown_EventScript_StepOffTruckFemale + map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_EventScript_BeginDexUpgradeScene .2byte 0 -LittlerootTown_EventScript_1E7EDB:: @ 81E7EDB +LittlerootTown_EventScript_StepOffTruckMale:: @ 81E7EDB lockall setvar VAR_0x8004, 5 setvar VAR_0x8005, 8 - call LittlerootTown_EventScript_1E7F17 + call LittlerootTown_EventScript_GoInsideWithMom setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_TRUCK warpsilent MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F, 255, 8, 8 waitstate releaseall end -LittlerootTown_EventScript_1E7EF9:: @ 81E7EF9 +LittlerootTown_EventScript_StepOffTruckFemale:: @ 81E7EF9 lockall setvar VAR_0x8004, 14 setvar VAR_0x8005, 8 - call LittlerootTown_EventScript_1E7F17 + call LittlerootTown_EventScript_GoInsideWithMom setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_TRUCK warpsilent MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F, 255, 2, 8 waitstate releaseall end -LittlerootTown_EventScript_1E7F17:: @ 81E7F17 +LittlerootTown_EventScript_GoInsideWithMom:: @ 81E7F17 delay 15 playse SE_DANSA - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E7FAC + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_PlayerStepOffTruck waitmovement 0 opendoor VAR_0x8004, VAR_0x8005 waitdooranim addobject 4 - applymovement 4, LittlerootTown_Movement_1E7F98 + applymovement 4, LittlerootTown_Movement_MomExitHouse waitmovement 0 closedoor VAR_0x8004, VAR_0x8005 waitdooranim delay 10 - applymovement 4, LittlerootTown_Movement_1E7F9A + applymovement 4, LittlerootTown_Movement_MomApproachPlayerAtTruck waitmovement 0 - msgbox LittlerootTown_Text_1E86BC, MSGBOX_DEFAULT + msgbox LittlerootTown_Text_OurNewHomeLetsGoInside, MSGBOX_DEFAULT closemessage - applymovement 4, LittlerootTown_Movement_1E7F9D - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E7FA4 + applymovement 4, LittlerootTown_Movement_MomApproachDoor + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_PlayerApproachDoor waitmovement 0 opendoor VAR_0x8004, VAR_0x8005 waitdooranim - applymovement 4, LittlerootTown_Movement_1E7FA1 - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E7FA9 + applymovement 4, LittlerootTown_Movement_MomEnterHouse + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_PlayerEnterHouse waitmovement 0 setflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE setvar VAR_LITTLEROOT_INTRO_STATE, 3 - hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, 0 closedoor VAR_0x8004, VAR_0x8005 waitdooranim clearflag FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN clearflag FLAG_HIDE_MAP_NAME_POPUP return -LittlerootTown_Movement_1E7F98: @ 81E7F98 +LittlerootTown_Movement_MomExitHouse: @ 81E7F98 walk_down step_end -LittlerootTown_Movement_1E7F9A: @ 81E7F9A +LittlerootTown_Movement_MomApproachPlayerAtTruck: @ 81E7F9A walk_down walk_in_place_fastest_left step_end -LittlerootTown_Movement_1E7F9D: @ 81E7F9D +LittlerootTown_Movement_MomApproachDoor: @ 81E7F9D delay_16 delay_8 walk_up step_end -LittlerootTown_Movement_1E7FA1: @ 81E7FA1 +LittlerootTown_Movement_MomEnterHouse: @ 81E7FA1 walk_up set_invisible step_end -LittlerootTown_Movement_1E7FA4: @ 81E7FA4 +LittlerootTown_Movement_PlayerApproachDoor: @ 81E7FA4 delay_16 delay_8 walk_right walk_in_place_fastest_up step_end -LittlerootTown_Movement_1E7FA9: @ 81E7FA9 +LittlerootTown_Movement_PlayerEnterHouse: @ 81E7FA9 walk_up walk_up step_end -LittlerootTown_Movement_1E7FAC: @ 81E7FAC +LittlerootTown_Movement_PlayerStepOffTruck: @ 81E7FAC jump_right delay_16 delay_16 delay_16 step_end -LittlerootTown_EventScript_1E7FB1:: @ 81E7FB1 +LittlerootTown_EventScript_BeginDexUpgradeScene:: @ 81E7FB1 lockall playse SE_PIN applymovement 8, Common_Movement_ExclamationMark waitmovement 0 delay 80 - msgbox LittlerootTown_Text_1E8DA2, MSGBOX_DEFAULT + msgbox LittlerootTown_Text_BirchSomethingToShowYouAtLab, MSGBOX_DEFAULT closemessage clearflag FLAG_HIDE_LITTLEROOT_TOWN_RIVAL clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCH @@ -200,51 +230,51 @@ LittlerootTown_EventScript_1E7FB1:: @ 81E7FB1 releaseall end -LittlerootTown_MapScript2_1E7FE2: @ 81E7FE2 - map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_EventScript_1E7FEC +LittlerootTown_OnWarp: @ 81E7FE2 + map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_EventScript_SetRivalBirchPosForDexUpgrade .2byte 0 -LittlerootTown_EventScript_1E7FEC:: @ 81E7FEC +LittlerootTown_EventScript_SetRivalBirchPosForDexUpgrade:: @ 81E7FEC addobject 8 addobject 7 checkplayergender - compare VAR_RESULT, 0 - goto_if_eq LittlerootTown_EventScript_1E8004 - goto LittlerootTown_EventScript_1E8013 + compare VAR_RESULT, MALE + goto_if_eq LittlerootTown_EventScript_SetRivalBirchPosForDexUpgradeMale + goto LittlerootTown_EventScript_SetRivalBirchPosForDexUpgradeFemale end -LittlerootTown_EventScript_1E8004:: @ 81E8004 +LittlerootTown_EventScript_SetRivalBirchPosForDexUpgradeMale:: @ 81E8004 setobjectxy 7, 6, 10 setobjectxy 8, 5, 10 end -LittlerootTown_EventScript_1E8013:: @ 81E8013 +LittlerootTown_EventScript_SetRivalBirchPosForDexUpgradeFemale:: @ 81E8013 setobjectxy 7, 13, 10 setobjectxy 8, 14, 10 end -LittlerootTown_EventScript_1E8022:: @ 81E8022 - msgbox LittlerootTown_Text_1E8ACF, MSGBOX_NPC +LittlerootTown_EventScript_FatMan:: @ 81E8022 + msgbox LittlerootTown_Text_CanUsePCToStoreItems, MSGBOX_NPC end -LittlerootTown_EventScript_1E802B:: @ 81E802B - msgbox LittlerootTown_Text_1E8B25, MSGBOX_NPC +LittlerootTown_EventScript_Boy:: @ 81E802B + msgbox LittlerootTown_Text_BirchSpendsDaysInLab, MSGBOX_NPC end -LittlerootTown_EventScript_1E8034:: @ 81E8034 +LittlerootTown_EventScript_Twin:: @ 81E8034 lock faceplayer - goto_if_set FLAG_ADVENTURE_STARTED, LittlerootTown_EventScript_1E8087 - goto_if_set FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_1E807A + goto_if_set FLAG_ADVENTURE_STARTED, LittlerootTown_EventScript_GoodLuck + goto_if_set FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_YouSavedBirch compare VAR_LITTLEROOT_TOWN_STATE, 0 - goto_if_ne LittlerootTown_EventScript_1E805D - msgbox LittlerootTown_Text_1E8BB8, MSGBOX_DEFAULT + goto_if_ne LittlerootTown_EventScript_GoSaveBirch + msgbox LittlerootTown_Text_IfYouGoInGrassPokemonWillJumpOut, MSGBOX_DEFAULT release end -LittlerootTown_EventScript_1E805D:: @ 81E805D +LittlerootTown_EventScript_GoSaveBirch:: @ 81E805D special GetPlayerBigGuyGirlString - msgbox LittlerootTown_Text_1E8C3A, MSGBOX_DEFAULT + msgbox LittlerootTown_Text_CanYouGoSeeWhatsHappening, MSGBOX_DEFAULT closemessage applymovement 1, Common_Movement_FaceOriginalDirection waitmovement 0 @@ -252,38 +282,38 @@ LittlerootTown_EventScript_1E805D:: @ 81E805D release end -LittlerootTown_EventScript_1E807A:: @ 81E807A +LittlerootTown_EventScript_YouSavedBirch:: @ 81E807A special GetPlayerBigGuyGirlString - msgbox LittlerootTown_Text_1E8CE3, MSGBOX_DEFAULT + msgbox LittlerootTown_Text_YouSavedBirch, MSGBOX_DEFAULT release end -LittlerootTown_EventScript_1E8087:: @ 81E8087 - msgbox LittlerootTown_Text_1E8D07, MSGBOX_DEFAULT +LittlerootTown_EventScript_GoodLuck:: @ 81E8087 + msgbox LittlerootTown_Text_GoodLuckCatchingPokemon, MSGBOX_DEFAULT release end -LittlerootTown_EventScript_1E8091:: @ 81E8091 +LittlerootTown_EventScript_NeedPokemonTriggerLeft:: @ 81E8091 lockall - applymovement 1, LittlerootTown_Movement_1E80D1 + applymovement 1, LittlerootTown_Movement_TwinApproachPlayerLeft waitmovement 0 - call LittlerootTown_EventScript_1E80AD - applymovement 1, LittlerootTown_Movement_1E80E1 + call LittlerootTown_EventScript_DangerousWithoutPokemon + applymovement 1, LittlerootTown_Movement_TwinReturnLeft waitmovement 0 releaseall end -LittlerootTown_EventScript_1E80AD:: @ 81E80AD - msgbox LittlerootTown_Text_1E8BB8, MSGBOX_DEFAULT +LittlerootTown_EventScript_DangerousWithoutPokemon:: @ 81E80AD + msgbox LittlerootTown_Text_IfYouGoInGrassPokemonWillJumpOut, MSGBOX_DEFAULT closemessage - applymovement 1, LittlerootTown_Movement_1E80DF - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E80EB + applymovement 1, LittlerootTown_Movement_TwinPushPlayerFromRoute + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_PushPlayerBackFromRoute waitmovement 0 - msgbox LittlerootTown_Text_1E8C07, MSGBOX_DEFAULT + msgbox LittlerootTown_Text_DangerousIfYouDontHavePokemon, MSGBOX_DEFAULT closemessage return -LittlerootTown_Movement_1E80D1: @ 81E80D1 +LittlerootTown_Movement_TwinApproachPlayerLeft: @ 81E80D1 face_right delay_8 disable_jump_landing_ground_effect @@ -299,11 +329,11 @@ LittlerootTown_Movement_1E80D1: @ 81E80D1 face_down step_end -LittlerootTown_Movement_1E80DF: @ 81E80DF +LittlerootTown_Movement_TwinPushPlayerFromRoute: @ 81E80DF walk_down step_end -LittlerootTown_Movement_1E80E1: @ 81E80E1 +LittlerootTown_Movement_TwinReturnLeft: @ 81E80E1 walk_right walk_down walk_down @@ -315,23 +345,23 @@ LittlerootTown_Movement_1E80E1: @ 81E80E1 walk_in_place_fastest_down step_end -LittlerootTown_Movement_1E80EB: @ 81E80EB +LittlerootTown_Movement_PushPlayerBackFromRoute: @ 81E80EB lock_facing_direction walk_down unlock_facing_direction step_end -LittlerootTown_EventScript_1E80EF:: @ 81E80EF +LittlerootTown_EventScript_NeedPokemonTriggerRight:: @ 81E80EF lockall - applymovement 1, LittlerootTown_Movement_1E810B + applymovement 1, LittlerootTown_Movement_TwinApproachPlayerRight waitmovement 0 - call LittlerootTown_EventScript_1E80AD - applymovement 1, LittlerootTown_Movement_1E8118 + call LittlerootTown_EventScript_DangerousWithoutPokemon + applymovement 1, LittlerootTown_Movement_TwinReturnRight waitmovement 0 releaseall end -LittlerootTown_Movement_1E810B: @ 81E810B +LittlerootTown_Movement_TwinApproachPlayerRight: @ 81E810B face_right delay_8 disable_jump_landing_ground_effect @@ -346,7 +376,7 @@ LittlerootTown_Movement_1E810B: @ 81E810B face_down step_end -LittlerootTown_Movement_1E8118: @ 81E8118 +LittlerootTown_Movement_TwinReturnRight: @ 81E8118 walk_left walk_down walk_left @@ -355,14 +385,14 @@ LittlerootTown_Movement_1E8118: @ 81E8118 walk_in_place_fastest_down step_end -LittlerootTown_EventScript_1E811F:: @ 81E811F +LittlerootTown_EventScript_GoSaveBirchTrigger:: @ 81E811F lockall - applymovement 1, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 special GetPlayerBigGuyGirlString - msgbox LittlerootTown_Text_1E8C3A, MSGBOX_DEFAULT + msgbox LittlerootTown_Text_CanYouGoSeeWhatsHappening, MSGBOX_DEFAULT closemessage applymovement 1, Common_Movement_FaceOriginalDirection waitmovement 0 @@ -370,372 +400,372 @@ LittlerootTown_EventScript_1E811F:: @ 81E811F releaseall end -LittlerootTown_EventScript_1E8151:: @ 81E8151 - msgbox LittlerootTown_Text_1E8D32, MSGBOX_SIGN +LittlerootTown_EventScript_TownSign:: @ 81E8151 + msgbox LittlerootTown_Text_TownSign, MSGBOX_SIGN end -LittlerootTown_EventScript_1E815A:: @ 81E815A - msgbox LittlerootTown_Text_1E8D69, MSGBOX_SIGN +LittlerootTown_EventScript_BirchsLabSign:: @ 81E815A + msgbox LittlerootTown_Text_ProfBirchsLab, MSGBOX_SIGN end -LittlerootTown_EventScript_1E8163:: @ 81E8163 +LittlerootTown_EventScript_BrendansHouseSign:: @ 81E8163 lockall checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_EventScript_1E817D + call_if_eq LittlerootTown_EventScript_PlayersHouseSignMale compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_EventScript_1E8186 + call_if_eq LittlerootTown_EventScript_BirchsHouseSignFemale releaseall end -LittlerootTown_EventScript_1E817D:: @ 81E817D - msgbox LittlerootTown_Text_1E8D83, MSGBOX_DEFAULT +LittlerootTown_EventScript_PlayersHouseSignMale:: @ 81E817D + msgbox LittlerootTown_Text_PlayersHouse, MSGBOX_DEFAULT return -LittlerootTown_EventScript_1E8186:: @ 81E8186 - msgbox LittlerootTown_Text_1E8D8E, MSGBOX_DEFAULT +LittlerootTown_EventScript_BirchsHouseSignFemale:: @ 81E8186 + msgbox LittlerootTown_Text_ProfBirchsHouse, MSGBOX_DEFAULT return -LittlerootTown_EventScript_1E818F:: @ 81E818F +LittlerootTown_EventScript_MaysHouseSign:: @ 81E818F lockall checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_EventScript_1E81A9 + call_if_eq LittlerootTown_EventScript_BirchsHouseSignMale compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_EventScript_1E81B2 + call_if_eq LittlerootTown_EventScript_PlayersHouseSignFemale releaseall end -LittlerootTown_EventScript_1E81A9:: @ 81E81A9 - msgbox LittlerootTown_Text_1E8D8E, MSGBOX_DEFAULT +LittlerootTown_EventScript_BirchsHouseSignMale:: @ 81E81A9 + msgbox LittlerootTown_Text_ProfBirchsHouse, MSGBOX_DEFAULT return -LittlerootTown_EventScript_1E81B2:: @ 81E81B2 - msgbox LittlerootTown_Text_1E8D83, MSGBOX_DEFAULT +LittlerootTown_EventScript_PlayersHouseSignFemale:: @ 81E81B2 + msgbox LittlerootTown_Text_PlayersHouse, MSGBOX_DEFAULT return -LittlerootTown_EventScript_1E81BB:: @ 81E81BB +LittlerootTown_EventScript_GiveRunningShoesTrigger0:: @ 81E81BB lockall setvar VAR_0x8008, 0 setobjectxy 4, 10, 9 - goto LittlerootTown_EventScript_1E8211 + goto LittlerootTown_EventScript_GiveRunningShoesTrigger end -LittlerootTown_EventScript_1E81CE:: @ 81E81CE +LittlerootTown_EventScript_GiveRunningShoesTrigger1:: @ 81E81CE lockall setvar VAR_0x8008, 1 setobjectxy 4, 11, 9 - goto LittlerootTown_EventScript_1E8211 + goto LittlerootTown_EventScript_GiveRunningShoesTrigger end -LittlerootTown_EventScript_1E81E1:: @ 81E81E1 +LittlerootTown_EventScript_GiveRunningShoesTrigger2:: @ 81E81E1 lockall setvar VAR_0x8008, 2 - goto LittlerootTown_EventScript_1E8211 + goto LittlerootTown_EventScript_GiveRunningShoesTrigger end -LittlerootTown_EventScript_1E81ED:: @ 81E81ED +LittlerootTown_EventScript_GiveRunningShoesTrigger3:: @ 81E81ED lockall setvar VAR_0x8008, 3 - goto LittlerootTown_EventScript_1E8211 + goto LittlerootTown_EventScript_GiveRunningShoesTrigger end -LittlerootTown_EventScript_1E81F9:: @ 81E81F9 +LittlerootTown_EventScript_GiveRunningShoesTrigger4:: @ 81E81F9 lockall setvar VAR_0x8008, 4 - goto LittlerootTown_EventScript_1E8211 + goto LittlerootTown_EventScript_GiveRunningShoesTrigger end -LittlerootTown_EventScript_1E8205:: @ 81E8205 +LittlerootTown_EventScript_GiveRunningShoesTrigger5:: @ 81E8205 lockall setvar VAR_0x8008, 5 - goto LittlerootTown_EventScript_1E8211 + goto LittlerootTown_EventScript_GiveRunningShoesTrigger end -LittlerootTown_EventScript_1E8211:: @ 81E8211 +LittlerootTown_EventScript_GiveRunningShoesTrigger:: @ 81E8211 checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_EventScript_1E8297 + call_if_eq LittlerootTown_EventScript_MomNoticePlayerMale compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_EventScript_1E82A2 + call_if_eq LittlerootTown_EventScript_MomNoticePlayerFemale checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_EventScript_1E8281 + call_if_eq LittlerootTown_EventScript_SetHomeDoorCoordsMale compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_EventScript_1E828C - msgbox LittlerootTown_Text_1E87E1, MSGBOX_DEFAULT + call_if_eq LittlerootTown_EventScript_SetHomeDoorCoordsFemale + msgbox LittlerootTown_Text_WaitPlayer, MSGBOX_DEFAULT closemessage checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_EventScript_1E82AD + call_if_eq LittlerootTown_EventScript_MomApproachPlayerMale compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_EventScript_1E82F0 - call LittlerootTown_EventScript_1E8693 + call_if_eq LittlerootTown_EventScript_MomApproachPlayerFemale + call LittlerootTown_EventScript_GiveRunningShoes checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_EventScript_1E8405 + call_if_eq LittlerootTown_EventScript_MomReturnHomeMale compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_EventScript_1E8448 - goto LittlerootTown_EventScript_1E8686 + call_if_eq LittlerootTown_EventScript_MomReturnHomeFemale + goto LittlerootTown_EventScript_SetReceivedRunningShoes end -LittlerootTown_EventScript_1E8281:: @ 81E8281 +LittlerootTown_EventScript_SetHomeDoorCoordsMale:: @ 81E8281 setvar VAR_0x8009, 5 setvar VAR_0x800A, 8 return -LittlerootTown_EventScript_1E828C:: @ 81E828C +LittlerootTown_EventScript_SetHomeDoorCoordsFemale:: @ 81E828C setvar VAR_0x8009, 14 setvar VAR_0x800A, 8 return -LittlerootTown_EventScript_1E8297:: @ 81E8297 - applymovement 4, Common_Movement_WalkInPlaceRight +LittlerootTown_EventScript_MomNoticePlayerMale:: @ 81E8297 + applymovement 4, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -LittlerootTown_EventScript_1E82A2:: @ 81E82A2 - applymovement 4, Common_Movement_WalkInPlaceLeft +LittlerootTown_EventScript_MomNoticePlayerFemale:: @ 81E82A2 + applymovement 4, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -LittlerootTown_EventScript_1E82AD:: @ 81E82AD +LittlerootTown_EventScript_MomApproachPlayerMale:: @ 81E82AD compare VAR_0x8008, 0 - call_if_eq LittlerootTown_EventScript_1E8333 + call_if_eq LittlerootTown_EventScript_MomApproachPlayer0 compare VAR_0x8008, 1 - call_if_eq LittlerootTown_EventScript_1E8348 + call_if_eq LittlerootTown_EventScript_MomApproachPlayer1 compare VAR_0x8008, 2 - call_if_eq LittlerootTown_EventScript_1E835D + call_if_eq LittlerootTown_EventScript_MomApproachPlayerMale2 compare VAR_0x8008, 3 - call_if_eq LittlerootTown_EventScript_1E8372 + call_if_eq LittlerootTown_EventScript_MomApproachPlayerMale3 compare VAR_0x8008, 4 - call_if_eq LittlerootTown_EventScript_1E8387 + call_if_eq LittlerootTown_EventScript_MomApproachPlayerMale4 compare VAR_0x8008, 5 - call_if_eq LittlerootTown_EventScript_1E839C + call_if_eq LittlerootTown_EventScript_MomApproachPlayerMale5 return -LittlerootTown_EventScript_1E82F0:: @ 81E82F0 +LittlerootTown_EventScript_MomApproachPlayerFemale:: @ 81E82F0 compare VAR_0x8008, 0 - call_if_eq LittlerootTown_EventScript_1E8333 + call_if_eq LittlerootTown_EventScript_MomApproachPlayer0 compare VAR_0x8008, 1 - call_if_eq LittlerootTown_EventScript_1E8348 + call_if_eq LittlerootTown_EventScript_MomApproachPlayer1 compare VAR_0x8008, 2 - call_if_eq LittlerootTown_EventScript_1E83B1 + call_if_eq LittlerootTown_EventScript_MomApproachPlayerFemale2 compare VAR_0x8008, 3 - call_if_eq LittlerootTown_EventScript_1E83C6 + call_if_eq LittlerootTown_EventScript_MomApproachPlayerFemale3 compare VAR_0x8008, 4 - call_if_eq LittlerootTown_EventScript_1E83DB + call_if_eq LittlerootTown_EventScript_MomApproachPlayerFemale4 compare VAR_0x8008, 5 - call_if_eq LittlerootTown_EventScript_1E83F0 + call_if_eq LittlerootTown_EventScript_MomApproachPlayerFemale5 return -LittlerootTown_EventScript_1E8333:: @ 81E8333 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown +LittlerootTown_EventScript_MomApproachPlayer0:: @ 81E8333 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - applymovement 4, LittlerootTown_Movement_1E85D1 + applymovement 4, LittlerootTown_Movement_MomApproachPlayer0 waitmovement 0 return -LittlerootTown_EventScript_1E8348:: @ 81E8348 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown +LittlerootTown_EventScript_MomApproachPlayer1:: @ 81E8348 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - applymovement 4, LittlerootTown_Movement_1E85D8 + applymovement 4, LittlerootTown_Movement_MomApproachPlayer1 waitmovement 0 return -LittlerootTown_EventScript_1E835D:: @ 81E835D - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft +LittlerootTown_EventScript_MomApproachPlayerMale2:: @ 81E835D + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - applymovement 4, LittlerootTown_Movement_1E85DF + applymovement 4, LittlerootTown_Movement_MomApproachPlayerMale2 waitmovement 0 return -LittlerootTown_EventScript_1E8372:: @ 81E8372 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft +LittlerootTown_EventScript_MomApproachPlayerMale3:: @ 81E8372 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - applymovement 4, LittlerootTown_Movement_1E85E4 + applymovement 4, LittlerootTown_Movement_MomApproachPlayerMale3 waitmovement 0 return -LittlerootTown_EventScript_1E8387:: @ 81E8387 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft +LittlerootTown_EventScript_MomApproachPlayerMale4:: @ 81E8387 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - applymovement 4, LittlerootTown_Movement_1E85EA + applymovement 4, LittlerootTown_Movement_MomApproachPlayerMale4 waitmovement 0 return -LittlerootTown_EventScript_1E839C:: @ 81E839C - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft +LittlerootTown_EventScript_MomApproachPlayerMale5:: @ 81E839C + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - applymovement 4, LittlerootTown_Movement_1E85ED + applymovement 4, LittlerootTown_Movement_MomApproachPlayerMale5 waitmovement 0 return -LittlerootTown_EventScript_1E83B1:: @ 81E83B1 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight +LittlerootTown_EventScript_MomApproachPlayerFemale2:: @ 81E83B1 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - applymovement 4, LittlerootTown_Movement_1E85F1 + applymovement 4, LittlerootTown_Movement_MomApproachPlayerFemale2 waitmovement 0 return -LittlerootTown_EventScript_1E83C6:: @ 81E83C6 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight +LittlerootTown_EventScript_MomApproachPlayerFemale3:: @ 81E83C6 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - applymovement 4, LittlerootTown_Movement_1E85F5 + applymovement 4, LittlerootTown_Movement_MomApproachPlayerFemale3 waitmovement 0 return -LittlerootTown_EventScript_1E83DB:: @ 81E83DB - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight +LittlerootTown_EventScript_MomApproachPlayerFemale4:: @ 81E83DB + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - applymovement 4, LittlerootTown_Movement_1E85F8 + applymovement 4, LittlerootTown_Movement_MomApproachPlayerFemale4 waitmovement 0 return -LittlerootTown_EventScript_1E83F0:: @ 81E83F0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight +LittlerootTown_EventScript_MomApproachPlayerFemale5:: @ 81E83F0 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - applymovement 4, LittlerootTown_Movement_1E85FE + applymovement 4, LittlerootTown_Movement_MomApproachPlayerFemale5 waitmovement 0 return -LittlerootTown_EventScript_1E8405:: @ 81E8405 +LittlerootTown_EventScript_MomReturnHomeMale:: @ 81E8405 compare VAR_0x8008, 0 - call_if_eq LittlerootTown_EventScript_1E848B + call_if_eq LittlerootTown_EventScript_MomReturnHome0 compare VAR_0x8008, 1 - call_if_eq LittlerootTown_EventScript_1E8496 + call_if_eq LittlerootTown_EventScript_MomReturnHome1 compare VAR_0x8008, 2 - call_if_eq LittlerootTown_EventScript_1E84A1 + call_if_eq LittlerootTown_EventScript_MomReturnHomeMale2 compare VAR_0x8008, 3 - call_if_eq LittlerootTown_EventScript_1E84C7 + call_if_eq LittlerootTown_EventScript_MomReturnHomeMale3 compare VAR_0x8008, 4 - call_if_eq LittlerootTown_EventScript_1E84ED + call_if_eq LittlerootTown_EventScript_MomReturnHomeMale4 compare VAR_0x8008, 5 - call_if_eq LittlerootTown_EventScript_1E8513 + call_if_eq LittlerootTown_EventScript_MomReturnHomeMale5 return -LittlerootTown_EventScript_1E8448:: @ 81E8448 +LittlerootTown_EventScript_MomReturnHomeFemale:: @ 81E8448 compare VAR_0x8008, 0 - call_if_eq LittlerootTown_EventScript_1E848B + call_if_eq LittlerootTown_EventScript_MomReturnHome0 compare VAR_0x8008, 1 - call_if_eq LittlerootTown_EventScript_1E8496 + call_if_eq LittlerootTown_EventScript_MomReturnHome1 compare VAR_0x8008, 2 - call_if_eq LittlerootTown_EventScript_1E8539 + call_if_eq LittlerootTown_EventScript_MomReturnHomeFemale2 compare VAR_0x8008, 3 - call_if_eq LittlerootTown_EventScript_1E855F + call_if_eq LittlerootTown_EventScript_MomReturnHomeFemale3 compare VAR_0x8008, 4 - call_if_eq LittlerootTown_EventScript_1E8585 + call_if_eq LittlerootTown_EventScript_MomReturnHomeFemale4 compare VAR_0x8008, 5 - call_if_eq LittlerootTown_EventScript_1E85AB + call_if_eq LittlerootTown_EventScript_MomReturnHomeFemale5 return -LittlerootTown_EventScript_1E848B:: @ 81E848B - applymovement 4, LittlerootTown_Movement_1E8603 +LittlerootTown_EventScript_MomReturnHome0:: @ 81E848B + applymovement 4, LittlerootTown_Movement_MomReturnHome0 waitmovement 0 return -LittlerootTown_EventScript_1E8496:: @ 81E8496 - applymovement 4, LittlerootTown_Movement_1E8609 +LittlerootTown_EventScript_MomReturnHome1:: @ 81E8496 + applymovement 4, LittlerootTown_Movement_MomReturnHome1 waitmovement 0 return -LittlerootTown_EventScript_1E84A1:: @ 81E84A1 - applymovement 4, LittlerootTown_Movement_1E860F +LittlerootTown_EventScript_MomReturnHomeMale2:: @ 81E84A1 + applymovement 4, LittlerootTown_Movement_MomReturnHomeMale2 waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement 4, LittlerootTown_Movement_1E863B + applymovement 4, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 hideobjectat 4, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim return -LittlerootTown_EventScript_1E84C7:: @ 81E84C7 - applymovement 4, LittlerootTown_Movement_1E8615 +LittlerootTown_EventScript_MomReturnHomeMale3:: @ 81E84C7 + applymovement 4, LittlerootTown_Movement_MomReturnHomeMale3 waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement 4, LittlerootTown_Movement_1E863B + applymovement 4, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 hideobjectat 4, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim return -LittlerootTown_EventScript_1E84ED:: @ 81E84ED - applymovement 4, LittlerootTown_Movement_1E861C +LittlerootTown_EventScript_MomReturnHomeMale4:: @ 81E84ED + applymovement 4, LittlerootTown_Movement_MomReturnHomeMale4 waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement 4, LittlerootTown_Movement_1E863B + applymovement 4, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 hideobjectat 4, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim return -LittlerootTown_EventScript_1E8513:: @ 81E8513 - applymovement 4, LittlerootTown_Movement_1E8620 +LittlerootTown_EventScript_MomReturnHomeMale5:: @ 81E8513 + applymovement 4, LittlerootTown_Movement_MomReturnHomeMale5 waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement 4, LittlerootTown_Movement_1E863B + applymovement 4, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 hideobjectat 4, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim return -LittlerootTown_EventScript_1E8539:: @ 81E8539 - applymovement 4, LittlerootTown_Movement_1E8625 +LittlerootTown_EventScript_MomReturnHomeFemale2:: @ 81E8539 + applymovement 4, LittlerootTown_Movement_MomReturnHomeFemale2 waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement 4, LittlerootTown_Movement_1E863B + applymovement 4, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 hideobjectat 4, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim return -LittlerootTown_EventScript_1E855F:: @ 81E855F - applymovement 4, LittlerootTown_Movement_1E862A +LittlerootTown_EventScript_MomReturnHomeFemale3:: @ 81E855F + applymovement 4, LittlerootTown_Movement_MomReturnHomeFemale3 waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement 4, LittlerootTown_Movement_1E863B + applymovement 4, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 hideobjectat 4, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim return -LittlerootTown_EventScript_1E8585:: @ 81E8585 - applymovement 4, LittlerootTown_Movement_1E862E +LittlerootTown_EventScript_MomReturnHomeFemale4:: @ 81E8585 + applymovement 4, LittlerootTown_Movement_MomReturnHomeFemale4 waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement 4, LittlerootTown_Movement_1E863B + applymovement 4, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 hideobjectat 4, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim return -LittlerootTown_EventScript_1E85AB:: @ 81E85AB - applymovement 4, LittlerootTown_Movement_1E8635 +LittlerootTown_EventScript_MomReturnHomeFemale5:: @ 81E85AB + applymovement 4, LittlerootTown_Movement_MomReturnHomeFemale5 waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement 4, LittlerootTown_Movement_1E863B + applymovement 4, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 hideobjectat 4, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim return -LittlerootTown_Movement_1E85D1: @ 81E85D1 +LittlerootTown_Movement_MomApproachPlayer0: @ 81E85D1 walk_up walk_up walk_up @@ -744,7 +774,7 @@ LittlerootTown_Movement_1E85D1: @ 81E85D1 walk_up step_end -LittlerootTown_Movement_1E85D8: @ 81E85D8 +LittlerootTown_Movement_MomApproachPlayer1: @ 81E85D8 walk_up walk_up walk_up @@ -753,14 +783,14 @@ LittlerootTown_Movement_1E85D8: @ 81E85D8 walk_up step_end -LittlerootTown_Movement_1E85DF: @ 81E85DF +LittlerootTown_Movement_MomApproachPlayerMale2: @ 81E85DF walk_right walk_right walk_right walk_right step_end -LittlerootTown_Movement_1E85E4: @ 81E85E4 +LittlerootTown_Movement_MomApproachPlayerMale3: @ 81E85E4 walk_right walk_right walk_right @@ -768,29 +798,29 @@ LittlerootTown_Movement_1E85E4: @ 81E85E4 walk_right step_end -LittlerootTown_Movement_1E85EA: @ 81E85EA +LittlerootTown_Movement_MomApproachPlayerMale4: @ 81E85EA walk_right walk_right step_end -LittlerootTown_Movement_1E85ED: @ 81E85ED +LittlerootTown_Movement_MomApproachPlayerMale5: @ 81E85ED walk_right walk_right walk_right step_end -LittlerootTown_Movement_1E85F1: @ 81E85F1 +LittlerootTown_Movement_MomApproachPlayerFemale2: @ 81E85F1 walk_left walk_left walk_left step_end -LittlerootTown_Movement_1E85F5: @ 81E85F5 +LittlerootTown_Movement_MomApproachPlayerFemale3: @ 81E85F5 walk_left walk_left step_end -LittlerootTown_Movement_1E85F8: @ 81E85F8 +LittlerootTown_Movement_MomApproachPlayerFemale4: @ 81E85F8 walk_left walk_left walk_left @@ -798,14 +828,14 @@ LittlerootTown_Movement_1E85F8: @ 81E85F8 walk_left step_end -LittlerootTown_Movement_1E85FE: @ 81E85FE +LittlerootTown_Movement_MomApproachPlayerFemale5: @ 81E85FE walk_left walk_left walk_left walk_left step_end -LittlerootTown_Movement_1E8603: @ 81E8603 +LittlerootTown_Movement_MomReturnHome0: @ 81E8603 walk_down walk_down walk_down @@ -813,7 +843,7 @@ LittlerootTown_Movement_1E8603: @ 81E8603 walk_down step_end -LittlerootTown_Movement_1E8609: @ 81E8609 +LittlerootTown_Movement_MomReturnHome1: @ 81E8609 walk_down walk_down walk_down @@ -821,7 +851,7 @@ LittlerootTown_Movement_1E8609: @ 81E8609 walk_down step_end -LittlerootTown_Movement_1E860F: @ 81E860F +LittlerootTown_Movement_MomReturnHomeMale2: @ 81E860F walk_left walk_left walk_left @@ -829,7 +859,7 @@ LittlerootTown_Movement_1E860F: @ 81E860F walk_in_place_fastest_up step_end -LittlerootTown_Movement_1E8615: @ 81E8615 +LittlerootTown_Movement_MomReturnHomeMale3: @ 81E8615 walk_left walk_left walk_left @@ -838,33 +868,33 @@ LittlerootTown_Movement_1E8615: @ 81E8615 walk_in_place_fastest_up step_end -LittlerootTown_Movement_1E861C: @ 81E861C +LittlerootTown_Movement_MomReturnHomeMale4: @ 81E861C walk_left walk_left walk_in_place_fastest_up step_end -LittlerootTown_Movement_1E8620: @ 81E8620 +LittlerootTown_Movement_MomReturnHomeMale5: @ 81E8620 walk_left walk_left walk_left walk_in_place_fastest_up step_end -LittlerootTown_Movement_1E8625: @ 81E8625 +LittlerootTown_Movement_MomReturnHomeFemale2: @ 81E8625 walk_right walk_right walk_right walk_in_place_fastest_up step_end -LittlerootTown_Movement_1E862A: @ 81E862A +LittlerootTown_Movement_MomReturnHomeFemale3: @ 81E862A walk_right walk_right walk_in_place_fastest_up step_end -LittlerootTown_Movement_1E862E: @ 81E862E +LittlerootTown_Movement_MomReturnHomeFemale4: @ 81E862E walk_right walk_right walk_right @@ -873,7 +903,7 @@ LittlerootTown_Movement_1E862E: @ 81E862E walk_in_place_fastest_up step_end -LittlerootTown_Movement_1E8635: @ 81E8635 +LittlerootTown_Movement_MomReturnHomeFemale5: @ 81E8635 walk_right walk_right walk_right @@ -881,51 +911,51 @@ LittlerootTown_Movement_1E8635: @ 81E8635 walk_in_place_fastest_up step_end -LittlerootTown_Movement_1E863B: @ 81E863B +LittlerootTown_Movement_MomExitThroughDoor: @ 81E863B walk_up step_end -LittlerootTown_EventScript_1E863D:: @ 81E863D +LittlerootTown_EventScript_Mom:: @ 81E863D lock faceplayer checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_EventScript_1E8281 + call_if_eq LittlerootTown_EventScript_SetHomeDoorCoordsMale compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_EventScript_1E828C - call LittlerootTown_EventScript_1E8693 - applymovement 4, Common_Movement_WalkInPlaceUp + call_if_eq LittlerootTown_EventScript_SetHomeDoorCoordsFemale + call LittlerootTown_EventScript_GiveRunningShoes + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement 4, LittlerootTown_Movement_1E863B + applymovement 4, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 hideobjectat 4, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim - goto LittlerootTown_EventScript_1E8686 + goto LittlerootTown_EventScript_SetReceivedRunningShoes end -LittlerootTown_EventScript_1E8686:: @ 81E8686 +LittlerootTown_EventScript_SetReceivedRunningShoes:: @ 81E8686 removeobject 4 setflag FLAG_SYS_B_DASH setvar VAR_LITTLEROOT_TOWN_STATE, 4 release end -LittlerootTown_EventScript_1E8693:: @ 81E8693 - msgbox LittlerootTown_Text_1E87F0, MSGBOX_DEFAULT +LittlerootTown_EventScript_GiveRunningShoes:: @ 81E8693 + msgbox LittlerootTown_Text_WearTheseRunningShoes, MSGBOX_DEFAULT playfanfare MUS_FANFA4 - message LittlerootTown_Text_1E8925 + message LittlerootTown_Text_SwitchShoesWithRunningShoes waitfanfare setflag FLAG_RECEIVED_RUNNING_SHOES - msgbox LittlerootTown_Text_1E894F, MSGBOX_DEFAULT - msgbox LittlerootTown_Text_1E8A03, MSGBOX_DEFAULT + msgbox LittlerootTown_Text_ExplainRunningShoes, MSGBOX_DEFAULT + msgbox LittlerootTown_Text_ComeHomeIfAnythingHappens, MSGBOX_DEFAULT closemessage delay 30 return -LittlerootTown_Text_1E86BC: @ 81E86BC +LittlerootTown_Text_OurNewHomeLetsGoInside: @ 81E86BC .string "MOM: {PLAYER}, we're here, honey!\p" .string "It must be tiring riding with our things\n" .string "in the moving truck.\p" @@ -937,10 +967,10 @@ LittlerootTown_Text_1E86BC: @ 81E86BC .string "And, you get your own room, {PLAYER}!\n" .string "Let's go inside.$" -LittlerootTown_Text_1E87E1: @ 81E87E1 +LittlerootTown_Text_WaitPlayer: @ 81E87E1 .string "MOM: Wait, {PLAYER}!$" -LittlerootTown_Text_1E87F0: @ 81E87F0 +LittlerootTown_Text_WearTheseRunningShoes: @ 81E87F0 .string "MOM: {PLAYER}! {PLAYER}! Did you\n" .string "introduce yourself to PROF. BIRCH?\p" .string "Oh! What an adorable POKéMON!\n" @@ -951,11 +981,11 @@ LittlerootTown_Text_1E87F0: @ 81E87F0 .string "adventure, wear these RUNNING SHOES.\p" .string "They'll put a zip in your step!$" -LittlerootTown_Text_1E8925: @ 81E8925 +LittlerootTown_Text_SwitchShoesWithRunningShoes: @ 81E8925 .string "{PLAYER} switched shoes with the\n" .string "RUNNING SHOES.$" -LittlerootTown_Text_1E894F: @ 81E894F +LittlerootTown_Text_ExplainRunningShoes: @ 81E894F .string "MOM: {PLAYER}, those shoes came with\n" .string "instructions.\p" .string "“Press the B Button while wearing these\n" @@ -963,7 +993,7 @@ LittlerootTown_Text_1E894F: @ 81E894F .string "“Slip on these RUNNING SHOES and race\n" .string "in the great outdoors!”$" -LittlerootTown_Text_1E8A03: @ 81E8A03 +LittlerootTown_Text_ComeHomeIfAnythingHappens: @ 81E8A03 .string "… … … … … … … …\n" .string "… … … … … … … …\p" .string "To think that you have your very own\n" @@ -973,28 +1003,28 @@ LittlerootTown_Text_1E8A03: @ 81E8A03 .string "If anything happens, you can come home.\p" .string "Go on, go get them, honey!$" -LittlerootTown_Text_1E8ACF: @ 81E8ACF +LittlerootTown_Text_CanUsePCToStoreItems: @ 81E8ACF .string "If you use a PC, you can store items\n" .string "and POKéMON.\p" .string "The power of science is staggering!$" -LittlerootTown_Text_1E8B25: @ 81E8B25 +LittlerootTown_Text_BirchSpendsDaysInLab: @ 81E8B25 .string "PROF. BIRCH spends days in his LAB\n" .string "studying, then he'll suddenly go out in\l" .string "the wild to do more research…\p" .string "When does PROF. BIRCH spend time\n" .string "at home?$" -LittlerootTown_Text_1E8BB8: @ 81E8BB8 +LittlerootTown_Text_IfYouGoInGrassPokemonWillJumpOut: @ 81E8BB8 .string "Um, um, um!\p" .string "If you go outside and go in the grass,\n" .string "wild POKéMON will jump out!$" -LittlerootTown_Text_1E8C07: @ 81E8C07 +LittlerootTown_Text_DangerousIfYouDontHavePokemon: @ 81E8C07 .string "It's dangerous if you don't have\n" .string "your own POKéMON.$" -LittlerootTown_Text_1E8C3A: @ 81E8C3A +LittlerootTown_Text_CanYouGoSeeWhatsHappening: @ 81E8C3A .string "Um, hi!\p" .string "There are scary POKéMON outside!\n" .string "I can hear their cries!\p" @@ -1003,28 +1033,28 @@ LittlerootTown_Text_1E8C3A: @ 81E8C3A .string "Can you go see what's happening\n" .string "for me?$" -LittlerootTown_Text_1E8CE3: @ 81E8CE3 +LittlerootTown_Text_YouSavedBirch: @ 81E8CE3 .string "You saved PROF. BIRCH!\n" .string "I'm so glad!$" -LittlerootTown_Text_1E8D07: @ 81E8D07 +LittlerootTown_Text_GoodLuckCatchingPokemon: @ 81E8D07 .string "Are you going to catch POKéMON?\n" .string "Good luck!$" -LittlerootTown_Text_1E8D32: @ 81E8D32 +LittlerootTown_Text_TownSign: @ 81E8D32 .string "LITTLEROOT TOWN\n" .string "“A town that can't be shaded any hue.”$" -LittlerootTown_Text_1E8D69: @ 81E8D69 +LittlerootTown_Text_ProfBirchsLab: @ 81E8D69 .string "PROF. BIRCH'S POKéMON LAB$" -LittlerootTown_Text_1E8D83: @ 81E8D83 +LittlerootTown_Text_PlayersHouse: @ 81E8D83 .string "{PLAYER}'s HOUSE$" -LittlerootTown_Text_1E8D8E: @ 81E8D8E +LittlerootTown_Text_ProfBirchsHouse: @ 81E8D8E .string "PROF. BIRCH'S HOUSE$" -LittlerootTown_Text_1E8DA2: @ 81E8DA2 +LittlerootTown_Text_BirchSomethingToShowYouAtLab: @ 81E8DA2 .string "PROF. BIRCH: Well, well, {PLAYER}{KUN}!\n" .string "That was good work out there!\p" .string "I knew there was something special\n" diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/map.json b/data/maps/LittlerootTown_BrendansHouse_1F/map.json index d6d4af86c3..8b0c762f94 100644 --- a/data/maps/LittlerootTown_BrendansHouse_1F/map.json +++ b/data/maps/LittlerootTown_BrendansHouse_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_BrendansHouse_1F_EventScript_2929C5", + "script": "PlayersHouse_1F_EventScript_Mom", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_MOM" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_BrendansHouse_1F_EventScript_292ACD", + "script": "PlayersHouse_1F_EventScript_Vigoroth2", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_BrendansHouse_1F_EventScript_292ABA", + "script": "PlayersHouse_1F_EventScript_Vigoroth1", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_1" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_BrendansHouse_1F_EventScript_1F89F3", + "script": "RivalsHouse_1F_EventScript_RivalMom", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_MOM" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_BrendansHouse_1F_EventScript_1F8A3D", + "script": "RivalsHouse_1F_EventScript_RivalSibling", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING" }, { @@ -137,7 +137,7 @@ "elevation": 0, "var": "VAR_LITTLEROOT_INTRO_STATE", "var_value": "4", - "script": "LittlerootTown_BrendansHouse_1F_EventScript_1F78A3" + "script": "LittlerootTown_BrendansHouse_1F_EventScript_GoSeeRoom" }, { "type": "trigger", @@ -146,7 +146,7 @@ "elevation": 0, "var": "VAR_LITTLEROOT_RIVAL_STATE", "var_value": "2", - "script": "LittlerootTown_BrendansHouse_1F_EventScript_1F78BE" + "script": "LittlerootTown_BrendansHouse_1F_EventScript_MeetRival0" }, { "type": "trigger", @@ -155,7 +155,7 @@ "elevation": 0, "var": "VAR_LITTLEROOT_RIVAL_STATE", "var_value": "2", - "script": "LittlerootTown_BrendansHouse_1F_EventScript_1F78CA" + "script": "LittlerootTown_BrendansHouse_1F_EventScript_MeetRival1" }, { "type": "trigger", @@ -164,7 +164,7 @@ "elevation": 0, "var": "VAR_LITTLEROOT_RIVAL_STATE", "var_value": "2", - "script": "LittlerootTown_BrendansHouse_1F_EventScript_1F78D6" + "script": "LittlerootTown_BrendansHouse_1F_EventScript_MeetRival2" } ], "bg_events": [] diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc index 17cca3ea9d..ee8d67cd99 100644 --- a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc +++ b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc @@ -1,110 +1,112 @@ LittlerootTown_BrendansHouse_1F_MapScripts:: @ 81F7755 - map_script MAP_SCRIPT_ON_LOAD, LittlerootTown_BrendansHouse_1F_MapScript1_1F7765 - map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_BrendansHouse_1F_MapScript1_1F77A4 - map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_BrendansHouse_1F_MapScript2_1F77EA + map_script MAP_SCRIPT_ON_LOAD, LittlerootTown_BrendansHouse_1F_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_BrendansHouse_1F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_BrendansHouse_1F_OnFrame .byte 0 -LittlerootTown_BrendansHouse_1F_MapScript1_1F7765: @ 81F7765 +LittlerootTown_BrendansHouse_1F_OnLoad: @ 81F7765 compare VAR_LITTLEROOT_INTRO_STATE, 6 - call_if_lt LittlerootTown_BrendansHouse_1F_EventScript_1F777A - call_if_set FLAG_RECEIVED_RUNNING_SHOES, LittlerootTown_BrendansHouse_1F_EventScript_1F778D + call_if_lt LittlerootTown_BrendansHouse_1F_EventScript_SetMovingBoxes + call_if_set FLAG_RECEIVED_RUNNING_SHOES, LittlerootTown_BrendansHouse_1F_EventScript_CheckShowShoesManual end -LittlerootTown_BrendansHouse_1F_EventScript_1F777A:: @ 81F777A +LittlerootTown_BrendansHouse_1F_EventScript_SetMovingBoxes:: @ 81F777A setmetatile 5, 4, METATILE_BrendansMaysHouse_MovingBox_Open, 1 setmetatile 5, 2, METATILE_BrendansMaysHouse_MovingBox_Closed, 1 return -LittlerootTown_BrendansHouse_1F_EventScript_1F778D:: @ 81F778D +LittlerootTown_BrendansHouse_1F_EventScript_CheckShowShoesManual:: @ 81F778D checkplayergender - compare VAR_RESULT, 0 - goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F779A + compare VAR_RESULT, MALE + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_ShowRunningShoesManual return -LittlerootTown_BrendansHouse_1F_EventScript_1F779A:: @ 81F779A +LittlerootTown_BrendansHouse_1F_EventScript_ShowRunningShoesManual:: @ 81F779A setmetatile 3, 7, METATILE_BrendansMaysHouse_BookOnTable, 1 return -LittlerootTown_BrendansHouse_1F_MapScript1_1F77A4: @ 81F77A4 +LittlerootTown_BrendansHouse_1F_OnTransition: @ 81F77A4 compare VAR_LITTLEROOT_INTRO_STATE, 3 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F77DE + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToDoor compare VAR_LITTLEROOT_INTRO_STATE, 5 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F77C6 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToStairs compare VAR_LITTLEROOT_INTRO_STATE, 6 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F77D2 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToTV end -LittlerootTown_BrendansHouse_1F_EventScript_1F77C6:: @ 81F77C6 +LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToStairs:: @ 81F77C6 setobjectxyperm 1, 8, 4 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP return -LittlerootTown_BrendansHouse_1F_EventScript_1F77D2:: @ 81F77D2 +LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToTV:: @ 81F77D2 setobjectxyperm 1, 4, 5 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP return -LittlerootTown_BrendansHouse_1F_EventScript_1F77DE:: @ 81F77DE +LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToDoor:: @ 81F77DE setobjectxyperm 1, 9, 8 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP return -LittlerootTown_BrendansHouse_1F_MapScript2_1F77EA: @ 81F77EA - map_script_2 VAR_LITTLEROOT_INTRO_STATE, 3, LittlerootTown_BrendansHouse_1F_EventScript_1F783C - map_script_2 VAR_LITTLEROOT_INTRO_STATE, 5, LittlerootTown_BrendansHouse_1F_EventScript_1F7814 - map_script_2 VAR_LITTLEROOT_INTRO_STATE, 6, LittlerootTown_BrendansHouse_1F_EventScript_1F784D - map_script_2 VAR_LITTLEROOT_HOUSES_STATE, 1, LittlerootTown_BrendansHouse_1F_EventScript_1F785E - map_script_2 VAR_LITTLEROOT_HOUSES_STATE, 3, LittlerootTown_BrendansHouse_1F_EventScript_292AF2 +@ Many of the below scripts have no gender check because they assume youre in the correct house +@ The below SS Ticket script uses Mays house state by accident(?), but theyre both set identically after the intro +LittlerootTown_BrendansHouse_1F_OnFrame: @ 81F77EA + map_script_2 VAR_LITTLEROOT_INTRO_STATE, 3, LittlerootTown_BrendansHouse_1F_EventScript_EnterHouseMovingIn + map_script_2 VAR_LITTLEROOT_INTRO_STATE, 5, LittlerootTown_BrendansHouse_1F_EventScript_GoUpstairsToSetClock + map_script_2 VAR_LITTLEROOT_INTRO_STATE, 6, LittlerootTown_BrendansHouse_1F_EventScript_PetalburgGymReport + map_script_2 VAR_LITTLEROOT_HOUSES_STATE_MAY, 1, LittlerootTown_BrendansHouse_1F_EventScript_YoureNewNeighbor + map_script_2 VAR_LITTLEROOT_HOUSES_STATE_MAY, 3, PlayersHouse_1F_EventScript_GetSSTicketAndSeeLatiTV .2byte 0 -LittlerootTown_BrendansHouse_1F_EventScript_1F7814:: @ 81F7814 +LittlerootTown_BrendansHouse_1F_EventScript_GoUpstairsToSetClock:: @ 81F7814 lockall - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B67, MSGBOX_DEFAULT + msgbox PlayersHouse_1F_Text_GoSetTheClock, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F783A - applymovement 1, LittlerootTown_BrendansHouse_1F_Movement_1F783A + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PushTowardStairs + applymovement 1, LittlerootTown_BrendansHouse_1F_Movement_PushTowardStairs waitmovement 0 warp MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F, 255, 7, 1 waitstate releaseall end -LittlerootTown_BrendansHouse_1F_Movement_1F783A: @ 81F783A +LittlerootTown_BrendansHouse_1F_Movement_PushTowardStairs: @ 81F783A walk_up step_end -LittlerootTown_BrendansHouse_1F_EventScript_1F783C:: @ 81F783C +LittlerootTown_BrendansHouse_1F_EventScript_EnterHouseMovingIn:: @ 81F783C lockall setvar VAR_0x8004, 1 - setvar VAR_0x8005, 0 - goto LittlerootTown_BrendansHouse_1F_EventScript_292704 + setvar VAR_0x8005, MALE + goto PlayersHouse_1F_EventScript_EnterHouseMovingIn end -LittlerootTown_BrendansHouse_1F_EventScript_1F784D:: @ 81F784D +LittlerootTown_BrendansHouse_1F_EventScript_PetalburgGymReport:: @ 81F784D lockall setvar VAR_0x8004, 0 - setvar VAR_0x8005, 1 - goto LittlerootTown_BrendansHouse_1F_EventScript_29286D + setvar VAR_0x8005, 1 @ Object event ID for Mom + goto PlayersHouse_1F_EventScript_PetalburgGymReportMale end -LittlerootTown_BrendansHouse_1F_EventScript_1F785E:: @ 81F785E +LittlerootTown_BrendansHouse_1F_EventScript_YoureNewNeighbor:: @ 81F785E lockall playse SE_PIN applymovement 4, Common_Movement_ExclamationMark waitmovement 0 applymovement 4, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft - applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_1F789C + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft + applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_RivalMomApproach waitmovement 0 special GetRivalSonDaughterString - msgbox LittlerootTown_BrendansHouse_1F_Text_1F8BC5, MSGBOX_DEFAULT + msgbox RivalsHouse_1F_Text_OhYoureTheNewNeighbor, MSGBOX_DEFAULT setflag FLAG_MET_RIVAL_MOM - setvar VAR_LITTLEROOT_HOUSES_STATE, 2 + setvar VAR_LITTLEROOT_HOUSES_STATE_MAY, 2 releaseall end -LittlerootTown_BrendansHouse_1F_Movement_1F789C: @ 81F789C +LittlerootTown_BrendansHouse_1F_Movement_RivalMomApproach: @ 81F789C walk_down walk_right walk_right @@ -113,34 +115,34 @@ LittlerootTown_BrendansHouse_1F_Movement_1F789C: @ 81F789C walk_right step_end -LittlerootTown_BrendansHouse_1F_EventScript_1F78A3:: @ 81F78A3 +LittlerootTown_BrendansHouse_1F_EventScript_GoSeeRoom:: @ 81F78A3 lockall setvar VAR_0x8004, 1 - setvar VAR_0x8005, 0 - applymovement VAR_0x8004, Common_Movement_WalkInPlaceLeft + setvar VAR_0x8005, MALE + applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - goto LittlerootTown_BrendansHouse_1F_EventScript_292765 + goto PlayersHouse_1F_EventScript_MomGoSeeRoom end -LittlerootTown_BrendansHouse_1F_EventScript_1F78BE:: @ 81F78BE +LittlerootTown_BrendansHouse_1F_EventScript_MeetRival0:: @ 81F78BE lockall setvar VAR_0x8008, 0 - goto LittlerootTown_BrendansHouse_1F_EventScript_1F78E2 + goto LittlerootTown_BrendansHouse_1F_EventScript_MeetRival end -LittlerootTown_BrendansHouse_1F_EventScript_1F78CA:: @ 81F78CA +LittlerootTown_BrendansHouse_1F_EventScript_MeetRival1:: @ 81F78CA lockall setvar VAR_0x8008, 1 - goto LittlerootTown_BrendansHouse_1F_EventScript_1F78E2 + goto LittlerootTown_BrendansHouse_1F_EventScript_MeetRival end -LittlerootTown_BrendansHouse_1F_EventScript_1F78D6:: @ 81F78D6 +LittlerootTown_BrendansHouse_1F_EventScript_MeetRival2:: @ 81F78D6 lockall setvar VAR_0x8008, 2 - goto LittlerootTown_BrendansHouse_1F_EventScript_1F78E2 + goto LittlerootTown_BrendansHouse_1F_EventScript_MeetRival end -LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2 +LittlerootTown_BrendansHouse_1F_EventScript_MeetRival:: @ 81F78E2 playse SE_KAIDAN delay 10 addobject 7 @@ -151,22 +153,22 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2 applymovement 7, Common_Movement_Delay48 waitmovement 0 compare VAR_0x8008, 1 - call_if_ne LittlerootTown_BrendansHouse_1F_EventScript_1F7981 + call_if_ne LittlerootTown_BrendansHouse_1F_EventScript_PlayerFaceBrendan playbgm MUS_BOY_SUP, 1 compare VAR_0x8008, 0 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F798C + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer0 compare VAR_0x8008, 1 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F7997 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer1 compare VAR_0x8008, 2 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F79A2 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F90B4, MSGBOX_DEFAULT + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer2 + msgbox RivalsHouse_1F_Text_BrendanWhoAreYou, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 0 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F79C1 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs0 compare VAR_0x8008, 1 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F79D3 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs1 compare VAR_0x8008, 2 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F79E5 + call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs2 playse SE_KAIDAN removeobject 7 setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN @@ -180,27 +182,27 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2 releaseall end -LittlerootTown_BrendansHouse_1F_EventScript_1F7981:: @ 81F7981 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown +LittlerootTown_BrendansHouse_1F_EventScript_PlayerFaceBrendan:: @ 81F7981 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_1F798C:: @ 81F798C - applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F79AD +LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer0:: @ 81F798C + applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer0 waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_1F7997:: @ 81F7997 - applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F79B5 +LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer1:: @ 81F7997 + applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer1 waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_1F79A2:: @ 81F79A2 - applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F79B9 +LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer2:: @ 81F79A2 + applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer2 waitmovement 0 return -LittlerootTown_BrendansHouse_1F_Movement_1F79AD: @ 81F79AD +LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer0: @ 81F79AD walk_in_place_fastest_left walk_left walk_in_place_fastest_up @@ -210,13 +212,13 @@ LittlerootTown_BrendansHouse_1F_Movement_1F79AD: @ 81F79AD walk_up step_end -LittlerootTown_BrendansHouse_1F_Movement_1F79B5: @ 81F79B5 +LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer1: @ 81F79B5 walk_up walk_up walk_up step_end -LittlerootTown_BrendansHouse_1F_Movement_1F79B9: @ 81F79B9 +LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer2: @ 81F79B9 walk_in_place_fastest_right walk_right walk_in_place_fastest_up @@ -226,31 +228,31 @@ LittlerootTown_BrendansHouse_1F_Movement_1F79B9: @ 81F79B9 walk_up step_end -LittlerootTown_BrendansHouse_1F_EventScript_1F79C1:: @ 81F79C1 - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F79F7 - applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A06 +LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs0:: @ 81F79C1 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit0 + applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs0 waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_1F79D3:: @ 81F79D3 - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F79FB - applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A0C +LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs1:: @ 81F79D3 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit1 + applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs1 waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_1F79E5:: @ 81F79E5 - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F7A02 - applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A16 +LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs2:: @ 81F79E5 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit2 + applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs2 waitmovement 0 return -LittlerootTown_BrendansHouse_1F_Movement_1F79F7: @ 81F79F7 +LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit0: @ 81F79F7 delay_16 delay_8 walk_in_place_fastest_right step_end -LittlerootTown_BrendansHouse_1F_Movement_1F79FB: @ 81F79FB +LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit1: @ 81F79FB delay_16 delay_8 walk_in_place_fastest_right @@ -259,13 +261,13 @@ LittlerootTown_BrendansHouse_1F_Movement_1F79FB: @ 81F79FB walk_in_place_fastest_up step_end -LittlerootTown_BrendansHouse_1F_Movement_1F7A02: @ 81F7A02 +LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit2: @ 81F7A02 delay_16 delay_8 walk_in_place_fastest_left step_end -LittlerootTown_BrendansHouse_1F_Movement_1F7A06: @ 81F7A06 +LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs0: @ 81F7A06 walk_in_place_fastest_right walk_right walk_in_place_fastest_up @@ -273,7 +275,7 @@ LittlerootTown_BrendansHouse_1F_Movement_1F7A06: @ 81F7A06 walk_up step_end -LittlerootTown_BrendansHouse_1F_Movement_1F7A0C: @ 81F7A0C +LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs1: @ 81F7A0C walk_in_place_fastest_right walk_right walk_in_place_fastest_up @@ -285,7 +287,7 @@ LittlerootTown_BrendansHouse_1F_Movement_1F7A0C: @ 81F7A0C walk_up step_end -LittlerootTown_BrendansHouse_1F_Movement_1F7A16: @ 81F7A16 +LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs2: @ 81F7A16 walk_in_place_fastest_left walk_left walk_in_place_fastest_up @@ -293,11 +295,11 @@ LittlerootTown_BrendansHouse_1F_Movement_1F7A16: @ 81F7A16 walk_up step_end -LittlerootTown_BrendansHouse_1F_Text_1F7A1C: @ 81F7A1C +PlayersHouse_1F_Text_IsntItNiceInHere: @ 81F7A1C .string "MOM: See, {PLAYER}?\n" .string "Isn't it nice in here, too?$" -LittlerootTown_BrendansHouse_1F_Text_1F7A46: @ 81F7A46 +PlayersHouse_1F_Text_MoversPokemonGoSetClock: @ 81F7A46 .string "The mover's POKéMON do all the work\n" .string "of moving us in and cleaning up after.\l" .string "This is so convenient!\p" @@ -307,91 +309,87 @@ LittlerootTown_BrendansHouse_1F_Text_1F7A46: @ 81F7A46 .string "our move here.\l" .string "Don't forget to set it!$" -LittlerootTown_BrendansHouse_1F_Text_1F7B24: @ 81F7B24 +PlayersHouse_1F_Text_ArentYouInterestedInRoom: @ 81F7B24 .string "MOM: Well, {PLAYER}?\p" .string "Aren't you interested in seeing your\n" .string "very own room?$" -LittlerootTown_BrendansHouse_1F_Text_1F7B67: @ 81F7B67 -LittlerootTown_MaysHouse_1F_Text_1F7B67: @ 81F7B67 +PlayersHouse_1F_Text_GoSetTheClock: @ 81F7B67 .string "MOM: {PLAYER}.\p" .string "Go set the clock in your room, honey.$" -LittlerootTown_BrendansHouse_1F_Text_1F7B96: @ 81F7B96 +PlayersHouse_1F_Text_OhComeQuickly: @ 81F7B96 .string "MOM: Oh! {PLAYER}, {PLAYER}!\n" .string "Quick! Come quickly!$" -LittlerootTown_BrendansHouse_1F_Text_1F7BBC: @ 81F7BBC -LittlerootTown_MaysHouse_1F_Text_1F7BBC: @ 81F7BBC +PlayersHouse_1F_Text_MaybeDadWillBeOn: @ 81F7BBC .string "MOM: Look! It's PETALBURG GYM!\n" .string "Maybe DAD will be on!$" -LittlerootTown_BrendansHouse_1F_Text_1F7BF1: @ 81F7BF1 -LittlerootTown_MaysHouse_1F_Text_1F7BF1: @ 81F7BF1 +PlayersHouse_1F_Text_ItsOverWeMissedHim: @ 81F7BF1 .string "MOM: Oh… It's over.\p" .string "I think DAD was on, but we missed him.\n" .string "Too bad.$" -LittlerootTown_BrendansHouse_1F_Text_1F7C35: @ 81F7C35 -LittlerootTown_MaysHouse_1F_Text_1F7C35: @ 81F7C35 +PlayersHouse_1F_Text_GoIntroduceYourselfNextDoor: @ 81F7C35 .string "Oh, yes.\n" .string "One of DAD's friends lives in town.\p" .string "PROF. BIRCH is his name.\p" .string "He lives right next door, so you should\n" .string "go over and introduce yourself.$" -LittlerootTown_BrendansHouse_1F_Text_1F7CC3: @ 81F7CC3 +PlayersHouse_1F_Text_SeeYouHoney: @ 81F7CC3 .string "MOM: See you, honey!$" -LittlerootTown_BrendansHouse_1F_Text_1F7CD8: @ 81F7CD8 +PlayersHouse_1F_Text_DidYouMeetProfBirch: @ 81F7CD8 .string "MOM: Did you introduce yourself to\n" .string "PROF. BIRCH?$" -LittlerootTown_BrendansHouse_1F_Text_1F7D08: @ 81F7D08 +PlayersHouse_1F_Text_YouShouldRestABit: @ 81F7D08 .string "MOM: How are you doing, {PLAYER}?\n" .string "You look a little tired.\p" .string "I think you should rest a bit.$" -LittlerootTown_BrendansHouse_1F_Text_1F7D5C: @ 81F7D5C +PlayersHouse_1F_Text_TakeCareHoney: @ 81F7D5C .string "MOM: Take care, honey!$" -LittlerootTown_BrendansHouse_1F_Text_1F7D73: @ 81F7D73 +PlayersHouse_1F_Text_GotDadsBadgeHeresSomethingFromMom: @ 81F7D73 .string "MOM: Oh? Did DAD give you that BADGE?\p" .string "Then here's something from your MOM!$" -LittlerootTown_BrendansHouse_1F_Text_1F7DBE: @ 81F7DBE +PlayersHouse_1F_Text_DontPushYourselfTooHard: @ 81F7DBE .string "Don't push yourself too hard, dear.\n" .string "You can always come home.\p" .string "Go for it, honey!$" -LittlerootTown_BrendansHouse_1F_Text_1F7E0E: @ 81F7E0E +PlayersHouse_1F_Text_IsThatAPokenav: @ 81F7E0E .string "MOM: What is that, honey? A POKéNAV?\n" .string "Someone from DEVON gave it to you?\p" .string "Well, honey, how about registering\n" .string "your mom?\p" .string "… … …$" -LittlerootTown_BrendansHouse_1F_Text_1F7E89: @ 81F7E89 +PlayersHouse_1F_Text_RegisteredMom: @ 81F7E89 .string "Registered MOM\n" .string "in the POKéNAV.$" -LittlerootTown_BrendansHouse_1F_Text_1F7EA8: @ 81F7EA8 +PlayersHouse_1F_Text_Vigoroth1: @ 81F7EA8 .string "Fugiiiiih!$" -LittlerootTown_BrendansHouse_1F_Text_1F7EB3: @ 81F7EB3 +PlayersHouse_1F_Text_Vigoroth2: @ 81F7EB3 .string "Huggoh, uggo uggo…$" -LittlerootTown_BrendansHouse_1F_Text_1F7EC6: @ 81F7EC6 +PlayersHouse_1F_Text_ReportFromPetalburgGym: @ 81F7EC6 .string "INTERVIEWER: …We brought you this\n" .string "report from in front of PETALBURG GYM.$" -LittlerootTown_BrendansHouse_1F_Text_1F7F0F: @ 81F7F0F +PlayersHouse_1F_Text_TheresAMovieOnTV: @ 81F7F0F .string "There is a movie on TV.\p" .string "Two men are dancing on a big piano\n" .string "keyboard.\p" .string "Better get going!$" -LittlerootTown_BrendansHouse_1F_Text_1F7F66: @ 81F7F66 +PlayersHouse_1F_Text_RunningShoesManual: @ 81F7F66 .string "It's the instruction booklet for the\n" .string "RUNNING SHOES.\p" .string "“Press the B Button to run while\n" @@ -399,7 +397,7 @@ LittlerootTown_BrendansHouse_1F_Text_1F7F66: @ 81F7F66 .string "“Lace up your RUNNING SHOES and hit\n" .string "the road running!”$" -LittlerootTown_BrendansHouse_1F_Text_1F800E: @ 81F800E +PlayersHouse_1F_Text_TicketFromBrineyCameForYou: @ 81F800E .string "DAD: Hm?\p" .string "Hey, it's {PLAYER}!\p" .string "It's been a while since I saw you,\n" @@ -410,26 +408,26 @@ LittlerootTown_BrendansHouse_1F_Text_1F800E: @ 81F800E .string "This came to you from someone named\l" .string "MR. BRINEY.$" -LittlerootTown_BrendansHouse_1F_Text_1F80FE: @ 81F80FE +PlayersHouse_1F_Text_PortsInSlateportLilycove: @ 81F80FE .string "DAD: Hm, a TICKET for a ferry?\p" .string "If I recall, there are ferry ports in\n" .string "SLATEPORT and LILYCOVE.$" -LittlerootTown_BrendansHouse_1F_Text_1F815B: @ 81F815B +PlayersHouse_1F_Text_BetterGetBackToGym: @ 81F815B .string "I'd better get back to PETALBURG GYM.\p" .string "MOM, thanks for looking after the house\n" .string "while I'm away.$" -LittlerootTown_BrendansHouse_1F_Text_1F81B9: @ 81F81B9 +PlayersHouse_1F_Text_DadShouldStayLonger: @ 81F81B9 .string "MOM: That DAD of yours…\p" .string "He comes home for the first time in a\n" .string "while, but all he talks about is POKéMON.\p" .string "He should relax and stay a little longer.$" -LittlerootTown_BrendansHouse_1F_Text_1F824B: @ 81F824B +PlayersHouse_1F_Text_IsThatABreakingStory: @ 81F824B .string "MOM: Is that a breaking news story?$" -LittlerootTown_BrendansHouse_1F_Text_1F826F: @ 81F826F +PlayersHouse_1F_Text_LatiEmergencyNewsFlash: @ 81F826F .string "We bring you this emergency\n" .string "news flash!\p" .string "In various HOENN locales, there have\n" @@ -440,11 +438,11 @@ LittlerootTown_BrendansHouse_1F_Text_1F826F: @ 81F826F .string "We now return you to the regular\n" .string "movie program.$" -LittlerootTown_BrendansHouse_1F_Text_1F8351: @ 81F8351 +PlayersHouse_1F_Text_WhatColorDidTheySay: @ 81F8351 .string "MOM: {PLAYER}, did you catch that?\p" .string "What color did the announcer say\n" .string "that POKéMON was?$" -LittlerootTown_BrendansHouse_1F_Text_1F83A1: @ 81F83A1 +PlayersHouse_1F_Text_StillUnknownPokemon: @ 81F83A1 .string "MOM: Well, isn't that something!\n" .string "There are still unknown POKéMON.$" diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/map.json b/data/maps/LittlerootTown_BrendansHouse_2F/map.json index e07959b205..01af64e7d3 100644 --- a/data/maps/LittlerootTown_BrendansHouse_2F/map.json +++ b/data/maps/LittlerootTown_BrendansHouse_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_BrendansHouse_2F_EventScript_1F94C1", + "script": "RivalsHouse_2F_EventScript_Rival", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM" }, { @@ -206,7 +206,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_BrendansHouse_2F_EventScript_1F8481", + "script": "LittlerootTown_BrendansHouse_2F_EventScript_RivalsPokeBall", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL" }, { @@ -240,7 +240,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "EventScript_PlayerPCMale" + "script": "LittlerootTown_BrendansHouse_2F_EventScript_PC" }, { "type": "sign", @@ -248,7 +248,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_BrendansHouse_2F_EventScript_1F8656" + "script": "PlayersHouse_2F_EventScript_Notebook" }, { "type": "sign", @@ -256,7 +256,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_BrendansHouse_2F_EventScript_292781" + "script": "LittlerootTown_BrendansHouse_2F_EventScript_WallClock" }, { "type": "sign", @@ -264,7 +264,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_BrendansHouse_2F_EventScript_1F865F" + "script": "PlayersHouse_2F_EventScript_GameCube" } ] } \ No newline at end of file diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc index 3bb088ccf7..101e2bbad1 100644 --- a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc +++ b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc @@ -1,70 +1,70 @@ LittlerootTown_BrendansHouse_2F_MapScripts:: @ 81F83E3 - map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_BrendansHouse_2F_MapScript1_1F83EE - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_BrendansHouse_2F_MapScript2_1F846A + map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_BrendansHouse_2F_OnTransition + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_BrendansHouse_2F_OnWarp .byte 0 -LittlerootTown_BrendansHouse_2F_MapScript1_1F83EE: @ 81F83EE +LittlerootTown_BrendansHouse_2F_OnTransition: @ 81F83EE compare VAR_LITTLEROOT_RIVAL_STATE, 2 - call_if_lt LittlerootTown_BrendansHouse_2F_EventScript_1F8457 + call_if_lt LittlerootTown_BrendansHouse_2F_EventScript_CheckSetReadyToMeetBrendan compare VAR_LITTLEROOT_RIVAL_STATE, 3 - call_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F841A + call_if_ge LittlerootTown_BrendansHouse_2F_EventScript_CheckShouldUpdateBrendanPos compare VAR_LITTLEROOT_INTRO_STATE, 4 - call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_2926FE - call LittlerootTown_BrendansHouse_2F_EventScript_275CE1 + call_if_eq PlayersHouse_2F_EventScript_BlockStairsUntilClockIsSet + call SecretBase_EventScript_SetDecorationFlags setvar VAR_SECRET_BASE_INITIALIZED, 0 end -LittlerootTown_BrendansHouse_2F_EventScript_1F841A:: @ 81F841A - goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_1F8433 +LittlerootTown_BrendansHouse_2F_EventScript_CheckShouldUpdateBrendanPos:: @ 81F841A + goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_TryUpdateBrendanPos compare VAR_BIRCH_LAB_STATE, 2 - goto_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F8456 - goto LittlerootTown_BrendansHouse_2F_EventScript_1F8433 + goto_if_ge LittlerootTown_BrendansHouse_2F_EventScript_Ret + goto LittlerootTown_BrendansHouse_2F_EventScript_TryUpdateBrendanPos -LittlerootTown_BrendansHouse_2F_EventScript_1F8433:: @ 81F8433 +LittlerootTown_BrendansHouse_2F_EventScript_TryUpdateBrendanPos:: @ 81F8433 checkplayergender - compare VAR_RESULT, 0 - goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8456 + compare VAR_RESULT, MALE + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_Ret compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2 - goto_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F9309 + goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_Ret @ Odd that the MaysHouse equivalent was used here instead setobjectxyperm 1, 0, 2 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP return -LittlerootTown_BrendansHouse_2F_EventScript_1F8456:: @ 81F8456 +LittlerootTown_BrendansHouse_2F_EventScript_Ret:: @ 81F8456 return -LittlerootTown_BrendansHouse_2F_EventScript_1F8457:: @ 81F8457 +LittlerootTown_BrendansHouse_2F_EventScript_CheckSetReadyToMeetBrendan:: @ 81F8457 checkplayergender - compare VAR_RESULT, 1 - goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8464 + compare VAR_RESULT, FEMALE + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_SetReadyToMeetBrendan return -LittlerootTown_BrendansHouse_2F_EventScript_1F8464:: @ 81F8464 +LittlerootTown_BrendansHouse_2F_EventScript_SetReadyToMeetBrendan:: @ 81F8464 setvar VAR_LITTLEROOT_RIVAL_STATE, 2 return -LittlerootTown_BrendansHouse_2F_MapScript2_1F846A: @ 81F846A - map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8474 +LittlerootTown_BrendansHouse_2F_OnWarp: @ 81F846A + map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, LittlerootTown_BrendansHouse_2F_EventScript_CheckInitDecor .2byte 0 -LittlerootTown_BrendansHouse_2F_EventScript_1F8474:: @ 81F8474 +LittlerootTown_BrendansHouse_2F_EventScript_CheckInitDecor:: @ 81F8474 checkplayergender - compare VAR_RESULT, 0 - goto_if_eq EventScript_275D0C + compare VAR_RESULT, MALE + goto_if_eq SecretBase_EventScript_InitDecorations end -LittlerootTown_BrendansHouse_2F_EventScript_1F8481:: @ 81F8481 +LittlerootTown_BrendansHouse_2F_EventScript_RivalsPokeBall:: @ 81F8481 lockall compare VAR_LITTLEROOT_RIVAL_STATE, 2 - goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8497 - msgbox LittlerootTown_BrendansHouse_2F_Text_1F9991, MSGBOX_DEFAULT + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendan + msgbox RivalsHouse_2F_Text_ItsRivalsPokeBall, MSGBOX_DEFAULT releaseall end -LittlerootTown_BrendansHouse_2F_EventScript_1F8497:: @ 81F8497 +LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendan:: @ 81F8497 delay 10 addobject 1 - applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85BC + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanEnters waitmovement 0 playse SE_PIN applymovement 1, Common_Movement_ExclamationMark @@ -73,14 +73,14 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8497:: @ 81F8497 waitmovement 0 delay 10 playbgm MUS_BOY_SUP, 1 - compare VAR_FACING, 2 - call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8507 - compare VAR_FACING, 1 - call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8536 - compare VAR_FACING, 3 - call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8565 - compare VAR_FACING, 4 - call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8594 + compare VAR_FACING, DIR_NORTH + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanNorth + compare VAR_FACING, DIR_SOUTH + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanSouth + compare VAR_FACING, DIR_WEST + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanWest + compare VAR_FACING, DIR_EAST + call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanEast setvar VAR_LITTLEROOT_RIVAL_STATE, 3 setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM @@ -90,60 +90,60 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8497:: @ 81F8497 releaseall end -LittlerootTown_BrendansHouse_2F_EventScript_1F8507:: @ 81F8507 - applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85C0 +LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanNorth:: @ 81F8507 + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerNorth waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT + msgbox RivalsHouse_2F_Text_BrendanWhoAreYou, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_1F85CF - applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85C6 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanNorth + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCNorth waitmovement 0 return -LittlerootTown_BrendansHouse_2F_EventScript_1F8536:: @ 81F8536 - applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85D7 +LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanSouth:: @ 81F8536 + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerSouth waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT + msgbox RivalsHouse_2F_Text_BrendanWhoAreYou, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_1F85E2 - applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85DB + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanSouth + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCSouth waitmovement 0 return -LittlerootTown_BrendansHouse_2F_EventScript_1F8565:: @ 81F8565 - applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85E8 +LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanWest:: @ 81F8565 + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerWest waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT + msgbox RivalsHouse_2F_Text_BrendanWhoAreYou, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_1F85F6 - applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85ED + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanWest + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCWest waitmovement 0 return -LittlerootTown_BrendansHouse_2F_EventScript_1F8594:: @ 81F8594 - applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85FD +LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanEast:: @ 81F8594 + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerEast waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT + msgbox RivalsHouse_2F_Text_BrendanWhoAreYou, MSGBOX_DEFAULT closemessage - applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F8604 + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCEast waitmovement 0 return -LittlerootTown_BrendansHouse_2F_Movement_1F85BC: @ 81F85BC +LittlerootTown_BrendansHouse_2F_Movement_BrendanEnters: @ 81F85BC walk_down walk_down walk_in_place_fastest_left step_end -LittlerootTown_BrendansHouse_2F_Movement_1F85C0: @ 81F85C0 +LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerNorth: @ 81F85C0 walk_left walk_left walk_down @@ -151,7 +151,7 @@ LittlerootTown_BrendansHouse_2F_Movement_1F85C0: @ 81F85C0 walk_left step_end -LittlerootTown_BrendansHouse_2F_Movement_1F85C6: @ 81F85C6 +LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCNorth: @ 81F85C6 walk_up walk_up walk_up @@ -162,7 +162,7 @@ LittlerootTown_BrendansHouse_2F_Movement_1F85C6: @ 81F85C6 walk_in_place_fastest_up step_end -LittlerootTown_BrendansHouse_2F_Movement_1F85CF: @ 81F85CF +LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanNorth: @ 81F85CF delay_16 walk_in_place_fastest_up delay_16 @@ -172,13 +172,13 @@ LittlerootTown_BrendansHouse_2F_Movement_1F85CF: @ 81F85CF walk_in_place_fastest_left step_end -LittlerootTown_BrendansHouse_2F_Movement_1F85D7: @ 81F85D7 +LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerSouth: @ 81F85D7 walk_left walk_left walk_left step_end -LittlerootTown_BrendansHouse_2F_Movement_1F85DB: @ 81F85DB +LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCSouth: @ 81F85DB walk_up walk_left walk_left @@ -187,7 +187,7 @@ LittlerootTown_BrendansHouse_2F_Movement_1F85DB: @ 81F85DB walk_in_place_fastest_up step_end -LittlerootTown_BrendansHouse_2F_Movement_1F85E2: @ 81F85E2 +LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanSouth: @ 81F85E2 delay_16 walk_in_place_fastest_up delay_16 @@ -195,14 +195,14 @@ LittlerootTown_BrendansHouse_2F_Movement_1F85E2: @ 81F85E2 walk_in_place_fastest_left step_end -LittlerootTown_BrendansHouse_2F_Movement_1F85E8: @ 81F85E8 +LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerWest: @ 81F85E8 walk_left walk_left walk_down walk_in_place_fastest_left step_end -LittlerootTown_BrendansHouse_2F_Movement_1F85ED: @ 81F85ED +LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCWest: @ 81F85ED walk_up walk_up walk_left @@ -213,7 +213,7 @@ LittlerootTown_BrendansHouse_2F_Movement_1F85ED: @ 81F85ED walk_in_place_fastest_up step_end -LittlerootTown_BrendansHouse_2F_Movement_1F85F6: @ 81F85F6 +LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanWest: @ 81F85F6 delay_8 delay_16 walk_in_place_fastest_up @@ -222,7 +222,7 @@ LittlerootTown_BrendansHouse_2F_Movement_1F85F6: @ 81F85F6 walk_in_place_fastest_left step_end -LittlerootTown_BrendansHouse_2F_Movement_1F85FD: @ 81F85FD +LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerEast: @ 81F85FD walk_left walk_left walk_left @@ -231,29 +231,30 @@ LittlerootTown_BrendansHouse_2F_Movement_1F85FD: @ 81F85FD walk_in_place_fastest_down step_end -LittlerootTown_BrendansHouse_2F_Movement_1F8604: @ 81F8604 +LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCEast: @ 81F8604 walk_up walk_left walk_left walk_in_place_fastest_up step_end -LittlerootTown_BrendansHouse_2F_Movement_1F8609: @ 81F8609 +@ Unused, the player is already facing this direction so its unneeded +LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanEast: @ 81F8609 delay_16 delay_16 walk_in_place_fastest_left step_end -EventScript_PlayerPCMale:: @ 81F860D +LittlerootTown_BrendansHouse_2F_EventScript_PC:: @ 81F860D lockall checkplayergender compare VAR_RESULT, MALE - goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8626 + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_CheckPlayersPC compare VAR_RESULT, FEMALE - goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F864C + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_CheckRivalsPC end -LittlerootTown_BrendansHouse_2F_EventScript_1F8626:: @ 81F8626 +LittlerootTown_BrendansHouse_2F_EventScript_CheckPlayersPC:: @ 81F8626 setvar VAR_0x8004, 1 special DoPCTurnOnEffect playse SE_PC_ON @@ -263,33 +264,31 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8626:: @ 81F8626 releaseall end -LittlerootTown_BrendansHouse_2F_EventScript_1F863F:: @ 81F863F +LittlerootTown_BrendansHouse_2F_EventScript_TurnOffPlayerPC:: @ 81F863F setvar VAR_0x8004, 1 playse SE_PC_OFF special DoPCTurnOffEffect releaseall end -LittlerootTown_BrendansHouse_2F_EventScript_1F864C:: @ 81F864C - msgbox gUnknown_08272CD5, MSGBOX_DEFAULT +LittlerootTown_BrendansHouse_2F_EventScript_CheckRivalsPC:: @ 81F864C + msgbox gText_PokemonTrainerSchoolEmail, MSGBOX_DEFAULT releaseall end -LittlerootTown_BrendansHouse_2F_EventScript_1F8656:: @ 81F8656 -LittlerootTown_MaysHouse_2F_EventScript_1F8656:: @ 81F8656 - msgbox LittlerootTown_BrendansHouse_2F_Text_1F877F, MSGBOX_SIGN +PlayersHouse_2F_EventScript_Notebook:: @ 81F8656 + msgbox PlayersHouse_2F_Text_Notebook, MSGBOX_SIGN end -LittlerootTown_BrendansHouse_2F_EventScript_1F865F:: @ 81F865F -LittlerootTown_MaysHouse_2F_EventScript_1F865F:: @ 81F865F - msgbox LittlerootTown_BrendansHouse_2F_Text_1F884F, MSGBOX_SIGN +PlayersHouse_2F_EventScript_GameCube:: @ 81F865F + msgbox PlayersHouse_2F_Text_ItsAGameCube, MSGBOX_SIGN end -LittlerootTown_BrendansHouse_2F_Text_1F8668: @ 81F8668 +PlayersHouse_2F_Text_ClockIsStopped: @ 81F8668 .string "The clock is stopped…\p" .string "Better set it and start it!$" -LittlerootTown_BrendansHouse_2F_Text_1F869A: @ 81F869A +PlayersHouse_2F_Text_HowDoYouLikeYourRoom: @ 81F869A .string "MOM: {PLAYER}, how do you like your\n" .string "new room?\p" .string "Good! Everything's put away neatly!\p" @@ -299,7 +298,7 @@ LittlerootTown_BrendansHouse_2F_Text_1F869A: @ 81F869A .string "Oh, you should make sure that\n" .string "everything's all there on your desk.$" -LittlerootTown_BrendansHouse_2F_Text_1F877F: @ 81F877F +PlayersHouse_2F_Text_Notebook: @ 81F877F .string "{PLAYER} flipped open the notebook.\p" .string "ADVENTURE RULE NO. 1\n" .string "Open the MENU with START.\p" @@ -311,7 +310,7 @@ Common_Text_LookCloserAtMap: @ 81F8820 .string "{PLAYER} took a closer look at the\n" .string "HOENN region map.$" -LittlerootTown_BrendansHouse_2F_Text_1F884F: @ 81F884F +PlayersHouse_2F_Text_ItsAGameCube: @ 81F884F .string "It's a Nintendo GameCube.\p" .string "A Game Boy Advance is connected to\n" .string "serve as the Controller.$" diff --git a/data/maps/LittlerootTown_MaysHouse_1F/map.json b/data/maps/LittlerootTown_MaysHouse_1F/map.json index 0938e69660..118e3e8193 100644 --- a/data/maps/LittlerootTown_MaysHouse_1F/map.json +++ b/data/maps/LittlerootTown_MaysHouse_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_MaysHouse_1F_EventScript_2929C5", + "script": "PlayersHouse_1F_EventScript_Mom", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MOM" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_MaysHouse_1F_EventScript_292ABA", + "script": "PlayersHouse_1F_EventScript_Vigoroth1", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_1" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_MaysHouse_1F_EventScript_292ACD", + "script": "PlayersHouse_1F_EventScript_Vigoroth2", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_MaysHouse_1F_EventScript_1F89F3", + "script": "RivalsHouse_1F_EventScript_RivalMom", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_MOM" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_MaysHouse_1F_EventScript_1F8A3D", + "script": "RivalsHouse_1F_EventScript_RivalSibling", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING" }, { @@ -103,7 +103,7 @@ "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", "script": "0x0", - "flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN" + "flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MAY" } ], "warp_events": [ @@ -137,7 +137,7 @@ "elevation": 0, "var": "VAR_LITTLEROOT_INTRO_STATE", "var_value": "4", - "script": "LittlerootTown_MaysHouse_1F_EventScript_1F8A4C" + "script": "LittlerootTown_MaysHouse_1F_EventScript_GoSeeRoom" }, { "type": "trigger", @@ -146,7 +146,7 @@ "elevation": 0, "var": "VAR_LITTLEROOT_RIVAL_STATE", "var_value": "2", - "script": "LittlerootTown_MaysHouse_1F_EventScript_1F8A67" + "script": "LittlerootTown_MaysHouse_1F_EventScript_MeetRival0" }, { "type": "trigger", @@ -155,7 +155,7 @@ "elevation": 0, "var": "VAR_LITTLEROOT_RIVAL_STATE", "var_value": "2", - "script": "LittlerootTown_MaysHouse_1F_EventScript_1F8A73" + "script": "LittlerootTown_MaysHouse_1F_EventScript_MeetRival1" }, { "type": "trigger", @@ -164,7 +164,7 @@ "elevation": 0, "var": "VAR_LITTLEROOT_RIVAL_STATE", "var_value": "2", - "script": "LittlerootTown_MaysHouse_1F_EventScript_1F8A7F" + "script": "LittlerootTown_MaysHouse_1F_EventScript_MeetRival2" } ], "bg_events": [] diff --git a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc index d983c9e647..f016031df5 100644 --- a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc +++ b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc @@ -1,110 +1,111 @@ LittlerootTown_MaysHouse_1F_MapScripts:: @ 81F88A5 - map_script MAP_SCRIPT_ON_LOAD, LittlerootTown_MaysHouse_1F_MapScript1_1F88B5 - map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_MaysHouse_1F_MapScript1_1F88F4 - map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_MaysHouse_1F_MapScript2_1F893A + map_script MAP_SCRIPT_ON_LOAD, LittlerootTown_MaysHouse_1F_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_MaysHouse_1F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_MaysHouse_1F_OnFrame .byte 0 -LittlerootTown_MaysHouse_1F_MapScript1_1F88B5: @ 81F88B5 +LittlerootTown_MaysHouse_1F_OnLoad: @ 81F88B5 compare VAR_LITTLEROOT_INTRO_STATE, 6 - call_if_lt LittlerootTown_MaysHouse_1F_EventScript_1F88CA - call_if_set FLAG_RECEIVED_RUNNING_SHOES, LittlerootTown_MaysHouse_1F_EventScript_1F88DD + call_if_lt LittlerootTown_MaysHouse_1F_EventScript_SetMovingBoxes + call_if_set FLAG_RECEIVED_RUNNING_SHOES, LittlerootTown_MaysHouse_1F_EventScript_CheckShowShoesManual end -LittlerootTown_MaysHouse_1F_EventScript_1F88CA:: @ 81F88CA +LittlerootTown_MaysHouse_1F_EventScript_SetMovingBoxes:: @ 81F88CA setmetatile 5, 4, METATILE_BrendansMaysHouse_MovingBox_Open, 1 setmetatile 5, 2, METATILE_BrendansMaysHouse_MovingBox_Closed, 1 return -LittlerootTown_MaysHouse_1F_EventScript_1F88DD:: @ 81F88DD +LittlerootTown_MaysHouse_1F_EventScript_CheckShowShoesManual:: @ 81F88DD checkplayergender - compare VAR_RESULT, 1 - goto_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F88EA + compare VAR_RESULT, FEMALE + goto_if_eq LittlerootTown_MaysHouse_1F_EventScript_ShowRunningShoesManual return -LittlerootTown_MaysHouse_1F_EventScript_1F88EA:: @ 81F88EA +LittlerootTown_MaysHouse_1F_EventScript_ShowRunningShoesManual:: @ 81F88EA setmetatile 6, 7, METATILE_BrendansMaysHouse_BookOnTable, 1 return -LittlerootTown_MaysHouse_1F_MapScript1_1F88F4: @ 81F88F4 +LittlerootTown_MaysHouse_1F_OnTransition: @ 81F88F4 compare VAR_LITTLEROOT_INTRO_STATE, 3 - call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F892E + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MoveMomToDoor compare VAR_LITTLEROOT_INTRO_STATE, 5 - call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8916 + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MoveMomToStairs compare VAR_LITTLEROOT_INTRO_STATE, 6 - call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8922 + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MoveMomToTV end -LittlerootTown_MaysHouse_1F_EventScript_1F8916:: @ 81F8916 +LittlerootTown_MaysHouse_1F_EventScript_MoveMomToStairs:: @ 81F8916 setobjectxyperm 1, 2, 4 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP return -LittlerootTown_MaysHouse_1F_EventScript_1F8922:: @ 81F8922 +LittlerootTown_MaysHouse_1F_EventScript_MoveMomToTV:: @ 81F8922 setobjectxyperm 1, 6, 5 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP return -LittlerootTown_MaysHouse_1F_EventScript_1F892E:: @ 81F892E +LittlerootTown_MaysHouse_1F_EventScript_MoveMomToDoor:: @ 81F892E setobjectxyperm 1, 1, 8 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP return -LittlerootTown_MaysHouse_1F_MapScript2_1F893A: @ 81F893A - map_script_2 VAR_LITTLEROOT_INTRO_STATE, 3, LittlerootTown_MaysHouse_1F_EventScript_1F898C - map_script_2 VAR_LITTLEROOT_INTRO_STATE, 5, LittlerootTown_MaysHouse_1F_EventScript_1F8964 - map_script_2 VAR_LITTLEROOT_INTRO_STATE, 6, LittlerootTown_MaysHouse_1F_EventScript_1F899D - map_script_2 VAR_LITTLEROOT_HOUSES_STATE_2, 1, LittlerootTown_MaysHouse_1F_EventScript_1F89AE - map_script_2 VAR_LITTLEROOT_HOUSES_STATE, 3, LittlerootTown_MaysHouse_1F_EventScript_292AF2 +@ Many of the below scripts have no gender check because they assume youre in the correct house +LittlerootTown_MaysHouse_1F_OnFrame: @ 81F893A + map_script_2 VAR_LITTLEROOT_INTRO_STATE, 3, LittlerootTown_MaysHouse_1F_EventScript_EnterHouseMovingIn + map_script_2 VAR_LITTLEROOT_INTRO_STATE, 5, LittlerootTown_MaysHouse_1F_EventScript_GoUpstairsToSetClock + map_script_2 VAR_LITTLEROOT_INTRO_STATE, 6, LittlerootTown_MaysHouse_1F_EventScript_PetalburgGymReport + map_script_2 VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 1, LittlerootTown_MaysHouse_1F_EventScript_YoureNewNeighbor + map_script_2 VAR_LITTLEROOT_HOUSES_STATE_MAY, 3, PlayersHouse_1F_EventScript_GetSSTicketAndSeeLatiTV .2byte 0 -LittlerootTown_MaysHouse_1F_EventScript_1F8964:: @ 81F8964 +LittlerootTown_MaysHouse_1F_EventScript_GoUpstairsToSetClock:: @ 81F8964 lockall - msgbox LittlerootTown_MaysHouse_1F_Text_1F7B67, MSGBOX_DEFAULT + msgbox PlayersHouse_1F_Text_GoSetTheClock, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F898A - applymovement 1, LittlerootTown_MaysHouse_1F_Movement_1F898A + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PushTowardStairs + applymovement 1, LittlerootTown_MaysHouse_1F_Movement_PushTowardStairs waitmovement 0 warp MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F, 255, 1, 1 waitstate releaseall end -LittlerootTown_MaysHouse_1F_Movement_1F898A: @ 81F898A +LittlerootTown_MaysHouse_1F_Movement_PushTowardStairs: @ 81F898A walk_up step_end -LittlerootTown_MaysHouse_1F_EventScript_1F898C:: @ 81F898C +LittlerootTown_MaysHouse_1F_EventScript_EnterHouseMovingIn:: @ 81F898C + lockall + setvar VAR_0x8004, 1 + setvar VAR_0x8005, FEMALE + goto PlayersHouse_1F_EventScript_EnterHouseMovingIn + end + +LittlerootTown_MaysHouse_1F_EventScript_PetalburgGymReport:: @ 81F899D lockall setvar VAR_0x8004, 1 setvar VAR_0x8005, 1 - goto LittlerootTown_MaysHouse_1F_EventScript_292704 + goto PlayersHouse_1F_EventScript_PetalburgGymReportFemale end -LittlerootTown_MaysHouse_1F_EventScript_1F899D:: @ 81F899D - lockall - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - goto LittlerootTown_MaysHouse_1F_EventScript_2928DC - end - -LittlerootTown_MaysHouse_1F_EventScript_1F89AE:: @ 81F89AE +LittlerootTown_MaysHouse_1F_EventScript_YoureNewNeighbor:: @ 81F89AE lockall playse SE_PIN applymovement 4, Common_Movement_ExclamationMark waitmovement 0 applymovement 4, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight - applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1F89EC + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight + applymovement 4, LittlerootTown_MaysHouse_1F_Movement_RivalMomApproach waitmovement 0 special GetRivalSonDaughterString - msgbox LittlerootTown_MaysHouse_1F_Text_1F8BC5, MSGBOX_DEFAULT + msgbox RivalsHouse_1F_Text_OhYoureTheNewNeighbor, MSGBOX_DEFAULT setflag FLAG_MET_RIVAL_MOM - setvar VAR_LITTLEROOT_HOUSES_STATE_2, 2 + setvar VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 2 releaseall end -LittlerootTown_MaysHouse_1F_Movement_1F89EC: @ 81F89EC +LittlerootTown_MaysHouse_1F_Movement_RivalMomApproach: @ 81F89EC walk_down walk_left walk_left @@ -113,71 +114,69 @@ LittlerootTown_MaysHouse_1F_Movement_1F89EC: @ 81F89EC walk_left step_end -LittlerootTown_BrendansHouse_1F_EventScript_1F89F3:: @ 81F89F3 -LittlerootTown_MaysHouse_1F_EventScript_1F89F3:: @ 81F89F3 +RivalsHouse_1F_EventScript_RivalMom:: @ 81F89F3 lock faceplayer - goto_if_set FLAG_DEFEATED_RIVAL_ROUTE103, LittlerootTown_BrendansHouse_1F_EventScript_1F8A33 - goto_if_set FLAG_SYS_POKEMON_GET, LittlerootTown_BrendansHouse_1F_EventScript_1F8A29 + goto_if_set FLAG_DEFEATED_RIVAL_ROUTE103, RivalsHouse_1F_EventScript_GoHomeEverySoOften + goto_if_set FLAG_SYS_POKEMON_GET, RivalsHouse_1F_EventScript_RivalIsOnRoute103 compare VAR_LITTLEROOT_RIVAL_STATE, 3 - goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A1F + goto_if_eq RivalsHouse_1F_EventScript_RivalTooBusy special GetRivalSonDaughterString - msgbox LittlerootTown_BrendansHouse_1F_Text_1F8CA5, MSGBOX_DEFAULT + msgbox RivalsHouse_1F_Text_LikeChildLikeFather, MSGBOX_DEFAULT release end -LittlerootTown_BrendansHouse_1F_EventScript_1F8A1F:: @ 81F8A1F - msgbox LittlerootTown_BrendansHouse_1F_Text_1F8D37, MSGBOX_DEFAULT +RivalsHouse_1F_EventScript_RivalTooBusy:: @ 81F8A1F + msgbox RivalsHouse_1F_Text_TooBusyToNoticeVisit, MSGBOX_DEFAULT release end -LittlerootTown_BrendansHouse_1F_EventScript_1F8A29:: @ 81F8A29 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F8D93, MSGBOX_DEFAULT +RivalsHouse_1F_EventScript_RivalIsOnRoute103:: @ 81F8A29 + msgbox RivalsHouse_1F_Text_WentOutToRoute103, MSGBOX_DEFAULT release end -LittlerootTown_BrendansHouse_1F_EventScript_1F8A33:: @ 81F8A33 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F8E01, MSGBOX_DEFAULT +RivalsHouse_1F_EventScript_GoHomeEverySoOften:: @ 81F8A33 + msgbox RivalsHouse_1F_Text_ShouldGoHomeEverySoOften, MSGBOX_DEFAULT release end -LittlerootTown_BrendansHouse_1F_EventScript_1F8A3D:: @ 81F8A3D -LittlerootTown_MaysHouse_1F_EventScript_1F8A3D:: @ 81F8A3D +RivalsHouse_1F_EventScript_RivalSibling:: @ 81F8A3D lock faceplayer special GetPlayerBigGuyGirlString - msgbox LittlerootTown_BrendansHouse_1F_Text_1F9262, MSGBOX_DEFAULT + msgbox RivalsHouse_1F_Text_DoYouHavePokemon, MSGBOX_DEFAULT release end -LittlerootTown_MaysHouse_1F_EventScript_1F8A4C:: @ 81F8A4C +LittlerootTown_MaysHouse_1F_EventScript_GoSeeRoom:: @ 81F8A4C lockall setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - applymovement VAR_0x8004, Common_Movement_WalkInPlaceRight + setvar VAR_0x8005, FEMALE + applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - goto LittlerootTown_MaysHouse_1F_EventScript_292765 + goto PlayersHouse_1F_EventScript_MomGoSeeRoom end -LittlerootTown_MaysHouse_1F_EventScript_1F8A67:: @ 81F8A67 +LittlerootTown_MaysHouse_1F_EventScript_MeetRival0:: @ 81F8A67 lockall setvar VAR_0x8008, 0 - goto LittlerootTown_MaysHouse_1F_EventScript_1F8A8B + goto LittlerootTown_MaysHouse_1F_EventScript_MeetRival end -LittlerootTown_MaysHouse_1F_EventScript_1F8A73:: @ 81F8A73 +LittlerootTown_MaysHouse_1F_EventScript_MeetRival1:: @ 81F8A73 lockall setvar VAR_0x8008, 1 - goto LittlerootTown_MaysHouse_1F_EventScript_1F8A8B + goto LittlerootTown_MaysHouse_1F_EventScript_MeetRival end -LittlerootTown_MaysHouse_1F_EventScript_1F8A7F:: @ 81F8A7F +LittlerootTown_MaysHouse_1F_EventScript_MeetRival2:: @ 81F8A7F lockall setvar VAR_0x8008, 2 - goto LittlerootTown_MaysHouse_1F_EventScript_1F8A8B + goto LittlerootTown_MaysHouse_1F_EventScript_MeetRival end -LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B +LittlerootTown_MaysHouse_1F_EventScript_MeetRival:: @ 81F8A8B playse SE_KAIDAN delay 10 addobject 7 @@ -188,25 +187,25 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B applymovement 7, Common_Movement_Delay48 waitmovement 0 compare VAR_0x8008, 1 - call_if_ne LittlerootTown_MaysHouse_1F_EventScript_1F8B2A + call_if_ne LittlerootTown_MaysHouse_1F_EventScript_PlayerFaceMay playbgm MUS_GIRL_SUP, 1 compare VAR_0x8008, 0 - call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B35 + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer0 compare VAR_0x8008, 1 - call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B40 + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer1 compare VAR_0x8008, 2 - call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B4B - msgbox LittlerootTown_MaysHouse_1F_Text_1F8EC6, MSGBOX_DEFAULT + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer2 + msgbox RivalsHouse_1F_Text_MayWhoAreYou, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 0 - call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B6A + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs0 compare VAR_0x8008, 1 - call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B7C + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs1 compare VAR_0x8008, 2 - call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B8E + call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs2 playse SE_KAIDAN removeobject 7 - setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN + setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MAY setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM delay 30 @@ -217,27 +216,27 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B releaseall end -LittlerootTown_MaysHouse_1F_EventScript_1F8B2A:: @ 81F8B2A - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown +LittlerootTown_MaysHouse_1F_EventScript_PlayerFaceMay:: @ 81F8B2A + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -LittlerootTown_MaysHouse_1F_EventScript_1F8B35:: @ 81F8B35 - applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8B56 +LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer0:: @ 81F8B35 + applymovement 7, LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer0 waitmovement 0 return -LittlerootTown_MaysHouse_1F_EventScript_1F8B40:: @ 81F8B40 - applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8B5E +LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer1:: @ 81F8B40 + applymovement 7, LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer1 waitmovement 0 return -LittlerootTown_MaysHouse_1F_EventScript_1F8B4B:: @ 81F8B4B - applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8B62 +LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer2:: @ 81F8B4B + applymovement 7, LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer2 waitmovement 0 return -LittlerootTown_MaysHouse_1F_Movement_1F8B56: @ 81F8B56 +LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer0: @ 81F8B56 walk_in_place_fastest_left walk_left walk_in_place_fastest_up @@ -247,13 +246,13 @@ LittlerootTown_MaysHouse_1F_Movement_1F8B56: @ 81F8B56 walk_up step_end -LittlerootTown_MaysHouse_1F_Movement_1F8B5E: @ 81F8B5E +LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer1: @ 81F8B5E walk_up walk_up walk_up step_end -LittlerootTown_MaysHouse_1F_Movement_1F8B62: @ 81F8B62 +LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer2: @ 81F8B62 walk_in_place_fastest_right walk_right walk_in_place_fastest_up @@ -263,31 +262,31 @@ LittlerootTown_MaysHouse_1F_Movement_1F8B62: @ 81F8B62 walk_up step_end -LittlerootTown_MaysHouse_1F_EventScript_1F8B6A:: @ 81F8B6A - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F8BA0 - applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BAF +LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs0:: @ 81F8B6A + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit0 + applymovement 7, LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs0 waitmovement 0 return -LittlerootTown_MaysHouse_1F_EventScript_1F8B7C:: @ 81F8B7C - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F8BA4 - applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BB5 +LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs1:: @ 81F8B7C + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit1 + applymovement 7, LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs1 waitmovement 0 return -LittlerootTown_MaysHouse_1F_EventScript_1F8B8E:: @ 81F8B8E - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F8BAB - applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BBF +LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs2:: @ 81F8B8E + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit2 + applymovement 7, LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs2 waitmovement 0 return -LittlerootTown_MaysHouse_1F_Movement_1F8BA0: @ 81F8BA0 +LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit0: @ 81F8BA0 delay_16 delay_8 walk_in_place_fastest_right step_end -LittlerootTown_MaysHouse_1F_Movement_1F8BA4: @ 81F8BA4 +LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit1: @ 81F8BA4 delay_16 delay_8 walk_in_place_fastest_right @@ -296,13 +295,13 @@ LittlerootTown_MaysHouse_1F_Movement_1F8BA4: @ 81F8BA4 walk_in_place_fastest_up step_end -LittlerootTown_MaysHouse_1F_Movement_1F8BAB: @ 81F8BAB +LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit2: @ 81F8BAB delay_16 delay_8 walk_in_place_fastest_left step_end -LittlerootTown_MaysHouse_1F_Movement_1F8BAF: @ 81F8BAF +LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs0: @ 81F8BAF walk_in_place_fastest_right walk_right walk_in_place_fastest_up @@ -310,7 +309,7 @@ LittlerootTown_MaysHouse_1F_Movement_1F8BAF: @ 81F8BAF walk_up step_end -LittlerootTown_MaysHouse_1F_Movement_1F8BB5: @ 81F8BB5 +LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs1: @ 81F8BB5 walk_in_place_fastest_right walk_right walk_in_place_fastest_up @@ -322,7 +321,7 @@ LittlerootTown_MaysHouse_1F_Movement_1F8BB5: @ 81F8BB5 walk_up step_end -LittlerootTown_MaysHouse_1F_Movement_1F8BBF: @ 81F8BBF +LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs2: @ 81F8BBF walk_in_place_fastest_left walk_left walk_in_place_fastest_up @@ -330,8 +329,7 @@ LittlerootTown_MaysHouse_1F_Movement_1F8BBF: @ 81F8BBF walk_up step_end -LittlerootTown_BrendansHouse_1F_Text_1F8BC5: @ 81F8BC5 -LittlerootTown_MaysHouse_1F_Text_1F8BC5: @ 81F8BC5 +RivalsHouse_1F_Text_OhYoureTheNewNeighbor: @ 81F8BC5 .string "Oh, hello. And you are?\p" .string "… … … … … … … … …\n" .string "… … … … … … … … …\p" @@ -343,26 +341,26 @@ LittlerootTown_MaysHouse_1F_Text_1F8BC5: @ 81F8BC5 .string "a new friend.\p" .string "Our {STR_VAR_1} is upstairs, I think.$" -LittlerootTown_BrendansHouse_1F_Text_1F8CA5: @ 81F8CA5 +RivalsHouse_1F_Text_LikeChildLikeFather: @ 81F8CA5 .string "Like child, like father.\p" .string "My husband is as wild about POKéMON\n" .string "as our child.\p" .string "If he's not at his LAB, he's likely\n" .string "scrabbling about in grassy places.$" -LittlerootTown_BrendansHouse_1F_Text_1F8D37: @ 81F8D37 +RivalsHouse_1F_Text_TooBusyToNoticeVisit: @ 81F8D37 .string "That {RIVAL}!\p" .string "I guess our child is too busy with\n" .string "POKéMON to notice that you came\l" .string "to visit, {PLAYER}{KUN}.$" -LittlerootTown_BrendansHouse_1F_Text_1F8D93: @ 81F8D93 +RivalsHouse_1F_Text_WentOutToRoute103: @ 81F8D93 .string "Oh, {RIVAL} went out to ROUTE 103\n" .string "just a little while ago.\p" .string "Like father, like child.\n" .string "{RIVAL} can't stay quietly at home.$" -LittlerootTown_BrendansHouse_1F_Text_1F8E01: @ 81F8E01 +RivalsHouse_1F_Text_ShouldGoHomeEverySoOften: @ 81F8E01 .string "I think it's wonderful for people to\n" .string "travel with POKéMON.\p" .string "But you should go home every so often\n" @@ -370,7 +368,7 @@ LittlerootTown_BrendansHouse_1F_Text_1F8E01: @ 81F8E01 .string "She might not say it, but I'm sure she\n" .string "worries about you, {PLAYER}{KUN}.$" -LittlerootTown_MaysHouse_1F_Text_1F8EC6: @ 81F8EC6 +RivalsHouse_1F_Text_MayWhoAreYou: @ 81F8EC6 .string "Huh?\n" .string "Who… Who are you?\p" .string "… … … … … … … …\n" @@ -394,7 +392,7 @@ LittlerootTown_MaysHouse_1F_Text_1F8EC6: @ 81F8EC6 .string "some wild POKéMON!\p" .string "{PLAYER}{KUN}, I'll catch you later!$" -LittlerootTown_BrendansHouse_1F_Text_1F90B4: @ 81F90B4 +RivalsHouse_1F_Text_BrendanWhoAreYou: @ 81F90B4 .string "Hey!\n" .string "You…\p" .string "Who are you?\p" @@ -414,7 +412,7 @@ LittlerootTown_BrendansHouse_1F_Text_1F90B4: @ 81F90B4 .string "some wild POKéMON.\p" .string "Some other time, okay?$" -LittlerootTown_BrendansHouse_1F_Text_1F9262: @ 81F9262 +RivalsHouse_1F_Text_DoYouHavePokemon: @ 81F9262 .string "Hi, neighbor!\p" .string "Do you already have your\n" .string "own POKéMON?$" diff --git a/data/maps/LittlerootTown_MaysHouse_2F/map.json b/data/maps/LittlerootTown_MaysHouse_2F/map.json index d92b024c6d..33cdfb7c16 100644 --- a/data/maps/LittlerootTown_MaysHouse_2F/map.json +++ b/data/maps/LittlerootTown_MaysHouse_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_MaysHouse_2F_EventScript_1F94C1", + "script": "RivalsHouse_2F_EventScript_Rival", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM" }, { @@ -219,7 +219,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_MaysHouse_2F_EventScript_1F9334", + "script": "LittlerootTown_MaysHouse_2F_EventScript_RivalsPokeBall", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL" } ], @@ -240,7 +240,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_MaysHouse_2F_EventScript_1F865F" + "script": "PlayersHouse_2F_EventScript_GameCube" }, { "type": "sign", @@ -248,7 +248,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_MaysHouse_2F_EventScript_1F8656" + "script": "PlayersHouse_2F_EventScript_Notebook" }, { "type": "sign", @@ -256,7 +256,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_MaysHouse_2F_EventScript_29278D" + "script": "LittlerootTown_MaysHouse_2F_EventScript_WallClock" }, { "type": "sign", @@ -264,7 +264,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "EventScript_PlayerPCFemale" + "script": "LittlerootTown_MaysHouse_2F_EventScript_PC" } ] } \ No newline at end of file diff --git a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc index dde6df71d2..5bfbfbbcdc 100644 --- a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc +++ b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc @@ -1,71 +1,70 @@ LittlerootTown_MaysHouse_2F_MapScripts:: @ 81F9296 - map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_MaysHouse_2F_MapScript1_1F92A1 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_MaysHouse_2F_MapScript2_1F931D + map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_MaysHouse_2F_OnTransition + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_MaysHouse_2F_OnWarp .byte 0 -LittlerootTown_MaysHouse_2F_MapScript1_1F92A1: @ 81F92A1 +LittlerootTown_MaysHouse_2F_OnTransition: @ 81F92A1 compare VAR_LITTLEROOT_RIVAL_STATE, 2 - call_if_lt LittlerootTown_MaysHouse_2F_EventScript_1F930A + call_if_lt LittlerootTown_MaysHouse_2F_EventScript_CheckSetReadyToMeetMay compare VAR_LITTLEROOT_RIVAL_STATE, 3 - call_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F92CD + call_if_ge LittlerootTown_MaysHouse_2F_EventScript_CheckShouldUpdateMayPos compare VAR_LITTLEROOT_INTRO_STATE, 4 - call_if_eq LittlerootTown_MaysHouse_2F_EventScript_2926FE - call LittlerootTown_MaysHouse_2F_EventScript_275CE1 + call_if_eq PlayersHouse_2F_EventScript_BlockStairsUntilClockIsSet + call SecretBase_EventScript_SetDecorationFlags setvar VAR_SECRET_BASE_INITIALIZED, 0 end -LittlerootTown_MaysHouse_2F_EventScript_1F92CD:: @ 81F92CD - goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_MaysHouse_2F_EventScript_1F92E6 +LittlerootTown_MaysHouse_2F_EventScript_CheckShouldUpdateMayPos:: @ 81F92CD + goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_MaysHouse_2F_EventScript_TryUpdateMayPos compare VAR_BIRCH_LAB_STATE, 2 - goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F9309 - goto LittlerootTown_MaysHouse_2F_EventScript_1F92E6 + goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_Ret + goto LittlerootTown_MaysHouse_2F_EventScript_TryUpdateMayPos -LittlerootTown_MaysHouse_2F_EventScript_1F92E6:: @ 81F92E6 +LittlerootTown_MaysHouse_2F_EventScript_TryUpdateMayPos:: @ 81F92E6 checkplayergender - compare VAR_RESULT, 1 - goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9309 + compare VAR_RESULT, FEMALE + goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_Ret compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2 - goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F9309 + goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_Ret setobjectxyperm 1, 8, 2 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP return -LittlerootTown_BrendansHouse_2F_EventScript_1F9309:: @ 81F9309 -LittlerootTown_MaysHouse_2F_EventScript_1F9309:: @ 81F9309 +LittlerootTown_MaysHouse_2F_EventScript_Ret:: @ 81F9309 return -LittlerootTown_MaysHouse_2F_EventScript_1F930A:: @ 81F930A +LittlerootTown_MaysHouse_2F_EventScript_CheckSetReadyToMeetMay:: @ 81F930A checkplayergender - compare VAR_RESULT, 0 - goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9317 + compare VAR_RESULT, MALE + goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_SetReadyToMeetMay return -LittlerootTown_MaysHouse_2F_EventScript_1F9317:: @ 81F9317 +LittlerootTown_MaysHouse_2F_EventScript_SetReadyToMeetMay:: @ 81F9317 setvar VAR_LITTLEROOT_RIVAL_STATE, 2 return -LittlerootTown_MaysHouse_2F_MapScript2_1F931D: @ 81F931D - map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, LittlerootTown_MaysHouse_2F_EventScript_1F9327 +LittlerootTown_MaysHouse_2F_OnWarp: @ 81F931D + map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, LittlerootTown_MaysHouse_2F_EventScript_CheckInitDecor .2byte 0 -LittlerootTown_MaysHouse_2F_EventScript_1F9327:: @ 81F9327 +LittlerootTown_MaysHouse_2F_EventScript_CheckInitDecor:: @ 81F9327 checkplayergender - compare VAR_RESULT, 1 - goto_if_eq EventScript_275D0C + compare VAR_RESULT, FEMALE + goto_if_eq SecretBase_EventScript_InitDecorations end -LittlerootTown_MaysHouse_2F_EventScript_1F9334:: @ 81F9334 +LittlerootTown_MaysHouse_2F_EventScript_RivalsPokeBall:: @ 81F9334 lockall compare VAR_LITTLEROOT_RIVAL_STATE, 2 - goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F934A - msgbox LittlerootTown_MaysHouse_2F_Text_1F9991, MSGBOX_DEFAULT + goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_MeetMay + msgbox RivalsHouse_2F_Text_ItsRivalsPokeBall, MSGBOX_DEFAULT releaseall end -LittlerootTown_MaysHouse_2F_EventScript_1F934A:: @ 81F934A +LittlerootTown_MaysHouse_2F_EventScript_MeetMay:: @ 81F934A delay 10 addobject 1 - applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F946F + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayEnters waitmovement 0 playse SE_PIN applymovement 1, Common_Movement_ExclamationMark @@ -74,14 +73,14 @@ LittlerootTown_MaysHouse_2F_EventScript_1F934A:: @ 81F934A waitmovement 0 delay 10 playbgm MUS_GIRL_SUP, 1 - compare VAR_FACING, 2 - call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F93BA - compare VAR_FACING, 1 - call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F93E9 - compare VAR_FACING, 3 - call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9418 - compare VAR_FACING, 4 - call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9440 + compare VAR_FACING, DIR_NORTH + call_if_eq LittlerootTown_MaysHouse_2F_EventScript_MeetMayNorth + compare VAR_FACING, DIR_SOUTH + call_if_eq LittlerootTown_MaysHouse_2F_EventScript_MeetMaySouth + compare VAR_FACING, DIR_WEST + call_if_eq LittlerootTown_MaysHouse_2F_EventScript_MeetMayWest + compare VAR_FACING, DIR_EAST + call_if_eq LittlerootTown_MaysHouse_2F_EventScript_MeetMayEast setvar VAR_LITTLEROOT_RIVAL_STATE, 3 setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM @@ -91,60 +90,60 @@ LittlerootTown_MaysHouse_2F_EventScript_1F934A:: @ 81F934A releaseall end -LittlerootTown_MaysHouse_2F_EventScript_1F93BA:: @ 81F93BA - applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F9473 +LittlerootTown_MaysHouse_2F_EventScript_MeetMayNorth:: @ 81F93BA + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerNorth waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT + msgbox RivalsHouse_2F_Text_MayWhoAreYou, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_1F9483 - applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F9479 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMayNorth + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCNorth waitmovement 0 return -LittlerootTown_MaysHouse_2F_EventScript_1F93E9:: @ 81F93E9 - applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F948B +LittlerootTown_MaysHouse_2F_EventScript_MeetMaySouth:: @ 81F93E9 + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerSouth waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT + msgbox RivalsHouse_2F_Text_MayWhoAreYou, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_1F9497 - applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F948F + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMaySouth + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCSouth waitmovement 0 return -LittlerootTown_MaysHouse_2F_EventScript_1F9418:: @ 81F9418 - applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F949D +LittlerootTown_MaysHouse_2F_EventScript_MeetMayWest:: @ 81F9418 + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerWest waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT + msgbox RivalsHouse_2F_Text_MayWhoAreYou, MSGBOX_DEFAULT closemessage - applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94A4 + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCWest waitmovement 0 return -LittlerootTown_MaysHouse_2F_EventScript_1F9440:: @ 81F9440 - applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94AD +LittlerootTown_MaysHouse_2F_EventScript_MeetMayEast:: @ 81F9440 + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerEast waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT + msgbox RivalsHouse_2F_Text_MayWhoAreYou, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_1F94BB - applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94B2 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMayEast + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCEast waitmovement 0 return -LittlerootTown_MaysHouse_2F_Movement_1F946F: @ 81F946F +LittlerootTown_MaysHouse_2F_Movement_MayEnters: @ 81F946F walk_down walk_down walk_in_place_fastest_right step_end -LittlerootTown_MaysHouse_2F_Movement_1F9473: @ 81F9473 +LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerNorth: @ 81F9473 walk_right walk_right walk_down @@ -152,7 +151,7 @@ LittlerootTown_MaysHouse_2F_Movement_1F9473: @ 81F9473 walk_right step_end -LittlerootTown_MaysHouse_2F_Movement_1F9479: @ 81F9479 +LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCNorth: @ 81F9479 walk_up walk_up walk_up @@ -164,7 +163,7 @@ LittlerootTown_MaysHouse_2F_Movement_1F9479: @ 81F9479 walk_in_place_fastest_up step_end -LittlerootTown_MaysHouse_2F_Movement_1F9483: @ 81F9483 +LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMayNorth: @ 81F9483 delay_16 walk_in_place_fastest_up delay_16 @@ -174,13 +173,13 @@ LittlerootTown_MaysHouse_2F_Movement_1F9483: @ 81F9483 walk_in_place_fastest_right step_end -LittlerootTown_MaysHouse_2F_Movement_1F948B: @ 81F948B +LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerSouth: @ 81F948B walk_right walk_right walk_right step_end -LittlerootTown_MaysHouse_2F_Movement_1F948F: @ 81F948F +LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCSouth: @ 81F948F walk_up walk_in_place_fastest_right walk_right @@ -190,7 +189,7 @@ LittlerootTown_MaysHouse_2F_Movement_1F948F: @ 81F948F walk_in_place_fastest_up step_end -LittlerootTown_MaysHouse_2F_Movement_1F9497: @ 81F9497 +LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMaySouth: @ 81F9497 delay_16 walk_in_place_fastest_up delay_16 @@ -198,7 +197,7 @@ LittlerootTown_MaysHouse_2F_Movement_1F9497: @ 81F9497 walk_in_place_fastest_right step_end -LittlerootTown_MaysHouse_2F_Movement_1F949D: @ 81F949D +LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerWest: @ 81F949D walk_right walk_right walk_right @@ -207,27 +206,28 @@ LittlerootTown_MaysHouse_2F_Movement_1F949D: @ 81F949D walk_in_place_fastest_down step_end -LittlerootTown_MaysHouse_2F_Movement_1F94A4: @ 81F94A4 +LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCWest: @ 81F94A4 walk_up walk_right walk_right walk_in_place_fastest_up step_end -LittlerootTown_MaysHouse_2F_Movement_1F94A9: @ 81F94A9 +@ Unused, the player is already facing this direction so its unneeded +LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMayWest: @ 81F94A9 delay_16 delay_16 walk_in_place_fastest_right step_end -LittlerootTown_MaysHouse_2F_Movement_1F94AD: @ 81F94AD +LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerEast: @ 81F94AD walk_right walk_right walk_down walk_in_place_fastest_right step_end -LittlerootTown_MaysHouse_2F_Movement_1F94B2: @ 81F94B2 +LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCEast: @ 81F94B2 walk_up walk_up walk_right @@ -238,7 +238,7 @@ LittlerootTown_MaysHouse_2F_Movement_1F94B2: @ 81F94B2 walk_in_place_fastest_up step_end -LittlerootTown_MaysHouse_2F_Movement_1F94BB: @ 81F94BB +LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMayEast: @ 81F94BB delay_16 walk_in_place_fastest_up delay_16 @@ -246,72 +246,71 @@ LittlerootTown_MaysHouse_2F_Movement_1F94BB: @ 81F94BB walk_in_place_fastest_right step_end -LittlerootTown_BrendansHouse_2F_EventScript_1F94C1:: @ 81F94C1 -LittlerootTown_MaysHouse_2F_EventScript_1F94C1:: @ 81F94C1 +RivalsHouse_2F_EventScript_Rival:: @ 81F94C1 lockall - goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_1F94F7 + goto_if_set FLAG_MET_RIVAL_LILYCOVE, RivalsHouse_2F_EventScript_RivalPostLilycove checkplayergender compare VAR_RESULT, MALE - goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94E3 + goto_if_eq RivalsHouse_2F_EventScript_May compare VAR_RESULT, FEMALE - goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94ED + goto_if_eq RivalsHouse_2F_EventScript_Brendan end -LittlerootTown_BrendansHouse_2F_EventScript_1F94E3:: @ 81F94E3 - msgbox LittlerootTown_BrendansHouse_2F_Text_1F978A, MSGBOX_DEFAULT +RivalsHouse_2F_EventScript_May:: @ 81F94E3 + msgbox RivalsHouse_2F_Text_MayGettingReady, MSGBOX_DEFAULT releaseall end -LittlerootTown_BrendansHouse_2F_EventScript_1F94ED:: @ 81F94ED - msgbox LittlerootTown_BrendansHouse_2F_Text_1F9962, MSGBOX_DEFAULT +RivalsHouse_2F_EventScript_Brendan:: @ 81F94ED + msgbox RivalsHouse_2F_Text_BrendanGettingReady, MSGBOX_DEFAULT releaseall end -LittlerootTown_BrendansHouse_2F_EventScript_1F94F7:: @ 81F94F7 +RivalsHouse_2F_EventScript_RivalPostLilycove:: @ 81F94F7 applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer waitmovement 0 checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F951D + call_if_eq RivalsHouse_2F_EventScript_MayPostLilycove compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F952F + call_if_eq RivalsHouse_2F_EventScript_BrendanPostLilycove setflag FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE releaseall end -LittlerootTown_BrendansHouse_2F_EventScript_1F951D:: @ 81F951D - goto_if_set FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_1F9541 - msgbox LittlerootTown_BrendansHouse_2F_Text_1F99C9, MSGBOX_DEFAULT +RivalsHouse_2F_EventScript_MayPostLilycove:: @ 81F951D + goto_if_set FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE, RivalsHouse_2F_EventScript_MayWhereShouldIGoNext + msgbox RivalsHouse_2F_Text_MayJustCheckingMyPokedex, MSGBOX_DEFAULT return -LittlerootTown_BrendansHouse_2F_EventScript_1F952F:: @ 81F952F - goto_if_set FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_1F954A - msgbox LittlerootTown_BrendansHouse_2F_Text_1F9B0D, MSGBOX_DEFAULT +RivalsHouse_2F_EventScript_BrendanPostLilycove:: @ 81F952F + goto_if_set FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE, RivalsHouse_2F_EventScript_BrendanWhereShouldIGoNext + msgbox RivalsHouse_2F_Text_BrendanJustCheckingMyPokedex, MSGBOX_DEFAULT return -LittlerootTown_BrendansHouse_2F_EventScript_1F9541:: @ 81F9541 - msgbox LittlerootTown_BrendansHouse_2F_Text_1F9A9E, MSGBOX_DEFAULT +RivalsHouse_2F_EventScript_MayWhereShouldIGoNext:: @ 81F9541 + msgbox RivalsHouse_2F_Text_MayWhereShouldIGoNext, MSGBOX_DEFAULT return -LittlerootTown_BrendansHouse_2F_EventScript_1F954A:: @ 81F954A - msgbox LittlerootTown_BrendansHouse_2F_Text_1F9BE7, MSGBOX_DEFAULT +RivalsHouse_2F_EventScript_BrendanWhereShouldIGoNext:: @ 81F954A + msgbox RivalsHouse_2F_Text_BrendanWhereShouldIGoNext, MSGBOX_DEFAULT return -EventScript_PlayerPCFemale:: @ 81F9553 +LittlerootTown_MaysHouse_2F_EventScript_PC:: @ 81F9553 lockall checkplayergender compare VAR_RESULT, MALE - goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F956C + goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_CheckRivalsPC compare VAR_RESULT, FEMALE - goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9576 + goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_CheckPlayersPC end -LittlerootTown_MaysHouse_2F_EventScript_1F956C:: @ 81F956C - msgbox gUnknown_08272CD5, MSGBOX_DEFAULT +LittlerootTown_MaysHouse_2F_EventScript_CheckRivalsPC:: @ 81F956C + msgbox gText_PokemonTrainerSchoolEmail, MSGBOX_DEFAULT releaseall end -LittlerootTown_MaysHouse_2F_EventScript_1F9576:: @ 81F9576 +LittlerootTown_MaysHouse_2F_EventScript_CheckPlayersPC:: @ 81F9576 setvar VAR_0x8004, 2 special DoPCTurnOnEffect playse SE_PC_ON @@ -321,14 +320,14 @@ LittlerootTown_MaysHouse_2F_EventScript_1F9576:: @ 81F9576 releaseall end -LittlerootTown_MaysHouse_2F_EventScript_1F958F:: @ 81F958F +LittlerootTown_MaysHouse_2F_EventScript_TurnOffPlayerPC:: @ 81F958F setvar VAR_0x8004, 2 playse SE_PC_OFF special DoPCTurnOffEffect releaseall end -LittlerootTown_MaysHouse_2F_Text_1F959C: @ 81F959C +RivalsHouse_2F_Text_MayWhoAreYou: @ 81F959C .string "Huh?\n" .string "Who… Who are you?\p" .string "… … … … … … … …\n" @@ -352,11 +351,11 @@ LittlerootTown_MaysHouse_2F_Text_1F959C: @ 81F959C .string "some wild POKéMON!\p" .string "{PLAYER}{KUN}, I'll catch you later!$" -LittlerootTown_BrendansHouse_2F_Text_1F978A: @ 81F978A +RivalsHouse_2F_Text_MayGettingReady: @ 81F978A .string "POKéMON fully restored!\n" .string "Items ready, and…$" -LittlerootTown_BrendansHouse_2F_Text_1F97B4: @ 81F97B4 +RivalsHouse_2F_Text_BrendanWhoAreYou: @ 81F97B4 .string "Hey!\n" .string "You…\p" .string "Who are you?\p" @@ -376,16 +375,15 @@ LittlerootTown_BrendansHouse_2F_Text_1F97B4: @ 81F97B4 .string "some wild POKéMON.\p" .string "Some other time, okay?$" -LittlerootTown_BrendansHouse_2F_Text_1F9962: @ 81F9962 +RivalsHouse_2F_Text_BrendanGettingReady: @ 81F9962 .string "POKéMON fully restored…\n" .string "Items all packed, and…$" -LittlerootTown_BrendansHouse_2F_Text_1F9991: @ 81F9991 -LittlerootTown_MaysHouse_2F_Text_1F9991: @ 81F9991 +RivalsHouse_2F_Text_ItsRivalsPokeBall: @ 81F9991 .string "It's {RIVAL}'s POKé BALL!\p" .string "Better leave it right where it is.$" -LittlerootTown_BrendansHouse_2F_Text_1F99C9: @ 81F99C9 +RivalsHouse_2F_Text_MayJustCheckingMyPokedex: @ 81F99C9 .string "MAY: {PLAYER}{KUN}!\p" .string "I was just checking my POKéDEX.\p" .string "There's still a lot of POKéMON that\n" @@ -395,13 +393,13 @@ LittlerootTown_BrendansHouse_2F_Text_1F99C9: @ 81F99C9 .string "I wonder where I should go catch\n" .string "some POKéMON next?$" -LittlerootTown_BrendansHouse_2F_Text_1F9A9E: @ 81F9A9E +RivalsHouse_2F_Text_MayWhereShouldIGoNext: @ 81F9A9E .string "MAY: I wonder where I should go catch\n" .string "some POKéMON next?\p" .string "Wouldn't it be funny if we ran into each\n" .string "other, {PLAYER}{KUN}?$" -LittlerootTown_BrendansHouse_2F_Text_1F9B0D: @ 81F9B0D +RivalsHouse_2F_Text_BrendanJustCheckingMyPokedex: @ 81F9B0D .string "BRENDAN: Hey, it's {PLAYER}.\p" .string "I was just checking out my POKéDEX.\p" .string "There are still many POKéMON that\n" @@ -410,7 +408,7 @@ LittlerootTown_BrendansHouse_2F_Text_1F9B0D: @ 81F9B0D .string "Checking this POKéDEX out gives me\n" .string "the urge to hit the road again.$" -LittlerootTown_BrendansHouse_2F_Text_1F9BE7: @ 81F9BE7 +RivalsHouse_2F_Text_BrendanWhereShouldIGoNext: @ 81F9BE7 .string "BRENDAN: I'm having a hard time deciding\n" .string "where I should catch POKéMON next.\p" .string "Hey, {PLAYER}, if I see you while I'm out\n" diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/map.json b/data/maps/LittlerootTown_ProfessorBirchsLab/map.json index 25ec2e745d..7aadfe03a8 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/map.json +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1F9F84", + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Aide", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A", + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Birch", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC", + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Rival", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB", + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Cyndaquil", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF", + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Totodile", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA023", + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Chikorita", "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA" } ], @@ -117,7 +117,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA3E3" + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Machine" }, { "type": "sign", @@ -125,7 +125,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA3E3" + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Machine" }, { "type": "sign", @@ -133,7 +133,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4CD" + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Book" }, { "type": "sign", @@ -141,7 +141,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4CD" + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Book" }, { "type": "sign", @@ -149,7 +149,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4" + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Bookshelf" }, { "type": "sign", @@ -157,7 +157,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4" + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Bookshelf" }, { "type": "sign", @@ -165,7 +165,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4" + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Bookshelf" }, { "type": "sign", @@ -173,7 +173,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4" + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Bookshelf" }, { "type": "sign", @@ -181,7 +181,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4" + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Bookshelf" }, { "type": "sign", @@ -189,7 +189,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB" + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_PC" }, { "type": "sign", @@ -197,7 +197,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB" + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_PC" }, { "type": "sign", @@ -205,7 +205,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB" + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_PC" }, { "type": "sign", @@ -213,7 +213,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB" + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_PC" }, { "type": "sign", @@ -221,7 +221,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB" + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_PC" }, { "type": "sign", @@ -229,7 +229,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB" + "script": "LittlerootTown_ProfessorBirchsLab_EventScript_PC" } ] } \ No newline at end of file diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc index c4f7045204..f6ed7d8cad 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc @@ -1,147 +1,164 @@ LittlerootTown_ProfessorBirchsLab_MapScripts:: @ 81F9C91 - map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_ProfessorBirchsLab_MapScript1_1F9CA1 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_ProfessorBirchsLab_MapScript2_1F9D06 - map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_ProfessorBirchsLab_MapScript2_1F9DB9 + map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_ProfessorBirchsLab_OnTransition + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_ProfessorBirchsLab_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_ProfessorBirchsLab_OnFrame .byte 0 -LittlerootTown_ProfessorBirchsLab_MapScript1_1F9CA1: @ 81F9CA1 - call Common_EventScript_SetupRivalGender - call LittlerootTown_ProfessorBirchsLab_EventScript_2720AD + @ State descriptions for VAR_DEX_UPGRADE_JOHTO_STARTER_STATE + @ 1: Beat Elite Four, Dex upgrade ready + @ 2: Received National Dex + @ 3: Left lab after receiving National Dex + @ 4: Entered lab after catching all Hoenn mons + @ 5: Birch told player to choose Johto starter + @ 6: Chose Johto starter + + @ State descriptions for VAR_BIRCH_LAB_STATE + @ 1: Never occurs + @ 2: Chose starter + @ 3: Received starter in lab + @ 4: Defeated rival on Route 103 + @ 5: Received pokedex + +LittlerootTown_ProfessorBirchsLab_OnTransition: @ 81F9CA1 + call Common_EventScript_SetupRivalGfxId + call ProfBirch_EventScript_UpdateLocation compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 - goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF7 + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_SetAfterJohtoStarterLayout compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4 - goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3 + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_SetJohtoStarterLayout compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_CheckReadyForJohtoStarter end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD:: @ 81F9CCD +LittlerootTown_ProfessorBirchsLab_EventScript_CheckReadyForJohtoStarter:: @ 81F9CCD specialvar VAR_RESULT, HasAllHoennMons - compare VAR_RESULT, 1 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CE9 + compare VAR_RESULT, TRUE + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SetReadyForJohtoStarter setobjectmovementtype 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN setobjectxyperm 3, 5, 10 end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9CE9:: @ 81F9CE9 +LittlerootTown_ProfessorBirchsLab_EventScript_SetReadyForJohtoStarter:: @ 81F9CE9 setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4 - goto LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3 + goto LittlerootTown_ProfessorBirchsLab_EventScript_SetJohtoStarterLayout -LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3:: @ 81F9CF3 +LittlerootTown_ProfessorBirchsLab_EventScript_SetJohtoStarterLayout:: @ 81F9CF3 setmaplayoutindex LAYOUT_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB_WITH_TABLE end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF7:: @ 81F9CF7 +LittlerootTown_ProfessorBirchsLab_EventScript_SetAfterJohtoStarterLayout:: @ 81F9CF7 setmaplayoutindex LAYOUT_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB_WITH_TABLE setobjectmovementtype 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN setobjectxyperm 3, 5, 10 end -LittlerootTown_ProfessorBirchsLab_MapScript2_1F9D06: @ 81F9D06 - map_script_2 VAR_BIRCH_LAB_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D40 - map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45 - map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45 - map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D71 - map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D71 - map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75 - map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75 +LittlerootTown_ProfessorBirchsLab_OnWarp: @ 81F9D06 + map_script_2 VAR_BIRCH_LAB_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_SetPlayerPosForReceiveStarter + map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_ProfessorBirchsLab_EventScript_SetObjectPosForDexUpgrade + map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_SetObjectPosForDexUpgrade + map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3, LittlerootTown_ProfessorBirchsLab_EventScript_AddRivalObject + map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6, LittlerootTown_ProfessorBirchsLab_EventScript_AddRivalObject + map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_SetObjectPosForJohtoStarters + map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5, LittlerootTown_ProfessorBirchsLab_EventScript_SetObjectPosForJohtoStarters .2byte 0 -LittlerootTown_ProfessorBirchsLab_EventScript_1F9D40:: @ 81F9D40 - turnobject EVENT_OBJ_ID_PLAYER, 2 +LittlerootTown_ProfessorBirchsLab_EventScript_SetPlayerPosForReceiveStarter:: @ 81F9D40 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45:: @ 81F9D45 - turnobject EVENT_OBJ_ID_PLAYER, 2 +LittlerootTown_ProfessorBirchsLab_EventScript_SetObjectPosForDexUpgrade:: @ 81F9D45 + 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 -LittlerootTown_ProfessorBirchsLab_EventScript_1F9D71:: @ 81F9D71 +LittlerootTown_ProfessorBirchsLab_EventScript_AddRivalObject:: @ 81F9D71 addobject 3 end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75:: @ 81F9D75 +LittlerootTown_ProfessorBirchsLab_EventScript_SetObjectPosForJohtoStarters:: @ 81F9D75 addobject 4 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 -LittlerootTown_ProfessorBirchsLab_MapScript2_1F9DB9: @ 81F9DB9 - map_script_2 VAR_BIRCH_LAB_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_1F9DDB - map_script_2 VAR_BIRCH_LAB_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9E67 - map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80 - map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F62 +LittlerootTown_ProfessorBirchsLab_OnFrame: @ 81F9DB9 + map_script_2 VAR_BIRCH_LAB_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_GiveStarterEvent + map_script_2 VAR_BIRCH_LAB_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_GivePokedexEvent + map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_ProfessorBirchsLab_EventScript_UpgradeToNationalDex + map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_ChooseJohtoStarter .2byte 0 -LittlerootTown_ProfessorBirchsLab_EventScript_1F9DDB:: @ 81F9DDB +@ The starter is technically given prior to this on Route 101 by special ChooseStarter +@ This is just where the game tells you its yours and lets you nickname it +LittlerootTown_ProfessorBirchsLab_EventScript_GiveStarterEvent:: @ 81F9DDB lockall bufferleadmonspeciesname 0 - message LittlerootTown_ProfessorBirchsLab_Text_1FA74D + message LittlerootTown_ProfessorBirchsLab_Text_LikeYouToHavePokemon waitmessage playfanfare MUS_FANFA4 waitfanfare - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA8B1, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07 - compare VAR_RESULT, 0 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17 + msgbox LittlerootTown_ProfessorBirchsLab_Text_WhyNotGiveNicknameToMon, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_NicknameStarter + compare VAR_RESULT, NO + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_GoSeeRival end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07:: @ 81F9E07 +LittlerootTown_ProfessorBirchsLab_EventScript_NicknameStarter:: @ 81F9E07 setvar VAR_0x8004, 0 - call Common_EventScript_NameReceivedPokemon - goto LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17 + call Common_EventScript_NameReceivedPartyMon + goto LittlerootTown_ProfessorBirchsLab_EventScript_GoSeeRival end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17:: @ 81F9E17 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA8F6, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36 - compare VAR_RESULT, 0 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48 +LittlerootTown_ProfessorBirchsLab_EventScript_GoSeeRival:: @ 81F9E17 + msgbox LittlerootTown_ProfessorBirchsLab_Text_MightBeGoodIdeaToGoSeeRival, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_AgreeToSeeRival + compare VAR_RESULT, NO + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_DeclineSeeingRival end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36:: @ 81F9E36 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA9D5, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_AgreeToSeeRival:: @ 81F9E36 + msgbox LittlerootTown_ProfessorBirchsLab_Text_GetRivalToTeachYou, MSGBOX_DEFAULT clearflag FLAG_HIDE_ROUTE_101_BOY setvar VAR_BIRCH_LAB_STATE, 3 releaseall end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48:: @ 81F9E48 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA35, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36 - compare VAR_RESULT, 0 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48 +LittlerootTown_ProfessorBirchsLab_EventScript_DeclineSeeingRival:: @ 81F9E48 + msgbox LittlerootTown_ProfessorBirchsLab_Text_DontBeThatWay, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_AgreeToSeeRival + compare VAR_RESULT, NO + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_DeclineSeeingRival end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9E67:: @ 81F9E67 +LittlerootTown_ProfessorBirchsLab_EventScript_GivePokedexEvent:: @ 81F9E67 lockall - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_1F9E78 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_PlayerEnterLabForPokedex waitmovement 0 - goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8 + goto LittlerootTown_ProfessorBirchsLab_EventScript_GivePokedex end -LittlerootTown_ProfessorBirchsLab_Movement_1F9E78: @ 81F9E78 +LittlerootTown_ProfessorBirchsLab_Movement_PlayerEnterLabForPokedex: @ 81F9E78 walk_up walk_up walk_up @@ -151,12 +168,12 @@ LittlerootTown_ProfessorBirchsLab_Movement_1F9E78: @ 81F9E78 walk_up step_end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80 +LittlerootTown_ProfessorBirchsLab_EventScript_UpgradeToNationalDex:: @ 81F9E80 lockall delay 30 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB16D, MSGBOX_DEFAULT + msgbox LittlerootTown_ProfessorBirchsLab_Text_OtherRegionsUpgradeToNational, MSGBOX_DEFAULT closemessage - applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_1F9F46 + applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_BirchRetrievePokedexes waitmovement 0 delay 20 playse SE_TK_KASYA @@ -167,50 +184,50 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80 delay 10 playse SE_TK_KASYA delay 20 - applymovement 3, Common_Movement_WalkInPlaceRight - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement 3, Common_Movement_WalkInPlaceFastestRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9F32 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayUpgradeComment compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9F3C + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanUpgradeComment playse SE_PC_ON waitse delay 20 - applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_1F9F58 + applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_BirchReturnPokedex waitmovement 0 - applymovement 3, Common_Movement_WalkInPlaceUp - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement 3, Common_Movement_WalkInPlaceFastestUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB419, MSGBOX_DEFAULT + msgbox LittlerootTown_ProfessorBirchsLab_Text_OkayAllDone, MSGBOX_DEFAULT playfanfare MUS_FANFA4 - message LittlerootTown_ProfessorBirchsLab_Text_1FB436 + message LittlerootTown_ProfessorBirchsLab_Text_PokedexUpgradedToNational waitmessage waitfanfare setflag FLAG_SYS_NATIONAL_DEX special EnableNationalPokedex - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB466, MSGBOX_DEFAULT + msgbox LittlerootTown_ProfessorBirchsLab_Text_GrassyPatchWaiting2, MSGBOX_DEFAULT closemessage setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCH setflag FLAG_HIDE_LITTLEROOT_TOWN_RIVAL setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2 - setvar VAR_SCOTT_CALL_STEP_COUNTER, 0 - setflag FLAG_SCOTT_CALL_NATIONAL_DEX + setvar VAR_SCOTT_BF_CALL_STEP_COUNTER, 0 + setflag FLAG_SCOTT_CALL_BATTLE_FRONTIER releaseall end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9F32:: @ 81F9F32 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB30F, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_MayUpgradeComment:: @ 81F9F32 + msgbox LittlerootTown_ProfessorBirchsLab_Text_MayUpgradeSoCool, MSGBOX_DEFAULT closemessage return -LittlerootTown_ProfessorBirchsLab_EventScript_1F9F3C:: @ 81F9F3C - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB38E, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_BrendanUpgradeComment:: @ 81F9F3C + msgbox LittlerootTown_ProfessorBirchsLab_Text_BrendanYouCanThankMe, MSGBOX_DEFAULT closemessage return -LittlerootTown_ProfessorBirchsLab_Movement_1F9F46: @ 81F9F46 +LittlerootTown_ProfessorBirchsLab_Movement_BirchRetrievePokedexes: @ 81F9F46 walk_left walk_in_place_fastest_down delay_16 @@ -230,7 +247,7 @@ LittlerootTown_ProfessorBirchsLab_Movement_1F9F46: @ 81F9F46 walk_in_place_fastest_up step_end -LittlerootTown_ProfessorBirchsLab_Movement_1F9F58: @ 81F9F58 +LittlerootTown_ProfessorBirchsLab_Movement_BirchReturnPokedex: @ 81F9F58 walk_left walk_left walk_left @@ -242,16 +259,16 @@ LittlerootTown_ProfessorBirchsLab_Movement_1F9F58: @ 81F9F58 walk_in_place_fastest_down step_end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9F62:: @ 81F9F62 +LittlerootTown_ProfessorBirchsLab_EventScript_ChooseJohtoStarter:: @ 81F9F62 lockall - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_PlayerEnterLabForJohtoStarter waitmovement 0 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB5F9, MSGBOX_DEFAULT + msgbox LittlerootTown_ProfessorBirchsLab_Text_CompletedDexChoosePokemon, MSGBOX_DEFAULT setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5 releaseall end -LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C: @ 81F9F7C +LittlerootTown_ProfessorBirchsLab_Movement_PlayerEnterLabForJohtoStarter: @ 81F9F7C walk_up walk_up walk_up @@ -261,260 +278,259 @@ LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C: @ 81F9F7C walk_up step_end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9F84:: @ 81F9F84 +LittlerootTown_ProfessorBirchsLab_EventScript_Aide:: @ 81F9F84 lock faceplayer compare VAR_BIRCH_LAB_STATE, 3 - goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1 - goto_if_set FLAG_BIRCH_AIDE_MET, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FA7 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA4E2, MSGBOX_DEFAULT + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_AideReceivedStarter + goto_if_set FLAG_BIRCH_AIDE_MET, LittlerootTown_ProfessorBirchsLab_EventScript_AideAlreadyMet + msgbox LittlerootTown_ProfessorBirchsLab_Text_BirchAwayOnFieldwork, MSGBOX_DEFAULT setflag FLAG_BIRCH_AIDE_MET release end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9FA7:: @ 81F9FA7 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA641, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_AideAlreadyMet:: @ 81F9FA7 + msgbox LittlerootTown_ProfessorBirchsLab_Text_BirchIsntOneForDeskWork, MSGBOX_DEFAULT release end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1:: @ 81F9FB1 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA6CE, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_AideReceivedStarter:: @ 81F9FB1 + msgbox LittlerootTown_ProfessorBirchsLab_Text_BirchEnjoysRivalsHelpToo, MSGBOX_DEFAULT release end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB:: @ 81F9FBB +LittlerootTown_ProfessorBirchsLab_EventScript_Cyndaquil:: @ 81F9FBB release compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 - goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057 - applymovement 2, Common_Movement_WalkInPlaceRight + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter + applymovement 2, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - drawmonpic SPECIES_CYNDAQUIL, 10, 3 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB7F6, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061 - goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C + showmonpic SPECIES_CYNDAQUIL, 10, 3 + msgbox LittlerootTown_ProfessorBirchsLab_Text_YoullTakeCyndaquil, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime + goto LittlerootTown_ProfessorBirchsLab_EventScript_GiveCyndaquil end -LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF:: @ 81F9FEF +LittlerootTown_ProfessorBirchsLab_EventScript_Totodile:: @ 81F9FEF release compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 - goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057 - applymovement 2, Common_Movement_WalkInPlaceRight + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter + applymovement 2, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - drawmonpic SPECIES_TOTODILE, 10, 3 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB869, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061 - goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D + showmonpic SPECIES_TOTODILE, 10, 3 + msgbox LittlerootTown_ProfessorBirchsLab_Text_YoullTakeTotodile, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime + goto LittlerootTown_ProfessorBirchsLab_EventScript_GiveTotodile end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA023:: @ 81FA023 +LittlerootTown_ProfessorBirchsLab_EventScript_Chikorita:: @ 81FA023 release compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 - goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057 - applymovement 2, Common_Movement_WalkInPlaceRight + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter + applymovement 2, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - drawmonpic SPECIES_CHIKORITA, 10, 3 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB8E0, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061 - goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE + showmonpic SPECIES_CHIKORITA, 10, 3 + msgbox LittlerootTown_ProfessorBirchsLab_Text_YoullTakeChikorita, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime + goto LittlerootTown_ProfessorBirchsLab_EventScript_GiveChikorita end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA057:: @ 81FA057 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBAF8, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter:: @ 81FA057 + msgbox LittlerootTown_ProfessorBirchsLab_Text_BetterLeaveOthersAlone, MSGBOX_DEFAULT releaseall end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA061:: @ 81FA061 - erasemonpic - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB959, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime:: @ 81FA061 + hidemonpic + msgbox LittlerootTown_ProfessorBirchsLab_Text_TakeYourTimeAllInvaluable, MSGBOX_DEFAULT releaseall end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C:: @ 81FA06C +LittlerootTown_ProfessorBirchsLab_EventScript_GiveCyndaquil:: @ 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 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToParty compare VAR_RESULT, 1 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC - erasemonpic - goto LittlerootTown_ProfessorBirchsLab_EventScript_273811 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToPC + hidemonpic + goto Common_EventScript_NoMoreRoomForPokemon end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1:: @ 81FA0A1 - call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F +LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToParty:: @ 81FA0A1 + call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter removeobject 4 msgbox gText_NicknameThisPokemon, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD - call LittlerootTown_ProfessorBirchsLab_EventScript_27378B - call Common_EventScript_NameReceivedPokemon - goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD + compare VAR_RESULT, NO + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedCyndaquil + call Common_EventScript_GetGiftMonPartySlot + call Common_EventScript_NameReceivedPartyMon + goto LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedCyndaquil end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC:: @ 81FA0CC - call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F +LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToPC:: @ 81FA0CC + call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter removeobject 4 msgbox gText_NicknameThisPokemon, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2 - call LittlerootTown_ProfessorBirchsLab_EventScript_273797 - goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2 + compare VAR_RESULT, NO + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_CyndaquilTransferredToPC + call Common_EventScript_NameReceivedBoxMon + goto LittlerootTown_ProfessorBirchsLab_EventScript_CyndaquilTransferredToPC end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2:: @ 81FA0F2 - call LittlerootTown_ProfessorBirchsLab_EventScript_2737A0 - goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD +LittlerootTown_ProfessorBirchsLab_EventScript_CyndaquilTransferredToPC:: @ 81FA0F2 + call Common_EventScript_TransferredToPC + goto LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedCyndaquil end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD:: @ 81FA0FD - erasemonpic - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedCyndaquil:: @ 81FA0FD + hidemonpic + msgbox LittlerootTown_ProfessorBirchsLab_Text_GrassyPatchWaiting, MSGBOX_DEFAULT setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 releaseall end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D:: @ 81FA10D +LittlerootTown_ProfessorBirchsLab_EventScript_GiveTotodile:: @ 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 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToParty compare VAR_RESULT, 1 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D - erasemonpic - goto LittlerootTown_ProfessorBirchsLab_EventScript_273811 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToPC + hidemonpic + goto Common_EventScript_NoMoreRoomForPokemon end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA142:: @ 81FA142 - call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F +LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToParty:: @ 81FA142 + call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter removeobject 5 msgbox gText_NicknameThisPokemon, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E - call LittlerootTown_ProfessorBirchsLab_EventScript_27378B - call Common_EventScript_NameReceivedPokemon - goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E + compare VAR_RESULT, NO + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedTotodile + call Common_EventScript_GetGiftMonPartySlot + call Common_EventScript_NameReceivedPartyMon + goto LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedTotodile end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D:: @ 81FA16D - call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F +LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToPC:: @ 81FA16D + call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter removeobject 5 msgbox gText_NicknameThisPokemon, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA193 - call LittlerootTown_ProfessorBirchsLab_EventScript_273797 - goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA193 + compare VAR_RESULT, NO + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_TotodileTransferredToPC + call Common_EventScript_NameReceivedBoxMon + goto LittlerootTown_ProfessorBirchsLab_EventScript_TotodileTransferredToPC end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA193:: @ 81FA193 - call LittlerootTown_ProfessorBirchsLab_EventScript_2737A0 - goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E +LittlerootTown_ProfessorBirchsLab_EventScript_TotodileTransferredToPC:: @ 81FA193 + call Common_EventScript_TransferredToPC + goto LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedTotodile end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E:: @ 81FA19E - erasemonpic - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedTotodile:: @ 81FA19E + hidemonpic + msgbox LittlerootTown_ProfessorBirchsLab_Text_GrassyPatchWaiting, MSGBOX_DEFAULT setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 releaseall end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE:: @ 81FA1AE +LittlerootTown_ProfessorBirchsLab_EventScript_GiveChikorita:: @ 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 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToParty compare VAR_RESULT, 1 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E - erasemonpic - goto LittlerootTown_ProfessorBirchsLab_EventScript_273811 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToPC + hidemonpic + goto Common_EventScript_NoMoreRoomForPokemon end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3:: @ 81FA1E3 - call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F +LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToParty:: @ 81FA1E3 + call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter removeobject 6 msgbox gText_NicknameThisPokemon, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F - call LittlerootTown_ProfessorBirchsLab_EventScript_27378B - call Common_EventScript_NameReceivedPokemon - goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F + compare VAR_RESULT, NO + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedChikorita + call Common_EventScript_GetGiftMonPartySlot + call Common_EventScript_NameReceivedPartyMon + goto LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedChikorita end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E:: @ 81FA20E - call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F +LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToPC:: @ 81FA20E + call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter removeobject 6 msgbox gText_NicknameThisPokemon, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA234 - call LittlerootTown_ProfessorBirchsLab_EventScript_273797 - goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA234 + compare VAR_RESULT, NO + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_ChikoritaTransferredToPC + call Common_EventScript_NameReceivedBoxMon + goto LittlerootTown_ProfessorBirchsLab_EventScript_ChikoritaTransferredToPC end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA234:: @ 81FA234 - call LittlerootTown_ProfessorBirchsLab_EventScript_2737A0 - goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F +LittlerootTown_ProfessorBirchsLab_EventScript_ChikoritaTransferredToPC:: @ 81FA234 + call Common_EventScript_TransferredToPC + goto LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedChikorita end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F:: @ 81FA23F - erasemonpic - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedChikorita:: @ 81FA23F + hidemonpic + msgbox LittlerootTown_ProfessorBirchsLab_Text_GrassyPatchWaiting, MSGBOX_DEFAULT setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 releaseall end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F:: @ 81FA24F +LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter:: @ 81FA24F playfanfare MUS_FANFA4 - message LittlerootTown_ProfessorBirchsLab_Text_1FB9D7 + message LittlerootTown_ProfessorBirchsLab_Text_ReceivedJohtoStarter waitmessage waitfanfare return -LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A:: @ 81FA25A +LittlerootTown_ProfessorBirchsLab_EventScript_Birch:: @ 81FA25A lock faceplayer compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA28A + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_CanHaveAnyOneOfRarePokemon compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA294 - goto_if_unset FLAG_HAS_MATCH_CALL, LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E - goto_if_unset FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2 - goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_GrassyPatchWaiting + goto_if_unset FLAG_HAS_MATCH_CALL, LittlerootTown_ProfessorBirchsLab_EventScript_TryRatePokedexOrRegister + goto_if_unset FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, EventScript_RegisterProfBirch + goto LittlerootTown_ProfessorBirchsLab_EventScript_TryRatePokedexOrRegister end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA28A:: @ 81FA28A - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB787, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_CanHaveAnyOneOfRarePokemon:: @ 81FA28A + msgbox LittlerootTown_ProfessorBirchsLab_Text_CanHaveAnyOneOfRarePokemon, MSGBOX_DEFAULT release end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA294:: @ 81FA294 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB466, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_GrassyPatchWaiting:: @ 81FA294 + msgbox LittlerootTown_ProfessorBirchsLab_Text_GrassyPatchWaiting2, MSGBOX_DEFAULT release end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E:: @ 81FA29E - goto_if_unset FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380, LittlerootTown_ProfessorBirchsLab_EventScript_272141 +LittlerootTown_ProfessorBirchsLab_EventScript_TryRatePokedexOrRegister:: @ 81FA29E + goto_if_unset FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380, ProfBirch_EventScript_RatePokedexOrRegister compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_272141 + goto_if_eq ProfBirch_EventScript_RatePokedexOrRegister compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 - goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_272141 + goto_if_ge ProfBirch_EventScript_RatePokedexOrRegister compare VAR_BIRCH_LAB_STATE, 5 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3C4 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA74, MSGBOX_DEFAULT + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_PokemonAwait + msgbox LittlerootTown_ProfessorBirchsLab_Text_BirchRivalGoneHome, MSGBOX_DEFAULT release end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2:: @ 81FA2D2 -Route101_EventScript_1FA2D2:: @ 81FA2D2 - msgbox Route101_Text_2B5F52, MSGBOX_DEFAULT +EventScript_RegisterProfBirch:: @ 81FA2D2 + msgbox MatchCall_Text_BirchRegisterCall, MSGBOX_DEFAULT closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox Route101_Text_2B603A, MSGBOX_DEFAULT + msgbox MatchCall_Text_RegisteredBirch, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -523,20 +539,20 @@ Route101_EventScript_1FA2D2:: @ 81FA2D2 release end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8:: @ 81FA2F8 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAB22, MSGBOX_DEFAULT - call LittlerootTown_ProfessorBirchsLab_EventScript_1FA3AC - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAC4B, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_GivePokedex:: @ 81FA2F8 + msgbox LittlerootTown_ProfessorBirchsLab_Text_HeardYouBeatRivalTakePokedex, MSGBOX_DEFAULT + call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivePokedex + msgbox LittlerootTown_ProfessorBirchsLab_Text_ExplainPokedex, MSGBOX_DEFAULT closemessage - applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_1FA3E0 + applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_RivalApproachPlayer waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA352 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayGivePokeBalls compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanGivePokeBalls setvar VAR_BIRCH_LAB_STATE, 5 setflag FLAG_ADVENTURE_STARTED setvar VAR_OLDALE_TOWN_STATE, 1 @@ -545,153 +561,153 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8:: @ 81FA2F8 releaseall end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA352:: @ 81FA352 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FADD7, MSGBOX_DEFAULT - giveitem_std ITEM_POKE_BALL, 5 - compare VAR_RESULT, 0 - call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3CE - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAE40, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_MayGivePokeBalls:: @ 81FA352 + msgbox LittlerootTown_ProfessorBirchsLab_Text_MayGotPokedexTooTakeThese, MSGBOX_DEFAULT + giveitem ITEM_POKE_BALL, 5 + compare VAR_RESULT, FALSE + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayNoRoomForPokeBalls + msgbox LittlerootTown_ProfessorBirchsLab_Text_CatchCutePokemonWithPokeBalls, MSGBOX_DEFAULT setvar VAR_RESULT, 0 return -LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F:: @ 81FA37F - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF3F, MSGBOX_DEFAULT - giveitem_std ITEM_POKE_BALL, 5 - compare VAR_RESULT, 0 - call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3D7 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF8E, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_BrendanGivePokeBalls:: @ 81FA37F + msgbox LittlerootTown_ProfessorBirchsLab_Text_BrendanGotPokedexTooTakeThese, MSGBOX_DEFAULT + giveitem ITEM_POKE_BALL, 5 + compare VAR_RESULT, FALSE + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanNoRoomForPokeBalls + msgbox LittlerootTown_ProfessorBirchsLab_Text_CatchCoolPokemonWithPokeBalls, MSGBOX_DEFAULT setvar VAR_RESULT, 1 return -LittlerootTown_ProfessorBirchsLab_EventScript_1FA3AC:: @ 81FA3AC +LittlerootTown_ProfessorBirchsLab_EventScript_ReceivePokedex:: @ 81FA3AC playfanfare MUS_FANFA4 - message LittlerootTown_ProfessorBirchsLab_Text_1FAC32 + message LittlerootTown_ProfessorBirchsLab_Text_ReceivedPokedex waitfanfare setflag FLAG_SYS_POKEDEX_GET - special sub_81AFDA0 + special sub_81AFDA0 @ sets flags that are never read setflag FLAG_RECEIVED_POKEDEX_FROM_BIRCH setvar VAR_CABLE_CLUB_TUTORIAL_STATE, 1 return -LittlerootTown_ProfessorBirchsLab_EventScript_1FA3C4:: @ 81FA3C4 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAD6F, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_PokemonAwait:: @ 81FA3C4 + msgbox LittlerootTown_ProfessorBirchsLab_Text_CountlessPokemonAwait, MSGBOX_DEFAULT release end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA3CE:: @ 81FA3CE - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAEF3, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_MayNoRoomForPokeBalls:: @ 81FA3CE + msgbox LittlerootTown_ProfessorBirchsLab_Text_OhYourBagsFull, MSGBOX_DEFAULT return -LittlerootTown_ProfessorBirchsLab_EventScript_1FA3D7:: @ 81FA3D7 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB05D, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_BrendanNoRoomForPokeBalls:: @ 81FA3D7 + msgbox LittlerootTown_ProfessorBirchsLab_Text_HeyYourBagsFull, MSGBOX_DEFAULT return -LittlerootTown_ProfessorBirchsLab_Movement_1FA3E0: @ 81FA3E0 +LittlerootTown_ProfessorBirchsLab_Movement_RivalApproachPlayer: @ 81FA3E0 walk_down walk_in_place_fastest_left step_end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA3E3:: @ 81FA3E3 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB0A2, MSGBOX_SIGN +LittlerootTown_ProfessorBirchsLab_EventScript_Machine:: @ 81FA3E3 + msgbox LittlerootTown_ProfessorBirchsLab_Text_SeriousLookingMachine, MSGBOX_SIGN end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC:: @ 81FA3EC +LittlerootTown_ProfessorBirchsLab_EventScript_Rival:: @ 81FA3EC lock faceplayer compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5 - goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_RivalFuturePlans compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6 - goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA465 + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_RivalHaveYouGoneToBattleFrontier compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2 - goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA490 + goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_RivalTakeBreakFromFieldwork checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA428 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayWhereShouldIGoNext compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA431 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanWhereShouldIGoNext release end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA428:: @ 81FA428 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF08, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_MayWhereShouldIGoNext:: @ 81FA428 + msgbox LittlerootTown_ProfessorBirchsLab_Text_MayWhereShouldIGoNext, MSGBOX_DEFAULT return -LittlerootTown_ProfessorBirchsLab_EventScript_1FA431:: @ 81FA431 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB073, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_BrendanWhereShouldIGoNext:: @ 81FA431 + msgbox LittlerootTown_ProfessorBirchsLab_Text_BrendanWhereShouldIGoNext, MSGBOX_DEFAULT return -LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A:: @ 81FA43A +LittlerootTown_ProfessorBirchsLab_EventScript_RivalFuturePlans:: @ 81FA43A checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA453 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayWhatNextImStayingHere compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanPreferCollectingSlowly release end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA453:: @ 81FA453 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBB68, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_MayWhatNextImStayingHere:: @ 81FA453 + msgbox LittlerootTown_ProfessorBirchsLab_Text_MayWhatNextImStayingHere, MSGBOX_DEFAULT return -LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C:: @ 81FA45C - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBC2D, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_BrendanPreferCollectingSlowly: @ 81FA45C + msgbox LittlerootTown_ProfessorBirchsLab_Text_BrendanPreferCollectingSlowly, MSGBOX_DEFAULT return -LittlerootTown_ProfessorBirchsLab_EventScript_1FA465:: @ 81FA465 +LittlerootTown_ProfessorBirchsLab_EventScript_RivalHaveYouGoneToBattleFrontier:: @ 81FA465 checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA47E + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayHaveYouGoneToBattleFrontier compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA487 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanHaveYouGoneToBattleFrontier release end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA47E:: @ 81FA47E - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBC8D, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_MayHaveYouGoneToBattleFrontier:: @ 81FA47E + msgbox LittlerootTown_ProfessorBirchsLab_Text_MayHaveYouGoneToBattleFrontier, MSGBOX_DEFAULT return -LittlerootTown_ProfessorBirchsLab_EventScript_1FA487:: @ 81FA487 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBCD2, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_BrendanHaveYouGoneToBattleFrontier:: @ 81FA487 + msgbox LittlerootTown_ProfessorBirchsLab_Text_BrendanHaveYouGoneToBattleFrontier, MSGBOX_DEFAULT return -LittlerootTown_ProfessorBirchsLab_EventScript_1FA490:: @ 81FA490 +LittlerootTown_ProfessorBirchsLab_EventScript_RivalTakeBreakFromFieldwork:: @ 81FA490 checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA4A9 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayTakeBreakFromFieldwork compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA4B2 + call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanTakeBreakFromFieldwork release end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA4A9:: @ 81FA4A9 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB528, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_MayTakeBreakFromFieldwork:: @ 81FA4A9 + msgbox LittlerootTown_ProfessorBirchsLab_Text_MayTakeBreakFromFieldwork, MSGBOX_DEFAULT return -LittlerootTown_ProfessorBirchsLab_EventScript_1FA4B2:: @ 81FA4B2 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB58A, MSGBOX_DEFAULT +LittlerootTown_ProfessorBirchsLab_EventScript_BrendanTakeBreakFromFieldwork:: @ 81FA4B2 + msgbox LittlerootTown_ProfessorBirchsLab_Text_BrendanTakeBreakFromFieldwork, MSGBOX_DEFAULT return -LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB:: @ 81FA4BB - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB0E7, MSGBOX_SIGN +LittlerootTown_ProfessorBirchsLab_EventScript_PC:: @ 81FA4BB + msgbox LittlerootTown_ProfessorBirchsLab_Text_PCUsedForResearch, MSGBOX_SIGN end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4:: @ 81FA4C4 - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB124, MSGBOX_SIGN +LittlerootTown_ProfessorBirchsLab_EventScript_Bookshelf:: @ 81FA4C4 + msgbox LittlerootTown_ProfessorBirchsLab_Text_CrammedWithBooksOnPokemon, MSGBOX_SIGN end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA4CD:: @ 81FA4CD - msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB148, MSGBOX_SIGN +LittlerootTown_ProfessorBirchsLab_EventScript_Book:: @ 81FA4CD + msgbox LittlerootTown_ProfessorBirchsLab_Text_BookTooHardToRead, MSGBOX_SIGN end -LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6:: @ 81FA4D6 +LittlerootTown_ProfessorBirchsLab_EventScript_ScottAboardSSTidalCall:: @ 81FA4D6 lockall - pokenavcall LittlerootTown_ProfessorBirchsLab_Text_1FBD1A + pokenavcall LittlerootTown_ProfessorBirchsLab_Text_ScottAboardSSTidalCall waitmessage - clearflag FLAG_SCOTT_CALL_NATIONAL_DEX + clearflag FLAG_SCOTT_CALL_BATTLE_FRONTIER releaseall end -LittlerootTown_ProfessorBirchsLab_Text_1FA4E2: @ 81FA4E2 +LittlerootTown_ProfessorBirchsLab_Text_BirchAwayOnFieldwork: @ 81FA4E2 .string "Hunh? PROF. BIRCH?\p" .string "The PROF's away on fieldwork.\n" .string "Ergo, he isn't here.\p" @@ -704,19 +720,19 @@ LittlerootTown_ProfessorBirchsLab_Text_1FA4E2: @ 81FA4E2 .string "rather go outside and experience\l" .string "things than read about them here.$" -LittlerootTown_ProfessorBirchsLab_Text_1FA641: @ 81FA641 +LittlerootTown_ProfessorBirchsLab_Text_BirchIsntOneForDeskWork: @ 81FA641 .string "The PROF isn't one for doing desk work.\n" .string "He's the type of person who would\l" .string "rather go outside and experience\l" .string "things than read about them here.$" -LittlerootTown_ProfessorBirchsLab_Text_1FA6CE: @ 81FA6CE +LittlerootTown_ProfessorBirchsLab_Text_BirchEnjoysRivalsHelpToo: @ 81FA6CE .string "PROF. BIRCH is studying the habitats\n" .string "and distribution of POKéMON.\p" .string "The PROF enjoys {RIVAL}'s help, too.\n" .string "There's a lot of love there.$" -LittlerootTown_ProfessorBirchsLab_Text_1FA74D: @ 81FA74D +LittlerootTown_ProfessorBirchsLab_Text_LikeYouToHavePokemon: @ 81FA74D .string "PROF. BIRCH: So, {PLAYER}{KUN}.\p" .string "I've heard so much about you from\n" .string "your father.\p" @@ -731,11 +747,11 @@ LittlerootTown_ProfessorBirchsLab_Text_1FA74D: @ 81FA74D .string "used earlier.\p" .string "{PLAYER} received the {STR_VAR_1}!$" -LittlerootTown_ProfessorBirchsLab_Text_1FA8B1: @ 81FA8B1 +LittlerootTown_ProfessorBirchsLab_Text_WhyNotGiveNicknameToMon: @ 81FA8B1 .string "PROF. BIRCH: While you're at it, why not\n" .string "give a nickname to that {STR_VAR_1}?$" -LittlerootTown_ProfessorBirchsLab_Text_1FA8F6: @ 81FA8F6 +LittlerootTown_ProfessorBirchsLab_Text_MightBeGoodIdeaToGoSeeRival: @ 81FA8F6 .string "PROF. BIRCH: If you work at POKéMON\n" .string "and gain experience, I think you'll make\l" .string "an extremely good TRAINER.\p" @@ -744,17 +760,17 @@ LittlerootTown_ProfessorBirchsLab_Text_1FA8F6: @ 81FA8F6 .string "{PLAYER}{KUN}, don't you think it might be\n" .string "a good idea to go see {RIVAL}?$" -LittlerootTown_ProfessorBirchsLab_Text_1FA9D5: @ 81FA9D5 +LittlerootTown_ProfessorBirchsLab_Text_GetRivalToTeachYou: @ 81FA9D5 .string "PROF. BIRCH: Great!\n" .string "{RIVAL} should be happy, too.\p" .string "Get {RIVAL} to teach you what it\n" .string "means to be a TRAINER.$" -LittlerootTown_ProfessorBirchsLab_Text_1FAA35: @ 81FAA35 +LittlerootTown_ProfessorBirchsLab_Text_DontBeThatWay: @ 81FAA35 .string "PROF. BIRCH: Oh, don't be that way.\n" .string "You should go meet my kid.$" -LittlerootTown_ProfessorBirchsLab_Text_1FAA74: @ 81FAA74 +LittlerootTown_ProfessorBirchsLab_Text_BirchRivalGoneHome: @ 81FAA74 .string "PROF. BIRCH: {RIVAL}?\n" .string "Gone home, I think.\p" .string "Or maybe that kid's scrabbling around\n" @@ -762,7 +778,7 @@ LittlerootTown_ProfessorBirchsLab_Text_1FAA74: @ 81FAA74 .string "If you or your POKéMON get tired,\n" .string "you should get some rest at home.$" -LittlerootTown_ProfessorBirchsLab_Text_1FAB22: @ 81FAB22 +LittlerootTown_ProfessorBirchsLab_Text_HeardYouBeatRivalTakePokedex: @ 81FAB22 .string "PROF. BIRCH: Oh, hi, {PLAYER}{KUN}!\p" .string "I heard you beat {RIVAL} on\n" .string "your first try. That's excellent!\p" @@ -774,10 +790,10 @@ LittlerootTown_ProfessorBirchsLab_Text_1FAB22: @ 81FAB22 .string "research, but I think you should have\l" .string "this POKéDEX.$" -LittlerootTown_ProfessorBirchsLab_Text_1FAC32: @ 81FAC32 +LittlerootTown_ProfessorBirchsLab_Text_ReceivedPokedex: @ 81FAC32 .string "{PLAYER} received the POKéDEX!$" -LittlerootTown_ProfessorBirchsLab_Text_1FAC4B: @ 81FAC4B +LittlerootTown_ProfessorBirchsLab_Text_ExplainPokedex: @ 81FAC4B .string "PROF. BIRCH: The POKéDEX is a high-tech\n" .string "tool that automatically makes a record\l" .string "of any POKéMON you meet or catch.\p" @@ -788,19 +804,19 @@ LittlerootTown_ProfessorBirchsLab_Text_1FAC4B: @ 81FAC4B .string "why, {RIVAL} looks for me while I'm out\l" .string "doing fieldwork, and shows me.$" -LittlerootTown_ProfessorBirchsLab_Text_1FAD6F: @ 81FAD6F +LittlerootTown_ProfessorBirchsLab_Text_CountlessPokemonAwait: @ 81FAD6F .string "PROF. BIRCH: Countless POKéMON\n" .string "await you!\p" .string "Argh, I'm getting the itch to get out\n" .string "and do fieldwork again!$" -LittlerootTown_ProfessorBirchsLab_Text_1FADD7: @ 81FADD7 +LittlerootTown_ProfessorBirchsLab_Text_MayGotPokedexTooTakeThese: @ 81FADD7 .string "MAY: Oh, wow, {PLAYER}{KUN}!\n" .string "You got a POKéDEX, too!\p" .string "That's great! Just like me!\n" .string "I've got something for you, too!$" -LittlerootTown_ProfessorBirchsLab_Text_1FAE40: @ 81FAE40 +LittlerootTown_ProfessorBirchsLab_Text_CatchCutePokemonWithPokeBalls: @ 81FAE40 .string "MAY: It's fun if you can get a lot of\n" .string "POKéMON!\p" .string "I'm going to look all over the place\n" @@ -808,20 +824,20 @@ LittlerootTown_ProfessorBirchsLab_Text_1FAE40: @ 81FAE40 .string "If I find any cute POKéMON, I'll catch\n" .string "them with POKé BALLS!$" -LittlerootTown_ProfessorBirchsLab_Text_1FAEF3: @ 81FAEF3 +LittlerootTown_ProfessorBirchsLab_Text_OhYourBagsFull: @ 81FAEF3 .string "Oh? Your BAG's full.$" -LittlerootTown_ProfessorBirchsLab_Text_1FAF08: @ 81FAF08 +LittlerootTown_ProfessorBirchsLab_Text_MayWhereShouldIGoNext: @ 81FAF08 .string "MAY: I wonder where I should go look\n" .string "for POKéMON next?$" -LittlerootTown_ProfessorBirchsLab_Text_1FAF3F: @ 81FAF3F +LittlerootTown_ProfessorBirchsLab_Text_BrendanGotPokedexTooTakeThese: @ 81FAF3F .string "BRENDAN: Huh…\n" .string "So you got a POKéDEX, too.\p" .string "Well then, here.\n" .string "I'll give you these.$" -LittlerootTown_ProfessorBirchsLab_Text_1FAF8E: @ 81FAF8E +LittlerootTown_ProfessorBirchsLab_Text_CatchCoolPokemonWithPokeBalls: @ 81FAF8E .string "BRENDAN: You know it's more fun to\n" .string "have a whole bunch of POKéMON.\p" .string "I'm going to explore all over the place\n" @@ -829,28 +845,28 @@ LittlerootTown_ProfessorBirchsLab_Text_1FAF8E: @ 81FAF8E .string "If I find any cool POKéMON, you bet\n" .string "I'll try to get them with POKé BALLS.$" -LittlerootTown_ProfessorBirchsLab_Text_1FB05D: @ 81FB05D +LittlerootTown_ProfessorBirchsLab_Text_HeyYourBagsFull: @ 81FB05D .string "Hey, your BAG's full.$" -LittlerootTown_ProfessorBirchsLab_Text_1FB073: @ 81FB073 +LittlerootTown_ProfessorBirchsLab_Text_BrendanWhereShouldIGoNext: @ 81FB073 .string "BRENDAN: Where should I look for\n" .string "POKéMON next…$" -LittlerootTown_ProfessorBirchsLab_Text_1FB0A2: @ 81FB0A2 +LittlerootTown_ProfessorBirchsLab_Text_SeriousLookingMachine: @ 81FB0A2 .string "It's a serious-looking machine.\n" .string "The PROF must use this for research.$" -LittlerootTown_ProfessorBirchsLab_Text_1FB0E7: @ 81FB0E7 +LittlerootTown_ProfessorBirchsLab_Text_PCUsedForResearch: @ 81FB0E7 .string "It's a PC used for research.\n" .string "Better not mess around with it.$" -LittlerootTown_ProfessorBirchsLab_Text_1FB124: @ 81FB124 +LittlerootTown_ProfessorBirchsLab_Text_CrammedWithBooksOnPokemon: @ 81FB124 .string "It's crammed with books on POKéMON.$" -LittlerootTown_ProfessorBirchsLab_Text_1FB148: @ 81FB148 +LittlerootTown_ProfessorBirchsLab_Text_BookTooHardToRead: @ 81FB148 .string "It's a book that's too hard to read.$" -LittlerootTown_ProfessorBirchsLab_Text_1FB16D: @ 81FB16D +LittlerootTown_ProfessorBirchsLab_Text_OtherRegionsUpgradeToNational: @ 81FB16D .string "PROF. BIRCH: Now…\p" .string "{PLAYER}{KUN} and {RIVAL}, I've had the two\n" .string "of you help me study POKéMON.\p" @@ -867,28 +883,28 @@ LittlerootTown_ProfessorBirchsLab_Text_1FB16D: @ 81FB16D .string "the NATIONAL Mode.\p" .string "Here, let me see your POKéDEX units.$" -LittlerootTown_ProfessorBirchsLab_Text_1FB30F: @ 81FB30F +LittlerootTown_ProfessorBirchsLab_Text_MayUpgradeSoCool: @ 81FB30F .string "MAY: Eheheh!\p" .string "It's so cool that even my POKéDEX\n" .string "is getting updated!\p" .string "It's because you went out and caught\n" .string "so many POKéMON, {PLAYER}{KUN}!$" -LittlerootTown_ProfessorBirchsLab_Text_1FB38E: @ 81FB38E +LittlerootTown_ProfessorBirchsLab_Text_BrendanYouCanThankMe: @ 81FB38E .string "BRENDAN: I went out all over HOENN\n" .string "and checked out POKéMON.\p" .string "You can thank me for getting\n" .string "the NATIONAL Mode POKéDEX.\p" .string "Yep, you're lucky, {PLAYER}!$" -LittlerootTown_ProfessorBirchsLab_Text_1FB419: @ 81FB419 +LittlerootTown_ProfessorBirchsLab_Text_OkayAllDone: @ 81FB419 .string "PROF. BIRCH: Okay, all done!$" -LittlerootTown_ProfessorBirchsLab_Text_1FB436: @ 81FB436 +LittlerootTown_ProfessorBirchsLab_Text_PokedexUpgradedToNational: @ 81FB436 .string "{PLAYER}'s POKéDEX was upgraded\n" .string "to the NATIONAL Mode!$" -LittlerootTown_ProfessorBirchsLab_Text_1FB466: @ 81FB466 +LittlerootTown_ProfessorBirchsLab_Text_GrassyPatchWaiting2: @ 81FB466 .string "PROF. BIRCH: But listen.\n" .string "You've become the CHAMPION,\l" .string "but your POKéMON journey isn't over.\p" @@ -897,19 +913,19 @@ LittlerootTown_ProfessorBirchsLab_Text_1FB466: @ 81FB466 .string "Somewhere, there is a grassy patch\n" .string "that's waiting for you!$" -LittlerootTown_ProfessorBirchsLab_Text_1FB528: @ 81FB528 +LittlerootTown_ProfessorBirchsLab_Text_MayTakeBreakFromFieldwork: @ 81FB528 .string "MAY: I think I'll take a short break\n" .string "from fieldwork.\p" .string "I think I'll help the PROF here for\n" .string "a while.$" -LittlerootTown_ProfessorBirchsLab_Text_1FB58A: @ 81FB58A +LittlerootTown_ProfessorBirchsLab_Text_BrendanTakeBreakFromFieldwork: @ 81FB58A .string "BRENDAN: For the time being,\n" .string "I'm taking a break from fieldwork.\p" .string "I'll be helping out the PROF here\n" .string "for a while.$" -LittlerootTown_ProfessorBirchsLab_Text_1FB5F9: @ 81FB5F9 +LittlerootTown_ProfessorBirchsLab_Text_CompletedDexChoosePokemon: @ 81FB5F9 .string "PROF. BIRCH: Oh, {PLAYER}{KUN}!\n" .string "Let's have a look at your POKéDEX.\p" .string "… … … … … …\n" @@ -926,48 +942,50 @@ LittlerootTown_ProfessorBirchsLab_Text_1FB5F9: @ 81FB5F9 .string "You can have any one of these\n" .string "three POKéMON!$" -LittlerootTown_ProfessorBirchsLab_Text_1FB787: @ 81FB787 +LittlerootTown_ProfessorBirchsLab_Text_CanHaveAnyOneOfRarePokemon: @ 81FB787 .string "PROF. BIRCH: These are rare POKéMON\n" .string "only found in another region!\p" .string "You can have any one of these\n" .string "three POKéMON!$" -LittlerootTown_ProfessorBirchsLab_Text_1FB7F6: @ 81FB7F6 +LittlerootTown_ProfessorBirchsLab_Text_YoullTakeCyndaquil: @ 81FB7F6 .string "PROF. BIRCH: The FIRE POKéMON\n" .string "CYNDAQUIL caught your eye!\p" .string "You're as sharp as ever!\p" .string "So the CYNDAQUIL is your choice?$" -LittlerootTown_ProfessorBirchsLab_Text_1FB869: @ 81FB869 +LittlerootTown_ProfessorBirchsLab_Text_YoullTakeTotodile: @ 81FB869 .string "PROF. BIRCH: The WATER POKéMON\n" .string "TOTODILE is your choice!\p" .string "You know how to pick a good one.\p" .string "So, you'll take the TOTODILE?$" -LittlerootTown_ProfessorBirchsLab_Text_1FB8E0: @ 81FB8E0 +LittlerootTown_ProfessorBirchsLab_Text_YoullTakeChikorita: @ 81FB8E0 .string "PROF. BIRCH: The GRASS POKéMON\n" .string "CHIKORITA is your choice!\p" .string "You sure know what you're doing.\p" .string "So, you'll take the CHIKORITA?$" -LittlerootTown_ProfessorBirchsLab_Text_1FB959: @ 81FB959 +LittlerootTown_ProfessorBirchsLab_Text_TakeYourTimeAllInvaluable: @ 81FB959 .string "PROF. BIRCH: Take your time before\n" .string "you decide.\p" .string "They're all invaluable POKéMON.$" -LittlerootTown_ProfessorBirchsLab_Text_1FB9A8: @ 81FB9A8 +@ Unused +LittlerootTown_ProfessorBirchsLab_Text_PickedFinePokemon: @ 81FB9A8 .string "PROF. BIRCH: I see!\n" .string "You picked a fine POKéMON!$" -LittlerootTown_ProfessorBirchsLab_Text_1FB9D7: @ 81FB9D7 +LittlerootTown_ProfessorBirchsLab_Text_ReceivedJohtoStarter: @ 81FB9D7 .string "{PLAYER} received the {STR_VAR_1}\n" .string "from PROF. BIRCH!$" -LittlerootTown_ProfessorBirchsLab_Text_1FB9FC: @ 81FB9FC +@ Unused +LittlerootTown_ProfessorBirchsLab_Text_NicknameJohtoStarter: @ 81FB9FC .string "Want to give a nickname to\n" .string "the {STR_VAR_1} you received?$" -LittlerootTown_ProfessorBirchsLab_Text_1FBA2C: @ 81FBA2C +LittlerootTown_ProfessorBirchsLab_Text_GrassyPatchWaiting: @ 81FBA2C .string "PROF. BIRCH: Listen, {PLAYER}{KUN}.\n" .string "You've completed the HOENN POKéDEX,\l" .string "but your POKéMON journey isn't over.\p" @@ -976,15 +994,16 @@ LittlerootTown_ProfessorBirchsLab_Text_1FBA2C: @ 81FBA2C .string "Somewhere, there is a grassy patch\n" .string "that's waiting for you!$" -LittlerootTown_ProfessorBirchsLab_Text_1FBAF8: @ 81FBAF8 +LittlerootTown_ProfessorBirchsLab_Text_BetterLeaveOthersAlone: @ 81FBAF8 .string "You received the promised POKéMON.\n" .string "Better leave the others alone.$" -LittlerootTown_ProfessorBirchsLab_Text_1FBB3A: @ 81FBB3A +@ Unused +LittlerootTown_ProfessorBirchsLab_Text_DontHaveAnyRoomForPokemon: @ 81FBB3A .string "Oh, you don't have any room for\n" .string "this POKéMON.$" -LittlerootTown_ProfessorBirchsLab_Text_1FBB68: @ 81FBB68 +LittlerootTown_ProfessorBirchsLab_Text_MayWhatNextImStayingHere: @ 81FBB68 .string "MAY: {PLAYER}{KUN}, after this…\n" .string "What are you going to do?\p" .string "Are you going to keep battling\n" @@ -993,22 +1012,22 @@ LittlerootTown_ProfessorBirchsLab_Text_1FBB68: @ 81FBB68 .string "the NATIONAL POKéDEX?\p" .string "I'm staying here to help the PROF.$" -LittlerootTown_ProfessorBirchsLab_Text_1FBC2D: @ 81FBC2D +LittlerootTown_ProfessorBirchsLab_Text_BrendanPreferCollectingSlowly: @ 81FBC2D .string "BRENDAN: Rather than collecting\n" .string "POKéMON, I prefer slowly and \l" .string "steadily raising the one I chose.$" -LittlerootTown_ProfessorBirchsLab_Text_1FBC8D: @ 81FBC8D +LittlerootTown_ProfessorBirchsLab_Text_MayHaveYouGoneToBattleFrontier: @ 81FBC8D .string "MAY: Oh, hi, {PLAYER}{KUN}!\n" .string "Have you gone to that place,\l" .string "the BATTLE FRONTIER?$" -LittlerootTown_ProfessorBirchsLab_Text_1FBCD2: @ 81FBCD2 +LittlerootTown_ProfessorBirchsLab_Text_BrendanHaveYouGoneToBattleFrontier: @ 81FBCD2 .string "BRENDAN: Hey, {PLAYER}!\n" .string "Have you gone out to that place,\l" .string "the BATTLE FRONTIER?$" -LittlerootTown_ProfessorBirchsLab_Text_1FBD1A: @ 81FBD1A +LittlerootTown_ProfessorBirchsLab_Text_ScottAboardSSTidalCall: @ 81FBD1A .string "… … … … … …\n" .string "… … … … … Beep!\p" .string "SCOTT: Hi, hi, {PLAYER}!\n" diff --git a/data/maps/MagmaHideout_1F/map.json b/data/maps/MagmaHideout_1F/map.json index 350c52b4f4..ce7474c6f9 100644 --- a/data/maps/MagmaHideout_1F/map.json +++ b/data/maps/MagmaHideout_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MagmaHideout_1F_EventScript_23988C", + "script": "MagmaHideout_1F_EventScript_Grunt1", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "MagmaHideout_1F_EventScript_2398A3", + "script": "MagmaHideout_1F_EventScript_Grunt2", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { diff --git a/data/maps/MagmaHideout_1F/scripts.inc b/data/maps/MagmaHideout_1F/scripts.inc index 2fe4ad581a..7c6997ca2c 100644 --- a/data/maps/MagmaHideout_1F/scripts.inc +++ b/data/maps/MagmaHideout_1F/scripts.inc @@ -6,33 +6,33 @@ MagmaHideout_1F_OnTransition: @ 8239886 setvar VAR_JAGGED_PASS_ASH_WEATHER, 0 end -MagmaHideout_1F_EventScript_23988C:: @ 823988C - trainerbattle_single TRAINER_GRUNT_38, MagmaHideout_1F_Text_2398BA, MagmaHideout_1F_Text_239964 - msgbox MagmaHideout_1F_Text_2399B1, MSGBOX_AUTOCLOSE +MagmaHideout_1F_EventScript_Grunt1:: @ 823988C + trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_1, MagmaHideout_1F_Text_Grunt1Intro, MagmaHideout_1F_Text_Grunt1Defeat + msgbox MagmaHideout_1F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_1F_EventScript_2398A3:: @ 82398A3 - trainerbattle_single TRAINER_GRUNT_39, MagmaHideout_1F_Text_2399F5, MagmaHideout_1F_Text_239ABA - msgbox MagmaHideout_1F_Text_239ACD, MSGBOX_AUTOCLOSE +MagmaHideout_1F_EventScript_Grunt2:: @ 82398A3 + trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_2, MagmaHideout_1F_Text_Grunt2Intro, MagmaHideout_1F_Text_Grunt2Defeat + msgbox MagmaHideout_1F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_1F_Text_2398BA: @ 82398BA +MagmaHideout_1F_Text_Grunt1Intro: @ 82398BA .string "When TEAM MAGMA has roll call, we get\n" .string "important guarding assignments in\l" .string "the order that we line up.\p" .string "That's why I'm stuck off in this corner.\n" .string "I'm always late to roll call!$" -MagmaHideout_1F_Text_239964: @ 8239964 +MagmaHideout_1F_Text_Grunt1Defeat: @ 8239964 .string "I'm always late for training sessions,\n" .string "too!\p" .string "I hate to say it, but I'm wimpy…$" -MagmaHideout_1F_Text_2399B1: @ 82399B1 +MagmaHideout_1F_Text_Grunt1PostBattle: @ 82399B1 .string "Okay, I'll try to put a little more\n" .string "effort into things from now on…$" -MagmaHideout_1F_Text_2399F5: @ 82399F5 +MagmaHideout_1F_Text_Grunt2Intro: @ 82399F5 .string "Our leader told us to dig into\n" .string "MT. CHIMNEY, so we dug and dug.\p" .string "And in the course of digging, we came\n" @@ -41,11 +41,11 @@ MagmaHideout_1F_Text_2399F5: @ 82399F5 .string "Fuhahaha!\n" .string "I'll tell you if you beat me!$" -MagmaHideout_1F_Text_239ABA: @ 8239ABA +MagmaHideout_1F_Text_Grunt2Defeat: @ 8239ABA .string "Arrgh!\n" .string "Taken down!$" -MagmaHideout_1F_Text_239ACD: @ 8239ACD +MagmaHideout_1F_Text_Grunt2PostBattle: @ 8239ACD .string "I won't tell you after all.\n" .string "You'll find out when you get there!\p" .string "It'd be better if you saved surprises\n" diff --git a/data/maps/MagmaHideout_2F_1R/map.json b/data/maps/MagmaHideout_2F_1R/map.json index d628c1b5ae..a059ed3d9b 100644 --- a/data/maps/MagmaHideout_2F_1R/map.json +++ b/data/maps/MagmaHideout_2F_1R/map.json @@ -24,7 +24,7 @@ "movement_range_y": 4, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MagmaHideout_2F_1R_EventScript_239B7F", + "script": "MagmaHideout_2F_1R_EventScript_Grunt4", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { @@ -37,7 +37,7 @@ "movement_range_y": 6, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MagmaHideout_2F_1R_EventScript_239B96", + "script": "MagmaHideout_2F_1R_EventScript_Grunt5", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "7", - "script": "MagmaHideout_2F_1R_EventScript_239B51", + "script": "MagmaHideout_2F_1R_EventScript_Grunt14", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MagmaHideout_2F_1R_EventScript_239B68", + "script": "MagmaHideout_2F_1R_EventScript_Grunt3", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" } ], diff --git a/data/maps/MagmaHideout_2F_1R/scripts.inc b/data/maps/MagmaHideout_2F_1R/scripts.inc index 9ea2ef6fe3..6f117c0062 100644 --- a/data/maps/MagmaHideout_2F_1R/scripts.inc +++ b/data/maps/MagmaHideout_2F_1R/scripts.inc @@ -1,27 +1,27 @@ MagmaHideout_2F_1R_MapScripts:: @ 8239B50 .byte 0 -MagmaHideout_2F_1R_EventScript_239B51:: @ 8239B51 - trainerbattle_single TRAINER_GRUNT_51, MagmaHideout_2F_1R_Text_239BAD, MagmaHideout_2F_1R_Text_239C4B - msgbox MagmaHideout_2F_1R_Text_239C74, MSGBOX_AUTOCLOSE +MagmaHideout_2F_1R_EventScript_Grunt14:: @ 8239B51 + trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_14, MagmaHideout_2F_1R_Text_Grunt14Intro, MagmaHideout_2F_1R_Text_Grunt14Defeat + msgbox MagmaHideout_2F_1R_Text_Grunt14PostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_2F_1R_EventScript_239B68:: @ 8239B68 - trainerbattle_single TRAINER_GRUNT_40, MagmaHideout_2F_1R_Text_239CAB, MagmaHideout_2F_1R_Text_239D09 - msgbox MagmaHideout_2F_1R_Text_239D1D, MSGBOX_AUTOCLOSE +MagmaHideout_2F_1R_EventScript_Grunt3:: @ 8239B68 + trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_3, MagmaHideout_2F_1R_Text_Grunt3Intro, MagmaHideout_2F_1R_Text_Grunt3Defeat + msgbox MagmaHideout_2F_1R_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_2F_1R_EventScript_239B7F:: @ 8239B7F - trainerbattle_single TRAINER_GRUNT_41, MagmaHideout_2F_1R_Text_239D62, MagmaHideout_2F_1R_Text_239D75 - msgbox MagmaHideout_2F_1R_Text_239D7D, MSGBOX_AUTOCLOSE +MagmaHideout_2F_1R_EventScript_Grunt4:: @ 8239B7F + trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_4, MagmaHideout_2F_1R_Text_Grunt4Intro, MagmaHideout_2F_1R_Text_Grunt4Defeat + msgbox MagmaHideout_2F_1R_Text_Grunt4PostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_2F_1R_EventScript_239B96:: @ 8239B96 - trainerbattle_single TRAINER_GRUNT_42, MagmaHideout_2F_1R_Text_239DC5, MagmaHideout_2F_1R_Text_239DDA - msgbox MagmaHideout_2F_1R_Text_239DE2, MSGBOX_AUTOCLOSE +MagmaHideout_2F_1R_EventScript_Grunt5:: @ 8239B96 + trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_5, MagmaHideout_2F_1R_Text_Grunt5Intro, MagmaHideout_2F_1R_Text_Grunt5Defeat + msgbox MagmaHideout_2F_1R_Text_Grunt5PostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_2F_1R_Text_239BAD: @ 8239BAD +MagmaHideout_2F_1R_Text_Grunt14Intro: @ 8239BAD .string "What, what, what?\p" .string "Only TEAM MAGMA members are supposed\n" .string "to be in here!\p" @@ -30,46 +30,46 @@ MagmaHideout_2F_1R_Text_239BAD: @ 8239BAD .string "You rouse my suspicion!\n" .string "Battle with me!$" -MagmaHideout_2F_1R_Text_239C4B: @ 8239C4B +MagmaHideout_2F_1R_Text_Grunt14Defeat: @ 8239C4B .string "Aiyiyi…\n" .string "My pride as a TEAM MAGMA member…$" -MagmaHideout_2F_1R_Text_239C74: @ 8239C74 +MagmaHideout_2F_1R_Text_Grunt14PostBattle: @ 8239C74 .string "If you suffer from chills, you should\n" .string "join TEAM MAGMA.$" -MagmaHideout_2F_1R_Text_239CAB: @ 8239CAB +MagmaHideout_2F_1R_Text_Grunt3Intro: @ 8239CAB .string "Hold it right there!\p" .string "You don't really expect me to keep\n" .string "my trap shut and let you waltz by me?$" -MagmaHideout_2F_1R_Text_239D09: @ 8239D09 +MagmaHideout_2F_1R_Text_Grunt3Defeat: @ 8239D09 .string "Ooh wow!\n" .string "I concede!$" -MagmaHideout_2F_1R_Text_239D1D: @ 8239D1D +MagmaHideout_2F_1R_Text_Grunt3PostBattle: @ 8239D1D .string "Maybe it would've been better if I did\n" .string "just let you go unchallenged…$" -MagmaHideout_2F_1R_Text_239D62: @ 8239D62 +MagmaHideout_2F_1R_Text_Grunt4Intro: @ 8239D62 .string "Ahah!\n" .string "An intruder!$" -MagmaHideout_2F_1R_Text_239D75: @ 8239D75 +MagmaHideout_2F_1R_Text_Grunt4Defeat: @ 8239D75 .string "Graaah!$" -MagmaHideout_2F_1R_Text_239D7D: @ 8239D7D +MagmaHideout_2F_1R_Text_Grunt4PostBattle: @ 8239D7D .string "I've already lost.\p" .string "Do I really need to keep running\n" .string "around in a circle?$" -MagmaHideout_2F_1R_Text_239DC5: @ 8239DC5 +MagmaHideout_2F_1R_Text_Grunt5Intro: @ 8239DC5 .string "Oh, oh!\n" .string "An intruder!$" -MagmaHideout_2F_1R_Text_239DDA: @ 8239DDA +MagmaHideout_2F_1R_Text_Grunt5Defeat: @ 8239DDA .string "Mutter…$" -MagmaHideout_2F_1R_Text_239DE2: @ 8239DE2 +MagmaHideout_2F_1R_Text_Grunt5PostBattle: @ 8239DE2 .string "Actually, I'm no expert at battling…$" diff --git a/data/maps/MagmaHideout_2F_2R/map.json b/data/maps/MagmaHideout_2F_2R/map.json index b52d342127..5d70de4899 100644 --- a/data/maps/MagmaHideout_2F_2R/map.json +++ b/data/maps/MagmaHideout_2F_2R/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "7", - "script": "MagmaHideout_2F_2R_EventScript_239E4D", + "script": "MagmaHideout_2F_2R_EventScript_Grunt8", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MagmaHideout_2F_2R_EventScript_239E36", + "script": "MagmaHideout_2F_2R_EventScript_Grunt7", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "MagmaHideout_2F_2R_EventScript_239E1F", + "script": "MagmaHideout_2F_2R_EventScript_Grunt6", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MagmaHideout_2F_2R_EventScript_239E08", + "script": "MagmaHideout_2F_2R_EventScript_Grunt15", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { diff --git a/data/maps/MagmaHideout_2F_2R/scripts.inc b/data/maps/MagmaHideout_2F_2R/scripts.inc index 5539d26de6..d0121f9534 100644 --- a/data/maps/MagmaHideout_2F_2R/scripts.inc +++ b/data/maps/MagmaHideout_2F_2R/scripts.inc @@ -1,78 +1,78 @@ MagmaHideout_2F_2R_MapScripts:: @ 8239E07 .byte 0 -MagmaHideout_2F_2R_EventScript_239E08:: @ 8239E08 - trainerbattle_single TRAINER_GRUNT_52, MagmaHideout_2F_2R_Text_239E64, MagmaHideout_2F_2R_Text_239EA5 - msgbox MagmaHideout_2F_2R_Text_239EBB, MSGBOX_AUTOCLOSE +MagmaHideout_2F_2R_EventScript_Grunt15:: @ 8239E08 + trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_15, MagmaHideout_2F_2R_Text_Grunt15Intro, MagmaHideout_2F_2R_Text_Grunt15Defeat + msgbox MagmaHideout_2F_2R_Text_Grunt15PostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_2F_2R_EventScript_239E1F:: @ 8239E1F - trainerbattle_single TRAINER_GRUNT_43, MagmaHideout_2F_2R_Text_239F31, MagmaHideout_2F_2R_Text_239F71 - msgbox MagmaHideout_2F_2R_Text_239FA1, MSGBOX_AUTOCLOSE +MagmaHideout_2F_2R_EventScript_Grunt6:: @ 8239E1F + trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_6, MagmaHideout_2F_2R_Text_Grunt6Intro, MagmaHideout_2F_2R_Text_Grunt6Defeat + msgbox MagmaHideout_2F_2R_Text_Grunt6PostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_2F_2R_EventScript_239E36:: @ 8239E36 - trainerbattle_single TRAINER_GRUNT_44, MagmaHideout_2F_2R_Text_239FDE, MagmaHideout_2F_2R_Text_23A050 - msgbox MagmaHideout_2F_2R_Text_23A07D, MSGBOX_AUTOCLOSE +MagmaHideout_2F_2R_EventScript_Grunt7:: @ 8239E36 + trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_7, MagmaHideout_2F_2R_Text_Grunt7Intro, MagmaHideout_2F_2R_Text_Grunt7Defeat + msgbox MagmaHideout_2F_2R_Text_Grunt7PostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_2F_2R_EventScript_239E4D:: @ 8239E4D - trainerbattle_single TRAINER_GRUNT_45, MagmaHideout_2F_2R_Text_23A0E4, MagmaHideout_2F_2R_Text_23A14C - msgbox MagmaHideout_2F_2R_Text_23A16F, MSGBOX_AUTOCLOSE +MagmaHideout_2F_2R_EventScript_Grunt8:: @ 8239E4D + trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_8, MagmaHideout_2F_2R_Text_Grunt8Intro, MagmaHideout_2F_2R_Text_Grunt8Defeat + msgbox MagmaHideout_2F_2R_Text_Grunt8PostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_2F_2R_Text_239E64: @ 8239E64 +MagmaHideout_2F_2R_Text_Grunt15Intro: @ 8239E64 .string "I don't have a bone to pick with you.\n" .string "I'm just following orders!$" -MagmaHideout_2F_2R_Text_239EA5: @ 8239EA5 +MagmaHideout_2F_2R_Text_Grunt15Defeat: @ 8239EA5 .string "I may have lost, but…$" -MagmaHideout_2F_2R_Text_239EBB: @ 8239EBB +MagmaHideout_2F_2R_Text_Grunt15PostBattle: @ 8239EBB .string "We dug up something beyond belief!\n" .string "And, we got the BLUE ORB!\p" .string "All that's left is for our leader to…\n" .string "Fufufu… Fwahahaha!$" -MagmaHideout_2F_2R_Text_239F31: @ 8239F31 +MagmaHideout_2F_2R_Text_Grunt6Intro: @ 8239F31 .string "I can't stand heat. Maybe I should've\n" .string "joined TEAM AQUA instead…$" -MagmaHideout_2F_2R_Text_239F71: @ 8239F71 +MagmaHideout_2F_2R_Text_Grunt6Defeat: @ 8239F71 .string "Yeah, I really may not be right for\n" .string "TEAM MAGMA…$" -MagmaHideout_2F_2R_Text_239FA1: @ 8239FA1 +MagmaHideout_2F_2R_Text_Grunt6PostBattle: @ 8239FA1 .string "Don't you get lonely for the sea\n" .string "being in a place like this?$" -MagmaHideout_2F_2R_Text_239FDE: @ 8239FDE +MagmaHideout_2F_2R_Text_Grunt7Intro: @ 8239FDE .string "You can hear tremors here sometimes.\p" .string "Could it be the volcano rattling?\n" .string "Or is it GROU…\p" .string "Whoops!\n" .string "No, no, never mind!$" -MagmaHideout_2F_2R_Text_23A050: @ 823A050 +MagmaHideout_2F_2R_Text_Grunt7Defeat: @ 823A050 .string "You're a fiery battler.\n" .string "Just like a volcano!$" -MagmaHideout_2F_2R_Text_23A07D: @ 823A07D +MagmaHideout_2F_2R_Text_Grunt7PostBattle: @ 823A07D .string "You just happened to win this time,\n" .string "but that doesn't matter.\p" .string "TEAM MAGMA's goal is about to be\n" .string "reached!$" -MagmaHideout_2F_2R_Text_23A0E4: @ 823A0E4 +MagmaHideout_2F_2R_Text_Grunt8Intro: @ 823A0E4 .string "One of our guys was freaking out that\n" .string "he lost his MAGMA EMBLEM…\p" .string "Wait a minute!\n" .string "Was it you who found it?$" -MagmaHideout_2F_2R_Text_23A14C: @ 823A14C +MagmaHideout_2F_2R_Text_Grunt8Defeat: @ 823A14C .string "I'm having trouble believing this…$" -MagmaHideout_2F_2R_Text_23A16F: @ 823A16F +MagmaHideout_2F_2R_Text_Grunt8PostBattle: @ 823A16F .string "I'm getting this feeling that our plan\n" .string "is going to end in failure…$" diff --git a/data/maps/MagmaHideout_3F_1R/map.json b/data/maps/MagmaHideout_3F_1R/map.json index e3c1bac70c..edf3e66716 100644 --- a/data/maps/MagmaHideout_3F_1R/map.json +++ b/data/maps/MagmaHideout_3F_1R/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "MagmaHideout_3F_1R_EventScript_23A1B3", + "script": "MagmaHideout_3F_1R_EventScript_Grunt9", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "MagmaHideout_3F_1R_EventScript_23A1CA", + "script": "MagmaHideout_3F_1R_EventScript_Grunt16", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { diff --git a/data/maps/MagmaHideout_3F_1R/scripts.inc b/data/maps/MagmaHideout_3F_1R/scripts.inc index 879cd282d9..04e5526aee 100644 --- a/data/maps/MagmaHideout_3F_1R/scripts.inc +++ b/data/maps/MagmaHideout_3F_1R/scripts.inc @@ -1,29 +1,29 @@ MagmaHideout_3F_1R_MapScripts:: @ 823A1B2 .byte 0 -MagmaHideout_3F_1R_EventScript_23A1B3:: @ 823A1B3 - trainerbattle_single TRAINER_GRUNT_46, MagmaHideout_3F_1R_Text_23A1E1, MagmaHideout_3F_1R_Text_23A229 - msgbox MagmaHideout_3F_1R_Text_23A246, MSGBOX_AUTOCLOSE +MagmaHideout_3F_1R_EventScript_Grunt9:: @ 823A1B3 + trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_9, MagmaHideout_3F_1R_Text_Grunt9Intro, MagmaHideout_3F_1R_Text_Grunt9Defeat + msgbox MagmaHideout_3F_1R_Text_Grunt9PostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_3F_1R_EventScript_23A1CA:: @ 823A1CA - trainerbattle_single TRAINER_GRUNT_53, MagmaHideout_3F_1R_Text_23A293, MagmaHideout_3F_1R_Text_23A353 - msgbox MagmaHideout_3F_1R_Text_23A37C, MSGBOX_AUTOCLOSE +MagmaHideout_3F_1R_EventScript_Grunt16:: @ 823A1CA + trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_16, MagmaHideout_3F_1R_Text_Grunt16Intro, MagmaHideout_3F_1R_Text_Grunt16Defeat + msgbox MagmaHideout_3F_1R_Text_Grunt16PostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_3F_1R_Text_23A1E1: @ 823A1E1 +MagmaHideout_3F_1R_Text_Grunt9Intro: @ 823A1E1 .string "What did I do to deserve this guard\n" .string "posting?\p" .string "My left ear is burning up!$" -MagmaHideout_3F_1R_Text_23A229: @ 823A229 +MagmaHideout_3F_1R_Text_Grunt9Defeat: @ 823A229 .string "I'm getting heat exhaustion…$" -MagmaHideout_3F_1R_Text_23A246: @ 823A246 +MagmaHideout_3F_1R_Text_Grunt9PostBattle: @ 823A246 .string "Do you think it's odd that we're wearing\n" .string "hoods in this magma-filled volcano?$" -MagmaHideout_3F_1R_Text_23A293: @ 823A293 +MagmaHideout_3F_1R_Text_Grunt16Intro: @ 823A293 .string "We joined so we can help our leader\n" .string "achieve his fantastic vision.\p" .string "I don't care if you're with TEAM AQUA\n" @@ -31,11 +31,11 @@ MagmaHideout_3F_1R_Text_23A293: @ 823A293 .string "No one interferes with us and gets\n" .string "away with it!$" -MagmaHideout_3F_1R_Text_23A353: @ 823A353 +MagmaHideout_3F_1R_Text_Grunt16Defeat: @ 823A353 .string "Oh, no!\n" .string "You're not to be trusted at all!$" -MagmaHideout_3F_1R_Text_23A37C: @ 823A37C +MagmaHideout_3F_1R_Text_Grunt16PostBattle: @ 823A37C .string "Listen to me.\n" .string "TEAM MAGMA is right!\p" .string "Don't listen to TEAM AQUA.\n" diff --git a/data/maps/MagmaHideout_3F_2R/map.json b/data/maps/MagmaHideout_3F_2R/map.json index e4b267858b..70dd1bdf8f 100644 --- a/data/maps/MagmaHideout_3F_2R/map.json +++ b/data/maps/MagmaHideout_3F_2R/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MagmaHideout_3F_2R_EventScript_23A3D5", + "script": "MagmaHideout_3F_2R_EventScript_Grunt10", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { diff --git a/data/maps/MagmaHideout_3F_2R/scripts.inc b/data/maps/MagmaHideout_3F_2R/scripts.inc index 14f7001fa9..06f371151e 100644 --- a/data/maps/MagmaHideout_3F_2R/scripts.inc +++ b/data/maps/MagmaHideout_3F_2R/scripts.inc @@ -1,12 +1,12 @@ MagmaHideout_3F_2R_MapScripts:: @ 823A3D4 .byte 0 -MagmaHideout_3F_2R_EventScript_23A3D5:: @ 823A3D5 - trainerbattle_single TRAINER_GRUNT_47, MagmaHideout_3F_2R_Text_23A3EC, MagmaHideout_3F_2R_Text_23A4BB - msgbox MagmaHideout_3F_2R_Text_23A4EF, MSGBOX_AUTOCLOSE +MagmaHideout_3F_2R_EventScript_Grunt10:: @ 823A3D5 + trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_10, MagmaHideout_3F_2R_Text_Grunt10Intro, MagmaHideout_3F_2R_Text_Grunt10Defeat + msgbox MagmaHideout_3F_2R_Text_Grunt10PostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_3F_2R_Text_23A3EC: @ 823A3EC +MagmaHideout_3F_2R_Text_Grunt10Intro: @ 823A3EC .string "I understand everything our leader\n" .string "says. But you know what?\p" .string "Doing stuff like digging up a super-\n" @@ -15,11 +15,11 @@ MagmaHideout_3F_2R_Text_23A3EC: @ 823A3EC .string "I think we're going a little too far.\n" .string "What do you think?$" -MagmaHideout_3F_2R_Text_23A4BB: @ 823A4BB +MagmaHideout_3F_2R_Text_Grunt10Defeat: @ 823A4BB .string "Yeah, I think we are doing something\n" .string "wrong somehow.$" -MagmaHideout_3F_2R_Text_23A4EF: @ 823A4EF +MagmaHideout_3F_2R_Text_Grunt10PostBattle: @ 823A4EF .string "You know, losing to you cleared my mind.\p" .string "The next time I see our leader,\n" .string "I'm going to ask him about what we do.$" diff --git a/data/maps/MagmaHideout_4F/map.json b/data/maps/MagmaHideout_4F/map.json index 5eebc41d80..b01200f08a 100644 --- a/data/maps/MagmaHideout_4F/map.json +++ b/data/maps/MagmaHideout_4F/map.json @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MagmaHideout_4F_EventScript_23A68C", + "script": "MagmaHideout_4F_EventScript_Grunt11", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MagmaHideout_4F_EventScript_23A6A3", + "script": "MagmaHideout_4F_EventScript_Grunt12", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MagmaHideout_4F_EventScript_23A6BA", + "script": "MagmaHideout_4F_EventScript_Grunt13", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "MagmaHideout_4F_EventScript_23A6D1", + "script": "MagmaHideout_4F_EventScript_Tabitha", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MagmaHideout_4F_EventScript_23A560", + "script": "MagmaHideout_4F_EventScript_Maxie", "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { diff --git a/data/maps/MagmaHideout_4F/scripts.inc b/data/maps/MagmaHideout_4F/scripts.inc index 7bbb4ac184..5251c75ae4 100644 --- a/data/maps/MagmaHideout_4F/scripts.inc +++ b/data/maps/MagmaHideout_4F/scripts.inc @@ -1,82 +1,79 @@ MagmaHideout_4F_MapScripts:: @ 823A55F .byte 0 -MagmaHideout_4F_EventScript_23A560:: @ 823A560 +MagmaHideout_4F_EventScript_Maxie:: @ 823A560 lockall playbgm MUS_MGM0, 0 - msgbox MagmaHideout_4F_Text_23A9F4, MSGBOX_DEFAULT + msgbox MagmaHideout_4F_Text_MaxieAwakenGroudon, MSGBOX_DEFAULT closemessage delay 20 setvar VAR_RESULT, 1 playse SE_W197 - setfieldeffectargument 0, 18 - setfieldeffectargument 1, 42 - setfieldeffectargument 2, 0 - dofieldeffect FLDEFF_SPARKLE + dofieldeffectsparkle 18, 42, 0 waitfieldeffect FLDEFF_SPARKLE setvar VAR_RESULT, 1 playfanfare MUS_ME_TAMA playse SE_TAMA - special sub_80B0534 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + special DoOrbEffect + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 150 - removeobject 7 - addobject 1 + removeobject 7 @ sleeping Groudon + addobject 1 @ awakened Groudon waitstate delay 60 - applymovement 1, MagmaHideout_4F_Movement_23A672 + applymovement 1, MagmaHideout_4F_Movement_GroudonApproach waitmovement 0 - special sub_80B058C + special FadeOutOrbEffect waitstate - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 5 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 1 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 5 @ shake delay + special ShakeCamera waitstate - applymovement 1, MagmaHideout_4F_Movement_23A67D + applymovement 1, MagmaHideout_4F_Movement_GroudonExit waitmovement 0 removeobject 1 delay 4 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 5 - special sub_8139560 + setvar VAR_0x8004, 2 @ vertical pan + setvar VAR_0x8005, 2 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 5 @ shake delay + special ShakeCamera waitstate delay 30 - applymovement 6, MagmaHideout_4F_Movement_23A680 + applymovement 6, MagmaHideout_4F_Movement_MaxieLookAround waitmovement 0 - msgbox MagmaHideout_4F_Text_23AADA, MSGBOX_DEFAULT + msgbox MagmaHideout_4F_Text_MaxieGroudonWhatsWrong, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 30 applymovement 6, Common_Movement_FacePlayer waitmovement 0 - msgbox MagmaHideout_4F_Text_23AB33, MSGBOX_DEFAULT + msgbox MagmaHideout_4F_Text_MaxieOhItWasYou, MSGBOX_DEFAULT closemessage - trainerbattle_no_intro TRAINER_MAXIE_1, MagmaHideout_4F_Text_23ABB5 - msgbox MagmaHideout_4F_Text_23ABE2, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_MAXIE_MAGMA_HIDEOUT, MagmaHideout_4F_Text_MaxieDefeat + msgbox MagmaHideout_4F_Text_MaxieImGoingAfterGroudon, MSGBOX_DEFAULT closemessage clearflag FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN clearflag FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY setvar VAR_SLATEPORT_CITY_STATE, 1 setflag FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT setvar VAR_SLATEPORT_HARBOR_STATE, 1 - fadescreen 1 + fadescreen FADE_TO_BLACK removeobject 6 removeobject 2 removeobject 3 removeobject 4 removeobject 5 setflag FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS - fadescreen 0 + fadescreen FADE_FROM_BLACK releaseall end -MagmaHideout_4F_Movement_23A672: @ 823A672 +MagmaHideout_4F_Movement_GroudonApproach: @ 823A672 delay_16 delay_16 walk_slow_down @@ -89,12 +86,12 @@ MagmaHideout_4F_Movement_23A672: @ 823A672 delay_16 step_end -MagmaHideout_4F_Movement_23A67D: @ 823A67D +MagmaHideout_4F_Movement_GroudonExit: @ 823A67D slide_up slide_up step_end -MagmaHideout_4F_Movement_23A680: @ 823A680 +MagmaHideout_4F_Movement_MaxieLookAround: @ 823A680 face_left delay_16 face_right @@ -108,64 +105,64 @@ MagmaHideout_4F_Movement_23A680: @ 823A680 delay_16 step_end -MagmaHideout_4F_EventScript_23A68C:: @ 823A68C - trainerbattle_single TRAINER_GRUNT_48, MagmaHideout_4F_Text_23A6E8, MagmaHideout_4F_Text_23A775 - msgbox MagmaHideout_4F_Text_23A7B5, MSGBOX_AUTOCLOSE +MagmaHideout_4F_EventScript_Grunt11:: @ 823A68C + trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_11, MagmaHideout_4F_Text_Grunt11Intro, MagmaHideout_4F_Text_Grunt11Defeat + msgbox MagmaHideout_4F_Text_Grunt11PostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_4F_EventScript_23A6A3:: @ 823A6A3 - trainerbattle_single TRAINER_GRUNT_49, MagmaHideout_4F_Text_23A7DA, MagmaHideout_4F_Text_23A81B - msgbox MagmaHideout_4F_Text_23A841, MSGBOX_AUTOCLOSE +MagmaHideout_4F_EventScript_Grunt12:: @ 823A6A3 + trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_12, MagmaHideout_4F_Text_Grunt12Intro, MagmaHideout_4F_Text_Grunt12Defeat + msgbox MagmaHideout_4F_Text_Grunt12PostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_4F_EventScript_23A6BA:: @ 823A6BA - trainerbattle_single TRAINER_GRUNT_50, MagmaHideout_4F_Text_23A86D, MagmaHideout_4F_Text_23A8A7 - msgbox MagmaHideout_4F_Text_23A8C6, MSGBOX_AUTOCLOSE +MagmaHideout_4F_EventScript_Grunt13:: @ 823A6BA + trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_13, MagmaHideout_4F_Text_Grunt13Intro, MagmaHideout_4F_Text_Grunt13Defeat + msgbox MagmaHideout_4F_Text_Grunt13PostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_4F_EventScript_23A6D1:: @ 823A6D1 - trainerbattle_single TRAINER_TABITHA_3, MagmaHideout_4F_Text_23A8E1, MagmaHideout_4F_Text_23A994 - msgbox MagmaHideout_4F_Text_23A9AC, MSGBOX_AUTOCLOSE +MagmaHideout_4F_EventScript_Tabitha:: @ 823A6D1 + trainerbattle_single TRAINER_TABITHA_MAGMA_HIDEOUT, MagmaHideout_4F_Text_TabithaIntro, MagmaHideout_4F_Text_TabithaDefeat + msgbox MagmaHideout_4F_Text_TabithaPostBattle, MSGBOX_AUTOCLOSE end -MagmaHideout_4F_Text_23A6E8: @ 823A6E8 +MagmaHideout_4F_Text_Grunt11Intro: @ 823A6E8 .string "I want to see GROUDON, too, but they\n" .string "won't let me see even its tail…\p" .string "It's got me feeling really frustrated.\p" .string "Oh, no!\n" .string "I blabbed about GROUDON!$" -MagmaHideout_4F_Text_23A775: @ 823A775 +MagmaHideout_4F_Text_Grunt11Defeat: @ 823A775 .string "I guess it's impossible to win if one\n" .string "doesn't have a calm mind…$" -MagmaHideout_4F_Text_23A7B5: @ 823A7B5 +MagmaHideout_4F_Text_Grunt11PostBattle: @ 823A7B5 .string "I wonder if GROUDON even has a tail?$" -MagmaHideout_4F_Text_23A7DA: @ 823A7DA +MagmaHideout_4F_Text_Grunt12Intro: @ 823A7DA .string "Fuhahaha!\n" .string "Soon! Very soon!\l" .string "Our grand objective will be achieved!$" -MagmaHideout_4F_Text_23A81B: @ 823A81B +MagmaHideout_4F_Text_Grunt12Defeat: @ 823A81B .string "Grrr…\n" .string "I've come so far, but now this?$" -MagmaHideout_4F_Text_23A841: @ 823A841 +MagmaHideout_4F_Text_Grunt12PostBattle: @ 823A841 .string "MAXIE, sir!\n" .string "An intruder is headed your way!$" -MagmaHideout_4F_Text_23A86D: @ 823A86D +MagmaHideout_4F_Text_Grunt13Intro: @ 823A86D .string "You're not finished yet!\n" .string "You're not getting by me easily!$" -MagmaHideout_4F_Text_23A8A7: @ 823A8A7 +MagmaHideout_4F_Text_Grunt13Defeat: @ 823A8A7 .string "Was I that easy to knock down?$" -MagmaHideout_4F_Text_23A8C6: @ 823A8C6 +MagmaHideout_4F_Text_Grunt13PostBattle: @ 823A8C6 .string "C-come on, one more match…$" -MagmaHideout_4F_Text_23A8E1: @ 823A8E1 +MagmaHideout_4F_Text_TabithaIntro: @ 823A8E1 .string "Hehehe!\n" .string "You made it this far, so I'll tell you!\p" .string "That's right!\n" @@ -175,15 +172,15 @@ MagmaHideout_4F_Text_23A8E1: @ 823A8E1 .string "It's going to awaken real soon!\n" .string "Hehe! Hehehe!$" -MagmaHideout_4F_Text_23A994: @ 823A994 +MagmaHideout_4F_Text_TabithaDefeat: @ 823A994 .string "Taken down again…\n" .string "Hehe…$" -MagmaHideout_4F_Text_23A9AC: @ 823A9AC +MagmaHideout_4F_Text_TabithaPostBattle: @ 823A9AC .string "…And while you wasted time with me,\n" .string "MAXIE should have awakened GROUDON…$" -MagmaHideout_4F_Text_23A9F4: @ 823A9F4 +MagmaHideout_4F_Text_MaxieAwakenGroudon: @ 823A9F4 .string "MAXIE: GROUDON…\p" .string "Nothing could awaken you from your\n" .string "sleep bathed in magma…\p" @@ -194,25 +191,25 @@ MagmaHideout_4F_Text_23A9F4: @ 823A9F4 .string "And show me…\n" .string "Show me the full extent of your power!$" -MagmaHideout_4F_Text_23AADA: @ 823AADA +MagmaHideout_4F_Text_MaxieGroudonWhatsWrong: @ 823AADA .string "MAXIE: GROUDON!\n" .string "What's wrong?\p" .string "Wasn't the BLUE ORB the key?\p" .string "GROUDON!\n" .string "Where have you gone…$" -MagmaHideout_4F_Text_23AB33: @ 823AB33 +MagmaHideout_4F_Text_MaxieOhItWasYou: @ 823AB33 .string "MAXIE: Oh, so it was you?\p" .string "I've seen you poking around uninvited\n" .string "here and there…\p" .string "I get it now!\n" .string "You must have pulled a cheap stunt!$" -MagmaHideout_4F_Text_23ABB5: @ 823ABB5 +MagmaHideout_4F_Text_MaxieDefeat: @ 823ABB5 .string "What makes you so adept at handling\n" .string "POKéMON?$" -MagmaHideout_4F_Text_23ABE2: @ 823ABE2 +MagmaHideout_4F_Text_MaxieImGoingAfterGroudon: @ 823ABE2 .string "MAXIE: There has to be some reason\n" .string "why GROUDON fled…\p" .string "That's what you're trying to say,\n" diff --git a/data/maps/MarineCave_End/map.json b/data/maps/MarineCave_End/map.json index ec1c3389a4..e95e72734f 100644 --- a/data/maps/MarineCave_End/map.json +++ b/data/maps/MarineCave_End/map.json @@ -5,7 +5,7 @@ "music": "MUS_DAN01", "region_map_section": "MAPSEC_MARINE_CAVE", "requires_flash": false, - "weather": "WEATHER_FOG_1", + "weather": "WEATHER_FOG_HORIZONTAL", "map_type": "MAP_TYPE_UNDERGROUND", "allow_bike": false, "allow_escape_rope": true, @@ -45,7 +45,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "1", - "script": "MarineCave_End_EventScript_23B01B" + "script": "MarineCave_End_EventScript_Kyogre" } ], "bg_events": [] diff --git a/data/maps/MarineCave_End/scripts.inc b/data/maps/MarineCave_End/scripts.inc index be3a6a57bb..c0823c4802 100644 --- a/data/maps/MarineCave_End/scripts.inc +++ b/data/maps/MarineCave_End/scripts.inc @@ -1,33 +1,33 @@ MarineCave_End_MapScripts:: @ 823AFDF - map_script MAP_SCRIPT_ON_RESUME, MarineCave_End_MapScript1_23AFEA + map_script MAP_SCRIPT_ON_RESUME, MarineCave_End_OnResume map_script MAP_SCRIPT_ON_TRANSITION, MarineCave_End_OnTransition .byte 0 -MarineCave_End_MapScript1_23AFEA: @ 823AFEA - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, MarineCave_End_EventScript_23AFF4 +MarineCave_End_OnResume: @ 823AFEA + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, MarineCave_End_EventScript_TryRemoveKyogre end -MarineCave_End_EventScript_23AFF4:: @ 823AFF4 +MarineCave_End_EventScript_TryRemoveKyogre:: @ 823AFF4 specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject 1 return MarineCave_End_OnTransition: @ 823B008 - call_if_unset FLAG_DEFEATED_KYOGRE, MarineCave_End_EventScript_23B012 + call_if_unset FLAG_DEFEATED_KYOGRE, MarineCave_End_EventScript_ShowKyogre end -MarineCave_End_EventScript_23B012:: @ 823B012 +MarineCave_End_EventScript_ShowKyogre:: @ 823B012 clearflag FLAG_HIDE_MARINE_CAVE_KYOGRE setvar VAR_TEMP_1, 1 return -MarineCave_End_EventScript_23B01B:: @ 823B01B +MarineCave_End_EventScript_Kyogre:: @ 823B01B lockall applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp waitmovement 0 - applymovement 1, MarineCave_End_Movement_23B09D + applymovement 1, MarineCave_End_Movement_KyogreApproach waitmovement 0 waitse playmoncry SPECIES_KYOGRE, 2 @@ -41,29 +41,29 @@ MarineCave_End_EventScript_23B01B:: @ 823B01B clearflag FLAG_SYS_CTRL_OBJ_DELETE setvar VAR_TEMP_1, 0 specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq MarineCave_End_EventScript_23B084 - compare VAR_RESULT, 4 - goto_if_eq MarineCave_End_EventScript_23B092 - compare VAR_RESULT, 5 - goto_if_eq MarineCave_End_EventScript_23B092 - setvar VAR_SHOULD_END_UNUSUAL_WEATHER, 1 + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq MarineCave_End_EventScript_DefeatedKyogre + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq MarineCave_End_EventScript_RanFromKyogre + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq MarineCave_End_EventScript_RanFromKyogre + setvar VAR_SHOULD_END_ABNORMAL_WEATHER, 1 setflag FLAG_DEFEATED_KYOGRE releaseall end -MarineCave_End_EventScript_23B084:: @ 823B084 - setvar VAR_SHOULD_END_UNUSUAL_WEATHER, 1 +MarineCave_End_EventScript_DefeatedKyogre:: @ 823B084 + setvar VAR_SHOULD_END_ABNORMAL_WEATHER, 1 setflag FLAG_DEFEATED_KYOGRE - goto MarineCave_End_EventScript_27376D + goto Common_EventScript_RemoveStaticPokemon end -MarineCave_End_EventScript_23B092:: @ 823B092 - setvar VAR_0x8004, 404 - goto MarineCave_End_EventScript_273776 +MarineCave_End_EventScript_RanFromKyogre:: @ 823B092 + setvar VAR_0x8004, SPECIES_KYOGRE + goto Common_EventScript_LegendaryFlewAway end -MarineCave_End_Movement_23B09D: @ 823B09D +MarineCave_End_Movement_KyogreApproach: @ 823B09D init_affine_anim walk_down_start_affine delay_16 diff --git a/data/maps/MarineCave_Entrance/scripts.inc b/data/maps/MarineCave_Entrance/scripts.inc index 82ff756e1d..1ba4546e31 100644 --- a/data/maps/MarineCave_Entrance/scripts.inc +++ b/data/maps/MarineCave_Entrance/scripts.inc @@ -1,8 +1,8 @@ MarineCave_Entrance_MapScripts:: @ 823AFD0 - map_script MAP_SCRIPT_ON_RESUME, MarineCave_Entrance_MapScript1_23AFD6 + map_script MAP_SCRIPT_ON_RESUME, MarineCave_Entrance_OnResume .byte 0 -MarineCave_Entrance_MapScript1_23AFD6: @ 823AFD6 +MarineCave_Entrance_OnResume: @ 823AFD6 setdivewarp MAP_UNDERWATER_MARINE_CAVE, 255, 9, 6 end diff --git a/data/maps/MauvilleCity/map.json b/data/maps/MauvilleCity/map.json index 4163f4d9d3..1708008bde 100644 --- a/data/maps/MauvilleCity/map.json +++ b/data/maps/MauvilleCity/map.json @@ -45,7 +45,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_EventScript_1DF3B3", + "script": "MauvilleCity_EventScript_Boy", "flag": "0" }, { @@ -58,7 +58,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_EventScript_1DF3CE", + "script": "MauvilleCity_EventScript_RichBoy", "flag": "0" }, { @@ -71,7 +71,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_EventScript_1DF3BC", + "script": "MauvilleCity_EventScript_Maniac", "flag": "0" }, { @@ -84,7 +84,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_EventScript_1DF3C5", + "script": "MauvilleCity_EventScript_Woman", "flag": "0" }, { @@ -97,7 +97,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_EventScript_1DF3FB", + "script": "MauvilleCity_EventScript_SchoolKidM", "flag": "0" }, { @@ -110,7 +110,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_EventScript_1DF452", + "script": "MauvilleCity_EventScript_Wally", "flag": "FLAG_HIDE_MAUVILLE_CITY_WALLY" }, { @@ -123,7 +123,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_EventScript_1DF41D", + "script": "MauvilleCity_EventScript_WallysUncle", "flag": "FLAG_HIDE_MAUVILLE_CITY_WALLYS_UNCLE" }, { @@ -136,7 +136,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_EventScript_1DF73A", + "script": "MauvilleCity_EventScript_Wattson", "flag": "FLAG_HIDE_MAUVILLE_CITY_WATTSON" }, { @@ -162,7 +162,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_EventScript_2C7F7E", + "script": "MauvilleCity_EventScript_RolloutTutor", "flag": "0" }, { @@ -246,7 +246,7 @@ "y": 6, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_EventScript_1DF3E0" + "script": "MauvilleCity_EventScript_GymSign" }, { "type": "sign", @@ -278,7 +278,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_EventScript_1DF3D7" + "script": "MauvilleCity_EventScript_CitySign" }, { "type": "sign", @@ -286,7 +286,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_EventScript_1DF3E9" + "script": "MauvilleCity_EventScript_BikeShopSign" }, { "type": "sign", @@ -294,7 +294,7 @@ "y": 15, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_EventScript_1DF3F2" + "script": "MauvilleCity_EventScript_GameCornerSign" } ] } \ No newline at end of file diff --git a/data/maps/MauvilleCity/scripts.inc b/data/maps/MauvilleCity/scripts.inc index 445930e70f..fac5e84ce5 100644 --- a/data/maps/MauvilleCity/scripts.inc +++ b/data/maps/MauvilleCity/scripts.inc @@ -9,88 +9,88 @@ MauvilleCity_OnTransition: @ 81DF38B setflag FLAG_SYS_TV_START clearflag FLAG_MAUVILLE_GYM_BARRIERS_STATE setvar VAR_MAUVILLE_GYM_STATE, 0 - call_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_1DF3A9 + call_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_MoveWattsonBackToGym end -MauvilleCity_EventScript_1DF3A9:: @ 81DF3A9 +MauvilleCity_EventScript_MoveWattsonBackToGym:: @ 81DF3A9 clearflag FLAG_HIDE_MAUVILLE_GYM_WATTSON setflag FLAG_HIDE_MAUVILLE_CITY_WATTSON setflag FLAG_WATTSON_REMATCH_AVAILABLE return -MauvilleCity_EventScript_1DF3B3:: @ 81DF3B3 - msgbox MauvilleCity_Text_1E0301, MSGBOX_NPC +MauvilleCity_EventScript_Boy:: @ 81DF3B3 + msgbox MauvilleCity_Text_NurseHurtMonBackToHealth, MSGBOX_NPC end -MauvilleCity_EventScript_1DF3BC:: @ 81DF3BC - msgbox MauvilleCity_Text_1E037C, MSGBOX_NPC +MauvilleCity_EventScript_Maniac:: @ 81DF3BC + msgbox MauvilleCity_Text_AllSortsOfPeopleComeThrough, MSGBOX_NPC end -MauvilleCity_EventScript_1DF3C5:: @ 81DF3C5 - msgbox MauvilleCity_Text_1E03FB, MSGBOX_NPC +MauvilleCity_EventScript_Woman:: @ 81DF3C5 + msgbox MauvilleCity_Text_RydelVeryGenerous, MSGBOX_NPC end -MauvilleCity_EventScript_1DF3CE:: @ 81DF3CE - msgbox MauvilleCity_Text_1E044A, MSGBOX_NPC +MauvilleCity_EventScript_RichBoy:: @ 81DF3CE + msgbox MauvilleCity_Text_PokemonCanJumpYouOnBike, MSGBOX_NPC end -MauvilleCity_EventScript_1DF3D7:: @ 81DF3D7 - msgbox MauvilleCity_Text_1E0485, MSGBOX_SIGN +MauvilleCity_EventScript_CitySign:: @ 81DF3D7 + msgbox MauvilleCity_Text_CitySign, MSGBOX_SIGN end -MauvilleCity_EventScript_1DF3E0:: @ 81DF3E0 - msgbox MauvilleCity_Text_1E04B7, MSGBOX_SIGN +MauvilleCity_EventScript_GymSign:: @ 81DF3E0 + msgbox MauvilleCity_Text_GymSign, MSGBOX_SIGN end -MauvilleCity_EventScript_1DF3E9:: @ 81DF3E9 - msgbox MauvilleCity_Text_1E0504, MSGBOX_SIGN +MauvilleCity_EventScript_BikeShopSign:: @ 81DF3E9 + msgbox MauvilleCity_Text_BikeShopSign, MSGBOX_SIGN end -MauvilleCity_EventScript_1DF3F2:: @ 81DF3F2 - msgbox MauvilleCity_Text_1E053C, MSGBOX_SIGN +MauvilleCity_EventScript_GameCornerSign:: @ 81DF3F2 + msgbox MauvilleCity_Text_GameCornerSign, MSGBOX_SIGN end -MauvilleCity_EventScript_1DF3FB:: @ 81DF3FB +MauvilleCity_EventScript_SchoolKidM:: @ 81DF3FB lock faceplayer - goto_if_set FLAG_TV_EXPLAINED, MauvilleCity_EventScript_1DF413 - msgbox MauvilleCity_Text_1E056A, MSGBOX_DEFAULT + goto_if_set FLAG_TV_EXPLAINED, MauvilleCity_EventScript_TVExplained + msgbox MauvilleCity_Text_ExplainTV, MSGBOX_DEFAULT setflag FLAG_TV_EXPLAINED release end -MauvilleCity_EventScript_1DF413:: @ 81DF413 - msgbox MauvilleCity_Text_1E0699, MSGBOX_DEFAULT +MauvilleCity_EventScript_TVExplained:: @ 81DF413 + msgbox MauvilleCity_Text_BeenCheckingOutTV, MSGBOX_DEFAULT release end -MauvilleCity_EventScript_1DF41D:: @ 81DF41D +MauvilleCity_EventScript_WallysUncle:: @ 81DF41D lock faceplayer - goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_1DF43D - msgbox MauvilleCity_Text_1DF7DC, MSGBOX_DEFAULT + goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_UncleAskPlayerToBattleWally + msgbox MauvilleCity_Text_UncleHesTooPeppy, MSGBOX_DEFAULT closemessage applymovement 7, Common_Movement_FaceOriginalDirection waitmovement 0 release end -MauvilleCity_EventScript_1DF43D:: @ 81DF43D - msgbox MauvilleCity_Text_1DFAA5, MSGBOX_DEFAULT +MauvilleCity_EventScript_UncleAskPlayerToBattleWally:: @ 81DF43D + msgbox MauvilleCity_Text_UncleCanYouBattleWally, MSGBOX_DEFAULT closemessage applymovement 7, Common_Movement_FaceOriginalDirection waitmovement 0 release end -MauvilleCity_EventScript_1DF452:: @ 81DF452 +MauvilleCity_EventScript_Wally:: @ 81DF452 lockall - goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_1DF690 - applymovement 6, Common_Movement_WalkInPlaceRight + goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_WallyRequestBattleAgain + applymovement 6, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox MauvilleCity_Text_1DF845, MSGBOX_DEFAULT - msgbox MauvilleCity_Text_1DF8B9, MSGBOX_DEFAULT - msgbox MauvilleCity_Text_1DF963, MSGBOX_DEFAULT + msgbox MauvilleCity_Text_WallyWantToChallengeGym, MSGBOX_DEFAULT + msgbox MauvilleCity_Text_UncleYourePushingIt, MSGBOX_DEFAULT + msgbox MauvilleCity_Text_WallyWeCanBeatAnyone, MSGBOX_DEFAULT applymovement 6, Common_Movement_FacePlayer waitmovement 0 playse SE_PIN @@ -98,61 +98,61 @@ MauvilleCity_EventScript_1DF452:: @ 81DF452 waitmovement 0 applymovement 6, Common_Movement_Delay48 waitmovement 0 - msgbox MauvilleCity_Text_1DF9B2, MSGBOX_YESNO - goto MauvilleCity_EventScript_1DF4AD + msgbox MauvilleCity_Text_WallyWillYouBattleMe, MSGBOX_YESNO + goto MauvilleCity_EventScript_BattleWallyPrompt end -MauvilleCity_EventScript_1DF4AD:: @ 81DF4AD - compare VAR_RESULT, 1 - call_if_eq MauvilleCity_EventScript_1DF63A - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_EventScript_1DF683 +MauvilleCity_EventScript_BattleWallyPrompt:: @ 81DF4AD + compare VAR_RESULT, YES + call_if_eq MauvilleCity_EventScript_BattleWally + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_EventScript_DeclineWallyBattle closemessage switch VAR_FACING - case 2, MauvilleCity_EventScript_1DF4E0 - case 4, MauvilleCity_EventScript_1DF53D + case DIR_NORTH, MauvilleCity_EventScript_WallyAndUncleExitNorth + case DIR_EAST, MauvilleCity_EventScript_WallyAndUncleExitEast end -MauvilleCity_EventScript_1DF4E0:: @ 81DF4E0 - applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6DF - applymovement 6, MauvilleCity_Movement_1DF6A8 - applymovement 7, MauvilleCity_Movement_1DF6E2 +MauvilleCity_EventScript_WallyAndUncleExitNorth:: @ 81DF4E0 + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_PlayerWatchWallyExitNorth1 + applymovement 6, MauvilleCity_Movement_WallyExitNorth1 + applymovement 7, MauvilleCity_Movement_WallysUncleExitNorth1 waitmovement 0 - applymovement 6, Common_Movement_WalkInPlaceRight + applymovement 6, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 30 - applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6EE - applymovement 7, MauvilleCity_Movement_1DF6F3 + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_PlayerFaceUncleNorth + applymovement 7, MauvilleCity_Movement_WallysUncleApproachPlayerNorth waitmovement 0 - msgbox MauvilleCity_Text_1DFD34, MSGBOX_DEFAULT + msgbox MauvilleCity_Text_UncleVisitUsSometime, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6CC - applymovement 7, MauvilleCity_Movement_1DF6FA - applymovement 6, MauvilleCity_Movement_1DF6B4 + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_PlayerWatchWallyExitNorth2 + applymovement 7, MauvilleCity_Movement_WallysUncleExitNorth2 + applymovement 6, MauvilleCity_Movement_WallyExitNorth2 waitmovement 0 - goto MauvilleCity_EventScript_1DF593 + goto MauvilleCity_EventScript_DefeatedWally end -MauvilleCity_EventScript_1DF53D:: @ 81DF53D - applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6DC - applymovement 6, MauvilleCity_Movement_1DF6AE - applymovement 7, MauvilleCity_Movement_1DF6E8 +MauvilleCity_EventScript_WallyAndUncleExitEast:: @ 81DF53D + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_PlayerWatchWallyExitEast1 + applymovement 6, MauvilleCity_Movement_WallyExitEast1 + applymovement 7, MauvilleCity_Movement_WallysUncleExitEast1 waitmovement 0 - applymovement 6, Common_Movement_WalkInPlaceRight + applymovement 6, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 30 - applymovement 7, MauvilleCity_Movement_1DF6F7 + applymovement 7, MauvilleCity_Movement_WallysUncleApproachPlayerEast waitmovement 0 - msgbox MauvilleCity_Text_1DFD34, MSGBOX_DEFAULT + msgbox MauvilleCity_Text_UncleVisitUsSometime, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6D0 - applymovement 7, MauvilleCity_Movement_1DF703 - applymovement 6, MauvilleCity_Movement_1DF6C0 + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_PlayerWatchWallyExitEast2 + applymovement 7, MauvilleCity_Movement_WallysUncleExitEast2 + applymovement 6, MauvilleCity_Movement_WallyExitEast2 waitmovement 0 - goto MauvilleCity_EventScript_1DF593 + goto MauvilleCity_EventScript_DefeatedWally end -MauvilleCity_EventScript_1DF593:: @ 81DF593 +MauvilleCity_EventScript_DefeatedWally:: @ 81DF593 removeobject 6 removeobject 7 clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY @@ -160,76 +160,76 @@ MauvilleCity_EventScript_1DF593:: @ 81DF593 setflag FLAG_DEFEATED_WALLY_MAUVILLE setvar VAR_WALLY_CALL_STEP_COUNTER, 0 setflag FLAG_ENABLE_FIRST_WALLY_POKENAV_CALL - compare VAR_FACING, 2 - call_if_eq MauvilleCity_EventScript_1DF5F3 - compare VAR_FACING, 4 - call_if_eq MauvilleCity_EventScript_1DF601 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + compare VAR_FACING, DIR_NORTH + call_if_eq MauvilleCity_EventScript_ScottApproachPlayerNorth + compare VAR_FACING, DIR_EAST + call_if_eq MauvilleCity_EventScript_ScottApproachPlayerEast + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox MauvilleCity_Text_1DFED5, MSGBOX_DEFAULT + msgbox MauvilleCity_Text_ScottYouDidntHoldBack, MSGBOX_DEFAULT closemessage addvar VAR_SCOTT_STATE, 1 - compare VAR_FACING, 2 - call_if_eq MauvilleCity_EventScript_1DF616 - compare VAR_FACING, 4 - call_if_eq MauvilleCity_EventScript_1DF628 + compare VAR_FACING, DIR_NORTH + call_if_eq MauvilleCity_EventScript_ScottExitNorth + compare VAR_FACING, DIR_EAST + call_if_eq MauvilleCity_EventScript_ScottExitEast removeobject 11 releaseall end -MauvilleCity_EventScript_1DF5F3:: @ 81DF5F3 +MauvilleCity_EventScript_ScottApproachPlayerNorth:: @ 81DF5F3 addobject 11 - applymovement 11, MauvilleCity_Movement_1DF70D + applymovement 11, MauvilleCity_Movement_ScottApproachPlayerNorth waitmovement 0 return -MauvilleCity_EventScript_1DF601:: @ 81DF601 +MauvilleCity_EventScript_ScottApproachPlayerEast:: @ 81DF601 setobjectxyperm 11, 12, 13 addobject 11 - applymovement 11, MauvilleCity_Movement_1DF719 + applymovement 11, MauvilleCity_Movement_ScottApproachPlayerEast waitmovement 0 return -MauvilleCity_EventScript_1DF616:: @ 81DF616 - applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6D5 - applymovement 11, MauvilleCity_Movement_1DF725 +MauvilleCity_EventScript_ScottExitNorth:: @ 81DF616 + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_PlayerWatchScottExitNorth + applymovement 11, MauvilleCity_Movement_ScottExitNorth waitmovement 0 return -MauvilleCity_EventScript_1DF628:: @ 81DF628 - applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6D8 - applymovement 11, MauvilleCity_Movement_1DF72F +MauvilleCity_EventScript_ScottExitEast:: @ 81DF628 + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_PlayerWatchScottExitEast + applymovement 11, MauvilleCity_Movement_ScottExitEast waitmovement 0 return -MauvilleCity_EventScript_1DF63A:: @ 81DF63A - msgbox MauvilleCity_Text_1DFB6D, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_WALLY_2, MauvilleCity_Text_1DFB96 - applymovement 6, Common_Movement_WalkInPlaceRight +MauvilleCity_EventScript_BattleWally:: @ 81DF63A + msgbox MauvilleCity_Text_WallyHereICome, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_WALLY_MAUVILLE, MauvilleCity_Text_WallyDefeat + applymovement 6, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox MauvilleCity_Text_1DFBC3, MSGBOX_DEFAULT + msgbox MauvilleCity_Text_WallyIllGoBackToVerdanturf, MSGBOX_DEFAULT applymovement 6, Common_Movement_FacePlayer waitmovement 0 - msgbox MauvilleCity_Text_1DFBED, MSGBOX_DEFAULT - applymovement 6, Common_Movement_WalkInPlaceRight + msgbox MauvilleCity_Text_ThankYouNotEnoughToBattle, MSGBOX_DEFAULT + applymovement 6, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox MauvilleCity_Text_1DFC8A, MSGBOX_DEFAULT + msgbox MauvilleCity_Text_UncleNoNeedToBeDown, MSGBOX_DEFAULT return -MauvilleCity_EventScript_1DF683:: @ 81DF683 +MauvilleCity_EventScript_DeclineWallyBattle:: @ 81DF683 setflag FLAG_DECLINED_WALLY_BATTLE_MAUVILLE - msgbox MauvilleCity_Text_1DFA4A, MSGBOX_DEFAULT + msgbox MauvilleCity_Text_WallyMyUncleWontKnowImStrong, MSGBOX_DEFAULT release end -MauvilleCity_EventScript_1DF690:: @ 81DF690 +MauvilleCity_EventScript_WallyRequestBattleAgain:: @ 81DF690 applymovement 6, Common_Movement_FacePlayer waitmovement 0 - msgbox MauvilleCity_Text_1DFB42, MSGBOX_YESNO - goto MauvilleCity_EventScript_1DF4AD + msgbox MauvilleCity_Text_WallyPleaseBattleMe, MSGBOX_YESNO + goto MauvilleCity_EventScript_BattleWallyPrompt end -MauvilleCity_Movement_1DF6A8: @ 81DF6A8 +MauvilleCity_Movement_WallyExitNorth1: @ 81DF6A8 walk_left walk_left walk_down @@ -237,7 +237,7 @@ MauvilleCity_Movement_1DF6A8: @ 81DF6A8 walk_left step_end -MauvilleCity_Movement_1DF6AE: @ 81DF6AE +MauvilleCity_Movement_WallyExitEast1: @ 81DF6AE walk_down walk_down walk_left @@ -245,7 +245,7 @@ MauvilleCity_Movement_1DF6AE: @ 81DF6AE walk_left step_end -MauvilleCity_Movement_1DF6B4: @ 81DF6B4 +MauvilleCity_Movement_WallyExitNorth2: @ 81DF6B4 delay_16 delay_16 walk_left @@ -259,7 +259,7 @@ MauvilleCity_Movement_1DF6B4: @ 81DF6B4 delay_8 step_end -MauvilleCity_Movement_1DF6C0: @ 81DF6C0 +MauvilleCity_Movement_WallyExitEast2: @ 81DF6C0 delay_16 delay_16 walk_left @@ -273,41 +273,41 @@ MauvilleCity_Movement_1DF6C0: @ 81DF6C0 delay_8 step_end -MauvilleCity_Movement_1DF6CC: @ 81DF6CC +MauvilleCity_Movement_PlayerWatchWallyExitNorth2: @ 81DF6CC delay_16 delay_8 walk_in_place_fastest_left step_end -MauvilleCity_Movement_1DF6D0: @ 81DF6D0 +MauvilleCity_Movement_PlayerWatchWallyExitEast2: @ 81DF6D0 delay_16 delay_16 delay_16 walk_in_place_fastest_left step_end -MauvilleCity_Movement_1DF6D5: @ 81DF6D5 +MauvilleCity_Movement_PlayerWatchScottExitNorth: @ 81DF6D5 delay_16 walk_in_place_fastest_left step_end -MauvilleCity_Movement_1DF6D8: @ 81DF6D8 +MauvilleCity_Movement_PlayerWatchScottExitEast: @ 81DF6D8 delay_16 delay_16 walk_in_place_fastest_left step_end -MauvilleCity_Movement_1DF6DC: @ 81DF6DC +MauvilleCity_Movement_PlayerWatchWallyExitEast1: @ 81DF6DC delay_16 walk_in_place_fastest_down step_end -MauvilleCity_Movement_1DF6DF: @ 81DF6DF +MauvilleCity_Movement_PlayerWatchWallyExitNorth1: @ 81DF6DF delay_16 walk_in_place_fastest_left step_end -MauvilleCity_Movement_1DF6E2: @ 81DF6E2 +MauvilleCity_Movement_WallysUncleExitNorth1: @ 81DF6E2 walk_left walk_left walk_left @@ -315,7 +315,7 @@ MauvilleCity_Movement_1DF6E2: @ 81DF6E2 walk_down step_end -MauvilleCity_Movement_1DF6E8: @ 81DF6E8 +MauvilleCity_Movement_WallysUncleExitEast1: @ 81DF6E8 walk_left walk_down walk_down @@ -323,25 +323,25 @@ MauvilleCity_Movement_1DF6E8: @ 81DF6E8 walk_left step_end -MauvilleCity_Movement_1DF6EE: @ 81DF6EE +MauvilleCity_Movement_PlayerFaceUncleNorth: @ 81DF6EE delay_16 delay_8 delay_4 walk_in_place_fastest_down step_end -MauvilleCity_Movement_1DF6F3: @ 81DF6F3 +MauvilleCity_Movement_WallysUncleApproachPlayerNorth: @ 81DF6F3 walk_right walk_right walk_in_place_fastest_up step_end -MauvilleCity_Movement_1DF6F7: @ 81DF6F7 +MauvilleCity_Movement_WallysUncleApproachPlayerEast: @ 81DF6F7 walk_right walk_up step_end -MauvilleCity_Movement_1DF6FA: @ 81DF6FA +MauvilleCity_Movement_WallysUncleExitNorth2: @ 81DF6FA walk_left walk_left walk_left @@ -352,7 +352,7 @@ MauvilleCity_Movement_1DF6FA: @ 81DF6FA walk_left step_end -MauvilleCity_Movement_1DF703: @ 81DF703 +MauvilleCity_Movement_WallysUncleExitEast2: @ 81DF703 walk_down walk_left walk_left @@ -364,7 +364,7 @@ MauvilleCity_Movement_1DF703: @ 81DF703 walk_left step_end -MauvilleCity_Movement_1DF70D: @ 81DF70D +MauvilleCity_Movement_ScottApproachPlayerNorth: @ 81DF70D walk_up walk_up walk_up @@ -378,7 +378,7 @@ MauvilleCity_Movement_1DF70D: @ 81DF70D walk_in_place_fastest_up step_end -MauvilleCity_Movement_1DF719: @ 81DF719 +MauvilleCity_Movement_ScottApproachPlayerEast: @ 81DF719 walk_up walk_up walk_up @@ -392,7 +392,7 @@ MauvilleCity_Movement_1DF719: @ 81DF719 walk_up step_end -MauvilleCity_Movement_1DF725: @ 81DF725 +MauvilleCity_Movement_ScottExitNorth: @ 81DF725 walk_left walk_left walk_left @@ -404,7 +404,7 @@ MauvilleCity_Movement_1DF725: @ 81DF725 walk_left step_end -MauvilleCity_Movement_1DF72F: @ 81DF72F +MauvilleCity_Movement_ScottExitEast: @ 81DF72F walk_down walk_left walk_left @@ -417,47 +417,47 @@ MauvilleCity_Movement_1DF72F: @ 81DF72F walk_left step_end -MauvilleCity_EventScript_1DF73A:: @ 81DF73A +MauvilleCity_EventScript_Wattson:: @ 81DF73A lock faceplayer - goto_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_1DF7B0 + goto_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_ReceivedThunderbolt compare VAR_NEW_MAUVILLE_STATE, 2 - goto_if_eq MauvilleCity_EventScript_1DF784 - goto_if_set FLAG_GOT_BASEMENT_KEY_FROM_WATTSON, MauvilleCity_EventScript_1DF77A - msgbox MauvilleCity_Text_1DFFE4, MSGBOX_DEFAULT - giveitem_std ITEM_BASEMENT_KEY + goto_if_eq MauvilleCity_EventScript_CompletedNewMauville + goto_if_set FLAG_GOT_BASEMENT_KEY_FROM_WATTSON, MauvilleCity_EventScript_BegunNewMauville + msgbox MauvilleCity_Text_WattsonNeedFavorTakeKey, MSGBOX_DEFAULT + giveitem ITEM_BASEMENT_KEY setflag FLAG_GOT_BASEMENT_KEY_FROM_WATTSON - msgbox MauvilleCity_Text_1E0154, MSGBOX_DEFAULT + msgbox MauvilleCity_Text_WattsonWontBeChallenge, MSGBOX_DEFAULT release end -MauvilleCity_EventScript_1DF77A:: @ 81DF77A - msgbox MauvilleCity_Text_1E0154, MSGBOX_DEFAULT +MauvilleCity_EventScript_BegunNewMauville:: @ 81DF77A + msgbox MauvilleCity_Text_WattsonWontBeChallenge, MSGBOX_DEFAULT release end -MauvilleCity_EventScript_1DF784:: @ 81DF784 - msgbox MauvilleCity_Text_1E020E, MSGBOX_DEFAULT - giveitem_std ITEM_TM24 - compare VAR_RESULT, 0 +MauvilleCity_EventScript_CompletedNewMauville:: @ 81DF784 + msgbox MauvilleCity_Text_WattsonThanksTakeTM, MSGBOX_DEFAULT + giveitem ITEM_TM24 + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_GOT_TM24_FROM_WATTSON - msgbox MauvilleCity_Text_1E02AA, MSGBOX_DEFAULT + msgbox MauvilleCity_Text_WattsonYoungTakeCharge, MSGBOX_DEFAULT release end -MauvilleCity_EventScript_1DF7B0:: @ 81DF7B0 - msgbox MauvilleCity_Text_1E02AA, MSGBOX_DEFAULT +MauvilleCity_EventScript_ReceivedThunderbolt:: @ 81DF7B0 + msgbox MauvilleCity_Text_WattsonYoungTakeCharge, MSGBOX_DEFAULT release end -MauvilleCity_EventScript_1DF7BA:: @ 81DF7BA +MauvilleCity_EventScript_RegisterWallyCall:: @ 81DF7BA lockall - pokenavcall MauvilleCity_Text_1DFDFB + pokenavcall MauvilleCity_Text_WallyPokenavCall waitmessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox MauvilleCity_Text_1DFEB4, MSGBOX_DEFAULT + msgbox MauvilleCity_Text_RegisteredWally, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -466,30 +466,30 @@ MauvilleCity_EventScript_1DF7BA:: @ 81DF7BA releaseall end -MauvilleCity_Text_1DF7DC: @ 81DF7DC +MauvilleCity_Text_UncleHesTooPeppy: @ 81DF7DC .string "UNCLE: It's because of POKéMON that\n" .string "this boy's got more pep, I suppose…\l" .string "But he's become a bit too peppy…$" -MauvilleCity_Text_1DF845: @ 81DF845 +MauvilleCity_Text_WallyWantToChallengeGym: @ 81DF845 .string "WALLY: Aww, UNCLE, please?\p" .string "I want to challenge this GYM and see\n" .string "how much better I've become.\p" .string "Please? May I, please?$" -MauvilleCity_Text_1DF8B9: @ 81DF8B9 +MauvilleCity_Text_UncleYourePushingIt: @ 81DF8B9 .string "UNCLE: Now hold on, WALLY.\p" .string "Since you started living with POKéMON,\n" .string "you have grown quite a lot stronger.\p" .string "But don't you think you're pushing it\n" .string "to suddenly challenge a GYM?$" -MauvilleCity_Text_1DF963: @ 81DF963 +MauvilleCity_Text_WallyWeCanBeatAnyone: @ 81DF963 .string "WALLY: I'm not pushing it.\p" .string "If I combine forces with RALTS,\n" .string "we can beat anyone!$" -MauvilleCity_Text_1DF9B2: @ 81DF9B2 +MauvilleCity_Text_WallyWillYouBattleMe: @ 81DF9B2 .string "WALLY: Oh! Hi, {PLAYER}!\p" .string "I've gotten a lot stronger since\n" .string "we met.\p" @@ -498,43 +498,43 @@ MauvilleCity_Text_1DF9B2: @ 81DF9B2 .string "{PLAYER}, please, will you have\n" .string "a battle with me?$" -MauvilleCity_Text_1DFA4A: @ 81DFA4A +MauvilleCity_Text_WallyMyUncleWontKnowImStrong: @ 81DFA4A .string "WALLY: Oh… If you won't battle me,\n" .string "{PLAYER}, my UNCLE won't know that I've\l" .string "become really strong.$" -MauvilleCity_Text_1DFAA5: @ 81DFAA5 +MauvilleCity_Text_UncleCanYouBattleWally: @ 81DFAA5 .string "UNCLE: {PLAYER}{KUN}, was it?\n" .string "On WALLY's behalf, can I ask you to\l" .string "battle with him just this once?\p" .string "I don't think he's going to listen to\n" .string "any reason the way he is now.$" -MauvilleCity_Text_1DFB42: @ 81DFB42 +MauvilleCity_Text_WallyPleaseBattleMe: @ 81DFB42 .string "WALLY: {PLAYER}, please!\n" .string "Battle with me, please.$" -MauvilleCity_Text_1DFB6D: @ 81DFB6D +MauvilleCity_Text_WallyHereICome: @ 81DFB6D .string "WALLY: {PLAYER}, thank you.\p" .string "Okay… Here I come!$" -MauvilleCity_Text_1DFB96: @ 81DFB96 +MauvilleCity_Text_WallyDefeat: @ 81DFB96 .string "WALLY: … … … … … … …\p" .string "… … … … … … … …\p" .string "I lost…$" -MauvilleCity_Text_1DFBC3: @ 81DFBC3 +MauvilleCity_Text_WallyIllGoBackToVerdanturf: @ 81DFBC3 .string "WALLY: UNCLE…\n" .string "I'll go back to VERDANTURF…$" -MauvilleCity_Text_1DFBED: @ 81DFBED +MauvilleCity_Text_ThankYouNotEnoughToBattle: @ 81DFBED .string "{PLAYER}, thank you.\n" .string "Being a TRAINER is tough, isn't it?\p" .string "It's not enough just to have POKéMON\n" .string "and make them battle. That isn't what\l" .string "being a real TRAINER is about.$" -MauvilleCity_Text_1DFC8A: @ 81DFC8A +MauvilleCity_Text_UncleNoNeedToBeDown: @ 81DFC8A .string "UNCLE: WALLY, there's no need to be so\n" .string "down on yourself.\p" .string "Why, what's keeping you from becoming\n" @@ -542,7 +542,7 @@ MauvilleCity_Text_1DFC8A: @ 81DFC8A .string "Come on, let's go home.\n" .string "Everyone's waiting for you.$" -MauvilleCity_Text_1DFD34: @ 81DFD34 +MauvilleCity_Text_UncleVisitUsSometime: @ 81DFD34 .string "UNCLE: {PLAYER}{KUN}, it just dawned on me\n" .string "that you must be the TRAINER who kept\l" .string "an eye out for WALLY when he caught\l" @@ -552,7 +552,7 @@ MauvilleCity_Text_1DFD34: @ 81DFD34 .string "I'm sure WALLY would enjoy it.$" -MauvilleCity_Text_1DFDFB: @ 81DFDFB +MauvilleCity_Text_WallyPokenavCall: @ 81DFDFB .string "… … … … … …\n" .string "… … … … … Beep!\p" .string "WALLY: Oh, hello, {PLAYER}!\p" @@ -563,11 +563,11 @@ MauvilleCity_Text_1DFDFB: @ 81DFDFB .string "… … … … … …\n" .string "… … … … … Click!$" -MauvilleCity_Text_1DFEB4: @ 81DFEB4 +MauvilleCity_Text_RegisteredWally: @ 81DFEB4 .string "Registered WALLY\n" .string "in the POKéNAV.$" -MauvilleCity_Text_1DFED5: @ 81DFED5 +MauvilleCity_Text_ScottYouDidntHoldBack: @ 81DFED5 .string "SCOTT: Hehe…\n" .string "I was watching that match!\p" .string "You're friends with that boy WALLY,\n" @@ -580,7 +580,7 @@ MauvilleCity_Text_1DFED5: @ 81DFED5 .string "… … … … … …\n" .string "I'll be cheering for you!$" -MauvilleCity_Text_1DFFE4: @ 81DFFE4 +MauvilleCity_Text_WattsonNeedFavorTakeKey: @ 81DFFE4 .string "WATTSON: Oh, {PLAYER}{KUN}!\n" .string "You look like you have a lot of zip!\l" .string "That's a good thing, wahahahaha!\p" @@ -595,7 +595,7 @@ MauvilleCity_Text_1DFFE4: @ 81DFFE4 .string "Here, this is the KEY to get into\n" .string "NEW MAUVILLE.$" -MauvilleCity_Text_1E0154: @ 81E0154 +MauvilleCity_Text_WattsonWontBeChallenge: @ 81E0154 .string "WATTSON: Don't you worry about it.\n" .string "It won't be a challenge to you.\p" .string "The entrance to NEW MAUVILLE is just\n" @@ -603,7 +603,7 @@ MauvilleCity_Text_1E0154: @ 81E0154 .string "That's it, then, you have my trust!\n" .string "Wahahahaha!$" -MauvilleCity_Text_1E020E: @ 81E020E +MauvilleCity_Text_WattsonThanksTakeTM: @ 81E020E .string "WATTSON: Wahahahaha!\p" .string "I knew it, {PLAYER}{KUN}! I knew I'd made\n" .string "the right choice asking you!\p" @@ -611,51 +611,51 @@ MauvilleCity_Text_1E020E: @ 81E020E .string "THUNDERBOLT!\p" .string "Go on, you've earned it!$" -MauvilleCity_Text_1E02AA: @ 81E02AA +MauvilleCity_Text_WattsonYoungTakeCharge: @ 81E02AA .string "WATTSON: Wahahahaha!\p" .string "It pleases me to no end to see\n" .string "the young step up and take charge!$" -MauvilleCity_Text_1E0301: @ 81E0301 +MauvilleCity_Text_NurseHurtMonBackToHealth: @ 81E0301 .string "You know, it's cool to have POKéMON\n" .string "battles and stuff…\p" .string "But if your POKéMON gets hurt,\n" .string "you have to nurse it back to health.$" -MauvilleCity_Text_1E037C: @ 81E037C +MauvilleCity_Text_AllSortsOfPeopleComeThrough: @ 81E037C .string "The roads of this town stretch north\n" .string "and south, and east and west.\p" .string "Because of that, we get all sorts of\n" .string "people coming through.$" -MauvilleCity_Text_1E03FB: @ 81E03FB +MauvilleCity_Text_RydelVeryGenerous: @ 81E03FB .string "Have you been to RYDEL'S CYCLES yet?\p" .string "RYDEL, the owner, is a very generous\n" .string "man.$" -MauvilleCity_Text_1E044A: @ 81E044A +MauvilleCity_Text_PokemonCanJumpYouOnBike: @ 81E044A .string "Even if you're riding a BIKE,\n" .string "wild POKéMON could jump you.$" -MauvilleCity_Text_1E0485: @ 81E0485 +MauvilleCity_Text_CitySign: @ 81E0485 .string "MAUVILLE CITY\n" .string "“The bright and shiny city of fun!”$" -MauvilleCity_Text_1E04B7: @ 81E04B7 +MauvilleCity_Text_GymSign: @ 81E04B7 .string "MAUVILLE CITY POKéMON GYM\n" .string "LEADER: WATTSON\l" .string "“The cheerfully electrifying man!”$" -MauvilleCity_Text_1E0504: @ 81E0504 +MauvilleCity_Text_BikeShopSign: @ 81E0504 .string "“Ride in gravel and shake up your\n" .string "soul!”\l" .string "RYDEL'S CYCLES$" -MauvilleCity_Text_1E053C: @ 81E053C +MauvilleCity_Text_GameCornerSign: @ 81E053C .string "“The play spot for all!”\n" .string "MAUVILLE GAME CORNER$" -MauvilleCity_Text_1E056A: @ 81E056A +MauvilleCity_Text_ExplainTV: @ 81E056A .string "Hi, do you check out TV at all?\p" .string "They've added a bunch of cool new\n" .string "shows recently.\p" @@ -667,5 +667,5 @@ MauvilleCity_Text_1E056A: @ 81E056A .string "That's why I think you should check\n" .string "out TVs whenever you can.$" -MauvilleCity_Text_1E0699: @ 81E0699 +MauvilleCity_Text_BeenCheckingOutTV: @ 81E0699 .string "Hi, have you been checking out TVs?$" diff --git a/data/maps/MauvilleCity_BikeShop/map.json b/data/maps/MauvilleCity_BikeShop/map.json index 98c1fcee1d..488ab5a4ee 100644 --- a/data/maps/MauvilleCity_BikeShop/map.json +++ b/data/maps/MauvilleCity_BikeShop/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_BikeShop_EventScript_20EBBC", + "script": "MauvilleCity_BikeShop_EventScript_Rydel", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_BikeShop_EventScript_20ED31", + "script": "MauvilleCity_BikeShop_EventScript_Assistant", "flag": "0" } ], @@ -65,7 +65,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_BikeShop_EventScript_20ED3A" + "script": "MauvilleCity_BikeShop_EventScript_MachBikeHandbook" }, { "type": "sign", @@ -73,7 +73,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_BikeShop_EventScript_20EDAE" + "script": "MauvilleCity_BikeShop_EventScript_AcroBikeHandbook" } ] } \ No newline at end of file diff --git a/data/maps/MauvilleCity_BikeShop/scripts.inc b/data/maps/MauvilleCity_BikeShop/scripts.inc index fe6832423a..ffde9583b6 100644 --- a/data/maps/MauvilleCity_BikeShop/scripts.inc +++ b/data/maps/MauvilleCity_BikeShop/scripts.inc @@ -1,203 +1,204 @@ MauvilleCity_BikeShop_MapScripts:: @ 820EBBB .byte 0 -MauvilleCity_BikeShop_EventScript_20EBBC:: @ 820EBBC +MauvilleCity_BikeShop_EventScript_Rydel:: @ 820EBBC lock faceplayer - goto_if_set FLAG_RECEIVED_BIKE, MauvilleCity_BikeShop_EventScript_20EC94 - goto_if_set FLAG_DECLINED_BIKE, MauvilleCity_BikeShop_EventScript_20EBF7 - msgbox MauvilleCity_BikeShop_Text_20EE22, MSGBOX_DEFAULT - msgbox MauvilleCity_BikeShop_Text_20EE99, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_BikeShop_EventScript_20EC4A - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_BikeShop_EventScript_20EC3D + goto_if_set FLAG_RECEIVED_BIKE, MauvilleCity_BikeShop_EventScript_AskSwitchBikes + goto_if_set FLAG_DECLINED_BIKE, MauvilleCity_BikeShop_EventScript_SkipGreeting + msgbox MauvilleCity_BikeShop_Text_RydelGreeting, MSGBOX_DEFAULT + msgbox MauvilleCity_BikeShop_Text_DidYouComeFromFarAway, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq MauvilleCity_BikeShop_EventScript_YesFar + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_BikeShop_EventScript_NotFar end -MauvilleCity_BikeShop_EventScript_20EBF7:: @ 820EBF7 - msgbox MauvilleCity_BikeShop_Text_20EE99, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_BikeShop_EventScript_20EC4A - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_BikeShop_EventScript_20EC3D +MauvilleCity_BikeShop_EventScript_SkipGreeting:: @ 820EBF7 + msgbox MauvilleCity_BikeShop_Text_DidYouComeFromFarAway, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq MauvilleCity_BikeShop_EventScript_YesFar + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_BikeShop_EventScript_NotFar end -MauvilleCity_BikeShop_EventScript_20EC16:: @ 820EC16 - message MauvilleCity_BikeShop_Text_20EF32 +MauvilleCity_BikeShop_EventScript_ChooseBike:: @ 820EC16 + message MauvilleCity_BikeShop_Text_ExplainBikesChooseWhichOne waitmessage - multichoice 21, 8, 12, 1 + multichoice 21, 8, MULTI_BIKE, 1 switch VAR_RESULT - case 0, MauvilleCity_BikeShop_EventScript_20EC53 - case 1, MauvilleCity_BikeShop_EventScript_20EC6D + case 0, MauvilleCity_BikeShop_EventScript_GetMachBike + case 1, MauvilleCity_BikeShop_EventScript_GetAcroBike end -MauvilleCity_BikeShop_EventScript_20EC3D:: @ 820EC3D +MauvilleCity_BikeShop_EventScript_NotFar:: @ 820EC3D setflag FLAG_DECLINED_BIKE - msgbox MauvilleCity_BikeShop_Text_20EEE8, MSGBOX_DEFAULT + msgbox MauvilleCity_BikeShop_Text_GuessYouDontNeedBike, MSGBOX_DEFAULT release end -MauvilleCity_BikeShop_EventScript_20EC4A:: @ 820EC4A +MauvilleCity_BikeShop_EventScript_YesFar:: @ 820EC4A setflag FLAG_RECEIVED_BIKE - goto MauvilleCity_BikeShop_EventScript_20EC16 + goto MauvilleCity_BikeShop_EventScript_ChooseBike end -MauvilleCity_BikeShop_EventScript_20EC53:: @ 820EC53 - msgbox MauvilleCity_BikeShop_Text_20F18D, MSGBOX_DEFAULT - giveitem_std ITEM_MACH_BIKE - goto MauvilleCity_BikeShop_EventScript_20EC87 +MauvilleCity_BikeShop_EventScript_GetMachBike:: @ 820EC53 + msgbox MauvilleCity_BikeShop_Text_ChoseMachBike, MSGBOX_DEFAULT + giveitem ITEM_MACH_BIKE + goto MauvilleCity_BikeShop_EventScript_ComeBackToSwitchBikes end -MauvilleCity_BikeShop_EventScript_20EC6D:: @ 820EC6D - msgbox MauvilleCity_BikeShop_Text_20F1A5, MSGBOX_DEFAULT - giveitem_std ITEM_ACRO_BIKE - goto MauvilleCity_BikeShop_EventScript_20EC87 +MauvilleCity_BikeShop_EventScript_GetAcroBike:: @ 820EC6D + msgbox MauvilleCity_BikeShop_Text_ChoseAcroBike, MSGBOX_DEFAULT + giveitem ITEM_ACRO_BIKE + goto MauvilleCity_BikeShop_EventScript_ComeBackToSwitchBikes end -MauvilleCity_BikeShop_EventScript_20EC87:: @ 820EC87 - msgbox MauvilleCity_BikeShop_Text_20F1BD, MSGBOX_DEFAULT +MauvilleCity_BikeShop_EventScript_ComeBackToSwitchBikes:: @ 820EC87 + msgbox MauvilleCity_BikeShop_Text_ComeBackToSwitchBikes, MSGBOX_DEFAULT special SwapRegisteredBike release end -MauvilleCity_BikeShop_EventScript_20EC94:: @ 820EC94 - msgbox MauvilleCity_BikeShop_Text_20F1FB, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_BikeShop_EventScript_20ECB3 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_BikeShop_EventScript_20ECE5 +MauvilleCity_BikeShop_EventScript_AskSwitchBikes:: @ 820EC94 + msgbox MauvilleCity_BikeShop_Text_WantToSwitchBikes, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq MauvilleCity_BikeShop_EventScript_SwitchBikes + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_BikeShop_EventScript_KeepBike end -MauvilleCity_BikeShop_EventScript_20ECB3:: @ 820ECB3 - msgbox MauvilleCity_BikeShop_Text_20F22F, MSGBOX_DEFAULT +@ If the player does not have a bike on them Rydel assumes its stored in the PC +MauvilleCity_BikeShop_EventScript_SwitchBikes:: @ 820ECB3 + msgbox MauvilleCity_BikeShop_Text_IllSwitchBikes, MSGBOX_DEFAULT checkitem ITEM_ACRO_BIKE, 1 - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_BikeShop_EventScript_20ECEF + compare VAR_RESULT, TRUE + goto_if_eq MauvilleCity_BikeShop_EventScript_SwitchAcroForMach checkitem ITEM_MACH_BIKE, 1 - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_BikeShop_EventScript_20ED10 - msgbox MauvilleCity_BikeShop_Text_20F2F3, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq MauvilleCity_BikeShop_EventScript_SwitchMachForAcro + msgbox MauvilleCity_BikeShop_Text_OhYourBikeIsInPC, MSGBOX_DEFAULT release end -MauvilleCity_BikeShop_EventScript_20ECE5:: @ 820ECE5 - msgbox MauvilleCity_BikeShop_Text_20F2C4, MSGBOX_DEFAULT +MauvilleCity_BikeShop_EventScript_KeepBike:: @ 820ECE5 + msgbox MauvilleCity_BikeShop_Text_HappyYouLikeIt, MSGBOX_DEFAULT release end -MauvilleCity_BikeShop_EventScript_20ECEF:: @ 820ECEF - incrementgamestat 4 - msgbox MauvilleCity_BikeShop_Text_20F294, MSGBOX_DEFAULT - takeitem ITEM_ACRO_BIKE, 1 - giveitem_std ITEM_MACH_BIKE - goto MauvilleCity_BikeShop_EventScript_20EC87 +MauvilleCity_BikeShop_EventScript_SwitchAcroForMach:: @ 820ECEF + incrementgamestat GAME_STAT_TRADED_BIKES + msgbox MauvilleCity_BikeShop_Text_ExchangedAcroForMach, MSGBOX_DEFAULT + removeitem ITEM_ACRO_BIKE + giveitem ITEM_MACH_BIKE + goto MauvilleCity_BikeShop_EventScript_ComeBackToSwitchBikes end -MauvilleCity_BikeShop_EventScript_20ED10:: @ 820ED10 - incrementgamestat 4 - msgbox MauvilleCity_BikeShop_Text_20F263, MSGBOX_DEFAULT - takeitem ITEM_MACH_BIKE, 1 - giveitem_std ITEM_ACRO_BIKE - goto MauvilleCity_BikeShop_EventScript_20EC87 +MauvilleCity_BikeShop_EventScript_SwitchMachForAcro:: @ 820ED10 + incrementgamestat GAME_STAT_TRADED_BIKES + msgbox MauvilleCity_BikeShop_Text_ExchangedMachForAcro, MSGBOX_DEFAULT + removeitem ITEM_MACH_BIKE + giveitem ITEM_ACRO_BIKE + goto MauvilleCity_BikeShop_EventScript_ComeBackToSwitchBikes end -MauvilleCity_BikeShop_EventScript_20ED31:: @ 820ED31 - msgbox MauvilleCity_BikeShop_Text_20F3C3, MSGBOX_NPC +MauvilleCity_BikeShop_EventScript_Assistant:: @ 820ED31 + msgbox MauvilleCity_BikeShop_Text_HandbooksAreInBack, MSGBOX_NPC end -MauvilleCity_BikeShop_EventScript_20ED3A:: @ 820ED3A - message MauvilleCity_BikeShop_Text_20F445 +MauvilleCity_BikeShop_EventScript_MachBikeHandbook:: @ 820ED3A + message MauvilleCity_BikeShop_Text_MachHandbookWhichPage waitmessage - goto MauvilleCity_BikeShop_EventScript_20ED46 + goto MauvilleCity_BikeShop_EventScript_ChooseMachHandbookPage end -MauvilleCity_BikeShop_EventScript_20ED46:: @ 820ED46 - multichoice 0, 0, 43, 0 +MauvilleCity_BikeShop_EventScript_ChooseMachHandbookPage:: @ 820ED46 + multichoice 0, 0, MULTI_MACH_BIKE_INFO, 0 switch VAR_RESULT - case 0, MauvilleCity_BikeShop_EventScript_20ED88 - case 1, MauvilleCity_BikeShop_EventScript_20ED94 - case 2, MauvilleCity_BikeShop_EventScript_20EDA0 - case 3, MauvilleCity_BikeShop_EventScript_20EDAC - case 127, MauvilleCity_BikeShop_EventScript_20EDAC + case 0, MauvilleCity_BikeShop_EventScript_HowToRide + case 1, MauvilleCity_BikeShop_EventScript_HowToTurn + case 2, MauvilleCity_BikeShop_EventScript_SandySlopes + case 3, MauvilleCity_BikeShop_EventScript_ExitMachHandbook + case MULTI_B_PRESSED, MauvilleCity_BikeShop_EventScript_ExitMachHandbook end -MauvilleCity_BikeShop_EventScript_20ED88:: @ 820ED88 - message MauvilleCity_BikeShop_Text_20F487 +MauvilleCity_BikeShop_EventScript_HowToRide:: @ 820ED88 + message MauvilleCity_BikeShop_Text_HowToRideMachBike waitmessage - goto MauvilleCity_BikeShop_EventScript_20ED46 + goto MauvilleCity_BikeShop_EventScript_ChooseMachHandbookPage end -MauvilleCity_BikeShop_EventScript_20ED94:: @ 820ED94 - message MauvilleCity_BikeShop_Text_20F550 +MauvilleCity_BikeShop_EventScript_HowToTurn:: @ 820ED94 + message MauvilleCity_BikeShop_Text_HowToTurnMachBike waitmessage - goto MauvilleCity_BikeShop_EventScript_20ED46 + goto MauvilleCity_BikeShop_EventScript_ChooseMachHandbookPage end -MauvilleCity_BikeShop_EventScript_20EDA0:: @ 820EDA0 - message MauvilleCity_BikeShop_Text_20F61A +MauvilleCity_BikeShop_EventScript_SandySlopes:: @ 820EDA0 + message MauvilleCity_BikeShop_Text_SandySlopes waitmessage - goto MauvilleCity_BikeShop_EventScript_20ED46 + goto MauvilleCity_BikeShop_EventScript_ChooseMachHandbookPage end -MauvilleCity_BikeShop_EventScript_20EDAC:: @ 820EDAC +MauvilleCity_BikeShop_EventScript_ExitMachHandbook:: @ 820EDAC release end -MauvilleCity_BikeShop_EventScript_20EDAE:: @ 820EDAE - message MauvilleCity_BikeShop_Text_20F6ED +MauvilleCity_BikeShop_EventScript_AcroBikeHandbook:: @ 820EDAE + message MauvilleCity_BikeShop_Text_AcroHandbookWhichPage waitmessage - goto MauvilleCity_BikeShop_EventScript_20EDBA + goto MauvilleCity_BikeShop_EventScript_ChooseAcroHandbookPage end -MauvilleCity_BikeShop_EventScript_20EDBA:: @ 820EDBA - multichoice 0, 0, 44, 0 +MauvilleCity_BikeShop_EventScript_ChooseAcroHandbookPage:: @ 820EDBA + multichoice 0, 0, MULTI_ACRO_BIKE_INFO, 0 switch VAR_RESULT - case 0, MauvilleCity_BikeShop_EventScript_20EDFC - case 1, MauvilleCity_BikeShop_EventScript_20EE08 - case 2, MauvilleCity_BikeShop_EventScript_20EE14 - case 3, MauvilleCity_BikeShop_EventScript_20EE20 - case 127, MauvilleCity_BikeShop_EventScript_20EE20 + case 0, MauvilleCity_BikeShop_EventScript_Wheelies + case 1, MauvilleCity_BikeShop_EventScript_BunnyHops + case 2, MauvilleCity_BikeShop_EventScript_Jumps + case 3, MauvilleCity_BikeShop_EventScript_ExitAcroHandbook + case MULTI_B_PRESSED, MauvilleCity_BikeShop_EventScript_ExitAcroHandbook end -MauvilleCity_BikeShop_EventScript_20EDFC:: @ 820EDFC - message MauvilleCity_BikeShop_Text_20F72F +MauvilleCity_BikeShop_EventScript_Wheelies:: @ 820EDFC + message MauvilleCity_BikeShop_Text_Wheelies waitmessage - goto MauvilleCity_BikeShop_EventScript_20EDBA + goto MauvilleCity_BikeShop_EventScript_ChooseAcroHandbookPage end -MauvilleCity_BikeShop_EventScript_20EE08:: @ 820EE08 - message MauvilleCity_BikeShop_Text_20F7F5 +MauvilleCity_BikeShop_EventScript_BunnyHops:: @ 820EE08 + message MauvilleCity_BikeShop_Text_BunnyHops waitmessage - goto MauvilleCity_BikeShop_EventScript_20EDBA + goto MauvilleCity_BikeShop_EventScript_ChooseAcroHandbookPage end -MauvilleCity_BikeShop_EventScript_20EE14:: @ 820EE14 - message MauvilleCity_BikeShop_Text_20F898 +MauvilleCity_BikeShop_EventScript_Jumps:: @ 820EE14 + message MauvilleCity_BikeShop_Text_Jumps waitmessage - goto MauvilleCity_BikeShop_EventScript_20EDBA + goto MauvilleCity_BikeShop_EventScript_ChooseAcroHandbookPage end -MauvilleCity_BikeShop_EventScript_20EE20:: @ 820EE20 +MauvilleCity_BikeShop_EventScript_ExitAcroHandbook:: @ 820EE20 release end -MauvilleCity_BikeShop_Text_20EE22: @ 820EE22 +MauvilleCity_BikeShop_Text_RydelGreeting: @ 820EE22 .string "Well, well, what have we here?\n" .string "A most energetic customer!\p" .string "Me? You may call me RYDEL.\n" .string "I'm the owner of this cycle shop.$" -MauvilleCity_BikeShop_Text_20EE99: @ 820EE99 +MauvilleCity_BikeShop_Text_DidYouComeFromFarAway: @ 820EE99 .string "RYDEL: Your RUNNING SHOES…\n" .string "They're awfully filthy.\p" .string "Did you come from far away?$" -MauvilleCity_BikeShop_Text_20EEE8: @ 820EEE8 +MauvilleCity_BikeShop_Text_GuessYouDontNeedBike: @ 820EEE8 .string "RYDEL: Is that right?\p" .string "Then, I guess you have no need for\n" .string "any of my BIKES.$" -MauvilleCity_BikeShop_Text_20EF32: @ 820EF32 +MauvilleCity_BikeShop_Text_ExplainBikesChooseWhichOne: @ 820EF32 .string "RYDEL: Hm, hm… … … … …\p" .string "You're saying that you came all this\n" .string "way from LITTLEROOT?\p" @@ -221,37 +222,37 @@ MauvilleCity_BikeShop_Text_20EF32: @ 820EF32 .string "have whichever one you like!\p" .string "Which one will you choose?$" -MauvilleCity_BikeShop_Text_20F18D: @ 820F18D +MauvilleCity_BikeShop_Text_ChoseMachBike: @ 820F18D .string "{PLAYER} chose the MACH BIKE.$" -MauvilleCity_BikeShop_Text_20F1A5: @ 820F1A5 +MauvilleCity_BikeShop_Text_ChoseAcroBike: @ 820F1A5 .string "{PLAYER} chose the ACRO BIKE.$" -MauvilleCity_BikeShop_Text_20F1BD: @ 820F1BD +MauvilleCity_BikeShop_Text_ComeBackToSwitchBikes: @ 820F1BD .string "RYDEL: If you get the urge to switch\n" .string "BIKES, just come see me!$" -MauvilleCity_BikeShop_Text_20F1FB: @ 820F1FB +MauvilleCity_BikeShop_Text_WantToSwitchBikes: @ 820F1FB .string "RYDEL: Oh? Were you thinking about\n" .string "switching BIKES?$" -MauvilleCity_BikeShop_Text_20F22F: @ 820F22F +MauvilleCity_BikeShop_Text_IllSwitchBikes: @ 820F22F .string "RYDEL: Okay, no problem!\n" .string "I'll switch BIKES for you!$" -MauvilleCity_BikeShop_Text_20F263: @ 820F263 +MauvilleCity_BikeShop_Text_ExchangedMachForAcro: @ 820F263 .string "{PLAYER} got the MACH BIKE exchanged\n" .string "for an ACRO BIKE.$" -MauvilleCity_BikeShop_Text_20F294: @ 820F294 +MauvilleCity_BikeShop_Text_ExchangedAcroForMach: @ 820F294 .string "{PLAYER} got the ACRO BIKE exchanged\n" .string "for a MACH BIKE.$" -MauvilleCity_BikeShop_Text_20F2C4: @ 820F2C4 +MauvilleCity_BikeShop_Text_HappyYouLikeIt: @ 820F2C4 .string "RYDEL: Good, good!\n" .string "I'm happy that you like it!$" -MauvilleCity_BikeShop_Text_20F2F3: @ 820F2F3 +MauvilleCity_BikeShop_Text_OhYourBikeIsInPC: @ 820F2F3 .string "Oh? What happened to that BIKE\n" .string "I gave you?\p" .string "Oh, I get it, you stored it using your PC.\p" @@ -260,18 +261,18 @@ MauvilleCity_BikeShop_Text_20F2F3: @ 820F2F3 .string "May the wind always be at your back\n" .string "on your adventure!$" -MauvilleCity_BikeShop_Text_20F3C3: @ 820F3C3 +MauvilleCity_BikeShop_Text_HandbooksAreInBack: @ 820F3C3 .string "I'm learning about BIKES while\n" .string "I work here.\p" .string "If you need advice on how to ride your\n" .string "BIKE, there're a couple handbooks in\l" .string "the back.$" -MauvilleCity_BikeShop_Text_20F445: @ 820F445 +MauvilleCity_BikeShop_Text_MachHandbookWhichPage: @ 820F445 .string "It's a handbook on the MACH BIKE.\p" .string "Which page do you want to read?$" -MauvilleCity_BikeShop_Text_20F487: @ 820F487 +MauvilleCity_BikeShop_Text_HowToRideMachBike: @ 820F487 .string "A BIKE moves in the direction that\n" .string "the + Control Pad is pressed.\p" .string "It will speed up once it gets rolling.\p" @@ -279,7 +280,7 @@ MauvilleCity_BikeShop_Text_20F487: @ 820F487 .string "The BIKE will slow to a stop.\p" .string "Want to read a different page?$" -MauvilleCity_BikeShop_Text_20F550: @ 820F550 +MauvilleCity_BikeShop_Text_HowToTurnMachBike: @ 820F550 .string "A MACH BIKE is speedy, but it can't\n" .string "stop very quickly.\p" .string "It gets a little tricky to get around\n" @@ -288,7 +289,7 @@ MauvilleCity_BikeShop_Text_20F550: @ 820F550 .string "before the corner and slow down.\p" .string "Want to read a different page?$" -MauvilleCity_BikeShop_Text_20F61A: @ 820F61A +MauvilleCity_BikeShop_Text_SandySlopes: @ 820F61A .string "There are small sandy slopes\n" .string "throughout the HOENN region.\p" .string "The loose, crumbly sand makes it\n" @@ -297,11 +298,11 @@ MauvilleCity_BikeShop_Text_20F61A: @ 820F61A .string "zip up a sandy slope.\p" .string "Want to read a different page?$" -MauvilleCity_BikeShop_Text_20F6ED: @ 820F6ED +MauvilleCity_BikeShop_Text_AcroHandbookWhichPage: @ 820F6ED .string "It's a handbook on the ACRO BIKE.\p" .string "Which page do you want to read?$" -MauvilleCity_BikeShop_Text_20F72F: @ 820F72F +MauvilleCity_BikeShop_Text_Wheelies: @ 820F72F .string "Press the B Button while riding,\n" .string "and the front wheel lifts up.\p" .string "You can zip around with the front\n" @@ -309,14 +310,14 @@ MauvilleCity_BikeShop_Text_20F72F: @ 820F72F .string "This technique is called a wheelie.\p" .string "Want to read a different page?$" -MauvilleCity_BikeShop_Text_20F7F5: @ 820F7F5 +MauvilleCity_BikeShop_Text_BunnyHops: @ 820F7F5 .string "Keeping the B Button pressed,\n" .string "your BIKE can hop on the spot.\p" .string "This technique is called a bunny hop.\p" .string "You can ride while hopping, too.\p" .string "Want to read a different page?$" -MauvilleCity_BikeShop_Text_20F898: @ 820F898 +MauvilleCity_BikeShop_Text_Jumps: @ 820F898 .string "Press the B Button and the + Control\n" .string "Pad at the same time to jump.\p" .string "Press the + Control Pad to the side\n" diff --git a/data/maps/MauvilleCity_GameCorner/map.json b/data/maps/MauvilleCity_GameCorner/map.json index 07bfd3bb2c..efebc685ad 100644 --- a/data/maps/MauvilleCity_GameCorner/map.json +++ b/data/maps/MauvilleCity_GameCorner/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_GameCorner_EventScript_210125", + "script": "MauvilleCity_GameCorner_EventScript_Woman2", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_GameCorner_EventScript_21012E", + "script": "MauvilleCity_GameCorner_EventScript_Gentleman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_GameCorner_EventScript_20FBB9", + "script": "MauvilleCity_GameCorner_EventScript_CoinsClerk", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_GameCorner_EventScript_20FCF1", + "script": "MauvilleCity_GameCorner_EventScript_PrizeCornerDolls", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_GameCorner_EventScript_210137", + "script": "MauvilleCity_GameCorner_EventScript_Girl", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_GameCorner_EventScript_21021D", + "script": "MauvilleCity_GameCorner_EventScript_PokefanM", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_GameCorner_EventScript_210279", + "script": "MauvilleCity_GameCorner_EventScript_OldMan", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_GameCorner_EventScript_210289", + "script": "MauvilleCity_GameCorner_EventScript_Cook", "flag": "0" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_GameCorner_EventScript_20FE9F", + "script": "MauvilleCity_GameCorner_EventScript_PrizeCornerTMs", "flag": "0" }, { @@ -141,7 +141,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_GameCorner_EventScript_210299", + "script": "MauvilleCity_GameCorner_EventScript_Man", "flag": "0" }, { @@ -154,7 +154,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_GameCorner_EventScript_2102B6", + "script": "MauvilleCity_GameCorner_EventScript_Maniac", "flag": "0" }, { @@ -167,7 +167,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_GameCorner_EventScript_2102C6", + "script": "MauvilleCity_GameCorner_EventScript_Woman", "flag": "0" } ], @@ -195,7 +195,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", - "script": "MauvilleCity_GameCorner_EventScript_2102D6" + "script": "MauvilleCity_GameCorner_EventScript_SlotMachine0" }, { "type": "sign", @@ -203,7 +203,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", - "script": "MauvilleCity_GameCorner_EventScript_2102F6" + "script": "MauvilleCity_GameCorner_EventScript_SlotMachine1" }, { "type": "sign", @@ -211,7 +211,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", - "script": "MauvilleCity_GameCorner_EventScript_210316" + "script": "MauvilleCity_GameCorner_EventScript_SlotMachine2" }, { "type": "sign", @@ -219,7 +219,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST", - "script": "MauvilleCity_GameCorner_EventScript_210336" + "script": "MauvilleCity_GameCorner_EventScript_SlotMachine3" }, { "type": "sign", @@ -227,7 +227,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST", - "script": "MauvilleCity_GameCorner_EventScript_210356" + "script": "MauvilleCity_GameCorner_EventScript_SlotMachine4" }, { "type": "sign", @@ -235,7 +235,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST", - "script": "MauvilleCity_GameCorner_EventScript_210376" + "script": "MauvilleCity_GameCorner_EventScript_SlotMachine5" }, { "type": "sign", @@ -243,7 +243,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", - "script": "MauvilleCity_GameCorner_EventScript_210396" + "script": "MauvilleCity_GameCorner_EventScript_SlotMachine6" }, { "type": "sign", @@ -251,7 +251,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", - "script": "MauvilleCity_GameCorner_EventScript_2103B6" + "script": "MauvilleCity_GameCorner_EventScript_SlotMachine7" }, { "type": "sign", @@ -259,7 +259,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", - "script": "MauvilleCity_GameCorner_EventScript_2103D6" + "script": "MauvilleCity_GameCorner_EventScript_SlotMachine8" }, { "type": "sign", @@ -267,7 +267,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST", - "script": "MauvilleCity_GameCorner_EventScript_2103F6" + "script": "MauvilleCity_GameCorner_EventScript_SlotMachine9" }, { "type": "sign", @@ -275,7 +275,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST", - "script": "MauvilleCity_GameCorner_EventScript_210416" + "script": "MauvilleCity_GameCorner_EventScript_SlotMachine10" }, { "type": "sign", @@ -283,7 +283,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST", - "script": "MauvilleCity_GameCorner_EventScript_210436" + "script": "MauvilleCity_GameCorner_EventScript_SlotMachine11" }, { "type": "sign", @@ -291,7 +291,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5AB1" + "script": "Roulette_EventScript_Table1" }, { "type": "sign", @@ -299,7 +299,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5AB1" + "script": "Roulette_EventScript_Table1" }, { "type": "sign", @@ -307,7 +307,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5AB1" + "script": "Roulette_EventScript_Table1" }, { "type": "sign", @@ -315,7 +315,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5AB1" + "script": "Roulette_EventScript_Table1" }, { "type": "sign", @@ -323,7 +323,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5AB1" + "script": "Roulette_EventScript_Table1" }, { "type": "sign", @@ -331,7 +331,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5AB1" + "script": "Roulette_EventScript_Table1" }, { "type": "sign", @@ -339,7 +339,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5ADF" + "script": "Roulette_EventScript_Table2" }, { "type": "sign", @@ -347,7 +347,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5ADF" + "script": "Roulette_EventScript_Table2" }, { "type": "sign", @@ -355,7 +355,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5ADF" + "script": "Roulette_EventScript_Table2" }, { "type": "sign", @@ -363,7 +363,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5ADF" + "script": "Roulette_EventScript_Table2" }, { "type": "sign", @@ -371,7 +371,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5ADF" + "script": "Roulette_EventScript_Table2" }, { "type": "sign", @@ -379,7 +379,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MauvilleCity_GameCorner_EventScript_2A5ADF" + "script": "Roulette_EventScript_Table2" } ] } \ No newline at end of file diff --git a/data/maps/MauvilleCity_GameCorner/scripts.inc b/data/maps/MauvilleCity_GameCorner/scripts.inc index 0df7afe546..3401251cf0 100644 --- a/data/maps/MauvilleCity_GameCorner/scripts.inc +++ b/data/maps/MauvilleCity_GameCorner/scripts.inc @@ -1,805 +1,809 @@ MauvilleCity_GameCorner_MapScripts:: @ 820FBB8 .byte 0 -MauvilleCity_GameCorner_EventScript_20FBB9:: @ 820FBB9 + @ Game Corner prices + .set TM32_COINS, 1500 + .set TM29_COINS, 3500 + .set TM35_COINS, 4000 + .set TM24_COINS, 4000 + .set TM13_COINS, 4000 + .set DOLL_COINS, 1000 + + .set COINS_PRICE_50, 1000 + .set COINS_PRICE_500, 10000 + +MauvilleCity_GameCorner_EventScript_CoinsClerk:: @ 820FBB9 lock faceplayer - msgbox MauvilleCity_GameCorner_Text_210460, MSGBOX_DEFAULT + msgbox MauvilleCity_GameCorner_Text_ThisIsMauvilleGameCorner, MSGBOX_DEFAULT checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_20FCB7 - message MauvilleCity_GameCorner_Text_2104DF + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NeedCoinCase + message MauvilleCity_GameCorner_Text_WereYouLookingForCoins waitmessage showmoneybox 0, 0, 0 showcoinsbox 1, 6 - goto MauvilleCity_GameCorner_EventScript_20FBE5 + goto MauvilleCity_GameCorner_EventScript_ChooseCoinsDefault50 -MauvilleCity_GameCorner_EventScript_20FBE5:: @ 820FBE5 - multichoicedefault 15, 0, 49, 0, 0 +MauvilleCity_GameCorner_EventScript_ChooseCoinsDefault50:: @ 820FBE5 + multichoicedefault 15, 0, MULTI_GAME_CORNER_COINS, 0, 0 switch VAR_RESULT - case 0, MauvilleCity_GameCorner_EventScript_20FC33 - case 1, MauvilleCity_GameCorner_EventScript_20FC75 - goto MauvilleCity_GameCorner_EventScript_20FCD1 + case 0, MauvilleCity_GameCorner_EventScript_Buy50Coins + case 1, MauvilleCity_GameCorner_EventScript_Buy500Coins + goto MauvilleCity_GameCorner_EventScript_CancelBuyCoins end -MauvilleCity_GameCorner_EventScript_20FC0C:: @ 820FC0C - multichoicedefault 15, 0, 49, 1, 0 +@ Unused +MauvilleCity_GameCorner_EventScript_ChooseCoinsDefault500:: @ 820FC0C + multichoicedefault 15, 0, MULTI_GAME_CORNER_COINS, 1, 0 switch VAR_RESULT - case 0, MauvilleCity_GameCorner_EventScript_20FC33 - case 1, MauvilleCity_GameCorner_EventScript_20FC75 - goto MauvilleCity_GameCorner_EventScript_20FCD1 + case 0, MauvilleCity_GameCorner_EventScript_Buy50Coins + case 1, MauvilleCity_GameCorner_EventScript_Buy500Coins + goto MauvilleCity_GameCorner_EventScript_CancelBuyCoins end -MauvilleCity_GameCorner_EventScript_20FC33:: @ 820FC33 +MauvilleCity_GameCorner_EventScript_Buy50Coins:: @ 820FC33 checkcoins VAR_TEMP_1 - compare VAR_TEMP_1, 9950 - goto_if_ge MauvilleCity_GameCorner_EventScript_20FCE1 - checkmoney 0x3e8, 0 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_20FCC1 - givecoins 50 - takemoney 0x3e8, 0 + compare VAR_TEMP_1, MAX_COINS + 1 - 50 + goto_if_ge MauvilleCity_GameCorner_EventScript_NoRoomForCoins + checkmoney COINS_PRICE_50, 0 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NotEnoughMoney + addcoins 50 + removemoney COINS_PRICE_50, 0 updatemoneybox 0, 0 updatecoinsbox 1, 6 playse SE_REGI - msgbox MauvilleCity_GameCorner_Text_210529, MSGBOX_DEFAULT + msgbox MauvilleCity_GameCorner_Text_ThankYouHereAreYourCoins, MSGBOX_DEFAULT hidemoneybox - nop - nop hidecoinsbox 0, 5 release end -MauvilleCity_GameCorner_EventScript_20FC75:: @ 820FC75 +MauvilleCity_GameCorner_EventScript_Buy500Coins:: @ 820FC75 checkcoins VAR_TEMP_1 - compare VAR_TEMP_1, 9500 - goto_if_ge MauvilleCity_GameCorner_EventScript_20FCE1 - checkmoney 0x2710, 0 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_20FCC1 - givecoins 500 - takemoney 0x2710, 0 + compare VAR_TEMP_1, MAX_COINS + 1 - 500 + goto_if_ge MauvilleCity_GameCorner_EventScript_NoRoomForCoins + checkmoney COINS_PRICE_500, 0 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NotEnoughMoney + addcoins 500 + removemoney COINS_PRICE_500, 0 updatemoneybox 0, 0 updatecoinsbox 1, 6 playse SE_REGI - msgbox MauvilleCity_GameCorner_Text_210529, MSGBOX_DEFAULT + msgbox MauvilleCity_GameCorner_Text_ThankYouHereAreYourCoins, MSGBOX_DEFAULT hidemoneybox - nop - nop hidecoinsbox 0, 5 release end -MauvilleCity_GameCorner_EventScript_20FCB7:: @ 820FCB7 - msgbox MauvilleCity_GameCorner_Text_21047E, MSGBOX_DEFAULT +MauvilleCity_GameCorner_EventScript_NeedCoinCase:: @ 820FCB7 + msgbox MauvilleCity_GameCorner_Text_NeedCoinCaseForCoins, MSGBOX_DEFAULT release end -MauvilleCity_GameCorner_EventScript_20FCC1:: @ 820FCC1 - msgbox MauvilleCity_GameCorner_Text_210553, MSGBOX_DEFAULT +MauvilleCity_GameCorner_EventScript_NotEnoughMoney:: @ 820FCC1 + msgbox MauvilleCity_GameCorner_Text_DontHaveEnoughMoney, MSGBOX_DEFAULT hidemoneybox - nop - nop hidecoinsbox 0, 5 release end -MauvilleCity_GameCorner_EventScript_20FCD1:: @ 820FCD1 - msgbox MauvilleCity_GameCorner_Text_21059A, MSGBOX_DEFAULT +MauvilleCity_GameCorner_EventScript_CancelBuyCoins:: @ 820FCD1 + msgbox MauvilleCity_GameCorner_Text_DontNeedCoinsThen, MSGBOX_DEFAULT hidemoneybox - nop - nop hidecoinsbox 0, 5 release end -MauvilleCity_GameCorner_EventScript_20FCE1:: @ 820FCE1 - msgbox MauvilleCity_GameCorner_Text_21057E, MSGBOX_DEFAULT +MauvilleCity_GameCorner_EventScript_NoRoomForCoins:: @ 820FCE1 + msgbox MauvilleCity_GameCorner_Text_CoinCaseIsFull, MSGBOX_DEFAULT hidemoneybox - nop - nop hidecoinsbox 0, 5 release end -MauvilleCity_GameCorner_EventScript_20FCF1:: @ 820FCF1 +MauvilleCity_GameCorner_EventScript_PrizeCornerDolls:: @ 820FCF1 lock faceplayer - msgbox MauvilleCity_GameCorner_Text_2105D7, MSGBOX_DEFAULT + msgbox MauvilleCity_GameCorner_Text_ExchangeCoinsForPrizes, MSGBOX_DEFAULT checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_GameCorner_EventScript_20FD0D + compare VAR_RESULT, TRUE + goto_if_eq MauvilleCity_GameCorner_EventScript_ChooseDollPrizeMessage release end -MauvilleCity_GameCorner_EventScript_20FD0D:: @ 820FD0D - message MauvilleCity_GameCorner_Text_21060D +MauvilleCity_GameCorner_EventScript_ChooseDollPrizeMessage:: @ 820FD0D + message MauvilleCity_GameCorner_Text_WhichPrize waitmessage setvar VAR_TEMP_1, 0 showcoinsbox 1, 1 - goto MauvilleCity_GameCorner_EventScript_20FD2B + goto MauvilleCity_GameCorner_EventScript_ChooseDollPrize -MauvilleCity_GameCorner_EventScript_20FD20:: @ 820FD20 - message MauvilleCity_GameCorner_Text_21060D +MauvilleCity_GameCorner_EventScript_ReturnToChooseDollPrize:: @ 820FD20 + message MauvilleCity_GameCorner_Text_WhichPrize waitmessage - goto MauvilleCity_GameCorner_EventScript_20FD2B + goto MauvilleCity_GameCorner_EventScript_ChooseDollPrize -MauvilleCity_GameCorner_EventScript_20FD2B:: @ 820FD2B - multichoice 12, 0, 48, 0 +MauvilleCity_GameCorner_EventScript_ChooseDollPrize:: @ 820FD2B + multichoice 12, 0, MULTI_GAME_CORNER_DOLLS, 0 switch VAR_RESULT - case 0, MauvilleCity_GameCorner_EventScript_20FD67 - case 1, MauvilleCity_GameCorner_EventScript_20FD75 - case 2, MauvilleCity_GameCorner_EventScript_20FD83 - case 3, MauvilleCity_GameCorner_EventScript_20FE92 - goto MauvilleCity_GameCorner_EventScript_20FE92 + case 0, MauvilleCity_GameCorner_EventScript_TreeckoDoll + case 1, MauvilleCity_GameCorner_EventScript_TorchicDoll + case 2, MauvilleCity_GameCorner_EventScript_MudkipDoll + case 3, MauvilleCity_GameCorner_EventScript_CancelDollSelect + goto MauvilleCity_GameCorner_EventScript_CancelDollSelect end -MauvilleCity_GameCorner_EventScript_20FD67:: @ 820FD67 +MauvilleCity_GameCorner_EventScript_TreeckoDoll:: @ 820FD67 setvar VAR_TEMP_1, 1 - bufferdecorationname 0, 88 - goto MauvilleCity_GameCorner_EventScript_20FD91 + bufferdecorationname 0, DECOR_TREECKO_DOLL + goto MauvilleCity_GameCorner_EventScript_ConfirmDollPrize -MauvilleCity_GameCorner_EventScript_20FD75:: @ 820FD75 +MauvilleCity_GameCorner_EventScript_TorchicDoll:: @ 820FD75 setvar VAR_TEMP_1, 2 - bufferdecorationname 0, 89 - goto MauvilleCity_GameCorner_EventScript_20FD91 + bufferdecorationname 0, DECOR_TORCHIC_DOLL + goto MauvilleCity_GameCorner_EventScript_ConfirmDollPrize -MauvilleCity_GameCorner_EventScript_20FD83:: @ 820FD83 +MauvilleCity_GameCorner_EventScript_MudkipDoll:: @ 820FD83 setvar VAR_TEMP_1, 3 - bufferdecorationname 0, 90 - goto MauvilleCity_GameCorner_EventScript_20FD91 + bufferdecorationname 0, DECOR_MUDKIP_DOLL + goto MauvilleCity_GameCorner_EventScript_ConfirmDollPrize -MauvilleCity_GameCorner_EventScript_20FD91:: @ 820FD91 - msgbox MauvilleCity_GameCorner_Text_210705, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_20FE92 +MauvilleCity_GameCorner_EventScript_ConfirmDollPrize:: @ 820FD91 + msgbox MauvilleCity_GameCorner_Text_SoYourChoiceIsX, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_GameCorner_EventScript_CancelDollSelect switch VAR_TEMP_1 - case 1, MauvilleCity_GameCorner_EventScript_20FDCB - case 2, MauvilleCity_GameCorner_EventScript_20FE05 - case 3, MauvilleCity_GameCorner_EventScript_20FE3F + case 1, MauvilleCity_GameCorner_EventScript_BuyTreeckoDoll + case 2, MauvilleCity_GameCorner_EventScript_BuyTorchicDoll + case 3, MauvilleCity_GameCorner_EventScript_BuyMudkipDoll end -MauvilleCity_GameCorner_EventScript_20FDCB:: @ 820FDCB +MauvilleCity_GameCorner_EventScript_BuyTreeckoDoll:: @ 820FDCB checkcoins VAR_TEMP_2 - compare VAR_TEMP_2, 1000 - goto_if_lt MauvilleCity_GameCorner_EventScript_20FE79 - bufferdecorationname 1, 88 - checkdecorspace 88 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_20FE87 - takecoins 1000 - givedecoration 88 + compare VAR_TEMP_2, DOLL_COINS + goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForDoll + bufferdecorationname 1, DECOR_TREECKO_DOLL + checkdecorspace DECOR_TREECKO_DOLL + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForDoll + removecoins DOLL_COINS + adddecoration DECOR_TREECKO_DOLL updatecoinsbox 1, 1 playse SE_REGI - msgbox MauvilleCity_GameCorner_Text_210646, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_20FD20 + msgbox MauvilleCity_GameCorner_Text_SendToYourHomePC, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_ReturnToChooseDollPrize end -MauvilleCity_GameCorner_EventScript_20FE05:: @ 820FE05 +MauvilleCity_GameCorner_EventScript_BuyTorchicDoll:: @ 820FE05 checkcoins VAR_TEMP_2 - compare VAR_TEMP_2, 1000 - goto_if_lt MauvilleCity_GameCorner_EventScript_20FE79 - bufferdecorationname 1, 89 - checkdecorspace 89 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_20FE87 - takecoins 1000 - givedecoration 89 + compare VAR_TEMP_2, DOLL_COINS + goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForDoll + bufferdecorationname 1, DECOR_TORCHIC_DOLL + checkdecorspace DECOR_TORCHIC_DOLL + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForDoll + removecoins DOLL_COINS + adddecoration DECOR_TORCHIC_DOLL updatecoinsbox 1, 1 playse SE_REGI - msgbox MauvilleCity_GameCorner_Text_210646, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_20FD20 + msgbox MauvilleCity_GameCorner_Text_SendToYourHomePC, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_ReturnToChooseDollPrize end -MauvilleCity_GameCorner_EventScript_20FE3F:: @ 820FE3F +MauvilleCity_GameCorner_EventScript_BuyMudkipDoll:: @ 820FE3F checkcoins VAR_TEMP_2 - compare VAR_TEMP_2, 1000 - goto_if_lt MauvilleCity_GameCorner_EventScript_20FE79 - bufferdecorationname 1, 90 - checkdecorspace 90 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_20FE87 - takecoins 1000 - givedecoration 90 + compare VAR_TEMP_2, DOLL_COINS + goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForDoll + bufferdecorationname 1, DECOR_MUDKIP_DOLL + checkdecorspace DECOR_MUDKIP_DOLL + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForDoll + removecoins DOLL_COINS + adddecoration DECOR_MUDKIP_DOLL updatecoinsbox 1, 1 playse SE_REGI - msgbox MauvilleCity_GameCorner_Text_210646, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_20FD20 + msgbox MauvilleCity_GameCorner_Text_SendToYourHomePC, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_ReturnToChooseDollPrize end -MauvilleCity_GameCorner_EventScript_20FE79:: @ 820FE79 - msgbox MauvilleCity_GameCorner_Text_210673, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_20FD20 +MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForDoll:: @ 820FE79 + msgbox MauvilleCity_GameCorner_Text_NotEnoughCoins, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_ReturnToChooseDollPrize end -MauvilleCity_GameCorner_EventScript_20FE87:: @ 820FE87 - call Common_EventScript_NoRoomLeftForAnother - goto MauvilleCity_GameCorner_EventScript_20FD20 +MauvilleCity_GameCorner_EventScript_NoRoomForDoll:: @ 820FE87 + call Common_EventScript_NoRoomForDecor + goto MauvilleCity_GameCorner_EventScript_ReturnToChooseDollPrize end -MauvilleCity_GameCorner_EventScript_20FE92:: @ 820FE92 - msgbox MauvilleCity_GameCorner_Text_2106BF, MSGBOX_DEFAULT +MauvilleCity_GameCorner_EventScript_CancelDollSelect:: @ 820FE92 + msgbox MauvilleCity_GameCorner_Text_OhIsThatSo, MSGBOX_DEFAULT hidecoinsbox 0, 0 release end -MauvilleCity_GameCorner_EventScript_20FE9F:: @ 820FE9F +MauvilleCity_GameCorner_EventScript_PrizeCornerTMs:: @ 820FE9F lock faceplayer - msgbox MauvilleCity_GameCorner_Text_2105D7, MSGBOX_DEFAULT + msgbox MauvilleCity_GameCorner_Text_ExchangeCoinsForPrizes, MSGBOX_DEFAULT checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_GameCorner_EventScript_20FEBB + compare VAR_RESULT, TRUE + goto_if_eq MauvilleCity_GameCorner_EventScript_ChooseTMPrizeMessage release end -MauvilleCity_GameCorner_EventScript_20FEBB:: @ 820FEBB - message MauvilleCity_GameCorner_Text_21060D +MauvilleCity_GameCorner_EventScript_ChooseTMPrizeMessage:: @ 820FEBB + message MauvilleCity_GameCorner_Text_WhichPrize waitmessage setvar VAR_TEMP_1, 0 showcoinsbox 1, 1 - goto MauvilleCity_GameCorner_EventScript_20FED9 + goto MauvilleCity_GameCorner_EventScript_ChooseTMPrize -MauvilleCity_GameCorner_EventScript_20FECE:: @ 820FECE - message MauvilleCity_GameCorner_Text_21060D +MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize:: @ 820FECE + message MauvilleCity_GameCorner_Text_WhichPrize waitmessage - goto MauvilleCity_GameCorner_EventScript_20FED9 + goto MauvilleCity_GameCorner_EventScript_ChooseTMPrize -MauvilleCity_GameCorner_EventScript_20FED9:: @ 820FED9 - multichoice 12, 0, 55, 0 +MauvilleCity_GameCorner_EventScript_ChooseTMPrize:: @ 820FED9 + multichoice 12, 0, MULTI_GAME_CORNER_TMS, 0 switch VAR_RESULT - case 0, MauvilleCity_GameCorner_EventScript_20FF2B - case 1, MauvilleCity_GameCorner_EventScript_20FF3E - case 2, MauvilleCity_GameCorner_EventScript_20FF51 - case 3, MauvilleCity_GameCorner_EventScript_20FF64 - case 4, MauvilleCity_GameCorner_EventScript_20FF77 - case 5, MauvilleCity_GameCorner_EventScript_210118 - goto MauvilleCity_GameCorner_EventScript_210118 + case 0, MauvilleCity_GameCorner_EventScript_TM32 + case 1, MauvilleCity_GameCorner_EventScript_TM29 + case 2, MauvilleCity_GameCorner_EventScript_TM35 + case 3, MauvilleCity_GameCorner_EventScript_TM24 + case 4, MauvilleCity_GameCorner_EventScript_TM13 + case 5, MauvilleCity_GameCorner_EventScript_CancelTMSelect + goto MauvilleCity_GameCorner_EventScript_CancelTMSelect end -MauvilleCity_GameCorner_EventScript_20FF2B:: @ 820FF2B +MauvilleCity_GameCorner_EventScript_TM32:: @ 820FF2B setvar VAR_TEMP_1, 1 bufferitemname 0, ITEM_TM32 - setvar VAR_0x8004, 320 - goto MauvilleCity_GameCorner_EventScript_20FF8A + setvar VAR_0x8004, ITEM_TM32 + goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize -MauvilleCity_GameCorner_EventScript_20FF3E:: @ 820FF3E +MauvilleCity_GameCorner_EventScript_TM29:: @ 820FF3E setvar VAR_TEMP_1, 2 bufferitemname 0, ITEM_TM29 - setvar VAR_0x8004, 317 - goto MauvilleCity_GameCorner_EventScript_20FF8A + setvar VAR_0x8004, ITEM_TM29 + goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize -MauvilleCity_GameCorner_EventScript_20FF51:: @ 820FF51 +MauvilleCity_GameCorner_EventScript_TM35:: @ 820FF51 setvar VAR_TEMP_1, 3 bufferitemname 0, ITEM_TM35 - setvar VAR_0x8004, 323 - goto MauvilleCity_GameCorner_EventScript_20FF8A + setvar VAR_0x8004, ITEM_TM35 + goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize -MauvilleCity_GameCorner_EventScript_20FF64:: @ 820FF64 +MauvilleCity_GameCorner_EventScript_TM24:: @ 820FF64 setvar VAR_TEMP_1, 4 bufferitemname 0, ITEM_TM24 - setvar VAR_0x8004, 312 - goto MauvilleCity_GameCorner_EventScript_20FF8A + setvar VAR_0x8004, ITEM_TM24 + goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize -MauvilleCity_GameCorner_EventScript_20FF77:: @ 820FF77 +MauvilleCity_GameCorner_EventScript_TM13:: @ 820FF77 setvar VAR_TEMP_1, 5 bufferitemname 0, ITEM_TM13 - setvar VAR_0x8004, 301 - goto MauvilleCity_GameCorner_EventScript_20FF8A + setvar VAR_0x8004, ITEM_TM13 + goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize -MauvilleCity_GameCorner_EventScript_20FF8A:: @ 820FF8A - special sub_81398C0 - msgbox MauvilleCity_GameCorner_Text_210629, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210118 +MauvilleCity_GameCorner_EventScript_ConfirmTMPrize:: @ 820FF8A + special BufferTMHMMoveName + msgbox MauvilleCity_GameCorner_Text_SoYourChoiceIsTheTMX, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_GameCorner_EventScript_CancelTMSelect switch VAR_TEMP_1 - case 1, MauvilleCity_GameCorner_EventScript_20FFDD - case 2, MauvilleCity_GameCorner_EventScript_210017 - case 3, MauvilleCity_GameCorner_EventScript_210051 - case 4, MauvilleCity_GameCorner_EventScript_21008B - case 5, MauvilleCity_GameCorner_EventScript_2100C5 + case 1, MauvilleCity_GameCorner_EventScript_BuyTM32 + case 2, MauvilleCity_GameCorner_EventScript_BuyTM29 + case 3, MauvilleCity_GameCorner_EventScript_BuyTM35 + case 4, MauvilleCity_GameCorner_EventScript_BuyTM24 + case 5, MauvilleCity_GameCorner_EventScript_BuyTM13 end -MauvilleCity_GameCorner_EventScript_20FFDD:: @ 820FFDD +MauvilleCity_GameCorner_EventScript_BuyTM32:: @ 820FFDD checkcoins VAR_TEMP_2 - compare VAR_TEMP_2, 1500 - goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF + compare VAR_TEMP_2, TM32_COINS + goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM checkitemspace ITEM_TM32, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_21010D - takecoins 1500 - giveitem ITEM_TM32, 1 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForTM + removecoins TM32_COINS + additem ITEM_TM32 updatecoinsbox 1, 1 playse SE_REGI - msgbox MauvilleCity_GameCorner_Text_21071B, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_20FECE + msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize end -MauvilleCity_GameCorner_EventScript_210017:: @ 8210017 +MauvilleCity_GameCorner_EventScript_BuyTM29:: @ 8210017 checkcoins VAR_TEMP_2 - compare VAR_TEMP_2, 3500 - goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF + compare VAR_TEMP_2, TM29_COINS + goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM checkitemspace ITEM_TM29, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_21010D - takecoins 3500 - giveitem ITEM_TM29, 1 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForTM + removecoins TM29_COINS + additem ITEM_TM29 updatecoinsbox 1, 1 playse SE_REGI - msgbox MauvilleCity_GameCorner_Text_21071B, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_20FECE + msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize end -MauvilleCity_GameCorner_EventScript_210051:: @ 8210051 +MauvilleCity_GameCorner_EventScript_BuyTM35:: @ 8210051 checkcoins VAR_TEMP_2 - compare VAR_TEMP_2, 4000 - goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF + compare VAR_TEMP_2, TM35_COINS + goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM checkitemspace ITEM_TM35, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_21010D - takecoins 4000 - giveitem ITEM_TM35, 1 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForTM + removecoins TM35_COINS + additem ITEM_TM35 updatecoinsbox 1, 1 playse SE_REGI - msgbox MauvilleCity_GameCorner_Text_21071B, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_20FECE + msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize end -MauvilleCity_GameCorner_EventScript_21008B:: @ 821008B +MauvilleCity_GameCorner_EventScript_BuyTM24:: @ 821008B checkcoins VAR_TEMP_2 - compare VAR_TEMP_2, 4000 - goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF + compare VAR_TEMP_2, TM24_COINS + goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM checkitemspace ITEM_TM24, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_21010D - takecoins 4000 - giveitem ITEM_TM24, 1 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForTM + removecoins TM24_COINS + additem ITEM_TM24 updatecoinsbox 1, 1 playse SE_REGI - msgbox MauvilleCity_GameCorner_Text_21071B, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_20FECE + msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize end -MauvilleCity_GameCorner_EventScript_2100C5:: @ 82100C5 +MauvilleCity_GameCorner_EventScript_BuyTM13:: @ 82100C5 checkcoins VAR_TEMP_2 - compare VAR_TEMP_2, 4000 - goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF + compare VAR_TEMP_2, TM13_COINS + goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM checkitemspace ITEM_TM13, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_21010D - takecoins 4000 - giveitem ITEM_TM13, 1 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForTM + removecoins TM13_COINS + additem ITEM_TM13 updatecoinsbox 1, 1 playse SE_REGI - msgbox MauvilleCity_GameCorner_Text_21071B, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_20FECE + msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize end -MauvilleCity_GameCorner_EventScript_2100FF:: @ 82100FF - msgbox MauvilleCity_GameCorner_Text_210673, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_20FECE +MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM:: @ 82100FF + msgbox MauvilleCity_GameCorner_Text_NotEnoughCoins, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize end -MauvilleCity_GameCorner_EventScript_21010D:: @ 821010D +MauvilleCity_GameCorner_EventScript_NoRoomForTM:: @ 821010D call Common_EventScript_BagIsFull - goto MauvilleCity_GameCorner_EventScript_20FECE + goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize end -MauvilleCity_GameCorner_EventScript_210118:: @ 8210118 - msgbox MauvilleCity_GameCorner_Text_2106BF, MSGBOX_DEFAULT +MauvilleCity_GameCorner_EventScript_CancelTMSelect:: @ 8210118 + msgbox MauvilleCity_GameCorner_Text_OhIsThatSo, MSGBOX_DEFAULT hidecoinsbox 0, 0 release end -MauvilleCity_GameCorner_EventScript_210125:: @ 8210125 - msgbox MauvilleCity_GameCorner_Text_2109D3, MSGBOX_NPC +MauvilleCity_GameCorner_EventScript_Woman2:: @ 8210125 + msgbox MauvilleCity_GameCorner_Text_CoinsAreNeededToPlay, MSGBOX_NPC end -MauvilleCity_GameCorner_EventScript_21012E:: @ 821012E - msgbox MauvilleCity_GameCorner_Text_210A05, MSGBOX_NPC +MauvilleCity_GameCorner_EventScript_Gentleman:: @ 821012E + msgbox MauvilleCity_GameCorner_Text_RouletteOnlyLuck, MSGBOX_NPC end -MauvilleCity_GameCorner_EventScript_210137:: @ 8210137 +MauvilleCity_GameCorner_EventScript_Girl:: @ 8210137 lock faceplayer - goto_if_set FLAG_RECEIVED_STARTER_DOLL, MauvilleCity_GameCorner_EventScript_210213 - msgbox MauvilleCity_GameCorner_Text_210750, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210209 + goto_if_set FLAG_RECEIVED_STARTER_DOLL, MauvilleCity_GameCorner_EventScript_ReceivedStarterDoll + msgbox MauvilleCity_GameCorner_Text_GotTwoOfSameDollWantOne, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_GameCorner_EventScript_DeclineStarterDoll switch VAR_STARTER_MON - case 0, MauvilleCity_GameCorner_EventScript_21017C - case 1, MauvilleCity_GameCorner_EventScript_2101A6 - case 2, MauvilleCity_GameCorner_EventScript_2101D0 + case 0, MauvilleCity_GameCorner_EventScript_GiveTreeckoDoll + case 1, MauvilleCity_GameCorner_EventScript_GiveTorchicDoll + case 2, MauvilleCity_GameCorner_EventScript_GiveMudkipDoll end -MauvilleCity_GameCorner_EventScript_21017C:: @ 821017C - bufferdecorationname 1, 88 - checkdecorspace 88 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA - msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT - givedecoration_std 88 +MauvilleCity_GameCorner_EventScript_GiveTreeckoDoll:: @ 821017C + bufferdecorationname 1, DECOR_TREECKO_DOLL + checkdecorspace DECOR_TREECKO_DOLL + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForStarterDoll + msgbox MauvilleCity_GameCorner_Text_HereYouGo2, MSGBOX_DEFAULT + givedecoration DECOR_TREECKO_DOLL setflag FLAG_RECEIVED_STARTER_DOLL - goto MauvilleCity_GameCorner_EventScript_210213 + goto MauvilleCity_GameCorner_EventScript_ReceivedStarterDoll end -MauvilleCity_GameCorner_EventScript_2101A6:: @ 82101A6 - bufferdecorationname 1, 89 - checkdecorspace 89 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA - msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT - givedecoration_std 89 +MauvilleCity_GameCorner_EventScript_GiveTorchicDoll:: @ 82101A6 + bufferdecorationname 1, DECOR_TORCHIC_DOLL + checkdecorspace DECOR_TORCHIC_DOLL + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForStarterDoll + msgbox MauvilleCity_GameCorner_Text_HereYouGo2, MSGBOX_DEFAULT + givedecoration DECOR_TORCHIC_DOLL setflag FLAG_RECEIVED_STARTER_DOLL - goto MauvilleCity_GameCorner_EventScript_210213 + goto MauvilleCity_GameCorner_EventScript_ReceivedStarterDoll end -MauvilleCity_GameCorner_EventScript_2101D0:: @ 82101D0 - bufferdecorationname 1, 90 - checkdecorspace 90 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA - msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT - givedecoration_std 90 +MauvilleCity_GameCorner_EventScript_GiveMudkipDoll:: @ 82101D0 + bufferdecorationname 1, DECOR_MUDKIP_DOLL + checkdecorspace DECOR_MUDKIP_DOLL + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForStarterDoll + msgbox MauvilleCity_GameCorner_Text_HereYouGo2, MSGBOX_DEFAULT + givedecoration DECOR_MUDKIP_DOLL setflag FLAG_RECEIVED_STARTER_DOLL - goto MauvilleCity_GameCorner_EventScript_210213 + goto MauvilleCity_GameCorner_EventScript_ReceivedStarterDoll end -MauvilleCity_GameCorner_EventScript_2101FA:: @ 82101FA - call Common_EventScript_NoRoomLeftForAnother - msgbox MauvilleCity_GameCorner_Text_2107A9, MSGBOX_DEFAULT +MauvilleCity_GameCorner_EventScript_NoRoomForStarterDoll:: @ 82101FA + call Common_EventScript_NoRoomForDecor + msgbox MauvilleCity_GameCorner_Text_YouWantItButNotNow, MSGBOX_DEFAULT release end -MauvilleCity_GameCorner_EventScript_210209:: @ 8210209 - msgbox MauvilleCity_GameCorner_Text_2107CE, MSGBOX_DEFAULT +MauvilleCity_GameCorner_EventScript_DeclineStarterDoll:: @ 8210209 + msgbox MauvilleCity_GameCorner_Text_DontBeNegative, MSGBOX_DEFAULT release end -MauvilleCity_GameCorner_EventScript_210213:: @ 8210213 - msgbox MauvilleCity_GameCorner_Text_2107FB, MSGBOX_DEFAULT +MauvilleCity_GameCorner_EventScript_ReceivedStarterDoll:: @ 8210213 + msgbox MauvilleCity_GameCorner_Text_CantWinJackpot, MSGBOX_DEFAULT release end -MauvilleCity_GameCorner_EventScript_21021D:: @ 821021D +MauvilleCity_GameCorner_EventScript_PokefanM:: @ 821021D lock faceplayer checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_GameCorner_EventScript_21023D - msgbox MauvilleCity_GameCorner_Text_210830, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_2102A9 + compare VAR_RESULT, TRUE + goto_if_eq MauvilleCity_GameCorner_EventScript_TryGive20Coins + msgbox MauvilleCity_GameCorner_Text_NeedCoinCaseGoNextDoor, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_NPCReturnToSlots end -MauvilleCity_GameCorner_EventScript_21023D:: @ 821023D - goto_if_set FLAG_RECEIVED_20_COINS, MauvilleCity_GameCorner_EventScript_21026B +MauvilleCity_GameCorner_EventScript_TryGive20Coins:: @ 821023D + goto_if_set FLAG_RECEIVED_20_COINS, MauvilleCity_GameCorner_EventScript_PokefanMNormal checkcoins VAR_TEMP_1 - compare VAR_TEMP_1, 1 - goto_if_ge MauvilleCity_GameCorner_EventScript_21026B + compare VAR_TEMP_1, 1 @ Only give 20 coins if player has no coins + goto_if_ge MauvilleCity_GameCorner_EventScript_PokefanMNormal setflag FLAG_RECEIVED_20_COINS - givecoins 20 - msgbox MauvilleCity_GameCorner_Text_2108A0, MSGBOX_DEFAULT + addcoins 20 + msgbox MauvilleCity_GameCorner_Text_LuckOnlyLastSoLongTakeCoins, MSGBOX_DEFAULT playse SE_REGI - goto MauvilleCity_GameCorner_EventScript_21026B + goto MauvilleCity_GameCorner_EventScript_PokefanMNormal end -MauvilleCity_GameCorner_EventScript_21026B:: @ 821026B - msgbox MauvilleCity_GameCorner_Text_2108EF, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_2102A9 +MauvilleCity_GameCorner_EventScript_PokefanMNormal:: @ 821026B + msgbox MauvilleCity_GameCorner_Text_MauvilleSomethingForEveryone, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_NPCReturnToSlots end -MauvilleCity_GameCorner_EventScript_210279:: @ 8210279 +MauvilleCity_GameCorner_EventScript_OldMan:: @ 8210279 lock faceplayer - msgbox MauvilleCity_GameCorner_Text_210932, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_2102A9 + msgbox MauvilleCity_GameCorner_Text_RouletteTablesDifferentRates, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_NPCReturnToSlots end -MauvilleCity_GameCorner_EventScript_210289:: @ 8210289 +MauvilleCity_GameCorner_EventScript_Cook:: @ 8210289 lock faceplayer - msgbox MauvilleCity_GameCorner_Text_21098E, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_2102A9 + msgbox MauvilleCity_GameCorner_Text_EasyToLoseTrackOfTime, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_NPCReturnToSlots end -MauvilleCity_GameCorner_EventScript_210299:: @ 8210299 +MauvilleCity_GameCorner_EventScript_Man:: @ 8210299 lock faceplayer - msgbox MauvilleCity_GameCorner_Text_210A51, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_2102A9 + msgbox MauvilleCity_GameCorner_Text_UpTo3CoinsCanBeUsed, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_NPCReturnToSlots end -MauvilleCity_GameCorner_EventScript_2102A9:: @ 82102A9 +MauvilleCity_GameCorner_EventScript_NPCReturnToSlots:: @ 82102A9 closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -MauvilleCity_GameCorner_EventScript_2102B6:: @ 82102B6 +MauvilleCity_GameCorner_EventScript_Maniac:: @ 82102B6 lock faceplayer - msgbox MauvilleCity_GameCorner_Text_210A82, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_2102A9 + msgbox MauvilleCity_GameCorner_Text_DifficultToStopOn7, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_NPCReturnToSlots end -MauvilleCity_GameCorner_EventScript_2102C6:: @ 82102C6 +MauvilleCity_GameCorner_EventScript_Woman:: @ 82102C6 lock faceplayer - msgbox MauvilleCity_GameCorner_Text_210B04, MSGBOX_DEFAULT - goto MauvilleCity_GameCorner_EventScript_2102A9 + msgbox MauvilleCity_GameCorner_Text_HeresSomeSlotsInfo, MSGBOX_DEFAULT + goto MauvilleCity_GameCorner_EventScript_NPCReturnToSlots end -MauvilleCity_GameCorner_EventScript_2102D6:: @ 82102D6 +MauvilleCity_GameCorner_EventScript_SlotMachine0:: @ 82102D6 lockall checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 0 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end -MauvilleCity_GameCorner_EventScript_2102F6:: @ 82102F6 +MauvilleCity_GameCorner_EventScript_SlotMachine1:: @ 82102F6 lockall checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 1 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end -MauvilleCity_GameCorner_EventScript_210316:: @ 8210316 +MauvilleCity_GameCorner_EventScript_SlotMachine2:: @ 8210316 lockall checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 2 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end -MauvilleCity_GameCorner_EventScript_210336:: @ 8210336 +MauvilleCity_GameCorner_EventScript_SlotMachine3:: @ 8210336 lockall checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 3 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end -MauvilleCity_GameCorner_EventScript_210356:: @ 8210356 +MauvilleCity_GameCorner_EventScript_SlotMachine4:: @ 8210356 lockall checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 4 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end -MauvilleCity_GameCorner_EventScript_210376:: @ 8210376 +MauvilleCity_GameCorner_EventScript_SlotMachine5:: @ 8210376 lockall checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 5 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end -MauvilleCity_GameCorner_EventScript_210396:: @ 8210396 +MauvilleCity_GameCorner_EventScript_SlotMachine6:: @ 8210396 lockall checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 6 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end -MauvilleCity_GameCorner_EventScript_2103B6:: @ 82103B6 +MauvilleCity_GameCorner_EventScript_SlotMachine7:: @ 82103B6 lockall checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 7 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end -MauvilleCity_GameCorner_EventScript_2103D6:: @ 82103D6 +MauvilleCity_GameCorner_EventScript_SlotMachine8:: @ 82103D6 lockall checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 8 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end -MauvilleCity_GameCorner_EventScript_2103F6:: @ 82103F6 +MauvilleCity_GameCorner_EventScript_SlotMachine9:: @ 82103F6 lockall checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 9 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end -MauvilleCity_GameCorner_EventScript_210416:: @ 8210416 +MauvilleCity_GameCorner_EventScript_SlotMachine10:: @ 8210416 lockall checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 10 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end -MauvilleCity_GameCorner_EventScript_210436:: @ 8210436 +MauvilleCity_GameCorner_EventScript_SlotMachine11:: @ 8210436 lockall checkitem ITEM_COIN_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_GameCorner_EventScript_210456 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase setvar VAR_0x8004, 11 specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end -MauvilleCity_GameCorner_EventScript_210456:: @ 8210456 - msgbox MauvilleCity_GameCorner_Text_210C2E, MSGBOX_DEFAULT +MauvilleCity_GameCorner_EventScript_NoCoinCase:: @ 8210456 + msgbox MauvilleCity_GameCorner_Text_CantPlayWithNoCoinCase, MSGBOX_DEFAULT releaseall end -MauvilleCity_GameCorner_Text_210460: @ 8210460 +MauvilleCity_GameCorner_Text_ThisIsMauvilleGameCorner: @ 8210460 .string "This is MAUVILLE GAME CORNER.$" -MauvilleCity_GameCorner_Text_21047E: @ 821047E +MauvilleCity_GameCorner_Text_NeedCoinCaseForCoins: @ 821047E .string "Okay, you wanted some COINS for\n" .string "the games?\p" .string "But you don't have a COIN CASE for\n" .string "stowing the COINS.$" -MauvilleCity_GameCorner_Text_2104DF: @ 82104DF +MauvilleCity_GameCorner_Text_WereYouLookingForCoins: @ 82104DF .string "Were you looking for COINS?\p" .string "It's ¥1000 for 50 COINS.\n" .string "Would you like some?$" -MauvilleCity_GameCorner_Text_210529: @ 8210529 +MauvilleCity_GameCorner_Text_ThankYouHereAreYourCoins: @ 8210529 .string "Thank you very much!\n" .string "Here are your COINS!$" -MauvilleCity_GameCorner_Text_210553: @ 8210553 +MauvilleCity_GameCorner_Text_DontHaveEnoughMoney: @ 8210553 .string "Um… You don't appear to have\n" .string "enough money…$" -MauvilleCity_GameCorner_Text_21057E: @ 821057E +MauvilleCity_GameCorner_Text_CoinCaseIsFull: @ 821057E .string "Oh?\n" .string "Your COIN CASE is full.$" -MauvilleCity_GameCorner_Text_21059A: @ 821059A +MauvilleCity_GameCorner_Text_DontNeedCoinsThen: @ 821059A .string "Oh… You don't need COINS, then?\n" .string "Good luck on your adventure!$" -MauvilleCity_GameCorner_Text_2105D7: @ 82105D7 +MauvilleCity_GameCorner_Text_ExchangeCoinsForPrizes: @ 82105D7 .string "Welcome.\p" .string "You can exchange your COINS for\n" .string "prizes here.$" -MauvilleCity_GameCorner_Text_21060D: @ 821060D +MauvilleCity_GameCorner_Text_WhichPrize: @ 821060D .string "Which prize would you like?$" -MauvilleCity_GameCorner_Text_210629: @ 8210629 +MauvilleCity_GameCorner_Text_SoYourChoiceIsTheTMX: @ 8210629 .string "So your choice is\n" .string "the {STR_VAR_1} {STR_VAR_2}?$" -MauvilleCity_GameCorner_Text_210646: @ 8210646 +MauvilleCity_GameCorner_Text_SendToYourHomePC: @ 8210646 .string "Thank you!\n" .string "We'll send it to your PC at home.$" -MauvilleCity_GameCorner_Text_210673: @ 8210673 +MauvilleCity_GameCorner_Text_NotEnoughCoins: @ 8210673 .string "You don't have enough COINS.$" -MauvilleCity_GameCorner_Text_210690: @ 8210690 +@ Unused +MauvilleCity_GameCorner_Text_NoRoomForPlacingDecor: @ 8210690 .string "There isn't any room available for\n" .string "placing {STR_VAR_1}.$" -MauvilleCity_GameCorner_Text_2106BF: @ 82106BF +MauvilleCity_GameCorner_Text_OhIsThatSo: @ 82106BF .string "Oh, is that so? \n" .string "You need to save some COINS before\l" .string "coming back here.$" -MauvilleCity_GameCorner_Text_210705: @ 8210705 +MauvilleCity_GameCorner_Text_SoYourChoiceIsX: @ 8210705 .string "So your choice is {STR_VAR_1}?$" -MauvilleCity_GameCorner_Text_21071B: @ 821071B +MauvilleCity_GameCorner_Text_HereYouGo: @ 821071B .string "Here you go!$" -MauvilleCity_GameCorner_Text_210728: @ 8210728 +@ Unused +MauvilleCity_GameCorner_Text_CantCarryAnyMore: @ 8210728 .string "Oh, you can't carry any more than that.$" -MauvilleCity_GameCorner_Text_210750: @ 8210750 +MauvilleCity_GameCorner_Text_GotTwoOfSameDollWantOne: @ 8210750 .string "I made a mistake and got two of\n" .string "the same DOLLS.\p" .string "Would you like one of them?$" -MauvilleCity_GameCorner_Text_21079C: @ 821079C +MauvilleCity_GameCorner_Text_HereYouGo2: @ 821079C .string "Here you go!$" -MauvilleCity_GameCorner_Text_2107A9: @ 82107A9 +MauvilleCity_GameCorner_Text_YouWantItButNotNow: @ 82107A9 .string "Huh?\n" .string "You want it, but not right now?$" -MauvilleCity_GameCorner_Text_2107CE: @ 82107CE +MauvilleCity_GameCorner_Text_DontBeNegative: @ 82107CE .string "Oh, don't be so negative!\n" .string "You can have this!$" -MauvilleCity_GameCorner_Text_2107FB: @ 82107FB +MauvilleCity_GameCorner_Text_CantWinJackpot: @ 82107FB .string "There's a prize I want, but I can't win\n" .string "the jackpot.$" -MauvilleCity_GameCorner_Text_210830: @ 8210830 +MauvilleCity_GameCorner_Text_NeedCoinCaseGoNextDoor: @ 8210830 .string "Hey, kid, if you want to play here,\n" .string "you need a COIN CASE.\p" .string "I think the young lady next door\n" .string "had one. Go see her!$" -MauvilleCity_GameCorner_Text_2108A0: @ 82108A0 +MauvilleCity_GameCorner_Text_LuckOnlyLastSoLongTakeCoins: @ 82108A0 .string "My luck can only last so long.\n" .string "This is too much for me.\l" .string "Here, take some COINS!$" -MauvilleCity_GameCorner_Text_2108EF: @ 82108EF +MauvilleCity_GameCorner_Text_MauvilleSomethingForEveryone: @ 82108EF .string "MAUVILLE has something for\n" .string "everyone.\p" .string "For me, it's the GAME CORNER.$" -MauvilleCity_GameCorner_Text_210932: @ 8210932 +MauvilleCity_GameCorner_Text_RouletteTablesDifferentRates: @ 8210932 .string "The ROULETTE tables have different\n" .string "rates.\p" .string "Check your COINS if you're going to\n" .string "pick a table.$" -MauvilleCity_GameCorner_Text_21098E: @ 821098E +MauvilleCity_GameCorner_Text_EasyToLoseTrackOfTime: @ 821098E .string "It's easy to lose track of time in here. \n" .string "I should get back to work.$" -MauvilleCity_GameCorner_Text_2109D3: @ 82109D3 +MauvilleCity_GameCorner_Text_CoinsAreNeededToPlay: @ 82109D3 .string "COINS are needed to play here\n" .string "in the GAME CORNER.$" -MauvilleCity_GameCorner_Text_210A05: @ 8210A05 +MauvilleCity_GameCorner_Text_RouletteOnlyLuck: @ 8210A05 .string "This ROULETTE thing…\n" .string "It's rather demanding.\p" .string "Win or lose, it's only by luck.$" -MauvilleCity_GameCorner_Text_210A51: @ 8210A51 +MauvilleCity_GameCorner_Text_UpTo3CoinsCanBeUsed: @ 8210A51 .string "Up to three COINS can be used to play\n" .string "the SLOTS.$" -MauvilleCity_GameCorner_Text_210A82: @ 8210A82 +MauvilleCity_GameCorner_Text_DifficultToStopOn7: @ 8210A82 .string "It's very difficult to make it stop\n" .string "right on “7.”\p" .string "If it stops on “7” during the REEL TIME\n" .string "bonus game, you'll receive extra COINS.$" -MauvilleCity_GameCorner_Text_210B04: @ 8210B04 +MauvilleCity_GameCorner_Text_HeresSomeSlotsInfo: @ 8210B04 .string "Here's some information for you\n" .string "about the SLOTS.\p" .string "The more lightning bolts you stock,\n" @@ -811,7 +815,7 @@ MauvilleCity_GameCorner_Text_210B04: @ 8210B04 .string "That would total 660 COINS, but it's\n" .string "very difficult to get.$" -MauvilleCity_GameCorner_Text_210C2E: @ 8210C2E +MauvilleCity_GameCorner_Text_CantPlayWithNoCoinCase: @ 8210C2E .string "You can't play if you don't have\n" .string "a COIN CASE.$" diff --git a/data/maps/MauvilleCity_Gym/map.json b/data/maps/MauvilleCity_Gym/map.json index 9de74941c4..ecc9f13c20 100644 --- a/data/maps/MauvilleCity_Gym/map.json +++ b/data/maps/MauvilleCity_Gym/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_Gym_EventScript_20DEEB", + "script": "MauvilleCity_Gym_EventScript_Wattson", "flag": "FLAG_HIDE_MAUVILLE_GYM_WATTSON" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MauvilleCity_Gym_EventScript_20E0D0", + "script": "MauvilleCity_Gym_EventScript_Shawn", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MauvilleCity_Gym_EventScript_20E0FE", + "script": "MauvilleCity_Gym_EventScript_Vivian", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MauvilleCity_Gym_EventScript_20E0E7", + "script": "MauvilleCity_Gym_EventScript_Ben", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MauvilleCity_Gym_EventScript_20E0B9", + "script": "MauvilleCity_Gym_EventScript_Kirk", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_Gym_EventScript_20E12C", + "script": "MauvilleCity_Gym_EventScript_GymGuide", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MauvilleCity_Gym_EventScript_20E115", + "script": "MauvilleCity_Gym_EventScript_Angelo", "flag": "0" } ], @@ -130,7 +130,7 @@ "elevation": 3, "var": "VAR_TEMP_0", "var_value": "0", - "script": "MauvilleCity_Gym_EventScript_20E01E" + "script": "MauvilleCity_Gym_EventScript_Switch2" }, { "type": "trigger", @@ -139,7 +139,7 @@ "elevation": 3, "var": "VAR_TEMP_0", "var_value": "0", - "script": "MauvilleCity_Gym_EventScript_20E043" + "script": "MauvilleCity_Gym_EventScript_Switch3" }, { "type": "trigger", @@ -148,7 +148,7 @@ "elevation": 3, "var": "VAR_TEMP_0", "var_value": "0", - "script": "MauvilleCity_Gym_EventScript_20DFF9" + "script": "MauvilleCity_Gym_EventScript_Switch1" }, { "type": "trigger", @@ -157,7 +157,7 @@ "elevation": 3, "var": "VAR_TEMP_0", "var_value": "0", - "script": "MauvilleCity_Gym_EventScript_20E068" + "script": "MauvilleCity_Gym_EventScript_Switch4" } ], "bg_events": [ @@ -167,7 +167,7 @@ "y": 18, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "MauvilleCity_Gym_EventScript_20E14B" + "script": "MauvilleCity_Gym_EventScript_LeftGymStatue" }, { "type": "sign", @@ -175,7 +175,7 @@ "y": 18, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "MauvilleCity_Gym_EventScript_20E15B" + "script": "MauvilleCity_Gym_EventScript_RightGymStatue" } ] } \ No newline at end of file diff --git a/data/maps/MauvilleCity_Gym/scripts.inc b/data/maps/MauvilleCity_Gym/scripts.inc index 811cdc9ded..1a62fb9df5 100644 --- a/data/maps/MauvilleCity_Gym/scripts.inc +++ b/data/maps/MauvilleCity_Gym/scripts.inc @@ -1,22 +1,22 @@ MauvilleCity_Gym_MapScripts:: @ 820DD6E - map_script MAP_SCRIPT_ON_LOAD, MauvilleCity_Gym_MapScript1_20DD74 + map_script MAP_SCRIPT_ON_LOAD, MauvilleCity_Gym_OnLoad .byte 0 -MauvilleCity_Gym_MapScript1_20DD74: @ 820DD74 - goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20DEE7 +MauvilleCity_Gym_OnLoad: @ 820DD74 + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_DeactivatePuzzle switch VAR_MAUVILLE_GYM_STATE - case 0, MauvilleCity_Gym_EventScript_20DDBA - case 1, MauvilleCity_Gym_EventScript_20DEAF - case 2, MauvilleCity_Gym_EventScript_20DEBD - case 3, MauvilleCity_Gym_EventScript_20DECB - case 4, MauvilleCity_Gym_EventScript_20DED9 + case 0, MauvilleCity_Gym_EventScript_UpdateBarriers + case 1, MauvilleCity_Gym_EventScript_Switch1Pressed + case 2, MauvilleCity_Gym_EventScript_Switch2Pressed + case 3, MauvilleCity_Gym_EventScript_Switch3Pressed + case 4, MauvilleCity_Gym_EventScript_Switch4Pressed end -MauvilleCity_Gym_EventScript_20DDBA:: @ 820DDBA - goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_20DDC4 +MauvilleCity_Gym_EventScript_UpdateBarriers:: @ 820DDBA + goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_SetAltBarriers end -MauvilleCity_Gym_EventScript_20DDC4:: @ 820DDC4 +MauvilleCity_Gym_EventScript_SetAltBarriers:: @ 820DDC4 setmetatile 3, 11, METATILE_MauvilleGym_RedBeamV1_On, 1 setmetatile 3, 12, METATILE_MauvilleGym_RedBeamV2_On, 1 setmetatile 3, 13, METATILE_MauvilleGym_PoleTop_On, 1 @@ -45,68 +45,68 @@ MauvilleCity_Gym_EventScript_20DDC4:: @ 820DDC4 setmetatile 5, 7, METATILE_MauvilleGym_GreenBeamH4_Off, 0 end -MauvilleCity_Gym_EventScript_20DEAF:: @ 820DEAF +MauvilleCity_Gym_EventScript_Switch1Pressed:: @ 820DEAF setvar VAR_0x8004, 0 - special MauvilleGymSpecial1 - goto MauvilleCity_Gym_EventScript_20DDBA + special MauvilleGymPressSwitch + goto MauvilleCity_Gym_EventScript_UpdateBarriers end -MauvilleCity_Gym_EventScript_20DEBD:: @ 820DEBD +MauvilleCity_Gym_EventScript_Switch2Pressed:: @ 820DEBD setvar VAR_0x8004, 1 - special MauvilleGymSpecial1 - goto MauvilleCity_Gym_EventScript_20DDBA + special MauvilleGymPressSwitch + goto MauvilleCity_Gym_EventScript_UpdateBarriers end -MauvilleCity_Gym_EventScript_20DECB:: @ 820DECB +MauvilleCity_Gym_EventScript_Switch3Pressed:: @ 820DECB setvar VAR_0x8004, 2 - special MauvilleGymSpecial1 - goto MauvilleCity_Gym_EventScript_20DDBA + special MauvilleGymPressSwitch + goto MauvilleCity_Gym_EventScript_UpdateBarriers end -MauvilleCity_Gym_EventScript_20DED9:: @ 820DED9 +MauvilleCity_Gym_EventScript_Switch4Pressed:: @ 820DED9 setvar VAR_0x8004, 3 - special MauvilleGymSpecial1 - goto MauvilleCity_Gym_EventScript_20DDBA + special MauvilleGymPressSwitch + goto MauvilleCity_Gym_EventScript_UpdateBarriers end -MauvilleCity_Gym_EventScript_20DEE7:: @ 820DEE7 - special MauvilleGymSpecial3 +MauvilleCity_Gym_EventScript_DeactivatePuzzle:: @ 820DEE7 + special MauvilleGymDeactivatePuzzle end -MauvilleCity_Gym_EventScript_20DEEB:: @ 820DEEB - trainerbattle_single TRAINER_WATTSON_1, MauvilleCity_Gym_Text_20E602, MauvilleCity_Gym_Text_20E734, MauvilleCity_Gym_EventScript_20DF2B, NO_MUSIC +MauvilleCity_Gym_EventScript_Wattson:: @ 820DEEB + trainerbattle_single TRAINER_WATTSON_1, MauvilleCity_Gym_Text_WattsonIntro, MauvilleCity_Gym_Text_WattsonDefeat, MauvilleCity_Gym_EventScript_WattsonDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_Gym_EventScript_20DFDE - goto_if_unset FLAG_RECEIVED_TM34, MauvilleCity_Gym_EventScript_20DF8D + compare VAR_RESULT, TRUE + goto_if_eq MauvilleCity_Gym_EventScript_WattsonRematch + goto_if_unset FLAG_RECEIVED_TM34, MauvilleCity_Gym_EventScript_GiveShockWave2 compare VAR_NEW_MAUVILLE_STATE, 2 - goto_if_eq MauvilleCity_Gym_EventScript_20DFD4 - msgbox MauvilleCity_Gym_Text_20E8E3, MSGBOX_DEFAULT + goto_if_eq MauvilleCity_Gym_EventScript_CompletedNewMauville + msgbox MauvilleCity_Gym_Text_WattsonPostBattle, MSGBOX_DEFAULT release end -MauvilleCity_Gym_EventScript_20DF2B:: @ 820DF2B - message MauvilleCity_Gym_Text_20E77F +MauvilleCity_Gym_EventScript_WattsonDefeated:: @ 820DF2B + message MauvilleCity_Gym_Text_ReceivedDynamoBadge waitmessage call Common_EventScript_PlayGymBadgeFanfare - msgbox MauvilleCity_Gym_Text_20E7AA, MSGBOX_DEFAULT + msgbox MauvilleCity_Gym_Text_ExplainDynamoBadgeTakeThis, MSGBOX_DEFAULT setvar VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 3 clearflag FLAG_HIDE_VERDANTURF_TOWN_SCOTT setflag FLAG_DEFEATED_MAUVILLE_GYM setflag FLAG_BADGE03_GET addvar VAR_PETALBURG_GYM_STATE, 1 compare VAR_PETALBURG_GYM_STATE, 6 - call_if_eq MauvilleCity_Gym_EventScript_271E84 + call_if_eq Common_EventScript_ReadyPetalburgGymForBattle setvar VAR_0x8008, 3 - call MauvilleCity_Gym_EventScript_271F43 - special MauvilleGymSpecial3 + call Common_EventScript_SetGymTrainers + special MauvilleGymDeactivatePuzzle special DrawWholeMapView playse SE_KI_GASYAN - call MauvilleCity_Gym_EventScript_20DFB1 + call MauvilleCity_Gym_EventScript_GiveShockWave closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox MauvilleCity_Gym_Text_20E8B5, MSGBOX_DEFAULT + msgbox MauvilleCity_Gym_Text_RegisteredWattson, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -114,158 +114,158 @@ MauvilleCity_Gym_EventScript_20DF2B:: @ 820DF2B release end -MauvilleCity_Gym_EventScript_20DF8D:: @ 820DF8D - giveitem_std ITEM_TM34 +MauvilleCity_Gym_EventScript_GiveShockWave2:: @ 820DF8D + giveitem ITEM_TM34 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull - msgbox MauvilleCity_Gym_Text_20E844, MSGBOX_DEFAULT + msgbox MauvilleCity_Gym_Text_ExplainShockWave, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM34 release end -MauvilleCity_Gym_EventScript_20DFB1:: @ 820DFB1 - giveitem_std ITEM_TM34 +MauvilleCity_Gym_EventScript_GiveShockWave:: @ 820DFB1 + giveitem ITEM_TM34 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_BagIsFull - msgbox MauvilleCity_Gym_Text_20E844, MSGBOX_DEFAULT + msgbox MauvilleCity_Gym_Text_ExplainShockWave, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM34 return -MauvilleCity_Gym_EventScript_20DFD4:: @ 820DFD4 - msgbox MauvilleCity_Gym_Text_20E925, MSGBOX_DEFAULT +MauvilleCity_Gym_EventScript_CompletedNewMauville:: @ 820DFD4 + msgbox MauvilleCity_Gym_Text_WattsonGoForthAndEndeavor, MSGBOX_DEFAULT release end -MauvilleCity_Gym_EventScript_20DFDE:: @ 820DFDE - trainerbattle_rematch_double TRAINER_WATTSON_1, MauvilleCity_Gym_Text_20E9A7, MauvilleCity_Gym_Text_20EA42, MauvilleCity_Gym_Text_20EAFD - msgbox MauvilleCity_Gym_Text_20EA5E, MSGBOX_AUTOCLOSE +MauvilleCity_Gym_EventScript_WattsonRematch:: @ 820DFDE + trainerbattle_rematch_double TRAINER_WATTSON_1, MauvilleCity_Gym_Text_WattsonPreRematch, MauvilleCity_Gym_Text_WattsonRematchDefeat, MauvilleCity_Gym_Text_WattsonRematchNeedTwoMons + msgbox MauvilleCity_Gym_Text_WattsonPostRematch, MSGBOX_AUTOCLOSE end -MauvilleCity_Gym_EventScript_20DFF9:: @ 820DFF9 +MauvilleCity_Gym_EventScript_Switch1:: @ 820DFF9 lockall - goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E0AD + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_SwitchDoNothing compare VAR_MAUVILLE_GYM_STATE, 1 - goto_if_eq MauvilleCity_Gym_EventScript_20E0AD + goto_if_eq MauvilleCity_Gym_EventScript_SwitchDoNothing setvar VAR_MAUVILLE_GYM_STATE, 1 setvar VAR_0x8004, 0 - goto MauvilleCity_Gym_EventScript_20E08D + goto MauvilleCity_Gym_EventScript_PressFloorSwitch end -MauvilleCity_Gym_EventScript_20E01E:: @ 820E01E +MauvilleCity_Gym_EventScript_Switch2:: @ 820E01E lockall - goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E0AD + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_SwitchDoNothing compare VAR_MAUVILLE_GYM_STATE, 2 - goto_if_eq MauvilleCity_Gym_EventScript_20E0AD + goto_if_eq MauvilleCity_Gym_EventScript_SwitchDoNothing setvar VAR_MAUVILLE_GYM_STATE, 2 setvar VAR_0x8004, 1 - goto MauvilleCity_Gym_EventScript_20E08D + goto MauvilleCity_Gym_EventScript_PressFloorSwitch end -MauvilleCity_Gym_EventScript_20E043:: @ 820E043 +MauvilleCity_Gym_EventScript_Switch3:: @ 820E043 lockall - goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E0AD + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_SwitchDoNothing compare VAR_MAUVILLE_GYM_STATE, 3 - goto_if_eq MauvilleCity_Gym_EventScript_20E0AD + goto_if_eq MauvilleCity_Gym_EventScript_SwitchDoNothing setvar VAR_MAUVILLE_GYM_STATE, 3 setvar VAR_0x8004, 2 - goto MauvilleCity_Gym_EventScript_20E08D + goto MauvilleCity_Gym_EventScript_PressFloorSwitch end -MauvilleCity_Gym_EventScript_20E068:: @ 820E068 +MauvilleCity_Gym_EventScript_Switch4:: @ 820E068 lockall - goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E0AD + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_SwitchDoNothing compare VAR_MAUVILLE_GYM_STATE, 4 - goto_if_eq MauvilleCity_Gym_EventScript_20E0AD + goto_if_eq MauvilleCity_Gym_EventScript_SwitchDoNothing setvar VAR_MAUVILLE_GYM_STATE, 4 setvar VAR_0x8004, 3 - goto MauvilleCity_Gym_EventScript_20E08D + goto MauvilleCity_Gym_EventScript_PressFloorSwitch end -MauvilleCity_Gym_EventScript_20E08D:: @ 820E08D - special MauvilleGymSpecial2 - special MauvilleGymSpecial1 +MauvilleCity_Gym_EventScript_PressFloorSwitch:: @ 820E08D + special MauvilleGymSetDefaultBarriers + special MauvilleGymPressSwitch special DrawWholeMapView playse SE_KI_GASYAN - goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_20E0B4 - goto_if_unset FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_20E0AF + goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_ClearBarriersAltState + goto_if_unset FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_SetBarriersAltState releaseall end -MauvilleCity_Gym_EventScript_20E0AD:: @ 820E0AD +MauvilleCity_Gym_EventScript_SwitchDoNothing:: @ 820E0AD releaseall end -MauvilleCity_Gym_EventScript_20E0AF:: @ 820E0AF +MauvilleCity_Gym_EventScript_SetBarriersAltState:: @ 820E0AF setflag FLAG_MAUVILLE_GYM_BARRIERS_STATE releaseall end -MauvilleCity_Gym_EventScript_20E0B4:: @ 820E0B4 +MauvilleCity_Gym_EventScript_ClearBarriersAltState:: @ 820E0B4 clearflag FLAG_MAUVILLE_GYM_BARRIERS_STATE releaseall end -MauvilleCity_Gym_EventScript_20E0B9:: @ 820E0B9 - trainerbattle_single TRAINER_KIRK, MauvilleCity_Gym_Text_20E2BC, MauvilleCity_Gym_Text_20E2FC - msgbox MauvilleCity_Gym_Text_20E336, MSGBOX_AUTOCLOSE +MauvilleCity_Gym_EventScript_Kirk:: @ 820E0B9 + trainerbattle_single TRAINER_KIRK, MauvilleCity_Gym_Text_KirkIntro, MauvilleCity_Gym_Text_KirkDefeat + msgbox MauvilleCity_Gym_Text_KirkPostBattle, MSGBOX_AUTOCLOSE end -MauvilleCity_Gym_EventScript_20E0D0:: @ 820E0D0 - trainerbattle_single TRAINER_SHAWN, MauvilleCity_Gym_Text_20E369, MauvilleCity_Gym_Text_20E3A7 - msgbox MauvilleCity_Gym_Text_20E3C1, MSGBOX_AUTOCLOSE +MauvilleCity_Gym_EventScript_Shawn:: @ 820E0D0 + trainerbattle_single TRAINER_SHAWN, MauvilleCity_Gym_Text_ShawnIntro, MauvilleCity_Gym_Text_ShawnDefeat + msgbox MauvilleCity_Gym_Text_ShawnPostBattle, MSGBOX_AUTOCLOSE end -MauvilleCity_Gym_EventScript_20E0E7:: @ 820E0E7 - trainerbattle_single TRAINER_BEN, MauvilleCity_Gym_Text_20E443, MauvilleCity_Gym_Text_20E469 - msgbox MauvilleCity_Gym_Text_20E47E, MSGBOX_AUTOCLOSE +MauvilleCity_Gym_EventScript_Ben:: @ 820E0E7 + trainerbattle_single TRAINER_BEN, MauvilleCity_Gym_Text_BenIntro, MauvilleCity_Gym_Text_BenDefeat + msgbox MauvilleCity_Gym_Text_BenPostBattle, MSGBOX_AUTOCLOSE end -MauvilleCity_Gym_EventScript_20E0FE:: @ 820E0FE - trainerbattle_single TRAINER_VIVIAN, MauvilleCity_Gym_Text_20E4BB, MauvilleCity_Gym_Text_20E4F4 - msgbox MauvilleCity_Gym_Text_20E50F, MSGBOX_AUTOCLOSE +MauvilleCity_Gym_EventScript_Vivian:: @ 820E0FE + trainerbattle_single TRAINER_VIVIAN, MauvilleCity_Gym_Text_VivianIntro, MauvilleCity_Gym_Text_VivianDefeat + msgbox MauvilleCity_Gym_Text_VivianPostBattle, MSGBOX_AUTOCLOSE end -MauvilleCity_Gym_EventScript_20E115:: @ 820E115 - trainerbattle_single TRAINER_ANGELO, MauvilleCity_Gym_Text_20E593, MauvilleCity_Gym_Text_20E5A8 - msgbox MauvilleCity_Gym_Text_20E5C2, MSGBOX_AUTOCLOSE +MauvilleCity_Gym_EventScript_Angelo:: @ 820E115 + trainerbattle_single TRAINER_ANGELO, MauvilleCity_Gym_Text_AngeloIntro, MauvilleCity_Gym_Text_AngeloDefeat + msgbox MauvilleCity_Gym_Text_AngeloPostBattle, MSGBOX_AUTOCLOSE end -MauvilleCity_Gym_EventScript_20E12C:: @ 820E12C +MauvilleCity_Gym_EventScript_GymGuide:: @ 820E12C lock faceplayer - goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E141 - msgbox MauvilleCity_Gym_Text_20E17F, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_GymGuidePostVictory + msgbox MauvilleCity_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT release end -MauvilleCity_Gym_EventScript_20E141:: @ 820E141 - msgbox MauvilleCity_Gym_Text_20E283, MSGBOX_DEFAULT +MauvilleCity_Gym_EventScript_GymGuidePostVictory:: @ 820E141 + msgbox MauvilleCity_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT release end -MauvilleCity_Gym_EventScript_20E14B:: @ 820E14B +MauvilleCity_Gym_EventScript_LeftGymStatue:: @ 820E14B lockall - goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_20E16B - goto MauvilleCity_Gym_EventScript_20E175 + goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_GymStatueCertified + goto MauvilleCity_Gym_EventScript_GymStatue end -MauvilleCity_Gym_EventScript_20E15B:: @ 820E15B +MauvilleCity_Gym_EventScript_RightGymStatue:: @ 820E15B lockall - goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_20E16B - goto MauvilleCity_Gym_EventScript_20E175 + goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_GymStatueCertified + goto MauvilleCity_Gym_EventScript_GymStatue end -MauvilleCity_Gym_EventScript_20E16B:: @ 820E16B - msgbox MauvilleCity_Gym_Text_20E96C, MSGBOX_DEFAULT +MauvilleCity_Gym_EventScript_GymStatueCertified:: @ 820E16B + msgbox MauvilleCity_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT releaseall end -MauvilleCity_Gym_EventScript_20E175:: @ 820E175 - msgbox MauvilleCity_Gym_Text_20E952, MSGBOX_DEFAULT +MauvilleCity_Gym_EventScript_GymStatue:: @ 820E175 + msgbox MauvilleCity_Gym_Text_GymStatue, MSGBOX_DEFAULT releaseall end -MauvilleCity_Gym_Text_20E17F: @ 820E17F +MauvilleCity_Gym_Text_GymGuideAdvice: @ 820E17F .string "Hey, how's it going, CHAMPION-\n" .string "bound {PLAYER}?\p" .string "WATTSON, the LEADER of MAUVILLE\n" @@ -276,72 +276,72 @@ MauvilleCity_Gym_Text_20E17F: @ 820E17F .string "doors all over his GYM! Eccentric!\p" .string "Hey, go for it!$" -MauvilleCity_Gym_Text_20E283: @ 820E283 +MauvilleCity_Gym_Text_GymGuidePostVictory: @ 820E283 .string "Whoa, you're electrifying!\n" .string "You've powered the door open!$" -MauvilleCity_Gym_Text_20E2BC: @ 820E2BC +MauvilleCity_Gym_Text_KirkIntro: @ 820E2BC .string "My electric soul, it'll shatter your\n" .string "dreams whole, whoa-yeahah!$" -MauvilleCity_Gym_Text_20E2FC: @ 820E2FC +MauvilleCity_Gym_Text_KirkDefeat: @ 820E2FC .string "That was plugged in, amped up,\n" .string "over-driven electric, man!$" -MauvilleCity_Gym_Text_20E336: @ 820E336 +MauvilleCity_Gym_Text_KirkPostBattle: @ 820E336 .string "POKéMON and rock, it's all about heart,\n" .string "whoa-yeah!$" -MauvilleCity_Gym_Text_20E369: @ 820E369 +MauvilleCity_Gym_Text_ShawnIntro: @ 820E369 .string "I trained under WATTSON!\n" .string "There ain't no way I'll lose easily!$" -MauvilleCity_Gym_Text_20E3A7: @ 820E3A7 +MauvilleCity_Gym_Text_ShawnDefeat: @ 820E3A7 .string "Unplugged and turned off…$" -MauvilleCity_Gym_Text_20E3C1: @ 820E3C1 +MauvilleCity_Gym_Text_ShawnPostBattle: @ 820E3C1 .string "WATTSON, our GYM LEADER, has been\n" .string "around for a long, long time.\p" .string "He was battling even before your\n" .string "daddy was born, that tough coot.$" -MauvilleCity_Gym_Text_20E443: @ 820E443 +MauvilleCity_Gym_Text_BenIntro: @ 820E443 .string "This GYM's got puzzles!\n" .string "Isn't it fun?$" -MauvilleCity_Gym_Text_20E469: @ 820E469 +MauvilleCity_Gym_Text_BenDefeat: @ 820E469 .string "It's no fun to lose…$" -MauvilleCity_Gym_Text_20E47E: @ 820E47E +MauvilleCity_Gym_Text_BenPostBattle: @ 820E47E .string "WATTSON says he likes setting up\n" .string "little traps with switches.$" -MauvilleCity_Gym_Text_20E4BB: @ 820E4BB +MauvilleCity_Gym_Text_VivianIntro: @ 820E4BB .string "With my charm and my POKéMON's moves,\n" .string "you'll be shocked!$" -MauvilleCity_Gym_Text_20E4F4: @ 820E4F4 +MauvilleCity_Gym_Text_VivianDefeat: @ 820E4F4 .string "I'm shocked by your power!$" -MauvilleCity_Gym_Text_20E50F: @ 820E50F +MauvilleCity_Gym_Text_VivianPostBattle: @ 820E50F .string "I've heard that MAUVILLE was founded\n" .string "by WATTSON.\p" .string "He was a TRAINER long before we\n" .string "became TRAINERS.\l" .string "He must know all sorts of things!$" -MauvilleCity_Gym_Text_20E593: @ 820E593 +MauvilleCity_Gym_Text_AngeloIntro: @ 820E593 .string "I love shiny things!$" -MauvilleCity_Gym_Text_20E5A8: @ 820E5A8 +MauvilleCity_Gym_Text_AngeloDefeat: @ 820E5A8 .string "Oh…\n" .string "My eyes are frazzled…$" -MauvilleCity_Gym_Text_20E5C2: @ 820E5C2 +MauvilleCity_Gym_Text_AngeloPostBattle: @ 820E5C2 .string "MAUVILLE GYM's WATTSON has a shiny\n" .string "forehead. It makes me happy!$" -MauvilleCity_Gym_Text_20E602: @ 820E602 +MauvilleCity_Gym_Text_WattsonIntro: @ 820E602 .string "I've given up on my plans to convert\n" .string "the city, I have.\p" .string "And so, I put my time into making\n" @@ -354,17 +354,17 @@ MauvilleCity_Gym_Text_20E602: @ 820E602 .string "Then, I, WATTSON, the LEADER of\n" .string "MAUVILLE GYM, shall electrify you!$" -MauvilleCity_Gym_Text_20E734: @ 820E734 +MauvilleCity_Gym_Text_WattsonDefeat: @ 820E734 .string "Wahahahah!\n" .string "Fine, I lost!\p" .string "You ended up giving me a thrill!\n" .string "Take this BADGE!$" -MauvilleCity_Gym_Text_20E77F: @ 820E77F +MauvilleCity_Gym_Text_ReceivedDynamoBadge: @ 820E77F .string "{PLAYER} received the DYNAMO BADGE\n" .string "from WATTSON.$" -MauvilleCity_Gym_Text_20E7AA: @ 820E7AA +MauvilleCity_Gym_Text_ExplainDynamoBadgeTakeThis: @ 820E7AA .string "With the DYNAMO BADGE, POKéMON can\n" .string "use ROCK SMASH out of battle.\p" .string "And, it will make your POKéMON a little\n" @@ -372,33 +372,33 @@ MauvilleCity_Gym_Text_20E7AA: @ 820E7AA .string "Hmm…\n" .string "You should take this, too!$" -MauvilleCity_Gym_Text_20E844: @ 820E844 +MauvilleCity_Gym_Text_ExplainShockWave: @ 820E844 .string "That TM34 there contains SHOCK WAVE.\p" .string "It's a trustworthy move that never\n" .string "misses! You can count on it!\p" .string "… … … … … …$" -MauvilleCity_Gym_Text_20E8B5: @ 820E8B5 +MauvilleCity_Gym_Text_RegisteredWattson: @ 820E8B5 .string "Registered GYM LEADER WATTSON\n" .string "in the POKéNAV.$" -MauvilleCity_Gym_Text_20E8E3: @ 820E8E3 +MauvilleCity_Gym_Text_WattsonPostBattle: @ 820E8E3 .string "I swell with optimism, seeing a promising\n" .string "young TRAINER like you!$" -MauvilleCity_Gym_Text_20E925: @ 820E925 +MauvilleCity_Gym_Text_WattsonGoForthAndEndeavor: @ 820E925 .string "Wahahahah!\n" .string "Go forth and endeavor, youngster!$" -MauvilleCity_Gym_Text_20E952: @ 820E952 +MauvilleCity_Gym_Text_GymStatue: @ 820E952 .string "MAUVILLE CITY POKéMON GYM$" -MauvilleCity_Gym_Text_20E96C: @ 820E96C +MauvilleCity_Gym_Text_GymStatueCertified: @ 820E96C .string "MAUVILLE CITY POKéMON GYM\p" .string "WATTSON'S CERTIFIED TRAINERS:\n" .string "{PLAYER}$" -MauvilleCity_Gym_Text_20E9A7: @ 820E9A7 +MauvilleCity_Gym_Text_WattsonPreRematch: @ 820E9A7 .string "WATTSON: Ah-ha! Here at last!\n" .string "I know what you want.\l" .string "You want to battle my POKéMON!\p" @@ -406,11 +406,11 @@ MauvilleCity_Gym_Text_20E9A7: @ 820E9A7 .string "I'll make sparks fly from you!\n" .string "Don't say I didn't warn you!$" -MauvilleCity_Gym_Text_20EA42: @ 820EA42 +MauvilleCity_Gym_Text_WattsonRematchDefeat: @ 820EA42 .string "Oof…\n" .string "Our batteries ran dry…$" -MauvilleCity_Gym_Text_20EA5E: @ 820EA5E +MauvilleCity_Gym_Text_WattsonPostRematch: @ 820EA5E .string "WATTSON: We'll have to recharge our\n" .string "batteries again.\p" .string "When we're fully charged up, we'll\n" @@ -418,7 +418,7 @@ MauvilleCity_Gym_Text_20EA5E: @ 820EA5E .string "So, come back again sometime,\n" .string "won't you?$" -MauvilleCity_Gym_Text_20EAFD: @ 820EAFD +MauvilleCity_Gym_Text_WattsonRematchNeedTwoMons: @ 820EAFD .string "WATTSON: Ah-ha! Here at last!\n" .string "I know what you want.\l" .string "You want to battle my POKéMON!\p" diff --git a/data/maps/MauvilleCity_House1/map.json b/data/maps/MauvilleCity_House1/map.json index d7e148b310..9df540885a 100644 --- a/data/maps/MauvilleCity_House1/map.json +++ b/data/maps/MauvilleCity_House1/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_House1_EventScript_20F976", + "script": "MauvilleCity_House1_EventScript_RockSmashDude", "flag": "0" } ], diff --git a/data/maps/MauvilleCity_House1/scripts.inc b/data/maps/MauvilleCity_House1/scripts.inc index 50f84d87ca..21655a1b86 100644 --- a/data/maps/MauvilleCity_House1/scripts.inc +++ b/data/maps/MauvilleCity_House1/scripts.inc @@ -1,24 +1,24 @@ MauvilleCity_House1_MapScripts:: @ 820F975 .byte 0 -MauvilleCity_House1_EventScript_20F976:: @ 820F976 +MauvilleCity_House1_EventScript_RockSmashDude:: @ 820F976 lock faceplayer - goto_if_set FLAG_RECEIVED_HM06, MauvilleCity_House1_EventScript_20F9A5 - msgbox MauvilleCity_House1_Text_20F9AF, MSGBOX_DEFAULT - giveitem_std ITEM_HM06 + goto_if_set FLAG_RECEIVED_HM06, MauvilleCity_House1_EventScript_ReceivedRockSmash + msgbox MauvilleCity_House1_Text_ImRockSmashDudeTakeThis, MSGBOX_DEFAULT + giveitem ITEM_HM06 setflag FLAG_RECEIVED_HM06 setflag FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY - msgbox MauvilleCity_House1_Text_20FAA9, MSGBOX_DEFAULT + msgbox MauvilleCity_House1_Text_ExplainRockSmash, MSGBOX_DEFAULT release end -MauvilleCity_House1_EventScript_20F9A5:: @ 820F9A5 - msgbox MauvilleCity_House1_Text_20FB67, MSGBOX_DEFAULT +MauvilleCity_House1_EventScript_ReceivedRockSmash:: @ 820F9A5 + msgbox MauvilleCity_House1_Text_MonCanFlyOutOfSmashedRock, MSGBOX_DEFAULT release end -MauvilleCity_House1_Text_20F9AF: @ 820F9AF +MauvilleCity_House1_Text_ImRockSmashDudeTakeThis: @ 820F9AF .string "Woohoo!\p" .string "I hear people call me the ROCK SMASH\n" .string "GUY, but I find that sort of degrading.\p" @@ -30,7 +30,7 @@ MauvilleCity_House1_Text_20F9AF: @ 820F9AF .string "I like that!\n" .string "Here, take this HIDDEN MACHINE!$" -MauvilleCity_House1_Text_20FAA9: @ 820FAA9 +MauvilleCity_House1_Text_ExplainRockSmash: @ 820FAA9 .string "That HM contains ROCK SMASH.\p" .string "If you come across large boulders\n" .string "that block your path…\p" @@ -39,7 +39,7 @@ MauvilleCity_House1_Text_20FAA9: @ 820FAA9 .string "Yes, sir! Smash rocks aside, I say!\n" .string "Woohoo!$" -MauvilleCity_House1_Text_20FB67: @ 820FB67 +MauvilleCity_House1_Text_MonCanFlyOutOfSmashedRock: @ 820FB67 .string "Oh, yes, if you smash a rock, a POKéMON\n" .string "could come flying out of hiding.\p" .string "Woohoo!$" diff --git a/data/maps/MauvilleCity_House2/map.json b/data/maps/MauvilleCity_House2/map.json index 272b60f0fd..acdb4f504a 100644 --- a/data/maps/MauvilleCity_House2/map.json +++ b/data/maps/MauvilleCity_House2/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_House2_EventScript_210C5D", + "script": "MauvilleCity_House2_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/MauvilleCity_House2/scripts.inc b/data/maps/MauvilleCity_House2/scripts.inc index b683b8c155..06ec830ea1 100644 --- a/data/maps/MauvilleCity_House2/scripts.inc +++ b/data/maps/MauvilleCity_House2/scripts.inc @@ -1,67 +1,67 @@ MauvilleCity_House2_MapScripts:: @ 8210C5C .byte 0 -MauvilleCity_House2_EventScript_210C5D:: @ 8210C5D +MauvilleCity_House2_EventScript_Woman:: @ 8210C5D lock faceplayer - goto_if_set FLAG_RECEIVED_COIN_CASE, MauvilleCity_House2_EventScript_210CDA - msgbox MauvilleCity_House2_Text_210CEE, MSGBOX_DEFAULT + goto_if_set FLAG_RECEIVED_COIN_CASE, MauvilleCity_House2_EventScript_ReceivedCoinCase + msgbox MauvilleCity_House2_Text_BuyHarborMailAtSlateport, MSGBOX_DEFAULT checkitem ITEM_HARBOR_MAIL, 1 - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_House2_EventScript_210C82 + compare VAR_RESULT, TRUE + goto_if_eq MauvilleCity_House2_EventScript_AskToTradeForHarborMail release end -MauvilleCity_House2_EventScript_210C82:: @ 8210C82 +MauvilleCity_House2_EventScript_AskToTradeForHarborMail:: @ 8210C82 playse SE_PIN applymovement VAR_LAST_TALKED, Common_Movement_ExclamationMark waitmovement 0 applymovement VAR_LAST_TALKED, Common_Movement_Delay48 waitmovement 0 - msgbox MauvilleCity_House2_Text_210D76, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_House2_EventScript_210CB8 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_House2_EventScript_210CE4 + msgbox MauvilleCity_House2_Text_TradeHarborMailForCoinCase, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq MauvilleCity_House2_EventScript_AcceptTrade + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_House2_EventScript_DeclineTrade end -MauvilleCity_House2_EventScript_210CB8:: @ 8210CB8 - msgbox MauvilleCity_House2_Text_210DB3, MSGBOX_DEFAULT - takeitem ITEM_HARBOR_MAIL, 1 - giveitem_std ITEM_COIN_CASE +MauvilleCity_House2_EventScript_AcceptTrade:: @ 8210CB8 + msgbox MauvilleCity_House2_Text_IllTradeYouCoinCase, MSGBOX_DEFAULT + removeitem ITEM_HARBOR_MAIL + giveitem ITEM_COIN_CASE setflag FLAG_RECEIVED_COIN_CASE - goto MauvilleCity_House2_EventScript_210CDA + goto MauvilleCity_House2_EventScript_ReceivedCoinCase end -MauvilleCity_House2_EventScript_210CDA:: @ 8210CDA - msgbox MauvilleCity_House2_Text_210DE7, MSGBOX_DEFAULT +MauvilleCity_House2_EventScript_ReceivedCoinCase:: @ 8210CDA + msgbox MauvilleCity_House2_Text_UseCoinCaseAtGameCorner, MSGBOX_DEFAULT release end -MauvilleCity_House2_EventScript_210CE4:: @ 8210CE4 - msgbox MauvilleCity_House2_Text_210E16, MSGBOX_DEFAULT +MauvilleCity_House2_EventScript_DeclineTrade:: @ 8210CE4 + msgbox MauvilleCity_House2_Text_ThatsDisappointing, MSGBOX_DEFAULT release end -MauvilleCity_House2_Text_210CEE: @ 8210CEE +MauvilleCity_House2_Text_BuyHarborMailAtSlateport: @ 8210CEE .string "If I had a BIKE, it'd be easy to cycle to\n" .string "SLATEPORT for some shopping.\p" .string "I'd be able to buy HARBOR MAIL at the\n" .string "POKéMON MART in SLATEPORT…$" -MauvilleCity_House2_Text_210D76: @ 8210D76 +MauvilleCity_House2_Text_TradeHarborMailForCoinCase: @ 8210D76 .string "Oh! You have HARBOR MAIL?\n" .string "Will you trade it for a COIN CASE?$" -MauvilleCity_House2_Text_210DB3: @ 8210DB3 +MauvilleCity_House2_Text_IllTradeYouCoinCase: @ 8210DB3 .string "Oh, I'm so happy!\n" .string "Okay, I'll trade you a COIN CASE!$" -MauvilleCity_House2_Text_210DE7: @ 8210DE7 +MauvilleCity_House2_Text_UseCoinCaseAtGameCorner: @ 8210DE7 .string "That COIN CASE can be used\n" .string "at the GAME CORNER.$" -MauvilleCity_House2_Text_210E16: @ 8210E16 +MauvilleCity_House2_Text_ThatsDisappointing: @ 8210E16 .string "Oh, that's disappointing.\p" .string "A COIN CASE is needed for the\n" .string "GAME CORNER.$" diff --git a/data/maps/MauvilleCity_Mart/map.json b/data/maps/MauvilleCity_Mart/map.json index 598ed6e526..72e323bfed 100644 --- a/data/maps/MauvilleCity_Mart/map.json +++ b/data/maps/MauvilleCity_Mart/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_Mart_EventScript_2110E6", + "script": "MauvilleCity_Mart_EventScript_Clerk", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_Mart_EventScript_21111C", + "script": "MauvilleCity_Mart_EventScript_ExpertM", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_Mart_EventScript_211125", + "script": "MauvilleCity_Mart_EventScript_Man", "flag": "0" } ], diff --git a/data/maps/MauvilleCity_Mart/scripts.inc b/data/maps/MauvilleCity_Mart/scripts.inc index 44e36489a7..b288d42b7d 100644 --- a/data/maps/MauvilleCity_Mart/scripts.inc +++ b/data/maps/MauvilleCity_Mart/scripts.inc @@ -1,18 +1,18 @@ MauvilleCity_Mart_MapScripts:: @ 82110E5 .byte 0 -MauvilleCity_Mart_EventScript_2110E6:: @ 82110E6 +MauvilleCity_Mart_EventScript_Clerk:: @ 82110E6 lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart MauvilleCity_Mart_Pokemart_211100 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart MauvilleCity_Mart_Pokemart + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -MauvilleCity_Mart_Pokemart_211100: @ 8211100 +MauvilleCity_Mart_Pokemart: @ 8211100 .2byte ITEM_POKE_BALL .2byte ITEM_GREAT_BALL .2byte ITEM_SUPER_POTION @@ -29,15 +29,15 @@ MauvilleCity_Mart_Pokemart_211100: @ 8211100 release end -MauvilleCity_Mart_EventScript_21111C:: @ 821111C - msgbox MauvilleCity_Mart_Text_21112E, MSGBOX_NPC +MauvilleCity_Mart_EventScript_ExpertM:: @ 821111C + msgbox MauvilleCity_Mart_Text_ItemsToTemporarilyElevateStats, MSGBOX_NPC end -MauvilleCity_Mart_EventScript_211125:: @ 8211125 - msgbox MauvilleCity_Mart_Text_2111D8, MSGBOX_NPC +MauvilleCity_Mart_EventScript_Man:: @ 8211125 + msgbox MauvilleCity_Mart_Text_DecisionsDetermineBattle, MSGBOX_NPC end -MauvilleCity_Mart_Text_21112E: @ 821112E +MauvilleCity_Mart_Text_ItemsToTemporarilyElevateStats: @ 821112E .string "There are items that temporarily\n" .string "elevate the stats of POKéMON.\p" .string "The ones I know you use in battle\n" @@ -45,7 +45,7 @@ MauvilleCity_Mart_Text_21112E: @ 821112E .string "I do believe that there are others\n" .string "like them.$" -MauvilleCity_Mart_Text_2111D8: @ 82111D8 +MauvilleCity_Mart_Text_DecisionsDetermineBattle: @ 82111D8 .string "Use a certain move, or use an item\n" .string "instead…\p" .string "The TRAINER's decisions determine how\n" diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/map.json b/data/maps/MauvilleCity_PokemonCenter_1F/map.json index c024c2cba5..6540334bef 100644 --- a/data/maps/MauvilleCity_PokemonCenter_1F/map.json +++ b/data/maps/MauvilleCity_PokemonCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_PokemonCenter_1F_EventScript_210E78", + "script": "MauvilleCity_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_PokemonCenter_1F_EventScript_28E066", + "script": "MauvilleCity_PokemonCenter_1F_EventScript_MauvilleOldMan", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_PokemonCenter_1F_EventScript_210E86", + "script": "MauvilleCity_PokemonCenter_1F_EventScript_Woman1", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_PokemonCenter_1F_EventScript_210E8F", + "script": "MauvilleCity_PokemonCenter_1F_EventScript_Woman2", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_PokemonCenter_1F_EventScript_210E98", + "script": "MauvilleCity_PokemonCenter_1F_EventScript_Youngster", "flag": "0" } ], diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc index 50250de8e6..f37f362e21 100644 --- a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc @@ -1,52 +1,53 @@ MauvilleCity_PokemonCenter_1F_MapScripts:: @ 8210E5B map_script MAP_SCRIPT_ON_TRANSITION, MauvilleCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, MauvilleCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 MauvilleCity_PokemonCenter_1F_OnTransition: @ 8210E66 setrespawn HEAL_LOCATION_MAUVILLE_CITY - call MauvilleCity_PokemonCenter_1F_EventScript_2718DE - goto MauvilleCity_PokemonCenter_1F_EventScript_210E74 + call Common_EventScript_UpdateBrineyLocation + goto MauvilleCity_PokemonCenter_1F_EventScript_SetMauvilleOldManGfx end -MauvilleCity_PokemonCenter_1F_EventScript_210E74:: @ 8210E74 +MauvilleCity_PokemonCenter_1F_EventScript_SetMauvilleOldManGfx:: @ 8210E74 special ScrSpecial_SetMauvilleOldManEventObjGfx end -MauvilleCity_PokemonCenter_1F_EventScript_210E78:: @ 8210E78 +@ VAR_0x800B is the Nurse's object event id +MauvilleCity_PokemonCenter_1F_EventScript_Nurse:: @ 8210E78 setvar VAR_0x800B, 1 - call MauvilleCity_PokemonCenter_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -MauvilleCity_PokemonCenter_1F_EventScript_210E86:: @ 8210E86 - msgbox MauvilleCity_PokemonCenter_1F_Text_210EA1, MSGBOX_NPC +MauvilleCity_PokemonCenter_1F_EventScript_Woman1:: @ 8210E86 + msgbox MauvilleCity_PokemonCenter_1F_Text_ManOverThereSaysWeirdThings, MSGBOX_NPC end -MauvilleCity_PokemonCenter_1F_EventScript_210E8F:: @ 8210E8F - msgbox MauvilleCity_PokemonCenter_1F_Text_210F06, MSGBOX_NPC +MauvilleCity_PokemonCenter_1F_EventScript_Woman2:: @ 8210E8F + msgbox MauvilleCity_PokemonCenter_1F_Text_MyDataUpdatedFromRecordCorner, MSGBOX_NPC end -MauvilleCity_PokemonCenter_1F_EventScript_210E98:: @ 8210E98 - msgbox MauvilleCity_PokemonCenter_1F_Text_210F8A, MSGBOX_NPC +MauvilleCity_PokemonCenter_1F_EventScript_Youngster:: @ 8210E98 + msgbox MauvilleCity_PokemonCenter_1F_Text_RecordCornerSoundsFun, MSGBOX_NPC end -MauvilleCity_PokemonCenter_1F_Text_210EA1: @ 8210EA1 +MauvilleCity_PokemonCenter_1F_Text_ManOverThereSaysWeirdThings: @ 8210EA1 .string "That man over there, he says weird\n" .string "things!\p" .string "He's funny in a weird way.\n" .string "I doubt I'll forget about him!$" -MauvilleCity_PokemonCenter_1F_Text_210F06: @ 8210F06 +MauvilleCity_PokemonCenter_1F_Text_MyDataUpdatedFromRecordCorner: @ 8210F06 .string "When I accessed the RECORD CORNER,\n" .string "the data for what's hot in DEWFORD\l" .string "got updated.\p" .string "Now that bit of data is the same\n" .string "as my friend's!$" -MauvilleCity_PokemonCenter_1F_Text_210F8A: @ 8210F8A +MauvilleCity_PokemonCenter_1F_Text_RecordCornerSoundsFun: @ 8210F8A .string "A RECORD CORNER opened upstairs in\n" .string "the POKéMON CENTER.\p" .string "I don't know what it's about, but it\n" diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/map.json b/data/maps/MauvilleCity_PokemonCenter_2F/map.json index 4afcc3882a..000f0cf640 100644 --- a/data/maps/MauvilleCity_PokemonCenter_2F/map.json +++ b/data/maps/MauvilleCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MauvilleCity_PokemonCenter_2F_EventScript_21102F", + "script": "MauvilleCity_PokemonCenter_2F_EventScript_Youngster", "flag": "0" } ], diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc b/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc index c0200ea1f5..9626e48826 100644 --- a/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc @@ -1,27 +1,28 @@ MauvilleCity_PokemonCenter_2F_MapScripts:: @ 8211008 - map_script MAP_SCRIPT_ON_FRAME_TABLE, MauvilleCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, MauvilleCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, MauvilleCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -MauvilleCity_PokemonCenter_2F_EventScript_21101D:: @ 821101D - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +MauvilleCity_PokemonCenter_2F_EventScript_Colosseum:: @ 821101D + call CableClub_EventScript_Colosseum end -MauvilleCity_PokemonCenter_2F_EventScript_211023:: @ 8211023 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +MauvilleCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8211023 + call CableClub_EventScript_TradeCenter end -MauvilleCity_PokemonCenter_2F_EventScript_211029:: @ 8211029 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +MauvilleCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 8211029 + call CableClub_EventScript_RecordCorner end -MauvilleCity_PokemonCenter_2F_EventScript_21102F:: @ 821102F - msgbox MauvilleCity_PokemonCenter_2F_Text_211038, MSGBOX_NPC +MauvilleCity_PokemonCenter_2F_EventScript_Youngster:: @ 821102F + msgbox MauvilleCity_PokemonCenter_2F_Text_Youngster, MSGBOX_NPC end -MauvilleCity_PokemonCenter_2F_Text_211038: @ 8211038 +MauvilleCity_PokemonCenter_2F_Text_Youngster: @ 8211038 .string "Did you know that you can link battle\n" .string "at the COLOSSEUM here?\p" .string "They put up your record on the wall\n" diff --git a/data/maps/MeteorFalls_1F_1R/map.json b/data/maps/MeteorFalls_1F_1R/map.json index 200c03e865..46e031857a 100644 --- a/data/maps/MeteorFalls_1F_1R/map.json +++ b/data/maps/MeteorFalls_1F_1R/map.json @@ -141,7 +141,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MeteorFalls_1F_1R_EventScript_22BF25", + "script": "MeteorFalls_1F_1R_EventScript_ProfCozmo", "flag": "FLAG_HIDE_METEOR_FALLS_1F_1R_COZMO" } ], @@ -197,7 +197,7 @@ "elevation": 4, "var": "VAR_METEOR_FALLS_STATE", "var_value": "0", - "script": "MeteorFalls_1F_1R_EventScript_22BD5F" + "script": "MeteorFalls_1F_1R_EventScript_MagmaStealsMeteoriteScene" } ], "bg_events": [ diff --git a/data/maps/MeteorFalls_1F_1R/scripts.inc b/data/maps/MeteorFalls_1F_1R/scripts.inc index 8211034a64..ad3eb3eb8a 100644 --- a/data/maps/MeteorFalls_1F_1R/scripts.inc +++ b/data/maps/MeteorFalls_1F_1R/scripts.inc @@ -1,83 +1,83 @@ MeteorFalls_1F_1R_MapScripts:: @ 822BD2A - map_script MAP_SCRIPT_ON_LOAD, MeteorFalls_1F_1R_MapScript1_22BD30 + map_script MAP_SCRIPT_ON_LOAD, MeteorFalls_1F_1R_OnLoad .byte 0 -MeteorFalls_1F_1R_MapScript1_22BD30: @ 822BD30 - call_if_set FLAG_SYS_GAME_CLEAR, MeteorFalls_1F_1R_EventScript_22BD3A +MeteorFalls_1F_1R_OnLoad: @ 822BD30 + call_if_set FLAG_SYS_GAME_CLEAR, MeteorFalls_1F_1R_EventScript_OpenStevensCave end -MeteorFalls_1F_1R_EventScript_22BD3A:: @ 822BD3A +MeteorFalls_1F_1R_EventScript_OpenStevensCave:: @ 822BD3A setmetatile 4, 1, METATILE_MeteorFalls_CaveEntrance_Top, 1 setmetatile 3, 2, METATILE_MeteorFalls_CaveEntrance_Left, 1 setmetatile 4, 2, METATILE_MeteorFalls_CaveEntrance_Bottom, 0 setmetatile 5, 2, METATILE_MeteorFalls_CaveEntrance_Right, 1 return -MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F +MeteorFalls_1F_1R_EventScript_MagmaStealsMeteoriteScene:: @ 822BD5F lockall playbgm MUS_MGM0, 0 applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceDown waitmovement 0 delay 30 - applymovement 5, MeteorFalls_1F_1R_Movement_2725B4 + applymovement 5, Common_Movement_WalkInPlaceDown waitmovement 0 - msgbox MeteorFalls_1F_1R_Text_22BF47, MSGBOX_DEFAULT + msgbox MeteorFalls_1F_1R_Text_WithThisMeteorite, MSGBOX_DEFAULT closemessage - applymovement 5, Common_Movement_WalkInPlaceUp - applymovement 6, Common_Movement_WalkInPlaceUp + applymovement 5, Common_Movement_WalkInPlaceFastestUp + applymovement 6, Common_Movement_WalkInPlaceFastestUp waitmovement 0 playse SE_PIN applymovement 5, Common_Movement_ExclamationMark waitmovement 0 applymovement 5, Common_Movement_Delay48 waitmovement 0 - msgbox MeteorFalls_1F_1R_Text_22BF84, MSGBOX_DEFAULT + msgbox MeteorFalls_1F_1R_Text_DontExpectMercyFromMagma, MSGBOX_DEFAULT closemessage - applymovement 5, MeteorFalls_1F_1R_Movement_22BEC0 + applymovement 5, MeteorFalls_1F_1R_Movement_MagmaGruntApproachPlayer waitmovement 0 - msgbox MeteorFalls_1F_1R_Text_22BFE4, MSGBOX_DEFAULT + msgbox MeteorFalls_1F_1R_Text_HoldItRightThereMagma, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft - applymovement 5, Common_Movement_WalkInPlaceLeft - applymovement 6, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft + applymovement 5, Common_Movement_WalkInPlaceFastestLeft + applymovement 6, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 addobject 7 addobject 8 addobject 9 playbgm MUS_AQA_0, 0 - applymovement 7, MeteorFalls_1F_1R_Movement_22BED9 - applymovement 8, MeteorFalls_1F_1R_Movement_22BEE0 - applymovement 9, MeteorFalls_1F_1R_Movement_22BEE8 + applymovement 7, MeteorFalls_1F_1R_Movement_ArchieArrive + applymovement 8, MeteorFalls_1F_1R_Movement_AquaGrunt1Arrive + applymovement 9, MeteorFalls_1F_1R_Movement_AquaGrunt2Arrive waitmovement 0 - applymovement 5, Common_Movement_WalkInPlaceLeft - applymovement 6, Common_Movement_WalkInPlaceLeft + applymovement 5, Common_Movement_WalkInPlaceFastestLeft + applymovement 6, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox MeteorFalls_1F_1R_Text_22C04E, MSGBOX_DEFAULT + msgbox MeteorFalls_1F_1R_Text_BeSeeingYouTeamAqua, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, MeteorFalls_1F_1R_Movement_22BF1D - applymovement 5, MeteorFalls_1F_1R_Movement_22BEC4 - applymovement 6, MeteorFalls_1F_1R_Movement_22BECE + applymovement EVENT_OBJ_ID_PLAYER, MeteorFalls_1F_1R_Movement_PushPlayerOutOfWay + applymovement 5, MeteorFalls_1F_1R_Movement_MagmaGrunt1Exit + applymovement 6, MeteorFalls_1F_1R_Movement_MagmaGrunt2Exit waitmovement 0 removeobject 5 removeobject 6 - applymovement 7, MeteorFalls_1F_1R_Movement_22BEF8 + applymovement 7, MeteorFalls_1F_1R_Movement_ArchieApproachPlayer waitmovement 0 - msgbox MeteorFalls_1F_1R_Text_22C11C, MSGBOX_DEFAULT + msgbox MeteorFalls_1F_1R_Text_ArchieSeenYouBefore, MSGBOX_DEFAULT closemessage - applymovement 8, MeteorFalls_1F_1R_Movement_22BF08 - applymovement 9, MeteorFalls_1F_1R_Movement_22BF18 + applymovement 8, MeteorFalls_1F_1R_Movement_AquaGrunt1ApproachArchie + applymovement 9, MeteorFalls_1F_1R_Movement_AquaGrunt2ApproachArchie waitmovement 0 - msgbox MeteorFalls_1F_1R_Text_22C268, MSGBOX_DEFAULT - applymovement 7, Common_Movement_WalkInPlaceDown + msgbox MeteorFalls_1F_1R_Text_BossWeShouldChaseMagma, MSGBOX_DEFAULT + applymovement 7, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox MeteorFalls_1F_1R_Text_22C292, MSGBOX_DEFAULT - applymovement 7, Common_Movement_WalkInPlaceLeft + msgbox MeteorFalls_1F_1R_Text_ArchieYesNoTellingWhatMagmaWillDo, MSGBOX_DEFAULT + applymovement 7, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox MeteorFalls_1F_1R_Text_22C2FC, MSGBOX_DEFAULT + msgbox MeteorFalls_1F_1R_Text_ArchieFarewell, MSGBOX_DEFAULT closemessage - applymovement 7, MeteorFalls_1F_1R_Movement_22BEF0 - applymovement 8, MeteorFalls_1F_1R_Movement_22BEFE - applymovement 9, MeteorFalls_1F_1R_Movement_22BF0D + applymovement 7, MeteorFalls_1F_1R_Movement_ArchieExit + applymovement 8, MeteorFalls_1F_1R_Movement_AquaGrunt1Exit + applymovement 9, MeteorFalls_1F_1R_Movement_AquaGrunt2Exit waitmovement 0 fadedefaultbgm removeobject 7 @@ -85,18 +85,18 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F removeobject 9 setflag FLAG_HIDE_ROUTE_112_TEAM_MAGMA setflag FLAG_MET_ARCHIE_METEOR_FALLS - setflag FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT + setflag FLAG_HIDE_FALLARBOR_TOWN_BATTLE_TENT_SCOTT setvar VAR_METEOR_FALLS_STATE, 1 releaseall end -MeteorFalls_1F_1R_Movement_22BEC0: @ 822BEC0 +MeteorFalls_1F_1R_Movement_MagmaGruntApproachPlayer: @ 822BEC0 walk_right walk_right walk_in_place_fastest_up step_end -MeteorFalls_1F_1R_Movement_22BEC4: @ 822BEC4 +MeteorFalls_1F_1R_Movement_MagmaGrunt1Exit: @ 822BEC4 walk_fast_up walk_fast_up walk_fast_right @@ -108,7 +108,7 @@ MeteorFalls_1F_1R_Movement_22BEC4: @ 822BEC4 walk_fast_right step_end -MeteorFalls_1F_1R_Movement_22BECE: @ 822BECE +MeteorFalls_1F_1R_Movement_MagmaGrunt2Exit: @ 822BECE walk_fast_up walk_fast_up walk_fast_up @@ -121,7 +121,7 @@ MeteorFalls_1F_1R_Movement_22BECE: @ 822BECE walk_fast_right step_end -MeteorFalls_1F_1R_Movement_22BED9: @ 822BED9 +MeteorFalls_1F_1R_Movement_ArchieArrive: @ 822BED9 walk_right walk_right walk_right @@ -130,7 +130,7 @@ MeteorFalls_1F_1R_Movement_22BED9: @ 822BED9 walk_right step_end -MeteorFalls_1F_1R_Movement_22BEE0: @ 822BEE0 +MeteorFalls_1F_1R_Movement_AquaGrunt1Arrive: @ 822BEE0 delay_16 delay_16 walk_right @@ -140,7 +140,7 @@ MeteorFalls_1F_1R_Movement_22BEE0: @ 822BEE0 walk_right step_end -MeteorFalls_1F_1R_Movement_22BEE8: @ 822BEE8 +MeteorFalls_1F_1R_Movement_AquaGrunt2Arrive: @ 822BEE8 delay_16 delay_16 walk_right @@ -150,7 +150,7 @@ MeteorFalls_1F_1R_Movement_22BEE8: @ 822BEE8 walk_right step_end -MeteorFalls_1F_1R_Movement_22BEF0: @ 822BEF0 +MeteorFalls_1F_1R_Movement_ArchieExit: @ 822BEF0 walk_right walk_right walk_right @@ -160,7 +160,7 @@ MeteorFalls_1F_1R_Movement_22BEF0: @ 822BEF0 walk_right step_end -MeteorFalls_1F_1R_Movement_22BEF8: @ 822BEF8 +MeteorFalls_1F_1R_Movement_ArchieApproachPlayer: @ 822BEF8 walk_right walk_right walk_up @@ -168,7 +168,7 @@ MeteorFalls_1F_1R_Movement_22BEF8: @ 822BEF8 walk_in_place_fastest_left step_end -MeteorFalls_1F_1R_Movement_22BEFE: @ 822BEFE +MeteorFalls_1F_1R_Movement_AquaGrunt1Exit: @ 822BEFE walk_up walk_up walk_right @@ -180,14 +180,14 @@ MeteorFalls_1F_1R_Movement_22BEFE: @ 822BEFE walk_right step_end -MeteorFalls_1F_1R_Movement_22BF08: @ 822BF08 +MeteorFalls_1F_1R_Movement_AquaGrunt1ApproachArchie: @ 822BF08 walk_right walk_right walk_right walk_in_place_fastest_up step_end -MeteorFalls_1F_1R_Movement_22BF0D: @ 822BF0D +MeteorFalls_1F_1R_Movement_AquaGrunt2Exit: @ 822BF0D walk_up walk_up walk_up @@ -200,14 +200,14 @@ MeteorFalls_1F_1R_Movement_22BF0D: @ 822BF0D walk_right step_end -MeteorFalls_1F_1R_Movement_22BF18: @ 822BF18 +MeteorFalls_1F_1R_Movement_AquaGrunt2ApproachArchie: @ 822BF18 walk_right walk_right walk_right walk_in_place_fastest_up step_end -MeteorFalls_1F_1R_Movement_22BF1D: @ 822BF1D +MeteorFalls_1F_1R_Movement_PushPlayerOutOfWay: @ 822BF1D walk_in_place_fastest_down delay_4 walk_in_place_fastest_right @@ -217,37 +217,37 @@ MeteorFalls_1F_1R_Movement_22BF1D: @ 822BF1D face_right step_end -MeteorFalls_1F_1R_EventScript_22BF25:: @ 822BF25 +MeteorFalls_1F_1R_EventScript_ProfCozmo:: @ 822BF25 lock faceplayer - goto_if_set FLAG_MET_PROF_COSMO, MeteorFalls_1F_1R_EventScript_22BF3D - setflag FLAG_MET_PROF_COSMO - msgbox MeteorFalls_1F_1R_Text_22C342, MSGBOX_DEFAULT + goto_if_set FLAG_MET_PROF_COZMO, MeteorFalls_1F_1R_EventScript_MetCozmo + setflag FLAG_MET_PROF_COZMO + msgbox MeteorFalls_1F_1R_Text_MeetProfCozmo, MSGBOX_DEFAULT release end -MeteorFalls_1F_1R_EventScript_22BF3D:: @ 822BF3D - msgbox MeteorFalls_1F_1R_Text_22C47D, MSGBOX_DEFAULT +MeteorFalls_1F_1R_EventScript_MetCozmo:: @ 822BF3D + msgbox MeteorFalls_1F_1R_Text_WhatsTeamMagmaDoingAtMtChimney, MSGBOX_DEFAULT release end -MeteorFalls_1F_1R_Text_22BF47: @ 822BF47 +MeteorFalls_1F_1R_Text_WithThisMeteorite: @ 822BF47 .string "Hehehe!\p" .string "With this METEORITE, that thing in\n" .string "MT. CHIMNEY will…$" -MeteorFalls_1F_1R_Text_22BF84: @ 822BF84 +MeteorFalls_1F_1R_Text_DontExpectMercyFromMagma: @ 822BF84 .string "Heh?\p" .string "I don't know who you are, but if you get\n" .string "in the way of TEAM MAGMA, don't\l" .string "expect any mercy!$" -MeteorFalls_1F_1R_Text_22BFE4: @ 822BFE4 +MeteorFalls_1F_1R_Text_HoldItRightThereMagma: @ 822BFE4 .string "Hold it right there, TEAM MAGMA!\p" .string "You're badly mistaken if you think you\n" .string "can have your way with the world!$" -MeteorFalls_1F_1R_Text_22C04E: @ 822C04E +MeteorFalls_1F_1R_Text_BeSeeingYouTeamAqua: @ 822C04E .string "Hehehe!\n" .string "Even TEAM AQUA joins us!\p" .string "But it's too much trouble to deal with\n" @@ -258,7 +258,7 @@ MeteorFalls_1F_1R_Text_22C04E: @ 822C04E .string "Hehehe! Be seeing you, you TEAM\n" .string "AQUA dingbats!$" -MeteorFalls_1F_1R_Text_22C11C: @ 822C11C +MeteorFalls_1F_1R_Text_ArchieSeenYouBefore: @ 822C11C .string "ARCHIE: Didn't I see you before?\n" .string "At SLATEPORT's MUSEUM?\p" .string "Ah, so your name is {PLAYER}.\p" @@ -273,22 +273,22 @@ MeteorFalls_1F_1R_Text_22C11C: @ 822C11C .string "They are the rivals to us,\n" .string "the sea-loving TEAM AQUA!$" -MeteorFalls_1F_1R_Text_22C268: @ 822C268 +MeteorFalls_1F_1R_Text_BossWeShouldChaseMagma: @ 822C268 .string "BOSS, we should give chase to\n" .string "TEAM MAGMA…$" -MeteorFalls_1F_1R_Text_22C292: @ 822C292 +MeteorFalls_1F_1R_Text_ArchieYesNoTellingWhatMagmaWillDo: @ 822C292 .string "ARCHIE: Yes, yes, we must!\n" .string "We've got to hurry.\p" .string "There's no telling what TEAM MAGMA\n" .string "will do at MT. CHIMNEY!$" -MeteorFalls_1F_1R_Text_22C2FC: @ 822C2FC +MeteorFalls_1F_1R_Text_ArchieFarewell: @ 822C2FC .string "ARCHIE: {PLAYER}, you should keep\n" .string "an eye out for TEAM MAGMA, too.\p" .string "Farewell!$" -MeteorFalls_1F_1R_Text_22C342: @ 822C342 +MeteorFalls_1F_1R_Text_MeetProfCozmo: @ 822C342 .string "I… I'm COZMO…\n" .string "I'm a PROFESSOR…\p" .string "TEAM MAGMA asked me to guide them\n" @@ -303,7 +303,7 @@ MeteorFalls_1F_1R_Text_22C342: @ 822C342 .string "What are they going to do with that\n" .string "METEORITE at MT. CHIMNEY?$" -MeteorFalls_1F_1R_Text_22C47D: @ 822C47D +MeteorFalls_1F_1R_Text_WhatsTeamMagmaDoingAtMtChimney: @ 822C47D .string "PROF. COZMO: But that TEAM MAGMA…\p" .string "What are they going to do with that\n" .string "METEORITE at MT. CHIMNEY?$" diff --git a/data/maps/MeteorFalls_1F_2R/map.json b/data/maps/MeteorFalls_1F_2R/map.json index be52085cd0..1b27e859eb 100644 --- a/data/maps/MeteorFalls_1F_2R/map.json +++ b/data/maps/MeteorFalls_1F_2R/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MeteorFalls_1F_2R_EventScript_22C4DE", + "script": "MeteorFalls_1F_2R_EventScript_Nicolas", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MeteorFalls_1F_2R_EventScript_22C540", + "script": "MeteorFalls_1F_2R_EventScript_John", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MeteorFalls_1F_2R_EventScript_22C5A4", + "script": "MeteorFalls_1F_2R_EventScript_Jay", "flag": "0" } ], diff --git a/data/maps/MeteorFalls_1F_2R/scripts.inc b/data/maps/MeteorFalls_1F_2R/scripts.inc index fee636e0b5..0fa73212e9 100644 --- a/data/maps/MeteorFalls_1F_2R/scripts.inc +++ b/data/maps/MeteorFalls_1F_2R/scripts.inc @@ -1,184 +1,184 @@ MeteorFalls_1F_2R_MapScripts:: @ 822C4DD .byte 0 -MeteorFalls_1F_2R_EventScript_22C4DE:: @ 822C4DE - trainerbattle_single TRAINER_NICOLAS_1, MeteorFalls_1F_2R_Text_22C608, MeteorFalls_1F_2R_Text_22C678, MeteorFalls_1F_2R_EventScript_22C50A +MeteorFalls_1F_2R_EventScript_Nicolas:: @ 822C4DE + trainerbattle_single TRAINER_NICOLAS_1, MeteorFalls_1F_2R_Text_NicolasIntro, MeteorFalls_1F_2R_Text_NicolasDefeat, MeteorFalls_1F_2R_EventScript_RegisterNicolas specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq MeteorFalls_1F_2R_EventScript_22C529 - msgbox MeteorFalls_1F_2R_Text_22C6A3, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq MeteorFalls_1F_2R_EventScript_RematchNicolas + msgbox MeteorFalls_1F_2R_Text_NicolasPostBattle, MSGBOX_DEFAULT release end -MeteorFalls_1F_2R_EventScript_22C50A:: @ 822C50A - special sub_80B4808 +MeteorFalls_1F_2R_EventScript_RegisterNicolas:: @ 822C50A + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox MeteorFalls_1F_2R_Text_22C6F6, MSGBOX_DEFAULT + msgbox MeteorFalls_1F_2R_Text_NicolasRegister, MSGBOX_DEFAULT register_matchcall TRAINER_NICOLAS_1 release end -MeteorFalls_1F_2R_EventScript_22C529:: @ 822C529 - trainerbattle_rematch TRAINER_NICOLAS_1, MeteorFalls_1F_2R_Text_22C73F, MeteorFalls_1F_2R_Text_22C7AD - msgbox MeteorFalls_1F_2R_Text_22C7D8, MSGBOX_AUTOCLOSE +MeteorFalls_1F_2R_EventScript_RematchNicolas:: @ 822C529 + trainerbattle_rematch TRAINER_NICOLAS_1, MeteorFalls_1F_2R_Text_NicolasRematchIntro, MeteorFalls_1F_2R_Text_NicolasRematchDefeat + msgbox MeteorFalls_1F_2R_Text_NicolasPostRematch, MSGBOX_AUTOCLOSE end -MeteorFalls_1F_2R_EventScript_22C540:: @ 822C540 - trainerbattle_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_22C843, MeteorFalls_1F_2R_Text_22C89C, MeteorFalls_1F_2R_Text_22C92B, MeteorFalls_1F_2R_EventScript_22C570 +MeteorFalls_1F_2R_EventScript_John:: @ 822C540 + trainerbattle_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_JohnIntro, MeteorFalls_1F_2R_Text_JohnDefeat, MeteorFalls_1F_2R_Text_JohnNotEnoughMons, MeteorFalls_1F_2R_EventScript_RegisterJohn specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq MeteorFalls_1F_2R_EventScript_22C589 - msgbox MeteorFalls_1F_2R_Text_22C8C1, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq MeteorFalls_1F_2R_EventScript_RematchJohn + msgbox MeteorFalls_1F_2R_Text_JohnPostBattle, MSGBOX_DEFAULT release end -MeteorFalls_1F_2R_EventScript_22C570:: @ 822C570 - msgbox MeteorFalls_1F_2R_Text_22C99C, MSGBOX_DEFAULT +MeteorFalls_1F_2R_EventScript_RegisterJohn:: @ 822C570 + msgbox MeteorFalls_1F_2R_Text_JohnRegister, MSGBOX_DEFAULT register_matchcall TRAINER_JOHN_AND_JAY_1 release end -MeteorFalls_1F_2R_EventScript_22C589:: @ 822C589 - trainerbattle_rematch_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_22CB47, MeteorFalls_1F_2R_Text_22CBA0, MeteorFalls_1F_2R_Text_22CC27 - msgbox MeteorFalls_1F_2R_Text_22CBC5, MSGBOX_AUTOCLOSE +MeteorFalls_1F_2R_EventScript_RematchJohn:: @ 822C589 + trainerbattle_rematch_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_JohnRematchIntro, MeteorFalls_1F_2R_Text_JohnRematchDefeat, MeteorFalls_1F_2R_Text_JohnRematchNotEnoughMons + msgbox MeteorFalls_1F_2R_Text_JohnPostRematch, MSGBOX_AUTOCLOSE end -MeteorFalls_1F_2R_EventScript_22C5A4:: @ 822C5A4 - trainerbattle_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_22C9E6, MeteorFalls_1F_2R_Text_22CA44, MeteorFalls_1F_2R_Text_22CACD, MeteorFalls_1F_2R_EventScript_22C5D4 +MeteorFalls_1F_2R_EventScript_Jay:: @ 822C5A4 + trainerbattle_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_JayIntro, MeteorFalls_1F_2R_Text_JayDefeat, MeteorFalls_1F_2R_Text_JayNotEnoughMons, MeteorFalls_1F_2R_EventScript_RegisterJay specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq MeteorFalls_1F_2R_EventScript_22C5ED - msgbox MeteorFalls_1F_2R_Text_22CA70, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq MeteorFalls_1F_2R_EventScript_RematchJay + msgbox MeteorFalls_1F_2R_Text_JayPostBattle, MSGBOX_DEFAULT release end -MeteorFalls_1F_2R_EventScript_22C5D4:: @ 822C5D4 - msgbox MeteorFalls_1F_2R_Text_22C99C, MSGBOX_DEFAULT +MeteorFalls_1F_2R_EventScript_RegisterJay:: @ 822C5D4 + msgbox MeteorFalls_1F_2R_Text_JohnRegister, MSGBOX_DEFAULT @ John speaks for both during register register_matchcall TRAINER_JOHN_AND_JAY_1 release end -MeteorFalls_1F_2R_EventScript_22C5ED:: @ 822C5ED - trainerbattle_rematch_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_22CC98, MeteorFalls_1F_2R_Text_22CD08, MeteorFalls_1F_2R_Text_22CDAB - msgbox MeteorFalls_1F_2R_Text_22CD34, MSGBOX_AUTOCLOSE +MeteorFalls_1F_2R_EventScript_RematchJay:: @ 822C5ED + trainerbattle_rematch_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_JayRematchIntro, MeteorFalls_1F_2R_Text_JayRematchDefeat, MeteorFalls_1F_2R_Text_JayRematchNotEnoughMons + msgbox MeteorFalls_1F_2R_Text_JayPostRematch, MSGBOX_AUTOCLOSE end -MeteorFalls_1F_2R_Text_22C608: @ 822C608 +MeteorFalls_1F_2R_Text_NicolasIntro: @ 822C608 .string "This is where we DRAGON users do our\n" .string "training.\p" .string "The CHAMPION even visits.\n" .string "Now do you see how special it is here?$" -MeteorFalls_1F_2R_Text_22C678: @ 822C678 +MeteorFalls_1F_2R_Text_NicolasDefeat: @ 822C678 .string "Urgh!\n" .string "I didn't expect you to be so strong!$" -MeteorFalls_1F_2R_Text_22C6A3: @ 822C6A3 +MeteorFalls_1F_2R_Text_NicolasPostBattle: @ 822C6A3 .string "The road ahead remains long and harsh.\p" .string "When will my POKéMON and I become\n" .string "the best?$" -MeteorFalls_1F_2R_Text_22C6F6: @ 822C6F6 +MeteorFalls_1F_2R_Text_NicolasRegister: @ 822C6F6 .string "I want to know more about your power.\n" .string "Let me register you in my POKéNAV.$" -MeteorFalls_1F_2R_Text_22C73F: @ 822C73F +MeteorFalls_1F_2R_Text_NicolasRematchIntro: @ 822C73F .string "Since we met, we have trained hard\n" .string "with our sights on number one.\p" .string "Help us see how much stronger we've\n" .string "become!$" -MeteorFalls_1F_2R_Text_22C7AD: @ 822C7AD +MeteorFalls_1F_2R_Text_NicolasRematchDefeat: @ 822C7AD .string "Urgh!\n" .string "I didn't expect you to be so strong!$" -MeteorFalls_1F_2R_Text_22C7D8: @ 822C7D8 +MeteorFalls_1F_2R_Text_NicolasPostRematch: @ 822C7D8 .string "You've obviously kept up your\n" .string "POKéMON training.\p" .string "So long as you remain strong, I, too,\n" .string "can become stronger!$" -MeteorFalls_1F_2R_Text_22C843: @ 822C843 +MeteorFalls_1F_2R_Text_JohnIntro: @ 822C843 .string "JOHN: We've always battled POKéMON\n" .string "together as a twosome.\l" .string "We've confidence in ourselves.$" -MeteorFalls_1F_2R_Text_22C89C: @ 822C89C +MeteorFalls_1F_2R_Text_JohnDefeat: @ 822C89C .string "JOHN: Oh, my.\n" .string "We've lost, dear wife.$" -MeteorFalls_1F_2R_Text_22C8C1: @ 822C8C1 +MeteorFalls_1F_2R_Text_JohnPostBattle: @ 822C8C1 .string "JOHN: We've been married for\n" .string "fifty years.\p" .string "Come to think of it, I've yet to beat\n" .string "my dear wife in a battle.$" -MeteorFalls_1F_2R_Text_22C92B: @ 822C92B +MeteorFalls_1F_2R_Text_JohnNotEnoughMons: @ 822C92B .string "JOHN: Well, well, what a young TRAINER!\p" .string "Will you battle with us? If so, you'll\n" .string "have to return with more POKéMON.$" -MeteorFalls_1F_2R_Text_22C99C: @ 822C99C +MeteorFalls_1F_2R_Text_JohnRegister: @ 822C99C .string "JOHN: Young TRAINER, if the chance\n" .string "arises, will you battle with us again?$" -MeteorFalls_1F_2R_Text_22C9E6: @ 822C9E6 +MeteorFalls_1F_2R_Text_JayIntro: @ 822C9E6 .string "JAY: We've been married for\n" .string "fifty years.\p" .string "The bond we share as a couple could\n" .string "never be broken.$" -MeteorFalls_1F_2R_Text_22CA44: @ 822CA44 +MeteorFalls_1F_2R_Text_JayDefeat: @ 822CA44 .string "JAY: Oh, dear.\n" .string "We've lost, my dear husband.$" -MeteorFalls_1F_2R_Text_22CA70: @ 822CA70 +MeteorFalls_1F_2R_Text_JayPostBattle: @ 822CA70 .string "JAY: Fifty years of marriage…\p" .string "If we ever argued, we always settled\n" .string "it with a POKéMON battle…$" -MeteorFalls_1F_2R_Text_22CACD: @ 822CACD +MeteorFalls_1F_2R_Text_JayNotEnoughMons: @ 822CACD .string "JAY: Well, well, aren't you a young\n" .string "TRAINER?\p" .string "If you'd care to battle with us, you'll\n" .string "have to come back with more POKéMON.$" -MeteorFalls_1F_2R_Text_22CB47: @ 822CB47 +MeteorFalls_1F_2R_Text_JohnRematchIntro: @ 822CB47 .string "JOHN: We've always battled POKéMON\n" .string "together as a twosome.\l" .string "We've confidence in ourselves.$" -MeteorFalls_1F_2R_Text_22CBA0: @ 822CBA0 +MeteorFalls_1F_2R_Text_JohnRematchDefeat: @ 822CBA0 .string "JOHN: Oh, my.\n" .string "We've lost, dear wife.$" -MeteorFalls_1F_2R_Text_22CBC5: @ 822CBC5 +MeteorFalls_1F_2R_Text_JohnPostRematch: @ 822CBC5 .string "JOHN: Married for fifty years…\p" .string "On reflection, the dear wife and I,\n" .string "we battled day in and day out…$" -MeteorFalls_1F_2R_Text_22CC27: @ 822CC27 +MeteorFalls_1F_2R_Text_JohnRematchNotEnoughMons: @ 822CC27 .string "JOHN: Well, well, what a young TRAINER!\p" .string "Will you battle with us? If so, you'll\n" .string "have to return with more POKéMON.$" -MeteorFalls_1F_2R_Text_22CC98: @ 822CC98 +MeteorFalls_1F_2R_Text_JayRematchIntro: @ 822CC98 .string "JAY: We've been married for\n" .string "fifty years.\p" .string "We've supported each other all that\n" .string "time. We've made ourselves strong.$" -MeteorFalls_1F_2R_Text_22CD08: @ 822CD08 +MeteorFalls_1F_2R_Text_JayRematchDefeat: @ 822CD08 .string "JAY: Oh, dear.\n" .string "We've lost, my dear husband.$" -MeteorFalls_1F_2R_Text_22CD34: @ 822CD34 +MeteorFalls_1F_2R_Text_JayPostRematch: @ 822CD34 .string "JAY: Fifty years of marriage…\n" .string "Many things have happened.\p" .string "I hope that we will continue to make\n" .string "happy memories together.$" -MeteorFalls_1F_2R_Text_22CDAB: @ 822CDAB +MeteorFalls_1F_2R_Text_JayRematchNotEnoughMons: @ 822CDAB .string "JAY: Well, well, aren't you a young\n" .string "TRAINER?\p" .string "If you'd care to battle with us, you'll\n" diff --git a/data/maps/MeteorFalls_StevensCave/map.json b/data/maps/MeteorFalls_StevensCave/map.json index b23c3f952d..c5ad268054 100644 --- a/data/maps/MeteorFalls_StevensCave/map.json +++ b/data/maps/MeteorFalls_StevensCave/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MeteorFalls_StevensCave_EventScript_23B182", + "script": "MeteorFalls_StevensCave_EventScript_Steven", "flag": "0" } ], diff --git a/data/maps/MeteorFalls_StevensCave/scripts.inc b/data/maps/MeteorFalls_StevensCave/scripts.inc index 31baad43c4..71313be671 100644 --- a/data/maps/MeteorFalls_StevensCave/scripts.inc +++ b/data/maps/MeteorFalls_StevensCave/scripts.inc @@ -1,9 +1,9 @@ MeteorFalls_StevensCave_MapScripts:: @ 823B181 .byte 0 -MeteorFalls_StevensCave_EventScript_23B182:: @ 823B182 +MeteorFalls_StevensCave_EventScript_Steven:: @ 823B182 lock - goto_if_set FLAG_DEFEATED_METEOR_FALLS_STEVEN, MeteorFalls_StevensCave_EventScript_23B1CD + goto_if_set FLAG_DEFEATED_METEOR_FALLS_STEVEN, MeteorFalls_StevensCave_EventScript_Defeated waitse playse SE_PIN applymovement 1, Common_Movement_ExclamationMark @@ -12,21 +12,21 @@ MeteorFalls_StevensCave_EventScript_23B182:: @ 823B182 waitmovement 0 applymovement 1, Common_Movement_FacePlayer waitmovement 0 - msgbox MeteorFalls_StevensCave_Text_23B1E1, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_STEVEN, MeteorFalls_StevensCave_Text_23B32D - msgbox MeteorFalls_StevensCave_Text_23B358, MSGBOX_DEFAULT + msgbox MeteorFalls_StevensCave_Text_ShouldKnowHowGoodIAmExpectWorst, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_STEVEN, MeteorFalls_StevensCave_Text_StevenDefeat + msgbox MeteorFalls_StevensCave_Text_MyPredictionCameTrue, MSGBOX_DEFAULT setflag FLAG_DEFEATED_METEOR_FALLS_STEVEN release end -MeteorFalls_StevensCave_EventScript_23B1CD:: @ 823B1CD +MeteorFalls_StevensCave_EventScript_Defeated:: @ 823B1CD applymovement 1, Common_Movement_FacePlayer waitmovement 0 - msgbox MeteorFalls_StevensCave_Text_23B358, MSGBOX_DEFAULT + msgbox MeteorFalls_StevensCave_Text_MyPredictionCameTrue, MSGBOX_DEFAULT release end -MeteorFalls_StevensCave_Text_23B1E1: @ 823B1E1 +MeteorFalls_StevensCave_Text_ShouldKnowHowGoodIAmExpectWorst: @ 823B1E1 .string "STEVEN: Oh, wow, {PLAYER}{KUN}.\n" .string "I'm amazed you knew where to find me.\p" .string "Do you, uh…maybe think of me as\n" @@ -39,11 +39,11 @@ MeteorFalls_StevensCave_Text_23B1E1: @ 823B1E1 .string "Okay, {PLAYER}{KUN}, if you're going to mount\n" .string "a serious challenge, expect the worst!$" -MeteorFalls_StevensCave_Text_23B32D: @ 823B32D +MeteorFalls_StevensCave_Text_StevenDefeat: @ 823B32D .string "You…\n" .string "I had no idea you'd become so strong…$" -MeteorFalls_StevensCave_Text_23B358: @ 823B358 +MeteorFalls_StevensCave_Text_MyPredictionCameTrue: @ 823B358 .string "STEVEN: Come to think of it, ever since\n" .string "our paths first crossed in GRANITE\l" .string "CAVE in DEWFORD, I had this feeling.\p" diff --git a/data/maps/MirageTower_2F/scripts.inc b/data/maps/MirageTower_2F/scripts.inc index d22a7c6fff..888288633d 100644 --- a/data/maps/MirageTower_2F/scripts.inc +++ b/data/maps/MirageTower_2F/scripts.inc @@ -1,11 +1,11 @@ MirageTower_2F_MapScripts:: @ 823AD11 - map_script MAP_SCRIPT_ON_FRAME_TABLE, MirageTower_2F_MapScript2_2A8327 - map_script MAP_SCRIPT_ON_TRANSITION, MirageTower_2F_MapScript1_2A8331 - map_script MAP_SCRIPT_ON_RESUME, MirageTower_2F_MapScript1_23AD21 + map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole + map_script MAP_SCRIPT_ON_TRANSITION, CaveHole_FixCrackedGround + map_script MAP_SCRIPT_ON_RESUME, MirageTower_2F_SetHoleWarp .byte 0 -MirageTower_2F_MapScript1_23AD21: @ 823AD21 - setstepcallback 7 +MirageTower_2F_SetHoleWarp: @ 823AD21 + setstepcallback STEP_CB_CRACKED_FLOOR setholewarp MAP_MIRAGE_TOWER_1F, 255, 0, 0 end diff --git a/data/maps/MirageTower_3F/scripts.inc b/data/maps/MirageTower_3F/scripts.inc index f29f542fc4..a54b2cccaa 100644 --- a/data/maps/MirageTower_3F/scripts.inc +++ b/data/maps/MirageTower_3F/scripts.inc @@ -1,11 +1,11 @@ MirageTower_3F_MapScripts:: @ 823AD2C - map_script MAP_SCRIPT_ON_FRAME_TABLE, MirageTower_3F_MapScript2_2A8327 - map_script MAP_SCRIPT_ON_TRANSITION, MirageTower_3F_MapScript1_2A8331 - map_script MAP_SCRIPT_ON_RESUME, MirageTower_3F_MapScript1_23AD3C + map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole + map_script MAP_SCRIPT_ON_TRANSITION, CaveHole_FixCrackedGround + map_script MAP_SCRIPT_ON_RESUME, MirageTower_3F_SetHoleWarp .byte 0 -MirageTower_3F_MapScript1_23AD3C: @ 823AD3C - setstepcallback 7 +MirageTower_3F_SetHoleWarp: @ 823AD3C + setstepcallback STEP_CB_CRACKED_FLOOR setholewarp MAP_MIRAGE_TOWER_2F, 255, 0, 0 end diff --git a/data/maps/MirageTower_4F/map.json b/data/maps/MirageTower_4F/map.json index 45e5fa62bd..71e080a231 100644 --- a/data/maps/MirageTower_4F/map.json +++ b/data/maps/MirageTower_4F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MirageTower_4F_EventScript_23AD48", + "script": "MirageTower_4F_EventScript_RootFossil", "flag": "FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MirageTower_4F_EventScript_23AD89", + "script": "MirageTower_4F_EventScript_ClawFossil", "flag": "FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL" }, { diff --git a/data/maps/MirageTower_4F/scripts.inc b/data/maps/MirageTower_4F/scripts.inc index 5208820df1..ceb78ab459 100644 --- a/data/maps/MirageTower_4F/scripts.inc +++ b/data/maps/MirageTower_4F/scripts.inc @@ -1,54 +1,54 @@ MirageTower_4F_MapScripts:: @ 823AD47 .byte 0 -MirageTower_4F_EventScript_23AD48:: @ 823AD48 +MirageTower_4F_EventScript_RootFossil:: @ 823AD48 lock faceplayer - msgbox MirageTower_4F_Text_23ADF9, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MirageTower_4F_EventScript_23AD7F - giveitem_std ITEM_ROOT_FOSSIL + msgbox MirageTower_4F_Text_TakeRootFossil, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MirageTower_4F_EventScript_LeaveRootFossil + giveitem ITEM_ROOT_FOSSIL closemessage setflag FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL setflag FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL removeobject 1 delay 30 - setflag FLAG_CHOSE_CLAW_FOSSIL - goto MirageTower_4F_EventScript_23ADCA + setflag FLAG_CHOSE_ROOT_FOSSIL + goto MirageTower_4F_EventScript_CollapseMirageTower end -MirageTower_4F_EventScript_23AD7F:: @ 823AD7F - msgbox MirageTower_4F_Text_23AE79, MSGBOX_DEFAULT +MirageTower_4F_EventScript_LeaveRootFossil:: @ 823AD7F + msgbox MirageTower_4F_Text_LeftRootFossilAlone, MSGBOX_DEFAULT release end -MirageTower_4F_EventScript_23AD89:: @ 823AD89 +MirageTower_4F_EventScript_ClawFossil:: @ 823AD89 lock faceplayer - msgbox MirageTower_4F_Text_23AE98, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MirageTower_4F_EventScript_23ADC0 - giveitem_std ITEM_CLAW_FOSSIL + msgbox MirageTower_4F_Text_TakeClawFossil, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MirageTower_4F_EventScript_LeaveClawFossil + giveitem ITEM_CLAW_FOSSIL closemessage setflag FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL setflag FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL removeobject 2 delay 30 - setflag FLAG_CHOSE_ROOT_FOSSIL - goto MirageTower_4F_EventScript_23ADCA + setflag FLAG_CHOSE_CLAW_FOSSIL + goto MirageTower_4F_EventScript_CollapseMirageTower end -MirageTower_4F_EventScript_23ADC0:: @ 823ADC0 - msgbox MirageTower_4F_Text_23AF18, MSGBOX_DEFAULT +MirageTower_4F_EventScript_LeaveClawFossil:: @ 823ADC0 + msgbox MirageTower_4F_Text_LeaveClawFossilAlone, MSGBOX_DEFAULT release end -MirageTower_4F_EventScript_23ADCA:: @ 823ADCA - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 32 - setvar VAR_0x8007, 2 - special sub_8139560 +MirageTower_4F_EventScript_CollapseMirageTower:: @ 823ADCA + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 1 @ horizontal pan + setvar VAR_0x8006, 32 @ num shakes + setvar VAR_0x8007, 2 @ shake delay + special ShakeCamera waitstate special DoMirageTowerCeilingCrumble waitstate @@ -59,21 +59,21 @@ MirageTower_4F_EventScript_23ADCA:: @ 823ADCA release end -MirageTower_4F_Text_23ADF9: @ 823ADF9 +MirageTower_4F_Text_TakeRootFossil: @ 823ADF9 .string "You found the ROOT FOSSIL.\p" .string "If this FOSSIL is taken, the ground\n" .string "around it will likely crumble away…\p" .string "Take the ROOT FOSSIL anyway?$" -MirageTower_4F_Text_23AE79: @ 823AE79 +MirageTower_4F_Text_LeftRootFossilAlone: @ 823AE79 .string "{PLAYER} left the ROOT FOSSIL alone.$" -MirageTower_4F_Text_23AE98: @ 823AE98 +MirageTower_4F_Text_TakeClawFossil: @ 823AE98 .string "You found the CLAW FOSSIL.\p" .string "If this FOSSIL is taken, the ground\n" .string "around it will likely crumble away…\p" .string "Take the CLAW FOSSIL anyway?$" -MirageTower_4F_Text_23AF18: @ 823AF18 +MirageTower_4F_Text_LeaveClawFossilAlone: @ 823AF18 .string "{PLAYER} left the CLAW FOSSIL alone.$" diff --git a/data/maps/MossdeepCity/map.json b/data/maps/MossdeepCity/map.json index db24a9b3b3..e3b1af96b3 100644 --- a/data/maps/MossdeepCity/map.json +++ b/data/maps/MossdeepCity/map.json @@ -40,7 +40,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_EventScript_1E4AD1", + "script": "MossdeepCity_EventScript_Sailor", "flag": "0" }, { @@ -53,7 +53,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_EventScript_1E4AF9", + "script": "MossdeepCity_EventScript_ExpertM", "flag": "0" }, { @@ -66,7 +66,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_EventScript_1E4AB2", + "script": "MossdeepCity_EventScript_PokefanF", "flag": "0" }, { @@ -79,7 +79,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_EventScript_1E4AF0", + "script": "MossdeepCity_EventScript_NinjaBoy", "flag": "0" }, { @@ -92,7 +92,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_EventScript_1E4B02", + "script": "MossdeepCity_EventScript_Girl", "flag": "0" }, { @@ -118,7 +118,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_EventScript_1E4C10", + "script": "MossdeepCity_EventScript_Man", "flag": "0" }, { @@ -131,7 +131,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_EventScript_1E4B0B", + "script": "MossdeepCity_EventScript_Woman", "flag": "0" }, { @@ -144,7 +144,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_EventScript_1E4C26", + "script": "MossdeepCity_EventScript_KingsRockBoy", "flag": "0" }, { @@ -222,7 +222,7 @@ "movement_range_y": 3, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_EventScript_2C81EE", + "script": "MossdeepCity_EventScript_DynamicPunchTutor", "flag": "0" }, { @@ -235,7 +235,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_EventScript_1E4C85", + "script": "MossdeepCity_EventScript_Scott", "flag": "FLAG_HIDE_MOSSDEEP_CITY_SCOTT" }, { @@ -248,7 +248,7 @@ "movement_range_y": 3, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_EventScript_1E4C7C", + "script": "MossdeepCity_EventScript_BlackBelt", "flag": "0" } ], @@ -332,7 +332,7 @@ "elevation": 0, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_EventScript_1E4B38" + "script": "MossdeepCity_EventScript_VisitedMossdeep" }, { "type": "trigger", @@ -341,7 +341,7 @@ "elevation": 0, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_EventScript_1E4B38" + "script": "MossdeepCity_EventScript_VisitedMossdeep" }, { "type": "trigger", @@ -350,7 +350,7 @@ "elevation": 0, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_EventScript_1E4B38" + "script": "MossdeepCity_EventScript_VisitedMossdeep" }, { "type": "trigger", @@ -359,7 +359,7 @@ "elevation": 0, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_EventScript_1E4B38" + "script": "MossdeepCity_EventScript_VisitedMossdeep" }, { "type": "trigger", @@ -368,7 +368,7 @@ "elevation": 5, "var": "VAR_MOSSDEEP_CITY_STATE", "var_value": "1", - "script": "MossdeepCity_EventScript_1E4B41" + "script": "MossdeepCity_EventScript_TeamMagmaEnterSpaceCenter" }, { "type": "trigger", @@ -377,7 +377,7 @@ "elevation": 5, "var": "VAR_MOSSDEEP_CITY_STATE", "var_value": "1", - "script": "MossdeepCity_EventScript_1E4B41" + "script": "MossdeepCity_EventScript_TeamMagmaEnterSpaceCenter" }, { "type": "trigger", @@ -386,7 +386,7 @@ "elevation": 5, "var": "VAR_MOSSDEEP_CITY_STATE", "var_value": "1", - "script": "MossdeepCity_EventScript_1E4B41" + "script": "MossdeepCity_EventScript_TeamMagmaEnterSpaceCenter" }, { "type": "trigger", @@ -395,7 +395,7 @@ "elevation": 5, "var": "VAR_MOSSDEEP_CITY_STATE", "var_value": "1", - "script": "MossdeepCity_EventScript_1E4B41" + "script": "MossdeepCity_EventScript_TeamMagmaEnterSpaceCenter" }, { "type": "trigger", @@ -404,7 +404,7 @@ "elevation": 5, "var": "VAR_MOSSDEEP_CITY_STATE", "var_value": "1", - "script": "MossdeepCity_EventScript_1E4B41" + "script": "MossdeepCity_EventScript_TeamMagmaEnterSpaceCenter" }, { "type": "trigger", @@ -413,7 +413,7 @@ "elevation": 5, "var": "VAR_MOSSDEEP_CITY_STATE", "var_value": "1", - "script": "MossdeepCity_EventScript_1E4B41" + "script": "MossdeepCity_EventScript_TeamMagmaEnterSpaceCenter" } ], "bg_events": [ @@ -423,7 +423,7 @@ "y": 16, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MossdeepCity_EventScript_1E4B26" + "script": "MossdeepCity_EventScript_CitySign" }, { "type": "sign", @@ -431,7 +431,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MossdeepCity_EventScript_1E4B1D" + "script": "MossdeepCity_EventScript_GymSign" }, { "type": "sign", @@ -455,7 +455,7 @@ "y": 16, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MossdeepCity_EventScript_1E4B2F" + "script": "MossdeepCity_EventScript_SpaceCenterSign" }, { "type": "sign", @@ -479,7 +479,7 @@ "y": 21, "elevation": 7, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MossdeepCity_EventScript_1E4B14" + "script": "MossdeepCity_EventScript_WhiteRock" } ] } diff --git a/data/maps/MossdeepCity/scripts.inc b/data/maps/MossdeepCity/scripts.inc index 646b1d9087..945a92dfb4 100644 --- a/data/maps/MossdeepCity/scripts.inc +++ b/data/maps/MossdeepCity/scripts.inc @@ -7,86 +7,86 @@ MossdeepCity_OnTransition: @ 81E4A9C clearflag FLAG_MOSSDEEP_GYM_SWITCH_2 clearflag FLAG_MOSSDEEP_GYM_SWITCH_3 clearflag FLAG_MOSSDEEP_GYM_SWITCH_4 - call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 + call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather end -MossdeepCity_EventScript_1E4AB2:: @ 81E4AB2 +MossdeepCity_EventScript_PokefanF:: @ 81E4AB2 lock faceplayer - goto_if_set FLAG_RECEIVED_HM08, MossdeepCity_EventScript_1E4AC7 - msgbox MossdeepCity_Text_1E4E90, MSGBOX_DEFAULT + goto_if_set FLAG_RECEIVED_HM08, MossdeepCity_EventScript_PokefanFMagmaGone + msgbox MossdeepCity_Text_SpaceCenterReceivedLetter, MSGBOX_DEFAULT release end -MossdeepCity_EventScript_1E4AC7:: @ 81E4AC7 - msgbox MossdeepCity_Text_1E4F15, MSGBOX_DEFAULT +MossdeepCity_EventScript_PokefanFMagmaGone:: @ 81E4AC7 + msgbox MossdeepCity_Text_SpaceCenterLaunchingRockets, MSGBOX_DEFAULT release end -MossdeepCity_EventScript_1E4AD1:: @ 81E4AD1 +MossdeepCity_EventScript_Sailor:: @ 81E4AD1 lock faceplayer - goto_if_set FLAG_RECEIVED_HM08, MossdeepCity_EventScript_1E4AE6 - msgbox MossdeepCity_Text_1E4F50, MSGBOX_DEFAULT + goto_if_set FLAG_RECEIVED_HM08, MossdeepCity_EventScript_SailorMagmaGone + msgbox MossdeepCity_Text_MossdeepTargetedByMagma, MSGBOX_DEFAULT release end -MossdeepCity_EventScript_1E4AE6:: @ 81E4AE6 - msgbox MossdeepCity_Text_1E5051, MSGBOX_DEFAULT +MossdeepCity_EventScript_SailorMagmaGone:: @ 81E4AE6 + msgbox MossdeepCity_Text_FeelReliefOnLand, MSGBOX_DEFAULT release end -MossdeepCity_EventScript_1E4AF0:: @ 81E4AF0 - msgbox MossdeepCity_Text_1E4E22, MSGBOX_NPC +MossdeepCity_EventScript_NinjaBoy:: @ 81E4AF0 + msgbox MossdeepCity_Text_WailmerWatching, MSGBOX_NPC end -MossdeepCity_EventScript_1E4AF9:: @ 81E4AF9 - msgbox MossdeepCity_Text_1E5135, MSGBOX_NPC +MossdeepCity_EventScript_ExpertM:: @ 81E4AF9 + msgbox MossdeepCity_Text_LifeNeedsSeaToLive, MSGBOX_NPC end -MossdeepCity_EventScript_1E4B02:: @ 81E4B02 - msgbox MossdeepCity_Text_1E50D9, MSGBOX_NPC +MossdeepCity_EventScript_Girl:: @ 81E4B02 + msgbox MossdeepCity_Text_NiceIfWorldCoveredByFlowers, MSGBOX_NPC end -MossdeepCity_EventScript_1E4B0B:: @ 81E4B0B - msgbox MossdeepCity_Text_1E529D, MSGBOX_NPC +MossdeepCity_EventScript_Woman:: @ 81E4B0B + msgbox MossdeepCity_Text_SpecialSpaceCenterRock, MSGBOX_NPC end -MossdeepCity_EventScript_1E4B14:: @ 81E4B14 - msgbox MossdeepCity_Text_1E5396, MSGBOX_SIGN +MossdeepCity_EventScript_WhiteRock:: @ 81E4B14 + msgbox MossdeepCity_Text_ItsAWhiteRock, MSGBOX_SIGN end -MossdeepCity_EventScript_1E4B1D:: @ 81E4B1D - msgbox MossdeepCity_Text_1E53A9, MSGBOX_SIGN +MossdeepCity_EventScript_GymSign:: @ 81E4B1D + msgbox MossdeepCity_Text_GymSign, MSGBOX_SIGN end -MossdeepCity_EventScript_1E4B26:: @ 81E4B26 - msgbox MossdeepCity_Text_1E53F2, MSGBOX_SIGN +MossdeepCity_EventScript_CitySign:: @ 81E4B26 + msgbox MossdeepCity_Text_CitySign, MSGBOX_SIGN end -MossdeepCity_EventScript_1E4B2F:: @ 81E4B2F - msgbox MossdeepCity_Text_1E541F, MSGBOX_SIGN +MossdeepCity_EventScript_SpaceCenterSign:: @ 81E4B2F + msgbox MossdeepCity_Text_SpaceCenterSign, MSGBOX_SIGN end -MossdeepCity_EventScript_1E4B38:: @ 81E4B38 +MossdeepCity_EventScript_VisitedMossdeep:: @ 81E4B38 setflag FLAG_VISITED_MOSSDEEP_CITY setvar VAR_TEMP_1, 1 end -MossdeepCity_EventScript_1E4B41:: @ 81E4B41 +MossdeepCity_EventScript_TeamMagmaEnterSpaceCenter:: @ 81E4B41 lockall - applymovement 14, MossdeepCity_Movement_1E4BAD + applymovement 14, MossdeepCity_Movement_MaxieGestureToSpaceCenter waitmovement 0 - applymovement 10, MossdeepCity_Movement_1E4BB7 - applymovement 11, MossdeepCity_Movement_1E4BB7 - applymovement 12, MossdeepCity_Movement_1E4BB7 - applymovement 13, MossdeepCity_Movement_1E4BB7 + applymovement 10, MossdeepCity_Movement_GruntFaceSpaceCenter + applymovement 11, MossdeepCity_Movement_GruntFaceSpaceCenter + applymovement 12, MossdeepCity_Movement_GruntFaceSpaceCenter + applymovement 13, MossdeepCity_Movement_GruntFaceSpaceCenter waitmovement 0 - applymovement 14, MossdeepCity_Movement_1E4BBC - applymovement 10, MossdeepCity_Movement_1E4BCA - applymovement 11, MossdeepCity_Movement_1E4BDD - applymovement 12, MossdeepCity_Movement_1E4BEF - applymovement 13, MossdeepCity_Movement_1E4C00 + applymovement 14, MossdeepCity_Movement_MaxieEnterSpaceCenter + applymovement 10, MossdeepCity_Movement_Grunt1EnterSpaceCenter + applymovement 11, MossdeepCity_Movement_Grunt2EnterSpaceCenter + applymovement 12, MossdeepCity_Movement_Grunt3EnterSpaceCenter + applymovement 13, MossdeepCity_Movement_Grunt4EnterSpaceCenter waitmovement 0 removeobject 14 removeobject 10 @@ -99,7 +99,7 @@ MossdeepCity_EventScript_1E4B41:: @ 81E4B41 releaseall end -MossdeepCity_Movement_1E4BAD: @ 81E4BAD +MossdeepCity_Movement_MaxieGestureToSpaceCenter: @ 81E4BAD delay_16 face_right delay_16 @@ -111,14 +111,14 @@ MossdeepCity_Movement_1E4BAD: @ 81E4BAD delay_16 step_end -MossdeepCity_Movement_1E4BB7: @ 81E4BB7 +MossdeepCity_Movement_GruntFaceSpaceCenter: @ 81E4BB7 face_right delay_16 delay_16 delay_16 step_end -MossdeepCity_Movement_1E4BBC: @ 81E4BBC +MossdeepCity_Movement_MaxieEnterSpaceCenter: @ 81E4BBC walk_down walk_right walk_right @@ -134,7 +134,7 @@ MossdeepCity_Movement_1E4BBC: @ 81E4BBC walk_right step_end -MossdeepCity_Movement_1E4BCA: @ 81E4BCA +MossdeepCity_Movement_Grunt1EnterSpaceCenter: @ 81E4BCA delay_16 delay_8 walk_down @@ -155,7 +155,7 @@ MossdeepCity_Movement_1E4BCA: @ 81E4BCA walk_right step_end -MossdeepCity_Movement_1E4BDD: @ 81E4BDD +MossdeepCity_Movement_Grunt2EnterSpaceCenter: @ 81E4BDD delay_16 delay_8 walk_down @@ -175,7 +175,7 @@ MossdeepCity_Movement_1E4BDD: @ 81E4BDD walk_right step_end -MossdeepCity_Movement_1E4BEF: @ 81E4BEF +MossdeepCity_Movement_Grunt3EnterSpaceCenter: @ 81E4BEF delay_16 delay_8 walk_down @@ -194,7 +194,7 @@ MossdeepCity_Movement_1E4BEF: @ 81E4BEF walk_right step_end -MossdeepCity_Movement_1E4C00: @ 81E4C00 +MossdeepCity_Movement_Grunt4EnterSpaceCenter: @ 81E4C00 delay_16 delay_8 walk_right @@ -212,77 +212,77 @@ MossdeepCity_Movement_1E4C00: @ 81E4C00 walk_right step_end -MossdeepCity_EventScript_1E4C10:: @ 81E4C10 +MossdeepCity_EventScript_Man:: @ 81E4C10 lock faceplayer - msgbox MossdeepCity_Text_1E5213, MSGBOX_DEFAULT + msgbox MossdeepCity_Text_SurfExhilarating, MSGBOX_DEFAULT applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -MossdeepCity_EventScript_1E4C26:: @ 81E4C26 +MossdeepCity_EventScript_KingsRockBoy:: @ 81E4C26 lock faceplayer - goto_if_set FLAG_RECEIVED_KINGS_ROCK, MossdeepCity_EventScript_1E4C68 - msgbox MossdeepCity_Text_1E4CED, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_EventScript_1E4C72 - msgbox MossdeepCity_Text_1E4D5B, MSGBOX_DEFAULT - giveitem_std ITEM_KINGS_ROCK - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_KINGS_ROCK, MossdeepCity_EventScript_ReceivedKingsRock + msgbox MossdeepCity_Text_WantKingsRockStevenGaveMe, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MossdeepCity_EventScript_DeclineKingsRock + msgbox MossdeepCity_Text_YouCanKeepIt, MSGBOX_DEFAULT + giveitem ITEM_KINGS_ROCK + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_KINGS_ROCK release end -MossdeepCity_EventScript_1E4C68:: @ 81E4C68 - msgbox MossdeepCity_Text_1E4DB3, MSGBOX_DEFAULT +MossdeepCity_EventScript_ReceivedKingsRock:: @ 81E4C68 + msgbox MossdeepCity_Text_StevensHouseOverThere, MSGBOX_DEFAULT release end -MossdeepCity_EventScript_1E4C72:: @ 81E4C72 - msgbox MossdeepCity_Text_1E4DD7, MSGBOX_DEFAULT +MossdeepCity_EventScript_DeclineKingsRock:: @ 81E4C72 + msgbox MossdeepCity_Text_WhatToDoWithWeirdRock, MSGBOX_DEFAULT release end -MossdeepCity_EventScript_1E4C7C:: @ 81E4C7C - msgbox MossdeepCity_Text_1E5581, MSGBOX_NPC +MossdeepCity_EventScript_BlackBelt:: @ 81E4C7C + msgbox MossdeepCity_Text_SootopolisNewGymLeader, MSGBOX_NPC end -MossdeepCity_EventScript_1E4C85:: @ 81E4C85 +MossdeepCity_EventScript_Scott:: @ 81E4C85 lock faceplayer - msgbox MossdeepCity_Text_1E5453, MSGBOX_DEFAULT + msgbox MossdeepCity_Text_ScottSomethingWrongWithTown, MSGBOX_DEFAULT closemessage - compare VAR_FACING, 2 - call_if_eq MossdeepCity_EventScript_1E4CB0 - compare VAR_FACING, 4 - call_if_eq MossdeepCity_EventScript_1E4CC2 + compare VAR_FACING, DIR_NORTH + call_if_eq MossdeepCity_EventScript_ScottExitNorth + compare VAR_FACING, DIR_EAST + call_if_eq MossdeepCity_EventScript_ScottExitEast addvar VAR_SCOTT_STATE, 1 removeobject 16 release end -MossdeepCity_EventScript_1E4CB0:: @ 81E4CB0 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Movement_1E4CD4 - applymovement 16, MossdeepCity_Movement_1E4CD8 +MossdeepCity_EventScript_ScottExitNorth:: @ 81E4CB0 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Movement_PlayerWatchScottExit + applymovement 16, MossdeepCity_Movement_ScottExitNorth waitmovement 0 return -MossdeepCity_EventScript_1E4CC2:: @ 81E4CC2 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Movement_1E4CD4 - applymovement 16, MossdeepCity_Movement_1E4CE2 +MossdeepCity_EventScript_ScottExitEast:: @ 81E4CC2 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Movement_PlayerWatchScottExit + applymovement 16, MossdeepCity_Movement_ScottExitEast waitmovement 0 return -MossdeepCity_Movement_1E4CD4: @ 81E4CD4 +MossdeepCity_Movement_PlayerWatchScottExit: @ 81E4CD4 delay_16 delay_16 walk_in_place_fastest_left step_end -MossdeepCity_Movement_1E4CD8: @ 81E4CD8 +MossdeepCity_Movement_ScottExitNorth: @ 81E4CD8 walk_left walk_left walk_left @@ -294,7 +294,7 @@ MossdeepCity_Movement_1E4CD8: @ 81E4CD8 walk_left step_end -MossdeepCity_Movement_1E4CE2: @ 81E4CE2 +MossdeepCity_Movement_ScottExitEast: @ 81E4CE2 walk_down walk_left walk_left @@ -307,26 +307,26 @@ MossdeepCity_Movement_1E4CE2: @ 81E4CE2 walk_left step_end -MossdeepCity_Text_1E4CED: @ 81E4CED +MossdeepCity_Text_WantKingsRockStevenGaveMe: @ 81E4CED .string "I got this from STEVEN, but I don't\n" .string "know what it's good for.\p" .string "I think it's called KING'S ROCK.\n" .string "Do you want it?$" -MossdeepCity_Text_1E4D5B: @ 81E4D5B +MossdeepCity_Text_YouCanKeepIt: @ 81E4D5B .string "Why would you want it?\n" .string "You're weird.\p" .string "You can keep it, but keep it a secret\n" .string "from STEVEN.$" -MossdeepCity_Text_1E4DB3: @ 81E4DB3 +MossdeepCity_Text_StevensHouseOverThere: @ 81E4DB3 .string "STEVEN's house is right over there!$" -MossdeepCity_Text_1E4DD7: @ 81E4DD7 +MossdeepCity_Text_WhatToDoWithWeirdRock: @ 81E4DD7 .string "Yeah, you think so, too! What are you\n" .string "supposed to do with some weird rock?$" -MossdeepCity_Text_1E4E22: @ 81E4E22 +MossdeepCity_Text_WailmerWatching: @ 81E4E22 .string "Around MOSSDEEP, you can see wild\n" .string "WAILMER.\p" .string "It's called, uh…\n" @@ -334,17 +334,17 @@ MossdeepCity_Text_1E4E22: @ 81E4E22 .string "WAI, WAI, WAI…\p" .string "WAILMER watching!$" -MossdeepCity_Text_1E4E90: @ 81E4E90 +MossdeepCity_Text_SpaceCenterReceivedLetter: @ 81E4E90 .string "The island's SPACE CENTER has been\n" .string "launching huge rockets.\p" .string "There's been some kind of an uproar\n" .string "over a letter they received recently.$" -MossdeepCity_Text_1E4F15: @ 81E4F15 +MossdeepCity_Text_SpaceCenterLaunchingRockets: @ 81E4F15 .string "The island's SPACE CENTER has been\n" .string "launching huge rockets.$" -MossdeepCity_Text_1E4F50: @ 81E4F50 +MossdeepCity_Text_MossdeepTargetedByMagma: @ 81E4F50 .string "I heard from a SAILOR buddy that\n" .string "TEAM AQUA set up shop in LILYCOVE.\p" .string "I also heard that someone came along\n" @@ -354,18 +354,18 @@ MossdeepCity_Text_1E4F50: @ 81E4F50 .string "If you want to know what they're up to,\n" .string "go visit the SPACE CENTER.$" -MossdeepCity_Text_1E5051: @ 81E5051 +MossdeepCity_Text_FeelReliefOnLand: @ 81E5051 .string "I'm a SAILOR, so the sea's obviously\n" .string "more important to me.\p" .string "But you know? When I get back on land\n" .string "after a long voyage, I do feel relief!$" -MossdeepCity_Text_1E50D9: @ 81E50D9 +MossdeepCity_Text_NiceIfWorldCoveredByFlowers: @ 81E50D9 .string "Wouldn't it be nice?\p" .string "If the whole world was covered in\n" .string "plants and flowers like this island?$" -MossdeepCity_Text_1E5135: @ 81E5135 +MossdeepCity_Text_LifeNeedsSeaToLive: @ 81E5135 .string "All life needs the sea to live, even\n" .string "though it makes its home on the land.\p" .string "Life, having run its course, becomes\n" @@ -374,14 +374,14 @@ MossdeepCity_Text_1E5135: @ 81E5135 .string "the land.\p" .string "Yes, like the very shoreline here.$" -MossdeepCity_Text_1E5213: @ 81E5213 +MossdeepCity_Text_SurfExhilarating: @ 81E5213 .string "A voyage on a ship is fine.\p" .string "But crossing the sea with POKéMON\n" .string "using SURF…\p" .string "Now that's an exhilarating trip!\n" .string "Wouldn't you agree, youngster?$" -MossdeepCity_Text_1E529D: @ 81E529D +MossdeepCity_Text_SpecialSpaceCenterRock: @ 81E529D .string "This rock has a special meaning to\n" .string "the people at the SPACE CENTER.\p" .string "They put it here as their wish for\n" @@ -391,23 +391,23 @@ MossdeepCity_Text_1E529D: @ 81E529D .string "I use a wish tag to make it happen.\n" .string "That's what I do.$" -MossdeepCity_Text_1E5396: @ 81E5396 +MossdeepCity_Text_ItsAWhiteRock: @ 81E5396 .string "It's a white rock.$" -MossdeepCity_Text_1E53A9: @ 81E53A9 +MossdeepCity_Text_GymSign: @ 81E53A9 .string "MOSSDEEP CITY POKéMON GYM\n" .string "LEADERS: LIZA & TATE\p" .string "“The mystic combination!”$" -MossdeepCity_Text_1E53F2: @ 81E53F2 +MossdeepCity_Text_CitySign: @ 81E53F2 .string "MOSSDEEP CITY\n" .string "“Our slogan: Cherish POKéMON!”$" -MossdeepCity_Text_1E541F: @ 81E541F +MossdeepCity_Text_SpaceCenterSign: @ 81E541F .string "MOSSDEEP SPACE CENTER\n" .string "“The closest place to space.”$" -MossdeepCity_Text_1E5453: @ 81E5453 +MossdeepCity_Text_ScottSomethingWrongWithTown: @ 81E5453 .string "SCOTT: {PLAYER}{KUN}, feeling good?\n" .string "I'm doing great!\p" .string "I'd heard MOSSDEEP's GYM LEADER is\n" @@ -420,7 +420,7 @@ MossdeepCity_Text_1E5453: @ 81E5453 .string "I don't think it concerns me in any\n" .string "way, though.$" -MossdeepCity_Text_1E5581: @ 81E5581 +MossdeepCity_Text_SootopolisNewGymLeader: @ 81E5581 .string "Ahh… It feels great letting the waves\n" .string "wash over my feet…\p" .string "Speaking of the waves, you know that\n" diff --git a/data/maps/MossdeepCity_GameCorner_1F/map.json b/data/maps/MossdeepCity_GameCorner_1F/map.json index 8ea28a4742..3e64c45fda 100644 --- a/data/maps/MossdeepCity_GameCorner_1F/map.json +++ b/data/maps/MossdeepCity_GameCorner_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_GameCorner_1F_EventScript_224B54", + "script": "MossdeepCity_GameCorner_1F_EventScript_OldMan", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_GameCorner_1F_EventScript_224B4B", + "script": "MossdeepCity_GameCorner_1F_EventScript_InfoMan", "flag": "0" } ], @@ -72,7 +72,7 @@ "y": 0, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MossdeepCity_GameCorner_1F_EventScript_224B5D" + "script": "RS_MysteryEventsHouse_EventScript_Door" }, { "type": "sign", @@ -80,7 +80,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MossdeepCity_GameCorner_1F_EventScript_277E9D" + "script": "MossdeepCity_GameCorner_1F_EventScript_DodrioBerryPickingRecords" }, { "type": "sign", @@ -88,7 +88,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MossdeepCity_GameCorner_1F_EventScript_277E96" + "script": "MossdeepCity_GameCorner_1F_EventScript_PokemonJumpRecords" } ] -} \ No newline at end of file +} diff --git a/data/maps/MossdeepCity_GameCorner_1F/scripts.inc b/data/maps/MossdeepCity_GameCorner_1F/scripts.inc index db9a1f8548..95b08256e8 100644 --- a/data/maps/MossdeepCity_GameCorner_1F/scripts.inc +++ b/data/maps/MossdeepCity_GameCorner_1F/scripts.inc @@ -1,80 +1,87 @@ MossdeepCity_GameCorner_1F_MapScripts:: @ 8224B27 - map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_GameCorner_1F_MapScript2_224B41 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, MossdeepCity_GameCorner_1F_MapScript2_224B37 - map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_GameCorner_1F_MapScript1_276BBE + map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_GameCorner_1F_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, MossdeepCity_GameCorner_1F_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad .byte 0 -MossdeepCity_GameCorner_1F_MapScript2_224B37: @ 8224B37 - map_script_2 VAR_CABLE_CLUB_STATE, 8, MossdeepCity_GameCorner_1F_EventScript_276BAE +MossdeepCity_GameCorner_1F_OnWarp: @ 8224B37 + map_script_2 VAR_CABLE_CLUB_STATE, USING_MINIGAME, CableClub_EventScript_CheckTurnAttendant .2byte 0 -MossdeepCity_GameCorner_1F_MapScript2_224B41: @ 8224B41 - map_script_2 VAR_CABLE_CLUB_STATE, 8, MossdeepCity_GameCorner_1F_EventScript_276C9D +MossdeepCity_GameCorner_1F_OnFrame: @ 8224B41 + map_script_2 VAR_CABLE_CLUB_STATE, USING_MINIGAME, CableClub_EventScript_ExitMinigameRoom .2byte 0 -MossdeepCity_GameCorner_1F_EventScript_224B4B:: @ 8224B4B +@ Script is redundant, the label in the goto also does lock and faceplayer +MossdeepCity_GameCorner_1F_EventScript_InfoMan:: @ 8224B4B lock faceplayer - goto MossdeepCity_GameCorner_1F_EventScript_277C34 + goto MossdeepCity_GameCorner_1F_EventScript_InfoMan2 release end -MossdeepCity_GameCorner_1F_EventScript_224B54:: @ 8224B54 +@ Script is redundant, the label in the goto also does lock and faceplayer +MossdeepCity_GameCorner_1F_EventScript_OldMan:: @ 8224B54 lock faceplayer - goto MossdeepCity_GameCorner_1F_EventScript_277C91 + goto MossdeepCity_GameCorner_1F_EventScript_OldMan2 release end -MossdeepCity_GameCorner_1F_EventScript_224B5D:: @ 8224B5D - msgbox MossdeepCity_GameCorner_1F_Text_224BFD, MSGBOX_SIGN + +@ Everything below is leftover from RS +@ The house that was here in RS was moved to Sootopolis and replaced by the Game Corner +@ The text below is unused and duplicated in its replacement in Sootopolis City +@ And the BG Door event was moved inaccessibly into a wall + +RS_MysteryEventsHouse_EventScript_Door:: @ 8224B5D + msgbox RS_MysteryEventsHouse_Text_DoorIsLocked, MSGBOX_SIGN end -MossdeepCity_GameCorner_1F_Text_224B66: @ 8224B66 +RS_MysteryEventsHouse_Text_OldManGreeting: @ 8224B66 .string "When I was young, I traveled the world\n" .string "as a POKéMON TRAINER.\p" .string "Now that I've become an old buzzard,\n" .string "my only amusement is watching young\l" .string "TRAINERS battle.$" -MossdeepCity_GameCorner_1F_Text_224BFD: @ 8224BFD +RS_MysteryEventsHouse_Text_DoorIsLocked: @ 8224BFD .string "The door appears to be locked.$" -MossdeepCity_GameCorner_1F_Text_224C1C: @ 8224C1C +RS_MysteryEventsHouse_Text_ChallengeVisitingTrainer: @ 8224C1C .string "A TRAINER named {STR_VAR_1} is\n" .string "visiting my home.\p" .string "Would you like to challenge\n" .string "{STR_VAR_1}?$" -MossdeepCity_GameCorner_1F_Text_224C64: @ 8224C64 +RS_MysteryEventsHouse_Text_YouWontBattle: @ 8224C64 .string "You won't battle? I'm disappointed\n" .string "that I can't see you battle…$" -MossdeepCity_GameCorner_1F_Text_224CA4: @ 8224CA4 +RS_MysteryEventsHouse_Text_KeepItToA3On3: @ 8224CA4 .string "Oh, good, good!\p" .string "But my house isn't all that sturdy.\p" .string "Could I ask you to keep it down to\n" .string "a 3-on-3 match?$" -MossdeepCity_GameCorner_1F_Text_224D0B: @ 8224D0B +RS_MysteryEventsHouse_Text_SaveYourProgress: @ 8224D0B .string "Before you two battle, you should\n" .string "save your progress.$" -MossdeepCity_GameCorner_1F_Text_224D41: @ 8224D41 +RS_MysteryEventsHouse_Text_HopeToSeeAGoodMatch: @ 8224D41 .string "I hope to see a good match!$" -MossdeepCity_GameCorner_1F_Text_224D5D: @ 8224D5D +RS_MysteryEventsHouse_Text_BattleTie: @ 8224D5D .string "So, it became a standoff.\p" .string "It was a brilliant match in which\n" .string "neither side conceded a step!$" -MossdeepCity_GameCorner_1F_Text_224DB7: @ 8224DB7 +RS_MysteryEventsHouse_Text_BattleWon: @ 8224DB7 .string "That was superlative!\p" .string "Why, it was like seeing myself in\n" .string "my youth again!$" -MossdeepCity_GameCorner_1F_Text_224DFF: @ 8224DFF +RS_MysteryEventsHouse_Text_BattleLost: @ 8224DFF .string "Ah, too bad for you!\p" .string "But it was a good match.\n" .string "I hope you can win next time.$" - diff --git a/data/maps/MossdeepCity_Gym/map.json b/data/maps/MossdeepCity_Gym/map.json index 2d86ad9a8e..33bd1d4349 100644 --- a/data/maps/MossdeepCity_Gym/map.json +++ b/data/maps/MossdeepCity_Gym/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_Gym_EventScript_220898", + "script": "MossdeepCity_Gym_EventScript_TateAndLiza", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220AFD", + "script": "MossdeepCity_Gym_EventScript_Preston", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220B2B", + "script": "MossdeepCity_Gym_EventScript_Blake", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220B70", + "script": "MossdeepCity_Gym_EventScript_Maura", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220B59", + "script": "MossdeepCity_Gym_EventScript_Samantha", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220B14", + "script": "MossdeepCity_Gym_EventScript_Virgil", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220B42", + "script": "MossdeepCity_Gym_EventScript_Hannah", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_Gym_EventScript_220C11", + "script": "MossdeepCity_Gym_EventScript_GymGuide", "flag": "0" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_Gym_EventScript_220898", + "script": "MossdeepCity_Gym_EventScript_TateAndLiza", "flag": "0" }, { @@ -232,7 +232,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220B9E", + "script": "MossdeepCity_Gym_EventScript_Nate", "flag": "0" }, { @@ -245,7 +245,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220B87", + "script": "MossdeepCity_Gym_EventScript_Sylvia", "flag": "0" }, { @@ -336,7 +336,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220BCC", + "script": "MossdeepCity_Gym_EventScript_Clifford", "flag": "0" }, { @@ -362,7 +362,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220BB5", + "script": "MossdeepCity_Gym_EventScript_Macey", "flag": "0" }, { @@ -375,7 +375,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220BFA", + "script": "MossdeepCity_Gym_EventScript_Kathleen", "flag": "0" }, { @@ -427,7 +427,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MossdeepCity_Gym_EventScript_220BE3", + "script": "MossdeepCity_Gym_EventScript_Nicholas", "flag": "0" }, { @@ -591,7 +591,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220C67" + "script": "MossdeepCity_Gym_EventScript_YellowFloorSwitch" }, { "type": "trigger", @@ -600,7 +600,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220C7D" + "script": "MossdeepCity_Gym_EventScript_BlueFloorSwitch" }, { "type": "trigger", @@ -609,7 +609,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220C7D" + "script": "MossdeepCity_Gym_EventScript_BlueFloorSwitch" }, { "type": "trigger", @@ -618,7 +618,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220C93" + "script": "MossdeepCity_Gym_EventScript_GreenFloorSwitch" }, { "type": "trigger", @@ -627,7 +627,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220CA9" + "script": "MossdeepCity_Gym_EventScript_PurpleFloorSwitch" }, { "type": "trigger", @@ -636,7 +636,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220CA9" + "script": "MossdeepCity_Gym_EventScript_PurpleFloorSwitch" }, { "type": "trigger", @@ -645,7 +645,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220CBF" + "script": "MossdeepCity_Gym_EventScript_RedFloorSwitch" }, { "type": "trigger", @@ -654,7 +654,7 @@ "elevation": 0, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220AF1" + "script": "MossdeepCity_Gym_EventScript_WarpToEntrance" }, { "type": "trigger", @@ -663,7 +663,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "MossdeepCity_Gym_EventScript_220C67" + "script": "MossdeepCity_Gym_EventScript_YellowFloorSwitch" } ], "bg_events": [ @@ -673,7 +673,7 @@ "y": 34, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "MossdeepCity_Gym_EventScript_220C33" + "script": "MossdeepCity_Gym_EventScript_LeftGymStatue" }, { "type": "sign", @@ -681,7 +681,7 @@ "y": 34, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "MossdeepCity_Gym_EventScript_220C43" + "script": "MossdeepCity_Gym_EventScript_RightGymStatue" } ] } \ No newline at end of file diff --git a/data/maps/MossdeepCity_Gym/scripts.inc b/data/maps/MossdeepCity_Gym/scripts.inc index 3779fa8d25..ab6677ff5f 100644 --- a/data/maps/MossdeepCity_Gym/scripts.inc +++ b/data/maps/MossdeepCity_Gym/scripts.inc @@ -1,71 +1,75 @@ MossdeepCity_Gym_MapScripts:: @ 8220800 - map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_Gym_MapScript1_220806 + map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_Gym_OnLoad .byte 0 -MossdeepCity_Gym_MapScript1_220806: @ 8220806 - goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_22083D - goto MossdeepCity_Gym_EventScript_220815 +@ NOTE: Mossdeep Gym was redesigned between R/S and E. Leftover (and now functionally unused) scripts are commented below + +@ All the below checks are leftover from RS. FLAG_MOSSDEEP_GYM_SWITCH_X is never set +MossdeepCity_Gym_OnLoad: @ 8220806 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_SetSwitch1Metatiles + goto MossdeepCity_Gym_EventScript_CheckSwitch2 end -MossdeepCity_Gym_EventScript_220815:: @ 8220815 - goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_220855 - goto MossdeepCity_Gym_EventScript_220824 +MossdeepCity_Gym_EventScript_CheckSwitch2:: @ 8220815 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_SetSwitch2Metatiles + goto MossdeepCity_Gym_EventScript_CheckSwitch3 end -MossdeepCity_Gym_EventScript_220824:: @ 8220824 - goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_22086D - goto MossdeepCity_Gym_EventScript_220833 +MossdeepCity_Gym_EventScript_CheckSwitch3:: @ 8220824 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_SetSwitch3Metatiles + goto MossdeepCity_Gym_EventScript_CheckSwitch4 end -MossdeepCity_Gym_EventScript_220833:: @ 8220833 - goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_220885 +MossdeepCity_Gym_EventScript_CheckSwitch4:: @ 8220833 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_SetSwitch4Metatiles end -MossdeepCity_Gym_EventScript_22083D:: @ 822083D - setmetatile 5, 5, METATILE_MossdeepGym_Obelisk_Top, 0 - setmetatile 2, 7, METATILE_MossdeepGym_Empty1, 1 - goto MossdeepCity_Gym_EventScript_220815 +@ All the below set metatile scripts are leftover from RS and are functionally unused +MossdeepCity_Gym_EventScript_SetSwitch1Metatiles:: @ 822083D + setmetatile 5, 5, METATILE_RS_MossdeepGym_RedArrow_Right, 0 + setmetatile 2, 7, METATILE_RS_MossdeepGym_Switch_Down, 1 + goto MossdeepCity_Gym_EventScript_CheckSwitch2 end -MossdeepCity_Gym_EventScript_220855:: @ 8220855 - setmetatile 8, 14, METATILE_MossdeepGym_Obelisk_Top, 0 - setmetatile 8, 10, METATILE_MossdeepGym_Empty1, 1 - goto MossdeepCity_Gym_EventScript_220824 +MossdeepCity_Gym_EventScript_SetSwitch2Metatiles:: @ 8220855 + setmetatile 8, 14, METATILE_RS_MossdeepGym_RedArrow_Right, 0 + setmetatile 8, 10, METATILE_RS_MossdeepGym_Switch_Down, 1 + goto MossdeepCity_Gym_EventScript_CheckSwitch3 end -MossdeepCity_Gym_EventScript_22086D:: @ 822086D - setmetatile 15, 17, METATILE_MossdeepGym_Obelisk_Base, 0 - setmetatile 17, 15, METATILE_MossdeepGym_Empty1, 1 - goto MossdeepCity_Gym_EventScript_220833 +MossdeepCity_Gym_EventScript_SetSwitch3Metatiles:: @ 822086D + setmetatile 15, 17, METATILE_RS_MossdeepGym_RedArrow_Left, 0 + setmetatile 17, 15, METATILE_RS_MossdeepGym_Switch_Down, 1 + goto MossdeepCity_Gym_EventScript_CheckSwitch4 end -MossdeepCity_Gym_EventScript_220885:: @ 8220885 - setmetatile 1, 23, METATILE_MossdeepGym_Wall_LeftCorner, 0 - setmetatile 5, 24, METATILE_MossdeepGym_Empty1, 1 +MossdeepCity_Gym_EventScript_SetSwitch4Metatiles:: @ 8220885 + setmetatile 1, 23, METATILE_RS_MossdeepGym_RedArrow_Up, 0 + setmetatile 5, 24, METATILE_RS_MossdeepGym_Switch_Down, 1 end -MossdeepCity_Gym_EventScript_220898:: @ 8220898 - trainerbattle_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_221783, MossdeepCity_Gym_Text_2218EC, MossdeepCity_Gym_Text_221BCE, MossdeepCity_Gym_EventScript_2208D1, NO_MUSIC +MossdeepCity_Gym_EventScript_TateAndLiza:: @ 8220898 + trainerbattle_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_TateAndLizaIntro, MossdeepCity_Gym_Text_TateAndLizaDefeat, MossdeepCity_Gym_Text_TateAndLizaNeedTwoMons, MossdeepCity_Gym_EventScript_TateAndLizaDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq MossdeepCity_Gym_EventScript_22097E - goto_if_unset FLAG_RECEIVED_TM04, MossdeepCity_Gym_EventScript_220937 - msgbox MossdeepCity_Gym_Text_221B1D, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq MossdeepCity_Gym_EventScript_TateAndLizaRematch + goto_if_unset FLAG_RECEIVED_TM04, MossdeepCity_Gym_EventScript_GiveCalmMind2 + msgbox MossdeepCity_Gym_Text_TateAndLizaPostBattle, MSGBOX_DEFAULT release end -MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1 - message MossdeepCity_Gym_Text_22196A +MossdeepCity_Gym_EventScript_TateAndLizaDefeated:: @ 82208D1 + message MossdeepCity_Gym_Text_ReceivedMindBadge waitmessage call Common_EventScript_PlayGymBadgeFanfare - msgbox MossdeepCity_Gym_Text_221999, MSGBOX_DEFAULT + msgbox MossdeepCity_Gym_Text_ExplainMindBadgeTakeThis, MSGBOX_DEFAULT setflag FLAG_DEFEATED_MOSSDEEP_GYM setflag FLAG_BADGE07_GET setflag FLAG_HIDE_AQUA_HIDEOUT_GRUNTS clearflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY clearflag FLAG_UNKNOWN_0x393 setvar VAR_0x8008, 7 - call MossdeepCity_Gym_EventScript_271F43 + call Common_EventScript_SetGymTrainers clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS clearflag FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA clearflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA @@ -73,12 +77,12 @@ MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1 clearflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN setvar VAR_MOSSDEEP_CITY_STATE, 1 setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_STEVEN - setvar VAR_MOSSDEEP_SPACE_CENTER_STATE_2, 1 - call MossdeepCity_Gym_EventScript_22095B + setvar VAR_MOSSDEEP_SPACE_CENTER_STATE, 1 + call MossdeepCity_Gym_EventScript_GiveCalmMind closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox MossdeepCity_Gym_Text_221AEA, MSGBOX_DEFAULT + msgbox MossdeepCity_Gym_Text_RegisteredTateAndLiza, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -86,282 +90,284 @@ MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1 release end -MossdeepCity_Gym_EventScript_220937:: @ 8220937 - giveitem_std ITEM_TM04 +MossdeepCity_Gym_EventScript_GiveCalmMind2:: @ 8220937 + giveitem ITEM_TM04 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull - msgbox MossdeepCity_Gym_Text_221A40, MSGBOX_DEFAULT + msgbox MossdeepCity_Gym_Text_ExplainCalmMind, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM04 release end -MossdeepCity_Gym_EventScript_22095B:: @ 822095B - giveitem_std ITEM_TM04 +MossdeepCity_Gym_EventScript_GiveCalmMind:: @ 822095B + giveitem ITEM_TM04 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_BagIsFull - msgbox MossdeepCity_Gym_Text_221A40, MSGBOX_DEFAULT + msgbox MossdeepCity_Gym_Text_ExplainCalmMind, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM04 return -MossdeepCity_Gym_EventScript_22097E:: @ 822097E - trainerbattle_rematch_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_221D0B, MossdeepCity_Gym_Text_221E05, MossdeepCity_Gym_Text_221EB8 - msgbox MossdeepCity_Gym_Text_221E45, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_TateAndLizaRematch:: @ 822097E + trainerbattle_rematch_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_TateAndLizaPreRematch, MossdeepCity_Gym_Text_TateAndLizaRematchDefeat, MossdeepCity_Gym_Text_TateAndLizaRematchNeedTwoMons + msgbox MossdeepCity_Gym_Text_TateAndLizaPostRematch, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220999:: @ 8220999 +@ All the below switch scripts are leftover from RS and are functionally unused +MossdeepCity_Gym_EventScript_Switch1:: @ 8220999 lockall - goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_2209D0 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_ClearSwitch1 setflag FLAG_MOSSDEEP_GYM_SWITCH_1 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 - setmetatile 5, 5, METATILE_MossdeepGym_Obelisk_Top, 0 - setmetatile 2, 7, METATILE_MossdeepGym_Empty1, 1 - goto MossdeepCity_Gym_EventScript_2209C8 + setmetatile 5, 5, METATILE_RS_MossdeepGym_RedArrow_Right, 0 + setmetatile 2, 7, METATILE_RS_MossdeepGym_Switch_Down, 1 + goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed end -MossdeepCity_Gym_EventScript_2209C8:: @ 82209C8 +MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed:: @ 82209C8 special DrawWholeMapView playse SE_TK_KASYA releaseall end -MossdeepCity_Gym_EventScript_2209D0:: @ 82209D0 +MossdeepCity_Gym_EventScript_ClearSwitch1:: @ 82209D0 clearflag FLAG_MOSSDEEP_GYM_SWITCH_1 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 - setmetatile 5, 5, METATILE_MossdeepGym_Obelisk_Base, 0 - setmetatile 2, 7, METATILE_MossdeepGym_Empty0, 1 - goto MossdeepCity_Gym_EventScript_2209C8 + setmetatile 5, 5, METATILE_RS_MossdeepGym_RedArrow_Left, 0 + setmetatile 2, 7, METATILE_RS_MossdeepGym_Switch_Up, 1 + goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed end -MossdeepCity_Gym_EventScript_2209F5:: @ 82209F5 +MossdeepCity_Gym_EventScript_Switch2:: @ 82209F5 lockall - goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_220A24 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_ClearSwitch2 setflag FLAG_MOSSDEEP_GYM_SWITCH_2 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 - setmetatile 8, 14, METATILE_MossdeepGym_Obelisk_Top, 0 - setmetatile 8, 10, METATILE_MossdeepGym_Empty1, 1 - goto MossdeepCity_Gym_EventScript_2209C8 + setmetatile 8, 14, METATILE_RS_MossdeepGym_RedArrow_Right, 0 + setmetatile 8, 10, METATILE_RS_MossdeepGym_Switch_Down, 1 + goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed end -MossdeepCity_Gym_EventScript_220A24:: @ 8220A24 +MossdeepCity_Gym_EventScript_ClearSwitch2:: @ 8220A24 clearflag FLAG_MOSSDEEP_GYM_SWITCH_2 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 - setmetatile 8, 14, METATILE_MossdeepGym_OuterWall_RightCorner, 0 - setmetatile 8, 10, METATILE_MossdeepGym_Empty0, 1 - goto MossdeepCity_Gym_EventScript_2209C8 + setmetatile 8, 14, METATILE_RS_MossdeepGym_RedArrow_Down, 0 + setmetatile 8, 10, METATILE_RS_MossdeepGym_Switch_Up, 1 + goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed end -MossdeepCity_Gym_EventScript_220A49:: @ 8220A49 +MossdeepCity_Gym_EventScript_Switch3:: @ 8220A49 lockall - goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_220A78 + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_ClearSwitch3 setflag FLAG_MOSSDEEP_GYM_SWITCH_3 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 - setmetatile 15, 17, METATILE_MossdeepGym_Obelisk_Base, 0 - setmetatile 17, 15, METATILE_MossdeepGym_Empty1, 1 - goto MossdeepCity_Gym_EventScript_2209C8 + setmetatile 15, 17, METATILE_RS_MossdeepGym_RedArrow_Left, 0 + setmetatile 17, 15, METATILE_RS_MossdeepGym_Switch_Down, 1 + goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed end -MossdeepCity_Gym_EventScript_220A78:: @ 8220A78 +MossdeepCity_Gym_EventScript_ClearSwitch3:: @ 8220A78 clearflag FLAG_MOSSDEEP_GYM_SWITCH_3 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 - setmetatile 15, 17, METATILE_MossdeepGym_Obelisk_Top, 0 - setmetatile 17, 15, METATILE_MossdeepGym_Empty0, 1 - goto MossdeepCity_Gym_EventScript_2209C8 + setmetatile 15, 17, METATILE_RS_MossdeepGym_RedArrow_Right, 0 + setmetatile 17, 15, METATILE_RS_MossdeepGym_Switch_Up, 1 + goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed end -MossdeepCity_Gym_EventScript_220A9D:: @ 8220A9D +MossdeepCity_Gym_EventScript_Switch4:: @ 8220A9D lockall - goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_220ACC + goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_ClearSwitch4 setflag FLAG_MOSSDEEP_GYM_SWITCH_4 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 - setmetatile 1, 23, METATILE_MossdeepGym_Wall_LeftCorner, 0 - setmetatile 5, 24, METATILE_MossdeepGym_Empty1, 1 - goto MossdeepCity_Gym_EventScript_2209C8 + setmetatile 1, 23, METATILE_RS_MossdeepGym_RedArrow_Up, 0 + setmetatile 5, 24, METATILE_RS_MossdeepGym_Switch_Down, 1 + goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed end -MossdeepCity_Gym_EventScript_220ACC:: @ 8220ACC +MossdeepCity_Gym_EventScript_ClearSwitch4:: @ 8220ACC clearflag FLAG_MOSSDEEP_GYM_SWITCH_4 - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 - setmetatile 1, 23, METATILE_MossdeepGym_Obelisk_Top, 0 - setmetatile 5, 24, METATILE_MossdeepGym_Empty0, 1 - goto MossdeepCity_Gym_EventScript_2209C8 + setmetatile 1, 23, METATILE_RS_MossdeepGym_RedArrow_Right, 0 + setmetatile 5, 24, METATILE_RS_MossdeepGym_Switch_Up, 1 + goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed end -MossdeepCity_Gym_EventScript_220AF1:: @ 8220AF1 +MossdeepCity_Gym_EventScript_WarpToEntrance:: @ 8220AF1 lockall - warp7 MAP_MOSSDEEP_CITY_GYM, 255, 7, 30 + warpmossdeepgym MAP_MOSSDEEP_CITY_GYM, 255, 7, 30 waitstate releaseall end -MossdeepCity_Gym_EventScript_220AFD:: @ 8220AFD - trainerbattle_single TRAINER_PRESTON, MossdeepCity_Gym_Text_220E5C, MossdeepCity_Gym_Text_220EAC - msgbox MossdeepCity_Gym_Text_220ED3, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Preston:: @ 8220AFD + trainerbattle_single TRAINER_PRESTON, MossdeepCity_Gym_Text_PrestonIntro, MossdeepCity_Gym_Text_PrestonDefeat + msgbox MossdeepCity_Gym_Text_PrestonPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220B14:: @ 8220B14 - trainerbattle_single TRAINER_VIRGIL, MossdeepCity_Gym_Text_220F02, MossdeepCity_Gym_Text_220F1A - msgbox MossdeepCity_Gym_Text_220F3A, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Virgil:: @ 8220B14 + trainerbattle_single TRAINER_VIRGIL, MossdeepCity_Gym_Text_VirgilIntro, MossdeepCity_Gym_Text_VirgilDefeat + msgbox MossdeepCity_Gym_Text_VirgilPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220B2B:: @ 8220B2B - trainerbattle_single TRAINER_BLAKE, MossdeepCity_Gym_Text_220FB0, MossdeepCity_Gym_Text_221024 - msgbox MossdeepCity_Gym_Text_221055, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Blake:: @ 8220B2B + trainerbattle_single TRAINER_BLAKE, MossdeepCity_Gym_Text_BlakeIntro, MossdeepCity_Gym_Text_BlakeDefeat + msgbox MossdeepCity_Gym_Text_BlakePostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220B42:: @ 8220B42 - trainerbattle_single TRAINER_HANNAH, MossdeepCity_Gym_Text_2210EE, MossdeepCity_Gym_Text_221152 - msgbox MossdeepCity_Gym_Text_22116A, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Hannah:: @ 8220B42 + trainerbattle_single TRAINER_HANNAH, MossdeepCity_Gym_Text_HannahIntro, MossdeepCity_Gym_Text_HannahDefeat + msgbox MossdeepCity_Gym_Text_HannahPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220B59:: @ 8220B59 - trainerbattle_single TRAINER_SAMANTHA, MossdeepCity_Gym_Text_2211E2, MossdeepCity_Gym_Text_221230 - msgbox MossdeepCity_Gym_Text_22123D, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Samantha:: @ 8220B59 + trainerbattle_single TRAINER_SAMANTHA, MossdeepCity_Gym_Text_SamanthaIntro, MossdeepCity_Gym_Text_SamanthaDefeat + msgbox MossdeepCity_Gym_Text_SamanthaPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220B70:: @ 8220B70 - trainerbattle_single TRAINER_MAURA, MossdeepCity_Gym_Text_2212A6, MossdeepCity_Gym_Text_221309 - msgbox MossdeepCity_Gym_Text_22132E, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Maura:: @ 8220B70 + trainerbattle_single TRAINER_MAURA, MossdeepCity_Gym_Text_MauraIntro, MossdeepCity_Gym_Text_MauraDefeat + msgbox MossdeepCity_Gym_Text_MauraPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220B87:: @ 8220B87 - trainerbattle_single TRAINER_SYLVIA, MossdeepCity_Gym_Text_2213C2, MossdeepCity_Gym_Text_2213F4 - msgbox MossdeepCity_Gym_Text_221412, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Sylvia:: @ 8220B87 + trainerbattle_single TRAINER_SYLVIA, MossdeepCity_Gym_Text_SylviaIntro, MossdeepCity_Gym_Text_SylviaDefeat + msgbox MossdeepCity_Gym_Text_SylviaPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220B9E:: @ 8220B9E - trainerbattle_single TRAINER_NATE, MossdeepCity_Gym_Text_221460, MossdeepCity_Gym_Text_2214A7 - msgbox MossdeepCity_Gym_Text_2214D3, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Nate:: @ 8220B9E + trainerbattle_single TRAINER_NATE, MossdeepCity_Gym_Text_NateIntro, MossdeepCity_Gym_Text_NateDefeat + msgbox MossdeepCity_Gym_Text_NatePostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220BB5:: @ 8220BB5 - trainerbattle_single TRAINER_MACEY, MossdeepCity_Gym_Text_22161B, MossdeepCity_Gym_Text_221658 - msgbox MossdeepCity_Gym_Text_221680, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Macey:: @ 8220BB5 + trainerbattle_single TRAINER_MACEY, MossdeepCity_Gym_Text_MaceyIntro, MossdeepCity_Gym_Text_MaceyDefeat + msgbox MossdeepCity_Gym_Text_MaceyPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220BCC:: @ 8220BCC - trainerbattle_single TRAINER_CLIFFORD, MossdeepCity_Gym_Text_22157C, MossdeepCity_Gym_Text_2215B8 - msgbox MossdeepCity_Gym_Text_2215E2, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Clifford:: @ 8220BCC + trainerbattle_single TRAINER_CLIFFORD, MossdeepCity_Gym_Text_CliffordIntro, MossdeepCity_Gym_Text_CliffordDefeat + msgbox MossdeepCity_Gym_Text_CliffordPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220BE3:: @ 8220BE3 - trainerbattle_single TRAINER_NICHOLAS, MossdeepCity_Gym_Text_2216EE, MossdeepCity_Gym_Text_22172D - msgbox MossdeepCity_Gym_Text_22173A, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Nicholas:: @ 8220BE3 + trainerbattle_single TRAINER_NICHOLAS, MossdeepCity_Gym_Text_NicholasIntro, MossdeepCity_Gym_Text_NicholasDefeat + msgbox MossdeepCity_Gym_Text_NicholasPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220BFA:: @ 8220BFA - trainerbattle_single TRAINER_KATHLEEN, MossdeepCity_Gym_Text_221507, MossdeepCity_Gym_Text_22153B - msgbox MossdeepCity_Gym_Text_221545, MSGBOX_AUTOCLOSE +MossdeepCity_Gym_EventScript_Kathleen:: @ 8220BFA + trainerbattle_single TRAINER_KATHLEEN, MossdeepCity_Gym_Text_KathleenIntro, MossdeepCity_Gym_Text_KathleenDefeat + msgbox MossdeepCity_Gym_Text_KathleenPostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_Gym_EventScript_220C11:: @ 8220C11 +MossdeepCity_Gym_EventScript_GymGuide:: @ 8220C11 lock faceplayer - goto_if_set FLAG_DEFEATED_MOSSDEEP_GYM, MossdeepCity_Gym_EventScript_220C26 - msgbox MossdeepCity_Gym_Text_220CD5, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_MOSSDEEP_GYM, MossdeepCity_Gym_EventScript_GymGuidePostVictory + msgbox MossdeepCity_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT release end -MossdeepCity_Gym_EventScript_220C26:: @ 8220C26 - msgbox MossdeepCity_Gym_Text_220E2A, MSGBOX_DEFAULT +MossdeepCity_Gym_EventScript_GymGuidePostVictory:: @ 8220C26 + msgbox MossdeepCity_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT release end -MossdeepCity_Gym_Movement_220C30: @ 8220C30 +@ Leftover from RS, functionally unused +MossdeepCity_Gym_Movement_WaitAfterSwitchUse: @ 8220C30 delay_16 delay_16 step_end -MossdeepCity_Gym_EventScript_220C33:: @ 8220C33 +MossdeepCity_Gym_EventScript_LeftGymStatue:: @ 8220C33 lockall - goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_220C53 - goto MossdeepCity_Gym_EventScript_220C5D + goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_GymStatueCertified + goto MossdeepCity_Gym_EventScript_GymStatue end -MossdeepCity_Gym_EventScript_220C43:: @ 8220C43 +MossdeepCity_Gym_EventScript_RightGymStatue:: @ 8220C43 lockall - goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_220C53 - goto MossdeepCity_Gym_EventScript_220C5D + goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_GymStatueCertified + goto MossdeepCity_Gym_EventScript_GymStatue end -MossdeepCity_Gym_EventScript_220C53:: @ 8220C53 - msgbox MossdeepCity_Gym_Text_221CCA, MSGBOX_DEFAULT +MossdeepCity_Gym_EventScript_GymStatueCertified:: @ 8220C53 + msgbox MossdeepCity_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT releaseall end -MossdeepCity_Gym_EventScript_220C5D:: @ 8220C5D - msgbox MossdeepCity_Gym_Text_221CB0, MSGBOX_DEFAULT +MossdeepCity_Gym_EventScript_GymStatue:: @ 8220C5D + msgbox MossdeepCity_Gym_Text_GymStatue, MSGBOX_DEFAULT releaseall end -MossdeepCity_Gym_EventScript_220C67:: @ 8220C67 +MossdeepCity_Gym_EventScript_YellowFloorSwitch:: @ 8220C67 playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 0 - mossdeepgym1 0 + initrotatingtilepuzzle FALSE + moverotatingtileobjects 0 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end -MossdeepCity_Gym_EventScript_220C7D:: @ 8220C7D +MossdeepCity_Gym_EventScript_BlueFloorSwitch:: @ 8220C7D playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 0 - mossdeepgym1 1 + initrotatingtilepuzzle FALSE + moverotatingtileobjects 1 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end -MossdeepCity_Gym_EventScript_220C93:: @ 8220C93 +MossdeepCity_Gym_EventScript_GreenFloorSwitch:: @ 8220C93 playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 0 - mossdeepgym1 2 + initrotatingtilepuzzle FALSE + moverotatingtileobjects 2 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end -MossdeepCity_Gym_EventScript_220CA9:: @ 8220CA9 +MossdeepCity_Gym_EventScript_PurpleFloorSwitch:: @ 8220CA9 playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 0 - mossdeepgym1 3 + initrotatingtilepuzzle FALSE + moverotatingtileobjects 3 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end -MossdeepCity_Gym_EventScript_220CBF:: @ 8220CBF +MossdeepCity_Gym_EventScript_RedFloorSwitch:: @ 8220CBF playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 0 - mossdeepgym1 4 + initrotatingtilepuzzle FALSE + moverotatingtileobjects 4 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end -MossdeepCity_Gym_Text_220CD5: @ 8220CD5 +MossdeepCity_Gym_Text_GymGuideAdvice: @ 8220CD5 .string "Yo, how's it going, CHAMPION-bound\n" .string "{PLAYER}?\p" .string "The GYM LEADERS here use\n" @@ -375,46 +381,46 @@ MossdeepCity_Gym_Text_220CD5: @ 8220CD5 .string "them how tight you are with your\l" .string "POKéMON. Go for it!$" -MossdeepCity_Gym_Text_220E2A: @ 8220E2A +MossdeepCity_Gym_Text_GymGuidePostVictory: @ 8220E2A .string "Wow, you're astounding!\n" .string "You're one great TRAINER!$" -MossdeepCity_Gym_Text_220E5C: @ 8220E5C +MossdeepCity_Gym_Text_PrestonIntro: @ 8220E5C .string "Battles hinge on the strength of your\n" .string "spirit! The weak-spirited will never win!$" -MossdeepCity_Gym_Text_220EAC: @ 8220EAC +MossdeepCity_Gym_Text_PrestonDefeat: @ 8220EAC .string "I lost!\n" .string "I must temper my spirit again!$" -MossdeepCity_Gym_Text_220ED3: @ 8220ED3 +MossdeepCity_Gym_Text_PrestonPostBattle: @ 8220ED3 .string "The indecisive lose.\n" .string "That's my warning to you.$" -MossdeepCity_Gym_Text_220F02: @ 8220F02 +MossdeepCity_Gym_Text_VirgilIntro: @ 8220F02 .string "Let me see your talent!$" -MossdeepCity_Gym_Text_220F1A: @ 8220F1A +MossdeepCity_Gym_Text_VirgilDefeat: @ 8220F1A .string "You possess spectacular talent!$" -MossdeepCity_Gym_Text_220F3A: @ 8220F3A +MossdeepCity_Gym_Text_VirgilPostBattle: @ 8220F3A .string "If there are prodigies in the world,\n" .string "then our GYM LEADERS are them!\p" .string "However, you may be even more talented\n" .string "than them…$" -MossdeepCity_Gym_Text_220FB0: @ 8220FB0 +MossdeepCity_Gym_Text_BlakeIntro: @ 8220FB0 .string "Fufufufu… Watch me levitate a POKé\n" .string "BALL telekinetically!\p" .string "Wrooooooooaaaar!\n" .string "… … … … … … …\p" .string "Sometimes, I'm out of sync…$" -MossdeepCity_Gym_Text_221024: @ 8221024 +MossdeepCity_Gym_Text_BlakeDefeat: @ 8221024 .string "My POKéMON battling skills are out\n" .string "of sync, too!$" -MossdeepCity_Gym_Text_221055: @ 8221055 +MossdeepCity_Gym_Text_BlakePostBattle: @ 8221055 .string "A POKé BALL was too heavy to lift\n" .string "psychically. But this dust bunny…\p" .string "Whoooooooooooooooh!\n" @@ -422,127 +428,127 @@ MossdeepCity_Gym_Text_221055: @ 8221055 .string "No, I'm not cheating!\n" .string "I didn't blow on it! Honestly!$" -MossdeepCity_Gym_Text_2210EE: @ 82210EE +MossdeepCity_Gym_Text_HannahIntro: @ 82210EE .string "When you lose to me, don't be too hard\n" .string "on yourself.\p" .string "It's not that you're weak--I'm just\n" .string "too strong!$" -MossdeepCity_Gym_Text_221152: @ 8221152 +MossdeepCity_Gym_Text_HannahDefeat: @ 8221152 .string "You're just too strong!$" -MossdeepCity_Gym_Text_22116A: @ 822116A +MossdeepCity_Gym_Text_HannahPostBattle: @ 822116A .string "I'm not going to get down on myself for\n" .string "losing. I just need to train harder.\p" .string "Positive thinking--that's my strong\n" .string "point!$" -MossdeepCity_Gym_Text_2211E2: @ 82211E2 +MossdeepCity_Gym_Text_SamanthaIntro: @ 82211E2 .string "I see it…\n" .string "I see your future…\p" .string "If you can beat me, I will tell you\n" .string "your future!$" -MossdeepCity_Gym_Text_221230: @ 8221230 +MossdeepCity_Gym_Text_SamanthaDefeat: @ 8221230 .string "I surrender!$" -MossdeepCity_Gym_Text_22123D: @ 822123D +MossdeepCity_Gym_Text_SamanthaPostBattle: @ 822123D .string "You will wage a terrifically intense\n" .string "battle with our GYM LEADERS…\p" .string "The result…\n" .string "You won't hear it from me!$" -MossdeepCity_Gym_Text_2212A6: @ 82212A6 +MossdeepCity_Gym_Text_MauraIntro: @ 82212A6 .string "The roads you have traveled…\n" .string "What you have experienced…\p" .string "Come at me with everything you've\n" .string "learned!$" -MossdeepCity_Gym_Text_221309: @ 8221309 +MossdeepCity_Gym_Text_MauraDefeat: @ 8221309 .string "You've traveled a path of greatness!$" -MossdeepCity_Gym_Text_22132E: @ 822132E +MossdeepCity_Gym_Text_MauraPostBattle: @ 822132E .string "A bright future awaits those who have\n" .string "worked diligently.\p" .string "For those who lazed idly, there is\n" .string "only despair at the end.\p" .string "What goes around comes around…$" -MossdeepCity_Gym_Text_2213C2: @ 82213C2 +MossdeepCity_Gym_Text_SylviaIntro: @ 82213C2 .string "Even at the risk of life, I will win\n" .string "this battle!$" -MossdeepCity_Gym_Text_2213F4: @ 82213F4 +MossdeepCity_Gym_Text_SylviaDefeat: @ 82213F4 .string "What you do…\n" .string "It horrifies me…$" -MossdeepCity_Gym_Text_221412: @ 8221412 +MossdeepCity_Gym_Text_SylviaPostBattle: @ 8221412 .string "How dare you beat me…\p" .string "It won't be my fault if something\n" .string "horrible befalls you…$" -MossdeepCity_Gym_Text_221460: @ 8221460 +MossdeepCity_Gym_Text_NateIntro: @ 8221460 .string "Hohoho.\p" .string "You need me to show you how tenacious\n" .string "the PSYCHIC type can be.$" -MossdeepCity_Gym_Text_2214A7: @ 82214A7 +MossdeepCity_Gym_Text_NateDefeat: @ 82214A7 .string "Oh! My, my!\n" .string "Your battle style is fantastic!$" -MossdeepCity_Gym_Text_2214D3: @ 82214D3 +MossdeepCity_Gym_Text_NatePostBattle: @ 82214D3 .string "I… I don't let defeat rattle m-me,\n" .string "however b-badly.$" -MossdeepCity_Gym_Text_221507: @ 8221507 +MossdeepCity_Gym_Text_KathleenIntro: @ 8221507 .string "Let me show you a perfectly awful,\n" .string "horrifying time!$" -MossdeepCity_Gym_Text_22153B: @ 822153B +MossdeepCity_Gym_Text_KathleenDefeat: @ 822153B .string "N-nooooo!$" -MossdeepCity_Gym_Text_221545: @ 8221545 +MossdeepCity_Gym_Text_KathleenPostBattle: @ 8221545 .string "Your vitality is contagious!\n" .string "Get away from me quickly!$" -MossdeepCity_Gym_Text_22157C: @ 822157C +MossdeepCity_Gym_Text_CliffordIntro: @ 822157C .string "I may be past my prime, but I suggest\n" .string "you not patronize me.$" -MossdeepCity_Gym_Text_2215B8: @ 82215B8 +MossdeepCity_Gym_Text_CliffordDefeat: @ 82215B8 .string "Ah, you overflow with the power\n" .string "of youth!$" -MossdeepCity_Gym_Text_2215E2: @ 82215E2 +MossdeepCity_Gym_Text_CliffordPostBattle: @ 82215E2 .string "It seems that I could not overcome\n" .string "your youthful energy.$" -MossdeepCity_Gym_Text_22161B: @ 822161B +MossdeepCity_Gym_Text_MaceyIntro: @ 822161B .string "You're not getting through to the end!\n" .string "Not if I can help it!$" -MossdeepCity_Gym_Text_221658: @ 8221658 +MossdeepCity_Gym_Text_MaceyDefeat: @ 8221658 .string "How could you be so ludicrously\n" .string "strong?$" -MossdeepCity_Gym_Text_221680: @ 8221680 +MossdeepCity_Gym_Text_MaceyPostBattle: @ 8221680 .string "Humph! You may be strong, but you're\n" .string "not suitable for the PSYCHIC type!\p" .string "The way you battle is somehow brutal!$" -MossdeepCity_Gym_Text_2216EE: @ 82216EE +MossdeepCity_Gym_Text_NicholasIntro: @ 82216EE .string "Wroooar! Have a taste of my super\n" .string "POKéMON hard-battling power!$" -MossdeepCity_Gym_Text_22172D: @ 822172D +MossdeepCity_Gym_Text_NicholasDefeat: @ 822172D .string "Oh!\n" .string "Done in!$" -MossdeepCity_Gym_Text_22173A: @ 822173A +MossdeepCity_Gym_Text_NicholasPostBattle: @ 822173A .string "All right! I think I'll develop a special\n" .string "invincible POKéMON power next.$" -MossdeepCity_Gym_Text_221783: @ 8221783 +MossdeepCity_Gym_Text_TateAndLizaIntro: @ 8221783 .string "TATE: Hehehe… Were you surprised?\p" .string "LIZA: Fufufu… Were you surprised?\p" .string "TATE: That there are two GYM LEADERS?\n" @@ -556,24 +562,24 @@ MossdeepCity_Gym_Text_221783: @ 8221783 .string "TATE: This combination of ours…\n" .string "LIZA: Can you beat it?$" -MossdeepCity_Gym_Text_2218EC: @ 82218EC +MossdeepCity_Gym_Text_TateAndLizaDefeat: @ 82218EC .string "TATE: What?! Our combination…\n" .string "LIZA: Was shattered!\p" .string "TATE: It can't be helped. You've won…\n" .string "LIZA: So, in recognition, take this.$" -MossdeepCity_Gym_Text_22196A: @ 822196A +MossdeepCity_Gym_Text_ReceivedMindBadge: @ 822196A .string "{PLAYER} received the MIND BADGE\n" .string "from TATE and LIZA.$" -MossdeepCity_Gym_Text_221999: @ 8221999 +MossdeepCity_Gym_Text_ExplainMindBadgeTakeThis: @ 8221999 .string "TATE: The MIND BADGE enhances the\n" .string "SP. ATK and SP. DEF of POKéMON.\p" .string "LIZA: It also lets you use the HM move\n" .string "DIVE outside of battle.\p" .string "TATE: You should also take this, too.$" -MossdeepCity_Gym_Text_221A40: @ 8221A40 +MossdeepCity_Gym_Text_ExplainCalmMind: @ 8221A40 .string "TATE: That TM04 contains…\n" .string "LIZA: CALM MIND!\p" .string "TATE: It raises SP. ATK and…\n" @@ -582,18 +588,18 @@ MossdeepCity_Gym_Text_221A40: @ 8221A40 .string "LIZA: For PSYCHIC POKéMON!\p" .string "… … … … … …$" -MossdeepCity_Gym_Text_221AEA: @ 8221AEA +MossdeepCity_Gym_Text_RegisteredTateAndLiza: @ 8221AEA .string "Registered GYM LEADERS TATE & LIZA\n" .string "in the POKéNAV.$" -MossdeepCity_Gym_Text_221B1D: @ 8221B1D +MossdeepCity_Gym_Text_TateAndLizaPostBattle: @ 8221B1D .string "TATE: Looks like the bond between you\n" .string "and your POKéMON is far stronger than\l" .string "the bond that we share as twins.\p" .string "LIZA: You will become even stronger!\n" .string "We've battled you, so we know.$" -MossdeepCity_Gym_Text_221BCE: @ 8221BCE +MossdeepCity_Gym_Text_TateAndLizaNeedTwoMons: @ 8221BCE .string "TATE: Hehehe… Were you surprised?\p" .string "LIZA: That there are two GYM LEADERS?\p" .string "TATE: Oops, you have only one…\n" @@ -602,15 +608,15 @@ MossdeepCity_Gym_Text_221BCE: @ 8221BCE .string "LIZA: If you want to challenge us,\n" .string "bring some more POKéMON.$" -MossdeepCity_Gym_Text_221CB0: @ 8221CB0 +MossdeepCity_Gym_Text_GymStatue: @ 8221CB0 .string "MOSSDEEP CITY POKéMON GYM$" -MossdeepCity_Gym_Text_221CCA: @ 8221CCA +MossdeepCity_Gym_Text_GymStatueCertified: @ 8221CCA .string "MOSSDEEP CITY POKéMON GYM\p" .string "LIZA AND TATE'S CERTIFIED TRAINERS:\n" .string "{PLAYER}$" -MossdeepCity_Gym_Text_221D0B: @ 8221D0B +MossdeepCity_Gym_Text_TateAndLizaPreRematch: @ 8221D0B .string "TATE: POKéMON…\n" .string "LIZA: POKéMON…\p" .string "TATE: By changing the party's mix…\n" @@ -622,17 +628,17 @@ MossdeepCity_Gym_Text_221D0B: @ 8221D0B .string "TATE: Our combination…\n" .string "LIZA: We'll show you again and again!$" -MossdeepCity_Gym_Text_221E05: @ 8221E05 +MossdeepCity_Gym_Text_TateAndLizaRematchDefeat: @ 8221E05 .string "TATE: You and your POKéMON…\n" .string "LIZA: It's as if you were siblings!$" -MossdeepCity_Gym_Text_221E45: @ 8221E45 +MossdeepCity_Gym_Text_TateAndLizaPostRematch: @ 8221E45 .string "TATE: You can knock us down,\n" .string "but we'll never stay down!\p" .string "LIZA: Because the two of us,\n" .string "we always support each other!$" -MossdeepCity_Gym_Text_221EB8: @ 8221EB8 +MossdeepCity_Gym_Text_TateAndLizaRematchNeedTwoMons: @ 8221EB8 .string "TATE: You're back again…\n" .string "LIZA: You're back again…\p" .string "TATE: To give us a rematch.\n" diff --git a/data/maps/MossdeepCity_House1/map.json b/data/maps/MossdeepCity_House1/map.json index def086288f..6b57ca6eff 100644 --- a/data/maps/MossdeepCity_House1/map.json +++ b/data/maps/MossdeepCity_House1/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_House1_EventScript_221FD6", + "script": "MossdeepCity_House1_EventScript_BlackBelt", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_House1_EventScript_222006", + "script": "MossdeepCity_House1_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/MossdeepCity_House1/scripts.inc b/data/maps/MossdeepCity_House1/scripts.inc index 60d612fb22..3ad07e0233 100644 --- a/data/maps/MossdeepCity_House1/scripts.inc +++ b/data/maps/MossdeepCity_House1/scripts.inc @@ -1,42 +1,42 @@ MossdeepCity_House1_MapScripts:: @ 8221FD5 .byte 0 -MossdeepCity_House1_EventScript_221FD6:: @ 8221FD6 +MossdeepCity_House1_EventScript_BlackBelt:: @ 8221FD6 lock faceplayer bufferleadmonspeciesname 0 - msgbox MossdeepCity_House1_Text_22200F, MSGBOX_DEFAULT + msgbox MossdeepCity_House1_Text_HmmYourPokemon, MSGBOX_DEFAULT specialvar VAR_RESULT, GetPokeblockNameByMonNature compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_House1_EventScript_221FFC - msgbox MossdeepCity_House1_Text_22201D, MSGBOX_DEFAULT + goto_if_eq MossdeepCity_House1_EventScript_NeutralNature + msgbox MossdeepCity_House1_Text_ItLikesXPokeblocks, MSGBOX_DEFAULT release end -MossdeepCity_House1_EventScript_221FFC:: @ 8221FFC - msgbox MossdeepCity_House1_Text_222068, MSGBOX_DEFAULT +MossdeepCity_House1_EventScript_NeutralNature:: @ 8221FFC + msgbox MossdeepCity_House1_Text_DoesntLikeOrDislikePokeblocks, MSGBOX_DEFAULT release end -MossdeepCity_House1_EventScript_222006:: @ 8222006 - msgbox MossdeepCity_House1_Text_222099, MSGBOX_NPC +MossdeepCity_House1_EventScript_Woman:: @ 8222006 + msgbox MossdeepCity_House1_Text_HusbandCanTellPokeblockMonLikes, MSGBOX_NPC end -MossdeepCity_House1_Text_22200F: @ 822200F +MossdeepCity_House1_Text_HmmYourPokemon: @ 822200F .string "Hmm!\n" .string "Your {STR_VAR_1}…$" -MossdeepCity_House1_Text_22201D: @ 822201D +MossdeepCity_House1_Text_ItLikesXPokeblocks: @ 822201D .string "It likes {STR_VAR_1}S,\n" .string "doesn't it?\p" .string "No, I'm positive of it! It definitely\n" .string "likes {STR_VAR_1}S!$" -MossdeepCity_House1_Text_222068: @ 8222068 +MossdeepCity_House1_Text_DoesntLikeOrDislikePokeblocks: @ 8222068 .string "It doesn't appear to like or dislike\n" .string "any {POKEBLOCK}S.$" -MossdeepCity_House1_Text_222099: @ 8222099 +MossdeepCity_House1_Text_HusbandCanTellPokeblockMonLikes: @ 8222099 .string "My husband can tell what kind of\n" .string "{POKEBLOCK}S a POKéMON likes at a glance.$" diff --git a/data/maps/MossdeepCity_House2/map.json b/data/maps/MossdeepCity_House2/map.json index e63a1aee66..967fc0a55b 100644 --- a/data/maps/MossdeepCity_House2/map.json +++ b/data/maps/MossdeepCity_House2/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_House2_EventScript_2220DF", + "script": "MossdeepCity_House2_EventScript_Man", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_House2_EventScript_2220E8", + "script": "MossdeepCity_House2_EventScript_Twin", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_House2_EventScript_2220F1", + "script": "MossdeepCity_House2_EventScript_Wingull", "flag": "FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL" } ], diff --git a/data/maps/MossdeepCity_House2/scripts.inc b/data/maps/MossdeepCity_House2/scripts.inc index 2151b26260..8f77aede2e 100644 --- a/data/maps/MossdeepCity_House2/scripts.inc +++ b/data/maps/MossdeepCity_House2/scripts.inc @@ -1,43 +1,43 @@ MossdeepCity_House2_MapScripts:: @ 82220DE .byte 0 -MossdeepCity_House2_EventScript_2220DF:: @ 82220DF - msgbox MossdeepCity_House2_Text_222146, MSGBOX_NPC +MossdeepCity_House2_EventScript_Man:: @ 82220DF + msgbox MossdeepCity_House2_Text_SisterMailsBoyfriendInFortree, MSGBOX_NPC end -MossdeepCity_House2_EventScript_2220E8:: @ 82220E8 - msgbox MossdeepCity_House2_Text_2221A6, MSGBOX_NPC +MossdeepCity_House2_EventScript_Twin:: @ 82220E8 + msgbox MossdeepCity_House2_Text_PokemonCarriesMailBackAndForth, MSGBOX_NPC end -MossdeepCity_House2_EventScript_2220F1:: @ 82220F1 +MossdeepCity_House2_EventScript_Wingull:: @ 82220F1 lock faceplayer waitse playmoncry SPECIES_WINGULL, 0 - msgbox MossdeepCity_House2_Text_22222E, MSGBOX_DEFAULT + msgbox MossdeepCity_House2_Text_Wingull, MSGBOX_DEFAULT waitmoncry closemessage setflag FLAG_WINGULL_DELIVERED_MAIL clearflag FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL - compare VAR_FACING, 2 - call_if_eq MossdeepCity_House2_EventScript_222124 - compare VAR_FACING, 3 - call_if_eq MossdeepCity_House2_EventScript_22212F + compare VAR_FACING, DIR_NORTH + call_if_eq MossdeepCity_House2_EventScript_WingullExitNorth + compare VAR_FACING, DIR_WEST + call_if_eq MossdeepCity_House2_EventScript_WingullExitWest removeobject 3 release end -MossdeepCity_House2_EventScript_222124:: @ 8222124 - applymovement 3, MossdeepCity_House2_Movement_22213A +MossdeepCity_House2_EventScript_WingullExitNorth:: @ 8222124 + applymovement 3, MossdeepCity_House2_Movement_WingullExitNorth waitmovement 0 return -MossdeepCity_House2_EventScript_22212F:: @ 822212F - applymovement 3, MossdeepCity_House2_Movement_222141 +MossdeepCity_House2_EventScript_WingullExitWest:: @ 822212F + applymovement 3, MossdeepCity_House2_Movement_WingullExitEast waitmovement 0 return -MossdeepCity_House2_Movement_22213A: @ 822213A +MossdeepCity_House2_Movement_WingullExitNorth: @ 822213A walk_fast_right walk_fast_down walk_fast_down @@ -46,25 +46,25 @@ MossdeepCity_House2_Movement_22213A: @ 822213A delay_8 step_end -MossdeepCity_House2_Movement_222141: @ 8222141 +MossdeepCity_House2_Movement_WingullExitEast: @ 8222141 walk_fast_down walk_fast_down walk_fast_down delay_8 step_end -MossdeepCity_House2_Text_222146: @ 8222146 +MossdeepCity_House2_Text_SisterMailsBoyfriendInFortree: @ 8222146 .string "My little sister exchanges MAIL with\n" .string "her boyfriend in FORTREE.\p" .string "I don't envy her one bit at all.$" -MossdeepCity_House2_Text_2221A6: @ 82221A6 +MossdeepCity_House2_Text_PokemonCarriesMailBackAndForth: @ 82221A6 .string "Even though I can't see my friend in\n" .string "FORTREE, my POKéMON carries MAIL\l" .string "back and forth for us.\p" .string "I'm not lonesome, even though we're\n" .string "apart.$" -MossdeepCity_House2_Text_22222E: @ 822222E +MossdeepCity_House2_Text_Wingull: @ 822222E .string "WINGULL: Pihyoh!$" diff --git a/data/maps/MossdeepCity_House3/map.json b/data/maps/MossdeepCity_House3/map.json index 237a315ff2..b2d7cb4045 100644 --- a/data/maps/MossdeepCity_House3/map.json +++ b/data/maps/MossdeepCity_House3/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_House3_EventScript_2225C3", + "script": "MossdeepCity_House3_EventScript_SuperRodFisherman", "flag": "0" } ], diff --git a/data/maps/MossdeepCity_House3/scripts.inc b/data/maps/MossdeepCity_House3/scripts.inc index 257b7cc827..b968dfc045 100644 --- a/data/maps/MossdeepCity_House3/scripts.inc +++ b/data/maps/MossdeepCity_House3/scripts.inc @@ -1,31 +1,31 @@ MossdeepCity_House3_MapScripts:: @ 82225C2 .byte 0 -MossdeepCity_House3_EventScript_2225C3:: @ 82225C3 +MossdeepCity_House3_EventScript_SuperRodFisherman:: @ 82225C3 lock faceplayer - goto_if_set FLAG_RECEIVED_SUPER_ROD, MossdeepCity_House3_EventScript_222602 - msgbox MossdeepCity_House3_Text_222616, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_House3_EventScript_22260C - msgbox MossdeepCity_House3_Text_2226B6, MSGBOX_DEFAULT - giveitem_std ITEM_SUPER_ROD + goto_if_set FLAG_RECEIVED_SUPER_ROD, MossdeepCity_House3_EventScript_ReceivedSuperRod + msgbox MossdeepCity_House3_Text_YouWantSuperRod, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MossdeepCity_House3_EventScript_DeclineSuperRod + msgbox MossdeepCity_House3_Text_SuperRodIsSuper, MSGBOX_DEFAULT + giveitem ITEM_SUPER_ROD setflag FLAG_RECEIVED_SUPER_ROD - msgbox MossdeepCity_House3_Text_2226F0, MSGBOX_DEFAULT + msgbox MossdeepCity_House3_Text_TryDroppingRodInWater, MSGBOX_DEFAULT release end -MossdeepCity_House3_EventScript_222602:: @ 8222602 - msgbox MossdeepCity_House3_Text_222751, MSGBOX_DEFAULT +MossdeepCity_House3_EventScript_ReceivedSuperRod:: @ 8222602 + msgbox MossdeepCity_House3_Text_GoAfterSeafloorPokemon, MSGBOX_DEFAULT release end -MossdeepCity_House3_EventScript_22260C:: @ 822260C - msgbox MossdeepCity_House3_Text_222733, MSGBOX_DEFAULT +MossdeepCity_House3_EventScript_DeclineSuperRod:: @ 822260C + msgbox MossdeepCity_House3_Text_DontYouLikeToFish, MSGBOX_DEFAULT release end -MossdeepCity_House3_Text_222616: @ 8222616 +MossdeepCity_House3_Text_YouWantSuperRod: @ 8222616 .string "Hey there, TRAINER!\n" .string "A SUPER ROD really is super!\p" .string "Say all you want, but this baby can\n" @@ -33,19 +33,19 @@ MossdeepCity_House3_Text_222616: @ 8222616 .string "What do you think?\n" .string "You want it, don't you?$" -MossdeepCity_House3_Text_2226B6: @ 82226B6 +MossdeepCity_House3_Text_SuperRodIsSuper: @ 82226B6 .string "You bet, you bet!\n" .string "After all, a SUPER ROD is really super!$" -MossdeepCity_House3_Text_2226F0: @ 82226F0 +MossdeepCity_House3_Text_TryDroppingRodInWater: @ 82226F0 .string "If there's any water, try dropping in\n" .string "your ROD and see what bites!$" -MossdeepCity_House3_Text_222733: @ 8222733 +MossdeepCity_House3_Text_DontYouLikeToFish: @ 8222733 .string "Hunh?\n" .string "Don't you like to fish?$" -MossdeepCity_House3_Text_222751: @ 8222751 +MossdeepCity_House3_Text_GoAfterSeafloorPokemon: @ 8222751 .string "Go after the seafloor POKéMON with\n" .string "your SUPER ROD.$" diff --git a/data/maps/MossdeepCity_House4/map.json b/data/maps/MossdeepCity_House4/map.json index 2d1b333355..7166674a32 100644 --- a/data/maps/MossdeepCity_House4/map.json +++ b/data/maps/MossdeepCity_House4/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_House4_EventScript_222DD8", + "script": "MossdeepCity_House4_EventScript_Woman", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_House4_EventScript_222DF7", + "script": "MossdeepCity_House4_EventScript_NinjaBoy", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_House4_EventScript_222E1E", + "script": "MossdeepCity_House4_EventScript_Skitty", "flag": "0" } ], diff --git a/data/maps/MossdeepCity_House4/scripts.inc b/data/maps/MossdeepCity_House4/scripts.inc index 4505b1f03f..473c1cfbde 100644 --- a/data/maps/MossdeepCity_House4/scripts.inc +++ b/data/maps/MossdeepCity_House4/scripts.inc @@ -1,62 +1,62 @@ MossdeepCity_House4_MapScripts:: @ 8222DD7 .byte 0 -MossdeepCity_House4_EventScript_222DD8:: @ 8222DD8 +MossdeepCity_House4_EventScript_Woman:: @ 8222DD8 lock faceplayer - goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_House4_EventScript_222DED - msgbox MossdeepCity_House4_Text_222E31, MSGBOX_DEFAULT + goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_House4_EventScript_CanBattleAtSecretBases + msgbox MossdeepCity_House4_Text_BrotherLikesToFindBases, MSGBOX_DEFAULT release end -MossdeepCity_House4_EventScript_222DED:: @ 8222DED - msgbox MossdeepCity_House4_Text_222E73, MSGBOX_DEFAULT +MossdeepCity_House4_EventScript_CanBattleAtSecretBases:: @ 8222DED + msgbox MossdeepCity_House4_Text_BrotherLikesToVisitBasesAndBattle, MSGBOX_DEFAULT release end -MossdeepCity_House4_EventScript_222DF7:: @ 8222DF7 +MossdeepCity_House4_EventScript_NinjaBoy:: @ 8222DF7 lock faceplayer special CheckPlayerHasSecretBase - compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_House4_EventScript_222E14 + compare VAR_RESULT, FALSE + goto_if_eq MossdeepCity_House4_EventScript_NoSecretBase special GetSecretBaseNearbyMapName - msgbox MossdeepCity_House4_Text_222ECC, MSGBOX_DEFAULT + msgbox MossdeepCity_House4_Text_YouMadeSecretBaseNearX, MSGBOX_DEFAULT release end -MossdeepCity_House4_EventScript_222E14:: @ 8222E14 - msgbox MossdeepCity_House4_Text_222EF7, MSGBOX_DEFAULT +MossdeepCity_House4_EventScript_NoSecretBase:: @ 8222E14 + msgbox MossdeepCity_House4_Text_MakeSecretBase, MSGBOX_DEFAULT release end -MossdeepCity_House4_EventScript_222E1E:: @ 8222E1E +MossdeepCity_House4_EventScript_Skitty:: @ 8222E1E lock faceplayer waitse playmoncry SPECIES_SKITTY, 0 - msgbox MossdeepCity_House4_Text_222F31, MSGBOX_DEFAULT + msgbox MossdeepCity_House4_Text_Skitty, MSGBOX_DEFAULT waitmoncry release end -MossdeepCity_House4_Text_222E31: @ 8222E31 +MossdeepCity_House4_Text_BrotherLikesToFindBases: @ 8222E31 .string "My little brother says he likes to go\n" .string "find people's SECRET BASES.$" -MossdeepCity_House4_Text_222E73: @ 8222E73 +MossdeepCity_House4_Text_BrotherLikesToVisitBasesAndBattle: @ 8222E73 .string "My little brother says he likes to\n" .string "visit people's SECRET BASES and have\l" .string "POKéMON battles.$" -MossdeepCity_House4_Text_222ECC: @ 8222ECC +MossdeepCity_House4_Text_YouMadeSecretBaseNearX: @ 8222ECC .string "Was it you who made a SECRET BASE\n" .string "near {STR_VAR_1}?$" -MossdeepCity_House4_Text_222EF7: @ 8222EF7 +MossdeepCity_House4_Text_MakeSecretBase: @ 8222EF7 .string "You should make a SECRET BASE\n" .string "somewhere. I'll go find it!$" -MossdeepCity_House4_Text_222F31: @ 8222F31 +MossdeepCity_House4_Text_Skitty: @ 8222F31 .string "SKITTY: Miyaan?$" diff --git a/data/maps/MossdeepCity_Mart/map.json b/data/maps/MossdeepCity_Mart/map.json index bd14a30c16..8be148fada 100644 --- a/data/maps/MossdeepCity_Mart/map.json +++ b/data/maps/MossdeepCity_Mart/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_Mart_EventScript_2223C8", + "script": "MossdeepCity_Mart_EventScript_Clerk", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_Mart_EventScript_2223F6", + "script": "MossdeepCity_Mart_EventScript_Woman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_Mart_EventScript_2223FF", + "script": "MossdeepCity_Mart_EventScript_Boy", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_Mart_EventScript_222408", + "script": "MossdeepCity_Mart_EventScript_Sailor", "flag": "0" } ], diff --git a/data/maps/MossdeepCity_Mart/scripts.inc b/data/maps/MossdeepCity_Mart/scripts.inc index 11c911c452..c0d0ae3116 100644 --- a/data/maps/MossdeepCity_Mart/scripts.inc +++ b/data/maps/MossdeepCity_Mart/scripts.inc @@ -1,18 +1,18 @@ MossdeepCity_Mart_MapScripts:: @ 82223C7 .byte 0 -MossdeepCity_Mart_EventScript_2223C8:: @ 82223C8 +MossdeepCity_Mart_EventScript_Clerk:: @ 82223C8 lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart MossdeepCity_Mart_Pokemart_2223E0 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart MossdeepCity_Mart_Pokemart + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -MossdeepCity_Mart_Pokemart_2223E0: @ 82223E0 +MossdeepCity_Mart_Pokemart: @ 82223E0 .2byte ITEM_ULTRA_BALL .2byte ITEM_NET_BALL .2byte ITEM_DIVE_BALL @@ -26,31 +26,31 @@ MossdeepCity_Mart_Pokemart_2223E0: @ 82223E0 release end -MossdeepCity_Mart_EventScript_2223F6:: @ 82223F6 - msgbox MossdeepCity_Mart_Text_222411, MSGBOX_NPC +MossdeepCity_Mart_EventScript_Woman:: @ 82223F6 + msgbox MossdeepCity_Mart_Text_ReviveIsFantastic, MSGBOX_NPC end -MossdeepCity_Mart_EventScript_2223FF:: @ 82223FF - msgbox MossdeepCity_Mart_Text_2224A0, MSGBOX_NPC +MossdeepCity_Mart_EventScript_Boy:: @ 82223FF + msgbox MossdeepCity_Mart_Text_MaxRepelLastsLongest, MSGBOX_NPC end -MossdeepCity_Mart_EventScript_222408:: @ 8222408 - msgbox MossdeepCity_Mart_Text_2224FA, MSGBOX_NPC +MossdeepCity_Mart_EventScript_Sailor:: @ 8222408 + msgbox MossdeepCity_Mart_Text_NetAndDiveBallsRare, MSGBOX_NPC end -MossdeepCity_Mart_Text_222411: @ 8222411 +MossdeepCity_Mart_Text_ReviveIsFantastic: @ 8222411 .string "REVIVE is fantastic!\p" .string "Give it to a fainted POKéMON,\n" .string "and the POKéMON will arise.\p" .string "But be careful, REVIVE doesn't restore\n" .string "the used-up PP of moves.$" -MossdeepCity_Mart_Text_2224A0: @ 82224A0 +MossdeepCity_Mart_Text_MaxRepelLastsLongest: @ 82224A0 .string "MAX REPEL keeps all weak POKéMON away.\p" .string "Out of all the REPEL sprays, it lasts\n" .string "the longest.$" -MossdeepCity_Mart_Text_2224FA: @ 82224FA +MossdeepCity_Mart_Text_NetAndDiveBallsRare: @ 82224FA .string "The NET and DIVE BALLS are rare POKé\n" .string "BALLS that are only made in MOSSDEEP.\p" .string "A NET BALL is effective against\n" diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/map.json b/data/maps/MossdeepCity_PokemonCenter_1F/map.json index fc78cc9678..c8018bc364 100644 --- a/data/maps/MossdeepCity_PokemonCenter_1F/map.json +++ b/data/maps/MossdeepCity_PokemonCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_PokemonCenter_1F_EventScript_22224E", + "script": "MossdeepCity_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_PokemonCenter_1F_EventScript_22225C", + "script": "MossdeepCity_PokemonCenter_1F_EventScript_Woman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_PokemonCenter_1F_EventScript_222265", + "script": "MossdeepCity_PokemonCenter_1F_EventScript_Girl", "flag": "0" } ], diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc index 3806bfc5ab..49c31dc6b4 100644 --- a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc @@ -1,35 +1,36 @@ MossdeepCity_PokemonCenter_1F_MapScripts:: @ 822223F map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, MossdeepCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 MossdeepCity_PokemonCenter_1F_OnTransition: @ 822224A setrespawn HEAL_LOCATION_MOSSDEEP_CITY end -MossdeepCity_PokemonCenter_1F_EventScript_22224E:: @ 822224E +@ VAR_0x800B is the Nurse's object event id +MossdeepCity_PokemonCenter_1F_EventScript_Nurse:: @ 822224E setvar VAR_0x800B, 1 - call MossdeepCity_PokemonCenter_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -MossdeepCity_PokemonCenter_1F_EventScript_22225C:: @ 822225C - msgbox MossdeepCity_PokemonCenter_1F_Text_22226E, MSGBOX_NPC +MossdeepCity_PokemonCenter_1F_EventScript_Woman:: @ 822225C + msgbox MossdeepCity_PokemonCenter_1F_Text_GymLeaderDuoFormidable, MSGBOX_NPC end -MossdeepCity_PokemonCenter_1F_EventScript_222265:: @ 8222265 - msgbox MossdeepCity_PokemonCenter_1F_Text_2222D9, MSGBOX_NPC +MossdeepCity_PokemonCenter_1F_EventScript_Girl:: @ 8222265 + msgbox MossdeepCity_PokemonCenter_1F_Text_AbilitiesMightChangeMoves, MSGBOX_NPC end -MossdeepCity_PokemonCenter_1F_Text_22226E: @ 822226E +MossdeepCity_PokemonCenter_1F_Text_GymLeaderDuoFormidable: @ 822226E .string "The GYM LEADERS in this town are\n" .string "a formidable duo.\p" .string "Their combination attacks are, like,\n" .string "excellent and wow!$" -MossdeepCity_PokemonCenter_1F_Text_2222D9: @ 82222D9 +MossdeepCity_PokemonCenter_1F_Text_AbilitiesMightChangeMoves: @ 82222D9 .string "Depending on the special abilities of\n" .string "POKéMON, some moves might change\l" .string "or not work at all.$" diff --git a/data/maps/MossdeepCity_PokemonCenter_2F/map.json b/data/maps/MossdeepCity_PokemonCenter_2F/map.json index 88bf3caf2a..aa8691ac8a 100644 --- a/data/maps/MossdeepCity_PokemonCenter_2F/map.json +++ b/data/maps/MossdeepCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_PokemonCenter_2F_EventScript_22235B", + "script": "MossdeepCity_PokemonCenter_2F_EventScript_Woman5", "flag": "0" } ], diff --git a/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc b/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc index 1c9c89fefe..1d88c9ca2c 100644 --- a/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc @@ -1,27 +1,28 @@ MossdeepCity_PokemonCenter_2F_MapScripts:: @ 8222334 - map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, MossdeepCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -MossdeepCity_PokemonCenter_2F_EventScript_222349:: @ 8222349 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +MossdeepCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8222349 + call CableClub_EventScript_Colosseum end -MossdeepCity_PokemonCenter_2F_EventScript_22234F:: @ 822234F - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +MossdeepCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 822234F + call CableClub_EventScript_TradeCenter end -MossdeepCity_PokemonCenter_2F_EventScript_222355:: @ 8222355 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +MossdeepCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 8222355 + call CableClub_EventScript_RecordCorner end -MossdeepCity_PokemonCenter_2F_EventScript_22235B:: @ 822235B - msgbox MossdeepCity_PokemonCenter_2F_Text_222364, MSGBOX_NPC +MossdeepCity_PokemonCenter_2F_EventScript_Woman5:: @ 822235B + msgbox MossdeepCity_PokemonCenter_2F_Text_Woman5, MSGBOX_NPC end -MossdeepCity_PokemonCenter_2F_Text_222364: @ 8222364 +MossdeepCity_PokemonCenter_2F_Text_Woman5: @ 8222364 .string "If I win a whole lot of link battles\n" .string "and show everyone how good I am,\l" .string "I might get a fan following!$" diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/map.json b/data/maps/MossdeepCity_SpaceCenter_1F/map.json index 0d02d368ad..22f008ed17 100644 --- a/data/maps/MossdeepCity_SpaceCenter_1F/map.json +++ b/data/maps/MossdeepCity_SpaceCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_1F_EventScript_222FD8", + "script": "MossdeepCity_SpaceCenter_1F_EventScript_RocketLaunchCounter", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_1F_EventScript_223063", + "script": "MossdeepCity_SpaceCenter_1F_EventScript_Scientist", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_1F_EventScript_22308E", + "script": "MossdeepCity_SpaceCenter_1F_EventScript_SunStoneMan", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_1F_EventScript_223168", + "script": "MossdeepCity_SpaceCenter_1F_EventScript_OldMan", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_1F_EventScript_22312D", + "script": "MossdeepCity_SpaceCenter_1F_EventScript_Woman", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MossdeepCity_SpaceCenter_1F_EventScript_2231DA", + "script": "MossdeepCity_SpaceCenter_1F_EventScript_Grunt3", "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MossdeepCity_SpaceCenter_1F_EventScript_2231F1", + "script": "MossdeepCity_SpaceCenter_1F_EventScript_Grunt1", "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MossdeepCity_SpaceCenter_1F_EventScript_223208", + "script": "MossdeepCity_SpaceCenter_1F_EventScript_Grunt4", "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_1F_EventScript_22321F", + "script": "MossdeepCity_SpaceCenter_1F_EventScript_Grunt2", "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA" }, { @@ -141,8 +141,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_1F_EventScript_2231CF", - "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_INVISIBLE_NINJA_BOY" + "script": "MossdeepCity_SpaceCenter_1F_EventScript_MagmaNote", + "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_MAGMA_NOTE" }, { "graphics_id": "EVENT_OBJ_GFX_STEVEN", @@ -154,7 +154,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_1F_EventScript_2231B9", + "script": "MossdeepCity_SpaceCenter_1F_EventScript_Steven", "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_STEVEN" } ], diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc index 144113d724..05c14f11a5 100644 --- a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc +++ b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc @@ -1,14 +1,14 @@ MossdeepCity_SpaceCenter_1F_MapScripts:: @ 8222F41 - map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_SpaceCenter_1F_MapScript1_222FC2 + map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_SpaceCenter_1F_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_SpaceCenter_1F_OnTransition .byte 0 MossdeepCity_SpaceCenter_1F_OnTransition: @ 8222F4C compare VAR_MOSSDEEP_CITY_STATE, 2 - goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222F58 + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_MoveObjectsForTeamMagma end -MossdeepCity_SpaceCenter_1F_EventScript_222F58:: @ 8222F58 +MossdeepCity_SpaceCenter_1F_EventScript_MoveObjectsForTeamMagma:: @ 8222F58 setobjectxyperm 3, 1, 9 setobjectmovementtype 3, MOVEMENT_TYPE_FACE_RIGHT setobjectxyperm 5, 0, 8 @@ -18,291 +18,296 @@ MossdeepCity_SpaceCenter_1F_EventScript_222F58:: @ 8222F58 setobjectxyperm 1, 3, 4 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_RIGHT setobjectmovementtype 2, MOVEMENT_TYPE_FACE_RIGHT - compare VAR_MOSSDEEP_SPACE_CENTER_STATE_1, 1 - goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222FAA - compare VAR_MOSSDEEP_SPACE_CENTER_STATE_1, 2 - goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222FB2 - compare VAR_MOSSDEEP_SPACE_CENTER_STATE_1, 3 - goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222FBA + compare VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 1 + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardLeft + compare VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 2 + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardDown + compare VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 3 + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardRight end -MossdeepCity_SpaceCenter_1F_EventScript_222FAA:: @ 8222FAA +MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardLeft:: @ 8222FAA setobjectxyperm 9, 12, 2 end -MossdeepCity_SpaceCenter_1F_EventScript_222FB2:: @ 8222FB2 +MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardDown:: @ 8222FB2 setobjectxyperm 9, 13, 3 end -MossdeepCity_SpaceCenter_1F_EventScript_222FBA:: @ 8222FBA +@ Functionally unused. See comment on MossdeepCity_SpaceCenter_1F_EventScript_MoveGruntFromStairsEast +MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardRight:: @ 8222FBA setobjectxyperm 9, 14, 2 end -MossdeepCity_SpaceCenter_1F_MapScript1_222FC2: @ 8222FC2 +MossdeepCity_SpaceCenter_1F_OnLoad: @ 8222FC2 compare VAR_MOSSDEEP_CITY_STATE, 2 - goto_if_le MossdeepCity_SpaceCenter_1F_EventScript_222FCE + goto_if_le MossdeepCity_SpaceCenter_1F_EventScript_SetMagmaNote end -MossdeepCity_SpaceCenter_1F_EventScript_222FCE:: @ 8222FCE +MossdeepCity_SpaceCenter_1F_EventScript_SetMagmaNote:: @ 8222FCE setmetatile 2, 5, METATILE_Facility_DataPad, 1 return -MossdeepCity_SpaceCenter_1F_EventScript_222FD8:: @ 8222FD8 +MossdeepCity_SpaceCenter_1F_EventScript_RocketLaunchCounter:: @ 8222FD8 lock faceplayer compare VAR_MOSSDEEP_CITY_STATE, 2 - goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_223024 + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_RocketLaunchCounterMagma dotimebasedevents specialvar VAR_RESULT, GetWeekCount buffernumberstring 0, VAR_RESULT compare VAR_RESULT, 0 - call_if_eq MossdeepCity_SpaceCenter_1F_EventScript_223012 + call_if_eq MossdeepCity_SpaceCenter_1F_EventScript_NoLaunchesYet compare VAR_RESULT, 1 - call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_22301B + call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_ShowLaunchNumber closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -MossdeepCity_SpaceCenter_1F_EventScript_223012:: @ 8223012 - msgbox MossdeepCity_SpaceCenter_1F_Text_2232A7, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_1F_EventScript_NoLaunchesYet:: @ 8223012 + msgbox MossdeepCity_SpaceCenter_1F_Text_RocketLaunchImminent, MSGBOX_DEFAULT return -MossdeepCity_SpaceCenter_1F_EventScript_22301B:: @ 822301B - msgbox MossdeepCity_SpaceCenter_1F_Text_2232C8, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_1F_EventScript_ShowLaunchNumber:: @ 822301B + msgbox MossdeepCity_SpaceCenter_1F_Text_SuccessfulLaunchNumber, MSGBOX_DEFAULT return -MossdeepCity_SpaceCenter_1F_EventScript_223024:: @ 8223024 +MossdeepCity_SpaceCenter_1F_EventScript_RocketLaunchCounterMagma:: @ 8223024 dotimebasedevents specialvar VAR_RESULT, GetWeekCount buffernumberstring 0, VAR_RESULT compare VAR_RESULT, 0 - call_if_eq MossdeepCity_SpaceCenter_1F_EventScript_223051 + call_if_eq MossdeepCity_SpaceCenter_1F_EventScript_NoLaunchesYetMagma compare VAR_RESULT, 1 - call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_22305A + call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_ShowLaunchNumberMagma closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceRight + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestRight waitmovement 0 release end -MossdeepCity_SpaceCenter_1F_EventScript_223051:: @ 8223051 - msgbox MossdeepCity_SpaceCenter_1F_Text_223305, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_1F_EventScript_NoLaunchesYetMagma:: @ 8223051 + msgbox MossdeepCity_SpaceCenter_1F_Text_HaywireButRocketLaunchImminent, MSGBOX_DEFAULT return -MossdeepCity_SpaceCenter_1F_EventScript_22305A:: @ 822305A - msgbox MossdeepCity_SpaceCenter_1F_Text_22335E, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_1F_EventScript_ShowLaunchNumberMagma:: @ 822305A + msgbox MossdeepCity_SpaceCenter_1F_Text_HaywireButSuccessfulLaunchNumber, MSGBOX_DEFAULT return -MossdeepCity_SpaceCenter_1F_EventScript_223063:: @ 8223063 +MossdeepCity_SpaceCenter_1F_EventScript_Scientist:: @ 8223063 lock faceplayer compare VAR_MOSSDEEP_CITY_STATE, 2 - goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_22307A - msgbox MossdeepCity_SpaceCenter_1F_Text_2233D3, MSGBOX_DEFAULT + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_ScientistMagma + msgbox MossdeepCity_SpaceCenter_1F_Text_RocketLaunchDemandsPerfection, MSGBOX_DEFAULT release end -MossdeepCity_SpaceCenter_1F_EventScript_22307A:: @ 822307A - msgbox MossdeepCity_SpaceCenter_1F_Text_2234B7, MSGBOX_DEFAULT - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceRight +MossdeepCity_SpaceCenter_1F_EventScript_ScientistMagma:: @ 822307A + msgbox MossdeepCity_SpaceCenter_1F_Text_MagmaHaveSightsOnSpaceCenter, MSGBOX_DEFAULT + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestRight waitmovement 0 release end -MossdeepCity_SpaceCenter_1F_EventScript_22308E:: @ 822308E +MossdeepCity_SpaceCenter_1F_EventScript_SunStoneMan:: @ 822308E lock faceplayer compare VAR_MOSSDEEP_CITY_STATE, 2 - goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_2230DA - goto_if_set FLAG_RECEIVED_SUN_STONE_MOSSDEEP, MossdeepCity_SpaceCenter_1F_EventScript_2230D0 - msgbox MossdeepCity_SpaceCenter_1F_Text_223540, MSGBOX_DEFAULT - giveitem_std ITEM_SUN_STONE + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_SunStoneManMagma + goto_if_set FLAG_RECEIVED_SUN_STONE_MOSSDEEP, MossdeepCity_SpaceCenter_1F_EventScript_GaveSunStone + msgbox MossdeepCity_SpaceCenter_1F_Text_FoundThisYouCanHaveIt, MSGBOX_DEFAULT + giveitem ITEM_SUN_STONE compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_SUN_STONE_MOSSDEEP - msgbox MossdeepCity_SpaceCenter_1F_Text_2235A6, MSGBOX_DEFAULT + msgbox MossdeepCity_SpaceCenter_1F_Text_HoennFamousForMeteorShowers, MSGBOX_DEFAULT release end -MossdeepCity_SpaceCenter_1F_EventScript_2230D0:: @ 82230D0 - msgbox MossdeepCity_SpaceCenter_1F_Text_2235A6, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_1F_EventScript_GaveSunStone:: @ 82230D0 + msgbox MossdeepCity_SpaceCenter_1F_Text_HoennFamousForMeteorShowers, MSGBOX_DEFAULT release end -MossdeepCity_SpaceCenter_1F_EventScript_2230DA:: @ 82230DA - goto_if_set FLAG_RECEIVED_SUN_STONE_MOSSDEEP, MossdeepCity_SpaceCenter_1F_EventScript_223119 - msgbox MossdeepCity_SpaceCenter_1F_Text_2235F0, MSGBOX_DEFAULT - giveitem_std ITEM_SUN_STONE +MossdeepCity_SpaceCenter_1F_EventScript_SunStoneManMagma:: @ 82230DA + goto_if_set FLAG_RECEIVED_SUN_STONE_MOSSDEEP, MossdeepCity_SpaceCenter_1F_EventScript_GaveSunStoneMagma + msgbox MossdeepCity_SpaceCenter_1F_Text_MagmaCantStealFuelTakeThis, MSGBOX_DEFAULT + giveitem ITEM_SUN_STONE compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_SUN_STONE_MOSSDEEP - msgbox MossdeepCity_SpaceCenter_1F_Text_223664, MSGBOX_DEFAULT - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceRight + msgbox MossdeepCity_SpaceCenter_1F_Text_CantStrollOnBeachWithMagma, MSGBOX_DEFAULT + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestRight waitmovement 0 release end -MossdeepCity_SpaceCenter_1F_EventScript_223119:: @ 8223119 - msgbox MossdeepCity_SpaceCenter_1F_Text_223664, MSGBOX_DEFAULT - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceRight +MossdeepCity_SpaceCenter_1F_EventScript_GaveSunStoneMagma:: @ 8223119 + msgbox MossdeepCity_SpaceCenter_1F_Text_CantStrollOnBeachWithMagma, MSGBOX_DEFAULT + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestRight waitmovement 0 release end -MossdeepCity_SpaceCenter_1F_EventScript_22312D:: @ 822312D +MossdeepCity_SpaceCenter_1F_EventScript_Woman:: @ 822312D lock faceplayer - goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_1F_EventScript_223154 + goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_1F_EventScript_WomanNormal compare VAR_MOSSDEEP_CITY_STATE, 2 - goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_22315E + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_WomanMagma compare VAR_MOSSDEEP_CITY_STATE, 2 - goto_if_lt MossdeepCity_SpaceCenter_1F_EventScript_223154 - goto MossdeepCity_SpaceCenter_1F_EventScript_22315E + goto_if_lt MossdeepCity_SpaceCenter_1F_EventScript_WomanNormal + goto MossdeepCity_SpaceCenter_1F_EventScript_WomanMagma end -MossdeepCity_SpaceCenter_1F_EventScript_223154:: @ 8223154 - msgbox MossdeepCity_SpaceCenter_1F_Text_2236A6, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_1F_EventScript_WomanNormal:: @ 8223154 + msgbox MossdeepCity_SpaceCenter_1F_Text_DidPokemonComeFromSpace, MSGBOX_DEFAULT release end -MossdeepCity_SpaceCenter_1F_EventScript_22315E:: @ 822315E - msgbox MossdeepCity_SpaceCenter_1F_Text_2236E8, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_1F_EventScript_WomanMagma:: @ 822315E + msgbox MossdeepCity_SpaceCenter_1F_Text_AquaShouldBeatMagma, MSGBOX_DEFAULT release end -MossdeepCity_SpaceCenter_1F_EventScript_223168:: @ 8223168 +MossdeepCity_SpaceCenter_1F_EventScript_OldMan:: @ 8223168 lock faceplayer - goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_1F_EventScript_22318F + goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_1F_EventScript_OldManNormal compare VAR_MOSSDEEP_CITY_STATE, 2 - goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_2231A4 + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_OldManMagma compare VAR_MOSSDEEP_CITY_STATE, 2 - goto_if_lt MossdeepCity_SpaceCenter_1F_EventScript_22318F - goto MossdeepCity_SpaceCenter_1F_EventScript_2231A4 + goto_if_lt MossdeepCity_SpaceCenter_1F_EventScript_OldManNormal + goto MossdeepCity_SpaceCenter_1F_EventScript_OldManMagma end -MossdeepCity_SpaceCenter_1F_EventScript_22318F:: @ 822318F - msgbox MossdeepCity_SpaceCenter_1F_Text_22375B, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_1F_EventScript_OldManNormal:: @ 822318F + msgbox MossdeepCity_SpaceCenter_1F_Text_RocketsBoggleMyMind, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -MossdeepCity_SpaceCenter_1F_EventScript_2231A4:: @ 82231A4 - msgbox MossdeepCity_SpaceCenter_1F_Text_2237B5, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_1F_EventScript_OldManMagma:: @ 82231A4 + msgbox MossdeepCity_SpaceCenter_1F_Text_MagmaWantsToSpoilMyDream, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -MossdeepCity_SpaceCenter_1F_EventScript_2231B9:: @ 82231B9 +MossdeepCity_SpaceCenter_1F_EventScript_Steven:: @ 82231B9 lock faceplayer - msgbox MossdeepCity_SpaceCenter_1F_Text_223849, MSGBOX_DEFAULT + msgbox MossdeepCity_SpaceCenter_1F_Text_StevenMagmaCantBeAllowedToTakeFuel, MSGBOX_DEFAULT applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -MossdeepCity_SpaceCenter_1F_EventScript_2231CF:: @ 82231CF +MossdeepCity_SpaceCenter_1F_EventScript_MagmaNote:: @ 82231CF lockall - msgbox MossdeepCity_SpaceCenter_1F_Text_223C2C, MSGBOX_DEFAULT + msgbox MossdeepCity_SpaceCenter_1F_Text_MagmaIntentToStealNotice, MSGBOX_DEFAULT releaseall end -MossdeepCity_SpaceCenter_1F_EventScript_2231DA:: @ 82231DA - trainerbattle_single TRAINER_GRUNT_32, MossdeepCity_SpaceCenter_1F_Text_22396C, MossdeepCity_SpaceCenter_1F_Text_223999 - msgbox MossdeepCity_SpaceCenter_1F_Text_2239AA, MSGBOX_AUTOCLOSE +MossdeepCity_SpaceCenter_1F_EventScript_Grunt3:: @ 82231DA + trainerbattle_single TRAINER_GRUNT_SPACE_CENTER_3, MossdeepCity_SpaceCenter_1F_Text_Grunt3Intro, MossdeepCity_SpaceCenter_1F_Text_Grunt3Defeat + msgbox MossdeepCity_SpaceCenter_1F_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_SpaceCenter_1F_EventScript_2231F1:: @ 82231F1 - trainerbattle_single TRAINER_GRUNT_16, MossdeepCity_SpaceCenter_1F_Text_2239E6, MossdeepCity_SpaceCenter_1F_Text_223A21 - msgbox MossdeepCity_SpaceCenter_1F_Text_223A4B, MSGBOX_AUTOCLOSE +MossdeepCity_SpaceCenter_1F_EventScript_Grunt1:: @ 82231F1 + trainerbattle_single TRAINER_GRUNT_SPACE_CENTER_1, MossdeepCity_SpaceCenter_1F_Text_Grunt1Intro, MossdeepCity_SpaceCenter_1F_Text_Grunt1Defeat + msgbox MossdeepCity_SpaceCenter_1F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_SpaceCenter_1F_EventScript_223208:: @ 8223208 - trainerbattle_single TRAINER_GRUNT_33, MossdeepCity_SpaceCenter_1F_Text_223A8A, MossdeepCity_SpaceCenter_1F_Text_223AFA - msgbox MossdeepCity_SpaceCenter_1F_Text_223B37, MSGBOX_AUTOCLOSE +MossdeepCity_SpaceCenter_1F_EventScript_Grunt4:: @ 8223208 + trainerbattle_single TRAINER_GRUNT_SPACE_CENTER_4, MossdeepCity_SpaceCenter_1F_Text_Grunt4Intro, MossdeepCity_SpaceCenter_1F_Text_Grunt4Defeat + msgbox MossdeepCity_SpaceCenter_1F_Text_Grunt4PostBattle, MSGBOX_AUTOCLOSE end -MossdeepCity_SpaceCenter_1F_EventScript_22321F:: @ 822321F +MossdeepCity_SpaceCenter_1F_EventScript_Grunt2:: @ 822321F lock faceplayer - goto_if_set FLAG_DEFEATED_GRUNT_SPACE_CENTER_1F, MossdeepCity_SpaceCenter_1F_EventScript_22326E - msgbox MossdeepCity_SpaceCenter_1F_Text_223B90, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_GRUNT_23, MossdeepCity_SpaceCenter_1F_Text_223BC2 + goto_if_set FLAG_DEFEATED_GRUNT_SPACE_CENTER_1F, MossdeepCity_SpaceCenter_1F_EventScript_Grunt2Defeated + msgbox MossdeepCity_SpaceCenter_1F_Text_Grunt2Intro, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_GRUNT_SPACE_CENTER_2, MossdeepCity_SpaceCenter_1F_Text_Grunt2Defeat setflag FLAG_DEFEATED_GRUNT_SPACE_CENTER_1F copyobjectxytoperm 9 switch VAR_FACING - case 3, MossdeepCity_SpaceCenter_1F_EventScript_223278 - case 3, MossdeepCity_SpaceCenter_1F_EventScript_223289 - applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_2232A2 + case DIR_WEST, MossdeepCity_SpaceCenter_1F_EventScript_MoveGruntFromStairsWest + case DIR_WEST, MossdeepCity_SpaceCenter_1F_EventScript_MoveGruntFromStairsEast @ BUG: This was meant to be case DIR_EAST + applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairs waitmovement 0 - setvar VAR_MOSSDEEP_SPACE_CENTER_STATE_1, 2 + setvar VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 2 release end -MossdeepCity_SpaceCenter_1F_EventScript_22326E:: @ 822326E - msgbox MossdeepCity_SpaceCenter_1F_Text_223BD3, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_1F_EventScript_Grunt2Defeated:: @ 822326E + msgbox MossdeepCity_SpaceCenter_1F_Text_Grunt2PostBattle, MSGBOX_DEFAULT release end -MossdeepCity_SpaceCenter_1F_EventScript_223278:: @ 8223278 - applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_22329A +MossdeepCity_SpaceCenter_1F_EventScript_MoveGruntFromStairsWest:: @ 8223278 + applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairsWest waitmovement 0 - setvar VAR_MOSSDEEP_SPACE_CENTER_STATE_1, 1 + setvar VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 1 release end -MossdeepCity_SpaceCenter_1F_EventScript_223289:: @ 8223289 - applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_22329E +@ Functionally unused by mistake. The movement is handled anyway after the switch (see above) +@ This also means VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE can never be 3 +MossdeepCity_SpaceCenter_1F_EventScript_MoveGruntFromStairsEast:: @ 8223289 + applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairsEast waitmovement 0 - setvar VAR_MOSSDEEP_SPACE_CENTER_STATE_1, 3 + setvar VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 3 release end -MossdeepCity_SpaceCenter_1F_Movement_22329A: @ 822329A +MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairsWest: @ 822329A lock_facing_direction walk_left unlock_facing_direction step_end -MossdeepCity_SpaceCenter_1F_Movement_22329E: @ 822329E +@ Functionally unused. See above +MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairsEast: @ 822329E lock_facing_direction walk_right unlock_facing_direction step_end -MossdeepCity_SpaceCenter_1F_Movement_2232A2: @ 82232A2 +@ This was meant to only handle the player facing North, but by mistake(?) it also handles the player facing East +MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairs: @ 82232A2 face_left lock_facing_direction walk_right unlock_facing_direction step_end -MossdeepCity_SpaceCenter_1F_Text_2232A7: @ 82232A7 +MossdeepCity_SpaceCenter_1F_Text_RocketLaunchImminent: @ 82232A7 .string "The rocket's launch is imminent!$" -MossdeepCity_SpaceCenter_1F_Text_2232C8: @ 82232C8 +MossdeepCity_SpaceCenter_1F_Text_SuccessfulLaunchNumber: @ 82232C8 .string "The rocket launched safely!\n" .string "That's successful launch no. {STR_VAR_1}!$" -MossdeepCity_SpaceCenter_1F_Text_223305: @ 8223305 +MossdeepCity_SpaceCenter_1F_Text_HaywireButRocketLaunchImminent: @ 8223305 .string "I know that things are a little\n" .string "haywire right now, but…\p" .string "The rocket's launch is imminent!$" -MossdeepCity_SpaceCenter_1F_Text_22335E: @ 822335E +MossdeepCity_SpaceCenter_1F_Text_HaywireButSuccessfulLaunchNumber: @ 822335E .string "I know that things are a little\n" .string "haywire right now, but…\p" .string "The rocket launched safely!\n" .string "That's successful launch no. {STR_VAR_1}!$" -MossdeepCity_SpaceCenter_1F_Text_2233D3: @ 82233D3 +MossdeepCity_SpaceCenter_1F_Text_RocketLaunchDemandsPerfection: @ 82233D3 .string "A rocket launch demands perfection.\n" .string "Not even a 1% margin of error is allowed.\p" .string "Even if it's 99% okay, the whole thing\n" @@ -310,55 +315,55 @@ MossdeepCity_SpaceCenter_1F_Text_2233D3: @ 82233D3 .string "Despite that, we never stop trying.\n" .string "Why? It's a dream that never ends.$" -MossdeepCity_SpaceCenter_1F_Text_2234B7: @ 82234B7 +MossdeepCity_SpaceCenter_1F_Text_MagmaHaveSightsOnSpaceCenter: @ 82234B7 .string "Those MAGMA thugs have their sights\n" .string "set on our SPACE CENTER.\p" .string "But we can't allow anything that minor\n" .string "to interfere with our rocket launch!$" -MossdeepCity_SpaceCenter_1F_Text_223540: @ 8223540 +MossdeepCity_SpaceCenter_1F_Text_FoundThisYouCanHaveIt: @ 8223540 .string "I was taking a stroll down the beach\n" .string "when I found this.\p" .string "It's not anything I need, so you can\n" .string "have it.$" -MossdeepCity_SpaceCenter_1F_Text_2235A6: @ 82235A6 +MossdeepCity_SpaceCenter_1F_Text_HoennFamousForMeteorShowers: @ 82235A6 .string "The HOENN region has been famous for \n" .string "its meteor showers for a long time.$" -MossdeepCity_SpaceCenter_1F_Text_2235F0: @ 82235F0 +MossdeepCity_SpaceCenter_1F_Text_MagmaCantStealFuelTakeThis: @ 82235F0 .string "TEAM MAGMA can't be allowed to steal\n" .string "the rocket fuel.\p" .string "Oh, by the way, you can have this stone\n" .string "I found on the beach.$" -MossdeepCity_SpaceCenter_1F_Text_223664: @ 8223664 +MossdeepCity_SpaceCenter_1F_Text_CantStrollOnBeachWithMagma: @ 8223664 .string "With TEAM MAGMA around, I guess\n" .string "strolls on the beach aren't safe.$" -MossdeepCity_SpaceCenter_1F_Text_2236A6: @ 82236A6 +MossdeepCity_SpaceCenter_1F_Text_DidPokemonComeFromSpace: @ 82236A6 .string "Some people claim that POKéMON came\n" .string "from space. Could it be true?$" -MossdeepCity_SpaceCenter_1F_Text_2236E8: @ 82236E8 +MossdeepCity_SpaceCenter_1F_Text_AquaShouldBeatMagma: @ 82236E8 .string "TEAM AQUA should take care of\n" .string "TEAM MAGMA!\p" .string "But if they did that, TEAM AQUA will\n" .string "become bold and brazen, won't they?$" -MossdeepCity_SpaceCenter_1F_Text_22375B: @ 822375B +MossdeepCity_SpaceCenter_1F_Text_RocketsBoggleMyMind: @ 822375B .string "A giant chunk of metal bursts through\n" .string "the skies and flies into space…\p" .string "It boggles my mind!$" -MossdeepCity_SpaceCenter_1F_Text_2237B5: @ 82237B5 +MossdeepCity_SpaceCenter_1F_Text_MagmaWantsToSpoilMyDream: @ 82237B5 .string "A giant chunk of metal bursts through\n" .string "the skies and flies into space…\p" .string "But TEAM MAGMA wants to spoil\n" .string "that dream of mine!\p" .string "I'm not having any of that!$" -MossdeepCity_SpaceCenter_1F_Text_223849: @ 8223849 +MossdeepCity_SpaceCenter_1F_Text_StevenMagmaCantBeAllowedToTakeFuel: @ 8223849 .string "STEVEN: {PLAYER}{KUN}, have you read that\n" .string "proclamation already?\p" .string "TEAM MAGMA is coming after the rocket\n" @@ -370,57 +375,57 @@ MossdeepCity_SpaceCenter_1F_Text_223849: @ 8223849 .string "In the meantime, why don't you go\n" .string "check out the town?$" -MossdeepCity_SpaceCenter_1F_Text_22396C: @ 822396C +MossdeepCity_SpaceCenter_1F_Text_Grunt3Intro: @ 822396C .string "As promised, we've come for\n" .string "the rocket fuel!$" -MossdeepCity_SpaceCenter_1F_Text_223999: @ 8223999 +MossdeepCity_SpaceCenter_1F_Text_Grunt3Defeat: @ 8223999 .string "Ran out of fuel…$" -MossdeepCity_SpaceCenter_1F_Text_2239AA: @ 82239AA +MossdeepCity_SpaceCenter_1F_Text_Grunt3PostBattle: @ 82239AA .string "Don't think you're on a roll just\n" .string "because you've beaten me!$" -MossdeepCity_SpaceCenter_1F_Text_2239E6: @ 82239E6 +MossdeepCity_SpaceCenter_1F_Text_Grunt1Intro: @ 82239E6 .string "We gave you fair warning!\n" .string "There's nothing sneaky about us!$" -MossdeepCity_SpaceCenter_1F_Text_223A21: @ 8223A21 +MossdeepCity_SpaceCenter_1F_Text_Grunt1Defeat: @ 8223A21 .string "Grrr…\n" .string "We should've used sneaky treachery…$" -MossdeepCity_SpaceCenter_1F_Text_223A4B: @ 8223A4B +MossdeepCity_SpaceCenter_1F_Text_Grunt1PostBattle: @ 8223A4B .string "Okay, I get it already! The next time,\n" .string "we'll come unannounced.$" -MossdeepCity_SpaceCenter_1F_Text_223A8A: @ 8223A8A +MossdeepCity_SpaceCenter_1F_Text_Grunt4Intro: @ 8223A8A .string "The rocket fuel the SPACE CENTER has\n" .string "in storage--that's what we're after.\p" .string "We mean to take every last bit of it!$" -MossdeepCity_SpaceCenter_1F_Text_223AFA: @ 8223AFA +MossdeepCity_SpaceCenter_1F_Text_Grunt4Defeat: @ 8223AFA .string "Please, can you spare some fuel?\n" .string "Even a chintzy cup will do!$" -MossdeepCity_SpaceCenter_1F_Text_223B37: @ 8223B37 +MossdeepCity_SpaceCenter_1F_Text_Grunt4PostBattle: @ 8223B37 .string "What are we going to do with\n" .string "the rocket fuel?\p" .string "How would I know?\n" .string "Ask our leader upstairs!$" -MossdeepCity_SpaceCenter_1F_Text_223B90: @ 8223B90 +MossdeepCity_SpaceCenter_1F_Text_Grunt2Intro: @ 8223B90 .string "Our leader said no one, but no one,\n" .string "gets past me!$" -MossdeepCity_SpaceCenter_1F_Text_223BC2: @ 8223BC2 +MossdeepCity_SpaceCenter_1F_Text_Grunt2Defeat: @ 8223BC2 .string "Ack! Ack! Aaack!$" -MossdeepCity_SpaceCenter_1F_Text_223BD3: @ 8223BD3 +MossdeepCity_SpaceCenter_1F_Text_Grunt2PostBattle: @ 8223BD3 .string "Please, tell our leader that\n" .string "I never abandoned my post.\l" .string "That I stayed to the bitter end…$" -MossdeepCity_SpaceCenter_1F_Text_223C2C: @ 8223C2C +MossdeepCity_SpaceCenter_1F_Text_MagmaIntentToStealNotice: @ 8223C2C .string "This is…\n" .string "An intent-to-steal notice?\p" .string "“To the staff of the SPACE CENTER:\n" diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/map.json b/data/maps/MossdeepCity_SpaceCenter_2F/map.json index 5c758bf3e0..61729d0037 100644 --- a/data/maps/MossdeepCity_SpaceCenter_2F/map.json +++ b/data/maps/MossdeepCity_SpaceCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_2F_EventScript_223F03", + "script": "MossdeepCity_SpaceCenter_2F_EventScript_RichBoy", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_2F_EventScript_223EC8", + "script": "MossdeepCity_SpaceCenter_2F_EventScript_Gentleman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_2F_EventScript_223E8D", + "script": "MossdeepCity_SpaceCenter_2F_EventScript_Scientist", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_2F_EventScript_223F7A", + "script": "MossdeepCity_SpaceCenter_2F_EventScript_Steven", "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_2F_EventScript_223F3E", + "script": "MossdeepCity_SpaceCenter_2F_EventScript_Grunt6", "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_2F_EventScript_223F50", + "script": "MossdeepCity_SpaceCenter_2F_EventScript_Grunt5", "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_2F_EventScript_223F47", + "script": "MossdeepCity_SpaceCenter_2F_EventScript_Grunt7", "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_2F_EventScript_223F59", + "script": "MossdeepCity_SpaceCenter_2F_EventScript_Tabitha", "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_SpaceCenter_2F_EventScript_223F6F", + "script": "MossdeepCity_SpaceCenter_2F_EventScript_Maxie", "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA" } ], diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc index 8dcc74116d..bd1c9e15ca 100644 --- a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc +++ b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc @@ -1,16 +1,16 @@ MossdeepCity_SpaceCenter_2F_MapScripts:: @ 8223D58 map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_SpaceCenter_2F_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_SpaceCenter_2F_MapScript2_223DB5 + map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_SpaceCenter_2F_OnFrame .byte 0 MossdeepCity_SpaceCenter_2F_OnTransition: @ 8223D63 compare VAR_MOSSDEEP_CITY_STATE, 2 - call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223D7A - compare VAR_MOSSDEEP_SPACE_CENTER_STATE_2, 2 - call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223D9F + call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_MoveStevenMaxieTabitha + compare VAR_MOSSDEEP_SPACE_CENTER_STATE, 2 + call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_MoveDefeatedGrunts end -MossdeepCity_SpaceCenter_2F_EventScript_223D7A:: @ 8223D7A +MossdeepCity_SpaceCenter_2F_EventScript_MoveStevenMaxieTabitha:: @ 8223D7A clearflag FLAG_INTERACTED_WITH_STEVEN_SPACE_CENTER setobjectxyperm 3, 5, 3 setobjectmovementtype 3, MOVEMENT_TYPE_FACE_RIGHT @@ -20,193 +20,194 @@ MossdeepCity_SpaceCenter_2F_EventScript_223D7A:: @ 8223D7A setobjectmovementtype 2, MOVEMENT_TYPE_FACE_RIGHT return -MossdeepCity_SpaceCenter_2F_EventScript_223D9F:: @ 8223D9F +MossdeepCity_SpaceCenter_2F_EventScript_MoveDefeatedGrunts:: @ 8223D9F setobjectxyperm 5, 11, 2 setobjectxyperm 7, 15, 2 setobjectxyperm 6, 13, 4 return -MossdeepCity_SpaceCenter_2F_MapScript2_223DB5: @ 8223DB5 - map_script_2 VAR_MOSSDEEP_SPACE_CENTER_STATE_2, 1, MossdeepCity_SpaceCenter_2F_EventScript_223DBF +MossdeepCity_SpaceCenter_2F_OnFrame: @ 8223DB5 + map_script_2 VAR_MOSSDEEP_SPACE_CENTER_STATE, 1, MossdeepCity_SpaceCenter_2F_EventScript_ThreeMagmaGrunts .2byte 0 -MossdeepCity_SpaceCenter_2F_EventScript_223DBF:: @ 8223DBF +MossdeepCity_SpaceCenter_2F_EventScript_ThreeMagmaGrunts:: @ 8223DBF playse SE_PIN applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_ExclamationMark waitmovement 0 applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_Delay48 waitmovement 0 - msgbox MossdeepCity_SpaceCenter_2F_Text_2243A4, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223E09 - msgbox MossdeepCity_SpaceCenter_2F_Text_2243FE, MSGBOX_DEFAULT + msgbox MossdeepCity_SpaceCenter_2F_Text_YoureOutnumberedTakeUsOn, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_BattleThreeMagmaGrunts + msgbox MossdeepCity_SpaceCenter_2F_Text_GoodAnswer, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_223E07 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_PlayerExit waitmovement 0 warp MAP_MOSSDEEP_CITY_SPACE_CENTER_1F, 255, 13, 1 waitstate releaseall end -MossdeepCity_SpaceCenter_2F_Movement_223E07: @ 8223E07 +MossdeepCity_SpaceCenter_2F_Movement_PlayerExit: @ 8223E07 walk_up step_end -MossdeepCity_SpaceCenter_2F_EventScript_223E09:: @ 8223E09 - msgbox MossdeepCity_SpaceCenter_2F_Text_22442D, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_GRUNT_34, MossdeepCity_SpaceCenter_2F_Text_224461 - applymovement 6, MossdeepCity_SpaceCenter_2F_Movement_223E85 +MossdeepCity_SpaceCenter_2F_EventScript_BattleThreeMagmaGrunts:: @ 8223E09 + msgbox MossdeepCity_SpaceCenter_2F_Text_Grunt5Intro, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_GRUNT_SPACE_CENTER_5, MossdeepCity_SpaceCenter_2F_Text_Grunt5Defeat + applymovement 6, MossdeepCity_SpaceCenter_2F_Movement_Grunt5Defeated waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox MossdeepCity_SpaceCenter_2F_Text_22446E, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_GRUNT_35, MossdeepCity_SpaceCenter_2F_Text_224499 - applymovement 5, MossdeepCity_SpaceCenter_2F_Movement_223E81 + msgbox MossdeepCity_SpaceCenter_2F_Text_Grunt6Intro, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_GRUNT_SPACE_CENTER_6, MossdeepCity_SpaceCenter_2F_Text_Grunt6Defeat + applymovement 5, MossdeepCity_SpaceCenter_2F_Movement_Grunt6Defeated waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox MossdeepCity_SpaceCenter_2F_Text_2244AB, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_GRUNT_36, MossdeepCity_SpaceCenter_2F_Text_2244F1 - applymovement 7, MossdeepCity_SpaceCenter_2F_Movement_223E89 + msgbox MossdeepCity_SpaceCenter_2F_Text_Grunt7Intro, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_GRUNT_SPACE_CENTER_7, MossdeepCity_SpaceCenter_2F_Text_Grunt7Defeat + applymovement 7, MossdeepCity_SpaceCenter_2F_Movement_Grunt7Defeated waitmovement 0 - setvar VAR_MOSSDEEP_SPACE_CENTER_STATE_2, 2 + setvar VAR_MOSSDEEP_SPACE_CENTER_STATE, 2 copyobjectxytoperm 5 copyobjectxytoperm 7 copyobjectxytoperm 6 releaseall end -MossdeepCity_SpaceCenter_2F_Movement_223E81: @ 8223E81 +MossdeepCity_SpaceCenter_2F_Movement_Grunt6Defeated: @ 8223E81 lock_facing_direction walk_left unlock_facing_direction step_end -MossdeepCity_SpaceCenter_2F_Movement_223E85: @ 8223E85 +MossdeepCity_SpaceCenter_2F_Movement_Grunt5Defeated: @ 8223E85 lock_facing_direction walk_down unlock_facing_direction step_end -MossdeepCity_SpaceCenter_2F_Movement_223E89: @ 8223E89 +MossdeepCity_SpaceCenter_2F_Movement_Grunt7Defeated: @ 8223E89 lock_facing_direction walk_right unlock_facing_direction step_end -MossdeepCity_SpaceCenter_2F_EventScript_223E8D:: @ 8223E8D +MossdeepCity_SpaceCenter_2F_EventScript_Scientist:: @ 8223E8D lock faceplayer - goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_223EB4 + goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_ScientistNormal compare VAR_MOSSDEEP_CITY_STATE, 2 - goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223EBE + goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_ScientistMagma compare VAR_MOSSDEEP_CITY_STATE, 2 - goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_223EB4 - goto MossdeepCity_SpaceCenter_2F_EventScript_223EBE + goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_ScientistNormal + goto MossdeepCity_SpaceCenter_2F_EventScript_ScientistMagma end -MossdeepCity_SpaceCenter_2F_EventScript_223EB4:: @ 8223EB4 - msgbox MossdeepCity_SpaceCenter_2F_Text_2241A1, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_2F_EventScript_ScientistNormal:: @ 8223EB4 + msgbox MossdeepCity_SpaceCenter_2F_Text_MossdeepIdealForRockets, MSGBOX_DEFAULT release end -MossdeepCity_SpaceCenter_2F_EventScript_223EBE:: @ 8223EBE - msgbox MossdeepCity_SpaceCenter_2F_Text_22420C, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_2F_EventScript_ScientistMagma:: @ 8223EBE + msgbox MossdeepCity_SpaceCenter_2F_Text_WhyWouldMagmaStealRocketFuel, MSGBOX_DEFAULT release end -MossdeepCity_SpaceCenter_2F_EventScript_223EC8:: @ 8223EC8 +MossdeepCity_SpaceCenter_2F_EventScript_Gentleman:: @ 8223EC8 lock faceplayer - goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_223EEF + goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_GentlemanNormal compare VAR_MOSSDEEP_CITY_STATE, 2 - goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223EF9 + goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_GentlemanMagma compare VAR_MOSSDEEP_CITY_STATE, 2 - goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_223EEF - goto MossdeepCity_SpaceCenter_2F_EventScript_223EF9 + goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_GentlemanNormal + goto MossdeepCity_SpaceCenter_2F_EventScript_GentlemanMagma end -MossdeepCity_SpaceCenter_2F_EventScript_223EEF:: @ 8223EEF - msgbox MossdeepCity_SpaceCenter_2F_Text_224253, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_2F_EventScript_GentlemanNormal:: @ 8223EEF + msgbox MossdeepCity_SpaceCenter_2F_Text_WouldveLikedToBeAstronaut, MSGBOX_DEFAULT release end -MossdeepCity_SpaceCenter_2F_EventScript_223EF9:: @ 8223EF9 - msgbox MossdeepCity_SpaceCenter_2F_Text_2242C5, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_2F_EventScript_GentlemanMagma:: @ 8223EF9 + msgbox MossdeepCity_SpaceCenter_2F_Text_MagmaCantGetAwayWithThis, MSGBOX_DEFAULT release end -MossdeepCity_SpaceCenter_2F_EventScript_223F03:: @ 8223F03 +MossdeepCity_SpaceCenter_2F_EventScript_RichBoy:: @ 8223F03 lock faceplayer - goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_223F2A + goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_RichBoyNormal compare VAR_MOSSDEEP_CITY_STATE, 2 - goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223F34 + goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_RichBoyMagma compare VAR_MOSSDEEP_CITY_STATE, 2 - goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_223F2A - goto MossdeepCity_SpaceCenter_2F_EventScript_223F34 + goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_RichBoyNormal + goto MossdeepCity_SpaceCenter_2F_EventScript_RichBoyMagma end -MossdeepCity_SpaceCenter_2F_EventScript_223F2A:: @ 8223F2A - msgbox MossdeepCity_SpaceCenter_2F_Text_224342, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_2F_EventScript_RichBoyNormal:: @ 8223F2A + msgbox MossdeepCity_SpaceCenter_2F_Text_WishOrdinaryPeopleCouldGoIntoSpace, MSGBOX_DEFAULT release end -MossdeepCity_SpaceCenter_2F_EventScript_223F34:: @ 8223F34 - msgbox MossdeepCity_SpaceCenter_2F_Text_224376, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_2F_EventScript_RichBoyMagma:: @ 8223F34 + msgbox MossdeepCity_SpaceCenter_2F_Text_DoesMagmaWantToGoToSpace, MSGBOX_DEFAULT release end -MossdeepCity_SpaceCenter_2F_EventScript_223F3E:: @ 8223F3E - msgbox MossdeepCity_SpaceCenter_2F_Text_22452C, MSGBOX_NPC +@ Battle for the below 3 grunts is handled in MossdeepCity_SpaceCenter_2F_EventScript_BattleThreeMagmaGrunts +MossdeepCity_SpaceCenter_2F_EventScript_Grunt6:: @ 8223F3E + msgbox MossdeepCity_SpaceCenter_2F_Text_Grunt6PostBattle, MSGBOX_NPC end -MossdeepCity_SpaceCenter_2F_EventScript_223F47:: @ 8223F47 - msgbox MossdeepCity_SpaceCenter_2F_Text_224570, MSGBOX_NPC +MossdeepCity_SpaceCenter_2F_EventScript_Grunt7:: @ 8223F47 + msgbox MossdeepCity_SpaceCenter_2F_Text_Grunt7PostBattle, MSGBOX_NPC end -MossdeepCity_SpaceCenter_2F_EventScript_223F50:: @ 8223F50 - msgbox MossdeepCity_SpaceCenter_2F_Text_2245AF, MSGBOX_NPC +MossdeepCity_SpaceCenter_2F_EventScript_Grunt5:: @ 8223F50 + msgbox MossdeepCity_SpaceCenter_2F_Text_Grunt5PostBattle, MSGBOX_NPC end -MossdeepCity_SpaceCenter_2F_EventScript_223F59:: @ 8223F59 +MossdeepCity_SpaceCenter_2F_EventScript_Tabitha:: @ 8223F59 lock faceplayer - msgbox MossdeepCity_SpaceCenter_2F_Text_2245D9, MSGBOX_DEFAULT + msgbox MossdeepCity_SpaceCenter_2F_Text_WellTakeCareOfYou, MSGBOX_DEFAULT applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -MossdeepCity_SpaceCenter_2F_EventScript_223F6F:: @ 8223F6F +MossdeepCity_SpaceCenter_2F_EventScript_Maxie:: @ 8223F6F lockall - msgbox MossdeepCity_SpaceCenter_2F_Text_22467B, MSGBOX_DEFAULT + msgbox MossdeepCity_SpaceCenter_2F_Text_MaxieDontInterfere, MSGBOX_DEFAULT releaseall end -MossdeepCity_SpaceCenter_2F_EventScript_223F7A:: @ 8223F7A +MossdeepCity_SpaceCenter_2F_EventScript_Steven:: @ 8223F7A lockall - goto_if_set FLAG_INTERACTED_WITH_STEVEN_SPACE_CENTER, MossdeepCity_SpaceCenter_2F_EventScript_223FDA + goto_if_set FLAG_INTERACTED_WITH_STEVEN_SPACE_CENTER, MossdeepCity_SpaceCenter_2F_EventScript_ReadyForBattlePrompt setflag FLAG_INTERACTED_WITH_STEVEN_SPACE_CENTER - msgbox MossdeepCity_SpaceCenter_2F_Text_2246B2, MSGBOX_DEFAULT - msgbox MossdeepCity_SpaceCenter_2F_Text_2246F0, MSGBOX_DEFAULT + msgbox MossdeepCity_SpaceCenter_2F_Text_StevenWhyStealRocketFuel, MSGBOX_DEFAULT + msgbox MossdeepCity_SpaceCenter_2F_Text_MaxieUseFuelToEruptVolcano, MSGBOX_DEFAULT closemessage delay 30 playse SE_KOUKA_L switch VAR_FACING - case 1, MossdeepCity_SpaceCenter_2F_EventScript_223FBA - applymovement 4, MossdeepCity_SpaceCenter_2F_Movement_223FC6 + case DIR_SOUTH, MossdeepCity_SpaceCenter_2F_EventScript_StevenFightMovementSouth + applymovement 4, MossdeepCity_SpaceCenter_2F_Movement_StevenFight waitmovement 0 releaseall end -MossdeepCity_SpaceCenter_2F_EventScript_223FBA:: @ 8223FBA - applymovement 4, MossdeepCity_SpaceCenter_2F_Movement_223FCF +MossdeepCity_SpaceCenter_2F_EventScript_StevenFightMovementSouth:: @ 8223FBA + applymovement 4, MossdeepCity_SpaceCenter_2F_Movement_StevenFightSouth waitmovement 0 releaseall end -MossdeepCity_SpaceCenter_2F_Movement_223FC6: @ 8223FC6 +MossdeepCity_SpaceCenter_2F_Movement_StevenFight: @ 8223FC6 lock_facing_direction walk_fast_up walk_fast_up @@ -217,7 +218,7 @@ MossdeepCity_SpaceCenter_2F_Movement_223FC6: @ 8223FC6 walk_slow_down step_end -MossdeepCity_SpaceCenter_2F_Movement_223FCF: @ 8223FCF +MossdeepCity_SpaceCenter_2F_Movement_StevenFightSouth: @ 8223FCF face_left lock_facing_direction walk_fast_right @@ -230,67 +231,64 @@ MossdeepCity_SpaceCenter_2F_Movement_223FCF: @ 8223FCF face_down step_end -MossdeepCity_SpaceCenter_2F_EventScript_223FDA:: @ 8223FDA +MossdeepCity_SpaceCenter_2F_EventScript_ReadyForBattlePrompt:: @ 8223FDA applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer waitmovement 0 - msgbox MossdeepCity_SpaceCenter_2F_Text_2247FF, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_22400C - msgbox MossdeepCity_SpaceCenter_2F_Text_224854, MSGBOX_DEFAULT + msgbox MossdeepCity_SpaceCenter_2F_Text_StevenAreYouReadyToBattle, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_ChoosePartyForMultiBattle + msgbox MossdeepCity_SpaceCenter_2F_Text_StevenHurryGetReadyQuickly, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 releaseall end -MossdeepCity_SpaceCenter_2F_EventScript_22400C:: @ 822400C - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown +MossdeepCity_SpaceCenter_2F_EventScript_ChoosePartyForMultiBattle:: @ 822400C + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 special SavePlayerParty - fadescreen 1 + fadescreen FADE_TO_BLACK special ChooseHalfPartyForBattle waitstate compare VAR_RESULT, 0 - goto_if_ne MossdeepCity_SpaceCenter_2F_EventScript_224032 + goto_if_ne MossdeepCity_SpaceCenter_2F_EventScript_DoStevenMultiBattle special LoadPlayerParty - goto MossdeepCity_SpaceCenter_2F_EventScript_223FDA + goto MossdeepCity_SpaceCenter_2F_EventScript_ReadyForBattlePrompt -MossdeepCity_SpaceCenter_2F_EventScript_224032:: @ 8224032 +MossdeepCity_SpaceCenter_2F_EventScript_DoStevenMultiBattle:: @ 8224032 special ReducePlayerPartyToSelectedMons - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 4 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_SELECTED_MON_ORDER setvar VAR_0x8004, SPECIAL_BATTLE_STEVEN setvar VAR_0x8005, 0 special DoSpecialTrainerBattle waitstate - setvar VAR_0x8004, 6 - special CallFrontierUtilFunc + frontier_saveparty special LoadPlayerParty switch VAR_RESULT - case 1, MossdeepCity_SpaceCenter_2F_EventScript_224071 - fadescreen 1 - special sp0C8_whiteout_maybe + case 1, MossdeepCity_SpaceCenter_2F_EventScript_DefeatedMaxieTabitha + fadescreen FADE_TO_BLACK + special SetCB2WhiteOut waitstate -MossdeepCity_SpaceCenter_2F_EventScript_224071:: @ 8224071 - msgbox MossdeepCity_SpaceCenter_2F_Text_2248C2, MSGBOX_DEFAULT +MossdeepCity_SpaceCenter_2F_EventScript_DefeatedMaxieTabitha:: @ 8224071 + msgbox MossdeepCity_SpaceCenter_2F_Text_MaxieWeFailedIsAquaAlsoMisguided, MSGBOX_DEFAULT closemessage delay 20 - applymovement 9, Common_Movement_WalkInPlaceLeft - applymovement 8, Common_Movement_WalkInPlaceDown + applymovement 9, Common_Movement_WalkInPlaceFastestLeft + applymovement 8, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 60 - applymovement 9, Common_Movement_WalkInPlaceUp - applymovement 8, Common_Movement_WalkInPlaceRight + applymovement 9, Common_Movement_WalkInPlaceFastestUp + applymovement 8, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 20 - msgbox MossdeepCity_SpaceCenter_2F_Text_2249DC, MSGBOX_DEFAULT + msgbox MossdeepCity_SpaceCenter_2F_Text_MaxieWeWillGiveUp, MSGBOX_DEFAULT closemessage setvar VAR_MOSSDEEP_CITY_STATE, 3 fadedefaultbgm - fadescreen 1 - setvar VAR_MOSSDEEP_SPACE_CENTER_STATE_2, 3 + fadescreen FADE_TO_BLACK + setvar VAR_MOSSDEEP_SPACE_CENTER_STATE, 3 setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA setflag FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA @@ -300,20 +298,20 @@ 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 - call MossdeepCity_SpaceCenter_2F_EventScript_224131 - fadescreen 0 - msgbox MossdeepCity_SpaceCenter_2F_Text_224A4A, MSGBOX_DEFAULT + turnobject 1, DIR_NORTH + call MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayer + fadescreen FADE_FROM_BLACK + msgbox MossdeepCity_SpaceCenter_2F_Text_StevenThankYouComeSeeMeAtHome, MSGBOX_DEFAULT closemessage - fadescreen 1 + fadescreen FADE_TO_BLACK setflag FLAG_DEFEATED_MAGMA_SPACE_CENTER setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN removeobject 4 - setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_INVISIBLE_NINJA_BOY + setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_MAGMA_NOTE clearflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN setvar VAR_STEVENS_HOUSE_STATE, 1 setflag FLAG_HIDE_MOSSDEEP_CITY_SCOTT @@ -321,145 +319,145 @@ MossdeepCity_SpaceCenter_2F_EventScript_224071:: @ 8224071 setobjectxyperm 3, 5, 6 setobjectmovementtype 3, MOVEMENT_TYPE_WANDER_AROUND addobject 3 - fadescreen 0 + fadescreen FADE_FROM_BLACK end -MossdeepCity_SpaceCenter_2F_EventScript_224131:: @ 8224131 +MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayer:: @ 8224131 switch VAR_FACING - case 1, MossdeepCity_SpaceCenter_2F_EventScript_22414D - case 3, MossdeepCity_SpaceCenter_2F_EventScript_224152 + case DIR_SOUTH, MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayerSouth + case DIR_WEST, MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayerWest return -MossdeepCity_SpaceCenter_2F_EventScript_22414D:: @ 822414D - turnobject 4, 2 +MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayerSouth:: @ 822414D + turnobject 4, DIR_NORTH return -MossdeepCity_SpaceCenter_2F_EventScript_224152:: @ 8224152 - turnobject 4, 4 +MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayerWest:: @ 8224152 + turnobject 4, DIR_EAST return -MossdeepCity_SpaceCenter_2F_EventScript_224157:: @ 8224157 - trainerbattle TRAINER_BATTLE_SET_TRAINER_A, TRAINER_MAXIE_3, 0, MossdeepCity_SpaceCenter_2F_Text_22487C, MossdeepCity_SpaceCenter_2F_Text_22487C +MossdeepCity_SpaceCenter_2F_EventScript_MaxieTrainer:: @ 8224157 + trainerbattle TRAINER_BATTLE_SET_TRAINER_A, TRAINER_MAXIE_MOSSDEEP, 0, MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand, MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand end -MossdeepCity_SpaceCenter_2F_EventScript_224166:: @ 8224166 - trainerbattle TRAINER_BATTLE_SET_TRAINER_B, TRAINER_TABITHA_1, 0, MossdeepCity_SpaceCenter_Text_2248AD, MossdeepCity_SpaceCenter_Text_2248AD +MossdeepCity_SpaceCenter_2F_EventScript_TabithaTrainer:: @ 8224166 + trainerbattle TRAINER_BATTLE_SET_TRAINER_B, TRAINER_TABITHA_MOSSDEEP, 0, MossdeepCity_SpaceCenter_Text_TabithaDefeat, MossdeepCity_SpaceCenter_Text_TabithaDefeat end -MossdeepCity_SpaceCenter_2F_EventScript_224175:: @ 8224175 +MossdeepCity_SpaceCenter_2F_EventScript_RivalRayquazaCall:: @ 8224175 lockall checkplayergender compare VAR_RESULT, MALE - call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_224193 + call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_MayRayquazaCall compare VAR_RESULT, FEMALE - call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_22419A + call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_BrendanRayquazaCall closemessage clearflag FLAG_DEFEATED_MAGMA_SPACE_CENTER releaseall end -MossdeepCity_SpaceCenter_2F_EventScript_224193:: @ 8224193 - pokenavcall MossdeepCity_SpaceCenter_2F_Text_2B38C1 +MossdeepCity_SpaceCenter_2F_EventScript_MayRayquazaCall:: @ 8224193 + pokenavcall MatchCall_Text_MayRayquazaCall waitmessage return -MossdeepCity_SpaceCenter_2F_EventScript_22419A:: @ 822419A - pokenavcall MossdeepCity_SpaceCenter_2F_Text_2B39C6 +MossdeepCity_SpaceCenter_2F_EventScript_BrendanRayquazaCall:: @ 822419A + pokenavcall MatchCall_Text_BrendanRayquazaCall waitmessage return -MossdeepCity_SpaceCenter_2F_Text_2241A1: @ 82241A1 +MossdeepCity_SpaceCenter_2F_Text_MossdeepIdealForRockets: @ 82241A1 .string "MOSSDEEP has mainly sunny weather,\n" .string "and its winds are stable.\p" .string "It's an ideal location for launching\n" .string "rockets.$" -MossdeepCity_SpaceCenter_2F_Text_22420C: @ 822420C +MossdeepCity_SpaceCenter_2F_Text_WhyWouldMagmaStealRocketFuel: @ 822420C .string "Why would TEAM MAGMA want to steal\n" .string "our rocket fuel in the first place?$" -MossdeepCity_SpaceCenter_2F_Text_224253: @ 8224253 +MossdeepCity_SpaceCenter_2F_Text_WouldveLikedToBeAstronaut: @ 8224253 .string "If only I was a little younger, I would\n" .string "have liked being an astronaut…\p" .string "No… It's not too late!\n" .string "I can and will try!$" -MossdeepCity_SpaceCenter_2F_Text_2242C5: @ 82242C5 +MossdeepCity_SpaceCenter_2F_Text_MagmaCantGetAwayWithThis: @ 82242C5 .string "If TEAM MAGMA takes the rocket fuel,\n" .string "I won't be able to go to space!\p" .string "They can't be allowed to get away\n" .string "with such an outrage!$" -MossdeepCity_SpaceCenter_2F_Text_224342: @ 8224342 +MossdeepCity_SpaceCenter_2F_Text_WishOrdinaryPeopleCouldGoIntoSpace: @ 8224342 .string "I wish ordinary people could go into\n" .string "space one day…$" -MossdeepCity_SpaceCenter_2F_Text_224376: @ 8224376 +MossdeepCity_SpaceCenter_2F_Text_DoesMagmaWantToGoToSpace: @ 8224376 .string "TEAM MAGMA…\n" .string "Do they want to go to space, too?$" -MossdeepCity_SpaceCenter_2F_Text_2243A4: @ 82243A4 +MossdeepCity_SpaceCenter_2F_Text_YoureOutnumberedTakeUsOn: @ 82243A4 .string "What's wrong with you?\p" .string "You're outnumbered three to one,\n" .string "but you still want to take us on?$" -MossdeepCity_SpaceCenter_2F_Text_2243FE: @ 82243FE +MossdeepCity_SpaceCenter_2F_Text_GoodAnswer: @ 82243FE .string "Good answer!\n" .string "That's what a smart person'll do!$" -MossdeepCity_SpaceCenter_2F_Text_22442D: @ 822442D +MossdeepCity_SpaceCenter_2F_Text_Grunt5Intro: @ 822442D .string "A reckless go-getter, are you?\n" .string "Okay, I'll go first!$" -MossdeepCity_SpaceCenter_2F_Text_224461: @ 8224461 +MossdeepCity_SpaceCenter_2F_Text_Grunt5Defeat: @ 8224461 .string "I lost!\n" .string "But!$" -MossdeepCity_SpaceCenter_2F_Text_22446E: @ 822446E +MossdeepCity_SpaceCenter_2F_Text_Grunt6Intro: @ 822446E .string "It's too soon to be relieved!\n" .string "I'm up next!$" -MossdeepCity_SpaceCenter_2F_Text_224499: @ 8224499 +MossdeepCity_SpaceCenter_2F_Text_Grunt6Defeat: @ 8224499 .string "I lost, too!\n" .string "But!$" -MossdeepCity_SpaceCenter_2F_Text_2244AB: @ 82244AB +MossdeepCity_SpaceCenter_2F_Text_Grunt7Intro: @ 82244AB .string "I bet you want to take a break.\n" .string "But I'm not about to let you do that!$" -MossdeepCity_SpaceCenter_2F_Text_2244F1: @ 82244F1 +MossdeepCity_SpaceCenter_2F_Text_Grunt7Defeat: @ 82244F1 .string "We should've taken a break…\n" .string "That's what we should've done…$" -MossdeepCity_SpaceCenter_2F_Text_22452C: @ 822452C +MossdeepCity_SpaceCenter_2F_Text_Grunt6PostBattle: @ 822452C .string "Three of us here, and look at the sorry\n" .string "mess we got ourselves into.$" -MossdeepCity_SpaceCenter_2F_Text_224570: @ 8224570 +MossdeepCity_SpaceCenter_2F_Text_Grunt7PostBattle: @ 8224570 .string "We three losing like this…\n" .string "We look worse than usual by triple!$" -MossdeepCity_SpaceCenter_2F_Text_2245AF: @ 82245AF +MossdeepCity_SpaceCenter_2F_Text_Grunt5PostBattle: @ 82245AF .string "Are we being useful to our leader\n" .string "at all?$" -MossdeepCity_SpaceCenter_2F_Text_2245D9: @ 82245D9 +MossdeepCity_SpaceCenter_2F_Text_WellTakeCareOfYou: @ 82245D9 .string "Hehehe!\p" .string "We come all the way here to get some\n" .string "fuel, and we're interfered with again!\p" .string "If you're going to mess with us too,\n" .string "we'll take care of you at the same time!$" -MossdeepCity_SpaceCenter_2F_Text_22467B: @ 822467B +MossdeepCity_SpaceCenter_2F_Text_MaxieDontInterfere: @ 822467B .string "MAXIE: Clear out of the way!\n" .string "Don't you dare interfere!$" -MossdeepCity_SpaceCenter_2F_Text_2246B2: @ 82246B2 +MossdeepCity_SpaceCenter_2F_Text_StevenWhyStealRocketFuel: @ 82246B2 .string "STEVEN: TEAM MAGMA…\p" .string "What's the point of stealing rocket\n" .string "fuel?$" -MossdeepCity_SpaceCenter_2F_Text_2246F0: @ 82246F0 +MossdeepCity_SpaceCenter_2F_Text_MaxieUseFuelToEruptVolcano: @ 82246F0 .string "MAXIE: Fufufu… Since you're so\n" .string "curious, you deserve an explanation.\p" .string "We're going to jettison the entire\n" @@ -470,24 +468,24 @@ MossdeepCity_SpaceCenter_2F_Text_2246F0: @ 82246F0 .string "the volcano erupt!\p" .string "It will be savage!$" -MossdeepCity_SpaceCenter_2F_Text_2247FF: @ 82247FF +MossdeepCity_SpaceCenter_2F_Text_StevenAreYouReadyToBattle: @ 82247FF .string "STEVEN: {PLAYER}{KUN}!\n" .string "You're going to help me?\p" .string "Let's go into battle together!\n" .string "Are you ready?$" -MossdeepCity_SpaceCenter_2F_Text_224854: @ 8224854 +MossdeepCity_SpaceCenter_2F_Text_StevenHurryGetReadyQuickly: @ 8224854 .string "STEVEN: Then, hurry!\n" .string "Get ready quickly!$" -MossdeepCity_SpaceCenter_2F_Text_22487C: @ 822487C +MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand: @ 822487C .string "All I want…\n" .string "I just want to expand the land mass…$" -MossdeepCity_SpaceCenter_Text_2248AD: @ 82248AD +MossdeepCity_SpaceCenter_Text_TabithaDefeat: @ 82248AD .string "I'm with our leader…$" -MossdeepCity_SpaceCenter_2F_Text_2248C2: @ 82248C2 +MossdeepCity_SpaceCenter_2F_Text_MaxieWeFailedIsAquaAlsoMisguided: @ 82248C2 .string "MAXIE: We failed to make the volcano\n" .string "erupt…\p" .string "We failed to control GROUDON after\n" @@ -502,13 +500,13 @@ MossdeepCity_SpaceCenter_2F_Text_2248C2: @ 82248C2 .string "Then might TEAM AQUA's goal to expand\n" .string "the sea also be equally misguided?$" -MossdeepCity_SpaceCenter_2F_Text_2249DC: @ 82249DC +MossdeepCity_SpaceCenter_2F_Text_MaxieWeWillGiveUp: @ 82249DC .string "MAXIE: All right…\n" .string "We will give up on the fuel…\p" .string "There appear to be more important\n" .string "matters that I must examine…$" -MossdeepCity_SpaceCenter_2F_Text_224A4A: @ 8224A4A +MossdeepCity_SpaceCenter_2F_Text_StevenThankYouComeSeeMeAtHome: @ 8224A4A .string "STEVEN: Whew, that was too tense.\n" .string "{PLAYER}{KUN}, thank you.\p" .string "I have something to give you as\n" diff --git a/data/maps/MossdeepCity_StevensHouse/map.json b/data/maps/MossdeepCity_StevensHouse/map.json index 76844e258e..c061999eff 100644 --- a/data/maps/MossdeepCity_StevensHouse/map.json +++ b/data/maps/MossdeepCity_StevensHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_StevensHouse_EventScript_222912", + "script": "MossdeepCity_StevensHouse_EventScript_Steven", "flag": "FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_StevensHouse_EventScript_222841", + "script": "MossdeepCity_StevensHouse_EventScript_BeldumPokeball", "flag": "FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MossdeepCity_StevensHouse_EventScript_22291B", + "script": "MossdeepCity_StevensHouse_EventScript_Letter", "flag": "FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY" } ], @@ -78,7 +78,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MossdeepCity_StevensHouse_EventScript_222909" + "script": "MossdeepCity_StevensHouse_EventScript_RockDisplay" }, { "type": "sign", @@ -86,7 +86,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MossdeepCity_StevensHouse_EventScript_222909" + "script": "MossdeepCity_StevensHouse_EventScript_RockDisplay" }, { "type": "sign", @@ -94,7 +94,7 @@ "y": 4, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MossdeepCity_StevensHouse_EventScript_222909" + "script": "MossdeepCity_StevensHouse_EventScript_RockDisplay" }, { "type": "sign", @@ -102,7 +102,7 @@ "y": 6, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MossdeepCity_StevensHouse_EventScript_222909" + "script": "MossdeepCity_StevensHouse_EventScript_RockDisplay" } ] } \ No newline at end of file diff --git a/data/maps/MossdeepCity_StevensHouse/scripts.inc b/data/maps/MossdeepCity_StevensHouse/scripts.inc index 69b5a01d43..bc71c6ca4a 100644 --- a/data/maps/MossdeepCity_StevensHouse/scripts.inc +++ b/data/maps/MossdeepCity_StevensHouse/scripts.inc @@ -1,50 +1,50 @@ MossdeepCity_StevensHouse_MapScripts:: @ 8222784 - map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_StevensHouse_MapScript1_222794 + map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_StevensHouse_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_StevensHouse_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_StevensHouse_MapScript2_2227C0 + map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_StevensHouse_OnFrame .byte 0 -MossdeepCity_StevensHouse_MapScript1_222794: @ 8222794 - call_if_unset FLAG_SYS_GAME_CLEAR, MossdeepCity_StevensHouse_EventScript_22279E +MossdeepCity_StevensHouse_OnLoad: @ 8222794 + call_if_unset FLAG_SYS_GAME_CLEAR, MossdeepCity_StevensHouse_EventScript_HideStevensNote end -MossdeepCity_StevensHouse_EventScript_22279E:: @ 822279E +MossdeepCity_StevensHouse_EventScript_HideStevensNote:: @ 822279E setmetatile 6, 4, METATILE_GenericBuilding_TableEdge, 1 return MossdeepCity_StevensHouse_OnTransition: @ 82227A8 compare VAR_STEVENS_HOUSE_STATE, 2 - call_if_eq MossdeepCity_StevensHouse_EventScript_2227B4 + call_if_eq MossdeepCity_StevensHouse_EventScript_SetStevenPos end -MossdeepCity_StevensHouse_EventScript_2227B4:: @ 82227B4 +MossdeepCity_StevensHouse_EventScript_SetStevenPos:: @ 82227B4 setobjectxyperm 1, 6, 5 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP return -MossdeepCity_StevensHouse_MapScript2_2227C0: @ 82227C0 - map_script_2 VAR_STEVENS_HOUSE_STATE, 1, MossdeepCity_StevensHouse_EventScript_2227CA +MossdeepCity_StevensHouse_OnFrame: @ 82227C0 + map_script_2 VAR_STEVENS_HOUSE_STATE, 1, MossdeepCity_StevensHouse_EventScript_StevenGivesDive .2byte 0 -MossdeepCity_StevensHouse_EventScript_2227CA:: @ 82227CA +MossdeepCity_StevensHouse_EventScript_StevenGivesDive:: @ 82227CA lockall - applymovement 1, Common_Movement_WalkInPlaceLeft + applymovement 1, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 playse SE_PIN applymovement 1, Common_Movement_ExclamationMark waitmovement 0 applymovement 1, Common_Movement_Delay48 waitmovement 0 - applymovement 1, MossdeepCity_StevensHouse_Movement_222833 + applymovement 1, MossdeepCity_StevensHouse_Movement_StevenApproachPlayer waitmovement 0 - msgbox MossdeepCity_StevensHouse_Text_222936, MSGBOX_DEFAULT - giveitem_std ITEM_HM08 + msgbox MossdeepCity_StevensHouse_Text_YouveEarnedHMDive, MSGBOX_DEFAULT + giveitem ITEM_HM08 setflag FLAG_RECEIVED_HM08 setflag FLAG_OMIT_DIVE_FROM_STEVEN_LETTER - msgbox MossdeepCity_StevensHouse_Text_222A0E, MSGBOX_DEFAULT + msgbox MossdeepCity_StevensHouse_Text_ExplainDive, MSGBOX_DEFAULT closemessage delay 20 - applymovement 1, MossdeepCity_StevensHouse_Movement_22283B + applymovement 1, MossdeepCity_StevensHouse_Movement_StevenReturn waitmovement 0 setflag FLAG_HIDE_MOSSDEEP_CITY_SCOTT setflag FLAG_HIDE_SEAFLOOR_CAVERN_ENTRANCE_AQUA_GRUNT @@ -52,7 +52,7 @@ MossdeepCity_StevensHouse_EventScript_2227CA:: @ 82227CA releaseall end -MossdeepCity_StevensHouse_Movement_222833: @ 8222833 +MossdeepCity_StevensHouse_Movement_StevenApproachPlayer: @ 8222833 walk_left walk_left walk_left @@ -62,7 +62,7 @@ MossdeepCity_StevensHouse_Movement_222833: @ 8222833 walk_in_place_fastest_down step_end -MossdeepCity_StevensHouse_Movement_22283B: @ 822283B +MossdeepCity_StevensHouse_Movement_StevenReturn: @ 822283B walk_up walk_right walk_right @@ -70,89 +70,90 @@ MossdeepCity_StevensHouse_Movement_22283B: @ 822283B walk_in_place_fastest_up step_end -MossdeepCity_StevensHouse_EventScript_222841:: @ 8222841 +MossdeepCity_StevensHouse_EventScript_BeldumPokeball:: @ 8222841 lockall - msgbox MossdeepCity_StevensHouse_Text_222B9E, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_StevensHouse_EventScript_22285B - goto MossdeepCity_StevensHouse_EventScript_222865 + msgbox MossdeepCity_StevensHouse_Text_TakeBallContainingBeldum, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MossdeepCity_StevensHouse_EventScript_LeaveBeldum + goto MossdeepCity_StevensHouse_EventScript_GiveBeldum end -MossdeepCity_StevensHouse_EventScript_22285B:: @ 822285B - msgbox MossdeepCity_StevensHouse_Text_222C2A, MSGBOX_DEFAULT +MossdeepCity_StevensHouse_EventScript_LeaveBeldum:: @ 822285B + msgbox MossdeepCity_StevensHouse_Text_LeftPokeBallWhereItWas, MSGBOX_DEFAULT releaseall end -MossdeepCity_StevensHouse_EventScript_222865:: @ 8222865 +MossdeepCity_StevensHouse_EventScript_GiveBeldum:: @ 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 + goto_if_eq MossdeepCity_StevensHouse_EventScript_SendBeldumParty compare VAR_RESULT, 1 - goto_if_eq MossdeepCity_StevensHouse_EventScript_2228BD - goto MossdeepCity_StevensHouse_EventScript_273811 + goto_if_eq MossdeepCity_StevensHouse_EventScript_SendBeldumPC + goto Common_EventScript_NoMoreRoomForPokemon end -MossdeepCity_StevensHouse_EventScript_222895:: @ 8222895 - call MossdeepCity_StevensHouse_EventScript_2228EB +MossdeepCity_StevensHouse_EventScript_SendBeldumParty:: @ 8222895 + call MossdeepCity_StevensHouse_EventScript_ReceivedBeldumFanfare msgbox gText_NicknameThisPokemon, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_StevensHouse_EventScript_222901 - call MossdeepCity_StevensHouse_EventScript_27378B - call Common_EventScript_NameReceivedPokemon - goto MossdeepCity_StevensHouse_EventScript_222901 + compare VAR_RESULT, NO + goto_if_eq MossdeepCity_StevensHouse_EventScript_ReceivedBeldum + call Common_EventScript_GetGiftMonPartySlot + call Common_EventScript_NameReceivedPartyMon + goto MossdeepCity_StevensHouse_EventScript_ReceivedBeldum end -MossdeepCity_StevensHouse_EventScript_2228BD:: @ 82228BD - call MossdeepCity_StevensHouse_EventScript_2228EB +MossdeepCity_StevensHouse_EventScript_SendBeldumPC:: @ 82228BD + call MossdeepCity_StevensHouse_EventScript_ReceivedBeldumFanfare msgbox gText_NicknameThisPokemon, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_StevensHouse_EventScript_2228E0 - call MossdeepCity_StevensHouse_EventScript_273797 - goto MossdeepCity_StevensHouse_EventScript_2228E0 + compare VAR_RESULT, NO + goto_if_eq MossdeepCity_StevensHouse_EventScript_BeldumTransferredToPC + call Common_EventScript_NameReceivedBoxMon + goto MossdeepCity_StevensHouse_EventScript_BeldumTransferredToPC end -MossdeepCity_StevensHouse_EventScript_2228E0:: @ 82228E0 - call MossdeepCity_StevensHouse_EventScript_2737A0 - goto MossdeepCity_StevensHouse_EventScript_222901 +MossdeepCity_StevensHouse_EventScript_BeldumTransferredToPC:: @ 82228E0 + call Common_EventScript_TransferredToPC + goto MossdeepCity_StevensHouse_EventScript_ReceivedBeldum end -MossdeepCity_StevensHouse_EventScript_2228EB:: @ 82228EB +MossdeepCity_StevensHouse_EventScript_ReceivedBeldumFanfare:: @ 82228EB bufferspeciesname 1, SPECIES_BELDUM removeobject 2 playfanfare MUS_FANFA4 - message MossdeepCity_StevensHouse_Text_222BED + message MossdeepCity_StevensHouse_Text_ObtainedBeldum waitmessage waitfanfare bufferspeciesname 0, SPECIES_BELDUM return -MossdeepCity_StevensHouse_EventScript_222901:: @ 8222901 +MossdeepCity_StevensHouse_EventScript_ReceivedBeldum:: @ 8222901 setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL setflag FLAG_RECEIVED_BELDUM releaseall end -MossdeepCity_StevensHouse_EventScript_222909:: @ 8222909 - msgbox MossdeepCity_StevensHouse_Text_222D97, MSGBOX_SIGN +MossdeepCity_StevensHouse_EventScript_RockDisplay:: @ 8222909 + msgbox MossdeepCity_StevensHouse_Text_CollectionOfRareRocks, MSGBOX_SIGN end -MossdeepCity_StevensHouse_EventScript_222912:: @ 8222912 - msgbox MossdeepCity_StevensHouse_Text_222B11, MSGBOX_NPC +MossdeepCity_StevensHouse_EventScript_Steven:: @ 8222912 + msgbox MossdeepCity_StevensHouse_Text_UnderwateCavernBetweenMossdeepSootopolis, MSGBOX_NPC end -MossdeepCity_StevensHouse_EventScript_22291B:: @ 822291B +MossdeepCity_StevensHouse_EventScript_Letter:: @ 822291B lockall - msgbox MossdeepCity_StevensHouse_Text_222C4E, MSGBOX_DEFAULT + msgbox MossdeepCity_StevensHouse_Text_LetterFromSteven, MSGBOX_DEFAULT releaseall end -MossdeepCity_StevensHouse_EventScript_222926:: @ 8222926 - giveitem_std ITEM_HM08, 1, 1 +@ Unused, leftover from RS +MossdeepCity_StevensHouse_EventScript_DiveItemBall:: @ 8222926 + finditem ITEM_HM08 setflag FLAG_RECEIVED_HM08 end -MossdeepCity_StevensHouse_Text_222936: @ 8222936 +MossdeepCity_StevensHouse_Text_YouveEarnedHMDive: @ 8222936 .string "STEVEN: {PLAYER}{KUN}…\p" .string "As you can see, there's not much here,\n" .string "but this is my home.\p" @@ -162,7 +163,7 @@ MossdeepCity_StevensHouse_Text_222936: @ 8222936 .string "No need to be shy--you've earned\n" .string "this HM.$" -MossdeepCity_StevensHouse_Text_222A0E: @ 8222A0E +MossdeepCity_StevensHouse_Text_ExplainDive: @ 8222A0E .string "STEVEN: While you're using SURF, you\n" .string "should notice dark patches of water.\p" .string "Use DIVE if you come to deep water\n" @@ -172,30 +173,31 @@ MossdeepCity_StevensHouse_Text_222A0E: @ 8222A0E .string "In some places, it won't be possible\n" .string "for you to surface, though.$" -MossdeepCity_StevensHouse_Text_222B11: @ 8222B11 +MossdeepCity_StevensHouse_Text_UnderwateCavernBetweenMossdeepSootopolis: @ 8222B11 .string "STEVEN: Apparently, there's an\n" .string "underwater cavern between\l" .string "MOSSDEEP and SOOTOPOLIS.\p" .string "You know, the one that CAPT. STERN\n" .string "found in his submarine.$" -MossdeepCity_StevensHouse_Text_222B9E: @ 8222B9E +MossdeepCity_StevensHouse_Text_TakeBallContainingBeldum: @ 8222B9E .string "{PLAYER} checked the POKé BALL.\p" .string "It contained the POKéMON\n" .string "BELDUM.\p" .string "Take the POKé BALL?$" -MossdeepCity_StevensHouse_Text_222BED: @ 8222BED +MossdeepCity_StevensHouse_Text_ObtainedBeldum: @ 8222BED .string "{PLAYER} obtained a BELDUM.$" -MossdeepCity_StevensHouse_Text_222C03: @ 8222C03 +@ Unused +MossdeepCity_StevensHouse_Text_NoSpaceForAnotherMon: @ 8222C03 .string "There is no space for another POKéMON.$" -MossdeepCity_StevensHouse_Text_222C2A: @ 8222C2A +MossdeepCity_StevensHouse_Text_LeftPokeBallWhereItWas: @ 8222C2A .string "{PLAYER} left the POKé BALL where\n" .string "it was.$" -MossdeepCity_StevensHouse_Text_222C4E: @ 8222C4E +MossdeepCity_StevensHouse_Text_LetterFromSteven: @ 8222C4E .string "It's a letter.\p" .string "… … … … … …\p" .string "To {PLAYER}{KUN}…\p" @@ -212,7 +214,7 @@ MossdeepCity_StevensHouse_Text_222C4E: @ 8222C4E .string "May our paths cross someday.\p" .string "STEVEN STONE$" -MossdeepCity_StevensHouse_Text_222D97: @ 8222D97 +MossdeepCity_StevensHouse_Text_CollectionOfRareRocks: @ 8222D97 .string "It's a collection of rare rocks and\n" .string "stones assembled by STEVEN.$" diff --git a/data/maps/MtChimney/map.json b/data/maps/MtChimney/map.json index 2b19e7f8d8..d18415a5fe 100644 --- a/data/maps/MtChimney/map.json +++ b/data/maps/MtChimney/map.json @@ -5,7 +5,7 @@ "music": "MUS_TOZAN", "region_map_section": "MAPSEC_MT_CHIMNEY", "requires_flash": false, - "weather": "WEATHER_ASH", + "weather": "WEATHER_VOLCANIC_ASH", "map_type": "MAP_TYPE_ROUTE", "allow_bike": true, "allow_escape_rope": false, @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22EDD5", + "script": "MtChimney_EventScript_Archie", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22EE0B", + "script": "MtChimney_EventScript_Maxie", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MtChimney_EventScript_22F06E", + "script": "MtChimney_EventScript_Tabitha", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F0C0", + "script": "MtChimney_EventScript_BusyMagmaGrunt5", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F0B7", + "script": "MtChimney_EventScript_BusyMagmaGrunt4", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F05C", + "script": "MtChimney_EventScript_BusyAquaGrunt2", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F053", + "script": "MtChimney_EventScript_BusyAquaGrunt1", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F065", + "script": "MtChimney_EventScript_BusyAquaGrunt3", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22EEF3", + "script": "MtChimney_EventScript_LavaCookieLady", "flag": "FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY" }, { @@ -141,7 +141,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F0C9", + "script": "MtChimney_EventScript_BusyMagmaGrunt6", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { @@ -154,7 +154,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F0DB", + "script": "MtChimney_EventScript_AquaPoochyena", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA" }, { @@ -167,7 +167,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F0D2", + "script": "MtChimney_EventScript_MagmaPoochyena", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { @@ -180,7 +180,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F0A5", + "script": "MtChimney_EventScript_BusyMagmaGrunt2", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { @@ -193,7 +193,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F0D2", + "script": "MtChimney_EventScript_MagmaPoochyena", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { @@ -206,7 +206,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F0D2", + "script": "MtChimney_EventScript_MagmaPoochyena", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { @@ -219,7 +219,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F0AE", + "script": "MtChimney_EventScript_BusyMagmaGrunt3", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { @@ -232,7 +232,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F09C", + "script": "MtChimney_EventScript_BusyMagmaGrunt1", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { @@ -245,7 +245,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F0DB", + "script": "MtChimney_EventScript_AquaPoochyena", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA" }, { @@ -258,7 +258,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F0D2", + "script": "MtChimney_EventScript_MagmaPoochyena", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { @@ -271,7 +271,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F0DB", + "script": "MtChimney_EventScript_AquaPoochyena", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA" }, { @@ -284,7 +284,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F0D2", + "script": "MtChimney_EventScript_MagmaPoochyena", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { @@ -297,7 +297,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MtChimney_EventScript_22F085", + "script": "MtChimney_EventScript_Grunt2", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { @@ -310,7 +310,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F0DB", + "script": "MtChimney_EventScript_AquaPoochyena", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA" }, { @@ -323,7 +323,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_EventScript_22F0D2", + "script": "MtChimney_EventScript_MagmaPoochyena", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { @@ -336,7 +336,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MtChimney_EventScript_22F14A", + "script": "MtChimney_EventScript_Shelby", "flag": "FLAG_HIDE_MT_CHIMNEY_TRAINERS" }, { @@ -349,7 +349,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "MtChimney_EventScript_22F1AC", + "script": "MtChimney_EventScript_Melissa", "flag": "FLAG_HIDE_MT_CHIMNEY_TRAINERS" }, { @@ -362,7 +362,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MtChimney_EventScript_22F1C3", + "script": "MtChimney_EventScript_Sheila", "flag": "FLAG_HIDE_MT_CHIMNEY_TRAINERS" }, { @@ -375,7 +375,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MtChimney_EventScript_22F1DA", + "script": "MtChimney_EventScript_Shirley", "flag": "FLAG_HIDE_MT_CHIMNEY_TRAINERS" }, { @@ -388,7 +388,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MtChimney_EventScript_22F1F1", + "script": "MtChimney_EventScript_Grunt1", "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { @@ -401,7 +401,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "MtChimney_EventScript_22F208", + "script": "MtChimney_EventScript_Sawyer", "flag": "FLAG_HIDE_MT_CHIMNEY_TRAINERS" } ], @@ -443,7 +443,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MtChimney_EventScript_22F0E4" + "script": "MtChimney_EventScript_MeteoriteMachine" }, { "type": "sign", @@ -451,7 +451,7 @@ "y": 37, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "MtChimney_EventScript_22F141" + "script": "MtChimney_EventScript_RouteSign" } ] } \ No newline at end of file diff --git a/data/maps/MtChimney/scripts.inc b/data/maps/MtChimney/scripts.inc index 717973eba1..8371d811b8 100644 --- a/data/maps/MtChimney/scripts.inc +++ b/data/maps/MtChimney/scripts.inc @@ -1,5 +1,5 @@ MtChimney_MapScripts:: @ 822EDC1 - map_script MAP_SCRIPT_ON_RESUME, MtChimney_MapScript1_22EDD2 + map_script MAP_SCRIPT_ON_RESUME, MtChimney_OnResume map_script MAP_SCRIPT_ON_TRANSITION, MtChimney_OnTransition .byte 0 @@ -7,15 +7,15 @@ MtChimney_OnTransition: @ 822EDCC setvar VAR_JAGGED_PASS_ASH_WEATHER, 1 end -MtChimney_MapScript1_22EDD2: @ 822EDD2 - setstepcallback 1 +MtChimney_OnResume: @ 822EDD2 + setstepcallback STEP_CB_ASH end -MtChimney_EventScript_22EDD5:: @ 822EDD5 +MtChimney_EventScript_Archie:: @ 822EDD5 lock faceplayer - call_if_unset FLAG_EVIL_LEADER_PLEASE_STOP, MtChimney_EventScript_22EDF9 - call_if_set FLAG_EVIL_LEADER_PLEASE_STOP, MtChimney_EventScript_22EE02 + call_if_unset FLAG_EVIL_LEADER_PLEASE_STOP, MtChimney_EventScript_ArchieGoStopTeamMagma + call_if_set FLAG_EVIL_LEADER_PLEASE_STOP, MtChimney_EventScript_ArchieBusyFighting closemessage applymovement 1, Common_Movement_FaceOriginalDirection waitmovement 0 @@ -23,18 +23,18 @@ MtChimney_EventScript_22EDD5:: @ 822EDD5 release end -MtChimney_EventScript_22EDF9:: @ 822EDF9 - msgbox MtChimney_Text_22FAD2, MSGBOX_DEFAULT +MtChimney_EventScript_ArchieGoStopTeamMagma:: @ 822EDF9 + msgbox MtChimney_Text_ArchieGoStopTeamMagma, MSGBOX_DEFAULT return -MtChimney_EventScript_22EE02:: @ 822EE02 - msgbox MtChimney_Text_22FBC7, MSGBOX_DEFAULT +MtChimney_EventScript_ArchieBusyFighting:: @ 822EE02 + msgbox MtChimney_Text_ArchieIHaveMyHandsFull, MSGBOX_DEFAULT return -MtChimney_EventScript_22EE0B:: @ 822EE0B +MtChimney_EventScript_Maxie:: @ 822EE0B lockall playbgm MUS_MGM0, 0 - msgbox MtChimney_Text_22F26A, MSGBOX_DEFAULT + msgbox MtChimney_Text_MeteoriteWillActivateVolcano, MSGBOX_DEFAULT applymovement 2, Common_Movement_FacePlayer waitmovement 0 playse SE_PIN @@ -42,114 +42,106 @@ MtChimney_EventScript_22EE0B:: @ 822EE0B waitmovement 0 applymovement 2, Common_Movement_Delay48 waitmovement 0 - msgbox MtChimney_Text_22F32E, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_MAXIE_2, MtChimney_Text_22F5CF - msgbox MtChimney_Text_22F5F7, MSGBOX_DEFAULT + msgbox MtChimney_Text_MaxieIntro, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_MAXIE_MT_CHIMNEY, MtChimney_Text_MaxieDefeat + msgbox MtChimney_Text_MaxieYouHaventSeenLastOfMagma, MSGBOX_DEFAULT closemessage delay 30 - fadescreen 1 + fadescreen FADE_TO_BLACK removeobject 2 removeobject 29 removeobject 3 removeobject 22 setflag FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA - fadescreen 0 + fadescreen FADE_FROM_BLACK setobjectxyperm 1, 10, 12 addobject 1 - compare VAR_FACING, 4 - call_if_eq MtChimney_EventScript_22EEC7 - compare VAR_FACING, 2 - call_if_eq MtChimney_EventScript_22EED2 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + compare VAR_FACING, DIR_EAST + call_if_eq MtChimney_EventScript_ArchieApproachPlayerEast + compare VAR_FACING, DIR_NORTH + call_if_eq MtChimney_EventScript_ArchieApproachPlayerNorth + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox MtChimney_Text_22FC3D, MSGBOX_DEFAULT + msgbox MtChimney_Text_ArchieThankYou, MSGBOX_DEFAULT closemessage - compare VAR_FACING, 4 - call_if_eq MtChimney_EventScript_22EEDD - compare VAR_FACING, 2 - call_if_eq MtChimney_EventScript_22EEE8 + compare VAR_FACING, DIR_EAST + call_if_eq MtChimney_EventScript_ArchieExitEast + compare VAR_FACING, DIR_NORTH + call_if_eq MtChimney_EventScript_ArchieExitNorth removeobject 1 setflag FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA setflag FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY - clearflag FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO + clearflag FLAG_HIDE_FALLARBOR_HOUSE_PROF_COZMO setflag FLAG_HIDE_METEOR_FALLS_1F_1R_COZMO clearflag FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY releaseall end -MtChimney_EventScript_22EEC7:: @ 822EEC7 - applymovement 1, MtChimney_Movement_22EF83 +MtChimney_EventScript_ArchieApproachPlayerEast:: @ 822EEC7 + applymovement 1, MtChimney_Movement_ArchieApproachPlayerEast waitmovement 0 return -MtChimney_EventScript_22EED2:: @ 822EED2 - applymovement 1, MtChimney_Movement_22EF94 +MtChimney_EventScript_ArchieApproachPlayerNorth:: @ 822EED2 + applymovement 1, MtChimney_Movement_ArchieApproachPlayerNorth waitmovement 0 return -MtChimney_EventScript_22EEDD:: @ 822EEDD - applymovement 1, MtChimney_Movement_22EF8B +MtChimney_EventScript_ArchieExitEast:: @ 822EEDD + applymovement 1, MtChimney_Movement_ArchieExitEast waitmovement 0 return -MtChimney_EventScript_22EEE8:: @ 822EEE8 - applymovement 1, MtChimney_Movement_22EF9C +MtChimney_EventScript_ArchieExitNorth:: @ 822EEE8 + applymovement 1, MtChimney_Movement_ArchieExitNorth waitmovement 0 return -MtChimney_EventScript_22EEF3:: @ 822EEF3 +MtChimney_EventScript_LavaCookieLady:: @ 822EEF3 lock faceplayer showmoneybox 0, 0, 0 - msgbox MtChimney_Text_22FE04, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MtChimney_EventScript_22EF69 - checkmoney 0xc8, 0 - compare VAR_RESULT, 0 - goto_if_eq MtChimney_EventScript_22EF76 - msgbox MtChimney_Text_22FE4D, MSGBOX_DEFAULT + msgbox MtChimney_Text_LavaCookiesJust200, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MtChimney_EventScript_DeclineLavaCookie + checkmoney 200, 0 + compare VAR_RESULT, FALSE + goto_if_eq MtChimney_EventScript_NotEnoughMoney + msgbox MtChimney_Text_ThankYouDear, MSGBOX_DEFAULT checkitemspace ITEM_LAVA_COOKIE, 1 - compare VAR_RESULT, 1 - call_if_eq MtChimney_EventScript_22EF5E - giveitem_std ITEM_LAVA_COOKIE - compare VAR_RESULT, 0 - goto_if_eq MtChimney_EventScript_22EF51 + compare VAR_RESULT, TRUE + call_if_eq MtChimney_EventScript_RemoveMoney + giveitem ITEM_LAVA_COOKIE + compare VAR_RESULT, FALSE + goto_if_eq MtChimney_EventScript_BagIsFull hidemoneybox - nop - nop release end -MtChimney_EventScript_22EF51:: @ 822EF51 +MtChimney_EventScript_BagIsFull:: @ 822EF51 msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT hidemoneybox - nop - nop release end -MtChimney_EventScript_22EF5E:: @ 822EF5E - takemoney 0xc8, 0 +MtChimney_EventScript_RemoveMoney:: @ 822EF5E + removemoney 200, 0 updatemoneybox 0, 0 return -MtChimney_EventScript_22EF69:: @ 822EF69 - msgbox MtChimney_Text_22FE9B, MSGBOX_DEFAULT +MtChimney_EventScript_DeclineLavaCookie:: @ 822EF69 + msgbox MtChimney_Text_OhFineThen, MSGBOX_DEFAULT hidemoneybox - nop - nop release end -MtChimney_EventScript_22EF76:: @ 822EF76 - msgbox MtChimney_Text_22FE5E, MSGBOX_DEFAULT +MtChimney_EventScript_NotEnoughMoney:: @ 822EF76 + msgbox MtChimney_Text_YouveNotGotTheMoney, MSGBOX_DEFAULT hidemoneybox - nop - nop release end -MtChimney_Movement_22EF83: @ 822EF83 +MtChimney_Movement_ArchieApproachPlayerEast: @ 822EF83 walk_up walk_up walk_up @@ -159,7 +151,7 @@ MtChimney_Movement_22EF83: @ 822EF83 walk_right step_end -MtChimney_Movement_22EF8B: @ 822EF8B +MtChimney_Movement_ArchieExitEast: @ 822EF8B walk_left walk_down walk_down @@ -170,7 +162,7 @@ MtChimney_Movement_22EF8B: @ 822EF8B walk_down step_end -MtChimney_Movement_22EF94: @ 822EF94 +MtChimney_Movement_ArchieApproachPlayerNorth: @ 822EF94 walk_up walk_up walk_up @@ -180,7 +172,7 @@ MtChimney_Movement_22EF94: @ 822EF94 walk_right step_end -MtChimney_Movement_22EF9C: @ 822EF9C +MtChimney_Movement_ArchieExitNorth: @ 822EF9C walk_left walk_left walk_down @@ -192,7 +184,7 @@ MtChimney_Movement_22EF9C: @ 822EF9C walk_down step_end -MtChimney_Movement_22EFA6: @ 822EFA6 +MtChimney_Movement_Unused1: @ 822EFA6 walk_down walk_down walk_down @@ -212,7 +204,7 @@ MtChimney_Movement_22EFA6: @ 822EFA6 walk_down step_end -MtChimney_Movement_22EFB8: @ 822EFB8 +MtChimney_Movement_Unused2: @ 822EFB8 walk_down walk_down walk_down @@ -223,7 +215,7 @@ MtChimney_Movement_22EFB8: @ 822EFB8 walk_down step_end -MtChimney_Movement_22EFC1: @ 822EFC1 +MtChimney_Movement_Unused3: @ 822EFC1 walk_right walk_down walk_down @@ -240,7 +232,7 @@ MtChimney_Movement_22EFC1: @ 822EFC1 walk_down step_end -MtChimney_Movement_22EFD0: @ 822EFD0 +MtChimney_Movement_Unused4: @ 822EFD0 walk_fast_down walk_fast_down walk_fast_down @@ -267,7 +259,7 @@ MtChimney_Movement_22EFD0: @ 822EFD0 walk_down step_end -MtChimney_Movement_22EFE9: @ 822EFE9 +MtChimney_Movement_Unused5: @ 822EFE9 delay_16 delay_16 delay_16 @@ -280,7 +272,7 @@ MtChimney_Movement_22EFE9: @ 822EFE9 walk_down step_end -MtChimney_Movement_22EFF4: @ 822EFF4 +MtChimney_Movement_Unused6: @ 822EFF4 delay_16 walk_left walk_down @@ -298,7 +290,7 @@ MtChimney_Movement_22EFF4: @ 822EFF4 walk_down step_end -MtChimney_Movement_22F004: @ 822F004 +MtChimney_Movement_Unused7: @ 822F004 delay_16 walk_left walk_left @@ -317,7 +309,7 @@ MtChimney_Movement_22F004: @ 822F004 walk_down step_end -MtChimney_Movement_22F015: @ 822F015 +MtChimney_Movement_Unused8: @ 822F015 delay_16 walk_down walk_left @@ -327,7 +319,7 @@ MtChimney_Movement_22F015: @ 822F015 walk_in_place_fastest_down step_end -MtChimney_Movement_22F01D: @ 822F01D +MtChimney_Movement_Unused9: @ 822F01D walk_down walk_down walk_down @@ -343,11 +335,11 @@ MtChimney_Movement_22F01D: @ 822F01D walk_down step_end -MtChimney_Movement_22F02B: @ 822F02B +MtChimney_Movement_Unused10: @ 822F02B walk_down step_end -MtChimney_Movement_22F02D: @ 822F02D +MtChimney_Movement_Unused11: @ 822F02D walk_down walk_down walk_down @@ -357,7 +349,7 @@ MtChimney_Movement_22F02D: @ 822F02D walk_down step_end -MtChimney_Movement_22F035: @ 822F035 +MtChimney_Movement_Unused12: @ 822F035 delay_16 delay_16 walk_in_place_fastest_left @@ -369,7 +361,7 @@ MtChimney_Movement_22F035: @ 822F035 walk_down step_end -MtChimney_Movement_22F03F: @ 822F03F +MtChimney_Movement_Unused13: @ 822F03F delay_16 delay_16 delay_16 @@ -382,170 +374,170 @@ MtChimney_Movement_22F03F: @ 822F03F walk_down step_end -MtChimney_Movement_22F04A: @ 822F04A +MtChimney_Movement_Unused14: @ 822F04A lock_facing_direction walk_fast_left unlock_facing_direction face_right step_end -MtChimney_Movement_22F04F: @ 822F04F +MtChimney_Movement_Unused15: @ 822F04F walk_left walk_in_place_fastest_right delay_16 step_end -MtChimney_EventScript_22F053:: @ 822F053 - msgbox MtChimney_Text_22FD1F, MSGBOX_SIGN +MtChimney_EventScript_BusyAquaGrunt1:: @ 822F053 + msgbox MtChimney_Text_MagmaOutnumbersUs, MSGBOX_SIGN end -MtChimney_EventScript_22F05C:: @ 822F05C - msgbox MtChimney_Text_22FD5B, MSGBOX_SIGN +MtChimney_EventScript_BusyAquaGrunt2:: @ 822F05C + msgbox MtChimney_Text_LessHabitatForWaterPokemon, MSGBOX_SIGN end -MtChimney_EventScript_22F065:: @ 822F065 - msgbox MtChimney_Text_22FDA1, MSGBOX_SIGN +MtChimney_EventScript_BusyAquaGrunt3:: @ 822F065 + msgbox MtChimney_Text_MagmasNameSimilar, MSGBOX_SIGN end -MtChimney_EventScript_22F06E:: @ 822F06E - trainerbattle_single TRAINER_TABITHA_2, MtChimney_Text_22F6AA, MtChimney_Text_22F72C - msgbox MtChimney_Text_22F76D, MSGBOX_AUTOCLOSE +MtChimney_EventScript_Tabitha:: @ 822F06E + trainerbattle_single TRAINER_TABITHA_MT_CHIMNEY, MtChimney_Text_TabithaIntro, MtChimney_Text_TabithaDefeat + msgbox MtChimney_Text_TabithaPostBattle, MSGBOX_AUTOCLOSE end -MtChimney_EventScript_22F085:: @ 822F085 - trainerbattle_single TRAINER_GRUNT_31, MtChimney_Text_22F7A2, MtChimney_Text_22F83A - msgbox MtChimney_Text_22F859, MSGBOX_AUTOCLOSE +MtChimney_EventScript_Grunt2:: @ 822F085 + trainerbattle_single TRAINER_GRUNT_MT_CHIMNEY_2, MtChimney_Text_Grunt2Intro, MtChimney_Text_Grunt2Defeat + msgbox MtChimney_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end -MtChimney_EventScript_22F09C:: @ 822F09C - msgbox MtChimney_Text_22F978, MSGBOX_SIGN +MtChimney_EventScript_BusyMagmaGrunt1:: @ 822F09C + msgbox MtChimney_Text_TeamAquaAlwaysMessingWithPlans, MSGBOX_SIGN end -MtChimney_EventScript_22F0A5:: @ 822F0A5 - msgbox MtChimney_Text_22F9B2, MSGBOX_SIGN +MtChimney_EventScript_BusyMagmaGrunt2:: @ 822F0A5 + msgbox MtChimney_Text_MeteoritesPackAmazingPower, MSGBOX_SIGN end -MtChimney_EventScript_22F0AE:: @ 822F0AE - msgbox MtChimney_Text_22F9D1, MSGBOX_SIGN +MtChimney_EventScript_BusyMagmaGrunt3:: @ 822F0AE + msgbox MtChimney_Text_YouBetterNotMessWithUs, MSGBOX_SIGN end -MtChimney_EventScript_22F0B7:: @ 822F0B7 - msgbox MtChimney_Text_22FA2F, MSGBOX_SIGN +MtChimney_EventScript_BusyMagmaGrunt4:: @ 822F0B7 + msgbox MtChimney_Text_AquasNameSimilar, MSGBOX_SIGN end -MtChimney_EventScript_22F0C0:: @ 822F0C0 - msgbox MtChimney_Text_22FA8B, MSGBOX_SIGN +MtChimney_EventScript_BusyMagmaGrunt5:: @ 822F0C0 + msgbox MtChimney_Text_DouseThemInFire, MSGBOX_SIGN end -MtChimney_EventScript_22F0C9:: @ 822F0C9 - msgbox MtChimney_Text_22FAA5, MSGBOX_SIGN +MtChimney_EventScript_BusyMagmaGrunt6:: @ 822F0C9 + msgbox MtChimney_Text_KeepMakingMoreLand, MSGBOX_SIGN end -MtChimney_EventScript_22F0D2:: @ 822F0D2 - msgbox MtChimney_Text_22FACB, MSGBOX_SIGN +MtChimney_EventScript_MagmaPoochyena:: @ 822F0D2 + msgbox MtChimney_Text_Bufoh, MSGBOX_SIGN end -MtChimney_EventScript_22F0DB:: @ 822F0DB - msgbox MtChimney_Text_22FDFC, MSGBOX_SIGN +MtChimney_EventScript_AquaPoochyena:: @ 822F0DB + msgbox MtChimney_Text_Bushaa, MSGBOX_SIGN end -MtChimney_EventScript_22F0E4:: @ 822F0E4 +MtChimney_EventScript_MeteoriteMachine:: @ 822F0E4 lockall - goto_if_unset FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, MtChimney_EventScript_22F137 - goto_if_set FLAG_RECEIVED_METEORITE, MtChimney_EventScript_22F12D - msgbox MtChimney_Text_22FF12, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MtChimney_EventScript_22F123 - msgbox MtChimney_Text_22FF66, MSGBOX_DEFAULT - giveitem_std ITEM_METEORITE + goto_if_unset FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, MtChimney_EventScript_MachineOn + goto_if_set FLAG_RECEIVED_METEORITE, MtChimney_EventScript_MachineOff + msgbox MtChimney_Text_RemoveTheMeteorite, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MtChimney_EventScript_LeaveMeteoriteAlone + msgbox MtChimney_Text_PlayerRemovedMeteorite, MSGBOX_DEFAULT + giveitem ITEM_METEORITE setflag FLAG_RECEIVED_METEORITE releaseall end -MtChimney_EventScript_22F123:: @ 822F123 - msgbox MtChimney_Text_22FF9C, MSGBOX_DEFAULT +MtChimney_EventScript_LeaveMeteoriteAlone:: @ 822F123 + msgbox MtChimney_Text_PlayerLeftMeteorite, MSGBOX_DEFAULT releaseall end -MtChimney_EventScript_22F12D:: @ 822F12D - msgbox MtChimney_Text_22FFC0, MSGBOX_DEFAULT +MtChimney_EventScript_MachineOff:: @ 822F12D + msgbox MtChimney_Text_MachineMakesNoResponse, MSGBOX_DEFAULT releaseall end -MtChimney_EventScript_22F137:: @ 822F137 - msgbox MtChimney_Text_22FEAA, MSGBOX_DEFAULT +MtChimney_EventScript_MachineOn:: @ 822F137 + msgbox MtChimney_Text_MetoriteFittedOnMachine, MSGBOX_DEFAULT releaseall end -MtChimney_EventScript_22F141:: @ 822F141 - msgbox MtChimney_Text_22FFFA, MSGBOX_SIGN +MtChimney_EventScript_RouteSign:: @ 822F141 + msgbox MtChimney_Text_RouteSign, MSGBOX_SIGN end -MtChimney_EventScript_22F14A:: @ 822F14A - trainerbattle_single TRAINER_SHELBY_1, MtChimney_Text_23001D, MtChimney_Text_230076, MtChimney_EventScript_22F176 +MtChimney_EventScript_Shelby:: @ 822F14A + trainerbattle_single TRAINER_SHELBY_1, MtChimney_Text_ShelbyIntro, MtChimney_Text_ShelbyDefeat, MtChimney_EventScript_DefeatedShelby specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq MtChimney_EventScript_22F195 - msgbox MtChimney_Text_2300A2, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq MtChimney_EventScript_RematchShelby + msgbox MtChimney_Text_ShelbyPostBattle, MSGBOX_DEFAULT release end -MtChimney_EventScript_22F176:: @ 822F176 - special sub_80B4808 +MtChimney_EventScript_DefeatedShelby:: @ 822F176 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox MtChimney_Text_2300E3, MSGBOX_DEFAULT + msgbox MtChimney_Text_ShelbyRegister, MSGBOX_DEFAULT register_matchcall TRAINER_SHELBY_1 release end -MtChimney_EventScript_22F195:: @ 822F195 - trainerbattle_rematch TRAINER_SHELBY_1, MtChimney_Text_230153, MtChimney_Text_2301BB - msgbox MtChimney_Text_2301E7, MSGBOX_AUTOCLOSE +MtChimney_EventScript_RematchShelby:: @ 822F195 + trainerbattle_rematch TRAINER_SHELBY_1, MtChimney_Text_ShelbyRematchIntro, MtChimney_Text_ShelbyRematchDefeat + msgbox MtChimney_Text_ShelbyPostRematch, MSGBOX_AUTOCLOSE end -MtChimney_EventScript_22F1AC:: @ 822F1AC - trainerbattle_single TRAINER_MELISSA, MtChimney_Text_23022A, MtChimney_Text_23026D - msgbox MtChimney_Text_230292, MSGBOX_AUTOCLOSE +MtChimney_EventScript_Melissa:: @ 822F1AC + trainerbattle_single TRAINER_MELISSA, MtChimney_Text_MelissaIntro, MtChimney_Text_MelissaDefeat + msgbox MtChimney_Text_MelissaPostBattle, MSGBOX_AUTOCLOSE end -MtChimney_EventScript_22F1C3:: @ 822F1C3 - trainerbattle_single TRAINER_SHEILA, MtChimney_Text_2302BD, MtChimney_Text_230304 - msgbox MtChimney_Text_23033A, MSGBOX_AUTOCLOSE +MtChimney_EventScript_Sheila:: @ 822F1C3 + trainerbattle_single TRAINER_SHEILA, MtChimney_Text_SheilaIntro, MtChimney_Text_SheilaDefeat + msgbox MtChimney_Text_SheilaPostBattle, MSGBOX_AUTOCLOSE end -MtChimney_EventScript_22F1DA:: @ 822F1DA - trainerbattle_single TRAINER_SHIRLEY, MtChimney_Text_2303DF, MtChimney_Text_230436 - msgbox MtChimney_Text_230463, MSGBOX_AUTOCLOSE +MtChimney_EventScript_Shirley:: @ 822F1DA + trainerbattle_single TRAINER_SHIRLEY, MtChimney_Text_ShirleyIntro, MtChimney_Text_ShirleyDefeat + msgbox MtChimney_Text_ShirleyPostBattle, MSGBOX_AUTOCLOSE end -MtChimney_EventScript_22F1F1:: @ 822F1F1 - trainerbattle_single TRAINER_GRUNT_24, MtChimney_Text_22F8B6, MtChimney_Text_22F921 - msgbox MtChimney_Text_22F93A, MSGBOX_AUTOCLOSE +MtChimney_EventScript_Grunt1:: @ 822F1F1 + trainerbattle_single TRAINER_GRUNT_MT_CHIMNEY_1, MtChimney_Text_Grunt1Intro, MtChimney_Text_Grunt1Defeat + msgbox MtChimney_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -MtChimney_EventScript_22F208:: @ 822F208 - trainerbattle_single TRAINER_SAWYER_1, MtChimney_Text_2304B3, MtChimney_Text_2304F7, MtChimney_EventScript_22F234 +MtChimney_EventScript_Sawyer:: @ 822F208 + trainerbattle_single TRAINER_SAWYER_1, MtChimney_Text_SawyerIntro, MtChimney_Text_SawyerDefeat, MtChimney_EventScript_SawyerDefeated specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq MtChimney_EventScript_22F253 - msgbox MtChimney_Text_230519, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq MtChimney_EventScript_SawyerRematch + msgbox MtChimney_Text_SawyerPostBattle, MSGBOX_DEFAULT release end -MtChimney_EventScript_22F234:: @ 822F234 - special sub_80B4808 +MtChimney_EventScript_SawyerDefeated:: @ 822F234 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox MtChimney_Text_230557, MSGBOX_DEFAULT + msgbox MtChimney_Text_SawyerRegister, MSGBOX_DEFAULT register_matchcall TRAINER_SAWYER_1 release end -MtChimney_EventScript_22F253:: @ 822F253 - trainerbattle_rematch TRAINER_SAWYER_1, MtChimney_Text_23059C, MtChimney_Text_2305E3 - msgbox MtChimney_Text_230614, MSGBOX_AUTOCLOSE +MtChimney_EventScript_SawyerRematch:: @ 822F253 + trainerbattle_rematch TRAINER_SAWYER_1, MtChimney_Text_SawyerRematchIntro, MtChimney_Text_SawyerRematchDefeat + msgbox MtChimney_Text_SawyerPostRematch, MSGBOX_AUTOCLOSE end -MtChimney_Text_22F26A: @ 822F26A +MtChimney_Text_MeteoriteWillActivateVolcano: @ 822F26A .string "The power contained in the METEORITE…\p" .string "By amplifying its power with this\n" .string "machine, MT. CHIMNEY's volcanic\l" @@ -554,7 +546,7 @@ MtChimney_Text_22F26A: @ 822F26A .string "the crater and…\l" .string "Fufufu…$" -MtChimney_Text_22F32E: @ 822F32E +MtChimney_Text_MaxieIntro: @ 822F32E .string "MAXIE: Hm?\n" .string "Who are you?\p" .string "… … … … … …\n" @@ -582,11 +574,11 @@ MtChimney_Text_22F32E: @ 822F32E .string "I'll teach you the consequences of\l" .string "meddling in our grand design!$" -MtChimney_Text_22F5CF: @ 822F5CF +MtChimney_Text_MaxieDefeat: @ 822F5CF .string "What?!\p" .string "I, MAXIE, was caught off guard?!$" -MtChimney_Text_22F5F7: @ 822F5F7 +MtChimney_Text_MaxieYouHaventSeenLastOfMagma: @ 822F5F7 .string "MAXIE: But, enough.\n" .string "I will back off this time.\p" .string "But don't think that this is the last\n" @@ -595,81 +587,81 @@ MtChimney_Text_22F5F7: @ 822F5F7 .string "Even without the METEORITE, if we\n" .string "obtain that ORB… Fufufu…$" -MtChimney_Text_22F6AA: @ 822F6AA +MtChimney_Text_TabithaIntro: @ 822F6AA .string "Hehehe!\p" .string "So you've come all the way here!\p" .string "But you're too late!\n" .string "I've already delivered the METEORITE\l" .string "from METEOR FALLS to the BOSS!$" -MtChimney_Text_22F72C: @ 822F72C +MtChimney_Text_TabithaDefeat: @ 822F72C .string "Hehehe…\p" .string "Even though I've lost, if our leader\n" .string "awakens that thing…$" -MtChimney_Text_22F76D: @ 822F76D +MtChimney_Text_TabithaPostBattle: @ 822F76D .string "BOSS, hurry!\n" .string "Give it the METEORITE's energy!\p" .string "Hehehe…$" -MtChimney_Text_22F7A2: @ 822F7A2 +MtChimney_Text_Grunt2Intro: @ 822F7A2 .string "We of TEAM MAGMA are working hard for\n" .string "everyone's sake.\p" .string "Like, if that thing's power made more\n" .string "land, there'd be more places to live.\p" .string "Everyone'd be happy!$" -MtChimney_Text_22F83A: @ 822F83A +MtChimney_Text_Grunt2Defeat: @ 822F83A .string "Hunh?\n" .string "What do you mean I lost?$" -MtChimney_Text_22F859: @ 822F859 +MtChimney_Text_Grunt2PostBattle: @ 822F859 .string "Our BOSS says, “It will make everyone\n" .string "happy.”\p" .string "But why does everyone keep getting\n" .string "in our way?$" -MtChimney_Text_22F8B6: @ 822F8B6 +MtChimney_Text_Grunt1Intro: @ 822F8B6 .string "If there were more land, I'd be able\n" .string "to get a big house of my own!\p" .string "I'm going to build it on hardened lava!$" -MtChimney_Text_22F921: @ 822F921 +MtChimney_Text_Grunt1Defeat: @ 822F921 .string "My dream of a big house…$" -MtChimney_Text_22F93A: @ 822F93A +MtChimney_Text_Grunt1PostBattle: @ 822F93A .string "A kid like you, you ought to be\n" .string "splashing about in the waves!$" -MtChimney_Text_22F978: @ 822F978 +MtChimney_Text_TeamAquaAlwaysMessingWithPlans: @ 822F978 .string "That annoying TEAM AQUA…\n" .string "They always mess with our plans!$" -MtChimney_Text_22F9B2: @ 822F9B2 +MtChimney_Text_MeteoritesPackAmazingPower: @ 822F9B2 .string "METEORITES pack amazing power!$" -MtChimney_Text_22F9D1: @ 822F9D1 +MtChimney_Text_YouBetterNotMessWithUs: @ 822F9D1 .string "You'd better not mess with us!\p" .string "We're trying to awaken that thing\n" .string "for the benefit of everyone!$" -MtChimney_Text_22FA2F: @ 822FA2F +MtChimney_Text_AquasNameSimilar: @ 822FA2F .string "We're TEAM MAGMA!\p" .string "They're TEAM AQUA!\p" .string "It totally annoys me that they'd\n" .string "use a name like ours!$" -MtChimney_Text_22FA8B: @ 822FA8B +MtChimney_Text_DouseThemInFire: @ 822FA8B .string "Yeah!\n" .string "Douse them in fire!$" -MtChimney_Text_22FAA5: @ 822FAA5 +MtChimney_Text_KeepMakingMoreLand: @ 822FAA5 .string "We're going to keep making more land!$" -MtChimney_Text_22FACB: @ 822FACB +MtChimney_Text_Bufoh: @ 822FACB .string "Bufoh!$" -MtChimney_Text_22FAD2: @ 822FAD2 +MtChimney_Text_ArchieGoStopTeamMagma: @ 822FAD2 .string "ARCHIE: Grr, {PLAYER}!\n" .string "I should've guessed you'd show up!\p" .string "See for yourself what the fanatics\n" @@ -679,14 +671,14 @@ MtChimney_Text_22FAD2: @ 822FAD2 .string "Doing something like that will cause\n" .string "the volcano's eruption!$" -MtChimney_Text_22FBC7: @ 822FBC7 +MtChimney_Text_ArchieIHaveMyHandsFull: @ 822FBC7 .string "ARCHIE: Grrr…\p" .string "I want to stop that MAXIE,\n" .string "but I can't!\p" .string "Not when I have my hands full battling\n" .string "three opponents at once!$" -MtChimney_Text_22FC3D: @ 822FC3D +MtChimney_Text_ArchieThankYou: @ 822FC3D .string "ARCHIE: {PLAYER}!\n" .string "Thank you!\p" .string "With your help, we thwarted TEAM\n" @@ -698,161 +690,161 @@ MtChimney_Text_22FC3D: @ 822FC3D .string "our pursuit of TEAM MAGMA.\p" .string "{PLAYER}, we shall meet again!$" -MtChimney_Text_22FD1F: @ 822FD1F +MtChimney_Text_MagmaOutnumbersUs: @ 822FD1F .string "Darn… TEAM MAGMA outnumbers us!\n" .string "We can't keep up with them!$" -MtChimney_Text_22FD5B: @ 822FD5B +MtChimney_Text_LessHabitatForWaterPokemon: @ 822FD5B .string "If they expand the land, there'll be\n" .string "less habitats for WATER POKéMON!$" -MtChimney_Text_22FDA1: @ 822FDA1 +MtChimney_Text_MagmasNameSimilar: @ 822FDA1 .string "We're TEAM AQUA!\p" .string "They're TEAM MAGMA!\p" .string "It burns me up that they'd use such\n" .string "a confusing name!$" -MtChimney_Text_22FDFC: @ 822FDFC +MtChimney_Text_Bushaa: @ 822FDFC .string "Bushaa!$" -MtChimney_Text_22FE04: @ 822FE04 +MtChimney_Text_LavaCookiesJust200: @ 822FE04 .string "LAVA COOKIES are MT. CHIMNEY's local\n" .string "specialty.\p" .string "Try one. It's just ¥200.$" -MtChimney_Text_22FE4D: @ 822FE4D +MtChimney_Text_ThankYouDear: @ 822FE4D .string "Thank you, dear!$" -MtChimney_Text_22FE5E: @ 822FE5E +MtChimney_Text_YouveNotGotTheMoney: @ 822FE5E .string "Oh, dear. You can't buy a thing if\n" .string "you've not got the money.$" -MtChimney_Text_22FE9B: @ 822FE9B +MtChimney_Text_OhFineThen: @ 822FE9B .string "Oh, fine then.$" -MtChimney_Text_22FEAA: @ 822FEAA +MtChimney_Text_MetoriteFittedOnMachine: @ 822FEAA .string "A METEORITE is fitted on a mysterious\n" .string "machine…\p" .string "The machine seems to be storing\n" .string "energy in the METEORITE.$" -MtChimney_Text_22FF12: @ 822FF12 +MtChimney_Text_RemoveTheMeteorite: @ 822FF12 .string "A METEORITE is fitted on a mysterious\n" .string "machine…\p" .string "Do you want to remove the METEORITE?$" -MtChimney_Text_22FF66: @ 822FF66 +MtChimney_Text_PlayerRemovedMeteorite: @ 822FF66 .string "{PLAYER} removed the METEORITE from\n" .string "the mysterious machine.$" -MtChimney_Text_22FF9C: @ 822FF9C +MtChimney_Text_PlayerLeftMeteorite: @ 822FF9C .string "{PLAYER} left the METEORITE where\n" .string "it was.$" -MtChimney_Text_22FFC0: @ 822FFC0 +MtChimney_Text_MachineMakesNoResponse: @ 822FFC0 .string "This mysterious machine…\n" .string "It makes no response whatsoever.$" -MtChimney_Text_22FFFA: @ 822FFFA +MtChimney_Text_RouteSign: @ 822FFFA .string "{DOWN_ARROW} JAGGED PATH\n" .string "LAVARIDGE TOWN AHEAD$" -MtChimney_Text_23001D: @ 823001D +MtChimney_Text_ShelbyIntro: @ 823001D .string "I've been to the hot springs and\n" .string "refreshed my tired bones.\l" .string "Right now I'm feeling strong!$" -MtChimney_Text_230076: @ 8230076 +MtChimney_Text_ShelbyDefeat: @ 8230076 .string "Oh, my goodness.\n" .string "Now, aren't you something!$" -MtChimney_Text_2300A2: @ 82300A2 +MtChimney_Text_ShelbyPostBattle: @ 82300A2 .string "Well, well, I've lost. I can't call\n" .string "myself an EXPERT now, can I?$" -MtChimney_Text_2300E3: @ 82300E3 +MtChimney_Text_ShelbyRegister: @ 82300E3 .string "Thank you, child. It was fun, as if\n" .string "I were battling my own grandchild.\p" .string "Please, come see me again for\n" .string "a rematch.$" -MtChimney_Text_230153: @ 8230153 +MtChimney_Text_ShelbyRematchIntro: @ 8230153 .string "If you can mesh your heart with those\n" .string "of your POKéMON, why, you should be\l" .string "able to achieve great things.$" -MtChimney_Text_2301BB: @ 82301BB +MtChimney_Text_ShelbyRematchDefeat: @ 82301BB .string "Oh, my goodness.\n" .string "Now, aren't you something!$" -MtChimney_Text_2301E7: @ 82301E7 +MtChimney_Text_ShelbyPostRematch: @ 82301E7 .string "Perhaps your heart has become one\n" .string "with the hearts of your POKéMON.$" -MtChimney_Text_23022A: @ 823022A +MtChimney_Text_MelissaIntro: @ 823022A .string "I've got the fire in me, baby.\n" .string "I can't stand it! I have to battle!$" -MtChimney_Text_23026D: @ 823026D +MtChimney_Text_MelissaDefeat: @ 823026D .string "Ooh, that was a scorching-hot match!$" -MtChimney_Text_230292: @ 8230292 +MtChimney_Text_MelissaPostBattle: @ 8230292 .string "The heat of MT. CHIMNEY warms\n" .string "me up, baby!$" -MtChimney_Text_2302BD: @ 82302BD +MtChimney_Text_SheilaIntro: @ 82302BD .string "I've finally made it to MT. CHIMNEY.\n" .string "I want to make my POKéMON battle!$" -MtChimney_Text_230304: @ 8230304 +MtChimney_Text_SheilaDefeat: @ 8230304 .string "The way you battle…\n" .string "It's like a MT. CHIMNEY eruption!$" -MtChimney_Text_23033A: @ 823033A +MtChimney_Text_SheilaPostBattle: @ 823033A .string "Like I said, I've finally made it to\n" .string "MT. CHIMNEY. It would be a shame if\l" .string "I only do a little sightseeing…\p" .string "I want to get in some battles and buy\n" .string "COOKIES as souvenirs.$" -MtChimney_Text_2303DF: @ 82303DF +MtChimney_Text_ShirleyIntro: @ 82303DF .string "Since I bathed in the hot springs,\n" .string "I've been feeling great!\l" .string "I'm sure I'm going to win!$" -MtChimney_Text_230436: @ 8230436 +MtChimney_Text_ShirleyDefeat: @ 8230436 .string "Yowch!\n" .string "I'm getting a chill out of the water.$" -MtChimney_Text_230463: @ 8230463 +MtChimney_Text_ShirleyPostBattle: @ 8230463 .string "I'll have to take another dip in the\n" .string "hot springs. Want to join me?\p" .string "Just joking!$" -MtChimney_Text_2304B3: @ 82304B3 +MtChimney_Text_SawyerIntro: @ 82304B3 .string "This is one fine mountain! Plenty of\n" .string "hot people around for company!$" -MtChimney_Text_2304F7: @ 82304F7 +MtChimney_Text_SawyerDefeat: @ 82304F7 .string "Oh, you're a real firebrand, too!$" -MtChimney_Text_230519: @ 8230519 +MtChimney_Text_SawyerPostBattle: @ 8230519 .string "I think I need a dip in LAVARIDGE\n" .string "HOT SPRING with the locals!$" -MtChimney_Text_230557: @ 8230557 +MtChimney_Text_SawyerRegister: @ 8230557 .string "I like little fireballs like you.\n" .string "Let me register you in my POKéNAV.$" -MtChimney_Text_23059C: @ 823059C +MtChimney_Text_SawyerRematchIntro: @ 823059C .string "I'm happily surrounded by hot people\n" .string "around these parts. I won't lose!$" -MtChimney_Text_2305E3: @ 82305E3 +MtChimney_Text_SawyerRematchDefeat: @ 82305E3 .string "Gosh, you're still the same\n" .string "firebrand as before!$" -MtChimney_Text_230614: @ 8230614 +MtChimney_Text_SawyerPostRematch: @ 8230614 .string "Actually, it really is hot here.\n" .string "I'm overdressed for these parts.$" diff --git a/data/maps/MtChimney_CableCarStation/map.json b/data/maps/MtChimney_CableCarStation/map.json index 1b0efd3d93..49d1028789 100644 --- a/data/maps/MtChimney_CableCarStation/map.json +++ b/data/maps/MtChimney_CableCarStation/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtChimney_CableCarStation_EventScript_22AC4B", + "script": "MtChimney_CableCarStation_EventScript_Attendant", "flag": "0" }, { diff --git a/data/maps/MtChimney_CableCarStation/scripts.inc b/data/maps/MtChimney_CableCarStation/scripts.inc index 444f62d9fa..32064ad040 100644 --- a/data/maps/MtChimney_CableCarStation/scripts.inc +++ b/data/maps/MtChimney_CableCarStation/scripts.inc @@ -1,26 +1,26 @@ MtChimney_CableCarStation_MapScripts:: @ 822ABFA map_script MAP_SCRIPT_ON_TRANSITION, MtChimney_CableCarStation_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, MtChimney_CableCarStation_MapScript2_22AC1D + map_script MAP_SCRIPT_ON_FRAME_TABLE, MtChimney_CableCarStation_OnFrame .byte 0 MtChimney_CableCarStation_OnTransition: @ 822AC05 compare VAR_CABLE_CAR_STATION_STATE, 1 - call_if_eq MtChimney_CableCarStation_EventScript_22AC11 + call_if_eq MtChimney_CableCarStation_EventScript_MoveAttendantAside end -MtChimney_CableCarStation_EventScript_22AC11:: @ 822AC11 +MtChimney_CableCarStation_EventScript_MoveAttendantAside:: @ 822AC11 setobjectxyperm 1, 5, 4 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_RIGHT return -MtChimney_CableCarStation_MapScript2_22AC1D: @ 822AC1D - map_script_2 VAR_CABLE_CAR_STATION_STATE, 1, MtChimney_CableCarStation_EventScript_22AC27 +MtChimney_CableCarStation_OnFrame: @ 822AC1D + map_script_2 VAR_CABLE_CAR_STATION_STATE, 1, MtChimney_CableCarStation_EventScript_ExitCableCar .2byte 0 -MtChimney_CableCarStation_EventScript_22AC27:: @ 822AC27 +MtChimney_CableCarStation_EventScript_ExitCableCar:: @ 822AC27 lockall - applymovement EVENT_OBJ_ID_PLAYER, MtChimney_CableCarStation_Movement_22ACB4 - applymovement 1, MtChimney_CableCarStation_Movement_22ACAA + applymovement EVENT_OBJ_ID_PLAYER, MtChimney_CableCarStation_Movement_ExitCableCar + applymovement 1, MtChimney_CableCarStation_Movement_FollowPlayerOutFromCableCar waitmovement 0 setvar VAR_CABLE_CAR_STATION_STATE, 0 setobjectxyperm 1, 6, 7 @@ -28,71 +28,71 @@ MtChimney_CableCarStation_EventScript_22AC27:: @ 822AC27 releaseall end -MtChimney_CableCarStation_EventScript_22AC4B:: @ 822AC4B +MtChimney_CableCarStation_EventScript_Attendant:: @ 822AC4B lock faceplayer - msgbox MtChimney_CableCarStation_Text_22ACB9, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq MtChimney_CableCarStation_EventScript_22AC6C - compare VAR_RESULT, 0 - goto_if_eq MtChimney_CableCarStation_EventScript_22AC9B + msgbox MtChimney_CableCarStation_Text_CableCarReadyGetOn, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq MtChimney_CableCarStation_EventScript_RideCableCar + compare VAR_RESULT, NO + goto_if_eq MtChimney_CableCarStation_EventScript_DeclineRide end -MtChimney_CableCarStation_EventScript_22AC6C:: @ 822AC6C - msgbox MtChimney_CableCarStation_Text_22ACF8, MSGBOX_DEFAULT +MtChimney_CableCarStation_EventScript_RideCableCar:: @ 822AC6C + msgbox MtChimney_CableCarStation_Text_StepThisWay, MSGBOX_DEFAULT closemessage - applymovement 1, MtChimney_CableCarStation_Movement_22ACA5 - applymovement EVENT_OBJ_ID_PLAYER, MtChimney_CableCarStation_Movement_22ACAF + applymovement 1, MtChimney_CableCarStation_Movement_LeadPlayerToCableCar + applymovement EVENT_OBJ_ID_PLAYER, MtChimney_CableCarStation_Movement_BoardCableCar waitmovement 0 setvar VAR_0x8004, 1 setvar VAR_CABLE_CAR_STATION_STATE, 2 - incrementgamestat 48 + incrementgamestat GAME_STAT_RODE_CABLE_CAR special CableCarWarp special CableCar waitstate release end -MtChimney_CableCarStation_EventScript_22AC9B:: @ 822AC9B - msgbox MtChimney_CableCarStation_Text_22AD0E, MSGBOX_DEFAULT +MtChimney_CableCarStation_EventScript_DeclineRide:: @ 822AC9B + msgbox MtChimney_CableCarStation_Text_RideAnotherTime, MSGBOX_DEFAULT release end -MtChimney_CableCarStation_Movement_22ACA5: @ 822ACA5 +MtChimney_CableCarStation_Movement_LeadPlayerToCableCar: @ 822ACA5 walk_up walk_up walk_left walk_in_place_fastest_right step_end -MtChimney_CableCarStation_Movement_22ACAA: @ 822ACAA +MtChimney_CableCarStation_Movement_FollowPlayerOutFromCableCar: @ 822ACAA delay_16 walk_right walk_down walk_down step_end -MtChimney_CableCarStation_Movement_22ACAF: @ 822ACAF +MtChimney_CableCarStation_Movement_BoardCableCar: @ 822ACAF walk_up walk_up walk_up delay_16 step_end -MtChimney_CableCarStation_Movement_22ACB4: @ 822ACB4 +MtChimney_CableCarStation_Movement_ExitCableCar: @ 822ACB4 walk_down walk_down walk_down delay_16 step_end -MtChimney_CableCarStation_Text_22ACB9: @ 822ACB9 +MtChimney_CableCarStation_Text_CableCarReadyGetOn: @ 822ACB9 .string "The CABLE CAR is ready to go down.\n" .string "Would you like to be on it?$" -MtChimney_CableCarStation_Text_22ACF8: @ 822ACF8 +MtChimney_CableCarStation_Text_StepThisWay: @ 822ACF8 .string "Please step this way.$" -MtChimney_CableCarStation_Text_22AD0E: @ 822AD0E +MtChimney_CableCarStation_Text_RideAnotherTime: @ 822AD0E .string "Please ride with us another time.$" diff --git a/data/maps/MtPyre_1F/map.json b/data/maps/MtPyre_1F/map.json index 8b2e146f5a..2e03ae728a 100644 --- a/data/maps/MtPyre_1F/map.json +++ b/data/maps/MtPyre_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtPyre_1F_EventScript_230F3F", + "script": "MtPyre_1F_EventScript_CleanseTagWoman", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtPyre_1F_EventScript_230F78", + "script": "MtPyre_1F_EventScript_PokefanF", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtPyre_1F_EventScript_230F81", + "script": "MtPyre_1F_EventScript_Man", "flag": "0" } ], diff --git a/data/maps/MtPyre_1F/scripts.inc b/data/maps/MtPyre_1F/scripts.inc index a06f34a298..a303cb2c10 100644 --- a/data/maps/MtPyre_1F/scripts.inc +++ b/data/maps/MtPyre_1F/scripts.inc @@ -1,48 +1,48 @@ MtPyre_1F_MapScripts:: @ 8230F3E .byte 0 -MtPyre_1F_EventScript_230F3F:: @ 8230F3F +MtPyre_1F_EventScript_CleanseTagWoman:: @ 8230F3F lock faceplayer - goto_if_set FLAG_RECEIVED_CLEANSE_TAG, MtPyre_1F_EventScript_230F6E - msgbox MtPyre_1F_Text_230F8A, MSGBOX_DEFAULT - giveitem_std ITEM_CLEANSE_TAG - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_CLEANSE_TAG, MtPyre_1F_EventScript_ReceivedCleanseTag + msgbox MtPyre_1F_Text_TakeThisForYourOwnGood, MSGBOX_DEFAULT + giveitem ITEM_CLEANSE_TAG + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_CLEANSE_TAG release end -MtPyre_1F_EventScript_230F6E:: @ 8230F6E - msgbox MtPyre_1F_Text_231005, MSGBOX_DEFAULT +MtPyre_1F_EventScript_ReceivedCleanseTag:: @ 8230F6E + msgbox MtPyre_1F_Text_ExplainCleanseTag, MSGBOX_DEFAULT release end -MtPyre_1F_EventScript_230F78:: @ 8230F78 - msgbox MtPyre_1F_Text_23104F, MSGBOX_NPC +MtPyre_1F_EventScript_PokefanF:: @ 8230F78 + msgbox MtPyre_1F_Text_ComeToPayRespects, MSGBOX_NPC end -MtPyre_1F_EventScript_230F81:: @ 8230F81 - msgbox MtPyre_1F_Text_2310BA, MSGBOX_NPC +MtPyre_1F_EventScript_Man:: @ 8230F81 + msgbox MtPyre_1F_Text_RestingPlaceOfZigzagoon, MSGBOX_NPC end -MtPyre_1F_Text_230F8A: @ 8230F8A +MtPyre_1F_Text_TakeThisForYourOwnGood: @ 8230F8A .string "All sorts of beings wander the slopes\n" .string "of MT. PYRE…\p" .string "There is no telling what may happen.\n" .string "Take this. It's for your own good.$" -MtPyre_1F_Text_231005: @ 8231005 +MtPyre_1F_Text_ExplainCleanseTag: @ 8231005 .string "Have a POKéMON hold that\n" .string "CLEANSE TAG.\p" .string "It will help ward off wild POKéMON.$" -MtPyre_1F_Text_23104F: @ 823104F +MtPyre_1F_Text_ComeToPayRespects: @ 823104F .string "Did you come to pay your respect\n" .string "to the spirits of departed POKéMON?\p" .string "You must care for your POKéMON a lot.$" -MtPyre_1F_Text_2310BA: @ 82310BA +MtPyre_1F_Text_RestingPlaceOfZigzagoon: @ 82310BA .string "This is the final resting place of my\n" .string "ZIGZAGOON. I cherished it…$" diff --git a/data/maps/MtPyre_2F/map.json b/data/maps/MtPyre_2F/map.json index 64657cb0d7..e6882c311a 100644 --- a/data/maps/MtPyre_2F/map.json +++ b/data/maps/MtPyre_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MtPyre_2F_EventScript_231128", + "script": "MtPyre_2F_EventScript_Mark", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtPyre_2F_EventScript_231116", + "script": "MtPyre_2F_EventScript_Woman", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtPyre_2F_EventScript_23111F", + "script": "MtPyre_2F_EventScript_PokefanM", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MtPyre_2F_EventScript_23115A", + "script": "MtPyre_2F_EventScript_Dez", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "MtPyre_2F_EventScript_23113F", + "script": "MtPyre_2F_EventScript_Luke", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MtPyre_2F_EventScript_23118C", + "script": "MtPyre_2F_EventScript_Zander", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MtPyre_2F_EventScript_231175", + "script": "MtPyre_2F_EventScript_Leah", "flag": "0" } ], diff --git a/data/maps/MtPyre_2F/scripts.inc b/data/maps/MtPyre_2F/scripts.inc index 150c08df4e..52c1a154cc 100644 --- a/data/maps/MtPyre_2F/scripts.inc +++ b/data/maps/MtPyre_2F/scripts.inc @@ -1,91 +1,91 @@ MtPyre_2F_MapScripts:: @ 82310FB - map_script MAP_SCRIPT_ON_FRAME_TABLE, MtPyre_2F_MapScript2_2A8327 - map_script MAP_SCRIPT_ON_TRANSITION, MtPyre_2F_MapScript1_2A8331 - map_script MAP_SCRIPT_ON_RESUME, MtPyre_2F_MapScript1_23110B + map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole + map_script MAP_SCRIPT_ON_TRANSITION, CaveHole_FixCrackedGround + map_script MAP_SCRIPT_ON_RESUME, MtPyre_2F_SetHoleWarp .byte 0 -MtPyre_2F_MapScript1_23110B: @ 823110B - setstepcallback 7 +MtPyre_2F_SetHoleWarp: @ 823110B + setstepcallback STEP_CB_CRACKED_FLOOR setholewarp MAP_MT_PYRE_1F, 255, 0, 0 end -MtPyre_2F_EventScript_231116:: @ 8231116 - msgbox MtPyre_2F_Text_2311A3, MSGBOX_NPC +MtPyre_2F_EventScript_Woman:: @ 8231116 + msgbox MtPyre_2F_Text_MemoriesOfSkitty, MSGBOX_NPC end -MtPyre_2F_EventScript_23111F:: @ 823111F - msgbox MtPyre_2F_Text_2311E6, MSGBOX_NPC +MtPyre_2F_EventScript_PokefanM:: @ 823111F + msgbox MtPyre_2F_Text_TumbledFromFloorAbove, MSGBOX_NPC end -MtPyre_2F_EventScript_231128:: @ 8231128 - trainerbattle_single TRAINER_MARK, MtPyre_2F_Text_231258, MtPyre_2F_Text_2312A2 - msgbox MtPyre_2F_Text_2312CB, MSGBOX_AUTOCLOSE +MtPyre_2F_EventScript_Mark:: @ 8231128 + trainerbattle_single TRAINER_MARK, MtPyre_2F_Text_MarkIntro, MtPyre_2F_Text_MarkDefeat + msgbox MtPyre_2F_Text_MarkPostBattle, MSGBOX_AUTOCLOSE end -MtPyre_2F_EventScript_23113F:: @ 823113F - trainerbattle_double TRAINER_DEZ_AND_LUKE, MtPyre_2F_Text_23130F, MtPyre_2F_Text_2313A1, MtPyre_2F_Text_231414 - msgbox MtPyre_2F_Text_2313B1, MSGBOX_AUTOCLOSE +MtPyre_2F_EventScript_Luke:: @ 823113F + trainerbattle_double TRAINER_DEZ_AND_LUKE, MtPyre_2F_Text_LukeIntro, MtPyre_2F_Text_LukeDefeat, MtPyre_2F_Text_LukeNotEnoughMons + msgbox MtPyre_2F_Text_LukePostBattle, MSGBOX_AUTOCLOSE end -MtPyre_2F_EventScript_23115A:: @ 823115A - trainerbattle_double TRAINER_DEZ_AND_LUKE, MtPyre_2F_Text_231492, MtPyre_2F_Text_231534, MtPyre_2F_Text_231582 - msgbox MtPyre_2F_Text_23154D, MSGBOX_AUTOCLOSE +MtPyre_2F_EventScript_Dez:: @ 823115A + trainerbattle_double TRAINER_DEZ_AND_LUKE, MtPyre_2F_Text_DezIntro, MtPyre_2F_Text_DezDefeat, MtPyre_2F_Text_DezNotEnoughMons + msgbox MtPyre_2F_Text_DezPostBattle, MSGBOX_AUTOCLOSE end -MtPyre_2F_EventScript_231175:: @ 8231175 - trainerbattle_single TRAINER_LEAH, MtPyre_2F_Text_231604, MtPyre_2F_Text_231645 - msgbox MtPyre_2F_Text_23165A, MSGBOX_AUTOCLOSE +MtPyre_2F_EventScript_Leah:: @ 8231175 + trainerbattle_single TRAINER_LEAH, MtPyre_2F_Text_LeahIntro, MtPyre_2F_Text_LeahDefeat + msgbox MtPyre_2F_Text_LeahPostBattle, MSGBOX_AUTOCLOSE end -MtPyre_2F_EventScript_23118C:: @ 823118C - trainerbattle_single TRAINER_ZANDER, MtPyre_2F_Text_2316C7, MtPyre_2F_Text_2316E1 - msgbox MtPyre_2F_Text_2316FB, MSGBOX_AUTOCLOSE +MtPyre_2F_EventScript_Zander:: @ 823118C + trainerbattle_single TRAINER_ZANDER, MtPyre_2F_Text_ZanderIntro, MtPyre_2F_Text_ZanderDefeat + msgbox MtPyre_2F_Text_ZanderPostBattle, MSGBOX_AUTOCLOSE end -MtPyre_2F_Text_2311A3: @ 82311A3 +MtPyre_2F_Text_MemoriesOfSkitty: @ 82311A3 .string "Memories of my darling SKITTY…\n" .string "My eyes overflow thinking about it.$" -MtPyre_2F_Text_2311E6: @ 82311E6 +MtPyre_2F_Text_TumbledFromFloorAbove: @ 82311E6 .string "Ooch, ouch… There are holes in the\n" .string "ground here and there.\p" .string "I didn't notice and took a tumble from\n" .string "the floor above.$" -MtPyre_2F_Text_231258: @ 8231258 +MtPyre_2F_Text_MarkIntro: @ 8231258 .string "Hey! Are you searching for POKéMON?\n" .string "You came along after me! You're rude!$" -MtPyre_2F_Text_2312A2: @ 82312A2 +MtPyre_2F_Text_MarkDefeat: @ 82312A2 .string "Ayieeeeh!\n" .string "I'm sorry, forgive me, please!$" -MtPyre_2F_Text_2312CB: @ 82312CB +MtPyre_2F_Text_MarkPostBattle: @ 82312CB .string "People don't come here often, so\n" .string "I thought there'd be rare POKéMON.$" -MtPyre_2F_Text_23130F: @ 823130F +MtPyre_2F_Text_LukeIntro: @ 823130F .string "LUKE: We're here on a dare.\p" .string "Heheh, if I show her how cool I am,\n" .string "she'll fall for me. I know it!\p" .string "I know! I'll cream you and show her\n" .string "how cool I am!$" -MtPyre_2F_Text_2313A1: @ 82313A1 +MtPyre_2F_Text_LukeDefeat: @ 82313A1 .string "LUKE: Whoopsie!$" -MtPyre_2F_Text_2313B1: @ 82313B1 +MtPyre_2F_Text_LukePostBattle: @ 82313B1 .string "LUKE: Well, we lost but that's okay!\n" .string "I'm right here by your side.\l" .string "We'll make it through this dare!$" -MtPyre_2F_Text_231414: @ 8231414 +MtPyre_2F_Text_LukeNotEnoughMons: @ 8231414 .string "LUKE: If you want to take me on,\n" .string "bring some more POKéMON.\p" .string "If you don't, I won't be able to show\n" .string "off to my girl how cool I am!$" -MtPyre_2F_Text_231492: @ 8231492 +MtPyre_2F_Text_DezIntro: @ 8231492 .string "DEZ: I came here on a dare with my\n" .string "boyfriend.\p" .string "It's really scary, but I'm with my\n" @@ -93,42 +93,42 @@ MtPyre_2F_Text_231492: @ 8231492 .string "I know! I'll get my boyfriend to look\n" .string "cool by beating you!$" -MtPyre_2F_Text_231534: @ 8231534 +MtPyre_2F_Text_DezDefeat: @ 8231534 .string "DEZ: Waaaah! I'm scared!$" -MtPyre_2F_Text_23154D: @ 823154D +MtPyre_2F_Text_DezPostBattle: @ 823154D .string "DEZ: We're lovey-dovey, so we don't\n" .string "care if we lose!$" -MtPyre_2F_Text_231582: @ 8231582 +MtPyre_2F_Text_DezNotEnoughMons: @ 8231582 .string "DEZ: If you want to challenge us, you\n" .string "should bring at least two POKéMON.\p" .string "My boyfriend's strong.\n" .string "Just one POKéMON won't do at all.$" -MtPyre_2F_Text_231604: @ 8231604 +MtPyre_2F_Text_LeahIntro: @ 8231604 .string "You are an unfamiliar sight…\n" .string "Depart before anything befalls you!$" -MtPyre_2F_Text_231645: @ 8231645 +MtPyre_2F_Text_LeahDefeat: @ 8231645 .string "Hmm…\n" .string "You're durable.$" -MtPyre_2F_Text_23165A: @ 823165A +MtPyre_2F_Text_LeahPostBattle: @ 823165A .string "Our family has been TRAINERS here\n" .string "since my great-grandmother's time…\p" .string "It is my duty to protect this\n" .string "mountain…$" -MtPyre_2F_Text_2316C7: @ 82316C7 +MtPyre_2F_Text_ZanderIntro: @ 82316C7 .string "Kiyaaaaah!\n" .string "I'm terrified!$" -MtPyre_2F_Text_2316E1: @ 82316E1 +MtPyre_2F_Text_ZanderDefeat: @ 82316E1 .string "Nooooooo!\n" .string "I lost my wits!$" -MtPyre_2F_Text_2316FB: @ 82316FB +MtPyre_2F_Text_ZanderPostBattle: @ 82316FB .string "I get freaked out every time I see\n" .string "anything move…\p" .string "I shouldn't have come here to train…$" diff --git a/data/maps/MtPyre_3F/map.json b/data/maps/MtPyre_3F/map.json index 3e06adf8c9..058c4db0a9 100644 --- a/data/maps/MtPyre_3F/map.json +++ b/data/maps/MtPyre_3F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "MtPyre_3F_EventScript_231753", + "script": "MtPyre_3F_EventScript_William", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "MtPyre_3F_EventScript_23176A", + "script": "MtPyre_3F_EventScript_Kayla", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "MtPyre_3F_EventScript_231781", + "script": "MtPyre_3F_EventScript_Gabrielle", "flag": "0" } ], diff --git a/data/maps/MtPyre_3F/scripts.inc b/data/maps/MtPyre_3F/scripts.inc index 558ab99997..02cea0c22a 100644 --- a/data/maps/MtPyre_3F/scripts.inc +++ b/data/maps/MtPyre_3F/scripts.inc @@ -1,74 +1,74 @@ MtPyre_3F_MapScripts:: @ 8231752 .byte 0 -MtPyre_3F_EventScript_231753:: @ 8231753 - trainerbattle_single TRAINER_WILLIAM, MtPyre_3F_Text_2317E3, MtPyre_3F_Text_231853 - msgbox MtPyre_3F_Text_231869, MSGBOX_AUTOCLOSE +MtPyre_3F_EventScript_William:: @ 8231753 + trainerbattle_single TRAINER_WILLIAM, MtPyre_3F_Text_WilliamIntro, MtPyre_3F_Text_WilliamDefeat + msgbox MtPyre_3F_Text_WilliamPostBattle, MSGBOX_AUTOCLOSE end -MtPyre_3F_EventScript_23176A:: @ 823176A - trainerbattle_single TRAINER_KAYLA, MtPyre_3F_Text_2318A1, MtPyre_3F_Text_2318DD - msgbox MtPyre_3F_Text_2318F2, MSGBOX_AUTOCLOSE +MtPyre_3F_EventScript_Kayla:: @ 823176A + trainerbattle_single TRAINER_KAYLA, MtPyre_3F_Text_KaylaIntro MtPyre_3F_Text_KaylaDefeat + msgbox MtPyre_3F_Text_KaylaPostBattle, MSGBOX_AUTOCLOSE end -MtPyre_3F_EventScript_231781:: @ 8231781 - trainerbattle_single TRAINER_GABRIELLE_1, MtPyre_3F_Text_231952, MtPyre_3F_Text_23196A, MtPyre_3F_EventScript_2317AD +MtPyre_3F_EventScript_Gabrielle:: @ 8231781 + trainerbattle_single TRAINER_GABRIELLE_1, MtPyre_3F_Text_GabrielleIntro, MtPyre_3F_Text_GabrielleDefeat, MtPyre_3F_EventScript_RegisterGabrielle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq MtPyre_3F_EventScript_2317CC - msgbox MtPyre_3F_Text_23199B, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq MtPyre_3F_EventScript_RematchGabrielle + msgbox MtPyre_3F_Text_GabriellePostBattle, MSGBOX_DEFAULT release end -MtPyre_3F_EventScript_2317AD:: @ 82317AD - special sub_80B4808 +MtPyre_3F_EventScript_RegisterGabrielle:: @ 82317AD + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox MtPyre_3F_Text_231A49, MSGBOX_DEFAULT + msgbox MtPyre_3F_Text_GabrielleRegister, MSGBOX_DEFAULT register_matchcall TRAINER_GABRIELLE_1 release end -MtPyre_3F_EventScript_2317CC:: @ 82317CC - trainerbattle_rematch TRAINER_GABRIELLE_1, MtPyre_3F_Text_231AAB, MtPyre_3F_Text_231AE6 - msgbox MtPyre_3F_Text_231B0D, MSGBOX_AUTOCLOSE +MtPyre_3F_EventScript_RematchGabrielle:: @ 82317CC + trainerbattle_rematch TRAINER_GABRIELLE_1, MtPyre_3F_Text_GabrielleRematchIntro, MtPyre_3F_Text_GabrielleRematchDefeat + msgbox MtPyre_3F_Text_GabriellePostRematch, MSGBOX_AUTOCLOSE end -MtPyre_3F_Text_2317E3: @ 82317E3 +MtPyre_3F_Text_WilliamIntro: @ 82317E3 .string "The rich atmosphere of the mountain\n" .string "has elevated my psychic power!\p" .string "A mere child like you…\n" .string "You dream of winning?$" -MtPyre_3F_Text_231853: @ 8231853 +MtPyre_3F_Text_WilliamDefeat: @ 8231853 .string "I drown in self-pity…$" -MtPyre_3F_Text_231869: @ 8231869 +MtPyre_3F_Text_WilliamPostBattle: @ 8231869 .string "My psychic powers have surely\n" .string "grown several times, but…$" -MtPyre_3F_Text_2318A1: @ 82318A1 +MtPyre_3F_Text_KaylaIntro: @ 82318A1 .string "Ahahahaha!\p" .string "This is no place for children, least\n" .string "of all you!$" -MtPyre_3F_Text_2318DD: @ 82318DD +MtPyre_3F_Text_KaylaDefeat: @ 82318DD .string "I lost that cleanly…$" -MtPyre_3F_Text_2318F2: @ 82318F2 +MtPyre_3F_Text_KaylaPostBattle: @ 82318F2 .string "This means my training is still not\n" .string "enough…\p" .string "I've got to keep working toward the\n" .string "summit…\p" .string "Go, me!$" -MtPyre_3F_Text_231952: @ 8231952 +MtPyre_3F_Text_GabrielleIntro: @ 8231952 .string "Why have you come here?$" -MtPyre_3F_Text_23196A: @ 823196A +MtPyre_3F_Text_GabrielleDefeat: @ 823196A .string "That was amazing!\n" .string "You're a very special TRAINER.$" -MtPyre_3F_Text_23199B: @ 823199B +MtPyre_3F_Text_GabriellePostBattle: @ 823199B .string "POKéMON no longer of this world.\n" .string "POKéMON that are with you now.\p" .string "And the POKéMON that you will meet\n" @@ -76,21 +76,21 @@ MtPyre_3F_Text_23199B: @ 823199B .string "They are all to be equally cherished.\n" .string "Please remember that.$" -MtPyre_3F_Text_231A49: @ 8231A49 +MtPyre_3F_Text_GabrielleRegister: @ 8231A49 .string "I would like to see your POKéMON\n" .string "when they grow up some more…\p" .string "Please, I need to see your POKéNAV.$" -MtPyre_3F_Text_231AAB: @ 8231AAB +MtPyre_3F_Text_GabrielleRematchIntro: @ 8231AAB .string "Oh, it's you…\p" .string "Have you come to show me your grown\n" .string "POKéMON?$" -MtPyre_3F_Text_231AE6: @ 8231AE6 +MtPyre_3F_Text_GabrielleRematchDefeat: @ 8231AE6 .string "How amazing!\n" .string "You are a special person.$" -MtPyre_3F_Text_231B0D: @ 8231B0D +MtPyre_3F_Text_GabriellePostRematch: @ 8231B0D .string "POKéMON no longer of this world.\n" .string "POKéMON that are with you now.\p" .string "And the POKéMON that you will meet\n" diff --git a/data/maps/MtPyre_4F/map.json b/data/maps/MtPyre_4F/map.json index 782a6221e5..5c3d72ef83 100644 --- a/data/maps/MtPyre_4F/map.json +++ b/data/maps/MtPyre_4F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MtPyre_4F_EventScript_231C6E", + "script": "MtPyre_4F_EventScript_Tasha", "flag": "0" }, { diff --git a/data/maps/MtPyre_4F/scripts.inc b/data/maps/MtPyre_4F/scripts.inc index 27883c8edd..683b38607a 100644 --- a/data/maps/MtPyre_4F/scripts.inc +++ b/data/maps/MtPyre_4F/scripts.inc @@ -1,20 +1,22 @@ MtPyre_4F_MapScripts:: @ 8231BC8 .byte 0 -MtPyre_5F_EventScript_231BC9:: @ 8231BC9 - trainerbattle_single TRAINER_ATSUSHI, MtPyre_5F_Text_231BE0, MtPyre_5F_Text_231C08 - msgbox MtPyre_5F_Text_231C24, MSGBOX_AUTOCLOSE +@ Seems like the scripts for the 4F and 5F were swapped + +MtPyre_5F_EventScript_Atsushi:: @ 8231BC9 + trainerbattle_single TRAINER_ATSUSHI, MtPyre_5F_Text_AtsushiIntro, MtPyre_5F_Text_AtsushiDefeat + msgbox MtPyre_5F_Text_AtsushiPostBattle, MSGBOX_AUTOCLOSE end -MtPyre_5F_Text_231BE0: @ 8231BE0 +MtPyre_5F_Text_AtsushiIntro: @ 8231BE0 .string "Teacher…\n" .string "Please watch over my progress!$" -MtPyre_5F_Text_231C08: @ 8231C08 +MtPyre_5F_Text_AtsushiDefeat: @ 8231C08 .string "Teacher…\n" .string "Please forgive me!$" -MtPyre_5F_Text_231C24: @ 8231C24 +MtPyre_5F_Text_AtsushiPostBattle: @ 8231C24 .string "Until I improve, my teacher, who rests\n" .string "here, will never find true peace…$" diff --git a/data/maps/MtPyre_5F/map.json b/data/maps/MtPyre_5F/map.json index edd3544ca0..1f814bda82 100644 --- a/data/maps/MtPyre_5F/map.json +++ b/data/maps/MtPyre_5F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "MtPyre_5F_EventScript_231BC9", + "script": "MtPyre_5F_EventScript_Atsushi", "flag": "0" }, { diff --git a/data/maps/MtPyre_5F/scripts.inc b/data/maps/MtPyre_5F/scripts.inc index cbd3b3afad..f27370d7c6 100644 --- a/data/maps/MtPyre_5F/scripts.inc +++ b/data/maps/MtPyre_5F/scripts.inc @@ -1,21 +1,23 @@ MtPyre_5F_MapScripts:: @ 8231C6D .byte 0 -MtPyre_4F_EventScript_231C6E:: @ 8231C6E - trainerbattle_single TRAINER_TASHA, MtPyre_4F_Text_231C85, MtPyre_4F_Text_231CDB - msgbox MtPyre_4F_Text_231CEE, MSGBOX_AUTOCLOSE +@ Seems like the scripts for the 4F and 5F were swapped + +MtPyre_4F_EventScript_Tasha:: @ 8231C6E + trainerbattle_single TRAINER_TASHA, MtPyre_4F_Text_TashaIntro, MtPyre_4F_Text_TashaDefeat + msgbox MtPyre_4F_Text_TashaPostBattle, MSGBOX_AUTOCLOSE end -MtPyre_4F_Text_231C85: @ 8231C85 +MtPyre_4F_Text_TashaIntro: @ 8231C85 .string "I love all things horrifying…\n" .string "It's like a disease…\p" .string "When I'm here…\n" .string "I shiver with fear…$" -MtPyre_4F_Text_231CDB: @ 8231CDB +MtPyre_4F_Text_TashaDefeat: @ 8231CDB .string "Losing, I dislike…$" -MtPyre_4F_Text_231CEE: @ 8231CEE +MtPyre_4F_Text_TashaPostBattle: @ 8231CEE .string "I want to see dreadful things…\n" .string "I can't leave…\p" .string "Stay…\n" diff --git a/data/maps/MtPyre_6F/map.json b/data/maps/MtPyre_6F/map.json index 3c889a7e0a..c2de09055e 100644 --- a/data/maps/MtPyre_6F/map.json +++ b/data/maps/MtPyre_6F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MtPyre_6F_EventScript_231D3B", + "script": "MtPyre_6F_EventScript_Valerie", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MtPyre_6F_EventScript_231D9D", + "script": "MtPyre_6F_EventScript_Cedric", "flag": "0" } ], diff --git a/data/maps/MtPyre_6F/scripts.inc b/data/maps/MtPyre_6F/scripts.inc index f59edd7b16..e3bdd928e9 100644 --- a/data/maps/MtPyre_6F/scripts.inc +++ b/data/maps/MtPyre_6F/scripts.inc @@ -1,69 +1,69 @@ MtPyre_6F_MapScripts:: @ 8231D3A .byte 0 -MtPyre_6F_EventScript_231D3B:: @ 8231D3B - trainerbattle_single TRAINER_VALERIE_1, MtPyre_6F_Text_231DB4, MtPyre_6F_Text_231DE2, MtPyre_6F_EventScript_231D67 +MtPyre_6F_EventScript_Valerie:: @ 8231D3B + trainerbattle_single TRAINER_VALERIE_1, MtPyre_6F_Text_ValerieIntro, MtPyre_6F_Text_ValerieDefeat, MtPyre_6F_EventScript_RegisterValerie specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq MtPyre_6F_EventScript_231D86 - msgbox MtPyre_6F_Text_231DFC, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq MtPyre_6F_EventScript_RematchValerie + msgbox MtPyre_6F_Text_ValeriePostBattle, MSGBOX_DEFAULT release end -MtPyre_6F_EventScript_231D67:: @ 8231D67 - special sub_80B4808 +MtPyre_6F_EventScript_RegisterValerie:: @ 8231D67 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox MtPyre_6F_Text_231E43, MSGBOX_DEFAULT + msgbox MtPyre_6F_Text_ValerieRegister, MSGBOX_DEFAULT register_matchcall TRAINER_VALERIE_1 release end -MtPyre_6F_EventScript_231D86:: @ 8231D86 - trainerbattle_rematch TRAINER_VALERIE_1, MtPyre_6F_Text_231EB3, MtPyre_6F_Text_231ECB - msgbox MtPyre_6F_Text_231EE1, MSGBOX_AUTOCLOSE +MtPyre_6F_EventScript_RematchValerie:: @ 8231D86 + trainerbattle_rematch TRAINER_VALERIE_1, MtPyre_6F_Text_ValerieRematchIntro, MtPyre_6F_Text_ValerieRematchDefeat + msgbox MtPyre_6F_Text_ValeriePostRematch, MSGBOX_AUTOCLOSE end -MtPyre_6F_EventScript_231D9D:: @ 8231D9D - trainerbattle_single TRAINER_CEDRIC, MtPyre_6F_Text_231F11, MtPyre_6F_Text_231F4A - msgbox MtPyre_6F_Text_231F5C, MSGBOX_AUTOCLOSE +MtPyre_6F_EventScript_Cedric:: @ 8231D9D + trainerbattle_single TRAINER_CEDRIC, MtPyre_6F_Text_CedricIntro, MtPyre_6F_Text_CedricDefeat + msgbox MtPyre_6F_Text_CedricPostBattle, MSGBOX_AUTOCLOSE end -MtPyre_6F_Text_231DB4: @ 8231DB4 +MtPyre_6F_Text_ValerieIntro: @ 8231DB4 .string "When I'm here…\n" .string "A curious power flows into me…$" -MtPyre_6F_Text_231DE2: @ 8231DE2 +MtPyre_6F_Text_ValerieDefeat: @ 8231DE2 .string "The power is ebbing away…$" -MtPyre_6F_Text_231DFC: @ 8231DFC +MtPyre_6F_Text_ValeriePostBattle: @ 8231DFC .string "Perhaps the power is from the spirits\n" .string "of POKéMON in fitful sleep here…$" -MtPyre_6F_Text_231E43: @ 8231E43 +MtPyre_6F_Text_ValerieRegister: @ 8231E43 .string "Fufufu… I lost the match, but…\n" .string "I have this little ability…\p" .string "Without ever laying my hands on\n" .string "your POKéNAV… Hiyah!$" -MtPyre_6F_Text_231EB3: @ 8231EB3 +MtPyre_6F_Text_ValerieRematchIntro: @ 8231EB3 .string "Behind you…\n" .string "What is it…$" -MtPyre_6F_Text_231ECB: @ 8231ECB +MtPyre_6F_Text_ValerieRematchDefeat: @ 8231ECB .string "Something faded away…$" -MtPyre_6F_Text_231EE1: @ 8231EE1 +MtPyre_6F_Text_ValeriePostRematch: @ 8231EE1 .string "The POKéMON at rest here…\n" .string "Sometimes, they play…$" -MtPyre_6F_Text_231F11: @ 8231F11 +MtPyre_6F_Text_CedricIntro: @ 8231F11 .string "Have you lost your bearings?\n" .string "Have no fear for I am here!$" -MtPyre_6F_Text_231F4A: @ 8231F4A +MtPyre_6F_Text_CedricDefeat: @ 8231F4A .string "Weren't you lost?$" -MtPyre_6F_Text_231F5C: @ 8231F5C +MtPyre_6F_Text_CedricPostBattle: @ 8231F5C .string "I had this feeling that a lost TRAINER\n" .string "would be panicked and easy to beat.\p" .string "It's dirty and I won't try it again…$" diff --git a/data/maps/MtPyre_Exterior/map.json b/data/maps/MtPyre_Exterior/map.json index c7653bbd1b..2fbcd56732 100644 --- a/data/maps/MtPyre_Exterior/map.json +++ b/data/maps/MtPyre_Exterior/map.json @@ -72,7 +72,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "MtPyre_Exterior_EventScript_231FED" + "script": "MtPyre_Exterior_EventScript_FogTrigger" }, { "type": "trigger", @@ -81,7 +81,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "MtPyre_Exterior_EventScript_231FED" + "script": "MtPyre_Exterior_EventScript_FogTrigger" }, { "type": "trigger", @@ -90,7 +90,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "MtPyre_Exterior_EventScript_231FF2" + "script": "MtPyre_Exterior_EventScript_SunTrigger" }, { "type": "trigger", @@ -99,7 +99,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "MtPyre_Exterior_EventScript_231FF2" + "script": "MtPyre_Exterior_EventScript_SunTrigger" }, { "type": "trigger", @@ -108,7 +108,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "MtPyre_Exterior_EventScript_231FED" + "script": "MtPyre_Exterior_EventScript_FogTrigger" } ], "bg_events": [ diff --git a/data/maps/MtPyre_Exterior/scripts.inc b/data/maps/MtPyre_Exterior/scripts.inc index b66c503741..56a990266f 100644 --- a/data/maps/MtPyre_Exterior/scripts.inc +++ b/data/maps/MtPyre_Exterior/scripts.inc @@ -3,25 +3,25 @@ MtPyre_Exterior_MapScripts:: @ 8231FCC .byte 0 MtPyre_Exterior_OnTransition: @ 8231FD2 - call MtPyre_Exterior_EventScript_231FD8 + call MtPyre_Exterior_EventScript_CheckEnterFromSummit end -MtPyre_Exterior_EventScript_231FD8:: @ 8231FD8 +MtPyre_Exterior_EventScript_CheckEnterFromSummit:: @ 8231FD8 getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_TEMP_1, 12 - goto_if_lt MtPyre_Exterior_EventScript_231FE9 + goto_if_lt MtPyre_Exterior_EventScript_EnterFromSummit return -MtPyre_Exterior_EventScript_231FE9:: @ 8231FE9 - setweather WEATHER_FOG_1 +MtPyre_Exterior_EventScript_EnterFromSummit:: @ 8231FE9 + setweather WEATHER_FOG_HORIZONTAL return -MtPyre_Exterior_EventScript_231FED:: @ 8231FED - setweather WEATHER_FOG_1 +MtPyre_Exterior_EventScript_FogTrigger:: @ 8231FED + setweather WEATHER_FOG_HORIZONTAL doweather end -MtPyre_Exterior_EventScript_231FF2:: @ 8231FF2 +MtPyre_Exterior_EventScript_SunTrigger:: @ 8231FF2 setweather WEATHER_SUNNY doweather end diff --git a/data/maps/MtPyre_Summit/map.json b/data/maps/MtPyre_Summit/map.json index 78780ba195..ef45338023 100644 --- a/data/maps/MtPyre_Summit/map.json +++ b/data/maps/MtPyre_Summit/map.json @@ -5,7 +5,7 @@ "music": "MUS_MACHUPI", "region_map_section": "MAPSEC_MT_PYRE", "requires_flash": false, - "weather": "WEATHER_FOG_1", + "weather": "WEATHER_FOG_HORIZONTAL", "map_type": "MAP_TYPE_ROUTE", "allow_bike": true, "allow_escape_rope": false, @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtPyre_Summit_EventScript_23213C", + "script": "MtPyre_Summit_EventScript_OldMan", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "MtPyre_Summit_EventScript_2321A2", + "script": "MtPyre_Summit_EventScript_OldLady", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MtPyre_Summit_EventScript_2323FD", + "script": "MtPyre_Summit_EventScript_Grunt1", "flag": "FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MtPyre_Summit_EventScript_232414", + "script": "MtPyre_Summit_EventScript_Grunt2", "flag": "FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MtPyre_Summit_EventScript_23242B", + "script": "MtPyre_Summit_EventScript_Grunt3", "flag": "FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "MtPyre_Summit_EventScript_232442", + "script": "MtPyre_Summit_EventScript_Grunt4", "flag": "FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA" }, { @@ -150,7 +150,7 @@ "elevation": 3, "var": "VAR_MT_PYRE_STATE", "var_value": "0", - "script": "MtPyre_Summit_EventScript_232018" + "script": "MtPyre_Summit_EventScript_TeamAquaTrigger0" }, { "type": "trigger", @@ -159,7 +159,7 @@ "elevation": 3, "var": "VAR_MT_PYRE_STATE", "var_value": "0", - "script": "MtPyre_Summit_EventScript_232024" + "script": "MtPyre_Summit_EventScript_TeamAquaTrigger1" }, { "type": "trigger", @@ -168,7 +168,7 @@ "elevation": 3, "var": "VAR_MT_PYRE_STATE", "var_value": "0", - "script": "MtPyre_Summit_EventScript_232030" + "script": "MtPyre_Summit_EventScript_TeamAquaTrigger2" }, { "type": "trigger", @@ -177,7 +177,7 @@ "elevation": 3, "var": "VAR_MT_PYRE_STATE", "var_value": "2", - "script": "MtPyre_Summit_EventScript_2321EC" + "script": "MtPyre_Summit_EventScript_ArchieMaxieTrigger0" }, { "type": "trigger", @@ -186,7 +186,7 @@ "elevation": 3, "var": "VAR_MT_PYRE_STATE", "var_value": "2", - "script": "MtPyre_Summit_EventScript_2321F8" + "script": "MtPyre_Summit_EventScript_ArchieMaxieTrigger1" }, { "type": "trigger", @@ -195,7 +195,7 @@ "elevation": 3, "var": "VAR_MT_PYRE_STATE", "var_value": "2", - "script": "MtPyre_Summit_EventScript_232204" + "script": "MtPyre_Summit_EventScript_ArchieMaxieTrigger2" } ], "bg_events": [ diff --git a/data/maps/MtPyre_Summit/scripts.inc b/data/maps/MtPyre_Summit/scripts.inc index eb61c4c2dd..2b475b1ae9 100644 --- a/data/maps/MtPyre_Summit/scripts.inc +++ b/data/maps/MtPyre_Summit/scripts.inc @@ -4,48 +4,48 @@ MtPyre_Summit_MapScripts:: @ 8231FF7 MtPyre_Summit_OnTransition: @ 8231FFD compare VAR_MT_PYRE_STATE, 2 - call_if_eq MtPyre_Summit_EventScript_232009 + call_if_eq MtPyre_Summit_EventScript_SetArchieMaxiePositions end -MtPyre_Summit_EventScript_232009:: @ 8232009 +MtPyre_Summit_EventScript_SetArchieMaxiePositions:: @ 8232009 setobjectxyperm 8, 23, 6 setobjectxyperm 2, 22, 6 end -MtPyre_Summit_EventScript_232018:: @ 8232018 +MtPyre_Summit_EventScript_TeamAquaTrigger0:: @ 8232018 lockall setvar VAR_0x8008, 0 - goto MtPyre_Summit_EventScript_23203C + goto MtPyre_Summit_EventScript_TeamAquaExits end -MtPyre_Summit_EventScript_232024:: @ 8232024 +MtPyre_Summit_EventScript_TeamAquaTrigger1:: @ 8232024 lockall setvar VAR_0x8008, 1 - goto MtPyre_Summit_EventScript_23203C + goto MtPyre_Summit_EventScript_TeamAquaExits end -MtPyre_Summit_EventScript_232030:: @ 8232030 +MtPyre_Summit_EventScript_TeamAquaTrigger2:: @ 8232030 lockall setvar VAR_0x8008, 2 - goto MtPyre_Summit_EventScript_23203C + goto MtPyre_Summit_EventScript_TeamAquaExits end -MtPyre_Summit_EventScript_23203C:: @ 823203C +MtPyre_Summit_EventScript_TeamAquaExits:: @ 823203C playbgm MUS_AQA_0, 0 applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp waitmovement 0 - applymovement 2, Common_Movement_WalkInPlaceDown + applymovement 2, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 50 compare VAR_0x8008, 0 - call_if_eq MtPyre_Summit_EventScript_2320E0 + call_if_eq MtPyre_Summit_EventScript_ArchieFacePlayer0 compare VAR_0x8008, 1 - call_if_eq MtPyre_Summit_EventScript_2320EB + call_if_eq MtPyre_Summit_EventScript_ArchieFacePlayer1 compare VAR_0x8008, 2 - call_if_eq MtPyre_Summit_EventScript_2320EC - msgbox MtPyre_Summit_Text_23281A, MSGBOX_DEFAULT + call_if_eq MtPyre_Summit_EventScript_ArchieFacePlayer2 + msgbox MtPyre_Summit_Text_ArchieWeGotTheOrbLetsGo, MSGBOX_DEFAULT closemessage - fadescreen 1 + fadescreen FADE_TO_BLACK removeobject 2 removeobject 4 removeobject 5 @@ -54,168 +54,169 @@ MtPyre_Summit_EventScript_23203C:: @ 823203C setflag FLAG_HIDE_MT_PYRE_SUMMIT_ARCHIE setflag FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA fadedefaultbgm - fadescreen 0 + fadescreen FADE_FROM_BLACK delay 20 setvar VAR_MT_PYRE_STATE, 1 compare VAR_0x8008, 0 - call_if_eq MtPyre_Summit_EventScript_2320F7 + call_if_eq MtPyre_Summit_EventScript_OldLadyApproachPlayer0 compare VAR_0x8008, 1 - call_if_eq MtPyre_Summit_EventScript_23210C + call_if_eq MtPyre_Summit_EventScript_OldLadyApproachPlayer1 compare VAR_0x8008, 2 - call_if_eq MtPyre_Summit_EventScript_232117 - msgbox MtPyre_Summit_Text_23290E, MSGBOX_DEFAULT - giveitem_std ITEM_MAGMA_EMBLEM + call_if_eq MtPyre_Summit_EventScript_OldLadyApproachPlayer2 + msgbox MtPyre_Summit_Text_BothOrbsTakenMagmaLeftThis, MSGBOX_DEFAULT + giveitem ITEM_MAGMA_EMBLEM setflag FLAG_RECEIVED_RED_OR_BLUE_ORB setflag FLAG_HIDE_JAGGED_PASS_MAGMA_GUARD releaseall end -MtPyre_Summit_EventScript_2320E0:: @ 82320E0 - applymovement 2, MtPyre_Summit_Movement_232136 +MtPyre_Summit_EventScript_ArchieFacePlayer0:: @ 82320E0 + applymovement 2, MtPyre_Summit_Movement_ArchieFacePlayer0 waitmovement 0 return -MtPyre_Summit_EventScript_2320EB:: @ 82320EB +@ Archie is already facing player +MtPyre_Summit_EventScript_ArchieFacePlayer1:: @ 82320EB return -MtPyre_Summit_EventScript_2320EC:: @ 82320EC - applymovement 2, MtPyre_Summit_Movement_232139 +MtPyre_Summit_EventScript_ArchieFacePlayer2:: @ 82320EC + applymovement 2, MtPyre_Summit_Movement_ArchieFacePlayer2 waitmovement 0 return -MtPyre_Summit_EventScript_2320F7:: @ 82320F7 - applymovement 3, MtPyre_Summit_Movement_23212C +MtPyre_Summit_EventScript_OldLadyApproachPlayer0:: @ 82320F7 + applymovement 3, MtPyre_Summit_Movement_OldLadyApproachPlayer0 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -MtPyre_Summit_EventScript_23210C:: @ 823210C - applymovement 3, MtPyre_Summit_Movement_232130 +MtPyre_Summit_EventScript_OldLadyApproachPlayer1:: @ 823210C + applymovement 3, MtPyre_Summit_Movement_OldLadyApproachPlayer1 waitmovement 0 return -MtPyre_Summit_EventScript_232117:: @ 8232117 - applymovement 3, MtPyre_Summit_Movement_232132 +MtPyre_Summit_EventScript_OldLadyApproachPlayer2:: @ 8232117 + applymovement 3, MtPyre_Summit_Movement_OldLadyApproachPlayer2 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -MtPyre_Summit_Movement_23212C: @ 823212C +MtPyre_Summit_Movement_OldLadyApproachPlayer0: @ 823212C walk_down walk_down walk_in_place_fastest_left step_end -MtPyre_Summit_Movement_232130: @ 8232130 +MtPyre_Summit_Movement_OldLadyApproachPlayer1: @ 8232130 walk_down step_end -MtPyre_Summit_Movement_232132: @ 8232132 +MtPyre_Summit_Movement_OldLadyApproachPlayer2: @ 8232132 walk_down walk_down walk_in_place_fastest_right step_end -MtPyre_Summit_Movement_232136: @ 8232136 +MtPyre_Summit_Movement_ArchieFacePlayer0: @ 8232136 walk_left walk_in_place_fastest_down step_end -MtPyre_Summit_Movement_232139: @ 8232139 +MtPyre_Summit_Movement_ArchieFacePlayer2: @ 8232139 walk_right walk_in_place_fastest_down step_end -MtPyre_Summit_EventScript_23213C:: @ 823213C +MtPyre_Summit_EventScript_OldMan:: @ 823213C lock faceplayer - goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, MtPyre_Summit_EventScript_232167 - msgbox MtPyre_Summit_Text_232E0C, MSGBOX_YESNO - compare VAR_RESULT, 1 - call_if_eq MtPyre_Summit_EventScript_232187 - compare VAR_RESULT, 0 - call_if_eq MtPyre_Summit_EventScript_232190 + goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, MtPyre_Summit_EventScript_OldManAfterRayquaza + msgbox MtPyre_Summit_Text_WillYouHearOutMyTale, MSGBOX_YESNO + compare VAR_RESULT, YES + call_if_eq MtPyre_Summit_EventScript_OldManTale + compare VAR_RESULT, NO + call_if_eq MtPyre_Summit_EventScript_DeclineOldManTale release end -MtPyre_Summit_EventScript_232167:: @ 8232167 - msgbox MtPyre_Summit_Text_2331A6, MSGBOX_YESNO - compare VAR_RESULT, 1 - call_if_eq MtPyre_Summit_EventScript_232199 - compare VAR_RESULT, 0 - call_if_eq MtPyre_Summit_EventScript_232190 +MtPyre_Summit_EventScript_OldManAfterRayquaza:: @ 8232167 + msgbox MtPyre_Summit_Text_HearTheNewLegendOfHoenn, MSGBOX_YESNO + compare VAR_RESULT, YES + call_if_eq MtPyre_Summit_EventScript_OldManNewTale + compare VAR_RESULT, NO + call_if_eq MtPyre_Summit_EventScript_DeclineOldManTale release end -MtPyre_Summit_EventScript_232187:: @ 8232187 - msgbox MtPyre_Summit_Text_232F27, MSGBOX_DEFAULT +MtPyre_Summit_EventScript_OldManTale:: @ 8232187 + msgbox MtPyre_Summit_Text_GroudonKyogreTale, MSGBOX_DEFAULT return -MtPyre_Summit_EventScript_232190:: @ 8232190 - msgbox MtPyre_Summit_Text_233162, MSGBOX_DEFAULT +MtPyre_Summit_EventScript_DeclineOldManTale:: @ 8232190 + msgbox MtPyre_Summit_Text_WellThatTooIsFine, MSGBOX_DEFAULT return -MtPyre_Summit_EventScript_232199:: @ 8232199 - msgbox MtPyre_Summit_Text_23325D, MSGBOX_DEFAULT +MtPyre_Summit_EventScript_OldManNewTale:: @ 8232199 + msgbox MtPyre_Summit_Text_HoennTrioTale, MSGBOX_DEFAULT return -MtPyre_Summit_EventScript_2321A2:: @ 82321A2 +MtPyre_Summit_EventScript_OldLady:: @ 82321A2 lock faceplayer - goto_if_set FLAG_RETURNED_RED_OR_BLUE_ORB, MtPyre_Summit_EventScript_2321E2 + goto_if_set FLAG_RETURNED_RED_OR_BLUE_ORB, MtPyre_Summit_EventScript_OldLadyAfterOrbsReturned compare VAR_MT_PYRE_STATE, 3 - call_if_ge MtPyre_Summit_EventScript_2321CB - goto_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, MtPyre_Summit_EventScript_2321D8 - msgbox MtPyre_Summit_Text_232AD8, MSGBOX_DEFAULT + call_if_ge MtPyre_Summit_EventScript_OldLadyOrbsReturned + goto_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, MtPyre_Summit_EventScript_OldLadyLegendariesAwake + msgbox MtPyre_Summit_Text_OrbsHaveBeenTaken, MSGBOX_DEFAULT release end -MtPyre_Summit_EventScript_2321CB:: @ 82321CB - msgbox MtPyre_Summit_Text_232CA6, MSGBOX_DEFAULT +MtPyre_Summit_EventScript_OldLadyOrbsReturned:: @ 82321CB + msgbox MtPyre_Summit_Text_ThoseTwoMenReturnedOrbs, MSGBOX_DEFAULT setflag FLAG_RETURNED_RED_OR_BLUE_ORB release end -MtPyre_Summit_EventScript_2321D8:: @ 82321D8 - msgbox MtPyre_Summit_Text_232B4F, MSGBOX_DEFAULT +MtPyre_Summit_EventScript_OldLadyLegendariesAwake:: @ 82321D8 + msgbox MtPyre_Summit_Text_GroudonKyogreAwakened, MSGBOX_DEFAULT release end -MtPyre_Summit_EventScript_2321E2:: @ 82321E2 - msgbox MtPyre_Summit_Text_232D1E, MSGBOX_DEFAULT +MtPyre_Summit_EventScript_OldLadyAfterOrbsReturned:: @ 82321E2 + msgbox MtPyre_Summit_Text_SuperAncientPokemonTaughtUs, MSGBOX_DEFAULT release end -MtPyre_Summit_EventScript_2321EC:: @ 82321EC +MtPyre_Summit_EventScript_ArchieMaxieTrigger0:: @ 82321EC lockall setvar VAR_0x8008, 0 - goto MtPyre_Summit_EventScript_232210 + goto MtPyre_Summit_EventScript_ArchieMaxieReturnOrbs end -MtPyre_Summit_EventScript_2321F8:: @ 82321F8 +MtPyre_Summit_EventScript_ArchieMaxieTrigger1:: @ 82321F8 lockall setvar VAR_0x8008, 1 - goto MtPyre_Summit_EventScript_232210 + goto MtPyre_Summit_EventScript_ArchieMaxieReturnOrbs end -MtPyre_Summit_EventScript_232204:: @ 8232204 +MtPyre_Summit_EventScript_ArchieMaxieTrigger2:: @ 8232204 lockall setvar VAR_0x8008, 2 - goto MtPyre_Summit_EventScript_232210 + goto MtPyre_Summit_EventScript_ArchieMaxieReturnOrbs end -MtPyre_Summit_EventScript_232210:: @ 8232210 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp +MtPyre_Summit_EventScript_ArchieMaxieReturnOrbs:: @ 8232210 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 60 compare VAR_0x8008, 0 - call_if_eq MtPyre_Summit_EventScript_2322C4 + call_if_eq MtPyre_Summit_EventScript_ArchieMaxieBeginExit0 compare VAR_0x8008, 1 - call_if_eq MtPyre_Summit_EventScript_2322DD + call_if_eq MtPyre_Summit_EventScript_ArchieMaxieBeginExit1 compare VAR_0x8008, 2 - call_if_eq MtPyre_Summit_EventScript_2322F6 + call_if_eq MtPyre_Summit_EventScript_ArchieMaxieBeginExit2 playse SE_PIN applymovement 8, Common_Movement_ExclamationMark waitmovement 0 @@ -223,22 +224,22 @@ MtPyre_Summit_EventScript_232210:: @ 8232210 waitmovement 0 delay 30 compare VAR_0x8008, 0 - call_if_eq MtPyre_Summit_EventScript_23230F + call_if_eq MtPyre_Summit_EventScript_MaxieApproachPlayer0 compare VAR_0x8008, 1 - call_if_eq MtPyre_Summit_EventScript_232328 + call_if_eq MtPyre_Summit_EventScript_MaxieApproachPlayer1 compare VAR_0x8008, 2 - call_if_eq MtPyre_Summit_EventScript_232341 - msgbox MtPyre_Summit_Text_233183, MSGBOX_DEFAULT + call_if_eq MtPyre_Summit_EventScript_MaxieApproachPlayer2 + msgbox MtPyre_Summit_Text_MaxieSilence, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 0 - call_if_eq MtPyre_Summit_EventScript_23235A + call_if_eq MtPyre_Summit_EventScript_MaxieApproachArchie0 compare VAR_0x8008, 1 - call_if_eq MtPyre_Summit_EventScript_232376 + call_if_eq MtPyre_Summit_EventScript_MaxieApproachArchie1 compare VAR_0x8008, 2 - call_if_eq MtPyre_Summit_EventScript_232392 + call_if_eq MtPyre_Summit_EventScript_MaxieApproachArchie2 delay 30 - applymovement 2, MtPyre_Summit_Movement_2323B6 - applymovement 8, MtPyre_Summit_Movement_2323BD + applymovement 2, MtPyre_Summit_Movement_MaxieExit + applymovement 8, MtPyre_Summit_Movement_ArchieExit waitmovement 0 removeobject 2 removeobject 8 @@ -246,85 +247,85 @@ MtPyre_Summit_EventScript_232210:: @ 8232210 releaseall end -MtPyre_Summit_EventScript_2322C4:: @ 82322C4 - applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323C4 - applymovement 2, MtPyre_Summit_Movement_2323B6 - applymovement 8, MtPyre_Summit_Movement_2323BD +MtPyre_Summit_EventScript_ArchieMaxieBeginExit0:: @ 82322C4 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit0 + applymovement 2, MtPyre_Summit_Movement_MaxieExit + applymovement 8, MtPyre_Summit_Movement_ArchieExit waitmovement 0 return -MtPyre_Summit_EventScript_2322DD:: @ 82322DD - applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323CB - applymovement 2, MtPyre_Summit_Movement_2323B6 - applymovement 8, MtPyre_Summit_Movement_2323BD +MtPyre_Summit_EventScript_ArchieMaxieBeginExit1:: @ 82322DD + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit1 + applymovement 2, MtPyre_Summit_Movement_MaxieExit + applymovement 8, MtPyre_Summit_Movement_ArchieExit waitmovement 0 return -MtPyre_Summit_EventScript_2322F6:: @ 82322F6 - applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323D2 - applymovement 2, MtPyre_Summit_Movement_2323B6 - applymovement 8, MtPyre_Summit_Movement_2323BD +MtPyre_Summit_EventScript_ArchieMaxieBeginExit2:: @ 82322F6 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit2 + applymovement 2, MtPyre_Summit_Movement_MaxieExit + applymovement 8, MtPyre_Summit_Movement_ArchieExit waitmovement 0 return -MtPyre_Summit_EventScript_23230F:: @ 823230F - applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323AE - applymovement 2, MtPyre_Summit_Movement_2323E7 - applymovement 8, MtPyre_Summit_Movement_2323D8 +MtPyre_Summit_EventScript_MaxieApproachPlayer0:: @ 823230F + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerFaceMaxie0 + applymovement 2, MtPyre_Summit_Movement_ArchieWatchMaxie + applymovement 8, MtPyre_Summit_Movement_MaxieApproachPlayer0 waitmovement 0 return -MtPyre_Summit_EventScript_232328:: @ 8232328 - applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323B2 - applymovement 2, MtPyre_Summit_Movement_2323E7 - applymovement 8, MtPyre_Summit_Movement_2323DD +MtPyre_Summit_EventScript_MaxieApproachPlayer1:: @ 8232328 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerFaceMaxie + applymovement 2, MtPyre_Summit_Movement_ArchieWatchMaxie + applymovement 8, MtPyre_Summit_Movement_MaxieApproachPlayer1 waitmovement 0 return -MtPyre_Summit_EventScript_232341:: @ 8232341 - applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323B2 - applymovement 2, MtPyre_Summit_Movement_2323E7 - applymovement 8, MtPyre_Summit_Movement_2323E2 +MtPyre_Summit_EventScript_MaxieApproachPlayer2:: @ 8232341 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerFaceMaxie + applymovement 2, MtPyre_Summit_Movement_ArchieWatchMaxie + applymovement 8, MtPyre_Summit_Movement_MaxieApproachPlayer2 waitmovement 0 return -MtPyre_Summit_EventScript_23235A:: @ 823235A - applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA - applymovement 8, MtPyre_Summit_Movement_2323ED +MtPyre_Summit_EventScript_MaxieApproachArchie0:: @ 823235A + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchMaxie + applymovement 8, MtPyre_Summit_Movement_MaxieApproachArchie0 waitmovement 0 - applymovement 2, Common_Movement_WalkInPlaceRight + applymovement 2, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -MtPyre_Summit_EventScript_232376:: @ 8232376 - applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA - applymovement 8, MtPyre_Summit_Movement_2323F3 +MtPyre_Summit_EventScript_MaxieApproachArchie1:: @ 8232376 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchMaxie + applymovement 8, MtPyre_Summit_Movement_MaxieApproachArchie1 waitmovement 0 - applymovement 2, Common_Movement_WalkInPlaceRight + applymovement 2, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -MtPyre_Summit_EventScript_232392:: @ 8232392 - applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA - applymovement 8, MtPyre_Summit_Movement_2323F8 +MtPyre_Summit_EventScript_MaxieApproachArchie2:: @ 8232392 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchMaxie + applymovement 8, MtPyre_Summit_Movement_MaxieApproachArchie2 waitmovement 0 - applymovement 2, Common_Movement_WalkInPlaceRight + applymovement 2, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -MtPyre_Summit_Movement_2323AE: @ 82323AE +MtPyre_Summit_Movement_PlayerFaceMaxie0: @ 82323AE delay_16 delay_16 walk_in_place_fastest_right step_end -MtPyre_Summit_Movement_2323B2: @ 82323B2 +MtPyre_Summit_Movement_PlayerFaceMaxie: @ 82323B2 delay_16 delay_16 walk_in_place_fastest_left step_end -MtPyre_Summit_Movement_2323B6: @ 82323B6 +MtPyre_Summit_Movement_MaxieExit: @ 82323B6 walk_down walk_down walk_down @@ -333,7 +334,7 @@ MtPyre_Summit_Movement_2323B6: @ 82323B6 walk_down step_end -MtPyre_Summit_Movement_2323BD: @ 82323BD +MtPyre_Summit_Movement_ArchieExit: @ 82323BD walk_down walk_down walk_down @@ -342,7 +343,7 @@ MtPyre_Summit_Movement_2323BD: @ 82323BD walk_down step_end -MtPyre_Summit_Movement_2323C4: @ 82323C4 +MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit0: @ 82323C4 delay_16 delay_8 walk_left @@ -351,7 +352,7 @@ MtPyre_Summit_Movement_2323C4: @ 82323C4 walk_in_place_fastest_down step_end -MtPyre_Summit_Movement_2323CB: @ 82323CB +MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit1: @ 82323CB delay_16 delay_8 walk_right @@ -360,7 +361,7 @@ MtPyre_Summit_Movement_2323CB: @ 82323CB walk_in_place_fastest_down step_end -MtPyre_Summit_Movement_2323D2: @ 82323D2 +MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit2: @ 82323D2 delay_16 delay_8 walk_in_place_fastest_left @@ -368,38 +369,38 @@ MtPyre_Summit_Movement_2323D2: @ 82323D2 walk_in_place_fastest_down step_end -MtPyre_Summit_Movement_2323D8: @ 82323D8 +MtPyre_Summit_Movement_MaxieApproachPlayer0: @ 82323D8 walk_up walk_up walk_up walk_left step_end -MtPyre_Summit_Movement_2323DD: @ 82323DD +MtPyre_Summit_Movement_MaxieApproachPlayer1: @ 82323DD walk_up walk_up walk_up walk_in_place_fastest_right step_end -MtPyre_Summit_Movement_2323E2: @ 82323E2 +MtPyre_Summit_Movement_MaxieApproachPlayer2: @ 82323E2 walk_up walk_up walk_up walk_in_place_fastest_right step_end -MtPyre_Summit_Movement_2323E7: @ 82323E7 +MtPyre_Summit_Movement_ArchieWatchMaxie: @ 82323E7 delay_16 walk_in_place_fastest_up step_end -MtPyre_Summit_Movement_2323EA: @ 82323EA +MtPyre_Summit_Movement_PlayerWatchMaxie: @ 82323EA delay_16 walk_in_place_fastest_down step_end -MtPyre_Summit_Movement_2323ED: @ 82323ED +MtPyre_Summit_Movement_MaxieApproachArchie0: @ 82323ED walk_down walk_right walk_down @@ -407,54 +408,54 @@ MtPyre_Summit_Movement_2323ED: @ 82323ED walk_in_place_fastest_left step_end -MtPyre_Summit_Movement_2323F3: @ 82323F3 +MtPyre_Summit_Movement_MaxieApproachArchie1: @ 82323F3 walk_down walk_down walk_down walk_in_place_fastest_left step_end -MtPyre_Summit_Movement_2323F8: @ 82323F8 +MtPyre_Summit_Movement_MaxieApproachArchie2: @ 82323F8 walk_down walk_down walk_down walk_in_place_fastest_left step_end -MtPyre_Summit_EventScript_2323FD:: @ 82323FD - trainerbattle_single TRAINER_GRUNT_17, MtPyre_Summit_Text_232459, MtPyre_Summit_Text_2324A0 - msgbox MtPyre_Summit_Text_2324E0, MSGBOX_AUTOCLOSE +MtPyre_Summit_EventScript_Grunt1:: @ 82323FD + trainerbattle_single TRAINER_GRUNT_MT_PYRE_1, MtPyre_Summit_Text_Grunt1Intro, MtPyre_Summit_Text_Grunt1Defeat + msgbox MtPyre_Summit_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -MtPyre_Summit_EventScript_232414:: @ 8232414 - trainerbattle_single TRAINER_GRUNT_18, MtPyre_Summit_Text_232513, MtPyre_Summit_Text_2325B0 - msgbox MtPyre_Summit_Text_2325E4, MSGBOX_AUTOCLOSE +MtPyre_Summit_EventScript_Grunt2:: @ 8232414 + trainerbattle_single TRAINER_GRUNT_MT_PYRE_2, MtPyre_Summit_Text_Grunt2Intro, MtPyre_Summit_Text_Grunt2Defeat + msgbox MtPyre_Summit_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end -MtPyre_Summit_EventScript_23242B:: @ 823242B - trainerbattle_single TRAINER_GRUNT_19, MtPyre_Summit_Text_23261D, MtPyre_Summit_Text_232678 - msgbox MtPyre_Summit_Text_2326B3, MSGBOX_AUTOCLOSE +MtPyre_Summit_EventScript_Grunt3:: @ 823242B + trainerbattle_single TRAINER_GRUNT_MT_PYRE_3, MtPyre_Summit_Text_Grunt3Intro, MtPyre_Summit_Text_Grunt3Defeat + msgbox MtPyre_Summit_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE end -MtPyre_Summit_EventScript_232442:: @ 8232442 - trainerbattle_single TRAINER_GRUNT_29, MtPyre_Summit_Text_23271B, MtPyre_Summit_Text_23279A - msgbox MtPyre_Summit_Text_2327D8, MSGBOX_AUTOCLOSE +MtPyre_Summit_EventScript_Grunt4:: @ 8232442 + trainerbattle_single TRAINER_GRUNT_MT_PYRE_4, MtPyre_Summit_Text_Grunt4Intro, MtPyre_Summit_Text_Grunt4Defeat + msgbox MtPyre_Summit_Text_Grunt4PostBattle, MSGBOX_AUTOCLOSE end -MtPyre_Summit_Text_232459: @ 8232459 +MtPyre_Summit_Text_Grunt1Intro: @ 8232459 .string "No! Those TEAM MAGMA goons got\n" .string "here ahead of us!\p" .string "We can't fall behind!$" -MtPyre_Summit_Text_2324A0: @ 82324A0 +MtPyre_Summit_Text_Grunt1Defeat: @ 82324A0 .string "I thought you were one of the MAGMAS\n" .string "who happened to come back…$" -MtPyre_Summit_Text_2324E0: @ 82324E0 +MtPyre_Summit_Text_Grunt1PostBattle: @ 82324E0 .string "Yeah, so you are strong…\n" .string "But there're a lot of us!$" -MtPyre_Summit_Text_232513: @ 8232513 +MtPyre_Summit_Text_Grunt2Intro: @ 8232513 .string "Hah!\n" .string "Too bad for you!\p" .string "If you came earlier, you only would've\n" @@ -462,46 +463,46 @@ MtPyre_Summit_Text_232513: @ 8232513 .string "But since you arrived now, you have\n" .string "to take on us toughies!$" -MtPyre_Summit_Text_2325B0: @ 82325B0 +MtPyre_Summit_Text_Grunt2Defeat: @ 82325B0 .string "Urgh… I should've let you take on\n" .string "TEAM MAGMA first…$" -MtPyre_Summit_Text_2325E4: @ 82325E4 +MtPyre_Summit_Text_Grunt2PostBattle: @ 82325E4 .string "You don't know anything!\n" .string "So why are you messing with us?$" -MtPyre_Summit_Text_23261D: @ 823261D +MtPyre_Summit_Text_Grunt3Intro: @ 823261D .string "You…\n" .string "We saw you at MT. CHIMNEY.\p" .string "You don't belong to either TEAM,\n" .string "so why would you be here?$" -MtPyre_Summit_Text_232678: @ 8232678 +MtPyre_Summit_Text_Grunt3Defeat: @ 8232678 .string "If you're going to mess with anyone,\n" .string "let it be TEAM MAGMA…$" -MtPyre_Summit_Text_2326B3: @ 82326B3 +MtPyre_Summit_Text_Grunt3PostBattle: @ 82326B3 .string "Heh, it doesn't matter!\n" .string "We bought ourselves some time!\p" .string "The BOSS should have snatched what\n" .string "he was after!$" -MtPyre_Summit_Text_23271B: @ 823271B +MtPyre_Summit_Text_Grunt4Intro: @ 823271B .string "Oh, I know!\n" .string "You tried to join TEAM MAGMA,\l" .string "but they wouldn't have you!\p" .string "Well, don't think that we'll let you\n" .string "join our TEAM AQUA!$" -MtPyre_Summit_Text_23279A: @ 823279A +MtPyre_Summit_Text_Grunt4Defeat: @ 823279A .string "If you want to join TEAM AQUA that\n" .string "badly, we can consider it…$" -MtPyre_Summit_Text_2327D8: @ 82327D8 +MtPyre_Summit_Text_Grunt4PostBattle: @ 82327D8 .string "We have a great combination going\n" .string "with us members and our leader.$" -MtPyre_Summit_Text_23281A: @ 823281A +MtPyre_Summit_Text_ArchieWeGotTheOrbLetsGo: @ 823281A .string "ARCHIE: TEAM MAGMA's MAXIE got ahead\n" .string "of us, but we also got what we wanted.\p" .string "The RED ORB preserved at MT. PYRE…\n" @@ -511,7 +512,7 @@ MtPyre_Summit_Text_23281A: @ 823281A .string "Okay, TEAM!\n" .string "We're pulling out!$" -MtPyre_Summit_Text_23290E: @ 823290E +MtPyre_Summit_Text_BothOrbsTakenMagmaLeftThis: @ 823290E .string "Oh, no…\n" .string "This cannot happen…\p" .string "Not only the BLUE ORB, but even\n" @@ -531,13 +532,13 @@ MtPyre_Summit_Text_23290E: @ 823290E .string "I would like you to have it.\n" .string "Perhaps it will be useful in some way.$" -MtPyre_Summit_Text_232AD8: @ 8232AD8 +MtPyre_Summit_Text_OrbsHaveBeenTaken: @ 8232AD8 .string "The BLUE ORB and RED ORB taken by\n" .string "those sinister men…\p" .string "They must never be apart…\n" .string "I fear something terrible will happen…$" -MtPyre_Summit_Text_232B4F: @ 8232B4F +MtPyre_Summit_Text_GroudonKyogreAwakened: @ 8232B4F .string "Oh, my goodness…\p" .string "You say that both GROUDON and KYOGRE\n" .string "have been awakened?\p" @@ -551,13 +552,13 @@ MtPyre_Summit_Text_232B4F: @ 8232B4F .string "It could be a human, or perhaps\n" .string "a POKéMON, but no one knows.$" -MtPyre_Summit_Text_232CA6: @ 8232CA6 +MtPyre_Summit_Text_ThoseTwoMenReturnedOrbs: @ 8232CA6 .string "The two men who took the ORBS came\n" .string "back to return them on their own.\p" .string "Those men…\n" .string "Perhaps they are not so evil after all…$" -MtPyre_Summit_Text_232D1E: @ 8232D1E +MtPyre_Summit_Text_SuperAncientPokemonTaughtUs: @ 8232D1E .string "The embodiments of the land, sea,\n" .string "and the sky…\p" .string "That is said to be the identities of\n" @@ -568,7 +569,7 @@ MtPyre_Summit_Text_232D1E: @ 8232D1E .string "The super-ancient POKéMON have\n" .string "taught us that…$" -MtPyre_Summit_Text_232E0C: @ 8232E0C +MtPyre_Summit_Text_WillYouHearOutMyTale: @ 8232E0C .string "MT. PYRE is where we calm the spirits\n" .string "of POKéMON that have passed on…\p" .string "This is a high place where one can\n" @@ -579,7 +580,7 @@ MtPyre_Summit_Text_232E0C: @ 8232E0C .string "Will you hear out my tale? A tale long\n" .string "told in the HOENN region?$" -MtPyre_Summit_Text_232F27: @ 8232F27 +MtPyre_Summit_Text_GroudonKyogreTale: @ 8232F27 .string "It happened long, long ago…\p" .string "The world was wracked by a ferocious\n" .string "clash between the POKéMON of the land\l" @@ -599,16 +600,16 @@ MtPyre_Summit_Text_232F27: @ 8232F27 .string "the sea where eventually they\l" .string "disappeared…$" -MtPyre_Summit_Text_233162: @ 8233162 +MtPyre_Summit_Text_WellThatTooIsFine: @ 8233162 .string "I see…\n" .string "Well, that, too, is fine…$" -MtPyre_Summit_Text_233183: @ 8233183 +MtPyre_Summit_Text_MaxieSilence: @ 8233183 .string "MAXIE: {PLAYER}…\p" .string "… … … … … …\n" .string "… … … … … …$" -MtPyre_Summit_Text_2331A6: @ 82331A6 +MtPyre_Summit_Text_HearTheNewLegendOfHoenn: @ 82331A6 .string "It is my role to pass on the legends\n" .string "of HOENN to future generations.\p" .string "And the crisis that just ended in\n" @@ -616,7 +617,7 @@ MtPyre_Summit_Text_2331A6: @ 82331A6 .string "Have you the time to hear the new\n" .string "legend of HOENN?$" -MtPyre_Summit_Text_23325D: @ 823325D +MtPyre_Summit_Text_HoennTrioTale: @ 823325D .string "It happened long, long ago…\p" .string "The world was wracked by a ferocious\n" .string "clash between the POKéMON of the land\l" diff --git a/data/maps/NavelRock_Bottom/map.json b/data/maps/NavelRock_Bottom/map.json index ee324635bd..1ae004107a 100644 --- a/data/maps/NavelRock_Bottom/map.json +++ b/data/maps/NavelRock_Bottom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "NavelRock_Bottom_EventScript_2692A2", + "script": "NavelRock_Bottom_EventScript_Lugia", "flag": "FLAG_HIDE_LUGIA" } ], diff --git a/data/maps/NavelRock_Bottom/scripts.inc b/data/maps/NavelRock_Bottom/scripts.inc index f3c244e3d7..e43f6d5139 100644 --- a/data/maps/NavelRock_Bottom/scripts.inc +++ b/data/maps/NavelRock_Bottom/scripts.inc @@ -1,83 +1,83 @@ NavelRock_Bottom_MapScripts:: @ 8269255 map_script MAP_SCRIPT_ON_TRANSITION, NavelRock_Bottom_OnTransition - map_script MAP_SCRIPT_ON_RESUME, NavelRock_Bottom_MapScript1_269284 + map_script MAP_SCRIPT_ON_RESUME, NavelRock_Bottom_OnResume .byte 0 NavelRock_Bottom_OnTransition: @ 8269260 - call_if_set FLAG_CAUGHT_LUGIA, NavelRock_Bottom_EventScript_269273 - call_if_unset FLAG_CAUGHT_LUGIA, NavelRock_Bottom_EventScript_269277 + call_if_set FLAG_CAUGHT_LUGIA, NavelRock_Bottom_EventScript_HideLugia + call_if_unset FLAG_CAUGHT_LUGIA, NavelRock_Bottom_EventScript_TryShowLugia end -NavelRock_Bottom_EventScript_269273:: @ 8269273 +NavelRock_Bottom_EventScript_HideLugia:: @ 8269273 setflag FLAG_HIDE_LUGIA return -NavelRock_Bottom_EventScript_269277:: @ 8269277 +NavelRock_Bottom_EventScript_TryShowLugia:: @ 8269277 goto_if_set FLAG_DEFEATED_LUGIA, Common_EventScript_NopReturn clearflag FLAG_HIDE_LUGIA return -NavelRock_Bottom_MapScript1_269284: @ 8269284 - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NavelRock_Bottom_EventScript_26928E +NavelRock_Bottom_OnResume: @ 8269284 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NavelRock_Bottom_EventScript_TryRemoveLugia end -NavelRock_Bottom_EventScript_26928E:: @ 826928E +NavelRock_Bottom_EventScript_TryRemoveLugia:: @ 826928E specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject 1 return -NavelRock_Bottom_EventScript_2692A2:: @ 82692A2 +NavelRock_Bottom_EventScript_Lugia:: @ 82692A2 lock faceplayer waitse delay 20 playse SE_T_AME_E - setvar VAR_0x8004, 0 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 4 - setvar VAR_0x8007, 2 - special sub_8139560 + setvar VAR_0x8004, 0 @ vertical pan + setvar VAR_0x8005, 3 @ horizontal pan + setvar VAR_0x8006, 4 @ num shakes + setvar VAR_0x8007, 2 @ shake delay + special ShakeCamera delay 30 playse SE_T_AME_E - setvar VAR_0x8004, 0 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 4 - setvar VAR_0x8007, 2 - special sub_8139560 + setvar VAR_0x8004, 0 @ vertical pan + setvar VAR_0x8005, 3 @ horizontal pan + setvar VAR_0x8006, 4 @ num shakes + setvar VAR_0x8007, 2 @ shake delay + special ShakeCamera delay 30 delay 50 waitse playmoncry SPECIES_LUGIA, 2 waitmoncry delay 20 - setvar VAR_0x8004, 249 - setvar VAR_0x8005, 70 - setvar VAR_0x8006, 0 + setvar VAR_0x8004, SPECIES_LUGIA + setvar VAR_0x8005, 70 @ level + setvar VAR_0x8006, ITEM_NONE special CreateObedientEnemyMon setflag FLAG_SYS_CTRL_OBJ_DELETE special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq NavelRock_Bottom_EventScript_269336 - compare VAR_RESULT, 4 - goto_if_eq NavelRock_Bottom_EventScript_269344 - compare VAR_RESULT, 5 - goto_if_eq NavelRock_Bottom_EventScript_269344 + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq NavelRock_Bottom_EventScript_DefeatedLugia + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq NavelRock_Bottom_EventScript_RanFromLugia + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq NavelRock_Bottom_EventScript_RanFromLugia setflag FLAG_CAUGHT_LUGIA release end -NavelRock_Bottom_EventScript_269336:: @ 8269336 +NavelRock_Bottom_EventScript_DefeatedLugia:: @ 8269336 setflag FLAG_DEFEATED_LUGIA - setvar VAR_0x8004, 249 - goto NavelRock_Bottom_EventScript_273776 + setvar VAR_0x8004, SPECIES_LUGIA + goto Common_EventScript_LegendaryFlewAway end -NavelRock_Bottom_EventScript_269344:: @ 8269344 - setvar VAR_0x8004, 249 - goto NavelRock_Bottom_EventScript_273776 +NavelRock_Bottom_EventScript_RanFromLugia:: @ 8269344 + setvar VAR_0x8004, SPECIES_LUGIA + goto Common_EventScript_LegendaryFlewAway end diff --git a/data/maps/NavelRock_Harbor/map.json b/data/maps/NavelRock_Harbor/map.json index 7ea3ef0e7b..e91dfa8d1a 100644 --- a/data/maps/NavelRock_Harbor/map.json +++ b/data/maps/NavelRock_Harbor/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "NavelRock_Harbor_EventScript_2690BD", + "script": "NavelRock_Harbor_EventScript_Sailor", "flag": "0" }, { diff --git a/data/maps/NavelRock_Harbor/scripts.inc b/data/maps/NavelRock_Harbor/scripts.inc index 332e6dbea9..b138b7c5ab 100644 --- a/data/maps/NavelRock_Harbor/scripts.inc +++ b/data/maps/NavelRock_Harbor/scripts.inc @@ -1,27 +1,27 @@ NavelRock_Harbor_MapScripts:: @ 82690BC .byte 0 -NavelRock_Harbor_EventScript_2690BD:: @ 82690BD +NavelRock_Harbor_EventScript_Sailor:: @ 82690BD lock faceplayer - msgbox NavelRock_Harbor_Text_2C6CE6, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq NavelRock_Harbor_EventScript_269102 - msgbox NavelRock_Harbor_Text_2A6A5D, MSGBOX_DEFAULT + msgbox NavelRock_Harbor_Text_SailorReturn, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq NavelRock_Harbor_EventScript_AsYouLike + msgbox EventTicket_Text_SailHome, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 30 hideobjectat 1, MAP_NAVEL_ROCK_HARBOR setvar VAR_0x8004, 2 - call NavelRock_Harbor_EventScript_272250 + call Common_EventScript_FerryDepartIsland warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11 waitstate release end -NavelRock_Harbor_EventScript_269102:: @ 8269102 - msgbox NavelRock_Harbor_Text_2A6A82, MSGBOX_DEFAULT +NavelRock_Harbor_EventScript_AsYouLike:: @ 8269102 + msgbox EventTicket_Text_AsYouLike, MSGBOX_DEFAULT release end diff --git a/data/maps/NavelRock_Top/map.json b/data/maps/NavelRock_Top/map.json index 4b025ccae6..c906c4ceb9 100644 --- a/data/maps/NavelRock_Top/map.json +++ b/data/maps/NavelRock_Top/map.json @@ -45,7 +45,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "NavelRock_Top_EventScript_26916F" + "script": "NavelRock_Top_EventScript_HoOh" } ], "bg_events": [ diff --git a/data/maps/NavelRock_Top/scripts.inc b/data/maps/NavelRock_Top/scripts.inc index 816e202064..fcd043d3dc 100644 --- a/data/maps/NavelRock_Top/scripts.inc +++ b/data/maps/NavelRock_Top/scripts.inc @@ -1,45 +1,45 @@ NavelRock_Top_MapScripts:: @ 8269113 map_script MAP_SCRIPT_ON_TRANSITION, NavelRock_Top_OnTransition - map_script MAP_SCRIPT_ON_RESUME, NavelRock_Top_MapScript1_269151 + map_script MAP_SCRIPT_ON_RESUME, NavelRock_Top_OnResume .byte 0 NavelRock_Top_OnTransition: @ 826911E - call_if_set FLAG_CAUGHT_HO_OH, NavelRock_Top_EventScript_269131 - call_if_unset FLAG_CAUGHT_HO_OH, NavelRock_Top_EventScript_26913A + call_if_set FLAG_CAUGHT_HO_OH, NavelRock_Top_EventScript_HideHoOh + call_if_unset FLAG_CAUGHT_HO_OH, NavelRock_Top_EventScript_TryShowHoOh end -NavelRock_Top_EventScript_269131:: @ 8269131 +NavelRock_Top_EventScript_HideHoOh:: @ 8269131 setvar VAR_TEMP_1, 1 setflag FLAG_HIDE_HO_OH return -NavelRock_Top_EventScript_26913A:: @ 826913A +NavelRock_Top_EventScript_TryShowHoOh:: @ 826913A setvar VAR_TEMP_1, 1 goto_if_set FLAG_DEFEATED_HO_OH, Common_EventScript_NopReturn setvar VAR_TEMP_1, 0 clearflag FLAG_HIDE_HO_OH return -NavelRock_Top_MapScript1_269151: @ 8269151 - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NavelRock_Top_EventScript_26915B +NavelRock_Top_OnResume: @ 8269151 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NavelRock_Top_EventScript_TryRemoveHoOh end -NavelRock_Top_EventScript_26915B:: @ 826915B +NavelRock_Top_EventScript_TryRemoveHoOh:: @ 826915B specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject 1 return -NavelRock_Top_EventScript_26916F:: @ 826916F +NavelRock_Top_EventScript_HoOh:: @ 826916F lockall setvar VAR_TEMP_1, 1 special SpawnCameraObject - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 35 - special sub_813B80C - applymovement 1, NavelRock_Top_Movement_269243 - applymovement EVENT_OBJ_ID_CAMERA, NavelRock_Top_Movement_269230 + setvar VAR_0x8004, 3 @ num loops + setvar VAR_0x8005, 35 @ delay + special LoopWingFlapSE + applymovement 1, NavelRock_Top_Movement_HoOhAppear + applymovement EVENT_OBJ_ID_CAMERA, NavelRock_Top_Movement_CameraPanUp waitmovement 0 delay 50 setweather WEATHER_NONE @@ -49,16 +49,16 @@ NavelRock_Top_EventScript_26916F:: @ 826916F delay 30 waitmoncry delay 60 - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 35 - special sub_813B80C - applymovement EVENT_OBJ_ID_CAMERA, NavelRock_Top_Movement_269234 - applymovement 1, NavelRock_Top_Movement_26923A + setvar VAR_0x8004, 3 @ num loops + setvar VAR_0x8005, 35 @ delay + special LoopWingFlapSE + applymovement EVENT_OBJ_ID_CAMERA, NavelRock_Top_Movement_CameraPanDown + applymovement 1, NavelRock_Top_Movement_HoOhApproach waitmovement 0 special RemoveCameraObject - setvar VAR_0x8004, 250 - setvar VAR_0x8005, 70 - setvar VAR_0x8006, 0 + setvar VAR_0x8004, SPECIES_HO_OH + setvar VAR_0x8005, 70 @ level + setvar VAR_0x8006, ITEM_NONE special CreateObedientEnemyMon setflag FLAG_SYS_CTRL_OBJ_DELETE special BattleSetup_StartLegendaryBattle @@ -66,34 +66,34 @@ NavelRock_Top_EventScript_26916F:: @ 826916F clearflag FLAG_SYS_CTRL_OBJ_DELETE setvar VAR_LAST_TALKED, 1 specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq NavelRock_Top_EventScript_269217 - compare VAR_RESULT, 4 - goto_if_eq NavelRock_Top_EventScript_269225 - compare VAR_RESULT, 5 - goto_if_eq NavelRock_Top_EventScript_269225 + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq NavelRock_Top_EventScript_DefeatedHoOh + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq NavelRock_Top_EventScript_RanFromHoOh + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq NavelRock_Top_EventScript_RanFromHoOh setflag FLAG_CAUGHT_HO_OH releaseall end -NavelRock_Top_EventScript_269217:: @ 8269217 +NavelRock_Top_EventScript_DefeatedHoOh:: @ 8269217 setflag FLAG_DEFEATED_HO_OH - setvar VAR_0x8004, 250 - goto NavelRock_Top_EventScript_273776 + setvar VAR_0x8004, SPECIES_HO_OH + goto Common_EventScript_LegendaryFlewAway end -NavelRock_Top_EventScript_269225:: @ 8269225 - setvar VAR_0x8004, 250 - goto NavelRock_Top_EventScript_273776 +NavelRock_Top_EventScript_RanFromHoOh:: @ 8269225 + setvar VAR_0x8004, SPECIES_HO_OH + goto Common_EventScript_LegendaryFlewAway end -NavelRock_Top_Movement_269230: @ 8269230 +NavelRock_Top_Movement_CameraPanUp: @ 8269230 walk_up walk_up walk_up step_end -NavelRock_Top_Movement_269234: @ 8269234 +NavelRock_Top_Movement_CameraPanDown: @ 8269234 delay_16 delay_16 walk_down @@ -101,7 +101,7 @@ NavelRock_Top_Movement_269234: @ 8269234 walk_down step_end -NavelRock_Top_Movement_26923A: @ 826923A +NavelRock_Top_Movement_HoOhApproach: @ 826923A walk_down walk_down walk_down @@ -112,7 +112,7 @@ NavelRock_Top_Movement_26923A: @ 826923A delay_16 step_end -NavelRock_Top_Movement_269243: @ 8269243 +NavelRock_Top_Movement_HoOhAppear: @ 8269243 delay_16 delay_16 walk_in_place_down diff --git a/data/maps/NewMauville_Entrance/map.json b/data/maps/NewMauville_Entrance/map.json index d36763350a..593e23a627 100644 --- a/data/maps/NewMauville_Entrance/map.json +++ b/data/maps/NewMauville_Entrance/map.json @@ -38,7 +38,7 @@ "elevation": 3, "var": "VAR_NEW_MAUVILLE_STATE", "var_value": "0", - "script": "NewMauville_Entrance_EventScript_2372FF" + "script": "NewMauville_Entrance_EventScript_Door" } ], "bg_events": [] diff --git a/data/maps/NewMauville_Entrance/scripts.inc b/data/maps/NewMauville_Entrance/scripts.inc index 1fadc7b7d4..e9369b7eac 100644 --- a/data/maps/NewMauville_Entrance/scripts.inc +++ b/data/maps/NewMauville_Entrance/scripts.inc @@ -1,14 +1,14 @@ NewMauville_Entrance_MapScripts:: @ 82372AD - map_script MAP_SCRIPT_ON_LOAD, NewMauville_Entrance_MapScript1_2372B8 + map_script MAP_SCRIPT_ON_LOAD, NewMauville_Entrance_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, NewMauville_Entrance_OnTransition .byte 0 -NewMauville_Entrance_MapScript1_2372B8: @ 82372B8 +NewMauville_Entrance_OnLoad: @ 82372B8 compare VAR_NEW_MAUVILLE_STATE, 0 - call_if_eq NewMauville_Entrance_EventScript_2372C4 + call_if_eq NewMauville_Entrance_EventScript_CloseDoor end -NewMauville_Entrance_EventScript_2372C4:: @ 82372C4 +NewMauville_Entrance_EventScript_CloseDoor:: @ 82372C4 setmetatile 3, 0, METATILE_Facility_NewMauvilleDoor_Closed_Tile0, 1 setmetatile 4, 0, METATILE_Facility_NewMauvilleDoor_Closed_Tile1, 1 setmetatile 5, 0, METATILE_Facility_NewMauvilleDoor_Closed_Tile2, 1 @@ -21,18 +21,18 @@ NewMauville_Entrance_OnTransition: @ 82372FB setflag FLAG_LANDMARK_NEW_MAUVILLE end -NewMauville_Entrance_EventScript_2372FF:: @ 82372FF +NewMauville_Entrance_EventScript_Door:: @ 82372FF lockall - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox NewMauville_Entrance_Text_237382, MSGBOX_DEFAULT + msgbox NewMauville_Entrance_Text_DoorIsLocked, MSGBOX_DEFAULT checkitem ITEM_BASEMENT_KEY, 1 - compare VAR_RESULT, 0 - goto_if_eq NewMauville_Entrance_EventScript_237380 - msgbox NewMauville_Entrance_Text_237396, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq NewMauville_Entrance_EventScript_237380 - msgbox NewMauville_Entrance_Text_2373AC, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + goto_if_eq NewMauville_Entrance_EventScript_DontOpenDoor + msgbox NewMauville_Entrance_Text_UseBasementKey, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq NewMauville_Entrance_EventScript_DontOpenDoor + msgbox NewMauville_Entrance_Text_UsedBasementKey, MSGBOX_DEFAULT setmetatile 3, 0, METATILE_Facility_NewMauvilleDoor_Open_Tile0, 0 setmetatile 4, 0, METATILE_Facility_NewMauvilleDoor_Open_Tile1, 0 setmetatile 5, 0, METATILE_Facility_NewMauvilleDoor_Open_Tile2, 0 @@ -45,17 +45,17 @@ NewMauville_Entrance_EventScript_2372FF:: @ 82372FF releaseall end -NewMauville_Entrance_EventScript_237380:: @ 8237380 +NewMauville_Entrance_EventScript_DontOpenDoor:: @ 8237380 releaseall end -NewMauville_Entrance_Text_237382: @ 8237382 +NewMauville_Entrance_Text_DoorIsLocked: @ 8237382 .string "The door is locked.$" -NewMauville_Entrance_Text_237396: @ 8237396 +NewMauville_Entrance_Text_UseBasementKey: @ 8237396 .string "Use the BASEMENT KEY?$" -NewMauville_Entrance_Text_2373AC: @ 82373AC +NewMauville_Entrance_Text_UsedBasementKey: @ 82373AC .string "{PLAYER} used the BASEMENT KEY.\p" .string "The door opened!$" diff --git a/data/maps/NewMauville_Inside/map.json b/data/maps/NewMauville_Inside/map.json index e58588a470..8909fcbaa5 100644 --- a/data/maps/NewMauville_Inside/map.json +++ b/data/maps/NewMauville_Inside/map.json @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "NewMauville_Inside_EventScript_2377AF", + "script": "NewMauville_Inside_EventScript_Voltorb1", "flag": "FLAG_HIDE_NEW_MAUVILLE_VOLTORB_1" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "NewMauville_Inside_EventScript_2377FC", + "script": "NewMauville_Inside_EventScript_Voltorb2", "flag": "FLAG_HIDE_NEW_MAUVILLE_VOLTORB_2" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "NewMauville_Inside_EventScript_237849", + "script": "NewMauville_Inside_EventScript_Voltorb3", "flag": "FLAG_HIDE_NEW_MAUVILLE_VOLTORB_3" } ], @@ -136,7 +136,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "NewMauville_Inside_EventScript_237459" + "script": "NewMauville_Inside_EventScript_BlueButton" }, { "type": "trigger", @@ -145,7 +145,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "NewMauville_Inside_EventScript_237471" + "script": "NewMauville_Inside_EventScript_GreenButton" }, { "type": "trigger", @@ -154,7 +154,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "NewMauville_Inside_EventScript_237459" + "script": "NewMauville_Inside_EventScript_BlueButton" }, { "type": "trigger", @@ -163,7 +163,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "NewMauville_Inside_EventScript_237459" + "script": "NewMauville_Inside_EventScript_BlueButton" }, { "type": "trigger", @@ -172,7 +172,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "NewMauville_Inside_EventScript_237471" + "script": "NewMauville_Inside_EventScript_GreenButton" }, { "type": "trigger", @@ -181,7 +181,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "NewMauville_Inside_EventScript_237471" + "script": "NewMauville_Inside_EventScript_GreenButton" }, { "type": "trigger", @@ -190,7 +190,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "NewMauville_Inside_EventScript_237459" + "script": "NewMauville_Inside_EventScript_BlueButton" }, { "type": "trigger", @@ -199,7 +199,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "NewMauville_Inside_EventScript_237459" + "script": "NewMauville_Inside_EventScript_BlueButton" }, { "type": "trigger", @@ -208,7 +208,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "NewMauville_Inside_EventScript_237471" + "script": "NewMauville_Inside_EventScript_GreenButton" }, { "type": "trigger", @@ -217,7 +217,7 @@ "elevation": 3, "var": "VAR_NEW_MAUVILLE_STATE", "var_value": "1", - "script": "NewMauville_Inside_EventScript_237725" + "script": "NewMauville_Inside_EventScript_RedButton" } ], "bg_events": [ @@ -227,7 +227,7 @@ "y": 4, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "NewMauville_Inside_EventScript_23778F" + "script": "NewMauville_Inside_EventScript_Generator" }, { "type": "sign", @@ -235,7 +235,7 @@ "y": 3, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "NewMauville_Inside_EventScript_23778F" + "script": "NewMauville_Inside_EventScript_Generator" }, { "type": "sign", @@ -243,7 +243,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "NewMauville_Inside_EventScript_23778F" + "script": "NewMauville_Inside_EventScript_Generator" }, { "type": "sign", @@ -251,7 +251,7 @@ "y": 4, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "NewMauville_Inside_EventScript_23778F" + "script": "NewMauville_Inside_EventScript_Generator" }, { "type": "sign", @@ -259,7 +259,7 @@ "y": 4, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "NewMauville_Inside_EventScript_23778F" + "script": "NewMauville_Inside_EventScript_Generator" }, { "type": "sign", @@ -267,7 +267,7 @@ "y": 4, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "NewMauville_Inside_EventScript_23778F" + "script": "NewMauville_Inside_EventScript_Generator" }, { "type": "sign", @@ -275,7 +275,7 @@ "y": 3, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "NewMauville_Inside_EventScript_23778F" + "script": "NewMauville_Inside_EventScript_Generator" }, { "type": "sign", @@ -283,7 +283,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "NewMauville_Inside_EventScript_23778F" + "script": "NewMauville_Inside_EventScript_Generator" } ] } \ No newline at end of file diff --git a/data/maps/NewMauville_Inside/scripts.inc b/data/maps/NewMauville_Inside/scripts.inc index 5d871f170a..7675799eb9 100644 --- a/data/maps/NewMauville_Inside/scripts.inc +++ b/data/maps/NewMauville_Inside/scripts.inc @@ -1,20 +1,20 @@ NewMauville_Inside_MapScripts:: @ 82373D7 - map_script MAP_SCRIPT_ON_RESUME, NewMauville_Inside_MapScript1_2373E7 + map_script MAP_SCRIPT_ON_RESUME, NewMauville_Inside_OnResume map_script MAP_SCRIPT_ON_TRANSITION, NewMauville_Inside_OnTransition - map_script MAP_SCRIPT_ON_LOAD, NewMauville_Inside_MapScript1_23744D + map_script MAP_SCRIPT_ON_LOAD, NewMauville_Inside_OnLoad .byte 0 -NewMauville_Inside_MapScript1_2373E7: @ 82373E7 +NewMauville_Inside_OnResume: @ 82373E7 compare VAR_TEMP_1, 1 - call_if_eq NewMauville_Inside_EventScript_237489 + call_if_eq NewMauville_Inside_EventScript_SetBarrierStateBlueButton compare VAR_TEMP_2, 1 - call_if_eq NewMauville_Inside_EventScript_2375D7 - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NewMauville_Inside_EventScript_237407 + call_if_eq NewMauville_Inside_EventScript_SetBarrierStateGreenButton + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NewMauville_Inside_EventScript_TryRemoveVoltorb end -NewMauville_Inside_EventScript_237407:: @ 8237407 +NewMauville_Inside_EventScript_TryRemoveVoltorb:: @ 8237407 specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject VAR_LAST_TALKED return @@ -22,49 +22,49 @@ NewMauville_Inside_EventScript_237407:: @ 8237407 NewMauville_Inside_OnTransition: @ 823741B setvar VAR_TEMP_1, 0 setvar VAR_TEMP_2, 0 - call_if_unset FLAG_DEFEATED_VOLTORB_1_NEW_MAUVILLE, NewMauville_Inside_EventScript_237441 - call_if_unset FLAG_DEFEATED_VOLTORB_2_NEW_MAUVILLE, NewMauville_Inside_EventScript_237445 - call_if_unset FLAG_DEFEATED_VOLTORB_3_NEW_MAUVILLE, NewMauville_Inside_EventScript_237449 + call_if_unset FLAG_DEFEATED_VOLTORB_1_NEW_MAUVILLE, NewMauville_Inside_EventScript_ShowVoltorb1 + call_if_unset FLAG_DEFEATED_VOLTORB_2_NEW_MAUVILLE, NewMauville_Inside_EventScript_ShowVoltorb2 + call_if_unset FLAG_DEFEATED_VOLTORB_3_NEW_MAUVILLE, NewMauville_Inside_EventScript_ShowVoltorb3 end -NewMauville_Inside_EventScript_237441:: @ 8237441 +NewMauville_Inside_EventScript_ShowVoltorb1:: @ 8237441 clearflag FLAG_HIDE_NEW_MAUVILLE_VOLTORB_1 return -NewMauville_Inside_EventScript_237445:: @ 8237445 +NewMauville_Inside_EventScript_ShowVoltorb2:: @ 8237445 clearflag FLAG_HIDE_NEW_MAUVILLE_VOLTORB_2 return -NewMauville_Inside_EventScript_237449:: @ 8237449 +NewMauville_Inside_EventScript_ShowVoltorb3:: @ 8237449 clearflag FLAG_HIDE_NEW_MAUVILLE_VOLTORB_3 return -NewMauville_Inside_MapScript1_23744D: @ 823744D +NewMauville_Inside_OnLoad: @ 823744D compare VAR_NEW_MAUVILLE_STATE, 2 - call_if_eq NewMauville_Inside_EventScript_23773A + call_if_eq NewMauville_Inside_EventScript_SetGeneratorOffMetatiles end -NewMauville_Inside_EventScript_237459:: @ 8237459 +NewMauville_Inside_EventScript_BlueButton:: @ 8237459 lockall setvar VAR_TEMP_1, 1 setvar VAR_TEMP_2, 0 playse SE_PIN - call NewMauville_Inside_EventScript_237489 + call NewMauville_Inside_EventScript_SetBarrierStateBlueButton special DrawWholeMapView releaseall end -NewMauville_Inside_EventScript_237471:: @ 8237471 +NewMauville_Inside_EventScript_GreenButton:: @ 8237471 lockall setvar VAR_TEMP_1, 0 setvar VAR_TEMP_2, 1 playse SE_PIN - call NewMauville_Inside_EventScript_2375D7 + call NewMauville_Inside_EventScript_SetBarrierStateGreenButton special DrawWholeMapView releaseall end -NewMauville_Inside_EventScript_237489:: @ 8237489 +NewMauville_Inside_EventScript_SetBarrierStateBlueButton:: @ 8237489 setmetatile 23, 34, METATILE_BikeShop_Barrier_Hidden_Top, 1 setmetatile 23, 35, METATILE_BikeShop_Barrier_Hidden_Bottom, 1 setmetatile 23, 36, METATILE_BikeShop_Floor_Shadow_Top, 0 @@ -104,7 +104,7 @@ NewMauville_Inside_EventScript_237489:: @ 8237489 setmetatile 18, 36, METATILE_BikeShop_Button_Green, 0 return -NewMauville_Inside_EventScript_2375D7:: @ 82375D7 +NewMauville_Inside_EventScript_SetBarrierStateGreenButton:: @ 82375D7 setmetatile 23, 34, METATILE_BikeShop_Barrier_Blue_Top, 1 setmetatile 23, 35, METATILE_BikeShop_Barrier_Blue_TopMid, 1 setmetatile 23, 36, METATILE_BikeShop_Barrier_Blue_BottomMid, 1 @@ -144,15 +144,15 @@ NewMauville_Inside_EventScript_2375D7:: @ 82375D7 setmetatile 30, 38, METATILE_BikeShop_Button_Blue, 0 return -NewMauville_Inside_EventScript_237725:: @ 8237725 +NewMauville_Inside_EventScript_RedButton:: @ 8237725 lockall - msgbox NewMauville_Inside_Text_237932, MSGBOX_DEFAULT - call NewMauville_Inside_EventScript_23773A + msgbox NewMauville_Inside_Text_SteppedOnSwitchGeneratorStopped, MSGBOX_DEFAULT + call NewMauville_Inside_EventScript_SetGeneratorOffMetatiles setvar VAR_NEW_MAUVILLE_STATE, 2 releaseall end -NewMauville_Inside_EventScript_23773A:: @ 823773A +NewMauville_Inside_EventScript_SetGeneratorOffMetatiles:: @ 823773A setmetatile 33, 6, METATILE_BikeShop_Button_Pressed, 0 setmetatile 32, 2, METATILE_BikeShop_Generator_Off_Tile0, 1 setmetatile 33, 2, METATILE_BikeShop_Generator_Off_Tile1, 1 @@ -165,20 +165,20 @@ NewMauville_Inside_EventScript_23773A:: @ 823773A special DrawWholeMapView return -NewMauville_Inside_EventScript_23778F:: @ 823778F +NewMauville_Inside_EventScript_Generator:: @ 823778F lockall compare VAR_NEW_MAUVILLE_STATE, 2 - goto_if_eq NewMauville_Inside_EventScript_2377A5 - msgbox NewMauville_Inside_Text_237896, MSGBOX_DEFAULT + goto_if_eq NewMauville_Inside_EventScript_GeneratorOff + msgbox NewMauville_Inside_Text_GeneratorRadiatingHeat, MSGBOX_DEFAULT releaseall end -NewMauville_Inside_EventScript_2377A5:: @ 82377A5 - msgbox NewMauville_Inside_Text_237916, MSGBOX_DEFAULT +NewMauville_Inside_EventScript_GeneratorOff:: @ 82377A5 + msgbox NewMauville_Inside_Text_GeneratorQuietedDown, MSGBOX_DEFAULT releaseall end -NewMauville_Inside_EventScript_2377AF:: @ 82377AF +NewMauville_Inside_EventScript_Voltorb1:: @ 82377AF lock faceplayer setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE @@ -190,22 +190,22 @@ NewMauville_Inside_EventScript_2377AF:: @ 82377AF dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq NewMauville_Inside_EventScript_2377F3 - compare VAR_RESULT, 4 - goto_if_eq NewMauville_Inside_EventScript_2377F3 - compare VAR_RESULT, 5 - goto_if_eq NewMauville_Inside_EventScript_2377F3 + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb1 + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb1 + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb1 setflag FLAG_DEFEATED_VOLTORB_1_NEW_MAUVILLE release end -NewMauville_Inside_EventScript_2377F3:: @ 82377F3 +NewMauville_Inside_EventScript_DefeatedVoltorb1:: @ 82377F3 setflag FLAG_DEFEATED_VOLTORB_1_NEW_MAUVILLE - goto NewMauville_Inside_EventScript_27376D + goto Common_EventScript_RemoveStaticPokemon end -NewMauville_Inside_EventScript_2377FC:: @ 82377FC +NewMauville_Inside_EventScript_Voltorb2:: @ 82377FC lock faceplayer setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE @@ -217,22 +217,22 @@ NewMauville_Inside_EventScript_2377FC:: @ 82377FC dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq NewMauville_Inside_EventScript_237840 - compare VAR_RESULT, 4 - goto_if_eq NewMauville_Inside_EventScript_237840 - compare VAR_RESULT, 5 - goto_if_eq NewMauville_Inside_EventScript_237840 + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb2 + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb2 + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb2 setflag FLAG_DEFEATED_VOLTORB_2_NEW_MAUVILLE release end -NewMauville_Inside_EventScript_237840:: @ 8237840 +NewMauville_Inside_EventScript_DefeatedVoltorb2:: @ 8237840 setflag FLAG_DEFEATED_VOLTORB_2_NEW_MAUVILLE - goto NewMauville_Inside_EventScript_27376D + goto Common_EventScript_RemoveStaticPokemon end -NewMauville_Inside_EventScript_237849:: @ 8237849 +NewMauville_Inside_EventScript_Voltorb3:: @ 8237849 lock faceplayer setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE @@ -244,31 +244,31 @@ NewMauville_Inside_EventScript_237849:: @ 8237849 dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq NewMauville_Inside_EventScript_23788D - compare VAR_RESULT, 4 - goto_if_eq NewMauville_Inside_EventScript_23788D - compare VAR_RESULT, 5 - goto_if_eq NewMauville_Inside_EventScript_23788D + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb3 + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb3 + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb3 setflag FLAG_DEFEATED_VOLTORB_3_NEW_MAUVILLE release end -NewMauville_Inside_EventScript_23788D:: @ 823788D +NewMauville_Inside_EventScript_DefeatedVoltorb3:: @ 823788D setflag FLAG_DEFEATED_VOLTORB_3_NEW_MAUVILLE - goto NewMauville_Inside_EventScript_27376D + goto Common_EventScript_RemoveStaticPokemon end -NewMauville_Inside_Text_237896: @ 8237896 +NewMauville_Inside_Text_GeneratorRadiatingHeat: @ 8237896 .string "The generator is radiating heat that\n" .string "can be felt even at a distance.\p" .string "It looks like it should be turned off\n" .string "as soon as possible.$" -NewMauville_Inside_Text_237916: @ 8237916 +NewMauville_Inside_Text_GeneratorQuietedDown: @ 8237916 .string "The generator quieted down.$" -NewMauville_Inside_Text_237932: @ 8237932 +NewMauville_Inside_Text_SteppedOnSwitchGeneratorStopped: @ 8237932 .string "{PLAYER} stepped on the switch.\p" .string "Click…\p" .string "… … … … … … … …\n" diff --git a/data/maps/OldaleTown/map.json b/data/maps/OldaleTown/map.json index 5f91e81ed2..1644c76d6f 100644 --- a/data/maps/OldaleTown/map.json +++ b/data/maps/OldaleTown/map.json @@ -40,7 +40,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_EventScript_1E8EF3", + "script": "OldaleTown_EventScript_Girl", "flag": "0" }, { @@ -53,7 +53,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_EventScript_1E8EFC", + "script": "OldaleTown_EventScript_MartEmployee", "flag": "0" }, { @@ -66,7 +66,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_EventScript_1E901F", + "script": "OldaleTown_EventScript_FootprintsMan", "flag": "0" }, { @@ -79,7 +79,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_EventScript_1E9070", + "script": "OldaleTown_EventScript_Rival", "flag": "FLAG_HIDE_OLDALE_TOWN_RIVAL" } ], @@ -121,7 +121,7 @@ "elevation": 3, "var": "VAR_OLDALE_TOWN_STATE", "var_value": "0", - "script": "OldaleTown_EventScript_1E903F" + "script": "OldaleTown_EventScript_BlockedPath" }, { "type": "trigger", @@ -130,7 +130,7 @@ "elevation": 3, "var": "VAR_OLDALE_RIVAL_STATE", "var_value": "1", - "script": "OldaleTown_EventScript_1E9086" + "script": "OldaleTown_EventScript_RivalTrigger1" }, { "type": "trigger", @@ -139,7 +139,7 @@ "elevation": 3, "var": "VAR_OLDALE_RIVAL_STATE", "var_value": "1", - "script": "OldaleTown_EventScript_1E90A6" + "script": "OldaleTown_EventScript_RivalTrigger2" }, { "type": "trigger", @@ -148,7 +148,7 @@ "elevation": 3, "var": "VAR_OLDALE_RIVAL_STATE", "var_value": "1", - "script": "OldaleTown_EventScript_1E90C6" + "script": "OldaleTown_EventScript_RivalTrigger3" } ], "bg_events": [ @@ -158,7 +158,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "OldaleTown_EventScript_1E8EEA" + "script": "OldaleTown_EventScript_CitySign" }, { "type": "sign", diff --git a/data/maps/OldaleTown/scripts.inc b/data/maps/OldaleTown/scripts.inc index 71b930b836..754e322a00 100644 --- a/data/maps/OldaleTown/scripts.inc +++ b/data/maps/OldaleTown/scripts.inc @@ -3,94 +3,95 @@ OldaleTown_MapScripts:: @ 81E8EA2 .byte 0 OldaleTown_OnTransition: @ 81E8EA8 - call Common_EventScript_SetupRivalGender + call Common_EventScript_SetupRivalGfxId setflag FLAG_VISITED_OLDALE_TOWN - call_if_unset FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_1E8ED2 - call_if_unset FLAG_RECEIVED_POTION_OLDALE, OldaleTown_EventScript_1E8EDE - call_if_set FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_1E8ECC + call_if_unset FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_BlockWestEntrance + call_if_unset FLAG_RECEIVED_POTION_OLDALE, OldaleTown_EventScript_MoveMartEmployee + call_if_set FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_SetOldaleState end -OldaleTown_EventScript_1E8ECC:: @ 81E8ECC +@ This script seems pointless because nothing uses VAR_OLDALE_TOWN_STATE +OldaleTown_EventScript_SetOldaleState:: @ 81E8ECC setvar VAR_OLDALE_TOWN_STATE, 1 return -OldaleTown_EventScript_1E8ED2:: @ 81E8ED2 +OldaleTown_EventScript_BlockWestEntrance:: @ 81E8ED2 setobjectxyperm 3, 1, 11 setobjectmovementtype 3, MOVEMENT_TYPE_FACE_LEFT return -OldaleTown_EventScript_1E8EDE:: @ 81E8EDE +OldaleTown_EventScript_MoveMartEmployee:: @ 81E8EDE setobjectxyperm 2, 13, 14 setobjectmovementtype 2, MOVEMENT_TYPE_FACE_DOWN return -OldaleTown_EventScript_1E8EEA:: @ 81E8EEA - msgbox OldaleTown_Text_1E94DA, MSGBOX_SIGN +OldaleTown_EventScript_CitySign:: @ 81E8EEA + msgbox OldaleTown_Text_CitySign, MSGBOX_SIGN end -OldaleTown_EventScript_1E8EF3:: @ 81E8EF3 - msgbox OldaleTown_Text_1E918E, MSGBOX_NPC +OldaleTown_EventScript_Girl:: @ 81E8EF3 + msgbox OldaleTown_Text_SavingMyProgress, MSGBOX_NPC end -OldaleTown_EventScript_1E8EFC:: @ 81E8EFC +OldaleTown_EventScript_MartEmployee:: @ 81E8EFC lock faceplayer - goto_if_set FLAG_RECEIVED_POTION_OLDALE, OldaleTown_EventScript_1E8FB9 - goto_if_set FLAG_TEMP_1, OldaleTown_EventScript_1E8FB9 + goto_if_set FLAG_RECEIVED_POTION_OLDALE, OldaleTown_EventScript_ExplainPotion + goto_if_set FLAG_TEMP_1, OldaleTown_EventScript_ExplainPotion setflag FLAG_TEMP_1 playbgm MUS_TSURETEK, 0 - msgbox OldaleTown_Text_1E91C0, MSGBOX_DEFAULT + msgbox OldaleTown_Text_IWorkAtPokemonMart, MSGBOX_DEFAULT closemessage switch VAR_FACING - case 1, OldaleTown_EventScript_1E8F47 - case 2, OldaleTown_EventScript_1E8F5E - case 4, OldaleTown_EventScript_1E8F75 + case DIR_SOUTH, OldaleTown_EventScript_GoToMartSouth + case DIR_NORTH, OldaleTown_EventScript_GoToMartNorth + case DIR_EAST, OldaleTown_EventScript_GoToMartEast end -OldaleTown_EventScript_1E8F47:: @ 81E8F47 - applymovement 2, OldaleTown_Movement_1E8FD7 - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E9001 +OldaleTown_EventScript_GoToMartSouth:: @ 81E8F47 + applymovement 2, OldaleTown_Movement_EmployeeSouth + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_PlayerSouth waitmovement 0 - goto OldaleTown_EventScript_1E8F8C + goto OldaleTown_EventScript_ExplainPokemonMart end -OldaleTown_EventScript_1E8F5E:: @ 81E8F5E - applymovement 2, OldaleTown_Movement_1E8FE2 - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E900B +OldaleTown_EventScript_GoToMartNorth:: @ 81E8F5E + applymovement 2, OldaleTown_Movement_EmployeeNorth + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_PlayerNorth waitmovement 0 - goto OldaleTown_EventScript_1E8F8C + goto OldaleTown_EventScript_ExplainPokemonMart end -OldaleTown_EventScript_1E8F75:: @ 81E8F75 - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E8FF9 - applymovement 2, OldaleTown_Movement_1E8FCE +OldaleTown_EventScript_GoToMartEast:: @ 81E8F75 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_PlayerEast + applymovement 2, OldaleTown_Movement_EmployeeEast waitmovement 0 - goto OldaleTown_EventScript_1E8F8C + goto OldaleTown_EventScript_ExplainPokemonMart end -OldaleTown_EventScript_1E8F8C:: @ 81E8F8C - msgbox OldaleTown_Text_1E91FD, MSGBOX_DEFAULT - giveitem_std ITEM_POTION +OldaleTown_EventScript_ExplainPokemonMart:: @ 81E8F8C + msgbox OldaleTown_Text_ThisIsAPokemonMart, MSGBOX_DEFAULT + giveitem ITEM_POTION compare VAR_RESULT, 0 - goto_if_eq OldaleTown_EventScript_1E8FC3 - msgbox OldaleTown_Text_1E92AF, MSGBOX_DEFAULT + goto_if_eq OldaleTown_EventScript_BagIsFull + msgbox OldaleTown_Text_PotionExplanation, MSGBOX_DEFAULT setflag FLAG_RECEIVED_POTION_OLDALE fadedefaultbgm release end -OldaleTown_EventScript_1E8FB9:: @ 81E8FB9 - msgbox OldaleTown_Text_1E92AF, MSGBOX_DEFAULT +OldaleTown_EventScript_ExplainPotion:: @ 81E8FB9 + msgbox OldaleTown_Text_PotionExplanation, MSGBOX_DEFAULT release end -OldaleTown_EventScript_1E8FC3:: @ 81E8FC3 +OldaleTown_EventScript_BagIsFull:: @ 81E8FC3 msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT fadedefaultbgm release end -OldaleTown_Movement_1E8FCE: @ 81E8FCE +OldaleTown_Movement_EmployeeEast: @ 81E8FCE walk_up walk_up walk_up @@ -101,7 +102,7 @@ OldaleTown_Movement_1E8FCE: @ 81E8FCE walk_in_place_fastest_down step_end -OldaleTown_Movement_1E8FD7: @ 81E8FD7 +OldaleTown_Movement_EmployeeSouth: @ 81E8FD7 walk_left walk_up walk_up @@ -114,7 +115,7 @@ OldaleTown_Movement_1E8FD7: @ 81E8FD7 walk_in_place_fastest_down step_end -OldaleTown_Movement_1E8FE2: @ 81E8FE2 +OldaleTown_Movement_EmployeeNorth: @ 81E8FE2 walk_up walk_up walk_up @@ -125,7 +126,7 @@ OldaleTown_Movement_1E8FE2: @ 81E8FE2 walk_in_place_fastest_down step_end -OldaleTown_Movement_1E8FEB: @ 81E8FEB +OldaleTown_Movement_Unknown1: @ 81E8FEB walk_up walk_up walk_right @@ -141,7 +142,7 @@ OldaleTown_Movement_1E8FEB: @ 81E8FEB walk_in_place_fastest_down step_end -OldaleTown_Movement_1E8FF9: @ 81E8FF9 +OldaleTown_Movement_PlayerEast: @ 81E8FF9 walk_right walk_up walk_up @@ -151,7 +152,7 @@ OldaleTown_Movement_1E8FF9: @ 81E8FF9 walk_up step_end -OldaleTown_Movement_1E9001: @ 81E9001 +OldaleTown_Movement_PlayerSouth: @ 81E9001 delay_16 delay_16 delay_16 @@ -163,7 +164,7 @@ OldaleTown_Movement_1E9001: @ 81E9001 walk_up step_end -OldaleTown_Movement_1E900B: @ 81E900B +OldaleTown_Movement_PlayerNorth: @ 81E900B walk_up walk_up walk_up @@ -173,7 +174,7 @@ OldaleTown_Movement_1E900B: @ 81E900B walk_up step_end -OldaleTown_Movement_1E9013: @ 81E9013 +OldaleTown_Movement_Unknown2: @ 81E9013 walk_left walk_up walk_up @@ -187,97 +188,97 @@ OldaleTown_Movement_1E9013: @ 81E9013 walk_up step_end -OldaleTown_EventScript_1E901F:: @ 81E901F +OldaleTown_EventScript_FootprintsMan:: @ 81E901F lock faceplayer - goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_1E9066 - msgbox OldaleTown_Text_1E939A, MSGBOX_DEFAULT + goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_NotBlockingPath + msgbox OldaleTown_Text_DiscoveredFootprints, MSGBOX_DEFAULT closemessage applymovement 3, Common_Movement_FaceOriginalDirection waitmovement 0 release end -OldaleTown_EventScript_1E903F:: @ 81E903F +OldaleTown_EventScript_BlockedPath:: @ 81E903F lockall - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E9182 - applymovement 3, OldaleTown_Movement_1E9185 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_PlayerStepBack + applymovement 3, OldaleTown_Movement_BackUp waitmovement 0 - msgbox OldaleTown_Text_1E9313, MSGBOX_DEFAULT + msgbox OldaleTown_Text_WaitDontComeInHere, MSGBOX_DEFAULT closemessage - applymovement 3, OldaleTown_Movement_1E918B + applymovement 3, OldaleTown_Movement_ReturnToOriginalPosition waitmovement 0 releaseall end -OldaleTown_EventScript_1E9066:: @ 81E9066 - msgbox OldaleTown_Text_1E93F8, MSGBOX_DEFAULT +OldaleTown_EventScript_NotBlockingPath:: @ 81E9066 + msgbox OldaleTown_Text_FinishedSketchingFootprints, MSGBOX_DEFAULT release end -OldaleTown_EventScript_1E9070:: @ 81E9070 +OldaleTown_EventScript_Rival:: @ 81E9070 lockall applymovement 4, Common_Movement_FacePlayer waitmovement 0 setvar VAR_0x8009, 0 - goto OldaleTown_EventScript_1E90E6 + goto OldaleTown_EventScript_ShowRivalMessage end -OldaleTown_EventScript_1E9086:: @ 81E9086 +OldaleTown_EventScript_RivalTrigger1:: @ 81E9086 lockall - applymovement 4, OldaleTown_Movement_1E9170 + applymovement 4, OldaleTown_Movement_RivalApproachPlayer1 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 setvar VAR_0x8009, 1 - goto OldaleTown_EventScript_1E90E6 + goto OldaleTown_EventScript_ShowRivalMessage end -OldaleTown_EventScript_1E90A6:: @ 81E90A6 +OldaleTown_EventScript_RivalTrigger2:: @ 81E90A6 lockall - applymovement 4, OldaleTown_Movement_1E9173 + applymovement 4, OldaleTown_Movement_RivalApproachPlayer2 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 setvar VAR_0x8009, 1 - goto OldaleTown_EventScript_1E90E6 + goto OldaleTown_EventScript_ShowRivalMessage end -OldaleTown_EventScript_1E90C6:: @ 81E90C6 +OldaleTown_EventScript_RivalTrigger3:: @ 81E90C6 lockall - applymovement 4, OldaleTown_Movement_1E9175 + applymovement 4, OldaleTown_Movement_RivalApproachPlayer3 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 setvar VAR_0x8009, 1 - goto OldaleTown_EventScript_1E90E6 + goto OldaleTown_EventScript_ShowRivalMessage end -OldaleTown_EventScript_1E90E6:: @ 81E90E6 +OldaleTown_EventScript_ShowRivalMessage:: @ 81E90E6 checkplayergender compare VAR_RESULT, MALE - goto_if_eq OldaleTown_EventScript_1E90FE + goto_if_eq OldaleTown_EventScript_ShowMayMessage compare VAR_RESULT, FEMALE - goto_if_eq OldaleTown_EventScript_1E910C + goto_if_eq OldaleTown_EventScript_ShowBrendanMessage end -OldaleTown_EventScript_1E90FE:: @ 81E90FE - msgbox OldaleTown_Text_1E9462, MSGBOX_DEFAULT - goto OldaleTown_EventScript_1E911A +OldaleTown_EventScript_ShowMayMessage:: @ 81E90FE + msgbox OldaleTown_Text_MayLetsGoBack, MSGBOX_DEFAULT + goto OldaleTown_EventScript_RivalFinish end -OldaleTown_EventScript_1E910C:: @ 81E910C - msgbox OldaleTown_Text_1E948A, MSGBOX_DEFAULT - goto OldaleTown_EventScript_1E911A +OldaleTown_EventScript_ShowBrendanMessage:: @ 81E910C + msgbox OldaleTown_Text_BrendanLetsGoBack, MSGBOX_DEFAULT + goto OldaleTown_EventScript_RivalFinish end -OldaleTown_EventScript_1E911A:: @ 81E911A +OldaleTown_EventScript_RivalFinish:: @ 81E911A closemessage compare VAR_0x8009, 0 - call_if_eq OldaleTown_EventScript_1E9148 + call_if_eq OldaleTown_EventScript_DoExitMovement1 compare VAR_0x8009, 1 - call_if_eq OldaleTown_EventScript_1E915E - applymovement 4, OldaleTown_Movement_1E9177 + call_if_eq OldaleTown_EventScript_DoExitMovement2 + applymovement 4, OldaleTown_Movement_RivalExit waitmovement 0 removeobject 4 setvar VAR_OLDALE_RIVAL_STATE, 2 @@ -285,33 +286,33 @@ OldaleTown_EventScript_1E911A:: @ 81E911A releaseall end -OldaleTown_EventScript_1E9148:: @ 81E9148 - compare VAR_FACING, 1 - goto_if_ne OldaleTown_EventScript_1E915E - applymovement 4, OldaleTown_Movement_1E9177 +OldaleTown_EventScript_DoExitMovement1:: @ 81E9148 + compare VAR_FACING, DIR_SOUTH + goto_if_ne OldaleTown_EventScript_DoExitMovement2 + applymovement 4, OldaleTown_Movement_RivalExit waitmovement 0 return -OldaleTown_EventScript_1E915E:: @ 81E915E - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E917E - applymovement 4, OldaleTown_Movement_1E9177 +OldaleTown_EventScript_DoExitMovement2:: @ 81E915E + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_WatchRivalExit + applymovement 4, OldaleTown_Movement_RivalExit waitmovement 0 return -OldaleTown_Movement_1E9170: @ 81E9170 +OldaleTown_Movement_RivalApproachPlayer1: @ 81E9170 walk_left walk_left step_end -OldaleTown_Movement_1E9173: @ 81E9173 +OldaleTown_Movement_RivalApproachPlayer2: @ 81E9173 walk_left step_end -OldaleTown_Movement_1E9175: @ 81E9175 +OldaleTown_Movement_RivalApproachPlayer3: @ 81E9175 face_left step_end -OldaleTown_Movement_1E9177: @ 81E9177 +OldaleTown_Movement_RivalExit: @ 81E9177 walk_down walk_down walk_down @@ -320,18 +321,18 @@ OldaleTown_Movement_1E9177: @ 81E9177 walk_down step_end -OldaleTown_Movement_1E917E: @ 81E917E +OldaleTown_Movement_WatchRivalExit: @ 81E917E delay_8 delay_4 walk_in_place_fastest_down step_end -OldaleTown_Movement_1E9182: @ 81E9182 +OldaleTown_Movement_PlayerStepBack: @ 81E9182 delay_8 walk_right step_end -OldaleTown_Movement_1E9185: @ 81E9185 +OldaleTown_Movement_BackUp: @ 81E9185 walk_fast_up walk_in_place_fastest_left lock_facing_direction @@ -339,21 +340,21 @@ OldaleTown_Movement_1E9185: @ 81E9185 unlock_facing_direction step_end -OldaleTown_Movement_1E918B: @ 81E918B +OldaleTown_Movement_ReturnToOriginalPosition: @ 81E918B walk_down walk_left step_end -OldaleTown_Text_1E918E: @ 81E918E +OldaleTown_Text_SavingMyProgress: @ 81E918E .string "I want to take a rest, so I'm saving my\n" .string "progress.$" -OldaleTown_Text_1E91C0: @ 81E91C0 +OldaleTown_Text_IWorkAtPokemonMart: @ 81E91C0 .string "Hi!\n" .string "I work at a POKéMON MART.\p" .string "Can I get you to come with me?$" -OldaleTown_Text_1E91FD: @ 81E91FD +OldaleTown_Text_ThisIsAPokemonMart: @ 81E91FD .string "This is a POKéMON MART.\n" .string "Just look for our blue roof.\p" .string "We sell a variety of goods including\n" @@ -361,12 +362,12 @@ OldaleTown_Text_1E91FD: @ 81E91FD .string "Here, I'd like you to have this as\n" .string "a promotional item.$" -OldaleTown_Text_1E92AF: @ 81E92AF +OldaleTown_Text_PotionExplanation: @ 81E92AF .string "A POTION can be used anytime, so it's\n" .string "even more useful than a POKéMON CENTER\l" .string "in certain situations.$" -OldaleTown_Text_1E9313: @ 81E9313 +OldaleTown_Text_WaitDontComeInHere: @ 81E9313 .string "Aaaaah! Wait!\n" .string "Please don't come in here.\p" .string "I just discovered the footprints of\n" @@ -374,29 +375,29 @@ OldaleTown_Text_1E9313: @ 81E9313 .string "Wait until I finish sketching\n" .string "them, okay?$" -OldaleTown_Text_1E939A: @ 81E939A +OldaleTown_Text_DiscoveredFootprints: @ 81E939A .string "I just discovered the footprints of\n" .string "a rare POKéMON!\p" .string "Wait until I finish sketching\n" .string "them, okay?$" -OldaleTown_Text_1E93F8: @ 81E93F8 +OldaleTown_Text_FinishedSketchingFootprints: @ 81E93F8 .string "I finished sketching the footprints of\n" .string "a rare POKéMON.\p" .string "But it turns out they were only my\n" .string "own footprints…$" -OldaleTown_Text_1E9462: @ 81E9462 +OldaleTown_Text_MayLetsGoBack: @ 81E9462 .string "MAY: {PLAYER}{KUN}!\n" .string "Over here!\l" .string "Let's hurry home!$" -OldaleTown_Text_1E948A: @ 81E948A +OldaleTown_Text_BrendanLetsGoBack: @ 81E948A .string "BRENDAN: I'm heading back to my dad's\n" .string "LAB now.\l" .string "{PLAYER}, you should hustle back, too.$" -OldaleTown_Text_1E94DA: @ 81E94DA +OldaleTown_Text_CitySign: @ 81E94DA .string "OLDALE TOWN\n" .string "“Where things start off scarce.”$" diff --git a/data/maps/OldaleTown_House1/map.json b/data/maps/OldaleTown_House1/map.json index aa837378c3..03155a6238 100644 --- a/data/maps/OldaleTown_House1/map.json +++ b/data/maps/OldaleTown_House1/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_House1_EventScript_1FBE86", + "script": "OldaleTown_House1_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/OldaleTown_House1/scripts.inc b/data/maps/OldaleTown_House1/scripts.inc index 71010116ee..1cb5622efe 100644 --- a/data/maps/OldaleTown_House1/scripts.inc +++ b/data/maps/OldaleTown_House1/scripts.inc @@ -1,11 +1,11 @@ OldaleTown_House1_MapScripts:: @ 81FBE85 .byte 0 -OldaleTown_House1_EventScript_1FBE86:: @ 81FBE86 - msgbox OldaleTown_House1_Text_1FBE8F, MSGBOX_NPC +OldaleTown_House1_EventScript_Woman:: @ 81FBE86 + msgbox OldaleTown_House1_Text_LeftPokemonGoesOutFirst, MSGBOX_NPC end -OldaleTown_House1_Text_1FBE8F: @ 81FBE8F +OldaleTown_House1_Text_LeftPokemonGoesOutFirst: @ 81FBE8F .string "When a POKéMON battle starts, the one\n" .string "at the left of the list goes out first.\p" .string "So, when you get more POKéMON in your\n" diff --git a/data/maps/OldaleTown_House2/map.json b/data/maps/OldaleTown_House2/map.json index fbcf968e7e..754f98c498 100644 --- a/data/maps/OldaleTown_House2/map.json +++ b/data/maps/OldaleTown_House2/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_House2_EventScript_1FBF5B", + "script": "OldaleTown_House2_EventScript_Woman", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_House2_EventScript_1FBF64", + "script": "OldaleTown_House2_EventScript_Man", "flag": "0" } ], diff --git a/data/maps/OldaleTown_House2/scripts.inc b/data/maps/OldaleTown_House2/scripts.inc index 74a9a06d31..3259e319c2 100644 --- a/data/maps/OldaleTown_House2/scripts.inc +++ b/data/maps/OldaleTown_House2/scripts.inc @@ -1,19 +1,19 @@ OldaleTown_House2_MapScripts:: @ 81FBF5A .byte 0 -OldaleTown_House2_EventScript_1FBF5B:: @ 81FBF5B - msgbox OldaleTown_House2_Text_1FBF6D, MSGBOX_NPC +OldaleTown_House2_EventScript_Woman:: @ 81FBF5B + msgbox OldaleTown_House2_Text_PokemonLevelUp, MSGBOX_NPC end -OldaleTown_House2_EventScript_1FBF64:: @ 81FBF64 - msgbox OldaleTown_House2_Text_1FBFB0, MSGBOX_NPC +OldaleTown_House2_EventScript_Man:: @ 81FBF64 + msgbox OldaleTown_House2_Text_YoullGoFurtherWithStrongPokemon, MSGBOX_NPC end -OldaleTown_House2_Text_1FBF6D: @ 81FBF6D +OldaleTown_House2_Text_PokemonLevelUp: @ 81FBF6D .string "When POKéMON battle, they eventually\n" .string "level up and become stronger.$" -OldaleTown_House2_Text_1FBFB0: @ 81FBFB0 +OldaleTown_House2_Text_YoullGoFurtherWithStrongPokemon: @ 81FBFB0 .string "If the POKéMON with you become\n" .string "stronger, you'll be able to go farther\l" .string "away from here.$" diff --git a/data/maps/OldaleTown_Mart/map.json b/data/maps/OldaleTown_Mart/map.json index 9f1f894ce3..a27fad4972 100644 --- a/data/maps/OldaleTown_Mart/map.json +++ b/data/maps/OldaleTown_Mart/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_Mart_EventScript_1FC240", + "script": "OldaleTown_Mart_EventScript_Clerk", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_Mart_EventScript_1FC28A", + "script": "OldaleTown_Mart_EventScript_Woman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_Mart_EventScript_1FC2A9", + "script": "OldaleTown_Mart_EventScript_Boy", "flag": "0" } ], diff --git a/data/maps/OldaleTown_Mart/scripts.inc b/data/maps/OldaleTown_Mart/scripts.inc index 980b0e4d61..33d26cbfb1 100644 --- a/data/maps/OldaleTown_Mart/scripts.inc +++ b/data/maps/OldaleTown_Mart/scripts.inc @@ -1,18 +1,18 @@ OldaleTown_Mart_MapScripts:: @ 81FC23F .byte 0 -OldaleTown_Mart_EventScript_1FC240:: @ 81FC240 +OldaleTown_Mart_EventScript_Clerk:: @ 81FC240 lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_Mart_EventScript_1FC26C - pokemart OldaleTown_Mart_Pokemart_1FC260 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_Mart_ExpandedItems + pokemart OldaleTown_Mart_Pokemart_Basic + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end -OldaleTown_Mart_Pokemart_1FC260: @ 81FC260 +OldaleTown_Mart_Pokemart_Basic: @ 81FC260 .2byte ITEM_POTION .2byte ITEM_ANTIDOTE .2byte ITEM_PARALYZE_HEAL @@ -21,14 +21,14 @@ OldaleTown_Mart_Pokemart_1FC260: @ 81FC260 release end -OldaleTown_Mart_EventScript_1FC26C:: @ 81FC26C - pokemart OldaleTown_Mart_Pokemart_1FC27C - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT +OldaleTown_Mart_ExpandedItems:: @ 81FC26C + pokemart OldaleTown_Mart_Pokemart_Expanded + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -OldaleTown_Mart_Pokemart_1FC27C: @ 81FC27C +OldaleTown_Mart_Pokemart_Expanded: @ 81FC27C .2byte ITEM_POKE_BALL .2byte ITEM_POTION .2byte ITEM_ANTIDOTE @@ -38,32 +38,32 @@ OldaleTown_Mart_Pokemart_1FC27C: @ 81FC27C release end -OldaleTown_Mart_EventScript_1FC28A:: @ 81FC28A +OldaleTown_Mart_EventScript_Woman:: @ 81FC28A lock faceplayer - goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_Mart_EventScript_1FC29F - msgbox OldaleTown_Mart_Text_1FC2B2, MSGBOX_DEFAULT + goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_Mart_EventScript_PokeBallsInStock + msgbox OldaleTown_Mart_Text_PokeBallsAreSoldOut, MSGBOX_DEFAULT release end -OldaleTown_Mart_EventScript_1FC29F:: @ 81FC29F - msgbox OldaleTown_Mart_Text_1FC2F3, MSGBOX_DEFAULT +OldaleTown_Mart_EventScript_PokeBallsInStock:: @ 81FC29F + msgbox OldaleTown_Mart_Text_ImGoingToBuyPokeBalls, MSGBOX_DEFAULT release end -OldaleTown_Mart_EventScript_1FC2A9:: @ 81FC2A9 - msgbox OldaleTown_Mart_Text_1FC338, MSGBOX_NPC +OldaleTown_Mart_EventScript_Boy:: @ 81FC2A9 + msgbox OldaleTown_Mart_Text_RestoreHPWithPotion, MSGBOX_NPC end -OldaleTown_Mart_Text_1FC2B2: @ 81FC2B2 +OldaleTown_Mart_Text_PokeBallsAreSoldOut: @ 81FC2B2 .string "The clerk says they're all sold out.\n" .string "I can't buy any POKé BALLS.$" -OldaleTown_Mart_Text_1FC2F3: @ 81FC2F3 +OldaleTown_Mart_Text_ImGoingToBuyPokeBalls: @ 81FC2F3 .string "I'm going to buy a bunch of POKé BALLS\n" .string "and catch a bunch of POKéMON!$" -OldaleTown_Mart_Text_1FC338: @ 81FC338 +OldaleTown_Mart_Text_RestoreHPWithPotion: @ 81FC338 .string "If a POKéMON gets hurt and loses its HP\n" .string "and faints, it won't be able to battle.\p" .string "To prevent your POKéMON from fainting,\n" diff --git a/data/maps/OldaleTown_PokemonCenter_1F/map.json b/data/maps/OldaleTown_PokemonCenter_1F/map.json index 7c9ed89a00..2f92a004c5 100644 --- a/data/maps/OldaleTown_PokemonCenter_1F/map.json +++ b/data/maps/OldaleTown_PokemonCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_PokemonCenter_1F_EventScript_1FC01A", + "script": "OldaleTown_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_PokemonCenter_1F_EventScript_1FC028", + "script": "OldaleTown_PokemonCenter_1F_EventScript_Gentleman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_PokemonCenter_1F_EventScript_1FC031", + "script": "OldaleTown_PokemonCenter_1F_EventScript_Boy", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_PokemonCenter_1F_EventScript_1FC03A", + "script": "OldaleTown_PokemonCenter_1F_EventScript_Girl", "flag": "0" } ], diff --git a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc index 2396573dce..df405376a0 100644 --- a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc @@ -1,61 +1,62 @@ OldaleTown_PokemonCenter_1F_MapScripts:: @ 81FC006 map_script MAP_SCRIPT_ON_TRANSITION, OldaleTown_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, OldaleTown_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 OldaleTown_PokemonCenter_1F_OnTransition: @ 81FC011 setrespawn HEAL_LOCATION_OLDALE_TOWN - call OldaleTown_PokemonCenter_1F_EventScript_2718DE + call Common_EventScript_UpdateBrineyLocation end -OldaleTown_PokemonCenter_1F_EventScript_1FC01A:: @ 81FC01A +@ VAR_0x800B is the Nurse's object event id +OldaleTown_PokemonCenter_1F_EventScript_Nurse:: @ 81FC01A setvar VAR_0x800B, 1 - call OldaleTown_PokemonCenter_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -OldaleTown_PokemonCenter_1F_EventScript_1FC028:: @ 81FC028 - msgbox OldaleTown_PokemonCenter_1F_Text_1FC059, MSGBOX_NPC +OldaleTown_PokemonCenter_1F_EventScript_Gentleman:: @ 81FC028 + msgbox OldaleTown_PokemonCenter_1F_Text_TrainersCanUsePC, MSGBOX_NPC end -OldaleTown_PokemonCenter_1F_EventScript_1FC031:: @ 81FC031 - msgbox OldaleTown_PokemonCenter_1F_Text_1FC0CD, MSGBOX_NPC +OldaleTown_PokemonCenter_1F_EventScript_Boy:: @ 81FC031 + msgbox OldaleTown_PokemonCenter_1F_Text_PokemonCentersAreGreat, MSGBOX_NPC end -OldaleTown_PokemonCenter_1F_EventScript_1FC03A:: @ 81FC03A +OldaleTown_PokemonCenter_1F_EventScript_Girl:: @ 81FC03A lock faceplayer - goto_if_set FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_1F_EventScript_1FC04F - msgbox OldaleTown_PokemonCenter_1F_Text_1FC148, MSGBOX_DEFAULT + goto_if_set FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_1F_EventScript_WirelessClubAvailable + msgbox OldaleTown_PokemonCenter_1F_Text_WirelessClubNotAvailable, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_1F_EventScript_1FC04F:: @ 81FC04F - msgbox OldaleTown_PokemonCenter_1F_Text_1FC1B9, MSGBOX_DEFAULT +OldaleTown_PokemonCenter_1F_EventScript_WirelessClubAvailable:: @ 81FC04F + msgbox OldaleTown_PokemonCenter_1F_Text_TradedInWirelessClub, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_1F_Text_1FC059: @ 81FC059 +OldaleTown_PokemonCenter_1F_Text_TrainersCanUsePC: @ 81FC059 .string "That PC in the corner there is\n" .string "for any POKéMON TRAINER to use.\p" .string "Naturally, that means you're welcome\n" .string "to use it, too.$" -OldaleTown_PokemonCenter_1F_Text_1FC0CD: @ 81FC0CD +OldaleTown_PokemonCenter_1F_Text_PokemonCentersAreGreat: @ 81FC0CD .string "POKéMON CENTERS are great!\p" .string "You can use their services as much\n" .string "as you like, and it's all for free.\l" .string "You never have to worry!$" -OldaleTown_PokemonCenter_1F_Text_1FC148: @ 81FC148 +OldaleTown_PokemonCenter_1F_Text_WirelessClubNotAvailable: @ 81FC148 .string "The POKéMON WIRELESS CLUB on\n" .string "the second floor was built recently.\p" .string "But they say they're still making\n" .string "adjustments.$" -OldaleTown_PokemonCenter_1F_Text_1FC1B9: @ 81FC1B9 +OldaleTown_PokemonCenter_1F_Text_TradedInWirelessClub: @ 81FC1B9 .string "The POKéMON WIRELESS CLUB on\n" .string "the second floor was built recently.\p" .string "I traded POKéMON right away.$" diff --git a/data/maps/OldaleTown_PokemonCenter_2F/map.json b/data/maps/OldaleTown_PokemonCenter_2F/map.json index cddd0a5a30..c3e41775d0 100644 --- a/data/maps/OldaleTown_PokemonCenter_2F/map.json +++ b/data/maps/OldaleTown_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "OldaleTown_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/OldaleTown_PokemonCenter_2F/scripts.inc b/data/maps/OldaleTown_PokemonCenter_2F/scripts.inc index aead0bd65c..125805f50f 100644 --- a/data/maps/OldaleTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/OldaleTown_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ OldaleTown_PokemonCenter_2F_MapScripts:: @ 81FC218 - map_script MAP_SCRIPT_ON_FRAME_TABLE, OldaleTown_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, OldaleTown_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, OldaleTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -OldaleTown_PokemonCenter_2F_EventScript_1FC22D:: @ 81FC22D - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +OldaleTown_PokemonCenter_2F_EventScript_Colosseum:: @ 81FC22D + call CableClub_EventScript_Colosseum end -OldaleTown_PokemonCenter_2F_EventScript_1FC233:: @ 81FC233 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +OldaleTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 81FC233 + call CableClub_EventScript_TradeCenter end -OldaleTown_PokemonCenter_2F_EventScript_1FC239:: @ 81FC239 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +OldaleTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 81FC239 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/PacifidlogTown/map.json b/data/maps/PacifidlogTown/map.json index 3070d9c07a..ff64a59678 100644 --- a/data/maps/PacifidlogTown/map.json +++ b/data/maps/PacifidlogTown/map.json @@ -35,7 +35,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_EventScript_1EBACC", + "script": "PacifidlogTown_EventScript_Girl", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_EventScript_1EBAD5", + "script": "PacifidlogTown_EventScript_Fisherman", "flag": "0" }, { @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_EventScript_1EBAC3", + "script": "PacifidlogTown_EventScript_NinjaBoy", "flag": "0" } ], @@ -125,7 +125,7 @@ "y": 16, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PacifidlogTown_EventScript_1EBADE" + "script": "PacifidlogTown_EventScript_TownSign" }, { "type": "sign", diff --git a/data/maps/PacifidlogTown/scripts.inc b/data/maps/PacifidlogTown/scripts.inc index 1d1518c0a7..fc491cfe30 100644 --- a/data/maps/PacifidlogTown/scripts.inc +++ b/data/maps/PacifidlogTown/scripts.inc @@ -1,44 +1,44 @@ PacifidlogTown_MapScripts:: @ 81EBAB1 map_script MAP_SCRIPT_ON_TRANSITION, PacifidlogTown_OnTransition - map_script MAP_SCRIPT_ON_RESUME, PacifidlogTown_MapScript1_1EBAC0 + map_script MAP_SCRIPT_ON_RESUME, PacifidlogTown_OnResume .byte 0 PacifidlogTown_OnTransition: @ 81EBABC setflag FLAG_VISITED_PACIFIDLOG_TOWN end -PacifidlogTown_MapScript1_1EBAC0: @ 81EBAC0 - setstepcallback 3 +PacifidlogTown_OnResume: @ 81EBAC0 + setstepcallback STEP_CB_PACIFIDLOG_BRIDGE end -PacifidlogTown_EventScript_1EBAC3:: @ 81EBAC3 - msgbox PacifidlogTown_Text_1EBB6C, MSGBOX_NPC +PacifidlogTown_EventScript_NinjaBoy:: @ 81EBAC3 + msgbox PacifidlogTown_Text_NeatHousesOnWater, MSGBOX_NPC end -PacifidlogTown_EventScript_1EBACC:: @ 81EBACC - msgbox PacifidlogTown_Text_1EBAE7, MSGBOX_NPC +PacifidlogTown_EventScript_Girl:: @ 81EBACC + msgbox PacifidlogTown_Text_FastRunningCurrent, MSGBOX_NPC end -PacifidlogTown_EventScript_1EBAD5:: @ 81EBAD5 - msgbox PacifidlogTown_Text_1EBBAC, MSGBOX_NPC +PacifidlogTown_EventScript_Fisherman:: @ 81EBAD5 + msgbox PacifidlogTown_Text_SkyPillarTooScary, MSGBOX_NPC end -PacifidlogTown_EventScript_1EBADE:: @ 81EBADE - msgbox PacifidlogTown_Text_1EBC7A, MSGBOX_SIGN +PacifidlogTown_EventScript_TownSign:: @ 81EBADE + msgbox PacifidlogTown_Text_TownSign, MSGBOX_SIGN end -PacifidlogTown_Text_1EBAE7: @ 81EBAE7 +PacifidlogTown_Text_FastRunningCurrent: @ 81EBAE7 .string "The sea between PACIFIDLOG and\n" .string "SLATEPORT has a fast-running tide.\p" .string "If you decide to SURF, you could end\n" .string "up swept away somewhere else.$" -PacifidlogTown_Text_1EBB6C: @ 81EBB6C +PacifidlogTown_Text_NeatHousesOnWater: @ 81EBB6C .string "See, isn't it neat?\n" .string "These houses are on water!\p" .string "I was born here!$" -PacifidlogTown_Text_1EBBAC: @ 81EBBAC +PacifidlogTown_Text_SkyPillarTooScary: @ 81EBBAC .string "The SKY PILLAR?\p" .string "…Oh, you must mean that tall, tall\n" .string "tower a little further out.\p" @@ -47,7 +47,7 @@ PacifidlogTown_Text_1EBBAC: @ 81EBBAC .string "Life at sea level in PACIFIDLOG,\n" .string "that suits me fine.$" -PacifidlogTown_Text_1EBC7A: @ 81EBC7A +PacifidlogTown_Text_TownSign: @ 81EBC7A .string "PACIFIDLOG TOWN\p" .string "“Where the morning sun smiles upon\n" .string "the waters.”$" diff --git a/data/maps/PacifidlogTown_House1/map.json b/data/maps/PacifidlogTown_House1/map.json index 1e48da85c2..8f7357246c 100644 --- a/data/maps/PacifidlogTown_House1/map.json +++ b/data/maps/PacifidlogTown_House1/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_House1_EventScript_20365D", + "script": "PacifidlogTown_House1_EventScript_Man", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_House1_EventScript_203666", + "script": "PacifidlogTown_House1_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/PacifidlogTown_House1/scripts.inc b/data/maps/PacifidlogTown_House1/scripts.inc index 937b645bc6..7759cb29a6 100644 --- a/data/maps/PacifidlogTown_House1/scripts.inc +++ b/data/maps/PacifidlogTown_House1/scripts.inc @@ -1,15 +1,15 @@ PacifidlogTown_House1_MapScripts:: @ 820365C .byte 0 -PacifidlogTown_House1_EventScript_20365D:: @ 820365D - msgbox PacifidlogTown_House1_Text_20366F, MSGBOX_NPC +PacifidlogTown_House1_EventScript_Man:: @ 820365D + msgbox PacifidlogTown_House1_Text_RegiStory, MSGBOX_NPC end -PacifidlogTown_House1_EventScript_203666:: @ 8203666 - msgbox PacifidlogTown_House1_Text_20373A, MSGBOX_NPC +PacifidlogTown_House1_EventScript_Woman:: @ 8203666 + msgbox PacifidlogTown_House1_Text_SixDotsOpenThreeDoors, MSGBOX_NPC end -PacifidlogTown_House1_Text_20366F: @ 820366F +PacifidlogTown_House1_Text_RegiStory: @ 820366F .string "In the HOENN region, there are three\n" .string "POKéMON that represent the power of\l" .string "rock, ice, and steel.\p" @@ -18,7 +18,7 @@ PacifidlogTown_House1_Text_20366F: @ 820366F .string "That's the story I heard when I was\n" .string "just a little kid.$" -PacifidlogTown_House1_Text_20373A: @ 820373A +PacifidlogTown_House1_Text_SixDotsOpenThreeDoors: @ 820373A .string "“Six dots open three doors.”\p" .string "Grandpa used to say that, but I don't\n" .string "know what he meant.$" diff --git a/data/maps/PacifidlogTown_House2/map.json b/data/maps/PacifidlogTown_House2/map.json index d57720795a..8c9cd91af9 100644 --- a/data/maps/PacifidlogTown_House2/map.json +++ b/data/maps/PacifidlogTown_House2/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_House2_EventScript_203792", + "script": "PacifidlogTown_House2_EventScript_FanClubYoungerBrother", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_House2_EventScript_203891", + "script": "PacifidlogTown_House2_EventScript_HappyAzurill", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_House2_EventScript_2038AC", + "script": "PacifidlogTown_House2_EventScript_UnhappyAzurill", "flag": "0" } ], diff --git a/data/maps/PacifidlogTown_House2/scripts.inc b/data/maps/PacifidlogTown_House2/scripts.inc index 4f646ff435..2dcff9f29e 100644 --- a/data/maps/PacifidlogTown_House2/scripts.inc +++ b/data/maps/PacifidlogTown_House2/scripts.inc @@ -1,101 +1,101 @@ PacifidlogTown_House2_MapScripts:: @ 8203791 .byte 0 -PacifidlogTown_House2_EventScript_203792:: @ 8203792 +PacifidlogTown_House2_EventScript_FanClubYoungerBrother:: @ 8203792 lock faceplayer dotimebasedevents - call PacifidlogTown_House2_EventScript_2037DE - goto_if_set FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK, PacifidlogTown_House2_EventScript_20387E - call_if_set FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_2037F8 - call_if_unset FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_203801 + call PacifidlogTown_House2_EventScript_UpdateFanClubTMFlag + goto_if_set FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK, PacifidlogTown_House2_EventScript_ComeBackInXDays + call_if_set FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_MonAssessment + call_if_unset FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_FirstMonAssessment setflag FLAG_MET_FANCLUB_YOUNGER_BROTHER specialvar VAR_RESULT, GetLeadMonFriendshipScore compare VAR_RESULT, 4 - goto_if_ge PacifidlogTown_House2_EventScript_203816 + goto_if_ge PacifidlogTown_House2_EventScript_GiveReturn specialvar VAR_RESULT, GetLeadMonFriendshipScore compare VAR_RESULT, 2 - goto_if_ge PacifidlogTown_House2_EventScript_203845 - goto PacifidlogTown_House2_EventScript_20384F + goto_if_ge PacifidlogTown_House2_EventScript_PutInEffort + goto PacifidlogTown_House2_EventScript_GiveFrustration end -PacifidlogTown_House2_EventScript_2037DE:: @ 82037DE +PacifidlogTown_House2_EventScript_UpdateFanClubTMFlag:: @ 82037DE goto_if_unset FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK, Common_EventScript_NopReturn specialvar VAR_RESULT, GetDaysUntilPacifidlogTMAvailable compare VAR_RESULT, 0 - call_if_eq PacifidlogTown_House2_EventScript_203812 + call_if_eq PacifidlogTown_House2_EventScript_ClearReceivedFanClubTM return -PacifidlogTown_House2_EventScript_2037F8:: @ 82037F8 - msgbox PacifidlogTown_House2_Text_20395B, MSGBOX_DEFAULT +PacifidlogTown_House2_EventScript_MonAssessment:: @ 82037F8 + msgbox PacifidlogTown_House2_Text_AhYourPokemon, MSGBOX_DEFAULT return -PacifidlogTown_House2_EventScript_203801:: @ 8203801 - msgbox PacifidlogTown_House2_Text_2038C7, MSGBOX_DEFAULT - msgbox PacifidlogTown_House2_Text_20395B, MSGBOX_DEFAULT +PacifidlogTown_House2_EventScript_FirstMonAssessment:: @ 8203801 + msgbox PacifidlogTown_House2_Text_ChairmansYoungerBrotherOnVacation, MSGBOX_DEFAULT + msgbox PacifidlogTown_House2_Text_AhYourPokemon, MSGBOX_DEFAULT return -PacifidlogTown_House2_EventScript_203812:: @ 8203812 +PacifidlogTown_House2_EventScript_ClearReceivedFanClubTM:: @ 8203812 clearflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK return -PacifidlogTown_House2_EventScript_203816:: @ 8203816 - msgbox PacifidlogTown_House2_Text_20396D, MSGBOX_DEFAULT - giveitem_std ITEM_TM27 +PacifidlogTown_House2_EventScript_GiveReturn:: @ 8203816 + msgbox PacifidlogTown_House2_Text_AdoringPokemonTakeThis, MSGBOX_DEFAULT + giveitem ITEM_TM27 + compare VAR_RESULT, FALSE + goto_if_eq Common_EventScript_ShowBagIsFull + setflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK + special SetPacifidlogTMReceivedDay + msgbox PacifidlogTown_House2_Text_ExplainReturnFrustration, MSGBOX_DEFAULT + release + end + +PacifidlogTown_House2_EventScript_PutInEffort:: @ 8203845 + msgbox PacifidlogTown_House2_Text_PutInSomeMoreEffort, MSGBOX_DEFAULT + release + end + +PacifidlogTown_House2_EventScript_GiveFrustration:: @ 820384F + msgbox PacifidlogTown_House2_Text_ViciousPokemonTakeThis, MSGBOX_DEFAULT + giveitem ITEM_TM21 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK special SetPacifidlogTMReceivedDay - msgbox PacifidlogTown_House2_Text_203A85, MSGBOX_DEFAULT + msgbox PacifidlogTown_House2_Text_ExplainReturnFrustration, MSGBOX_DEFAULT release end -PacifidlogTown_House2_EventScript_203845:: @ 8203845 - msgbox PacifidlogTown_House2_Text_2039CE, MSGBOX_DEFAULT - release - end - -PacifidlogTown_House2_EventScript_20384F:: @ 820384F - msgbox PacifidlogTown_House2_Text_203A2F, MSGBOX_DEFAULT - giveitem_std ITEM_TM21 - compare VAR_RESULT, 0 - goto_if_eq Common_EventScript_ShowBagIsFull - setflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK - special SetPacifidlogTMReceivedDay - msgbox PacifidlogTown_House2_Text_203A85, MSGBOX_DEFAULT - release - end - -PacifidlogTown_House2_EventScript_20387E:: @ 820387E +PacifidlogTown_House2_EventScript_ComeBackInXDays:: @ 820387E specialvar VAR_RESULT, GetDaysUntilPacifidlogTMAvailable buffernumberstring 0, VAR_RESULT - msgbox PacifidlogTown_House2_Text_203AF4, MSGBOX_DEFAULT + msgbox PacifidlogTown_House2_Text_GetGoodTMInXDays, MSGBOX_DEFAULT release end -PacifidlogTown_House2_EventScript_203891:: @ 8203891 +PacifidlogTown_House2_EventScript_HappyAzurill:: @ 8203891 lock faceplayer waitse playmoncry SPECIES_AZURILL, 0 - msgbox PacifidlogTown_House2_Text_203B8D, MSGBOX_DEFAULT + msgbox PacifidlogTown_House2_Text_Rurii, MSGBOX_DEFAULT waitmoncry - msgbox PacifidlogTown_House2_Text_203B9D, MSGBOX_DEFAULT + msgbox PacifidlogTown_House2_Text_VeryFriendlyWithTrainer, MSGBOX_DEFAULT release end -PacifidlogTown_House2_EventScript_2038AC:: @ 82038AC +PacifidlogTown_House2_EventScript_UnhappyAzurill:: @ 82038AC lock faceplayer waitse playmoncry SPECIES_AZURILL, 2 - msgbox PacifidlogTown_House2_Text_203BCE, MSGBOX_DEFAULT + msgbox PacifidlogTown_House2_Text_Rururi, MSGBOX_DEFAULT waitmoncry - msgbox PacifidlogTown_House2_Text_203BDF, MSGBOX_DEFAULT + msgbox PacifidlogTown_House2_Text_DoesntLikeTrainerVeryMuch, MSGBOX_DEFAULT release end -PacifidlogTown_House2_Text_2038C7: @ 82038C7 +PacifidlogTown_House2_Text_ChairmansYoungerBrotherOnVacation: @ 82038C7 .string "Er-hem!\p" .string "I am the POKéMON FAN CLUB's most\n" .string "important person, the CHAIRMAN's\l" @@ -103,50 +103,50 @@ PacifidlogTown_House2_Text_2038C7: @ 82038C7 .string "I'm here enjoying my vacation with\n" .string "POKéMON, yes, indeed.$" -PacifidlogTown_House2_Text_20395B: @ 820395B +PacifidlogTown_House2_Text_AhYourPokemon: @ 820395B .string "Ah!\n" .string "Your POKéMON…$" -PacifidlogTown_House2_Text_20396D: @ 820396D +PacifidlogTown_House2_Text_AdoringPokemonTakeThis: @ 820396D .string "It clearly likes you very much.\p" .string "A POKéMON that adoring and adorable\n" .string "deserves a TM like this, no?$" -PacifidlogTown_House2_Text_2039CE: @ 82039CE +PacifidlogTown_House2_Text_PutInSomeMoreEffort: @ 82039CE .string "Hmm…\n" .string "It's not bad, but it's also not good.\p" .string "You, as the TRAINER, need to put in\n" .string "some more effort.$" -PacifidlogTown_House2_Text_203A2F: @ 8203A2F +PacifidlogTown_House2_Text_ViciousPokemonTakeThis: @ 8203A2F .string "It has a vicious look to it.\p" .string "A frightening POKéMON like that\n" .string "deserves a TM like this.$" -PacifidlogTown_House2_Text_203A85: @ 8203A85 +PacifidlogTown_House2_Text_ExplainReturnFrustration: @ 8203A85 .string "If a POKéMON likes you a lot, RETURN's\n" .string "power is enhanced.\p" .string "If it doesn't like you, FRUSTRATION's\n" .string "power goes up.$" -PacifidlogTown_House2_Text_203AF4: @ 8203AF4 +PacifidlogTown_House2_Text_GetGoodTMInXDays: @ 8203AF4 .string "Oh, yes. In about {STR_VAR_1} or so days,\n" .string "I should be getting a good TM or two.\p" .string "You should come see me then.\n" .string "I'll give you a TM that's suitable for\l" .string "your POKéMON.$" -PacifidlogTown_House2_Text_203B8D: @ 8203B8D +PacifidlogTown_House2_Text_Rurii: @ 8203B8D .string "AZURILL: Rurii.$" -PacifidlogTown_House2_Text_203B9D: @ 8203B9D +PacifidlogTown_House2_Text_VeryFriendlyWithTrainer: @ 8203B9D .string "It appears to be very friendly with the\n" .string "TRAINER.$" -PacifidlogTown_House2_Text_203BCE: @ 8203BCE +PacifidlogTown_House2_Text_Rururi: @ 8203BCE .string "AZURILL: Rururi!$" -PacifidlogTown_House2_Text_203BDF: @ 8203BDF +PacifidlogTown_House2_Text_DoesntLikeTrainerVeryMuch: @ 8203BDF .string "It doesn't appear to like the TRAINER\n" .string "very much.$" diff --git a/data/maps/PacifidlogTown_House3/map.json b/data/maps/PacifidlogTown_House3/map.json index 181d69a803..11bd0761bb 100644 --- a/data/maps/PacifidlogTown_House3/map.json +++ b/data/maps/PacifidlogTown_House3/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_House3_EventScript_203CB5", + "script": "PacifidlogTown_House3_EventScript_Girl", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_House3_EventScript_203C11", + "script": "PacifidlogTown_House3_EventScript_Trader", "flag": "0" } ], diff --git a/data/maps/PacifidlogTown_House3/scripts.inc b/data/maps/PacifidlogTown_House3/scripts.inc index 28f187da99..ea33c8d01c 100644 --- a/data/maps/PacifidlogTown_House3/scripts.inc +++ b/data/maps/PacifidlogTown_House3/scripts.inc @@ -1,59 +1,59 @@ PacifidlogTown_House3_MapScripts:: @ 8203C10 .byte 0 -PacifidlogTown_House3_EventScript_203C11:: @ 8203C11 +PacifidlogTown_House3_EventScript_Trader:: @ 8203C11 lock faceplayer - goto_if_set FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED, PacifidlogTown_House3_EventScript_203CAB - setvar VAR_0x8008, 2 + goto_if_set FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED, PacifidlogTown_House3_EventScript_TradeCompleted + setvar VAR_0x8008, INGAME_TRADE_HORSEA copyvar VAR_0x8004, VAR_0x8008 specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT - msgbox PacifidlogTown_House3_Text_203CBE, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq PacifidlogTown_House3_EventScript_203C93 - special sub_81B94B0 + msgbox PacifidlogTown_House3_Text_WillingToTradeIt, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq PacifidlogTown_House3_EventScript_DeclineTrade + special ChoosePartyMon waitstate copyvar VAR_0x800A, VAR_0x8004 compare VAR_0x8004, 255 - goto_if_eq PacifidlogTown_House3_EventScript_203C93 + goto_if_eq PacifidlogTown_House3_EventScript_DeclineTrade copyvar VAR_0x8005, VAR_0x800A specialvar VAR_RESULT, GetTradeSpecies copyvar VAR_0x800B, VAR_RESULT compare VAR_RESULT, VAR_0x8009 - goto_if_ne PacifidlogTown_House3_EventScript_203C9D + goto_if_ne PacifidlogTown_House3_EventScript_NotRequestedMon copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A special CreateInGameTradePokemon special DoInGameTradeScene waitstate bufferspeciesname 0, VAR_0x8009 - msgbox PacifidlogTown_House3_Text_203D87, MSGBOX_DEFAULT + msgbox PacifidlogTown_House3_Text_ItsSubtlyDifferentThankYou, MSGBOX_DEFAULT setflag FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED release end -PacifidlogTown_House3_EventScript_203C93:: @ 8203C93 - msgbox PacifidlogTown_House3_Text_203E12, MSGBOX_DEFAULT +PacifidlogTown_House3_EventScript_DeclineTrade:: @ 8203C93 + msgbox PacifidlogTown_House3_Text_NotDesperateOrAnything, MSGBOX_DEFAULT release end -PacifidlogTown_House3_EventScript_203C9D:: @ 8203C9D +PacifidlogTown_House3_EventScript_NotRequestedMon:: @ 8203C9D bufferspeciesname 0, VAR_0x8009 - msgbox PacifidlogTown_House3_Text_203DDE, MSGBOX_DEFAULT + msgbox PacifidlogTown_House3_Text_WontAcceptAnyLessThanRealMon, MSGBOX_DEFAULT release end -PacifidlogTown_House3_EventScript_203CAB:: @ 8203CAB - msgbox PacifidlogTown_House3_Text_203E7F, MSGBOX_DEFAULT +PacifidlogTown_House3_EventScript_TradeCompleted:: @ 8203CAB + msgbox PacifidlogTown_House3_Text_ReallyWantedToGetBagon, MSGBOX_DEFAULT release end -PacifidlogTown_House3_EventScript_203CB5:: @ 8203CB5 - msgbox PacifidlogTown_House3_Text_203EF1, MSGBOX_NPC +PacifidlogTown_House3_EventScript_Girl:: @ 8203CB5 + msgbox PacifidlogTown_House3_Text_IsThatAPokedex, MSGBOX_NPC end -PacifidlogTown_House3_Text_203CBE: @ 8203CBE +PacifidlogTown_House3_Text_WillingToTradeIt: @ 8203CBE .string "Check out this {STR_VAR_2}!\p" .string "It's the {STR_VAR_2} that I caught\n" .string "yesterday to celebrate my birthday!\p" @@ -62,29 +62,29 @@ PacifidlogTown_House3_Text_203CBE: @ 8203CBE .string "I'll tell you what. I might be willing\n" .string "to trade it for a {STR_VAR_1}.$" -PacifidlogTown_House3_Text_203D87: @ 8203D87 +PacifidlogTown_House3_Text_ItsSubtlyDifferentThankYou: @ 8203D87 .string "Oh, so this is a {STR_VAR_1}?\p" .string "It's sort of like a {STR_VAR_2},\n" .string "and yet it's subtly different.\p" .string "Thank you!$" -PacifidlogTown_House3_Text_203DDE: @ 8203DDE +PacifidlogTown_House3_Text_WontAcceptAnyLessThanRealMon: @ 8203DDE .string "No, no, no! I won't accept any\n" .string "less than a real {STR_VAR_1}!$" -PacifidlogTown_House3_Text_203E12: @ 8203E12 +PacifidlogTown_House3_Text_NotDesperateOrAnything: @ 8203E12 .string "Oh, so you're not going to go through\n" .string "with this?\p" .string "That's cool. I'm not desperate to make\n" .string "a trade or anything.$" -PacifidlogTown_House3_Text_203E7F: @ 8203E7F +PacifidlogTown_House3_Text_ReallyWantedToGetBagon: @ 8203E7F .string "I know I could go looking for one\n" .string "on my own, but…\p" .string "But I really wanted to get a BAGON\n" .string "that another TRAINER caught…$" -PacifidlogTown_House3_Text_203EF1: @ 8203EF1 +PacifidlogTown_House3_Text_IsThatAPokedex: @ 8203EF1 .string "Is that a POKéDEX?\p" .string "Did you get to meet a lot of different\n" .string "POKéMON?\p" diff --git a/data/maps/PacifidlogTown_House4/map.json b/data/maps/PacifidlogTown_House4/map.json index d38384fc94..f196f6a8aa 100644 --- a/data/maps/PacifidlogTown_House4/map.json +++ b/data/maps/PacifidlogTown_House4/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_House4_EventScript_203F55", + "script": "PacifidlogTown_House4_EventScript_Woman", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_House4_EventScript_203F4C", + "script": "PacifidlogTown_House4_EventScript_LittleGirl", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_House4_EventScript_203F5E", + "script": "PacifidlogTown_House4_EventScript_Boy", "flag": "0" } ], diff --git a/data/maps/PacifidlogTown_House4/scripts.inc b/data/maps/PacifidlogTown_House4/scripts.inc index e9f5f19e7d..42a988bc21 100644 --- a/data/maps/PacifidlogTown_House4/scripts.inc +++ b/data/maps/PacifidlogTown_House4/scripts.inc @@ -1,53 +1,53 @@ PacifidlogTown_House4_MapScripts:: @ 8203F4B .byte 0 -PacifidlogTown_House4_EventScript_203F4C:: @ 8203F4C - msgbox PacifidlogTown_House4_Text_204017, MSGBOX_NPC +PacifidlogTown_House4_EventScript_LittleGirl:: @ 8203F4C + msgbox PacifidlogTown_House4_Text_SkyPokemon, MSGBOX_NPC end -PacifidlogTown_House4_EventScript_203F55:: @ 8203F55 - msgbox PacifidlogTown_House4_Text_203F93, MSGBOX_NPC +PacifidlogTown_House4_EventScript_Woman:: @ 8203F55 + msgbox PacifidlogTown_House4_Text_PeopleSawHighFlyingPokemon, MSGBOX_NPC end -PacifidlogTown_House4_EventScript_203F5E:: @ 8203F5E +PacifidlogTown_House4_EventScript_Boy:: @ 8203F5E lock faceplayer - msgbox PacifidlogTown_House4_Text_204035, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq PacifidlogTown_House4_EventScript_203F7F - compare VAR_RESULT, 0 - goto_if_eq PacifidlogTown_House4_EventScript_203F89 + msgbox PacifidlogTown_House4_Text_WhereDidYouComeFrom, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq PacifidlogTown_House4_EventScript_Yes + compare VAR_RESULT, NO + goto_if_eq PacifidlogTown_House4_EventScript_No end -PacifidlogTown_House4_EventScript_203F7F:: @ 8203F7F - msgbox PacifidlogTown_House4_Text_20404E, MSGBOX_DEFAULT +PacifidlogTown_House4_EventScript_Yes:: @ 8203F7F + msgbox PacifidlogTown_House4_Text_YesTown, MSGBOX_DEFAULT release end -PacifidlogTown_House4_EventScript_203F89:: @ 8203F89 - msgbox PacifidlogTown_House4_Text_204084, MSGBOX_DEFAULT +PacifidlogTown_House4_EventScript_No:: @ 8203F89 + msgbox PacifidlogTown_House4_Text_YouHaveToComeFromSomewhere, MSGBOX_DEFAULT release end -PacifidlogTown_House4_Text_203F93: @ 8203F93 +PacifidlogTown_House4_Text_PeopleSawHighFlyingPokemon: @ 8203F93 .string "People were saying they saw a POKéMON\n" .string "flying high above HOENN.\p" .string "Is it flying around all the time?\n" .string "Doesn't it need to rest somewhere?$" -PacifidlogTown_House4_Text_204017: @ 8204017 +PacifidlogTown_House4_Text_SkyPokemon: @ 8204017 .string "A sky POKéMON!\n" .string "A sky POKéMON!$" -PacifidlogTown_House4_Text_204035: @ 8204035 +PacifidlogTown_House4_Text_WhereDidYouComeFrom: @ 8204035 .string "Where did you come from?$" -PacifidlogTown_House4_Text_20404E: @ 820404E +PacifidlogTown_House4_Text_YesTown: @ 820404E .string "Yes?\n" .string "YES TOWN?\p" .string "I've never heard of a place like that.$" -PacifidlogTown_House4_Text_204084: @ 8204084 +PacifidlogTown_House4_Text_YouHaveToComeFromSomewhere: @ 8204084 .string "No? That doesn't make any sense.\n" .string "You have to come from somewhere.\p" .string "Oh! Wait! You're not going to say you\n" diff --git a/data/maps/PacifidlogTown_House5/map.json b/data/maps/PacifidlogTown_House5/map.json index db7e51c46c..c828d7a296 100644 --- a/data/maps/PacifidlogTown_House5/map.json +++ b/data/maps/PacifidlogTown_House5/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_House5_EventScript_204111", + "script": "PacifidlogTown_House5_EventScript_MirageIslandWatcher", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_House5_EventScript_204137", + "script": "PacifidlogTown_House5_EventScript_Gentleman", "flag": "0" } ], diff --git a/data/maps/PacifidlogTown_House5/scripts.inc b/data/maps/PacifidlogTown_House5/scripts.inc index cdc54fefe6..f8be20f471 100644 --- a/data/maps/PacifidlogTown_House5/scripts.inc +++ b/data/maps/PacifidlogTown_House5/scripts.inc @@ -1,33 +1,33 @@ PacifidlogTown_House5_MapScripts:: @ 8204110 .byte 0 -PacifidlogTown_House5_EventScript_204111:: @ 8204111 +PacifidlogTown_House5_EventScript_MirageIslandWatcher:: @ 8204111 lock faceplayer specialvar VAR_RESULT, IsMirageIslandPresent - compare VAR_RESULT, 1 - goto_if_eq PacifidlogTown_House5_EventScript_20412D - msgbox PacifidlogTown_House5_Text_204140, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq PacifidlogTown_House5_EventScript_MirageIslandPresent + msgbox PacifidlogTown_House5_Text_CantSeeMirageIslandToday, MSGBOX_DEFAULT release end -PacifidlogTown_House5_EventScript_20412D:: @ 820412D - msgbox PacifidlogTown_House5_Text_204161, MSGBOX_DEFAULT +PacifidlogTown_House5_EventScript_MirageIslandPresent:: @ 820412D + msgbox PacifidlogTown_House5_Text_CanSeeMirageIslandToday, MSGBOX_DEFAULT release end -PacifidlogTown_House5_EventScript_204137:: @ 8204137 - msgbox PacifidlogTown_House5_Text_20418B, MSGBOX_NPC +PacifidlogTown_House5_EventScript_Gentleman:: @ 8204137 + msgbox PacifidlogTown_House5_Text_MirageIslandAppearDependingOnWeather, MSGBOX_NPC end -PacifidlogTown_House5_Text_204140: @ 8204140 +PacifidlogTown_House5_Text_CantSeeMirageIslandToday: @ 8204140 .string "I can't see MIRAGE ISLAND today…$" -PacifidlogTown_House5_Text_204161: @ 8204161 +PacifidlogTown_House5_Text_CanSeeMirageIslandToday: @ 8204161 .string "Oh! Oh my!\n" .string "I can see MIRAGE ISLAND today!$" -PacifidlogTown_House5_Text_20418B: @ 820418B +PacifidlogTown_House5_Text_MirageIslandAppearDependingOnWeather: @ 820418B .string "MIRAGE ISLAND…\p" .string "It must become visible and invisible\n" .string "depending on the weather conditions\l" diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/map.json b/data/maps/PacifidlogTown_PokemonCenter_1F/map.json index 6902432778..dd5dfcb9c9 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_1F/map.json +++ b/data/maps/PacifidlogTown_PokemonCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_PokemonCenter_1F_EventScript_2034B6", + "script": "PacifidlogTown_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_PokemonCenter_1F_EventScript_2034D6", + "script": "PacifidlogTown_PokemonCenter_1F_EventScript_OldMan", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_PokemonCenter_1F_EventScript_2034C4", + "script": "PacifidlogTown_PokemonCenter_1F_EventScript_Girl", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_PokemonCenter_1F_EventScript_2034CD", + "script": "PacifidlogTown_PokemonCenter_1F_EventScript_Woman", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_PokemonCenter_1F_EventScript_2C82BE", + "script": "PacifidlogTown_PokemonCenter_1F_EventScript_ExplosionTutor", "flag": "0" } ], diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc index f4fe115e5a..8b0f0805a1 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc @@ -1,43 +1,44 @@ PacifidlogTown_PokemonCenter_1F_MapScripts:: @ 82034A7 map_script MAP_SCRIPT_ON_TRANSITION, PacifidlogTown_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, PacifidlogTown_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 PacifidlogTown_PokemonCenter_1F_OnTransition: @ 82034B2 setrespawn HEAL_LOCATION_PACIFIDLOG_TOWN end -PacifidlogTown_PokemonCenter_1F_EventScript_2034B6:: @ 82034B6 +@ VAR_0x800B is the Nurse's object event id +PacifidlogTown_PokemonCenter_1F_EventScript_Nurse:: @ 82034B6 setvar VAR_0x800B, 1 - call PacifidlogTown_PokemonCenter_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -PacifidlogTown_PokemonCenter_1F_EventScript_2034C4:: @ 82034C4 - msgbox PacifidlogTown_PokemonCenter_1F_Text_2034DF, MSGBOX_NPC +PacifidlogTown_PokemonCenter_1F_EventScript_Girl:: @ 82034C4 + msgbox PacifidlogTown_PokemonCenter_1F_Text_WhatColorTrainerCard, MSGBOX_NPC end -PacifidlogTown_PokemonCenter_1F_EventScript_2034CD:: @ 82034CD - msgbox PacifidlogTown_PokemonCenter_1F_Text_20350F, MSGBOX_NPC +PacifidlogTown_PokemonCenter_1F_EventScript_Woman:: @ 82034CD + msgbox PacifidlogTown_PokemonCenter_1F_Text_OnColonyOfCorsola, MSGBOX_NPC end -PacifidlogTown_PokemonCenter_1F_EventScript_2034D6:: @ 82034D6 - msgbox PacifidlogTown_PokemonCenter_1F_Text_20356F, MSGBOX_NPC +PacifidlogTown_PokemonCenter_1F_EventScript_OldMan:: @ 82034D6 + msgbox PacifidlogTown_PokemonCenter_1F_Text_AncestorsLivedOnBoats, MSGBOX_NPC end -PacifidlogTown_PokemonCenter_1F_Text_2034DF: @ 82034DF +PacifidlogTown_PokemonCenter_1F_Text_WhatColorTrainerCard: @ 82034DF .string "What color is your TRAINER CARD?\n" .string "Mine's copper!$" -PacifidlogTown_PokemonCenter_1F_Text_20350F: @ 820350F +PacifidlogTown_PokemonCenter_1F_Text_OnColonyOfCorsola: @ 820350F .string "PACIFIDLOG TOWN floats on top of\n" .string "a colony of CORSOLA.\p" .string "If I told you that, would you believe\n" .string "me?$" -PacifidlogTown_PokemonCenter_1F_Text_20356F: @ 820356F +PacifidlogTown_PokemonCenter_1F_Text_AncestorsLivedOnBoats: @ 820356F .string "The ancestors of the people in\n" .string "PACIFIDLOG were said to have been\l" .string "born on boats and then lived and died \l" diff --git a/data/maps/PacifidlogTown_PokemonCenter_2F/map.json b/data/maps/PacifidlogTown_PokemonCenter_2F/map.json index c5f7c9907a..25d8abd04e 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_2F/map.json +++ b/data/maps/PacifidlogTown_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PacifidlogTown_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc b/data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc index fcb4f1ab48..576c1679c0 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ PacifidlogTown_PokemonCenter_2F_MapScripts:: @ 8203635 - map_script MAP_SCRIPT_ON_FRAME_TABLE, PacifidlogTown_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PacifidlogTown_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, PacifidlogTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -PacifidlogTown_PokemonCenter_2F_EventScript_20364A:: @ 820364A - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +PacifidlogTown_PokemonCenter_2F_EventScript_Colosseum:: @ 820364A + call CableClub_EventScript_Colosseum end -PacifidlogTown_PokemonCenter_2F_EventScript_203650:: @ 8203650 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +PacifidlogTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 8203650 + call CableClub_EventScript_TradeCenter end -PacifidlogTown_PokemonCenter_2F_EventScript_203656:: @ 8203656 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +PacifidlogTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 8203656 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/PetalburgCity/map.json b/data/maps/PetalburgCity/map.json index 44402aff5c..721234bd57 100644 --- a/data/maps/PetalburgCity/map.json +++ b/data/maps/PetalburgCity/map.json @@ -35,7 +35,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_EventScript_1DC3FD", + "script": "PetalburgCity_EventScript_WallyAunt", "flag": "FLAG_HIDE_PETALBURG_CITY_WALLYS_AUNT" }, { @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_EventScript_1DC3E6", + "script": "PetalburgCity_EventScript_Boy1", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_EventScript_1DC488", + "script": "PetalburgCity_EventScript_Gentleman", "flag": "0" }, { @@ -126,7 +126,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_EventScript_1DC82E", + "script": "PetalburgCity_EventScript_Boy2", "flag": "0" }, { @@ -195,7 +195,7 @@ "elevation": 3, "var": "VAR_PETALBURG_CITY_STATE", "var_value": "0", - "script": "PetalburgCity_EventScript_1DC49A" + "script": "PetalburgCity_EventScript_ShowGymToPlayer0" }, { "type": "trigger", @@ -204,7 +204,7 @@ "elevation": 3, "var": "VAR_PETALBURG_CITY_STATE", "var_value": "0", - "script": "PetalburgCity_EventScript_1DC4A6" + "script": "PetalburgCity_EventScript_ShowGymToPlayer1" }, { "type": "trigger", @@ -213,7 +213,7 @@ "elevation": 3, "var": "VAR_PETALBURG_CITY_STATE", "var_value": "0", - "script": "PetalburgCity_EventScript_1DC4B2" + "script": "PetalburgCity_EventScript_ShowGymToPlayer2" }, { "type": "trigger", @@ -222,7 +222,7 @@ "elevation": 3, "var": "VAR_PETALBURG_CITY_STATE", "var_value": "0", - "script": "PetalburgCity_EventScript_1DC4BE" + "script": "PetalburgCity_EventScript_ShowGymToPlayer3" }, { "type": "trigger", @@ -231,7 +231,7 @@ "elevation": 3, "var": "VAR_SCOTT_PETALBURG_ENCOUNTER", "var_value": "0", - "script": "PetalburgCity_EventScript_1DC691" + "script": "PetalburgCity_EventScript_Scott0" }, { "type": "trigger", @@ -240,7 +240,7 @@ "elevation": 3, "var": "VAR_SCOTT_PETALBURG_ENCOUNTER", "var_value": "0", - "script": "PetalburgCity_EventScript_1DC6A7" + "script": "PetalburgCity_EventScript_Scott1" }, { "type": "trigger", @@ -249,7 +249,7 @@ "elevation": 3, "var": "VAR_SCOTT_PETALBURG_ENCOUNTER", "var_value": "0", - "script": "PetalburgCity_EventScript_1DC6BD" + "script": "PetalburgCity_EventScript_Scott2" }, { "type": "trigger", @@ -258,7 +258,7 @@ "elevation": 3, "var": "VAR_SCOTT_PETALBURG_ENCOUNTER", "var_value": "0", - "script": "PetalburgCity_EventScript_1DC6D3" + "script": "PetalburgCity_EventScript_Scott3" } ], "bg_events": [ @@ -268,7 +268,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_EventScript_1DC476" + "script": "PetalburgCity_EventScript_GymSign" }, { "type": "sign", @@ -292,7 +292,7 @@ "y": 16, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_EventScript_1DC47F" + "script": "PetalburgCity_EventScript_CitySign" }, { "type": "sign", @@ -316,7 +316,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_EventScript_1DC491" + "script": "PetalburgCity_EventScript_WallyHouseSign" }, { "type": "hidden_item", diff --git a/data/maps/PetalburgCity/scripts.inc b/data/maps/PetalburgCity/scripts.inc index e95fc9d929..80badcfd24 100644 --- a/data/maps/PetalburgCity/scripts.inc +++ b/data/maps/PetalburgCity/scripts.inc @@ -1,57 +1,57 @@ PetalburgCity_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_MapScript2_1DC31C + map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_OnFrame .byte 0 PetalburgCity_OnTransition: @ 81DC2D7 setflag FLAG_VISITED_PETALBURG_CITY compare VAR_PETALBURG_CITY_STATE, 0 - call_if_eq PetalburgCity_EventScript_1DC307 + call_if_eq PetalburgCity_EventScript_MoveBoyToWestEntrance compare VAR_PETALBURG_CITY_STATE, 2 - call_if_eq PetalburgCity_EventScript_1DC30F + call_if_eq PetalburgCity_EventScript_DisableMapNameAndMusic compare VAR_PETALBURG_CITY_STATE, 4 - call_if_eq PetalburgCity_EventScript_1DC30F + call_if_eq PetalburgCity_EventScript_DisableMapNameAndMusic compare VAR_PETALBURG_GYM_STATE, 8 - call_if_eq PetalburgCity_EventScript_1DC316 + call_if_eq PetalburgCity_EventScript_SetGymDoorsUnlocked end -PetalburgCity_EventScript_1DC307:: @ 81DC307 +PetalburgCity_EventScript_MoveBoyToWestEntrance:: @ 81DC307 setobjectxyperm 8, 5, 11 return -PetalburgCity_EventScript_1DC30F:: @ 81DC30F +PetalburgCity_EventScript_DisableMapNameAndMusic:: @ 81DC30F setflag FLAG_HIDE_MAP_NAME_POPUP savebgm MUS_TSURETEK return -PetalburgCity_EventScript_1DC316:: @ 81DC316 +PetalburgCity_EventScript_SetGymDoorsUnlocked:: @ 81DC316 setvar VAR_PETALBURG_GYM_STATE, 7 return -PetalburgCity_MapScript2_1DC31C: @ 81DC31C - map_script_2 VAR_PETALBURG_CITY_STATE, 2, PetalburgCity_EventScript_1DC32E - map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_EventScript_1DC390 +PetalburgCity_OnFrame: @ 81DC31C + map_script_2 VAR_PETALBURG_CITY_STATE, 2, PetalburgCity_EventScript_WallyTutorial + map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_EventScript_WalkToWallyHouse .2byte 0 -PetalburgCity_EventScript_1DC32E:: @ 81DC32E +PetalburgCity_EventScript_WallyTutorial:: @ 81DC32E lockall special SavePlayerParty special PutZigzagoonInPlayerParty - applymovement 2, PetalburgCity_Movement_1DC451 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC430 + applymovement 2, PetalburgCity_Movement_WallyTutorialWally + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_WallyTutorialPlayer waitmovement 0 - msgbox PetalburgCity_Text_1EC1F8, MSGBOX_DEFAULT + msgbox Route102_Text_WatchMeCatchPokemon, MSGBOX_DEFAULT special StartWallyTutorialBattle waitstate - msgbox PetalburgCity_Text_1EC271, MSGBOX_DEFAULT - applymovement 2, Common_Movement_WalkInPlaceLeft, MAP_PETALBURG_CITY + msgbox Route102_Text_WallyIDidIt, MSGBOX_DEFAULT + applymovement 2, Common_Movement_WalkInPlaceFastestLeft, MAP_PETALBURG_CITY waitmovement 2, MAP_PETALBURG_CITY - msgbox PetalburgCity_Text_1EC297, MSGBOX_DEFAULT + msgbox Route102_Text_LetsGoBack, MSGBOX_DEFAULT closemessage clearflag FLAG_HIDE_MAP_NAME_POPUP setvar VAR_PETALBURG_CITY_STATE, 3 fadedefaultbgm - clearflag FLAG_SPECIAL_FLAG_0x4001 + clearflag FLAG_DONT_TRANSITION_MUSIC special LoadPlayerParty setvar VAR_PETALBURG_GYM_STATE, 1 warp MAP_PETALBURG_CITY_GYM, 255, 4, 108 @@ -59,18 +59,18 @@ PetalburgCity_EventScript_1DC32E:: @ 81DC32E releaseall end -PetalburgCity_EventScript_1DC390:: @ 81DC390 +PetalburgCity_EventScript_WalkToWallyHouse:: @ 81DC390 lockall setflag FLAG_HIDE_MAP_NAME_POPUP - applymovement 5, PetalburgCity_Movement_1DC41B - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC406 + applymovement 5, PetalburgCity_Movement_WalkToWallyHouseUncle + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_WalkToWallyHousePlayer waitmovement 0 setvar VAR_0x8004, 7 setvar VAR_0x8005, 5 opendoor VAR_0x8004, VAR_0x8005 waitdooranim - applymovement 5, PetalburgCity_Movement_1DC42D - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC418 + applymovement 5, PetalburgCity_Movement_WalkInsideHouseUncle + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_WalkInsideHousePlayer waitmovement 0 setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY @@ -78,27 +78,27 @@ PetalburgCity_EventScript_1DC390:: @ 81DC390 waitdooranim clearflag FLAG_HIDE_MAP_NAME_POPUP fadedefaultbgm - clearflag FLAG_SPECIAL_FLAG_0x4001 + clearflag FLAG_DONT_TRANSITION_MUSIC warp MAP_PETALBURG_CITY_WALLYS_HOUSE, 255, 2, 4 waitstate releaseall end -PetalburgCity_EventScript_1DC3E6:: @ 81DC3E6 +PetalburgCity_EventScript_Boy1:: @ 81DC3E6 lock faceplayer - msgbox PetalburgCity_Text_1DC985, MSGBOX_DEFAULT + msgbox PetalburgCity_Text_WaterReflection, MSGBOX_DEFAULT closemessage applymovement 3, Common_Movement_FaceOriginalDirection waitmovement 0 release end -PetalburgCity_EventScript_1DC3FD:: @ 81DC3FD - msgbox PetalburgCity_Text_1DC837, MSGBOX_NPC +PetalburgCity_EventScript_WallyAunt:: @ 81DC3FD + msgbox PetalburgCity_Text_WhereIsWally, MSGBOX_NPC end -PetalburgCity_Movement_1DC406: @ 81DC406 +PetalburgCity_Movement_WalkToWallyHousePlayer: @ 81DC406 delay_8 walk_down walk_down @@ -118,12 +118,12 @@ PetalburgCity_Movement_1DC406: @ 81DC406 walk_up step_end -PetalburgCity_Movement_1DC418: @ 81DC418 +PetalburgCity_Movement_WalkInsideHousePlayer: @ 81DC418 walk_up walk_up step_end -PetalburgCity_Movement_1DC41B: @ 81DC41B +PetalburgCity_Movement_WalkToWallyHouseUncle: @ 81DC41B delay_8 walk_down walk_down @@ -143,12 +143,12 @@ PetalburgCity_Movement_1DC41B: @ 81DC41B walk_up step_end -PetalburgCity_Movement_1DC42D: @ 81DC42D +PetalburgCity_Movement_WalkInsideHouseUncle: @ 81DC42D walk_up set_invisible step_end -PetalburgCity_Movement_1DC430: @ 81DC430 +PetalburgCity_Movement_WallyTutorialPlayer: @ 81DC430 delay_8 walk_down walk_down @@ -183,7 +183,7 @@ PetalburgCity_Movement_1DC430: @ 81DC430 walk_in_place_fastest_right step_end -PetalburgCity_Movement_1DC451: @ 81DC451 +PetalburgCity_Movement_WallyTutorialWally: @ 81DC451 delay_8 walk_down walk_down @@ -222,47 +222,47 @@ PetalburgCity_Movement_1DC451: @ 81DC451 walk_in_place_fastest_right step_end -PetalburgCity_EventScript_1DC476:: @ 81DC476 - msgbox PetalburgCity_Text_1DCAAA, MSGBOX_SIGN +PetalburgCity_EventScript_GymSign:: @ 81DC476 + msgbox PetalburgCity_Text_GymSign, MSGBOX_SIGN end -PetalburgCity_EventScript_1DC47F:: @ 81DC47F - msgbox PetalburgCity_Text_1DCAF1, MSGBOX_SIGN +PetalburgCity_EventScript_CitySign:: @ 81DC47F + msgbox PetalburgCity_Text_CitySign, MSGBOX_SIGN end -PetalburgCity_EventScript_1DC488:: @ 81DC488 - msgbox PetalburgCity_Text_1DCA30, MSGBOX_NPC +PetalburgCity_EventScript_Gentleman:: @ 81DC488 + msgbox PetalburgCity_Text_FullPartyExplanation, MSGBOX_NPC end -PetalburgCity_EventScript_1DC491:: @ 81DC491 - msgbox PetalburgCity_Text_1DCB23, MSGBOX_SIGN +PetalburgCity_EventScript_WallyHouseSign:: @ 81DC491 + msgbox PetalburgCity_Text_WallyHouseSign, MSGBOX_SIGN end -PetalburgCity_EventScript_1DC49A:: @ 81DC49A +PetalburgCity_EventScript_ShowGymToPlayer0:: @ 81DC49A lockall setvar VAR_0x8008, 0 - goto PetalburgCity_EventScript_1DC4CA + goto PetalburgCity_EventScript_ShowGymToPlayer end -PetalburgCity_EventScript_1DC4A6:: @ 81DC4A6 +PetalburgCity_EventScript_ShowGymToPlayer1:: @ 81DC4A6 lockall setvar VAR_0x8008, 1 - goto PetalburgCity_EventScript_1DC4CA + goto PetalburgCity_EventScript_ShowGymToPlayer end -PetalburgCity_EventScript_1DC4B2:: @ 81DC4B2 +PetalburgCity_EventScript_ShowGymToPlayer2:: @ 81DC4B2 lockall setvar VAR_0x8008, 2 - goto PetalburgCity_EventScript_1DC4CA + goto PetalburgCity_EventScript_ShowGymToPlayer end -PetalburgCity_EventScript_1DC4BE:: @ 81DC4BE +PetalburgCity_EventScript_ShowGymToPlayer3:: @ 81DC4BE lockall setvar VAR_0x8008, 3 - goto PetalburgCity_EventScript_1DC4CA + goto PetalburgCity_EventScript_ShowGymToPlayer end -PetalburgCity_EventScript_1DC4CA:: @ 81DC4CA +PetalburgCity_EventScript_ShowGymToPlayer:: @ 81DC4CA applymovement 8, Common_Movement_FacePlayer waitmovement 0 playbgm MUS_TSURETEK, 0 @@ -272,111 +272,112 @@ PetalburgCity_EventScript_1DC4CA:: @ 81DC4CA applymovement 8, Common_Movement_Delay48 waitmovement 0 compare VAR_0x8008, 0 - call_if_eq PetalburgCity_EventScript_1DC57F + call_if_eq PetalburgCity_EventScript_BoyApproachPlayer0 compare VAR_0x8008, 1 - call_if_eq PetalburgCity_EventScript_1DC594 + call_if_eq PetalburgCity_EventScript_BoyApproachPlayer1 compare VAR_0x8008, 2 - call_if_eq PetalburgCity_EventScript_1DC59F + call_if_eq PetalburgCity_EventScript_BoyApproachPlayer2 compare VAR_0x8008, 3 - call_if_eq PetalburgCity_EventScript_1DC5B4 - msgbox PetalburgCity_Text_1DC881, MSGBOX_DEFAULT + call_if_eq PetalburgCity_EventScript_BoyApproachPlayer3 + msgbox PetalburgCity_Text_AreYouRookieTrainer, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 0 - call_if_eq PetalburgCity_EventScript_1DC5C9 + call_if_eq PetalburgCity_EventScript_LeadPlayerToGym0 compare VAR_0x8008, 1 - call_if_eq PetalburgCity_EventScript_1DC5DB + call_if_eq PetalburgCity_EventScript_LeadPlayerToGym1 compare VAR_0x8008, 2 - call_if_eq PetalburgCity_EventScript_1DC5ED + call_if_eq PetalburgCity_EventScript_LeadPlayerToGym2 compare VAR_0x8008, 3 - call_if_eq PetalburgCity_EventScript_1DC5FF - msgbox PetalburgCity_Text_1DC91B, MSGBOX_DEFAULT - applymovement 8, Common_Movement_WalkInPlaceRight - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + call_if_eq PetalburgCity_EventScript_LeadPlayerToGym3 + msgbox PetalburgCity_Text_ThisIsPetalburgGym, MSGBOX_DEFAULT + applymovement 8, Common_Movement_WalkInPlaceFastestRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox PetalburgCity_Text_1DC93E, MSGBOX_DEFAULT + msgbox PetalburgCity_Text_ThisIsGymSign, MSGBOX_DEFAULT closemessage - applymovement 8, PetalburgCity_Movement_1DC658 + applymovement 8, PetalburgCity_Movement_BoyWalkAway waitmovement 0 fadedefaultbgm releaseall end -PetalburgCity_EventScript_1DC57F:: @ 81DC57F - applymovement 8, PetalburgCity_Movement_1DC615 +PetalburgCity_EventScript_BoyApproachPlayer0:: @ 81DC57F + applymovement 8, PetalburgCity_Movement_BoyApproachPlayer0 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -PetalburgCity_EventScript_1DC594:: @ 81DC594 - applymovement 8, PetalburgCity_Movement_1DC61A +PetalburgCity_EventScript_BoyApproachPlayer1:: @ 81DC594 + applymovement 8, PetalburgCity_Movement_BoyApproachPlayer1 waitmovement 0 return -PetalburgCity_EventScript_1DC59F:: @ 81DC59F - applymovement 8, PetalburgCity_Movement_1DC61D +PetalburgCity_EventScript_BoyApproachPlayer2:: @ 81DC59F + applymovement 8, PetalburgCity_Movement_BoyApproachPlayer2 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -PetalburgCity_EventScript_1DC5B4:: @ 81DC5B4 - applymovement 8, PetalburgCity_Movement_1DC622 +PetalburgCity_EventScript_BoyApproachPlayer3:: @ 81DC5B4 + applymovement 8, PetalburgCity_Movement_BoyApproachPlayer3 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -PetalburgCity_EventScript_1DC5C9:: @ 81DC5C9 - applymovement 8, PetalburgCity_Movement_1DC628 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC665 +PetalburgCity_EventScript_LeadPlayerToGym0:: @ 81DC5C9 + applymovement 8, PetalburgCity_Movement_BoyWalkToGym0 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_PlayerWalkToGym0 waitmovement 0 return -PetalburgCity_EventScript_1DC5DB:: @ 81DC5DB - applymovement 8, PetalburgCity_Movement_1DC633 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC66F +PetalburgCity_EventScript_LeadPlayerToGym1:: @ 81DC5DB + applymovement 8, PetalburgCity_Movement_BoyWalkToGym1 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_PlayerWalkToGym1 waitmovement 0 return -PetalburgCity_EventScript_1DC5ED:: @ 81DC5ED - applymovement 8, PetalburgCity_Movement_1DC641 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC67C +PetalburgCity_EventScript_LeadPlayerToGym2:: @ 81DC5ED + applymovement 8, PetalburgCity_Movement_BoyWalkToGym2 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_PlayerWalkToGym2 waitmovement 0 return -PetalburgCity_EventScript_1DC5FF:: @ 81DC5FF - applymovement 8, PetalburgCity_Movement_1DC64C - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC686 +PetalburgCity_EventScript_LeadPlayerToGym3:: @ 81DC5FF + applymovement 8, PetalburgCity_Movement_BoyWalkToGym3 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_PlayerWalkToGym3 waitmovement 0 return -PetalburgCity_Movement_1DC611:: @ 81DC611 +@ Unused +PetalburgCity_Movement_Delay48:: @ 81DC611 delay_16 delay_16 delay_16 step_end -PetalburgCity_Movement_1DC615: @ 81DC615 +PetalburgCity_Movement_BoyApproachPlayer0: @ 81DC615 walk_right walk_right walk_right walk_in_place_fastest_up step_end -PetalburgCity_Movement_1DC61A: @ 81DC61A +PetalburgCity_Movement_BoyApproachPlayer1: @ 81DC61A walk_right walk_right step_end -PetalburgCity_Movement_1DC61D: @ 81DC61D +PetalburgCity_Movement_BoyApproachPlayer2: @ 81DC61D walk_right walk_right walk_right walk_in_place_fastest_down step_end -PetalburgCity_Movement_1DC622: @ 81DC622 +PetalburgCity_Movement_BoyApproachPlayer3: @ 81DC622 walk_down walk_right walk_right @@ -384,7 +385,7 @@ PetalburgCity_Movement_1DC622: @ 81DC622 walk_in_place_fastest_down step_end -PetalburgCity_Movement_1DC628: @ 81DC628 +PetalburgCity_Movement_BoyWalkToGym0: @ 81DC628 walk_right walk_right walk_right @@ -397,7 +398,7 @@ PetalburgCity_Movement_1DC628: @ 81DC628 walk_in_place_fastest_up step_end -PetalburgCity_Movement_1DC633: @ 81DC633 +PetalburgCity_Movement_BoyWalkToGym1: @ 81DC633 walk_down walk_right walk_right @@ -413,7 +414,7 @@ PetalburgCity_Movement_1DC633: @ 81DC633 walk_in_place_fastest_up step_end -PetalburgCity_Movement_1DC641: @ 81DC641 +PetalburgCity_Movement_BoyWalkToGym2: @ 81DC641 walk_right walk_right walk_right @@ -426,7 +427,7 @@ PetalburgCity_Movement_1DC641: @ 81DC641 walk_in_place_fastest_up step_end -PetalburgCity_Movement_1DC64C: @ 81DC64C +PetalburgCity_Movement_BoyWalkToGym3: @ 81DC64C walk_right walk_right walk_right @@ -440,7 +441,7 @@ PetalburgCity_Movement_1DC64C: @ 81DC64C walk_in_place_fastest_up step_end -PetalburgCity_Movement_1DC658: @ 81DC658 +PetalburgCity_Movement_BoyWalkAway: @ 81DC658 walk_down walk_left walk_left @@ -455,7 +456,7 @@ PetalburgCity_Movement_1DC658: @ 81DC658 walk_left step_end -PetalburgCity_Movement_1DC665: @ 81DC665 +PetalburgCity_Movement_PlayerWalkToGym0: @ 81DC665 walk_down walk_right walk_right @@ -467,7 +468,7 @@ PetalburgCity_Movement_1DC665: @ 81DC665 walk_up step_end -PetalburgCity_Movement_1DC66F: @ 81DC66F +PetalburgCity_Movement_PlayerWalkToGym1: @ 81DC66F delay_16 delay_16 walk_down @@ -482,7 +483,7 @@ PetalburgCity_Movement_1DC66F: @ 81DC66F walk_up step_end -PetalburgCity_Movement_1DC67C: @ 81DC67C +PetalburgCity_Movement_PlayerWalkToGym2: @ 81DC67C walk_up walk_right walk_right @@ -494,7 +495,7 @@ PetalburgCity_Movement_1DC67C: @ 81DC67C walk_up step_end -PetalburgCity_Movement_1DC686: @ 81DC686 +PetalburgCity_Movement_PlayerWalkToGym3: @ 81DC686 walk_up walk_right walk_right @@ -507,115 +508,115 @@ PetalburgCity_Movement_1DC686: @ 81DC686 walk_up step_end -PetalburgCity_EventScript_1DC691:: @ 81DC691 +PetalburgCity_EventScript_Scott0:: @ 81DC691 lockall addobject 9 setvar VAR_0x8008, 0 setobjectxy 9, 13, 10 - goto PetalburgCity_EventScript_1DC6E9 + goto PetalburgCity_EventScript_Scott end -PetalburgCity_EventScript_1DC6A7:: @ 81DC6A7 +PetalburgCity_EventScript_Scott1:: @ 81DC6A7 lockall addobject 9 setvar VAR_0x8008, 1 setobjectxy 9, 13, 11 - goto PetalburgCity_EventScript_1DC6E9 + goto PetalburgCity_EventScript_Scott end -PetalburgCity_EventScript_1DC6BD:: @ 81DC6BD +PetalburgCity_EventScript_Scott2:: @ 81DC6BD lockall addobject 9 setvar VAR_0x8008, 2 setobjectxy 9, 13, 12 - goto PetalburgCity_EventScript_1DC6E9 + goto PetalburgCity_EventScript_Scott end -PetalburgCity_EventScript_1DC6D3:: @ 81DC6D3 +PetalburgCity_EventScript_Scott3:: @ 81DC6D3 lockall addobject 9 setvar VAR_0x8008, 3 setobjectxy 9, 13, 13 - goto PetalburgCity_EventScript_1DC6E9 + goto PetalburgCity_EventScript_Scott end -PetalburgCity_EventScript_1DC6E9:: @ 81DC6E9 - applymovement 9, PetalburgCity_Movement_1DC7D6 +PetalburgCity_EventScript_Scott:: @ 81DC6E9 + applymovement 9, PetalburgCity_Movement_ScottStartWalkLeft waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark waitmovement 0 applymovement 9, Common_Movement_Delay48 waitmovement 0 - applymovement 9, PetalburgCity_Movement_1DC7DB + applymovement 9, PetalburgCity_Movement_ScottApproachPlayer waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 setvar VAR_SCOTT_STATE, 1 - msgbox PetalburgCity_Text_1DCB31, MSGBOX_DEFAULT + msgbox PetalburgCity_Text_AreYouATrainer, MSGBOX_DEFAULT closemessage - applymovement 9, Common_Movement_WalkInPlaceRight + applymovement 9, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 30 - msgbox PetalburgCity_Text_1DCB82, MSGBOX_DEFAULT + msgbox PetalburgCity_Text_WellMaybeNot, MSGBOX_DEFAULT closemessage - applymovement 9, Common_Movement_WalkInPlaceLeft + applymovement 9, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 delay 30 - msgbox PetalburgCity_Text_1DCC09, MSGBOX_DEFAULT + msgbox PetalburgCity_Text_ImLookingForTalentedTrainers, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 0 - call_if_eq PetalburgCity_EventScript_1DC78E + call_if_eq PetalburgCity_EventScript_ScottExit0 compare VAR_0x8008, 1 - call_if_eq PetalburgCity_EventScript_1DC7A0 + call_if_eq PetalburgCity_EventScript_ScottExit1 compare VAR_0x8008, 2 - call_if_eq PetalburgCity_EventScript_1DC7B2 + call_if_eq PetalburgCity_EventScript_ScottExit2 compare VAR_0x8008, 3 - call_if_eq PetalburgCity_EventScript_1DC7C4 + call_if_eq PetalburgCity_EventScript_ScottExit3 setvar VAR_SCOTT_PETALBURG_ENCOUNTER, 1 removeobject 9 releaseall end -PetalburgCity_EventScript_1DC78E:: @ 81DC78E - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC7EE - applymovement 9, PetalburgCity_Movement_1DC7E0 +PetalburgCity_EventScript_ScottExit0:: @ 81DC78E + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_PlayerWatchScottExit0 + applymovement 9, PetalburgCity_Movement_ScottExit0 waitmovement 0 return -PetalburgCity_EventScript_1DC7A0:: @ 81DC7A0 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC802 - applymovement 9, PetalburgCity_Movement_1DC7F5 +PetalburgCity_EventScript_ScottExit1:: @ 81DC7A0 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_PlayerWatchScottExit1 + applymovement 9, PetalburgCity_Movement_ScottExit1 waitmovement 0 return -PetalburgCity_EventScript_1DC7B2:: @ 81DC7B2 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC815 - applymovement 9, PetalburgCity_Movement_1DC808 +PetalburgCity_EventScript_ScottExit2:: @ 81DC7B2 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_PlayerWatchScottExit2 + applymovement 9, PetalburgCity_Movement_ScottExit2 waitmovement 0 return -PetalburgCity_EventScript_1DC7C4:: @ 81DC7C4 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC828 - applymovement 9, PetalburgCity_Movement_1DC81B +PetalburgCity_EventScript_ScottExit3:: @ 81DC7C4 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_PlayerWatchScottExit3 + applymovement 9, PetalburgCity_Movement_ScottExit3 waitmovement 0 return -PetalburgCity_Movement_1DC7D6: @ 81DC7D6 +PetalburgCity_Movement_ScottStartWalkLeft: @ 81DC7D6 walk_left walk_left walk_left walk_left step_end -PetalburgCity_Movement_1DC7DB: @ 81DC7DB +PetalburgCity_Movement_ScottApproachPlayer: @ 81DC7DB walk_left walk_left walk_left walk_left step_end -PetalburgCity_Movement_1DC7E0: @ 81DC7E0 +PetalburgCity_Movement_ScottExit0: @ 81DC7E0 walk_down walk_down walk_left @@ -631,7 +632,7 @@ PetalburgCity_Movement_1DC7E0: @ 81DC7E0 walk_left step_end -PetalburgCity_Movement_1DC7EE: @ 81DC7EE +PetalburgCity_Movement_PlayerWatchScottExit0: @ 81DC7EE delay_16 walk_in_place_fastest_down delay_16 @@ -640,7 +641,7 @@ PetalburgCity_Movement_1DC7EE: @ 81DC7EE walk_in_place_fastest_left step_end -PetalburgCity_Movement_1DC7F5: @ 81DC7F5 +PetalburgCity_Movement_ScottExit1: @ 81DC7F5 walk_down walk_left walk_left @@ -655,7 +656,7 @@ PetalburgCity_Movement_1DC7F5: @ 81DC7F5 walk_left step_end -PetalburgCity_Movement_1DC802: @ 81DC802 +PetalburgCity_Movement_PlayerWatchScottExit1: @ 81DC802 delay_16 walk_in_place_fastest_down delay_16 @@ -663,7 +664,7 @@ PetalburgCity_Movement_1DC802: @ 81DC802 walk_in_place_fastest_left step_end -PetalburgCity_Movement_1DC808: @ 81DC808 +PetalburgCity_Movement_ScottExit2: @ 81DC808 walk_down walk_left walk_left @@ -678,7 +679,7 @@ PetalburgCity_Movement_1DC808: @ 81DC808 walk_left step_end -PetalburgCity_Movement_1DC815: @ 81DC815 +PetalburgCity_Movement_PlayerWatchScottExit2: @ 81DC815 delay_16 walk_in_place_fastest_down delay_16 @@ -686,7 +687,7 @@ PetalburgCity_Movement_1DC815: @ 81DC815 walk_in_place_fastest_left step_end -PetalburgCity_Movement_1DC81B: @ 81DC81B +PetalburgCity_Movement_ScottExit3: @ 81DC81B walk_up walk_left walk_left @@ -701,7 +702,7 @@ PetalburgCity_Movement_1DC81B: @ 81DC81B walk_left step_end -PetalburgCity_Movement_1DC828: @ 81DC828 +PetalburgCity_Movement_PlayerWatchScottExit3: @ 81DC828 delay_16 walk_in_place_fastest_up delay_16 @@ -709,16 +710,16 @@ PetalburgCity_Movement_1DC828: @ 81DC828 walk_in_place_fastest_left step_end -PetalburgCity_EventScript_1DC82E:: @ 81DC82E - msgbox PetalburgCity_Text_1DC881, MSGBOX_NPC +PetalburgCity_EventScript_Boy2:: @ 81DC82E + msgbox PetalburgCity_Text_AreYouRookieTrainer, MSGBOX_NPC end -PetalburgCity_Text_1DC837: @ 81DC837 +PetalburgCity_Text_WhereIsWally: @ 81DC837 .string "Where has our WALLY gone?\p" .string "We have to leave for VERDANTURF TOWN\n" .string "very soon…$" -PetalburgCity_Text_1DC881: @ 81DC881 +PetalburgCity_Text_AreYouRookieTrainer: @ 81DC881 .string "Hiya! Are you maybe…\n" .string "A rookie TRAINER?\p" .string "Do you know what POKéMON TRAINERS\n" @@ -726,51 +727,51 @@ PetalburgCity_Text_1DC881: @ 81DC881 .string "They first check what kind of GYM\n" .string "is in the town.$" -PetalburgCity_Text_1DC91B: @ 81DC91B +PetalburgCity_Text_ThisIsPetalburgGym: @ 81DC91B .string "See? This is PETALBURG CITY's GYM.$" -PetalburgCity_Text_1DC93E: @ 81DC93E +PetalburgCity_Text_ThisIsGymSign: @ 81DC93E .string "This is the GYM's sign. Look for it\n" .string "whenever you're looking for a GYM.$" -PetalburgCity_Text_1DC985: @ 81DC985 +PetalburgCity_Text_WaterReflection: @ 81DC985 .string "My face is reflected in the water.\p" .string "It's a shining grin full of hope…\p" .string "Or it could be a look of somber silence\n" .string "struggling with fear…\p" .string "What do you see reflected in your face?$" -PetalburgCity_Text_1DCA30: @ 81DCA30 +PetalburgCity_Text_FullPartyExplanation: @ 81DCA30 .string "Let's say you have six POKéMON.\n" .string "If you catch another one…\p" .string "It is automatically sent to a STORAGE\n" .string "BOX over a PC connection.$" -PetalburgCity_Text_1DCAAA: @ 81DCAAA +PetalburgCity_Text_GymSign: @ 81DCAAA .string "PETALBURG CITY POKéMON GYM\n" .string "LEADER: NORMAN\l" .string "“A man in pursuit of power!”$" -PetalburgCity_Text_1DCAF1: @ 81DCAF1 +PetalburgCity_Text_CitySign: @ 81DCAF1 .string "PETALBURG CITY\n" .string "“Where people mingle with nature.”$" -PetalburgCity_Text_1DCB23: @ 81DCB23 +PetalburgCity_Text_WallyHouseSign: @ 81DCB23 .string "WALLY'S HOUSE$" -PetalburgCity_Text_1DCB31: @ 81DCB31 +PetalburgCity_Text_AreYouATrainer: @ 81DCB31 .string "Excuse me!\p" .string "Let me guess, from the way you're\n" .string "dressed, are you a POKéMON TRAINER?$" -PetalburgCity_Text_1DCB82: @ 81DCB82 +PetalburgCity_Text_WellMaybeNot: @ 81DCB82 .string "… … … … … …\p" .string "Well, maybe not.\n" .string "Your clothes aren't all that dirty.\p" .string "You're either a rookie TRAINER,\n" .string "or maybe you're just an ordinary kid.$" -PetalburgCity_Text_1DCC09: @ 81DCC09 +PetalburgCity_Text_ImLookingForTalentedTrainers: @ 81DCC09 .string "I'm roaming the land in search of\n" .string "talented TRAINERS.\p" .string "I'm sorry to have taken your time.$" diff --git a/data/maps/PetalburgCity_Gym/map.json b/data/maps/PetalburgCity_Gym/map.json index ff317c9430..30cb6e2096 100644 --- a/data/maps/PetalburgCity_Gym/map.json +++ b/data/maps/PetalburgCity_Gym/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_2049F1", + "script": "PetalburgCity_Gym_EventScript_Norman", "flag": "FLAG_HIDE_PETALBURG_GYM_NORMAN" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_2054AA", + "script": "PetalburgCity_Gym_EventScript_Mary", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_2053BA", + "script": "PetalburgCity_Gym_EventScript_Randall", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_2053F6", + "script": "PetalburgCity_Gym_EventScript_Parker", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_2054E6", + "script": "PetalburgCity_Gym_EventScript_Alexia", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_205432", + "script": "PetalburgCity_Gym_EventScript_George", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_205522", + "script": "PetalburgCity_Gym_EventScript_Jody", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_20546E", + "script": "PetalburgCity_Gym_EventScript_Berke", "flag": "0" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Gym_EventScript_20574F", + "script": "PetalburgCity_Gym_EventScript_GymGuide", "flag": "FLAG_HIDE_PETALBURG_GYM_GREETER" }, { @@ -434,7 +434,7 @@ "y": 105, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_205137" + "script": "PetalburgCity_Gym_EventScript_SpeedRoomDoor" }, { "type": "sign", @@ -442,7 +442,7 @@ "y": 105, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_205187" + "script": "PetalburgCity_Gym_EventScript_AccuracyRoomDoor" }, { "type": "sign", @@ -450,7 +450,7 @@ "y": 79, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_2051BC" + "script": "PetalburgCity_Gym_EventScript_ConfusionRoomDoor" }, { "type": "sign", @@ -458,7 +458,7 @@ "y": 79, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_2051EF" + "script": "PetalburgCity_Gym_EventScript_LeftDefenseRoomDoor" }, { "type": "sign", @@ -466,7 +466,7 @@ "y": 92, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_205222" + "script": "PetalburgCity_Gym_EventScript_RightDefenseRoomDoor" }, { "type": "sign", @@ -474,7 +474,7 @@ "y": 92, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_205255" + "script": "PetalburgCity_Gym_EventScript_RecoveryRoomDoor" }, { "type": "sign", @@ -482,7 +482,7 @@ "y": 40, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_205288" + "script": "PetalburgCity_Gym_EventScript_LeftStrengthRoomDoor" }, { "type": "sign", @@ -490,7 +490,7 @@ "y": 53, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_2052BB" + "script": "PetalburgCity_Gym_EventScript_RightStrengthRoomDoor" }, { "type": "sign", @@ -498,7 +498,7 @@ "y": 53, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_2052EE" + "script": "PetalburgCity_Gym_EventScript_LeftOHKORoomDoor" }, { "type": "sign", @@ -506,7 +506,7 @@ "y": 66, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_205321" + "script": "PetalburgCity_Gym_EventScript_RightOHKORoomDoor" }, { "type": "sign", @@ -514,7 +514,7 @@ "y": 14, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_205354" + "script": "PetalburgCity_Gym_EventScript_LeftGymLeadersRoomDoor" }, { "type": "sign", @@ -522,7 +522,7 @@ "y": 27, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgCity_Gym_EventScript_205387" + "script": "PetalburgCity_Gym_EventScript_RightGymLeadersRoomDoor" }, { "type": "sign", @@ -530,7 +530,7 @@ "y": 110, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "PetalburgCity_Gym_EventScript_20576E" + "script": "PetalburgCity_Gym_EventScript_LeftGymStatue" }, { "type": "sign", @@ -538,7 +538,7 @@ "y": 110, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "PetalburgCity_Gym_EventScript_20577E" + "script": "PetalburgCity_Gym_EventScript_RightGymStatue" } ] } \ No newline at end of file diff --git a/data/maps/PetalburgCity_Gym/scripts.inc b/data/maps/PetalburgCity_Gym/scripts.inc index a64c314a5b..2c78f07594 100644 --- a/data/maps/PetalburgCity_Gym/scripts.inc +++ b/data/maps/PetalburgCity_Gym/scripts.inc @@ -1,219 +1,213 @@ PetalburgCity_Gym_MapScripts:: @ 8204889 - map_script MAP_SCRIPT_ON_LOAD, PetalburgCity_Gym_OnTransition - map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_Gym_MapScript1_20492D - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PetalburgCity_Gym_MapScript2_20498B - map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_Gym_MapScript2_20499A + map_script MAP_SCRIPT_ON_LOAD, PetalburgCity_Gym_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_Gym_OnTransition + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PetalburgCity_Gym_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_Gym_OnFrame .byte 0 -PetalburgCity_Gym_OnTransition: @ 820489E +PetalburgCity_Gym_OnLoad: @ 820489E compare VAR_PETALBURG_GYM_STATE, 6 - goto_if_eq PetalburgCity_Gym_EventScript_2048B5 + goto_if_eq PetalburgCity_Gym_EventScript_OpenUnlockedDoors compare VAR_PETALBURG_GYM_STATE, 7 - call_if_ge PetalburgCity_Gym_EventScript_2048FF + call_if_ge PetalburgCity_Gym_EventScript_UnlockAllDoors end -PetalburgCity_Gym_EventScript_2048B5:: @ 82048B5 +@ NOTE: Strength and OHKO rooms are misleading. Both are more accurately Critical-Hit +PetalburgCity_Gym_EventScript_OpenUnlockedDoors:: @ 82048B5 setvar VAR_0x8005, 1 - call PetalburgCity_Gym_EventScript_20555E - checktrainerflag TRAINER_RANDALL - call_if_eq PetalburgCity_Gym_EventScript_20557F - checktrainerflag TRAINER_MARY - call_if_eq PetalburgCity_Gym_EventScript_2055A0 - checktrainerflag TRAINER_PARKER - call_if_eq PetalburgCity_Gym_EventScript_2055C1 - checktrainerflag TRAINER_ALEXIA - call_if_eq PetalburgCity_Gym_EventScript_2055E2 - checktrainerflag TRAINER_GEORGE - call_if_eq PetalburgCity_Gym_EventScript_205603 - checktrainerflag TRAINER_JODY - call_if_eq PetalburgCity_Gym_EventScript_205624 - checktrainerflag TRAINER_BERKE - call_if_eq PetalburgCity_Gym_EventScript_205645 + call PetalburgCity_Gym_EventScript_OpenGymEntranceDoors + call_if_defeated TRAINER_RANDALL, PetalburgCity_Gym_EventScript_OpenSpeedRoomDoors + call_if_defeated TRAINER_MARY, PetalburgCity_Gym_EventScript_OpenAccuracyRoomDoors + call_if_defeated TRAINER_PARKER, PetalburgCity_Gym_EventScript_OpenConfusionRoomDoors + call_if_defeated TRAINER_ALEXIA, PetalburgCity_Gym_EventScript_OpenDefenseRoomDoors + call_if_defeated TRAINER_GEORGE, PetalburgCity_Gym_EventScript_OpenRecoveryRoomDoors + call_if_defeated TRAINER_JODY, PetalburgCity_Gym_EventScript_OpenStrengthRoomDoors + call_if_defeated TRAINER_BERKE, PetalburgCity_Gym_EventScript_OpenOHKORoomDoors end -PetalburgCity_Gym_EventScript_2048FF:: @ 82048FF +PetalburgCity_Gym_EventScript_UnlockAllDoors:: @ 82048FF setvar VAR_0x8005, 1 - call PetalburgCity_Gym_EventScript_20555E - call PetalburgCity_Gym_EventScript_20557F - call PetalburgCity_Gym_EventScript_2055A0 - call PetalburgCity_Gym_EventScript_2055C1 - call PetalburgCity_Gym_EventScript_2055E2 - call PetalburgCity_Gym_EventScript_205603 - call PetalburgCity_Gym_EventScript_205624 - call PetalburgCity_Gym_EventScript_205645 + call PetalburgCity_Gym_EventScript_OpenGymEntranceDoors + call PetalburgCity_Gym_EventScript_OpenSpeedRoomDoors + call PetalburgCity_Gym_EventScript_OpenAccuracyRoomDoors + call PetalburgCity_Gym_EventScript_OpenConfusionRoomDoors + call PetalburgCity_Gym_EventScript_OpenDefenseRoomDoors + call PetalburgCity_Gym_EventScript_OpenRecoveryRoomDoors + call PetalburgCity_Gym_EventScript_OpenStrengthRoomDoors + call PetalburgCity_Gym_EventScript_OpenOHKORoomDoors return -PetalburgCity_Gym_MapScript1_20492D: @ 820492D +PetalburgCity_Gym_OnTransition: @ 820492D compare VAR_PETALBURG_GYM_STATE, 1 - call_if_eq PetalburgCity_Gym_EventScript_20494D + call_if_eq PetalburgCity_Gym_EventScript_MoveWallyToEntrance compare VAR_PETALBURG_GYM_STATE, 6 - call_if_lt PetalburgCity_Gym_EventScript_204955 - call_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_20495D + call_if_lt PetalburgCity_Gym_EventScript_MoveNormanToEntrance + call_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_CheckNormanForRematch end -PetalburgCity_Gym_EventScript_20494D:: @ 820494D +PetalburgCity_Gym_EventScript_MoveWallyToEntrance:: @ 820494D setobjectxyperm 10, 5, 108 return -PetalburgCity_Gym_EventScript_204955:: @ 8204955 +PetalburgCity_Gym_EventScript_MoveNormanToEntrance:: @ 8204955 setobjectxyperm 1, 4, 107 return -PetalburgCity_Gym_EventScript_20495D:: @ 820495D - setorcopyvar VAR_TRAINER_BATTLE_OPPONENT_A, 269 +PetalburgCity_Gym_EventScript_CheckNormanForRematch:: @ 820495D + setorcopyvar VAR_TRAINER_BATTLE_OPPONENT_A, TRAINER_NORMAN_1 specialvar VAR_RESULT, IsTrainerReadyForRematch - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_204985 + compare VAR_RESULT, TRUE + goto_if_eq PetalburgCity_Gym_EventScript_DontMoveNormanToFront compare VAR_PETALBURG_GYM_STATE, 8 - goto_if_eq PetalburgCity_Gym_EventScript_204985 + goto_if_eq PetalburgCity_Gym_EventScript_DontMoveNormanToFront setobjectxyperm 1, 4, 107 return -PetalburgCity_Gym_EventScript_204985:: @ 8204985 +PetalburgCity_Gym_EventScript_DontMoveNormanToFront:: @ 8204985 setvar VAR_PETALBURG_GYM_STATE, 8 end -PetalburgCity_Gym_MapScript2_20498B: @ 820498B - map_script_2 VAR_PETALBURG_GYM_STATE, 1, PetalburgCity_Gym_EventScript_204995 +PetalburgCity_Gym_OnWarp: @ 820498B + map_script_2 VAR_PETALBURG_GYM_STATE, 1, PetalburgCity_Gym_EventScript_TurnPlayerNorth .2byte 0 -PetalburgCity_Gym_EventScript_204995:: @ 8204995 - turnobject EVENT_OBJ_ID_PLAYER, 2 +PetalburgCity_Gym_EventScript_TurnPlayerNorth:: @ 8204995 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end -PetalburgCity_Gym_MapScript2_20499A: @ 820499A - map_script_2 VAR_PETALBURG_GYM_STATE, 1, PetalburgCity_Gym_EventScript_2049A4 +PetalburgCity_Gym_OnFrame: @ 820499A + map_script_2 VAR_PETALBURG_GYM_STATE, 1, PetalburgCity_Gym_EventScript_ReturnFromWallyTutorial .2byte 0 -PetalburgCity_Gym_EventScript_2049A4:: @ 82049A4 +PetalburgCity_Gym_EventScript_ReturnFromWallyTutorial:: @ 82049A4 lockall - msgbox PetalburgCity_Gym_Text_205B32, MSGBOX_DEFAULT - msgbox PetalburgCity_Gym_Text_205B4C, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_DadSoDidItWorkOut, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_WallyThankYouBye, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown - applymovement 10, PetalburgCity_Gym_Movement_2049EC + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown + applymovement 10, PetalburgCity_Gym_Movement_WallyExitGym waitmovement 0 playse SE_KAIDAN removeobject 10 setflag FLAG_HIDE_PETALBURG_CITY_WALLY delay 30 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox PetalburgCity_Gym_Text_205C40, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_DadGoCollectBadges, MSGBOX_DEFAULT setvar VAR_PETALBURG_GYM_STATE, 2 releaseall end -PetalburgCity_Gym_Movement_2049EC: @ 82049EC +PetalburgCity_Gym_Movement_WallyExitGym: @ 82049EC walk_down walk_down walk_down delay_16 step_end -PetalburgCity_Gym_EventScript_2049F1:: @ 82049F1 +PetalburgCity_Gym_EventScript_Norman:: @ 82049F1 lock faceplayer switch VAR_PETALBURG_GYM_STATE - case 2, PetalburgCity_Gym_EventScript_204D4A - case 3, PetalburgCity_Gym_EventScript_204D54 - case 4, PetalburgCity_Gym_EventScript_204D5E - case 5, PetalburgCity_Gym_EventScript_204D68 - case 6, PetalburgCity_Gym_EventScript_204E3B - case 7, PetalburgCity_Gym_EventScript_204D80 - case 8, PetalburgCity_Gym_EventScript_204DB3 - msgbox PetalburgCity_Gym_Text_2057A2, MSGBOX_DEFAULT + case 2, PetalburgCity_Gym_EventScript_NormanNoBadges + case 3, PetalburgCity_Gym_EventScript_NormanOneBadge + case 4, PetalburgCity_Gym_EventScript_NormanTwoBadges + case 5, PetalburgCity_Gym_EventScript_NormanThreeBadges + case 6, PetalburgCity_Gym_EventScript_NormanBattle + case 7, PetalburgCity_Gym_EventScript_NormanPostBattle + case 8, PetalburgCity_Gym_EventScript_NormanRematch + msgbox PetalburgCity_Gym_Text_DadYoureHereWithYourPokemon, MSGBOX_DEFAULT closemessage switch VAR_FACING - case 1, PetalburgCity_Gym_EventScript_204A80 - case 2, PetalburgCity_Gym_EventScript_204A8B - case 3, PetalburgCity_Gym_EventScript_204A96 - case 4, PetalburgCity_Gym_EventScript_204AA1 + case DIR_SOUTH, PetalburgCity_Gym_EventScript_BeginWallyTutorialSouth + case DIR_NORTH, PetalburgCity_Gym_EventScript_BeginWallyTutorialNorth + case DIR_WEST, PetalburgCity_Gym_EventScript_BeginWallyTutorialWest + case DIR_EAST, PetalburgCity_Gym_EventScript_BeginWallyTutorialEast end -PetalburgCity_Gym_EventScript_204A80:: @ 8204A80 +PetalburgCity_Gym_EventScript_BeginWallyTutorialSouth:: @ 8204A80 setvar VAR_0x8008, 0 - goto PetalburgCity_Gym_EventScript_204AAC + goto PetalburgCity_Gym_EventScript_BeginWallyTutorial end -PetalburgCity_Gym_EventScript_204A8B:: @ 8204A8B +PetalburgCity_Gym_EventScript_BeginWallyTutorialNorth:: @ 8204A8B setvar VAR_0x8008, 1 - goto PetalburgCity_Gym_EventScript_204AAC + goto PetalburgCity_Gym_EventScript_BeginWallyTutorial end -PetalburgCity_Gym_EventScript_204A96:: @ 8204A96 +PetalburgCity_Gym_EventScript_BeginWallyTutorialWest:: @ 8204A96 setvar VAR_0x8008, 2 - goto PetalburgCity_Gym_EventScript_204AAC + goto PetalburgCity_Gym_EventScript_BeginWallyTutorial end -PetalburgCity_Gym_EventScript_204AA1:: @ 8204AA1 +PetalburgCity_Gym_EventScript_BeginWallyTutorialEast:: @ 8204AA1 setvar VAR_0x8008, 3 - goto PetalburgCity_Gym_EventScript_204AAC + goto PetalburgCity_Gym_EventScript_BeginWallyTutorial end -PetalburgCity_Gym_EventScript_204AAC:: @ 8204AAC - addobject 10 +PetalburgCity_Gym_EventScript_BeginWallyTutorial:: @ 8204AAC + addobject 10 @ Wally playse SE_DOOR compare VAR_0x8008, 0 - call_if_eq PetalburgCity_Gym_EventScript_204C31 + call_if_eq PetalburgCity_Gym_EventScript_WallyArriveSouth compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_204C43 + call_if_eq PetalburgCity_Gym_EventScript_WallyArriveNorth compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_204C5F + call_if_eq PetalburgCity_Gym_EventScript_WallyArriveWestEast compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_204C5F - msgbox PetalburgCity_Gym_Text_2058B1, MSGBOX_DEFAULT - msgbox PetalburgCity_Gym_Text_2058DB, MSGBOX_DEFAULT - msgbox PetalburgCity_Gym_Text_205910, MSGBOX_DEFAULT - msgbox PetalburgCity_Gym_Text_2059D8, MSGBOX_DEFAULT + call_if_eq PetalburgCity_Gym_EventScript_WallyArriveWestEast + msgbox PetalburgCity_Gym_Text_WallyIdLikeAPokemon, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_DadOhYoureWallyRight, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_WallyIveNeverCaughtAPokemon, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_DadHmISee, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if_eq PetalburgCity_Gym_EventScript_204CC7 + call_if_eq PetalburgCity_Gym_EventScript_NormanAddressPlayerSouth compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_204CD2 + call_if_eq PetalburgCity_Gym_EventScript_NormanAddressPlayerNorth compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_204CE4 + call_if_eq PetalburgCity_Gym_EventScript_NormanAddressPlayerWest compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_204CF6 - msgbox PetalburgCity_Gym_Text_2059E8, MSGBOX_DEFAULT + call_if_eq PetalburgCity_Gym_EventScript_NormanAddressPlayerEast + msgbox PetalburgCity_Gym_Text_DadPlayerGoWithWally, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if_eq PetalburgCity_Gym_EventScript_204D08 + call_if_eq PetalburgCity_Gym_EventScript_NormanAddressWallySouth compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_204D13 + call_if_eq PetalburgCity_Gym_EventScript_NormanAddressWallyNorth compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_204D1E + call_if_eq PetalburgCity_Gym_EventScript_NormanAddressWallyWest compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_204D29 - msgbox PetalburgCity_Gym_Text_205A46, MSGBOX_DEFAULT - msgbox PetalburgCity_Gym_Text_205A89, MSGBOX_DEFAULT - msgbox PetalburgCity_Gym_Text_205AF4, MSGBOX_DEFAULT + call_if_eq PetalburgCity_Gym_EventScript_NormanAddressWallyEast + msgbox PetalburgCity_Gym_Text_IllLoanYouMyZigzagoon, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_WallyThankYouAndDadGivesPokeBall, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_WallyOhWowThankYou, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if_eq PetalburgCity_Gym_EventScript_204D72 + call_if_eq PetalburgCity_Gym_EventScript_NormanFaceDoorSouth compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_204D73 + call_if_eq PetalburgCity_Gym_EventScript_NormanFaceDoorNorth compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_204D7E + call_if_eq PetalburgCity_Gym_EventScript_NormanFaceDoorWest compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_204D7F + call_if_eq PetalburgCity_Gym_EventScript_NormanFaceDoorEast compare VAR_0x8008, 0 - call_if_eq PetalburgCity_Gym_EventScript_204D34 + call_if_eq PetalburgCity_Gym_EventScript_WallyFacePlayer compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_204D3F + call_if_eq PetalburgCity_Gym_EventScript_WallyFaceDown compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_204D34 + call_if_eq PetalburgCity_Gym_EventScript_WallyFacePlayer compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_204D34 - msgbox PetalburgCity_Gym_Text_205B0F, MSGBOX_DEFAULT + call_if_eq PetalburgCity_Gym_EventScript_WallyFacePlayer + msgbox PetalburgCity_Gym_Text_WouldYouReallyComeWithMe, MSGBOX_DEFAULT closemessage - setflag FLAG_SPECIAL_FLAG_0x4001 + setflag FLAG_DONT_TRANSITION_MUSIC playbgm MUS_TSURETEK, 0 compare VAR_0x8008, 0 - call_if_eq PetalburgCity_Gym_EventScript_204C78 + call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallySouth compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_204C91 + call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallyNorth compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_204CA3 + call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallyWest compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_204CB5 + call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallyEast removeobject 10 setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_AUNT setvar VAR_PETALBURG_GYM_STATE, 1 @@ -227,242 +221,243 @@ PetalburgCity_Gym_EventScript_204AAC:: @ 8204AAC release end -PetalburgCity_Gym_EventScript_204C31:: @ 8204C31 - applymovement 1, Common_Movement_WalkInPlaceDown - applymovement 10, PetalburgCity_Gym_Movement_2050EB +PetalburgCity_Gym_EventScript_WallyArriveSouth:: @ 8204C31 + applymovement 1, Common_Movement_WalkInPlaceFastestDown + applymovement 10, PetalburgCity_Gym_Movement_WallyArrive waitmovement 0 return -PetalburgCity_Gym_EventScript_204C43:: @ 8204C43 - applymovement 10, PetalburgCity_Gym_Movement_2050E1 +PetalburgCity_Gym_EventScript_WallyArriveNorth:: @ 8204C43 + applymovement 10, PetalburgCity_Gym_Movement_WallyArriveNorth waitmovement 0 - applymovement 1, Common_Movement_WalkInPlaceRight - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -PetalburgCity_Gym_EventScript_204C5F:: @ 8204C5F - applymovement 1, Common_Movement_WalkInPlaceDown - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown - applymovement 10, PetalburgCity_Gym_Movement_2050EB +PetalburgCity_Gym_EventScript_WallyArriveWestEast:: @ 8204C5F + applymovement 1, Common_Movement_WalkInPlaceFastestDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown + applymovement 10, PetalburgCity_Gym_Movement_WallyArrive waitmovement 0 return -PetalburgCity_Gym_EventScript_204C78:: @ 8204C78 - applymovement 1, Common_Movement_WalkInPlaceDown - applymovement 10, PetalburgCity_Gym_Movement_205102 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205111 +PetalburgCity_Gym_EventScript_ExitGymWithWallySouth:: @ 8204C78 + applymovement 1, Common_Movement_WalkInPlaceFastestDown + applymovement 10, PetalburgCity_Gym_Movement_WallyExitSouthWest + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallySouth waitmovement 0 return -PetalburgCity_Gym_EventScript_204C91:: @ 8204C91 - applymovement 10, PetalburgCity_Gym_Movement_2050F2 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205109 +PetalburgCity_Gym_EventScript_ExitGymWithWallyNorth:: @ 8204C91 + applymovement 10, PetalburgCity_Gym_Movement_WallyExitNorth + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallyNorth waitmovement 0 return -PetalburgCity_Gym_EventScript_204CA3:: @ 8204CA3 - applymovement 10, PetalburgCity_Gym_Movement_205102 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_20511B +PetalburgCity_Gym_EventScript_ExitGymWithWallyWest:: @ 8204CA3 + applymovement 10, PetalburgCity_Gym_Movement_WallyExitSouthWest + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallyWest waitmovement 0 return -PetalburgCity_Gym_EventScript_204CB5:: @ 8204CB5 - applymovement 10, PetalburgCity_Gym_Movement_2050FA - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205123 +PetalburgCity_Gym_EventScript_ExitGymWithWallyEast:: @ 8204CB5 + applymovement 10, PetalburgCity_Gym_Movement_WallyExitEast + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallyEast waitmovement 0 return -PetalburgCity_Gym_EventScript_204CC7:: @ 8204CC7 - applymovement 1, Common_Movement_WalkInPlaceUp +PetalburgCity_Gym_EventScript_NormanAddressPlayerSouth:: @ 8204CC7 + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -PetalburgCity_Gym_EventScript_204CD2:: @ 8204CD2 - applymovement 1, Common_Movement_WalkInPlaceDown - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp +PetalburgCity_Gym_EventScript_NormanAddressPlayerNorth:: @ 8204CD2 + applymovement 1, Common_Movement_WalkInPlaceFastestDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -PetalburgCity_Gym_EventScript_204CE4:: @ 8204CE4 - applymovement 1, Common_Movement_WalkInPlaceRight - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft +PetalburgCity_Gym_EventScript_NormanAddressPlayerWest:: @ 8204CE4 + applymovement 1, Common_Movement_WalkInPlaceFastestRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -PetalburgCity_Gym_EventScript_204CF6:: @ 8204CF6 - applymovement 1, Common_Movement_WalkInPlaceLeft - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight +PetalburgCity_Gym_EventScript_NormanAddressPlayerEast:: @ 8204CF6 + applymovement 1, Common_Movement_WalkInPlaceFastestLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -PetalburgCity_Gym_EventScript_204D08:: @ 8204D08 - applymovement 1, Common_Movement_WalkInPlaceDown +PetalburgCity_Gym_EventScript_NormanAddressWallySouth:: @ 8204D08 + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -PetalburgCity_Gym_EventScript_204D13:: @ 8204D13 - applymovement 1, Common_Movement_WalkInPlaceRight +PetalburgCity_Gym_EventScript_NormanAddressWallyNorth:: @ 8204D13 + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -PetalburgCity_Gym_EventScript_204D1E:: @ 8204D1E - applymovement 1, Common_Movement_WalkInPlaceDown +PetalburgCity_Gym_EventScript_NormanAddressWallyWest:: @ 8204D1E + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -PetalburgCity_Gym_EventScript_204D29:: @ 8204D29 - applymovement 1, Common_Movement_WalkInPlaceDown +PetalburgCity_Gym_EventScript_NormanAddressWallyEast:: @ 8204D29 + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -PetalburgCity_Gym_EventScript_204D34:: @ 8204D34 +PetalburgCity_Gym_EventScript_WallyFacePlayer:: @ 8204D34 applymovement 10, Common_Movement_FacePlayer waitmovement 0 return -PetalburgCity_Gym_EventScript_204D3F:: @ 8204D3F - applymovement 10, Common_Movement_WalkInPlaceDown +PetalburgCity_Gym_EventScript_WallyFaceDown:: @ 8204D3F + applymovement 10, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -PetalburgCity_Gym_EventScript_204D4A:: @ 8204D4A - msgbox PetalburgCity_Gym_Text_205DB4, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_NormanNoBadges:: @ 8204D4A + msgbox PetalburgCity_Gym_Text_NormanGoToRustboro, MSGBOX_DEFAULT release end -PetalburgCity_Gym_EventScript_204D54:: @ 8204D54 - msgbox PetalburgCity_Gym_Text_205EAE, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_NormanOneBadge:: @ 8204D54 + msgbox PetalburgCity_Gym_Text_NormanGoToDewford, MSGBOX_DEFAULT release end -PetalburgCity_Gym_EventScript_204D5E:: @ 8204D5E - msgbox PetalburgCity_Gym_Text_205F87, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_NormanTwoBadges:: @ 8204D5E + msgbox PetalburgCity_Gym_Text_YouHaveGottenStronger, MSGBOX_DEFAULT release end -PetalburgCity_Gym_EventScript_204D68:: @ 8204D68 - msgbox PetalburgCity_Gym_Text_205F87, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_NormanThreeBadges:: @ 8204D68 + msgbox PetalburgCity_Gym_Text_YouHaveGottenStronger, MSGBOX_DEFAULT release end -PetalburgCity_Gym_EventScript_204D72:: @ 8204D72 +PetalburgCity_Gym_EventScript_NormanFaceDoorSouth:: @ 8204D72 return -PetalburgCity_Gym_EventScript_204D73:: @ 8204D73 - applymovement 1, Common_Movement_WalkInPlaceDown +@ For all other NormanFaceDoorX, Norman is already facing the door from NormanAddressWallyX +PetalburgCity_Gym_EventScript_NormanFaceDoorNorth:: @ 8204D73 + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -PetalburgCity_Gym_EventScript_204D7E:: @ 8204D7E +PetalburgCity_Gym_EventScript_NormanFaceDoorWest:: @ 8204D7E return -PetalburgCity_Gym_EventScript_204D7F:: @ 8204D7F +PetalburgCity_Gym_EventScript_NormanFaceDoorEast:: @ 8204D7F return -PetalburgCity_Gym_EventScript_204D80:: @ 8204D80 - call PetalburgCity_Gym_EventScript_204DCE - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_204E1D - goto_if_unset FLAG_RECEIVED_TM42, PetalburgCity_Gym_EventScript_204DAC - goto_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_20512D - msgbox PetalburgCity_Gym_Text_206417, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_NormanPostBattle:: @ 8204D80 + call PetalburgCity_Gym_EventScript_ShouldGiveEnigmaBerry + compare VAR_RESULT, TRUE + goto_if_eq PetalburgCity_Gym_EventScript_GiveEnigmaBerry + goto_if_unset FLAG_RECEIVED_TM42, PetalburgCity_Gym_EventScript_GiveFacade2 + goto_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_NoAmountOfTrainingIsEnough + msgbox PetalburgCity_Gym_Text_DadGoingToKeepTraining, MSGBOX_DEFAULT release end -PetalburgCity_Gym_EventScript_204DAC:: @ 8204DAC - call PetalburgCity_Gym_EventScript_204ED2 +PetalburgCity_Gym_EventScript_GiveFacade2:: @ 8204DAC + call PetalburgCity_Gym_EventScript_GiveFacade release end -PetalburgCity_Gym_EventScript_204DB3:: @ 8204DB3 - trainerbattle_rematch_double TRAINER_NORMAN_1, PetalburgCity_Gym_Text_2074A2, PetalburgCity_Gym_Text_2075CE, PetalburgCity_Gym_Text_20764A - msgbox PetalburgCity_Gym_Text_2075F7, MSGBOX_AUTOCLOSE +PetalburgCity_Gym_EventScript_NormanRematch:: @ 8204DB3 + trainerbattle_rematch_double TRAINER_NORMAN_1, PetalburgCity_Gym_Text_NormanPreRematch, PetalburgCity_Gym_Text_NormanRematchDefeat, PetalburgCity_Gym_Text_NormanRematchNeedTwoMons + msgbox PetalburgCity_Gym_Text_NormanPostRematch, MSGBOX_AUTOCLOSE end -PetalburgCity_Gym_EventScript_204DCE:: @ 8204DCE +PetalburgCity_Gym_EventScript_ShouldGiveEnigmaBerry:: @ 8204DCE specialvar VAR_RESULT, IsEnigmaBerryValid - compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_204E17 + compare VAR_RESULT, FALSE + goto_if_eq PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry checkitem ITEM_ENIGMA_BERRY, 1 - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_204E17 + compare VAR_RESULT, TRUE + goto_if_eq PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry checkpcitem ITEM_ENIGMA_BERRY, 1 - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_204E17 + compare VAR_RESULT, TRUE + goto_if_eq PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry compare VAR_ENIGMA_BERRY_AVAILABLE, 0 - goto_if_eq PetalburgCity_Gym_EventScript_204E17 - msgbox PetalburgCity_Gym_Text_2A6D3D, MSGBOX_DEFAULT - setvar VAR_RESULT, 1 + goto_if_eq PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry + msgbox PetalburgCity_Gym_Text_GiveEnigmaBerry, MSGBOX_DEFAULT + setvar VAR_RESULT, TRUE return -PetalburgCity_Gym_EventScript_204E17:: @ 8204E17 - setvar VAR_RESULT, 0 +PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry:: @ 8204E17 + setvar VAR_RESULT, FALSE return -PetalburgCity_Gym_EventScript_204E1D:: @ 8204E1D - giveitem_std ITEM_ENIGMA_BERRY +PetalburgCity_Gym_EventScript_GiveEnigmaBerry:: @ 8204E1D + giveitem ITEM_ENIGMA_BERRY compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull setvar VAR_ENIGMA_BERRY_AVAILABLE, 0 release end -PetalburgCity_Gym_EventScript_204E3B:: @ 8204E3B - msgbox PetalburgCity_Gym_Text_205FE5, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_NORMAN_1, PetalburgCity_Gym_Text_206107 - message PetalburgCity_Gym_Text_206162 +PetalburgCity_Gym_EventScript_NormanBattle:: @ 8204E3B + msgbox PetalburgCity_Gym_Text_NormanIntro, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_NORMAN_1, PetalburgCity_Gym_Text_NormanDefeat + message PetalburgCity_Gym_Text_ReceivedBalanceBadge waitmessage call Common_EventScript_PlayGymBadgeFanfare - msgbox PetalburgCity_Gym_Text_20618A, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_ExplainBalanceBadgeTakeThis, MSGBOX_DEFAULT setflag FLAG_DEFEATED_PETALBURG_GYM setvar VAR_PETALBURG_GYM_STATE, 7 setflag FLAG_BADGE05_GET - special sub_813B9A0 - call PetalburgCity_Gym_EventScript_2721F8 + special ResetHealLocationFromDewford + call EventScript_HideMrBriney setflag FLAG_HIDE_MAUVILLE_GYM_WATTSON clearflag FLAG_HIDE_MAUVILLE_CITY_WATTSON setvar VAR_0x8008, 5 - call PetalburgCity_Gym_EventScript_271F43 + call Common_EventScript_SetGymTrainers clearflag FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN - call PetalburgCity_Gym_EventScript_2048FF + call PetalburgCity_Gym_EventScript_UnlockAllDoors special DrawWholeMapView - call PetalburgCity_Gym_EventScript_204ED2 + call PetalburgCity_Gym_EventScript_GiveFacade delay 30 - msgbox PetalburgCity_Gym_Text_2062FB, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_DadHappyAndSad, MSGBOX_DEFAULT closemessage delay 40 playse SE_DOOR delay 10 - addobject 11 + addobject 11 @ Wallys Uncle switch VAR_FACING - case 2, PetalburgCity_Gym_EventScript_204EF5 - case 3, PetalburgCity_Gym_EventScript_204F09 - case 4, PetalburgCity_Gym_EventScript_204EFF + case DIR_NORTH, PetalburgCity_Gym_EventScript_WallysUncleArrivesNorth + case DIR_WEST, PetalburgCity_Gym_EventScript_WallysUncleArrivesWest + case DIR_EAST, PetalburgCity_Gym_EventScript_WallysUncleArrivesEast end -PetalburgCity_Gym_EventScript_204ED2:: @ 8204ED2 - giveitem_std ITEM_TM42 +PetalburgCity_Gym_EventScript_GiveFacade:: @ 8204ED2 + giveitem ITEM_TM42 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_BagIsFull setflag FLAG_RECEIVED_TM42 - msgbox PetalburgCity_Gym_Text_206254, MSGBOX_DEFAULT + msgbox PetalburgCity_Gym_Text_ExplainFacade, MSGBOX_DEFAULT return -PetalburgCity_Gym_EventScript_204EF5:: @ 8204EF5 +PetalburgCity_Gym_EventScript_WallysUncleArrivesNorth:: @ 8204EF5 setvar VAR_0x8008, 1 - goto PetalburgCity_Gym_EventScript_204F13 + goto PetalburgCity_Gym_EventScript_WallysUncleArrives -PetalburgCity_Gym_EventScript_204EFF:: @ 8204EFF +PetalburgCity_Gym_EventScript_WallysUncleArrivesEast:: @ 8204EFF setvar VAR_0x8008, 2 - goto PetalburgCity_Gym_EventScript_204F13 + goto PetalburgCity_Gym_EventScript_WallysUncleArrives -PetalburgCity_Gym_EventScript_204F09:: @ 8204F09 +PetalburgCity_Gym_EventScript_WallysUncleArrivesWest:: @ 8204F09 setvar VAR_0x8008, 3 - goto PetalburgCity_Gym_EventScript_204F13 + goto PetalburgCity_Gym_EventScript_WallysUncleArrives -PetalburgCity_Gym_EventScript_204F13:: @ 8204F13 - applymovement 11, PetalburgCity_Gym_Movement_2050BB +PetalburgCity_Gym_EventScript_WallysUncleArrives:: @ 8204F13 + applymovement 11, PetalburgCity_Gym_Movement_WallysUncleEnterGym waitmovement 0 playse SE_PIN applymovement 11, Common_Movement_ExclamationMark @@ -471,30 +466,30 @@ PetalburgCity_Gym_EventScript_204F13:: @ 8204F13 waitmovement 0 delay 10 compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_204FED + call_if_eq PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerNorth compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_205009 + call_if_eq PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerEast compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_205025 - msgbox PetalburgCity_Gym_Text_206377, MSGBOX_DEFAULT + call_if_eq PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerWest + msgbox PetalburgCity_Gym_Text_PleaseComeWithMe, MSGBOX_DEFAULT closemessage delay 20 compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_204FCC + call_if_eq PetalburgCity_Gym_EventScript_WallysUncleFaceNormanNorth compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_204FD7 + call_if_eq PetalburgCity_Gym_EventScript_WallysUncleFaceNormanEast compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_204FE2 - msgbox PetalburgCity_Gym_Text_2063CA, MSGBOX_DEFAULT + call_if_eq PetalburgCity_Gym_EventScript_WallysUncleFaceNormanWest + msgbox PetalburgCity_Gym_Text_LetMeBorrowPlayer, MSGBOX_DEFAULT closemessage - setflag FLAG_SPECIAL_FLAG_0x4001 + setflag FLAG_DONT_TRANSITION_MUSIC playbgm MUS_TSURETEK, 0 compare VAR_0x8008, 1 - call_if_eq PetalburgCity_Gym_EventScript_205041 + call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleNorth compare VAR_0x8008, 2 - call_if_eq PetalburgCity_Gym_EventScript_20505A + call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleEast compare VAR_0x8008, 3 - call_if_eq PetalburgCity_Gym_EventScript_20506C + call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleWest removeobject 11 setvar VAR_PETALBURG_CITY_STATE, 4 clearflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE @@ -503,65 +498,65 @@ PetalburgCity_Gym_EventScript_204F13:: @ 8204F13 release end -PetalburgCity_Gym_EventScript_204FCC:: @ 8204FCC - applymovement 11, Common_Movement_WalkInPlaceUp +PetalburgCity_Gym_EventScript_WallysUncleFaceNormanNorth:: @ 8204FCC + applymovement 11, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -PetalburgCity_Gym_EventScript_204FD7:: @ 8204FD7 - applymovement 11, Common_Movement_WalkInPlaceRight +PetalburgCity_Gym_EventScript_WallysUncleFaceNormanEast:: @ 8204FD7 + applymovement 11, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -PetalburgCity_Gym_EventScript_204FE2:: @ 8204FE2 - applymovement 11, Common_Movement_WalkInPlaceLeft +PetalburgCity_Gym_EventScript_WallysUncleFaceNormanWest:: @ 8204FE2 + applymovement 11, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -PetalburgCity_Gym_EventScript_204FED:: @ 8204FED - applymovement 11, PetalburgCity_Gym_Movement_2050C3 +PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerNorth:: @ 8204FED + applymovement 11, PetalburgCity_Gym_Movement_WallysUncleApproachPlayerNorth waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft - applymovement 1, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft + applymovement 1, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -PetalburgCity_Gym_EventScript_205009:: @ 8205009 - applymovement 11, PetalburgCity_Gym_Movement_2050CA +PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerEast:: @ 8205009 + applymovement 11, PetalburgCity_Gym_Movement_WallysUncleApproachPlayerEast waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown - applymovement 1, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -PetalburgCity_Gym_EventScript_205025:: @ 8205025 - applymovement 11, PetalburgCity_Gym_Movement_2050D0 +PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerWest:: @ 8205025 + applymovement 11, PetalburgCity_Gym_Movement_WallysUncleApproachPlayerWest waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown - applymovement 1, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -PetalburgCity_Gym_EventScript_205041:: @ 8205041 - applymovement 11, PetalburgCity_Gym_Movement_20507E - applymovement 1, Common_Movement_WalkInPlaceDown - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050A1 +PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleNorth:: @ 8205041 + applymovement 11, PetalburgCity_Gym_Movement_WallysUncleExitNorth + applymovement 1, Common_Movement_WalkInPlaceFastestDown + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleNorth waitmovement 0 return -PetalburgCity_Gym_EventScript_20505A:: @ 820505A - applymovement 11, PetalburgCity_Gym_Movement_205089 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050A9 +PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleEast:: @ 820505A + applymovement 11, PetalburgCity_Gym_Movement_WallysUncleExitEast + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleEast waitmovement 0 return -PetalburgCity_Gym_EventScript_20506C:: @ 820506C - applymovement 11, PetalburgCity_Gym_Movement_205094 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050B1 +PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleWest:: @ 820506C + applymovement 11, PetalburgCity_Gym_Movement_WallysUncleExitWest + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleWest waitmovement 0 return -PetalburgCity_Gym_Movement_20507E: @ 820507E +PetalburgCity_Gym_Movement_WallysUncleExitNorth: @ 820507E walk_down walk_down walk_left @@ -574,7 +569,7 @@ PetalburgCity_Gym_Movement_20507E: @ 820507E set_invisible step_end -PetalburgCity_Gym_Movement_205089: @ 8205089 +PetalburgCity_Gym_Movement_WallysUncleExitEast: @ 8205089 walk_down walk_down walk_left @@ -587,7 +582,7 @@ PetalburgCity_Gym_Movement_205089: @ 8205089 set_invisible step_end -PetalburgCity_Gym_Movement_205094: @ 8205094 +PetalburgCity_Gym_Movement_WallysUncleExitWest: @ 8205094 walk_down walk_down walk_left @@ -602,7 +597,7 @@ PetalburgCity_Gym_Movement_205094: @ 8205094 set_invisible step_end -PetalburgCity_Gym_Movement_2050A1: @ 82050A1 +PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleNorth: @ 82050A1 delay_16 walk_down walk_down @@ -612,7 +607,7 @@ PetalburgCity_Gym_Movement_2050A1: @ 82050A1 walk_down step_end -PetalburgCity_Gym_Movement_2050A9: @ 82050A9 +PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleEast: @ 82050A9 delay_16 walk_down walk_down @@ -622,7 +617,7 @@ PetalburgCity_Gym_Movement_2050A9: @ 82050A9 walk_down step_end -PetalburgCity_Gym_Movement_2050B1: @ 82050B1 +PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleWest: @ 82050B1 delay_16 walk_down walk_down @@ -634,7 +629,7 @@ PetalburgCity_Gym_Movement_2050B1: @ 82050B1 walk_down step_end -PetalburgCity_Gym_Movement_2050BB: @ 82050BB +PetalburgCity_Gym_Movement_WallysUncleEnterGym: @ 82050BB walk_up delay_8 walk_in_place_fastest_right @@ -644,7 +639,7 @@ PetalburgCity_Gym_Movement_2050BB: @ 82050BB walk_in_place_fastest_up step_end -PetalburgCity_Gym_Movement_2050C3: @ 82050C3 +PetalburgCity_Gym_Movement_WallysUncleApproachPlayerNorth: @ 82050C3 walk_right walk_right walk_up @@ -653,7 +648,7 @@ PetalburgCity_Gym_Movement_2050C3: @ 82050C3 walk_in_place_fastest_right step_end -PetalburgCity_Gym_Movement_2050CA: @ 82050CA +PetalburgCity_Gym_Movement_WallysUncleApproachPlayerEast: @ 82050CA walk_right walk_right walk_up @@ -661,7 +656,7 @@ PetalburgCity_Gym_Movement_2050CA: @ 82050CA walk_up step_end -PetalburgCity_Gym_Movement_2050D0: @ 82050D0 +PetalburgCity_Gym_Movement_WallysUncleApproachPlayerWest: @ 82050D0 walk_right walk_right walk_up @@ -671,7 +666,7 @@ PetalburgCity_Gym_Movement_2050D0: @ 82050D0 walk_up step_end -PetalburgCity_Gym_Movement_2050D8: @ 82050D8 +PetalburgCity_Gym_Movement_Unused: @ 82050D8 walk_in_place_fastest_up delay_16 delay_16 @@ -682,7 +677,7 @@ PetalburgCity_Gym_Movement_2050D8: @ 82050D8 walk_in_place_fastest_down step_end -PetalburgCity_Gym_Movement_2050E1: @ 82050E1 +PetalburgCity_Gym_Movement_WallyArriveNorth: @ 82050E1 delay_16 walk_up delay_16 @@ -694,7 +689,7 @@ PetalburgCity_Gym_Movement_2050E1: @ 82050E1 walk_in_place_fastest_left step_end -PetalburgCity_Gym_Movement_2050EB: @ 82050EB +PetalburgCity_Gym_Movement_WallyArrive: @ 82050EB delay_16 walk_up delay_16 @@ -703,7 +698,7 @@ PetalburgCity_Gym_Movement_2050EB: @ 82050EB walk_up step_end -PetalburgCity_Gym_Movement_2050F2: @ 82050F2 +PetalburgCity_Gym_Movement_WallyExitNorth: @ 82050F2 walk_down walk_down walk_down @@ -713,7 +708,7 @@ PetalburgCity_Gym_Movement_2050F2: @ 82050F2 walk_in_place_down step_end -PetalburgCity_Gym_Movement_2050FA: @ 82050FA +PetalburgCity_Gym_Movement_WallyExitEast: @ 82050FA walk_down walk_down walk_right @@ -723,7 +718,7 @@ PetalburgCity_Gym_Movement_2050FA: @ 82050FA walk_in_place_down step_end -PetalburgCity_Gym_Movement_205102: @ 8205102 +PetalburgCity_Gym_Movement_WallyExitSouthWest: @ 8205102 walk_down walk_down walk_down @@ -732,7 +727,7 @@ PetalburgCity_Gym_Movement_205102: @ 8205102 walk_in_place_down step_end -PetalburgCity_Gym_Movement_205109: @ 8205109 +PetalburgCity_Gym_Movement_PlayerExitWithWallyNorth: @ 8205109 delay_16 delay_16 delay_16 @@ -742,7 +737,7 @@ PetalburgCity_Gym_Movement_205109: @ 8205109 delay_8 step_end -PetalburgCity_Gym_Movement_205111: @ 8205111 +PetalburgCity_Gym_Movement_PlayerExitWithWallySouth: @ 8205111 delay_16 delay_16 walk_right @@ -754,7 +749,7 @@ PetalburgCity_Gym_Movement_205111: @ 8205111 delay_8 step_end -PetalburgCity_Gym_Movement_20511B: @ 820511B +PetalburgCity_Gym_Movement_PlayerExitWithWallyWest: @ 820511B delay_16 delay_16 walk_down @@ -764,7 +759,7 @@ PetalburgCity_Gym_Movement_20511B: @ 820511B delay_8 step_end -PetalburgCity_Gym_Movement_205123: @ 8205123 +PetalburgCity_Gym_Movement_PlayerExitWithWallyEast: @ 8205123 walk_in_place_fastest_down delay_16 delay_16 @@ -776,468 +771,461 @@ PetalburgCity_Gym_Movement_205123: @ 8205123 delay_8 step_end -PetalburgCity_Gym_EventScript_20512D:: @ 820512D - msgbox PetalburgCity_Gym_Text_2064C3, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_NoAmountOfTrainingIsEnough:: @ 820512D + msgbox PetalburgCity_Gym_Text_DadNoAmountOfTrainingIsEnough, MSGBOX_DEFAULT release end -PetalburgCity_Gym_EventScript_205137:: @ 8205137 +PetalburgCity_Gym_EventScript_SpeedRoomDoor:: @ 8205137 lockall compare VAR_PETALBURG_GYM_STATE, 6 - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 7 setvar VAR_0x8009, 85 - msgbox PetalburgCity_Gym_Text_20721E, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C - compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + msgbox PetalburgCity_Gym_Text_EnterSpeedRoom, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom + compare VAR_RESULT, NO + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_20516C:: @ 820516C +PetalburgCity_Gym_EventScript_EnterRoom:: @ 820516C closemessage delay 30 - warpdoor MAP_PETALBURG_CITY_GYM, 255, 32776, 32777 + warpdoor MAP_PETALBURG_CITY_GYM, 255, VAR_0x8008, VAR_0x8009 waitstate releaseall end -PetalburgCity_Gym_EventScript_20517B:: @ 820517B +PetalburgCity_Gym_EventScript_DontEnterRoom:: @ 820517B releaseall end -PetalburgCity_Gym_EventScript_20517D:: @ 820517D - msgbox PetalburgCity_Gym_Text_2071F4, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_DoorLocked:: @ 820517D + msgbox PetalburgCity_Gym_Text_DoorAppearsLocked, MSGBOX_DEFAULT releaseall end -PetalburgCity_Gym_EventScript_205187:: @ 8205187 +@ VAR_0x8008 and VAR_0x8009 below are the x and y coordinates of the warp +PetalburgCity_Gym_EventScript_AccuracyRoomDoor:: @ 8205187 lockall compare VAR_PETALBURG_GYM_STATE, 6 - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 1 setvar VAR_0x8009, 98 - msgbox PetalburgCity_Gym_Text_207280, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C - compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + msgbox PetalburgCity_Gym_Text_EnterAccuracyRoom, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom + compare VAR_RESULT, NO + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_2051BC:: @ 82051BC +PetalburgCity_Gym_EventScript_ConfusionRoomDoor:: @ 82051BC lockall - checktrainerflag TRAINER_RANDALL - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_not_defeated TRAINER_RANDALL, PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 7 setvar VAR_0x8009, 46 - msgbox PetalburgCity_Gym_Text_2072BB, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C - compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + msgbox PetalburgCity_Gym_Text_EnterConfusionRoom, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom + compare VAR_RESULT, NO + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_2051EF:: @ 82051EF +PetalburgCity_Gym_EventScript_LeftDefenseRoomDoor:: @ 82051EF lockall - checktrainerflag TRAINER_RANDALL - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_not_defeated TRAINER_RANDALL, PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 1 setvar VAR_0x8009, 59 - msgbox PetalburgCity_Gym_Text_2072F7, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C - compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + msgbox PetalburgCity_Gym_Text_EnterDefenseRoom, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom + compare VAR_RESULT, NO + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_205222:: @ 8205222 +PetalburgCity_Gym_EventScript_RightDefenseRoomDoor:: @ 8205222 lockall - checktrainerflag TRAINER_MARY - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_not_defeated TRAINER_MARY, PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 7 setvar VAR_0x8009, 59 - msgbox PetalburgCity_Gym_Text_2072F7, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C - compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + msgbox PetalburgCity_Gym_Text_EnterDefenseRoom, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom + compare VAR_RESULT, NO + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_205255:: @ 8205255 +PetalburgCity_Gym_EventScript_RecoveryRoomDoor:: @ 8205255 lockall - checktrainerflag TRAINER_MARY - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_not_defeated TRAINER_MARY, PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 1 setvar VAR_0x8009, 72 - msgbox PetalburgCity_Gym_Text_207331, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C - compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + msgbox PetalburgCity_Gym_Text_EnterRecoveryRoom, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom + compare VAR_RESULT, NO + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_205288:: @ 8205288 +PetalburgCity_Gym_EventScript_LeftStrengthRoomDoor:: @ 8205288 lockall - checktrainerflag TRAINER_PARKER - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_not_defeated TRAINER_PARKER, PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 1 setvar VAR_0x8009, 20 - msgbox PetalburgCity_Gym_Text_20736C, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C - compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + msgbox PetalburgCity_Gym_Text_EnterStrengthRoom, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom + compare VAR_RESULT, NO + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_2052BB:: @ 82052BB +PetalburgCity_Gym_EventScript_RightStrengthRoomDoor:: @ 82052BB lockall - checktrainerflag TRAINER_ALEXIA - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_not_defeated TRAINER_ALEXIA, PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 7 setvar VAR_0x8009, 20 - msgbox PetalburgCity_Gym_Text_20736C, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C - compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + msgbox PetalburgCity_Gym_Text_EnterStrengthRoom, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom + compare VAR_RESULT, NO + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_2052EE:: @ 82052EE +PetalburgCity_Gym_EventScript_LeftOHKORoomDoor:: @ 82052EE lockall - checktrainerflag TRAINER_ALEXIA - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_not_defeated TRAINER_ALEXIA, PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 1 setvar VAR_0x8009, 33 - msgbox PetalburgCity_Gym_Text_2073A7, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C - compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + msgbox PetalburgCity_Gym_Text_EnterOHKORoom, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom + compare VAR_RESULT, NO + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_205321:: @ 8205321 +PetalburgCity_Gym_EventScript_RightOHKORoomDoor:: @ 8205321 lockall - checktrainerflag TRAINER_GEORGE - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_not_defeated TRAINER_GEORGE, PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 7 setvar VAR_0x8009, 33 - msgbox PetalburgCity_Gym_Text_2073A7, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C - compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + msgbox PetalburgCity_Gym_Text_EnterOHKORoom, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom + compare VAR_RESULT, NO + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_205354:: @ 8205354 +PetalburgCity_Gym_EventScript_LeftGymLeadersRoomDoor:: @ 8205354 lockall - checktrainerflag TRAINER_JODY - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_not_defeated TRAINER_JODY, PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 1 setvar VAR_0x8009, 7 - msgbox PetalburgCity_Gym_Text_2073E4, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C - compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + msgbox PetalburgCity_Gym_Text_EnterGymLeadersRoom, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom + compare VAR_RESULT, NO + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_205387:: @ 8205387 +PetalburgCity_Gym_EventScript_RightGymLeadersRoomDoor:: @ 8205387 lockall - checktrainerflag TRAINER_BERKE - goto_if_lt PetalburgCity_Gym_EventScript_20517D + goto_if_not_defeated TRAINER_BERKE, PetalburgCity_Gym_EventScript_DoorLocked setvar VAR_0x8008, 7 setvar VAR_0x8009, 7 - msgbox PetalburgCity_Gym_Text_2073E4, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_Gym_EventScript_20516C - compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_Gym_EventScript_20517B + msgbox PetalburgCity_Gym_Text_EnterGymLeadersRoom, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom + compare VAR_RESULT, NO + goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom end -PetalburgCity_Gym_EventScript_2053BA:: @ 82053BA - trainerbattle_single TRAINER_RANDALL, PetalburgCity_Gym_Text_20674F, PetalburgCity_Gym_Text_2067B9, PetalburgCity_Gym_EventScript_2053DE - goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_2053ED - msgbox PetalburgCity_Gym_Text_2067D8, MSGBOX_AUTOCLOSE +PetalburgCity_Gym_EventScript_Randall:: @ 82053BA + trainerbattle_single TRAINER_RANDALL, PetalburgCity_Gym_Text_RandallIntro, PetalburgCity_Gym_Text_RandallDefeat, PetalburgCity_Gym_EventScript_SlideOpenSpeedRoomDoors + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_RandallPostBadge + msgbox PetalburgCity_Gym_Text_RandallPostBattle, MSGBOX_AUTOCLOSE end -PetalburgCity_Gym_EventScript_2053DE:: @ 82053DE +PetalburgCity_Gym_EventScript_SlideOpenSpeedRoomDoors:: @ 82053DE setvar VAR_0x8005, 0 - call PetalburgCity_Gym_EventScript_20557F + call PetalburgCity_Gym_EventScript_OpenSpeedRoomDoors special DrawWholeMapView release end -PetalburgCity_Gym_EventScript_2053ED:: @ 82053ED - msgbox PetalburgCity_Gym_Text_20685E, MSGBOX_NPC +PetalburgCity_Gym_EventScript_RandallPostBadge:: @ 82053ED + msgbox PetalburgCity_Gym_Text_RandallPostBadge, MSGBOX_NPC end -PetalburgCity_Gym_EventScript_2053F6:: @ 82053F6 - trainerbattle_single TRAINER_PARKER, PetalburgCity_Gym_Text_2068FD, PetalburgCity_Gym_Text_20694F, PetalburgCity_Gym_EventScript_20541A - goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205429 - msgbox PetalburgCity_Gym_Text_206996, MSGBOX_AUTOCLOSE +PetalburgCity_Gym_EventScript_Parker:: @ 82053F6 + trainerbattle_single TRAINER_PARKER, PetalburgCity_Gym_Text_ParkerIntro, PetalburgCity_Gym_Text_ParkerDefeat, PetalburgCity_Gym_EventScript_SlideOpenConfusionRoomDoors + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_ParkerPostBadge + msgbox PetalburgCity_Gym_Text_ParkerPostBattle, MSGBOX_AUTOCLOSE end -PetalburgCity_Gym_EventScript_20541A:: @ 820541A +PetalburgCity_Gym_EventScript_SlideOpenConfusionRoomDoors:: @ 820541A setvar VAR_0x8005, 0 - call PetalburgCity_Gym_EventScript_2055C1 + call PetalburgCity_Gym_EventScript_OpenConfusionRoomDoors special DrawWholeMapView release end -PetalburgCity_Gym_EventScript_205429:: @ 8205429 - msgbox PetalburgCity_Gym_Text_2069D9, MSGBOX_NPC +PetalburgCity_Gym_EventScript_ParkerPostBadge:: @ 8205429 + msgbox PetalburgCity_Gym_Text_ParkerPostBadge, MSGBOX_NPC end -PetalburgCity_Gym_EventScript_205432:: @ 8205432 - trainerbattle_single TRAINER_GEORGE, PetalburgCity_Gym_Text_206A1B, PetalburgCity_Gym_Text_206AB8, PetalburgCity_Gym_EventScript_205456 - goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205465 - msgbox PetalburgCity_Gym_Text_206AE9, MSGBOX_AUTOCLOSE +PetalburgCity_Gym_EventScript_George:: @ 8205432 + trainerbattle_single TRAINER_GEORGE, PetalburgCity_Gym_Text_GeorgeIntro, PetalburgCity_Gym_Text_GeorgeDefeat, PetalburgCity_Gym_EventScript_SlideOpenRecoveryRoomDoors + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_GeorgePostBadge + msgbox PetalburgCity_Gym_Text_GeorgePostBattle, MSGBOX_AUTOCLOSE end -PetalburgCity_Gym_EventScript_205456:: @ 8205456 +PetalburgCity_Gym_EventScript_SlideOpenRecoveryRoomDoors:: @ 8205456 setvar VAR_0x8005, 0 - call PetalburgCity_Gym_EventScript_205603 + call PetalburgCity_Gym_EventScript_OpenRecoveryRoomDoors special DrawWholeMapView release end -PetalburgCity_Gym_EventScript_205465:: @ 8205465 - msgbox PetalburgCity_Gym_Text_206BB1, MSGBOX_NPC +PetalburgCity_Gym_EventScript_GeorgePostBadge:: @ 8205465 + msgbox PetalburgCity_Gym_Text_GeorgePostBadge, MSGBOX_NPC end -PetalburgCity_Gym_EventScript_20546E:: @ 820546E - trainerbattle_single TRAINER_BERKE, PetalburgCity_Gym_Text_206BF4, PetalburgCity_Gym_Text_206C7D, PetalburgCity_Gym_EventScript_205492 - goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_2054A1 - msgbox PetalburgCity_Gym_Text_206C9F, MSGBOX_AUTOCLOSE +PetalburgCity_Gym_EventScript_Berke:: @ 820546E + trainerbattle_single TRAINER_BERKE, PetalburgCity_Gym_Text_BerkeIntro, PetalburgCity_Gym_Text_BerkeDefeat, PetalburgCity_Gym_EventScript_SlideOpenOHKORoomDoors + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_BerkePostBadge + msgbox PetalburgCity_Gym_Text_BerkePostBattle, MSGBOX_AUTOCLOSE end -PetalburgCity_Gym_EventScript_205492:: @ 8205492 +PetalburgCity_Gym_EventScript_SlideOpenOHKORoomDoors:: @ 8205492 setvar VAR_0x8005, 0 - call PetalburgCity_Gym_EventScript_205645 + call PetalburgCity_Gym_EventScript_OpenOHKORoomDoors special DrawWholeMapView release end -PetalburgCity_Gym_EventScript_2054A1:: @ 82054A1 - msgbox PetalburgCity_Gym_Text_206D56, MSGBOX_NPC +PetalburgCity_Gym_EventScript_BerkePostBadge:: @ 82054A1 + msgbox PetalburgCity_Gym_Text_BerkePostBadge, MSGBOX_NPC end -PetalburgCity_Gym_EventScript_2054AA:: @ 82054AA - trainerbattle_single TRAINER_MARY, PetalburgCity_Gym_Text_206DB2, PetalburgCity_Gym_Text_206E0D, PetalburgCity_Gym_EventScript_2054CE - goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_2054DD - msgbox PetalburgCity_Gym_Text_206E26, MSGBOX_AUTOCLOSE +PetalburgCity_Gym_EventScript_Mary:: @ 82054AA + trainerbattle_single TRAINER_MARY, PetalburgCity_Gym_Text_MaryIntro, PetalburgCity_Gym_Text_MaryDefeat, PetalburgCity_Gym_EventScript_SlideOpenAccuracyRoomDoors + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_MaryPostBadge + msgbox PetalburgCity_Gym_Text_MaryPostBattle, MSGBOX_AUTOCLOSE end -PetalburgCity_Gym_EventScript_2054CE:: @ 82054CE +PetalburgCity_Gym_EventScript_SlideOpenAccuracyRoomDoors:: @ 82054CE setvar VAR_0x8005, 0 - call PetalburgCity_Gym_EventScript_2055A0 + call PetalburgCity_Gym_EventScript_OpenAccuracyRoomDoors special DrawWholeMapView release end -PetalburgCity_Gym_EventScript_2054DD:: @ 82054DD - msgbox PetalburgCity_Gym_Text_206ED8, MSGBOX_NPC +PetalburgCity_Gym_EventScript_MaryPostBadge:: @ 82054DD + msgbox PetalburgCity_Gym_Text_MaryPostBadge, MSGBOX_NPC end -PetalburgCity_Gym_EventScript_2054E6:: @ 82054E6 - trainerbattle_single TRAINER_ALEXIA, PetalburgCity_Gym_Text_206F44, PetalburgCity_Gym_Text_206F82, PetalburgCity_Gym_EventScript_20550A - goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205519 - msgbox PetalburgCity_Gym_Text_206F9F, MSGBOX_AUTOCLOSE +PetalburgCity_Gym_EventScript_Alexia:: @ 82054E6 + trainerbattle_single TRAINER_ALEXIA, PetalburgCity_Gym_Text_AlexiaIntro, PetalburgCity_Gym_Text_AlexiaDefeat, PetalburgCity_Gym_EventScript_SlideOpenDefenseRoomDoors + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_AlexiaPostBadge + msgbox PetalburgCity_Gym_Text_AlexiaPostBattle, MSGBOX_AUTOCLOSE end -PetalburgCity_Gym_EventScript_20550A:: @ 820550A +PetalburgCity_Gym_EventScript_SlideOpenDefenseRoomDoors:: @ 820550A setvar VAR_0x8005, 0 - call PetalburgCity_Gym_EventScript_2055E2 + call PetalburgCity_Gym_EventScript_OpenDefenseRoomDoors special DrawWholeMapView release end -PetalburgCity_Gym_EventScript_205519:: @ 8205519 - msgbox PetalburgCity_Gym_Text_207069, MSGBOX_NPC +PetalburgCity_Gym_EventScript_AlexiaPostBadge:: @ 8205519 + msgbox PetalburgCity_Gym_Text_AlexiaPostBadge, MSGBOX_NPC end -PetalburgCity_Gym_EventScript_205522:: @ 8205522 - trainerbattle_single TRAINER_JODY, PetalburgCity_Gym_Text_207088, PetalburgCity_Gym_Text_2070E6, PetalburgCity_Gym_EventScript_205546 - goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205555 - msgbox PetalburgCity_Gym_Text_2070FB, MSGBOX_AUTOCLOSE +PetalburgCity_Gym_EventScript_Jody:: @ 8205522 + trainerbattle_single TRAINER_JODY, PetalburgCity_Gym_Text_JodyIntro, PetalburgCity_Gym_Text_JodyDefeat, PetalburgCity_Gym_EventScript_SlideOpenStrengthRoomDoors + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_JodyPostBadge + msgbox PetalburgCity_Gym_Text_JodyPostBattle, MSGBOX_AUTOCLOSE end -PetalburgCity_Gym_EventScript_205546:: @ 8205546 +PetalburgCity_Gym_EventScript_SlideOpenStrengthRoomDoors:: @ 8205546 setvar VAR_0x8005, 0 - call PetalburgCity_Gym_EventScript_205624 + call PetalburgCity_Gym_EventScript_OpenStrengthRoomDoors special DrawWholeMapView release end -PetalburgCity_Gym_EventScript_205555:: @ 8205555 - msgbox PetalburgCity_Gym_Text_207170, MSGBOX_NPC +PetalburgCity_Gym_EventScript_JodyPostBadge:: @ 8205555 + msgbox PetalburgCity_Gym_Text_JodyPostBadge, MSGBOX_NPC end -PetalburgCity_Gym_EventScript_20555E:: @ 820555E +@ VAR_0x8004 below is the room number +@ VAR_0x8005 below is 0 when the door should be slid open and 1 when it should be unlocked immediately +PetalburgCity_Gym_EventScript_OpenGymEntranceDoors:: @ 820555E setvar VAR_0x8004, 1 compare VAR_0x8005, 0 - call_if_eq PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors compare VAR_0x8005, 1 - call_if_eq PetalburgCity_Gym_EventScript_20574B - call PetalburgCity_Gym_EventScript_205666 + call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors + call PetalburgCity_Gym_EventScript_SetEntranceRoomDoorMetatiles return -PetalburgCity_Gym_EventScript_20557F:: @ 820557F +PetalburgCity_Gym_EventScript_OpenSpeedRoomDoors:: @ 820557F setvar VAR_0x8004, 2 compare VAR_0x8005, 0 - call_if_eq PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors compare VAR_0x8005, 1 - call_if_eq PetalburgCity_Gym_EventScript_20574B - call PetalburgCity_Gym_EventScript_20568B + call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors + call PetalburgCity_Gym_EventScript_SetSpeedRoomDoorMetatiles return -PetalburgCity_Gym_EventScript_2055A0:: @ 82055A0 +PetalburgCity_Gym_EventScript_OpenAccuracyRoomDoors:: @ 82055A0 setvar VAR_0x8004, 3 compare VAR_0x8005, 0 - call_if_eq PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors compare VAR_0x8005, 1 - call_if_eq PetalburgCity_Gym_EventScript_20574B - call PetalburgCity_Gym_EventScript_2056B0 + call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors + call PetalburgCity_Gym_EventScript_SetAccuracyRoomDoorMetatiles return -PetalburgCity_Gym_EventScript_2055C1:: @ 82055C1 +PetalburgCity_Gym_EventScript_OpenConfusionRoomDoors:: @ 82055C1 setvar VAR_0x8004, 4 compare VAR_0x8005, 0 - call_if_eq PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors compare VAR_0x8005, 1 - call_if_eq PetalburgCity_Gym_EventScript_20574B - call PetalburgCity_Gym_EventScript_2056D5 + call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors + call PetalburgCity_Gym_EventScript_SetConfusionRoomDoorMetatiles return -PetalburgCity_Gym_EventScript_2055E2:: @ 82055E2 +PetalburgCity_Gym_EventScript_OpenDefenseRoomDoors:: @ 82055E2 setvar VAR_0x8004, 5 compare VAR_0x8005, 0 - call_if_eq PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors compare VAR_0x8005, 1 - call_if_eq PetalburgCity_Gym_EventScript_20574B - call PetalburgCity_Gym_EventScript_2056E8 + call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors + call PetalburgCity_Gym_EventScript_SetDefenseRoomDoorMetatiles return -PetalburgCity_Gym_EventScript_205603:: @ 8205603 +PetalburgCity_Gym_EventScript_OpenRecoveryRoomDoors:: @ 8205603 setvar VAR_0x8004, 6 compare VAR_0x8005, 0 - call_if_eq PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors compare VAR_0x8005, 1 - call_if_eq PetalburgCity_Gym_EventScript_20574B - call PetalburgCity_Gym_EventScript_20570D + call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors + call PetalburgCity_Gym_EventScript_SetRecoveryRoomDoorMetatiles return -PetalburgCity_Gym_EventScript_205624:: @ 8205624 +PetalburgCity_Gym_EventScript_OpenStrengthRoomDoors:: @ 8205624 setvar VAR_0x8004, 7 compare VAR_0x8005, 0 - call_if_eq PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors compare VAR_0x8005, 1 - call_if_eq PetalburgCity_Gym_EventScript_20574B - call PetalburgCity_Gym_EventScript_205720 + call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors + call PetalburgCity_Gym_EventScript_SetStrengthRoomDoorMetatiles return -PetalburgCity_Gym_EventScript_205645:: @ 8205645 +PetalburgCity_Gym_EventScript_OpenOHKORoomDoors:: @ 8205645 setvar VAR_0x8004, 8 compare VAR_0x8005, 0 - call_if_eq PetalburgCity_Gym_EventScript_205746 + call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors compare VAR_0x8005, 1 - call_if_eq PetalburgCity_Gym_EventScript_20574B - call PetalburgCity_Gym_EventScript_205733 + call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors + call PetalburgCity_Gym_EventScript_SetOHKORoomDoorMetatiles return -PetalburgCity_Gym_EventScript_205666:: @ 8205666 +PetalburgCity_Gym_EventScript_SetEntranceRoomDoorMetatiles:: @ 8205666 setmetatile 6, 85, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 7, 85, METATILE_PetalburgGym_RoomEntrance_Right, 0 setmetatile 1, 98, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 2, 98, METATILE_PetalburgGym_RoomEntrance_Right, 0 return -PetalburgCity_Gym_EventScript_20568B:: @ 820568B +PetalburgCity_Gym_EventScript_SetSpeedRoomDoorMetatiles:: @ 820568B setmetatile 6, 46, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 7, 46, METATILE_PetalburgGym_RoomEntrance_Right, 0 setmetatile 1, 59, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 2, 59, METATILE_PetalburgGym_RoomEntrance_Right, 0 return -PetalburgCity_Gym_EventScript_2056B0:: @ 82056B0 +PetalburgCity_Gym_EventScript_SetAccuracyRoomDoorMetatiles:: @ 82056B0 setmetatile 6, 59, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 7, 59, METATILE_PetalburgGym_RoomEntrance_Right, 0 setmetatile 1, 72, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 2, 72, METATILE_PetalburgGym_RoomEntrance_Right, 0 return -PetalburgCity_Gym_EventScript_2056D5:: @ 82056D5 +PetalburgCity_Gym_EventScript_SetConfusionRoomDoorMetatiles:: @ 82056D5 setmetatile 1, 20, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 2, 20, METATILE_PetalburgGym_RoomEntrance_Right, 0 return -PetalburgCity_Gym_EventScript_2056E8:: @ 82056E8 +PetalburgCity_Gym_EventScript_SetDefenseRoomDoorMetatiles:: @ 82056E8 setmetatile 6, 20, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 7, 20, METATILE_PetalburgGym_RoomEntrance_Right, 0 setmetatile 1, 33, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 2, 33, METATILE_PetalburgGym_RoomEntrance_Right, 0 return -PetalburgCity_Gym_EventScript_20570D:: @ 820570D +PetalburgCity_Gym_EventScript_SetRecoveryRoomDoorMetatiles:: @ 820570D setmetatile 6, 33, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 7, 33, METATILE_PetalburgGym_RoomEntrance_Right, 0 return -PetalburgCity_Gym_EventScript_205720:: @ 8205720 +PetalburgCity_Gym_EventScript_SetStrengthRoomDoorMetatiles:: @ 8205720 setmetatile 1, 7, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 2, 7, METATILE_PetalburgGym_RoomEntrance_Right, 0 return -PetalburgCity_Gym_EventScript_205733:: @ 8205733 +PetalburgCity_Gym_EventScript_SetOHKORoomDoorMetatiles:: @ 8205733 setmetatile 6, 7, METATILE_PetalburgGym_RoomEntrance_Left, 0 setmetatile 7, 7, METATILE_PetalburgGym_RoomEntrance_Right, 0 return -PetalburgCity_Gym_EventScript_205746:: @ 8205746 - special PetalburgGymSpecial1 +PetalburgCity_Gym_EventScript_SlideOpenRoomDoors:: @ 8205746 + special PetalburgGymSlideOpenRoomDoors waitstate return -PetalburgCity_Gym_EventScript_20574B:: @ 820574B - special PetalburgGymSpecial2 +PetalburgCity_Gym_EventScript_UnlockRoomDoors:: @ 820574B + special PetalburgGymUnlockRoomDoors return -PetalburgCity_Gym_EventScript_20574F:: @ 820574F +PetalburgCity_Gym_EventScript_GymGuide:: @ 820574F lock faceplayer - goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205764 - msgbox PetalburgCity_Gym_Text_206542, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_GymGuidePostVictory + msgbox PetalburgCity_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT release end -PetalburgCity_Gym_EventScript_205764:: @ 8205764 - msgbox PetalburgCity_Gym_Text_2066F3, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_GymGuidePostVictory:: @ 8205764 + msgbox PetalburgCity_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT release end -PetalburgCity_Gym_EventScript_20576E:: @ 820576E +PetalburgCity_Gym_EventScript_LeftGymStatue:: @ 820576E lockall - goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_20578E - goto PetalburgCity_Gym_EventScript_205798 + goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_GymStatueCertified + goto PetalburgCity_Gym_EventScript_GymStatue end -PetalburgCity_Gym_EventScript_20577E:: @ 820577E +PetalburgCity_Gym_EventScript_RightGymStatue:: @ 820577E lockall - goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_20578E - goto PetalburgCity_Gym_EventScript_205798 + goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_GymStatueCertified + goto PetalburgCity_Gym_EventScript_GymStatue end -PetalburgCity_Gym_EventScript_20578E:: @ 820578E - msgbox PetalburgCity_Gym_Text_207467, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_GymStatueCertified:: @ 820578E + msgbox PetalburgCity_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT releaseall end -PetalburgCity_Gym_EventScript_205798:: @ 8205798 - msgbox PetalburgCity_Gym_Text_20744C, MSGBOX_DEFAULT +PetalburgCity_Gym_EventScript_GymStatue:: @ 8205798 + msgbox PetalburgCity_Gym_Text_GymStatue, MSGBOX_DEFAULT releaseall end -PetalburgCity_Gym_Text_2057A2: @ 82057A2 +PetalburgCity_Gym_Text_DadYoureHereWithYourPokemon: @ 82057A2 .string "DAD: Hm?\p" .string "Well, if it isn't {PLAYER}!\n" .string "So you're all finished moving in?\p" @@ -1250,15 +1238,15 @@ PetalburgCity_Gym_Text_2057A2: @ 82057A2 .string "That's great news!\n" .string "I'll be looking forward to it!$" -PetalburgCity_Gym_Text_2058B1: @ 82058B1 +PetalburgCity_Gym_Text_WallyIdLikeAPokemon: @ 82058B1 .string "Um… I…\n" .string "I'd like to get a POKéMON, please…$" -PetalburgCity_Gym_Text_2058DB: @ 82058DB +PetalburgCity_Gym_Text_DadOhYoureWallyRight: @ 82058DB .string "DAD: Hm? You're… Uh… Oh, right.\n" .string "You're WALLY, right?$" -PetalburgCity_Gym_Text_205910: @ 8205910 +PetalburgCity_Gym_Text_WallyIveNeverCaughtAPokemon: @ 8205910 .string "WALLY: I'm going to go stay with my\n" .string "relatives in VERDANTURF TOWN.\p" .string "I thought I would be lonely by myself,\n" @@ -1266,38 +1254,38 @@ PetalburgCity_Gym_Text_205910: @ 8205910 .string "But I've never caught a POKéMON before.\n" .string "I don't know how…$" -PetalburgCity_Gym_Text_2059D8: @ 82059D8 +PetalburgCity_Gym_Text_DadHmISee: @ 82059D8 .string "DAD: Hm. I see.$" -PetalburgCity_Gym_Text_2059E8: @ 82059E8 +PetalburgCity_Gym_Text_DadPlayerGoWithWally: @ 82059E8 .string "DAD: {PLAYER}, you heard that,\n" .string "right?\p" .string "Go with WALLY and make sure that he\n" .string "safely catches a POKéMON.$" -PetalburgCity_Gym_Text_205A46: @ 8205A46 +PetalburgCity_Gym_Text_IllLoanYouMyZigzagoon: @ 8205A46 .string "WALLY, here, I'll loan you my POKéMON.\p" .string "WALLY received a ZIGZAGOON!$" -PetalburgCity_Gym_Text_205A89: @ 8205A89 +PetalburgCity_Gym_Text_WallyThankYouAndDadGivesPokeBall: @ 8205A89 .string "WALLY: Oh, wow!\n" .string "A POKéMON!\p" .string "DAD: Hm. I'll give you a POKé BALL, too.\n" .string "Go for it!\p" .string "WALLY received a POKé BALL!$" -PetalburgCity_Gym_Text_205AF4: @ 8205AF4 +PetalburgCity_Gym_Text_WallyOhWowThankYou: @ 8205AF4 .string "WALLY: Oh, wow!\n" .string "Thank you!$" -PetalburgCity_Gym_Text_205B0F: @ 8205B0F +PetalburgCity_Gym_Text_WouldYouReallyComeWithMe: @ 8205B0F .string "{PLAYER}… Would you really come\n" .string "with me?$" -PetalburgCity_Gym_Text_205B32: @ 8205B32 +PetalburgCity_Gym_Text_DadSoDidItWorkOut: @ 8205B32 .string "DAD: So, did it work out?$" -PetalburgCity_Gym_Text_205B4C: @ 8205B4C +PetalburgCity_Gym_Text_WallyThankYouBye: @ 8205B4C .string "WALLY: Thank you, yes, it did.\n" .string "Here's your POKéMON back.\p" .string "{PLAYER}, thank you for coming along\n" @@ -1310,7 +1298,7 @@ PetalburgCity_Gym_Text_205B4C: @ 8205B4C .string "so I have to go!\p" .string "Bye, {PLAYER}!$" -PetalburgCity_Gym_Text_205C40: @ 8205C40 +PetalburgCity_Gym_Text_DadGoCollectBadges: @ 8205C40 .string "DAD: Now…\p" .string "{PLAYER}, if you want to become a\n" .string "strong TRAINER, here's my advice.\p" @@ -1327,7 +1315,7 @@ PetalburgCity_Gym_Text_205C40: @ 8205C40 .string "But that's only after you become\n" .string "stronger.$" -PetalburgCity_Gym_Text_205DB4: @ 8205DB4 +PetalburgCity_Gym_Text_NormanGoToRustboro: @ 8205DB4 .string "DAD: Hm? Aren't you going to the\n" .string "POKéMON GYM in RUSTBORO CITY?\p" .string "There's no challenge for me to\n" @@ -1337,7 +1325,7 @@ PetalburgCity_Gym_Text_205DB4: @ 8205DB4 .string "I'll battle you, {PLAYER}, when you\n" .string "can show me four GYM BADGES, okay?$" -PetalburgCity_Gym_Text_205EAE: @ 8205EAE +PetalburgCity_Gym_Text_NormanGoToDewford: @ 8205EAE .string "DAD: I see… So, you've beaten\n" .string "the GYM LEADER in RUSTBORO CITY.\p" .string "But there are many more TRAINERS\n" @@ -1346,13 +1334,13 @@ PetalburgCity_Gym_Text_205EAE: @ 8205EAE .string "GYM LEADER named BRAWLY.\p" .string "You should go challenge him.$" -PetalburgCity_Gym_Text_205F87: @ 8205F87 +PetalburgCity_Gym_Text_YouHaveGottenStronger: @ 8205F87 .string "DAD: Hm… {PLAYER}, you have gotten\n" .string "stronger.\p" .string "I can tell by the number of BADGES\n" .string "that you've earned.$" -PetalburgCity_Gym_Text_205FE5: @ 8205FE5 +PetalburgCity_Gym_Text_NormanIntro: @ 8205FE5 .string "DAD: Hm…\n" .string "So, you did get four GYM BADGES.\p" .string "Fine, as I promised, we will have\n" @@ -1366,7 +1354,7 @@ PetalburgCity_Gym_Text_205FE5: @ 8205FE5 .string "{PLAYER}, you'd better give it your\n" .string "best shot, too!$" -PetalburgCity_Gym_Text_206107: @ 8206107 +PetalburgCity_Gym_Text_NormanDefeat: @ 8206107 .string "…\p" .string "I… I can't…\p" .string "I can't believe it. {PLAYER}…\p" @@ -1374,11 +1362,11 @@ PetalburgCity_Gym_Text_206107: @ 8206107 .string "But, rules are rules!\n" .string "Here, take this.$" -PetalburgCity_Gym_Text_206162: @ 8206162 +PetalburgCity_Gym_Text_ReceivedBalanceBadge: @ 8206162 .string "{PLAYER} received the BALANCE BADGE\n" .string "from DAD!$" -PetalburgCity_Gym_Text_20618A: @ 820618A +PetalburgCity_Gym_Text_ExplainBalanceBadgeTakeThis: @ 820618A .string "DAD: With that BADGE, the DEFENSE\n" .string "of all your POKéMON will increase.\p" .string "POKéMON that know the HM move SURF\n" @@ -1386,7 +1374,7 @@ PetalburgCity_Gym_Text_20618A: @ 820618A .string "This is my gift to you. {PLAYER}, I'm\n" .string "sure you can use it correctly.$" -PetalburgCity_Gym_Text_206254: @ 8206254 +PetalburgCity_Gym_Text_ExplainFacade: @ 8206254 .string "DAD: TM42 contains FACADE.\p" .string "It doubles the power of moves if\n" .string "the POKéMON is poisoned, paralyzed,\l" @@ -1394,23 +1382,23 @@ PetalburgCity_Gym_Text_206254: @ 8206254 .string "It might be able to turn a bad\n" .string "situation into an advantage.$" -PetalburgCity_Gym_Text_2062FB: @ 82062FB +PetalburgCity_Gym_Text_DadHappyAndSad: @ 82062FB .string "DAD: As the GYM LEADER, I can't\n" .string "express how upset I am…\p" .string "But as a father, it makes me both\n" .string "happy and a little sad. It's odd…$" -PetalburgCity_Gym_Text_206377: @ 8206377 +PetalburgCity_Gym_Text_PleaseComeWithMe: @ 8206377 .string "Ah, there you are, {PLAYER}{KUN}!\p" .string "Please come with me.\n" .string "I have something I want you to have.$" -PetalburgCity_Gym_Text_2063CA: @ 82063CA +PetalburgCity_Gym_Text_LetMeBorrowPlayer: @ 82063CA .string "NORMAN, you don't mind, do you?\p" .string "Let me borrow your {PLAYER}{KUN} for\n" .string "a minute or two.$" -PetalburgCity_Gym_Text_206417: @ 8206417 +PetalburgCity_Gym_Text_DadGoingToKeepTraining: @ 8206417 .string "DAD: {PLAYER}, you should go visit\n" .string "your mother every so often.\p" .string "I'm going to stay here and redouble\n" @@ -1418,13 +1406,13 @@ PetalburgCity_Gym_Text_206417: @ 8206417 .string "It would bother me as a TRAINER to\n" .string "not avenge my loss to you, {PLAYER}!$" -PetalburgCity_Gym_Text_2064C3: @ 82064C3 +PetalburgCity_Gym_Text_DadNoAmountOfTrainingIsEnough: @ 82064C3 .string "DAD: {PLAYER}, how are things going?\p" .string "The world of POKéMON is deep.\p" .string "I honestly think that no amount of\n" .string "training would ever be enough.$" -PetalburgCity_Gym_Text_206542: @ 8206542 +PetalburgCity_Gym_Text_GymGuideAdvice: @ 8206542 .string "Hey, how's it going, CHAMPION-\n" .string "bound {PLAYER}?\p" .string "The doors in this GYM open when you\n" @@ -1442,53 +1430,53 @@ PetalburgCity_Gym_Text_206542: @ 8206542 .string "Once you've chosen the door…\n" .string "Well, hey, go for it!$" -PetalburgCity_Gym_Text_2066F3: @ 82066F3 +PetalburgCity_Gym_Text_GymGuidePostVictory: @ 82066F3 .string "{PLAYER}! Whoa! You've overcome even\n" .string "your own father!\p" .string "Like, whoa!\n" .string "What a stunning turn of events!$" -PetalburgCity_Gym_Text_20674F: @ 820674F +PetalburgCity_Gym_Text_RandallIntro: @ 820674F .string "The ability to attack before the\n" .string "opponent…\p" .string "Just that alone puts me at a great\n" .string "advantage, don't you agree?$" -PetalburgCity_Gym_Text_2067B9: @ 82067B9 +PetalburgCity_Gym_Text_RandallDefeat: @ 82067B9 .string "That was a magnificent battle!$" -PetalburgCity_Gym_Text_2067D8: @ 82067D8 +PetalburgCity_Gym_Text_RandallPostBattle: @ 82067D8 .string "Go on to the next room where a new\n" .string "challenge awaits you.\p" .string "At the left is the CONFUSION ROOM.\p" .string "The right door leads to the DEFENSE\n" .string "ROOM.$" -PetalburgCity_Gym_Text_20685E: @ 820685E +PetalburgCity_Gym_Text_RandallPostBadge: @ 820685E .string "Whomever you beat, and whomever you\n" .string "may lose to, you never shirk from\l" .string "training yourself and your POKéMON.\p" .string "That's what I think being a\n" .string "GYM LEADER is all about.$" -PetalburgCity_Gym_Text_2068FD: @ 82068FD +PetalburgCity_Gym_Text_ParkerIntro: @ 82068FD .string "This is the CONFUSION ROOM.\p" .string "Let me see how well bonded you are\n" .string "with your POKéMON!$" -PetalburgCity_Gym_Text_20694F: @ 820694F +PetalburgCity_Gym_Text_ParkerDefeat: @ 820694F .string "I couldn't confuse your team enough…\n" .string "You share a strong bond together.$" -PetalburgCity_Gym_Text_206996: @ 8206996 +PetalburgCity_Gym_Text_ParkerPostBattle: @ 8206996 .string "The next room is the STRENGTH ROOM.\n" .string "Can you withstand brute force?$" -PetalburgCity_Gym_Text_2069D9: @ 82069D9 +PetalburgCity_Gym_Text_ParkerPostBadge: @ 82069D9 .string "After you beat our LEADER, the\n" .string "training has become a lot tougher.$" -PetalburgCity_Gym_Text_206A1B: @ 8206A1B +PetalburgCity_Gym_Text_GeorgeIntro: @ 8206A1B .string "Just when you think you're going to\n" .string "win, your opponent restores HP…\p" .string "Can you just imagine how awful that\n" @@ -1496,11 +1484,11 @@ PetalburgCity_Gym_Text_206A1B: @ 8206A1B .string "I'll show you exactly how awful it\n" .string "feels!$" -PetalburgCity_Gym_Text_206AB8: @ 8206AB8 +PetalburgCity_Gym_Text_GeorgeDefeat: @ 8206AB8 .string "I couldn't restore HP enough…\n" .string "What ATTACK power…$" -PetalburgCity_Gym_Text_206AE9: @ 8206AE9 +PetalburgCity_Gym_Text_GeorgePostBattle: @ 8206AE9 .string "I should have expected no less from\n" .string "our LEADER's kid.\p" .string "No, wait! A TRAINER's abilities are\n" @@ -1509,21 +1497,21 @@ PetalburgCity_Gym_Text_206AE9: @ 8206AE9 .string "weren't enough.\p" .string "Go on! The ONE-HIT KO ROOM is next.$" -PetalburgCity_Gym_Text_206BB1: @ 8206BB1 +PetalburgCity_Gym_Text_GeorgePostBadge: @ 8206BB1 .string "I'm going to keep training at GYMS.\n" .string "One day, I'll become a LEADER.$" -PetalburgCity_Gym_Text_206BF4: @ 8206BF4 +PetalburgCity_Gym_Text_BerkeIntro: @ 8206BF4 .string "I'm not going to take it easy just\n" .string "because you're our LEADER's kid.\p" .string "I'll show you how horrid it is for\n" .string "a POKéMON to take a critical hit!$" -PetalburgCity_Gym_Text_206C7D: @ 8206C7D +PetalburgCity_Gym_Text_BerkeDefeat: @ 8206C7D .string "Your power…\n" .string "You're the real deal.$" -PetalburgCity_Gym_Text_206C9F: @ 8206C9F +PetalburgCity_Gym_Text_BerkePostBattle: @ 8206C9F .string "Your father really is strong.\n" .string "He's a TRAINER worth my respect.\p" .string "And, I sense the same glow coming\n" @@ -1531,21 +1519,21 @@ PetalburgCity_Gym_Text_206C9F: @ 8206C9F .string "I hope that you'll stage a terrific\n" .string "battle with your father!$" -PetalburgCity_Gym_Text_206D56: @ 8206D56 +PetalburgCity_Gym_Text_BerkePostBadge: @ 8206D56 .string "Since your dad became the LEADER,\n" .string "the TRAINERS of PETALBURG CITY have\l" .string "become a lot tougher.$" -PetalburgCity_Gym_Text_206DB2: @ 8206DB2 +PetalburgCity_Gym_Text_MaryIntro: @ 8206DB2 .string "Giggle…\n" .string "This is the ACCURACY ROOM.\p" .string "It's pretty nasty when every attack\n" .string "lands without fail.$" -PetalburgCity_Gym_Text_206E0D: @ 8206E0D +PetalburgCity_Gym_Text_MaryDefeat: @ 8206E0D .string "You were a cut above me…$" -PetalburgCity_Gym_Text_206E26: @ 8206E26 +PetalburgCity_Gym_Text_MaryPostBattle: @ 8206E26 .string "There are some even stronger\n" .string "TRAINERS waiting for you.\p" .string "The left is the DEFENSE ROOM, and\n" @@ -1553,20 +1541,20 @@ PetalburgCity_Gym_Text_206E26: @ 8206E26 .string "Your POKéMON's ATTACK power will be\n" .string "on trial either way.$" -PetalburgCity_Gym_Text_206ED8: @ 8206ED8 +PetalburgCity_Gym_Text_MaryPostBadge: @ 8206ED8 .string "Do you know what we're trying to\n" .string "achieve as TRAINERS?\p" .string "We're striving to become soul mates\n" .string "with our POKéMON.$" -PetalburgCity_Gym_Text_206F44: @ 8206F44 +PetalburgCity_Gym_Text_AlexiaIntro: @ 8206F44 .string "The higher the DEFENSE, the more\n" .string "reckless I can be in attack.$" -PetalburgCity_Gym_Text_206F82: @ 8206F82 +PetalburgCity_Gym_Text_AlexiaDefeat: @ 8206F82 .string "Our defenses weren't enough…$" -PetalburgCity_Gym_Text_206F9F: @ 8206F9F +PetalburgCity_Gym_Text_AlexiaPostBattle: @ 8206F9F .string "I think you've taught me a valuable\n" .string "lesson here.\p" .string "Now, go on! The left door goes to\n" @@ -1576,82 +1564,83 @@ PetalburgCity_Gym_Text_206F9F: @ 8206F9F .string "Both of them have TRAINERS who are\n" .string "skilled at offense.$" -PetalburgCity_Gym_Text_207069: @ 8207069 +PetalburgCity_Gym_Text_AlexiaPostBadge: @ 8207069 .string "Hi! Have you tried using SURF?$" -PetalburgCity_Gym_Text_207088: @ 8207088 +PetalburgCity_Gym_Text_JodyIntro: @ 8207088 .string "Our GYM LEADER told us to go all out\n" .string "and beat you.\p" .string "Even if you happen to be the\n" .string "LEADER's kid!$" -PetalburgCity_Gym_Text_2070E6: @ 82070E6 +PetalburgCity_Gym_Text_JodyDefeat: @ 82070E6 .string "But… I went all out!$" -PetalburgCity_Gym_Text_2070FB: @ 82070FB +PetalburgCity_Gym_Text_JodyPostBattle: @ 82070FB .string "The way you use your POKéMON…\n" .string "It's like your father's style.\p" .string "Go on through! The GYM LEADER, your\n" .string "father, is waiting!$" -PetalburgCity_Gym_Text_207170: @ 8207170 +PetalburgCity_Gym_Text_JodyPostBadge: @ 8207170 .string "Sure, it's fine to make your POKéMON\n" .string "stronger.\p" .string "But what decides the winner?\p" .string "Why, it's the feelings TRAINERS have\n" .string "for their POKéMON.$" -PetalburgCity_Gym_Text_2071F4: @ 82071F4 +PetalburgCity_Gym_Text_DoorAppearsLocked: @ 82071F4 .string "This door appears to be locked\n" .string "right now…$" -PetalburgCity_Gym_Text_20721E: @ 820721E +PetalburgCity_Gym_Text_EnterSpeedRoom: @ 820721E .string "“SPEED ROOM,” the sign says.\p" .string "Do you want to go through?$" -PetalburgCity_Gym_Text_207256: @ 8207256 +@ Unused +PetalburgCity_Gym_Text_DoorAppearsLocked2: @ 8207256 .string "This door appears to be locked\n" .string "right now…$" -PetalburgCity_Gym_Text_207280: @ 8207280 +PetalburgCity_Gym_Text_EnterAccuracyRoom: @ 8207280 .string "“ACCURACY ROOM,” the sign says.\p" .string "Do you want to go through?$" -PetalburgCity_Gym_Text_2072BB: @ 82072BB +PetalburgCity_Gym_Text_EnterConfusionRoom: @ 82072BB .string "“CONFUSION ROOM,” the sign says.\p" .string "Do you want to go through?$" -PetalburgCity_Gym_Text_2072F7: @ 82072F7 +PetalburgCity_Gym_Text_EnterDefenseRoom: @ 82072F7 .string "“DEFENSE ROOM,” the sign says.\p" .string "Do you want to go through?$" -PetalburgCity_Gym_Text_207331: @ 8207331 +PetalburgCity_Gym_Text_EnterRecoveryRoom: @ 8207331 .string "“RECOVERY ROOM,” the sign says.\p" .string "Do you want to go through?$" -PetalburgCity_Gym_Text_20736C: @ 820736C +PetalburgCity_Gym_Text_EnterStrengthRoom: @ 820736C .string "“STRENGTH ROOM,” the sign says.\p" .string "Do you want to go through?$" -PetalburgCity_Gym_Text_2073A7: @ 82073A7 +PetalburgCity_Gym_Text_EnterOHKORoom: @ 82073A7 .string "“ONE-HIT KO ROOM,” the sign says.\p" .string "Do you want to go through?$" -PetalburgCity_Gym_Text_2073E4: @ 82073E4 +PetalburgCity_Gym_Text_EnterGymLeadersRoom: @ 82073E4 .string "“GYM LEADER'S ROOM\p" .string "“See for yourself what POKéMON await\n" .string "you!” the sign says.\p" .string "Do you want to go through?$" -PetalburgCity_Gym_Text_20744C: @ 820744C +PetalburgCity_Gym_Text_GymStatue: @ 820744C .string "PETALBURG CITY POKéMON GYM$" -PetalburgCity_Gym_Text_207467: @ 8207467 +PetalburgCity_Gym_Text_GymStatueCertified: @ 8207467 .string "PETALBURG CITY POKéMON GYM\p" .string "NORMAN'S CERTIFIED TRAINERS:\n" .string "{PLAYER}$" -PetalburgCity_Gym_Text_2074A2: @ 82074A2 +PetalburgCity_Gym_Text_NormanPreRematch: @ 82074A2 .string "DAD: {PLAYER}…\n" .string "I had a feeling that you would come.\p" .string "I would never refuse to accept\n" @@ -1663,18 +1652,18 @@ PetalburgCity_Gym_Text_2074A2: @ 82074A2 .string "we owe it to each other to do the best\l" .string "we can. Isn't that right, {PLAYER}?$" -PetalburgCity_Gym_Text_2075CE: @ 82075CE +PetalburgCity_Gym_Text_NormanRematchDefeat: @ 82075CE .string "Uh… Haha…\n" .string "Maybe that was going too hard…$" -PetalburgCity_Gym_Text_2075F7: @ 82075F7 +PetalburgCity_Gym_Text_NormanPostRematch: @ 82075F7 .string "DAD: {PLAYER}…\n" .string "What is your dream?\p" .string "My dream…\n" .string "Hahaha…\l" .string "It has already come true, actually.$" -PetalburgCity_Gym_Text_20764A: @ 820764A +PetalburgCity_Gym_Text_NormanRematchNeedTwoMons: @ 820764A .string "DAD: {PLAYER}…\n" .string "I had a feeling that you would come.\p" .string "I would never refuse to accept\n" diff --git a/data/maps/PetalburgCity_House1/map.json b/data/maps/PetalburgCity_House1/map.json index 68e9a4dce9..ce3dc3b162 100644 --- a/data/maps/PetalburgCity_House1/map.json +++ b/data/maps/PetalburgCity_House1/map.json @@ -24,7 +24,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_House1_EventScript_2077A3", + "script": "PetalburgCity_House1_EventScript_Woman", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_House1_EventScript_20779A", + "script": "PetalburgCity_House1_EventScript_Man", "flag": "0" } ], diff --git a/data/maps/PetalburgCity_House1/scripts.inc b/data/maps/PetalburgCity_House1/scripts.inc index cb511bbed0..2fe46437ee 100644 --- a/data/maps/PetalburgCity_House1/scripts.inc +++ b/data/maps/PetalburgCity_House1/scripts.inc @@ -1,20 +1,20 @@ PetalburgCity_House1_MapScripts:: @ 8207799 .byte 0 -PetalburgCity_House1_EventScript_20779A:: @ 820779A - msgbox PetalburgCity_House1_Text_2077AC, MSGBOX_NPC +PetalburgCity_House1_EventScript_Man:: @ 820779A + msgbox PetalburgCity_House1_Text_TravelingIsWonderful, MSGBOX_NPC end -PetalburgCity_House1_EventScript_2077A3:: @ 82077A3 - msgbox PetalburgCity_House1_Text_2077FB, MSGBOX_NPC +PetalburgCity_House1_EventScript_Woman:: @ 82077A3 + msgbox PetalburgCity_House1_Text_GoOnAdventure, MSGBOX_NPC end -PetalburgCity_House1_Text_2077AC: @ 82077AC +PetalburgCity_House1_Text_TravelingIsWonderful: @ 82077AC .string "Traveling is wonderful!\p" .string "When I was young, I roamed the seas\n" .string "and the mountains!$" -PetalburgCity_House1_Text_2077FB: @ 82077FB +PetalburgCity_House1_Text_GoOnAdventure: @ 82077FB .string "Sigh…\p" .string "I wish I could go on an adventure\n" .string "with some POKéMON…\p" diff --git a/data/maps/PetalburgCity_House2/map.json b/data/maps/PetalburgCity_House2/map.json index b6c0107a0c..9354b49269 100644 --- a/data/maps/PetalburgCity_House2/map.json +++ b/data/maps/PetalburgCity_House2/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_House2_EventScript_2078F3", + "script": "PetalburgCity_House2_EventScript_Woman", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_House2_EventScript_2078FC", + "script": "PetalburgCity_House2_EventScript_SchoolKid", "flag": "0" } ], diff --git a/data/maps/PetalburgCity_House2/scripts.inc b/data/maps/PetalburgCity_House2/scripts.inc index 2650e970c6..3be93cbd04 100644 --- a/data/maps/PetalburgCity_House2/scripts.inc +++ b/data/maps/PetalburgCity_House2/scripts.inc @@ -1,21 +1,21 @@ PetalburgCity_House2_MapScripts:: @ 82078F2 .byte 0 -PetalburgCity_House2_EventScript_2078F3:: @ 82078F3 - msgbox PetalburgCity_House2_Text_207905, MSGBOX_NPC +PetalburgCity_House2_EventScript_Woman:: @ 82078F3 + msgbox PetalburgCity_House2_Text_NormanBecameGymLeader, MSGBOX_NPC end -PetalburgCity_House2_EventScript_2078FC:: @ 82078FC - msgbox PetalburgCity_House2_Text_207969, MSGBOX_NPC +PetalburgCity_House2_EventScript_SchoolKid:: @ 82078FC + msgbox PetalburgCity_House2_Text_BattledNormanOnce, MSGBOX_NPC end -PetalburgCity_House2_Text_207905: @ 8207905 +PetalburgCity_House2_Text_NormanBecameGymLeader: @ 8207905 .string "NORMAN became our town's new\n" .string "GYM LEADER.\p" .string "I think he called his family over from\n" .string "somewhere far away.$" -PetalburgCity_House2_Text_207969: @ 8207969 +PetalburgCity_House2_Text_BattledNormanOnce: @ 8207969 .string "I battled NORMAN once, but, whew,\n" .string "he was way too strong.\p" .string "How would I put it?\p" diff --git a/data/maps/PetalburgCity_Mart/map.json b/data/maps/PetalburgCity_Mart/map.json index b08837e803..82519cb5cb 100644 --- a/data/maps/PetalburgCity_Mart/map.json +++ b/data/maps/PetalburgCity_Mart/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Mart_EventScript_207D69", + "script": "PetalburgCity_Mart_EventScript_Clerk", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Mart_EventScript_207DE8", + "script": "PetalburgCity_Mart_EventScript_Man", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Mart_EventScript_207DDF", + "script": "PetalburgCity_Mart_EventScript_Boy", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_Mart_EventScript_207DD6", + "script": "PetalburgCity_Mart_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/PetalburgCity_Mart/scripts.inc b/data/maps/PetalburgCity_Mart/scripts.inc index 2bd72b69e3..f27f0aeb5d 100644 --- a/data/maps/PetalburgCity_Mart/scripts.inc +++ b/data/maps/PetalburgCity_Mart/scripts.inc @@ -1,19 +1,19 @@ PetalburgCity_Mart_MapScripts:: @ 8207D68 .byte 0 -PetalburgCity_Mart_EventScript_207D69:: @ 8207D69 +PetalburgCity_Mart_EventScript_Clerk:: @ 8207D69 lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - goto_if_set FLAG_PETALBURG_MART_EXPANDED_ITEMS, PetalburgCity_Mart_EventScript_207DA6 - pokemart PetalburgCity_Mart_Pokemart_207D8C - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + goto_if_set FLAG_PETALBURG_MART_EXPANDED_ITEMS, PetalburgCity_Mart_EventScript_ExpandedItems + pokemart PetalburgCity_Mart_Pokemart_Basic + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -PetalburgCity_Mart_Pokemart_207D8C: @ 8207D8C +PetalburgCity_Mart_Pokemart_Basic: @ 8207D8C .2byte ITEM_POKE_BALL .2byte ITEM_POTION .2byte ITEM_ANTIDOTE @@ -29,14 +29,14 @@ PetalburgCity_Mart_Pokemart_207D8C: @ 8207D8C release end -PetalburgCity_Mart_EventScript_207DA6:: @ 8207DA6 - pokemart PetalburgCity_Mart_Pokemart_207DB8 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT +PetalburgCity_Mart_EventScript_ExpandedItems:: @ 8207DA6 + pokemart PetalburgCity_Mart_Pokemart_Expanded + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -PetalburgCity_Mart_Pokemart_207DB8: @ 8207DB8 +PetalburgCity_Mart_Pokemart_Expanded: @ 8207DB8 .2byte ITEM_POKE_BALL .2byte ITEM_GREAT_BALL .2byte ITEM_POTION @@ -54,30 +54,30 @@ PetalburgCity_Mart_Pokemart_207DB8: @ 8207DB8 release end -PetalburgCity_Mart_EventScript_207DD6:: @ 8207DD6 - msgbox PetalburgCity_Mart_Text_207DF1, MSGBOX_NPC +PetalburgCity_Mart_EventScript_Woman:: @ 8207DD6 + msgbox PetalburgCity_Mart_Text_WeakWillGrowStronger, MSGBOX_NPC end -PetalburgCity_Mart_EventScript_207DDF:: @ 8207DDF - msgbox PetalburgCity_Mart_Text_207E60, MSGBOX_NPC +PetalburgCity_Mart_EventScript_Boy:: @ 8207DDF + msgbox PetalburgCity_Mart_Text_RepelIsUseful, MSGBOX_NPC end -PetalburgCity_Mart_EventScript_207DE8:: @ 8207DE8 - msgbox PetalburgCity_Mart_Text_207EB0, MSGBOX_NPC +PetalburgCity_Mart_EventScript_Man:: @ 8207DE8 + msgbox PetalburgCity_Mart_Text_TakeSomeAntidotesWithYou, MSGBOX_NPC end -PetalburgCity_Mart_Text_207DF1: @ 8207DF1 +PetalburgCity_Mart_Text_WeakWillGrowStronger: @ 8207DF1 .string "Even if a POKéMON is weak now,\n" .string "it will grow stronger.\p" .string "The most important thing is love!\n" .string "Love for your POKéMON!$" -PetalburgCity_Mart_Text_207E60: @ 8207E60 +PetalburgCity_Mart_Text_RepelIsUseful: @ 8207E60 .string "Do you use REPEL?\n" .string "It keeps POKéMON away, so it's\l" .string "useful when you're in a hurry.$" -PetalburgCity_Mart_Text_207EB0: @ 8207EB0 +PetalburgCity_Mart_Text_TakeSomeAntidotesWithYou: @ 8207EB0 .string "Do you have any ANTIDOTES with\n" .string "you?\p" .string "If you walk around with a poisoned\n" diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/map.json b/data/maps/PetalburgCity_PokemonCenter_1F/map.json index eeb22dca42..d673ecf4dc 100644 --- a/data/maps/PetalburgCity_PokemonCenter_1F/map.json +++ b/data/maps/PetalburgCity_PokemonCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_PokemonCenter_1F_EventScript_2079FC", + "script": "PetalburgCity_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_PokemonCenter_1F_EventScript_291539", + "script": "MysteryEventClub_EventScript_Man", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_PokemonCenter_1F_EventScript_207A0A", + "script": "PetalburgCity_PokemonCenter_1F_EventScript_FatMan", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_PokemonCenter_1F_EventScript_207A13", + "script": "PetalburgCity_PokemonCenter_1F_EventScript_Youngster", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_PokemonCenter_1F_EventScript_207A1C", + "script": "PetalburgCity_PokemonCenter_1F_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc index 286b9f7d95..151cd8afb4 100644 --- a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc @@ -1,79 +1,80 @@ PetalburgCity_PokemonCenter_1F_MapScripts:: @ 82079E8 map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, PetalburgCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 PetalburgCity_PokemonCenter_1F_OnTransition: @ 82079F3 setrespawn HEAL_LOCATION_PETALBURG_CITY - call PetalburgCity_PokemonCenter_1F_EventScript_2718DE + call Common_EventScript_UpdateBrineyLocation end -PetalburgCity_PokemonCenter_1F_EventScript_2079FC:: @ 82079FC +@ VAR_0x800B is the Nurse's object event id +PetalburgCity_PokemonCenter_1F_EventScript_Nurse:: @ 82079FC setvar VAR_0x800B, 1 - call PetalburgCity_PokemonCenter_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -PetalburgCity_PokemonCenter_1F_EventScript_207A0A:: @ 8207A0A - msgbox PetalburgCity_PokemonCenter_1F_Text_207A76, MSGBOX_NPC +PetalburgCity_PokemonCenter_1F_EventScript_FatMan:: @ 8207A0A + msgbox PetalburgCity_PokemonCenter_1F_Text_PCStorageSystem, MSGBOX_NPC end -PetalburgCity_PokemonCenter_1F_EventScript_207A13:: @ 8207A13 - msgbox PetalburgCity_PokemonCenter_1F_Text_207AD6, MSGBOX_NPC +PetalburgCity_PokemonCenter_1F_EventScript_Youngster:: @ 8207A13 + msgbox PetalburgCity_PokemonCenter_1F_Text_OranBerryRegainedHP, MSGBOX_NPC end -PetalburgCity_PokemonCenter_1F_EventScript_207A1C:: @ 8207A1C +PetalburgCity_PokemonCenter_1F_EventScript_Woman:: @ 8207A1C lock faceplayer - msgbox PetalburgCity_PokemonCenter_1F_Text_207B09, MSGBOX_DEFAULT + msgbox PetalburgCity_PokemonCenter_1F_Text_ManyTypesOfPokemon, MSGBOX_DEFAULT specialvar VAR_RESULT, IsStarterInParty compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_207A38 + goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_SayStarterTypeInfo release end -PetalburgCity_PokemonCenter_1F_EventScript_207A38:: @ 8207A38 +PetalburgCity_PokemonCenter_1F_EventScript_SayStarterTypeInfo:: @ 8207A38 compare VAR_STARTER_MON, 0 - call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_207A5B + call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_SayTreeckoType compare VAR_STARTER_MON, 1 - call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_207A64 + call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_SayTorchicType compare VAR_STARTER_MON, 2 - call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_207A6D + call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_SayMudkipType release end -PetalburgCity_PokemonCenter_1F_EventScript_207A5B:: @ 8207A5B - msgbox PetalburgCity_PokemonCenter_1F_Text_207BB0, MSGBOX_DEFAULT +PetalburgCity_PokemonCenter_1F_EventScript_SayTreeckoType:: @ 8207A5B + msgbox PetalburgCity_PokemonCenter_1F_Text_TreeckoIsGrassType, MSGBOX_DEFAULT return -PetalburgCity_PokemonCenter_1F_EventScript_207A64:: @ 8207A64 - msgbox PetalburgCity_PokemonCenter_1F_Text_207C35, MSGBOX_DEFAULT +PetalburgCity_PokemonCenter_1F_EventScript_SayTorchicType:: @ 8207A64 + msgbox PetalburgCity_PokemonCenter_1F_Text_TorchicIsFireType, MSGBOX_DEFAULT return -PetalburgCity_PokemonCenter_1F_EventScript_207A6D:: @ 8207A6D - msgbox PetalburgCity_PokemonCenter_1F_Text_207CB7, MSGBOX_DEFAULT +PetalburgCity_PokemonCenter_1F_EventScript_SayMudkipType:: @ 8207A6D + msgbox PetalburgCity_PokemonCenter_1F_Text_MudkipIsWaterType, MSGBOX_DEFAULT return -PetalburgCity_PokemonCenter_1F_Text_207A76: @ 8207A76 +PetalburgCity_PokemonCenter_1F_Text_PCStorageSystem: @ 8207A76 .string "That PC-based POKéMON Storage\n" .string "System…\p" .string "Whoever made it must be some kind\n" .string "of a scientific wizard!$" -PetalburgCity_PokemonCenter_1F_Text_207AD6: @ 8207AD6 +PetalburgCity_PokemonCenter_1F_Text_OranBerryRegainedHP: @ 8207AD6 .string "When my POKéMON ate an\n" .string "ORAN BERRY, it regained HP!$" -PetalburgCity_PokemonCenter_1F_Text_207B09: @ 8207B09 +PetalburgCity_PokemonCenter_1F_Text_ManyTypesOfPokemon: @ 8207B09 .string "There are many types of POKéMON.\p" .string "All types have their strengths and\n" .string "weaknesses against other types.\p" .string "Depending on the types of POKéMON,\n" .string "a battle could be easy or hard.$" -PetalburgCity_PokemonCenter_1F_Text_207BB0: @ 8207BB0 +PetalburgCity_PokemonCenter_1F_Text_TreeckoIsGrassType: @ 8207BB0 .string "For example, your TREECKO\n" .string "is a GRASS type.\p" .string "It's strong against the WATER and\n" @@ -81,7 +82,7 @@ PetalburgCity_PokemonCenter_1F_Text_207BB0: @ 8207BB0 .string "But, it's weak against FIRE-type\n" .string "POKéMON.$" -PetalburgCity_PokemonCenter_1F_Text_207C35: @ 8207C35 +PetalburgCity_PokemonCenter_1F_Text_TorchicIsFireType: @ 8207C35 .string "For example, your TORCHIC\n" .string "is a FIRE type.\p" .string "It's strong against the GRASS and\n" @@ -89,7 +90,7 @@ PetalburgCity_PokemonCenter_1F_Text_207C35: @ 8207C35 .string "But, it's weak against WATER-type\n" .string "POKéMON.$" -PetalburgCity_PokemonCenter_1F_Text_207CB7: @ 8207CB7 +PetalburgCity_PokemonCenter_1F_Text_MudkipIsWaterType: @ 8207CB7 .string "For example, your MUDKIP\n" .string "is a WATER type.\p" .string "It's strong against the FIRE type.\p" diff --git a/data/maps/PetalburgCity_PokemonCenter_2F/map.json b/data/maps/PetalburgCity_PokemonCenter_2F/map.json index 279c5e44b5..067d6f2373 100644 --- a/data/maps/PetalburgCity_PokemonCenter_2F/map.json +++ b/data/maps/PetalburgCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc index d2370c6b1a..8485ae2c69 100644 --- a/data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ PetalburgCity_PokemonCenter_2F_MapScripts:: @ 8207D41 - map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PetalburgCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, PetalburgCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -PetalburgCity_PokemonCenter_2F_EventScript_207D56:: @ 8207D56 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +PetalburgCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8207D56 + call CableClub_EventScript_Colosseum end -PetalburgCity_PokemonCenter_2F_EventScript_207D5C:: @ 8207D5C - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +PetalburgCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8207D5C + call CableClub_EventScript_TradeCenter end -PetalburgCity_PokemonCenter_2F_EventScript_207D62:: @ 8207D62 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +PetalburgCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 8207D62 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/PetalburgCity_WallysHouse/map.json b/data/maps/PetalburgCity_WallysHouse/map.json index c961d300ca..49af9f43d6 100644 --- a/data/maps/PetalburgCity_WallysHouse/map.json +++ b/data/maps/PetalburgCity_WallysHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_WallysHouse_EventScript_204278", + "script": "PetalburgCity_WallysHouse_EventScript_WallyUncle", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgCity_WallysHouse_EventScript_2042C0", + "script": "PetalburgCity_WallysHouse_EventScript_WallyAunt", "flag": "0" } ], diff --git a/data/maps/PetalburgCity_WallysHouse/scripts.inc b/data/maps/PetalburgCity_WallysHouse/scripts.inc index b285b220c5..2da3bf8704 100644 --- a/data/maps/PetalburgCity_WallysHouse/scripts.inc +++ b/data/maps/PetalburgCity_WallysHouse/scripts.inc @@ -1,71 +1,71 @@ PetalburgCity_WallysHouse_MapScripts:: @ 8204229 - map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_WallysHouse_MapScript2_204247 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PetalburgCity_WallysHouse_MapScript2_204234 + map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_WallysHouse_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PetalburgCity_WallysHouse_OnWarp .byte 0 -PetalburgCity_WallysHouse_MapScript2_204234: @ 8204234 - map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_WallysHouse_EventScript_20423E +PetalburgCity_WallysHouse_OnWarp: @ 8204234 + map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_WallysHouse_EventScript_PlayerUncleFaceEachOther .2byte 0 -PetalburgCity_WallysHouse_EventScript_20423E:: @ 820423E - turnobject EVENT_OBJ_ID_PLAYER, 4 - turnobject 1, 3 +PetalburgCity_WallysHouse_EventScript_PlayerUncleFaceEachOther:: @ 820423E + turnobject EVENT_OBJ_ID_PLAYER, DIR_EAST + turnobject 1, DIR_WEST end -PetalburgCity_WallysHouse_MapScript2_204247: @ 8204247 - map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_WallysHouse_EventScript_204251 +PetalburgCity_WallysHouse_OnFrame: @ 8204247 + map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_WallysHouse_EventScript_GiveHM03Surf .2byte 0 -PetalburgCity_WallysHouse_EventScript_204251:: @ 8204251 +PetalburgCity_WallysHouse_EventScript_GiveHM03Surf:: @ 8204251 lockall - msgbox PetalburgCity_WallysHouse_Text_20446E, MSGBOX_DEFAULT - giveitem_std ITEM_HM03 + msgbox PetalburgCity_WallysHouse_Text_PleaseExcuseUs, MSGBOX_DEFAULT + giveitem ITEM_HM03 setflag FLAG_RECEIVED_HM03 - msgbox PetalburgCity_WallysHouse_Text_20461A, MSGBOX_DEFAULT + msgbox PetalburgCity_WallysHouse_Text_SurfGoAllSortsOfPlaces, MSGBOX_DEFAULT setvar VAR_PETALBURG_CITY_STATE, 5 releaseall end -PetalburgCity_WallysHouse_EventScript_204278:: @ 8204278 +PetalburgCity_WallysHouse_EventScript_WallyUncle:: @ 8204278 lock faceplayer - goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, PetalburgCity_WallysHouse_EventScript_2042AC - goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_2042A2 - goto_if_set FLAG_THANKED_FOR_PLAYING_WITH_WALLY, PetalburgCity_WallysHouse_EventScript_2042B6 - msgbox PetalburgCity_WallysHouse_Text_2042DF, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, PetalburgCity_WallysHouse_EventScript_DefeatedWallyInVictoryRoad + goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_ReceievedHM03Surf + goto_if_set FLAG_THANKED_FOR_PLAYING_WITH_WALLY, PetalburgCity_WallysHouse_EventScript_PlayedWithWally + msgbox PetalburgCity_WallysHouse_Text_ThanksForPlayingWithWally, MSGBOX_DEFAULT setflag FLAG_THANKED_FOR_PLAYING_WITH_WALLY release end -PetalburgCity_WallysHouse_EventScript_2042A2:: @ 82042A2 - msgbox PetalburgCity_WallysHouse_Text_204661, MSGBOX_DEFAULT +PetalburgCity_WallysHouse_EventScript_ReceievedHM03Surf:: @ 82042A2 + msgbox PetalburgCity_WallysHouse_Text_WallyIsComingHomeSoon, MSGBOX_DEFAULT release end -PetalburgCity_WallysHouse_EventScript_2042AC:: @ 82042AC - msgbox PetalburgCity_WallysHouse_Text_204698, MSGBOX_DEFAULT +PetalburgCity_WallysHouse_EventScript_DefeatedWallyInVictoryRoad:: @ 82042AC + msgbox PetalburgCity_WallysHouse_Text_YouMetWallyInEverGrandeCity, MSGBOX_DEFAULT release end -PetalburgCity_WallysHouse_EventScript_2042B6:: @ 82042B6 - msgbox PetalburgCity_WallysHouse_Text_20444D, MSGBOX_DEFAULT +PetalburgCity_WallysHouse_EventScript_PlayedWithWally:: @ 82042B6 + msgbox PetalburgCity_WallysHouse_Text_WonderHowWallyIsDoing, MSGBOX_DEFAULT release end -PetalburgCity_WallysHouse_EventScript_2042C0:: @ 82042C0 +PetalburgCity_WallysHouse_EventScript_WallyAunt:: @ 82042C0 lock faceplayer - goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_2042D5 - msgbox PetalburgCity_WallysHouse_Text_204732, MSGBOX_DEFAULT + goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_ReceivedHM03Surf + msgbox PetalburgCity_WallysHouse_Text_WallyWasReallyHappy, MSGBOX_DEFAULT release end -PetalburgCity_WallysHouse_EventScript_2042D5:: @ 82042D5 - msgbox PetalburgCity_WallysHouse_Text_2047A7, MSGBOX_DEFAULT +PetalburgCity_WallysHouse_EventScript_ReceivedHM03Surf:: @ 82042D5 + msgbox PetalburgCity_WallysHouse_Text_WallyLeftWithoutTelling, MSGBOX_DEFAULT release end -PetalburgCity_WallysHouse_Text_2042DF: @ 82042DF +PetalburgCity_WallysHouse_Text_ThanksForPlayingWithWally: @ 82042DF .string "You're…\n" .string "Ah, you must be {PLAYER}{KUN}, right?\p" .string "Thank you for playing with WALLY a\n" @@ -81,10 +81,10 @@ PetalburgCity_WallysHouse_Text_2042DF: @ 82042DF .string "I wonder where he could have\n" .string "gotten by now?$" -PetalburgCity_WallysHouse_Text_20444D: @ 820444D +PetalburgCity_WallysHouse_Text_WonderHowWallyIsDoing: @ 820444D .string "I wonder how our WALLY is doing?$" -PetalburgCity_WallysHouse_Text_20446E: @ 820446E +PetalburgCity_WallysHouse_Text_PleaseExcuseUs: @ 820446E .string "{PLAYER}{KUN}! Please excuse us for\n" .string "dragging you here this way.\p" .string "But our WALLY's become very healthy\n" @@ -101,15 +101,15 @@ PetalburgCity_WallysHouse_Text_20446E: @ 820446E .string "This isn't a bribe or anything, but\n" .string "I'd really like you to have this.$" -PetalburgCity_WallysHouse_Text_20461A: @ 820461A +PetalburgCity_WallysHouse_Text_SurfGoAllSortsOfPlaces: @ 820461A .string "If your POKéMON can SURF, you'll be\n" .string "able to go to all sorts of places.$" -PetalburgCity_WallysHouse_Text_204661: @ 8204661 +PetalburgCity_WallysHouse_Text_WallyIsComingHomeSoon: @ 8204661 .string "WALLY's coming home soon.\n" .string "I'm looking forward to that.$" -PetalburgCity_WallysHouse_Text_204698: @ 8204698 +PetalburgCity_WallysHouse_Text_YouMetWallyInEverGrandeCity: @ 8204698 .string "Oh? You met WALLY in\n" .string "EVER GRANDE CITY?\p" .string "Oh, {PLAYER}{KUN}, don't be silly.\p" @@ -117,13 +117,13 @@ PetalburgCity_WallysHouse_Text_204698: @ 8204698 .string "can't go somewhere far away like\l" .string "that all by himself.$" -PetalburgCity_WallysHouse_Text_204732: @ 8204732 +PetalburgCity_WallysHouse_Text_WallyWasReallyHappy: @ 8204732 .string "WALLY was really happy when he told\n" .string "us that he caught a POKéMON.\p" .string "It's been ages since I've seen him\n" .string "smile like that.$" -PetalburgCity_WallysHouse_Text_2047A7: @ 82047A7 +PetalburgCity_WallysHouse_Text_WallyLeftWithoutTelling: @ 82047A7 .string "I want you to keep this a secret\n" .string "from my husband…\p" .string "But our WALLY left VERDANTURF TOWN\n" diff --git a/data/maps/PetalburgWoods/map.json b/data/maps/PetalburgWoods/map.json index 7e7de784ac..d43017f99d 100644 --- a/data/maps/PetalburgWoods/map.json +++ b/data/maps/PetalburgWoods/map.json @@ -115,7 +115,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgWoods_EventScript_22E210", + "script": "PetalburgWoods_EventScript_Boy1", "flag": "0" }, { @@ -128,7 +128,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "PetalburgWoods_EventScript_22E26D", + "script": "PetalburgWoods_EventScript_Lyle", "flag": "0" }, { @@ -141,7 +141,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "PetalburgWoods_EventScript_22E284", + "script": "PetalburgWoods_EventScript_James", "flag": "0" }, { @@ -154,7 +154,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgWoods_EventScript_22E219", + "script": "PetalburgWoods_EventScript_Boy2", "flag": "0" }, { @@ -180,7 +180,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "PetalburgWoods_EventScript_22E222", + "script": "PetalburgWoods_EventScript_Girl", "flag": "0" } ], @@ -236,7 +236,7 @@ "elevation": 3, "var": "VAR_PETALBURG_WOODS_STATE", "var_value": "0", - "script": "PetalburgWoods_EventScript_22DFD7" + "script": "PetalburgWoods_EventScript_DevonResearcherLeft" }, { "type": "trigger", @@ -245,7 +245,7 @@ "elevation": 3, "var": "VAR_PETALBURG_WOODS_STATE", "var_value": "0", - "script": "PetalburgWoods_EventScript_22E079" + "script": "PetalburgWoods_EventScript_DevonResearcherRight" } ], "bg_events": [ @@ -255,7 +255,7 @@ "y": 32, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgWoods_EventScript_22E25B" + "script": "PetalburgWoods_EventScript_Sign1" }, { "type": "hidden_item", @@ -295,7 +295,7 @@ "y": 8, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "PetalburgWoods_EventScript_22E264" + "script": "PetalburgWoods_EventScript_Sign2" } ] } \ No newline at end of file diff --git a/data/maps/PetalburgWoods/scripts.inc b/data/maps/PetalburgWoods/scripts.inc index 423d4c4324..9b2d9d5860 100644 --- a/data/maps/PetalburgWoods/scripts.inc +++ b/data/maps/PetalburgWoods/scripts.inc @@ -1,119 +1,119 @@ PetalburgWoods_MapScripts:: @ 822DFD6 .byte 0 -PetalburgWoods_EventScript_22DFD7:: @ 822DFD7 +PetalburgWoods_EventScript_DevonResearcherLeft:: @ 822DFD7 lockall - call PetalburgWoods_EventScript_22E124 - applymovement 4, PetalburgWoods_Movement_22E1CB + call PetalburgWoods_EventScript_DevonResearcherIntro + applymovement 4, PetalburgWoods_Movement_DevonResearcherApproachPlayerLeft waitmovement 0 - msgbox PetalburgWoods_Text_22E34F, MSGBOX_DEFAULT + msgbox PetalburgWoods_Text_HaveYouSeenShroomish, MSGBOX_DEFAULT closemessage playbgm MUS_AQA_0, 0 - applymovement 3, PetalburgWoods_Movement_22E209 + applymovement 3, PetalburgWoods_Movement_AquaEntrance waitmovement 0 - msgbox PetalburgWoods_Text_22E3AA, MSGBOX_DEFAULT + msgbox PetalburgWoods_Text_IWasGoingToAmbushYou, MSGBOX_DEFAULT closemessage - applymovement 3, PetalburgWoods_Movement_22E1F6 + applymovement 3, PetalburgWoods_Movement_AquaApproachResearcherLeft waitmovement 0 - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox PetalburgWoods_Text_22E428, MSGBOX_DEFAULT + msgbox PetalburgWoods_Text_HandOverThosePapers, MSGBOX_DEFAULT closemessage - applymovement 4, PetalburgWoods_Movement_22E1E4 + applymovement 4, PetalburgWoods_Movement_DevonResearcherFleeToPlayerLeft waitmovement 0 - msgbox PetalburgWoods_Text_22E457, MSGBOX_DEFAULT + msgbox PetalburgWoods_Text_YouHaveToHelpMe, MSGBOX_DEFAULT closemessage - applymovement 3, PetalburgWoods_Movement_22E20E + applymovement 3, PetalburgWoods_Movement_AquaApproachPlayer waitmovement 0 - msgbox PetalburgWoods_Text_22E4A5, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_GRUNT_8, PetalburgWoods_Text_22E542 - applymovement 3, PetalburgWoods_Movement_22E1F9 + msgbox PetalburgWoods_Text_NoOneCrossesTeamAqua, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_GRUNT_PETALBURG_WOODS, PetalburgWoods_Text_YoureKiddingMe + applymovement 3, PetalburgWoods_Movement_AquaBackOff waitmovement 0 - call PetalburgWoods_EventScript_22E138 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_22E1E0 - applymovement 4, PetalburgWoods_Movement_22E1C2 + call PetalburgWoods_EventScript_DevonResearcherPostBattle + applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_WatchResearcherLeave + applymovement 4, PetalburgWoods_Movement_DevonResearcherExitLeft waitmovement 0 - goto PetalburgWoods_EventScript_22E1A7 + goto PetalburgWoods_EventScript_RemoveDevonResearcher end -PetalburgWoods_EventScript_22E079:: @ 822E079 +PetalburgWoods_EventScript_DevonResearcherRight:: @ 822E079 lockall - call PetalburgWoods_EventScript_22E124 - applymovement 4, PetalburgWoods_Movement_22E1D0 + call PetalburgWoods_EventScript_DevonResearcherIntro + applymovement 4, PetalburgWoods_Movement_DevonResearcherApproachPlayerRight waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox PetalburgWoods_Text_22E34F, MSGBOX_DEFAULT + msgbox PetalburgWoods_Text_HaveYouSeenShroomish, MSGBOX_DEFAULT closemessage playbgm MUS_AQA_0, 0 - applymovement 3, PetalburgWoods_Movement_22E209 + applymovement 3, PetalburgWoods_Movement_AquaEntrance waitmovement 0 - msgbox PetalburgWoods_Text_22E3AA, MSGBOX_DEFAULT + msgbox PetalburgWoods_Text_IWasGoingToAmbushYou, MSGBOX_DEFAULT closemessage - applymovement 3, PetalburgWoods_Movement_22E205 + applymovement 3, PetalburgWoods_Movement_AquaApproachResearcherRight waitmovement 0 - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox PetalburgWoods_Text_22E428, MSGBOX_DEFAULT + msgbox PetalburgWoods_Text_HandOverThosePapers, MSGBOX_DEFAULT closemessage - applymovement 4, PetalburgWoods_Movement_22E1EA + applymovement 4, PetalburgWoods_Movement_DevonResearcherFleeToPlayerRight waitmovement 0 - msgbox PetalburgWoods_Text_22E457, MSGBOX_DEFAULT - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + msgbox PetalburgWoods_Text_YouHaveToHelpMe, MSGBOX_DEFAULT + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox PetalburgWoods_Text_22E4A5, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_GRUNT_8, PetalburgWoods_Text_22E542 - applymovement 3, PetalburgWoods_Movement_22E1F9 + msgbox PetalburgWoods_Text_NoOneCrossesTeamAqua, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_GRUNT_PETALBURG_WOODS, PetalburgWoods_Text_YoureKiddingMe + applymovement 3, PetalburgWoods_Movement_AquaBackOff waitmovement 0 - call PetalburgWoods_EventScript_22E138 - applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_22E1E0 - applymovement 4, PetalburgWoods_Movement_22E1D7 + call PetalburgWoods_EventScript_DevonResearcherPostBattle + applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_WatchResearcherLeave + applymovement 4, PetalburgWoods_Movement_DevonResearcherExitRight waitmovement 0 - goto PetalburgWoods_EventScript_22E1A7 + goto PetalburgWoods_EventScript_RemoveDevonResearcher end -PetalburgWoods_EventScript_22E124:: @ 822E124 - applymovement 4, PetalburgWoods_Movement_22E1B1 +PetalburgWoods_EventScript_DevonResearcherIntro:: @ 822E124 + applymovement 4, PetalburgWoods_Movement_DevonResearcherLookAround waitmovement 0 - msgbox PetalburgWoods_Text_22E332, MSGBOX_DEFAULT + msgbox PetalburgWoods_Text_NotAOneToBeFound, MSGBOX_DEFAULT closemessage return -PetalburgWoods_EventScript_22E138:: @ 822E138 - msgbox PetalburgWoods_Text_22E563, MSGBOX_DEFAULT +PetalburgWoods_EventScript_DevonResearcherPostBattle:: @ 822E138 + msgbox PetalburgWoods_Text_YouveGotSomeNerve, MSGBOX_DEFAULT closemessage - applymovement 3, PetalburgWoods_Movement_22E1FD + applymovement 3, PetalburgWoods_Movement_AquaRunAway waitmovement 0 removeobject 3 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox PetalburgWoods_Text_22E63D, MSGBOX_DEFAULT - giveitem_std ITEM_GREAT_BALL + msgbox PetalburgWoods_Text_ThatWasAwfullyClose, MSGBOX_DEFAULT + giveitem ITEM_GREAT_BALL compare VAR_RESULT, 0 - goto_if_eq PetalburgWoods_EventScript_22E17D - goto PetalburgWoods_EventScript_22E18B + goto_if_eq PetalburgWoods_EventScript_BagFull + goto PetalburgWoods_EventScript_DevonResearcherFinish end -PetalburgWoods_EventScript_22E17D:: @ 822E17D - msgbox PetalburgWoods_Text_22E741, MSGBOX_DEFAULT - goto PetalburgWoods_EventScript_22E18B +PetalburgWoods_EventScript_BagFull:: @ 822E17D + msgbox PetalburgWoods_Text_YoureLoadedWithItems, MSGBOX_DEFAULT + goto PetalburgWoods_EventScript_DevonResearcherFinish end -PetalburgWoods_EventScript_22E18B:: @ 822E18B - msgbox PetalburgWoods_Text_22E6C7, MSGBOX_DEFAULT - applymovement 4, PetalburgWoods_Movement_22E1EE +PetalburgWoods_EventScript_DevonResearcherFinish:: @ 822E18B + msgbox PetalburgWoods_Text_TeamAquaAfterSomethingInRustboro, MSGBOX_DEFAULT + applymovement 4, PetalburgWoods_Movement_DevonResearcherStartExit waitmovement 0 - msgbox PetalburgWoods_Text_22E712, MSGBOX_DEFAULT + msgbox PetalburgWoods_Text_ICantBeWastingTime, MSGBOX_DEFAULT closemessage return -PetalburgWoods_EventScript_22E1A7:: @ 822E1A7 +PetalburgWoods_EventScript_RemoveDevonResearcher:: @ 822E1A7 removeobject 4 setvar VAR_PETALBURG_WOODS_STATE, 1 releaseall end -PetalburgWoods_Movement_22E1B1: @ 822E1B1 +PetalburgWoods_Movement_DevonResearcherLookAround: @ 822E1B1 face_up delay_16 delay_4 @@ -132,7 +132,7 @@ PetalburgWoods_Movement_22E1B1: @ 822E1B1 delay_16 step_end -PetalburgWoods_Movement_22E1C2: @ 822E1C2 +PetalburgWoods_Movement_DevonResearcherExitLeft: @ 822E1C2 walk_fast_right walk_fast_up walk_fast_up @@ -143,14 +143,14 @@ PetalburgWoods_Movement_22E1C2: @ 822E1C2 walk_fast_up step_end -PetalburgWoods_Movement_22E1CB: @ 822E1CB +PetalburgWoods_Movement_DevonResearcherApproachPlayerLeft: @ 822E1CB delay_16 face_player walk_down walk_down step_end -PetalburgWoods_Movement_22E1D0: @ 822E1D0 +PetalburgWoods_Movement_DevonResearcherApproachPlayerRight: @ 822E1D0 delay_16 face_player walk_down @@ -159,7 +159,7 @@ PetalburgWoods_Movement_22E1D0: @ 822E1D0 walk_in_place_fastest_right step_end -PetalburgWoods_Movement_22E1D7: @ 822E1D7 +PetalburgWoods_Movement_DevonResearcherExitRight: @ 822E1D7 walk_fast_left walk_fast_up walk_fast_up @@ -170,13 +170,13 @@ PetalburgWoods_Movement_22E1D7: @ 822E1D7 walk_fast_up step_end -PetalburgWoods_Movement_22E1E0: @ 822E1E0 +PetalburgWoods_Movement_WatchResearcherLeave: @ 822E1E0 delay_16 delay_16 walk_in_place_fastest_up step_end -PetalburgWoods_Movement_22E1E4: @ 822E1E4 +PetalburgWoods_Movement_DevonResearcherFleeToPlayerLeft: @ 822E1E4 walk_fast_right walk_fast_down walk_fast_down @@ -184,13 +184,13 @@ PetalburgWoods_Movement_22E1E4: @ 822E1E4 walk_in_place_fastest_up step_end -PetalburgWoods_Movement_22E1EA: @ 822E1EA +PetalburgWoods_Movement_DevonResearcherFleeToPlayerRight: @ 822E1EA walk_fast_down walk_fast_right walk_in_place_fastest_up step_end -PetalburgWoods_Movement_22E1EE: @ 822E1EE +PetalburgWoods_Movement_DevonResearcherStartExit: @ 822E1EE walk_in_place_fastest_down delay_16 delay_16 @@ -200,18 +200,18 @@ PetalburgWoods_Movement_22E1EE: @ 822E1EE face_up step_end -PetalburgWoods_Movement_22E1F6: @ 822E1F6 +PetalburgWoods_Movement_AquaApproachResearcherLeft: @ 822E1F6 walk_fast_down walk_fast_down step_end -PetalburgWoods_Movement_22E1F9: @ 822E1F9 +PetalburgWoods_Movement_AquaBackOff: @ 822E1F9 lock_facing_direction walk_up unlock_facing_direction step_end -PetalburgWoods_Movement_22E1FD: @ 822E1FD +PetalburgWoods_Movement_AquaRunAway: @ 822E1FD walk_fast_up walk_fast_up walk_fast_up @@ -221,139 +221,139 @@ PetalburgWoods_Movement_22E1FD: @ 822E1FD delay_16 step_end -PetalburgWoods_Movement_22E205: @ 822E205 +PetalburgWoods_Movement_AquaApproachResearcherRight: @ 822E205 walk_fast_down walk_fast_down walk_fast_down step_end -PetalburgWoods_Movement_22E209: @ 822E209 +PetalburgWoods_Movement_AquaEntrance: @ 822E209 walk_down walk_down delay_16 delay_16 step_end -PetalburgWoods_Movement_22E20E: @ 822E20E +PetalburgWoods_Movement_AquaApproachPlayer: @ 822E20E walk_down step_end -PetalburgWoods_EventScript_22E210:: @ 822E210 - msgbox PetalburgWoods_Text_22EA0C, MSGBOX_NPC +PetalburgWoods_EventScript_Boy1:: @ 822E210 + msgbox PetalburgWoods_Text_StayOutOfTallGrass, MSGBOX_NPC end -PetalburgWoods_EventScript_22E219:: @ 822E219 - msgbox PetalburgWoods_Text_22EA8B, MSGBOX_NPC +PetalburgWoods_EventScript_Boy2:: @ 822E219 + msgbox PetalburgWoods_Text_HiddenItemsExplanation, MSGBOX_NPC end -PetalburgWoods_EventScript_22E222:: @ 822E222 +PetalburgWoods_EventScript_Girl:: @ 822E222 lock faceplayer - goto_if_set FLAG_RECEIVED_MIRACLE_SEED, PetalburgWoods_EventScript_22E251 - msgbox PetalburgWoods_Text_22EAFE, MSGBOX_DEFAULT - giveitem_std ITEM_MIRACLE_SEED + goto_if_set FLAG_RECEIVED_MIRACLE_SEED, PetalburgWoods_EventScript_ExplainMiracleSeed + msgbox PetalburgWoods_Text_TryUsingThisItem, MSGBOX_DEFAULT + giveitem ITEM_MIRACLE_SEED compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_MIRACLE_SEED release end -PetalburgWoods_EventScript_22E251:: @ 822E251 - msgbox PetalburgWoods_Text_22EB63, MSGBOX_DEFAULT +PetalburgWoods_EventScript_ExplainMiracleSeed:: @ 822E251 + msgbox PetalburgWoods_Text_MiracleSeedExplanation, MSGBOX_DEFAULT release end -PetalburgWoods_EventScript_22E25B:: @ 822E25B - msgbox PetalburgWoods_Text_22EC10, MSGBOX_SIGN +PetalburgWoods_EventScript_Sign1:: @ 822E25B + msgbox PetalburgWoods_Text_TrainerTipsExperience, MSGBOX_SIGN end -PetalburgWoods_EventScript_22E264:: @ 822E264 - msgbox PetalburgWoods_Text_22ED07, MSGBOX_SIGN +PetalburgWoods_EventScript_Sign2:: @ 822E264 + msgbox PetalburgWoods_Text_TrainerTipsPP, MSGBOX_SIGN end -PetalburgWoods_EventScript_22E26D:: @ 822E26D - trainerbattle_single TRAINER_LYLE, PetalburgWoods_Text_22E77D, PetalburgWoods_Text_22E7C1 - msgbox PetalburgWoods_Text_22E7EF, MSGBOX_AUTOCLOSE +PetalburgWoods_EventScript_Lyle:: @ 822E26D + trainerbattle_single TRAINER_LYLE, PetalburgWoods_Text_GoBugPokemonTeam, PetalburgWoods_Text_ICouldntWin + msgbox PetalburgWoods_Text_ImOutOfPokeBalls, MSGBOX_AUTOCLOSE end -PetalburgWoods_EventScript_22E284:: @ 822E284 - trainerbattle_single TRAINER_JAMES_1, PetalburgWoods_Text_22E827, PetalburgWoods_Text_22E86B, PetalburgWoods_EventScript_22E2C5 +PetalburgWoods_EventScript_James:: @ 822E284 + trainerbattle_single TRAINER_JAMES_1, PetalburgWoods_Text_InstantlyPopularWithBugPokemon, PetalburgWoods_Text_CantBePopularIfILose, PetalburgWoods_EventScript_TryRegisterJames specialvar VAR_RESULT, ShouldTryRematchBattle compare VAR_RESULT, 1 - goto_if_eq PetalburgWoods_EventScript_22E31B - setvar VAR_0x8004, 621 - specialvar VAR_RESULT, sub_813B4E0 + goto_if_eq PetalburgWoods_EventScript_JamesRematch + setvar VAR_0x8004, TRAINER_JAMES_1 + specialvar VAR_RESULT, IsTrainerRegistered compare VAR_RESULT, 0 - goto_if_eq PetalburgWoods_EventScript_22E2EF - msgbox PetalburgWoods_Text_22E889, MSGBOX_DEFAULT + goto_if_eq PetalburgWoods_EventScript_TryRegisterJames2 + msgbox PetalburgWoods_Text_PeopleRespectYou, MSGBOX_DEFAULT release end -PetalburgWoods_EventScript_22E2C5:: @ 822E2C5 - special sub_80B4808 +PetalburgWoods_EventScript_TryRegisterJames:: @ 822E2C5 + special PlayerFaceTrainerAfterBattle waitmovement 0 - goto_if_set FLAG_HAS_MATCH_CALL, PetalburgWoods_EventScript_22E2D6 + goto_if_set FLAG_HAS_MATCH_CALL, PetalburgWoods_EventScript_RegisterJames release end -PetalburgWoods_EventScript_22E2D6:: @ 822E2D6 - msgbox PetalburgWoods_Text_22E8C3, MSGBOX_DEFAULT +PetalburgWoods_EventScript_RegisterJames:: @ 822E2D6 + msgbox PetalburgWoods_Text_IWantRematch1, MSGBOX_DEFAULT register_matchcall TRAINER_JAMES_1 release end -PetalburgWoods_EventScript_22E2EF:: @ 822E2EF - goto_if_set FLAG_HAS_MATCH_CALL, PetalburgWoods_EventScript_22E302 - msgbox PetalburgWoods_Text_22E889, MSGBOX_DEFAULT +PetalburgWoods_EventScript_TryRegisterJames2:: @ 822E2EF + goto_if_set FLAG_HAS_MATCH_CALL, PetalburgWoods_EventScript_RegisterJames2 + msgbox PetalburgWoods_Text_PeopleRespectYou, MSGBOX_DEFAULT release end -PetalburgWoods_EventScript_22E302:: @ 822E302 - msgbox PetalburgWoods_Text_22E914, MSGBOX_DEFAULT +PetalburgWoods_EventScript_RegisterJames2:: @ 822E302 + msgbox PetalburgWoods_Text_IWantRematch2, MSGBOX_DEFAULT register_matchcall TRAINER_JAMES_1 release end -PetalburgWoods_EventScript_22E31B:: @ 822E31B - trainerbattle_rematch TRAINER_JAMES_1, PetalburgWoods_Text_22E966, PetalburgWoods_Text_22E998 - msgbox PetalburgWoods_Text_22E9B6, MSGBOX_AUTOCLOSE +PetalburgWoods_EventScript_JamesRematch:: @ 822E31B + trainerbattle_rematch TRAINER_JAMES_1, PetalburgWoods_Text_MyPokemonHaveGrown, PetalburgWoods_Text_CantBePopularIfLose + msgbox PetalburgWoods_Text_IveBeenTrainingHard, MSGBOX_AUTOCLOSE end -PetalburgWoods_Text_22E332: @ 822E332 +PetalburgWoods_Text_NotAOneToBeFound: @ 822E332 .string "Hmmm…\n" .string "Not a one to be found…$" -PetalburgWoods_Text_22E34F: @ 822E34F +PetalburgWoods_Text_HaveYouSeenShroomish: @ 822E34F .string "Hello, have you seen any POKéMON\n" .string "called SHROOMISH around here?\p" .string "I really love that POKéMON.$" -PetalburgWoods_Text_22E3AA: @ 822E3AA +PetalburgWoods_Text_IWasGoingToAmbushYou: @ 822E3AA .string "I was going to ambush you, but you\n" .string "had to dawdle in PETALBURG WOODS\l" .string "forever, didn't you?\p" .string "I got sick of waiting, so here I am!$" -PetalburgWoods_Text_22E428: @ 822E428 +PetalburgWoods_Text_HandOverThosePapers: @ 822E428 .string "You! DEVON RESEARCHER!\p" .string "Hand over those papers!$" -PetalburgWoods_Text_22E457: @ 822E457 +PetalburgWoods_Text_YouHaveToHelpMe: @ 822E457 .string "Aiyeeeh!\p" .string "You're a POKéMON TRAINER, aren't you?\n" .string "You've got to help me, please!$" -PetalburgWoods_Text_22E4A5: @ 822E4A5 +PetalburgWoods_Text_NoOneCrossesTeamAqua: @ 822E4A5 .string "Hunh? What do you think you're doing?\n" .string "What, you're going to protect him?\p" .string "No one who crosses TEAM AQUA\n" .string "gets any mercy, not even a kid!\p" .string "Come on and battle me!$" -PetalburgWoods_Text_22E542: @ 822E542 +PetalburgWoods_Text_YoureKiddingMe: @ 822E542 .string "You're kidding me! You're tough!$" -PetalburgWoods_Text_22E563: @ 822E563 +PetalburgWoods_Text_YouveGotSomeNerve: @ 822E563 .string "Grrr… You've got some nerve\n" .string "meddling with TEAM AQUA!\l" .string "Come on and battle me again!\p" @@ -363,7 +363,7 @@ PetalburgWoods_Text_22E563: @ 822E563 .string "after something in RUSTBORO.\p" .string "I'll let you go today!$" -PetalburgWoods_Text_22E63D: @ 822E63D +PetalburgWoods_Text_ThatWasAwfullyClose: @ 822E63D .string "Whew…\n" .string "That was awfully close!\p" .string "Thanks to you, he didn't rob me of\n" @@ -371,85 +371,85 @@ PetalburgWoods_Text_22E63D: @ 822E63D .string "I know, I'll give you a GREAT BALL as\n" .string "my thanks!$" -PetalburgWoods_Text_22E6C7: @ 822E6C7 +PetalburgWoods_Text_TeamAquaAfterSomethingInRustboro: @ 822E6C7 .string "Didn't that TEAM AQUA thug say\n" .string "they were after something in\l" .string "RUSTBORO, too?$" -PetalburgWoods_Text_22E712: @ 822E712 +PetalburgWoods_Text_ICantBeWastingTime: @ 822E712 .string "Uh-oh! It's a crisis!\n" .string "I can't be wasting time!$" -PetalburgWoods_Text_22E741: @ 822E741 +PetalburgWoods_Text_YoureLoadedWithItems: @ 822E741 .string "You're loaded with items.\n" .string "I can't give you this GREAT BALL.$" -PetalburgWoods_Text_22E77D: @ 822E77D +PetalburgWoods_Text_GoBugPokemonTeam: @ 822E77D .string "I caught a whole bunch of POKéMON!\p" .string "Go, go, go!\n" .string "My BUG POKéMON team!$" -PetalburgWoods_Text_22E7C1: @ 822E7C1 +PetalburgWoods_Text_ICouldntWin: @ 822E7C1 .string "I have all these POKéMON,\n" .string "but I couldn't win…$" -PetalburgWoods_Text_22E7EF: @ 822E7EF +PetalburgWoods_Text_ImOutOfPokeBalls: @ 822E7EF .string "I caught a bunch of POKéMON.\n" .string "Now I'm out of POKé BALLS.$" -PetalburgWoods_Text_22E827: @ 822E827 +PetalburgWoods_Text_InstantlyPopularWithBugPokemon: @ 822E827 .string "If you take BUG POKéMON to school,\n" .string "you get to be instantly popular!$" -PetalburgWoods_Text_22E86B: @ 822E86B +PetalburgWoods_Text_CantBePopularIfILose: @ 822E86B .string "I can't be popular if I lose.$" -PetalburgWoods_Text_22E889: @ 822E889 +PetalburgWoods_Text_PeopleRespectYou: @ 822E889 .string "If you have a big BUG POKéMON,\n" .string "people respect you for it.$" -PetalburgWoods_Text_22E8C3: @ 822E8C3 +PetalburgWoods_Text_IWantRematch1: @ 822E8C3 .string "I want a rematch when my BUG\n" .string "POKéMON grow up!\p" .string "I'm registering you in my POKéNAV!$" -PetalburgWoods_Text_22E914: @ 822E914 +PetalburgWoods_Text_IWantRematch2: @ 822E914 .string "I want a rematch when my BUG \n" .string "POKéMON grow up!\p" .string "I'm registering you in my POKéNAV!$" -PetalburgWoods_Text_22E966: @ 822E966 +PetalburgWoods_Text_MyPokemonHaveGrown: @ 822E966 .string "My BUG POKéMON have grown.\n" .string "I'll be popular again.$" -PetalburgWoods_Text_22E998: @ 822E998 +PetalburgWoods_Text_CantBePopularIfLose: @ 822E998 .string "I can't be popular if I lose.$" -PetalburgWoods_Text_22E9B6: @ 822E9B6 +PetalburgWoods_Text_IveBeenTrainingHard: @ 822E9B6 .string "You get to be popular if you have\n" .string "strong POKéMON, right?\l" .string "So, I've been training hard.$" -PetalburgWoods_Text_22EA0C: @ 822EA0C +PetalburgWoods_Text_StayOutOfTallGrass: @ 822EA0C .string "Yo, there!\n" .string "Your POKéMON doing okay?\p" .string "If your POKéMON are weak and you want\n" .string "to avoid battles, you should stay out\l" .string "of tall grass.$" -PetalburgWoods_Text_22EA8B: @ 822EA8B +PetalburgWoods_Text_HiddenItemsExplanation: @ 822EA8B .string "Sometimes, there are things on the\n" .string "ground even if you can't see them.\p" .string "That's why I always check where I'm\n" .string "walking.$" -PetalburgWoods_Text_22EAFE: @ 822EAFE +PetalburgWoods_Text_TryUsingThisItem: @ 822EAFE .string "Oh, neat!\n" .string "That's the BADGE from RUSTBORO GYM!\p" .string "You must be a TRAINER.\n" .string "You should try using this item.$" -PetalburgWoods_Text_22EB63: @ 822EB63 +PetalburgWoods_Text_MiracleSeedExplanation: @ 822EB63 .string "It's a MIRACLE SEED.\n" .string "If a POKéMON holds that item, its\l" .string "GRASS-type moves become stronger.\p" @@ -457,7 +457,7 @@ PetalburgWoods_Text_22EB63: @ 822EB63 .string "other convenient items for POKéMON\l" .string "to hold.$" -PetalburgWoods_Text_22EC10: @ 822EC10 +PetalburgWoods_Text_TrainerTipsExperience: @ 822EC10 .string "TRAINER TIPS\p" .string "Any POKéMON that appears even once\n" .string "in a battle is awarded EXP Points.\p" @@ -467,7 +467,7 @@ PetalburgWoods_Text_22EC10: @ 822EC10 .string "out. It will earn EXP Points without\l" .string "being exposed to any harm.$" -PetalburgWoods_Text_22ED07: @ 822ED07 +PetalburgWoods_Text_TrainerTipsPP: @ 822ED07 .string "TRAINER TIPS\p" .string "In addition to Hit Points (HP), POKéMON\n" .string "have Power Points (PP) that are used to\l" diff --git a/data/maps/RecordCorner/map.json b/data/maps/RecordCorner/map.json index d34ad49030..e2d5f3a52d 100644 --- a/data/maps/RecordCorner/map.json +++ b/data/maps/RecordCorner/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RecordCorner_EventScript_2774C6", + "script": "RecordCorner_EventScript_Attendant", "flag": "0" } ], diff --git a/data/maps/Route101/map.json b/data/maps/Route101/map.json index 44d8b2137d..71dbf96cc6 100644 --- a/data/maps/Route101/map.json +++ b/data/maps/Route101/map.json @@ -35,7 +35,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route101_EventScript_1EBDFB", + "script": "Route101_EventScript_Youngster", "flag": "0" }, { @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route101_EventScript_1EBE16", + "script": "Route101_EventScript_BirchsBag", "flag": "FLAG_HIDE_ROUTE_101_BIRCH_STARTERS_BAG" }, { @@ -87,7 +87,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route101_EventScript_272141", + "script": "ProfBirch_EventScript_RatePokedexOrRegister", "flag": "FLAG_HIDE_ROUTE_101_BIRCH" }, { @@ -100,7 +100,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route101_EventScript_1EBE04", + "script": "Route101_EventScript_Boy", "flag": "FLAG_HIDE_ROUTE_101_BOY" } ], @@ -113,7 +113,7 @@ "elevation": 3, "var": "VAR_ROUTE101_STATE", "var_value": "1", - "script": "Route101_EventScript_1EBCDE" + "script": "Route101_EventScript_StartBirchRescue" }, { "type": "trigger", @@ -122,7 +122,7 @@ "elevation": 3, "var": "VAR_ROUTE101_STATE", "var_value": "1", - "script": "Route101_EventScript_1EBCDE" + "script": "Route101_EventScript_StartBirchRescue" }, { "type": "trigger", @@ -131,7 +131,7 @@ "elevation": 3, "var": "VAR_ROUTE101_STATE", "var_value": "2", - "script": "Route101_EventScript_1EBD4E" + "script": "Route101_EventScript_PreventExitSouth" }, { "type": "trigger", @@ -140,7 +140,7 @@ "elevation": 3, "var": "VAR_ROUTE101_STATE", "var_value": "2", - "script": "Route101_EventScript_1EBD4E" + "script": "Route101_EventScript_PreventExitSouth" }, { "type": "trigger", @@ -149,7 +149,7 @@ "elevation": 3, "var": "VAR_ROUTE101_STATE", "var_value": "2", - "script": "Route101_EventScript_1EBD64" + "script": "Route101_EventScript_PreventExitWest" }, { "type": "trigger", @@ -158,7 +158,7 @@ "elevation": 3, "var": "VAR_ROUTE101_STATE", "var_value": "2", - "script": "Route101_EventScript_1EBD64" + "script": "Route101_EventScript_PreventExitWest" }, { "type": "trigger", @@ -167,7 +167,7 @@ "elevation": 3, "var": "VAR_ROUTE101_STATE", "var_value": "2", - "script": "Route101_EventScript_1EBD64" + "script": "Route101_EventScript_PreventExitWest" }, { "type": "trigger", @@ -176,7 +176,7 @@ "elevation": 3, "var": "VAR_ROUTE101_STATE", "var_value": "2", - "script": "Route101_EventScript_1EBD64" + "script": "Route101_EventScript_PreventExitWest" }, { "type": "trigger", @@ -185,7 +185,7 @@ "elevation": 3, "var": "VAR_ROUTE101_STATE", "var_value": "2", - "script": "Route101_EventScript_1EBD7A" + "script": "Route101_EventScript_PreventExitNorth" } ], "bg_events": [ @@ -195,7 +195,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route101_EventScript_1EBE0D" + "script": "Route101_EventScript_RouteSign" } ] } \ No newline at end of file diff --git a/data/maps/Route101/scripts.inc b/data/maps/Route101/scripts.inc index 73bfe570c8..56a256ca91 100644 --- a/data/maps/Route101/scripts.inc +++ b/data/maps/Route101/scripts.inc @@ -1,86 +1,86 @@ Route101_MapScripts:: @ 81EBCBA map_script MAP_SCRIPT_ON_TRANSITION, Route101_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route101_MapScript2_1EBCCB + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route101_OnFrame .byte 0 Route101_OnTransition: @ 81EBCC5 - call Route101_EventScript_2720AD + call ProfBirch_EventScript_UpdateLocation end -Route101_MapScript2_1EBCCB: @ 81EBCCB - map_script_2 VAR_ROUTE101_STATE, 0, Route101_EventScript_1EBCD5 +Route101_OnFrame: @ 81EBCCB + map_script_2 VAR_ROUTE101_STATE, 0, Route101_EventScript_HideMapNamePopup .2byte 0 -Route101_EventScript_1EBCD5:: @ 81EBCD5 +Route101_EventScript_HideMapNamePopup:: @ 81EBCD5 setflag FLAG_HIDE_MAP_NAME_POPUP setvar VAR_ROUTE101_STATE, 1 end -Route101_EventScript_1EBCDE:: @ 81EBCDE +Route101_EventScript_StartBirchRescue:: @ 81EBCDE lockall playbgm MUS_EVENT0, 1 - msgbox Route101_Text_1EBE8F, MSGBOX_DEFAULT + msgbox Route101_Text_HelpMe, MSGBOX_DEFAULT closemessage setobjectxy 2, 0, 15 setobjectxy 4, 0, 16 - applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBDC2 - applymovement 2, Route101_Movement_1EBDE7 - applymovement 4, Route101_Movement_1EBDB5 + applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_EnterScene + applymovement 2, Route101_Movement_BirchRunAway1 + applymovement 4, Route101_Movement_PoochyenaChase1 waitmovement 0 - applymovement 4, Route101_Movement_1EBD96 - applymovement 2, Route101_Movement_1EBDC8 + applymovement 4, Route101_Movement_PoochyenaChaseInCircles + applymovement 2, Route101_Movement_BirchRunInCircles waitmovement 0 - applymovement 2, Common_Movement_WalkInPlaceRight + applymovement 2, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - applymovement 4, Route101_Movement_1EBDBD - applymovement 2, Route101_Movement_1EBDEF + applymovement 4, Route101_Movement_PoochyenaFaceBirch + applymovement 2, Route101_Movement_BirchFacePoochyena waitmovement 0 - msgbox Route101_Text_1EBE9A, MSGBOX_DEFAULT + msgbox Route101_Text_PleaseHelp, MSGBOX_DEFAULT closemessage setvar VAR_ROUTE101_STATE, 2 releaseall end -Route101_EventScript_1EBD4E:: @ 81EBD4E +Route101_EventScript_PreventExitSouth:: @ 81EBD4E lockall - msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT + msgbox Route101_Text_DontLeaveMe, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBD90 + applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_PreventExitSouth waitmovement 0 releaseall end -Route101_EventScript_1EBD64:: @ 81EBD64 +Route101_EventScript_PreventExitWest:: @ 81EBD64 lockall - msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT + msgbox Route101_Text_DontLeaveMe, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBD92 + applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_PreventExitWest waitmovement 0 releaseall end -Route101_EventScript_1EBD7A:: @ 81EBD7A +Route101_EventScript_PreventExitNorth:: @ 81EBD7A lockall - msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT + msgbox Route101_Text_DontLeaveMe, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBD94 + applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_PreventExitNorth waitmovement 0 releaseall end -Route101_Movement_1EBD90: @ 81EBD90 +Route101_Movement_PreventExitSouth: @ 81EBD90 walk_up step_end -Route101_Movement_1EBD92: @ 81EBD92 +Route101_Movement_PreventExitWest: @ 81EBD92 walk_right step_end -Route101_Movement_1EBD94: @ 81EBD94 +Route101_Movement_PreventExitNorth: @ 81EBD94 walk_down step_end -Route101_Movement_1EBD96: @ 81EBD96 +Route101_Movement_PoochyenaChaseInCircles: @ 81EBD96 walk_fast_up walk_fast_up walk_fast_up @@ -113,7 +113,7 @@ Route101_Movement_1EBD96: @ 81EBD96 walk_fast_left step_end -Route101_Movement_1EBDB5: @ 81EBDB5 +Route101_Movement_PoochyenaChase1: @ 81EBDB5 walk_fast_up walk_fast_right walk_fast_right @@ -122,17 +122,17 @@ Route101_Movement_1EBDB5: @ 81EBDB5 walk_fast_up step_end -Route101_Movement_1EBDBC: @ 81EBDBC +@ Leftover data? This command is unused. step_end -Route101_Movement_1EBDBD: @ 81EBDBD +Route101_Movement_PoochyenaFaceBirch: @ 81EBDBD walk_in_place_fast_left walk_in_place_fast_left walk_in_place_fast_left walk_in_place_fast_left step_end -Route101_Movement_1EBDC2: @ 81EBDC2 +Route101_Movement_EnterScene: @ 81EBDC2 walk_fast_up walk_fast_up walk_fast_up @@ -140,7 +140,7 @@ Route101_Movement_1EBDC2: @ 81EBDC2 walk_in_place_fastest_left step_end -Route101_Movement_1EBDC8: @ 81EBDC8 +Route101_Movement_BirchRunInCircles: @ 81EBDC8 walk_fast_up walk_fast_up walk_fast_right @@ -173,7 +173,7 @@ Route101_Movement_1EBDC8: @ 81EBDC8 walk_fast_left step_end -Route101_Movement_1EBDE7: @ 81EBDE7 +Route101_Movement_BirchRunAway1: @ 81EBDE7 walk_fast_right walk_fast_right walk_fast_right @@ -182,54 +182,54 @@ Route101_Movement_1EBDE7: @ 81EBDE7 walk_fast_up step_end -Route101_Movement_1EBDEE: @ 81EBDEE +@ Leftover data? This command is unused. step_end -Route101_Movement_1EBDEF: @ 81EBDEF +Route101_Movement_BirchFacePoochyena: @ 81EBDEF walk_in_place_fast_right walk_in_place_fast_right walk_in_place_fast_right walk_in_place_fast_right step_end -Route101_Movement_1EBDF4: @ 81EBDF4 +Route101_Movement_Unused1: @ 81EBDF4 walk_up walk_up step_end -Route101_Movement_1EBDF7: @ 81EBDF7 +Route101_Movement_Unused2: @ 81EBDF7 walk_up walk_left walk_up step_end -Route101_EventScript_1EBDFB:: @ 81EBDFB - msgbox Route101_Text_1EBFDD, MSGBOX_NPC +Route101_EventScript_Youngster:: @ 81EBDFB + msgbox Route101_Text_TakeTiredPokemonToPokeCenter, MSGBOX_NPC end -Route101_EventScript_1EBE04:: @ 81EBE04 - msgbox Route101_Text_1EC04A, MSGBOX_NPC +Route101_EventScript_Boy:: @ 81EBE04 + msgbox Route101_Text_WildPokemonInTallGrass, MSGBOX_NPC end -Route101_EventScript_1EBE0D:: @ 81EBE0D - msgbox Route101_Text_1EC0C8, MSGBOX_SIGN +Route101_EventScript_RouteSign:: @ 81EBE0D + msgbox Route101_Text_RouteSign, MSGBOX_SIGN end -Route101_EventScript_1EBE16:: @ 81EBE16 +Route101_EventScript_BirchsBag:: @ 81EBE16 lock faceplayer setflag FLAG_SYS_POKEMON_GET setflag FLAG_RESCUED_BIRCH - fadescreen 1 + fadescreen FADE_TO_BLACK removeobject 4 setobjectxy EVENT_OBJ_ID_PLAYER, 6, 13 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 special ChooseStarter waitstate - applymovement 2, Route101_Movement_1EBE8D + applymovement 2, Route101_Movement_BirchApproachPlayer waitmovement 0 - msgbox Route101_Text_1EBF12, MSGBOX_DEFAULT + msgbox Route101_Text_YouSavedMe, MSGBOX_DEFAULT special HealPlayerParty setflag FLAG_HIDE_ROUTE_101_BIRCH_ZIGZAGOON_BATTLE clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH @@ -239,40 +239,40 @@ Route101_EventScript_1EBE16:: @ 81EBE16 clearflag FLAG_HIDE_MAP_NAME_POPUP checkplayergender compare VAR_RESULT, MALE - call_if_eq Route101_EventScript_1EBE85 + call_if_eq Route101_EventScript_HideMayInBedroom compare VAR_RESULT, FEMALE - call_if_eq Route101_EventScript_1EBE89 + call_if_eq Route101_EventScript_HideBrendanInBedroom warp MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, 255, 6, 5 waitstate release end -Route101_EventScript_1EBE85:: @ 81EBE85 +Route101_EventScript_HideMayInBedroom:: @ 81EBE85 setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM return -Route101_EventScript_1EBE89:: @ 81EBE89 +Route101_EventScript_HideBrendanInBedroom:: @ 81EBE89 setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM return -Route101_Movement_1EBE8D: @ 81EBE8D +Route101_Movement_BirchApproachPlayer: @ 81EBE8D walk_right step_end -Route101_Text_1EBE8F: @ 81EBE8F +Route101_Text_HelpMe: @ 81EBE8F .string "H-help me!$" -Route101_Text_1EBE9A: @ 81EBE9A +Route101_Text_PleaseHelp: @ 81EBE9A .string "Hello! You over there!\n" .string "Please! Help!\p" .string "In my BAG!\n" .string "There's a POKé BALL!$" -Route101_Text_1EBEDF: @ 81EBEDF +Route101_Text_DontLeaveMe: @ 81EBEDF .string "Wh-Where are you going?!\n" .string "Don't leave me like this!$" -Route101_Text_1EBF12: @ 81EBF12 +Route101_Text_YouSavedMe: @ 81EBF12 .string "PROF. BIRCH: Whew…\p" .string "I was in the tall grass studying wild\n" .string "POKéMON when I was jumped.\p" @@ -283,19 +283,19 @@ Route101_Text_1EBF12: @ 81EBF12 .string "This is not the place to chat, so come\n" .string "by my POKéMON LAB later, okay?$" -Route101_Text_1EBFDD: @ 81EBFDD +Route101_Text_TakeTiredPokemonToPokeCenter: @ 81EBFDD .string "If POKéMON get tired, take them to\n" .string "a POKéMON CENTER.\p" .string "There's a POKéMON CENTER in OLDALE\n" .string "TOWN right close by.$" -Route101_Text_1EC04A: @ 81EC04A +Route101_Text_WildPokemonInTallGrass: @ 81EC04A .string "Wild POKéMON will jump out at you in\n" .string "tall grass.\p" .string "If you want to catch POKéMON, you have\n" .string "to go into the tall grass and search.$" -Route101_Text_1EC0C8: @ 81EC0C8 +Route101_Text_RouteSign: @ 81EC0C8 .string "ROUTE 101\n" .string "{UP_ARROW} OLDALE TOWN$" diff --git a/data/maps/Route102/map.json b/data/maps/Route102/map.json index 323c4142b2..f8930a21df 100644 --- a/data/maps/Route102/map.json +++ b/data/maps/Route102/map.json @@ -35,7 +35,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route102_EventScript_1EC0E1", + "script": "Route102_EventScript_LittleBoy", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route102_EventScript_1EC105", + "script": "Route102_EventScript_Calvin", "flag": "0" }, { @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route102_EventScript_1EC1B3", + "script": "Route102_EventScript_Rick", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route102_EventScript_1EC1CA", + "script": "Route102_EventScript_Tiana", "flag": "0" }, { @@ -87,7 +87,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route102_EventScript_1EC0FC", + "script": "Route102_EventScript_Boy", "flag": "0" }, { @@ -139,7 +139,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route102_EventScript_1EC1E1", + "script": "Route102_EventScript_Allen", "flag": "0" } ], @@ -152,7 +152,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route102_EventScript_1EC0F3" + "script": "Route102_EventScript_RouteSignPetalburg" }, { "type": "sign", @@ -160,7 +160,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route102_EventScript_1EC0EA" + "script": "Route102_EventScript_RouteSignOldale" } ] } \ No newline at end of file diff --git a/data/maps/Route102/scripts.inc b/data/maps/Route102/scripts.inc index ada20447a0..b14f204e58 100644 --- a/data/maps/Route102/scripts.inc +++ b/data/maps/Route102/scripts.inc @@ -1,81 +1,81 @@ Route102_MapScripts:: @ 81EC0E0 .byte 0 -Route102_EventScript_1EC0E1:: @ 81EC0E1 - msgbox Route102_Text_1EC2C0, MSGBOX_NPC +Route102_EventScript_LittleBoy:: @ 81EC0E1 + msgbox Route102_Text_ImNotVeryTall, MSGBOX_NPC end -Route102_EventScript_1EC0EA:: @ 81EC0EA - msgbox Route102_Text_1EC35B, MSGBOX_SIGN +Route102_EventScript_RouteSignOldale:: @ 81EC0EA + msgbox Route102_Text_RouteSignOldale, MSGBOX_SIGN end -Route102_EventScript_1EC0F3:: @ 81EC0F3 - msgbox Route102_Text_1EC373, MSGBOX_SIGN +Route102_EventScript_RouteSignPetalburg:: @ 81EC0F3 + msgbox Route102_Text_RouteSignPetalburg, MSGBOX_SIGN end -Route102_EventScript_1EC0FC:: @ 81EC0FC - msgbox Route102_Text_1EC32E, MSGBOX_NPC +Route102_EventScript_Boy:: @ 81EC0FC + msgbox Route102_Text_CatchWholeBunchOfPokemon, MSGBOX_NPC end -Route102_EventScript_1EC105:: @ 81EC105 - trainerbattle_single TRAINER_CALVIN_1, Route102_Text_294513, Route102_Text_29457C, Route102_EventScript_1EC146 +Route102_EventScript_Calvin:: @ 81EC105 + trainerbattle_single TRAINER_CALVIN_1, Route102_Text_CalvinIntro, Route102_Text_CalvinDefeated, Route102_EventScript_CalvinRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route102_EventScript_1EC19C - setvar VAR_0x8004, 318 - specialvar VAR_RESULT, sub_813B4E0 - compare VAR_RESULT, 0 - goto_if_eq Route102_EventScript_1EC170 - msgbox Route102_Text_2945AC, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route102_EventScript_CalvinRematch + setvar VAR_0x8004, TRAINER_CALVIN_1 + specialvar VAR_RESULT, IsTrainerRegistered + compare VAR_RESULT, FALSE + goto_if_eq Route102_EventScript_CalvinTryRegister + msgbox Route102_Text_CalvinPostBattle, MSGBOX_DEFAULT release end -Route102_EventScript_1EC146:: @ 81EC146 - special sub_80B4808 +Route102_EventScript_CalvinRegisterMatchCallAfterBattle:: @ 81EC146 + special PlayerFaceTrainerAfterBattle waitmovement 0 - goto_if_set FLAG_HAS_MATCH_CALL, Route102_EventScript_1EC157 + goto_if_set FLAG_HAS_MATCH_CALL, Route102_EventScript_CalvinRegisterMatchCall release end -Route102_EventScript_1EC157:: @ 81EC157 - msgbox Route102_Text_294668, MSGBOX_DEFAULT +Route102_EventScript_CalvinRegisterMatchCall:: @ 81EC157 + msgbox Route102_Text_CalvinRegisterShort, MSGBOX_DEFAULT register_matchcall TRAINER_CALVIN_1 release end -Route102_EventScript_1EC170:: @ 81EC170 - goto_if_set FLAG_HAS_MATCH_CALL, Route102_EventScript_1EC183 - msgbox Route102_Text_2945AC, MSGBOX_DEFAULT +Route102_EventScript_CalvinTryRegister:: @ 81EC170 + goto_if_set FLAG_HAS_MATCH_CALL, Route102_EventScript_CalvinRegister + msgbox Route102_Text_CalvinPostBattle, MSGBOX_DEFAULT release end -Route102_EventScript_1EC183:: @ 81EC183 - msgbox Route102_Text_2945EB, MSGBOX_DEFAULT +Route102_EventScript_CalvinRegister:: @ 81EC183 + msgbox Route102_Text_CalvinRegister, MSGBOX_DEFAULT register_matchcall TRAINER_CALVIN_1 release end -Route102_EventScript_1EC19C:: @ 81EC19C - trainerbattle_rematch TRAINER_CALVIN_1, Route102_Text_2946AE, Route102_Text_29470C - msgbox Route102_Text_29473C, MSGBOX_AUTOCLOSE +Route102_EventScript_CalvinRematch:: @ 81EC19C + trainerbattle_rematch TRAINER_CALVIN_1, Route102_Text_CalvinRematchIntro, Route102_Text_CalvinRematchDefeated + msgbox Route102_Text_CalvinRematchPostBattle, MSGBOX_AUTOCLOSE end -Route102_EventScript_1EC1B3:: @ 81EC1B3 - trainerbattle_single TRAINER_RICK, Route102_Text_29480C, Route102_Text_294847 - msgbox Route102_Text_294859, MSGBOX_AUTOCLOSE +Route102_EventScript_Rick:: @ 81EC1B3 + trainerbattle_single TRAINER_RICK, Route102_Text_RickIntro, Route102_Text_RickDefeated + msgbox Route102_Text_RickPostBattle, MSGBOX_AUTOCLOSE end -Route102_EventScript_1EC1CA:: @ 81EC1CA - trainerbattle_single TRAINER_TIANA, Route102_Text_29489E, Route102_Text_2948F3 - msgbox Route102_Text_294916, MSGBOX_AUTOCLOSE +Route102_EventScript_Tiana:: @ 81EC1CA + trainerbattle_single TRAINER_TIANA, Route102_Text_TianaIntro, Route102_Text_TianaDefeated + msgbox Route102_Text_TianaPostBattle, MSGBOX_AUTOCLOSE end -Route102_EventScript_1EC1E1:: @ 81EC1E1 - trainerbattle_single TRAINER_ALLEN, Route102_Text_294775, Route102_Text_2947AA - msgbox Route102_Text_2947DB, MSGBOX_AUTOCLOSE +Route102_EventScript_Allen:: @ 81EC1E1 + trainerbattle_single TRAINER_ALLEN, Route102_Text_AllenIntro, Route102_Text_AllenDefeated + msgbox Route102_Text_AllenPostBattle, MSGBOX_AUTOCLOSE end -PetalburgCity_Text_1EC1F8: @ 81EC1F8 +Route102_Text_WatchMeCatchPokemon: @ 81EC1F8 .string "WALLY: {PLAYER}…\n" .string "POKéMON hide in tall grass like this,\l" .string "don't they?\p" @@ -83,29 +83,29 @@ PetalburgCity_Text_1EC1F8: @ 81EC1F8 .string "catch one properly.\p" .string "…Whoa!$" -PetalburgCity_Text_1EC271: @ 81EC271 +Route102_Text_WallyIDidIt: @ 81EC271 .string "WALLY: I did it… It's my…\n" .string "My POKéMON!$" -PetalburgCity_Text_1EC297: @ 81EC297 +Route102_Text_LetsGoBack: @ 81EC297 .string "{PLAYER}, thank you!\n" .string "Let's go back to the GYM!$" -Route102_Text_1EC2C0: @ 81EC2C0 +Route102_Text_ImNotVeryTall: @ 81EC2C0 .string "I'm…not very tall, so I sink right\n" .string "into tall grass.\p" .string "The grass goes up my nose and…\n" .string "Fwafwafwafwafwa…\p" .string "Fwatchoo!$" -Route102_Text_1EC32E: @ 81EC32E +Route102_Text_CatchWholeBunchOfPokemon: @ 81EC32E .string "I'm going to catch a whole bunch of\n" .string "POKéMON!$" -Route102_Text_1EC35B: @ 81EC35B +Route102_Text_RouteSignOldale: @ 81EC35B .string "ROUTE 102\n" .string "{RIGHT_ARROW} OLDALE TOWN$" -Route102_Text_1EC373: @ 81EC373 +Route102_Text_RouteSignPetalburg: @ 81EC373 .string "ROUTE 102\n" .string "{LEFT_ARROW} PETALBURG CITY$" diff --git a/data/maps/Route103/map.json b/data/maps/Route103/map.json index bf207ec2fb..0a870a06e4 100644 --- a/data/maps/Route103/map.json +++ b/data/maps/Route103/map.json @@ -35,7 +35,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route103_EventScript_1EC5E2", + "script": "Route103_EventScript_Man", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route103_EventScript_1EC3C1", + "script": "Route103_EventScript_Rival", "flag": "FLAG_HIDE_ROUTE_103_RIVAL" }, { @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route103_EventScript_1EC5F4", + "script": "Route103_EventScript_Daisy", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route103_EventScript_1EC66E", + "script": "Route103_EventScript_Liv", "flag": "0" }, { @@ -87,7 +87,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route103_EventScript_1EC60B", + "script": "Route103_EventScript_Amy", "flag": "0" }, { @@ -100,7 +100,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route103_EventScript_1EC6D1", + "script": "Route103_EventScript_Andrew", "flag": "0" }, { @@ -152,7 +152,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route103_EventScript_1EC5D9", + "script": "Route103_EventScript_Boy", "flag": "0" }, { @@ -165,7 +165,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route103_EventScript_272141", + "script": "ProfBirch_EventScript_RatePokedexOrRegister", "flag": "FLAG_HIDE_ROUTE_103_BIRCH" }, { @@ -178,7 +178,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route103_EventScript_1EC6E8", + "script": "Route103_EventScript_Miguel", "flag": "0" }, { @@ -230,7 +230,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route103_EventScript_1EC761", + "script": "Route103_EventScript_Rhett", "flag": "0" }, { @@ -243,7 +243,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route103_EventScript_1EC74A", + "script": "Route103_EventScript_Marcos", "flag": "0" }, { @@ -256,7 +256,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route103_EventScript_1EC78F", + "script": "Route103_EventScript_Isabelle", "flag": "0" }, { @@ -269,7 +269,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route103_EventScript_1EC778", + "script": "Route103_EventScript_Pete", "flag": "0" }, { @@ -303,7 +303,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route103_EventScript_1EC5EB" + "script": "Route103_EventScript_RouteSign" } ] } \ No newline at end of file diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc index 36b2c6c149..0c99746295 100644 --- a/data/maps/Route103/scripts.inc +++ b/data/maps/Route103/scripts.inc @@ -1,33 +1,33 @@ Route103_MapScripts:: @ 81EC38E map_script MAP_SCRIPT_ON_TRANSITION, Route103_OnTransition - map_script MAP_SCRIPT_ON_LOAD, Route103_MapScript1_1EC3A4 + map_script MAP_SCRIPT_ON_LOAD, Route103_OnLoad .byte 0 Route103_OnTransition: @ 81EC399 - call Common_EventScript_SetupRivalGender - call Route103_EventScript_2720AD + call Common_EventScript_SetupRivalGfxId + call ProfBirch_EventScript_UpdateLocation end -Route103_MapScript1_1EC3A4: @ 81EC3A4 - call_if_set FLAG_SYS_GAME_CLEAR, Route103_EventScript_1EC3AE +Route103_OnLoad: @ 81EC3A4 + call_if_set FLAG_SYS_GAME_CLEAR, Route103_EventScript_OpenAlteringCave end -Route103_EventScript_1EC3AE:: @ 81EC3AE +Route103_EventScript_OpenAlteringCave:: @ 81EC3AE setmetatile 45, 5, METATILE_General_CaveEntrance_Top, 1 setmetatile 45, 6, METATILE_General_CaveEntrance_Bottom, 0 return -Route103_EventScript_1EC3C1:: @ 81EC3C1 +Route103_EventScript_Rival:: @ 81EC3C1 lockall checkplayergender compare VAR_RESULT, MALE - goto_if_eq Route103_EventScript_1EC3DA + goto_if_eq Route103_EventScript_RivalMay compare VAR_RESULT, FEMALE - goto_if_eq Route103_EventScript_1EC434 + goto_if_eq Route103_EventScript_RivalBrendan end -Route103_EventScript_1EC3DA:: @ 81EC3DA - msgbox Route103_Text_1EC7A6, MSGBOX_DEFAULT +Route103_EventScript_RivalMay:: @ 81EC3DA + msgbox Route103_Text_MayRoute103Pokemon, MSGBOX_DEFAULT closemessage playbgm MUS_GIRL_SUP, 1 applymovement 2, Common_Movement_FacePlayer @@ -36,15 +36,15 @@ Route103_EventScript_1EC3DA:: @ 81EC3DA waitmovement 0 applymovement 2, Common_Movement_Delay48 waitmovement 0 - msgbox Route103_Text_1EC7DE, MSGBOX_DEFAULT + msgbox Route103_Text_MayLetsBattle, MSGBOX_DEFAULT switch VAR_STARTER_MON - case 0, Route103_EventScript_1EC48E - case 1, Route103_EventScript_1EC49E - case 2, Route103_EventScript_1EC4AE + case 0, Route103_EventScript_StartMayBattleTreecko + case 1, Route103_EventScript_StartMayBattleTorchic + case 2, Route103_EventScript_StartMayBattleMudkip end -Route103_EventScript_1EC434:: @ 81EC434 - msgbox Route103_Text_1EC989, MSGBOX_DEFAULT +Route103_EventScript_RivalBrendan:: @ 81EC434 + msgbox Route103_Text_BrendanRoute103Pokemon, MSGBOX_DEFAULT closemessage playbgm MUS_BOY_SUP, 1 applymovement 2, Common_Movement_FacePlayer @@ -53,92 +53,92 @@ Route103_EventScript_1EC434:: @ 81EC434 waitmovement 0 applymovement 2, Common_Movement_Delay48 waitmovement 0 - msgbox Route103_Text_1EC9CE, MSGBOX_DEFAULT + msgbox Route103_Text_BrendanLetsBattle, MSGBOX_DEFAULT switch VAR_STARTER_MON - case 0, Route103_EventScript_1EC4BE - case 1, Route103_EventScript_1EC4CE - case 2, Route103_EventScript_1EC4DE + case 0, Route103_EventScript_StartBrendanBattleTreecko + case 1, Route103_EventScript_StartBrendanBattleTorchic + case 2, Route103_EventScript_StartBrendanBattleMudkip end -Route103_EventScript_1EC48E:: @ 81EC48E - trainerbattle_no_intro TRAINER_MAY_4, Route103_Text_1EC881 - goto Route103_EventScript_1EC4EE +Route103_EventScript_StartMayBattleTreecko:: @ 81EC48E + trainerbattle_no_intro TRAINER_MAY_ROUTE_103_TREECKO, Route103_Text_MayDefeated + goto Route103_EventScript_AfterMayBattle end -Route103_EventScript_1EC49E:: @ 81EC49E - trainerbattle_no_intro TRAINER_MAY_7, Route103_Text_1EC881 - goto Route103_EventScript_1EC4EE +Route103_EventScript_StartMayBattleTorchic:: @ 81EC49E + trainerbattle_no_intro TRAINER_MAY_ROUTE_103_TORCHIC, Route103_Text_MayDefeated + goto Route103_EventScript_AfterMayBattle end -Route103_EventScript_1EC4AE:: @ 81EC4AE - trainerbattle_no_intro TRAINER_MAY_1, Route103_Text_1EC881 - goto Route103_EventScript_1EC4EE +Route103_EventScript_StartMayBattleMudkip:: @ 81EC4AE + trainerbattle_no_intro TRAINER_MAY_ROUTE_103_MUDKIP, Route103_Text_MayDefeated + goto Route103_EventScript_AfterMayBattle end -Route103_EventScript_1EC4BE:: @ 81EC4BE - trainerbattle_no_intro TRAINER_BRENDAN_4, Route103_Text_1ECA59 - goto Route103_EventScript_1EC4FC +Route103_EventScript_StartBrendanBattleTreecko:: @ 81EC4BE + trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_103_TREECKO, Route103_Text_BrendanDefeated + goto Route103_EventScript_AfterBrendanBattle end -Route103_EventScript_1EC4CE:: @ 81EC4CE - trainerbattle_no_intro TRAINER_BRENDAN_7, Route103_Text_1ECA59 - goto Route103_EventScript_1EC4FC +Route103_EventScript_StartBrendanBattleTorchic:: @ 81EC4CE + trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_103_TORCHIC, Route103_Text_BrendanDefeated + goto Route103_EventScript_AfterBrendanBattle end -Route103_EventScript_1EC4DE:: @ 81EC4DE - trainerbattle_no_intro TRAINER_BRENDAN_1, Route103_Text_1ECA59 - goto Route103_EventScript_1EC4FC +Route103_EventScript_StartBrendanBattleMudkip:: @ 81EC4DE + trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_103_MUDKIP, Route103_Text_BrendanDefeated + goto Route103_EventScript_AfterBrendanBattle end -Route103_EventScript_1EC4EE:: @ 81EC4EE - msgbox Route103_Text_1EC8AE, MSGBOX_DEFAULT - goto Route103_EventScript_1EC50A +Route103_EventScript_AfterMayBattle:: @ 81EC4EE + msgbox Route103_Text_MayTimeToHeadBack, MSGBOX_DEFAULT + goto Route103_EventScript_RivalExit end -Route103_EventScript_1EC4FC:: @ 81EC4FC - msgbox Route103_Text_1ECA79, MSGBOX_DEFAULT - goto Route103_EventScript_1EC50A +Route103_EventScript_AfterBrendanBattle:: @ 81EC4FC + msgbox Route103_Text_BrendanTimeToHeadBack, MSGBOX_DEFAULT + goto Route103_EventScript_RivalExit end -Route103_EventScript_1EC50A:: @ 81EC50A +Route103_EventScript_RivalExit:: @ 81EC50A closemessage switch VAR_FACING - case 1, Route103_EventScript_1EC585 - case 2, Route103_EventScript_1EC53D - case 3, Route103_EventScript_1EC561 - case 4, Route103_EventScript_1EC561 + case DIR_SOUTH, Route103_EventScript_RivalExitFacingSouth + case DIR_NORTH, Route103_EventScript_RivalExitFacingNorth + case DIR_WEST, Route103_EventScript_RivalExitFacingEastOrWest + case DIR_EAST, Route103_EventScript_RivalExitFacingEastOrWest end -Route103_EventScript_1EC53D:: @ 81EC53D - applymovement EVENT_OBJ_ID_PLAYER, Route103_Movement_1EC5C8 - applymovement 2, Route103_Movement_1EC5BE +Route103_EventScript_RivalExitFacingNorth:: @ 81EC53D + applymovement EVENT_OBJ_ID_PLAYER, Route103_Movement_WatchRivalExitFacingNorth + applymovement 2, Route103_Movement_RivalExitFacingNorth1 waitmovement 0 playse SE_DANSA - applymovement 2, Route103_Movement_1EC5C1 + applymovement 2, Route103_EventScript_RivalExitFacingNorth2 waitmovement 0 - goto Route103_EventScript_1EC5A2 + goto Route103_EventScript_RivalEnd end -Route103_EventScript_1EC561:: @ 81EC561 - applymovement EVENT_OBJ_ID_PLAYER, Route103_Movement_1EC5D6 - applymovement 2, Route103_Movement_1EC5CE +Route103_EventScript_RivalExitFacingEastOrWest:: @ 81EC561 + applymovement EVENT_OBJ_ID_PLAYER, Route103_Movement_WatchRivalExitFacingEastOrWest + applymovement 2, Route103_Movement_RivalExit1 waitmovement 0 playse SE_DANSA - applymovement 2, Route103_Movement_1EC5D0 + applymovement 2, Route103_Movement_RivalExit2 waitmovement 0 - goto Route103_EventScript_1EC5A2 + goto Route103_EventScript_RivalEnd end -Route103_EventScript_1EC585:: @ 81EC585 - applymovement 2, Route103_Movement_1EC5CE +Route103_EventScript_RivalExitFacingSouth:: @ 81EC585 + applymovement 2, Route103_Movement_RivalExit1 waitmovement 0 playse SE_DANSA - applymovement 2, Route103_Movement_1EC5D0 + applymovement 2, Route103_Movement_RivalExit2 waitmovement 0 - goto Route103_EventScript_1EC5A2 + goto Route103_EventScript_RivalEnd end -Route103_EventScript_1EC5A2:: @ 81EC5A2 +Route103_EventScript_RivalEnd:: @ 81EC5A2 removeobject 2 setvar VAR_BIRCH_LAB_STATE, 4 clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL @@ -150,12 +150,12 @@ Route103_EventScript_1EC5A2:: @ 81EC5A2 releaseall end -Route103_Movement_1EC5BE: @ 81EC5BE +Route103_Movement_RivalExitFacingNorth1: @ 81EC5BE walk_left walk_down step_end -Route103_Movement_1EC5C1: @ 81EC5C1 +Route103_EventScript_RivalExitFacingNorth2: @ 81EC5C1 jump_2_down delay_16 walk_down @@ -164,7 +164,7 @@ Route103_Movement_1EC5C1: @ 81EC5C1 walk_down step_end -Route103_Movement_1EC5C8: @ 81EC5C8 +Route103_Movement_WatchRivalExitFacingNorth: @ 81EC5C8 delay_16 delay_4 walk_in_place_fastest_left @@ -172,11 +172,11 @@ Route103_Movement_1EC5C8: @ 81EC5C8 walk_in_place_fastest_down step_end -Route103_Movement_1EC5CE: @ 81EC5CE +Route103_Movement_RivalExit1: @ 81EC5CE walk_down step_end -Route103_Movement_1EC5D0: @ 81EC5D0 +Route103_Movement_RivalExit2: @ 81EC5D0 jump_2_down delay_16 walk_down @@ -184,118 +184,118 @@ Route103_Movement_1EC5D0: @ 81EC5D0 walk_down step_end -Route103_Movement_1EC5D6: @ 81EC5D6 +Route103_Movement_WatchRivalExitFacingEastOrWest: @ 81EC5D6 delay_16 walk_in_place_fastest_down step_end -Route103_EventScript_1EC5D9:: @ 81EC5D9 - msgbox Route103_Text_1ECB73, MSGBOX_NPC +Route103_EventScript_Boy:: @ 81EC5D9 + msgbox Route103_Text_ShouldHaveBroughtPotion, MSGBOX_NPC end -Route103_EventScript_1EC5E2:: @ 81EC5E2 - msgbox Route103_Text_1ECBB5, MSGBOX_NPC +Route103_EventScript_Man:: @ 81EC5E2 + msgbox Route103_Text_ShortcutToOldale, MSGBOX_NPC end -Route103_EventScript_1EC5EB:: @ 81EC5EB - msgbox Route103_Text_1ECC1A, MSGBOX_SIGN +Route103_EventScript_RouteSign:: @ 81EC5EB + msgbox Route103_Text_RouteSign, MSGBOX_SIGN end -Route103_EventScript_1EC5F4:: @ 81EC5F4 - trainerbattle_single TRAINER_DAISY, Route103_Text_29495A, Route103_Text_29498F - msgbox Route103_Text_2949B4, MSGBOX_AUTOCLOSE +Route103_EventScript_Daisy:: @ 81EC5F4 + trainerbattle_single TRAINER_DAISY, Route103_Text_DaisyIntro, Route103_Text_DaisyDefeated + msgbox Route103_Text_DaisyPostBattle, MSGBOX_AUTOCLOSE end -Route103_EventScript_1EC60B:: @ 81EC60B - trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_2949F9, Route103_Text_294A3D, Route103_Text_294AAE, Route103_EventScript_1EC63A +Route103_EventScript_Amy:: @ 81EC60B + trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_AmyIntro, Route103_Text_AmyDefeated, Route103_Text_AmyNotEnoughPokemon, Route102_EventScript_AmyRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route103_EventScript_1EC653 - msgbox Route103_Text_294A52, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route102_EventScript_AmyRematch + msgbox Route103_Text_AmyPostBattle, MSGBOX_AUTOCLOSE end -Route103_EventScript_1EC63A:: @ 81EC63A - msgbox Route103_Text_294B8A, MSGBOX_DEFAULT +Route102_EventScript_AmyRegisterMatchCallAfterBattle:: @ 81EC63A + msgbox Route103_Text_AmyLivRegister, MSGBOX_DEFAULT register_matchcall TRAINER_AMY_AND_LIV_1 release end -Route103_EventScript_1EC653:: @ 81EC653 - trainerbattle_rematch_double TRAINER_AMY_AND_LIV_1, Route103_Text_294C29, Route103_Text_294C6D, Route103_Text_294CEF - msgbox Route103_Text_294C93, MSGBOX_AUTOCLOSE +Route102_EventScript_AmyRematch:: @ 81EC653 + trainerbattle_rematch_double TRAINER_AMY_AND_LIV_1, Route103_Text_AmyRematchIntro, Route103_Text_AmyRematchDefeated, Route103_Text_AmyRematchNotEnoughPokemon + msgbox Route103_Text_AmyRematchPostBattle, MSGBOX_AUTOCLOSE end -Route103_EventScript_1EC66E:: @ 81EC66E - trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_294AFD, Route103_Text_294B22, Route103_Text_294BD0, Route103_EventScript_1EC69D +Route103_EventScript_Liv:: @ 81EC66E + trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_LivIntro, Route103_Text_LivDefeated, Route103_Text_LivNotEnoughPokemon, Route102_EventScript_LivRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route103_EventScript_1EC6B6 - msgbox Route103_Text_294B40, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route102_EventScript_LivRematch + msgbox Route103_Text_LivPostBattle, MSGBOX_AUTOCLOSE end -Route103_EventScript_1EC69D:: @ 81EC69D - msgbox Route103_Text_294B8A, MSGBOX_DEFAULT +Route102_EventScript_LivRegisterMatchCallAfterBattle:: @ 81EC69D + msgbox Route103_Text_AmyLivRegister, MSGBOX_DEFAULT register_matchcall TRAINER_AMY_AND_LIV_1 release end -Route103_EventScript_1EC6B6:: @ 81EC6B6 - trainerbattle_rematch_double TRAINER_AMY_AND_LIV_1, Route103_Text_294D3E, Route103_Text_294D63, Route103_Text_294DDB - msgbox Route103_Text_294D89, MSGBOX_AUTOCLOSE +Route102_EventScript_LivRematch:: @ 81EC6B6 + trainerbattle_rematch_double TRAINER_AMY_AND_LIV_1, Route103_Text_LivRematchIntro, Route103_Text_LivRematchDefeated, Route103_Text_LivRematchNotEnoughPokemon + msgbox Route103_Text_LivRematchPostBattle, MSGBOX_AUTOCLOSE end -Route103_EventScript_1EC6D1:: @ 81EC6D1 - trainerbattle_single TRAINER_ANDREW, Route103_Text_294E34, Route103_Text_294E92 - msgbox Route103_Text_294EBB, MSGBOX_AUTOCLOSE +Route103_EventScript_Andrew:: @ 81EC6D1 + trainerbattle_single TRAINER_ANDREW, Route103_Text_AndrewIntro, Route103_Text_AndrewDefeated + msgbox Route103_Text_AndrewPostBattle, MSGBOX_AUTOCLOSE end -Route103_EventScript_1EC6E8:: @ 81EC6E8 - trainerbattle_single TRAINER_MIGUEL_1, Route103_Text_294EDF, Route103_Text_294F21, Route103_EventScript_1EC714 +Route103_EventScript_Miguel:: @ 81EC6E8 + trainerbattle_single TRAINER_MIGUEL_1, Route103_Text_MiguelIntro, Route103_Text_MiguelDefeated, Route102_EventScript_MiguelRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route103_EventScript_1EC733 - msgbox Route103_Text_294F42, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route103_EventScript_MiguelRematch + msgbox Route103_Text_MiguelPostBattle, MSGBOX_DEFAULT release end -Route103_EventScript_1EC714:: @ 81EC714 - special sub_80B4808 +Route102_EventScript_MiguelRegisterMatchCallAfterBattle:: @ 81EC714 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route103_Text_294F7E, MSGBOX_DEFAULT + msgbox Route103_Text_MiguelRegister, MSGBOX_DEFAULT register_matchcall TRAINER_MIGUEL_1 release end -Route103_EventScript_1EC733:: @ 81EC733 - trainerbattle_rematch TRAINER_MIGUEL_1, Route103_Text_294FC3, Route103_Text_295006 - msgbox Route103_Text_29501E, MSGBOX_AUTOCLOSE +Route103_EventScript_MiguelRematch:: @ 81EC733 + trainerbattle_rematch TRAINER_MIGUEL_1, Route103_Text_MiguelRematchIntro, Route103_Text_MiguelRematchDefeated + msgbox Route103_Text_MiguelRematchPostBattle, MSGBOX_AUTOCLOSE end -Route103_EventScript_1EC74A:: @ 81EC74A - trainerbattle_single TRAINER_MARCOS, Route103_Text_295206, Route103_Text_29522B - msgbox Route103_Text_295246, MSGBOX_AUTOCLOSE +Route103_EventScript_Marcos:: @ 81EC74A + trainerbattle_single TRAINER_MARCOS, Route103_Text_MarcosIntro, Route103_Text_MarcosDefeated + msgbox Route103_Text_MarcosPostBattle, MSGBOX_AUTOCLOSE end -Route103_EventScript_1EC761:: @ 81EC761 - trainerbattle_single TRAINER_RHETT, Route103_Text_295199, Route103_Text_2951C6 - msgbox Route103_Text_2951DE, MSGBOX_AUTOCLOSE +Route103_EventScript_Rhett:: @ 81EC761 + trainerbattle_single TRAINER_RHETT, Route103_Text_RhettIntro, Route103_Text_RhettDefeated + msgbox Route103_Text_RhettPostBattle, MSGBOX_AUTOCLOSE end -Route103_EventScript_1EC778:: @ 81EC778 - trainerbattle_single TRAINER_PETE, Route103_Text_295063, Route103_Text_295093 - msgbox Route103_Text_2950AA, MSGBOX_AUTOCLOSE +Route103_EventScript_Pete:: @ 81EC778 + trainerbattle_single TRAINER_PETE, Route103_Text_PeteIntro, Route103_Text_PeteDefeated + msgbox Route103_Text_PetePostBattle, MSGBOX_AUTOCLOSE end -Route103_EventScript_1EC78F:: @ 81EC78F - trainerbattle_single TRAINER_ISABELLE, Route103_Text_295116, Route103_Text_295146 - msgbox Route103_Text_29514D, MSGBOX_AUTOCLOSE +Route103_EventScript_Isabelle:: @ 81EC78F + trainerbattle_single TRAINER_ISABELLE, Route103_Text_IsabelleIntro, Route103_Text_IsabelleDefeated + msgbox Route103_Text_IsabellePostBattle, MSGBOX_AUTOCLOSE end -Route103_Text_1EC7A6: @ 81EC7A6 +Route103_Text_MayRoute103Pokemon: @ 81EC7A6 .string "MAY: Let's see… The POKéMON found\n" .string "on ROUTE 103 include…$" -Route103_Text_1EC7DE: @ 81EC7DE +Route103_Text_MayLetsBattle: @ 81EC7DE .string "Oh, hi, {PLAYER}{KUN}!\p" .string "…Oh, I see, my dad gave you\n" .string "a POKéMON as a gift.\p" @@ -304,11 +304,11 @@ Route103_Text_1EC7DE: @ 81EC7DE .string "I'll give you a taste of what being\n" .string "a TRAINER is like.$" -Route103_Text_1EC881: @ 81EC881 +Route103_Text_MayDefeated: @ 81EC881 .string "Wow! That's great!\n" .string "{PLAYER}{KUN}, you're pretty good!$" -Route103_Text_1EC8AE: @ 81EC8AE +Route103_Text_MayTimeToHeadBack: @ 81EC8AE .string "MAY: I think I know why my dad has\n" .string "an eye out for you now.\p" .string "I mean, you just got that POKéMON,\n" @@ -318,11 +318,11 @@ Route103_Text_1EC8AE: @ 81EC8AE .string "Well, it's time to head back to\n" .string "the LAB.$" -Route103_Text_1EC989: @ 81EC989 +Route103_Text_BrendanRoute103Pokemon: @ 81EC989 .string "BRENDAN: Okay, so it's this one and\n" .string "that one that live on ROUTE 103…$" -Route103_Text_1EC9CE: @ 81EC9CE +Route103_Text_BrendanLetsBattle: @ 81EC9CE .string "Hey, it's {PLAYER}!\p" .string "…Oh, yeah, Dad gave you a POKéMON.\p" .string "Since we're here, how about a little\n" @@ -330,10 +330,10 @@ Route103_Text_1EC9CE: @ 81EC9CE .string "I'll teach you what being a TRAINER's\n" .string "about!$" -Route103_Text_1ECA59: @ 81ECA59 +Route103_Text_BrendanDefeated: @ 81ECA59 .string "Huh, {PLAYER}, you're not too shabby.$" -Route103_Text_1ECA79: @ 81ECA79 +Route103_Text_BrendanTimeToHeadBack: @ 81ECA79 .string "BRENDAN: I think I get it.\n" .string "I think I know why my dad has his eye\l" .string "out for you now.\p" @@ -343,16 +343,16 @@ Route103_Text_1ECA79: @ 81ECA79 .string "could befriend any POKéMON with ease.\p" .string "We should head back to the LAB.$" -Route103_Text_1ECB73: @ 81ECB73 +Route103_Text_ShouldHaveBroughtPotion: @ 81ECB73 .string "My POKéMON is staggeringly tired…\n" .string "I should have brought a POTION…$" -Route103_Text_1ECBB5: @ 81ECBB5 +Route103_Text_ShortcutToOldale: @ 81ECBB5 .string "If you cross the sea from here,\n" .string "it'll be a shortcut to OLDALE TOWN.\p" .string "Fufufu, that's useful, isn't it?$" -Route103_Text_1ECC1A: @ 81ECC1A +Route103_Text_RouteSign: @ 81ECC1A .string "ROUTE 103\n" .string "{DOWN_ARROW} OLDALE TOWN$" diff --git a/data/maps/Route104/map.json b/data/maps/Route104/map.json index a02a1e1704..f31c512f77 100644 --- a/data/maps/Route104/map.json +++ b/data/maps/Route104/map.json @@ -40,7 +40,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_1ED00F", + "script": "Route104_EventScript_BugCatcher", "flag": "0" }, { @@ -53,7 +53,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_1ED006", + "script": "Route104_EventScript_Girl1", "flag": "0" }, { @@ -66,7 +66,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "7", - "script": "Route104_EventScript_1ED38D", + "script": "Route104_EventScript_Haley", "flag": "0" }, { @@ -79,7 +79,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_1ED045", + "script": "Route104_EventScript_Boy1", "flag": "0" }, { @@ -92,7 +92,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_1ED04E", + "script": "Route104_EventScript_Woman", "flag": "0" }, { @@ -105,7 +105,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_1ED090", + "script": "Route104_EventScript_Girl2", "flag": "0" }, { @@ -144,7 +144,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_1ED35F", + "script": "Route104_EventScript_Ivan", "flag": "0" }, { @@ -235,7 +235,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_1ECF8C", + "script": "Route104_EventScript_ExpertF", "flag": "0" }, { @@ -313,7 +313,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_1ECFCD", + "script": "Route104_EventScript_WhiteHerbFlorist", "flag": "FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST" }, { @@ -326,7 +326,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route104_EventScript_1ED597", + "script": "Route104_EventScript_Gina", "flag": "0" }, { @@ -339,7 +339,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route104_EventScript_1ED5B6", + "script": "Route104_EventScript_Mia", "flag": "0" }, { @@ -352,7 +352,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route104_EventScript_1ED43B", + "script": "Route104_EventScript_Winston", "flag": "0" }, { @@ -365,7 +365,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route104_EventScript_1ED4E9", + "script": "Route104_EventScript_Cindy", "flag": "0" }, { @@ -391,7 +391,7 @@ "movement_range_y": 6, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route104_EventScript_1ED376", + "script": "Route104_EventScript_Billy", "flag": "0" }, { @@ -443,7 +443,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_1ED057", + "script": "Route104_EventScript_Boy2", "flag": "0" }, { @@ -456,7 +456,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_1ED5D5", + "script": "Route104_EventScript_Darian", "flag": "0" }, { @@ -469,7 +469,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_EventScript_1ECC9E", + "script": "Route104_EventScript_Rival", "flag": "FLAG_HIDE_ROUTE_104_RIVAL" } ], @@ -539,7 +539,7 @@ "elevation": 3, "var": "VAR_ROUTE104_STATE", "var_value": "1", - "script": "Route104_EventScript_1ECCB3" + "script": "Route104_EventScript_RivalTrigger" } ], "bg_events": [ @@ -549,7 +549,7 @@ "y": 50, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route104_EventScript_1ED018" + "script": "Route104_EventScript_BrineysCottageSign" }, { "type": "sign", @@ -557,7 +557,7 @@ "y": 66, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route104_EventScript_1ED021" + "script": "Route104_EventScript_RouteSignPetalburg" }, { "type": "sign", @@ -565,7 +565,7 @@ "y": 5, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route104_EventScript_1ED02A" + "script": "Route104_EventScript_RouteSignRustboro" }, { "type": "sign", @@ -573,7 +573,7 @@ "y": 20, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route104_EventScript_1ED033" + "script": "Route104_EventScript_FlowerShopSign" }, { "type": "sign", @@ -581,7 +581,7 @@ "y": 23, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route104_EventScript_1ED03C" + "script": "Route104_EventScript_TrainerTipsDoubleBattles" }, { "type": "hidden_item", diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc index fd195b973f..deb31d178e 100644 --- a/data/maps/Route104/scripts.inc +++ b/data/maps/Route104/scripts.inc @@ -1,416 +1,417 @@ Route104_MapScripts:: @ 81ECC32 - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route104_MapScript2_1ECC3D + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route104_OnFrame map_script MAP_SCRIPT_ON_TRANSITION, Route104_OnTransition .byte 0 -Route104_MapScript2_1ECC3D: @ 81ECC3D - map_script_2 VAR_BOARD_BRINEY_BOAT_STATE, 1, Route104_EventScript_1ECC47 +Route104_OnFrame: @ 81ECC3D + map_script_2 VAR_BOARD_BRINEY_BOAT_STATE, 1, Route104_EventScript_StartSailToDewford .2byte 0 -Route104_EventScript_1ECC47:: @ 81ECC47 +Route104_EventScript_StartSailToDewford:: @ 81ECC47 lockall - goto Route104_EventScript_1ED099 + goto Route104_EventScript_SailToDewford end Route104_OnTransition: @ 81ECC4E - call Common_EventScript_SetupRivalGender - call Route104_EventScript_1ECC78 - call Route104_EventScript_1ECC5E + call Common_EventScript_SetupRivalGfxId + call Route104_EventScript_TrySetRivalPos + call Route104_EventScript_ShowOrHideWhiteHerbFlorist end -Route104_EventScript_1ECC5E:: @ 81ECC5E - goto_if_unset FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_EventScript_1ECC74 - goto_if_unset FLAG_BADGE03_GET, Route104_EventScript_1ECC74 +Route104_EventScript_ShowOrHideWhiteHerbFlorist:: @ 81ECC5E + goto_if_unset FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_EventScript_HideWhiteHerbFlorist + goto_if_unset FLAG_BADGE03_GET, Route104_EventScript_HideWhiteHerbFlorist clearflag FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST return -Route104_EventScript_1ECC74:: @ 81ECC74 +Route104_EventScript_HideWhiteHerbFlorist:: @ 81ECC74 setflag FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST return -Route104_EventScript_1ECC78:: @ 81ECC78 +Route104_EventScript_TrySetRivalPos:: @ 81ECC78 compare VAR_BOARD_BRINEY_BOAT_STATE, 1 - goto_if_ge Route104_EventScript_1ECC9D - goto_if_set FLAG_MET_RIVAL_RUSTBORO, Route104_EventScript_1ECC9D - goto_if_unset FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_1ECC9D + goto_if_ge Route104_EventScript_DontSetRivalPos + goto_if_set FLAG_MET_RIVAL_RUSTBORO, Route104_EventScript_DontSetRivalPos + goto_if_unset FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_DontSetRivalPos setobjectxyperm 34, 17, 52 return -Route104_EventScript_1ECC9D:: @ 81ECC9D +Route104_EventScript_DontSetRivalPos:: @ 81ECC9D return -Route104_EventScript_1ECC9E:: @ 81ECC9E +Route104_EventScript_Rival:: @ 81ECC9E lockall setvar VAR_0x8008, 1 applymovement 34, Common_Movement_FacePlayer waitmovement 0 - goto Route104_EventScript_1ECD33 + goto Route104_EventScript_RivalEncounter -Route104_EventScript_1ECCB3:: @ 81ECCB3 +Route104_EventScript_RivalTrigger:: @ 81ECCB3 lockall - setflag FLAG_HIDE_RUSBORO_CITY_RIVAL + setflag FLAG_HIDE_RUSTBORO_CITY_RIVAL setvar VAR_RUSTBORO_CITY_STATE, 8 setvar VAR_ROUTE104_STATE, 2 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 10 addobject 34 clearflag FLAG_HIDE_ROUTE_104_RIVAL - applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECF86 + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_PlayerBackUp waitmovement 0 - applymovement 34, Route104_Movement_1ECF8A + applymovement 34, Route104_Movement_RivalExitBrineysCottage waitmovement 0 delay 20 setvar VAR_0x8008, 0 - call Route104_EventScript_1E0DD1 + call RustboroCity_EventScript_PlayRivalMusic playse SE_PIN applymovement 34, Common_Movement_ExclamationMark waitmovement 0 applymovement 34, Common_Movement_Delay48 waitmovement 0 - goto Route104_EventScript_1ECD33 + goto Route104_EventScript_RivalEncounter -Route104_EventScript_1ECD11:: @ 81ECD11 +@ Unused, shares script with Rustboro encounter instead +Route104_EventScript_PlayRivalMusic:: @ 81ECD11 checkplayergender compare VAR_RESULT, MALE - goto_if_eq Route104_EventScript_1ECD29 + goto_if_eq Route104_EventScript_PlayMayMusic compare VAR_RESULT, FEMALE - goto_if_eq Route104_EventScript_1ECD2E + goto_if_eq Route104_EventScript_PlayBrendanMusic return -Route104_EventScript_1ECD29:: @ 81ECD29 +Route104_EventScript_PlayMayMusic:: @ 81ECD29 playbgm MUS_GIRL_SUP, 1 return -Route104_EventScript_1ECD2E:: @ 81ECD2E +Route104_EventScript_PlayBrendanMusic:: @ 81ECD2E playbgm MUS_BOY_SUP, 1 return -Route104_EventScript_1ECD33:: @ 81ECD33 +Route104_EventScript_RivalEncounter:: @ 81ECD33 checkplayergender compare VAR_RESULT, MALE - goto_if_eq Route104_EventScript_1ECD4B + goto_if_eq Route104_EventScript_MayEncounter compare VAR_RESULT, FEMALE - goto_if_eq Route104_EventScript_1ECE6F + goto_if_eq Route104_EventScript_BrendanEncounter end -Route104_EventScript_1ECD4B:: @ 81ECD4B - goto_if_set FLAG_DEFEATED_RIVAL_ROUTE_104, Route104_EventScript_1ECE1C - goto_if_set FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_1ECDD0 +Route104_EventScript_MayEncounter:: @ 81ECD4B + goto_if_set FLAG_DEFEATED_RIVAL_ROUTE_104, Route104_EventScript_MayDefeated + goto_if_set FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_MayAskToBattle setflag FLAG_REGISTER_RIVAL_POKENAV - msgbox Route104_Text_1EDBFF, MSGBOX_DEFAULT + msgbox Route104_Text_MayWeShouldRegister, MSGBOX_DEFAULT closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox Route104_Text_1EDC8F, MSGBOX_DEFAULT + msgbox Route104_Text_RegisteredMay, MSGBOX_DEFAULT waitfanfare closemessage delay 30 setflag FLAG_ENABLE_RIVAL_MATCH_CALL - applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECDCD - applymovement 34, Route104_Movement_1ECDC8 - msgbox Route104_Text_1EDCB1, MSGBOX_DEFAULT + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_PlayerFaceRival + applymovement 34, Route104_Movement_RivalWalkSlowLeft + msgbox Route104_Text_MayHowsYourPokedex, MSGBOX_DEFAULT closemessage waitmovement 0 - applymovement 34, Route104_Movement_1ECDCA + applymovement 34, Route104_Movement_RivalApproachPlayer waitmovement 0 copyobjectxytoperm 34 - msgbox Route104_Text_1EDCED, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route104_EventScript_1ECDED - msgbox Route104_Text_1EDD2A, MSGBOX_DEFAULT - call Route104_EventScript_1ECE31 + msgbox Route104_Text_MayMinesDecentLetsBattle, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route104_EventScript_BattleMay + msgbox Route104_Text_MayHaventRaisedPokemon, MSGBOX_DEFAULT + call Route104_EventScript_RestoreMusic releaseall end -Route104_Movement_1ECDC8: @ 81ECDC8 +Route104_Movement_RivalWalkSlowLeft: @ 81ECDC8 walk_slow_left step_end -Route104_Movement_1ECDCA: @ 81ECDCA +Route104_Movement_RivalApproachPlayer: @ 81ECDCA walk_down face_right step_end -Route104_Movement_1ECDCD: @ 81ECDCD +Route104_Movement_PlayerFaceRival: @ 81ECDCD delay_4 walk_in_place_fastest_left step_end -Route104_EventScript_1ECDD0:: @ 81ECDD0 - msgbox Route104_Text_1EDD9F, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route104_EventScript_1ECDED - msgbox Route104_Text_1EDD2A, MSGBOX_DEFAULT +Route104_EventScript_MayAskToBattle:: @ 81ECDD0 + msgbox Route104_Text_MayLetsBattle, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route104_EventScript_BattleMay + msgbox Route104_Text_MayHaventRaisedPokemon, MSGBOX_DEFAULT releaseall end -Route104_EventScript_1ECDED:: @ 81ECDED - msgbox Route104_Text_1EDDDB, MSGBOX_DEFAULT +Route104_EventScript_BattleMay:: @ 81ECDED + msgbox Route104_Text_MayIntro, MSGBOX_DEFAULT switch VAR_STARTER_MON - case 0, Route104_EventScript_1ECE36 - case 1, Route104_EventScript_1ECE49 - case 2, Route104_EventScript_1ECE5C + case 0, Route104_EventScript_BattleMayTreecko + case 1, Route104_EventScript_BattleMayTorchic + case 2, Route104_EventScript_BattleMayMudkip end -Route104_EventScript_1ECE1C:: @ 81ECE1C - msgbox Route104_Text_1EDE3E, MSGBOX_DEFAULT +Route104_EventScript_MayDefeated:: @ 81ECE1C + msgbox Route104_Text_MayPostBattle, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if_eq Route104_EventScript_1ECE31 + call_if_eq Route104_EventScript_RestoreMusic releaseall end -Route104_EventScript_1ECE31:: @ 81ECE31 +Route104_EventScript_RestoreMusic:: @ 81ECE31 savebgm MUS_DUMMY fadedefaultbgm return -Route104_EventScript_1ECE36:: @ 81ECE36 - trainerbattle_no_intro TRAINER_MAY_14, Route104_Text_1EDE18 +Route104_EventScript_BattleMayTreecko:: @ 81ECE36 + trainerbattle_no_intro TRAINER_MAY_RUSTBORO_TREECKO, Route104_Text_MayDefeat setflag FLAG_DEFEATED_RIVAL_ROUTE_104 - goto Route104_EventScript_1ECE1C + goto Route104_EventScript_MayDefeated end -Route104_EventScript_1ECE49:: @ 81ECE49 - trainerbattle_no_intro TRAINER_MAY_15, Route104_Text_1EDE18 +Route104_EventScript_BattleMayTorchic:: @ 81ECE49 + trainerbattle_no_intro TRAINER_MAY_RUSTBORO_TORCHIC, Route104_Text_MayDefeat setflag FLAG_DEFEATED_RIVAL_ROUTE_104 - goto Route104_EventScript_1ECE1C + goto Route104_EventScript_MayDefeated end -Route104_EventScript_1ECE5C:: @ 81ECE5C - trainerbattle_no_intro TRAINER_MAY_10, Route104_Text_1EDE18 +Route104_EventScript_BattleMayMudkip:: @ 81ECE5C + trainerbattle_no_intro TRAINER_MAY_RUSTBORO_MUDKIP, Route104_Text_MayDefeat setflag FLAG_DEFEATED_RIVAL_ROUTE_104 - goto Route104_EventScript_1ECE1C + goto Route104_EventScript_MayDefeated end -Route104_EventScript_1ECE6F:: @ 81ECE6F - goto_if_set FLAG_DEFEATED_RIVAL_ROUTE_104, Route104_EventScript_1ECF38 - goto_if_set FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_1ECEEC +Route104_EventScript_BrendanEncounter:: @ 81ECE6F + goto_if_set FLAG_DEFEATED_RIVAL_ROUTE_104, Route104_EventScript_BrendanDefeated + goto_if_set FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_BrendanAskToBattle setflag FLAG_REGISTER_RIVAL_POKENAV - msgbox Route104_Text_1EDF04, MSGBOX_DEFAULT + msgbox Route104_Text_BrendanWeShouldRegister, MSGBOX_DEFAULT closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox Route104_Text_1EDFA0, MSGBOX_DEFAULT + msgbox Route104_Text_RegisteredBrendan, MSGBOX_DEFAULT waitfanfare closemessage delay 30 setflag FLAG_ENABLE_RIVAL_MATCH_CALL - applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECDCD - applymovement 34, Route104_Movement_1ECDC8 - msgbox Route104_Text_1EDFC6, MSGBOX_DEFAULT + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_PlayerFaceRival + applymovement 34, Route104_Movement_RivalWalkSlowLeft + msgbox Route104_Text_BrendanHowsYourPokedex, MSGBOX_DEFAULT closemessage waitmovement 0 - applymovement 34, Route104_Movement_1ECDCA + applymovement 34, Route104_Movement_RivalApproachPlayer waitmovement 0 copyobjectxytoperm 34 - msgbox Route104_Text_1EE009, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route104_EventScript_1ECF09 - msgbox Route104_Text_1EE04D, MSGBOX_DEFAULT - call Route104_EventScript_1ECE31 + msgbox Route104_Text_BrendanDoingGreatLetsBattle, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route104_EventScript_BattleBrendan + msgbox Route104_Text_BrendanNoConfidence, MSGBOX_DEFAULT + call Route104_EventScript_RestoreMusic releaseall end -Route104_EventScript_1ECEEC:: @ 81ECEEC - msgbox Route104_Text_1EE094, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route104_EventScript_1ECF09 - msgbox Route104_Text_1EE04D, MSGBOX_DEFAULT +Route104_EventScript_BrendanAskToBattle:: @ 81ECEEC + msgbox Route104_Text_BrendanLetsBattle, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route104_EventScript_BattleBrendan + msgbox Route104_Text_BrendanNoConfidence, MSGBOX_DEFAULT releaseall end -Route104_EventScript_1ECF09:: @ 81ECF09 - msgbox Route104_Text_1EE0C7, MSGBOX_DEFAULT +Route104_EventScript_BattleBrendan:: @ 81ECF09 + msgbox Route104_Text_BrendanIntro, MSGBOX_DEFAULT switch VAR_STARTER_MON - case 0, Route104_EventScript_1ECF4D - case 1, Route104_EventScript_1ECF60 - case 2, Route104_EventScript_1ECF73 + case 0, Route104_EventScript_BattleBrendanTreecko + case 1, Route104_EventScript_BattleBrendanTorchic + case 2, Route104_EventScript_BattleBrendanMudkip end -Route104_EventScript_1ECF38:: @ 81ECF38 - msgbox Route104_Text_1EE120, MSGBOX_DEFAULT +Route104_EventScript_BrendanDefeated:: @ 81ECF38 + msgbox Route104_Text_BrendanPostBattle, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if_eq Route104_EventScript_1ECE31 + call_if_eq Route104_EventScript_RestoreMusic releaseall end -Route104_EventScript_1ECF4D:: @ 81ECF4D - trainerbattle_no_intro TRAINER_BRENDAN_10, Route104_Text_1EE107 +Route104_EventScript_BattleBrendanTreecko:: @ 81ECF4D + trainerbattle_no_intro TRAINER_BRENDAN_RUSTBORO_TREECKO, Route104_Text_BrendanDefeat setflag FLAG_DEFEATED_RIVAL_ROUTE_104 - goto Route104_EventScript_1ECF38 + goto Route104_EventScript_BrendanDefeated end -Route104_EventScript_1ECF60:: @ 81ECF60 - trainerbattle_no_intro TRAINER_BRENDAN_12, Route104_Text_1EE107 +Route104_EventScript_BattleBrendanTorchic:: @ 81ECF60 + trainerbattle_no_intro TRAINER_BRENDAN_RUSTBORO_TORCHIC, Route104_Text_BrendanDefeat setflag FLAG_DEFEATED_RIVAL_ROUTE_104 - goto Route104_EventScript_1ECF38 + goto Route104_EventScript_BrendanDefeated end -Route104_EventScript_1ECF73:: @ 81ECF73 - trainerbattle_no_intro TRAINER_BRENDAN_11, Route104_Text_1EE107 +Route104_EventScript_BattleBrendanMudkip:: @ 81ECF73 + trainerbattle_no_intro TRAINER_BRENDAN_RUSTBORO_MUDKIP, Route104_Text_BrendanDefeat setflag FLAG_DEFEATED_RIVAL_ROUTE_104 - goto Route104_EventScript_1ECF38 + goto Route104_EventScript_BrendanDefeated end -Route104_Movement_1ECF86: @ 81ECF86 +Route104_Movement_PlayerBackUp: @ 81ECF86 lock_facing_direction walk_down unlock_facing_direction step_end -Route104_Movement_1ECF8A: @ 81ECF8A +Route104_Movement_RivalExitBrineysCottage: @ 81ECF8A walk_down step_end -Route104_EventScript_1ECF8C:: @ 81ECF8C +Route104_EventScript_ExpertF:: @ 81ECF8C lock faceplayer - goto_if_set FLAG_RECEIVED_CHESTO_BERRY_ROUTE_104, Route104_EventScript_1ECFC3 - msgbox Route104_Text_2A6D86, MSGBOX_DEFAULT - giveitem_std ITEM_CHESTO_BERRY - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_CHESTO_BERRY_ROUTE_104, Route104_EventScript_ReceivedBerry + msgbox Route104_Text_PlantBerriesInSoilTakeThis, MSGBOX_DEFAULT + giveitem ITEM_CHESTO_BERRY + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_CHESTO_BERRY_ROUTE_104 - msgbox Route104_Text_2A6E32, MSGBOX_DEFAULT + msgbox Route104_Text_TrainersOftenMakeMonHoldBerries, MSGBOX_DEFAULT release end -Route104_EventScript_1ECFC3:: @ 81ECFC3 - msgbox Route104_Text_2A6E32, MSGBOX_DEFAULT +Route104_EventScript_ReceivedBerry:: @ 81ECFC3 + msgbox Route104_Text_TrainersOftenMakeMonHoldBerries, MSGBOX_DEFAULT release end -Route104_EventScript_1ECFCD:: @ 81ECFCD +Route104_EventScript_WhiteHerbFlorist:: @ 81ECFCD lock faceplayer - goto_if_set FLAG_RECEIVED_WHITE_HERB, Route104_EventScript_1ECFFC - msgbox Route104_Text_1ED96A, MSGBOX_DEFAULT - giveitem_std ITEM_WHITE_HERB - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_WHITE_HERB, Route104_EventScript_ReceivedWhiteHerb + msgbox Route104_Text_DontNeedThisTakeIt, MSGBOX_DEFAULT + giveitem ITEM_WHITE_HERB + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_WHITE_HERB release end -Route104_EventScript_1ECFFC:: @ 81ECFFC - msgbox Route104_Text_1EDA0F, MSGBOX_DEFAULT +Route104_EventScript_ReceivedWhiteHerb:: @ 81ECFFC + msgbox Route104_Text_FlowerShopSellingSaplings, MSGBOX_DEFAULT release end -Route104_EventScript_1ED006:: @ 81ED006 - msgbox Route104_Text_1ED5EC, MSGBOX_NPC +Route104_EventScript_Girl1:: @ 81ED006 + msgbox Route104_Text_BrineyLivesInSeasideCottage, MSGBOX_NPC end -Route104_EventScript_1ED00F:: @ 81ED00F - msgbox Route104_Text_1ED662, MSGBOX_SIGN +Route104_EventScript_BugCatcher:: @ 81ED00F + msgbox Route104_Text_WhatsItLikeAtBottomOfSea, MSGBOX_SIGN end -Route104_EventScript_1ED018:: @ 81ED018 - msgbox Route104_Text_1EDA8C, MSGBOX_SIGN +Route104_EventScript_BrineysCottageSign:: @ 81ED018 + msgbox Route104_Text_MrBrineysCottage, MSGBOX_SIGN end -Route104_EventScript_1ED021:: @ 81ED021 - msgbox Route104_Text_1EDAA1, MSGBOX_SIGN +Route104_EventScript_RouteSignPetalburg:: @ 81ED021 + msgbox Route104_Text_RouteSignPetalburg, MSGBOX_SIGN end -Route104_EventScript_1ED02A:: @ 81ED02A - msgbox Route104_Text_1EDABC, MSGBOX_SIGN +Route104_EventScript_RouteSignRustboro:: @ 81ED02A + msgbox Route104_Text_RouteSignRustboro, MSGBOX_SIGN end -Route104_EventScript_1ED033:: @ 81ED033 - msgbox Route104_Text_1EDAD6, MSGBOX_SIGN +Route104_EventScript_FlowerShopSign:: @ 81ED033 + msgbox Route104_Text_PrettyPetalFlowShop, MSGBOX_SIGN end -Route104_EventScript_1ED03C:: @ 81ED03C - msgbox Route104_Text_1EDAEF, MSGBOX_SIGN +Route104_EventScript_TrainerTipsDoubleBattles:: @ 81ED03C + msgbox Route104_Text_TrainerTipsDoubleBattles, MSGBOX_SIGN end -Route104_EventScript_1ED045:: @ 81ED045 - msgbox Route104_Text_1ED6A2, MSGBOX_NPC +Route104_EventScript_Boy1:: @ 81ED045 + msgbox Route104_Text_ThrowBallAtWeakenedPokemon, MSGBOX_NPC end -Route104_EventScript_1ED04E:: @ 81ED04E - msgbox Route104_Text_1ED735, MSGBOX_NPC +Route104_EventScript_Woman:: @ 81ED04E + msgbox Route104_Text_OnlyThrowBallAtWildPokemon, MSGBOX_NPC end -Route104_EventScript_1ED057:: @ 81ED057 +Route104_EventScript_Boy2:: @ 81ED057 lock faceplayer - goto_if_set FLAG_RECEIVED_TM09, Route104_EventScript_1ED086 - msgbox Route104_Text_1ED838, MSGBOX_DEFAULT - giveitem_std ITEM_TM09 - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_TM09, Route104_EventScript_ReceivedBulletSeed + msgbox Route104_Text_LikeFillingMouthWithSeedsTakeThis, MSGBOX_DEFAULT + giveitem ITEM_TM09 + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_TM09 release end -Route104_EventScript_1ED086:: @ 81ED086 - msgbox Route104_Text_1ED8E7, MSGBOX_DEFAULT +Route104_EventScript_ReceivedBulletSeed:: @ 81ED086 + msgbox Route104_Text_TMsAreOneTimeUse, MSGBOX_DEFAULT release end -Route104_EventScript_1ED090:: @ 81ED090 - msgbox Route104_Text_1ED7A2, MSGBOX_NPC +Route104_EventScript_Girl2:: @ 81ED090 + msgbox Route104_Text_ImNotATrainer, MSGBOX_NPC end -Route104_EventScript_1ED099:: @ 81ED099 +Route104_EventScript_SailToDewford:: @ 81ED099 setobjectpriority 8, MAP_ROUTE104, 0 setobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE104, 0 - applymovement 8, Route104_Movement_1ED359 + applymovement 8, Route104_Movement_BrineyBoardBoat waitmovement 0 removeobject 8 - applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED34F + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_PlayerBoardBoat waitmovement 0 hideobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE104 - call Route104_EventScript_2720A0 - goto_if_set FLAG_ENABLE_NORMAN_MATCH_CALL, Route104_EventScript_1ED0D9 - goto_if_unset FLAG_ENABLE_NORMAN_MATCH_CALL, Route104_EventScript_1ED0EF + call Common_EventScript_PlayBrineysBoatMusic + goto_if_set FLAG_ENABLE_NORMAN_MATCH_CALL, Route104_EventScript_SailToDewfordNoCall + goto_if_unset FLAG_ENABLE_NORMAN_MATCH_CALL, Route104_EventScript_SailToDewfordDadCalls end -Route104_EventScript_1ED0D9:: @ 81ED0D9 - applymovement 7, Route104_Movement_1ED28C - applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED28C +Route104_EventScript_SailToDewfordNoCall:: @ 81ED0D9 + applymovement 7, Route104_Movement_SailToDewford + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_SailToDewford waitmovement 0 - goto Route104_EventScript_1ED139 + goto Route104_EventScript_ArriveInDewford -Route104_EventScript_1ED0EF:: @ 81ED0EF - applymovement 7, Route104_Movement_1ED1C8 - applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED1C8 +Route104_EventScript_SailToDewfordDadCalls:: @ 81ED0EF + applymovement 7, Route104_Movement_SailToDewfordBeforeDadCalls + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_SailToDewfordBeforeDadCalls waitmovement 0 - pokenavcall Route104_Text_1EE336 + pokenavcall Route104_Text_DadPokenavCall waitmessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox Route104_Text_1EE463, MSGBOX_DEFAULT + msgbox Route104_Text_RegisteredDadInPokenav, MSGBOX_DEFAULT waitfanfare closemessage delay 30 setflag FLAG_ENABLE_NORMAN_MATCH_CALL - applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED22A - applymovement 7, Route104_Movement_1ED22A, MAP_ROUTE104 + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_SailToDewfordAfterDadCalls + applymovement 7, Route104_Movement_SailToDewfordAfterDadCalls, MAP_ROUTE104 waitmovement 7, MAP_ROUTE104 waitmovement 0 - goto Route104_EventScript_1ED139 + goto Route104_EventScript_ArriveInDewford -Route104_EventScript_1ED139:: @ 81ED139 +Route104_EventScript_ArriveInDewford:: @ 81ED139 delay 50 - applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED353 + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_PlayerExitBoat waitmovement 0 - call Route104_EventScript_2720A8 + call Common_EventScript_StopBrineysBoatMusic showobjectat EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN - applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED355 + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_PlayerMoveForBriney waitmovement 0 setobjectxyperm 2, 12, 8 addobject 2 setobjectpriority 2, MAP_DEWFORD_TOWN, 0 clearflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN - applymovement 2, Route104_Movement_1ED35C + applymovement 2, Route104_Movement_BrineyExitBoat waitmovement 0 addobject 4 clearflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN - call Route104_EventScript_2720A8 + call Common_EventScript_StopBrineysBoatMusic setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT hideobjectat 7, MAP_ROUTE104 copyvar VAR_BRINEY_LOCATION, VAR_0x8008 @@ -418,21 +419,21 @@ Route104_EventScript_1ED139:: @ 81ED139 resetobjectpriority 2, MAP_DEWFORD_TOWN copyobjectxytoperm 2 setvar VAR_BOARD_BRINEY_BOAT_STATE, 0 - goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_1ED1B4 - goto_if_set FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_1ED1BE + goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_DeliverLetterReminder + goto_if_set FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_LandedInDewford end -Route104_EventScript_1ED1B4:: @ 81ED1B4 - msgbox Route104_Text_1E9AAF, MSGBOX_DEFAULT +Route104_EventScript_DeliverLetterReminder:: @ 81ED1B4 + msgbox Route104_Text_LandedInDewfordDeliverLetter, MSGBOX_DEFAULT releaseall end -Route104_EventScript_1ED1BE:: @ 81ED1BE - msgbox Route104_Text_1E9C1D, MSGBOX_DEFAULT +Route104_EventScript_LandedInDewford:: @ 81ED1BE + msgbox DewfordTown_Text_BrineyLandedInDewford, MSGBOX_DEFAULT releaseall end -Route104_Movement_1ED1C8: @ 81ED1C8 +Route104_Movement_SailToDewfordBeforeDadCalls: @ 81ED1C8 walk_down walk_down walk_down @@ -532,7 +533,7 @@ Route104_Movement_1ED1C8: @ 81ED1C8 walk_fastest_down step_end -Route104_Movement_1ED22A: @ 81ED22A +Route104_Movement_SailToDewfordAfterDadCalls: @ 81ED22A walk_fastest_down walk_fastest_down walk_fastest_down @@ -632,7 +633,7 @@ Route104_Movement_1ED22A: @ 81ED22A walk_down step_end -Route104_Movement_1ED28C: @ 81ED28C +Route104_Movement_SailToDewford: @ 81ED28C walk_down walk_down walk_down @@ -829,235 +830,235 @@ Route104_Movement_1ED28C: @ 81ED28C walk_down step_end -Route104_Movement_1ED34F: @ 81ED34F +Route104_Movement_PlayerBoardBoat: @ 81ED34F walk_left walk_down walk_down step_end -Route104_Movement_1ED353: @ 81ED353 +Route104_Movement_PlayerExitBoat: @ 81ED353 walk_down step_end -Route104_Movement_1ED355: @ 81ED355 +Route104_Movement_PlayerMoveForBriney: @ 81ED355 walk_down walk_left walk_in_place_fastest_right step_end -Route104_Movement_1ED359: @ 81ED359 +Route104_Movement_BrineyBoardBoat: @ 81ED359 walk_down walk_down step_end -Route104_Movement_1ED35C: @ 81ED35C +Route104_Movement_BrineyExitBoat: @ 81ED35C walk_down walk_in_place_fastest_left step_end -Route104_EventScript_1ED35F:: @ 81ED35F - trainerbattle_single TRAINER_IVAN, Route104_Text_2954BD, Route104_Text_295509 - msgbox Route104_Text_29554E, MSGBOX_AUTOCLOSE +Route104_EventScript_Ivan:: @ 81ED35F + trainerbattle_single TRAINER_IVAN, Route104_Text_IvanIntro, Route104_Text_IvanDefeat + msgbox Route104_Text_IvanPostBattle, MSGBOX_AUTOCLOSE end -Route104_EventScript_1ED376:: @ 81ED376 - trainerbattle_single TRAINER_BILLY, Route104_Text_29558A, Route104_Text_2955B4 - msgbox Route104_Text_2955E8, MSGBOX_AUTOCLOSE +Route104_EventScript_Billy:: @ 81ED376 + trainerbattle_single TRAINER_BILLY, Route104_Text_BillyIntro, Route104_Text_BillyDefeat + msgbox Route104_Text_BillyPostBattle, MSGBOX_AUTOCLOSE end -Route104_EventScript_1ED38D:: @ 81ED38D - trainerbattle_single TRAINER_HALEY_1, Route104_Text_29563A, Route104_Text_29566F, Route104_EventScript_1ED3CE +Route104_EventScript_Haley:: @ 81ED38D + trainerbattle_single TRAINER_HALEY_1, Route104_Text_HaleyIntro, Route104_Text_HaleyDefeat, Route104_EventScript_TryRegisterHaleyAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route104_EventScript_1ED424 - setvar VAR_0x8004, 604 - specialvar VAR_RESULT, sub_813B4E0 - compare VAR_RESULT, 0 - goto_if_eq Route104_EventScript_1ED3F8 - msgbox Route104_Text_295689, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route104_EventScript_RematchHaley + setvar VAR_0x8004, TRAINER_HALEY_1 + specialvar VAR_RESULT, IsTrainerRegistered + compare VAR_RESULT, FALSE + goto_if_eq Route104_EventScript_TryRegisterHaley + msgbox Route104_Text_HaleyPostBattle, MSGBOX_DEFAULT release end -Route104_EventScript_1ED3CE:: @ 81ED3CE - special sub_80B4808 +Route104_EventScript_TryRegisterHaleyAfterBattle:: @ 81ED3CE + special PlayerFaceTrainerAfterBattle waitmovement 0 - goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED3DF + goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_RegisterHaleyAfterBattle release end -Route104_EventScript_1ED3DF:: @ 81ED3DF - msgbox Route104_Text_29576B, MSGBOX_DEFAULT +Route104_EventScript_RegisterHaleyAfterBattle:: @ 81ED3DF + msgbox Route104_Text_HaleyRegister2, MSGBOX_DEFAULT register_matchcall TRAINER_HALEY_1 release end -Route104_EventScript_1ED3F8:: @ 81ED3F8 - goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED40B - msgbox Route104_Text_295689, MSGBOX_DEFAULT +Route104_EventScript_TryRegisterHaley:: @ 81ED3F8 + goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_RegisterHaley + msgbox Route104_Text_HaleyPostBattle, MSGBOX_DEFAULT release end -Route104_EventScript_1ED40B:: @ 81ED40B - msgbox Route104_Text_2956FF, MSGBOX_DEFAULT +Route104_EventScript_RegisterHaley:: @ 81ED40B + msgbox Route104_Text_HaleyRegister1, MSGBOX_DEFAULT register_matchcall TRAINER_HALEY_1 release end -Route104_EventScript_1ED424:: @ 81ED424 - trainerbattle_rematch TRAINER_HALEY_1, Route104_Text_2957D7, Route104_Text_2957F0 - msgbox Route104_Text_29580C, MSGBOX_AUTOCLOSE +Route104_EventScript_RematchHaley:: @ 81ED424 + trainerbattle_rematch TRAINER_HALEY_1, Route104_Text_HaleyRematchIntro, Route104_Text_HaleyRematchDefeat + msgbox Route104_Text_HaleyPostRematch, MSGBOX_AUTOCLOSE end -Route104_EventScript_1ED43B:: @ 81ED43B - trainerbattle_single TRAINER_WINSTON_1, Route104_Text_295870, Route104_Text_2958AD, Route104_EventScript_1ED47C +Route104_EventScript_Winston:: @ 81ED43B + trainerbattle_single TRAINER_WINSTON_1, Route104_Text_WinstonIntro, Route104_Text_WinstonDefeat, Route104_EventScript_TryRegisterWinstonAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route104_EventScript_1ED4D2 - setvar VAR_0x8004, 136 - specialvar VAR_RESULT, sub_813B4E0 - compare VAR_RESULT, 0 - goto_if_eq Route104_EventScript_1ED4A6 - msgbox Route104_Text_2958C1, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route104_EventScript_RematchWinston + setvar VAR_0x8004, TRAINER_WINSTON_1 + specialvar VAR_RESULT, IsTrainerRegistered + compare VAR_RESULT, FALSE + goto_if_eq Route104_EventScript_TryRegisterWinston + msgbox Route104_Text_WinstonPostBattle, MSGBOX_DEFAULT release end -Route104_EventScript_1ED47C:: @ 81ED47C - special sub_80B4808 +Route104_EventScript_TryRegisterWinstonAfterBattle:: @ 81ED47C + special PlayerFaceTrainerAfterBattle waitmovement 0 - goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED48D + goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_RegisterWinstonAfterBattle release end -Route104_EventScript_1ED48D:: @ 81ED48D - msgbox Route104_Text_29595A, MSGBOX_DEFAULT +Route104_EventScript_RegisterWinstonAfterBattle:: @ 81ED48D + msgbox Route104_Text_WinstonRegister2, MSGBOX_DEFAULT register_matchcall TRAINER_WINSTON_1 release end -Route104_EventScript_1ED4A6:: @ 81ED4A6 - goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED4B9 - msgbox Route104_Text_2958C1, MSGBOX_DEFAULT +Route104_EventScript_TryRegisterWinston:: @ 81ED4A6 + goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_RegisterWinston + msgbox Route104_Text_WinstonPostBattle, MSGBOX_DEFAULT release end -Route104_EventScript_1ED4B9:: @ 81ED4B9 - msgbox Route104_Text_2958F8, MSGBOX_DEFAULT +Route104_EventScript_RegisterWinston:: @ 81ED4B9 + msgbox Route104_Text_WinstonRegister1, MSGBOX_DEFAULT register_matchcall TRAINER_WINSTON_1 release end -Route104_EventScript_1ED4D2:: @ 81ED4D2 - trainerbattle_rematch TRAINER_WINSTON_1, Route104_Text_2959BC, Route104_Text_2959FC - msgbox Route104_Text_295A1E, MSGBOX_AUTOCLOSE +Route104_EventScript_RematchWinston:: @ 81ED4D2 + trainerbattle_rematch TRAINER_WINSTON_1, Route104_Text_WinstonRematchIntro, Route104_Text_WinstonRematchDefeat + msgbox Route104_Text_WinstonPostRematch, MSGBOX_AUTOCLOSE end -Route104_EventScript_1ED4E9:: @ 81ED4E9 - trainerbattle_single TRAINER_CINDY_1, Route104_Text_295A7E, Route104_Text_295ABB, Route104_EventScript_1ED52A +Route104_EventScript_Cindy:: @ 81ED4E9 + trainerbattle_single TRAINER_CINDY_1, Route104_Text_CindyIntro, Route104_Text_CindyDefeat, Route104_EventScript_TryRegisterCindyAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route104_EventScript_1ED580 - setvar VAR_0x8004, 114 - specialvar VAR_RESULT, sub_813B4E0 - compare VAR_RESULT, 0 - goto_if_eq Route104_EventScript_1ED554 - msgbox Route104_Text_295AC3, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route104_EventScript_RematchCindy + setvar VAR_0x8004, TRAINER_CINDY_1 + specialvar VAR_RESULT, IsTrainerRegistered + compare VAR_RESULT, FALSE + goto_if_eq Route104_EventScript_TryRegisterCindy + msgbox Route104_Text_CindyPostBattle, MSGBOX_DEFAULT release end -Route104_EventScript_1ED52A:: @ 81ED52A - special sub_80B4808 +Route104_EventScript_TryRegisterCindyAfterBattle:: @ 81ED52A + special PlayerFaceTrainerAfterBattle waitmovement 0 - goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED53B + goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_RegisterCindyAfterBattle release end -Route104_EventScript_1ED53B:: @ 81ED53B - msgbox Route104_Text_295B60, MSGBOX_DEFAULT +Route104_EventScript_RegisterCindyAfterBattle:: @ 81ED53B + msgbox Route104_Text_CindyRegister2, MSGBOX_DEFAULT register_matchcall TRAINER_CINDY_1 release end -Route104_EventScript_1ED554:: @ 81ED554 - goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED567 - msgbox Route104_Text_295AC3, MSGBOX_DEFAULT +Route104_EventScript_TryRegisterCindy:: @ 81ED554 + goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_RegisterCindy + msgbox Route104_Text_CindyPostBattle, MSGBOX_DEFAULT release end -Route104_EventScript_1ED567:: @ 81ED567 - msgbox Route104_Text_295B01, MSGBOX_DEFAULT +Route104_EventScript_RegisterCindy:: @ 81ED567 + msgbox Route104_Text_CindyRegister1, MSGBOX_DEFAULT register_matchcall TRAINER_CINDY_1 release end -Route104_EventScript_1ED580:: @ 81ED580 - trainerbattle_rematch TRAINER_CINDY_1, Route104_Text_295BC8, Route104_Text_295BFA - msgbox Route104_Text_295C1F, MSGBOX_AUTOCLOSE +Route104_EventScript_RematchCindy:: @ 81ED580 + trainerbattle_rematch TRAINER_CINDY_1, Route104_Text_CindyRematchIntro, Route104_Text_CindyRematchDefeat + msgbox Route104_Text_CindyPostRematch, MSGBOX_AUTOCLOSE end -Route104_EventScript_1ED597:: @ 81ED597 - trainerbattle_double TRAINER_GINA_AND_MIA_1, Route104_Text_2952BB, Route104_Text_2952E6, Route104_Text_295330 +Route104_EventScript_Gina:: @ 81ED597 + trainerbattle_double TRAINER_GINA_AND_MIA_1, Route104_Text_GinaIntro, Route104_Text_GinaDefeat, Route104_Text_GinaNotEnoughMons special GetPlayerBigGuyGirlString - msgbox Route104_Text_2952FE, MSGBOX_DEFAULT + msgbox Route104_Text_GinaPostBattle, MSGBOX_DEFAULT release end -Route104_EventScript_1ED5B6:: @ 81ED5B6 - trainerbattle_double TRAINER_GINA_AND_MIA_1, Route104_Text_2953AF, Route104_Text_2953E1, Route104_Text_295449 +Route104_EventScript_Mia:: @ 81ED5B6 + trainerbattle_double TRAINER_GINA_AND_MIA_1, Route104_Text_MiaIntro, Route104_Text_MiaDefeat, Route104_Text_MiaNotEnoughMons special GetPlayerBigGuyGirlString - msgbox Route104_Text_29540D, MSGBOX_DEFAULT + msgbox Route104_Text_MiaPostBattle, MSGBOX_DEFAULT release end -Route104_EventScript_1ED5D5:: @ 81ED5D5 - trainerbattle_single TRAINER_DARIAN, Route104_Text_295C5D, Route104_Text_295CC9 - msgbox Route104_Text_295CD3, MSGBOX_AUTOCLOSE +Route104_EventScript_Darian:: @ 81ED5D5 + trainerbattle_single TRAINER_DARIAN, Route104_Text_DarianIntro, Route104_Text_DarianDefeat + msgbox Route104_Text_DarianPostBattle, MSGBOX_AUTOCLOSE end -Route104_Text_1ED5EC: @ 81ED5EC +Route104_Text_BrineyLivesInSeasideCottage: @ 81ED5EC .string "That seaside cottage is where\n" .string "MR. BRINEY lives.\p" .string "He was once a mighty sailor who never\n" .string "feared the sea, however stormy.$" -Route104_Text_1ED662: @ 81ED662 +Route104_Text_WhatsItLikeAtBottomOfSea: @ 81ED662 .string "The sea, huh?\p" .string "I wonder what it's like at the bottom\n" .string "of the sea?$" -Route104_Text_1ED6A2: @ 81ED6A2 +Route104_Text_ThrowBallAtWeakenedPokemon: @ 81ED6A2 .string "If you're going to throw a POKé BALL,\n" .string "weaken the wild POKéMON first.\p" .string "It will be easier to catch if it's been\n" .string "poisoned, burned, or lulled to sleep.$" -Route104_Text_1ED735: @ 81ED735 +Route104_Text_OnlyThrowBallAtWildPokemon: @ 81ED735 .string "You're a thief if you try to steal\n" .string "someone else's POKéMON.\p" .string "You should throw POKé BALLS only at\n" .string "wild POKéMON.$" -Route104_Text_1ED7A2: @ 81ED7A2 +Route104_Text_ImNotATrainer: @ 81ED7A2 .string "Oh, no, I'm not a TRAINER.\p" .string "But that's right, if TRAINERS lock eyes,\n" .string "it's a challenge to battle.\p" .string "If you don't want to battle, stay out\n" .string "of their sight.$" -Route104_Text_1ED838: @ 81ED838 +Route104_Text_LikeFillingMouthWithSeedsTakeThis: @ 81ED838 .string "I like filling my mouth with seeds,\n" .string "then spitting them out fast!\p" .string "You can have this, so you try it out!\p" .string "Use it on a POKéMON, and it will learn\n" .string "a move for firing seeds rapidly.$" -Route104_Text_1ED8E7: @ 81ED8E7 +Route104_Text_TMsAreOneTimeUse: @ 81ED8E7 .string "A word of advice!\p" .string "A TM, TECHNICAL MACHINE, is good only\n" .string "for one-time use.\p" .string "Once you use it, it's gone.\n" .string "Think twice before using it!$" -Route104_Text_1ED96A: @ 81ED96A +Route104_Text_DontNeedThisTakeIt: @ 81ED96A .string "This FLOWER SHOP started selling\n" .string "saplings recently.\p" .string "It made me so happy, I went overboard\n" @@ -1065,27 +1066,27 @@ Route104_Text_1ED96A: @ 81ED96A .string "I don't need this WHITE HERB anymore.\n" .string "Would you take it, please?$" -Route104_Text_1EDA0F: @ 81EDA0F +Route104_Text_FlowerShopSellingSaplings: @ 81EDA0F .string "This FLOWER SHOP started selling\n" .string "saplings recently.\p" .string "It made me so happy, I went overboard\n" .string "shopping. Where should I put them?$" -Route104_Text_1EDA8C: @ 81EDA8C +Route104_Text_MrBrineysCottage: @ 81EDA8C .string "MR. BRINEY'S COTTAGE$" -Route104_Text_1EDAA1: @ 81EDAA1 +Route104_Text_RouteSignPetalburg: @ 81EDAA1 .string "ROUTE 1O4\n" .string "{RIGHT_ARROW} PETALBURG CITY$" -Route104_Text_1EDABC: @ 81EDABC +Route104_Text_RouteSignRustboro: @ 81EDABC .string "ROUTE 1O4\n" .string "{UP_ARROW} RUSTBORO CITY$" -Route104_Text_1EDAD6: @ 81EDAD6 +Route104_Text_PrettyPetalFlowShop: @ 81EDAD6 .string "PRETTY PETAL FLOWER SHOP$" -Route104_Text_1EDAEF: @ 81EDAEF +Route104_Text_TrainerTipsDoubleBattles: @ 81EDAEF .string "TRAINER TIPS\p" .string "In the HOENN region there are pairs\n" .string "of TRAINERS who challenge others\l" @@ -1096,45 +1097,45 @@ Route104_Text_1EDAEF: @ 81EDAEF .string "left of the list and the top one.\l" .string "Watch how POKéMON are lined up.$" -Route104_Text_1EDBFF: @ 81EDBFF +Route104_Text_MayWeShouldRegister: @ 81EDBFF .string "MAY: Oh, hi, {PLAYER}{KUN}!\p" .string "DEVON upgraded your POKéNAV with\n" .string "the MATCH CALL system, huh?\p" .string "We should register each other so we\n" .string "can get in contact anytime.$" -Route104_Text_1EDC8F: @ 81EDC8F +Route104_Text_RegisteredMay: @ 81EDC8F .string "{PLAYER} registered MAY\n" .string "in the POKéNAV.$" -Route104_Text_1EDCB1: @ 81EDCB1 +Route104_Text_MayHowsYourPokedex: @ 81EDCB1 .string "MAY: Oh, by the way, {PLAYER}{KUN},\n" .string "how's your POKéDEX coming along?$" -Route104_Text_1EDCED: @ 81EDCED +Route104_Text_MayMinesDecentLetsBattle: @ 81EDCED .string "Mine's looking pretty decent.\n" .string "So…\l" .string "How about a little battle?$" -Route104_Text_1EDD2A: @ 81EDD2A +Route104_Text_MayHaventRaisedPokemon: @ 81EDD2A .string "MAY: Oh, what's the matter?\p" .string "Haven't you caught or raised your\n" .string "POKéMON very much?\p" .string "That's not very good for a TRAINER!$" -Route104_Text_1EDD9F: @ 81EDD9F +Route104_Text_MayLetsBattle: @ 81EDD9F .string "MAY: So, what do you think?\n" .string "How about a little battle here?$" -Route104_Text_1EDDDB: @ 81EDDDB +Route104_Text_MayIntro: @ 81EDDDB .string "MAY: You just became a TRAINER,\n" .string "{PLAYER}{KUN}. I'm not going to lose!$" -Route104_Text_1EDE18: @ 81EDE18 +Route104_Text_MayDefeat: @ 81EDE18 .string "Yikes!\n" .string "You're better than I expected!$" -Route104_Text_1EDE3E: @ 81EDE3E +Route104_Text_MayPostBattle: @ 81EDE3E .string "MAY: I can tell you've gotten pretty\n" .string "good with the way you handle POKéMON.\p" .string "But instead of only making them\n" @@ -1142,43 +1143,43 @@ Route104_Text_1EDE3E: @ 81EDE3E .string "It's important to become friends with\n" .string "POKéMON, too.$" -Route104_Text_1EDF04: @ 81EDF04 +Route104_Text_BrendanWeShouldRegister: @ 81EDF04 .string "BRENDAN: Oh, hey, {PLAYER}!\p" .string "Cool, you had DEVON install the MATCH\n" .string "CALL system on your POKéNAV!\p" .string "Let's register each other in our\n" .string "POKéNAVS so we can keep in touch.$" -Route104_Text_1EDFA0: @ 81EDFA0 +Route104_Text_RegisteredBrendan: @ 81EDFA0 .string "{PLAYER} registered BRENDAN\n" .string "in the POKéNAV.$" -Route104_Text_1EDFC6: @ 81EDFC6 +Route104_Text_BrendanHowsYourPokedex: @ 81EDFC6 .string "BRENDAN: {PLAYER}, how's your POKéDEX?\n" .string "Have you filled in any pages yet?$" -Route104_Text_1EE009: @ 81EE009 +Route104_Text_BrendanDoingGreatLetsBattle: @ 81EE009 .string "Me, I'm doing great!\p" .string "Want to check out how good I am with\n" .string "a battle?$" -Route104_Text_1EE04D: @ 81EE04D +Route104_Text_BrendanNoConfidence: @ 81EE04D .string "BRENDAN: What's the matter? Don't have\n" .string "any confidence in your POKéMON?$" -Route104_Text_1EE094: @ 81EE094 +Route104_Text_BrendanLetsBattle: @ 81EE094 .string "BRENDAN: What's up?\n" .string "Want to have a battle with me?$" -Route104_Text_1EE0C7: @ 81EE0C7 +Route104_Text_BrendanIntro: @ 81EE0C7 .string "BRENDAN: I know you just became\n" .string "a TRAINER, but I won't go easy!$" -Route104_Text_1EE107: @ 81EE107 +Route104_Text_BrendanDefeat: @ 81EE107 .string "Hmm…\n" .string "You're pretty good.$" -Route104_Text_1EE120: @ 81EE120 +Route104_Text_BrendanPostBattle: @ 81EE120 .string "BRENDAN: You've gotten pretty decent\n" .string "at handling POKéMON.\p" .string "But, you know, you shouldn't just be\n" diff --git a/data/maps/Route104_MrBrineysHouse/map.json b/data/maps/Route104_MrBrineysHouse/map.json index 438d56b307..dc6c0ab4dd 100644 --- a/data/maps/Route104_MrBrineysHouse/map.json +++ b/data/maps/Route104_MrBrineysHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 3, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_MrBrineysHouse_EventScript_229D67", + "script": "Route104_MrBrineysHouse_EventScript_Briney", "flag": "FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY" }, { @@ -37,7 +37,7 @@ "movement_range_y": 3, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_MrBrineysHouse_EventScript_229E5D", + "script": "Route104_MrBrineysHouse_EventScript_Peeko", "flag": "FLAG_HIDE_BRINEYS_HOUSE_PEEKO" } ], diff --git a/data/maps/Route104_MrBrineysHouse/scripts.inc b/data/maps/Route104_MrBrineysHouse/scripts.inc index c2877f0d95..10fdddee3a 100644 --- a/data/maps/Route104_MrBrineysHouse/scripts.inc +++ b/data/maps/Route104_MrBrineysHouse/scripts.inc @@ -5,104 +5,104 @@ Route104_MrBrineysHouse_MapScripts:: @ 8229D2E Route104_MrBrineysHouse_OnTransition: @ 8229D34 setflag FLAG_LANDMARK_MR_BRINEY_HOUSE compare VAR_BRINEY_HOUSE_STATE, 1 - call_if_eq Route104_MrBrineysHouse_EventScript_229D50 - call_if_set FLAG_RECEIVED_POKENAV, Route104_MrBrineysHouse_EventScript_229D4C + call_if_eq Route104_MrBrineysHouse_EventScript_SetBrineyPeekoPos + call_if_set FLAG_RECEIVED_POKENAV, Route104_MrBrineysHouse_EventScript_HideRustboroRival end -Route104_MrBrineysHouse_EventScript_229D4C:: @ 8229D4C - setflag FLAG_HIDE_RUSBORO_CITY_RIVAL +Route104_MrBrineysHouse_EventScript_HideRustboroRival:: @ 8229D4C + setflag FLAG_HIDE_RUSTBORO_CITY_RIVAL return -Route104_MrBrineysHouse_EventScript_229D50:: @ 8229D50 +Route104_MrBrineysHouse_EventScript_SetBrineyPeekoPos:: @ 8229D50 setobjectxyperm 1, 9, 3 setobjectmovementtype 1, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT setobjectxyperm 2, 9, 6 setobjectmovementtype 2, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN return -Route104_MrBrineysHouse_EventScript_229D67:: @ 8229D67 +Route104_MrBrineysHouse_EventScript_Briney:: @ 8229D67 lock faceplayer - call_if_unset FLAG_MR_BRINEY_SAILING_INTRO, Route104_MrBrineysHouse_EventScript_229D8A - goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_MrBrineysHouse_EventScript_229DE1 - goto_if_unset FLAG_DELIVERED_DEVON_GOODS, Route104_MrBrineysHouse_EventScript_229DFA - goto Route104_MrBrineysHouse_EventScript_229DAE + call_if_unset FLAG_MR_BRINEY_SAILING_INTRO, Route104_MrBrineysHouse_EventScript_SailingIntro + goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_MrBrineysHouse_EventScript_SailBothDeliveries + goto_if_unset FLAG_DELIVERED_DEVON_GOODS, Route104_MrBrineysHouse_EventScript_SailDeliverPackage + goto Route104_MrBrineysHouse_EventScript_WhereAreWeBound end -Route104_MrBrineysHouse_EventScript_229D8A:: @ 8229D8A +Route104_MrBrineysHouse_EventScript_SailingIntro:: @ 8229D8A setflag FLAG_MR_BRINEY_SAILING_INTRO - msgbox Route104_MrBrineysHouse_Text_229E70, MSGBOX_DEFAULT - msgbox Route104_MrBrineysHouse_Text_229E9B, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route104_MrBrineysHouse_EventScript_229E13 - goto Route104_MrBrineysHouse_EventScript_229E27 + msgbox Route104_MrBrineysHouse_Text_WaitUpPeeko, MSGBOX_DEFAULT + msgbox Route104_MrBrineysHouse_Text_ItsYouLetsSailToDewford, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq Route104_MrBrineysHouse_EventScript_DeclineDeliverySailing + goto Route104_MrBrineysHouse_EventScript_SailToDewford end -Route104_MrBrineysHouse_EventScript_229DAE:: @ 8229DAE - message Route104_MrBrineysHouse_Text_22A268 +Route104_MrBrineysHouse_EventScript_WhereAreWeBound:: @ 8229DAE + message Route104_MrBrineysHouse_Text_WhereAreWeBound waitmessage - multichoicedefault 20, 8, 14, 1, 0 + multichoicedefault 20, 8, MULTI_BRINEY_OFF_DEWFORD, 1, 0 switch VAR_RESULT - case 0, Route104_MrBrineysHouse_EventScript_229E27 - case 1, Route104_MrBrineysHouse_EventScript_229E1D - case 127, Route104_MrBrineysHouse_EventScript_229E1D + case 0, Route104_MrBrineysHouse_EventScript_SailToDewford + case 1, Route104_MrBrineysHouse_EventScript_DeclineSailing + case MULTI_B_PRESSED, Route104_MrBrineysHouse_EventScript_DeclineSailing end -Route104_MrBrineysHouse_EventScript_229DE1:: @ 8229DE1 - msgbox Route104_MrBrineysHouse_Text_22A0AD, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route104_MrBrineysHouse_EventScript_229E13 - goto Route104_MrBrineysHouse_EventScript_229E27 +Route104_MrBrineysHouse_EventScript_SailBothDeliveries:: @ 8229DE1 + msgbox Route104_MrBrineysHouse_Text_NeedToMakeDeliveriesSailToDewford, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq Route104_MrBrineysHouse_EventScript_DeclineDeliverySailing + goto Route104_MrBrineysHouse_EventScript_SailToDewford end -Route104_MrBrineysHouse_EventScript_229DFA:: @ 8229DFA - msgbox Route104_MrBrineysHouse_Text_22A18F, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route104_MrBrineysHouse_EventScript_229E13 - goto Route104_MrBrineysHouse_EventScript_229E27 +Route104_MrBrineysHouse_EventScript_SailDeliverPackage:: @ 8229DFA + msgbox Route104_MrBrineysHouse_Text_NeedToDeliverPackageSailToDewford, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq Route104_MrBrineysHouse_EventScript_DeclineDeliverySailing + goto Route104_MrBrineysHouse_EventScript_SailToDewford end -Route104_MrBrineysHouse_EventScript_229E13:: @ 8229E13 - msgbox Route104_MrBrineysHouse_Text_22A041, MSGBOX_DEFAULT +Route104_MrBrineysHouse_EventScript_DeclineDeliverySailing:: @ 8229E13 + msgbox Route104_MrBrineysHouse_Text_DeclineDeliverySail, MSGBOX_DEFAULT release end -Route104_MrBrineysHouse_EventScript_229E1D:: @ 8229E1D - msgbox Route104_MrBrineysHouse_Text_22A2C3, MSGBOX_DEFAULT +Route104_MrBrineysHouse_EventScript_DeclineSailing:: @ 8229E1D + msgbox Route104_MrBrineysHouse_Text_TellMeWheneverYouWantToSail, MSGBOX_DEFAULT release end -Route104_MrBrineysHouse_EventScript_229E27:: @ 8229E27 - msgbox Route104_MrBrineysHouse_Text_229FE9, MSGBOX_DEFAULT - call Route104_MrBrineysHouse_EventScript_271E95 +Route104_MrBrineysHouse_EventScript_SailToDewford:: @ 8229E27 + msgbox Route104_MrBrineysHouse_Text_SetSailForDewford, MSGBOX_DEFAULT + call EventScript_BackupMrBrineyLocation setvar VAR_BOARD_BRINEY_BOAT_STATE, 1 clearflag FLAG_HIDE_ROUTE_104_MR_BRINEY setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY setflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO setvar VAR_RUSTBORO_CITY_STATE, 8 setvar VAR_ROUTE104_STATE, 2 - setflag FLAG_HIDE_RUSBORO_CITY_RIVAL + setflag FLAG_HIDE_RUSTBORO_CITY_RIVAL setflag FLAG_HIDE_ROUTE_104_RIVAL warp MAP_ROUTE104, 255, 13, 51 waitstate releaseall end -Route104_MrBrineysHouse_EventScript_229E5D:: @ 8229E5D +Route104_MrBrineysHouse_EventScript_Peeko:: @ 8229E5D lock faceplayer waitse playmoncry SPECIES_WINGULL, 0 - msgbox Route104_MrBrineysHouse_Text_22A337, MSGBOX_DEFAULT + msgbox Route104_MrBrineysHouse_Text_Peeko, MSGBOX_DEFAULT waitmoncry release end -Route104_MrBrineysHouse_Text_229E70: @ 8229E70 +Route104_MrBrineysHouse_Text_WaitUpPeeko: @ 8229E70 .string "MR. BRINEY: Hold on, lass!\n" .string "Wait up, PEEKO!$" -Route104_MrBrineysHouse_Text_229E9B: @ 8229E9B +Route104_MrBrineysHouse_Text_ItsYouLetsSailToDewford: @ 8229E9B .string "Hm? You're {PLAYER}{KUN}!\n" .string "You saved my darling PEEKO!\l" .string "We owe so much to you!\p" @@ -117,18 +117,18 @@ Route104_MrBrineysHouse_Text_229E9B: @ 8229E9B .string "You've come to the right man!\n" .string "We'll set sail for DEWFORD.$" -Route104_MrBrineysHouse_Text_229FE9: @ 8229FE9 +Route104_MrBrineysHouse_Text_SetSailForDewford: @ 8229FE9 .string "MR. BRINEY: DEWFORD it is, then!\p" .string "Anchors aweigh!\n" .string "PEEKO, we're setting sail, my darling!$" -Route104_MrBrineysHouse_Text_22A041: @ 822A041 +Route104_MrBrineysHouse_Text_DeclineDeliverySail: @ 822A041 .string "MR. BRINEY: Is that so?\n" .string "Your deliveries can wait?\p" .string "You just go on and tell me whenever\n" .string "you want to set sail!$" -Route104_MrBrineysHouse_Text_22A0AD: @ 822A0AD +Route104_MrBrineysHouse_Text_NeedToMakeDeliveriesSailToDewford: @ 822A0AD .string "MR. BRINEY: Ahoy!\n" .string "I know exactly what you want to say!\p" .string "You're to deliver a LETTER to DEWFORD\n" @@ -137,7 +137,7 @@ Route104_MrBrineysHouse_Text_22A0AD: @ 822A0AD .string "at all--I'm the man for the job!\p" .string "First, we'll set sail for DEWFORD.$" -Route104_MrBrineysHouse_Text_22A18F: @ 822A18F +Route104_MrBrineysHouse_Text_NeedToDeliverPackageSailToDewford: @ 822A18F .string "MR. BRINEY: Ahoy!\n" .string "I know exactly what you want to say!\p" .string "You're to deliver a package to\n" @@ -146,17 +146,17 @@ Route104_MrBrineysHouse_Text_22A18F: @ 822A18F .string "at all--I'm the man for the job!\p" .string "First, we'll set sail for DEWFORD.$" -Route104_MrBrineysHouse_Text_22A268: @ 822A268 +Route104_MrBrineysHouse_Text_WhereAreWeBound: @ 822A268 .string "MR. BRINEY: Ahoy!\n" .string "For you, I'll go out to sea anytime!\p" .string "Now, my friend, where are we bound?$" -Route104_MrBrineysHouse_Text_22A2C3: @ 822A2C3 +Route104_MrBrineysHouse_Text_TellMeWheneverYouWantToSail: @ 822A2C3 .string "MR. BRINEY: Is that so?\n" .string "Well, PEEKO owes her life to you.\p" .string "You just go on and tell me whenever\n" .string "you want to set sail!$" -Route104_MrBrineysHouse_Text_22A337: @ 822A337 +Route104_MrBrineysHouse_Text_Peeko: @ 822A337 .string "PEEKO: Pii piihyoro!$" diff --git a/data/maps/Route104_PrettyPetalFlowerShop/map.json b/data/maps/Route104_PrettyPetalFlowerShop/map.json index 9d3d307948..dcda9afeb8 100644 --- a/data/maps/Route104_PrettyPetalFlowerShop/map.json +++ b/data/maps/Route104_PrettyPetalFlowerShop/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_PrettyPetalFlowerShop_EventScript_22A373", + "script": "Route104_PrettyPetalFlowerShop_EventScript_ShopOwner", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_PrettyPetalFlowerShop_EventScript_22A40C", + "script": "Route104_PrettyPetalFlowerShop_EventScript_WailmerPailGirl", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route104_PrettyPetalFlowerShop_EventScript_22A442", + "script": "Route104_PrettyPetalFlowerShop_EventScript_RandomBerryGirl", "flag": "0" } ], diff --git a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc index c70318fc97..253ae71923 100644 --- a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc +++ b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc @@ -4,52 +4,52 @@ Route104_PrettyPetalFlowerShop_MapScripts:: @ 822A34C Route104_PrettyPetalFlowerShop_OnTransition: @ 822A352 setflag FLAG_LANDMARK_FLOWER_SHOP - goto_if_unset FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_22A36B - goto_if_unset FLAG_BADGE03_GET, Route104_PrettyPetalFlowerShop_EventScript_22A36B + goto_if_unset FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_MoveShopOwner + goto_if_unset FLAG_BADGE03_GET, Route104_PrettyPetalFlowerShop_EventScript_MoveShopOwner setflag FLAG_TEMP_1 end -Route104_PrettyPetalFlowerShop_EventScript_22A36B:: @ 822A36B +Route104_PrettyPetalFlowerShop_EventScript_MoveShopOwner:: @ 822A36B setobjectxyperm 1, 4, 6 end -Route104_PrettyPetalFlowerShop_EventScript_22A373:: @ 822A373 +Route104_PrettyPetalFlowerShop_EventScript_ShopOwner:: @ 822A373 lock faceplayer - goto_if_set FLAG_TEMP_1, Route104_PrettyPetalFlowerShop_EventScript_22A3E4 - msgbox Route104_PrettyPetalFlowerShop_Text_2A7686, MSGBOX_DEFAULT - goto_if_set FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_22A3B2 + goto_if_set FLAG_TEMP_1, Route104_PrettyPetalFlowerShop_EventScript_SellDecorations + msgbox Route104_PrettyPetalFlowerShop_Text_ThisIsPrettyPetalFlowerShop, MSGBOX_DEFAULT + goto_if_set FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_AlreadyMet setflag FLAG_MET_PRETTY_PETAL_SHOP_OWNER - msgbox Route104_PrettyPetalFlowerShop_Text_2A7706, MSGBOX_YESNO - compare VAR_RESULT, 1 - call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3D2 - compare VAR_RESULT, 0 - call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3DB + msgbox Route104_PrettyPetalFlowerShop_Text_IntroLearnAboutBerries, MSGBOX_YESNO + compare VAR_RESULT, YES + call_if_eq Route104_PrettyPetalFlowerShop_EventScript_ExplainBerries + compare VAR_RESULT, NO + call_if_eq Route104_PrettyPetalFlowerShop_EventScript_DontExplainBerries release end -Route104_PrettyPetalFlowerShop_EventScript_22A3B2:: @ 822A3B2 - msgbox Route104_PrettyPetalFlowerShop_Text_2A76D9, MSGBOX_YESNO - compare VAR_RESULT, 1 - call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3D2 - compare VAR_RESULT, 0 - call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3DB +Route104_PrettyPetalFlowerShop_EventScript_AlreadyMet:: @ 822A3B2 + msgbox Route104_PrettyPetalFlowerShop_Text_LearnAboutBerries, MSGBOX_YESNO + compare VAR_RESULT, YES + call_if_eq Route104_PrettyPetalFlowerShop_EventScript_ExplainBerries + compare VAR_RESULT, NO + call_if_eq Route104_PrettyPetalFlowerShop_EventScript_DontExplainBerries release end -Route104_PrettyPetalFlowerShop_EventScript_22A3D2:: @ 822A3D2 - msgbox Route104_PrettyPetalFlowerShop_Text_2A775B, MSGBOX_DEFAULT +Route104_PrettyPetalFlowerShop_EventScript_ExplainBerries:: @ 822A3D2 + msgbox Route104_PrettyPetalFlowerShop_Text_BerriesExplanation, MSGBOX_DEFAULT return -Route104_PrettyPetalFlowerShop_EventScript_22A3DB:: @ 822A3DB - msgbox Route104_PrettyPetalFlowerShop_Text_2A78DF, MSGBOX_DEFAULT +Route104_PrettyPetalFlowerShop_EventScript_DontExplainBerries:: @ 822A3DB + msgbox Route104_PrettyPetalFlowerShop_Text_FlowersBringHappiness, MSGBOX_DEFAULT return -Route104_PrettyPetalFlowerShop_EventScript_22A3E4:: @ 822A3E4 - message gUnknown_08272A52 +Route104_PrettyPetalFlowerShop_EventScript_SellDecorations:: @ 822A3E4 + message gText_PlayerWhatCanIDoForYou waitmessage pokemartdecoration2 Route104_PrettyPetalFlowerShop_Pokemart_Plants - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end @@ -65,39 +65,39 @@ Route104_PrettyPetalFlowerShop_Pokemart_Plants: @ 822A3FC release end -Route104_PrettyPetalFlowerShop_EventScript_22A40C:: @ 822A40C +Route104_PrettyPetalFlowerShop_EventScript_WailmerPailGirl:: @ 822A40C lock faceplayer - goto_if_unset FLAG_RECEIVED_WAILMER_PAIL, Route104_PrettyPetalFlowerShop_EventScript_22A421 - msgbox Route104_PrettyPetalFlowerShop_Text_2A79A6, MSGBOX_DEFAULT + goto_if_unset FLAG_RECEIVED_WAILMER_PAIL, Route104_PrettyPetalFlowerShop_EventScript_GiveWailmerPail + msgbox Route104_PrettyPetalFlowerShop_Text_WailmerPailExplanation, MSGBOX_DEFAULT release end -Route104_PrettyPetalFlowerShop_EventScript_22A421:: @ 822A421 - msgbox Route104_PrettyPetalFlowerShop_Text_2A7916, MSGBOX_DEFAULT - giveitem_std ITEM_WAILMER_PAIL - msgbox Route104_PrettyPetalFlowerShop_Text_2A79A6, MSGBOX_DEFAULT +Route104_PrettyPetalFlowerShop_EventScript_GiveWailmerPail:: @ 822A421 + msgbox Route104_PrettyPetalFlowerShop_Text_YouCanHaveThis, MSGBOX_DEFAULT + giveitem ITEM_WAILMER_PAIL + msgbox Route104_PrettyPetalFlowerShop_Text_WailmerPailExplanation, MSGBOX_DEFAULT setflag FLAG_RECEIVED_WAILMER_PAIL release end -Route104_PrettyPetalFlowerShop_EventScript_22A442:: @ 822A442 +Route104_PrettyPetalFlowerShop_EventScript_RandomBerryGirl:: @ 822A442 lock faceplayer dotimebasedevents - goto_if_set FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY, Route104_PrettyPetalFlowerShop_EventScript_22A482 - msgbox Route104_PrettyPetalFlowerShop_Text_2A7A98, MSGBOX_DEFAULT + goto_if_set FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY, Route104_PrettyPetalFlowerShop_EventScript_AlreadyReceivedBerry + msgbox Route104_PrettyPetalFlowerShop_Text_ImGrowingFlowers, MSGBOX_DEFAULT random 8 addvar VAR_RESULT, FIRST_BERRY_INDEX - giveitem_std VAR_RESULT + giveitem VAR_RESULT compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY - msgbox Route104_PrettyPetalFlowerShop_Text_2A7AF3, MSGBOX_DEFAULT + msgbox Route104_PrettyPetalFlowerShop_Text_MachineMixesBerries, MSGBOX_DEFAULT release end -Route104_PrettyPetalFlowerShop_EventScript_22A482:: @ 822A482 - msgbox Route104_PrettyPetalFlowerShop_Text_2A7AF3, MSGBOX_DEFAULT +Route104_PrettyPetalFlowerShop_EventScript_AlreadyReceivedBerry:: @ 822A482 + msgbox Route104_PrettyPetalFlowerShop_Text_MachineMixesBerries, MSGBOX_DEFAULT release end diff --git a/data/maps/Route105/map.json b/data/maps/Route105/map.json index 4d447d4f81..bb6aadd549 100644 --- a/data/maps/Route105/map.json +++ b/data/maps/Route105/map.json @@ -40,7 +40,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "Route105_EventScript_1EE261", + "script": "Route105_EventScript_Luis", "flag": "0" }, { @@ -53,7 +53,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route105_EventScript_1EE278", + "script": "Route105_EventScript_Dominik", "flag": "0" }, { @@ -66,7 +66,7 @@ "movement_range_y": 7, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route105_EventScript_1EE28F", + "script": "Route105_EventScript_Beverly", "flag": "0" }, { @@ -79,7 +79,7 @@ "movement_range_y": 5, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route105_EventScript_1EE2A6", + "script": "Route105_EventScript_Imani", "flag": "0" }, { @@ -105,7 +105,7 @@ "movement_range_y": 7, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route105_EventScript_1EE24A", + "script": "Route105_EventScript_Foster", "flag": "0" }, { @@ -118,7 +118,7 @@ "movement_range_y": 2, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route105_EventScript_1EE2BD", + "script": "Route105_EventScript_Josue", "flag": "0" }, { @@ -131,7 +131,7 @@ "movement_range_y": 2, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route105_EventScript_1EE2D4", + "script": "Route105_EventScript_Andres", "flag": "0" } ], diff --git a/data/maps/Route105/scripts.inc b/data/maps/Route105/scripts.inc index c955113977..a42446e728 100644 --- a/data/maps/Route105/scripts.inc +++ b/data/maps/Route105/scripts.inc @@ -1,88 +1,88 @@ Route105_MapScripts:: @ 81EE1DB - map_script MAP_SCRIPT_ON_LOAD, Route105_MapScript1_1EE1EB + map_script MAP_SCRIPT_ON_LOAD, Route105_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, Route105_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route105_MapScript2_1EE240 + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route105_OnFrame .byte 0 -Route105_MapScript1_1EE1EB: @ 81EE1EB - call_if_unset FLAG_REGI_DOORS_OPENED, Route105_EventScript_1EE20B - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_105_NORTH - call_if_eq UnusualWeather_EventScript_PlaceTilesRoute105North - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_105_SOUTH - call_if_eq UnusualWeather_EventScript_PlaceTilesRoute105South +Route105_OnLoad: @ 81EE1EB + call_if_unset FLAG_REGI_DOORS_OPENED, Route105_CloseRegiEntrance + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_105_NORTH + call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute105North + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_105_SOUTH + call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute105South end -Route105_EventScript_1EE20B:: @ 81EE20B +Route105_CloseRegiEntrance:: @ 81EE20B setmetatile 9, 19, METATILE_General_RockWall_RockBase, 1 setmetatile 9, 20, METATILE_General_RockWall_SandBase, 1 return Route105_OnTransition: @ 81EE21E - compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 - call_if_eq Route105_EventScript_273D13 - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_105_NORTH - call_if_eq UnusualWeather_StartKyogreWeather - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_105_SOUTH - call_if_eq UnusualWeather_StartKyogreWeather + compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1 + call_if_eq AbnormalWeather_EventScript_HideMapNamePopup + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_105_NORTH + call_if_eq AbnormalWeather_StartKyogreWeather + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_105_SOUTH + call_if_eq AbnormalWeather_StartKyogreWeather end -Route105_MapScript2_1EE240: @ 81EE240 - map_script_2 VAR_SHOULD_END_UNUSUAL_WEATHER, 1, UnusualWeather_EventScript_EndEventAndCleanup_1 +Route105_OnFrame: @ 81EE240 + map_script_2 VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_EndEventAndCleanup_1 .2byte 0 -Route105_EventScript_1EE24A:: @ 81EE24A - trainerbattle_single TRAINER_FOSTER, Route105_Text_295D0F, Route105_Text_295D62 - msgbox Route105_Text_295DAB, MSGBOX_AUTOCLOSE +Route105_EventScript_Foster:: @ 81EE24A + trainerbattle_single TRAINER_FOSTER, Route105_Text_FosterIntro, Route105_Text_FosterDefeated + msgbox Route105_Text_FosterPostBattle, MSGBOX_AUTOCLOSE end -Route105_EventScript_1EE261:: @ 81EE261 - trainerbattle_single TRAINER_LUIS, Route105_Text_295DF5, Route105_Text_295E66 - msgbox Route105_Text_295E72, MSGBOX_AUTOCLOSE +Route105_EventScript_Luis:: @ 81EE261 + trainerbattle_single TRAINER_LUIS, Route105_Text_LuisIntro, Route105_Text_LuisDefeated + msgbox Route105_Text_LuisPostBattle, MSGBOX_AUTOCLOSE end -Route105_EventScript_1EE278:: @ 81EE278 - trainerbattle_single TRAINER_DOMINIK, Route105_Text_295EB7, Route105_Text_295EEA - msgbox Route105_Text_295F08, MSGBOX_AUTOCLOSE +Route105_EventScript_Dominik:: @ 81EE278 + trainerbattle_single TRAINER_DOMINIK, Route105_Text_DominikIntro, Route105_Text_DominikDefeated + msgbox Route105_Text_DominikPostBattle, MSGBOX_AUTOCLOSE end -Route105_EventScript_1EE28F:: @ 81EE28F - trainerbattle_single TRAINER_BEVERLY, Route105_Text_295F5C, Route105_Text_295FA0 - msgbox Route105_Text_295FAE, MSGBOX_AUTOCLOSE +Route105_EventScript_Beverly:: @ 81EE28F + trainerbattle_single TRAINER_BEVERLY, Route105_Text_BeverlyIntro, Route105_Text_BeverlyDefeated + msgbox Route105_Text_PostBattle, MSGBOX_AUTOCLOSE end -Route105_EventScript_1EE2A6:: @ 81EE2A6 - trainerbattle_single TRAINER_IMANI, Route105_Text_296025, Route105_Text_296059 - msgbox Route105_Text_296076, MSGBOX_AUTOCLOSE +Route105_EventScript_Imani:: @ 81EE2A6 + trainerbattle_single TRAINER_IMANI, Route105_Text_ImaniIntro, Route105_Text_ImaniDefeated + msgbox Route105_Text_ImaniPostBattle, MSGBOX_AUTOCLOSE end -Route105_EventScript_1EE2BD:: @ 81EE2BD - trainerbattle_single TRAINER_JOSUE, Route105_Text_29626F, Route105_Text_2962CB - msgbox Route105_Text_2962EC, MSGBOX_AUTOCLOSE +Route105_EventScript_Josue:: @ 81EE2BD + trainerbattle_single TRAINER_JOSUE, Route105_Text_JosueIntro, Route105_Text_JosueDefeated + msgbox Route105_Text_JosuePostBattle, MSGBOX_AUTOCLOSE end -Route105_EventScript_1EE2D4:: @ 81EE2D4 - trainerbattle_single TRAINER_ANDRES_1, Route105_Text_2960A9, Route105_Text_2960DB, Route105_EventScript_1EE300 +Route105_EventScript_Andres:: @ 81EE2D4 + trainerbattle_single TRAINER_ANDRES_1, Route105_Text_AndresIntro, Route105_Text_AndresDefeated, Route105_EventScript_AndresRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route105_EventScript_1EE31F - msgbox Route105_Text_2960FA, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route105_EventScript_AndresRematch + msgbox Route105_Text_AndresPostBattle, MSGBOX_DEFAULT release end -Route105_EventScript_1EE300:: @ 81EE300 - special sub_80B4808 +Route105_EventScript_AndresRegisterMatchCallAfterBattle:: @ 81EE300 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route105_Text_296159, MSGBOX_DEFAULT + msgbox Route105_Text_AndresRegister, MSGBOX_DEFAULT register_matchcall TRAINER_ANDRES_1 release end -Route105_EventScript_1EE31F:: @ 81EE31F - trainerbattle_rematch TRAINER_ANDRES_1, Route105_Text_29619E, Route105_Text_2961DD - msgbox Route105_Text_2961FE, MSGBOX_AUTOCLOSE +Route105_EventScript_AndresRematch:: @ 81EE31F + trainerbattle_rematch TRAINER_ANDRES_1, Route105_Text_AndresRematchIntro, Route105_Text_AndresRematchDefeated + msgbox Route105_Text_AndresRematchPostBattle, MSGBOX_AUTOCLOSE end -Route104_Text_1EE336: @ 81EE336 +Route104_Text_DadPokenavCall: @ 81EE336 .string "… … … … … …\n" .string "… … … … … Beep!\p" .string "DAD: Oh, {PLAYER}?\p" @@ -98,6 +98,6 @@ Route104_Text_1EE336: @ 81EE336 .string "… … … … … …\n" .string "… … … … … Click!$" -Route104_Text_1EE463: @ 81EE463 +Route104_Text_RegisteredDadInPokenav: @ 81EE463 .string "Registered DAD NORMAN\n" .string "in the POKéNAV.$" diff --git a/data/maps/Route106/map.json b/data/maps/Route106/map.json index 70558d26e6..273f59aa5b 100644 --- a/data/maps/Route106/map.json +++ b/data/maps/Route106/map.json @@ -35,7 +35,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route106_EventScript_1EE493", + "script": "Route106_EventScript_Douglas", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route106_EventScript_1EE4AA", + "script": "Route106_EventScript_Kyla", "flag": "0" }, { @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route106_EventScript_1EE4C1", + "script": "Route106_EventScript_Elliot", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route106_EventScript_1EE523", + "script": "Route106_EventScript_Ned", "flag": "0" }, { @@ -132,7 +132,7 @@ "y": 13, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route106_EventScript_1EE48A" + "script": "Route106_EventScript_TrainerTipsSign" } ] } \ No newline at end of file diff --git a/data/maps/Route106/scripts.inc b/data/maps/Route106/scripts.inc index f27ce9647f..f9d3fb3b93 100644 --- a/data/maps/Route106/scripts.inc +++ b/data/maps/Route106/scripts.inc @@ -1,48 +1,48 @@ Route106_MapScripts:: @ 81EE489 .byte 0 -Route106_EventScript_1EE48A:: @ 81EE48A - msgbox Route106_Text_1EE53A, MSGBOX_SIGN +Route106_EventScript_TrainerTipsSign:: @ 81EE48A + msgbox Route106_Text_TrainerTips, MSGBOX_SIGN end -Route106_EventScript_1EE493:: @ 81EE493 - trainerbattle_single TRAINER_DOUGLAS, Route106_Text_2965BB, Route106_Text_2965FD - msgbox Route106_Text_296608, MSGBOX_AUTOCLOSE +Route106_EventScript_Douglas:: @ 81EE493 + trainerbattle_single TRAINER_DOUGLAS, Route106_Text_DouglasIntro, Route106_Text_DouglasDefeated + msgbox Route106_Text_DouglasPostBattle, MSGBOX_AUTOCLOSE end -Route106_EventScript_1EE4AA:: @ 81EE4AA - trainerbattle_single TRAINER_KYLA, Route106_Text_296628, Route106_Text_296674 - msgbox Route106_Text_29669E, MSGBOX_AUTOCLOSE +Route106_EventScript_Kyla:: @ 81EE4AA + trainerbattle_single TRAINER_KYLA, Route106_Text_KylaIntro, Route106_Text_KylaDefeated + msgbox Route106_Text_KylaPostBattle, MSGBOX_AUTOCLOSE end -Route106_EventScript_1EE4C1:: @ 81EE4C1 - trainerbattle_single TRAINER_ELLIOT_1, Route106_Text_296327, Route106_Text_29635C, Route106_EventScript_1EE4ED +Route106_EventScript_Elliot:: @ 81EE4C1 + trainerbattle_single TRAINER_ELLIOT_1, Route106_Text_ElliotIntro, Route106_Text_ElliotDefeated, Route106_EventScript_ElliotRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route106_EventScript_1EE50C - msgbox Route106_Text_29638C, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route106_EventScript_ElliotRematch + msgbox Route106_Text_ElliotPostBattle, MSGBOX_DEFAULT release end -Route106_EventScript_1EE4ED:: @ 81EE4ED - special sub_80B4808 +Route106_EventScript_ElliotRegisterMatchCallAfterBattle:: @ 81EE4ED + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route106_Text_2963E3, MSGBOX_DEFAULT + msgbox Route106_Text_ElliotRegister, MSGBOX_DEFAULT register_matchcall TRAINER_ELLIOT_1 release end -Route106_EventScript_1EE50C:: @ 81EE50C - trainerbattle_rematch TRAINER_ELLIOT_1, Route106_Text_29642E, Route106_Text_296477 - msgbox Route106_Text_296493, MSGBOX_AUTOCLOSE +Route106_EventScript_ElliotRematch:: @ 81EE50C + trainerbattle_rematch TRAINER_ELLIOT_1, Route106_Text_ElliotRematchIntro, Route106_Text_ElliotRematchDefeated + msgbox Route106_Text_ElliotRematchPostBattle, MSGBOX_AUTOCLOSE end -Route106_EventScript_1EE523:: @ 81EE523 - trainerbattle_single TRAINER_NED, Route106_Text_2964D4, Route106_Text_296553 - msgbox Route106_Text_296588, MSGBOX_AUTOCLOSE +Route106_EventScript_Ned:: @ 81EE523 + trainerbattle_single TRAINER_NED, Route106_Text_NedIntro, Route106_Text_NedDefeated + msgbox Route106_Text_NedPostBattle, MSGBOX_AUTOCLOSE end -Route106_Text_1EE53A: @ 81EE53A +Route106_Text_TrainerTips: @ 81EE53A .string "TRAINER TIPS\p" .string "Advice on catching POKéMON with a ROD:\n" .string "Press the A Button if you get a bite.$" diff --git a/data/maps/Route107/map.json b/data/maps/Route107/map.json index 3813f4795d..b0bb63a14a 100644 --- a/data/maps/Route107/map.json +++ b/data/maps/Route107/map.json @@ -35,7 +35,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route107_EventScript_1EE595", + "script": "Route107_EventScript_Darrin", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 2, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route107_EventScript_1EE5AC", + "script": "Route107_EventScript_Tony", "flag": "0" }, { @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route107_EventScript_1EE60E", + "script": "Route107_EventScript_Denise", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route107_EventScript_1EE625", + "script": "Route107_EventScript_Beth", "flag": "0" }, { @@ -87,7 +87,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route107_EventScript_1EE63C", + "script": "Route107_EventScript_Lisa", "flag": "0" }, { @@ -100,7 +100,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route107_EventScript_1EE657", + "script": "Route107_EventScript_Ray", "flag": "0" }, { @@ -113,7 +113,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route107_EventScript_1EE672", + "script": "Route107_EventScript_Camron", "flag": "0" } ], diff --git a/data/maps/Route107/scripts.inc b/data/maps/Route107/scripts.inc index 90f67a639a..0642c457fa 100644 --- a/data/maps/Route107/scripts.inc +++ b/data/maps/Route107/scripts.inc @@ -1,55 +1,55 @@ Route107_MapScripts:: @ 81EE594 .byte 0 -Route107_EventScript_1EE595:: @ 81EE595 - trainerbattle_single TRAINER_DARRIN, Route107_Text_2966E5, Route107_Text_29672F - msgbox Route107_Text_29675B, MSGBOX_AUTOCLOSE +Route107_EventScript_Darrin:: @ 81EE595 + trainerbattle_single TRAINER_DARRIN, Route107_Text_DarrinIntro, Route107_Text_DarrinDefeated + msgbox Route107_Text_DarrinPostBattle, MSGBOX_AUTOCLOSE end -Route107_EventScript_1EE5AC:: @ 81EE5AC - trainerbattle_single TRAINER_TONY_1, Route107_Text_2967AD, Route107_Text_2967D8, Route107_EventScript_1EE5D8 +Route107_EventScript_Tony:: @ 81EE5AC + trainerbattle_single TRAINER_TONY_1, Route107_Text_TonyIntro, Route107_Text_TonyDefeated, Route107_EventScript_TonyRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route107_EventScript_1EE5F7 - msgbox Route107_Text_2967FF, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route107_EventScript_TonyRematch + msgbox Route107_Text_TonyPostBattle, MSGBOX_DEFAULT release end -Route107_EventScript_1EE5D8:: @ 81EE5D8 - special sub_80B4808 +Route107_EventScript_TonyRegisterMatchCallAfterBattle:: @ 81EE5D8 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route107_Text_29685A, MSGBOX_DEFAULT + msgbox Route107_Text_TonyRegister, MSGBOX_DEFAULT register_matchcall TRAINER_TONY_1 release end -Route107_EventScript_1EE5F7:: @ 81EE5F7 - trainerbattle_rematch TRAINER_TONY_1, Route107_Text_296897, Route107_Text_2968D5 - msgbox Route107_Text_296923, MSGBOX_AUTOCLOSE +Route107_EventScript_TonyRematch:: @ 81EE5F7 + trainerbattle_rematch TRAINER_TONY_1, Route107_Text_TonyRematchIntro, Route107_Text_TonyRematchDefeated + msgbox Route107_Text_TonyRematchPostBattle, MSGBOX_AUTOCLOSE end -Route107_EventScript_1EE60E:: @ 81EE60E - trainerbattle_single TRAINER_DENISE, Route107_Text_296974, Route107_Text_29699E - msgbox Route107_Text_2969AB, MSGBOX_AUTOCLOSE +Route107_EventScript_Denise:: @ 81EE60E + trainerbattle_single TRAINER_DENISE, Route107_Text_DeniseIntro, Route107_Text_DeniseDefeated + msgbox Route107_Text_DenisePostBattle, MSGBOX_AUTOCLOSE end -Route107_EventScript_1EE625:: @ 81EE625 - trainerbattle_single TRAINER_BETH, Route107_Text_2969E4, Route107_Text_296A17 - msgbox Route107_Text_296A35, MSGBOX_AUTOCLOSE +Route107_EventScript_Beth:: @ 81EE625 + trainerbattle_single TRAINER_BETH, Route107_Text_BethIntro, Route107_Text_BethDefeated + msgbox Route107_Text_BethPostBattle, MSGBOX_AUTOCLOSE end -Route107_EventScript_1EE63C:: @ 81EE63C - trainerbattle_double TRAINER_LISA_AND_RAY, Route107_Text_296A77, Route107_Text_296AA7, Route107_Text_296B1E - msgbox Route107_Text_296ADC, MSGBOX_AUTOCLOSE +Route107_EventScript_Lisa:: @ 81EE63C + trainerbattle_double TRAINER_LISA_AND_RAY, Route107_Text_LisaIntro, Route107_Text_LisaDefeated, Route107_Text_LisaNotEnoughPokemon + msgbox Route107_Text_LisaPostBattle, MSGBOX_AUTOCLOSE end -Route107_EventScript_1EE657:: @ 81EE657 - trainerbattle_double TRAINER_LISA_AND_RAY, Route107_Text_296B57, Route107_Text_296BB3, Route107_Text_296C34 - msgbox Route107_Text_296BE1, MSGBOX_AUTOCLOSE +Route107_EventScript_Ray:: @ 81EE657 + trainerbattle_double TRAINER_LISA_AND_RAY, Route107_Text_RayIntro, Route107_Text_RayDefeated, Route107_Text_RayNotEnoughPokemon + msgbox Route107_Text_RayPostBattle, MSGBOX_AUTOCLOSE end -Route107_EventScript_1EE672:: @ 81EE672 - trainerbattle_single TRAINER_CAMRON, Route107_Text_296C6F, Route107_Text_296CAD - msgbox Route107_Text_296CC0, MSGBOX_AUTOCLOSE +Route107_EventScript_Camron:: @ 81EE672 + trainerbattle_single TRAINER_CAMRON, Route107_Text_CamronIntro, Route107_Text_CamronDefeated + msgbox Route107_Text_CamronPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/Route108/map.json b/data/maps/Route108/map.json index b8b188637d..ecdb81f6f6 100644 --- a/data/maps/Route108/map.json +++ b/data/maps/Route108/map.json @@ -35,7 +35,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route108_EventScript_1EE68A", + "script": "Route108_EventScript_Jerome", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route108_EventScript_1EE6B8", + "script": "Route108_EventScript_Tara", "flag": "0" }, { @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route108_EventScript_1EE6A1", + "script": "Route108_EventScript_Matthew", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route108_EventScript_1EE6CF", + "script": "Route108_EventScript_Missy", "flag": "0" }, { @@ -87,7 +87,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route108_EventScript_1EE6E6", + "script": "Route108_EventScript_Carolina", "flag": "0" }, { @@ -100,7 +100,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route108_EventScript_1EE6FD", + "script": "Route108_EventScript_Cory", "flag": "0" }, { diff --git a/data/maps/Route108/scripts.inc b/data/maps/Route108/scripts.inc index 15a657a200..57f353bd13 100644 --- a/data/maps/Route108/scripts.inc +++ b/data/maps/Route108/scripts.inc @@ -1,50 +1,50 @@ Route108_MapScripts:: @ 81EE689 .byte 0 -Route108_EventScript_1EE68A:: @ 81EE68A - trainerbattle_single TRAINER_JEROME, Route108_Text_296D10, Route108_Text_296D3C - msgbox Route108_Text_296D6E, MSGBOX_AUTOCLOSE +Route108_EventScript_Jerome:: @ 81EE68A + trainerbattle_single TRAINER_JEROME, Route108_Text_JeromeIntro, Route108_Text_JeromeDefeated + msgbox Route108_Text_JeromePostBattle, MSGBOX_AUTOCLOSE end -Route108_EventScript_1EE6A1:: @ 81EE6A1 - trainerbattle_single TRAINER_MATTHEW, Route108_Text_296DAF, Route108_Text_296DEA - msgbox Route108_Text_296E03, MSGBOX_AUTOCLOSE +Route108_EventScript_Matthew:: @ 81EE6A1 + trainerbattle_single TRAINER_MATTHEW, Route108_Text_MatthewIntro, Route108_Text_MatthewDefeated + msgbox Route108_Text_MatthewPostBattle, MSGBOX_AUTOCLOSE end -Route108_EventScript_1EE6B8:: @ 81EE6B8 - trainerbattle_single TRAINER_TARA, Route108_Text_296E33, Route108_Text_296E71 - msgbox Route108_Text_296E7A, MSGBOX_AUTOCLOSE +Route108_EventScript_Tara:: @ 81EE6B8 + trainerbattle_single TRAINER_TARA, Route108_Text_TaraIntro, Route108_Text_TaraDefeated + msgbox Route108_Text_TaraPostBattle, MSGBOX_AUTOCLOSE end -Route108_EventScript_1EE6CF:: @ 81EE6CF - trainerbattle_single TRAINER_MISSY, Route108_Text_296EC7, Route108_Text_296EFC - msgbox Route108_Text_296F2A, MSGBOX_AUTOCLOSE +Route108_EventScript_Missy:: @ 81EE6CF + trainerbattle_single TRAINER_MISSY, Route108_Text_MissyIntro, Route108_Text_MissyDefeated + msgbox Route108_Text_MissyPostBattle, MSGBOX_AUTOCLOSE end -Route108_EventScript_1EE6E6:: @ 81EE6E6 - trainerbattle_single TRAINER_CAROLINA, Route108_Text_297094, Route108_Text_2970D7 - msgbox Route108_Text_2970F0, MSGBOX_AUTOCLOSE +Route108_EventScript_Carolina:: @ 81EE6E6 + trainerbattle_single TRAINER_CAROLINA, Route108_Text_CarolinaIntro, Route108_Text_CarolinaDefeated + msgbox Route108_Text_CarolinaPostBattle, MSGBOX_AUTOCLOSE end -Route108_EventScript_1EE6FD:: @ 81EE6FD - trainerbattle_single TRAINER_CORY_1, Route108_Text_296F5D, Route108_Text_296F93, Route108_EventScript_1EE729 +Route108_EventScript_Cory:: @ 81EE6FD + trainerbattle_single TRAINER_CORY_1, Route108_Text_CoryIntro, Route108_Text_CoryDefeated, Route108_EventScript_CoryRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route108_EventScript_1EE748 - msgbox Route108_Text_296FB0, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route108_EventScript_CoryRematch + msgbox Route108_Text_CoryPostBattle, MSGBOX_DEFAULT release end -Route108_EventScript_1EE729:: @ 81EE729 - special sub_80B4808 +Route108_EventScript_CoryRegisterMatchCallAfterBattle:: @ 81EE729 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route108_Text_296FD8, MSGBOX_DEFAULT + msgbox Route108_Text_CoryRegister, MSGBOX_DEFAULT register_matchcall TRAINER_CORY_1 release end -Route108_EventScript_1EE748:: @ 81EE748 - trainerbattle_rematch TRAINER_CORY_1, Route108_Text_297011, Route108_Text_297036 - msgbox Route108_Text_297059, MSGBOX_AUTOCLOSE +Route108_EventScript_CoryRematch:: @ 81EE748 + trainerbattle_rematch TRAINER_CORY_1, Route108_Text_CoryRematchIntro, Route108_Text_CoryRematchDefeated + msgbox Route108_Text_CoryRematchPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/Route109/map.json b/data/maps/Route109/map.json index 3614672663..4ba9baf9fe 100644 --- a/data/maps/Route109/map.json +++ b/data/maps/Route109/map.json @@ -48,8 +48,8 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route109_EventScript_1EE910", - "flag": "FLAG_HIDE_ROUTE_108_MR_BRINEY" + "script": "Route109_EventScript_MrBriney", + "flag": "FLAG_HIDE_ROUTE_109_MR_BRINEY" }, { "graphics_id": "EVENT_OBJ_GFX_SWIMMER_M", @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route109_EventScript_1EEA3D", + "script": "Route109_EventScript_David", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route109_EventScript_1EEA54", + "script": "Route109_EventScript_Alice", "flag": "0" }, { @@ -87,7 +87,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route109_EventScript_1EEA6B", + "script": "Route109_EventScript_Huey", "flag": "0" }, { @@ -100,7 +100,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "Route109_EventScript_1EEA82", + "script": "Route109_EventScript_Edmond", "flag": "0" }, { @@ -113,7 +113,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route109_EventScript_1EEA99", + "script": "Route109_EventScript_Ricky", "flag": "0" }, { @@ -126,7 +126,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route109_EventScript_1EEAFB", + "script": "Route109_EventScript_Lola", "flag": "0" }, { @@ -139,7 +139,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route109_EventScript_1EE995", + "script": "Route109_EventScript_SeashoreHouseGirl", "flag": "0" }, { @@ -165,7 +165,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route109_EventScript_1EEB74", + "script": "Route109_EventScript_Gwen", "flag": "0" }, { @@ -178,7 +178,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route109_EventScript_1EEB5D", + "script": "Route109_EventScript_Austina", "flag": "0" }, { @@ -191,7 +191,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route109_EventScript_1EEB8B", + "script": "Route109_EventScript_Carter", "flag": "0" }, { @@ -204,7 +204,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route109_EventScript_1EE99E", + "script": "Route109_EventScript_SandCastleBoy", "flag": "0" }, { @@ -217,7 +217,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route109_EventScript_1EE9B5", + "script": "Route109_EventScript_SoftSandGirl", "flag": "0" }, { @@ -230,7 +230,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route109_EventScript_1EEA06", + "script": "Route109_EventScript_Woman", "flag": "0" }, { @@ -243,7 +243,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route109_EventScript_1EEBBD", + "script": "Route109_EventScript_Mel", "flag": "0" }, { @@ -256,7 +256,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route109_EventScript_1EEBA2", + "script": "Route109_EventScript_Paul", "flag": "0" }, { @@ -269,7 +269,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route109_EventScript_1EEA0F", + "script": "Route109_EventScript_OldMan", "flag": "0" }, { @@ -282,7 +282,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route109_EventScript_1EEA18", + "script": "Route109_EventScript_Zigzagoon", "flag": "0" }, { @@ -295,7 +295,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "Route109_EventScript_1EEBEF", + "script": "Route109_EventScript_Hailey", "flag": "0" }, { @@ -308,7 +308,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route109_EventScript_1EEBD8", + "script": "Route109_EventScript_Chandler", "flag": "0" }, { @@ -334,7 +334,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route109_EventScript_1EEC06", + "script": "Route109_EventScript_Elijah", "flag": "0" } ], @@ -355,7 +355,7 @@ "y": 5, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route109_EventScript_1EEA2B" + "script": "Route109_EventScript_SeashoreHouseSign" }, { "type": "sign", @@ -363,7 +363,7 @@ "y": 10, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route109_EventScript_1EEA34" + "script": "Route109_EventScript_TrainerTipsSign" }, { "type": "hidden_item", diff --git a/data/maps/Route109/scripts.inc b/data/maps/Route109/scripts.inc index 6447b49c53..7ec6701a8a 100644 --- a/data/maps/Route109/scripts.inc +++ b/data/maps/Route109/scripts.inc @@ -1,59 +1,59 @@ Route109_MapScripts:: @ 81EE75F .byte 0 -Route109_EventScript_1EE760:: @ 81EE760 - call Route109_EventScript_271E95 +Route109_EventScript_StartDepartForDewford:: @ 81EE760 + call EventScript_BackupMrBrineyLocation setobjectpriority 2, MAP_ROUTE109, 0 setobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE109, 0 - applymovement 2, Route109_Movement_1EE90B + applymovement 2, Route109_Movement_BrineyEnterBoat waitmovement 0 removeobject 2 switch VAR_FACING - case 1, Route109_EventScript_1EE7A5 - case 3, Route109_EventScript_1EE7C5 - case 4, Route109_EventScript_1EE7B5 + case DIR_SOUTH, Route109_EventScript_EnterBoatSouth + case DIR_WEST, Route109_EventScript_EnterBoatWest + case DIR_EAST, Route109_EventScript_EnterBoatEast end -Route109_EventScript_1EE7A5:: @ 81EE7A5 - applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE8FD +Route109_EventScript_EnterBoatSouth:: @ 81EE7A5 + applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_PlayerEnterBoatSouth waitmovement 0 - goto Route109_EventScript_1EE7D5 + goto Route109_EventScript_DoSailToDewford end -Route109_EventScript_1EE7B5:: @ 81EE7B5 - applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE905 +Route109_EventScript_EnterBoatEast:: @ 81EE7B5 + applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_PlayerEnterBoatEast waitmovement 0 - goto Route109_EventScript_1EE7D5 + goto Route109_EventScript_DoSailToDewford end -Route109_EventScript_1EE7C5:: @ 81EE7C5 - applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE908 +Route109_EventScript_EnterBoatWest:: @ 81EE7C5 + applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_PlayerEnterBoatWest waitmovement 0 - goto Route109_EventScript_1EE7D5 + goto Route109_EventScript_DoSailToDewford end -Route109_EventScript_1EE7D5:: @ 81EE7D5 +Route109_EventScript_DoSailToDewford:: @ 81EE7D5 hideobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE109 - call Route109_EventScript_2720A0 - applymovement 1, Route109_Movement_1EE84F - applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE84F + call Common_EventScript_PlayBrineysBoatMusic + applymovement 1, Route109_Movement_SailToDewford + applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_SailToDewford waitmovement 0 delay 50 - call Route109_EventScript_2720A8 + call Common_EventScript_StopBrineysBoatMusic showobjectat EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN - applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE900 + applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_PlayerExitBoat waitmovement 0 addobject 4 clearflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN setobjectxyperm 2, 12, 8 addobject 2 setobjectpriority 2, MAP_DEWFORD_TOWN, 0 - applymovement 2, Route109_Movement_1EE90D + applymovement 2, Route109_Movement_BrineyExitBoat waitmovement 0 clearflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT hideobjectat 1, MAP_ROUTE109 - msgbox Route109_Text_1E9C1D, MSGBOX_DEFAULT + msgbox DewfordTown_Text_BrineyLandedInDewford, MSGBOX_DEFAULT closemessage copyvar VAR_BRINEY_LOCATION, VAR_0x8008 resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE109 @@ -62,7 +62,7 @@ Route109_EventScript_1EE7D5:: @ 81EE7D5 release end -Route109_Movement_1EE84F: @ 81EE84F +Route109_Movement_SailToDewford: @ 81EE84F walk_in_place_fastest_down walk_down walk_down @@ -238,99 +238,99 @@ Route109_Movement_1EE84F: @ 81EE84F walk_in_place_fastest_down step_end -Route109_Movement_1EE8FD: @ 81EE8FD +Route109_Movement_PlayerEnterBoatSouth: @ 81EE8FD walk_down walk_down step_end -Route109_Movement_1EE900: @ 81EE900 +Route109_Movement_PlayerExitBoat: @ 81EE900 walk_down walk_down walk_left walk_in_place_fastest_right step_end -Route109_Movement_1EE905: @ 81EE905 +Route109_Movement_PlayerEnterBoatEast: @ 81EE905 walk_right walk_down step_end -Route109_Movement_1EE908: @ 81EE908 +Route109_Movement_PlayerEnterBoatWest: @ 81EE908 walk_left walk_down step_end -Route109_Movement_1EE90B: @ 81EE90B +Route109_Movement_BrineyEnterBoat: @ 81EE90B walk_down step_end -Route109_Movement_1EE90D: @ 81EE90D +Route109_Movement_BrineyExitBoat: @ 81EE90D walk_down walk_in_place_fastest_left step_end -Route109_EventScript_1EE910:: @ 81EE910 +Route109_EventScript_MrBriney:: @ 81EE910 lock faceplayer - goto_if_unset FLAG_DELIVERED_DEVON_GOODS, Route109_EventScript_1EE921 - goto Route109_EventScript_1EE93F + goto_if_unset FLAG_DELIVERED_DEVON_GOODS, Route109_EventScript_HaveNotDeliveredDevonGood + goto Route109_EventScript_DeliveredDevonGoods end -Route109_EventScript_1EE921:: @ 81EE921 - message Route109_Text_1EEC96 - msgbox Route109_Text_1EEC96, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route109_EventScript_1EE981 - goto Route109_EventScript_1EE972 +Route109_EventScript_HaveNotDeliveredDevonGood:: @ 81EE921 + message Route109_Text_BrineySailToDewfordQuestion + msgbox Route109_Text_BrineySailToDewfordQuestion, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq Route109_EventScript_StayHere + goto Route109_EventScript_SailToDewford end -Route109_EventScript_1EE93F:: @ 81EE93F - message Route109_Text_1EEE17 +Route109_EventScript_DeliveredDevonGoods:: @ 81EE93F + message Route109_Text_BrineyWhereAreWeBound waitmessage - multichoicedefault 21, 8, 14, 1, 0 + multichoicedefault 21, 8, MULTI_BRINEY_OFF_DEWFORD, 1, 0 switch VAR_RESULT - case 0, Route109_EventScript_1EE972 - case 1, Route109_EventScript_1EE98B - case 127, Route109_EventScript_1EE98B + case 0, Route109_EventScript_SailToDewford + case 1, Route109_EventScript_ChoseNotToSail + case MULTI_B_PRESSED, Route109_EventScript_ChoseNotToSail end -Route109_EventScript_1EE972:: @ 81EE972 - msgbox Route109_Text_1EED06, MSGBOX_DEFAULT +Route109_EventScript_SailToDewford:: @ 81EE972 + msgbox Route109_Text_BrineyDewfordItIs, MSGBOX_DEFAULT closemessage - goto Route109_EventScript_1EE760 + goto Route109_EventScript_StartDepartForDewford end -Route109_EventScript_1EE981:: @ 81EE981 - msgbox Route109_Text_1EED5E, MSGBOX_DEFAULT +Route109_EventScript_StayHere:: @ 81EE981 + msgbox Route109_Text_BrineyDeliverDevonGoods, MSGBOX_DEFAULT release end -Route109_EventScript_1EE98B:: @ 81EE98B - msgbox Route109_Text_1EEE72, MSGBOX_DEFAULT +Route109_EventScript_ChoseNotToSail:: @ 81EE98B + msgbox Route109_Text_BrineyTellMeWhenYouNeedToSail, MSGBOX_DEFAULT release end -Route109_EventScript_1EE995:: @ 81EE995 - msgbox Route109_Text_1EEEB4, MSGBOX_NPC +Route109_EventScript_SeashoreHouseGirl:: @ 81EE995 + msgbox Route109_Text_ChillAtMyPapasSpot, MSGBOX_NPC end -Route109_EventScript_1EE99E:: @ 81EE99E +Route109_EventScript_SandCastleBoy:: @ 81EE99E lock faceplayer - msgbox Route109_Text_1EEFB0, MSGBOX_DEFAULT + msgbox Route109_Text_SandCastleTakingLongTime, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -Route109_EventScript_1EE9B5:: @ 81EE9B5 +Route109_EventScript_SoftSandGirl:: @ 81EE9B5 lock faceplayer special GetPlayerBigGuyGirlString - goto_if_set FLAG_RECEIVED_SOFT_SAND, Route109_EventScript_1EE9F2 - msgbox Route109_Text_1EEFDE, MSGBOX_DEFAULT - giveitem_std ITEM_SOFT_SAND + goto_if_set FLAG_RECEIVED_SOFT_SAND, Route109_EventScript_AlreadyReceivedSoftSand + msgbox Route109_Text_YouCanHaveThis, MSGBOX_DEFAULT + giveitem ITEM_SOFT_SAND compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull closemessage @@ -340,207 +340,207 @@ Route109_EventScript_1EE9B5:: @ 81EE9B5 release end -Route109_EventScript_1EE9F2:: @ 81EE9F2 - msgbox Route109_Text_1EEFF1, MSGBOX_DEFAULT +Route109_EventScript_AlreadyReceivedSoftSand:: @ 81EE9F2 + msgbox Route109_Text_WereGoingToMakeBigCastle, MSGBOX_DEFAULT applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -Route109_EventScript_1EEA06:: @ 81EEA06 - msgbox Route109_Text_1EEF08, MSGBOX_NPC +Route109_EventScript_Woman:: @ 81EEA06 + msgbox Route109_Text_LittleKidsDartAround, MSGBOX_NPC end -Route109_EventScript_1EEA0F:: @ 81EEA0F - msgbox Route109_Text_1EF080, MSGBOX_NPC +Route109_EventScript_OldMan:: @ 81EEA0F + msgbox Route109_Text_ZigzagoonPicksUpLitter, MSGBOX_NPC end -Route109_EventScript_1EEA18:: @ 81EEA18 +Route109_EventScript_Zigzagoon:: @ 81EEA18 lock faceplayer waitse playmoncry SPECIES_ZIGZAGOON, 0 - msgbox Route109_Text_1EF173, MSGBOX_DEFAULT + msgbox Route109_Text_ZigzagoonCry, MSGBOX_DEFAULT waitmoncry release end -Route109_EventScript_1EEA2B:: @ 81EEA2B - msgbox Route109_Text_1EF185, MSGBOX_SIGN +Route109_EventScript_SeashoreHouseSign:: @ 81EEA2B + msgbox Route109_Text_SeashoreHouseSign, MSGBOX_SIGN end -Route109_EventScript_1EEA34:: @ 81EEA34 - msgbox Route109_Text_1EF1D5, MSGBOX_SIGN +Route109_EventScript_TrainerTipsSign:: @ 81EEA34 + msgbox Route109_Text_TrainerTipsSign, MSGBOX_SIGN end -Route109_EventScript_1EEA3D:: @ 81EEA3D - trainerbattle_single TRAINER_DAVID, Route109_Text_297140, Route109_Text_29717D - msgbox Route109_Text_297191, MSGBOX_AUTOCLOSE +Route109_EventScript_David:: @ 81EEA3D + trainerbattle_single TRAINER_DAVID, Route109_Text_DavidIntro, Route109_Text_DavidDefeated + msgbox Route109_Text_DavidPostBattle, MSGBOX_AUTOCLOSE end -Route109_EventScript_1EEA54:: @ 81EEA54 - trainerbattle_single TRAINER_ALICE, Route109_Text_2971D1, Route109_Text_2971FD - msgbox Route109_Text_29720F, MSGBOX_AUTOCLOSE +Route109_EventScript_Alice:: @ 81EEA54 + trainerbattle_single TRAINER_ALICE, Route109_Text_AliceIntro, Route109_Text_AliceDefeated + msgbox Route109_Text_AlicePostBattle, MSGBOX_AUTOCLOSE end -Route109_EventScript_1EEA6B:: @ 81EEA6B - trainerbattle_single TRAINER_HUEY, Route109_Text_297235, Route109_Text_29727B - msgbox Route109_Text_29728C, MSGBOX_AUTOCLOSE +Route109_EventScript_Huey:: @ 81EEA6B + trainerbattle_single TRAINER_HUEY, Route109_Text_HueyIntro, Route109_Text_HueyDefeated + msgbox Route109_Text_HueyPostBattle, MSGBOX_AUTOCLOSE end -Route109_EventScript_1EEA82:: @ 81EEA82 - trainerbattle_single TRAINER_EDMOND, Route109_Text_2972B3, Route109_Text_2972CE - msgbox Route109_Text_2972ED, MSGBOX_AUTOCLOSE +Route109_EventScript_Edmond:: @ 81EEA82 + trainerbattle_single TRAINER_EDMOND, Route109_Text_EdmondIntro, Route109_Text_EdmondDefeated + msgbox Route109_Text_EdmondPostBattle, MSGBOX_AUTOCLOSE end -Route109_EventScript_1EEA99:: @ 81EEA99 - trainerbattle_single TRAINER_RICKY_1, Route109_Text_29733B, Route109_Text_297379, Route109_EventScript_1EEAC5 +Route109_EventScript_Ricky:: @ 81EEA99 + trainerbattle_single TRAINER_RICKY_1, Route109_Text_RickyIntro, Route109_Text_RickyDefeated, Route109_EventScript_RickyRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route109_EventScript_1EEAE4 - msgbox Route109_Text_297380, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route109_EventScript_RickyRematch + msgbox Route109_Text_RickyPostBattle, MSGBOX_DEFAULT release end -Route109_EventScript_1EEAC5:: @ 81EEAC5 - special sub_80B4808 +Route109_EventScript_RickyRegisterMatchCallAfterBattle:: @ 81EEAC5 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route109_Text_2973C1, MSGBOX_DEFAULT + msgbox Route109_Text_RickyRegister, MSGBOX_DEFAULT register_matchcall TRAINER_RICKY_1 release end -Route109_EventScript_1EEAE4:: @ 81EEAE4 - trainerbattle_rematch TRAINER_RICKY_1, Route109_Text_2973FF, Route109_Text_297437 - msgbox Route109_Text_297458, MSGBOX_AUTOCLOSE +Route109_EventScript_RickyRematch:: @ 81EEAE4 + trainerbattle_rematch TRAINER_RICKY_1, Route109_Text_RickyRematchIntro, Route109_Text_RickyRematchDefeated + msgbox Route109_Text_RickyRematchPostBattle, MSGBOX_AUTOCLOSE end -Route109_EventScript_1EEAFB:: @ 81EEAFB - trainerbattle_single TRAINER_LOLA_1, Route109_Text_29749C, Route109_Text_2974CF, Route109_EventScript_1EEB27 +Route109_EventScript_Lola:: @ 81EEAFB + trainerbattle_single TRAINER_LOLA_1, Route109_Text_LolaIntro, Route109_Text_LolaDefeated, Route109_EventScript_LolaRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route109_EventScript_1EEB46 - msgbox Route109_Text_2974D6, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route109_EventScript_LolaRematch + msgbox Route109_Text_LolaPostBattle, MSGBOX_DEFAULT release end -Route109_EventScript_1EEB27:: @ 81EEB27 - special sub_80B4808 +Route109_EventScript_LolaRegisterMatchCallAfterBattle:: @ 81EEB27 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route109_Text_297520, MSGBOX_DEFAULT + msgbox Route109_Text_LolaRegister, MSGBOX_DEFAULT register_matchcall TRAINER_LOLA_1 release end -Route109_EventScript_1EEB46:: @ 81EEB46 - trainerbattle_rematch TRAINER_LOLA_1, Route109_Text_297538, Route109_Text_297576 - msgbox Route109_Text_29757D, MSGBOX_AUTOCLOSE +Route109_EventScript_LolaRematch:: @ 81EEB46 + trainerbattle_rematch TRAINER_LOLA_1, Route109_Text_LolaRematchIntro, Route109_Text_LolaRematchDefeated + msgbox Route109_Text_LolaRematchPostBattle, MSGBOX_AUTOCLOSE end -Route109_EventScript_1EEB5D:: @ 81EEB5D - trainerbattle_single TRAINER_AUSTINA, Route109_Text_2975C0, Route109_Text_297601 - msgbox Route109_Text_29762A, MSGBOX_AUTOCLOSE +Route109_EventScript_Austina:: @ 81EEB5D + trainerbattle_single TRAINER_AUSTINA, Route109_Text_AustinaIntro, Route109_Text_AustinaDefeated + msgbox Route109_Text_AustinaPostBattle, MSGBOX_AUTOCLOSE end -Route109_EventScript_1EEB74:: @ 81EEB74 - trainerbattle_single TRAINER_GWEN, Route109_Text_297667, Route109_Text_297691 - msgbox Route109_Text_2976A4, MSGBOX_AUTOCLOSE +Route109_EventScript_Gwen:: @ 81EEB74 + trainerbattle_single TRAINER_GWEN, Route109_Text_GwenIntro, Route109_Text_GwenDefeated + msgbox Route109_Text_GwenPostBattle, MSGBOX_AUTOCLOSE end -Route109_EventScript_1EEB8B:: @ 81EEB8B - trainerbattle_single TRAINER_CARTER, Route109_Text_2976C5, Route109_Text_2976FC - msgbox Route109_Text_297715, MSGBOX_AUTOCLOSE +Route109_EventScript_Carter:: @ 81EEB8B + trainerbattle_single TRAINER_CARTER, Route109_Text_CarterIntro, Route109_Text_CarterDefeated + msgbox Route109_Text_CarterPostBattle, MSGBOX_AUTOCLOSE end -Route109_EventScript_1EEBA2:: @ 81EEBA2 - trainerbattle_double TRAINER_MEL_AND_PAUL, Route109_Text_297754, Route109_Text_2977B0, Route109_Text_29781D - msgbox Route109_Text_2977C7, MSGBOX_AUTOCLOSE +Route109_EventScript_Paul:: @ 81EEBA2 + trainerbattle_double TRAINER_MEL_AND_PAUL, Route109_Text_PaulIntro, Route109_Text_PaulDefeated, Route109_Text_PaulNotEnoughPokemon + msgbox Route109_Text_PaulPostBattle, MSGBOX_AUTOCLOSE end -Route109_EventScript_1EEBBD:: @ 81EEBBD - trainerbattle_double TRAINER_MEL_AND_PAUL, Route109_Text_297872, Route109_Text_2978BD, Route109_Text_29792E - msgbox Route109_Text_2978F1, MSGBOX_AUTOCLOSE +Route109_EventScript_Mel:: @ 81EEBBD + trainerbattle_double TRAINER_MEL_AND_PAUL, Route109_Text_MelIntro, Route109_Text_MelDefeated, Route109_Text_MelNotEnoughPokemon + msgbox Route109_Text_MelPostBattle, MSGBOX_AUTOCLOSE end -Route109_EventScript_1EEBD8:: @ 81EEBD8 - trainerbattle_single TRAINER_CHANDLER, Route109_Text_29798A, Route109_Text_2979AE - msgbox Route109_Text_2979BF, MSGBOX_AUTOCLOSE +Route109_EventScript_Chandler:: @ 81EEBD8 + trainerbattle_single TRAINER_CHANDLER, Route109_Text_ChandlerIntro, Route109_Text_ChandlerDefeated + msgbox Route109_Text_ChandlerPostBattle, MSGBOX_AUTOCLOSE end -Route109_EventScript_1EEBEF:: @ 81EEBEF - trainerbattle_single TRAINER_HAILEY, Route109_Text_2979EC, Route109_Text_297A15 - msgbox Route109_Text_297A40, MSGBOX_AUTOCLOSE +Route109_EventScript_Hailey:: @ 81EEBEF + trainerbattle_single TRAINER_HAILEY, Route109_Text_HaileyIntro, Route109_Text_HaileyDefeated + msgbox Route109_Text_HaileyPostBattle, MSGBOX_AUTOCLOSE end -Route109_EventScript_1EEC06:: @ 81EEC06 - trainerbattle_single TRAINER_ELIJAH, Route109_Text_297A82, Route109_Text_297AC7 - msgbox Route109_Text_297AE5, MSGBOX_AUTOCLOSE +Route109_EventScript_Elijah:: @ 81EEC06 + trainerbattle_single TRAINER_ELIJAH, Route109_Text_ElijahIntro, Route109_Text_ElijahDefeated + msgbox Route109_Text_ElijahPostBattle, MSGBOX_AUTOCLOSE end -DewfordTown_Text_1EEC1D: @ 81EEC1D +DewfordTown_Text_BrineyLandedInSlateportDeliverGoods: @ 81EEC1D .string "MR. BRINEY: Ahoy!\n" .string "We've made land in SLATEPORT!\p" .string "I suppose you're going to visit CAPT.\n" .string "STERN and deliver the DEVON GOODS?$" -Route109_Text_1EEC96: @ 81EEC96 +Route109_Text_BrineySailToDewfordQuestion: @ 81EEC96 .string "MR. BRINEY: I thought you're supposed\n" .string "to deliver the DEVON GOODS.\p" .string "Would you like to sail back to\n" .string "DEWFORD, then?$" -Route109_Text_1EED06: @ 81EED06 +Route109_Text_BrineyDewfordItIs: @ 81EED06 .string "MR. BRINEY: DEWFORD it is, then!\p" .string "Anchors aweigh!\n" .string "PEEKO, we're setting sail, my darling!$" -Route109_Text_1EED5E: @ 81EED5E +Route109_Text_BrineyDeliverDevonGoods: @ 81EED5E .string "MR. BRINEY: Then you go on and deliver\n" .string "the DEVON GOODS. I'll be waiting.$" -DewfordTown_Text_1EEDA7: @ 81EEDA7 +DewfordTown_Text_BrineyLandedInSlateport: @ 81EEDA7 .string "MR. BRINEY: Ahoy! We've made land in\n" .string "SLATEPORT!\p" .string "You just go on and tell me whenever\n" .string "you want to set sail again!$" -Route109_Text_1EEE17: @ 81EEE17 +Route109_Text_BrineyWhereAreWeBound: @ 81EEE17 .string "MR. BRINEY: Ahoy!\n" .string "For you, I'll go out to sea anytime!\p" .string "Now, my friend, where are we bound?$" -Route109_Text_1EEE72: @ 81EEE72 +Route109_Text_BrineyTellMeWhenYouNeedToSail: @ 81EEE72 .string "MR. BRINEY: You just tell me whenever\n" .string "you need to set sail again!$" -Route109_Text_1EEEB4: @ 81EEEB4 +Route109_Text_ChillAtMyPapasSpot: @ 81EEEB4 .string "Yo, TRAINERS!\n" .string "Whether you're hot to trot,\l" .string "or cool cat not,\l" .string "chill at my papa's spot!$" -Route109_Text_1EEF08: @ 81EEF08 +Route109_Text_LittleKidsDartAround: @ 81EEF08 .string "Little kids can dart around so quickly…\p" .string "You don't dare take your eyes off them\n" .string "for an instant. It's very taxing.\p" .string "Mine are with my POKéMON, so they\n" .string "should be okay, but…$" -Route109_Text_1EEFB0: @ 81EEFB0 +Route109_Text_SandCastleTakingLongTime: @ 81EEFB0 .string "Our sand castle's taking a long time\n" .string "to make.$" -Route109_Text_1EEFDE: @ 81EEFDE +Route109_Text_YouCanHaveThis: @ 81EEFDE .string "You can have this!$" -Route109_Text_1EEFF1: @ 81EEFF1 +Route109_Text_WereGoingToMakeBigCastle: @ 81EEFF1 .string "We're going to get all the sand from\n" .string "the beach and make a big castle!\p" .string "And then we're going to be a king and\n" .string "queen.\p" .string "We'll let you be a servant.$" -Route109_Text_1EF080: @ 81EF080 +Route109_Text_ZigzagoonPicksUpLitter: @ 81EF080 .string "The water around these parts is clean.\p" .string "But, I get my ZIGZAGOON to pick up\n" .string "litter from the shoreline at times.\p" @@ -549,15 +549,15 @@ Route109_Text_1EF080: @ 81EF080 .string "If we pollute the sea, it all comes\n" .string "back to haunt us eventually.$" -Route109_Text_1EF173: @ 81EF173 +Route109_Text_ZigzagoonCry: @ 81EF173 .string "ZIGZAGOON: Guguu?$" -Route109_Text_1EF185: @ 81EF185 +Route109_Text_SeashoreHouseSign: @ 81EF185 .string "SEASHORE HOUSE\p" .string "“May hot battles rage on hot sands!\n" .string "The place for hot TRAINERS!”$" -Route109_Text_1EF1D5: @ 81EF1D5 +Route109_Text_TrainerTipsSign: @ 81EF1D5 .string "TRAINER TIPS\p" .string "POKéMON at the same level may not\n" .string "always have identical stats.\p" diff --git a/data/maps/Route109_SeashoreHouse/map.json b/data/maps/Route109_SeashoreHouse/map.json index 3f293b2916..ebd5583c6f 100644 --- a/data/maps/Route109_SeashoreHouse/map.json +++ b/data/maps/Route109_SeashoreHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route109_SeashoreHouse_EventScript_2693FE", + "script": "Route109_SeashoreHouse_EventScript_Owner", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route109_SeashoreHouse_EventScript_2694E2", + "script": "Route109_SeashoreHouse_EventScript_Dwayne", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route109_SeashoreHouse_EventScript_269518", + "script": "Route109_SeashoreHouse_EventScript_Simon", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route109_SeashoreHouse_EventScript_2694FD", + "script": "Route109_SeashoreHouse_EventScript_Johanna", "flag": "0" } ], diff --git a/data/maps/Route109_SeashoreHouse/scripts.inc b/data/maps/Route109_SeashoreHouse/scripts.inc index 79d021334f..dd29e47c3a 100644 --- a/data/maps/Route109_SeashoreHouse/scripts.inc +++ b/data/maps/Route109_SeashoreHouse/scripts.inc @@ -6,112 +6,101 @@ Route109_SeashoreHouse_OnTransition: @ 82693FA setflag FLAG_LANDMARK_SEASHORE_HOUSE end -Route109_SeashoreHouse_EventScript_2693FE:: @ 82693FE +Route109_SeashoreHouse_EventScript_Owner:: @ 82693FE lock faceplayer - goto_if_set FLAG_RECEIVED_6_SODA_POP, Route109_SeashoreHouse_EventScript_269460 - goto_if_set FLAG_DEFEATED_SEASHORE_HOUSE, Route109_SeashoreHouse_EventScript_269432 - goto_if_set FLAG_TEMP_2, Route109_SeashoreHouse_EventScript_269428 - msgbox Route109_SeashoreHouse_Text_269555, MSGBOX_DEFAULT + goto_if_set FLAG_RECEIVED_6_SODA_POP, Route109_SeashoreHouse_EventScript_AlreadyReceivedSodaPop + goto_if_set FLAG_DEFEATED_SEASHORE_HOUSE, Route109_SeashoreHouse_EventScript_DefeatedTrainers + goto_if_set FLAG_TEMP_2, Route109_SeashoreHouse_EventScript_AlreadyGaveIntroduction + msgbox Route109_SeashoreHouse_Text_SeashoreHouseIntro, MSGBOX_DEFAULT setflag FLAG_TEMP_2 release end -Route109_SeashoreHouse_EventScript_269428:: @ 8269428 - msgbox Route109_SeashoreHouse_Text_269635, MSGBOX_DEFAULT +Route109_SeashoreHouse_EventScript_AlreadyGaveIntroduction:: @ 8269428 + msgbox Route109_SeashoreHouse_Text_ShowMeSomeHotMatches, MSGBOX_DEFAULT release end -Route109_SeashoreHouse_EventScript_269432:: @ 8269432 - msgbox Route109_SeashoreHouse_Text_269685, MSGBOX_DEFAULT - giveitem_std ITEM_SODA_POP, 6 +Route109_SeashoreHouse_EventScript_DefeatedTrainers:: @ 8269432 + msgbox Route109_SeashoreHouse_Text_TakeTheseSodaPopBottles, MSGBOX_DEFAULT + giveitem ITEM_SODA_POP, 6 compare VAR_RESULT, 0 - goto_if_eq Route109_SeashoreHouse_EventScript_269456 + goto_if_eq Route109_SeashoreHouse_EventScript_BagFull setflag FLAG_RECEIVED_6_SODA_POP release end -Route109_SeashoreHouse_EventScript_269456:: @ 8269456 - msgbox Route109_SeashoreHouse_Text_26973A, MSGBOX_DEFAULT +Route109_SeashoreHouse_EventScript_BagFull:: @ 8269456 + msgbox Route109_SeashoreHouse_Text_BagFull, MSGBOX_DEFAULT release end -Route109_SeashoreHouse_EventScript_269460:: @ 8269460 +Route109_SeashoreHouse_EventScript_AlreadyReceivedSodaPop:: @ 8269460 showmoneybox 0, 0, 0 - msgbox Route109_SeashoreHouse_Text_26977E, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route109_SeashoreHouse_EventScript_269484 - msgbox Route109_SeashoreHouse_Text_2697EF, MSGBOX_DEFAULT + msgbox Route109_SeashoreHouse_Text_WantToBuySodaPop, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route109_SeashoreHouse_EventScript_BuySodaPop + msgbox Route109_SeashoreHouse_Text_ThatsTooBad, MSGBOX_DEFAULT hidemoneybox - nop - nop release end -Route109_SeashoreHouse_EventScript_269484:: @ 8269484 - checkmoney 0x12c, 0 - compare VAR_RESULT, 0 - goto_if_eq Route109_SeashoreHouse_EventScript_2694C8 +Route109_SeashoreHouse_EventScript_BuySodaPop:: @ 8269484 + checkmoney 300, 0 + compare VAR_RESULT, FALSE + goto_if_eq Route109_SeashoreHouse_EventScript_NotEnoughMoney 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 + compare VAR_RESULT, FALSE + goto_if_eq Route109_SeashoreHouse_EventScript_NotEnoughSpace + msgbox Route109_SeashoreHouse_Text_HereYouGo, MSGBOX_DEFAULT + removemoney 300, 0 updatemoneybox 0, 0 - giveitem_std ITEM_SODA_POP + giveitem ITEM_SODA_POP hidemoneybox - nop - nop release end -Route109_SeashoreHouse_EventScript_2694C8:: @ 82694C8 - msgbox Route109_SeashoreHouse_Text_2697D5, MSGBOX_DEFAULT +Route109_SeashoreHouse_EventScript_NotEnoughMoney:: @ 82694C8 + msgbox Route109_SeashoreHouse_Text_NotEnoughMoney, MSGBOX_DEFAULT hidemoneybox - nop - nop release end -Route109_SeashoreHouse_EventScript_2694D5:: @ 82694D5 +Route109_SeashoreHouse_EventScript_NotEnoughSpace:: @ 82694D5 msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT hidemoneybox - nop - nop release end -Route109_SeashoreHouse_EventScript_2694E2:: @ 82694E2 - trainerbattle_single TRAINER_DWAYNE, Route109_SeashoreHouse_Text_269803, Route109_SeashoreHouse_Text_269867, Route109_SeashoreHouse_EventScript_269533 - msgbox Route109_SeashoreHouse_Text_26989D, MSGBOX_AUTOCLOSE +Route109_SeashoreHouse_EventScript_Dwayne:: @ 82694E2 + trainerbattle_single TRAINER_DWAYNE, Route109_SeashoreHouse_Text_DwayneIntro, Route109_SeashoreHouse_Text_DwayneDefeated, Route109_SeashoreHouse_EventScript_CheckTrainersCompletion + msgbox Route109_SeashoreHouse_Text_DwaynePostBattle, MSGBOX_AUTOCLOSE end -Route109_SeashoreHouse_EventScript_2694FD:: @ 82694FD - trainerbattle_single TRAINER_JOHANNA, Route109_SeashoreHouse_Text_2698E3, Route109_SeashoreHouse_Text_269947, Route109_SeashoreHouse_EventScript_269533 - msgbox Route109_SeashoreHouse_Text_269953, MSGBOX_AUTOCLOSE +Route109_SeashoreHouse_EventScript_Johanna:: @ 82694FD + trainerbattle_single TRAINER_JOHANNA, Route109_SeashoreHouse_Text_JohannaIntro, Route109_SeashoreHouse_Text_JohannaDefeated, Route109_SeashoreHouse_EventScript_CheckTrainersCompletion + msgbox Route109_SeashoreHouse_Text_JohannaPostBattle, MSGBOX_AUTOCLOSE end -Route109_SeashoreHouse_EventScript_269518:: @ 8269518 - trainerbattle_single TRAINER_SIMON, Route109_SeashoreHouse_Text_269986, Route109_SeashoreHouse_Text_2699C5, Route109_SeashoreHouse_EventScript_269533 - msgbox Route109_SeashoreHouse_Text_2699DF, MSGBOX_AUTOCLOSE +Route109_SeashoreHouse_EventScript_Simon:: @ 8269518 + trainerbattle_single TRAINER_SIMON, Route109_SeashoreHouse_Text_SimonIntro, Route109_SeashoreHouse_Text_SimonDefeated, Route109_SeashoreHouse_EventScript_CheckTrainersCompletion + msgbox Route109_SeashoreHouse_Text_SimonPostBattle, MSGBOX_AUTOCLOSE end -Route109_SeashoreHouse_EventScript_269533:: @ 8269533 - checktrainerflag TRAINER_DWAYNE - goto_if_lt Route109_SeashoreHouse_EventScript_269553 - checktrainerflag TRAINER_JOHANNA - goto_if_lt Route109_SeashoreHouse_EventScript_269553 - checktrainerflag TRAINER_SIMON - goto_if_lt Route109_SeashoreHouse_EventScript_269553 +Route109_SeashoreHouse_EventScript_CheckTrainersCompletion:: @ 8269533 + goto_if_not_defeated TRAINER_DWAYNE, Route109_SeashoreHouse_EventScript_TrainersNotCompleted + goto_if_not_defeated TRAINER_JOHANNA, Route109_SeashoreHouse_EventScript_TrainersNotCompleted + goto_if_not_defeated TRAINER_SIMON, Route109_SeashoreHouse_EventScript_TrainersNotCompleted setflag FLAG_DEFEATED_SEASHORE_HOUSE release end -Route109_SeashoreHouse_EventScript_269553:: @ 8269553 +Route109_SeashoreHouse_EventScript_TrainersNotCompleted:: @ 8269553 release end -Route109_SeashoreHouse_Text_269555: @ 8269555 +Route109_SeashoreHouse_Text_SeashoreHouseIntro: @ 8269555 .string "I'm the owner of the SEASHORE HOUSE.\n" .string "But you can call me MR. SEA!\p" .string "What I love above all is to see hot\n" @@ -120,12 +109,12 @@ Route109_SeashoreHouse_Text_269555: @ 8269555 .string "If you can defeat all the TRAINERS\n" .string "here, I'll reward your efforts.$" -Route109_SeashoreHouse_Text_269635: @ 8269635 +Route109_SeashoreHouse_Text_ShowMeSomeHotMatches: @ 8269635 .string "Show me some hot matches!\p" .string "I run this SEASHORE HOUSE just for\n" .string "that reason alone!$" -Route109_SeashoreHouse_Text_269685: @ 8269685 +Route109_SeashoreHouse_Text_TakeTheseSodaPopBottles: @ 8269685 .string "You're scorching hot!\n" .string "Those battles blazed!\l" .string "I'm more than just satisfied!\p" @@ -133,59 +122,59 @@ Route109_SeashoreHouse_Text_269685: @ 8269685 .string "streak, I want you to take these.\p" .string "It's half a dozen bottles of SODA POP!$" -Route109_SeashoreHouse_Text_26973A: @ 826973A +Route109_SeashoreHouse_Text_BagFull: @ 826973A .string "Oh, but hey, your BAG's jammed full.\n" .string "I'll hang on to these for you.$" -Route109_SeashoreHouse_Text_26977E: @ 826977E +Route109_SeashoreHouse_Text_WantToBuySodaPop: @ 826977E .string "Want to buy some SODA POP?\n" .string "POKéMON love it!\p" .string "Just ¥300 a bottle!\n" .string "Buy some!$" -Route109_SeashoreHouse_Text_2697C8: @ 82697C8 +Route109_SeashoreHouse_Text_HereYouGo: @ 82697C8 .string "Here you go!$" -Route109_SeashoreHouse_Text_2697D5: @ 82697D5 +Route109_SeashoreHouse_Text_NotEnoughMoney: @ 82697D5 .string "You don't have the money.$" -Route109_SeashoreHouse_Text_2697EF: @ 82697EF +Route109_SeashoreHouse_Text_ThatsTooBad: @ 82697EF .string "No?\n" .string "That's too bad.$" -Route109_SeashoreHouse_Text_269803: @ 8269803 +Route109_SeashoreHouse_Text_DwayneIntro: @ 8269803 .string "If you're looking for a battle in the\n" .string "SEASHORE HOUSE, you'll find no\l" .string "hotter TRAINER than me, matey!$" -Route109_SeashoreHouse_Text_269867: @ 8269867 +Route109_SeashoreHouse_Text_DwayneDefeated: @ 8269867 .string "That was a hot battle!\n" .string "I can accept that loss, matey!$" -Route109_SeashoreHouse_Text_26989D: @ 826989D +Route109_SeashoreHouse_Text_DwaynePostBattle: @ 826989D .string "Whenever I'm in SLATEPORT, I enjoy\n" .string "hot battles and ice-cold SODA POP!$" -Route109_SeashoreHouse_Text_2698E3: @ 82698E3 +Route109_SeashoreHouse_Text_JohannaIntro: @ 82698E3 .string "Boring battles aren't worth the effort.\p" .string "Fiery hot battles are what toughen up\n" .string "TRAINERS and POKéMON!$" -Route109_SeashoreHouse_Text_269947: @ 8269947 +Route109_SeashoreHouse_Text_JohannaDefeated: @ 8269947 .string "That's hot!$" -Route109_SeashoreHouse_Text_269953: @ 8269953 +Route109_SeashoreHouse_Text_JohannaPostBattle: @ 8269953 .string "Whew, I'm all thirsty.\n" .string "Maybe I'll have a SODA POP.$" -Route109_SeashoreHouse_Text_269986: @ 8269986 +Route109_SeashoreHouse_Text_SimonIntro: @ 8269986 .string "I'm going to show you how great\n" .string "my POKéMON are, but don't cry!$" -Route109_SeashoreHouse_Text_2699C5: @ 82699C5 +Route109_SeashoreHouse_Text_SimonDefeated: @ 82699C5 .string "…I lost, but I won't cry…$" -Route109_SeashoreHouse_Text_2699DF: @ 82699DF +Route109_SeashoreHouse_Text_SimonPostBattle: @ 82699DF .string "If one of my POKéMON knew the move\n" .string "for carrying me across water on its\l" .string "back, I could get rid of this inner tube.$" diff --git a/data/maps/Route110/map.json b/data/maps/Route110/map.json index 570c38dcca..660f24cccf 100644 --- a/data/maps/Route110/map.json +++ b/data/maps/Route110/map.json @@ -40,7 +40,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_EventScript_1EF338", + "script": "Route110_EventScript_Boy2", "flag": "0" }, { @@ -53,7 +53,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_EventScript_1EF32F", + "script": "Route110_EventScript_CyclingGuy2", "flag": "0" }, { @@ -66,7 +66,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_EventScript_1EF326", + "script": "Route110_EventScript_OldWoman", "flag": "0" }, { @@ -79,7 +79,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_EventScript_1EF314", + "script": "Route110_EventScript_CyclingGuy1", "flag": "0" }, { @@ -92,7 +92,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_EventScript_1EF31D", + "script": "Route110_EventScript_OldMan", "flag": "0" }, { @@ -105,7 +105,7 @@ "movement_range_y": 3, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_EventScript_1EF30B", + "script": "Route110_EventScript_CyclingGirl1", "flag": "0" }, { @@ -118,7 +118,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_EventScript_1EF302", + "script": "Route110_EventScript_Boy1", "flag": "0" }, { @@ -131,7 +131,7 @@ "movement_range_y": 14, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route110_EventScript_1EF529", + "script": "Route110_EventScript_Jasmine", "flag": "0" }, { @@ -144,7 +144,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route110_EventScript_1EF4B0", + "script": "Route110_EventScript_Anthony", "flag": "0" }, { @@ -157,7 +157,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route110_EventScript_1EF540", + "script": "Route110_EventScript_Abigail", "flag": "0" }, { @@ -170,7 +170,7 @@ "movement_range_y": 4, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route110_EventScript_1EF4C7", + "script": "Route110_EventScript_Benjamin", "flag": "0" }, { @@ -183,7 +183,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "Route110_EventScript_1EF3F2", + "script": "Route110_EventScript_Edward", "flag": "0" }, { @@ -196,7 +196,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_EventScript_1EF409", + "script": "Route110_EventScript_Jaclyn", "flag": "0" }, { @@ -209,7 +209,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route110_EventScript_1EF420", + "script": "Route110_EventScript_Edwin", "flag": "0" }, { @@ -222,7 +222,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_EventScript_1EF482", + "script": "Route110_EventScript_Dale", "flag": "0" }, { @@ -300,7 +300,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_EventScript_1EF3B7", + "script": "Route110_EventScript_ChallengeGuy", "flag": "0" }, { @@ -313,7 +313,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_EventScript_1EF2AA", + "script": "Route110_EventScript_AquaGrunt1", "flag": "FLAG_HIDE_ROUTE_110_TEAM_AQUA" }, { @@ -326,7 +326,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_EventScript_1EF2C0", + "script": "Route110_EventScript_AquaGrunt2", "flag": "FLAG_HIDE_ROUTE_110_TEAM_AQUA" }, { @@ -339,7 +339,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_EventScript_1EF2D6", + "script": "Route110_EventScript_AquaGrunt3", "flag": "FLAG_HIDE_ROUTE_110_TEAM_AQUA" }, { @@ -352,7 +352,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_EventScript_1EF2EC", + "script": "Route110_EventScript_AquaGrunt4", "flag": "FLAG_HIDE_ROUTE_110_TEAM_AQUA" }, { @@ -378,7 +378,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route110_EventScript_1EF499", + "script": "Route110_EventScript_Jacob", "flag": "0" }, { @@ -417,7 +417,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route110_EventScript_1EF604", + "script": "Route110_EventScript_Timmy", "flag": "0" }, { @@ -430,7 +430,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route110_EventScript_1EF5A2", + "script": "Route110_EventScript_Isabel", "flag": "0" }, { @@ -443,7 +443,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route110_EventScript_1EF61C", + "script": "Route110_EventScript_Kaleb", "flag": "0" }, { @@ -456,7 +456,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "Route110_EventScript_1EF64A", + "script": "Route110_EventScript_Alyssa", "flag": "0" }, { @@ -469,7 +469,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route110_EventScript_1EF633", + "script": "Route110_EventScript_Joseph", "flag": "0" }, { @@ -551,7 +551,7 @@ "elevation": 3, "var": "VAR_CYCLING_CHALLENGE_STATE", "var_value": "2", - "script": "Route110_EventScript_1EF661" + "script": "Route110_EventScript_CyclingChallengeEnd" }, { "type": "trigger", @@ -560,7 +560,7 @@ "elevation": 3, "var": "VAR_CYCLING_CHALLENGE_STATE", "var_value": "2", - "script": "Route110_EventScript_1EF661" + "script": "Route110_EventScript_CyclingChallengeEnd" }, { "type": "trigger", @@ -569,7 +569,7 @@ "elevation": 3, "var": "VAR_ROUTE110_STATE", "var_value": "0", - "script": "Route110_EventScript_1EF74D" + "script": "Route110_EventScript_RivalTrigger1" }, { "type": "trigger", @@ -578,7 +578,7 @@ "elevation": 3, "var": "VAR_ROUTE110_STATE", "var_value": "0", - "script": "Route110_EventScript_1EF758" + "script": "Route110_EventScript_RivalTrigger2" }, { "type": "trigger", @@ -587,7 +587,7 @@ "elevation": 3, "var": "VAR_ROUTE110_STATE", "var_value": "0", - "script": "Route110_EventScript_1EF763" + "script": "Route110_EventScript_RivalTrigger3" }, { "type": "trigger", @@ -596,7 +596,7 @@ "elevation": 3, "var": "VAR_REGISTER_BIRCH_STATE", "var_value": "1", - "script": "Route110_EventScript_1EF9CB" + "script": "Route110_EventScript_BirchScene1" }, { "type": "trigger", @@ -605,7 +605,7 @@ "elevation": 3, "var": "VAR_REGISTER_BIRCH_STATE", "var_value": "1", - "script": "Route110_EventScript_1EF9D6" + "script": "Route110_EventScript_BirchScene2" }, { "type": "trigger", @@ -614,7 +614,7 @@ "elevation": 3, "var": "VAR_REGISTER_BIRCH_STATE", "var_value": "1", - "script": "Route110_EventScript_1EF9E1" + "script": "Route110_EventScript_BirchScene3" }, { "type": "trigger", @@ -623,7 +623,7 @@ "elevation": 3, "var": "VAR_REGISTER_BIRCH_STATE", "var_value": "1", - "script": "Route110_EventScript_1EF9EC" + "script": "Route110_EventScript_BirchScene4" } ], "bg_events": [ @@ -633,7 +633,7 @@ "y": 25, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_EventScript_1EF353" + "script": "Route110_EventScript_VandalizedSign" }, { "type": "sign", @@ -641,7 +641,7 @@ "y": 51, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_EventScript_1EF365" + "script": "Route110_EventScript_SeasideParkingSign" }, { "type": "sign", @@ -649,7 +649,7 @@ "y": 88, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_EventScript_1EF34A" + "script": "Route110_EventScript_CyclingRoadSign" }, { "type": "sign", @@ -657,7 +657,7 @@ "y": 94, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_EventScript_1EF341" + "script": "Route110_EventScript_SlateportCitySign" }, { "type": "sign", @@ -665,7 +665,7 @@ "y": 79, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_EventScript_1EF35C" + "script": "Route110_EventScript_Route103Sign" }, { "type": "sign", @@ -673,7 +673,7 @@ "y": 17, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_EventScript_1EF36E" + "script": "Route110_EventScript_MauvilleCitySign" }, { "type": "secret_base", @@ -695,7 +695,7 @@ "y": 39, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_EventScript_1EF377" + "script": "Route110_EventScript_TrainerTipsPrlzSleep" }, { "type": "sign", @@ -703,7 +703,7 @@ "y": 70, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_EventScript_1EF380" + "script": "Route110_EventScript_TrainerTipsRegisterItems" }, { "type": "sign", @@ -711,7 +711,7 @@ "y": 67, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_EventScript_1EF389" + "script": "Route110_EventScript_TrickHouseSign" }, { "type": "sign", @@ -719,7 +719,7 @@ "y": 93, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_EventScript_1EF392" + "script": "Route110_EventScript_CyclingRoadResultsSign" }, { "type": "hidden_item", @@ -759,7 +759,7 @@ "y": 16, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_EventScript_1EF34A" + "script": "Route110_EventScript_CyclingRoadSign" } ] } diff --git a/data/maps/Route110/scripts.inc b/data/maps/Route110/scripts.inc index 67fbbd0a81..1cb4f4b889 100644 --- a/data/maps/Route110/scripts.inc +++ b/data/maps/Route110/scripts.inc @@ -1,389 +1,389 @@ Route110_MapScripts:: @ 81EF269 - map_script MAP_SCRIPT_ON_RESUME, Route110_MapScript1_1EF279 + map_script MAP_SCRIPT_ON_RESUME, Route110_OnResume map_script MAP_SCRIPT_ON_TRANSITION, Route110_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_MapScript2_1EF297 + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_OnFrame .byte 0 -Route110_MapScript1_1EF279: @ 81EF279 +Route110_OnResume: @ 81EF279 special UpdateCyclingRoadState end Route110_OnTransition: @ 81EF27D - call Common_EventScript_SetupRivalGender - call Common_EventScript_SetupRivalOnBikeGender + call Common_EventScript_SetupRivalGfxId + call Common_EventScript_SetupRivalOnBikeGfxId compare VAR_CYCLING_CHALLENGE_STATE, 1 - call_if_eq Route110_EventScript_1EF293 + call_if_eq Route110_EventScript_SaveCyclingMusic end -Route110_EventScript_1EF293:: @ 81EF293 +Route110_EventScript_SaveCyclingMusic:: @ 81EF293 savebgm MUS_CYCLING return -Route110_MapScript2_1EF297: @ 81EF297 - map_script_2 VAR_CYCLING_CHALLENGE_STATE, 1, Route110_EventScript_1EF2A1 +Route110_OnFrame: @ 81EF297 + map_script_2 VAR_CYCLING_CHALLENGE_STATE, 1, Route110_EventScript_BeginCylcingRoadChallenge .2byte 0 -Route110_EventScript_1EF2A1:: @ 81EF2A1 +Route110_EventScript_BeginCylcingRoadChallenge:: @ 81EF2A1 special Special_BeginCyclingRoadChallenge setvar VAR_CYCLING_CHALLENGE_STATE, 2 return -Route110_EventScript_1EF2AA:: @ 81EF2AA +Route110_EventScript_AquaGrunt1:: @ 81EF2AA lock faceplayer - msgbox Route110_Text_1EFB5D, MSGBOX_DEFAULT + msgbox Route110_Text_WeCantTalkAboutAquaActivities, MSGBOX_DEFAULT applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -Route110_EventScript_1EF2C0:: @ 81EF2C0 +Route110_EventScript_AquaGrunt2:: @ 81EF2C0 lock faceplayer - msgbox Route110_Text_1EFB93, MSGBOX_DEFAULT + msgbox Route110_Text_KickUpARuckus, MSGBOX_DEFAULT applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -Route110_EventScript_1EF2D6:: @ 81EF2D6 +Route110_EventScript_AquaGrunt3:: @ 81EF2D6 lock faceplayer - msgbox Route110_Text_1EFBCA, MSGBOX_DEFAULT + msgbox Route110_Text_MyFirstJobInAqua, MSGBOX_DEFAULT applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -Route110_EventScript_1EF2EC:: @ 81EF2EC +Route110_EventScript_AquaGrunt4:: @ 81EF2EC lock faceplayer - msgbox Route110_Text_1EFC0D, MSGBOX_DEFAULT + msgbox Route110_Text_AquaActionsBringSmiles, MSGBOX_DEFAULT applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -Route110_EventScript_1EF302:: @ 81EF302 - msgbox Route110_Text_1EFFC3, MSGBOX_NPC +Route110_EventScript_Boy1:: @ 81EF302 + msgbox Route110_Text_RideBikeAtFullSpeed, MSGBOX_NPC end -Route110_EventScript_1EF30B:: @ 81EF30B - msgbox Route110_Text_1F0006, MSGBOX_NPC +Route110_EventScript_CyclingGirl1:: @ 81EF30B + msgbox Route110_Text_HairStreamsBehindMe, MSGBOX_NPC end -Route110_EventScript_1EF314:: @ 81EF314 - msgbox Route110_Text_1F006A, MSGBOX_NPC +Route110_EventScript_CyclingGuy1:: @ 81EF314 + msgbox Route110_Text_YouGotBikeFromRydel, MSGBOX_NPC end -Route110_EventScript_1EF31D:: @ 81EF31D - msgbox Route110_Text_1F0261, MSGBOX_NPC +Route110_EventScript_OldMan:: @ 81EF31D + msgbox Route110_Text_TwoRoads, MSGBOX_NPC end -Route110_EventScript_1EF326:: @ 81EF326 - msgbox Route110_Text_1F02CA, MSGBOX_NPC +Route110_EventScript_OldWoman:: @ 81EF326 + msgbox Route110_Text_WalkOnTheLowRoad, MSGBOX_NPC end -Route110_EventScript_1EF32F:: @ 81EF32F - msgbox Route110_Text_1F030E, MSGBOX_NPC +Route110_EventScript_CyclingGuy2:: @ 81EF32F + msgbox Route110_Text_BikeTechniques, MSGBOX_NPC end -Route110_EventScript_1EF338:: @ 81EF338 - msgbox Route110_Text_1F0390, MSGBOX_NPC +Route110_EventScript_Boy2:: @ 81EF338 + msgbox Route110_Text_WhichShouldIChoose, MSGBOX_NPC end -Route110_EventScript_1EF341:: @ 81EF341 - msgbox Route110_Text_1F0812, MSGBOX_SIGN +Route110_EventScript_SlateportCitySign:: @ 81EF341 + msgbox Route110_Text_SlateportCitySign, MSGBOX_SIGN end -Route110_EventScript_1EF34A:: @ 81EF34A - msgbox Route110_Text_1F082D, MSGBOX_SIGN +Route110_EventScript_CyclingRoadSign:: @ 81EF34A + msgbox Route110_Text_CyclingRoadSign, MSGBOX_SIGN end -Route110_EventScript_1EF353:: @ 81EF353 - msgbox Route110_Text_1F0842, MSGBOX_SIGN +Route110_EventScript_VandalizedSign:: @ 81EF353 + msgbox Route110_Text_AquaWasHere, MSGBOX_SIGN end -Route110_EventScript_1EF35C:: @ 81EF35C - msgbox Route110_Text_1F08CD, MSGBOX_SIGN +Route110_EventScript_Route103Sign:: @ 81EF35C + msgbox Route110_Text_Route103Sign, MSGBOX_SIGN end -Route110_EventScript_1EF365:: @ 81EF365 - msgbox Route110_Text_1F08E3, MSGBOX_SIGN +Route110_EventScript_SeasideParkingSign:: @ 81EF365 + msgbox Route110_Text_SeasideParkingSign, MSGBOX_SIGN end -Route110_EventScript_1EF36E:: @ 81EF36E - msgbox Route110_Text_1F08F3, MSGBOX_SIGN +Route110_EventScript_MauvilleCitySign:: @ 81EF36E + msgbox Route110_Text_MauvilleCitySign, MSGBOX_SIGN end -Route110_EventScript_1EF377:: @ 81EF377 - msgbox Route110_Text_1F090D, MSGBOX_SIGN +Route110_EventScript_TrainerTipsPrlzSleep:: @ 81EF377 + msgbox Route110_Text_TrainerTipsPrlzSleep, MSGBOX_SIGN end -Route110_EventScript_1EF380:: @ 81EF380 - msgbox Route110_Text_1F0992, MSGBOX_SIGN +Route110_EventScript_TrainerTipsRegisterItems:: @ 81EF380 + msgbox Route110_Text_TrainerTipsRegisterItems, MSGBOX_SIGN end -Route110_EventScript_1EF389:: @ 81EF389 - msgbox Route110_Text_1F09DB, MSGBOX_SIGN +Route110_EventScript_TrickHouseSign:: @ 81EF389 + msgbox Route110_Text_TrickHouseSign, MSGBOX_SIGN end -Route110_EventScript_1EF392:: @ 81EF392 +Route110_EventScript_CyclingRoadResultsSign:: @ 81EF392 lockall specialvar VAR_RESULT, GetRecordedCyclingRoadResults - compare VAR_RESULT, 0 - goto_if_eq Route110_EventScript_1EF3AD - msgbox Route110_Text_1F0A1E, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + goto_if_eq Route110_EventScript_NoRecordSet + msgbox Route110_Text_BestRecord, MSGBOX_DEFAULT releaseall end -Route110_EventScript_1EF3AD:: @ 81EF3AD - msgbox Route110_Text_1F0A5E, MSGBOX_DEFAULT +Route110_EventScript_NoRecordSet:: @ 81EF3AD + msgbox Route110_Text_ThereIsNoRecord, MSGBOX_DEFAULT releaseall end -Route110_EventScript_1EF3B7:: @ 81EF3B7 +Route110_EventScript_ChallengeGuy:: @ 81EF3B7 lock faceplayer specialvar VAR_RESULT, GetPlayerAvatarBike compare VAR_RESULT, 1 - goto_if_eq Route110_EventScript_1EF3E8 + goto_if_eq Route110_EventScript_PlayerRidingAcroBike compare VAR_CYCLING_CHALLENGE_STATE, 0 - goto_if_eq Route110_EventScript_1EF3DE - msgbox Route110_Text_1F06FB, MSGBOX_DEFAULT + goto_if_eq Route110_EventScript_PlayerNotRidingBike + msgbox Route110_Text_AlwaysAimHigher, MSGBOX_DEFAULT release end -Route110_EventScript_1EF3DE:: @ 81EF3DE - msgbox Route110_Text_1F0661, MSGBOX_DEFAULT +Route110_EventScript_PlayerNotRidingBike:: @ 81EF3DE + msgbox Route110_Text_RatedForNumberOfCollisions, MSGBOX_DEFAULT release end -Route110_EventScript_1EF3E8:: @ 81EF3E8 - msgbox Route110_Text_1F0755, MSGBOX_DEFAULT +Route110_EventScript_PlayerRidingAcroBike:: @ 81EF3E8 + msgbox Route110_Text_AcroBikesDoNotQualify, MSGBOX_DEFAULT release end -Route110_EventScript_1EF3F2:: @ 81EF3F2 - trainerbattle_single TRAINER_EDWARD, Route110_Text_29802B, Route110_Text_298064 - msgbox Route110_Text_29808A, MSGBOX_AUTOCLOSE +Route110_EventScript_Edward:: @ 81EF3F2 + trainerbattle_single TRAINER_EDWARD, Route110_Text_EdwardIntro, Route110_Text_EdwardDefeated + msgbox Route110_Text_EdwardPostBattle, MSGBOX_AUTOCLOSE end -Route110_EventScript_1EF409:: @ 81EF409 - trainerbattle_single TRAINER_JACLYN, Route110_Text_2980B9, Route110_Text_2980E5 - msgbox Route110_Text_2980F8, MSGBOX_AUTOCLOSE +Route110_EventScript_Jaclyn:: @ 81EF409 + trainerbattle_single TRAINER_JACLYN, Route110_Text_JaclynIntro, Route110_Text_JaclynDefeated + msgbox Route110_Text_JaclynPostBattle, MSGBOX_AUTOCLOSE end -Route110_EventScript_1EF420:: @ 81EF420 - trainerbattle_single TRAINER_EDWIN_1, Route110_Text_29815E, Route110_Text_29818F, Route110_EventScript_1EF44C +Route110_EventScript_Edwin:: @ 81EF420 + trainerbattle_single TRAINER_EDWIN_1, Route110_Text_EdwinIntro, Route110_Text_EdwinDefeated, Route110_EventScript_EdwinRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route110_EventScript_1EF46B - msgbox Route110_Text_2981B3, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route110_EventScript_EdwinRematch + msgbox Route110_Text_EdwinPostBattle, MSGBOX_DEFAULT release end -Route110_EventScript_1EF44C:: @ 81EF44C - special sub_80B4808 +Route110_EventScript_EdwinRegisterMatchCallAfterBattle:: @ 81EF44C + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route110_Text_298201, MSGBOX_DEFAULT + msgbox Route110_Text_EdwinRegister, MSGBOX_DEFAULT register_matchcall TRAINER_EDWIN_1 release end -Route110_EventScript_1EF46B:: @ 81EF46B - trainerbattle_rematch TRAINER_EDWIN_1, Route110_Text_298232, Route110_Text_298288 - msgbox Route110_Text_2982A2, MSGBOX_AUTOCLOSE +Route110_EventScript_EdwinRematch:: @ 81EF46B + trainerbattle_rematch TRAINER_EDWIN_1, Route110_Text_EdwinRematchIntro, Route110_Text_EdwinRematchDefeated + msgbox Route110_Text_EdwinRematchPostBattle, MSGBOX_AUTOCLOSE end -Route110_EventScript_1EF482:: @ 81EF482 - trainerbattle_single TRAINER_DALE, Route110_Text_2982CC, Route110_Text_2982F5 - msgbox Route110_Text_298303, MSGBOX_AUTOCLOSE +Route110_EventScript_Dale:: @ 81EF482 + trainerbattle_single TRAINER_DALE, Route110_Text_DaleIntro, Route110_Text_DaleDefeated + msgbox Route110_Text_DalePostBattle, MSGBOX_AUTOCLOSE end -Route110_EventScript_1EF499:: @ 81EF499 - trainerbattle_single TRAINER_JACOB, Route110_Text_297B3F, Route110_Text_297B77 - msgbox Route110_Text_297B8F, MSGBOX_AUTOCLOSE +Route110_EventScript_Jacob:: @ 81EF499 + trainerbattle_single TRAINER_JACOB, Route110_Text_JacobIntro, Route110_Text_JacobDefeated + msgbox Route110_Text_JacobPostBattle, MSGBOX_AUTOCLOSE end -Route110_EventScript_1EF4B0:: @ 81EF4B0 - trainerbattle_single TRAINER_ANTHONY, Route110_Text_297BE7, Route110_Text_297C0F - msgbox Route110_Text_297C1F, MSGBOX_AUTOCLOSE +Route110_EventScript_Anthony:: @ 81EF4B0 + trainerbattle_single TRAINER_ANTHONY, Route110_Text_AnthonyIntro, Route110_Text_AnthonyDefeated + msgbox Route110_Text_AnthonyPostBattle, MSGBOX_AUTOCLOSE end -Route110_EventScript_1EF4C7:: @ 81EF4C7 - trainerbattle_single TRAINER_BENJAMIN_1, Route110_Text_297C63, Route110_Text_297C8A, Route110_EventScript_1EF4F3 +Route110_EventScript_Benjamin:: @ 81EF4C7 + trainerbattle_single TRAINER_BENJAMIN_1, Route110_Text_BenjaminIntro, Route110_Text_BenjaminDefeated, Route110_EventScript_BenjaminRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route110_EventScript_1EF512 - msgbox Route110_Text_297CB4, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route110_EventScript_BenjaminRematch + msgbox Route110_Text_BenjaminPostBattle, MSGBOX_DEFAULT release end -Route110_EventScript_1EF4F3:: @ 81EF4F3 - special sub_80B4808 +Route110_EventScript_BenjaminRegisterMatchCallAfterBattle:: @ 81EF4F3 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route110_Text_297CFE, MSGBOX_DEFAULT + msgbox Route110_Text_BenjaminRegister, MSGBOX_DEFAULT register_matchcall TRAINER_BENJAMIN_1 release end -Route110_EventScript_1EF512:: @ 81EF512 - trainerbattle_rematch TRAINER_BENJAMIN_1, Route110_Text_297D4B, Route110_Text_297D8E - msgbox Route110_Text_297DB0, MSGBOX_AUTOCLOSE +Route110_EventScript_BenjaminRematch:: @ 81EF512 + trainerbattle_rematch TRAINER_BENJAMIN_1, Route110_Text_BenjaminRematchIntro, Route110_Text_BenjaminRematchDefeated + msgbox Route110_Text_BenjaminRematchPostBattle, MSGBOX_AUTOCLOSE end -Route110_EventScript_1EF529:: @ 81EF529 - trainerbattle_single TRAINER_JASMINE, Route110_Text_297F93, Route110_Text_297FD0 - msgbox Route110_Text_297FF1, MSGBOX_AUTOCLOSE +Route110_EventScript_Jasmine:: @ 81EF529 + trainerbattle_single TRAINER_JASMINE, Route110_Text_JasmineIntro, Route110_Text_JasmineDefeated + msgbox Route110_Text_JasminePostBattle, MSGBOX_AUTOCLOSE end -Route110_EventScript_1EF540:: @ 81EF540 - trainerbattle_single TRAINER_ABIGAIL_1, Route110_Text_297DFA, Route110_Text_297E69, Route110_EventScript_1EF56C +Route110_EventScript_Abigail:: @ 81EF540 + trainerbattle_single TRAINER_ABIGAIL_1, Route110_Text_AbigailIntro, Route110_Text_AbigailDefeated, Route110_EventScript_AbigailRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route110_EventScript_1EF58B - msgbox Route110_Text_297E88, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route110_EventScript_AbigailRematch + msgbox Route110_Text_AbigailPostBattle, MSGBOX_DEFAULT release end -Route110_EventScript_1EF56C:: @ 81EF56C - special sub_80B4808 +Route110_EventScript_AbigailRegisterMatchCallAfterBattle:: @ 81EF56C + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route110_Text_297ECD, MSGBOX_DEFAULT + msgbox Route110_Text_AbigailRegister, MSGBOX_DEFAULT register_matchcall TRAINER_ABIGAIL_1 release end -Route110_EventScript_1EF58B:: @ 81EF58B - trainerbattle_rematch TRAINER_ABIGAIL_1, Route110_Text_297F09, Route110_Text_297F37 - msgbox Route110_Text_297F58, MSGBOX_AUTOCLOSE +Route110_EventScript_AbigailRematch:: @ 81EF58B + trainerbattle_rematch TRAINER_ABIGAIL_1, Route110_Text_AbigailRematchIntro, Route110_Text_AbigailRematchDefeated + msgbox Route110_Text_AbigailRematchPostBattle, MSGBOX_AUTOCLOSE end -Route110_EventScript_1EF5A2:: @ 81EF5A2 - trainerbattle_single TRAINER_ISABEL_1, Route110_Text_298349, Route110_Text_298389, Route110_EventScript_1EF5CE +Route110_EventScript_Isabel:: @ 81EF5A2 + trainerbattle_single TRAINER_ISABEL_1, Route110_Text_IsabelIntro, Route110_Text_IsabelDefeated, Route110_EventScript_IsabelRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route110_EventScript_1EF5ED - msgbox Route110_Text_2983A2, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route110_EventScript_IsabelRematch + msgbox Route110_Text_IsabelPostBattle, MSGBOX_DEFAULT release end -Route110_EventScript_1EF5CE:: @ 81EF5CE - special sub_80B4808 +Route110_EventScript_IsabelRegisterMatchCallAfterBattle:: @ 81EF5CE + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route110_Text_2983EE, MSGBOX_DEFAULT + msgbox Route110_Text_IsabelRegister, MSGBOX_DEFAULT register_matchcall TRAINER_ISABEL_1 release end -Route110_EventScript_1EF5ED:: @ 81EF5ED - trainerbattle_rematch TRAINER_ISABEL_1, Route110_Text_298466, Route110_Text_2984AF - msgbox Route110_Text_2984C8, MSGBOX_AUTOCLOSE +Route110_EventScript_IsabelRematch:: @ 81EF5ED + trainerbattle_rematch TRAINER_ISABEL_1, Route110_Text_IsabelRematchIntro, Route110_Text_IsabelRematchDefeated + msgbox Route110_Text_IsabelRematchPostBattle, MSGBOX_AUTOCLOSE end -Route110_EventScript_1EF604:: @ 81EF604 - trainerbattle_single TRAINER_TIMMY, Route110_Text_298525, Route110_Text_298559 - msgbox Route110_Text_298579, MSGBOX_AUTOCLOSE +Route110_EventScript_Timmy:: @ 81EF604 + trainerbattle_single TRAINER_TIMMY, Route110_Text_TimmyIntro, Route110_Text_TimmyDefeated + msgbox Route110_Text_TimmyPostBattle, MSGBOX_AUTOCLOSE end -Route110_EventScript_1EF61B:: @ 81EF61B +Route110_EventScript_Unused:: @ 81EF61B end -Route110_EventScript_1EF61C:: @ 81EF61C - trainerbattle_single TRAINER_KALEB, Route110_Text_2986ED, Route110_Text_298735 - msgbox Route110_Text_298755, MSGBOX_AUTOCLOSE +Route110_EventScript_Kaleb:: @ 81EF61C + trainerbattle_single TRAINER_KALEB, Route110_Text_KalebIntro, Route110_Text_KalebDefeated + msgbox Route110_Text_KalebPostBattle, MSGBOX_AUTOCLOSE end -Route110_EventScript_1EF633:: @ 81EF633 - trainerbattle_single TRAINER_JOSEPH, Route110_Text_298642, Route110_Text_298686 - msgbox Route110_Text_2986A9, MSGBOX_AUTOCLOSE +Route110_EventScript_Joseph:: @ 81EF633 + trainerbattle_single TRAINER_JOSEPH, Route110_Text_JosephIntro, Route110_Text_JosephDefeated + msgbox Route110_Text_JosephPostBattle, MSGBOX_AUTOCLOSE end -Route110_EventScript_1EF64A:: @ 81EF64A - trainerbattle_single TRAINER_ALYSSA, Route110_Text_2985AB, Route110_Text_2985F9 - msgbox Route110_Text_298612, MSGBOX_AUTOCLOSE +Route110_EventScript_Alyssa:: @ 81EF64A + trainerbattle_single TRAINER_ALYSSA, Route110_Text_AlyssaIntro, Route110_Text_AlyssaDefeated + msgbox Route110_Text_AlyssaPostBattle, MSGBOX_AUTOCLOSE end -Route110_EventScript_1EF661:: @ 81EF661 +Route110_EventScript_CyclingChallengeEnd:: @ 81EF661 lockall - applymovement 21, Common_Movement_WalkInPlaceRight + applymovement 21, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - call Route110_EventScript_1EF673 + call Route110_EventScript_CyclingChallengeResults releaseall end -Route110_EventScript_1EF673:: @ 81EF673 +Route110_EventScript_CyclingChallengeResults:: @ 81EF673 special FinishCyclingRoadChallenge - msgbox Route110_Text_1F03FF, MSGBOX_DEFAULT + msgbox Route110_Text_CyclingChallengeResultSummary, MSGBOX_DEFAULT switch VAR_RESULT - case 10, Route110_EventScript_1EF6FD - case 9, Route110_EventScript_1EF70B - case 8, Route110_EventScript_1EF70B - case 7, Route110_EventScript_1EF70B - case 6, Route110_EventScript_1EF719 - case 5, Route110_EventScript_1EF719 - case 4, Route110_EventScript_1EF719 - case 3, Route110_EventScript_1EF727 - case 2, Route110_EventScript_1EF727 - case 1, Route110_EventScript_1EF727 - case 0, Route110_EventScript_1EF735 + case 10, Route110_EventScript_ChallengeReactionBest + case 9, Route110_EventScript_ChallengeReactionGood + case 8, Route110_EventScript_ChallengeReactionGood + case 7, Route110_EventScript_ChallengeReactionGood + case 6, Route110_EventScript_ChallengeReactionOk + case 5, Route110_EventScript_ChallengeReactionOk + case 4, Route110_EventScript_ChallengeReactionOk + case 3, Route110_EventScript_ChallengeReactionBad + case 2, Route110_EventScript_ChallengeReactionBad + case 1, Route110_EventScript_ChallengeReactionBad + case 0, Route110_EventScript_ChallengeReactionWorst end -Route110_EventScript_1EF6FD:: @ 81EF6FD - msgbox Route110_Text_1F0431, MSGBOX_DEFAULT - goto Route110_EventScript_1EF743 +Route110_EventScript_ChallengeReactionBest:: @ 81EF6FD + msgbox Route110_Text_ChallengeReactionBest, MSGBOX_DEFAULT + goto Route110_EventScript_EndChallenge end -Route110_EventScript_1EF70B:: @ 81EF70B - msgbox Route110_Text_1F04A4, MSGBOX_DEFAULT - goto Route110_EventScript_1EF743 +Route110_EventScript_ChallengeReactionGood:: @ 81EF70B + msgbox Route110_Text_ChallengeReactionGood, MSGBOX_DEFAULT + goto Route110_EventScript_EndChallenge end -Route110_EventScript_1EF719:: @ 81EF719 - msgbox Route110_Text_1F0500, MSGBOX_DEFAULT - goto Route110_EventScript_1EF743 +Route110_EventScript_ChallengeReactionOk:: @ 81EF719 + msgbox Route110_Text_ChallengeReactionOk, MSGBOX_DEFAULT + goto Route110_EventScript_EndChallenge end -Route110_EventScript_1EF727:: @ 81EF727 - msgbox Route110_Text_1F0567, MSGBOX_DEFAULT - goto Route110_EventScript_1EF743 +Route110_EventScript_ChallengeReactionBad:: @ 81EF727 + msgbox Route110_Text_ChallengeReactionBad, MSGBOX_DEFAULT + goto Route110_EventScript_EndChallenge end -Route110_EventScript_1EF735:: @ 81EF735 - msgbox Route110_Text_1F05CE, MSGBOX_DEFAULT - goto Route110_EventScript_1EF743 +Route110_EventScript_ChallengeReactionWorst:: @ 81EF735 + msgbox Route110_Text_ChallengeReactionWorst, MSGBOX_DEFAULT + goto Route110_EventScript_EndChallenge end -Route110_EventScript_1EF743:: @ 81EF743 +Route110_EventScript_EndChallenge:: @ 81EF743 setvar VAR_CYCLING_CHALLENGE_STATE, 3 savebgm MUS_DUMMY fadedefaultbgm return -Route110_EventScript_1EF74D:: @ 81EF74D +Route110_EventScript_RivalTrigger1:: @ 81EF74D setvar VAR_0x8008, 1 - goto Route110_EventScript_1EF76E + goto Route110_EventScript_RivalScene end -Route110_EventScript_1EF758:: @ 81EF758 +Route110_EventScript_RivalTrigger2:: @ 81EF758 setvar VAR_0x8008, 2 - goto Route110_EventScript_1EF76E + goto Route110_EventScript_RivalScene end -Route110_EventScript_1EF763:: @ 81EF763 +Route110_EventScript_RivalTrigger3:: @ 81EF763 setvar VAR_0x8008, 3 - goto Route110_EventScript_1EF76E + goto Route110_EventScript_RivalScene end -Route110_EventScript_1EF76E:: @ 81EF76E +Route110_EventScript_RivalScene:: @ 81EF76E lockall checkplayergender compare VAR_RESULT, MALE - call_if_eq Route110_EventScript_1EF7E1 + call_if_eq Route110_EventScript_PlayMayMusic compare VAR_RESULT, FEMALE - call_if_eq Route110_EventScript_1EF7E6 - applymovement 28, Common_Movement_WalkInPlaceDown + call_if_eq Route110_EventScript_PlayBrendanMusic + applymovement 28, Common_Movement_WalkInPlaceFastestDown waitmovement 0 applymovement 28, Common_Movement_ExclamationMark waitmovement 0 @@ -391,110 +391,110 @@ Route110_EventScript_1EF76E:: @ 81EF76E waitmovement 0 delay 30 compare VAR_0x8008, 1 - call_if_eq Route110_EventScript_1EF94E + call_if_eq Route110_EventScript_RivalApproachPlayer1 compare VAR_0x8008, 2 - call_if_eq Route110_EventScript_1EF959 + call_if_eq Route110_EventScript_RivalApproachPlayer2 compare VAR_0x8008, 3 - call_if_eq Route110_EventScript_1EF964 + call_if_eq Route110_EventScript_RivalApproachPlayer3 checkplayergender compare VAR_RESULT, MALE - goto_if_eq Route110_EventScript_1EF7EB + goto_if_eq Route110_EventScript_MayBattle compare VAR_RESULT, FEMALE - goto_if_eq Route110_EventScript_1EF865 + goto_if_eq Route110_EventScript_BrendanBattle releaseall end -Route110_EventScript_1EF7E1:: @ 81EF7E1 +Route110_EventScript_PlayMayMusic:: @ 81EF7E1 playbgm MUS_GIRL_SUP, 1 return -Route110_EventScript_1EF7E6:: @ 81EF7E6 +Route110_EventScript_PlayBrendanMusic:: @ 81EF7E6 playbgm MUS_BOY_SUP, 1 return -Route110_EventScript_1EF7EB:: @ 81EF7EB - msgbox Route110_Text_1EFC48, MSGBOX_DEFAULT +Route110_EventScript_MayBattle:: @ 81EF7EB + msgbox Route110_Text_MayLetsBattle, MSGBOX_DEFAULT switch VAR_STARTER_MON - case 0, Route110_EventScript_1EF81A - case 1, Route110_EventScript_1EF82A - case 2, Route110_EventScript_1EF83A + case 0, Route110_EventScript_MayBattleTreecko + case 1, Route110_EventScript_MayBattleTorchic + case 2, Route110_EventScript_MayBattleMudkip end -Route110_EventScript_1EF81A:: @ 81EF81A - trainerbattle_no_intro TRAINER_MAY_5, Route110_Text_1EFCCB - goto Route110_EventScript_1EF84A +Route110_EventScript_MayBattleTreecko:: @ 81EF81A + trainerbattle_no_intro TRAINER_MAY_ROUTE_110_TREECKO, Route110_Text_MayDefeated + goto Route110_EventScript_MayDefeated end -Route110_EventScript_1EF82A:: @ 81EF82A - trainerbattle_no_intro TRAINER_MAY_8, Route110_Text_1EFCCB - goto Route110_EventScript_1EF84A +Route110_EventScript_MayBattleTorchic:: @ 81EF82A + trainerbattle_no_intro TRAINER_MAY_ROUTE_110_TORCHIC, Route110_Text_MayDefeated + goto Route110_EventScript_MayDefeated end -Route110_EventScript_1EF83A:: @ 81EF83A - trainerbattle_no_intro TRAINER_MAY_2, Route110_Text_1EFCCB - goto Route110_EventScript_1EF84A +Route110_EventScript_MayBattleMudkip:: @ 81EF83A + trainerbattle_no_intro TRAINER_MAY_ROUTE_110_MUDKIP, Route110_Text_MayDefeated + goto Route110_EventScript_MayDefeated end -Route110_EventScript_1EF84A:: @ 81EF84A - msgbox Route110_Text_1EFCF1, MSGBOX_DEFAULT - call Route110_EventScript_1EF8DF - msgbox Route110_Text_1EFD58, MSGBOX_DEFAULT - goto Route110_EventScript_1EF8EC +Route110_EventScript_MayDefeated:: @ 81EF84A + msgbox Route110_Text_MayTakeThis, MSGBOX_DEFAULT + call Route110_EventScript_GiveItemfinder + msgbox Route110_Text_MayExplainItemfinder, MSGBOX_DEFAULT + goto Route110_EventScript_RivalExit end -Route110_EventScript_1EF865:: @ 81EF865 - msgbox Route110_Text_1EFE3F, MSGBOX_DEFAULT +Route110_EventScript_BrendanBattle:: @ 81EF865 + msgbox Route110_Text_BrendayLetsBattle, MSGBOX_DEFAULT switch VAR_STARTER_MON - case 0, Route110_EventScript_1EF894 - case 1, Route110_EventScript_1EF8A4 - case 2, Route110_EventScript_1EF8B4 + case 0, Route110_EventScript_BrendanBattleTreecko + case 1, Route110_EventScript_BrendanBattleTorchic + case 2, Route110_EventScript_BrendanBattleMudkip end -Route110_EventScript_1EF894:: @ 81EF894 - trainerbattle_no_intro TRAINER_BRENDAN_5, Route110_Text_1EFEB4 - goto Route110_EventScript_1EF8C4 +Route110_EventScript_BrendanBattleTreecko:: @ 81EF894 + trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_110_TREECKO, Route110_Text_BrendanDefeated + goto Route110_EventScript_BrendanDefeated end -Route110_EventScript_1EF8A4:: @ 81EF8A4 - trainerbattle_no_intro TRAINER_BRENDAN_8, Route110_Text_1EFEB4 - goto Route110_EventScript_1EF8C4 +Route110_EventScript_BrendanBattleTorchic:: @ 81EF8A4 + trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_110_TORCHIC, Route110_Text_BrendanDefeated + goto Route110_EventScript_BrendanDefeated end -Route110_EventScript_1EF8B4:: @ 81EF8B4 - trainerbattle_no_intro TRAINER_BRENDAN_2, Route110_Text_1EFEB4 - goto Route110_EventScript_1EF8C4 +Route110_EventScript_BrendanBattleMudkip:: @ 81EF8B4 + trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_110_MUDKIP, Route110_Text_BrendanDefeated + goto Route110_EventScript_BrendanDefeated end -Route110_EventScript_1EF8C4:: @ 81EF8C4 - msgbox Route110_Text_1EFECD, MSGBOX_DEFAULT - call Route110_EventScript_1EF8DF - msgbox Route110_Text_1EFF1C, MSGBOX_DEFAULT - goto Route110_EventScript_1EF8EC +Route110_EventScript_BrendanDefeated:: @ 81EF8C4 + msgbox Route110_Text_BrendanTakeThis, MSGBOX_DEFAULT + call Route110_EventScript_GiveItemfinder + msgbox Route110_Text_BrendanExplainItemfinder, MSGBOX_DEFAULT + goto Route110_EventScript_RivalExit end -Route110_EventScript_1EF8DF:: @ 81EF8DF - giveitem_std ITEM_ITEMFINDER +Route110_EventScript_GiveItemfinder:: @ 81EF8DF + giveitem ITEM_ITEMFINDER return -Route110_EventScript_1EF8EC:: @ 81EF8EC +Route110_EventScript_RivalExit:: @ 81EF8EC closemessage compare VAR_0x8008, 1 - call_if_eq Route110_EventScript_1EF990 + call_if_eq Route110_EventScript_MoveRival1 compare VAR_0x8008, 2 - call_if_eq Route110_EventScript_1EF998 + call_if_eq Route110_EventScript_MoveRival2 compare VAR_0x8008, 3 - call_if_eq Route110_EventScript_1EF9A0 + call_if_eq Route110_EventScript_MoveRival3 setobjectmovementtype 28, MOVEMENT_TYPE_FACE_RIGHT setobjectmovementtype 29, MOVEMENT_TYPE_FACE_RIGHT removeobject 28 addobject 29 delay 45 compare VAR_0x8008, 1 - call_if_eq Route110_EventScript_1EF96F + call_if_eq Route110_EventScript_RivalExit1 compare VAR_0x8008, 2 - call_if_eq Route110_EventScript_1EF97A + call_if_eq Route110_EventScript_RivalExit2 compare VAR_0x8008, 3 - call_if_eq Route110_EventScript_1EF985 + call_if_eq Route110_EventScript_RivalExit3 removeobject 29 setvar VAR_ROUTE110_STATE, 1 savebgm MUS_DUMMY @@ -502,65 +502,65 @@ Route110_EventScript_1EF8EC:: @ 81EF8EC releaseall end -Route110_EventScript_1EF94E:: @ 81EF94E - applymovement 28, Route110_Movement_1EF9A8 +Route110_EventScript_RivalApproachPlayer1:: @ 81EF94E + applymovement 28, Route110_Movement_RivalApproachPlayer1 waitmovement 0 return -Route110_EventScript_1EF959:: @ 81EF959 - applymovement 28, Route110_Movement_1EF9AC +Route110_EventScript_RivalApproachPlayer2:: @ 81EF959 + applymovement 28, Route110_Movement_RivalApproachPlayer2 waitmovement 0 return -Route110_EventScript_1EF964:: @ 81EF964 - applymovement 28, Route110_Movement_1EF9AE +Route110_EventScript_RivalApproachPlayer3:: @ 81EF964 + applymovement 28, Route110_Movement_RivalApproachPlayer3 waitmovement 0 return -Route110_EventScript_1EF96F:: @ 81EF96F - applymovement 29, Route110_Movement_1EF9B2 +Route110_EventScript_RivalExit1:: @ 81EF96F + applymovement 29, Route110_Movement_RivalExit1 waitmovement 0 return -Route110_EventScript_1EF97A:: @ 81EF97A - applymovement 29, Route110_Movement_1EF9BA +Route110_EventScript_RivalExit2:: @ 81EF97A + applymovement 29, Route110_Movement_RivalExit2 waitmovement 0 return -Route110_EventScript_1EF985:: @ 81EF985 - applymovement 29, Route110_Movement_1EF9C3 +Route110_EventScript_RivalExit3:: @ 81EF985 + applymovement 29, Route110_Movement_RivalExit3 waitmovement 0 return -Route110_EventScript_1EF990:: @ 81EF990 +Route110_EventScript_MoveRival1:: @ 81EF990 setobjectxyperm 29, 33, 55 return -Route110_EventScript_1EF998:: @ 81EF998 +Route110_EventScript_MoveRival2:: @ 81EF998 setobjectxyperm 29, 34, 55 return -Route110_EventScript_1EF9A0:: @ 81EF9A0 +Route110_EventScript_MoveRival3:: @ 81EF9A0 setobjectxyperm 29, 35, 55 return -Route110_Movement_1EF9A8: @ 81EF9A8 +Route110_Movement_RivalApproachPlayer1: @ 81EF9A8 walk_down walk_left walk_in_place_fastest_down step_end -Route110_Movement_1EF9AC: @ 81EF9AC +Route110_Movement_RivalApproachPlayer2: @ 81EF9AC walk_down step_end -Route110_Movement_1EF9AE: @ 81EF9AE +Route110_Movement_RivalApproachPlayer3: @ 81EF9AE walk_down walk_right walk_in_place_fastest_down step_end -Route110_Movement_1EF9B2: @ 81EF9B2 +Route110_Movement_RivalExit1: @ 81EF9B2 walk_fast_up walk_fast_up walk_fast_up @@ -570,7 +570,7 @@ Route110_Movement_1EF9B2: @ 81EF9B2 walk_fast_up step_end -Route110_Movement_1EF9BA: @ 81EF9BA +Route110_Movement_RivalExit2: @ 81EF9BA walk_fast_up walk_fast_up walk_fast_up @@ -581,7 +581,7 @@ Route110_Movement_1EF9BA: @ 81EF9BA walk_fast_down step_end -Route110_Movement_1EF9C3: @ 81EF9C3 +Route110_Movement_RivalExit3: @ 81EF9C3 walk_fast_up walk_fast_up walk_fast_up @@ -591,29 +591,29 @@ Route110_Movement_1EF9C3: @ 81EF9C3 walk_fast_up step_end -Route110_EventScript_1EF9CB:: @ 81EF9CB +Route110_EventScript_BirchScene1:: @ 81EF9CB lockall setvar VAR_0x8008, 1 - goto Route110_EventScript_1EF9F7 + goto Route110_EventScript_BirchScene -Route110_EventScript_1EF9D6:: @ 81EF9D6 +Route110_EventScript_BirchScene2:: @ 81EF9D6 lockall setvar VAR_0x8008, 2 - goto Route110_EventScript_1EF9F7 + goto Route110_EventScript_BirchScene -Route110_EventScript_1EF9E1:: @ 81EF9E1 +Route110_EventScript_BirchScene3:: @ 81EF9E1 lockall setvar VAR_0x8008, 3 - goto Route110_EventScript_1EF9F7 + goto Route110_EventScript_BirchScene -Route110_EventScript_1EF9EC:: @ 81EF9EC +Route110_EventScript_BirchScene4:: @ 81EF9EC lockall setvar VAR_0x8008, 4 - goto Route110_EventScript_1EF9F7 + goto Route110_EventScript_BirchScene -Route110_EventScript_1EF9F7:: @ 81EF9F7 +Route110_EventScript_BirchScene:: @ 81EF9F7 addobject 36 - applymovement 36, Route110_Movement_1EFB30 + applymovement 36, Route110_Movement_BirchEntrance waitmovement 0 playse SE_PIN applymovement 36, Common_Movement_ExclamationMark @@ -621,120 +621,120 @@ Route110_EventScript_1EF9F7:: @ 81EF9F7 applymovement 36, Common_Movement_Delay48 waitmovement 0 compare VAR_0x8008, 1 - call_if_eq Route110_EventScript_1EFAD8 + call_if_eq Route110_EventScript_BirchApproachPlayer1 compare VAR_0x8008, 2 - call_if_eq Route110_EventScript_1EFAE3 + call_if_eq Route110_EventScript_BirchApproachPlayer2 compare VAR_0x8008, 3 - call_if_eq Route110_EventScript_1EFAEE + call_if_eq Route110_EventScript_BirchApproachPlayer3 compare VAR_0x8008, 4 - call_if_eq Route110_EventScript_1EFAF9 - msgbox Route110_Text_1F0AB5, MSGBOX_DEFAULT + call_if_eq Route110_EventScript_BirchApproachPlayer4 + msgbox Route110_Text_ImagineSeeingYouHere, MSGBOX_DEFAULT closemessage delay 20 - applymovement 36, Common_Movement_WalkInPlaceLeft + applymovement 36, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 delay 10 - applymovement 36, Common_Movement_WalkInPlaceRight + applymovement 36, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 20 - applymovement 36, Common_Movement_WalkInPlaceDown + applymovement 36, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 30 - msgbox Route110_Text_1F0AFF, MSGBOX_DEFAULT + msgbox Route110_Text_HeardYouInstallMatchCall, MSGBOX_DEFAULT closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox Route110_Text_1F0C0C, MSGBOX_DEFAULT + msgbox Route110_Text_RegisteredBirchInPokenav, MSGBOX_DEFAULT waitfanfare closemessage delay 30 setflag FLAG_ENABLE_PROF_BIRCH_MATCH_CALL - msgbox Route110_Text_1F0C33, MSGBOX_DEFAULT + msgbox Route110_Text_KeepAnEyeOutForRival, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 1 - call_if_eq Route110_EventScript_1EFB04 + call_if_eq Route110_EventScript_BirchExit1 compare VAR_0x8008, 2 - call_if_eq Route110_EventScript_1EFB0F + call_if_eq Route110_EventScript_BirchExit2 compare VAR_0x8008, 3 - call_if_eq Route110_EventScript_1EFB1A + call_if_eq Route110_EventScript_BirchExit3 compare VAR_0x8008, 4 - call_if_eq Route110_EventScript_1EFB25 + call_if_eq Route110_EventScript_BirchExit4 removeobject 36 setvar VAR_REGISTER_BIRCH_STATE, 2 releaseall end -Route110_EventScript_1EFAD8:: @ 81EFAD8 - applymovement 36, Route110_Movement_1EFB34 +Route110_EventScript_BirchApproachPlayer1:: @ 81EFAD8 + applymovement 36, Route110_Movement_BirchApproachPlayer1 waitmovement 0 return -Route110_EventScript_1EFAE3:: @ 81EFAE3 - applymovement 36, Route110_Movement_1EFB39 +Route110_EventScript_BirchApproachPlayer2:: @ 81EFAE3 + applymovement 36, Route110_Movement_BirchApproachPlayer2 waitmovement 0 return -Route110_EventScript_1EFAEE:: @ 81EFAEE - applymovement 36, Route110_Movement_1EFB3D +Route110_EventScript_BirchApproachPlayer3:: @ 81EFAEE + applymovement 36, Route110_Movement_BirchApproachPlayer3 waitmovement 0 return -Route110_EventScript_1EFAF9:: @ 81EFAF9 - applymovement 36, Route110_Movement_1EFB40 +Route110_EventScript_BirchApproachPlayer4:: @ 81EFAF9 + applymovement 36, Route110_Movement_BirchApproachPlayer4 waitmovement 0 return -Route110_EventScript_1EFB04:: @ 81EFB04 - applymovement 36, Route110_Movement_1EFB44 +Route110_EventScript_BirchExit1:: @ 81EFB04 + applymovement 36, Route110_Movement_BirchExit1 waitmovement 0 return -Route110_EventScript_1EFB0F:: @ 81EFB0F - applymovement 36, Route110_Movement_1EFB4B +Route110_EventScript_BirchExit2:: @ 81EFB0F + applymovement 36, Route110_Movement_BirchExit2 waitmovement 0 return -Route110_EventScript_1EFB1A:: @ 81EFB1A - applymovement 36, Route110_Movement_1EFB51 +Route110_EventScript_BirchExit3:: @ 81EFB1A + applymovement 36, Route110_Movement_BirchExit3 waitmovement 0 return -Route110_EventScript_1EFB25:: @ 81EFB25 - applymovement 36, Route110_Movement_1EFB57 +Route110_EventScript_BirchExit4:: @ 81EFB25 + applymovement 36, Route110_Movement_BirchExit4 waitmovement 0 return -Route110_Movement_1EFB30: @ 81EFB30 +Route110_Movement_BirchEntrance: @ 81EFB30 walk_down walk_down walk_down step_end -Route110_Movement_1EFB34: @ 81EFB34 +Route110_Movement_BirchApproachPlayer1: @ 81EFB34 walk_down walk_left walk_left walk_down step_end -Route110_Movement_1EFB39: @ 81EFB39 +Route110_Movement_BirchApproachPlayer2: @ 81EFB39 walk_down walk_left walk_down step_end -Route110_Movement_1EFB3D: @ 81EFB3D +Route110_Movement_BirchApproachPlayer3: @ 81EFB3D walk_down walk_down step_end -Route110_Movement_1EFB40: @ 81EFB40 +Route110_Movement_BirchApproachPlayer4: @ 81EFB40 walk_down walk_right walk_down step_end -Route110_Movement_1EFB44: @ 81EFB44 +Route110_Movement_BirchExit1: @ 81EFB44 walk_up walk_up walk_right @@ -743,7 +743,7 @@ Route110_Movement_1EFB44: @ 81EFB44 walk_up step_end -Route110_Movement_1EFB4B: @ 81EFB4B +Route110_Movement_BirchExit2: @ 81EFB4B walk_up walk_up walk_up @@ -751,7 +751,7 @@ Route110_Movement_1EFB4B: @ 81EFB4B walk_up step_end -Route110_Movement_1EFB51: @ 81EFB51 +Route110_Movement_BirchExit3: @ 81EFB51 walk_up walk_up walk_up @@ -759,7 +759,7 @@ Route110_Movement_1EFB51: @ 81EFB51 walk_up step_end -Route110_Movement_1EFB57: @ 81EFB57 +Route110_Movement_BirchExit4: @ 81EFB57 walk_up walk_up walk_up @@ -767,40 +767,40 @@ Route110_Movement_1EFB57: @ 81EFB57 walk_up step_end -Route110_Text_1EFB5D: @ 81EFB5D +Route110_Text_WeCantTalkAboutAquaActivities: @ 81EFB5D .string "TEAM AQUA's activities…\n" .string "We can't talk about them yet.$" -Route110_Text_1EFB93: @ 81EFB93 +Route110_Text_KickUpARuckus: @ 81EFB93 .string "I want to get going to SLATEPORT and\n" .string "kick up a ruckus!$" -Route110_Text_1EFBCA: @ 81EFBCA +Route110_Text_MyFirstJobInAqua: @ 81EFBCA .string "This is my first job after joining\n" .string "TEAM AQUA. It's a little scary.$" -Route110_Text_1EFC0D: @ 81EFC0D +Route110_Text_AquaActionsBringSmiles: @ 81EFC0D .string "TEAM AQUA's actions should bring\n" .string "smiles to people's faces!$" -Route110_Text_1EFC48: @ 81EFC48 +Route110_Text_MayLetsBattle: @ 81EFC48 .string "MAY: Hi, {PLAYER}{KUN}, long time no see!\p" .string "While I was searching for other\n" .string "POKéMON, my POKéMON grew stronger.\p" .string "So…\n" .string "How about a little battle?$" -Route110_Text_1EFCCB: @ 81EFCCB +Route110_Text_MayDefeated: @ 81EFCCB .string "Yikes!\n" .string "You're better than I expected!$" -Route110_Text_1EFCF1: @ 81EFCF1 +Route110_Text_MayTakeThis: @ 81EFCF1 .string "MAY: {PLAYER}{KUN}, you've been busy\n" .string "training, too, haven't you?\p" .string "I think you deserve a reward!\n" .string "This is from me!$" -Route110_Text_1EFD58: @ 81EFD58 +Route110_Text_MayExplainItemfinder: @ 81EFD58 .string "MAY: That's an ITEMFINDER.\p" .string "Try it out. If there is an item that's\n" .string "not visible, it emits a sound.\p" @@ -809,24 +809,24 @@ Route110_Text_1EFD58: @ 81EFD58 .string "me, but I think you should train a lot\l" .string "harder for the next time.$" -Route110_Text_1EFE3F: @ 81EFE3F +Route110_Text_BrendayLetsBattle: @ 81EFE3F .string "BRENDAN: Hey, {PLAYER}.\n" .string "So this is where you were.\l" .string "How's it going?\p" .string "Have you been raising your POKéMON?\n" .string "I'll check for you.$" -Route110_Text_1EFEB4: @ 81EFEB4 +Route110_Text_BrendanDefeated: @ 81EFEB4 .string "Hmm…\n" .string "You're pretty good.$" -Route110_Text_1EFECD: @ 81EFECD +Route110_Text_BrendanTakeThis: @ 81EFECD .string "BRENDAN: {PLAYER}, you've trained\n" .string "without me noticing…\p" .string "Good enough!\n" .string "Here, take this.$" -Route110_Text_1EFF1C: @ 81EFF1C +Route110_Text_BrendanExplainItemfinder: @ 81EFF1C .string "BRENDAN: That's an ITEMFINDER.\p" .string "Use it to root around for items that\n" .string "aren't visible.\p" @@ -835,16 +835,16 @@ Route110_Text_1EFF1C: @ 81EFF1C .string "Anyway, I'm off to look for new\n" .string "POKéMON.$" -Route110_Text_1EFFC3: @ 81EFFC3 +Route110_Text_RideBikeAtFullSpeed: @ 81EFFC3 .string "Wouldn't it be great to ride a BIKE\n" .string "at full speed on CYCLING ROAD?$" -Route110_Text_1F0006: @ 81F0006 +Route110_Text_HairStreamsBehindMe: @ 81F0006 .string "How do you like the way my raven-\n" .string "colored hair streams behind me?\p" .string "I grew my hair out just for that.$" -Route110_Text_1F006A: @ 81F006A +Route110_Text_YouGotBikeFromRydel: @ 81F006A .string "Oh, hey, you got that BIKE from RYDEL!\p" .string "Oh, it's glaringly obvious.\n" .string "It says right on your bike…\p" @@ -861,139 +861,139 @@ Route110_Text_1F006A: @ 81F006A .string "You should ride it around all over\n" .string "the place--it's good advertising!$" -Route110_Text_1F0261: @ 81F0261 +Route110_Text_TwoRoads: @ 81F0261 .string "The two roads, one above, one below…\p" .string "A road each for people and POKéMON.\n" .string "Perhaps that is right and fair.$" -Route110_Text_1F02CA: @ 81F02CA +Route110_Text_WalkOnTheLowRoad: @ 81F02CA .string "I don't have a BIKE, so I'll take\n" .string "a leisurely walk on the low road.$" -Route110_Text_1F030E: @ 81F030E +Route110_Text_BikeTechniques: @ 81F030E .string "Learning techniques will make BIKE\n" .string "riding even more fun.\p" .string "There are some places that you can\n" .string "reach only by using a BIKE technique.$" -Route110_Text_1F0390: @ 81F0390 +Route110_Text_WhichShouldIChoose: @ 81F0390 .string "Which should I choose?\p" .string "Make a beeline for MAUVILLE on\n" .string "CYCLING ROAD, or take the low road\l" .string "and look for POKéMON?$" -Route110_Text_1F03FF: @ 81F03FF +Route110_Text_CyclingChallengeResultSummary: @ 81F03FF .string "Number of collisions:\n" .string "… … {STR_VAR_1}!\p" .string "Total time:\n" .string "… … {STR_VAR_2}!$" -Route110_Text_1F0431: @ 81F0431 +Route110_Text_ChallengeReactionBest: @ 81F0431 .string "Bravo! Splendid showing!\p" .string "Your love of cycling comes from deep\n" .string "within your heart.\l" .string "You've shaken me to my very soul!$" -Route110_Text_1F04A4: @ 81F04A4 +Route110_Text_ChallengeReactionGood: @ 81F04A4 .string "Your technique is remarkable.\p" .string "I suggest you speed up a bit while\n" .string "still avoiding collisions.$" -Route110_Text_1F0500: @ 81F0500 +Route110_Text_ChallengeReactionOk: @ 81F0500 .string "I would consider you a work in\n" .string "progress.\p" .string "Still, I hope you don't forget the\n" .string "sheer pleasure of cycling.$" -Route110_Text_1F0567: @ 81F0567 +Route110_Text_ChallengeReactionBad: @ 81F0567 .string "My word… Your cycling skills border\n" .string "on terrifying.\p" .string "Most certainly, you need much more\n" .string "practice riding.$" -Route110_Text_1F05CE: @ 81F05CE +Route110_Text_ChallengeReactionWorst: @ 81F05CE .string "…I am aghast…\p" .string "You're perhaps not cut out for this\n" .string "unfortunate cycling business.\p" .string "You ought to give serious thought to\n" .string "returning that BIKE to RYDEL.$" -Route110_Text_1F0661: @ 81F0661 +Route110_Text_RatedForNumberOfCollisions: @ 81F0661 .string "This is CYCLING ROAD.\p" .string "If you were to ride from MAUVILLE to\n" .string "SLATEPORT on a MACH BIKE, you would\l" .string "be rated for the number of collisions\l" .string "and your total time.$" -Route110_Text_1F06FB: @ 81F06FB +Route110_Text_AlwaysAimHigher: @ 81F06FB .string "Regardless of the results, I count on\n" .string "seeing more challenges from you.\l" .string "Always aim higher!$" -Route110_Text_1F0755: @ 81F0755 +Route110_Text_AcroBikesDoNotQualify: @ 81F0755 .string "On this CYCLING ROAD, those riding\n" .string "MACH BIKES are rated for their number\l" .string "of collisions and their total times.\p" .string "ACRO BIKES do not qualify for rating.\n" .string "They are easy to turn, so it's not fair.$" -Route110_Text_1F0812: @ 81F0812 +Route110_Text_SlateportCitySign: @ 81F0812 .string "ROUTE 110\n" .string "{DOWN_ARROW} SLATEPORT CITY$" -Route110_Text_1F082D: @ 81F082D +Route110_Text_CyclingRoadSign: @ 81F082D .string "SEASIDE CYCLING ROAD$" -Route110_Text_1F0842: @ 81F0842 +Route110_Text_AquaWasHere: @ 81F0842 .string "“TEAM AQUA was here!”\p" .string "Someone painted that onto this sign,\n" .string "but then someone else painted over it.\p" .string "“TEAM MAGMA rules!” is what it\n" .string "says now.$" -Route110_Text_1F08CD: @ 81F08CD +Route110_Text_Route103Sign: @ 81F08CD .string "ROUTE 110\n" .string "{LEFT_ARROW} ROUTE 103$" -Route110_Text_1F08E3: @ 81F08E3 +Route110_Text_SeasideParkingSign: @ 81F08E3 .string "SEASIDE PARKING$" -Route110_Text_1F08F3: @ 81F08F3 +Route110_Text_MauvilleCitySign: @ 81F08F3 .string "ROUTE 110\n" .string "{UP_ARROW} MAUVILLE CITY$" -Route110_Text_1F090D: @ 81F090D +Route110_Text_TrainerTipsPrlzSleep: @ 81F090D .string "TRAINER TIPS\p" .string "The foe can be made helpless by\n" .string "paralyzing it or causing it to sleep.\p" .string "It is an important technique for\n" .string "POKéMON battles.$" -Route110_Text_1F0992: @ 81F0992 +Route110_Text_TrainerTipsRegisterItems: @ 81F0992 .string "TRAINER TIPS\p" .string "The items in the BAG can be reorganized\n" .string "by pressing SELECT.$" -Route110_Text_1F09DB: @ 81F09DB +Route110_Text_TrickHouseSign: @ 81F09DB .string "“Three steps {RIGHT_ARROW} and two steps {UP_ARROW}\n" .string "to reach the wondrous TRICK HOUSE.”$" -Route110_Text_1F0A1E: @ 81F0A1E +Route110_Text_BestRecord: @ 81F0A1E .string "THE BEST RECORD TO DATE…\p" .string "No. of collisions: {STR_VAR_1}\p" .string "Elapsed time: {STR_VAR_2}$" -Route110_Text_1F0A5E: @ 81F0A5E +Route110_Text_ThereIsNoRecord: @ 81F0A5E .string "THE BEST RECORD TO DATE…\p" .string "No one seems to have taken the\n" .string "challenge. There is no record…$" -Route110_Text_1F0AB5: @ 81F0AB5 +Route110_Text_ImagineSeeingYouHere: @ 81F0AB5 .string "PROF. BIRCH: Oh, {PLAYER}{KUN}!\n" .string "Imagine seeing you here!\p" .string "And where might my {RIVAL} be?$" -Route110_Text_1F0AFF: @ 81F0AFF +Route110_Text_HeardYouInstallMatchCall: @ 81F0AFF .string "Oh, I see!\n" .string "You two are running separately.\l" .string "Well, that's fine.\p" @@ -1005,11 +1005,11 @@ Route110_Text_1F0AFF: @ 81F0AFF .string "I can rate your POKéDEX anytime.\p" .string "… … … … … …$" -Route110_Text_1F0C0C: @ 81F0C0C +Route110_Text_RegisteredBirchInPokenav: @ 81F0C0C .string "Registered PROF. BIRCH\n" .string "in the POKéNAV.$" -Route110_Text_1F0C33: @ 81F0C33 +Route110_Text_KeepAnEyeOutForRival: @ 81F0C33 .string "PROF. BIRCH: {PLAYER}{KUN}…\p" .string "Please keep an eye out for my {RIVAL}.\n" .string "… … … … … …\p" diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json index b692426fd8..f0aea1aec8 100644 --- a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json +++ b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA78", + "script": "Route110_SeasideCyclingRoadNorthEntrance_EventScript_Clerk", "flag": "0" } ], @@ -66,7 +66,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA84" + "script": "Route110_SeasideCyclingRoadNorthEntrance_EventScript_BikeCheck" }, { "type": "trigger", @@ -75,7 +75,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "1", - "script": "Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EAB6" + "script": "Route110_SeasideCyclingRoadNorthEntrance_EventScript_ClearCyclingRoad" } ], "bg_events": [] diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc index 687fff9a7f..ba5dfd9f07 100644 --- a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc +++ b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc @@ -1,49 +1,49 @@ Route110_SeasideCyclingRoadNorthEntrance_MapScripts:: @ 826EA77 .byte 0 -Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA78:: @ 826EA78 +Route110_SeasideCyclingRoadNorthEntrance_EventScript_Clerk:: @ 826EA78 lock faceplayer - msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_26EAC1, MSGBOX_DEFAULT + msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_GoAllOutOnCyclingRoad, MSGBOX_DEFAULT release end -Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA84:: @ 826EA84 +Route110_SeasideCyclingRoadNorthEntrance_EventScript_BikeCheck:: @ 826EA84 lockall specialvar VAR_RESULT, GetPlayerAvatarBike compare VAR_RESULT, 0 - goto_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA9F + goto_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_NoBike setflag FLAG_SYS_CYCLING_ROAD setvar VAR_TEMP_1, 1 releaseall end -Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA9F:: @ 826EA9F - msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_26EB48, MSGBOX_DEFAULT +Route110_SeasideCyclingRoadNorthEntrance_EventScript_NoBike:: @ 826EA9F + msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_TooDangerousToWalk, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, Route110_SeasideCyclingRoadNorthEntrance_Movement_26EAB4 + applymovement EVENT_OBJ_ID_PLAYER, Route110_SeasideCyclingRoadNorthEntrance_Movement_PushPlayerBackFromCounter waitmovement 0 releaseall end -Route110_SeasideCyclingRoadNorthEntrance_Movement_26EAB4: @ 826EAB4 +Route110_SeasideCyclingRoadNorthEntrance_Movement_PushPlayerBackFromCounter: @ 826EAB4 walk_left step_end -Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EAB6:: @ 826EAB6 +Route110_SeasideCyclingRoadNorthEntrance_EventScript_ClearCyclingRoad:: @ 826EAB6 lockall clearflag FLAG_SYS_CYCLING_ROAD setvar VAR_TEMP_1, 0 releaseall end -Route110_SeasideCyclingRoadNorthEntrance_Text_26EAC1: @ 826EAC1 +Route110_SeasideCyclingRoadNorthEntrance_Text_GoAllOutOnCyclingRoad: @ 826EAC1 .string "On CYCLING ROAD, you can go all out\n" .string "and cycle as fast as you'd like.\p" .string "It feels great to go that fast, but try\n" .string "not to crash into anyone!$" -Route110_SeasideCyclingRoadNorthEntrance_Text_26EB48: @ 826EB48 +Route110_SeasideCyclingRoadNorthEntrance_Text_TooDangerousToWalk: @ 826EB48 .string "Sorry, you can't walk on CYCLING\n" .string "ROAD. It's too dangerous.\p" .string "Please come back with a BIKE.$" diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json index dcc9029e53..6077876f7d 100644 --- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json +++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBC4", + "script": "Route110_SeasideCyclingRoadSouthEntrance_EventScript_Clerk", "flag": "0" } ], @@ -66,7 +66,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBD0" + "script": "Route110_SeasideCyclingRoadSouthEntrance_EventScript_BikeCheck" }, { "type": "trigger", @@ -75,7 +75,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "1", - "script": "Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EC13" + "script": "Route110_SeasideCyclingRoadSouthEntrance_EventScript_ClearCyclingRoad" } ], "bg_events": [] diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc index 1d0ca55bba..4f839d72b8 100644 --- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc +++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc @@ -4,51 +4,51 @@ Route110_SeasideCyclingRoadSouthEntrance_MapScripts:: @ 826EBA1 Route110_SeasideCyclingRoadSouthEntrance_OnTransition: @ 826EBA7 compare VAR_CYCLING_CHALLENGE_STATE, 3 - call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE + call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_RestartChallenge compare VAR_CYCLING_CHALLENGE_STATE, 2 - call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE + call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_RestartChallenge end -Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE:: @ 826EBBE +Route110_SeasideCyclingRoadSouthEntrance_EventScript_RestartChallenge:: @ 826EBBE setvar VAR_CYCLING_CHALLENGE_STATE, 1 return -Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBC4:: @ 826EBC4 +Route110_SeasideCyclingRoadSouthEntrance_EventScript_Clerk:: @ 826EBC4 lock faceplayer - msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_26EC23, MSGBOX_DEFAULT + msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_GoAllOutOnCyclingRoad, MSGBOX_DEFAULT release end -Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBD0:: @ 826EBD0 +Route110_SeasideCyclingRoadSouthEntrance_EventScript_BikeCheck:: @ 826EBD0 lockall specialvar VAR_RESULT, GetPlayerAvatarBike compare VAR_RESULT, 2 - call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBF6 + call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_OnMachBike compare VAR_RESULT, 0 - goto_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBFC + goto_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_NoBike setflag FLAG_SYS_CYCLING_ROAD setvar VAR_TEMP_1, 1 releaseall end -Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBF6:: @ 826EBF6 +Route110_SeasideCyclingRoadSouthEntrance_EventScript_OnMachBike:: @ 826EBF6 setvar VAR_CYCLING_CHALLENGE_STATE, 1 return -Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBFC:: @ 826EBFC - msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_26ECAA, MSGBOX_DEFAULT +Route110_SeasideCyclingRoadSouthEntrance_EventScript_NoBike:: @ 826EBFC + msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_TooDangerousToWalk, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, Route110_SeasideCyclingRoadSouthEntrance_Movement_26EC11 + applymovement EVENT_OBJ_ID_PLAYER, Route110_SeasideCyclingRoadSouthEntrance_Movement_PushPlayerBackFromCounter waitmovement 0 releaseall end -Route110_SeasideCyclingRoadSouthEntrance_Movement_26EC11: @ 826EC11 +Route110_SeasideCyclingRoadSouthEntrance_Movement_PushPlayerBackFromCounter: @ 826EC11 walk_left step_end -Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EC13:: @ 826EC13 +Route110_SeasideCyclingRoadSouthEntrance_EventScript_ClearCyclingRoad:: @ 826EC13 lockall setvar VAR_CYCLING_CHALLENGE_STATE, 0 clearflag FLAG_SYS_CYCLING_ROAD @@ -56,13 +56,13 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EC13:: @ 826EC13 releaseall end -Route110_SeasideCyclingRoadSouthEntrance_Text_26EC23: @ 826EC23 +Route110_SeasideCyclingRoadSouthEntrance_Text_GoAllOutOnCyclingRoad: @ 826EC23 .string "On CYCLING ROAD, you can go all out\n" .string "and cycle as fast as you'd like.\p" .string "It feels great to go that fast, but try\n" .string "not to crash into anyone!$" -Route110_SeasideCyclingRoadSouthEntrance_Text_26ECAA: @ 826ECAA +Route110_SeasideCyclingRoadSouthEntrance_Text_TooDangerousToWalk: @ 826ECAA .string "Sorry, you can't walk on CYCLING\n" .string "ROAD. It's too dangerous.\p" .string "Please come back with a BIKE.$" diff --git a/data/maps/Route110_TrickHouseCorridor/scripts.inc b/data/maps/Route110_TrickHouseCorridor/scripts.inc index 80a6ac3dd4..ad469bc48b 100644 --- a/data/maps/Route110_TrickHouseCorridor/scripts.inc +++ b/data/maps/Route110_TrickHouseCorridor/scripts.inc @@ -3,6 +3,6 @@ Route110_TrickHouseCorridor_MapScripts:: @ 826B903 .byte 0 Route110_TrickHouseCorridor_OnTransition: @ 826B909 - setvar VAR_TRICK_HOUSE_STATE, 1 + setvar VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR, 1 end diff --git a/data/maps/Route110_TrickHouseEnd/map.json b/data/maps/Route110_TrickHouseEnd/map.json index 62548fe8b0..84233313b2 100644 --- a/data/maps/Route110_TrickHouseEnd/map.json +++ b/data/maps/Route110_TrickHouseEnd/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHouseEnd_EventScript_26AD17", + "script": "Route110_TrickHouseEnd_EventScript_TrickMaster", "flag": "FLAG_HIDE_TRICK_HOUSE_END_MAN" } ], @@ -52,7 +52,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "Route110_TrickHouseEnd_EventScript_26B041" + "script": "Route110_TrickHouseEnd_EventScript_TrickMasterExitTrigger" } ], "bg_events": [ diff --git a/data/maps/Route110_TrickHouseEnd/scripts.inc b/data/maps/Route110_TrickHouseEnd/scripts.inc index 52a0f19f5d..7fec5ffa71 100644 --- a/data/maps/Route110_TrickHouseEnd/scripts.inc +++ b/data/maps/Route110_TrickHouseEnd/scripts.inc @@ -1,321 +1,321 @@ Route110_TrickHouseEnd_MapScripts:: @ 826ACAF - map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHouseEnd_MapScript1_26ACC4 + map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHouseEnd_OnResume map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHouseEnd_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHouseEnd_MapScript2_26ACF5 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route110_TrickHouseEnd_MapScript2_26ACDE + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHouseEnd_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route110_TrickHouseEnd_OnWarp .byte 0 -Route110_TrickHouseEnd_MapScript1_26ACC4: @ 826ACC4 +Route110_TrickHouseEnd_OnResume: @ 826ACC4 compare VAR_TEMP_1, 1 - call_if_eq Route110_TrickHouseEnd_EventScript_26AD0D + call_if_eq Route110_TrickHouseEnd_EventScript_SetDoorClosedMetatile end Route110_TrickHouseEnd_OnTransition: @ 826ACD0 setvar VAR_TEMP_1, 0 setvar VAR_TEMP_2, 0 - special SetTrickHouseEndRoomFlag + special SetTrickHouseNuggetFlag end -Route110_TrickHouseEnd_MapScript2_26ACDE: @ 826ACDE - map_script_2 VAR_TEMP_2, 0, Route110_TrickHouseEnd_EventScript_26ACE8 +Route110_TrickHouseEnd_OnWarp: @ 826ACDE + map_script_2 VAR_TEMP_2, 0, Route110_TrickHouseEnd_EventScript_SetTrickMasterPos .2byte 0 -Route110_TrickHouseEnd_EventScript_26ACE8:: @ 826ACE8 +Route110_TrickHouseEnd_EventScript_SetTrickMasterPos:: @ 826ACE8 addobject 1 showobjectat 1, MAP_ROUTE110_TRICK_HOUSE_END - turnobject 1, 4 + turnobject 1, DIR_EAST end -Route110_TrickHouseEnd_MapScript2_26ACF5: @ 826ACF5 - map_script_2 VAR_TEMP_1, 0, Route110_TrickHouseEnd_EventScript_26ACFF +Route110_TrickHouseEnd_OnFrame: @ 826ACF5 + map_script_2 VAR_TEMP_1, 0, Route110_TrickHouseEnd_EventScript_CloseDoor .2byte 0 -Route110_TrickHouseEnd_EventScript_26ACFF:: @ 826ACFF +Route110_TrickHouseEnd_EventScript_CloseDoor:: @ 826ACFF setvar VAR_TEMP_1, 1 - call Route110_TrickHouseEnd_EventScript_26AD0D + call Route110_TrickHouseEnd_EventScript_SetDoorClosedMetatile special DrawWholeMapView end -Route110_TrickHouseEnd_EventScript_26AD0D:: @ 826AD0D +Route110_TrickHouseEnd_EventScript_SetDoorClosedMetatile:: @ 826AD0D setmetatile 10, 1, METATILE_GenericBuilding_TrickHouse_Door_Closed, 1 return -Route110_TrickHouseEnd_EventScript_26AD17:: @ 826AD17 +Route110_TrickHouseEnd_EventScript_TrickMaster:: @ 826AD17 lock faceplayer - msgbox Route110_TrickHouseEnd_Text_26B08D, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEnd_Text_YouveMadeItToMe, MSGBOX_DEFAULT setvar VAR_TEMP_2, 1 switch VAR_TRICK_HOUSE_LEVEL - case 0, Route110_TrickHouseEnd_EventScript_26AD84 - case 1, Route110_TrickHouseEnd_EventScript_26ADC0 - case 2, Route110_TrickHouseEnd_EventScript_26ADFC - case 3, Route110_TrickHouseEnd_EventScript_26AE38 - case 4, Route110_TrickHouseEnd_EventScript_26AE74 - case 5, Route110_TrickHouseEnd_EventScript_26AEB0 - case 6, Route110_TrickHouseEnd_EventScript_26AEEC - case 7, Route110_TrickHouseEnd_EventScript_26AF28 + case 0, Route110_TrickHouseEnd_EventScript_CompletedPuzzle1 + case 1, Route110_TrickHouseEnd_EventScript_CompletedPuzzle2 + case 2, Route110_TrickHouseEnd_EventScript_CompletedPuzzle3 + case 3, Route110_TrickHouseEnd_EventScript_CompletedPuzzle4 + case 4, Route110_TrickHouseEnd_EventScript_CompletedPuzzle5 + case 5, Route110_TrickHouseEnd_EventScript_CompletedPuzzle6 + case 6, Route110_TrickHouseEnd_EventScript_CompletedPuzzle7 + case 7, Route110_TrickHouseEnd_EventScript_CompletedPuzzle8 end -Route110_TrickHouseEnd_EventScript_26AD84:: @ 826AD84 - msgbox Route110_TrickHouseEnd_Text_26B0BC, MSGBOX_DEFAULT - msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT +Route110_TrickHouseEnd_EventScript_CompletedPuzzle1:: @ 826AD84 + msgbox Route110_TrickHouseEnd_Text_AllNightToPlantTrees, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 - giveitem_std ITEM_RARE_CANDY - compare VAR_RESULT, 0 - call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF - msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT + giveitem ITEM_RARE_CANDY + compare VAR_RESULT, FALSE + call_if_eq Route110_TrickHouseEnd_EventScript_BagFull + msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT closemessage - call Route110_TrickHouseEnd_EventScript_26AFCF + call Route110_TrickHouseEnd_EventScript_TrickMasterExit release end -Route110_TrickHouseEnd_EventScript_26ADC0:: @ 826ADC0 - msgbox Route110_TrickHouseEnd_Text_26B13B, MSGBOX_DEFAULT - msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT +Route110_TrickHouseEnd_EventScript_CompletedPuzzle2:: @ 826ADC0 + msgbox Route110_TrickHouseEnd_Text_AllNightToMakeMaze, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 - giveitem_std ITEM_TIMER_BALL - compare VAR_RESULT, 0 - call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF - msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT + giveitem ITEM_TIMER_BALL + compare VAR_RESULT, FALSE + call_if_eq Route110_TrickHouseEnd_EventScript_BagFull + msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT closemessage - call Route110_TrickHouseEnd_EventScript_26AFCF + call Route110_TrickHouseEnd_EventScript_TrickMasterExit release end -Route110_TrickHouseEnd_EventScript_26ADFC:: @ 826ADFC - msgbox Route110_TrickHouseEnd_Text_26B1AD, MSGBOX_DEFAULT - msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT +Route110_TrickHouseEnd_EventScript_CompletedPuzzle3:: @ 826ADFC + msgbox Route110_TrickHouseEnd_Text_AllNightToPreparePanels, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 - giveitem_std ITEM_HARD_STONE - compare VAR_RESULT, 0 - call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF - msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT + giveitem ITEM_HARD_STONE + compare VAR_RESULT, FALSE + call_if_eq Route110_TrickHouseEnd_EventScript_BagFull + msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT closemessage - call Route110_TrickHouseEnd_EventScript_26AFCF + call Route110_TrickHouseEnd_EventScript_TrickMasterExit release end -Route110_TrickHouseEnd_EventScript_26AE38:: @ 826AE38 - msgbox Route110_TrickHouseEnd_Text_26B223, MSGBOX_DEFAULT - msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT +Route110_TrickHouseEnd_EventScript_CompletedPuzzle4:: @ 826AE38 + msgbox Route110_TrickHouseEnd_Text_AllNightToShoveBoulders, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 - giveitem_std ITEM_SMOKE_BALL - compare VAR_RESULT, 0 - call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF - msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT + giveitem ITEM_SMOKE_BALL + compare VAR_RESULT, FALSE + call_if_eq Route110_TrickHouseEnd_EventScript_BagFull + msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT closemessage - call Route110_TrickHouseEnd_EventScript_26AFCF + call Route110_TrickHouseEnd_EventScript_TrickMasterExit release end -Route110_TrickHouseEnd_EventScript_26AE74:: @ 826AE74 - msgbox Route110_TrickHouseEnd_Text_26B293, MSGBOX_DEFAULT - msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT +Route110_TrickHouseEnd_EventScript_CompletedPuzzle5:: @ 826AE74 + msgbox Route110_TrickHouseEnd_Text_AllNightToMakeMechadolls, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 - giveitem_std ITEM_TM12 - compare VAR_RESULT, 0 - call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF - msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT + giveitem ITEM_TM12 + compare VAR_RESULT, FALSE + call_if_eq Route110_TrickHouseEnd_EventScript_BagFull + msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT closemessage - call Route110_TrickHouseEnd_EventScript_26AFCF + call Route110_TrickHouseEnd_EventScript_TrickMasterExit release end -Route110_TrickHouseEnd_EventScript_26AEB0:: @ 826AEB0 - msgbox Route110_TrickHouseEnd_Text_26B315, MSGBOX_DEFAULT - msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT +Route110_TrickHouseEnd_EventScript_CompletedPuzzle6:: @ 826AEB0 + msgbox Route110_TrickHouseEnd_Text_AllNightToInstallDoors, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 - giveitem_std ITEM_MAGNET - compare VAR_RESULT, 0 - call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF - msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT + giveitem ITEM_MAGNET + compare VAR_RESULT, FALSE + call_if_eq Route110_TrickHouseEnd_EventScript_BagFull + msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT closemessage - call Route110_TrickHouseEnd_EventScript_26AFCF + call Route110_TrickHouseEnd_EventScript_TrickMasterExit release end -Route110_TrickHouseEnd_EventScript_26AEEC:: @ 826AEEC - msgbox Route110_TrickHouseEnd_Text_26B365, MSGBOX_DEFAULT - msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT +Route110_TrickHouseEnd_EventScript_CompletedPuzzle7:: @ 826AEEC + msgbox Route110_TrickHouseEnd_Text_AllNightSettingUpArrows, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 - giveitem_std ITEM_PP_MAX - compare VAR_RESULT, 0 - call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF - msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT + giveitem ITEM_PP_MAX + compare VAR_RESULT, FALSE + call_if_eq Route110_TrickHouseEnd_EventScript_BagFull + msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT closemessage - call Route110_TrickHouseEnd_EventScript_26AFCF + call Route110_TrickHouseEnd_EventScript_TrickMasterExit release end -Route110_TrickHouseEnd_EventScript_26AF28:: @ 826AF28 - msgbox Route110_TrickHouseEnd_Text_26B3AB, MSGBOX_DEFAULT +Route110_TrickHouseEnd_EventScript_CompletedPuzzle8:: @ 826AF28 + msgbox Route110_TrickHouseEnd_Text_AllNightPolishingFloors, MSGBOX_DEFAULT closemessage - compare VAR_FACING, 1 - call_if_eq Route110_TrickHouseEnd_EventScript_26B015 - compare VAR_FACING, 2 - call_if_eq Route110_TrickHouseEnd_EventScript_26B020 - compare VAR_FACING, 3 - call_if_eq Route110_TrickHouseEnd_EventScript_26B02B - compare VAR_FACING, 4 - call_if_eq Route110_TrickHouseEnd_EventScript_26B036 + compare VAR_FACING, DIR_SOUTH + call_if_eq Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwaySouth + compare VAR_FACING, DIR_NORTH + call_if_eq Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayNorth + compare VAR_FACING, DIR_WEST + call_if_eq Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayWest + compare VAR_FACING, DIR_EAST + call_if_eq Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayEast delay 30 - msgbox Route110_TrickHouseEnd_Text_26B3FA, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEnd_Text_FountainOfIdeasRunDry, MSGBOX_DEFAULT closemessage applymovement 1, Common_Movement_FacePlayer waitmovement 0 delay 30 - msgbox Route110_TrickHouseEnd_Text_26B485, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEnd_Text_DefeatedMePreferWhichTent, MSGBOX_DEFAULT setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 - call Route110_TrickHouseEnd_EventScript_26AFA5 - compare VAR_RESULT, 0 - call_if_eq Route110_TrickHouseEnd_EventScript_26B002 - msgbox Route110_TrickHouseEnd_Text_26B69A, MSGBOX_DEFAULT - call Route110_TrickHouseEnd_EventScript_26AFCF - special ResetTrickHouseEndRoomFlag + call Route110_TrickHouseEnd_EventScript_ChooseTent + compare VAR_RESULT, FALSE + call_if_eq Route110_TrickHouseEnd_EventScript_NoRoomForTent + msgbox Route110_TrickHouseEnd_Text_LeavingOnJourney, MSGBOX_DEFAULT + call Route110_TrickHouseEnd_EventScript_TrickMasterExit + special ResetTrickHouseNuggetFlag release end -Route110_TrickHouseEnd_EventScript_26AFA5:: @ 826AFA5 - multichoice 0, 0, 88, 1 +Route110_TrickHouseEnd_EventScript_ChooseTent:: @ 826AFA5 + multichoice 0, 0, MULTI_TENT, 1 switch VAR_RESULT - case 0, Route110_TrickHouseEnd_EventScript_26AFBF - goto Route110_TrickHouseEnd_EventScript_26AFC7 + case 0, Route110_TrickHouseEnd_EventScript_GiveRedTent + goto Route110_TrickHouseEnd_EventScript_GiveBlueTent -Route110_TrickHouseEnd_EventScript_26AFBF:: @ 826AFBF - givedecoration_std 31 +Route110_TrickHouseEnd_EventScript_GiveRedTent:: @ 826AFBF + givedecoration DECOR_RED_TENT return -Route110_TrickHouseEnd_EventScript_26AFC7:: @ 826AFC7 - givedecoration_std 32 +Route110_TrickHouseEnd_EventScript_GiveBlueTent:: @ 826AFC7 + givedecoration DECOR_BLUE_TENT return -Route110_TrickHouseEnd_EventScript_26AFCF:: @ 826AFCF - applymovement 1, Route110_TrickHouseEnd_Movement_269E36 +Route110_TrickHouseEnd_EventScript_TrickMasterExit:: @ 826AFCF + applymovement 1, Route110_TrickHouse_Movement_TrickMasterSpin waitmovement 0 playse SE_W153 - applymovement 1, Route110_TrickHouseEnd_Movement_269E3F + applymovement 1, Route110_TrickHouse_Movement_TrickMasterJumpAway waitmovement 0 removeobject 1 addvar VAR_TRICK_HOUSE_LEVEL, 1 return -Route110_TrickHouseEnd_EventScript_26AFEF:: @ 826AFEF +Route110_TrickHouseEnd_EventScript_BagFull:: @ 826AFEF call Common_EventScript_BagIsFull - msgbox Route110_TrickHouseEnd_Text_26B760, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEnd_Text_NoRoomForThis, MSGBOX_DEFAULT setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 1 return -Route110_TrickHouseEnd_EventScript_26B002:: @ 826B002 - call Common_EventScript_NoRoomLeftForAnother - msgbox Route110_TrickHouseEnd_Text_26B615, MSGBOX_DEFAULT +Route110_TrickHouseEnd_EventScript_NoRoomForTent:: @ 826B002 + call Common_EventScript_NoRoomForDecor + msgbox Route110_TrickHouseEnd_Text_NoRoomInPC, MSGBOX_DEFAULT setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 1 return -Route110_TrickHouseEnd_EventScript_26B015:: @ 826B015 - applymovement 1, Common_Movement_WalkInPlaceDown +Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwaySouth:: @ 826B015 + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -Route110_TrickHouseEnd_EventScript_26B020:: @ 826B020 - applymovement 1, Common_Movement_WalkInPlaceUp +Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayNorth:: @ 826B020 + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -Route110_TrickHouseEnd_EventScript_26B02B:: @ 826B02B - applymovement 1, Common_Movement_WalkInPlaceLeft +Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayWest:: @ 826B02B + applymovement 1, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -Route110_TrickHouseEnd_EventScript_26B036:: @ 826B036 - applymovement 1, Common_Movement_WalkInPlaceRight +Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayEast:: @ 826B036 + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -Route110_TrickHouseEnd_EventScript_26B041:: @ 826B041 +Route110_TrickHouseEnd_EventScript_TrickMasterExitTrigger:: @ 826B041 lockall - turnobject 1, 3 + turnobject 1, DIR_WEST playse SE_PIN applymovement 1, Common_Movement_ExclamationMark waitmovement 0 delay 20 - applymovement 1, Route110_TrickHouseEnd_Movement_26B08B + applymovement 1, Route110_TrickHouseEnd_Movement_TrickMasterSurprise waitmovement 0 playse SE_W153 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox Route110_TrickHouseEnd_Text_26B8BD, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEnd_Text_YoureIgnoringMe, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEnd_Movement_26B089 + applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEnd_Movement_KeepPlayerInRoom waitmovement 0 delay 4 - turnobject 1, 4 + turnobject 1, DIR_EAST releaseall end -Route110_TrickHouseEnd_Movement_26B089: @ 826B089 +Route110_TrickHouseEnd_Movement_KeepPlayerInRoom: @ 826B089 walk_down step_end -Route110_TrickHouseEnd_Movement_26B08B: @ 826B08B +Route110_TrickHouseEnd_Movement_TrickMasterSurprise: @ 826B08B jump_in_place_left step_end -Route110_TrickHouseEnd_Text_26B08D: @ 826B08D +Route110_TrickHouseEnd_Text_YouveMadeItToMe: @ 826B08D .string "Aak!\n" .string "You've made it to me?\l" .string "Hmmm… You're sharp!$" -Route110_TrickHouseEnd_Text_26B0BC: @ 826B0BC +Route110_TrickHouseEnd_Text_AllNightToPlantTrees: @ 826B0BC .string "It took me all night to plant all those\n" .string "trees…\p" .string "You're almost my equal in greatness by\n" .string "one, two, three, four, five, six places!$" -Route110_TrickHouseEnd_Text_26B13B: @ 826B13B +Route110_TrickHouseEnd_Text_AllNightToMakeMaze: @ 826B13B .string "It took me all night to make the maze…\p" .string "You're almost my equal in greatness by\n" .string "one, two, three, four, five places!$" -Route110_TrickHouseEnd_Text_26B1AD: @ 826B1AD +Route110_TrickHouseEnd_Text_AllNightToPreparePanels: @ 826B1AD .string "It took me all night to prepare\n" .string "the wall panels…\p" .string "You're almost my equal in greatness by\n" .string "one, two, three, four places!$" -Route110_TrickHouseEnd_Text_26B223: @ 826B223 +Route110_TrickHouseEnd_Text_AllNightToShoveBoulders: @ 826B223 .string "It took me all night to shove in those\n" .string "boulders…\p" .string "You're almost my equal in greatness by\n" .string "one, two, three places!$" -Route110_TrickHouseEnd_Text_26B293: @ 826B293 +Route110_TrickHouseEnd_Text_AllNightToMakeMechadolls: @ 826B293 .string "It took me all night to make MECHADOLLS\n" .string "and another to think up the quiz…\p" .string "You're almost my equal in greatness by\n" .string "one, two places!$" -Route110_TrickHouseEnd_Text_26B315: @ 826B315 +Route110_TrickHouseEnd_Text_AllNightToInstallDoors: @ 826B315 .string "It took me all night to install\n" .string "the doors…\p" .string "You're almost my equal in greatness!$" -Route110_TrickHouseEnd_Text_26B365: @ 826B365 +Route110_TrickHouseEnd_Text_AllNightSettingUpArrows: @ 826B365 .string "It took me all night setting up arrows…\p" .string "You're my equal in greatness!$" -Route110_TrickHouseEnd_Text_26B3AB: @ 826B3AB +Route110_TrickHouseEnd_Text_AllNightPolishingFloors: @ 826B3AB .string "It took me all night polishing floors…\p" .string "You're above me in greatness!\n" .string "Possibly…$" -Route110_TrickHouseEnd_Text_26B3FA: @ 826B3FA +Route110_TrickHouseEnd_Text_FountainOfIdeasRunDry: @ 826B3FA .string "Wh-what should I do?\n" .string "My fountain of ideas for tricks has\l" .string "run dry…\p" .string "Perhaps it is time I toured the country\n" .string "on a quest to devise new tricks…$" -Route110_TrickHouseEnd_Text_26B485: @ 826B485 +Route110_TrickHouseEnd_Text_DefeatedMePreferWhichTent: @ 826B485 .string "I hate to admit defeat, but you have\n" .string "bested me!\p" .string "Still, you must have been reeled in by\n" @@ -331,13 +331,13 @@ Route110_TrickHouseEnd_Text_26B485: @ 826B485 .string "a RED TENT and a BLUE TENT.\l" .string "Which do you prefer?$" -Route110_TrickHouseEnd_Text_26B615: @ 826B615 +Route110_TrickHouseEnd_Text_NoRoomInPC: @ 826B615 .string "What? No room in your PC?\n" .string "What am I to make of that?\p" .string "I wish I could say that, but I am much\n" .string "too kind and caring, so come back later!$" -Route110_TrickHouseEnd_Text_26B69A: @ 826B69A +Route110_TrickHouseEnd_Text_LeavingOnJourney: @ 826B69A .string "… … … … … …\p" .string "I am leaving on a journey of discovery.\n" .string "A quest in search of new tricks.\p" @@ -345,17 +345,17 @@ Route110_TrickHouseEnd_Text_26B69A: @ 826B69A .string "entertain me again.\p" .string "And now, farewell!$" -Route110_TrickHouseEnd_Text_26B73D: @ 826B73D +Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward: @ 826B73D .string "Fine!\n" .string "You have earned this reward!$" -Route110_TrickHouseEnd_Text_26B760: @ 826B760 +Route110_TrickHouseEnd_Text_NoRoomForThis: @ 826B760 .string "What? Have you no room for this?\n" .string "What manner of items do you carry?\p" .string "But fine, since you've reached me,\n" .string "your reward will be with me till later.$" -Route110_TrickHouseEnd_Text_26B7EF: @ 826B7EF +Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou: @ 826B7EF .string "Scrub that smug smirk from your face!\n" .string "It's much too early to think you've won!\p" .string "I'll make new tricks to stump you, I will.\n" @@ -363,7 +363,7 @@ Route110_TrickHouseEnd_Text_26B7EF: @ 826B7EF .string "Come back for the next exciting\n" .string "installment!$" -Route110_TrickHouseEnd_Text_26B8BD: @ 826B8BD +Route110_TrickHouseEnd_Text_YoureIgnoringMe: @ 826B8BD .string "Now, now! You're ignoring me now?\n" .string "Now that, I consider heartbreaking!$" diff --git a/data/maps/Route110_TrickHouseEntrance/map.json b/data/maps/Route110_TrickHouseEntrance/map.json index ce188feecf..58ba81aea8 100644 --- a/data/maps/Route110_TrickHouseEntrance/map.json +++ b/data/maps/Route110_TrickHouseEntrance/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHouseEntrance_EventScript_269D3B", + "script": "Route110_TrickHouseEntrance_EventScript_TrickMaster", "flag": "FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN" } ], @@ -57,36 +57,36 @@ "x": 4, "y": 7, "elevation": 3, - "var": "VAR_TRICK_HOUSE_ENTRANCE_STATE_1", + "var": "VAR_TRICK_HOUSE_BEING_WATCHED_STATE", "var_value": "0", - "script": "Route110_TrickHouseEntrance_EventScript_26A3F8" + "script": "Route110_TrickHouseEntrance_EventScript_TrickMasterHiding" }, { "type": "trigger", "x": 5, "y": 6, "elevation": 3, - "var": "VAR_TRICK_HOUSE_ENTRANCE_STATE_1", + "var": "VAR_TRICK_HOUSE_BEING_WATCHED_STATE", "var_value": "0", - "script": "Route110_TrickHouseEntrance_EventScript_26A3F8" + "script": "Route110_TrickHouseEntrance_EventScript_TrickMasterHiding" }, { "type": "trigger", "x": 6, "y": 6, "elevation": 3, - "var": "VAR_TRICK_HOUSE_ENTRANCE_STATE_1", + "var": "VAR_TRICK_HOUSE_BEING_WATCHED_STATE", "var_value": "0", - "script": "Route110_TrickHouseEntrance_EventScript_26A3F8" + "script": "Route110_TrickHouseEntrance_EventScript_TrickMasterHiding" }, { "type": "trigger", "x": 7, "y": 7, "elevation": 3, - "var": "VAR_TRICK_HOUSE_ENTRANCE_STATE_1", + "var": "VAR_TRICK_HOUSE_BEING_WATCHED_STATE", "var_value": "0", - "script": "Route110_TrickHouseEntrance_EventScript_26A3F8" + "script": "Route110_TrickHouseEntrance_EventScript_TrickMasterHiding" } ], "bg_events": [ @@ -96,7 +96,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "Route110_TrickHouseEntrance_EventScript_26A0D3" + "script": "Route110_TrickHouseEntrance_EventScript_Door" } ] } \ No newline at end of file diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc index 9c2fc3aec5..06cd236519 100644 --- a/data/maps/Route110_TrickHouseEntrance/scripts.inc +++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc @@ -1,302 +1,310 @@ Route110_TrickHouseEntrance_MapScripts:: @ 8269A50 map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHouseEntrance_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHouseEntrance_MapScript2_269CEE - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route110_TrickHouseEntrance_MapScript2_269BD3 + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHouseEntrance_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route110_TrickHouseEntrance_OnWarp .byte 0 + @ State descriptions for VAR_TRICK_HOUSE_ENTRANCE_STATE + @ 0: Trick Master is hiding + @ 1: Trick Master has left at start of challenge + @ 2: Trick Master ready to give normal reward from previous challenge (if bag was full) + @ 3: Trick Master still making next puzzle + @ 4: Finished final puzzle + @ 5: Completed previous challenge + @ 6: 'Trick Master' mechadoll ready to give Tent reward from final challenge (if bag was full) + Route110_TrickHouseEntrance_OnTransition: @ 8269A60 setflag FLAG_LANDMARK_TRICK_HOUSE - compare VAR_TRICK_HOUSE_STATE, 1 - goto_if_eq Route110_TrickHouseEntrance_EventScript_269AF3 + compare VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR, 1 + goto_if_eq Route110_TrickHouseEntrance_EventScript_EnterFromCorridor compare VAR_TRICK_HOUSE_PRIZE_PICKUP, 1 - goto_if_eq Route110_TrickHouseEntrance_EventScript_269AD7 - compare VAR_TRICK_HOUSE_ENTRANCE_STATE_2, 1 - goto_if_eq Route110_TrickHouseEntrance_EventScript_269BB3 - compare VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 5 - call_if_eq Route110_TrickHouseEntrance_EventScript_269B03 - compare VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 3 - call_if_eq Route110_TrickHouseEntrance_EventScript_269B03 - compare VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 0 - call_if_eq Route110_TrickHouseEntrance_EventScript_269B03 - switch VAR_TRICK_HOUSE_ENTRANCE_STATE_3 - case 0, Route110_TrickHouseEntrance_EventScript_269BBB - case 1, Route110_TrickHouseEntrance_EventScript_269BC1 - case 3, Route110_TrickHouseEntrance_EventScript_269BC7 - case 4, Route110_TrickHouseEntrance_EventScript_269BCD + goto_if_eq Route110_TrickHouseEntrance_EventScript_SetReadyToGiveReward + compare VAR_TRICK_HOUSE_FOUND_TRICK_MASTER, 1 + goto_if_eq Route110_TrickHouseEntrance_EventScript_MoveTrickMasterToDoor + compare VAR_TRICK_HOUSE_ENTRANCE_STATE, 5 + call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForNextPuzzle + compare VAR_TRICK_HOUSE_ENTRANCE_STATE, 3 + call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForNextPuzzle + compare VAR_TRICK_HOUSE_ENTRANCE_STATE, 0 + call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForNextPuzzle + switch VAR_TRICK_HOUSE_ENTRANCE_STATE + case 0, Route110_TrickHouseEntrance_EventScript_ReadyBeingWatchedTrigger + case 1, Route110_TrickHouseEntrance_EventScript_SetNotBeingWatched1 + case 3, Route110_TrickHouseEntrance_EventScript_SetNotBeingWatched2 + case 4, Route110_TrickHouseEntrance_EventScript_SetNotBeingWatched3 end -Route110_TrickHouseEntrance_EventScript_269AD7:: @ 8269AD7 - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_1, 1 +Route110_TrickHouseEntrance_EventScript_SetReadyToGiveReward:: @ 8269AD7 + setvar VAR_TRICK_HOUSE_BEING_WATCHED_STATE, 1 compare VAR_TRICK_HOUSE_LEVEL, 8 - goto_if_eq Route110_TrickHouseEntrance_EventScript_269AED - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 2 + goto_if_eq Route110_TrickHouseEntrance_EventScript_ReadyToGiveTentReward + setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 2 end -Route110_TrickHouseEntrance_EventScript_269AED:: @ 8269AED - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 6 +Route110_TrickHouseEntrance_EventScript_ReadyToGiveTentReward:: @ 8269AED + setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 6 end -Route110_TrickHouseEntrance_EventScript_269AF3:: @ 8269AF3 - setvar VAR_TRICK_HOUSE_STATE, 0 - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 5 - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_1, 1 +Route110_TrickHouseEntrance_EventScript_EnterFromCorridor:: @ 8269AF3 + setvar VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR, 0 + setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 5 + setvar VAR_TRICK_HOUSE_BEING_WATCHED_STATE, 1 end -Route110_TrickHouseEntrance_EventScript_269B03:: @ 8269B03 - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 0 +Route110_TrickHouseEntrance_EventScript_CheckReadyForNextPuzzle:: @ 8269B03 + setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 0 compare VAR_TRICK_HOUSE_LEVEL, 1 - call_if_eq Route110_TrickHouseEntrance_EventScript_269B61 + call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle2 compare VAR_TRICK_HOUSE_LEVEL, 2 - call_if_eq Route110_TrickHouseEntrance_EventScript_269B6B + call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle3 compare VAR_TRICK_HOUSE_LEVEL, 3 - call_if_eq Route110_TrickHouseEntrance_EventScript_269B75 + call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle4 compare VAR_TRICK_HOUSE_LEVEL, 4 - call_if_eq Route110_TrickHouseEntrance_EventScript_269B7F + call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle5 compare VAR_TRICK_HOUSE_LEVEL, 5 - call_if_eq Route110_TrickHouseEntrance_EventScript_269B89 + call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle6 compare VAR_TRICK_HOUSE_LEVEL, 6 - call_if_eq Route110_TrickHouseEntrance_EventScript_269B93 + call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle7 compare VAR_TRICK_HOUSE_LEVEL, 7 - call_if_eq Route110_TrickHouseEntrance_EventScript_269B9D + call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle8 compare VAR_TRICK_HOUSE_LEVEL, 8 - call_if_eq Route110_TrickHouseEntrance_EventScript_269BA7 + call_if_eq Route110_TrickHouseEntrance_EventScript_FinishedPuzzles return -Route110_TrickHouseEntrance_EventScript_269B61:: @ 8269B61 - call_if_unset FLAG_BADGE03_GET, Route110_TrickHouseEntrance_EventScript_269BAD +Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle2:: @ 8269B61 + call_if_unset FLAG_BADGE03_GET, Route110_TrickHouseEntrance_EventScript_NotReadyForPuzzle return -Route110_TrickHouseEntrance_EventScript_269B6B:: @ 8269B6B - call_if_unset FLAG_BADGE04_GET, Route110_TrickHouseEntrance_EventScript_269BAD +Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle3:: @ 8269B6B + call_if_unset FLAG_BADGE04_GET, Route110_TrickHouseEntrance_EventScript_NotReadyForPuzzle return -Route110_TrickHouseEntrance_EventScript_269B75:: @ 8269B75 - call_if_unset FLAG_BADGE05_GET, Route110_TrickHouseEntrance_EventScript_269BAD +Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle4:: @ 8269B75 + call_if_unset FLAG_BADGE05_GET, Route110_TrickHouseEntrance_EventScript_NotReadyForPuzzle return -Route110_TrickHouseEntrance_EventScript_269B7F:: @ 8269B7F - call_if_unset FLAG_BADGE06_GET, Route110_TrickHouseEntrance_EventScript_269BAD +Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle5:: @ 8269B7F + call_if_unset FLAG_BADGE06_GET, Route110_TrickHouseEntrance_EventScript_NotReadyForPuzzle return -Route110_TrickHouseEntrance_EventScript_269B89:: @ 8269B89 - call_if_unset FLAG_BADGE07_GET, Route110_TrickHouseEntrance_EventScript_269BAD +Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle6:: @ 8269B89 + call_if_unset FLAG_BADGE07_GET, Route110_TrickHouseEntrance_EventScript_NotReadyForPuzzle return -Route110_TrickHouseEntrance_EventScript_269B93:: @ 8269B93 - call_if_unset FLAG_BADGE08_GET, Route110_TrickHouseEntrance_EventScript_269BAD +Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle7:: @ 8269B93 + call_if_unset FLAG_BADGE08_GET, Route110_TrickHouseEntrance_EventScript_NotReadyForPuzzle return -Route110_TrickHouseEntrance_EventScript_269B9D:: @ 8269B9D - call_if_unset FLAG_SYS_GAME_CLEAR, Route110_TrickHouseEntrance_EventScript_269BAD +Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle8:: @ 8269B9D + call_if_unset FLAG_SYS_GAME_CLEAR, Route110_TrickHouseEntrance_EventScript_NotReadyForPuzzle return -Route110_TrickHouseEntrance_EventScript_269BA7:: @ 8269BA7 - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 4 +Route110_TrickHouseEntrance_EventScript_FinishedPuzzles:: @ 8269BA7 + setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 4 return -Route110_TrickHouseEntrance_EventScript_269BAD:: @ 8269BAD - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 3 +Route110_TrickHouseEntrance_EventScript_NotReadyForPuzzle:: @ 8269BAD + setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 3 return -Route110_TrickHouseEntrance_EventScript_269BB3:: @ 8269BB3 +Route110_TrickHouseEntrance_EventScript_MoveTrickMasterToDoor:: @ 8269BB3 setobjectxyperm 1, 5, 2 end -Route110_TrickHouseEntrance_EventScript_269BBB:: @ 8269BBB - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_1, 0 +Route110_TrickHouseEntrance_EventScript_ReadyBeingWatchedTrigger:: @ 8269BBB + setvar VAR_TRICK_HOUSE_BEING_WATCHED_STATE, 0 end -Route110_TrickHouseEntrance_EventScript_269BC1:: @ 8269BC1 - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_1, 1 +Route110_TrickHouseEntrance_EventScript_SetNotBeingWatched1:: @ 8269BC1 + setvar VAR_TRICK_HOUSE_BEING_WATCHED_STATE, 1 end -Route110_TrickHouseEntrance_EventScript_269BC7:: @ 8269BC7 - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_1, 1 +Route110_TrickHouseEntrance_EventScript_SetNotBeingWatched2:: @ 8269BC7 + setvar VAR_TRICK_HOUSE_BEING_WATCHED_STATE, 1 end -Route110_TrickHouseEntrance_EventScript_269BCD:: @ 8269BCD - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_1, 1 +Route110_TrickHouseEntrance_EventScript_SetNotBeingWatched3:: @ 8269BCD + setvar VAR_TRICK_HOUSE_BEING_WATCHED_STATE, 1 end -Route110_TrickHouseEntrance_MapScript2_269BD3: @ 8269BD3 - map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_2, 1, Route110_TrickHouseEntrance_EventScript_269C15 - map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 0, Route110_TrickHouseEntrance_EventScript_269C26 - map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 1, Route110_TrickHouseEntrance_EventScript_269CCC - map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 2, Route110_TrickHouseEntrance_EventScript_269CD0 - map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 3, Route110_TrickHouseEntrance_EventScript_269CD0 - map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 4, Route110_TrickHouseEntrance_EventScript_269CCC - map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 5, Route110_TrickHouseEntrance_EventScript_269CCC - map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 6, Route110_TrickHouseEntrance_EventScript_269CDF +Route110_TrickHouseEntrance_OnWarp: @ 8269BD3 + map_script_2 VAR_TRICK_HOUSE_FOUND_TRICK_MASTER, 1, Route110_TrickHouseEntrance_EventScript_TrickMasterFound + map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE, 0, Route110_TrickHouseEntrance_EventScript_SetTrickMasterHidingSpot + map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE, 1, Route110_TrickHouseEntrance_EventScript_RemoveTrickMaster + map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE, 2, Route110_TrickHouseEntrance_EventScript_SetTrickMasterFacingDoor + map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE, 3, Route110_TrickHouseEntrance_EventScript_SetTrickMasterFacingDoor + map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE, 4, Route110_TrickHouseEntrance_EventScript_RemoveTrickMaster + map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE, 5, Route110_TrickHouseEntrance_EventScript_RemoveTrickMaster + map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE, 6, Route110_TrickHouseEntrance_EventScript_SetTrickMasterInFrontOfDoor .2byte 0 -Route110_TrickHouseEntrance_EventScript_269C15:: @ 8269C15 +Route110_TrickHouseEntrance_EventScript_TrickMasterFound:: @ 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 +Route110_TrickHouseEntrance_EventScript_SetTrickMasterHidingSpot:: @ 8269C26 addobject 1 hideobjectat 1, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE switch VAR_TRICK_HOUSE_LEVEL - case 0, Route110_TrickHouseEntrance_EventScript_269C8C - case 1, Route110_TrickHouseEntrance_EventScript_269C94 - case 2, Route110_TrickHouseEntrance_EventScript_269C9C - case 3, Route110_TrickHouseEntrance_EventScript_269CA4 - case 4, Route110_TrickHouseEntrance_EventScript_269CAC - case 5, Route110_TrickHouseEntrance_EventScript_269CB4 - case 6, Route110_TrickHouseEntrance_EventScript_269CBC - case 7, Route110_TrickHouseEntrance_EventScript_269CC4 + case 0, Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle1 + case 1, Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle2 + case 2, Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle3 + case 3, Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle4 + case 4, Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle5 + case 5, Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle6 + case 6, Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle7 + case 7, Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle8 end -Route110_TrickHouseEntrance_EventScript_269C8C:: @ 8269C8C +Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle1:: @ 8269C8C setobjectxy 1, 6, 3 end -Route110_TrickHouseEntrance_EventScript_269C94:: @ 8269C94 +Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle2:: @ 8269C94 setobjectxy 1, 11, 5 end -Route110_TrickHouseEntrance_EventScript_269C9C:: @ 8269C9C +Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle3:: @ 8269C9C setobjectxy 1, 9, 1 end -Route110_TrickHouseEntrance_EventScript_269CA4:: @ 8269CA4 +Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle4:: @ 8269CA4 setobjectxy 1, 3, 1 end -Route110_TrickHouseEntrance_EventScript_269CAC:: @ 8269CAC +Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle5:: @ 8269CAC setobjectxy 1, 0, 5 end -Route110_TrickHouseEntrance_EventScript_269CB4:: @ 8269CB4 +Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle6:: @ 8269CB4 setobjectxy 1, 11, 1 end -Route110_TrickHouseEntrance_EventScript_269CBC:: @ 8269CBC +Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle7:: @ 8269CBC setobjectxy 1, 8, 1 end -Route110_TrickHouseEntrance_EventScript_269CC4:: @ 8269CC4 +Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle8:: @ 8269CC4 setobjectxy 1, 4, 4 end -Route110_TrickHouseEntrance_EventScript_269CCC:: @ 8269CCC +Route110_TrickHouseEntrance_EventScript_RemoveTrickMaster:: @ 8269CCC removeobject 1 end -Route110_TrickHouseEntrance_EventScript_269CD0:: @ 8269CD0 +Route110_TrickHouseEntrance_EventScript_SetTrickMasterFacingDoor:: @ 8269CD0 addobject 1 setobjectxy 1, 5, 2 - turnobject 1, 2 + turnobject 1, DIR_NORTH end -Route110_TrickHouseEntrance_EventScript_269CDF:: @ 8269CDF +Route110_TrickHouseEntrance_EventScript_SetTrickMasterInFrontOfDoor:: @ 8269CDF addobject 1 setobjectxy 1, 5, 2 - turnobject 1, 1 + turnobject 1, DIR_SOUTH end -Route110_TrickHouseEntrance_MapScript2_269CEE: @ 8269CEE - map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_2, 1, Route110_TrickHouseEntrance_EventScript_269CF8 +Route110_TrickHouseEntrance_OnFrame: @ 8269CEE + map_script_2 VAR_TRICK_HOUSE_FOUND_TRICK_MASTER, 1, Route110_TrickHouseEntrance_EventScript_BeginChallenge .2byte 0 -Route110_TrickHouseEntrance_EventScript_269CF8:: @ 8269CF8 +Route110_TrickHouseEntrance_EventScript_BeginChallenge:: @ 8269CF8 lockall delay 20 compare VAR_TRICK_HOUSE_LEVEL, 0 - call_if_eq Route110_TrickHouseEntrance_EventScript_269E48 - msgbox Route110_TrickHouseEntrance_Text_26A78C, MSGBOX_DEFAULT + call_if_eq Route110_TrickHouseEntrance_EventScript_MeetTrickMaster + msgbox Route110_TrickHouseEntrance_Text_ComeToChallengeTrickHouse, MSGBOX_DEFAULT closemessage delay 20 - applymovement 1, Route110_TrickHouseEntrance_Movement_269E36 + applymovement 1, Route110_TrickHouse_Movement_TrickMasterSpin waitmovement 0 playse SE_W153 - applymovement 1, Route110_TrickHouseEntrance_Movement_269E3F + applymovement 1, Route110_TrickHouse_Movement_TrickMasterJumpAway waitmovement 0 removeobject 1 - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 1 - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_2, 0 + setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 1 + setvar VAR_TRICK_HOUSE_FOUND_TRICK_MASTER, 0 releaseall end -Route110_TrickHouseEntrance_EventScript_269D39:: @ 8269D39 +Route110_TrickHouseEntrance_EventScript_UnusedRelease:: @ 8269D39 releaseall end -Route110_TrickHouseEntrance_EventScript_269D3B:: @ 8269D3B +Route110_TrickHouseEntrance_EventScript_TrickMaster:: @ 8269D3B lockall - switch VAR_TRICK_HOUSE_ENTRANCE_STATE_3 - case 0, Route110_TrickHouseEntrance_EventScript_269D6E - case 2, Route110_TrickHouseEntrance_EventScript_269E8F - case 3, Route110_TrickHouseEntrance_EventScript_269E51 - case 6, Route110_TrickHouseEntrance_EventScript_26A039 + switch VAR_TRICK_HOUSE_ENTRANCE_STATE + case 0, Route110_TrickHouseEntrance_EventScript_FoundTrickMaster + case 2, Route110_TrickHouseEntrance_EventScript_GiveReward + case 3, Route110_TrickHouseEntrance_EventScript_StillMakingPuzzle + case 6, Route110_TrickHouseEntrance_EventScript_MechadollReward end -Route110_TrickHouseEntrance_EventScript_269D6E:: @ 8269D6E +Route110_TrickHouseEntrance_EventScript_FoundTrickMaster:: @ 8269D6E playse SE_PIN applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_ExclamationMark waitmovement 0 applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_Delay48 waitmovement 0 compare VAR_TRICK_HOUSE_LEVEL, 0 - call_if_eq Route110_TrickHouseEntrance_EventScript_269DEE + call_if_eq Route110_TrickHouseEntrance_EventScript_FoundBeneathDesk compare VAR_TRICK_HOUSE_LEVEL, 1 - call_if_eq Route110_TrickHouseEntrance_EventScript_269DF7 + call_if_eq Route110_TrickHouseEntrance_EventScript_FoundBehindTree compare VAR_TRICK_HOUSE_LEVEL, 2 - call_if_eq Route110_TrickHouseEntrance_EventScript_269E00 + call_if_eq Route110_TrickHouseEntrance_EventScript_FoundInDresser compare VAR_TRICK_HOUSE_LEVEL, 3 - call_if_eq Route110_TrickHouseEntrance_EventScript_269E09 + call_if_eq Route110_TrickHouseEntrance_EventScript_FoundBeyondWindow compare VAR_TRICK_HOUSE_LEVEL, 4 - call_if_eq Route110_TrickHouseEntrance_EventScript_269E12 + call_if_eq Route110_TrickHouseEntrance_EventScript_FoundInPlanter compare VAR_TRICK_HOUSE_LEVEL, 5 - call_if_eq Route110_TrickHouseEntrance_EventScript_269E1B + call_if_eq Route110_TrickHouseEntrance_EventScript_FoundInCupboard compare VAR_TRICK_HOUSE_LEVEL, 6 - call_if_eq Route110_TrickHouseEntrance_EventScript_269E24 + call_if_eq Route110_TrickHouseEntrance_EventScript_FoundBehindWindow compare VAR_TRICK_HOUSE_LEVEL, 7 - call_if_eq Route110_TrickHouseEntrance_EventScript_269E2D + call_if_eq Route110_TrickHouseEntrance_EventScript_FoundBeneathCushion closemessage - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_2, 1 + setvar VAR_TRICK_HOUSE_FOUND_TRICK_MASTER, 1 warpsilent MAP_ROUTE110_TRICK_HOUSE_ENTRANCE, 255, 6, 2 waitstate releaseall end -Route110_TrickHouseEntrance_EventScript_269DEE:: @ 8269DEE - msgbox Route110_TrickHouseEntrance_Text_26A48A, MSGBOX_DEFAULT +Route110_TrickHouseEntrance_EventScript_FoundBeneathDesk:: @ 8269DEE + msgbox Route110_TrickHouseEntrance_Text_ConcealedBeneathDesk, MSGBOX_DEFAULT return -Route110_TrickHouseEntrance_EventScript_269DF7:: @ 8269DF7 - msgbox Route110_TrickHouseEntrance_Text_26A4DA, MSGBOX_DEFAULT +Route110_TrickHouseEntrance_EventScript_FoundBehindTree:: @ 8269DF7 + msgbox Route110_TrickHouseEntrance_Text_ConcealedBehindTree, MSGBOX_DEFAULT return -Route110_TrickHouseEntrance_EventScript_269E00:: @ 8269E00 - msgbox Route110_TrickHouseEntrance_Text_26A529, MSGBOX_DEFAULT +Route110_TrickHouseEntrance_EventScript_FoundInDresser:: @ 8269E00 + msgbox Route110_TrickHouseEntrance_Text_ConcealedInDresser, MSGBOX_DEFAULT return -Route110_TrickHouseEntrance_EventScript_269E09:: @ 8269E09 - msgbox Route110_TrickHouseEntrance_Text_26A577, MSGBOX_DEFAULT +Route110_TrickHouseEntrance_EventScript_FoundBeyondWindow:: @ 8269E09 + msgbox Route110_TrickHouseEntrance_Text_ConealedBeyondWindow, MSGBOX_DEFAULT return -Route110_TrickHouseEntrance_EventScript_269E12:: @ 8269E12 - msgbox Route110_TrickHouseEntrance_Text_26A5C8, MSGBOX_DEFAULT +Route110_TrickHouseEntrance_EventScript_FoundInPlanter:: @ 8269E12 + msgbox Route110_TrickHouseEntrance_Text_ConcealedInPlanter, MSGBOX_DEFAULT return -Route110_TrickHouseEntrance_EventScript_269E1B:: @ 8269E1B - msgbox Route110_TrickHouseEntrance_Text_26A616, MSGBOX_DEFAULT +Route110_TrickHouseEntrance_EventScript_FoundInCupboard:: @ 8269E1B + msgbox Route110_TrickHouseEntrance_Text_ConcealedInCupboard, MSGBOX_DEFAULT return -Route110_TrickHouseEntrance_EventScript_269E24:: @ 8269E24 - msgbox Route110_TrickHouseEntrance_Text_26A665, MSGBOX_DEFAULT +Route110_TrickHouseEntrance_EventScript_FoundBehindWindow:: @ 8269E24 + msgbox Route110_TrickHouseEntrance_Text_ConcealedBehindWindow, MSGBOX_DEFAULT return -Route110_TrickHouseEntrance_EventScript_269E2D:: @ 8269E2D - msgbox Route110_TrickHouseEntrance_Text_26A6B6, MSGBOX_DEFAULT +Route110_TrickHouseEntrance_EventScript_FoundBeneathCushion:: @ 8269E2D + msgbox Route110_TrickHouseEntrance_Text_ConcealedBeneathCushion, MSGBOX_DEFAULT return -Route110_TrickHouseEnd_Movement_269E36: @ 8269E36 -Route110_TrickHouseEntrance_Movement_269E36: @ 8269E36 +Route110_TrickHouse_Movement_TrickMasterSpin: @ 8269E36 face_up delay_4 face_left @@ -307,8 +315,7 @@ Route110_TrickHouseEntrance_Movement_269E36: @ 8269E36 delay_4 step_end -Route110_TrickHouseEnd_Movement_269E3F: @ 8269E3F -Route110_TrickHouseEntrance_Movement_269E3F: @ 8269E3F +Route110_TrickHouse_Movement_TrickMasterJumpAway: @ 8269E3F face_up disable_anim slide_up @@ -319,12 +326,12 @@ Route110_TrickHouseEntrance_Movement_269E3F: @ 8269E3F slide_up step_end -Route110_TrickHouseEntrance_EventScript_269E48:: @ 8269E48 - msgbox Route110_TrickHouseEntrance_Text_26A709, MSGBOX_DEFAULT +Route110_TrickHouseEntrance_EventScript_MeetTrickMaster:: @ 8269E48 + msgbox Route110_TrickHouseEntrance_Text_TheyCallMeTrickMaster, MSGBOX_DEFAULT return -Route110_TrickHouseEntrance_EventScript_269E51:: @ 8269E51 - msgbox Route110_TrickHouseEntrance_Text_26A921, MSGBOX_DEFAULT +Route110_TrickHouseEntrance_EventScript_StillMakingPuzzle:: @ 8269E51 + msgbox Route110_TrickHouseEntrance_Text_NextTimeUseThisTrick, MSGBOX_DEFAULT closemessage applymovement 1, Common_Movement_FacePlayer waitmovement 0 @@ -333,280 +340,280 @@ Route110_TrickHouseEntrance_EventScript_269E51:: @ 8269E51 waitmovement 0 applymovement 1, Common_Movement_Delay48 waitmovement 0 - msgbox Route110_TrickHouseEntrance_Text_26A9AF, MSGBOX_DEFAULT - applymovement 1, Common_Movement_WalkInPlaceUp + msgbox Route110_TrickHouseEntrance_Text_InMidstOfDevisingNewChallenges, MSGBOX_DEFAULT + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 releaseall end -Route110_TrickHouseEntrance_EventScript_269E8F:: @ 8269E8F +Route110_TrickHouseEntrance_EventScript_GiveReward:: @ 8269E8F applymovement 1, Common_Movement_FacePlayer waitmovement 0 - msgbox Route110_TrickHouseEntrance_Text_26AA82, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEntrance_Text_YoureHereToAcceptReward, MSGBOX_DEFAULT compare VAR_TRICK_HOUSE_LEVEL, 1 - goto_if_eq Route110_TrickHouseEntrance_EventScript_269EEF + goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle1Reward compare VAR_TRICK_HOUSE_LEVEL, 2 - goto_if_eq Route110_TrickHouseEntrance_EventScript_269F1B + goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle2Reward compare VAR_TRICK_HOUSE_LEVEL, 3 - goto_if_eq Route110_TrickHouseEntrance_EventScript_269F47 + goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle3Reward compare VAR_TRICK_HOUSE_LEVEL, 4 - goto_if_eq Route110_TrickHouseEntrance_EventScript_269F73 + goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle4Reward compare VAR_TRICK_HOUSE_LEVEL, 5 - goto_if_eq Route110_TrickHouseEntrance_EventScript_269F9F + goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle5Reward compare VAR_TRICK_HOUSE_LEVEL, 6 - goto_if_eq Route110_TrickHouseEntrance_EventScript_269FCB + goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle6Reward compare VAR_TRICK_HOUSE_LEVEL, 7 - goto_if_eq Route110_TrickHouseEntrance_EventScript_269FF7 + goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle7Reward end -Route110_TrickHouseEntrance_EventScript_269EEF:: @ 8269EEF - giveitem_std ITEM_RARE_CANDY - compare VAR_RESULT, 1 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023 - compare VAR_RESULT, 0 +Route110_TrickHouseEntrance_EventScript_GivePuzzle1Reward:: @ 8269EEF + giveitem ITEM_RARE_CANDY + compare VAR_RESULT, TRUE + goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward + compare VAR_RESULT, FALSE call_if_eq Common_EventScript_BagIsFull - msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT releaseall end -Route110_TrickHouseEntrance_EventScript_269F1B:: @ 8269F1B - giveitem_std ITEM_TIMER_BALL - compare VAR_RESULT, 1 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023 - compare VAR_RESULT, 0 +Route110_TrickHouseEntrance_EventScript_GivePuzzle2Reward:: @ 8269F1B + giveitem ITEM_TIMER_BALL + compare VAR_RESULT, TRUE + goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward + compare VAR_RESULT, FALSE call_if_eq Common_EventScript_BagIsFull - msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT releaseall end -Route110_TrickHouseEntrance_EventScript_269F47:: @ 8269F47 - giveitem_std ITEM_HARD_STONE - compare VAR_RESULT, 1 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023 - compare VAR_RESULT, 0 +Route110_TrickHouseEntrance_EventScript_GivePuzzle3Reward:: @ 8269F47 + giveitem ITEM_HARD_STONE + compare VAR_RESULT, TRUE + goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward + compare VAR_RESULT, FALSE call_if_eq Common_EventScript_BagIsFull - msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT releaseall end -Route110_TrickHouseEntrance_EventScript_269F73:: @ 8269F73 - giveitem_std ITEM_SMOKE_BALL - compare VAR_RESULT, 1 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023 - compare VAR_RESULT, 0 +Route110_TrickHouseEntrance_EventScript_GivePuzzle4Reward:: @ 8269F73 + giveitem ITEM_SMOKE_BALL + compare VAR_RESULT, TRUE + goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward + compare VAR_RESULT, FALSE call_if_eq Common_EventScript_BagIsFull - msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT releaseall end -Route110_TrickHouseEntrance_EventScript_269F9F:: @ 8269F9F - giveitem_std ITEM_TM12 - compare VAR_RESULT, 1 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023 - compare VAR_RESULT, 0 +Route110_TrickHouseEntrance_EventScript_GivePuzzle5Reward:: @ 8269F9F + giveitem ITEM_TM12 + compare VAR_RESULT, TRUE + goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward + compare VAR_RESULT, FALSE call_if_eq Common_EventScript_BagIsFull - msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT releaseall end -Route110_TrickHouseEntrance_EventScript_269FCB:: @ 8269FCB - giveitem_std ITEM_MAGNET - compare VAR_RESULT, 1 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023 - compare VAR_RESULT, 0 +Route110_TrickHouseEntrance_EventScript_GivePuzzle6Reward:: @ 8269FCB + giveitem ITEM_MAGNET + compare VAR_RESULT, TRUE + goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward + compare VAR_RESULT, FALSE call_if_eq Common_EventScript_BagIsFull - msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT releaseall end -Route110_TrickHouseEntrance_EventScript_269FF7:: @ 8269FF7 - giveitem_std ITEM_PP_MAX - compare VAR_RESULT, 1 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023 - compare VAR_RESULT, 0 +Route110_TrickHouseEntrance_EventScript_GivePuzzle7Reward:: @ 8269FF7 + giveitem ITEM_PP_MAX + compare VAR_RESULT, TRUE + goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward + compare VAR_RESULT, FALSE call_if_eq Common_EventScript_BagIsFull - msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT releaseall end -Route110_TrickHouseEntrance_EventScript_26A023:: @ 826A023 +Route110_TrickHouseEntrance_EventScript_GotReward:: @ 826A023 setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 3 - applymovement 1, Common_Movement_WalkInPlaceUp + setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 3 + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 releaseall end -Route110_TrickHouseEntrance_EventScript_26A039:: @ 826A039 +Route110_TrickHouseEntrance_EventScript_MechadollReward:: @ 826A039 applymovement 1, Common_Movement_FacePlayer waitmovement 0 - msgbox Route110_TrickHouseEntrance_Text_26AB2C, MSGBOX_DEFAULT - call Route110_TrickHouseEntrance_EventScript_26A070 - compare VAR_RESULT, 1 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A09A - compare VAR_RESULT, 0 - call_if_eq Common_EventScript_NoRoomLeftForAnother - msgbox Route110_TrickHouseEntrance_Text_26ABBD, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEntrance_Text_MechadollWhichTent, MSGBOX_DEFAULT + call Route110_TrickHouseEntrance_EventScript_ChooseTent + compare VAR_RESULT, TRUE + goto_if_eq Route110_TrickHouseEntrance_EventScript_ReceivedTent + compare VAR_RESULT, FALSE + call_if_eq Common_EventScript_NoRoomForDecor + msgbox Route110_TrickHouseEntrance_Text_PCFullAgain, MSGBOX_DEFAULT releaseall end -Route110_TrickHouseEntrance_EventScript_26A070:: @ 826A070 - multichoice 0, 0, 88, 1 +Route110_TrickHouseEntrance_EventScript_ChooseTent:: @ 826A070 + multichoice 0, 0, MULTI_TENT, 1 switch VAR_RESULT - case 0, Route110_TrickHouseEntrance_EventScript_26A08A - goto Route110_TrickHouseEntrance_EventScript_26A092 + case 0, Route110_TrickHouseEntrance_EventScript_GiveRedTent + goto Route110_TrickHouseEntrance_EventScript_GiveBlueTent -Route110_TrickHouseEntrance_EventScript_26A08A:: @ 826A08A - givedecoration_std 31 +Route110_TrickHouseEntrance_EventScript_GiveRedTent:: @ 826A08A + givedecoration DECOR_RED_TENT return -Route110_TrickHouseEntrance_EventScript_26A092:: @ 826A092 - givedecoration_std 32 +Route110_TrickHouseEntrance_EventScript_GiveBlueTent:: @ 826A092 + givedecoration DECOR_BLUE_TENT return -Route110_TrickHouseEntrance_EventScript_26A09A:: @ 826A09A - msgbox Route110_TrickHouseEntrance_Text_26ABAE, MSGBOX_DEFAULT +Route110_TrickHouseEntrance_EventScript_ReceivedTent:: @ 826A09A + msgbox Route110_TrickHouseEntrance_Text_ThenFarewell, MSGBOX_DEFAULT closemessage - applymovement 1, Route110_TrickHouseEntrance_Movement_26D632 + applymovement 1, Route110_TrickHousePuzzle5_Movement_MechadollShake waitmovement 0 - applymovement 1, Route110_TrickHouseEntrance_Movement_269E36 + applymovement 1, Route110_TrickHouse_Movement_TrickMasterSpin waitmovement 0 playse SE_W153 - applymovement 1, Route110_TrickHouseEntrance_Movement_269E3F + applymovement 1, Route110_TrickHouse_Movement_TrickMasterJumpAway waitmovement 0 removeobject 1 setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 5 + setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 5 releaseall end -Route110_TrickHouseEntrance_EventScript_26A0D3:: @ 826A0D3 +Route110_TrickHouseEntrance_EventScript_Door:: @ 826A0D3 lockall - switch VAR_TRICK_HOUSE_ENTRANCE_STATE_3 - case 0, Route110_TrickHouseEntrance_EventScript_26A106 - case 1, Route110_TrickHouseEntrance_EventScript_26A110 - case 4, Route110_TrickHouseEntrance_EventScript_26A201 - case 5, Route110_TrickHouseEntrance_EventScript_26A20B + switch VAR_TRICK_HOUSE_ENTRANCE_STATE + case 0, Route110_TrickHouseEntrance_EventScript_ItsAScroll + case 1, Route110_TrickHouseEntrance_EventScript_GoInHolePrompt + case 4, Route110_TrickHouseEntrance_EventScript_LeftOnJourneyNote + case 5, Route110_TrickHouseEntrance_EventScript_CheckLevelForMessage end -Route110_TrickHouseEntrance_EventScript_26A106:: @ 826A106 - msgbox Route110_TrickHouseEntrance_Text_26A878, MSGBOX_DEFAULT +Route110_TrickHouseEntrance_EventScript_ItsAScroll:: @ 826A106 + msgbox Route110_TrickHouseEntrance_Text_ItsAScroll, MSGBOX_DEFAULT releaseall end -Route110_TrickHouseEntrance_EventScript_26A110:: @ 826A110 - msgbox Route110_TrickHouseEntrance_Text_26A887, MSGBOX_YESNO +Route110_TrickHouseEntrance_EventScript_GoInHolePrompt:: @ 826A110 + msgbox Route110_TrickHouseEntrance_Text_GoInHoleBehindScroll, MSGBOX_YESNO closemessage - compare VAR_RESULT, 1 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A126 + compare VAR_RESULT, YES + goto_if_eq Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom releaseall end -Route110_TrickHouseEntrance_EventScript_26A126:: @ 826A126 +Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom:: @ 826A126 setmetatile 5, 1, METATILE_GenericBuilding_TrickHouse_Stairs_Down, 0 special DrawWholeMapView delay 20 - applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_2725C9 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkUp waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_26A1A7 + applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_EnterRoom waitmovement 0 switch VAR_TRICK_HOUSE_LEVEL - case 0, Route110_TrickHouseEntrance_EventScript_26A1A9 - case 1, Route110_TrickHouseEntrance_EventScript_26A1B4 - case 2, Route110_TrickHouseEntrance_EventScript_26A1BF - case 3, Route110_TrickHouseEntrance_EventScript_26A1CA - case 4, Route110_TrickHouseEntrance_EventScript_26A1D5 - case 5, Route110_TrickHouseEntrance_EventScript_26A1E0 - case 6, Route110_TrickHouseEntrance_EventScript_26A1EB - case 7, Route110_TrickHouseEntrance_EventScript_26A1F6 + case 0, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom1 + case 1, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom2 + case 2, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom3 + case 3, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom4 + case 4, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom5 + case 5, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom6 + case 6, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom7 + case 7, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom8 end -Route110_TrickHouseEntrance_Movement_26A1A7: @ 826A1A7 +Route110_TrickHouseEntrance_Movement_EnterRoom: @ 826A1A7 set_invisible step_end -Route110_TrickHouseEntrance_EventScript_26A1A9:: @ 826A1A9 +Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom1:: @ 826A1A9 warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE1, 255, 0, 21 waitstate releaseall end -Route110_TrickHouseEntrance_EventScript_26A1B4:: @ 826A1B4 +Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom2:: @ 826A1B4 warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE2, 255, 0, 21 waitstate releaseall end -Route110_TrickHouseEntrance_EventScript_26A1BF:: @ 826A1BF +Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom3:: @ 826A1BF warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE3, 255, 0, 21 waitstate releaseall end -Route110_TrickHouseEntrance_EventScript_26A1CA:: @ 826A1CA +Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom4:: @ 826A1CA warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE4, 255, 0, 21 waitstate releaseall end -Route110_TrickHouseEntrance_EventScript_26A1D5:: @ 826A1D5 +Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom5:: @ 826A1D5 warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE5, 255, 0, 21 waitstate releaseall end -Route110_TrickHouseEntrance_EventScript_26A1E0:: @ 826A1E0 +Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom6:: @ 826A1E0 warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE6, 255, 0, 21 waitstate releaseall end -Route110_TrickHouseEntrance_EventScript_26A1EB:: @ 826A1EB +Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom7:: @ 826A1EB warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE7, 255, 0, 21 waitstate releaseall end -Route110_TrickHouseEntrance_EventScript_26A1F6:: @ 826A1F6 +Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom8:: @ 826A1F6 warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE8, 255, 0, 21 waitstate releaseall end -Route110_TrickHouseEntrance_EventScript_26A201:: @ 826A201 - msgbox Route110_TrickHouseEntrance_Text_26A8BD, MSGBOX_DEFAULT +Route110_TrickHouseEntrance_EventScript_LeftOnJourneyNote:: @ 826A201 + msgbox Route110_TrickHouseEntrance_Text_LeavingOnJourneyNote, MSGBOX_DEFAULT releaseall end -Route110_TrickHouseEntrance_EventScript_26A20B:: @ 826A20B +Route110_TrickHouseEntrance_EventScript_CheckLevelForMessage:: @ 826A20B compare VAR_TRICK_HOUSE_LEVEL, 8 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A220 - msgbox Route110_TrickHouseEntrance_Text_26A878, MSGBOX_DEFAULT + goto_if_eq Route110_TrickHouseEntrance_EventScript_LeftOnJourneyNote2 + msgbox Route110_TrickHouseEntrance_Text_ItsAScroll, MSGBOX_DEFAULT releaseall end -Route110_TrickHouseEntrance_EventScript_26A220:: @ 826A220 - msgbox Route110_TrickHouseEntrance_Text_26A8BD, MSGBOX_DEFAULT +Route110_TrickHouseEntrance_EventScript_LeftOnJourneyNote2:: @ 826A220 + msgbox Route110_TrickHouseEntrance_Text_LeavingOnJourneyNote, MSGBOX_DEFAULT releaseall end -Route110_TrickHouseEntrance_EventScript_26A22A:: @ 826A22A +Route110_TrickHousePuzzle_EventScript_Door:: @ 826A22A lockall switch VAR_TRICK_HOUSE_LEVEL - case 0, Route110_TrickHouseEntrance_EventScript_26A289 - case 1, Route110_TrickHouseEntrance_EventScript_26A2B2 - case 2, Route110_TrickHouseEntrance_EventScript_26A2DB - case 3, Route110_TrickHouseEntrance_EventScript_26A304 - case 4, Route110_TrickHouseEntrance_EventScript_26A32D - case 5, Route110_TrickHouseEntrance_EventScript_26A356 - case 6, Route110_TrickHouseEntrance_EventScript_26A37F - case 7, Route110_TrickHouseEntrance_EventScript_26A3A8 + case 0, Route110_TrickHousePuzzle1_EventScript_Door + case 1, Route110_TrickHousePuzzle2_EventScript_Door + case 2, Route110_TrickHousePuzzle3_EventScript_Door + case 3, Route110_TrickHousePuzzle4_EventScript_Door + case 4, Route110_TrickHousePuzzle5_EventScript_Door + case 5, Route110_TrickHousePuzzle6_EventScript_Door + case 6, Route110_TrickHousePuzzle7_EventScript_Door + case 7, Route110_TrickHousePuzzle8_EventScript_Door end -Route110_TrickHouseEntrance_EventScript_26A289:: @ 826A289 +Route110_TrickHousePuzzle1_EventScript_Door:: @ 826A289 compare VAR_TRICK_HOUSE_PUZZLE_1_STATE, 0 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1 - msgbox Route110_TrickHousePuzzle1_Text_26B98D, MSGBOX_DEFAULT + goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked + msgbox Route110_TrickHousePuzzle1_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT playse SE_PIN setvar VAR_TRICK_HOUSE_PUZZLE_1_STATE, 2 setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0 @@ -614,10 +621,10 @@ Route110_TrickHouseEntrance_EventScript_26A289:: @ 826A289 releaseall end -Route110_TrickHouseEntrance_EventScript_26A2B2:: @ 826A2B2 +Route110_TrickHousePuzzle2_EventScript_Door:: @ 826A2B2 compare VAR_TRICK_HOUSE_PUZZLE_2_STATE, 0 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1 - msgbox Route110_TrickHousePuzzle2_Text_26BCBA, MSGBOX_DEFAULT + goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked + msgbox Route110_TrickHousePuzzle2_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT playse SE_PIN setvar VAR_TRICK_HOUSE_PUZZLE_2_STATE, 2 setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0 @@ -625,10 +632,10 @@ Route110_TrickHouseEntrance_EventScript_26A2B2:: @ 826A2B2 releaseall end -Route110_TrickHouseEntrance_EventScript_26A2DB:: @ 826A2DB +Route110_TrickHousePuzzle3_EventScript_Door:: @ 826A2DB compare VAR_TRICK_HOUSE_PUZZLE_3_STATE, 0 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1 - msgbox Route110_TrickHousePuzzle3_Text_26C609, MSGBOX_DEFAULT + goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked + msgbox Route110_TrickHousePuzzle3_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT playse SE_PIN setvar VAR_TRICK_HOUSE_PUZZLE_3_STATE, 2 setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0 @@ -636,10 +643,10 @@ Route110_TrickHouseEntrance_EventScript_26A2DB:: @ 826A2DB releaseall end -Route110_TrickHouseEntrance_EventScript_26A304:: @ 826A304 +Route110_TrickHousePuzzle4_EventScript_Door:: @ 826A304 compare VAR_TRICK_HOUSE_PUZZLE_4_STATE, 0 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1 - msgbox Route110_TrickHousePuzzle4_Text_26C8C3, MSGBOX_DEFAULT + goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked + msgbox Route110_TrickHousePuzzle4_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT playse SE_PIN setvar VAR_TRICK_HOUSE_PUZZLE_4_STATE, 2 setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0 @@ -647,10 +654,10 @@ Route110_TrickHouseEntrance_EventScript_26A304:: @ 826A304 releaseall end -Route110_TrickHouseEntrance_EventScript_26A32D:: @ 826A32D +Route110_TrickHousePuzzle5_EventScript_Door:: @ 826A32D compare VAR_TRICK_HOUSE_PUZZLE_5_STATE, 0 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1 - msgbox Route110_TrickHousePuzzle5_Text_26D660, MSGBOX_DEFAULT + goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked + msgbox Route110_TrickHousePuzzle5_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT playse SE_PIN setvar VAR_TRICK_HOUSE_PUZZLE_5_STATE, 2 setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0 @@ -658,10 +665,10 @@ Route110_TrickHouseEntrance_EventScript_26A32D:: @ 826A32D releaseall end -Route110_TrickHouseEntrance_EventScript_26A356:: @ 826A356 +Route110_TrickHousePuzzle6_EventScript_Door:: @ 826A356 compare VAR_TRICK_HOUSE_PUZZLE_6_STATE, 0 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1 - msgbox Route110_TrickHousePuzzle6_Text_26DE26, MSGBOX_DEFAULT + goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked + msgbox Route110_TrickHousePuzzle6_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT playse SE_PIN setvar VAR_TRICK_HOUSE_PUZZLE_6_STATE, 2 setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0 @@ -669,10 +676,10 @@ Route110_TrickHouseEntrance_EventScript_26A356:: @ 826A356 releaseall end -Route110_TrickHouseEntrance_EventScript_26A37F:: @ 826A37F +Route110_TrickHousePuzzle7_EventScript_Door:: @ 826A37F compare VAR_TRICK_HOUSE_PUZZLE_7_STATE, 0 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1 - msgbox Route110_TrickHousePuzzle7_EventScript_26E413, MSGBOX_DEFAULT + goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked + msgbox Route110_TrickHousePuzzle7_EventScript_WroteSecretCodeLockOpened, MSGBOX_DEFAULT playse SE_PIN setvar VAR_TRICK_HOUSE_PUZZLE_7_STATE, 2 setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0 @@ -680,10 +687,10 @@ Route110_TrickHouseEntrance_EventScript_26A37F:: @ 826A37F releaseall end -Route110_TrickHouseEntrance_EventScript_26A3A8:: @ 826A3A8 +Route110_TrickHousePuzzle8_EventScript_Door:: @ 826A3A8 compare VAR_TRICK_HOUSE_PUZZLE_8_STATE, 0 - goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1 - msgbox Route110_TrickHousePuzzle8_EventScript_26E864, MSGBOX_DEFAULT + goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked + msgbox Route110_TrickHousePuzzle8_EventScript_WroteSecretCodeLockOpened, MSGBOX_DEFAULT playse SE_PIN setvar VAR_TRICK_HOUSE_PUZZLE_8_STATE, 2 setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0 @@ -691,123 +698,106 @@ Route110_TrickHouseEntrance_EventScript_26A3A8:: @ 826A3A8 releaseall end -Route110_TrickHouseEntrance_EventScript_26A3D1:: @ 826A3D1 - msgbox Route110_TrickHouseEntrance_Text_26AC4F, MSGBOX_DEFAULT +Route110_TrickHousePuzzle_EventScript_DoorLocked:: @ 826A3D1 + msgbox Route110_TrickHouseEntrance_Text_DoorLockedWriteSecretCodeHere, MSGBOX_DEFAULT releaseall end -Route110_TrickHousePuzzle1_EventScript_26A3DB:: @ 826A3DB -Route110_TrickHousePuzzle2_EventScript_26A3DB:: @ 826A3DB -Route110_TrickHousePuzzle3_EventScript_26A3DB:: @ 826A3DB -Route110_TrickHousePuzzle4_EventScript_26A3DB:: @ 826A3DB -Route110_TrickHousePuzzle5_EventScript_26A3DB:: @ 826A3DB -Route110_TrickHousePuzzle6_EventScript_26A3DB:: @ 826A3DB -Route110_TrickHousePuzzle7_EventScript_26A3DB:: @ 826A3DB -Route110_TrickHousePuzzle8_EventScript_26A3DB:: @ 826A3DB - msgbox Route110_TrickHousePuzzle1_Text_26AC2F, MSGBOX_DEFAULT +Route110_TrickHousePuzzle_EventScript_ReadScrollAgain:: @ 826A3DB + msgbox Route110_TrickHousePuzzle_Text_SecretCodeWrittenOnIt, MSGBOX_DEFAULT releaseall end -Route110_TrickHousePuzzle1_EventScript_26A3E5:: @ 826A3E5 -Route110_TrickHousePuzzle2_EventScript_26A3E5:: @ 826A3E5 -Route110_TrickHousePuzzle3_EventScript_26A3E5:: @ 826A3E5 -Route110_TrickHousePuzzle4_EventScript_26A3E5:: @ 826A3E5 -Route110_TrickHousePuzzle5_EventScript_26A3E5:: @ 826A3E5 -Route110_TrickHousePuzzle6_EventScript_26A3E5:: @ 826A3E5 -Route110_TrickHousePuzzle7_EventScript_26A3E5:: @ 826A3E5 -Route110_TrickHousePuzzle8_EventScript_26A3E5:: @ 826A3E5 +Route110_TrickHousePuzzle_EventScript_FoundScroll:: @ 826A3E5 playfanfare MUS_FANFA4 - message Route110_TrickHousePuzzle1_Text_26ABE8 + message Route110_TrickHousePuzzle_Text_FoundAScroll waitfanfare - msgbox Route110_TrickHousePuzzle1_Text_26ABFB, MSGBOX_DEFAULT + msgbox Route110_TrickHousePuzzle_Text_MemorizedSecretCode, MSGBOX_DEFAULT releaseall end -Route110_TrickHouseEntrance_EventScript_26A3F8:: @ 826A3F8 +Route110_TrickHouseEntrance_EventScript_TrickMasterHiding:: @ 826A3F8 lockall - msgbox Route110_TrickHouseEntrance_Text_26A474, MSGBOX_DEFAULT + msgbox Route110_TrickHouseEntrance_Text_YoureBeingWatched, MSGBOX_DEFAULT releaseall compare VAR_TRICK_HOUSE_LEVEL, 0 - call_if_eq Route110_TrickHouseEntrance_EventScript_26A429 + call_if_eq Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle1 compare VAR_TRICK_HOUSE_LEVEL, 1 - call_if_eq Route110_TrickHouseEntrance_EventScript_26A439 + call_if_eq Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle2 compare VAR_TRICK_HOUSE_LEVEL, 2 - call_if_eq Route110_TrickHouseEntrance_EventScript_26A449 - setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_1, 1 + call_if_eq Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle3 + setvar VAR_TRICK_HOUSE_BEING_WATCHED_STATE, 1 end -Route110_TrickHouseEntrance_EventScript_26A429:: @ 826A429 - setvar VAR_0x8004, 6 - setvar VAR_0x8005, 3 - call Route110_TrickHouseEntrance_EventScript_26A459 +Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle1:: @ 826A429 + setvar VAR_0x8004, 6 @ x + setvar VAR_0x8005, 3 @ y + call Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle return -Route110_TrickHouseEntrance_EventScript_26A439:: @ 826A439 - setvar VAR_0x8004, 11 - setvar VAR_0x8005, 5 - call Route110_TrickHouseEntrance_EventScript_26A459 +Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle2:: @ 826A439 + setvar VAR_0x8004, 11 @ x + setvar VAR_0x8005, 5 @ y + call Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle return -Route110_TrickHouseEntrance_EventScript_26A449:: @ 826A449 - setvar VAR_0x8004, 9 - setvar VAR_0x8005, 2 - call Route110_TrickHouseEntrance_EventScript_26A459 +Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle3:: @ 826A449 + setvar VAR_0x8004, 9 @ x + setvar VAR_0x8005, 2 @ y + call Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle return -Route110_TrickHouseEntrance_EventScript_26A459:: @ 826A459 +Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle:: @ 826A459 setvar VAR_0x8006, 0 - setfieldeffectargument 0, VAR_0x8004 - setfieldeffectargument 1, VAR_0x8005 - setfieldeffectargument 2, VAR_0x8006 - dofieldeffect FLDEFF_SPARKLE + dofieldeffectsparkle VAR_0x8004, VAR_0x8005, VAR_0x8006 waitfieldeffect FLDEFF_SPARKLE delay 10 return -Route110_TrickHouseEntrance_Text_26A474: @ 826A474 +Route110_TrickHouseEntrance_Text_YoureBeingWatched: @ 826A474 .string "You're being watched…$" -Route110_TrickHouseEntrance_Text_26A48A: @ 826A48A +Route110_TrickHouseEntrance_Text_ConcealedBeneathDesk: @ 826A48A .string "Hah? Grrr…\p" .string "How did you know I concealed myself\n" .string "beneath this desk? You're sharp!$" -Route110_TrickHouseEntrance_Text_26A4DA: @ 826A4DA +Route110_TrickHouseEntrance_Text_ConcealedBehindTree: @ 826A4DA .string "Hah? Grrr…\p" .string "How did you know I concealed myself\n" .string "behind this tree? You're sharp!$" -Route110_TrickHouseEntrance_Text_26A529: @ 826A529 +Route110_TrickHouseEntrance_Text_ConcealedInDresser: @ 826A529 .string "Hah? Grrr…\p" .string "How did you know I concealed myself\n" .string "in this dresser? You're sharp!$" -Route110_TrickHouseEntrance_Text_26A577: @ 826A577 +Route110_TrickHouseEntrance_Text_ConealedBeyondWindow: @ 826A577 .string "Hah? Grrr…\p" .string "How did you know I concealed myself\n" .string "beyond this window? You're sharp!$" -Route110_TrickHouseEntrance_Text_26A5C8: @ 826A5C8 +Route110_TrickHouseEntrance_Text_ConcealedInPlanter: @ 826A5C8 .string "Hah? Grrr…\p" .string "How did you know I concealed myself\n" .string "in this planter? You're sharp!$" -Route110_TrickHouseEntrance_Text_26A616: @ 826A616 +Route110_TrickHouseEntrance_Text_ConcealedInCupboard: @ 826A616 .string "Hah? Grrr…\p" .string "How did you know I concealed myself\n" .string "in this cupboard? You're sharp!$" -Route110_TrickHouseEntrance_Text_26A665: @ 826A665 +Route110_TrickHouseEntrance_Text_ConcealedBehindWindow: @ 826A665 .string "Hah? Grrr…\p" .string "How did you know I concealed myself\n" .string "behind this window? You're sharp!$" -Route110_TrickHouseEntrance_Text_26A6B6: @ 826A6B6 +Route110_TrickHouseEntrance_Text_ConcealedBeneathCushion: @ 826A6B6 .string "Hah? Grrr…\p" .string "How did you know I concealed myself\n" .string "beneath this cushion? You're sharp!$" -Route110_TrickHouseEntrance_Text_26A709: @ 826A709 +Route110_TrickHouseEntrance_Text_TheyCallMeTrickMaster: @ 826A709 .string "Behold!\p" .string "For I am the greatest living mystery\n" .string "of a man in all of HOENN!\l" @@ -815,7 +805,7 @@ Route110_TrickHouseEntrance_Text_26A709: @ 826A709 .string "The TRICK MASTER!\n" .string "Wahahaha! Glad to meet you!$" -Route110_TrickHouseEntrance_Text_26A78C: @ 826A78C +Route110_TrickHouseEntrance_Text_ComeToChallengeTrickHouse: @ 826A78C .string "You, you've come to challenge\n" .string "my TRICK HOUSE, haven't you?\p" .string "That's why you're here, isn't it?\n" @@ -825,25 +815,25 @@ Route110_TrickHouseEntrance_Text_26A78C: @ 826A78C .string "and let your challenge commence!\p" .string "I shall be waiting in the back!$" -Route110_TrickHouseEntrance_Text_26A878: @ 826A878 +Route110_TrickHouseEntrance_Text_ItsAScroll: @ 826A878 .string "It's a scroll.$" -Route110_TrickHouseEntrance_Text_26A887: @ 826A887 +Route110_TrickHouseEntrance_Text_GoInHoleBehindScroll: @ 826A887 .string "There is a big hole behind the scroll!\p" .string "Want to go in?$" -Route110_TrickHouseEntrance_Text_26A8BD: @ 826A8BD +Route110_TrickHouseEntrance_Text_LeavingOnJourneyNote: @ 826A8BD .string "There is a note affixed to the scroll…\p" .string "“I am leaving on a journey.\n" .string "Don't look for me. TRICK MASTER”$" -Route110_TrickHouseEntrance_Text_26A921: @ 826A921 +Route110_TrickHouseEntrance_Text_NextTimeUseThisTrick: @ 826A921 .string "For the next time, I'll use this trick,\n" .string "and that scheme, and those ruses…\p" .string "Mufufufu… If I may say so, it's\n" .string "brilliantly difficult, even for me!$" -Route110_TrickHouseEntrance_Text_26A9AF: @ 826A9AF +Route110_TrickHouseEntrance_Text_InMidstOfDevisingNewChallenges: @ 826A9AF .string "Hah? What?!\n" .string "Oh, it's you!\p" .string "I'm in the midst of devising new tricky\n" @@ -853,42 +843,42 @@ Route110_TrickHouseEntrance_Text_26A9AF: @ 826A9AF .string "You wouldn't begrudge me that?\l" .string "Come back in a little while!$" -Route110_TrickHouseEntrance_Text_26AA82: @ 826AA82 +Route110_TrickHouseEntrance_Text_YoureHereToAcceptReward: @ 826AA82 .string "Ah, it's you! You're here to accept the\n" .string "reward from before, isn't that right?\l" .string "Yes, right I am!\p" .string "Here!\n" .string "I'll give it to you now!$" -Route110_TrickHouseEntrance_Text_26AB00: @ 826AB00 +Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward: @ 826AB00 .string "Hah?\n" .string "Did you not come to claim your reward?$" -Route110_TrickHouseEntrance_Text_26AB2C: @ 826AB2C +Route110_TrickHouseEntrance_Text_MechadollWhichTent: @ 826AB2C .string "MECHADOLL 5 I AM!\n" .string "IF REWARD IS NOT TAKEN BY YOU,\l" .string "THEN TRICK MASTER YOU CANNOT FOLLOW.\p" .string "RED TENT OR BLUE TENT,\n" .string "WHICH DO YOU PREFER?$" -Route110_TrickHouseEntrance_Text_26ABAE: @ 826ABAE +Route110_TrickHouseEntrance_Text_ThenFarewell: @ 826ABAE .string "THEN FAREWELL.$" -Route110_TrickHouseEntrance_Text_26ABBD: @ 826ABBD +Route110_TrickHouseEntrance_Text_PCFullAgain: @ 826ABBD .string "YOUR PC STATUS: FULL AGAIN.\n" .string "MEAN, YOU ARE.$" -Route110_TrickHousePuzzle1_Text_26ABE8: @ 826ABE8 +Route110_TrickHousePuzzle_Text_FoundAScroll: @ 826ABE8 .string "{PLAYER} found a scroll.$" -Route110_TrickHousePuzzle1_Text_26ABFB: @ 826ABFB +Route110_TrickHousePuzzle_Text_MemorizedSecretCode: @ 826ABFB .string "{PLAYER} memorized the secret code\n" .string "written on the scroll.$" -Route110_TrickHousePuzzle1_Text_26AC2F: @ 826AC2F +Route110_TrickHousePuzzle_Text_SecretCodeWrittenOnIt: @ 826AC2F .string "A secret code is written on it.$" -Route110_TrickHouseEntrance_Text_26AC4F: @ 826AC4F +Route110_TrickHouseEntrance_Text_DoorLockedWriteSecretCodeHere: @ 826AC4F .string "The door is locked.\p" .string "…On closer inspection, this is written\n" .string "on it: “Write the secret code here.”$" diff --git a/data/maps/Route110_TrickHousePuzzle1/map.json b/data/maps/Route110_TrickHousePuzzle1/map.json index 18dc100272..f656b0a48a 100644 --- a/data/maps/Route110_TrickHousePuzzle1/map.json +++ b/data/maps/Route110_TrickHousePuzzle1/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "Route110_TrickHousePuzzle1_EventScript_26B948", + "script": "Route110_TrickHousePuzzle1_EventScript_Sally", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route110_TrickHousePuzzle1_EventScript_26B95F", + "script": "Route110_TrickHousePuzzle1_EventScript_Eddie", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route110_TrickHousePuzzle1_EventScript_26B976", + "script": "Route110_TrickHousePuzzle1_EventScript_Robin", "flag": "0" }, { @@ -241,7 +241,7 @@ "y": 16, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_TrickHousePuzzle1_EventScript_26B92B" + "script": "Route110_TrickHousePuzzle1_EventScript_Scroll" } ] } \ No newline at end of file diff --git a/data/maps/Route110_TrickHousePuzzle1/scripts.inc b/data/maps/Route110_TrickHousePuzzle1/scripts.inc index ef81b03cfa..3797ec29dc 100644 --- a/data/maps/Route110_TrickHousePuzzle1/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle1/scripts.inc @@ -1,79 +1,79 @@ Route110_TrickHousePuzzle1_MapScripts:: @ 826B90F - map_script MAP_SCRIPT_ON_LOAD, Route110_TrickHousePuzzle1_MapScript1_26B915 + map_script MAP_SCRIPT_ON_LOAD, Route110_TrickHousePuzzle1_OnLoad .byte 0 -Route110_TrickHousePuzzle1_MapScript1_26B915: @ 826B915 +Route110_TrickHousePuzzle1_OnLoad: @ 826B915 compare VAR_TRICK_HOUSE_PUZZLE_1_STATE, 2 - goto_if_eq Route110_TrickHousePuzzle1_EventScript_26B921 + goto_if_eq Route110_TrickHousePuzzle1_EventScript_OpenDoor end -Route110_TrickHousePuzzle1_EventScript_26B921:: @ 826B921 +Route110_TrickHousePuzzle1_EventScript_OpenDoor:: @ 826B921 setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0 end -Route110_TrickHousePuzzle1_EventScript_26B92B:: @ 826B92B +Route110_TrickHousePuzzle1_EventScript_Scroll:: @ 826B92B lockall compare VAR_TRICK_HOUSE_PUZZLE_1_STATE, 0 - goto_if_eq Route110_TrickHousePuzzle1_EventScript_26B93D - goto Route110_TrickHousePuzzle1_EventScript_26A3DB + goto_if_eq Route110_TrickHousePuzzle1_EventScript_FoundScroll + goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain end -Route110_TrickHousePuzzle1_EventScript_26B93D:: @ 826B93D +Route110_TrickHousePuzzle1_EventScript_FoundScroll:: @ 826B93D setvar VAR_TRICK_HOUSE_PUZZLE_1_STATE, 1 - goto Route110_TrickHousePuzzle1_EventScript_26A3E5 + goto Route110_TrickHousePuzzle_EventScript_FoundScroll end -Route110_TrickHousePuzzle1_EventScript_26B948:: @ 826B948 - trainerbattle_single TRAINER_SALLY, Route110_TrickHousePuzzle1_Text_26B9FB, Route110_TrickHousePuzzle1_Text_26BA3F - msgbox Route110_TrickHousePuzzle1_Text_26BA57, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle1_EventScript_Sally:: @ 826B948 + trainerbattle_single TRAINER_SALLY, Route110_TrickHousePuzzle1_Text_SallyIntro, Route110_TrickHousePuzzle1_Text_SallyDefeat + msgbox Route110_TrickHousePuzzle1_Text_SallyPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle1_EventScript_26B95F:: @ 826B95F - trainerbattle_single TRAINER_EDDIE, Route110_TrickHousePuzzle1_Text_26BA82, Route110_TrickHousePuzzle1_Text_26BAB0 - msgbox Route110_TrickHousePuzzle1_Text_26BAC3, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle1_EventScript_Eddie:: @ 826B95F + trainerbattle_single TRAINER_EDDIE, Route110_TrickHousePuzzle1_Text_EddieIntro, Route110_TrickHousePuzzle1_Text_EddieDefeat + msgbox Route110_TrickHousePuzzle1_Text_EddiePostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle1_EventScript_26B976:: @ 826B976 - trainerbattle_single TRAINER_ROBIN, Route110_TrickHousePuzzle1_Text_26BB10, Route110_TrickHousePuzzle1_Text_26BB2E - msgbox Route110_TrickHousePuzzle1_Text_26BB52, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle1_EventScript_Robin:: @ 826B976 + trainerbattle_single TRAINER_ROBIN, Route110_TrickHousePuzzle1_Text_RobinIntro, Route110_TrickHousePuzzle1_Text_RobinDefeat + msgbox Route110_TrickHousePuzzle1_Text_RobinPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle1_Text_26B98D:: @ 826B98D +Route110_TrickHousePuzzle1_Text_WroteSecretCodeLockOpened:: @ 826B98D .string "{PLAYER} wrote down the secret code\n" .string "on the door.\p" .string "“TRICK MASTER is fabulous.”\n" .string "… … … … … … … …\p" .string "The lock clicked open!$" -Route110_TrickHousePuzzle1_Text_26B9FB: @ 826B9FB +Route110_TrickHousePuzzle1_Text_SallyIntro: @ 826B9FB .string "I'll hack and slash my way to victory\n" .string "with the CUT we just learned!$" -Route110_TrickHousePuzzle1_Text_26BA3F: @ 826BA3F +Route110_TrickHousePuzzle1_Text_SallyDefeat: @ 826BA3F .string "Why are you so serious?$" -Route110_TrickHousePuzzle1_Text_26BA57: @ 826BA57 +Route110_TrickHousePuzzle1_Text_SallyPostBattle: @ 826BA57 .string "I never get tired of hacking\n" .string "and slashing!$" -Route110_TrickHousePuzzle1_Text_26BA82: @ 826BA82 +Route110_TrickHousePuzzle1_Text_EddieIntro: @ 826BA82 .string "I wandered into this weird house\n" .string "by accident…$" -Route110_TrickHousePuzzle1_Text_26BAB0: @ 826BAB0 +Route110_TrickHousePuzzle1_Text_EddieDefeat: @ 826BAB0 .string "And now I've lost…$" -Route110_TrickHousePuzzle1_Text_26BAC3: @ 826BAC3 +Route110_TrickHousePuzzle1_Text_EddiePostBattle: @ 826BAC3 .string "I lost my way, I lost a battle, and I'm\n" .string "now even more lost… I can't get out…$" -Route110_TrickHousePuzzle1_Text_26BB10: @ 826BB10 +Route110_TrickHousePuzzle1_Text_RobinIntro: @ 826BB10 .string "Just who is the TRICK MASTER?$" -Route110_TrickHousePuzzle1_Text_26BB2E: @ 826BB2E +Route110_TrickHousePuzzle1_Text_RobinDefeat: @ 826BB2E .string "I lost while I was lost in thought!$" -Route110_TrickHousePuzzle1_Text_26BB52: @ 826BB52 +Route110_TrickHousePuzzle1_Text_RobinPostBattle: @ 826BB52 .string "You're strong!\n" .string "Just who are you?$" diff --git a/data/maps/Route110_TrickHousePuzzle2/map.json b/data/maps/Route110_TrickHousePuzzle2/map.json index 3a9ed637df..71b3f8916d 100644 --- a/data/maps/Route110_TrickHousePuzzle2/map.json +++ b/data/maps/Route110_TrickHousePuzzle2/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_TrickHousePuzzle2_EventScript_26BC75", + "script": "Route110_TrickHousePuzzle2_EventScript_Ted", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route110_TrickHousePuzzle2_EventScript_26BC8C", + "script": "Route110_TrickHousePuzzle2_EventScript_Paul", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route110_TrickHousePuzzle2_EventScript_26BCA3", + "script": "Route110_TrickHousePuzzle2_EventScript_Georgia", "flag": "0" }, { @@ -111,7 +111,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "Route110_TrickHousePuzzle2_EventScript_26BBDD" + "script": "Route110_TrickHousePuzzle2_EventScript_Button1" }, { "type": "trigger", @@ -120,7 +120,7 @@ "elevation": 0, "var": "VAR_TEMP_2", "var_value": "0", - "script": "Route110_TrickHousePuzzle2_EventScript_26BBF0" + "script": "Route110_TrickHousePuzzle2_EventScript_Button2" }, { "type": "trigger", @@ -129,7 +129,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route110_TrickHousePuzzle2_EventScript_26BC03" + "script": "Route110_TrickHousePuzzle2_EventScript_Button3" }, { "type": "trigger", @@ -138,7 +138,7 @@ "elevation": 3, "var": "VAR_TEMP_4", "var_value": "0", - "script": "Route110_TrickHousePuzzle2_EventScript_26BC16" + "script": "Route110_TrickHousePuzzle2_EventScript_Button4" } ], "bg_events": [ @@ -148,7 +148,7 @@ "y": 14, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_TrickHousePuzzle2_EventScript_26BBC0" + "script": "Route110_TrickHousePuzzle2_EventScript_Scroll" } ] } \ No newline at end of file diff --git a/data/maps/Route110_TrickHousePuzzle2/scripts.inc b/data/maps/Route110_TrickHousePuzzle2/scripts.inc index 3346376241..2b65ca95cd 100644 --- a/data/maps/Route110_TrickHousePuzzle2/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle2/scripts.inc @@ -1,17 +1,17 @@ Route110_TrickHousePuzzle2_MapScripts:: @ 826BB73 - map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHousePuzzle2_MapScript1_26BB7E + map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHousePuzzle2_OnResume map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle2_OnTransition .byte 0 -Route110_TrickHousePuzzle2_MapScript1_26BB7E: @ 826BB7E +Route110_TrickHousePuzzle2_OnResume: @ 826BB7E compare VAR_TEMP_1, 1 - call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC29 + call_if_eq Route110_TrickHousePuzzle2_EventScript_PressButton1 compare VAR_TEMP_2, 1 - call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC3C + call_if_eq Route110_TrickHousePuzzle2_EventScript_PressButton2 compare VAR_TEMP_3, 1 - call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC4F + call_if_eq Route110_TrickHousePuzzle2_EventScript_PressButton3 compare VAR_TEMP_4, 1 - call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC62 + call_if_eq Route110_TrickHousePuzzle2_EventScript_PressButton4 end Route110_TrickHousePuzzle2_OnTransition: @ 826BBAB @@ -21,126 +21,126 @@ Route110_TrickHousePuzzle2_OnTransition: @ 826BBAB setvar VAR_TEMP_4, 0 end -Route110_TrickHousePuzzle2_EventScript_26BBC0:: @ 826BBC0 +Route110_TrickHousePuzzle2_EventScript_Scroll:: @ 826BBC0 lockall compare VAR_TRICK_HOUSE_PUZZLE_2_STATE, 0 - goto_if_eq Route110_TrickHousePuzzle2_EventScript_26BBD2 - goto Route110_TrickHousePuzzle2_EventScript_26A3DB + goto_if_eq Route110_TrickHousePuzzle2_EventScript_FoundScroll + goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain end -Route110_TrickHousePuzzle2_EventScript_26BBD2:: @ 826BBD2 +Route110_TrickHousePuzzle2_EventScript_FoundScroll:: @ 826BBD2 setvar VAR_TRICK_HOUSE_PUZZLE_2_STATE, 1 - goto Route110_TrickHousePuzzle2_EventScript_26A3E5 + goto Route110_TrickHousePuzzle_EventScript_FoundScroll end -Route110_TrickHousePuzzle2_EventScript_26BBDD:: @ 826BBDD +Route110_TrickHousePuzzle2_EventScript_Button1:: @ 826BBDD lockall setvar VAR_TEMP_1, 1 playse SE_PIN - call Route110_TrickHousePuzzle2_EventScript_26BC29 + call Route110_TrickHousePuzzle2_EventScript_PressButton1 special DrawWholeMapView releaseall end -Route110_TrickHousePuzzle2_EventScript_26BBF0:: @ 826BBF0 +Route110_TrickHousePuzzle2_EventScript_Button2:: @ 826BBF0 lockall setvar VAR_TEMP_2, 1 playse SE_PIN - call Route110_TrickHousePuzzle2_EventScript_26BC3C + call Route110_TrickHousePuzzle2_EventScript_PressButton2 special DrawWholeMapView releaseall end -Route110_TrickHousePuzzle2_EventScript_26BC03:: @ 826BC03 +Route110_TrickHousePuzzle2_EventScript_Button3:: @ 826BC03 lockall setvar VAR_TEMP_3, 1 playse SE_PIN - call Route110_TrickHousePuzzle2_EventScript_26BC4F + call Route110_TrickHousePuzzle2_EventScript_PressButton3 special DrawWholeMapView releaseall end -Route110_TrickHousePuzzle2_EventScript_26BC16:: @ 826BC16 +Route110_TrickHousePuzzle2_EventScript_Button4:: @ 826BC16 lockall setvar VAR_TEMP_4, 1 playse SE_PIN - call Route110_TrickHousePuzzle2_EventScript_26BC62 + call Route110_TrickHousePuzzle2_EventScript_PressButton4 special DrawWholeMapView releaseall end -Route110_TrickHousePuzzle2_EventScript_26BC29:: @ 826BC29 +Route110_TrickHousePuzzle2_EventScript_PressButton1:: @ 826BC29 setmetatile 11, 12, METATILE_TrickHousePuzzle_Button_Pressed, 0 setmetatile 1, 13, METATILE_TrickHousePuzzle_Door_Shuttered, 0 return -Route110_TrickHousePuzzle2_EventScript_26BC3C:: @ 826BC3C +Route110_TrickHousePuzzle2_EventScript_PressButton2:: @ 826BC3C setmetatile 0, 4, METATILE_TrickHousePuzzle_Button_Pressed, 0 setmetatile 5, 6, METATILE_TrickHousePuzzle_Door_Shuttered, 0 return -Route110_TrickHousePuzzle2_EventScript_26BC4F:: @ 826BC4F +Route110_TrickHousePuzzle2_EventScript_PressButton3:: @ 826BC4F setmetatile 14, 5, METATILE_TrickHousePuzzle_Button_Pressed, 0 setmetatile 7, 15, METATILE_TrickHousePuzzle_Door_Shuttered, 0 return -Route110_TrickHousePuzzle2_EventScript_26BC62:: @ 826BC62 +Route110_TrickHousePuzzle2_EventScript_PressButton4:: @ 826BC62 setmetatile 7, 11, METATILE_TrickHousePuzzle_Button_Pressed, 0 setmetatile 14, 12, METATILE_TrickHousePuzzle_Door_Shuttered, 0 return -Route110_TrickHousePuzzle2_EventScript_26BC75:: @ 826BC75 - trainerbattle_single TRAINER_TED, Route110_TrickHousePuzzle2_Text_26BD25, Route110_TrickHousePuzzle2_Text_26BD45 - msgbox Route110_TrickHousePuzzle2_Text_26BD70, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle2_EventScript_Ted:: @ 826BC75 + trainerbattle_single TRAINER_TED, Route110_TrickHousePuzzle2_Text_TedIntro, Route110_TrickHousePuzzle2_Text_TedDefeat + msgbox Route110_TrickHousePuzzle2_Text_TedPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle2_EventScript_26BC8C:: @ 826BC8C - trainerbattle_single TRAINER_PAUL, Route110_TrickHousePuzzle2_Text_26BD9E, Route110_TrickHousePuzzle2_Text_26BDCF - msgbox Route110_TrickHousePuzzle2_Text_26BDEC, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle2_EventScript_Paul:: @ 826BC8C + trainerbattle_single TRAINER_PAUL, Route110_TrickHousePuzzle2_Text_PaulIntro, Route110_TrickHousePuzzle2_Text_PaulDefeat + msgbox Route110_TrickHousePuzzle2_Text_PaulPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle2_EventScript_26BCA3:: @ 826BCA3 - trainerbattle_single TRAINER_GEORGIA, Route110_TrickHousePuzzle2_Text_26BE31, Route110_TrickHousePuzzle2_Text_26BE77 - msgbox Route110_TrickHousePuzzle2_Text_26BE97, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle2_EventScript_Georgia:: @ 826BCA3 + trainerbattle_single TRAINER_GEORGIA, Route110_TrickHousePuzzle2_Text_GeorgiaIntro, Route110_TrickHousePuzzle2_Text_GeorgiaDefeat + msgbox Route110_TrickHousePuzzle2_Text_GeorgiaPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle2_Text_26BCBA: @ 826BCBA +Route110_TrickHousePuzzle2_Text_WroteSecretCodeLockOpened: @ 826BCBA .string "{PLAYER} wrote down the secret code\n" .string "on the door.\p" .string "“TRICK MASTER is smart.”\n" .string "… … … … … … … …\p" .string "The lock clicked open!$" -Route110_TrickHousePuzzle2_Text_26BD25: @ 826BD25 +Route110_TrickHousePuzzle2_Text_TedIntro: @ 826BD25 .string "Which switch closes which hole?$" -Route110_TrickHousePuzzle2_Text_26BD45: @ 826BD45 +Route110_TrickHousePuzzle2_Text_TedDefeat: @ 826BD45 .string "After that battle, I'm even more\n" .string "confused!$" -Route110_TrickHousePuzzle2_Text_26BD70: @ 826BD70 +Route110_TrickHousePuzzle2_Text_TedPostBattle: @ 826BD70 .string "Can I get you to push all the buttons\n" .string "for me?$" -Route110_TrickHousePuzzle2_Text_26BD9E: @ 826BD9E +Route110_TrickHousePuzzle2_Text_PaulIntro: @ 826BD9E .string "Oh! You're on your second TRICK HOUSE\n" .string "challenge!$" -Route110_TrickHousePuzzle2_Text_26BDCF: @ 826BDCF +Route110_TrickHousePuzzle2_Text_PaulDefeat: @ 826BDCF .string "You're good at battling too?$" -Route110_TrickHousePuzzle2_Text_26BDEC: @ 826BDEC +Route110_TrickHousePuzzle2_Text_PaulPostBattle: @ 826BDEC .string "The TRICK MASTER rigged all the tricks\n" .string "in this house all by himself.$" -Route110_TrickHousePuzzle2_Text_26BE31: @ 826BE31 +Route110_TrickHousePuzzle2_Text_GeorgiaIntro: @ 826BE31 .string "I want to make my own GYM one day.\n" .string "So, I'm studying how to set traps.$" -Route110_TrickHousePuzzle2_Text_26BE77: @ 826BE77 +Route110_TrickHousePuzzle2_Text_GeorgiaDefeat: @ 826BE77 .string "I didn't study battling enough!$" -Route110_TrickHousePuzzle2_Text_26BE97: @ 826BE97 +Route110_TrickHousePuzzle2_Text_GeorgiaPostBattle: @ 826BE97 .string "You're strong, aren't you?\n" .string "Maybe even enough to be a GYM LEADER!$" diff --git a/data/maps/Route110_TrickHousePuzzle3/map.json b/data/maps/Route110_TrickHousePuzzle3/map.json index a37498fd29..612edc6bfa 100644 --- a/data/maps/Route110_TrickHousePuzzle3/map.json +++ b/data/maps/Route110_TrickHousePuzzle3/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route110_TrickHousePuzzle3_EventScript_26C5C4", + "script": "Route110_TrickHousePuzzle3_EventScript_Justin", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_TrickHousePuzzle3_EventScript_26C5DB", + "script": "Route110_TrickHousePuzzle3_EventScript_Martha", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_TrickHousePuzzle3_EventScript_26C5F2", + "script": "Route110_TrickHousePuzzle3_EventScript_Alan", "flag": "0" }, { @@ -137,7 +137,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "Route110_TrickHousePuzzle3_EventScript_26C4CD" + "script": "Route110_TrickHousePuzzle3_EventScript_Button1" }, { "type": "trigger", @@ -146,7 +146,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "Route110_TrickHousePuzzle3_EventScript_26C4D9" + "script": "Route110_TrickHousePuzzle3_EventScript_Button2" }, { "type": "trigger", @@ -155,7 +155,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route110_TrickHousePuzzle3_EventScript_26C4E5" + "script": "Route110_TrickHousePuzzle3_EventScript_Button3" }, { "type": "trigger", @@ -164,7 +164,7 @@ "elevation": 3, "var": "VAR_TEMP_4", "var_value": "0", - "script": "Route110_TrickHousePuzzle3_EventScript_26C4F1" + "script": "Route110_TrickHousePuzzle3_EventScript_Button4" } ], "bg_events": [ @@ -174,7 +174,7 @@ "y": 14, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_TrickHousePuzzle3_EventScript_26C5A7" + "script": "Route110_TrickHousePuzzle3_EventScript_Scroll" } ] } \ No newline at end of file diff --git a/data/maps/Route110_TrickHousePuzzle3/scripts.inc b/data/maps/Route110_TrickHousePuzzle3/scripts.inc index dfae2d359c..ddad0d5493 100644 --- a/data/maps/Route110_TrickHousePuzzle3/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle3/scripts.inc @@ -1,14 +1,14 @@ Route110_TrickHousePuzzle3_MapScripts:: @ 826BED8 - map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHousePuzzle3_MapScript1_26BEE3 + map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHousePuzzle3_OnResume map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle3_OnTransition .byte 0 -Route110_TrickHousePuzzle3_MapScript1_26BEE3: @ 826BEE3 - call Route110_TrickHousePuzzle3_EventScript_26BF1E +Route110_TrickHousePuzzle3_OnResume: @ 826BEE3 + call Route110_TrickHousePuzzle3_EventScript_UpdateButtonMetatiles compare VAR_TEMP_9, 0 - call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF97 + call_if_eq Route110_TrickHousePuzzle3_EventScript_SetDoorsState0 compare VAR_TEMP_9, 1 - call_if_eq Route110_TrickHousePuzzle3_EventScript_26C232 + call_if_eq Route110_TrickHousePuzzle3_EventScript_SetDoorsState1 end Route110_TrickHousePuzzle3_OnTransition: @ 826BEFF @@ -20,38 +20,38 @@ Route110_TrickHousePuzzle3_OnTransition: @ 826BEFF setvar VAR_TEMP_9, 0 end -Route110_TrickHousePuzzle3_EventScript_26BF1E:: @ 826BF1E +Route110_TrickHousePuzzle3_EventScript_UpdateButtonMetatiles:: @ 826BF1E setmetatile 4, 14, METATILE_TrickHousePuzzle_Button_Up, 0 setmetatile 3, 11, METATILE_TrickHousePuzzle_Button_Up, 0 setmetatile 12, 5, METATILE_TrickHousePuzzle_Button_Up, 0 setmetatile 8, 2, METATILE_TrickHousePuzzle_Button_Up, 0 compare VAR_TEMP_8, 1 - call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF6F + call_if_eq Route110_TrickHousePuzzle3_EventScript_PressedButton1Metatile compare VAR_TEMP_8, 2 - call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF79 + call_if_eq Route110_TrickHousePuzzle3_EventScript_PressedButton2Metatile compare VAR_TEMP_8, 3 - call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF83 + call_if_eq Route110_TrickHousePuzzle3_EventScript_PressedButton3Metatile compare VAR_TEMP_8, 4 - call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF8D + call_if_eq Route110_TrickHousePuzzle3_EventScript_PressedButton4Metatile return -Route110_TrickHousePuzzle3_EventScript_26BF6F:: @ 826BF6F +Route110_TrickHousePuzzle3_EventScript_PressedButton1Metatile:: @ 826BF6F setmetatile 4, 14, METATILE_TrickHousePuzzle_Button_Pressed, 0 return -Route110_TrickHousePuzzle3_EventScript_26BF79:: @ 826BF79 +Route110_TrickHousePuzzle3_EventScript_PressedButton2Metatile:: @ 826BF79 setmetatile 3, 11, METATILE_TrickHousePuzzle_Button_Pressed, 0 return -Route110_TrickHousePuzzle3_EventScript_26BF83:: @ 826BF83 +Route110_TrickHousePuzzle3_EventScript_PressedButton3Metatile:: @ 826BF83 setmetatile 12, 5, METATILE_TrickHousePuzzle_Button_Pressed, 0 return -Route110_TrickHousePuzzle3_EventScript_26BF8D:: @ 826BF8D +Route110_TrickHousePuzzle3_EventScript_PressedButton4Metatile:: @ 826BF8D setmetatile 8, 2, METATILE_TrickHousePuzzle_Button_Pressed, 0 return -Route110_TrickHousePuzzle3_EventScript_26BF97:: @ 826BF97 +Route110_TrickHousePuzzle3_EventScript_SetDoorsState0:: @ 826BF97 setmetatile 1, 6, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile0, 0 setmetatile 2, 6, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile1, 0 setmetatile 1, 7, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile2, 0 @@ -128,7 +128,7 @@ Route110_TrickHousePuzzle3_EventScript_26BF97:: @ 826BF97 setmetatile 9, 5, METATILE_TrickHousePuzzle_RedDoorV_Open1, 1 return -Route110_TrickHousePuzzle3_EventScript_26C232:: @ 826C232 +Route110_TrickHousePuzzle3_EventScript_SetDoorsState1:: @ 826C232 setmetatile 1, 6, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile0, 0 setmetatile 2, 6, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile1, 0 setmetatile 1, 7, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile2, 1 @@ -205,155 +205,155 @@ Route110_TrickHousePuzzle3_EventScript_26C232:: @ 826C232 setmetatile 9, 5, METATILE_TrickHousePuzzle_Floor_ShadowTop_Alt, 0 return -Route110_TrickHousePuzzle3_EventScript_26C4CD:: @ 826C4CD +Route110_TrickHousePuzzle3_EventScript_Button1:: @ 826C4CD lockall setvar VAR_TEMP_8, 1 - goto Route110_TrickHousePuzzle3_EventScript_26C4FD + goto Route110_TrickHousePuzzle3_EventScript_PressButton end -Route110_TrickHousePuzzle3_EventScript_26C4D9:: @ 826C4D9 +Route110_TrickHousePuzzle3_EventScript_Button2:: @ 826C4D9 lockall setvar VAR_TEMP_8, 2 - goto Route110_TrickHousePuzzle3_EventScript_26C4FD + goto Route110_TrickHousePuzzle3_EventScript_PressButton end -Route110_TrickHousePuzzle3_EventScript_26C4E5:: @ 826C4E5 +Route110_TrickHousePuzzle3_EventScript_Button3:: @ 826C4E5 lockall setvar VAR_TEMP_8, 3 - goto Route110_TrickHousePuzzle3_EventScript_26C4FD + goto Route110_TrickHousePuzzle3_EventScript_PressButton end -Route110_TrickHousePuzzle3_EventScript_26C4F1:: @ 826C4F1 +Route110_TrickHousePuzzle3_EventScript_Button4:: @ 826C4F1 lockall setvar VAR_TEMP_8, 4 - goto Route110_TrickHousePuzzle3_EventScript_26C4FD + goto Route110_TrickHousePuzzle3_EventScript_PressButton end -Route110_TrickHousePuzzle3_EventScript_26C4FD:: @ 826C4FD - call Route110_TrickHousePuzzle3_EventScript_26C510 +Route110_TrickHousePuzzle3_EventScript_PressButton:: @ 826C4FD + call Route110_TrickHousePuzzle3_EventScript_SetButton playse SE_PIN - call Route110_TrickHousePuzzle3_EventScript_26BF1E - goto Route110_TrickHousePuzzle3_EventScript_26C569 + call Route110_TrickHousePuzzle3_EventScript_UpdateButtonMetatiles + goto Route110_TrickHousePuzzle3_EventScript_AlternateDoors end -Route110_TrickHousePuzzle3_EventScript_26C510:: @ 826C510 +Route110_TrickHousePuzzle3_EventScript_SetButton:: @ 826C510 setvar VAR_TEMP_1, 0 setvar VAR_TEMP_2, 0 setvar VAR_TEMP_3, 0 setvar VAR_TEMP_4, 0 compare VAR_TEMP_8, 1 - call_if_eq Route110_TrickHousePuzzle3_EventScript_26C551 + call_if_eq Route110_TrickHousePuzzle3_EventScript_SetButton1 compare VAR_TEMP_8, 2 - call_if_eq Route110_TrickHousePuzzle3_EventScript_26C557 + call_if_eq Route110_TrickHousePuzzle3_EventScript_SetButton2 compare VAR_TEMP_8, 3 - call_if_eq Route110_TrickHousePuzzle3_EventScript_26C55D + call_if_eq Route110_TrickHousePuzzle3_EventScript_SetButton3 compare VAR_TEMP_8, 4 - call_if_eq Route110_TrickHousePuzzle3_EventScript_26C563 + call_if_eq Route110_TrickHousePuzzle3_EventScript_SetButton4 return -Route110_TrickHousePuzzle3_EventScript_26C551:: @ 826C551 +Route110_TrickHousePuzzle3_EventScript_SetButton1:: @ 826C551 setvar VAR_TEMP_1, 1 return -Route110_TrickHousePuzzle3_EventScript_26C557:: @ 826C557 +Route110_TrickHousePuzzle3_EventScript_SetButton2:: @ 826C557 setvar VAR_TEMP_2, 1 return -Route110_TrickHousePuzzle3_EventScript_26C55D:: @ 826C55D +Route110_TrickHousePuzzle3_EventScript_SetButton3:: @ 826C55D setvar VAR_TEMP_3, 1 return -Route110_TrickHousePuzzle3_EventScript_26C563:: @ 826C563 +Route110_TrickHousePuzzle3_EventScript_SetButton4:: @ 826C563 setvar VAR_TEMP_4, 1 return -Route110_TrickHousePuzzle3_EventScript_26C569:: @ 826C569 +Route110_TrickHousePuzzle3_EventScript_AlternateDoors:: @ 826C569 compare VAR_TEMP_9, 1 - call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF97 + call_if_eq Route110_TrickHousePuzzle3_EventScript_SetDoorsState0 compare VAR_TEMP_9, 0 - call_if_eq Route110_TrickHousePuzzle3_EventScript_26C232 + call_if_eq Route110_TrickHousePuzzle3_EventScript_SetDoorsState1 special DrawWholeMapView compare VAR_TEMP_9, 1 - goto_if_eq Route110_TrickHousePuzzle3_EventScript_26C599 + goto_if_eq Route110_TrickHousePuzzle3_EventScript_ClearAltDoorState compare VAR_TEMP_9, 0 - goto_if_eq Route110_TrickHousePuzzle3_EventScript_26C5A0 + goto_if_eq Route110_TrickHousePuzzle3_EventScript_SetAltDoorState end -Route110_TrickHousePuzzle3_EventScript_26C599:: @ 826C599 +Route110_TrickHousePuzzle3_EventScript_ClearAltDoorState:: @ 826C599 setvar VAR_TEMP_9, 0 releaseall end -Route110_TrickHousePuzzle3_EventScript_26C5A0:: @ 826C5A0 +Route110_TrickHousePuzzle3_EventScript_SetAltDoorState:: @ 826C5A0 setvar VAR_TEMP_9, 1 releaseall end -Route110_TrickHousePuzzle3_EventScript_26C5A7:: @ 826C5A7 +Route110_TrickHousePuzzle3_EventScript_Scroll:: @ 826C5A7 lockall compare VAR_TRICK_HOUSE_PUZZLE_3_STATE, 0 - goto_if_eq Route110_TrickHousePuzzle3_EventScript_26C5B9 - goto Route110_TrickHousePuzzle3_EventScript_26A3DB + goto_if_eq Route110_TrickHousePuzzle3_EventScript_FoundScroll + goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain end -Route110_TrickHousePuzzle3_EventScript_26C5B9:: @ 826C5B9 +Route110_TrickHousePuzzle3_EventScript_FoundScroll:: @ 826C5B9 setvar VAR_TRICK_HOUSE_PUZZLE_3_STATE, 1 - goto Route110_TrickHousePuzzle3_EventScript_26A3E5 + goto Route110_TrickHousePuzzle_EventScript_FoundScroll end -Route110_TrickHousePuzzle3_EventScript_26C5C4:: @ 826C5C4 - trainerbattle_single TRAINER_JUSTIN, Route110_TrickHousePuzzle3_Text_26C676, Route110_TrickHousePuzzle3_Text_26C69D - msgbox Route110_TrickHousePuzzle3_Text_26C6E6, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle3_EventScript_Justin:: @ 826C5C4 + trainerbattle_single TRAINER_JUSTIN, Route110_TrickHousePuzzle3_Text_JustinIntro, Route110_TrickHousePuzzle3_Text_JustinDefeat + msgbox Route110_TrickHousePuzzle3_Text_JustinPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle3_EventScript_26C5DB:: @ 826C5DB - trainerbattle_single TRAINER_MARTHA, Route110_TrickHousePuzzle3_Text_26C726, Route110_TrickHousePuzzle3_Text_26C763 - msgbox Route110_TrickHousePuzzle3_Text_26C776, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle3_EventScript_Martha:: @ 826C5DB + trainerbattle_single TRAINER_MARTHA, Route110_TrickHousePuzzle3_Text_MarthaIntro, Route110_TrickHousePuzzle3_Text_MarthaDefeat + msgbox Route110_TrickHousePuzzle3_Text_MarthaPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle3_EventScript_26C5F2:: @ 826C5F2 - trainerbattle_single TRAINER_ALAN, Route110_TrickHousePuzzle3_Text_26C7AA, Route110_TrickHousePuzzle3_Text_26C7EC - msgbox Route110_TrickHousePuzzle3_Text_26C80C, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle3_EventScript_Alan:: @ 826C5F2 + trainerbattle_single TRAINER_ALAN, Route110_TrickHousePuzzle3_Text_AlanIntro, Route110_TrickHousePuzzle3_Text_AlanDefeat + msgbox Route110_TrickHousePuzzle3_Text_AlanPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle3_Text_26C609: @ 826C609 +Route110_TrickHousePuzzle3_Text_WroteSecretCodeLockOpened: @ 826C609 .string "{PLAYER} wrote down the secret code\n" .string "on the door.\p" .string "“TRICK MASTER is coveted.”\n" .string "… … … … … … … …\p" .string "The lock clicked open!$" -Route110_TrickHousePuzzle3_Text_26C676: @ 826C676 +Route110_TrickHousePuzzle3_Text_JustinIntro: @ 826C676 .string "I keep coming back to this same place!$" -Route110_TrickHousePuzzle3_Text_26C69D: @ 826C69D +Route110_TrickHousePuzzle3_Text_JustinDefeat: @ 826C69D .string "I'm already having trouble, and then\n" .string "you have to beat me? It's not fair!$" -Route110_TrickHousePuzzle3_Text_26C6E6: @ 826C6E6 +Route110_TrickHousePuzzle3_Text_JustinPostBattle: @ 826C6E6 .string "It's full of doors here!\n" .string "It's too small and dark in here! Help!$" -Route110_TrickHousePuzzle3_Text_26C726: @ 826C726 +Route110_TrickHousePuzzle3_Text_MarthaIntro: @ 826C726 .string "I don't know what's going on here.\n" .string "I'm starting to feel sad…$" -Route110_TrickHousePuzzle3_Text_26C763: @ 826C763 +Route110_TrickHousePuzzle3_Text_MarthaDefeat: @ 826C763 .string "You… You're awful!$" -Route110_TrickHousePuzzle3_Text_26C776: @ 826C776 +Route110_TrickHousePuzzle3_Text_MarthaPostBattle: @ 826C776 .string "I know I'm weak!\n" .string "And, I have no sense of direction!$" -Route110_TrickHousePuzzle3_Text_26C7AA: @ 826C7AA +Route110_TrickHousePuzzle3_Text_AlanIntro: @ 826C7AA .string "I don't get it. What would anyone want\n" .string "with a house this bizarre?$" -Route110_TrickHousePuzzle3_Text_26C7EC: @ 826C7EC +Route110_TrickHousePuzzle3_Text_AlanDefeat: @ 826C7EC .string "I don't get it.\n" .string "How did I lose?$" -Route110_TrickHousePuzzle3_Text_26C80C: @ 826C80C +Route110_TrickHousePuzzle3_Text_AlanPostBattle: @ 826C80C .string "I don't get it.\n" .string "How many traps are in this house?\p" .string "You may be the one to solve that.$" diff --git a/data/maps/Route110_TrickHousePuzzle4/map.json b/data/maps/Route110_TrickHousePuzzle4/map.json index f77fa9b22d..26a58166f2 100644 --- a/data/maps/Route110_TrickHousePuzzle4/map.json +++ b/data/maps/Route110_TrickHousePuzzle4/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_TrickHousePuzzle4_EventScript_26C87E", + "script": "Route110_TrickHousePuzzle4_EventScript_Cora", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route110_TrickHousePuzzle4_EventScript_26C8AC", + "script": "Route110_TrickHousePuzzle4_EventScript_Paula", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route110_TrickHousePuzzle4_EventScript_26C895", + "script": "Route110_TrickHousePuzzle4_EventScript_Yuji", "flag": "0" }, { @@ -228,7 +228,7 @@ "y": 13, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_TrickHousePuzzle4_EventScript_26C861" + "script": "Route110_TrickHousePuzzle4_EventScript_Scroll" } ] } \ No newline at end of file diff --git a/data/maps/Route110_TrickHousePuzzle4/scripts.inc b/data/maps/Route110_TrickHousePuzzle4/scripts.inc index fcb10b3abc..44610a10f7 100644 --- a/data/maps/Route110_TrickHousePuzzle4/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle4/scripts.inc @@ -1,71 +1,71 @@ Route110_TrickHousePuzzle4_MapScripts:: @ 826C860 .byte 0 -Route110_TrickHousePuzzle4_EventScript_26C861:: @ 826C861 +Route110_TrickHousePuzzle4_EventScript_Scroll:: @ 826C861 lockall compare VAR_TRICK_HOUSE_PUZZLE_4_STATE, 0 - goto_if_eq Route110_TrickHousePuzzle4_EventScript_26C873 - goto Route110_TrickHousePuzzle4_EventScript_26A3DB + goto_if_eq Route110_TrickHousePuzzle4_EventScript_FoundScroll + goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain end -Route110_TrickHousePuzzle4_EventScript_26C873:: @ 826C873 +Route110_TrickHousePuzzle4_EventScript_FoundScroll:: @ 826C873 setvar VAR_TRICK_HOUSE_PUZZLE_4_STATE, 1 - goto Route110_TrickHousePuzzle4_EventScript_26A3E5 + goto Route110_TrickHousePuzzle_EventScript_FoundScroll end -Route110_TrickHousePuzzle4_EventScript_26C87E:: @ 826C87E - trainerbattle_single TRAINER_CORA, Route110_TrickHousePuzzle4_Text_26C92D, Route110_TrickHousePuzzle4_Text_26C96E - msgbox Route110_TrickHousePuzzle4_Text_26C9A2, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle4_EventScript_Cora:: @ 826C87E + trainerbattle_single TRAINER_CORA, Route110_TrickHousePuzzle4_Text_CoraIntro, Route110_TrickHousePuzzle4_Text_CoraDefeat + msgbox Route110_TrickHousePuzzle4_Text_CoraPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle4_EventScript_26C895:: @ 826C895 - trainerbattle_single TRAINER_YUJI, Route110_TrickHousePuzzle4_Text_26C9E4, Route110_TrickHousePuzzle4_Text_26CA20 - msgbox Route110_TrickHousePuzzle4_Text_26CA53, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle4_EventScript_Yuji:: @ 826C895 + trainerbattle_single TRAINER_YUJI, Route110_TrickHousePuzzle4_Text_YujiIntro, Route110_TrickHousePuzzle4_Text_YujiDefeat + msgbox Route110_TrickHousePuzzle4_Text_YujiPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle4_EventScript_26C8AC:: @ 826C8AC - trainerbattle_single TRAINER_PAULA, Route110_TrickHousePuzzle4_Text_26CA9C, Route110_TrickHousePuzzle4_Text_26CACB - msgbox Route110_TrickHousePuzzle4_Text_26CAD1, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle4_EventScript_Paula:: @ 826C8AC + trainerbattle_single TRAINER_PAULA, Route110_TrickHousePuzzle4_Text_PaulaIntro, Route110_TrickHousePuzzle4_Text_PaulaDefeat + msgbox Route110_TrickHousePuzzle4_Text_PaulaPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle4_Text_26C8C3: @ 826C8C3 +Route110_TrickHousePuzzle4_Text_WroteSecretCodeLockOpened: @ 826C8C3 .string "{PLAYER} wrote down the secret code\n" .string "on the door.\p" .string "“TRICK MASTER is cool.”\n" .string "… … … … … … … …\p" .string "The lock clicked open!$" -Route110_TrickHousePuzzle4_Text_26C92D: @ 826C92D +Route110_TrickHousePuzzle4_Text_CoraIntro: @ 826C92D .string "It's too much bother to think this out.\n" .string "I only wanted to battle!$" -Route110_TrickHousePuzzle4_Text_26C96E: @ 826C96E +Route110_TrickHousePuzzle4_Text_CoraDefeat: @ 826C96E .string "Even though I lost, I still like battling\n" .string "the best!$" -Route110_TrickHousePuzzle4_Text_26C9A2: @ 826C9A2 +Route110_TrickHousePuzzle4_Text_CoraPostBattle: @ 826C9A2 .string "Wouldn't you agree? You would go\n" .string "anywhere if TRAINERS were there.$" -Route110_TrickHousePuzzle4_Text_26C9E4: @ 826C9E4 +Route110_TrickHousePuzzle4_Text_YujiIntro: @ 826C9E4 .string "Heh! Boulders like this, I can brush\n" .string "aside with one finger!$" -Route110_TrickHousePuzzle4_Text_26CA20: @ 826CA20 +Route110_TrickHousePuzzle4_Text_YujiDefeat: @ 826CA20 .string "I can push boulders, but I can't solve\n" .string "the puzzle…$" -Route110_TrickHousePuzzle4_Text_26CA53: @ 826CA53 +Route110_TrickHousePuzzle4_Text_YujiPostBattle: @ 826CA53 .string "It's not good enough to be brawny…\n" .string "You have to use your head. Be brainy!$" -Route110_TrickHousePuzzle4_Text_26CA9C: @ 826CA9C +Route110_TrickHousePuzzle4_Text_PaulaIntro: @ 826CA9C .string "The TRICK HOUSE is getting trickier,\n" .string "isn't it?$" -Route110_TrickHousePuzzle4_Text_26CACB: @ 826CACB +Route110_TrickHousePuzzle4_Text_PaulaDefeat: @ 826CACB .string "Aaak!$" -Route110_TrickHousePuzzle4_Text_26CAD1: @ 826CAD1 +Route110_TrickHousePuzzle4_Text_PaulaPostBattle: @ 826CAD1 .string "Has anyone made it to the end?$" diff --git a/data/maps/Route110_TrickHousePuzzle5/map.json b/data/maps/Route110_TrickHousePuzzle5/map.json index ae94ed2400..30f4cfe479 100644 --- a/data/maps/Route110_TrickHousePuzzle5/map.json +++ b/data/maps/Route110_TrickHousePuzzle5/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CB32", + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll1", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CB53", + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll2", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CB74", + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll3", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CB95", + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll4", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CBB6", + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll5", "flag": "0" } ], @@ -111,7 +111,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CBD7" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger0" }, { "type": "trigger", @@ -120,7 +120,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CBE3" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger1" }, { "type": "trigger", @@ -129,7 +129,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CBEF" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger2" }, { "type": "trigger", @@ -138,7 +138,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CBFB" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger3" }, { "type": "trigger", @@ -147,7 +147,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CC13" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger0" }, { "type": "trigger", @@ -156,7 +156,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CC1F" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger1" }, { "type": "trigger", @@ -165,7 +165,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CC5B" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger0" }, { "type": "trigger", @@ -174,7 +174,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CC67" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger1" }, { "type": "trigger", @@ -183,7 +183,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CC73" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger2" }, { "type": "trigger", @@ -192,7 +192,7 @@ "elevation": 3, "var": "VAR_TEMP_4", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CC97" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger0" }, { "type": "trigger", @@ -201,7 +201,7 @@ "elevation": 3, "var": "VAR_TEMP_4", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CCA3" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger1" }, { "type": "trigger", @@ -210,7 +210,7 @@ "elevation": 3, "var": "VAR_TEMP_5", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CCDF" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll5Trigger0" }, { "type": "trigger", @@ -219,7 +219,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CC07" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger4" }, { "type": "trigger", @@ -228,7 +228,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CC2B" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger2" }, { "type": "trigger", @@ -237,7 +237,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CC37" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger3" }, { "type": "trigger", @@ -246,7 +246,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CC43" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger4" }, { "type": "trigger", @@ -255,7 +255,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CC4F" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger5" }, { "type": "trigger", @@ -264,7 +264,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CC7F" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger3" }, { "type": "trigger", @@ -273,7 +273,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CC8B" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger4" }, { "type": "trigger", @@ -282,7 +282,7 @@ "elevation": 3, "var": "VAR_TEMP_4", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CCAF" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger2" }, { "type": "trigger", @@ -291,7 +291,7 @@ "elevation": 3, "var": "VAR_TEMP_4", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CCBB" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger3" }, { "type": "trigger", @@ -300,7 +300,7 @@ "elevation": 3, "var": "VAR_TEMP_4", "var_value": "0", - "script": "Route110_TrickHousePuzzle5_EventScript_26CCC7" + "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger4" } ], "bg_events": [ @@ -310,7 +310,7 @@ "y": 21, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_TrickHousePuzzle5_EventScript_26CB15" + "script": "Route110_TrickHousePuzzle5_EventScript_Scroll" } ] } \ No newline at end of file diff --git a/data/maps/Route110_TrickHousePuzzle5/scripts.inc b/data/maps/Route110_TrickHousePuzzle5/scripts.inc index 9ae8dc7599..ac260981fb 100644 --- a/data/maps/Route110_TrickHousePuzzle5/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle5/scripts.inc @@ -11,207 +11,208 @@ Route110_TrickHousePuzzle5_OnTransition: @ 826CAF6 setvar VAR_TEMP_8, 0 end -Route110_TrickHousePuzzle5_EventScript_26CB15:: @ 826CB15 +Route110_TrickHousePuzzle5_EventScript_Scroll:: @ 826CB15 lockall compare VAR_TRICK_HOUSE_PUZZLE_5_STATE, 0 - goto_if_eq Route110_TrickHousePuzzle5_EventScript_26CB27 - goto Route110_TrickHousePuzzle5_EventScript_26A3DB + goto_if_eq Route110_TrickHousePuzzle5_EventScript_FoundScroll + goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain end -Route110_TrickHousePuzzle5_EventScript_26CB27:: @ 826CB27 +Route110_TrickHousePuzzle5_EventScript_FoundScroll:: @ 826CB27 setvar VAR_TRICK_HOUSE_PUZZLE_5_STATE, 1 - goto Route110_TrickHousePuzzle5_EventScript_26A3E5 + goto Route110_TrickHousePuzzle_EventScript_FoundScroll end -Route110_TrickHousePuzzle5_EventScript_26CB32:: @ 826CB32 +Route110_TrickHousePuzzle5_EventScript_Mechadoll1:: @ 826CB32 lockall applymovement 1, Common_Movement_FacePlayer waitmovement 0 compare VAR_TEMP_1, 1 - goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA + goto_if_eq Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough setvar VAR_TEMP_9, 0 - goto Route110_TrickHousePuzzle5_EventScript_26CCEB + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll1Activate end -Route110_TrickHousePuzzle5_EventScript_26CB53:: @ 826CB53 +Route110_TrickHousePuzzle5_EventScript_Mechadoll2:: @ 826CB53 lockall applymovement 2, Common_Movement_FacePlayer waitmovement 0 compare VAR_TEMP_2, 1 - goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA + goto_if_eq Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough setvar VAR_TEMP_9, 0 - goto Route110_TrickHousePuzzle5_EventScript_26CD6A + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate end -Route110_TrickHousePuzzle5_EventScript_26CB74:: @ 826CB74 +Route110_TrickHousePuzzle5_EventScript_Mechadoll3:: @ 826CB74 lockall applymovement 3, Common_Movement_FacePlayer waitmovement 0 compare VAR_TEMP_3, 1 - goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA + goto_if_eq Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough setvar VAR_TEMP_9, 0 - goto Route110_TrickHousePuzzle5_EventScript_26CDF4 + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll3Activate end -Route110_TrickHousePuzzle5_EventScript_26CB95:: @ 826CB95 +Route110_TrickHousePuzzle5_EventScript_Mechadoll4:: @ 826CB95 lockall applymovement 4, Common_Movement_FacePlayer waitmovement 0 compare VAR_TEMP_4, 1 - goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA + goto_if_eq Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough setvar VAR_TEMP_9, 0 - goto Route110_TrickHousePuzzle5_EventScript_26CE73 + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate end -Route110_TrickHousePuzzle5_EventScript_26CBB6:: @ 826CBB6 +Route110_TrickHousePuzzle5_EventScript_Mechadoll5:: @ 826CBB6 lockall applymovement 5, Common_Movement_FacePlayer waitmovement 0 compare VAR_TEMP_5, 1 - goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA + goto_if_eq Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough setvar VAR_TEMP_9, 0 - goto Route110_TrickHousePuzzle5_EventScript_26CEF2 + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll5Activate end -Route110_TrickHousePuzzle5_EventScript_26CBD7:: @ 826CBD7 +Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger0:: @ 826CBD7 lockall setvar VAR_TEMP_9, 0 - goto Route110_TrickHousePuzzle5_EventScript_26CCEB + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll1Activate end -Route110_TrickHousePuzzle5_EventScript_26CBE3:: @ 826CBE3 +Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger1:: @ 826CBE3 lockall setvar VAR_TEMP_9, 1 - goto Route110_TrickHousePuzzle5_EventScript_26CCEB + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll1Activate end -Route110_TrickHousePuzzle5_EventScript_26CBEF:: @ 826CBEF +Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger2:: @ 826CBEF lockall setvar VAR_TEMP_9, 2 - goto Route110_TrickHousePuzzle5_EventScript_26CCEB + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll1Activate end -Route110_TrickHousePuzzle5_EventScript_26CBFB:: @ 826CBFB +Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger3:: @ 826CBFB lockall setvar VAR_TEMP_9, 3 - goto Route110_TrickHousePuzzle5_EventScript_26CCEB + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll1Activate end -Route110_TrickHousePuzzle5_EventScript_26CC07:: @ 826CC07 +Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger4:: @ 826CC07 lockall setvar VAR_TEMP_9, 4 - goto Route110_TrickHousePuzzle5_EventScript_26CCEB + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll1Activate end -Route110_TrickHousePuzzle5_EventScript_26CC13:: @ 826CC13 +Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger0:: @ 826CC13 lockall setvar VAR_TEMP_9, 0 - goto Route110_TrickHousePuzzle5_EventScript_26CD6A + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate end -Route110_TrickHousePuzzle5_EventScript_26CC1F:: @ 826CC1F +Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger1:: @ 826CC1F lockall setvar VAR_TEMP_9, 1 - goto Route110_TrickHousePuzzle5_EventScript_26CD6A + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate end -Route110_TrickHousePuzzle5_EventScript_26CC2B:: @ 826CC2B +Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger2:: @ 826CC2B lockall setvar VAR_TEMP_9, 2 - goto Route110_TrickHousePuzzle5_EventScript_26CD6A + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate end -Route110_TrickHousePuzzle5_EventScript_26CC37:: @ 826CC37 +Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger3:: @ 826CC37 lockall setvar VAR_TEMP_9, 3 - goto Route110_TrickHousePuzzle5_EventScript_26CD6A + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate end -Route110_TrickHousePuzzle5_EventScript_26CC43:: @ 826CC43 +Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger4:: @ 826CC43 lockall setvar VAR_TEMP_9, 4 - goto Route110_TrickHousePuzzle5_EventScript_26CD6A + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate end -Route110_TrickHousePuzzle5_EventScript_26CC4F:: @ 826CC4F +Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger5:: @ 826CC4F lockall setvar VAR_TEMP_9, 5 - goto Route110_TrickHousePuzzle5_EventScript_26CD6A + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate end -Route110_TrickHousePuzzle5_EventScript_26CC5B:: @ 826CC5B +Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger0:: @ 826CC5B lockall setvar VAR_TEMP_9, 0 - goto Route110_TrickHousePuzzle5_EventScript_26CDF4 + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll3Activate end -Route110_TrickHousePuzzle5_EventScript_26CC67:: @ 826CC67 +Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger1:: @ 826CC67 lockall setvar VAR_TEMP_9, 1 - goto Route110_TrickHousePuzzle5_EventScript_26CDF4 + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll3Activate end -Route110_TrickHousePuzzle5_EventScript_26CC73:: @ 826CC73 +Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger2:: @ 826CC73 lockall setvar VAR_TEMP_9, 2 - goto Route110_TrickHousePuzzle5_EventScript_26CDF4 + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll3Activate end -Route110_TrickHousePuzzle5_EventScript_26CC7F:: @ 826CC7F +Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger3:: @ 826CC7F lockall setvar VAR_TEMP_9, 3 - goto Route110_TrickHousePuzzle5_EventScript_26CDF4 + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll3Activate end -Route110_TrickHousePuzzle5_EventScript_26CC8B:: @ 826CC8B +Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger4:: @ 826CC8B lockall setvar VAR_TEMP_9, 4 - goto Route110_TrickHousePuzzle5_EventScript_26CDF4 + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll3Activate end -Route110_TrickHousePuzzle5_EventScript_26CC97:: @ 826CC97 +Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger0:: @ 826CC97 lockall setvar VAR_TEMP_9, 0 - goto Route110_TrickHousePuzzle5_EventScript_26CE73 + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate end -Route110_TrickHousePuzzle5_EventScript_26CCA3:: @ 826CCA3 +Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger1:: @ 826CCA3 lockall setvar VAR_TEMP_9, 1 - goto Route110_TrickHousePuzzle5_EventScript_26CE73 + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate end -Route110_TrickHousePuzzle5_EventScript_26CCAF:: @ 826CCAF +Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger2:: @ 826CCAF lockall setvar VAR_TEMP_9, 2 - goto Route110_TrickHousePuzzle5_EventScript_26CE73 + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate end -Route110_TrickHousePuzzle5_EventScript_26CCBB:: @ 826CCBB +Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger3:: @ 826CCBB lockall setvar VAR_TEMP_9, 3 - goto Route110_TrickHousePuzzle5_EventScript_26CE73 + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate end -Route110_TrickHousePuzzle5_EventScript_26CCC7:: @ 826CCC7 +Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger4:: @ 826CCC7 lockall setvar VAR_TEMP_9, 4 - goto Route110_TrickHousePuzzle5_EventScript_26CE73 + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate end -Route110_TrickHousePuzzle5_EventScript_26CCD3:: @ 826CCD3 +@ Unused +Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger5:: @ 826CCD3 lockall setvar VAR_TEMP_9, 5 - goto Route110_TrickHousePuzzle5_EventScript_26CE73 + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate end -Route110_TrickHousePuzzle5_EventScript_26CCDF:: @ 826CCDF +Route110_TrickHousePuzzle5_EventScript_Mechadoll5Trigger0:: @ 826CCDF lockall setvar VAR_TEMP_9, 0 - goto Route110_TrickHousePuzzle5_EventScript_26CEF2 + goto Route110_TrickHousePuzzle5_EventScript_Mechadoll5Activate end -Route110_TrickHousePuzzle5_EventScript_26CCEB:: @ 826CCEB +Route110_TrickHousePuzzle5_EventScript_Mechadoll1Activate:: @ 826CCEB setvar VAR_TEMP_1, 1 setvar VAR_TEMP_8, 1 playse SE_PIN @@ -220,22 +221,22 @@ Route110_TrickHousePuzzle5_EventScript_26CCEB:: @ 826CCEB applymovement 1, Common_Movement_Delay48 waitmovement 0 compare VAR_TEMP_9, 1 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1B4 + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft1 compare VAR_TEMP_9, 2 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1EC + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft2 compare VAR_TEMP_9, 3 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D224 + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft3 compare VAR_TEMP_9, 4 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D25C - msgbox Route110_TrickHousePuzzle5_Text_26D6CE, MSGBOX_DEFAULT + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft4 + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll1Intro, MSGBOX_DEFAULT random 3 switch VAR_RESULT - case 0, Route110_TrickHousePuzzle5_EventScript_26CF45 - case 1, Route110_TrickHousePuzzle5_EventScript_26CF68 - case 2, Route110_TrickHousePuzzle5_EventScript_26CF8B + case 0, Route110_TrickHousePuzzle5_EventScript_Mechadoll1Quiz1 + case 1, Route110_TrickHousePuzzle5_EventScript_Mechadoll1Quiz2 + case 2, Route110_TrickHousePuzzle5_EventScript_Mechadoll1Quiz3 end -Route110_TrickHousePuzzle5_EventScript_26CD6A:: @ 826CD6A +Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate:: @ 826CD6A setvar VAR_TEMP_2, 1 setvar VAR_TEMP_8, 2 playse SE_PIN @@ -244,24 +245,24 @@ Route110_TrickHousePuzzle5_EventScript_26CD6A:: @ 826CD6A applymovement 2, Common_Movement_Delay48 waitmovement 0 compare VAR_TEMP_9, 1 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D2CC + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight1 compare VAR_TEMP_9, 2 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D304 + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight2 compare VAR_TEMP_9, 3 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D33C + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight3 compare VAR_TEMP_9, 4 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D374 + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight4 compare VAR_TEMP_9, 5 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D3AC - msgbox Route110_TrickHousePuzzle5_Text_26D8EA, MSGBOX_DEFAULT + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight5 + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll2Intro, MSGBOX_DEFAULT random 3 switch VAR_RESULT - case 0, Route110_TrickHousePuzzle5_EventScript_26CFAE - case 1, Route110_TrickHousePuzzle5_EventScript_26CFD1 - case 2, Route110_TrickHousePuzzle5_EventScript_26CFF4 + case 0, Route110_TrickHousePuzzle5_EventScript_Mechadoll2Quiz1 + case 1, Route110_TrickHousePuzzle5_EventScript_Mechadoll2Quiz2 + case 2, Route110_TrickHousePuzzle5_EventScript_Mechadoll2Quiz3 end -Route110_TrickHousePuzzle5_EventScript_26CDF4:: @ 826CDF4 +Route110_TrickHousePuzzle5_EventScript_Mechadoll3Activate:: @ 826CDF4 setvar VAR_TEMP_3, 1 setvar VAR_TEMP_8, 3 playse SE_PIN @@ -270,22 +271,22 @@ Route110_TrickHousePuzzle5_EventScript_26CDF4:: @ 826CDF4 applymovement 3, Common_Movement_Delay48 waitmovement 0 compare VAR_TEMP_9, 1 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1B4 + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft1 compare VAR_TEMP_9, 2 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1EC + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft2 compare VAR_TEMP_9, 3 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D224 + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft3 compare VAR_TEMP_9, 4 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D25C - msgbox Route110_TrickHousePuzzle5_Text_26DA1E, MSGBOX_DEFAULT + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft4 + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll3Intro, MSGBOX_DEFAULT random 3 switch VAR_RESULT - case 0, Route110_TrickHousePuzzle5_EventScript_26D017 - case 1, Route110_TrickHousePuzzle5_EventScript_26D03A - case 2, Route110_TrickHousePuzzle5_EventScript_26D05D + case 0, Route110_TrickHousePuzzle5_EventScript_Mechadoll3Quiz1 + case 1, Route110_TrickHousePuzzle5_EventScript_Mechadoll3Quiz2 + case 2, Route110_TrickHousePuzzle5_EventScript_Mechadoll3Quiz3 end -Route110_TrickHousePuzzle5_EventScript_26CE73:: @ 826CE73 +Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate:: @ 826CE73 setvar VAR_TEMP_4, 1 setvar VAR_TEMP_8, 4 playse SE_PIN @@ -294,22 +295,22 @@ Route110_TrickHousePuzzle5_EventScript_26CE73:: @ 826CE73 applymovement 4, Common_Movement_Delay48 waitmovement 0 compare VAR_TEMP_9, 1 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1B4 + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft1 compare VAR_TEMP_9, 2 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1EC + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft2 compare VAR_TEMP_9, 3 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D224 + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft3 compare VAR_TEMP_9, 4 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D25C - msgbox Route110_TrickHousePuzzle5_Text_26DB4C, MSGBOX_DEFAULT + call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft4 + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll4Intro, MSGBOX_DEFAULT random 3 switch VAR_RESULT - case 0, Route110_TrickHousePuzzle5_EventScript_26D080 - case 1, Route110_TrickHousePuzzle5_EventScript_26D0A3 - case 2, Route110_TrickHousePuzzle5_EventScript_26D0C6 + case 0, Route110_TrickHousePuzzle5_EventScript_Mechadoll4Quiz1 + case 1, Route110_TrickHousePuzzle5_EventScript_Mechadoll4Quiz2 + case 2, Route110_TrickHousePuzzle5_EventScript_Mechadoll4Quiz3 end -Route110_TrickHousePuzzle5_EventScript_26CEF2:: @ 826CEF2 +Route110_TrickHousePuzzle5_EventScript_Mechadoll5Activate:: @ 826CEF2 setvar VAR_TEMP_5, 1 setvar VAR_TEMP_8, 5 playse SE_PIN @@ -317,567 +318,571 @@ Route110_TrickHousePuzzle5_EventScript_26CEF2:: @ 826CEF2 waitmovement 0 applymovement 5, Common_Movement_Delay48 waitmovement 0 - msgbox Route110_TrickHousePuzzle5_Text_26DC78, MSGBOX_DEFAULT + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll5Intro, MSGBOX_DEFAULT random 3 switch VAR_RESULT - case 0, Route110_TrickHousePuzzle5_EventScript_26D0E9 - case 1, Route110_TrickHousePuzzle5_EventScript_26D10C - case 2, Route110_TrickHousePuzzle5_EventScript_26D12F + case 0, Route110_TrickHousePuzzle5_EventScript_Mechadoll5Quiz1 + case 1, Route110_TrickHousePuzzle5_EventScript_Mechadoll5Quiz2 + case 2, Route110_TrickHousePuzzle5_EventScript_Mechadoll5Quiz3 end -Route110_TrickHousePuzzle5_EventScript_26CF45:: @ 826CF45 - msgbox Route110_TrickHousePuzzle5_Text_26D757, MSGBOX_DEFAULT - multichoice 0, 0, 25, 1 +Route110_TrickHousePuzzle5_EventScript_Mechadoll1Quiz1:: @ 826CF45 + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll1Quiz1, MSGBOX_DEFAULT + multichoice 0, 0, MULTI_MECHADOLL1_Q1, 1 switch VAR_RESULT - case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0 - goto Route110_TrickHousePuzzle5_EventScript_26D152 + case 2, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer + goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer end -Route110_TrickHousePuzzle5_EventScript_26CF68:: @ 826CF68 - msgbox Route110_TrickHousePuzzle5_Text_26D7AA, MSGBOX_DEFAULT - multichoice 0, 0, 26, 1 +Route110_TrickHousePuzzle5_EventScript_Mechadoll1Quiz2:: @ 826CF68 + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll1Quiz2, MSGBOX_DEFAULT + multichoice 0, 0, MULTI_MECHADOLL1_Q2, 1 switch VAR_RESULT - case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0 - goto Route110_TrickHousePuzzle5_EventScript_26D152 + case 0, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer + goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer end -Route110_TrickHousePuzzle5_EventScript_26CF8B:: @ 826CF8B - msgbox Route110_TrickHousePuzzle5_Text_26D7FC, MSGBOX_DEFAULT - multichoice 0, 0, 27, 1 +Route110_TrickHousePuzzle5_EventScript_Mechadoll1Quiz3:: @ 826CF8B + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll1Quiz3, MSGBOX_DEFAULT + multichoice 0, 0, MULTI_MECHADOLL1_Q3, 1 switch VAR_RESULT - case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0 - goto Route110_TrickHousePuzzle5_EventScript_26D152 + case 0, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer + goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer end -Route110_TrickHousePuzzle5_EventScript_26CFAE:: @ 826CFAE - msgbox Route110_TrickHousePuzzle5_Text_26D940, MSGBOX_DEFAULT - multichoice 0, 0, 28, 1 +Route110_TrickHousePuzzle5_EventScript_Mechadoll2Quiz1:: @ 826CFAE + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll2Quiz1, MSGBOX_DEFAULT + multichoice 0, 0, MULTI_MECHADOLL2_Q1, 1 switch VAR_RESULT - case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0 - goto Route110_TrickHousePuzzle5_EventScript_26D152 + case 1, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer + goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer end -Route110_TrickHousePuzzle5_EventScript_26CFD1:: @ 826CFD1 - msgbox Route110_TrickHousePuzzle5_Text_26D98C, MSGBOX_DEFAULT - multichoice 0, 0, 29, 1 +Route110_TrickHousePuzzle5_EventScript_Mechadoll2Quiz2:: @ 826CFD1 + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll2Quiz2, MSGBOX_DEFAULT + multichoice 0, 0, MULTI_MECHADOLL2_Q2, 1 switch VAR_RESULT - case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0 - goto Route110_TrickHousePuzzle5_EventScript_26D152 + case 2, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer + goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer end -Route110_TrickHousePuzzle5_EventScript_26CFF4:: @ 826CFF4 - msgbox Route110_TrickHousePuzzle5_Text_26D9CE, MSGBOX_DEFAULT - multichoice 0, 0, 30, 1 +Route110_TrickHousePuzzle5_EventScript_Mechadoll2Quiz3:: @ 826CFF4 + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll2Quiz3, MSGBOX_DEFAULT + multichoice 0, 0, MULTI_MECHADOLL2_Q3, 1 switch VAR_RESULT - case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0 - goto Route110_TrickHousePuzzle5_EventScript_26D152 + case 0, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer + goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer end -Route110_TrickHousePuzzle5_EventScript_26D017:: @ 826D017 - msgbox Route110_TrickHousePuzzle5_Text_26DA64, MSGBOX_DEFAULT - multichoice 0, 0, 31, 1 +Route110_TrickHousePuzzle5_EventScript_Mechadoll3Quiz1:: @ 826D017 + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll3Quiz1, MSGBOX_DEFAULT + multichoice 0, 0, MULTI_MECHADOLL3_Q1, 1 switch VAR_RESULT - case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0 - goto Route110_TrickHousePuzzle5_EventScript_26D152 + case 0, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer + goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer end -Route110_TrickHousePuzzle5_EventScript_26D03A:: @ 826D03A - msgbox Route110_TrickHousePuzzle5_Text_26DAAD, MSGBOX_DEFAULT - multichoice 0, 0, 32, 1 +Route110_TrickHousePuzzle5_EventScript_Mechadoll3Quiz2:: @ 826D03A + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll3Quiz2, MSGBOX_DEFAULT + multichoice 0, 0, MULTI_MECHADOLL3_Q2, 1 switch VAR_RESULT - case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0 - goto Route110_TrickHousePuzzle5_EventScript_26D152 + case 2, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer + goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer end -Route110_TrickHousePuzzle5_EventScript_26D05D:: @ 826D05D - msgbox Route110_TrickHousePuzzle5_Text_26DAFF, MSGBOX_DEFAULT - multichoice 0, 0, 33, 1 +Route110_TrickHousePuzzle5_EventScript_Mechadoll3Quiz3:: @ 826D05D + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll3Quiz3, MSGBOX_DEFAULT + multichoice 0, 0, MULTI_MECHADOLL3_Q3, 1 switch VAR_RESULT - case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0 - goto Route110_TrickHousePuzzle5_EventScript_26D152 + case 1, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer + goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer end -Route110_TrickHousePuzzle5_EventScript_26D080:: @ 826D080 - msgbox Route110_TrickHousePuzzle5_Text_26DB94, MSGBOX_DEFAULT - multichoice 0, 0, 34, 1 +Route110_TrickHousePuzzle5_EventScript_Mechadoll4Quiz1:: @ 826D080 + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll4Quiz1, MSGBOX_DEFAULT + multichoice 0, 0, MULTI_MECHADOLL4_Q1, 1 switch VAR_RESULT - case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0 - goto Route110_TrickHousePuzzle5_EventScript_26D152 + case 0, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer + goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer end -Route110_TrickHousePuzzle5_EventScript_26D0A3:: @ 826D0A3 - msgbox Route110_TrickHousePuzzle5_Text_26DBD7, MSGBOX_DEFAULT - multichoice 0, 0, 35, 1 +Route110_TrickHousePuzzle5_EventScript_Mechadoll4Quiz2:: @ 826D0A3 + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll4Quiz2, MSGBOX_DEFAULT + multichoice 0, 0, MULTI_MECHADOLL4_Q2, 1 switch VAR_RESULT - case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0 - goto Route110_TrickHousePuzzle5_EventScript_26D152 + case 0, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer + goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer end -Route110_TrickHousePuzzle5_EventScript_26D0C6:: @ 826D0C6 - msgbox Route110_TrickHousePuzzle5_Text_26DC2A, MSGBOX_DEFAULT - multichoice 0, 0, 36, 1 +Route110_TrickHousePuzzle5_EventScript_Mechadoll4Quiz3:: @ 826D0C6 + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll4Quiz3, MSGBOX_DEFAULT + multichoice 0, 0, MULTI_MECHADOLL4_Q3, 1 switch VAR_RESULT - case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0 - goto Route110_TrickHousePuzzle5_EventScript_26D152 + case 1, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer + goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer end -Route110_TrickHousePuzzle5_EventScript_26D0E9:: @ 826D0E9 - msgbox Route110_TrickHousePuzzle5_Text_26DCCB, MSGBOX_DEFAULT - multichoice 0, 0, 37, 1 +Route110_TrickHousePuzzle5_EventScript_Mechadoll5Quiz1:: @ 826D0E9 + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll5Quiz1, MSGBOX_DEFAULT + multichoice 0, 0, MULTI_MECHADOLL5_Q1, 1 switch VAR_RESULT - case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0 - goto Route110_TrickHousePuzzle5_EventScript_26D152 + case 1, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer + goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer end -Route110_TrickHousePuzzle5_EventScript_26D10C:: @ 826D10C - msgbox Route110_TrickHousePuzzle5_Text_26DD1B, MSGBOX_DEFAULT - multichoice 0, 0, 38, 1 +Route110_TrickHousePuzzle5_EventScript_Mechadoll5Quiz2:: @ 826D10C + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll5Quiz2, MSGBOX_DEFAULT + multichoice 0, 0, MULTI_MECHADOLL5_Q2, 1 switch VAR_RESULT - case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0 - goto Route110_TrickHousePuzzle5_EventScript_26D152 + case 0, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer + goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer end -Route110_TrickHousePuzzle5_EventScript_26D12F:: @ 826D12F - msgbox Route110_TrickHousePuzzle5_Text_26DD5F, MSGBOX_DEFAULT - multichoice 0, 0, 39, 1 +Route110_TrickHousePuzzle5_EventScript_Mechadoll5Quiz3:: @ 826D12F + msgbox Route110_TrickHousePuzzle5_Text_Mechadoll5Quiz3, MSGBOX_DEFAULT + multichoice 0, 0, MULTI_MECHADOLL5_Q3, 1 switch VAR_RESULT - case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0 - goto Route110_TrickHousePuzzle5_EventScript_26D152 + case 2, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer + goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer end -Route110_TrickHousePuzzle5_EventScript_26D152:: @ 826D152 +Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer:: @ 826D152 waitse playse SE_HAZURE - msgbox Route110_TrickHousePuzzle5_Text_26D883, MSGBOX_DEFAULT - applymovement 1, Route110_TrickHousePuzzle5_Movement_26D632 - applymovement 2, Route110_TrickHousePuzzle5_Movement_26D632 - applymovement 3, Route110_TrickHousePuzzle5_Movement_26D632 - applymovement 4, Route110_TrickHousePuzzle5_Movement_26D632 - applymovement 5, Route110_TrickHousePuzzle5_Movement_26D632 - msgbox Route110_TrickHousePuzzle5_Text_26D8A1, MSGBOX_DEFAULT + msgbox Route110_TrickHousePuzzle5_Text_DisappointmentError, MSGBOX_DEFAULT + applymovement 1, Route110_TrickHousePuzzle5_Movement_MechadollShake + applymovement 2, Route110_TrickHousePuzzle5_Movement_MechadollShake + applymovement 3, Route110_TrickHousePuzzle5_Movement_MechadollShake + applymovement 4, Route110_TrickHousePuzzle5_Movement_MechadollShake + applymovement 5, Route110_TrickHousePuzzle5_Movement_MechadollShake + msgbox Route110_TrickHousePuzzle5_Text_Wahahahaha, MSGBOX_DEFAULT waitmovement 0 - msgbox Route110_TrickHousePuzzle5_Text_26D8C9, MSGBOX_DEFAULT + msgbox Route110_TrickHousePuzzle5_Text_WaitForNextChallenge, MSGBOX_DEFAULT closemessage warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE5, 255, 0, 21 waitstate releaseall end -Route110_TrickHousePuzzle5_EventScript_26D1A0:: @ 826D1A0 +Route110_TrickHousePuzzle5_EventScript_CorrectAnswer:: @ 826D1A0 waitse playse SE_SEIKAI - goto Route110_TrickHousePuzzle5_EventScript_26D1AA + goto Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough end -Route110_TrickHousePuzzle5_EventScript_26D1AA:: @ 826D1AA - msgbox Route110_TrickHousePuzzle5_Text_26D84D, MSGBOX_DEFAULT +Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough:: @ 826D1AA + msgbox Route110_TrickHousePuzzle5_Text_CorrectGoThrough, MSGBOX_DEFAULT releaseall end -Route110_TrickHousePuzzle5_EventScript_26D1B4:: @ 826D1B4 +@ Absurd redundancy in movement scripts that could be resolved by using VAR_TEMP_8 for applymovement instead +@ Many of the below movement scripts arent even used, see below +@ Mechadoll 2 is the only mechadoll to walk right, all the other WalkRight scripts are unused +@ Mechadoll 5 never walks, all the Mechadoll5Walk scripts are unused +@ No mechadoll walks left 5 paces, all the WalkLeft5 scripts are unused +Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft1:: @ 826D1B4 compare VAR_TEMP_8, 1 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D3E4 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft1 compare VAR_TEMP_8, 2 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D3EF + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft1 compare VAR_TEMP_8, 3 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D3FA + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft1 compare VAR_TEMP_8, 4 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D405 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft1 compare VAR_TEMP_8, 5 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D410 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft1 return -Route110_TrickHousePuzzle5_EventScript_26D1EC:: @ 826D1EC +Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft2:: @ 826D1EC compare VAR_TEMP_8, 1 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D41B + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft2 compare VAR_TEMP_8, 2 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D426 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft2 compare VAR_TEMP_8, 3 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D431 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft2 compare VAR_TEMP_8, 4 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D43C + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft2 compare VAR_TEMP_8, 5 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D447 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft2 return -Route110_TrickHousePuzzle5_EventScript_26D224:: @ 826D224 +Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft3:: @ 826D224 compare VAR_TEMP_8, 1 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D452 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft3 compare VAR_TEMP_8, 2 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D45D + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft3 compare VAR_TEMP_8, 3 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D468 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft3 compare VAR_TEMP_8, 4 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D473 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft3 compare VAR_TEMP_8, 5 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D47E + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft3 return -Route110_TrickHousePuzzle5_EventScript_26D25C:: @ 826D25C +Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft4:: @ 826D25C compare VAR_TEMP_8, 1 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D489 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft4 compare VAR_TEMP_8, 2 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D494 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft4 compare VAR_TEMP_8, 3 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D49F + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft4 compare VAR_TEMP_8, 4 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4AA + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft4 compare VAR_TEMP_8, 5 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4B5 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft4 return -Route110_TrickHousePuzzle5_EventScript_26D294:: @ 826D294 +Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft5:: @ 826D294 compare VAR_TEMP_8, 1 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4C0 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft5 compare VAR_TEMP_8, 2 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4CB + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft5 compare VAR_TEMP_8, 3 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4D6 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft5 compare VAR_TEMP_8, 4 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4E1 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft5 compare VAR_TEMP_8, 5 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4EC + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft5 return -Route110_TrickHousePuzzle5_EventScript_26D2CC:: @ 826D2CC +Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight1:: @ 826D2CC compare VAR_TEMP_8, 1 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4F7 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight1 compare VAR_TEMP_8, 2 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D502 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight1 compare VAR_TEMP_8, 3 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D50D + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight1 compare VAR_TEMP_8, 4 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D518 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight1 compare VAR_TEMP_8, 5 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D523 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight1 return -Route110_TrickHousePuzzle5_EventScript_26D304:: @ 826D304 +Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight2:: @ 826D304 compare VAR_TEMP_8, 1 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D52E + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight2 compare VAR_TEMP_8, 2 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D539 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight2 compare VAR_TEMP_8, 3 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D544 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight2 compare VAR_TEMP_8, 4 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D54F + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight2 compare VAR_TEMP_8, 5 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D55A + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight2 return -Route110_TrickHousePuzzle5_EventScript_26D33C:: @ 826D33C +Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight3:: @ 826D33C compare VAR_TEMP_8, 1 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D565 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight3 compare VAR_TEMP_8, 2 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D570 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight3 compare VAR_TEMP_8, 3 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D57B + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight3 compare VAR_TEMP_8, 4 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D586 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight3 compare VAR_TEMP_8, 5 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D591 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight3 return -Route110_TrickHousePuzzle5_EventScript_26D374:: @ 826D374 +Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight4:: @ 826D374 compare VAR_TEMP_8, 1 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D59C + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight4 compare VAR_TEMP_8, 2 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5A7 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight4 compare VAR_TEMP_8, 3 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5B2 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight4 compare VAR_TEMP_8, 4 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5BD + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight4 compare VAR_TEMP_8, 5 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5C8 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight4 return -Route110_TrickHousePuzzle5_EventScript_26D3AC:: @ 826D3AC +Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight5:: @ 826D3AC compare VAR_TEMP_8, 1 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5D3 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight5 compare VAR_TEMP_8, 2 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5DE + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight5 compare VAR_TEMP_8, 3 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5E9 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight5 compare VAR_TEMP_8, 4 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5F4 + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight5 compare VAR_TEMP_8, 5 - call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5FF + call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight5 return -Route110_TrickHousePuzzle5_EventScript_26D3E4:: @ 826D3E4 - applymovement 1, Route110_TrickHousePuzzle5_Movement_26D60A +Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft1:: @ 826D3E4 + applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkLeft1 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D3EF:: @ 826D3EF - applymovement 2, Route110_TrickHousePuzzle5_Movement_26D60A +Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft1:: @ 826D3EF + applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkLeft1 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D3FA:: @ 826D3FA - applymovement 3, Route110_TrickHousePuzzle5_Movement_26D60A +Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft1:: @ 826D3FA + applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkLeft1 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D405:: @ 826D405 - applymovement 4, Route110_TrickHousePuzzle5_Movement_26D60A +Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft1:: @ 826D405 + applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkLeft1 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D410:: @ 826D410 - applymovement 5, Route110_TrickHousePuzzle5_Movement_26D60A +Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft1:: @ 826D410 + applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkLeft1 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D41B:: @ 826D41B - applymovement 1, Route110_TrickHousePuzzle5_Movement_26D60C +Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft2:: @ 826D41B + applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkLeft2 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D426:: @ 826D426 - applymovement 2, Route110_TrickHousePuzzle5_Movement_26D60C +Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft2:: @ 826D426 + applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkLeft2 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D431:: @ 826D431 - applymovement 3, Route110_TrickHousePuzzle5_Movement_26D60C +Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft2:: @ 826D431 + applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkLeft2 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D43C:: @ 826D43C - applymovement 4, Route110_TrickHousePuzzle5_Movement_26D60C +Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft2:: @ 826D43C + applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkLeft2 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D447:: @ 826D447 - applymovement 5, Route110_TrickHousePuzzle5_Movement_26D60C +Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft2:: @ 826D447 + applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkLeft2 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D452:: @ 826D452 - applymovement 1, Route110_TrickHousePuzzle5_Movement_26D60F +Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft3:: @ 826D452 + applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkLeft3 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D45D:: @ 826D45D - applymovement 2, Route110_TrickHousePuzzle5_Movement_26D60F +Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft3:: @ 826D45D + applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkLeft3 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D468:: @ 826D468 - applymovement 3, Route110_TrickHousePuzzle5_Movement_26D60F +Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft3:: @ 826D468 + applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkLeft3 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D473:: @ 826D473 - applymovement 4, Route110_TrickHousePuzzle5_Movement_26D60F +Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft3:: @ 826D473 + applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkLeft3 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D47E:: @ 826D47E - applymovement 5, Route110_TrickHousePuzzle5_Movement_26D60F +Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft3:: @ 826D47E + applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkLeft3 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D489:: @ 826D489 - applymovement 1, Route110_TrickHousePuzzle5_Movement_26D613 +Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft4:: @ 826D489 + applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkLeft4 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D494:: @ 826D494 - applymovement 2, Route110_TrickHousePuzzle5_Movement_26D613 +Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft4:: @ 826D494 + applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkLeft4 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D49F:: @ 826D49F - applymovement 3, Route110_TrickHousePuzzle5_Movement_26D613 +Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft4:: @ 826D49F + applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkLeft4 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D4AA:: @ 826D4AA - applymovement 4, Route110_TrickHousePuzzle5_Movement_26D613 +Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft4:: @ 826D4AA + applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkLeft4 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D4B5:: @ 826D4B5 - applymovement 5, Route110_TrickHousePuzzle5_Movement_26D613 +Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft4:: @ 826D4B5 + applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkLeft4 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D4C0:: @ 826D4C0 - applymovement 1, Movement_26D618 +Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft5:: @ 826D4C0 + applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkLeft5 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D4CB:: @ 826D4CB - applymovement 2, Movement_26D618 +Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft5:: @ 826D4CB + applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkLeft5 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D4D6:: @ 826D4D6 - applymovement 3, Movement_26D618 +Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft5:: @ 826D4D6 + applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkLeft5 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D4E1:: @ 826D4E1 - applymovement 4, Movement_26D618 +Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft5:: @ 826D4E1 + applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkLeft5 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D4EC:: @ 826D4EC - applymovement 5, Movement_26D618 +Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft5:: @ 826D4EC + applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkLeft5 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D4F7:: @ 826D4F7 - applymovement 1, Route110_TrickHousePuzzle5_Movement_26D61E +Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight1:: @ 826D4F7 + applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkRight1 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D502:: @ 826D502 - applymovement 2, Route110_TrickHousePuzzle5_Movement_26D61E +Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight1:: @ 826D502 + applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkRight1 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D50D:: @ 826D50D - applymovement 3, Route110_TrickHousePuzzle5_Movement_26D61E +Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight1:: @ 826D50D + applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkRight1 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D518:: @ 826D518 - applymovement 4, Route110_TrickHousePuzzle5_Movement_26D61E +Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight1:: @ 826D518 + applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkRight1 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D523:: @ 826D523 - applymovement 5, Route110_TrickHousePuzzle5_Movement_26D61E +Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight1:: @ 826D523 + applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkRight1 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D52E:: @ 826D52E - applymovement 1, Route110_TrickHousePuzzle5_Movement_26D620 +Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight2:: @ 826D52E + applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkRight2 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D539:: @ 826D539 - applymovement 2, Route110_TrickHousePuzzle5_Movement_26D620 +Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight2:: @ 826D539 + applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkRight2 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D544:: @ 826D544 - applymovement 3, Route110_TrickHousePuzzle5_Movement_26D620 +Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight2:: @ 826D544 + applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkRight2 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D54F:: @ 826D54F - applymovement 4, Route110_TrickHousePuzzle5_Movement_26D620 +Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight2:: @ 826D54F + applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkRight2 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D55A:: @ 826D55A - applymovement 5, Route110_TrickHousePuzzle5_Movement_26D620 +Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight2:: @ 826D55A + applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkRight2 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D565:: @ 826D565 - applymovement 1, Route110_TrickHousePuzzle5_Movement_26D623 +Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight3:: @ 826D565 + applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkRight3 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D570:: @ 826D570 - applymovement 2, Route110_TrickHousePuzzle5_Movement_26D623 +Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight3:: @ 826D570 + applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkRight3 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D57B:: @ 826D57B - applymovement 3, Route110_TrickHousePuzzle5_Movement_26D623 +Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight3:: @ 826D57B + applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkRight3 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D586:: @ 826D586 - applymovement 4, Route110_TrickHousePuzzle5_Movement_26D623 +Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight3:: @ 826D586 + applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkRight3 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D591:: @ 826D591 - applymovement 5, Route110_TrickHousePuzzle5_Movement_26D623 +Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight3:: @ 826D591 + applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkRight3 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D59C:: @ 826D59C - applymovement 1, Route110_TrickHousePuzzle5_Movement_26D627 +Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight4:: @ 826D59C + applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkRight4 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D5A7:: @ 826D5A7 - applymovement 2, Route110_TrickHousePuzzle5_Movement_26D627 +Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight4:: @ 826D5A7 + applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkRight4 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D5B2:: @ 826D5B2 - applymovement 3, Route110_TrickHousePuzzle5_Movement_26D627 +Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight4:: @ 826D5B2 + applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkRight4 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D5BD:: @ 826D5BD - applymovement 4, Route110_TrickHousePuzzle5_Movement_26D627 +Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight4:: @ 826D5BD + applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkRight4 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D5C8:: @ 826D5C8 - applymovement 5, Route110_TrickHousePuzzle5_Movement_26D627 +Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight4:: @ 826D5C8 + applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkRight4 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D5D3:: @ 826D5D3 - applymovement 1, Route110_TrickHousePuzzle5_Movement_26D62C +Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight5:: @ 826D5D3 + applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkRight5 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D5DE:: @ 826D5DE - applymovement 2, Route110_TrickHousePuzzle5_Movement_26D62C +Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight5:: @ 826D5DE + applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkRight5 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D5E9:: @ 826D5E9 - applymovement 3, Route110_TrickHousePuzzle5_Movement_26D62C +Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight5:: @ 826D5E9 + applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkRight5 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D5F4:: @ 826D5F4 - applymovement 4, Route110_TrickHousePuzzle5_Movement_26D62C +Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight5:: @ 826D5F4 + applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkRight5 waitmovement 0 return -Route110_TrickHousePuzzle5_EventScript_26D5FF:: @ 826D5FF - applymovement 5, Route110_TrickHousePuzzle5_Movement_26D62C +Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight5:: @ 826D5FF + applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkRight5 waitmovement 0 return -Route110_TrickHousePuzzle5_Movement_26D60A: @ 826D60A +Route110_TrickHousePuzzle5_Movement_WalkLeft1: @ 826D60A walk_left step_end -Route110_TrickHousePuzzle5_Movement_26D60C: @ 826D60C +Route110_TrickHousePuzzle5_Movement_WalkLeft2: @ 826D60C walk_left walk_left step_end -Route110_TrickHousePuzzle5_Movement_26D60F: @ 826D60F +Route110_TrickHousePuzzle5_Movement_WalkLeft3: @ 826D60F walk_left walk_left walk_left step_end -Route110_TrickHousePuzzle5_Movement_26D613: @ 826D613 +Route110_TrickHousePuzzle5_Movement_WalkLeft4: @ 826D613 walk_left walk_left walk_left walk_left step_end - -Movement_26D618: @ 826D618 +Route110_TrickHousePuzzle5_Movement_WalkLeft5: @ 826D618 walk_left walk_left walk_left @@ -885,29 +890,29 @@ Movement_26D618: @ 826D618 walk_left step_end -Route110_TrickHousePuzzle5_Movement_26D61E: @ 826D61E +Route110_TrickHousePuzzle5_Movement_WalkRight1: @ 826D61E walk_right step_end -Route110_TrickHousePuzzle5_Movement_26D620: @ 826D620 +Route110_TrickHousePuzzle5_Movement_WalkRight2: @ 826D620 walk_right walk_right step_end -Route110_TrickHousePuzzle5_Movement_26D623: @ 826D623 +Route110_TrickHousePuzzle5_Movement_WalkRight3: @ 826D623 walk_right walk_right walk_right step_end -Route110_TrickHousePuzzle5_Movement_26D627: @ 826D627 +Route110_TrickHousePuzzle5_Movement_WalkRight4: @ 826D627 walk_right walk_right walk_right walk_right step_end -Route110_TrickHousePuzzle5_Movement_26D62C: @ 826D62C +Route110_TrickHousePuzzle5_Movement_WalkRight5: @ 826D62C walk_right walk_right walk_right @@ -915,8 +920,7 @@ Route110_TrickHousePuzzle5_Movement_26D62C: @ 826D62C walk_right step_end -Route110_TrickHouseEntrance_Movement_26D632: @ 826D632 -Route110_TrickHousePuzzle5_Movement_26D632: @ 826D632 +Route110_TrickHousePuzzle5_Movement_MechadollShake: @ 826D632 face_left delay_2 face_right @@ -964,128 +968,128 @@ Route110_TrickHousePuzzle5_Movement_26D632: @ 826D632 face_down step_end -Route110_TrickHousePuzzle5_Text_26D660: @ 826D660 +Route110_TrickHousePuzzle5_Text_WroteSecretCodeLockOpened: @ 826D660 .string "{PLAYER} wrote down the secret code\n" .string "on the door.\p" .string "“TRICK MASTER is a genius.”\n" .string "… … … … … … … …\p" .string "The lock clicked open!$" -Route110_TrickHousePuzzle5_Text_26D6CE: @ 826D6CE +Route110_TrickHousePuzzle5_Text_Mechadoll1Intro: @ 826D6CE .string "CLICKETY-CLACK…\n" .string "MECHADOLL 1 AM I!\p" .string "IF YOU ANSWER QUIZZES CORRECTLY,\n" .string "THEN YOU WILL GO TO MECHADOLL 5.\l" .string "THEN YOU CAN OBTAIN THE SECRET CODE.$" -Route110_TrickHousePuzzle5_Text_26D757: @ 826D757 +Route110_TrickHousePuzzle5_Text_Mechadoll1Quiz1: @ 826D757 .string "MECHADOLL 1 QUIZ.\p" .string "One of these POKéMON is not found\n" .string "on ROUTE 110. Which one is it?$" -Route110_TrickHousePuzzle5_Text_26D7AA: @ 826D7AA +Route110_TrickHousePuzzle5_Text_Mechadoll1Quiz2: @ 826D7AA .string "MECHADOLL 1 QUIZ.\p" .string "One of these POKéMON is not of the\n" .string "WATER type. Which one is it?$" -Route110_TrickHousePuzzle5_Text_26D7FC: @ 826D7FC +Route110_TrickHousePuzzle5_Text_Mechadoll1Quiz3: @ 826D7FC .string "MECHADOLL 1 QUIZ.\p" .string "One of these POKéMON does not use\n" .string "LEECH LIFE. Which one is it?$" -Route110_TrickHousePuzzle5_Text_26D84D: @ 826D84D +Route110_TrickHousePuzzle5_Text_CorrectGoThrough: @ 826D84D .string "CONGRATULATIONS. CORRECT YOU ARE.\n" .string "GO THROUGH. PLEASE.$" -Route110_TrickHousePuzzle5_Text_26D883: @ 826D883 +Route110_TrickHousePuzzle5_Text_DisappointmentError: @ 826D883 .string "BZZZT. DISAPPOINTMENT.\n" .string "ERROR.$" -Route110_TrickHousePuzzle5_Text_26D8A1: @ 826D8A1 +Route110_TrickHousePuzzle5_Text_Wahahahaha: @ 826D8A1 .string "WAHAHAHAHA! WAHAHAHAHA!\n" .string "CLICKETY-CLACK!$" -Route110_TrickHousePuzzle5_Text_26D8C9: @ 826D8C9 +Route110_TrickHousePuzzle5_Text_WaitForNextChallenge: @ 826D8C9 .string "YOUR NEXT CHALLENGE WE WAIT FOR.$" -Route110_TrickHousePuzzle5_Text_26D8EA: @ 826D8EA +Route110_TrickHousePuzzle5_Text_Mechadoll2Intro: @ 826D8EA .string "CLICKETY-CLACK…\n" .string "MECHADOLL 2 AM I!\p" .string "MECHADOLL 1'S QUIZ DIFFICULTY LEVEL\n" .string "IS SET TOO LOW.$" -Route110_TrickHousePuzzle5_Text_26D940: @ 826D940 +Route110_TrickHousePuzzle5_Text_Mechadoll2Quiz1: @ 826D940 .string "MECHADOLL 2 QUIZ.\p" .string "Which of these POKéMON did WALLY\n" .string "borrow from your father?$" -Route110_TrickHousePuzzle5_Text_26D98C: @ 826D98C +Route110_TrickHousePuzzle5_Text_Mechadoll2Quiz2: @ 826D98C .string "MECHADOLL 2 QUIZ.\p" .string "Which of these POKéMON was chasing\n" .string "PROF. BIRCH?$" -Route110_TrickHousePuzzle5_Text_26D9CE: @ 826D9CE +Route110_TrickHousePuzzle5_Text_Mechadoll2Quiz3: @ 826D9CE .string "MECHADOLL 2 QUIZ.\p" .string "Which of these POKéMON did TEAM AQUA\n" .string "use in PETALBURG FOREST?$" -Route110_TrickHousePuzzle5_Text_26DA1E: @ 826DA1E +Route110_TrickHousePuzzle5_Text_Mechadoll3Intro: @ 826DA1E .string "CLICKETY-CLACK…\n" .string "MECHADOLL 3 AM I!\p" .string "MATTERS OF MONEY ARE MY SOLE FOCUS.$" -Route110_TrickHousePuzzle5_Text_26DA64: @ 826DA64 +Route110_TrickHousePuzzle5_Text_Mechadoll3Quiz1: @ 826DA64 .string "MECHADOLL 3 QUIZ.\p" .string "Which costs more?\n" .string "Three HARBOR MAILS or one BURN HEAL?$" -Route110_TrickHousePuzzle5_Text_26DAAD: @ 826DAAD +Route110_TrickHousePuzzle5_Text_Mechadoll3Quiz2: @ 826DAAD .string "MECHADOLL 3 QUIZ.\p" .string "Sell one GREAT BALL and buy\n" .string "one POTION. How much money remains?$" -Route110_TrickHousePuzzle5_Text_26DAFF: @ 826DAFF +Route110_TrickHousePuzzle5_Text_Mechadoll3Quiz3: @ 826DAFF .string "MECHADOLL 3 QUIZ.\p" .string "Do one REPEL and SODA POP cost\n" .string "more than one SUPER POTION?$" -Route110_TrickHousePuzzle5_Text_26DB4C: @ 826DB4C +Route110_TrickHousePuzzle5_Text_Mechadoll4Intro: @ 826DB4C .string "CLICKETY-CLACK…\n" .string "MECHADOLL 4 THAT IS ME!\p" .string "MY QUIZ IS AN OBJECT OF BEAUTY.$" -Route110_TrickHousePuzzle5_Text_26DB94: @ 826DB94 +Route110_TrickHousePuzzle5_Text_Mechadoll4Quiz1: @ 826DB94 .string "MECHADOLL 4 QUIZ.\p" .string "In SEASHORE HOUSE, were there more men\n" .string "or women?$" -Route110_TrickHousePuzzle5_Text_26DBD7: @ 826DBD7 +Route110_TrickHousePuzzle5_Text_Mechadoll4Quiz2: @ 826DBD7 .string "MECHADOLL 4 QUIZ.\p" .string "In LAVARIDGE TOWN, were there more\n" .string "elderly men or elderly women?$" -Route110_TrickHousePuzzle5_Text_26DC2A: @ 826DC2A +Route110_TrickHousePuzzle5_Text_Mechadoll4Quiz3: @ 826DC2A .string "MECHADOLL 4 QUIZ.\p" .string "In the TRAINER'S SCHOOL, how many\n" .string "girl students were there?$" -Route110_TrickHousePuzzle5_Text_26DC78: @ 826DC78 +Route110_TrickHousePuzzle5_Text_Mechadoll5Intro: @ 826DC78 .string "CLICKETY-CLACK…\n" .string "MECHADOLL 5 AM I!\p" .string "THE MASTER'S BEST AND PROUDEST\n" .string "ACHIEVEMENT AM I.$" -Route110_TrickHousePuzzle5_Text_26DCCB: @ 826DCCB +Route110_TrickHousePuzzle5_Text_Mechadoll5Quiz1: @ 826DCCB .string "MECHADOLL 5 QUIZ.\p" .string "In SLATEPORT's POKéMON FAN CLUB,\n" .string "how many POKéMON were there?$" -Route110_TrickHousePuzzle5_Text_26DD1B: @ 826DD1B +Route110_TrickHousePuzzle5_Text_Mechadoll5Quiz2: @ 826DD1B .string "MECHADOLL 5 QUIZ.\p" .string "In FORTREE CITY, how many\n" .string "tree houses were there?$" -Route110_TrickHousePuzzle5_Text_26DD5F: @ 826DD5F +Route110_TrickHousePuzzle5_Text_Mechadoll5Quiz3: @ 826DD5F .string "MECHADOLL 5 QUIZ.\p" .string "On the CYCLING ROAD, how many\n" .string "TRIATHLETES were there?$" diff --git a/data/maps/Route110_TrickHousePuzzle6/map.json b/data/maps/Route110_TrickHousePuzzle6/map.json index aef182fbbf..797bb9f607 100644 --- a/data/maps/Route110_TrickHousePuzzle6/map.json +++ b/data/maps/Route110_TrickHousePuzzle6/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_TrickHousePuzzle6_EventScript_26DDE1", + "script": "Route110_TrickHousePuzzle6_EventScript_Sophia", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route110_TrickHousePuzzle6_EventScript_26DDF8", + "script": "Route110_TrickHousePuzzle6_EventScript_Benny", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_TrickHousePuzzle6_EventScript_26DE0F", + "script": "Route110_TrickHousePuzzle6_EventScript_Sebastian", "flag": "0" }, { @@ -98,7 +98,7 @@ "y": 10, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_TrickHousePuzzle6_EventScript_26DDC4" + "script": "Route110_TrickHousePuzzle6_EventScript_Scroll" } ] } \ No newline at end of file diff --git a/data/maps/Route110_TrickHousePuzzle6/scripts.inc b/data/maps/Route110_TrickHousePuzzle6/scripts.inc index 685a0170b1..142b89f424 100644 --- a/data/maps/Route110_TrickHousePuzzle6/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle6/scripts.inc @@ -1,87 +1,87 @@ Route110_TrickHousePuzzle6_MapScripts:: @ 826DDA7 map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle6_OnTransition - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route110_TrickHousePuzzle6_MapScript2_26DDB6 + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route110_TrickHousePuzzle6_OnWarp .byte 0 Route110_TrickHousePuzzle6_OnTransition: @ 826DDB2 special RotatingGate_InitPuzzle end -Route110_TrickHousePuzzle6_MapScript2_26DDB6: @ 826DDB6 - map_script_2 VAR_TEMP_0, 16384, Route110_TrickHousePuzzle6_EventScript_26DDC0 +Route110_TrickHousePuzzle6_OnWarp: @ 826DDB6 + map_script_2 VAR_TEMP_0, VAR_TEMP_0, Route110_TrickHousePuzzle6_EventScript_InitPuzzle .2byte 0 -Route110_TrickHousePuzzle6_EventScript_26DDC0:: @ 826DDC0 +Route110_TrickHousePuzzle6_EventScript_InitPuzzle:: @ 826DDC0 special RotatingGate_InitPuzzleAndGraphics end -Route110_TrickHousePuzzle6_EventScript_26DDC4:: @ 826DDC4 +Route110_TrickHousePuzzle6_EventScript_Scroll:: @ 826DDC4 lockall compare VAR_TRICK_HOUSE_PUZZLE_6_STATE, 0 - goto_if_eq Route110_TrickHousePuzzle6_EventScript_26DDD6 - goto Route110_TrickHousePuzzle6_EventScript_26A3DB + goto_if_eq Route110_TrickHousePuzzle6_EventScript_FoundScroll + goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain end -Route110_TrickHousePuzzle6_EventScript_26DDD6:: @ 826DDD6 +Route110_TrickHousePuzzle6_EventScript_FoundScroll:: @ 826DDD6 setvar VAR_TRICK_HOUSE_PUZZLE_6_STATE, 1 - goto Route110_TrickHousePuzzle6_EventScript_26A3E5 + goto Route110_TrickHousePuzzle_EventScript_FoundScroll end -Route110_TrickHousePuzzle6_EventScript_26DDE1:: @ 826DDE1 - trainerbattle_single TRAINER_SOPHIA, Route110_TrickHousePuzzle6_Text_26DE93, Route110_TrickHousePuzzle6_Text_26DED2 - msgbox Route110_TrickHousePuzzle6_Text_26DEF3, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle6_EventScript_Sophia:: @ 826DDE1 + trainerbattle_single TRAINER_SOPHIA, Route110_TrickHousePuzzle6_Text_SophiaIntro, Route110_TrickHousePuzzle6_Text_SophiaDefeat + msgbox Route110_TrickHousePuzzle6_Text_SophiaPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle6_EventScript_26DDF8:: @ 826DDF8 - trainerbattle_single TRAINER_BENNY, Route110_TrickHousePuzzle6_Text_26DF55, Route110_TrickHousePuzzle6_Text_26DF8D - msgbox Route110_TrickHousePuzzle6_Text_26DFA0, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle6_EventScript_Benny:: @ 826DDF8 + trainerbattle_single TRAINER_BENNY, Route110_TrickHousePuzzle6_Text_BennyIntro, Route110_TrickHousePuzzle6_Text_BennyDefeat + msgbox Route110_TrickHousePuzzle6_Text_BennyPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle6_EventScript_26DE0F:: @ 826DE0F - trainerbattle_single TRAINER_SEBASTIAN, Route110_TrickHousePuzzle6_Text_26DFD7, Route110_TrickHousePuzzle6_Text_26E004 - msgbox Route110_TrickHousePuzzle6_Text_26E048, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle6_EventScript_Sebastian:: @ 826DE0F + trainerbattle_single TRAINER_SEBASTIAN, Route110_TrickHousePuzzle6_Text_SebastianIntro, Route110_TrickHousePuzzle6_Text_SebastianDefeat + msgbox Route110_TrickHousePuzzle6_Text_SebastianPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle6_Text_26DE26: @ 826DE26 +Route110_TrickHousePuzzle6_Text_WroteSecretCodeLockOpened: @ 826DE26 .string "{PLAYER} wrote down the secret code\n" .string "on the door.\p" .string "“TRICK MASTER is my life.”\n" .string "… … … … … … … …\p" .string "The lock clicked open!$" -Route110_TrickHousePuzzle6_Text_26DE93: @ 826DE93 +Route110_TrickHousePuzzle6_Text_SophiaIntro: @ 826DE93 .string "When I heard there was a strange\n" .string "house, I had to check it out.$" -Route110_TrickHousePuzzle6_Text_26DED2: @ 826DED2 +Route110_TrickHousePuzzle6_Text_SophiaDefeat: @ 826DED2 .string "I've discovered a tough TRAINER!$" -Route110_TrickHousePuzzle6_Text_26DEF3: @ 826DEF3 +Route110_TrickHousePuzzle6_Text_SophiaPostBattle: @ 826DEF3 .string "I'm sure having a good time checking\n" .string "this place out.\p" .string "It's a challenge I've found worth\n" .string "repeating!$" -Route110_TrickHousePuzzle6_Text_26DF55: @ 826DF55 +Route110_TrickHousePuzzle6_Text_BennyIntro: @ 826DF55 .string "Maybe I could get my BIRD POKéMON\n" .string "to fly over the wall…$" -Route110_TrickHousePuzzle6_Text_26DF8D: @ 826DF8D +Route110_TrickHousePuzzle6_Text_BennyDefeat: @ 826DF8D .string "Gwaaah! I blew it!$" -Route110_TrickHousePuzzle6_Text_26DFA0: @ 826DFA0 +Route110_TrickHousePuzzle6_Text_BennyPostBattle: @ 826DFA0 .string "Ehehehe… I guess I lost because\n" .string "I was trying to cheat.$" -Route110_TrickHousePuzzle6_Text_26DFD7: @ 826DFD7 +Route110_TrickHousePuzzle6_Text_SebastianIntro: @ 826DFD7 .string "I'm getting dizzy from these rotating\n" .string "doors…$" -Route110_TrickHousePuzzle6_Text_26E004: @ 826E004 +Route110_TrickHousePuzzle6_Text_SebastianDefeat: @ 826E004 .string "Everything's spinning around and\n" .string "around. I can't take this anymore…$" -Route110_TrickHousePuzzle6_Text_26E048: @ 826E048 +Route110_TrickHousePuzzle6_Text_SebastianPostBattle: @ 826E048 .string "You don't seem to be affected at all.\n" .string "Or do you have your poker face on?$" diff --git a/data/maps/Route110_TrickHousePuzzle7/map.json b/data/maps/Route110_TrickHousePuzzle7/map.json index 09fdafbe2b..1e31e2f745 100644 --- a/data/maps/Route110_TrickHousePuzzle7/map.json +++ b/data/maps/Route110_TrickHousePuzzle7/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_TrickHousePuzzle7_EventScript_26E389", + "script": "Route110_TrickHousePuzzle7_EventScript_Joshua", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_TrickHousePuzzle7_EventScript_26E3B7", + "script": "Route110_TrickHousePuzzle7_EventScript_Alexis", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_TrickHousePuzzle7_EventScript_26E3A0", + "script": "Route110_TrickHousePuzzle7_EventScript_Patricia", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_TrickHousePuzzle7_EventScript_26E3E5", + "script": "Route110_TrickHousePuzzle7_EventScript_Alvaro", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_TrickHousePuzzle7_EventScript_26E3CE", + "script": "Route110_TrickHousePuzzle7_EventScript_Mariela", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_TrickHousePuzzle7_EventScript_26E3FC", + "script": "Route110_TrickHousePuzzle7_EventScript_Everett", "flag": "0" }, { @@ -233,7 +233,7 @@ "elevation": 0, "var": "VAR_TEMP_1", "var_value": "0", - "script": "Route110_TrickHousePuzzle7_EventScript_26E31B" + "script": "Route110_TrickHousePuzzle7_EventScript_YellowButton" }, { "type": "trigger", @@ -242,7 +242,7 @@ "elevation": 0, "var": "VAR_TEMP_1", "var_value": "0", - "script": "Route110_TrickHousePuzzle7_EventScript_26E331" + "script": "Route110_TrickHousePuzzle7_EventScript_BlueButton" }, { "type": "trigger", @@ -251,7 +251,7 @@ "elevation": 0, "var": "VAR_TEMP_1", "var_value": "0", - "script": "Route110_TrickHousePuzzle7_EventScript_26E347" + "script": "Route110_TrickHousePuzzle7_EventScript_GreenButton" }, { "type": "trigger", @@ -260,7 +260,7 @@ "elevation": 0, "var": "VAR_TEMP_1", "var_value": "0", - "script": "Route110_TrickHousePuzzle7_EventScript_26E35D" + "script": "Route110_TrickHousePuzzle7_EventScript_PurpleButton" } ], "bg_events": [ @@ -270,7 +270,7 @@ "y": 17, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_TrickHousePuzzle7_EventScript_26E1D0" + "script": "Route110_TrickHousePuzzle7_EventScript_Scroll" } ] } \ No newline at end of file diff --git a/data/maps/Route110_TrickHousePuzzle7/scripts.inc b/data/maps/Route110_TrickHousePuzzle7/scripts.inc index db651d8ce4..6b75593893 100644 --- a/data/maps/Route110_TrickHousePuzzle7/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle7/scripts.inc @@ -1,75 +1,79 @@ Route110_TrickHousePuzzle7_MapScripts:: @ 826E091 - map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHousePuzzle7_MapScript1_26E0A6 + map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHousePuzzle7_OnResume map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle7_OnTransition - map_script MAP_SCRIPT_ON_LOAD, Route110_TrickHousePuzzle7_MapScript1_26E1B4 - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHousePuzzle7_MapScript2_26E1C0 + map_script MAP_SCRIPT_ON_LOAD, Route110_TrickHousePuzzle7_OnLoad + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHousePuzzle7_OnFrame .byte 0 -Route110_TrickHousePuzzle7_MapScript1_26E0A6: @ 826E0A6 - call Route110_TrickHousePuzzle7_EventScript_26E0AC +@ Puzzle Room 7 in RSE uses whatever puzzle Mossdeep Gym uses +@ Because Mossdeep Gym was redesigned for Emerald, theres a good deal of leftover script from the old R/S puzzle + +Route110_TrickHousePuzzle7_OnResume: @ 826E0A6 + call Route110_TrickHousePuzzle7_EventScript_UpdateSwitchMetatiles end -Route110_TrickHousePuzzle7_EventScript_26E0AC:: @ 826E0AC - call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_26E0DA - call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_26E0ED - call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_26E100 - call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_26E113 - call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_26E126 +Route110_TrickHousePuzzle7_EventScript_UpdateSwitchMetatiles:: @ 826E0AC + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_SetSwitch1MetatilesOn + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_SetSwitch2MetatilesOn + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_SetSwitch3MetatilesOn + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_SetSwitch4MetatilesOn + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_SetSwitch5MetatilesOn return -Route110_TrickHousePuzzle7_EventScript_26E0DA:: @ 826E0DA +@ Leftover from R/S, none of the below metatile scripts are ever called +Route110_TrickHousePuzzle7_EventScript_SetSwitch1MetatilesOn:: @ 826E0DA setmetatile 13, 17, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Up, 0 setmetatile 12, 16, METATILE_TrickHousePuzzle_Lever_On, 1 return -Route110_TrickHousePuzzle7_EventScript_26E0ED:: @ 826E0ED +Route110_TrickHousePuzzle7_EventScript_SetSwitch2MetatilesOn:: @ 826E0ED setmetatile 12, 13, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Up, 0 setmetatile 12, 11, METATILE_TrickHousePuzzle_Lever_On, 1 return -Route110_TrickHousePuzzle7_EventScript_26E100:: @ 826E100 +Route110_TrickHousePuzzle7_EventScript_SetSwitch3MetatilesOn:: @ 826E100 setmetatile 7, 12, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Up, 0 setmetatile 5, 10, METATILE_TrickHousePuzzle_Lever_On, 1 return -Route110_TrickHousePuzzle7_EventScript_26E113:: @ 826E113 +Route110_TrickHousePuzzle7_EventScript_SetSwitch4MetatilesOn:: @ 826E113 setmetatile 6, 6, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Right_Alt, 0 setmetatile 4, 4, METATILE_TrickHousePuzzle_Lever_On, 1 return -Route110_TrickHousePuzzle7_EventScript_26E126:: @ 826E126 +Route110_TrickHousePuzzle7_EventScript_SetSwitch5MetatilesOn:: @ 826E126 setmetatile 8, 4, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left, 0 setmetatile 7, 5, METATILE_TrickHousePuzzle_Lever_On, 1 return -Route110_TrickHousePuzzle7_EventScript_26E139:: @ 826E139 +Route110_TrickHousePuzzle7_EventScript_SetSwitch1MetatilesOff:: @ 826E139 setmetatile 13, 17, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Down, 0 setmetatile 12, 16, METATILE_TrickHousePuzzle_Lever_Off, 1 return -Route110_TrickHousePuzzle7_EventScript_26E14C:: @ 826E14C +Route110_TrickHousePuzzle7_EventScript_SetSwitch2MetatilesOff:: @ 826E14C setmetatile 12, 13, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left, 0 setmetatile 12, 11, METATILE_TrickHousePuzzle_Lever_Off, 1 return -Route110_TrickHousePuzzle7_EventScript_26E15F:: @ 826E15F +Route110_TrickHousePuzzle7_EventScript_SetSwitch3MetatilesOff:: @ 826E15F setmetatile 7, 12, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Down, 0 setmetatile 5, 10, METATILE_TrickHousePuzzle_Lever_Off, 1 return -Route110_TrickHousePuzzle7_EventScript_26E172:: @ 826E172 +Route110_TrickHousePuzzle7_EventScript_SetSwitch4MetatilesOff:: @ 826E172 setmetatile 6, 6, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left_Alt, 0 setmetatile 4, 4, METATILE_TrickHousePuzzle_Lever_Off, 1 return -Route110_TrickHousePuzzle7_EventScript_26E185:: @ 826E185 +Route110_TrickHousePuzzle7_EventScript_SetSwitch5MetatilesOff:: @ 826E185 setmetatile 8, 4, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Right, 0 setmetatile 7, 5, METATILE_TrickHousePuzzle_Lever_Off, 1 return Route110_TrickHousePuzzle7_OnTransition: @ 826E198 compare VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1 - goto_if_eq Route110_TrickHousePuzzle7_EventScript_26E1B3 + goto_if_eq Route110_TrickHousePuzzle7_EventScript_TeleportedTransition clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 @@ -77,35 +81,36 @@ Route110_TrickHousePuzzle7_OnTransition: @ 826E198 clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 end -Route110_TrickHousePuzzle7_EventScript_26E1B3:: @ 826E1B3 +Route110_TrickHousePuzzle7_EventScript_TeleportedTransition:: @ 826E1B3 end -Route110_TrickHousePuzzle7_MapScript1_26E1B4: @ 826E1B4 +Route110_TrickHousePuzzle7_OnLoad: @ 826E1B4 compare VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1 - call_if_eq Route110_TrickHousePuzzle7_EventScript_26E0AC + call_if_eq Route110_TrickHousePuzzle7_EventScript_UpdateSwitchMetatiles end -Route110_TrickHousePuzzle7_MapScript2_26E1C0: @ 826E1C0 - map_script_2 VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1, Route110_TrickHousePuzzle7_EventScript_26E1CA +Route110_TrickHousePuzzle7_OnFrame: @ 826E1C0 + map_script_2 VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1, Route110_TrickHousePuzzle7_EventScript_ClearState2 .2byte 0 -Route110_TrickHousePuzzle7_EventScript_26E1CA:: @ 826E1CA +Route110_TrickHousePuzzle7_EventScript_ClearState2:: @ 826E1CA setvar VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 0 end -Route110_TrickHousePuzzle7_EventScript_26E1D0:: @ 826E1D0 +Route110_TrickHousePuzzle7_EventScript_Scroll:: @ 826E1D0 lockall compare VAR_TRICK_HOUSE_PUZZLE_7_STATE, 0 - goto_if_eq Route110_TrickHousePuzzle7_EventScript_26E1E2 - goto Route110_TrickHousePuzzle7_EventScript_26A3DB + goto_if_eq Route110_TrickHousePuzzle7_EventScript_FoundScroll + goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain end -Route110_TrickHousePuzzle7_EventScript_26E1E2:: @ 826E1E2 +Route110_TrickHousePuzzle7_EventScript_FoundScroll:: @ 826E1E2 setvar VAR_TRICK_HOUSE_PUZZLE_7_STATE, 1 - goto Route110_TrickHousePuzzle7_EventScript_26A3E5 + goto Route110_TrickHousePuzzle_EventScript_FoundScroll end -Route110_TrickHousePuzzle7_EventScript_26E1ED:: @ 826E1ED +@ Unused, leftover from R/S +Route110_TrickHousePuzzle7_EventScript_TeleportPad:: @ 826E1ED lockall setvar VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1 warpteleport MAP_ROUTE110_TRICK_HOUSE_PUZZLE7, 255, 3, 19 @@ -113,274 +118,278 @@ Route110_TrickHousePuzzle7_EventScript_26E1ED:: @ 826E1ED releaseall end -Route110_TrickHousePuzzle7_EventScript_26E1FE:: @ 826E1FE +@ All the below switch scripts are unused leftover from R/S +Route110_TrickHousePuzzle7_EventScript_Switch1:: @ 826E1FE lockall delay 32 - call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_26E0DA - call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_26E139 + call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_SetSwitch1MetatilesOn + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_SetSwitch1MetatilesOff special DrawWholeMapView playse SE_TK_KASYA - goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_26E2E9 - goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_26E2EE + goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_SetSwitch1On + goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_SetSwitch1Off end -Route110_TrickHousePuzzle7_EventScript_26E22D:: @ 826E22D +Route110_TrickHousePuzzle7_EventScript_Switch2:: @ 826E22D lockall delay 32 - call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_26E0ED - call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_26E14C + call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_SetSwitch2MetatilesOn + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_SetSwitch2MetatilesOff special DrawWholeMapView playse SE_TK_KASYA - goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_26E2F3 - goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_26E2F8 + goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_SetSwitch2On + goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_SetSwitch2Off end -Route110_TrickHousePuzzle7_EventScript_26E25C:: @ 826E25C +Route110_TrickHousePuzzle7_EventScript_Switch3:: @ 826E25C lockall delay 32 - call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_26E100 - call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_26E15F + call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_SetSwitch3MetatilesOn + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_SetSwitch3MetatilesOff special DrawWholeMapView playse SE_TK_KASYA - goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_26E2FD - goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_26E302 + goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_SetSwitch3On + goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_SetSwitch3Off end -Route110_TrickHousePuzzle7_EventScript_26E28B:: @ 826E28B +Route110_TrickHousePuzzle7_EventScript_Switch4:: @ 826E28B lockall delay 32 - call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_26E113 - call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_26E172 + call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_SetSwitch4MetatilesOn + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_SetSwitch4MetatilesOff special DrawWholeMapView playse SE_TK_KASYA - goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_26E307 - goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_26E30C + goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_SetSwitch4On + goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_SetSwitch4Off end -Route110_TrickHousePuzzle7_EventScript_26E2BA:: @ 826E2BA +Route110_TrickHousePuzzle7_EventScript_Switch5:: @ 826E2BA lockall delay 32 - call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_26E126 - call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_26E185 + call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_SetSwitch5MetatilesOn + call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_SetSwitch5MetatilesOff special DrawWholeMapView playse SE_TK_KASYA - goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_26E311 - goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_26E316 + goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_SetSwitch5On + goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_SetSwitch5Off end -Route110_TrickHousePuzzle7_EventScript_26E2E9:: @ 826E2E9 +@ All the below switch scripts are unused leftover from R/S +Route110_TrickHousePuzzle7_EventScript_SetSwitch1On:: @ 826E2E9 setflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 releaseall end -Route110_TrickHousePuzzle7_EventScript_26E2EE:: @ 826E2EE +Route110_TrickHousePuzzle7_EventScript_SetSwitch1Off:: @ 826E2EE clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 releaseall end -Route110_TrickHousePuzzle7_EventScript_26E2F3:: @ 826E2F3 +Route110_TrickHousePuzzle7_EventScript_SetSwitch2On:: @ 826E2F3 setflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 releaseall end -Route110_TrickHousePuzzle7_EventScript_26E2F8:: @ 826E2F8 +Route110_TrickHousePuzzle7_EventScript_SetSwitch2Off:: @ 826E2F8 clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 releaseall end -Route110_TrickHousePuzzle7_EventScript_26E2FD:: @ 826E2FD +Route110_TrickHousePuzzle7_EventScript_SetSwitch3On:: @ 826E2FD setflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 releaseall end -Route110_TrickHousePuzzle7_EventScript_26E302:: @ 826E302 +Route110_TrickHousePuzzle7_EventScript_SetSwitch3Off:: @ 826E302 clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 releaseall end -Route110_TrickHousePuzzle7_EventScript_26E307:: @ 826E307 +Route110_TrickHousePuzzle7_EventScript_SetSwitch4On:: @ 826E307 setflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 releaseall end -Route110_TrickHousePuzzle7_EventScript_26E30C:: @ 826E30C +Route110_TrickHousePuzzle7_EventScript_SetSwitch4Off:: @ 826E30C clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 releaseall end -Route110_TrickHousePuzzle7_EventScript_26E311:: @ 826E311 +Route110_TrickHousePuzzle7_EventScript_SetSwitch5On:: @ 826E311 setflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 releaseall end -Route110_TrickHousePuzzle7_EventScript_26E316:: @ 826E316 +Route110_TrickHousePuzzle7_EventScript_SetSwitch5Off:: @ 826E316 clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 releaseall end -Route110_TrickHousePuzzle7_EventScript_26E31B:: @ 826E31B +@ From here is where the new, actually used puzzle scripts begin +Route110_TrickHousePuzzle7_EventScript_YellowButton:: @ 826E31B playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 1 - mossdeepgym1 0 + initrotatingtilepuzzle TRUE + moverotatingtileobjects 0 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end -Route110_TrickHousePuzzle7_EventScript_26E331:: @ 826E331 +Route110_TrickHousePuzzle7_EventScript_BlueButton:: @ 826E331 playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 1 - mossdeepgym1 1 + initrotatingtilepuzzle TRUE + moverotatingtileobjects 1 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end -Route110_TrickHousePuzzle7_EventScript_26E347:: @ 826E347 +Route110_TrickHousePuzzle7_EventScript_GreenButton:: @ 826E347 playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 1 - mossdeepgym1 2 + initrotatingtilepuzzle TRUE + moverotatingtileobjects 2 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end -Route110_TrickHousePuzzle7_EventScript_26E35D:: @ 826E35D +Route110_TrickHousePuzzle7_EventScript_PurpleButton:: @ 826E35D playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 1 - mossdeepgym1 3 + initrotatingtilepuzzle TRUE + moverotatingtileobjects 3 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end -Route110_TrickHousePuzzle7_EventScript_26E373:: @ 826E373 +@ Unused +Route110_TrickHousePuzzle7_EventScript_RedButton:: @ 826E373 playse SE_MU_PACHI waitse playse SE_TU_SAA - mossdeepgym3 1 - mossdeepgym1 4 + initrotatingtilepuzzle TRUE + moverotatingtileobjects 4 waitmovement 0 - mossdeepgym2 + turnrotatingtileobjects waitmovement 0 - mossdeepgym4 + freerotatingtilepuzzle end -Route110_TrickHousePuzzle7_EventScript_26E389:: @ 826E389 - trainerbattle_single TRAINER_JOSHUA, Route110_TrickHousePuzzle7_Text_26E481, Route110_TrickHousePuzzle7_Text_26E4C1 - msgbox Route110_TrickHousePuzzle7_Text_26E4F4, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle7_EventScript_Joshua:: @ 826E389 + trainerbattle_single TRAINER_JOSHUA, Route110_TrickHousePuzzle7_Text_JoshuaIntro, Route110_TrickHousePuzzle7_Text_JoshuaDefeat + msgbox Route110_TrickHousePuzzle7_Text_JoshuaPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle7_EventScript_26E3A0:: @ 826E3A0 - trainerbattle_single TRAINER_PATRICIA, Route110_TrickHousePuzzle7_Text_26E531, Route110_TrickHousePuzzle7_Text_26E564 - msgbox Route110_TrickHousePuzzle7_Text_26E57F, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle7_EventScript_Patricia:: @ 826E3A0 + trainerbattle_single TRAINER_PATRICIA, Route110_TrickHousePuzzle7_Text_PatriciaIntro, Route110_TrickHousePuzzle7_Text_PatriciaDefeat + msgbox Route110_TrickHousePuzzle7_Text_PatriciaPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle7_EventScript_26E3B7:: @ 826E3B7 - trainerbattle_single TRAINER_ALEXIS, Route110_TrickHousePuzzle7_Text_26E5C0, Route110_TrickHousePuzzle7_Text_26E604 - msgbox Route110_TrickHousePuzzle7_Text_26E61E, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle7_EventScript_Alexis:: @ 826E3B7 + trainerbattle_single TRAINER_ALEXIS, Route110_TrickHousePuzzle7_Text_AlexisIntro, Route110_TrickHousePuzzle7_Text_AlexisDefeat + msgbox Route110_TrickHousePuzzle7_Text_AlexisPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle7_EventScript_26E3CE:: @ 826E3CE - trainerbattle_single TRAINER_MARIELA, Route110_TrickHousePuzzle7_Text_26E66B, Route110_TrickHousePuzzle7_Text_26E69C - msgbox Route110_TrickHousePuzzle7_Text_26E6BC, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle7_EventScript_Mariela:: @ 826E3CE + trainerbattle_single TRAINER_MARIELA, Route110_TrickHousePuzzle7_Text_MarielaIntro, Route110_TrickHousePuzzle7_Text_MarielaDefeat + msgbox Route110_TrickHousePuzzle7_Text_MarielaPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle7_EventScript_26E3E5:: @ 826E3E5 - trainerbattle_single TRAINER_ALVARO, Route110_TrickHousePuzzle7_Text_26E6DA, Route110_TrickHousePuzzle7_Text_26E700 - msgbox Route110_TrickHousePuzzle7_Text_26E722, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle7_EventScript_Alvaro:: @ 826E3E5 + trainerbattle_single TRAINER_ALVARO, Route110_TrickHousePuzzle7_Text_AlvaroIntro, Route110_TrickHousePuzzle7_Text_AlvaroDefeat + msgbox Route110_TrickHousePuzzle7_Text_AlvaroPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle7_EventScript_26E3FC:: @ 826E3FC - trainerbattle_single TRAINER_EVERETT, Route110_TrickHousePuzzle7_Text_26E78D, Route110_TrickHousePuzzle7_Text_26E7AB - msgbox Route110_TrickHousePuzzle7_Text_26E7C4, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle7_EventScript_Everett:: @ 826E3FC + trainerbattle_single TRAINER_EVERETT, Route110_TrickHousePuzzle7_Text_EverettIntro, Route110_TrickHousePuzzle7_Text_EverettDefeat + msgbox Route110_TrickHousePuzzle7_Text_EverettPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle7_EventScript_26E413:: @ 826E413 +Route110_TrickHousePuzzle7_EventScript_WroteSecretCodeLockOpened:: @ 826E413 .string "{PLAYER} wrote down the secret code\n" .string "on the door.\p" .string "“TRICK MASTER is huggable.”\n" .string "… … … … … … … …\p" .string "The lock clicked open!$" -Route110_TrickHousePuzzle7_Text_26E481: @ 826E481 +Route110_TrickHousePuzzle7_Text_JoshuaIntro: @ 826E481 .string "The TRICK MASTER always vanishes\n" .string "like smoke. How does he do it?$" -Route110_TrickHousePuzzle7_Text_26E4C1: @ 826E4C1 +Route110_TrickHousePuzzle7_Text_JoshuaDefeat: @ 826E4C1 .string "Aiyeeeh! You're much too strong!\n" .string "How do you do it?$" -Route110_TrickHousePuzzle7_Text_26E4F4: @ 826E4F4 +Route110_TrickHousePuzzle7_Text_JoshuaPostBattle: @ 826E4F4 .string "I wish I could appear and disappear as\n" .string "if I were smoke, too.$" -Route110_TrickHousePuzzle7_Text_26E531: @ 826E531 +Route110_TrickHousePuzzle7_Text_PatriciaIntro: @ 826E531 .string "Going around the same spot…\n" .string "It begets ill fortune…$" -Route110_TrickHousePuzzle7_Text_26E564: @ 826E564 +Route110_TrickHousePuzzle7_Text_PatriciaDefeat: @ 826E564 .string "Defeated!\n" .string "It's a bad sign…$" -Route110_TrickHousePuzzle7_Text_26E57F: @ 826E57F +Route110_TrickHousePuzzle7_Text_PatriciaPostBattle: @ 826E57F .string "I've circled the same spot over ten\n" .string "times now… It's ill fortune…$" -Route110_TrickHousePuzzle7_Text_26E5C0: @ 826E5C0 +Route110_TrickHousePuzzle7_Text_AlexisIntro: @ 826E5C0 .string "Whoever wins will get through here\n" .string "first. That's the feeling I get.$" -Route110_TrickHousePuzzle7_Text_26E604: @ 826E604 +Route110_TrickHousePuzzle7_Text_AlexisDefeat: @ 826E604 .string "Oh!\n" .string "Well, go ahead, then!$" -Route110_TrickHousePuzzle7_Text_26E61E: @ 826E61E +Route110_TrickHousePuzzle7_Text_AlexisPostBattle: @ 826E61E .string "You're solving all the puzzles in the\n" .string "TRICK HOUSE. That's the feeling I get.$" -Route110_TrickHousePuzzle7_Text_26E66B: @ 826E66B +Route110_TrickHousePuzzle7_Text_MarielaIntro: @ 826E66B .string "Nufufufu, here at last!\n" .string "Let's get right with it!$" -Route110_TrickHousePuzzle7_Text_26E69C: @ 826E69C +Route110_TrickHousePuzzle7_Text_MarielaDefeat: @ 826E69C .string "You're so casual about winning!$" -Route110_TrickHousePuzzle7_Text_26E6BC: @ 826E6BC +Route110_TrickHousePuzzle7_Text_MarielaPostBattle: @ 826E6BC .string "Humph! I'm not upset!\n" .string "Not me!$" -Route110_TrickHousePuzzle7_Text_26E6DA: @ 826E6DA +Route110_TrickHousePuzzle7_Text_AlvaroIntro: @ 826E6DA .string "I ever so closely watched you coming!$" -Route110_TrickHousePuzzle7_Text_26E700: @ 826E700 +Route110_TrickHousePuzzle7_Text_AlvaroDefeat: @ 826E700 .string "This outcome I didn't see coming…$" -Route110_TrickHousePuzzle7_Text_26E722: @ 826E722 +Route110_TrickHousePuzzle7_Text_AlvaroPostBattle: @ 826E722 .string "Well, anyway, we both picked a weird\n" .string "place to get acquainted.\p" .string "As one weirdo to another,\n" .string "let's do our best!$" -Route110_TrickHousePuzzle7_Text_26E78D: @ 826E78D +Route110_TrickHousePuzzle7_Text_EverettIntro: @ 826E78D .string "It's awfully cramped in here…$" -Route110_TrickHousePuzzle7_Text_26E7AB: @ 826E7AB +Route110_TrickHousePuzzle7_Text_EverettDefeat: @ 826E7AB .string "Oh, yes, strong you are.$" -Route110_TrickHousePuzzle7_Text_26E7C4: @ 826E7C4 +Route110_TrickHousePuzzle7_Text_EverettPostBattle: @ 826E7C4 .string "I was hoping to switch places with you\n" .string "when I beat you, but…$" diff --git a/data/maps/Route110_TrickHousePuzzle8/map.json b/data/maps/Route110_TrickHousePuzzle8/map.json index b7a06abce2..9e4be0cfca 100644 --- a/data/maps/Route110_TrickHousePuzzle8/map.json +++ b/data/maps/Route110_TrickHousePuzzle8/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_TrickHousePuzzle8_EventScript_26E81F", + "script": "Route110_TrickHousePuzzle8_EventScript_Vincent", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_TrickHousePuzzle8_EventScript_26E84D", + "script": "Route110_TrickHousePuzzle8_EventScript_Leroy", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route110_TrickHousePuzzle8_EventScript_26E836", + "script": "Route110_TrickHousePuzzle8_EventScript_Keira", "flag": "0" }, { @@ -98,7 +98,7 @@ "y": 21, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route110_TrickHousePuzzle8_EventScript_26E802" + "script": "Route110_TrickHousePuzzle8_EventScript_Scroll" } ] } \ No newline at end of file diff --git a/data/maps/Route110_TrickHousePuzzle8/scripts.inc b/data/maps/Route110_TrickHousePuzzle8/scripts.inc index dcb12e3663..9e42182342 100644 --- a/data/maps/Route110_TrickHousePuzzle8/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle8/scripts.inc @@ -1,72 +1,72 @@ Route110_TrickHousePuzzle8_MapScripts:: @ 826E801 .byte 0 -Route110_TrickHousePuzzle8_EventScript_26E802:: @ 826E802 +Route110_TrickHousePuzzle8_EventScript_Scroll:: @ 826E802 lockall compare VAR_TRICK_HOUSE_PUZZLE_8_STATE, 0 - goto_if_eq Route110_TrickHousePuzzle8_EventScript_26E814 - goto Route110_TrickHousePuzzle8_EventScript_26A3DB + goto_if_eq Route110_TrickHousePuzzle8_EventScript_FoundScroll + goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain end -Route110_TrickHousePuzzle8_EventScript_26E814:: @ 826E814 +Route110_TrickHousePuzzle8_EventScript_FoundScroll:: @ 826E814 setvar VAR_TRICK_HOUSE_PUZZLE_8_STATE, 1 - goto Route110_TrickHousePuzzle8_EventScript_26A3E5 + goto Route110_TrickHousePuzzle_EventScript_FoundScroll end -Route110_TrickHousePuzzle8_EventScript_26E81F:: @ 826E81F - trainerbattle_single TRAINER_VINCENT, Route110_TrickHousePuzzle8_Text_26E8CD, Route110_TrickHousePuzzle8_Text_26E8F6 - msgbox Route110_TrickHousePuzzle8_Text_26E918, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle8_EventScript_Vincent:: @ 826E81F + trainerbattle_single TRAINER_VINCENT, Route110_TrickHousePuzzle8_Text_VincentIntro, Route110_TrickHousePuzzle8_Text_VincentDefeat + msgbox Route110_TrickHousePuzzle8_Text_VincentPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle8_EventScript_26E836:: @ 826E836 - trainerbattle_single TRAINER_KEIRA, Route110_TrickHousePuzzle8_Text_26E954, Route110_TrickHousePuzzle8_Text_26E97F - msgbox Route110_TrickHousePuzzle8_Text_26E99F, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle8_EventScript_Keira:: @ 826E836 + trainerbattle_single TRAINER_KEIRA, Route110_TrickHousePuzzle8_Text_KeiraIntro, Route110_TrickHousePuzzle8_Text_KeiraDefeat + msgbox Route110_TrickHousePuzzle8_Text_KeiraPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle8_EventScript_26E84D:: @ 826E84D - trainerbattle_single TRAINER_LEROY, Route110_TrickHousePuzzle8_Text_26E9D7, Route110_TrickHousePuzzle8_Text_26EA14 - msgbox Route110_TrickHousePuzzle8_Text_26EA3F, MSGBOX_AUTOCLOSE +Route110_TrickHousePuzzle8_EventScript_Leroy:: @ 826E84D + trainerbattle_single TRAINER_LEROY, Route110_TrickHousePuzzle8_Text_LeroyIntro, Route110_TrickHousePuzzle8_Text_LeroyDefeat + msgbox Route110_TrickHousePuzzle8_Text_LeroyPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle8_EventScript_26E864:: @ 826E864 +Route110_TrickHousePuzzle8_EventScript_WroteSecretCodeLockOpened:: @ 826E864 .string "{PLAYER} wrote down the secret code\n" .string "on the door.\p" .string "“TRICK MASTER I love.”\n" .string "… … … … … … … …\p" .string "The lock clicked open!$" -Route110_TrickHousePuzzle8_Text_26E8CD: @ 826E8CD +Route110_TrickHousePuzzle8_Text_VincentIntro: @ 826E8CD .string "Not many TRAINERS have made it\n" .string "this far.$" -Route110_TrickHousePuzzle8_Text_26E8F6: @ 826E8F6 +Route110_TrickHousePuzzle8_Text_VincentDefeat: @ 826E8F6 .string "That must mean you're tough, too…$" -Route110_TrickHousePuzzle8_Text_26E918: @ 826E918 +Route110_TrickHousePuzzle8_Text_VincentPostBattle: @ 826E918 .string "You've beaten the POKéMON LEAGUE\n" .string "CHAMPION? That's too much!$" -Route110_TrickHousePuzzle8_Text_26E954: @ 826E954 +Route110_TrickHousePuzzle8_Text_KeiraIntro: @ 826E954 .string "Consider yourself lucky to be\n" .string "battling me!$" -Route110_TrickHousePuzzle8_Text_26E97F: @ 826E97F +Route110_TrickHousePuzzle8_Text_KeiraDefeat: @ 826E97F .string "This isn't right!\n" .string "I can't lose!$" -Route110_TrickHousePuzzle8_Text_26E99F: @ 826E99F +Route110_TrickHousePuzzle8_Text_KeiraPostBattle: @ 826E99F .string "It's a miracle that you beat me.\n" .string "You can brag about it.$" -Route110_TrickHousePuzzle8_Text_26E9D7: @ 826E9D7 +Route110_TrickHousePuzzle8_Text_LeroyIntro: @ 826E9D7 .string "You've been slugging through the TRICK\n" .string "HOUSE challenge, too.$" -Route110_TrickHousePuzzle8_Text_26EA14: @ 826EA14 +Route110_TrickHousePuzzle8_Text_LeroyDefeat: @ 826EA14 .string "I see…\n" .string "You possess an extraordinary style.$" -Route110_TrickHousePuzzle8_Text_26EA3F: @ 826EA3F +Route110_TrickHousePuzzle8_Text_LeroyPostBattle: @ 826EA3F .string "Seeing someone like you should please\n" .string "the TRICK MASTER.$" diff --git a/data/maps/Route111/map.json b/data/maps/Route111/map.json index ef7e29999a..5770ab0c0c 100644 --- a/data/maps/Route111/map.json +++ b/data/maps/Route111/map.json @@ -40,7 +40,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_1F0FC5", + "script": "Route111_EventScript_Victor", "flag": "FLAG_HIDE_ROUTE_111_VICTOR_WINSTRATE" }, { @@ -92,7 +92,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route111_EventScript_1F121B", + "script": "Route111_EventScript_Heidi", "flag": "0" }, { @@ -131,7 +131,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_1F1189", + "script": "Route111_EventScript_Man1", "flag": "0" }, { @@ -144,7 +144,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route111_EventScript_1F1204", + "script": "Route111_EventScript_Drew", "flag": "0" }, { @@ -157,7 +157,7 @@ "movement_range_y": 2, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route111_EventScript_1F1260", + "script": "Route111_EventScript_Dusty", "flag": "0" }, { @@ -170,7 +170,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route111_EventScript_1F1232", + "script": "Route111_EventScript_Beau", "flag": "0" }, { @@ -183,7 +183,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route111_EventScript_1F1249", + "script": "Route111_EventScript_Becky", "flag": "0" }, { @@ -196,7 +196,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_28CDF6", + "script": "GabbyAndTy_EventScript_TyBattle1", "flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1" }, { @@ -209,7 +209,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_28CDD6", + "script": "GabbyAndTy_EventScript_GabbyBattle1", "flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1" }, { @@ -248,7 +248,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_1F0EB9", + "script": "Route111_EventScript_Girl", "flag": "0" }, { @@ -300,7 +300,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_28CE96", + "script": "GabbyAndTy_EventScript_GabbyBattle4", "flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3" }, { @@ -313,7 +313,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_28CEB6", + "script": "GabbyAndTy_EventScript_TyBattle4", "flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3" }, { @@ -326,7 +326,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_28CF16", + "script": "GabbyAndTy_EventScript_GabbyBattle6", "flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2" }, { @@ -339,7 +339,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_28CF36", + "script": "GabbyAndTy_EventScript_TyBattle6", "flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2" }, { @@ -391,7 +391,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route111_EventScript_1F12D9", + "script": "Route111_EventScript_Irene", "flag": "0" }, { @@ -404,7 +404,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route111_EventScript_1F12C2", + "script": "Route111_EventScript_Travis", "flag": "0" }, { @@ -417,7 +417,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route111_EventScript_1F12F0", + "script": "Route111_EventScript_Daisuke", "flag": "0" }, { @@ -430,7 +430,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route111_EventScript_1F1369", + "script": "Route111_EventScript_Brooke", "flag": "0" }, { @@ -443,7 +443,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route111_EventScript_1F1307", + "script": "Route111_EventScript_Wilton", "flag": "0" }, { @@ -456,7 +456,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_2765FF", + "script": "Route111_EventScript_SecretPowerMan", "flag": "FLAG_HIDE_ROUTE_111_SECRET_POWER_MAN" }, { @@ -469,7 +469,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_1F1192", + "script": "Route111_EventScript_Man2", "flag": "0" }, { @@ -482,7 +482,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route111_EventScript_1F13F9", + "script": "Route111_EventScript_Tyron", "flag": "0" }, { @@ -495,7 +495,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route111_EventScript_1F1410", + "script": "Route111_EventScript_Celina", "flag": "0" }, { @@ -508,7 +508,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route111_EventScript_1F13E2", + "script": "Route111_EventScript_Bianca", "flag": "0" }, { @@ -521,7 +521,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route111_EventScript_1F13CB", + "script": "Route111_EventScript_Hayden", "flag": "0" }, { @@ -534,7 +534,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "7", - "script": "Route111_EventScript_1F143E", + "script": "Route111_EventScript_Bryan", "flag": "0" }, { @@ -547,7 +547,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "Route111_EventScript_1F1427", + "script": "Route111_EventScript_Celia", "flag": "0" }, { @@ -560,7 +560,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "7", - "script": "Route111_EventScript_1F1455", + "script": "Route111_EventScript_Branden", "flag": "0" }, { @@ -586,7 +586,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_1F119B", + "script": "Route111_EventScript_Hiker", "flag": "0" }, { @@ -625,7 +625,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_1F11E4", + "script": "Route111_EventScript_RockSmashTipFatMan", "flag": "FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY" } ], @@ -674,7 +674,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FBD" + "script": "Route111_EventScript_SandstormTrigger" }, { "type": "trigger", @@ -683,7 +683,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route111_EventScript_1F0F0A" + "script": "Route111_EventScript_ViciousSandstormTriggerDown" }, { "type": "trigger", @@ -692,7 +692,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route111_EventScript_1F0F0A" + "script": "Route111_EventScript_ViciousSandstormTriggerDown" }, { "type": "trigger", @@ -701,7 +701,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route111_EventScript_1F0F0A" + "script": "Route111_EventScript_ViciousSandstormTriggerDown" }, { "type": "trigger", @@ -710,7 +710,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FB0" + "script": "Route111_EventScript_SunTrigger" }, { "type": "trigger", @@ -719,7 +719,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route111_EventScript_1F0F16" + "script": "Route111_EventScript_ViciousSandstormTriggerLeft" }, { "type": "trigger", @@ -728,7 +728,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route111_EventScript_1F0F16" + "script": "Route111_EventScript_ViciousSandstormTriggerLeft" }, { "type": "trigger", @@ -737,7 +737,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route111_EventScript_1F0F16" + "script": "Route111_EventScript_ViciousSandstormTriggerLeft" }, { "type": "trigger", @@ -746,7 +746,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route111_EventScript_1F0F16" + "script": "Route111_EventScript_ViciousSandstormTriggerLeft" }, { "type": "trigger", @@ -755,7 +755,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route111_EventScript_1F0F0A" + "script": "Route111_EventScript_ViciousSandstormTriggerDown" }, { "type": "trigger", @@ -764,7 +764,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FB0" + "script": "Route111_EventScript_SunTrigger" }, { "type": "trigger", @@ -773,7 +773,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FB0" + "script": "Route111_EventScript_SunTrigger" }, { "type": "trigger", @@ -782,7 +782,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FB0" + "script": "Route111_EventScript_SunTrigger" }, { "type": "trigger", @@ -791,7 +791,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FB0" + "script": "Route111_EventScript_SunTrigger" }, { "type": "trigger", @@ -800,7 +800,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route111_EventScript_1F0F16" + "script": "Route111_EventScript_ViciousSandstormTriggerLeft" }, { "type": "trigger", @@ -809,7 +809,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": "0", - "script": "Route111_EventScript_1F0F16" + "script": "Route111_EventScript_ViciousSandstormTriggerLeft" }, { "type": "trigger", @@ -818,7 +818,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FB0" + "script": "Route111_EventScript_SunTrigger" }, { "type": "trigger", @@ -827,7 +827,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FB0" + "script": "Route111_EventScript_SunTrigger" }, { "type": "trigger", @@ -836,7 +836,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FB0" + "script": "Route111_EventScript_SunTrigger" }, { "type": "trigger", @@ -845,7 +845,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FB0" + "script": "Route111_EventScript_SunTrigger" }, { "type": "trigger", @@ -854,7 +854,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FB0" + "script": "Route111_EventScript_SunTrigger" }, { "type": "trigger", @@ -863,7 +863,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FB0" + "script": "Route111_EventScript_SunTrigger" }, { "type": "trigger", @@ -872,7 +872,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FB0" + "script": "Route111_EventScript_SunTrigger" }, { "type": "trigger", @@ -881,7 +881,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FBD" + "script": "Route111_EventScript_SandstormTrigger" }, { "type": "trigger", @@ -890,7 +890,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FBD" + "script": "Route111_EventScript_SandstormTrigger" }, { "type": "trigger", @@ -899,7 +899,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FBD" + "script": "Route111_EventScript_SandstormTrigger" }, { "type": "trigger", @@ -908,7 +908,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FBD" + "script": "Route111_EventScript_SandstormTrigger" }, { "type": "trigger", @@ -917,7 +917,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FBD" + "script": "Route111_EventScript_SandstormTrigger" }, { "type": "trigger", @@ -926,7 +926,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FBD" + "script": "Route111_EventScript_SandstormTrigger" }, { "type": "trigger", @@ -935,7 +935,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FBD" + "script": "Route111_EventScript_SandstormTrigger" }, { "type": "trigger", @@ -944,7 +944,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FBD" + "script": "Route111_EventScript_SandstormTrigger" }, { "type": "trigger", @@ -953,7 +953,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FBD" + "script": "Route111_EventScript_SandstormTrigger" }, { "type": "trigger", @@ -962,7 +962,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FBD" + "script": "Route111_EventScript_SandstormTrigger" }, { "type": "trigger", @@ -971,7 +971,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "Route111_EventScript_1F0FBD" + "script": "Route111_EventScript_SandstormTrigger" } ], "bg_events": [ @@ -981,7 +981,7 @@ "y": 114, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route111_EventScript_1F115C" + "script": "Route111_EventScript_WinstrateHouseSign" }, { "type": "sign", @@ -989,7 +989,7 @@ "y": 126, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route111_EventScript_1F1153" + "script": "Route111_EventScript_RouteSignMauville" }, { "type": "sign", @@ -997,7 +997,7 @@ "y": 66, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route111_EventScript_1F1165" + "script": "Route111_EventScript_RouteSign112" }, { "type": "sign", @@ -1005,7 +1005,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route111_EventScript_1F116E" + "script": "Route111_EventScript_RouteSign113" }, { "type": "secret_base", @@ -1034,7 +1034,7 @@ "y": 19, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route111_EventScript_1F1177" + "script": "Route111_EventScript_OldLadysRestStopSign" }, { "type": "secret_base", @@ -1071,7 +1071,7 @@ "y": 84, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route111_EventScript_1F1180" + "script": "Route111_EventScript_TrainerTipsSpAtkSpDef" }, { "type": "secret_base", @@ -1109,7 +1109,7 @@ "y": 116, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route111_EventScript_1F146C" + "script": "Route111_EventScript_TrainerHillSign" } ] } \ No newline at end of file diff --git a/data/maps/Route111/scripts.inc b/data/maps/Route111/scripts.inc index c913d7e6ec..5971dc7f95 100644 --- a/data/maps/Route111/scripts.inc +++ b/data/maps/Route111/scripts.inc @@ -1,22 +1,23 @@ Route111_MapScripts:: @ 81F0CA7 - map_script MAP_SCRIPT_ON_LOAD, Route111_MapScript1_1F0CBC + map_script MAP_SCRIPT_ON_LOAD, Route111_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, Route111_OnTransition - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route111_MapScript2_1F0E46 - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route111_MapScript2_1F0E56 + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route111_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route111_OnFrame .byte 0 -Route111_MapScript1_1F0CBC: @ 81F0CBC - call_if_unset FLAG_REGI_DOORS_OPENED, Route111_EventScript_1F0CD1 +Route111_OnLoad: @ 81F0CBC + call_if_unset FLAG_REGI_DOORS_OPENED, Route111_EventScript_CloseDesertRuins compare VAR_MIRAGE_TOWER_STATE, 1 - call_if_eq Route111_EventScript_1F0CE4 + call_if_eq Route111_EventScript_ShowTemporaryMirageTower end -Route111_EventScript_1F0CD1:: @ 81F0CD1 +Route111_EventScript_CloseDesertRuins:: @ 81F0CD1 setmetatile 29, 86, METATILE_General_RockWall_RockBase, 1 setmetatile 29, 87, METATILE_General_RockWall_SandBase, 1 return -Route111_EventScript_1F0CE4:: @ 81F0CE4 +@ Show Mirage Tower just prior to disintegration. Mirage Tower is otherwise handled by the map layout +Route111_EventScript_ShowTemporaryMirageTower:: @ 81F0CE4 setmetatile 18, 53, METATILE_Mauville_MirageTower_Tile0, 0 setmetatile 19, 53, METATILE_Mauville_MirageTower_Tile1, 0 setmetatile 20, 53, METATILE_Mauville_MirageTower_Tile2, 0 @@ -40,53 +41,50 @@ Route111_EventScript_1F0CE4:: @ 81F0CE4 Route111_OnTransition: @ 81F0D87 setvar VAR_TRAINER_HILL_IS_ACTIVE, 0 special SetMirageTowerVisibility - call_if_unset FLAG_MIRAGE_TOWER_VISIBLE, Route111_EventScript_1F0E3C + call_if_unset FLAG_MIRAGE_TOWER_VISIBLE, Route111_EventScript_SetLayoutNoMirageTower compare VAR_MIRAGE_TOWER_STATE, 1 - call_if_eq Route111_EventScript_1F0DC2 + call_if_eq Route111_EventScript_SetFallingPlayerGfx compare VAR_MIRAGE_TOWER_STATE, 2 - call_if_eq Route111_EventScript_1F0E40 - call Route111_EventScript_1F0DE6 - call Route111_EventScript_28CCC7 - checktrainerflag TRAINER_VICKY - goto_if_lt Route111_EventScript_1F0E26 + call_if_eq Route111_EventScript_SetMirageTowerGone + call Route111_EventScript_CheckSetSandstorm + call GabbyAndTy_EventScript_UpdateLocation + goto_if_not_defeated TRAINER_VICKY, Route111_EventScript_SetWinstratesNotDefeated end -Route111_EventScript_1F0DC2:: @ 81F0DC2 +Route111_EventScript_SetFallingPlayerGfx:: @ 81F0DC2 checkplayergender compare VAR_RESULT, MALE - goto_if_eq Route111_EventScript_1F0DDA + goto_if_eq Route111_EventScript_SetFallingPlayerGfxMale compare VAR_RESULT, FEMALE - goto_if_eq Route111_EventScript_1F0DE0 + goto_if_eq Route111_EventScript_SetFallingPlayerGfxFemale return -Route111_EventScript_1F0DDA:: @ 81F0DDA +Route111_EventScript_SetFallingPlayerGfxMale:: @ 81F0DDA setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL return -Route111_EventScript_1F0DE0:: @ 81F0DE0 +Route111_EventScript_SetFallingPlayerGfxFemale:: @ 81F0DE0 setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL return -Route111_EventScript_1F0DE6:: @ 81F0DE6 +Route111_EventScript_CheckSetSandstorm:: @ 81F0DE6 getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_TEMP_1, 34 - goto_if_lt Route111_EventScript_1F0E25 + goto_if_lt Route111_EventScript_EndCheckSetSandstorm compare VAR_TEMP_1, 107 - goto_if_gt Route111_EventScript_1F0E25 + goto_if_gt Route111_EventScript_EndCheckSetSandstorm compare VAR_TEMP_1, 72 - goto_if_gt Route111_EventScript_1F0E22 + goto_if_gt Route111_EventScript_SetSandstorm compare VAR_TEMP_0, 2000 - goto_if_gt Route111_EventScript_1F0E25 + goto_if_gt Route111_EventScript_EndCheckSetSandstorm compare VAR_TEMP_0, 8 - goto_if_lt Route111_EventScript_1F0E25 - -Route111_EventScript_1F0E22:: @ 81F0E22 + goto_if_lt Route111_EventScript_EndCheckSetSandstorm +Route111_EventScript_SetSandstorm:: @ 81F0E22 setweather WEATHER_SANDSTORM - -Route111_EventScript_1F0E25:: @ 81F0E25 +Route111_EventScript_EndCheckSetSandstorm:: @ 81F0E25 return -Route111_EventScript_1F0E26:: @ 81F0E26 +Route111_EventScript_SetWinstratesNotDefeated:: @ 81F0E26 clearflag FLAG_HIDE_ROUTE_111_VICTOR_WINSTRATE setflag FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE setflag FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE @@ -96,27 +94,27 @@ Route111_EventScript_1F0E26:: @ 81F0E26 cleartrainerflag TRAINER_VIVI end -Route111_EventScript_1F0E3C:: @ 81F0E3C +Route111_EventScript_SetLayoutNoMirageTower:: @ 81F0E3C setmaplayoutindex LAYOUT_ROUTE111_NO_MIRAGE_TOWER return -Route111_EventScript_1F0E40:: @ 81F0E40 +Route111_EventScript_SetMirageTowerGone:: @ 81F0E40 setvar VAR_MIRAGE_TOWER_STATE, 3 return -Route111_MapScript2_1F0E46: @ 81F0E46 - map_script_2 VAR_MIRAGE_TOWER_STATE, 1, Route111_EventScript_1F0E50 +Route111_OnWarp: @ 81F0E46 + map_script_2 VAR_MIRAGE_TOWER_STATE, 1, Route111_EventScript_HidePlayerForMirageTower .2byte 0 -Route111_EventScript_1F0E50:: @ 81F0E50 +Route111_EventScript_HidePlayerForMirageTower:: @ 81F0E50 hideobjectat EVENT_OBJ_ID_PLAYER, MAP_LITTLEROOT_TOWN end -Route111_MapScript2_1F0E56: @ 81F0E56 - map_script_2 VAR_MIRAGE_TOWER_STATE, 1, Route111_EventScript_1F0E60 +Route111_OnFrame: @ 81F0E56 + map_script_2 VAR_MIRAGE_TOWER_STATE, 1, Route111_EventScript_MirageTowerDisappear .2byte 0 -Route111_EventScript_1F0E60:: @ 81F0E60 +Route111_EventScript_MirageTowerDisappear:: @ 81F0E60 lockall special StartMirageTowerShake waitstate @@ -128,7 +126,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 @@ -136,17 +134,18 @@ Route111_EventScript_1F0E60:: @ 81F0E60 waitstate setvar VAR_MIRAGE_TOWER_STATE, 2 clearflag FLAG_HIDE_DESERT_UNDERPASS_FOSSIL - goto_if_set FLAG_CHOSE_ROOT_FOSSIL, Route111_EventScript_1F0EA7 - msgbox Route111_Text_1F1C74, MSGBOX_DEFAULT + goto_if_set FLAG_CHOSE_CLAW_FOSSIL, Route111_EventScript_RootFossilDisappeared + msgbox Route111_Text_ClawFossilDisappeared, MSGBOX_DEFAULT releaseall end -Route111_EventScript_1F0EA7:: @ 81F0EA7 - msgbox Route111_Text_1F1C9F, MSGBOX_DEFAULT +Route111_EventScript_RootFossilDisappeared:: @ 81F0EA7 + msgbox Route111_Text_RootFossilDisappeared, MSGBOX_DEFAULT releaseall end -Route111_Movement_1F0EB1:: @ 81F0EB1 +@ Unused +Route111_Movement_PlayerFall:: @ 81F0EB1 store_lock_anim walk_fast_down walk_fast_down @@ -156,498 +155,500 @@ Route111_Movement_1F0EB1:: @ 81F0EB1 walk_fast_down step_end -Route111_EventScript_1F0EB9:: @ 81F0EB9 +Route111_EventScript_Girl:: @ 81F0EB9 lock faceplayer dotimebasedevents - goto_if_set FLAG_DAILY_ROUTE_111_RECEIVED_BERRY, Route111_EventScript_1F0EF4 - msgbox Route111_Text_2A6EBD, MSGBOX_DEFAULT - giveitem_std ITEM_RAZZ_BERRY - compare VAR_RESULT, 0 + goto_if_set FLAG_DAILY_ROUTE_111_RECEIVED_BERRY, Route111_EventScript_ReceivedBerry + msgbox Route111_Text_WateredPlantsEveryDayTakeBerry, MSGBOX_DEFAULT + giveitem ITEM_RAZZ_BERRY + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_DAILY_ROUTE_111_RECEIVED_BERRY special GetPlayerBigGuyGirlString - msgbox Route111_Text_2A6F3D, MSGBOX_DEFAULT + msgbox Route111_Text_GoingToTryToMakeDifferentColorBerries, MSGBOX_DEFAULT release end -Route111_EventScript_1F0EF4:: @ 81F0EF4 - msgbox Route111_Text_2A6F9A, MSGBOX_DEFAULT +Route111_EventScript_ReceivedBerry:: @ 81F0EF4 + msgbox Route111_Text_WhatColorBerriesToLookForToday, MSGBOX_DEFAULT release end -Route111_EventScript_1F0EFE:: @ 81F0EFE +@ Unused +Route111_EventScript_ViciousSandstormTriggerUp:: @ 81F0EFE lockall setvar VAR_0x8004, 0 - goto Route111_EventScript_1F0F2E + goto Route111_EventScript_ViciousSandstormTrigger end -Route111_EventScript_1F0F0A:: @ 81F0F0A +Route111_EventScript_ViciousSandstormTriggerDown:: @ 81F0F0A lockall setvar VAR_0x8004, 1 - goto Route111_EventScript_1F0F2E + goto Route111_EventScript_ViciousSandstormTrigger end -Route111_EventScript_1F0F16:: @ 81F0F16 +Route111_EventScript_ViciousSandstormTriggerLeft:: @ 81F0F16 lockall setvar VAR_0x8004, 2 - goto Route111_EventScript_1F0F2E + goto Route111_EventScript_ViciousSandstormTrigger end -Route111_EventScript_1F0F22:: @ 81F0F22 +@ Unused +Route111_EventScript_ViciousSandstormTriggerRight:: @ 81F0F22 lockall setvar VAR_0x8004, 3 - goto Route111_EventScript_1F0F2E + goto Route111_EventScript_ViciousSandstormTrigger end -Route111_EventScript_1F0F2E:: @ 81F0F2E +Route111_EventScript_ViciousSandstormTrigger:: @ 81F0F2E checkitem ITEM_GO_GOGGLES, 1 - compare VAR_RESULT, 0 - goto_if_eq Route111_EventScript_1F0F45 + compare VAR_RESULT, FALSE + goto_if_eq Route111_EventScript_PreventRouteAccess setvar VAR_TEMP_3, 1 releaseall end -Route111_EventScript_1F0F45:: @ 81F0F45 - msgbox gUnknown_08272C5F, MSGBOX_DEFAULT +Route111_EventScript_PreventRouteAccess:: @ 81F0F45 + msgbox gText_SandstormIsVicious, MSGBOX_DEFAULT closemessage compare VAR_0x8004, 0 - call_if_eq Route111_EventScript_1F0F7C + call_if_eq Route111_EventScript_PushUpFromRoute compare VAR_0x8004, 1 - call_if_eq Route111_EventScript_1F0F87 + call_if_eq Route111_EventScript_PushDownFromRoute compare VAR_0x8004, 2 - call_if_eq Route111_EventScript_1F0F92 + call_if_eq Route111_EventScript_PushLeftFromRoute compare VAR_0x8004, 3 - call_if_eq Route111_EventScript_1F0F9D + call_if_eq Route111_EventScript_PushRightFromRoute releaseall end -Route111_EventScript_1F0F7C:: @ 81F0F7C - applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FA8 +Route111_EventScript_PushUpFromRoute:: @ 81F0F7C + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_PushUpFromRoute waitmovement 0 return -Route111_EventScript_1F0F87:: @ 81F0F87 - applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FAA +Route111_EventScript_PushDownFromRoute:: @ 81F0F87 + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_PushDownFromRoute waitmovement 0 return -Route111_EventScript_1F0F92:: @ 81F0F92 - applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FAC +Route111_EventScript_PushLeftFromRoute:: @ 81F0F92 + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_PushLeftFromRoute waitmovement 0 return -Route111_EventScript_1F0F9D:: @ 81F0F9D - applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FAE +Route111_EventScript_PushRightFromRoute:: @ 81F0F9D + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_PushRightFromRoute waitmovement 0 return -Route111_Movement_1F0FA8: @ 81F0FA8 +Route111_Movement_PushUpFromRoute: @ 81F0FA8 walk_up step_end -Route111_Movement_1F0FAA: @ 81F0FAA +Route111_Movement_PushDownFromRoute: @ 81F0FAA walk_down step_end -Route111_Movement_1F0FAC: @ 81F0FAC +Route111_Movement_PushLeftFromRoute: @ 81F0FAC walk_left step_end -Route111_Movement_1F0FAE: @ 81F0FAE +Route111_Movement_PushRightFromRoute: @ 81F0FAE walk_right step_end -Route111_EventScript_1F0FB0:: @ 81F0FB0 +Route111_EventScript_SunTrigger:: @ 81F0FB0 setweather WEATHER_SUNNY fadenewbgm MUS_DOORO_X1 doweather setvar VAR_TEMP_3, 0 end -Route111_EventScript_1F0FBD:: @ 81F0FBD +Route111_EventScript_SandstormTrigger:: @ 81F0FBD setweather WEATHER_SANDSTORM fadenewbgm MUS_ASHROAD doweather end -Route111_EventScript_1F0FC5:: @ 81F0FC5 +Route111_EventScript_Victor:: @ 81F0FC5 lock faceplayer setflag FLAG_LANDMARK_WINSTRATE_FAMILY - msgbox Route111_Text_1F1475, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route111_EventScript_1F0FE7 - msgbox Route111_Text_1F14F5, MSGBOX_DEFAULT + msgbox Route111_Text_BattleOurFamily, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route111_EventScript_BattleWinstrates + msgbox Route111_Text_IsThatSo, MSGBOX_DEFAULT release end -Route111_EventScript_1F0FE7:: @ 81F0FE7 - msgbox Route111_Text_1F1523, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_VICTOR, Route111_Text_1F1542 - applymovement 1, Common_Movement_WalkInPlaceUp +Route111_EventScript_BattleWinstrates:: @ 81F0FE7 + msgbox Route111_Text_VictorIntro, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_VICTOR, Route111_Text_VictorDefeat + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - call Route111_EventScript_1F113C - msgbox Route111_Text_1F156F, MSGBOX_DEFAULT + call Route111_EventScript_OpenWinstrateDoor + msgbox Route111_Text_VictorPostBattle, MSGBOX_DEFAULT closemessage - applymovement 1, Route111_Movement_1F114A + applymovement 1, Route111_Movement_WinstrateEnterHouse waitmovement 0 removeobject 1 - call Route111_EventScript_1F1143 - applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F114F + call Route111_EventScript_CloseWinstrateDoor + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_WaitForNextWinstrate waitmovement 0 - call Route111_EventScript_1F113C + call Route111_EventScript_OpenWinstrateDoor addobject 2 - applymovement 2, Route111_Movement_1F114D + applymovement 2, Route111_Movement_WinstrateExitHouse waitmovement 0 - call Route111_EventScript_1F1143 - msgbox Route111_Text_1F159D, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_VICTORIA, Route111_Text_1F1616 - applymovement 2, Common_Movement_WalkInPlaceUp + call Route111_EventScript_CloseWinstrateDoor + msgbox Route111_Text_VictoriaIntro, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_VICTORIA, Route111_Text_VictoriaDefeat + applymovement 2, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - call Route111_EventScript_1F113C - msgbox Route111_Text_1F1645, MSGBOX_DEFAULT + call Route111_EventScript_OpenWinstrateDoor + msgbox Route111_Text_VictoriaPostBattle, MSGBOX_DEFAULT closemessage - applymovement 2, Route111_Movement_1F114A + applymovement 2, Route111_Movement_WinstrateEnterHouse waitmovement 0 removeobject 2 - call Route111_EventScript_1F1143 - applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F114F + call Route111_EventScript_CloseWinstrateDoor + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_WaitForNextWinstrate waitmovement 0 - call Route111_EventScript_1F113C + call Route111_EventScript_OpenWinstrateDoor addobject 3 - applymovement 3, Route111_Movement_1F114D + applymovement 3, Route111_Movement_WinstrateExitHouse waitmovement 0 - call Route111_EventScript_1F1143 - msgbox Route111_Text_1F167E, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_VIVI, Route111_Text_1F16C6 - applymovement 3, Common_Movement_WalkInPlaceUp + call Route111_EventScript_CloseWinstrateDoor + msgbox Route111_Text_ViviIntro, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_VIVI, Route111_Text_ViviDefeat + applymovement 3, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - call Route111_EventScript_1F113C - msgbox Route111_Text_1F16DC, MSGBOX_DEFAULT + call Route111_EventScript_OpenWinstrateDoor + msgbox Route111_Text_ViviPostBattle, MSGBOX_DEFAULT closemessage - applymovement 3, Route111_Movement_1F114A + applymovement 3, Route111_Movement_WinstrateEnterHouse waitmovement 0 removeobject 3 - call Route111_EventScript_1F1143 - applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F114F + call Route111_EventScript_CloseWinstrateDoor + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_WaitForNextWinstrate waitmovement 0 - call Route111_EventScript_1F113C + call Route111_EventScript_OpenWinstrateDoor addobject 4 - applymovement 4, Route111_Movement_1F114D + applymovement 4, Route111_Movement_WinstrateExitHouse waitmovement 0 - call Route111_EventScript_1F1143 - msgbox Route111_Text_1F16FB, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_VICKY, Route111_Text_1F1756 - msgbox Route111_Text_1F1788, MSGBOX_DEFAULT + call Route111_EventScript_CloseWinstrateDoor + msgbox Route111_Text_VickyIntro, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_VICKY, Route111_Text_VickyDefeat + msgbox Route111_Text_VickyPostBattle, MSGBOX_DEFAULT closemessage - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - call Route111_EventScript_1F113C - applymovement 4, Route111_Movement_1F114A + call Route111_EventScript_OpenWinstrateDoor + applymovement 4, Route111_Movement_WinstrateEnterHouse waitmovement 0 removeobject 4 - call Route111_EventScript_1F1143 + call Route111_EventScript_CloseWinstrateDoor release end -Route111_EventScript_1F113C:: @ 81F113C +Route111_EventScript_OpenWinstrateDoor:: @ 81F113C opendoor 13, 113 waitdooranim return -Route111_EventScript_1F1143:: @ 81F1143 +Route111_EventScript_CloseWinstrateDoor:: @ 81F1143 closedoor 13, 113 waitdooranim return -Route111_Movement_1F114A: @ 81F114A +Route111_Movement_WinstrateEnterHouse: @ 81F114A walk_in_place_fastest_up walk_up step_end -Route111_Movement_1F114D: @ 81F114D +Route111_Movement_WinstrateExitHouse: @ 81F114D walk_down step_end -Route111_Movement_1F114F: @ 81F114F +Route111_Movement_WaitForNextWinstrate: @ 81F114F delay_16 delay_16 delay_16 step_end -Route111_EventScript_1F1153:: @ 81F1153 - msgbox Route111_Text_1F18CE, MSGBOX_SIGN +Route111_EventScript_RouteSignMauville:: @ 81F1153 + msgbox Route111_Text_RouteSignMauville, MSGBOX_SIGN end -Route111_EventScript_1F115C:: @ 81F115C - msgbox Route111_Text_1F18E8, MSGBOX_SIGN +Route111_EventScript_WinstrateHouseSign:: @ 81F115C + msgbox Route111_Text_WinstrateHouseSign, MSGBOX_SIGN end -Route111_EventScript_1F1165:: @ 81F1165 - msgbox Route111_Text_1F1921, MSGBOX_SIGN +Route111_EventScript_RouteSign112:: @ 81F1165 + msgbox Route111_Text_RouteSign112, MSGBOX_SIGN end -Route111_EventScript_1F116E:: @ 81F116E - msgbox Route111_Text_1F1937, MSGBOX_SIGN +Route111_EventScript_RouteSign113:: @ 81F116E + msgbox Route111_Text_RouteSign113, MSGBOX_SIGN end -Route111_EventScript_1F1177:: @ 81F1177 - msgbox Route111_Text_1F194D, MSGBOX_SIGN +Route111_EventScript_OldLadysRestStopSign:: @ 81F1177 + msgbox Route111_Text_OldLadysRestStopSign, MSGBOX_SIGN end -Route111_EventScript_1F1180:: @ 81F1180 - msgbox Route111_Text_1F1987, MSGBOX_SIGN +Route111_EventScript_TrainerTipsSpAtkSpDef:: @ 81F1180 + msgbox Route111_Text_TrainerTipsSpAtkSpDef, MSGBOX_SIGN end -Route111_EventScript_1F1189:: @ 81F1189 - msgbox Route111_Text_1F17BA, MSGBOX_NPC +Route111_EventScript_Man1:: @ 81F1189 + msgbox Route111_Text_ToughToKeepWinningUpTheRanks, MSGBOX_NPC end -Route111_EventScript_1F1192:: @ 81F1192 - msgbox Route111_Text_1F186E, MSGBOX_NPC +Route111_EventScript_Man2:: @ 81F1192 + msgbox Route111_Text_WinstrateFamilyDestroyedMe, MSGBOX_NPC end -Route111_EventScript_1F119B:: @ 81F119B +Route111_EventScript_Hiker:: @ 81F119B lock faceplayer compare VAR_MIRAGE_TOWER_STATE, 3 - goto_if_eq Route111_EventScript_1F11C6 + goto_if_eq Route111_EventScript_HikerMirageTowerGone compare VAR_MIRAGE_TOWER_STATE, 2 - goto_if_eq Route111_EventScript_1F11D0 - goto_if_set FLAG_MIRAGE_TOWER_VISIBLE, Route111_EventScript_1F11DA - msgbox Route111_Text_1F1A22, MSGBOX_DEFAULT + goto_if_eq Route111_EventScript_HikerMirageTowerDisintegrated + goto_if_set FLAG_MIRAGE_TOWER_VISIBLE, Route111_EventScript_HikerMirageTowerVisible + msgbox Route111_Text_ShouldBeMirageTowerAroundHere, MSGBOX_DEFAULT release end -Route111_EventScript_1F11C6:: @ 81F11C6 - msgbox Route111_Text_1F1C12, MSGBOX_DEFAULT +Route111_EventScript_HikerMirageTowerGone:: @ 81F11C6 + msgbox Route111_Text_MirageTowerHasntBeenSeenSince, MSGBOX_DEFAULT release end -Route111_EventScript_1F11D0:: @ 81F11D0 - msgbox Route111_Text_1F1B92, MSGBOX_DEFAULT +Route111_EventScript_HikerMirageTowerDisintegrated:: @ 81F11D0 + msgbox Route111_Text_ThatWasShockingSandRainedDown, MSGBOX_DEFAULT release end -Route111_EventScript_1F11DA:: @ 81F11DA - msgbox Route111_Text_1F1AC7, MSGBOX_DEFAULT +Route111_EventScript_HikerMirageTowerVisible:: @ 81F11DA + msgbox Route111_Text_MirageTowerClearlyVisible, MSGBOX_DEFAULT release end -Route111_EventScript_1F11E4:: @ 81F11E4 +Route111_EventScript_RockSmashTipFatMan:: @ 81F11E4 lockall applymovement 46, Common_Movement_FacePlayer waitmovement 0 - msgbox Route111_Text_1F1CCA, MSGBOX_DEFAULT + msgbox Route111_Text_MauvilleUncleToldMeToTakeRockSmash, MSGBOX_DEFAULT closemessage applymovement 46, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end -Route111_EventScript_1F1204:: @ 81F1204 - trainerbattle_single TRAINER_DREW, Route111_Text_29878E, Route111_Text_29880A - msgbox Route111_Text_298853, MSGBOX_AUTOCLOSE +Route111_EventScript_Drew:: @ 81F1204 + trainerbattle_single TRAINER_DREW, Route111_Text_DrewIntro, Route111_Text_DrewDefeat + msgbox Route111_Text_DrewPostBattle, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F121B:: @ 81F121B - trainerbattle_single TRAINER_HEIDI, Route111_Text_2988A3, Route111_Text_298908 - msgbox Route111_Text_29891B, MSGBOX_AUTOCLOSE +Route111_EventScript_Heidi:: @ 81F121B + trainerbattle_single TRAINER_HEIDI, Route111_Text_HeidiIntro, Route111_Text_HeidiDefeat + msgbox Route111_Text_HeidiPostBattle, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F1232:: @ 81F1232 - trainerbattle_single TRAINER_BEAU, Route111_Text_29898E, Route111_Text_2989E6 - msgbox Route111_Text_298A03, MSGBOX_AUTOCLOSE +Route111_EventScript_Beau:: @ 81F1232 + trainerbattle_single TRAINER_BEAU, Route111_Text_BeauIntro, Route111_Text_BeauDefeat + msgbox Route111_Text_BeauPostBattle, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F1249:: @ 81F1249 - trainerbattle_single TRAINER_BECKY, Route111_Text_298A65, Route111_Text_298AAF - msgbox Route111_Text_298AC0, MSGBOX_AUTOCLOSE +Route111_EventScript_Becky:: @ 81F1249 + trainerbattle_single TRAINER_BECKY, Route111_Text_BeckyIntro, Route111_Text_BeckyDefeat + msgbox Route111_Text_BeckyPostBattle, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F1260:: @ 81F1260 - trainerbattle_single TRAINER_DUSTY_1, Route111_Text_298B08, Route111_Text_298B53, Route111_EventScript_1F128C +Route111_EventScript_Dusty:: @ 81F1260 + trainerbattle_single TRAINER_DUSTY_1, Route111_Text_DustyIntro, Route111_Text_DustyDefeat, Route111_EventScript_RegisterDusty specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route111_EventScript_1F12AB - msgbox Route111_Text_298B9A, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route111_EventScript_RematchDusty + msgbox Route111_Text_DustyPostBattle, MSGBOX_DEFAULT release end -Route111_EventScript_1F128C:: @ 81F128C - special sub_80B4808 +Route111_EventScript_RegisterDusty:: @ 81F128C + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route111_Text_298C00, MSGBOX_DEFAULT + msgbox Route111_Text_DustyRegister, MSGBOX_DEFAULT register_matchcall TRAINER_DUSTY_1 release end -Route111_EventScript_1F12AB:: @ 81F12AB - trainerbattle_rematch TRAINER_DUSTY_1, Route111_Text_298C5F, Route111_Text_298CD2 - msgbox Route111_Text_298D0C, MSGBOX_AUTOCLOSE +Route111_EventScript_RematchDusty:: @ 81F12AB + trainerbattle_rematch TRAINER_DUSTY_1, Route111_Text_DustyRematchIntro, Route111_Text_DustyRematchDefeat + msgbox Route111_Text_DustyPostRematch, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F12C2:: @ 81F12C2 - trainerbattle_single TRAINER_TRAVIS, Route111_Text_298DA9, Route111_Text_298DD8 - msgbox Route111_Text_298DF1, MSGBOX_AUTOCLOSE +Route111_EventScript_Travis:: @ 81F12C2 + trainerbattle_single TRAINER_TRAVIS, Route111_Text_TravisIntro, Route111_Text_TravisDefeat + msgbox Route111_Text_TravisPostBattle, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F12D9:: @ 81F12D9 - trainerbattle_single TRAINER_IRENE, Route111_Text_298E2F, Route111_Text_298E6E - msgbox Route111_Text_298E8C, MSGBOX_AUTOCLOSE +Route111_EventScript_Irene:: @ 81F12D9 + trainerbattle_single TRAINER_IRENE, Route111_Text_IreneIntro, Route111_Text_IreneDefeat + msgbox Route111_Text_IrenePostBattle, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F12F0:: @ 81F12F0 - trainerbattle_single TRAINER_DAISUKE, Route111_Text_298EE6, Route111_Text_298F14 - msgbox Route111_Text_298F26, MSGBOX_AUTOCLOSE +Route111_EventScript_Daisuke:: @ 81F12F0 + trainerbattle_single TRAINER_DAISUKE, Route111_Text_DaisukeIntro, Route111_Text_DaisukeDefeat + msgbox Route111_Text_DaisukePostBattle, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F1307:: @ 81F1307 - trainerbattle_single TRAINER_WILTON_1, Route111_Text_298F79, Route111_Text_298FA9, Route111_EventScript_1F1333 +Route111_EventScript_Wilton:: @ 81F1307 + trainerbattle_single TRAINER_WILTON_1, Route111_Text_WiltonIntro, Route111_Text_WiltonDefeat, Route111_EventScript_RegisterWilton specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route111_EventScript_1F1352 - msgbox Route111_Text_298FD4, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route111_EventScript_RematchWilton + msgbox Route111_Text_WiltonPostBattle, MSGBOX_DEFAULT release end -Route111_EventScript_1F1333:: @ 81F1333 - special sub_80B4808 +Route111_EventScript_RegisterWilton:: @ 81F1333 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route111_Text_29903D, MSGBOX_DEFAULT + msgbox Route111_Text_WiltonRegister, MSGBOX_DEFAULT register_matchcall TRAINER_WILTON_1 release end -Route111_EventScript_1F1352:: @ 81F1352 - trainerbattle_rematch TRAINER_WILTON_1, Route111_Text_29909B, Route111_Text_2990EE - msgbox Route111_Text_299102, MSGBOX_AUTOCLOSE +Route111_EventScript_RematchWilton:: @ 81F1352 + trainerbattle_rematch TRAINER_WILTON_1, Route111_Text_WiltonRematchIntro, Route111_Text_WiltonRematchDefeat + msgbox Route111_Text_WiltonPostRematch, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F1369:: @ 81F1369 - trainerbattle_single TRAINER_BROOKE_1, Route111_Text_299143, Route111_Text_299193, Route111_EventScript_1F1395 +Route111_EventScript_Brooke:: @ 81F1369 + trainerbattle_single TRAINER_BROOKE_1, Route111_Text_BrookeIntro, Route111_Text_BrookeDefeat, Route111_EventScript_RegisterBrooke specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route111_EventScript_1F13B4 - msgbox Route111_Text_2991C2, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route111_EventScript_RematchBrooke + msgbox Route111_Text_BrookePostBattle, MSGBOX_DEFAULT release end -Route111_EventScript_1F1395:: @ 81F1395 - special sub_80B4808 +Route111_EventScript_RegisterBrooke:: @ 81F1395 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route111_Text_29921D, MSGBOX_DEFAULT + msgbox Route111_Text_BrookeRegister, MSGBOX_DEFAULT register_matchcall TRAINER_BROOKE_1 release end -Route111_EventScript_1F13B4:: @ 81F13B4 - trainerbattle_rematch TRAINER_BROOKE_1, Route111_Text_29925D, Route111_Text_2992D6 - msgbox Route111_Text_2992F5, MSGBOX_AUTOCLOSE +Route111_EventScript_RematchBrooke:: @ 81F13B4 + trainerbattle_rematch TRAINER_BROOKE_1, Route111_Text_BrookeRematchIntro, Route111_Text_BrookeRematchDefeat + msgbox Route111_Text_BrookePostRematch, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F13CB:: @ 81F13CB - trainerbattle_single TRAINER_HAYDEN, Route111_Text_299682, Route111_Text_2996BE - msgbox Route111_Text_2996C5, MSGBOX_AUTOCLOSE +Route111_EventScript_Hayden:: @ 81F13CB + trainerbattle_single TRAINER_HAYDEN, Route111_Text_HaydenIntro, Route111_Text_HaydenDefeat + msgbox Route111_Text_HaydenPostBattle, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F13E2:: @ 81F13E2 - trainerbattle_single TRAINER_BIANCA, Route111_Text_2996FE, Route111_Text_29973D - msgbox Route111_Text_29975D, MSGBOX_AUTOCLOSE +Route111_EventScript_Bianca:: @ 81F13E2 + trainerbattle_single TRAINER_BIANCA, Route111_Text_BiancaIntro, Route111_Text_BiancaDefeat + msgbox Route111_Text_BiancaPostBattle, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F13F9:: @ 81F13F9 - trainerbattle_single TRAINER_TYRON, Route111_Text_299524, Route111_Text_299549 - msgbox Route111_Text_299576, MSGBOX_AUTOCLOSE +Route111_EventScript_Tyron:: @ 81F13F9 + trainerbattle_single TRAINER_TYRON, Route111_Text_TyronIntro, Route111_Text_TyronDefeat + msgbox Route111_Text_TyronPostBattle, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F1410:: @ 81F1410 - trainerbattle_single TRAINER_CELINA, Route111_Text_2995F0, Route111_Text_299625 - msgbox Route111_Text_29964B, MSGBOX_AUTOCLOSE +Route111_EventScript_Celina:: @ 81F1410 + trainerbattle_single TRAINER_CELINA, Route111_Text_CelinaIntro, Route111_Text_CelinaDefeat + msgbox Route111_Text_CelinaPostBattle, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F1427:: @ 81F1427 - trainerbattle_single TRAINER_CELIA, Route111_Text_29934B, Route111_Text_299384 - msgbox Route111_Text_2993A7, MSGBOX_AUTOCLOSE +Route111_EventScript_Celia:: @ 81F1427 + trainerbattle_single TRAINER_CELIA, Route111_Text_CeliaIntro, Route111_Text_CeliaDefeat + msgbox Route111_Text_CeliaPostBattle, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F143E:: @ 81F143E - trainerbattle_single TRAINER_BRYAN, Route111_Text_299401, Route111_Text_299431 - msgbox Route111_Text_29945F, MSGBOX_AUTOCLOSE +Route111_EventScript_Bryan:: @ 81F143E + trainerbattle_single TRAINER_BRYAN, Route111_Text_BryanIntro, Route111_Text_BryanDefeat + msgbox Route111_Text_BryanPostBattle, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F1455:: @ 81F1455 - trainerbattle_single TRAINER_BRANDEN, Route111_Text_299493, Route111_Text_2994C5 - msgbox Route111_Text_2994FB, MSGBOX_AUTOCLOSE +Route111_EventScript_Branden:: @ 81F1455 + trainerbattle_single TRAINER_BRANDEN, Route111_Text_BrandenIntro, Route111_Text_BrandenDefeat + msgbox Route111_Text_BrandenPostBattle, MSGBOX_AUTOCLOSE end -Route111_EventScript_1F146C:: @ 81F146C - msgbox Route111_Text_1F1D61, MSGBOX_SIGN +Route111_EventScript_TrainerHillSign:: @ 81F146C + msgbox Route111_Text_TrainerHillSign, MSGBOX_SIGN end -Route111_Text_1F1475: @ 81F1475 +Route111_Text_BattleOurFamily: @ 81F1475 .string "Hello! I take it you're a traveler.\p" .string "How's this? What do you say to taking\n" .string "on our family of four in a series of\l" .string "POKéMON battles?$" -Route111_Text_1F14F5: @ 81F14F5 +Route111_Text_IsThatSo: @ 81F14F5 .string "Is that so?\n" .string "Drop in, if you change your mind!$" -Route111_Text_1F1523: @ 81F1523 +Route111_Text_VictorIntro: @ 81F1523 .string "That's the spirit! I like you!$" -Route111_Text_1F1542: @ 81F1542 +Route111_Text_VictorDefeat: @ 81F1542 .string "Aiyah!\n" .string "You're a lot tougher than I expected!$" -Route111_Text_1F156F: @ 81F156F +Route111_Text_VictorPostBattle: @ 81F156F .string "Hey, all!\n" .string "I've found a pretty strong TRAINER!$" -Route111_Text_1F159D: @ 81F159D +Route111_Text_VictoriaIntro: @ 81F159D .string "Oh, my goodness! Aren't you young?\p" .string "You must be quite the TRAINER to beat\n" .string "my husband, though.\p" .string "It's my turn to battle now!$" -Route111_Text_1F1616: @ 81F1616 +Route111_Text_VictoriaDefeat: @ 81F1616 .string "Oh, gosh!\n" .string "I can't get over how strong you are!$" -Route111_Text_1F1645: @ 81F1645 +Route111_Text_VictoriaPostBattle: @ 81F1645 .string "There's a strong TRAINER here!\n" .string "This one's really strong!$" -Route111_Text_1F167E: @ 81F167E +Route111_Text_ViviIntro: @ 81F167E .string "You're stronger than Mommy? Wow!\p" .string "But I'm strong, too!\n" .string "Really! Honestly!$" -Route111_Text_1F16C6: @ 81F16C6 +Route111_Text_ViviDefeat: @ 81F16C6 .string "Huh? Did I just lose?$" -Route111_Text_1F16DC: @ 81F16DC +Route111_Text_ViviPostBattle: @ 81F16DC .string "This stinks…\p" .string "…Snivel… Grandma!$" -Route111_Text_1F16FB: @ 81F16FB +Route111_Text_VickyIntro: @ 81F16FB .string "How dare you make my granddaughter\n" .string "cry!\p" .string "For that, I'm going to smack you!\n" .string "Prepare to lose!$" -Route111_Text_1F1756: @ 81F1756 +Route111_Text_VickyDefeat: @ 81F1756 .string "Kwah! You are strong…\n" .string "My granddaughter was right…$" -Route111_Text_1F1788: @ 81F1788 +Route111_Text_VickyPostBattle: @ 81F1788 .string "If you're not in any hurry,\n" .string "visit with us awhile.$" -Route111_Text_1F17BA: @ 81F17BA +Route111_Text_ToughToKeepWinningUpTheRanks: @ 81F17BA .string "If you don't raise your POKéMON some\n" .string "more, it could be tough to keep winning\l" .string "up through the ranks.\p" @@ -655,32 +656,32 @@ Route111_Text_1F17BA: @ 81F17BA .string "ELITE FOUR are far stronger than\l" .string "any GYM LEADER.$" -Route111_Text_1F186E: @ 81F186E +Route111_Text_WinstrateFamilyDestroyedMe: @ 81F186E .string "I challenged the WINSTRATE family,\n" .string "but four matches in a row is tough\l" .string "going… They destroyed me.$" -Route111_Text_1F18CE: @ 81F18CE +Route111_Text_RouteSignMauville: @ 81F18CE .string "ROUTE 111\n" .string "{DOWN_ARROW} MAUVILLE CITY$" -Route111_Text_1F18E8: @ 81F18E8 +Route111_Text_WinstrateHouseSign: @ 81F18E8 .string "“Our family's hearts beat as one!”\n" .string "THE WINSTRATE'S HOUSE$" -Route111_Text_1F1921: @ 81F1921 +Route111_Text_RouteSign112: @ 81F1921 .string "ROUTE 111\n" .string "{LEFT_ARROW} ROUTE 112$" -Route111_Text_1F1937: @ 81F1937 +Route111_Text_RouteSign113: @ 81F1937 .string "ROUTE 111\n" .string "{LEFT_ARROW} ROUTE 113$" -Route111_Text_1F194D: @ 81F194D +Route111_Text_OldLadysRestStopSign: @ 81F194D .string "OLD LADY'S REST STOP\n" .string "“Come in and rest your tired bones.”$" -Route111_Text_1F1987: @ 81F1987 +Route111_Text_TrainerTipsSpAtkSpDef: @ 81F1987 .string "TRAINER TIPS\p" .string "One of the indicators of a POKéMON's\n" .string "powerfulness is SP. ATK. It stands for\l" @@ -688,14 +689,14 @@ Route111_Text_1F1987: @ 81F1987 .string "Likewise, SP. DEF stands for “SPECIAL\n" .string "DEFENSE.”$" -Route111_Text_1F1A22: @ 81F1A22 +Route111_Text_ShouldBeMirageTowerAroundHere: @ 81F1A22 .string "There should be a tower made of sand\n" .string "around here somewhere.\p" .string "But for some reason, it can be seen\n" .string "sometimes, and sometimes not.\p" .string "That's why I call it the MIRAGE TOWER.$" -Route111_Text_1F1AC7: @ 81F1AC7 +Route111_Text_MirageTowerClearlyVisible: @ 81F1AC7 .string "I see it!\n" .string "The tower of sand!\p" .string "The sand tower they called a mirage\n" @@ -705,7 +706,7 @@ Route111_Text_1F1AC7: @ 81F1AC7 .string "I want to go inside it, but I can't\n" .string "get my courage up for it…$" -Route111_Text_1F1B92: @ 81F1B92 +Route111_Text_ThatWasShockingSandRainedDown: @ 81F1B92 .string "Whoa…\n" .string "That was shocking.\p" .string "Sand rained down in chunks all of\n" @@ -713,21 +714,21 @@ Route111_Text_1F1B92: @ 81F1B92 .string "What was it like inside?\n" .string "Were there sandy ghosts and such?$" -Route111_Text_1F1C12: @ 81F1C12 +Route111_Text_MirageTowerHasntBeenSeenSince: @ 81F1C12 .string "Since I spoke to you, the tower of sand\n" .string "hasn't been seen.\p" .string "Perhaps it really was\n" .string "the MIRAGE TOWER…$" -Route111_Text_1F1C74: @ 81F1C74 +Route111_Text_ClawFossilDisappeared: @ 81F1C74 .string "The CLAW FOSSIL disappeared into\n" .string "the sand…$" -Route111_Text_1F1C9F: @ 81F1C9F +Route111_Text_RootFossilDisappeared: @ 81F1C9F .string "The ROOT FOSSIL disappeared into\n" .string "the sand…$" -Route111_Text_1F1CCA: @ 81F1CCA +Route111_Text_MauvilleUncleToldMeToTakeRockSmash: @ 81F1CCA .string "Oh, no!\p" .string "My uncle in MAUVILLE told me to take\n" .string "ROCK SMASH with me if I was going to\l" @@ -735,7 +736,7 @@ Route111_Text_1F1CCA: @ 81F1CCA .string "My uncle? He lives across from\n" .string "the bike shop in MAUVILLE.$" -Route111_Text_1F1D61: @ 81F1D61 +Route111_Text_TrainerHillSign: @ 81F1D61 .string "{RIGHT_ARROW} TRAINER HILL ENTRANCE\p" .string "“Scale the heights, you hot-blooded\n" .string "TRAINERS!”$" diff --git a/data/maps/Route111_OldLadysRestStop/map.json b/data/maps/Route111_OldLadysRestStop/map.json index c915bfb95d..71afc39f8d 100644 --- a/data/maps/Route111_OldLadysRestStop/map.json +++ b/data/maps/Route111_OldLadysRestStop/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_OldLadysRestStop_EventScript_22A920", + "script": "Route111_OldLadysRestStop_EventScript_OldLady", "flag": "0" } ], diff --git a/data/maps/Route111_OldLadysRestStop/scripts.inc b/data/maps/Route111_OldLadysRestStop/scripts.inc index 017043eae5..0df1e6b6e7 100644 --- a/data/maps/Route111_OldLadysRestStop/scripts.inc +++ b/data/maps/Route111_OldLadysRestStop/scripts.inc @@ -6,49 +6,49 @@ Route111_OldLadysRestStop_OnTransition: @ 822A91C setflag FLAG_LANDMARK_OLD_LADY_REST_SHOP end -Route111_OldLadysRestStop_EventScript_22A920:: @ 822A920 +Route111_OldLadysRestStop_EventScript_OldLady:: @ 822A920 lock faceplayer - msgbox Route111_OldLadysRestStop_Text_22A978, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route111_OldLadysRestStop_EventScript_22A941 - compare VAR_RESULT, 0 - goto_if_eq Route111_OldLadysRestStop_EventScript_22A96E + msgbox Route111_OldLadysRestStop_Text_RestUpHere, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route111_OldLadysRestStop_EventScript_Rest + compare VAR_RESULT, NO + goto_if_eq Route111_OldLadysRestStop_EventScript_DeclineRest end -Route111_OldLadysRestStop_EventScript_22A941:: @ 822A941 - msgbox Route111_OldLadysRestStop_Text_22A9EC, MSGBOX_DEFAULT +Route111_OldLadysRestStop_EventScript_Rest:: @ 822A941 + msgbox Route111_OldLadysRestStop_Text_TakeYourTimeRestUp, MSGBOX_DEFAULT closemessage call Common_EventScript_OutOfCenterPartyHeal - msgbox Route111_OldLadysRestStop_Text_22AA16, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route111_OldLadysRestStop_EventScript_22A941 - compare VAR_RESULT, 0 - goto_if_eq Route111_OldLadysRestStop_EventScript_22A96E + msgbox Route111_OldLadysRestStop_Text_StillTiredTakeAnotherRest, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route111_OldLadysRestStop_EventScript_Rest + compare VAR_RESULT, NO + goto_if_eq Route111_OldLadysRestStop_EventScript_DeclineRest end -Route111_OldLadysRestStop_EventScript_22A96E:: @ 822A96E - msgbox Route111_OldLadysRestStop_Text_22AA8F, MSGBOX_DEFAULT +Route111_OldLadysRestStop_EventScript_DeclineRest:: @ 822A96E + msgbox Route111_OldLadysRestStop_Text_DontNeedToBeShy, MSGBOX_DEFAULT release end -Route111_OldLadysRestStop_Text_22A978: @ 822A978 +Route111_OldLadysRestStop_Text_RestUpHere: @ 822A978 .string "Oh, dear, dear.\n" .string "Aren't your POKéMON exhausted?\p" .string "If you'd like, rest up here.\n" .string "That's a fine idea! You should do that.$" -Route111_OldLadysRestStop_Text_22A9EC: @ 822A9EC +Route111_OldLadysRestStop_Text_TakeYourTimeRestUp: @ 822A9EC .string "That's right.\n" .string "Take your time and rest up!$" -Route111_OldLadysRestStop_Text_22AA16: @ 822AA16 +Route111_OldLadysRestStop_Text_StillTiredTakeAnotherRest: @ 822AA16 .string "Oh, dear, dear.\n" .string "Are your POKéMON still tired?\p" .string "You should take another rest here.\n" .string "That's a fine idea. You should do that.$" -Route111_OldLadysRestStop_Text_22AA8F: @ 822AA8F +Route111_OldLadysRestStop_Text_DontNeedToBeShy: @ 822AA8F .string "Is that so?\n" .string "You don't need to be shy about it.$" diff --git a/data/maps/Route111_WinstrateFamilysHouse/map.json b/data/maps/Route111_WinstrateFamilysHouse/map.json index fed3dab3f3..640de23cbc 100644 --- a/data/maps/Route111_WinstrateFamilysHouse/map.json +++ b/data/maps/Route111_WinstrateFamilysHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_WinstrateFamilysHouse_EventScript_22A4E8", + "script": "Route111_WinstrateFamilysHouse_EventScript_Vivi", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_WinstrateFamilysHouse_EventScript_22A48D", + "script": "Route111_WinstrateFamilysHouse_EventScript_Victor", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_WinstrateFamilysHouse_EventScript_22A4A2", + "script": "Route111_WinstrateFamilysHouse_EventScript_Victoria", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_WinstrateFamilysHouse_EventScript_22A4FD", + "script": "Route111_WinstrateFamilysHouse_EventScript_Vicky", "flag": "0" } ], diff --git a/data/maps/Route111_WinstrateFamilysHouse/scripts.inc b/data/maps/Route111_WinstrateFamilysHouse/scripts.inc index 312bf739f2..499459c240 100644 --- a/data/maps/Route111_WinstrateFamilysHouse/scripts.inc +++ b/data/maps/Route111_WinstrateFamilysHouse/scripts.inc @@ -1,63 +1,63 @@ Route111_WinstrateFamilysHouse_MapScripts:: @ 822A48C .byte 0 -Route111_WinstrateFamilysHouse_EventScript_22A48D:: @ 822A48D +Route111_WinstrateFamilysHouse_EventScript_Victor:: @ 822A48D lock faceplayer setvar VAR_0x8008, 2 - msgbox Route111_WinstrateFamilysHouse_Text_22A539, MSGBOX_DEFAULT - goto Route111_WinstrateFamilysHouse_EventScript_22A52C + msgbox Route111_WinstrateFamilysHouse_Text_MySonIsStrongerThanYou, MSGBOX_DEFAULT + goto Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection end -Route111_WinstrateFamilysHouse_EventScript_22A4A2:: @ 822A4A2 +Route111_WinstrateFamilysHouse_EventScript_Victoria:: @ 822A4A2 lock faceplayer setvar VAR_0x8008, 3 - goto_if_set FLAG_RECEIVED_MACHO_BRACE, Route111_WinstrateFamilysHouse_EventScript_22A4DA - msgbox Route111_WinstrateFamilysHouse_Text_22A5F4, MSGBOX_DEFAULT - giveitem_std ITEM_MACHO_BRACE - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_MACHO_BRACE, Route111_WinstrateFamilysHouse_EventScript_ReceivedMachoBrace + msgbox Route111_WinstrateFamilysHouse_Text_LikeYouToHaveMachoBrace, MSGBOX_DEFAULT + giveitem ITEM_MACHO_BRACE + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_MACHO_BRACE - goto Route111_WinstrateFamilysHouse_EventScript_22A52C + goto Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection end -Route111_WinstrateFamilysHouse_EventScript_22A4DA:: @ 822A4DA - msgbox Route111_WinstrateFamilysHouse_Text_22A6B4, MSGBOX_DEFAULT - goto Route111_WinstrateFamilysHouse_EventScript_22A52C +Route111_WinstrateFamilysHouse_EventScript_ReceivedMachoBrace:: @ 822A4DA + msgbox Route111_WinstrateFamilysHouse_Text_PassionateAboutBattles, MSGBOX_DEFAULT + goto Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection end -Route111_WinstrateFamilysHouse_EventScript_22A4E8:: @ 822A4E8 +Route111_WinstrateFamilysHouse_EventScript_Vivi:: @ 822A4E8 lock faceplayer setvar VAR_0x8008, 1 - msgbox Route111_WinstrateFamilysHouse_Text_22A6F7, MSGBOX_DEFAULT - goto Route111_WinstrateFamilysHouse_EventScript_22A52C + msgbox Route111_WinstrateFamilysHouse_Text_StrongerFamilyMembers, MSGBOX_DEFAULT + goto Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection end -Route111_WinstrateFamilysHouse_EventScript_22A4FD:: @ 822A4FD +Route111_WinstrateFamilysHouse_EventScript_Vicky:: @ 822A4FD lock faceplayer setvar VAR_0x8008, 4 - goto_if_set FLAG_TEMP_4, Route111_WinstrateFamilysHouse_EventScript_22A51E - msgbox Route111_WinstrateFamilysHouse_Text_22A780, MSGBOX_DEFAULT + goto_if_set FLAG_TEMP_4, Route111_WinstrateFamilysHouse_EventScript_AlreadySpokenTo + msgbox Route111_WinstrateFamilysHouse_Text_GrandsonStrong, MSGBOX_DEFAULT setflag FLAG_TEMP_4 - goto Route111_WinstrateFamilysHouse_EventScript_22A52C + goto Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection end -Route111_WinstrateFamilysHouse_EventScript_22A51E:: @ 822A51E - msgbox Route111_WinstrateFamilysHouse_Text_22A89B, MSGBOX_DEFAULT - goto Route111_WinstrateFamilysHouse_EventScript_22A52C +Route111_WinstrateFamilysHouse_EventScript_AlreadySpokenTo:: @ 822A51E + msgbox Route111_WinstrateFamilysHouse_Text_GrandsonStrongShort, MSGBOX_DEFAULT + goto Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection end -Route111_WinstrateFamilysHouse_EventScript_22A52C:: @ 822A52C +Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection:: @ 822A52C closemessage applymovement VAR_0x8008, Common_Movement_FaceOriginalDirection waitmovement 0 release end -Route111_WinstrateFamilysHouse_Text_22A539: @ 822A539 +Route111_WinstrateFamilysHouse_Text_MySonIsStrongerThanYou: @ 822A539 .string "You're the first TRAINER I've seen who\n" .string "deploys POKéMON so masterfully.\p" .string "But, I should tell you--my son is\n" @@ -65,7 +65,7 @@ Route111_WinstrateFamilysHouse_Text_22A539: @ 822A539 .string "He even took the POKéMON LEAGUE\n" .string "challenge, I'll have you know.$" -Route111_WinstrateFamilysHouse_Text_22A5F4: @ 822A5F4 +Route111_WinstrateFamilysHouse_Text_LikeYouToHaveMachoBrace: @ 822A5F4 .string "We use this MACHO BRACE to more\n" .string "effectively strengthen our POKéMON\l" .string "in training.\p" @@ -73,18 +73,18 @@ Route111_WinstrateFamilysHouse_Text_22A5F4: @ 822A5F4 .string "I don't know if you need it, but we\l" .string "would like you to have our MACHO BRACE.$" -Route111_WinstrateFamilysHouse_Text_22A6B4: @ 822A6B4 +Route111_WinstrateFamilysHouse_Text_PassionateAboutBattles: @ 822A6B4 .string "When it comes to POKéMON battles,\n" .string "we tend to be pretty passionate.$" -Route111_WinstrateFamilysHouse_Text_22A6F7: @ 822A6F7 +Route111_WinstrateFamilysHouse_Text_StrongerFamilyMembers: @ 822A6F7 .string "Mommy is stronger than Daddy.\p" .string "I'm stronger than Mommy.\p" .string "And Grandma's stronger than me!\p" .string "But my big brother is even stronger\n" .string "than Grandma.$" -Route111_WinstrateFamilysHouse_Text_22A780: @ 822A780 +Route111_WinstrateFamilysHouse_Text_GrandsonStrong: @ 822A780 .string "There's no question that you're strong.\p" .string "But if you were to battle my grandson,\n" .string "you'd end up crying in frustration.\p" @@ -95,7 +95,7 @@ Route111_WinstrateFamilysHouse_Text_22A780: @ 822A780 .string "Knowing my grandson, he could be the\n" .string "CHAMPION already!$" -Route111_WinstrateFamilysHouse_Text_22A89B: @ 822A89B +Route111_WinstrateFamilysHouse_Text_GrandsonStrongShort: @ 822A89B .string "My grandson must be challenging the\n" .string "POKéMON LEAGUE CHAMPION by now.\p" .string "Knowing my grandson, he could be the\n" diff --git a/data/maps/Route112/map.json b/data/maps/Route112/map.json index b963c6c48f..e52468f328 100644 --- a/data/maps/Route112/map.json +++ b/data/maps/Route112/map.json @@ -40,7 +40,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route112_EventScript_1F1DB7", + "script": "Route112_EventScript_MagmaGrunts", "flag": "FLAG_HIDE_ROUTE_112_TEAM_MAGMA" }, { @@ -53,7 +53,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route112_EventScript_1F1E6A", + "script": "Route112_EventScript_Brice", "flag": "0" }, { @@ -66,7 +66,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route112_EventScript_1F1EE3", + "script": "Route112_EventScript_Larry", "flag": "0" }, { @@ -79,7 +79,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route112_EventScript_1F1EFA", + "script": "Route112_EventScript_Carol", "flag": "0" }, { @@ -92,7 +92,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route112_EventScript_1F1E81", + "script": "Route112_EventScript_Trent", "flag": "0" }, { @@ -105,7 +105,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route112_EventScript_1F1DB7", + "script": "Route112_EventScript_MagmaGrunts", "flag": "FLAG_HIDE_ROUTE_112_TEAM_MAGMA" }, { @@ -170,7 +170,7 @@ "movement_range_y": 3, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route112_EventScript_1F1E61", + "script": "Route112_EventScript_Hiker", "flag": "0" }, { @@ -196,7 +196,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route112_EventScript_1F1F11", + "script": "Route112_EventScript_Bryant", "flag": "0" }, { @@ -209,7 +209,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route112_EventScript_1F1F28", + "script": "Route112_EventScript_Shayla", "flag": "0" } ], @@ -265,7 +265,7 @@ "y": 44, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route112_EventScript_1F1E4F" + "script": "Route112_EventScript_MtChimneySign" }, { "type": "sign", @@ -273,7 +273,7 @@ "y": 37, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route112_EventScript_1F1E46" + "script": "Route112_EventScript_MtChimneyCableCarSign" }, { "type": "sign", @@ -281,7 +281,7 @@ "y": 49, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route112_EventScript_1F1E58" + "script": "Route112_EventScript_RouteSignLavaridge" } ] } \ No newline at end of file diff --git a/data/maps/Route112/scripts.inc b/data/maps/Route112/scripts.inc index 58109bd408..4dd4fe1125 100644 --- a/data/maps/Route112/scripts.inc +++ b/data/maps/Route112/scripts.inc @@ -7,137 +7,137 @@ Route112_OnTransition: @ 81F1DAE setvar VAR_JAGGED_PASS_ASH_WEATHER, 0 end -Route112_EventScript_1F1DB7:: @ 81F1DB7 +Route112_EventScript_MagmaGrunts:: @ 81F1DB7 lockall delay 40 - applymovement 1, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 20 - msgbox Route112_Text_1F1F3F, MSGBOX_DEFAULT + msgbox Route112_Text_LeaderGoingToAwakenThing, MSGBOX_DEFAULT closemessage applymovement 1, Common_Movement_FaceOriginalDirection waitmovement 0 delay 40 - applymovement 6, Common_Movement_WalkInPlaceLeft + applymovement 6, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 delay 20 - msgbox Route112_Text_1F1F7A, MSGBOX_DEFAULT + msgbox Route112_Text_YeahWeNeedMeteorite, MSGBOX_DEFAULT closemessage applymovement 6, Common_Movement_FaceOriginalDirection waitmovement 0 delay 40 - applymovement 1, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 20 - msgbox Route112_Text_1F1FBA, MSGBOX_DEFAULT + msgbox Route112_Text_OhThatsWhyCrewWentToFallarbor, MSGBOX_DEFAULT closemessage applymovement 1, Common_Movement_FaceOriginalDirection waitmovement 0 delay 40 - applymovement 6, Common_Movement_WalkInPlaceLeft + applymovement 6, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 delay 20 - msgbox Route112_Text_1F2003, MSGBOX_DEFAULT + msgbox Route112_Text_CantLetAnyonePassUntilTheyreBack, MSGBOX_DEFAULT closemessage applymovement 6, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end -Route112_EventScript_1F1E46:: @ 81F1E46 - msgbox Route112_Text_1F20C1, MSGBOX_SIGN +Route112_EventScript_MtChimneyCableCarSign:: @ 81F1E46 + msgbox Route112_Text_MtChimneyCableCarSign, MSGBOX_SIGN end -Route112_EventScript_1F1E4F:: @ 81F1E4F - msgbox Route112_Text_1F20ED, MSGBOX_SIGN +Route112_EventScript_MtChimneySign:: @ 81F1E4F + msgbox Route112_Text_MtChimneySign, MSGBOX_SIGN end -Route112_EventScript_1F1E58:: @ 81F1E58 - msgbox Route112_Text_1F2138, MSGBOX_SIGN +Route112_EventScript_RouteSignLavaridge:: @ 81F1E58 + msgbox Route112_Text_RouteSignLavaridge, MSGBOX_SIGN end -Route112_EventScript_1F1E61:: @ 81F1E61 - msgbox Route112_Text_1F204E, MSGBOX_NPC +Route112_EventScript_Hiker:: @ 81F1E61 + msgbox Route112_Text_NotEasyToGetBackToLavaridge, MSGBOX_NPC end -Route112_EventScript_1F1E6A:: @ 81F1E6A - trainerbattle_single TRAINER_BRICE, Route112_Text_29978E, Route112_Text_2997CA - msgbox Route112_Text_2997DC, MSGBOX_AUTOCLOSE +Route112_EventScript_Brice:: @ 81F1E6A + trainerbattle_single TRAINER_BRICE, Route112_Text_BriceIntro, Route112_Text_BriceDefeat + msgbox Route112_Text_BricePostBattle, MSGBOX_AUTOCLOSE end -Route112_EventScript_1F1E81:: @ 81F1E81 - trainerbattle_single TRAINER_TRENT_1, Route112_Text_299815, Route112_Text_29987C, Route112_EventScript_1F1EAD +Route112_EventScript_Trent:: @ 81F1E81 + trainerbattle_single TRAINER_TRENT_1, Route112_Text_TrentIntro, Route112_Text_TrentDefeat, Route112_EventScript_RegisterTrent specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route112_EventScript_1F1ECC - msgbox Route112_Text_299896, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route112_EventScript_RematchTrent + msgbox Route112_Text_TrentPostBattle, MSGBOX_DEFAULT release end -Route112_EventScript_1F1EAD:: @ 81F1EAD - special sub_80B4808 +Route112_EventScript_RegisterTrent:: @ 81F1EAD + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route112_Text_29993C, MSGBOX_DEFAULT + msgbox Route112_Text_TrentRegister, MSGBOX_DEFAULT register_matchcall TRAINER_TRENT_1 release end -Route112_EventScript_1F1ECC:: @ 81F1ECC - trainerbattle_rematch TRAINER_TRENT_1, Route112_Text_2999BD, Route112_Text_2999F7 - msgbox Route112_Text_299A0F, MSGBOX_AUTOCLOSE +Route112_EventScript_RematchTrent:: @ 81F1ECC + trainerbattle_rematch TRAINER_TRENT_1, Route112_Text_TrentRematchIntro, Route112_Text_TrentRematchDefeat + msgbox Route112_Text_TrentRematchPostBattle, MSGBOX_AUTOCLOSE end -Route112_EventScript_1F1EE3:: @ 81F1EE3 - trainerbattle_single TRAINER_LARRY, Route112_Text_299A89, Route112_Text_299AAC - msgbox Route112_Text_299AB4, MSGBOX_AUTOCLOSE +Route112_EventScript_Larry:: @ 81F1EE3 + trainerbattle_single TRAINER_LARRY, Route112_Text_LarryIntro, Route112_Text_LarryDefeat + msgbox Route112_Text_LarryPostBattle, MSGBOX_AUTOCLOSE end -Route112_EventScript_1F1EFA:: @ 81F1EFA - trainerbattle_single TRAINER_CAROL, Route112_Text_299AE4, Route112_Text_299B36 - msgbox Route112_Text_299B4C, MSGBOX_AUTOCLOSE +Route112_EventScript_Carol:: @ 81F1EFA + trainerbattle_single TRAINER_CAROL, Route112_Text_CarolIntro, Route112_Text_CarolDefeat + msgbox Route112_Text_CarolPostBattle, MSGBOX_AUTOCLOSE end -Route112_EventScript_1F1F11:: @ 81F1F11 - trainerbattle_single TRAINER_BRYANT, Route112_Text_299BAE, Route112_Text_299BDF - msgbox Route112_Text_299BFB, MSGBOX_AUTOCLOSE +Route112_EventScript_Bryant:: @ 81F1F11 + trainerbattle_single TRAINER_BRYANT, Route112_Text_BryantIntro, Route112_Text_BryantDefeat + msgbox Route112_Text_BryantPostBattle, MSGBOX_AUTOCLOSE end -Route112_EventScript_1F1F28:: @ 81F1F28 - trainerbattle_single TRAINER_SHAYLA, Route112_Text_299C34, Route112_Text_299C8F - msgbox Route112_Text_299CC6, MSGBOX_AUTOCLOSE +Route112_EventScript_Shayla:: @ 81F1F28 + trainerbattle_single TRAINER_SHAYLA, Route112_Text_ShaylaIntro, Route112_Text_ShaylaDefeat + msgbox Route112_Text_ShaylaPostBattle, MSGBOX_AUTOCLOSE end -Route112_Text_1F1F3F: @ 81F1F3F +Route112_Text_LeaderGoingToAwakenThing: @ 81F1F3F .string "Hey, man, is our leader really going\n" .string "to awaken that thing?$" -Route112_Text_1F1F7A: @ 81F1F7A +Route112_Text_YeahWeNeedMeteorite: @ 81F1F7A .string "Sounds like it, yeah. But I heard\n" .string "we need a METEORITE to do it.$" -Route112_Text_1F1FBA: @ 81F1FBA +Route112_Text_OhThatsWhyCrewWentToFallarbor: @ 81F1FBA .string "Oh, I get it now. That's why the rest\n" .string "of the crew went out to FALLARBOR.$" -Route112_Text_1F2003: @ 81F2003 +Route112_Text_CantLetAnyonePassUntilTheyreBack: @ 81F2003 .string "You got it. And until they come back,\n" .string "we're not to let anyone pass, right.$" -Route112_Text_1F204E: @ 81F204E +Route112_Text_NotEasyToGetBackToLavaridge: @ 81F204E .string "Eh, I'd like to get to MAUVILLE, but if\n" .string "I went down these ledges, it'd be no\l" .string "easy matter to get back to LAVARIDGE.$" -Route112_Text_1F20C1: @ 81F20C1 +Route112_Text_MtChimneyCableCarSign: @ 81F20C1 .string "MT. CHIMNEY CABLE CAR\n" .string "“A short walk {UP_ARROW} way!”$" -Route112_Text_1F20ED: @ 81F20ED +Route112_Text_MtChimneySign: @ 81F20ED .string "MT. CHIMNEY\p" .string "“For LAVARIDGE TOWN or the summit,\n" .string "please take the CABLE CAR.”$" -Route112_Text_1F2138: @ 81F2138 +Route112_Text_RouteSignLavaridge: @ 81F2138 .string "ROUTE 112\n" .string "{LEFT_ARROW} LAVARIDGE TOWN$" diff --git a/data/maps/Route112_CableCarStation/map.json b/data/maps/Route112_CableCarStation/map.json index 52958a4eed..5ed7fc4a79 100644 --- a/data/maps/Route112_CableCarStation/map.json +++ b/data/maps/Route112_CableCarStation/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route112_CableCarStation_EventScript_22AB17", + "script": "Route112_CableCarStation_EventScript_Attendant", "flag": "0" }, { diff --git a/data/maps/Route112_CableCarStation/scripts.inc b/data/maps/Route112_CableCarStation/scripts.inc index d9eec8efd5..0b0ad3dc9b 100644 --- a/data/maps/Route112_CableCarStation/scripts.inc +++ b/data/maps/Route112_CableCarStation/scripts.inc @@ -1,27 +1,27 @@ Route112_CableCarStation_MapScripts:: @ 822AABE map_script MAP_SCRIPT_ON_TRANSITION, Route112_CableCarStation_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route112_CableCarStation_MapScript2_22AAE9 + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route112_CableCarStation_OnFrame .byte 0 Route112_CableCarStation_OnTransition: @ 822AAC9 setescapewarp MAP_ROUTE112, 255, 28, 28 compare VAR_CABLE_CAR_STATION_STATE, 2 - call_if_eq Route112_CableCarStation_EventScript_22AADD + call_if_eq Route112_CableCarStation_EventScript_MoveAttendantAside end -Route112_CableCarStation_EventScript_22AADD:: @ 822AADD +Route112_CableCarStation_EventScript_MoveAttendantAside:: @ 822AADD setobjectxyperm 1, 7, 4 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_LEFT return -Route112_CableCarStation_MapScript2_22AAE9: @ 822AAE9 - map_script_2 VAR_CABLE_CAR_STATION_STATE, 2, Route112_CableCarStation_EventScript_22AAF3 +Route112_CableCarStation_OnFrame: @ 822AAE9 + map_script_2 VAR_CABLE_CAR_STATION_STATE, 2, Route112_CableCarStation_EventScript_ExitCableCar .2byte 0 -Route112_CableCarStation_EventScript_22AAF3:: @ 822AAF3 +Route112_CableCarStation_EventScript_ExitCableCar:: @ 822AAF3 lockall - applymovement EVENT_OBJ_ID_PLAYER, Route112_CableCarStation_Movement_22AB80 - applymovement 1, Route112_CableCarStation_Movement_22AB76 + applymovement EVENT_OBJ_ID_PLAYER, Route112_CableCarStation_Movement_ExitCableCar + applymovement 1, Route112_CableCarStation_Movement_FollowPlayerOutFromCableCar waitmovement 0 setvar VAR_CABLE_CAR_STATION_STATE, 0 setobjectxyperm 1, 6, 7 @@ -29,71 +29,71 @@ Route112_CableCarStation_EventScript_22AAF3:: @ 822AAF3 releaseall end -Route112_CableCarStation_EventScript_22AB17:: @ 822AB17 +Route112_CableCarStation_EventScript_Attendant:: @ 822AB17 lock faceplayer - msgbox Route112_CableCarStation_Text_22AB85, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route112_CableCarStation_EventScript_22AB38 - compare VAR_RESULT, 0 - goto_if_eq Route112_CableCarStation_EventScript_22AB67 + msgbox Route112_CableCarStation_Text_CableCarReadyGetOn, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route112_CableCarStation_EventScript_RideCableCar + compare VAR_RESULT, NO + goto_if_eq Route112_CableCarStation_EventScript_DeclineRide end -Route112_CableCarStation_EventScript_22AB38:: @ 822AB38 - msgbox Route112_CableCarStation_Text_22ABC2, MSGBOX_DEFAULT +Route112_CableCarStation_EventScript_RideCableCar:: @ 822AB38 + msgbox Route112_CableCarStation_Text_StepThisWay, MSGBOX_DEFAULT closemessage - applymovement 1, Route112_CableCarStation_Movement_22AB71 - applymovement EVENT_OBJ_ID_PLAYER, Route112_CableCarStation_Movement_22AB7B + applymovement 1, Route112_CableCarStation_Movement_LeadPlayerToCableCar + applymovement EVENT_OBJ_ID_PLAYER, Route112_CableCarStation_Movement_BoardCableCar waitmovement 0 setvar VAR_0x8004, 0 setvar VAR_CABLE_CAR_STATION_STATE, 1 - incrementgamestat 48 + incrementgamestat GAME_STAT_RODE_CABLE_CAR special CableCarWarp special CableCar waitstate release end -Route112_CableCarStation_EventScript_22AB67:: @ 822AB67 - msgbox Route112_CableCarStation_Text_22ABD8, MSGBOX_DEFAULT +Route112_CableCarStation_EventScript_DeclineRide:: @ 822AB67 + msgbox Route112_CableCarStation_Text_RideAnotherTime, MSGBOX_DEFAULT release end -Route112_CableCarStation_Movement_22AB71: @ 822AB71 +Route112_CableCarStation_Movement_LeadPlayerToCableCar: @ 822AB71 walk_up walk_up walk_right walk_in_place_fastest_left step_end -Route112_CableCarStation_Movement_22AB76: @ 822AB76 +Route112_CableCarStation_Movement_FollowPlayerOutFromCableCar: @ 822AB76 delay_16 walk_left walk_down walk_down step_end -Route112_CableCarStation_Movement_22AB7B: @ 822AB7B +Route112_CableCarStation_Movement_BoardCableCar: @ 822AB7B walk_up walk_up walk_up delay_16 step_end -Route112_CableCarStation_Movement_22AB80: @ 822AB80 +Route112_CableCarStation_Movement_ExitCableCar: @ 822AB80 walk_down walk_down walk_down delay_16 step_end -Route112_CableCarStation_Text_22AB85: @ 822AB85 +Route112_CableCarStation_Text_CableCarReadyGetOn: @ 822AB85 .string "The CABLE CAR is ready to go up.\n" .string "Would you like to be on it?$" -Route112_CableCarStation_Text_22ABC2: @ 822ABC2 +Route112_CableCarStation_Text_StepThisWay: @ 822ABC2 .string "Please step this way.$" -Route112_CableCarStation_Text_22ABD8: @ 822ABD8 +Route112_CableCarStation_Text_RideAnotherTime: @ 822ABD8 .string "Please ride with us another time.$" diff --git a/data/maps/Route113/map.json b/data/maps/Route113/map.json index bcff99de45..12a7f63d9f 100644 --- a/data/maps/Route113/map.json +++ b/data/maps/Route113/map.json @@ -40,7 +40,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route113_EventScript_1F2193", + "script": "Route113_EventScript_NinjaBoy", "flag": "0" }, { @@ -53,7 +53,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route113_EventScript_1F218A", + "script": "Route113_EventScript_Gentleman", "flag": "0" }, { @@ -66,7 +66,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route113_EventScript_1F21C0", + "script": "Route113_EventScript_Jaylen", "flag": "0" }, { @@ -79,7 +79,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route113_EventScript_1F21D7", + "script": "Route113_EventScript_Dillon", "flag": "0" }, { @@ -92,7 +92,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route113_EventScript_1F21EE", + "script": "Route113_EventScript_Madeline", "flag": "0" }, { @@ -131,7 +131,7 @@ "movement_range_y": 0, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "Route113_EventScript_1F2250", + "script": "Route113_EventScript_Lao", "flag": "0" }, { @@ -144,7 +144,7 @@ "movement_range_y": 0, "trainer_type": "3", "trainer_sight_or_berry_tree_id": "1", - "script": "Route113_EventScript_1F22B2", + "script": "Route113_EventScript_Lung", "flag": "0" }, { @@ -157,7 +157,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route113_EventScript_1F22C9", + "script": "Route113_EventScript_Tori", "flag": "0" }, { @@ -170,7 +170,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route113_EventScript_1F22E4", + "script": "Route113_EventScript_Tia", "flag": "0" }, { @@ -196,7 +196,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route113_EventScript_1F2344", + "script": "Route113_EventScript_Wyatt", "flag": "0" }, { @@ -209,7 +209,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route113_EventScript_1F232D", + "script": "Route113_EventScript_Lawrence", "flag": "0" }, { @@ -222,7 +222,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "Route113_EventScript_1F22FF", + "script": "Route113_EventScript_Sophie", "flag": "0" }, { @@ -235,7 +235,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "Route113_EventScript_1F2316", + "script": "Route113_EventScript_Coby", "flag": "0" } ], @@ -268,49 +268,49 @@ "x": 19, "y": 11, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_ASH" + "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH" }, { "type": "weather", "x": 19, "y": 10, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_ASH" + "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH" }, { "type": "weather", "x": 19, "y": 12, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_ASH" + "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH" }, { "type": "weather", "x": 19, "y": 13, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_ASH" + "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH" }, { "type": "weather", "x": 86, "y": 9, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_ASH" + "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH" }, { "type": "weather", "x": 85, "y": 10, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_ASH" + "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH" }, { "type": "weather", "x": 85, "y": 11, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_ASH" + "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH" }, { "type": "weather", @@ -373,28 +373,28 @@ "x": 19, "y": 14, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_ASH" + "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH" }, { "type": "weather", "x": 87, "y": 8, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_ASH" + "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH" }, { "type": "weather", "x": 87, "y": 6, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_ASH" + "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH" }, { "type": "weather", "x": 87, "y": 7, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_ASH" + "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH" } ], "bg_events": [ @@ -404,7 +404,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route113_EventScript_1F219C" + "script": "Route113_EventScript_RouteSign111" }, { "type": "sign", @@ -412,7 +412,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route113_EventScript_1F21A5" + "script": "Route113_EventScript_RouteSignFallarbor" }, { "type": "sign", @@ -420,7 +420,7 @@ "y": 4, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route113_EventScript_1F21B7" + "script": "Route113_EventScript_TrainerTipsRegisterKeyItems" }, { "type": "sign", @@ -428,7 +428,7 @@ "y": 5, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route113_EventScript_1F21AE" + "script": "Route113_EventScript_GlassWorkshopSign" }, { "type": "secret_base", diff --git a/data/maps/Route113/scripts.inc b/data/maps/Route113/scripts.inc index e8fb08ee4d..24c57c29c1 100644 --- a/data/maps/Route113/scripts.inc +++ b/data/maps/Route113/scripts.inc @@ -1,170 +1,170 @@ Route113_MapScripts:: @ 81F2153 - map_script MAP_SCRIPT_ON_RESUME, Route113_MapScript1_1F215E + map_script MAP_SCRIPT_ON_RESUME, Route113_OnResume map_script MAP_SCRIPT_ON_TRANSITION, Route113_OnTransition .byte 0 -Route113_MapScript1_1F215E: @ 81F215E - setstepcallback 1 +Route113_OnResume: @ 81F215E + setstepcallback STEP_CB_ASH end Route113_OnTransition: @ 81F2161 clearflag FLAG_FORCE_MIRAGE_TOWER_VISIBLE - call Route113_EventScript_1F216A + call Route113_EventScript_CheckSetAshWeather end -Route113_EventScript_1F216A:: @ 81F216A +Route113_EventScript_CheckSetAshWeather:: @ 81F216A getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_TEMP_0, 19 - goto_if_lt Route113_EventScript_1F2189 + goto_if_lt Route113_EventScript_DontSetAshWeather compare VAR_TEMP_0, 84 - goto_if_gt Route113_EventScript_1F2189 - setweather WEATHER_ASH + goto_if_gt Route113_EventScript_DontSetAshWeather + setweather WEATHER_VOLCANIC_ASH return -Route113_EventScript_1F2189:: @ 81F2189 +Route113_EventScript_DontSetAshWeather:: @ 81F2189 return -Route113_EventScript_1F218A:: @ 81F218A - msgbox Route113_Text_1F235B, MSGBOX_NPC +Route113_EventScript_Gentleman:: @ 81F218A + msgbox Route113_Text_AshCanBeFashionedIntoGlass, MSGBOX_NPC end -Route113_EventScript_1F2193:: @ 81F2193 - msgbox Route113_Text_1F23CA, MSGBOX_NPC +Route113_EventScript_NinjaBoy:: @ 81F2193 + msgbox Route113_Text_FunWalkingThroughAsh, MSGBOX_NPC end -Route113_EventScript_1F219C:: @ 81F219C - msgbox Route113_Text_1F2440, MSGBOX_SIGN +Route113_EventScript_RouteSign111:: @ 81F219C + msgbox Route113_Text_RouteSign111, MSGBOX_SIGN end -Route113_EventScript_1F21A5:: @ 81F21A5 - msgbox Route113_Text_1F2456, MSGBOX_SIGN +Route113_EventScript_RouteSignFallarbor:: @ 81F21A5 + msgbox Route113_Text_RouteSignFallarbor, MSGBOX_SIGN end -Route113_EventScript_1F21AE:: @ 81F21AE - msgbox Route113_Text_1F24F8, MSGBOX_SIGN +Route113_EventScript_GlassWorkshopSign:: @ 81F21AE + msgbox Route113_Text_GlassWorkshopSign, MSGBOX_SIGN end -Route113_EventScript_1F21B7:: @ 81F21B7 - msgbox Route113_Text_1F2471, MSGBOX_SIGN +Route113_EventScript_TrainerTipsRegisterKeyItems:: @ 81F21B7 + msgbox Route113_Text_TrainerTipsRegisterKeyItems, MSGBOX_SIGN end -Route113_EventScript_1F21C0:: @ 81F21C0 - trainerbattle_single TRAINER_JAYLEN, Route113_Text_299D3C, Route113_Text_299D68 - msgbox Route113_Text_299D7D, MSGBOX_AUTOCLOSE +Route113_EventScript_Jaylen:: @ 81F21C0 + trainerbattle_single TRAINER_JAYLEN, Route113_Text_JaylenIntro, Route113_Text_JaylenDefeat + msgbox Route113_Text_JaylenPostBattle, MSGBOX_AUTOCLOSE end -Route113_EventScript_1F21D7:: @ 81F21D7 - trainerbattle_single TRAINER_DILLON, Route113_Text_299DE3, Route113_Text_299E1C - msgbox Route113_Text_299E38, MSGBOX_AUTOCLOSE +Route113_EventScript_Dillon:: @ 81F21D7 + trainerbattle_single TRAINER_DILLON, Route113_Text_DillonIntro, Route113_Text_DillonDefeat + msgbox Route113_Text_DillonPostBattle, MSGBOX_AUTOCLOSE end -Route113_EventScript_1F21EE:: @ 81F21EE - trainerbattle_single TRAINER_MADELINE_1, Route113_Text_299EA6, Route113_Text_299EF9, Route113_EventScript_1F221A +Route113_EventScript_Madeline:: @ 81F21EE + trainerbattle_single TRAINER_MADELINE_1, Route113_Text_MadelineIntro, Route113_Text_MadelineDefeat, Route113_EventScript_RegisterMadeline specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route113_EventScript_1F2239 - msgbox Route113_Text_299F15, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route113_EventScript_RematchMadeline + msgbox Route113_Text_MadelinePostBattle, MSGBOX_DEFAULT release end -Route113_EventScript_1F221A:: @ 81F221A - special sub_80B4808 +Route113_EventScript_RegisterMadeline:: @ 81F221A + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route113_Text_299F49, MSGBOX_DEFAULT + msgbox Route113_Text_MadelineRegister, MSGBOX_DEFAULT register_matchcall TRAINER_MADELINE_1 release end -Route113_EventScript_1F2239:: @ 81F2239 - trainerbattle_rematch TRAINER_MADELINE_1, Route113_Text_299F8A, Route113_Text_299FC9 - msgbox Route113_Text_299FD8, MSGBOX_AUTOCLOSE +Route113_EventScript_RematchMadeline:: @ 81F2239 + trainerbattle_rematch TRAINER_MADELINE_1, Route113_Text_MadelineRematchIntro, Route113_Text_MadelineRematchDefeat + msgbox Route113_Text_MadelinePostRematch, MSGBOX_AUTOCLOSE end -Route113_EventScript_1F2250:: @ 81F2250 - trainerbattle_single TRAINER_LAO_1, Route113_Text_29A015, Route113_Text_29A04C, Route113_EventScript_1F227C +Route113_EventScript_Lao:: @ 81F2250 + trainerbattle_single TRAINER_LAO_1, Route113_Text_LaoIntro, Route113_Text_LaoDefeat, Route113_EventScript_RegisterLao specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route113_EventScript_1F229B - msgbox Route113_Text_29A067, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route113_EventScript_RematchLao + msgbox Route113_Text_LaoPostBattle, MSGBOX_DEFAULT release end -Route113_EventScript_1F227C:: @ 81F227C - special sub_80B4808 +Route113_EventScript_RegisterLao:: @ 81F227C + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route113_Text_29A0A2, MSGBOX_DEFAULT + msgbox Route113_Text_LaoRegister, MSGBOX_DEFAULT register_matchcall TRAINER_LAO_1 release end -Route113_EventScript_1F229B:: @ 81F229B - trainerbattle_rematch TRAINER_LAO_1, Route113_Text_29A0E8, Route113_Text_29A11F - msgbox Route113_Text_29A13A, MSGBOX_AUTOCLOSE +Route113_EventScript_RematchLao:: @ 81F229B + trainerbattle_rematch TRAINER_LAO_1, Route113_Text_LaoRematchIntro, Route113_Text_LaoRematchDefeat + msgbox Route113_Text_LaoPostRematch, MSGBOX_AUTOCLOSE end -Route113_EventScript_1F22B2:: @ 81F22B2 - trainerbattle_single TRAINER_LUNG, Route113_Text_29A192, Route113_Text_29A1C6 - msgbox Route113_Text_29A219, MSGBOX_AUTOCLOSE +Route113_EventScript_Lung:: @ 81F22B2 + trainerbattle_single TRAINER_LUNG, Route113_Text_LungIntro, Route113_Text_LungDefeat + msgbox Route113_Text_LungPostBattle, MSGBOX_AUTOCLOSE end -Route113_EventScript_1F22C9:: @ 81F22C9 - trainerbattle_double TRAINER_TORI_AND_TIA, Route113_Text_29A261, Route113_Text_29A29D, Route113_Text_29A31F - msgbox Route113_Text_29A2DE, MSGBOX_AUTOCLOSE +Route113_EventScript_Tori:: @ 81F22C9 + trainerbattle_double TRAINER_TORI_AND_TIA, Route113_Text_ToriIntro, Route113_Text_ToriDefeat, Route113_Text_ToriNotEnoughMons + msgbox Route113_Text_ToriPostBattle, MSGBOX_AUTOCLOSE end -Route113_EventScript_1F22E4:: @ 81F22E4 - trainerbattle_double TRAINER_TORI_AND_TIA, Route113_Text_29A35C, Route113_Text_29A397, Route113_Text_29A419 - msgbox Route113_Text_29A3DA, MSGBOX_AUTOCLOSE +Route113_EventScript_Tia:: @ 81F22E4 + trainerbattle_double TRAINER_TORI_AND_TIA, Route113_Text_TiaIntro, Route113_Text_TiaDefeat, Route113_Text_TiaNotEnoughMons + msgbox Route113_Text_TiaPostBattle, MSGBOX_AUTOCLOSE end -Route113_EventScript_1F22FF:: @ 81F22FF - trainerbattle_single TRAINER_SOPHIE, Route113_Text_29A4BF, Route113_Text_29A508 - msgbox Route113_Text_29A529, MSGBOX_AUTOCLOSE +Route113_EventScript_Sophie:: @ 81F22FF + trainerbattle_single TRAINER_SOPHIE, Route113_Text_SophieIntro, Route113_Text_SophieDefeat + msgbox Route113_Text_SophiePostBattle, MSGBOX_AUTOCLOSE end -Route113_EventScript_1F2316:: @ 81F2316 - trainerbattle_single TRAINER_COBY, Route113_Text_29A453, Route113_Text_29A480 - msgbox Route113_Text_29A489, MSGBOX_AUTOCLOSE +Route113_EventScript_Coby:: @ 81F2316 + trainerbattle_single TRAINER_COBY, Route113_Text_CobyIntro, Route113_Text_CobyDefeat + msgbox Route113_Text_CobyPostBattle, MSGBOX_AUTOCLOSE end -Route113_EventScript_1F232D:: @ 81F232D - trainerbattle_single TRAINER_LAWRENCE, Route113_Text_29A566, Route113_Text_29A5A0 - msgbox Route113_Text_29A5BE, MSGBOX_AUTOCLOSE +Route113_EventScript_Lawrence:: @ 81F232D + trainerbattle_single TRAINER_LAWRENCE, Route113_Text_LawrenceIntro, Route113_Text_LawrenceDefeat + msgbox Route113_Text_LawrencePostBattle, MSGBOX_AUTOCLOSE end -Route113_EventScript_1F2344:: @ 81F2344 - trainerbattle_single TRAINER_WYATT, Route113_Text_29A5E4, Route113_Text_29A628 - msgbox Route113_Text_29A65D, MSGBOX_AUTOCLOSE +Route113_EventScript_Wyatt:: @ 81F2344 + trainerbattle_single TRAINER_WYATT, Route113_Text_WyattIntro, Route113_Text_WyattDefeat + msgbox Route113_Text_WyattPostBattle, MSGBOX_AUTOCLOSE end -Route113_Text_1F235B: @ 81F235B +Route113_Text_AshCanBeFashionedIntoGlass: @ 81F235B .string "Wahahaha! Today's technology is a\n" .string "wondrous thing!\p" .string "Take this volcanic ash here.\n" .string "It can be fashioned into glass.$" -Route113_Text_1F23CA: @ 81F23CA +Route113_Text_FunWalkingThroughAsh: @ 81F23CA .string "It's fun walking through the volcano's\n" .string "ashes on the ground and grass.\p" .string "You can see where you walked--it's\n" .string "really neat!$" -Route113_Text_1F2440: @ 81F2440 +Route113_Text_RouteSign111: @ 81F2440 .string "ROUTE 113\n" .string "{RIGHT_ARROW} ROUTE 111$" -Route113_Text_1F2456: @ 81F2456 +Route113_Text_RouteSignFallarbor: @ 81F2456 .string "ROUTE 113\n" .string "{LEFT_ARROW} FALLARBOR TOWN$" -Route113_Text_1F2471: @ 81F2471 +Route113_Text_TrainerTipsRegisterKeyItems: @ 81F2471 .string "TRAINER TIPS\p" .string "You may register one of the KEY ITEMS\n" .string "in your BAG as SELECT.\p" .string "Simply press SELECT to use\n" .string "the registered item conveniently.$" -Route113_Text_1F24F8: @ 81F24F8 +Route113_Text_GlassWorkshopSign: @ 81F24F8 .string "GLASS WORKSHOP\n" .string "“Turning Volcanic Ash into Glass Items”$" diff --git a/data/maps/Route113_GlassWorkshop/map.json b/data/maps/Route113_GlassWorkshop/map.json index 70e342048a..0f57ce2b8f 100644 --- a/data/maps/Route113_GlassWorkshop/map.json +++ b/data/maps/Route113_GlassWorkshop/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route113_GlassWorkshop_EventScript_26ED1E", + "script": "Route113_GlassWorkshop_EventScript_GlassWorker", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route113_GlassWorkshop_EventScript_26F194", + "script": "Route113_GlassWorkshop_EventScript_NinjaBoy", "flag": "0" } ], diff --git a/data/maps/Route113_GlassWorkshop/scripts.inc b/data/maps/Route113_GlassWorkshop/scripts.inc index b685389d92..eed6d8eaba 100644 --- a/data/maps/Route113_GlassWorkshop/scripts.inc +++ b/data/maps/Route113_GlassWorkshop/scripts.inc @@ -2,313 +2,322 @@ Route113_GlassWorkshop_MapScripts:: @ 826ED03 map_script MAP_SCRIPT_ON_TRANSITION, Route113_GlassWorkshop_OnTransition .byte 0 + .set BLUE_FLUTE_PRICE, 250 + .set YELLOW_FLUTE_PRICE, 500 + .set RED_FLUTE_PRICE, 500 + .set WHITE_FLUTE_PRICE, 1000 + .set BLACK_FLUTE_PRICE, 1000 + .set PRETTY_CHAIR_PRICE, 6000 + .set PRETTY_DESK_PRICE, 8000 + .set LOWEST_ASH_PRICE, BLUE_FLUTE_PRICE + Route113_GlassWorkshop_OnTransition: @ 826ED09 setflag FLAG_LANDMARK_GLASS_WORKSHOP compare VAR_GLASS_WORKSHOP_STATE, 1 - call_if_eq Route113_GlassWorkshop_EventScript_26ED18 + call_if_eq Route113_GlassWorkshop_EventScript_ReenterWorkshopAfterSootSack end -Route113_GlassWorkshop_EventScript_26ED18:: @ 826ED18 +Route113_GlassWorkshop_EventScript_ReenterWorkshopAfterSootSack:: @ 826ED18 setvar VAR_GLASS_WORKSHOP_STATE, 2 return -Route113_GlassWorkshop_EventScript_26ED1E:: @ 826ED1E +Route113_GlassWorkshop_EventScript_GlassWorker:: @ 826ED1E lock faceplayer compare VAR_GLASS_WORKSHOP_STATE, 10 - goto_if_ge Route113_GlassWorkshop_EventScript_26F090 + goto_if_ge Route113_GlassWorkshop_EventScript_GiveItemAfterNoRoom compare VAR_GLASS_WORKSHOP_STATE, 2 - goto_if_eq Route113_GlassWorkshop_EventScript_26ED6E + goto_if_eq Route113_GlassWorkshop_EventScript_CheckCollectedAsh compare VAR_GLASS_WORKSHOP_STATE, 1 - goto_if_eq Route113_GlassWorkshop_EventScript_26ED64 - msgbox Route113_GlassWorkshop_Text_26F19D, MSGBOX_DEFAULT - giveitem_std ITEM_SOOT_SACK + goto_if_eq Route113_GlassWorkshop_EventScript_ExplainSootSack + msgbox Route113_GlassWorkshop_Text_GoCollectAshWithThis, MSGBOX_DEFAULT + giveitem ITEM_SOOT_SACK setvar VAR_GLASS_WORKSHOP_STATE, 1 - msgbox Route113_GlassWorkshop_Text_26F252, MSGBOX_DEFAULT + msgbox Route113_GlassWorkshop_Text_ExplainSootSack, MSGBOX_DEFAULT release end -Route113_GlassWorkshop_EventScript_26ED64:: @ 826ED64 - msgbox Route113_GlassWorkshop_Text_26F252, MSGBOX_DEFAULT +Route113_GlassWorkshop_EventScript_ExplainSootSack:: @ 826ED64 + msgbox Route113_GlassWorkshop_Text_ExplainSootSack, MSGBOX_DEFAULT release end -Route113_GlassWorkshop_EventScript_26ED6E:: @ 826ED6E +Route113_GlassWorkshop_EventScript_CheckCollectedAsh:: @ 826ED6E checkitem ITEM_SOOT_SACK, 1 - compare VAR_RESULT, 0 - goto_if_eq Route113_GlassWorkshop_EventScript_26ED9D - msgbox Route113_GlassWorkshop_Text_26F312, MSGBOX_DEFAULT - compare VAR_ASH_GATHER_COUNT, 250 - goto_if_lt Route113_GlassWorkshop_EventScript_26EFD6 - message Route113_GlassWorkshop_Text_26F40A + compare VAR_RESULT, FALSE + goto_if_eq Route113_GlassWorkshop_EventScript_SootSackNotInBag + msgbox Route113_GlassWorkshop_Text_LetsSeeCollectedAshes, MSGBOX_DEFAULT + compare VAR_ASH_GATHER_COUNT, LOWEST_ASH_PRICE + goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAsh + message Route113_GlassWorkshop_Text_WhichGlassItemWoudYouLike waitmessage - goto Route113_GlassWorkshop_EventScript_26EDA7 + goto Route113_GlassWorkshop_EventScript_ChooseGlassItem end -Route113_GlassWorkshop_EventScript_26ED9D:: @ 826ED9D - msgbox Route113_GlassWorkshop_Text_26F772, MSGBOX_DEFAULT +Route113_GlassWorkshop_EventScript_SootSackNotInBag:: @ 826ED9D + msgbox Route113_GlassWorkshop_Text_HaventGotYourSootSack, MSGBOX_DEFAULT release end -Route113_GlassWorkshop_EventScript_26EDA7:: @ 826EDA7 +Route113_GlassWorkshop_EventScript_ChooseGlassItem:: @ 826EDA7 setvar VAR_0x8009, 0 - setvar VAR_0x8004, 1 - special sub_813A128 + setvar VAR_0x8004, SCROLL_MULTI_GLASS_WORKSHOP_VENDOR + special ShowScrollableMultichoice waitstate switch VAR_RESULT - case 0, Route113_GlassWorkshop_EventScript_26EE1E - case 1, Route113_GlassWorkshop_EventScript_26EE5A - case 2, Route113_GlassWorkshop_EventScript_26EE96 - case 3, Route113_GlassWorkshop_EventScript_26EED2 - case 4, Route113_GlassWorkshop_EventScript_26EF0E - case 5, Route113_GlassWorkshop_EventScript_26EF4A - case 6, Route113_GlassWorkshop_EventScript_26EF8B - case 7, Route113_GlassWorkshop_EventScript_26EFCC - case 127, Route113_GlassWorkshop_EventScript_26EFCC + case 0, Route113_GlassWorkshop_EventScript_BlueFlute + case 1, Route113_GlassWorkshop_EventScript_YellowFlute + case 2, Route113_GlassWorkshop_EventScript_RedFlute + case 3, Route113_GlassWorkshop_EventScript_WhiteFlute + case 4, Route113_GlassWorkshop_EventScript_BlackFlute + case 5, Route113_GlassWorkshop_EventScript_PrettyChair + case 6, Route113_GlassWorkshop_EventScript_PrettyDesk + case 7, Route113_GlassWorkshop_EventScript_CancelGlassItemSelect + case MULTI_B_PRESSED, Route113_GlassWorkshop_EventScript_CancelGlassItemSelect end -Route113_GlassWorkshop_EventScript_26EE1E:: @ 826EE1E - setvar VAR_0x8008, 39 +Route113_GlassWorkshop_EventScript_BlueFlute:: @ 826EE1E + setvar VAR_0x8008, ITEM_BLUE_FLUTE bufferitemname 0, VAR_0x8008 - setvar VAR_0x800A, 250 - compare VAR_ASH_GATHER_COUNT, 250 - goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE - msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route113_GlassWorkshop_EventScript_26F003 + setvar VAR_0x800A, BLUE_FLUTE_PRICE + compare VAR_ASH_GATHER_COUNT, BLUE_FLUTE_PRICE + goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem + msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem setvar VAR_GLASS_WORKSHOP_STATE, 10 - subvar VAR_ASH_GATHER_COUNT, 250 - goto Route113_GlassWorkshop_EventScript_26F00F + subvar VAR_ASH_GATHER_COUNT, BLUE_FLUTE_PRICE + goto Route113_GlassWorkshop_EventScript_MakeGlassItem end -Route113_GlassWorkshop_EventScript_26EE5A:: @ 826EE5A - setvar VAR_0x8008, 40 +Route113_GlassWorkshop_EventScript_YellowFlute:: @ 826EE5A + setvar VAR_0x8008, ITEM_YELLOW_FLUTE bufferitemname 0, VAR_0x8008 - setvar VAR_0x800A, 500 - compare VAR_ASH_GATHER_COUNT, 500 - goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE - msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route113_GlassWorkshop_EventScript_26F003 + setvar VAR_0x800A, YELLOW_FLUTE_PRICE + compare VAR_ASH_GATHER_COUNT, YELLOW_FLUTE_PRICE + goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem + msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem setvar VAR_GLASS_WORKSHOP_STATE, 11 - subvar VAR_ASH_GATHER_COUNT, 500 - goto Route113_GlassWorkshop_EventScript_26F00F + subvar VAR_ASH_GATHER_COUNT, YELLOW_FLUTE_PRICE + goto Route113_GlassWorkshop_EventScript_MakeGlassItem end -Route113_GlassWorkshop_EventScript_26EE96:: @ 826EE96 - setvar VAR_0x8008, 41 +Route113_GlassWorkshop_EventScript_RedFlute:: @ 826EE96 + setvar VAR_0x8008, ITEM_RED_FLUTE bufferitemname 0, VAR_0x8008 - setvar VAR_0x800A, 500 - compare VAR_ASH_GATHER_COUNT, 500 - goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE - msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route113_GlassWorkshop_EventScript_26F003 + setvar VAR_0x800A, RED_FLUTE_PRICE + compare VAR_ASH_GATHER_COUNT, RED_FLUTE_PRICE + goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem + msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem setvar VAR_GLASS_WORKSHOP_STATE, 12 - subvar VAR_ASH_GATHER_COUNT, 500 - goto Route113_GlassWorkshop_EventScript_26F00F + subvar VAR_ASH_GATHER_COUNT, RED_FLUTE_PRICE + goto Route113_GlassWorkshop_EventScript_MakeGlassItem end -Route113_GlassWorkshop_EventScript_26EED2:: @ 826EED2 - setvar VAR_0x8008, 43 +Route113_GlassWorkshop_EventScript_WhiteFlute:: @ 826EED2 + setvar VAR_0x8008, ITEM_WHITE_FLUTE bufferitemname 0, VAR_0x8008 - setvar VAR_0x800A, 1000 - compare VAR_ASH_GATHER_COUNT, 1000 - goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE - msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route113_GlassWorkshop_EventScript_26F003 + setvar VAR_0x800A, WHITE_FLUTE_PRICE + compare VAR_ASH_GATHER_COUNT, WHITE_FLUTE_PRICE + goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem + msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem setvar VAR_GLASS_WORKSHOP_STATE, 13 - subvar VAR_ASH_GATHER_COUNT, 1000 - goto Route113_GlassWorkshop_EventScript_26F00F + subvar VAR_ASH_GATHER_COUNT, WHITE_FLUTE_PRICE + goto Route113_GlassWorkshop_EventScript_MakeGlassItem end -Route113_GlassWorkshop_EventScript_26EF0E:: @ 826EF0E - setvar VAR_0x8008, 42 +Route113_GlassWorkshop_EventScript_BlackFlute:: @ 826EF0E + setvar VAR_0x8008, ITEM_BLACK_FLUTE bufferitemname 0, VAR_0x8008 - setvar VAR_0x800A, 1000 - compare VAR_ASH_GATHER_COUNT, 1000 - goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE - msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route113_GlassWorkshop_EventScript_26F003 + setvar VAR_0x800A, BLACK_FLUTE_PRICE + compare VAR_ASH_GATHER_COUNT, BLACK_FLUTE_PRICE + goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem + msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem setvar VAR_GLASS_WORKSHOP_STATE, 14 - subvar VAR_ASH_GATHER_COUNT, 1000 - goto Route113_GlassWorkshop_EventScript_26F00F + subvar VAR_ASH_GATHER_COUNT, BLACK_FLUTE_PRICE + goto Route113_GlassWorkshop_EventScript_MakeGlassItem end -Route113_GlassWorkshop_EventScript_26EF4A:: @ 826EF4A +Route113_GlassWorkshop_EventScript_PrettyChair:: @ 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 - goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE - msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route113_GlassWorkshop_EventScript_26F003 + setvar VAR_0x800A, PRETTY_CHAIR_PRICE + compare VAR_ASH_GATHER_COUNT, PRETTY_CHAIR_PRICE + goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem + msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem setvar VAR_GLASS_WORKSHOP_STATE, 15 - subvar VAR_ASH_GATHER_COUNT, 6000 - goto Route113_GlassWorkshop_EventScript_26F00F + subvar VAR_ASH_GATHER_COUNT, PRETTY_CHAIR_PRICE + goto Route113_GlassWorkshop_EventScript_MakeGlassItem end -Route113_GlassWorkshop_EventScript_26EF8B:: @ 826EF8B +Route113_GlassWorkshop_EventScript_PrettyDesk:: @ 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 - goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE - msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route113_GlassWorkshop_EventScript_26F003 + setvar VAR_0x800A, PRETTY_DESK_PRICE + compare VAR_ASH_GATHER_COUNT, PRETTY_DESK_PRICE + goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem + msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem setvar VAR_GLASS_WORKSHOP_STATE, 16 - subvar VAR_ASH_GATHER_COUNT, 8000 - goto Route113_GlassWorkshop_EventScript_26F00F + subvar VAR_ASH_GATHER_COUNT, PRETTY_DESK_PRICE + goto Route113_GlassWorkshop_EventScript_MakeGlassItem end -Route113_GlassWorkshop_EventScript_26EFCC:: @ 826EFCC - msgbox Route113_GlassWorkshop_Text_26F641, MSGBOX_DEFAULT +Route113_GlassWorkshop_EventScript_CancelGlassItemSelect:: @ 826EFCC + msgbox Route113_GlassWorkshop_Text_AllThatAshButDontWantAnything, MSGBOX_DEFAULT release end -Route113_GlassWorkshop_EventScript_26EFD6:: @ 826EFD6 - setvar VAR_0x800A, 250 - subvar VAR_0x800A, 16456 +Route113_GlassWorkshop_EventScript_NotEnoughAsh:: @ 826EFD6 + setvar VAR_0x800A, LOWEST_ASH_PRICE + subvar VAR_0x800A, VAR_ASH_GATHER_COUNT buffernumberstring 0, VAR_0x800A - msgbox Route113_GlassWorkshop_Text_26F34E, MSGBOX_DEFAULT + msgbox Route113_GlassWorkshop_Text_NotEnoughAshNeedX, MSGBOX_DEFAULT release end -Route113_GlassWorkshop_EventScript_26EFEE:: @ 826EFEE - subvar VAR_0x800A, 16456 +Route113_GlassWorkshop_EventScript_NotEnoughAshForItem:: @ 826EFEE + subvar VAR_0x800A, VAR_ASH_GATHER_COUNT buffernumberstring 1, VAR_0x800A - message Route113_GlassWorkshop_Text_26F543 + message Route113_GlassWorkshop_Text_NotEnoughAshToMakeItem waitmessage - goto Route113_GlassWorkshop_EventScript_26EDA7 + goto Route113_GlassWorkshop_EventScript_ChooseGlassItem end -Route113_GlassWorkshop_EventScript_26F003:: @ 826F003 - message Route113_GlassWorkshop_Text_26F4B5 +Route113_GlassWorkshop_EventScript_ChooseDifferentItem:: @ 826F003 + message Route113_GlassWorkshop_Text_WhichWouldYouLike waitmessage - goto Route113_GlassWorkshop_EventScript_26EDA7 + goto Route113_GlassWorkshop_EventScript_ChooseGlassItem end -Route113_GlassWorkshop_EventScript_26F00F:: @ 826F00F - msgbox Route113_GlassWorkshop_Text_26F4DA, MSGBOX_DEFAULT +Route113_GlassWorkshop_EventScript_MakeGlassItem:: @ 826F00F + msgbox Route113_GlassWorkshop_Text_IllMakeItemForYou, MSGBOX_DEFAULT closemessage - fadescreen 1 + fadescreen FADE_TO_BLACK playse SE_SELECT delay 30 - fadescreen 0 - msgbox Route113_GlassWorkshop_Text_26F688, MSGBOX_DEFAULT + fadescreen FADE_FROM_BLACK + msgbox Route113_GlassWorkshop_Text_IveFinishedGlassItem, MSGBOX_DEFAULT compare VAR_0x8009, 0 - call_if_eq Route113_GlassWorkshop_EventScript_26F047 + call_if_eq Route113_GlassWorkshop_EventScript_GiveGlassFlute compare VAR_0x8009, 1 - call_if_eq Route113_GlassWorkshop_EventScript_26F05F + call_if_eq Route113_GlassWorkshop_EventScript_GiveGlassDecor setvar VAR_GLASS_WORKSHOP_STATE, 2 release end -Route113_GlassWorkshop_EventScript_26F047:: @ 826F047 - giveitem_std VAR_0x8008 - compare VAR_RESULT, 0 - goto_if_eq Route113_GlassWorkshop_EventScript_26F072 +Route113_GlassWorkshop_EventScript_GiveGlassFlute:: @ 826F047 + giveitem VAR_0x8008 + compare VAR_RESULT, FALSE + goto_if_eq Route113_GlassWorkshop_EventScript_NoRoomForFlute return -Route113_GlassWorkshop_EventScript_26F05F:: @ 826F05F - givedecoration_std VAR_0x8008 - compare VAR_RESULT, 0 - goto_if_eq Route113_GlassWorkshop_EventScript_26F081 +Route113_GlassWorkshop_EventScript_GiveGlassDecor:: @ 826F05F + givedecoration VAR_0x8008 + compare VAR_RESULT, FALSE + goto_if_eq Route113_GlassWorkshop_EventScript_NoRoomForDecor return -Route113_GlassWorkshop_EventScript_26F072:: @ 826F072 +Route113_GlassWorkshop_EventScript_NoRoomForFlute:: @ 826F072 call Common_EventScript_BagIsFull - msgbox Route113_GlassWorkshop_Text_26F6B7, MSGBOX_DEFAULT + msgbox Route113_GlassWorkshop_Text_NoRoomInBag, MSGBOX_DEFAULT release end -Route113_GlassWorkshop_EventScript_26F081:: @ 826F081 - call Common_EventScript_NoRoomLeftForAnother - msgbox Route113_GlassWorkshop_Text_26F715, MSGBOX_DEFAULT +Route113_GlassWorkshop_EventScript_NoRoomForDecor:: @ 826F081 + call Common_EventScript_NoRoomForDecor + msgbox Route113_GlassWorkshop_Text_NoRoomInPC, MSGBOX_DEFAULT release end -Route113_GlassWorkshop_EventScript_26F090:: @ 826F090 +Route113_GlassWorkshop_EventScript_GiveItemAfterNoRoom:: @ 826F090 switch VAR_GLASS_WORKSHOP_STATE - case 10, Route113_GlassWorkshop_EventScript_26F0E3 - case 11, Route113_GlassWorkshop_EventScript_26F0F7 - case 12, Route113_GlassWorkshop_EventScript_26F10B - case 13, Route113_GlassWorkshop_EventScript_26F11F - case 14, Route113_GlassWorkshop_EventScript_26F133 - case 15, Route113_GlassWorkshop_EventScript_26F147 - case 16, Route113_GlassWorkshop_EventScript_26F15B + case 10, Route113_GlassWorkshop_EventScript_GiveBlueFlute + case 11, Route113_GlassWorkshop_EventScript_GiveYellowFlute + case 12, Route113_GlassWorkshop_EventScript_GiveRedFlute + case 13, Route113_GlassWorkshop_EventScript_GiveWhiteFlute + case 14, Route113_GlassWorkshop_EventScript_GiveBlackFlute + case 15, Route113_GlassWorkshop_EventScript_GivePrettyChair + case 16, Route113_GlassWorkshop_EventScript_GivePrettyDesk end -Route113_GlassWorkshop_EventScript_26F0E3:: @ 826F0E3 +Route113_GlassWorkshop_EventScript_GiveBlueFlute:: @ 826F0E3 setvar VAR_0x8009, 0 - setvar VAR_0x8008, 39 + setvar VAR_0x8008, ITEM_BLUE_FLUTE bufferitemname 0, VAR_0x8008 - goto Route113_GlassWorkshop_EventScript_26F16F + goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain end -Route113_GlassWorkshop_EventScript_26F0F7:: @ 826F0F7 +Route113_GlassWorkshop_EventScript_GiveYellowFlute:: @ 826F0F7 setvar VAR_0x8009, 0 - setvar VAR_0x8008, 40 + setvar VAR_0x8008, ITEM_YELLOW_FLUTE bufferitemname 0, VAR_0x8008 - goto Route113_GlassWorkshop_EventScript_26F16F + goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain end -Route113_GlassWorkshop_EventScript_26F10B:: @ 826F10B +Route113_GlassWorkshop_EventScript_GiveRedFlute:: @ 826F10B setvar VAR_0x8009, 0 - setvar VAR_0x8008, 41 + setvar VAR_0x8008, ITEM_RED_FLUTE bufferitemname 0, VAR_0x8008 - goto Route113_GlassWorkshop_EventScript_26F16F + goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain end -Route113_GlassWorkshop_EventScript_26F11F:: @ 826F11F +Route113_GlassWorkshop_EventScript_GiveWhiteFlute:: @ 826F11F setvar VAR_0x8009, 0 - setvar VAR_0x8008, 43 + setvar VAR_0x8008, ITEM_WHITE_FLUTE bufferitemname 0, VAR_0x8008 - goto Route113_GlassWorkshop_EventScript_26F16F + goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain end -Route113_GlassWorkshop_EventScript_26F133:: @ 826F133 +Route113_GlassWorkshop_EventScript_GiveBlackFlute:: @ 826F133 setvar VAR_0x8009, 0 - setvar VAR_0x8008, 42 + setvar VAR_0x8008, ITEM_BLACK_FLUTE bufferitemname 0, VAR_0x8008 - goto Route113_GlassWorkshop_EventScript_26F16F + goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain end -Route113_GlassWorkshop_EventScript_26F147:: @ 826F147 +Route113_GlassWorkshop_EventScript_GivePrettyChair:: @ 826F147 setvar VAR_0x8009, 1 - setvar VAR_0x8008, 13 - bufferdecorationname 0, 13 - goto Route113_GlassWorkshop_EventScript_26F16F + setvar VAR_0x8008, DECOR_PRETTY_CHAIR + bufferdecorationname 0, DECOR_PRETTY_CHAIR + goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain end -Route113_GlassWorkshop_EventScript_26F15B:: @ 826F15B +Route113_GlassWorkshop_EventScript_GivePrettyDesk:: @ 826F15B setvar VAR_0x8009, 1 - setvar VAR_0x8008, 6 - bufferdecorationname 0, 6 - goto Route113_GlassWorkshop_EventScript_26F16F + setvar VAR_0x8008, DECOR_PRETTY_DESK + bufferdecorationname 0, DECOR_PRETTY_DESK + goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain end -Route113_GlassWorkshop_EventScript_26F16F:: @ 826F16F - msgbox Route113_GlassWorkshop_Text_26F688, MSGBOX_DEFAULT +Route113_GlassWorkshop_EventScript_TryGiveItemAgain:: @ 826F16F + msgbox Route113_GlassWorkshop_Text_IveFinishedGlassItem, MSGBOX_DEFAULT compare VAR_0x8009, 0 - call_if_eq Route113_GlassWorkshop_EventScript_26F047 + call_if_eq Route113_GlassWorkshop_EventScript_GiveGlassFlute compare VAR_0x8009, 1 - call_if_eq Route113_GlassWorkshop_EventScript_26F05F + call_if_eq Route113_GlassWorkshop_EventScript_GiveGlassDecor setvar VAR_GLASS_WORKSHOP_STATE, 2 release end -Route113_GlassWorkshop_EventScript_26F194:: @ 826F194 - msgbox Route113_GlassWorkshop_Text_26F7EC, MSGBOX_NPC +Route113_GlassWorkshop_EventScript_NinjaBoy:: @ 826F194 + msgbox Route113_GlassWorkshop_Text_FunToBlowGlassFlute, MSGBOX_NPC end -Route113_GlassWorkshop_Text_26F19D: @ 826F19D +Route113_GlassWorkshop_Text_GoCollectAshWithThis: @ 826F19D .string "This area is covered in volcanic ash,\n" .string "huff-puff!\p" .string "I'm specially gifted, huff-puff.\p" @@ -316,7 +325,7 @@ Route113_GlassWorkshop_Text_26F19D: @ 826F19D .string "and make items, huff-puff.\p" .string "Go collect ashes with this, huff-puff.$" -Route113_GlassWorkshop_Text_26F252: @ 826F252 +Route113_GlassWorkshop_Text_ExplainSootSack: @ 826F252 .string "Just take that SOOT SACK and walk\n" .string "through piles of ash, huff-puff.\p" .string "And it will fill up with the volcanic ash,\n" @@ -324,11 +333,11 @@ Route113_GlassWorkshop_Text_26F252: @ 826F252 .string "Once you think you've collected a good\n" .string "amount, come see me, huff-puff.$" -Route113_GlassWorkshop_Text_26F312: @ 826F312 +Route113_GlassWorkshop_Text_LetsSeeCollectedAshes: @ 826F312 .string "Have you collected ashes, huff-puff?\n" .string "Let me see, huff-puff.$" -Route113_GlassWorkshop_Text_26F34E: @ 826F34E +Route113_GlassWorkshop_Text_NotEnoughAshNeedX: @ 826F34E .string "Hmmm…\n" .string "There's not enough ash here, huff-puff.\l" .string "I can't make glass with this, huff-puff.\p" @@ -336,25 +345,25 @@ Route113_GlassWorkshop_Text_26F34E: @ 826F34E .string "you'll need to walk for me to make you\l" .string "a BLUE FLUTE, huff-puff.$" -Route113_GlassWorkshop_Text_26F40A: @ 826F40A +Route113_GlassWorkshop_Text_WhichGlassItemWoudYouLike: @ 826F40A .string "Oh!\n" .string "You've got a lot of ashes, huff-puff!\p" .string "I'll make you a glass item, huff-puff!\n" .string "Which one would you like, huff-puff?$" -Route113_GlassWorkshop_Text_26F480: @ 826F480 +Route113_GlassWorkshop_Text_IsThatTheItemForYou: @ 826F480 .string "A {STR_VAR_1}, huff-puff?\n" .string "Is that the one for you, huff-puff?$" -Route113_GlassWorkshop_Text_26F4B5: @ 826F4B5 +Route113_GlassWorkshop_Text_WhichWouldYouLike: @ 826F4B5 .string "Which one would you like, huff-puff?$" -Route113_GlassWorkshop_Text_26F4DA: @ 826F4DA +Route113_GlassWorkshop_Text_IllMakeItemForYou: @ 826F4DA .string "A {STR_VAR_1} it is, then, huff-puff!\p" .string "Okay! I'll make it for you, huff-puff.\n" .string "Just wait a little while, huff-puff.$" -Route113_GlassWorkshop_Text_26F543: @ 826F543 +Route113_GlassWorkshop_Text_NotEnoughAshToMakeItem: @ 826F543 .string "A {STR_VAR_1}, huff-puff?\p" .string "There's not enough ash here to make\n" .string "that, though, huff-puff.\p" @@ -364,33 +373,33 @@ Route113_GlassWorkshop_Text_26F543: @ 826F543 .string "Which item would you rather have me\n" .string "make instead, huff-puff?$" -Route113_GlassWorkshop_Text_26F641: @ 826F641 +Route113_GlassWorkshop_Text_AllThatAshButDontWantAnything: @ 826F641 .string "You've collected all that ash, but you\n" .string "don't want anything, huff-puff?$" -Route113_GlassWorkshop_Text_26F688: @ 826F688 +Route113_GlassWorkshop_Text_IveFinishedGlassItem: @ 826F688 .string "Ah, I've finished your {STR_VAR_1}.\n" .string "Take it, huff-puff.$" -Route113_GlassWorkshop_Text_26F6B7: @ 826F6B7 +Route113_GlassWorkshop_Text_NoRoomInBag: @ 826F6B7 .string "Oh?\n" .string "You've no room in your BAG, huff-puff.\p" .string "I'll hold on to it, so come back later,\n" .string "huff-puff.$" -Route113_GlassWorkshop_Text_26F715: @ 826F715 +Route113_GlassWorkshop_Text_NoRoomInPC: @ 826F715 .string "Oh?\n" .string "You've no room in your PC, huff-puff?\p" .string "I'll hold on to it, so come back later,\n" .string "huff-puff.$" -Route113_GlassWorkshop_Text_26F772: @ 826F772 +Route113_GlassWorkshop_Text_HaventGotYourSootSack: @ 826F772 .string "Hah? You haven't got your SOOT SACK\n" .string "with you, huff-puff.\p" .string "You have to keep it with you to collect\n" .string "volcanic ash, huff-puff.$" -Route113_GlassWorkshop_Text_26F7EC: @ 826F7EC +Route113_GlassWorkshop_Text_FunToBlowGlassFlute: @ 826F7EC .string "It's fun to blow a glass flute while\n" .string "my boss is talking.\p" .string "Huff-huff! Puff-puff!$" diff --git a/data/maps/Route114/map.json b/data/maps/Route114/map.json index 1aee2d422c..76a9083f48 100644 --- a/data/maps/Route114/map.json +++ b/data/maps/Route114/map.json @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "Route114_EventScript_1F2640", + "script": "Route114_EventScript_Lenny", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route114_EventScript_1F2657", + "script": "Route114_EventScript_Lucas", "flag": "0" }, { @@ -87,7 +87,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route114_EventScript_1F266E", + "script": "Route114_EventScript_Shane", "flag": "0" }, { @@ -100,7 +100,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route114_EventScript_1F2685", + "script": "Route114_EventScript_Nancy", "flag": "0" }, { @@ -113,7 +113,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route114_EventScript_1F269C", + "script": "Route114_EventScript_Steve", "flag": "0" }, { @@ -178,7 +178,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_1F25D1", + "script": "Route114_EventScript_RoarGentleman", "flag": "0" }, { @@ -191,7 +191,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_1F2612", + "script": "Route114_EventScript_Poochyena", "flag": "0" }, { @@ -204,7 +204,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_1F2582", + "script": "Route114_EventScript_Man", "flag": "0" }, { @@ -217,7 +217,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_1F2777", + "script": "Route114_EventScript_Nolan", "flag": "0" }, { @@ -230,7 +230,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_EventScript_1F2760", + "script": "Route114_EventScript_Claude", "flag": "0" }, { @@ -243,7 +243,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route114_EventScript_1F26FE", + "script": "Route114_EventScript_Bernie", "flag": "0" }, { @@ -308,7 +308,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route114_EventScript_1F27A9", + "script": "Route114_EventScript_Ivy", "flag": "0" }, { @@ -321,7 +321,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route114_EventScript_1F278E", + "script": "Route114_EventScript_Tyra", "flag": "0" }, { @@ -334,7 +334,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route114_EventScript_1F27DB", + "script": "Route114_EventScript_Charlotte", "flag": "0" }, { @@ -347,7 +347,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route114_EventScript_1F27C4", + "script": "Route114_EventScript_Angelina", "flag": "0" }, { @@ -373,7 +373,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route114_EventScript_1F27F2", + "script": "Route114_EventScript_Kai", "flag": "0" } ], @@ -422,7 +422,7 @@ "y": 64, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route114_EventScript_1F2625" + "script": "Route114_EventScript_MeteorFallsSign" }, { "type": "sign", @@ -430,7 +430,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route114_EventScript_1F262E" + "script": "Route114_EventScript_FossilManiacsHouseSign" }, { "type": "secret_base", @@ -480,7 +480,7 @@ "y": 38, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route114_EventScript_1F2637" + "script": "Route114_EventScript_LanettesHouseSign" }, { "type": "hidden_item", diff --git a/data/maps/Route114/scripts.inc b/data/maps/Route114/scripts.inc index 925f693fa6..dda7f270d1 100644 --- a/data/maps/Route114/scripts.inc +++ b/data/maps/Route114/scripts.inc @@ -1,211 +1,211 @@ Route114_MapScripts:: @ 81F252F map_script MAP_SCRIPT_ON_TRANSITION, Route114_OnTransition - map_script MAP_SCRIPT_ON_LOAD, Route114_MapScript1_1F2561 - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route114_MapScript2_1F2578 + map_script MAP_SCRIPT_ON_LOAD, Route114_OnLoad + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route114_OnFrame .byte 0 Route114_OnTransition: @ 81F253F - compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 - call_if_eq Route114_EventScript_273D13 - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_114_NORTH - call_if_eq UnusualWeather_StartGroudonWeather - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_114_SOUTH - call_if_eq UnusualWeather_StartGroudonWeather + compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1 + call_if_eq AbnormalWeather_EventScript_HideMapNamePopup + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_114_NORTH + call_if_eq AbnormalWeather_StartGroudonWeather + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_114_SOUTH + call_if_eq AbnormalWeather_StartGroudonWeather end -Route114_MapScript1_1F2561: @ 81F2561 - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_114_NORTH - call_if_eq UnusualWeather_EventScript_PlaceTilesRoute114North - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_114_SOUTH - call_if_eq UnusualWeather_EventScript_PlaceTilesRoute114South +Route114_OnLoad: @ 81F2561 + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_114_NORTH + call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute114North + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_114_SOUTH + call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute114South end -Route114_MapScript2_1F2578: @ 81F2578 - map_script_2 VAR_SHOULD_END_UNUSUAL_WEATHER, 1, UnusualWeather_EventScript_EndEventAndCleanup_1 +Route114_OnFrame: @ 81F2578 + map_script_2 VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_EndEventAndCleanup_1 .2byte 0 -Route114_EventScript_1F2582:: @ 81F2582 +Route114_EventScript_Man:: @ 81F2582 lock faceplayer dotimebasedevents - goto_if_set FLAG_DAILY_ROUTE_114_RECEIVED_BERRY, Route114_EventScript_1F25C7 - msgbox Route114_Text_2A6FCB, MSGBOX_DEFAULT - random 5 - addvar VAR_RESULT, 15 - addvar VAR_RESULT, 133 - giveitem_std VAR_RESULT - compare VAR_RESULT, 0 + goto_if_set FLAG_DAILY_ROUTE_114_RECEIVED_BERRY, Route114_EventScript_ReceivedBerry + msgbox Route114_Text_LoveUsingBerryCrushShareBerry, MSGBOX_DEFAULT + random NUM_ROUTE_114_MAN_BERRIES + addvar VAR_RESULT, NUM_ROUTE_114_MAN_BERRIES_SKIPPED + addvar VAR_RESULT, FIRST_BERRY_INDEX + giveitem VAR_RESULT + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_DAILY_ROUTE_114_RECEIVED_BERRY - msgbox Route114_Text_2A7034, MSGBOX_DEFAULT + msgbox Route114_Text_TryBerryCrushWithFriends, MSGBOX_DEFAULT release end -Route114_EventScript_1F25C7:: @ 81F25C7 - msgbox Route114_Text_2A706E, MSGBOX_DEFAULT +Route114_EventScript_ReceivedBerry:: @ 81F25C7 + msgbox Route114_Text_FunToThinkAboutBerries, MSGBOX_DEFAULT release end -Route114_EventScript_1F25D1:: @ 81F25D1 +Route114_EventScript_RoarGentleman:: @ 81F25D1 lock faceplayer - goto_if_set FLAG_RECEIVED_TM05, Route114_EventScript_1F2608 - msgbox Route114_Text_1F2809, MSGBOX_DEFAULT - giveitem_std ITEM_TM05 - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_TM05, Route114_EventScript_ReceivedRoar + msgbox Route114_Text_AllMyMonDoesIsRoarTakeThis, MSGBOX_DEFAULT + giveitem ITEM_TM05 + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_TM05 - msgbox Route114_Text_1F2872, MSGBOX_DEFAULT + msgbox Route114_Text_ExplainRoar, MSGBOX_DEFAULT release end -Route114_EventScript_1F2608:: @ 81F2608 - msgbox Route114_Text_1F2872, MSGBOX_DEFAULT +Route114_EventScript_ReceivedRoar:: @ 81F2608 + msgbox Route114_Text_ExplainRoar, MSGBOX_DEFAULT release end -Route114_EventScript_1F2612:: @ 81F2612 +Route114_EventScript_Poochyena:: @ 81F2612 lock faceplayer waitse playmoncry SPECIES_POOCHYENA, 2 - msgbox Route114_Text_1F28A6, MSGBOX_DEFAULT + msgbox Route114_Text_Poochyena, MSGBOX_DEFAULT waitmoncry release end -Route114_EventScript_1F2625:: @ 81F2625 - msgbox Route114_Text_1F28B3, MSGBOX_SIGN +Route114_EventScript_MeteorFallsSign:: @ 81F2625 + msgbox Route114_Text_MeteorFallsSign, MSGBOX_SIGN end -Route114_EventScript_1F262E:: @ 81F262E - msgbox Route114_Text_1F28DB, MSGBOX_SIGN +Route114_EventScript_FossilManiacsHouseSign:: @ 81F262E + msgbox Route114_Text_FossilManiacsHouseSign, MSGBOX_SIGN end -Route114_EventScript_1F2637:: @ 81F2637 - msgbox Route114_Text_1F2910, MSGBOX_SIGN +Route114_EventScript_LanettesHouseSign:: @ 81F2637 + msgbox Route114_Text_LanettesHouse, MSGBOX_SIGN end -Route114_EventScript_1F2640:: @ 81F2640 - trainerbattle_single TRAINER_LENNY, Route114_Text_29A6B1, Route114_Text_29A707 - msgbox Route114_Text_29A715, MSGBOX_AUTOCLOSE +Route114_EventScript_Lenny:: @ 81F2640 + trainerbattle_single TRAINER_LENNY, Route114_Text_LennyIntro, Route114_Text_LennyDefeat + msgbox Route114_Text_LennyPostBattle, MSGBOX_AUTOCLOSE end -Route114_EventScript_1F2657:: @ 81F2657 - trainerbattle_single TRAINER_LUCAS_1, Route114_Text_29A777, Route114_Text_29A7B5 - msgbox Route114_Text_29A7D4, MSGBOX_AUTOCLOSE +Route114_EventScript_Lucas:: @ 81F2657 + trainerbattle_single TRAINER_LUCAS_1, Route114_Text_LucasIntro, Route114_Text_LucasDefeat + msgbox Route114_Text_LucasPostBattle, MSGBOX_AUTOCLOSE end -Route114_EventScript_1F266E:: @ 81F266E - trainerbattle_single TRAINER_SHANE, Route114_Text_29A818, Route114_Text_29A88F - msgbox Route114_Text_29A89F, MSGBOX_AUTOCLOSE +Route114_EventScript_Shane:: @ 81F266E + trainerbattle_single TRAINER_SHANE, Route114_Text_ShaneIntro, Route114_Text_ShaneDefeat + msgbox Route114_Text_ShanePostBattle, MSGBOX_AUTOCLOSE end -Route114_EventScript_1F2685:: @ 81F2685 - trainerbattle_single TRAINER_NANCY, Route114_Text_29A8D9, Route114_Text_29A90E - msgbox Route114_Text_29A916, MSGBOX_AUTOCLOSE +Route114_EventScript_Nancy:: @ 81F2685 + trainerbattle_single TRAINER_NANCY, Route114_Text_NancyIntro, Route114_Text_NancyDefeat + msgbox Route114_Text_NancyPostBattle, MSGBOX_AUTOCLOSE end -Route114_EventScript_1F269C:: @ 81F269C - trainerbattle_single TRAINER_STEVE_1, Route114_Text_29A943, Route114_Text_29A973, Route114_EventScript_1F26C8 +Route114_EventScript_Steve:: @ 81F269C + trainerbattle_single TRAINER_STEVE_1, Route114_Text_SteveIntro, Route114_Text_SteveDefeat, Route114_EventScript_RegisterSteve specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route114_EventScript_1F26E7 - msgbox Route114_Text_29A981, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route114_EventScript_RematchSteve + msgbox Route114_Text_StevePostBattle, MSGBOX_DEFAULT release end -Route114_EventScript_1F26C8:: @ 81F26C8 - special sub_80B4808 +Route114_EventScript_RegisterSteve:: @ 81F26C8 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route114_Text_29A9F7, MSGBOX_DEFAULT + msgbox Route114_Text_SteveRegister, MSGBOX_DEFAULT register_matchcall TRAINER_STEVE_1 release end -Route114_EventScript_1F26E7:: @ 81F26E7 - trainerbattle_rematch TRAINER_STEVE_1, Route114_Text_29AA3E, Route114_Text_29AA67 - msgbox Route114_Text_29AA94, MSGBOX_AUTOCLOSE +Route114_EventScript_RematchSteve:: @ 81F26E7 + trainerbattle_rematch TRAINER_STEVE_1, Route114_Text_SteveRematchIntro, Route114_Text_SteveRematchDefeat + msgbox Route114_Text_StevePostRematch, MSGBOX_AUTOCLOSE end -Route114_EventScript_1F26FE:: @ 81F26FE - trainerbattle_single TRAINER_BERNIE_1, Route114_Text_29AADB, Route114_Text_29AB1A, Route114_EventScript_1F272A +Route114_EventScript_Bernie:: @ 81F26FE + trainerbattle_single TRAINER_BERNIE_1, Route114_Text_BernieIntro, Route114_Text_BernieDefeat, Route114_EventScript_RegisterBernie specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route114_EventScript_1F2749 - msgbox Route114_Text_29AB36, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route114_EventScript_RematchBernie + msgbox Route114_Text_BerniePostBattle, MSGBOX_DEFAULT release end -Route114_EventScript_1F272A:: @ 81F272A - special sub_80B4808 +Route114_EventScript_RegisterBernie:: @ 81F272A + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route114_Text_29ABA6, MSGBOX_DEFAULT + msgbox Route114_Text_BernieRegister, MSGBOX_DEFAULT register_matchcall TRAINER_BERNIE_1 release end -Route114_EventScript_1F2749:: @ 81F2749 - trainerbattle_rematch TRAINER_BERNIE_1, Route114_Text_29ABDC, Route114_Text_29AC10 - msgbox Route114_Text_29AC43, MSGBOX_AUTOCLOSE +Route114_EventScript_RematchBernie:: @ 81F2749 + trainerbattle_rematch TRAINER_BERNIE_1, Route114_Text_BernieRematchIntro, Route114_Text_BernieRematchDefeat + msgbox Route114_Text_BerniePostRematch, MSGBOX_AUTOCLOSE end -Route114_EventScript_1F2760:: @ 81F2760 - trainerbattle_single TRAINER_CLAUDE, Route114_Text_29ACB3, Route114_Text_29AD0A - msgbox Route114_Text_29AD2E, MSGBOX_AUTOCLOSE +Route114_EventScript_Claude:: @ 81F2760 + trainerbattle_single TRAINER_CLAUDE, Route114_Text_ClaudeIntro, Route114_Text_ClaudeDefeat + msgbox Route114_Text_ClaudePostBattle, MSGBOX_AUTOCLOSE end -Route114_EventScript_1F2777:: @ 81F2777 - trainerbattle_single TRAINER_NOLAN, Route114_Text_29ADA1, Route114_Text_29AE05 - msgbox Route114_Text_29AE3D, MSGBOX_AUTOCLOSE +Route114_EventScript_Nolan:: @ 81F2777 + trainerbattle_single TRAINER_NOLAN, Route114_Text_NolanIntro, Route114_Text_NolanDefeat + msgbox Route114_Text_NolanPostBattle, MSGBOX_AUTOCLOSE end -Route114_EventScript_1F278E:: @ 81F278E - trainerbattle_double TRAINER_TYRA_AND_IVY, Route114_Text_29AE96, Route114_Text_29AEE7, Route114_Text_29AF3D - msgbox Route114_Text_29AF0B, MSGBOX_AUTOCLOSE +Route114_EventScript_Tyra:: @ 81F278E + trainerbattle_double TRAINER_TYRA_AND_IVY, Route114_Text_TyraIntro, Route114_Text_TyraDefeat, Route114_Text_TyraNotEnoughMons + msgbox Route114_Text_TyraPostBattle, MSGBOX_AUTOCLOSE end -Route114_EventScript_1F27A9:: @ 81F27A9 - trainerbattle_double TRAINER_TYRA_AND_IVY, Route114_Text_29AF89, Route114_Text_29AFAC, Route114_Text_29B01B - msgbox Route114_Text_29AFCF, MSGBOX_AUTOCLOSE +Route114_EventScript_Ivy:: @ 81F27A9 + trainerbattle_double TRAINER_TYRA_AND_IVY, Route114_Text_IvyIntro, Route114_Text_IvyDefeat, Route114_Text_IvyNotEnoughMons + msgbox Route114_Text_IvyPostBattle, MSGBOX_AUTOCLOSE end -Route114_EventScript_1F27C4:: @ 81F27C4 - trainerbattle_single TRAINER_ANGELINA, Route114_Text_29B16F, Route114_Text_29B19C - msgbox Route114_Text_29B1BC, MSGBOX_AUTOCLOSE +Route114_EventScript_Angelina:: @ 81F27C4 + trainerbattle_single TRAINER_ANGELINA, Route114_Text_AngelinaIntro, Route114_Text_AngelinaDefeat + msgbox Route114_Text_AngelinaPostBattle, MSGBOX_AUTOCLOSE end -Route114_EventScript_1F27DB:: @ 81F27DB - trainerbattle_single TRAINER_CHARLOTTE, Route114_Text_29B0DB, Route114_Text_29B0FB - msgbox Route114_Text_29B11A, MSGBOX_AUTOCLOSE +Route114_EventScript_Charlotte:: @ 81F27DB + trainerbattle_single TRAINER_CHARLOTTE, Route114_Text_CharlotteIntro, Route114_Text_CharlotteDefeat + msgbox Route114_Text_CharlottePostBattle, MSGBOX_AUTOCLOSE end -Route114_EventScript_1F27F2:: @ 81F27F2 - trainerbattle_single TRAINER_KAI, Route114_Text_29B05D, Route114_Text_29B089 - msgbox Route114_Text_29B0B5, MSGBOX_AUTOCLOSE +Route114_EventScript_Kai:: @ 81F27F2 + trainerbattle_single TRAINER_KAI, Route114_Text_KaiIntro, Route114_Text_KaiDefeat + msgbox Route114_Text_KaiPostBattle, MSGBOX_AUTOCLOSE end -Route114_Text_1F2809: @ 81F2809 +Route114_Text_AllMyMonDoesIsRoarTakeThis: @ 81F2809 .string "All my POKéMON does is ROAR…\n" .string "No one dares to come near me…\p" .string "Sigh… If you would, please take\n" .string "this TM away…$" -Route114_Text_1F2872: @ 81F2872 +Route114_Text_ExplainRoar: @ 81F2872 .string "TM05 contains ROAR.\n" .string "A ROAR sends POKéMON scurrying.$" -Route114_Text_1F28A6: @ 81F28A6 +Route114_Text_Poochyena: @ 81F28A6 .string "Bow! Bowwow!$" -Route114_Text_1F28B3: @ 81F28B3 +Route114_Text_MeteorFallsSign: @ 81F28B3 .string "METEOR FALLS\n" .string "RUSTBORO CITY THROUGH HERE$" -Route114_Text_1F28DB: @ 81F28DB +Route114_Text_FossilManiacsHouseSign: @ 81F28DB .string "FOSSIL MANIAC'S HOUSE\n" .string "“Fossils gratefully accepted!”$" -Route114_Text_1F2910: @ 81F2910 +Route114_Text_LanettesHouse: @ 81F2910 .string "LANETTE'S HOUSE$" diff --git a/data/maps/Route114_FossilManiacsHouse/map.json b/data/maps/Route114_FossilManiacsHouse/map.json index 0c5c5ea775..7a629f44ad 100644 --- a/data/maps/Route114_FossilManiacsHouse/map.json +++ b/data/maps/Route114_FossilManiacsHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_FossilManiacsHouse_EventScript_22AD3A", + "script": "Route114_FossilManiacsHouse_EventScript_FossilManiacsBrother", "flag": "0" } ], @@ -59,7 +59,7 @@ "y": 3, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "Route114_FossilManiacsHouse_EventScript_22AD73" + "script": "Route114_FossilManiacsHouse_EventScript_RockDisplay" }, { "type": "sign", @@ -67,7 +67,7 @@ "y": 3, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "Route114_FossilManiacsHouse_EventScript_22AD73" + "script": "Route114_FossilManiacsHouse_EventScript_RockDisplay" }, { "type": "sign", @@ -75,7 +75,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "Route114_FossilManiacsHouse_EventScript_22AD7C" + "script": "Route114_FossilManiacsHouse_EventScript_Bookshelf" }, { "type": "sign", @@ -83,7 +83,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "Route114_FossilManiacsHouse_EventScript_22AD7C" + "script": "Route114_FossilManiacsHouse_EventScript_Bookshelf" } ] } \ No newline at end of file diff --git a/data/maps/Route114_FossilManiacsHouse/scripts.inc b/data/maps/Route114_FossilManiacsHouse/scripts.inc index 83fade3e67..8db686d10b 100644 --- a/data/maps/Route114_FossilManiacsHouse/scripts.inc +++ b/data/maps/Route114_FossilManiacsHouse/scripts.inc @@ -6,32 +6,32 @@ Route114_FossilManiacsHouse_OnTransition: @ 822AD36 setflag FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE end -Route114_FossilManiacsHouse_EventScript_22AD3A:: @ 822AD3A +Route114_FossilManiacsHouse_EventScript_FossilManiacsBrother:: @ 822AD3A lock faceplayer - goto_if_set FLAG_RECEIVED_TM28, Route114_FossilManiacsHouse_EventScript_22AD69 - msgbox Route114_FossilManiacsHouse_Text_22AD85, MSGBOX_DEFAULT - giveitem_std ITEM_TM28 - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_TM28, Route114_FossilManiacsHouse_EventScript_ReceivedDig + msgbox Route114_FossilManiacsHouse_Text_HaveThisToDigLikeMyBrother, MSGBOX_DEFAULT + giveitem ITEM_TM28 + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_TM28 release end -Route114_FossilManiacsHouse_EventScript_22AD69:: @ 822AD69 - msgbox Route114_FossilManiacsHouse_Text_22AE48, MSGBOX_DEFAULT +Route114_FossilManiacsHouse_EventScript_ReceivedDig:: @ 822AD69 + msgbox Route114_FossilManiacsHouse_Text_DigReturnsYouToEntrance, MSGBOX_DEFAULT release end -Route114_FossilManiacsHouse_EventScript_22AD73:: @ 822AD73 - msgbox Route114_FossilManiacsHouse_Text_22AE92, MSGBOX_SIGN +Route114_FossilManiacsHouse_EventScript_RockDisplay:: @ 822AD73 + msgbox Route114_FossilManiacsHouse_Text_RocksFillDisplayCase, MSGBOX_SIGN end -Route114_FossilManiacsHouse_EventScript_22AD7C:: @ 822AD7C - msgbox Route114_FossilManiacsHouse_Text_22AEC2, MSGBOX_SIGN +Route114_FossilManiacsHouse_EventScript_Bookshelf:: @ 822AD7C + msgbox Route114_FossilManiacsHouse_Text_CrammedWithBooks, MSGBOX_SIGN end -Route114_FossilManiacsHouse_Text_22AD85: @ 822AD85 +Route114_FossilManiacsHouse_Text_HaveThisToDigLikeMyBrother: @ 822AD85 .string "My big brother's the FOSSIL MANIAC…\n" .string "He's a nice guy who loves FOSSILS…\p" .string "He loves digging holes, too…\n" @@ -39,15 +39,15 @@ Route114_FossilManiacsHouse_Text_22AD85: @ 822AD85 .string "You can have this, so you can DIG\n" .string "holes just like my big brother…$" -Route114_FossilManiacsHouse_Text_22AE48: @ 822AE48 +Route114_FossilManiacsHouse_Text_DigReturnsYouToEntrance: @ 822AE48 .string "If you make a POKéMON DIG inside a\n" .string "cave, you're returned to the entrance…$" -Route114_FossilManiacsHouse_Text_22AE92: @ 822AE92 +Route114_FossilManiacsHouse_Text_RocksFillDisplayCase: @ 822AE92 .string "Rocks in peculiar shapes fill\n" .string "the display case…$" -Route114_FossilManiacsHouse_Text_22AEC2: @ 822AEC2 +Route114_FossilManiacsHouse_Text_CrammedWithBooks: @ 822AEC2 .string "THE COMPOSITION OF STRATA…\n" .string "HOW RAIN SHAPES THE LAND…\l" .string "STONES, SOIL, AND ROCK…\p" diff --git a/data/maps/Route114_FossilManiacsTunnel/map.json b/data/maps/Route114_FossilManiacsTunnel/map.json index d0992f8fa0..da3241ed15 100644 --- a/data/maps/Route114_FossilManiacsTunnel/map.json +++ b/data/maps/Route114_FossilManiacsTunnel/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_FossilManiacsTunnel_EventScript_22AF87", + "script": "Route114_FossilManiacsTunnel_EventScript_FossilManiac", "flag": "0" } ], @@ -59,7 +59,7 @@ "elevation": 3, "var": "VAR_FOSSIL_MANIAC_STATE", "var_value": "1", - "script": "Route114_FossilManiacsTunnel_EventScript_22AF66" + "script": "Route114_FossilManiacsTunnel_EventScript_ManiacMentionCaveIn" }, { "type": "trigger", @@ -68,7 +68,7 @@ "elevation": 3, "var": "VAR_FOSSIL_MANIAC_STATE", "var_value": "1", - "script": "Route114_FossilManiacsTunnel_EventScript_22AF66" + "script": "Route114_FossilManiacsTunnel_EventScript_ManiacMentionCaveIn" } ], "bg_events": [] diff --git a/data/maps/Route114_FossilManiacsTunnel/scripts.inc b/data/maps/Route114_FossilManiacsTunnel/scripts.inc index 3de7350ac5..3bea9a501f 100644 --- a/data/maps/Route114_FossilManiacsTunnel/scripts.inc +++ b/data/maps/Route114_FossilManiacsTunnel/scripts.inc @@ -1,61 +1,61 @@ Route114_FossilManiacsTunnel_MapScripts:: @ 822AF28 map_script MAP_SCRIPT_ON_TRANSITION, Route114_FossilManiacsTunnel_OnTransition - map_script MAP_SCRIPT_ON_LOAD, Route114_FossilManiacsTunnel_MapScript1_22AF49 + map_script MAP_SCRIPT_ON_LOAD, Route114_FossilManiacsTunnel_OnLoad .byte 0 Route114_FossilManiacsTunnel_OnTransition: @ 822AF33 - call_if_set FLAG_SYS_GAME_CLEAR, Route114_FossilManiacsTunnel_EventScript_22AF3D + call_if_set FLAG_SYS_GAME_CLEAR, Route114_FossilManiacsTunnel_EventScript_MoveFossilManiac end -Route114_FossilManiacsTunnel_EventScript_22AF3D:: @ 822AF3D +Route114_FossilManiacsTunnel_EventScript_MoveFossilManiac:: @ 822AF3D setobjectxyperm 1, 6, 5 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_DOWN return -Route114_FossilManiacsTunnel_MapScript1_22AF49: @ 822AF49 - call_if_unset FLAG_SYS_GAME_CLEAR, Route114_FossilManiacsTunnel_EventScript_22AF53 +Route114_FossilManiacsTunnel_OnLoad: @ 822AF49 + call_if_unset FLAG_SYS_GAME_CLEAR, Route114_FossilManiacsTunnel_EventScript_CloseDesertUnderpass end -Route114_FossilManiacsTunnel_EventScript_22AF53:: @ 822AF53 +Route114_FossilManiacsTunnel_EventScript_CloseDesertUnderpass:: @ 822AF53 setmetatile 6, 1, METATILE_Fallarbor_RedRockWall, 1 setmetatile 6, 2, METATILE_Fallarbor_RedRockWall, 1 return -Route114_FossilManiacsTunnel_EventScript_22AF66:: @ 822AF66 +Route114_FossilManiacsTunnel_EventScript_ManiacMentionCaveIn:: @ 822AF66 lockall - applymovement 1, Common_Movement_WalkInPlaceUp - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement 1, Common_Movement_WalkInPlaceFastestUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox Route114_FossilManiacsTunnel_Text_22B1F7, MSGBOX_DEFAULT + msgbox Route114_FossilManiacsTunnel_Text_NotSafeThatWay, MSGBOX_DEFAULT setvar VAR_FOSSIL_MANIAC_STATE, 2 releaseall end -Route114_FossilManiacsTunnel_EventScript_22AF87:: @ 822AF87 +Route114_FossilManiacsTunnel_EventScript_FossilManiac:: @ 822AF87 lock faceplayer - goto_if_set FLAG_RECEIVED_REVIVED_FOSSIL_MON, Route114_FossilManiacsTunnel_EventScript_22AFC6 + goto_if_set FLAG_RECEIVED_REVIVED_FOSSIL_MON, Route114_FossilManiacsTunnel_EventScript_PlayerRevivedFossil checkitem ITEM_ROOT_FOSSIL, 1 - compare VAR_RESULT, 1 - goto_if_eq Route114_FossilManiacsTunnel_EventScript_22AFBC + compare VAR_RESULT, TRUE + goto_if_eq Route114_FossilManiacsTunnel_EventScript_PlayerHasFossil checkitem ITEM_CLAW_FOSSIL, 1 - compare VAR_RESULT, 1 - goto_if_eq Route114_FossilManiacsTunnel_EventScript_22AFBC - msgbox Route114_FossilManiacsTunnel_Text_22AFD0, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route114_FossilManiacsTunnel_EventScript_PlayerHasFossil + msgbox Route114_FossilManiacsTunnel_Text_LookInDesertForFossils, MSGBOX_DEFAULT release end -Route114_FossilManiacsTunnel_EventScript_22AFBC:: @ 822AFBC - msgbox Route114_FossilManiacsTunnel_Text_22B0D6, MSGBOX_DEFAULT +Route114_FossilManiacsTunnel_EventScript_PlayerHasFossil:: @ 822AFBC + msgbox Route114_FossilManiacsTunnel_Text_DevonCorpRevivingFossils, MSGBOX_DEFAULT release end -Route114_FossilManiacsTunnel_EventScript_22AFC6:: @ 822AFC6 - msgbox Route114_FossilManiacsTunnel_Text_22B1CC, MSGBOX_DEFAULT +Route114_FossilManiacsTunnel_EventScript_PlayerRevivedFossil:: @ 822AFC6 + msgbox Route114_FossilManiacsTunnel_Text_FossilsAreWonderful, MSGBOX_DEFAULT release end -Route114_FossilManiacsTunnel_Text_22AFD0: @ 822AFD0 +Route114_FossilManiacsTunnel_Text_LookInDesertForFossils: @ 822AFD0 .string "I'm the FOSSIL MANIAC…\n" .string "I'm a nice guy who loves FOSSILS…\p" .string "Do you want a FOSSIL?\p" @@ -66,7 +66,7 @@ Route114_FossilManiacsTunnel_Text_22AFD0: @ 822AFD0 .string "are boulders and sand that may hide\l" .string "FOSSILS…$" -Route114_FossilManiacsTunnel_Text_22B0D6: @ 822B0D6 +Route114_FossilManiacsTunnel_Text_DevonCorpRevivingFossils: @ 822B0D6 .string "You found a FOSSIL, didn't you?\n" .string "That's so nice… It's so dreamy…\p" .string "What are you going to do with that\n" @@ -77,11 +77,11 @@ Route114_FossilManiacsTunnel_Text_22B0D6: @ 822B0D6 .string "I love my FOSSILS, so I would never\n" .string "do anything like that…$" -Route114_FossilManiacsTunnel_Text_22B1CC: @ 822B1CC +Route114_FossilManiacsTunnel_Text_FossilsAreWonderful: @ 822B1CC .string "FOSSILS are so… Wonderful…\n" .string "It's so dreamy…$" -Route114_FossilManiacsTunnel_Text_22B1F7: @ 822B1F7 +Route114_FossilManiacsTunnel_Text_NotSafeThatWay: @ 822B1F7 .string "Oh…\n" .string "It's not safe that way…\p" .string "I was digging away, you see…\n" diff --git a/data/maps/Route114_LanettesHouse/map.json b/data/maps/Route114_LanettesHouse/map.json index b4b1b412b5..6709d055e9 100644 --- a/data/maps/Route114_LanettesHouse/map.json +++ b/data/maps/Route114_LanettesHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route114_LanettesHouse_EventScript_22B2D2", + "script": "Route114_LanettesHouse_EventScript_Lanette", "flag": "FLAG_HIDE_LANETTES_HOUSE_LANETTE" } ], @@ -52,7 +52,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route114_LanettesHouse_EventScript_22B309" + "script": "Route114_LanettesHouse_EventScript_Notebook" }, { "type": "sign", @@ -60,7 +60,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route114_LanettesHouse_EventScript_22B345" + "script": "Route114_LanettesHouse_EventScript_PC" }, { "type": "sign", @@ -68,7 +68,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route114_LanettesHouse_EventScript_22B345" + "script": "Route114_LanettesHouse_EventScript_PC" } ] } \ No newline at end of file diff --git a/data/maps/Route114_LanettesHouse/scripts.inc b/data/maps/Route114_LanettesHouse/scripts.inc index e24f6ce65f..cd2f808fca 100644 --- a/data/maps/Route114_LanettesHouse/scripts.inc +++ b/data/maps/Route114_LanettesHouse/scripts.inc @@ -6,49 +6,49 @@ Route114_LanettesHouse_OnTransition: @ 822B2CE setflag FLAG_LANDMARK_LANETTES_HOUSE end -Route114_LanettesHouse_EventScript_22B2D2:: @ 822B2D2 +Route114_LanettesHouse_EventScript_Lanette:: @ 822B2D2 lock faceplayer - goto_if_set FLAG_RECEIVED_DOLL_LANETTE, Route114_LanettesHouse_EventScript_22B2FF + goto_if_set FLAG_RECEIVED_DOLL_LANETTE, Route114_LanettesHouse_EventScript_OfferAdvice setflag FLAG_SYS_PC_LANETTE - msgbox Route114_LanettesHouse_Text_22B34E, MSGBOX_DEFAULT - givedecoration_std 99 - compare VAR_RESULT, 0 - goto_if_eq Route114_LanettesHouse_EventScript_272067 + msgbox Route114_LanettesHouse_Text_EverythingClutteredKeepThis, MSGBOX_DEFAULT + givedecoration DECOR_LOTAD_DOLL + compare VAR_RESULT, FALSE + goto_if_eq Common_EventScript_ShowNoRoomForDecor setflag FLAG_RECEIVED_DOLL_LANETTE release end -Route114_LanettesHouse_EventScript_22B2FF:: @ 822B2FF - msgbox Route114_LanettesHouse_Text_22B407, MSGBOX_DEFAULT +Route114_LanettesHouse_EventScript_OfferAdvice:: @ 822B2FF + msgbox Route114_LanettesHouse_Text_OrganizeYourBoxes, MSGBOX_DEFAULT release end -Route114_LanettesHouse_EventScript_22B309:: @ 822B309 +Route114_LanettesHouse_EventScript_Notebook:: @ 822B309 lockall - msgbox Route114_LanettesHouse_Text_22B485, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route114_LanettesHouse_EventScript_22B327 - msgbox Route114_LanettesHouse_Text_22B6E4, MSGBOX_DEFAULT + msgbox Route114_LanettesHouse_Text_ResearchNotesPage1, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route114_LanettesHouse_EventScript_NotebookPage2 + msgbox Route114_LanettesHouse_Text_ClosedTheNotebook, MSGBOX_DEFAULT releaseall end -Route114_LanettesHouse_EventScript_22B327:: @ 822B327 - msgbox Route114_LanettesHouse_Text_22B53C, MSGBOX_YESNO - compare VAR_RESULT, 1 - call_if_eq Route114_LanettesHouse_EventScript_22B33C +Route114_LanettesHouse_EventScript_NotebookPage2:: @ 822B327 + msgbox Route114_LanettesHouse_Text_ResearchNotesPage2, MSGBOX_YESNO + compare VAR_RESULT, YES + call_if_eq Route114_LanettesHouse_EventScript_NotebookPage3 releaseall end -Route114_LanettesHouse_EventScript_22B33C:: @ 822B33C - msgbox Route114_LanettesHouse_Text_22B5EF, MSGBOX_DEFAULT +Route114_LanettesHouse_EventScript_NotebookPage3:: @ 822B33C + msgbox Route114_LanettesHouse_Text_ResearchNotesPage3, MSGBOX_DEFAULT return -Route114_LanettesHouse_EventScript_22B345:: @ 822B345 - msgbox Route114_LanettesHouse_Text_22B6FC, MSGBOX_SIGN +Route114_LanettesHouse_EventScript_PC:: @ 822B345 + msgbox Route114_LanettesHouse_Text_EmailFromBill, MSGBOX_SIGN end -Route114_LanettesHouse_Text_22B34E: @ 822B34E +Route114_LanettesHouse_Text_EverythingClutteredKeepThis: @ 822B34E .string "LANETTE: Oh! {PLAYER}{KUN}!\p" .string "I'm sorry everything is so cluttered…\n" .string "When I get engrossed in research,\l" @@ -56,13 +56,13 @@ Route114_LanettesHouse_Text_22B34E: @ 822B34E .string "This is embarrassing… Please keep\n" .string "this a secret in exchange for this.$" -Route114_LanettesHouse_Text_22B407: @ 822B407 +Route114_LanettesHouse_Text_OrganizeYourBoxes: @ 822B407 .string "May I offer advice about my POKéMON\n" .string "Storage System?\p" .string "You should organize your BOXES so you\n" .string "can tell which POKéMON are in them.$" -Route114_LanettesHouse_Text_22B485: @ 822B485 +Route114_LanettesHouse_Text_ResearchNotesPage1: @ 822B485 .string "It's LANETTE's research notes.\n" .string "There's information about BOXES.\p" .string "Design BOXES to hold 30 POKéMON each.\p" @@ -70,7 +70,7 @@ Route114_LanettesHouse_Text_22B485: @ 822B485 .string "420 POKéMON on the PC system.\p" .string "Keep reading?$" -Route114_LanettesHouse_Text_22B53C: @ 822B53C +Route114_LanettesHouse_Text_ResearchNotesPage2: @ 822B53C .string "A marking system should be added to\n" .string "make POKéMON easier to organize.\p" .string "The name and wallpaper design of each\n" @@ -78,7 +78,7 @@ Route114_LanettesHouse_Text_22B53C: @ 822B53C .string "the stored POKéMON.\p" .string "Keep reading?$" -Route114_LanettesHouse_Text_22B5EF: @ 822B5EF +Route114_LanettesHouse_Text_ResearchNotesPage3: @ 822B5EF .string "When storing a POKéMON, it should be\n" .string "sent to the BOX inspected last.\p" .string "If that BOX is full, the received\n" @@ -87,10 +87,10 @@ Route114_LanettesHouse_Text_22B5EF: @ 822B5EF .string "it is automatically selected as the BOX\l" .string "to which POKéMON are sent.$" -Route114_LanettesHouse_Text_22B6E4: @ 822B6E4 +Route114_LanettesHouse_Text_ClosedTheNotebook: @ 822B6E4 .string "{PLAYER} closed the notebook.$" -Route114_LanettesHouse_Text_22B6FC: @ 822B6FC +Route114_LanettesHouse_Text_EmailFromBill: @ 822B6FC .string "There's an e-mail from someone on\n" .string "the PC.\p" .string "“… … … … … … …\p" diff --git a/data/maps/Route115/map.json b/data/maps/Route115/map.json index 53ce80ce75..c9f1d88334 100644 --- a/data/maps/Route115/map.json +++ b/data/maps/Route115/map.json @@ -35,7 +35,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route115_EventScript_1F2973", + "script": "Route115_EventScript_Woman", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "Route115_EventScript_1F298E", + "script": "Route115_EventScript_Timothy", "flag": "0" }, { @@ -61,7 +61,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route115_EventScript_1F2A07", + "script": "Route115_EventScript_Nob", "flag": "0" }, { @@ -113,7 +113,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route115_EventScript_1F2A69", + "script": "Route115_EventScript_Cyndy", "flag": "0" }, { @@ -126,7 +126,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route115_EventScript_1F29F0", + "script": "Route115_EventScript_Koichi", "flag": "0" }, { @@ -139,7 +139,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route115_EventScript_1F2ACB", + "script": "Route115_EventScript_Hector", "flag": "0" }, { @@ -243,7 +243,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route115_EventScript_1F2AE2", + "script": "Route115_EventScript_Kyra", "flag": "0" }, { @@ -256,7 +256,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route115_EventScript_1F2AF9", + "script": "Route115_EventScript_Jaiden", "flag": "0" }, { @@ -269,7 +269,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route115_EventScript_1F2B27", + "script": "Route115_EventScript_Helene", "flag": "0" }, { @@ -282,7 +282,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route115_EventScript_1F2B10", + "script": "Route115_EventScript_Alix", "flag": "0" }, { @@ -295,7 +295,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route115_EventScript_1F2B3E", + "script": "Route115_EventScript_Marlene", "flag": "0" }, { @@ -370,7 +370,7 @@ "y": 64, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route115_EventScript_1F297C" + "script": "Route115_EventScript_RouteSignRustboro" }, { "type": "sign", @@ -378,7 +378,7 @@ "y": 38, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route115_EventScript_1F2985" + "script": "Route115_EventScript_MeteorFallsSign" }, { "type": "secret_base", diff --git a/data/maps/Route115/scripts.inc b/data/maps/Route115/scripts.inc index 7c5b63bcd4..a9d0d93c15 100644 --- a/data/maps/Route115/scripts.inc +++ b/data/maps/Route115/scripts.inc @@ -1,153 +1,153 @@ Route115_MapScripts:: @ 81F2920 - map_script MAP_SCRIPT_ON_LOAD, Route115_MapScript1_1F2930 + map_script MAP_SCRIPT_ON_LOAD, Route115_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, Route115_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route115_MapScript2_1F2969 + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route115_OnFrame .byte 0 -Route115_MapScript1_1F2930: @ 81F2930 - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_115_WEST - call_if_eq UnusualWeather_EventScript_PlaceTilesRoute115West - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_115_EAST - call_if_eq UnusualWeather_EventScript_PlaceTilesRoute115East +Route115_OnLoad: @ 81F2930 + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_115_WEST + call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute115West + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_115_EAST + call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute115East end Route115_OnTransition: @ 81F2947 - compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 - call_if_eq Route115_EventScript_273D13 - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_115_WEST - call_if_eq UnusualWeather_StartGroudonWeather - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_115_EAST - call_if_eq UnusualWeather_StartGroudonWeather + compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1 + call_if_eq AbnormalWeather_EventScript_HideMapNamePopup + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_115_WEST + call_if_eq AbnormalWeather_StartGroudonWeather + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_115_EAST + call_if_eq AbnormalWeather_StartGroudonWeather end -Route115_MapScript2_1F2969: @ 81F2969 - map_script_2 VAR_SHOULD_END_UNUSUAL_WEATHER, 1, UnusualWeather_EventScript_EndEventAndCleanup_1 +Route115_OnFrame: @ 81F2969 + map_script_2 VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_EndEventAndCleanup_1 .2byte 0 -Route115_EventScript_1F2973:: @ 81F2973 - msgbox Route115_Text_1F2B55, MSGBOX_NPC +Route115_EventScript_Woman:: @ 81F2973 + msgbox Route115_Text_NeverKnowWhenCavePokemonWillAppear, MSGBOX_NPC end -Route115_EventScript_1F297C:: @ 81F297C - msgbox Route115_Text_1F2BC9, MSGBOX_SIGN +Route115_EventScript_RouteSignRustboro:: @ 81F297C + msgbox Route115_Text_RouteSignRustboro, MSGBOX_SIGN end -Route115_EventScript_1F2985:: @ 81F2985 - msgbox Route115_Text_1F2BE3, MSGBOX_SIGN +Route115_EventScript_MeteorFallsSign:: @ 81F2985 + msgbox Route115_Text_MeteorFallsSign, MSGBOX_SIGN end -Route115_EventScript_1F298E:: @ 81F298E - trainerbattle_single TRAINER_TIMOTHY_1, Route115_Text_29B1FA, Route115_Text_29B230, Route115_EventScript_1F29BA +Route115_EventScript_Timothy:: @ 81F298E + trainerbattle_single TRAINER_TIMOTHY_1, Route115_Text_TimothyIntro, Route115_Text_TimothyDefeat, Route115_EventScript_RegisterTimothy specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route115_EventScript_1F29D9 - msgbox Route115_Text_29B258, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route115_EventScript_RematchTimothy + msgbox Route115_Text_TimothyPostBattle, MSGBOX_DEFAULT release end -Route115_EventScript_1F29BA:: @ 81F29BA - special sub_80B4808 +Route115_EventScript_RegisterTimothy:: @ 81F29BA + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route115_Text_29B2B3, MSGBOX_DEFAULT + msgbox Route115_Text_TimothyRegister, MSGBOX_DEFAULT register_matchcall TRAINER_TIMOTHY_1 release end -Route115_EventScript_1F29D9:: @ 81F29D9 - trainerbattle_rematch TRAINER_TIMOTHY_1, Route115_Text_29B32C, Route115_Text_29B372 - msgbox Route115_Text_29B385, MSGBOX_AUTOCLOSE +Route115_EventScript_RematchTimothy:: @ 81F29D9 + trainerbattle_rematch TRAINER_TIMOTHY_1, Route115_Text_TimothyRematchIntro, Route115_Text_TimothyRematchDefeat + msgbox Route115_Text_TimothyPostRematch, MSGBOX_AUTOCLOSE end -Route115_EventScript_1F29F0:: @ 81F29F0 - trainerbattle_single TRAINER_KOICHI, Route115_Text_29B3CC, Route115_Text_29B3ED - msgbox Route115_Text_29B3FF, MSGBOX_AUTOCLOSE +Route115_EventScript_Koichi:: @ 81F29F0 + trainerbattle_single TRAINER_KOICHI, Route115_Text_KoichiIntro, Route115_Text_KoichiDefeat + msgbox Route115_Text_KoichiPostBattle, MSGBOX_AUTOCLOSE end -Route115_EventScript_1F2A07:: @ 81F2A07 - trainerbattle_single TRAINER_NOB_1, Route115_Text_29B449, Route115_Text_29B480, Route115_EventScript_1F2A33 +Route115_EventScript_Nob:: @ 81F2A07 + trainerbattle_single TRAINER_NOB_1, Route115_Text_NobIntro, Route115_Text_NobDefeat, Route115_EventScript_RegisterNob specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route115_EventScript_1F2A52 - msgbox Route115_Text_29B49D, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route115_EventScript_RematchNob + msgbox Route115_Text_NobPostBattle, MSGBOX_DEFAULT release end -Route115_EventScript_1F2A33:: @ 81F2A33 - special sub_80B4808 +Route115_EventScript_RegisterNob:: @ 81F2A33 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route115_Text_29B50B, MSGBOX_DEFAULT + msgbox Route115_Text_NobRegister, MSGBOX_DEFAULT register_matchcall TRAINER_NOB_1 release end -Route115_EventScript_1F2A52:: @ 81F2A52 - trainerbattle_rematch TRAINER_NOB_1, Route115_Text_29B547, Route115_Text_29B59D - msgbox Route115_Text_29B5B5, MSGBOX_AUTOCLOSE +Route115_EventScript_RematchNob:: @ 81F2A52 + trainerbattle_rematch TRAINER_NOB_1, Route115_Text_NobRematchIntro, Route115_Text_NobRematchDefeat + msgbox Route115_Text_NobPostRematch, MSGBOX_AUTOCLOSE end -Route115_EventScript_1F2A69:: @ 81F2A69 - trainerbattle_single TRAINER_CYNDY_1, Route115_Text_29B5EF, Route115_Text_29B62D, Route115_EventScript_1F2A95 +Route115_EventScript_Cyndy:: @ 81F2A69 + trainerbattle_single TRAINER_CYNDY_1, Route115_Text_CyndyIntro, Route115_Text_CyndyDefeat, Route115_EventScript_RegisterCyndy specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route115_EventScript_1F2AB4 - msgbox Route115_Text_29B647, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route115_EventScript_RematchCyndy + msgbox Route115_Text_CyndyPostBattle, MSGBOX_DEFAULT release end -Route115_EventScript_1F2A95:: @ 81F2A95 - special sub_80B4808 +Route115_EventScript_RegisterCyndy:: @ 81F2A95 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route115_Text_29B6AB, MSGBOX_DEFAULT + msgbox Route115_Text_CyndyRegister, MSGBOX_DEFAULT register_matchcall TRAINER_CYNDY_1 release end -Route115_EventScript_1F2AB4:: @ 81F2AB4 - trainerbattle_rematch TRAINER_CYNDY_1, Route115_Text_29B6FA, Route115_Text_29B71A - msgbox Route115_Text_29B737, MSGBOX_AUTOCLOSE +Route115_EventScript_RematchCyndy:: @ 81F2AB4 + trainerbattle_rematch TRAINER_CYNDY_1, Route115_Text_CyndyRematchIntro, Route115_Text_CyndyRematchDefeat + msgbox Route115_Text_CyndyPostRematch, MSGBOX_AUTOCLOSE end -Route115_EventScript_1F2ACB:: @ 81F2ACB - trainerbattle_single TRAINER_HECTOR, Route115_Text_29B78F, Route115_Text_29B7C5 - msgbox Route115_Text_29B7EA, MSGBOX_AUTOCLOSE +Route115_EventScript_Hector:: @ 81F2ACB + trainerbattle_single TRAINER_HECTOR, Route115_Text_HectorIntro, Route115_Text_HectorDefeat + msgbox Route115_Text_HectorPostBattle, MSGBOX_AUTOCLOSE end -Route115_EventScript_1F2AE2:: @ 81F2AE2 - trainerbattle_single TRAINER_KYRA, Route115_Text_29B826, Route115_Text_29B85D - msgbox Route115_Text_29B869, MSGBOX_AUTOCLOSE +Route115_EventScript_Kyra:: @ 81F2AE2 + trainerbattle_single TRAINER_KYRA, Route115_Text_KyraIntro, Route115_Text_KyraDefeat + msgbox Route115_Text_KyraPostBattle, MSGBOX_AUTOCLOSE end -Route115_EventScript_1F2AF9:: @ 81F2AF9 - trainerbattle_single TRAINER_JAIDEN, Route115_Text_29B8C1, Route115_Text_29B8E8 - msgbox Route115_Text_29B904, MSGBOX_AUTOCLOSE +Route115_EventScript_Jaiden:: @ 81F2AF9 + trainerbattle_single TRAINER_JAIDEN, Route115_Text_JaidenIntro, Route115_Text_JaidenDefeat + msgbox Route115_Text_JaidenPostBattle, MSGBOX_AUTOCLOSE end -Route115_EventScript_1F2B10:: @ 81F2B10 - trainerbattle_single TRAINER_ALIX, Route115_Text_29B9CB, Route115_Text_29B9F6 - msgbox Route115_Text_29BA04, MSGBOX_AUTOCLOSE +Route115_EventScript_Alix:: @ 81F2B10 + trainerbattle_single TRAINER_ALIX, Route115_Text_AlixIntro, Route115_Text_AlixDefeat + msgbox Route115_Text_AlixPostBattle, MSGBOX_AUTOCLOSE end -Route115_EventScript_1F2B27:: @ 81F2B27 - trainerbattle_single TRAINER_HELENE, Route115_Text_29B92D, Route115_Text_29B958 - msgbox Route115_Text_29B971, MSGBOX_AUTOCLOSE +Route115_EventScript_Helene:: @ 81F2B27 + trainerbattle_single TRAINER_HELENE, Route115_Text_HeleneIntro, Route115_Text_HeleneDefeat + msgbox Route115_Text_HelenePostBattle, MSGBOX_AUTOCLOSE end -Route115_EventScript_1F2B3E:: @ 81F2B3E - trainerbattle_single TRAINER_MARLENE, Route115_Text_29BA2C, Route115_Text_29BA67 - msgbox Route115_Text_29BA87, MSGBOX_AUTOCLOSE +Route115_EventScript_Marlene:: @ 81F2B3E + trainerbattle_single TRAINER_MARLENE, Route115_Text_MarleneIntro, Route115_Text_MarleneDefeat + msgbox Route115_Text_MarlenePostBattle, MSGBOX_AUTOCLOSE end -Route115_Text_1F2B55: @ 81F2B55 +Route115_Text_NeverKnowWhenCavePokemonWillAppear: @ 81F2B55 .string "Exploring a cave isn't like walking\n" .string "on a road.\p" .string "You never know when wild POKéMON will\n" .string "appear. It's full of suspense.$" -Route115_Text_1F2BC9: @ 81F2BC9 +Route115_Text_RouteSignRustboro: @ 81F2BC9 .string "ROUTE 115\n" .string "{DOWN_ARROW} RUSTBORO CITY$" -Route115_Text_1F2BE3: @ 81F2BE3 +Route115_Text_MeteorFallsSign: @ 81F2BE3 .string "METEOR FALLS\n" .string "FALLARBOR TOWN THROUGH HERE$" diff --git a/data/maps/Route116/map.json b/data/maps/Route116/map.json index 8a369e4079..366fe1ed53 100644 --- a/data/maps/Route116/map.json +++ b/data/maps/Route116/map.json @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route116_EventScript_1F2E89", + "script": "Route116_EventScript_Joey", "flag": "0" }, { @@ -100,7 +100,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route116_EventScript_1F2EA0", + "script": "Route116_EventScript_Jose", "flag": "0" }, { @@ -165,7 +165,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_1F2D84", + "script": "Route116_EventScript_Briney", "flag": "FLAG_HIDE_ROUTE_116_MR_BRINEY" }, { @@ -191,7 +191,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route116_EventScript_1F2F65", + "script": "Route116_EventScript_Clark", "flag": "0" }, { @@ -230,7 +230,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route116_EventScript_1F2F7C", + "script": "Route116_EventScript_Janice", "flag": "0" }, { @@ -243,7 +243,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route116_EventScript_1F2F93", + "script": "Route116_EventScript_Karen", "flag": "0" }, { @@ -256,7 +256,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route116_EventScript_1F2EB7", + "script": "Route116_EventScript_Jerry", "flag": "0" }, { @@ -269,7 +269,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_1F2CA2", + "script": "Route116_EventScript_DevonEmployee", "flag": "FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE" }, { @@ -295,8 +295,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_1F2C70", - "flag": "FLAG_HIDE_ROUTE_116_TUNNELER" + "script": "Route116_EventScript_WandasBoyfriend", + "flag": "FLAG_HIDE_ROUTE_116_WANDAS_BOYFRIEND" }, { "graphics_id": "EVENT_OBJ_GFX_MANIAC", @@ -308,7 +308,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_EventScript_1F2DB6", + "script": "Route116_EventScript_GlassesMan", "flag": "FLAG_HIDE_ROUTE_116_DROPPED_GLASSES_MAN" }, { @@ -321,7 +321,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route116_EventScript_1F3041", + "script": "Route116_EventScript_Sarah", "flag": "0" }, { @@ -334,7 +334,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route116_EventScript_1F3058", + "script": "Route116_EventScript_Dawson", "flag": "0" }, { @@ -373,7 +373,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route116_EventScript_1F3086", + "script": "Route116_EventScript_Johnson", "flag": "0" }, { @@ -386,7 +386,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route116_EventScript_1F306F", + "script": "Route116_EventScript_Devan", "flag": "0" } ], @@ -435,7 +435,7 @@ "elevation": 3, "var": "VAR_ROUTE116_STATE", "var_value": "1", - "script": "Route116_EventScript_1F2D95" + "script": "Route116_EventScript_BrineyTrigger" } ], "bg_events": [ @@ -445,7 +445,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route116_EventScript_1F2D57" + "script": "Route116_EventScript_RouteSignRustboro" }, { "type": "sign", @@ -453,7 +453,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route116_EventScript_1F2D60" + "script": "Route116_EventScript_RusturfTunnelSign" }, { "type": "sign", @@ -461,7 +461,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route116_EventScript_1F2D69" + "script": "Route116_EventScript_TunnelersRestHouseSign" }, { "type": "secret_base", @@ -483,7 +483,7 @@ "y": 12, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route116_EventScript_1F2D72" + "script": "Route116_EventScript_TrainerTipsBToStopEvolution" }, { "type": "sign", @@ -491,7 +491,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route116_EventScript_1F2D7B" + "script": "Route116_EventScript_TrainerTipsBagHasPockets" }, { "type": "secret_base", diff --git a/data/maps/Route116/scripts.inc b/data/maps/Route116/scripts.inc index 161e9be51f..eee823975d 100644 --- a/data/maps/Route116/scripts.inc +++ b/data/maps/Route116/scripts.inc @@ -1,103 +1,103 @@ Route116_MapScripts:: @ 81F2C0C map_script MAP_SCRIPT_ON_TRANSITION, Route116_OnTransition - map_script MAP_SCRIPT_ON_LOAD, Route116_MapScript1_1F2C4F - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route116_MapScript2_1F2C66 + map_script MAP_SCRIPT_ON_LOAD, Route116_OnLoad + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route116_OnFrame .byte 0 Route116_OnTransition: @ 81F2C1C - call_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_1F2C47 - compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 - call_if_eq Route116_EventScript_273D13 - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_116_NORTH - call_if_eq UnusualWeather_StartGroudonWeather - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_116_SOUTH - call_if_eq UnusualWeather_StartGroudonWeather + call_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_SetWandasBoyfriendPos + compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1 + call_if_eq AbnormalWeather_EventScript_HideMapNamePopup + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_116_NORTH + call_if_eq AbnormalWeather_StartGroudonWeather + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_116_SOUTH + call_if_eq AbnormalWeather_StartGroudonWeather end -Route116_EventScript_1F2C47:: @ 81F2C47 +Route116_EventScript_SetWandasBoyfriendPos:: @ 81F2C47 setobjectxyperm 21, 38, 10 return -Route116_MapScript1_1F2C4F: @ 81F2C4F - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_116_NORTH - call_if_eq UnusualWeather_EventScript_PlaceTilesRoute116North - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_116_SOUTH - call_if_eq UnusualWeather_EventScript_PlaceTilesRoute116South +Route116_OnLoad: @ 81F2C4F + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_116_NORTH + call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute116North + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_116_SOUTH + call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute116South end -Route116_MapScript2_1F2C66: @ 81F2C66 - map_script_2 VAR_SHOULD_END_UNUSUAL_WEATHER, 1, UnusualWeather_EventScript_EndEventAndCleanup_1 +Route116_OnFrame: @ 81F2C66 + map_script_2 VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_EndEventAndCleanup_1 .2byte 0 -Route116_EventScript_1F2C70:: @ 81F2C70 +Route116_EventScript_WandasBoyfriend:: @ 81F2C70 lock faceplayer - goto_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_1F2C8E - goto_if_set FLAG_DEVON_GOODS_STOLEN, Route116_EventScript_1F2C98 - msgbox Route116_Text_1F3140, MSGBOX_DEFAULT + goto_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_BoyfriendGruntLeftTunnel + goto_if_set FLAG_DEVON_GOODS_STOLEN, Route116_EventScript_BoyfriendGruntInTunnel + msgbox Route116_Text_WantToDigTunnel, MSGBOX_DEFAULT release end -Route116_EventScript_1F2C8E:: @ 81F2C8E - msgbox Route116_Text_1F32C1, MSGBOX_DEFAULT +Route116_EventScript_BoyfriendGruntLeftTunnel:: @ 81F2C8E + msgbox Route116_Text_GoonHightailedItOutOfTunnel, MSGBOX_DEFAULT release end -Route116_EventScript_1F2C98:: @ 81F2C98 - msgbox Route116_Text_1F3166, MSGBOX_DEFAULT +Route116_EventScript_BoyfriendGruntInTunnel:: @ 81F2C98 + msgbox Route116_Text_DiggingTunnelWhenGoonOrderedMeOut, MSGBOX_DEFAULT release end -Route116_EventScript_1F2CA2:: @ 81F2CA2 +Route116_EventScript_DevonEmployee:: @ 81F2CA2 lock faceplayer - goto_if_set FLAG_MET_DEVON_EMPLOYEE, Route116_EventScript_1F2D2B - msgbox Route116_Text_1F3317, MSGBOX_DEFAULT - goto Route116_EventScript_1F2CBB + goto_if_set FLAG_MET_DEVON_EMPLOYEE, Route116_EventScript_TryGiveRepeatBallAgain + msgbox Route116_Text_ThankYouTokenOfAppreciation, MSGBOX_DEFAULT + goto Route116_EventScript_GiveRepeatBall end -Route116_EventScript_1F2CBB:: @ 81F2CBB +Route116_EventScript_GiveRepeatBall:: @ 81F2CBB setflag FLAG_MET_DEVON_EMPLOYEE - giveitem_std ITEM_REPEAT_BALL - compare VAR_RESULT, 0 - goto_if_eq Route116_EventScript_1F2D39 - msgbox Route116_Text_1F3521, MSGBOX_DEFAULT + giveitem ITEM_REPEAT_BALL + compare VAR_RESULT, FALSE + goto_if_eq Route116_EventScript_NoRoomForRepeatBall + msgbox Route116_Text_NewBallAvailableAtMart, MSGBOX_DEFAULT closemessage - compare VAR_FACING, 2 - call_if_eq Route116_EventScript_1F2D15 - compare VAR_FACING, 1 - call_if_eq Route116_EventScript_1F2D15 - compare VAR_FACING, 3 - call_if_eq Route116_EventScript_1F2D15 - compare VAR_FACING, 4 - call_if_eq Route116_EventScript_1F2D20 + compare VAR_FACING, DIR_NORTH + call_if_eq Route116_EventScript_DevonEmployeeExit + compare VAR_FACING, DIR_SOUTH + call_if_eq Route116_EventScript_DevonEmployeeExit + compare VAR_FACING, DIR_WEST + call_if_eq Route116_EventScript_DevonEmployeeExit + compare VAR_FACING, DIR_EAST + call_if_eq Route116_EventScript_DevonEmployeeExitEast removeobject VAR_LAST_TALKED clearflag FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE setflag FLAG_RECEIVED_REPEAT_BALL release end -Route116_EventScript_1F2D15:: @ 81F2D15 - applymovement VAR_LAST_TALKED, Route116_Movement_1F2D43 +Route116_EventScript_DevonEmployeeExit:: @ 81F2D15 + applymovement VAR_LAST_TALKED, Route116_Movement_DevonEmployeeExit waitmovement 0 return -Route116_EventScript_1F2D20:: @ 81F2D20 - applymovement VAR_LAST_TALKED, Route116_Movement_1F2D4C +Route116_EventScript_DevonEmployeeExitEast:: @ 81F2D20 + applymovement VAR_LAST_TALKED, Route116_Movement_DevonEmployeeExitEast waitmovement 0 return -Route116_EventScript_1F2D2B:: @ 81F2D2B - msgbox Route116_Text_1F35CE, MSGBOX_DEFAULT - goto Route116_EventScript_1F2CBB +Route116_EventScript_TryGiveRepeatBallAgain:: @ 81F2D2B + msgbox Route116_Text_TokenOfAppreciation, MSGBOX_DEFAULT + goto Route116_EventScript_GiveRepeatBall end -Route116_EventScript_1F2D39:: @ 81F2D39 - msgbox Route116_Text_1F3593, MSGBOX_DEFAULT +Route116_EventScript_NoRoomForRepeatBall:: @ 81F2D39 + msgbox Route116_Text_BagIsJamPacked, MSGBOX_DEFAULT release end -Route116_Movement_1F2D43: @ 81F2D43 +Route116_Movement_DevonEmployeeExit: @ 81F2D43 walk_left walk_left walk_left @@ -108,7 +108,7 @@ Route116_Movement_1F2D43: @ 81F2D43 walk_left step_end -Route116_Movement_1F2D4C: @ 81F2D4C +Route116_Movement_DevonEmployeeExitEast: @ 81F2D4C walk_down walk_left walk_left @@ -121,104 +121,104 @@ Route116_Movement_1F2D4C: @ 81F2D4C walk_left step_end -Route116_EventScript_1F2D57:: @ 81F2D57 - msgbox Route116_Text_1F379D, MSGBOX_SIGN +Route116_EventScript_RouteSignRustboro:: @ 81F2D57 + msgbox Route116_Text_RouteSignRustboro, MSGBOX_SIGN end -Route116_EventScript_1F2D60:: @ 81F2D60 - msgbox Route116_Text_1F37B7, MSGBOX_SIGN +Route116_EventScript_RusturfTunnelSign:: @ 81F2D60 + msgbox Route116_Text_RusturfTunnelSign, MSGBOX_SIGN end -Route116_EventScript_1F2D69:: @ 81F2D69 - msgbox Route116_Text_1F380F, MSGBOX_SIGN +Route116_EventScript_TunnelersRestHouseSign:: @ 81F2D69 + msgbox Route116_Text_TunnelersRestHouse, MSGBOX_SIGN end -Route116_EventScript_1F2D72:: @ 81F2D72 - msgbox Route116_Text_1F3825, MSGBOX_SIGN +Route116_EventScript_TrainerTipsBToStopEvolution:: @ 81F2D72 + msgbox Route116_Text_TrainerTipsBToStopEvolution, MSGBOX_SIGN end -Route116_EventScript_1F2D7B:: @ 81F2D7B - msgbox Route116_Text_1F38D4, MSGBOX_SIGN +Route116_EventScript_TrainerTipsBagHasPockets:: @ 81F2D7B + msgbox Route116_Text_TrainerTipsBagHasPockets, MSGBOX_SIGN end -Route116_EventScript_1F2D84:: @ 81F2D84 +Route116_EventScript_Briney:: @ 81F2D84 lock faceplayer - msgbox Route116_Text_1F309D, MSGBOX_DEFAULT + msgbox Route116_Text_ScoundrelMadeOffWithPeeko, MSGBOX_DEFAULT setvar VAR_ROUTE116_STATE, 2 release end -Route116_EventScript_1F2D95:: @ 81F2D95 +Route116_EventScript_BrineyTrigger:: @ 81F2D95 lockall - applymovement 11, Common_Movement_WalkInPlaceRight - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement 11, Common_Movement_WalkInPlaceFastestRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox Route116_Text_1F309D, MSGBOX_DEFAULT + msgbox Route116_Text_ScoundrelMadeOffWithPeeko, MSGBOX_DEFAULT setvar VAR_ROUTE116_STATE, 2 releaseall end -Route116_EventScript_1F2DB6:: @ 81F2DB6 +Route116_EventScript_GlassesMan:: @ 81F2DB6 lock faceplayer checkitem ITEM_BLACK_GLASSES, 1 - compare VAR_RESULT, 1 - goto_if_eq Route116_EventScript_1F2DF1 + compare VAR_RESULT, TRUE + goto_if_eq Route116_EventScript_PlayerHasGlasses specialvar VAR_RESULT, FoundBlackGlasses - compare VAR_RESULT, 1 - goto_if_eq Route116_EventScript_1F2DE2 - msgbox Route116_Text_1F3657, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route116_EventScript_FoundGlassesNotOnPlayer + msgbox Route116_Text_CanYouHelpMeFindGlasses, MSGBOX_DEFAULT release end -Route116_EventScript_1F2DE2:: @ 81F2DE2 - msgbox Route116_Text_1F3718, MSGBOX_DEFAULT +Route116_EventScript_FoundGlassesNotOnPlayer:: @ 81F2DE2 + msgbox Route116_Text_CantFindGlassesNotHere, MSGBOX_DEFAULT closemessage - goto Route116_EventScript_1F2E2A + goto Route116_EventScript_GlassesManExit end -Route116_EventScript_1F2DF1:: @ 81F2DF1 - msgbox Route116_Text_1F3657, MSGBOX_DEFAULT - msgbox Route116_Text_1F3688, MSGBOX_DEFAULT +Route116_EventScript_PlayerHasGlasses:: @ 81F2DF1 + msgbox Route116_Text_CanYouHelpMeFindGlasses, MSGBOX_DEFAULT + msgbox Route116_Text_MayISeeThoseGlasses, MSGBOX_DEFAULT specialvar VAR_RESULT, FoundBlackGlasses - compare VAR_RESULT, 1 - goto_if_eq Route116_EventScript_1F2E1B - msgbox Route116_Text_1F375E, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route116_EventScript_FoundGlassesOnPlayer + msgbox Route116_Text_NotWhatImLookingFor, MSGBOX_DEFAULT release end -Route116_EventScript_1F2E1B:: @ 81F2E1B - msgbox Route116_Text_1F36B4, MSGBOX_DEFAULT +Route116_EventScript_FoundGlassesOnPlayer:: @ 81F2E1B + msgbox Route116_Text_NotWhatImLookingForMaybeTheyArentHere, MSGBOX_DEFAULT closemessage - goto Route116_EventScript_1F2E2A + goto Route116_EventScript_GlassesManExit end -Route116_EventScript_1F2E2A:: @ 81F2E2A +Route116_EventScript_GlassesManExit:: @ 81F2E2A delay 20 - compare VAR_FACING, 2 - call_if_eq Route116_EventScript_1F2E5E - compare VAR_FACING, 1 - call_if_eq Route116_EventScript_1F2E5E - compare VAR_FACING, 3 - call_if_eq Route116_EventScript_1F2E5E - compare VAR_FACING, 4 - call_if_eq Route116_EventScript_1F2E69 + compare VAR_FACING, DIR_NORTH + call_if_eq Route116_EventScript_GlassesManExitNormal + compare VAR_FACING, DIR_SOUTH + call_if_eq Route116_EventScript_GlassesManExitNormal + compare VAR_FACING, DIR_WEST + call_if_eq Route116_EventScript_GlassesManExitNormal + compare VAR_FACING, DIR_EAST + call_if_eq Route116_EventScript_GlassesManExitEast removeobject VAR_LAST_TALKED release end -Route116_EventScript_1F2E5E:: @ 81F2E5E - applymovement VAR_LAST_TALKED, Route116_Movement_1F2E74 +Route116_EventScript_GlassesManExitNormal:: @ 81F2E5E + applymovement VAR_LAST_TALKED, Route116_Movement_GlassesManExit waitmovement 0 return -Route116_EventScript_1F2E69:: @ 81F2E69 - applymovement VAR_LAST_TALKED, Route116_Movement_1F2E7E +Route116_EventScript_GlassesManExitEast:: @ 81F2E69 + applymovement VAR_LAST_TALKED, Route116_Movement_GlassesManExitEast waitmovement 0 return -Route116_Movement_1F2E74: @ 81F2E74 +Route116_Movement_GlassesManExit: @ 81F2E74 walk_left walk_left walk_left @@ -230,7 +230,7 @@ Route116_Movement_1F2E74: @ 81F2E74 walk_left step_end -Route116_Movement_1F2E7E: @ 81F2E7E +Route116_Movement_GlassesManExitEast: @ 81F2E7E walk_up walk_left walk_left @@ -243,133 +243,133 @@ Route116_Movement_1F2E7E: @ 81F2E7E walk_left step_end -Route116_EventScript_1F2E89:: @ 81F2E89 - trainerbattle_single TRAINER_JOEY, Route116_Text_29BB79, Route116_Text_29BB9A - msgbox Route116_Text_29BBC6, MSGBOX_AUTOCLOSE +Route116_EventScript_Joey:: @ 81F2E89 + trainerbattle_single TRAINER_JOEY, Route116_Text_JoeyIntro, Route116_Text_JoeyDefeat + msgbox Route116_Text_JoeyPostBattle, MSGBOX_AUTOCLOSE end -Route116_EventScript_1F2EA0:: @ 81F2EA0 - trainerbattle_single TRAINER_JOSE, Route116_Text_29BBFD, Route116_Text_29BC25 - msgbox Route116_Text_29BC42, MSGBOX_AUTOCLOSE +Route116_EventScript_Jose:: @ 81F2EA0 + trainerbattle_single TRAINER_JOSE, Route116_Text_JoseIntro, Route116_Text_JoseDefeat + msgbox Route116_Text_JosePostBattle, MSGBOX_AUTOCLOSE end -Route116_EventScript_1F2EB7:: @ 81F2EB7 - trainerbattle_single TRAINER_JERRY_1, Route116_Text_29BD0C, Route116_Text_29BD66, Route116_EventScript_1F2EF8 +Route116_EventScript_Jerry:: @ 81F2EB7 + trainerbattle_single TRAINER_JERRY_1, Route116_Text_JerryIntro, Route116_Text_JerryDefeat, Route116_EventScript_TryRegisterJerryAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route116_EventScript_1F2F4E - setvar VAR_0x8004, 273 - specialvar VAR_RESULT, sub_813B4E0 - compare VAR_RESULT, 0 - goto_if_eq Route116_EventScript_1F2F22 - msgbox Route116_Text_29BD92, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route116_EventScript_RematchJerry + setvar VAR_0x8004, TRAINER_JERRY_1 + specialvar VAR_RESULT, IsTrainerRegistered + compare VAR_RESULT, FALSE + goto_if_eq Route116_EventScript_TryRegisterJerry + msgbox Route116_Text_JerryPostBattle, MSGBOX_DEFAULT release end -Route116_EventScript_1F2EF8:: @ 81F2EF8 - goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_1F2F03 +Route116_EventScript_TryRegisterJerryAfterBattle:: @ 81F2EF8 + goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_RegisterJerryAfterBattle release end -Route116_EventScript_1F2F03:: @ 81F2F03 - special sub_80B4808 +Route116_EventScript_RegisterJerryAfterBattle:: @ 81F2F03 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route116_Text_29BE71, MSGBOX_DEFAULT + msgbox Route116_Text_JerryRegister2, MSGBOX_DEFAULT register_matchcall TRAINER_JERRY_1 release end -Route116_EventScript_1F2F22:: @ 81F2F22 - goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_1F2F35 - msgbox Route116_Text_29BD92, MSGBOX_DEFAULT +Route116_EventScript_TryRegisterJerry:: @ 81F2F22 + goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_RegisterJerry + msgbox Route116_Text_JerryPostBattle, MSGBOX_DEFAULT release end -Route116_EventScript_1F2F35:: @ 81F2F35 - msgbox Route116_Text_29BDEF, MSGBOX_DEFAULT +Route116_EventScript_RegisterJerry:: @ 81F2F35 + msgbox Route116_Text_JerryRegister1, MSGBOX_DEFAULT register_matchcall TRAINER_JERRY_1 release end -Route116_EventScript_1F2F4E:: @ 81F2F4E - trainerbattle_rematch TRAINER_JERRY_1, Route116_Text_29BEF3, Route116_Text_29BF4C - msgbox Route116_Text_29BF68, MSGBOX_AUTOCLOSE +Route116_EventScript_RematchJerry:: @ 81F2F4E + trainerbattle_rematch TRAINER_JERRY_1, Route116_Text_JerryRematchIntro, Route116_Text_JerryRematchDefeat + msgbox Route116_Text_JerryPostRematch, MSGBOX_AUTOCLOSE end -Route116_EventScript_1F2F65:: @ 81F2F65 - trainerbattle_single TRAINER_CLARK, Route116_Text_29BACD, Route116_Text_29BB0F - msgbox Route116_Text_29BB31, MSGBOX_AUTOCLOSE +Route116_EventScript_Clark:: @ 81F2F65 + trainerbattle_single TRAINER_CLARK, Route116_Text_ClarkIntro, Route116_Text_ClarkDefeat + msgbox Route116_Text_ClarkPostBattle, MSGBOX_AUTOCLOSE end -Route116_EventScript_1F2F7C:: @ 81F2F7C - trainerbattle_single TRAINER_JANICE, Route116_Text_29BC7F, Route116_Text_29BCB3 - msgbox Route116_Text_29BCCC, MSGBOX_AUTOCLOSE +Route116_EventScript_Janice:: @ 81F2F7C + trainerbattle_single TRAINER_JANICE, Route116_Text_JaniceIntro, Route116_Text_JaniceDefeat + msgbox Route116_Text_JanicePostBattle, MSGBOX_AUTOCLOSE end -Route116_EventScript_1F2F93:: @ 81F2F93 - trainerbattle_single TRAINER_KAREN_1, Route116_Text_29BFC5, Route116_Text_29BFFA, Route116_EventScript_1F2FD4 +Route116_EventScript_Karen:: @ 81F2F93 + trainerbattle_single TRAINER_KAREN_1, Route116_Text_KarenIntro, Route116_Text_KarenDefeat, Route116_EventScript_TryRegisterKarenAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route116_EventScript_1F302A - setvar VAR_0x8004, 280 - specialvar VAR_RESULT, sub_813B4E0 - compare VAR_RESULT, 0 - goto_if_eq Route116_EventScript_1F2FFE - msgbox Route116_Text_29C010, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route116_EventScript_RematchKaren + setvar VAR_0x8004, TRAINER_KAREN_1 + specialvar VAR_RESULT, IsTrainerRegistered + compare VAR_RESULT, FALSE + goto_if_eq Route116_EventScript_TryRegisterKaren + msgbox Route116_Text_KarenPostBattle, MSGBOX_DEFAULT release end -Route116_EventScript_1F2FD4:: @ 81F2FD4 - goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_1F2FDF +Route116_EventScript_TryRegisterKarenAfterBattle:: @ 81F2FD4 + goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_RegisterKarenAfterBattle release end -Route116_EventScript_1F2FDF:: @ 81F2FDF - special sub_80B4808 +Route116_EventScript_RegisterKarenAfterBattle:: @ 81F2FDF + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route116_Text_29C096, MSGBOX_DEFAULT + msgbox Route116_Text_KarenRegister2, MSGBOX_DEFAULT register_matchcall TRAINER_KAREN_1 release end -Route116_EventScript_1F2FFE:: @ 81F2FFE - goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_1F3011 - msgbox Route116_Text_29C010, MSGBOX_DEFAULT +Route116_EventScript_TryRegisterKaren:: @ 81F2FFE + goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_RegisterKaren + msgbox Route116_Text_KarenPostBattle, MSGBOX_DEFAULT release end -Route116_EventScript_1F3011:: @ 81F3011 - msgbox Route116_Text_29C052, MSGBOX_DEFAULT +Route116_EventScript_RegisterKaren:: @ 81F3011 + msgbox Route116_Text_KarenRegister1, MSGBOX_DEFAULT register_matchcall TRAINER_KAREN_1 release end -Route116_EventScript_1F302A:: @ 81F302A - trainerbattle_rematch TRAINER_KAREN_1, Route116_Text_29C0DA, Route116_Text_29C11F - msgbox Route116_Text_29C13B, MSGBOX_AUTOCLOSE +Route116_EventScript_RematchKaren:: @ 81F302A + trainerbattle_rematch TRAINER_KAREN_1, Route116_Text_KarenRematchIntro, Route116_Text_KarenRematchDefeat + msgbox Route116_Text_KarenPostRematch, MSGBOX_AUTOCLOSE end -Route116_EventScript_1F3041:: @ 81F3041 - trainerbattle_single TRAINER_SARAH, Route116_Text_29C173, Route116_Text_29C1B8 - msgbox Route116_Text_29C1EA, MSGBOX_AUTOCLOSE +Route116_EventScript_Sarah:: @ 81F3041 + trainerbattle_single TRAINER_SARAH, Route116_Text_SarahIntro, Route116_Text_SarahDefeat + msgbox Route116_Text_SarahPostBattle, MSGBOX_AUTOCLOSE end -Route116_EventScript_1F3058:: @ 81F3058 - trainerbattle_single TRAINER_DAWSON, Route116_Text_29C266, Route116_Text_29C2C2 - msgbox Route116_Text_29C2DD, MSGBOX_AUTOCLOSE +Route116_EventScript_Dawson:: @ 81F3058 + trainerbattle_single TRAINER_DAWSON, Route116_Text_DawsonIntro, Route116_Text_DawsonDefeat + msgbox Route116_Text_DawsonPostBattle, MSGBOX_AUTOCLOSE end -Route116_EventScript_1F306F:: @ 81F306F - trainerbattle_single TRAINER_DEVAN, Route116_Text_29C350, Route116_Text_29C365 - msgbox Route116_Text_29C380, MSGBOX_AUTOCLOSE +Route116_EventScript_Devan:: @ 81F306F + trainerbattle_single TRAINER_DEVAN, Route116_Text_DevanIntro, Route116_Text_DevanDefeat + msgbox Route116_Text_DevanPostBattle, MSGBOX_AUTOCLOSE end -Route116_EventScript_1F3086:: @ 81F3086 - trainerbattle_single TRAINER_JOHNSON, Route116_Text_29C3C1, Route116_Text_29C3F7 - msgbox Route116_Text_29C418, MSGBOX_AUTOCLOSE +Route116_EventScript_Johnson:: @ 81F3086 + trainerbattle_single TRAINER_JOHNSON, Route116_Text_JohnsonIntro, Route116_Text_JohnsonDefeat + msgbox Route116_Text_JohnsonPostBattle, MSGBOX_AUTOCLOSE end -Route116_Text_1F309D: @ 81F309D +Route116_Text_ScoundrelMadeOffWithPeeko: @ 81F309D .string "Ohhh, what am I to do?\p" .string "We were on our walk, PEEKO and I, when\n" .string "we were jumped by an odd thug…\p" @@ -377,11 +377,11 @@ Route116_Text_1F309D: @ 81F309D .string "darling PEEKO!\p" .string "Wrrrooooooaaaar! PEEKO!$" -Route116_Text_1F3140: @ 81F3140 +Route116_Text_WantToDigTunnel: @ 81F3140 .string "Nnn… Roar!\p" .string "I want to dig that tunnel!$" -Route116_Text_1F3166: @ 81F3166 +Route116_Text_DiggingTunnelWhenGoonOrderedMeOut: @ 81F3166 .string "Nnn… Roar!\n" .string "What's going on?\p" .string "I was digging the tunnel without any\n" @@ -395,12 +395,12 @@ Route116_Text_1F3166: @ 81F3166 .string "something stupid and startle the\l" .string "POKéMON into an uproar.$" -Route116_Text_1F32C1: @ 81F32C1 +Route116_Text_GoonHightailedItOutOfTunnel: @ 81F32C1 .string "Nnn… Roar!\p" .string "That goofy goon hightailed it out of\n" .string "the tunnel! I can go back to digging!$" -Route116_Text_1F3317: @ 81F3317 +Route116_Text_ThankYouTokenOfAppreciation: @ 81F3317 .string "Oh! It's you!\p" .string "You're that person who not only helped\n" .string "me in PETALBURG WOODS, but also got\l" @@ -419,61 +419,61 @@ Route116_Text_1F3317: @ 81F3317 .string "As a token of our appreciation, this\n" .string "is our gift to our wonderful TRAINER!$" -Route116_Text_1F3521: @ 81F3521 +Route116_Text_NewBallAvailableAtMart: @ 81F3521 .string "Our new POKé BALL will be available\n" .string "at the POKéMON MART in RUSTBORO.\p" .string "Please do try it out!\n" .string "Thank you and bye-bye!$" -Route116_Text_1F3593: @ 81F3593 +Route116_Text_BagIsJamPacked: @ 81F3593 .string "Your BAG is jam-packed.\n" .string "I can't give you this REPEAT BALL.$" -Route116_Text_1F35CE: @ 81F35CE +Route116_Text_TokenOfAppreciation: @ 81F35CE .string "As a token of our appreciation for\n" .string "your delivering our package, I have\l" .string "a gift of a new kind of POKé BALL\l" .string "for our most wonderful TRAINER!$" -Route116_Text_1F3657: @ 81F3657 +Route116_Text_CanYouHelpMeFindGlasses: @ 81F3657 .string "I dropped my glasses…\n" .string "Can you help me find them?$" -Route116_Text_1F3688: @ 81F3688 +Route116_Text_MayISeeThoseGlasses: @ 81F3688 .string "Those glasses!\n" .string "May I see them for a second?$" -Route116_Text_1F36B4: @ 81F36B4 +Route116_Text_NotWhatImLookingForMaybeTheyArentHere: @ 81F36B4 .string "Hmm…\n" .string "These are BLACKGLASSES.\l" .string "They're not what I'm looking for…\p" .string "Maybe my glasses aren't around\n" .string "here…$" -Route116_Text_1F3718: @ 81F3718 +Route116_Text_CantFindGlassesNotHere: @ 81F3718 .string "Hmm…\n" .string "I can't find my glasses anywhere…\l" .string "Maybe they're not around here…$" -Route116_Text_1F375E: @ 81F375E +Route116_Text_NotWhatImLookingFor: @ 81F375E .string "Hmm…\n" .string "These are BLACKGLASSES.\l" .string "They're not what I'm looking for…$" -Route116_Text_1F379D: @ 81F379D +Route116_Text_RouteSignRustboro: @ 81F379D .string "ROUTE 116\n" .string "{LEFT_ARROW} RUSTBORO CITY$" -Route116_Text_1F37B7: @ 81F37B7 +Route116_Text_RusturfTunnelSign: @ 81F37B7 .string "RUSTURF TUNNEL\n" .string "“Linking RUSTBORO and VERDANTURF\p" .string "“The tunnel project has been\n" .string "canceled.”$" -Route116_Text_1F380F: @ 81F380F +Route116_Text_TunnelersRestHouse: @ 81F380F .string "TUNNELER'S REST HOUSE$" -Route116_Text_1F3825: @ 81F3825 +Route116_Text_TrainerTipsBToStopEvolution: @ 81F3825 .string "TRAINER TIPS\p" .string "If you want to stop a POKéMON from\n" .string "evolving, press the B Button while it\l" @@ -481,7 +481,7 @@ Route116_Text_1F3825: @ 81F3825 .string "The startled POKéMON will stop.\p" .string "This is called an evolution cancel.$" -Route116_Text_1F38D4: @ 81F38D4 +Route116_Text_TrainerTipsBagHasPockets: @ 81F38D4 .string "TRAINER TIPS\p" .string "Your BAG has several POCKETS.\p" .string "Items you obtain are automatically\n" diff --git a/data/maps/Route116_TunnelersRestHouse/map.json b/data/maps/Route116_TunnelersRestHouse/map.json index f9dfb484c8..470ccadfe8 100644 --- a/data/maps/Route116_TunnelersRestHouse/map.json +++ b/data/maps/Route116_TunnelersRestHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_TunnelersRestHouse_EventScript_22B85A", + "script": "Route116_TunnelersRestHouse_EventScript_Tunneler1", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_TunnelersRestHouse_EventScript_22B86C", + "script": "Route116_TunnelersRestHouse_EventScript_Tunneler3", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route116_TunnelersRestHouse_EventScript_22B863", + "script": "Route116_TunnelersRestHouse_EventScript_Tunneler2", "flag": "0" } ], diff --git a/data/maps/Route116_TunnelersRestHouse/scripts.inc b/data/maps/Route116_TunnelersRestHouse/scripts.inc index e4e943e61a..42a80fc780 100644 --- a/data/maps/Route116_TunnelersRestHouse/scripts.inc +++ b/data/maps/Route116_TunnelersRestHouse/scripts.inc @@ -6,28 +6,28 @@ Route116_TunnelersRestHouse_OnTransition: @ 822B856 setflag FLAG_LANDMARK_TUNNELERS_REST_HOUSE end -Route116_TunnelersRestHouse_EventScript_22B85A:: @ 822B85A - msgbox Route116_TunnelersRestHouse_Text_22B88B, MSGBOX_NPC +Route116_TunnelersRestHouse_EventScript_Tunneler1:: @ 822B85A + msgbox Route116_TunnelersRestHouse_Text_WeHadToStopBoring, MSGBOX_NPC end -Route116_TunnelersRestHouse_EventScript_22B863:: @ 822B863 - msgbox Route116_TunnelersRestHouse_Text_22B99F, MSGBOX_NPC +Route116_TunnelersRestHouse_EventScript_Tunneler2:: @ 822B863 + msgbox Route116_TunnelersRestHouse_Text_ManDiggingHisWayToVerdanturf, MSGBOX_NPC end -Route116_TunnelersRestHouse_EventScript_22B86C:: @ 822B86C +Route116_TunnelersRestHouse_EventScript_Tunneler3:: @ 822B86C lock faceplayer - goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, Route116_TunnelersRestHouse_EventScript_22B881 - msgbox Route116_TunnelersRestHouse_Text_22BAAF, MSGBOX_DEFAULT + goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, Route116_TunnelersRestHouse_EventScript_TunnelOpened + msgbox Route116_TunnelersRestHouse_Text_GetToVerdanturfWithoutTunnel, MSGBOX_DEFAULT release end -Route116_TunnelersRestHouse_EventScript_22B881:: @ 822B881 - msgbox Route116_TunnelersRestHouse_Text_22BB3B, MSGBOX_DEFAULT +Route116_TunnelersRestHouse_EventScript_TunnelOpened:: @ 822B881 + msgbox Route116_TunnelersRestHouse_Text_TunnelHasGoneThrough, MSGBOX_DEFAULT release end -Route116_TunnelersRestHouse_Text_22B88B: @ 822B88B +Route116_TunnelersRestHouse_Text_WeHadToStopBoring: @ 822B88B .string "That RUSTURF TUNNEL there…\p" .string "At first, we had a huge work crew boring\n" .string "through rock with the latest machinery.\l" @@ -38,7 +38,7 @@ Route116_TunnelersRestHouse_Text_22B88B: @ 822B88B .string "So, we've got nothing to do but loll\n" .string "around here doing nothing.$" -Route116_TunnelersRestHouse_Text_22B99F: @ 822B99F +Route116_TunnelersRestHouse_Text_ManDiggingHisWayToVerdanturf: @ 822B99F .string "There's a man digging his way to\n" .string "VERDANTURF all by his lonesome.\l" .string "He's desperate to get through.\p" @@ -48,13 +48,13 @@ Route116_TunnelersRestHouse_Text_22B99F: @ 822B99F .string "harming the natural environment.\p" .string "I wonder if he made it through yet.$" -Route116_TunnelersRestHouse_Text_22BAAF: @ 822BAAF +Route116_TunnelersRestHouse_Text_GetToVerdanturfWithoutTunnel: @ 822BAAF .string "To get to VERDANTURF without using\n" .string "this TUNNEL, you'd have to cross the\l" .string "sea to DEWFORD, sail on to SLATEPORT,\l" .string "then travel through MAUVILLE.$" -Route116_TunnelersRestHouse_Text_22BB3B: @ 822BB3B +Route116_TunnelersRestHouse_Text_TunnelHasGoneThrough: @ 822BB3B .string "Did you hear? The TUNNEL to VERDANTURF\n" .string "has gone through!\p" .string "Sometimes, if you hope strongly enough,\n" diff --git a/data/maps/Route117/map.json b/data/maps/Route117/map.json index b29b586393..4bb513cdf7 100644 --- a/data/maps/Route117/map.json +++ b/data/maps/Route117/map.json @@ -35,7 +35,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route117_EventScript_1F399A", + "script": "Route117_EventScript_Woman", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route117_EventScript_1F39A3", + "script": "Route117_EventScript_LittleBoy", "flag": "0" }, { @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route117_EventScript_291C18", + "script": "Route117_EventScript_DaycareMan", "flag": "0" }, { @@ -126,7 +126,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route117_EventScript_1F3A94", + "script": "Route117_EventScript_Dylan", "flag": "0" }, { @@ -139,7 +139,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route117_EventScript_1F3A32", + "script": "Route117_EventScript_Lydia", "flag": "0" }, { @@ -152,7 +152,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route117_EventScript_1F39D0", + "script": "Route117_EventScript_Isaac", "flag": "0" }, { @@ -243,7 +243,7 @@ "movement_range_y": 2, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route117_EventScript_1F3AF6", + "script": "Route117_EventScript_Maria", "flag": "0" }, { @@ -256,7 +256,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route117_EventScript_1F3B58", + "script": "Route117_EventScript_Derek", "flag": "0" }, { @@ -269,7 +269,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route117_EventScript_1F3BD3", + "script": "Route117_EventScript_Meg", "flag": "0" }, { @@ -282,7 +282,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route117_EventScript_1F3B6F", + "script": "Route117_EventScript_Anna", "flag": "0" }, { @@ -295,7 +295,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route117_EventScript_1F39AC", + "script": "Route117_EventScript_Girl", "flag": "0" }, { @@ -308,7 +308,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route117_EventScript_1F3C4E", + "script": "Route117_EventScript_Brandi", "flag": "0" }, { @@ -321,7 +321,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route117_EventScript_1F3C65", + "script": "Route117_EventScript_Aisha", "flag": "0" }, { @@ -334,7 +334,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route117_EventScript_1F3C37", + "script": "Route117_EventScript_Melina", "flag": "0" } ], @@ -355,7 +355,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route117_EventScript_1F39B5" + "script": "Route117_EventScript_RouteSignVerdanturf" }, { "type": "sign", @@ -363,7 +363,7 @@ "y": 12, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route117_EventScript_1F39BE" + "script": "Route117_EventScript_RouteSignMauville" }, { "type": "sign", @@ -371,7 +371,7 @@ "y": 5, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route117_EventScript_1F39C7" + "script": "Route117_EventScript_DayCareSign" }, { "type": "hidden_item", diff --git a/data/maps/Route117/scripts.inc b/data/maps/Route117/scripts.inc index 5435595ee4..47d8eced90 100644 --- a/data/maps/Route117/scripts.inc +++ b/data/maps/Route117/scripts.inc @@ -3,211 +3,210 @@ Route117_MapScripts:: @ 81F397D .byte 0 Route117_OnTransition: @ 81F3983 - call Route117_EventScript_1F3989 + call Route117_EventScript_TryMoveDayCareMan end -Route117_EventScript_1F3989:: @ 81F3989 - goto_if_unset FLAG_PENDING_DAYCARE_EGG, Route117_EventScript_1F3999 +Route117_EventScript_TryMoveDayCareMan:: @ 81F3989 + goto_if_unset FLAG_PENDING_DAYCARE_EGG, Route117_EventScript_StopMoveDayCareMan setobjectxyperm 3, 47, 6 - -Route117_EventScript_1F3999:: @ 81F3999 +Route117_EventScript_StopMoveDayCareMan:: @ 81F3999 return -Route117_EventScript_1F399A:: @ 81F399A - msgbox Route117_Text_1F3CFD, MSGBOX_NPC +Route117_EventScript_Woman:: @ 81F399A + msgbox Route117_Text_ArentTheseFlowersPretty, MSGBOX_NPC end -Route117_EventScript_1F39A3:: @ 81F39A3 - msgbox Route117_Text_1F3D41, MSGBOX_NPC +Route117_EventScript_LittleBoy:: @ 81F39A3 + msgbox Route117_Text_AirIsTastyHere, MSGBOX_NPC end -Route117_EventScript_1F39AC:: @ 81F39AC - msgbox Route117_Text_1F3C7C, MSGBOX_NPC +Route117_EventScript_Girl:: @ 81F39AC + msgbox Route117_Text_DayCarePokemonHadNewMove, MSGBOX_NPC end -Route117_EventScript_1F39B5:: @ 81F39B5 - msgbox Route117_Text_1F3D58, MSGBOX_SIGN +Route117_EventScript_RouteSignVerdanturf:: @ 81F39B5 + msgbox Route117_Text_RouteSignVerdanturf, MSGBOX_SIGN end -Route117_EventScript_1F39BE:: @ 81F39BE - msgbox Route117_Text_1F3D74, MSGBOX_SIGN +Route117_EventScript_RouteSignMauville:: @ 81F39BE + msgbox Route117_Text_RouteSignMauville, MSGBOX_SIGN end -Route117_EventScript_1F39C7:: @ 81F39C7 - msgbox Route117_Text_1F3D8E, MSGBOX_SIGN +Route117_EventScript_DayCareSign:: @ 81F39C7 + msgbox Route117_Text_DayCareSign, MSGBOX_SIGN end -Route117_EventScript_1F39D0:: @ 81F39D0 - trainerbattle_single TRAINER_ISAAC_1, Route117_Text_29C43F, Route117_Text_29C47A, Route117_EventScript_1F39FC +Route117_EventScript_Isaac:: @ 81F39D0 + trainerbattle_single TRAINER_ISAAC_1, Route117_Text_IsaacIntro, Route117_Text_IsaacDefeat, Route117_EventScript_RegisterIsaac specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route117_EventScript_1F3A1B - msgbox Route117_Text_29C498, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route117_EventScript_RematchIsaac + msgbox Route117_Text_IsaacPostBattle, MSGBOX_DEFAULT release end -Route117_EventScript_1F39FC:: @ 81F39FC - special sub_80B4808 +Route117_EventScript_RegisterIsaac:: @ 81F39FC + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route117_Text_29C508, MSGBOX_DEFAULT + msgbox Route117_Text_IsaacRegister, MSGBOX_DEFAULT register_matchcall TRAINER_ISAAC_1 release end -Route117_EventScript_1F3A1B:: @ 81F3A1B - trainerbattle_rematch TRAINER_ISAAC_1, Route117_Text_29C549, Route117_Text_29C58B - msgbox Route117_Text_29C5D0, MSGBOX_AUTOCLOSE +Route117_EventScript_RematchIsaac:: @ 81F3A1B + trainerbattle_rematch TRAINER_ISAAC_1, Route117_Text_IsaacRematchIntro, Route117_Text_IsaacRematchDefeat + msgbox Route117_Text_IsaacPostRematch, MSGBOX_AUTOCLOSE end -Route117_EventScript_1F3A32:: @ 81F3A32 - trainerbattle_single TRAINER_LYDIA_1, Route117_Text_29C612, Route117_Text_29C659, Route117_EventScript_1F3A5E +Route117_EventScript_Lydia:: @ 81F3A32 + trainerbattle_single TRAINER_LYDIA_1, Route117_Text_LydiaIntro, Route117_Text_LydiaDefeat, Route117_EventScript_RegisterLydia specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route117_EventScript_1F3A7D - msgbox Route117_Text_29C679, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route117_EventScript_RematchLydia + msgbox Route117_Text_LydiaPostBattle, MSGBOX_DEFAULT release end -Route117_EventScript_1F3A5E:: @ 81F3A5E - special sub_80B4808 +Route117_EventScript_RegisterLydia:: @ 81F3A5E + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route117_Text_29C6BC, MSGBOX_DEFAULT + msgbox Route117_Text_LydiaRegister, MSGBOX_DEFAULT register_matchcall TRAINER_LYDIA_1 release end -Route117_EventScript_1F3A7D:: @ 81F3A7D - trainerbattle_rematch TRAINER_LYDIA_1, Route117_Text_29C6FD, Route117_Text_29C73E - msgbox Route117_Text_29C75A, MSGBOX_AUTOCLOSE +Route117_EventScript_RematchLydia:: @ 81F3A7D + trainerbattle_rematch TRAINER_LYDIA_1, Route117_Text_LydiaRematchIntro, Route117_Text_LydiaRematchDefeat + msgbox Route117_Text_LydiaPostRematch, MSGBOX_AUTOCLOSE end -Route117_EventScript_1F3A94:: @ 81F3A94 - trainerbattle_single TRAINER_DYLAN_1, Route117_Text_29C7A5, Route117_Text_29C7EB, Route117_EventScript_1F3AC0 +Route117_EventScript_Dylan:: @ 81F3A94 + trainerbattle_single TRAINER_DYLAN_1, Route117_Text_DylanIntro, Route117_Text_DylanDefeat, Route117_EventScript_RegisterDylan specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route117_EventScript_1F3ADF - msgbox Route117_Text_29C800, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route117_EventScript_RematchDylan + msgbox Route117_Text_DylanPostBattle, MSGBOX_DEFAULT release end -Route117_EventScript_1F3AC0:: @ 81F3AC0 - special sub_80B4808 +Route117_EventScript_RegisterDylan:: @ 81F3AC0 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route117_Text_29C846, MSGBOX_DEFAULT + msgbox Route117_Text_DylanRegister, MSGBOX_DEFAULT register_matchcall TRAINER_DYLAN_1 release end -Route117_EventScript_1F3ADF:: @ 81F3ADF - trainerbattle_rematch TRAINER_DYLAN_1, Route117_Text_29C880, Route117_Text_29C8E3 - msgbox Route117_Text_29C8FE, MSGBOX_AUTOCLOSE +Route117_EventScript_RematchDylan:: @ 81F3ADF + trainerbattle_rematch TRAINER_DYLAN_1, Route117_Text_DylanRematchIntro, Route117_Text_DylanRematchDefeat + msgbox Route117_Text_DylanPostRematch, MSGBOX_AUTOCLOSE end -Route117_EventScript_1F3AF6:: @ 81F3AF6 - trainerbattle_single TRAINER_MARIA_1, Route117_Text_29C955, Route117_Text_29C9A6, Route117_EventScript_1F3B22 +Route117_EventScript_Maria:: @ 81F3AF6 + trainerbattle_single TRAINER_MARIA_1, Route117_Text_MariaIntro, Route117_Text_MariaDefeat, Route117_EventScript_RegisterMaria specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route117_EventScript_1F3B41 - msgbox Route117_Text_29C9D0, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route117_EventScript_RematchMaria + msgbox Route117_Text_MariaPostBattle, MSGBOX_DEFAULT release end -Route117_EventScript_1F3B22:: @ 81F3B22 - special sub_80B4808 +Route117_EventScript_RegisterMaria:: @ 81F3B22 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route117_Text_29CA32, MSGBOX_DEFAULT + msgbox Route117_Text_MariaRegister, MSGBOX_DEFAULT register_matchcall TRAINER_MARIA_1 release end -Route117_EventScript_1F3B41:: @ 81F3B41 - trainerbattle_rematch TRAINER_MARIA_1, Route117_Text_29CA7C, Route117_Text_29CACC - msgbox Route117_Text_29CAF6, MSGBOX_AUTOCLOSE +Route117_EventScript_RematchMaria:: @ 81F3B41 + trainerbattle_rematch TRAINER_MARIA_1, Route117_Text_MariaRematchIntro, Route117_Text_MariaRematchDefeat + msgbox Route117_Text_MariaPostRematch, MSGBOX_AUTOCLOSE end -Route117_EventScript_1F3B58:: @ 81F3B58 - trainerbattle_single TRAINER_DEREK, Route117_Text_29CB32, Route117_Text_29CB87 - msgbox Route117_Text_29CBAD, MSGBOX_AUTOCLOSE +Route117_EventScript_Derek:: @ 81F3B58 + trainerbattle_single TRAINER_DEREK, Route117_Text_DerekIntro, Route117_Text_DerekDefeat + msgbox Route117_Text_DerekPostBattle, MSGBOX_AUTOCLOSE end -Route117_EventScript_1F3B6F:: @ 81F3B6F - trainerbattle_double TRAINER_ANNA_AND_MEG_1, Route117_Text_29CC4A, Route117_Text_29CC8E, Route117_Text_29CD61, Route117_EventScript_1F3B9F +Route117_EventScript_Anna:: @ 81F3B6F + trainerbattle_double TRAINER_ANNA_AND_MEG_1, Route117_Text_AnnaIntro, Route117_Text_AnnaDefeat, Route117_Text_AnnaNotEnoughMons, Route117_EventScript_RegisterAnna specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route117_EventScript_1F3BB8 - msgbox Route117_Text_29CCCB, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route117_EventScript_RematchAnna + msgbox Route117_Text_AnnaPostBattle, MSGBOX_DEFAULT release end -Route117_EventScript_1F3B9F:: @ 81F3B9F - msgbox Route117_Text_29CD1D, MSGBOX_DEFAULT +Route117_EventScript_RegisterAnna:: @ 81F3B9F + msgbox Route117_Text_AnnaAndMegRegister, MSGBOX_DEFAULT register_matchcall TRAINER_ANNA_AND_MEG_1 release end -Route117_EventScript_1F3BB8:: @ 81F3BB8 - trainerbattle_rematch_double TRAINER_ANNA_AND_MEG_1, Route117_Text_29CEB6, Route117_Text_29CEF6, Route117_Text_29CF6E - msgbox Route117_Text_29CF1C, MSGBOX_AUTOCLOSE +Route117_EventScript_RematchAnna:: @ 81F3BB8 + trainerbattle_rematch_double TRAINER_ANNA_AND_MEG_1, Route117_Text_AnnaRematchIntro, Route117_Text_AnnaRematchDefeat, Route117_Text_AnnaRematchNotEnoughMons + msgbox Route117_Text_AnnaPostRematch, MSGBOX_AUTOCLOSE end -Route117_EventScript_1F3BD3:: @ 81F3BD3 - trainerbattle_double TRAINER_ANNA_AND_MEG_1, Route117_Text_29CD9D, Route117_Text_29CDE9, Route117_Text_29CE52, Route117_EventScript_1F3C03 +Route117_EventScript_Meg:: @ 81F3BD3 + trainerbattle_double TRAINER_ANNA_AND_MEG_1, Route117_Text_MegIntro, Route117_Text_MegDefeat, Route117_Text_MegNotEnoughMons, Route117_EventScript_RegisterMeg specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route117_EventScript_1F3C1C - msgbox Route117_Text_29CE17, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route117_EventScript_RematchMeg + msgbox Route117_Text_MegPostBattle, MSGBOX_DEFAULT release end -Route117_EventScript_1F3C03:: @ 81F3C03 - msgbox Route117_Text_29CD1D, MSGBOX_DEFAULT +Route117_EventScript_RegisterMeg:: @ 81F3C03 + msgbox Route117_Text_AnnaAndMegRegister, MSGBOX_DEFAULT register_matchcall TRAINER_ANNA_AND_MEG_1 release end -Route117_EventScript_1F3C1C:: @ 81F3C1C - trainerbattle_rematch_double TRAINER_ANNA_AND_MEG_1, Route117_Text_29CFAA, Route117_Text_29CFED, Route117_Text_29D053 - msgbox Route117_Text_29CFFE, MSGBOX_AUTOCLOSE +Route117_EventScript_RematchMeg:: @ 81F3C1C + trainerbattle_rematch_double TRAINER_ANNA_AND_MEG_1, Route117_Text_MegRematchIntro, Route117_Text_MegRematchDefeat, Route117_Text_MegRematchNotEnoughMons + msgbox Route117_Text_MegPostRematch, MSGBOX_AUTOCLOSE end -Route117_EventScript_1F3C37:: @ 81F3C37 - trainerbattle_single TRAINER_MELINA, Route117_Text_29D0B7, Route117_Text_29D0F1 - msgbox Route117_Text_29D10E, MSGBOX_AUTOCLOSE +Route117_EventScript_Melina:: @ 81F3C37 + trainerbattle_single TRAINER_MELINA, Route117_Text_MelinaIntro, Route117_Text_MelinaDefeat + msgbox Route117_Text_MelinaPostBattle, MSGBOX_AUTOCLOSE end -Route117_EventScript_1F3C4E:: @ 81F3C4E - trainerbattle_single TRAINER_BRANDI, Route117_Text_29D14B, Route117_Text_29D189 - msgbox Route117_Text_29D196, MSGBOX_AUTOCLOSE +Route117_EventScript_Brandi:: @ 81F3C4E + trainerbattle_single TRAINER_BRANDI, Route117_Text_BrandiIntro, Route117_Text_BrandiDefeat + msgbox Route117_Text_BrandiPostBattle, MSGBOX_AUTOCLOSE end -Route117_EventScript_1F3C65:: @ 81F3C65 - trainerbattle_single TRAINER_AISHA, Route117_Text_29D1D1, Route117_Text_29D206 - msgbox Route117_Text_29D24C, MSGBOX_AUTOCLOSE +Route117_EventScript_Aisha:: @ 81F3C65 + trainerbattle_single TRAINER_AISHA, Route117_Text_AishaIntro, Route117_Text_AishaDefeat + msgbox Route117_Text_AishaPostBattle, MSGBOX_AUTOCLOSE end -Route117_Text_1F3C7C: @ 81F3C7C +Route117_Text_DayCarePokemonHadNewMove: @ 81F3C7C .string "I left my POKéMON at the DAY CARE.\p" .string "When I got it back, it had a new move\n" .string "that I didn't teach it.\l" .string "I was really, really surprised.$" -Route117_Text_1F3CFD: @ 81F3CFD +Route117_Text_ArentTheseFlowersPretty: @ 81F3CFD .string "What do you think?\n" .string "Aren't these flowers pretty?\p" .string "I planted them all!$" -Route117_Text_1F3D41: @ 81F3D41 +Route117_Text_AirIsTastyHere: @ 81F3D41 .string "The air is tasty here!$" -Route117_Text_1F3D58: @ 81F3D58 +Route117_Text_RouteSignVerdanturf: @ 81F3D58 .string "ROUTE 117\n" .string "{LEFT_ARROW} VERDANTURF TOWN$" -Route117_Text_1F3D74: @ 81F3D74 +Route117_Text_RouteSignMauville: @ 81F3D74 .string "ROUTE 117\n" .string "{RIGHT_ARROW} MAUVILLE CITY$" -Route117_Text_1F3D8E: @ 81F3D8E +Route117_Text_DayCareSign: @ 81F3D8E .string "POKéMON DAY CARE\n" .string "“Let us raise your POKéMON.”$" diff --git a/data/maps/Route117_PokemonDayCare/map.json b/data/maps/Route117_PokemonDayCare/map.json index c233701e55..9cb052633d 100644 --- a/data/maps/Route117_PokemonDayCare/map.json +++ b/data/maps/Route117_PokemonDayCare/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route117_PokemonDayCare_EventScript_291D11", + "script": "Route117_PokemonDayCare_EventScript_DaycareWoman", "flag": "0" } ], diff --git a/data/maps/Route118/map.json b/data/maps/Route118/map.json index e7737bf1e0..d64adbb860 100644 --- a/data/maps/Route118/map.json +++ b/data/maps/Route118/map.json @@ -79,7 +79,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route118_EventScript_1F4079", + "script": "Route118_EventScript_Perry", "flag": "0" }, { @@ -92,7 +92,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route118_EventScript_28CE16", + "script": "GabbyAndTy_EventScript_GabbyBattle2", "flag": "FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1" }, { @@ -105,7 +105,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route118_EventScript_28CE36", + "script": "GabbyAndTy_EventScript_TyBattle2", "flag": "FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1" }, { @@ -118,7 +118,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route118_EventScript_1F3E73", + "script": "Route118_EventScript_Girl", "flag": "0" }, { @@ -131,7 +131,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route118_EventScript_28CED6", + "script": "GabbyAndTy_EventScript_GabbyBattle5", "flag": "FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2" }, { @@ -144,7 +144,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route118_EventScript_28CEF6", + "script": "GabbyAndTy_EventScript_TyBattle5", "flag": "FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2" }, { @@ -157,7 +157,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route118_EventScript_28CF16", + "script": "GabbyAndTy_EventScript_GabbyBattle6", "flag": "FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3" }, { @@ -170,7 +170,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route118_EventScript_28CF36", + "script": "GabbyAndTy_EventScript_TyBattle6", "flag": "FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3" }, { @@ -196,7 +196,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route118_EventScript_1F3E14", + "script": "Route118_EventScript_GoodRodFisherman", "flag": "0" }, { @@ -209,7 +209,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route118_EventScript_1F3F87", + "script": "Route118_EventScript_Rose", "flag": "0" }, { @@ -222,7 +222,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "Route118_EventScript_1F4000", + "script": "Route118_EventScript_Wade", "flag": "0" }, { @@ -235,7 +235,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route118_EventScript_1F4090", + "script": "Route118_EventScript_Chester", "flag": "0" }, { @@ -248,7 +248,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route118_EventScript_1F3FE9", + "script": "Route118_EventScript_Barny", "flag": "0" }, { @@ -261,7 +261,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route118_EventScript_1F4017", + "script": "Route118_EventScript_Dalton", "flag": "0" }, { @@ -300,7 +300,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route118_EventScript_1F40A7", + "script": "Route118_EventScript_Deandre", "flag": "0" } ], @@ -328,7 +328,7 @@ "elevation": 3, "var": "VAR_ROUTE118_STATE", "var_value": "0", - "script": "Route118_EventScript_1F3E8E" + "script": "Route118_EventScript_StevenTrigger0" }, { "type": "trigger", @@ -337,7 +337,7 @@ "elevation": 3, "var": "VAR_ROUTE118_STATE", "var_value": "0", - "script": "Route118_EventScript_1F3EAE" + "script": "Route118_EventScript_StevenTrigger1" }, { "type": "trigger", @@ -346,7 +346,7 @@ "elevation": 3, "var": "VAR_ROUTE118_STATE", "var_value": "0", - "script": "Route118_EventScript_1F3EC4" + "script": "Route118_EventScript_StevenTrigger2" } ], "bg_events": [ @@ -363,7 +363,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route118_EventScript_1F3E7C" + "script": "Route118_EventScript_RouteSignMauville" }, { "type": "sign", @@ -371,7 +371,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route118_EventScript_1F3E85" + "script": "Route118_EventScript_RouteSign119" }, { "type": "secret_base", diff --git a/data/maps/Route118/scripts.inc b/data/maps/Route118/scripts.inc index 858f0d5981..af77193bad 100644 --- a/data/maps/Route118/scripts.inc +++ b/data/maps/Route118/scripts.inc @@ -1,155 +1,155 @@ Route118_MapScripts:: @ 81F3DBC map_script MAP_SCRIPT_ON_TRANSITION, Route118_OnTransition - map_script MAP_SCRIPT_ON_LOAD, Route118_MapScript1_1F3DF3 - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route118_MapScript2_1F3E0A + map_script MAP_SCRIPT_ON_LOAD, Route118_OnLoad + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route118_OnFrame .byte 0 Route118_OnTransition: @ 81F3DCC - call Route118_EventScript_28CCC7 - compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 - call_if_eq Route118_EventScript_273D13 - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_118_EAST - call_if_eq UnusualWeather_StartGroudonWeather - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_118_WEST - call_if_eq UnusualWeather_StartGroudonWeather + call GabbyAndTy_EventScript_UpdateLocation + compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1 + call_if_eq AbnormalWeather_EventScript_HideMapNamePopup + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_118_EAST + call_if_eq AbnormalWeather_StartGroudonWeather + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_118_WEST + call_if_eq AbnormalWeather_StartGroudonWeather end -Route118_MapScript1_1F3DF3: @ 81F3DF3 - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_118_EAST - call_if_eq UnusualWeather_EventScript_PlaceTilesRoute118East - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_118_WEST - call_if_eq UnusualWeather_EventScript_PlaceTilesRoute118West +Route118_OnLoad: @ 81F3DF3 + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_118_EAST + call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute118East + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_118_WEST + call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute118West end -Route118_MapScript2_1F3E0A: @ 81F3E0A - map_script_2 VAR_SHOULD_END_UNUSUAL_WEATHER, 1, UnusualWeather_EventScript_EndEventAndCleanup_1 +Route118_OnFrame: @ 81F3E0A + map_script_2 VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_EndEventAndCleanup_1 .2byte 0 -Route118_EventScript_1F3E14:: @ 81F3E14 +Route118_EventScript_GoodRodFisherman:: @ 81F3E14 lock faceplayer - goto_if_set FLAG_RECEIVED_GOOD_ROD, Route118_EventScript_1F3E69 - msgbox Route118_Text_1F427B, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route118_EventScript_1F3E3E - compare VAR_RESULT, 0 - goto_if_eq Route118_EventScript_1F3E5F + goto_if_set FLAG_RECEIVED_GOOD_ROD, Route118_EventScript_ReceivedGoodRod + msgbox Route118_Text_YouAgreeGoodRodIsGood, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route118_EventScript_ReceiveGoodRod + compare VAR_RESULT, NO + goto_if_eq Route118_EventScript_DeclineGoodRod end -Route118_EventScript_1F3E3E:: @ 81F3E3E - msgbox Route118_Text_1F42AF, MSGBOX_DEFAULT - giveitem_std ITEM_GOOD_ROD +Route118_EventScript_ReceiveGoodRod:: @ 81F3E3E + msgbox Route118_Text_IdenticalMindsTakeThis, MSGBOX_DEFAULT + giveitem ITEM_GOOD_ROD setflag FLAG_RECEIVED_GOOD_ROD - msgbox Route118_Text_1F42E7, MSGBOX_DEFAULT + msgbox Route118_Text_TryYourLuckFishing, MSGBOX_DEFAULT release end -Route118_EventScript_1F3E5F:: @ 81F3E5F - msgbox Route118_Text_1F4319, MSGBOX_DEFAULT +Route118_EventScript_DeclineGoodRod:: @ 81F3E5F + msgbox Route118_Text_DontYouLikeToFish, MSGBOX_DEFAULT release end -Route118_EventScript_1F3E69:: @ 81F3E69 - msgbox Route118_Text_1F4331, MSGBOX_DEFAULT +Route118_EventScript_ReceivedGoodRod:: @ 81F3E69 + msgbox Route118_Text_TryCatchingMonWithGoodRod, MSGBOX_DEFAULT release end -Route118_EventScript_1F3E73:: @ 81F3E73 - msgbox Route118_Text_1F4367, MSGBOX_NPC +Route118_EventScript_Girl:: @ 81F3E73 + msgbox Route118_Text_CanCrossRiversWithSurf, MSGBOX_NPC end -Route118_EventScript_1F3E7C:: @ 81F3E7C - msgbox Route118_Text_1F43F4, MSGBOX_SIGN +Route118_EventScript_RouteSignMauville:: @ 81F3E7C + msgbox Route118_Text_RouteSignMauville, MSGBOX_SIGN end -Route118_EventScript_1F3E85:: @ 81F3E85 - msgbox Route118_Text_1F440E, MSGBOX_SIGN +Route118_EventScript_RouteSign119:: @ 81F3E85 + msgbox Route118_Text_RouteSign119, MSGBOX_SIGN end -Route118_EventScript_1F3E8E:: @ 81F3E8E +Route118_EventScript_StevenTrigger0:: @ 81F3E8E lockall setvar VAR_0x8008, 0 applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp waitmovement 0 - applymovement 19, Route118_Movement_1F3F61 + applymovement 19, Route118_Movement_StevenApproachLedge0 waitmovement 0 - goto Route118_EventScript_1F3EE4 + goto Route118_EventScript_StevenTrigger end -Route118_EventScript_1F3EAE:: @ 81F3EAE +Route118_EventScript_StevenTrigger1:: @ 81F3EAE lockall setvar VAR_0x8008, 1 applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp waitmovement 0 - goto Route118_EventScript_1F3EE4 + goto Route118_EventScript_StevenTrigger end -Route118_EventScript_1F3EC4:: @ 81F3EC4 +Route118_EventScript_StevenTrigger2:: @ 81F3EC4 lockall setvar VAR_0x8008, 2 applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp waitmovement 0 - applymovement 19, Route118_Movement_1F3F63 + applymovement 19, Route118_Movement_StevenApproachLedge2 waitmovement 0 - goto Route118_EventScript_1F3EE4 + goto Route118_EventScript_StevenTrigger end -Route118_EventScript_1F3EE4:: @ 81F3EE4 +Route118_EventScript_StevenTrigger:: @ 81F3EE4 playse SE_DANSA - applymovement 19, Route118_Movement_1F3F65 + applymovement 19, Route118_Movement_StevenJumpLedge waitmovement 0 delay 30 - msgbox Route118_Text_1F40BE, MSGBOX_DEFAULT + msgbox Route118_Text_StevenQuestions, MSGBOX_DEFAULT closemessage compare VAR_0x8008, 0 - call_if_eq Route118_EventScript_1F3F28 + call_if_eq Route118_EventScript_StevenExit0 compare VAR_0x8008, 1 - call_if_eq Route118_EventScript_1F3F3A + call_if_eq Route118_EventScript_StevenExit1 compare VAR_0x8008, 2 - call_if_eq Route118_EventScript_1F3F4C + call_if_eq Route118_EventScript_StevenExit2 setvar VAR_ROUTE118_STATE, 1 removeobject 19 releaseall end -Route118_EventScript_1F3F28:: @ 81F3F28 - applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_1F3F5E - applymovement 19, Route118_Movement_1F3F69 +Route118_EventScript_StevenExit0:: @ 81F3F28 + applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_PlayerWatchStevenExit + applymovement 19, Route118_Movement_StevenExit0 waitmovement 0 return -Route118_EventScript_1F3F3A:: @ 81F3F3A - applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_1F3F5E - applymovement 19, Route118_Movement_1F3F74 +Route118_EventScript_StevenExit1:: @ 81F3F3A + applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_PlayerWatchStevenExit + applymovement 19, Route118_Movement_StevenExit1 waitmovement 0 return -Route118_EventScript_1F3F4C:: @ 81F3F4C - applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_1F3F5E - applymovement 19, Route118_Movement_1F3F7E +Route118_EventScript_StevenExit2:: @ 81F3F4C + applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_PlayerWatchStevenExit + applymovement 19, Route118_Movement_StevenExit2 waitmovement 0 return -Route118_Movement_1F3F5E: @ 81F3F5E +Route118_Movement_PlayerWatchStevenExit: @ 81F3F5E delay_16 walk_in_place_fastest_right step_end -Route118_Movement_1F3F61: @ 81F3F61 +Route118_Movement_StevenApproachLedge0: @ 81F3F61 walk_left step_end -Route118_Movement_1F3F63: @ 81F3F63 +Route118_Movement_StevenApproachLedge2: @ 81F3F63 walk_right step_end -Route118_Movement_1F3F65: @ 81F3F65 +Route118_Movement_StevenJumpLedge: @ 81F3F65 jump_2_down delay_16 walk_down step_end -Route118_Movement_1F3F69: @ 81F3F69 +Route118_Movement_StevenExit0: @ 81F3F69 walk_right walk_right walk_right @@ -162,7 +162,7 @@ Route118_Movement_1F3F69: @ 81F3F69 walk_right step_end -Route118_Movement_1F3F74: @ 81F3F74 +Route118_Movement_StevenExit1: @ 81F3F74 walk_right walk_right walk_right @@ -174,7 +174,7 @@ Route118_Movement_1F3F74: @ 81F3F74 walk_right step_end -Route118_Movement_1F3F7E: @ 81F3F7E +Route118_Movement_StevenExit2: @ 81F3F7E walk_right walk_right walk_right @@ -185,76 +185,76 @@ Route118_Movement_1F3F7E: @ 81F3F7E walk_right step_end -Route118_EventScript_1F3F87:: @ 81F3F87 - trainerbattle_single TRAINER_ROSE_1, Route118_Text_29D290, Route118_Text_29D2D8, Route118_EventScript_1F3FB3 +Route118_EventScript_Rose:: @ 81F3F87 + trainerbattle_single TRAINER_ROSE_1, Route118_Text_RoseIntro, Route118_Text_RoseDefeat, Route118_EventScript_RegisterRose specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route118_EventScript_1F3FD2 - msgbox Route118_Text_29D2FA, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route118_EventScript_RematchRose + msgbox Route118_Text_RosePostBattle, MSGBOX_DEFAULT release end -Route118_EventScript_1F3FB3:: @ 81F3FB3 - special sub_80B4808 +Route118_EventScript_RegisterRose:: @ 81F3FB3 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route118_Text_29D343, MSGBOX_DEFAULT + msgbox Route118_Text_RoseRegister, MSGBOX_DEFAULT register_matchcall TRAINER_ROSE_1 release end -Route118_EventScript_1F3FD2:: @ 81F3FD2 - trainerbattle_rematch TRAINER_ROSE_1, Route118_Text_29D382, Route118_Text_29D3AA - msgbox Route118_Text_29D3D9, MSGBOX_AUTOCLOSE +Route118_EventScript_RematchRose:: @ 81F3FD2 + trainerbattle_rematch TRAINER_ROSE_1, Route118_Text_RoseRematchIntro, Route118_Text_RoseRematchDefeat + msgbox Route118_Text_RosePostRematch, MSGBOX_AUTOCLOSE end -Route118_EventScript_1F3FE9:: @ 81F3FE9 - trainerbattle_single TRAINER_BARNY, Route118_Text_29D515, Route118_Text_29D55C - msgbox Route118_Text_29D587, MSGBOX_AUTOCLOSE +Route118_EventScript_Barny:: @ 81F3FE9 + trainerbattle_single TRAINER_BARNY, Route118_Text_BarnyIntro, Route118_Text_BarnyDefeat + msgbox Route118_Text_BarnyPostBattle, MSGBOX_AUTOCLOSE end -Route118_EventScript_1F4000:: @ 81F4000 - trainerbattle_single TRAINER_WADE, Route118_Text_29D5DF, Route118_Text_29D64C - msgbox Route118_Text_29D663, MSGBOX_AUTOCLOSE +Route118_EventScript_Wade:: @ 81F4000 + trainerbattle_single TRAINER_WADE, Route118_Text_WadeIntro, Route118_Text_WadeDefeat + msgbox Route118_Text_WadePostBattle, MSGBOX_AUTOCLOSE end -Route118_EventScript_1F4017:: @ 81F4017 - trainerbattle_single TRAINER_DALTON_1, Route118_Text_29D6AF, Route118_Text_29D6CD, Route118_EventScript_1F4043 +Route118_EventScript_Dalton:: @ 81F4017 + trainerbattle_single TRAINER_DALTON_1, Route118_Text_DaltonIntro, Route118_Text_DaltonDefeat, Route118_EventScript_RegisterDalton specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route118_EventScript_1F4062 - msgbox Route118_Text_29D6D8, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route118_EventScript_RematchDalton + msgbox Route118_Text_DaltonPostBattle, MSGBOX_DEFAULT release end -Route118_EventScript_1F4043:: @ 81F4043 - special sub_80B4808 +Route118_EventScript_RegisterDalton:: @ 81F4043 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route118_Text_29D74A, MSGBOX_DEFAULT + msgbox Route118_Text_DaltonRegister, MSGBOX_DEFAULT register_matchcall TRAINER_DALTON_1 release end -Route118_EventScript_1F4062:: @ 81F4062 - trainerbattle_rematch TRAINER_DALTON_1, Route118_Text_29D789, Route118_Text_29D7CA - msgbox Route118_Text_29D7D5, MSGBOX_AUTOCLOSE +Route118_EventScript_RematchDalton:: @ 81F4062 + trainerbattle_rematch TRAINER_DALTON_1, Route118_Text_DaltonRematchIntro, Route118_Text_DaltonRematchDefeat + msgbox Route118_Text_DaltonPostRematch, MSGBOX_AUTOCLOSE end -Route118_EventScript_1F4079:: @ 81F4079 - trainerbattle_single TRAINER_PERRY, Route118_Text_29D41D, Route118_Text_29D45B - msgbox Route118_Text_29D46C, MSGBOX_AUTOCLOSE +Route118_EventScript_Perry:: @ 81F4079 + trainerbattle_single TRAINER_PERRY, Route118_Text_PerryIntro, Route118_Text_PerryDefeat + msgbox Route118_Text_PerryPostBattle, MSGBOX_AUTOCLOSE end -Route118_EventScript_1F4090:: @ 81F4090 - trainerbattle_single TRAINER_CHESTER, Route118_Text_29D4A6, Route118_Text_29D4C4 - msgbox Route118_Text_29D4DA, MSGBOX_AUTOCLOSE +Route118_EventScript_Chester:: @ 81F4090 + trainerbattle_single TRAINER_CHESTER, Route118_Text_ChesterIntro, Route118_Text_ChesterDefeat + msgbox Route118_Text_ChesterPostBattle, MSGBOX_AUTOCLOSE end -Route118_EventScript_1F40A7:: @ 81F40A7 - trainerbattle_single TRAINER_DEANDRE, Route118_Text_29D81B, Route118_Text_29D83C - msgbox Route118_Text_29D872, MSGBOX_AUTOCLOSE +Route118_EventScript_Deandre:: @ 81F40A7 + trainerbattle_single TRAINER_DEANDRE, Route118_Text_DeandreIntro, Route118_Text_DeandreDefeat + msgbox Route118_Text_DeandrePostBattle, MSGBOX_AUTOCLOSE end -Route118_Text_1F40BE: @ 81F40BE +Route118_Text_StevenQuestions: @ 81F40BE .string "STEVEN: Hi, {PLAYER}{KUN}!\p" .string "It's me, STEVEN!\n" .string "We met in the cave near DEWFORD.\p" @@ -272,40 +272,40 @@ Route118_Text_1F40BE: @ 81F40BE .string "It would be nice if we were to meet\n" .string "again somewhere.$" -Route118_Text_1F427B: @ 81F427B +Route118_Text_YouAgreeGoodRodIsGood: @ 81F427B .string "Hmm!\n" .string "A GOOD ROD is really good!\p" .string "Wouldn't you agree?$" -Route118_Text_1F42AF: @ 81F42AF +Route118_Text_IdenticalMindsTakeThis: @ 81F42AF .string "Hmm!\n" .string "We're of identical minds!\p" .string "Hmm!\n" .string "Take this GOOD ROD!$" -Route118_Text_1F42E7: @ 81F42E7 +Route118_Text_TryYourLuckFishing: @ 81F42E7 .string "Wherever there's water, try your luck\n" .string "at fishing.$" -Route118_Text_1F4319: @ 81F4319 +Route118_Text_DontYouLikeToFish: @ 81F4319 .string "Don't you like to fish?$" -Route118_Text_1F4331: @ 81F4331 +Route118_Text_TryCatchingMonWithGoodRod: @ 81F4331 .string "Try catching all sorts of POKéMON\n" .string "with your GOOD ROD.$" -Route118_Text_1F4367: @ 81F4367 +Route118_Text_CanCrossRiversWithSurf: @ 81F4367 .string "Even if there isn't a boat, you can\n" .string "cross rivers and the sea if you have\l" .string "a POKéMON that knows SURF.\p" .string "POKéMON can be counted on to do so\n" .string "much!$" -Route118_Text_1F43F4: @ 81F43F4 +Route118_Text_RouteSignMauville: @ 81F43F4 .string "ROUTE 118\n" .string "{LEFT_ARROW} MAUVILLE CITY$" -Route118_Text_1F440E: @ 81F440E +Route118_Text_RouteSign119: @ 81F440E .string "ROUTE 118\n" .string "{UP_ARROW} ROUTE 119$" diff --git a/data/maps/Route119/map.json b/data/maps/Route119/map.json index c84ff9db19..2d1be06353 100644 --- a/data/maps/Route119/map.json +++ b/data/maps/Route119/map.json @@ -74,7 +74,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route119_EventScript_1F47E2", + "script": "Route119_EventScript_Greg", "flag": "0" }, { @@ -87,7 +87,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route119_EventScript_1F47B4", + "script": "Route119_EventScript_Taylor", "flag": "0" }, { @@ -100,7 +100,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route119_EventScript_1F479D", + "script": "Route119_EventScript_Donald", "flag": "0" }, { @@ -113,7 +113,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route119_EventScript_1F4810", + "script": "Route119_EventScript_Jackson", "flag": "0" }, { @@ -126,7 +126,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route119_EventScript_1F4786", + "script": "Route119_EventScript_Brent", "flag": "0" }, { @@ -139,7 +139,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route119_EventScript_1F4872", + "script": "Route119_EventScript_Catherine", "flag": "0" }, { @@ -152,7 +152,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route119_EventScript_1F47CB", + "script": "Route119_EventScript_Doug", "flag": "0" }, { @@ -165,7 +165,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route119_EventScript_1F47F9", + "script": "Route119_EventScript_Kent", "flag": "0" }, { @@ -178,7 +178,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route119_EventScript_1F4902", + "script": "Route119_EventScript_Yasu", "flag": "0" }, { @@ -191,7 +191,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route119_EventScript_1F4919", + "script": "Route119_EventScript_Takashi", "flag": "0" }, { @@ -204,7 +204,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route119_EventScript_1F48D4", + "script": "Route119_EventScript_Hugh", "flag": "0" }, { @@ -217,7 +217,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route119_EventScript_1F48EB", + "script": "Route119_EventScript_Phil", "flag": "0" }, { @@ -321,7 +321,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_1F49A3", + "script": "Route119_EventScript_BridgeAquaGrunt1", "flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA" }, { @@ -334,7 +334,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_1F49BA", + "script": "Route119_EventScript_BridgeAquaGrunt2", "flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA" }, { @@ -360,7 +360,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_1F49D1", + "script": "Route119_EventScript_Boy1", "flag": "0" }, { @@ -425,7 +425,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_1F476B", + "script": "Route119_EventScript_CyclingTriathleteM", "flag": "0" }, { @@ -451,7 +451,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_1F49DA", + "script": "Route119_EventScript_Boy2", "flag": "0" }, { @@ -464,7 +464,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route119_EventScript_1F4930", + "script": "Route119_EventScript_Hideo", "flag": "0" }, { @@ -477,7 +477,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_27231C", + "script": "Route119_EventScript_Kecleon1", "flag": "FLAG_HIDE_ROUTE_119_KECLEON_1" }, { @@ -490,7 +490,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_272329", + "script": "Route119_EventScript_Kecleon2", "flag": "FLAG_HIDE_ROUTE_119_KECLEON_2" }, { @@ -503,7 +503,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_EventScript_1F4947", + "script": "Route119_EventScript_Chris", "flag": "0" }, { @@ -516,7 +516,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route119_EventScript_1F498C", + "script": "Route119_EventScript_Rachel", "flag": "0" }, { @@ -529,7 +529,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route119_EventScript_1F4975", + "script": "Route119_EventScript_Dayton", "flag": "0" }, { @@ -542,7 +542,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route119_EventScript_1F495E", + "script": "Route119_EventScript_Fabian", "flag": "0" }, { @@ -609,7 +609,7 @@ "elevation": 0, "var": "VAR_ROUTE119_STATE", "var_value": "0", - "script": "Route119_EventScript_1F4472" + "script": "Route119_EventScript_RivalTrigger1" }, { "type": "trigger", @@ -618,7 +618,7 @@ "elevation": 0, "var": "VAR_ROUTE119_STATE", "var_value": "0", - "script": "Route119_EventScript_1F447D" + "script": "Route119_EventScript_RivalTrigger2" }, { "type": "weather", @@ -775,7 +775,7 @@ "y": 33, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route119_EventScript_1F477D" + "script": "Route119_EventScript_WeatherInstituteSign" }, { "type": "sign", @@ -783,7 +783,7 @@ "y": 19, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route119_EventScript_1F4774" + "script": "Route119_EventScript_RouteSignFortree" }, { "type": "secret_base", @@ -914,7 +914,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route119_EventScript_1F49E3" + "script": "Route119_EventScript_TrainerTipsDecoration" } ] } \ No newline at end of file diff --git a/data/maps/Route119/scripts.inc b/data/maps/Route119/scripts.inc index 1902333edb..ee07cc5cdc 100644 --- a/data/maps/Route119/scripts.inc +++ b/data/maps/Route119/scripts.inc @@ -1,248 +1,248 @@ Route119_MapScripts:: @ 81F4424 - map_script MAP_SCRIPT_ON_RESUME, Route119_MapScript1_1F442F + map_script MAP_SCRIPT_ON_RESUME, Route119_OnResume map_script MAP_SCRIPT_ON_TRANSITION, Route119_OnTransition .byte 0 -Route119_MapScript1_1F442F: @ 81F442F - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route119_EventScript_1F4439 +Route119_OnResume: @ 81F442F + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route119_EventScript_TryRemoveKecleon end -Route119_EventScript_1F4439:: @ 81F4439 +Route119_EventScript_TryRemoveKecleon:: @ 81F4439 specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject VAR_LAST_TALKED return Route119_OnTransition: @ 81F444D - call Common_EventScript_SetupRivalGender - call Common_EventScript_SetupRivalOnBikeGender + call Common_EventScript_SetupRivalGfxId + call Common_EventScript_SetupRivalOnBikeGfxId compare VAR_WEATHER_INSTITUTE_STATE, 1 - call_if_eq Route119_EventScript_1F4466 + call_if_eq Route119_EventScript_MoveInstituteWorkersDownstairs special SetRoute119Weather end -Route119_EventScript_1F4466:: @ 81F4466 +Route119_EventScript_MoveInstituteWorkersDownstairs:: @ 81F4466 setflag FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS clearflag FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS setvar VAR_WEATHER_INSTITUTE_STATE, 2 return -Route119_EventScript_1F4472:: @ 81F4472 +Route119_EventScript_RivalTrigger1:: @ 81F4472 setvar VAR_TEMP_1, 1 - goto Route119_EventScript_1F4488 + goto Route119_EventScript_RivalEncounter end -Route119_EventScript_1F447D:: @ 81F447D +Route119_EventScript_RivalTrigger2:: @ 81F447D setvar VAR_TEMP_1, 2 - goto Route119_EventScript_1F4488 + goto Route119_EventScript_RivalEncounter end -Route119_EventScript_1F4488:: @ 81F4488 +Route119_EventScript_RivalEncounter:: @ 81F4488 lockall - addobject 25 + addobject 25 @ Rival on bike checkplayergender compare VAR_RESULT, MALE - call_if_eq Route119_EventScript_1F4501 + call_if_eq Route119_EventScript_PlayMayMusic compare VAR_RESULT, FEMALE - call_if_eq Route119_EventScript_1F4506 + call_if_eq Route119_EventScript_PlayBrendanMusic delay 65 compare VAR_TEMP_1, 1 - call_if_eq Route119_EventScript_1F46C6 + call_if_eq Route119_EventScript_RivalEnter1 compare VAR_TEMP_1, 2 - call_if_eq Route119_EventScript_1F46D1 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + call_if_eq Route119_EventScript_RivalEnter2 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 30 compare VAR_TEMP_1, 1 - call_if_eq Route119_EventScript_1F4700 + call_if_eq Route119_EventScript_SetRivalPos1 compare VAR_TEMP_1, 2 - call_if_eq Route119_EventScript_1F470F + call_if_eq Route119_EventScript_SetRivalPos2 removeobject 25 - addobject 16 + addobject 16 @ Rival on foot delay 30 checkplayergender compare VAR_RESULT, MALE - goto_if_eq Route119_EventScript_1F450B + goto_if_eq Route119_EventScript_BattleMay compare VAR_RESULT, FEMALE - goto_if_eq Route119_EventScript_1F4585 + goto_if_eq Route119_EventScript_BattleBrendan releaseall end -Route119_EventScript_1F4501:: @ 81F4501 +Route119_EventScript_PlayMayMusic:: @ 81F4501 playbgm MUS_GIRL_SUP, 1 return -Route119_EventScript_1F4506:: @ 81F4506 +Route119_EventScript_PlayBrendanMusic:: @ 81F4506 playbgm MUS_BOY_SUP, 1 return -Route119_EventScript_1F450B:: @ 81F450B - msgbox Route119_Text_1F49FD, MSGBOX_DEFAULT +Route119_EventScript_BattleMay:: @ 81F450B + msgbox Route119_Text_MayIntro, MSGBOX_DEFAULT switch VAR_STARTER_MON - case 0, Route119_EventScript_1F453A - case 1, Route119_EventScript_1F454A - case 2, Route119_EventScript_1F455A + case 0, Route119_EventScript_BattleMayTreecko + case 1, Route119_EventScript_BattleMayTorchic + case 2, Route119_EventScript_BattleMayMudkip end -Route119_EventScript_1F453A:: @ 81F453A - trainerbattle_no_intro TRAINER_MAY_6, Route119_Text_1F4A98 - goto Route119_EventScript_1F456A +Route119_EventScript_BattleMayTreecko:: @ 81F453A + trainerbattle_no_intro TRAINER_MAY_ROUTE_119_TREECKO, Route119_Text_MayDefeat + goto Route119_EventScript_DefeatedMay end -Route119_EventScript_1F454A:: @ 81F454A - trainerbattle_no_intro TRAINER_MAY_9, Route119_Text_1F4A98 - goto Route119_EventScript_1F456A +Route119_EventScript_BattleMayTorchic:: @ 81F454A + trainerbattle_no_intro TRAINER_MAY_ROUTE_119_TORCHIC, Route119_Text_MayDefeat + goto Route119_EventScript_DefeatedMay end -Route119_EventScript_1F455A:: @ 81F455A - trainerbattle_no_intro TRAINER_MAY_3, Route119_Text_1F4A98 - goto Route119_EventScript_1F456A +Route119_EventScript_BattleMayMudkip:: @ 81F455A + trainerbattle_no_intro TRAINER_MAY_ROUTE_119_MUDKIP, Route119_Text_MayDefeat + goto Route119_EventScript_DefeatedMay end -Route119_EventScript_1F456A:: @ 81F456A - msgbox Route119_Text_1F4AF3, MSGBOX_DEFAULT - call Route119_EventScript_1F45FF - msgbox Route119_Text_1F4B56, MSGBOX_DEFAULT - goto Route119_EventScript_1F460F +Route119_EventScript_DefeatedMay:: @ 81F456A + msgbox Route119_Text_MayPresentForYou, MSGBOX_DEFAULT + call Route119_EventScript_GiveFlyHM + msgbox Route119_Text_MayExplainFly, MSGBOX_DEFAULT + goto Route119_EventScript_RivalExitScottArrive end -Route119_EventScript_1F4585:: @ 81F4585 - msgbox Route119_Text_1F4C9A, MSGBOX_DEFAULT +Route119_EventScript_BattleBrendan:: @ 81F4585 + msgbox Route119_Text_BrendanIntro, MSGBOX_DEFAULT switch VAR_STARTER_MON - case 0, Route119_EventScript_1F45B4 - case 1, Route119_EventScript_1F45C4 - case 2, Route119_EventScript_1F45D4 + case 0, Route119_EventScript_BattleBrendanTreecko + case 1, Route119_EventScript_BattleBrendanTorchic + case 2, Route119_EventScript_BattleBrendanMudkip end -Route119_EventScript_1F45B4:: @ 81F45B4 - trainerbattle_no_intro TRAINER_BRENDAN_6, Route119_Text_1F4D24 - goto Route119_EventScript_1F45E4 +Route119_EventScript_BattleBrendanTreecko:: @ 81F45B4 + trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_119_TREECKO, Route119_Text_BrendanDefeat + goto Route119_EventScript_DefeatedBrendan end -Route119_EventScript_1F45C4:: @ 81F45C4 - trainerbattle_no_intro TRAINER_BRENDAN_9, Route119_Text_1F4D24 - goto Route119_EventScript_1F45E4 +Route119_EventScript_BattleBrendanTorchic:: @ 81F45C4 + trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_119_TORCHIC, Route119_Text_BrendanDefeat + goto Route119_EventScript_DefeatedBrendan end -Route119_EventScript_1F45D4:: @ 81F45D4 - trainerbattle_no_intro TRAINER_BRENDAN_3, Route119_Text_1F4D24 - goto Route119_EventScript_1F45E4 +Route119_EventScript_BattleBrendanMudkip:: @ 81F45D4 + trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_119_MUDKIP, Route119_Text_BrendanDefeat + goto Route119_EventScript_DefeatedBrendan end -Route119_EventScript_1F45E4:: @ 81F45E4 - msgbox Route119_Text_1F4D4B, MSGBOX_DEFAULT - call Route119_EventScript_1F45FF - msgbox Route119_Text_1F4DB5, MSGBOX_DEFAULT - goto Route119_EventScript_1F460F +Route119_EventScript_DefeatedBrendan:: @ 81F45E4 + msgbox Route119_Text_BrendanIllGiveYouThis, MSGBOX_DEFAULT + call Route119_EventScript_GiveFlyHM + msgbox Route119_Text_BrendanExplainFly, MSGBOX_DEFAULT + goto Route119_EventScript_RivalExitScottArrive end -Route119_EventScript_1F45FF:: @ 81F45FF - giveitem_std ITEM_HM02 +Route119_EventScript_GiveFlyHM:: @ 81F45FF + giveitem ITEM_HM02 setflag FLAG_RECEIVED_HM02 return -Route119_EventScript_1F460F:: @ 81F460F +Route119_EventScript_RivalExitScottArrive:: @ 81F460F closemessage compare VAR_TEMP_1, 1 - call_if_eq Route119_EventScript_1F4700 + call_if_eq Route119_EventScript_SetRivalPos1 compare VAR_TEMP_1, 2 - call_if_eq Route119_EventScript_1F470F - removeobject 16 - addobject 25 + call_if_eq Route119_EventScript_SetRivalPos2 + removeobject 16 @ Rival on foot + addobject 25 @ Rival on bike delay 30 compare VAR_TEMP_1, 1 - call_if_eq Route119_EventScript_1F46DC + call_if_eq Route119_EventScript_RivalExit1 compare VAR_TEMP_1, 2 - call_if_eq Route119_EventScript_1F46EE + call_if_eq Route119_EventScript_RivalExit2 removeobject 25 setvar VAR_ROUTE119_STATE, 1 savebgm MUS_DUMMY fadedefaultbgm delay 60 compare VAR_TEMP_1, 1 - call_if_eq Route119_EventScript_1F46A0 + call_if_eq Route119_EventScript_SetScottPos1 compare VAR_TEMP_1, 2 - call_if_eq Route119_EventScript_1F46A8 - addobject 43 - applymovement 43, Route119_Movement_1F4752 + call_if_eq Route119_EventScript_SetScottPos2 + addobject 43 @ Scott + applymovement 43, Route119_Movement_ScottEnter waitmovement 0 addvar VAR_SCOTT_STATE, 1 - msgbox Route119_Text_1F4E60, MSGBOX_DEFAULT + msgbox Route119_Text_ScottWayToGoBeSeeingYou, MSGBOX_DEFAULT closemessage compare VAR_TEMP_1, 1 - call_if_eq Route119_EventScript_1F46B0 + call_if_eq Route119_EventScript_ScottExit1 compare VAR_TEMP_1, 2 - call_if_eq Route119_EventScript_1F46BB + call_if_eq Route119_EventScript_ScottExit2 removeobject 43 releaseall end -Route119_EventScript_1F46A0:: @ 81F46A0 +Route119_EventScript_SetScottPos1:: @ 81F46A0 setobjectxyperm 43, 27, 25 return -Route119_EventScript_1F46A8:: @ 81F46A8 +Route119_EventScript_SetScottPos2:: @ 81F46A8 setobjectxyperm 43, 28, 25 return -Route119_EventScript_1F46B0:: @ 81F46B0 - applymovement 43, Route119_Movement_1F475A +Route119_EventScript_ScottExit1:: @ 81F46B0 + applymovement 43, Route119_Movement_ScottExit1 waitmovement 0 return -Route119_EventScript_1F46BB:: @ 81F46BB - applymovement 43, Route119_Movement_1F4763 +Route119_EventScript_ScottExit2:: @ 81F46BB + applymovement 43, Route119_Movement_ScottExit2 waitmovement 0 return -Route119_EventScript_1F46C6:: @ 81F46C6 - applymovement 25, Route119_Movement_1F4728 +Route119_EventScript_RivalEnter1:: @ 81F46C6 + applymovement 25, Route119_Movement_RivalEnter1 waitmovement 0 return -Route119_EventScript_1F46D1:: @ 81F46D1 - applymovement 25, Route119_Movement_1F4732 +Route119_EventScript_RivalEnter2:: @ 81F46D1 + applymovement 25, Route119_Movement_RivalEnter2 waitmovement 0 return -Route119_EventScript_1F46DC:: @ 81F46DC - applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_1F471E - applymovement 25, Route119_Movement_1F473D +Route119_EventScript_RivalExit1:: @ 81F46DC + applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_PlayerWatchRivalExit1 + applymovement 25, Route119_Movement_RivalExit1 waitmovement 0 return -Route119_EventScript_1F46EE:: @ 81F46EE - applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_1F4723 - applymovement 25, Route119_Movement_1F4747 +Route119_EventScript_RivalExit2:: @ 81F46EE + applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_PlayerWatchRivalExit2 + applymovement 25, Route119_Movement_RivalExit2 waitmovement 0 return -Route119_EventScript_1F4700:: @ 81F4700 +Route119_EventScript_SetRivalPos1:: @ 81F4700 setobjectxyperm 16, 25, 32 setobjectxyperm 25, 25, 32 return -Route119_EventScript_1F470F:: @ 81F470F +Route119_EventScript_SetRivalPos2:: @ 81F470F setobjectxyperm 16, 26, 32 setobjectxyperm 25, 26, 32 return -Route119_Movement_1F471E: @ 81F471E +Route119_Movement_PlayerWatchRivalExit1: @ 81F471E delay_16 walk_in_place_fastest_right delay_8 walk_in_place_fastest_up step_end -Route119_Movement_1F4723: @ 81F4723 +Route119_Movement_PlayerWatchRivalExit2: @ 81F4723 delay_16 walk_in_place_fastest_left delay_8 walk_in_place_fastest_up step_end -Route119_Movement_1F4728: @ 81F4728 +Route119_Movement_RivalEnter1: @ 81F4728 walk_fast_right walk_fast_right walk_fast_right @@ -254,7 +254,7 @@ Route119_Movement_1F4728: @ 81F4728 walk_fast_up step_end -Route119_Movement_1F4732: @ 81F4732 +Route119_Movement_RivalEnter2: @ 81F4732 walk_fast_right walk_fast_right walk_fast_right @@ -267,7 +267,7 @@ Route119_Movement_1F4732: @ 81F4732 walk_fast_up step_end -Route119_Movement_1F473D: @ 81F473D +Route119_Movement_RivalExit1: @ 81F473D walk_fast_right walk_fast_up walk_fast_up @@ -279,7 +279,7 @@ Route119_Movement_1F473D: @ 81F473D walk_fast_up step_end -Route119_Movement_1F4747: @ 81F4747 +Route119_Movement_RivalExit2: @ 81F4747 walk_fast_left walk_fast_up walk_fast_up @@ -292,7 +292,7 @@ Route119_Movement_1F4747: @ 81F4747 walk_fast_up step_end -Route119_Movement_1F4752: @ 81F4752 +Route119_Movement_ScottEnter: @ 81F4752 walk_down walk_down walk_down @@ -302,7 +302,7 @@ Route119_Movement_1F4752: @ 81F4752 walk_down step_end -Route119_Movement_1F475A: @ 81F475A +Route119_Movement_ScottExit1: @ 81F475A walk_up walk_right walk_right @@ -313,7 +313,7 @@ Route119_Movement_1F475A: @ 81F475A walk_up step_end -Route119_Movement_1F4763: @ 81F4763 +Route119_Movement_ScottExit2: @ 81F4763 walk_up walk_right walk_up @@ -323,179 +323,179 @@ Route119_Movement_1F4763: @ 81F4763 walk_up step_end -Route119_EventScript_1F476B:: @ 81F476B - msgbox Route119_Text_1F5261, MSGBOX_NPC +Route119_EventScript_CyclingTriathleteM:: @ 81F476B + msgbox Route119_Text_TallGrassSnaresBikeTires, MSGBOX_NPC end -Route119_EventScript_1F4774:: @ 81F4774 - msgbox Route119_Text_1F530E, MSGBOX_SIGN +Route119_EventScript_RouteSignFortree:: @ 81F4774 + msgbox Route119_Text_RouteSignFortree, MSGBOX_SIGN end -Route119_EventScript_1F477D:: @ 81F477D - msgbox Route119_Text_1F5327, MSGBOX_SIGN +Route119_EventScript_WeatherInstituteSign:: @ 81F477D + msgbox Route119_Text_WeatherInstitute, MSGBOX_SIGN end -Route119_EventScript_1F4786:: @ 81F4786 - trainerbattle_single TRAINER_BRENT, Route119_Text_29D8C2, Route119_Text_29D8F0 - msgbox Route119_Text_29D902, MSGBOX_AUTOCLOSE +Route119_EventScript_Brent:: @ 81F4786 + trainerbattle_single TRAINER_BRENT, Route119_Text_BrentIntro, Route119_Text_BrentDefeat + msgbox Route119_Text_BrentPostBattle, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F479D:: @ 81F479D - trainerbattle_single TRAINER_DONALD, Route119_Text_29D941, Route119_Text_29D97C - msgbox Route119_Text_29D993, MSGBOX_AUTOCLOSE +Route119_EventScript_Donald:: @ 81F479D + trainerbattle_single TRAINER_DONALD, Route119_Text_DonaldIntro, Route119_Text_DonaldDefeat + msgbox Route119_Text_DonaldPostBattle, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F47B4:: @ 81F47B4 - trainerbattle_single TRAINER_TAYLOR, Route119_Text_29D9CD, Route119_Text_29DA14 - msgbox Route119_Text_29DA2C, MSGBOX_AUTOCLOSE +Route119_EventScript_Taylor:: @ 81F47B4 + trainerbattle_single TRAINER_TAYLOR, Route119_Text_TaylorIntro, Route119_Text_TaylorDefeat + msgbox Route119_Text_TaylorPostBattle, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F47CB:: @ 81F47CB - trainerbattle_single TRAINER_DOUG, Route119_Text_29DA7D, Route119_Text_29DABC - msgbox Route119_Text_29DADB, MSGBOX_AUTOCLOSE +Route119_EventScript_Doug:: @ 81F47CB + trainerbattle_single TRAINER_DOUG, Route119_Text_DougIntro, Route119_Text_DougDefeat + msgbox Route119_Text_DougPostBattle, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F47E2:: @ 81F47E2 - trainerbattle_single TRAINER_GREG, Route119_Text_29DB17, Route119_Text_29DB66 - msgbox Route119_Text_29DB7C, MSGBOX_AUTOCLOSE +Route119_EventScript_Greg:: @ 81F47E2 + trainerbattle_single TRAINER_GREG, Route119_Text_GregIntro, Route119_Text_GregDefeat + msgbox Route119_Text_GregPostBattle, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F47F9:: @ 81F47F9 - trainerbattle_single TRAINER_KENT, Route119_Text_29DBC2, Route119_Text_29DC20 - msgbox Route119_Text_29DC2B, MSGBOX_AUTOCLOSE +Route119_EventScript_Kent:: @ 81F47F9 + trainerbattle_single TRAINER_KENT, Route119_Text_KentIntro, Route119_Text_KentDefeat + msgbox Route119_Text_KentPostBattle, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F4810:: @ 81F4810 - trainerbattle_single TRAINER_JACKSON_1, Route119_Text_29DC4C, Route119_Text_29DC9F, Route119_EventScript_1F483C +Route119_EventScript_Jackson:: @ 81F4810 + trainerbattle_single TRAINER_JACKSON_1, Route119_Text_JacksonIntro, Route119_Text_JacksonDefeat, Route119_EventScript_RegisterJackson specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route119_EventScript_1F485B - msgbox Route119_Text_29DCC6, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route119_EventScript_RematchJackson + msgbox Route119_Text_JacksonPostBattle, MSGBOX_DEFAULT release end -Route119_EventScript_1F483C:: @ 81F483C - special sub_80B4808 +Route119_EventScript_RegisterJackson:: @ 81F483C + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route119_Text_29DD1C, MSGBOX_DEFAULT + msgbox Route119_Text_JacksonRegister, MSGBOX_DEFAULT register_matchcall TRAINER_JACKSON_1 release end -Route119_EventScript_1F485B:: @ 81F485B - trainerbattle_rematch TRAINER_JACKSON_1, Route119_Text_29DD62, Route119_Text_29DDA5 - msgbox Route119_Text_29DDBD, MSGBOX_AUTOCLOSE +Route119_EventScript_RematchJackson:: @ 81F485B + trainerbattle_rematch TRAINER_JACKSON_1, Route119_Text_JacksonRematchIntro, Route119_Text_JacksonRematchDefeat + msgbox Route119_Text_JacksonPostRematch, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F4872:: @ 81F4872 - trainerbattle_single TRAINER_CATHERINE_1, Route119_Text_29DE0F, Route119_Text_29DE5D, Route119_EventScript_1F489E +Route119_EventScript_Catherine:: @ 81F4872 + trainerbattle_single TRAINER_CATHERINE_1, Route119_Text_CatherineIntro, Route119_Text_CatherineDefeat, Route119_EventScript_RegisterCatherine specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route119_EventScript_1F48BD - msgbox Route119_Text_29DE88, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route119_EventScript_RematchCatherine + msgbox Route119_Text_CatherinePostBattle, MSGBOX_DEFAULT release end -Route119_EventScript_1F489E:: @ 81F489E - special sub_80B4808 +Route119_EventScript_RegisterCatherine:: @ 81F489E + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route119_Text_29DEF7, MSGBOX_DEFAULT + msgbox Route119_Text_CatherineRegister, MSGBOX_DEFAULT register_matchcall TRAINER_CATHERINE_1 release end -Route119_EventScript_1F48BD:: @ 81F48BD - trainerbattle_rematch TRAINER_CATHERINE_1, Route119_Text_29DF6B, Route119_Text_29DF92 - msgbox Route119_Text_29DFAF, MSGBOX_AUTOCLOSE +Route119_EventScript_RematchCatherine:: @ 81F48BD + trainerbattle_rematch TRAINER_CATHERINE_1, Route119_Text_CatherineRematchIntro, Route119_Text_CatherineRematchDefeat + msgbox Route119_Text_CatherinePostRematch, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F48D4:: @ 81F48D4 - trainerbattle_single TRAINER_HUGH, Route119_Text_29E007, Route119_Text_29E063 - msgbox Route119_Text_29E071, MSGBOX_AUTOCLOSE +Route119_EventScript_Hugh:: @ 81F48D4 + trainerbattle_single TRAINER_HUGH, Route119_Text_HughIntro, Route119_Text_HughDefeat + msgbox Route119_Text_HughPostBattle, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F48EB:: @ 81F48EB - trainerbattle_single TRAINER_PHIL, Route119_Text_29E0A5, Route119_Text_29E0E1 - msgbox Route119_Text_29E0F6, MSGBOX_AUTOCLOSE +Route119_EventScript_Phil:: @ 81F48EB + trainerbattle_single TRAINER_PHIL, Route119_Text_PhilIntro, Route119_Text_PhilDefeat + msgbox Route119_Text_PhilPostBattle, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F4902:: @ 81F4902 - trainerbattle_single TRAINER_YASU, Route119_Text_29E134, Route119_Text_29E18D - msgbox Route119_Text_29E19D, MSGBOX_AUTOCLOSE +Route119_EventScript_Yasu:: @ 81F4902 + trainerbattle_single TRAINER_YASU, Route119_Text_YasuIntro, Route119_Text_YasuDefeat + msgbox Route119_Text_YasuPostBattle, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F4919:: @ 81F4919 - trainerbattle_single TRAINER_TAKASHI, Route119_Text_29E1F5, Route119_Text_29E22B - msgbox Route119_Text_29E245, MSGBOX_AUTOCLOSE +Route119_EventScript_Takashi:: @ 81F4919 + trainerbattle_single TRAINER_TAKASHI, Route119_Text_TakashiIntro, Route119_Text_TakashiDefeat + msgbox Route119_Text_TakashiPostBattle, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F4930:: @ 81F4930 - trainerbattle_single TRAINER_HIDEO, Route119_Text_29E26A, Route119_Text_29E288 - msgbox Route119_Text_29E2A3, MSGBOX_AUTOCLOSE +Route119_EventScript_Hideo:: @ 81F4930 + trainerbattle_single TRAINER_HIDEO, Route119_Text_HideoIntro, Route119_Text_HideoDefeat + msgbox Route119_Text_HideoPostBattle, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F4947:: @ 81F4947 - trainerbattle_single TRAINER_CHRIS, Route119_Text_29E30D, Route119_Text_29E372 - msgbox Route119_Text_29E3A2, MSGBOX_AUTOCLOSE +Route119_EventScript_Chris:: @ 81F4947 + trainerbattle_single TRAINER_CHRIS, Route119_Text_ChrisIntro, Route119_Text_ChrisDefeat + msgbox Route119_Text_ChrisPostBattle, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F495E:: @ 81F495E - trainerbattle_single TRAINER_FABIAN, Route119_Text_29E3FF, Route119_Text_29E44F - msgbox Route119_Text_29E492, MSGBOX_AUTOCLOSE +Route119_EventScript_Fabian:: @ 81F495E + trainerbattle_single TRAINER_FABIAN, Route119_Text_FabianIntro, Route119_Text_FabianDefeat + msgbox Route119_Text_FabianPostBattle, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F4975:: @ 81F4975 - trainerbattle_single TRAINER_DAYTON, Route119_Text_29E4DF, Route119_Text_29E513 - msgbox Route119_Text_29E532, MSGBOX_AUTOCLOSE +Route119_EventScript_Dayton:: @ 81F4975 + trainerbattle_single TRAINER_DAYTON, Route119_Text_DaytonIntro, Route119_Text_DaytonDefeat + msgbox Route119_Text_DaytonPostBattle, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F498C:: @ 81F498C - trainerbattle_single TRAINER_RACHEL, Route119_Text_29E56F, Route119_Text_29E5B1 - msgbox Route119_Text_29E5CB, MSGBOX_AUTOCLOSE +Route119_EventScript_Rachel:: @ 81F498C + trainerbattle_single TRAINER_RACHEL, Route119_Text_RachelIntro, Route119_Text_RachelDefeat + msgbox Route119_Text_RachelPostBattle, MSGBOX_AUTOCLOSE end -Route119_EventScript_1F49A3:: @ 81F49A3 +Route119_EventScript_BridgeAquaGrunt1:: @ 81F49A3 lock faceplayer - msgbox Route119_Text_1F50EB, MSGBOX_DEFAULT + msgbox Route119_Text_StayAwayFromWeatherInstitute, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -Route119_EventScript_1F49BA:: @ 81F49BA +Route119_EventScript_BridgeAquaGrunt2:: @ 81F49BA lock faceplayer - msgbox Route119_Text_1F5147, MSGBOX_DEFAULT + msgbox Route119_Text_DontGoNearWeatherInstitute, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -Route119_EventScript_1F49D1:: @ 81F49D1 - msgbox Route119_Text_1F51A2, MSGBOX_NPC +Route119_EventScript_Boy1:: @ 81F49D1 + msgbox Route119_Text_ThoughtFlyByCatchingBirdMons, MSGBOX_NPC end -Route119_EventScript_1F49DA:: @ 81F49DA - msgbox Route119_Text_1F52B9, MSGBOX_NPC +Route119_EventScript_Boy2:: @ 81F49DA + msgbox Route119_Text_CanYourMonMakeSecretBase, MSGBOX_NPC end -Route119_EventScript_1F49E3:: @ 81F49E3 - msgbox Route119_Text_1F5339, MSGBOX_SIGN +Route119_EventScript_TrainerTipsDecoration:: @ 81F49E3 + msgbox Route119_Text_TrainerTipsDecoration, MSGBOX_SIGN end -Route119_EventScript_1F49EC:: @ 81F49EC +Route119_EventScript_ScottWonAtFortreeGymCall:: @ 81F49EC lockall - pokenavcall Route119_Text_1F4FBA + pokenavcall Route119_Text_ScottYouWonAtFortreeGym waitmessage - clearflag FLAG_REGISTER_WINONA_POKENAV + clearflag FLAG_SCOTT_CALL_FORTREE_GYM addvar VAR_SCOTT_STATE, 1 releaseall end -Route119_Text_1F49FD: @ 81F49FD +Route119_Text_MayIntro: @ 81F49FD .string "MAY: {PLAYER}{KUN}!\n" .string "Where were you? I was looking for you!\p" .string "How much stronger have you gotten?\n" @@ -503,18 +503,18 @@ Route119_Text_1F49FD: @ 81F49FD .string "Ready with your POKéMON?\n" .string "Of course you are! Go!$" -Route119_Text_1F4A98: @ 81F4A98 +Route119_Text_MayDefeat: @ 81F4A98 .string "Achah!\n" .string "{PLAYER}{KUN}, you're strong!\p" .string "I was worried that you might be\n" .string "struggling with your training.$" -Route119_Text_1F4AF3: @ 81F4AF3 +Route119_Text_MayPresentForYou: @ 81F4AF3 .string "MAY: But I had absolutely nothing to\n" .string "worry about! Keep it up!\p" .string "And, here! I have a present for you.$" -Route119_Text_1F4B56: @ 81F4B56 +Route119_Text_MayExplainFly: @ 81F4B56 .string "MAY: Use FLY, and your POKéMON will\n" .string "instantly carry you to any town you've\l" .string "already visited.\p" @@ -527,7 +527,7 @@ Route119_Text_1F4B56: @ 81F4B56 .string "{PLAYER}{KUN}.\p" .string "Well, let's meet again somewhere!$" -Route119_Text_1F4C9A: @ 81F4C9A +Route119_Text_BrendanIntro: @ 81F4C9A .string "BRENDAN: {PLAYER}! So this is where\n" .string "you've been looking for POKéMON?\p" .string "Let me see how good you got.\n" @@ -535,17 +535,17 @@ Route119_Text_1F4C9A: @ 81F4C9A .string "Now!\n" .string "It's a battle, so battle!$" -Route119_Text_1F4D24: @ 81F4D24 +Route119_Text_BrendanDefeat: @ 81F4D24 .string "Hmm…\n" .string "You've gotten pretty darn decent.$" -Route119_Text_1F4D4B: @ 81F4D4B +Route119_Text_BrendanIllGiveYouThis: @ 81F4D4B .string "BRENDAN: I'd say you're good enough\n" .string "to search for POKéMON anywhere.\p" .string "Here, I'll give you this.\n" .string "Try it out.$" -Route119_Text_1F4DB5: @ 81F4DB5 +Route119_Text_BrendanExplainFly: @ 81F4DB5 .string "BRENDAN: Use FLY, and your POKéMON\n" .string "instantly carries you to any town\l" .string "you've already visited.\p" @@ -553,7 +553,7 @@ Route119_Text_1F4DB5: @ 81F4DB5 .string "to do that.\p" .string "Anyway, I have to move along.$" -Route119_Text_1F4E60: @ 81F4E60 +Route119_Text_ScottWayToGoBeSeeingYou: @ 81F4E60 .string "SCOTT: Hahahah!\n" .string "Way to go, {PLAYER}{KUN}!\p" .string "I just passed by a TRAINER riding\n" @@ -568,7 +568,7 @@ Route119_Text_1F4E60: @ 81F4E60 .string "Well, I'll be seeing you!$" -Route119_Text_1F4FBA: @ 81F4FBA +Route119_Text_ScottYouWonAtFortreeGym: @ 81F4FBA .string "… … … … … …\n" .string "… … … … … Beep!\p" .string "SCOTT: Hiya, {PLAYER}{KUN}, it's me!\p" @@ -583,17 +583,17 @@ Route119_Text_1F4FBA: @ 81F4FBA .string "… … … … … …\n" .string "… … … … … Click!$" -Route119_Text_1F50EB: @ 81F50EB +Route119_Text_StayAwayFromWeatherInstitute: @ 81F50EB .string "We're standing lookout here.\p" .string "Hey, you! Stay away from the WEATHER\n" .string "INSTITUTE. It's not safe.$" -Route119_Text_1F5147: @ 81F5147 +Route119_Text_DontGoNearWeatherInstitute: @ 81F5147 .string "Lookout duty is surprisingly boring.\p" .string "Hey, you! Please don't go near the\n" .string "WEATHER INSTITUTE.$" -Route119_Text_1F51A2: @ 81F51A2 +Route119_Text_ThoughtFlyByCatchingBirdMons: @ 81F51A2 .string "I thought you FLY by catching a whole\n" .string "flock of BIRD POKéMON, and then\l" .string "hanging on to them somehow.\p" @@ -602,25 +602,25 @@ Route119_Text_1F51A2: @ 81F51A2 .string "I wish I'd known about that a long\n" .string "time ago…$" -Route119_Text_1F5261: @ 81F5261 +Route119_Text_TallGrassSnaresBikeTires: @ 81F5261 .string "Tch…\n" .string "It's a no-go…\p" .string "The tall grass snares BIKE tires.\n" .string "There's no way you can cycle here.$" -Route119_Text_1F52B9: @ 81F52B9 +Route119_Text_CanYourMonMakeSecretBase: @ 81F52B9 .string "Can your POKéMON use its SECRET POWER\n" .string "on a big pile of grass and make a\l" .string "SECRET BASE?$" -Route119_Text_1F530E: @ 81F530E +Route119_Text_RouteSignFortree: @ 81F530E .string "ROUTE 119\n" .string "{RIGHT_ARROW} FORTREE CITY$" -Route119_Text_1F5327: @ 81F5327 +Route119_Text_WeatherInstitute: @ 81F5327 .string "WEATHER INSTITUTE$" -Route119_Text_1F5339: @ 81F5339 +Route119_Text_TrainerTipsDecoration: @ 81F5339 .string "TRAINER TIPS\p" .string "Up to sixteen decorations and\n" .string "furniture items can be placed in\l" diff --git a/data/maps/Route119_House/map.json b/data/maps/Route119_House/map.json index 31d84664f9..f071566539 100644 --- a/data/maps/Route119_House/map.json +++ b/data/maps/Route119_House/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_House_EventScript_270966", + "script": "Route119_House_EventScript_Woman", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_House_EventScript_27096F", + "script": "Route119_House_EventScript_Wingull", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_House_EventScript_27096F", + "script": "Route119_House_EventScript_Wingull", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_House_EventScript_27096F", + "script": "Route119_House_EventScript_Wingull", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_House_EventScript_27096F", + "script": "Route119_House_EventScript_Wingull", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_House_EventScript_27096F", + "script": "Route119_House_EventScript_Wingull", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 3, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_House_EventScript_27096F", + "script": "Route119_House_EventScript_Wingull", "flag": "0" } ], diff --git a/data/maps/Route119_House/scripts.inc b/data/maps/Route119_House/scripts.inc index 4d4826bdf0..b6915aaa30 100644 --- a/data/maps/Route119_House/scripts.inc +++ b/data/maps/Route119_House/scripts.inc @@ -1,27 +1,27 @@ Route119_House_MapScripts:: @ 8270965 .byte 0 -Route119_House_EventScript_270966:: @ 8270966 - msgbox Route119_House_Text_270982, MSGBOX_NPC +Route119_House_EventScript_Woman:: @ 8270966 + msgbox Route119_House_Text_RumorAboutCaveOfOrigin, MSGBOX_NPC end -Route119_House_EventScript_27096F:: @ 827096F +Route119_House_EventScript_Wingull:: @ 827096F lock faceplayer waitse playmoncry SPECIES_WINGULL, 0 - msgbox Route119_House_Text_270A17, MSGBOX_DEFAULT + msgbox Route119_House_Text_Wingull, MSGBOX_DEFAULT waitmoncry release end -Route119_House_Text_270982: @ 8270982 +Route119_House_Text_RumorAboutCaveOfOrigin: @ 8270982 .string "I heard about a cave called the CAVE\n" .string "OF ORIGIN.\p" .string "People rumor that the spirits of\n" .string "POKéMON are revived there. Could\l" .string "something like that really happen?$" -Route119_House_Text_270A17: @ 8270A17 +Route119_House_Text_Wingull: @ 8270A17 .string "WINGULL: Pihyoh!$" diff --git a/data/maps/Route119_WeatherInstitute_1F/map.json b/data/maps/Route119_WeatherInstitute_1F/map.json index 8200c20df2..626d008fc0 100644 --- a/data/maps/Route119_WeatherInstitute_1F/map.json +++ b/data/maps/Route119_WeatherInstitute_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route119_WeatherInstitute_1F_EventScript_26FB29", + "script": "Route119_WeatherInstitute_1F_EventScript_Grunt1", "flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route119_WeatherInstitute_1F_EventScript_26FB40", + "script": "Route119_WeatherInstitute_1F_EventScript_Grunt4", "flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_WeatherInstitute_1F_EventScript_26FB0F", + "script": "Route119_WeatherInstitute_1F_EventScript_InstituteWorker2", "flag": "FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_WeatherInstitute_1F_EventScript_26FAC8", + "script": "Route119_WeatherInstitute_1F_EventScript_InstituteWorker1", "flag": "FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_WeatherInstitute_1F_EventScript_26FAA4", + "script": "Route119_WeatherInstitute_1F_EventScript_LittleBoy", "flag": "0" } ], @@ -111,7 +111,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route119_WeatherInstitute_1F_EventScript_26FB18" + "script": "Route119_WeatherInstitute_1F_EventScript_Bed" }, { "type": "sign", @@ -119,7 +119,7 @@ "y": 3, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route119_WeatherInstitute_1F_EventScript_26FB18" + "script": "Route119_WeatherInstitute_1F_EventScript_Bed" }, { "type": "sign", @@ -127,7 +127,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route119_WeatherInstitute_1F_EventScript_26FB18" + "script": "Route119_WeatherInstitute_1F_EventScript_Bed" }, { "type": "sign", @@ -135,7 +135,7 @@ "y": 3, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route119_WeatherInstitute_1F_EventScript_26FB18" + "script": "Route119_WeatherInstitute_1F_EventScript_Bed" } ] } \ No newline at end of file diff --git a/data/maps/Route119_WeatherInstitute_1F/scripts.inc b/data/maps/Route119_WeatherInstitute_1F/scripts.inc index b4b309d80d..c734ee3c44 100644 --- a/data/maps/Route119_WeatherInstitute_1F/scripts.inc +++ b/data/maps/Route119_WeatherInstitute_1F/scripts.inc @@ -4,111 +4,111 @@ Route119_WeatherInstitute_1F_MapScripts:: @ 826FA86 Route119_WeatherInstitute_1F_OnTransition: @ 826FA8C compare VAR_WEATHER_INSTITUTE_STATE, 0 - call_if_eq Route119_WeatherInstitute_1F_EventScript_26FA98 + call_if_eq Route119_WeatherInstitute_1F_EventScript_SetLittleBoyPos end -Route119_WeatherInstitute_1F_EventScript_26FA98:: @ 826FA98 +Route119_WeatherInstitute_1F_EventScript_SetLittleBoyPos:: @ 826FA98 setobjectxyperm 5, 0, 5 setobjectmovementtype 5, MOVEMENT_TYPE_FACE_RIGHT return -Route119_WeatherInstitute_1F_EventScript_26FAA4:: @ 826FAA4 +Route119_WeatherInstitute_1F_EventScript_LittleBoy:: @ 826FAA4 lock faceplayer special GetPlayerBigGuyGirlString compare VAR_WEATHER_INSTITUTE_STATE, 0 - goto_if_eq Route119_WeatherInstitute_1F_EventScript_26FABE - msgbox Route119_WeatherInstitute_1F_Text_26FCE5, MSGBOX_DEFAULT + goto_if_eq Route119_WeatherInstitute_1F_EventScript_LittleBoyTeamAquaHere + msgbox Route119_WeatherInstitute_1F_Text_WowYoureStrong, MSGBOX_DEFAULT release end -Route119_WeatherInstitute_1F_EventScript_26FABE:: @ 826FABE - msgbox Route119_WeatherInstitute_1F_Text_26FCB7, MSGBOX_DEFAULT +Route119_WeatherInstitute_1F_EventScript_LittleBoyTeamAquaHere:: @ 826FABE + msgbox Route119_WeatherInstitute_1F_Text_EveryoneWentUpstairs, MSGBOX_DEFAULT release end -Route119_WeatherInstitute_1F_EventScript_26FAC8:: @ 826FAC8 +Route119_WeatherInstitute_1F_EventScript_InstituteWorker1:: @ 826FAC8 lock faceplayer - goto_if_unset FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_1F_EventScript_26FB05 + goto_if_unset FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_1F_EventScript_StudyingRain setvar VAR_0x8004, 0 - call_if_set FLAG_DEFEATED_KYOGRE, Route119_WeatherInstitute_1F_EventScript_26FAFF - call_if_set FLAG_DEFEATED_GROUDON, Route119_WeatherInstitute_1F_EventScript_26FAFF - compare VAR_0x8004, 2 - goto_if_eq Route119_WeatherInstitute_1F_EventScript_26FB05 - msgbox Route119_WeatherInstitute_1F_Text_26FDE8, MSGBOX_DEFAULT + call_if_set FLAG_DEFEATED_KYOGRE, Route119_WeatherInstitute_1F_EventScript_LegendaryDefeated + call_if_set FLAG_DEFEATED_GROUDON, Route119_WeatherInstitute_1F_EventScript_LegendaryDefeated + compare VAR_0x8004, 2 @ Both defeated + goto_if_eq Route119_WeatherInstitute_1F_EventScript_StudyingRain + msgbox Route119_WeatherInstitute_1F_Text_NoticingAbnormalWeather, MSGBOX_DEFAULT release end -Route119_WeatherInstitute_1F_EventScript_26FAFF:: @ 826FAFF +Route119_WeatherInstitute_1F_EventScript_LegendaryDefeated:: @ 826FAFF addvar VAR_0x8004, 1 return -Route119_WeatherInstitute_1F_EventScript_26FB05:: @ 826FB05 - msgbox Route119_WeatherInstitute_1F_Text_26FD2E, MSGBOX_DEFAULT +Route119_WeatherInstitute_1F_EventScript_StudyingRain:: @ 826FB05 + msgbox Route119_WeatherInstitute_1F_Text_ProfStudyingRain, MSGBOX_DEFAULT release end -Route119_WeatherInstitute_1F_EventScript_26FB0F:: @ 826FB0F - msgbox Route119_WeatherInstitute_1F_Text_26FE94, MSGBOX_NPC +Route119_WeatherInstitute_1F_EventScript_InstituteWorker2:: @ 826FB0F + msgbox Route119_WeatherInstitute_1F_Text_WhatWereAquasUpTo, MSGBOX_NPC end -Route119_WeatherInstitute_1F_EventScript_26FB18:: @ 826FB18 +Route119_WeatherInstitute_1F_EventScript_Bed:: @ 826FB18 lockall - msgbox Route119_WeatherInstitute_1F_Text_26FEFC, MSGBOX_DEFAULT + msgbox Route119_WeatherInstitute_1F_Text_TakeRestInBed, MSGBOX_DEFAULT closemessage call Common_EventScript_OutOfCenterPartyHeal releaseall end -Route119_WeatherInstitute_1F_EventScript_26FB29:: @ 826FB29 - trainerbattle_single TRAINER_GRUNT_11, Route119_WeatherInstitute_1F_Text_26FB57, Route119_WeatherInstitute_1F_Text_26FBBB - msgbox Route119_WeatherInstitute_1F_Text_26FBD7, MSGBOX_AUTOCLOSE +Route119_WeatherInstitute_1F_EventScript_Grunt1:: @ 826FB29 + trainerbattle_single TRAINER_GRUNT_WEATHER_INST_1, Route119_WeatherInstitute_1F_Text_Grunt1Intro, Route119_WeatherInstitute_1F_Text_Grunt1Defeat + msgbox Route119_WeatherInstitute_1F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -Route119_WeatherInstitute_1F_EventScript_26FB40:: @ 826FB40 - trainerbattle_single TRAINER_GRUNT_20, Route119_WeatherInstitute_1F_Text_26FC34, Route119_WeatherInstitute_1F_Text_26FC52 - msgbox Route119_WeatherInstitute_1F_Text_26FC60, MSGBOX_AUTOCLOSE +Route119_WeatherInstitute_1F_EventScript_Grunt4:: @ 826FB40 + trainerbattle_single TRAINER_GRUNT_WEATHER_INST_4, Route119_WeatherInstitute_1F_Text_Grunt4Intro, Route119_WeatherInstitute_1F_Text_Grunt4Defeat + msgbox Route119_WeatherInstitute_1F_Text_Grunt4PostBattle, MSGBOX_AUTOCLOSE end -Route119_WeatherInstitute_1F_Text_26FB57: @ 826FB57 +Route119_WeatherInstitute_1F_Text_Grunt1Intro: @ 826FB57 .string "The BOSS got interested in\n" .string "the research they have going here,\l" .string "so he sent us out.\p" .string "You quit meddling!$" -Route119_WeatherInstitute_1F_Text_26FBBB: @ 826FBBB +Route119_WeatherInstitute_1F_Text_Grunt1Defeat: @ 826FBBB .string "Blast it…\n" .string "Blasted by a kid…$" -Route119_WeatherInstitute_1F_Text_26FBD7: @ 826FBD7 +Route119_WeatherInstitute_1F_Text_Grunt1PostBattle: @ 826FBD7 .string "Our BOSS knows everything.\p" .string "But I'm just a GRUNT. What would I know\n" .string "about what he's thinking?$" -Route119_WeatherInstitute_1F_Text_26FC34: @ 826FC34 +Route119_WeatherInstitute_1F_Text_Grunt4Intro: @ 826FC34 .string "Huh?\n" .string "What's a kid doing here?$" -Route119_WeatherInstitute_1F_Text_26FC52: @ 826FC52 +Route119_WeatherInstitute_1F_Text_Grunt4Defeat: @ 826FC52 .string "Huh?\n" .string "I lost?!$" -Route119_WeatherInstitute_1F_Text_26FC60: @ 826FC60 +Route119_WeatherInstitute_1F_Text_Grunt4PostBattle: @ 826FC60 .string "Oh, no…\n" .string "I'll catch an earful for losing to a kid…\p" .string "I should just take a nap in the bed…$" -Route119_WeatherInstitute_1F_Text_26FCB7: @ 826FCB7 +Route119_WeatherInstitute_1F_Text_EveryoneWentUpstairs: @ 826FCB7 .string "While I was sleeping, everyone went\n" .string "upstairs!$" -Route119_WeatherInstitute_1F_Text_26FCE5: @ 826FCE5 +Route119_WeatherInstitute_1F_Text_WowYoureStrong: @ 826FCE5 .string "Wow, you're really strong!\p" .string "I wish I could be a POKéMON TRAINER\n" .string "like you!$" -Route119_WeatherInstitute_1F_Text_26FD2E: @ 826FD2E +Route119_WeatherInstitute_1F_Text_ProfStudyingRain: @ 826FD2E .string "The PROFESSOR loves rain.\n" .string "That's a fact.\p" .string "But if it keeps raining, people will be in\n" @@ -116,7 +116,7 @@ Route119_WeatherInstitute_1F_Text_26FD2E: @ 826FD2E .string "And thus, the PROFESSOR is studying\n" .string "if the rain can be put to good use.$" -Route119_WeatherInstitute_1F_Text_26FDE8: @ 826FDE8 +Route119_WeatherInstitute_1F_Text_NoticingAbnormalWeather: @ 826FDE8 .string "On the 2nd floor of the INSTITUTE,\n" .string "we study the weather patterns over\l" .string "the HOENN region.\p" @@ -124,13 +124,13 @@ Route119_WeatherInstitute_1F_Text_26FDE8: @ 826FDE8 .string "isolated cases of droughts and\l" .string "heavy rain lately…$" -Route119_WeatherInstitute_1F_Text_26FE94: @ 826FE94 +Route119_WeatherInstitute_1F_Text_WhatWereAquasUpTo: @ 826FE94 .string "Hello!\n" .string "We've been saved by your actions!\p" .string "What I don't understand is what on\n" .string "earth the AQUAS were up to.$" -Route119_WeatherInstitute_1F_Text_26FEFC: @ 826FEFC +Route119_WeatherInstitute_1F_Text_TakeRestInBed: @ 826FEFC .string "There's a bed…\n" .string "Let's take a rest.$" diff --git a/data/maps/Route119_WeatherInstitute_2F/map.json b/data/maps/Route119_WeatherInstitute_2F/map.json index 4b4534a8e7..c8048db6f2 100644 --- a/data/maps/Route119_WeatherInstitute_2F/map.json +++ b/data/maps/Route119_WeatherInstitute_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route119_WeatherInstitute_2F_EventScript_26FF7F", + "script": "Route119_WeatherInstitute_2F_EventScript_Grunt2", "flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route119_WeatherInstitute_2F_EventScript_26FF96", + "script": "Route119_WeatherInstitute_2F_EventScript_Grunt3", "flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_WeatherInstitute_2F_EventScript_26FFAD", + "script": "Route119_WeatherInstitute_2F_EventScript_Shelly", "flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route119_WeatherInstitute_2F_EventScript_27018B", + "script": "Route119_WeatherInstitute_2F_EventScript_WeatherScientist", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route119_WeatherInstitute_2F_EventScript_26FF68", + "script": "Route119_WeatherInstitute_2F_EventScript_Grunt5", "flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA" } ], diff --git a/data/maps/Route119_WeatherInstitute_2F/scripts.inc b/data/maps/Route119_WeatherInstitute_2F/scripts.inc index 9257b3a644..6ffc19de81 100644 --- a/data/maps/Route119_WeatherInstitute_2F/scripts.inc +++ b/data/maps/Route119_WeatherInstitute_2F/scripts.inc @@ -4,67 +4,67 @@ Route119_WeatherInstitute_2F_MapScripts:: @ 826FF1E Route119_WeatherInstitute_2F_OnTransition: @ 826FF24 compare VAR_WEATHER_INSTITUTE_STATE, 0 - call_if_eq Route119_WeatherInstitute_2F_EventScript_26FF44 + call_if_eq Route119_WeatherInstitute_2F_EventScript_SetScientistPosAquaHere compare VAR_WEATHER_INSTITUTE_STATE, 1 - call_if_eq Route119_WeatherInstitute_2F_EventScript_26FF50 - call_if_set FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_2F_EventScript_26FF5C + call_if_eq Route119_WeatherInstitute_2F_EventScript_SetScientistPosAquaGone + call_if_set FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_2F_EventScript_SetScientistPosGameClear end -Route119_WeatherInstitute_2F_EventScript_26FF44:: @ 826FF44 +Route119_WeatherInstitute_2F_EventScript_SetScientistPosAquaHere:: @ 826FF44 setobjectxyperm 5, 1, 6 setobjectmovementtype 5, MOVEMENT_TYPE_FACE_RIGHT return -Route119_WeatherInstitute_2F_EventScript_26FF50:: @ 826FF50 +Route119_WeatherInstitute_2F_EventScript_SetScientistPosAquaGone:: @ 826FF50 setobjectxyperm 5, 4, 6 setobjectmovementtype 5, MOVEMENT_TYPE_FACE_RIGHT return -Route119_WeatherInstitute_2F_EventScript_26FF5C:: @ 826FF5C +Route119_WeatherInstitute_2F_EventScript_SetScientistPosGameClear:: @ 826FF5C setobjectxyperm 5, 2, 2 setobjectmovementtype 5, MOVEMENT_TYPE_FACE_UP return -Route119_WeatherInstitute_2F_EventScript_26FF68:: @ 826FF68 - trainerbattle_single TRAINER_GRUNT_37, Route119_WeatherInstitute_2F_Text_270335, Route119_WeatherInstitute_2F_Text_27039F - msgbox Route119_WeatherInstitute_2F_Text_2703C0, MSGBOX_AUTOCLOSE +Route119_WeatherInstitute_2F_EventScript_Grunt5:: @ 826FF68 + trainerbattle_single TRAINER_GRUNT_WEATHER_INST_5, Route119_WeatherInstitute_2F_Text_Grunt5Intro, Route119_WeatherInstitute_2F_Text_Grunt5Defeat + msgbox Route119_WeatherInstitute_2F_Text_Grunt5PostBattle, MSGBOX_AUTOCLOSE end -Route119_WeatherInstitute_2F_EventScript_26FF7F:: @ 826FF7F - trainerbattle_single TRAINER_GRUNT_12, Route119_WeatherInstitute_2F_Text_27019C, Route119_WeatherInstitute_2F_Text_270208 - msgbox Route119_WeatherInstitute_2F_Text_27022B, MSGBOX_AUTOCLOSE +Route119_WeatherInstitute_2F_EventScript_Grunt2:: @ 826FF7F + trainerbattle_single TRAINER_GRUNT_WEATHER_INST_2, Route119_WeatherInstitute_2F_Text_Grunt2Intro, Route119_WeatherInstitute_2F_Text_Grunt2Defeat + msgbox Route119_WeatherInstitute_2F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end -Route119_WeatherInstitute_2F_EventScript_26FF96:: @ 826FF96 - trainerbattle_single TRAINER_GRUNT_13, Route119_WeatherInstitute_2F_Text_270292, Route119_WeatherInstitute_2F_Text_2702CE - msgbox Route119_WeatherInstitute_2F_Text_2702DA, MSGBOX_AUTOCLOSE +Route119_WeatherInstitute_2F_EventScript_Grunt3:: @ 826FF96 + trainerbattle_single TRAINER_GRUNT_WEATHER_INST_3, Route119_WeatherInstitute_2F_Text_Grunt3Intro, Route119_WeatherInstitute_2F_Text_Grunt3Defeat + msgbox Route119_WeatherInstitute_2F_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE end -Route119_WeatherInstitute_2F_EventScript_26FFAD:: @ 826FFAD - trainerbattle_single TRAINER_SHELLY_1, Route119_WeatherInstitute_2F_Text_270409, Route119_WeatherInstitute_2F_Text_2704BD, Route119_WeatherInstitute_2F_EventScript_26FFC8 - msgbox Route119_WeatherInstitute_2F_Text_2704E4, MSGBOX_AUTOCLOSE +Route119_WeatherInstitute_2F_EventScript_Shelly:: @ 826FFAD + trainerbattle_single TRAINER_SHELLY_WEATHER_INSTITUTE, Route119_WeatherInstitute_2F_Text_ShellyIntro, Route119_WeatherInstitute_2F_Text_ShellyDefeat, Route119_WeatherInstitute_2F_EventScript_ShellyDefeated + msgbox Route119_WeatherInstitute_2F_Text_ShellyPostBattle, MSGBOX_AUTOCLOSE end -Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8 - msgbox Route119_WeatherInstitute_2F_Text_2704E4, MSGBOX_DEFAULT +Route119_WeatherInstitute_2F_EventScript_ShellyDefeated:: @ 826FFC8 + msgbox Route119_WeatherInstitute_2F_Text_ShellyPostBattle, MSGBOX_DEFAULT closemessage - addobject 7 - applymovement 7, Route119_WeatherInstitute_2F_Movement_270170 - applymovement EVENT_OBJ_ID_PLAYER, Route119_WeatherInstitute_2F_Movement_27017C + addobject 7 @ Aqua grunt + applymovement 7, Route119_WeatherInstitute_2F_Movement_GruntApproachShelly + applymovement EVENT_OBJ_ID_PLAYER, Route119_WeatherInstitute_2F_Movement_ShovePlayerOutOfWay waitmovement 0 - msgbox Route119_WeatherInstitute_2F_Text_270568, MSGBOX_DEFAULT + msgbox Route119_WeatherInstitute_2F_Text_TeamMagmaJustPassedBy, MSGBOX_DEFAULT closemessage playse SE_PIN applymovement 3, Common_Movement_ExclamationMark waitmovement 0 applymovement 3, Common_Movement_Delay48 waitmovement 0 - msgbox Route119_WeatherInstitute_2F_Text_2705DD, MSGBOX_DEFAULT + msgbox Route119_WeatherInstitute_2F_Text_WeHaveToHurryToMtPyre, MSGBOX_DEFAULT closemessage setvar VAR_WEATHER_INSTITUTE_STATE, 1 clearflag FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS fadedefaultbgm - fadescreen 1 + fadescreen FADE_TO_BLACK setflag FLAG_HIDE_ROUTE_119_TEAM_AQUA setflag FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M removeobject 1 @@ -72,106 +72,104 @@ Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8 removeobject 3 removeobject 8 removeobject 7 - applymovement EVENT_OBJ_ID_PLAYER, Route119_WeatherInstitute_2F_Movement_270184 + applymovement EVENT_OBJ_ID_PLAYER, Route119_WeatherInstitute_2F_Movement_PlayerReturnToPosition waitmovement 0 - fadescreen 0 - applymovement 5, Route119_WeatherInstitute_2F_Movement_270187 + fadescreen FADE_FROM_BLACK + applymovement 5, Route119_WeatherInstitute_2F_Movement_ScientistApproachPlayer waitmovement 0 copyobjectxytoperm 5 - goto Route119_WeatherInstitute_2F_EventScript_27004D + goto Route119_WeatherInstitute_2F_EventScript_ReceiveCastform end -Route119_WeatherInstitute_2F_EventScript_27004D:: @ 827004D - msgbox Route119_WeatherInstitute_2F_Text_270650, MSGBOX_DEFAULT +Route119_WeatherInstitute_2F_EventScript_ReceiveCastform:: @ 827004D + msgbox Route119_WeatherInstitute_2F_Text_ThanksPleaseTakePokemon, 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 + goto_if_eq Route119_WeatherInstitute_2F_EventScript_ReceiveCastformParty compare VAR_RESULT, 1 - goto_if_eq Route119_WeatherInstitute_2F_EventScript_2700AD - goto Route119_WeatherInstitute_2F_EventScript_273811 + goto_if_eq Route119_WeatherInstitute_2F_EventScript_ReceiveCastformPC + goto Common_EventScript_NoMoreRoomForPokemon end -Route119_WeatherInstitute_2F_EventScript_270085:: @ 8270085 - call Route119_WeatherInstitute_2F_EventScript_2700DB +Route119_WeatherInstitute_2F_EventScript_ReceiveCastformParty:: @ 8270085 + call Route119_WeatherInstitute_2F_EventScript_ReceivedCastformFanfare msgbox gText_NicknameThisPokemon, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route119_WeatherInstitute_2F_EventScript_2700EA - call Route119_WeatherInstitute_2F_EventScript_27378B - call Common_EventScript_NameReceivedPokemon - goto Route119_WeatherInstitute_2F_EventScript_2700EA + compare VAR_RESULT, NO + goto_if_eq Route119_WeatherInstitute_2F_EventScript_ExplainCastform + call Common_EventScript_GetGiftMonPartySlot + call Common_EventScript_NameReceivedPartyMon + goto Route119_WeatherInstitute_2F_EventScript_ExplainCastform end -Route119_WeatherInstitute_2F_EventScript_2700AD:: @ 82700AD - call Route119_WeatherInstitute_2F_EventScript_2700DB +Route119_WeatherInstitute_2F_EventScript_ReceiveCastformPC:: @ 82700AD + call Route119_WeatherInstitute_2F_EventScript_ReceivedCastformFanfare msgbox gText_NicknameThisPokemon, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route119_WeatherInstitute_2F_EventScript_2700D0 - call Route119_WeatherInstitute_2F_EventScript_273797 - goto Route119_WeatherInstitute_2F_EventScript_2700D0 + compare VAR_RESULT, NO + goto_if_eq Route119_WeatherInstitute_2F_EventScript_SendCastformToPC + call Common_EventScript_NameReceivedBoxMon + goto Route119_WeatherInstitute_2F_EventScript_SendCastformToPC end -Route119_WeatherInstitute_2F_EventScript_2700D0:: @ 82700D0 - call Route119_WeatherInstitute_2F_EventScript_2737A0 - goto Route119_WeatherInstitute_2F_EventScript_2700EA +Route119_WeatherInstitute_2F_EventScript_SendCastformToPC:: @ 82700D0 + call Common_EventScript_TransferredToPC + goto Route119_WeatherInstitute_2F_EventScript_ExplainCastform end -Route119_WeatherInstitute_2F_EventScript_2700DB:: @ 82700DB +Route119_WeatherInstitute_2F_EventScript_ReceivedCastformFanfare:: @ 82700DB playfanfare MUS_FANFA4 - message Route119_WeatherInstitute_2F_Text_2706E8 + message Route119_WeatherInstitute_2F_Text_PlayerReceivedCastform waitmessage waitfanfare bufferspeciesname 0, SPECIES_CASTFORM return -Route119_WeatherInstitute_2F_EventScript_2700EA:: @ 82700EA - msgbox Route119_WeatherInstitute_2F_Text_2706FE, MSGBOX_DEFAULT +Route119_WeatherInstitute_2F_EventScript_ExplainCastform:: @ 82700EA + msgbox Route119_WeatherInstitute_2F_Text_PokemonChangesWithWeather, MSGBOX_DEFAULT setflag FLAG_RECEIVED_CASTFORM release end -Route119_WeatherInstitute_2F_EventScript_2700F7:: @ 82700F7 - goto_if_set FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_2F_EventScript_TryStartUnusualWeather - msgbox Route119_WeatherInstitute_2F_Text_27077E, MSGBOX_DEFAULT +Route119_WeatherInstitute_2F_EventScript_ScientistMentionWeather:: @ 82700F7 + goto_if_set FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_2F_EventScript_TryStartAbnormalWeather + msgbox Route119_WeatherInstitute_2F_Text_ChangingWeatherRidiculous, MSGBOX_DEFAULT release end -Route119_WeatherInstitute_2F_EventScript_TryStartUnusualWeather:: @ 827010A - @ This code uses VAR_0x8004 to count the number of legendaries the player has defeated - @ already. +Route119_WeatherInstitute_2F_EventScript_TryStartAbnormalWeather:: @ 827010A setvar VAR_0x8004, 0 - call_if_set FLAG_DEFEATED_KYOGRE, WeatherInstitute_UnusualWeather_EventScript_IncrementLegendCount - call_if_set FLAG_DEFEATED_GROUDON, WeatherInstitute_UnusualWeather_EventScript_IncrementLegendCount - compare VAR_0x8004, 2 - goto_if_eq WeatherInstitute_UnusualWeather_EventScript_ShowLegendariesAlreadyDefeated - call_if_unset FLAG_TEMP_2, WeatherInstitute_UnusualWeather_EventScript_DoCreateUnusualWeather - specialvar VAR_RESULT, GetUnusualWeatherMapNameAndType + call_if_set FLAG_DEFEATED_KYOGRE, Route119_WeatherInstitute_2F_EventScript_LegendaryDefeated + call_if_set FLAG_DEFEATED_GROUDON, Route119_WeatherInstitute_2F_EventScript_LegendaryDefeated + compare VAR_0x8004, 2 @ Both defeated + goto_if_eq Route119_WeatherInstitute_2F_EventScript_NoAbnormalWeather + call_if_unset FLAG_TEMP_2, Route119_WeatherInstitute_2F_EventScript_CreateAbnormalWeather + specialvar VAR_RESULT, GetAbnormalWeatherMapNameAndType compare VAR_RESULT, 1 - goto_if_eq WeatherInstitute_UnusualWeather_EventScript_ShowKyogreWeatherMessage - msgbox WeatherInstitute_UnusualWeather_GroudonWeatherText, MSGBOX_DEFAULT + goto_if_eq Route119_WeatherInstitute_2F_EventScript_KyogreWeather + msgbox Route119_WeatherInstitute_2F_Text_GroudonWeather, MSGBOX_DEFAULT release end -WeatherInstitute_UnusualWeather_EventScript_ShowKyogreWeatherMessage:: @ 827014F - msgbox WeatherInstitute_UnusualWeather_KyogreWeatherText, MSGBOX_DEFAULT +Route119_WeatherInstitute_2F_EventScript_KyogreWeather:: @ 827014F + msgbox Route119_WeatherInstitute_2F_Text_KyogreWeather, MSGBOX_DEFAULT release end -WeatherInstitute_UnusualWeather_EventScript_DoCreateUnusualWeather:: @ 8270159 - special CreateUnusualWeatherEvent +Route119_WeatherInstitute_2F_EventScript_CreateAbnormalWeather:: @ 8270159 + special CreateAbnormalWeatherEvent setflag FLAG_TEMP_2 return -WeatherInstitute_UnusualWeather_EventScript_IncrementLegendCount:: @ 8270160 +Route119_WeatherInstitute_2F_EventScript_LegendaryDefeated:: @ 8270160 addvar VAR_0x8004, 1 return -WeatherInstitute_UnusualWeather_EventScript_ShowLegendariesAlreadyDefeated:: @ 8270166 - msgbox WeatherInstitute_UnusualWeather_EventScript_ShowLegendariesAlreadyDefeatedText, MSGBOX_DEFAULT +Route119_WeatherInstitute_2F_EventScript_NoAbnormalWeather:: @ 8270166 + msgbox Route119_WeatherInstitute_2F_Text_NoAbnormalWeather, MSGBOX_DEFAULT release end -Route119_WeatherInstitute_2F_Movement_270170: @ 8270170 +Route119_WeatherInstitute_2F_Movement_GruntApproachShelly: @ 8270170 walk_fast_left walk_fast_left walk_fast_left @@ -185,7 +183,7 @@ Route119_WeatherInstitute_2F_Movement_270170: @ 8270170 walk_fast_left step_end -Route119_WeatherInstitute_2F_Movement_27017C: @ 827017C +Route119_WeatherInstitute_2F_Movement_ShovePlayerOutOfWay: @ 827017C delay_16 delay_16 delay_16 @@ -195,66 +193,66 @@ Route119_WeatherInstitute_2F_Movement_27017C: @ 827017C walk_in_place_fastest_down step_end -Route119_WeatherInstitute_2F_Movement_270184: @ 8270184 +Route119_WeatherInstitute_2F_Movement_PlayerReturnToPosition: @ 8270184 slide_down walk_in_place_fastest_left step_end -Route119_WeatherInstitute_2F_Movement_270187: @ 8270187 +Route119_WeatherInstitute_2F_Movement_ScientistApproachPlayer: @ 8270187 walk_right walk_right walk_right step_end -Route119_WeatherInstitute_2F_EventScript_27018B:: @ 827018B +Route119_WeatherInstitute_2F_EventScript_WeatherScientist:: @ 827018B lock faceplayer - goto_if_set FLAG_RECEIVED_CASTFORM, Route119_WeatherInstitute_2F_EventScript_2700F7 - goto Route119_WeatherInstitute_2F_EventScript_27004D + goto_if_set FLAG_RECEIVED_CASTFORM, Route119_WeatherInstitute_2F_EventScript_ScientistMentionWeather + goto Route119_WeatherInstitute_2F_EventScript_ReceiveCastform end -Route119_WeatherInstitute_2F_Text_27019C: @ 827019C +Route119_WeatherInstitute_2F_Text_Grunt2Intro: @ 827019C .string "The INSTITUTE created a type of\n" .string "POKéMON that has something to do with\l" .string "the weather. We're here to take them!$" -Route119_WeatherInstitute_2F_Text_270208: @ 8270208 +Route119_WeatherInstitute_2F_Text_Grunt2Defeat: @ 8270208 .string "Our plan's being spoiled by a kid?$" -Route119_WeatherInstitute_2F_Text_27022B: @ 827022B +Route119_WeatherInstitute_2F_Text_Grunt2PostBattle: @ 827022B .string "If the POKéMON they made here can\n" .string "control the weather freely, then we of\l" .string "TEAM AQUA definitely need it!$" -Route119_WeatherInstitute_2F_Text_270292: @ 8270292 +Route119_WeatherInstitute_2F_Text_Grunt3Intro: @ 8270292 .string "We're TEAM AQUA!\n" .string "We appear wherever anything rare is\l" .string "found!$" -Route119_WeatherInstitute_2F_Text_2702CE: @ 82702CE +Route119_WeatherInstitute_2F_Text_Grunt3Defeat: @ 82702CE .string "You got me!$" -Route119_WeatherInstitute_2F_Text_2702DA: @ 82702DA +Route119_WeatherInstitute_2F_Text_Grunt3PostBattle: @ 82702DA .string "You don't have any idea what we of\n" .string "TEAM AQUA are working towards!\l" .string "You stay out of our way!$" -Route119_WeatherInstitute_2F_Text_270335: @ 8270335 +Route119_WeatherInstitute_2F_Text_Grunt5Intro: @ 8270335 .string "Don't tell me you're looking for that\n" .string "weather POKéMON, too?\p" .string "That's a no-no!\n" .string "We were here to get it first!$" -Route119_WeatherInstitute_2F_Text_27039F: @ 827039F +Route119_WeatherInstitute_2F_Text_Grunt5Defeat: @ 827039F .string "Oh, will you look at my POKéMON?$" -Route119_WeatherInstitute_2F_Text_2703C0: @ 82703C0 +Route119_WeatherInstitute_2F_Text_Grunt5PostBattle: @ 82703C0 .string "Humph, so what?\n" .string "What we want…\p" .string "What we really want isn't here…\n" .string "Ihihihihi…$" -Route119_WeatherInstitute_2F_Text_270409: @ 8270409 +Route119_WeatherInstitute_2F_Text_ShellyIntro: @ 8270409 .string "Ahahahaha!\p" .string "You're going to meddle in TEAM AQUA's\n" .string "affairs?\p" @@ -263,55 +261,56 @@ Route119_WeatherInstitute_2F_Text_270409: @ 8270409 .string "You're so cute, you're disgusting!\n" .string "I'll put you down, kiddy!$" -Route119_WeatherInstitute_2F_Text_2704BD: @ 82704BD +Route119_WeatherInstitute_2F_Text_ShellyDefeat: @ 82704BD .string "Ahahahaha!\n" .string "You're disgustingly strong!$" -Route119_WeatherInstitute_2F_Text_2704E4: @ 82704E4 +Route119_WeatherInstitute_2F_Text_ShellyPostBattle: @ 82704E4 .string "It's bad enough to have TEAM MAGMA\n" .string "blunder about, but now there's you!\p" .string "What makes you want to sniff around\n" .string "in our business, anyway?$" -Route119_WeatherInstitute_2F_Text_270568: @ 8270568 +Route119_WeatherInstitute_2F_Text_TeamMagmaJustPassedBy: @ 8270568 .string "We have a situation here!\p" .string "A TEAM MAGMA mob just passed\n" .string "the WEATHER INSTITUTE.\p" .string "They appear to be headed for\n" .string "MT. PYRE!$" -Route119_WeatherInstitute_2F_Text_2705DD: @ 82705DD +Route119_WeatherInstitute_2F_Text_WeHaveToHurryToMtPyre: @ 82705DD .string "What?!\p" .string "We can't waste any more time here!\n" .string "We have to hurry to MT. PYRE, too!\p" .string "Ahahahaha!\n" .string "TEAM MAGMA, just you wait!$" -Route119_WeatherInstitute_2F_Text_270650: @ 8270650 +Route119_WeatherInstitute_2F_Text_ThanksPleaseTakePokemon: @ 8270650 .string "Thanks!\n" .string "Thanks to you, we're safe!\p" .string "It might be an odd way of thanking you,\n" .string "but take this POKéMON.$" -Route119_WeatherInstitute_2F_Text_2706B2: @ 82706B2 +@ Unused +Route119_WeatherInstitute_2F_Text_NoRoomForPokemon: @ 82706B2 .string "Hm? You don't seem to have any room\n" .string "for this POKéMON.$" -Route119_WeatherInstitute_2F_Text_2706E8: @ 82706E8 +Route119_WeatherInstitute_2F_Text_PlayerReceivedCastform: @ 82706E8 .string "{PLAYER} received CASTFORM!$" -Route119_WeatherInstitute_2F_Text_2706FE: @ 82706FE +Route119_WeatherInstitute_2F_Text_PokemonChangesWithWeather: @ 82706FE .string "That POKéMON changes shape according\n" .string "to the weather conditions.\p" .string "There're plenty of them in the\n" .string "INSTITUTE--go ahead and take it.$" -Route119_WeatherInstitute_2F_Text_27077E: @ 827077E +Route119_WeatherInstitute_2F_Text_ChangingWeatherRidiculous: @ 827077E .string "I've been researching rain for many\n" .string "years, but it's ridiculous to think that\l" .string "humans can freely change the weather.$" -WeatherInstitute_UnusualWeather_GroudonWeatherText: @ 82707F1 +Route119_WeatherInstitute_2F_Text_GroudonWeather: @ 82707F1 .string "I track weather patterns over\n" .string "the HOENN region.\p" .string "Presently, a drought has been recorded\n" @@ -319,7 +318,7 @@ WeatherInstitute_UnusualWeather_GroudonWeatherText: @ 82707F1 .string "Could that mean, somewhere near\n" .string "{STR_VAR_1}…$" -WeatherInstitute_UnusualWeather_KyogreWeatherText: @ 8270873 +Route119_WeatherInstitute_2F_Text_KyogreWeather: @ 8270873 .string "I track weather patterns over\n" .string "the HOENN region.\p" .string "Presently, heavy rainfall has been\n" @@ -327,7 +326,7 @@ WeatherInstitute_UnusualWeather_KyogreWeatherText: @ 8270873 .string "Could that mean, somewhere near\n" .string "{STR_VAR_1}…$" -WeatherInstitute_UnusualWeather_EventScript_ShowLegendariesAlreadyDefeatedText: @ 82708FC +Route119_WeatherInstitute_2F_Text_NoAbnormalWeather: @ 82708FC .string "Abnormal weather conditions are\n" .string "no longer being reported.\p" .string "The occasional rainfall is a blessing,\n" diff --git a/data/maps/Route120/map.json b/data/maps/Route120/map.json index fccf5c88ed..01c267a946 100644 --- a/data/maps/Route120/map.json +++ b/data/maps/Route120/map.json @@ -165,7 +165,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route120_EventScript_1F57D7", + "script": "Route120_EventScript_Colin", "flag": "0" }, { @@ -178,7 +178,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route120_EventScript_1F57EE", + "script": "Route120_EventScript_Robert", "flag": "0" }, { @@ -191,7 +191,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "7", - "script": "Route120_EventScript_1F5850", + "script": "Route120_EventScript_Lorenzo", "flag": "0" }, { @@ -204,7 +204,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route120_EventScript_1F5867", + "script": "Route120_EventScript_Jenna", "flag": "0" }, { @@ -217,7 +217,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route120_EventScript_1F587E", + "script": "Route120_EventScript_Jeffrey", "flag": "0" }, { @@ -243,7 +243,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_28CE76", + "script": "GabbyAndTy_EventScript_TyBattle3", "flag": "FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1" }, { @@ -256,7 +256,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_28CE56", + "script": "GabbyAndTy_EventScript_GabbyBattle3", "flag": "FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1" }, { @@ -269,7 +269,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_28CF16", + "script": "GabbyAndTy_EventScript_GabbyBattle6", "flag": "FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2" }, { @@ -282,7 +282,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_28CF36", + "script": "GabbyAndTy_EventScript_TyBattle6", "flag": "FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2" }, { @@ -321,7 +321,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_1F5527", + "script": "Route120_EventScript_BerryBeauty", "flag": "0" }, { @@ -334,7 +334,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route120_EventScript_1F58E0", + "script": "Route120_EventScript_Jennifer", "flag": "0" }, { @@ -347,7 +347,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route120_EventScript_1F58F7", + "script": "Route120_EventScript_Chip", "flag": "0" }, { @@ -360,7 +360,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route120_EventScript_1F590E", + "script": "Route120_EventScript_Clarissa", "flag": "0" }, { @@ -373,7 +373,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route120_EventScript_1F5925", + "script": "Route120_EventScript_Angelica", "flag": "0" }, { @@ -412,8 +412,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_1F57BC", - "flag": "FLAG_HIDE_ROUTE_120_KECLEON_1" + "script": "Route120_EventScript_InvisibleBridgeKecleon", + "flag": "FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_INVISIBLE" }, { "graphics_id": "EVENT_OBJ_GFX_STEVEN", @@ -425,7 +425,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_1F5641", + "script": "Route120_EventScript_Steven", "flag": "FLAG_HIDE_ROUTE_120_STEVEN" }, { @@ -464,7 +464,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route120_EventScript_1F593C", + "script": "Route120_EventScript_Keigo", "flag": "0" }, { @@ -477,7 +477,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route120_EventScript_1F5953", + "script": "Route120_EventScript_Riley", "flag": "0" }, { @@ -491,7 +491,7 @@ "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", "script": "0x0", - "flag": "FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE" + "flag": "FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_VISIBLE" }, { "graphics_id": "EVENT_OBJ_GFX_KECLEON_1", @@ -503,8 +503,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_2722DB", - "flag": "FLAG_HIDE_ROUTE_120_KECLEON_2" + "script": "Route120_EventScript_Kecleon1", + "flag": "FLAG_HIDE_ROUTE_120_KECLEON_1" }, { "graphics_id": "EVENT_OBJ_GFX_KECLEON_1", @@ -516,8 +516,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_2722E8", - "flag": "FLAG_HIDE_ROUTE_120_KECLEON_3" + "script": "Route120_EventScript_Kecleon2", + "flag": "FLAG_HIDE_ROUTE_120_KECLEON_2" }, { "graphics_id": "EVENT_OBJ_GFX_KECLEON_1", @@ -529,8 +529,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_2722F5", - "flag": "FLAG_HIDE_ROUTE_120_KECLEON_4" + "script": "Route120_EventScript_Kecleon3", + "flag": "FLAG_HIDE_ROUTE_120_KECLEON_3" }, { "graphics_id": "EVENT_OBJ_GFX_KECLEON_1", @@ -542,8 +542,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_27230F", - "flag": "FLAG_HIDE_ROUTE_120_KECLEON_6" + "script": "Route120_EventScript_Kecleon5", + "flag": "FLAG_HIDE_ROUTE_120_KECLEON_5" }, { "graphics_id": "EVENT_OBJ_GFX_KECLEON_1", @@ -555,8 +555,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route120_EventScript_272302", - "flag": "FLAG_HIDE_ROUTE_120_KECLEON_5" + "script": "Route120_EventScript_Kecleon4", + "flag": "FLAG_HIDE_ROUTE_120_KECLEON_4" }, { "graphics_id": "EVENT_OBJ_GFX_GIRL_3", @@ -568,7 +568,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route120_EventScript_1F5981", + "script": "Route120_EventScript_Callie", "flag": "0" }, { @@ -581,7 +581,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route120_EventScript_1F596A", + "script": "Route120_EventScript_Leonel", "flag": "0" }, { @@ -620,63 +620,63 @@ "x": 7, "y": 15, "elevation": 0, - "weather": "COORD_EVENT_WEATHER_RAIN_LIGHT" + "weather": "COORD_EVENT_WEATHER_RAIN" }, { "type": "weather", "x": 7, "y": 16, "elevation": 0, - "weather": "COORD_EVENT_WEATHER_RAIN_LIGHT" + "weather": "COORD_EVENT_WEATHER_RAIN" }, { "type": "weather", "x": 22, "y": 61, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_RAIN_LIGHT" + "weather": "COORD_EVENT_WEATHER_RAIN" }, { "type": "weather", "x": 12, "y": 64, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_RAIN_LIGHT" + "weather": "COORD_EVENT_WEATHER_RAIN" }, { "type": "weather", "x": 35, "y": 63, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_CLOUDS" + "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS" }, { "type": "weather", "x": 36, "y": 63, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_CLOUDS" + "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS" }, { "type": "weather", "x": 37, "y": 63, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_CLOUDS" + "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS" }, { "type": "weather", "x": 38, "y": 63, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_CLOUDS" + "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS" }, { "type": "weather", "x": 32, "y": 88, "elevation": 5, - "weather": "COORD_EVENT_WEATHER_CLOUDS" + "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS" }, { "type": "weather", @@ -704,49 +704,49 @@ "x": 32, "y": 89, "elevation": 5, - "weather": "COORD_EVENT_WEATHER_CLOUDS" + "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS" }, { "type": "weather", "x": 32, "y": 90, "elevation": 5, - "weather": "COORD_EVENT_WEATHER_CLOUDS" + "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS" }, { "type": "weather", "x": 32, "y": 91, "elevation": 5, - "weather": "COORD_EVENT_WEATHER_CLOUDS" + "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS" }, { "type": "weather", "x": 10, "y": 75, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_CLOUDS" + "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS" }, { "type": "weather", "x": 11, "y": 75, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_CLOUDS" + "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS" }, { "type": "weather", "x": 12, "y": 75, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_CLOUDS" + "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS" }, { "type": "weather", "x": 13, "y": 75, "elevation": 3, - "weather": "COORD_EVENT_WEATHER_CLOUDS" + "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS" } ], "bg_events": [ @@ -756,7 +756,7 @@ "y": 3, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route120_EventScript_1F57C5" + "script": "Route120_EventScript_RouteSignFortree" }, { "type": "sign", @@ -764,7 +764,7 @@ "y": 88, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route120_EventScript_1F57CE" + "script": "Route120_EventScript_RouteSign121" }, { "type": "secret_base", diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc index fdd302fdb7..2c97da9e11 100644 --- a/data/maps/Route120/scripts.inc +++ b/data/maps/Route120/scripts.inc @@ -1,209 +1,209 @@ Route120_MapScripts:: @ 81F53EC - map_script MAP_SCRIPT_ON_RESUME, Route120_MapScript1_1F53FC + map_script MAP_SCRIPT_ON_RESUME, Route120_OnResume map_script MAP_SCRIPT_ON_TRANSITION, Route120_OnTransition - map_script MAP_SCRIPT_ON_LOAD, Route120_MapScript1_1F5474 + map_script MAP_SCRIPT_ON_LOAD, Route120_OnLoad .byte 0 -Route120_MapScript1_1F53FC: @ 81F53FC - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route120_EventScript_1F5406 +Route120_OnResume: @ 81F53FC + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route120_EventScript_RemoveKecleonObject end -Route120_EventScript_1F5406:: @ 81F5406 +Route120_EventScript_RemoveKecleonObject:: @ 81F5406 compare VAR_0x8009, 0 - call_if_eq Route120_EventScript_1F5449 + call_if_eq Route120_EventScript_RemoveBridgeKecleon compare VAR_0x8009, 1 - call_if_eq Route120_EventScript_1F5460 + call_if_eq Route120_EventScript_RemoveKecleon compare VAR_0x8009, 2 - call_if_eq Route120_EventScript_1F5460 + call_if_eq Route120_EventScript_RemoveKecleon compare VAR_0x8009, 3 - call_if_eq Route120_EventScript_1F5460 + call_if_eq Route120_EventScript_RemoveKecleon compare VAR_0x8009, 4 - call_if_eq Route120_EventScript_1F5460 + call_if_eq Route120_EventScript_RemoveKecleon compare VAR_0x8009, 5 - call_if_eq Route120_EventScript_1F5460 + call_if_eq Route120_EventScript_RemoveKecleon return -Route120_EventScript_1F5449:: @ 81F5449 +Route120_EventScript_RemoveBridgeKecleon:: @ 81F5449 specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn - removeobject 30 - removeobject 36 + removeobject 30 @ Invisible Bridge Kecleon + removeobject 36 @ Visible Bridge Kecleon return -Route120_EventScript_1F5460:: @ 81F5460 +Route120_EventScript_RemoveKecleon:: @ 81F5460 specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject VAR_LAST_TALKED return -Route120_MapScript1_1F5474: @ 81F5474 - call_if_unset FLAG_REGI_DOORS_OPENED, Route120_EventScript_1F5490 - call_if_set FLAG_RECEIVED_DEVON_SCOPE, Route120_EventScript_1F54A3 - call_if_unset FLAG_RECEIVED_DEVON_SCOPE, Route120_EventScript_1F54C8 +Route120_OnLoad: @ 81F5474 + call_if_unset FLAG_REGI_DOORS_OPENED, Route120_EventScript_CloseAncientTomb + call_if_set FLAG_RECEIVED_DEVON_SCOPE, Route120_EventScript_SetBridgeClearMetatiles + call_if_unset FLAG_RECEIVED_DEVON_SCOPE, Route120_EventScript_SetBridgeKecleonMovement end -Route120_EventScript_1F5490:: @ 81F5490 +Route120_EventScript_CloseAncientTomb:: @ 81F5490 setmetatile 7, 54, METATILE_General_RockWall_RockBase, 1 setmetatile 7, 55, METATILE_General_RockWall_SandBase, 1 return -Route120_EventScript_1F54A3:: @ 81F54A3 - setmetatile 13, 15, METATILE_Fortree_WoodBridge_Kecleon0, 0 - setmetatile 12, 16, METATILE_Fortree_WoodBridge_Kecleon1, 0 +Route120_EventScript_SetBridgeClearMetatiles:: @ 81F54A3 + setmetatile 13, 15, METATILE_Fortree_WoodBridge1_Top, 0 + setmetatile 12, 16, METATILE_Fortree_WoodBridge1_Bottom, 0 setmetatile 12, 17, METATILE_General_ReflectiveWater, 0 setmetatile 13, 17, METATILE_General_ReflectiveWater, 0 return -Route120_EventScript_1F54C8:: @ 81F54C8 +Route120_EventScript_SetBridgeKecleonMovement:: @ 81F54C8 setobjectmovementtype 36, MOVEMENT_TYPE_FACE_RIGHT return Route120_OnTransition: @ 81F54CD - call Route120_EventScript_28CCC7 - call Route120_EventScript_1F54D8 + call GabbyAndTy_EventScript_UpdateLocation + call Route120_EventScript_SetWeather end -Route120_EventScript_1F54D8:: @ 81F54D8 +Route120_EventScript_SetWeather:: @ 81F54D8 getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_TEMP_1, 14 - goto_if_le Route120_EventScript_1F5503 + goto_if_le Route120_EventScript_SetSunnyWeather compare VAR_TEMP_1, 60 - goto_if_le Route120_EventScript_1F5507 + goto_if_le Route120_EventScript_TrySetRainyWeather compare VAR_TEMP_1, 61 - goto_if_ge Route120_EventScript_1F54FF + goto_if_ge Route120_EventScript_SetCloudyWeather return -Route120_EventScript_1F54FF:: @ 81F54FF - setweather WEATHER_CLOUDS +Route120_EventScript_SetCloudyWeather:: @ 81F54FF + setweather WEATHER_SUNNY_CLOUDS return -Route120_EventScript_1F5503:: @ 81F5503 +Route120_EventScript_SetSunnyWeather:: @ 81F5503 setweather WEATHER_SUNNY return -Route120_EventScript_1F5507:: @ 81F5507 +Route120_EventScript_TrySetRainyWeather:: @ 81F5507 compare VAR_TEMP_0, 7 - goto_if_le Route120_EventScript_1F5523 + goto_if_le Route120_EventScript_SetRainyWeather compare VAR_TEMP_0, 19 - goto_if_le Route120_EventScript_1F5503 - goto Route120_EventScript_1F5523 + goto_if_le Route120_EventScript_SetSunnyWeather + goto Route120_EventScript_SetRainyWeather end -Route120_EventScript_1F5523:: @ 81F5523 - setweather WEATHER_RAIN_LIGHT +Route120_EventScript_SetRainyWeather:: @ 81F5523 + setweather WEATHER_RAIN return -Route120_EventScript_1F5527:: @ 81F5527 +Route120_EventScript_BerryBeauty:: @ 81F5527 lock faceplayer dotimebasedevents - goto_if_set FLAG_DAILY_ROUTE_120_RECEIVED_BERRY, Route120_EventScript_1F5625 - msgbox Route120_Text_2A70C7, MSGBOX_YESNO - compare VAR_RESULT, 1 - call_if_eq Route120_EventScript_1F562F - compare VAR_RESULT, 0 - call_if_eq Route120_EventScript_1F5638 + goto_if_set FLAG_DAILY_ROUTE_120_RECEIVED_BERRY, Route120_EventScript_ReceivedBerry + msgbox Route120_Text_BerriesExpressionOfLoveIsntIt, MSGBOX_YESNO + compare VAR_RESULT, YES + call_if_eq Route120_EventScript_BerryLove + compare VAR_RESULT, NO + call_if_eq Route120_EventScript_BerryNotLove specialvar VAR_RESULT, GetPlayerTrainerIdOnesDigit switch VAR_RESULT - case 0, Route120_EventScript_1F55CA - case 5, Route120_EventScript_1F55CA - case 1, Route120_EventScript_1F55D5 - case 6, Route120_EventScript_1F55D5 - case 2, Route120_EventScript_1F55E0 - case 7, Route120_EventScript_1F55E0 - case 3, Route120_EventScript_1F55EB - case 8, Route120_EventScript_1F55EB - case 4, Route120_EventScript_1F55F6 - case 9, Route120_EventScript_1F55F6 + case 0, Route120_EventScript_GiveFigyBerry + case 5, Route120_EventScript_GiveFigyBerry + case 1, Route120_EventScript_GiveWikiBerry + case 6, Route120_EventScript_GiveWikiBerry + case 2, Route120_EventScript_GiveMagoBerry + case 7, Route120_EventScript_GiveMagoBerry + case 3, Route120_EventScript_GiveAguavBerry + case 8, Route120_EventScript_GiveAguavBerry + case 4, Route120_EventScript_GiveIapapaBerry + case 9, Route120_EventScript_GiveIapapaBerry end -Route120_EventScript_1F55CA:: @ 81F55CA - setvar VAR_0x8004, 143 - goto Route120_EventScript_1F5601 +Route120_EventScript_GiveFigyBerry:: @ 81F55CA + setvar VAR_0x8004, ITEM_FIGY_BERRY + goto Route120_EventScript_GiveBerry end -Route120_EventScript_1F55D5:: @ 81F55D5 - setvar VAR_0x8004, 144 - goto Route120_EventScript_1F5601 +Route120_EventScript_GiveWikiBerry:: @ 81F55D5 + setvar VAR_0x8004, ITEM_WIKI_BERRY + goto Route120_EventScript_GiveBerry end -Route120_EventScript_1F55E0:: @ 81F55E0 - setvar VAR_0x8004, 145 - goto Route120_EventScript_1F5601 +Route120_EventScript_GiveMagoBerry:: @ 81F55E0 + setvar VAR_0x8004, ITEM_MAGO_BERRY + goto Route120_EventScript_GiveBerry end -Route120_EventScript_1F55EB:: @ 81F55EB - setvar VAR_0x8004, 146 - goto Route120_EventScript_1F5601 +Route120_EventScript_GiveAguavBerry:: @ 81F55EB + setvar VAR_0x8004, ITEM_AGUAV_BERRY + goto Route120_EventScript_GiveBerry end -Route120_EventScript_1F55F6:: @ 81F55F6 - setvar VAR_0x8004, 147 - goto Route120_EventScript_1F5601 +Route120_EventScript_GiveIapapaBerry:: @ 81F55F6 + setvar VAR_0x8004, ITEM_IAPAPA_BERRY + goto Route120_EventScript_GiveBerry end -Route120_EventScript_1F5601:: @ 81F5601 - giveitem_std VAR_0x8004 +Route120_EventScript_GiveBerry:: @ 81F5601 + giveitem VAR_0x8004 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_DAILY_ROUTE_120_RECEIVED_BERRY - msgbox Route120_Text_2A71D5, MSGBOX_DEFAULT + msgbox Route120_Text_BerryIsRareRaiseItWithCare, MSGBOX_DEFAULT release end -Route120_EventScript_1F5625:: @ 81F5625 - msgbox Route120_Text_2A7217, MSGBOX_DEFAULT +Route120_EventScript_ReceivedBerry:: @ 81F5625 + msgbox Route120_Text_IllGetMoreBerriesFromBerryMaster, MSGBOX_DEFAULT release end -Route120_EventScript_1F562F:: @ 81F562F - msgbox Route120_Text_2A7147, MSGBOX_DEFAULT +Route120_EventScript_BerryLove:: @ 81F562F + msgbox Route120_Text_YesYouUnderstand, MSGBOX_DEFAULT return -Route120_EventScript_1F5638:: @ 81F5638 - msgbox Route120_Text_2A7183, MSGBOX_DEFAULT +Route120_EventScript_BerryNotLove:: @ 81F5638 + msgbox Route120_Text_MakeYourOwnImpressions, MSGBOX_DEFAULT return -Route120_EventScript_1F5641:: @ 81F5641 +Route120_EventScript_Steven:: @ 81F5641 lock faceplayer - goto_if_set FLAG_NOT_READY_FOR_BATTLE_ROUTE_120, Route120_EventScript_1F5672 - msgbox Route120_Text_1F5998, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route120_EventScript_1F5665 - goto Route120_EventScript_1F568B + goto_if_set FLAG_NOT_READY_FOR_BATTLE_ROUTE_120, Route120_EventScript_StevenAskReadyForBattle + msgbox Route120_Text_StevenGreeting, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq Route120_EventScript_StevenNotReady + goto Route120_EventScript_StevenBattleKecleon end -Route120_EventScript_1F5665:: @ 81F5665 - msgbox Route120_Text_1F5AAC, MSGBOX_DEFAULT +Route120_EventScript_StevenNotReady:: @ 81F5665 + msgbox Route120_Text_StevenIllWaitHere, MSGBOX_DEFAULT setflag FLAG_NOT_READY_FOR_BATTLE_ROUTE_120 release end -Route120_EventScript_1F5672:: @ 81F5672 - msgbox Route120_Text_1F5ADE, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route120_EventScript_1F5665 - goto Route120_EventScript_1F568B +Route120_EventScript_StevenAskReadyForBattle:: @ 81F5672 + msgbox Route120_Text_StevenReadyForBattle, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq Route120_EventScript_StevenNotReady + goto Route120_EventScript_StevenBattleKecleon end -Route120_EventScript_1F568B:: @ 81F568B - msgbox Route120_Text_1F5B0F, MSGBOX_DEFAULT +Route120_EventScript_StevenBattleKecleon:: @ 81F568B + msgbox Route120_Text_StevenShowMeYourPower, MSGBOX_DEFAULT closemessage - compare VAR_FACING, 2 - call_if_eq Route120_EventScript_1F57A3 - compare VAR_FACING, 3 - call_if_eq Route120_EventScript_1F57AE - applymovement 31, Common_Movement_WalkInPlaceLeft + compare VAR_FACING, DIR_NORTH + call_if_eq Route120_EventScript_PlayerApproachKecleonNorth + compare VAR_FACING, DIR_WEST + call_if_eq Route120_EventScript_PlayerApproachKecleonWest + applymovement 31, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 delay 20 - msgbox Route120_Text_1F5B43, MSGBOX_DEFAULT + msgbox Route120_Text_StevenUsedDevonScope, MSGBOX_DEFAULT closemessage - applymovement 30, Common_Movement_WalkInPlaceRight + applymovement 30, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - applymovement 30, Route120_Movement_2723C7 + applymovement 30, Movement_KecleonAppears waitmovement 0 waitse playmoncry SPECIES_KECLEON, 2 @@ -215,33 +215,33 @@ Route120_EventScript_1F568B:: @ 81F568B dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq Route120_EventScript_1F571C - compare VAR_RESULT, 4 - goto_if_eq Route120_EventScript_1F571C - compare VAR_RESULT, 5 - goto_if_eq Route120_EventScript_1F571C - goto Route120_EventScript_1F572C + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq Route120_EventScript_RemoveBridgeKecleonPostBattle + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq Route120_EventScript_RemoveBridgeKecleonPostBattle + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq Route120_EventScript_RemoveBridgeKecleonPostBattle + goto Route120_EventScript_StevenGiveDeconScope end -Route120_EventScript_1F571C:: @ 81F571C - fadescreenswapbuffers 1 - removeobject 30 - removeobject 36 - fadescreenswapbuffers 0 - goto Route120_EventScript_1F572C +Route120_EventScript_RemoveBridgeKecleonPostBattle:: @ 81F571C + fadescreenswapbuffers FADE_TO_BLACK + removeobject 30 @ Invisible Bridge Kecleon + removeobject 36 @ Visible Bridge Kecleon + fadescreenswapbuffers FADE_FROM_BLACK + goto Route120_EventScript_StevenGiveDeconScope end -Route120_EventScript_1F572C:: @ 81F572C - applymovement 31, Common_Movement_WalkInPlaceDown - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp +Route120_EventScript_StevenGiveDeconScope:: @ 81F572C + applymovement 31, Common_Movement_WalkInPlaceFastestDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox Route120_Text_1F5BAF, MSGBOX_DEFAULT - giveitem_std ITEM_DEVON_SCOPE + msgbox Route120_Text_StevenGiveDevonScope, MSGBOX_DEFAULT + giveitem ITEM_DEVON_SCOPE setflag FLAG_RECEIVED_DEVON_SCOPE - msgbox Route120_Text_1F5C7B, MSGBOX_DEFAULT + msgbox Route120_Text_StevenGoodbye, MSGBOX_DEFAULT closemessage - applymovement 31, Common_Movement_WalkInPlaceDown + applymovement 31, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 50 setfieldeffectargument 0, 1 @@ -249,141 +249,141 @@ Route120_EventScript_1F572C:: @ 81F572C delay 15 removeobject 31 waitfieldeffect FLDEFF_NPCFLY_OUT - setmetatile 13, 15, METATILE_Fortree_WoodBridge_Kecleon0, 0 - setmetatile 12, 16, METATILE_Fortree_WoodBridge_Kecleon1, 0 + setmetatile 13, 15, METATILE_Fortree_WoodBridge1_Top, 0 + setmetatile 12, 16, METATILE_Fortree_WoodBridge1_Bottom, 0 setmetatile 12, 17, METATILE_General_ReflectiveWater, 0 setmetatile 13, 17, METATILE_General_ReflectiveWater, 0 special DrawWholeMapView release end -Route120_EventScript_1F57A3:: @ 81F57A3 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft +Route120_EventScript_PlayerApproachKecleonNorth:: @ 81F57A3 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -Route120_EventScript_1F57AE:: @ 81F57AE - applymovement EVENT_OBJ_ID_PLAYER, Route120_Movement_1F57B9 +Route120_EventScript_PlayerApproachKecleonWest:: @ 81F57AE + applymovement EVENT_OBJ_ID_PLAYER, Route120_Movement_ApproachKecleonWest waitmovement 0 return -Route120_Movement_1F57B9: @ 81F57B9 +Route120_Movement_ApproachKecleonWest: @ 81F57B9 walk_down walk_left step_end -Route120_EventScript_1F57BC:: @ 81F57BC - msgbox Route120_Text_1F5D00, MSGBOX_NPC +Route120_EventScript_InvisibleBridgeKecleon:: @ 81F57BC + msgbox Kecleon_Text_SomethingUnseeable, MSGBOX_NPC end -Route120_EventScript_1F57C5:: @ 81F57C5 - msgbox Route120_Text_1F5DCB, MSGBOX_SIGN +Route120_EventScript_RouteSignFortree:: @ 81F57C5 + msgbox Route120_Text_RouteSignFortree, MSGBOX_SIGN end -Route120_EventScript_1F57CE:: @ 81F57CE - msgbox Route120_Text_1F5DE4, MSGBOX_SIGN +Route120_EventScript_RouteSign121:: @ 81F57CE + msgbox Route120_Text_RouteSign121, MSGBOX_SIGN end -Route120_EventScript_1F57D7:: @ 81F57D7 - trainerbattle_single TRAINER_COLIN, Route120_Text_29E62D, Route120_Text_29E665 - msgbox Route120_Text_29E67A, MSGBOX_AUTOCLOSE +Route120_EventScript_Colin:: @ 81F57D7 + trainerbattle_single TRAINER_COLIN, Route120_Text_ColinIntro, Route120_Text_ColinDefeat + msgbox Route120_Text_ColinPostBattle, MSGBOX_AUTOCLOSE end -Route120_EventScript_1F57EE:: @ 81F57EE - trainerbattle_single TRAINER_ROBERT_1, Route120_Text_29E6E3, Route120_Text_29E70A, Route120_EventScript_1F581A +Route120_EventScript_Robert:: @ 81F57EE + trainerbattle_single TRAINER_ROBERT_1, Route120_Text_RobertIntro, Route120_Text_RobertDefeat, Route120_EventScript_RegisterRobert specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route120_EventScript_1F5839 - msgbox Route120_Text_29E726, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route120_EventScript_RematchRobert + msgbox Route120_Text_RobertPostBattle, MSGBOX_DEFAULT release end -Route120_EventScript_1F581A:: @ 81F581A - special sub_80B4808 +Route120_EventScript_RegisterRobert:: @ 81F581A + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route120_Text_29E75D, MSGBOX_DEFAULT + msgbox Route120_Text_RobertRegister, MSGBOX_DEFAULT register_matchcall TRAINER_ROBERT_1 release end -Route120_EventScript_1F5839:: @ 81F5839 - trainerbattle_rematch TRAINER_ROBERT_1, Route120_Text_29E7AA, Route120_Text_29E7E1 - msgbox Route120_Text_29E804, MSGBOX_AUTOCLOSE +Route120_EventScript_RematchRobert:: @ 81F5839 + trainerbattle_rematch TRAINER_ROBERT_1, Route120_Text_RobertRematchIntro, Route120_Text_RobertRematchDefeat + msgbox Route120_Text_RobertPostRematch, MSGBOX_AUTOCLOSE end -Route120_EventScript_1F5850:: @ 81F5850 - trainerbattle_single TRAINER_LORENZO, Route120_Text_29E843, Route120_Text_29E884 - msgbox Route120_Text_29E8C5, MSGBOX_AUTOCLOSE +Route120_EventScript_Lorenzo:: @ 81F5850 + trainerbattle_single TRAINER_LORENZO, Route120_Text_LorenzoIntro, Route120_Text_LorenzoDefeat + msgbox Route120_Text_LorenzoPostBattle, MSGBOX_AUTOCLOSE end -Route120_EventScript_1F5867:: @ 81F5867 - trainerbattle_single TRAINER_JENNA, Route120_Text_29E91C, Route120_Text_29E980 - msgbox Route120_Text_29E996, MSGBOX_AUTOCLOSE +Route120_EventScript_Jenna:: @ 81F5867 + trainerbattle_single TRAINER_JENNA, Route120_Text_JennaIntro, Route120_Text_JennaDefeat + msgbox Route120_Text_JennaPostBattle, MSGBOX_AUTOCLOSE end -Route120_EventScript_1F587E:: @ 81F587E - trainerbattle_single TRAINER_JEFFREY_1, Route120_Text_29E9D7, Route120_Text_29E9FF, Route120_EventScript_1F58AA +Route120_EventScript_Jeffrey:: @ 81F587E + trainerbattle_single TRAINER_JEFFREY_1, Route120_Text_JeffreyIntro, Route120_Text_JeffreyDefeat, Route120_EventScript_RegisterJeffrey specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route120_EventScript_1F58C9 - msgbox Route120_Text_29EA08, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route120_EventScript_RematchJeffrey + msgbox Route120_Text_JeffreyPostBattle, MSGBOX_DEFAULT release end -Route120_EventScript_1F58AA:: @ 81F58AA - special sub_80B4808 +Route120_EventScript_RegisterJeffrey:: @ 81F58AA + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route120_Text_29EA31, MSGBOX_DEFAULT + msgbox Route120_Text_JeffreyRegister, MSGBOX_DEFAULT register_matchcall TRAINER_JEFFREY_1 release end -Route120_EventScript_1F58C9:: @ 81F58C9 - trainerbattle_rematch TRAINER_JEFFREY_1, Route120_Text_29EA61, Route120_Text_29EA8F - msgbox Route120_Text_29EAA9, MSGBOX_AUTOCLOSE +Route120_EventScript_RematchJeffrey:: @ 81F58C9 + trainerbattle_rematch TRAINER_JEFFREY_1, Route120_Text_JeffreyRematchIntro, Route120_Text_JeffreyRematchDefeat + msgbox Route120_Text_JeffreyPostRematch, MSGBOX_AUTOCLOSE end -Route120_EventScript_1F58E0:: @ 81F58E0 - trainerbattle_single TRAINER_JENNIFER, Route120_Text_29EAEF, Route120_Text_29EB53 - msgbox Route120_Text_29EB6E, MSGBOX_AUTOCLOSE +Route120_EventScript_Jennifer:: @ 81F58E0 + trainerbattle_single TRAINER_JENNIFER, Route120_Text_JenniferIntro, Route120_Text_JenniferDefeat + msgbox Route120_Text_JenniferPostBattle, MSGBOX_AUTOCLOSE end -Route120_EventScript_1F58F7:: @ 81F58F7 - trainerbattle_single TRAINER_CHIP, Route120_Text_29EBAF, Route120_Text_29EC25 - msgbox Route120_Text_29EC41, MSGBOX_AUTOCLOSE +Route120_EventScript_Chip:: @ 81F58F7 + trainerbattle_single TRAINER_CHIP, Route120_Text_ChipIntro, Route120_Text_ChipDefeat + msgbox Route120_Text_ChipPostBattle, MSGBOX_AUTOCLOSE end -Route120_EventScript_1F590E:: @ 81F590E - trainerbattle_single TRAINER_CLARISSA, Route120_Text_29ECA6, Route120_Text_29ECEF - msgbox Route120_Text_29ED19, MSGBOX_AUTOCLOSE +Route120_EventScript_Clarissa:: @ 81F590E + trainerbattle_single TRAINER_CLARISSA, Route120_Text_ClarissaIntro, Route120_Text_ClarissaDefeat + msgbox Route120_Text_ClarissaPostBattle, MSGBOX_AUTOCLOSE end -Route120_EventScript_1F5925:: @ 81F5925 - trainerbattle_single TRAINER_ANGELICA, Route120_Text_29ED71, Route120_Text_29EDD3 - msgbox Route120_Text_29EDF7, MSGBOX_AUTOCLOSE +Route120_EventScript_Angelica:: @ 81F5925 + trainerbattle_single TRAINER_ANGELICA, Route120_Text_AngelicaIntro, Route120_Text_AngelicaDefeat + msgbox Route120_Text_AngelicaPostBattle, MSGBOX_AUTOCLOSE end -Route120_EventScript_1F593C:: @ 81F593C - trainerbattle_single TRAINER_KEIGO, Route120_Text_29EE50, Route120_Text_29EE97 - msgbox Route120_Text_29EED4, MSGBOX_AUTOCLOSE +Route120_EventScript_Keigo:: @ 81F593C + trainerbattle_single TRAINER_KEIGO, Route120_Text_KeigoIntro, Route120_Text_KeigoDefeat + msgbox Route120_Text_KeigoPostBattle, MSGBOX_AUTOCLOSE end -Route120_EventScript_1F5953:: @ 81F5953 - trainerbattle_single TRAINER_RILEY, Route120_Text_29EF08, Route120_Text_29EF63 - msgbox Route120_Text_29EF89, MSGBOX_AUTOCLOSE +Route120_EventScript_Riley:: @ 81F5953 + trainerbattle_single TRAINER_RILEY, Route120_Text_RileyIntro, Route120_Text_RileyDefeat + msgbox Route120_Text_RileyPostBattle, MSGBOX_AUTOCLOSE end -Route120_EventScript_1F596A:: @ 81F596A - trainerbattle_single TRAINER_LEONEL, Route120_Text_29F04F, Route120_Text_29F080 - msgbox Route120_Text_29F0A1, MSGBOX_AUTOCLOSE +Route120_EventScript_Leonel:: @ 81F596A + trainerbattle_single TRAINER_LEONEL, Route120_Text_LeonelIntro, Route120_Text_LeonelDefeat + msgbox Route120_Text_LeonelPostBattle, MSGBOX_AUTOCLOSE end -Route120_EventScript_1F5981:: @ 81F5981 - trainerbattle_single TRAINER_CALLIE, Route120_Text_29EFB1, Route120_Text_29EFE1 - msgbox Route120_Text_29F002, MSGBOX_AUTOCLOSE +Route120_EventScript_Callie:: @ 81F5981 + trainerbattle_single TRAINER_CALLIE, Route120_Text_CallieIntro, Route120_Text_CallieDefeat + msgbox Route120_Text_CalliePostBattle, MSGBOX_AUTOCLOSE end -Route120_Text_1F5998: @ 81F5998 +Route120_Text_StevenGreeting: @ 81F5998 .string "STEVEN: Hm? {PLAYER}{KUN}, hi.\n" .string "It's been a while.\p" .string "There's something here that you can't\n" @@ -396,25 +396,25 @@ Route120_Text_1F5998: @ 81F5998 .string "{PLAYER}{KUN}, are your POKéMON ready for\n" .string "battle?$" -Route120_Text_1F5AAC: @ 81F5AAC +Route120_Text_StevenIllWaitHere: @ 81F5AAC .string "STEVEN: No?\p" .string "I'll wait here, so you can get ready.$" -Route120_Text_1F5ADE: @ 81F5ADE +Route120_Text_StevenReadyForBattle: @ 81F5ADE .string "STEVEN: {PLAYER}{KUN}, are your POKéMON\n" .string "ready for battle?$" -Route120_Text_1F5B0F: @ 81F5B0F +Route120_Text_StevenShowMeYourPower: @ 81F5B0F .string "STEVEN: {PLAYER}{KUN}, show me your true\n" .string "power as a TRAINER!$" -Route120_Text_1F5B43: @ 81F5B43 +Route120_Text_StevenUsedDevonScope: @ 81F5B43 .string "STEVEN used the DEVON SCOPE.\p" .string "An invisible POKéMON became completely\n" .string "visible!\p" .string "The startled POKéMON attacked!$" -Route120_Text_1F5BAF: @ 81F5BAF +Route120_Text_StevenGiveDevonScope: @ 81F5BAF .string "STEVEN: I see…\n" .string "Your battle style is intriguing.\p" .string "Your POKéMON have obviously grown\n" @@ -424,31 +424,30 @@ Route120_Text_1F5BAF: @ 81F5BAF .string "Who knows, there may be other\n" .string "concealed POKéMON.$" -Route120_Text_1F5C7B: @ 81F5C7B +Route120_Text_StevenGoodbye: @ 81F5C7B .string "STEVEN: {PLAYER}{KUN}.\p" .string "I enjoy seeing POKéMON and TRAINERS\n" .string "who strive together.\p" .string "I think you're doing great.\p" .string "Well, let's meet again somewhere.$" -Route119_Text_1F5D00: @ 81F5D00 -Route120_Text_1F5D00: @ 81F5D00 +Kecleon_Text_SomethingUnseeable: @ 81F5D00 .string "Something unseeable is in the way.$" -Route119_Text_1F5D23: @ 81F5D23 +Kecleon_Text_WantToUseDevonScope: @ 81F5D23 .string "Something unseeable is in the way.\p" .string "Want to use the DEVON SCOPE?$" -Route119_Text_1F5D63: @ 81F5D63 +Kecleon_Text_UseDevonScopeMonAttacked: @ 81F5D63 .string "{PLAYER} used the DEVON SCOPE.\p" .string "An invisible POKéMON became completely\n" .string "visible!\p" .string "The startled POKéMON attacked!$" -Route120_Text_1F5DCB: @ 81F5DCB +Route120_Text_RouteSignFortree: @ 81F5DCB .string "ROUTE 120\n" .string "{LEFT_ARROW} FORTREE CITY$" -Route120_Text_1F5DE4: @ 81F5DE4 +Route120_Text_RouteSign121: @ 81F5DE4 .string "{RIGHT_ARROW} ROUTE 121\n" .string "{LEFT_ARROW} ROUTE 120$" diff --git a/data/maps/Route121/map.json b/data/maps/Route121/map.json index 9382ab3751..9d91c47d16 100644 --- a/data/maps/Route121/map.json +++ b/data/maps/Route121/map.json @@ -40,7 +40,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route121_EventScript_1F5DFD", + "script": "Route121_EventScript_Woman", "flag": "0" }, { @@ -157,7 +157,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route121_EventScript_1F5F04", + "script": "Route121_EventScript_Kate", "flag": "0" }, { @@ -170,7 +170,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route121_EventScript_1F5F1F", + "script": "Route121_EventScript_Joy", "flag": "0" }, { @@ -248,7 +248,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route121_EventScript_1F5E74", + "script": "Route121_EventScript_Vanessa", "flag": "0" }, { @@ -261,7 +261,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route121_EventScript_1F5E8B", + "script": "Route121_EventScript_Walter", "flag": "0" }, { @@ -274,7 +274,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route121_EventScript_1F5EED", + "script": "Route121_EventScript_Tammy", "flag": "0" }, { @@ -287,7 +287,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route121_EventScript_1F5F3A", + "script": "Route121_EventScript_Jessica", "flag": "0" }, { @@ -326,7 +326,7 @@ "movement_range_y": 4, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route121_EventScript_1F5F9C", + "script": "Route121_EventScript_Cale", "flag": "0" }, { @@ -339,7 +339,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route121_EventScript_1F5FB3", + "script": "Route121_EventScript_Myles", "flag": "0" }, { @@ -352,7 +352,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route121_EventScript_1F5FCA", + "script": "Route121_EventScript_Pat", "flag": "0" }, { @@ -365,7 +365,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "Route121_EventScript_1F5FE1", + "script": "Route121_EventScript_Marcel", "flag": "0" }, { @@ -378,7 +378,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "Route121_EventScript_1F5FF8", + "script": "Route121_EventScript_Cristin", "flag": "0" }, { @@ -425,7 +425,7 @@ "elevation": 3, "var": "VAR_ROUTE121_STATE", "var_value": "0", - "script": "Route121_EventScript_1F5E18" + "script": "Route121_EventScript_AquaGruntsMoveOut" }, { "type": "trigger", @@ -434,7 +434,7 @@ "elevation": 3, "var": "VAR_ROUTE121_STATE", "var_value": "0", - "script": "Route121_EventScript_1F5E18" + "script": "Route121_EventScript_AquaGruntsMoveOut" }, { "type": "trigger", @@ -443,7 +443,7 @@ "elevation": 3, "var": "VAR_ROUTE121_STATE", "var_value": "0", - "script": "Route121_EventScript_1F5E18" + "script": "Route121_EventScript_AquaGruntsMoveOut" }, { "type": "trigger", @@ -452,7 +452,7 @@ "elevation": 3, "var": "VAR_ROUTE121_STATE", "var_value": "0", - "script": "Route121_EventScript_1F5E18" + "script": "Route121_EventScript_AquaGruntsMoveOut" } ], "bg_events": [ @@ -462,7 +462,7 @@ "y": 14, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route121_EventScript_1F5E06" + "script": "Route121_EventScript_MtPyrePierSign" }, { "type": "secret_base", @@ -498,7 +498,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route121_EventScript_1F5E0F" + "script": "Route121_EventScript_SafariZoneSign" }, { "type": "hidden_item", diff --git a/data/maps/Route121/scripts.inc b/data/maps/Route121/scripts.inc index edca585c92..81330b6e8d 100644 --- a/data/maps/Route121/scripts.inc +++ b/data/maps/Route121/scripts.inc @@ -1,28 +1,28 @@ Route121_MapScripts:: @ 81F5DFC .byte 0 -Route121_EventScript_1F5DFD:: @ 81F5DFD - msgbox Route121_Text_1F607F, MSGBOX_NPC +Route121_EventScript_Woman:: @ 81F5DFD + msgbox Route121_Text_AheadLoomsMtPyre, MSGBOX_NPC end -Route121_EventScript_1F5E06:: @ 81F5E06 - msgbox Route121_Text_1F60D3, MSGBOX_SIGN +Route121_EventScript_MtPyrePierSign:: @ 81F5E06 + msgbox Route121_Text_MtPyrePierSign, MSGBOX_SIGN end -Route121_EventScript_1F5E0F:: @ 81F5E0F - msgbox Route121_Text_1F611E, MSGBOX_SIGN +Route121_EventScript_SafariZoneSign:: @ 81F5E0F + msgbox Route121_Text_SafariZoneSign, MSGBOX_SIGN end -Route121_EventScript_1F5E18:: @ 81F5E18 +Route121_EventScript_AquaGruntsMoveOut:: @ 81F5E18 lockall playbgm MUS_AQA_0, 0 - applymovement 13, Route121_Movement_2725B8 + applymovement 13, Common_Movement_WalkInPlaceRight waitmovement 0 - msgbox Route121_Text_1F605A, MSGBOX_DEFAULT + msgbox Route121_Text_OkayMoveOutToMtPyre, MSGBOX_DEFAULT closemessage - applymovement 12, Route121_Movement_1F5E59 - applymovement 13, Route121_Movement_1F5E62 - applymovement 14, Route121_Movement_1F5E6B + applymovement 12, Route121_Movement_Grunt1Exit + applymovement 13, Route121_Movement_Grunt2Exit + applymovement 14, Route121_Movement_Grunt3Exit waitmovement 0 fadedefaultbgm removeobject 12 @@ -32,7 +32,7 @@ Route121_EventScript_1F5E18:: @ 81F5E18 releaseall end -Route121_Movement_1F5E59: @ 81F5E59 +Route121_Movement_Grunt1Exit: @ 81F5E59 walk_down walk_down walk_down @@ -43,7 +43,7 @@ Route121_Movement_1F5E59: @ 81F5E59 walk_down step_end -Route121_Movement_1F5E62: @ 81F5E62 +Route121_Movement_Grunt2Exit: @ 81F5E62 walk_down walk_down walk_down @@ -54,7 +54,7 @@ Route121_Movement_1F5E62: @ 81F5E62 walk_down step_end -Route121_Movement_1F5E6B: @ 81F5E6B +Route121_Movement_Grunt3Exit: @ 81F5E6B walk_down walk_down walk_down @@ -65,127 +65,127 @@ Route121_Movement_1F5E6B: @ 81F5E6B walk_down step_end -Route121_EventScript_1F5E74:: @ 81F5E74 - trainerbattle_single TRAINER_VANESSA, Route121_Text_29F0EC, Route121_Text_29F11F - msgbox Route121_Text_29F138, MSGBOX_AUTOCLOSE +Route121_EventScript_Vanessa:: @ 81F5E74 + trainerbattle_single TRAINER_VANESSA, Route121_Text_VanessaIntro, Route121_Text_VanessaDefeat + msgbox Route121_Text_VanessaPostBattle, MSGBOX_AUTOCLOSE end -Route121_EventScript_1F5E8B:: @ 81F5E8B - trainerbattle_single TRAINER_WALTER_1, Route121_Text_29F199, Route121_Text_29F20D, Route121_EventScript_1F5EB7 +Route121_EventScript_Walter:: @ 81F5E8B + trainerbattle_single TRAINER_WALTER_1, Route121_Text_WalterIntro, Route121_Text_WalterDefeat, Route121_EventScript_RegisterWalter specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route121_EventScript_1F5ED6 - msgbox Route121_Text_29F21E, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route121_EventScript_RematchWalter + msgbox Route121_Text_WalterPostBattle, MSGBOX_DEFAULT release end -Route121_EventScript_1F5EB7:: @ 81F5EB7 - special sub_80B4808 +Route121_EventScript_RegisterWalter:: @ 81F5EB7 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route121_Text_29F25B, MSGBOX_DEFAULT + msgbox Route121_Text_WalterRegister, MSGBOX_DEFAULT register_matchcall TRAINER_WALTER_1 release end -Route121_EventScript_1F5ED6:: @ 81F5ED6 - trainerbattle_rematch TRAINER_WALTER_1, Route121_Text_29F2A6, Route121_Text_29F31A - msgbox Route121_Text_29F32B, MSGBOX_AUTOCLOSE +Route121_EventScript_RematchWalter:: @ 81F5ED6 + trainerbattle_rematch TRAINER_WALTER_1, Route121_Text_WalterRematchIntro, Route121_Text_WalterRematchDefeat + msgbox Route121_Text_WalterPostRematch, MSGBOX_AUTOCLOSE end -Route121_EventScript_1F5EED:: @ 81F5EED - trainerbattle_single TRAINER_TAMMY, Route121_Text_29F381, Route121_Text_29F3B9 - msgbox Route121_Text_29F3C6, MSGBOX_AUTOCLOSE +Route121_EventScript_Tammy:: @ 81F5EED + trainerbattle_single TRAINER_TAMMY, Route121_Text_TammyIntro, Route121_Text_TammyDefeat + msgbox Route121_Text_TammyPostBattle, MSGBOX_AUTOCLOSE end -Route121_EventScript_1F5F04:: @ 81F5F04 - trainerbattle_double TRAINER_KATE_AND_JOY, Route121_Text_29F3FB, Route121_Text_29F43F, Route121_Text_29F4C9 - msgbox Route121_Text_29F476, MSGBOX_AUTOCLOSE +Route121_EventScript_Kate:: @ 81F5F04 + trainerbattle_double TRAINER_KATE_AND_JOY, Route121_Text_KateIntro, Route121_Text_KateDefeat, Route121_Text_KateNotEnoughMons + msgbox Route121_Text_KatePostBattle, MSGBOX_AUTOCLOSE end -Route121_EventScript_1F5F1F:: @ 81F5F1F - trainerbattle_double TRAINER_KATE_AND_JOY, Route121_Text_29F521, Route121_Text_29F564, Route121_Text_29F5CE - msgbox Route121_Text_29F582, MSGBOX_AUTOCLOSE +Route121_EventScript_Joy:: @ 81F5F1F + trainerbattle_double TRAINER_KATE_AND_JOY, Route121_Text_JoyIntro, Route121_Text_JoyDefeat, Route121_Text_JoyNotEnoughMons + msgbox Route121_Text_JoyPostBattle, MSGBOX_AUTOCLOSE end -Route121_EventScript_1F5F3A:: @ 81F5F3A - trainerbattle_single TRAINER_JESSICA_1, Route121_Text_29F612, Route121_Text_29F641, Route121_EventScript_1F5F66 +Route121_EventScript_Jessica:: @ 81F5F3A + trainerbattle_single TRAINER_JESSICA_1, Route121_Text_JessicaIntro, Route121_Text_JessicaDefeat, Route121_EventScript_RegisterJessica specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route121_EventScript_1F5F85 - msgbox Route121_Text_29F66F, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route121_EventScript_RematchJessica + msgbox Route121_Text_JessicaPostBattle, MSGBOX_DEFAULT release end -Route121_EventScript_1F5F66:: @ 81F5F66 - special sub_80B4808 +Route121_EventScript_RegisterJessica:: @ 81F5F66 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route121_Text_29F69F, MSGBOX_DEFAULT + msgbox Route121_Text_JessicaRegister, MSGBOX_DEFAULT register_matchcall TRAINER_JESSICA_1 release end -Route121_EventScript_1F5F85:: @ 81F5F85 - trainerbattle_rematch TRAINER_JESSICA_1, Route121_Text_29F6E4, Route121_Text_29F710 - msgbox Route121_Text_29F740, MSGBOX_AUTOCLOSE +Route121_EventScript_RematchJessica:: @ 81F5F85 + trainerbattle_rematch TRAINER_JESSICA_1, Route121_Text_JessicaRematchIntro, Route121_Text_JessicaRematchDefeat + msgbox Route121_Text_JessicaPostRematch, MSGBOX_AUTOCLOSE end -Route121_EventScript_1F5F9C:: @ 81F5F9C - trainerbattle_single TRAINER_CALE, Route121_Text_29F91A, Route121_Text_29F97B - msgbox Route121_Text_29F9AE, MSGBOX_AUTOCLOSE +Route121_EventScript_Cale:: @ 81F5F9C + trainerbattle_single TRAINER_CALE, Route121_Text_CaleIntro, Route121_Text_CaleDefeat + msgbox Route121_Text_CalePostBattle, MSGBOX_AUTOCLOSE end -Route121_EventScript_1F5FB3:: @ 81F5FB3 - trainerbattle_single TRAINER_MYLES, Route121_Text_29FA1E, Route121_Text_29FA64 - msgbox Route121_Text_29FA73, MSGBOX_AUTOCLOSE +Route121_EventScript_Myles:: @ 81F5FB3 + trainerbattle_single TRAINER_MYLES, Route121_Text_MylesIntro, Route121_Text_MylesDefeat + msgbox Route121_Text_MylesPostBattle, MSGBOX_AUTOCLOSE end -Route121_EventScript_1F5FCA:: @ 81F5FCA - trainerbattle_single TRAINER_PAT, Route121_Text_29FAA7, Route121_Text_29FAD8 - msgbox Route121_Text_29FAEA, MSGBOX_AUTOCLOSE +Route121_EventScript_Pat:: @ 81F5FCA + trainerbattle_single TRAINER_PAT, Route121_Text_PatIntro, Route121_Text_PatDefeat + msgbox Route121_Text_PatPostBattle, MSGBOX_AUTOCLOSE end -Route121_EventScript_1F5FE1:: @ 81F5FE1 - trainerbattle_single TRAINER_MARCEL, Route121_Text_29FB35, Route121_Text_29FB8C - msgbox Route121_Text_29FBA8, MSGBOX_AUTOCLOSE +Route121_EventScript_Marcel:: @ 81F5FE1 + trainerbattle_single TRAINER_MARCEL, Route121_Text_MarcelIntro, Route121_Text_MarcelDefeat + msgbox Route121_Text_MarcelPostBattle, MSGBOX_AUTOCLOSE end -Route121_EventScript_1F5FF8:: @ 81F5FF8 - trainerbattle_single TRAINER_CRISTIN_1, Route121_Text_29F770, Route121_Text_29F7C1, Route121_EventScript_1F6024 +Route121_EventScript_Cristin:: @ 81F5FF8 + trainerbattle_single TRAINER_CRISTIN_1, Route121_Text_CristinIntro, Route121_Text_CristinDefeat, Route121_EventScript_RegisterCristin specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route121_EventScript_1F6043 - msgbox Route121_Text_29F7D4, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route121_EventScript_RematchCristin + msgbox Route121_Text_CristinPostBattle, MSGBOX_DEFAULT release end -Route121_EventScript_1F6024:: @ 81F6024 - special sub_80B4808 +Route121_EventScript_RegisterCristin:: @ 81F6024 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route121_Text_29F80D, MSGBOX_DEFAULT + msgbox Route121_Text_CristinRegister, MSGBOX_DEFAULT register_matchcall TRAINER_CRISTIN_1 release end -Route121_EventScript_1F6043:: @ 81F6043 - trainerbattle_rematch TRAINER_CRISTIN_1, Route121_Text_29F855, Route121_Text_29F8A8 - msgbox Route121_Text_29F8D0, MSGBOX_AUTOCLOSE +Route121_EventScript_RematchCristin:: @ 81F6043 + trainerbattle_rematch TRAINER_CRISTIN_1, Route121_Text_CristinRematchIntro, Route121_Text_CristinRematchDefeat + msgbox Route121_Text_CristinPostRematch, MSGBOX_AUTOCLOSE end -Route121_Text_1F605A: @ 81F605A +Route121_Text_OkayMoveOutToMtPyre: @ 81F605A .string "Okay!\n" .string "We're to move out to MT. PYRE!$" -Route121_Text_1F607F: @ 81F607F +Route121_Text_AheadLoomsMtPyre: @ 81F607F .string "Ahead looms MT. PYRE…\p" .string "It is a natural monument to the spirits \n" .string "of departed POKéMON…$" -Route121_Text_1F60D3: @ 81F60D3 +Route121_Text_MtPyrePierSign: @ 81F60D3 .string "MT. PYRE PIER\p" .string "…The sign is old and worn out.\n" .string "The words are barely legible…$" -Route121_Text_1F611E: @ 81F611E +Route121_Text_SafariZoneSign: @ 81F611E .string "“Filled with rare POKéMON!”\n" .string "SAFARI ZONE$" diff --git a/data/maps/Route121_SafariZoneEntrance/map.json b/data/maps/Route121_SafariZoneEntrance/map.json index 90eedd7735..6cf7b57915 100644 --- a/data/maps/Route121_SafariZoneEntrance/map.json +++ b/data/maps/Route121_SafariZoneEntrance/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route121_SafariZoneEntrance_EventScript_22BBE6", + "script": "Route121_SafariZoneEntrance_EventScript_WelcomeAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route121_SafariZoneEntrance_EventScript_22BBEF", + "script": "Route121_SafariZoneEntrance_EventScript_InfoAttendant", "flag": "0" }, { @@ -92,7 +92,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "0", - "script": "Route121_SafariZoneEntrance_EventScript_22BC18" + "script": "Route121_SafariZoneEntrance_EventScript_EntranceCounterTrigger" } ], "bg_events": [ @@ -102,7 +102,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route121_SafariZoneEntrance_EventScript_22BD21" + "script": "Route121_SafariZoneEntrance_EventScript_TrainerTipSign" } ] } \ No newline at end of file diff --git a/data/maps/Route121_SafariZoneEntrance/scripts.inc b/data/maps/Route121_SafariZoneEntrance/scripts.inc index 85b6c6c367..f29fe583e1 100644 --- a/data/maps/Route121_SafariZoneEntrance/scripts.inc +++ b/data/maps/Route121_SafariZoneEntrance/scripts.inc @@ -1,20 +1,20 @@ Route121_SafariZoneEntrance_MapScripts:: @ 822BBBB - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route121_SafariZoneEntrance_MapScript2_22BBC1 + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route121_SafariZoneEntrance_OnFrame .byte 0 -Route121_SafariZoneEntrance_MapScript2_22BBC1: @ 822BBC1 - map_script_2 VAR_SAFARI_ZONE_STATE, 1, Route121_SafariZoneEntrance_EventScript_22BBCB +Route121_SafariZoneEntrance_OnFrame: @ 822BBC1 + map_script_2 VAR_SAFARI_ZONE_STATE, 1, Route121_SafariZoneEntrance_EventScript_ExitSafariZone .2byte 0 -Route121_SafariZoneEntrance_EventScript_22BBCB:: @ 822BBCB +Route121_SafariZoneEntrance_EventScript_ExitSafariZone:: @ 822BBCB lockall - applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_22BBDD + applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_ExitSafariZone waitmovement 0 setvar VAR_SAFARI_ZONE_STATE, 0 releaseall end -Route121_SafariZoneEntrance_Movement_22BBDD: @ 822BBDD +Route121_SafariZoneEntrance_Movement_ExitSafariZone: @ 822BBDD walk_up walk_right walk_right @@ -25,59 +25,57 @@ Route121_SafariZoneEntrance_Movement_22BBDD: @ 822BBDD walk_right step_end -Route121_SafariZoneEntrance_EventScript_22BBE6:: @ 822BBE6 - msgbox Route121_SafariZoneEntrance_Text_2A4D12, MSGBOX_NPC +Route121_SafariZoneEntrance_EventScript_WelcomeAttendant:: @ 822BBE6 + msgbox Route121_SafariZoneEntrance_Text_WelcomeToSafariZone, MSGBOX_NPC end -Route121_SafariZoneEntrance_EventScript_22BBEF:: @ 822BBEF +Route121_SafariZoneEntrance_EventScript_InfoAttendant:: @ 822BBEF lock faceplayer - msgbox Route121_SafariZoneEntrance_Text_2A4E46, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route121_SafariZoneEntrance_EventScript_22BC0E - msgbox Route121_SafariZoneEntrance_Text_2A4E7E, MSGBOX_DEFAULT + msgbox Route121_SafariZoneEntrance_Text_WelcomeFirstTime, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route121_SafariZoneEntrance_EventScript_FirstTimeInfo + msgbox Route121_SafariZoneEntrance_Text_ComeInAndEnjoy, MSGBOX_DEFAULT release end -Route121_SafariZoneEntrance_EventScript_22BC0E:: @ 822BC0E - msgbox Route121_SafariZoneEntrance_Text_2A4EA1, MSGBOX_DEFAULT +Route121_SafariZoneEntrance_EventScript_FirstTimeInfo:: @ 822BC0E + msgbox Route121_SafariZoneEntrance_Text_FirstTimeInfo, MSGBOX_DEFAULT release end -Route121_SafariZoneEntrance_EventScript_22BC18:: @ 822BC18 +Route121_SafariZoneEntrance_EventScript_EntranceCounterTrigger:: @ 822BC18 lockall - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 showmoneybox 0, 0, 0 - msgbox Route121_SafariZoneEntrance_Text_2A4F74, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route121_SafariZoneEntrance_EventScript_22BC48 - msgbox Route121_SafariZoneEntrance_Text_2A4FD7, MSGBOX_DEFAULT - goto Route121_SafariZoneEntrance_EventScript_22BD06 + msgbox Route121_SafariZoneEntrance_Text_WouldYouLikeToPlay, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route121_SafariZoneEntrance_EventScript_TryEnterSafariZone + msgbox Route121_SafariZoneEntrance_Text_PlayAnotherTime, MSGBOX_DEFAULT + goto Route121_SafariZoneEntrance_EventScript_MovePlayerBackFromCounter end -Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48 +Route121_SafariZoneEntrance_EventScript_TryEnterSafariZone:: @ 822BC48 checkitem ITEM_POKEBLOCK_CASE, 1 compare VAR_RESULT, 0 - goto_if_eq Route121_SafariZoneEntrance_EventScript_22BCEA - call Route121_SafariZoneEntrance_EventScript_22BCBF - checkmoney 0x1f4, 0 + goto_if_eq Route121_SafariZoneEntrance_EventScript_NoPokeblockCase + call Route121_SafariZoneEntrance_EventScript_CheckHasRoomForPokemon + checkmoney 500, 0 compare VAR_RESULT, 0 - goto_if_eq Route121_SafariZoneEntrance_EventScript_22BCF8 + goto_if_eq Route121_SafariZoneEntrance_EventScript_NotEnoughMoney playse SE_REGI - msgbox Route121_SafariZoneEntrance_Text_2A501B, MSGBOX_DEFAULT - takemoney 0x1f4, 0 + msgbox Route121_SafariZoneEntrance_Text_ThatWillBe500Please, MSGBOX_DEFAULT + removemoney 500, 0 updatemoneybox 0, 0 - msgbox Route121_SafariZoneEntrance_Text_2A5036, MSGBOX_DEFAULT + msgbox Route121_SafariZoneEntrance_Text_HereAreYourSafariBalls, MSGBOX_DEFAULT playfanfare MUS_FANFA4 - message Route121_SafariZoneEntrance_Text_2A5052 + message Route121_SafariZoneEntrance_Text_Received30SafariBalls waitfanfare - msgbox Route121_SafariZoneEntrance_Text_2A506F, MSGBOX_DEFAULT + msgbox Route121_SafariZoneEntrance_Text_PleaseEnjoyYourself, MSGBOX_DEFAULT closemessage hidemoneybox - nop - nop - applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_22BD18 + applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_EnterSafariZone waitmovement 0 special EnterSafariMode setvar VAR_SAFARI_ZONE_STATE, 2 @@ -86,45 +84,43 @@ Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48 waitstate end -Route121_SafariZoneEntrance_EventScript_22BCBF:: @ 822BCBF +Route121_SafariZoneEntrance_EventScript_CheckHasRoomForPokemon:: @ 822BCBF getpartysize - compare VAR_RESULT, 6 - goto_if_ne Route121_SafariZoneEntrance_EventScript_22BCE9 + compare VAR_RESULT, PARTY_SIZE + goto_if_ne Route121_SafariZoneEntrance_EventScript_HasRoomForPokemon specialvar VAR_RESULT, ScriptCheckFreePokemonStorageSpace compare VAR_RESULT, 1 - goto_if_eq Route121_SafariZoneEntrance_EventScript_22BCE9 - msgbox Route121_SafariZoneEntrance_Text_2A50E5, MSGBOX_DEFAULT - goto Route121_SafariZoneEntrance_EventScript_22BD06 + goto_if_eq Route121_SafariZoneEntrance_EventScript_HasRoomForPokemon + msgbox Route121_SafariZoneEntrance_Text_PCIsFull, MSGBOX_DEFAULT + goto Route121_SafariZoneEntrance_EventScript_MovePlayerBackFromCounter end -Route121_SafariZoneEntrance_EventScript_22BCE9:: @ 822BCE9 +Route121_SafariZoneEntrance_EventScript_HasRoomForPokemon:: @ 822BCE9 return -Route121_SafariZoneEntrance_EventScript_22BCEA:: @ 822BCEA - msgbox Route121_SafariZoneEntrance_Text_2A5105, MSGBOX_DEFAULT - goto Route121_SafariZoneEntrance_EventScript_22BD06 +Route121_SafariZoneEntrance_EventScript_NoPokeblockCase:: @ 822BCEA + msgbox Route121_SafariZoneEntrance_Text_YouNeedPokeblockCase, MSGBOX_DEFAULT + goto Route121_SafariZoneEntrance_EventScript_MovePlayerBackFromCounter end -Route121_SafariZoneEntrance_EventScript_22BCF8:: @ 822BCF8 - msgbox Route121_SafariZoneEntrance_Text_2A4FF7, MSGBOX_DEFAULT - goto Route121_SafariZoneEntrance_EventScript_22BD06 +Route121_SafariZoneEntrance_EventScript_NotEnoughMoney:: @ 822BCF8 + msgbox Route121_SafariZoneEntrance_Text_NotEnoughMoney, MSGBOX_DEFAULT + goto Route121_SafariZoneEntrance_EventScript_MovePlayerBackFromCounter end -Route121_SafariZoneEntrance_EventScript_22BD06:: @ 822BD06 +Route121_SafariZoneEntrance_EventScript_MovePlayerBackFromCounter:: @ 822BD06 closemessage hidemoneybox - nop - nop - applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_22BD16 + applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_BackAwayFromCounter waitmovement 0 releaseall end -Route121_SafariZoneEntrance_Movement_22BD16: @ 822BD16 +Route121_SafariZoneEntrance_Movement_BackAwayFromCounter: @ 822BD16 walk_right step_end -Route121_SafariZoneEntrance_Movement_22BD18: @ 822BD18 +Route121_SafariZoneEntrance_Movement_EnterSafariZone: @ 822BD18 walk_left walk_left walk_left @@ -135,7 +131,7 @@ Route121_SafariZoneEntrance_Movement_22BD18: @ 822BD18 delay_16 step_end -Route121_SafariZoneEntrance_EventScript_22BD21:: @ 822BD21 - msgbox Route121_SafariZoneEntrance_Text_2A55BB, MSGBOX_SIGN +Route121_SafariZoneEntrance_EventScript_TrainerTipSign:: @ 822BD21 + msgbox Route121_SafariZoneEntrance_Text_TrainerTip, MSGBOX_SIGN end diff --git a/data/maps/Route123/map.json b/data/maps/Route123/map.json index c13d17a0ce..fc4af6b3c4 100644 --- a/data/maps/Route123/map.json +++ b/data/maps/Route123/map.json @@ -126,7 +126,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route123_EventScript_1F61C5", + "script": "Route123_EventScript_Wendy", "flag": "0" }, { @@ -139,7 +139,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route123_EventScript_1F61DC", + "script": "Route123_EventScript_Braxton", "flag": "0" }, { @@ -308,7 +308,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route123_EventScript_1F6151", + "script": "Route123_EventScript_GigaDrainGirl", "flag": "0" }, { @@ -360,7 +360,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route123_EventScript_1F61F3", + "script": "Route123_EventScript_Violet", "flag": "0" }, { @@ -373,7 +373,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route123_EventScript_1F62E9", + "script": "Route123_EventScript_Yuki", "flag": "0" }, { @@ -386,7 +386,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route123_EventScript_1F62CE", + "script": "Route123_EventScript_Miu", "flag": "0" }, { @@ -399,7 +399,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "7", - "script": "Route123_EventScript_1F620A", + "script": "Route123_EventScript_Cameron", "flag": "0" }, { @@ -412,7 +412,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route123_EventScript_1F626C", + "script": "Route123_EventScript_Jacki", "flag": "0" }, { @@ -425,7 +425,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route123_EventScript_1F6304", + "script": "Route123_EventScript_Kindra", "flag": "0" }, { @@ -464,7 +464,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route123_EventScript_1F6377", + "script": "Route123_EventScript_Jonas", "flag": "0" }, { @@ -477,7 +477,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route123_EventScript_1F6360", + "script": "Route123_EventScript_Kayley", "flag": "0" }, { @@ -490,7 +490,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route123_EventScript_1F6349", + "script": "Route123_EventScript_Ed", "flag": "0" }, { @@ -503,7 +503,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route123_EventScript_1F63BC", + "script": "Route123_EventScript_Fernando", "flag": "0" }, { @@ -516,7 +516,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route123_EventScript_1F6332", + "script": "Route123_EventScript_Alberto", "flag": "0" }, { @@ -529,7 +529,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route123_EventScript_1F631B", + "script": "Route123_EventScript_Frederick", "flag": "0" }, { @@ -555,7 +555,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route123_EventScript_1F638E", + "script": "Route123_EventScript_Jazmyn", "flag": "0" }, { @@ -568,7 +568,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route123_EventScript_1F63A5", + "script": "Route123_EventScript_Davis", "flag": "0" }, { @@ -757,7 +757,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route123_EventScript_1F61B3" + "script": "Route123_EventScript_RouteSignMtPyre" }, { "type": "secret_base", @@ -779,7 +779,7 @@ "y": 12, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route123_EventScript_1F61AA" + "script": "Route123_EventScript_RouteSign" }, { "type": "hidden_item", @@ -795,7 +795,7 @@ "y": 7, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route123_EventScript_1F61BC" + "script": "Route123_EventScript_BerryMastersHouseSign" }, { "type": "secret_base", diff --git a/data/maps/Route123/scripts.inc b/data/maps/Route123/scripts.inc index ce74cbadcb..0c57d209cb 100644 --- a/data/maps/Route123/scripts.inc +++ b/data/maps/Route123/scripts.inc @@ -6,198 +6,198 @@ Route123_OnTransition: @ 81F614D special SetRoute123Weather end -Route123_EventScript_1F6151:: @ 81F6151 +Route123_EventScript_GigaDrainGirl:: @ 81F6151 lock faceplayer - goto_if_set FLAG_RECEIVED_TM19, Route123_EventScript_1F61A0 - msgbox Route123_Text_1F641E, MSGBOX_DEFAULT + goto_if_set FLAG_RECEIVED_TM19, Route123_EventScript_ReceivedGigaDrain + msgbox Route123_Text_LoveGrassMonsHaveAny, MSGBOX_DEFAULT special IsGrassTypeInParty - compare VAR_RESULT, 0 - goto_if_eq Route123_EventScript_1F619E - msgbox Route123_Text_1F645D, MSGBOX_DEFAULT - giveitem_std ITEM_TM19 - compare VAR_RESULT, 0 + compare VAR_RESULT, FALSE + goto_if_eq Route123_EventScript_NoGrassMons + msgbox Route123_Text_YouLikeGrassMonsTooHaveThis, MSGBOX_DEFAULT + giveitem ITEM_TM19 + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_TM19 - msgbox Route123_Text_1F64CF, MSGBOX_DEFAULT + msgbox Route123_Text_CheckTreesWithMyGrassMon, MSGBOX_DEFAULT release end -Route123_EventScript_1F619E:: @ 81F619E +Route123_EventScript_NoGrassMons:: @ 81F619E release end -Route123_EventScript_1F61A0:: @ 81F61A0 - msgbox Route123_Text_1F64CF, MSGBOX_DEFAULT +Route123_EventScript_ReceivedGigaDrain:: @ 81F61A0 + msgbox Route123_Text_CheckTreesWithMyGrassMon, MSGBOX_DEFAULT release end -Route123_EventScript_1F61AA:: @ 81F61AA - msgbox Route123_Text_1F6511, MSGBOX_SIGN +Route123_EventScript_RouteSign:: @ 81F61AA + msgbox Route123_Text_RouteSign, MSGBOX_SIGN end -Route123_EventScript_1F61B3:: @ 81F61B3 - msgbox Route123_Text_1F6529, MSGBOX_SIGN +Route123_EventScript_RouteSignMtPyre:: @ 81F61B3 + msgbox Route123_Text_RouteSignMtPyre, MSGBOX_SIGN end -Route123_EventScript_1F61BC:: @ 81F61BC - msgbox Route123_Text_1F6557, MSGBOX_SIGN +Route123_EventScript_BerryMastersHouseSign:: @ 81F61BC + msgbox Route123_Text_BerryMastersHouse, MSGBOX_SIGN end -Route123_EventScript_1F61C5:: @ 81F61C5 - trainerbattle_single TRAINER_WENDY, Route123_Text_29FBEB, Route123_Text_29FC23 - msgbox Route123_Text_29FC42, MSGBOX_AUTOCLOSE +Route123_EventScript_Wendy:: @ 81F61C5 + trainerbattle_single TRAINER_WENDY, Route123_Text_WendyIntro, Route123_Text_WendyDefeat + msgbox Route123_Text_WendyPostBattle, MSGBOX_AUTOCLOSE end -Route123_EventScript_1F61DC:: @ 81F61DC - trainerbattle_single TRAINER_BRAXTON, Route123_Text_29FC6F, Route123_Text_29FCD6 - msgbox Route123_Text_29FCF4, MSGBOX_AUTOCLOSE +Route123_EventScript_Braxton:: @ 81F61DC + trainerbattle_single TRAINER_BRAXTON, Route123_Text_BraxtonIntro, Route123_Text_BraxtonDefeat + msgbox Route123_Text_BraxtonPostBattle, MSGBOX_AUTOCLOSE end -Route123_EventScript_1F61F3:: @ 81F61F3 - trainerbattle_single TRAINER_VIOLET, Route123_Text_29FD1D, Route123_Text_29FD53 - msgbox Route123_Text_29FD7B, MSGBOX_AUTOCLOSE +Route123_EventScript_Violet:: @ 81F61F3 + trainerbattle_single TRAINER_VIOLET, Route123_Text_VioletIntro, Route123_Text_VioletDefeat + msgbox Route123_Text_VioletPostBattle, MSGBOX_AUTOCLOSE end -Route123_EventScript_1F620A:: @ 81F620A - trainerbattle_single TRAINER_CAMERON_1, Route123_Text_29FDBA, Route123_Text_29FE1E, Route123_EventScript_1F6236 +Route123_EventScript_Cameron:: @ 81F620A + trainerbattle_single TRAINER_CAMERON_1, Route123_Text_CameronIntro, Route123_Text_CameronDefeat, Route123_EventScript_RegisterCameron specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route123_EventScript_1F6255 - msgbox Route123_Text_29FE2A, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route123_EventScript_RematchCameron + msgbox Route123_Text_CameronPostBattle, MSGBOX_DEFAULT release end -Route123_EventScript_1F6236:: @ 81F6236 - special sub_80B4808 +Route123_EventScript_RegisterCameron:: @ 81F6236 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route123_Text_29FE70, MSGBOX_DEFAULT + msgbox Route123_Text_CameronRegister, MSGBOX_DEFAULT register_matchcall TRAINER_CAMERON_1 release end -Route123_EventScript_1F6255:: @ 81F6255 - trainerbattle_rematch TRAINER_CAMERON_1, Route123_Text_29FED4, Route123_Text_29FF1B - msgbox Route123_Text_29FF27, MSGBOX_AUTOCLOSE +Route123_EventScript_RematchCameron:: @ 81F6255 + trainerbattle_rematch TRAINER_CAMERON_1, Route123_Text_CameronRematchIntro, Route123_Text_CameronRematchDefeat + msgbox Route123_Text_CameronPostRematch, MSGBOX_AUTOCLOSE end -Route123_EventScript_1F626C:: @ 81F626C - trainerbattle_single TRAINER_JACKI_1, Route123_Text_29FF61, Route123_Text_29FFD8, Route123_EventScript_1F6298 +Route123_EventScript_Jacki:: @ 81F626C + trainerbattle_single TRAINER_JACKI_1, Route123_Text_JackiIntro, Route123_Text_JackiDefeat, Route123_EventScript_RegisterJacki specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route123_EventScript_1F62B7 - msgbox Route123_Text_29FFE5, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route123_EventScript_RematchJacki + msgbox Route123_Text_JackiPostBattle, MSGBOX_DEFAULT release end -Route123_EventScript_1F6298:: @ 81F6298 - special sub_80B4808 +Route123_EventScript_RegisterJacki:: @ 81F6298 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route123_Text_2A0027, MSGBOX_DEFAULT + msgbox Route123_Text_JackiRegister, MSGBOX_DEFAULT register_matchcall TRAINER_JACKI_1 release end -Route123_EventScript_1F62B7:: @ 81F62B7 - trainerbattle_rematch TRAINER_JACKI_1, Route123_Text_2A005E, Route123_Text_2A008D - msgbox Route123_Text_2A0099, MSGBOX_AUTOCLOSE +Route123_EventScript_RematchJacki:: @ 81F62B7 + trainerbattle_rematch TRAINER_JACKI_1, Route123_Text_JackiRematchIntro, Route123_Text_JackiRematchDefeat + msgbox Route123_Text_JackiPostRematch, MSGBOX_AUTOCLOSE end -Route123_EventScript_1F62CE:: @ 81F62CE - trainerbattle_double TRAINER_MIU_AND_YUKI, Route123_Text_2A00D6, Route123_Text_2A0119, Route123_Text_2A016D - msgbox Route123_Text_2A012E, MSGBOX_AUTOCLOSE +Route123_EventScript_Miu:: @ 81F62CE + trainerbattle_double TRAINER_MIU_AND_YUKI, Route123_Text_MiuIntro, Route123_Text_MiuDefeat, Route123_Text_MiuNotEnoughMons + msgbox Route123_Text_MiuPostBattle, MSGBOX_AUTOCLOSE end -Route123_EventScript_1F62E9:: @ 81F62E9 - trainerbattle_double TRAINER_MIU_AND_YUKI, Route123_Text_2A01A7, Route123_Text_2A01D8, Route123_Text_2A0224 - msgbox Route123_Text_2A01EE, MSGBOX_AUTOCLOSE +Route123_EventScript_Yuki:: @ 81F62E9 + trainerbattle_double TRAINER_MIU_AND_YUKI, Route123_Text_YukiIntro, Route123_Text_YukiDefeat, Route123_Text_YukiNotEnoughMons + msgbox Route123_Text_YukiPostBattle, MSGBOX_AUTOCLOSE end -Route123_EventScript_1F6304:: @ 81F6304 - trainerbattle_single TRAINER_KINDRA, Route123_Text_2A025F, Route123_Text_2A02A6 - msgbox Route123_Text_2A02C1, MSGBOX_AUTOCLOSE +Route123_EventScript_Kindra:: @ 81F6304 + trainerbattle_single TRAINER_KINDRA, Route123_Text_KindraIntro, Route123_Text_KindraDefeat + msgbox Route123_Text_KindraPostBattle, MSGBOX_AUTOCLOSE end -Route123_EventScript_1F631B:: @ 81F631B - trainerbattle_single TRAINER_FREDRICK, Route123_Text_2A060A, Route123_Text_2A0631 - msgbox Route123_Text_2A0672, MSGBOX_AUTOCLOSE +Route123_EventScript_Frederick:: @ 81F631B + trainerbattle_single TRAINER_FREDRICK, Route123_Text_FrederickIntro, Route123_Text_FrederickDefeat + msgbox Route123_Text_FrederickPostBattle, MSGBOX_AUTOCLOSE end -Route123_EventScript_1F6332:: @ 81F6332 - trainerbattle_single TRAINER_ALBERTO, Route123_Text_2A06AF, Route123_Text_2A0704 - msgbox Route123_Text_2A072B, MSGBOX_AUTOCLOSE +Route123_EventScript_Alberto:: @ 81F6332 + trainerbattle_single TRAINER_ALBERTO, Route123_Text_AlbertoIntro, Route123_Text_AlbertoDefeat + msgbox Route123_Text_AlbertoPostBattle, MSGBOX_AUTOCLOSE end -Route123_EventScript_1F6349:: @ 81F6349 - trainerbattle_single TRAINER_ED, Route123_Text_2A079B, Route123_Text_2A07F0 - msgbox Route123_Text_2A080D, MSGBOX_AUTOCLOSE +Route123_EventScript_Ed:: @ 81F6349 + trainerbattle_single TRAINER_ED, Route123_Text_EdIntro, Route123_Text_EdDefeat + msgbox Route123_Text_EdPostBattle, MSGBOX_AUTOCLOSE end -Route123_EventScript_1F6360:: @ 81F6360 - trainerbattle_single TRAINER_KAYLEY, Route123_Text_2A0902, Route123_Text_2A0943 - msgbox Route123_Text_2A096E, MSGBOX_AUTOCLOSE +Route123_EventScript_Kayley:: @ 81F6360 + trainerbattle_single TRAINER_KAYLEY, Route123_Text_KayleyIntro, Route123_Text_KayleyDefeat + msgbox Route123_Text_KayleyPostBattle, MSGBOX_AUTOCLOSE end -Route123_EventScript_1F6377:: @ 81F6377 - trainerbattle_single TRAINER_JONAS, Route123_Text_2A0854, Route123_Text_2A088A - msgbox Route123_Text_2A08CA, MSGBOX_AUTOCLOSE +Route123_EventScript_Jonas:: @ 81F6377 + trainerbattle_single TRAINER_JONAS, Route123_Text_JonasIntro, Route123_Text_JonasDefeat + msgbox Route123_Text_JonasPostBattle, MSGBOX_AUTOCLOSE end -Route123_EventScript_1F638E:: @ 81F638E - trainerbattle_single TRAINER_JAZMYN, Route123_Text_2A054E, Route123_Text_2A0592 - msgbox Route123_Text_2A05AC, MSGBOX_AUTOCLOSE +Route123_EventScript_Jazmyn:: @ 81F638E + trainerbattle_single TRAINER_JAZMYN, Route123_Text_JazmynIntro, Route123_Text_JazmynDefeat + msgbox Route123_Text_JazmynPostBattle, MSGBOX_AUTOCLOSE end -Route123_EventScript_1F63A5:: @ 81F63A5 - trainerbattle_single TRAINER_DAVIS, Route123_Text_2A04C0, Route123_Text_2A04FE - msgbox Route123_Text_2A0512, MSGBOX_AUTOCLOSE +Route123_EventScript_Davis:: @ 81F63A5 + trainerbattle_single TRAINER_DAVIS, Route123_Text_DavisIntro, Route123_Text_DavisDefeat + msgbox Route123_Text_DavisPostBattle, MSGBOX_AUTOCLOSE end -Route123_EventScript_1F63BC:: @ 81F63BC - trainerbattle_single TRAINER_FERNANDO_1, Route123_Text_2A0323, Route123_Text_2A035C, Route123_EventScript_1F63E8 +Route123_EventScript_Fernando:: @ 81F63BC + trainerbattle_single TRAINER_FERNANDO_1, Route123_Text_FernandoIntro, Route123_Text_FernandoDefeat, Route123_EventScript_RegisterFernando specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route123_EventScript_1F6407 - msgbox Route123_Text_2A0389, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route123_EventScript_RematchFernando + msgbox Route123_Text_FernandoPostBattle, MSGBOX_DEFAULT release end -Route123_EventScript_1F63E8:: @ 81F63E8 - special sub_80B4808 +Route123_EventScript_RegisterFernando:: @ 81F63E8 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route123_Text_2A03C1, MSGBOX_DEFAULT + msgbox Route123_Text_FernandoRegister, MSGBOX_DEFAULT register_matchcall TRAINER_FERNANDO_1 release end -Route123_EventScript_1F6407:: @ 81F6407 - trainerbattle_rematch TRAINER_FERNANDO_1, Route123_Text_2A03FB, Route123_Text_2A045A - msgbox Route123_Text_2A0487, MSGBOX_AUTOCLOSE +Route123_EventScript_RematchFernando:: @ 81F6407 + trainerbattle_rematch TRAINER_FERNANDO_1, Route123_Text_FernandoRematchIntro, Route123_Text_FernandoRematchDefeat + msgbox Route123_Text_FernandoPostRematch, MSGBOX_AUTOCLOSE end -Route123_Text_1F641E: @ 81F641E +Route123_Text_LoveGrassMonsHaveAny: @ 81F641E .string "I love GRASS-type POKéMON!\p" .string "Do you have any GRASS-type POKéMON?$" -Route123_Text_1F645D: @ 81F645D +Route123_Text_YouLikeGrassMonsTooHaveThis: @ 81F645D .string "Oh?\p" .string "You like GRASS-type POKéMON, too,\n" .string "don't you?\p" .string "I'm so happy, you can have this!\n" .string "It's a token of our friendship.$" -Route123_Text_1F64CF: @ 81F64CF +Route123_Text_CheckTreesWithMyGrassMon: @ 81F64CF .string "I check trees with my GRASS-type\n" .string "POKéMON. I'm like a tree doctor.$" -Route123_Text_1F6511: @ 81F6511 +Route123_Text_RouteSign: @ 81F6511 .string "{RIGHT_ARROW} ROUTE 123\n" .string "{LEFT_ARROW} ROUTE 118$" -Route123_Text_1F6529: @ 81F6529 +Route123_Text_RouteSignMtPyre: @ 81F6529 .string "{UP_ARROW} MT. PYRE\n" .string "“Forbidden to the faint of heart.”$" -Route123_Text_1F6557: @ 81F6557 +Route123_Text_BerryMastersHouse: @ 81F6557 .string "BERRY MASTER'S HOUSE$" diff --git a/data/maps/Route123_BerryMastersHouse/map.json b/data/maps/Route123_BerryMastersHouse/map.json index c87feb2bc2..b7f2523af4 100644 --- a/data/maps/Route123_BerryMastersHouse/map.json +++ b/data/maps/Route123_BerryMastersHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route123_BerryMastersHouse_EventScript_26F845", + "script": "Route123_BerryMastersHouse_EventScript_BerryMaster", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route123_BerryMastersHouse_EventScript_26F8C0", + "script": "Route123_BerryMastersHouse_EventScript_BerryMastersWife", "flag": "0" } ], diff --git a/data/maps/Route123_BerryMastersHouse/scripts.inc b/data/maps/Route123_BerryMastersHouse/scripts.inc index 939cfed804..8b2cc59191 100644 --- a/data/maps/Route123_BerryMastersHouse/scripts.inc +++ b/data/maps/Route123_BerryMastersHouse/scripts.inc @@ -6,141 +6,141 @@ Route123_BerryMastersHouse_OnTransition: @ 826F841 setflag FLAG_LANDMARK_BERRY_MASTERS_HOUSE end -Route123_BerryMastersHouse_EventScript_26F845:: @ 826F845 +Route123_BerryMastersHouse_EventScript_BerryMaster:: @ 826F845 lock faceplayer dotimebasedevents - goto_if_set FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY, Route123_BerryMastersHouse_EventScript_26F8B6 - msgbox Route123_BerryMastersHouse_Text_2A7386, MSGBOX_DEFAULT - random 10 - addvar VAR_RESULT, 20 - addvar VAR_RESULT, 133 - giveitem_std VAR_RESULT - compare VAR_RESULT, 0 + goto_if_set FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY, Route123_BerryMastersHouse_EventScript_ReceivedBerryToday + msgbox Route123_BerryMastersHouse_Text_YoureDeservingOfBerry, MSGBOX_DEFAULT + random NUM_BERRY_MASTER_BERRIES + addvar VAR_RESULT, NUM_BERRY_MASTER_BERRIES_SKIPPED + addvar VAR_RESULT, FIRST_BERRY_INDEX + giveitem VAR_RESULT + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY - msgbox Route123_BerryMastersHouse_Text_2A7428, MSGBOX_DEFAULT - random 10 - addvar VAR_RESULT, 20 - addvar VAR_RESULT, 133 - giveitem_std VAR_RESULT - compare VAR_RESULT, 0 + msgbox Route123_BerryMastersHouse_Text_WhyBeStingyTakeAnother, MSGBOX_DEFAULT + random NUM_BERRY_MASTER_BERRIES + addvar VAR_RESULT, NUM_BERRY_MASTER_BERRIES_SKIPPED + addvar VAR_RESULT, FIRST_BERRY_INDEX + giveitem VAR_RESULT + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull - msgbox Route123_BerryMastersHouse_Text_2A7445, MSGBOX_DEFAULT + msgbox Route123_BerryMastersHouse_Text_VisitPrettyPetalFlowerShop, MSGBOX_DEFAULT release end -Route123_BerryMastersHouse_EventScript_26F8B6:: @ 826F8B6 - msgbox Route123_BerryMastersHouse_Text_2A749E, MSGBOX_DEFAULT +Route123_BerryMastersHouse_EventScript_ReceivedBerryToday:: @ 826F8B6 + msgbox Route123_BerryMastersHouse_Text_DoneForToday, MSGBOX_DEFAULT release end -Route123_BerryMastersHouse_EventScript_26F8C0:: @ 826F8C0 +Route123_BerryMastersHouse_EventScript_BerryMastersWife:: @ 826F8C0 lock faceplayer dotimebasedevents - goto_if_set FLAG_DAILY_BERRY_MASTERS_WIFE, Route123_BerryMastersHouse_EventScript_26FA6F - msgbox Route123_BerryMastersHouse_Text_2A74E6, MSGBOX_DEFAULT + goto_if_set FLAG_DAILY_BERRY_MASTERS_WIFE, Route123_BerryMastersHouse_EventScript_ReceivedWifeBerryToday + msgbox Route123_BerryMastersHouse_Text_HeardAGoodSayingLately, MSGBOX_DEFAULT setvar VAR_0x8004, EASY_CHAT_TYPE_GOOD_SAYING call Common_ShowEasyChatScreen lock faceplayer - compare VAR_RESULT, 1 - goto_if_eq Route123_BerryMastersHouse_EventScript_26F909 - compare VAR_RESULT, 0 - goto_if_eq Route123_BerryMastersHouse_EventScript_26F8F7 + compare VAR_RESULT, TRUE + goto_if_eq Route123_BerryMastersHouse_EventScript_GavePhrase + compare VAR_RESULT, FALSE + goto_if_eq Route123_BerryMastersHouse_EventScript_CancelPhrase end -Route123_BerryMastersHouse_EventScript_26F8F7:: @ 826F8F7 - msgbox Route123_BerryMastersHouse_Text_2A7682, MSGBOX_DEFAULT - msgbox Route123_BerryMastersHouse_Text_2A761B, MSGBOX_DEFAULT +Route123_BerryMastersHouse_EventScript_CancelPhrase:: @ 826F8F7 + msgbox Route123_BerryMastersHouse_Text_Ah, MSGBOX_DEFAULT + msgbox Route123_BerryMastersHouse_Text_JoyNeverGoesOutOfMyLife, MSGBOX_DEFAULT release end -Route123_BerryMastersHouse_EventScript_26F909:: @ 826F909 - compare VAR_0x8004, 0 - goto_if_eq Route123_BerryMastersHouse_EventScript_26F94C - compare VAR_0x8004, 1 - goto_if_eq Route123_BerryMastersHouse_EventScript_26F97A - compare VAR_0x8004, 2 - goto_if_eq Route123_BerryMastersHouse_EventScript_26F9AB - compare VAR_0x8004, 3 - goto_if_eq Route123_BerryMastersHouse_EventScript_26F9DC - compare VAR_0x8004, 4 - goto_if_eq Route123_BerryMastersHouse_EventScript_26FA0D - compare VAR_0x8004, 5 - goto_if_eq Route123_BerryMastersHouse_EventScript_26FA3E +Route123_BerryMastersHouse_EventScript_GavePhrase:: @ 826F909 + compare VAR_0x8004, NOT_SPECIAL_PHRASE + goto_if_eq Route123_BerryMastersHouse_EventScript_GiveNormalBerry + compare VAR_0x8004, PHRASE_GREAT_BATTLE + goto_if_eq Route123_BerryMastersHouse_EventScript_GiveSpelonBerry + compare VAR_0x8004, PHRASE_CHALLENGE_CONTEST + goto_if_eq Route123_BerryMastersHouse_EventScript_GivePamtreBerry + compare VAR_0x8004, PHRASE_OVERWHELMING_LATIAS + goto_if_eq Route123_BerryMastersHouse_EventScript_GiveWatmelBerry + compare VAR_0x8004, PHRASE_COOL_LATIOS + goto_if_eq Route123_BerryMastersHouse_EventScript_GiveDurinBerry + compare VAR_0x8004, PHRASE_SUPER_HUSTLE + goto_if_eq Route123_BerryMastersHouse_EventScript_GiveBelueBerry end -Route123_BerryMastersHouse_EventScript_26F94C:: @ 826F94C - msgbox Route123_BerryMastersHouse_Text_2A75D0, MSGBOX_DEFAULT - random 10 - addvar VAR_RESULT, 133 - giveitem_std VAR_RESULT - compare VAR_RESULT, 0 +Route123_BerryMastersHouse_EventScript_GiveNormalBerry:: @ 826F94C + msgbox Route123_BerryMastersHouse_Text_GoodSayingTakeThis, MSGBOX_DEFAULT + random NUM_BERRY_MASTER_WIFE_BERRIES + addvar VAR_RESULT, FIRST_BERRY_INDEX + giveitem VAR_RESULT + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull - goto Route123_BerryMastersHouse_EventScript_26FA79 + goto Route123_BerryMastersHouse_EventScript_GaveBerry release end -Route123_BerryMastersHouse_EventScript_26F97A:: @ 826F97A - goto_if_set FLAG_RECEIVED_SPELON_BERRY, Route123_BerryMastersHouse_EventScript_26F94C - msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT - giveitem_std ITEM_SPELON_BERRY - compare VAR_RESULT, 0 +Route123_BerryMastersHouse_EventScript_GiveSpelonBerry:: @ 826F97A + goto_if_set FLAG_RECEIVED_SPELON_BERRY, Route123_BerryMastersHouse_EventScript_GiveNormalBerry + msgbox Route123_BerryMastersHouse_Text_InspirationalTakeThis, MSGBOX_DEFAULT + giveitem ITEM_SPELON_BERRY + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_SPELON_BERRY - goto Route123_BerryMastersHouse_EventScript_26FA79 + goto Route123_BerryMastersHouse_EventScript_GaveBerry end -Route123_BerryMastersHouse_EventScript_26F9AB:: @ 826F9AB - goto_if_set FLAG_RECEIVED_PAMTRE_BERRY, Route123_BerryMastersHouse_EventScript_26F94C - msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT - giveitem_std ITEM_PAMTRE_BERRY - compare VAR_RESULT, 0 +Route123_BerryMastersHouse_EventScript_GivePamtreBerry:: @ 826F9AB + goto_if_set FLAG_RECEIVED_PAMTRE_BERRY, Route123_BerryMastersHouse_EventScript_GiveNormalBerry + msgbox Route123_BerryMastersHouse_Text_InspirationalTakeThis, MSGBOX_DEFAULT + giveitem ITEM_PAMTRE_BERRY + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_PAMTRE_BERRY - goto Route123_BerryMastersHouse_EventScript_26FA79 + goto Route123_BerryMastersHouse_EventScript_GaveBerry end -Route123_BerryMastersHouse_EventScript_26F9DC:: @ 826F9DC - goto_if_set FLAG_RECEIVED_WATMEL_BERRY, Route123_BerryMastersHouse_EventScript_26F94C - msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT - giveitem_std ITEM_WATMEL_BERRY - compare VAR_RESULT, 0 +Route123_BerryMastersHouse_EventScript_GiveWatmelBerry:: @ 826F9DC + goto_if_set FLAG_RECEIVED_WATMEL_BERRY, Route123_BerryMastersHouse_EventScript_GiveNormalBerry + msgbox Route123_BerryMastersHouse_Text_InspirationalTakeThis, MSGBOX_DEFAULT + giveitem ITEM_WATMEL_BERRY + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_WATMEL_BERRY - goto Route123_BerryMastersHouse_EventScript_26FA79 + goto Route123_BerryMastersHouse_EventScript_GaveBerry end -Route123_BerryMastersHouse_EventScript_26FA0D:: @ 826FA0D - goto_if_set FLAG_RECEIVED_DURIN_BERRY, Route123_BerryMastersHouse_EventScript_26F94C - msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT - giveitem_std ITEM_DURIN_BERRY - compare VAR_RESULT, 0 +Route123_BerryMastersHouse_EventScript_GiveDurinBerry:: @ 826FA0D + goto_if_set FLAG_RECEIVED_DURIN_BERRY, Route123_BerryMastersHouse_EventScript_GiveNormalBerry + msgbox Route123_BerryMastersHouse_Text_InspirationalTakeThis, MSGBOX_DEFAULT + giveitem ITEM_DURIN_BERRY + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_DURIN_BERRY - goto Route123_BerryMastersHouse_EventScript_26FA79 + goto Route123_BerryMastersHouse_EventScript_GaveBerry end -Route123_BerryMastersHouse_EventScript_26FA3E:: @ 826FA3E - goto_if_set FLAG_RECEIVED_BELUE_BERRY, Route123_BerryMastersHouse_EventScript_26F94C - msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT - giveitem_std ITEM_BELUE_BERRY - compare VAR_RESULT, 0 +Route123_BerryMastersHouse_EventScript_GiveBelueBerry:: @ 826FA3E + goto_if_set FLAG_RECEIVED_BELUE_BERRY, Route123_BerryMastersHouse_EventScript_GiveNormalBerry + msgbox Route123_BerryMastersHouse_Text_InspirationalTakeThis, MSGBOX_DEFAULT + giveitem ITEM_BELUE_BERRY + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_BELUE_BERRY - goto Route123_BerryMastersHouse_EventScript_26FA79 + goto Route123_BerryMastersHouse_EventScript_GaveBerry end -Route123_BerryMastersHouse_EventScript_26FA6F:: @ 826FA6F - msgbox Route123_BerryMastersHouse_Text_2A761B, MSGBOX_DEFAULT +Route123_BerryMastersHouse_EventScript_ReceivedWifeBerryToday:: @ 826FA6F + msgbox Route123_BerryMastersHouse_Text_JoyNeverGoesOutOfMyLife, MSGBOX_DEFAULT release end -Route123_BerryMastersHouse_EventScript_26FA79:: @ 826FA79 +Route123_BerryMastersHouse_EventScript_GaveBerry:: @ 826FA79 setflag FLAG_DAILY_BERRY_MASTERS_WIFE - msgbox Route123_BerryMastersHouse_Text_2A761B, MSGBOX_DEFAULT + msgbox Route123_BerryMastersHouse_Text_JoyNeverGoesOutOfMyLife, MSGBOX_DEFAULT release end diff --git a/data/maps/Route124/map.json b/data/maps/Route124/map.json index 9132089545..01bc84377e 100644 --- a/data/maps/Route124/map.json +++ b/data/maps/Route124/map.json @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route124_EventScript_1F6585", + "script": "Route124_EventScript_Spencer", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "7", - "script": "Route124_EventScript_1F659C", + "script": "Route124_EventScript_Roland", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route124_EventScript_1F65B3", + "script": "Route124_EventScript_Jenny", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 8, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route124_EventScript_1F6615", + "script": "Route124_EventScript_Grace", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route124_EventScript_1F662C", + "script": "Route124_EventScript_Chad", "flag": "0" }, { @@ -154,7 +154,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route124_EventScript_1F6643", + "script": "Route124_EventScript_Lila", "flag": "0" }, { @@ -167,7 +167,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route124_EventScript_1F66A7", + "script": "Route124_EventScript_Roy", "flag": "0" }, { @@ -180,7 +180,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route124_EventScript_1F670B", + "script": "Route124_EventScript_Declan", "flag": "0" }, { @@ -193,7 +193,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "7", - "script": "Route124_EventScript_1F6722", + "script": "Route124_EventScript_Isabella", "flag": "0" } ], @@ -214,7 +214,7 @@ "y": 48, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route124_EventScript_1F657C" + "script": "Route124_EventScript_HuntersHouseSign" } ] } \ No newline at end of file diff --git a/data/maps/Route124/scripts.inc b/data/maps/Route124/scripts.inc index 9a11cec2c6..92d43e6adc 100644 --- a/data/maps/Route124/scripts.inc +++ b/data/maps/Route124/scripts.inc @@ -3,105 +3,105 @@ Route124_MapScripts:: @ 81F656C .byte 0 Route124_OnTransition: @ 81F6572 - call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 + call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather end -Route124_EventScript_1F657C:: @ 81F657C - msgbox Route124_Text_1F6739, MSGBOX_SIGN +Route124_EventScript_HuntersHouseSign:: @ 81F657C + msgbox Route124_Text_HuntersHouse, MSGBOX_SIGN end -Route124_EventScript_1F6585:: @ 81F6585 - trainerbattle_single TRAINER_SPENCER, Route124_Text_2A09B1, Route124_Text_2A0A02 - msgbox Route124_Text_2A0A20, MSGBOX_AUTOCLOSE +Route124_EventScript_Spencer:: @ 81F6585 + trainerbattle_single TRAINER_SPENCER, Route124_Text_SpencerIntro, Route124_Text_SpencerDefeat + msgbox Route124_Text_SpencerPostBattle, MSGBOX_AUTOCLOSE end -Route124_EventScript_1F659C:: @ 81F659C - trainerbattle_single TRAINER_ROLAND, Route124_Text_2A0A84, Route124_Text_2A0ACC - msgbox Route124_Text_2A0AD9, MSGBOX_AUTOCLOSE +Route124_EventScript_Roland:: @ 81F659C + trainerbattle_single TRAINER_ROLAND, Route124_Text_RolandIntro, Route124_Text_RolandDefeat + msgbox Route124_Text_RolandPostBattle, MSGBOX_AUTOCLOSE end -Route124_EventScript_1F65B3:: @ 81F65B3 - trainerbattle_single TRAINER_JENNY_1, Route124_Text_2A0B37, Route124_Text_2A0B7C, Route124_EventScript_1F65DF +Route124_EventScript_Jenny:: @ 81F65B3 + trainerbattle_single TRAINER_JENNY_1, Route124_Text_JennyIntro, Route124_Text_JennyDefeat, Route124_EventScript_RegisterJenny specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route124_EventScript_1F65FE - msgbox Route124_Text_2A0B9A, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route124_EventScript_RematchJenny + msgbox Route124_Text_JennyPostBattle, MSGBOX_DEFAULT release end -Route124_EventScript_1F65DF:: @ 81F65DF - special sub_80B4808 +Route124_EventScript_RegisterJenny:: @ 81F65DF + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route124_Text_2A0C14, MSGBOX_DEFAULT + msgbox Route124_Text_JennyRegister, MSGBOX_DEFAULT register_matchcall TRAINER_JENNY_1 release end -Route124_EventScript_1F65FE:: @ 81F65FE - trainerbattle_rematch TRAINER_JENNY_1, Route124_Text_2A0C60, Route124_Text_2A0CA0 - msgbox Route124_Text_2A0CBE, MSGBOX_AUTOCLOSE +Route124_EventScript_RematchJenny:: @ 81F65FE + trainerbattle_rematch TRAINER_JENNY_1, Route124_Text_JennyRematchIntro, Route124_Text_JennyRematchDefeat + msgbox Route124_Text_JennyPostRematch, MSGBOX_AUTOCLOSE end -Route124_EventScript_1F6615:: @ 81F6615 - trainerbattle_single TRAINER_GRACE, Route124_Text_2A0D0A, Route124_Text_2A0D3D - msgbox Route124_Text_2A0D66, MSGBOX_AUTOCLOSE +Route124_EventScript_Grace:: @ 81F6615 + trainerbattle_single TRAINER_GRACE, Route124_Text_GraceIntro, Route124_Text_GraceDefeat + msgbox Route124_Text_GracePostBattle, MSGBOX_AUTOCLOSE end -Route124_EventScript_1F662C:: @ 81F662C - trainerbattle_single TRAINER_CHAD, Route124_Text_2A0DA0, Route124_Text_2A0DFF - msgbox Route124_Text_2A0E1E, MSGBOX_AUTOCLOSE +Route124_EventScript_Chad:: @ 81F662C + trainerbattle_single TRAINER_CHAD, Route124_Text_ChadIntro, Route124_Text_ChadDefeat + msgbox Route124_Text_ChadPostBattle, MSGBOX_AUTOCLOSE end -Route124_EventScript_1F6643:: @ 81F6643 - trainerbattle_double TRAINER_LILA_AND_ROY_1, Route124_Text_2A0E87, Route124_Text_2A0EFE, Route124_Text_2A0F8C, Route124_EventScript_1F6673 +Route124_EventScript_Lila:: @ 81F6643 + trainerbattle_double TRAINER_LILA_AND_ROY_1, Route124_Text_LilaIntro, Route124_Text_LilaDefeat, Route124_Text_LilaNotEnoughMons, Route124_EventScript_RegisterLila specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route124_EventScript_1F668C - msgbox Route124_Text_2A0F3A, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route124_EventScript_RematchLila + msgbox Route124_Text_LilaPostBattle, MSGBOX_DEFAULT release end -Route124_EventScript_1F6673:: @ 81F6673 - msgbox Route124_Text_2A109F, MSGBOX_DEFAULT +Route124_EventScript_RegisterLila:: @ 81F6673 + msgbox Route124_Text_LilaRoyRegister, MSGBOX_DEFAULT register_matchcall TRAINER_LILA_AND_ROY_1 release end -Route124_EventScript_1F668C:: @ 81F668C - trainerbattle_rematch_double TRAINER_LILA_AND_ROY_1, Route124_Text_2A111E, Route124_Text_2A11B2, Route124_Text_2A1255 - msgbox Route124_Text_2A1203, MSGBOX_AUTOCLOSE +Route124_EventScript_RematchLila:: @ 81F668C + trainerbattle_rematch_double TRAINER_LILA_AND_ROY_1, Route124_Text_LilaRematchIntro, Route124_Text_LilaRematchDefeat, Route124_Text_LilaRematchNotEnoughMons + msgbox Route124_Text_LilaPostRematch, MSGBOX_AUTOCLOSE end -Route124_EventScript_1F66A7:: @ 81F66A7 - trainerbattle_double TRAINER_LILA_AND_ROY_1, Route124_Text_2A0FD1, Route124_Text_2A1012, Route124_Text_2A10E5, Route124_EventScript_1F66D7 +Route124_EventScript_Roy:: @ 81F66A7 + trainerbattle_double TRAINER_LILA_AND_ROY_1, Route124_Text_RoyIntro, Route124_Text_RoyDefeat, Route124_Text_RoyNotEnoughMons, Route124_EventScript_RegisterRoy specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route124_EventScript_1F66F0 - msgbox Route124_Text_2A103E, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route124_EventScript_RematchRoy + msgbox Route124_Text_RoyPostBattle, MSGBOX_DEFAULT release end -Route124_EventScript_1F66D7:: @ 81F66D7 - msgbox Route124_Text_2A109F, MSGBOX_DEFAULT +Route124_EventScript_RegisterRoy:: @ 81F66D7 + msgbox Route124_Text_LilaRoyRegister, MSGBOX_DEFAULT register_matchcall TRAINER_LILA_AND_ROY_1 release end -Route124_EventScript_1F66F0:: @ 81F66F0 - trainerbattle_rematch_double TRAINER_LILA_AND_ROY_1, Route124_Text_2A129A, Route124_Text_2A12DD, Route124_Text_2A1384 - msgbox Route124_Text_2A130F, MSGBOX_AUTOCLOSE +Route124_EventScript_RematchRoy:: @ 81F66F0 + trainerbattle_rematch_double TRAINER_LILA_AND_ROY_1, Route124_Text_RoyRematchIntro, Route124_Text_RoyRematchDefeat, Route124_Text_RoyRematchNotEnoughMons + msgbox Route124_Text_RoyPostRematch, MSGBOX_AUTOCLOSE end -Route124_EventScript_1F670B:: @ 81F670B - trainerbattle_single TRAINER_DECLAN, Route124_Text_2A13BD, Route124_Text_2A142C - msgbox Route124_Text_2A144F, MSGBOX_AUTOCLOSE +Route124_EventScript_Declan:: @ 81F670B + trainerbattle_single TRAINER_DECLAN, Route124_Text_DeclanIntro, Route124_Text_DeclanDefeat + msgbox Route124_Text_DeclanPostBattle, MSGBOX_AUTOCLOSE end -Route124_EventScript_1F6722:: @ 81F6722 - trainerbattle_single TRAINER_ISABELLA, Route124_Text_2A148E, Route124_Text_2A14BC - msgbox Route124_Text_2A14ED, MSGBOX_AUTOCLOSE +Route124_EventScript_Isabella:: @ 81F6722 + trainerbattle_single TRAINER_ISABELLA, Route124_Text_IsabellaIntro, Route124_Text_IsabellaDefeat + msgbox Route124_Text_IsabellaPostBattle, MSGBOX_AUTOCLOSE end -Route124_Text_1F6739: @ 81F6739 +Route124_Text_HuntersHouse: @ 81F6739 .string "HUNTER'S HOUSE$" diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/map.json b/data/maps/Route124_DivingTreasureHuntersHouse/map.json index 2b61cd6fa6..c8ec142f2b 100644 --- a/data/maps/Route124_DivingTreasureHuntersHouse/map.json +++ b/data/maps/Route124_DivingTreasureHuntersHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "Route124_DivingTreasureHuntersHouse_EventScript_270A32", + "script": "Route124_DivingTreasureHuntersHouse_EventScript_TreasureHunter", "flag": "0" } ], @@ -52,7 +52,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Route124_DivingTreasureHuntersHouse_EventScript_270F63" + "script": "Route124_DivingTreasureHuntersHouse_EventScript_ShardTradeBoard" } ] } \ No newline at end of file diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc index e1fb3d6f84..c5d43799d9 100644 --- a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc +++ b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc @@ -6,338 +6,338 @@ Route124_DivingTreasureHuntersHouse_OnTransition: @ 8270A2E setflag FLAG_LANDMARK_HUNTERS_HOUSE end -Route124_DivingTreasureHuntersHouse_EventScript_270A32:: @ 8270A32 +Route124_DivingTreasureHuntersHouse_EventScript_TreasureHunter:: @ 8270A32 lock faceplayer - goto_if_set FLAG_MET_DIVING_TREASURE_HUNTER, Route124_DivingTreasureHuntersHouse_EventScript_270A4E - msgbox Route124_DivingTreasureHuntersHouse_Text_270F6C, MSGBOX_DEFAULT + goto_if_set FLAG_MET_DIVING_TREASURE_HUNTER, Route124_DivingTreasureHuntersHouse_EventScript_SkipGreeting + msgbox Route124_DivingTreasureHuntersHouse_Text_Greeting, MSGBOX_DEFAULT setflag FLAG_MET_DIVING_TREASURE_HUNTER - goto Route124_DivingTreasureHuntersHouse_EventScript_270A5C + goto Route124_DivingTreasureHuntersHouse_EventScript_CheckPlayerHasShard end -Route124_DivingTreasureHuntersHouse_EventScript_270A4E:: @ 8270A4E - msgbox Route124_DivingTreasureHuntersHouse_Text_270FE5, MSGBOX_DEFAULT - goto Route124_DivingTreasureHuntersHouse_EventScript_270A5C +Route124_DivingTreasureHuntersHouse_EventScript_SkipGreeting:: @ 8270A4E + msgbox Route124_DivingTreasureHuntersHouse_Text_HaveYouSeenAnyShards, MSGBOX_DEFAULT + goto Route124_DivingTreasureHuntersHouse_EventScript_CheckPlayerHasShard end -Route124_DivingTreasureHuntersHouse_EventScript_270A5C:: @ 8270A5C - call Route124_DivingTreasureHuntersHouse_EventScript_270A72 +Route124_DivingTreasureHuntersHouse_EventScript_CheckPlayerHasShard:: @ 8270A5C + call Route124_DivingTreasureHuntersHouse_EventScript_GetPlayersShards compare VAR_TEMP_1, 0 - goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F57 - goto Route124_DivingTreasureHuntersHouse_EventScript_270AD0 + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_NoShards + goto Route124_DivingTreasureHuntersHouse_EventScript_HasShard end -Route124_DivingTreasureHuntersHouse_EventScript_270A72:: @ 8270A72 +Route124_DivingTreasureHuntersHouse_EventScript_GetPlayersShards:: @ 8270A72 setvar VAR_TEMP_1, 0 checkitem ITEM_RED_SHARD, 1 - compare VAR_RESULT, 1 - call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270AB8 + compare VAR_RESULT, TRUE + call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_HasRedShard checkitem ITEM_YELLOW_SHARD, 1 - compare VAR_RESULT, 1 - call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270ABE + compare VAR_RESULT, TRUE + call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_HasYellowShard checkitem ITEM_BLUE_SHARD, 1 - compare VAR_RESULT, 1 - call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270AC4 + compare VAR_RESULT, TRUE + call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_HasBlueShard checkitem ITEM_GREEN_SHARD, 1 - compare VAR_RESULT, 1 - call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270ACA + compare VAR_RESULT, TRUE + call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_HasGreenShard return -Route124_DivingTreasureHuntersHouse_EventScript_270AB8:: @ 8270AB8 +Route124_DivingTreasureHuntersHouse_EventScript_HasRedShard:: @ 8270AB8 addvar VAR_TEMP_1, 1 return -Route124_DivingTreasureHuntersHouse_EventScript_270ABE:: @ 8270ABE +Route124_DivingTreasureHuntersHouse_EventScript_HasYellowShard:: @ 8270ABE addvar VAR_TEMP_1, 2 return -Route124_DivingTreasureHuntersHouse_EventScript_270AC4:: @ 8270AC4 +Route124_DivingTreasureHuntersHouse_EventScript_HasBlueShard:: @ 8270AC4 addvar VAR_TEMP_1, 4 return -Route124_DivingTreasureHuntersHouse_EventScript_270ACA:: @ 8270ACA +Route124_DivingTreasureHuntersHouse_EventScript_HasGreenShard:: @ 8270ACA addvar VAR_TEMP_1, 8 return -Route124_DivingTreasureHuntersHouse_EventScript_270AD0:: @ 8270AD0 - msgbox Route124_DivingTreasureHuntersHouse_Text_271098, MSGBOX_DEFAULT - goto Route124_DivingTreasureHuntersHouse_EventScript_270ADE +Route124_DivingTreasureHuntersHouse_EventScript_HasShard:: @ 8270AD0 + msgbox Route124_DivingTreasureHuntersHouse_Text_ThatsAShardIllTradeYou, MSGBOX_DEFAULT + goto Route124_DivingTreasureHuntersHouse_EventScript_ShowTradeOptions end -Route124_DivingTreasureHuntersHouse_EventScript_270ADE:: @ 8270ADE - message Route124_DivingTreasureHuntersHouse_Text_271117 +Route124_DivingTreasureHuntersHouse_EventScript_ShowTradeOptions:: @ 8270ADE + message Route124_DivingTreasureHuntersHouse_Text_WhatDoYouWantToTrade waitmessage switch VAR_TEMP_1 - case 1, Route124_DivingTreasureHuntersHouse_EventScript_270B8F - case 2, Route124_DivingTreasureHuntersHouse_EventScript_270BB5 - case 3, Route124_DivingTreasureHuntersHouse_EventScript_270BDB - case 4, Route124_DivingTreasureHuntersHouse_EventScript_270C0C - case 5, Route124_DivingTreasureHuntersHouse_EventScript_270C32 - case 6, Route124_DivingTreasureHuntersHouse_EventScript_270C63 - case 7, Route124_DivingTreasureHuntersHouse_EventScript_270C94 - case 8, Route124_DivingTreasureHuntersHouse_EventScript_270CD0 - case 9, Route124_DivingTreasureHuntersHouse_EventScript_270CF6 - case 10, Route124_DivingTreasureHuntersHouse_EventScript_270D27 - case 11, Route124_DivingTreasureHuntersHouse_EventScript_270D58 - case 12, Route124_DivingTreasureHuntersHouse_EventScript_270D94 - case 13, Route124_DivingTreasureHuntersHouse_EventScript_270DC5 - case 14, Route124_DivingTreasureHuntersHouse_EventScript_270E01 - case 15, Route124_DivingTreasureHuntersHouse_EventScript_270E3D + case 1, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsR + case 2, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsY + case 3, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRY + case 4, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsB + case 5, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRB + case 6, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsYB + case 7, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRYB + case 8, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsG + case 9, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRG + case 10, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsYG + case 11, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRYG + case 12, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsBG + case 13, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRBG + case 14, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsYBG + case 15, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRYBG end -Route124_DivingTreasureHuntersHouse_EventScript_270B8F:: @ 8270B8F - multichoice 0, 0, 58, 0 +Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsR:: @ 8270B8F + multichoice 0, 0, MULTI_SHARDS_R, 0 switch VAR_RESULT - case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84 - case 1, Route124_DivingTreasureHuntersHouse_EventScript_270F4D - goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard + case 1, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade + goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade end -Route124_DivingTreasureHuntersHouse_EventScript_270BB5:: @ 8270BB5 - multichoice 0, 0, 59, 0 +Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsY:: @ 8270BB5 + multichoice 0, 0, MULTI_SHARDS_Y, 0 switch VAR_RESULT - case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E93 - case 1, Route124_DivingTreasureHuntersHouse_EventScript_270F4D - goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard + case 1, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade + goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade end -Route124_DivingTreasureHuntersHouse_EventScript_270BDB:: @ 8270BDB - multichoice 0, 0, 60, 0 +Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRY:: @ 8270BDB + multichoice 0, 0, MULTI_SHARDS_RY, 0 switch VAR_RESULT - case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84 - case 1, Route124_DivingTreasureHuntersHouse_EventScript_270E93 - case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D - goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard + case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard + case 2, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade + goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade end -Route124_DivingTreasureHuntersHouse_EventScript_270C0C:: @ 8270C0C - multichoice 0, 0, 61, 0 +Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsB:: @ 8270C0C + multichoice 0, 0, MULTI_SHARDS_B, 0 switch VAR_RESULT - case 0, Route124_DivingTreasureHuntersHouse_EventScript_270EA2 - case 1, Route124_DivingTreasureHuntersHouse_EventScript_270F4D - goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard + case 1, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade + goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade end -Route124_DivingTreasureHuntersHouse_EventScript_270C32:: @ 8270C32 - multichoice 0, 0, 62, 0 +Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRB:: @ 8270C32 + multichoice 0, 0, MULTI_SHARDS_RB, 0 switch VAR_RESULT - case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84 - case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EA2 - case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D - goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard + case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard + case 2, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade + goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade end -Route124_DivingTreasureHuntersHouse_EventScript_270C63:: @ 8270C63 - multichoice 0, 0, 63, 0 +Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsYB:: @ 8270C63 + multichoice 0, 0, MULTI_SHARDS_YB, 0 switch VAR_RESULT - case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E93 - case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EA2 - case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D - goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard + case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard + case 2, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade + goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade end -Route124_DivingTreasureHuntersHouse_EventScript_270C94:: @ 8270C94 - multichoice 0, 0, 64, 0 +Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRYB:: @ 8270C94 + multichoice 0, 0, MULTI_SHARDS_RYB, 0 switch VAR_RESULT - case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84 - case 1, Route124_DivingTreasureHuntersHouse_EventScript_270E93 - case 2, Route124_DivingTreasureHuntersHouse_EventScript_270EA2 - case 3, Route124_DivingTreasureHuntersHouse_EventScript_270F4D - goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard + case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard + case 2, Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard + case 3, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade + goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade end -Route124_DivingTreasureHuntersHouse_EventScript_270CD0:: @ 8270CD0 - multichoice 0, 0, 65, 0 +Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsG:: @ 8270CD0 + multichoice 0, 0, MULTI_SHARDS_G, 0 switch VAR_RESULT - case 0, Route124_DivingTreasureHuntersHouse_EventScript_270EB1 - case 1, Route124_DivingTreasureHuntersHouse_EventScript_270F4D - goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard + case 1, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade + goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade end -Route124_DivingTreasureHuntersHouse_EventScript_270CF6:: @ 8270CF6 - multichoice 0, 0, 66, 0 +Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRG:: @ 8270CF6 + multichoice 0, 0, MULTI_SHARDS_RG, 0 switch VAR_RESULT - case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84 - case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EB1 - case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D - goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard + case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard + case 2, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade + goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade end -Route124_DivingTreasureHuntersHouse_EventScript_270D27:: @ 8270D27 - multichoice 0, 0, 67, 0 +Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsYG:: @ 8270D27 + multichoice 0, 0, MULTI_SHARDS_YG, 0 switch VAR_RESULT - case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E93 - case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EB1 - case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D - goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard + case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard + case 2, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade + goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade end -Route124_DivingTreasureHuntersHouse_EventScript_270D58:: @ 8270D58 - multichoice 0, 0, 68, 0 +Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRYG:: @ 8270D58 + multichoice 0, 0, MULTI_SHARDS_RYG, 0 switch VAR_RESULT - case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84 - case 1, Route124_DivingTreasureHuntersHouse_EventScript_270E93 - case 2, Route124_DivingTreasureHuntersHouse_EventScript_270EB1 - case 3, Route124_DivingTreasureHuntersHouse_EventScript_270F4D - goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard + case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard + case 2, Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard + case 3, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade + goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade end -Route124_DivingTreasureHuntersHouse_EventScript_270D94:: @ 8270D94 - multichoice 0, 0, 69, 0 +Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsBG:: @ 8270D94 + multichoice 0, 0, MULTI_SHARDS_BG, 0 switch VAR_RESULT - case 0, Route124_DivingTreasureHuntersHouse_EventScript_270EA2 - case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EB1 - case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D - goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard + case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard + case 2, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade + goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade end -Route124_DivingTreasureHuntersHouse_EventScript_270DC5:: @ 8270DC5 - multichoice 0, 0, 70, 0 +Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRBG:: @ 8270DC5 + multichoice 0, 0, MULTI_SHARDS_RBG, 0 switch VAR_RESULT - case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84 - case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EA2 - case 2, Route124_DivingTreasureHuntersHouse_EventScript_270EB1 - case 3, Route124_DivingTreasureHuntersHouse_EventScript_270F4D - goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard + case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard + case 2, Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard + case 3, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade + goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade end -Route124_DivingTreasureHuntersHouse_EventScript_270E01:: @ 8270E01 - multichoice 0, 0, 71, 0 +Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsYBG:: @ 8270E01 + multichoice 0, 0, MULTI_SHARDS_YBG, 0 switch VAR_RESULT - case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E93 - case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EA2 - case 2, Route124_DivingTreasureHuntersHouse_EventScript_270EB1 - case 3, Route124_DivingTreasureHuntersHouse_EventScript_270F4D - goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard + case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard + case 2, Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard + case 3, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade + goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade end -Route124_DivingTreasureHuntersHouse_EventScript_270E3D:: @ 8270E3D - multichoice 0, 0, 72, 0 +Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRYBG:: @ 8270E3D + multichoice 0, 0, MULTI_SHARDS_RYBG, 0 switch VAR_RESULT - case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84 - case 1, Route124_DivingTreasureHuntersHouse_EventScript_270E93 - case 2, Route124_DivingTreasureHuntersHouse_EventScript_270EA2 - case 3, Route124_DivingTreasureHuntersHouse_EventScript_270EB1 - case 4, Route124_DivingTreasureHuntersHouse_EventScript_270F4D - goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard + case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard + case 2, Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard + case 3, Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard + case 4, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade + goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade end -Route124_DivingTreasureHuntersHouse_EventScript_270E84:: @ 8270E84 - setvar VAR_0x8008, 48 - setvar VAR_0x8009, 95 - goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0 +Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard:: @ 8270E84 + setvar VAR_0x8008, ITEM_RED_SHARD + setvar VAR_0x8009, ITEM_FIRE_STONE + goto Route124_DivingTreasureHuntersHouse_EventScript_TryTradeShard -Route124_DivingTreasureHuntersHouse_EventScript_270E93:: @ 8270E93 - setvar VAR_0x8008, 50 - setvar VAR_0x8009, 96 - goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0 +Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard:: @ 8270E93 + setvar VAR_0x8008, ITEM_YELLOW_SHARD + setvar VAR_0x8009, ITEM_THUNDER_STONE + goto Route124_DivingTreasureHuntersHouse_EventScript_TryTradeShard -Route124_DivingTreasureHuntersHouse_EventScript_270EA2:: @ 8270EA2 - setvar VAR_0x8008, 49 - setvar VAR_0x8009, 97 - goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0 +Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard:: @ 8270EA2 + setvar VAR_0x8008, ITEM_BLUE_SHARD + setvar VAR_0x8009, ITEM_WATER_STONE + goto Route124_DivingTreasureHuntersHouse_EventScript_TryTradeShard -Route124_DivingTreasureHuntersHouse_EventScript_270EB1:: @ 8270EB1 - setvar VAR_0x8008, 51 - setvar VAR_0x8009, 98 - goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0 +Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard:: @ 8270EB1 + setvar VAR_0x8008, ITEM_GREEN_SHARD + setvar VAR_0x8009, ITEM_LEAF_STONE + goto Route124_DivingTreasureHuntersHouse_EventScript_TryTradeShard -Route124_DivingTreasureHuntersHouse_EventScript_270EC0:: @ 8270EC0 +Route124_DivingTreasureHuntersHouse_EventScript_TryTradeShard:: @ 8270EC0 bufferitemname 0, VAR_0x8008 bufferitemname 1, VAR_0x8009 - msgbox Route124_DivingTreasureHuntersHouse_Text_271132, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F4D + msgbox Route124_DivingTreasureHuntersHouse_Text_YoullTradeShardForStone, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade checkitemspace VAR_0x8009, 1 - compare VAR_RESULT, 1 - goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F01 + compare VAR_RESULT, TRUE + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_TradeShard checkitem VAR_0x8008, 2 - compare VAR_RESULT, 0 - goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F01 - goto Route124_DivingTreasureHuntersHouse_EventScript_270F43 + compare VAR_RESULT, FALSE + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_TradeShard + goto Route124_DivingTreasureHuntersHouse_EventScript_BagFull end -Route124_DivingTreasureHuntersHouse_EventScript_270F01:: @ 8270F01 - takeitem VAR_0x8008, 1 - giveitem_std VAR_0x8009 - msgbox Route124_DivingTreasureHuntersHouse_Text_271158, MSGBOX_DEFAULT - call Route124_DivingTreasureHuntersHouse_EventScript_270A72 +Route124_DivingTreasureHuntersHouse_EventScript_TradeShard:: @ 8270F01 + removeitem VAR_0x8008 + giveitem VAR_0x8009 + msgbox Route124_DivingTreasureHuntersHouse_Text_ItsADeal, MSGBOX_DEFAULT + call Route124_DivingTreasureHuntersHouse_EventScript_GetPlayersShards compare VAR_TEMP_1, 0 - goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F61 - msgbox Route124_DivingTreasureHuntersHouse_Text_27117B, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270ADE - goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_EndTrade + msgbox Route124_DivingTreasureHuntersHouse_Text_TradeSomethingElse, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_ShowTradeOptions + goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade end -Route124_DivingTreasureHuntersHouse_EventScript_270F43:: @ 8270F43 - msgbox Route124_DivingTreasureHuntersHouse_Text_2711A0, MSGBOX_DEFAULT +Route124_DivingTreasureHuntersHouse_EventScript_BagFull:: @ 8270F43 + msgbox Route124_DivingTreasureHuntersHouse_Text_BagFull, MSGBOX_DEFAULT release end -Route124_DivingTreasureHuntersHouse_EventScript_270F4D:: @ 8270F4D - msgbox Route124_DivingTreasureHuntersHouse_Text_2711D8, MSGBOX_DEFAULT +Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade:: @ 8270F4D + msgbox Route124_DivingTreasureHuntersHouse_Text_ComeBackIfYouChangeMind, MSGBOX_DEFAULT release end -Route124_DivingTreasureHuntersHouse_EventScript_270F57:: @ 8270F57 - msgbox Route124_DivingTreasureHuntersHouse_Text_271027, MSGBOX_DEFAULT +Route124_DivingTreasureHuntersHouse_EventScript_NoShards:: @ 8270F57 + msgbox Route124_DivingTreasureHuntersHouse_Text_YouHaventGotAnyShards, MSGBOX_DEFAULT release end -Route124_DivingTreasureHuntersHouse_EventScript_270F61:: @ 8270F61 +Route124_DivingTreasureHuntersHouse_EventScript_EndTrade:: @ 8270F61 release end -Route124_DivingTreasureHuntersHouse_EventScript_270F63:: @ 8270F63 - msgbox Route124_DivingTreasureHuntersHouse_Text_271217, MSGBOX_SIGN +Route124_DivingTreasureHuntersHouse_EventScript_ShardTradeBoard:: @ 8270F63 + msgbox Route124_DivingTreasureHuntersHouse_Text_ShardTradeBoard, MSGBOX_SIGN end -Route124_DivingTreasureHuntersHouse_Text_270F6C: @ 8270F6C +Route124_DivingTreasureHuntersHouse_Text_Greeting: @ 8270F6C .string "I'm the DIVING TREASURE HUNTER!\p" .string "I'm the awesome dude who makes\n" .string "deep-sea dives to gather treasures\l" .string "resting at the bottom.$" -Route124_DivingTreasureHuntersHouse_Text_270FE5: @ 8270FE5 +Route124_DivingTreasureHuntersHouse_Text_HaveYouSeenAnyShards: @ 8270FE5 .string "Tell me, have you seen any SHARDS of\n" .string "tools made in ancient times?$" -Route124_DivingTreasureHuntersHouse_Text_271027: @ 8271027 +Route124_DivingTreasureHuntersHouse_Text_YouHaventGotAnyShards: @ 8271027 .string "You haven't got any treasures\n" .string "for me…\p" .string "If you see any SHARDS, like the RED\n" .string "SHARD, you've got to trade it with me!$" -Route124_DivingTreasureHuntersHouse_Text_271098: @ 8271098 +Route124_DivingTreasureHuntersHouse_Text_ThatsAShardIllTradeYou: @ 8271098 .string "Oh, hey! That…\n" .string "That's a SHARD! I'm looking for those!\p" .string "Oh, man, you've got to trade that\n" .string "with me! I'll give you something good!$" -Route124_DivingTreasureHuntersHouse_Text_271117: @ 8271117 +Route124_DivingTreasureHuntersHouse_Text_WhatDoYouWantToTrade: @ 8271117 .string "What do you want to trade?$" -Route124_DivingTreasureHuntersHouse_Text_271132: @ 8271132 +Route124_DivingTreasureHuntersHouse_Text_YoullTradeShardForStone: @ 8271132 .string "You'll trade your {STR_VAR_1} for\n" .string "my {STR_VAR_2}, then?$" -Route124_DivingTreasureHuntersHouse_Text_271158: @ 8271158 +Route124_DivingTreasureHuntersHouse_Text_ItsADeal: @ 8271158 .string "It's a done deal!\n" .string "Use that wisely!$" -Route124_DivingTreasureHuntersHouse_Text_27117B: @ 827117B +Route124_DivingTreasureHuntersHouse_Text_TradeSomethingElse: @ 827117B .string "Do you want to trade something else?$" -Route124_DivingTreasureHuntersHouse_Text_2711A0: @ 82711A0 +Route124_DivingTreasureHuntersHouse_Text_BagFull: @ 82711A0 .string "Whoops, your BAG's full.\n" .string "Get rid of some items, friend!$" -Route124_DivingTreasureHuntersHouse_Text_2711D8: @ 82711D8 +Route124_DivingTreasureHuntersHouse_Text_ComeBackIfYouChangeMind: @ 82711D8 .string "No? That's a downer.\n" .string "Well, if you change your mind, come back.$" -Route124_DivingTreasureHuntersHouse_Text_271217: @ 8271217 +Route124_DivingTreasureHuntersHouse_Text_ShardTradeBoard: @ 8271217 .string "{CLEAR_TO 0x0a}Wanted item{CLEAR_TO 0x7c}Trade item\n" .string "{CLEAR_TO 0x0f}RED SHARD{CLEAR_TO 0x59}{LEFT_ARROW}{RIGHT_ARROW}{CLEAR_TO 0x7b}FIRE STONE{CLEAR_TO 0xc8}\p" .string "{CLEAR_TO 0x0a}Wanted item{CLEAR_TO 0x7c}Trade item\n" diff --git a/data/maps/Route125/map.json b/data/maps/Route125/map.json index 27615a521b..402c429329 100644 --- a/data/maps/Route125/map.json +++ b/data/maps/Route125/map.json @@ -40,7 +40,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route125_EventScript_1F67A4", + "script": "Route125_EventScript_Nolen", "flag": "0" }, { @@ -53,7 +53,7 @@ "movement_range_y": 5, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route125_EventScript_1F67BB", + "script": "Route125_EventScript_Stan", "flag": "0" }, { @@ -66,7 +66,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route125_EventScript_1F67D2", + "script": "Route125_EventScript_Tanya", "flag": "0" }, { @@ -79,7 +79,7 @@ "movement_range_y": 9, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route125_EventScript_1F67E9", + "script": "Route125_EventScript_Sharon", "flag": "0" }, { @@ -92,7 +92,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route125_EventScript_1F6800", + "script": "Route125_EventScript_Ernest", "flag": "0" }, { @@ -105,7 +105,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route125_EventScript_1F6862", + "script": "Route125_EventScript_Kim", "flag": "0" }, { @@ -118,7 +118,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route125_EventScript_1F687D", + "script": "Route125_EventScript_Iris", "flag": "0" }, { @@ -131,7 +131,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route125_EventScript_1F6898", + "script": "Route125_EventScript_Presley", "flag": "0" }, { @@ -144,7 +144,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route125_EventScript_1F68AF", + "script": "Route125_EventScript_Auron", "flag": "0" }, { diff --git a/data/maps/Route125/scripts.inc b/data/maps/Route125/scripts.inc index 2c15eee3df..b771e75f9a 100644 --- a/data/maps/Route125/scripts.inc +++ b/data/maps/Route125/scripts.inc @@ -1,89 +1,89 @@ Route125_MapScripts:: @ 81F6748 map_script MAP_SCRIPT_ON_TRANSITION, Route125_OnTransition - map_script MAP_SCRIPT_ON_LOAD, Route125_MapScript1_1F6783 - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route125_MapScript2_1F679A + map_script MAP_SCRIPT_ON_LOAD, Route125_OnLoad + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route125_OnFrame .byte 0 Route125_OnTransition: @ 81F6758 - call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 - compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 - call_if_eq Route125_EventScript_273D13 - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_125_WEST - call_if_eq UnusualWeather_StartKyogreWeather - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_125_EAST - call_if_eq UnusualWeather_StartKyogreWeather + call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather + compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1 + call_if_eq AbnormalWeather_EventScript_HideMapNamePopup + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_125_WEST + call_if_eq AbnormalWeather_StartKyogreWeather + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_125_EAST + call_if_eq AbnormalWeather_StartKyogreWeather end -Route125_MapScript1_1F6783: @ 81F6783 - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_125_WEST - call_if_eq UnusualWeather_EventScript_PlaceTilesRoute125West - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_125_EAST - call_if_eq UnusualWeather_EventScript_PlaceTilesRoute125East +Route125_OnLoad: @ 81F6783 + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_125_WEST + call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute125West + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_125_EAST + call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute125East end -Route125_MapScript2_1F679A: @ 81F679A - map_script_2 VAR_SHOULD_END_UNUSUAL_WEATHER, 1, UnusualWeather_EventScript_EndEventAndCleanup_1 +Route125_OnFrame: @ 81F679A + map_script_2 VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_EndEventAndCleanup_1 .2byte 0 -Route125_EventScript_1F67A4:: @ 81F67A4 - trainerbattle_single TRAINER_NOLEN, Route125_Text_2A1527, Route125_Text_2A155A - msgbox Route125_Text_2A1567, MSGBOX_AUTOCLOSE +Route125_EventScript_Nolen:: @ 81F67A4 + trainerbattle_single TRAINER_NOLEN, Route125_Text_NolenIntro, Route125_Text_NolenDefeat + msgbox Route125_Text_NolenPostBattle, MSGBOX_AUTOCLOSE end -Route125_EventScript_1F67BB:: @ 81F67BB - trainerbattle_single TRAINER_STAN, Route125_Text_2A159F, Route125_Text_2A15C7 - msgbox Route125_Text_2A15D5, MSGBOX_AUTOCLOSE +Route125_EventScript_Stan:: @ 81F67BB + trainerbattle_single TRAINER_STAN, Route125_Text_StanIntro, Route125_Text_StanDefeat + msgbox Route125_Text_StanPostBattle, MSGBOX_AUTOCLOSE end -Route125_EventScript_1F67D2:: @ 81F67D2 - trainerbattle_single TRAINER_TANYA, Route125_Text_2A1615, Route125_Text_2A164D - msgbox Route125_Text_2A165E, MSGBOX_AUTOCLOSE +Route125_EventScript_Tanya:: @ 81F67D2 + trainerbattle_single TRAINER_TANYA, Route125_Text_TanyaIntro, Route125_Text_TanyaDefeat + msgbox Route125_Text_TanyaPostBattle, MSGBOX_AUTOCLOSE end -Route125_EventScript_1F67E9:: @ 81F67E9 - trainerbattle_single TRAINER_SHARON, Route125_Text_2A1686, Route125_Text_2A16C5 - msgbox Route125_Text_2A16CE, MSGBOX_AUTOCLOSE +Route125_EventScript_Sharon:: @ 81F67E9 + trainerbattle_single TRAINER_SHARON, Route125_Text_SharonIntro, Route125_Text_SharonDefeat + msgbox Route125_Text_SharonPostBattle, MSGBOX_AUTOCLOSE end -Route125_EventScript_1F6800:: @ 81F6800 - trainerbattle_single TRAINER_ERNEST_1, Route125_Text_2A16FC, Route125_Text_2A173A, Route125_EventScript_1F682C +Route125_EventScript_Ernest:: @ 81F6800 + trainerbattle_single TRAINER_ERNEST_1, Route125_Text_ErnestIntro, Route125_Text_ErnestDefeat, Route125_EventScript_RegisterErnest specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route125_EventScript_1F684B - msgbox Route125_Text_2A1755, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route125_EventScript_RematchErnest + msgbox Route125_Text_ErnestPostBattle, MSGBOX_DEFAULT release end -Route125_EventScript_1F682C:: @ 81F682C - special sub_80B4808 +Route125_EventScript_RegisterErnest:: @ 81F682C + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route125_Text_2A17CF, MSGBOX_DEFAULT + msgbox Route125_Text_ErnestRegister, MSGBOX_DEFAULT register_matchcall TRAINER_ERNEST_1 release end -Route125_EventScript_1F684B:: @ 81F684B - trainerbattle_rematch TRAINER_ERNEST_1, Route125_Text_2A180E, Route125_Text_2A1851 - msgbox Route125_Text_2A187A, MSGBOX_AUTOCLOSE +Route125_EventScript_RematchErnest:: @ 81F684B + trainerbattle_rematch TRAINER_ERNEST_1, Route125_Text_ErnestRematchIntro, Route125_Text_ErnestRematchDefeat + msgbox Route125_Text_ErnestRematchPostBattle, MSGBOX_AUTOCLOSE end -Route125_EventScript_1F6862:: @ 81F6862 - trainerbattle_double TRAINER_KIM_AND_IRIS, Route125_Text_2A192B, Route125_Text_2A1989, Route125_Text_2A19F8 - msgbox Route125_Text_2A19A6, MSGBOX_AUTOCLOSE +Route125_EventScript_Kim:: @ 81F6862 + trainerbattle_double TRAINER_KIM_AND_IRIS, Route125_Text_KimIntro, Route125_Text_KimDefeat, Route125_Text_KimNotEnoughMons + msgbox Route125_Text_KimPostBattle, MSGBOX_AUTOCLOSE end -Route125_EventScript_1F687D:: @ 81F687D - trainerbattle_double TRAINER_KIM_AND_IRIS, Route125_Text_2A1A35, Route125_Text_2A1A71, Route125_Text_2A1AD9 - msgbox Route125_Text_2A1A92, MSGBOX_AUTOCLOSE +Route125_EventScript_Iris:: @ 81F687D + trainerbattle_double TRAINER_KIM_AND_IRIS, Route125_Text_IrisIntro, Route125_Text_IrisDefeat, Route125_Text_IrisNotEnoughMons + msgbox Route125_Text_IrisPostBattle, MSGBOX_AUTOCLOSE end -Route125_EventScript_1F6898:: @ 81F6898 - trainerbattle_single TRAINER_PRESLEY, Route125_Text_2A1B1A, Route125_Text_2A1B4E - msgbox Route125_Text_2A1B70, MSGBOX_AUTOCLOSE +Route125_EventScript_Presley:: @ 81F6898 + trainerbattle_single TRAINER_PRESLEY, Route125_Text_PresleyIntro, Route125_Text_PresleyDefeat + msgbox Route125_Text_PresleyPostBattle, MSGBOX_AUTOCLOSE end -Route125_EventScript_1F68AF:: @ 81F68AF - trainerbattle_single TRAINER_AURON, Route125_Text_2A1BCE, Route125_Text_2A1BFD - msgbox Route125_Text_2A1C2A, MSGBOX_AUTOCLOSE +Route125_EventScript_Auron:: @ 81F68AF + trainerbattle_single TRAINER_AURON, Route125_Text_AuronIntro, Route125_Text_AuronDefeat + msgbox Route125_Text_AuronPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/Route126/map.json b/data/maps/Route126/map.json index b8359bd842..db01091ac1 100644 --- a/data/maps/Route126/map.json +++ b/data/maps/Route126/map.json @@ -40,7 +40,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route126_EventScript_1F68D6", + "script": "Route126_EventScript_Barry", "flag": "0" }, { @@ -53,7 +53,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route126_EventScript_1F68ED", + "script": "Route126_EventScript_Dean", "flag": "0" }, { @@ -66,7 +66,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route126_EventScript_1F6904", + "script": "Route126_EventScript_Nikki", "flag": "0" }, { @@ -79,7 +79,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route126_EventScript_1F691B", + "script": "Route126_EventScript_Brenda", "flag": "0" }, { @@ -105,7 +105,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "7", - "script": "Route126_EventScript_1F6960", + "script": "Route126_EventScript_Sienna", "flag": "0" }, { @@ -118,7 +118,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "7", - "script": "Route126_EventScript_1F6977", + "script": "Route126_EventScript_Pablo", "flag": "0" }, { @@ -131,7 +131,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "7", - "script": "Route126_EventScript_1F6949", + "script": "Route126_EventScript_Isobel", "flag": "0" }, { @@ -144,7 +144,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "7", - "script": "Route126_EventScript_1F6932", + "script": "Route126_EventScript_Leonardo", "flag": "0" } ], diff --git a/data/maps/Route126/scripts.inc b/data/maps/Route126/scripts.inc index 7a606e0203..6fbc435924 100644 --- a/data/maps/Route126/scripts.inc +++ b/data/maps/Route126/scripts.inc @@ -3,63 +3,63 @@ Route126_MapScripts:: @ 81F68C6 .byte 0 Route126_OnTransition: @ 81F68CC - call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 + call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather end -Route126_EventScript_1F68D6:: @ 81F68D6 - trainerbattle_single TRAINER_BARRY, Route126_Text_2A1C95, Route126_Text_2A1CC8 - msgbox Route126_Text_2A1CDD, MSGBOX_AUTOCLOSE +Route126_EventScript_Barry:: @ 81F68D6 + trainerbattle_single TRAINER_BARRY, Route126_Text_BarryIntro, Route126_Text_BarryDefeat + msgbox Route126_Text_BarryPostBattle, MSGBOX_AUTOCLOSE end -Route126_EventScript_1F68ED:: @ 81F68ED - trainerbattle_single TRAINER_DEAN, Route126_Text_2A1D2A, Route126_Text_2A1D63 - msgbox Route126_Text_2A1D72, MSGBOX_AUTOCLOSE +Route126_EventScript_Dean:: @ 81F68ED + trainerbattle_single TRAINER_DEAN, Route126_Text_DeanIntro, Route126_Text_DeanDefeat + msgbox Route126_Text_DeanPostBattle, MSGBOX_AUTOCLOSE end -Route126_EventScript_1F6904:: @ 81F6904 - trainerbattle_single TRAINER_NIKKI, Route126_Text_2A1DAE, Route126_Text_2A1DC8 - msgbox Route126_Text_2A1E03, MSGBOX_AUTOCLOSE +Route126_EventScript_Nikki:: @ 81F6904 + trainerbattle_single TRAINER_NIKKI, Route126_Text_NikkiIntro, Route126_Text_NikkiDefeat + msgbox Route126_Text_NikkiPostBattle, MSGBOX_AUTOCLOSE end -Route126_EventScript_1F691B:: @ 81F691B - trainerbattle_single TRAINER_BRENDA, Route126_Text_2A1E3E, Route126_Text_2A1E63 - msgbox Route126_Text_2A1E70, MSGBOX_AUTOCLOSE +Route126_EventScript_Brenda:: @ 81F691B + trainerbattle_single TRAINER_BRENDA, Route126_Text_BrendaIntro, Route126_Text_BrendaDefeat + msgbox Route126_Text_BrendaPostBattle, MSGBOX_AUTOCLOSE end -Route126_EventScript_1F6932:: @ 81F6932 - trainerbattle_single TRAINER_LEONARDO, Route126_Text_2A2063, Route126_Text_2A20C6 - msgbox Route126_Text_2A20F7, MSGBOX_AUTOCLOSE +Route126_EventScript_Leonardo:: @ 81F6932 + trainerbattle_single TRAINER_LEONARDO, Route126_Text_LeonardoIntro, Route126_Text_LeonardoDefeat + msgbox Route126_Text_LeonardoPostBattle, MSGBOX_AUTOCLOSE end -Route126_EventScript_1F6949:: @ 81F6949 - trainerbattle_single TRAINER_ISOBEL, Route126_Text_2A216A, Route126_Text_2A21A3 - msgbox Route126_Text_2A21B8, MSGBOX_AUTOCLOSE +Route126_EventScript_Isobel:: @ 81F6949 + trainerbattle_single TRAINER_ISOBEL, Route126_Text_IsobelIntro, Route126_Text_IsobelDefeat + msgbox Route126_Text_IsobelPostBattle, MSGBOX_AUTOCLOSE end -Route126_EventScript_1F6960:: @ 81F6960 - trainerbattle_single TRAINER_SIENNA, Route126_Text_2A21EF, Route126_Text_2A2216 - msgbox Route126_Text_2A222A, MSGBOX_AUTOCLOSE +Route126_EventScript_Sienna:: @ 81F6960 + trainerbattle_single TRAINER_SIENNA, Route126_Text_SiennaIntro, Route126_Text_SiennaDefeat + msgbox Route126_Text_SiennaPostBattle, MSGBOX_AUTOCLOSE end -Route126_EventScript_1F6977:: @ 81F6977 - trainerbattle_single TRAINER_PABLO_1, Route126_Text_2A1EA5, Route126_Text_2A1EE3, Route126_EventScript_1F69A3 +Route126_EventScript_Pablo:: @ 81F6977 + trainerbattle_single TRAINER_PABLO_1, Route126_Text_PabloIntro, Route126_Text_PabloDefeat, Route126_EventScript_RegisterPablo specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route126_EventScript_1F69C2 - msgbox Route126_Text_2A1F10, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route126_EventScript_RematchPablo + msgbox Route126_Text_PabloPostBattle, MSGBOX_DEFAULT release end -Route126_EventScript_1F69A3:: @ 81F69A3 - special sub_80B4808 +Route126_EventScript_RegisterPablo:: @ 81F69A3 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route126_Text_2A1F5A, MSGBOX_DEFAULT + msgbox Route126_Text_PabloRegister, MSGBOX_DEFAULT register_matchcall TRAINER_PABLO_1 release end -Route126_EventScript_1F69C2:: @ 81F69C2 - trainerbattle_rematch TRAINER_PABLO_1, Route126_Text_2A1F98, Route126_Text_2A1FD8 - msgbox Route126_Text_2A200C, MSGBOX_AUTOCLOSE +Route126_EventScript_RematchPablo:: @ 81F69C2 + trainerbattle_rematch TRAINER_PABLO_1, Route126_Text_PabloRematchIntro, Route126_Text_PabloRematchDefeat + msgbox Route126_Text_PabloPostRematch, MSGBOX_AUTOCLOSE end diff --git a/data/maps/Route127/map.json b/data/maps/Route127/map.json index 08d39d9712..626982ca21 100644 --- a/data/maps/Route127/map.json +++ b/data/maps/Route127/map.json @@ -45,7 +45,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route127_EventScript_1F6A35", + "script": "Route127_EventScript_Camden", "flag": "0" }, { @@ -58,7 +58,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route127_EventScript_1F6A4C", + "script": "Route127_EventScript_Donny", "flag": "0" }, { @@ -97,7 +97,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "Route127_EventScript_1F6A63", + "script": "Route127_EventScript_Jonah", "flag": "0" }, { @@ -110,7 +110,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "Route127_EventScript_1F6A91", + "script": "Route127_EventScript_Roger", "flag": "0" }, { @@ -123,7 +123,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "Route127_EventScript_1F6A7A", + "script": "Route127_EventScript_Henry", "flag": "0" }, { @@ -136,7 +136,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route127_EventScript_1F6AA8", + "script": "Route127_EventScript_Aidan", "flag": "0" }, { @@ -149,7 +149,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route127_EventScript_1F6AD6", + "script": "Route127_EventScript_Koji", "flag": "0" }, { @@ -162,7 +162,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route127_EventScript_1F6ABF", + "script": "Route127_EventScript_Athena", "flag": "0" }, { diff --git a/data/maps/Route127/scripts.inc b/data/maps/Route127/scripts.inc index 1829dbcfdd..323315b04f 100644 --- a/data/maps/Route127/scripts.inc +++ b/data/maps/Route127/scripts.inc @@ -1,84 +1,84 @@ Route127_MapScripts:: @ 81F69D9 map_script MAP_SCRIPT_ON_TRANSITION, Route127_OnTransition - map_script MAP_SCRIPT_ON_LOAD, Route127_MapScript1_1F6A14 - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route127_MapScript2_1F6A2B + map_script MAP_SCRIPT_ON_LOAD, Route127_OnLoad + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route127_OnFrame .byte 0 Route127_OnTransition: @ 81F69E9 - call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 - compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 - call_if_eq Route127_EventScript_273D13 - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_127_NORTH - call_if_eq UnusualWeather_StartKyogreWeather - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_127_SOUTH - call_if_eq UnusualWeather_StartKyogreWeather + call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather + compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1 + call_if_eq AbnormalWeather_EventScript_HideMapNamePopup + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_127_NORTH + call_if_eq AbnormalWeather_StartKyogreWeather + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_127_SOUTH + call_if_eq AbnormalWeather_StartKyogreWeather end -Route127_MapScript1_1F6A14: @ 81F6A14 - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_127_NORTH - call_if_eq UnusualWeather_EventScript_PlaceTilesRoute127North - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_127_SOUTH - call_if_eq UnusualWeather_EventScript_PlaceTilesRoute127South +Route127_OnLoad: @ 81F6A14 + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_127_NORTH + call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute127North + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_127_SOUTH + call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute127South end -Route127_MapScript2_1F6A2B: @ 81F6A2B - map_script_2 VAR_SHOULD_END_UNUSUAL_WEATHER, 1, UnusualWeather_EventScript_EndEventAndCleanup_1 +Route127_OnFrame: @ 81F6A2B + map_script_2 VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_EndEventAndCleanup_1 .2byte 0 -Route127_EventScript_1F6A35:: @ 81F6A35 - trainerbattle_single TRAINER_CAMDEN, Route127_Text_2A225F, Route127_Text_2A2294 - msgbox Route127_Text_2A22A1, MSGBOX_AUTOCLOSE +Route127_EventScript_Camden:: @ 81F6A35 + trainerbattle_single TRAINER_CAMDEN, Route127_Text_CamdenIntro, Route127_Text_CamdenDefeat + msgbox Route127_Text_CamdenPostBattle, MSGBOX_AUTOCLOSE end -Route127_EventScript_1F6A4C:: @ 81F6A4C - trainerbattle_single TRAINER_DONNY, Route127_Text_2A22DD, Route127_Text_2A2315 - msgbox Route127_Text_2A232C, MSGBOX_AUTOCLOSE +Route127_EventScript_Donny:: @ 81F6A4C + trainerbattle_single TRAINER_DONNY, Route127_Text_DonnyIntro, Route127_Text_DonnyDefeat + msgbox Route127_Text_DonnyPostBattle, MSGBOX_AUTOCLOSE end -Route127_EventScript_1F6A63:: @ 81F6A63 - trainerbattle_single TRAINER_JONAH, Route127_Text_2A2381, Route127_Text_2A23E1 - msgbox Route127_Text_2A240C, MSGBOX_AUTOCLOSE +Route127_EventScript_Jonah:: @ 81F6A63 + trainerbattle_single TRAINER_JONAH, Route127_Text_JonahIntro, Route127_Text_JonahDefeat + msgbox Route127_Text_JonahPostBattle, MSGBOX_AUTOCLOSE end -Route127_EventScript_1F6A7A:: @ 81F6A7A - trainerbattle_single TRAINER_HENRY, Route127_Text_2A2450, Route127_Text_2A2483 - msgbox Route127_Text_2A2494, MSGBOX_AUTOCLOSE +Route127_EventScript_Henry:: @ 81F6A7A + trainerbattle_single TRAINER_HENRY, Route127_Text_HenryIntro, Route127_Text_HenryDefeat + msgbox Route127_Text_HenryPostBattle, MSGBOX_AUTOCLOSE end -Route127_EventScript_1F6A91:: @ 81F6A91 - trainerbattle_single TRAINER_ROGER, Route127_Text_2A24C6, Route127_Text_2A250B - msgbox Route127_Text_2A2538, MSGBOX_AUTOCLOSE +Route127_EventScript_Roger:: @ 81F6A91 + trainerbattle_single TRAINER_ROGER, Route127_Text_RogerIntro, Route127_Text_RogerDefeat + msgbox Route127_Text_RogerPostBattle, MSGBOX_AUTOCLOSE end -Route127_EventScript_1F6AA8:: @ 81F6AA8 - trainerbattle_single TRAINER_AIDAN, Route127_Text_2A257A, Route127_Text_2A25C1 - msgbox Route127_Text_2A25D2, MSGBOX_AUTOCLOSE +Route127_EventScript_Aidan:: @ 81F6AA8 + trainerbattle_single TRAINER_AIDAN, Route127_Text_AidanIntro, Route127_Text_AidanDefeat + msgbox Route127_Text_AidanPostBattle, MSGBOX_AUTOCLOSE end -Route127_EventScript_1F6ABF:: @ 81F6ABF - trainerbattle_single TRAINER_ATHENA, Route127_Text_2A27D0, Route127_Text_2A27FC - msgbox Route127_Text_2A2832, MSGBOX_AUTOCLOSE +Route127_EventScript_Athena:: @ 81F6ABF + trainerbattle_single TRAINER_ATHENA, Route127_Text_AthenaIntro, Route127_Text_AthenaDefeat + msgbox Route127_Text_AthenaPostBattle, MSGBOX_AUTOCLOSE end -Route127_EventScript_1F6AD6:: @ 81F6AD6 - trainerbattle_single TRAINER_KOJI_1, Route127_Text_2A264D, Route127_Text_2A2685, Route127_EventScript_1F6B02 +Route127_EventScript_Koji:: @ 81F6AD6 + trainerbattle_single TRAINER_KOJI_1, Route127_Text_KojiIntro, Route127_Text_KojiDefeat, Route127_EventScript_RegisterKoji specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route127_EventScript_1F6B21 - msgbox Route127_Text_2A26AC, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route127_EventScript_RematchKoji + msgbox Route127_Text_KojiPostBattle, MSGBOX_DEFAULT release end -Route127_EventScript_1F6B02:: @ 81F6B02 - special sub_80B4808 +Route127_EventScript_RegisterKoji:: @ 81F6B02 + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route127_Text_2A26EE, MSGBOX_DEFAULT + msgbox Route127_Text_KojiRegister, MSGBOX_DEFAULT register_matchcall TRAINER_KOJI_1 release end -Route127_EventScript_1F6B21:: @ 81F6B21 - trainerbattle_rematch TRAINER_KOJI_1, Route127_Text_2A2734, Route127_Text_2A276B - msgbox Route127_Text_2A278E, MSGBOX_AUTOCLOSE +Route127_EventScript_RematchKoji:: @ 81F6B21 + trainerbattle_rematch TRAINER_KOJI_1, Route127_Text_KojiRematchIntro, Route127_Text_KojiRematchDefeat + msgbox Route127_Text_KojiPostRematch, MSGBOX_AUTOCLOSE end diff --git a/data/maps/Route128/map.json b/data/maps/Route128/map.json index 58246c247e..a7de8ed190 100644 --- a/data/maps/Route128/map.json +++ b/data/maps/Route128/map.json @@ -45,7 +45,7 @@ "movement_range_y": 5, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route128_EventScript_1F6CBE", + "script": "Route128_EventScript_Isaiah", "flag": "0" }, { @@ -58,7 +58,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "7", - "script": "Route128_EventScript_1F6D20", + "script": "Route128_EventScript_Katelyn", "flag": "0" }, { @@ -110,7 +110,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "Route128_EventScript_1F6DB0", + "script": "Route128_EventScript_Wayne", "flag": "0" }, { @@ -123,7 +123,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route128_EventScript_1F6D99", + "script": "Route128_EventScript_Ruben", "flag": "0" }, { @@ -136,7 +136,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route128_EventScript_1F6D82", + "script": "Route128_EventScript_Alexa", "flag": "0" }, { @@ -149,7 +149,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route128_EventScript_1F6DDE", + "script": "Route128_EventScript_Carlee", "flag": "0" }, { @@ -162,7 +162,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route128_EventScript_1F6DC7", + "script": "Route128_EventScript_Harrison", "flag": "0" } ], diff --git a/data/maps/Route128/scripts.inc b/data/maps/Route128/scripts.inc index bad74f4513..90abbddd5b 100644 --- a/data/maps/Route128/scripts.inc +++ b/data/maps/Route128/scripts.inc @@ -1,48 +1,48 @@ Route128_MapScripts:: @ 81F6B38 map_script MAP_SCRIPT_ON_TRANSITION, Route128_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route128_MapScript2_1F6B4D + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route128_OnFrame .byte 0 Route128_OnTransition: @ 81F6B43 - call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 + call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather end -Route128_MapScript2_1F6B4D: @ 81F6B4D - map_script_2 VAR_ROUTE128_STATE, 1, Route128_EventScript_1F6B57 +Route128_OnFrame: @ 81F6B4D + map_script_2 VAR_ROUTE128_STATE, 1, Route128_EventScript_KyogreAwakenedScene .2byte 0 -Route128_EventScript_1F6B57:: @ 81F6B57 +Route128_EventScript_KyogreAwakenedScene:: @ 81F6B57 lockall delay 20 - applymovement 4, Route128_Movement_1F6C89 + applymovement 4, Route128_Movement_ArchieLookAround waitmovement 0 - msgbox Route128_Text_1F6DF5, MSGBOX_DEFAULT + msgbox Route128_Text_ArchieWhatHappened, MSGBOX_DEFAULT closemessage - applymovement 4, Route128_Movement_1F6C91 + applymovement 4, Route128_Movement_ArchieBackUp waitmovement 0 - msgbox Route128_Text_1F6E48, MSGBOX_DEFAULT + msgbox Route128_Text_ArchieIOnlyWanted, MSGBOX_DEFAULT closemessage - applymovement 5, Route128_Movement_1F6CAD + applymovement 5, Route128_Movement_MaxieApproachArchie waitmovement 0 - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox Route128_Text_1F6E5A, MSGBOX_DEFAULT + msgbox Route128_Text_MaxieDoYouUnderstandNow, MSGBOX_DEFAULT closemessage - applymovement 5, Route128_Movement_1F6CBB + applymovement 5, Route128_Movement_MaxieApproachPlayer waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox Route128_Text_1F6F1E, MSGBOX_DEFAULT + msgbox Route128_Text_MaxieResposibilityFallsToArchieAndMe, MSGBOX_DEFAULT closemessage - applymovement 4, Route128_Movement_1F6C96 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft - applymovement 5, Route128_Movement_1F6CA8 + applymovement 4, Route128_Movement_ArchieRunLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft + applymovement 5, Route128_Movement_MaxieWalkLeft waitmovement 0 - msgbox Route128_Text_1F704F, MSGBOX_DEFAULT + msgbox Route128_Text_MaxieThisDefiesBelief, MSGBOX_DEFAULT closemessage delay 40 - applymovement 5, Route128_Movement_1F6CB0 - applymovement 4, Route128_Movement_1F6C9B + applymovement 5, Route128_Movement_MaxieExit + applymovement 4, Route128_Movement_ArchieExit waitmovement 0 removeobject 5 removeobject 4 @@ -51,21 +51,21 @@ Route128_EventScript_1F6B57:: @ 81F6B57 dofieldeffect FLDEFF_NPCFLY_OUT waitfieldeffect FLDEFF_NPCFLY_OUT addobject 3 - applymovement 3, Route128_Movement_1F6C87 + applymovement 3, Route128_Movement_StevenApproachPlayer waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox Route128_Text_1F70C9, MSGBOX_DEFAULT + msgbox Route128_Text_StevenWhatIsHappening, MSGBOX_DEFAULT closemessage - applymovement 3, Route128_Movement_1F6C85 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement 3, Route128_Movement_StevenWalkUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox Route128_Text_1F70EA, MSGBOX_DEFAULT - applymovement 3, Common_Movement_WalkInPlaceDown + msgbox Route128_Text_StevenWholeWorldWillDrown, MSGBOX_DEFAULT + applymovement 3, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox Route128_Text_1F721B, MSGBOX_DEFAULT + msgbox Route128_Text_StevenImGoingToSootopolis, MSGBOX_DEFAULT closemessage - applymovement 3, Common_Movement_WalkInPlaceDown + applymovement 3, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 50 setfieldeffectargument 0, 1 @@ -78,11 +78,11 @@ Route128_EventScript_1F6B57:: @ 81F6B57 releaseall end -Route128_Movement_1F6C76: @ 81F6C76 +Route128_Movement_Unused1: @ 81F6C76 walk_fast_left step_end -Route128_Movement_1F6C78: @ 81F6C78 +Route128_Movement_Unused2: @ 81F6C78 walk_left walk_left walk_left @@ -97,15 +97,15 @@ Route128_Movement_1F6C78: @ 81F6C78 walk_up step_end -Route128_Movement_1F6C85: @ 81F6C85 +Route128_Movement_StevenWalkUp: @ 81F6C85 walk_up step_end -Route128_Movement_1F6C87: @ 81F6C87 +Route128_Movement_StevenApproachPlayer: @ 81F6C87 walk_fast_left step_end -Route128_Movement_1F6C89: @ 81F6C89 +Route128_Movement_ArchieLookAround: @ 81F6C89 walk_fast_down walk_in_place_fastest_left delay_16 @@ -115,21 +115,21 @@ Route128_Movement_1F6C89: @ 81F6C89 walk_in_place_fastest_down step_end -Route128_Movement_1F6C91: @ 81F6C91 +Route128_Movement_ArchieBackUp: @ 81F6C91 lock_facing_direction walk_slow_up delay_16 unlock_facing_direction step_end -Route128_Movement_1F6C96: @ 81F6C96 +Route128_Movement_ArchieRunLeft: @ 81F6C96 walk_fast_left walk_fast_left walk_fast_left walk_in_place_fastest_right step_end -Route128_Movement_1F6C9B: @ 81F6C9B +Route128_Movement_ArchieExit: @ 81F6C9B delay_16 delay_16 walk_fast_up @@ -144,19 +144,19 @@ Route128_Movement_1F6C9B: @ 81F6C9B walk_fast_up step_end -Route128_Movement_1F6CA8: @ 81F6CA8 +Route128_Movement_MaxieWalkLeft: @ 81F6CA8 walk_left walk_left delay_8 delay_4 step_end -Route128_Movement_1F6CAD: @ 81F6CAD +Route128_Movement_MaxieApproachArchie: @ 81F6CAD walk_left walk_in_place_fastest_down step_end -Route128_Movement_1F6CB0: @ 81F6CB0 +Route128_Movement_MaxieExit: @ 81F6CB0 walk_fast_left walk_fast_left walk_fast_left @@ -169,90 +169,90 @@ Route128_Movement_1F6CB0: @ 81F6CB0 walk_fast_up step_end -Route128_Movement_1F6CBB: @ 81F6CBB +Route128_Movement_MaxieApproachPlayer: @ 81F6CBB walk_right walk_in_place_fastest_down step_end -Route128_EventScript_1F6CBE:: @ 81F6CBE - trainerbattle_single TRAINER_ISAIAH_1, Route128_Text_2A287F, Route128_Text_2A28AB, Route128_EventScript_1F6CEA +Route128_EventScript_Isaiah:: @ 81F6CBE + trainerbattle_single TRAINER_ISAIAH_1, Route128_Text_IsaiahIntro, Route128_Text_IsaiahDefeat, Route128_EventScript_RegisterIsaiah specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route128_EventScript_1F6D09 - msgbox Route128_Text_2A28D7, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route128_EventScript_RematchIsaiah + msgbox Route128_Text_IsaiahPostBattle, MSGBOX_DEFAULT release end -Route128_EventScript_1F6CEA:: @ 81F6CEA - special sub_80B4808 +Route128_EventScript_RegisterIsaiah:: @ 81F6CEA + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route128_Text_2A2916, MSGBOX_DEFAULT + msgbox Route128_Text_IsaiahRegister, MSGBOX_DEFAULT register_matchcall TRAINER_ISAIAH_1 release end -Route128_EventScript_1F6D09:: @ 81F6D09 - trainerbattle_rematch TRAINER_ISAIAH_1, Route128_Text_2A2975, Route128_Text_2A29B8 - msgbox Route128_Text_2A29DC, MSGBOX_AUTOCLOSE +Route128_EventScript_RematchIsaiah:: @ 81F6D09 + trainerbattle_rematch TRAINER_ISAIAH_1, Route128_Text_IsaiahRematchIntro, Route128_Text_IsaiahRematchDefeat + msgbox Route128_Text_IsaiahPostRematch, MSGBOX_AUTOCLOSE end -Route128_EventScript_1F6D20:: @ 81F6D20 - trainerbattle_single TRAINER_KATELYN_1, Route128_Text_2A2A1F, Route128_Text_2A2A94, Route128_EventScript_1F6D4C +Route128_EventScript_Katelyn:: @ 81F6D20 + trainerbattle_single TRAINER_KATELYN_1, Route128_Text_KatelynIntro, Route128_Text_KatelynDefeat, Route128_EventScript_RegisterKatelyn specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq Route128_EventScript_1F6D6B - msgbox Route128_Text_2A2AB7, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq Route128_EventScript_RematchKatelyn + msgbox Route128_Text_KatelynPostBattle, MSGBOX_DEFAULT release end -Route128_EventScript_1F6D4C:: @ 81F6D4C - special sub_80B4808 +Route128_EventScript_RegisterKatelyn:: @ 81F6D4C + special PlayerFaceTrainerAfterBattle waitmovement 0 - msgbox Route128_Text_2A2AF9, MSGBOX_DEFAULT + msgbox Route128_Text_KatelynRegister, MSGBOX_DEFAULT register_matchcall TRAINER_KATELYN_1 release end -Route128_EventScript_1F6D6B:: @ 81F6D6B - trainerbattle_rematch TRAINER_KATELYN_1, Route128_Text_2A2B41, Route128_Text_2A2BAB - msgbox Route128_Text_2A2BDD, MSGBOX_AUTOCLOSE +Route128_EventScript_RematchKatelyn:: @ 81F6D6B + trainerbattle_rematch TRAINER_KATELYN_1, Route128_Text_KatelynRematchIntro, Route128_Text_KatelynRematchDefeat + msgbox Route128_Text_KatelynPostRematch, MSGBOX_AUTOCLOSE end -Route128_EventScript_1F6D82:: @ 81F6D82 - trainerbattle_single TRAINER_ALEXA, Route128_Text_2A2C1C, Route128_Text_2A2C79 - msgbox Route128_Text_2A2C95, MSGBOX_AUTOCLOSE +Route128_EventScript_Alexa:: @ 81F6D82 + trainerbattle_single TRAINER_ALEXA, Route128_Text_AlexaIntro, Route128_Text_AlexaDefeat + msgbox Route128_Text_AlexaPostBattle, MSGBOX_AUTOCLOSE end -Route128_EventScript_1F6D99:: @ 81F6D99 - trainerbattle_single TRAINER_RUBEN, Route128_Text_2A2CD9, Route128_Text_2A2CFE - msgbox Route128_Text_2A2D0D, MSGBOX_AUTOCLOSE +Route128_EventScript_Ruben:: @ 81F6D99 + trainerbattle_single TRAINER_RUBEN, Route128_Text_RubenIntro, Route128_Text_RubenDefeat + msgbox Route128_Text_RubenPostBattle, MSGBOX_AUTOCLOSE end -Route128_EventScript_1F6DB0:: @ 81F6DB0 - trainerbattle_single TRAINER_WAYNE, Route128_Text_2A2D3D, Route128_Text_2A2DA9 - msgbox Route128_Text_2A2DBA, MSGBOX_AUTOCLOSE +Route128_EventScript_Wayne:: @ 81F6DB0 + trainerbattle_single TRAINER_WAYNE, Route128_Text_WayneIntro, Route128_Text_WayneDefeat + msgbox Route128_Text_WaynePostBattle, MSGBOX_AUTOCLOSE end -Route128_EventScript_1F6DC7:: @ 81F6DC7 - trainerbattle_single TRAINER_HARRISON, Route128_Text_2A2E0F, Route128_Text_2A2E44 - msgbox Route128_Text_2A2E6C, MSGBOX_AUTOCLOSE +Route128_EventScript_Harrison:: @ 81F6DC7 + trainerbattle_single TRAINER_HARRISON, Route128_Text_HarrisonIntro, Route128_Text_HarrisonDefeat + msgbox Route128_Text_HarrisonPostBattle, MSGBOX_AUTOCLOSE end -Route128_EventScript_1F6DDE:: @ 81F6DDE - trainerbattle_single TRAINER_CARLEE, Route128_Text_2A2EC8, Route128_Text_2A2EFA - msgbox Route128_Text_2A2F2F, MSGBOX_AUTOCLOSE +Route128_EventScript_Carlee:: @ 81F6DDE + trainerbattle_single TRAINER_CARLEE, Route128_Text_CarleeIntro, Route128_Text_CarleeDefeat + msgbox Route128_Text_CarleePostBattle, MSGBOX_AUTOCLOSE end -Route128_Text_1F6DF5: @ 81F6DF5 +Route128_Text_ArchieWhatHappened: @ 81F6DF5 .string "ARCHIE: What happened…\n" .string "What is this wretched scene…\p" .string "Did I…make a horrible mistake?$" -Route128_Text_1F6E48: @ 81F6E48 +Route128_Text_ArchieIOnlyWanted: @ 81F6E48 .string "I…\n" .string "I only wanted…$" -Route128_Text_1F6E5A: @ 81F6E5A +Route128_Text_MaxieDoYouUnderstandNow: @ 81F6E5A .string "MAXIE: Do you understand now,\n" .string "ARCHIE?\p" .string "Do you finally see how disastrous\n" @@ -261,7 +261,7 @@ Route128_Text_1F6E5A: @ 81F6E5A .string "something before the situation goes\l" .string "completely out of control!$" -Route128_Text_1F6F1E: @ 81F6F1E +Route128_Text_MaxieResposibilityFallsToArchieAndMe: @ 81F6F1E .string "MAXIE: {PLAYER}, don't say anything.\p" .string "I know that I have no right to be\n" .string "critical of ARCHIE…\p" @@ -273,17 +273,17 @@ Route128_Text_1F6F1E: @ 81F6F1E .string "The responsibility for putting an end\n" .string "to this falls to ARCHIE and me…$" -Route128_Text_1F704F: @ 81F704F +Route128_Text_MaxieThisDefiesBelief: @ 81F704F .string "MAXIE: This defies belief…\p" .string "Those super-ancient POKéMON…\p" .string "Their power is unbelievable.\n" .string "They've upset the balance of nature…$" -Route128_Text_1F70C9: @ 81F70C9 +Route128_Text_StevenWhatIsHappening: @ 81F70C9 .string "STEVEN: {PLAYER}{KUN}!\n" .string "What is happening?$" -Route128_Text_1F70EA: @ 81F70EA +Route128_Text_StevenWholeWorldWillDrown: @ 81F70EA .string "This is terrible…\p" .string "After the scorching heat wave ended,\n" .string "this deluge began.\p" @@ -295,7 +295,7 @@ Route128_Text_1F70EA: @ 81F70EA .string "There's no point arguing here…\n" .string "SOOTOPOLIS might provide answers…$" -Route128_Text_1F721B: @ 81F721B +Route128_Text_StevenImGoingToSootopolis: @ 81F721B .string "{PLAYER}{KUN}…\n" .string "I don't know what you intend to do,\l" .string "but don't do anything reckless.\p" diff --git a/data/maps/Route129/map.json b/data/maps/Route129/map.json index 3183f98210..6b19cc320a 100644 --- a/data/maps/Route129/map.json +++ b/data/maps/Route129/map.json @@ -40,7 +40,7 @@ "movement_range_y": 4, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route129_EventScript_1F72EC", + "script": "Route129_EventScript_Chase", "flag": "0" }, { @@ -53,7 +53,7 @@ "movement_range_y": 2, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route129_EventScript_1F7303", + "script": "Route129_EventScript_Allison", "flag": "0" }, { @@ -66,7 +66,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route129_EventScript_1F7331", + "script": "Route129_EventScript_Tisha", "flag": "0" }, { @@ -79,7 +79,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route129_EventScript_1F731A", + "script": "Route129_EventScript_Reed", "flag": "0" }, { @@ -92,7 +92,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route129_EventScript_1F7348", + "script": "Route129_EventScript_Clarence", "flag": "0" } ], diff --git a/data/maps/Route129/scripts.inc b/data/maps/Route129/scripts.inc index d57a27cf94..ea53c3bf26 100644 --- a/data/maps/Route129/scripts.inc +++ b/data/maps/Route129/scripts.inc @@ -1,57 +1,57 @@ Route129_MapScripts:: @ 81F7284 map_script MAP_SCRIPT_ON_TRANSITION, Route129_OnTransition - map_script MAP_SCRIPT_ON_LOAD, Route129_MapScript1_1F7294 - map_script MAP_SCRIPT_ON_FRAME_TABLE, Route129_MapScript2_1F72E2 + map_script MAP_SCRIPT_ON_LOAD, Route129_OnLoad + map_script MAP_SCRIPT_ON_FRAME_TABLE, Route129_OnFrame .byte 0 -Route129_MapScript1_1F7294: @ 81F7294 - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_129_WEST - call_if_eq UnusualWeather_EventScript_PlaceTilesRoute129West - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_129_EAST - call_if_eq UnusualWeather_EventScript_PlaceTilesRoute129East +Route129_OnLoad: @ 81F7294 + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_129_WEST + call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute129West + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_129_EAST + call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute129East end Route129_OnTransition: @ 81F72AB - compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1 - call_if_eq Route129_EventScript_273D13 + compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1 + call_if_eq AbnormalWeather_EventScript_HideMapNamePopup compare VAR_SOOTOPOLIS_CITY_STATE, 4 - call_if_ge Route129_EventScript_1F72D8 - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_129_WEST - call_if_eq UnusualWeather_StartKyogreWeather - compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_129_EAST - call_if_eq UnusualWeather_StartKyogreWeather + call_if_ge Route129_EventScript_CheckSetAbnormalWeather + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_129_WEST + call_if_eq AbnormalWeather_StartKyogreWeather + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_129_EAST + call_if_eq AbnormalWeather_StartKyogreWeather end -Route129_EventScript_1F72D8:: @ 81F72D8 - call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 +Route129_EventScript_CheckSetAbnormalWeather:: @ 81F72D8 + call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather return -Route129_MapScript2_1F72E2: @ 81F72E2 - map_script_2 VAR_SHOULD_END_UNUSUAL_WEATHER, 1, UnusualWeather_EventScript_EndEventAndCleanup_1 +Route129_OnFrame: @ 81F72E2 + map_script_2 VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_EndEventAndCleanup_1 .2byte 0 -Route129_EventScript_1F72EC:: @ 81F72EC - trainerbattle_single TRAINER_CHASE, Route129_Text_2A2F66, Route129_Text_2A2F9D - msgbox Route129_Text_2A2FB9, MSGBOX_AUTOCLOSE +Route129_EventScript_Chase:: @ 81F72EC + trainerbattle_single TRAINER_CHASE, Route129_Text_ChaseIntro, Route129_Text_ChaseDefeat + msgbox Route129_Text_ChasePostBattle, MSGBOX_AUTOCLOSE end -Route129_EventScript_1F7303:: @ 81F7303 - trainerbattle_single TRAINER_ALLISON, Route129_Text_2A2FF2, Route129_Text_2A3034 - msgbox Route129_Text_2A3048, MSGBOX_AUTOCLOSE +Route129_EventScript_Allison:: @ 81F7303 + trainerbattle_single TRAINER_ALLISON, Route129_Text_AllisonIntro, Route129_Text_AllisonDefeat + msgbox Route129_Text_AllisonPostBattle, MSGBOX_AUTOCLOSE end -Route129_EventScript_1F731A:: @ 81F731A - trainerbattle_single TRAINER_REED, Route129_Text_2A30CD, Route129_Text_2A30F1 - msgbox Route129_Text_2A3114, MSGBOX_AUTOCLOSE +Route129_EventScript_Reed:: @ 81F731A + trainerbattle_single TRAINER_REED, Route129_Text_ReedIntro, Route129_Text_ReedDefeat + msgbox Route129_Text_ReedPostBattle, MSGBOX_AUTOCLOSE end -Route129_EventScript_1F7331:: @ 81F7331 - trainerbattle_single TRAINER_TISHA, Route129_Text_2A314E, Route129_Text_2A317D - msgbox Route129_Text_2A31A6, MSGBOX_AUTOCLOSE +Route129_EventScript_Tisha:: @ 81F7331 + trainerbattle_single TRAINER_TISHA, Route129_Text_TishaIntro, Route129_Text_TishaDefeat + msgbox Route129_Text_TishaPostBattle, MSGBOX_AUTOCLOSE end -Route129_EventScript_1F7348:: @ 81F7348 - trainerbattle_single TRAINER_CLARENCE, Route129_Text_2A3204, Route129_Text_2A3239 - msgbox Route129_Text_2A3252, MSGBOX_AUTOCLOSE +Route129_EventScript_Clarence:: @ 81F7348 + trainerbattle_single TRAINER_CLARENCE, Route129_Text_ClarenceIntro, Route129_Text_ClarenceDefeat + msgbox Route129_Text_ClarencePostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/Route130/map.json b/data/maps/Route130/map.json index 18d168b17c..c0b92a1a5d 100644 --- a/data/maps/Route130/map.json +++ b/data/maps/Route130/map.json @@ -35,7 +35,7 @@ "movement_range_y": 6, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route130_EventScript_1F73BF", + "script": "Route130_EventScript_Rodney", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 4, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route130_EventScript_1F73D6", + "script": "Route130_EventScript_Katie", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 4, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route130_EventScript_1F73ED", + "script": "Route130_EventScript_Santiago", "flag": "0" } ], diff --git a/data/maps/Route130/scripts.inc b/data/maps/Route130/scripts.inc index 18bccb1851..141196a2dd 100644 --- a/data/maps/Route130/scripts.inc +++ b/data/maps/Route130/scripts.inc @@ -4,10 +4,10 @@ Route130_MapScripts:: @ 81F735F Route130_OnTransition: @ 81F7365 compare VAR_SOOTOPOLIS_CITY_STATE, 4 - call_if_ge Route130_EventScript_1F73B5 + call_if_ge Route130_EventScript_CheckSetAbnormalWeather specialvar VAR_RESULT, IsMirageIslandPresent - compare VAR_RESULT, 1 - goto_if_eq Route130_EventScript_1F73B1 + compare VAR_RESULT, TRUE + goto_if_eq Route130_EventScript_SetMirageIslandLayout setflag FLAG_TEMP_11 setflag FLAG_TEMP_12 setflag FLAG_TEMP_13 @@ -26,26 +26,26 @@ Route130_OnTransition: @ 81F7365 setmaplayoutindex LAYOUT_ROUTE130 end -Route130_EventScript_1F73B1:: @ 81F73B1 +Route130_EventScript_SetMirageIslandLayout:: @ 81F73B1 setmaplayoutindex LAYOUT_ROUTE130_MIRAGE_ISLAND end -Route130_EventScript_1F73B5:: @ 81F73B5 - call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 +Route130_EventScript_CheckSetAbnormalWeather:: @ 81F73B5 + call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather return -Route130_EventScript_1F73BF:: @ 81F73BF - trainerbattle_single TRAINER_RODNEY, Route130_Text_2A328A, Route130_Text_2A32E6 - msgbox Route130_Text_2A3300, MSGBOX_AUTOCLOSE +Route130_EventScript_Rodney:: @ 81F73BF + trainerbattle_single TRAINER_RODNEY, Route130_Text_RodneyIntro, Route130_Text_RodneyDefeat + msgbox Route130_Text_RodneyPostBattle, MSGBOX_AUTOCLOSE end -Route130_EventScript_1F73D6:: @ 81F73D6 - trainerbattle_single TRAINER_KATIE, Route130_Text_2A3363, Route130_Text_2A33AC - msgbox Route130_Text_2A33F5, MSGBOX_AUTOCLOSE +Route130_EventScript_Katie:: @ 81F73D6 + trainerbattle_single TRAINER_KATIE, Route130_Text_KatieIntro, Route130_Text_KatieDefeat + msgbox Route130_Text_KatiePostBattle, MSGBOX_AUTOCLOSE end -Route130_EventScript_1F73ED:: @ 81F73ED - trainerbattle_single TRAINER_SANTIAGO, Route130_Text_2A343A, Route130_Text_2A346D - msgbox Route130_Text_2A3494, MSGBOX_AUTOCLOSE +Route130_EventScript_Santiago:: @ 81F73ED + trainerbattle_single TRAINER_SANTIAGO, Route130_Text_SantiagoIntro, Route130_Text_SantiagoDefeat + msgbox Route130_Text_SantiagoPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/Route131/map.json b/data/maps/Route131/map.json index 379b15b3d3..af73808b6f 100644 --- a/data/maps/Route131/map.json +++ b/data/maps/Route131/map.json @@ -35,7 +35,7 @@ "movement_range_y": 7, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route131_EventScript_1F7429", + "script": "Route131_EventScript_Richard", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 7, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route131_EventScript_1F7440", + "script": "Route131_EventScript_Herman", "flag": "0" }, { @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route131_EventScript_1F7457", + "script": "Route131_EventScript_Susie", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 5, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route131_EventScript_1F746E", + "script": "Route131_EventScript_Kara", "flag": "0" }, { @@ -87,7 +87,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route131_EventScript_1F7485", + "script": "Route131_EventScript_Reli", "flag": "0" }, { @@ -100,7 +100,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route131_EventScript_1F74A0", + "script": "Route131_EventScript_Ian", "flag": "0" }, { @@ -113,7 +113,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route131_EventScript_1F74D2", + "script": "Route131_EventScript_Kevin", "flag": "0" }, { @@ -126,7 +126,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route131_EventScript_1F74BB", + "script": "Route131_EventScript_Talia", "flag": "0" } ], diff --git a/data/maps/Route131/scripts.inc b/data/maps/Route131/scripts.inc index c1c3e26dc2..b419adcf68 100644 --- a/data/maps/Route131/scripts.inc +++ b/data/maps/Route131/scripts.inc @@ -4,55 +4,55 @@ Route131_MapScripts:: @ 81F7404 Route131_OnTransition: @ 81F740A compare VAR_SOOTOPOLIS_CITY_STATE, 4 - call_if_ge Route131_EventScript_1F741F - call Route131_EventScript_1F741B + call_if_ge Route131_EventScript_CheckSetAbnormalWeather + call Route131_EventScript_SetLayout end -Route131_EventScript_1F741B:: @ 81F741B +Route131_EventScript_SetLayout:: @ 81F741B setmaplayoutindex LAYOUT_ROUTE131_SKY_PILLAR return -Route131_EventScript_1F741F:: @ 81F741F - call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 +Route131_EventScript_CheckSetAbnormalWeather:: @ 81F741F + call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather return -Route131_EventScript_1F7429:: @ 81F7429 - trainerbattle_single TRAINER_RICHARD, Route131_Text_2A34C8, Route131_Text_2A350D - msgbox Route131_Text_2A353D, MSGBOX_AUTOCLOSE +Route131_EventScript_Richard:: @ 81F7429 + trainerbattle_single TRAINER_RICHARD, Route131_Text_RichardIntro, Route131_Text_RichardDefeat + msgbox Route131_Text_RichardPostBattle, MSGBOX_AUTOCLOSE end -Route131_EventScript_1F7440:: @ 81F7440 - trainerbattle_single TRAINER_HERMAN, Route131_Text_2A35C6, Route131_Text_2A3626 - msgbox Route131_Text_2A362D, MSGBOX_AUTOCLOSE +Route131_EventScript_Herman:: @ 81F7440 + trainerbattle_single TRAINER_HERMAN, Route131_Text_HermanIntro, Route131_Text_HermanDefeat + msgbox Route131_Text_HermanPostBattle, MSGBOX_AUTOCLOSE end -Route131_EventScript_1F7457:: @ 81F7457 - trainerbattle_single TRAINER_SUSIE, Route131_Text_2A367B, Route131_Text_2A36AB - msgbox Route131_Text_2A36D6, MSGBOX_AUTOCLOSE +Route131_EventScript_Susie:: @ 81F7457 + trainerbattle_single TRAINER_SUSIE, Route131_Text_SusieIntro, Route131_Text_SusieDefeat + msgbox Route131_Text_SusiePostBattle, MSGBOX_AUTOCLOSE end -Route131_EventScript_1F746E:: @ 81F746E - trainerbattle_single TRAINER_KARA, Route131_Text_2A3751, Route131_Text_2A378A - msgbox Route131_Text_2A379F, MSGBOX_AUTOCLOSE +Route131_EventScript_Kara:: @ 81F746E + trainerbattle_single TRAINER_KARA, Route131_Text_KaraIntro, Route131_Text_KaraDefeat + msgbox Route131_Text_KaraPostBattle, MSGBOX_AUTOCLOSE end -Route131_EventScript_1F7485:: @ 81F7485 - trainerbattle_double TRAINER_RELI_AND_IAN, Route131_Text_2A37E9, Route131_Text_2A381F, Route131_Text_2A38B7 - msgbox Route131_Text_2A3855, MSGBOX_AUTOCLOSE +Route131_EventScript_Reli:: @ 81F7485 + trainerbattle_double TRAINER_RELI_AND_IAN, Route131_Text_ReliIntro, Route131_Text_ReliDefeat, Route131_Text_ReliNotEnoughMons + msgbox Route131_Text_ReliPostBattle, MSGBOX_AUTOCLOSE end -Route131_EventScript_1F74A0:: @ 81F74A0 - trainerbattle_double TRAINER_RELI_AND_IAN, Route131_Text_2A38F8, Route131_Text_2A3925, Route131_Text_2A39CD - msgbox Route131_Text_2A3960, MSGBOX_AUTOCLOSE +Route131_EventScript_Ian:: @ 81F74A0 + trainerbattle_double TRAINER_RELI_AND_IAN, Route131_Text_IanIntro, Route131_Text_IanDefeat, Route131_Text_IanNotEnoughMons + msgbox Route131_Text_IanPostBattle, MSGBOX_AUTOCLOSE end -Route131_EventScript_1F74BB:: @ 81F74BB - trainerbattle_single TRAINER_TALIA, Route131_Text_2A39FE, Route131_Text_2A3A38 - msgbox Route131_Text_2A3A48, MSGBOX_AUTOCLOSE +Route131_EventScript_Talia:: @ 81F74BB + trainerbattle_single TRAINER_TALIA, Route131_Text_TaliaIntro, Route131_Text_TaliaDefeat + msgbox Route131_Text_TaliaPostBattle, MSGBOX_AUTOCLOSE end -Route131_EventScript_1F74D2:: @ 81F74D2 - trainerbattle_single TRAINER_KEVIN, Route131_Text_2A3AA0, Route131_Text_2A3AFC - msgbox Route131_Text_2A3B02, MSGBOX_AUTOCLOSE +Route131_EventScript_Kevin:: @ 81F74D2 + trainerbattle_single TRAINER_KEVIN, Route131_Text_KevinIntro, Route131_Text_KevinDefeat + msgbox Route131_Text_KevinPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/Route132/map.json b/data/maps/Route132/map.json index 8a75978263..947f8d9cf8 100644 --- a/data/maps/Route132/map.json +++ b/data/maps/Route132/map.json @@ -35,7 +35,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route132_EventScript_1F74EA", + "script": "Route132_EventScript_Gilbert", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route132_EventScript_1F7501", + "script": "Route132_EventScript_Dana", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route132_EventScript_1F752F", + "script": "Route132_EventScript_Kiyo", "flag": "0" }, { @@ -87,7 +87,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "Route132_EventScript_1F7518", + "script": "Route132_EventScript_Ronald", "flag": "0" }, { @@ -100,7 +100,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route132_EventScript_1F7546", + "script": "Route132_EventScript_Paxton", "flag": "0" }, { @@ -113,7 +113,7 @@ "movement_range_y": 4, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route132_EventScript_1F755D", + "script": "Route132_EventScript_Darcy", "flag": "0" }, { @@ -126,7 +126,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route132_EventScript_1F758B", + "script": "Route132_EventScript_Makayla", "flag": "0" }, { @@ -139,7 +139,7 @@ "movement_range_y": 4, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route132_EventScript_1F7574", + "script": "Route132_EventScript_Jonathan", "flag": "0" }, { diff --git a/data/maps/Route132/scripts.inc b/data/maps/Route132/scripts.inc index aed4d0673e..6b82102beb 100644 --- a/data/maps/Route132/scripts.inc +++ b/data/maps/Route132/scripts.inc @@ -1,43 +1,43 @@ Route132_MapScripts:: @ 81F74E9 .byte 0 -Route132_EventScript_1F74EA:: @ 81F74EA - trainerbattle_single TRAINER_GILBERT, Route132_Text_2A3B4C, Route132_Text_2A3BAC - msgbox Route132_Text_2A3BC0, MSGBOX_AUTOCLOSE +Route132_EventScript_Gilbert:: @ 81F74EA + trainerbattle_single TRAINER_GILBERT, Route132_Text_GilbertIntro, Route132_Text_GilbertDefeat + msgbox Route132_Text_GilbertPostBattle, MSGBOX_AUTOCLOSE end -Route132_EventScript_1F7501:: @ 81F7501 - trainerbattle_single TRAINER_DANA, Route132_Text_2A3C04, Route132_Text_2A3C39 - msgbox Route132_Text_2A3C49, MSGBOX_AUTOCLOSE +Route132_EventScript_Dana:: @ 81F7501 + trainerbattle_single TRAINER_DANA, Route132_Text_DanaIntro, Route132_Text_DanaDefeat + msgbox Route132_Text_DanaPostBattle, MSGBOX_AUTOCLOSE end -Route132_EventScript_1F7518:: @ 81F7518 - trainerbattle_single TRAINER_RONALD, Route132_Text_2A3C7F, Route132_Text_2A3CAD - msgbox Route132_Text_2A3CC5, MSGBOX_AUTOCLOSE +Route132_EventScript_Ronald:: @ 81F7518 + trainerbattle_single TRAINER_RONALD, Route132_Text_RonaldIntro, Route132_Text_RonaldDefeat + msgbox Route132_Text_RonaldPostBattle, MSGBOX_AUTOCLOSE end -Route132_EventScript_1F752F:: @ 81F752F - trainerbattle_single TRAINER_KIYO, Route132_Text_2A3D26, Route132_Text_2A3D6C - msgbox Route132_Text_2A3D8B, MSGBOX_AUTOCLOSE +Route132_EventScript_Kiyo:: @ 81F752F + trainerbattle_single TRAINER_KIYO, Route132_Text_KiyoIntro, Route132_Text_KiyoDefeat + msgbox Route132_Text_KiyoPostBattle, MSGBOX_AUTOCLOSE end -Route132_EventScript_1F7546:: @ 81F7546 - trainerbattle_single TRAINER_PAXTON, Route132_Text_2A3F4F, Route132_Text_2A3FA8 - msgbox Route132_Text_2A3FE5, MSGBOX_AUTOCLOSE +Route132_EventScript_Paxton:: @ 81F7546 + trainerbattle_single TRAINER_PAXTON, Route132_Text_PaxtonIntro, Route132_Text_PaxtonDefeat + msgbox Route132_Text_PaxtonPostBattle, MSGBOX_AUTOCLOSE end -Route132_EventScript_1F755D:: @ 81F755D - trainerbattle_single TRAINER_DARCY, Route132_Text_2A4026, Route132_Text_2A406E - msgbox Route132_Text_2A40A4, MSGBOX_AUTOCLOSE +Route132_EventScript_Darcy:: @ 81F755D + trainerbattle_single TRAINER_DARCY, Route132_Text_DarcyIntro, Route132_Text_DarcyDefeat + msgbox Route132_Text_DarcyPostBattle, MSGBOX_AUTOCLOSE end -Route132_EventScript_1F7574:: @ 81F7574 - trainerbattle_single TRAINER_JONATHAN, Route132_Text_2A3EAC, Route132_Text_2A3EDD - msgbox Route132_Text_2A3F03, MSGBOX_AUTOCLOSE +Route132_EventScript_Jonathan:: @ 81F7574 + trainerbattle_single TRAINER_JONATHAN, Route132_Text_JonathanIntro, Route132_Text_JonathanDefeat + msgbox Route132_Text_JonathanPostBattle, MSGBOX_AUTOCLOSE end -Route132_EventScript_1F758B:: @ 81F758B - trainerbattle_single TRAINER_MAKAYLA, Route132_Text_2A3DF0, Route132_Text_2A3E2C - msgbox Route132_Text_2A3E4E, MSGBOX_AUTOCLOSE +Route132_EventScript_Makayla:: @ 81F758B + trainerbattle_single TRAINER_MAKAYLA, Route132_Text_MakaylaIntro, Route132_Text_MakaylaDefeat + msgbox Route132_Text_MakaylaPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/Route133/map.json b/data/maps/Route133/map.json index 8622515f0b..fe492458aa 100644 --- a/data/maps/Route133/map.json +++ b/data/maps/Route133/map.json @@ -35,7 +35,7 @@ "movement_range_y": 2, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route133_EventScript_1F75A3", + "script": "Route133_EventScript_Franklin", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route133_EventScript_1F75D1", + "script": "Route133_EventScript_Linda", "flag": "0" }, { @@ -61,7 +61,7 @@ "movement_range_y": 2, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route133_EventScript_1F75BA", + "script": "Route133_EventScript_Debra", "flag": "0" }, { @@ -100,7 +100,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route133_EventScript_1F75FF", + "script": "Route133_EventScript_Beck", "flag": "0" }, { @@ -113,7 +113,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "Route133_EventScript_1F75E8", + "script": "Route133_EventScript_Warren", "flag": "0" }, { @@ -126,7 +126,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route133_EventScript_1F7616", + "script": "Route133_EventScript_Mollie", "flag": "0" }, { @@ -139,7 +139,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route133_EventScript_1F762D", + "script": "Route133_EventScript_Conor", "flag": "0" }, { diff --git a/data/maps/Route133/scripts.inc b/data/maps/Route133/scripts.inc index a91eeead3b..ebe28f5db4 100644 --- a/data/maps/Route133/scripts.inc +++ b/data/maps/Route133/scripts.inc @@ -1,38 +1,38 @@ Route133_MapScripts:: @ 81F75A2 .byte 0 -Route133_EventScript_1F75A3:: @ 81F75A3 - trainerbattle_single TRAINER_FRANKLIN, Route133_Text_2A40F0, Route133_Text_2A413F - msgbox Route133_Text_2A4154, MSGBOX_AUTOCLOSE +Route133_EventScript_Franklin:: @ 81F75A3 + trainerbattle_single TRAINER_FRANKLIN, Route133_Text_FranklinIntro, Route133_Text_FranklinDefeat + msgbox Route133_Text_FranklinPostBattle, MSGBOX_AUTOCLOSE end -Route133_EventScript_1F75BA:: @ 81F75BA - trainerbattle_single TRAINER_DEBRA, Route133_Text_2A41A8, Route133_Text_2A4200 - msgbox Route133_Text_2A420E, MSGBOX_AUTOCLOSE +Route133_EventScript_Debra:: @ 81F75BA + trainerbattle_single TRAINER_DEBRA, Route133_Text_DebraIntro, Route133_Text_DebraDefeat + msgbox Route133_Text_DebraPostBattle, MSGBOX_AUTOCLOSE end -Route133_EventScript_1F75D1:: @ 81F75D1 - trainerbattle_single TRAINER_LINDA, Route133_Text_2A4236, Route133_Text_2A4258 - msgbox Route133_Text_2A4264, MSGBOX_AUTOCLOSE +Route133_EventScript_Linda:: @ 81F75D1 + trainerbattle_single TRAINER_LINDA, Route133_Text_LindaIntro, Route133_Text_LindaDefeat + msgbox Route133_Text_LindaPostBattle, MSGBOX_AUTOCLOSE end -Route133_EventScript_1F75E8:: @ 81F75E8 - trainerbattle_single TRAINER_WARREN, Route133_Text_2A4290, Route133_Text_2A42E0 - msgbox Route133_Text_2A4304, MSGBOX_AUTOCLOSE +Route133_EventScript_Warren:: @ 81F75E8 + trainerbattle_single TRAINER_WARREN, Route133_Text_WarrenIntro, Route133_Text_WarrenDefeat + msgbox Route133_Text_WarrenPostBattle, MSGBOX_AUTOCLOSE end -Route133_EventScript_1F75FF:: @ 81F75FF - trainerbattle_single TRAINER_BECK, Route133_Text_2A436A, Route133_Text_2A439C - msgbox Route133_Text_2A43B9, MSGBOX_AUTOCLOSE +Route133_EventScript_Beck:: @ 81F75FF + trainerbattle_single TRAINER_BECK, Route133_Text_BeckIntro, Route133_Text_BeckDefeat + msgbox Route133_Text_BeckPostBattle, MSGBOX_AUTOCLOSE end -Route133_EventScript_1F7616:: @ 81F7616 - trainerbattle_single TRAINER_MOLLIE, Route133_Text_2A4401, Route133_Text_2A443A - msgbox Route133_Text_2A4477, MSGBOX_AUTOCLOSE +Route133_EventScript_Mollie:: @ 81F7616 + trainerbattle_single TRAINER_MOLLIE, Route133_Text_MollieIntro, Route133_Text_MollieDefeat + msgbox Route133_Text_MolliePostBattle, MSGBOX_AUTOCLOSE end -Route133_EventScript_1F762D:: @ 81F762D - trainerbattle_single TRAINER_CONOR, Route133_Text_2A44BA, Route133_Text_2A4505 - msgbox Route133_Text_2A4527, MSGBOX_AUTOCLOSE +Route133_EventScript_Conor:: @ 81F762D + trainerbattle_single TRAINER_CONOR, Route133_Text_ConorIntro, Route133_Text_ConorDefeat + msgbox Route133_Text_ConorPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/Route134/map.json b/data/maps/Route134/map.json index e459205768..fb4da1f925 100644 --- a/data/maps/Route134/map.json +++ b/data/maps/Route134/map.json @@ -35,7 +35,7 @@ "movement_range_y": 5, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route134_EventScript_1F7653", + "script": "Route134_EventScript_Jack", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route134_EventScript_1F766A", + "script": "Route134_EventScript_Laurel", "flag": "0" }, { @@ -61,7 +61,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route134_EventScript_1F7698", + "script": "Route134_EventScript_Aaron", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "Route134_EventScript_1F7681", + "script": "Route134_EventScript_Alex", "flag": "0" }, { @@ -87,7 +87,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route134_EventScript_1F76AF", + "script": "Route134_EventScript_Hitoshi", "flag": "0" }, { @@ -100,7 +100,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "Route134_EventScript_1F76F4", + "script": "Route134_EventScript_Marley", "flag": "0" }, { @@ -113,7 +113,7 @@ "movement_range_y": 3, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "Route134_EventScript_1F770B", + "script": "Route134_EventScript_Kelvin", "flag": "0" }, { @@ -126,7 +126,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "Route134_EventScript_1F76DD", + "script": "Route134_EventScript_Reyna", "flag": "0" }, { @@ -139,7 +139,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "Route134_EventScript_1F76C6", + "script": "Route134_EventScript_Hudson", "flag": "0" }, { diff --git a/data/maps/Route134/scripts.inc b/data/maps/Route134/scripts.inc index a941e19b50..3da2781b9b 100644 --- a/data/maps/Route134/scripts.inc +++ b/data/maps/Route134/scripts.inc @@ -1,53 +1,53 @@ Route134_MapScripts:: @ 81F7644 - map_script MAP_SCRIPT_ON_RESUME, Route134_MapScript1_1F764A + map_script MAP_SCRIPT_ON_RESUME, Route134_OnResume .byte 0 -Route134_MapScript1_1F764A: @ 81F764A +Route134_OnResume: @ 81F764A setdivewarp MAP_UNDERWATER_ROUTE134, 255, 8, 6 end -Route134_EventScript_1F7653:: @ 81F7653 - trainerbattle_single TRAINER_JACK, Route134_Text_2A4571, Route134_Text_2A45BB - msgbox Route134_Text_2A45C5, MSGBOX_AUTOCLOSE +Route134_EventScript_Jack:: @ 81F7653 + trainerbattle_single TRAINER_JACK, Route134_Text_JackIntro, Route134_Text_JackDefeat + msgbox Route134_Text_JackPostBattle, MSGBOX_AUTOCLOSE end -Route134_EventScript_1F766A:: @ 81F766A - trainerbattle_single TRAINER_LAUREL, Route134_Text_2A4609, Route134_Text_2A4643 - msgbox Route134_Text_2A464B, MSGBOX_AUTOCLOSE +Route134_EventScript_Laurel:: @ 81F766A + trainerbattle_single TRAINER_LAUREL, Route134_Text_LaurelIntro, Route134_Text_LaurelDefeat + msgbox Route134_Text_LaurelPostBattle, MSGBOX_AUTOCLOSE end -Route134_EventScript_1F7681:: @ 81F7681 - trainerbattle_single TRAINER_ALEX, Route134_Text_2A4682, Route134_Text_2A46BE - msgbox Route134_Text_2A46D2, MSGBOX_AUTOCLOSE +Route134_EventScript_Alex:: @ 81F7681 + trainerbattle_single TRAINER_ALEX, Route134_Text_AlexIntro, Route134_Text_AlexDefeat + msgbox Route134_Text_AlexPostBattle, MSGBOX_AUTOCLOSE end -Route134_EventScript_1F7698:: @ 81F7698 - trainerbattle_single TRAINER_AARON, Route134_Text_2A479E, Route134_Text_2A47E1 - msgbox Route134_Text_2A47FD, MSGBOX_AUTOCLOSE +Route134_EventScript_Aaron:: @ 81F7698 + trainerbattle_single TRAINER_AARON, Route134_Text_AaronIntro, Route134_Text_AaronDefeat + msgbox Route134_Text_AaronPostBattle, MSGBOX_AUTOCLOSE end -Route134_EventScript_1F76AF:: @ 81F76AF - trainerbattle_single TRAINER_HITOSHI, Route134_Text_2A4709, Route134_Text_2A4745 - msgbox Route134_Text_2A475D, MSGBOX_AUTOCLOSE +Route134_EventScript_Hitoshi:: @ 81F76AF + trainerbattle_single TRAINER_HITOSHI, Route134_Text_HitoshiIntro, Route134_Text_HitoshiDefeat + msgbox Route134_Text_HitoshiPostBattle, MSGBOX_AUTOCLOSE end -Route134_EventScript_1F76C6:: @ 81F76C6 - trainerbattle_single TRAINER_HUDSON, Route134_Text_2A4A8F, Route134_Text_2A4AC1 - msgbox Route134_Text_2A4AD8, MSGBOX_AUTOCLOSE +Route134_EventScript_Hudson:: @ 81F76C6 + trainerbattle_single TRAINER_HUDSON, Route134_Text_HudsonIntro, Route134_Text_HudsonDefeat + msgbox Route134_Text_HudsonPostBattle, MSGBOX_AUTOCLOSE end -Route134_EventScript_1F76DD:: @ 81F76DD - trainerbattle_single TRAINER_REYNA, Route134_Text_2A49E9, Route134_Text_2A4A10 - msgbox Route134_Text_2A4A34, MSGBOX_AUTOCLOSE +Route134_EventScript_Reyna:: @ 81F76DD + trainerbattle_single TRAINER_REYNA, Route134_Text_ReynaIntro, Route134_Text_ReynaDefeat + msgbox Route134_Text_ReynaPostBattle, MSGBOX_AUTOCLOSE end -Route134_EventScript_1F76F4:: @ 81F76F4 - trainerbattle_single TRAINER_MARLEY, Route134_Text_2A4937, Route134_Text_2A496B - msgbox Route134_Text_2A49B1, MSGBOX_AUTOCLOSE +Route134_EventScript_Marley:: @ 81F76F4 + trainerbattle_single TRAINER_MARLEY, Route134_Text_MarleyIntro, Route134_Text_MarleyDefeat + msgbox Route134_Text_MarleyPostBattle, MSGBOX_AUTOCLOSE end -Route134_EventScript_1F770B:: @ 81F770B - trainerbattle_single TRAINER_KELVIN, Route134_Text_2A4875, Route134_Text_2A489B - msgbox Route134_Text_2A48BD, MSGBOX_AUTOCLOSE +Route134_EventScript_Kelvin:: @ 81F770B + trainerbattle_single TRAINER_KELVIN, Route134_Text_KelvinIntro, Route134_Text_KelvinDefeat + msgbox Route134_Text_KelvinPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/RustboroCity/map.json b/data/maps/RustboroCity/map.json index d9fd0d8ccb..9c0d41709c 100644 --- a/data/maps/RustboroCity/map.json +++ b/data/maps/RustboroCity/map.json @@ -40,7 +40,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_EventScript_1E088A", + "script": "RustboroCity_EventScript_Woman", "flag": "0" }, { @@ -53,7 +53,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_EventScript_1E085F", + "script": "RustboroCity_EventScript_FatMan", "flag": "0" }, { @@ -66,7 +66,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_EventScript_1E08DA", + "script": "RustboroCity_EventScript_NinjaBoy", "flag": "0" }, { @@ -79,7 +79,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_EventScript_1E08D1", + "script": "RustboroCity_EventScript_Twin", "flag": "0" }, { @@ -92,7 +92,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_EventScript_1E08B2", + "script": "RustboroCity_EventScript_Boy2", "flag": "0" }, { @@ -105,7 +105,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_EventScript_1E0893", + "script": "RustboroCity_EventScript_Man1", "flag": "0" }, { @@ -118,7 +118,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_EventScript_1E0922", + "script": "RustboroCity_EventScript_LittleBoy", "flag": "0" }, { @@ -131,7 +131,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_EventScript_1E0938", + "script": "RustboroCity_EventScript_LittleGirl", "flag": "0" }, { @@ -144,7 +144,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_EventScript_1E0ADD", + "script": "RustboroCity_EventScript_DevonEmployee1", "flag": "FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1" }, { @@ -170,7 +170,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_EventScript_1E087E", + "script": "RustboroCity_EventScript_DevonEmployee2", "flag": "0" }, { @@ -196,7 +196,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_EventScript_1E094E", + "script": "RustboroCity_EventScript_Man2", "flag": "0" }, { @@ -209,8 +209,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_EventScript_1E0DB8", - "flag": "FLAG_HIDE_RUSBORO_CITY_RIVAL" + "script": "RustboroCity_EventScript_Rival", + "flag": "FLAG_HIDE_RUSTBORO_CITY_RIVAL" }, { "graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1", @@ -235,7 +235,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_EventScript_1E1236", + "script": "RustboroCity_EventScript_Boy1", "flag": "0" } ], @@ -333,7 +333,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "1", - "script": "RustboroCity_EventScript_1E095A" + "script": "RustboroCity_EventScript_StolenGoodsTrigger0" }, { "type": "trigger", @@ -342,7 +342,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "1", - "script": "RustboroCity_EventScript_1E0971" + "script": "RustboroCity_EventScript_StolenGoodsTrigger1" }, { "type": "trigger", @@ -351,7 +351,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "1", - "script": "RustboroCity_EventScript_1E0988" + "script": "RustboroCity_EventScript_StolenGoodsTrigger2" }, { "type": "trigger", @@ -360,7 +360,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "1", - "script": "RustboroCity_EventScript_1E099F" + "script": "RustboroCity_EventScript_StolenGoodsTrigger3" }, { "type": "trigger", @@ -369,7 +369,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "1", - "script": "RustboroCity_EventScript_1E09B6" + "script": "RustboroCity_EventScript_StolenGoodsTrigger4" }, { "type": "trigger", @@ -378,7 +378,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "2", - "script": "RustboroCity_EventScript_1E0AFE" + "script": "RustboroCity_EventScript_HelpGetGoodsTrigger0" }, { "type": "trigger", @@ -387,7 +387,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "2", - "script": "RustboroCity_EventScript_1E0B0A" + "script": "RustboroCity_EventScript_HelpGetGoodsTrigger1" }, { "type": "trigger", @@ -396,7 +396,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "2", - "script": "RustboroCity_EventScript_1E0B16" + "script": "RustboroCity_EventScript_HelpGetGoodsTrigger2" }, { "type": "trigger", @@ -405,7 +405,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "2", - "script": "RustboroCity_EventScript_1E0B22" + "script": "RustboroCity_EventScript_HelpGetGoodsTrigger3" }, { "type": "trigger", @@ -414,7 +414,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "4", - "script": "RustboroCity_EventScript_1E0C2B" + "script": "RustboroCity_EventScript_ReturnGoodsTrigger0" }, { "type": "trigger", @@ -423,7 +423,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "4", - "script": "RustboroCity_EventScript_1E0C37" + "script": "RustboroCity_EventScript_ReturnGoodsTrigger1" }, { "type": "trigger", @@ -432,7 +432,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "4", - "script": "RustboroCity_EventScript_1E0C43" + "script": "RustboroCity_EventScript_ReturnGoodsTrigger2" }, { "type": "trigger", @@ -441,7 +441,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "4", - "script": "RustboroCity_EventScript_1E0C4F" + "script": "RustboroCity_EventScript_ReturnGoodsTrigger3" }, { "type": "trigger", @@ -450,7 +450,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "7", - "script": "RustboroCity_EventScript_1E0DF3" + "script": "RustboroCity_EventScript_RivalTrigger0" }, { "type": "trigger", @@ -459,7 +459,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "7", - "script": "RustboroCity_EventScript_1E0E33" + "script": "RustboroCity_EventScript_RivalTrigger1" }, { "type": "trigger", @@ -468,7 +468,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "7", - "script": "RustboroCity_EventScript_1E0E73" + "script": "RustboroCity_EventScript_RivalTrigger2" }, { "type": "trigger", @@ -477,7 +477,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "7", - "script": "RustboroCity_EventScript_1E0EB3" + "script": "RustboroCity_EventScript_RivalTrigger3" }, { "type": "trigger", @@ -486,7 +486,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "7", - "script": "RustboroCity_EventScript_1E0EF3" + "script": "RustboroCity_EventScript_RivalTrigger4" }, { "type": "trigger", @@ -495,7 +495,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "7", - "script": "RustboroCity_EventScript_1E0F33" + "script": "RustboroCity_EventScript_RivalTrigger5" }, { "type": "trigger", @@ -504,7 +504,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "7", - "script": "RustboroCity_EventScript_1E0F73" + "script": "RustboroCity_EventScript_RivalTrigger6" }, { "type": "trigger", @@ -513,7 +513,7 @@ "elevation": 3, "var": "VAR_RUSTBORO_CITY_STATE", "var_value": "7", - "script": "RustboroCity_EventScript_1E0FB3" + "script": "RustboroCity_EventScript_RivalTrigger7" } ], "bg_events": [ @@ -523,7 +523,7 @@ "y": 19, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "RustboroCity_EventScript_1E08F5" + "script": "RustboroCity_EventScript_GymSign" }, { "type": "sign", @@ -531,7 +531,7 @@ "y": 35, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "RustboroCity_EventScript_1E0910" + "script": "RustboroCity_EventScript_TrainersSchoolSign" }, { "type": "sign", @@ -555,7 +555,7 @@ "y": 49, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "RustboroCity_EventScript_1E0907" + "script": "RustboroCity_EventScript_CitySign" }, { "type": "sign", @@ -579,7 +579,7 @@ "y": 20, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "RustboroCity_EventScript_1E08EC" + "script": "RustboroCity_EventScript_DevonCorpSign" }, { "type": "sign", @@ -587,7 +587,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "RustboroCity_EventScript_1E08E3" + "script": "RustboroCity_EventScript_TunnelSign" }, { "type": "sign", @@ -595,7 +595,7 @@ "y": 38, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "RustboroCity_EventScript_1E0919" + "script": "RustboroCity_EventScript_CuttersHouseSign" } ] } diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc index 22177c783d..2c710a075f 100644 --- a/data/maps/RustboroCity/scripts.inc +++ b/data/maps/RustboroCity/scripts.inc @@ -1,59 +1,59 @@ RustboroCity_MapScripts:: @ 81E06BD map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, RustboroCity_MapScript2_1E070B + map_script MAP_SCRIPT_ON_FRAME_TABLE, RustboroCity_OnFrame .byte 0 RustboroCity_OnTransition: @ 81E06C8 setflag FLAG_VISITED_RUSTBORO_CITY - call Common_EventScript_SetupRivalGender + call Common_EventScript_SetupRivalGfxId compare VAR_RUSTBORO_CITY_STATE, 6 - call_if_eq RustboroCity_EventScript_1E0707 + call_if_eq RustboroCity_EventScript_HideMapNamePopup getplayerxy VAR_TEMP_0, VAR_TEMP_1 compare VAR_RUSTBORO_CITY_STATE, 6 - goto_if_eq RustboroCity_EventScript_1E06EC + goto_if_eq RustboroCity_EventScript_PositionScientistForExit end -RustboroCity_EventScript_1E06EC:: @ 81E06EC +RustboroCity_EventScript_PositionScientistForExit:: @ 81E06EC compare VAR_TEMP_0, 11 - goto_if_eq RustboroCity_EventScript_1E06FF + goto_if_eq RustboroCity_EventScript_PositionScientistLeftExit setobjectxyperm 15, 12, 15 end -RustboroCity_EventScript_1E06FF:: @ 81E06FF +RustboroCity_EventScript_PositionScientistLeftExit:: @ 81E06FF setobjectxyperm 15, 11, 15 end -RustboroCity_EventScript_1E0707:: @ 81E0707 +RustboroCity_EventScript_HideMapNamePopup:: @ 81E0707 setflag FLAG_HIDE_MAP_NAME_POPUP return -RustboroCity_MapScript2_1E070B: @ 81E070B - map_script_2 VAR_RUSTBORO_CITY_STATE, 6, RustboroCity_EventScript_1E0715 +RustboroCity_OnFrame: @ 81E070B + map_script_2 VAR_RUSTBORO_CITY_STATE, 6, RustboroCity_EventScript_ScientistAddMatchCall .2byte 0 -RustboroCity_EventScript_1E0715:: @ 81E0715 +RustboroCity_EventScript_ScientistAddMatchCall:: @ 81E0715 lockall setvar VAR_ROUTE104_STATE, 1 - applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_1E0850 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_PlayerWalkDown waitmovement 0 playse SE_KAIDAN delay 10 addobject 15 - applymovement 15, RustboroCity_Movement_1E0852 + applymovement 15, RustboroCity_Movement_ScientistApproachPlayer waitmovement 0 playse SE_PIN applymovement 15, Common_Movement_ExclamationMark waitmovement 0 applymovement 15, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - applymovement 15, RustboroCity_Movement_1E084E + applymovement 15, RustboroCity_Movement_ScientistWalkInPlaceDown waitmovement 0 - msgbox RustboroCity_Text_1E22A5, MSGBOX_DEFAULT + msgbox RustboroCity_Text_DevelopedNewPokenavFeature, MSGBOX_DEFAULT closemessage setflag FLAG_HAS_MATCH_CALL - applymovement 15, Common_Movement_WalkInPlaceLeft + applymovement 15, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 playse SE_TK_KASYA delay 10 @@ -63,38 +63,38 @@ RustboroCity_EventScript_1E0715:: @ 81E0715 delay 10 playse SE_TK_KASYA delay 20 - applymovement 15, Common_Movement_WalkInPlaceDown + applymovement 15, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox RustboroCity_Text_1E2331, MSGBOX_DEFAULT + msgbox RustboroCity_Text_AddedMatchCallPleaseCallMrStone, MSGBOX_DEFAULT closemessage delay 20 - goto RustboroCity_EventScript_1E07BD + goto RustboroCity_EventScript_MatchCallTutorial -RustboroCity_EventScript_1E07AC:: @ 81E07AC - msgbox RustboroCity_Text_1E2449, MSGBOX_DEFAULT +RustboroCity_EventScript_PleaseSelectPokenav:: @ 81E07AC + msgbox RustboroCity_Text_PleaseSelectPokenav, MSGBOX_DEFAULT closemessage delay 10 - goto RustboroCity_EventScript_1E07BD + goto RustboroCity_EventScript_MatchCallTutorial -RustboroCity_EventScript_1E07BD:: @ 81E07BD +RustboroCity_EventScript_MatchCallTutorial:: @ 81E07BD setflag FLAG_ADDED_MATCH_CALL_TO_POKENAV - special sp106_CreateStartMenu + special ScriptMenu_CreateStartMenuForPokenavTutorial waitstate switch VAR_RESULT - case 0, RustboroCity_EventScript_1E07AC - case 1, RustboroCity_EventScript_1E07AC - case 2, RustboroCity_EventScript_1E07AC - case 4, RustboroCity_EventScript_1E07AC - case 5, RustboroCity_EventScript_1E07AC - case 6, RustboroCity_EventScript_1E07AC - case 7, RustboroCity_EventScript_1E07AC - case 127, RustboroCity_EventScript_1E07AC - special sub_81C72A4 + case 0, RustboroCity_EventScript_PleaseSelectPokenav + case 1, RustboroCity_EventScript_PleaseSelectPokenav + case 2, RustboroCity_EventScript_PleaseSelectPokenav + case 4, RustboroCity_EventScript_PleaseSelectPokenav + case 5, RustboroCity_EventScript_PleaseSelectPokenav + case 6, RustboroCity_EventScript_PleaseSelectPokenav + case 7, RustboroCity_EventScript_PleaseSelectPokenav + case MULTI_B_PRESSED, RustboroCity_EventScript_PleaseSelectPokenav + special OpenPokenavForTutorial waitstate delay 20 - msgbox RustboroCity_Text_1E2464, MSGBOX_DEFAULT + msgbox RustboroCity_Text_IdBetterGetBackToWork, MSGBOX_DEFAULT closemessage - applymovement 15, RustboroCity_Movement_1E085D + applymovement 15, RustboroCity_Movement_ScientistLeave waitmovement 0 playse SE_KAIDAN removeobject 15 @@ -104,20 +104,21 @@ RustboroCity_EventScript_1E07BD:: @ 81E07BD releaseall end -RustboroCity_Movement_1E084E: @ 81E084E +RustboroCity_Movement_ScientistWalkInPlaceDown: @ 81E084E walk_in_place_down step_end -RustboroCity_Movement_1E0850: @ 81E0850 +RustboroCity_Movement_PlayerWalkDown: @ 81E0850 walk_down step_end -RustboroCity_Movement_1E0852: @ 81E0852 +RustboroCity_Movement_ScientistApproachPlayer: @ 81E0852 walk_down delay_16 step_end -RustboroCity_Movement_1E0855: @ 81E0855 +@ Unused +RustboroCity_Movement_ScientistWalkAroundPlayer: @ 81E0855 delay_16 walk_left walk_down @@ -127,175 +128,176 @@ RustboroCity_Movement_1E0855: @ 81E0855 delay_16 step_end -RustboroCity_Movement_1E085D: @ 81E085D +RustboroCity_Movement_ScientistLeave: @ 81E085D walk_up step_end -RustboroCity_EventScript_1E085F:: @ 81E085F +RustboroCity_EventScript_FatMan:: @ 81E085F lock faceplayer - goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_EventScript_1E0874 - msgbox RustboroCity_Text_1E123F, MSGBOX_DEFAULT + goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_EventScript_FatManSawGrunt + msgbox RustboroCity_Text_WeShortenItToDevon, MSGBOX_DEFAULT release end -RustboroCity_EventScript_1E0874:: @ 81E0874 - msgbox RustboroCity_Text_1E12AC, MSGBOX_DEFAULT +RustboroCity_EventScript_FatManSawGrunt:: @ 81E0874 + msgbox RustboroCity_Text_SneakyLookingManWentAroundCorner, MSGBOX_DEFAULT release end -RustboroCity_EventScript_1E087E:: @ 81E087E +RustboroCity_EventScript_DevonEmployee2:: @ 81E087E lock faceplayer - msgbox RustboroCity_Text_1E1407, MSGBOX_DEFAULT + msgbox RustboroCity_Text_YoureNewAroundHere, MSGBOX_DEFAULT release end -RustboroCity_EventScript_1E088A:: @ 81E088A - msgbox RustboroCity_Text_1E1480, MSGBOX_NPC +RustboroCity_EventScript_Woman:: @ 81E088A + msgbox RustboroCity_Text_GymLeaderIsntEasyWithFire, MSGBOX_NPC end -RustboroCity_EventScript_1E0893:: @ 81E0893 +RustboroCity_EventScript_Man1:: @ 81E0893 lock faceplayer - goto_if_set FLAG_BADGE01_GET, RustboroCity_EventScript_1E08A8 - msgbox RustboroCity_Text_1E130D, MSGBOX_DEFAULT + goto_if_set FLAG_BADGE01_GET, RustboroCity_EventScript_Man1HaveBadge + msgbox RustboroCity_Text_HaveYouChallengedGym, MSGBOX_DEFAULT release end -RustboroCity_EventScript_1E08A8:: @ 81E08A8 - msgbox RustboroCity_Text_1E139E, MSGBOX_DEFAULT +RustboroCity_EventScript_Man1HaveBadge:: @ 81E08A8 + msgbox RustboroCity_Text_HeyThatsRustborosGymBadge, MSGBOX_DEFAULT release end -RustboroCity_EventScript_1E08B2:: @ 81E08B2 +RustboroCity_EventScript_Boy2:: @ 81E08B2 lock faceplayer - goto_if_set FLAG_RECEIVED_POKENAV, RustboroCity_EventScript_1E08C7 - msgbox RustboroCity_Text_1E1520, MSGBOX_DEFAULT + goto_if_set FLAG_RECEIVED_POKENAV, RustboroCity_EventScript_Boy2BrineyLeftTunnel + msgbox RustboroCity_Text_MrBrineyWalksInTheTunnel, MSGBOX_DEFAULT release end -RustboroCity_EventScript_1E08C7:: @ 81E08C7 - msgbox RustboroCity_Text_1E1589, MSGBOX_DEFAULT +RustboroCity_EventScript_Boy2BrineyLeftTunnel:: @ 81E08C7 + msgbox RustboroCity_Text_MrBrineyLovesPeeko, MSGBOX_DEFAULT release end -RustboroCity_EventScript_1E08D1:: @ 81E08D1 - msgbox RustboroCity_Text_1E1633, MSGBOX_NPC +RustboroCity_EventScript_Twin:: @ 81E08D1 + msgbox RustboroCity_Text_WowYouHavePokemon, MSGBOX_NPC end -RustboroCity_EventScript_1E08DA:: @ 81E08DA - msgbox RustboroCity_Text_1E1695, MSGBOX_SIGN +RustboroCity_EventScript_NinjaBoy:: @ 81E08DA + msgbox RustboroCity_Text_CatchRarePokemonIfIGoToSchool, MSGBOX_SIGN end -RustboroCity_EventScript_1E08E3:: @ 81E08E3 - msgbox RustboroCity_Text_1E20A6, MSGBOX_SIGN +RustboroCity_EventScript_TunnelSign:: @ 81E08E3 + msgbox RustboroCity_Text_TunnelNearingCompletion, MSGBOX_SIGN end -RustboroCity_EventScript_1E08EC:: @ 81E08EC - msgbox RustboroCity_Text_1E2128, MSGBOX_SIGN +RustboroCity_EventScript_DevonCorpSign:: @ 81E08EC + msgbox RustboroCity_Text_DevonCorpSign, MSGBOX_SIGN end -RustboroCity_EventScript_1E08F5:: @ 81E08F5 - msgbox RustboroCity_Text_1E2167, MSGBOX_SIGN +RustboroCity_EventScript_GymSign:: @ 81E08F5 + msgbox RustboroCity_Text_GymSign, MSGBOX_SIGN end -RustboroCity_EventScript_1E08FE:: @ 81E08FE - msgbox RustboroCity_Text_1E21B3, MSGBOX_SIGN +@ Unused +RustboroCity_EventScript_DevonCorpBranchOfficeSign:: @ 81E08FE + msgbox RustboroCity_Text_DevonCorpBranchOfficeSign, MSGBOX_SIGN end -RustboroCity_EventScript_1E0907:: @ 81E0907 - msgbox RustboroCity_Text_1E220B, MSGBOX_SIGN +RustboroCity_EventScript_CitySign:: @ 81E0907 + msgbox RustboroCity_Text_CitySign, MSGBOX_SIGN end -RustboroCity_EventScript_1E0910:: @ 81E0910 - msgbox RustboroCity_Text_1E2253, MSGBOX_SIGN +RustboroCity_EventScript_TrainersSchoolSign:: @ 81E0910 + msgbox RustboroCity_Text_TrainersSchoolSign, MSGBOX_SIGN end -RustboroCity_EventScript_1E0919:: @ 81E0919 - msgbox RustboroCity_Text_1E2296, MSGBOX_SIGN +RustboroCity_EventScript_CuttersHouseSign:: @ 81E0919 + msgbox RustboroCity_Text_CuttersHouse, MSGBOX_SIGN end -RustboroCity_EventScript_1E0922:: @ 81E0922 +RustboroCity_EventScript_LittleBoy:: @ 81E0922 lock faceplayer - msgbox RustboroCity_Text_1E16F4, MSGBOX_DEFAULT + msgbox RustboroCity_Text_PokemonCanChangeLookFromExp, MSGBOX_DEFAULT applymovement 7, Common_Movement_FaceOriginalDirection waitmovement 0 release end -RustboroCity_EventScript_1E0938:: @ 81E0938 +RustboroCity_EventScript_LittleGirl:: @ 81E0938 lock faceplayer - msgbox RustboroCity_Text_1E174B, MSGBOX_DEFAULT + msgbox RustboroCity_Text_PokemonChangeShape, MSGBOX_DEFAULT applymovement 8, Common_Movement_FaceOriginalDirection waitmovement 0 release end -RustboroCity_EventScript_1E094E:: @ 81E094E +RustboroCity_EventScript_Man2:: @ 81E094E lock faceplayer - msgbox RustboroCity_Text_1E1789, MSGBOX_DEFAULT + msgbox RustboroCity_Text_TradePokemonGrowFast, MSGBOX_DEFAULT release end -RustboroCity_EventScript_1E095A:: @ 81E095A +RustboroCity_EventScript_StolenGoodsTrigger0:: @ 81E095A lockall setobjectxyperm 9, 14, 21 setobjectmovementtype 9, MOVEMENT_TYPE_FACE_RIGHT setvar VAR_0x8004, 0 - goto RustboroCity_EventScript_1E09CD + goto RustboroCity_EventScript_StolenGoodsScene end -RustboroCity_EventScript_1E0971:: @ 81E0971 +RustboroCity_EventScript_StolenGoodsTrigger1:: @ 81E0971 lockall setobjectxyperm 9, 14, 21 setobjectmovementtype 9, MOVEMENT_TYPE_FACE_RIGHT setvar VAR_0x8004, 1 - goto RustboroCity_EventScript_1E09CD + goto RustboroCity_EventScript_StolenGoodsScene end -RustboroCity_EventScript_1E0988:: @ 81E0988 +RustboroCity_EventScript_StolenGoodsTrigger2:: @ 81E0988 lockall setobjectxyperm 9, 14, 21 setobjectmovementtype 9, MOVEMENT_TYPE_FACE_RIGHT setvar VAR_0x8004, 2 - goto RustboroCity_EventScript_1E09CD + goto RustboroCity_EventScript_StolenGoodsScene end -RustboroCity_EventScript_1E099F:: @ 81E099F +RustboroCity_EventScript_StolenGoodsTrigger3:: @ 81E099F lockall setobjectxyperm 9, 14, 21 setobjectmovementtype 9, MOVEMENT_TYPE_FACE_RIGHT setvar VAR_0x8004, 3 - goto RustboroCity_EventScript_1E09CD + goto RustboroCity_EventScript_StolenGoodsScene end -RustboroCity_EventScript_1E09B6:: @ 81E09B6 +RustboroCity_EventScript_StolenGoodsTrigger4:: @ 81E09B6 lockall setobjectxyperm 9, 14, 21 setobjectmovementtype 9, MOVEMENT_TYPE_FACE_RIGHT setvar VAR_0x8004, 4 - goto RustboroCity_EventScript_1E09CD + goto RustboroCity_EventScript_StolenGoodsScene end -RustboroCity_EventScript_1E09CD:: @ 81E09CD - msgbox RustboroCity_Text_1E17FE, MSGBOX_DEFAULT +RustboroCity_EventScript_StolenGoodsScene:: @ 81E09CD + msgbox RustboroCity_Text_OutOfTheWay, MSGBOX_DEFAULT closemessage playbgm MUS_AQA_0, 0 addobject 10 addobject 9 - applymovement 10, RustboroCity_Movement_1E0AA0 + applymovement 10, RustboroCity_Movement_GruntEscape waitmovement 0 removeobject 10 - applymovement 9, RustboroCity_Movement_1E0AB1 + applymovement 9, RustboroCity_Movement_EmployeeChaseGrunt1 waitmovement 0 - msgbox RustboroCity_Text_1E1817, MSGBOX_DEFAULT + msgbox RustboroCity_Text_WaitDontTakeMyGoods, MSGBOX_DEFAULT closemessage - applymovement 9, RustboroCity_Movement_1E0AB9 + applymovement 9, RustboroCity_Movement_EmployeeChaseGrunt2 waitmovement 0 fadedefaultbgm removeobject 9 @@ -313,42 +315,50 @@ RustboroCity_EventScript_1E09CD:: @ 81E09CD releaseall end -RustboroCity_EventScript_1E0A3B:: @ 81E0A3B - msgbox RustboroCity_Text_1E1904, MSGBOX_DEFAULT +@ Unused +RustboroCity_EventScript_ShadyCharacterTookOff:: @ 81E0A3B + msgbox RustboroCity_Text_ShadyCharacterTookOffTowardsTunnel, MSGBOX_DEFAULT return -RustboroCity_EventScript_1E0A44:: @ 81E0A44 - msgbox RustboroCity_Text_1E194D, MSGBOX_DEFAULT +@ Unused +RustboroCity_EventScript_YouGotItThankYou:: @ 81E0A44 + msgbox RustboroCity_Text_YouGotItThankYou, MSGBOX_DEFAULT return -RustboroCity_EventScript_1E0A4D:: @ 81E0A4D - applymovement 9, RustboroCity_Movement_1E0AC1 +@ Unknown, unused employee movements. Based on the differences in movement theyre for approaching an object (probably the player) in different positions +RustboroCity_EventScript_EmployeeApproachUp:: @ 81E0A4D + applymovement 9, RustboroCity_Movement_EmployeeApproachUp waitmovement 0 return -RustboroCity_EventScript_1E0A58:: @ 81E0A58 - applymovement 9, RustboroCity_Movement_1E0AC5 +@ Unused, see above +RustboroCity_EventScript_EmployeeApproachLeft:: @ 81E0A58 + applymovement 9, RustboroCity_Movement_EmployeeApproachLeft waitmovement 0 return -RustboroCity_EventScript_1E0A63:: @ 81E0A63 - applymovement 9, RustboroCity_Movement_1E0ACA +@ Unused, see above +RustboroCity_EventScript_EmployeeApproachRight:: @ 81E0A63 + applymovement 9, RustboroCity_Movement_EmployeeApproachRight waitmovement 0 return -RustboroCity_EventScript_1E0A6E:: @ 81E0A6E - applymovement 9, RustboroCity_Movement_1E0ACF +@ Unused, see above +RustboroCity_EventScript_EmployeeApproachDown:: @ 81E0A6E + applymovement 9, RustboroCity_Movement_EmployeeApproachDown waitmovement 0 return -RustboroCity_EventScript_1E0A79:: @ 81E0A79 - applymovement 9, RustboroCity_Movement_1E0AD5 +@ Unused, similar movement to the above scripts +RustboroCity_EventScript_EmployeeApproachPlayerFar:: @ 81E0A79 + applymovement 9, RustboroCity_Movement_EmployeeApproachPlayerFar waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -RustboroCity_Movement_1E0A8E: @ 81E0A8E +@ Unused +RustboroCity_Movement_GruntEscapeExtended: @ 81E0A8E walk_fastest_right walk_fastest_right walk_fast_right @@ -368,7 +378,7 @@ RustboroCity_Movement_1E0A8E: @ 81E0A8E walk_fast_up step_end -RustboroCity_Movement_1E0AA0: @ 81E0AA0 +RustboroCity_Movement_GruntEscape: @ 81E0AA0 walk_fastest_right walk_fastest_right walk_fast_right @@ -387,7 +397,7 @@ RustboroCity_Movement_1E0AA0: @ 81E0AA0 walk_fast_up step_end -RustboroCity_Movement_1E0AB1: @ 81E0AB1 +RustboroCity_Movement_EmployeeChaseGrunt1: @ 81E0AB1 walk_right walk_right walk_right @@ -397,7 +407,7 @@ RustboroCity_Movement_1E0AB1: @ 81E0AB1 walk_in_place_fastest_up step_end -RustboroCity_Movement_1E0AB9: @ 81E0AB9 +RustboroCity_Movement_EmployeeChaseGrunt2: @ 81E0AB9 walk_up walk_up walk_up @@ -407,27 +417,31 @@ RustboroCity_Movement_1E0AB9: @ 81E0AB9 walk_up step_end -RustboroCity_Movement_1E0AC1: @ 81E0AC1 +@ Functionally unused +RustboroCity_Movement_EmployeeApproachUp: @ 81E0AC1 walk_down walk_right walk_right step_end -RustboroCity_Movement_1E0AC5: @ 81E0AC5 +@ Functionally unused +RustboroCity_Movement_EmployeeApproachLeft: @ 81E0AC5 walk_down walk_down walk_right walk_right step_end -RustboroCity_Movement_1E0ACA: @ 81E0ACA +@ Functionally unused +RustboroCity_Movement_EmployeeApproachRight: @ 81E0ACA walk_down walk_down walk_right walk_right step_end -RustboroCity_Movement_1E0ACF: @ 81E0ACF +@ Functionally unused +RustboroCity_Movement_EmployeeApproachDown: @ 81E0ACF walk_down walk_down walk_down @@ -435,7 +449,8 @@ RustboroCity_Movement_1E0ACF: @ 81E0ACF walk_right step_end -RustboroCity_Movement_1E0AD5: @ 81E0AD5 +@ Functionally unused +RustboroCity_Movement_EmployeeApproachPlayerFar: @ 81E0AD5 walk_down walk_down walk_down @@ -445,154 +460,155 @@ RustboroCity_Movement_1E0AD5: @ 81E0AD5 walk_in_place_fastest_down step_end -RustboroCity_EventScript_1E0ADD:: @ 81E0ADD +RustboroCity_EventScript_DevonEmployee1:: @ 81E0ADD lock faceplayer - goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_EventScript_1E0AF2 - msgbox RustboroCity_Text_1E1904, MSGBOX_DEFAULT + goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_EventScript_ReturnGoodsSpokeToEmployee + msgbox RustboroCity_Text_ShadyCharacterTookOffTowardsTunnel, MSGBOX_DEFAULT release end -RustboroCity_EventScript_1E0AF2:: @ 81E0AF2 +RustboroCity_EventScript_ReturnGoodsSpokeToEmployee:: @ 81E0AF2 waitse setvar VAR_TEMP_1, 4 - goto RustboroCity_EventScript_1E0C5B + goto RustboroCity_EventScript_ReturnGoods end -RustboroCity_EventScript_1E0AFE:: @ 81E0AFE +RustboroCity_EventScript_HelpGetGoodsTrigger0:: @ 81E0AFE lockall setvar VAR_TEMP_1, 0 - goto RustboroCity_EventScript_1E0B2E + goto RustboroCity_EventScript_EmployeeAskToGetGoods end -RustboroCity_EventScript_1E0B0A:: @ 81E0B0A +RustboroCity_EventScript_HelpGetGoodsTrigger1:: @ 81E0B0A lockall setvar VAR_TEMP_1, 1 - goto RustboroCity_EventScript_1E0B2E + goto RustboroCity_EventScript_EmployeeAskToGetGoods end -RustboroCity_EventScript_1E0B16:: @ 81E0B16 +RustboroCity_EventScript_HelpGetGoodsTrigger2:: @ 81E0B16 lockall setvar VAR_TEMP_1, 2 - goto RustboroCity_EventScript_1E0B2E + goto RustboroCity_EventScript_EmployeeAskToGetGoods end -RustboroCity_EventScript_1E0B22:: @ 81E0B22 +RustboroCity_EventScript_HelpGetGoodsTrigger3:: @ 81E0B22 lockall setvar VAR_TEMP_1, 3 - goto RustboroCity_EventScript_1E0B2E + goto RustboroCity_EventScript_EmployeeAskToGetGoods end -RustboroCity_EventScript_1E0B2E:: @ 81E0B2E +RustboroCity_EventScript_EmployeeAskToGetGoods:: @ 81E0B2E compare VAR_TEMP_1, 0 - call_if_eq RustboroCity_EventScript_1E0B6F + call_if_eq RustboroCity_EventScript_EmployeeFacePlayerUp1 compare VAR_TEMP_1, 1 - call_if_eq RustboroCity_EventScript_1E0B9B + call_if_eq RustboroCity_EventScript_EmployeeFacePlayerLeft1 compare VAR_TEMP_1, 2 - call_if_eq RustboroCity_EventScript_1E0BC7 + call_if_eq RustboroCity_EventScript_EmployeeFacePlayerDown1 compare VAR_TEMP_1, 3 - call_if_eq RustboroCity_EventScript_1E0BF3 + call_if_eq RustboroCity_EventScript_EmployeeApproachPlayerDown1 setflag FLAG_INTERACTED_WITH_DEVON_EMPLOYEE_GOODS_STOLEN setvar VAR_RUSTBORO_CITY_STATE, 3 copyobjectxytoperm 9 - msgbox RustboroCity_Text_1E183E, MSGBOX_DEFAULT + msgbox RustboroCity_Text_HelpMeIWasRobbed, MSGBOX_DEFAULT releaseall end -RustboroCity_EventScript_1E0B6F:: @ 81E0B6F - applymovement 9, Common_Movement_WalkInPlaceUp +@ The below movement scripts are either partially or fully duplicated by the movement scripts when the player returns the goods +RustboroCity_EventScript_EmployeeFacePlayerUp1:: @ 81E0B6F + applymovement 9, Common_Movement_WalkInPlaceFastestUp waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark waitmovement 0 applymovement 9, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -RustboroCity_EventScript_1E0B9B:: @ 81E0B9B - applymovement 9, Common_Movement_WalkInPlaceLeft +RustboroCity_EventScript_EmployeeFacePlayerLeft1:: @ 81E0B9B + applymovement 9, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark waitmovement 0 applymovement 9, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AC + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceRight waitmovement 0 return -RustboroCity_EventScript_1E0BC7:: @ 81E0BC7 - applymovement 9, Common_Movement_WalkInPlaceDown +RustboroCity_EventScript_EmployeeFacePlayerDown1:: @ 81E0BC7 + applymovement 9, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark waitmovement 0 applymovement 9, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -RustboroCity_EventScript_1E0BF3:: @ 81E0BF3 - applymovement 9, Common_Movement_WalkInPlaceDown +RustboroCity_EventScript_EmployeeApproachPlayerDown1:: @ 81E0BF3 + applymovement 9, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark waitmovement 0 applymovement 9, Common_Movement_Delay48 waitmovement 0 - applymovement 9, RustboroCity_Movement_1E0C29 + applymovement 9, RustboroCity_Movement_EmployeeApproachPlayerDown waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -RustboroCity_Movement_1E0C29: @ 81E0C29 +RustboroCity_Movement_EmployeeApproachPlayerDown: @ 81E0C29 walk_down step_end -RustboroCity_EventScript_1E0C2B:: @ 81E0C2B +RustboroCity_EventScript_ReturnGoodsTrigger0:: @ 81E0C2B lockall setvar VAR_TEMP_1, 0 - goto RustboroCity_EventScript_1E0C5B + goto RustboroCity_EventScript_ReturnGoods end -RustboroCity_EventScript_1E0C37:: @ 81E0C37 +RustboroCity_EventScript_ReturnGoodsTrigger1:: @ 81E0C37 lockall setvar VAR_TEMP_1, 1 - goto RustboroCity_EventScript_1E0C5B + goto RustboroCity_EventScript_ReturnGoods end -RustboroCity_EventScript_1E0C43:: @ 81E0C43 +RustboroCity_EventScript_ReturnGoodsTrigger2:: @ 81E0C43 lockall setvar VAR_TEMP_1, 2 - goto RustboroCity_EventScript_1E0C5B + goto RustboroCity_EventScript_ReturnGoods end -RustboroCity_EventScript_1E0C4F:: @ 81E0C4F +RustboroCity_EventScript_ReturnGoodsTrigger3:: @ 81E0C4F lockall setvar VAR_TEMP_1, 3 - goto RustboroCity_EventScript_1E0C5B + goto RustboroCity_EventScript_ReturnGoods end -RustboroCity_EventScript_1E0C5B:: @ 81E0C5B +RustboroCity_EventScript_ReturnGoods:: @ 81E0C5B compare VAR_TEMP_1, 0 - call_if_eq RustboroCity_EventScript_1E0CDC + call_if_eq RustboroCity_EventScript_EmployeeFacePlayerUp2 compare VAR_TEMP_1, 1 - call_if_eq RustboroCity_EventScript_1E0D08 + call_if_eq RustboroCity_EventScript_EmployeeFacePlayerLeft2 compare VAR_TEMP_1, 2 - call_if_eq RustboroCity_EventScript_1E0D34 + call_if_eq RustboroCity_EventScript_EmployeeFacePlayerDown2 compare VAR_TEMP_1, 3 - call_if_eq RustboroCity_EventScript_1E0D60 + call_if_eq RustboroCity_EventScript_EmployeeApproachPlayerDown2 compare VAR_TEMP_1, 4 - call_if_eq RustboroCity_EventScript_1E0D96 - msgbox RustboroCity_Text_1E194D, MSGBOX_DEFAULT - giveitem_std ITEM_GREAT_BALL - compare VAR_RESULT, 0 - call_if_eq RustboroCity_EventScript_1E0CD3 - msgbox RustboroCity_Text_1E1A21, MSGBOX_DEFAULT + call_if_eq RustboroCity_EventScript_EmployeeFacePlayerRight + msgbox RustboroCity_Text_YouGotItThankYou, MSGBOX_DEFAULT + giveitem ITEM_GREAT_BALL + compare VAR_RESULT, FALSE + call_if_eq RustboroCity_EventScript_BagFull + msgbox RustboroCity_Text_PleaseComeWithMe, MSGBOX_DEFAULT closemessage setflag FLAG_RETURNED_DEVON_GOODS setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1 @@ -603,62 +619,62 @@ RustboroCity_EventScript_1E0C5B:: @ 81E0C5B releaseall end -RustboroCity_EventScript_1E0CD3:: @ 81E0CD3 - msgbox RustboroCity_Text_1E19E5, MSGBOX_DEFAULT +RustboroCity_EventScript_BagFull:: @ 81E0CD3 + msgbox RustboroCity_Text_YoureLoadedWithItems, MSGBOX_DEFAULT return -RustboroCity_EventScript_1E0CDC:: @ 81E0CDC - applymovement 9, Common_Movement_WalkInPlaceUp +RustboroCity_EventScript_EmployeeFacePlayerUp2:: @ 81E0CDC + applymovement 9, Common_Movement_WalkInPlaceFastestUp waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark waitmovement 0 applymovement 9, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -RustboroCity_EventScript_1E0D08:: @ 81E0D08 - applymovement 9, Common_Movement_WalkInPlaceRight +RustboroCity_EventScript_EmployeeFacePlayerLeft2:: @ 81E0D08 + applymovement 9, Common_Movement_WalkInPlaceFastestRight waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark waitmovement 0 applymovement 9, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AE + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceLeft waitmovement 0 return -RustboroCity_EventScript_1E0D34:: @ 81E0D34 - applymovement 9, Common_Movement_WalkInPlaceDown +RustboroCity_EventScript_EmployeeFacePlayerDown2:: @ 81E0D34 + applymovement 9, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark waitmovement 0 applymovement 9, Common_Movement_Delay48 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -RustboroCity_EventScript_1E0D60:: @ 81E0D60 - applymovement 9, Common_Movement_WalkInPlaceDown +RustboroCity_EventScript_EmployeeApproachPlayerDown2:: @ 81E0D60 + applymovement 9, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark waitmovement 0 applymovement 9, Common_Movement_Delay48 waitmovement 0 - applymovement 9, RustboroCity_Movement_1E0C29 + applymovement 9, RustboroCity_Movement_EmployeeApproachPlayerDown waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -RustboroCity_EventScript_1E0D96:: @ 81E0D96 - applymovement 9, Common_Movement_WalkInPlaceLeft +RustboroCity_EventScript_EmployeeFacePlayerRight:: @ 81E0D96 + applymovement 9, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 playse SE_PIN applymovement 9, Common_Movement_ExclamationMark @@ -667,175 +683,174 @@ RustboroCity_EventScript_1E0D96:: @ 81E0D96 waitmovement 0 return -RustboroCity_EventScript_1E0DB8:: @ 81E0DB8 +RustboroCity_EventScript_Rival:: @ 81E0DB8 lockall - call_if_unset FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_1E0DD1 + call_if_unset FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_PlayRivalMusic applymovement 14, Common_Movement_FacePlayer waitmovement 0 - goto RustboroCity_EventScript_1E0FF3 + goto RustboroCity_EventScript_RivalEncounter -Route104_EventScript_1E0DD1:: @ 81E0DD1 -RustboroCity_EventScript_1E0DD1:: @ 81E0DD1 +RustboroCity_EventScript_PlayRivalMusic:: @ 81E0DD1 checkplayergender compare VAR_RESULT, MALE - goto_if_eq RustboroCity_EventScript_1E0DE9 + goto_if_eq RustboroCity_EventScript_PlayMayMusic compare VAR_RESULT, FEMALE - goto_if_eq RustboroCity_EventScript_1E0DEE + goto_if_eq RustboroCity_EventScript_PlayBrendanMusic return -RustboroCity_EventScript_1E0DE9:: @ 81E0DE9 +RustboroCity_EventScript_PlayMayMusic:: @ 81E0DE9 playbgm MUS_GIRL_SUP, 1 return -RustboroCity_EventScript_1E0DEE:: @ 81E0DEE +RustboroCity_EventScript_PlayBrendanMusic:: @ 81E0DEE playbgm MUS_BOY_SUP, 1 return -RustboroCity_EventScript_1E0DF3:: @ 81E0DF3 +RustboroCity_EventScript_RivalTrigger0:: @ 81E0DF3 lockall - call RustboroCity_EventScript_1E0DD1 - applymovement 14, Common_Movement_WalkInPlaceDown + call RustboroCity_EventScript_PlayRivalMusic + applymovement 14, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 14, Common_Movement_ExclamationMark waitmovement 0 applymovement 14, Common_Movement_Delay48 waitmovement 0 - applymovement 14, RustboroCity_Movement_1E120E + applymovement 14, RustboroCity_Movement_RivalApproachPlayer0 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - goto RustboroCity_EventScript_1E0FF3 + goto RustboroCity_EventScript_RivalEncounter -RustboroCity_EventScript_1E0E33:: @ 81E0E33 +RustboroCity_EventScript_RivalTrigger1:: @ 81E0E33 lockall - call RustboroCity_EventScript_1E0DD1 - applymovement 14, Common_Movement_WalkInPlaceDown + call RustboroCity_EventScript_PlayRivalMusic + applymovement 14, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 14, Common_Movement_ExclamationMark waitmovement 0 applymovement 14, Common_Movement_Delay48 waitmovement 0 - applymovement 14, RustboroCity_Movement_1E1215 + applymovement 14, RustboroCity_Movement_RivalApproachPlayer1 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - goto RustboroCity_EventScript_1E0FF3 + goto RustboroCity_EventScript_RivalEncounter -RustboroCity_EventScript_1E0E73:: @ 81E0E73 +RustboroCity_EventScript_RivalTrigger2:: @ 81E0E73 lockall - call RustboroCity_EventScript_1E0DD1 - applymovement 14, Common_Movement_WalkInPlaceDown + call RustboroCity_EventScript_PlayRivalMusic + applymovement 14, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 14, Common_Movement_ExclamationMark waitmovement 0 applymovement 14, Common_Movement_Delay48 waitmovement 0 - applymovement 14, RustboroCity_Movement_1E121B + applymovement 14, RustboroCity_Movement_RivalApproachPlayer2 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - goto RustboroCity_EventScript_1E0FF3 + goto RustboroCity_EventScript_RivalEncounter -RustboroCity_EventScript_1E0EB3:: @ 81E0EB3 +RustboroCity_EventScript_RivalTrigger3:: @ 81E0EB3 lockall - call RustboroCity_EventScript_1E0DD1 - applymovement 14, Common_Movement_WalkInPlaceDown + call RustboroCity_EventScript_PlayRivalMusic + applymovement 14, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 14, Common_Movement_ExclamationMark waitmovement 0 applymovement 14, Common_Movement_Delay48 waitmovement 0 - applymovement 14, RustboroCity_Movement_1E1220 + applymovement 14, RustboroCity_Movement_RivalApproachPlayer3 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - goto RustboroCity_EventScript_1E0FF3 + goto RustboroCity_EventScript_RivalEncounter -RustboroCity_EventScript_1E0EF3:: @ 81E0EF3 +RustboroCity_EventScript_RivalTrigger4:: @ 81E0EF3 lockall - call RustboroCity_EventScript_1E0DD1 - applymovement 14, Common_Movement_WalkInPlaceDown + call RustboroCity_EventScript_PlayRivalMusic + applymovement 14, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 14, Common_Movement_ExclamationMark waitmovement 0 applymovement 14, Common_Movement_Delay48 waitmovement 0 - applymovement 14, RustboroCity_Movement_1E1224 + applymovement 14, RustboroCity_Movement_RivalApproachPlayer4 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - goto RustboroCity_EventScript_1E0FF3 + goto RustboroCity_EventScript_RivalEncounter -RustboroCity_EventScript_1E0F33:: @ 81E0F33 +RustboroCity_EventScript_RivalTrigger5:: @ 81E0F33 lockall - call RustboroCity_EventScript_1E0DD1 - applymovement 14, Common_Movement_WalkInPlaceDown + call RustboroCity_EventScript_PlayRivalMusic + applymovement 14, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 14, Common_Movement_ExclamationMark waitmovement 0 applymovement 14, Common_Movement_Delay48 waitmovement 0 - applymovement 14, RustboroCity_Movement_1E1227 + applymovement 14, RustboroCity_Movement_RivalApproachPlayer5 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - goto RustboroCity_EventScript_1E0FF3 + goto RustboroCity_EventScript_RivalEncounter -RustboroCity_EventScript_1E0F73:: @ 81E0F73 +RustboroCity_EventScript_RivalTrigger6:: @ 81E0F73 lockall - call RustboroCity_EventScript_1E0DD1 - applymovement 14, Common_Movement_WalkInPlaceDown + call RustboroCity_EventScript_PlayRivalMusic + applymovement 14, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 14, Common_Movement_ExclamationMark waitmovement 0 applymovement 14, Common_Movement_Delay48 waitmovement 0 - applymovement 14, RustboroCity_Movement_1E122B + applymovement 14, RustboroCity_Movement_RivalApproachPlayer6 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - goto RustboroCity_EventScript_1E0FF3 + goto RustboroCity_EventScript_RivalEncounter -RustboroCity_EventScript_1E0FB3:: @ 81E0FB3 +RustboroCity_EventScript_RivalTrigger7:: @ 81E0FB3 lockall - call RustboroCity_EventScript_1E0DD1 - applymovement 14, Common_Movement_WalkInPlaceDown + call RustboroCity_EventScript_PlayRivalMusic + applymovement 14, Common_Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN applymovement 14, Common_Movement_ExclamationMark waitmovement 0 applymovement 14, Common_Movement_Delay48 waitmovement 0 - applymovement 14, RustboroCity_Movement_1E1230 + applymovement 14, RustboroCity_Movement_RivalApproachPlayer7 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - goto RustboroCity_EventScript_1E0FF3 + goto RustboroCity_EventScript_RivalEncounter -RustboroCity_EventScript_1E0FF3:: @ 81E0FF3 +RustboroCity_EventScript_RivalEncounter:: @ 81E0FF3 checkplayergender compare VAR_RESULT, MALE - goto_if_eq RustboroCity_EventScript_1E100B + goto_if_eq RustboroCity_EventScript_MayEncounter compare VAR_RESULT, FEMALE - goto_if_eq RustboroCity_EventScript_1E1114 + goto_if_eq RustboroCity_EventScript_BrendanEncounter end -RustboroCity_EventScript_1E100B:: @ 81E100B - goto_if_set FLAG_DEFEATED_RIVAL_RUSTBORO, RustboroCity_EventScript_1E10C1 - goto_if_set FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_1E1070 +RustboroCity_EventScript_MayEncounter:: @ 81E100B + goto_if_set FLAG_DEFEATED_RIVAL_RUSTBORO, RustboroCity_EventScript_MayBrineyHint + goto_if_set FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_MayAskToBattle setflag FLAG_MET_RIVAL_RUSTBORO - msgbox RustboroCity_Text_1E1A49, MSGBOX_DEFAULT + msgbox RustboroCity_Text_MayHiLetsRegister, MSGBOX_DEFAULT closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox RustboroCity_Text_1E1ADB, MSGBOX_DEFAULT + msgbox RustboroCity_Text_RegisteredMay, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -843,126 +858,126 @@ RustboroCity_EventScript_1E100B:: @ 81E100B setvar VAR_RUSTBORO_CITY_STATE, 8 setvar VAR_ROUTE104_STATE, 2 setvar VAR_0x8008, 0 - msgbox RustboroCity_Text_1E1AFA, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq RustboroCity_EventScript_1E1092 - msgbox RustboroCity_Text_1E1BD3, MSGBOX_DEFAULT - call RustboroCity_EventScript_1E10D6 + msgbox RustboroCity_Text_MayPassedBrineyWantToBattle, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq RustboroCity_EventScript_BattleMay + msgbox RustboroCity_Text_MayOhHaventRaisedPokemonEnough, MSGBOX_DEFAULT + call RustboroCity_EventScript_RestoreBgm releaseall end -RustboroCity_EventScript_1E1070:: @ 81E1070 +RustboroCity_EventScript_MayAskToBattle:: @ 81E1070 setvar VAR_0x8008, 1 - msgbox RustboroCity_Text_1E1C48, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq RustboroCity_EventScript_1E1092 - msgbox RustboroCity_Text_1E1BD3, MSGBOX_DEFAULT + msgbox RustboroCity_Text_MayWantToBattle, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq RustboroCity_EventScript_BattleMay + msgbox RustboroCity_Text_MayOhHaventRaisedPokemonEnough, MSGBOX_DEFAULT releaseall end -RustboroCity_EventScript_1E1092:: @ 81E1092 - msgbox RustboroCity_Text_1E1C84, MSGBOX_DEFAULT +RustboroCity_EventScript_BattleMay:: @ 81E1092 + msgbox RustboroCity_Text_MayImNotGoingToLose, MSGBOX_DEFAULT switch VAR_STARTER_MON - case 0, RustboroCity_EventScript_1E10DB - case 1, RustboroCity_EventScript_1E10EE - case 2, RustboroCity_EventScript_1E1101 + case 0, RustboroCity_EventScript_BattleMayTreecko + case 1, RustboroCity_EventScript_BattleMayTorchic + case 2, RustboroCity_EventScript_BattleMayMudkip end -RustboroCity_EventScript_1E10C1:: @ 81E10C1 - msgbox RustboroCity_Text_1E1CE7, MSGBOX_DEFAULT +RustboroCity_EventScript_MayBrineyHint:: @ 81E10C1 + msgbox RustboroCity_Text_MayMrBrineyHint, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if_eq RustboroCity_EventScript_1E10D6 + call_if_eq RustboroCity_EventScript_RestoreBgm releaseall end -RustboroCity_EventScript_1E10D6:: @ 81E10D6 +RustboroCity_EventScript_RestoreBgm:: @ 81E10D6 savebgm MUS_DUMMY fadedefaultbgm return -RustboroCity_EventScript_1E10DB:: @ 81E10DB - trainerbattle_no_intro TRAINER_MAY_14, RustboroCity_Text_1E1CC1 +RustboroCity_EventScript_BattleMayTreecko:: @ 81E10DB + trainerbattle_no_intro TRAINER_MAY_RUSTBORO_TREECKO, RustboroCity_Text_MayDefeat setflag FLAG_DEFEATED_RIVAL_RUSTBORO - goto RustboroCity_EventScript_1E10C1 + goto RustboroCity_EventScript_MayBrineyHint end -RustboroCity_EventScript_1E10EE:: @ 81E10EE - trainerbattle_no_intro TRAINER_MAY_15, RustboroCity_Text_1E1CC1 +RustboroCity_EventScript_BattleMayTorchic:: @ 81E10EE + trainerbattle_no_intro TRAINER_MAY_RUSTBORO_TORCHIC, RustboroCity_Text_MayDefeat setflag FLAG_DEFEATED_RIVAL_RUSTBORO - goto RustboroCity_EventScript_1E10C1 + goto RustboroCity_EventScript_MayBrineyHint end -RustboroCity_EventScript_1E1101:: @ 81E1101 - trainerbattle_no_intro TRAINER_MAY_10, RustboroCity_Text_1E1CC1 +RustboroCity_EventScript_BattleMayMudkip:: @ 81E1101 + trainerbattle_no_intro TRAINER_MAY_RUSTBORO_MUDKIP, RustboroCity_Text_MayDefeat setflag FLAG_DEFEATED_RIVAL_RUSTBORO - goto RustboroCity_EventScript_1E10C1 + goto RustboroCity_EventScript_MayBrineyHint end -RustboroCity_EventScript_1E1114:: @ 81E1114 - goto_if_set FLAG_DEFEATED_RIVAL_RUSTBORO, RustboroCity_EventScript_1E11C0 - goto_if_set FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_1E1174 +RustboroCity_EventScript_BrendanEncounter:: @ 81E1114 + goto_if_set FLAG_DEFEATED_RIVAL_RUSTBORO, RustboroCity_EventScript_BrendanBrineyHint + goto_if_set FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_BrendanAskToBattle setflag FLAG_MET_RIVAL_RUSTBORO - msgbox RustboroCity_Text_1E1D7D, MSGBOX_DEFAULT + msgbox RustboroCity_Text_BrendanHiLetsRegister, MSGBOX_DEFAULT closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox RustboroCity_Text_1E1E11, MSGBOX_DEFAULT + msgbox RustboroCity_Text_RegisteredBrendan, MSGBOX_DEFAULT waitfanfare closemessage delay 30 setflag FLAG_ENABLE_RIVAL_MATCH_CALL setvar VAR_RUSTBORO_CITY_STATE, 8 setvar VAR_ROUTE104_STATE, 2 - msgbox RustboroCity_Text_1E1E34, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq RustboroCity_EventScript_1E1191 - msgbox RustboroCity_Text_1E1F2F, MSGBOX_DEFAULT - call RustboroCity_EventScript_1E10D6 + msgbox RustboroCity_Text_BrendanPassedBrineyWantToBattle, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq RustboroCity_EventScript_BattleBrendan + msgbox RustboroCity_Text_BrendanNoConfidenceInPokemon, MSGBOX_DEFAULT + call RustboroCity_EventScript_RestoreBgm releaseall end -RustboroCity_EventScript_1E1174:: @ 81E1174 - msgbox RustboroCity_Text_1E1F76, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq RustboroCity_EventScript_1E1191 - msgbox RustboroCity_Text_1E1F2F, MSGBOX_DEFAULT +RustboroCity_EventScript_BrendanAskToBattle:: @ 81E1174 + msgbox RustboroCity_Text_BrendanWantToBattle, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq RustboroCity_EventScript_BattleBrendan + msgbox RustboroCity_Text_BrendanNoConfidenceInPokemon, MSGBOX_DEFAULT releaseall end -RustboroCity_EventScript_1E1191:: @ 81E1191 - msgbox RustboroCity_Text_1E1FA9, MSGBOX_DEFAULT +RustboroCity_EventScript_BattleBrendan:: @ 81E1191 + msgbox RustboroCity_Text_BrendanIWontGoEasy, MSGBOX_DEFAULT switch VAR_STARTER_MON - case 0, RustboroCity_EventScript_1E11D5 - case 1, RustboroCity_EventScript_1E11E8 - case 2, RustboroCity_EventScript_1E11FB + case 0, RustboroCity_EventScript_BattleBrendanTreecko + case 1, RustboroCity_EventScript_BattleBrendanTorchic + case 2, RustboroCity_EventScript_BattleBrendanMudkip end -RustboroCity_EventScript_1E11C0:: @ 81E11C0 - msgbox RustboroCity_Text_1E2002, MSGBOX_DEFAULT +RustboroCity_EventScript_BrendanBrineyHint:: @ 81E11C0 + msgbox RustboroCity_Text_BrendanMrBrineyHint, MSGBOX_DEFAULT compare VAR_0x8008, 0 - call_if_eq RustboroCity_EventScript_1E10D6 + call_if_eq RustboroCity_EventScript_RestoreBgm releaseall end -RustboroCity_EventScript_1E11D5:: @ 81E11D5 - trainerbattle_no_intro TRAINER_BRENDAN_10, RustboroCity_Text_1E1FE9 +RustboroCity_EventScript_BattleBrendanTreecko:: @ 81E11D5 + trainerbattle_no_intro TRAINER_BRENDAN_RUSTBORO_TREECKO, RustboroCity_Text_BrendanDefeat setflag FLAG_DEFEATED_RIVAL_RUSTBORO - goto RustboroCity_EventScript_1E11C0 + goto RustboroCity_EventScript_BrendanBrineyHint end -RustboroCity_EventScript_1E11E8:: @ 81E11E8 - trainerbattle_no_intro TRAINER_BRENDAN_12, RustboroCity_Text_1E1FE9 +RustboroCity_EventScript_BattleBrendanTorchic:: @ 81E11E8 + trainerbattle_no_intro TRAINER_BRENDAN_RUSTBORO_TORCHIC, RustboroCity_Text_BrendanDefeat setflag FLAG_DEFEATED_RIVAL_RUSTBORO - goto RustboroCity_EventScript_1E11C0 + goto RustboroCity_EventScript_BrendanBrineyHint end -RustboroCity_EventScript_1E11FB:: @ 81E11FB - trainerbattle_no_intro TRAINER_BRENDAN_11, RustboroCity_Text_1E1FE9 +RustboroCity_EventScript_BattleBrendanMudkip:: @ 81E11FB + trainerbattle_no_intro TRAINER_BRENDAN_RUSTBORO_MUDKIP, RustboroCity_Text_BrendanDefeat setflag FLAG_DEFEATED_RIVAL_RUSTBORO - goto RustboroCity_EventScript_1E11C0 + goto RustboroCity_EventScript_BrendanBrineyHint end -RustboroCity_Movement_1E120E: @ 81E120E +RustboroCity_Movement_RivalApproachPlayer0: @ 81E120E walk_down walk_left walk_left @@ -971,7 +986,7 @@ RustboroCity_Movement_1E120E: @ 81E120E walk_down step_end -RustboroCity_Movement_1E1215: @ 81E1215 +RustboroCity_Movement_RivalApproachPlayer1: @ 81E1215 walk_down walk_left walk_left @@ -979,38 +994,38 @@ RustboroCity_Movement_1E1215: @ 81E1215 walk_down step_end -RustboroCity_Movement_1E121B: @ 81E121B +RustboroCity_Movement_RivalApproachPlayer2: @ 81E121B walk_down walk_left walk_left walk_down step_end -RustboroCity_Movement_1E1220: @ 81E1220 +RustboroCity_Movement_RivalApproachPlayer3: @ 81E1220 walk_down walk_left walk_down step_end -RustboroCity_Movement_1E1224: @ 81E1224 +RustboroCity_Movement_RivalApproachPlayer4: @ 81E1224 walk_down walk_down step_end -RustboroCity_Movement_1E1227: @ 81E1227 +RustboroCity_Movement_RivalApproachPlayer5: @ 81E1227 walk_down walk_right walk_down step_end -RustboroCity_Movement_1E122B: @ 81E122B +RustboroCity_Movement_RivalApproachPlayer6: @ 81E122B walk_down walk_right walk_right walk_down step_end -RustboroCity_Movement_1E1230: @ 81E1230 +RustboroCity_Movement_RivalApproachPlayer7: @ 81E1230 walk_down walk_right walk_right @@ -1018,53 +1033,53 @@ RustboroCity_Movement_1E1230: @ 81E1230 walk_down step_end -RustboroCity_EventScript_1E1236:: @ 81E1236 - msgbox RustboroCity_Text_1E249D, MSGBOX_NPC +RustboroCity_EventScript_Boy1:: @ 81E1236 + msgbox RustboroCity_Text_YouCanHave2On2Battle, MSGBOX_NPC end -RustboroCity_Text_1E123F: @ 81E123F +RustboroCity_Text_WeShortenItToDevon: @ 81E123F .string "The DEVON CORPORATION…\n" .string "We all just shorten it to DEVON.\p" .string "That company makes all sorts of\n" .string "convenient products.$" -RustboroCity_Text_1E12AC: @ 81E12AC +RustboroCity_Text_SneakyLookingManWentAroundCorner: @ 81E12AC .string "Hm? A sneaky-looking man?\p" .string "Come to think of it, yes, a shady-\n" .string "looking guy went around the corner.$" -RustboroCity_Text_1E130D: @ 81E130D +RustboroCity_Text_HaveYouChallengedGym: @ 81E130D .string "Have you taken the POKéMON GYM\n" .string "challenge?\p" .string "When you get that shiny GYM BADGE\n" .string "in hand, I guess TRAINERS begin to\l" .string "realize what is required of them.$" -RustboroCity_Text_1E139E: @ 81E139E +RustboroCity_Text_HeyThatsRustborosGymBadge: @ 81E139E .string "Hey, that's RUSTBORO's GYM BADGE!\p" .string "Out of all the POKéMON GYM BADGES,\n" .string "RUSTBORO's is the coolest, I'd say.$" -RustboroCity_Text_1E1407: @ 81E1407 +RustboroCity_Text_YoureNewAroundHere: @ 81E1407 .string "Oh? Who might you be?\n" .string "You're a new face around these parts.\p" .string "Have you just transferred into the\n" .string "POKéMON TRAINER'S SCHOOL?$" -RustboroCity_Text_1E1480: @ 81E1480 +RustboroCity_Text_GymLeaderIsntEasyWithFire: @ 81E1480 .string "I challenged the GYM LEADER, but…\p" .string "It's not going to be easy winning with\n" .string "my FIRE-type POKéMON…\p" .string "FIRE-type POKéMON don't match up\n" .string "well against ROCK-type POKéMON…$" -RustboroCity_Text_1E1520: @ 81E1520 +RustboroCity_Text_MrBrineyWalksInTheTunnel: @ 81E1520 .string "The old sailor MR. BRINEY lives in\n" .string "a cottage by the sea.\p" .string "He goes for walks in the tunnel every\n" .string "so often.$" -RustboroCity_Text_1E1589: @ 81E1589 +RustboroCity_Text_MrBrineyLovesPeeko: @ 81E1589 .string "The old sailor MR. BRINEY lives in\n" .string "a cottage by the sea.\p" .string "He said he was going shopping in\n" @@ -1072,40 +1087,40 @@ RustboroCity_Text_1E1589: @ 81E1589 .string "That old sea dog, he must really love\n" .string "that PEEKO.$" -RustboroCity_Text_1E1633: @ 81E1633 +RustboroCity_Text_WowYouHavePokemon: @ 81E1633 .string "Wow, you have POKéMON with you, too.\p" .string "When I get bigger, I'm going to go\n" .string "places with POKéMON, too.$" -RustboroCity_Text_1E1695: @ 81E1695 +RustboroCity_Text_CatchRarePokemonIfIGoToSchool: @ 81E1695 .string "POKéMON TRAINER'S SCHOOL!\p" .string "If I go to this school, will I be able\n" .string "to catch rare POKéMON easily?$" -RustboroCity_Text_1E16F4: @ 81E16F4 +RustboroCity_Text_PokemonCanChangeLookFromExp: @ 81E16F4 .string "If a POKéMON gains experience in\n" .string "battles, it can sometimes change in\l" .string "the way it looks.$" -RustboroCity_Text_1E174B: @ 81E174B +RustboroCity_Text_PokemonChangeShape: @ 81E174B .string "A POKéMON changes shape?\n" .string "If one did that, I would be shocked!$" -RustboroCity_Text_1E1789: @ 81E1789 +RustboroCity_Text_TradePokemonGrowFast: @ 81E1789 .string "A POKéMON you get in a trade from\n" .string "someone grows fast.\p" .string "But if you don't have certain GYM\n" .string "BADGES, it may not obey you…$" -RustboroCity_Text_1E17FE: @ 81E17FE +RustboroCity_Text_OutOfTheWay: @ 81E17FE .string "Get out!\n" .string "Out of the way!$" -RustboroCity_Text_1E1817: @ 81E1817 +RustboroCity_Text_WaitDontTakeMyGoods: @ 81E1817 .string "Wait! Pleeeaaase!\p" .string "Don't take my GOODS!$" -RustboroCity_Text_1E183E: @ 81E183E +RustboroCity_Text_HelpMeIWasRobbed: @ 81E183E .string "Oh, it's you!\p" .string "You're that fantastic TRAINER who\n" .string "helped me in PETALBURG WOODS!\p" @@ -1114,11 +1129,11 @@ RustboroCity_Text_1E183E: @ 81E183E .string "If I don't…\n" .string "I'm going to be in serious trouble.$" -RustboroCity_Text_1E1904: @ 81E1904 +RustboroCity_Text_ShadyCharacterTookOffTowardsTunnel: @ 81E1904 .string "That shady character, I think he took\n" .string "off towards the tunnel over there.$" -RustboroCity_Text_1E194D: @ 81E194D +RustboroCity_Text_YouGotItThankYou: @ 81E194D .string "Oh! How did it go?\n" .string "The DEVON GOODS?\p" .string "You did!\n" @@ -1127,15 +1142,15 @@ RustboroCity_Text_1E194D: @ 81E194D .string "I know! As my thanks, I'll give you\n" .string "another GREAT BALL!$" -RustboroCity_Text_1E19E5: @ 81E19E5 +RustboroCity_Text_YoureLoadedWithItems: @ 81E19E5 .string "You're loaded with items.\n" .string "I can't give you this GREAT BALL.$" -RustboroCity_Text_1E1A21: @ 81E1A21 +RustboroCity_Text_PleaseComeWithMe: @ 81E1A21 .string "Excuse me, please!\n" .string "Please come with me!$" -RustboroCity_Text_1E1A49: @ 81E1A49 +RustboroCity_Text_MayHiLetsRegister: @ 81E1A49 .string "MAY: Oh, hi, {PLAYER}{KUN}!\p" .string "You had a MATCH CALL feature put\n" .string "on your POKéNAV!\p" @@ -1143,11 +1158,11 @@ RustboroCity_Text_1E1A49: @ 81E1A49 .string "contact one another anytime!\p" .string "… … … … … …$" -RustboroCity_Text_1E1ADB: @ 81E1ADB +RustboroCity_Text_RegisteredMay: @ 81E1ADB .string "Registered MAY\n" .string "in the POKéNAV.$" -RustboroCity_Text_1E1AFA: @ 81E1AFA +RustboroCity_Text_MayPassedBrineyWantToBattle: @ 81E1AFA .string "MAY: Oh, by the way, I passed\n" .string "MR. BRINEY in PETALBURG WOODS.\p" .string "I guess he's on his way home to his\n" @@ -1157,32 +1172,32 @@ RustboroCity_Text_1E1AFA: @ 81E1AFA .string "So…\n" .string "How about a little battle?$" -RustboroCity_Text_1E1BD3: @ 81E1BD3 +RustboroCity_Text_MayOhHaventRaisedPokemonEnough: @ 81E1BD3 .string "MAY: Oh, what's the matter?\p" .string "Haven't you caught or raised your\n" .string "POKéMON very much?\p" .string "That's not very good for a TRAINER!$" -RustboroCity_Text_1E1C48: @ 81E1C48 +RustboroCity_Text_MayWantToBattle: @ 81E1C48 .string "MAY: So, what do you think?\n" .string "How about a little battle here?$" -RustboroCity_Text_1E1C84: @ 81E1C84 +RustboroCity_Text_MayImNotGoingToLose: @ 81E1C84 .string "MAY: You just became a TRAINER,\n" .string "{PLAYER}{KUN}. I'm not going to lose!$" -RustboroCity_Text_1E1CC1: @ 81E1CC1 +RustboroCity_Text_MayDefeat: @ 81E1CC1 .string "Yikes!\n" .string "You're better than I expected!$" -RustboroCity_Text_1E1CE7: @ 81E1CE7 +RustboroCity_Text_MayMrBrineyHint: @ 81E1CE7 .string "MAY: Oh, by the way, MR. BRINEY, who\n" .string "I just passed…\p" .string "{PLAYER}{KUN}, you just moved here so you\n" .string "might not know this, but MR. BRINEY\l" .string "was once a revered seafarer.$" -RustboroCity_Text_1E1D7D: @ 81E1D7D +RustboroCity_Text_BrendanHiLetsRegister: @ 81E1D7D .string "BRENDAN: Oh, hey, {PLAYER}!\p" .string "You had a MATCH CALL feature put\n" .string "on your POKéNAV! Cool!\p" @@ -1190,11 +1205,11 @@ RustboroCity_Text_1E1D7D: @ 81E1D7D .string "get in touch anytime!\p" .string "… … … … … …$" -RustboroCity_Text_1E1E11: @ 81E1E11 +RustboroCity_Text_RegisteredBrendan: @ 81E1E11 .string "Registered BRENDAN\n" .string "in the POKéNAV.$" -RustboroCity_Text_1E1E34: @ 81E1E34 +RustboroCity_Text_BrendanPassedBrineyWantToBattle: @ 81E1E34 .string "BRENDAN: By the way, {PLAYER}, I walked\n" .string "by MR. BRINEY in PETALBURG WOODS.\p" .string "I bet he was on his way home to his\n" @@ -1205,72 +1220,72 @@ RustboroCity_Text_1E1E34: @ 81E1E34 .string "Want to have a battle to test how\n" .string "far you've progressed?$" -RustboroCity_Text_1E1F2F: @ 81E1F2F +RustboroCity_Text_BrendanNoConfidenceInPokemon: @ 81E1F2F .string "BRENDAN: What's the matter? Don't have\n" .string "any confidence in your POKéMON?$" -RustboroCity_Text_1E1F76: @ 81E1F76 +RustboroCity_Text_BrendanWantToBattle: @ 81E1F76 .string "BRENDAN: What's up?\n" .string "Want to have a battle with me?$" -RustboroCity_Text_1E1FA9: @ 81E1FA9 +RustboroCity_Text_BrendanIWontGoEasy: @ 81E1FA9 .string "BRENDAN: I know you just became\n" .string "a TRAINER, but I won't go easy!$" -RustboroCity_Text_1E1FE9: @ 81E1FE9 +RustboroCity_Text_BrendanDefeat: @ 81E1FE9 .string "Hmm…\n" .string "You're pretty good.$" -RustboroCity_Text_1E2002: @ 81E2002 +RustboroCity_Text_BrendanMrBrineyHint: @ 81E2002 .string "BRENDAN: By the way, you know\n" .string "MR. BRINEY? The guy I just passed?\p" .string "I bet you didn't know this, since you\n" .string "just moved here, {PLAYER}, but\l" .string "MR. BRINEY was once a great sailor.$" -RustboroCity_Text_1E20A6: @ 81E20A6 +RustboroCity_Text_TunnelNearingCompletion: @ 81E20A6 .string "“Timesaving tunnel nearing\n" .string "completion!”\p" .string "…Is what it says on the sign, but\n" .string "there's also a big “X” splashed\l" .string "across it in red paint…$" -RustboroCity_Text_1E2128: @ 81E2128 +RustboroCity_Text_DevonCorpSign: @ 81E2128 .string "DEVON CORPORATION\p" .string "“For all your living needs, we make\n" .string "it all.”$" -RustboroCity_Text_1E2167: @ 81E2167 +RustboroCity_Text_GymSign: @ 81E2167 .string "RUSTBORO CITY POKéMON GYM\n" .string "LEADER: ROXANNE\p" .string "“The ROCK-loving honors student!”$" -RustboroCity_Text_1E21B3: @ 81E21B3 +RustboroCity_Text_DevonCorpBranchOfficeSign: @ 81E21B3 .string "DEVON CORP. BRANCH OFFICE\p" .string "“Access limited to DEVON employees\n" .string "and authorized personnel.”$" -RustboroCity_Text_1E220B: @ 81E220B +RustboroCity_Text_CitySign: @ 81E220B .string "RUSTBORO CITY\p" .string "“The city probing the integration of\n" .string "nature and science.”$" -RustboroCity_Text_1E2253: @ 81E2253 +RustboroCity_Text_TrainersSchoolSign: @ 81E2253 .string "POKéMON TRAINER'S SCHOOL\p" .string "“We'll teach you anything about\n" .string "POKéMON!”$" -RustboroCity_Text_1E2296: @ 81E2296 +RustboroCity_Text_CuttersHouse: @ 81E2296 .string "CUTTER'S HOUSE$" -RustboroCity_Text_1E22A5: @ 81E22A5 +RustboroCity_Text_DevelopedNewPokenavFeature: @ 81E22A5 .string "I've been developing an added feature\n" .string "for the POKéNAV…\p" .string "And it turned out great!\p" .string "{PLAYER}, may I see that POKéNAV?\n" .string "The one our PRESIDENT gave you?$" -RustboroCity_Text_1E2331: @ 81E2331 +RustboroCity_Text_AddedMatchCallPleaseCallMrStone: @ 81E2331 .string "There you go, {PLAYER}!\p" .string "I added a new feature named\n" .string "MATCH CALL to your POKéNAV.\p" @@ -1282,14 +1297,14 @@ RustboroCity_Text_1E2331: @ 81E2331 .string "Test it out.\n" .string "Please give our PRESIDENT a call.$" -RustboroCity_Text_1E2449: @ 81E2449 +RustboroCity_Text_PleaseSelectPokenav: @ 81E2449 .string "Please select the POKéNAV.$" -RustboroCity_Text_1E2464: @ 81E2464 +RustboroCity_Text_IdBetterGetBackToWork: @ 81E2464 .string "Okay, I'd better get back to work.\n" .string "Please take care, {PLAYER}!$" -RustboroCity_Text_1E249D: @ 81E249D +RustboroCity_Text_YouCanHave2On2Battle: @ 81E249D .string "Did you know this?\p" .string "You can have a 2-on-2 battle even\n" .string "if you're not with another TRAINER.\p" diff --git a/data/maps/RustboroCity_CuttersHouse/map.json b/data/maps/RustboroCity_CuttersHouse/map.json index 134b9f726e..a4bc474762 100644 --- a/data/maps/RustboroCity_CuttersHouse/map.json +++ b/data/maps/RustboroCity_CuttersHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_CuttersHouse_EventScript_215BD4", + "script": "RustboroCity_CuttersHouse_EventScript_Cutter", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_CuttersHouse_EventScript_215C0A", + "script": "RustboroCity_CuttersHouse_EventScript_Lass", "flag": "0" } ], diff --git a/data/maps/RustboroCity_CuttersHouse/scripts.inc b/data/maps/RustboroCity_CuttersHouse/scripts.inc index ab74d53407..9ee4fc5756 100644 --- a/data/maps/RustboroCity_CuttersHouse/scripts.inc +++ b/data/maps/RustboroCity_CuttersHouse/scripts.inc @@ -1,27 +1,27 @@ RustboroCity_CuttersHouse_MapScripts:: @ 8215BD3 .byte 0 -RustboroCity_CuttersHouse_EventScript_215BD4:: @ 8215BD4 +RustboroCity_CuttersHouse_EventScript_Cutter:: @ 8215BD4 lock faceplayer - goto_if_set FLAG_RECEIVED_HM01, RustboroCity_CuttersHouse_EventScript_215C00 - msgbox RustboroCity_CuttersHouse_Text_215C13, MSGBOX_DEFAULT - giveitem_std ITEM_HM01 + goto_if_set FLAG_RECEIVED_HM01, RustboroCity_CuttersHouse_EventScript_ExplainCut + msgbox RustboroCity_CuttersHouse_Text_YouCanPutThisHMToGoodUse, MSGBOX_DEFAULT + giveitem ITEM_HM01 setflag FLAG_RECEIVED_HM01 - msgbox RustboroCity_CuttersHouse_Text_215D33, MSGBOX_DEFAULT + msgbox RustboroCity_CuttersHouse_Text_ExplainCut, MSGBOX_DEFAULT release end -RustboroCity_CuttersHouse_EventScript_215C00:: @ 8215C00 - msgbox RustboroCity_CuttersHouse_Text_215D33, MSGBOX_DEFAULT +RustboroCity_CuttersHouse_EventScript_ExplainCut:: @ 8215C00 + msgbox RustboroCity_CuttersHouse_Text_ExplainCut, MSGBOX_DEFAULT release end -RustboroCity_CuttersHouse_EventScript_215C0A:: @ 8215C0A - msgbox RustboroCity_CuttersHouse_Text_215E39, MSGBOX_NPC +RustboroCity_CuttersHouse_EventScript_Lass:: @ 8215C0A + msgbox RustboroCity_CuttersHouse_Text_DadHelpedClearLandOfTrees, MSGBOX_NPC end -RustboroCity_CuttersHouse_Text_215C13: @ 8215C13 +RustboroCity_CuttersHouse_Text_YouCanPutThisHMToGoodUse: @ 8215C13 .string "That determined expression…\n" .string "That limber way you move…\l" .string "And your well-trained POKéMON…\p" @@ -33,7 +33,7 @@ RustboroCity_CuttersHouse_Text_215C13: @ 8215C13 .string "No need to be modest or shy.\n" .string "Go on, take it!$" -RustboroCity_CuttersHouse_Text_215D33: @ 8215D33 +RustboroCity_CuttersHouse_Text_ExplainCut: @ 8215D33 .string "That HIDDEN MACHINE, or HM for\n" .string "short, is CUT.\p" .string "An HM move is one that can be used\n" @@ -44,7 +44,7 @@ RustboroCity_CuttersHouse_Text_215D33: @ 8215D33 .string "And, unlike a TM, an HM can be used\n" .string "more than once.$" -RustboroCity_CuttersHouse_Text_215E39: @ 8215E39 +RustboroCity_CuttersHouse_Text_DadHelpedClearLandOfTrees: @ 8215E39 .string "When they were expanding the city of\n" .string "RUSTBORO, my dad helped out.\p" .string "He made his POKéMON use CUT to clear\n" diff --git a/data/maps/RustboroCity_DevonCorp_1F/map.json b/data/maps/RustboroCity_DevonCorp_1F/map.json index 7eee742116..9223872b91 100644 --- a/data/maps/RustboroCity_DevonCorp_1F/map.json +++ b/data/maps/RustboroCity_DevonCorp_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_DevonCorp_1F_EventScript_211261", + "script": "RustboroCity_DevonCorp_1F_EventScript_Employee", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_DevonCorp_1F_EventScript_211293", + "script": "RustboroCity_DevonCorp_1F_EventScript_StairGuard", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_DevonCorp_1F_EventScript_2112CE", + "script": "RustboroCity_DevonCorp_1F_EventScript_Greeter", "flag": "0" } ], @@ -85,7 +85,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "RustboroCity_DevonCorp_1F_EventScript_211312" + "script": "RustboroCity_DevonCorp_1F_EventScript_ProductsDisplay" }, { "type": "sign", @@ -93,7 +93,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "RustboroCity_DevonCorp_1F_EventScript_211309" + "script": "RustboroCity_DevonCorp_1F_EventScript_RocksMetalDisplay" } ] } \ No newline at end of file diff --git a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc index 788a403f2f..3ee7e7dc8c 100644 --- a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc @@ -3,121 +3,121 @@ RustboroCity_DevonCorp_1F_MapScripts:: @ 8211245 .byte 0 RustboroCity_DevonCorp_1F_OnTransition: @ 821124B - call_if_unset FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_211255 + call_if_unset FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_BlockStairs end -RustboroCity_DevonCorp_1F_EventScript_211255:: @ 8211255 +RustboroCity_DevonCorp_1F_EventScript_BlockStairs:: @ 8211255 setobjectxyperm 2, 14, 2 setobjectmovementtype 2, MOVEMENT_TYPE_FACE_DOWN return -RustboroCity_DevonCorp_1F_EventScript_211261:: @ 8211261 +RustboroCity_DevonCorp_1F_EventScript_Employee:: @ 8211261 lock faceplayer - goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_211289 - goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_21127F - msgbox RustboroCity_DevonCorp_1F_Text_2113D1, MSGBOX_DEFAULT + goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_GoodsRecovered + goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_RobberWasntBright + msgbox RustboroCity_DevonCorp_1F_Text_ThoseShoesAreOurProduct, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_1F_EventScript_21127F:: @ 821127F - msgbox RustboroCity_DevonCorp_1F_Text_211446, MSGBOX_DEFAULT +RustboroCity_DevonCorp_1F_EventScript_RobberWasntBright:: @ 821127F + msgbox RustboroCity_DevonCorp_1F_Text_RobberWasntVeryBright, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_1F_EventScript_211289:: @ 8211289 - msgbox RustboroCity_DevonCorp_1F_Text_2114DE, MSGBOX_DEFAULT +RustboroCity_DevonCorp_1F_EventScript_GoodsRecovered:: @ 8211289 + msgbox RustboroCity_DevonCorp_1F_Text_SoundsLikeStolenGoodsRecovered, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_1F_EventScript_211293:: @ 8211293 +RustboroCity_DevonCorp_1F_EventScript_StairGuard:: @ 8211293 lock faceplayer - goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_2112BA - goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_2112C4 - goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_2112C4 - msgbox RustboroCity_DevonCorp_1F_Text_21151B, MSGBOX_DEFAULT + goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_AlwaysWelcome + goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_GotRobbed + goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_GotRobbed + msgbox RustboroCity_DevonCorp_1F_Text_OnlyAuthorizedPeopleEnter, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_1F_EventScript_2112BA:: @ 82112BA - msgbox RustboroCity_DevonCorp_1F_Text_211585, MSGBOX_DEFAULT +RustboroCity_DevonCorp_1F_EventScript_AlwaysWelcome:: @ 82112BA + msgbox RustboroCity_DevonCorp_1F_Text_YoureAlwaysWelcomeHere, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_1F_EventScript_2112C4:: @ 82112C4 - msgbox RustboroCity_DevonCorp_1F_Text_211558, MSGBOX_DEFAULT +RustboroCity_DevonCorp_1F_EventScript_GotRobbed:: @ 82112C4 + msgbox RustboroCity_DevonCorp_1F_Text_HowCouldWeGetRobbed, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_1F_EventScript_2112CE:: @ 82112CE +RustboroCity_DevonCorp_1F_EventScript_Greeter:: @ 82112CE lock faceplayer - goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_2112F5 - goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_2112FF - goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_2112FF - msgbox RustboroCity_DevonCorp_1F_Text_21131B, MSGBOX_DEFAULT + goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_WelcomeToDevonCorp + goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_StaffGotRobbed + goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_StaffGotRobbed + msgbox RustboroCity_DevonCorp_1F_Text_WelcomeToDevonCorp, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_1F_EventScript_2112F5:: @ 82112F5 - msgbox RustboroCity_DevonCorp_1F_Text_21131B, MSGBOX_DEFAULT +RustboroCity_DevonCorp_1F_EventScript_WelcomeToDevonCorp:: @ 82112F5 + msgbox RustboroCity_DevonCorp_1F_Text_WelcomeToDevonCorp, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_1F_EventScript_2112FF:: @ 82112FF - msgbox RustboroCity_DevonCorp_1F_Text_21138B, MSGBOX_DEFAULT +RustboroCity_DevonCorp_1F_EventScript_StaffGotRobbed:: @ 82112FF + msgbox RustboroCity_DevonCorp_1F_Text_StaffGotRobbed, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_1F_EventScript_211309:: @ 8211309 - msgbox RustboroCity_DevonCorp_1F_Text_2115AC, MSGBOX_SIGN +RustboroCity_DevonCorp_1F_EventScript_RocksMetalDisplay:: @ 8211309 + msgbox RustboroCity_DevonCorp_1F_Text_RocksMetalDisplay, MSGBOX_SIGN end -RustboroCity_DevonCorp_1F_EventScript_211312:: @ 8211312 - msgbox RustboroCity_DevonCorp_1F_Text_211722, MSGBOX_SIGN +RustboroCity_DevonCorp_1F_EventScript_ProductsDisplay:: @ 8211312 + msgbox RustboroCity_DevonCorp_1F_Text_ProductDisplay, MSGBOX_SIGN end -RustboroCity_DevonCorp_1F_Text_21131B: @ 821131B +RustboroCity_DevonCorp_1F_Text_WelcomeToDevonCorp: @ 821131B .string "Hello and welcome to the DEVON\n" .string "CORPORATION.\p" .string "We're proud producers of items and\n" .string "medicine that enhance your life.$" -RustboroCity_DevonCorp_1F_Text_21138B: @ 821138B +RustboroCity_DevonCorp_1F_Text_StaffGotRobbed: @ 821138B .string "One of our research staff stupidly\n" .string "got robbed of an important parcel.$" -RustboroCity_DevonCorp_1F_Text_2113D1: @ 82113D1 +RustboroCity_DevonCorp_1F_Text_ThoseShoesAreOurProduct: @ 82113D1 .string "Hey, those RUNNING SHOES!\n" .string "They're one of our products!\p" .string "It makes me happy when I see someone\n" .string "using something we made.$" -RustboroCity_DevonCorp_1F_Text_211446: @ 8211446 +RustboroCity_DevonCorp_1F_Text_RobberWasntVeryBright: @ 8211446 .string "That stolen parcel…\p" .string "Well, sure it's important, but it's not\n" .string "anything that anyone can use.\p" .string "In my estimation, that robber must not\n" .string "have been very bright.$" -RustboroCity_DevonCorp_1F_Text_2114DE: @ 82114DE +RustboroCity_DevonCorp_1F_Text_SoundsLikeStolenGoodsRecovered: @ 82114DE .string "It sounds like they've recovered\n" .string "the ripped-off DEVON GOODS.$" -RustboroCity_DevonCorp_1F_Text_21151B: @ 821151B +RustboroCity_DevonCorp_1F_Text_OnlyAuthorizedPeopleEnter: @ 821151B .string "I'm sorry, only authorized people\n" .string "are allowed to enter here.$" -RustboroCity_DevonCorp_1F_Text_211558: @ 8211558 +RustboroCity_DevonCorp_1F_Text_HowCouldWeGetRobbed: @ 8211558 .string "It's beyond stupid.\n" .string "How could we get robbed?$" -RustboroCity_DevonCorp_1F_Text_211585: @ 8211585 +RustboroCity_DevonCorp_1F_Text_YoureAlwaysWelcomeHere: @ 8211585 .string "Hi, there!\n" .string "You're always welcome here!$" -RustboroCity_DevonCorp_1F_Text_2115AC: @ 82115AC +RustboroCity_DevonCorp_1F_Text_RocksMetalDisplay: @ 82115AC .string "Samples of rocks and metal are\n" .string "displayed in the glass case.\p" .string "There's a panel with some writing\n" @@ -131,7 +131,7 @@ RustboroCity_DevonCorp_1F_Text_2115AC: @ 82115AC .string "“DEVON is now a manufacturer of a wide\n" .string "range of industrial products.”$" -RustboroCity_DevonCorp_1F_Text_211722: @ 8211722 +RustboroCity_DevonCorp_1F_Text_ProductDisplay: @ 8211722 .string "Prototypes and test products fill\n" .string "the glass display case.\p" .string "There's a panel with a description…\p" diff --git a/data/maps/RustboroCity_DevonCorp_2F/map.json b/data/maps/RustboroCity_DevonCorp_2F/map.json index 9ab8647746..b7dbdb3d51 100644 --- a/data/maps/RustboroCity_DevonCorp_2F/map.json +++ b/data/maps/RustboroCity_DevonCorp_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_DevonCorp_2F_EventScript_21186F", + "script": "RustboroCity_DevonCorp_2F_EventScript_TalkToPokemonScientist", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_DevonCorp_2F_EventScript_211886", + "script": "RustboroCity_DevonCorp_2F_EventScript_BallScientist", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_DevonCorp_2F_EventScript_2118B0", + "script": "RustboroCity_DevonCorp_2F_EventScript_PokenavScientist", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 10, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_DevonCorp_2F_EventScript_2118DA", + "script": "RustboroCity_DevonCorp_2F_EventScript_PokemonDreamsScientist", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_DevonCorp_2F_EventScript_2118F1", + "script": "RustboroCity_DevonCorp_2F_EventScript_FossilScientist", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_DevonCorp_2F_EventScript_211BCF", + "script": "RustboroCity_DevonCorp_2F_EventScript_MatchCallScientist", "flag": "0" } ], diff --git a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc index e5ac226c58..9df6d7ab6e 100644 --- a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc @@ -4,305 +4,306 @@ RustboroCity_DevonCorp_2F_MapScripts:: @ 8211857 RustboroCity_DevonCorp_2F_OnTransition: @ 821185D compare VAR_FOSSIL_RESURRECTION_STATE, 1 - call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869 + call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady end -RustboroCity_DevonCorp_2F_EventScript_211869:: @ 8211869 +RustboroCity_DevonCorp_2F_EventScript_SetFossilReady:: @ 8211869 setvar VAR_FOSSIL_RESURRECTION_STATE, 2 return -RustboroCity_DevonCorp_2F_EventScript_21186F:: @ 821186F +RustboroCity_DevonCorp_2F_EventScript_TalkToPokemonScientist:: @ 821186F lock faceplayer compare VAR_FOSSIL_RESURRECTION_STATE, 1 - call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869 - msgbox RustboroCity_DevonCorp_2F_Text_211BFB, MSGBOX_DEFAULT + call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady + msgbox RustboroCity_DevonCorp_2F_Text_DeviceForTalkingToPokemon, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_2F_EventScript_211886:: @ 8211886 +RustboroCity_DevonCorp_2F_EventScript_BallScientist:: @ 8211886 lock faceplayer compare VAR_FOSSIL_RESURRECTION_STATE, 1 - call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869 - goto_if_set FLAG_MET_DEVON_EMPLOYEE, RustboroCity_DevonCorp_2F_EventScript_2118A6 - msgbox RustboroCity_DevonCorp_2F_Text_211C50, MSGBOX_DEFAULT + call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady + goto_if_set FLAG_MET_DEVON_EMPLOYEE, RustboroCity_DevonCorp_2F_EventScript_DevelopedBalls + msgbox RustboroCity_DevonCorp_2F_Text_DevelopingNewBalls, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_2F_EventScript_2118A6:: @ 82118A6 - msgbox RustboroCity_DevonCorp_2F_Text_211C99, MSGBOX_DEFAULT +RustboroCity_DevonCorp_2F_EventScript_DevelopedBalls:: @ 82118A6 + msgbox RustboroCity_DevonCorp_2F_Text_WeFinallyMadeNewBalls, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_2F_EventScript_2118B0:: @ 82118B0 +RustboroCity_DevonCorp_2F_EventScript_PokenavScientist:: @ 82118B0 lock faceplayer compare VAR_FOSSIL_RESURRECTION_STATE, 1 - call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869 - goto_if_set FLAG_RECEIVED_POKENAV, RustboroCity_DevonCorp_2F_EventScript_2118D0 - msgbox RustboroCity_DevonCorp_2F_Text_211D9F, MSGBOX_DEFAULT + call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady + goto_if_set FLAG_RECEIVED_POKENAV, RustboroCity_DevonCorp_2F_EventScript_HasPokenav + msgbox RustboroCity_DevonCorp_2F_Text_IMadePokenav, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_2F_EventScript_2118D0:: @ 82118D0 - msgbox RustboroCity_DevonCorp_2F_Text_211DF3, MSGBOX_DEFAULT +RustboroCity_DevonCorp_2F_EventScript_HasPokenav:: @ 82118D0 + msgbox RustboroCity_DevonCorp_2F_Text_WowThatsAPokenav, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_2F_EventScript_2118DA:: @ 82118DA +RustboroCity_DevonCorp_2F_EventScript_PokemonDreamsScientist:: @ 82118DA lock faceplayer compare VAR_FOSSIL_RESURRECTION_STATE, 1 - call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869 - msgbox RustboroCity_DevonCorp_2F_Text_211EE0, MSGBOX_DEFAULT + call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady + msgbox RustboroCity_DevonCorp_2F_Text_DeviceToVisualizePokemonDreams, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_2F_EventScript_2118F1:: @ 82118F1 +RustboroCity_DevonCorp_2F_EventScript_FossilScientist:: @ 82118F1 lock faceplayer compare VAR_FOSSIL_RESURRECTION_STATE, 2 - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A03 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_FossilMonReady compare VAR_FOSSIL_RESURRECTION_STATE, 1 - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_2119F9 - msgbox RustboroCity_DevonCorp_2F_Text_211F48, MSGBOX_DEFAULT + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_StillRegenerating + msgbox RustboroCity_DevonCorp_2F_Text_DevelopDeviceToResurrectFossils, MSGBOX_DEFAULT checkitem ITEM_ROOT_FOSSIL, 1 - compare VAR_RESULT, 1 - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211933 + compare VAR_RESULT, TRUE + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_NoticeRootFossil checkitem ITEM_CLAW_FOSSIL, 1 - compare VAR_RESULT, 1 - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211991 + compare VAR_RESULT, TRUE + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_NoticeClawFossil release end -RustboroCity_DevonCorp_2F_EventScript_211933:: @ 8211933 +@ This whole section has needless duplication and could be condensed considerably +RustboroCity_DevonCorp_2F_EventScript_NoticeRootFossil:: @ 8211933 closemessage playse SE_PIN applymovement 5, Common_Movement_ExclamationMark waitmovement 0 applymovement 5, Common_Movement_Delay48 waitmovement 0 - msgbox RustboroCity_DevonCorp_2F_Text_211FA6, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_2119EF + msgbox RustboroCity_DevonCorp_2F_Text_WantToBringFossilBackToLife, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_DeclineGiveFossil checkitem ITEM_CLAW_FOSSIL, 1 - compare VAR_RESULT, 1 - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B84 - goto RustboroCity_DevonCorp_2F_EventScript_211974 + compare VAR_RESULT, TRUE + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ChooseFossil + goto RustboroCity_DevonCorp_2F_EventScript_GiveRootFossil end -RustboroCity_DevonCorp_2F_EventScript_211974:: @ 8211974 +RustboroCity_DevonCorp_2F_EventScript_GiveRootFossil:: @ 8211974 bufferitemname 0, ITEM_ROOT_FOSSIL - msgbox RustboroCity_DevonCorp_2F_Text_212153, MSGBOX_DEFAULT - takeitem ITEM_ROOT_FOSSIL, 1 + msgbox RustboroCity_DevonCorp_2F_Text_HandedFossilToResearcher, MSGBOX_DEFAULT + removeitem ITEM_ROOT_FOSSIL setvar VAR_FOSSIL_RESURRECTION_STATE, 1 setvar VAR_WHICH_FOSSIL_REVIVED, 1 release end -RustboroCity_DevonCorp_2F_EventScript_211991:: @ 8211991 +RustboroCity_DevonCorp_2F_EventScript_NoticeClawFossil:: @ 8211991 closemessage playse SE_PIN applymovement 5, Common_Movement_ExclamationMark waitmovement 0 applymovement 5, Common_Movement_Delay48 waitmovement 0 - msgbox RustboroCity_DevonCorp_2F_Text_211FA6, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_2119EF + msgbox RustboroCity_DevonCorp_2F_Text_WantToBringFossilBackToLife, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_DeclineGiveFossil checkitem ITEM_ROOT_FOSSIL, 1 - compare VAR_RESULT, 1 - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B84 - goto RustboroCity_DevonCorp_2F_EventScript_2119D2 + compare VAR_RESULT, TRUE + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ChooseFossil + goto RustboroCity_DevonCorp_2F_EventScript_GiveClawFossil end -RustboroCity_DevonCorp_2F_EventScript_2119D2:: @ 82119D2 +RustboroCity_DevonCorp_2F_EventScript_GiveClawFossil:: @ 82119D2 bufferitemname 0, ITEM_CLAW_FOSSIL - msgbox RustboroCity_DevonCorp_2F_Text_212153, MSGBOX_DEFAULT - takeitem ITEM_CLAW_FOSSIL, 1 + msgbox RustboroCity_DevonCorp_2F_Text_HandedFossilToResearcher, MSGBOX_DEFAULT + removeitem ITEM_CLAW_FOSSIL setvar VAR_FOSSIL_RESURRECTION_STATE, 1 setvar VAR_WHICH_FOSSIL_REVIVED, 2 release end -RustboroCity_DevonCorp_2F_EventScript_2119EF:: @ 82119EF - msgbox RustboroCity_DevonCorp_2F_Text_212046, MSGBOX_DEFAULT +RustboroCity_DevonCorp_2F_EventScript_DeclineGiveFossil:: @ 82119EF + msgbox RustboroCity_DevonCorp_2F_Text_OhIsThatSo, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_2F_EventScript_2119F9:: @ 82119F9 - msgbox RustboroCity_DevonCorp_2F_Text_2121A2, MSGBOX_DEFAULT +RustboroCity_DevonCorp_2F_EventScript_StillRegenerating:: @ 82119F9 + msgbox RustboroCity_DevonCorp_2F_Text_FossilRegeneratorTakesTime, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_2F_EventScript_211A03:: @ 8211A03 +RustboroCity_DevonCorp_2F_EventScript_FossilMonReady:: @ 8211A03 compare VAR_WHICH_FOSSIL_REVIVED, 1 - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A1A + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_LileepReady compare VAR_WHICH_FOSSIL_REVIVED, 2 - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A2C + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_AnorithReady end -RustboroCity_DevonCorp_2F_EventScript_211A1A:: @ 8211A1A +RustboroCity_DevonCorp_2F_EventScript_LileepReady:: @ 8211A1A bufferspeciesname 1, SPECIES_LILEEP - msgbox RustboroCity_DevonCorp_2F_Text_212251, MSGBOX_DEFAULT - goto RustboroCity_DevonCorp_2F_EventScript_211A3E + msgbox RustboroCity_DevonCorp_2F_Text_FossilizedMonBroughtBackToLife, MSGBOX_DEFAULT + goto RustboroCity_DevonCorp_2F_EventScript_ReceiveLileep end -RustboroCity_DevonCorp_2F_EventScript_211A2C:: @ 8211A2C +RustboroCity_DevonCorp_2F_EventScript_AnorithReady:: @ 8211A2C bufferspeciesname 1, SPECIES_ANORITH - msgbox RustboroCity_DevonCorp_2F_Text_212251, MSGBOX_DEFAULT - goto RustboroCity_DevonCorp_2F_EventScript_211AE1 + msgbox RustboroCity_DevonCorp_2F_Text_FossilizedMonBroughtBackToLife, MSGBOX_DEFAULT + goto RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorith end -RustboroCity_DevonCorp_2F_EventScript_211A3E:: @ 8211A3E +RustboroCity_DevonCorp_2F_EventScript_ReceiveLileep:: @ 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 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepParty compare VAR_RESULT, 1 - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A96 - goto RustboroCity_DevonCorp_2F_EventScript_273811 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepPC + goto Common_EventScript_NoMoreRoomForPokemon end -RustboroCity_DevonCorp_2F_EventScript_211A6E:: @ 8211A6E - call RustboroCity_DevonCorp_2F_EventScript_211AC4 +RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepParty:: @ 8211A6E + call RustboroCity_DevonCorp_2F_EventScript_ReceivedLileepFanfare msgbox gText_NicknameThisPokemon, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211AD7 - call RustboroCity_DevonCorp_2F_EventScript_27378B - call Common_EventScript_NameReceivedPokemon - goto RustboroCity_DevonCorp_2F_EventScript_211AD7 + compare VAR_RESULT, NO + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_FinishReceivingLileep + call Common_EventScript_GetGiftMonPartySlot + call Common_EventScript_NameReceivedPartyMon + goto RustboroCity_DevonCorp_2F_EventScript_FinishReceivingLileep end -RustboroCity_DevonCorp_2F_EventScript_211A96:: @ 8211A96 - call RustboroCity_DevonCorp_2F_EventScript_211AC4 +RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepPC:: @ 8211A96 + call RustboroCity_DevonCorp_2F_EventScript_ReceivedLileepFanfare msgbox gText_NicknameThisPokemon, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211AB9 - call RustboroCity_DevonCorp_2F_EventScript_273797 - goto RustboroCity_DevonCorp_2F_EventScript_211AB9 + compare VAR_RESULT, NO + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_TransferLileepToPC + call Common_EventScript_NameReceivedBoxMon + goto RustboroCity_DevonCorp_2F_EventScript_TransferLileepToPC end -RustboroCity_DevonCorp_2F_EventScript_211AB9:: @ 8211AB9 - call RustboroCity_DevonCorp_2F_EventScript_2737A0 - goto RustboroCity_DevonCorp_2F_EventScript_211AD7 +RustboroCity_DevonCorp_2F_EventScript_TransferLileepToPC:: @ 8211AB9 + call Common_EventScript_TransferredToPC + goto RustboroCity_DevonCorp_2F_EventScript_FinishReceivingLileep end -RustboroCity_DevonCorp_2F_EventScript_211AC4:: @ 8211AC4 +RustboroCity_DevonCorp_2F_EventScript_ReceivedLileepFanfare:: @ 8211AC4 bufferspeciesname 1, SPECIES_LILEEP playfanfare MUS_FANFA4 - message RustboroCity_DevonCorp_2F_Text_2122CB + message RustboroCity_DevonCorp_2F_Text_ReceivedMonFromResearcher waitmessage waitfanfare bufferspeciesname 0, SPECIES_LILEEP return -RustboroCity_DevonCorp_2F_EventScript_211AD7:: @ 8211AD7 +RustboroCity_DevonCorp_2F_EventScript_FinishReceivingLileep:: @ 8211AD7 setvar VAR_FOSSIL_RESURRECTION_STATE, 0 setflag FLAG_RECEIVED_REVIVED_FOSSIL_MON release end -RustboroCity_DevonCorp_2F_EventScript_211AE1:: @ 8211AE1 +RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorith:: @ 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 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithParty compare VAR_RESULT, 1 - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B39 - goto RustboroCity_DevonCorp_2F_EventScript_273811 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithPC + goto Common_EventScript_NoMoreRoomForPokemon end -RustboroCity_DevonCorp_2F_EventScript_211B11:: @ 8211B11 - call RustboroCity_DevonCorp_2F_EventScript_211B67 +RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithParty:: @ 8211B11 + call RustboroCity_DevonCorp_2F_EventScript_ReceivedAnorithFanfare msgbox gText_NicknameThisPokemon, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B7A - call RustboroCity_DevonCorp_2F_EventScript_27378B - call Common_EventScript_NameReceivedPokemon - goto RustboroCity_DevonCorp_2F_EventScript_211B7A + compare VAR_RESULT, NO + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_FinishReceivingAnorith + call Common_EventScript_GetGiftMonPartySlot + call Common_EventScript_NameReceivedPartyMon + goto RustboroCity_DevonCorp_2F_EventScript_FinishReceivingAnorith end -RustboroCity_DevonCorp_2F_EventScript_211B39:: @ 8211B39 - call RustboroCity_DevonCorp_2F_EventScript_211B67 +RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithPC:: @ 8211B39 + call RustboroCity_DevonCorp_2F_EventScript_ReceivedAnorithFanfare msgbox gText_NicknameThisPokemon, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B5C - call RustboroCity_DevonCorp_2F_EventScript_273797 - goto RustboroCity_DevonCorp_2F_EventScript_211B5C + compare VAR_RESULT, NO + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_TransferAnorithToPC + call Common_EventScript_NameReceivedBoxMon + goto RustboroCity_DevonCorp_2F_EventScript_TransferAnorithToPC end -RustboroCity_DevonCorp_2F_EventScript_211B5C:: @ 8211B5C - call RustboroCity_DevonCorp_2F_EventScript_2737A0 - goto RustboroCity_DevonCorp_2F_EventScript_211B7A +RustboroCity_DevonCorp_2F_EventScript_TransferAnorithToPC:: @ 8211B5C + call Common_EventScript_TransferredToPC + goto RustboroCity_DevonCorp_2F_EventScript_FinishReceivingAnorith end -RustboroCity_DevonCorp_2F_EventScript_211B67:: @ 8211B67 +RustboroCity_DevonCorp_2F_EventScript_ReceivedAnorithFanfare:: @ 8211B67 bufferspeciesname 1, SPECIES_ANORITH playfanfare MUS_FANFA4 - message RustboroCity_DevonCorp_2F_Text_2122CB + message RustboroCity_DevonCorp_2F_Text_ReceivedMonFromResearcher waitmessage waitfanfare bufferspeciesname 0, SPECIES_ANORITH return -RustboroCity_DevonCorp_2F_EventScript_211B7A:: @ 8211B7A +RustboroCity_DevonCorp_2F_EventScript_FinishReceivingAnorith:: @ 8211B7A setvar VAR_FOSSIL_RESURRECTION_STATE, 0 setflag FLAG_RECEIVED_REVIVED_FOSSIL_MON release end -RustboroCity_DevonCorp_2F_EventScript_211B84:: @ 8211B84 - message RustboroCity_DevonCorp_2F_Text_212092 +RustboroCity_DevonCorp_2F_EventScript_ChooseFossil:: @ 8211B84 + message RustboroCity_DevonCorp_2F_Text_TwoFossilsPickOne waitmessage - multichoice 17, 6, 93, 0 + multichoice 17, 6, MULTI_FOSSIL, 0 switch VAR_RESULT - case 0, RustboroCity_DevonCorp_2F_EventScript_211BC1 - case 1, RustboroCity_DevonCorp_2F_EventScript_211BC7 - case 2, RustboroCity_DevonCorp_2F_EventScript_211BCD - case 127, RustboroCity_DevonCorp_2F_EventScript_211BCD + case 0, RustboroCity_DevonCorp_2F_EventScript_ChooseClawFossil + case 1, RustboroCity_DevonCorp_2F_EventScript_ChooseRootFossil + case 2, RustboroCity_DevonCorp_2F_EventScript_CancelFossilSelect + case MULTI_B_PRESSED, RustboroCity_DevonCorp_2F_EventScript_CancelFossilSelect end -RustboroCity_DevonCorp_2F_EventScript_211BC1:: @ 8211BC1 - goto RustboroCity_DevonCorp_2F_EventScript_2119D2 +RustboroCity_DevonCorp_2F_EventScript_ChooseClawFossil:: @ 8211BC1 + goto RustboroCity_DevonCorp_2F_EventScript_GiveClawFossil end -RustboroCity_DevonCorp_2F_EventScript_211BC7:: @ 8211BC7 - goto RustboroCity_DevonCorp_2F_EventScript_211974 +RustboroCity_DevonCorp_2F_EventScript_ChooseRootFossil:: @ 8211BC7 + goto RustboroCity_DevonCorp_2F_EventScript_GiveRootFossil end -RustboroCity_DevonCorp_2F_EventScript_211BCD:: @ 8211BCD +RustboroCity_DevonCorp_2F_EventScript_CancelFossilSelect:: @ 8211BCD release end -RustboroCity_DevonCorp_2F_EventScript_211BCF:: @ 8211BCF +RustboroCity_DevonCorp_2F_EventScript_MatchCallScientist:: @ 8211BCF lock faceplayer compare VAR_FOSSIL_RESURRECTION_STATE, 1 - call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869 + call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady compare VAR_RUSTBORO_CITY_STATE, 6 - goto_if_ge RustboroCity_DevonCorp_2F_EventScript_211BF1 - msgbox RustboroCity_DevonCorp_2F_Text_212338, MSGBOX_DEFAULT + goto_if_ge RustboroCity_DevonCorp_2F_EventScript_WorkOnNext + msgbox RustboroCity_DevonCorp_2F_Text_DevelopNewPokenavFeature, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_2F_EventScript_211BF1:: @ 8211BF1 - msgbox RustboroCity_DevonCorp_2F_Text_212386, MSGBOX_DEFAULT +RustboroCity_DevonCorp_2F_EventScript_WorkOnNext:: @ 8211BF1 + msgbox RustboroCity_DevonCorp_2F_Text_WhatToWorkOnNext, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_2F_Text_211BFB: @ 8211BFB +RustboroCity_DevonCorp_2F_Text_DeviceForTalkingToPokemon: @ 8211BFB .string "We're developing a device for talking\n" .string "with POKéMON.\p" .string "But we haven't had much success…$" -RustboroCity_DevonCorp_2F_Text_211C50: @ 8211C50 +RustboroCity_DevonCorp_2F_Text_DevelopingNewBalls: @ 8211C50 .string "I'm developing new kinds of\n" .string "POKé BALLS…\p" .string "But I haven't made much headway…$" -RustboroCity_DevonCorp_2F_Text_211C99: @ 8211C99 +RustboroCity_DevonCorp_2F_Text_WeFinallyMadeNewBalls: @ 8211C99 .string "We finally made new kinds of\n" .string "POKé BALLS!\p" .string "The REPEAT BALL makes it easier to\n" @@ -313,12 +314,12 @@ RustboroCity_DevonCorp_2F_Text_211C99: @ 8211C99 .string "the DEVON CORPORATION.\p" .string "Please give them a try!$" -RustboroCity_DevonCorp_2F_Text_211D9F: @ 8211D9F +RustboroCity_DevonCorp_2F_Text_IMadePokenav: @ 8211D9F .string "I made the POKéNAV!\p" .string "As an engineer, I feel blessed to have\n" .string "made something so great!$" -RustboroCity_DevonCorp_2F_Text_211DF3: @ 8211DF3 +RustboroCity_DevonCorp_2F_Text_WowThatsAPokenav: @ 8211DF3 .string "Oh, wow!\n" .string "That's a POKéNAV!\p" .string "It came about as a result of our\n" @@ -329,18 +330,18 @@ RustboroCity_DevonCorp_2F_Text_211DF3: @ 8211DF3 .string "No, no. I think you'll find out just by\n" .string "trying the POKéNAV out.$" -RustboroCity_DevonCorp_2F_Text_211EE0: @ 8211EE0 +RustboroCity_DevonCorp_2F_Text_DeviceToVisualizePokemonDreams: @ 8211EE0 .string "I'm trying to develop a device that\n" .string "visually reproduces the dreams of\l" .string "POKéMON…\p" .string "But it's not going well.$" -RustboroCity_DevonCorp_2F_Text_211F48: @ 8211F48 +RustboroCity_DevonCorp_2F_Text_DevelopDeviceToResurrectFossils: @ 8211F48 .string "I've been trying to develop a device\n" .string "that resurrects POKéMON from fossils…\p" .string "And, it's working!$" -RustboroCity_DevonCorp_2F_Text_211FA6: @ 8211FA6 +RustboroCity_DevonCorp_2F_Text_WantToBringFossilBackToLife: @ 8211FA6 .string "Wait! That thing you have there…\n" .string "Is that a POKéMON fossil?\p" .string "Would you like to bring that POKéMON\n" @@ -348,12 +349,12 @@ RustboroCity_DevonCorp_2F_Text_211FA6: @ 8211FA6 .string "I can with my newly developed\n" .string "FOSSIL REGENERATOR.$" -RustboroCity_DevonCorp_2F_Text_212046: @ 8212046 +RustboroCity_DevonCorp_2F_Text_OhIsThatSo: @ 8212046 .string "Oh, is that so?\p" .string "DEVON's technological expertise\n" .string "is outstanding, I tell you.$" -RustboroCity_DevonCorp_2F_Text_212092: @ 8212092 +RustboroCity_DevonCorp_2F_Text_TwoFossilsPickOne: @ 8212092 .string "Oh, now that's a surprise!\n" .string "You have not one, but two, fossils?\p" .string "Unfortunately, my machine can only\n" @@ -361,13 +362,13 @@ RustboroCity_DevonCorp_2F_Text_212092: @ 8212092 .string "Would you like to pick one of your\n" .string "fossils for regeneration?$" -RustboroCity_DevonCorp_2F_Text_212153: @ 8212153 +RustboroCity_DevonCorp_2F_Text_HandedFossilToResearcher: @ 8212153 .string "Excellent!\n" .string "Let's do this right away.\p" .string "{PLAYER} handed the {STR_VAR_1} to\n" .string "the DEVON RESEARCHER.$" -RustboroCity_DevonCorp_2F_Text_2121A2: @ 82121A2 +RustboroCity_DevonCorp_2F_Text_FossilRegeneratorTakesTime: @ 82121A2 .string "The FOSSIL REGENERATOR, which I made,\n" .string "is incredible.\p" .string "But it has one drawback--it takes\n" @@ -375,27 +376,28 @@ RustboroCity_DevonCorp_2F_Text_2121A2: @ 82121A2 .string "So, uh… How about you go for a stroll\n" .string "and look around for a while?$" -RustboroCity_DevonCorp_2F_Text_212251: @ 8212251 +RustboroCity_DevonCorp_2F_Text_FossilizedMonBroughtBackToLife: @ 8212251 .string "Thanks for waiting!\p" .string "Your fossilized POKéMON has been\n" .string "brought back to life!\p" .string "The fossil was an ancient POKéMON.\n" .string "{STR_VAR_2}, it was!$" -RustboroCity_DevonCorp_2F_Text_2122CB: @ 82122CB +RustboroCity_DevonCorp_2F_Text_ReceivedMonFromResearcher: @ 82122CB .string "{PLAYER} received {STR_VAR_2} from\n" .string "the DEVON RESEARCHER.$" -RustboroCity_DevonCorp_2F_Text_2122F5: @ 82122F5 +@ Unused +RustboroCity_DevonCorp_2F_Text_TooManyPokemon: @ 82122F5 .string "Uh-oh, you've got too many POKéMON.\n" .string "You have no room for this one.$" -RustboroCity_DevonCorp_2F_Text_212338: @ 8212338 +RustboroCity_DevonCorp_2F_Text_DevelopNewPokenavFeature: @ 8212338 .string "I'm trying to develop a new feature\n" .string "for the POKéNAV…\p" .string "But it's not going well.$" -RustboroCity_DevonCorp_2F_Text_212386: @ 8212386 +RustboroCity_DevonCorp_2F_Text_WhatToWorkOnNext: @ 8212386 .string "Well, now what shall I work on\n" .string "developing next?\p" .string "Our company allows us to make our\n" diff --git a/data/maps/RustboroCity_DevonCorp_3F/map.json b/data/maps/RustboroCity_DevonCorp_3F/map.json index 0ed5d0b7ee..8e0f6d2aef 100644 --- a/data/maps/RustboroCity_DevonCorp_3F/map.json +++ b/data/maps/RustboroCity_DevonCorp_3F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_DevonCorp_3F_EventScript_21256C", + "script": "RustboroCity_DevonCorp_3F_EventScript_MrStone", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_DevonCorp_3F_EventScript_2125E1", + "script": "RustboroCity_DevonCorp_3F_EventScript_Employee", "flag": "FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_DevonCorp_3F_EventScript_21256C", + "script": "RustboroCity_DevonCorp_3F_EventScript_MrStone", "flag": "0" } ], @@ -71,7 +71,7 @@ "y": 5, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "RustboroCity_DevonCorp_3F_EventScript_212600" + "script": "RustboroCity_DevonCorp_3F_EventScript_RareRocksDisplay" }, { "type": "sign", @@ -79,7 +79,7 @@ "y": 7, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "RustboroCity_DevonCorp_3F_EventScript_212600" + "script": "RustboroCity_DevonCorp_3F_EventScript_RareRocksDisplay" } ] } \ No newline at end of file diff --git a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc index 6b83e195cd..9e918ca633 100644 --- a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc @@ -1,85 +1,85 @@ RustboroCity_DevonCorp_3F_MapScripts:: @ 821242D map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_DevonCorp_3F_OnTransition - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, RustboroCity_DevonCorp_3F_MapScript2_212455 - map_script MAP_SCRIPT_ON_FRAME_TABLE, RustboroCity_DevonCorp_3F_MapScript2_212464 + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, RustboroCity_DevonCorp_3F_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, RustboroCity_DevonCorp_3F_OnFrame .byte 0 RustboroCity_DevonCorp_3F_OnTransition: @ 821243D compare VAR_DEVON_CORP_3F_STATE, 0 - call_if_eq RustboroCity_DevonCorp_3F_EventScript_212449 + call_if_eq RustboroCity_DevonCorp_3F_EventScript_SetEmployeePos end -RustboroCity_DevonCorp_3F_EventScript_212449:: @ 8212449 +RustboroCity_DevonCorp_3F_EventScript_SetEmployeePos:: @ 8212449 setobjectxyperm 2, 3, 2 setobjectmovementtype 2, MOVEMENT_TYPE_FACE_LEFT return -RustboroCity_DevonCorp_3F_MapScript2_212455: @ 8212455 - map_script_2 VAR_DEVON_CORP_3F_STATE, 0, RustboroCity_DevonCorp_3F_EventScript_21245F +RustboroCity_DevonCorp_3F_OnWarp: @ 8212455 + map_script_2 VAR_DEVON_CORP_3F_STATE, 0, RustboroCity_DevonCorp_3F_EventScript_PlayerFaceEast .2byte 0 -RustboroCity_DevonCorp_3F_EventScript_21245F:: @ 821245F - turnobject EVENT_OBJ_ID_PLAYER, 4 +RustboroCity_DevonCorp_3F_EventScript_PlayerFaceEast:: @ 821245F + turnobject EVENT_OBJ_ID_PLAYER, DIR_EAST end -RustboroCity_DevonCorp_3F_MapScript2_212464: @ 8212464 - map_script_2 VAR_DEVON_CORP_3F_STATE, 0, RustboroCity_DevonCorp_3F_EventScript_21246E +RustboroCity_DevonCorp_3F_OnFrame: @ 8212464 + map_script_2 VAR_DEVON_CORP_3F_STATE, 0, RustboroCity_DevonCorp_3F_EventScript_MeetPresident .2byte 0 -RustboroCity_DevonCorp_3F_EventScript_21246E:: @ 821246E +RustboroCity_DevonCorp_3F_EventScript_MeetPresident:: @ 821246E lockall - msgbox RustboroCity_DevonCorp_3F_Text_212C37, MSGBOX_DEFAULT + msgbox RustboroCity_DevonCorp_3F_Text_ThisIs3rdFloorWaitHere, MSGBOX_DEFAULT closemessage - applymovement 2, RustboroCity_DevonCorp_3F_Movement_212546 + applymovement 2, RustboroCity_DevonCorp_3F_Movement_EmployeeWalkOffscreen waitmovement 0 delay 80 - applymovement 2, RustboroCity_DevonCorp_3F_Movement_21254F + applymovement 2, RustboroCity_DevonCorp_3F_Movement_EmployeeReturnToPlayer waitmovement 0 - msgbox RustboroCity_DevonCorp_3F_Text_212DE8, MSGBOX_DEFAULT + msgbox RustboroCity_DevonCorp_3F_Text_WordWithPresidentComeWithMe, MSGBOX_DEFAULT closemessage playbgm MUS_TSURETEK, 0 - applymovement 2, RustboroCity_DevonCorp_3F_Movement_212534 - applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_DevonCorp_3F_Movement_212558 + applymovement 2, RustboroCity_DevonCorp_3F_Movement_LeadPlayerToPresident + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_DevonCorp_3F_Movement_PlayerFollowToPresident waitmovement 0 - msgbox RustboroCity_DevonCorp_3F_Text_212E2F, MSGBOX_DEFAULT + msgbox RustboroCity_DevonCorp_3F_Text_PleaseGoAhead, MSGBOX_DEFAULT closemessage fadedefaultbgm - applymovement 2, RustboroCity_DevonCorp_3F_Movement_212543 - applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_DevonCorp_3F_Movement_212566 + applymovement 2, RustboroCity_DevonCorp_3F_Movement_EmployeeFaceDesk + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_DevonCorp_3F_Movement_PlayerApproachDesk waitmovement 0 - msgbox RustboroCity_DevonCorp_3F_Text_212609, MSGBOX_DEFAULT - giveitem_std ITEM_LETTER - msgbox RustboroCity_DevonCorp_3F_Text_21277C, MSGBOX_DEFAULT + msgbox RustboroCity_DevonCorp_3F_Text_MrStoneIHaveFavor, MSGBOX_DEFAULT + giveitem ITEM_LETTER + msgbox RustboroCity_DevonCorp_3F_Text_MrStoneWantYouToHaveThis, MSGBOX_DEFAULT playfanfare MUS_FANFA4 - message RustboroCity_DevonCorp_3F_Text_212820 + message RustboroCity_DevonCorp_3F_Text_ReceivedPokenav waitfanfare setflag FLAG_SYS_POKENAV_GET setflag FLAG_RECEIVED_POKENAV setflag FLAG_HIDE_RUSTBORO_CITY_POKEMON_SCHOOL_SCOTT - msgbox RustboroCity_DevonCorp_3F_Text_212837, MSGBOX_DEFAULT + msgbox RustboroCity_DevonCorp_3F_Text_MrStoneExplainPokenavRestUp, MSGBOX_DEFAULT closemessage call Common_EventScript_OutOfCenterPartyHeal - msgbox RustboroCity_DevonCorp_3F_Text_2129D2, MSGBOX_DEFAULT - setflag FLAG_HIDE_ROUTE_116_TUNNELER - clearflag FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN - clearflag FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN + msgbox RustboroCity_DevonCorp_3F_Text_MrStoneGoWithCautionAndCare, MSGBOX_DEFAULT + setflag FLAG_HIDE_ROUTE_116_WANDAS_BOYFRIEND + clearflag FLAG_HIDE_RUSTURF_TUNNEL_WANDAS_BOYFRIEND + clearflag FLAG_HIDE_RUSTURF_TUNNEL_WANDA clearflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY clearflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO setvar VAR_BRINEY_LOCATION, 1 - clearflag FLAG_HIDE_RUSBORO_CITY_RIVAL + clearflag FLAG_HIDE_RUSTBORO_CITY_RIVAL setvar VAR_DEVON_CORP_3F_STATE, 1 setvar VAR_RUSTBORO_CITY_STATE, 6 releaseall end -RustboroCity_DevonCorp_3F_Movement_21252F: @ 821252F +RustboroCity_DevonCorp_3F_Movement_Unused: @ 821252F walk_up walk_up walk_up walk_in_place_fastest_left step_end -RustboroCity_DevonCorp_3F_Movement_212534: @ 8212534 +RustboroCity_DevonCorp_3F_Movement_LeadPlayerToPresident: @ 8212534 walk_right walk_right walk_right @@ -96,12 +96,12 @@ RustboroCity_DevonCorp_3F_Movement_212534: @ 8212534 walk_in_place_fastest_left step_end -RustboroCity_DevonCorp_3F_Movement_212543: @ 8212543 +RustboroCity_DevonCorp_3F_Movement_EmployeeFaceDesk: @ 8212543 delay_16 walk_in_place_fastest_down step_end -RustboroCity_DevonCorp_3F_Movement_212546: @ 8212546 +RustboroCity_DevonCorp_3F_Movement_EmployeeWalkOffscreen: @ 8212546 walk_right walk_right walk_right @@ -112,7 +112,7 @@ RustboroCity_DevonCorp_3F_Movement_212546: @ 8212546 walk_right step_end -RustboroCity_DevonCorp_3F_Movement_21254F: @ 821254F +RustboroCity_DevonCorp_3F_Movement_EmployeeReturnToPlayer: @ 821254F walk_left walk_left walk_left @@ -123,7 +123,7 @@ RustboroCity_DevonCorp_3F_Movement_21254F: @ 821254F walk_left step_end -RustboroCity_DevonCorp_3F_Movement_212558: @ 8212558 +RustboroCity_DevonCorp_3F_Movement_PlayerFollowToPresident: @ 8212558 walk_right walk_right walk_right @@ -139,7 +139,7 @@ RustboroCity_DevonCorp_3F_Movement_212558: @ 8212558 walk_right step_end -RustboroCity_DevonCorp_3F_Movement_212566: @ 8212566 +RustboroCity_DevonCorp_3F_Movement_PlayerApproachDesk: @ 8212566 delay_16 delay_16 walk_down @@ -147,57 +147,57 @@ RustboroCity_DevonCorp_3F_Movement_212566: @ 8212566 walk_in_place_fastest_right step_end -RustboroCity_DevonCorp_3F_EventScript_21256C:: @ 821256C +RustboroCity_DevonCorp_3F_EventScript_MrStone:: @ 821256C lock faceplayer - goto_if_set FLAG_RECEIVED_EXP_SHARE, RustboroCity_DevonCorp_3F_EventScript_2125CC - goto_if_set FLAG_DELIVERED_STEVEN_LETTER, RustboroCity_DevonCorp_3F_EventScript_212595 - msgbox RustboroCity_DevonCorp_3F_Text_212A09, MSGBOX_DEFAULT + goto_if_set FLAG_RECEIVED_EXP_SHARE, RustboroCity_DevonCorp_3F_EventScript_MrStoneAfterFavor + goto_if_set FLAG_DELIVERED_STEVEN_LETTER, RustboroCity_DevonCorp_3F_EventScript_GiveExpShare + msgbox RustboroCity_DevonCorp_3F_Text_CountingOnYou, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -RustboroCity_DevonCorp_3F_EventScript_212595:: @ 8212595 - msgbox RustboroCity_DevonCorp_3F_Text_212A29, MSGBOX_DEFAULT - giveitem_std ITEM_EXP_SHARE +RustboroCity_DevonCorp_3F_EventScript_GiveExpShare:: @ 8212595 + msgbox RustboroCity_DevonCorp_3F_Text_ThankYouForDeliveringLetter, MSGBOX_DEFAULT + giveitem ITEM_EXP_SHARE compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_EXP_SHARE - msgbox RustboroCity_DevonCorp_3F_Text_212A9E, MSGBOX_DEFAULT + msgbox RustboroCity_DevonCorp_3F_Text_ExplainExpShare, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -RustboroCity_DevonCorp_3F_EventScript_2125CC:: @ 82125CC - msgbox RustboroCity_DevonCorp_3F_Text_212B78, MSGBOX_DEFAULT +RustboroCity_DevonCorp_3F_EventScript_MrStoneAfterFavor:: @ 82125CC + msgbox RustboroCity_DevonCorp_3F_Text_NotFamiliarWithTrends, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -RustboroCity_DevonCorp_3F_EventScript_2125E1:: @ 82125E1 +RustboroCity_DevonCorp_3F_EventScript_Employee:: @ 82125E1 lock faceplayer - goto_if_set FLAG_RECEIVED_REPEAT_BALL, RustboroCity_DevonCorp_3F_EventScript_2125F6 - msgbox RustboroCity_DevonCorp_3F_Text_212E41, MSGBOX_DEFAULT + goto_if_set FLAG_RECEIVED_REPEAT_BALL, RustboroCity_DevonCorp_3F_EventScript_EmployeeBalls + msgbox RustboroCity_DevonCorp_3F_Text_VisitCaptSternShipyard, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_3F_EventScript_2125F6:: @ 82125F6 - msgbox RustboroCity_DevonCorp_3F_Text_212E88, MSGBOX_DEFAULT +RustboroCity_DevonCorp_3F_EventScript_EmployeeBalls:: @ 82125F6 + msgbox RustboroCity_DevonCorp_3F_Text_RepeatAndTimerHugelyPopular, MSGBOX_DEFAULT release end -RustboroCity_DevonCorp_3F_EventScript_212600:: @ 8212600 - msgbox RustboroCity_DevonCorp_3F_Text_212EE9, MSGBOX_SIGN +RustboroCity_DevonCorp_3F_EventScript_RareRocksDisplay:: @ 8212600 + msgbox RustboroCity_DevonCorp_3F_Text_RareRocksDisplay, MSGBOX_SIGN end -RustboroCity_DevonCorp_3F_Text_212609: @ 8212609 +RustboroCity_DevonCorp_3F_Text_MrStoneIHaveFavor: @ 8212609 .string "I'm MR. STONE, the PRESIDENT of\n" .string "the DEVON CORPORATION.\p" .string "I'd just got word about you!\p" @@ -212,17 +212,17 @@ RustboroCity_DevonCorp_3F_Text_212609: @ 8212609 .string "I was hoping that you'd deliver a\n" .string "LETTER to STEVEN in DEWFORD.$" -RustboroCity_DevonCorp_3F_Text_21277C: @ 821277C +RustboroCity_DevonCorp_3F_Text_MrStoneWantYouToHaveThis: @ 821277C .string "MR. STONE: Now, you should know that\n" .string "I am a great PRESIDENT.\p" .string "So, I'd never be so cheap as to ask\n" .string "a favor for nothing in return.\p" .string "That's why I want you to have this!$" -RustboroCity_DevonCorp_3F_Text_212820: @ 8212820 +RustboroCity_DevonCorp_3F_Text_ReceivedPokenav: @ 8212820 .string "{PLAYER} received a POKéNAV.$" -RustboroCity_DevonCorp_3F_Text_212837: @ 8212837 +RustboroCity_DevonCorp_3F_Text_MrStoneExplainPokenavRestUp: @ 8212837 .string "MR. STONE: That device…\p" .string "It's a POKéMON NAVIGATOR, or POKéNAV\n" .string "for short.\p" @@ -237,20 +237,20 @@ RustboroCity_DevonCorp_3F_Text_212837: @ 8212837 .string "I think it would be best if you rested\n" .string "up before you go on your way.$" -RustboroCity_DevonCorp_3F_Text_2129D2: @ 82129D2 +RustboroCity_DevonCorp_3F_Text_MrStoneGoWithCautionAndCare: @ 82129D2 .string "MR. STONE: Well, then, {PLAYER}{KUN},\n" .string "go with caution and care!$" -RustboroCity_DevonCorp_3F_Text_212A09: @ 8212A09 +RustboroCity_DevonCorp_3F_Text_CountingOnYou: @ 8212A09 .string "MR. STONE: I'm counting on you!$" -RustboroCity_DevonCorp_3F_Text_212A29: @ 8212A29 +RustboroCity_DevonCorp_3F_Text_ThankYouForDeliveringLetter: @ 8212A29 .string "MR. STONE: You delivered my LETTER?\n" .string "Thank you kindly!\p" .string "This is my way of thanking you.\n" .string "It should help you, a TRAINER.$" -RustboroCity_DevonCorp_3F_Text_212A9E: @ 8212A9E +RustboroCity_DevonCorp_3F_Text_ExplainExpShare: @ 8212A9E .string "MR. STONE: A POKéMON holding that\n" .string "EXP. SHARE will be given some of the\l" .string "EXP Points from battle.\p" @@ -259,7 +259,7 @@ RustboroCity_DevonCorp_3F_Text_212A9E: @ 8212A9E .string "I would say EXP. SHARE is quite useful\n" .string "for raising weak POKéMON.$" -RustboroCity_DevonCorp_3F_Text_212B78: @ 8212B78 +RustboroCity_DevonCorp_3F_Text_NotFamiliarWithTrends: @ 8212B78 .string "MR. STONE: Since my youth, I've immersed\n" .string "myself in work.\p" .string "Consequently, I'm not familiar with\n" @@ -267,7 +267,7 @@ RustboroCity_DevonCorp_3F_Text_212B78: @ 8212B78 .string "But do young people all want to be\n" .string "TRAINERS in the POKéMON LEAGUE?$" -RustboroCity_DevonCorp_3F_Text_212C37: @ 8212C37 +RustboroCity_DevonCorp_3F_Text_ThisIs3rdFloorWaitHere: @ 8212C37 .string "This is the DEVON CORPORATION's\n" .string "third floor.\p" .string "Our PRESIDENT's OFFICE is on\n" @@ -285,24 +285,24 @@ RustboroCity_DevonCorp_3F_Text_212C37: @ 8212C37 .string "Oh, that's right.\n" .string "Could you wait here a second?$" -RustboroCity_DevonCorp_3F_Text_212DE8: @ 8212DE8 +RustboroCity_DevonCorp_3F_Text_WordWithPresidentComeWithMe: @ 8212DE8 .string "Our PRESIDENT would like to have\n" .string "a word with you.\p" .string "Please come with me.$" -RustboroCity_DevonCorp_3F_Text_212E2F: @ 8212E2F +RustboroCity_DevonCorp_3F_Text_PleaseGoAhead: @ 8212E2F .string "Please, go ahead.$" -RustboroCity_DevonCorp_3F_Text_212E41: @ 8212E41 +RustboroCity_DevonCorp_3F_Text_VisitCaptSternShipyard: @ 8212E41 .string "If you visit the SHIPYARD in SLATEPORT,\n" .string "you should go see CAPT. STERN.$" -RustboroCity_DevonCorp_3F_Text_212E88: @ 8212E88 +RustboroCity_DevonCorp_3F_Text_RepeatAndTimerHugelyPopular: @ 8212E88 .string "DEVON's new products, the REPEAT BALL\n" .string "and TIMER BALL, have become hugely\l" .string "popular among TRAINERS.$" -RustboroCity_DevonCorp_3F_Text_212EE9: @ 8212EE9 +RustboroCity_DevonCorp_3F_Text_RareRocksDisplay: @ 8212EE9 .string "It's a collection of rare rocks and\n" .string "stones assembled by the PRESIDENT.$" diff --git a/data/maps/RustboroCity_Flat1_1F/map.json b/data/maps/RustboroCity_Flat1_1F/map.json index bc016aa2c3..a35fe32cf7 100644 --- a/data/maps/RustboroCity_Flat1_1F/map.json +++ b/data/maps/RustboroCity_Flat1_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Flat1_1F_EventScript_2150CE", + "script": "RustboroCity_Flat1_1F_EventScript_Man", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Flat1_1F_EventScript_2150D7", + "script": "RustboroCity_Flat1_1F_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/RustboroCity_Flat1_1F/scripts.inc b/data/maps/RustboroCity_Flat1_1F/scripts.inc index 9cff0b010e..c52c7f0691 100644 --- a/data/maps/RustboroCity_Flat1_1F/scripts.inc +++ b/data/maps/RustboroCity_Flat1_1F/scripts.inc @@ -1,18 +1,18 @@ RustboroCity_Flat1_1F_MapScripts:: @ 82150CD .byte 0 -RustboroCity_Flat1_1F_EventScript_2150CE:: @ 82150CE - msgbox RustboroCity_Flat1_1F_Text_2150E0, MSGBOX_NPC +RustboroCity_Flat1_1F_EventScript_Man:: @ 82150CE + msgbox RustboroCity_Flat1_1F_Text_EveryPokemonHasAbility, MSGBOX_NPC end -RustboroCity_Flat1_1F_EventScript_2150D7:: @ 82150D7 - msgbox RustboroCity_Flat1_1F_Text_215115, MSGBOX_NPC +RustboroCity_Flat1_1F_EventScript_Woman:: @ 82150D7 + msgbox RustboroCity_Flat1_1F_Text_PokemonStrange, MSGBOX_NPC end -RustboroCity_Flat1_1F_Text_2150E0: @ 82150E0 +RustboroCity_Flat1_1F_Text_EveryPokemonHasAbility: @ 82150E0 .string "Every POKéMON has a special ability\n" .string "that it can use.$" -RustboroCity_Flat1_1F_Text_215115: @ 8215115 +RustboroCity_Flat1_1F_Text_PokemonStrange: @ 8215115 .string "POKéMON are such strange creatures.$" diff --git a/data/maps/RustboroCity_Flat1_2F/map.json b/data/maps/RustboroCity_Flat1_2F/map.json index 5c047888e2..b937d323af 100644 --- a/data/maps/RustboroCity_Flat1_2F/map.json +++ b/data/maps/RustboroCity_Flat1_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Flat1_2F_EventScript_21523D", + "script": "RustboroCity_Flat1_2F_EventScript_WaldasMom", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Flat1_2F_EventScript_215246", + "script": "RustboroCity_Flat1_2F_EventScript_PokeDoll", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Flat1_2F_EventScript_215246", + "script": "RustboroCity_Flat1_2F_EventScript_PokeDoll", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Flat1_2F_EventScript_215246", + "script": "RustboroCity_Flat1_2F_EventScript_PokeDoll", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Flat1_2F_EventScript_21513A", + "script": "RustboroCity_Flat1_2F_EventScript_WaldasDad", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Flat1_2F_EventScript_215246", + "script": "RustboroCity_Flat1_2F_EventScript_PokeDoll", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Flat1_2F_EventScript_215246", + "script": "RustboroCity_Flat1_2F_EventScript_PokeDoll", "flag": "0" } ], diff --git a/data/maps/RustboroCity_Flat1_2F/scripts.inc b/data/maps/RustboroCity_Flat1_2F/scripts.inc index ec59115ef5..4295f04476 100644 --- a/data/maps/RustboroCity_Flat1_2F/scripts.inc +++ b/data/maps/RustboroCity_Flat1_2F/scripts.inc @@ -1,90 +1,90 @@ RustboroCity_Flat1_2F_MapScripts:: @ 8215139 .byte 0 -RustboroCity_Flat1_2F_EventScript_21513A:: @ 821513A +RustboroCity_Flat1_2F_EventScript_WaldasDad:: @ 821513A lock faceplayer specialvar VAR_RESULT, TryBufferWaldaPhrase - compare VAR_RESULT, 0 - goto_if_eq RustboroCity_Flat1_2F_EventScript_21518D - compare VAR_RESULT, 1 - goto_if_eq RustboroCity_Flat1_2F_EventScript_2151AD + compare VAR_RESULT, FALSE + goto_if_eq RustboroCity_Flat1_2F_EventScript_WaldasDadFirstPhrase + compare VAR_RESULT, TRUE + goto_if_eq RustboroCity_Flat1_2F_EventScript_WaldasDadNewPhrase -RustboroCity_Flat1_2F_EventScript_215157:: @ 8215157 +RustboroCity_Flat1_2F_EventScript_GivePhrase:: @ 8215157 special DoWaldaNamingScreen waitstate compare VAR_0x8004, 1 - goto_if_eq RustboroCity_Flat1_2F_EventScript_2151D7 + goto_if_eq RustboroCity_Flat1_2F_EventScript_CancelGivePhrase compare VAR_0x8004, 2 - goto_if_eq RustboroCity_Flat1_2F_EventScript_2151E1 + goto_if_eq RustboroCity_Flat1_2F_EventScript_CancelGiveFirstPhrase specialvar VAR_RESULT, TryGetWallpaperWithWaldaPhrase - compare VAR_RESULT, 1 - goto_if_eq RustboroCity_Flat1_2F_EventScript_2151F8 - compare VAR_RESULT, 0 - goto_if_eq RustboroCity_Flat1_2F_EventScript_215221 + compare VAR_RESULT, TRUE + goto_if_eq RustboroCity_Flat1_2F_EventScript_WaldaLikesPhrase + compare VAR_RESULT, FALSE + goto_if_eq RustboroCity_Flat1_2F_EventScript_WaldaDoesntLikePhrase end -RustboroCity_Flat1_2F_EventScript_21518D:: @ 821518D - msgbox RustboroCity_Flat1_2F_Text_2152FA, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq RustboroCity_Flat1_2F_EventScript_2151CD - msgbox RustboroCity_Flat1_2F_Text_2154AD, MSGBOX_DEFAULT - goto RustboroCity_Flat1_2F_EventScript_215157 +RustboroCity_Flat1_2F_EventScript_WaldasDadFirstPhrase:: @ 821518D + msgbox RustboroCity_Flat1_2F_Text_HelloDoYouKnowFunnyPhrase, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq RustboroCity_Flat1_2F_EventScript_DeclineGivePhrase + msgbox RustboroCity_Flat1_2F_Text_WonderfulLetsHearSuggestion, MSGBOX_DEFAULT + goto RustboroCity_Flat1_2F_EventScript_GivePhrase -RustboroCity_Flat1_2F_EventScript_2151AD:: @ 82151AD - msgbox RustboroCity_Flat1_2F_Text_215448, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq RustboroCity_Flat1_2F_EventScript_2151CD - msgbox RustboroCity_Flat1_2F_Text_2154AD, MSGBOX_DEFAULT - goto RustboroCity_Flat1_2F_EventScript_215157 +RustboroCity_Flat1_2F_EventScript_WaldasDadNewPhrase:: @ 82151AD + msgbox RustboroCity_Flat1_2F_Text_BeenSayingXDoYouKnowBetterPhrase, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq RustboroCity_Flat1_2F_EventScript_DeclineGivePhrase + msgbox RustboroCity_Flat1_2F_Text_WonderfulLetsHearSuggestion, MSGBOX_DEFAULT + goto RustboroCity_Flat1_2F_EventScript_GivePhrase -RustboroCity_Flat1_2F_EventScript_2151CD:: @ 82151CD - msgbox RustboroCity_Flat1_2F_Text_2154E7, MSGBOX_DEFAULT +RustboroCity_Flat1_2F_EventScript_DeclineGivePhrase:: @ 82151CD + msgbox RustboroCity_Flat1_2F_Text_OhIsThatRight, MSGBOX_DEFAULT release end -RustboroCity_Flat1_2F_EventScript_2151D7:: @ 82151D7 - msgbox RustboroCity_Flat1_2F_Text_2156E3, MSGBOX_DEFAULT +RustboroCity_Flat1_2F_EventScript_CancelGivePhrase:: @ 82151D7 + msgbox RustboroCity_Flat1_2F_Text_OhYouDontKnowAny, MSGBOX_DEFAULT release end -RustboroCity_Flat1_2F_EventScript_2151E1:: @ 82151E1 - msgbox RustboroCity_Flat1_2F_Text_21561E, MSGBOX_DEFAULT - call RustboroCity_Flat1_2F_EventScript_215238 - msgbox RustboroCity_Flat1_2F_Text_215699, MSGBOX_DEFAULT +RustboroCity_Flat1_2F_EventScript_CancelGiveFirstPhrase:: @ 82151E1 + msgbox RustboroCity_Flat1_2F_Text_ThinkOfMyOwnPhrase, MSGBOX_DEFAULT + call RustboroCity_Flat1_2F_EventScript_WaldasDadFaceWalda + msgbox RustboroCity_Flat1_2F_Text_ShesNotSmilingAtAll2, MSGBOX_DEFAULT release end -RustboroCity_Flat1_2F_EventScript_2151F8:: @ 82151F8 - msgbox RustboroCity_Flat1_2F_Text_215535, MSGBOX_DEFAULT - call RustboroCity_Flat1_2F_EventScript_215238 - msgbox RustboroCity_Flat1_2F_Text_215565, MSGBOX_DEFAULT +RustboroCity_Flat1_2F_EventScript_WaldaLikesPhrase:: @ 82151F8 + msgbox RustboroCity_Flat1_2F_Text_LetsGiveItATry2, MSGBOX_DEFAULT + call RustboroCity_Flat1_2F_EventScript_WaldasDadFaceWalda + msgbox RustboroCity_Flat1_2F_Text_OhShesLaughing, MSGBOX_DEFAULT applymovement 6, Common_Movement_FacePlayer waitmovement 0 - msgbox RustboroCity_Flat1_2F_Text_215792, MSGBOX_DEFAULT + msgbox RustboroCity_Flat1_2F_Text_ThankYouIllGiveYouWallpaper, MSGBOX_DEFAULT release end -RustboroCity_Flat1_2F_EventScript_215221:: @ 8215221 - msgbox RustboroCity_Flat1_2F_Text_2155A4, MSGBOX_DEFAULT - call RustboroCity_Flat1_2F_EventScript_215238 - msgbox RustboroCity_Flat1_2F_Text_2155D4, MSGBOX_DEFAULT +RustboroCity_Flat1_2F_EventScript_WaldaDoesntLikePhrase:: @ 8215221 + msgbox RustboroCity_Flat1_2F_Text_LetsGiveItATry, MSGBOX_DEFAULT + call RustboroCity_Flat1_2F_EventScript_WaldasDadFaceWalda + msgbox RustboroCity_Flat1_2F_Text_ShesNotSmilingAtAll, MSGBOX_DEFAULT release end -RustboroCity_Flat1_2F_EventScript_215238:: @ 8215238 - turnobject 6, 4 +RustboroCity_Flat1_2F_EventScript_WaldasDadFaceWalda:: @ 8215238 + turnobject 6, DIR_EAST return -RustboroCity_Flat1_2F_EventScript_21523D:: @ 821523D - msgbox RustboroCity_Flat1_2F_Text_21524F, MSGBOX_NPC +RustboroCity_Flat1_2F_EventScript_WaldasMom:: @ 821523D + msgbox RustboroCity_Flat1_2F_Text_ComingUpWithMealsIsHard, MSGBOX_NPC end -RustboroCity_Flat1_2F_EventScript_215246:: @ 8215246 - msgbox RustboroCity_Flat1_2F_Text_215923, MSGBOX_SIGN +RustboroCity_Flat1_2F_EventScript_PokeDoll:: @ 8215246 + msgbox RustboroCity_Flat1_2F_Text_ItsAPokemonPlushDoll, MSGBOX_SIGN end -RustboroCity_Flat1_2F_Text_21524F: @ 821524F +RustboroCity_Flat1_2F_Text_ComingUpWithMealsIsHard: @ 821524F .string "Oh, it's so hard every day…\p" .string "What's hard?\n" .string "You need to ask?\p" @@ -93,7 +93,7 @@ RustboroCity_Flat1_2F_Text_21524F: @ 821524F .string "It really isn't easy coming up with\n" .string "meals every day.$" -RustboroCity_Flat1_2F_Text_2152FA: @ 82152FA +RustboroCity_Flat1_2F_Text_HelloDoYouKnowFunnyPhrase: @ 82152FA .string "Oh, hello!\n" .string "Welcome to the PEPPER household.\p" .string "I have a question for you.\n" @@ -107,62 +107,62 @@ RustboroCity_Flat1_2F_Text_2152FA: @ 82152FA .string "Do you know of a funny word or\n" .string "phrase you can tell me?$" -RustboroCity_Flat1_2F_Text_215448: @ 8215448 +RustboroCity_Flat1_2F_Text_BeenSayingXDoYouKnowBetterPhrase: @ 8215448 .string "I've been saying “{STR_VAR_1}”\n" .string "to amuse her lately.\p" .string "Do you know of a better word or\n" .string "a phrase that might work?$" -RustboroCity_Flat1_2F_Text_2154AD: @ 82154AD +RustboroCity_Flat1_2F_Text_WonderfulLetsHearSuggestion: @ 82154AD .string "Oh, that's wonderful.\n" .string "So, let's hear it, your suggestion.$" -RustboroCity_Flat1_2F_Text_2154E7: @ 82154E7 +RustboroCity_Flat1_2F_Text_OhIsThatRight: @ 82154E7 .string "Oh, is that right?\p" .string "Well, if you come up with a good\n" .string "suggestion, I'm all ears.$" -RustboroCity_Flat1_2F_Text_215535: @ 8215535 +RustboroCity_Flat1_2F_Text_LetsGiveItATry2: @ 8215535 .string "Ah, I see.\n" .string "Well, let's give it a try, shall we?$" -RustboroCity_Flat1_2F_Text_215565: @ 8215565 +RustboroCity_Flat1_2F_Text_OhShesLaughing: @ 8215565 .string "{STR_VAR_1}.\n" .string "{STR_VAR_1}.\p" .string "Oh, yes! She's laughing!\n" .string "Oh, I am as delighted as she!$" -RustboroCity_Flat1_2F_Text_2155A4: @ 82155A4 +RustboroCity_Flat1_2F_Text_LetsGiveItATry: @ 82155A4 .string "Ah, I see.\n" .string "Well, let's give it a try, shall we?$" -RustboroCity_Flat1_2F_Text_2155D4: @ 82155D4 +RustboroCity_Flat1_2F_Text_ShesNotSmilingAtAll: @ 82155D4 .string "{STR_VAR_1}.\n" .string "{STR_VAR_1}.\p" .string "Hmmm… She's not smiling at all.\n" .string "Maybe WALDA is one serious child…$" -RustboroCity_Flat1_2F_Text_21561E: @ 821561E +RustboroCity_Flat1_2F_Text_ThinkOfMyOwnPhrase: @ 821561E .string "Oh, so you don't know any good words.\n" .string "I'd better think for myself, then.\p" .string "Hmm…\n" .string "How about “{STR_VAR_1}”?\l" .string "Let's see if that will work.$" -RustboroCity_Flat1_2F_Text_215699: @ 8215699 +RustboroCity_Flat1_2F_Text_ShesNotSmilingAtAll2: @ 8215699 .string "{STR_VAR_1}.\n" .string "{STR_VAR_1}.\p" .string "Hmmm… She's not smiling at all.\n" .string "Maybe WALDA is one serious child…$" -RustboroCity_Flat1_2F_Text_2156E3: @ 82156E3 +RustboroCity_Flat1_2F_Text_OhYouDontKnowAny: @ 82156E3 .string "Oh, so you don't know any good words.\n" .string "I guess I'll try to amuse her with\l" .string "the saying I used before.\p" .string "Anyways, if you have a good suggestion,\n" .string "don't hesitate in telling me, okay?$" -RustboroCity_Flat1_2F_Text_215792: @ 8215792 +RustboroCity_Flat1_2F_Text_ThankYouIllGiveYouWallpaper: @ 8215792 .string "Thank you!\p" .string "Thanks to you, my darling WALDA\n" .string "laughed for me!\p" @@ -179,6 +179,6 @@ RustboroCity_Flat1_2F_Text_215792: @ 8215792 .string "That will give you access to the new\n" .string "wallpaper patterns.$" -RustboroCity_Flat1_2F_Text_215923: @ 8215923 +RustboroCity_Flat1_2F_Text_ItsAPokemonPlushDoll: @ 8215923 .string "It's a POKéMON plush DOLL!$" diff --git a/data/maps/RustboroCity_Flat2_1F/map.json b/data/maps/RustboroCity_Flat2_1F/map.json index 6d10fe9d82..6ca0fbd1b9 100644 --- a/data/maps/RustboroCity_Flat2_1F/map.json +++ b/data/maps/RustboroCity_Flat2_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Flat2_1F_EventScript_215F80", + "script": "RustboroCity_Flat2_1F_EventScript_Skitty", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Flat2_1F_EventScript_215F77", + "script": "RustboroCity_Flat2_1F_EventScript_OldWoman", "flag": "0" } ], diff --git a/data/maps/RustboroCity_Flat2_1F/scripts.inc b/data/maps/RustboroCity_Flat2_1F/scripts.inc index 8fc7e49720..1820609551 100644 --- a/data/maps/RustboroCity_Flat2_1F/scripts.inc +++ b/data/maps/RustboroCity_Flat2_1F/scripts.inc @@ -1,24 +1,24 @@ RustboroCity_Flat2_1F_MapScripts:: @ 8215F76 .byte 0 -RustboroCity_Flat2_1F_EventScript_215F77:: @ 8215F77 - msgbox RustboroCity_Flat2_1F_Text_215F93, MSGBOX_NPC +RustboroCity_Flat2_1F_EventScript_OldWoman:: @ 8215F77 + msgbox RustboroCity_Flat2_1F_Text_DevonWorkersLiveHere, MSGBOX_NPC end -RustboroCity_Flat2_1F_EventScript_215F80:: @ 8215F80 +RustboroCity_Flat2_1F_EventScript_Skitty:: @ 8215F80 lock faceplayer waitse playmoncry SPECIES_SKITTY, 0 - msgbox RustboroCity_Flat2_1F_Text_215FC6, MSGBOX_DEFAULT + msgbox RustboroCity_Flat2_1F_Text_Skitty, MSGBOX_DEFAULT waitmoncry release end -RustboroCity_Flat2_1F_Text_215F93: @ 8215F93 +RustboroCity_Flat2_1F_Text_DevonWorkersLiveHere: @ 8215F93 .string "DEVON CORPORATION's workers live in\n" .string "this building.$" -RustboroCity_Flat2_1F_Text_215FC6: @ 8215FC6 +RustboroCity_Flat2_1F_Text_Skitty: @ 8215FC6 .string "SKITTY: Gyaaaah!$" diff --git a/data/maps/RustboroCity_Flat2_2F/map.json b/data/maps/RustboroCity_Flat2_2F/map.json index a7d254e4da..9667ebf929 100644 --- a/data/maps/RustboroCity_Flat2_2F/map.json +++ b/data/maps/RustboroCity_Flat2_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Flat2_2F_EventScript_215FD8", + "script": "RustboroCity_Flat2_2F_EventScript_OldMan", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Flat2_2F_EventScript_215FE1", + "script": "RustboroCity_Flat2_2F_EventScript_NinjaBoy", "flag": "0" } ], diff --git a/data/maps/RustboroCity_Flat2_2F/scripts.inc b/data/maps/RustboroCity_Flat2_2F/scripts.inc index d4b940c9fa..1caeda683a 100644 --- a/data/maps/RustboroCity_Flat2_2F/scripts.inc +++ b/data/maps/RustboroCity_Flat2_2F/scripts.inc @@ -1,37 +1,37 @@ RustboroCity_Flat2_2F_MapScripts:: @ 8215FD7 .byte 0 -RustboroCity_Flat2_2F_EventScript_215FD8:: @ 8215FD8 - msgbox RustboroCity_Flat2_2F_Text_21601A, MSGBOX_NPC +RustboroCity_Flat2_2F_EventScript_OldMan:: @ 8215FD8 + msgbox RustboroCity_Flat2_2F_Text_DevonWasTinyInOldDays, MSGBOX_NPC end -RustboroCity_Flat2_2F_EventScript_215FE1:: @ 8215FE1 +RustboroCity_Flat2_2F_EventScript_NinjaBoy:: @ 8215FE1 lock faceplayer - goto_if_set FLAG_RECEIVED_PREMIER_BALL_RUSTBORO, RustboroCity_Flat2_2F_EventScript_216010 - msgbox RustboroCity_Flat2_2F_Text_21605A, MSGBOX_DEFAULT - giveitem_std ITEM_PREMIER_BALL + goto_if_set FLAG_RECEIVED_PREMIER_BALL_RUSTBORO, RustboroCity_Flat2_2F_EventScript_GavePremierBall + msgbox RustboroCity_Flat2_2F_Text_MyDaddyMadeThisYouCanHaveIt, MSGBOX_DEFAULT + giveitem ITEM_PREMIER_BALL compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_PREMIER_BALL_RUSTBORO release end -RustboroCity_Flat2_2F_EventScript_216010:: @ 8216010 - msgbox RustboroCity_Flat2_2F_Text_2160BD, MSGBOX_DEFAULT +RustboroCity_Flat2_2F_EventScript_GavePremierBall:: @ 8216010 + msgbox RustboroCity_Flat2_2F_Text_GoingToWorkAtDevonToo, MSGBOX_DEFAULT release end -RustboroCity_Flat2_2F_Text_21601A: @ 821601A +RustboroCity_Flat2_2F_Text_DevonWasTinyInOldDays: @ 821601A .string "Way back in the old days, DEVON was just\n" .string "a teeny, tiny company.$" -RustboroCity_Flat2_2F_Text_21605A: @ 821605A +RustboroCity_Flat2_2F_Text_MyDaddyMadeThisYouCanHaveIt: @ 821605A .string "My daddy's working at the CORPORATION.\p" .string "My daddy made this!\n" .string "But I can't use it, so you can have it.$" -RustboroCity_Flat2_2F_Text_2160BD: @ 82160BD +RustboroCity_Flat2_2F_Text_GoingToWorkAtDevonToo: @ 82160BD .string "My daddy's working at the CORPORATION.\p" .string "When I grow up, I'm going to work for\n" .string "DEVON, too.$" diff --git a/data/maps/RustboroCity_Flat2_3F/map.json b/data/maps/RustboroCity_Flat2_3F/map.json index 2366b53923..a9c1e40cd0 100644 --- a/data/maps/RustboroCity_Flat2_3F/map.json +++ b/data/maps/RustboroCity_Flat2_3F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Flat2_3F_EventScript_216117", + "script": "RustboroCity_Flat2_3F_EventScript_DevonEmployee", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Flat2_3F_EventScript_216120", + "script": "RustboroCity_Flat2_3F_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/RustboroCity_Flat2_3F/scripts.inc b/data/maps/RustboroCity_Flat2_3F/scripts.inc index dd5a86dae1..8af31531d2 100644 --- a/data/maps/RustboroCity_Flat2_3F/scripts.inc +++ b/data/maps/RustboroCity_Flat2_3F/scripts.inc @@ -1,19 +1,19 @@ RustboroCity_Flat2_3F_MapScripts:: @ 8216116 .byte 0 -RustboroCity_Flat2_3F_EventScript_216117:: @ 8216117 - msgbox RustboroCity_Flat2_3F_Text_216129, MSGBOX_NPC +RustboroCity_Flat2_3F_EventScript_DevonEmployee:: @ 8216117 + msgbox RustboroCity_Flat2_3F_Text_PresidentCollectsRareStones, MSGBOX_NPC end -RustboroCity_Flat2_3F_EventScript_216120:: @ 8216120 - msgbox RustboroCity_Flat2_3F_Text_216159, MSGBOX_NPC +RustboroCity_Flat2_3F_EventScript_Woman:: @ 8216120 + msgbox RustboroCity_Flat2_3F_Text_PresidentsSonAlsoCollectsRareStones, MSGBOX_NPC end -RustboroCity_Flat2_3F_Text_216129: @ 8216129 +RustboroCity_Flat2_3F_Text_PresidentCollectsRareStones: @ 8216129 .string "DEVON's PRESIDENT likes to collect\n" .string "rare stones.$" -RustboroCity_Flat2_3F_Text_216159: @ 8216159 +RustboroCity_Flat2_3F_Text_PresidentsSonAlsoCollectsRareStones: @ 8216159 .string "I think the PRESIDENT's son also\n" .string "collects rare stones.$" diff --git a/data/maps/RustboroCity_Gym/map.json b/data/maps/RustboroCity_Gym/map.json index 3da39df9d3..99ae9ebd85 100644 --- a/data/maps/RustboroCity_Gym/map.json +++ b/data/maps/RustboroCity_Gym/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Gym_EventScript_212F31", + "script": "RustboroCity_Gym_EventScript_Roxanne", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "RustboroCity_Gym_EventScript_212FE3", + "script": "RustboroCity_Gym_EventScript_Josh", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "RustboroCity_Gym_EventScript_212FFA", + "script": "RustboroCity_Gym_EventScript_Tommy", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Gym_EventScript_213028", + "script": "RustboroCity_Gym_EventScript_GymGuide", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "RustboroCity_Gym_EventScript_213011", + "script": "RustboroCity_Gym_EventScript_Marc", "flag": "0" } ], @@ -104,7 +104,7 @@ "y": 18, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "RustboroCity_Gym_EventScript_213047" + "script": "RustboroCity_Gym_EventScript_LeftGymStatue" }, { "type": "sign", @@ -112,7 +112,7 @@ "y": 18, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "RustboroCity_Gym_EventScript_213057" + "script": "RustboroCity_Gym_EventScript_RightGymStatue" } ] } \ No newline at end of file diff --git a/data/maps/RustboroCity_Gym/scripts.inc b/data/maps/RustboroCity_Gym/scripts.inc index 04027dfa7f..94e0326922 100644 --- a/data/maps/RustboroCity_Gym/scripts.inc +++ b/data/maps/RustboroCity_Gym/scripts.inc @@ -1,103 +1,103 @@ RustboroCity_Gym_MapScripts:: @ 8212F30 .byte 0 -RustboroCity_Gym_EventScript_212F31:: @ 8212F31 - trainerbattle_single TRAINER_ROXANNE_1, RustboroCity_Gym_Text_21362A, RustboroCity_Gym_Text_21370B, RustboroCity_Gym_EventScript_212F66, NO_MUSIC +RustboroCity_Gym_EventScript_Roxanne:: @ 8212F31 + trainerbattle_single TRAINER_ROXANNE_1, RustboroCity_Gym_Text_RoxanneIntro, RustboroCity_Gym_Text_RoxanneDefeat, RustboroCity_Gym_EventScript_RoxanneDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq RustboroCity_Gym_EventScript_212FC8 - goto_if_unset FLAG_RECEIVED_TM39, RustboroCity_Gym_EventScript_212FA4 - msgbox RustboroCity_Gym_Text_2139A7, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq RustboroCity_Gym_EventScript_RoxanneRematch + goto_if_unset FLAG_RECEIVED_TM39, RustboroCity_Gym_EventScript_GiveRockTomb + msgbox RustboroCity_Gym_Text_RoxannePostBattle, MSGBOX_DEFAULT release end -RustboroCity_Gym_EventScript_212F66:: @ 8212F66 - message RustboroCity_Gym_Text_2137EC +RustboroCity_Gym_EventScript_RoxanneDefeated:: @ 8212F66 + message RustboroCity_Gym_Text_ReceivedStoneBadge waitmessage call Common_EventScript_PlayGymBadgeFanfare - msgbox RustboroCity_Gym_Text_213816, MSGBOX_DEFAULT + msgbox RustboroCity_Gym_Text_StoneBadgeInfoTakeThis, MSGBOX_DEFAULT setflag FLAG_DEFEATED_RUSTBORO_GYM setflag FLAG_BADGE01_GET setvar VAR_RUSTBORO_CITY_STATE, 1 addvar VAR_PETALBURG_GYM_STATE, 1 setvar VAR_0x8008, 1 - call RustboroCity_Gym_EventScript_271F43 + call Common_EventScript_SetGymTrainers compare VAR_PETALBURG_GYM_STATE, 6 - call_if_eq RustboroCity_Gym_EventScript_271E84 - goto RustboroCity_Gym_EventScript_212FA4 + call_if_eq Common_EventScript_ReadyPetalburgGymForBattle + goto RustboroCity_Gym_EventScript_GiveRockTomb end -RustboroCity_Gym_EventScript_212FA4:: @ 8212FA4 - giveitem_std ITEM_TM39 +RustboroCity_Gym_EventScript_GiveRockTomb:: @ 8212FA4 + giveitem ITEM_TM39 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_TM39 - msgbox RustboroCity_Gym_Text_2138B1, MSGBOX_DEFAULT + msgbox RustboroCity_Gym_Text_ExplainRockTomb, MSGBOX_DEFAULT release end -RustboroCity_Gym_EventScript_212FC8:: @ 8212FC8 - trainerbattle_rematch_double TRAINER_ROXANNE_1, RustboroCity_Gym_Text_213C2F, RustboroCity_Gym_Text_213CF9, RustboroCity_Gym_Text_213D93 - msgbox RustboroCity_Gym_Text_213D12, MSGBOX_AUTOCLOSE +RustboroCity_Gym_EventScript_RoxanneRematch:: @ 8212FC8 + trainerbattle_rematch_double TRAINER_ROXANNE_1, RustboroCity_Gym_Text_RoxannePreRematch, RustboroCity_Gym_Text_RoxanneRematchDefeat, RustboroCity_Gym_Text_RoxanneRematchNeedTwoMons + msgbox RustboroCity_Gym_Text_RoxannePostRematch, MSGBOX_AUTOCLOSE end -RustboroCity_Gym_EventScript_212FE3:: @ 8212FE3 - trainerbattle_single TRAINER_JOSH, RustboroCity_Gym_Text_2133E9, RustboroCity_Gym_Text_21342D - msgbox RustboroCity_Gym_Text_213447, MSGBOX_AUTOCLOSE +RustboroCity_Gym_EventScript_Josh:: @ 8212FE3 + trainerbattle_single TRAINER_JOSH, RustboroCity_Gym_Text_JoshIntro, RustboroCity_Gym_Text_JoshDefeat + msgbox RustboroCity_Gym_Text_JoshPostBattle, MSGBOX_AUTOCLOSE end -RustboroCity_Gym_EventScript_212FFA:: @ 8212FFA - trainerbattle_single TRAINER_TOMMY, RustboroCity_Gym_Text_213486, RustboroCity_Gym_Text_2134C6 - msgbox RustboroCity_Gym_Text_2134E6, MSGBOX_AUTOCLOSE +RustboroCity_Gym_EventScript_Tommy:: @ 8212FFA + trainerbattle_single TRAINER_TOMMY, RustboroCity_Gym_Text_TommyIntro, RustboroCity_Gym_Text_TommyDefeat + msgbox RustboroCity_Gym_Text_TommyPostBattle, MSGBOX_AUTOCLOSE end -RustboroCity_Gym_EventScript_213011:: @ 8213011 - trainerbattle_single TRAINER_MARC, RustboroCity_Gym_Text_213533, RustboroCity_Gym_Text_213589 - msgbox RustboroCity_Gym_Text_2135C0, MSGBOX_AUTOCLOSE +RustboroCity_Gym_EventScript_Marc:: @ 8213011 + trainerbattle_single TRAINER_MARC, RustboroCity_Gym_Text_MarcIntro, RustboroCity_Gym_Text_MarcDefeat + msgbox RustboroCity_Gym_Text_MarcPostBattle, MSGBOX_AUTOCLOSE end -RustboroCity_Gym_EventScript_213028:: @ 8213028 +RustboroCity_Gym_EventScript_GymGuide:: @ 8213028 lock faceplayer - goto_if_set FLAG_DEFEATED_RUSTBORO_GYM, RustboroCity_Gym_EventScript_21303D - msgbox RustboroCity_Gym_Text_21309D, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_RUSTBORO_GYM, RustboroCity_Gym_EventScript_GymGuidePostVictory + msgbox RustboroCity_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT release end -RustboroCity_Gym_EventScript_21303D:: @ 821303D - msgbox RustboroCity_Gym_Text_2132E2, MSGBOX_DEFAULT +RustboroCity_Gym_EventScript_GymGuidePostVictory:: @ 821303D + msgbox RustboroCity_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT release end -RustboroCity_Gym_EventScript_213047:: @ 8213047 +RustboroCity_Gym_EventScript_LeftGymStatue:: @ 8213047 lockall - goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_213067 - goto RustboroCity_Gym_EventScript_213071 + goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_GymStatueCertified + goto RustboroCity_Gym_EventScript_GymStatue end -RustboroCity_Gym_EventScript_213057:: @ 8213057 +RustboroCity_Gym_EventScript_RightGymStatue:: @ 8213057 lockall - goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_213067 - goto RustboroCity_Gym_EventScript_213071 + goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_GymStatueCertified + goto RustboroCity_Gym_EventScript_GymStatue end -RustboroCity_Gym_EventScript_213067:: @ 8213067 - msgbox RustboroCity_Gym_Text_213A3B, MSGBOX_DEFAULT +RustboroCity_Gym_EventScript_GymStatueCertified:: @ 8213067 + msgbox RustboroCity_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT releaseall end -RustboroCity_Gym_EventScript_213071:: @ 8213071 - msgbox RustboroCity_Gym_Text_213A21, MSGBOX_DEFAULT +RustboroCity_Gym_EventScript_GymStatue:: @ 8213071 + msgbox RustboroCity_Gym_Text_GymStatue, MSGBOX_DEFAULT releaseall end -RustboroCity_Gym_EventScript_21307B:: @ 821307B +RustboroCity_Gym_EventScript_RegisterRoxanne:: @ 821307B lockall - pokenavcall RustboroCity_Gym_Text_213A76 + pokenavcall RustboroCity_Gym_Text_RoxanneRegisterCall waitmessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox RustboroCity_Gym_Text_213C01, MSGBOX_DEFAULT + msgbox RustboroCity_Gym_Text_RegisteredRoxanne, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -106,7 +106,7 @@ RustboroCity_Gym_EventScript_21307B:: @ 821307B releaseall end -RustboroCity_Gym_Text_21309D: @ 821309D +RustboroCity_Gym_Text_GymGuideAdvice: @ 821309D .string "Yo, how's it going?\p" .string "Listen, my friend!\n" .string "Would you like to become the CHAMPION?\p" @@ -128,7 +128,7 @@ RustboroCity_Gym_Text_21309D: @ 821309D .string "the GYM LEADER.\p" .string "Well, go for it!$" -RustboroCity_Gym_Text_2132E2: @ 82132E2 +RustboroCity_Gym_Text_GymGuidePostVictory: @ 82132E2 .string "Whoa! What a breathtaking victory!\n" .string "My cheering must've worked!\p" .string "Great!\n" @@ -140,45 +140,45 @@ RustboroCity_Gym_Text_2132E2: @ 82132E2 .string "the stairs to the CHAMPIONSHIP!\p" .string "That's got to feel awesome!$" -RustboroCity_Gym_Text_2133E9: @ 82133E9 +RustboroCity_Gym_Text_JoshIntro: @ 82133E9 .string "Don't take us GYM TRAINERS lightly!\n" .string "I'll show you why we're better!$" -RustboroCity_Gym_Text_21342D: @ 821342D +RustboroCity_Gym_Text_JoshDefeat: @ 821342D .string "You were too good for me…$" -RustboroCity_Gym_Text_213447: @ 8213447 +RustboroCity_Gym_Text_JoshPostBattle: @ 8213447 .string "You haven't seen anything of the ROCK\n" .string "type's terrifying power!$" -RustboroCity_Gym_Text_213486: @ 8213486 +RustboroCity_Gym_Text_TommyIntro: @ 8213486 .string "If you can't beat me, you won't stand\n" .string "a chance against ROXANNE!$" -RustboroCity_Gym_Text_2134C6: @ 82134C6 +RustboroCity_Gym_Text_TommyDefeat: @ 82134C6 .string "Wow! You've got some potential!$" -RustboroCity_Gym_Text_2134E6: @ 82134E6 +RustboroCity_Gym_Text_TommyPostBattle: @ 82134E6 .string "ROXANNE is stronger than me by\n" .string "several times.\p" .string "You'd better be on your guard!$" -RustboroCity_Gym_Text_213533: @ 8213533 +RustboroCity_Gym_Text_MarcIntro: @ 8213533 .string "We might be in the middle of town,\n" .string "but so what?\p" .string "My ROCK POKéMON need room to\n" .string "rampage!$" -RustboroCity_Gym_Text_213589: @ 8213589 +RustboroCity_Gym_Text_MarcDefeat: @ 8213589 .string "Oh, man oh man!\n" .string "Our challenger is one feisty customer!$" -RustboroCity_Gym_Text_2135C0: @ 82135C0 +RustboroCity_Gym_Text_MarcPostBattle: @ 82135C0 .string "I have to hand it to our LEADER.\p" .string "It took smarts and sense for her to\n" .string "pick the ROCK type at her young age.$" -RustboroCity_Gym_Text_21362A: @ 821362A +RustboroCity_Gym_Text_RoxanneIntro: @ 821362A .string "Hello, I am ROXANNE, the RUSTBORO\n" .string "POKéMON GYM LEADER.\p" .string "I became a GYM LEADER so that I might\n" @@ -187,7 +187,7 @@ RustboroCity_Gym_Text_21362A: @ 821362A .string "Would you kindly demonstrate how you\n" .string "battle, and with which POKéMON?$" -RustboroCity_Gym_Text_21370B: @ 821370B +RustboroCity_Gym_Text_RoxanneDefeat: @ 821370B .string "So…\n" .string "I lost…\p" .string "It seems that I still have much more\n" @@ -199,18 +199,18 @@ RustboroCity_Gym_Text_21370B: @ 821370B .string "Please accept the official POKéMON\n" .string "LEAGUE STONE BADGE.$" -RustboroCity_Gym_Text_2137EC: @ 82137EC +RustboroCity_Gym_Text_ReceivedStoneBadge: @ 82137EC .string "{PLAYER} received the STONE BADGE\n" .string "from ROXANNE.$" -RustboroCity_Gym_Text_213816: @ 8213816 +RustboroCity_Gym_Text_StoneBadgeInfoTakeThis: @ 8213816 .string "The STONE BADGE heightens the ATTACK\n" .string "power of your POKéMON.\p" .string "It also enables them to use the HM move\n" .string "CUT outside of battle.\p" .string "Please take this with you, too.$" -RustboroCity_Gym_Text_2138B1: @ 82138B1 +RustboroCity_Gym_Text_ExplainRockTomb: @ 82138B1 .string "That TECHNICAL MACHINE, TM39,\n" .string "contains ROCK TOMB.\p" .string "It not only inflicts damage by dropping\n" @@ -220,22 +220,21 @@ RustboroCity_Gym_Text_2138B1: @ 82138B1 .string "Remember, a TM can be used only once,\n" .string "so think before you use it.$" -RustboroCity_Gym_Text_2139A7: @ 82139A7 +RustboroCity_Gym_Text_RoxannePostBattle: @ 82139A7 .string "Since you are so strong, you should\n" .string "challenge other GYM LEADERS.\p" .string "By battling many TRAINERS, you should\n" .string "learn many things.$" -RustboroCity_Gym_Text_213A21: @ 8213A21 +RustboroCity_Gym_Text_GymStatue: @ 8213A21 .string "RUSTBORO CITY POKéMON GYM$" -RustboroCity_Gym_Text_213A3B: @ 8213A3B +RustboroCity_Gym_Text_GymStatueCertified: @ 8213A3B .string "RUSTBORO CITY POKéMON GYM\p" .string "ROXANNE'S CERTIFIED TRAINERS:\n" .string "{PLAYER}$" - -RustboroCity_Gym_Text_213A76: @ 8213A76 +RustboroCity_Gym_Text_RoxanneRegisterCall: @ 8213A76 .string "… … … … … …\n" .string "… … … … … Beep!\p" .string "ROXANNE: Oh, hello, {PLAYER}?\n" @@ -252,11 +251,11 @@ RustboroCity_Gym_Text_213A76: @ 8213A76 .string "… … … … … …\n" .string "… … … … … Click!$" -RustboroCity_Gym_Text_213C01: @ 8213C01 +RustboroCity_Gym_Text_RegisteredRoxanne: @ 8213C01 .string "Registered GYM LEADER ROXANNE\n" .string "in the POKéNAV.$" -RustboroCity_Gym_Text_213C2F: @ 8213C2F +RustboroCity_Gym_Text_RoxannePreRematch: @ 8213C2F .string "ROXANNE: I'm so glad to see you again.\n" .string "I'm ROXANNE, the GYM LEADER here.\p" .string "I'm sure we've both experienced many\n" @@ -264,17 +263,17 @@ RustboroCity_Gym_Text_213C2F: @ 8213C2F .string "I would like to see how much better\n" .string "we've become. Let us battle!$" -RustboroCity_Gym_Text_213CF9: @ 8213CF9 +RustboroCity_Gym_Text_RoxanneRematchDefeat: @ 8213CF9 .string "Grr…\n" .string "Again, I have lost…$" -RustboroCity_Gym_Text_213D12: @ 8213D12 +RustboroCity_Gym_Text_RoxannePostRematch: @ 8213D12 .string "ROXANNE: I still have much to learn\n" .string "when it comes to battling POKéMON.\p" .string "That awareness makes me love battling\n" .string "all that much more!$" -RustboroCity_Gym_Text_213D93: @ 8213D93 +RustboroCity_Gym_Text_RoxanneRematchNeedTwoMons: @ 8213D93 .string "ROXANNE: I'm so glad to see you again.\n" .string "I'm ROXANNE, the GYM LEADER here.\p" .string "I'm sure we've both experienced many\n" diff --git a/data/maps/RustboroCity_House1/map.json b/data/maps/RustboroCity_House1/map.json index bc889d66bf..5d30008461 100644 --- a/data/maps/RustboroCity_House1/map.json +++ b/data/maps/RustboroCity_House1/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_House1_EventScript_21593F", + "script": "RustboroCity_House1_EventScript_Trader", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_House1_EventScript_2159DF", + "script": "RustboroCity_House1_EventScript_Hiker", "flag": "0" } ], diff --git a/data/maps/RustboroCity_House1/scripts.inc b/data/maps/RustboroCity_House1/scripts.inc index eb5655b1a3..cf1cec6105 100644 --- a/data/maps/RustboroCity_House1/scripts.inc +++ b/data/maps/RustboroCity_House1/scripts.inc @@ -1,58 +1,58 @@ RustboroCity_House1_MapScripts:: @ 821593E .byte 0 -RustboroCity_House1_EventScript_21593F:: @ 821593F +RustboroCity_House1_EventScript_Trader:: @ 821593F lock faceplayer - goto_if_set FLAG_RUSTBORO_NPC_TRADE_COMPLETED, RustboroCity_House1_EventScript_2159D5 - setvar VAR_0x8008, 0 + goto_if_set FLAG_RUSTBORO_NPC_TRADE_COMPLETED, RustboroCity_House1_EventScript_TradeCompleted + setvar VAR_0x8008, INGAME_TRADE_SEEDOT copyvar VAR_0x8004, VAR_0x8008 specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT - msgbox RustboroCity_House1_Text_2159E8, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq RustboroCity_House1_EventScript_2159BD - special sub_81B94B0 + msgbox RustboroCity_House1_Text_IllTradeIfYouWant, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq RustboroCity_House1_EventScript_DeclineTrade + special ChoosePartyMon waitstate copyvar VAR_0x800A, VAR_0x8004 compare VAR_0x8004, 255 - goto_if_eq RustboroCity_House1_EventScript_2159BD + goto_if_eq RustboroCity_House1_EventScript_DeclineTrade copyvar VAR_0x8005, VAR_0x800A specialvar VAR_RESULT, GetTradeSpecies copyvar VAR_0x800B, VAR_RESULT compare VAR_RESULT, VAR_0x8009 - goto_if_ne RustboroCity_House1_EventScript_2159C7 + goto_if_ne RustboroCity_House1_EventScript_NotRequestedMon copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A special CreateInGameTradePokemon special DoInGameTradeScene waitstate - msgbox RustboroCity_House1_Text_215A77, MSGBOX_DEFAULT + msgbox RustboroCity_House1_Text_PleaseBeGoodToMyPokemon, MSGBOX_DEFAULT setflag FLAG_RUSTBORO_NPC_TRADE_COMPLETED release end -RustboroCity_House1_EventScript_2159BD:: @ 82159BD - msgbox RustboroCity_House1_Text_215ACE, MSGBOX_DEFAULT +RustboroCity_House1_EventScript_DeclineTrade:: @ 82159BD + msgbox RustboroCity_House1_Text_YouDontWantToThatsOkay, MSGBOX_DEFAULT release end -RustboroCity_House1_EventScript_2159C7:: @ 82159C7 +RustboroCity_House1_EventScript_NotRequestedMon:: @ 82159C7 bufferspeciesname 0, VAR_0x8009 - msgbox RustboroCity_House1_Text_215A9D, MSGBOX_DEFAULT + msgbox RustboroCity_House1_Text_DoesntLookLikeMonToMe, MSGBOX_DEFAULT release end -RustboroCity_House1_EventScript_2159D5:: @ 82159D5 - msgbox RustboroCity_House1_Text_215B17, MSGBOX_DEFAULT +RustboroCity_House1_EventScript_TradeCompleted:: @ 82159D5 + msgbox RustboroCity_House1_Text_AnyPokemonCanBeCute, MSGBOX_DEFAULT release end -RustboroCity_House1_EventScript_2159DF:: @ 82159DF - msgbox RustboroCity_House1_Text_215B57, MSGBOX_NPC +RustboroCity_House1_EventScript_Hiker:: @ 82159DF + msgbox RustboroCity_House1_Text_AllSortsOfPlaces, MSGBOX_NPC end -RustboroCity_House1_Text_2159E8: @ 82159E8 +RustboroCity_House1_Text_IllTradeIfYouWant: @ 82159E8 .string "Huh? My POKéMON is cute?\n" .string "Sure, I knew that.\p" .string "But if you really want, I'm willing\n" @@ -60,23 +60,23 @@ RustboroCity_House1_Text_2159E8: @ 82159E8 .string "I'll trade you my {STR_VAR_2} for\n" .string "a {STR_VAR_1} if you want.$" -RustboroCity_House1_Text_215A77: @ 8215A77 +RustboroCity_House1_Text_PleaseBeGoodToMyPokemon: @ 8215A77 .string "Eheheh…\n" .string "Please be good to my POKéMON.$" -RustboroCity_House1_Text_215A9D: @ 8215A9D +RustboroCity_House1_Text_DoesntLookLikeMonToMe: @ 8215A9D .string "Huh? That doesn't look anything like\n" .string "a {STR_VAR_1} to me.$" -RustboroCity_House1_Text_215ACE: @ 8215ACE +RustboroCity_House1_Text_YouDontWantToThatsOkay: @ 8215ACE .string "Oh, if you don't want to, that's okay.\n" .string "But my POKéMON is cute, you know…$" -RustboroCity_House1_Text_215B17: @ 8215B17 +RustboroCity_House1_Text_AnyPokemonCanBeCute: @ 8215B17 .string "Any POKéMON can be cute if you raise\n" .string "it with care and kindness.$" -RustboroCity_House1_Text_215B57: @ 8215B57 +RustboroCity_House1_Text_AllSortsOfPlaces: @ 8215B57 .string "In all sorts of places, there are all\n" .string "sorts of POKéMON and people.\p" .string "I find that fascinating, so I go to all\n" diff --git a/data/maps/RustboroCity_House2/map.json b/data/maps/RustboroCity_House2/map.json index b10b2c074f..6dcd38ab4c 100644 --- a/data/maps/RustboroCity_House2/map.json +++ b/data/maps/RustboroCity_House2/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_House2_EventScript_215EB4", + "script": "RustboroCity_House2_EventScript_PokefanF", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_House2_EventScript_215EBD", + "script": "RustboroCity_House2_EventScript_LittleGirl", "flag": "0" } ], diff --git a/data/maps/RustboroCity_House2/scripts.inc b/data/maps/RustboroCity_House2/scripts.inc index 632eb68777..c8e80ee9f3 100644 --- a/data/maps/RustboroCity_House2/scripts.inc +++ b/data/maps/RustboroCity_House2/scripts.inc @@ -1,20 +1,20 @@ RustboroCity_House2_MapScripts:: @ 8215EB3 .byte 0 -RustboroCity_House2_EventScript_215EB4:: @ 8215EB4 - msgbox RustboroCity_House2_Text_215EC6, MSGBOX_NPC +RustboroCity_House2_EventScript_PokefanF:: @ 8215EB4 + msgbox RustboroCity_House2_Text_TrainerSchoolExcellent, MSGBOX_NPC end -RustboroCity_House2_EventScript_215EBD:: @ 8215EBD - msgbox RustboroCity_House2_Text_215F21, MSGBOX_NPC +RustboroCity_House2_EventScript_LittleGirl:: @ 8215EBD + msgbox RustboroCity_House2_Text_RoxanneKnowsALot, MSGBOX_NPC end -RustboroCity_House2_Text_215EC6: @ 8215EC6 +RustboroCity_House2_Text_TrainerSchoolExcellent: @ 8215EC6 .string "The TRAINER'S SCHOOL is excellent.\p" .string "If you study there, you could even\n" .string "become a GYM LEADER.$" -RustboroCity_House2_Text_215F21: @ 8215F21 +RustboroCity_House2_Text_RoxanneKnowsALot: @ 8215F21 .string "ROXANNE, the GYM LEADER, really knows\n" .string "a lot about POKéMON.\p" .string "She's really strong, too!$" diff --git a/data/maps/RustboroCity_House3/map.json b/data/maps/RustboroCity_House3/map.json index 50b5f1295f..66fa988339 100644 --- a/data/maps/RustboroCity_House3/map.json +++ b/data/maps/RustboroCity_House3/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_House3_EventScript_216191", + "script": "RustboroCity_House3_EventScript_OldMan", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_House3_EventScript_21619A", + "script": "RustboroCity_House3_EventScript_OldWoman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_House3_EventScript_2161A3", + "script": "RustboroCity_House3_EventScript_Pekachu", "flag": "0" } ], diff --git a/data/maps/RustboroCity_House3/scripts.inc b/data/maps/RustboroCity_House3/scripts.inc index 04992fbbab..d55166e674 100644 --- a/data/maps/RustboroCity_House3/scripts.inc +++ b/data/maps/RustboroCity_House3/scripts.inc @@ -1,36 +1,37 @@ RustboroCity_House3_MapScripts:: @ 8216190 .byte 0 -RustboroCity_House3_EventScript_216191:: @ 8216191 - msgbox RustboroCity_House3_Text_2161B6, MSGBOX_NPC +RustboroCity_House3_EventScript_OldMan:: @ 8216191 + msgbox RustboroCity_House3_Text_IGivePerfectlySuitedNicknames, MSGBOX_NPC end -RustboroCity_House3_EventScript_21619A:: @ 821619A - msgbox RustboroCity_House3_Text_21622A, MSGBOX_NPC +RustboroCity_House3_EventScript_OldWoman:: @ 821619A + msgbox RustboroCity_House3_Text_NamingPikachuPekachu, MSGBOX_NPC end -RustboroCity_House3_EventScript_2161A3:: @ 82161A3 +@ Misspelling on purpose, see nickname +RustboroCity_House3_EventScript_Pekachu:: @ 82161A3 lock faceplayer waitse playmoncry SPECIES_PIKACHU, 0 - msgbox RustboroCity_House3_Text_2162AB, MSGBOX_DEFAULT + msgbox RustboroCity_House3_Text_Pekachu, MSGBOX_DEFAULT waitmoncry release end -RustboroCity_House3_Text_2161B6: @ 82161B6 +RustboroCity_House3_Text_IGivePerfectlySuitedNicknames: @ 82161B6 .string "For my own POKéMON, I give them\n" .string "perfectly suited nicknames!\p" .string "It's my expression of, uh…\n" .string "originality, yes, that's it!$" -RustboroCity_House3_Text_21622A: @ 821622A +RustboroCity_House3_Text_NamingPikachuPekachu: @ 821622A .string "But giving the name PEKACHU to\n" .string "a PIKACHU? It seems pointless.\p" .string "I suppose it is good to use a name\n" .string "that's easy to understand, but…$" -RustboroCity_House3_Text_2162AB: @ 82162AB +RustboroCity_House3_Text_Pekachu: @ 82162AB .string "PEKACHU: Peka!$" diff --git a/data/maps/RustboroCity_Mart/map.json b/data/maps/RustboroCity_Mart/map.json index a2a5a846f3..d56aa3095b 100644 --- a/data/maps/RustboroCity_Mart/map.json +++ b/data/maps/RustboroCity_Mart/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Mart_EventScript_214F06", + "script": "RustboroCity_Mart_EventScript_Clerk", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Mart_EventScript_214F7D", + "script": "RustboroCity_Mart_EventScript_Boy", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Mart_EventScript_214F74", + "script": "RustboroCity_Mart_EventScript_PokefanF", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_Mart_EventScript_214F86", + "script": "RustboroCity_Mart_EventScript_BugCatcher", "flag": "0" } ], diff --git a/data/maps/RustboroCity_Mart/scripts.inc b/data/maps/RustboroCity_Mart/scripts.inc index a5693847c5..063c5b64f5 100644 --- a/data/maps/RustboroCity_Mart/scripts.inc +++ b/data/maps/RustboroCity_Mart/scripts.inc @@ -1,22 +1,22 @@ RustboroCity_Mart_MapScripts:: @ 8214F05 .byte 0 -RustboroCity_Mart_EventScript_214F06:: @ 8214F06 +RustboroCity_Mart_EventScript_Clerk:: @ 8214F06 lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - goto_if_unset FLAG_MET_DEVON_EMPLOYEE, RustboroCity_Mart_EventScript_214F21 - goto_if_set FLAG_MET_DEVON_EMPLOYEE, RustboroCity_Mart_EventScript_214F48 + goto_if_unset FLAG_MET_DEVON_EMPLOYEE, RustboroCity_Mart_EventScript_PokemartBasic + goto_if_set FLAG_MET_DEVON_EMPLOYEE, RustboroCity_Mart_EventScript_PokemartExpanded end -RustboroCity_Mart_EventScript_214F21:: @ 8214F21 - pokemart RustboroCity_Mart_Pokemart_214F30 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT +RustboroCity_Mart_EventScript_PokemartBasic:: @ 8214F21 + pokemart RustboroCity_Mart_Pokemart_Basic + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end -RustboroCity_Mart_Pokemart_214F30: @ 8214F30 +RustboroCity_Mart_Pokemart_Basic: @ 8214F30 .2byte ITEM_POKE_BALL .2byte ITEM_POTION .2byte ITEM_SUPER_POTION @@ -31,14 +31,14 @@ RustboroCity_Mart_Pokemart_214F30: @ 8214F30 release end -RustboroCity_Mart_EventScript_214F48:: @ 8214F48 - pokemart RustboroCity_Mart_Pokemart_214F58 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT +RustboroCity_Mart_EventScript_PokemartExpanded:: @ 8214F48 + pokemart RustboroCity_Mart_Pokemart_Expanded + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -RustboroCity_Mart_Pokemart_214F58: @ 8214F58 +RustboroCity_Mart_Pokemart_Expanded: @ 8214F58 .2byte ITEM_POKE_BALL .2byte ITEM_TIMER_BALL .2byte ITEM_REPEAT_BALL @@ -55,31 +55,31 @@ RustboroCity_Mart_Pokemart_214F58: @ 8214F58 release end -RustboroCity_Mart_EventScript_214F74:: @ 8214F74 - msgbox RustboroCity_Mart_Text_214F8F, MSGBOX_NPC +RustboroCity_Mart_EventScript_PokefanF:: @ 8214F74 + msgbox RustboroCity_Mart_Text_BuyingHealsInCaseOfShroomish, MSGBOX_NPC end -RustboroCity_Mart_EventScript_214F7D:: @ 8214F7D - msgbox RustboroCity_Mart_Text_214FF1, MSGBOX_NPC +RustboroCity_Mart_EventScript_Boy:: @ 8214F7D + msgbox RustboroCity_Mart_Text_ShouldBuySuperPotionsInstead, MSGBOX_NPC end -RustboroCity_Mart_EventScript_214F86:: @ 8214F86 - msgbox RustboroCity_Mart_Text_21505C, MSGBOX_NPC +RustboroCity_Mart_EventScript_BugCatcher:: @ 8214F86 + msgbox RustboroCity_Mart_Text_GettingEscapeRopeJustInCase, MSGBOX_NPC end -RustboroCity_Mart_Text_214F8F: @ 8214F8F +RustboroCity_Mart_Text_BuyingHealsInCaseOfShroomish: @ 8214F8F .string "I'm buying some PARLYZ HEALS and\n" .string "ANTIDOTES.\p" .string "Just in case I run into SHROOMISH\n" .string "in PETALBURG WOODS.$" -RustboroCity_Mart_Text_214FF1: @ 8214FF1 +RustboroCity_Mart_Text_ShouldBuySuperPotionsInstead: @ 8214FF1 .string "My POKéMON evolved.\n" .string "It has a lot of HP now.\p" .string "I should buy SUPER POTIONS for it\n" .string "instead of ordinary POTIONS.$" -RustboroCity_Mart_Text_21505C: @ 821505C +RustboroCity_Mart_Text_GettingEscapeRopeJustInCase: @ 821505C .string "I'm getting an ESCAPE ROPE just in\n" .string "case I get lost in a cave.\p" .string "I just need to use it to get back to\n" diff --git a/data/maps/RustboroCity_PokemonCenter_1F/map.json b/data/maps/RustboroCity_PokemonCenter_1F/map.json index b91dd25ac4..db28ddcf3d 100644 --- a/data/maps/RustboroCity_PokemonCenter_1F/map.json +++ b/data/maps/RustboroCity_PokemonCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonCenter_1F_EventScript_214D76", + "script": "RustboroCity_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonCenter_1F_EventScript_214D84", + "script": "RustboroCity_PokemonCenter_1F_EventScript_Man", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonCenter_1F_EventScript_214D8D", + "script": "RustboroCity_PokemonCenter_1F_EventScript_Boy", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonCenter_1F_EventScript_214D96", + "script": "RustboroCity_PokemonCenter_1F_EventScript_Girl", "flag": "0" } ], diff --git a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc index 4d50ca89ce..ca10592b0a 100644 --- a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc @@ -1,46 +1,47 @@ RustboroCity_PokemonCenter_1F_MapScripts:: @ 8214D62 map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, RustboroCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 RustboroCity_PokemonCenter_1F_OnTransition: @ 8214D6D setrespawn HEAL_LOCATION_RUSTBORO_CITY - call RustboroCity_PokemonCenter_1F_EventScript_2718DE + call Common_EventScript_UpdateBrineyLocation end -RustboroCity_PokemonCenter_1F_EventScript_214D76:: @ 8214D76 +@ VAR_0x800B is the Nurse's object event id +RustboroCity_PokemonCenter_1F_EventScript_Nurse:: @ 8214D76 setvar VAR_0x800B, 1 - call RustboroCity_PokemonCenter_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -RustboroCity_PokemonCenter_1F_EventScript_214D84:: @ 8214D84 - msgbox RustboroCity_PokemonCenter_1F_Text_214D9F, MSGBOX_NPC +RustboroCity_PokemonCenter_1F_EventScript_Man:: @ 8214D84 + msgbox RustboroCity_PokemonCenter_1F_Text_PokemonHavePersonalities, MSGBOX_NPC end -RustboroCity_PokemonCenter_1F_EventScript_214D8D:: @ 8214D8D - msgbox RustboroCity_PokemonCenter_1F_Text_214E13, MSGBOX_NPC +RustboroCity_PokemonCenter_1F_EventScript_Boy:: @ 8214D8D + msgbox RustboroCity_PokemonCenter_1F_Text_MaleAndFemalePokemon, MSGBOX_NPC end -RustboroCity_PokemonCenter_1F_EventScript_214D96:: @ 8214D96 - msgbox RustboroCity_PokemonCenter_1F_Text_214E81, MSGBOX_NPC +RustboroCity_PokemonCenter_1F_EventScript_Girl:: @ 8214D96 + msgbox RustboroCity_PokemonCenter_1F_Text_HMCutNextDoor, MSGBOX_NPC end -RustboroCity_PokemonCenter_1F_Text_214D9F: @ 8214D9F +RustboroCity_PokemonCenter_1F_Text_PokemonHavePersonalities: @ 8214D9F .string "My POKéMON has a NAIVE nature, and my\n" .string "friend's has a JOLLY nature.\p" .string "It's fascinating how POKéMON have\n" .string "personalities!$" -RustboroCity_PokemonCenter_1F_Text_214E13: @ 8214E13 +RustboroCity_PokemonCenter_1F_Text_MaleAndFemalePokemon: @ 8214E13 .string "Just like people, there are male and\n" .string "female POKéMON.\p" .string "But no one seems to have any idea how\n" .string "they're different.$" -RustboroCity_PokemonCenter_1F_Text_214E81: @ 8214E81 +RustboroCity_PokemonCenter_1F_Text_HMCutNextDoor: @ 8214E81 .string "The man next door gave me an HM!\p" .string "I used it to teach my POKéMON how to\n" .string "CUT down skinny trees.$" diff --git a/data/maps/RustboroCity_PokemonCenter_2F/map.json b/data/maps/RustboroCity_PokemonCenter_2F/map.json index db6388bba9..812cb7c024 100644 --- a/data/maps/RustboroCity_PokemonCenter_2F/map.json +++ b/data/maps/RustboroCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/RustboroCity_PokemonCenter_2F/scripts.inc b/data/maps/RustboroCity_PokemonCenter_2F/scripts.inc index 3c62abc4ad..ba7b5b285c 100644 --- a/data/maps/RustboroCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/RustboroCity_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ RustboroCity_PokemonCenter_2F_MapScripts:: @ 8214EDE - map_script MAP_SCRIPT_ON_FRAME_TABLE, RustboroCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, RustboroCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, RustboroCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -RustboroCity_PokemonCenter_2F_EventScript_214EF3:: @ 8214EF3 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +RustboroCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8214EF3 + call CableClub_EventScript_Colosseum end -RustboroCity_PokemonCenter_2F_EventScript_214EF9:: @ 8214EF9 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +RustboroCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8214EF9 + call CableClub_EventScript_TradeCenter end -RustboroCity_PokemonCenter_2F_EventScript_214EFF:: @ 8214EFF - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +RustboroCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 8214EFF + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/RustboroCity_PokemonSchool/map.json b/data/maps/RustboroCity_PokemonSchool/map.json index 614b123c42..a60add1ee3 100644 --- a/data/maps/RustboroCity_PokemonSchool/map.json +++ b/data/maps/RustboroCity_PokemonSchool/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonSchool_EventScript_213F5F", + "script": "RustboroCity_PokemonSchool_EventScript_GameboyKid1", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonSchool_EventScript_213F68", + "script": "RustboroCity_PokemonSchool_EventScript_GameboyKid2", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonSchool_EventScript_213F71", + "script": "RustboroCity_PokemonSchool_EventScript_RichBoy", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonSchool_EventScript_213F7A", + "script": "RustboroCity_PokemonSchool_EventScript_Lass", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonSchool_EventScript_213F83", + "script": "RustboroCity_PokemonSchool_EventScript_SchoolKidM", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonSchool_EventScript_213F95", + "script": "RustboroCity_PokemonSchool_EventScript_Teacher", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RustboroCity_PokemonSchool_EventScript_214040", + "script": "RustboroCity_PokemonSchool_EventScript_Scott", "flag": "FLAG_HIDE_RUSTBORO_CITY_POKEMON_SCHOOL_SCOTT" } ], @@ -130,7 +130,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "RustboroCity_PokemonSchool_EventScript_213EA9" + "script": "RustboroCity_PokemonSchool_EventScript_Blackboard" }, { "type": "sign", @@ -138,7 +138,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "RustboroCity_PokemonSchool_EventScript_213EA9" + "script": "RustboroCity_PokemonSchool_EventScript_Blackboard" }, { "type": "sign", @@ -146,7 +146,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "RustboroCity_PokemonSchool_EventScript_213EA9" + "script": "RustboroCity_PokemonSchool_EventScript_Blackboard" }, { "type": "sign", @@ -154,7 +154,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "RustboroCity_PokemonSchool_EventScript_213EA9" + "script": "RustboroCity_PokemonSchool_EventScript_Blackboard" }, { "type": "sign", @@ -162,7 +162,7 @@ "y": 5, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "RustboroCity_PokemonSchool_EventScript_213F8C" + "script": "RustboroCity_PokemonSchool_EventScript_StudentNotebook" } ] } \ No newline at end of file diff --git a/data/maps/RustboroCity_PokemonSchool/scripts.inc b/data/maps/RustboroCity_PokemonSchool/scripts.inc index ff52ee5ac1..6e5bf0fced 100644 --- a/data/maps/RustboroCity_PokemonSchool/scripts.inc +++ b/data/maps/RustboroCity_PokemonSchool/scripts.inc @@ -1,117 +1,117 @@ RustboroCity_PokemonSchool_MapScripts:: @ 8213EA8 .byte 0 -RustboroCity_PokemonSchool_EventScript_213EA9:: @ 8213EA9 +RustboroCity_PokemonSchool_EventScript_Blackboard:: @ 8213EA9 lockall - msgbox RustboroCity_PokemonSchool_Text_2140B2, MSGBOX_DEFAULT - goto RustboroCity_PokemonSchool_EventScript_213EB8 + msgbox RustboroCity_PokemonSchool_Text_BlackboardListsStatusChanges, MSGBOX_DEFAULT + goto RustboroCity_PokemonSchool_EventScript_ChooseBlackboardTopic end -RustboroCity_PokemonSchool_EventScript_213EB8:: @ 8213EB8 - message RustboroCity_PokemonSchool_Text_2140F9 +RustboroCity_PokemonSchool_EventScript_ChooseBlackboardTopic:: @ 8213EB8 + message RustboroCity_PokemonSchool_Text_ReadWhichTopic waitmessage - multichoicegrid 8, 1, 13, 3, 0 + multichoicegrid 8, 1, MULTI_STATUS_INFO, 3, 0 switch VAR_RESULT - case 0, RustboroCity_PokemonSchool_EventScript_213F17 - case 1, RustboroCity_PokemonSchool_EventScript_213F25 - case 2, RustboroCity_PokemonSchool_EventScript_213F33 - case 3, RustboroCity_PokemonSchool_EventScript_213F41 - case 4, RustboroCity_PokemonSchool_EventScript_213F4F - case 5, RustboroCity_PokemonSchool_EventScript_213F5D - case 127, RustboroCity_PokemonSchool_EventScript_213F5D + case 0, RustboroCity_PokemonSchool_EventScript_Poison + case 1, RustboroCity_PokemonSchool_EventScript_Paralysis + case 2, RustboroCity_PokemonSchool_EventScript_Sleep + case 3, RustboroCity_PokemonSchool_EventScript_Burn + case 4, RustboroCity_PokemonSchool_EventScript_Freeze + case 5, RustboroCity_PokemonSchool_EventScript_ExitTopicSelect + case MULTI_B_PRESSED, RustboroCity_PokemonSchool_EventScript_ExitTopicSelect end -RustboroCity_PokemonSchool_EventScript_213F17:: @ 8213F17 - msgbox RustboroCity_PokemonSchool_Text_21411A, MSGBOX_DEFAULT - goto RustboroCity_PokemonSchool_EventScript_213EB8 +RustboroCity_PokemonSchool_EventScript_Poison:: @ 8213F17 + msgbox RustboroCity_PokemonSchool_Text_ExplainPoison, MSGBOX_DEFAULT + goto RustboroCity_PokemonSchool_EventScript_ChooseBlackboardTopic end -RustboroCity_PokemonSchool_EventScript_213F25:: @ 8213F25 - msgbox RustboroCity_PokemonSchool_Text_2141D8, MSGBOX_DEFAULT - goto RustboroCity_PokemonSchool_EventScript_213EB8 +RustboroCity_PokemonSchool_EventScript_Paralysis:: @ 8213F25 + msgbox RustboroCity_PokemonSchool_Text_ExplainParalysis, MSGBOX_DEFAULT + goto RustboroCity_PokemonSchool_EventScript_ChooseBlackboardTopic end -RustboroCity_PokemonSchool_EventScript_213F33:: @ 8213F33 - msgbox RustboroCity_PokemonSchool_Text_21427D, MSGBOX_DEFAULT - goto RustboroCity_PokemonSchool_EventScript_213EB8 +RustboroCity_PokemonSchool_EventScript_Sleep:: @ 8213F33 + msgbox RustboroCity_PokemonSchool_Text_ExplainSleep, MSGBOX_DEFAULT + goto RustboroCity_PokemonSchool_EventScript_ChooseBlackboardTopic end -RustboroCity_PokemonSchool_EventScript_213F41:: @ 8213F41 - msgbox RustboroCity_PokemonSchool_Text_214336, MSGBOX_DEFAULT - goto RustboroCity_PokemonSchool_EventScript_213EB8 +RustboroCity_PokemonSchool_EventScript_Burn:: @ 8213F41 + msgbox RustboroCity_PokemonSchool_Text_ExplainBurn, MSGBOX_DEFAULT + goto RustboroCity_PokemonSchool_EventScript_ChooseBlackboardTopic end -RustboroCity_PokemonSchool_EventScript_213F4F:: @ 8213F4F - msgbox RustboroCity_PokemonSchool_Text_2143B8, MSGBOX_DEFAULT - goto RustboroCity_PokemonSchool_EventScript_213EB8 +RustboroCity_PokemonSchool_EventScript_Freeze:: @ 8213F4F + msgbox RustboroCity_PokemonSchool_Text_ExplainFreeze, MSGBOX_DEFAULT + goto RustboroCity_PokemonSchool_EventScript_ChooseBlackboardTopic end -RustboroCity_PokemonSchool_EventScript_213F5D:: @ 8213F5D +RustboroCity_PokemonSchool_EventScript_ExitTopicSelect:: @ 8213F5D releaseall end -RustboroCity_PokemonSchool_EventScript_213F5F:: @ 8213F5F - msgbox RustboroCity_PokemonSchool_Text_21459F, MSGBOX_NPC +RustboroCity_PokemonSchool_EventScript_GameboyKid1:: @ 8213F5F + msgbox RustboroCity_PokemonSchool_Text_TradingRightNow, MSGBOX_NPC end -RustboroCity_PokemonSchool_EventScript_213F68:: @ 8213F68 - msgbox RustboroCity_PokemonSchool_Text_2145CD, MSGBOX_NPC +RustboroCity_PokemonSchool_EventScript_GameboyKid2:: @ 8213F68 + msgbox RustboroCity_PokemonSchool_Text_AlwaysWantedSeedot, MSGBOX_NPC end -RustboroCity_PokemonSchool_EventScript_213F71:: @ 8213F71 - msgbox RustboroCity_PokemonSchool_Text_214604, MSGBOX_NPC +RustboroCity_PokemonSchool_EventScript_RichBoy:: @ 8213F71 + msgbox RustboroCity_PokemonSchool_Text_PokemontCantUseManMadeItems, MSGBOX_NPC end -RustboroCity_PokemonSchool_EventScript_213F7A:: @ 8213F7A - msgbox RustboroCity_PokemonSchool_Text_214669, MSGBOX_NPC +RustboroCity_PokemonSchool_EventScript_Lass:: @ 8213F7A + msgbox RustboroCity_PokemonSchool_Text_ConfusedPokemonAttacksItself, MSGBOX_NPC end -RustboroCity_PokemonSchool_EventScript_213F83:: @ 8213F83 - msgbox RustboroCity_PokemonSchool_Text_214719, MSGBOX_NPC +RustboroCity_PokemonSchool_EventScript_SchoolKidM:: @ 8213F83 + msgbox RustboroCity_PokemonSchool_Text_PokemonHealItselfWithBerry, MSGBOX_NPC end -RustboroCity_PokemonSchool_EventScript_213F8C:: @ 8213F8C - msgbox RustboroCity_PokemonSchool_Text_2147A2, MSGBOX_SIGN +RustboroCity_PokemonSchool_EventScript_StudentNotebook:: @ 8213F8C + msgbox RustboroCity_PokemonSchool_Text_StudentsNotes, MSGBOX_SIGN end -RustboroCity_PokemonSchool_EventScript_213F95:: @ 8213F95 +RustboroCity_PokemonSchool_EventScript_Teacher:: @ 8213F95 lock faceplayer - goto_if_set FLAG_RECEIVED_QUICK_CLAW, RustboroCity_PokemonSchool_EventScript_213FFB - compare VAR_FACING, 4 - call_if_eq RustboroCity_PokemonSchool_EventScript_213FE5 - compare VAR_FACING, 3 - call_if_eq RustboroCity_PokemonSchool_EventScript_213FF0 - msgbox RustboroCity_PokemonSchool_Text_214433, MSGBOX_DEFAULT - giveitem_std ITEM_QUICK_CLAW + goto_if_set FLAG_RECEIVED_QUICK_CLAW, RustboroCity_PokemonSchool_EventScript_GaveQuickClaw + compare VAR_FACING, DIR_EAST + call_if_eq RustboroCity_PokemonSchool_EventScript_TeacherCheckOnStudentsEast + compare VAR_FACING, DIR_WEST + call_if_eq RustboroCity_PokemonSchool_EventScript_TeacherCheckOnStudentsWest + msgbox RustboroCity_PokemonSchool_Text_StudentsWhoDontStudyGetQuickClaw, MSGBOX_DEFAULT + giveitem ITEM_QUICK_CLAW compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 setflag FLAG_RECEIVED_QUICK_CLAW release end -RustboroCity_PokemonSchool_EventScript_213FE5:: @ 8213FE5 - applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_214027 +RustboroCity_PokemonSchool_EventScript_TeacherCheckOnStudentsEast:: @ 8213FE5 + applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_TeacherCheckOnStudentsEast waitmovement 0 return -RustboroCity_PokemonSchool_EventScript_213FF0:: @ 8213FF0 - applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_214010 +RustboroCity_PokemonSchool_EventScript_TeacherCheckOnStudentsWest:: @ 8213FF0 + applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_TeacherCheckOnStudentsWest waitmovement 0 return -RustboroCity_PokemonSchool_EventScript_213FFB:: @ 8213FFB - msgbox RustboroCity_PokemonSchool_Text_2144C8, MSGBOX_DEFAULT +RustboroCity_PokemonSchool_EventScript_GaveQuickClaw:: @ 8213FFB + msgbox RustboroCity_PokemonSchool_Text_ExplainQuickClaw, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 release end -RustboroCity_PokemonSchool_Movement_214010: @ 8214010 +RustboroCity_PokemonSchool_Movement_TeacherCheckOnStudentsWest: @ 8214010 walk_left walk_down walk_down @@ -136,7 +136,7 @@ RustboroCity_PokemonSchool_Movement_214010: @ 8214010 walk_right step_end -RustboroCity_PokemonSchool_Movement_214027: @ 8214027 +RustboroCity_PokemonSchool_Movement_TeacherCheckOnStudentsEast: @ 8214027 walk_right walk_right walk_down @@ -163,53 +163,53 @@ RustboroCity_PokemonSchool_Movement_214027: @ 8214027 walk_left step_end -RustboroCity_PokemonSchool_EventScript_214040:: @ 8214040 +RustboroCity_PokemonSchool_EventScript_Scott:: @ 8214040 lock faceplayer - goto_if_set FLAG_MET_SCOTT_AFTER_OBTAINING_STONE_BADGE, RustboroCity_PokemonSchool_EventScript_2140A8 - goto_if_set FLAG_MET_SCOTT_RUSTBORO, RustboroCity_PokemonSchool_EventScript_21406F - goto_if_set FLAG_BADGE01_GET, RustboroCity_PokemonSchool_EventScript_214082 - msgbox RustboroCity_PokemonSchool_Text_2148C0, MSGBOX_DEFAULT + goto_if_set FLAG_MET_SCOTT_AFTER_OBTAINING_STONE_BADGE, RustboroCity_PokemonSchool_EventScript_ScottWatchStudents + goto_if_set FLAG_MET_SCOTT_RUSTBORO, RustboroCity_PokemonSchool_EventScript_ScottSpokeAlready + goto_if_set FLAG_BADGE01_GET, RustboroCity_PokemonSchool_EventScript_ScottGreetHasBadge + msgbox RustboroCity_PokemonSchool_Text_ScottMetAlreadyCut, MSGBOX_DEFAULT addvar VAR_SCOTT_STATE, 1 setflag FLAG_MET_SCOTT_RUSTBORO release end -RustboroCity_PokemonSchool_EventScript_21406F:: @ 821406F - goto_if_set FLAG_BADGE01_GET, RustboroCity_PokemonSchool_EventScript_214090 - msgbox RustboroCity_PokemonSchool_Text_214A5F, MSGBOX_DEFAULT +RustboroCity_PokemonSchool_EventScript_ScottSpokeAlready:: @ 821406F + goto_if_set FLAG_BADGE01_GET, RustboroCity_PokemonSchool_EventScript_ScottNoticeBadge + msgbox RustboroCity_PokemonSchool_Text_StudentTalentLevelUnknown, MSGBOX_DEFAULT release end -RustboroCity_PokemonSchool_EventScript_214082:: @ 8214082 - msgbox RustboroCity_PokemonSchool_Text_214B8A, MSGBOX_DEFAULT - goto RustboroCity_PokemonSchool_EventScript_21409E +RustboroCity_PokemonSchool_EventScript_ScottGreetHasBadge:: @ 8214082 + msgbox RustboroCity_PokemonSchool_Text_ScottMetAlreadyStoneBadge, MSGBOX_DEFAULT + goto RustboroCity_PokemonSchool_EventScript_MetScottAfterBadge end -RustboroCity_PokemonSchool_EventScript_214090:: @ 8214090 - msgbox RustboroCity_PokemonSchool_Text_214AB6, MSGBOX_DEFAULT - goto RustboroCity_PokemonSchool_EventScript_21409E +RustboroCity_PokemonSchool_EventScript_ScottNoticeBadge:: @ 8214090 + msgbox RustboroCity_PokemonSchool_Text_ScottStoneBadge, MSGBOX_DEFAULT + goto RustboroCity_PokemonSchool_EventScript_MetScottAfterBadge end -RustboroCity_PokemonSchool_EventScript_21409E:: @ 821409E +RustboroCity_PokemonSchool_EventScript_MetScottAfterBadge:: @ 821409E addvar VAR_SCOTT_STATE, 1 setflag FLAG_MET_SCOTT_AFTER_OBTAINING_STONE_BADGE release end -RustboroCity_PokemonSchool_EventScript_2140A8:: @ 82140A8 - msgbox RustboroCity_PokemonSchool_Text_214A5F, MSGBOX_DEFAULT +RustboroCity_PokemonSchool_EventScript_ScottWatchStudents:: @ 82140A8 + msgbox RustboroCity_PokemonSchool_Text_StudentTalentLevelUnknown, MSGBOX_DEFAULT release end -RustboroCity_PokemonSchool_Text_2140B2: @ 82140B2 +RustboroCity_PokemonSchool_Text_BlackboardListsStatusChanges: @ 82140B2 .string "The blackboard lists status changes\n" .string "that may affect POKéMON in battle.$" -RustboroCity_PokemonSchool_Text_2140F9: @ 82140F9 +RustboroCity_PokemonSchool_Text_ReadWhichTopic: @ 82140F9 .string "Which topic do you want to read?$" -RustboroCity_PokemonSchool_Text_21411A: @ 821411A +RustboroCity_PokemonSchool_Text_ExplainPoison: @ 821411A .string "If a POKéMON is poisoned, it will\n" .string "steadily lose HP.\p" .string "The effects of poison remain after\n" @@ -218,7 +218,7 @@ RustboroCity_PokemonSchool_Text_21411A: @ 821411A .string "while it is traveling.\p" .string "Heal a poisoning using an ANTIDOTE.$" -RustboroCity_PokemonSchool_Text_2141D8: @ 82141D8 +RustboroCity_PokemonSchool_Text_ExplainParalysis: @ 82141D8 .string "If a POKéMON becomes paralyzed,\n" .string "its SPEED drops.\p" .string "It may also not be able to move while\n" @@ -226,7 +226,7 @@ RustboroCity_PokemonSchool_Text_2141D8: @ 82141D8 .string "Paralysis remains after battle.\n" .string "Cure it using a PARLYZ HEAL.$" -RustboroCity_PokemonSchool_Text_21427D: @ 821427D +RustboroCity_PokemonSchool_Text_ExplainSleep: @ 821427D .string "If a POKéMON falls asleep, it will be\n" .string "unable to attack.\p" .string "A POKéMON may wake up on its own,\n" @@ -234,26 +234,26 @@ RustboroCity_PokemonSchool_Text_21427D: @ 821427D .string "sleeping, it will stay asleep.\p" .string "Wake it up using an AWAKENING.$" -RustboroCity_PokemonSchool_Text_214336: @ 8214336 +RustboroCity_PokemonSchool_Text_ExplainBurn: @ 8214336 .string "A burn reduces ATTACK power, and it\n" .string "steadily reduces the victim's HP.\p" .string "A burn lingers after battle.\n" .string "Cure a burn using a BURN HEAL.$" -RustboroCity_PokemonSchool_Text_2143B8: @ 82143B8 +RustboroCity_PokemonSchool_Text_ExplainFreeze: @ 82143B8 .string "If a POKéMON is frozen, it becomes\n" .string "completely helpless.\p" .string "It will remain frozen after battle.\n" .string "Thaw it out using an ICE HEAL.$" -RustboroCity_PokemonSchool_Text_214433: @ 8214433 +RustboroCity_PokemonSchool_Text_StudentsWhoDontStudyGetQuickClaw: @ 8214433 .string "Students who don't study get a little\n" .string "taste of my QUICK CLAW.\p" .string "Whether or not you are a good student \n" .string "will be evident from the way you use\l" .string "this item.$" -RustboroCity_PokemonSchool_Text_2144C8: @ 82144C8 +RustboroCity_PokemonSchool_Text_ExplainQuickClaw: @ 82144C8 .string "A POKéMON holding the QUICK CLAW will\n" .string "occasionally speed up and get to move\l" .string "before its opponent.\p" @@ -262,20 +262,20 @@ RustboroCity_PokemonSchool_Text_2144C8: @ 82144C8 .string "Just those alone will give you many\n" .string "topics to study!$" -RustboroCity_PokemonSchool_Text_21459F: @ 821459F +RustboroCity_PokemonSchool_Text_TradingRightNow: @ 821459F .string "I'm trading POKéMON with my friend\n" .string "right now.$" -RustboroCity_PokemonSchool_Text_2145CD: @ 82145CD +RustboroCity_PokemonSchool_Text_AlwaysWantedSeedot: @ 82145CD .string "I always wanted a SEEDOT, and\n" .string "I'm finally getting one!$" -RustboroCity_PokemonSchool_Text_214604: @ 8214604 +RustboroCity_PokemonSchool_Text_PokemontCantUseManMadeItems: @ 8214604 .string "POKéMON can hold items, but they\n" .string "don't know what to do with man-made\l" .string "items like POTION and ANTIDOTE.$" -RustboroCity_PokemonSchool_Text_214669: @ 8214669 +RustboroCity_PokemonSchool_Text_ConfusedPokemonAttacksItself: @ 8214669 .string "You know how some POKéMON moves can\n" .string "confuse a POKéMON?\p" .string "A confused POKéMON will sometimes\n" @@ -283,7 +283,7 @@ RustboroCity_PokemonSchool_Text_214669: @ 8214669 .string "But once it leaves battle, it will\n" .string "return to normal.$" -RustboroCity_PokemonSchool_Text_214719: @ 8214719 +RustboroCity_PokemonSchool_Text_PokemonHealItselfWithBerry: @ 8214719 .string "A POKéMON holding a BERRY will heal\n" .string "itself…\p" .string "There are many kinds of items that\n" @@ -291,7 +291,7 @@ RustboroCity_PokemonSchool_Text_214719: @ 8214719 .string "Boy, it sure is hard taking notes\n" .string "down…$" -RustboroCity_PokemonSchool_Text_2147A2: @ 82147A2 +RustboroCity_PokemonSchool_Text_StudentsNotes: @ 82147A2 .string "It's this student's notebook…\p" .string "POKéMON are to be caught using\n" .string "POKé BALLS.\p" @@ -304,7 +304,7 @@ RustboroCity_PokemonSchool_Text_2147A2: @ 82147A2 .string "the strong TRAINERS who await\l" .string "challengers in POKéMON GYMS.$" -RustboroCity_PokemonSchool_Text_2148C0: @ 82148C0 +RustboroCity_PokemonSchool_Text_ScottMetAlreadyCut: @ 82148C0 .string "Hello? Didn't we meet before?\n" .string "I think back in PETALBURG CITY.\p" .string "Let me introduce myself.\n" @@ -320,12 +320,12 @@ RustboroCity_PokemonSchool_Text_2148C0: @ 82148C0 .string "If I remember correctly, someone in\n" .string "this town has CUT.$" -RustboroCity_PokemonSchool_Text_214A5F: @ 8214A5F +RustboroCity_PokemonSchool_Text_StudentTalentLevelUnknown: @ 8214A5F .string "SCOTT: Hmm…\p" .string "The talent levels of the students here\n" .string "are unknown. The potential's there.$" -RustboroCity_PokemonSchool_Text_214AB6: @ 8214AB6 +RustboroCity_PokemonSchool_Text_ScottStoneBadge: @ 8214AB6 .string "SCOTT: Oh, what's that?\p" .string "It's a STONE BADGE, isn't it?\n" .string "That's pretty impressive, I'd say.\p" @@ -334,7 +334,7 @@ RustboroCity_PokemonSchool_Text_214AB6: @ 8214AB6 .string "It's hard to tell what you're like as\n" .string "a TRAINER from a LEAGUE BADGE.$" -RustboroCity_PokemonSchool_Text_214B8A: @ 8214B8A +RustboroCity_PokemonSchool_Text_ScottMetAlreadyStoneBadge: @ 8214B8A .string "Hello? Didn't we meet before?\n" .string "I think back in PETALBURG CITY.\p" .string "Let me introduce myself.\n" diff --git a/data/maps/RusturfTunnel/map.json b/data/maps/RusturfTunnel/map.json index bd5c8206d5..159588113a 100644 --- a/data/maps/RusturfTunnel/map.json +++ b/data/maps/RusturfTunnel/map.json @@ -5,7 +5,7 @@ "music": "MUS_DAN01", "region_map_section": "MAPSEC_RUSTURF_TUNNEL", "requires_flash": false, - "weather": "WEATHER_FOG_1", + "weather": "WEATHER_FOG_HORIZONTAL", "map_type": "MAP_TYPE_UNDERGROUND", "allow_bike": true, "allow_escape_rope": true, @@ -24,8 +24,8 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RusturfTunnel_EventScript_22CE76", - "flag": "FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN" + "script": "RusturfTunnel_EventScript_WandasBoyfriend", + "flag": "FLAG_HIDE_RUSTURF_TUNNEL_WANDAS_BOYFRIEND" }, { "graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK", @@ -77,7 +77,7 @@ "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", "script": "0x0", - "flag": "FLAG_HIDE_RUSTURF_TUNNEL_OLD_MAN" + "flag": "FLAG_HIDE_RUSTURF_TUNNEL_BRINEY" }, { "graphics_id": "EVENT_OBJ_GFX_AQUA_MEMBER_M", @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RusturfTunnel_EventScript_22D0C2", + "script": "RusturfTunnel_EventScript_Grunt", "flag": "FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RusturfTunnel_EventScript_22D0AF", + "script": "RusturfTunnel_EventScript_Peeko", "flag": "FLAG_HIDE_RUSTURF_TUNNEL_PEEKO" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "RusturfTunnel_EventScript_22D1B1", + "script": "RusturfTunnel_EventScript_Mike", "flag": "0" }, { @@ -141,8 +141,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "RusturfTunnel_EventScript_22CE5F", - "flag": "FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN" + "script": "RusturfTunnel_EventScript_Wanda", + "flag": "FLAG_HIDE_RUSTURF_TUNNEL_WANDA" } ], "warp_events": [ @@ -176,7 +176,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "RusturfTunnel_EventScript_22D071" + "script": "RusturfTunnel_EventScript_TunnelBlockagePos1" }, { "type": "trigger", @@ -185,7 +185,7 @@ "elevation": 3, "var": "VAR_RUSTURF_TUNNEL_STATE", "var_value": "2", - "script": "RusturfTunnel_EventScript_22D083" + "script": "RusturfTunnel_EventScript_AquaGruntBackUp" }, { "type": "trigger", @@ -194,7 +194,7 @@ "elevation": 3, "var": "VAR_RUSTURF_TUNNEL_STATE", "var_value": "2", - "script": "RusturfTunnel_EventScript_22D083" + "script": "RusturfTunnel_EventScript_AquaGruntBackUp" }, { "type": "trigger", @@ -203,7 +203,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "RusturfTunnel_EventScript_22D077" + "script": "RusturfTunnel_EventScript_TunnelBlockagePos2" }, { "type": "trigger", @@ -212,7 +212,7 @@ "elevation": 3, "var": "0", "var_value": "0", - "script": "RusturfTunnel_EventScript_22D07D" + "script": "RusturfTunnel_EventScript_TunnelBlockagePos3" } ], "bg_events": [] diff --git a/data/maps/RusturfTunnel/scripts.inc b/data/maps/RusturfTunnel/scripts.inc index 8cb20e3729..c3be000a6d 100644 --- a/data/maps/RusturfTunnel/scripts.inc +++ b/data/maps/RusturfTunnel/scripts.inc @@ -1,146 +1,146 @@ RusturfTunnel_MapScripts:: @ 822CE27 map_script MAP_SCRIPT_ON_TRANSITION, RusturfTunnel_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, RusturfTunnel_MapScript2_22CE32 + map_script MAP_SCRIPT_ON_FRAME_TABLE, RusturfTunnel_OnFrame .byte 0 -RusturfTunnel_MapScript2_22CE32: @ 822CE32 - map_script_2 VAR_RUSTURF_TUNNEL_STATE, 4, RusturfTunnel_EventScript_22CEAE - map_script_2 VAR_RUSTURF_TUNNEL_STATE, 5, RusturfTunnel_EventScript_22CEAE +RusturfTunnel_OnFrame: @ 822CE32 + map_script_2 VAR_RUSTURF_TUNNEL_STATE, 4, RusturfTunnel_EventScript_ClearTunnelScene + map_script_2 VAR_RUSTURF_TUNNEL_STATE, 5, RusturfTunnel_EventScript_ClearTunnelScene .2byte 0 RusturfTunnel_OnTransition: @ 822CE44 compare VAR_RUSTURF_TUNNEL_STATE, 2 - call_if_eq RusturfTunnel_EventScript_22CE50 + call_if_eq RusturfTunnel_EventScript_SetAquaGruntAndPeekoPos end -RusturfTunnel_EventScript_22CE50:: @ 822CE50 +RusturfTunnel_EventScript_SetAquaGruntAndPeekoPos:: @ 822CE50 setobjectxyperm 7, 13, 4 setobjectxyperm 6, 13, 5 return -RusturfTunnel_EventScript_22CE5F:: @ 822CE5F +RusturfTunnel_EventScript_Wanda:: @ 822CE5F lock faceplayer - msgbox RusturfTunnel_Text_22D7A3, MSGBOX_DEFAULT + msgbox RusturfTunnel_Text_BoyfriendOnOtherSideOfRock, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -RusturfTunnel_EventScript_22CE76:: @ 822CE76 +RusturfTunnel_EventScript_WandasBoyfriend:: @ 822CE76 lock faceplayer - goto_if_set FLAG_TEMP_1, RusturfTunnel_EventScript_22CE99 + goto_if_set FLAG_TEMP_1, RusturfTunnel_EventScript_AlreadySpokenTo setflag FLAG_TEMP_1 - msgbox RusturfTunnel_Text_22D510, MSGBOX_DEFAULT + msgbox RusturfTunnel_Text_WhyCantTheyKeepDigging, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -RusturfTunnel_EventScript_22CE99:: @ 822CE99 - msgbox RusturfTunnel_Text_22D5F3, MSGBOX_DEFAULT +RusturfTunnel_EventScript_AlreadySpokenTo:: @ 822CE99 + msgbox RusturfTunnel_Text_ToGetToVerdanturf, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -RusturfTunnel_EventScript_22CEAE:: @ 822CEAE +RusturfTunnel_EventScript_ClearTunnelScene:: @ 822CEAE lockall compare VAR_TEMP_1, 1 - call_if_eq RusturfTunnel_EventScript_22CFA7 + call_if_eq RusturfTunnel_EventScript_FaceWandasBoyfriend1 compare VAR_TEMP_1, 2 - call_if_eq RusturfTunnel_EventScript_22CFBC + call_if_eq RusturfTunnel_EventScript_FaceWandasBoyfriend2 compare VAR_TEMP_1, 3 - call_if_eq RusturfTunnel_EventScript_22CFC7 - call RusturfTunnel_EventScript_22CFFF - msgbox RusturfTunnel_Text_22D65C, MSGBOX_DEFAULT + call_if_eq RusturfTunnel_EventScript_FaceWandasBoyfriend3 + call RusturfTunnel_EventScript_WandasBoyfriendNotice + msgbox RusturfTunnel_Text_YouShatteredBoulderTakeHM, MSGBOX_DEFAULT compare VAR_TEMP_1, 2 - call_if_eq RusturfTunnel_EventScript_22CFC8 + call_if_eq RusturfTunnel_EventScript_WandasBoyfriendApproachPlayer compare VAR_TEMP_1, 3 - call_if_eq RusturfTunnel_EventScript_22CFC8 - giveitem_std ITEM_HM04 + call_if_eq RusturfTunnel_EventScript_WandasBoyfriendApproachPlayer + giveitem ITEM_HM04 setflag FLAG_RECEIVED_HM04 - msgbox RusturfTunnel_Text_22D6D2, MSGBOX_DEFAULT + msgbox RusturfTunnel_Text_ExplainStrength, MSGBOX_DEFAULT closemessage compare VAR_TEMP_1, 1 - call_if_eq RusturfTunnel_EventScript_22CF5D + call_if_eq RusturfTunnel_EventScript_BoyfriendApproachWanda1 compare VAR_TEMP_1, 2 - call_if_eq RusturfTunnel_EventScript_22CF6F + call_if_eq RusturfTunnel_EventScript_BoyfriendApproachWanda2 compare VAR_TEMP_1, 3 - call_if_eq RusturfTunnel_EventScript_22CF8B - msgbox RusturfTunnel_Text_22D745, MSGBOX_DEFAULT + call_if_eq RusturfTunnel_EventScript_BoyfriendApproachWanda3 + msgbox RusturfTunnel_Text_WandaReunion, MSGBOX_DEFAULT closemessage compare VAR_TEMP_1, 1 - call_if_eq RusturfTunnel_EventScript_22CFD4 + call_if_eq RusturfTunnel_EventScript_WandaAndBoyfriendExit1 compare VAR_TEMP_1, 2 - call_if_eq RusturfTunnel_EventScript_22CFE6 + call_if_eq RusturfTunnel_EventScript_WandaAndBoyfriendExit compare VAR_TEMP_1, 3 - call_if_eq RusturfTunnel_EventScript_22CFE6 - call RusturfTunnel_EventScript_272216 + call_if_eq RusturfTunnel_EventScript_WandaAndBoyfriendExit + call RusturfTunnel_EventScript_SetRusturfTunnelOpen releaseall end -RusturfTunnel_EventScript_22CF5D:: @ 822CF5D - applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D042 - applymovement 1, RusturfTunnel_Movement_22D067 +RusturfTunnel_EventScript_BoyfriendApproachWanda1:: @ 822CF5D + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_PlayerWatchBoyfriend1 + applymovement 1, RusturfTunnel_Movement_BoyfriendApproachWanda1 waitmovement 0 return -RusturfTunnel_EventScript_22CF6F:: @ 822CF6F - applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D045 - applymovement 1, RusturfTunnel_Movement_22D06C +RusturfTunnel_EventScript_BoyfriendApproachWanda2:: @ 822CF6F + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_PlayerWatchBoyfriend + applymovement 1, RusturfTunnel_Movement_BoyfriendApproachWanda waitmovement 0 - applymovement 10, Common_Movement_WalkInPlaceDown + applymovement 10, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -RusturfTunnel_EventScript_22CF8B:: @ 822CF8B - applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D045 - applymovement 1, RusturfTunnel_Movement_22D06C +RusturfTunnel_EventScript_BoyfriendApproachWanda3:: @ 822CF8B + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_PlayerWatchBoyfriend + applymovement 1, RusturfTunnel_Movement_BoyfriendApproachWanda waitmovement 0 - applymovement 10, Common_Movement_WalkInPlaceDown + applymovement 10, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -RusturfTunnel_EventScript_22CFA7:: @ 822CFA7 - applymovement 1, Common_Movement_WalkInPlaceUp +RusturfTunnel_EventScript_FaceWandasBoyfriend1:: @ 822CFA7 + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -RusturfTunnel_EventScript_22CFBC:: @ 822CFBC - applymovement 1, RusturfTunnel_Movement_22D048 +RusturfTunnel_EventScript_FaceWandasBoyfriend2:: @ 822CFBC + applymovement 1, RusturfTunnel_Movement_BoyfriendFaceRight waitmovement 0 return -RusturfTunnel_EventScript_22CFC7:: @ 822CFC7 +RusturfTunnel_EventScript_FaceWandasBoyfriend3:: @ 822CFC7 return -RusturfTunnel_EventScript_22CFC8:: @ 822CFC8 +RusturfTunnel_EventScript_WandasBoyfriendApproachPlayer:: @ 822CFC8 closemessage - applymovement 1, RusturfTunnel_Movement_22D065 + applymovement 1, RusturfTunnel_Movement_WandasBoyfriendApproachPlayer waitmovement 0 return -RusturfTunnel_EventScript_22CFD4:: @ 822CFD4 - applymovement 10, RusturfTunnel_Movement_22D017 - applymovement 1, RusturfTunnel_Movement_22D04B +RusturfTunnel_EventScript_WandaAndBoyfriendExit1:: @ 822CFD4 + applymovement 10, RusturfTunnel_Movement_WandaExit1 + applymovement 1, RusturfTunnel_Movement_WandasBoyfriendExit1 waitmovement 0 return -RusturfTunnel_EventScript_22CFE6:: @ 822CFE6 - applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D02F - applymovement 10, RusturfTunnel_Movement_22D023 - applymovement 1, RusturfTunnel_Movement_22D058 +RusturfTunnel_EventScript_WandaAndBoyfriendExit:: @ 822CFE6 + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_PlayerWatchWandaExit + applymovement 10, RusturfTunnel_Movement_WandaExit + applymovement 1, RusturfTunnel_Movement_WandasBoyfriendExit waitmovement 0 return -RusturfTunnel_EventScript_22CFFF:: @ 822CFFF +RusturfTunnel_EventScript_WandasBoyfriendNotice:: @ 822CFFF playse SE_PIN applymovement 1, Common_Movement_ExclamationMark waitmovement 0 @@ -148,7 +148,7 @@ RusturfTunnel_EventScript_22CFFF:: @ 822CFFF waitmovement 0 return -RusturfTunnel_Movement_22D017: @ 822D017 +RusturfTunnel_Movement_WandaExit1: @ 822D017 walk_right walk_right walk_right @@ -162,7 +162,7 @@ RusturfTunnel_Movement_22D017: @ 822D017 walk_down step_end -RusturfTunnel_Movement_22D023: @ 822D023 +RusturfTunnel_Movement_WandaExit: @ 822D023 walk_right walk_right walk_right @@ -176,7 +176,7 @@ RusturfTunnel_Movement_22D023: @ 822D023 walk_down step_end -RusturfTunnel_Movement_22D02F: @ 822D02F +RusturfTunnel_Movement_PlayerWatchWandaExit: @ 822D02F delay_8 walk_in_place_fastest_up delay_16 @@ -184,41 +184,41 @@ RusturfTunnel_Movement_22D02F: @ 822D02F walk_in_place_fastest_right step_end -RusturfTunnel_Movement_22D035: @ 822D035 +RusturfTunnel_Movement_Unused1: @ 822D035 walk_left walk_in_place_fastest_right step_end -RusturfTunnel_Movement_22D038: @ 822D038 +RusturfTunnel_Movement_Unused2: @ 822D038 walk_down walk_in_place_fastest_up delay_8 walk_in_place_fastest_right step_end -RusturfTunnel_Movement_22D03D: @ 822D03D +RusturfTunnel_Movement_Unused3: @ 822D03D walk_up walk_in_place_fastest_down delay_8 walk_in_place_fastest_right step_end -RusturfTunnel_Movement_22D042: @ 822D042 +RusturfTunnel_Movement_PlayerWatchBoyfriend1: @ 822D042 walk_left walk_in_place_fastest_right step_end -RusturfTunnel_Movement_22D045: @ 822D045 +RusturfTunnel_Movement_PlayerWatchBoyfriend: @ 822D045 walk_right walk_in_place_fastest_left step_end -RusturfTunnel_Movement_22D048: @ 822D048 +RusturfTunnel_Movement_BoyfriendFaceRight: @ 822D048 walk_up walk_in_place_fastest_right step_end -RusturfTunnel_Movement_22D04B: @ 822D04B +RusturfTunnel_Movement_WandasBoyfriendExit1: @ 822D04B walk_right walk_right walk_right @@ -233,7 +233,7 @@ RusturfTunnel_Movement_22D04B: @ 822D04B walk_down step_end -RusturfTunnel_Movement_22D058: @ 822D058 +RusturfTunnel_Movement_WandasBoyfriendExit: @ 822D058 walk_up walk_right walk_right @@ -248,42 +248,42 @@ RusturfTunnel_Movement_22D058: @ 822D058 walk_down step_end -RusturfTunnel_Movement_22D065: @ 822D065 +RusturfTunnel_Movement_WandasBoyfriendApproachPlayer: @ 822D065 walk_right step_end -RusturfTunnel_Movement_22D067: @ 822D067 +RusturfTunnel_Movement_BoyfriendApproachWanda1: @ 822D067 walk_in_place_fast_up walk_in_place_fast_up walk_fast_up walk_fast_right step_end -RusturfTunnel_Movement_22D06C: @ 822D06C +RusturfTunnel_Movement_BoyfriendApproachWanda: @ 822D06C walk_in_place_fast_right walk_in_place_fast_right walk_fast_right walk_in_place_fastest_up step_end -RusturfTunnel_EventScript_22D071:: @ 822D071 +RusturfTunnel_EventScript_TunnelBlockagePos1:: @ 822D071 setvar VAR_TEMP_1, 1 end -RusturfTunnel_EventScript_22D077:: @ 822D077 +RusturfTunnel_EventScript_TunnelBlockagePos2:: @ 822D077 setvar VAR_TEMP_1, 2 end -RusturfTunnel_EventScript_22D07D:: @ 822D07D +RusturfTunnel_EventScript_TunnelBlockagePos3:: @ 822D07D setvar VAR_TEMP_1, 3 end -RusturfTunnel_EventScript_22D083:: @ 822D083 +RusturfTunnel_EventScript_AquaGruntBackUp:: @ 822D083 lockall - msgbox RusturfTunnel_Text_22D1C8, MSGBOX_DEFAULT + msgbox RusturfTunnel_Text_ComeAndGetSome, MSGBOX_DEFAULT closemessage - applymovement 6, RusturfTunnel_Movement_22D0AB - applymovement 7, RusturfTunnel_Movement_22D0AB + applymovement 6, RusturfTunnel_Movement_GruntAndPeekoBackUp + applymovement 7, RusturfTunnel_Movement_GruntAndPeekoBackUp waitmovement 0 copyobjectxytoperm 6 copyobjectxytoperm 7 @@ -291,55 +291,55 @@ RusturfTunnel_EventScript_22D083:: @ 822D083 releaseall end -RusturfTunnel_Movement_22D0AB: @ 822D0AB +RusturfTunnel_Movement_GruntAndPeekoBackUp: @ 822D0AB lock_facing_direction walk_right unlock_facing_direction step_end -RusturfTunnel_EventScript_22D0AF:: @ 822D0AF +RusturfTunnel_EventScript_Peeko:: @ 822D0AF lock faceplayer waitse playmoncry SPECIES_WINGULL, 0 - msgbox RusturfTunnel_Text_22D1F7, MSGBOX_DEFAULT + msgbox RusturfTunnel_Text_Peeko, MSGBOX_DEFAULT waitmoncry release end -RusturfTunnel_EventScript_22D0C2:: @ 822D0C2 +RusturfTunnel_EventScript_Grunt:: @ 822D0C2 lock faceplayer playbgm MUS_AQA_0, 0 - msgbox RusturfTunnel_Text_22D20A, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_GRUNT_10, RusturfTunnel_Text_22D2B0 - msgbox RusturfTunnel_Text_22D2E1, MSGBOX_DEFAULT - giveitem_std ITEM_DEVON_GOODS + msgbox RusturfTunnel_Text_GruntIntro, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_GRUNT_RUSTURF_TUNNEL, RusturfTunnel_Text_GruntDefeat + msgbox RusturfTunnel_Text_GruntTakePackage, MSGBOX_DEFAULT + giveitem ITEM_DEVON_GOODS closemessage - applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D178 - applymovement 6, RusturfTunnel_Movement_22D181 + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_PushPlayerAsideForGrunt + applymovement 6, RusturfTunnel_Movement_GruntEscape waitmovement 0 removeobject 6 delay 50 addobject 5 - applymovement 5, RusturfTunnel_Movement_22D18B + applymovement 5, RusturfTunnel_Movement_BrineyApproachPeeko1 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D17E - applymovement 5, RusturfTunnel_Movement_22D1A4 + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_PlayerMoveAsideForBriney + applymovement 5, RusturfTunnel_Movement_BrineyApproachPeeko2 waitmovement 0 - msgbox RusturfTunnel_Text_22D395, MSGBOX_DEFAULT + msgbox RusturfTunnel_Text_PeekoGladToSeeYouSafe, MSGBOX_DEFAULT applymovement 5, Common_Movement_FacePlayer waitmovement 0 - message RusturfTunnel_Text_22D3BA + message RusturfTunnel_Text_ThankYouLetsGoHomePeeko waitmessage waitse playmoncry SPECIES_WINGULL, 0 waitbuttonpress waitmoncry closemessage - applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D19F - applymovement 5, RusturfTunnel_Movement_22D193 - applymovement 7, RusturfTunnel_Movement_22D1A7 + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_PlayerWatchBrineyExit + applymovement 5, RusturfTunnel_Movement_BrineyExit + applymovement 7, RusturfTunnel_Movement_PeekoExit waitmovement 0 removeobject 5 removeobject 7 @@ -351,7 +351,7 @@ RusturfTunnel_EventScript_22D0C2:: @ 822D0C2 release end -RusturfTunnel_Movement_22D178: @ 822D178 +RusturfTunnel_Movement_PushPlayerAsideForGrunt: @ 822D178 face_down lock_facing_direction walk_up @@ -359,12 +359,12 @@ RusturfTunnel_Movement_22D178: @ 822D178 walk_in_place_fastest_left step_end -RusturfTunnel_Movement_22D17E: @ 822D17E +RusturfTunnel_Movement_PlayerMoveAsideForBriney: @ 822D17E walk_down walk_in_place_fastest_up step_end -RusturfTunnel_Movement_22D181: @ 822D181 +RusturfTunnel_Movement_GruntEscape: @ 822D181 walk_fast_left walk_fast_left walk_fast_left @@ -376,7 +376,7 @@ RusturfTunnel_Movement_22D181: @ 822D181 walk_fast_left step_end -RusturfTunnel_Movement_22D18B: @ 822D18B +RusturfTunnel_Movement_BrineyApproachPeeko1: @ 822D18B walk_right walk_right walk_right @@ -386,7 +386,7 @@ RusturfTunnel_Movement_22D18B: @ 822D18B walk_right step_end -RusturfTunnel_Movement_22D193: @ 822D193 +RusturfTunnel_Movement_BrineyExit: @ 822D193 walk_left walk_left walk_left @@ -400,19 +400,19 @@ RusturfTunnel_Movement_22D193: @ 822D193 walk_left step_end -RusturfTunnel_Movement_22D19F: @ 822D19F +RusturfTunnel_Movement_PlayerWatchBrineyExit: @ 822D19F delay_16 delay_8 delay_4 walk_in_place_fastest_left step_end -RusturfTunnel_Movement_22D1A4: @ 822D1A4 +RusturfTunnel_Movement_BrineyApproachPeeko2: @ 822D1A4 delay_16 walk_right step_end -RusturfTunnel_Movement_22D1A7: @ 822D1A7 +RusturfTunnel_Movement_PeekoExit: @ 822D1A7 walk_left walk_left walk_left @@ -424,19 +424,19 @@ RusturfTunnel_Movement_22D1A7: @ 822D1A7 walk_left step_end -RusturfTunnel_EventScript_22D1B1:: @ 822D1B1 - trainerbattle_single TRAINER_MIKE_2, RusturfTunnel_Text_22D84D, RusturfTunnel_Text_22D8DB - msgbox RusturfTunnel_Text_22D8F9, MSGBOX_AUTOCLOSE +RusturfTunnel_EventScript_Mike:: @ 822D1B1 + trainerbattle_single TRAINER_MIKE_2, RusturfTunnel_Text_MikeIntro, RusturfTunnel_Text_MikeDefeat + msgbox RusturfTunnel_Text_MikePostBattle, MSGBOX_AUTOCLOSE end -RusturfTunnel_Text_22D1C8: @ 822D1C8 +RusturfTunnel_Text_ComeAndGetSome: @ 822D1C8 .string "What, are you coming?\n" .string "Come and get some, then!$" -RusturfTunnel_Text_22D1F7: @ 822D1F7 +RusturfTunnel_Text_Peeko: @ 822D1F7 .string "PEEKO: Pii pihyoh!$" -RusturfTunnel_Text_22D20A: @ 822D20A +RusturfTunnel_Text_GruntIntro: @ 822D20A .string "Grah, keelhaul it all!\p" .string "That hostage POKéMON turned out to\n" .string "be worthless!\p" @@ -445,11 +445,11 @@ RusturfTunnel_Text_22D20A: @ 822D20A .string "Hey! You!\n" .string "So you want to battle me?$" -RusturfTunnel_Text_22D2B0: @ 822D2B0 +RusturfTunnel_Text_GruntDefeat: @ 822D2B0 .string "Urrrggh! My career in crime comes to\n" .string "a dead end!$" -RusturfTunnel_Text_22D2E1: @ 822D2E1 +RusturfTunnel_Text_GruntTakePackage: @ 822D2E1 .string "This is plain not right…\p" .string "The BOSS told me this would be a\n" .string "slick-and-easy job to pull.\p" @@ -458,11 +458,11 @@ RusturfTunnel_Text_22D2E1: @ 822D2E1 .string "Tch!\n" .string "You want it back that badly, take it!$" -RusturfTunnel_Text_22D395: @ 822D395 +RusturfTunnel_Text_PeekoGladToSeeYouSafe: @ 822D395 .string "PEEKO!\n" .string "Am I glad to see you're safe!$" -RusturfTunnel_Text_22D3BA: @ 822D3BA +RusturfTunnel_Text_ThankYouLetsGoHomePeeko: @ 822D3BA .string "PEEKO owes her life to you!\p" .string "They call me MR. BRINEY.\n" .string "And, you are?\p" @@ -478,7 +478,7 @@ RusturfTunnel_Text_22D3BA: @ 822D3BA .string "home.\p" .string "PEEKO: Pihyoh!$" -RusturfTunnel_Text_22D510: @ 822D510 +RusturfTunnel_Text_WhyCantTheyKeepDigging: @ 822D510 .string "… …\p" .string "Why can't they keep digging?\n" .string "Is the bedrock too hard?\p" @@ -490,30 +490,30 @@ RusturfTunnel_Text_22D510: @ 822D510 .string "But this…\n" .string "What am I to do?$" -RusturfTunnel_Text_22D5F3: @ 822D5F3 +RusturfTunnel_Text_ToGetToVerdanturf: @ 822D5F3 .string "To get from RUSTBORO to VERDANTURF,\n" .string "you need to go to DEWFORD, then pass\l" .string "through SLATEPORT and MAUVILLE…$" -RusturfTunnel_Text_22D65C: @ 822D65C +RusturfTunnel_Text_YouShatteredBoulderTakeHM: @ 822D65C .string "Wow! You shattered that boulder\n" .string "blocking the way.\p" .string "To show you how much I appreciate it,\n" .string "I'd like you to have this HM.$" -RusturfTunnel_Text_22D6D2: @ 822D6D2 +RusturfTunnel_Text_ExplainStrength: @ 822D6D2 .string "That HM contains STRENGTH.\p" .string "If a muscular POKéMON were to learn\n" .string "that, it would be able to move even\l" .string "large boulders.$" -RusturfTunnel_Text_22D745: @ 822D745 +RusturfTunnel_Text_WandaReunion: @ 822D745 .string "WANDA!\n" .string "Now I can see you anytime!\p" .string "WANDA: That's…wonderful.\p" .string "Please, take some rest at my home.$" -RusturfTunnel_Text_22D7A3: @ 822D7A3 +RusturfTunnel_Text_BoyfriendOnOtherSideOfRock: @ 822D7A3 .string "On the other side of this rock…\n" .string "My boyfriend is there.\p" .string "He… He's not just digging the tunnel\n" @@ -521,17 +521,17 @@ RusturfTunnel_Text_22D7A3: @ 822D7A3 .string "He works his hands raw and rough\n" .string "for the benefit of everyone.$" -RusturfTunnel_Text_22D84D: @ 822D84D +RusturfTunnel_Text_MikeIntro: @ 822D84D .string "What do you call a wild man up in the\n" .string "mountains? A mountain man, right?\p" .string "So why don't they call a POKéMON in\n" .string "the mountains a mountain POKéMON?$" -RusturfTunnel_Text_22D8DB: @ 822D8DB +RusturfTunnel_Text_MikeDefeat: @ 822D8DB .string "My POKéMON…\n" .string "Ran out of power…$" -RusturfTunnel_Text_22D8F9: @ 822D8F9 +RusturfTunnel_Text_MikePostBattle: @ 822D8F9 .string "They halted development here to\n" .string "protect POKéMON, right?\l" .string "There's a feel-good story!$" diff --git a/data/maps/SSTidalCorridor/map.json b/data/maps/SSTidalCorridor/map.json index ce6c3d2d07..3cf4b2cd06 100644 --- a/data/maps/SSTidalCorridor/map.json +++ b/data/maps/SSTidalCorridor/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SSTidalCorridor_EventScript_23C119", + "script": "SSTidalCorridor_EventScript_ExitSailor", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SSTidalCorridor_EventScript_23C1A3", + "script": "SSTidalCorridor_EventScript_Sailor", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SSTidalCorridor_EventScript_23C0D9", + "script": "SSTidalCorridor_EventScript_Briney", "flag": "FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SSTidalCorridor_EventScript_23C0E2", + "script": "SSTidalCorridor_EventScript_Peeko", "flag": "FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY" }, { @@ -153,7 +153,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SSTidalCorridor_EventScript_23C17D" + "script": "SSTidalCorridor_EventScript_Porthole" }, { "type": "sign", @@ -161,7 +161,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SSTidalCorridor_EventScript_23C17D" + "script": "SSTidalCorridor_EventScript_Porthole" }, { "type": "sign", @@ -169,7 +169,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SSTidalCorridor_EventScript_23C17D" + "script": "SSTidalCorridor_EventScript_Porthole" }, { "type": "sign", @@ -177,7 +177,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SSTidalCorridor_EventScript_23C17D" + "script": "SSTidalCorridor_EventScript_Porthole" }, { "type": "sign", @@ -185,7 +185,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SSTidalCorridor_EventScript_23C17D" + "script": "SSTidalCorridor_EventScript_Porthole" }, { "type": "sign", @@ -193,7 +193,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SSTidalCorridor_EventScript_23C17D" + "script": "SSTidalCorridor_EventScript_Porthole" }, { "type": "sign", @@ -201,7 +201,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SSTidalCorridor_EventScript_23C17D" + "script": "SSTidalCorridor_EventScript_Porthole" }, { "type": "sign", @@ -209,7 +209,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SSTidalCorridor_EventScript_23C17D" + "script": "SSTidalCorridor_EventScript_Porthole" }, { "type": "sign", @@ -217,7 +217,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "SSTidalCorridor_EventScript_23C0F5" + "script": "SSTidalCorridor_EventScript_Cabin1Sign" }, { "type": "sign", @@ -225,7 +225,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "SSTidalCorridor_EventScript_23C0FE" + "script": "SSTidalCorridor_EventScript_Cabin2Sign" }, { "type": "sign", @@ -233,7 +233,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "SSTidalCorridor_EventScript_23C107" + "script": "SSTidalCorridor_EventScript_Cabin3Sign" }, { "type": "sign", @@ -241,7 +241,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "SSTidalCorridor_EventScript_23C110" + "script": "SSTidalCorridor_EventScript_Cabin4Sign" } ] } \ No newline at end of file diff --git a/data/maps/SSTidalCorridor/scripts.inc b/data/maps/SSTidalCorridor/scripts.inc index ec231ccdd3..a276be20f8 100644 --- a/data/maps/SSTidalCorridor/scripts.inc +++ b/data/maps/SSTidalCorridor/scripts.inc @@ -1,218 +1,210 @@ SSTidalCorridor_MapScripts:: @ 823BFCF - map_script MAP_SCRIPT_ON_FRAME_TABLE, SSTidalCorridor_MapScript2_23BFD5 + map_script MAP_SCRIPT_ON_FRAME_TABLE, SSTidalCorridor_OnFrame .byte 0 -SSTidalCorridor_MapScript2_23BFD5: @ 823BFD5 - map_script_2 VAR_SS_TIDAL_SCOTT_STATE, 0, SSTidalCorridor_EventScript_23C219 - map_script_2 VAR_PORTHOLE_STATE, 1, SSTidalCorridor_EventScript_23BFFF - map_script_2 VAR_PORTHOLE_STATE, 5, SSTidalCorridor_EventScript_23C015 - map_script_2 VAR_PORTHOLE_STATE, 9, SSTidalCorridor_EventScript_23C067 - map_script_2 VAR_PORTHOLE_STATE, 10, SSTidalCorridor_EventScript_23C07D +SSTidalCorridor_OnFrame: @ 823BFD5 + map_script_2 VAR_SS_TIDAL_SCOTT_STATE, 0, SSTidalCorridor_EventScript_ScottScene + map_script_2 VAR_SS_TIDAL_STATE, SS_TIDAL_BOARD_SLATEPORT, SSTidalCorridor_EventScript_DepartSlateportForLilycove + map_script_2 VAR_SS_TIDAL_STATE, SS_TIDAL_BOARD_LILYCOVE, SSTidalCorridor_EventScript_DepartLilycoveForSlateport + map_script_2 VAR_SS_TIDAL_STATE, SS_TIDAL_EXIT_CURRENTS_RIGHT, SSTidalCorridor_EventScript_HalfwayToLilycove + map_script_2 VAR_SS_TIDAL_STATE, SS_TIDAL_EXIT_CURRENTS_LEFT, SSTidalCorridor_EventScript_ArrivedInSlateport .2byte 0 -SSTidalCorridor_EventScript_23BFFF:: @ 823BFFF +SSTidalCorridor_EventScript_DepartSlateportForLilycove:: @ 823BFFF special SetSSTidalFlag - setvar VAR_PORTHOLE_STATE, 2 + setvar VAR_SS_TIDAL_STATE, SS_TIDAL_DEPART_SLATEPORT lockall playse SE_PINPON - msgbox SSTidalCorridor_Text_23C462, MSGBOX_DEFAULT + msgbox SSTidal_Text_FastCurrentsHopeYouEnjoyVoyage, MSGBOX_DEFAULT releaseall end -SSTidalCorridor_EventScript_23C015:: @ 823C015 - setvar VAR_PORTHOLE_STATE, 6 +SSTidalCorridor_EventScript_DepartLilycoveForSlateport:: @ 823C015 + setvar VAR_SS_TIDAL_STATE, SS_TIDAL_DEPART_LILYCOVE lockall playse SE_PINPON - msgbox SSTidalCorridor_Text_23C4E3, MSGBOX_DEFAULT + msgbox SSTidal_Text_HopeYouEnjoyVoyage, MSGBOX_DEFAULT releaseall end -SSTidalRooms_EventScript_23C028:: @ 823C028 +SSTidalRooms_EventScript_HalfwayToSlateport:: @ 823C028 special SetSSTidalFlag - setvar VAR_PORTHOLE_STATE, 7 + setvar VAR_SS_TIDAL_STATE, SS_TIDAL_HALFWAY_SLATEPORT playse SE_PINPON - msgbox SSTidalRooms_Text_23C462, MSGBOX_DEFAULT + msgbox SSTidal_Text_FastCurrentsHopeYouEnjoyVoyage, MSGBOX_DEFAULT return -SSTidalRooms_EventScript_23C03C:: @ 823C03C +SSTidalRooms_EventScript_ArrivedInLilycove:: @ 823C03C special ResetSSTidalFlag - setvar VAR_PORTHOLE_STATE, 4 + setvar VAR_SS_TIDAL_STATE, SS_TIDAL_LAND_LILYCOVE playse SE_PINPON - msgbox SSTidalRooms_Text_23C553, MSGBOX_DEFAULT + msgbox SSTidal_Text_MadeLandInLilycove, MSGBOX_DEFAULT return -SSTidalCorridor_EventScript_23C050:: @ 823C050 - compare VAR_PORTHOLE_STATE, 2 - goto_if_eq SSTidalCorridor_EventScript_23C067 - compare VAR_PORTHOLE_STATE, 7 - goto_if_eq SSTidalCorridor_EventScript_23C07D +SSTidalCorridor_EventScript_ReachedStepCount:: @ 823C050 + compare VAR_SS_TIDAL_STATE, SS_TIDAL_DEPART_SLATEPORT + goto_if_eq SSTidalCorridor_EventScript_HalfwayToLilycove + compare VAR_SS_TIDAL_STATE, SS_TIDAL_HALFWAY_SLATEPORT + goto_if_eq SSTidalCorridor_EventScript_ArrivedInSlateport end -SSTidalCorridor_EventScript_23C067:: @ 823C067 +SSTidalCorridor_EventScript_HalfwayToLilycove:: @ 823C067 special ResetSSTidalFlag - setvar VAR_PORTHOLE_STATE, 3 + setvar VAR_SS_TIDAL_STATE, SS_TIDAL_HALFWAY_LILYCOVE lockall playse SE_PINPON - msgbox SSTidalCorridor_Text_23C4E3, MSGBOX_DEFAULT + msgbox SSTidal_Text_HopeYouEnjoyVoyage, MSGBOX_DEFAULT releaseall end -SSTidalCorridor_EventScript_23C07D:: @ 823C07D +SSTidalCorridor_EventScript_ArrivedInSlateport:: @ 823C07D special ResetSSTidalFlag - setvar VAR_PORTHOLE_STATE, 8 + setvar VAR_SS_TIDAL_STATE, SS_TIDAL_LAND_SLATEPORT lockall playse SE_PINPON - msgbox SSTidalCorridor_Text_23C50F, MSGBOX_DEFAULT + msgbox SSTidal_Text_MadeLandInSlateport, MSGBOX_DEFAULT releaseall end -SSTidalRooms_EventScript_23C093:: @ 823C093 +SSTidalRooms_EventScript_ArrivedInSlateport:: @ 823C093 special ResetSSTidalFlag - setvar VAR_PORTHOLE_STATE, 8 + setvar VAR_SS_TIDAL_STATE, SS_TIDAL_LAND_SLATEPORT playse SE_PINPON - msgbox SSTidalRooms_Text_23C50F, MSGBOX_DEFAULT + msgbox SSTidal_Text_MadeLandInSlateport, MSGBOX_DEFAULT return -SSTidalRooms_EventScript_23C0A7:: @ 823C0A7 - switch VAR_PORTHOLE_STATE - case 2, SSTidalRooms_EventScript_23C03C - case 3, SSTidalRooms_EventScript_23C03C - case 6, SSTidalRooms_EventScript_23C028 - case 7, SSTidalRooms_EventScript_23C093 +SSTidalRooms_EventScript_ProgessCruiseAfterBed:: @ 823C0A7 + switch VAR_SS_TIDAL_STATE + case SS_TIDAL_DEPART_SLATEPORT, SSTidalRooms_EventScript_ArrivedInLilycove + case SS_TIDAL_HALFWAY_LILYCOVE, SSTidalRooms_EventScript_ArrivedInLilycove + case SS_TIDAL_DEPART_LILYCOVE, SSTidalRooms_EventScript_HalfwayToSlateport + case SS_TIDAL_HALFWAY_SLATEPORT, SSTidalRooms_EventScript_ArrivedInSlateport return -SSTidalCorridor_EventScript_23C0D9:: @ 823C0D9 - msgbox SSTidalCorridor_Text_23C6EC, MSGBOX_NPC +SSTidalCorridor_EventScript_Briney:: @ 823C0D9 + msgbox SSTidalCorridor_Text_BrineyWelcomeAboard, MSGBOX_NPC end -SSTidalCorridor_EventScript_23C0E2:: @ 823C0E2 +SSTidalCorridor_EventScript_Peeko:: @ 823C0E2 lock faceplayer waitse playmoncry SPECIES_WINGULL, 0 - msgbox SSTidalCorridor_Text_23C7E1, MSGBOX_DEFAULT + msgbox SSTidalCorridor_Text_Peeko, MSGBOX_DEFAULT waitmoncry release end -SSTidalCorridor_EventScript_23C0F5:: @ 823C0F5 - msgbox SSTidalCorridor_Text_23C7F8, MSGBOX_SIGN +SSTidalCorridor_EventScript_Cabin1Sign:: @ 823C0F5 + msgbox SSTidalCorridor_Text_Cabin1, MSGBOX_SIGN end -SSTidalCorridor_EventScript_23C0FE:: @ 823C0FE - msgbox SSTidalCorridor_Text_23C800, MSGBOX_SIGN +SSTidalCorridor_EventScript_Cabin2Sign:: @ 823C0FE + msgbox SSTidalCorridor_Text_Cabin2, MSGBOX_SIGN end -SSTidalCorridor_EventScript_23C107:: @ 823C107 - msgbox SSTidalCorridor_Text_23C808, MSGBOX_SIGN +SSTidalCorridor_EventScript_Cabin3Sign:: @ 823C107 + msgbox SSTidalCorridor_Text_Cabin3, MSGBOX_SIGN end -SSTidalCorridor_EventScript_23C110:: @ 823C110 - msgbox SSTidalCorridor_Text_23C810, MSGBOX_SIGN +SSTidalCorridor_EventScript_Cabin4Sign:: @ 823C110 + msgbox SSTidalCorridor_Text_Cabin4, MSGBOX_SIGN end -SSTidalCorridor_EventScript_23C119:: @ 823C119 +SSTidalCorridor_EventScript_ExitSailor:: @ 823C119 lock faceplayer - compare VAR_PORTHOLE_STATE, 4 - goto_if_eq SSTidalCorridor_EventScript_23C13B - compare VAR_PORTHOLE_STATE, 8 - goto_if_eq SSTidalCorridor_EventScript_23C15A - msgbox SSTidalCorridor_Text_23C596, MSGBOX_DEFAULT + compare VAR_SS_TIDAL_STATE, SS_TIDAL_LAND_LILYCOVE + goto_if_eq SSTidalCorridor_EventScript_ExitLilycove + compare VAR_SS_TIDAL_STATE, SS_TIDAL_LAND_SLATEPORT + goto_if_eq SSTidalCorridor_EventScript_ExitSlateport + msgbox SSTidalCorridor_Text_CanRestInCabin2, MSGBOX_DEFAULT release end -SSTidalCorridor_EventScript_23C13B:: @ 823C13B +SSTidalCorridor_EventScript_ExitLilycove:: @ 823C13B setrespawn HEAL_LOCATION_LILYCOVE_CITY - msgbox SSTidalCorridor_Text_23C64F, MSGBOX_DEFAULT - call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_23C179 + msgbox SSTidalCorridor_Text_WeveArrived, MSGBOX_DEFAULT + call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_HideSnatchGiver warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11 waitstate release end -SSTidalCorridor_EventScript_23C15A:: @ 823C15A +SSTidalCorridor_EventScript_ExitSlateport:: @ 823C15A setrespawn HEAL_LOCATION_SLATEPORT_CITY - msgbox SSTidalCorridor_Text_23C64F, MSGBOX_DEFAULT - call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_23C179 + msgbox SSTidalCorridor_Text_WeveArrived, MSGBOX_DEFAULT + call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_HideSnatchGiver warp MAP_SLATEPORT_CITY_HARBOR, 255, 8, 11 waitstate release end -SSTidalCorridor_EventScript_23C179:: @ 823C179 +SSTidalCorridor_EventScript_HideSnatchGiver:: @ 823C179 setflag FLAG_HIDE_SS_TIDAL_ROOMS_SNATCH_GIVER return -SSTidalCorridor_EventScript_23C17D:: @ 823C17D +SSTidalCorridor_EventScript_Porthole:: @ 823C17D lockall - compare VAR_PORTHOLE_STATE, 2 - goto_if_eq SSTidalCorridor_EventScript_23C19E - compare VAR_PORTHOLE_STATE, 7 - goto_if_eq SSTidalCorridor_EventScript_23C19E - msgbox SSTidalCorridor_Text_23C6C3, MSGBOX_DEFAULT + compare VAR_SS_TIDAL_STATE, SS_TIDAL_DEPART_SLATEPORT + goto_if_eq SSTidalCorridor_EventScript_LookThroughPorthole + compare VAR_SS_TIDAL_STATE, SS_TIDAL_HALFWAY_SLATEPORT + goto_if_eq SSTidalCorridor_EventScript_LookThroughPorthole + msgbox SSTidalCorridor_Text_HorizonSpreadsBeyondPorthole, MSGBOX_DEFAULT releaseall end -SSTidalCorridor_EventScript_23C19E:: @ 823C19E - special sub_80FB7A4 +SSTidalCorridor_EventScript_LookThroughPorthole:: @ 823C19E + special LookThroughPorthole waitstate end -SSTidalCorridor_EventScript_23C1A3:: @ 823C1A3 +SSTidalCorridor_EventScript_Sailor:: @ 823C1A3 lock faceplayer - goto_if_set FLAG_DEFEATED_SS_TIDAL_TRAINERS, SSTidalCorridor_EventScript_23C1BD - call SSTidalCorridor_EventScript_23C1C7 - msgbox SSTidalCorridor_Text_23C65E, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_SS_TIDAL_TRAINERS, SSTidalCorridor_EventScript_EnjoyYourCruise + call SSTidalCorridor_EventScript_CheckIfTrainersDefeated + msgbox SSTidalCorridor_Text_VisitOtherCabins, MSGBOX_DEFAULT release end -SSTidalCorridor_EventScript_23C1BD:: @ 823C1BD - msgbox SSTidalCorridor_Text_23C6B0, MSGBOX_DEFAULT +SSTidalCorridor_EventScript_EnjoyYourCruise:: @ 823C1BD + msgbox SSTidalCorridor_Text_EnjoyYourCruise, MSGBOX_DEFAULT release end -SSTidalCorridor_EventScript_23C1C7:: @ 823C1C7 - checktrainerflag TRAINER_PHILLIP - goto_if_lt SSTidalCorridor_EventScript_23C218 - checktrainerflag TRAINER_LEONARD - goto_if_lt SSTidalCorridor_EventScript_23C218 - checktrainerflag TRAINER_COLTON - goto_if_lt SSTidalCorridor_EventScript_23C218 - checktrainerflag TRAINER_MICAH - goto_if_lt SSTidalCorridor_EventScript_23C218 - checktrainerflag TRAINER_THOMAS - goto_if_lt SSTidalCorridor_EventScript_23C218 - checktrainerflag TRAINER_LEA_AND_JED - goto_if_lt SSTidalCorridor_EventScript_23C218 - checktrainerflag TRAINER_GARRET - goto_if_lt SSTidalCorridor_EventScript_23C218 - checktrainerflag TRAINER_NAOMI - goto_if_lt SSTidalCorridor_EventScript_23C218 +SSTidalCorridor_EventScript_CheckIfTrainersDefeated:: @ 823C1C7 + goto_if_not_defeated TRAINER_PHILLIP, SSTidalCorridor_EventScript_TrainerNotDefeated + goto_if_not_defeated TRAINER_LEONARD, SSTidalCorridor_EventScript_TrainerNotDefeated + goto_if_not_defeated TRAINER_COLTON, SSTidalCorridor_EventScript_TrainerNotDefeated + goto_if_not_defeated TRAINER_MICAH, SSTidalCorridor_EventScript_TrainerNotDefeated + goto_if_not_defeated TRAINER_THOMAS, SSTidalCorridor_EventScript_TrainerNotDefeated + goto_if_not_defeated TRAINER_LEA_AND_JED, SSTidalCorridor_EventScript_TrainerNotDefeated + goto_if_not_defeated TRAINER_GARRET, SSTidalCorridor_EventScript_TrainerNotDefeated + goto_if_not_defeated TRAINER_NAOMI, SSTidalCorridor_EventScript_TrainerNotDefeated setflag FLAG_DEFEATED_SS_TIDAL_TRAINERS - goto SSTidalCorridor_EventScript_23C1BD + goto SSTidalCorridor_EventScript_EnjoyYourCruise return -SSTidalCorridor_EventScript_23C218:: @ 823C218 +SSTidalCorridor_EventScript_TrainerNotDefeated:: @ 823C218 return -SSTidalCorridor_EventScript_23C219:: @ 823C219 +SSTidalCorridor_EventScript_ScottScene:: @ 823C219 lockall - applymovement 5, SSTidalCorridor_Movement_23C26D + applymovement 5, SSTidalCorridor_Movement_ScottApproachPlayer waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox SSTidalCorridor_Text_23C28F, MSGBOX_DEFAULT + msgbox SSTidalCorridor_Text_ScottBattleFrontierInvite, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, SSTidalCorridor_Movement_23C27D - applymovement 1, SSTidalCorridor_Movement_23C284 - applymovement 5, SSTidalCorridor_Movement_23C275 + applymovement EVENT_OBJ_ID_PLAYER, SSTidalCorridor_Movement_PlayerWatchScottExit + applymovement 1, SSTidalCorridor_Movement_SailorMoveForScott + applymovement 5, SSTidalCorridor_Movement_ScottExit waitmovement 0 playse SE_KAIDAN waitse removeobject 5 - applymovement 1, SSTidalCorridor_Movement_23C28B + applymovement 1, SSTidalCorridor_Movement_SailorReturn waitmovement 0 delay 30 setflag FLAG_MET_SCOTT_ON_SS_TIDAL @@ -220,7 +212,7 @@ SSTidalCorridor_EventScript_23C219:: @ 823C219 releaseall end -SSTidalCorridor_Movement_23C26D: @ 823C26D +SSTidalCorridor_Movement_ScottApproachPlayer: @ 823C26D walk_left walk_left walk_left @@ -230,7 +222,7 @@ SSTidalCorridor_Movement_23C26D: @ 823C26D walk_left step_end -SSTidalCorridor_Movement_23C275: @ 823C275 +SSTidalCorridor_Movement_ScottExit: @ 823C275 walk_in_place_fastest_down delay_16 delay_16 @@ -240,7 +232,7 @@ SSTidalCorridor_Movement_23C275: @ 823C275 walk_left step_end -SSTidalCorridor_Movement_23C27D: @ 823C27D +SSTidalCorridor_Movement_PlayerWatchScottExit: @ 823C27D delay_16 delay_16 delay_16 @@ -249,7 +241,7 @@ SSTidalCorridor_Movement_23C27D: @ 823C27D walk_in_place_fastest_down step_end -SSTidalCorridor_Movement_23C284: @ 823C284 +SSTidalCorridor_Movement_SailorMoveForScott: @ 823C284 delay_16 walk_right walk_right @@ -258,13 +250,13 @@ SSTidalCorridor_Movement_23C284: @ 823C284 walk_in_place_fastest_left step_end -SSTidalCorridor_Movement_23C28B: @ 823C28B +SSTidalCorridor_Movement_SailorReturn: @ 823C28B walk_left walk_left walk_in_place_fastest_up step_end -SSTidalCorridor_Text_23C28F: @ 823C28F +SSTidalCorridor_Text_ScottBattleFrontierInvite: @ 823C28F .string "SCOTT: Well, hi, hi!\n" .string "{PLAYER}{KUN}, {PLAYER}{KUN}!\p" .string "Something's come up, so I have to\n" @@ -284,27 +276,25 @@ SSTidalCorridor_Text_23C28F: @ 823C28F .string "Okay, {PLAYER}{KUN}, I'll be waiting for you\n" .string "at the BATTLE FRONTIER!$" -SSTidalCorridor_Text_23C462: @ 823C462 -SSTidalRooms_Text_23C462: @ 823C462 +SSTidal_Text_FastCurrentsHopeYouEnjoyVoyage: @ 823C462 .string "This ferry is built to plow through\n" .string "fast-running currents.\p" .string "We hope you enjoy your voyage with us.\n" .string "Feel free to explore the ship.$" -SSTidalCorridor_Text_23C4E3: @ 823C4E3 +SSTidal_Text_HopeYouEnjoyVoyage: @ 823C4E3 .string "We hope you enjoy your voyage on\n" .string "our ferry.$" -SSTidalCorridor_Text_23C50F: @ 823C50F -SSTidalRooms_Text_23C50F: @ 823C50F +SSTidal_Text_MadeLandInSlateport: @ 823C50F .string "We have made land in SLATEPORT CITY.\n" .string "Thank you for sailing with us.$" -SSTidalRooms_Text_23C553: @ 823C553 +SSTidal_Text_MadeLandInLilycove: @ 823C553 .string "We have made land in LILYCOVE CITY.\n" .string "Thank you for sailing with us.$" -SSTidalCorridor_Text_23C596: @ 823C596 +SSTidalCorridor_Text_CanRestInCabin2: @ 823C596 .string "It'll be some time before we make land,\n" .string "I reckon.\p" .string "You can rest up in your cabin if you'd\n" @@ -312,22 +302,22 @@ SSTidalCorridor_Text_23C596: @ 823C596 .string "The bed in there is soft and plushy.\n" .string "I can attest to how comfy it is!$" -SSTidalCorridor_Text_23C64F: @ 823C64F +SSTidalCorridor_Text_WeveArrived: @ 823C64F .string "We've arrived!$" -SSTidalCorridor_Text_23C65E: @ 823C65E +SSTidalCorridor_Text_VisitOtherCabins: @ 823C65E .string "Go visit other cabins.\n" .string "TRAINERS bored of the boat trip will\l" .string "be itching to battle.$" -SSTidalCorridor_Text_23C6B0: @ 823C6B0 +SSTidalCorridor_Text_EnjoyYourCruise: @ 823C6B0 .string "Enjoy your cruise!$" -SSTidalCorridor_Text_23C6C3: @ 823C6C3 +SSTidalCorridor_Text_HorizonSpreadsBeyondPorthole: @ 823C6C3 .string "The horizon spreads beyond\n" .string "the porthole.$" -SSTidalCorridor_Text_23C6EC: @ 823C6EC +SSTidalCorridor_Text_BrineyWelcomeAboard: @ 823C6EC .string "MR. BRINEY: Welcome aboard, {PLAYER}{KUN}!\p" .string "They made me honorary captain of\n" .string "the S.S. TIDAL!\p" @@ -337,17 +327,17 @@ SSTidalCorridor_Text_23C6EC: @ 823C6EC .string "Let me just say, it stirred my sleeping\n" .string "soul as a sailor!$" -SSTidalCorridor_Text_23C7E1: @ 823C7E1 +SSTidalCorridor_Text_Peeko: @ 823C7E1 .string "PEEKO: Pihyo pihyohyo…$" -SSTidalCorridor_Text_23C7F8: @ 823C7F8 +SSTidalCorridor_Text_Cabin1: @ 823C7F8 .string "Cabin 1$" -SSTidalCorridor_Text_23C800: @ 823C800 +SSTidalCorridor_Text_Cabin2: @ 823C800 .string "Cabin 2$" -SSTidalCorridor_Text_23C808: @ 823C808 +SSTidalCorridor_Text_Cabin3: @ 823C808 .string "Cabin 3$" -SSTidalCorridor_Text_23C810: @ 823C810 +SSTidalCorridor_Text_Cabin4: @ 823C810 .string "Cabin 4$" diff --git a/data/maps/SSTidalLowerDeck/map.json b/data/maps/SSTidalLowerDeck/map.json index 3e678ca8cc..45610454ae 100644 --- a/data/maps/SSTidalLowerDeck/map.json +++ b/data/maps/SSTidalLowerDeck/map.json @@ -24,7 +24,7 @@ "movement_range_y": 4, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "SSTidalLowerDeck_EventScript_23C819", + "script": "SSTidalLowerDeck_EventScript_Phillip", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 4, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "SSTidalLowerDeck_EventScript_23C830", + "script": "SSTidalLowerDeck_EventScript_Leonard", "flag": "0" } ], diff --git a/data/maps/SSTidalLowerDeck/scripts.inc b/data/maps/SSTidalLowerDeck/scripts.inc index 68761376dc..c90366c23a 100644 --- a/data/maps/SSTidalLowerDeck/scripts.inc +++ b/data/maps/SSTidalLowerDeck/scripts.inc @@ -1,38 +1,38 @@ SSTidalLowerDeck_MapScripts:: @ 823C818 .byte 0 -SSTidalLowerDeck_EventScript_23C819:: @ 823C819 - trainerbattle_single TRAINER_PHILLIP, SSTidalLowerDeck_Text_23C847, SSTidalLowerDeck_Text_23C8A0 - msgbox SSTidalLowerDeck_Text_23C8B4, MSGBOX_AUTOCLOSE +SSTidalLowerDeck_EventScript_Phillip:: @ 823C819 + trainerbattle_single TRAINER_PHILLIP, SSTidalLowerDeck_Text_PhillipIntro, SSTidalLowerDeck_Text_PhillipDefeat + msgbox SSTidalLowerDeck_Text_PhillipPostBattle, MSGBOX_AUTOCLOSE end -SSTidalLowerDeck_EventScript_23C830:: @ 823C830 - trainerbattle_single TRAINER_LEONARD, SSTidalLowerDeck_Text_23C917, SSTidalLowerDeck_Text_23C97D - msgbox SSTidalLowerDeck_Text_23C98E, MSGBOX_AUTOCLOSE +SSTidalLowerDeck_EventScript_Leonard:: @ 823C830 + trainerbattle_single TRAINER_LEONARD, SSTidalLowerDeck_Text_LeonardIntro, SSTidalLowerDeck_Text_LeonardDefeat + msgbox SSTidalLowerDeck_Text_LeonardPostBattle, MSGBOX_AUTOCLOSE end -SSTidalLowerDeck_Text_23C847: @ 823C847 +SSTidalLowerDeck_Text_PhillipIntro: @ 823C847 .string "Arrrgh! I'm fed up and dog-tired of\n" .string "cleaning this huge place!\p" .string "Let's have a quick battle!$" -SSTidalLowerDeck_Text_23C8A0: @ 823C8A0 +SSTidalLowerDeck_Text_PhillipDefeat: @ 823C8A0 .string "Little bro, I lost!$" -SSTidalLowerDeck_Text_23C8B4: @ 823C8B4 +SSTidalLowerDeck_Text_PhillipPostBattle: @ 823C8B4 .string "We're the CLEANUP BROTHERS!\p" .string "The old one dumps the detergent,\n" .string "and the young one does the scrubbing!$" -SSTidalLowerDeck_Text_23C917: @ 823C917 +SSTidalLowerDeck_Text_LeonardIntro: @ 823C917 .string "This is the bottom of the ship's hull.\n" .string "There's plenty of room.\l" .string "It'll be alright for a POKéMON battle.$" -SSTidalLowerDeck_Text_23C97D: @ 823C97D +SSTidalLowerDeck_Text_LeonardDefeat: @ 823C97D .string "Big bro, I lost!$" -SSTidalLowerDeck_Text_23C98E: @ 823C98E +SSTidalLowerDeck_Text_LeonardPostBattle: @ 823C98E .string "We're the CLEANUP BROTHERS!\p" .string "The old one dumps the detergent,\n" .string "and the young one does the scrubbing!$" diff --git a/data/maps/SSTidalRooms/map.json b/data/maps/SSTidalRooms/map.json index 8fb4bd05db..b2da534c30 100644 --- a/data/maps/SSTidalRooms/map.json +++ b/data/maps/SSTidalRooms/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "SSTidalRooms_EventScript_23CA49", + "script": "SSTidalRooms_EventScript_Colton", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "SSTidalRooms_EventScript_23CA60", + "script": "SSTidalRooms_EventScript_Micah", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "SSTidalRooms_EventScript_23CA77", + "script": "SSTidalRooms_EventScript_Thomas", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "SSTidalRooms_EventScript_23CA8E", + "script": "SSTidalRooms_EventScript_Jed", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "SSTidalRooms_EventScript_23CAA9", + "script": "SSTidalRooms_EventScript_Lea", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "SSTidalRooms_EventScript_23CAC4", + "script": "SSTidalRooms_EventScript_Garret", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "0", - "script": "SSTidalRooms_EventScript_23CADB", + "script": "SSTidalRooms_EventScript_Naomi", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SSTidalRooms_EventScript_23C9F2", + "script": "SSTidalRooms_EventScript_SnatchGiver", "flag": "FLAG_HIDE_SS_TIDAL_ROOMS_SNATCH_GIVER" } ], @@ -213,7 +213,7 @@ "y": 11, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SSTidalRooms_EventScript_23CA33" + "script": "SSTidalRooms_EventScript_Bed" }, { "type": "sign", @@ -221,7 +221,7 @@ "y": 12, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SSTidalRooms_EventScript_23CA33" + "script": "SSTidalRooms_EventScript_Bed" } ] } \ No newline at end of file diff --git a/data/maps/SSTidalRooms/scripts.inc b/data/maps/SSTidalRooms/scripts.inc index 3b8df90a3c..1cf464d0de 100644 --- a/data/maps/SSTidalRooms/scripts.inc +++ b/data/maps/SSTidalRooms/scripts.inc @@ -1,175 +1,175 @@ SSTidalRooms_MapScripts:: @ 823C9F1 .byte 0 -SSTidalRooms_EventScript_23C9F2:: @ 823C9F2 +SSTidalRooms_EventScript_SnatchGiver:: @ 823C9F2 lock faceplayer - goto_if_set FLAG_RECEIVED_TM49, SSTidalRooms_EventScript_23CA29 - msgbox SSTidalRooms_Text_23D098, MSGBOX_DEFAULT - giveitem_std ITEM_TM49 - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_TM49, SSTidalRooms_EventScript_ExplainSnatch + msgbox SSTidalRooms_Text_NotSuspiciousTakeThis, MSGBOX_DEFAULT + giveitem ITEM_TM49 + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_TM49 - msgbox SSTidalRooms_Text_23D145, MSGBOX_DEFAULT + msgbox SSTidalRooms_Text_ExplainSnatch, MSGBOX_DEFAULT release end -SSTidalRooms_EventScript_23CA29:: @ 823CA29 - msgbox SSTidalRooms_Text_23D145, MSGBOX_DEFAULT +SSTidalRooms_EventScript_ExplainSnatch:: @ 823CA29 + msgbox SSTidalRooms_Text_ExplainSnatch, MSGBOX_DEFAULT release end -SSTidalRooms_EventScript_23CA33:: @ 823CA33 +SSTidalRooms_EventScript_Bed:: @ 823CA33 lockall - msgbox SSTidalRooms_Text_23CAF2, MSGBOX_DEFAULT + msgbox SSTidalRooms_Text_TakeRestOnBed, MSGBOX_DEFAULT closemessage call Common_EventScript_OutOfCenterPartyHeal - call SSTidalRooms_EventScript_23C0A7 + call SSTidalRooms_EventScript_ProgessCruiseAfterBed releaseall end -SSTidalRooms_EventScript_23CA49:: @ 823CA49 - trainerbattle_single TRAINER_COLTON, SSTidalRooms_Text_23CB14, SSTidalRooms_Text_23CB58 - msgbox SSTidalRooms_Text_23CB75, MSGBOX_AUTOCLOSE +SSTidalRooms_EventScript_Colton:: @ 823CA49 + trainerbattle_single TRAINER_COLTON, SSTidalRooms_Text_ColtonIntro, SSTidalRooms_Text_ColtonDefeat + msgbox SSTidalRooms_Text_ColtonPostBattle, MSGBOX_AUTOCLOSE end -SSTidalRooms_EventScript_23CA60:: @ 823CA60 - trainerbattle_single TRAINER_MICAH, SSTidalRooms_Text_23CBEB, SSTidalRooms_Text_23CC04 - msgbox SSTidalRooms_Text_23CC26, MSGBOX_AUTOCLOSE +SSTidalRooms_EventScript_Micah:: @ 823CA60 + trainerbattle_single TRAINER_MICAH, SSTidalRooms_Text_MicahIntro, SSTidalRooms_Text_MicahDefeat + msgbox SSTidalRooms_Text_MicahPostBattle, MSGBOX_AUTOCLOSE end -SSTidalRooms_EventScript_23CA77:: @ 823CA77 - trainerbattle_single TRAINER_THOMAS, SSTidalRooms_Text_23CC68, SSTidalRooms_Text_23CC8A - msgbox SSTidalRooms_Text_23CCBB, MSGBOX_AUTOCLOSE +SSTidalRooms_EventScript_Thomas:: @ 823CA77 + trainerbattle_single TRAINER_THOMAS, SSTidalRooms_Text_ThomasIntro, SSTidalRooms_Text_ThomasDefeat + msgbox SSTidalRooms_Text_ThomasPostBattle, MSGBOX_AUTOCLOSE end -SSTidalRooms_EventScript_23CA8E:: @ 823CA8E - trainerbattle_double TRAINER_LEA_AND_JED, SSTidalRooms_Text_23CD04, SSTidalRooms_Text_23CD54, SSTidalRooms_Text_23CDC6 - msgbox SSTidalRooms_Text_23CD5F, MSGBOX_AUTOCLOSE +SSTidalRooms_EventScript_Jed:: @ 823CA8E + trainerbattle_double TRAINER_LEA_AND_JED, SSTidalRooms_Text_JedIntro, SSTidalRooms_Text_JedDefeat, SSTidalRooms_Text_JedNotEnoughMons + msgbox SSTidalRooms_Text_JedPostBattle, MSGBOX_AUTOCLOSE end -SSTidalRooms_EventScript_23CAA9:: @ 823CAA9 - trainerbattle_double TRAINER_LEA_AND_JED, SSTidalRooms_Text_23CE04, SSTidalRooms_Text_23CE4B, SSTidalRooms_Text_23CEB0 - msgbox SSTidalRooms_Text_23CE59, MSGBOX_AUTOCLOSE +SSTidalRooms_EventScript_Lea:: @ 823CAA9 + trainerbattle_double TRAINER_LEA_AND_JED, SSTidalRooms_Text_LeaIntro, SSTidalRooms_Text_LeaDefeat, SSTidalRooms_Text_LeaNotEnoughMons + msgbox SSTidalRooms_Text_LeaPostBattle, MSGBOX_AUTOCLOSE end -SSTidalRooms_EventScript_23CAC4:: @ 823CAC4 - trainerbattle_single TRAINER_GARRET, SSTidalRooms_Text_23CEEE, SSTidalRooms_Text_23CF36 - msgbox SSTidalRooms_Text_23CF45, MSGBOX_AUTOCLOSE +SSTidalRooms_EventScript_Garret:: @ 823CAC4 + trainerbattle_single TRAINER_GARRET, SSTidalRooms_Text_GarretIntro, SSTidalRooms_Text_GarretDefeat + msgbox SSTidalRooms_Text_GarretPostBattle, MSGBOX_AUTOCLOSE end -SSTidalRooms_EventScript_23CADB:: @ 823CADB - trainerbattle_single TRAINER_NAOMI, SSTidalRooms_Text_23CF97, SSTidalRooms_Text_23CFF4 - msgbox SSTidalRooms_Text_23D013, MSGBOX_AUTOCLOSE +SSTidalRooms_EventScript_Naomi:: @ 823CADB + trainerbattle_single TRAINER_NAOMI, SSTidalRooms_Text_NaomiIntro, SSTidalRooms_Text_NaomiDefeat + msgbox SSTidalRooms_Text_NaomiPostBattle, MSGBOX_AUTOCLOSE end -SSTidalRooms_Text_23CAF2: @ 823CAF2 +SSTidalRooms_Text_TakeRestOnBed: @ 823CAF2 .string "There's a bed…\n" .string "Let's take a rest.$" -SSTidalRooms_Text_23CB14: @ 823CB14 +SSTidalRooms_Text_ColtonIntro: @ 823CB14 .string "I often sail to LILYCOVE CITY.\p" .string "I enjoy attending CONTESTS,\n" .string "you see.$" -SSTidalRooms_Text_23CB58: @ 823CB58 +SSTidalRooms_Text_ColtonDefeat: @ 823CB58 .string "That was an enjoyable match!$" -SSTidalRooms_Text_23CB75: @ 823CB75 +SSTidalRooms_Text_ColtonPostBattle: @ 823CB75 .string "I get so excited imagining what kinds\n" .string "of POKéMON I'll get to see in the next\l" .string "CONTEST. The anticipation of it thrills!$" -SSTidalRooms_Text_23CBEB: @ 823CBEB +SSTidalRooms_Text_MicahIntro: @ 823CBEB .string "Are your friends strong?$" -SSTidalRooms_Text_23CC04: @ 823CC04 +SSTidalRooms_Text_MicahDefeat: @ 823CC04 .string "Your friends are, indeed, strong.$" -SSTidalRooms_Text_23CC26: @ 823CC26 +SSTidalRooms_Text_MicahPostBattle: @ 823CC26 .string "Friends need not be human.\n" .string "For me, POKéMON are treasured friends!$" -SSTidalRooms_Text_23CC68: @ 823CC68 +SSTidalRooms_Text_ThomasIntro: @ 823CC68 .string "Child…\n" .string "Did you knock on the door?$" -SSTidalRooms_Text_23CC8A: @ 823CC8A +SSTidalRooms_Text_ThomasDefeat: @ 823CC8A .string "A loss is to be accepted without haste\n" .string "or panic.$" -SSTidalRooms_Text_23CCBB: @ 823CCBB +SSTidalRooms_Text_ThomasPostBattle: @ 823CCBB .string "To be never ruffled in any situation is\n" .string "the GENTLEMAN's code of conduct.$" -SSTidalRooms_Text_23CD04: @ 823CD04 +SSTidalRooms_Text_JedIntro: @ 823CD04 .string "JED: I feel a little shy about this, but…\n" .string "We'll show you our lovey-dovey power!$" -SSTidalRooms_Text_23CD54: @ 823CD54 +SSTidalRooms_Text_JedDefeat: @ 823CD54 .string "JED: Sigh…$" -SSTidalRooms_Text_23CD5F: @ 823CD5F +SSTidalRooms_Text_JedPostBattle: @ 823CD5F .string "JED: It's the first time that our lovey-\n" .string "dovey power couldn't prevail!\l" .string "You must be an awesome TRAINER!$" -SSTidalRooms_Text_23CDC6: @ 823CDC6 +SSTidalRooms_Text_JedNotEnoughMons: @ 823CDC6 .string "JED: You only have one POKéMON?\n" .string "Isn't that just too lonesome?$" -SSTidalRooms_Text_23CE04: @ 823CE04 +SSTidalRooms_Text_LeaIntro: @ 823CE04 .string "LEA: I feel a little silly, but…\n" .string "We'll show you our lovey-dovey power!$" -SSTidalRooms_Text_23CE4B: @ 823CE4B +SSTidalRooms_Text_LeaDefeat: @ 823CE4B .string "LEA: Oh, boo!$" -SSTidalRooms_Text_23CE59: @ 823CE59 +SSTidalRooms_Text_LeaPostBattle: @ 823CE59 .string "LEA: I can't believe it!\n" .string "Our lovey-dovey power failed…\l" .string "You must be an awesome TRAINER!$" -SSTidalRooms_Text_23CEB0: @ 823CEB0 +SSTidalRooms_Text_LeaNotEnoughMons: @ 823CEB0 .string "LEA: I wanted to battle…\n" .string "But you don't even have two POKéMON…$" -SSTidalRooms_Text_23CEEE: @ 823CEEE +SSTidalRooms_Text_GarretIntro: @ 823CEEE .string "Ah, you've come just in time.\p" .string "I'm bored, you see.\n" .string "You may entertain me.$" -SSTidalRooms_Text_23CF36: @ 823CF36 +SSTidalRooms_Text_GarretDefeat: @ 823CF36 .string "…That will do.$" -SSTidalRooms_Text_23CF45: @ 823CF45 +SSTidalRooms_Text_GarretPostBattle: @ 823CF45 .string "Perhaps I shall get Father to acquire\n" .string "a yacht for me.\l" .string "A yacht for me and POKéMON!$" -SSTidalRooms_Text_23CF97: @ 823CF97 +SSTidalRooms_Text_NaomiIntro: @ 823CF97 .string "Oh, you're such an adorable TRAINER.\n" .string "Would you like to have tea?\l" .string "Or would you rather battle?$" -SSTidalRooms_Text_23CFF4: @ 823CFF4 +SSTidalRooms_Text_NaomiDefeat: @ 823CFF4 .string "I see.\n" .string "You're the active sort.$" -SSTidalRooms_Text_23D013: @ 823D013 +SSTidalRooms_Text_NaomiPostBattle: @ 823D013 .string "A world cruise on a luxury liner has its\n" .string "charms, I must say…\p" .string "But, I will admit there is an appealing\n" .string "side to touring HOENN by ferry.$" -SSTidalRooms_Text_23D098: @ 823D098 +SSTidalRooms_Text_NotSuspiciousTakeThis: @ 823D098 .string "Uh… Hi! I… I'm not acting suspicious!\n" .string "Uh… You can have this! For free!\p" .string "It… Honestly, I didn't SNATCH it from\n" .string "someone! I'd never do such a thing!\l" .string "It's clean! You can use it!$" -SSTidalRooms_Text_23D145: @ 823D145 +SSTidalRooms_Text_ExplainSnatch: @ 823D145 .string "SNATCH steals the beneficial effects\n" .string "of certain moves before they can be\l" .string "used by a foe or ally.$" diff --git a/data/maps/SafariZone_North/map.json b/data/maps/SafariZone_North/map.json index 0dafeb1801..90ecec8c2d 100644 --- a/data/maps/SafariZone_North/map.json +++ b/data/maps/SafariZone_North/map.json @@ -40,7 +40,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_North_EventScript_23D254", + "script": "SafariZone_North_EventScript_Fisherman", "flag": "0" }, { @@ -53,7 +53,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_North_EventScript_23D25D", + "script": "SafariZone_North_EventScript_Man", "flag": "0" }, { diff --git a/data/maps/SafariZone_North/scripts.inc b/data/maps/SafariZone_North/scripts.inc index d98fdca883..365266b4b2 100644 --- a/data/maps/SafariZone_North/scripts.inc +++ b/data/maps/SafariZone_North/scripts.inc @@ -1,11 +1,11 @@ SafariZone_North_MapScripts:: @ 823D253 .byte 0 -SafariZone_North_EventScript_23D254:: @ 823D254 - msgbox SafariZone_North_Text_2A5489, MSGBOX_NPC +SafariZone_North_EventScript_Fisherman:: @ 823D254 + msgbox SafariZone_North_Text_Fisherman, MSGBOX_NPC end -SafariZone_North_EventScript_23D25D:: @ 823D25D - msgbox SafariZone_North_Text_2A54F0, MSGBOX_NPC +SafariZone_North_EventScript_Man:: @ 823D25D + msgbox SafariZone_North_Text_Man, MSGBOX_NPC end diff --git a/data/maps/SafariZone_Northeast/map.json b/data/maps/SafariZone_Northeast/map.json index 798563263a..d362f8de32 100644 --- a/data/maps/SafariZone_Northeast/map.json +++ b/data/maps/SafariZone_Northeast/map.json @@ -35,7 +35,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northeast_EventScript_23D3C6", + "script": "SafariZone_Northeast_EventScript_Boy", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northeast_EventScript_23D3D8", + "script": "SafariZone_Northeast_EventScript_Girl", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northeast_EventScript_23D3CF", + "script": "SafariZone_Northeast_EventScript_Woman", "flag": "0" }, { diff --git a/data/maps/SafariZone_Northeast/scripts.inc b/data/maps/SafariZone_Northeast/scripts.inc index 207e2a584b..a34d6ab951 100644 --- a/data/maps/SafariZone_Northeast/scripts.inc +++ b/data/maps/SafariZone_Northeast/scripts.inc @@ -1,3 +1,4 @@ SafariZone_Northeast_MapScripts:: @ 8242C02 .byte 0 +@ Event scripts for SafariZone_Northeast are in SafariZone_South/scripts.inc diff --git a/data/maps/SafariZone_Northwest/map.json b/data/maps/SafariZone_Northwest/map.json index 6ead6d714c..7805c872e6 100644 --- a/data/maps/SafariZone_Northwest/map.json +++ b/data/maps/SafariZone_Northwest/map.json @@ -35,7 +35,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northwest_EventScript_23D24A", + "script": "SafariZone_Northwest_EventScript_Man", "flag": "0" }, { diff --git a/data/maps/SafariZone_Northwest/scripts.inc b/data/maps/SafariZone_Northwest/scripts.inc index a64c142fe6..5e6261a2e3 100644 --- a/data/maps/SafariZone_Northwest/scripts.inc +++ b/data/maps/SafariZone_Northwest/scripts.inc @@ -1,7 +1,7 @@ SafariZone_Northwest_MapScripts:: @ 823D249 .byte 0 -SafariZone_Northwest_EventScript_23D24A:: @ 823D24A - msgbox SafariZone_Northwest_Text_2A542C, MSGBOX_NPC +SafariZone_Northwest_EventScript_Man:: @ 823D24A + msgbox SafariZone_Northwest_Text_Man, MSGBOX_NPC end diff --git a/data/maps/SafariZone_RestHouse/map.json b/data/maps/SafariZone_RestHouse/map.json index db0ba8048a..fd9ae9dcb7 100644 --- a/data/maps/SafariZone_RestHouse/map.json +++ b/data/maps/SafariZone_RestHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_RestHouse_EventScript_242BE7", + "script": "SafariZone_RestHouse_EventScript_Youngster", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_RestHouse_EventScript_242BF0", + "script": "SafariZone_RestHouse_EventScript_PsychicM", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_RestHouse_EventScript_242BF9", + "script": "SafariZone_RestHouse_EventScript_FatMan", "flag": "0" } ], diff --git a/data/maps/SafariZone_RestHouse/scripts.inc b/data/maps/SafariZone_RestHouse/scripts.inc index e08cfe3da4..bc5688f0fe 100644 --- a/data/maps/SafariZone_RestHouse/scripts.inc +++ b/data/maps/SafariZone_RestHouse/scripts.inc @@ -1,15 +1,15 @@ SafariZone_RestHouse_MapScripts:: @ 8242BE6 .byte 0 -SafariZone_RestHouse_EventScript_242BE7:: @ 8242BE7 - msgbox SafariZone_RestHouse_Text_2A5639, MSGBOX_NPC +SafariZone_RestHouse_EventScript_Youngster:: @ 8242BE7 + msgbox SafariZone_RestHouse_Text_Youngster, MSGBOX_NPC end -SafariZone_RestHouse_EventScript_242BF0:: @ 8242BF0 - msgbox SafariZone_RestHouse_Text_2A56E1, MSGBOX_NPC +SafariZone_RestHouse_EventScript_PsychicM:: @ 8242BF0 + msgbox SafariZone_RestHouse_Text_PsychicM, MSGBOX_NPC end -SafariZone_RestHouse_EventScript_242BF9:: @ 8242BF9 - msgbox SafariZone_RestHouse_Text_2A5764, MSGBOX_NPC +SafariZone_RestHouse_EventScript_FatMan:: @ 8242BF9 + msgbox SafariZone_RestHouse_Text_FatMan, MSGBOX_NPC end diff --git a/data/maps/SafariZone_South/map.json b/data/maps/SafariZone_South/map.json index 371be21194..b23420ba42 100644 --- a/data/maps/SafariZone_South/map.json +++ b/data/maps/SafariZone_South/map.json @@ -40,7 +40,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_South_EventScript_23D2E5", + "script": "SafariZone_South_EventScript_ExitAttendant", "flag": "0" }, { @@ -53,7 +53,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_South_EventScript_23D2CA", + "script": "SafariZone_South_EventScript_Boy", "flag": "0" }, { @@ -66,7 +66,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_South_EventScript_23D2D3", + "script": "SafariZone_South_EventScript_Man", "flag": "0" }, { @@ -79,7 +79,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_South_EventScript_23D2DC", + "script": "SafariZone_South_EventScript_Youngster", "flag": "0" }, { @@ -92,7 +92,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_South_EventScript_23D390", + "script": "SafariZone_South_EventScript_ConstructionWorker1", "flag": "FLAG_HIDE_SAFARI_ZONE_SOUTH_CONSTRUCTION_WORKERS" }, { @@ -105,7 +105,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_South_EventScript_23D3A2", + "script": "SafariZone_South_EventScript_ConstructionWorker2", "flag": "FLAG_HIDE_SAFARI_ZONE_SOUTH_CONSTRUCTION_WORKERS" } ], diff --git a/data/maps/SafariZone_South/scripts.inc b/data/maps/SafariZone_South/scripts.inc index 45273de12e..ed37034491 100644 --- a/data/maps/SafariZone_South/scripts.inc +++ b/data/maps/SafariZone_South/scripts.inc @@ -1,17 +1,17 @@ SafariZone_South_MapScripts:: @ 823D279 map_script MAP_SCRIPT_ON_TRANSITION, SafariZone_South_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, SafariZone_South_MapScript2_23D284 + map_script MAP_SCRIPT_ON_FRAME_TABLE, SafariZone_South_OnFrame .byte 0 -SafariZone_South_MapScript2_23D284: @ 823D284 - map_script_2 VAR_SAFARI_ZONE_STATE, 2, SafariZone_South_EventScript_23D28E +SafariZone_South_OnFrame: @ 823D284 + map_script_2 VAR_SAFARI_ZONE_STATE, 2, SafariZone_South_EventScript_EnterSafariZone .2byte 0 -SafariZone_South_EventScript_23D28E:: @ 823D28E +SafariZone_South_EventScript_EnterSafariZone:: @ 823D28E lockall - applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_23D2C5 + applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_PlayerEnter waitmovement 0 - applymovement 1, SafariZone_South_Movement_23D2C7 + applymovement 1, SafariZone_South_Movement_ExitAttendantBlockDoor waitmovement 0 setobjectxyperm 1, 32, 34 setvar VAR_SAFARI_ZONE_STATE, 0 @@ -20,133 +20,133 @@ SafariZone_South_EventScript_23D28E:: @ 823D28E SafariZone_South_OnTransition: @ 823D2B1 compare VAR_SAFARI_ZONE_STATE, 2 - call_if_eq SafariZone_South_EventScript_23D2BD + call_if_eq SafariZone_South_EventScript_SetExitAttendantAside end -SafariZone_South_EventScript_23D2BD:: @ 823D2BD +SafariZone_South_EventScript_SetExitAttendantAside:: @ 823D2BD setobjectxyperm 1, 31, 34 return -SafariZone_South_Movement_23D2C5: @ 823D2C5 +SafariZone_South_Movement_PlayerEnter: @ 823D2C5 walk_down step_end -SafariZone_South_Movement_23D2C7: @ 823D2C7 +SafariZone_South_Movement_ExitAttendantBlockDoor: @ 823D2C7 walk_right walk_in_place_fastest_down step_end -SafariZone_South_EventScript_23D2CA:: @ 823D2CA - msgbox SafariZone_South_Text_2A52EF, MSGBOX_NPC +SafariZone_South_EventScript_Boy:: @ 823D2CA + msgbox SafariZone_South_Text_Boy, MSGBOX_NPC end -SafariZone_South_EventScript_23D2D3:: @ 823D2D3 - msgbox SafariZone_South_Text_2A533B, MSGBOX_NPC +SafariZone_South_EventScript_Man:: @ 823D2D3 + msgbox SafariZone_South_Text_Man, MSGBOX_NPC end -SafariZone_South_EventScript_23D2DC:: @ 823D2DC - msgbox SafariZone_South_Text_2A553E, MSGBOX_NPC +SafariZone_South_EventScript_Youngster:: @ 823D2DC + msgbox SafariZone_South_Text_Youngster, MSGBOX_NPC end -SafariZone_South_EventScript_23D2E5:: @ 823D2E5 +SafariZone_South_EventScript_ExitAttendant:: @ 823D2E5 lock faceplayer - goto_if_unset FLAG_GOOD_LUCK_SAFARI_ZONE, SafariZone_South_EventScript_23D30D - msgbox SafariZone_South_Text_2A51D4, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq SafariZone_South_EventScript_23D31A - msgbox SafariZone_South_Text_2A521A, MSGBOX_DEFAULT + goto_if_unset FLAG_GOOD_LUCK_SAFARI_ZONE, SafariZone_South_EventScript_GoodLuck + msgbox SafariZone_South_Text_StillHaveTimeExit, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq SafariZone_South_EventScript_ExitEarly + msgbox SafariZone_South_Text_EnjoyTheRestOfYourAdventure, MSGBOX_DEFAULT release end -SafariZone_South_EventScript_23D30D:: @ 823D30D +SafariZone_South_EventScript_GoodLuck:: @ 823D30D setflag FLAG_GOOD_LUCK_SAFARI_ZONE - msgbox SafariZone_South_Text_2A52AB, MSGBOX_DEFAULT + msgbox SafariZone_South_Text_GoodLuck, MSGBOX_DEFAULT release end -SafariZone_South_EventScript_23D31A:: @ 823D31A - msgbox SafariZone_South_Text_2A5248, MSGBOX_DEFAULT +SafariZone_South_EventScript_ExitEarly:: @ 823D31A + msgbox SafariZone_South_Text_ExitEarlyThankYouForPlaying, MSGBOX_DEFAULT closemessage switch VAR_FACING - case 2, SafariZone_South_EventScript_23D33F - case 4, SafariZone_South_EventScript_23D359 + case DIR_NORTH, SafariZone_South_EventScript_ExitEarlyNorth + case DIR_EAST, SafariZone_South_EventScript_ExitEarlyEast end -SafariZone_South_EventScript_23D33F:: @ 823D33F - applymovement 1, SafariZone_South_Movement_23D38A +SafariZone_South_EventScript_ExitEarlyNorth:: @ 823D33F + applymovement 1, SafariZone_South_Movement_MoveExitAttendantNorth waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_23D385 + applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_PlayerExitNorth waitmovement 0 - goto SafariZone_South_EventScript_23D373 + goto SafariZone_South_EventScript_Exit end -SafariZone_South_EventScript_23D359:: @ 823D359 - applymovement 1, SafariZone_South_Movement_23D38D +SafariZone_South_EventScript_ExitEarlyEast:: @ 823D359 + applymovement 1, SafariZone_South_Movement_MoveExitAttendantEast waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_23D387 + applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_PlayerExitEast waitmovement 0 - goto SafariZone_South_EventScript_23D373 + goto SafariZone_South_EventScript_Exit end -SafariZone_South_EventScript_23D373:: @ 823D373 +SafariZone_South_EventScript_Exit:: @ 823D373 setvar VAR_SAFARI_ZONE_STATE, 1 special ExitSafariMode warpdoor MAP_ROUTE121_SAFARI_ZONE_ENTRANCE, 255, 2, 5 waitstate end -SafariZone_South_Movement_23D385: @ 823D385 +SafariZone_South_Movement_PlayerExitNorth: @ 823D385 walk_up step_end -SafariZone_South_Movement_23D387: @ 823D387 +SafariZone_South_Movement_PlayerExitEast: @ 823D387 walk_right walk_in_place_fastest_up step_end -SafariZone_South_Movement_23D38A: @ 823D38A +SafariZone_South_Movement_MoveExitAttendantNorth: @ 823D38A walk_left walk_in_place_fastest_right step_end -SafariZone_South_Movement_23D38D: @ 823D38D +SafariZone_South_Movement_MoveExitAttendantEast: @ 823D38D walk_down walk_in_place_fastest_up step_end -SafariZone_South_EventScript_23D390:: @ 823D390 - msgbox SafariZone_South_Text_2A57EE, MSGBOX_NPC +SafariZone_South_EventScript_ConstructionWorker1:: @ 823D390 + msgbox SafariZone_South_Text_AreaOffLimits1, MSGBOX_NPC end -SafariZone_Southeast_EventScript_23D399:: @ 823D399 - msgbox SafariZone_Southeast_Text_2A582D, MSGBOX_NPC +SafariZone_Southeast_EventScript_ExpansionZoneAttendant:: @ 823D399 + msgbox SafariZone_Southeast_Text_ExpansionIsFinished, MSGBOX_NPC end -SafariZone_South_EventScript_23D3A2:: @ 823D3A2 - msgbox SafariZone_South_Text_2A5887, MSGBOX_NPC +SafariZone_South_EventScript_ConstructionWorker2:: @ 823D3A2 + msgbox SafariZone_South_Text_AreaOffLimits2, MSGBOX_NPC end -SafariZone_Southeast_EventScript_23D3AB:: @ 823D3AB - msgbox SafariZone_Southeast_Text_2A58C6, MSGBOX_NPC +SafariZone_Southeast_EventScript_LittleGirl:: @ 823D3AB + msgbox SafariZone_Southeast_Text_LittleGirl, MSGBOX_NPC end -SafariZone_Southeast_EventScript_23D3B4:: @ 823D3B4 - msgbox SafariZone_Southeast_Text_2A58FD, MSGBOX_NPC +SafariZone_Southeast_EventScript_FatMan:: @ 823D3B4 + msgbox SafariZone_Southeast_Text_FatMan, MSGBOX_NPC end -SafariZone_Southeast_EventScript_23D3BD:: @ 823D3BD - msgbox SafariZone_Southeast_Text_2A5960, MSGBOX_NPC +SafariZone_Southeast_EventScript_RichBoy:: @ 823D3BD + msgbox SafariZone_Southeast_Text_RichBoy, MSGBOX_NPC end -SafariZone_Northeast_EventScript_23D3C6:: @ 823D3C6 - msgbox SafariZone_Northeast_Text_2A59A4, MSGBOX_NPC +SafariZone_Northeast_EventScript_Boy:: @ 823D3C6 + msgbox SafariZone_Northeast_Text_Boy, MSGBOX_NPC end -SafariZone_Northeast_EventScript_23D3CF:: @ 823D3CF - msgbox SafariZone_Northeast_Text_2A5A09, MSGBOX_NPC +SafariZone_Northeast_EventScript_Woman:: @ 823D3CF + msgbox SafariZone_Northeast_Text_Woman, MSGBOX_NPC end -SafariZone_Northeast_EventScript_23D3D8:: @ 823D3D8 - msgbox SafariZone_Northeast_Text_2A5A44, MSGBOX_NPC +SafariZone_Northeast_EventScript_Girl:: @ 823D3D8 + msgbox SafariZone_Northeast_Text_Girl, MSGBOX_NPC end diff --git a/data/maps/SafariZone_Southeast/map.json b/data/maps/SafariZone_Southeast/map.json index cb293b149f..f17a9acd3a 100644 --- a/data/maps/SafariZone_Southeast/map.json +++ b/data/maps/SafariZone_Southeast/map.json @@ -35,7 +35,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Southeast_EventScript_23D3BD", + "script": "SafariZone_Southeast_EventScript_RichBoy", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Southeast_EventScript_23D3B4", + "script": "SafariZone_Southeast_EventScript_FatMan", "flag": "0" }, { @@ -61,7 +61,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Southeast_EventScript_23D3AB", + "script": "SafariZone_Southeast_EventScript_LittleGirl", "flag": "0" }, { @@ -87,7 +87,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Southeast_EventScript_23D399", + "script": "SafariZone_Southeast_EventScript_ExpansionZoneAttendant", "flag": "FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION" } ], diff --git a/data/maps/SafariZone_Southeast/scripts.inc b/data/maps/SafariZone_Southeast/scripts.inc index f88cd22fb5..658d88e569 100644 --- a/data/maps/SafariZone_Southeast/scripts.inc +++ b/data/maps/SafariZone_Southeast/scripts.inc @@ -1,3 +1,4 @@ SafariZone_Southeast_MapScripts:: @ 8242C03 .byte 0 +@ Event scripts for SafariZone_Southeast are in SafariZone_South/scripts.inc diff --git a/data/maps/SafariZone_Southwest/map.json b/data/maps/SafariZone_Southwest/map.json index 3784db8011..261f7f49d3 100644 --- a/data/maps/SafariZone_Southwest/map.json +++ b/data/maps/SafariZone_Southwest/map.json @@ -35,7 +35,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Southwest_EventScript_23D267", + "script": "SafariZone_Southwest_EventScript_Woman", "flag": "0" }, { @@ -69,7 +69,7 @@ "y": 7, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SafariZone_Southwest_EventScript_23D270" + "script": "SafariZone_Southwest_EventScript_RestHouseSign" } ] } \ No newline at end of file diff --git a/data/maps/SafariZone_Southwest/scripts.inc b/data/maps/SafariZone_Southwest/scripts.inc index 069f22b49e..c862f79067 100644 --- a/data/maps/SafariZone_Southwest/scripts.inc +++ b/data/maps/SafariZone_Southwest/scripts.inc @@ -1,11 +1,11 @@ SafariZone_Southwest_MapScripts:: @ 823D266 .byte 0 -SafariZone_Southwest_EventScript_23D267:: @ 823D267 - msgbox SafariZone_Southwest_Text_2A53B7, MSGBOX_NPC +SafariZone_Southwest_EventScript_Woman:: @ 823D267 + msgbox SafariZone_Southwest_Text_Woman, MSGBOX_NPC end -SafariZone_Southwest_EventScript_23D270:: @ 823D270 - msgbox SafariZone_Southwest_Text_2A5613, MSGBOX_SIGN +SafariZone_Southwest_EventScript_RestHouseSign:: @ 823D270 + msgbox SafariZone_Southwest_Text_RestHouseSign, MSGBOX_SIGN end diff --git a/data/maps/SeafloorCavern_Entrance/map.json b/data/maps/SeafloorCavern_Entrance/map.json index 12000c6996..c7336476cb 100644 --- a/data/maps/SeafloorCavern_Entrance/map.json +++ b/data/maps/SeafloorCavern_Entrance/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Entrance_EventScript_234485", + "script": "SeafloorCavern_Entrance_EventScript_Grunt", "flag": "FLAG_HIDE_SEAFLOOR_CAVERN_ENTRANCE_AQUA_GRUNT" } ], diff --git a/data/maps/SeafloorCavern_Entrance/scripts.inc b/data/maps/SeafloorCavern_Entrance/scripts.inc index bc4f04b7f9..b9ff722e62 100644 --- a/data/maps/SeafloorCavern_Entrance/scripts.inc +++ b/data/maps/SeafloorCavern_Entrance/scripts.inc @@ -1,16 +1,16 @@ SeafloorCavern_Entrance_MapScripts:: @ 823446E - map_script MAP_SCRIPT_ON_RESUME, SeafloorCavern_Entrance_MapScript1_234474 + map_script MAP_SCRIPT_ON_RESUME, SeafloorCavern_Entrance_OnResume .byte 0 -SeafloorCavern_Entrance_MapScript1_234474: @ 8234474 +SeafloorCavern_Entrance_OnResume: @ 8234474 setdivewarp MAP_UNDERWATER_SEAFLOOR_CAVERN, 255, 6, 5 setescapewarp MAP_UNDERWATER_SEAFLOOR_CAVERN, 255, 6, 5 end -SeafloorCavern_Entrance_EventScript_234485:: @ 8234485 +SeafloorCavern_Entrance_EventScript_Grunt:: @ 8234485 lockall compare VAR_HAS_TALKED_TO_SEAFLOOR_CAVERN_ENTRANCE_GRUNT, 1 - goto_if_eq SeafloorCavern_Entrance_EventScript_2344ED + goto_if_eq SeafloorCavern_Entrance_EventScript_GruntSpeechShort waitse playse SE_PIN applymovement 1, Common_Movement_ExclamationMark @@ -18,52 +18,52 @@ SeafloorCavern_Entrance_EventScript_234485:: @ 8234485 applymovement 1, Common_Movement_Delay48 waitmovement 0 delay 20 - compare VAR_FACING, 3 - call_if_eq SeafloorCavern_Entrance_EventScript_23452E - compare VAR_FACING, 4 - call_if_eq SeafloorCavern_Entrance_EventScript_234523 - compare VAR_FACING, 2 - call_if_eq SeafloorCavern_Entrance_EventScript_234539 + compare VAR_FACING, DIR_WEST + call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerWest + compare VAR_FACING, DIR_EAST + call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerEast + compare VAR_FACING, DIR_NORTH + call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerNorth delay 30 setvar VAR_HAS_TALKED_TO_SEAFLOOR_CAVERN_ENTRANCE_GRUNT, 1 copyobjectxytoperm 1 - msgbox SeafloorCavern_Entrance_Text_234544, MSGBOX_DEFAULT + msgbox SeafloorCavern_Entrance_Text_HearMagmaNearMossdeep, MSGBOX_DEFAULT closemessage - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 releaseall end -SeafloorCavern_Entrance_EventScript_2344ED:: @ 82344ED - compare VAR_FACING, 3 - call_if_eq SeafloorCavern_Entrance_EventScript_23452E - compare VAR_FACING, 4 - call_if_eq SeafloorCavern_Entrance_EventScript_234523 - compare VAR_FACING, 2 - call_if_eq SeafloorCavern_Entrance_EventScript_234539 - msgbox SeafloorCavern_Entrance_Text_2346C8, MSGBOX_DEFAULT +SeafloorCavern_Entrance_EventScript_GruntSpeechShort:: @ 82344ED + compare VAR_FACING, DIR_WEST + call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerWest + compare VAR_FACING, DIR_EAST + call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerEast + compare VAR_FACING, DIR_NORTH + call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerNorth + msgbox SeafloorCavern_Entrance_Text_HearMagmaNearMossdeepShort, MSGBOX_DEFAULT closemessage - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 releaseall end -SeafloorCavern_Entrance_EventScript_234523:: @ 8234523 - applymovement 1, Common_Movement_WalkInPlaceLeft +SeafloorCavern_Entrance_EventScript_GruntFacePlayerEast:: @ 8234523 + applymovement 1, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -SeafloorCavern_Entrance_EventScript_23452E:: @ 823452E - applymovement 1, Common_Movement_WalkInPlaceRight +SeafloorCavern_Entrance_EventScript_GruntFacePlayerWest:: @ 823452E + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -SeafloorCavern_Entrance_EventScript_234539:: @ 8234539 - applymovement 1, Common_Movement_WalkInPlaceDown +SeafloorCavern_Entrance_EventScript_GruntFacePlayerNorth:: @ 8234539 + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -SeafloorCavern_Entrance_Text_234544: @ 8234544 +SeafloorCavern_Entrance_Text_HearMagmaNearMossdeep: @ 8234544 .string "Hey!\n" .string "I remember your face!\p" .string "If you're here, it must mean that\n" @@ -79,7 +79,7 @@ SeafloorCavern_Entrance_Text_234544: @ 8234544 .string "That bunch of goons, they sure don't\n" .string "look good near the sea!$" -SeafloorCavern_Entrance_Text_2346C8: @ 82346C8 +SeafloorCavern_Entrance_Text_HearMagmaNearMossdeepShort: @ 82346C8 .string "A punk like you, do you really think\n" .string "you can take on TEAM AQUA?\p" .string "I'd say you're too early by about\n" diff --git a/data/maps/SeafloorCavern_Room1/map.json b/data/maps/SeafloorCavern_Room1/map.json index 88db72b4ab..68cbba71db 100644 --- a/data/maps/SeafloorCavern_Room1/map.json +++ b/data/maps/SeafloorCavern_Room1/map.json @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "SeafloorCavern_Room1_EventScript_2347EC", + "script": "SeafloorCavern_Room1_EventScript_Grunt1", "flag": "FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "SeafloorCavern_Room1_EventScript_234803", + "script": "SeafloorCavern_Room1_EventScript_Grunt2", "flag": "FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS" } ], diff --git a/data/maps/SeafloorCavern_Room1/scripts.inc b/data/maps/SeafloorCavern_Room1/scripts.inc index 92049e8ef3..6baa9ca4ee 100644 --- a/data/maps/SeafloorCavern_Room1/scripts.inc +++ b/data/maps/SeafloorCavern_Room1/scripts.inc @@ -1,35 +1,35 @@ SeafloorCavern_Room1_MapScripts:: @ 82347EB .byte 0 -SeafloorCavern_Room1_EventScript_2347EC:: @ 82347EC - trainerbattle_single TRAINER_GRUNT_5, SeafloorCavern_Room1_Text_23481A, SeafloorCavern_Room1_Text_23484A - msgbox SeafloorCavern_Room1_Text_23485D, MSGBOX_AUTOCLOSE +SeafloorCavern_Room1_EventScript_Grunt1:: @ 82347EC + trainerbattle_single TRAINER_GRUNT_SEAFLOOR_CAVERN_1, SeafloorCavern_Room1_Text_Grunt1Intro, SeafloorCavern_Room1_Text_Grunt1Defeat + msgbox SeafloorCavern_Room1_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -SeafloorCavern_Room1_EventScript_234803:: @ 8234803 - trainerbattle_single TRAINER_GRUNT_6, SeafloorCavern_Room1_Text_234898, SeafloorCavern_Room1_Text_2348CD - msgbox SeafloorCavern_Room1_Text_2348E3, MSGBOX_AUTOCLOSE +SeafloorCavern_Room1_EventScript_Grunt2:: @ 8234803 + trainerbattle_single TRAINER_GRUNT_SEAFLOOR_CAVERN_2, SeafloorCavern_Room1_Text_Grunt2Intro, SeafloorCavern_Room1_Text_Grunt2Defeat + msgbox SeafloorCavern_Room1_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end -SeafloorCavern_Room1_Text_23481A: @ 823481A +SeafloorCavern_Room1_Text_Grunt1Intro: @ 823481A .string "We don't need a kid around!\n" .string "Go on home already!$" -SeafloorCavern_Room1_Text_23484A: @ 823484A +SeafloorCavern_Room1_Text_Grunt1Defeat: @ 823484A .string "I want to go home…$" -SeafloorCavern_Room1_Text_23485D: @ 823485D +SeafloorCavern_Room1_Text_Grunt1PostBattle: @ 823485D .string "I want to get a promotion so I can\n" .string "boss around the GRUNTS…$" -SeafloorCavern_Room1_Text_234898: @ 8234898 +SeafloorCavern_Room1_Text_Grunt2Intro: @ 8234898 .string "That submarine… It's tiny inside.\n" .string "I'm sore all over!$" -SeafloorCavern_Room1_Text_2348CD: @ 82348CD +SeafloorCavern_Room1_Text_Grunt2Defeat: @ 82348CD .string "Losing makes me sore!$" -SeafloorCavern_Room1_Text_2348E3: @ 82348E3 +SeafloorCavern_Room1_Text_Grunt2PostBattle: @ 82348E3 .string "That submarine we jacked, man,\n" .string "it's brutal as a ride.\l" .string "It's way too tight in there!$" diff --git a/data/maps/SeafloorCavern_Room3/map.json b/data/maps/SeafloorCavern_Room3/map.json index 2a33c44cf3..428070faf6 100644 --- a/data/maps/SeafloorCavern_Room3/map.json +++ b/data/maps/SeafloorCavern_Room3/map.json @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "6", - "script": "SeafloorCavern_Room3_EventScript_234938", + "script": "SeafloorCavern_Room3_EventScript_Shelly", "flag": "FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "SeafloorCavern_Room3_EventScript_23494F", + "script": "SeafloorCavern_Room3_EventScript_Grunt5", "flag": "FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS" } ], diff --git a/data/maps/SeafloorCavern_Room3/scripts.inc b/data/maps/SeafloorCavern_Room3/scripts.inc index 40913f4077..1cfb702c81 100644 --- a/data/maps/SeafloorCavern_Room3/scripts.inc +++ b/data/maps/SeafloorCavern_Room3/scripts.inc @@ -1,17 +1,17 @@ SeafloorCavern_Room3_MapScripts:: @ 8234937 .byte 0 -SeafloorCavern_Room3_EventScript_234938:: @ 8234938 - trainerbattle_single TRAINER_SHELLY_2, SeafloorCavern_Room3_Text_234966, SeafloorCavern_Room3_Text_234A79 - msgbox SeafloorCavern_Room3_Text_234A8A, MSGBOX_AUTOCLOSE +SeafloorCavern_Room3_EventScript_Shelly:: @ 8234938 + trainerbattle_single TRAINER_SHELLY_SEAFLOOR_CAVERN, SeafloorCavern_Room3_Text_ShellyIntro, SeafloorCavern_Room3_Text_ShellyDefeat + msgbox SeafloorCavern_Room3_Text_ShellyPostBattle, MSGBOX_AUTOCLOSE end -SeafloorCavern_Room3_EventScript_23494F:: @ 823494F - trainerbattle_single TRAINER_GRUNT_27, SeafloorCavern_Room3_Text_234B3A, SeafloorCavern_Room3_Text_234BFE - msgbox SeafloorCavern_Room3_Text_234C04, MSGBOX_AUTOCLOSE +SeafloorCavern_Room3_EventScript_Grunt5:: @ 823494F + trainerbattle_single TRAINER_GRUNT_SEAFLOOR_CAVERN_5, SeafloorCavern_Room3_Text_Grunt5Intro, SeafloorCavern_Room3_Text_Grunt5Defeat + msgbox SeafloorCavern_Room3_Text_Grunt5PostBattle, MSGBOX_AUTOCLOSE end -SeafloorCavern_Room3_Text_234966: @ 8234966 +SeafloorCavern_Room3_Text_ShellyIntro: @ 8234966 .string "Ahahahaha!\p" .string "How did you manage to get here without\n" .string "a submarine?\l" @@ -23,11 +23,11 @@ SeafloorCavern_Room3_Text_234966: @ 8234966 .string "I'm going to give you a little taste\n" .string "of pain! Resign yourself to it!$" -SeafloorCavern_Room3_Text_234A79: @ 8234A79 +SeafloorCavern_Room3_Text_ShellyDefeat: @ 8234A79 .string "Ahahahaha!\p" .string "Ouch!$" -SeafloorCavern_Room3_Text_234A8A: @ 8234A8A +SeafloorCavern_Room3_Text_ShellyPostBattle: @ 8234A8A .string "Ahahahaha!\n" .string "You're so darn strong.\p" .string "It's terribly disappointing that you're\n" @@ -36,7 +36,7 @@ SeafloorCavern_Room3_Text_234A8A: @ 8234A8A .string "world our BOSS has promised as\l" .string "one of us…$" -SeafloorCavern_Room3_Text_234B3A: @ 8234B3A +SeafloorCavern_Room3_Text_Grunt5Intro: @ 8234B3A .string "For our dream to become real, we need\n" .string "the power of POKéMON.\p" .string "But meddlers like you use the power of\n" @@ -45,10 +45,10 @@ SeafloorCavern_Room3_Text_234B3A: @ 8234B3A .string "Life just doesn't work the way we\n" .string "need it to!$" -SeafloorCavern_Room3_Text_234BFE: @ 8234BFE +SeafloorCavern_Room3_Text_Grunt5Defeat: @ 8234BFE .string "Gwah!$" -SeafloorCavern_Room3_Text_234C04: @ 8234C04 +SeafloorCavern_Room3_Text_Grunt5PostBattle: @ 8234C04 .string "You know, we don't dare question\n" .string "the motives of our leader.\p" .string "But here you are, just some punk,\n" diff --git a/data/maps/SeafloorCavern_Room4/map.json b/data/maps/SeafloorCavern_Room4/map.json index 0638ab4ed3..c04e22e39d 100644 --- a/data/maps/SeafloorCavern_Room4/map.json +++ b/data/maps/SeafloorCavern_Room4/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "SeafloorCavern_Room4_EventScript_234C9C", + "script": "SeafloorCavern_Room4_EventScript_Grunt3", "flag": "FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "SeafloorCavern_Room4_EventScript_234CB3", + "script": "SeafloorCavern_Room4_EventScript_Grunt4", "flag": "FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS" } ], diff --git a/data/maps/SeafloorCavern_Room4/scripts.inc b/data/maps/SeafloorCavern_Room4/scripts.inc index 132d24a32d..e2f32287ad 100644 --- a/data/maps/SeafloorCavern_Room4/scripts.inc +++ b/data/maps/SeafloorCavern_Room4/scripts.inc @@ -1,35 +1,35 @@ SeafloorCavern_Room4_MapScripts:: @ 8234C9B .byte 0 -SeafloorCavern_Room4_EventScript_234C9C:: @ 8234C9C - trainerbattle_single TRAINER_GRUNT_7, SeafloorCavern_Room4_Text_234CCA, SeafloorCavern_Room4_Text_234CF3 - msgbox SeafloorCavern_Room4_Text_234CFC, MSGBOX_AUTOCLOSE +SeafloorCavern_Room4_EventScript_Grunt3:: @ 8234C9C + trainerbattle_single TRAINER_GRUNT_SEAFLOOR_CAVERN_3, SeafloorCavern_Room4_Text_Grunt3Intro, SeafloorCavern_Room4_Text_Grunt3Defeat + msgbox SeafloorCavern_Room4_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE end -SeafloorCavern_Room4_EventScript_234CB3:: @ 8234CB3 - trainerbattle_single TRAINER_GRUNT_9, SeafloorCavern_Room4_Text_234D3A, SeafloorCavern_Room4_Text_234D68 - msgbox SeafloorCavern_Room4_Text_234D79, MSGBOX_AUTOCLOSE +SeafloorCavern_Room4_EventScript_Grunt4:: @ 8234CB3 + trainerbattle_single TRAINER_GRUNT_SEAFLOOR_CAVERN_4, SeafloorCavern_Room4_Text_Grunt4Intro, SeafloorCavern_Room4_Text_Grunt4Defeat + msgbox SeafloorCavern_Room4_Text_Grunt4PostBattle, MSGBOX_AUTOCLOSE end -SeafloorCavern_Room4_Text_234CCA: @ 8234CCA +SeafloorCavern_Room4_Text_Grunt3Intro: @ 8234CCA .string "Who are you?\n" .string "Where did you come in from?$" -SeafloorCavern_Room4_Text_234CF3: @ 8234CF3 +SeafloorCavern_Room4_Text_Grunt3Defeat: @ 8234CF3 .string "Lost it…$" -SeafloorCavern_Room4_Text_234CFC: @ 8234CFC +SeafloorCavern_Room4_Text_Grunt3PostBattle: @ 8234CFC .string "I can't find the way out!\p" .string "I'm not afraid. Don't get me wrong!$" -SeafloorCavern_Room4_Text_234D3A: @ 8234D3A +SeafloorCavern_Room4_Text_Grunt4Intro: @ 8234D3A .string "Who are you?\n" .string "Where do you think you're going?$" -SeafloorCavern_Room4_Text_234D68: @ 8234D68 +SeafloorCavern_Room4_Text_Grunt4Defeat: @ 8234D68 .string "I failed to win!$" -SeafloorCavern_Room4_Text_234D79: @ 8234D79 +SeafloorCavern_Room4_Text_Grunt4PostBattle: @ 8234D79 .string "My partner forgot the map in that\n" .string "submarine!\p" .string "How's that for being useless?$" diff --git a/data/maps/SeafloorCavern_Room9/map.json b/data/maps/SeafloorCavern_Room9/map.json index 77dcdc1697..e9ce6c9a0d 100644 --- a/data/maps/SeafloorCavern_Room9/map.json +++ b/data/maps/SeafloorCavern_Room9/map.json @@ -5,7 +5,7 @@ "music": "MUS_TOZAN", "region_map_section": "MAPSEC_SEAFLOOR_CAVERN", "requires_flash": false, - "weather": "WEATHER_FOG_1", + "weather": "WEATHER_FOG_HORIZONTAL", "map_type": "MAP_TYPE_UNDERGROUND", "allow_bike": false, "allow_escape_rope": true, @@ -123,7 +123,7 @@ "elevation": 3, "var": "VAR_SEAFLOOR_CAVERN_STATE", "var_value": "0", - "script": "SeafloorCavern_Room9_EventScript_234DC9" + "script": "SeafloorCavern_Room9_EventScript_ArchieAwakenKyogre" } ], "bg_events": [] diff --git a/data/maps/SeafloorCavern_Room9/scripts.inc b/data/maps/SeafloorCavern_Room9/scripts.inc index 17b1515c0c..46d1a1f363 100644 --- a/data/maps/SeafloorCavern_Room9/scripts.inc +++ b/data/maps/SeafloorCavern_Room9/scripts.inc @@ -1,123 +1,120 @@ SeafloorCavern_Room9_MapScripts:: @ 8234DC8 .byte 0 -SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 +SeafloorCavern_Room9_EventScript_ArchieAwakenKyogre:: @ 8234DC9 lockall - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 4 - setvar VAR_0x8007, 5 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + setvar VAR_0x8004, 2 @ Archie + setvar VAR_0x8005, 3 @ Maxie + setvar VAR_0x8006, 4 @ Magma grunt 1 + setvar VAR_0x8007, 5 @ Magma grunt 2 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_23505C + applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_Delay32 waitmovement 0 playbgm MUS_AQA_0, 0 - msgbox SeafloorCavern_Room9_Text_23505F, MSGBOX_DEFAULT + msgbox SeafloorCavern_Room9_Text_ArchieHoldItRightThere, MSGBOX_DEFAULT closemessage addobject VAR_0x8004 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_23502A + applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_ArchieApproachPlayer waitmovement 0 - msgbox SeafloorCavern_Room9_Text_23507C, MSGBOX_DEFAULT - applymovement VAR_0x8004, Common_Movement_WalkInPlaceUp + msgbox SeafloorCavern_Room9_Text_ArchieSoItWasYou, MSGBOX_DEFAULT + applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox SeafloorCavern_Room9_Text_2350A6, MSGBOX_DEFAULT + msgbox SeafloorCavern_Room9_Text_ArchieBeholdKyogre, MSGBOX_DEFAULT applymovement VAR_0x8004, Common_Movement_FacePlayer waitmovement 0 - msgbox SeafloorCavern_Room9_Text_23512C, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_ARCHIE, SeafloorCavern_Room9_Text_2351BC - msgbox SeafloorCavern_Room9_Text_2351E5, MSGBOX_DEFAULT + msgbox SeafloorCavern_Room9_Text_ArchieYouMustDisappear, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_ARCHIE, SeafloorCavern_Room9_Text_ArchieDefeat + msgbox SeafloorCavern_Room9_Text_ArchieWithThisRedOrb, MSGBOX_DEFAULT setweather WEATHER_NONE doweather - special sub_80B05B4 + special Script_FadeOutMapMusic waitstate - msgbox SeafloorCavern_Room9_Text_235279, MSGBOX_DEFAULT + msgbox SeafloorCavern_Room9_Text_RedOrbShinesByItself, MSGBOX_DEFAULT special WaitWeather waitstate setvar VAR_RESULT, 1 playse SE_W197 - setfieldeffectargument 0, 16 - setfieldeffectargument 1, 42 - setfieldeffectargument 2, 0 - dofieldeffect FLDEFF_SPARKLE + dofieldeffectsparkle 16, 42, 0 waitfieldeffect FLDEFF_SPARKLE closemessage setvar VAR_RESULT, 0 playfanfare MUS_ME_TAMA playse SE_TAMA - special sub_80B0534 - applymovement VAR_0x8004, Common_Movement_WalkInPlaceUp - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + special DoOrbEffect + applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 150 - removeobject 7 - addobject 1 + removeobject 7 @ sleeping Kyogre + addobject 1 @ awakened Kyogre waitstate delay 60 - applymovement 1, SeafloorCavern_Room9_Movement_235040 + applymovement 1, SeafloorCavern_Room9_Movement_KyogreApproach waitmovement 0 - special sub_80B058C + special FadeOutOrbEffect waitstate - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 5 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 1 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 5 @ shake delay + special ShakeCamera waitstate - applymovement 1, SeafloorCavern_Room9_Movement_23504B + applymovement 1, SeafloorCavern_Room9_Movement_KyogreExit waitmovement 0 removeobject 1 delay 4 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 5 - special sub_8139560 + setvar VAR_0x8004, 2 @ vertical pan + setvar VAR_0x8005, 2 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 5 @ shake delay + special ShakeCamera waitstate delay 30 setvar VAR_0x8004, 2 setvar VAR_0x8005, 3 setvar VAR_0x8006, 4 setvar VAR_0x8007, 5 - msgbox SeafloorCavern_Room9_Text_2352A7, MSGBOX_DEFAULT + msgbox SeafloorCavern_Room9_Text_ArchieWhereDidKyogreGo, MSGBOX_DEFAULT playse SE_PC_LOGIN - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox SeafloorCavern_Room9_Text_2352F6, MSGBOX_DEFAULT + msgbox SeafloorCavern_Room9_Text_ArchieAMessageFromOutside, MSGBOX_DEFAULT closemessage - applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_235035 + applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_ArchieListenMessage waitmovement 0 - msgbox SeafloorCavern_Room9_Text_23532B, MSGBOX_DEFAULT + msgbox SeafloorCavern_Room9_Text_ArchieWhatRainingTooHard, MSGBOX_DEFAULT closemessage playse SE_PC_OFF delay 20 - applymovement VAR_0x8004, Common_Movement_WalkInPlaceDown + applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox SeafloorCavern_Room9_Text_23546F, MSGBOX_DEFAULT + msgbox SeafloorCavern_Room9_Text_ArchieWhyDidKyogreDisappear, MSGBOX_DEFAULT closemessage addobject VAR_0x8005 addobject VAR_0x8006 addobject VAR_0x8007 - applymovement VAR_0x8007, SeafloorCavern_Room9_Movement_235057 - applymovement VAR_0x8006, SeafloorCavern_Room9_Movement_235057 - applymovement VAR_0x8005, SeafloorCavern_Room9_Movement_23504E + applymovement VAR_0x8007, SeafloorCavern_Room9_Movement_MagmaGruntArrive + applymovement VAR_0x8006, SeafloorCavern_Room9_Movement_MagmaGruntArrive + applymovement VAR_0x8005, SeafloorCavern_Room9_Movement_MaxieArrive waitmovement 0 - applymovement VAR_0x8004, Common_Movement_WalkInPlaceLeft + applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox SeafloorCavern_Room9_Text_2354F0, MSGBOX_DEFAULT + msgbox SeafloorCavern_Room9_Text_MaxieWhatHaveYouWrought, MSGBOX_DEFAULT playse SE_PIN applymovement VAR_0x8004, Common_Movement_ExclamationMark waitmovement 0 applymovement VAR_0x8004, Common_Movement_Delay48 waitmovement 0 - msgbox SeafloorCavern_Room9_Text_2355C2, MSGBOX_DEFAULT - msgbox SeafloorCavern_Room9_Text_235692, MSGBOX_DEFAULT + msgbox SeafloorCavern_Room9_Text_ArchieDontGetAllHighAndMighty, MSGBOX_DEFAULT + msgbox SeafloorCavern_Room9_Text_MaxieWeDontHaveTimeToArgue, MSGBOX_DEFAULT closemessage - applymovement VAR_0x8005, SeafloorCavern_Room9_Movement_235054 - applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_23503A + applymovement VAR_0x8005, SeafloorCavern_Room9_Movement_MaxieExit + applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_ArchieExit waitmovement 0 - msgbox SeafloorCavern_Room9_Text_235723, MSGBOX_DEFAULT + msgbox SeafloorCavern_Room9_Text_MaxieComeOnPlayer, MSGBOX_DEFAULT setvar VAR_ROUTE128_STATE, 1 setvar VAR_SOOTOPOLIS_CITY_STATE, 1 clearflag FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN @@ -146,7 +143,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 releaseall end -SeafloorCavern_Room9_Movement_23502A: @ 823502A +SeafloorCavern_Room9_Movement_ArchieApproachPlayer: @ 823502A walk_right walk_right walk_right @@ -156,21 +153,21 @@ SeafloorCavern_Room9_Movement_23502A: @ 823502A walk_right step_end -SeafloorCavern_Room9_Movement_235032: @ 8235032 +SeafloorCavern_Room9_Movement_Unused1: @ 8235032 walk_left walk_left step_end -SeafloorCavern_Room9_Movement_235035: @ 8235035 +SeafloorCavern_Room9_Movement_ArchieListenMessage: @ 8235035 walk_left delay_16 step_end -SeafloorCavern_Room9_Movement_235038: @ 8235038 +SeafloorCavern_Room9_Movement_Unused2: @ 8235038 walk_right step_end -SeafloorCavern_Room9_Movement_23503A: @ 823503A +SeafloorCavern_Room9_Movement_ArchieExit: @ 823503A face_up lock_facing_direction walk_down @@ -178,7 +175,7 @@ SeafloorCavern_Room9_Movement_23503A: @ 823503A walk_in_place_fastest_right step_end -SeafloorCavern_Room9_Movement_235040: @ 8235040 +SeafloorCavern_Room9_Movement_KyogreApproach: @ 8235040 delay_16 delay_16 walk_slow_down @@ -191,12 +188,12 @@ SeafloorCavern_Room9_Movement_235040: @ 8235040 delay_16 step_end -SeafloorCavern_Room9_Movement_23504B: @ 823504B +SeafloorCavern_Room9_Movement_KyogreExit: @ 823504B slide_up slide_up step_end -SeafloorCavern_Room9_Movement_23504E: @ 823504E +SeafloorCavern_Room9_Movement_MaxieArrive: @ 823504E walk_fast_right walk_fast_right walk_fast_right @@ -204,49 +201,49 @@ SeafloorCavern_Room9_Movement_23504E: @ 823504E walk_fast_right step_end -SeafloorCavern_Room9_Movement_235054: @ 8235054 +SeafloorCavern_Room9_Movement_MaxieExit: @ 8235054 walk_right walk_right step_end -SeafloorCavern_Room9_Movement_235057: @ 8235057 +SeafloorCavern_Room9_Movement_MagmaGruntArrive: @ 8235057 walk_fast_right walk_fast_right walk_fast_right walk_fast_right step_end -SeafloorCavern_Room9_Movement_23505C: @ 823505C +SeafloorCavern_Room9_Movement_Delay32: @ 823505C delay_16 delay_16 step_end -SeafloorCavern_Room9_Text_23505F: @ 823505F +SeafloorCavern_Room9_Text_ArchieHoldItRightThere: @ 823505F .string "ARCHIE: Hold it right there.$" -SeafloorCavern_Room9_Text_23507C: @ 823507C +SeafloorCavern_Room9_Text_ArchieSoItWasYou: @ 823507C .string "ARCHIE: Fufufu…\n" .string "So it was you, after all.$" -SeafloorCavern_Room9_Text_2350A6: @ 82350A6 +SeafloorCavern_Room9_Text_ArchieBeholdKyogre: @ 82350A6 .string "ARCHIE: Behold!\p" .string "See how beautiful it is, the sleeping\n" .string "form of the ancient POKéMON KYOGRE!\p" .string "I have waited so long for this day to\n" .string "come…$" -SeafloorCavern_Room9_Text_23512C: @ 823512C +SeafloorCavern_Room9_Text_ArchieYouMustDisappear: @ 823512C .string "ARCHIE: It surprises me, how you've\n" .string "managed to chase me here.\p" .string "But that's all over now.\p" .string "For the realization of my dream,\n" .string "you must disappear now!$" -SeafloorCavern_Room9_Text_2351BC: @ 82351BC +SeafloorCavern_Room9_Text_ArchieDefeat: @ 82351BC .string "What?!\n" .string "I lost to a mere child like you?!$" -SeafloorCavern_Room9_Text_2351E5: @ 82351E5 +SeafloorCavern_Room9_Text_ArchieWithThisRedOrb: @ 82351E5 .string "ARCHIE: Fufufu…\p" .string "I commend you. I must recognize that\n" .string "you are truly gifted.\p" @@ -254,21 +251,21 @@ SeafloorCavern_Room9_Text_2351E5: @ 82351E5 .string "I have this in my possession!\p" .string "With this RED ORB, I can make KYOGRE…$" -SeafloorCavern_Room9_Text_235279: @ 8235279 +SeafloorCavern_Room9_Text_RedOrbShinesByItself: @ 8235279 .string "The RED ORB suddenly began shining\n" .string "by itself!$" -SeafloorCavern_Room9_Text_2352A7: @ 82352A7 +SeafloorCavern_Room9_Text_ArchieWhereDidKyogreGo: @ 82352A7 .string "ARCHIE: What?!\p" .string "I didn't do anything.\n" .string "Why did the RED ORB…\p" .string "Where did KYOGRE go?$" -SeafloorCavern_Room9_Text_2352F6: @ 82352F6 +SeafloorCavern_Room9_Text_ArchieAMessageFromOutside: @ 82352F6 .string "ARCHIE: Hm? It's a message from our\n" .string "members outside…$" -SeafloorCavern_Room9_Text_23532B: @ 823532B +SeafloorCavern_Room9_Text_ArchieWhatRainingTooHard: @ 823532B .string "ARCHIE: Yes, what is it?\p" .string "Hm…\n" .string "It's raining heavily?\p" @@ -284,7 +281,7 @@ SeafloorCavern_Room9_Text_23532B: @ 823532B .string "Hold your position and monitor\n" .string "the situation!$" -SeafloorCavern_Room9_Text_23546F: @ 823546F +SeafloorCavern_Room9_Text_ArchieWhyDidKyogreDisappear: @ 823546F .string "ARCHIE: There's something wrong…\p" .string "The RED ORB is supposed to awaken\n" .string "and control KYOGRE…\p" @@ -292,7 +289,7 @@ SeafloorCavern_Room9_Text_23546F: @ 823546F .string "Why did KYOGRE disappear?\p" .string "Why?!$" -SeafloorCavern_Room9_Text_2354F0: @ 82354F0 +SeafloorCavern_Room9_Text_MaxieWhatHaveYouWrought: @ 82354F0 .string "MAXIE: What have you wrought?\p" .string "ARCHIE… You've finally awoken KYOGRE,\n" .string "haven't you?\p" @@ -301,7 +298,7 @@ SeafloorCavern_Room9_Text_2354F0: @ 82354F0 .string "The world's landmass will drown in\n" .string "the deepening sea…$" -SeafloorCavern_Room9_Text_2355C2: @ 82355C2 +SeafloorCavern_Room9_Text_ArchieDontGetAllHighAndMighty: @ 82355C2 .string "ARCHIE: W-what?!\n" .string "Don't get all high and mighty with me!\p" .string "Wasn't it you, TEAM MAGMA, that\n" @@ -310,13 +307,13 @@ SeafloorCavern_Room9_Text_2355C2: @ 82355C2 .string "I should be able to control KYOGRE…\p" .string "I should be able to control it…$" -SeafloorCavern_Room9_Text_235692: @ 8235692 +SeafloorCavern_Room9_Text_MaxieWeDontHaveTimeToArgue: @ 8235692 .string "MAXIE: We don't have the time to\n" .string "argue about it here!\p" .string "Get outside and see for yourself!\p" .string "See if what you've wrought is the\n" .string "world that we desired!$" -SeafloorCavern_Room9_Text_235723: @ 8235723 +SeafloorCavern_Room9_Text_MaxieComeOnPlayer: @ 8235723 .string "MAXIE: {PLAYER}, come on, you have\n" .string "to get out of here, too!$" diff --git a/data/maps/SealedChamber_InnerRoom/map.json b/data/maps/SealedChamber_InnerRoom/map.json index e0e6097ec3..4549a1bbd8 100644 --- a/data/maps/SealedChamber_InnerRoom/map.json +++ b/data/maps/SealedChamber_InnerRoom/map.json @@ -31,7 +31,7 @@ "y": 4, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_InnerRoom_EventScript_2391F8" + "script": "SealedChamber_InnerRoom_EventScript_BrailleBackWall" }, { "type": "sign", @@ -39,7 +39,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_InnerRoom_EventScript_239255" + "script": "SealedChamber_InnerRoom_EventScript_BrailleStoryPart1" }, { "type": "sign", @@ -47,7 +47,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_InnerRoom_EventScript_23925F" + "script": "SealedChamber_InnerRoom_EventScript_BrailleStoryPart2" }, { "type": "sign", @@ -55,7 +55,7 @@ "y": 13, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_InnerRoom_EventScript_239269" + "script": "SealedChamber_InnerRoom_EventScript_BrailleStoryPart3" }, { "type": "sign", @@ -63,7 +63,7 @@ "y": 13, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_InnerRoom_EventScript_239273" + "script": "SealedChamber_InnerRoom_EventScript_BrailleStoryPart4" }, { "type": "sign", @@ -71,7 +71,7 @@ "y": 18, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_InnerRoom_EventScript_23927D" + "script": "SealedChamber_InnerRoom_EventScript_BrailleStoryPart5" }, { "type": "sign", @@ -79,7 +79,7 @@ "y": 18, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_InnerRoom_EventScript_239287" + "script": "SealedChamber_InnerRoom_EventScript_BrailleStoryPart6" }, { "type": "sign", @@ -87,7 +87,7 @@ "y": 4, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_InnerRoom_EventScript_2391F8" + "script": "SealedChamber_InnerRoom_EventScript_BrailleBackWall" }, { "type": "sign", @@ -95,7 +95,7 @@ "y": 4, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_InnerRoom_EventScript_2391F8" + "script": "SealedChamber_InnerRoom_EventScript_BrailleBackWall" } ] } \ No newline at end of file diff --git a/data/maps/SealedChamber_InnerRoom/scripts.inc b/data/maps/SealedChamber_InnerRoom/scripts.inc index 5c4cb21991..15c98e57e5 100644 --- a/data/maps/SealedChamber_InnerRoom/scripts.inc +++ b/data/maps/SealedChamber_InnerRoom/scripts.inc @@ -1,15 +1,15 @@ SealedChamber_InnerRoom_MapScripts:: @ 82391F7 .byte 0 -SealedChamber_InnerRoom_EventScript_2391F8:: @ 82391F8 +SealedChamber_InnerRoom_EventScript_BrailleBackWall:: @ 82391F8 lockall - braillemessage SealedChamber_InnerRoom_Braille_2A6B99 + braillemessage SealedChamber_InnerRoom_Braille_FirstWailordLastRelicanth waitbuttonpress - hidebox2 - goto_if_set FLAG_REGI_DOORS_OPENED, SealedChamber_InnerRoom_EventScript_239253 + closebraillemessage + goto_if_set FLAG_REGI_DOORS_OPENED, SealedChamber_InnerRoom_EventScript_NoEffect specialvar VAR_RESULT, CheckRelicanthWailord - compare VAR_RESULT, 0 - goto_if_eq SealedChamber_InnerRoom_EventScript_239253 + compare VAR_RESULT, FALSE + goto_if_eq SealedChamber_InnerRoom_EventScript_NoEffect fadeoutbgm 0 playse SE_TRACK_MOVE special DoSealedChamberShakingEffect1 @@ -27,62 +27,62 @@ SealedChamber_InnerRoom_EventScript_2391F8:: @ 82391F8 waitstate playse SE_DOOR delay 40 - msgbox gUnknown_0827301B, MSGBOX_DEFAULT + msgbox gText_DoorOpenedFarAway, MSGBOX_DEFAULT closemessage fadeinbgm 0 setflag FLAG_REGI_DOORS_OPENED releaseall end -SealedChamber_InnerRoom_EventScript_239253:: @ 8239253 +SealedChamber_InnerRoom_EventScript_NoEffect:: @ 8239253 releaseall end -SealedChamber_InnerRoom_EventScript_239255:: @ 8239255 +SealedChamber_InnerRoom_EventScript_BrailleStoryPart1:: @ 8239255 lockall - braillemessage SealedChamber_InnerRoom_Braille_2A6BCA + braillemessage SealedChamber_InnerRoom_Braille_InThisCaveWeHaveLived waitbuttonpress - hidebox2 + closebraillemessage releaseall end -SealedChamber_InnerRoom_EventScript_23925F:: @ 823925F +SealedChamber_InnerRoom_EventScript_BrailleStoryPart2:: @ 823925F lockall - braillemessage SealedChamber_InnerRoom_Braille_2A6BEC + braillemessage SealedChamber_InnerRoom_Braille_WeOweAllToThePokemon waitbuttonpress - hidebox2 + closebraillemessage releaseall end -SealedChamber_InnerRoom_EventScript_239269:: @ 8239269 +SealedChamber_InnerRoom_EventScript_BrailleStoryPart3:: @ 8239269 lockall - braillemessage SealedChamber_InnerRoom_Braille_2A6C0D + braillemessage SealedChamber_InnerRoom_Braille_ButWeSealedThePokemonAway waitbuttonpress - hidebox2 + closebraillemessage releaseall end -SealedChamber_InnerRoom_EventScript_239273:: @ 8239273 +SealedChamber_InnerRoom_EventScript_BrailleStoryPart4:: @ 8239273 lockall - braillemessage SealedChamber_InnerRoom_Braille_2A6C34 + braillemessage SealedChamber_InnerRoom_Braille_WeFearedIt waitbuttonpress - hidebox2 + closebraillemessage releaseall end -SealedChamber_InnerRoom_EventScript_23927D:: @ 823927D +SealedChamber_InnerRoom_EventScript_BrailleStoryPart5:: @ 823927D lockall - braillemessage SealedChamber_InnerRoom_Braille_2A6C48 + braillemessage SealedChamber_InnerRoom_Braille_ThoseWithCourageHope waitbuttonpress - hidebox2 + closebraillemessage releaseall end -SealedChamber_InnerRoom_EventScript_239287:: @ 8239287 +SealedChamber_InnerRoom_EventScript_BrailleStoryPart6:: @ 8239287 lockall - braillemessage SealedChamber_InnerRoom_Braille_2A6C73 + braillemessage SealedChamber_InnerRoom_Braille_OpenDoorEternalPokemonWaits waitbuttonpress - hidebox2 + closebraillemessage releaseall end diff --git a/data/maps/SealedChamber_OuterRoom/map.json b/data/maps/SealedChamber_OuterRoom/map.json index cc9c32272d..54a10ee70c 100644 --- a/data/maps/SealedChamber_OuterRoom/map.json +++ b/data/maps/SealedChamber_OuterRoom/map.json @@ -31,7 +31,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_23916C" + "script": "SealedChamber_OuterRoom_EventScript_BrailleABC" }, { "type": "sign", @@ -39,7 +39,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_239176" + "script": "SealedChamber_OuterRoom_EventScript_BrailleGHI" }, { "type": "sign", @@ -47,7 +47,7 @@ "y": 12, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_239180" + "script": "SealedChamber_OuterRoom_EventScript_BrailleMNO" }, { "type": "sign", @@ -55,7 +55,7 @@ "y": 15, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_23918A" + "script": "SealedChamber_OuterRoom_EventScript_BrailleTUV" }, { "type": "sign", @@ -63,7 +63,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_239194" + "script": "SealedChamber_OuterRoom_EventScript_BrailleDEF" }, { "type": "sign", @@ -71,7 +71,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_23919E" + "script": "SealedChamber_OuterRoom_EventScript_BrailleJKL" }, { "type": "sign", @@ -79,7 +79,7 @@ "y": 12, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_2391A8" + "script": "SealedChamber_OuterRoom_EventScript_BraillePQRS" }, { "type": "sign", @@ -87,7 +87,7 @@ "y": 15, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_2391BC" + "script": "SealedChamber_OuterRoom_EventScript_BrailleWXYZ" }, { "type": "sign", @@ -95,7 +95,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_2391B2" + "script": "SealedChamber_OuterRoom_EventScript_BraillePeriod" }, { "type": "sign", @@ -103,7 +103,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_2391C6" + "script": "SealedChamber_OuterRoom_EventScript_BrailleComma" }, { "type": "sign", @@ -111,7 +111,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_2391D0" + "script": "SealedChamber_OuterRoom_EventScript_InnerRoomEntranceWall" }, { "type": "sign", @@ -119,7 +119,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_23916C" + "script": "SealedChamber_OuterRoom_EventScript_BrailleABC" }, { "type": "sign", @@ -127,7 +127,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_23916C" + "script": "SealedChamber_OuterRoom_EventScript_BrailleABC" }, { "type": "sign", @@ -135,7 +135,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_239176" + "script": "SealedChamber_OuterRoom_EventScript_BrailleGHI" }, { "type": "sign", @@ -143,7 +143,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_239176" + "script": "SealedChamber_OuterRoom_EventScript_BrailleGHI" }, { "type": "sign", @@ -151,7 +151,7 @@ "y": 12, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_239180" + "script": "SealedChamber_OuterRoom_EventScript_BrailleMNO" }, { "type": "sign", @@ -159,7 +159,7 @@ "y": 12, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_239180" + "script": "SealedChamber_OuterRoom_EventScript_BrailleMNO" }, { "type": "sign", @@ -167,7 +167,7 @@ "y": 15, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_23918A" + "script": "SealedChamber_OuterRoom_EventScript_BrailleTUV" }, { "type": "sign", @@ -175,7 +175,7 @@ "y": 15, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_23918A" + "script": "SealedChamber_OuterRoom_EventScript_BrailleTUV" }, { "type": "sign", @@ -183,7 +183,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_239194" + "script": "SealedChamber_OuterRoom_EventScript_BrailleDEF" }, { "type": "sign", @@ -191,7 +191,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_239194" + "script": "SealedChamber_OuterRoom_EventScript_BrailleDEF" }, { "type": "sign", @@ -199,7 +199,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_23919E" + "script": "SealedChamber_OuterRoom_EventScript_BrailleJKL" }, { "type": "sign", @@ -207,7 +207,7 @@ "y": 9, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_23919E" + "script": "SealedChamber_OuterRoom_EventScript_BrailleJKL" }, { "type": "sign", @@ -215,7 +215,7 @@ "y": 12, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_2391A8" + "script": "SealedChamber_OuterRoom_EventScript_BraillePQRS" }, { "type": "sign", @@ -223,7 +223,7 @@ "y": 12, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_2391A8" + "script": "SealedChamber_OuterRoom_EventScript_BraillePQRS" }, { "type": "sign", @@ -231,7 +231,7 @@ "y": 15, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_2391BC" + "script": "SealedChamber_OuterRoom_EventScript_BrailleWXYZ" }, { "type": "sign", @@ -239,7 +239,7 @@ "y": 15, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_2391BC" + "script": "SealedChamber_OuterRoom_EventScript_BrailleWXYZ" }, { "type": "sign", @@ -247,7 +247,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_2391ED" + "script": "SealedChamber_OuterRoom_EventScript_BrailleDigHere" }, { "type": "sign", @@ -255,7 +255,7 @@ "y": 2, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SealedChamber_OuterRoom_EventScript_2391ED" + "script": "SealedChamber_OuterRoom_EventScript_BrailleDigHere" } ] } \ No newline at end of file diff --git a/data/maps/SealedChamber_OuterRoom/scripts.inc b/data/maps/SealedChamber_OuterRoom/scripts.inc index 865be89639..f3cd05a863 100644 --- a/data/maps/SealedChamber_OuterRoom/scripts.inc +++ b/data/maps/SealedChamber_OuterRoom/scripts.inc @@ -1,10 +1,10 @@ SealedChamber_OuterRoom_MapScripts:: @ 8239106 - map_script MAP_SCRIPT_ON_RESUME, SealedChamber_OuterRoom_MapScript1_239116 + map_script MAP_SCRIPT_ON_RESUME, SealedChamber_OuterRoom_OnResume map_script MAP_SCRIPT_ON_TRANSITION, SealedChamber_OuterRoom_OnTransition - map_script MAP_SCRIPT_ON_LOAD, SealedChamber_OuterRoom_MapScript1_23912B + map_script MAP_SCRIPT_ON_LOAD, SealedChamber_OuterRoom_OnLoad .byte 0 -SealedChamber_OuterRoom_MapScript1_239116: @ 8239116 +SealedChamber_OuterRoom_OnResume: @ 8239116 setdivewarp MAP_UNDERWATER_SEALED_CHAMBER, 255, 12, 44 setescapewarp MAP_UNDERWATER_SEALED_CHAMBER, 255, 12, 44 end @@ -13,11 +13,11 @@ SealedChamber_OuterRoom_OnTransition: @ 8239127 setflag FLAG_LANDMARK_SEALED_CHAMBER end -SealedChamber_OuterRoom_MapScript1_23912B: @ 823912B - call_if_unset FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_239135 +SealedChamber_OuterRoom_OnLoad: @ 823912B + call_if_unset FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_CloseInnerRoomEntrance end -SealedChamber_OuterRoom_EventScript_239135:: @ 8239135 +SealedChamber_OuterRoom_EventScript_CloseInnerRoomEntrance:: @ 8239135 setmetatile 9, 1, METATILE_Cave_EntranceCover, 1 setmetatile 10, 1, METATILE_Cave_EntranceCover, 1 setmetatile 11, 1, METATILE_Cave_EntranceCover, 1 @@ -26,105 +26,105 @@ SealedChamber_OuterRoom_EventScript_239135:: @ 8239135 setmetatile 11, 2, METATILE_Cave_SealedChamberBraille_Mid, 1 return -SealedChamber_OuterRoom_EventScript_23916C:: @ 823916C +SealedChamber_OuterRoom_EventScript_BrailleABC:: @ 823916C lockall - braillemessage SealedChamber_OuterRoom_Braille_2A6B27 + braillemessage SealedChamber_OuterRoom_Braille_ABC waitbuttonpress - hidebox2 + closebraillemessage releaseall end -SealedChamber_OuterRoom_EventScript_239176:: @ 8239176 +SealedChamber_OuterRoom_EventScript_BrailleGHI:: @ 8239176 lockall - braillemessage SealedChamber_OuterRoom_Braille_2A6B31 + braillemessage SealedChamber_OuterRoom_Braille_GHI waitbuttonpress - hidebox2 + closebraillemessage releaseall end -SealedChamber_OuterRoom_EventScript_239180:: @ 8239180 +SealedChamber_OuterRoom_EventScript_BrailleMNO:: @ 8239180 lockall - braillemessage SealedChamber_OuterRoom_Braille_2A6B3B + braillemessage SealedChamber_OuterRoom_Braille_MNO waitbuttonpress - hidebox2 + closebraillemessage releaseall end -SealedChamber_OuterRoom_EventScript_23918A:: @ 823918A +SealedChamber_OuterRoom_EventScript_BrailleTUV:: @ 823918A lockall - braillemessage SealedChamber_OuterRoom_Braille_2A6B45 + braillemessage SealedChamber_OuterRoom_Braille_TUV waitbuttonpress - hidebox2 + closebraillemessage releaseall end -SealedChamber_OuterRoom_EventScript_239194:: @ 8239194 +SealedChamber_OuterRoom_EventScript_BrailleDEF:: @ 8239194 lockall - braillemessage SealedChamber_OuterRoom_Braille_2A6B4F + braillemessage SealedChamber_OuterRoom_Braille_DEF waitbuttonpress - hidebox2 + closebraillemessage releaseall end -SealedChamber_OuterRoom_EventScript_23919E:: @ 823919E +SealedChamber_OuterRoom_EventScript_BrailleJKL:: @ 823919E lockall - braillemessage SealedChamber_OuterRoom_Braille_2A6B59 + braillemessage SealedChamber_OuterRoom_Braille_JKL waitbuttonpress - hidebox2 + closebraillemessage releaseall end -SealedChamber_OuterRoom_EventScript_2391A8:: @ 82391A8 +SealedChamber_OuterRoom_EventScript_BraillePQRS:: @ 82391A8 lockall - braillemessage SealedChamber_OuterRoom_Braille_2A6B63 + braillemessage SealedChamber_OuterRoom_Braille_PQRS waitbuttonpress - hidebox2 + closebraillemessage releaseall end -SealedChamber_OuterRoom_EventScript_2391B2:: @ 82391B2 +SealedChamber_OuterRoom_EventScript_BraillePeriod:: @ 82391B2 lockall - braillemessage SealedChamber_OuterRoom_Braille_2A6B6E + braillemessage SealedChamber_OuterRoom_Braille_Period waitbuttonpress - hidebox2 + closebraillemessage releaseall end -SealedChamber_OuterRoom_EventScript_2391BC:: @ 82391BC +SealedChamber_OuterRoom_EventScript_BrailleWXYZ:: @ 82391BC lockall - braillemessage SealedChamber_OuterRoom_Braille_2A6B76 + braillemessage SealedChamber_OuterRoom_Braille_WXYZ waitbuttonpress - hidebox2 + closebraillemessage releaseall end -SealedChamber_OuterRoom_EventScript_2391C6:: @ 82391C6 +SealedChamber_OuterRoom_EventScript_BrailleComma:: @ 82391C6 lockall - braillemessage SealedChamber_OuterRoom_Braille_2A6B81 + braillemessage SealedChamber_OuterRoom_Braille_Comma waitbuttonpress - hidebox2 + closebraillemessage releaseall end -SealedChamber_OuterRoom_EventScript_2391D0:: @ 82391D0 +SealedChamber_OuterRoom_EventScript_InnerRoomEntranceWall:: @ 82391D0 lockall - goto_if_set FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_2391E3 - braillemessage SealedChamber_OuterRoom_Braille_2A6B89 + goto_if_set FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_HoleInWall + braillemessage SealedChamber_OuterRoom_Braille_DigHere waitbuttonpress - hidebox2 + closebraillemessage releaseall end -SealedChamber_OuterRoom_EventScript_2391E3:: @ 82391E3 - msgbox gUnknown_0827304E, MSGBOX_DEFAULT +SealedChamber_OuterRoom_EventScript_HoleInWall:: @ 82391E3 + msgbox gText_BigHoleInTheWall, MSGBOX_DEFAULT releaseall end -SealedChamber_OuterRoom_EventScript_2391ED:: @ 82391ED +SealedChamber_OuterRoom_EventScript_BrailleDigHere:: @ 82391ED lockall - braillemessage SealedChamber_OuterRoom_Braille_2A6B89 + braillemessage SealedChamber_OuterRoom_Braille_DigHere waitbuttonpress - hidebox2 + closebraillemessage releaseall end diff --git a/data/maps/SecretBase_BlueCave1/map.json b/data/maps/SecretBase_BlueCave1/map.json index 8f255972f4..8ac45a1473 100644 --- a/data/maps/SecretBase_BlueCave1/map.json +++ b/data/maps/SecretBase_BlueCave1/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_BLUE_CAVE1", "name": "SecretBase_BlueCave1", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_BLUE_CAVE1", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_BlueCave1_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_BlueCave1/scripts.inc b/data/maps/SecretBase_BlueCave1/scripts.inc deleted file mode 100644 index a7f979bde9..0000000000 --- a/data/maps/SecretBase_BlueCave1/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_BlueCave1_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_BlueCave2/map.json b/data/maps/SecretBase_BlueCave2/map.json index ec5d74d2f6..1e8cf98fde 100644 --- a/data/maps/SecretBase_BlueCave2/map.json +++ b/data/maps/SecretBase_BlueCave2/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_BLUE_CAVE2", "name": "SecretBase_BlueCave2", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_BLUE_CAVE2", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_BlueCave2_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_BlueCave2/scripts.inc b/data/maps/SecretBase_BlueCave2/scripts.inc deleted file mode 100644 index cb4ad3565c..0000000000 --- a/data/maps/SecretBase_BlueCave2/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_BlueCave2_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_BlueCave3/map.json b/data/maps/SecretBase_BlueCave3/map.json index 07be1610a8..d057ade305 100644 --- a/data/maps/SecretBase_BlueCave3/map.json +++ b/data/maps/SecretBase_BlueCave3/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_BLUE_CAVE3", "name": "SecretBase_BlueCave3", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_BLUE_CAVE3", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_BlueCave3_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_BlueCave3/scripts.inc b/data/maps/SecretBase_BlueCave3/scripts.inc deleted file mode 100644 index f49ff6dc1c..0000000000 --- a/data/maps/SecretBase_BlueCave3/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_BlueCave3_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_BlueCave4/map.json b/data/maps/SecretBase_BlueCave4/map.json index 45762d6198..4cdb8de60d 100644 --- a/data/maps/SecretBase_BlueCave4/map.json +++ b/data/maps/SecretBase_BlueCave4/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_BLUE_CAVE4", "name": "SecretBase_BlueCave4", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_BLUE_CAVE4", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_BlueCave4_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_BlueCave4/scripts.inc b/data/maps/SecretBase_BlueCave4/scripts.inc deleted file mode 100644 index faa8085457..0000000000 --- a/data/maps/SecretBase_BlueCave4/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_BlueCave4_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_BrownCave1/map.json b/data/maps/SecretBase_BrownCave1/map.json index 679564ba7a..39d7d3d92f 100644 --- a/data/maps/SecretBase_BrownCave1/map.json +++ b/data/maps/SecretBase_BrownCave1/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_BROWN_CAVE1", "name": "SecretBase_BrownCave1", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_BROWN_CAVE1", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_BrownCave1_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_BrownCave1/scripts.inc b/data/maps/SecretBase_BrownCave1/scripts.inc deleted file mode 100644 index 9d2925611c..0000000000 --- a/data/maps/SecretBase_BrownCave1/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_BrownCave1_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_BrownCave2/map.json b/data/maps/SecretBase_BrownCave2/map.json index 35d5be558b..d268e604a5 100644 --- a/data/maps/SecretBase_BrownCave2/map.json +++ b/data/maps/SecretBase_BrownCave2/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_BROWN_CAVE2", "name": "SecretBase_BrownCave2", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_BROWN_CAVE2", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_BrownCave2_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_BrownCave2/scripts.inc b/data/maps/SecretBase_BrownCave2/scripts.inc deleted file mode 100644 index e9c497facb..0000000000 --- a/data/maps/SecretBase_BrownCave2/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_BrownCave2_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_BrownCave3/map.json b/data/maps/SecretBase_BrownCave3/map.json index 5424ee85e5..f1a4f656c0 100644 --- a/data/maps/SecretBase_BrownCave3/map.json +++ b/data/maps/SecretBase_BrownCave3/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_BROWN_CAVE3", "name": "SecretBase_BrownCave3", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_BROWN_CAVE3", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_BrownCave3_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_BrownCave3/scripts.inc b/data/maps/SecretBase_BrownCave3/scripts.inc deleted file mode 100644 index 284262d911..0000000000 --- a/data/maps/SecretBase_BrownCave3/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_BrownCave3_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_BrownCave4/map.json b/data/maps/SecretBase_BrownCave4/map.json index de3b4709ef..80199de730 100644 --- a/data/maps/SecretBase_BrownCave4/map.json +++ b/data/maps/SecretBase_BrownCave4/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_BROWN_CAVE4", "name": "SecretBase_BrownCave4", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_BROWN_CAVE4", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_BrownCave4_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_BrownCave4/scripts.inc b/data/maps/SecretBase_BrownCave4/scripts.inc deleted file mode 100644 index 84f6855080..0000000000 --- a/data/maps/SecretBase_BrownCave4/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_BrownCave4_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_RedCave1/map.json b/data/maps/SecretBase_RedCave1/map.json index eac0366c17..b485575b38 100644 --- a/data/maps/SecretBase_RedCave1/map.json +++ b/data/maps/SecretBase_RedCave1/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_RED_CAVE1", "name": "SecretBase_RedCave1", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_RED_CAVE1", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_RedCave1_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_RedCave1/scripts.inc b/data/maps/SecretBase_RedCave1/scripts.inc deleted file mode 100644 index f9c55a2b5c..0000000000 --- a/data/maps/SecretBase_RedCave1/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_RedCave1_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_RedCave2/map.json b/data/maps/SecretBase_RedCave2/map.json index bcbfbd0f2f..fb2dd3da3a 100644 --- a/data/maps/SecretBase_RedCave2/map.json +++ b/data/maps/SecretBase_RedCave2/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_RED_CAVE2", "name": "SecretBase_RedCave2", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_RED_CAVE2", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_RedCave2_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_RedCave2/scripts.inc b/data/maps/SecretBase_RedCave2/scripts.inc deleted file mode 100644 index e7e0c7ba5c..0000000000 --- a/data/maps/SecretBase_RedCave2/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_RedCave2_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_RedCave3/map.json b/data/maps/SecretBase_RedCave3/map.json index 00c14d3f31..ac1b8c1037 100644 --- a/data/maps/SecretBase_RedCave3/map.json +++ b/data/maps/SecretBase_RedCave3/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_RED_CAVE3", "name": "SecretBase_RedCave3", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_RED_CAVE3", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_RedCave3_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_RedCave3/scripts.inc b/data/maps/SecretBase_RedCave3/scripts.inc deleted file mode 100644 index 512f7f92a3..0000000000 --- a/data/maps/SecretBase_RedCave3/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_RedCave3_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_RedCave4/map.json b/data/maps/SecretBase_RedCave4/map.json index b54974c4cc..b3f5998f2c 100644 --- a/data/maps/SecretBase_RedCave4/map.json +++ b/data/maps/SecretBase_RedCave4/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_RED_CAVE4", "name": "SecretBase_RedCave4", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_RED_CAVE4", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_RedCave4_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_RedCave4/scripts.inc b/data/maps/SecretBase_RedCave4/scripts.inc deleted file mode 100644 index 98e79f89f3..0000000000 --- a/data/maps/SecretBase_RedCave4/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_RedCave4_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_Shrub1/map.json b/data/maps/SecretBase_Shrub1/map.json index 38cb8997f1..b43accd3c9 100644 --- a/data/maps/SecretBase_Shrub1/map.json +++ b/data/maps/SecretBase_Shrub1/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_SHRUB1", "name": "SecretBase_Shrub1", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_SHRUB1", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_Shrub1_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_Shrub1/scripts.inc b/data/maps/SecretBase_Shrub1/scripts.inc deleted file mode 100644 index 24b8685a0a..0000000000 --- a/data/maps/SecretBase_Shrub1/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_Shrub1_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_Shrub2/map.json b/data/maps/SecretBase_Shrub2/map.json index 728226fdc6..86590e0c39 100644 --- a/data/maps/SecretBase_Shrub2/map.json +++ b/data/maps/SecretBase_Shrub2/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_SHRUB2", "name": "SecretBase_Shrub2", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_SHRUB2", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_Shrub2_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_Shrub2/scripts.inc b/data/maps/SecretBase_Shrub2/scripts.inc deleted file mode 100644 index dad94f46db..0000000000 --- a/data/maps/SecretBase_Shrub2/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_Shrub2_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_Shrub3/map.json b/data/maps/SecretBase_Shrub3/map.json index a3c5cdf057..ac14a8e45b 100644 --- a/data/maps/SecretBase_Shrub3/map.json +++ b/data/maps/SecretBase_Shrub3/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_SHRUB3", "name": "SecretBase_Shrub3", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_SHRUB3", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_Shrub3_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_Shrub3/scripts.inc b/data/maps/SecretBase_Shrub3/scripts.inc deleted file mode 100644 index 22c67c939e..0000000000 --- a/data/maps/SecretBase_Shrub3/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_Shrub3_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_Shrub4/map.json b/data/maps/SecretBase_Shrub4/map.json index 9977f6eeb1..c8b86decb5 100644 --- a/data/maps/SecretBase_Shrub4/map.json +++ b/data/maps/SecretBase_Shrub4/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_SHRUB4", "name": "SecretBase_Shrub4", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_SHRUB4", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_Shrub4_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_Shrub4/scripts.inc b/data/maps/SecretBase_Shrub4/scripts.inc deleted file mode 100644 index 1a99522329..0000000000 --- a/data/maps/SecretBase_Shrub4/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_Shrub4_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_Tree1/map.json b/data/maps/SecretBase_Tree1/map.json index 5d3309cc77..93f119a926 100644 --- a/data/maps/SecretBase_Tree1/map.json +++ b/data/maps/SecretBase_Tree1/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_TREE1", "name": "SecretBase_Tree1", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_TREE1", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_Tree1_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_Tree1/scripts.inc b/data/maps/SecretBase_Tree1/scripts.inc deleted file mode 100644 index 7e7704d6ad..0000000000 --- a/data/maps/SecretBase_Tree1/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_Tree1_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_Tree2/map.json b/data/maps/SecretBase_Tree2/map.json index 67deb9a10a..96a4fc7f7d 100644 --- a/data/maps/SecretBase_Tree2/map.json +++ b/data/maps/SecretBase_Tree2/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_TREE2", "name": "SecretBase_Tree2", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_TREE2", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_Tree2_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_Tree2/scripts.inc b/data/maps/SecretBase_Tree2/scripts.inc deleted file mode 100644 index b30a6ec742..0000000000 --- a/data/maps/SecretBase_Tree2/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_Tree2_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_Tree3/map.json b/data/maps/SecretBase_Tree3/map.json index 6e4494836d..89fd3cf494 100644 --- a/data/maps/SecretBase_Tree3/map.json +++ b/data/maps/SecretBase_Tree3/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_TREE3", "name": "SecretBase_Tree3", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_TREE3", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_Tree3_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_Tree3/scripts.inc b/data/maps/SecretBase_Tree3/scripts.inc deleted file mode 100644 index 9512bbb808..0000000000 --- a/data/maps/SecretBase_Tree3/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_Tree3_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_Tree4/map.json b/data/maps/SecretBase_Tree4/map.json index 465b1d50b5..da6c9e727a 100644 --- a/data/maps/SecretBase_Tree4/map.json +++ b/data/maps/SecretBase_Tree4/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_TREE4", "name": "SecretBase_Tree4", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_TREE4", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_Tree4_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_Tree4/scripts.inc b/data/maps/SecretBase_Tree4/scripts.inc deleted file mode 100644 index 62f41627fc..0000000000 --- a/data/maps/SecretBase_Tree4/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_Tree4_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_YellowCave1/map.json b/data/maps/SecretBase_YellowCave1/map.json index a14826a3a5..e8ebdd91af 100644 --- a/data/maps/SecretBase_YellowCave1/map.json +++ b/data/maps/SecretBase_YellowCave1/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_YELLOW_CAVE1", "name": "SecretBase_YellowCave1", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_YELLOW_CAVE1", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_YellowCave1_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_YellowCave1/scripts.inc b/data/maps/SecretBase_YellowCave1/scripts.inc deleted file mode 100644 index fa56be0ebc..0000000000 --- a/data/maps/SecretBase_YellowCave1/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_YellowCave1_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_YellowCave2/map.json b/data/maps/SecretBase_YellowCave2/map.json index 97b6baa22f..9eb60caabd 100644 --- a/data/maps/SecretBase_YellowCave2/map.json +++ b/data/maps/SecretBase_YellowCave2/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_YELLOW_CAVE2", "name": "SecretBase_YellowCave2", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_YELLOW_CAVE2", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_YellowCave2_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_YellowCave2/scripts.inc b/data/maps/SecretBase_YellowCave2/scripts.inc deleted file mode 100644 index 86c3c876fa..0000000000 --- a/data/maps/SecretBase_YellowCave2/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_YellowCave2_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_YellowCave3/map.json b/data/maps/SecretBase_YellowCave3/map.json index 581a3479f7..567255385b 100644 --- a/data/maps/SecretBase_YellowCave3/map.json +++ b/data/maps/SecretBase_YellowCave3/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_YELLOW_CAVE3", "name": "SecretBase_YellowCave3", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_YELLOW_CAVE3", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_YellowCave3_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_YellowCave3/scripts.inc b/data/maps/SecretBase_YellowCave3/scripts.inc deleted file mode 100644 index 26311e6c51..0000000000 --- a/data/maps/SecretBase_YellowCave3/scripts.inc +++ /dev/null @@ -1 +0,0 @@ -SecretBase_YellowCave3_MapScripts:: @ 823B483 diff --git a/data/maps/SecretBase_YellowCave4/map.json b/data/maps/SecretBase_YellowCave4/map.json index 3dfa7cc08c..26a3873fc1 100644 --- a/data/maps/SecretBase_YellowCave4/map.json +++ b/data/maps/SecretBase_YellowCave4/map.json @@ -1,6 +1,7 @@ { "id": "MAP_SECRET_BASE_YELLOW_CAVE4", "name": "SecretBase_YellowCave4", + "shared_scripts_map": "SecretBase", "layout": "LAYOUT_SECRET_BASE_YELLOW_CAVE4", "music": "MUS_MACHI_S3", "region_map_section": "MAPSEC_SECRET_BASE", @@ -24,7 +25,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SecretBase_YellowCave4_EventScript_275D64", + "script": "SecretBase_EventScript_RecordMixTrainer", "flag": "FLAG_DECORATION_0" }, { diff --git a/data/maps/SecretBase_YellowCave4/scripts.inc b/data/maps/SecretBase_YellowCave4/scripts.inc deleted file mode 100644 index c05ea13c04..0000000000 --- a/data/maps/SecretBase_YellowCave4/scripts.inc +++ /dev/null @@ -1,24 +0,0 @@ -SecretBase_YellowCave4_MapScripts:: @ 823B483 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SecretBase_RedCave1_MapScript2_23B498 - map_script MAP_SCRIPT_ON_TRANSITION, SecretBase_RedCave1_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, SecretBase_RedCave1_MapScript2_23B4AE - map_script MAP_SCRIPT_ON_RESUME, SecretBase_RedCave1_MapScript1_23B4B8 - .byte 0 - -SecretBase_RedCave1_MapScript2_23B498: @ 823B498 - map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, EventScript_275D0C - .2byte 0 - -SecretBase_RedCave1_OnTransition: @ 823B4A2 - call SecretBase_RedCave1_EventScript_275CE1 - special SetSecretBaseOwnerGfxId - special sub_80EB1AC - end - -SecretBase_RedCave1_MapScript2_23B4AE: @ 823B4AE - map_script_2 VAR_INIT_SECRET_BASE, 0, SecretBase_RedCave1_EventScript_275B81 - .2byte 0 - -SecretBase_RedCave1_MapScript1_23B4B8: @ 823B4B8 - setstepcallback 6 - end diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/map.json b/data/maps/ShoalCave_LowTideEntranceRoom/map.json index 4b5d231105..9845375949 100644 --- a/data/maps/ShoalCave_LowTideEntranceRoom/map.json +++ b/data/maps/ShoalCave_LowTideEntranceRoom/map.json @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "ShoalCave_LowTideEntranceRoom_EventScript_236DD9", + "script": "ShoalCave_LowTideEntranceRoom_EventScript_ShellBellExpert", "flag": "0" } ], diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc index 13d8f92d90..89cadd56d1 100644 --- a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc +++ b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc @@ -4,90 +4,91 @@ ShoalCave_LowTideEntranceRoom_MapScripts:: @ 8236DBA ShoalCave_LowTideEntranceRoom_OnTransition: @ 8236DC0 special UpdateShoalTideFlag - goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideEntranceRoom_EventScript_236DD1 - goto ShoalCave_LowTideEntranceRoom_EventScript_236DD5 + goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideEntranceRoom_EventScript_SetHighTide + goto ShoalCave_LowTideEntranceRoom_EventScript_SetLowTide -ShoalCave_LowTideEntranceRoom_EventScript_236DD1:: @ 8236DD1 +ShoalCave_LowTideEntranceRoom_EventScript_SetHighTide:: @ 8236DD1 setmaplayoutindex LAYOUT_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM end -ShoalCave_LowTideEntranceRoom_EventScript_236DD5:: @ 8236DD5 +ShoalCave_LowTideEntranceRoom_EventScript_SetLowTide:: @ 8236DD5 setmaplayoutindex LAYOUT_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM end -ShoalCave_LowTideEntranceRoom_EventScript_236DD9:: @ 8236DD9 +ShoalCave_LowTideEntranceRoom_EventScript_ShellBellExpert:: @ 8236DD9 lock faceplayer dotimebasedevents - call_if_set FLAG_SYS_SHOAL_ITEM, ShoalCave_LowTideEntranceRoom_EventScript_236ED9 + call_if_set FLAG_SYS_SHOAL_ITEM, ShoalCave_LowTideEntranceRoom_EventScript_ResetShoalItems checkitem ITEM_SHOAL_SALT, 4 - compare VAR_RESULT, 0 - goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B + compare VAR_RESULT, FALSE + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_NotEnoughShoalSaltOrShells checkitem ITEM_SHOAL_SHELL, 4 - compare VAR_RESULT, 0 - goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B - msgbox ShoalCave_LowTideEntranceRoom_Text_2A7F37, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236ECF + compare VAR_RESULT, FALSE + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_NotEnoughShoalSaltOrShells + msgbox ShoalCave_LowTideEntranceRoom_Text_WouldYouLikeShellBell, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_DeclineShellBell checkitemspace ITEM_SHELL_BELL, 1 - compare VAR_RESULT, 0 - call_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E69 + compare VAR_RESULT, FALSE + call_if_eq ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreed compare VAR_RESULT, 2 - goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E91 - msgbox ShoalCave_LowTideEntranceRoom_Text_2A7FAC, MSGBOX_DEFAULT - takeitem ITEM_SHOAL_SALT, 4 - takeitem ITEM_SHOAL_SHELL, 4 - giveitem_std ITEM_SHELL_BELL - compare VAR_RESULT, 0 + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_NoRoomForShellBell + msgbox ShoalCave_LowTideEntranceRoom_Text_MakeShellBellRightAway, MSGBOX_DEFAULT + removeitem ITEM_SHOAL_SALT, 4 + removeitem ITEM_SHOAL_SHELL, 4 + giveitem ITEM_SHELL_BELL + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull - msgbox ShoalCave_LowTideEntranceRoom_Text_2A8012, MSGBOX_DEFAULT + msgbox ShoalCave_LowTideEntranceRoom_Text_ExplainShellBell, MSGBOX_DEFAULT setflag FLAG_TEMP_2 release end -ShoalCave_LowTideEntranceRoom_EventScript_236E69:: @ 8236E69 +@ If the bag is full, check if a slot will be freed when 4 Shoal Salt or Shells are given +ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreed:: @ 8236E69 checkitem ITEM_SHOAL_SALT, 5 - compare VAR_RESULT, 1 - goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E7A + compare VAR_RESULT, TRUE + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreedShells return -ShoalCave_LowTideEntranceRoom_EventScript_236E7A:: @ 8236E7A +ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreedShells:: @ 8236E7A checkitem ITEM_SHOAL_SHELL, 5 - compare VAR_RESULT, 1 - goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E8B + compare VAR_RESULT, TRUE + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_NoSpaceWillBeFreed return -ShoalCave_LowTideEntranceRoom_EventScript_236E8B:: @ 8236E8B +ShoalCave_LowTideEntranceRoom_EventScript_NoSpaceWillBeFreed:: @ 8236E8B setvar VAR_RESULT, 2 return -ShoalCave_LowTideEntranceRoom_EventScript_236E91:: @ 8236E91 - msgbox ShoalCave_LowTideEntranceRoom_Text_2A80F5, MSGBOX_DEFAULT +ShoalCave_LowTideEntranceRoom_EventScript_NoRoomForShellBell:: @ 8236E91 + msgbox ShoalCave_LowTideEntranceRoom_Text_NoSpaceInYourBag, MSGBOX_DEFAULT release end -ShoalCave_LowTideEntranceRoom_EventScript_236E9B:: @ 8236E9B +ShoalCave_LowTideEntranceRoom_EventScript_NotEnoughShoalSaltOrShells:: @ 8236E9B checkitem ITEM_SHOAL_SALT, 1 - compare VAR_RESULT, 1 - goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5 + compare VAR_RESULT, TRUE + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_HasSomeShoalSaltOrShell checkitem ITEM_SHOAL_SHELL, 1 - compare VAR_RESULT, 1 - goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5 - msgbox ShoalCave_LowTideEntranceRoom_Text_2A7E0E, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_HasSomeShoalSaltOrShell + msgbox ShoalCave_LowTideEntranceRoom_Text_AreYouPlanningOnGoingInThere, MSGBOX_DEFAULT release end -ShoalCave_LowTideEntranceRoom_EventScript_236EC5:: @ 8236EC5 - msgbox ShoalCave_LowTideEntranceRoom_Text_2A7EB3, MSGBOX_DEFAULT +ShoalCave_LowTideEntranceRoom_EventScript_HasSomeShoalSaltOrShell:: @ 8236EC5 + msgbox ShoalCave_LowTideEntranceRoom_Text_BringMe4ShoalSaltAndShells, MSGBOX_DEFAULT release end -ShoalCave_LowTideEntranceRoom_EventScript_236ECF:: @ 8236ECF - msgbox ShoalCave_LowTideEntranceRoom_Text_2A80C6, MSGBOX_DEFAULT +ShoalCave_LowTideEntranceRoom_EventScript_DeclineShellBell:: @ 8236ECF + msgbox ShoalCave_LowTideEntranceRoom_Text_WantedToMakeShellBell, MSGBOX_DEFAULT release end -ShoalCave_LowTideEntranceRoom_EventScript_236ED9:: @ 8236ED9 +ShoalCave_LowTideEntranceRoom_EventScript_ResetShoalItems:: @ 8236ED9 clearflag FLAG_RECEIVED_SHOAL_SALT_1 clearflag FLAG_RECEIVED_SHOAL_SALT_2 clearflag FLAG_RECEIVED_SHOAL_SALT_3 diff --git a/data/maps/ShoalCave_LowTideInnerRoom/map.json b/data/maps/ShoalCave_LowTideInnerRoom/map.json index f9eec06c44..5bc7ef756a 100644 --- a/data/maps/ShoalCave_LowTideInnerRoom/map.json +++ b/data/maps/ShoalCave_LowTideInnerRoom/map.json @@ -94,7 +94,7 @@ "y": 8, "elevation": 5, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "ShoalCave_LowTideInnerRoom_EventScript_23708C" + "script": "ShoalCave_LowTideInnerRoom_EventScript_ShoalSalt1" }, { "type": "sign", @@ -102,7 +102,7 @@ "y": 26, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "ShoalCave_LowTideInnerRoom_EventScript_2370C8" + "script": "ShoalCave_LowTideInnerRoom_EventScript_ShoalSalt2" }, { "type": "sign", @@ -110,7 +110,7 @@ "y": 20, "elevation": 5, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "ShoalCave_LowTideInnerRoom_EventScript_236FBA" + "script": "ShoalCave_LowTideInnerRoom_EventScript_ShoalShell1" }, { "type": "sign", @@ -118,7 +118,7 @@ "y": 10, "elevation": 5, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "ShoalCave_LowTideInnerRoom_EventScript_236FF6" + "script": "ShoalCave_LowTideInnerRoom_EventScript_ShoalShell2" }, { "type": "sign", @@ -126,7 +126,7 @@ "y": 9, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "ShoalCave_LowTideInnerRoom_EventScript_237028" + "script": "ShoalCave_LowTideInnerRoom_EventScript_ShoalShell3" }, { "type": "sign", @@ -134,7 +134,7 @@ "y": 13, "elevation": 5, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "ShoalCave_LowTideInnerRoom_EventScript_23705A" + "script": "ShoalCave_LowTideInnerRoom_EventScript_ShoalShell4" } ] } \ No newline at end of file diff --git a/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc b/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc index c7f2963199..69ef1e75f7 100644 --- a/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc +++ b/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc @@ -1,69 +1,69 @@ ShoalCave_LowTideInnerRoom_MapScripts:: @ 8236EF5 - map_script MAP_SCRIPT_ON_LOAD, ShoalCave_LowTideInnerRoom_MapScript1_236F16 + map_script MAP_SCRIPT_ON_LOAD, ShoalCave_LowTideInnerRoom_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, ShoalCave_LowTideInnerRoom_OnTransition .byte 0 ShoalCave_LowTideInnerRoom_OnTransition: @ 8236F00 - goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_236F0E - goto ShoalCave_LowTideInnerRoom_EventScript_236F12 + goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_SetHighTide + goto ShoalCave_LowTideInnerRoom_EventScript_SetLowTide -ShoalCave_LowTideInnerRoom_EventScript_236F0E:: @ 8236F0E +ShoalCave_LowTideInnerRoom_EventScript_SetHighTide:: @ 8236F0E setmaplayoutindex LAYOUT_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM end -ShoalCave_LowTideInnerRoom_EventScript_236F12:: @ 8236F12 +ShoalCave_LowTideInnerRoom_EventScript_SetLowTide:: @ 8236F12 setmaplayoutindex LAYOUT_SHOAL_CAVE_LOW_TIDE_INNER_ROOM end -ShoalCave_LowTideInnerRoom_MapScript1_236F16: @ 8236F16 - call ShoalCave_LowTideInnerRoom_EventScript_236F1C +ShoalCave_LowTideInnerRoom_OnLoad: @ 8236F16 + call ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles end -ShoalCave_LowTideInnerRoom_EventScript_236F1C:: @ 8236F1C - goto_if_set FLAG_RECEIVED_SHOAL_SALT_1, ShoalCave_LowTideInnerRoom_EventScript_236F3D - goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_236F3D +ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles:: @ 8236F1C + goto_if_set FLAG_RECEIVED_SHOAL_SALT_1, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles2 + goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles2 setmetatile 31, 8, METATILE_Cave_ShoalCave_DirtPile_Large, 1 - goto ShoalCave_LowTideInnerRoom_EventScript_236F3D + goto ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles2 end -ShoalCave_LowTideInnerRoom_EventScript_236F3D:: @ 8236F3D - goto_if_set FLAG_RECEIVED_SHOAL_SALT_2, ShoalCave_LowTideInnerRoom_EventScript_236F5E - goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_236F5E +ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles2:: @ 8236F3D + goto_if_set FLAG_RECEIVED_SHOAL_SALT_2, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles3 + goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles3 setmetatile 14, 26, METATILE_Cave_ShoalCave_DirtPile_Large, 1 - goto ShoalCave_LowTideInnerRoom_EventScript_236F5E + goto ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles3 end -ShoalCave_LowTideInnerRoom_EventScript_236F5E:: @ 8236F5E - goto_if_set FLAG_RECEIVED_SHOAL_SHELL_1, ShoalCave_LowTideInnerRoom_EventScript_236F76 +ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles3:: @ 8236F5E + goto_if_set FLAG_RECEIVED_SHOAL_SHELL_1, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles4 setmetatile 41, 20, METATILE_Cave_ShoalCave_BlueStone_Large, 1 - goto ShoalCave_LowTideInnerRoom_EventScript_236F76 + goto ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles4 end -ShoalCave_LowTideInnerRoom_EventScript_236F76:: @ 8236F76 - goto_if_set FLAG_RECEIVED_SHOAL_SHELL_2, ShoalCave_LowTideInnerRoom_EventScript_236F8E +ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles4:: @ 8236F76 + goto_if_set FLAG_RECEIVED_SHOAL_SHELL_2, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles5 setmetatile 41, 10, METATILE_Cave_ShoalCave_BlueStone_Large, 1 - goto ShoalCave_LowTideInnerRoom_EventScript_236F8E + goto ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles5 end -ShoalCave_LowTideInnerRoom_EventScript_236F8E:: @ 8236F8E - goto_if_set FLAG_RECEIVED_SHOAL_SHELL_3, ShoalCave_LowTideInnerRoom_EventScript_236FA6 +ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles5:: @ 8236F8E + goto_if_set FLAG_RECEIVED_SHOAL_SHELL_3, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles6 setmetatile 6, 9, METATILE_Cave_ShoalCave_BlueStone_Large, 1 - goto ShoalCave_LowTideInnerRoom_EventScript_236FA6 + goto ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles6 end -ShoalCave_LowTideInnerRoom_EventScript_236FA6:: @ 8236FA6 - goto_if_set FLAG_RECEIVED_SHOAL_SHELL_4, ShoalCave_LowTideInnerRoom_EventScript_236FB9 +ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles6:: @ 8236FA6 + goto_if_set FLAG_RECEIVED_SHOAL_SHELL_4, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatilesEnd setmetatile 16, 13, METATILE_Cave_ShoalCave_BlueStone_Large, 1 return -ShoalCave_LowTideInnerRoom_EventScript_236FB9:: @ 8236FB9 +ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatilesEnd:: @ 8236FB9 return -ShoalCave_LowTideInnerRoom_EventScript_236FBA:: @ 8236FBA +ShoalCave_LowTideInnerRoom_EventScript_ShoalShell1:: @ 8236FBA lockall - goto_if_set FLAG_RECEIVED_SHOAL_SHELL_1, ShoalCave_LowTideInnerRoom_EventScript_236FEC - giveitem_std ITEM_SHOAL_SHELL - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_SHOAL_SHELL_1, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalShell + giveitem ITEM_SHOAL_SHELL + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setmetatile 41, 20, METATILE_Cave_ShoalCave_BlueStone_Small, 0 special DrawWholeMapView @@ -71,16 +71,16 @@ ShoalCave_LowTideInnerRoom_EventScript_236FBA:: @ 8236FBA releaseall end -ShoalCave_LowTideInnerRoom_EventScript_236FEC:: @ 8236FEC - msgbox ShoalCave_LowTideInnerRoom_Text_2A81A8, MSGBOX_DEFAULT +ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalShell:: @ 8236FEC + msgbox ShoalCave_Text_WasShoallShellNowNothing, MSGBOX_DEFAULT releaseall end -ShoalCave_LowTideInnerRoom_EventScript_236FF6:: @ 8236FF6 +ShoalCave_LowTideInnerRoom_EventScript_ShoalShell2:: @ 8236FF6 lockall - goto_if_set FLAG_RECEIVED_SHOAL_SHELL_2, ShoalCave_LowTideInnerRoom_EventScript_236FEC - giveitem_std ITEM_SHOAL_SHELL - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_SHOAL_SHELL_2, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalShell + giveitem ITEM_SHOAL_SHELL + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setmetatile 41, 10, METATILE_Cave_ShoalCave_BlueStone_Small, 0 special DrawWholeMapView @@ -88,11 +88,11 @@ ShoalCave_LowTideInnerRoom_EventScript_236FF6:: @ 8236FF6 releaseall end -ShoalCave_LowTideInnerRoom_EventScript_237028:: @ 8237028 +ShoalCave_LowTideInnerRoom_EventScript_ShoalShell3:: @ 8237028 lockall - goto_if_set FLAG_RECEIVED_SHOAL_SHELL_3, ShoalCave_LowTideInnerRoom_EventScript_236FEC - giveitem_std ITEM_SHOAL_SHELL - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_SHOAL_SHELL_3, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalShell + giveitem ITEM_SHOAL_SHELL + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setmetatile 6, 9, METATILE_Cave_ShoalCave_BlueStone_Small, 0 special DrawWholeMapView @@ -100,11 +100,11 @@ ShoalCave_LowTideInnerRoom_EventScript_237028:: @ 8237028 releaseall end -ShoalCave_LowTideInnerRoom_EventScript_23705A:: @ 823705A +ShoalCave_LowTideInnerRoom_EventScript_ShoalShell4:: @ 823705A lockall - goto_if_set FLAG_RECEIVED_SHOAL_SHELL_4, ShoalCave_LowTideInnerRoom_EventScript_236FEC - giveitem_std ITEM_SHOAL_SHELL - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_SHOAL_SHELL_4, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalShell + giveitem ITEM_SHOAL_SHELL + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setmetatile 16, 13, METATILE_Cave_ShoalCave_BlueStone_Small, 0 special DrawWholeMapView @@ -112,11 +112,11 @@ ShoalCave_LowTideInnerRoom_EventScript_23705A:: @ 823705A releaseall end -ShoalCave_LowTideInnerRoom_EventScript_23708C:: @ 823708C +ShoalCave_LowTideInnerRoom_EventScript_ShoalSalt1:: @ 823708C lockall - goto_if_set FLAG_RECEIVED_SHOAL_SALT_1, ShoalCave_LowTideInnerRoom_EventScript_2370BE - giveitem_std ITEM_SHOAL_SALT - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_SHOAL_SALT_1, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalSalt + giveitem ITEM_SHOAL_SALT + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setmetatile 31, 8, METATILE_Cave_ShoalCave_DirtPile_Small, 0 special DrawWholeMapView @@ -124,16 +124,16 @@ ShoalCave_LowTideInnerRoom_EventScript_23708C:: @ 823708C releaseall end -ShoalCave_LowTideInnerRoom_EventScript_2370BE:: @ 82370BE - msgbox ShoalCave_LowTideInnerRoom_Text_2A8169, MSGBOX_DEFAULT +ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalSalt:: @ 82370BE + msgbox ShoalCave_Text_WasShoalSaltNowNothing, MSGBOX_DEFAULT releaseall end -ShoalCave_LowTideInnerRoom_EventScript_2370C8:: @ 82370C8 +ShoalCave_LowTideInnerRoom_EventScript_ShoalSalt2:: @ 82370C8 lockall - goto_if_set FLAG_RECEIVED_SHOAL_SALT_2, ShoalCave_LowTideInnerRoom_EventScript_2370BE - giveitem_std ITEM_SHOAL_SALT - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_SHOAL_SALT_2, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalSalt + giveitem ITEM_SHOAL_SALT + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setmetatile 14, 26, METATILE_Cave_ShoalCave_DirtPile_Small, 0 special DrawWholeMapView diff --git a/data/maps/ShoalCave_LowTideLowerRoom/map.json b/data/maps/ShoalCave_LowTideLowerRoom/map.json index fad5ddc003..6e8cbe8c94 100644 --- a/data/maps/ShoalCave_LowTideLowerRoom/map.json +++ b/data/maps/ShoalCave_LowTideLowerRoom/map.json @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "ShoalCave_LowTideLowerRoom_EventScript_2371B2", + "script": "ShoalCave_LowTideLowerRoom_EventScript_BlackBelt", "flag": "0" } ], @@ -79,7 +79,7 @@ "y": 2, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "ShoalCave_LowTideLowerRoom_EventScript_237176" + "script": "ShoalCave_LowTideLowerRoom_EventScript_ShoalSalt4" } ] } \ No newline at end of file diff --git a/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc b/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc index 8492afe5b5..0c259ff235 100644 --- a/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc +++ b/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc @@ -1,60 +1,60 @@ ShoalCave_LowTideLowerRoom_MapScripts:: @ 8237156 - map_script MAP_SCRIPT_ON_LOAD, ShoalCave_LowTideLowerRoom_MapScript1_23715C + map_script MAP_SCRIPT_ON_LOAD, ShoalCave_LowTideLowerRoom_OnLoad .byte 0 -ShoalCave_LowTideLowerRoom_MapScript1_23715C: @ 823715C - call ShoalCave_LowTideLowerRoom_EventScript_237162 +ShoalCave_LowTideLowerRoom_OnLoad: @ 823715C + call ShoalCave_LowTideLowerRoom_EventScript_SetShoalItemMetatiles end -ShoalCave_LowTideLowerRoom_EventScript_237162:: @ 8237162 - goto_if_set FLAG_RECEIVED_SHOAL_SALT_4, ShoalCave_LowTideLowerRoom_EventScript_237175 - setmetatile 18, 2, 856, 1 +ShoalCave_LowTideLowerRoom_EventScript_SetShoalItemMetatiles:: @ 8237162 + goto_if_set FLAG_RECEIVED_SHOAL_SALT_4, ShoalCave_LowTideLowerRoom_EventScript_SetShoalItemMetatilesEnd + setmetatile 18, 2, METATILE_Cave_ShoalCave_DirtPile_Large, 1 return -ShoalCave_LowTideLowerRoom_EventScript_237175:: @ 8237175 +ShoalCave_LowTideLowerRoom_EventScript_SetShoalItemMetatilesEnd:: @ 8237175 return -ShoalCave_LowTideLowerRoom_EventScript_237176:: @ 8237176 +ShoalCave_LowTideLowerRoom_EventScript_ShoalSalt4:: @ 8237176 lockall - goto_if_set FLAG_RECEIVED_SHOAL_SALT_4, ShoalCave_LowTideLowerRoom_EventScript_2371A8 - giveitem_std ITEM_SHOAL_SALT - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_SHOAL_SALT_4, ShoalCave_LowTideLowerRoom_EventScript_ReceivedShoalSalt + giveitem ITEM_SHOAL_SALT + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull - setmetatile 18, 2, 858, 0 + setmetatile 18, 2, METATILE_Cave_ShoalCave_DirtPile_Small, 0 special DrawWholeMapView setflag FLAG_RECEIVED_SHOAL_SALT_4 releaseall end -ShoalCave_LowTideLowerRoom_EventScript_2371A8:: @ 82371A8 - msgbox ShoalCave_LowTideLowerRoom_Text_2A8169, MSGBOX_DEFAULT +ShoalCave_LowTideLowerRoom_EventScript_ReceivedShoalSalt:: @ 82371A8 + msgbox ShoalCave_Text_WasShoalSaltNowNothing, MSGBOX_DEFAULT releaseall end -ShoalCave_LowTideLowerRoom_EventScript_2371B2:: @ 82371B2 +ShoalCave_LowTideLowerRoom_EventScript_BlackBelt:: @ 82371B2 lock faceplayer - goto_if_set FLAG_RECEIVED_FOCUS_BAND, ShoalCave_LowTideLowerRoom_EventScript_2371E1 - msgbox ShoalCave_LowTideLowerRoom_Text_2371EB, MSGBOX_DEFAULT - giveitem_std ITEM_FOCUS_BAND - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_FOCUS_BAND, ShoalCave_LowTideLowerRoom_EventScript_ReceivedFocusBand + msgbox ShoalCave_LowTideLowerRoom_Text_CanOvercomeColdWithFocus, MSGBOX_DEFAULT + giveitem ITEM_FOCUS_BAND + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_FOCUS_BAND release end -ShoalCave_LowTideLowerRoom_EventScript_2371E1:: @ 82371E1 - msgbox ShoalCave_LowTideLowerRoom_Text_23728D, MSGBOX_DEFAULT +ShoalCave_LowTideLowerRoom_EventScript_ReceivedFocusBand:: @ 82371E1 + msgbox ShoalCave_LowTideLowerRoom_Text_EverythingStartsWithFocus, MSGBOX_DEFAULT release end -ShoalCave_LowTideLowerRoom_Text_2371EB: @ 82371EB +ShoalCave_LowTideLowerRoom_Text_CanOvercomeColdWithFocus: @ 82371EB .string "The penetrating cold around these\n" .string "parts is an impediment to training.\p" .string "But with focus, one can overcome!\p" .string "With this FOCUS BAND, buckle down and\n" .string "withstand the cold!$" -ShoalCave_LowTideLowerRoom_Text_23728D: @ 823728D +ShoalCave_LowTideLowerRoom_Text_EverythingStartsWithFocus: @ 823728D .string "Everything starts with focus!$" diff --git a/data/maps/ShoalCave_LowTideStairsRoom/map.json b/data/maps/ShoalCave_LowTideStairsRoom/map.json index 4da33c1635..7280cf1401 100644 --- a/data/maps/ShoalCave_LowTideStairsRoom/map.json +++ b/data/maps/ShoalCave_LowTideStairsRoom/map.json @@ -52,7 +52,7 @@ "y": 11, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "ShoalCave_LowTideStairsRoom_EventScript_23711A" + "script": "ShoalCave_LowTideStairsRoom_EventScript_ShoalSalt3" } ] } \ No newline at end of file diff --git a/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc b/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc index 74b653a5f9..6bbdf03457 100644 --- a/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc +++ b/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc @@ -1,33 +1,33 @@ ShoalCave_LowTideStairsRoom_MapScripts:: @ 82370FA - map_script MAP_SCRIPT_ON_LOAD, ShoalCave_LowTideStairsRoom_MapScript1_237100 + map_script MAP_SCRIPT_ON_LOAD, ShoalCave_LowTideStairsRoom_OnLoad .byte 0 -ShoalCave_LowTideStairsRoom_MapScript1_237100: @ 8237100 - call ShoalCave_LowTideStairsRoom_EventScript_237106 +ShoalCave_LowTideStairsRoom_OnLoad: @ 8237100 + call ShoalCave_LowTideStairsRoom_EventScript_SetShoalItemMetatiles end -ShoalCave_LowTideStairsRoom_EventScript_237106:: @ 8237106 - goto_if_set FLAG_RECEIVED_SHOAL_SALT_3, ShoalCave_LowTideStairsRoom_EventScript_237119 - setmetatile 11, 11, 856, 1 +ShoalCave_LowTideStairsRoom_EventScript_SetShoalItemMetatiles:: @ 8237106 + goto_if_set FLAG_RECEIVED_SHOAL_SALT_3, ShoalCave_LowTideStairsRoom_EventScript_SetShoalItemMetatilesEnd + setmetatile 11, 11, METATILE_Cave_ShoalCave_DirtPile_Large, 1 return -ShoalCave_LowTideStairsRoom_EventScript_237119:: @ 8237119 +ShoalCave_LowTideStairsRoom_EventScript_SetShoalItemMetatilesEnd:: @ 8237119 return -ShoalCave_LowTideStairsRoom_EventScript_23711A:: @ 823711A +ShoalCave_LowTideStairsRoom_EventScript_ShoalSalt3:: @ 823711A lockall - goto_if_set FLAG_RECEIVED_SHOAL_SALT_3, ShoalCave_LowTideStairsRoom_EventScript_23714C - giveitem_std ITEM_SHOAL_SALT - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_SHOAL_SALT_3, ShoalCave_LowTideStairsRoom_EventScript_ReceivedShoalSalt + giveitem ITEM_SHOAL_SALT + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull - setmetatile 11, 11, 858, 0 + setmetatile 11, 11, METATILE_Cave_ShoalCave_DirtPile_Small, 0 special DrawWholeMapView setflag FLAG_RECEIVED_SHOAL_SALT_3 releaseall end -ShoalCave_LowTideStairsRoom_EventScript_23714C:: @ 823714C - msgbox ShoalCave_LowTideStairsRoom_Text_2A8169, MSGBOX_DEFAULT +ShoalCave_LowTideStairsRoom_EventScript_ReceivedShoalSalt:: @ 823714C + msgbox ShoalCave_Text_WasShoalSaltNowNothing, MSGBOX_DEFAULT releaseall end diff --git a/data/maps/SingleBattleColosseum/scripts.inc b/data/maps/SingleBattleColosseum/scripts.inc deleted file mode 100644 index 06ed3ef16d..0000000000 --- a/data/maps/SingleBattleColosseum/scripts.inc +++ /dev/null @@ -1,3 +0,0 @@ -SingleBattleColosseum_MapScripts:: @ 823B77D - .byte 0 - diff --git a/data/maps/SkyPillar_2F/scripts.inc b/data/maps/SkyPillar_2F/scripts.inc index dcbff3642f..8a02974ea0 100644 --- a/data/maps/SkyPillar_2F/scripts.inc +++ b/data/maps/SkyPillar_2F/scripts.inc @@ -1,21 +1,21 @@ SkyPillar_2F_MapScripts:: @ 823962B - map_script MAP_SCRIPT_ON_FRAME_TABLE, SkyPillar_2F_MapScript2_2A8327 + map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_2F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, SkyPillar_2F_MapScript1_239650 + map_script MAP_SCRIPT_ON_RESUME, SkyPillar_2F_SetHoleWarp .byte 0 SkyPillar_2F_OnTransition: @ 823963B compare VAR_SKY_PILLAR_STATE, 2 call_if_lt SkyPillar_2F_EventScript_CleanFloor - copyvar VAR_ICE_STEP_COUNT, 0x1 + copyvar VAR_ICE_STEP_COUNT, 1 end SkyPillar_2F_EventScript_CleanFloor:: @ 823964C setmaplayoutindex LAYOUT_SKY_PILLAR_2F_CLEAN return -SkyPillar_2F_MapScript1_239650: @ 8239650 - setstepcallback 7 +SkyPillar_2F_SetHoleWarp: @ 8239650 + setstepcallback STEP_CB_CRACKED_FLOOR setholewarp MAP_SKY_PILLAR_1F, 255, 0, 0 end diff --git a/data/maps/SkyPillar_4F/scripts.inc b/data/maps/SkyPillar_4F/scripts.inc index 413f56521a..af54deaff5 100644 --- a/data/maps/SkyPillar_4F/scripts.inc +++ b/data/maps/SkyPillar_4F/scripts.inc @@ -1,21 +1,21 @@ SkyPillar_4F_MapScripts:: @ 8239671 - map_script MAP_SCRIPT_ON_FRAME_TABLE, SkyPillar_4F_MapScript2_2A8327 + map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_4F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, SkyPillar_4F_MapScript1_239696 + map_script MAP_SCRIPT_ON_RESUME, SkyPillar_4F_SetHoleWarp .byte 0 SkyPillar_4F_OnTransition: @ 8239681 compare VAR_SKY_PILLAR_STATE, 2 call_if_lt SkyPillar_4F_EventScript_CleanFloor - copyvar VAR_ICE_STEP_COUNT, 0x1 + copyvar VAR_ICE_STEP_COUNT, 1 end SkyPillar_4F_EventScript_CleanFloor:: @ 8239692 setmaplayoutindex LAYOUT_SKY_PILLAR_4F_CLEAN return -SkyPillar_4F_MapScript1_239696: @ 8239696 - setstepcallback 7 +SkyPillar_4F_SetHoleWarp: @ 8239696 + setstepcallback STEP_CB_CRACKED_FLOOR setholewarp MAP_SKY_PILLAR_3F, 255, 0, 0 end diff --git a/data/maps/SkyPillar_Outside/map.json b/data/maps/SkyPillar_Outside/map.json index 6a3764aa94..4c401ccf98 100644 --- a/data/maps/SkyPillar_Outside/map.json +++ b/data/maps/SkyPillar_Outside/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SkyPillar_Outside_EventScript_2393F8", + "script": "SkyPillar_Outside_EventScript_Wallace", "flag": "FLAG_HIDE_SKY_PILLAR_WALLACE" } ], diff --git a/data/maps/SkyPillar_Outside/scripts.inc b/data/maps/SkyPillar_Outside/scripts.inc index 95f50ec027..84d0342376 100644 --- a/data/maps/SkyPillar_Outside/scripts.inc +++ b/data/maps/SkyPillar_Outside/scripts.inc @@ -1,95 +1,95 @@ SkyPillar_Outside_MapScripts:: @ 82392A8 map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Outside_OnTransition - map_script MAP_SCRIPT_ON_LOAD, SkyPillar_Outside_MapScript1_2392DD - map_script MAP_SCRIPT_ON_FRAME_TABLE, SkyPillar_Outside_MapScript2_2392FA + map_script MAP_SCRIPT_ON_LOAD, SkyPillar_Outside_OnLoad + map_script MAP_SCRIPT_ON_FRAME_TABLE, SkyPillar_Outside_OnFrame .byte 0 SkyPillar_Outside_OnTransition: @ 82392B8 compare VAR_SOOTOPOLIS_CITY_STATE, 3 - call_if_eq SkyPillar_Outside_EventScript_2392CF + call_if_eq SkyPillar_Outside_EventScript_HideMapNamePopup compare VAR_SOOTOPOLIS_CITY_STATE, 4 - call_if_ge SkyPillar_Outside_EventScript_2392D3 + call_if_ge SkyPillar_Outside_EventScript_CheckSetAbnormalWeather end -SkyPillar_Outside_EventScript_2392CF:: @ 82392CF +SkyPillar_Outside_EventScript_HideMapNamePopup:: @ 82392CF setflag FLAG_HIDE_MAP_NAME_POPUP return -SkyPillar_Outside_EventScript_2392D3:: @ 82392D3 - call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15 +SkyPillar_Outside_EventScript_CheckSetAbnormalWeather:: @ 82392D3 + call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather return -SkyPillar_Outside_MapScript1_2392DD: @ 82392DD - call_if_set FLAG_WALLACE_GOES_TO_SKY_PILLAR, SkyPillar_Outside_EventScript_2392E7 +SkyPillar_Outside_OnLoad: @ 82392DD + call_if_set FLAG_WALLACE_GOES_TO_SKY_PILLAR, SkyPillar_Outside_EventScript_OpenDoor end -SkyPillar_Outside_EventScript_2392E7:: @ 82392E7 +SkyPillar_Outside_EventScript_OpenDoor:: @ 82392E7 setmetatile 14, 4, METATILE_Pacifidlog_SkyPillar_DoorOpen_Top, 0 setmetatile 14, 5, METATILE_Pacifidlog_SkyPillar_DoorOpen_Bottom, 0 return -SkyPillar_Outside_MapScript2_2392FA: @ 82392FA - map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 3, SkyPillar_Outside_EventScript_239304 +SkyPillar_Outside_OnFrame: @ 82392FA + map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 3, SkyPillar_Outside_EventScript_WallaceScene .2byte 0 -SkyPillar_Outside_EventScript_239304:: @ 8239304 +SkyPillar_Outside_EventScript_WallaceScene:: @ 8239304 lockall - applymovement 1, SkyPillar_Outside_Movement_2393D3 + applymovement 1, SkyPillar_Outside_Movement_WallaceApproachPlayer waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox SkyPillar_Outside_Text_239416, MSGBOX_DEFAULT + msgbox SkyPillar_Outside_Text_OpenedDoorToSkyPillar, MSGBOX_DEFAULT closemessage delay 30 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 3 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 1 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 3 @ shake delay + special ShakeCamera waitstate delay 40 - msgbox SkyPillar_Outside_Text_2394BC, MSGBOX_DEFAULT + msgbox SkyPillar_Outside_Text_EarthquakeNotMomentToWaste, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, SkyPillar_Outside_Movement_2393EB - applymovement 1, SkyPillar_Outside_Movement_2393DE + applymovement EVENT_OBJ_ID_PLAYER, SkyPillar_Outside_Movement_PlayerClimbSkyPillar + applymovement 1, SkyPillar_Outside_Movement_WallaceClimbSkyPillar waitmovement 0 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 20 - setvar VAR_0x8007, 5 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 3 @ horizontal pan + setvar VAR_0x8006, 20 @ num shakes + setvar VAR_0x8007, 5 @ shake delay + special ShakeCamera waitstate delay 20 - applymovement 1, Common_Movement_WalkInPlaceLeft + applymovement 1, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 delay 10 - applymovement 1, Common_Movement_WalkInPlaceRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 20 - applymovement 1, Common_Movement_WalkInPlaceDown + applymovement 1, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 30 - msgbox SkyPillar_Outside_Text_23950C, MSGBOX_DEFAULT + msgbox SkyPillar_Outside_Text_SituationGettingWorse, MSGBOX_DEFAULT closemessage setflag FLAG_SYS_WEATHER_CTRL - setweather WEATHER_ALTERNATING + setweather WEATHER_ABNORMAL doweather special WaitWeather waitstate delay 30 - msgbox SkyPillar_Outside_Text_23953A, MSGBOX_DEFAULT + msgbox SkyPillar_Outside_Text_GotToGoBackForSootopolis, MSGBOX_DEFAULT closemessage playse SE_KAIDAN - fadescreenswapbuffers 1 + fadescreenswapbuffers FADE_TO_BLACK clearflag FLAG_HIDE_MAP_NAME_POPUP setvar VAR_SOOTOPOLIS_CITY_STATE, 4 removeobject 1 clearflag FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE - fadescreenswapbuffers 0 + fadescreenswapbuffers FADE_FROM_BLACK releaseall end -SkyPillar_Outside_Movement_2393D3: @ 82393D3 +SkyPillar_Outside_Movement_WallaceApproachPlayer: @ 82393D3 walk_down walk_down walk_down @@ -102,7 +102,7 @@ SkyPillar_Outside_Movement_2393D3: @ 82393D3 walk_right step_end -SkyPillar_Outside_Movement_2393DE: @ 82393DE +SkyPillar_Outside_Movement_WallaceClimbSkyPillar: @ 82393DE walk_left walk_left walk_left @@ -117,7 +117,7 @@ SkyPillar_Outside_Movement_2393DE: @ 82393DE walk_up step_end -SkyPillar_Outside_Movement_2393EB: @ 82393EB +SkyPillar_Outside_Movement_PlayerClimbSkyPillar: @ 82393EB walk_left walk_left walk_left @@ -132,17 +132,17 @@ SkyPillar_Outside_Movement_2393EB: @ 82393EB walk_up step_end -SkyPillar_Outside_EventScript_2393F8:: @ 82393F8 +SkyPillar_Outside_EventScript_Wallace:: @ 82393F8 end -SkyPillar_Outside_EventScript_2393F9:: @ 82393F9 - msgbox SkyPillar_Outside_Text_239402, MSGBOX_SIGN +SkyPillar_Outside_EventScript_ClosedDoor:: @ 82393F9 + msgbox SkyPillar_Outside_Text_DoorIsClosed, MSGBOX_SIGN end -SkyPillar_Outside_Text_239402: @ 8239402 +SkyPillar_Outside_Text_DoorIsClosed: @ 8239402 .string "The door is closed.$" -SkyPillar_Outside_Text_239416: @ 8239416 +SkyPillar_Outside_Text_OpenedDoorToSkyPillar: @ 8239416 .string "WALLACE: Oh, my, I'm terribly sorry!\p" .string "In my haste, I didn't notice that\n" .string "I'd left you behind!\p" @@ -150,16 +150,16 @@ SkyPillar_Outside_Text_239416: @ 8239416 .string "the SKY PILLAR.\p" .string "{PLAYER}{KUN}, let's be on our way!$" -SkyPillar_Outside_Text_2394BC: @ 82394BC +SkyPillar_Outside_Text_EarthquakeNotMomentToWaste: @ 82394BC .string "WALLACE: It's an earthquake!\p" .string "There's not a moment to waste!\n" .string "We've got to hurry!$" -SkyPillar_Outside_Text_23950C: @ 823950C +SkyPillar_Outside_Text_SituationGettingWorse: @ 823950C .string "WALLACE: Hmm…\n" .string "The situation is getting worse…$" -SkyPillar_Outside_Text_23953A: @ 823953A +SkyPillar_Outside_Text_GotToGoBackForSootopolis: @ 823953A .string "WALLACE: This isn't good…\p" .string "The weather distortion is spreading\n" .string "even here…\p" diff --git a/data/maps/SkyPillar_Top/map.json b/data/maps/SkyPillar_Top/map.json index 2d1a6fa1a3..eba1eff393 100644 --- a/data/maps/SkyPillar_Top/map.json +++ b/data/maps/SkyPillar_Top/map.json @@ -37,8 +37,8 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SkyPillar_Top_EventScript_239722", - "flag": "FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT" + "script": "SkyPillar_Top_EventScript_Rayquaza", + "flag": "FLAG_HIDE_RAYQUAZA_SKY_TOWER_SUMMIT" } ], "warp_events": [ @@ -58,7 +58,7 @@ "elevation": 3, "var": "VAR_SKY_PILLAR_RAQUAZA_CRY_DONE", "var_value": "0", - "script": "SkyPillar_Top_EventScript_23979A" + "script": "SkyPillar_Top_EventScript_AwakenRayquaza" } ], "bg_events": [] diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc index 0e9b4c3a12..b67675d93f 100644 --- a/data/maps/SkyPillar_Top/scripts.inc +++ b/data/maps/SkyPillar_Top/scripts.inc @@ -1,49 +1,49 @@ SkyPillar_Top_MapScripts:: @ 82396B8 - map_script MAP_SCRIPT_ON_RESUME, SkyPillar_Top_MapScript1_2396C8 + map_script MAP_SCRIPT_ON_RESUME, SkyPillar_Top_OnResume map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Top_OnTransition - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SkyPillar_Top_MapScript2_239713 + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SkyPillar_Top_OnWarp .byte 0 -SkyPillar_Top_MapScript1_2396C8: @ 82396C8 - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SkyPillar_Top_EventScript_2396D2 +SkyPillar_Top_OnResume: @ 82396C8 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SkyPillar_Top_EventScript_TryRemoveRayquaza end -SkyPillar_Top_EventScript_2396D2:: @ 82396D2 +SkyPillar_Top_EventScript_TryRemoveRayquaza:: @ 82396D2 specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject VAR_LAST_TALKED return SkyPillar_Top_OnTransition: @ 82396E6 compare VAR_SKY_PILLAR_STATE, 2 - call_if_lt SkyPillar_Top_EventScript_2396FD + call_if_lt SkyPillar_Top_EventScript_SetCleanLayout compare VAR_SKY_PILLAR_STATE, 2 - call_if_ge SkyPillar_Top_EventScript_239705 + call_if_ge SkyPillar_Top_EventScript_TryShowRayquaza end -SkyPillar_Top_EventScript_2396FD:: @ 82396FD +SkyPillar_Top_EventScript_SetCleanLayout:: @ 82396FD setmaplayoutindex LAYOUT_SKY_PILLAR_TOP_CLEAN setobjectmovementtype 1, MOVEMENT_TYPE_FACE_DOWN return -SkyPillar_Top_EventScript_239705:: @ 8239705 - call_if_unset FLAG_DEFEATED_RAYQUAZA, SkyPillar_Top_EventScript_23970F +SkyPillar_Top_EventScript_TryShowRayquaza:: @ 8239705 + call_if_unset FLAG_DEFEATED_RAYQUAZA, SkyPillar_Top_EventScript_ShowRayquaza return -SkyPillar_Top_EventScript_23970F:: @ 823970F - clearflag FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT +SkyPillar_Top_EventScript_ShowRayquaza:: @ 823970F + clearflag FLAG_HIDE_RAYQUAZA_SKY_TOWER_SUMMIT return -SkyPillar_Top_MapScript2_239713: @ 8239713 - map_script_2 VAR_SKY_PILLAR_STATE, 0, SkyPillar_Top_EventScript_23971D +SkyPillar_Top_OnWarp: @ 8239713 + map_script_2 VAR_SKY_PILLAR_STATE, 0, SkyPillar_Top_EventScript_RayquazaFaceDown .2byte 0 -SkyPillar_Top_EventScript_23971D:: @ 823971D - turnobject 1, 1 +SkyPillar_Top_EventScript_RayquazaFaceDown:: @ 823971D + turnobject 1, DIR_SOUTH end -SkyPillar_Top_EventScript_239722:: @ 8239722 +SkyPillar_Top_EventScript_Rayquaza:: @ 8239722 lockall waitse playmoncry SPECIES_RAYQUAZA, 2 @@ -55,79 +55,79 @@ SkyPillar_Top_EventScript_239722:: @ 8239722 waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq SkyPillar_Top_EventScript_239768 - compare VAR_RESULT, 4 - goto_if_eq SkyPillar_Top_EventScript_239771 - compare VAR_RESULT, 5 - goto_if_eq SkyPillar_Top_EventScript_239771 + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq SkyPillar_Top_EventScript_DefeatedRayquaza + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq SkyPillar_Top_EventScript_RanFromRayquaza + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq SkyPillar_Top_EventScript_RanFromRayquaza setflag FLAG_DEFEATED_RAYQUAZA releaseall end -SkyPillar_Top_EventScript_239768:: @ 8239768 +SkyPillar_Top_EventScript_DefeatedRayquaza:: @ 8239768 setflag FLAG_DEFEATED_RAYQUAZA - goto SkyPillar_Top_EventScript_23977C + goto SkyPillar_Top_EventScript_DefeatedRayquaza2 end -SkyPillar_Top_EventScript_239771:: @ 8239771 - setvar VAR_0x8004, 406 - goto SkyPillar_Top_EventScript_239785 +SkyPillar_Top_EventScript_RanFromRayquaza:: @ 8239771 + setvar VAR_0x8004, SPECIES_RAYQUAZA + goto SkyPillar_Top_EventScript_RanFromRayquaza2 end -SkyPillar_Top_EventScript_23977C:: @ 823977C - fadescreenswapbuffers 1 +SkyPillar_Top_EventScript_DefeatedRayquaza2:: @ 823977C + fadescreenswapbuffers FADE_TO_BLACK removeobject VAR_LAST_TALKED - fadescreenswapbuffers 0 + fadescreenswapbuffers FADE_FROM_BLACK releaseall end -SkyPillar_Top_EventScript_239785:: @ 8239785 - fadescreenswapbuffers 1 +SkyPillar_Top_EventScript_RanFromRayquaza2:: @ 8239785 + fadescreenswapbuffers FADE_TO_BLACK removeobject VAR_LAST_TALKED - fadescreenswapbuffers 0 + fadescreenswapbuffers FADE_FROM_BLACK bufferspeciesname 0, VAR_0x8004 msgbox gText_LegendaryFlewAway, MSGBOX_DEFAULT releaseall end -SkyPillar_Top_EventScript_23979A:: @ 823979A +SkyPillar_Top_EventScript_AwakenRayquaza:: @ 823979A lockall fadeoutbgm 1 applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp waitmovement 0 special SpawnCameraObject - applymovement EVENT_OBJ_ID_CAMERA, SkyPillar_Top_Movement_239858 + applymovement EVENT_OBJ_ID_CAMERA, SkyPillar_Top_Movement_CameraPanUp waitmovement 0 special RemoveCameraObject - applymovement 1, SkyPillar_Top_Movement_23983A + applymovement 1, SkyPillar_Top_Movement_RayquazaStir waitmovement 0 waitse playmoncry SPECIES_RAYQUAZA, 2 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 3 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 1 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 3 @ shake delay + special ShakeCamera waitstate waitse playmoncry SPECIES_RAYQUAZA, 2 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 5 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 2 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 5 @ shake delay + special ShakeCamera waitstate waitmoncry - applymovement 1, SkyPillar_Top_Movement_23984B + applymovement 1, SkyPillar_Top_Movement_RayquazaFlyOff waitmovement 0 removeobject 1 - msgbox SkyPillar_Top_Text_239860, MSGBOX_DEFAULT + msgbox SkyPillar_Top_Text_RayquazaFlewOff, MSGBOX_DEFAULT closemessage delay 20 fadeinbgm 1 special SpawnCameraObject - applymovement EVENT_OBJ_ID_CAMERA, SkyPillar_Top_Movement_23985C + applymovement EVENT_OBJ_ID_CAMERA, SkyPillar_Top_Movement_CameraPanDown waitmovement 0 special RemoveCameraObject setvar VAR_SOOTOPOLIS_CITY_STATE, 5 @@ -136,7 +136,7 @@ SkyPillar_Top_EventScript_23979A:: @ 823979A releaseall end -SkyPillar_Top_Movement_23983A: @ 823983A +SkyPillar_Top_Movement_RayquazaStir: @ 823983A delay_16 walk_in_place_fast_left delay_16 @@ -155,7 +155,7 @@ SkyPillar_Top_Movement_23983A: @ 823983A delay_16 step_end -SkyPillar_Top_Movement_23984B: @ 823984B +SkyPillar_Top_Movement_RayquazaFlyOff: @ 823984B delay_16 walk_in_place_down delay_8 @@ -170,18 +170,18 @@ SkyPillar_Top_Movement_23984B: @ 823984B slide_up step_end -SkyPillar_Top_Movement_239858: @ 8239858 +SkyPillar_Top_Movement_CameraPanUp: @ 8239858 walk_slow_up walk_slow_up walk_slow_up step_end -SkyPillar_Top_Movement_23985C: @ 823985C +SkyPillar_Top_Movement_CameraPanDown: @ 823985C walk_slow_down walk_slow_down walk_slow_down step_end -SkyPillar_Top_Text_239860: @ 8239860 +SkyPillar_Top_Text_RayquazaFlewOff: @ 8239860 .string "The awakened RAYQUAZA flew off…$" diff --git a/data/maps/SlateportCity/map.json b/data/maps/SlateportCity/map.json index f548b73495..53c482597c 100644 --- a/data/maps/SlateportCity/map.json +++ b/data/maps/SlateportCity/map.json @@ -40,7 +40,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DCED9", + "script": "SlateportCity_EventScript_FatMan", "flag": "0" }, { @@ -53,7 +53,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DCEF6", + "script": "SlateportCity_EventScript_Man1", "flag": "0" }, { @@ -66,7 +66,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DCEB8", + "script": "SlateportCity_EventScript_RichBoy", "flag": "0" }, { @@ -79,7 +79,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DCF17", + "script": "SlateportCity_EventScript_Woman1", "flag": "0" }, { @@ -92,7 +92,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD009", + "script": "SlateportCity_EventScript_AquaGrunt1", "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { @@ -105,7 +105,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DCE42", + "script": "SlateportCity_EventScript_Cook", "flag": "0" }, { @@ -118,7 +118,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DCE63", + "script": "SlateportCity_EventScript_OldWoman", "flag": "0" }, { @@ -131,7 +131,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DCE84", + "script": "SlateportCity_EventScript_Girl", "flag": "0" }, { @@ -144,7 +144,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD353", + "script": "SlateportCity_EventScript_Ty", "flag": "FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY" }, { @@ -157,7 +157,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD35C", + "script": "SlateportCity_EventScript_Gabby", "flag": "FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY" }, { @@ -170,7 +170,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD1F8", + "script": "SlateportCity_EventScript_CaptStern", "flag": "FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN" }, { @@ -183,7 +183,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DCFE5", + "script": "SlateportCity_EventScript_Sailor1", "flag": "0" }, { @@ -196,7 +196,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DCFEE", + "script": "SlateportCity_EventScript_Sailor2", "flag": "0" }, { @@ -209,7 +209,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DCFF7", + "script": "SlateportCity_EventScript_PokefanF", "flag": "0" }, { @@ -222,7 +222,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD000", + "script": "SlateportCity_EventScript_Man2", "flag": "0" }, { @@ -235,7 +235,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DCFBB", + "script": "SlateportCity_EventScript_Maniac", "flag": "0" }, { @@ -248,7 +248,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DCFDC", + "script": "SlateportCity_EventScript_Woman2", "flag": "0" }, { @@ -261,7 +261,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD020", + "script": "SlateportCity_EventScript_AquaGrunt2", "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { @@ -274,7 +274,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD037", + "script": "SlateportCity_EventScript_AquaGrunt3", "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { @@ -287,7 +287,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD198", + "script": "SlateportCity_EventScript_DecorClerk", "flag": "0" }, { @@ -300,7 +300,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD16A", + "script": "SlateportCity_EventScript_DollClerk", "flag": "0" }, { @@ -313,7 +313,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD365", + "script": "SlateportCity_EventScript_Man3", "flag": "0" }, { @@ -326,7 +326,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DCDE4", + "script": "SlateportCity_EventScript_EffortRibbonWoman", "flag": "0" }, { @@ -339,7 +339,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD1D8", + "script": "SlateportCity_EventScript_PowerTMClerk", "flag": "FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN" }, { @@ -352,7 +352,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DCDBD", + "script": "SlateportCity_EventScript_EnergyGuru", "flag": "0" }, { @@ -365,7 +365,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD04E", + "script": "SlateportCity_EventScript_AquaGrunt4", "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { @@ -378,7 +378,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD065", + "script": "SlateportCity_EventScript_AquaGrunt5", "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { @@ -391,7 +391,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD07C", + "script": "SlateportCity_EventScript_AquaGrunt6", "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { @@ -404,7 +404,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD093", + "script": "SlateportCity_EventScript_AquaGrunt7", "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { @@ -417,7 +417,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD0AA", + "script": "SlateportCity_EventScript_AquaGrunt8", "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { @@ -430,7 +430,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD0C1", + "script": "SlateportCity_EventScript_AquaGrunt9", "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { @@ -443,7 +443,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD14A", + "script": "SlateportCity_EventScript_AquaGrunt10", "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { @@ -456,7 +456,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD153", + "script": "SlateportCity_EventScript_AquaGrunt11", "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { @@ -469,7 +469,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_EventScript_1DD36E", + "script": "SlateportCity_EventScript_BerryPowderClerk", "flag": "0" }, { @@ -533,7 +533,7 @@ "x": 5, "y": 19, "elevation": 0, - "dest_map": "MAP_SLATEPORT_CITY_HOUSE1", + "dest_map": "MAP_SLATEPORT_CITY_NAME_RATERS_HOUSE", "dest_warp_id": 0 }, { @@ -561,7 +561,7 @@ "x": 21, "y": 44, "elevation": 0, - "dest_map": "MAP_SLATEPORT_CITY_HOUSE2", + "dest_map": "MAP_SLATEPORT_CITY_HOUSE", "dest_warp_id": 0 } ], @@ -573,7 +573,7 @@ "elevation": 3, "var": "VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE", "var_value": "2", - "script": "SlateportCity_EventScript_1DD5DC" + "script": "SlateportCity_EventScript_ScottBattleTentScene" } ], "bg_events": [ @@ -583,7 +583,7 @@ "y": 19, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_EventScript_1DCFB2" + "script": "SlateportCity_EventScript_NameRatersHouseSign" }, { "type": "sign", @@ -615,7 +615,7 @@ "y": 12, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_EventScript_1DCF94" + "script": "SlateportCity_EventScript_HarborSign" }, { "type": "sign", @@ -631,7 +631,7 @@ "y": 51, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_EventScript_1DCF8B" + "script": "SlateportCity_EventScript_MarketSign" }, { "type": "sign", @@ -639,7 +639,7 @@ "y": 26, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_EventScript_1DCF79" + "script": "SlateportCity_EventScript_OceanicMuseumSign" }, { "type": "sign", @@ -647,7 +647,7 @@ "y": 22, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_EventScript_1DCF82" + "script": "SlateportCity_EventScript_CitySign" }, { "type": "sign", @@ -655,7 +655,7 @@ "y": 26, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_EventScript_1DCF70" + "script": "SlateportCity_EventScript_PokemonFanClubSign" }, { "type": "sign", @@ -663,7 +663,7 @@ "y": 13, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_EventScript_1DCF36" + "script": "SlateportCity_EventScript_BattleTentSign" }, { "type": "sign", @@ -671,7 +671,7 @@ "y": 38, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_EventScript_1DCF3F" + "script": "SlateportCity_EventScript_SternsShipyardSign" }, { "type": "sign", @@ -679,7 +679,7 @@ "y": 36, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "SlateportCity_EventScript_1DD643" + "script": "SlateportCity_EventScript_BerryCrushRankingsSign" } ] } \ No newline at end of file diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc index a1ddb122d0..11045361f1 100644 --- a/data/maps/SlateportCity/scripts.inc +++ b/data/maps/SlateportCity/scripts.inc @@ -1,24 +1,24 @@ SlateportCity_MapScripts:: @ 81DCC61 map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_MapScript2_1DCD12 + map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_OnFrame .byte 0 SlateportCity_OnTransition: @ 81DCC6C setvar VAR_SLATEPORT_MUSEUM_1F_STATE, 0 - call SlateportCity_EventScript_1DCC8D + call SlateportCity_EventScript_EnterSlateport compare VAR_SLATEPORT_CITY_STATE, 1 - call_if_eq SlateportCity_EventScript_1DCC99 + call_if_eq SlateportCity_EventScript_MovePeopleForSternInterview compare VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 1 - call_if_eq SlateportCity_EventScript_1DCCE7 + call_if_eq SlateportCity_EventScript_SetReadyForScottScene end -SlateportCity_EventScript_1DCC8D:: @ 81DCC8D +SlateportCity_EventScript_EnterSlateport:: @ 81DCC8D setflag FLAG_VISITED_SLATEPORT_CITY - setvar VAR_LINK_CONTEST_ROOM_STATE, 0 + setvar VAR_CONTEST_HALL_STATE, 0 setflag FLAG_HIDE_SLATEPORT_CITY_CONTEST_REPORTER return -SlateportCity_EventScript_1DCC99:: @ 81DCC99 +SlateportCity_EventScript_MovePeopleForSternInterview:: @ 81DCC99 setobjectxyperm 11, 28, 13 setobjectxyperm 7, 25, 13 setobjectxyperm 3, 25, 14 @@ -35,50 +35,50 @@ SlateportCity_EventScript_1DCC99:: @ 81DCC99 setobjectmovementtype 2, MOVEMENT_TYPE_FACE_LEFT return -SlateportCity_EventScript_1DCCE7:: @ 81DCCE7 +SlateportCity_EventScript_SetReadyForScottScene:: @ 81DCCE7 setflag FLAG_HIDE_MAP_NAME_POPUP getplayerxy VAR_0x8004, VAR_0x8005 compare VAR_0x8004, 30 - goto_if_eq SlateportCity_EventScript_1DCD06 + goto_if_eq SlateportCity_EventScript_MoveScottLeft setobjectxyperm 35, 23, 27 setobjectmovementtype 35, MOVEMENT_TYPE_FACE_RIGHT return -SlateportCity_EventScript_1DCD06:: @ 81DCD06 +SlateportCity_EventScript_MoveScottLeft:: @ 81DCD06 setobjectxyperm 35, 22, 27 setobjectmovementtype 35, MOVEMENT_TYPE_FACE_RIGHT return -SlateportCity_MapScript2_1DCD12: @ 81DCD12 - map_script_2 VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 1, SlateportCity_EventScript_1DCD1C +SlateportCity_OnFrame: @ 81DCD12 + map_script_2 VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 1, SlateportCity_EventScript_ScottScene .2byte 0 -SlateportCity_EventScript_1DCD1C:: @ 81DCD1C +SlateportCity_EventScript_ScottScene:: @ 81DCD1C lockall addobject 35 - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DCDA8 - applymovement 35, SlateportCity_Movement_1DCDAC + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_PlayerFaceScott + applymovement 35, SlateportCity_Movement_ScottApproachPlayer waitmovement 0 - msgbox SlateportCity_Text_1DF032, MSGBOX_DEFAULT + msgbox SlateportCity_Text_YouDroveTeamAquaAway, MSGBOX_DEFAULT closemessage - applymovement 35, Common_Movement_WalkInPlaceLeft + applymovement 35, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 delay 60 - msgbox SlateportCity_Text_1DF0FE, MSGBOX_DEFAULT - applymovement 35, Common_Movement_WalkInPlaceRight + msgbox SlateportCity_Text_MaybeThisTrainer, MSGBOX_DEFAULT + applymovement 35, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox SlateportCity_Text_1DF12B, MSGBOX_DEFAULT + msgbox SlateportCity_Text_LetsRegisterEachOther, MSGBOX_DEFAULT closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox SlateportCity_Text_1DF1A6, MSGBOX_DEFAULT + msgbox SlateportCity_Text_RegisteredScott, MSGBOX_DEFAULT waitfanfare closemessage delay 30 setflag FLAG_ENABLE_SCOTT_MATCH_CALL - msgbox SlateportCity_Text_1DF1D3, MSGBOX_DEFAULT + msgbox SlateportCity_Text_KeepEyeOnTrainersBeSeeingYou, MSGBOX_DEFAULT closemessage - applymovement 35, SlateportCity_Movement_1DCDB4 + applymovement 35, SlateportCity_Movement_ScottExit waitmovement 0 removeobject 35 setobjectxyperm 35, 10, 12 @@ -89,13 +89,13 @@ SlateportCity_EventScript_1DCD1C:: @ 81DCD1C releaseall end -SlateportCity_Movement_1DCDA8: @ 81DCDA8 +SlateportCity_Movement_PlayerFaceScott: @ 81DCDA8 delay_16 delay_8 walk_in_place_fastest_left step_end -SlateportCity_Movement_1DCDAC: @ 81DCDAC +SlateportCity_Movement_ScottApproachPlayer: @ 81DCDAC walk_right walk_right walk_right @@ -105,7 +105,7 @@ SlateportCity_Movement_1DCDAC: @ 81DCDAC walk_right step_end -SlateportCity_Movement_1DCDB4: @ 81DCDB4 +SlateportCity_Movement_ScottExit: @ 81DCDB4 walk_left walk_left walk_left @@ -116,17 +116,17 @@ SlateportCity_Movement_1DCDB4: @ 81DCDB4 walk_left step_end -SlateportCity_EventScript_1DCDBD:: @ 81DCDBD +SlateportCity_EventScript_EnergyGuru:: @ 81DCDBD lock faceplayer - message SlateportCity_Text_1DD64A + message SlateportCity_Text_EnergyGuruSellWhatYouNeed waitmessage - pokemart SlateportCity_Pokemart_1DCDD4 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart SlateportCity_Pokemart_EnergyGuru + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end -SlateportCity_Pokemart_1DCDD4: @ 81DCDD4 +SlateportCity_Pokemart_EnergyGuru: @ 81DCDD4 .2byte ITEM_PROTEIN .2byte ITEM_IRON .2byte ITEM_CARBOS @@ -137,304 +137,305 @@ SlateportCity_Pokemart_1DCDD4: @ 81DCDD4 release end -SlateportCity_EventScript_1DCDE4:: @ 81DCDE4 +SlateportCity_EventScript_EffortRibbonWoman:: @ 81DCDE4 lock faceplayer bufferleadmonspeciesname 0 - msgbox SlateportCity_Text_1DD68A, MSGBOX_DEFAULT + msgbox SlateportCity_Text_OhYourPokemon, MSGBOX_DEFAULT specialvar VAR_RESULT, LeadMonHasEffortRibbon - compare VAR_RESULT, 1 - call_if_eq SlateportCity_EventScript_1DCE38 + compare VAR_RESULT, TRUE + call_if_eq SlateportCity_EventScript_MonHasEffortRibbon specialvar VAR_RESULT, Special_AreLeadMonEVsMaxedOut - compare VAR_RESULT, 0 - call_if_eq SlateportCity_EventScript_1DCE2E - msgbox SlateportCity_Text_1DD697, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + call_if_eq SlateportCity_EventScript_MonEVsNotMaxed + msgbox SlateportCity_Text_PleaseGiveItThisEffortRibbon, MSGBOX_DEFAULT playfanfare MUS_FANFA4 - message SlateportCity_Text_1DD6E3 + message SlateportCity_Text_ReceivedEffortRibbon waitfanfare - msgbox SlateportCity_Text_1DD702, MSGBOX_DEFAULT + msgbox SlateportCity_Text_PutEffortRibbonOnMon, MSGBOX_DEFAULT special GiveLeadMonEffortRibbon release end -SlateportCity_EventScript_1DCE2E:: @ 81DCE2E - msgbox SlateportCity_Text_1DD722, MSGBOX_DEFAULT +SlateportCity_EventScript_MonEVsNotMaxed:: @ 81DCE2E + msgbox SlateportCity_Text_GoForItLittleHarder, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCE38:: @ 81DCE38 - msgbox SlateportCity_Text_1DD77B, MSGBOX_DEFAULT +SlateportCity_EventScript_MonHasEffortRibbon:: @ 81DCE38 + msgbox SlateportCity_Text_EffortRibbonLooksGoodOnIt, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCE42:: @ 81DCE42 +SlateportCity_EventScript_Cook:: @ 81DCE42 lock faceplayer compare VAR_SLATEPORT_CITY_STATE, 1 - call_if_eq SlateportCity_EventScript_1DCE59 - msgbox SlateportCity_Text_1DD81A, MSGBOX_DEFAULT + call_if_eq SlateportCity_EventScript_CookSternInterview + msgbox SlateportCity_Text_SeaweedFullOfLife, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCE59:: @ 81DCE59 - msgbox SlateportCity_Text_1DE3E2, MSGBOX_DEFAULT +SlateportCity_EventScript_CookSternInterview:: @ 81DCE59 + msgbox SlateportCity_Text_CaptainComeBackWithBigFish, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCE63:: @ 81DCE63 +SlateportCity_EventScript_OldWoman:: @ 81DCE63 lock faceplayer compare VAR_SLATEPORT_CITY_STATE, 1 - call_if_eq SlateportCity_EventScript_1DCE7A - msgbox SlateportCity_Text_1DD8A6, MSGBOX_DEFAULT + call_if_eq SlateportCity_EventScript_OldWomanSternInterview + msgbox SlateportCity_Text_HowTownIsBornAndGrows, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCE7A:: @ 81DCE7A - msgbox SlateportCity_Text_1DE28E, MSGBOX_DEFAULT +SlateportCity_EventScript_OldWomanSternInterview:: @ 81DCE7A + msgbox SlateportCity_Text_CaptSternBeingInterviewed, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCE84:: @ 81DCE84 +SlateportCity_EventScript_Girl:: @ 81DCE84 lock faceplayer compare VAR_SLATEPORT_CITY_STATE, 1 - call_if_eq SlateportCity_EventScript_1DCEA4 - goto_if_set FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_1DCEAE - msgbox SlateportCity_Text_1DD93D, MSGBOX_DEFAULT + call_if_eq SlateportCity_EventScript_GirlSternInterview + goto_if_set FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_GirlSecretBase + msgbox SlateportCity_Text_SlateportWonderfulPlace, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCEA4:: @ 81DCEA4 - msgbox SlateportCity_Text_1DE30C, MSGBOX_DEFAULT +SlateportCity_EventScript_GirlSternInterview:: @ 81DCEA4 + msgbox SlateportCity_Text_InterviewerSoCool, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCEAE:: @ 81DCEAE - msgbox SlateportCity_Text_1DD999, MSGBOX_DEFAULT +SlateportCity_EventScript_GirlSecretBase:: @ 81DCEAE + msgbox SlateportCity_Text_BuyBricksSoDecorWontGetDirty, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCEB8:: @ 81DCEB8 +SlateportCity_EventScript_RichBoy:: @ 81DCEB8 lock faceplayer compare VAR_SLATEPORT_CITY_STATE, 1 - call_if_eq SlateportCity_EventScript_1DCECF - msgbox SlateportCity_Text_1DDA34, MSGBOX_DEFAULT + call_if_eq SlateportCity_EventScript_RichBoySternInterview + msgbox SlateportCity_Text_GoingToCompeteInBattleTent, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCECF:: @ 81DCECF - msgbox SlateportCity_Text_1DE376, MSGBOX_DEFAULT +SlateportCity_EventScript_RichBoySternInterview:: @ 81DCECF + msgbox SlateportCity_Text_SternSaysDiscoveredSomething, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCED9:: @ 81DCED9 +SlateportCity_EventScript_FatMan:: @ 81DCED9 compare VAR_SLATEPORT_CITY_STATE, 1 - goto_if_eq SlateportCity_EventScript_1DCEED - msgbox SlateportCity_Text_1DDA9A, MSGBOX_NPC + goto_if_eq SlateportCity_EventScript_FatManSternInterview + msgbox SlateportCity_Text_BushedHikingFromMauville, MSGBOX_NPC end -SlateportCity_EventScript_1DCEED:: @ 81DCEED - msgbox SlateportCity_Text_1DE43D, MSGBOX_SIGN +SlateportCity_EventScript_FatManSternInterview:: @ 81DCEED + msgbox SlateportCity_Text_AmIOnTV, MSGBOX_SIGN end -SlateportCity_EventScript_1DCEF6:: @ 81DCEF6 +SlateportCity_EventScript_Man1:: @ 81DCEF6 lock faceplayer compare VAR_SLATEPORT_CITY_STATE, 1 - call_if_eq SlateportCity_EventScript_1DCF0D - msgbox SlateportCity_Text_1DDB21, MSGBOX_DEFAULT + call_if_eq SlateportCity_EventScript_Man1SternInterview + msgbox SlateportCity_Text_EveryoneCallsHimCaptStern, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCF0D:: @ 81DCF0D - msgbox SlateportCity_Text_1DE460, MSGBOX_DEFAULT +SlateportCity_EventScript_Man1SternInterview:: @ 81DCF0D + msgbox SlateportCity_Text_CaptainsACelebrity, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCF17:: @ 81DCF17 +SlateportCity_EventScript_Woman1:: @ 81DCF17 lock faceplayer - goto_if_set FLAG_DOCK_REJECTED_DEVON_GOODS, SlateportCity_EventScript_1DCF2C - msgbox SlateportCity_Text_1DDBAC, MSGBOX_DEFAULT + goto_if_set FLAG_DOCK_REJECTED_DEVON_GOODS, SlateportCity_EventScript_Woman1AquaGone + msgbox SlateportCity_Text_WhatsLongLineOverThere, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCF2C:: @ 81DCF2C - msgbox SlateportCity_Text_1DDBD5, MSGBOX_DEFAULT +SlateportCity_EventScript_Woman1AquaGone:: @ 81DCF2C + msgbox SlateportCity_Text_VisitedMuseumOften, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCF36:: @ 81DCF36 - msgbox SlateportCity_Text_1DE8BC, MSGBOX_SIGN +SlateportCity_EventScript_BattleTentSign:: @ 81DCF36 + msgbox SlateportCity_Text_BattleTentSign, MSGBOX_SIGN end -SlateportCity_EventScript_1DCF3F:: @ 81DCF3F +SlateportCity_EventScript_SternsShipyardSign:: @ 81DCF3F lockall - goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_EventScript_1DCF66 - goto_if_set FLAG_BADGE07_GET, SlateportCity_EventScript_1DCF5C - msgbox SlateportCity_Text_1DE8F8, MSGBOX_DEFAULT + goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_EventScript_SternsShipyardFerryComplete + goto_if_set FLAG_BADGE07_GET, SlateportCity_EventScript_SternsShipyardNearsCompletion + msgbox SlateportCity_Text_SternsShipyardWantedSign, MSGBOX_DEFAULT releaseall end -SlateportCity_EventScript_1DCF5C:: @ 81DCF5C - msgbox SlateportCity_Text_1DE940, MSGBOX_DEFAULT +SlateportCity_EventScript_SternsShipyardNearsCompletion:: @ 81DCF5C + msgbox SlateportCity_Text_SternsShipyardNearsCompletion, MSGBOX_DEFAULT releaseall end -SlateportCity_EventScript_1DCF66:: @ 81DCF66 - msgbox SlateportCity_Text_1DE9AA, MSGBOX_DEFAULT +SlateportCity_EventScript_SternsShipyardFerryComplete:: @ 81DCF66 + msgbox SlateportCity_Text_SternsShipyardFerryComplete, MSGBOX_DEFAULT releaseall end -SlateportCity_EventScript_1DCF70:: @ 81DCF70 - msgbox SlateportCity_Text_1DEA0B, MSGBOX_SIGN +SlateportCity_EventScript_PokemonFanClubSign:: @ 81DCF70 + msgbox SlateportCity_Text_PokemonFanClubSign, MSGBOX_SIGN end -SlateportCity_EventScript_1DCF79:: @ 81DCF79 - msgbox SlateportCity_Text_1DEA3B, MSGBOX_SIGN +SlateportCity_EventScript_OceanicMuseumSign:: @ 81DCF79 + msgbox SlateportCity_Text_OceanicMuseumSign, MSGBOX_SIGN end -SlateportCity_EventScript_1DCF82:: @ 81DCF82 - msgbox SlateportCity_Text_1DEA6F, MSGBOX_SIGN +SlateportCity_EventScript_CitySign:: @ 81DCF82 + msgbox SlateportCity_Text_CitySign, MSGBOX_SIGN end -SlateportCity_EventScript_1DCF8B:: @ 81DCF8B - msgbox SlateportCity_Text_1DEAAF, MSGBOX_SIGN +SlateportCity_EventScript_MarketSign:: @ 81DCF8B + msgbox SlateportCity_Text_MarketSign, MSGBOX_SIGN end -SlateportCity_EventScript_1DCF94:: @ 81DCF94 +SlateportCity_EventScript_HarborSign:: @ 81DCF94 lockall - goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_EventScript_1DCFA8 - msgbox SlateportCity_Text_1DEAE3, MSGBOX_DEFAULT + goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_EventScript_HarborSignFerryComplete + msgbox SlateportCity_Text_HarborFerryUnderConstruction, MSGBOX_DEFAULT releaseall end -SlateportCity_EventScript_1DCFA8:: @ 81DCFA8 - msgbox SlateportCity_Text_1DEB5A, MSGBOX_DEFAULT +SlateportCity_EventScript_HarborSignFerryComplete:: @ 81DCFA8 + msgbox SlateportCity_Text_HarborSign, MSGBOX_DEFAULT releaseall end -SlateportCity_EventScript_1DCFB2:: @ 81DCFB2 - msgbox SlateportCity_Text_1DEBA0, MSGBOX_SIGN +SlateportCity_EventScript_NameRatersHouseSign:: @ 81DCFB2 + msgbox SlateportCity_Text_NameRatersHouseSign, MSGBOX_SIGN end -SlateportCity_EventScript_1DCFBB:: @ 81DCFBB +SlateportCity_EventScript_Maniac:: @ 81DCFBB lock faceplayer compare VAR_SLATEPORT_CITY_STATE, 1 - call_if_eq SlateportCity_EventScript_1DCFD2 - msgbox SlateportCity_Text_1DE10E, MSGBOX_DEFAULT + call_if_eq SlateportCity_EventScript_ManiacSternInterview + msgbox SlateportCity_Text_GetNameRaterToHelpYou, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCFD2:: @ 81DCFD2 - msgbox SlateportCity_Text_1DE10E, MSGBOX_DEFAULT +@ Unclear if the text here was meant to be different, but its not +SlateportCity_EventScript_ManiacSternInterview:: @ 81DCFD2 + msgbox SlateportCity_Text_GetNameRaterToHelpYou, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DCFDC:: @ 81DCFDC - msgbox SlateportCity_Text_1DE16C, MSGBOX_NPC +SlateportCity_EventScript_Woman2:: @ 81DCFDC + msgbox SlateportCity_Text_CantChangeTradeMonName, MSGBOX_NPC end -SlateportCity_EventScript_1DCFE5:: @ 81DCFE5 - msgbox SlateportCity_Text_1DDFF7, MSGBOX_NPC +SlateportCity_EventScript_Sailor1:: @ 81DCFE5 + msgbox SlateportCity_Text_SeaIsSoWet, MSGBOX_NPC end -SlateportCity_EventScript_1DCFEE:: @ 81DCFEE - msgbox SlateportCity_Text_1DE04B, MSGBOX_NPC +SlateportCity_EventScript_Sailor2:: @ 81DCFEE + msgbox SlateportCity_Text_SinkOldBoats, MSGBOX_NPC end -SlateportCity_EventScript_1DCFF7:: @ 81DCFF7 - msgbox SlateportCity_Text_1DE0D2, MSGBOX_NPC +SlateportCity_EventScript_PokefanF:: @ 81DCFF7 + msgbox SlateportCity_Text_BuyTooMuch, MSGBOX_NPC end -SlateportCity_EventScript_1DD000:: @ 81DD000 - msgbox SlateportCity_Text_1DE1EC, MSGBOX_NPC +SlateportCity_EventScript_Man2:: @ 81DD000 + msgbox SlateportCity_Text_BattleTentBuiltRecently, MSGBOX_NPC end -SlateportCity_EventScript_1DD009:: @ 81DD009 +SlateportCity_EventScript_AquaGrunt1:: @ 81DD009 lock faceplayer - msgbox SlateportCity_Text_1DDC4F, MSGBOX_DEFAULT + msgbox SlateportCity_Text_QuitPushing, MSGBOX_DEFAULT closemessage applymovement 5, Common_Movement_FaceOriginalDirection waitmovement 0 release end -SlateportCity_EventScript_1DD020:: @ 81DD020 +SlateportCity_EventScript_AquaGrunt2:: @ 81DD020 lock faceplayer - msgbox SlateportCity_Text_1DDC8A, MSGBOX_DEFAULT + msgbox SlateportCity_Text_AquaHasPolicy, MSGBOX_DEFAULT closemessage applymovement 18, Common_Movement_FaceOriginalDirection waitmovement 0 release end -SlateportCity_EventScript_1DD037:: @ 81DD037 +SlateportCity_EventScript_AquaGrunt3:: @ 81DD037 lock faceplayer - msgbox SlateportCity_Text_1DDCD5, MSGBOX_DEFAULT + msgbox SlateportCity_Text_BossIsBrilliant, MSGBOX_DEFAULT closemessage applymovement 19, Common_Movement_FaceOriginalDirection waitmovement 0 release end -SlateportCity_EventScript_1DD04E:: @ 81DD04E +SlateportCity_EventScript_AquaGrunt4:: @ 81DD04E lock faceplayer - msgbox SlateportCity_Text_1DDD18, MSGBOX_DEFAULT + msgbox SlateportCity_Text_WhatsNewSchemeIWonder, MSGBOX_DEFAULT closemessage applymovement 26, Common_Movement_FaceOriginalDirection waitmovement 0 release end -SlateportCity_EventScript_1DD065:: @ 81DD065 +SlateportCity_EventScript_AquaGrunt5:: @ 81DD065 lock faceplayer - msgbox SlateportCity_Text_1DDD7D, MSGBOX_DEFAULT + msgbox SlateportCity_Text_ShouldTakeItAll, MSGBOX_DEFAULT closemessage applymovement 27, Common_Movement_FaceOriginalDirection waitmovement 0 release end -SlateportCity_EventScript_1DD07C:: @ 81DD07C +SlateportCity_EventScript_AquaGrunt6:: @ 81DD07C lock faceplayer - msgbox SlateportCity_Text_1DDDC0, MSGBOX_DEFAULT + msgbox SlateportCity_Text_DontButtIn, MSGBOX_DEFAULT closemessage applymovement 28, Common_Movement_FaceOriginalDirection waitmovement 0 release end -SlateportCity_EventScript_1DD093:: @ 81DD093 +SlateportCity_EventScript_AquaGrunt7:: @ 81DD093 lock faceplayer - msgbox SlateportCity_Text_1DDDDF, MSGBOX_DEFAULT + msgbox SlateportCity_Text_RemindsMeOfLongLineForGames, MSGBOX_DEFAULT closemessage applymovement 29, Common_Movement_FaceOriginalDirection waitmovement 0 release end -SlateportCity_EventScript_1DD0AA:: @ 81DD0AA +SlateportCity_EventScript_AquaGrunt8:: @ 81DD0AA lock faceplayer - msgbox SlateportCity_Text_1DDE2F, MSGBOX_DEFAULT + msgbox SlateportCity_Text_WhyAreWeLiningUp, MSGBOX_DEFAULT closemessage applymovement 30, Common_Movement_FaceOriginalDirection waitmovement 0 release end -SlateportCity_EventScript_1DD0C1:: @ 81DD0C1 +SlateportCity_EventScript_AquaGrunt9:: @ 81DD0C1 lock faceplayer playse SE_PIN @@ -442,57 +443,57 @@ SlateportCity_EventScript_1DD0C1:: @ 81DD0C1 waitmovement 0 applymovement 31, Common_Movement_Delay48 waitmovement 0 - msgbox SlateportCity_Text_1DDE6E, MSGBOX_DEFAULT + msgbox SlateportCity_Text_WhatDoYouWant, MSGBOX_DEFAULT closemessage applymovement 31, Common_Movement_FaceOriginalDirection waitmovement 0 - applymovement 31, SlateportCity_Movement_1DD147 + applymovement 31, SlateportCity_Movement_DelayAquaGrunt waitmovement 0 applymovement 31, Common_Movement_FacePlayer waitmovement 0 - msgbox SlateportCity_Text_1DDE86, MSGBOX_DEFAULT + msgbox SlateportCity_Text_IllReadSignForYou, MSGBOX_DEFAULT closemessage applymovement 31, Common_Movement_FaceOriginalDirection waitmovement 0 - applymovement 31, SlateportCity_Movement_1DD147 + applymovement 31, SlateportCity_Movement_DelayAquaGrunt waitmovement 0 - msgbox SlateportCity_Text_1DDEB8, MSGBOX_DEFAULT + msgbox SlateportCity_Text_SaysSomethingLikeSeaIsEndless, MSGBOX_DEFAULT closemessage applymovement 31, Common_Movement_FacePlayer waitmovement 0 - applymovement 31, SlateportCity_Movement_1DD147 + applymovement 31, SlateportCity_Movement_DelayAquaGrunt waitmovement 0 applymovement 31, Common_Movement_FaceOriginalDirection waitmovement 0 release end -SlateportCity_Movement_1DD147: @ 81DD147 +SlateportCity_Movement_DelayAquaGrunt: @ 81DD147 delay_16 delay_16 step_end -SlateportCity_EventScript_1DD14A:: @ 81DD14A - msgbox SlateportCity_Text_1DDF32, MSGBOX_SIGN +SlateportCity_EventScript_AquaGrunt10:: @ 81DD14A + msgbox SlateportCity_Text_ShouldveBroughtMyGameBoy, MSGBOX_SIGN end -SlateportCity_EventScript_1DD153:: @ 81DD153 +SlateportCity_EventScript_AquaGrunt11:: @ 81DD153 lock faceplayer - msgbox SlateportCity_Text_1DDF8D, MSGBOX_DEFAULT + msgbox SlateportCity_Text_HotSpringsAfterOperation, MSGBOX_DEFAULT closemessage applymovement 33, Common_Movement_FaceOriginalDirection waitmovement 0 release end -SlateportCity_EventScript_1DD16A:: @ 81DD16A +SlateportCity_EventScript_DollClerk:: @ 81DD16A lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage pokemartdecoration SlateportCity_PokemartDecor_Dolls - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end @@ -505,23 +506,23 @@ SlateportCity_PokemartDecor_Dolls: @ 81DD184 release end -SlateportCity_EventScript_1DD18E:: @ 81DD18E - msgbox gUnknown_08272E30, MSGBOX_DEFAULT +SlateportCity_EventScript_ComeBackWithSecretPower:: @ 81DD18E + msgbox gText_ComeBackWithSecretPower, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DD198:: @ 81DD198 +SlateportCity_EventScript_DecorClerk:: @ 81DD198 lock faceplayer - goto_if_unset FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_1DD18E - message gUnknown_08272A21 + goto_if_unset FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_ComeBackWithSecretPower + message gText_HowMayIServeYou waitmessage - pokemartdecoration SlateportCity_PokemartDecor_1DD1B8 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemartdecoration SlateportCity_PokemartDecor + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end -SlateportCity_PokemartDecor_1DD1B8: @ 81DD1B8 +SlateportCity_PokemartDecor: @ 81DD1B8 .2byte DECOR_RED_BRICK .2byte DECOR_BLUE_BRICK .2byte DECOR_YELLOW_BRICK @@ -540,69 +541,70 @@ SlateportCity_PokemartDecor_1DD1B8: @ 81DD1B8 release end -SlateportCity_EventScript_1DD1D8:: @ 81DD1D8 +SlateportCity_EventScript_PowerTMClerk:: @ 81DD1D8 lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart SlateportCity_Pokemart_1DD1F0 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart SlateportCity_Pokemart_PowerTMs + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -SlateportCity_Pokemart_1DD1F0: @ 81DD1F0 - .2byte ITEM_TM10 - .2byte ITEM_TM43 +SlateportCity_Pokemart_PowerTMs: @ 81DD1F0 + .2byte ITEM_TM10 @ Hidden Power + .2byte ITEM_TM43 @ Secret Power .2byte ITEM_NONE release end -SlateportCity_EventScript_1DD1F8:: @ 81DD1F8 +@ Scene with Capt Sterns interview and Team Aqua announcing plans to steal Submarine +SlateportCity_EventScript_CaptStern:: @ 81DD1F8 lockall - msgbox SlateportCity_Text_1DE502, MSGBOX_DEFAULT - msgbox SlateportCity_Text_1DE54A, MSGBOX_DEFAULT + msgbox SlateportCity_Text_SternMoveAheadWithExploration, MSGBOX_DEFAULT + msgbox SlateportCity_Text_GabbyWonderfulThanksForInterview, MSGBOX_DEFAULT closemessage - applymovement 10, Common_Movement_WalkInPlaceRight + applymovement 10, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 10 - applymovement 9, Common_Movement_WalkInPlaceDown + applymovement 9, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 25 - applymovement 11, SlateportCity_Movement_1DD33C - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD34A - applymovement 10, SlateportCity_Movement_1DD319 - applymovement 9, SlateportCity_Movement_1DD326 + applymovement 11, SlateportCity_Movement_SternWatchGabbyAndTyExit + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_PlayerFaceStern + applymovement 10, SlateportCity_Movement_GabbyExit + applymovement 9, SlateportCity_Movement_TyExit waitmovement 0 removeobject 10 removeobject 9 - msgbox SlateportCity_Text_1DE5F7, MSGBOX_DEFAULT - applymovement 11, Common_Movement_WalkInPlaceUp + msgbox SlateportCity_Text_SternWhewFirstInterview, MSGBOX_DEFAULT + applymovement 11, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox SlateportCity_Text_1DE64F, MSGBOX_DEFAULT + msgbox SlateportCity_Text_OhPlayerWeMadeDiscovery, MSGBOX_DEFAULT playbgm MUS_AQA_0, 0 - msgbox SlateportCity_Text_1DE724, MSGBOX_DEFAULT - applymovement 6, Common_Movement_WalkInPlaceLeft - applymovement 1, Common_Movement_WalkInPlaceLeft - applymovement 7, SlateportCity_Movement_1DD309 - applymovement 3, SlateportCity_Movement_272596 - applymovement 2, SlateportCity_Movement_1DD311 + msgbox SlateportCity_Text_AquaWillAssumeControlOfSubmarine, MSGBOX_DEFAULT + applymovement 6, Common_Movement_WalkInPlaceFastestLeft + applymovement 1, Common_Movement_WalkInPlaceFastestLeft + applymovement 7, SlateportCity_Movement_OldWomanConcern + applymovement 3, Common_Movement_QuestionMark + applymovement 2, SlateportCity_Movement_ManConcern waitmovement 0 - applymovement 11, Common_Movement_WalkInPlaceDown + applymovement 11, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox SlateportCity_Text_1DE7F7, MSGBOX_DEFAULT + msgbox SlateportCity_Text_SternWhatWasAllThat, MSGBOX_DEFAULT playse SE_PIN applymovement 11, Common_Movement_ExclamationMark waitmovement 0 applymovement 11, Common_Movement_Delay48 waitmovement 0 - applymovement 11, Common_Movement_WalkInPlaceUp + applymovement 11, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox SlateportCity_Text_1DE860, MSGBOX_DEFAULT - msgbox SlateportCity_Text_1DE8A0, MSGBOX_DEFAULT + msgbox SlateportCity_Text_FromHarborTryingToTakeSub, MSGBOX_DEFAULT + msgbox SlateportCity_Text_PleaseComeWithMe, MSGBOX_DEFAULT closemessage - applymovement 11, SlateportCity_Movement_1DD337 - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD344 + applymovement 11, SlateportCity_Movement_SternEnterHarbor + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_PlayerEnterHarbor waitmovement 0 removeobject 11 clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN @@ -615,7 +617,7 @@ SlateportCity_EventScript_1DD1F8:: @ 81DD1F8 releaseall end -SlateportCity_Movement_1DD309: @ 81DD309 +SlateportCity_Movement_OldWomanConcern: @ 81DD309 delay_16 delay_16 emote_question_mark @@ -625,7 +627,7 @@ SlateportCity_Movement_1DD309: @ 81DD309 walk_in_place_fastest_left step_end -SlateportCity_Movement_1DD311: @ 81DD311 +SlateportCity_Movement_ManConcern: @ 81DD311 emote_question_mark walk_in_place_fastest_up delay_16 @@ -635,7 +637,7 @@ SlateportCity_Movement_1DD311: @ 81DD311 walk_in_place_fastest_left step_end -SlateportCity_Movement_1DD319: @ 81DD319 +SlateportCity_Movement_GabbyExit: @ 81DD319 delay_16 walk_left walk_left @@ -650,7 +652,7 @@ SlateportCity_Movement_1DD319: @ 81DD319 walk_left step_end -SlateportCity_Movement_1DD326: @ 81DD326 +SlateportCity_Movement_TyExit: @ 81DD326 walk_down walk_left walk_left @@ -666,19 +668,19 @@ SlateportCity_Movement_1DD326: @ 81DD326 walk_left step_end -SlateportCity_Movement_1DD334: @ 81DD334 +SlateportCity_Movement_Unused: @ 81DD334 walk_down walk_in_place_fastest_up step_end -SlateportCity_Movement_1DD337: @ 81DD337 +SlateportCity_Movement_SternEnterHarbor: @ 81DD337 walk_right walk_up walk_up set_invisible step_end -SlateportCity_Movement_1DD33C: @ 81DD33C +SlateportCity_Movement_SternWatchGabbyAndTyExit: @ 81DD33C delay_16 delay_16 delay_16 @@ -688,7 +690,7 @@ SlateportCity_Movement_1DD33C: @ 81DD33C walk_left step_end -SlateportCity_Movement_1DD344: @ 81DD344 +SlateportCity_Movement_PlayerEnterHarbor: @ 81DD344 walk_in_place_fastest_right delay_16 delay_16 @@ -696,7 +698,7 @@ SlateportCity_Movement_1DD344: @ 81DD344 walk_up step_end -SlateportCity_Movement_1DD34A: @ 81DD34A +SlateportCity_Movement_PlayerFaceStern: @ 81DD34A delay_16 delay_16 delay_16 @@ -707,198 +709,198 @@ SlateportCity_Movement_1DD34A: @ 81DD34A walk_in_place_fastest_down step_end -SlateportCity_EventScript_1DD353:: @ 81DD353 - msgbox SlateportCity_Text_1DE491, MSGBOX_SIGN +SlateportCity_EventScript_Ty:: @ 81DD353 + msgbox SlateportCity_Text_BigSmileForCamera, MSGBOX_SIGN end -SlateportCity_EventScript_1DD35C:: @ 81DD35C - msgbox SlateportCity_Text_1DE4C4, MSGBOX_SIGN +SlateportCity_EventScript_Gabby:: @ 81DD35C + msgbox SlateportCity_Text_MostInvaluableExperience, MSGBOX_SIGN end -SlateportCity_EventScript_1DD365:: @ 81DD365 - msgbox SlateportCity_Text_1DD7AD, MSGBOX_NPC +SlateportCity_EventScript_Man3:: @ 81DD365 + msgbox SlateportCity_Text_WonderIfLighthouseStartlesPokemon, MSGBOX_NPC end -SlateportCity_EventScript_1DD36E:: @ 81DD36E +SlateportCity_EventScript_BerryPowderClerk:: @ 81DD36E lock faceplayer - goto_if_set FLAG_RECEIVED_POWDER_JAR, SlateportCity_EventScript_1DD39A - msgbox SlateportCity_Text_1DEBCE, MSGBOX_DEFAULT - giveitem_std ITEM_POWDER_JAR + goto_if_set FLAG_RECEIVED_POWDER_JAR, SlateportCity_EventScript_ReceivedPowderJar + msgbox SlateportCity_Text_ExplainBerries, MSGBOX_DEFAULT + giveitem ITEM_POWDER_JAR setflag FLAG_RECEIVED_POWDER_JAR - msgbox SlateportCity_Text_1DED27, MSGBOX_DEFAULT + msgbox SlateportCity_Text_ExplainBerryPowder, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DD39A:: @ 81DD39A +SlateportCity_EventScript_ReceivedPowderJar:: @ 81DD39A setvar VAR_0x8004, 1 specialvar VAR_RESULT, HasEnoughBerryPowder - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_EventScript_1DD3C0 - msgbox SlateportCity_Text_1DEE40, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + goto_if_eq SlateportCity_EventScript_ExplainBerryPowder + msgbox SlateportCity_Text_BroughtMeSomeBerryPowder, MSGBOX_DEFAULT special DisplayBerryPowderVendorMenu - goto SlateportCity_EventScript_1DD3CA + goto SlateportCity_EventScript_ChooseBerryPowderItem end -SlateportCity_EventScript_1DD3C0:: @ 81DD3C0 - msgbox SlateportCity_Text_1DED27, MSGBOX_DEFAULT +SlateportCity_EventScript_ExplainBerryPowder:: @ 81DD3C0 + msgbox SlateportCity_Text_ExplainBerryPowder, MSGBOX_DEFAULT release end -SlateportCity_EventScript_1DD3CA:: @ 81DD3CA - message SlateportCity_Text_1DEE67 +SlateportCity_EventScript_ChooseBerryPowderItem:: @ 81DD3CA + message SlateportCity_Text_ExchangeWhatWithIt waitmessage - setvar VAR_0x8004, 7 - special sub_813A128 + setvar VAR_0x8004, SCROLL_MULTI_BERRY_POWDER_VENDOR + special ShowScrollableMultichoice waitstate switch VAR_RESULT - case 0, SlateportCity_EventScript_1DD46E - case 1, SlateportCity_EventScript_1DD482 - case 2, SlateportCity_EventScript_1DD496 - case 3, SlateportCity_EventScript_1DD4AA - case 4, SlateportCity_EventScript_1DD4BE - case 5, SlateportCity_EventScript_1DD4D2 - case 6, SlateportCity_EventScript_1DD4E6 - case 7, SlateportCity_EventScript_1DD4FA - case 8, SlateportCity_EventScript_1DD50E - case 9, SlateportCity_EventScript_1DD522 - case 10, SlateportCity_EventScript_1DD536 - case 11, SlateportCity_EventScript_1DD54A - case 127, SlateportCity_EventScript_1DD54A + case 0, SlateportCity_EventScript_EnergyPowder + case 1, SlateportCity_EventScript_EnergyRoot + case 2, SlateportCity_EventScript_HealPowder + case 3, SlateportCity_EventScript_RevivalHerb + case 4, SlateportCity_EventScript_Protein + case 5, SlateportCity_EventScript_Iron + case 6, SlateportCity_EventScript_Carbos + case 7, SlateportCity_EventScript_Calcium + case 8, SlateportCity_EventScript_Zinc + case 9, SlateportCity_EventScript_HPUp + case 10, SlateportCity_EventScript_PPUp + case 11, SlateportCity_EventScript_CancelPowderItemSelect + case MULTI_B_PRESSED, SlateportCity_EventScript_CancelPowderItemSelect end -SlateportCity_EventScript_1DD46E:: @ 81DD46E +SlateportCity_EventScript_EnergyPowder:: @ 81DD46E bufferitemname 0, ITEM_ENERGY_POWDER - setvar VAR_0x8008, 30 + setvar VAR_0x8008, ITEM_ENERGY_POWDER setvar VAR_0x8009, 50 - goto SlateportCity_EventScript_1DD557 + goto SlateportCity_EventScript_TryBuyBerryPowderItem end -SlateportCity_EventScript_1DD482:: @ 81DD482 +SlateportCity_EventScript_EnergyRoot:: @ 81DD482 bufferitemname 0, ITEM_ENERGY_ROOT - setvar VAR_0x8008, 31 + setvar VAR_0x8008, ITEM_ENERGY_ROOT setvar VAR_0x8009, 80 - goto SlateportCity_EventScript_1DD557 + goto SlateportCity_EventScript_TryBuyBerryPowderItem end -SlateportCity_EventScript_1DD496:: @ 81DD496 +SlateportCity_EventScript_HealPowder:: @ 81DD496 bufferitemname 0, ITEM_HEAL_POWDER - setvar VAR_0x8008, 32 + setvar VAR_0x8008, ITEM_HEAL_POWDER setvar VAR_0x8009, 50 - goto SlateportCity_EventScript_1DD557 + goto SlateportCity_EventScript_TryBuyBerryPowderItem end -SlateportCity_EventScript_1DD4AA:: @ 81DD4AA +SlateportCity_EventScript_RevivalHerb:: @ 81DD4AA bufferitemname 0, ITEM_REVIVAL_HERB - setvar VAR_0x8008, 33 + setvar VAR_0x8008, ITEM_REVIVAL_HERB setvar VAR_0x8009, 300 - goto SlateportCity_EventScript_1DD557 + goto SlateportCity_EventScript_TryBuyBerryPowderItem end -SlateportCity_EventScript_1DD4BE:: @ 81DD4BE +SlateportCity_EventScript_Protein:: @ 81DD4BE bufferitemname 0, ITEM_PROTEIN - setvar VAR_0x8008, 64 + setvar VAR_0x8008, ITEM_PROTEIN setvar VAR_0x8009, 1000 - goto SlateportCity_EventScript_1DD557 + goto SlateportCity_EventScript_TryBuyBerryPowderItem end -SlateportCity_EventScript_1DD4D2:: @ 81DD4D2 +SlateportCity_EventScript_Iron:: @ 81DD4D2 bufferitemname 0, ITEM_IRON - setvar VAR_0x8008, 65 + setvar VAR_0x8008, ITEM_IRON setvar VAR_0x8009, 1000 - goto SlateportCity_EventScript_1DD557 + goto SlateportCity_EventScript_TryBuyBerryPowderItem end -SlateportCity_EventScript_1DD4E6:: @ 81DD4E6 +SlateportCity_EventScript_Carbos:: @ 81DD4E6 bufferitemname 0, ITEM_CARBOS - setvar VAR_0x8008, 66 + setvar VAR_0x8008, ITEM_CARBOS setvar VAR_0x8009, 1000 - goto SlateportCity_EventScript_1DD557 + goto SlateportCity_EventScript_TryBuyBerryPowderItem end -SlateportCity_EventScript_1DD4FA:: @ 81DD4FA +SlateportCity_EventScript_Calcium:: @ 81DD4FA bufferitemname 0, ITEM_CALCIUM - setvar VAR_0x8008, 67 + setvar VAR_0x8008, ITEM_CALCIUM setvar VAR_0x8009, 1000 - goto SlateportCity_EventScript_1DD557 + goto SlateportCity_EventScript_TryBuyBerryPowderItem end -SlateportCity_EventScript_1DD50E:: @ 81DD50E +SlateportCity_EventScript_Zinc:: @ 81DD50E bufferitemname 0, ITEM_ZINC - setvar VAR_0x8008, 70 + setvar VAR_0x8008, ITEM_ZINC setvar VAR_0x8009, 1000 - goto SlateportCity_EventScript_1DD557 + goto SlateportCity_EventScript_TryBuyBerryPowderItem end -SlateportCity_EventScript_1DD522:: @ 81DD522 +SlateportCity_EventScript_HPUp:: @ 81DD522 bufferitemname 0, ITEM_HP_UP - setvar VAR_0x8008, 63 + setvar VAR_0x8008, ITEM_HP_UP setvar VAR_0x8009, 1000 - goto SlateportCity_EventScript_1DD557 + goto SlateportCity_EventScript_TryBuyBerryPowderItem end -SlateportCity_EventScript_1DD536:: @ 81DD536 +SlateportCity_EventScript_PPUp:: @ 81DD536 bufferitemname 0, ITEM_PP_UP - setvar VAR_0x8008, 69 + setvar VAR_0x8008, ITEM_PP_UP setvar VAR_0x8009, 3000 - goto SlateportCity_EventScript_1DD557 + goto SlateportCity_EventScript_TryBuyBerryPowderItem end -SlateportCity_EventScript_1DD54A:: @ 81DD54A - msgbox SlateportCity_Text_1DEFBC, MSGBOX_DEFAULT +SlateportCity_EventScript_CancelPowderItemSelect:: @ 81DD54A + msgbox SlateportCity_Text_ComeBackToTradeBerryPowder, MSGBOX_DEFAULT special RemoveBerryPowderVendorMenu release end -SlateportCity_EventScript_1DD557:: @ 81DD557 - msgbox SlateportCity_Text_1DEE90, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_EventScript_1DD3CA +SlateportCity_EventScript_TryBuyBerryPowderItem:: @ 81DD557 + msgbox SlateportCity_Text_ExchangeBerryPowderForItem, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SlateportCity_EventScript_ChooseBerryPowderItem copyvar VAR_0x8004, VAR_0x8009 specialvar VAR_RESULT, HasEnoughBerryPowder - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_EventScript_1DD5CE - giveitem_std VAR_0x8008 - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_EventScript_1DD5C1 + compare VAR_RESULT, FALSE + goto_if_eq SlateportCity_EventScript_NotEnoughBerryPowder + giveitem VAR_0x8008 + compare VAR_RESULT, FALSE + goto_if_eq SlateportCity_EventScript_NoRoomForBerryPowderItem copyvar VAR_0x8004, VAR_0x8009 special TakeBerryPowder special PrintPlayerBerryPowderAmount - msgbox SlateportCity_Text_1DEEF7, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_EventScript_1DD3CA - msgbox SlateportCity_Text_1DEF79, MSGBOX_DEFAULT + msgbox SlateportCity_Text_FineBerryPowderTradeSomethingElse, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq SlateportCity_EventScript_ChooseBerryPowderItem + msgbox SlateportCity_Text_WhenYouGetMoreBringItToMe, MSGBOX_DEFAULT special RemoveBerryPowderVendorMenu release end -SlateportCity_EventScript_1DD5C1:: @ 81DD5C1 - msgbox gUnknown_08272A89, MSGBOX_DEFAULT +SlateportCity_EventScript_NoRoomForBerryPowderItem:: @ 81DD5C1 + msgbox gText_TheBagIsFull, MSGBOX_DEFAULT special RemoveBerryPowderVendorMenu release end -SlateportCity_EventScript_1DD5CE:: @ 81DD5CE - msgbox SlateportCity_Text_1DEEC9, MSGBOX_DEFAULT - goto SlateportCity_EventScript_1DD3CA +SlateportCity_EventScript_NotEnoughBerryPowder:: @ 81DD5CE + msgbox SlateportCity_Text_DontHaveEnoughBerryPowder, MSGBOX_DEFAULT + goto SlateportCity_EventScript_ChooseBerryPowderItem end -SlateportCity_EventScript_1DD5DC:: @ 81DD5DC +SlateportCity_EventScript_ScottBattleTentScene:: @ 81DD5DC lockall applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp waitmovement 0 opendoor 10, 12 waitdooranim addobject 35 - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD630 - applymovement 35, SlateportCity_Movement_1DD637 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_PushPlayerDown + applymovement 35, SlateportCity_Movement_ScottExitBattleTent waitmovement 0 closedoor 10, 12 waitdooranim - msgbox SlateportCity_Text_1DF28C, MSGBOX_DEFAULT + msgbox SlateportCity_Text_TakingBattleTentChallenge, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD634 - applymovement 35, SlateportCity_Movement_1DD63A + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_PlayerWatchScottExit + applymovement 35, SlateportCity_Movement_ScottExitAfterBattleTent waitmovement 0 removeobject 35 addvar VAR_SCOTT_STATE, 1 @@ -906,23 +908,23 @@ SlateportCity_EventScript_1DD5DC:: @ 81DD5DC releaseall end -SlateportCity_Movement_1DD630: @ 81DD630 +SlateportCity_Movement_PushPlayerDown: @ 81DD630 lock_facing_direction walk_down unlock_facing_direction step_end -SlateportCity_Movement_1DD634: @ 81DD634 +SlateportCity_Movement_PlayerWatchScottExit: @ 81DD634 delay_16 walk_in_place_fastest_right step_end -SlateportCity_Movement_1DD637: @ 81DD637 +SlateportCity_Movement_ScottExitBattleTent: @ 81DD637 delay_8 walk_down step_end -SlateportCity_Movement_1DD63A: @ 81DD63A +SlateportCity_Movement_ScottExitAfterBattleTent: @ 81DD63A walk_right walk_right walk_right @@ -933,193 +935,193 @@ SlateportCity_Movement_1DD63A: @ 81DD63A walk_right step_end -SlateportCity_EventScript_1DD643:: @ 81DD643 +SlateportCity_EventScript_BerryCrushRankingsSign:: @ 81DD643 lockall - special sub_80224D0 + special ShowBerryCrushRankings waitstate releaseall end -SlateportCity_Text_1DD64A: @ 81DD64A +SlateportCity_Text_EnergyGuruSellWhatYouNeed: @ 81DD64A .string "I'm the ENERGY GURU! I'll go for it and\n" .string "sell you what you need!$" -SlateportCity_Text_1DD68A: @ 81DD68A +SlateportCity_Text_OhYourPokemon: @ 81DD68A .string "Oh?\n" .string "Your {STR_VAR_1}…$" -SlateportCity_Text_1DD697: @ 81DD697 +SlateportCity_Text_PleaseGiveItThisEffortRibbon: @ 81DD697 .string "Went for it stupendously!\p" .string "As its reward, please give it this\n" .string "EFFORT RIBBON.$" -SlateportCity_Text_1DD6E3: @ 81DD6E3 +SlateportCity_Text_ReceivedEffortRibbon: @ 81DD6E3 .string "{PLAYER} received the EFFORT RIBBON.$" -SlateportCity_Text_1DD702: @ 81DD702 +SlateportCity_Text_PutEffortRibbonOnMon: @ 81DD702 .string "{PLAYER} put the EFFORT RIBBON\n" .string "on {STR_VAR_1}.$" -SlateportCity_Text_1DD722: @ 81DD722 +SlateportCity_Text_GoForItLittleHarder: @ 81DD722 .string "You have to go for it a little harder.\p" .string "If you do, I'll give your POKéMON\n" .string "something nice.$" -SlateportCity_Text_1DD77B: @ 81DD77B +SlateportCity_Text_EffortRibbonLooksGoodOnIt: @ 81DD77B .string "Oh! Your {STR_VAR_1}, that EFFORT\n" .string "RIBBON looks good on it!$" -SlateportCity_Text_1DD7AD: @ 81DD7AD +SlateportCity_Text_WonderIfLighthouseStartlesPokemon: @ 81DD7AD .string "The light of the lighthouse reaches\n" .string "dozens of miles away.\p" .string "I wonder if it doesn't startle POKéMON\n" .string "in the sea.$" -SlateportCity_Text_1DD81A: @ 81DD81A +SlateportCity_Text_SeaweedFullOfLife: @ 81DD81A .string "Ooh, look at this!\p" .string "The seaweed you can get around these\n" .string "parts is fresh and full of life.\p" .string "Why, it looks like it can even rear up\n" .string "and attack!$" -SlateportCity_Text_1DD8A6: @ 81DD8A6 +SlateportCity_Text_HowTownIsBornAndGrows: @ 81DD8A6 .string "Where the water is clean, the fruits\n" .string "of bountiful harvest gather.\p" .string "And where people gather, a market\n" .string "soon starts.\p" .string "That is how a town is born and grows.$" -SlateportCity_Text_1DD93D: @ 81DD93D +SlateportCity_Text_SlateportWonderfulPlace: @ 81DD93D .string "Shopping where you can breathe the\n" .string "scent of the ocean…\p" .string "SLATEPORT is such a wonderful place!$" -SlateportCity_Text_1DD999: @ 81DD999 +SlateportCity_Text_BuyBricksSoDecorWontGetDirty: @ 81DD999 .string "If you put DOLLS or CUSHIONS on\n" .string "the floor, they'll get dirty.\p" .string "I'm going to buy some BRICKS so my\n" .string "DOLLS and CUSHIONS won't get dirty\l" .string "when I leave them out.$" -SlateportCity_Text_1DDA34: @ 81DDA34 +SlateportCity_Text_GoingToCompeteInBattleTent: @ 81DDA34 .string "Wroooar! I'm going to compete in\n" .string "the BATTLE TENT, too!\p" .string "But before that, I need to catch\n" .string "some POKéMON!$" -SlateportCity_Text_1DDA9A: @ 81DDA9A +SlateportCity_Text_BushedHikingFromMauville: @ 81DDA9A .string "Whew… I'm just bushed…\p" .string "I hiked over from MAUVILLE CITY.\n" .string "But, boy, this city's huge.\p" .string "If I'd known this, I would've ridden\n" .string "my BIKE here.$" -SlateportCity_Text_1DDB21: @ 81DDB21 +SlateportCity_Text_EveryoneCallsHimCaptStern: @ 81DDB21 .string "STERN, the fellow who built the\n" .string "MUSEUM, also happens to be the leader\l" .string "of an undersea exploration team.\p" .string "So, everyone calls him CAPT. STERN.$" -SlateportCity_Text_1DDBAC: @ 81DDBAC +SlateportCity_Text_WhatsLongLineOverThere: @ 81DDBAC .string "What is that over there?\n" .string "That long line…$" -SlateportCity_Text_1DDBD5: @ 81DDBD5 +SlateportCity_Text_VisitedMuseumOften: @ 81DDBD5 .string "When I was a child, I visited\n" .string "the MUSEUM often.\p" .string "I used to dream about the mysteries of\n" .string "the sea after seeing the exhibits.$" -SlateportCity_Text_1DDC4F: @ 81DDC4F +SlateportCity_Text_QuitPushing: @ 81DDC4F .string "Hey, there! Quit pushing!\n" .string "This is the line, can't you see?$" -SlateportCity_Text_1DDC8A: @ 81DDC8A +SlateportCity_Text_AquaHasPolicy: @ 81DDC8A .string "TEAM AQUA has a policy of\n" .string "assembling and dispersing at\l" .string "the operation site.$" -SlateportCity_Text_1DDCD5: @ 81DDCD5 +SlateportCity_Text_BossIsBrilliant: @ 81DDCD5 .string "Our BOSS is brilliant.\p" .string "What would he want to do with\n" .string "a MUSEUM now?$" -SlateportCity_Text_1DDD18: @ 81DDD18 +SlateportCity_Text_WhatsNewSchemeIWonder: @ 81DDD18 .string "What's the new scheme, I wonder?\p" .string "Our BOSS is scary when he's mad, so\n" .string "I'd better not screw things up…$" -SlateportCity_Text_1DDD7D: @ 81DDD7D +SlateportCity_Text_ShouldTakeItAll: @ 81DDD7D .string "If there's something we need in\n" .string "the MUSEUM, we should take it all!$" -SlateportCity_Text_1DDDC0: @ 81DDDC0 +SlateportCity_Text_DontButtIn: @ 81DDDC0 .string "Hey, you there!\n" .string "Don't butt in!$" -SlateportCity_Text_1DDDDF: @ 81DDDDF +SlateportCity_Text_RemindsMeOfLongLineForGames: @ 81DDDDF .string "A long line, huh?\p" .string "It reminds me of the times I lined up to\n" .string "buy smash-hit games…$" -SlateportCity_Text_1DDE2F: @ 81DDE2F +SlateportCity_Text_WhyAreWeLiningUp: @ 81DDE2F .string "Why are we even lining up and paying?\n" .string "We should just march in!$" -SlateportCity_Text_1DDE6E: @ 81DDE6E +SlateportCity_Text_WhatDoYouWant: @ 81DDE6E .string "What?\n" .string "What do you want?$" -SlateportCity_Text_1DDE86: @ 81DDE86 +SlateportCity_Text_IllReadSignForYou: @ 81DDE86 .string "You want to read this sign?\n" .string "I'll read it for you!$" -SlateportCity_Text_1DDEB8: @ 81DDEB8 +SlateportCity_Text_SaysSomethingLikeSeaIsEndless: @ 81DDEB8 .string "Let's see…\p" .string "Um… I think it says something like\n" .string "“the life in the sea is endless.”\p" .string "Yup, I'm pretty sure that's what\n" .string "it says.$" -SlateportCity_Text_1DDF32: @ 81DDF32 +SlateportCity_Text_ShouldveBroughtMyGameBoy: @ 81DDF32 .string "Grumble…\p" .string "I should've brought my Game Boy\n" .string "Advance so I wouldn't get bored in line…\p" .string "Grumble…$" -SlateportCity_Text_1DDF8D: @ 81DDF8D +SlateportCity_Text_HotSpringsAfterOperation: @ 81DDF8D .string "When this operation's over, I'll take\n" .string "you to a hot spring spa!\p" .string "That's what our leader said.\n" .string "I can't wait!$" -SlateportCity_Text_1DDFF7: @ 81DDFF7 +SlateportCity_Text_SeaIsSoWet: @ 81DDFF7 .string "The sea is just so vast…\p" .string "Could the sea have been made by\n" .string "the tears shed by POKéMON?$" -SlateportCity_Text_1DE04B: @ 81DE04B +SlateportCity_Text_SinkOldBoats: @ 81DE04B .string "Do you know what they do with old\n" .string "ships that become too creaky to sail?\p" .string "They sink them in the sea so they\n" .string "become habitats for POKéMON.$" -SlateportCity_Text_1DE0D2: @ 81DE0D2 +SlateportCity_Text_BuyTooMuch: @ 81DE0D2 .string "Whenever I visit here, I get carried\n" .string "away and buy too much.$" -SlateportCity_Text_1DE10E: @ 81DE10E +SlateportCity_Text_GetNameRaterToHelpYou: @ 81DE10E .string "If you want to change your POKéMON's\n" .string "nickname, you'll have to get the NAME\l" .string "RATER to help you.$" -SlateportCity_Text_1DE16C: @ 81DE16C +SlateportCity_Text_CantChangeTradeMonName: @ 81DE16C .string "Any POKéMON you get in a trade,\n" .string "you can't change its nickname.\p" .string "The original TRAINER's love for that\n" .string "POKéMON is in the nickname.$" -SlateportCity_Text_1DE1EC: @ 81DE1EC +SlateportCity_Text_BattleTentBuiltRecently: @ 81DE1EC .string "Recently, a BATTLE TENT was built\n" .string "in SLATEPORT.\p" .string "GYMS are fun, but the BATTLE TENT's\n" @@ -1127,62 +1129,62 @@ SlateportCity_Text_1DE1EC: @ 81DE1EC .string "You should go find tough POKéMON\n" .string "for the BATTLE TENT!$" -SlateportCity_Text_1DE28E: @ 81DE28E +SlateportCity_Text_CaptSternBeingInterviewed: @ 81DE28E .string "I was hoping that it was a famous star\n" .string "so I could get an autograph.\p" .string "But who's that being interviewed?\n" .string "Isn't that CAPT. STERN?$" -SlateportCity_Text_1DE30C: @ 81DE30C +SlateportCity_Text_InterviewerSoCool: @ 81DE30C .string "That lady interviewer is so cool\n" .string "and pretty.\p" .string "When I grow up, I'm going to be\n" .string "an international journalist!$" -SlateportCity_Text_1DE376: @ 81DE376 +SlateportCity_Text_SternSaysDiscoveredSomething: @ 81DE376 .string "CAPT. STERN says they discovered\n" .string "something at the bottom of the sea.\p" .string "I wonder what it is?\n" .string "What could it be?$" -SlateportCity_Text_1DE3E2: @ 81DE3E2 +SlateportCity_Text_CaptainComeBackWithBigFish: @ 81DE3E2 .string "What's going on here?\p" .string "Did the good CAPTAIN come back with\n" .string "a big fish from the ocean floor?$" -SlateportCity_Text_1DE43D: @ 81DE43D +SlateportCity_Text_AmIOnTV: @ 81DE43D .string "Hey! Are you watching?\n" .string "Am I on TV?$" -SlateportCity_Text_1DE460: @ 81DE460 +SlateportCity_Text_CaptainsACelebrity: @ 81DE460 .string "A TV interview! Here!\n" .string "The CAPTAIN's a celebrity!$" -SlateportCity_Text_1DE491: @ 81DE491 +SlateportCity_Text_BigSmileForCamera: @ 81DE491 .string "TY: Okay, CAPT. STERN, a big smile\n" .string "for the camera!$" -SlateportCity_Text_1DE4C4: @ 81DE4C4 +SlateportCity_Text_MostInvaluableExperience: @ 81DE4C4 .string "GABBY: I see, I see. You've had a most\n" .string "invaluable experience…$" -SlateportCity_Text_1DE502: @ 81DE502 +SlateportCity_Text_SternMoveAheadWithExploration: @ 81DE502 .string "CAPT. STERN: Yes, indeed. We intend to\n" .string "move ahead with our exploration.$" -SlateportCity_Text_1DE54A: @ 81DE54A +SlateportCity_Text_GabbyWonderfulThanksForInterview: @ 81DE54A .string "GABBY: That's wonderful, CAPT. STERN!\n" .string "Thank you for taking the time from\l" .string "your busy schedule to talk to us.\p" .string "We hope we can interview you again\n" .string "with news of more discoveries!$" -SlateportCity_Text_1DE5F7: @ 81DE5F7 +SlateportCity_Text_SternWhewFirstInterview: @ 81DE5F7 .string "CAPT. STERN: Whew…\p" .string "That was my first time to be filmed for\n" .string "TV. That was nerve-wracking.$" -SlateportCity_Text_1DE64F: @ 81DE64F +SlateportCity_Text_OhPlayerWeMadeDiscovery: @ 81DE64F .string "Oh! {PLAYER}{KUN}!\n" .string "You're looking great!\p" .string "We made a huge discovery on our last\n" @@ -1192,7 +1194,7 @@ SlateportCity_Text_1DE64F: @ 81DE64F .string "We think it's the habitat of a POKéMON\n" .string "that's said to have been long extinct.$" -SlateportCity_Text_1DE724: @ 81DE724 +SlateportCity_Text_AquaWillAssumeControlOfSubmarine: @ 81DE724 .string "Fufufu…\n" .string "CAPT. STERN, I presume.\p" .string "We of TEAM AQUA will assume\n" @@ -1203,77 +1205,77 @@ SlateportCity_Text_1DE724: @ 81DE724 .string "Just watch and learn what TEAM\l" .string "AQUA has planned!$" -SlateportCity_Text_1DE7F7: @ 81DE7F7 +SlateportCity_Text_SternWhatWasAllThat: @ 81DE7F7 .string "CAPT. STERN: What was that all about?\p" .string "It sounded like someone using\n" .string "a megaphone…\p" .string "Where did it come from?$" -SlateportCity_Text_1DE860: @ 81DE860 +SlateportCity_Text_FromHarborTryingToTakeSub: @ 81DE860 .string "It's from the HARBOR!\p" .string "The submarine!\n" .string "They're trying to take it!$" -SlateportCity_Text_1DE8A0: @ 81DE8A0 +SlateportCity_Text_PleaseComeWithMe: @ 81DE8A0 .string "{PLAYER}{KUN}!\n" .string "Please, come with me!$" -SlateportCity_Text_1DE8BC: @ 81DE8BC +SlateportCity_Text_BattleTentSign: @ 81DE8BC .string "BATTLE TENT SLATEPORT SITE\n" .string "“Find it! The ultimate POKéMON!”$" -SlateportCity_Text_1DE8F8: @ 81DE8F8 +SlateportCity_Text_SternsShipyardWantedSign: @ 81DE8F8 .string "STERN'S SHIPYARD\p" .string "“Wanted: A sailor capable of sailing\n" .string "in all currents.”$" -SlateportCity_Text_1DE940: @ 81DE940 +SlateportCity_Text_SternsShipyardNearsCompletion: @ 81DE940 .string "STERN'S SHIPYARD\p" .string "“The ferry S.S. TIDAL nears\n" .string "completion for serving the ports of\l" .string "SLATEPORT and LILYCOVE.”$" -SlateportCity_Text_1DE9AA: @ 81DE9AA +SlateportCity_Text_SternsShipyardFerryComplete: @ 81DE9AA .string "STERN'S SHIPYARD\p" .string "“Boarding of the SLATEPORT-LILYCOVE\n" .string "ferry S.S. TIDAL is handled at the\l" .string "HARBOR.”$" -SlateportCity_Text_1DEA0B: @ 81DEA0B +SlateportCity_Text_PokemonFanClubSign: @ 81DEA0B .string "POKéMON FAN CLUB\n" .string "“Calling all fans of POKéMON!”$" -SlateportCity_Text_1DEA3B: @ 81DEA3B +SlateportCity_Text_OceanicMuseumSign: @ 81DEA3B .string "“The endless sea sustains\n" .string "all life.”\p" .string "OCEANIC MUSEUM$" -SlateportCity_Text_1DEA6F: @ 81DEA6F +SlateportCity_Text_CitySign: @ 81DEA6F .string "SLATEPORT CITY\p" .string "“The port where people and POKéMON\n" .string "cross paths.”$" -SlateportCity_Text_1DEAAF: @ 81DEAAF +SlateportCity_Text_MarketSign: @ 81DEAAF .string "SLATEPORT MARKET\n" .string "“Unique items found nowhere else!”$" -SlateportCity_Text_1DEAE3: @ 81DEAE3 +SlateportCity_Text_HarborFerryUnderConstruction: @ 81DEAE3 .string "SLATEPORT HARBOR\p" .string "“The ferry S.S. TIDAL is under\n" .string "construction in the SHIPYARD.\p" .string "“Service is scheduled to begin\n" .string "shortly.”$" -SlateportCity_Text_1DEB5A: @ 81DEB5A +SlateportCity_Text_HarborSign: @ 81DEB5A .string "SLATEPORT HARBOR\p" .string "“Enjoy a delightful cruise on\n" .string "the ferry S.S. TIDAL.”$" -SlateportCity_Text_1DEBA0: @ 81DEBA0 +SlateportCity_Text_NameRatersHouseSign: @ 81DEBA0 .string "NAME RATER'S HOUSE\n" .string "“POKéMON nicknames rated.”$" -SlateportCity_Text_1DEBCE: @ 81DEBCE +SlateportCity_Text_ExplainBerries: @ 81DEBCE .string "If a wild POKéMON gets hurt, it heals\n" .string "itself by chewing on BERRIES.\p" .string "Did you know that?\p" @@ -1288,7 +1290,7 @@ SlateportCity_Text_1DEBCE: @ 81DEBCE .string "I've got something good for someone\n" .string "like you.$" -SlateportCity_Text_1DED27: @ 81DED27 +SlateportCity_Text_ExplainBerryPowder: @ 81DED27 .string "I recently had machines installed at\n" .string "POKéMON CENTERS for crushing BERRIES.\p" .string "The BERRY CRUSH machines are at\n" @@ -1299,39 +1301,39 @@ SlateportCity_Text_1DED27: @ 81DED27 .string "I can make you all sorts of medicine\n" .string "if you bring me lots of BERRY POWDER.$" -SlateportCity_Text_1DEE40: @ 81DEE40 +SlateportCity_Text_BroughtMeSomeBerryPowder: @ 81DEE40 .string "Have you brought me some\n" .string "BERRY POWDER?$" -SlateportCity_Text_1DEE67: @ 81DEE67 +SlateportCity_Text_ExchangeWhatWithIt: @ 81DEE67 .string "What would you like to exchange\n" .string "it with?$" -SlateportCity_Text_1DEE90: @ 81DEE90 +SlateportCity_Text_ExchangeBerryPowderForItem: @ 81DEE90 .string "Okay, you want to exchange your\n" .string "BERRY POWDER for one {STR_VAR_1}?$" -SlateportCity_Text_1DEEC9: @ 81DEEC9 +SlateportCity_Text_DontHaveEnoughBerryPowder: @ 81DEEC9 .string "Oh, dear. You don't have enough\n" .string "BERRY POWDER.$" -SlateportCity_Text_1DEEF7: @ 81DEEF7 +SlateportCity_Text_FineBerryPowderTradeSomethingElse: @ 81DEEF7 .string "This is fine BERRY POWDER.\n" .string "It will make excellent medicine.\p" .string "Would you like to trade more of your\n" .string "BERRY POWDER for something else?$" -SlateportCity_Text_1DEF79: @ 81DEF79 +SlateportCity_Text_WhenYouGetMoreBringItToMe: @ 81DEF79 .string "Okay! When you get some more\n" .string "BERRY POWDER, bring it to me, please!$" -SlateportCity_Text_1DEFBC: @ 81DEFBC +SlateportCity_Text_ComeBackToTradeBerryPowder: @ 81DEFBC .string "Come back if you'd like to trade your\n" .string "BERRY POWDER for some medicine.\p" .string "I'm always running a bazaar here.\p" .string "Did you know?$" -SlateportCity_Text_1DF032: @ 81DF032 +SlateportCity_Text_YouDroveTeamAquaAway: @ 81DF032 .string "SCOTT: Huh?\n" .string "I'm sure I met you somewhere before.\p" .string "Have I introduced myself to you?\n" @@ -1340,22 +1342,22 @@ SlateportCity_Text_1DF032: @ 81DF032 .string "here like they were stung.\p" .string "Let me guess--you drove them away?$" -SlateportCity_Text_1DF0FE: @ 81DF0FE +SlateportCity_Text_MaybeThisTrainer: @ 81DF0FE .string "SCOTT: Hmm…\n" .string "Maybe, just maybe, this TRAINER…$" -SlateportCity_Text_1DF12B: @ 81DF12B +SlateportCity_Text_LetsRegisterEachOther: @ 81DF12B .string "SCOTT: All right! I think you're going\n" .string "to become a good friend.\p" .string "So, let's register each other in our\n" .string "POKéNAVS.\p" .string "… … … … … …$" -SlateportCity_Text_1DF1A6: @ 81DF1A6 +SlateportCity_Text_RegisteredScott: @ 81DF1A6 .string "Registered this SCOTT person\n" .string "in the POKéNAV.$" -SlateportCity_Text_1DF1D3: @ 81DF1D3 +SlateportCity_Text_KeepEyeOnTrainersBeSeeingYou: @ 81DF1D3 .string "SCOTT: What I'd like to do is tag along\n" .string "with you, but I do want to keep an eye\l" .string "on the talents of other people, too.\p" @@ -1363,7 +1365,7 @@ SlateportCity_Text_1DF1D3: @ 81DF1D3 .string "a bit more.\p" .string "Be seeing you, {PLAYER}{KUN}!$" -SlateportCity_Text_1DF28C: @ 81DF28C +SlateportCity_Text_TakingBattleTentChallenge: @ 81DF28C .string "SCOTT: Oh, hey!\n" .string "If it isn't {PLAYER}{KUN}!\p" .string "{PLAYER}{KUN}, let me guess--you're going\n" diff --git a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc index e178155a9c..00c093c49a 100644 --- a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc +++ b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc @@ -1,55 +1,56 @@ SlateportCity_BattleTentBattleRoom_MapScripts:: @ 8209960 map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_BattleTentBattleRoom_OnTransition - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_BattleTentBattleRoom_MapScript2_20999A - map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_BattleTentBattleRoom_MapScript2_2099B4 + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_BattleTentBattleRoom_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_BattleTentBattleRoom_OnFrame .byte 0 + @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden + @ The player is represented instead by object event 3, which has the gfx id VAR_OBJ_GFX_ID_1 + SlateportCity_BattleTentBattleRoom_OnTransition: @ 8209970 - call SlateportCity_BattleTentBattleRoom_EventScript_209976 + call SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfx end -SlateportCity_BattleTentBattleRoom_EventScript_209976:: @ 8209976 +SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfx:: @ 8209976 checkplayergender compare VAR_RESULT, MALE - goto_if_eq SlateportCity_BattleTentBattleRoom_EventScript_20998E + goto_if_eq SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfxMale compare VAR_RESULT, FEMALE - goto_if_eq SlateportCity_BattleTentBattleRoom_EventScript_209994 + goto_if_eq SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale return -SlateportCity_BattleTentBattleRoom_EventScript_20998E:: @ 820998E +SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfxMale:: @ 820998E setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL return -SlateportCity_BattleTentBattleRoom_EventScript_209994:: @ 8209994 +SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale:: @ 8209994 setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL return -SlateportCity_BattleTentBattleRoom_MapScript2_20999A: @ 820999A - map_script_2 VAR_TEMP_1, 0, SlateportCity_BattleTentBattleRoom_EventScript_2099A4 +SlateportCity_BattleTentBattleRoom_OnWarp: @ 820999A + map_script_2 VAR_TEMP_1, 0, SlateportCity_BattleTentBattleRoom_EventScript_SetUpObjects .2byte 0 -SlateportCity_BattleTentBattleRoom_EventScript_2099A4:: @ 82099A4 +SlateportCity_BattleTentBattleRoom_EventScript_SetUpObjects:: @ 82099A4 setvar VAR_TEMP_1, 1 hideobjectat EVENT_OBJ_ID_PLAYER, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM hideobjectat 2, MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM end -SlateportCity_BattleTentBattleRoom_MapScript2_2099B4: @ 82099B4 - map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentBattleRoom_EventScript_2099BE +SlateportCity_BattleTentBattleRoom_OnFrame: @ 82099B4 + map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentBattleRoom_EventScript_EnterRoom .2byte 0 -SlateportCity_BattleTentBattleRoom_EventScript_2099BE:: @ 82099BE - applymovement 3, SlateportCity_BattleTentBattleRoom_Movement_209A99 +SlateportCity_BattleTentBattleRoom_EventScript_EnterRoom:: @ 82099BE + applymovement 3, SlateportCity_BattleTentBattleRoom_Movement_PlayerEnter waitmovement 0 - setvar VAR_0x8004, 11 - special CallBattleFactoryFunction + factory_setopponentgfx setobjectxyperm 2, 5, 1 removeobject 2 addobject 2 - applymovement 2, SlateportCity_BattleTentBattleRoom_Movement_209A9E + applymovement 2, SlateportCity_BattleTentBattleRoom_Movement_OpponentEnter waitmovement 0 - setvar VAR_0x8004, 4 - special sub_81B99B4 + battletent_getopponentintro lockall msgbox gStringVar4, MSGBOX_DEFAULT waitmessage @@ -60,52 +61,40 @@ SlateportCity_BattleTentBattleRoom_EventScript_2099BE:: @ 82099BE special DoSpecialTrainerBattle waitstate switch VAR_RESULT - case 1, SlateportCity_BattleTentBattleRoom_EventScript_209A39 - -SlateportCity_BattleTentCorridor_EventScript_209A1B:: @ 8209A1B - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 4 - special CallFrontierUtilFunc - special LoadPlayerParty - warp MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6 - waitstate - -SlateportCity_BattleTentBattleRoom_EventScript_209A39:: @ 8209A39 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc - addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc - switch VAR_RESULT - case 3, SlateportCity_BattleTentBattleRoom_EventScript_209A7B -@ case 3, SlateportCity_BattleTentCorridor_EventScript_209A7B - setvar VAR_0x8006, 1 - warp MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 255, 2, 3 - waitstate - -SlateportCity_BattleTentBattleRoom_EventScript_209A7B:: @ 8209A7B -SlateportCity_BattleTentCorridor_EventScript_209A7B:: @ 8209A7B - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 3 - special CallFrontierUtilFunc + case 1, SlateportCity_BattleTentBattleRoom_EventScript_DefeatedOpponent +SlateportCity_BattleTent_EventScript_WarpToLobbyLost:: @ 8209A1B + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST special LoadPlayerParty warp MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6 waitstate @ forced stop -SlateportCity_BattleTentBattleRoom_Movement_209A99: @ 8209A99 +SlateportCity_BattleTentBattleRoom_EventScript_DefeatedOpponent:: @ 8209A39 + frontier_get FRONTIER_DATA_BATTLE_NUM + addvar VAR_RESULT, 1 + frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT + switch VAR_RESULT + case 3, SlateportCity_BattleTentBattleRoom_EventScript_WarpToLobbyWon + setvar VAR_0x8006, 1 + warp MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 255, 2, 3 + waitstate +@ forced stop + +SlateportCity_BattleTentBattleRoom_EventScript_WarpToLobbyWon:: @ 8209A7B + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON + special LoadPlayerParty + warp MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6 + waitstate +@ forced stop + +SlateportCity_BattleTentBattleRoom_Movement_PlayerEnter: @ 8209A99 walk_up walk_up walk_up walk_in_place_fastest_right step_end -SlateportCity_BattleTentBattleRoom_Movement_209A9E: @ 8209A9E +SlateportCity_BattleTentBattleRoom_Movement_OpponentEnter: @ 8209A9E walk_down walk_down walk_down diff --git a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc index 27f7fa3b99..718376c4f1 100644 --- a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc +++ b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc @@ -1,55 +1,52 @@ SlateportCity_BattleTentCorridor_MapScripts:: @ 8208E26 - map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_BattleTentCorridor_MapScript2_208E5B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_BattleTentCorridor_MapScript2_208E31 + map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_BattleTentCorridor_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_BattleTentCorridor_OnWarp .byte 0 -SlateportCity_BattleTentCorridor_MapScript2_208E31: @ 8208E31 - map_script_2 VAR_TEMP_1, 0, SlateportCity_BattleTentCorridor_EventScript_208E3B + @ This is Slateport Tent's version of the Battle Factory Pre-Battle Room + +SlateportCity_BattleTentCorridor_OnWarp: @ 8208E31 + map_script_2 VAR_TEMP_1, 0, SlateportCity_BattleTentCorridor_EventScript_SetUpObjects .2byte 0 -SlateportCity_BattleTentCorridor_EventScript_208E3B:: @ 8208E3B +SlateportCity_BattleTentCorridor_EventScript_SetUpObjects:: @ 8208E3B setvar VAR_TEMP_1, 1 compare VAR_0x8006, 1 - goto_if_ne SlateportCity_BattleTentCorridor_EventScript_208E56 + goto_if_ne SlateportCity_BattleTentCorridor_EventScript_TurnPlayerNorth setobjectxy 1, 2, 2 - turnobject 1, 1 - -SlateportCity_BattleTentCorridor_EventScript_208E56:: @ 8208E56 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject 1, DIR_SOUTH +SlateportCity_BattleTentCorridor_EventScript_TurnPlayerNorth:: @ 8208E56 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end -SlateportCity_BattleTentCorridor_MapScript2_208E5B: @ 8208E5B - map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentCorridor_EventScript_208E65 +SlateportCity_BattleTentCorridor_OnFrame: @ 8208E5B + map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentCorridor_EventScript_EnterCorridor .2byte 0 -SlateportCity_BattleTentCorridor_EventScript_208E65:: @ 8208E65 +SlateportCity_BattleTentCorridor_EventScript_EnterCorridor:: @ 8208E65 compare VAR_0x8006, 1 - goto_if_eq SlateportCity_BattleTentCorridor_EventScript_208EEE + goto_if_eq SlateportCity_BattleTentCorridor_EventScript_ReturnToRoomFromBattle setvar VAR_TEMP_0, 1 - applymovement 1, SlateportCity_BattleTentCorridor_Movement_209062 - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentCorridor_Movement_209059 + applymovement 1, SlateportCity_BattleTentCorridor_Movement_AttendantEnter + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentCorridor_Movement_PlayerEnter waitmovement 0 compare VAR_0x8006, 2 - goto_if_eq SlateportCity_BattleTentCorridor_EventScript_209044 - setvar VAR_0x8004, 9 - special sub_81B9D08 - setvar VAR_0x8004, 8 - special sub_81B9D08 - msgbox SlateportCity_BattleTentCorridor_Text_25A1C8, MSGBOX_DEFAULT - fadescreen 1 - setvar VAR_0x8004, 6 - special sub_81B9D08 + goto_if_eq SlateportCity_BattleTentCorridor_EventScript_ResumeChallenge + slateporttent_generaterentalmons + slateporttent_generateopponentmons + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_HoldMonsChooseFromSelection, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK + slateporttent_rentmons waitstate - -SlateportCity_BattleTentCorridor_EventScript_208EB4:: @ 8208EB4 - msgbox SlateportCity_BattleTentCorridor_Text_25AB96, MSGBOX_DEFAULT +SlateportCity_BattleTentCorridor_EventScript_EnterBattleRoom:: @ 8208EB4 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_RightThisWay, MSGBOX_DEFAULT closemessage - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 opendoor 2, 1 waitdooranim - applymovement 1, SlateportCity_BattleTentCorridor_Movement_209068 - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentCorridor_Movement_20905E + applymovement 1, SlateportCity_BattleTentCorridor_Movement_AttendantExit + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentCorridor_Movement_PlayerExit waitmovement 0 closedoor 2, 1 waitdooranim @@ -57,109 +54,97 @@ SlateportCity_BattleTentCorridor_EventScript_208EB4:: @ 8208EB4 waitstate end -SlateportCity_BattleTentCorridor_EventScript_208EEE:: @ 8208EEE - setvar VAR_0x8004, 9 - special CallBattleFactoryFunction - setvar VAR_0x8004, 16 - special CallBattleFactoryFunction - msgbox SlateportCity_BattleTentCorridor_Text_25A22D, MSGBOX_DEFAULT +SlateportCity_BattleTentCorridor_EventScript_ReturnToRoomFromBattle:: @ 8208EEE + factory_setopponentmons + factory_resethelditems + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_LetUsRestoreMons, MSGBOX_DEFAULT playfanfare MUS_ME_ASA waitfanfare special HealPlayerParty - -SlateportCity_BattleTentCorridor_EventScript_208F0D:: @ 8208F0D - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc +SlateportCity_BattleTentCorridor_EventScript_AskReadyForOpponent:: @ 8208F0D + frontier_get FRONTIER_DATA_BATTLE_NUM compare VAR_RESULT, 1 - call_if_eq SlateportCity_BattleTentCorridor_EventScript_209014 + call_if_eq SlateportCity_BattleTentCorridor_EventScript_ReadyFor2ndOpponent compare VAR_RESULT, 2 - call_if_eq SlateportCity_BattleTentCorridor_EventScript_20901B - multichoice 20, 6, 104, 1 + call_if_eq SlateportCity_BattleTentCorridor_EventScript_ReadyFor3rdOpponent + multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1 switch VAR_RESULT - case 0, SlateportCity_BattleTentCorridor_EventScript_208FBB - case 1, SlateportCity_BattleTentCorridor_EventScript_208F5B - case 2, SlateportCity_BattleTentCorridor_EventScript_208F89 + case 0, SlateportCity_BattleTentCorridor_EventScript_AskSwapMon + case 1, SlateportCity_BattleTentCorridor_EventScript_AskPauseChallenge + case 2, SlateportCity_BattleTentCorridor_EventScript_AskRetireChallenge -SlateportCity_BattleTentCorridor_EventScript_208F5B:: @ 8208F5B - msgbox SlateportCity_BattleTentCorridor_Text_25A350, MSGBOX_YESNO +SlateportCity_BattleTentCorridor_EventScript_AskPauseChallenge:: @ 8208F5B + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_SaveAndQuitGame, MSGBOX_YESNO switch VAR_RESULT - case 0, SlateportCity_BattleTentCorridor_EventScript_208F0D - case 1, SlateportCity_BattleTentCorridor_EventScript_209022 - case 127, SlateportCity_BattleTentCorridor_EventScript_208F0D + case NO, SlateportCity_BattleTentCorridor_EventScript_AskReadyForOpponent + case YES, SlateportCity_BattleTentCorridor_EventScript_PauseChallenge + case MULTI_B_PRESSED, SlateportCity_BattleTentCorridor_EventScript_AskReadyForOpponent -SlateportCity_BattleTentCorridor_EventScript_208F89:: @ 8208F89 - message SlateportCity_BattleTentCorridor_Text_25A37A +SlateportCity_BattleTentCorridor_EventScript_AskRetireChallenge:: @ 8208F89 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_RetireFromChallenge waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, SlateportCity_BattleTentCorridor_EventScript_208F0D - case 0, SlateportCity_BattleTentCorridor_EventScript_209A1B - case 127, SlateportCity_BattleTentCorridor_EventScript_208F0D + case 1, SlateportCity_BattleTentCorridor_EventScript_AskReadyForOpponent + case 0, SlateportCity_BattleTent_EventScript_WarpToLobbyLost + case MULTI_B_PRESSED, SlateportCity_BattleTentCorridor_EventScript_AskReadyForOpponent -SlateportCity_BattleTentCorridor_EventScript_208FBB:: @ 8208FBB - setvar VAR_0x8004, 8 - special sub_81B9D08 - msgbox SlateportCity_BattleTentCorridor_Text_25AB2E, MSGBOX_YESNO +SlateportCity_BattleTentCorridor_EventScript_AskSwapMon:: @ 8208FBB + slateporttent_generateopponentmons + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_LikeToSwapMon, MSGBOX_YESNO switch VAR_RESULT - case 0, SlateportCity_BattleTentCorridor_EventScript_208EB4 - case 1, SlateportCity_BattleTentCorridor_EventScript_208FF1 - case 127, SlateportCity_BattleTentCorridor_EventScript_208EB4 + case NO, SlateportCity_BattleTentCorridor_EventScript_EnterBattleRoom + case YES, SlateportCity_BattleTentCorridor_EventScript_SwapMons + case MULTI_B_PRESSED, SlateportCity_BattleTentCorridor_EventScript_EnterBattleRoom -SlateportCity_BattleTentCorridor_EventScript_208FF1:: @ 8208FF1 - fadescreen 1 - setvar VAR_0x8004, 7 - special sub_81B9D08 +SlateportCity_BattleTentCorridor_EventScript_SwapMons:: @ 8208FF1 + fadescreen FADE_TO_BLACK + slateporttent_swapmons waitstate compare VAR_RESULT, 1 - goto_if_eq SlateportCity_BattleTentCorridor_EventScript_208EB4 - msgbox SlateportCity_BattleTentCorridor_Text_25AB6C, MSGBOX_DEFAULT - goto SlateportCity_BattleTentCorridor_EventScript_208EB4 + goto_if_eq SlateportCity_BattleTentCorridor_EventScript_EnterBattleRoom + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_YourSwapIsComplete, MSGBOX_DEFAULT + goto SlateportCity_BattleTentCorridor_EventScript_EnterBattleRoom -SlateportCity_BattleTentCorridor_EventScript_209014:: @ 8209014 - message SlateportCity_BattleTentCorridor_Text_25A263 +SlateportCity_BattleTentCorridor_EventScript_ReadyFor2ndOpponent:: @ 8209014 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor2ndOpponent waitmessage return -SlateportCity_BattleTentCorridor_EventScript_20901B:: @ 820901B - message SlateportCity_BattleTentCorridor_Text_25A289 +SlateportCity_BattleTentCorridor_EventScript_ReadyFor3rdOpponent:: @ 820901B + message BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor3rdOpponent waitmessage return -SlateportCity_BattleTentCorridor_EventScript_209022:: @ 8209022 - message SlateportCity_BattleTentCorridor_Text_25ABAE +SlateportCity_BattleTentCorridor_EventScript_PauseChallenge:: @ 8209022 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_SavingDataPleaseWait waitmessage - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 2 - special sub_81B9D08 + slateporttent_save CHALLENGE_STATUS_PAUSED playse SE_SAVE waitse - fadescreen 1 - setvar VAR_0x8004, 4 - special CallFrontierUtilFunc + fadescreen FADE_TO_BLACK + frontier_reset end -SlateportCity_BattleTentCorridor_EventScript_209044:: @ 8209044 +SlateportCity_BattleTentCorridor_EventScript_ResumeChallenge:: @ 8209044 special SavePlayerParty - setvar VAR_0x8004, 10 - setvar VAR_0x8005, 0 - special CallBattleFactoryFunction - goto SlateportCity_BattleTentCorridor_EventScript_208F0D + factory_setparties 0 + goto SlateportCity_BattleTentCorridor_EventScript_AskReadyForOpponent -SlateportCity_BattleTentCorridor_Movement_209059: @ 8209059 +SlateportCity_BattleTentCorridor_Movement_PlayerEnter: @ 8209059 walk_up walk_up walk_up walk_up step_end -SlateportCity_BattleTentCorridor_Movement_20905E: @ 820905E +SlateportCity_BattleTentCorridor_Movement_PlayerExit: @ 820905E walk_up walk_up set_invisible step_end -SlateportCity_BattleTentCorridor_Movement_209062: @ 8209062 +SlateportCity_BattleTentCorridor_Movement_AttendantEnter: @ 8209062 walk_up walk_up walk_up @@ -167,12 +152,14 @@ SlateportCity_BattleTentCorridor_Movement_209062: @ 8209062 walk_in_place_fastest_down step_end -SlateportCity_BattleTentCorridor_Movement_209068: @ 8209068 +SlateportCity_BattleTentCorridor_Movement_AttendantExit: @ 8209068 walk_up set_invisible step_end -SlateportCity_BattleTentCorridor_Text_20906B: @ 820906B +@ Leftover text from when this was a Contest Hall in R/S +@ Unused +SlateportCity_ContestHall_Text_AdviceForContests: @ 820906B .string "Want a tasty little bit of advice\n" .string "for CONTESTS?\p" .string "Using a certain move after another\n" @@ -183,12 +170,14 @@ SlateportCity_BattleTentCorridor_Text_20906B: @ 820906B .string "Of course, your opponents might try\n" .string "disrupting your POKéMON's showing.$" -SlateportCity_BattleTentCorridor_Text_20917A: @ 820917A +@ Unused +SlateportCity_ContestHall_Text_MyPapaIsContestJudge: @ 820917A .string "My papa, he's a CONTEST JUDGE.\p" .string "I wonder what I should be when I\n" .string "grow up, a JUDGE or a GYM LEADER?$" -SlateportCity_BattleTentCorridor_Text_2091DC: @ 82091DC +@ Unused +SlateportCity_ContestHall_Text_ImLikeMajorlyCheesed: @ 82091DC .string "Hey, man, I'm like majorly cheesed,\n" .string "you know. Like, you know, I just\l" .string "wanted to know why my POKéMON\l" @@ -200,7 +189,8 @@ SlateportCity_BattleTentCorridor_Text_2091DC: @ 82091DC .string "Hey, like, you! Zip it, you know?\n" .string "Just, you know, take this!$" -SlateportCity_BattleTentCorridor_Text_209322: @ 8209322 +@ Unused +SlateportCity_ContestHall_Text_ExplainTorment: @ 8209322 .string "That's, like, TM41, you know?\n" .string "Hey, it's TORMENT, you hearing me?\p" .string "Like, it won't let the other guy\n" @@ -208,7 +198,8 @@ SlateportCity_BattleTentCorridor_Text_209322: @ 8209322 .string "Hey, now, you listen here, like,\n" .string "I'm not laying a torment on you!$" -SlateportCity_BattleTentCorridor_Text_2093ED: @ 82093ED +@ Unused +SlateportCity_ContestHall_Text_MCStepUpTakePartInContest: @ 82093ED .string "MC: Oh, my, my!\n" .string "Now isn't that a dandy of a POKéMON?\p" .string "Please! Do step right up and take\n" @@ -216,7 +207,8 @@ SlateportCity_BattleTentCorridor_Text_2093ED: @ 82093ED .string "You'll do well! I'm sure of it!\n" .string "My eyes have never failed me!$" -SlateportCity_BattleTentCorridor_Text_2094A1: @ 82094A1 +@ Unused +SlateportCity_ContestHall_Text_JudgeWouldntDoToMissContest: @ 82094A1 .string "JUDGE: Well, hello there!\n" .string "I see that you're a TRAINER!\p" .string "Then, it just wouldn't do for you\n" @@ -224,17 +216,20 @@ SlateportCity_BattleTentCorridor_Text_2094A1: @ 82094A1 .string "Get a CONTEST PASS in VERDANTURF\n" .string "CITY and enter anytime!$" -SlateportCity_BattleTentCorridor_Text_20954E: @ 820954E +@ Unused +SlateportCity_ContestHall_Text_ItsAppealTime: @ 820954E .string "It's appeal time!\n" .string "What should I lead with?$" -SlateportCity_BattleTentCorridor_Text_209579: @ 8209579 +@ Unused +SlateportCity_ContestHall_Text_DidntPayAttentionToAppeal: @ 8209579 .string "They didn't pay much attention to\n" .string "my POKéMON's appeal…\p" .string "Humph, that JUDGE, he doesn't know\n" .string "a good thing when he sees it.$" -SlateportCity_BattleTentCorridor_Text_2095F1: @ 82095F1 +@ Unused +SlateportCity_ContestHall_Text_RewardWithSageAdvice: @ 82095F1 .string "Oh, hi! You must be a serious fan to get\n" .string "this close to the action.\p" .string "I'll reward your enthusiasm with\n" @@ -246,35 +241,41 @@ SlateportCity_BattleTentCorridor_Text_2095F1: @ 82095F1 .string "Well, you'd think something good has\n" .string "to happen!$" -SlateportCity_BattleTentCorridor_Text_209718: @ 8209718 +@ Unused +SlateportCity_ContestHall_Text_MoreFreakedOutThanMon: @ 8209718 .string "I can't do this! I'm more freaked out\n" .string "than my POKéMON.\p" .string "I'm shivering and my heart is racing!$" -SlateportCity_BattleTentCorridor_Text_209775: @ 8209775 +@ Unused +SlateportCity_ContestHall_Text_BattleAndContestAlike: @ 8209775 .string "A battle and a CONTEST aren't the\n" .string "same, but they are alike, too.\p" .string "You need to work hard and believe\n" .string "in the POKéMON you've raised.$" -SlateportCity_BattleTentCorridor_Text_2097F6: @ 82097F6 +@ Unused +SlateportCity_ContestHall_Text_MonLooksOnTopOfGame: @ 82097F6 .string "That POKéMON looks like it's on top\n" .string "of its game, huh?\p" .string "A POKéMON that does good in the\n" .string "secondary judging seems to be more\l" .string "relaxed when it's doing appeals.$" -SlateportCity_BattleTentCorridor_Text_209890: @ 8209890 +@ Unused +SlateportCity_ContestHall_Text_MyMonBetterThanThatLot: @ 8209890 .string "Will you look at that sorry sight?\p" .string "Heh, my POKéMON's absolutely better\n" .string "than that lot!$" -SlateportCity_BattleTentCorridor_Text_2098E6: @ 82098E6 +@ Unused +SlateportCity_ContestHall_Text_GetUrgeToMoveWithMon: @ 82098E6 .string "Don't you get the urge to move with\n" .string "POKéMON if they're putting on an\l" .string "energetic appeal?$" -SlateportCity_BattleTentCorridor_Text_20993D: @ 820993D +@ Unused +SlateportCity_ContestHall_Text_HyperRankStage: @ 820993D .string "POKéMON CONTESTS\n" .string "HYPER RANK STAGE!$" diff --git a/data/maps/SlateportCity_BattleTentLobby/map.json b/data/maps/SlateportCity_BattleTentLobby/map.json index 45783e2c96..b1d06a1440 100644 --- a/data/maps/SlateportCity_BattleTentLobby/map.json +++ b/data/maps/SlateportCity_BattleTentLobby/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_BattleTentLobby_EventScript_2088AA", + "script": "SlateportCity_BattleTentLobby_EventScript_Attendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_BattleTentLobby_EventScript_208A3D", + "script": "SlateportCity_BattleTentLobby_EventScript_TormentGiver", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_BattleTentLobby_EventScript_208A7E", + "script": "SlateportCity_BattleTentLobby_EventScript_Man", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_BattleTentLobby_EventScript_208A87", + "script": "SlateportCity_BattleTentLobby_EventScript_Girl", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_BattleTentLobby_EventScript_208A90", + "script": "SlateportCity_BattleTentLobby_EventScript_Woman", "flag": "0" } ], @@ -104,7 +104,7 @@ "y": 5, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_BattleTentLobby_EventScript_208A99" + "script": "SlateportCity_BattleTentLobby_EventScript_RulesBoard" } ] } \ No newline at end of file diff --git a/data/maps/SlateportCity_BattleTentLobby/scripts.inc b/data/maps/SlateportCity_BattleTentLobby/scripts.inc index 19416c91b3..e0969a5910 100644 --- a/data/maps/SlateportCity_BattleTentLobby/scripts.inc +++ b/data/maps/SlateportCity_BattleTentLobby/scripts.inc @@ -1,327 +1,281 @@ SlateportCity_BattleTentLobby_MapScripts:: @ 8208730 - map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_BattleTentLobby_MapScript2_20874F - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_BattleTentLobby_MapScript2_20873B + map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_BattleTentLobby_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_BattleTentLobby_OnWarp .byte 0 -SlateportCity_BattleTentLobby_MapScript2_20873B: @ 820873B - map_script_2 VAR_TEMP_1, 0, SlateportCity_BattleTentLobby_EventScript_208745 +SlateportCity_BattleTentLobby_OnWarp: @ 820873B + map_script_2 VAR_TEMP_1, 0, SlateportCity_BattleTentLobby_EventScript_TurnPlayerNorth .2byte 0 -SlateportCity_BattleTentLobby_EventScript_208745:: @ 8208745 +SlateportCity_BattleTentLobby_EventScript_TurnPlayerNorth:: @ 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 - map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentLobby_EventScript_208779 - map_script_2 VAR_TEMP_0, 1, SlateportCity_BattleTentLobby_EventScript_208782 - map_script_2 VAR_TEMP_0, 2, SlateportCity_BattleTentLobby_EventScript_208871 - map_script_2 VAR_TEMP_0, 3, SlateportCity_BattleTentLobby_EventScript_2087B7 - map_script_2 VAR_TEMP_0, 4, SlateportCity_BattleTentLobby_EventScript_208837 +SlateportCity_BattleTentLobby_OnFrame: @ 820874F + map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, SlateportCity_BattleTentLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, SlateportCity_BattleTentLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, SlateportCity_BattleTentLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, SlateportCity_BattleTentLobby_EventScript_LostChallenge .2byte 0 -SlateportCity_BattleTentLobby_EventScript_208779:: @ 8208779 - setvar VAR_0x8004, 0 - special CallFrontierUtilFunc +SlateportCity_BattleTentLobby_EventScript_GetChallengeStatus:: @ 8208779 + frontier_getstatus end -SlateportCity_BattleTentLobby_EventScript_208782:: @ 8208782 +SlateportCity_BattleTentLobby_EventScript_QuitWithoutSaving:: @ 8208782 lockall - msgbox SlateportCity_BattleTentLobby_Text_2C5DFA, MSGBOX_DEFAULT + msgbox SlateportCity_BattleTentLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 setvar VAR_TEMP_0, 255 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50 releaseall end -SlateportCity_BattleTentLobby_EventScript_2087B7:: @ 82087B7 +SlateportCity_BattleTentLobby_EventScript_WonChallenge:: @ 82087B7 lockall - message SlateportCity_BattleTentLobby_Text_2C5C6F + message SlateportCity_BattleTentLobby_Text_WonThreeMatchesReturnMons waitmessage - setvar VAR_0x8004, 4 - special sub_81B9D08 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 0 - special sub_81B9D08 + slateporttent_setrandomprize + frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50 + slateporttent_save 0 playse SE_SAVE waitse - -SlateportCity_BattleTentLobby_EventScript_2087E9:: @ 82087E9 - msgbox SlateportCity_BattleTentLobby_Text_2C5D14, MSGBOX_DEFAULT - setvar VAR_0x8004, 5 - special sub_81B9D08 +SlateportCity_BattleTentLobby_EventScript_GivePrize:: @ 82087E9 + msgbox SlateportCity_BattleTentLobby_Text_AwardYouThisPrize, MSGBOX_DEFAULT + slateporttent_giveprize switch VAR_RESULT - case 0, SlateportCity_BattleTentLobby_EventScript_20882A - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - message SlateportCity_BattleTentLobby_Text_23F68C + case FALSE, SlateportCity_BattleTentLobby_EventScript_NoRoomForPrize + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 + message BattleFrontier_BattleTowerLobby_Text_ReceivedPrize @ Odd that it uses Tower's instead of Factory's or its own waitmessage playfanfare MUS_FANFA4 waitfanfare - goto SlateportCity_BattleTentLobby_EventScript_208861 + goto SlateportCity_BattleTentLobby_EventScript_EndGivePrize -SlateportCity_BattleTentLobby_EventScript_20882A:: @ 820882A - msgbox SlateportCity_BattleTentLobby_Text_2C5D52, MSGBOX_DEFAULT - goto SlateportCity_BattleTentLobby_EventScript_208861 +SlateportCity_BattleTentLobby_EventScript_NoRoomForPrize:: @ 820882A + msgbox SlateportCity_BattleTentLobby_Text_NoRoomInBagMakeRoom, MSGBOX_DEFAULT + goto SlateportCity_BattleTentLobby_EventScript_EndGivePrize -SlateportCity_BattleTentLobby_EventScript_208837:: @ 8208837 +SlateportCity_BattleTentLobby_EventScript_LostChallenge:: @ 8208837 lockall - message SlateportCity_BattleTentLobby_Text_2C5BA2 + message SlateportCity_BattleTentLobby_Text_ReturnRentalMonsSaveResults waitmessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 0 - special sub_81B9D08 + frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50 + slateporttent_save 0 playse SE_SAVE waitse -SlateportCity_BattleTentLobby_EventScript_208861:: @ 8208861 - msgbox SlateportCity_BattleTentLobby_Text_2C5AA5, MSGBOX_DEFAULT +SlateportCity_BattleTentLobby_EventScript_EndGivePrize:: @ 8208861 + msgbox SlateportCity_BattleTentLobby_Text_LookForwardToNextVisit, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 releaseall end -SlateportCity_BattleTentLobby_EventScript_208871:: @ 8208871 +SlateportCity_BattleTentLobby_EventScript_ResumeChallenge:: @ 8208871 lockall - message SlateportCity_BattleTentLobby_Text_2C5DA7 + message SlateportCity_BattleTentLobby_Text_BeenWaitingForYou waitmessage - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 1 - special sub_81B9D08 + slateporttent_save CHALLENGE_STATUS_SAVING playse SE_SAVE waitse - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_PAUSED, FALSE setvar VAR_TEMP_0, 255 setvar VAR_0x8006, 2 - goto SlateportCity_BattleTentLobby_EventScript_2089AC + goto SlateportCity_BattleTentLobby_EventScript_EnterChallenge -SlateportCity_BattleTentLobby_EventScript_2088AA:: @ 82088AA +SlateportCity_BattleTentLobby_EventScript_Attendant:: @ 82088AA lock faceplayer - setvar VAR_0x8004, 1 - special sub_81B9D08 - compare VAR_RESULT, 0 - goto_if_ne SlateportCity_BattleTentLobby_EventScript_2087E9 + slateporttent_getprize + compare VAR_RESULT, ITEM_NONE + goto_if_ne SlateportCity_BattleTentLobby_EventScript_GivePrize special SavePlayerParty - msgbox SlateportCity_BattleTentLobby_Text_2C5810, MSGBOX_DEFAULT - -SlateportCity_BattleTentLobby_EventScript_2088CA:: @ 82088CA - message SlateportCity_BattleTentLobby_Text_2C586A + msgbox SlateportCity_BattleTentLobby_Text_WelcomeToBattleTent, MSGBOX_DEFAULT +SlateportCity_BattleTentLobby_EventScript_AskEnterChallenge:: @ 82088CA + message SlateportCity_BattleTentLobby_Text_TakeChallenge waitmessage - multichoice 17, 6, 23, 0 + multichoice 17, 6, MULTI_CHALLENGEINFO, 0 switch VAR_RESULT - case 0, SlateportCity_BattleTentLobby_EventScript_208906 - case 1, SlateportCity_BattleTentLobby_EventScript_208A07 - case 2, SlateportCity_BattleTentLobby_EventScript_208A2E - case 127, SlateportCity_BattleTentLobby_EventScript_208A2E + case 0, SlateportCity_BattleTentLobby_EventScript_TryEnterChallenge + case 1, SlateportCity_BattleTentLobby_EventScript_ExplainChallenge + case 2, SlateportCity_BattleTentLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, SlateportCity_BattleTentLobby_EventScript_CancelChallenge -SlateportCity_BattleTentLobby_EventScript_208906:: @ 8208906 - setvar VAR_FRONTIER_FACILITY, 4 - setvar VAR_FRONTIER_BATTLE_MODE, 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 2 - special CallFrontierUtilFunc - msgbox SlateportCity_BattleTentLobby_Text_2C5B06, MSGBOX_YESNO +SlateportCity_BattleTentLobby_EventScript_TryEnterChallenge:: @ 8208906 + setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_FACTORY + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES + frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_TENT + msgbox SlateportCity_BattleTentLobby_Text_SaveBeforeChallenge, MSGBOX_YESNO switch VAR_RESULT - case 0, SlateportCity_BattleTentLobby_EventScript_208A2B - case 1, SlateportCity_BattleTentLobby_EventScript_208950 - case 127, SlateportCity_BattleTentLobby_EventScript_208A2B + case NO, SlateportCity_BattleTentLobby_EventScript_LoadPartyCancelChallenge + case YES, SlateportCity_BattleTentLobby_EventScript_SaveBeforeChallenge + case MULTI_B_PRESSED, SlateportCity_BattleTentLobby_EventScript_LoadPartyCancelChallenge -SlateportCity_BattleTentLobby_EventScript_208950:: @ 8208950 +SlateportCity_BattleTentLobby_EventScript_SaveBeforeChallenge:: @ 8208950 setvar VAR_TEMP_0, 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 4 - special CallFrontierUtilFunc - setvar VAR_0x8004, 0 - special sub_81B9D08 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_SELECTED_MON_ORDER + slateporttent_init + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING + frontier_set FRONTIER_DATA_PAUSED, FALSE closemessage delay 2 call Common_EventScript_SaveGame setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_if_eq SlateportCity_BattleTentLobby_EventScript_208A14 + goto_if_eq SlateportCity_BattleTentLobby_EventScript_CancelChallengeSaveFailed setvar VAR_0x8006, 0 - -SlateportCity_BattleTentLobby_EventScript_2089AC:: @ 82089AC - msgbox SlateportCity_BattleTentLobby_Text_2C5B8C, MSGBOX_DEFAULT +SlateportCity_BattleTentLobby_EventScript_EnterChallenge:: @ 82089AC + msgbox SlateportCity_BattleTentLobby_Text_StepThisWay, MSGBOX_DEFAULT closemessage - call SlateportCity_BattleTentLobby_EventScript_2089C9 + call SlateportCity_BattleTentLobby_EventScript_WalkToDoor warp MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 255, 2, 7 setvar VAR_TEMP_0, 0 waitstate end -SlateportCity_BattleTentLobby_EventScript_2089C9:: @ 82089C9 - applymovement 1, SlateportCity_BattleTentLobby_Movement_2089F8 - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentLobby_Movement_2089FF +SlateportCity_BattleTentLobby_EventScript_WalkToDoor:: @ 82089C9 + applymovement 1, SlateportCity_BattleTentLobby_Movement_AttendantWalkToDoor + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentLobby_Movement_PlayerWalkToDoor waitmovement 0 opendoor 6, 1 waitdooranim - applymovement 1, SlateportCity_BattleTentLobby_Movement_2089FC - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentLobby_Movement_208A03 + applymovement 1, SlateportCity_BattleTentLobby_Movement_AttendantEnterDoor + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentLobby_Movement_PlayerEnterDoor waitmovement 0 closedoor 6, 1 waitdooranim return -SlateportCity_BattleTentLobby_Movement_2089F8: @ 82089F8 +SlateportCity_BattleTentLobby_Movement_AttendantWalkToDoor: @ 82089F8 walk_up walk_up walk_up step_end -SlateportCity_BattleTentLobby_Movement_2089FC: @ 82089FC +SlateportCity_BattleTentLobby_Movement_AttendantEnterDoor: @ 82089FC walk_up set_invisible step_end -SlateportCity_BattleTentLobby_Movement_2089FF: @ 82089FF +SlateportCity_BattleTentLobby_Movement_PlayerWalkToDoor: @ 82089FF walk_up walk_up walk_up step_end -SlateportCity_BattleTentLobby_Movement_208A03: @ 8208A03 +SlateportCity_BattleTentLobby_Movement_PlayerEnterDoor: @ 8208A03 walk_up walk_up set_invisible step_end -SlateportCity_BattleTentLobby_EventScript_208A07:: @ 8208A07 - msgbox SlateportCity_BattleTentLobby_Text_2C589C, MSGBOX_DEFAULT - goto SlateportCity_BattleTentLobby_EventScript_2088CA +SlateportCity_BattleTentLobby_EventScript_ExplainChallenge:: @ 8208A07 + msgbox SlateportCity_BattleTentLobby_Text_ExplainSlateportTent, MSGBOX_DEFAULT + goto SlateportCity_BattleTentLobby_EventScript_AskEnterChallenge -SlateportCity_BattleTentLobby_EventScript_208A14:: @ 8208A14 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - goto SlateportCity_BattleTentLobby_EventScript_208A2E +SlateportCity_BattleTentLobby_EventScript_CancelChallengeSaveFailed:: @ 8208A14 + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 + goto SlateportCity_BattleTentLobby_EventScript_CancelChallenge -SlateportCity_BattleTentLobby_EventScript_208A2B:: @ 8208A2B +SlateportCity_BattleTentLobby_EventScript_LoadPartyCancelChallenge:: @ 8208A2B special LoadPlayerParty - -SlateportCity_BattleTentLobby_EventScript_208A2E:: @ 8208A2E - msgbox SlateportCity_BattleTentLobby_Text_2C5AA5, MSGBOX_DEFAULT +SlateportCity_BattleTentLobby_EventScript_CancelChallenge:: @ 8208A2E + msgbox SlateportCity_BattleTentLobby_Text_LookForwardToNextVisit, MSGBOX_DEFAULT release end -SlateportCity_BattleTentLobby_Movement_208A38:: @ 8208A38 +@ Unused +SlateportCity_BattleTentLobby_Movement_UnusedEnterDoor:: @ 8208A38 walk_up walk_up walk_up set_invisible step_end -SlateportCity_BattleTentLobby_EventScript_208A3D:: @ 8208A3D +SlateportCity_BattleTentLobby_EventScript_TormentGiver:: @ 8208A3D lock faceplayer - goto_if_set FLAG_RECEIVED_TM41, SlateportCity_BattleTentLobby_EventScript_208A74 - msgbox SlateportCity_BattleTentLobby_Text_208B4E, MSGBOX_DEFAULT - giveitem_std ITEM_TM41 - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_TM41, SlateportCity_BattleTentLobby_EventScript_ReceivedTorment + msgbox SlateportCity_BattleTentLobby_Text_CouldntFindMonForMe, MSGBOX_DEFAULT + giveitem ITEM_TM41 + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_TM41 - msgbox SlateportCity_BattleTentLobby_Text_208C5C, MSGBOX_DEFAULT + msgbox SlateportCity_BattleTentLobby_Text_ExplainTorment, MSGBOX_DEFAULT release end -SlateportCity_BattleTentLobby_EventScript_208A74:: @ 8208A74 - msgbox SlateportCity_BattleTentLobby_Text_208C5C, MSGBOX_DEFAULT +SlateportCity_BattleTentLobby_EventScript_ReceivedTorment:: @ 8208A74 + msgbox SlateportCity_BattleTentLobby_Text_ExplainTorment, MSGBOX_DEFAULT release end -SlateportCity_BattleTentLobby_EventScript_208A7E:: @ 8208A7E - msgbox SlateportCity_BattleTentLobby_Text_208D27, MSGBOX_NPC +SlateportCity_BattleTentLobby_EventScript_Man:: @ 8208A7E + msgbox SlateportCity_BattleTentLobby_Text_IllTryUsingBugMons, MSGBOX_NPC end -SlateportCity_BattleTentLobby_EventScript_208A87:: @ 8208A87 - msgbox SlateportCity_BattleTentLobby_Text_208DA6, MSGBOX_NPC +SlateportCity_BattleTentLobby_EventScript_Girl:: @ 8208A87 + msgbox SlateportCity_BattleTentLobby_Text_BattleEvenWithoutToughMons, MSGBOX_NPC end -SlateportCity_BattleTentLobby_EventScript_208A90:: @ 8208A90 - msgbox SlateportCity_BattleTentLobby_Text_208DF1, MSGBOX_NPC +SlateportCity_BattleTentLobby_EventScript_Woman:: @ 8208A90 + msgbox SlateportCity_BattleTentLobby_Text_NiceIfMoreSelection, MSGBOX_NPC end -SlateportCity_BattleTentLobby_EventScript_208A99:: @ 8208A99 +SlateportCity_BattleTentLobby_EventScript_RulesBoard:: @ 8208A99 lockall - msgbox SlateportCity_BattleTentLobby_Text_259721, MSGBOX_DEFAULT - goto SlateportCity_BattleTentLobby_EventScript_208AA8 + msgbox BattleFrontier_BattleFactoryLobby_Text_RulesAreListed, MSGBOX_DEFAULT + goto SlateportCity_BattleTentLobby_EventScript_ReadRulesBoard end -SlateportCity_BattleTentLobby_EventScript_208AA8:: @ 8208AA8 - message SlateportCity_BattleTentLobby_Text_259743 +SlateportCity_BattleTentLobby_EventScript_ReadRulesBoard:: @ 8208AA8 + message BattleFrontier_BattleFactoryLobby_Text_ReadWhichHeading waitmessage - multichoice 17, 0, 111, 0 + multichoice 17, 0, MULTI_SLATEPORT_TENT_RULES, 0 switch VAR_RESULT - case 0, SlateportCity_BattleTentLobby_EventScript_208B06 - case 1, SlateportCity_BattleTentLobby_EventScript_208B14 - case 2, SlateportCity_BattleTentLobby_EventScript_208B22 - case 3, SlateportCity_BattleTentLobby_EventScript_208B30 - case 4, SlateportCity_BattleTentLobby_EventScript_208B3E - case 5, SlateportCity_BattleTentLobby_EventScript_208B4C - case 127, SlateportCity_BattleTentLobby_EventScript_208B4C + case 0, SlateportCity_BattleTentLobby_EventScript_RulesBasics + case 1, SlateportCity_BattleTentLobby_EventScript_RulesSwapPartner + case 2, SlateportCity_BattleTentLobby_EventScript_RulesSwapNumber + case 3, SlateportCity_BattleTentLobby_EventScript_RulesSwapNotes + case 4, SlateportCity_BattleTentLobby_EventScript_RulesMons + case 5, SlateportCity_BattleTentLobby_EventScript_ExitRules + case MULTI_B_PRESSED, SlateportCity_BattleTentLobby_EventScript_ExitRules end -SlateportCity_BattleTentLobby_EventScript_208B06:: @ 8208B06 - msgbox SlateportCity_BattleTentLobby_Text_2C5F08, MSGBOX_DEFAULT - goto SlateportCity_BattleTentLobby_EventScript_208AA8 +SlateportCity_BattleTentLobby_EventScript_RulesBasics:: @ 8208B06 + msgbox SlateportCity_BattleTentLobby_Text_ExplainBasicRules, MSGBOX_DEFAULT + goto SlateportCity_BattleTentLobby_EventScript_ReadRulesBoard end -SlateportCity_BattleTentLobby_EventScript_208B14:: @ 8208B14 - msgbox SlateportCity_BattleTentLobby_Text_2C5F9D, MSGBOX_DEFAULT - goto SlateportCity_BattleTentLobby_EventScript_208AA8 +SlateportCity_BattleTentLobby_EventScript_RulesSwapPartner:: @ 8208B14 + msgbox SlateportCity_BattleTentLobby_Text_ExplainSwapPartnerRules, MSGBOX_DEFAULT + goto SlateportCity_BattleTentLobby_EventScript_ReadRulesBoard end -SlateportCity_BattleTentLobby_EventScript_208B22:: @ 8208B22 - msgbox SlateportCity_BattleTentLobby_Text_2C6020, MSGBOX_DEFAULT - goto SlateportCity_BattleTentLobby_EventScript_208AA8 +SlateportCity_BattleTentLobby_EventScript_RulesSwapNumber:: @ 8208B22 + msgbox SlateportCity_BattleTentLobby_Text_ExplainSwapNumberRules, MSGBOX_DEFAULT + goto SlateportCity_BattleTentLobby_EventScript_ReadRulesBoard end -SlateportCity_BattleTentLobby_EventScript_208B30:: @ 8208B30 - msgbox SlateportCity_BattleTentLobby_Text_2C60C0, MSGBOX_DEFAULT - goto SlateportCity_BattleTentLobby_EventScript_208AA8 +SlateportCity_BattleTentLobby_EventScript_RulesSwapNotes:: @ 8208B30 + msgbox SlateportCity_BattleTentLobby_Text_ExplainSwapNotes, MSGBOX_DEFAULT + goto SlateportCity_BattleTentLobby_EventScript_ReadRulesBoard end -SlateportCity_BattleTentLobby_EventScript_208B3E:: @ 8208B3E - msgbox SlateportCity_BattleTentLobby_Text_2C61FE, MSGBOX_DEFAULT - goto SlateportCity_BattleTentLobby_EventScript_208AA8 +SlateportCity_BattleTentLobby_EventScript_RulesMons:: @ 8208B3E + msgbox SlateportCity_BattleTentLobby_Text_ExplainMonRules, MSGBOX_DEFAULT + goto SlateportCity_BattleTentLobby_EventScript_ReadRulesBoard end -SlateportCity_BattleTentLobby_EventScript_208B4C:: @ 8208B4C +SlateportCity_BattleTentLobby_EventScript_ExitRules:: @ 8208B4C releaseall end -SlateportCity_BattleTentLobby_Text_208B4E: @ 8208B4E +SlateportCity_BattleTentLobby_Text_CouldntFindMonForMe: @ 8208B4E .string "So, like, I couldn't find myself any\n" .string "POKéMON that were, like, for me.\p" .string "So, I figured, like, hey, I should file\n" @@ -331,7 +285,7 @@ SlateportCity_BattleTentLobby_Text_208B4E: @ 8208B4E .string "Hey, like, you! Zip it, you know?\n" .string "Just, you know, take this!$" -SlateportCity_BattleTentLobby_Text_208C5C: @ 8208C5C +SlateportCity_BattleTentLobby_Text_ExplainTorment: @ 8208C5C .string "That's, like, TM41, you know?\n" .string "Hey, it's TORMENT, you hearing me?\p" .string "Like, it won't let the other guy\n" @@ -339,18 +293,18 @@ SlateportCity_BattleTentLobby_Text_208C5C: @ 8208C5C .string "Hey, now, you listen here, like,\n" .string "I'm not laying a torment on you!$" -SlateportCity_BattleTentLobby_Text_208D27: @ 8208D27 +SlateportCity_BattleTentLobby_Text_IllTryUsingBugMons: @ 8208D27 .string "I don't really like BUG POKéMON,\n" .string "but maybe I'll try using some for\l" .string "a change of pace.\p" .string "Who knows, I might even get to like\n" .string "them!$" -SlateportCity_BattleTentLobby_Text_208DA6: @ 8208DA6 +SlateportCity_BattleTentLobby_Text_BattleEvenWithoutToughMons: @ 8208DA6 .string "You can battle all you want here even\n" .string "if you don't have any tough POKéMON.$" -SlateportCity_BattleTentLobby_Text_208DF1: @ 8208DF1 +SlateportCity_BattleTentLobby_Text_NiceIfMoreSelection: @ 8208DF1 .string "Wouldn't it be nice if they had more of\n" .string "a selection?$" diff --git a/data/maps/SlateportCity_Harbor/map.json b/data/maps/SlateportCity_Harbor/map.json index c61c5a5e66..c9aaf1d7a1 100644 --- a/data/maps/SlateportCity_Harbor/map.json +++ b/data/maps/SlateportCity_Harbor/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_Harbor_EventScript_20CAF1", + "script": "SlateportCity_Harbor_EventScript_FerryAttendant", "flag": "FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_Harbor_EventScript_20CC52", + "script": "SlateportCity_Harbor_EventScript_Sailor", "flag": "FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_Harbor_EventScript_20CC99", + "script": "SlateportCity_Harbor_EventScript_FatMan", "flag": "FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_Harbor_EventScript_20CCA2", + "script": "SlateportCity_Harbor_EventScript_CaptStern", "flag": "FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN" }, { @@ -157,7 +157,7 @@ "elevation": 3, "var": "VAR_SLATEPORT_HARBOR_STATE", "var_value": "1", - "script": "SlateportCity_Harbor_EventScript_20C9BB" + "script": "SlateportCity_Harbor_EventScript_AquaEscapeTrigger0" }, { "type": "trigger", @@ -166,7 +166,7 @@ "elevation": 3, "var": "VAR_SLATEPORT_HARBOR_STATE", "var_value": "1", - "script": "SlateportCity_Harbor_EventScript_20C9C7" + "script": "SlateportCity_Harbor_EventScript_AquaEscapeTrigger1" }, { "type": "trigger", @@ -175,7 +175,7 @@ "elevation": 3, "var": "VAR_SLATEPORT_HARBOR_STATE", "var_value": "1", - "script": "SlateportCity_Harbor_EventScript_20C9D3" + "script": "SlateportCity_Harbor_EventScript_AquaEscapeTrigger2" }, { "type": "trigger", @@ -184,7 +184,7 @@ "elevation": 3, "var": "VAR_SLATEPORT_HARBOR_STATE", "var_value": "1", - "script": "SlateportCity_Harbor_EventScript_20C9DF" + "script": "SlateportCity_Harbor_EventScript_AquaEscapeTrigger3" } ], "bg_events": [] diff --git a/data/maps/SlateportCity_Harbor/scripts.inc b/data/maps/SlateportCity_Harbor/scripts.inc index c46923bb07..39025033e1 100644 --- a/data/maps/SlateportCity_Harbor/scripts.inc +++ b/data/maps/SlateportCity_Harbor/scripts.inc @@ -6,58 +6,58 @@ SlateportCity_Harbor_OnTransition: @ 820C983 setescapewarp MAP_SLATEPORT_CITY, 255, 28, 13 setvar VAR_TEMP_1, 0 compare VAR_SLATEPORT_HARBOR_STATE, 1 - call_if_eq SlateportCity_Harbor_EventScript_20C9A9 - call_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_20C9A5 + call_if_eq SlateportCity_Harbor_EventScript_ReadyAquaEscapeScene + call_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_ShowSSTidal end -SlateportCity_Harbor_EventScript_20C9A5:: @ 820C9A5 +SlateportCity_Harbor_EventScript_ShowSSTidal:: @ 820C9A5 clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL return -SlateportCity_Harbor_EventScript_20C9A9:: @ 820C9A9 +SlateportCity_Harbor_EventScript_ReadyAquaEscapeScene:: @ 820C9A9 savebgm MUS_AQA_0 setobjectxyperm 4, 12, 13 setobjectmovementtype 4, MOVEMENT_TYPE_FACE_LEFT setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS return -SlateportCity_Harbor_EventScript_20C9BB:: @ 820C9BB +SlateportCity_Harbor_EventScript_AquaEscapeTrigger0:: @ 820C9BB lockall setvar VAR_0x8008, 0 - goto SlateportCity_Harbor_EventScript_20C9F5 + goto SlateportCity_Harbor_EventScript_AquaEscapeScene end -SlateportCity_Harbor_EventScript_20C9C7:: @ 820C9C7 +SlateportCity_Harbor_EventScript_AquaEscapeTrigger1:: @ 820C9C7 lockall setvar VAR_0x8008, 1 - goto SlateportCity_Harbor_EventScript_20C9F5 + goto SlateportCity_Harbor_EventScript_AquaEscapeScene end -SlateportCity_Harbor_EventScript_20C9D3:: @ 820C9D3 +SlateportCity_Harbor_EventScript_AquaEscapeTrigger2:: @ 820C9D3 lockall setvar VAR_0x8008, 2 - goto SlateportCity_Harbor_EventScript_20C9F5 + goto SlateportCity_Harbor_EventScript_AquaEscapeScene end -SlateportCity_Harbor_EventScript_20C9DF:: @ 820C9DF +SlateportCity_Harbor_EventScript_AquaEscapeTrigger3:: @ 820C9DF lockall setvar VAR_0x8008, 3 - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_20CAEF + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_PlayerWalkUp waitmovement 0 - goto SlateportCity_Harbor_EventScript_20C9F5 + goto SlateportCity_Harbor_EventScript_AquaEscapeScene end -SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5 - applymovement 7, Common_Movement_WalkInPlaceDown +SlateportCity_Harbor_EventScript_AquaEscapeScene:: @ 820C9F5 + applymovement 7, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - applymovement 6, Common_Movement_WalkInPlaceDown - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement 6, Common_Movement_WalkInPlaceFastestDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox SlateportCity_Harbor_Text_20D291, MSGBOX_DEFAULT + msgbox SlateportCity_Harbor_Text_ArchieYouAgainHideoutInLilycove, MSGBOX_DEFAULT closemessage - applymovement 6, SlateportCity_Harbor_Movement_20CAC8 - applymovement 7, SlateportCity_Harbor_Movement_20CAC8 - applymovement 8, SlateportCity_Harbor_Movement_20CAD2 + applymovement 6, SlateportCity_Harbor_Movement_AquaBoardSub + applymovement 7, SlateportCity_Harbor_Movement_AquaBoardSub + applymovement 8, SlateportCity_Harbor_Movement_SubmarineExit waitmovement 0 removeobject 6 removeobject 7 @@ -66,14 +66,14 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5 setflag FLAG_MET_TEAM_AQUA_HARBOR setflag FLAG_HIDE_LILCOVE_MOTEL_SCOTT compare VAR_0x8008, 0 - call_if_eq SlateportCity_Harbor_EventScript_20CA89 + call_if_eq SlateportCity_Harbor_EventScript_SternApproachPlayer0 compare VAR_0x8008, 1 - call_if_eq SlateportCity_Harbor_EventScript_20CA9E + call_if_eq SlateportCity_Harbor_EventScript_SternApproachPlayer1 compare VAR_0x8008, 2 - call_if_eq SlateportCity_Harbor_EventScript_20CAB3 + call_if_eq SlateportCity_Harbor_EventScript_SternApproachPlayer compare VAR_0x8008, 3 - call_if_eq SlateportCity_Harbor_EventScript_20CAB3 - msgbox SlateportCity_Harbor_Text_20D35A, MSGBOX_DEFAULT + call_if_eq SlateportCity_Harbor_EventScript_SternApproachPlayer + msgbox SlateportCity_Harbor_Text_CaptSternWhyStealMySubmarine, MSGBOX_DEFAULT closemessage setflag FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE setflag FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE @@ -82,42 +82,43 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5 releaseall end -SlateportCity_Harbor_EventScript_20CA89:: @ 820CA89 - applymovement 4, SlateportCity_Harbor_Movement_20CAE0 +SlateportCity_Harbor_EventScript_SternApproachPlayer0:: @ 820CA89 + applymovement 4, SlateportCity_Harbor_Movement_SternApproachPlayer0 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 return -SlateportCity_Harbor_EventScript_20CA9E:: @ 820CA9E - applymovement 4, SlateportCity_Harbor_Movement_20CAE6 +SlateportCity_Harbor_EventScript_SternApproachPlayer1:: @ 820CA9E + applymovement 4, SlateportCity_Harbor_Movement_SternApproachPlayer1 waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -SlateportCity_Harbor_EventScript_20CAB3:: @ 820CAB3 - applymovement 4, SlateportCity_Harbor_Movement_20CAEB +SlateportCity_Harbor_EventScript_SternApproachPlayer:: @ 820CAB3 + applymovement 4, SlateportCity_Harbor_Movement_SternApproachPlayer waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -SlateportCity_Harbor_Movement_20CAC8: @ 820CAC8 +SlateportCity_Harbor_Movement_AquaBoardSub: @ 820CAC8 delay_16 delay_16 jump_up set_invisible step_end -SlateportCity_Harbor_Movement_20CACD: @ 820CACD +@ Unused, Archie instead shares above identical movement script with Grunt +SlateportCity_Harbor_Movement_ArchieBoardSub: @ 820CACD delay_16 delay_16 jump_up set_invisible step_end -SlateportCity_Harbor_Movement_20CAD2: @ 820CAD2 +SlateportCity_Harbor_Movement_SubmarineExit: @ 820CAD2 delay_16 delay_16 delay_16 @@ -133,7 +134,7 @@ SlateportCity_Harbor_Movement_20CAD2: @ 820CAD2 walk_fast_right step_end -SlateportCity_Harbor_Movement_20CAE0: @ 820CAE0 +SlateportCity_Harbor_Movement_SternApproachPlayer0: @ 820CAE0 walk_left walk_left walk_left @@ -141,305 +142,305 @@ SlateportCity_Harbor_Movement_20CAE0: @ 820CAE0 walk_up step_end -SlateportCity_Harbor_Movement_20CAE6: @ 820CAE6 +SlateportCity_Harbor_Movement_SternApproachPlayer1: @ 820CAE6 walk_left walk_left walk_up walk_left step_end -SlateportCity_Harbor_Movement_20CAEB: @ 820CAEB +SlateportCity_Harbor_Movement_SternApproachPlayer: @ 820CAEB walk_left walk_left walk_left step_end -SlateportCity_Harbor_Movement_20CAEF: @ 820CAEF +SlateportCity_Harbor_Movement_PlayerWalkUp: @ 820CAEF walk_up step_end -SlateportCity_Harbor_EventScript_20CAF1:: @ 820CAF1 +SlateportCity_Harbor_EventScript_FerryAttendant:: @ 820CAF1 lock faceplayer - goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_20CB06 - msgbox SlateportCity_Harbor_Text_20CE20, MSGBOX_DEFAULT + goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_AskForTicket + msgbox SlateportCity_Harbor_Text_FerryServiceUnavailable, MSGBOX_DEFAULT release end -SlateportCity_Harbor_EventScript_20CB06:: @ 820CB06 - msgbox SlateportCity_Harbor_Text_20CE87, MSGBOX_DEFAULT - message SlateportCity_Harbor_Text_20CF1C +SlateportCity_Harbor_EventScript_AskForTicket:: @ 820CB06 + msgbox SlateportCity_Harbor_Text_MayISeeYourTicket, MSGBOX_DEFAULT + message SlateportCity_Harbor_Text_FlashedTicketWhereTo waitmessage - goto SlateportCity_Harbor_EventScript_20CB1A + goto SlateportCity_Harbor_EventScript_ChooseDestination end -SlateportCity_Harbor_EventScript_20CB1A:: @ 820CB1A - goto_if_set FLAG_MET_SCOTT_ON_SS_TIDAL, SlateportCity_Harbor_EventScript_20CB50 - multichoicedefault 18, 8, 56, 2, 0 +SlateportCity_Harbor_EventScript_ChooseDestination:: @ 820CB1A + goto_if_set FLAG_MET_SCOTT_ON_SS_TIDAL, SlateportCity_Harbor_EventScript_ChooseDestinationWithBattleFrontier + multichoicedefault 18, 8, MULTI_SSTIDAL_SLATEPORT_NO_BF, 2, 0 switch VAR_RESULT - case 0, SlateportCity_Harbor_EventScript_20CB92 - case 1, SlateportCity_Harbor_EventScript_20CC2D - case 127, SlateportCity_Harbor_EventScript_20CC2D + case 0, SlateportCity_Harbor_EventScript_Lilycove + case 1, SlateportCity_Harbor_EventScript_CancelDestinationSelect + case MULTI_B_PRESSED, SlateportCity_Harbor_EventScript_CancelDestinationSelect end -SlateportCity_Harbor_EventScript_20CB50:: @ 820CB50 - multichoicedefault 17, 6, 52, 2, 0 +SlateportCity_Harbor_EventScript_ChooseDestinationWithBattleFrontier:: @ 820CB50 + multichoicedefault 17, 6, MULTI_SSTIDAL_SLATEPORT_WITH_BF, 2, 0 switch VAR_RESULT - case 0, SlateportCity_Harbor_EventScript_20CB92 - case 1, SlateportCity_Harbor_EventScript_20CBBA - case 2, SlateportCity_Harbor_EventScript_20CC2D - case 127, SlateportCity_Harbor_EventScript_20CC2D + case 0, SlateportCity_Harbor_EventScript_Lilycove + case 1, SlateportCity_Harbor_EventScript_BattleFrontier + case 2, SlateportCity_Harbor_EventScript_CancelDestinationSelect + case MULTI_B_PRESSED, SlateportCity_Harbor_EventScript_CancelDestinationSelect end -SlateportCity_Harbor_EventScript_20CB88:: @ 820CB88 - msgbox SlateportCity_Harbor_Text_20CEC1, MSGBOX_DEFAULT +@ Unused. Should be impossible for player to reach Ferry without having received SS Tidal ticket +SlateportCity_Harbor_EventScript_NoTicket:: @ 820CB88 + msgbox SlateportCity_Harbor_Text_YouMustHaveTicket, MSGBOX_DEFAULT release end -SlateportCity_Harbor_EventScript_20CB92:: @ 820CB92 - msgbox SlateportCity_Harbor_Text_20CF93, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_Harbor_EventScript_20CBDD - setvar VAR_PORTHOLE_STATE, 1 - call SlateportCity_Harbor_EventScript_20CBE9 +SlateportCity_Harbor_EventScript_Lilycove:: @ 820CB92 + msgbox SlateportCity_Harbor_Text_LilycoveItIs, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SlateportCity_Harbor_EventScript_ChooseNewDestination + setvar VAR_SS_TIDAL_STATE, SS_TIDAL_BOARD_SLATEPORT + call SlateportCity_Harbor_EventScript_BoardFerry warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10 waitstate release end -SlateportCity_Harbor_EventScript_20CBBA:: @ 820CBBA - msgbox SlateportCity_Harbor_Text_20CFAE, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_Harbor_EventScript_20CBDD - call SlateportCity_Harbor_EventScript_20CBE9 +SlateportCity_Harbor_EventScript_BattleFrontier:: @ 820CBBA + msgbox SlateportCity_Harbor_Text_BattleFrontierItIs, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SlateportCity_Harbor_EventScript_ChooseNewDestination + call SlateportCity_Harbor_EventScript_BoardFerry warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67 waitstate release end -SlateportCity_Harbor_EventScript_20CBDD:: @ 820CBDD - message SlateportCity_Harbor_Text_20CFFA +SlateportCity_Harbor_EventScript_ChooseNewDestination:: @ 820CBDD + message SlateportCity_Harbor_Text_WhereWouldYouLikeToGo waitmessage - goto SlateportCity_Harbor_EventScript_20CB1A + goto SlateportCity_Harbor_EventScript_ChooseDestination end -SlateportCity_Harbor_EventScript_20CBE9:: @ 820CBE9 - msgbox SlateportCity_Harbor_Text_20CFCB, MSGBOX_DEFAULT +SlateportCity_Harbor_EventScript_BoardFerry:: @ 820CBE9 + msgbox SlateportCity_Harbor_Text_PleaseBoardFerry, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceUp + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestUp waitmovement 0 delay 30 hideobjectat VAR_LAST_TALKED, MAP_SLATEPORT_CITY_HARBOR - compare VAR_FACING, 2 - call_if_eq SlateportCity_Harbor_EventScript_20CC42 - compare VAR_FACING, 4 - call_if_eq SlateportCity_Harbor_EventScript_20CC37 + compare VAR_FACING, DIR_NORTH + call_if_eq SlateportCity_Harbor_EventScript_BoardFerryNorth + compare VAR_FACING, DIR_EAST + call_if_eq SlateportCity_Harbor_EventScript_BoardFerryEast delay 30 - hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, 0 setvar VAR_0x8004, 5 - call SlateportCity_Harbor_EventScript_2721E2 + call Common_EventScript_FerryDepart return -SlateportCity_Harbor_EventScript_20CC2D:: @ 820CC2D - msgbox SlateportCity_Harbor_Text_20CF71, MSGBOX_DEFAULT +SlateportCity_Harbor_EventScript_CancelDestinationSelect:: @ 820CC2D + msgbox SlateportCity_Harbor_Text_SailAnotherTime, MSGBOX_DEFAULT release end -SlateportCity_Harbor_EventScript_20CC37:: @ 820CC37 - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_20CC4D +SlateportCity_Harbor_EventScript_BoardFerryEast:: @ 820CC37 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_BoardFerryEast waitmovement 0 return -SlateportCity_Harbor_EventScript_20CC42:: @ 820CC42 - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_20CC50 +SlateportCity_Harbor_EventScript_BoardFerryNorth:: @ 820CC42 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_BoardFerryNorth waitmovement 0 return -SlateportCity_Harbor_Movement_20CC4D: @ 820CC4D +SlateportCity_Harbor_Movement_BoardFerryEast: @ 820CC4D walk_right walk_in_place_fastest_up step_end -SlateportCity_Harbor_Movement_20CC50: @ 820CC50 +SlateportCity_Harbor_Movement_BoardFerryNorth: @ 820CC50 walk_up step_end -SlateportCity_Harbor_EventScript_20CC52:: @ 820CC52 +SlateportCity_Harbor_EventScript_Sailor:: @ 820CC52 lock faceplayer - goto_if_unset FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_20CC89 + goto_if_unset FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_SailorNoAbnormalWeather setvar VAR_0x8004, 0 - call_if_set FLAG_DEFEATED_KYOGRE, SlateportCity_Harbor_EventScript_20CC93 - call_if_set FLAG_DEFEATED_GROUDON, SlateportCity_Harbor_EventScript_20CC93 - compare VAR_0x8004, 2 - goto_if_eq SlateportCity_Harbor_EventScript_20CC89 - msgbox SlateportCity_Harbor_Text_20D08E, MSGBOX_DEFAULT + call_if_set FLAG_DEFEATED_KYOGRE, SlateportCity_Harbor_EventScript_CountDefeatedLegendary + call_if_set FLAG_DEFEATED_GROUDON, SlateportCity_Harbor_EventScript_CountDefeatedLegendary + compare VAR_0x8004, 2 @ Defeated both + goto_if_eq SlateportCity_Harbor_EventScript_SailorNoAbnormalWeather + msgbox SlateportCity_Harbor_Text_AbnormalWeather, MSGBOX_DEFAULT release end -SlateportCity_Harbor_EventScript_20CC89:: @ 820CC89 - msgbox SlateportCity_Harbor_Text_20D01C, MSGBOX_DEFAULT +SlateportCity_Harbor_EventScript_SailorNoAbnormalWeather:: @ 820CC89 + msgbox SlateportCity_Harbor_Text_LoveToGoDeepUnderwaterSomeday, MSGBOX_DEFAULT release end -SlateportCity_Harbor_EventScript_20CC93:: @ 820CC93 +SlateportCity_Harbor_EventScript_CountDefeatedLegendary:: @ 820CC93 addvar VAR_0x8004, 1 return -SlateportCity_Harbor_EventScript_20CC99:: @ 820CC99 - msgbox SlateportCity_Harbor_Text_20D194, MSGBOX_NPC +SlateportCity_Harbor_EventScript_FatMan:: @ 820CC99 + msgbox SlateportCity_Harbor_Text_SubTooSmallForMe, MSGBOX_NPC end -SlateportCity_Harbor_EventScript_20CCA2:: @ 820CCA2 +SlateportCity_Harbor_EventScript_CaptStern:: @ 820CCA2 lock faceplayer - goto_if_set FLAG_BADGE07_GET, SlateportCity_Harbor_EventScript_20CD00 - goto_if_set FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE, SlateportCity_Harbor_EventScript_20CCF6 - goto_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, SlateportCity_Harbor_EventScript_20CCE9 + goto_if_set FLAG_BADGE07_GET, SlateportCity_Harbor_EventScript_CaptSternFerryOrScannerComment + goto_if_set FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE, SlateportCity_Harbor_EventScript_NeedDive + goto_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, SlateportCity_Harbor_EventScript_TeamAquaLeftNeedDive compare VAR_SLATEPORT_HARBOR_STATE, 2 - goto_if_eq SlateportCity_Harbor_EventScript_20CCDF - msgbox SlateportCity_Harbor_Text_20D232, MSGBOX_DEFAULT + goto_if_eq SlateportCity_Harbor_EventScript_WhyStealSubmarine + msgbox SlateportCity_Harbor_Text_SameThugsTriedToRobAtMuseum, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -SlateportCity_Harbor_EventScript_20CCDF:: @ 820CCDF - msgbox SlateportCity_Harbor_Text_20D35A, MSGBOX_DEFAULT +SlateportCity_Harbor_EventScript_WhyStealSubmarine:: @ 820CCDF + msgbox SlateportCity_Harbor_Text_CaptSternWhyStealMySubmarine, MSGBOX_DEFAULT release end -SlateportCity_Harbor_EventScript_20CCE9:: @ 820CCE9 +SlateportCity_Harbor_EventScript_TeamAquaLeftNeedDive:: @ 820CCE9 setflag FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE - msgbox SlateportCity_Harbor_Text_20D42B, MSGBOX_DEFAULT + msgbox SlateportCity_Harbor_Text_TeamAquaLeftNeedDive, MSGBOX_DEFAULT release end -SlateportCity_Harbor_EventScript_20CCF6:: @ 820CCF6 - msgbox SlateportCity_Harbor_Text_20D58A, MSGBOX_DEFAULT +SlateportCity_Harbor_EventScript_NeedDive:: @ 820CCF6 + msgbox SlateportCity_Harbor_Text_NeedDiveToCatchSub, MSGBOX_DEFAULT release end -SlateportCity_Harbor_EventScript_20CD00:: @ 820CD00 +SlateportCity_Harbor_EventScript_CaptSternFerryOrScannerComment:: @ 820CD00 compare VAR_TEMP_1, 1 - goto_if_eq SlateportCity_Harbor_EventScript_20CE11 + goto_if_eq SlateportCity_Harbor_EventScript_TradedScanner checkitem ITEM_SCANNER, 1 - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_Harbor_EventScript_20CD38 - goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_20CD2E - msgbox SlateportCity_Harbor_Text_20D65C, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq SlateportCity_Harbor_EventScript_AskToTradeScanner + goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_FerryFinished + msgbox SlateportCity_Harbor_Text_WontBeLongBeforeWeFinishFerry, MSGBOX_DEFAULT release end -SlateportCity_Harbor_EventScript_20CD2E:: @ 820CD2E - msgbox SlateportCity_Harbor_Text_20D6CB, MSGBOX_DEFAULT +SlateportCity_Harbor_EventScript_FerryFinished:: @ 820CD2E + msgbox SlateportCity_Harbor_Text_FinishedMakingFerry, MSGBOX_DEFAULT release end -SlateportCity_Harbor_EventScript_20CD38:: @ 820CD38 - message SlateportCity_Harbor_Text_20D76C +SlateportCity_Harbor_EventScript_AskToTradeScanner:: @ 820CD38 + message SlateportCity_Harbor_Text_WouldYouTradeScanner waitmessage - goto SlateportCity_Harbor_EventScript_20CD44 + goto SlateportCity_Harbor_EventScript_ChooseScannerTrade end -SlateportCity_Harbor_EventScript_20CD44:: @ 820CD44 - multichoice 0, 0, 46, 0 +SlateportCity_Harbor_EventScript_ChooseScannerTrade:: @ 820CD44 + multichoice 0, 0, MULTI_STERN_DEEPSEA, 0 switch VAR_RESULT - case 0, SlateportCity_Harbor_EventScript_20CD7B - case 1, SlateportCity_Harbor_EventScript_20CDBB - case 2, SlateportCity_Harbor_EventScript_20CDFB - case 127, SlateportCity_Harbor_EventScript_20CDFB + case 0, SlateportCity_Harbor_EventScript_DeepSeaTooth + case 1, SlateportCity_Harbor_EventScript_DeepSeaScale + case 2, SlateportCity_Harbor_EventScript_DeclineTrade + case MULTI_B_PRESSED, SlateportCity_Harbor_EventScript_DeclineTrade end -SlateportCity_Harbor_EventScript_20CD7B:: @ 820CD7B - msgbox SlateportCity_Harbor_Text_20D8BC, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_Harbor_EventScript_20CE05 - giveitem_std ITEM_DEEP_SEA_TOOTH - compare VAR_RESULT, 0 +SlateportCity_Harbor_EventScript_DeepSeaTooth:: @ 820CD7B + msgbox SlateportCity_Harbor_Text_TradeForDeepSeaTooth, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SlateportCity_Harbor_EventScript_ChooseDifferentTrade + giveitem ITEM_DEEP_SEA_TOOTH + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull - takeitem ITEM_SCANNER, 1 - msgbox SlateportCity_Harbor_Text_20D94A, MSGBOX_DEFAULT + removeitem ITEM_SCANNER + msgbox SlateportCity_Harbor_Text_HandedScannerToStern, MSGBOX_DEFAULT setflag FLAG_EXCHANGED_SCANNER - goto SlateportCity_Harbor_EventScript_20CE11 + goto SlateportCity_Harbor_EventScript_TradedScanner end -SlateportCity_Harbor_EventScript_20CDBB:: @ 820CDBB - msgbox SlateportCity_Harbor_Text_20D8F1, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_Harbor_EventScript_20CE05 - giveitem_std ITEM_DEEP_SEA_SCALE - compare VAR_RESULT, 0 +SlateportCity_Harbor_EventScript_DeepSeaScale:: @ 820CDBB + msgbox SlateportCity_Harbor_Text_TradeForDeepSeaScale, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SlateportCity_Harbor_EventScript_ChooseDifferentTrade + giveitem ITEM_DEEP_SEA_SCALE + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull - takeitem ITEM_SCANNER, 1 - msgbox SlateportCity_Harbor_Text_20D94A, MSGBOX_DEFAULT + removeitem ITEM_SCANNER + msgbox SlateportCity_Harbor_Text_HandedScannerToStern, MSGBOX_DEFAULT setflag FLAG_EXCHANGED_SCANNER - goto SlateportCity_Harbor_EventScript_20CE11 + goto SlateportCity_Harbor_EventScript_TradedScanner end -SlateportCity_Harbor_EventScript_20CDFB:: @ 820CDFB - msgbox SlateportCity_Harbor_Text_20D841, MSGBOX_DEFAULT +SlateportCity_Harbor_EventScript_DeclineTrade:: @ 820CDFB + msgbox SlateportCity_Harbor_Text_IfYouWantToTradeLetMeKnow, MSGBOX_DEFAULT release end -SlateportCity_Harbor_EventScript_20CE05:: @ 820CE05 - message SlateportCity_Harbor_Text_20D926 +SlateportCity_Harbor_EventScript_ChooseDifferentTrade:: @ 820CE05 + message SlateportCity_Harbor_Text_WhichOneDoYouWant waitmessage - goto SlateportCity_Harbor_EventScript_20CD44 + goto SlateportCity_Harbor_EventScript_ChooseScannerTrade end -SlateportCity_Harbor_EventScript_20CE11:: @ 820CE11 +SlateportCity_Harbor_EventScript_TradedScanner:: @ 820CE11 setvar VAR_TEMP_1, 1 - msgbox SlateportCity_Harbor_Text_20D970, MSGBOX_DEFAULT + msgbox SlateportCity_Harbor_Text_ThisWillHelpResearch, MSGBOX_DEFAULT release end -SlateportCity_Harbor_Text_20CE20: @ 820CE20 +SlateportCity_Harbor_Text_FerryServiceUnavailable: @ 820CE20 .string "I beg your pardon?\n" .string "You're looking for a ship?\p" .string "I'm sorry, the ferry service isn't\n" .string "available at present…$" -SlateportCity_Harbor_Text_20CE87: @ 820CE87 +SlateportCity_Harbor_Text_MayISeeYourTicket: @ 820CE87 .string "Hello, are you here for the ferry?\n" .string "May I see your TICKET?$" - -SlateportCity_Harbor_Text_20CEC1: @ 820CEC1 +SlateportCity_Harbor_Text_YouMustHaveTicket: @ 820CEC1 .string "{PLAYER} doesn't have the TICKET…\p" .string "I'm terribly sorry.\p" .string "You must have a TICKET to board\n" .string "the ferry.$" -SlateportCity_Harbor_Text_20CF1C: @ 820CF1C +SlateportCity_Harbor_Text_FlashedTicketWhereTo: @ 820CF1C .string "{PLAYER} flashed the TICKET.\p" .string "Perfect! That's all you need!\p" .string "And where would you like to go?$" -SlateportCity_Harbor_Text_20CF71: @ 820CF71 +SlateportCity_Harbor_Text_SailAnotherTime: @ 820CF71 .string "Please sail with us another time!$" -SlateportCity_Harbor_Text_20CF93: @ 820CF93 +SlateportCity_Harbor_Text_LilycoveItIs: @ 820CF93 .string "LILYCOVE CITY it is, then!$" -SlateportCity_Harbor_Text_20CFAE: @ 820CFAE +SlateportCity_Harbor_Text_BattleFrontierItIs: @ 820CFAE .string "BATTLE FRONTIER it is, then!$" -SlateportCity_Harbor_Text_20CFCB: @ 820CFCB +SlateportCity_Harbor_Text_PleaseBoardFerry: @ 820CFCB .string "Please board the ferry and wait for\n" .string "departure.$" -SlateportCity_Harbor_Text_20CFFA: @ 820CFFA +SlateportCity_Harbor_Text_WhereWouldYouLikeToGo: @ 820CFFA .string "Then, where would you like to go?$" -SlateportCity_Harbor_Text_20D01C: @ 820D01C +SlateportCity_Harbor_Text_LoveToGoDeepUnderwaterSomeday: @ 820D01C .string "A journey to the bottom of the sea…\n" .string "I wonder what it'd be like?\p" .string "I'd love to go deep underwater like\n" .string "that someday.$" -SlateportCity_Harbor_Text_20D08E: @ 820D08E +SlateportCity_Harbor_Text_AbnormalWeather: @ 820D08E .string "For a ship to sail safely, we need to\n" .string "know about the weather!\p" .string "Speaking of weather, I heard something\n" @@ -449,19 +450,19 @@ SlateportCity_Harbor_Text_20D08E: @ 820D08E .string "You should visit the WEATHER INSTITUTE\n" .string "and ask around!$" -SlateportCity_Harbor_Text_20D194: @ 820D194 +SlateportCity_Harbor_Text_SubTooSmallForMe: @ 820D194 .string "I wanted to go with CAPT. STERN on\n" .string "the ocean floor exploration.\p" .string "But the sub's too small for me.\p" .string "If I squeezed in, there wouldn't be\n" .string "any room for the CAPTAIN…$" -SlateportCity_Harbor_Text_20D232: @ 820D232 +SlateportCity_Harbor_Text_SameThugsTriedToRobAtMuseum: @ 820D232 .string "CAPT. STERN: Those thugs…\p" .string "They're the same lot who tried to rob\n" .string "the DEVON GOODS at the MUSEUM.$" -SlateportCity_Harbor_Text_20D291: @ 820D291 +SlateportCity_Harbor_Text_ArchieYouAgainHideoutInLilycove: @ 820D291 .string "ARCHIE: Oh?\n" .string "Not you again…\p" .string "You are tenacious to track us here,\n" @@ -472,7 +473,7 @@ SlateportCity_Harbor_Text_20D291: @ 820D291 .string "HIDEOUT in LILYCOVE CITY?\p" .string "Fwahahahaha…$" -SlateportCity_Harbor_Text_20D35A: @ 820D35A +SlateportCity_Harbor_Text_CaptSternWhyStealMySubmarine: @ 820D35A .string "CAPT. STERN: Why…\p" .string "Why would TEAM AQUA steal my\n" .string "SUBMARINE EXPLORER 1?\p" @@ -481,7 +482,7 @@ SlateportCity_Harbor_Text_20D35A: @ 820D35A .string "But even if I were to chase them,\n" .string "I don't stand a chance against them…$" -SlateportCity_Harbor_Text_20D42B: @ 820D42B +SlateportCity_Harbor_Text_TeamAquaLeftNeedDive: @ 820D42B .string "CAPT. STERN: Oh, {PLAYER}{KUN}…\p" .string "Okay… So TEAM AQUA left before you\n" .string "could stop them…\p" @@ -496,7 +497,7 @@ SlateportCity_Harbor_Text_20D42B: @ 820D42B .string "A lot of divers live out there, so\n" .string "someone might teach you…$" -SlateportCity_Harbor_Text_20D58A: @ 820D58A +SlateportCity_Harbor_Text_NeedDiveToCatchSub: @ 820D58A .string "CAPT. STERN: Trying to catch a\n" .string "submarine… It's impossible.\p" .string "You would need a POKéMON that knows\n" @@ -506,13 +507,13 @@ SlateportCity_Harbor_Text_20D58A: @ 820D58A .string "A lot of divers live out there, so\n" .string "someone might teach you…$" -SlateportCity_Harbor_Text_20D65C: @ 820D65C +SlateportCity_Harbor_Text_WontBeLongBeforeWeFinishFerry: @ 820D65C .string "CAPT. STERN: Oh, yes.\n" .string "MR. BRINEY came to our SHIPYARD.\p" .string "It won't be long now before we finish\n" .string "making the ferry!$" -SlateportCity_Harbor_Text_20D6CB: @ 820D6CB +SlateportCity_Harbor_Text_FinishedMakingFerry: @ 820D6CB .string "CAPT. STERN: {PLAYER}{KUN}!\p" .string "We finally finished making the ferry\n" .string "S.S. TIDAL!\p" @@ -520,7 +521,7 @@ SlateportCity_Harbor_Text_20D6CB: @ 820D6CB .string "your friend MR. BRINEY.\p" .string "Please go for a short cruise on it!$" -SlateportCity_Harbor_Text_20D76C: @ 820D76C +SlateportCity_Harbor_Text_WouldYouTradeScanner: @ 820D76C .string "CAPT. STERN: Oh?\n" .string "{PLAYER}{KUN}, that item you have…\p" .string "That's a SCANNER! That would sure\n" @@ -530,27 +531,27 @@ SlateportCity_Harbor_Text_20D76C: @ 820D76C .string "Like, say, a DEEPSEATOOTH or\n" .string "a DEEPSEASCALE that I have?$" -SlateportCity_Harbor_Text_20D841: @ 820D841 +SlateportCity_Harbor_Text_IfYouWantToTradeLetMeKnow: @ 820D841 .string "CAPT. STERN: Are you certain?\n" .string "It's useless to you, {PLAYER}{KUN}…\p" .string "Well, okay, then. If you want to trade\n" .string "your SCANNER, let me know.$" -SlateportCity_Harbor_Text_20D8BC: @ 820D8BC +SlateportCity_Harbor_Text_TradeForDeepSeaTooth: @ 820D8BC .string "CAPT. STERN: So you'll trade it for\n" .string "my DEEPSEATOOTH?$" -SlateportCity_Harbor_Text_20D8F1: @ 820D8F1 +SlateportCity_Harbor_Text_TradeForDeepSeaScale: @ 820D8F1 .string "CAPT. STERN: So you'll trade it for\n" .string "my DEEPSEASCALE?$" -SlateportCity_Harbor_Text_20D926: @ 820D926 +SlateportCity_Harbor_Text_WhichOneDoYouWant: @ 820D926 .string "CAPT. STERN: Which one do you want?$" -SlateportCity_Harbor_Text_20D94A: @ 820D94A +SlateportCity_Harbor_Text_HandedScannerToStern: @ 820D94A .string "{PLAYER} handed the SCANNER to\n" .string "CAPT. STERN.$" -SlateportCity_Harbor_Text_20D970: @ 820D970 +SlateportCity_Harbor_Text_ThisWillHelpResearch: @ 820D970 .string "CAPT. STERN: Thanks, {PLAYER}{KUN}!\n" .string "This will help our research a lot!$" diff --git a/data/maps/SlateportCity_House2/map.json b/data/maps/SlateportCity_House/map.json similarity index 87% rename from data/maps/SlateportCity_House2/map.json rename to data/maps/SlateportCity_House/map.json index a6a686cf72..9052e19b1b 100644 --- a/data/maps/SlateportCity_House2/map.json +++ b/data/maps/SlateportCity_House/map.json @@ -1,6 +1,6 @@ { - "id": "MAP_SLATEPORT_CITY_HOUSE2", - "name": "SlateportCity_House2", + "id": "MAP_SLATEPORT_CITY_HOUSE", + "name": "SlateportCity_House", "layout": "LAYOUT_HOUSE2", "music": "MUS_FINECITY", "region_map_section": "MAPSEC_SLATEPORT_CITY", @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_House2_EventScript_20D9AF", + "script": "SlateportCity_House_EventScript_PokefanM", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_House2_EventScript_20D9B8", + "script": "SlateportCity_House_EventScript_Girl", "flag": "0" } ], diff --git a/data/maps/SlateportCity_House/scripts.inc b/data/maps/SlateportCity_House/scripts.inc new file mode 100644 index 0000000000..13b0caf91c --- /dev/null +++ b/data/maps/SlateportCity_House/scripts.inc @@ -0,0 +1,23 @@ +SlateportCity_House_MapScripts:: @ 820D9AE + .byte 0 + +SlateportCity_House_EventScript_PokefanM:: @ 820D9AF + msgbox SlateportCity_House_Text_NatureToDoWithStatGains, MSGBOX_NPC + end + +SlateportCity_House_EventScript_Girl:: @ 820D9B8 + msgbox SlateportCity_House_Text_MustBeGoingToBattleTent, MSGBOX_NPC + end + +SlateportCity_House_Text_NatureToDoWithStatGains: @ 820D9C1 + .string "My POKéMON has a HASTY nature.\p" + .string "It has higher SPEED compared to\n" + .string "my other POKéMON.\p" + .string "Maybe their nature has something to\n" + .string "do with the stat gains of POKéMON.$" + +SlateportCity_House_Text_MustBeGoingToBattleTent: @ 820DA59 + .string "You're a TRAINER, aren't you?\p" + .string "Since you came to SLATEPORT CITY,\n" + .string "you must be going to the BATTLE TENT.$" + diff --git a/data/maps/SlateportCity_House1/scripts.inc b/data/maps/SlateportCity_House1/scripts.inc deleted file mode 100644 index 0a58088208..0000000000 --- a/data/maps/SlateportCity_House1/scripts.inc +++ /dev/null @@ -1,121 +0,0 @@ -SlateportCity_House1_MapScripts:: @ 8209AA4 - .byte 0 - -SlateportCity_House1_EventScript_209AA5:: @ 8209AA5 - lock - faceplayer - msgbox SlateportCity_House1_Text_209B8E, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_House1_EventScript_209AC6 - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_House1_EventScript_209AE9 - end - -SlateportCity_House1_EventScript_209AC6:: @ 8209AC6 - msgbox SlateportCity_House1_Text_209BFF, MSGBOX_DEFAULT - special sub_81B94B0 - waitstate - compare VAR_0x8004, 255 - goto_if_ne SlateportCity_House1_EventScript_209AF3 - compare VAR_0x8004, 255 - goto_if_eq SlateportCity_House1_EventScript_209AE9 - end - -SlateportCity_House1_EventScript_209AE9:: @ 8209AE9 - msgbox SlateportCity_House1_Text_209D42, MSGBOX_DEFAULT - release - end - -SlateportCity_House1_EventScript_209AF3:: @ 8209AF3 - specialvar VAR_RESULT, ScriptGetPartyMonSpecies - compare VAR_RESULT, 412 - goto_if_eq SlateportCity_House1_EventScript_209B46 - special TV_CopyNicknameToStringVar1AndEnsureTerminated - special TV_CheckMonOTIDEqualsPlayerID - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_House1_EventScript_209B50 - specialvar VAR_RESULT, MonOTNameMatchesPlayer - special TV_CopyNicknameToStringVar1AndEnsureTerminated - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_House1_EventScript_209B50 - msgbox SlateportCity_House1_Text_209C2B, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_House1_EventScript_209B5A - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_House1_EventScript_209AE9 - end - -SlateportCity_House1_EventScript_209B46:: @ 8209B46 - msgbox SlateportCity_House1_Text_209E74, MSGBOX_DEFAULT - release - end - -SlateportCity_House1_EventScript_209B50:: @ 8209B50 - msgbox SlateportCity_House1_Text_209DF0, MSGBOX_DEFAULT - release - end - -SlateportCity_House1_EventScript_209B5A:: @ 8209B5A - msgbox SlateportCity_House1_Text_209CA4, MSGBOX_DEFAULT - call Common_EventScript_NameReceivedPokemon - specialvar VAR_RESULT, TV_PutNameRaterShowOnTheAirIfNicknameChanged - special TV_CopyNicknameToStringVar1AndEnsureTerminated - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_House1_EventScript_209B84 - msgbox SlateportCity_House1_Text_209D5E, MSGBOX_DEFAULT - release - end - -SlateportCity_House1_EventScript_209B84:: @ 8209B84 - msgbox SlateportCity_House1_Text_209CD4, MSGBOX_DEFAULT - release - end - -SlateportCity_House1_Text_209B8E: @ 8209B8E - .string "Hi, hi! I'm the NAME RATER!\n" - .string "I'm the fortune-teller of names!\p" - .string "I shall be pleased to rate your\n" - .string "POKéMON's nickname.$" - -SlateportCity_House1_Text_209BFF: @ 8209BFF - .string "Which POKéMON's nickname should\n" - .string "I critique?$" - -SlateportCity_House1_Text_209C2B: @ 8209C2B - .string "Hmmm… {STR_VAR_1}, is it? That is\n" - .string "quite a fine name you bestowed.\p" - .string "But! What say you, if I were to\n" - .string "suggest a slightly better name?$" - -SlateportCity_House1_Text_209CA4: @ 8209CA4 - .string "Ah, good. Then, what shall the new\n" - .string "nickname be?$" - -SlateportCity_House1_Text_209CD4: @ 8209CD4 - .string "Done! From now on, this POKéMON\n" - .string "shall be known as {STR_VAR_1}!\p" - .string "It is a better name than before!\n" - .string "How fortunate for you!$" - -SlateportCity_House1_Text_209D42: @ 8209D42 - .string "I see.\n" - .string "Do come visit again.$" - -SlateportCity_House1_Text_209D5E: @ 8209D5E - .string "Done! From now on, this POKéMON\n" - .string "shall be known as {STR_VAR_1}!\p" - .string "It looks no different from before,\n" - .string "and yet, this is vastly superior!\p" - .string "How fortunate for you!$" - -SlateportCity_House1_Text_209DF0: @ 8209DF0 - .string "Hmmm… {STR_VAR_1} it is!\p" - .string "This is a magnificent nickname!\n" - .string "It is impeccably beyond reproach!\p" - .string "You'll do well to cherish your\n" - .string "{STR_VAR_1} now and beyond.$" - -SlateportCity_House1_Text_209E74: @ 8209E74 - .string "Now, now.\n" - .string "That is merely an EGG!$" - diff --git a/data/maps/SlateportCity_House2/scripts.inc b/data/maps/SlateportCity_House2/scripts.inc deleted file mode 100644 index 1661d8fc5a..0000000000 --- a/data/maps/SlateportCity_House2/scripts.inc +++ /dev/null @@ -1,23 +0,0 @@ -SlateportCity_House2_MapScripts:: @ 820D9AE - .byte 0 - -SlateportCity_House2_EventScript_20D9AF:: @ 820D9AF - msgbox SlateportCity_House2_Text_20D9C1, MSGBOX_NPC - end - -SlateportCity_House2_EventScript_20D9B8:: @ 820D9B8 - msgbox SlateportCity_House2_Text_20DA59, MSGBOX_NPC - end - -SlateportCity_House2_Text_20D9C1: @ 820D9C1 - .string "My POKéMON has a HASTY nature.\p" - .string "It has higher SPEED compared to\n" - .string "my other POKéMON.\p" - .string "Maybe their nature has something to\n" - .string "do with the stat gains of POKéMON.$" - -SlateportCity_House2_Text_20DA59: @ 820DA59 - .string "You're a TRAINER, aren't you?\p" - .string "Since you came to SLATEPORT CITY,\n" - .string "you must be going to the BATTLE TENT.$" - diff --git a/data/maps/SlateportCity_Mart/map.json b/data/maps/SlateportCity_Mart/map.json index 597abbf066..ca1c23717d 100644 --- a/data/maps/SlateportCity_Mart/map.json +++ b/data/maps/SlateportCity_Mart/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_Mart_EventScript_20DC49", + "script": "SlateportCity_Mart_EventScript_Clerk", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_Mart_EventScript_20DC76", + "script": "SlateportCity_Mart_EventScript_BlackBelt", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_Mart_EventScript_20DC7F", + "script": "SlateportCity_Mart_EventScript_Man", "flag": "0" } ], diff --git a/data/maps/SlateportCity_Mart/scripts.inc b/data/maps/SlateportCity_Mart/scripts.inc index cc1eff7f61..a1c557ad28 100644 --- a/data/maps/SlateportCity_Mart/scripts.inc +++ b/data/maps/SlateportCity_Mart/scripts.inc @@ -1,17 +1,17 @@ SlateportCity_Mart_MapScripts:: @ 820DC48 .byte 0 -SlateportCity_Mart_EventScript_20DC49:: @ 820DC49 +SlateportCity_Mart_EventScript_Clerk:: @ 820DC49 lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart SlateportCity_Mart_Pokemart_20DC60 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart SlateportCity_Mart_Pokemart + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end -SlateportCity_Mart_Pokemart_20DC60: @ 820DC60 +SlateportCity_Mart_Pokemart: @ 820DC60 .2byte ITEM_POKE_BALL .2byte ITEM_GREAT_BALL .2byte ITEM_POTION @@ -25,21 +25,21 @@ SlateportCity_Mart_Pokemart_20DC60: @ 820DC60 release end -SlateportCity_Mart_EventScript_20DC76:: @ 820DC76 - msgbox SlateportCity_Mart_Text_20DC88, MSGBOX_NPC +SlateportCity_Mart_EventScript_BlackBelt:: @ 820DC76 + msgbox SlateportCity_Mart_Text_SomeItemsOnlyAtMart, MSGBOX_NPC end -SlateportCity_Mart_EventScript_20DC7F:: @ 820DC7F - msgbox SlateportCity_Mart_Text_20DCF8, MSGBOX_NPC +SlateportCity_Mart_EventScript_Man:: @ 820DC7F + msgbox SlateportCity_Mart_Text_GreatBallIsBetter, MSGBOX_NPC end -SlateportCity_Mart_Text_20DC88: @ 820DC88 +SlateportCity_Mart_Text_SomeItemsOnlyAtMart: @ 820DC88 .string "The MARKET does have some interesting\n" .string "merchandise.\p" .string "But there are some items you can only\n" .string "get at a POKéMON MART.$" -SlateportCity_Mart_Text_20DCF8: @ 820DCF8 +SlateportCity_Mart_Text_GreatBallIsBetter: @ 820DCF8 .string "A GREAT BALL is better than a POKé BALL\n" .string "at catching POKéMON.\p" .string "With this, I should be able to get that\n" diff --git a/data/maps/SlateportCity_House1/map.json b/data/maps/SlateportCity_NameRatersHouse/map.json similarity index 86% rename from data/maps/SlateportCity_House1/map.json rename to data/maps/SlateportCity_NameRatersHouse/map.json index 47943e5179..1e464b9fd5 100644 --- a/data/maps/SlateportCity_House1/map.json +++ b/data/maps/SlateportCity_NameRatersHouse/map.json @@ -1,6 +1,6 @@ { - "id": "MAP_SLATEPORT_CITY_HOUSE1", - "name": "SlateportCity_House1", + "id": "MAP_SLATEPORT_CITY_NAME_RATERS_HOUSE", + "name": "SlateportCity_NameRatersHouse", "layout": "LAYOUT_HOUSE_WITH_BED", "music": "MUS_FINECITY", "region_map_section": "MAPSEC_SLATEPORT_CITY", @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_House1_EventScript_209AA5", + "script": "SlateportCity_NameRatersHouse_EventScript_NameRater", "flag": "0" } ], diff --git a/data/maps/SlateportCity_NameRatersHouse/scripts.inc b/data/maps/SlateportCity_NameRatersHouse/scripts.inc new file mode 100644 index 0000000000..92c6b7a028 --- /dev/null +++ b/data/maps/SlateportCity_NameRatersHouse/scripts.inc @@ -0,0 +1,121 @@ +SlateportCity_NameRatersHouse_MapScripts:: @ 8209AA4 + .byte 0 + +SlateportCity_NameRatersHouse_EventScript_NameRater:: @ 8209AA5 + lock + faceplayer + msgbox SlateportCity_NameRatersHouse_Text_PleasedToRateMonNickname, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq SlateportCity_NameRatersHouse_EventScript_ChooseMonToRate + compare VAR_RESULT, NO + goto_if_eq SlateportCity_NameRatersHouse_EventScript_DeclineNameRate + end + +SlateportCity_NameRatersHouse_EventScript_ChooseMonToRate:: @ 8209AC6 + msgbox SlateportCity_NameRatersHouse_Text_CritiqueWhichMonNickname, MSGBOX_DEFAULT + special ChoosePartyMon + waitstate + compare VAR_0x8004, 255 + goto_if_ne SlateportCity_NameRatersHouse_EventScript_RateMonNickname + compare VAR_0x8004, 255 + goto_if_eq SlateportCity_NameRatersHouse_EventScript_DeclineNameRate + end + +SlateportCity_NameRatersHouse_EventScript_DeclineNameRate:: @ 8209AE9 + msgbox SlateportCity_NameRatersHouse_Text_DoVisitAgain, MSGBOX_DEFAULT + release + end + +SlateportCity_NameRatersHouse_EventScript_RateMonNickname:: @ 8209AF3 + specialvar VAR_RESULT, ScriptGetPartyMonSpecies + compare VAR_RESULT, SPECIES_EGG + goto_if_eq SlateportCity_NameRatersHouse_EventScript_CantRateEgg + special BufferMonNickname + special IsMonOTIDNotPlayers + compare VAR_RESULT, TRUE + goto_if_eq SlateportCity_NameRatersHouse_EventScript_PlayerNotMonsOT + specialvar VAR_RESULT, MonOTNameNotPlayer + special BufferMonNickname + compare VAR_RESULT, TRUE + goto_if_eq SlateportCity_NameRatersHouse_EventScript_PlayerNotMonsOT + msgbox SlateportCity_NameRatersHouse_Text_FineNameSuggestBetterOne, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq SlateportCity_NameRatersHouse_EventScript_ChangeNickname + compare VAR_RESULT, NO + goto_if_eq SlateportCity_NameRatersHouse_EventScript_DeclineNameRate + end + +SlateportCity_NameRatersHouse_EventScript_CantRateEgg:: @ 8209B46 + msgbox SlateportCity_NameRatersHouse_Text_ThatIsMerelyAnEgg, MSGBOX_DEFAULT + release + end + +SlateportCity_NameRatersHouse_EventScript_PlayerNotMonsOT:: @ 8209B50 + msgbox SlateportCity_NameRatersHouse_Text_MagnificentName, MSGBOX_DEFAULT + release + end + +SlateportCity_NameRatersHouse_EventScript_ChangeNickname:: @ 8209B5A + msgbox SlateportCity_NameRatersHouse_Text_WhatShallNewNameBe, MSGBOX_DEFAULT + call Common_EventScript_NameReceivedPartyMon + specialvar VAR_RESULT, TryPutNameRaterShowOnTheAir + special BufferMonNickname + compare VAR_RESULT, TRUE + goto_if_eq SlateportCity_NameRatersHouse_EventScript_NewNameDifferent + msgbox SlateportCity_NameRatersHouse_Text_NameNoDifferentYetSuperior, MSGBOX_DEFAULT + release + end + +SlateportCity_NameRatersHouse_EventScript_NewNameDifferent:: @ 8209B84 + msgbox SlateportCity_NameRatersHouse_Text_MonShallBeKnownAsName, MSGBOX_DEFAULT + release + end + +SlateportCity_NameRatersHouse_Text_PleasedToRateMonNickname: @ 8209B8E + .string "Hi, hi! I'm the NAME RATER!\n" + .string "I'm the fortune-teller of names!\p" + .string "I shall be pleased to rate your\n" + .string "POKéMON's nickname.$" + +SlateportCity_NameRatersHouse_Text_CritiqueWhichMonNickname: @ 8209BFF + .string "Which POKéMON's nickname should\n" + .string "I critique?$" + +SlateportCity_NameRatersHouse_Text_FineNameSuggestBetterOne: @ 8209C2B + .string "Hmmm… {STR_VAR_1}, is it? That is\n" + .string "quite a fine name you bestowed.\p" + .string "But! What say you, if I were to\n" + .string "suggest a slightly better name?$" + +SlateportCity_NameRatersHouse_Text_WhatShallNewNameBe: @ 8209CA4 + .string "Ah, good. Then, what shall the new\n" + .string "nickname be?$" + +SlateportCity_NameRatersHouse_Text_MonShallBeKnownAsName: @ 8209CD4 + .string "Done! From now on, this POKéMON\n" + .string "shall be known as {STR_VAR_1}!\p" + .string "It is a better name than before!\n" + .string "How fortunate for you!$" + +SlateportCity_NameRatersHouse_Text_DoVisitAgain: @ 8209D42 + .string "I see.\n" + .string "Do come visit again.$" + +SlateportCity_NameRatersHouse_Text_NameNoDifferentYetSuperior: @ 8209D5E + .string "Done! From now on, this POKéMON\n" + .string "shall be known as {STR_VAR_1}!\p" + .string "It looks no different from before,\n" + .string "and yet, this is vastly superior!\p" + .string "How fortunate for you!$" + +SlateportCity_NameRatersHouse_Text_MagnificentName: @ 8209DF0 + .string "Hmmm… {STR_VAR_1} it is!\p" + .string "This is a magnificent nickname!\n" + .string "It is impeccably beyond reproach!\p" + .string "You'll do well to cherish your\n" + .string "{STR_VAR_1} now and beyond.$" + +SlateportCity_NameRatersHouse_Text_ThatIsMerelyAnEgg: @ 8209E74 + .string "Now, now.\n" + .string "That is merely an EGG!$" + diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/map.json b/data/maps/SlateportCity_OceanicMuseum_1F/map.json index eefb843f41..87fc0f6ee5 100644 --- a/data/maps/SlateportCity_OceanicMuseum_1F/map.json +++ b/data/maps/SlateportCity_OceanicMuseum_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AD96", + "script": "SlateportCity_OceanicMuseum_1F_EventScript_EntranceAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE5F", + "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt3", "flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE68", + "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt4", "flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE56", + "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt2", "flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE4D", + "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt1", "flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE71", + "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt5", "flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AD96", + "script": "SlateportCity_OceanicMuseum_1F_EventScript_EntranceAttendant", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE7A", + "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt6", "flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AED4", + "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumPatron1", "flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION" }, { @@ -141,7 +141,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEDD", + "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumPatron2", "flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION" }, { @@ -154,7 +154,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEE6", + "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumPatron3", "flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION" }, { @@ -167,7 +167,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEEF", + "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumPatron4", "flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION" }, { @@ -180,7 +180,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEF8", + "script": "SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGrunt", "flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_FAMILIAR_AQUA_GRUNT" }, { @@ -193,7 +193,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_28C883", + "script": "SlateportCity_OceanicMuseum_1F_EventScript_Reporter", "flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION" } ], @@ -228,7 +228,7 @@ "elevation": 3, "var": "VAR_SLATEPORT_MUSEUM_1F_STATE", "var_value": "0", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AD9F" + "script": "SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFeeLeft" }, { "type": "trigger", @@ -237,7 +237,7 @@ "elevation": 3, "var": "VAR_SLATEPORT_MUSEUM_1F_STATE", "var_value": "0", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20ADB0" + "script": "SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFeeRight" } ], "bg_events": [ @@ -247,7 +247,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE83" + "script": "SlateportCity_OceanicMuseum_1F_EventScript_WhirlpoolExperiment" }, { "type": "sign", @@ -255,7 +255,7 @@ "y": 4, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE8C" + "script": "SlateportCity_OceanicMuseum_1F_EventScript_WaterfallExperiment" }, { "type": "sign", @@ -263,7 +263,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE95" + "script": "SlateportCity_OceanicMuseum_1F_EventScript_OceanSoilDisplay" }, { "type": "sign", @@ -271,7 +271,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE9E" + "script": "SlateportCity_OceanicMuseum_1F_EventScript_BeachSandDisplay" }, { "type": "sign", @@ -279,7 +279,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE95" + "script": "SlateportCity_OceanicMuseum_1F_EventScript_OceanSoilDisplay" }, { "type": "sign", @@ -287,7 +287,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE9E" + "script": "SlateportCity_OceanicMuseum_1F_EventScript_BeachSandDisplay" }, { "type": "sign", @@ -295,7 +295,7 @@ "y": 4, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEA7" + "script": "SlateportCity_OceanicMuseum_1F_EventScript_OceanicMinifact1" }, { "type": "sign", @@ -303,7 +303,7 @@ "y": 4, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEB0" + "script": "SlateportCity_OceanicMuseum_1F_EventScript_OceanicMinifact2" }, { "type": "sign", @@ -311,7 +311,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEB9" + "script": "SlateportCity_OceanicMuseum_1F_EventScript_OceanicMinifact3" }, { "type": "sign", @@ -319,7 +319,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEC2" + "script": "SlateportCity_OceanicMuseum_1F_EventScript_FossilDisplay" }, { "type": "sign", @@ -327,7 +327,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEC2" + "script": "SlateportCity_OceanicMuseum_1F_EventScript_FossilDisplay" }, { "type": "sign", @@ -335,7 +335,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AECB" + "script": "SlateportCity_OceanicMuseum_1F_EventScript_DepthMeasuringMachine" }, { "type": "sign", @@ -343,7 +343,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AECB" + "script": "SlateportCity_OceanicMuseum_1F_EventScript_DepthMeasuringMachine" } ] } \ No newline at end of file diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc index 90d42ccae4..aeb9f3ac90 100644 --- a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc +++ b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc @@ -1,155 +1,147 @@ SlateportCity_OceanicMuseum_1F_MapScripts:: @ 820AD95 .byte 0 -SlateportCity_OceanicMuseum_1F_EventScript_20AD96:: @ 820AD96 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B026, MSGBOX_NPC +SlateportCity_OceanicMuseum_1F_EventScript_EntranceAttendant:: @ 820AD96 + msgbox SlateportCity_OceanicMuseum_1F_Text_PleaseEnjoyYourself, MSGBOX_NPC end -SlateportCity_OceanicMuseum_1F_EventScript_20AD9F:: @ 820AD9F +SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFeeLeft:: @ 820AD9F lockall - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - goto SlateportCity_OceanicMuseum_1F_EventScript_20ADC1 + goto SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFee end -SlateportCity_OceanicMuseum_1F_EventScript_20ADB0:: @ 820ADB0 +SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFeeRight:: @ 820ADB0 lockall - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - goto SlateportCity_OceanicMuseum_1F_EventScript_20ADC1 + goto SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFee end -SlateportCity_OceanicMuseum_1F_EventScript_20ADC1:: @ 820ADC1 +SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFee:: @ 820ADC1 showmoneybox 0, 0, 0 - msgbox SlateportCity_OceanicMuseum_1F_Text_20AFD5, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20ADE8 + msgbox SlateportCity_OceanicMuseum_1F_Text_WouldYouLikeToEnter, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_CheckMoneyForFee closemessage hidemoneybox - nop - nop - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AE4B + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PushPlayerBackFromCounter waitmovement 0 releaseall end -SlateportCity_OceanicMuseum_1F_EventScript_20ADE8:: @ 820ADE8 - checkmoney 0x32, 0 +SlateportCity_OceanicMuseum_1F_EventScript_CheckMoneyForFee:: @ 820ADE8 + checkmoney 50, 0 compare VAR_RESULT, 0 - goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AE18 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_NotEnoughMoney playse SE_REGI - takemoney 0x32, 0 + removemoney 50, 0 updatemoneybox 0, 0 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B026, MSGBOX_DEFAULT + msgbox SlateportCity_OceanicMuseum_1F_Text_PleaseEnjoyYourself, MSGBOX_DEFAULT setvar VAR_SLATEPORT_MUSEUM_1F_STATE, 1 hidemoneybox - nop - nop releaseall end -SlateportCity_OceanicMuseum_1F_EventScript_20AE18:: @ 820AE18 - goto_if_unset FLAG_DELIVERED_DEVON_GOODS, SlateportCity_OceanicMuseum_1F_EventScript_20AE39 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B03D, MSGBOX_DEFAULT +SlateportCity_OceanicMuseum_1F_EventScript_NotEnoughMoney:: @ 820AE18 + goto_if_unset FLAG_DELIVERED_DEVON_GOODS, SlateportCity_OceanicMuseum_1F_EventScript_AllowEntranceAnyway + msgbox SlateportCity_OceanicMuseum_1F_Text_NotEnoughMoney, MSGBOX_DEFAULT closemessage hidemoneybox - nop - nop - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AE4B + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PushPlayerBackFromCounter waitmovement 0 releaseall end -SlateportCity_OceanicMuseum_1F_EventScript_20AE39:: @ 820AE39 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B075, MSGBOX_DEFAULT +SlateportCity_OceanicMuseum_1F_EventScript_AllowEntranceAnyway:: @ 820AE39 + msgbox SlateportCity_OceanicMuseum_1F_Text_CatchUpWithYourGroup, MSGBOX_DEFAULT setvar VAR_SLATEPORT_MUSEUM_1F_STATE, 1 hidemoneybox - nop - nop releaseall end -SlateportCity_OceanicMuseum_1F_Movement_20AE4B: @ 820AE4B +SlateportCity_OceanicMuseum_1F_Movement_PushPlayerBackFromCounter: @ 820AE4B walk_down step_end -SlateportCity_OceanicMuseum_1F_EventScript_20AE4D:: @ 820AE4D - msgbox SlateportCity_OceanicMuseum_1F_Text_20B0E8, MSGBOX_NPC +SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt1:: @ 820AE4D + msgbox SlateportCity_OceanicMuseum_1F_Text_AquaExistForGoodOfAll, MSGBOX_NPC end -SlateportCity_OceanicMuseum_1F_EventScript_20AE56:: @ 820AE56 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B112, MSGBOX_NPC +SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt2:: @ 820AE56 + msgbox SlateportCity_OceanicMuseum_1F_Text_OurBossIsntHere, MSGBOX_NPC end -SlateportCity_OceanicMuseum_1F_EventScript_20AE5F:: @ 820AE5F - msgbox SlateportCity_OceanicMuseum_1F_Text_20B165, MSGBOX_NPC +SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt3:: @ 820AE5F + msgbox SlateportCity_OceanicMuseum_1F_Text_WouldStuffHereMakeMeRich, MSGBOX_NPC end -SlateportCity_OceanicMuseum_1F_EventScript_20AE68:: @ 820AE68 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B19C, MSGBOX_SIGN +SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt4:: @ 820AE68 + msgbox SlateportCity_OceanicMuseum_1F_Text_CanLearnForNefariousDeeds, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_1F_EventScript_20AE71:: @ 820AE71 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B1D4, MSGBOX_NPC +SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt5:: @ 820AE71 + msgbox SlateportCity_OceanicMuseum_1F_Text_RustboroBungled, MSGBOX_NPC end -SlateportCity_OceanicMuseum_1F_EventScript_20AE7A:: @ 820AE7A - msgbox SlateportCity_OceanicMuseum_1F_Text_20B218, MSGBOX_NPC +SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt6:: @ 820AE7A + msgbox SlateportCity_OceanicMuseum_1F_Text_DidntHaveMoney, MSGBOX_NPC end -SlateportCity_OceanicMuseum_1F_EventScript_20AE83:: @ 820AE83 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B4CF, MSGBOX_SIGN +SlateportCity_OceanicMuseum_1F_EventScript_WhirlpoolExperiment:: @ 820AE83 + msgbox SlateportCity_OceanicMuseum_1F_Text_WhirlpoolExperiment, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_1F_EventScript_20AE8C:: @ 820AE8C - msgbox SlateportCity_OceanicMuseum_1F_Text_20B547, MSGBOX_SIGN +SlateportCity_OceanicMuseum_1F_EventScript_WaterfallExperiment:: @ 820AE8C + msgbox SlateportCity_OceanicMuseum_1F_Text_WaterfallExperiment, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_1F_EventScript_20AE95:: @ 820AE95 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B5CA, MSGBOX_SIGN +SlateportCity_OceanicMuseum_1F_EventScript_OceanSoilDisplay:: @ 820AE95 + msgbox SlateportCity_OceanicMuseum_1F_Text_OceanSoilDisplay, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_1F_EventScript_20AE9E:: @ 820AE9E - msgbox SlateportCity_OceanicMuseum_1F_Text_20B699, MSGBOX_SIGN +SlateportCity_OceanicMuseum_1F_EventScript_BeachSandDisplay:: @ 820AE9E + msgbox SlateportCity_OceanicMuseum_1F_Text_BeachSandDisplay, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_1F_EventScript_20AEA7:: @ 820AEA7 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B74B, MSGBOX_SIGN +SlateportCity_OceanicMuseum_1F_EventScript_OceanicMinifact1:: @ 820AEA7 + msgbox SlateportCity_OceanicMuseum_1F_Text_OceanicMinifact1, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_1F_EventScript_20AEB0:: @ 820AEB0 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B81F, MSGBOX_SIGN +SlateportCity_OceanicMuseum_1F_EventScript_OceanicMinifact2:: @ 820AEB0 + msgbox SlateportCity_OceanicMuseum_1F_Text_OceanicMinifact2, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_1F_EventScript_20AEB9:: @ 820AEB9 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B912, MSGBOX_SIGN +SlateportCity_OceanicMuseum_1F_EventScript_OceanicMinifact3:: @ 820AEB9 + msgbox SlateportCity_OceanicMuseum_1F_Text_OceanicMinifact3, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_1F_EventScript_20AEC2:: @ 820AEC2 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B9C0, MSGBOX_SIGN +SlateportCity_OceanicMuseum_1F_EventScript_FossilDisplay:: @ 820AEC2 + msgbox SlateportCity_OceanicMuseum_1F_Text_FossilDisplay, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_1F_EventScript_20AECB:: @ 820AECB - msgbox SlateportCity_OceanicMuseum_1F_Text_20BA9C, MSGBOX_SIGN +SlateportCity_OceanicMuseum_1F_EventScript_DepthMeasuringMachine:: @ 820AECB + msgbox SlateportCity_OceanicMuseum_1F_Text_DepthMeasuringMachine, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_1F_EventScript_20AED4:: @ 820AED4 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B25F, MSGBOX_NPC +SlateportCity_OceanicMuseum_1F_EventScript_MuseumPatron1:: @ 820AED4 + msgbox SlateportCity_OceanicMuseum_1F_Text_LearnAboutSeaForBattling, MSGBOX_NPC end -SlateportCity_OceanicMuseum_1F_EventScript_20AEDD:: @ 820AEDD - msgbox SlateportCity_OceanicMuseum_1F_Text_20B2A2, MSGBOX_NPC +SlateportCity_OceanicMuseum_1F_EventScript_MuseumPatron2:: @ 820AEDD + msgbox SlateportCity_OceanicMuseum_1F_Text_SternIsRoleModel, MSGBOX_NPC end -SlateportCity_OceanicMuseum_1F_EventScript_20AEE6:: @ 820AEE6 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B302, MSGBOX_NPC +SlateportCity_OceanicMuseum_1F_EventScript_MuseumPatron3:: @ 820AEE6 + msgbox SlateportCity_OceanicMuseum_1F_Text_MustBePokemonWeDontKnow, MSGBOX_NPC end -SlateportCity_OceanicMuseum_1F_EventScript_20AEEF:: @ 820AEEF - msgbox SlateportCity_OceanicMuseum_1F_Text_20B369, MSGBOX_NPC +SlateportCity_OceanicMuseum_1F_EventScript_MuseumPatron4:: @ 820AEEF + msgbox SlateportCity_OceanicMuseum_1F_Text_WantSeaPokemon, MSGBOX_NPC end -SlateportCity_OceanicMuseum_1F_EventScript_20AEF8:: @ 820AEF8 +SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGrunt:: @ 820AEF8 lock faceplayer delay 8 @@ -158,68 +150,68 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AEF8:: @ 820AEF8 waitmovement 0 applymovement 13, Common_Movement_Delay48 waitmovement 0 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B3AB, MSGBOX_DEFAULT - giveitem_std ITEM_TM46 + msgbox SlateportCity_OceanicMuseum_1F_Text_RememberMeTakeThis, MSGBOX_DEFAULT + giveitem ITEM_TM46 compare VAR_RESULT, 0 - goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AFB5 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_NoRoomForThief setflag FLAG_RECEIVED_TM46 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B449, MSGBOX_DEFAULT + msgbox SlateportCity_OceanicMuseum_1F_Text_HopeINeverSeeYouAgain, MSGBOX_DEFAULT closemessage - compare VAR_FACING, 2 - goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF6C - compare VAR_FACING, 1 - goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF83 - compare VAR_FACING, 3 - goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF93 - compare VAR_FACING, 4 - goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF93 + compare VAR_FACING, DIR_NORTH + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitNorth + compare VAR_FACING, DIR_SOUTH + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitSouth + compare VAR_FACING, DIR_WEST + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitWestEast + compare VAR_FACING, DIR_EAST + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitWestEast end -SlateportCity_OceanicMuseum_1F_EventScript_20AF6C:: @ 820AF6C - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AFBF - applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFCE +SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitNorth:: @ 820AF6C + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PlayerWatchGruntExitNorth + applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_FamiliarGruntExitNorth waitmovement 0 - goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA + goto SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExited end -SlateportCity_OceanicMuseum_1F_EventScript_20AF83:: @ 820AF83 - applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFC7 +SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitSouth:: @ 820AF83 + applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_FamiliarGruntExit waitmovement 0 - goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA + goto SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExited end -SlateportCity_OceanicMuseum_1F_EventScript_20AF93:: @ 820AF93 - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AFC4 - applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFC7 +SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitWestEast:: @ 820AF93 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PlayerWatchGruntExitWestEast + applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_FamiliarGruntExit waitmovement 0 - goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA + goto SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExited end -SlateportCity_OceanicMuseum_1F_EventScript_20AFAA:: @ 820AFAA +SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExited:: @ 820AFAA setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_FAMILIAR_AQUA_GRUNT playse SE_KAIDAN removeobject 13 release end -SlateportCity_OceanicMuseum_1F_EventScript_20AFB5:: @ 820AFB5 - msgbox SlateportCity_OceanicMuseum_1F_Text_20B49B, MSGBOX_DEFAULT +SlateportCity_OceanicMuseum_1F_EventScript_NoRoomForThief:: @ 820AFB5 + msgbox SlateportCity_OceanicMuseum_1F_Text_YouHaveToTakeThis, MSGBOX_DEFAULT release end -SlateportCity_OceanicMuseum_1F_Movement_20AFBF: @ 820AFBF +SlateportCity_OceanicMuseum_1F_Movement_PlayerWatchGruntExitNorth: @ 820AFBF delay_16 delay_8 delay_4 walk_in_place_fastest_down step_end -SlateportCity_OceanicMuseum_1F_Movement_20AFC4: @ 820AFC4 +SlateportCity_OceanicMuseum_1F_Movement_PlayerWatchGruntExitWestEast: @ 820AFC4 delay_16 walk_in_place_fastest_down step_end -SlateportCity_OceanicMuseum_1F_Movement_20AFC7: @ 820AFC7 +SlateportCity_OceanicMuseum_1F_Movement_FamiliarGruntExit: @ 820AFC7 face_down walk_fast_down walk_fast_down @@ -228,7 +220,7 @@ SlateportCity_OceanicMuseum_1F_Movement_20AFC7: @ 820AFC7 delay_8 step_end -SlateportCity_OceanicMuseum_1F_Movement_20AFCE: @ 820AFCE +SlateportCity_OceanicMuseum_1F_Movement_FamiliarGruntExitNorth: @ 820AFCE walk_fast_right walk_fast_down walk_fast_down @@ -237,71 +229,71 @@ SlateportCity_OceanicMuseum_1F_Movement_20AFCE: @ 820AFCE delay_8 step_end -SlateportCity_OceanicMuseum_1F_Text_20AFD5: @ 820AFD5 +SlateportCity_OceanicMuseum_1F_Text_WouldYouLikeToEnter: @ 820AFD5 .string "Welcome to the OCEANIC MUSEUM.\p" .string "The entrance fee is ¥50.\n" .string "Would you like to enter?$" -SlateportCity_OceanicMuseum_1F_Text_20B026: @ 820B026 +SlateportCity_OceanicMuseum_1F_Text_PleaseEnjoyYourself: @ 820B026 .string "Please enjoy yourself.$" -SlateportCity_OceanicMuseum_1F_Text_20B03D: @ 820B03D +SlateportCity_OceanicMuseum_1F_Text_NotEnoughMoney: @ 820B03D .string "Oh? I'm sorry, but you don't seem to\n" .string "have enough money.$" -SlateportCity_OceanicMuseum_1F_Text_20B075: @ 820B075 +SlateportCity_OceanicMuseum_1F_Text_CatchUpWithYourGroup: @ 820B075 .string "Oh? You're with that group that\n" .string "went in earlier?\p" .string "You're the only one who's late.\n" .string "You'd better go catch up to them!$" -SlateportCity_OceanicMuseum_1F_Text_20B0E8: @ 820B0E8 +SlateportCity_OceanicMuseum_1F_Text_AquaExistForGoodOfAll: @ 820B0E8 .string "We, TEAM AQUA, exist for the good\n" .string "of all!$" -SlateportCity_OceanicMuseum_1F_Text_20B112: @ 820B112 +SlateportCity_OceanicMuseum_1F_Text_OurBossIsntHere: @ 820B112 .string "We were told to assemble here,\n" .string "so we did, but…\p" .string "Our BOSS, the linchpin, isn't here.$" -SlateportCity_OceanicMuseum_1F_Text_20B165: @ 820B165 +SlateportCity_OceanicMuseum_1F_Text_WouldStuffHereMakeMeRich: @ 820B165 .string "If I ripped off the stuff here,\n" .string "would it make me rich?$" -SlateportCity_OceanicMuseum_1F_Text_20B19C: @ 820B19C +SlateportCity_OceanicMuseum_1F_Text_CanLearnForNefariousDeeds: @ 820B19C .string "What I learn here, I can put to use on\n" .string "nefarious deeds…$" -SlateportCity_OceanicMuseum_1F_Text_20B1D4: @ 820B1D4 +SlateportCity_OceanicMuseum_1F_Text_RustboroBungled: @ 820B1D4 .string "If our goons didn't bungle things\n" .string "in RUSTBORO, we wouldn't be here!$" -SlateportCity_OceanicMuseum_1F_Text_20B218: @ 820B218 +SlateportCity_OceanicMuseum_1F_Text_DidntHaveMoney: @ 820B218 .string "I didn't have ¥50, so it took a long\n" .string "time getting by the receptionist.$" -SlateportCity_OceanicMuseum_1F_Text_20B25F: @ 820B25F +SlateportCity_OceanicMuseum_1F_Text_LearnAboutSeaForBattling: @ 820B25F .string "I want to learn about the sea and\n" .string "use that knowledge for battling.$" -SlateportCity_OceanicMuseum_1F_Text_20B2A2: @ 820B2A2 +SlateportCity_OceanicMuseum_1F_Text_SternIsRoleModel: @ 820B2A2 .string "I get all giddy and gooey when\n" .string "I see the sea!\p" .string "For me, CAPT. STERN is the number\n" .string "one role model!$" -SlateportCity_OceanicMuseum_1F_Text_20B302: @ 820B302 +SlateportCity_OceanicMuseum_1F_Text_MustBePokemonWeDontKnow: @ 820B302 .string "The sea is vast without end, and\n" .string "infinitely deep…\p" .string "There must be many POKéMON that\n" .string "we don't know about.$" -SlateportCity_OceanicMuseum_1F_Text_20B369: @ 820B369 +SlateportCity_OceanicMuseum_1F_Text_WantSeaPokemon: @ 820B369 .string "I want a sea POKéMON.\p" .string "I think it would feel cool and nice\n" .string "to hug.$" -SlateportCity_OceanicMuseum_1F_Text_20B3AB: @ 820B3AB +SlateportCity_OceanicMuseum_1F_Text_RememberMeTakeThis: @ 820B3AB .string "Aiyeeeh!\n" .string "What are you doing here?\p" .string "Me? I'm the TEAM AQUA member\n" @@ -310,29 +302,29 @@ SlateportCity_OceanicMuseum_1F_Text_20B3AB: @ 820B3AB .string "Here, take this!\n" .string "You have to forgive me!$" -SlateportCity_OceanicMuseum_1F_Text_20B449: @ 820B449 +SlateportCity_OceanicMuseum_1F_Text_HopeINeverSeeYouAgain: @ 820B449 .string "That TM, it suits you more than it\n" .string "does me.\p" .string "Hope I never see you again!\n" .string "Wahahaha!$" -SlateportCity_OceanicMuseum_1F_Text_20B49B: @ 820B49B +SlateportCity_OceanicMuseum_1F_Text_YouHaveToTakeThis: @ 820B49B .string "Awww, come on!\n" .string "You have to take this and let me go!$" -SlateportCity_OceanicMuseum_1F_Text_20B4CF: @ 820B4CF +SlateportCity_OceanicMuseum_1F_Text_WhirlpoolExperiment: @ 820B4CF .string "A blue fluid is spiraling inside\n" .string "a glass vessel.\p" .string "“This is an experiment to create a\n" .string "WHIRLPOOL artificially using wind.”$" -SlateportCity_OceanicMuseum_1F_Text_20B547: @ 820B547 +SlateportCity_OceanicMuseum_1F_Text_WaterfallExperiment: @ 820B547 .string "A red ball is bobbing up and down\n" .string "inside a glass vessel.\p" .string "“This is an experiment simulating a\n" .string "WATERFALL using the ball's buoyancy.”$" -SlateportCity_OceanicMuseum_1F_Text_20B5CA: @ 820B5CA +SlateportCity_OceanicMuseum_1F_Text_OceanSoilDisplay: @ 820B5CA .string "It's a sample of soil from the ocean\n" .string "floor.\p" .string "“Over many years, the remains of\n" @@ -341,7 +333,7 @@ SlateportCity_OceanicMuseum_1F_Text_20B5CA: @ 820B5CA .string "“By analyzing these layers, the\n" .string "ancient past is revealed.”$" -SlateportCity_OceanicMuseum_1F_Text_20B699: @ 820B699 +SlateportCity_OceanicMuseum_1F_Text_BeachSandDisplay: @ 820B699 .string "It's a sample of beach sand.\p" .string "“Stones from mountains are washed\n" .string "down by rivers where they are\l" @@ -349,7 +341,7 @@ SlateportCity_OceanicMuseum_1F_Text_20B699: @ 820B699 .string "“They are reduced to grains and end\n" .string "up as sand on beaches.”$" -SlateportCity_OceanicMuseum_1F_Text_20B74B: @ 820B74B +SlateportCity_OceanicMuseum_1F_Text_OceanicMinifact1: @ 820B74B .string "“OCEANIC MINIFACT 1\n" .string "Why is seawater blue?\p" .string "“Light is composed of many colors.\p" @@ -358,7 +350,7 @@ SlateportCity_OceanicMuseum_1F_Text_20B74B: @ 820B74B .string "“However, blue light retains its\n" .string "color, making the sea appear blue.”$" -SlateportCity_OceanicMuseum_1F_Text_20B81F: @ 820B81F +SlateportCity_OceanicMuseum_1F_Text_OceanicMinifact2: @ 820B81F .string "“OCEANIC MINIFACT 2\n" .string "Why is the sea salty?\p" .string "“Seawater contains dissolved salt in\n" @@ -368,7 +360,7 @@ SlateportCity_OceanicMuseum_1F_Text_20B81F: @ 820B81F .string "“The concentration of dissolved salt\n" .string "makes the sea salty.”$" -SlateportCity_OceanicMuseum_1F_Text_20B912: @ 820B912 +SlateportCity_OceanicMuseum_1F_Text_OceanicMinifact3: @ 820B912 .string "“OCEANIC MINIFACT 3\n" .string "Which is bigger? The sea or land?\p" .string "“The sea covers about 70% of\n" @@ -376,7 +368,7 @@ SlateportCity_OceanicMuseum_1F_Text_20B912: @ 820B912 .string "“The sea is therefore more than twice\n" .string "the size of land.”$" -SlateportCity_OceanicMuseum_1F_Text_20B9C0: @ 820B9C0 +SlateportCity_OceanicMuseum_1F_Text_FossilDisplay: @ 820B9C0 .string "It's a fossil with wavy ridges on it.\p" .string "“Soil on the ocean floor gets scoured\n" .string "by the tide.\p" @@ -385,7 +377,7 @@ SlateportCity_OceanicMuseum_1F_Text_20B9C0: @ 820B9C0 .string "“If this soil becomes fossilized, it is\n" .string "called a ripple mark.”$" -SlateportCity_OceanicMuseum_1F_Text_20BA9C: @ 820BA9C +SlateportCity_OceanicMuseum_1F_Text_DepthMeasuringMachine: @ 820BA9C .string "A strange machine is rotating under\n" .string "a glass dome.\p" .string "Maybe it's for measuring the depth\n" diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/map.json b/data/maps/SlateportCity_OceanicMuseum_2F/map.json index 6eaecba97a..0c45541e4c 100644 --- a/data/maps/SlateportCity_OceanicMuseum_2F/map.json +++ b/data/maps/SlateportCity_OceanicMuseum_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BB00", + "script": "SlateportCity_OceanicMuseum_2F_EventScript_CaptStern", "flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_CAPTAIN_STERN" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD64", + "script": "SlateportCity_OceanicMuseum_2F_EventScript_MuseumPatron1", "flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD6D", + "script": "SlateportCity_OceanicMuseum_2F_EventScript_MuseumPatron2", "flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD76", + "script": "SlateportCity_OceanicMuseum_2F_EventScript_MuseumPatron3", "flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION" } ], @@ -123,7 +123,7 @@ "y": 4, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD0A" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_WaterQualitySample1" }, { "type": "sign", @@ -131,7 +131,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD13" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_WaterQualitySample2" }, { "type": "sign", @@ -139,7 +139,7 @@ "y": 3, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD52" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_SubmersibleReplica" }, { "type": "sign", @@ -147,7 +147,7 @@ "y": 4, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD52" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_SubmersibleReplica" }, { "type": "sign", @@ -155,7 +155,7 @@ "y": 3, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD49" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_SubmarineReplica" }, { "type": "sign", @@ -163,7 +163,7 @@ "y": 3, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD49" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_SubmarineReplica" }, { "type": "sign", @@ -171,7 +171,7 @@ "y": 4, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD49" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_SubmarineReplica" }, { "type": "sign", @@ -179,7 +179,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD40" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_SSTidalReplica" }, { "type": "sign", @@ -187,7 +187,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD40" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_SSTidalReplica" }, { "type": "sign", @@ -195,7 +195,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD5B" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_SSAnneReplica" }, { "type": "sign", @@ -203,7 +203,7 @@ "y": 7, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD5B" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_SSAnneReplica" }, { "type": "sign", @@ -211,7 +211,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD37" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_SurfaceSeawaterDisplay" }, { "type": "sign", @@ -219,7 +219,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD37" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_SurfaceSeawaterDisplay" }, { "type": "sign", @@ -227,7 +227,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD2E" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_DeepSeawaterDisplay" }, { "type": "sign", @@ -235,7 +235,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD2E" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_DeepSeawaterDisplay" }, { "type": "sign", @@ -243,7 +243,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD25" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_HoennModel" }, { "type": "sign", @@ -251,7 +251,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD25" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_HoennModel" }, { "type": "sign", @@ -259,7 +259,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD1C" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_PressureExperiment" }, { "type": "sign", @@ -267,7 +267,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD1C" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_PressureExperiment" }, { "type": "sign", @@ -275,7 +275,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD40" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_SSTidalReplica" }, { "type": "sign", @@ -283,7 +283,7 @@ "y": 7, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD40" + "script": "SlateportCity_OceanicMuseum_2F_EventScript_SSTidalReplica" } ] } \ No newline at end of file diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc index d15a23558e..7593b78248 100644 --- a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc +++ b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc @@ -1,127 +1,127 @@ SlateportCity_OceanicMuseum_2F_MapScripts:: @ 820BAFF .byte 0 -SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00 +SlateportCity_OceanicMuseum_2F_EventScript_CaptStern:: @ 820BB00 lock faceplayer - msgbox SlateportCity_OceanicMuseum_2F_Text_20BD8D, MSGBOX_DEFAULT + msgbox SlateportCity_OceanicMuseum_2F_Text_ThankYouForTheParts, MSGBOX_DEFAULT closemessage playbgm MUS_AQA_0, 1 addobject 3 - applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCE4 + applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_FirstGruntEnter waitmovement 0 addobject 4 - applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCF3 + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_SecondGruntEnter waitmovement 0 - applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCE8 - applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCF5 + applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_FirstGruntApproach + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_SecondGruntApproach waitmovement 0 - compare VAR_FACING, 1 - call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BC92 - compare VAR_FACING, 4 - call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BC92 - msgbox SlateportCity_OceanicMuseum_2F_Text_20BE40, MSGBOX_DEFAULT - compare VAR_FACING, 4 - call_if_ne SlateportCity_OceanicMuseum_2F_EventScript_20BC9D - msgbox SlateportCity_OceanicMuseum_2F_Text_20BE69, MSGBOX_DEFAULT - msgbox SlateportCity_OceanicMuseum_2F_Text_20BE93, MSGBOX_DEFAULT + compare VAR_FACING, DIR_SOUTH + call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_PlayerFaceGrunts + compare VAR_FACING, DIR_EAST + call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_PlayerFaceGrunts + msgbox SlateportCity_OceanicMuseum_2F_Text_WellTakeThoseParts, MSGBOX_DEFAULT + compare VAR_FACING, DIR_EAST + call_if_ne SlateportCity_OceanicMuseum_2F_EventScript_SternFaceGrunts + msgbox SlateportCity_OceanicMuseum_2F_Text_SternWhoAreYou, MSGBOX_DEFAULT + msgbox SlateportCity_OceanicMuseum_2F_Text_WereTeamAqua, MSGBOX_DEFAULT closemessage - applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCE2 + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_GruntApproachToBattle waitmovement 0 - compare VAR_FACING, 1 - call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BCA8 - compare VAR_FACING, 3 - call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BCB3 - trainerbattle_no_intro TRAINER_GRUNT_14, SlateportCity_OceanicMuseum_2F_Text_20BEE2 - msgbox SlateportCity_OceanicMuseum_2F_Text_20BEFA, MSGBOX_DEFAULT + compare VAR_FACING, DIR_SOUTH + call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_PlayerApproachGruntSouth + compare VAR_FACING, DIR_WEST + call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_PlayerApproachGruntWest + trainerbattle_no_intro TRAINER_GRUNT_MUSEUM_1, SlateportCity_OceanicMuseum_2F_Text_Grunt1Defeat + msgbox SlateportCity_OceanicMuseum_2F_Text_BossGoingToBeFurious, MSGBOX_DEFAULT closemessage - applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCEF + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_GruntDefeated waitmovement 0 - applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCE2 + applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_GruntApproachToBattle waitmovement 0 - msgbox SlateportCity_OceanicMuseum_2F_Text_20BF35, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_GRUNT_15, SlateportCity_OceanicMuseum_2F_Text_20BF66 - applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCEF + msgbox SlateportCity_OceanicMuseum_2F_Text_LetMeTakeCareOfThis, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_GRUNT_MUSEUM_2, SlateportCity_OceanicMuseum_2F_Text_Grunt2Defeat + applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_GruntDefeated waitmovement 0 - applymovement 3, Common_Movement_WalkInPlaceDown - applymovement 4, Common_Movement_WalkInPlaceUp + applymovement 3, Common_Movement_WalkInPlaceFastestDown + applymovement 4, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox SlateportCity_OceanicMuseum_2F_Text_20BF7A, MSGBOX_DEFAULT + msgbox SlateportCity_OceanicMuseum_2F_Text_MeddlingKid, MSGBOX_DEFAULT closemessage delay 35 addobject 2 - applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_20BCD8 - applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCFE + applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_ArchieEnter + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_GruntMoveForArchie waitmovement 0 - msgbox SlateportCity_OceanicMuseum_2F_Text_20BFF2, MSGBOX_DEFAULT + msgbox SlateportCity_OceanicMuseum_2F_Text_CameToSeeWhatsTakingSoLong, MSGBOX_DEFAULT closemessage - applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_20BCD6 + applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_ArchieApproachPlayer waitmovement 0 - msgbox SlateportCity_OceanicMuseum_2F_Text_20C059, MSGBOX_DEFAULT + msgbox SlateportCity_OceanicMuseum_2F_Text_ArchieWarning, MSGBOX_DEFAULT closemessage savebgm MUS_DUMMY fadedefaultbgm - fadescreen 1 + fadescreen FADE_TO_BLACK removeobject 2 removeobject 3 removeobject 4 - fadescreen 0 + fadescreen FADE_FROM_BLACK delay 30 setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox SlateportCity_OceanicMuseum_2F_Text_20C2BE, MSGBOX_DEFAULT - setvar VAR_0x8004, 269 - call SlateportCity_OceanicMuseum_2F_EventScript_2723E4 - msgbox SlateportCity_OceanicMuseum_2F_Text_20C36C, MSGBOX_DEFAULT + msgbox SlateportCity_OceanicMuseum_2F_Text_SternThankYouForSavingUs, MSGBOX_DEFAULT + setvar VAR_0x8004, ITEM_DEVON_GOODS + call Common_EventScript_PlayerHandedOverTheItem + msgbox SlateportCity_OceanicMuseum_2F_Text_SternIveGotToGo, MSGBOX_DEFAULT closemessage - fadescreen 1 + fadescreen FADE_TO_BLACK playfanfare MUS_ME_ASA waitfanfare special HealPlayerParty removeobject 1 setflag FLAG_HIDE_ROUTE_110_TEAM_AQUA compare VAR_REGISTER_BIRCH_STATE, 0 - call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BC8C + call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_ReadyRegisterBirch setflag FLAG_DELIVERED_DEVON_GOODS clearflag FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE setvar VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 1 - fadescreen 0 + fadescreen FADE_FROM_BLACK release end -SlateportCity_OceanicMuseum_2F_EventScript_20BC8C:: @ 820BC8C +SlateportCity_OceanicMuseum_2F_EventScript_ReadyRegisterBirch:: @ 820BC8C setvar VAR_REGISTER_BIRCH_STATE, 1 return -SlateportCity_OceanicMuseum_2F_EventScript_20BC92:: @ 820BC92 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft +SlateportCity_OceanicMuseum_2F_EventScript_PlayerFaceGrunts:: @ 820BC92 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -SlateportCity_OceanicMuseum_2F_EventScript_20BC9D:: @ 820BC9D - applymovement 1, Common_Movement_WalkInPlaceLeft +SlateportCity_OceanicMuseum_2F_EventScript_SternFaceGrunts:: @ 820BC9D + applymovement 1, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -SlateportCity_OceanicMuseum_2F_EventScript_20BCA8:: @ 820BCA8 - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_20BCBE +SlateportCity_OceanicMuseum_2F_EventScript_PlayerApproachGruntSouth:: @ 820BCA8 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_PlayerApproachGruntSouth waitmovement 0 return -SlateportCity_OceanicMuseum_2F_EventScript_20BCB3:: @ 820BCB3 - applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_20BCC2 +SlateportCity_OceanicMuseum_2F_EventScript_PlayerApproachGruntWest:: @ 820BCB3 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_PlayerApproachGruntWest waitmovement 0 return -SlateportCity_OceanicMuseum_2F_Movement_20BCBE: @ 820BCBE +SlateportCity_OceanicMuseum_2F_Movement_PlayerApproachGruntSouth: @ 820BCBE walk_left walk_down walk_in_place_fastest_left step_end -SlateportCity_OceanicMuseum_2F_Movement_20BCC2: @ 820BCC2 +SlateportCity_OceanicMuseum_2F_Movement_PlayerApproachGruntWest: @ 820BCC2 walk_up walk_left walk_left @@ -129,7 +129,7 @@ SlateportCity_OceanicMuseum_2F_Movement_20BCC2: @ 820BCC2 walk_in_place_fastest_left step_end -SlateportCity_OceanicMuseum_2F_Movement_20BCC8: @ 820BCC8 +SlateportCity_OceanicMuseum_2F_Movement_Unused: @ 820BCC8 walk_up walk_left walk_left @@ -145,11 +145,11 @@ SlateportCity_OceanicMuseum_2F_Movement_20BCC8: @ 820BCC8 delay_8 step_end -SlateportCity_OceanicMuseum_2F_Movement_20BCD6: @ 820BCD6 +SlateportCity_OceanicMuseum_2F_Movement_ArchieApproachPlayer: @ 820BCD6 walk_right step_end -SlateportCity_OceanicMuseum_2F_Movement_20BCD8: @ 820BCD8 +SlateportCity_OceanicMuseum_2F_Movement_ArchieEnter: @ 820BCD8 walk_down walk_down walk_down @@ -161,17 +161,17 @@ SlateportCity_OceanicMuseum_2F_Movement_20BCD8: @ 820BCD8 walk_right step_end -SlateportCity_OceanicMuseum_2F_Movement_20BCE2: @ 820BCE2 +SlateportCity_OceanicMuseum_2F_Movement_GruntApproachToBattle: @ 820BCE2 walk_right step_end -SlateportCity_OceanicMuseum_2F_Movement_20BCE4: @ 820BCE4 +SlateportCity_OceanicMuseum_2F_Movement_FirstGruntEnter: @ 820BCE4 walk_down walk_right walk_in_place_fastest_down step_end -SlateportCity_OceanicMuseum_2F_Movement_20BCE8: @ 820BCE8 +SlateportCity_OceanicMuseum_2F_Movement_FirstGruntApproach: @ 820BCE8 walk_down walk_down walk_down @@ -180,17 +180,17 @@ SlateportCity_OceanicMuseum_2F_Movement_20BCE8: @ 820BCE8 walk_right step_end -SlateportCity_OceanicMuseum_2F_Movement_20BCEF: @ 820BCEF +SlateportCity_OceanicMuseum_2F_Movement_GruntDefeated: @ 820BCEF lock_facing_direction walk_left unlock_facing_direction step_end -SlateportCity_OceanicMuseum_2F_Movement_20BCF3: @ 820BCF3 +SlateportCity_OceanicMuseum_2F_Movement_SecondGruntEnter: @ 820BCF3 walk_down step_end -SlateportCity_OceanicMuseum_2F_Movement_20BCF5: @ 820BCF5 +SlateportCity_OceanicMuseum_2F_Movement_SecondGruntApproach: @ 820BCF5 walk_down walk_down walk_down @@ -201,7 +201,7 @@ SlateportCity_OceanicMuseum_2F_Movement_20BCF5: @ 820BCF5 walk_right step_end -SlateportCity_OceanicMuseum_2F_Movement_20BCFE: @ 820BCFE +SlateportCity_OceanicMuseum_2F_Movement_GruntMoveForArchie: @ 820BCFE delay_16 delay_16 delay_16 @@ -215,65 +215,65 @@ SlateportCity_OceanicMuseum_2F_Movement_20BCFE: @ 820BCFE walk_in_place_fastest_up step_end -SlateportCity_OceanicMuseum_2F_EventScript_20BD0A:: @ 820BD0A - msgbox SlateportCity_OceanicMuseum_2F_Text_20C4F9, MSGBOX_SIGN +SlateportCity_OceanicMuseum_2F_EventScript_WaterQualitySample1:: @ 820BD0A + msgbox SlateportCity_OceanicMuseum_2F_Text_WaterQualitySample1, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_2F_EventScript_20BD13:: @ 820BD13 - msgbox SlateportCity_OceanicMuseum_2F_Text_20C566, MSGBOX_SIGN +SlateportCity_OceanicMuseum_2F_EventScript_WaterQualitySample2:: @ 820BD13 + msgbox SlateportCity_OceanicMuseum_2F_Text_WaterQualitySample2, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_2F_EventScript_20BD1C:: @ 820BD1C - msgbox SlateportCity_OceanicMuseum_2F_Text_20C5C6, MSGBOX_SIGN +SlateportCity_OceanicMuseum_2F_EventScript_PressureExperiment:: @ 820BD1C + msgbox SlateportCity_OceanicMuseum_2F_Text_PressureExperiment, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_2F_EventScript_20BD25:: @ 820BD25 - msgbox SlateportCity_OceanicMuseum_2F_Text_20C6C7, MSGBOX_SIGN +SlateportCity_OceanicMuseum_2F_EventScript_HoennModel:: @ 820BD25 + msgbox SlateportCity_OceanicMuseum_2F_Text_HoennModel, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_2F_EventScript_20BD2E:: @ 820BD2E - msgbox SlateportCity_OceanicMuseum_2F_Text_20C72F, MSGBOX_SIGN +SlateportCity_OceanicMuseum_2F_EventScript_DeepSeawaterDisplay:: @ 820BD2E + msgbox SlateportCity_OceanicMuseum_2F_Text_DeepSeawaterDisplay, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_2F_EventScript_20BD37:: @ 820BD37 - msgbox SlateportCity_OceanicMuseum_2F_Text_20C7C1, MSGBOX_SIGN +SlateportCity_OceanicMuseum_2F_EventScript_SurfaceSeawaterDisplay:: @ 820BD37 + msgbox SlateportCity_OceanicMuseum_2F_Text_SurfaceSeawaterDisplay, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_2F_EventScript_20BD40:: @ 820BD40 - msgbox SlateportCity_OceanicMuseum_2F_Text_20C82F, MSGBOX_SIGN +SlateportCity_OceanicMuseum_2F_EventScript_SSTidalReplica:: @ 820BD40 + msgbox SlateportCity_OceanicMuseum_2F_Text_SSTidalReplica, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_2F_EventScript_20BD49:: @ 820BD49 - msgbox SlateportCity_OceanicMuseum_2F_Text_20C88B, MSGBOX_SIGN +SlateportCity_OceanicMuseum_2F_EventScript_SubmarineReplica:: @ 820BD49 + msgbox SlateportCity_OceanicMuseum_2F_Text_SubmarineReplica, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_2F_EventScript_20BD52:: @ 820BD52 - msgbox SlateportCity_OceanicMuseum_2F_Text_20C8E8, MSGBOX_SIGN +SlateportCity_OceanicMuseum_2F_EventScript_SubmersibleReplica:: @ 820BD52 + msgbox SlateportCity_OceanicMuseum_2F_Text_SumbersibleReplica, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_2F_EventScript_20BD5B:: @ 820BD5B - msgbox SlateportCity_OceanicMuseum_2F_Text_20C93A, MSGBOX_SIGN +SlateportCity_OceanicMuseum_2F_EventScript_SSAnneReplica:: @ 820BD5B + msgbox SlateportCity_OceanicMuseum_2F_Text_SSAnneReplica, MSGBOX_SIGN end -SlateportCity_OceanicMuseum_2F_EventScript_20BD64:: @ 820BD64 - msgbox SlateportCity_OceanicMuseum_2F_Text_20C43F, MSGBOX_NPC +SlateportCity_OceanicMuseum_2F_EventScript_MuseumPatron1:: @ 820BD64 + msgbox SlateportCity_OceanicMuseum_2F_Text_RemindsMeOfAbandonedShip, MSGBOX_NPC end -SlateportCity_OceanicMuseum_2F_EventScript_20BD6D:: @ 820BD6D - msgbox SlateportCity_OceanicMuseum_2F_Text_20C495, MSGBOX_NPC +SlateportCity_OceanicMuseum_2F_EventScript_MuseumPatron2:: @ 820BD6D + msgbox SlateportCity_OceanicMuseum_2F_Text_DontRunInMuseum, MSGBOX_NPC end -SlateportCity_OceanicMuseum_2F_EventScript_20BD76:: @ 820BD76 +SlateportCity_OceanicMuseum_2F_EventScript_MuseumPatron3:: @ 820BD76 lock faceplayer - msgbox SlateportCity_OceanicMuseum_2F_Text_20C4C2, MSGBOX_DEFAULT + msgbox SlateportCity_OceanicMuseum_2F_Text_WantToRideSubmarine, MSGBOX_DEFAULT closemessage applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection waitmovement 0 release end -SlateportCity_OceanicMuseum_2F_Text_20BD8D: @ 820BD8D +SlateportCity_OceanicMuseum_2F_Text_ThankYouForTheParts: @ 820BD8D .string "Yes? If you're looking for STERN,\n" .string "that would be me.\p" .string "Ah! Those must be the parts I ordered\n" @@ -281,47 +281,47 @@ SlateportCity_OceanicMuseum_2F_Text_20BD8D: @ 820BD8D .string "Thank you! That's great!\n" .string "We can prepare for our expedition now.$" -SlateportCity_OceanicMuseum_2F_Text_20BE40: @ 820BE40 +SlateportCity_OceanicMuseum_2F_Text_WellTakeThoseParts: @ 820BE40 .string "Hehehe, hold it!\n" .string "We'll take those parts!$" -SlateportCity_OceanicMuseum_2F_Text_20BE69: @ 820BE69 +SlateportCity_OceanicMuseum_2F_Text_SternWhoAreYou: @ 820BE69 .string "CAPT. STERN: Wh-what?\n" .string "Who are you people?$" -SlateportCity_OceanicMuseum_2F_Text_20BE93: @ 820BE93 +SlateportCity_OceanicMuseum_2F_Text_WereTeamAqua: @ 820BE93 .string "We're TEAM AQUA!\p" .string "Our BOSS wants those parts!\n" .string "Shut your yap and fork them over!$" -SlateportCity_OceanicMuseum_2F_Text_20BEE2: @ 820BEE2 +SlateportCity_OceanicMuseum_2F_Text_Grunt1Defeat: @ 820BEE2 .string "Awaaaah!\n" .string "A kid beat me!$" -SlateportCity_OceanicMuseum_2F_Text_20BEFA: @ 820BEFA +SlateportCity_OceanicMuseum_2F_Text_BossGoingToBeFurious: @ 820BEFA .string "Oh, man, what a disaster…\n" .string "The BOSS is going to be furious…$" -SlateportCity_OceanicMuseum_2F_Text_20BF35: @ 820BF35 +SlateportCity_OceanicMuseum_2F_Text_LetMeTakeCareOfThis: @ 820BF35 .string "Humph, sniveling wimp!\n" .string "Let me take care of this!$" -SlateportCity_OceanicMuseum_2F_Text_20BF66: @ 820BF66 +SlateportCity_OceanicMuseum_2F_Text_Grunt2Defeat: @ 820BF66 .string "What?!\n" .string "I lost, too!$" -SlateportCity_OceanicMuseum_2F_Text_20BF7A: @ 820BF7A +SlateportCity_OceanicMuseum_2F_Text_MeddlingKid: @ 820BF7A .string "Now what? If we don't get the parts,\n" .string "we're in for it!\p" .string "Arrgh, I didn't count on being meddled\n" .string "with by some meddling kid!$" -SlateportCity_OceanicMuseum_2F_Text_20BFF2: @ 820BFF2 +SlateportCity_OceanicMuseum_2F_Text_CameToSeeWhatsTakingSoLong: @ 820BFF2 .string "I came to see what was taking so\n" .string "long to snatch some parts, and you\l" .string "simps are held up by a mere child?$" -SlateportCity_OceanicMuseum_2F_Text_20C059: @ 820C059 +SlateportCity_OceanicMuseum_2F_Text_ArchieWarning: @ 820C059 .string "We are TEAM AQUA,\n" .string "and we love the sea!\p" .string "And I am TEAM AQUA's leader,\n" @@ -348,7 +348,7 @@ SlateportCity_OceanicMuseum_2F_Text_20C059: @ 820C059 .string "dearly!\p" .string "And don't you forget it!$" -SlateportCity_OceanicMuseum_2F_Text_20C2BE: @ 820C2BE +SlateportCity_OceanicMuseum_2F_Text_SternThankYouForSavingUs: @ 820C2BE .string "CAPT. STERN: You're…\n" .string "Ah, okay, you're {PLAYER}{KUN}…\p" .string "Anyway, that was a tense situation!\n" @@ -356,7 +356,7 @@ SlateportCity_OceanicMuseum_2F_Text_20C2BE: @ 820C2BE .string "Oh, yes, I almost forgot that you\n" .string "even brought the parts from DEVON!$" -SlateportCity_OceanicMuseum_2F_Text_20C36C: @ 820C36C +SlateportCity_OceanicMuseum_2F_Text_SternIveGotToGo: @ 820C36C .string "CAPT. STERN: Whoops!\n" .string "There's no time to lose!\p" .string "We have to set out on our ocean-floor\n" @@ -366,32 +366,32 @@ SlateportCity_OceanicMuseum_2F_Text_20C36C: @ 820C36C .string "Feel free to wander around and check\n" .string "out our facilities, though.$" -SlateportCity_OceanicMuseum_2F_Text_20C43F: @ 820C43F +SlateportCity_OceanicMuseum_2F_Text_RemindsMeOfAbandonedShip: @ 820C43F .string "I saw a model of a ship here.\p" .string "It reminded me of the ABANDONED SHIP\n" .string "near DEWFORD TOWN…$" -SlateportCity_OceanicMuseum_2F_Text_20C495: @ 820C495 +SlateportCity_OceanicMuseum_2F_Text_DontRunInMuseum: @ 820C495 .string "Don't you dare run around inside\n" .string "the MUSEUM!$" -SlateportCity_OceanicMuseum_2F_Text_20C4C2: @ 820C4C2 +SlateportCity_OceanicMuseum_2F_Text_WantToRideSubmarine: @ 820C4C2 .string "Wow, the submarine's awesome!\n" .string "I want to go for a ride!$" -SlateportCity_OceanicMuseum_2F_Text_20C4F9: @ 820C4F9 +SlateportCity_OceanicMuseum_2F_Text_WaterQualitySample1: @ 820C4F9 .string "“WATER QUALITY SAMPLE 1,” the\n" .string "label says.\p" .string "The sea is all connected, but the\n" .string "water seems to differ by region.$" -SlateportCity_OceanicMuseum_2F_Text_20C566: @ 820C566 +SlateportCity_OceanicMuseum_2F_Text_WaterQualitySample2: @ 820C566 .string "“WATER QUALITY SAMPLE 2,” the\n" .string "label says.\p" .string "Does the saltiness of seawater differ\n" .string "by region, too?$" -SlateportCity_OceanicMuseum_2F_Text_20C5C6: @ 820C5C6 +SlateportCity_OceanicMuseum_2F_Text_PressureExperiment: @ 820C5C6 .string "A rubber ball is expanding and\n" .string "shrinking.\p" .string "“In the sea, the weight of water itself\n" @@ -402,39 +402,39 @@ SlateportCity_OceanicMuseum_2F_Text_20C5C6: @ 820C5C6 .string "the pressure can reach even tens of\l" .string "thousands of tons on a small area.”$" -SlateportCity_OceanicMuseum_2F_Text_20C6C7: @ 820C6C7 +SlateportCity_OceanicMuseum_2F_Text_HoennModel: @ 820C6C7 .string "“MODEL OF HOENN REGION”\p" .string "It's a miniature diorama of the\n" .string "HOENN region.\p" .string "Where is LITTLEROOT TOWN on this?$" -SlateportCity_OceanicMuseum_2F_Text_20C72F: @ 820C72F +SlateportCity_OceanicMuseum_2F_Text_DeepSeawaterDisplay: @ 820C72F .string "It's a display on the flow of seawater.\p" .string "“Near the bottom of the sea, water\n" .string "flows due to differences in such\l" .string "factors as temperature and salinity.”$" -SlateportCity_OceanicMuseum_2F_Text_20C7C1: @ 820C7C1 +SlateportCity_OceanicMuseum_2F_Text_SurfaceSeawaterDisplay: @ 820C7C1 .string "It's a display on the flow of seawater.\p" .string "“Toward the surface, seawater flows\n" .string "as currents driven by the winds.”$" -SlateportCity_OceanicMuseum_2F_Text_20C82F: @ 820C82F +SlateportCity_OceanicMuseum_2F_Text_SSTidalReplica: @ 820C82F .string "“THE FERRY S.S. TIDAL\p" .string "“A scale replica of the ship under\n" .string "construction at STERN'S SHIPYARD.”$" -SlateportCity_OceanicMuseum_2F_Text_20C88B: @ 820C88B +SlateportCity_OceanicMuseum_2F_Text_SubmarineReplica: @ 820C88B .string "“SUBMARINE EXPLORER 1\p" .string "“A replica of the high-performance\n" .string "ocean floor exploration submarine.”$" -SlateportCity_OceanicMuseum_2F_Text_20C8E8: @ 820C8E8 +SlateportCity_OceanicMuseum_2F_Text_SumbersibleReplica: @ 820C8E8 .string "“SUBMERSIBLE POD\p" .string "“A replica of a compact, unmanned\n" .string "pod for seafloor exploration.”$" -SlateportCity_OceanicMuseum_2F_Text_20C93A: @ 820C93A +SlateportCity_OceanicMuseum_2F_Text_SSAnneReplica: @ 820C93A .string "“S.S. ANNE\p" .string "“A replica of the luxury liner that\n" .string "circles the globe.”$" diff --git a/data/maps/SlateportCity_PokemonCenter_1F/map.json b/data/maps/SlateportCity_PokemonCenter_1F/map.json index 3e87ae2562..4f8cefda93 100644 --- a/data/maps/SlateportCity_PokemonCenter_1F/map.json +++ b/data/maps/SlateportCity_PokemonCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonCenter_1F_EventScript_20DAD3", + "script": "SlateportCity_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonCenter_1F_EventScript_20DAE1", + "script": "SlateportCity_PokemonCenter_1F_EventScript_Sailor", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonCenter_1F_EventScript_20DAEA", + "script": "SlateportCity_PokemonCenter_1F_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc index 4c6b3ec7f4..ba4319cba9 100644 --- a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc @@ -1,30 +1,31 @@ SlateportCity_PokemonCenter_1F_MapScripts:: @ 820DABF map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, SlateportCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 SlateportCity_PokemonCenter_1F_OnTransition: @ 820DACA setrespawn HEAL_LOCATION_SLATEPORT_CITY - call SlateportCity_PokemonCenter_1F_EventScript_2718DE + call Common_EventScript_UpdateBrineyLocation end -SlateportCity_PokemonCenter_1F_EventScript_20DAD3:: @ 820DAD3 +@ VAR_0x800B is the Nurse's object event id +SlateportCity_PokemonCenter_1F_EventScript_Nurse:: @ 820DAD3 setvar VAR_0x800B, 1 - call SlateportCity_PokemonCenter_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -SlateportCity_PokemonCenter_1F_EventScript_20DAE1:: @ 820DAE1 - msgbox SlateportCity_PokemonCenter_1F_Text_20DAF3, MSGBOX_NPC +SlateportCity_PokemonCenter_1F_EventScript_Sailor:: @ 820DAE1 + msgbox SlateportCity_PokemonCenter_1F_Text_RaiseDifferentTypesOfPokemon, MSGBOX_NPC end -SlateportCity_PokemonCenter_1F_EventScript_20DAEA:: @ 820DAEA - msgbox SlateportCity_PokemonCenter_1F_Text_20DBBC, MSGBOX_NPC +SlateportCity_PokemonCenter_1F_EventScript_Woman:: @ 820DAEA + msgbox SlateportCity_PokemonCenter_1F_Text_TradedMonWithFriend, MSGBOX_NPC end -SlateportCity_PokemonCenter_1F_Text_20DAF3: @ 820DAF3 +SlateportCity_PokemonCenter_1F_Text_RaiseDifferentTypesOfPokemon: @ 820DAF3 .string "Want a tip for battling?\p" .string "I'd say it's raising different kinds\n" .string "of POKéMON in a balanced manner.\p" @@ -33,7 +34,7 @@ SlateportCity_PokemonCenter_1F_Text_20DAF3: @ 820DAF3 .string "If it has a type disadvantage,\n" .string "it might not stand a chance.$" -SlateportCity_PokemonCenter_1F_Text_20DBBC: @ 820DBBC +SlateportCity_PokemonCenter_1F_Text_TradedMonWithFriend: @ 820DBBC .string "I trade POKéMON with my friends.\p" .string "If a traded POKéMON is holding an\n" .string "item, it makes me twice as happy!$" diff --git a/data/maps/SlateportCity_PokemonCenter_2F/map.json b/data/maps/SlateportCity_PokemonCenter_2F/map.json index e6ad0518b8..74cccebf0e 100644 --- a/data/maps/SlateportCity_PokemonCenter_2F/map.json +++ b/data/maps/SlateportCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/SlateportCity_PokemonCenter_2F/scripts.inc b/data/maps/SlateportCity_PokemonCenter_2F/scripts.inc index a9d48f43d8..6406df27da 100644 --- a/data/maps/SlateportCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/SlateportCity_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ SlateportCity_PokemonCenter_2F_MapScripts:: @ 820DC21 - map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, SlateportCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -SlateportCity_PokemonCenter_2F_EventScript_20DC36:: @ 820DC36 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +SlateportCity_PokemonCenter_2F_EventScript_Colosseum:: @ 820DC36 + call CableClub_EventScript_Colosseum end -SlateportCity_PokemonCenter_2F_EventScript_20DC3C:: @ 820DC3C - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +SlateportCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 820DC3C + call CableClub_EventScript_TradeCenter end -SlateportCity_PokemonCenter_2F_EventScript_20DC42:: @ 820DC42 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +SlateportCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 820DC42 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/SlateportCity_PokemonFanClub/map.json b/data/maps/SlateportCity_PokemonFanClub/map.json index 045a0c315f..5e0e0616cd 100644 --- a/data/maps/SlateportCity_PokemonFanClub/map.json +++ b/data/maps/SlateportCity_PokemonFanClub/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonFanClub_EventScript_20A1E8", + "script": "SlateportCity_PokemonFanClub_EventScript_Man", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonFanClub_EventScript_20A1F1", + "script": "SlateportCity_PokemonFanClub_EventScript_Twin", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonFanClub_EventScript_28C943", + "script": "SlateportCity_PokemonFanClub_EventScript_Reporter", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonFanClub_EventScript_20A17E", + "script": "SlateportCity_PokemonFanClub_EventScript_SootheBellWoman", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonFanClub_EventScript_209E96", + "script": "SlateportCity_PokemonFanClub_EventScript_Chairman", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonFanClub_EventScript_20A20D", + "script": "SlateportCity_PokemonFanClub_EventScript_Zigzagoon", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonFanClub_EventScript_20A1FA", + "script": "SlateportCity_PokemonFanClub_EventScript_Skitty", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonFanClub_EventScript_20A220", + "script": "SlateportCity_PokemonFanClub_EventScript_Azumarill", "flag": "0" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_PokemonFanClub_EventScript_2C7F16", + "script": "SlateportCity_PokemonFanClub_EventScript_SwaggerTutor", "flag": "0" } ], diff --git a/data/maps/SlateportCity_PokemonFanClub/scripts.inc b/data/maps/SlateportCity_PokemonFanClub/scripts.inc index 866bf29638..e4086fa195 100644 --- a/data/maps/SlateportCity_PokemonFanClub/scripts.inc +++ b/data/maps/SlateportCity_PokemonFanClub/scripts.inc @@ -1,272 +1,272 @@ SlateportCity_PokemonFanClub_MapScripts:: @ 8209E95 .byte 0 -SlateportCity_PokemonFanClub_EventScript_209E96:: @ 8209E96 +SlateportCity_PokemonFanClub_EventScript_Chairman:: @ 8209E96 lock faceplayer - goto_if_unset FLAG_ENTERED_LINK_CONTEST, SlateportCity_PokemonFanClub_EventScript_20A152 - call_if_unset FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN, SlateportCity_PokemonFanClub_EventScript_20A172 + goto_if_unset FLAG_ENTERED_CONTEST, SlateportCity_PokemonFanClub_EventScript_ChairmanNotEnteredContest + call_if_unset FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN, SlateportCity_PokemonFanClub_EventScript_MeetChairman switch VAR_SLATEPORT_FAN_CLUB_STATE - case 0, SlateportCity_PokemonFanClub_EventScript_209ED2 - case 1, SlateportCity_PokemonFanClub_EventScript_209EE5 - case 2, SlateportCity_PokemonFanClub_EventScript_209F3B + case 0, SlateportCity_PokemonFanClub_EventScript_ChairmanFirstAssessment + case 1, SlateportCity_PokemonFanClub_EventScript_ChairmanTryAssessPokemon + case 2, SlateportCity_PokemonFanClub_EventScript_NoMoreScarves release end -SlateportCity_PokemonFanClub_EventScript_209ED2:: @ 8209ED2 +SlateportCity_PokemonFanClub_EventScript_ChairmanFirstAssessment:: @ 8209ED2 setvar VAR_SLATEPORT_FAN_CLUB_STATE, 1 - msgbox SlateportCity_PokemonFanClub_Text_20A445, MSGBOX_DEFAULT - goto SlateportCity_PokemonFanClub_EventScript_209F45 + msgbox SlateportCity_PokemonFanClub_Text_AllowMeToExamineYourPokemon, MSGBOX_DEFAULT + goto SlateportCity_PokemonFanClub_EventScript_ChairmanAssessLeadMon end -SlateportCity_PokemonFanClub_EventScript_209EE5:: @ 8209EE5 +SlateportCity_PokemonFanClub_EventScript_ChairmanTryAssessPokemon:: @ 8209EE5 setvar VAR_TEMP_2, 0 - call_if_set FLAG_RECEIVED_YELLOW_SCARF, SlateportCity_PokemonFanClub_EventScript_209FD0 - call_if_set FLAG_RECEIVED_GREEN_SCARF, SlateportCity_PokemonFanClub_EventScript_209FD0 - call_if_set FLAG_RECEIVED_PINK_SCARF, SlateportCity_PokemonFanClub_EventScript_209FD0 - call_if_set FLAG_RECEIVED_BLUE_SCARF, SlateportCity_PokemonFanClub_EventScript_209FD0 - call_if_set FLAG_RECEIVED_RED_SCARF, SlateportCity_PokemonFanClub_EventScript_209FD0 - compare VAR_TEMP_2, 5 - call_if_eq SlateportCity_PokemonFanClub_EventScript_209FCA + call_if_set FLAG_RECEIVED_YELLOW_SCARF, SlateportCity_PokemonFanClub_EventScript_CountReceivedScarf + call_if_set FLAG_RECEIVED_GREEN_SCARF, SlateportCity_PokemonFanClub_EventScript_CountReceivedScarf + call_if_set FLAG_RECEIVED_PINK_SCARF, SlateportCity_PokemonFanClub_EventScript_CountReceivedScarf + call_if_set FLAG_RECEIVED_BLUE_SCARF, SlateportCity_PokemonFanClub_EventScript_CountReceivedScarf + call_if_set FLAG_RECEIVED_RED_SCARF, SlateportCity_PokemonFanClub_EventScript_CountReceivedScarf + compare VAR_TEMP_2, CONTEST_CATEGORIES_COUNT + call_if_eq SlateportCity_PokemonFanClub_EventScript_ReceivedAllScarves compare VAR_SLATEPORT_FAN_CLUB_STATE, 2 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_209F3B - msgbox SlateportCity_PokemonFanClub_Text_20A62A, MSGBOX_DEFAULT - goto SlateportCity_PokemonFanClub_EventScript_209F45 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoMoreScarves + msgbox SlateportCity_PokemonFanClub_Text_HowIsYourPokemonGrowing, MSGBOX_DEFAULT + goto SlateportCity_PokemonFanClub_EventScript_ChairmanAssessLeadMon end -SlateportCity_PokemonFanClub_EventScript_209F3B:: @ 8209F3B - msgbox SlateportCity_PokemonFanClub_Text_20A9E1, MSGBOX_DEFAULT +SlateportCity_PokemonFanClub_EventScript_NoMoreScarves:: @ 8209F3B + msgbox SlateportCity_PokemonFanClub_Text_NothingElseToGiveYou, MSGBOX_DEFAULT release end -SlateportCity_PokemonFanClub_EventScript_209F45:: @ 8209F45 - msgbox SlateportCity_PokemonFanClub_Text_20A65F, MSGBOX_DEFAULT +SlateportCity_PokemonFanClub_EventScript_ChairmanAssessLeadMon:: @ 8209F45 + msgbox SlateportCity_PokemonFanClub_Text_HmHmISee, MSGBOX_DEFAULT setvar VAR_TEMP_1, 0 - call_if_unset FLAG_RECEIVED_YELLOW_SCARF, SlateportCity_PokemonFanClub_EventScript_20A13B - call_if_unset FLAG_RECEIVED_GREEN_SCARF, SlateportCity_PokemonFanClub_EventScript_20A124 - call_if_unset FLAG_RECEIVED_PINK_SCARF, SlateportCity_PokemonFanClub_EventScript_20A10D - call_if_unset FLAG_RECEIVED_BLUE_SCARF, SlateportCity_PokemonFanClub_EventScript_20A0F6 - call_if_unset FLAG_RECEIVED_RED_SCARF, SlateportCity_PokemonFanClub_EventScript_20A0DF + call_if_unset FLAG_RECEIVED_YELLOW_SCARF, SlateportCity_PokemonFanClub_EventScript_CheckMonTough + call_if_unset FLAG_RECEIVED_GREEN_SCARF, SlateportCity_PokemonFanClub_EventScript_CheckMonSmart + call_if_unset FLAG_RECEIVED_PINK_SCARF, SlateportCity_PokemonFanClub_EventScript_CheckMonCute + call_if_unset FLAG_RECEIVED_BLUE_SCARF, SlateportCity_PokemonFanClub_EventScript_CheckMonBeauty + call_if_unset FLAG_RECEIVED_RED_SCARF, SlateportCity_PokemonFanClub_EventScript_CheckMonCool bufferleadmonspeciesname 0 switch VAR_TEMP_1 - case 0, SlateportCity_PokemonFanClub_EventScript_209FD6 - case 1, SlateportCity_PokemonFanClub_EventScript_209FE0 - case 2, SlateportCity_PokemonFanClub_EventScript_20A011 - case 3, SlateportCity_PokemonFanClub_EventScript_20A042 - case 4, SlateportCity_PokemonFanClub_EventScript_20A073 - case 5, SlateportCity_PokemonFanClub_EventScript_20A0A4 + case 0, SlateportCity_PokemonFanClub_EventScript_NoHighConditions + case 1, SlateportCity_PokemonFanClub_EventScript_GiveRedScarf + case 2, SlateportCity_PokemonFanClub_EventScript_GiveBlueScarf + case 3, SlateportCity_PokemonFanClub_EventScript_GivePinkScarf + case 4, SlateportCity_PokemonFanClub_EventScript_GiveGreenScarf + case 5, SlateportCity_PokemonFanClub_EventScript_GiveYellowScarf release end -SlateportCity_PokemonFanClub_EventScript_209FCA:: @ 8209FCA +SlateportCity_PokemonFanClub_EventScript_ReceivedAllScarves:: @ 8209FCA setvar VAR_SLATEPORT_FAN_CLUB_STATE, 2 return -SlateportCity_PokemonFanClub_EventScript_209FD0:: @ 8209FD0 +SlateportCity_PokemonFanClub_EventScript_CountReceivedScarf:: @ 8209FD0 addvar VAR_TEMP_2, 1 return -SlateportCity_PokemonFanClub_EventScript_209FD6:: @ 8209FD6 - msgbox SlateportCity_PokemonFanClub_Text_20A66E, MSGBOX_DEFAULT +SlateportCity_PokemonFanClub_EventScript_NoHighConditions:: @ 8209FD6 + msgbox SlateportCity_PokemonFanClub_Text_GiveMonMorePokeblocks, MSGBOX_DEFAULT release end -SlateportCity_PokemonFanClub_EventScript_209FE0:: @ 8209FE0 +SlateportCity_PokemonFanClub_EventScript_GiveRedScarf:: @ 8209FE0 checkitemspace ITEM_RED_SCARF, 1 - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 - msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf + msgbox SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis, MSGBOX_DEFAULT setflag FLAG_RECEIVED_RED_SCARF - giveitem_std ITEM_RED_SCARF - msgbox SlateportCity_PokemonFanClub_Text_20A827, MSGBOX_DEFAULT + giveitem ITEM_RED_SCARF + msgbox SlateportCity_PokemonFanClub_Text_ExplainRedScarf, MSGBOX_DEFAULT release end -SlateportCity_PokemonFanClub_EventScript_20A011:: @ 820A011 +SlateportCity_PokemonFanClub_EventScript_GiveBlueScarf:: @ 820A011 checkitemspace ITEM_BLUE_SCARF, 1 - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 - msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf + msgbox SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis, MSGBOX_DEFAULT setflag FLAG_RECEIVED_BLUE_SCARF - giveitem_std ITEM_BLUE_SCARF - msgbox SlateportCity_PokemonFanClub_Text_20A880, MSGBOX_DEFAULT + giveitem ITEM_BLUE_SCARF + msgbox SlateportCity_PokemonFanClub_Text_ExplainBlueScarf, MSGBOX_DEFAULT release end -SlateportCity_PokemonFanClub_EventScript_20A042:: @ 820A042 +SlateportCity_PokemonFanClub_EventScript_GivePinkScarf:: @ 820A042 checkitemspace ITEM_PINK_SCARF, 1 - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 - msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf + msgbox SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis, MSGBOX_DEFAULT setflag FLAG_RECEIVED_PINK_SCARF - giveitem_std ITEM_PINK_SCARF - msgbox SlateportCity_PokemonFanClub_Text_20A8D7, MSGBOX_DEFAULT + giveitem ITEM_PINK_SCARF + msgbox SlateportCity_PokemonFanClub_Text_ExplainPinkScarf, MSGBOX_DEFAULT release end -SlateportCity_PokemonFanClub_EventScript_20A073:: @ 820A073 +SlateportCity_PokemonFanClub_EventScript_GiveGreenScarf:: @ 820A073 checkitemspace ITEM_GREEN_SCARF, 1 - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 - msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf + msgbox SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis, MSGBOX_DEFAULT setflag FLAG_RECEIVED_GREEN_SCARF - giveitem_std ITEM_GREEN_SCARF - msgbox SlateportCity_PokemonFanClub_Text_20A933, MSGBOX_DEFAULT + giveitem ITEM_GREEN_SCARF + msgbox SlateportCity_PokemonFanClub_Text_ExplainGreenScarf, MSGBOX_DEFAULT release end -SlateportCity_PokemonFanClub_EventScript_20A0A4:: @ 820A0A4 +SlateportCity_PokemonFanClub_EventScript_GiveYellowScarf:: @ 820A0A4 checkitemspace ITEM_YELLOW_SCARF, 1 - compare VAR_RESULT, 0 - goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 - msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf + msgbox SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis, MSGBOX_DEFAULT setflag FLAG_RECEIVED_YELLOW_SCARF - giveitem_std ITEM_YELLOW_SCARF - msgbox SlateportCity_PokemonFanClub_Text_20A984, MSGBOX_DEFAULT + giveitem ITEM_YELLOW_SCARF + msgbox SlateportCity_PokemonFanClub_Text_ExplainYellowScarf, MSGBOX_DEFAULT release end -SlateportCity_PokemonFanClub_EventScript_20A0D5:: @ 820A0D5 - msgbox SlateportCity_PokemonFanClub_Text_20A719, MSGBOX_DEFAULT +SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf:: @ 820A0D5 + msgbox SlateportCity_PokemonFanClub_Text_NoSpaceForReward, MSGBOX_DEFAULT release end -SlateportCity_PokemonFanClub_EventScript_20A0DF:: @ 820A0DF +SlateportCity_PokemonFanClub_EventScript_CheckMonCool:: @ 820A0DF specialvar VAR_RESULT, CheckLeadMonCool - compare VAR_RESULT, 1 - call_if_eq SlateportCity_PokemonFanClub_EventScript_20A0F0 + compare VAR_RESULT, TRUE + call_if_eq SlateportCity_PokemonFanClub_EventScript_SetMonCool return -SlateportCity_PokemonFanClub_EventScript_20A0F0:: @ 820A0F0 +SlateportCity_PokemonFanClub_EventScript_SetMonCool:: @ 820A0F0 setvar VAR_TEMP_1, 1 return -SlateportCity_PokemonFanClub_EventScript_20A0F6:: @ 820A0F6 +SlateportCity_PokemonFanClub_EventScript_CheckMonBeauty:: @ 820A0F6 specialvar VAR_RESULT, CheckLeadMonBeauty - compare VAR_RESULT, 1 - call_if_eq SlateportCity_PokemonFanClub_EventScript_20A107 + compare VAR_RESULT, TRUE + call_if_eq SlateportCity_PokemonFanClub_EventScript_SetMonBeauty return -SlateportCity_PokemonFanClub_EventScript_20A107:: @ 820A107 +SlateportCity_PokemonFanClub_EventScript_SetMonBeauty:: @ 820A107 setvar VAR_TEMP_1, 2 return -SlateportCity_PokemonFanClub_EventScript_20A10D:: @ 820A10D +SlateportCity_PokemonFanClub_EventScript_CheckMonCute:: @ 820A10D specialvar VAR_RESULT, CheckLeadMonCute - compare VAR_RESULT, 1 - call_if_eq SlateportCity_PokemonFanClub_EventScript_20A11E + compare VAR_RESULT, TRUE + call_if_eq SlateportCity_PokemonFanClub_EventScript_SetMonCute return -SlateportCity_PokemonFanClub_EventScript_20A11E:: @ 820A11E +SlateportCity_PokemonFanClub_EventScript_SetMonCute:: @ 820A11E setvar VAR_TEMP_1, 3 return -SlateportCity_PokemonFanClub_EventScript_20A124:: @ 820A124 +SlateportCity_PokemonFanClub_EventScript_CheckMonSmart:: @ 820A124 specialvar VAR_RESULT, CheckLeadMonSmart - compare VAR_RESULT, 1 - call_if_eq SlateportCity_PokemonFanClub_EventScript_20A135 + compare VAR_RESULT, TRUE + call_if_eq SlateportCity_PokemonFanClub_EventScript_SetMonSmart return -SlateportCity_PokemonFanClub_EventScript_20A135:: @ 820A135 +SlateportCity_PokemonFanClub_EventScript_SetMonSmart:: @ 820A135 setvar VAR_TEMP_1, 4 return -SlateportCity_PokemonFanClub_EventScript_20A13B:: @ 820A13B +SlateportCity_PokemonFanClub_EventScript_CheckMonTough:: @ 820A13B specialvar VAR_RESULT, CheckLeadMonTough - compare VAR_RESULT, 1 - call_if_eq SlateportCity_PokemonFanClub_EventScript_20A14C + compare VAR_RESULT, TRUE + call_if_eq SlateportCity_PokemonFanClub_EventScript_SetMonTough return -SlateportCity_PokemonFanClub_EventScript_20A14C:: @ 820A14C +SlateportCity_PokemonFanClub_EventScript_SetMonTough:: @ 820A14C setvar VAR_TEMP_1, 5 return -SlateportCity_PokemonFanClub_EventScript_20A152:: @ 820A152 - goto_if_set FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN, SlateportCity_PokemonFanClub_EventScript_20A168 - msgbox SlateportCity_PokemonFanClub_Text_20A233, MSGBOX_DEFAULT +SlateportCity_PokemonFanClub_EventScript_ChairmanNotEnteredContest:: @ 820A152 + goto_if_set FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN, SlateportCity_PokemonFanClub_EventScript_ChairmanEnterContest + msgbox SlateportCity_PokemonFanClub_Text_MeetChairman, MSGBOX_DEFAULT setflag FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN release end -SlateportCity_PokemonFanClub_EventScript_20A168:: @ 820A168 - msgbox SlateportCity_PokemonFanClub_Text_20A3EE, MSGBOX_DEFAULT +SlateportCity_PokemonFanClub_EventScript_ChairmanEnterContest:: @ 820A168 + msgbox SlateportCity_PokemonFanClub_Text_LikeToSeeEnteredContestPokemon, MSGBOX_DEFAULT release end -SlateportCity_PokemonFanClub_EventScript_20A172:: @ 820A172 - msgbox SlateportCity_PokemonFanClub_Text_20A233, MSGBOX_DEFAULT +SlateportCity_PokemonFanClub_EventScript_MeetChairman:: @ 820A172 + msgbox SlateportCity_PokemonFanClub_Text_MeetChairman, MSGBOX_DEFAULT setflag FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN return -SlateportCity_PokemonFanClub_EventScript_20A17E:: @ 820A17E +SlateportCity_PokemonFanClub_EventScript_SootheBellWoman:: @ 820A17E lock faceplayer - goto_if_set FLAG_RECEIVED_SOOTHE_BELL, SlateportCity_PokemonFanClub_EventScript_20A1DE - msgbox SlateportCity_PokemonFanClub_Text_20AA77, MSGBOX_DEFAULT + goto_if_set FLAG_RECEIVED_SOOTHE_BELL, SlateportCity_PokemonFanClub_EventScript_ReceivedSootheBell + msgbox SlateportCity_PokemonFanClub_Text_ShowMePokemonThatLoveYou, MSGBOX_DEFAULT specialvar VAR_RESULT, GetLeadMonFriendshipScore compare VAR_RESULT, 4 - goto_if_ge SlateportCity_PokemonFanClub_EventScript_20A1A3 + goto_if_ge SlateportCity_PokemonFanClub_EventScript_GiveSootheBell release end -SlateportCity_PokemonFanClub_EventScript_20A1A3:: @ 820A1A3 +SlateportCity_PokemonFanClub_EventScript_GiveSootheBell:: @ 820A1A3 playse SE_PIN applymovement VAR_LAST_TALKED, Common_Movement_ExclamationMark waitmovement 0 applymovement VAR_LAST_TALKED, Common_Movement_Delay48 waitmovement 0 - msgbox SlateportCity_PokemonFanClub_Text_20AB63, MSGBOX_DEFAULT - giveitem_std ITEM_SOOTHE_BELL - compare VAR_RESULT, 0 + msgbox SlateportCity_PokemonFanClub_Text_PokemonAdoresYou, MSGBOX_DEFAULT + giveitem ITEM_SOOTHE_BELL + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_SOOTHE_BELL release end -SlateportCity_PokemonFanClub_EventScript_20A1DE:: @ 820A1DE - msgbox SlateportCity_PokemonFanClub_Text_20ABC4, MSGBOX_DEFAULT +SlateportCity_PokemonFanClub_EventScript_ReceivedSootheBell:: @ 820A1DE + msgbox SlateportCity_PokemonFanClub_Text_TreatPokemonWithLove, MSGBOX_DEFAULT release end -SlateportCity_PokemonFanClub_EventScript_20A1E8:: @ 820A1E8 - msgbox SlateportCity_PokemonFanClub_Text_20AC47, MSGBOX_NPC +SlateportCity_PokemonFanClub_EventScript_Man:: @ 820A1E8 + msgbox SlateportCity_PokemonFanClub_Text_PokemonDontLikeFainting, MSGBOX_NPC end -SlateportCity_PokemonFanClub_EventScript_20A1F1:: @ 820A1F1 - msgbox SlateportCity_PokemonFanClub_Text_20ACF9, MSGBOX_NPC +SlateportCity_PokemonFanClub_EventScript_Twin:: @ 820A1F1 + msgbox SlateportCity_PokemonFanClub_Text_MonEnjoyedProtein, MSGBOX_NPC end -SlateportCity_PokemonFanClub_EventScript_20A1FA:: @ 820A1FA +SlateportCity_PokemonFanClub_EventScript_Skitty:: @ 820A1FA lock faceplayer waitse playmoncry SPECIES_SKITTY, 0 - msgbox SlateportCity_PokemonFanClub_Text_20AD5A, MSGBOX_DEFAULT + msgbox SlateportCity_PokemonFanClub_Text_Skitty, MSGBOX_DEFAULT waitmoncry release end -SlateportCity_PokemonFanClub_EventScript_20A20D:: @ 820A20D +SlateportCity_PokemonFanClub_EventScript_Zigzagoon:: @ 820A20D lock faceplayer waitse playmoncry SPECIES_ZIGZAGOON, 0 - msgbox SlateportCity_PokemonFanClub_Text_20AD6E, MSGBOX_DEFAULT + msgbox SlateportCity_PokemonFanClub_Text_Zigzagoon, MSGBOX_DEFAULT waitmoncry release end -SlateportCity_PokemonFanClub_EventScript_20A220:: @ 820A220 +SlateportCity_PokemonFanClub_EventScript_Azumarill:: @ 820A220 lock faceplayer waitse playmoncry SPECIES_AZUMARILL, 0 - msgbox SlateportCity_PokemonFanClub_Text_20AD80, MSGBOX_DEFAULT + msgbox SlateportCity_PokemonFanClub_Text_Azumarill, MSGBOX_DEFAULT waitmoncry release end -SlateportCity_PokemonFanClub_Text_20A233: @ 820A233 +SlateportCity_PokemonFanClub_Text_MeetChairman: @ 820A233 .string "Er-hem! I am the CHAIRMAN of the\n" .string "POKéMON FAN CLUB!\p" .string "Being the CHAIRMAN, I am naturally\n" @@ -283,12 +283,12 @@ SlateportCity_PokemonFanClub_Text_20A233: @ 820A233 .string "off our POKéMON, and have others\l" .string "show us theirs.$" -SlateportCity_PokemonFanClub_Text_20A3EE: @ 820A3EE +SlateportCity_PokemonFanClub_Text_LikeToSeeEnteredContestPokemon: @ 820A3EE .string "The POKéMON of a TRAINER who has\n" .string "entered a POKéMON CONTEST…\l" .string "That, I would like to see.$" -SlateportCity_PokemonFanClub_Text_20A445: @ 820A445 +SlateportCity_PokemonFanClub_Text_AllowMeToExamineYourPokemon: @ 820A445 .string "Er-hem! I see you've participated in\n" .string "a POKéMON CONTEST!\p" .string "Please! Allow me to examine how you\n" @@ -306,15 +306,15 @@ SlateportCity_PokemonFanClub_Text_20A445: @ 820A445 .string "Please! Allow me to examine how much\n" .string "your POKéMON has grown!$" -SlateportCity_PokemonFanClub_Text_20A62A: @ 820A62A +SlateportCity_PokemonFanClub_Text_HowIsYourPokemonGrowing: @ 820A62A .string "How is your POKéMON growing?\n" .string "Allow me to examine it.$" -SlateportCity_PokemonFanClub_Text_20A65F: @ 820A65F +SlateportCity_PokemonFanClub_Text_HmHmISee: @ 820A65F .string "Hm, hm…\n" .string "I see…$" -SlateportCity_PokemonFanClub_Text_20A66E: @ 820A66E +SlateportCity_PokemonFanClub_Text_GiveMonMorePokeblocks: @ 820A66E .string "Hmmm… It's not bad, but it's not\n" .string "good, either…\p" .string "You, the TRAINER, must put more\n" @@ -322,53 +322,53 @@ SlateportCity_PokemonFanClub_Text_20A66E: @ 820A66E .string "For instance, may I suggest that\n" .string "you give it more {POKEBLOCK}S?$" -SlateportCity_PokemonFanClub_Text_20A719: @ 820A719 +SlateportCity_PokemonFanClub_Text_NoSpaceForReward: @ 820A719 .string "Oh, my…\p" .string "Your POKéMON is growing quite well,\n" .string "so you deserve a reward.\p" .string "Unfortunately, you have no space for\n" .string "this in your BAG.$" -SlateportCity_PokemonFanClub_Text_20A795: @ 820A795 +SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis: @ 820A795 .string "Your {STR_VAR_1}, it is growing in\n" .string "a most impressive manner!\l" .string "It is one fine specimen!\p" .string "But! If you were to give it this,\n" .string "it would grow even better! Indeed!$" -SlateportCity_PokemonFanClub_Text_20A827: @ 820A827 +SlateportCity_PokemonFanClub_Text_ExplainRedScarf: @ 820A827 .string "Let a POKéMON hold that RED SCARF.\p" .string "Everyone will recognize the coolness\n" .string "of that POKéMON!$" -SlateportCity_PokemonFanClub_Text_20A880: @ 820A880 +SlateportCity_PokemonFanClub_Text_ExplainBlueScarf: @ 820A880 .string "Let a POKéMON hold that BLUE SCARF.\p" .string "Its beauty will be accentuated much\n" .string "more than now!$" -SlateportCity_PokemonFanClub_Text_20A8D7: @ 820A8D7 +SlateportCity_PokemonFanClub_Text_ExplainPinkScarf: @ 820A8D7 .string "Let a POKéMON hold that PINK SCARF.\p" .string "It will draw out the cuteness of\n" .string "the POKéMON some more!$" -SlateportCity_PokemonFanClub_Text_20A933: @ 820A933 +SlateportCity_PokemonFanClub_Text_ExplainGreenScarf: @ 820A933 .string "Let a POKéMON hold that GREEN SCARF.\p" .string "That will enhance the\n" .string "smartness of POKéMON!$" -SlateportCity_PokemonFanClub_Text_20A984: @ 820A984 +SlateportCity_PokemonFanClub_Text_ExplainYellowScarf: @ 820A984 .string "Let a POKéMON hold that YELLOW SCARF.\p" .string "It will bolster your POKéMON's\n" .string "toughness so much more!$" -SlateportCity_PokemonFanClub_Text_20A9E1: @ 820A9E1 +SlateportCity_PokemonFanClub_Text_NothingElseToGiveYou: @ 820A9E1 .string "I'm sorry, but I've nothing else to\n" .string "give you! None at all!\p" .string "After all, you're blessed with the gift\n" .string "of raising POKéMON without resorting\l" .string "to any items!$" -SlateportCity_PokemonFanClub_Text_20AA77: @ 820AA77 +SlateportCity_PokemonFanClub_Text_ShowMePokemonThatLoveYou: @ 820AA77 .string "I love seeing POKéMON that love\n" .string "their TRAINERS.\p" .string "POKéMON are very sensitive to\n" @@ -378,18 +378,18 @@ SlateportCity_PokemonFanClub_Text_20AA77: @ 820AA77 .string "When your POKéMON grow to love you,\n" .string "please come show me.$" -SlateportCity_PokemonFanClub_Text_20AB63: @ 820AB63 +SlateportCity_PokemonFanClub_Text_PokemonAdoresYou: @ 820AB63 .string "Your POKéMON really adores you.\p" .string "For you, a most compassionate\n" .string "TRAINER, a gift from the FAN CLUB!$" -SlateportCity_PokemonFanClub_Text_20ABC4: @ 820ABC4 +SlateportCity_PokemonFanClub_Text_TreatPokemonWithLove: @ 820ABC4 .string "POKéMON are very sensitive to\n" .string "the feelings of their TRAINERS.\p" .string "If you treat your POKéMON with love\n" .string "and care, they'll love you back.$" -SlateportCity_PokemonFanClub_Text_20AC47: @ 820AC47 +SlateportCity_PokemonFanClub_Text_PokemonDontLikeFainting: @ 820AC47 .string "If you keep letting a POKéMON faint\n" .string "in battle, it'll come to resent it.\p" .string "Soon, it will become less trusting\n" @@ -397,18 +397,18 @@ SlateportCity_PokemonFanClub_Text_20AC47: @ 820AC47 .string "In other words, it certainly won't\n" .string "like you very much.$" -SlateportCity_PokemonFanClub_Text_20ACF9: @ 820ACF9 +SlateportCity_PokemonFanClub_Text_MonEnjoyedProtein: @ 820ACF9 .string "Do POKéMON enjoy having items used\n" .string "on them?\p" .string "Mine acted really happy when I gave\n" .string "it some PROTEIN.$" -SlateportCity_PokemonFanClub_Text_20AD5A: @ 820AD5A +SlateportCity_PokemonFanClub_Text_Skitty: @ 820AD5A .string "SKITTY: Fffnyaaaah…$" -SlateportCity_PokemonFanClub_Text_20AD6E: @ 820AD6E +SlateportCity_PokemonFanClub_Text_Zigzagoon: @ 820AD6E .string "ZIGZAGOON: Kyuuu…$" -SlateportCity_PokemonFanClub_Text_20AD80: @ 820AD80 +SlateportCity_PokemonFanClub_Text_Azumarill: @ 820AD80 .string "AZUMARILL: Marimari?$" diff --git a/data/maps/SlateportCity_SternsShipyard_1F/map.json b/data/maps/SlateportCity_SternsShipyard_1F/map.json index 3514312806..d5d8fce4e4 100644 --- a/data/maps/SlateportCity_SternsShipyard_1F/map.json +++ b/data/maps/SlateportCity_SternsShipyard_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_SternsShipyard_1F_EventScript_207F40", + "script": "SlateportCity_SternsShipyard_1F_EventScript_Dock", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_SternsShipyard_1F_EventScript_207FED", + "script": "SlateportCity_SternsShipyard_1F_EventScript_Scientist1", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_SternsShipyard_1F_EventScript_207FF6", + "script": "SlateportCity_SternsShipyard_1F_EventScript_Scientist2", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_SternsShipyard_1F_EventScript_207FFF", + "script": "SlateportCity_SternsShipyard_1F_EventScript_Briney", "flag": "FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY" } ], diff --git a/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc b/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc index 6c554387af..4939f5407f 100644 --- a/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc +++ b/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc @@ -1,16 +1,16 @@ SlateportCity_SternsShipyard_1F_MapScripts:: @ 8207F3F .byte 0 -SlateportCity_SternsShipyard_1F_EventScript_207F40:: @ 8207F40 +SlateportCity_SternsShipyard_1F_EventScript_Dock:: @ 8207F40 lockall - goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_SternsShipyard_1F_EventScript_207F92 - goto_if_set FLAG_BADGE07_GET, SlateportCity_SternsShipyard_1F_EventScript_207FA6 - goto_if_set FLAG_DELIVERED_DEVON_GOODS, SlateportCity_SternsShipyard_1F_EventScript_207FD9 - goto_if_set FLAG_DOCK_REJECTED_DEVON_GOODS, SlateportCity_SternsShipyard_1F_EventScript_207FBA - msgbox SlateportCity_SternsShipyard_1F_Text_208008, MSGBOX_DEFAULT + goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_SternsShipyard_1F_EventScript_FerryReady + goto_if_set FLAG_BADGE07_GET, SlateportCity_SternsShipyard_1F_EventScript_BrineyJoined + goto_if_set FLAG_DELIVERED_DEVON_GOODS, SlateportCity_SternsShipyard_1F_EventScript_NeedVeteran + goto_if_set FLAG_DOCK_REJECTED_DEVON_GOODS, SlateportCity_SternsShipyard_1F_EventScript_GoFindStern + msgbox SlateportCity_SternsShipyard_1F_Text_CantMakeHeadsOrTails, MSGBOX_DEFAULT applymovement 1, Common_Movement_FacePlayer waitmovement 0 - msgbox SlateportCity_SternsShipyard_1F_Text_2080A5, MSGBOX_DEFAULT + msgbox SlateportCity_SternsShipyard_1F_Text_MeetDockDeliverToStern, MSGBOX_DEFAULT closemessage applymovement 1, Common_Movement_FaceOriginalDirection waitmovement 0 @@ -19,50 +19,50 @@ SlateportCity_SternsShipyard_1F_EventScript_207F40:: @ 8207F40 releaseall end -SlateportCity_SternsShipyard_1F_EventScript_207F92:: @ 8207F92 +SlateportCity_SternsShipyard_1F_EventScript_FerryReady:: @ 8207F92 applymovement 1, Common_Movement_FacePlayer waitmovement 0 - msgbox SlateportCity_SternsShipyard_1F_Text_208323, MSGBOX_DEFAULT + msgbox SlateportCity_SternsShipyard_1F_Text_FerryIsReady, MSGBOX_DEFAULT releaseall end -SlateportCity_SternsShipyard_1F_EventScript_207FA6:: @ 8207FA6 +SlateportCity_SternsShipyard_1F_EventScript_BrineyJoined:: @ 8207FA6 applymovement 1, Common_Movement_FacePlayer waitmovement 0 - msgbox SlateportCity_SternsShipyard_1F_Text_2082A8, MSGBOX_DEFAULT + msgbox SlateportCity_SternsShipyard_1F_Text_BrineyJoinedUs, MSGBOX_DEFAULT releaseall end -SlateportCity_SternsShipyard_1F_EventScript_207FBA:: @ 8207FBA +SlateportCity_SternsShipyard_1F_EventScript_GoFindStern:: @ 8207FBA applymovement 1, Common_Movement_FacePlayer waitmovement 0 - msgbox SlateportCity_SternsShipyard_1F_Text_2081A5, MSGBOX_DEFAULT + msgbox SlateportCity_SternsShipyard_1F_Text_CouldYouFindStern, MSGBOX_DEFAULT closemessage applymovement 1, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end -SlateportCity_SternsShipyard_1F_EventScript_207FD9:: @ 8207FD9 +SlateportCity_SternsShipyard_1F_EventScript_NeedVeteran:: @ 8207FD9 applymovement 1, Common_Movement_FacePlayer waitmovement 0 - msgbox SlateportCity_SternsShipyard_1F_Text_208213, MSGBOX_DEFAULT + msgbox SlateportCity_SternsShipyard_1F_Text_CouldUseAdviceFromVeteran, MSGBOX_DEFAULT releaseall end -SlateportCity_SternsShipyard_1F_EventScript_207FED:: @ 8207FED - msgbox SlateportCity_SternsShipyard_1F_Text_208558, MSGBOX_NPC +SlateportCity_SternsShipyard_1F_EventScript_Scientist1:: @ 8207FED + msgbox SlateportCity_SternsShipyard_1F_Text_SeaIsLikeLivingThing, MSGBOX_NPC end -SlateportCity_SternsShipyard_1F_EventScript_207FF6:: @ 8207FF6 - msgbox SlateportCity_SternsShipyard_1F_Text_2085FF, MSGBOX_NPC +SlateportCity_SternsShipyard_1F_EventScript_Scientist2:: @ 8207FF6 + msgbox SlateportCity_SternsShipyard_1F_Text_GetSeasickEasily, MSGBOX_NPC end -SlateportCity_SternsShipyard_1F_EventScript_207FFF:: @ 8207FFF - msgbox SlateportCity_SternsShipyard_1F_Text_2083EE, MSGBOX_NPC +SlateportCity_SternsShipyard_1F_EventScript_Briney:: @ 8207FFF + msgbox SlateportCity_SternsShipyard_1F_Text_DecidedToHelpDock, MSGBOX_NPC end -SlateportCity_SternsShipyard_1F_Text_208008: @ 8208008 +SlateportCity_SternsShipyard_1F_Text_CantMakeHeadsOrTails: @ 8208008 .string "Umm… If this goes here, and that\n" .string "goes over there…\p" .string "Then where does this thing go?\n" @@ -70,7 +70,7 @@ SlateportCity_SternsShipyard_1F_Text_208008: @ 8208008 .string "Aaargh! I can't make heads or tails\n" .string "of this!$" -SlateportCity_SternsShipyard_1F_Text_2080A5: @ 82080A5 +SlateportCity_SternsShipyard_1F_Text_MeetDockDeliverToStern: @ 82080A5 .string "Hm?\n" .string "Hi, I'm DOCK.\p" .string "CAPT. STERN commissioned me to\n" @@ -84,26 +84,26 @@ SlateportCity_SternsShipyard_1F_Text_2080A5: @ 82080A5 .string "Could I get you to go find CAPT.\n" .string "STERN and deliver that to him?$" -SlateportCity_SternsShipyard_1F_Text_2081A5: @ 82081A5 +SlateportCity_SternsShipyard_1F_Text_CouldYouFindStern: @ 82081A5 .string "DOCK: Where could CAPT. STERN have\n" .string "gone off to?\p" .string "Could you go find CAPT. STERN and\n" .string "deliver that parcel to him?$" -SlateportCity_SternsShipyard_1F_Text_208213: @ 8208213 +SlateportCity_SternsShipyard_1F_Text_CouldUseAdviceFromVeteran: @ 8208213 .string "DOCK: Shipbuilding is an art.\p" .string "A lot of things can't be figured out\n" .string "just by calculating.\p" .string "I really could use advice from a veteran\n" .string "who knows the seas…$" -SlateportCity_SternsShipyard_1F_Text_2082A8: @ 82082A8 +SlateportCity_SternsShipyard_1F_Text_BrineyJoinedUs: @ 82082A8 .string "DOCK: Hi! MR. BRINEY's joined us to\n" .string "lend us his help.\p" .string "Thanks to the veteran sailor, the\n" .string "ferry is steadily coming together.$" -SlateportCity_SternsShipyard_1F_Text_208323: @ 8208323 +SlateportCity_SternsShipyard_1F_Text_FerryIsReady: @ 8208323 .string "DOCK: The ferry is finally ready!\p" .string "The new S.S. TIDAL is truly a marvel\n" .string "of technology!\p" @@ -112,7 +112,7 @@ SlateportCity_SternsShipyard_1F_Text_208323: @ 8208323 .string "You know, there's never an end to\n" .string "technology's march.$" -SlateportCity_SternsShipyard_1F_Text_2083EE: @ 82083EE +SlateportCity_SternsShipyard_1F_Text_DecidedToHelpDock: @ 82083EE .string "MR. BRINEY: Ah, {PLAYER}{KUN}!\n" .string "It's been too long!\p" .string "Aye, since I met you, this old sea dog's\n" @@ -127,7 +127,7 @@ SlateportCity_SternsShipyard_1F_Text_2083EE: @ 82083EE .string "my experience, I'm sure that we can\l" .string "build one great ship, aye!$" -SlateportCity_SternsShipyard_1F_Text_208558: @ 8208558 +SlateportCity_SternsShipyard_1F_Text_SeaIsLikeLivingThing: @ 8208558 .string "The seasons, the weather, where\n" .string "the moon sits in the sky…\p" .string "These and other conditions make\n" @@ -135,7 +135,7 @@ SlateportCity_SternsShipyard_1F_Text_208558: @ 8208558 .string "That's right!\n" .string "The sea is like a living thing!$" -SlateportCity_SternsShipyard_1F_Text_2085FF: @ 82085FF +SlateportCity_SternsShipyard_1F_Text_GetSeasickEasily: @ 82085FF .string "I get seasick real easily.\n" .string "So I get to help out here instead.$" diff --git a/data/maps/SlateportCity_SternsShipyard_2F/map.json b/data/maps/SlateportCity_SternsShipyard_2F/map.json index 2e57c63fd5..78b39989f5 100644 --- a/data/maps/SlateportCity_SternsShipyard_2F/map.json +++ b/data/maps/SlateportCity_SternsShipyard_2F/map.json @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_SternsShipyard_2F_EventScript_20863E", + "script": "SlateportCity_SternsShipyard_2F_EventScript_Scientist1", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SlateportCity_SternsShipyard_2F_EventScript_208647", + "script": "SlateportCity_SternsShipyard_2F_EventScript_Scientist2", "flag": "0" } ], diff --git a/data/maps/SlateportCity_SternsShipyard_2F/scripts.inc b/data/maps/SlateportCity_SternsShipyard_2F/scripts.inc index 6fa410dfee..fff96bc654 100644 --- a/data/maps/SlateportCity_SternsShipyard_2F/scripts.inc +++ b/data/maps/SlateportCity_SternsShipyard_2F/scripts.inc @@ -1,20 +1,20 @@ SlateportCity_SternsShipyard_2F_MapScripts:: @ 820863D .byte 0 -SlateportCity_SternsShipyard_2F_EventScript_20863E:: @ 820863E - msgbox SlateportCity_SternsShipyard_2F_Text_208650, MSGBOX_NPC +SlateportCity_SternsShipyard_2F_EventScript_Scientist1:: @ 820863E + msgbox SlateportCity_SternsShipyard_2F_Text_ShipDesignMoreLikeBuilding, MSGBOX_NPC end -SlateportCity_SternsShipyard_2F_EventScript_208647:: @ 8208647 - msgbox SlateportCity_SternsShipyard_2F_Text_2086BA, MSGBOX_NPC +SlateportCity_SternsShipyard_2F_EventScript_Scientist2:: @ 8208647 + msgbox SlateportCity_SternsShipyard_2F_Text_FloatsBecauseBuoyancy, MSGBOX_NPC end -SlateportCity_SternsShipyard_2F_Text_208650: @ 8208650 +SlateportCity_SternsShipyard_2F_Text_ShipDesignMoreLikeBuilding: @ 8208650 .string "Designing a large ship is more like\n" .string "making a big building than putting\l" .string "together a transportation vehicle.$" -SlateportCity_SternsShipyard_2F_Text_2086BA: @ 82086BA +SlateportCity_SternsShipyard_2F_Text_FloatsBecauseBuoyancy: @ 82086BA .string "Don't you think it's strange that\n" .string "a ship made of heavy iron floats?\p" .string "It floats because of a principle\n" diff --git a/data/maps/SootopolisCity/map.json b/data/maps/SootopolisCity/map.json index 183c3ce46a..9462063473 100644 --- a/data/maps/SootopolisCity/map.json +++ b/data/maps/SootopolisCity/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_EventScript_1E5E8D", + "script": "SootopolisCity_EventScript_CaveOfOriginExpert", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_EventScript_1E5FE2", + "script": "SootopolisCity_EventScript_Woman2", "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_EventScript_1E5ED8", + "script": "SootopolisCity_EventScript_Kiri", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_EventScript_1E608E", + "script": "SootopolisCity_EventScript_NinjaBoy", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_EventScript_1E60E3", + "script": "SootopolisCity_EventScript_Boy1", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_EventScript_1E6017", + "script": "SootopolisCity_EventScript_Man", "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_MAN_1" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_EventScript_1E6166", + "script": "SootopolisCity_EventScript_Steven", "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_EventScript_1E6038", + "script": "SootopolisCity_EventScript_Woman1", "flag": "0" }, { @@ -167,7 +167,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_EventScript_1E6411", + "script": "SootopolisCity_EventScript_Maniac", "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS" }, { @@ -180,7 +180,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_EventScript_1E63DB", + "script": "SootopolisCity_EventScript_Girl", "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS" }, { @@ -193,7 +193,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_EventScript_1E6393", + "script": "SootopolisCity_EventScript_BlackBelt", "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS" }, { @@ -206,7 +206,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_EventScript_1E635D", + "script": "SootopolisCity_EventScript_Boy2", "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS" }, { @@ -219,7 +219,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_EventScript_1E64F2", + "script": "SootopolisCity_EventScript_Maxie", "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE" }, { @@ -232,7 +232,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_EventScript_1E651F", + "script": "SootopolisCity_EventScript_Archie", "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE" }, { @@ -245,7 +245,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_EventScript_1E6446", + "script": "SootopolisCity_EventScript_Wallace", "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE" } ], @@ -350,7 +350,7 @@ "y": 34, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SootopolisCity_EventScript_1E614B" + "script": "SootopolisCity_EventScript_GymSign" }, { "type": "sign", @@ -390,7 +390,7 @@ "y": 37, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SootopolisCity_EventScript_1E6154" + "script": "SootopolisCity_EventScript_CitySign" } ] } \ No newline at end of file diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc index 2f3ef04343..35cbcc4250 100644 --- a/data/maps/SootopolisCity/scripts.inc +++ b/data/maps/SootopolisCity/scripts.inc @@ -1,21 +1,21 @@ SootopolisCity_MapScripts:: @ 81E565C - map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_MapScript1_1E5676 + map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_OnTransition - map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_MapScript1_1E590B - map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_MapScript2_1E5914 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SootopolisCity_MapScript2_1E58DB + map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_OnResume + map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SootopolisCity_OnWarp .byte 0 -SootopolisCity_MapScript1_1E5676: @ 81E5676 - call_if_unset FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_1E56E5 - goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_EventScript_1E5692 - call_if_unset FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_1E5693 +SootopolisCity_OnLoad: @ 81E5676 + call_if_unset FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_LockGymDoor + goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_EventScript_LegendariesNotArrived + call_if_unset FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_LockHouseDoors end -SootopolisCity_EventScript_1E5692:: @ 81E5692 +SootopolisCity_EventScript_LegendariesNotArrived:: @ 81E5692 end -SootopolisCity_EventScript_1E5693:: @ 81E5693 +SootopolisCity_EventScript_LockHouseDoors:: @ 81E5693 setmetatile 9, 6, METATILE_Sootopolis_Door_Closed, 1 setmetatile 9, 17, METATILE_Sootopolis_Door_Closed, 1 setmetatile 9, 26, METATILE_Sootopolis_Door_Closed, 1 @@ -27,45 +27,45 @@ SootopolisCity_EventScript_1E5693:: @ 81E5693 setmetatile 51, 36, METATILE_Sootopolis_Door_Closed, 1 return -SootopolisCity_EventScript_1E56E5:: @ 81E56E5 +SootopolisCity_EventScript_LockGymDoor:: @ 81E56E5 setmetatile 31, 32, METATILE_Sootopolis_GymDoor_Closed, 1 return SootopolisCity_OnTransition: @ 81E56EF setflag FLAG_VISITED_SOOTOPOLIS_CITY compare VAR_SOOTOPOLIS_CITY_STATE, 1 - call_if_eq SootopolisCity_EventScript_1E5781 + call_if_eq SootopolisCity_EventScript_HideMapNamePopup compare VAR_SKY_PILLAR_STATE, 1 - call_if_eq SootopolisCity_EventScript_1E5781 - call SootopolisCity_EventScript_1E5805 - call SootopolisCity_EventScript_1E57B2 + call_if_eq SootopolisCity_EventScript_HideMapNamePopup + call SootopolisCity_EventScript_SetWeather + call SootopolisCity_EventScript_SetLayout compare VAR_SOOTOPOLIS_CITY_STATE, 1 - call_if_eq SootopolisCity_EventScript_1E5785 + call_if_eq SootopolisCity_EventScript_SetBattleSpectators compare VAR_SOOTOPOLIS_CITY_STATE, 2 - call_if_eq SootopolisCity_EventScript_1E5785 + call_if_eq SootopolisCity_EventScript_SetBattleSpectators compare VAR_SOOTOPOLIS_CITY_STATE, 3 - call_if_eq SootopolisCity_EventScript_1E5785 + call_if_eq SootopolisCity_EventScript_SetBattleSpectators compare VAR_SOOTOPOLIS_CITY_STATE, 4 - call_if_eq SootopolisCity_EventScript_1E5785 + call_if_eq SootopolisCity_EventScript_SetBattleSpectators compare VAR_SOOTOPOLIS_CITY_STATE, 5 - call_if_eq SootopolisCity_EventScript_1E5785 + call_if_eq SootopolisCity_EventScript_SetBattleSpectators compare VAR_SOOTOPOLIS_CITY_STATE, 2 - call_if_eq SootopolisCity_EventScript_1E5842 + call_if_eq SootopolisCity_EventScript_CheckSetEnterCaveOfOriginObjPos compare VAR_SOOTOPOLIS_CITY_STATE, 3 - call_if_eq SootopolisCity_EventScript_1E5842 + call_if_eq SootopolisCity_EventScript_CheckSetEnterCaveOfOriginObjPos compare VAR_SOOTOPOLIS_CITY_STATE, 4 - call_if_eq SootopolisCity_EventScript_1E585B + call_if_eq SootopolisCity_EventScript_SetExitCaveOfOriginObjPos compare VAR_SOOTOPOLIS_CITY_STATE, 5 - call_if_eq SootopolisCity_EventScript_1E5871 + call_if_eq SootopolisCity_EventScript_SetOutsideGymObjPos compare VAR_SOOTOPOLIS_CITY_STATE, 6 - call_if_eq SootopolisCity_EventScript_1E58D3 + call_if_eq SootopolisCity_EventScript_SetExpertBlockCaveEntrance end -SootopolisCity_EventScript_1E5781:: @ 81E5781 +SootopolisCity_EventScript_HideMapNamePopup:: @ 81E5781 setflag FLAG_HIDE_MAP_NAME_POPUP return -SootopolisCity_EventScript_1E5785:: @ 81E5785 +SootopolisCity_EventScript_SetBattleSpectators:: @ 81E5785 setobjectxyperm 3, 13, 48 setobjectxyperm 5, 46, 32 setobjectxyperm 4, 48, 41 @@ -76,199 +76,200 @@ SootopolisCity_EventScript_1E5785:: @ 81E5785 setobjectmovementtype 8, MOVEMENT_TYPE_FACE_LEFT return -SootopolisCity_EventScript_1E57B2:: @ 81E57B2 +SootopolisCity_EventScript_SetLayout:: @ 81E57B2 compare VAR_SOOTOPOLIS_CITY_STATE, 0 - goto_if_eq SootopolisCity_EventScript_1E5800 + goto_if_eq SootopolisCity_EventScript_SetNormalLayout compare VAR_SOOTOPOLIS_CITY_STATE, 6 - goto_if_ge SootopolisCity_EventScript_1E5800 + goto_if_ge SootopolisCity_EventScript_SetNormalLayout compare VAR_SOOTOPOLIS_CITY_STATE, 1 - goto_if_eq SootopolisCity_EventScript_1E5801 + goto_if_eq SootopolisCity_EventScript_SetLegendariesLayout compare VAR_SOOTOPOLIS_CITY_STATE, 2 - goto_if_eq SootopolisCity_EventScript_1E5801 + goto_if_eq SootopolisCity_EventScript_SetLegendariesLayout compare VAR_SOOTOPOLIS_CITY_STATE, 3 - goto_if_eq SootopolisCity_EventScript_1E5801 + goto_if_eq SootopolisCity_EventScript_SetLegendariesLayout compare VAR_SOOTOPOLIS_CITY_STATE, 4 - goto_if_eq SootopolisCity_EventScript_1E5801 + goto_if_eq SootopolisCity_EventScript_SetLegendariesLayout compare VAR_SKY_PILLAR_STATE, 1 - goto_if_le SootopolisCity_EventScript_1E5801 + goto_if_le SootopolisCity_EventScript_SetLegendariesLayout return -SootopolisCity_EventScript_1E5800:: @ 81E5800 +SootopolisCity_EventScript_SetNormalLayout:: @ 81E5800 return -SootopolisCity_EventScript_1E5801:: @ 81E5801 +SootopolisCity_EventScript_SetLegendariesLayout:: @ 81E5801 setmaplayoutindex LAYOUT_SOOTOPOLIS_CITY_LEGENDS_BATTLE return -SootopolisCity_EventScript_1E5805:: @ 81E5805 +SootopolisCity_EventScript_SetWeather:: @ 81E5805 compare VAR_SOOTOPOLIS_CITY_STATE, 0 - goto_if_eq SootopolisCity_EventScript_1E583D + goto_if_eq SootopolisCity_EventScript_SetNormalWeather compare VAR_SOOTOPOLIS_CITY_STATE, 6 - goto_if_ge SootopolisCity_EventScript_1E583D + goto_if_ge SootopolisCity_EventScript_SetNormalWeather compare VAR_SOOTOPOLIS_CITY_STATE, 1 - goto_if_eq SootopolisCity_EventScript_1E583E + goto_if_eq SootopolisCity_EventScript_SetDownpour compare VAR_SKY_PILLAR_STATE, 1 - goto_if_eq SootopolisCity_EventScript_1E583E + goto_if_eq SootopolisCity_EventScript_SetDownpour compare VAR_SKY_PILLAR_STATE, 1 - goto_if_le Common_EventScript_SetWeather15 + goto_if_le Common_EventScript_SetAbnormalWeather return -SootopolisCity_EventScript_1E583D:: @ 81E583D +SootopolisCity_EventScript_SetNormalWeather:: @ 81E583D return -SootopolisCity_EventScript_1E583E:: @ 81E583E - setweather WEATHER_RAIN_HEAVY +SootopolisCity_EventScript_SetDownpour:: @ 81E583E + setweather WEATHER_DOWNPOUR return -SootopolisCity_EventScript_1E5842:: @ 81E5842 - goto_if_set FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN, SootopolisCity_EventScript_1E584C +SootopolisCity_EventScript_CheckSetEnterCaveOfOriginObjPos:: @ 81E5842 + goto_if_set FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN, SootopolisCity_EventScript_SetEnterCaveOfOriginObjPos return -SootopolisCity_EventScript_1E584C:: @ 81E584C - setobjectxyperm 1, 30, 18 - setobjectxyperm 7, 32, 18 +SootopolisCity_EventScript_SetEnterCaveOfOriginObjPos:: @ 81E584C + setobjectxyperm 1, 30, 18 @ Expert + setobjectxyperm 7, 32, 18 @ Steven return -SootopolisCity_EventScript_1E585B:: @ 81E585B - setobjectxyperm 1, 30, 18 - setobjectxyperm 18, 31, 18 - setobjectxyperm 7, 32, 18 +SootopolisCity_EventScript_SetExitCaveOfOriginObjPos:: @ 81E585B + setobjectxyperm 1, 30, 18 @ Expert + setobjectxyperm 18, 31, 18 @ Wallace + setobjectxyperm 7, 32, 18 @ Steven end -SootopolisCity_EventScript_1E5871:: @ 81E5871 - setobjectxyperm 1, 31, 18 - setobjectxyperm 7, 29, 33 - setobjectxyperm 16, 33, 35 - setobjectxyperm 17, 34, 35 +SootopolisCity_EventScript_SetOutsideGymObjPos:: @ 81E5871 + setobjectxyperm 1, 31, 18 @ Expert + setobjectxyperm 7, 29, 33 @ Steven + setobjectxyperm 16, 33, 35 @ Maxie + setobjectxyperm 17, 34, 35 @ Archie compare VAR_SOOTOPOLIS_WALLACE_STATE, 0 - call_if_eq SootopolisCity_EventScript_1E58AF + call_if_eq SootopolisCity_EventScript_SetWallaceMiddle compare VAR_SOOTOPOLIS_WALLACE_STATE, 1 - call_if_eq SootopolisCity_EventScript_1E58BB + call_if_eq SootopolisCity_EventScript_SetWallaceRight compare VAR_SOOTOPOLIS_WALLACE_STATE, 2 - call_if_eq SootopolisCity_EventScript_1E58C7 + call_if_eq SootopolisCity_EventScript_SetWallaceLeft return -SootopolisCity_EventScript_1E58AF:: @ 81E58AF +SootopolisCity_EventScript_SetWallaceMiddle:: @ 81E58AF setobjectxyperm 18, 31, 33 setobjectmovementtype 18, MOVEMENT_TYPE_FACE_DOWN return -SootopolisCity_EventScript_1E58BB:: @ 81E58BB +SootopolisCity_EventScript_SetWallaceRight:: @ 81E58BB setobjectxyperm 18, 32, 33 setobjectmovementtype 18, MOVEMENT_TYPE_FACE_DOWN return -SootopolisCity_EventScript_1E58C7:: @ 81E58C7 +SootopolisCity_EventScript_SetWallaceLeft:: @ 81E58C7 setobjectxyperm 18, 30, 33 setobjectmovementtype 18, MOVEMENT_TYPE_FACE_DOWN return -SootopolisCity_EventScript_1E58D3:: @ 81E58D3 - setobjectxyperm 1, 31, 18 +SootopolisCity_EventScript_SetExpertBlockCaveEntrance:: @ 81E58D3 + setobjectxyperm 1, 31, 18 @ Expert return -SootopolisCity_MapScript2_1E58DB: @ 81E58DB - map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_1E58E5 +SootopolisCity_OnWarp: @ 81E58DB + map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_PlayerFaceLegendaries .2byte 0 -SootopolisCity_EventScript_1E58E5:: @ 81E58E5 +SootopolisCity_EventScript_PlayerFaceLegendaries:: @ 81E58E5 compare VAR_SKY_PILLAR_STATE, 1 - call_if_eq SootopolisCity_EventScript_1E58FC + call_if_eq SootopolisCity_EventScript_PlayerFaceLegendaries1 compare VAR_SKY_PILLAR_STATE, 2 - call_if_eq SootopolisCity_EventScript_1E5901 + call_if_eq SootopolisCity_EventScript_PlayerFaceLegendaries2 end -SootopolisCity_EventScript_1E58FC:: @ 81E58FC - turnobject EVENT_OBJ_ID_PLAYER, 2 +SootopolisCity_EventScript_PlayerFaceLegendaries1:: @ 81E58FC + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH return -SootopolisCity_EventScript_1E5901:: @ 81E5901 - turnobject EVENT_OBJ_ID_PLAYER, 2 +SootopolisCity_EventScript_PlayerFaceLegendaries2:: @ 81E5901 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH setvar VAR_SKY_PILLAR_STATE, 3 return -SootopolisCity_MapScript1_1E590B: @ 81E590B +SootopolisCity_OnResume: @ 81E590B setdivewarp MAP_UNDERWATER_SOOTOPOLIS_CITY, 255, 9, 6 end -SootopolisCity_MapScript2_1E5914: @ 81E5914 - map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 1, SootopolisCity_EventScript_1E5926 - map_script_2 VAR_SKY_PILLAR_STATE, 1, SootopolisCity_EventScript_1E5BFE +SootopolisCity_OnFrame: @ 81E5914 + map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 1, SootopolisCity_EventScript_StartLegendariesScene + map_script_2 VAR_SKY_PILLAR_STATE, 1, SootopolisCity_EventScript_StartRayquazaScene .2byte 0 -SootopolisCity_EventScript_1E5926:: @ 81E5926 +@ If not at PokeCenter, assumed to have arrived via Dive +SootopolisCity_EventScript_StartLegendariesScene:: @ 81E5926 lockall special StorePlayerCoordsInVars compare VAR_0x8004, 43 - goto_if_ne SootopolisCity_EventScript_1E5A82 + goto_if_ne SootopolisCity_EventScript_LegendariesSceneFromDive compare VAR_0x8005, 32 - goto_if_ne SootopolisCity_EventScript_1E5A82 - goto SootopolisCity_EventScript_1E5946 + goto_if_ne SootopolisCity_EventScript_LegendariesSceneFromDive + goto SootopolisCity_EventScript_LegendariesSceneFromPokeCenter end -SootopolisCity_EventScript_1E5946:: @ 81E5946 +SootopolisCity_EventScript_LegendariesSceneFromPokeCenter:: @ 81E5946 delay 60 special SpawnCameraObject - applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5A68 + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_PanToActionFromPokeCenter waitmovement 0 special RemoveCameraObject delay 60 - fadescreenspeed 1, 8 - setweather WEATHER_ALTERNATING + fadescreenspeed FADE_TO_BLACK, 8 + setweather WEATHER_ABNORMAL doweather setvar VAR_0x8004, 0 - special sub_813B7D8 + special Script_DoRayquazaScene waitstate - applymovement 10, Common_Movement_WalkInPlaceLeft - applymovement 9, Common_Movement_WalkInPlaceRight + applymovement 10, Common_Movement_WalkInPlaceFastestLeft + applymovement 9, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 60 waitse playmoncry SPECIES_KYOGRE, 2 - applymovement 10, SootopolisCity_Movement_1E5BB8 - applymovement 9, SootopolisCity_Movement_1E5BE5 + applymovement 10, SootopolisCity_Movement_KyogreAttack + applymovement 9, SootopolisCity_Movement_GroudonDefend waitmovement 0 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 5 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 1 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 5 @ shake delay + special ShakeCamera waitstate - applymovement 10, SootopolisCity_Movement_1E5BCF - applymovement 9, SootopolisCity_Movement_1E5BF0 + applymovement 10, SootopolisCity_Movement_KyogreMoveBack + applymovement 9, SootopolisCity_Movement_GroudonMoveBack waitmovement 0 waitse playmoncry SPECIES_GROUDON, 2 - applymovement 10, SootopolisCity_Movement_1E5BC2 - applymovement 9, SootopolisCity_Movement_1E5BDD + applymovement 10, SootopolisCity_Movement_GroudonAttack + applymovement 9, SootopolisCity_Movement_KyogreDefend waitmovement 0 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 5 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 1 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 5 @ shake delay + special ShakeCamera waitstate - applymovement 10, SootopolisCity_Movement_1E5BCF - applymovement 9, SootopolisCity_Movement_1E5BF0 + applymovement 10, SootopolisCity_Movement_KyogreMoveBack + applymovement 9, SootopolisCity_Movement_GroudonMoveBack waitmovement 0 waitse playmoncry SPECIES_KYOGRE, 2 - applymovement 10, SootopolisCity_Movement_1E5BB8 - applymovement 9, SootopolisCity_Movement_1E5BE5 + applymovement 10, SootopolisCity_Movement_KyogreAttack + applymovement 9, SootopolisCity_Movement_GroudonDefend waitmovement 0 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 5 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 1 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 5 @ shake delay + special ShakeCamera waitstate - applymovement 10, SootopolisCity_Movement_1E5BCF - applymovement 9, SootopolisCity_Movement_1E5BF0 + applymovement 10, SootopolisCity_Movement_KyogreMoveBack + applymovement 9, SootopolisCity_Movement_GroudonMoveBack waitmovement 0 special SpawnCameraObject - applymovement 10, SootopolisCity_Movement_1E5BD6 - applymovement 9, SootopolisCity_Movement_1E5BF7 - applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5A75 + applymovement 10, SootopolisCity_Movement_KyogreIdle + applymovement 9, SootopolisCity_Movement_GroudonIdle + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_PanBackToPokeCenter waitmovement 0 special RemoveCameraObject setvar VAR_SOOTOPOLIS_CITY_STATE, 2 @@ -276,7 +277,7 @@ SootopolisCity_EventScript_1E5946:: @ 81E5946 releaseall end -SootopolisCity_Movement_1E5A68: @ 81E5A68 +SootopolisCity_Movement_PanToActionFromPokeCenter: @ 81E5A68 walk_slow_diag_southwest walk_slow_diag_southwest walk_slow_diag_southwest @@ -291,7 +292,7 @@ SootopolisCity_Movement_1E5A68: @ 81E5A68 walk_slow_diag_southwest step_end -SootopolisCity_Movement_1E5A75: @ 81E5A75 +SootopolisCity_Movement_PanBackToPokeCenter: @ 81E5A75 walk_slow_diag_northeast walk_slow_diag_northeast walk_slow_diag_northeast @@ -306,69 +307,69 @@ SootopolisCity_Movement_1E5A75: @ 81E5A75 walk_slow_diag_northeast step_end -SootopolisCity_EventScript_1E5A82:: @ 81E5A82 +SootopolisCity_EventScript_LegendariesSceneFromDive:: @ 81E5A82 delay 60 special SpawnCameraObject - applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5BA4 + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_PanToActionFromDive waitmovement 0 special RemoveCameraObject delay 60 - fadescreenspeed 1, 8 - setweather WEATHER_ALTERNATING + fadescreenspeed FADE_TO_BLACK, 8 + setweather WEATHER_ABNORMAL doweather setvar VAR_0x8004, 0 - special sub_813B7D8 + special Script_DoRayquazaScene waitstate - applymovement 10, Common_Movement_WalkInPlaceLeft - applymovement 9, Common_Movement_WalkInPlaceRight + applymovement 10, Common_Movement_WalkInPlaceFastestLeft + applymovement 9, Common_Movement_WalkInPlaceFastestRight waitmovement 0 delay 60 waitse playmoncry SPECIES_KYOGRE, 2 - applymovement 10, SootopolisCity_Movement_1E5BB8 - applymovement 9, SootopolisCity_Movement_1E5BE5 + applymovement 10, SootopolisCity_Movement_KyogreAttack + applymovement 9, SootopolisCity_Movement_GroudonDefend waitmovement 0 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 5 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 1 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 5 @ shake delay + special ShakeCamera waitstate - applymovement 10, SootopolisCity_Movement_1E5BCF - applymovement 9, SootopolisCity_Movement_1E5BF0 + applymovement 10, SootopolisCity_Movement_KyogreMoveBack + applymovement 9, SootopolisCity_Movement_GroudonMoveBack waitmovement 0 waitse playmoncry SPECIES_GROUDON, 2 - applymovement 10, SootopolisCity_Movement_1E5BC2 - applymovement 9, SootopolisCity_Movement_1E5BDD + applymovement 10, SootopolisCity_Movement_GroudonAttack + applymovement 9, SootopolisCity_Movement_KyogreDefend waitmovement 0 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 5 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 1 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 5 @ shake delay + special ShakeCamera waitstate - applymovement 10, SootopolisCity_Movement_1E5BCF - applymovement 9, SootopolisCity_Movement_1E5BF0 + applymovement 10, SootopolisCity_Movement_KyogreMoveBack + applymovement 9, SootopolisCity_Movement_GroudonMoveBack waitmovement 0 waitse playmoncry SPECIES_KYOGRE, 2 - applymovement 10, SootopolisCity_Movement_1E5BB8 - applymovement 9, SootopolisCity_Movement_1E5BE5 + applymovement 10, SootopolisCity_Movement_KyogreAttack + applymovement 9, SootopolisCity_Movement_GroudonDefend waitmovement 0 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 5 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 1 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 5 @ shake delay + special ShakeCamera waitstate - applymovement 10, SootopolisCity_Movement_1E5BCF - applymovement 9, SootopolisCity_Movement_1E5BF0 + applymovement 10, SootopolisCity_Movement_KyogreMoveBack + applymovement 9, SootopolisCity_Movement_GroudonMoveBack waitmovement 0 special SpawnCameraObject - applymovement 10, SootopolisCity_Movement_1E5BD6 - applymovement 9, SootopolisCity_Movement_1E5BF7 - applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5BAE + applymovement 10, SootopolisCity_Movement_KyogreIdle + applymovement 9, SootopolisCity_Movement_GroudonIdle + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_PanBackToDive waitmovement 0 special RemoveCameraObject setvar VAR_SOOTOPOLIS_CITY_STATE, 2 @@ -376,7 +377,7 @@ SootopolisCity_EventScript_1E5A82:: @ 81E5A82 releaseall end -SootopolisCity_Movement_1E5BA4: @ 81E5BA4 +SootopolisCity_Movement_PanToActionFromDive: @ 81E5BA4 walk_slow_diag_northeast walk_slow_diag_northeast walk_up @@ -388,7 +389,7 @@ SootopolisCity_Movement_1E5BA4: @ 81E5BA4 walk_up step_end -SootopolisCity_Movement_1E5BAE: @ 81E5BAE +SootopolisCity_Movement_PanBackToDive: @ 81E5BAE walk_down walk_down walk_down @@ -400,7 +401,7 @@ SootopolisCity_Movement_1E5BAE: @ 81E5BAE walk_slow_diag_southwest step_end -SootopolisCity_Movement_1E5BB8: @ 81E5BB8 +SootopolisCity_Movement_KyogreAttack: @ 81E5BB8 walk_in_place_slow_left walk_in_place_slow_left walk_in_place_slow_left @@ -412,7 +413,7 @@ SootopolisCity_Movement_1E5BB8: @ 81E5BB8 clear_affine_anim step_end -SootopolisCity_Movement_1E5BC2: @ 81E5BC2 +SootopolisCity_Movement_GroudonAttack: @ 81E5BC2 delay_16 delay_16 delay_16 @@ -427,7 +428,7 @@ SootopolisCity_Movement_1E5BC2: @ 81E5BC2 clear_affine_anim step_end -SootopolisCity_Movement_1E5BCF: @ 81E5BCF +SootopolisCity_Movement_KyogreMoveBack: @ 81E5BCF lock_facing_direction walk_right delay_16 @@ -436,7 +437,7 @@ SootopolisCity_Movement_1E5BCF: @ 81E5BCF unlock_facing_direction step_end -SootopolisCity_Movement_1E5BD6: @ 81E5BD6 +SootopolisCity_Movement_KyogreIdle: @ 81E5BD6 walk_in_place_slow_left walk_in_place_slow_left walk_in_place_slow_left @@ -445,7 +446,7 @@ SootopolisCity_Movement_1E5BD6: @ 81E5BD6 walk_in_place_slow_left step_end -SootopolisCity_Movement_1E5BDD: @ 81E5BDD +SootopolisCity_Movement_KyogreDefend: @ 81E5BDD walk_in_place_slow_right walk_in_place_slow_right walk_in_place_slow_right @@ -455,7 +456,7 @@ SootopolisCity_Movement_1E5BDD: @ 81E5BDD walk_fast_right step_end -SootopolisCity_Movement_1E5BE5: @ 81E5BE5 +SootopolisCity_Movement_GroudonDefend: @ 81E5BE5 delay_16 delay_16 delay_16 @@ -468,7 +469,7 @@ SootopolisCity_Movement_1E5BE5: @ 81E5BE5 walk_fast_right step_end -SootopolisCity_Movement_1E5BF0: @ 81E5BF0 +SootopolisCity_Movement_GroudonMoveBack: @ 81E5BF0 lock_facing_direction walk_left delay_16 @@ -477,7 +478,7 @@ SootopolisCity_Movement_1E5BF0: @ 81E5BF0 unlock_facing_direction step_end -SootopolisCity_Movement_1E5BF7: @ 81E5BF7 +SootopolisCity_Movement_GroudonIdle: @ 81E5BF7 walk_in_place_slow_right walk_in_place_slow_right walk_in_place_slow_right @@ -486,55 +487,56 @@ SootopolisCity_Movement_1E5BF7: @ 81E5BF7 walk_in_place_slow_right step_end -SootopolisCity_EventScript_1E5BFE:: @ 81E5BFE +@ If not at PokeCenter, assumed to have arrived via Dive +SootopolisCity_EventScript_StartRayquazaScene:: @ 81E5BFE lockall special StorePlayerCoordsInVars compare VAR_0x8004, 43 - goto_if_ne SootopolisCity_EventScript_1E5CCE + goto_if_ne SootopolisCity_EventScript_RayquazaSceneFromDive compare VAR_0x8005, 32 - goto_if_ne SootopolisCity_EventScript_1E5CCE - goto SootopolisCity_EventScript_1E5C1E + goto_if_ne SootopolisCity_EventScript_RayquazaSceneFromDive + goto SootopolisCity_EventScript_RayquazaSceneFromPokeCenter end -SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E +SootopolisCity_EventScript_RayquazaSceneFromPokeCenter:: @ 81E5C1E delay 60 special SpawnCameraObject - applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5A68 + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_PanToActionFromPokeCenter waitmovement 0 special RemoveCameraObject delay 60 - fadescreenspeed 1, 8 - call SootopolisCity_EventScript_1E5D82 + fadescreenspeed FADE_TO_BLACK, 8 + call SootopolisCity_EventScript_SetRoughWater removeobject 9 removeobject 10 addobject 11 setvar VAR_0x8004, 1 - special sub_813B7D8 + special Script_DoRayquazaScene waitstate playse SE_T_KAMI special SpawnCameraObject - applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5E63 + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_PanUp waitmovement 0 waitse playmoncry SPECIES_RAYQUAZA, 2 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 3 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 1 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 3 @ shake delay + special ShakeCamera waitstate waitse playmoncry SPECIES_RAYQUAZA, 2 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 5 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 2 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 5 @ shake delay + special ShakeCamera waitstate waitmoncry setweather WEATHER_NONE doweather - applymovement 11, SootopolisCity_Movement_1E5E5B + applymovement 11, SootopolisCity_Movement_RayquazaFlyOff waitmovement 0 removeobject 11 special WaitWeather @@ -545,49 +547,49 @@ SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E fadenewbgm MUS_RUNECITY delay 120 clearflag FLAG_HIDE_MAP_NAME_POPUP - warp8 MAP_SOOTOPOLIS_CITY, 255, 43, 32 + warpsootopolislegend MAP_SOOTOPOLIS_CITY, 255, 43, 32 waitstate end -SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE +SootopolisCity_EventScript_RayquazaSceneFromDive:: @ 81E5CCE delay 60 special SpawnCameraObject - applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5BA4 + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_PanToActionFromDive waitmovement 0 special RemoveCameraObject delay 60 - fadescreenspeed 1, 8 - call SootopolisCity_EventScript_1E5D82 + fadescreenspeed FADE_TO_BLACK, 8 + call SootopolisCity_EventScript_SetRoughWater removeobject 9 removeobject 10 addobject 11 setvar VAR_0x8004, 1 - special sub_813B7D8 + special Script_DoRayquazaScene waitstate special SpawnCameraObject - applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5E63 - applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E5E68 + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_PanUp + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_PlayerApproachLegendaries waitmovement 0 waitse playmoncry SPECIES_RAYQUAZA, 2 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 3 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 1 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 3 @ shake delay + special ShakeCamera waitstate waitse playmoncry SPECIES_RAYQUAZA, 2 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 5 - special sub_8139560 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 2 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 5 @ shake delay + special ShakeCamera waitstate waitmoncry setweather WEATHER_NONE doweather - applymovement 11, SootopolisCity_Movement_1E5E5B + applymovement 11, SootopolisCity_Movement_RayquazaFlyOff waitmovement 0 removeobject 11 special WaitWeather @@ -598,11 +600,11 @@ SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE fadenewbgm MUS_NAMINORI delay 120 clearflag FLAG_HIDE_MAP_NAME_POPUP - warp8 MAP_SOOTOPOLIS_CITY, 255, 29, 53 + warpsootopolislegend MAP_SOOTOPOLIS_CITY, 255, 29, 53 waitstate end -SootopolisCity_EventScript_1E5D82:: @ 81E5D82 +SootopolisCity_EventScript_SetRoughWater:: @ 81E5D82 setmetatile 27, 43, METATILE_Sootopolis_RoughWater, 0 setmetatile 28, 43, METATILE_Sootopolis_RoughWater, 0 setmetatile 29, 43, METATILE_Sootopolis_RoughWater, 0 @@ -629,7 +631,7 @@ SootopolisCity_EventScript_1E5D82:: @ 81E5D82 setmetatile 35, 45, METATILE_Sootopolis_RoughWater, 0 return -SootopolisCity_Movement_1E5E5B: @ 81E5E5B +SootopolisCity_Movement_RayquazaFlyOff: @ 81E5E5B walk_fast_up walk_fastest_up walk_fastest_up @@ -639,28 +641,30 @@ SootopolisCity_Movement_1E5E5B: @ 81E5E5B walk_fastest_up step_end -SootopolisCity_Movement_1E5E63: @ 81E5E63 +SootopolisCity_Movement_PanUp: @ 81E5E63 walk_up walk_up walk_up walk_up step_end -SootopolisCity_Movement_1E5E68: @ 81E5E68 +SootopolisCity_Movement_PlayerApproachLegendaries: @ 81E5E68 walk_up walk_up walk_up walk_up step_end -SootopolisCity_Movement_1E5E6D: @ 81E5E6D +@ Unused +SootopolisCity_Movement_PlayerApproachLegendariesDown: @ 81E5E6D walk_down walk_down walk_down walk_down step_end -SootopolisCity_Movement_1E5E72: @ 81E5E72 +@ Unused +SootopolisCity_Movement_UnusedPanUp: @ 81E5E72 walk_slow_diag_northeast walk_slow_diag_northeast walk_slow_diag_northeast @@ -675,7 +679,8 @@ SootopolisCity_Movement_1E5E72: @ 81E5E72 walk_right step_end -SootopolisCity_Movement_1E5E7F: @ 81E5E7F +@ Unused +SootopolisCity_Movement_UnusedPanBack: @ 81E5E7F walk_down walk_down walk_down @@ -691,311 +696,312 @@ SootopolisCity_Movement_1E5E7F: @ 81E5E7F walk_slow_diag_southwest step_end -SootopolisCity_EventScript_1E5E8D:: @ 81E5E8D +SootopolisCity_EventScript_CaveOfOriginExpert:: @ 81E5E8D lock faceplayer compare VAR_SOOTOPOLIS_CITY_STATE, 6 - goto_if_ge SootopolisCity_EventScript_1E5EC4 + goto_if_ge SootopolisCity_EventScript_ExpertPostLegendaries compare VAR_SOOTOPOLIS_CITY_STATE, 5 - goto_if_eq SootopolisCity_EventScript_1E5ECE + goto_if_eq SootopolisCity_EventScript_ExpertLegendaries compare VAR_SOOTOPOLIS_CITY_STATE, 2 - goto_if_ge SootopolisCity_EventScript_1E5EBA - msgbox SootopolisCity_Text_1E6D77, MSGBOX_DEFAULT + goto_if_ge SootopolisCity_EventScript_ExpertLeadToCave + msgbox SootopolisCity_Text_CaveOfOriginPleaseLeave, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E5EBA:: @ 81E5EBA - msgbox SootopolisCity_Text_1E6DFE, MSGBOX_DEFAULT +SootopolisCity_EventScript_ExpertLeadToCave:: @ 81E5EBA + msgbox SootopolisCity_Text_LeadSuperiorTrainerToCave, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E5EC4:: @ 81E5EC4 - msgbox SootopolisCity_Text_1E6F38, MSGBOX_DEFAULT +SootopolisCity_EventScript_ExpertPostLegendaries:: @ 81E5EC4 + msgbox SootopolisCity_Text_CaveOfOriginSleepsToo, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E5ECE:: @ 81E5ECE - msgbox SootopolisCity_Text_1E6ED4, MSGBOX_DEFAULT +SootopolisCity_EventScript_ExpertLegendaries:: @ 81E5ECE + msgbox SootopolisCity_Text_AwakenedPokemonClash, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E5ED8:: @ 81E5ED8 +SootopolisCity_EventScript_Kiri:: @ 81E5ED8 lock faceplayer compare VAR_SOOTOPOLIS_CITY_STATE, 1 - goto_if_le SootopolisCity_EventScript_1E5F1B + goto_if_le SootopolisCity_EventScript_KiriGiveBerry compare VAR_SOOTOPOLIS_CITY_STATE, 6 - goto_if_ge SootopolisCity_EventScript_1E5F1B + goto_if_ge SootopolisCity_EventScript_KiriGiveBerry compare VAR_SOOTOPOLIS_CITY_STATE, 5 - goto_if_eq SootopolisCity_EventScript_1E5F10 - msgbox SootopolisCity_Text_1E6BFF, MSGBOX_DEFAULT + goto_if_eq SootopolisCity_EventScript_KiriRayquaza + msgbox SootopolisCity_Text_BigPokemonFighting, MSGBOX_DEFAULT closemessage applymovement 3, Common_Movement_FaceOriginalDirection waitmovement 0 release end -SootopolisCity_EventScript_1E5F10:: @ 81E5F10 - msgbox SootopolisCity_Text_1E6C53, MSGBOX_DEFAULT +SootopolisCity_EventScript_KiriRayquaza:: @ 81E5F10 + msgbox SootopolisCity_Text_PrettyMonCameFromSky, MSGBOX_DEFAULT closemessage release end -SootopolisCity_EventScript_1E5F1B:: @ 81E5F1B +@ Gives 2 berries daily. First ranges from FIRST_KIRI_BERRY to LAST_KIRI_BERRY, second is always Figy or Iapapa +SootopolisCity_EventScript_KiriGiveBerry:: @ 81E5F1B dotimebasedevents special GetPlayerBigGuyGirlString - goto_if_set FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY, SootopolisCity_EventScript_1E5FBB - msgbox SootopolisCity_Text_2A7BB0, MSGBOX_DEFAULT - random 10 - addvar VAR_RESULT, 20 - addvar VAR_RESULT, 133 - giveitem_std VAR_RESULT - compare VAR_RESULT, 0 + goto_if_set FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY, SootopolisCity_EventScript_KiriReceivedBerry + msgbox SootopolisCity_Text_NameIsKiriHaveOneOfThese, MSGBOX_DEFAULT + random NUM_KIRI_BERRIES + addvar VAR_RESULT, NUM_KIRI_BERRIES_SKIPPED + addvar VAR_RESULT, FIRST_BERRY_INDEX + giveitem VAR_RESULT + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY - msgbox SootopolisCity_Text_2A7C7C, MSGBOX_DEFAULT + msgbox SootopolisCity_Text_GiveYouThisBerryToo, MSGBOX_DEFAULT random 2 compare VAR_RESULT, 0 - goto_if_eq SootopolisCity_EventScript_1E5F79 + goto_if_eq SootopolisCity_EventScript_GiveFigyBerry compare VAR_RESULT, 1 - goto_if_eq SootopolisCity_EventScript_1E5F9A + goto_if_eq SootopolisCity_EventScript_GiveIapapaBerry end -SootopolisCity_EventScript_1E5F79:: @ 81E5F79 - giveitem_std ITEM_FIGY_BERRY - compare VAR_RESULT, 0 +SootopolisCity_EventScript_GiveFigyBerry:: @ 81E5F79 + giveitem ITEM_FIGY_BERRY + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull - msgbox SootopolisCity_Text_2A7CB7, MSGBOX_DEFAULT + msgbox SootopolisCity_Text_WhatKindOfWishInYourName, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E5F9A:: @ 81E5F9A - giveitem_std ITEM_IAPAPA_BERRY - compare VAR_RESULT, 0 +SootopolisCity_EventScript_GiveIapapaBerry:: @ 81E5F9A + giveitem ITEM_IAPAPA_BERRY + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull - msgbox SootopolisCity_Text_2A7CB7, MSGBOX_DEFAULT + msgbox SootopolisCity_Text_WhatKindOfWishInYourName, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E5FBB:: @ 81E5FBB - msgbox SootopolisCity_Text_2A7CEC, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq SootopolisCity_EventScript_1E5FD8 - msgbox SootopolisCity_Text_2A7DD2, MSGBOX_DEFAULT +SootopolisCity_EventScript_KiriReceivedBerry:: @ 81E5FBB + msgbox SootopolisCity_Text_LikeSeasonBornIn, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq SootopolisCity_EventScript_KiriLikeSeasonBornIn + msgbox SootopolisCity_Text_OhDoesntMatter, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E5FD8:: @ 81E5FD8 - msgbox SootopolisCity_Text_2A7D80, MSGBOX_DEFAULT +SootopolisCity_EventScript_KiriLikeSeasonBornIn:: @ 81E5FD8 + msgbox SootopolisCity_Text_ThenILoveAutumn, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E5FE2:: @ 81E5FE2 +SootopolisCity_EventScript_Woman2:: @ 81E5FE2 lockall applymovement 2, Common_Movement_FacePlayer waitmovement 0 compare VAR_SOOTOPOLIS_CITY_STATE, 5 - goto_if_eq SootopolisCity_EventScript_1E600D - msgbox SootopolisCity_Text_1E71A1, MSGBOX_DEFAULT + goto_if_eq SootopolisCity_EventScript_Woman2Rayquaza + msgbox SootopolisCity_Text_WeatherWentWild, MSGBOX_DEFAULT closemessage applymovement 2, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end -SootopolisCity_EventScript_1E600D:: @ 81E600D - msgbox SootopolisCity_Text_1E728C, MSGBOX_DEFAULT +SootopolisCity_EventScript_Woman2Rayquaza:: @ 81E600D + msgbox SootopolisCity_Text_YouBroughtFlyingMon, MSGBOX_DEFAULT releaseall end -SootopolisCity_EventScript_1E6017:: @ 81E6017 +SootopolisCity_EventScript_Man:: @ 81E6017 lock faceplayer compare VAR_SOOTOPOLIS_CITY_STATE, 6 - goto_if_ge SootopolisCity_EventScript_1E602E - msgbox SootopolisCity_Text_1E6CCA, MSGBOX_DEFAULT + goto_if_ge SootopolisCity_EventScript_ManPostLegendaries + msgbox SootopolisCity_Text_NoOrdinaryTourist, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E602E:: @ 81E602E - msgbox SootopolisCity_Text_1E6D57, MSGBOX_DEFAULT +SootopolisCity_EventScript_ManPostLegendaries:: @ 81E602E + msgbox SootopolisCity_Text_CityRegainedCalm, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E6038:: @ 81E6038 +SootopolisCity_EventScript_Woman1:: @ 81E6038 lock faceplayer compare VAR_SOOTOPOLIS_CITY_STATE, 6 - goto_if_ge SootopolisCity_EventScript_1E607A + goto_if_ge SootopolisCity_EventScript_Woman1PostLegendaries compare VAR_SOOTOPOLIS_CITY_STATE, 5 - goto_if_eq SootopolisCity_EventScript_1E6084 + goto_if_eq SootopolisCity_EventScript_Woman1Rayquaza compare VAR_SOOTOPOLIS_CITY_STATE, 2 - goto_if_ge SootopolisCity_EventScript_1E6065 - msgbox SootopolisCity_Text_1E6F90, MSGBOX_DEFAULT + goto_if_ge SootopolisCity_EventScript_Woman1Legendaries + msgbox SootopolisCity_Text_SootopolisSkyBeautiful, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E6065:: @ 81E6065 - msgbox SootopolisCity_Text_1E7078, MSGBOX_DEFAULT +SootopolisCity_EventScript_Woman1Legendaries:: @ 81E6065 + msgbox SootopolisCity_Text_GiganticPokemonFight, MSGBOX_DEFAULT closemessage applymovement 8, Common_Movement_FaceOriginalDirection waitmovement 0 release end -SootopolisCity_EventScript_1E607A:: @ 81E607A - msgbox SootopolisCity_Text_1E710B, MSGBOX_DEFAULT +SootopolisCity_EventScript_Woman1PostLegendaries:: @ 81E607A + msgbox SootopolisCity_Text_NightSkyFavoriteScenery, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E6084:: @ 81E6084 - msgbox SootopolisCity_Text_1E70D4, MSGBOX_DEFAULT +SootopolisCity_EventScript_Woman1Rayquaza:: @ 81E6084 + msgbox SootopolisCity_Text_FearedWorstWhenPokemonFlewDown, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E608E:: @ 81E608E +SootopolisCity_EventScript_NinjaBoy:: @ 81E608E lockall applymovement 4, Common_Movement_FacePlayer waitmovement 0 compare VAR_SOOTOPOLIS_CITY_STATE, 5 - goto_if_eq SootopolisCity_EventScript_1E60D9 + goto_if_eq SootopolisCity_EventScript_NinjaBoyRayquaza compare VAR_SOOTOPOLIS_CITY_STATE, 6 - goto_if_ge SootopolisCity_EventScript_1E60CF + goto_if_ge SootopolisCity_EventScript_NinjaBoyNormal compare VAR_SOOTOPOLIS_CITY_STATE, 1 - goto_if_le SootopolisCity_EventScript_1E60CF - msgbox SootopolisCity_Text_1E690B, MSGBOX_DEFAULT + goto_if_le SootopolisCity_EventScript_NinjaBoyNormal + msgbox SootopolisCity_Text_ThisIsWicked, MSGBOX_DEFAULT closemessage applymovement 4, Common_Movement_FaceOriginalDirection waitmovement 0 release end -SootopolisCity_EventScript_1E60CF:: @ 81E60CF - msgbox SootopolisCity_Text_1E68A1, MSGBOX_DEFAULT +SootopolisCity_EventScript_NinjaBoyNormal:: @ 81E60CF + msgbox SootopolisCity_Text_WonderWhatWorldIsLike, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E60D9:: @ 81E60D9 - msgbox SootopolisCity_Text_1E6920, MSGBOX_DEFAULT +SootopolisCity_EventScript_NinjaBoyRayquaza:: @ 81E60D9 + msgbox SootopolisCity_Text_ThatWasWicked, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E60E3:: @ 81E60E3 +SootopolisCity_EventScript_Boy1:: @ 81E60E3 lockall applymovement 5, Common_Movement_FacePlayer waitmovement 0 compare VAR_SOOTOPOLIS_CITY_STATE, 5 - goto_if_eq SootopolisCity_EventScript_1E612D - goto_if_set FLAG_SYS_GAME_CLEAR, SootopolisCity_EventScript_1E6137 + goto_if_eq SootopolisCity_EventScript_Boy1Rayquaza + goto_if_set FLAG_SYS_GAME_CLEAR, SootopolisCity_EventScript_Boy1GameClear compare VAR_SOOTOPOLIS_CITY_STATE, 6 - goto_if_ge SootopolisCity_EventScript_1E6141 + goto_if_ge SootopolisCity_EventScript_Boy1Normal compare VAR_SOOTOPOLIS_CITY_STATE, 1 - goto_if_le SootopolisCity_EventScript_1E6141 - msgbox SootopolisCity_Text_1E6692, MSGBOX_DEFAULT + goto_if_le SootopolisCity_EventScript_Boy1Normal + msgbox SootopolisCity_Text_GiantPokemonSuddenlyAppeared, MSGBOX_DEFAULT closemessage applymovement 5, Common_Movement_FaceOriginalDirection waitmovement 0 release end -SootopolisCity_EventScript_1E612D:: @ 81E612D - msgbox SootopolisCity_Text_1E6750, MSGBOX_DEFAULT +SootopolisCity_EventScript_Boy1Rayquaza:: @ 81E612D + msgbox SootopolisCity_Text_WhatIsThatGreenPokemon, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E6137:: @ 81E6137 - msgbox SootopolisCity_Text_1E677F, MSGBOX_DEFAULT +SootopolisCity_EventScript_Boy1GameClear:: @ 81E6137 + msgbox SootopolisCity_Text_WhereDidLegendariesGo, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E6141:: @ 81E6141 - msgbox SootopolisCity_Text_1E6618, MSGBOX_DEFAULT +SootopolisCity_EventScript_Boy1Normal:: @ 81E6141 + msgbox SootopolisCity_Text_PhysicallyFitLivingHere, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E614B:: @ 81E614B - msgbox SootopolisCity_Text_1E656F, MSGBOX_SIGN +SootopolisCity_EventScript_GymSign:: @ 81E614B + msgbox SootopolisCity_Text_GymSign, MSGBOX_SIGN end -SootopolisCity_EventScript_1E6154:: @ 81E6154 - msgbox SootopolisCity_Text_1E65C8, MSGBOX_SIGN +SootopolisCity_EventScript_CitySign:: @ 81E6154 + msgbox SootopolisCity_Text_CitySign, MSGBOX_SIGN end EventScript_ClosedSootopolisDoor:: @ 81E615D - msgbox SootopolisCity_Text_1E6604, MSGBOX_SIGN + msgbox SootopolisCity_Text_DoorIsClosed, MSGBOX_SIGN end -SootopolisCity_EventScript_1E6166:: @ 81E6166 +SootopolisCity_EventScript_Steven:: @ 81E6166 lockall applymovement 7, Common_Movement_FacePlayer waitmovement 0 - call_if_unset FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN, SootopolisCity_EventScript_1E61CC + call_if_unset FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN, SootopolisCity_EventScript_StevenLeadPlayerCaveOfOrigin compare VAR_SOOTOPOLIS_CITY_STATE, 2 - goto_if_eq SootopolisCity_EventScript_1E61AE + goto_if_eq SootopolisCity_EventScript_StevenHelpWallace compare VAR_SOOTOPOLIS_CITY_STATE, 3 - goto_if_eq SootopolisCity_EventScript_1E61C2 + goto_if_eq SootopolisCity_EventScript_StevenHelpedWallace compare VAR_SOOTOPOLIS_CITY_STATE, 4 - goto_if_eq SootopolisCity_EventScript_1E61C2 - goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_1E61B8 - msgbox SootopolisCity_Text_1E78E5, MSGBOX_DEFAULT + goto_if_eq SootopolisCity_EventScript_StevenHelpedWallace + goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_StevenMaxieArchieLeft + msgbox SootopolisCity_Text_SoThatsRayquaza, MSGBOX_DEFAULT releaseall end -SootopolisCity_EventScript_1E61AE:: @ 81E61AE - msgbox SootopolisCity_Text_1E7866, MSGBOX_DEFAULT +SootopolisCity_EventScript_StevenHelpWallace:: @ 81E61AE + msgbox SootopolisCity_Text_KnowWhatsNeededToHelpHim, MSGBOX_DEFAULT releaseall end -SootopolisCity_EventScript_1E61B8:: @ 81E61B8 - msgbox SootopolisCity_Text_1E794B, MSGBOX_DEFAULT +SootopolisCity_EventScript_StevenMaxieArchieLeft:: @ 81E61B8 + msgbox SootopolisCity_Text_MaxieArchieLeft, MSGBOX_DEFAULT releaseall end -SootopolisCity_EventScript_1E61C2:: @ 81E61C2 - msgbox SootopolisCity_Text_1E789A, MSGBOX_DEFAULT +SootopolisCity_EventScript_StevenHelpedWallace:: @ 81E61C2 + msgbox SootopolisCity_Text_NeverBeenToSkyPillar, MSGBOX_DEFAULT releaseall end -SootopolisCity_EventScript_1E61CC:: @ 81E61CC - msgbox SootopolisCity_Text_1E75CB, MSGBOX_DEFAULT +SootopolisCity_EventScript_StevenLeadPlayerCaveOfOrigin:: @ 81E61CC + msgbox SootopolisCity_Text_InvolvedWithCrisisComeWithMe, MSGBOX_DEFAULT closemessage - compare VAR_FACING, 3 - call_if_eq SootopolisCity_EventScript_1E6243 - compare VAR_FACING, 2 - call_if_eq SootopolisCity_EventScript_1E6255 - msgbox SootopolisCity_Text_1E7737, MSGBOX_DEFAULT + compare VAR_FACING, DIR_WEST + call_if_eq SootopolisCity_EventScript_StartWalkToCaveOfOriginWest + compare VAR_FACING, DIR_NORTH + call_if_eq SootopolisCity_EventScript_StartWalkToCaveOfOriginNorth + msgbox SootopolisCity_Text_DoesThisMakeYourFearPokemon, MSGBOX_DEFAULT closemessage - applymovement 7, SootopolisCity_Movement_1E62D4 - applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E630E + applymovement 7, SootopolisCity_Movement_StevenWalkToCaveOfOrigin + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_PlayerWalkToCaveOfOrigin waitmovement 0 delay 120 - applymovement 1, SootopolisCity_Movement_1E6341 + applymovement 1, SootopolisCity_Movement_ExpertMoveAside waitmovement 0 - applymovement 7, SootopolisCity_Movement_1E6344 - applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E634F + applymovement 7, SootopolisCity_Movement_StevenArriveCaveEntrance + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_PlayerArriveCaveEntrance waitmovement 0 - msgbox SootopolisCity_Text_1E77F0, MSGBOX_DEFAULT + msgbox SootopolisCity_Text_HereWereAreHelpWallace, MSGBOX_DEFAULT closemessage setflag FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN - applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E635A + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_PlayerEnterCaveOfOrigin waitmovement 0 warp MAP_CAVE_OF_ORIGIN_ENTRANCE, 255, 9, 20 waitstate end -SootopolisCity_EventScript_1E6243:: @ 81E6243 - applymovement 7, SootopolisCity_Movement_1E6267 - applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E628C +SootopolisCity_EventScript_StartWalkToCaveOfOriginWest:: @ 81E6243 + applymovement 7, SootopolisCity_Movement_StevenStartWalkToCaveOfOrigin + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_PlayerStartWalkToCaveOfOriginWest waitmovement 0 return -SootopolisCity_EventScript_1E6255:: @ 81E6255 - applymovement 7, SootopolisCity_Movement_1E6267 - applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E62B0 +SootopolisCity_EventScript_StartWalkToCaveOfOriginNorth:: @ 81E6255 + applymovement 7, SootopolisCity_Movement_StevenStartWalkToCaveOfOrigin + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_PlayerStartWalkToCaveOfOriginNorth waitmovement 0 return -SootopolisCity_Movement_1E6267: @ 81E6267 +SootopolisCity_Movement_StevenStartWalkToCaveOfOrigin: @ 81E6267 walk_up walk_up walk_up @@ -1034,7 +1040,7 @@ SootopolisCity_Movement_1E6267: @ 81E6267 walk_in_place_fastest_down step_end -SootopolisCity_Movement_1E628C: @ 81E628C +SootopolisCity_Movement_PlayerStartWalkToCaveOfOriginWest: @ 81E628C walk_left walk_up walk_up @@ -1072,7 +1078,7 @@ SootopolisCity_Movement_1E628C: @ 81E628C walk_up step_end -SootopolisCity_Movement_1E62B0: @ 81E62B0 +SootopolisCity_Movement_PlayerStartWalkToCaveOfOriginNorth: @ 81E62B0 walk_up walk_up walk_up @@ -1110,7 +1116,7 @@ SootopolisCity_Movement_1E62B0: @ 81E62B0 walk_up step_end -SootopolisCity_Movement_1E62D4: @ 81E62D4 +SootopolisCity_Movement_StevenWalkToCaveOfOrigin: @ 81E62D4 walk_up walk_up walk_right @@ -1170,7 +1176,7 @@ SootopolisCity_Movement_1E62D4: @ 81E62D4 walk_up step_end -SootopolisCity_Movement_1E630E: @ 81E630E +SootopolisCity_Movement_PlayerWalkToCaveOfOrigin: @ 81E630E walk_up walk_up walk_up @@ -1223,12 +1229,12 @@ SootopolisCity_Movement_1E630E: @ 81E630E walk_right step_end -SootopolisCity_Movement_1E6341: @ 81E6341 +SootopolisCity_Movement_ExpertMoveAside: @ 81E6341 walk_slow_left walk_in_place_fastest_right step_end -SootopolisCity_Movement_1E6344: @ 81E6344 +SootopolisCity_Movement_StevenArriveCaveEntrance: @ 81E6344 walk_down walk_down walk_left @@ -1241,7 +1247,7 @@ SootopolisCity_Movement_1E6344: @ 81E6344 walk_in_place_fastest_left step_end -SootopolisCity_Movement_1E634F: @ 81E634F +SootopolisCity_Movement_PlayerArriveCaveEntrance: @ 81E634F delay_16 delay_16 delay_16 @@ -1254,182 +1260,182 @@ SootopolisCity_Movement_1E634F: @ 81E634F walk_in_place_fastest_right step_end -SootopolisCity_Movement_1E635A: @ 81E635A +SootopolisCity_Movement_PlayerEnterCaveOfOrigin: @ 81E635A walk_up walk_up step_end -SootopolisCity_EventScript_1E635D:: @ 81E635D +SootopolisCity_EventScript_Boy2:: @ 81E635D lockall applymovement 15, Common_Movement_FacePlayer waitmovement 0 compare VAR_SOOTOPOLIS_CITY_STATE, 5 - goto_if_eq SootopolisCity_EventScript_1E6388 - msgbox SootopolisCity_Text_1E67DC, MSGBOX_DEFAULT + goto_if_eq SootopolisCity_EventScript_Boy2Rayquaza + msgbox SootopolisCity_Text_TwoPokemonArentAngry, MSGBOX_DEFAULT closemessage applymovement 15, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end -SootopolisCity_EventScript_1E6388:: @ 81E6388 - msgbox SootopolisCity_Text_1E6853, MSGBOX_DEFAULT +SootopolisCity_EventScript_Boy2Rayquaza:: @ 81E6388 + msgbox SootopolisCity_Text_FlyingMonStoppedRampage, MSGBOX_DEFAULT closemessage releaseall end -SootopolisCity_EventScript_1E6393:: @ 81E6393 +SootopolisCity_EventScript_BlackBelt:: @ 81E6393 lockall compare VAR_SOOTOPOLIS_CITY_STATE, 5 - goto_if_eq SootopolisCity_EventScript_1E63C7 - msgbox SootopolisCity_Text_1E6936, MSGBOX_DEFAULT + goto_if_eq SootopolisCity_EventScript_BlackBeltRayquaza + msgbox SootopolisCity_Text_GoRedAndBlueMon, MSGBOX_DEFAULT closemessage applymovement 14, Common_Movement_FacePlayer waitmovement 0 - msgbox SootopolisCity_Text_1E696C, MSGBOX_DEFAULT + msgbox SootopolisCity_Text_DoYouKnowMonNames, MSGBOX_DEFAULT closemessage applymovement 14, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end -SootopolisCity_EventScript_1E63C7:: @ 81E63C7 +SootopolisCity_EventScript_BlackBeltRayquaza:: @ 81E63C7 applymovement 14, Common_Movement_FacePlayer waitmovement 0 - msgbox SootopolisCity_Text_1E69B8, MSGBOX_DEFAULT + msgbox SootopolisCity_Text_GreenOneSettlesThings, MSGBOX_DEFAULT releaseall end -SootopolisCity_EventScript_1E63DB:: @ 81E63DB +SootopolisCity_EventScript_Girl:: @ 81E63DB lockall applymovement 13, Common_Movement_FacePlayer waitmovement 0 compare VAR_SOOTOPOLIS_CITY_STATE, 5 - goto_if_eq SootopolisCity_EventScript_1E6406 - msgbox SootopolisCity_Text_1E6C7C, MSGBOX_DEFAULT + goto_if_eq SootopolisCity_EventScript_GirlRayquaza + msgbox SootopolisCity_Text_SootopolisWillBeWrecked, MSGBOX_DEFAULT closemessage applymovement 13, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end -SootopolisCity_EventScript_1E6406:: @ 81E6406 - msgbox SootopolisCity_Text_1E6CA6, MSGBOX_DEFAULT +SootopolisCity_EventScript_GirlRayquaza:: @ 81E6406 + msgbox SootopolisCity_Text_SootopolisDidntGetWrecked, MSGBOX_DEFAULT closemessage releaseall end -SootopolisCity_EventScript_1E6411:: @ 81E6411 +SootopolisCity_EventScript_Maniac:: @ 81E6411 lockall applymovement 12, Common_Movement_FacePlayer waitmovement 0 compare VAR_SOOTOPOLIS_CITY_STATE, 5 - goto_if_eq SootopolisCity_EventScript_1E643C - msgbox SootopolisCity_Text_1E6A50, MSGBOX_DEFAULT + goto_if_eq SootopolisCity_EventScript_ManiacRayquaza + msgbox SootopolisCity_Text_SeeingLegendWithOwnEyes, MSGBOX_DEFAULT closemessage applymovement 12, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end -SootopolisCity_EventScript_1E643C:: @ 81E643C - msgbox SootopolisCity_Text_1E6B2A, MSGBOX_DEFAULT +SootopolisCity_EventScript_ManiacRayquaza:: @ 81E643C + msgbox SootopolisCity_Text_SawLegendWithOwnEyes, MSGBOX_DEFAULT releaseall end -SootopolisCity_EventScript_1E6446:: @ 81E6446 +SootopolisCity_EventScript_Wallace:: @ 81E6446 lock faceplayer compare VAR_SOOTOPOLIS_CITY_STATE, 4 - goto_if_eq SootopolisCity_EventScript_1E64D8 - goto_if_set FLAG_RECEIVED_HM07, SootopolisCity_EventScript_1E64E2 - goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_1E646F - msgbox SootopolisCity_Text_1E7A3E, MSGBOX_DEFAULT + goto_if_eq SootopolisCity_EventScript_GoToSkyPillar + goto_if_set FLAG_RECEIVED_HM07, SootopolisCity_EventScript_GoToGym + goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_GiveWaterfall + msgbox SootopolisCity_Text_AquaMagmaDidntMeanHarm, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E646F:: @ 81E646F - msgbox SootopolisCity_Text_1E7ACF, MSGBOX_DEFAULT - giveitem_std ITEM_HM07 +SootopolisCity_EventScript_GiveWaterfall:: @ 81E646F + msgbox SootopolisCity_Text_ThankYouForHelpAcceptThis, MSGBOX_DEFAULT + giveitem ITEM_HM07 setflag FLAG_RECEIVED_HM07 - msgbox SootopolisCity_Text_1E7B86, MSGBOX_DEFAULT + msgbox SootopolisCity_Text_ExplainWaterfallGoToGym, MSGBOX_DEFAULT closemessage - compare VAR_FACING, 2 - call_if_eq SootopolisCity_EventScript_1E64B2 - compare VAR_FACING, 4 - call_if_eq SootopolisCity_EventScript_1E64B2 - compare VAR_FACING, 3 - call_if_eq SootopolisCity_EventScript_1E64C5 + compare VAR_FACING, DIR_NORTH + call_if_eq SootopolisCity_EventScript_WallaceMoveFromGym + compare VAR_FACING, DIR_EAST + call_if_eq SootopolisCity_EventScript_WallaceMoveFromGym + compare VAR_FACING, DIR_WEST + call_if_eq SootopolisCity_EventScript_WallaceMoveFromGymWest release end -SootopolisCity_EventScript_1E64B2:: @ 81E64B2 - applymovement 18, SootopolisCity_Movement_1E64EC +SootopolisCity_EventScript_WallaceMoveFromGym:: @ 81E64B2 + applymovement 18, SootopolisCity_Movement_WallaceMoveFromGym waitmovement 0 copyobjectxytoperm 18 setvar VAR_SOOTOPOLIS_WALLACE_STATE, 1 return -SootopolisCity_EventScript_1E64C5:: @ 81E64C5 - applymovement 18, SootopolisCity_Movement_1E64EF +SootopolisCity_EventScript_WallaceMoveFromGymWest:: @ 81E64C5 + applymovement 18, SootopolisCity_Movement_WallaceMoveFromGymWest waitmovement 0 copyobjectxytoperm 18 setvar VAR_SOOTOPOLIS_WALLACE_STATE, 2 return -SootopolisCity_EventScript_1E64D8:: @ 81E64D8 - msgbox SootopolisCity_Text_1E79C8, MSGBOX_DEFAULT +SootopolisCity_EventScript_GoToSkyPillar:: @ 81E64D8 + msgbox SootopolisCity_Text_HaventYouScaledSkyPillar, MSGBOX_DEFAULT release end -SootopolisCity_EventScript_1E64E2:: @ 81E64E2 - msgbox SootopolisCity_Text_1E7CBC, MSGBOX_DEFAULT +SootopolisCity_EventScript_GoToGym:: @ 81E64E2 + msgbox SootopolisCity_Text_DazzledByMentor, MSGBOX_DEFAULT release end -SootopolisCity_Movement_1E64EC: @ 81E64EC +SootopolisCity_Movement_WallaceMoveFromGym: @ 81E64EC walk_right walk_in_place_fastest_down step_end -SootopolisCity_Movement_1E64EF: @ 81E64EF +SootopolisCity_Movement_WallaceMoveFromGymWest: @ 81E64EF walk_left walk_in_place_fastest_down step_end -SootopolisCity_EventScript_1E64F2:: @ 81E64F2 +SootopolisCity_EventScript_Maxie:: @ 81E64F2 lockall compare VAR_SOOTOPOLIS_CITY_STATE, 5 - goto_if_eq SootopolisCity_EventScript_1E6509 - msgbox SootopolisCity_Text_1E72DB, MSGBOX_DEFAULT + goto_if_eq SootopolisCity_EventScript_MaxieRayquaza + msgbox SootopolisCity_Text_GroudonPleaseStop, MSGBOX_DEFAULT closemessage releaseall end -SootopolisCity_EventScript_1E6509:: @ 81E6509 - msgbox SootopolisCity_Text_1E737E, MSGBOX_DEFAULT +SootopolisCity_EventScript_MaxieRayquaza:: @ 81E6509 + msgbox SootopolisCity_Text_AfterAllOurScheming, MSGBOX_DEFAULT setflag FLAG_MET_MAXIE_SOOTOPOLIS - goto_if_set FLAG_MET_ARCHIE_SOOTOPOLIS, SootopolisCity_EventScript_1E654C + goto_if_set FLAG_MET_ARCHIE_SOOTOPOLIS, SootopolisCity_EventScript_MaxieArchieLeave releaseall end -SootopolisCity_EventScript_1E651F:: @ 81E651F +SootopolisCity_EventScript_Archie:: @ 81E651F lockall compare VAR_SOOTOPOLIS_CITY_STATE, 5 - goto_if_eq SootopolisCity_EventScript_1E6536 - msgbox SootopolisCity_Text_1E7460, MSGBOX_DEFAULT + goto_if_eq SootopolisCity_EventScript_ArchieRayquaza + msgbox SootopolisCity_Text_KyogreCalmDown, MSGBOX_DEFAULT closemessage releaseall end -SootopolisCity_EventScript_1E6536:: @ 81E6536 - msgbox SootopolisCity_Text_1E74F6, MSGBOX_DEFAULT +SootopolisCity_EventScript_ArchieRayquaza:: @ 81E6536 + msgbox SootopolisCity_Text_TryingMeaninglessToPokemon, MSGBOX_DEFAULT setflag FLAG_MET_ARCHIE_SOOTOPOLIS - goto_if_set FLAG_MET_MAXIE_SOOTOPOLIS, SootopolisCity_EventScript_1E654C + goto_if_set FLAG_MET_MAXIE_SOOTOPOLIS, SootopolisCity_EventScript_MaxieArchieLeave releaseall end -SootopolisCity_EventScript_1E654C:: @ 81E654C +SootopolisCity_EventScript_MaxieArchieLeave:: @ 81E654C setflag FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE setflag FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE setflag FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE @@ -1441,36 +1447,37 @@ SootopolisCity_EventScript_1E654C:: @ 81E654C releaseall end -SootopolisCity_Movement_1E656B:: @ 81E656B +@ Unused +SootopolisCity_Movement_Levitate:: @ 81E656B levitate step_end -SootopolisCity_Movement_1E656D:: @ 81E656D +@ Unused +SootopolisCity_Movement_DestroyTask:: @ 81E656D destroy_extra_task step_end -SootopolisCity_Text_1E656F: @ 81E656F +SootopolisCity_Text_GymSign: @ 81E656F .string "SOOTOPOLIS CITY POKéMON GYM\n" .string "LEADER: JUAN\p" .string "“The GYM LEADER with the beauty\n" .string "of pure water!”$" -SootopolisCity_Text_1E65C8: @ 81E65C8 +SootopolisCity_Text_CitySign: @ 81E65C8 .string "SOOTOPOLIS CITY\p" .string "“The mystical city where history\n" .string "slumbers.”$" - -SootopolisCity_Text_1E6604: @ 81E6604 +SootopolisCity_Text_DoorIsClosed: @ 81E6604 .string "The door is closed.$" -SootopolisCity_Text_1E6618: @ 81E6618 +SootopolisCity_Text_PhysicallyFitLivingHere: @ 81E6618 .string "Diving in the sea. Climbing up and\n" .string "down stairs all the time…\p" .string "If you live in this town, you end up\n" .string "getting physically fit.$" -SootopolisCity_Text_1E6692: @ 81E6692 +SootopolisCity_Text_GiantPokemonSuddenlyAppeared: @ 81E6692 .string "These giant POKéMON suddenly appeared\n" .string "in the middle of the city!\p" .string "And, I've never seen them before!\p" @@ -1479,56 +1486,56 @@ SootopolisCity_Text_1E6692: @ 81E6692 .string "Why can't they be friends, those\n" .string "POKéMON?$" -SootopolisCity_Text_1E6750: @ 81E6750 +SootopolisCity_Text_WhatIsThatGreenPokemon: @ 81E6750 .string "What? What? What?\n" .string "What is that green POKéMON?!$" -SootopolisCity_Text_1E677F: @ 81E677F +SootopolisCity_Text_WhereDidLegendariesGo: @ 81E677F .string "GROUDON and KYOGRE…\n" .string "Where did they go?\p" .string "Will they cause droughts or downpours\n" .string "somewhere else?$" -SootopolisCity_Text_1E67DC: @ 81E67DC +SootopolisCity_Text_TwoPokemonArentAngry: @ 81E67DC .string "I just get this sense somehow that\n" .string "the two POKéMON aren't angry.\p" .string "I think… They probably can't control\n" .string "their own power…$" -SootopolisCity_Text_1E6853: @ 81E6853 +SootopolisCity_Text_FlyingMonStoppedRampage: @ 81E6853 .string "That flying POKéMON came down from\n" .string "the sky and stopped the rampaging\l" .string "POKéMON…$" -SootopolisCity_Text_1E68A1: @ 81E68A1 +SootopolisCity_Text_WonderWhatWorldIsLike: @ 81E68A1 .string "I… I've never been out of this city.\p" .string "I wonder what the world is like on\n" .string "the other side of this round sky?$" -SootopolisCity_Text_1E690B: @ 81E690B +SootopolisCity_Text_ThisIsWicked: @ 81E690B .string "Wow!\n" .string "This is wicked!$" -SootopolisCity_Text_1E6920: @ 81E6920 +SootopolisCity_Text_ThatWasWicked: @ 81E6920 .string "Wow!\n" .string "That was wicked!$" -SootopolisCity_Text_1E6936: @ 81E6936 +SootopolisCity_Text_GoRedAndBlueMon: @ 81E6936 .string "Go for it, red POKéMON!\n" .string "Don't back off, blue POKéMON!$" -SootopolisCity_Text_1E696C: @ 81E696C +SootopolisCity_Text_DoYouKnowMonNames: @ 81E696C .string "… … … … … …\p" .string "Hi, do you know the names of those\n" .string "POKéMON fighting over there?$" -SootopolisCity_Text_1E69B8: @ 81E69B8 +SootopolisCity_Text_GreenOneSettlesThings: @ 81E69B8 .string "I was wondering which one would win,\n" .string "the red one or the blue one, but, oh no,\l" .string "it's the green one that settles things!\p" .string "Talk about a huge turn of events!$" -SootopolisCity_Text_1E6A50: @ 81E6A50 +SootopolisCity_Text_SeeingLegendWithOwnEyes: @ 81E6A50 .string "There's an ancient legend that claims\n" .string "the land and sea were shaped by\l" .string "a colossal battle between POKéMON.\p" @@ -1537,7 +1544,7 @@ SootopolisCity_Text_1E6A50: @ 81E6A50 .string "Whoa! I never expected to be\n" .string "witness to something this huge!$" -SootopolisCity_Text_1E6B2A: @ 81E6B2A +SootopolisCity_Text_SawLegendWithOwnEyes: @ 81E6B2A .string "There's an ancient legend that claims\n" .string "the land and sea were shaped by\l" .string "a colossal battle between POKéMON.\p" @@ -1546,40 +1553,40 @@ SootopolisCity_Text_1E6B2A: @ 81E6B2A .string "Whoa! I never expected to be\n" .string "witness to something this huge!$" -SootopolisCity_Text_1E6BFF: @ 81E6BFF +SootopolisCity_Text_BigPokemonFighting: @ 81E6BFF .string "A big POKéMON is fighting with\n" .string "another big POKéMON!\p" .string "Please, someone make them stop!$" -SootopolisCity_Text_1E6C53: @ 81E6C53 +SootopolisCity_Text_PrettyMonCameFromSky: @ 81E6C53 .string "A pretty POKéMON came down from\n" .string "the sky…$" -SootopolisCity_Text_1E6C7C: @ 81E6C7C +SootopolisCity_Text_SootopolisWillBeWrecked: @ 81E6C7C .string "Oh, no!\n" .string "SOOTOPOLIS CITY will get wrecked!$" -SootopolisCity_Text_1E6CA6: @ 81E6CA6 +SootopolisCity_Text_SootopolisDidntGetWrecked: @ 81E6CA6 .string "SOOTOPOLIS CITY didn't get wrecked!$" -SootopolisCity_Text_1E6CCA: @ 81E6CCA +SootopolisCity_Text_NoOrdinaryTourist: @ 81E6CCA .string "Hm!\n" .string "You've come all the way to SOOTOPOLIS?\l" .string "You're no ordinary tourist.\p" .string "But I suppose that doesn't make you\n" .string "an extraordinary tourist, either.$" -SootopolisCity_Text_1E6D57: @ 81E6D57 +SootopolisCity_Text_CityRegainedCalm: @ 81E6D57 .string "The city has regained its calm…$" -SootopolisCity_Text_1E6D77: @ 81E6D77 +SootopolisCity_Text_CaveOfOriginPleaseLeave: @ 81E6D77 .string "Who might you be?\p" .string "This is the CAVE OF ORIGIN.\p" .string "The spirits of POKéMON, becalmed at\n" .string "MT. PYRE, are said to be revived here.\p" .string "Please leave.$" -SootopolisCity_Text_1E6DFE: @ 81E6DFE +SootopolisCity_Text_LeadSuperiorTrainerToCave: @ 81E6DFE .string "A person with a strong will and\n" .string "superior talent…\p" .string "A TRAINER who has knowledge and\n" @@ -1588,18 +1595,18 @@ SootopolisCity_Text_1E6DFE: @ 81E6DFE .string "instructed by WALLACE to lead that\l" .string "TRAINER to this CAVE.$" -SootopolisCity_Text_1E6ED4: @ 81E6ED4 +SootopolisCity_Text_AwakenedPokemonClash: @ 81E6ED4 .string "Oh, my…\p" .string "The clash between the two awakened\n" .string "POKéMON was quelled by the awakening\l" .string "of a third POKéMON…$" -SootopolisCity_Text_1E6F38: @ 81E6F38 +SootopolisCity_Text_CaveOfOriginSleepsToo: @ 81E6F38 .string "This is the CAVE OF ORIGIN…\p" .string "With the passing of the crisis,\n" .string "the cave, too, shall sleep…$" -SootopolisCity_Text_1E6F90: @ 81E6F90 +SootopolisCity_Text_SootopolisSkyBeautiful: @ 81E6F90 .string "SOOTOPOLIS sprang up as a town in\n" .string "the crater of a volcano.\p" .string "If you look up at the sky, the lip of\n" @@ -1608,23 +1615,23 @@ SootopolisCity_Text_1E6F90: @ 81E6F90 .string "But that's what makes the sky above\n" .string "SOOTOPOLIS the most beautiful.$" -SootopolisCity_Text_1E7078: @ 81E7078 +SootopolisCity_Text_GiganticPokemonFight: @ 81E7078 .string "When two POKéMON that gigantic\n" .string "are fighting that savagely, there's\l" .string "not much that we can do.$" -SootopolisCity_Text_1E70D4: @ 81E70D4 +SootopolisCity_Text_FearedWorstWhenPokemonFlewDown: @ 81E70D4 .string "When that third POKéMON flew down,\n" .string "I feared the worst.$" -SootopolisCity_Text_1E710B: @ 81E710B +SootopolisCity_Text_NightSkyFavoriteScenery: @ 81E710B .string "A circle of a night sky framed by\n" .string "the crater of a volcano…\p" .string "And in that ring, stars flicker and\n" .string "blink as if they were alive…\l" .string "It's my favorite scenery.$" -SootopolisCity_Text_1E71A1: @ 81E71A1 +SootopolisCity_Text_WeatherWentWild: @ 81E71A1 .string "The weather was clear this morning,\n" .string "but…\p" .string "All of a sudden, dark clouds brewed up,\n" @@ -1635,20 +1642,20 @@ SootopolisCity_Text_1E71A1: @ 81E71A1 .string "Is all of this because of those\n" .string "POKéMON?$" -SootopolisCity_Text_1E728C: @ 81E728C +SootopolisCity_Text_YouBroughtFlyingMon: @ 81E728C .string "Oh?\p" .string "It was you who brought that flying\n" .string "POKéMON here?\p" .string "Well, aren't you amazing!$" -SootopolisCity_Text_1E72DB: @ 81E72DB +SootopolisCity_Text_GroudonPleaseStop: @ 81E72DB .string "MAXIE: G… GROUDON…\n" .string "Please! Stop what you're doing!\p" .string "I know the extent of your power now!\p" .string "If you keep going, all HOENN, not just\n" .string "SOOTOPOLIS, will be utterly ruined!$" -SootopolisCity_Text_1E737E: @ 81E737E +SootopolisCity_Text_AfterAllOurScheming: @ 81E737E .string "MAXIE: So the super-ancient POKéMON\n" .string "weren't only GROUDON and KYOGRE…\p" .string "After all our fruitless scheming and\n" @@ -1658,7 +1665,7 @@ SootopolisCity_Text_1E737E: @ 81E737E .string "Fu…\n" .string "Fuhahaha…$" -SootopolisCity_Text_1E7460: @ 81E7460 +SootopolisCity_Text_KyogreCalmDown: @ 81E7460 .string "ARCHIE: KYOGRE! What's wrong?!\n" .string "Look over here! It's the RED ORB!\l" .string "Calm down! KYOGRE!\p" @@ -1667,7 +1674,7 @@ SootopolisCity_Text_1E7460: @ 81E7460 .string "It's no good!\n" .string "It's not responding at all!$" -SootopolisCity_Text_1E74F6: @ 81E74F6 +SootopolisCity_Text_TryingMeaninglessToPokemon: @ 81E74F6 .string "ARCHIE: KYOGRE and GROUDON both\n" .string "flew off to who knows where.\p" .string "The weather in HOENN has returned\n" @@ -1678,7 +1685,7 @@ SootopolisCity_Text_1E74F6: @ 81E74F6 .string "something small, even meaningless,\l" .string "to POKéMON…$" -SootopolisCity_Text_1E75CB: @ 81E75CB +SootopolisCity_Text_InvolvedWithCrisisComeWithMe: @ 81E75CB .string "STEVEN: Those POKéMON fighting…\n" .string "GROUDON… And KYOGRE…\p" .string "The two super-ancient POKéMON\n" @@ -1693,7 +1700,7 @@ SootopolisCity_Text_1E75CB: @ 81E75CB .string "I'd like you to meet.\p" .string "Come with me, please.$" -SootopolisCity_Text_1E7737: @ 81E7737 +SootopolisCity_Text_DoesThisMakeYourFearPokemon: @ 81E7737 .string "STEVEN: Listen, {PLAYER}{KUN}.\p" .string "Does seeing GROUDON and KYOGRE make\n" .string "you think POKéMON are to be feared?\p" @@ -1702,34 +1709,34 @@ SootopolisCity_Text_1E7737: @ 81E7737 .string "…Why am I asking you this?\n" .string "You already know.$" -SootopolisCity_Text_1E77F0: @ 81E77F0 +SootopolisCity_Text_HereWereAreHelpWallace: @ 81E77F0 .string "STEVEN: Okay, here we are!\p" .string "Inside here you'll find someone named\n" .string "WALLACE.\p" .string "I think you have what's needed to\n" .string "help him…$" -SootopolisCity_Text_1E7866: @ 81E7866 +SootopolisCity_Text_KnowWhatsNeededToHelpHim: @ 81E7866 .string "STEVEN: I think you have what's\n" .string "needed to help him…$" -SootopolisCity_Text_1E789A: @ 81E789A +SootopolisCity_Text_NeverBeenToSkyPillar: @ 81E789A .string "STEVEN: The SKY PILLAR…\p" .string "I've never been there.\n" .string "I wonder where it could be?$" -SootopolisCity_Text_1E78E5: @ 81E78E5 +SootopolisCity_Text_SoThatsRayquaza: @ 81E78E5 .string "STEVEN: So that's RAYQUAZA…\p" .string "It's incredible how the two rampaging\n" .string "POKéMON would flee from it in fear…$" -SootopolisCity_Text_1E794B: @ 81E794B +SootopolisCity_Text_MaxieArchieLeft: @ 81E794B .string "STEVEN: It looks like both MAXIE and\n" .string "ARCHIE have gone away somewhere.\p" .string "Perhaps they've gone to MT. PYRE to\n" .string "return those ORBS…$" -SootopolisCity_Text_1E79C8: @ 81E79C8 +SootopolisCity_Text_HaventYouScaledSkyPillar: @ 81E79C8 .string "WALLACE: Oh?\n" .string "{PLAYER}{KUN}?\p" .string "Haven't you scaled the SKY PILLAR\n" @@ -1737,14 +1744,14 @@ SootopolisCity_Text_1E79C8: @ 81E79C8 .string "I'm sure that you can make it to\n" .string "the top of the SKY PILLAR…$" -SootopolisCity_Text_1E7A3E: @ 81E7A3E +SootopolisCity_Text_AquaMagmaDidntMeanHarm: @ 81E7A3E .string "WALLACE: {PLAYER}{KUN}…\p" .string "The leaders of TEAM MAGMA and AQUA,\n" .string "I don't think they meant harm.\p" .string "It wouldn't hurt to hear what they\n" .string "have to say for themselves.$" -SootopolisCity_Text_1E7ACF: @ 81E7ACF +SootopolisCity_Text_ThankYouForHelpAcceptThis: @ 81E7ACF .string "WALLACE: {PLAYER}{KUN}…\n" .string "My eyes didn't deceive me.\p" .string "Thanks to your help, SOOTOPOLIS…\n" @@ -1753,7 +1760,7 @@ SootopolisCity_Text_1E7ACF: @ 81E7ACF .string "This is a gift from me.\n" .string "Please accept it.$" -SootopolisCity_Text_1E7B86: @ 81E7B86 +SootopolisCity_Text_ExplainWaterfallGoToGym: @ 81E7B86 .string "That HIDDEN MACHINE contains\n" .string "WATERFALL.\p" .string "If you have the RAIN BADGE, a POKéMON\n" @@ -1766,7 +1773,7 @@ SootopolisCity_Text_1E7B86: @ 81E7B86 .string "When you're all set to go, step through\n" .string "that door.$" -SootopolisCity_Text_1E7CBC: @ 81E7CBC +SootopolisCity_Text_DazzledByMentor: @ 81E7CBC .string "WALLACE: I'm sure that you will be\n" .string "dazzled by my mentor's breathtakingly\l" .string "elegant battle style.$" diff --git a/data/maps/SootopolisCity_Gym_1F/map.json b/data/maps/SootopolisCity_Gym_1F/map.json index 6b8cab1498..9726e98aa7 100644 --- a/data/maps/SootopolisCity_Gym_1F/map.json +++ b/data/maps/SootopolisCity_Gym_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_Gym_1F_EventScript_224F44", + "script": "SootopolisCity_Gym_1F_EventScript_Juan", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_Gym_1F_EventScript_225040", + "script": "SootopolisCity_Gym_1F_EventScript_GymGuide", "flag": "0" } ], @@ -72,7 +72,7 @@ "y": 24, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SootopolisCity_Gym_1F_EventScript_22505F" + "script": "SootopolisCity_Gym_1F_EventScript_LeftGymStatue" }, { "type": "sign", @@ -80,7 +80,7 @@ "y": 24, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "SootopolisCity_Gym_1F_EventScript_22506F" + "script": "SootopolisCity_Gym_1F_EventScript_RightGymStatue" } ] } \ No newline at end of file diff --git a/data/maps/SootopolisCity_Gym_1F/scripts.inc b/data/maps/SootopolisCity_Gym_1F/scripts.inc index 8db708e9c7..2d4e436712 100644 --- a/data/maps/SootopolisCity_Gym_1F/scripts.inc +++ b/data/maps/SootopolisCity_Gym_1F/scripts.inc @@ -1,7 +1,7 @@ SootopolisCity_Gym_1F_MapScripts:: @ 8224E4C - map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_Gym_1F_MapScript2_224ECB - map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_Gym_1F_MapScript1_224E67 - map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_Gym_1F_MapScript1_224E6A + map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_Gym_1F_OnFrame + map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_Gym_1F_OnResume + map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_Gym_1F_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_Gym_1F_OnTransition .byte 0 @@ -9,71 +9,68 @@ SootopolisCity_Gym_1F_OnTransition: @ 8224E61 setvar VAR_ICE_STEP_COUNT, 1 end -SootopolisCity_Gym_1F_MapScript1_224E67: @ 8224E67 - setstepcallback 4 +SootopolisCity_Gym_1F_OnResume: @ 8224E67 + setstepcallback STEP_CB_SOOTOPOLIS_ICE end -SootopolisCity_Gym_1F_MapScript1_224E6A: @ 8224E6A - call SootopolisCity_Gym_1F_EventScript_224E73 +SootopolisCity_Gym_1F_OnLoad: @ 8224E6A + call SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles special SetSootopolisGymCrackedIceMetatiles end -SootopolisCity_Gym_1F_EventScript_224E73:: @ 8224E73 +SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles:: @ 8224E73 compare VAR_ICE_STEP_COUNT, 8 - goto_if_lt SootopolisCity_Gym_1F_EventScript_224ECA + goto_if_lt SootopolisCity_Gym_1F_EventScript_StopCheckingStairs @ All stairs ice compare VAR_ICE_STEP_COUNT, 28 - goto_if_lt SootopolisCity_Gym_1F_EventScript_224EB8 + goto_if_lt SootopolisCity_Gym_1F_EventScript_OpenFirstStairs compare VAR_ICE_STEP_COUNT, 67 - goto_if_lt SootopolisCity_Gym_1F_EventScript_224EA6 + goto_if_lt SootopolisCity_Gym_1F_EventScript_OpenFirstAndSecondStairs setmetatile 8, 4, METATILE_SootopolisGym_Stairs, 0 setmetatile 8, 5, METATILE_SootopolisGym_Stairs, 0 - -SootopolisCity_Gym_1F_EventScript_224EA6:: @ 8224EA6 +SootopolisCity_Gym_1F_EventScript_OpenFirstAndSecondStairs:: @ 8224EA6 setmetatile 8, 10, METATILE_SootopolisGym_Stairs, 0 setmetatile 8, 11, METATILE_SootopolisGym_Stairs, 0 - -SootopolisCity_Gym_1F_EventScript_224EB8:: @ 8224EB8 +SootopolisCity_Gym_1F_EventScript_OpenFirstStairs:: @ 8224EB8 setmetatile 8, 15, METATILE_SootopolisGym_Stairs, 0 setmetatile 8, 16, METATILE_SootopolisGym_Stairs, 0 - -SootopolisCity_Gym_1F_EventScript_224ECA:: @ 8224ECA +SootopolisCity_Gym_1F_EventScript_StopCheckingStairs:: @ 8224ECA return -SootopolisCity_Gym_1F_MapScript2_224ECB: @ 8224ECB - map_script_2 VAR_ICE_STEP_COUNT, 8, SootopolisCity_Gym_1F_EventScript_224EED - map_script_2 VAR_ICE_STEP_COUNT, 28, SootopolisCity_Gym_1F_EventScript_224F01 - map_script_2 VAR_ICE_STEP_COUNT, 67, SootopolisCity_Gym_1F_EventScript_224F15 - map_script_2 VAR_ICE_STEP_COUNT, 0, SootopolisCity_Gym_1F_EventScript_224F29 +SootopolisCity_Gym_1F_OnFrame: @ 8224ECB + map_script_2 VAR_ICE_STEP_COUNT, 8, SootopolisCity_Gym_1F_EventScript_UnlockFirstStairs + map_script_2 VAR_ICE_STEP_COUNT, 28, SootopolisCity_Gym_1F_EventScript_UnlockSecondStairs + map_script_2 VAR_ICE_STEP_COUNT, 67, SootopolisCity_Gym_1F_EventScript_UnlockThirdStairs + map_script_2 VAR_ICE_STEP_COUNT, 0, SootopolisCity_Gym_1F_EventScript_FallThroughIce .2byte 0 -SootopolisCity_Gym_1F_EventScript_224EED:: @ 8224EED +SootopolisCity_Gym_1F_EventScript_UnlockFirstStairs:: @ 8224EED addvar VAR_ICE_STEP_COUNT, 1 delay 40 playse SE_RU_GASHIN - call SootopolisCity_Gym_1F_EventScript_224E73 + call SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles special DrawWholeMapView end -SootopolisCity_Gym_1F_EventScript_224F01:: @ 8224F01 +SootopolisCity_Gym_1F_EventScript_UnlockSecondStairs:: @ 8224F01 addvar VAR_ICE_STEP_COUNT, 1 delay 40 playse SE_RU_GASHIN - call SootopolisCity_Gym_1F_EventScript_224E73 + call SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles special DrawWholeMapView end -SootopolisCity_Gym_1F_EventScript_224F15:: @ 8224F15 +SootopolisCity_Gym_1F_EventScript_UnlockThirdStairs:: @ 8224F15 addvar VAR_ICE_STEP_COUNT, 1 delay 40 playse SE_RU_GASHIN - call SootopolisCity_Gym_1F_EventScript_224E73 + call SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles special DrawWholeMapView end -SootopolisCity_Gym_1F_EventScript_224F29:: @ 8224F29 +SootopolisCity_Gym_1F_EventScript_FallThroughIce:: @ 8224F29 lockall delay 20 - applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Gym_1F_Movement_224F42 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Gym_1F_Movement_FallThroughIce waitmovement 0 playse SE_RU_HYUU delay 60 @@ -81,26 +78,26 @@ SootopolisCity_Gym_1F_EventScript_224F29:: @ 8224F29 waitstate end -SootopolisCity_Gym_1F_Movement_224F42: @ 8224F42 +SootopolisCity_Gym_1F_Movement_FallThroughIce: @ 8224F42 set_invisible step_end -SootopolisCity_Gym_1F_EventScript_224F44:: @ 8224F44 - trainerbattle_single TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_225268, SootopolisCity_Gym_1F_Text_225432, SootopolisCity_Gym_1F_EventScript_224F82, NO_MUSIC +SootopolisCity_Gym_1F_EventScript_Juan:: @ 8224F44 + trainerbattle_single TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_JuanIntro, SootopolisCity_Gym_1F_Text_JuanDefeat, SootopolisCity_Gym_1F_EventScript_JuanDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq SootopolisCity_Gym_1F_EventScript_225025 - goto_if_unset FLAG_RECEIVED_TM03, SootopolisCity_Gym_1F_EventScript_224FF7 - goto_if_unset FLAG_BADGE06_GET, SootopolisCity_Gym_1F_EventScript_22501B - msgbox SootopolisCity_Gym_1F_Text_225778, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq SootopolisCity_Gym_1F_EventScript_JuanRematch + goto_if_unset FLAG_RECEIVED_TM03, SootopolisCity_Gym_1F_EventScript_GiveWaterPulse2 + goto_if_unset FLAG_BADGE06_GET, SootopolisCity_Gym_1F_EventScript_GoGetFortreeBadge + msgbox SootopolisCity_Gym_1F_Text_JuanPostBattle, MSGBOX_DEFAULT release end -SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82 - message SootopolisCity_Gym_1F_Text_225598 +SootopolisCity_Gym_1F_EventScript_JuanDefeated:: @ 8224F82 + message SootopolisCity_Gym_1F_Text_ReceivedRainBadge waitmessage call Common_EventScript_PlayGymBadgeFanfare - msgbox SootopolisCity_Gym_1F_Text_2255BE, MSGBOX_DEFAULT + msgbox SootopolisCity_Gym_1F_Text_ExplainRainBadgeTakeThis, MSGBOX_DEFAULT setflag FLAG_DEFEATED_SOOTOPOLIS_GYM setflag FLAG_BADGE08_GET setflag FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS @@ -109,12 +106,12 @@ SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82 setvar VAR_SOOTOPOLIS_CITY_STATE, 6 clearflag FLAG_HIDE_SOOTOPOLIS_CITY_MAN_1 setvar VAR_0x8008, 8 - call SootopolisCity_Gym_1F_EventScript_271F43 - call SootopolisCity_Gym_1F_EventScript_224FD4 + call Common_EventScript_SetGymTrainers + call SootopolisCity_Gym_1F_EventScript_GiveWaterPulse closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox SootopolisCity_Gym_1F_Text_22574D, MSGBOX_DEFAULT + msgbox SootopolisCity_Gym_1F_Text_RegisteredJuan, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -122,69 +119,69 @@ SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82 release end -SootopolisCity_Gym_1F_EventScript_224FD4:: @ 8224FD4 - giveitem_std ITEM_TM03 +SootopolisCity_Gym_1F_EventScript_GiveWaterPulse:: @ 8224FD4 + giveitem ITEM_TM03 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_BagIsFull - msgbox SootopolisCity_Gym_1F_Text_2256C1, MSGBOX_DEFAULT + msgbox SootopolisCity_Gym_1F_Text_ExplainWaterPulse, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM03 return -SootopolisCity_Gym_1F_EventScript_224FF7:: @ 8224FF7 - giveitem_std ITEM_TM03 +SootopolisCity_Gym_1F_EventScript_GiveWaterPulse2:: @ 8224FF7 + giveitem ITEM_TM03 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull - msgbox SootopolisCity_Gym_1F_Text_2256C1, MSGBOX_DEFAULT + msgbox SootopolisCity_Gym_1F_Text_ExplainWaterPulse, MSGBOX_DEFAULT setflag FLAG_RECEIVED_TM03 release end -SootopolisCity_Gym_1F_EventScript_22501B:: @ 822501B - msgbox SootopolisCity_Gym_1F_Text_225865, MSGBOX_DEFAULT +SootopolisCity_Gym_1F_EventScript_GoGetFortreeBadge:: @ 822501B + msgbox SootopolisCity_Gym_1F_Text_GoGetFortreeBadge, MSGBOX_DEFAULT release end -SootopolisCity_Gym_1F_EventScript_225025:: @ 8225025 - trainerbattle_rematch_double TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_225950, SootopolisCity_Gym_1F_Text_225A2E, SootopolisCity_Gym_1F_Text_225B48 - msgbox SootopolisCity_Gym_1F_Text_225A67, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_1F_EventScript_JuanRematch:: @ 8225025 + trainerbattle_rematch_double TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_JuanPreRematch, SootopolisCity_Gym_1F_Text_JuanRematchDefeat, SootopolisCity_Gym_1F_Text_JuanRematchNeedTwoMons + msgbox SootopolisCity_Gym_1F_Text_JuanPostRematch, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_1F_EventScript_225040:: @ 8225040 +SootopolisCity_Gym_1F_EventScript_GymGuide:: @ 8225040 lock faceplayer - goto_if_set FLAG_DEFEATED_SOOTOPOLIS_GYM, SootopolisCity_Gym_1F_EventScript_225055 - msgbox SootopolisCity_Gym_1F_Text_225093, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_SOOTOPOLIS_GYM, SootopolisCity_Gym_1F_EventScript_GymGuidePostVictory + msgbox SootopolisCity_Gym_1F_Text_GymGuideAdvice, MSGBOX_DEFAULT release end -SootopolisCity_Gym_1F_EventScript_225055:: @ 8225055 - msgbox SootopolisCity_Gym_1F_Text_2251AF, MSGBOX_DEFAULT +SootopolisCity_Gym_1F_EventScript_GymGuidePostVictory:: @ 8225055 + msgbox SootopolisCity_Gym_1F_Text_GymGuidePostVictory, MSGBOX_DEFAULT release end -SootopolisCity_Gym_1F_EventScript_22505F:: @ 822505F +SootopolisCity_Gym_1F_EventScript_LeftGymStatue:: @ 822505F lockall - goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_22507F - goto SootopolisCity_Gym_1F_EventScript_225089 + goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_GymStatueCertified + goto SootopolisCity_Gym_1F_EventScript_GymStatue end -SootopolisCity_Gym_1F_EventScript_22506F:: @ 822506F +SootopolisCity_Gym_1F_EventScript_RightGymStatue:: @ 822506F lockall - goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_22507F - goto SootopolisCity_Gym_1F_EventScript_225089 + goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_GymStatueCertified + goto SootopolisCity_Gym_1F_EventScript_GymStatue end -SootopolisCity_Gym_1F_EventScript_22507F:: @ 822507F - msgbox SootopolisCity_Gym_1F_Text_225916, MSGBOX_DEFAULT +SootopolisCity_Gym_1F_EventScript_GymStatueCertified:: @ 822507F + msgbox SootopolisCity_Gym_1F_Text_GymStatueCertified, MSGBOX_DEFAULT releaseall end -SootopolisCity_Gym_1F_EventScript_225089:: @ 8225089 - msgbox SootopolisCity_Gym_1F_Text_2258FA, MSGBOX_DEFAULT +SootopolisCity_Gym_1F_EventScript_GymStatue:: @ 8225089 + msgbox SootopolisCity_Gym_1F_Text_GymStatue, MSGBOX_DEFAULT releaseall end -SootopolisCity_Gym_1F_Text_225093: @ 8225093 +SootopolisCity_Gym_1F_Text_GymGuideAdvice: @ 8225093 .string "Yo! How's it going, CHAMPION-\n" .string "bound {PLAYER}?\p" .string "SOOTOPOLIS's GYM LEADER JUAN is\n" @@ -196,14 +193,14 @@ SootopolisCity_Gym_1F_Text_225093: @ 8225093 .string "The rest of the way, you have to\n" .string "go for it yourself!$" -SootopolisCity_Gym_1F_Text_2251AF: @ 82251AF +SootopolisCity_Gym_1F_Text_GymGuidePostVictory: @ 82251AF .string "Yow! You've beaten even JUAN, who\n" .string "was supposedly the best in all HOENN!\p" .string "Okay! Check out your TRAINER CARD.\p" .string "If you've gotten all the BADGES, you're\n" .string "set for the POKéMON LEAGUE challenge!$" -SootopolisCity_Gym_1F_Text_225268: @ 8225268 +SootopolisCity_Gym_1F_Text_JuanIntro: @ 8225268 .string "Let me ask you.\n" .string "Did you know?\l" .string "Ah, I should not be so coy.\p" @@ -226,7 +223,7 @@ SootopolisCity_Gym_1F_Text_225268: @ 8225268 @ the gDisplayedStringBattle buffer that it's put into, and it stomps all over the gBattleTextBuffs @ after, as well as the otherwise unused array after that. One wonders if that's the reason for @ the existence of that unused array of ints. -SootopolisCity_Gym_1F_Text_225432: @ 8225432 +SootopolisCity_Gym_1F_Text_JuanDefeat: @ 8225432 .string "Ahahaha, excellent!\n" .string "Very well, you are the winner.\p" .string "From you, I sense the brilliant shine\n" @@ -241,11 +238,11 @@ SootopolisCity_Gym_1F_Text_225432: @ 8225432 .string "Rather than my clothes, I shall reward\n" .string "you with this, the RAIN BADGE!$" -SootopolisCity_Gym_1F_Text_225598: @ 8225598 +SootopolisCity_Gym_1F_Text_ReceivedRainBadge: @ 8225598 .string "{PLAYER} received the RAIN BADGE\n" .string "from JUAN.$" -SootopolisCity_Gym_1F_Text_2255BE: @ 82255BE +SootopolisCity_Gym_1F_Text_ExplainRainBadgeTakeThis: @ 82255BE .string "Having the RAIN BADGE shall assure you\n" .string "the full obedience of all your POKéMON\l" .string "to your every command.\p" @@ -255,18 +252,18 @@ SootopolisCity_Gym_1F_Text_2255BE: @ 82255BE .string "And, so that you never forget the\n" .string "battle we shared, take this…$" -SootopolisCity_Gym_1F_Text_2256C1: @ 82256C1 +SootopolisCity_Gym_1F_Text_ExplainWaterPulse: @ 82256C1 .string "The TECHNICAL MACHINE I handed you\n" .string "contains WATER PULSE.\p" .string "In use, it will occasionally confuse\n" .string "the target with ultrasonic waves.\p" .string "… … … … … …$" -SootopolisCity_Gym_1F_Text_22574D: @ 822574D +SootopolisCity_Gym_1F_Text_RegisteredJuan: @ 822574D .string "Registered GYM LEADER JUAN\n" .string "in the POKéNAV.$" -SootopolisCity_Gym_1F_Text_225778: @ 8225778 +SootopolisCity_Gym_1F_Text_JuanPostBattle: @ 8225778 .string "The TRAINERS who have gathered all\n" .string "the GYM BADGES of HOENN should make\l" .string "way to the ultimate destination.\p" @@ -276,22 +273,22 @@ SootopolisCity_Gym_1F_Text_225778: @ 8225778 .string "There, you shall find the POKéMON\n" .string "LEAGUE.$" -SootopolisCity_Gym_1F_Text_225865: @ 8225865 +SootopolisCity_Gym_1F_Text_GoGetFortreeBadge: @ 8225865 .string "There remains but one BADGE to\n" .string "obtain in HOENN.\p" .string "If you wish to challenge the POKéMON\n" .string "LEAGUE, you must obtain the last\l" .string "BADGE from the GYM in FORTREE.$" -SootopolisCity_Gym_1F_Text_2258FA: @ 82258FA +SootopolisCity_Gym_1F_Text_GymStatue: @ 82258FA .string "SOOTOPOLIS CITY POKéMON GYM$" -SootopolisCity_Gym_1F_Text_225916: @ 8225916 +SootopolisCity_Gym_1F_Text_GymStatueCertified: @ 8225916 .string "SOOTOPOLIS CITY POKéMON GYM\p" .string "JUAN'S CERTIFIED TRAINERS:\n" .string "{PLAYER}$" -SootopolisCity_Gym_1F_Text_225950: @ 8225950 +SootopolisCity_Gym_1F_Text_JuanPreRematch: @ 8225950 .string "JUAN: Ah, this GYM had returned to its\n" .string "usual state of serenity…\p" .string "But our young typhoon has returned\n" @@ -300,11 +297,11 @@ SootopolisCity_Gym_1F_Text_225950: @ 8225950 .string "I shall be delighted to dance with you\n" .string "as often as you wish!$" -SootopolisCity_Gym_1F_Text_225A2E: @ 8225A2E +SootopolisCity_Gym_1F_Text_JuanRematchDefeat: @ 8225A2E .string "Ahahaha, you are the winner!\n" .string "You have defeated me again!$" -SootopolisCity_Gym_1F_Text_225A67: @ 8225A67 +SootopolisCity_Gym_1F_Text_JuanPostRematch: @ 8225A67 .string "JUAN: If I told you to become my\n" .string "apprentice, you will refuse, I am sure.\p" .string "I would like to make a gift of my coat\n" @@ -314,7 +311,7 @@ SootopolisCity_Gym_1F_Text_225A67: @ 8225A67 .string "And that, my friend, is a certain sign\n" .string "of nobility!$" -SootopolisCity_Gym_1F_Text_225B48: @ 8225B48 +SootopolisCity_Gym_1F_Text_JuanRematchNeedTwoMons: @ 8225B48 .string "JUAN: Ah, this GYM had returned to its\n" .string "usual state of serenity…\p" .string "But our young typhoon has returned\n" diff --git a/data/maps/SootopolisCity_Gym_B1F/map.json b/data/maps/SootopolisCity_Gym_B1F/map.json index d378f84e29..0af53d062a 100644 --- a/data/maps/SootopolisCity_Gym_B1F/map.json +++ b/data/maps/SootopolisCity_Gym_B1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "SootopolisCity_Gym_B1F_EventScript_225C8B", + "script": "SootopolisCity_Gym_B1F_EventScript_Andrea", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "SootopolisCity_Gym_B1F_EventScript_225CD0", + "script": "SootopolisCity_Gym_B1F_EventScript_Connie", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "1", - "script": "SootopolisCity_Gym_B1F_EventScript_225CB9", + "script": "SootopolisCity_Gym_B1F_EventScript_Brianna", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "5", - "script": "SootopolisCity_Gym_B1F_EventScript_225CE7", + "script": "SootopolisCity_Gym_B1F_EventScript_Bridget", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "SootopolisCity_Gym_B1F_EventScript_225D15", + "script": "SootopolisCity_Gym_B1F_EventScript_Tiffany", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "SootopolisCity_Gym_B1F_EventScript_225D2C", + "script": "SootopolisCity_Gym_B1F_EventScript_Bethany", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "SootopolisCity_Gym_B1F_EventScript_225CA2", + "script": "SootopolisCity_Gym_B1F_EventScript_Crissy", "flag": "0" }, { @@ -115,7 +115,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "SootopolisCity_Gym_B1F_EventScript_225CFE", + "script": "SootopolisCity_Gym_B1F_EventScript_Olivia", "flag": "0" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "SootopolisCity_Gym_B1F_EventScript_225D5A", + "script": "SootopolisCity_Gym_B1F_EventScript_Daphne", "flag": "0" }, { @@ -141,7 +141,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "SootopolisCity_Gym_B1F_EventScript_225D43", + "script": "SootopolisCity_Gym_B1F_EventScript_Annika", "flag": "0" } ], diff --git a/data/maps/SootopolisCity_Gym_B1F/scripts.inc b/data/maps/SootopolisCity_Gym_B1F/scripts.inc index 0f402b9303..735722db5a 100644 --- a/data/maps/SootopolisCity_Gym_B1F/scripts.inc +++ b/data/maps/SootopolisCity_Gym_B1F/scripts.inc @@ -1,183 +1,183 @@ SootopolisCity_Gym_B1F_MapScripts:: @ 8225C8A .byte 0 -SootopolisCity_Gym_B1F_EventScript_225C8B:: @ 8225C8B - trainerbattle_single TRAINER_ANDREA, SootopolisCity_Gym_B1F_Text_225D71, SootopolisCity_Gym_B1F_Text_225DB6 - msgbox SootopolisCity_Gym_B1F_Text_225DCF, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Andrea:: @ 8225C8B + trainerbattle_single TRAINER_ANDREA, SootopolisCity_Gym_B1F_Text_AndreaIntro, SootopolisCity_Gym_B1F_Text_AndreaDefeat + msgbox SootopolisCity_Gym_B1F_Text_AndreaPostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225CA2:: @ 8225CA2 - trainerbattle_single TRAINER_CRISSY, SootopolisCity_Gym_B1F_Text_225E04, SootopolisCity_Gym_B1F_Text_225E60 - msgbox SootopolisCity_Gym_B1F_Text_225E90, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Crissy:: @ 8225CA2 + trainerbattle_single TRAINER_CRISSY, SootopolisCity_Gym_B1F_Text_CrissyIntro, SootopolisCity_Gym_B1F_Text_CrissyDefeat + msgbox SootopolisCity_Gym_B1F_Text_CrissyPostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225CB9:: @ 8225CB9 - trainerbattle_single TRAINER_BRIANNA, SootopolisCity_Gym_B1F_Text_22646E, SootopolisCity_Gym_B1F_Text_226495 - msgbox SootopolisCity_Gym_B1F_Text_2264BC, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Brianna:: @ 8225CB9 + trainerbattle_single TRAINER_BRIANNA, SootopolisCity_Gym_B1F_Text_BriannaIntro, SootopolisCity_Gym_B1F_Text_BriannaDefeat + msgbox SootopolisCity_Gym_B1F_Text_BriannaPostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225CD0:: @ 8225CD0 - trainerbattle_single TRAINER_CONNIE, SootopolisCity_Gym_B1F_Text_225FBE, SootopolisCity_Gym_B1F_Text_225FEB - msgbox SootopolisCity_Gym_B1F_Text_225FFE, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Connie:: @ 8225CD0 + trainerbattle_single TRAINER_CONNIE, SootopolisCity_Gym_B1F_Text_ConnieIntro, SootopolisCity_Gym_B1F_Text_ConnieDefeat + msgbox SootopolisCity_Gym_B1F_Text_ConniePostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225CE7:: @ 8225CE7 - trainerbattle_single TRAINER_BRIDGET, SootopolisCity_Gym_B1F_Text_226061, SootopolisCity_Gym_B1F_Text_2260B6 - msgbox SootopolisCity_Gym_B1F_Text_2260D1, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Bridget:: @ 8225CE7 + trainerbattle_single TRAINER_BRIDGET, SootopolisCity_Gym_B1F_Text_BridgetIntro, SootopolisCity_Gym_B1F_Text_BridgetDefeat + msgbox SootopolisCity_Gym_B1F_Text_BridgetPostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225CFE:: @ 8225CFE - trainerbattle_single TRAINER_OLIVIA, SootopolisCity_Gym_B1F_Text_226164, SootopolisCity_Gym_B1F_Text_2261A7 - msgbox SootopolisCity_Gym_B1F_Text_2261B5, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Olivia:: @ 8225CFE + trainerbattle_single TRAINER_OLIVIA, SootopolisCity_Gym_B1F_Text_OliviaIntro, SootopolisCity_Gym_B1F_Text_OliviaDefeat + msgbox SootopolisCity_Gym_B1F_Text_OliviaPostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225D15:: @ 8225D15 - trainerbattle_single TRAINER_TIFFANY, SootopolisCity_Gym_B1F_Text_2261F7, SootopolisCity_Gym_B1F_Text_226274 - msgbox SootopolisCity_Gym_B1F_Text_226286, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Tiffany:: @ 8225D15 + trainerbattle_single TRAINER_TIFFANY, SootopolisCity_Gym_B1F_Text_TiffanyIntro, SootopolisCity_Gym_B1F_Text_TiffanyDefeat + msgbox SootopolisCity_Gym_B1F_Text_TiffanyPostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225D2C:: @ 8225D2C - trainerbattle_single TRAINER_BETHANY, SootopolisCity_Gym_B1F_Text_2262F3, SootopolisCity_Gym_B1F_Text_22633B - msgbox SootopolisCity_Gym_B1F_Text_226341, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Bethany:: @ 8225D2C + trainerbattle_single TRAINER_BETHANY, SootopolisCity_Gym_B1F_Text_BethanyIntro, SootopolisCity_Gym_B1F_Text_BethanyDefeat + msgbox SootopolisCity_Gym_B1F_Text_BethanyPostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225D43:: @ 8225D43 - trainerbattle_single TRAINER_ANNIKA, SootopolisCity_Gym_B1F_Text_226388, SootopolisCity_Gym_B1F_Text_2263BD - msgbox SootopolisCity_Gym_B1F_Text_2263F4, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Annika:: @ 8225D43 + trainerbattle_single TRAINER_ANNIKA, SootopolisCity_Gym_B1F_Text_AnnikaIntro, SootopolisCity_Gym_B1F_Text_AnnikaDefeat + msgbox SootopolisCity_Gym_B1F_Text_AnnikaPostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_EventScript_225D5A:: @ 8225D5A - trainerbattle_single TRAINER_DAPHNE, SootopolisCity_Gym_B1F_Text_225ED6, SootopolisCity_Gym_B1F_Text_225F35 - msgbox SootopolisCity_Gym_B1F_Text_225F67, MSGBOX_AUTOCLOSE +SootopolisCity_Gym_B1F_EventScript_Daphne:: @ 8225D5A + trainerbattle_single TRAINER_DAPHNE, SootopolisCity_Gym_B1F_Text_DaphneIntro, SootopolisCity_Gym_B1F_Text_DaphneDefeat + msgbox SootopolisCity_Gym_B1F_Text_DaphnePostBattle, MSGBOX_AUTOCLOSE end -SootopolisCity_Gym_B1F_Text_225D71: @ 8225D71 +SootopolisCity_Gym_B1F_Text_AndreaIntro: @ 8225D71 .string "I'll show you the sublime techniques\n" .string "I learned from our LEADER JUAN!$" -SootopolisCity_Gym_B1F_Text_225DB6: @ 8225DB6 +SootopolisCity_Gym_B1F_Text_AndreaDefeat: @ 8225DB6 .string "Please forgive me, JUAN…$" -SootopolisCity_Gym_B1F_Text_225DCF: @ 8225DCF +SootopolisCity_Gym_B1F_Text_AndreaPostBattle: @ 8225DCF .string "Watch what happens if you crack all\n" .string "the floor tiles.$" -SootopolisCity_Gym_B1F_Text_225E04: @ 8225E04 +SootopolisCity_Gym_B1F_Text_CrissyIntro: @ 8225E04 .string "You came all the way here, but you won't\n" .string "get to see JUAN.\p" .string "Not if you lose to me, you won't!$" -SootopolisCity_Gym_B1F_Text_225E60: @ 8225E60 +SootopolisCity_Gym_B1F_Text_CrissyDefeat: @ 8225E60 .string "You're strong!\n" .string "I was fooled by your cute looks!$" -SootopolisCity_Gym_B1F_Text_225E90: @ 8225E90 +SootopolisCity_Gym_B1F_Text_CrissyPostBattle: @ 8225E90 .string "You might be good enough to avoid\n" .string "being wiped out in one hit by JUAN.$" -SootopolisCity_Gym_B1F_Text_225ED6: @ 8225ED6 +SootopolisCity_Gym_B1F_Text_DaphneIntro: @ 8225ED6 .string "The sight of JUAN conducting\n" .string "a battle…\p" .string "The very beauty of it compelled me to\n" .string "become a TRAINER.$" -SootopolisCity_Gym_B1F_Text_225F35: @ 8225F35 +SootopolisCity_Gym_B1F_Text_DaphneDefeat: @ 8225F35 .string "You battled with more beauty than\n" .string "I could muster…$" -SootopolisCity_Gym_B1F_Text_225F67: @ 8225F67 +SootopolisCity_Gym_B1F_Text_DaphnePostBattle: @ 8225F67 .string "The grace you bring to battle is\n" .string "fabulous.\p" .string "Oh… I'm so fortunate to have found\n" .string "POKéMON.$" -SootopolisCity_Gym_B1F_Text_225FBE: @ 8225FBE +SootopolisCity_Gym_B1F_Text_ConnieIntro: @ 8225FBE .string "I should teach you how harsh battles\n" .string "can be.$" -SootopolisCity_Gym_B1F_Text_225FEB: @ 8225FEB +SootopolisCity_Gym_B1F_Text_ConnieDefeat: @ 8225FEB .string "Oh.\n" .string "You're strong.$" -SootopolisCity_Gym_B1F_Text_225FFE: @ 8225FFE +SootopolisCity_Gym_B1F_Text_ConniePostBattle: @ 8225FFE .string "I'll tell you something good.\p" .string "If you want to reach JUAN, you\n" .string "need to walk on each floor tile once.$" -SootopolisCity_Gym_B1F_Text_226061: @ 8226061 +SootopolisCity_Gym_B1F_Text_BridgetIntro: @ 8226061 .string "The POKéMON GYM of the highest level\n" .string "in the HOENN region…\p" .string "That's the SOOTOPOLIS GYM.$" -SootopolisCity_Gym_B1F_Text_2260B6: @ 82260B6 +SootopolisCity_Gym_B1F_Text_BridgetDefeat: @ 82260B6 .string "What a high level you are!$" -SootopolisCity_Gym_B1F_Text_2260D1: @ 82260D1 +SootopolisCity_Gym_B1F_Text_BridgetPostBattle: @ 82260D1 .string "Rather than being satisfied by being\n" .string "in a strong GYM, I imagine training in\l" .string "other places will make you stronger.\l" .string "But above all, it looks more fun.$" -SootopolisCity_Gym_B1F_Text_226164: @ 8226164 +SootopolisCity_Gym_B1F_Text_OliviaIntro: @ 8226164 .string "I train my POKéMON together with\n" .string "JUAN.\p" .string "Don't think I'm a pushover.$" -SootopolisCity_Gym_B1F_Text_2261A7: @ 82261A7 +SootopolisCity_Gym_B1F_Text_OliviaDefeat: @ 82261A7 .string "I was beaten…$" -SootopolisCity_Gym_B1F_Text_2261B5: @ 82261B5 +SootopolisCity_Gym_B1F_Text_OliviaPostBattle: @ 82261B5 .string "I think you have potential.\n" .string "Why don't you stay and train with us?$" -SootopolisCity_Gym_B1F_Text_2261F7: @ 82261F7 +SootopolisCity_Gym_B1F_Text_TiffanyIntro: @ 82261F7 .string "A graceful glide across the ice while\n" .string "crossing no lines…\p" .string "A TRAINER putting on that performance\n" .string "would be elegantly beautiful!$" -SootopolisCity_Gym_B1F_Text_226274: @ 8226274 +SootopolisCity_Gym_B1F_Text_TiffanyDefeat: @ 8226274 .string "Well, excuse me?!$" -SootopolisCity_Gym_B1F_Text_226286: @ 8226286 +SootopolisCity_Gym_B1F_Text_TiffanyPostBattle: @ 8226286 .string "This is really obvious, but how strong\n" .string "you are as a TRAINER has nothing to do\l" .string "with how young or old you are.$" -SootopolisCity_Gym_B1F_Text_2262F3: @ 82262F3 +SootopolisCity_Gym_B1F_Text_BethanyIntro: @ 82262F3 .string "When I'm with my POKéMON, the time\n" .string "flies by before you can say, “Oops!”$" -SootopolisCity_Gym_B1F_Text_22633B: @ 822633B +SootopolisCity_Gym_B1F_Text_BethanyDefeat: @ 822633B .string "Oops!$" -SootopolisCity_Gym_B1F_Text_226341: @ 8226341 +SootopolisCity_Gym_B1F_Text_BethanyPostBattle: @ 8226341 .string "I wish I could forget about lost causes\n" .string "before I can manage an “Oops!”$" -SootopolisCity_Gym_B1F_Text_226388: @ 8226388 +SootopolisCity_Gym_B1F_Text_AnnikaIntro: @ 8226388 .string "I can battle with really rare POKéMON\n" .string "if you'd like.$" -SootopolisCity_Gym_B1F_Text_2263BD: @ 82263BD +SootopolisCity_Gym_B1F_Text_AnnikaDefeat: @ 82263BD .string "Oh, there now! Did you have a good look\n" .string "at my POKéMON?$" -SootopolisCity_Gym_B1F_Text_2263F4: @ 82263F4 +SootopolisCity_Gym_B1F_Text_AnnikaPostBattle: @ 82263F4 .string "I came to this GYM because JUAN\n" .string "praised me for my darling POKéMON.\p" .string "Oh, if only I'd met JUAN years ago\n" .string "when I was younger…$" -SootopolisCity_Gym_B1F_Text_22646E: @ 822646E +SootopolisCity_Gym_B1F_Text_BriannaIntro: @ 822646E .string "Giggle…\n" .string "Your grim look is so charming.$" -SootopolisCity_Gym_B1F_Text_226495: @ 8226495 +SootopolisCity_Gym_B1F_Text_BriannaDefeat: @ 8226495 .string "Oh, dear.\n" .string "I went much too easy on you.$" -SootopolisCity_Gym_B1F_Text_2264BC: @ 82264BC +SootopolisCity_Gym_B1F_Text_BriannaPostBattle: @ 82264BC .string "You couldn't lay a finger on JUAN,\n" .string "I'm sure. Giggle…$" diff --git a/data/maps/SootopolisCity_House1/map.json b/data/maps/SootopolisCity_House1/map.json index 2be2adebed..bd1488d14e 100644 --- a/data/maps/SootopolisCity_House1/map.json +++ b/data/maps/SootopolisCity_House1/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_House1_EventScript_22694D", + "script": "SootopolisCity_House1_EventScript_BrickBreakBlackBelt", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_House1_EventScript_22698E", + "script": "SootopolisCity_House1_EventScript_Kecleon", "flag": "0" } ], diff --git a/data/maps/SootopolisCity_House1/scripts.inc b/data/maps/SootopolisCity_House1/scripts.inc index 13b581c717..90a429c2c1 100644 --- a/data/maps/SootopolisCity_House1/scripts.inc +++ b/data/maps/SootopolisCity_House1/scripts.inc @@ -1,44 +1,44 @@ SootopolisCity_House1_MapScripts:: @ 822694C .byte 0 -SootopolisCity_House1_EventScript_22694D:: @ 822694D +SootopolisCity_House1_EventScript_BrickBreakBlackBelt:: @ 822694D lock faceplayer - goto_if_set FLAG_RECEIVED_TM31, SootopolisCity_House1_EventScript_226984 - msgbox SootopolisCity_House1_Text_2269A1, MSGBOX_DEFAULT - giveitem_std ITEM_TM31 - compare VAR_RESULT, 0 + goto_if_set FLAG_RECEIVED_TM31, SootopolisCity_House1_EventScript_ReceivedBrickBreak + msgbox SootopolisCity_House1_Text_DevelopedThisTM, MSGBOX_DEFAULT + giveitem ITEM_TM31 + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_TM31 - msgbox SootopolisCity_House1_Text_226A13, MSGBOX_DEFAULT + msgbox SootopolisCity_House1_Text_ExplainBrickBreak, MSGBOX_DEFAULT release end -SootopolisCity_House1_EventScript_226984:: @ 8226984 - msgbox SootopolisCity_House1_Text_226A13, MSGBOX_DEFAULT +SootopolisCity_House1_EventScript_ReceivedBrickBreak:: @ 8226984 + msgbox SootopolisCity_House1_Text_ExplainBrickBreak, MSGBOX_DEFAULT release end -SootopolisCity_House1_EventScript_22698E:: @ 822698E +SootopolisCity_House1_EventScript_Kecleon:: @ 822698E lock faceplayer waitse playmoncry SPECIES_KECLEON, 0 - msgbox SootopolisCity_House1_Text_226A60, MSGBOX_DEFAULT + msgbox SootopolisCity_House1_Text_Kecleon, MSGBOX_DEFAULT waitmoncry release end -SootopolisCity_House1_Text_2269A1: @ 82269A1 +SootopolisCity_House1_Text_DevelopedThisTM: @ 82269A1 .string "For thirty years I've remained in\n" .string "SOOTOPOLIS honing my skills.\p" .string "I developed a shattering TM.\n" .string "I bequeath it to you!$" -SootopolisCity_House1_Text_226A13: @ 8226A13 +SootopolisCity_House1_Text_ExplainBrickBreak: @ 8226A13 .string "TM31 contains BRICK BREAK! It's a move\n" .string "so horrible that I can't describe it.$" -SootopolisCity_House1_Text_226A60: @ 8226A60 +SootopolisCity_House1_Text_Kecleon: @ 8226A60 .string "KECLEON: Puu puhyaah.$" diff --git a/data/maps/SootopolisCity_House2/map.json b/data/maps/SootopolisCity_House2/map.json index af03fdff59..ae30df6c68 100644 --- a/data/maps/SootopolisCity_House2/map.json +++ b/data/maps/SootopolisCity_House2/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_House2_EventScript_226A77", + "script": "SootopolisCity_House2_EventScript_ExpertF", "flag": "0" } ], diff --git a/data/maps/SootopolisCity_House2/scripts.inc b/data/maps/SootopolisCity_House2/scripts.inc index 9e45a09bff..31388cbb4a 100644 --- a/data/maps/SootopolisCity_House2/scripts.inc +++ b/data/maps/SootopolisCity_House2/scripts.inc @@ -1,36 +1,36 @@ SootopolisCity_House2_MapScripts:: @ 8226A76 .byte 0 -SootopolisCity_House2_EventScript_226A77:: @ 8226A77 +SootopolisCity_House2_EventScript_ExpertF:: @ 8226A77 lock faceplayer - msgbox SootopolisCity_House2_Text_226AAB, MSGBOX_YESNO - compare VAR_RESULT, 1 - call_if_eq SootopolisCity_House2_EventScript_226A99 - compare VAR_RESULT, 0 - call_if_eq SootopolisCity_House2_EventScript_226AA2 + msgbox SootopolisCity_House2_Text_DidYouKnowAboutMtPyreOrbs, MSGBOX_YESNO + compare VAR_RESULT, YES + call_if_eq SootopolisCity_House2_EventScript_KnowAboutOrbs + compare VAR_RESULT, NO + call_if_eq SootopolisCity_House2_EventScript_DontKnowAboutOrbs release end -SootopolisCity_House2_EventScript_226A99:: @ 8226A99 - msgbox SootopolisCity_House2_Text_226AF1, MSGBOX_DEFAULT +SootopolisCity_House2_EventScript_KnowAboutOrbs:: @ 8226A99 + msgbox SootopolisCity_House2_Text_YesTwoOrbsSideBySide, MSGBOX_DEFAULT return -SootopolisCity_House2_EventScript_226AA2:: @ 8226AA2 - msgbox SootopolisCity_House2_Text_226B41, MSGBOX_DEFAULT +SootopolisCity_House2_EventScript_DontKnowAboutOrbs:: @ 8226AA2 + msgbox SootopolisCity_House2_Text_OughtToVisitAndSee, MSGBOX_DEFAULT return -SootopolisCity_House2_Text_226AAB: @ 8226AAB +SootopolisCity_House2_Text_DidYouKnowAboutMtPyreOrbs: @ 8226AAB .string "MT. PYRE…\p" .string "At its peak are two orbs placed side\n" .string "by side. Did you know?$" -SootopolisCity_House2_Text_226AF1: @ 8226AF1 +SootopolisCity_House2_Text_YesTwoOrbsSideBySide: @ 8226AF1 .string "Yes, two orbs side by side…\p" .string "The sight of them together…\n" .string "It is somehow soothing…$" -SootopolisCity_House2_Text_226B41: @ 8226B41 +SootopolisCity_House2_Text_OughtToVisitAndSee: @ 8226B41 .string "Is that so?\n" .string "Perhaps you ought to visit and see…$" diff --git a/data/maps/SootopolisCity_House3/map.json b/data/maps/SootopolisCity_House3/map.json index af925c4c9f..b87274eee3 100644 --- a/data/maps/SootopolisCity_House3/map.json +++ b/data/maps/SootopolisCity_House3/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_House3_EventScript_226B72", + "script": "SootopolisCity_House3_EventScript_Woman", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_House3_EventScript_226B9B", + "script": "SootopolisCity_House3_EventScript_Girl", "flag": "0" } ], diff --git a/data/maps/SootopolisCity_House3/scripts.inc b/data/maps/SootopolisCity_House3/scripts.inc index d7439f18d8..c22a29a942 100644 --- a/data/maps/SootopolisCity_House3/scripts.inc +++ b/data/maps/SootopolisCity_House3/scripts.inc @@ -1,41 +1,41 @@ SootopolisCity_House3_MapScripts:: @ 8226B71 .byte 0 -SootopolisCity_House3_EventScript_226B72:: @ 8226B72 +SootopolisCity_House3_EventScript_Woman:: @ 8226B72 lock faceplayer - msgbox SootopolisCity_House3_Text_226BA4, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq SootopolisCity_House3_EventScript_226B91 - msgbox SootopolisCity_House3_Text_226C44, MSGBOX_DEFAULT + msgbox SootopolisCity_House3_Text_JuanHasManyFansDoYou, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq SootopolisCity_House3_EventScript_HaveFans + msgbox SootopolisCity_House3_Text_LonesomeTryWorkingHarder, MSGBOX_DEFAULT release end -SootopolisCity_House3_EventScript_226B91:: @ 8226B91 - msgbox SootopolisCity_House3_Text_226C20, MSGBOX_DEFAULT +SootopolisCity_House3_EventScript_HaveFans:: @ 8226B91 + msgbox SootopolisCity_House3_Text_YouMustBePrettyStrong, MSGBOX_DEFAULT release end -SootopolisCity_House3_EventScript_226B9B:: @ 8226B9B - msgbox SootopolisCity_House3_Text_226C9C, MSGBOX_NPC +SootopolisCity_House3_EventScript_Girl:: @ 8226B9B + msgbox SootopolisCity_House3_Text_TrainerFanClubWasWild, MSGBOX_NPC end -SootopolisCity_House3_Text_226BA4: @ 8226BA4 +SootopolisCity_House3_Text_JuanHasManyFansDoYou: @ 8226BA4 .string "You're a POKéMON TRAINER, aren't you?\p" .string "SOOTOPOLIS's JUAN has many fans.\n" .string "Even more than his student WALLACE!\p" .string "Do you have any?$" -SootopolisCity_House3_Text_226C20: @ 8226C20 +SootopolisCity_House3_Text_YouMustBePrettyStrong: @ 8226C20 .string "Oh, then you must be pretty strong.$" -SootopolisCity_House3_Text_226C44: @ 8226C44 +SootopolisCity_House3_Text_LonesomeTryWorkingHarder: @ 8226C44 .string "Oh, dear…\n" .string "That's a little lonesome.\p" .string "Try working a little harder to get\n" .string "a fan following.$" -SootopolisCity_House3_Text_226C9C: @ 8226C9C +SootopolisCity_House3_Text_TrainerFanClubWasWild: @ 8226C9C .string "Dedicated fans come over from even\n" .string "outside of HOENN.\p" .string "It was really wild when I went to the\n" diff --git a/data/maps/SootopolisCity_House4/map.json b/data/maps/SootopolisCity_House4/map.json index db7ffd5d40..586c88e906 100644 --- a/data/maps/SootopolisCity_House4/map.json +++ b/data/maps/SootopolisCity_House4/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_House4_EventScript_226D16", + "script": "SootopolisCity_House4_EventScript_Man", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 2, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_House4_EventScript_226D1F", + "script": "SootopolisCity_House4_EventScript_Woman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_House4_EventScript_226D28", + "script": "SootopolisCity_House4_EventScript_Azumarill", "flag": "0" } ], diff --git a/data/maps/SootopolisCity_House4/scripts.inc b/data/maps/SootopolisCity_House4/scripts.inc index a8aa585480..861da06d20 100644 --- a/data/maps/SootopolisCity_House4/scripts.inc +++ b/data/maps/SootopolisCity_House4/scripts.inc @@ -1,25 +1,25 @@ SootopolisCity_House4_MapScripts:: @ 8226D15 .byte 0 -SootopolisCity_House4_EventScript_226D16:: @ 8226D16 - msgbox SootopolisCity_House4_Text_226D3B, MSGBOX_NPC +SootopolisCity_House4_EventScript_Man:: @ 8226D16 + msgbox SootopolisCity_House4_Text_AncientTreasuresWaitingInSea, MSGBOX_NPC end -SootopolisCity_House4_EventScript_226D1F:: @ 8226D1F - msgbox SootopolisCity_House4_Text_226DEA, MSGBOX_NPC +SootopolisCity_House4_EventScript_Woman:: @ 8226D1F + msgbox SootopolisCity_House4_Text_StrollUnderwaterWithPokemon, MSGBOX_NPC end -SootopolisCity_House4_EventScript_226D28:: @ 8226D28 +SootopolisCity_House4_EventScript_Azumarill:: @ 8226D28 lock faceplayer waitse playmoncry SPECIES_AZUMARILL, 0 - msgbox SootopolisCity_House4_Text_226E7F, MSGBOX_DEFAULT + msgbox SootopolisCity_House4_Text_Azumarill, MSGBOX_DEFAULT waitmoncry release end -SootopolisCity_House4_Text_226D3B: @ 8226D3B +SootopolisCity_House4_Text_AncientTreasuresWaitingInSea: @ 8226D3B .string "Listen up, and I'll tell you something\n" .string "good.\p" .string "There's supposed to be an ancient\n" @@ -27,13 +27,13 @@ SootopolisCity_House4_Text_226D3B: @ 8226D3B .string "There could be treasures just waiting\n" .string "to be discovered down there.$" -SootopolisCity_House4_Text_226DEA: @ 8226DEA +SootopolisCity_House4_Text_StrollUnderwaterWithPokemon: @ 8226DEA .string "Ancient treasures…\p" .string "It would be nice if they existed, but\n" .string "even if they didn't, it would be so\l" .string "beautiful to take an underwater\l" .string "stroll with my POKéMON.$" -SootopolisCity_House4_Text_226E7F: @ 8226E7F +SootopolisCity_House4_Text_Azumarill: @ 8226E7F .string "AZUMARILL: Marurii.$" diff --git a/data/maps/SootopolisCity_House5/map.json b/data/maps/SootopolisCity_House5/map.json index 5e20e33df2..fcfce0abb0 100644 --- a/data/maps/SootopolisCity_House5/map.json +++ b/data/maps/SootopolisCity_House5/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_House5_EventScript_226E94", + "script": "SootopolisCity_House5_EventScript_Maniac", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_House5_EventScript_226E9D", + "script": "SootopolisCity_House5_EventScript_Girl", "flag": "0" } ], diff --git a/data/maps/SootopolisCity_House5/scripts.inc b/data/maps/SootopolisCity_House5/scripts.inc index 04b9feca20..027a35bcf7 100644 --- a/data/maps/SootopolisCity_House5/scripts.inc +++ b/data/maps/SootopolisCity_House5/scripts.inc @@ -1,20 +1,20 @@ SootopolisCity_House5_MapScripts:: @ 8226E93 .byte 0 -SootopolisCity_House5_EventScript_226E94:: @ 8226E94 - msgbox SootopolisCity_House5_Text_226EA6, MSGBOX_NPC +SootopolisCity_House5_EventScript_Maniac:: @ 8226E94 + msgbox SootopolisCity_House5_Text_SootopolisMtPyreConnection, MSGBOX_NPC end -SootopolisCity_House5_EventScript_226E9D:: @ 8226E9D - msgbox SootopolisCity_House5_Text_226F35, MSGBOX_NPC +SootopolisCity_House5_EventScript_Girl:: @ 8226E9D + msgbox SootopolisCity_House5_Text_BrotherUsedToStudySea, MSGBOX_NPC end -SootopolisCity_House5_Text_226EA6: @ 8226EA6 +SootopolisCity_House5_Text_SootopolisMtPyreConnection: @ 8226EA6 .string "There appears to be some connection\n" .string "between SOOTOPOLIS and MT. PYRE.\p" .string "My friends and I did some research on\n" .string "it at the lab where I used to work.$" -SootopolisCity_House5_Text_226F35: @ 8226F35 +SootopolisCity_House5_Text_BrotherUsedToStudySea: @ 8226F35 .string "My big brother used to study the sea.$" diff --git a/data/maps/SootopolisCity_House6/map.json b/data/maps/SootopolisCity_House6/map.json index 7175903186..bd7e238828 100644 --- a/data/maps/SootopolisCity_House6/map.json +++ b/data/maps/SootopolisCity_House6/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_House6_EventScript_226F5C", + "script": "SootopolisCity_House6_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/SootopolisCity_House6/scripts.inc b/data/maps/SootopolisCity_House6/scripts.inc index 0f175478af..d622738645 100644 --- a/data/maps/SootopolisCity_House6/scripts.inc +++ b/data/maps/SootopolisCity_House6/scripts.inc @@ -1,55 +1,55 @@ SootopolisCity_House6_MapScripts:: @ 8226F5B .byte 0 -SootopolisCity_House6_EventScript_226F5C:: @ 8226F5C +SootopolisCity_House6_EventScript_Woman:: @ 8226F5C lock faceplayer - goto_if_set FLAG_RECEIVED_WAILMER_DOLL, SootopolisCity_House6_EventScript_226FA3 - msgbox SootopolisCity_House6_Text_226FC3, MSGBOX_YESNO - compare VAR_RESULT, 0 - call_if_eq SootopolisCity_House6_EventScript_226F99 - msgbox SootopolisCity_House6_Text_227034, MSGBOX_DEFAULT - givedecoration_std 117 - compare VAR_RESULT, 0 - goto_if_eq SootopolisCity_House6_EventScript_226FAD + goto_if_set FLAG_RECEIVED_WAILMER_DOLL, SootopolisCity_House6_EventScript_ReceivedWailmerDoll + msgbox SootopolisCity_House6_Text_FirstGuestInWhileTakeDoll, MSGBOX_YESNO + compare VAR_RESULT, NO + call_if_eq SootopolisCity_House6_EventScript_DeclineWailmerDoll + msgbox SootopolisCity_House6_Text_TakeGoodCareOfIt, MSGBOX_DEFAULT + givedecoration DECOR_WAILMER_DOLL + compare VAR_RESULT, FALSE + goto_if_eq SootopolisCity_House6_EventScript_NoRoomForWailmerDoll setflag FLAG_RECEIVED_WAILMER_DOLL release end -SootopolisCity_House6_EventScript_226F99:: @ 8226F99 - msgbox SootopolisCity_House6_Text_22708F, MSGBOX_DEFAULT +SootopolisCity_House6_EventScript_DeclineWailmerDoll:: @ 8226F99 + msgbox SootopolisCity_House6_Text_DontWantThisDoll, MSGBOX_DEFAULT release end -SootopolisCity_House6_EventScript_226FA3:: @ 8226FA3 - msgbox SootopolisCity_House6_Text_2270B7, MSGBOX_DEFAULT +SootopolisCity_House6_EventScript_ReceivedWailmerDoll:: @ 8226FA3 + msgbox SootopolisCity_House6_Text_LovePlushDolls, MSGBOX_DEFAULT release end -SootopolisCity_House6_EventScript_226FAD:: @ 8226FAD - bufferdecorationname 1, 117 +SootopolisCity_House6_EventScript_NoRoomForWailmerDoll:: @ 8226FAD + bufferdecorationname 1, DECOR_WAILMER_DOLL msgbox gText_NoRoomLeftForAnother, MSGBOX_DEFAULT - msgbox SootopolisCity_House6_Text_22704A, MSGBOX_DEFAULT + msgbox SootopolisCity_House6_Text_IllHoldItForYou, MSGBOX_DEFAULT release end -SootopolisCity_House6_Text_226FC3: @ 8226FC3 +SootopolisCity_House6_Text_FirstGuestInWhileTakeDoll: @ 8226FC3 .string "Hello! You're our first guest in\n" .string "a good while.\p" .string "You've brightened up my day, so I'll\n" .string "give you a big WAILMER DOLL.$" -SootopolisCity_House6_Text_227034: @ 8227034 +SootopolisCity_House6_Text_TakeGoodCareOfIt: @ 8227034 .string "Take good care of it!$" -SootopolisCity_House6_Text_22704A: @ 822704A +SootopolisCity_House6_Text_IllHoldItForYou: @ 822704A .string "Oh, you want it, but not right now?\n" .string "Okay, then I'll hold it for you.$" -SootopolisCity_House6_Text_22708F: @ 822708F +SootopolisCity_House6_Text_DontWantThisDoll: @ 822708F .string "Are you sure?\n" .string "You don't want this DOLL?$" -SootopolisCity_House6_Text_2270B7: @ 82270B7 +SootopolisCity_House6_Text_LovePlushDolls: @ 82270B7 .string "I love plush DOLLS!$" diff --git a/data/maps/SootopolisCity_House7/map.json b/data/maps/SootopolisCity_House7/map.json index 4d500fcb0a..497b36bbab 100644 --- a/data/maps/SootopolisCity_House7/map.json +++ b/data/maps/SootopolisCity_House7/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_House7_EventScript_2270CC", + "script": "SootopolisCity_House7_EventScript_OldMan", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_House7_EventScript_2270D5", + "script": "SootopolisCity_House7_EventScript_PokefanF", "flag": "0" } ], diff --git a/data/maps/SootopolisCity_House7/scripts.inc b/data/maps/SootopolisCity_House7/scripts.inc index eac8ef3464..b7b11208ea 100644 --- a/data/maps/SootopolisCity_House7/scripts.inc +++ b/data/maps/SootopolisCity_House7/scripts.inc @@ -1,15 +1,15 @@ SootopolisCity_House7_MapScripts:: @ 82270CB .byte 0 -SootopolisCity_House7_EventScript_2270CC:: @ 82270CC - msgbox SootopolisCity_House7_Text_2270DE, MSGBOX_NPC +SootopolisCity_House7_EventScript_OldMan:: @ 82270CC + msgbox SootopolisCity_House7_Text_CityFromEruptedVolcano, MSGBOX_NPC end -SootopolisCity_House7_EventScript_2270D5:: @ 82270D5 - msgbox SootopolisCity_House7_Text_227190, MSGBOX_NPC +SootopolisCity_House7_EventScript_PokefanF:: @ 82270D5 + msgbox SootopolisCity_House7_Text_CaveMadeToKeepSomething, MSGBOX_NPC end -SootopolisCity_House7_Text_2270DE: @ 82270DE +SootopolisCity_House7_Text_CityFromEruptedVolcano: @ 82270DE .string "An underwater volcano erupted and\n" .string "forced itself up from the depths.\p" .string "Its crater emerged from the sea and\n" @@ -17,7 +17,7 @@ SootopolisCity_House7_Text_2270DE: @ 82270DE .string "That's how SOOTOPOLIS CITY came into\n" .string "being.$" -SootopolisCity_House7_Text_227190: @ 8227190 +SootopolisCity_House7_Text_CaveMadeToKeepSomething: @ 8227190 .string "The cave that links SOOTOPOLIS and\n" .string "the outside world…\p" .string "It seems as if the cave was made to\n" diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/map.json b/data/maps/SootopolisCity_LotadAndSeedotHouse/map.json index d7ed8b980a..bf19b4e034 100644 --- a/data/maps/SootopolisCity_LotadAndSeedotHouse/map.json +++ b/data/maps/SootopolisCity_LotadAndSeedotHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_LotadAndSeedotHouse_EventScript_2272BC", + "script": "SootopolisCity_LotadAndSeedotHouse_EventScript_LotadBrother", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_LotadAndSeedotHouse_EventScript_22722B", + "script": "SootopolisCity_LotadAndSeedotHouse_EventScript_SeedotBrother", "flag": "0" } ], @@ -65,7 +65,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SootopolisCity_LotadAndSeedotHouse_EventScript_22734D" + "script": "SootopolisCity_LotadAndSeedotHouse_EventScript_SeedotSizeRecord" }, { "type": "sign", @@ -73,7 +73,7 @@ "y": 1, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SootopolisCity_LotadAndSeedotHouse_EventScript_22735B" + "script": "SootopolisCity_LotadAndSeedotHouse_EventScript_LotadSizeRecord" } ] } \ No newline at end of file diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc b/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc index 17debe3216..1951a33d55 100644 --- a/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc +++ b/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc @@ -1,119 +1,119 @@ SootopolisCity_LotadAndSeedotHouse_MapScripts:: @ 822722A .byte 0 -SootopolisCity_LotadAndSeedotHouse_EventScript_22722B:: @ 822722B +SootopolisCity_LotadAndSeedotHouse_EventScript_SeedotBrother:: @ 822722B special GetSeedotSizeRecordInfo lock faceplayer - msgbox SootopolisCity_LotadAndSeedotHouse_Text_227369, MSGBOX_DEFAULT - special sub_81B94B0 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_PleaseShowMeBigSeedot, MSGBOX_DEFAULT + special ChoosePartyMon waitstate copyvar VAR_RESULT, VAR_0x8004 compare VAR_RESULT, 255 - goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227272 + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_CancelShowSeedot special CompareSeedotSize compare VAR_RESULT, 1 - goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_22727C + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_NotSeedot compare VAR_RESULT, 2 - goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227286 + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_SmallSeedot compare VAR_RESULT, 3 - goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227290 + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_BigSeedot release end -SootopolisCity_LotadAndSeedotHouse_EventScript_227272:: @ 8227272 - msgbox SootopolisCity_LotadAndSeedotHouse_Text_2275BC, MSGBOX_DEFAULT +SootopolisCity_LotadAndSeedotHouse_EventScript_CancelShowSeedot:: @ 8227272 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_DontHaveBigSeedot, MSGBOX_DEFAULT release end -SootopolisCity_LotadAndSeedotHouse_EventScript_22727C:: @ 822727C - msgbox SootopolisCity_LotadAndSeedotHouse_Text_227584, MSGBOX_DEFAULT +SootopolisCity_LotadAndSeedotHouse_EventScript_NotSeedot:: @ 822727C + msgbox SootopolisCity_LotadAndSeedotHouse_Text_ThatsNotSeedot, MSGBOX_DEFAULT release end -SootopolisCity_LotadAndSeedotHouse_EventScript_227286:: @ 8227286 - msgbox SootopolisCity_LotadAndSeedotHouse_Text_227544, MSGBOX_DEFAULT +SootopolisCity_LotadAndSeedotHouse_EventScript_SmallSeedot:: @ 8227286 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_SeenBiggerSeedot, MSGBOX_DEFAULT release end -SootopolisCity_LotadAndSeedotHouse_EventScript_227290:: @ 8227290 - msgbox SootopolisCity_LotadAndSeedotHouse_Text_227480, MSGBOX_DEFAULT - giveitem_std ITEM_ELIXIR - compare VAR_RESULT, 0 - goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_2272B2 +SootopolisCity_LotadAndSeedotHouse_EventScript_BigSeedot:: @ 8227290 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_GoshMightBeBiggerThanLotad, MSGBOX_DEFAULT + giveitem ITEM_ELIXIR + compare VAR_RESULT, FALSE + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_NoRoomForElixir1 closemessage release end -SootopolisCity_LotadAndSeedotHouse_EventScript_2272B2:: @ 82272B2 - msgbox SootopolisCity_LotadAndSeedotHouse_Text_227524, MSGBOX_DEFAULT +SootopolisCity_LotadAndSeedotHouse_EventScript_NoRoomForElixir1:: @ 82272B2 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_BagCrammedFull1, MSGBOX_DEFAULT release end -SootopolisCity_LotadAndSeedotHouse_EventScript_2272BC:: @ 82272BC +SootopolisCity_LotadAndSeedotHouse_EventScript_LotadBrother:: @ 82272BC special GetLotadSizeRecordInfo lock faceplayer - msgbox SootopolisCity_LotadAndSeedotHouse_Text_227676, MSGBOX_DEFAULT - special sub_81B94B0 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_PleaseShowMeBigLotad, MSGBOX_DEFAULT + special ChoosePartyMon waitstate copyvar VAR_RESULT, VAR_0x8004 compare VAR_RESULT, 255 - goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227303 + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_CancelShowLotad special CompareLotadSize compare VAR_RESULT, 1 - goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_22730D + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_NotLotad compare VAR_RESULT, 2 - goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227317 + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_SmallLotad compare VAR_RESULT, 3 - goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227321 + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_BigLotad release end -SootopolisCity_LotadAndSeedotHouse_EventScript_227303:: @ 8227303 - msgbox SootopolisCity_LotadAndSeedotHouse_Text_227896, MSGBOX_DEFAULT +SootopolisCity_LotadAndSeedotHouse_EventScript_CancelShowLotad:: @ 8227303 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_DontHaveBigLotad, MSGBOX_DEFAULT release end -SootopolisCity_LotadAndSeedotHouse_EventScript_22730D:: @ 822730D - msgbox SootopolisCity_LotadAndSeedotHouse_Text_227867, MSGBOX_DEFAULT +SootopolisCity_LotadAndSeedotHouse_EventScript_NotLotad:: @ 822730D + msgbox SootopolisCity_LotadAndSeedotHouse_Text_ThatsNotLotad, MSGBOX_DEFAULT release end -SootopolisCity_LotadAndSeedotHouse_EventScript_227317:: @ 8227317 - msgbox SootopolisCity_LotadAndSeedotHouse_Text_22782A, MSGBOX_DEFAULT +SootopolisCity_LotadAndSeedotHouse_EventScript_SmallLotad:: @ 8227317 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_SeenBiggerLotad, MSGBOX_DEFAULT release end -SootopolisCity_LotadAndSeedotHouse_EventScript_227321:: @ 8227321 - msgbox SootopolisCity_LotadAndSeedotHouse_Text_22776C, MSGBOX_DEFAULT - giveitem_std ITEM_ELIXIR - compare VAR_RESULT, 0 - goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227343 +SootopolisCity_LotadAndSeedotHouse_EventScript_BigLotad:: @ 8227321 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_WowMightBeBiggerThanSeedot, MSGBOX_DEFAULT + giveitem ITEM_ELIXIR + compare VAR_RESULT, FALSE + goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_NoRoomForElixir2 closemessage release end -SootopolisCity_LotadAndSeedotHouse_EventScript_227343:: @ 8227343 - msgbox SootopolisCity_LotadAndSeedotHouse_Text_22780A, MSGBOX_DEFAULT +SootopolisCity_LotadAndSeedotHouse_EventScript_NoRoomForElixir2:: @ 8227343 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_BagCrammedFull2, MSGBOX_DEFAULT release end -SootopolisCity_LotadAndSeedotHouse_EventScript_22734D:: @ 822734D +SootopolisCity_LotadAndSeedotHouse_EventScript_SeedotSizeRecord:: @ 822734D special GetSeedotSizeRecordInfo lockall - msgbox SootopolisCity_LotadAndSeedotHouse_Text_227617, MSGBOX_DEFAULT + msgbox SootopolisCity_LotadAndSeedotHouse_Text_BiggestSeedotInHistory, MSGBOX_DEFAULT releaseall end -SootopolisCity_LotadAndSeedotHouse_EventScript_22735B:: @ 822735B +SootopolisCity_LotadAndSeedotHouse_EventScript_LotadSizeRecord:: @ 822735B special GetLotadSizeRecordInfo lockall - msgbox SootopolisCity_LotadAndSeedotHouse_Text_2278F2, MSGBOX_DEFAULT + msgbox SootopolisCity_LotadAndSeedotHouse_Text_BiggestLotadInHistory, MSGBOX_DEFAULT releaseall end -SootopolisCity_LotadAndSeedotHouse_Text_227369: @ 8227369 +SootopolisCity_LotadAndSeedotHouse_Text_PleaseShowMeBigSeedot: @ 8227369 .string "Do you know the POKéMON SEEDOT?\n" .string "It's hardly ever seen in SOOTOPOLIS.\p" .string "Anyway, I love big SEEDOT.\n" @@ -125,7 +125,7 @@ SootopolisCity_LotadAndSeedotHouse_Text_227369: @ 8227369 .string "Huh? Do you have a SEEDOT with you?\n" .string "P-p-please, show me!$" -SootopolisCity_LotadAndSeedotHouse_Text_227480: @ 8227480 +SootopolisCity_LotadAndSeedotHouse_Text_GoshMightBeBiggerThanLotad: @ 8227480 .string "{STR_VAR_2} inches!\n" .string "Oh, my gosh, this is a big one!\p" .string "It might even beat the big LOTAD\n" @@ -133,35 +133,36 @@ SootopolisCity_LotadAndSeedotHouse_Text_227480: @ 8227480 .string "Thanks for showing me.\n" .string "This is my thanks!$" -SootopolisCity_LotadAndSeedotHouse_Text_22750E: @ 822750E +@ Unused +SootopolisCity_LotadAndSeedotHouse_Text_ReceivedPotion1: @ 822750E .string "{PLAYER} received a POTION.$" -SootopolisCity_LotadAndSeedotHouse_Text_227524: @ 8227524 +SootopolisCity_LotadAndSeedotHouse_Text_BagCrammedFull1: @ 8227524 .string "Hunh?\n" .string "Your BAG is crammed full.$" -SootopolisCity_LotadAndSeedotHouse_Text_227544: @ 8227544 +SootopolisCity_LotadAndSeedotHouse_Text_SeenBiggerSeedot: @ 8227544 .string "{STR_VAR_2} inches, is it?\p" .string "Hmm… I've seen a bigger SEEDOT\n" .string "than this one.$" -SootopolisCity_LotadAndSeedotHouse_Text_227584: @ 8227584 +SootopolisCity_LotadAndSeedotHouse_Text_ThatsNotSeedot: @ 8227584 .string "Oh, now this is quite something…\n" .string "But it's not a SEEDOT!$" -SootopolisCity_LotadAndSeedotHouse_Text_2275BC: @ 82275BC +SootopolisCity_LotadAndSeedotHouse_Text_DontHaveBigSeedot: @ 82275BC .string "You don't have a big SEEDOT?\n" .string "That's too bad…\p" .string "If you get a big SEEDOT, please\n" .string "come show me.$" -SootopolisCity_LotadAndSeedotHouse_Text_227617: @ 8227617 +SootopolisCity_LotadAndSeedotHouse_Text_BiggestSeedotInHistory: @ 8227617 .string "The biggest SEEDOT in history!\n" .string "{STR_VAR_2}'s {STR_VAR_3}-inch giant!\p" .string "A SEEDOT bigger than a LOTAD\n" .string "always wanted!$" -SootopolisCity_LotadAndSeedotHouse_Text_227676: @ 8227676 +SootopolisCity_LotadAndSeedotHouse_Text_PleaseShowMeBigLotad: @ 8227676 .string "Do you know the POKéMON LOTAD?\n" .string "It's rarely seen in SOOTOPOLIS.\p" .string "I love, I mean love, big LOTAD!\p" @@ -172,7 +173,7 @@ SootopolisCity_LotadAndSeedotHouse_Text_227676: @ 8227676 .string "Hunh? Do you have a LOTAD?\n" .string "P-p-please show me!$" -SootopolisCity_LotadAndSeedotHouse_Text_22776C: @ 822776C +SootopolisCity_LotadAndSeedotHouse_Text_WowMightBeBiggerThanSeedot: @ 822776C .string "{STR_VAR_2} inches!\n" .string "Wow, that is big!\p" .string "It might be even bigger than the huge\n" @@ -180,29 +181,30 @@ SootopolisCity_LotadAndSeedotHouse_Text_22776C: @ 822776C .string "Thanks for showing me!\n" .string "This is my thanks!$" -SootopolisCity_LotadAndSeedotHouse_Text_2277F4: @ 82277F4 +@ Unused +SootopolisCity_LotadAndSeedotHouse_Text_ReceivedPotion2: @ 82277F4 .string "{PLAYER} received a POTION.$" -SootopolisCity_LotadAndSeedotHouse_Text_22780A: @ 822780A +SootopolisCity_LotadAndSeedotHouse_Text_BagCrammedFull2: @ 822780A .string "Hunh?\n" .string "Your BAG is crammed full.$" -SootopolisCity_LotadAndSeedotHouse_Text_22782A: @ 822782A +SootopolisCity_LotadAndSeedotHouse_Text_SeenBiggerLotad: @ 822782A .string "{STR_VAR_2} inches?\p" .string "Hmm… I've seen a bigger LOTAD\n" .string "than this one here.$" -SootopolisCity_LotadAndSeedotHouse_Text_227867: @ 8227867 +SootopolisCity_LotadAndSeedotHouse_Text_ThatsNotLotad: @ 8227867 .string "Well, isn't this something!\n" .string "But it's no LOTAD!$" -SootopolisCity_LotadAndSeedotHouse_Text_227896: @ 8227896 +SootopolisCity_LotadAndSeedotHouse_Text_DontHaveBigLotad: @ 8227896 .string "Don't you have a big LOTAD?\n" .string "How disappointing…\p" .string "If you get a big LOTAD, please\n" .string "come show me!$" -SootopolisCity_LotadAndSeedotHouse_Text_2278F2: @ 82278F2 +SootopolisCity_LotadAndSeedotHouse_Text_BiggestLotadInHistory: @ 82278F2 .string "The biggest LOTAD in history!\n" .string "{STR_VAR_2}'s {STR_VAR_3}-inch colossus!\p" .string "A LOTAD bigger than a SEEDOT\n" diff --git a/data/maps/SootopolisCity_Mart/map.json b/data/maps/SootopolisCity_Mart/map.json index e9b9780137..9d8ef277dc 100644 --- a/data/maps/SootopolisCity_Mart/map.json +++ b/data/maps/SootopolisCity_Mart/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_Mart_EventScript_226795", + "script": "SootopolisCity_Mart_EventScript_Clerk", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_Mart_EventScript_2267C2", + "script": "SootopolisCity_Mart_EventScript_FatMan", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_Mart_EventScript_2267EC", + "script": "SootopolisCity_Mart_EventScript_Gentleman", "flag": "0" } ], diff --git a/data/maps/SootopolisCity_Mart/scripts.inc b/data/maps/SootopolisCity_Mart/scripts.inc index fe0270d62d..f7856916cc 100644 --- a/data/maps/SootopolisCity_Mart/scripts.inc +++ b/data/maps/SootopolisCity_Mart/scripts.inc @@ -1,17 +1,17 @@ SootopolisCity_Mart_MapScripts:: @ 8226794 .byte 0 -SootopolisCity_Mart_EventScript_226795:: @ 8226795 +SootopolisCity_Mart_EventScript_Clerk:: @ 8226795 lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart SootopolisCity_Mart_Pokemart_2267AC - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart SootopolisCity_Mart_Pokemart + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end -SootopolisCity_Mart_Pokemart_2267AC: @ 82267AC +SootopolisCity_Mart_Pokemart: @ 82267AC .2byte ITEM_ULTRA_BALL .2byte ITEM_HYPER_POTION .2byte ITEM_MAX_POTION @@ -25,54 +25,54 @@ SootopolisCity_Mart_Pokemart_2267AC: @ 82267AC release end -SootopolisCity_Mart_EventScript_2267C2:: @ 82267C2 +SootopolisCity_Mart_EventScript_FatMan:: @ 82267C2 lock faceplayer compare VAR_SKY_PILLAR_STATE, 2 - goto_if_ge SootopolisCity_Mart_EventScript_2267E2 - goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_Mart_EventScript_2267E2 - msgbox SootopolisCity_Mart_Text_22685D, MSGBOX_DEFAULT + goto_if_ge SootopolisCity_Mart_EventScript_FatManNoLegendaries + goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_Mart_EventScript_FatManNoLegendaries + msgbox SootopolisCity_Mart_Text_TooScaryOutside, MSGBOX_DEFAULT release end -SootopolisCity_Mart_EventScript_2267E2:: @ 82267E2 - msgbox SootopolisCity_Mart_Text_226816, MSGBOX_DEFAULT +SootopolisCity_Mart_EventScript_FatManNoLegendaries:: @ 82267E2 + msgbox SootopolisCity_Mart_Text_PPUpIsGreat, MSGBOX_DEFAULT release end -SootopolisCity_Mart_EventScript_2267EC:: @ 82267EC +SootopolisCity_Mart_EventScript_Gentleman:: @ 82267EC lock faceplayer compare VAR_SKY_PILLAR_STATE, 2 - goto_if_ge SootopolisCity_Mart_EventScript_22680C - goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_Mart_EventScript_22680C - msgbox SootopolisCity_Mart_Text_226928, MSGBOX_DEFAULT + goto_if_ge SootopolisCity_Mart_EventScript_GentlemanNoLegendaries + goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_Mart_EventScript_GentlemanNoLegendaries + msgbox SootopolisCity_Mart_Text_DidSomethingAwaken, MSGBOX_DEFAULT release end -SootopolisCity_Mart_EventScript_22680C:: @ 822680C - msgbox SootopolisCity_Mart_Text_2268AF, MSGBOX_DEFAULT +SootopolisCity_Mart_EventScript_GentlemanNoLegendaries:: @ 822680C + msgbox SootopolisCity_Mart_Text_FullRestoreItemOfDreams, MSGBOX_DEFAULT release end -SootopolisCity_Mart_Text_226816: @ 8226816 +SootopolisCity_Mart_Text_PPUpIsGreat: @ 8226816 .string "PP UP is great!\p" .string "It raises the POWER POINTS, the PP,\n" .string "of a POKéMON move.$" -SootopolisCity_Mart_Text_22685D: @ 822685D +SootopolisCity_Mart_Text_TooScaryOutside: @ 822685D .string "What…\n" .string "What is happening?\p" .string "I really want to know, but it's too\n" .string "scary to go outside.$" -SootopolisCity_Mart_Text_2268AF: @ 82268AF +SootopolisCity_Mart_Text_FullRestoreItemOfDreams: @ 82268AF .string "Do you know FULL RESTORE?\p" .string "Full restoration of HP!\n" .string "Eradication of all status problems!\p" .string "It's truly an item of your dreams!$" -SootopolisCity_Mart_Text_226928: @ 8226928 +SootopolisCity_Mart_Text_DidSomethingAwaken: @ 8226928 .string "This weather…\n" .string "Did something awaken?$" diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json b/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json index 791b9fdaa0..014a07dde5 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json +++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_MysteryEventsHouse_1F_EventScript_227A24", + "script": "SootopolisCity_MysteryEventsHouse_1F_EventScript_OldMan", "flag": "0" } ], diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc index 78938b7d84..949d199d5e 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc @@ -1,240 +1,241 @@ SootopolisCity_MysteryEventsHouse_1F_MapScripts:: @ 8227953 map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_MysteryEventsHouse_1F_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_MysteryEventsHouse_1F_MapScript2_22799D + map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_MysteryEventsHouse_1F_OnFrame .byte 0 SootopolisCity_MysteryEventsHouse_1F_OnTransition: @ 822795E - setvar VAR_0x8004, 16 - special CallFrontierUtilFunc + frontier_checkvisittrainer compare VAR_RESULT, 0 - call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D + call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_SetTrainerVisitingLayout compare VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 0 - call_if_ne SootopolisCity_MysteryEventsHouse_1F_EventScript_227991 + call_if_ne SootopolisCity_MysteryEventsHouse_1F_EventScript_MoveOldManToDoor end -SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D:: @ 822797D +SootopolisCity_MysteryEventsHouse_1F_EventScript_SetTrainerVisitingLayout:: @ 822797D setvar VAR_TEMP_1, 1 setobjectxyperm 1, 3, 2 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_DOWN setmaplayoutindex LAYOUT_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F_STAIRS_UNBLOCKED return -SootopolisCity_MysteryEventsHouse_1F_EventScript_227991:: @ 8227991 +SootopolisCity_MysteryEventsHouse_1F_EventScript_MoveOldManToDoor:: @ 8227991 setobjectxyperm 1, 2, 2 setobjectmovementtype 1, MOVEMENT_TYPE_FACE_RIGHT return -SootopolisCity_MysteryEventsHouse_1F_MapScript2_22799D: @ 822799D - map_script_2 VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7 - map_script_2 VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 2, SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7 - map_script_2 VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 3, SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7 +SootopolisCity_MysteryEventsHouse_1F_OnFrame: @ 822799D + map_script_2 VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_OldManCommentOnBattle + map_script_2 VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 2, SootopolisCity_MysteryEventsHouse_1F_EventScript_OldManCommentOnBattle + map_script_2 VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 3, SootopolisCity_MysteryEventsHouse_1F_EventScript_OldManCommentOnBattle .2byte 0 -SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7:: @ 82279B7 +SootopolisCity_MysteryEventsHouse_1F_EventScript_OldManCommentOnBattle:: @ 82279B7 lockall - applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227A1F + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerExitStairs waitmovement 0 - applymovement 1, SootopolisCity_MysteryEventsHouse_1F_Movement_227A21 + applymovement 1, SootopolisCity_MysteryEventsHouse_1F_Movement_OldManWalkBehindPlayer waitmovement 0 copyobjectxytoperm 1 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 compare VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 1 - call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A04 + call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleWonComment compare VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 2 - call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A0D + call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleLostComment compare VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 3 - call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A16 + call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleTiedComment special LoadPlayerParty setvar VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 0 releaseall end -SootopolisCity_MysteryEventsHouse_1F_EventScript_227A04:: @ 8227A04 - msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227DB8, MSGBOX_DEFAULT +SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleWonComment:: @ 8227A04 + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_ThatWasSuperlative, MSGBOX_DEFAULT return -SootopolisCity_MysteryEventsHouse_1F_EventScript_227A0D:: @ 8227A0D - msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227E03, MSGBOX_DEFAULT +SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleLostComment:: @ 8227A0D + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_TooBadForYou, MSGBOX_DEFAULT return -SootopolisCity_MysteryEventsHouse_1F_EventScript_227A16:: @ 8227A16 - msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227D5B, MSGBOX_DEFAULT +SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleTiedComment:: @ 8227A16 + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_BrilliantStandoff, MSGBOX_DEFAULT return -SootopolisCity_MysteryEventsHouse_1F_Movement_227A1F: @ 8227A1F +SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerExitStairs: @ 8227A1F walk_down step_end -SootopolisCity_MysteryEventsHouse_1F_Movement_227A21: @ 8227A21 +SootopolisCity_MysteryEventsHouse_1F_Movement_OldManWalkBehindPlayer: @ 8227A21 walk_right walk_in_place_fastest_down step_end -SootopolisCity_MysteryEventsHouse_1F_EventScript_227A24:: @ 8227A24 +SootopolisCity_MysteryEventsHouse_1F_EventScript_OldMan:: @ 8227A24 lock faceplayer - setvar VAR_0x8004, 16 - special CallFrontierUtilFunc + frontier_checkvisittrainer compare VAR_RESULT, 1 - goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E + goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_InvalidVisitingTrainer compare VAR_TEMP_1, 1 - goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58 - msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227B46, MSGBOX_DEFAULT + goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_TrainerVisiting + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_OnlyAmusementWatchingBattles, MSGBOX_DEFAULT release end -SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E:: @ 8227A4E - msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227B46, MSGBOX_DEFAULT +SootopolisCity_MysteryEventsHouse_1F_EventScript_InvalidVisitingTrainer:: @ 8227A4E + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_OnlyAmusementWatchingBattles, MSGBOX_DEFAULT release end -SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58:: @ 8227A58 +SootopolisCity_MysteryEventsHouse_1F_EventScript_TrainerVisiting:: @ 8227A58 special SavePlayerParty special BufferEReaderTrainerName - msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227BFC, MSGBOX_YESNO + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_ChallengeVisitingTrainer, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle + call SootopolisCity_MysteryEventsHouse_1F_EventScript_ChooseParty compare VAR_RESULT, 0 - goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 - call SootopolisCity_MysteryEventsHouse_1F_EventScript_227AEF - compare VAR_RESULT, 0 - goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 - msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227CEB, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 + goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_SaveProgressBeforeBattle, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle special LoadPlayerParty call Common_EventScript_SaveGame - compare VAR_RESULT, 0 - goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 + compare VAR_RESULT, FALSE + goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle special SavePlayerParty special ReducePlayerPartyToSelectedMons - msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227D21, MSGBOX_DEFAULT + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_HopeToSeeGoodMatch, MSGBOX_DEFAULT closemessage - compare VAR_FACING, 2 - call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AFE - compare VAR_FACING, 4 - call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227B10 - compare VAR_FACING, 3 - call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227B22 + compare VAR_FACING, DIR_NORTH + call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementNorth + compare VAR_FACING, DIR_EAST + call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementEast + compare VAR_FACING, DIR_WEST + call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementWest warp MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F, 255, 3, 1 waitstate release end -SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2:: @ 8227AE2 +SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle:: @ 8227AE2 special LoadPlayerParty - msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227C44, MSGBOX_DEFAULT + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_YouWontBattle, MSGBOX_DEFAULT release end -SootopolisCity_MysteryEventsHouse_1F_EventScript_227AEF:: @ 8227AEF - msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227C84, MSGBOX_DEFAULT - fadescreen 1 +SootopolisCity_MysteryEventsHouse_1F_EventScript_ChooseParty:: @ 8227AEF + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_KeepItTo3On3, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK special ChooseHalfPartyForBattle waitstate return -SootopolisCity_MysteryEventsHouse_1F_EventScript_227AFE:: @ 8227AFE - applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B40 - applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227B34 +SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementNorth:: @ 8227AFE + applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_OldManMoveAsideLeft + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementNorth waitmovement 0 return -SootopolisCity_MysteryEventsHouse_1F_EventScript_227B10:: @ 8227B10 - applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B43 - applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227B38 +SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementEast:: @ 8227B10 + applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_OldManMoveAsideRight + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementEast waitmovement 0 return -SootopolisCity_MysteryEventsHouse_1F_EventScript_227B22:: @ 8227B22 - applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B40 - applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227B3C +SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementWest:: @ 8227B22 + applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_OldManMoveAsideLeft + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementWest waitmovement 0 return -SootopolisCity_MysteryEventsHouse_1F_Movement_227B34: @ 8227B34 +SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementNorth: @ 8227B34 delay_16 walk_up walk_up step_end -SootopolisCity_MysteryEventsHouse_1F_Movement_227B38: @ 8227B38 +SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementEast: @ 8227B38 delay_16 walk_right walk_up step_end -SootopolisCity_MysteryEventsHouse_1F_Movement_227B3C: @ 8227B3C +SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementWest: @ 8227B3C delay_16 walk_left walk_up step_end -SootopolisCity_MysteryEventsHouse_1F_Movement_227B40: @ 8227B40 +SootopolisCity_MysteryEventsHouse_1F_Movement_OldManMoveAsideLeft: @ 8227B40 walk_left walk_in_place_fastest_right step_end -SootopolisCity_MysteryEventsHouse_1F_Movement_227B43: @ 8227B43 +SootopolisCity_MysteryEventsHouse_1F_Movement_OldManMoveAsideRight: @ 8227B43 walk_right walk_in_place_fastest_left step_end -SootopolisCity_MysteryEventsHouse_1F_Text_227B46: @ 8227B46 +SootopolisCity_MysteryEventsHouse_1F_Text_OnlyAmusementWatchingBattles: @ 8227B46 .string "When I was young, I traveled the world\n" .string "as a POKéMON TRAINER.\p" .string "Now that I've become an old buzzard,\n" .string "my only amusement is watching young\l" .string "TRAINERS battle.$" -SootopolisCity_MysteryEventsHouse_1F_Text_227BDD: @ 8227BDD +SootopolisCity_MysteryEventsHouse_1F_Text_DoorAppearsToBeLocked: @ 8227BDD .string "The door appears to be locked.$" -SootopolisCity_MysteryEventsHouse_1F_Text_227BFC: @ 8227BFC +SootopolisCity_MysteryEventsHouse_1F_Text_ChallengeVisitingTrainer: @ 8227BFC .string "A TRAINER named {STR_VAR_1}\n" .string "is visiting my home.\p" .string "Would you like to challenge\n" .string "{STR_VAR_1}?$" -SootopolisCity_MysteryEventsHouse_1F_Text_227C44: @ 8227C44 +SootopolisCity_MysteryEventsHouse_1F_Text_YouWontBattle: @ 8227C44 .string "You won't battle? I'm disappointed\n" .string "that I can't see you battle…$" -SootopolisCity_MysteryEventsHouse_1F_Text_227C84: @ 8227C84 +SootopolisCity_MysteryEventsHouse_1F_Text_KeepItTo3On3: @ 8227C84 .string "Oh, good, good!\p" .string "But my house isn't all that sturdy.\p" .string "Could I ask you to keep it down to\n" .string "a 3-on-3 match?$" -SootopolisCity_MysteryEventsHouse_1F_Text_227CEB: @ 8227CEB +SootopolisCity_MysteryEventsHouse_1F_Text_SaveProgressBeforeBattle: @ 8227CEB .string "Before you two battle, you should\n" .string "save your progress.$" -SootopolisCity_MysteryEventsHouse_1F_Text_227D21: @ 8227D21 +SootopolisCity_MysteryEventsHouse_1F_Text_HopeToSeeGoodMatch: @ 8227D21 .string "I hope to see a good match!$" -SootopolisCity_MysteryEventsHouse_1F_Text_227D3D: @ 8227D3D +@ Unused +SootopolisCity_MysteryEventsHouse_1F_Text_StrVar1Tie: @ 8227D3D .string "{STR_VAR_1}$" -SootopolisCity_MysteryEventsHouse_B1F_Text_227D40: @ 8227D40 +SootopolisCity_MysteryEventsHouse_B1F_Text_MatchEndedUpDraw: @ 8227D40 .string "The match ended up a draw.$" -SootopolisCity_MysteryEventsHouse_1F_Text_227D5B: @ 8227D5B +SootopolisCity_MysteryEventsHouse_1F_Text_BrilliantStandoff: @ 8227D5B .string "So, it became a standoff.\p" .string "It was a brilliant match in which\n" .string "neither side conceded a step!$" -SootopolisCity_MysteryEventsHouse_1F_Text_227DB5: @ 8227DB5 +@ Unused +SootopolisCity_MysteryEventsHouse_1F_Text_StrVar1Won: @ 8227DB5 .string "{STR_VAR_1}$" -SootopolisCity_MysteryEventsHouse_1F_Text_227DB8: @ 8227DB8 +SootopolisCity_MysteryEventsHouse_1F_Text_ThatWasSuperlative: @ 8227DB8 .string "That was superlative!\p" .string "Why, it was like seeing myself in\n" .string "my youth again!$" -SootopolisCity_MysteryEventsHouse_1F_Text_227E00: @ 8227E00 +@ Unused +SootopolisCity_MysteryEventsHouse_1F_Text_StrVar1Lost: @ 8227E00 .string "{STR_VAR_1}$" -SootopolisCity_MysteryEventsHouse_1F_Text_227E03: @ 8227E03 +SootopolisCity_MysteryEventsHouse_1F_Text_TooBadForYou: @ 8227E03 .string "Ah, too bad for you!\p" .string "But it was a good match.\n" .string "I hope you can win next time.$" diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc index 16533649cc..9699eb5e82 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc @@ -1,19 +1,19 @@ SootopolisCity_MysteryEventsHouse_B1F_MapScripts:: @ 8227E4F map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_MysteryEventsHouse_B1F_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_MysteryEventsHouse_B1F_MapScript2_227E5E + map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_MysteryEventsHouse_B1F_OnFrame .byte 0 SootopolisCity_MysteryEventsHouse_B1F_OnTransition: @ 8227E5A special SetEReaderTrainerGfxId end -SootopolisCity_MysteryEventsHouse_B1F_MapScript2_227E5E: @ 8227E5E - map_script_2 VAR_TEMP_1, 0, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68 +SootopolisCity_MysteryEventsHouse_B1F_OnFrame: @ 8227E5E + map_script_2 VAR_TEMP_1, 0, SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleVisitingTrainer .2byte 0 -SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68 +SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleVisitingTrainer:: @ 8227E68 lockall - applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_PlayerEnterBasement waitmovement 0 special CopyEReaderTrainerGreeting msgbox gStringVar4, MSGBOX_DEFAULT @@ -23,14 +23,14 @@ SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68 special DoSpecialTrainerBattle waitstate compare VAR_RESULT, 3 - call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_227ECF + call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleTie compare VAR_RESULT, 1 - call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EDD + call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleWon compare VAR_RESULT, 2 - call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EE8 + call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleLost closemessage special HealPlayerParty - applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_PlayerExitBasement waitmovement 0 special LoadPlayerParty setvar VAR_TEMP_1, 1 @@ -39,26 +39,26 @@ SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68 releaseall end -SootopolisCity_MysteryEventsHouse_B1F_EventScript_227ECF:: @ 8227ECF +SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleTie:: @ 8227ECF setvar VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 3 - msgbox SootopolisCity_MysteryEventsHouse_B1F_Text_227D40, MSGBOX_DEFAULT + msgbox SootopolisCity_MysteryEventsHouse_B1F_Text_MatchEndedUpDraw, MSGBOX_DEFAULT return -SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EDD:: @ 8227EDD +SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleWon:: @ 8227EDD setvar VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 1 special ShowFieldMessageStringVar4 waitmessage waitbuttonpress return -SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EE8:: @ 8227EE8 +SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleLost:: @ 8227EE8 setvar VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 2 special ShowFieldMessageStringVar4 waitmessage waitbuttonpress return -SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3: @ 8227EF3 +SootopolisCity_MysteryEventsHouse_B1F_Movement_PlayerEnterBasement: @ 8227EF3 walk_down walk_down walk_down @@ -66,7 +66,7 @@ SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3: @ 8227EF3 walk_right step_end -SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9: @ 8227EF9 +SootopolisCity_MysteryEventsHouse_B1F_Movement_PlayerExitBasement: @ 8227EF9 walk_left walk_left walk_up diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/map.json b/data/maps/SootopolisCity_PokemonCenter_1F/map.json index 90a8dcdade..4a5eec7474 100644 --- a/data/maps/SootopolisCity_PokemonCenter_1F/map.json +++ b/data/maps/SootopolisCity_PokemonCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_PokemonCenter_1F_EventScript_226500", + "script": "SootopolisCity_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_PokemonCenter_1F_EventScript_22650E", + "script": "SootopolisCity_PokemonCenter_1F_EventScript_Gentleman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_PokemonCenter_1F_EventScript_226538", + "script": "SootopolisCity_PokemonCenter_1F_EventScript_Woman", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_PokemonCenter_1F_EventScript_2C8256", + "script": "SootopolisCity_PokemonCenter_1F_EventScript_DoubleEdgeTutor", "flag": "0" } ], diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc index d3dfb91b04..d8ff4e7f62 100644 --- a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc @@ -1,51 +1,52 @@ SootopolisCity_PokemonCenter_1F_MapScripts:: @ 82264F1 map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 SootopolisCity_PokemonCenter_1F_OnTransition: @ 82264FC setrespawn HEAL_LOCATION_SOOTOPOLIS_CITY end -SootopolisCity_PokemonCenter_1F_EventScript_226500:: @ 8226500 +@ VAR_0x800B is the Nurse's object event id +SootopolisCity_PokemonCenter_1F_EventScript_Nurse:: @ 8226500 setvar VAR_0x800B, 1 - call SootopolisCity_PokemonCenter_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -SootopolisCity_PokemonCenter_1F_EventScript_22650E:: @ 822650E +SootopolisCity_PokemonCenter_1F_EventScript_Gentleman:: @ 822650E lock faceplayer compare VAR_SKY_PILLAR_STATE, 2 - goto_if_ge SootopolisCity_PokemonCenter_1F_EventScript_22652E - goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_PokemonCenter_1F_EventScript_22652E - msgbox SootopolisCity_PokemonCenter_1F_Text_22664B, MSGBOX_DEFAULT + goto_if_ge SootopolisCity_PokemonCenter_1F_EventScript_GentlemanNoLegendaries + goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_PokemonCenter_1F_EventScript_GentlemanNoLegendaries + msgbox SootopolisCity_PokemonCenter_1F_Text_EveryoneTakenRefuge, MSGBOX_DEFAULT release end -SootopolisCity_PokemonCenter_1F_EventScript_22652E:: @ 822652E - msgbox SootopolisCity_PokemonCenter_1F_Text_226562, MSGBOX_DEFAULT +SootopolisCity_PokemonCenter_1F_EventScript_GentlemanNoLegendaries:: @ 822652E + msgbox SootopolisCity_PokemonCenter_1F_Text_WallaceToughestInHoenn, MSGBOX_DEFAULT release end -SootopolisCity_PokemonCenter_1F_EventScript_226538:: @ 8226538 +SootopolisCity_PokemonCenter_1F_EventScript_Woman:: @ 8226538 lock faceplayer compare VAR_SKY_PILLAR_STATE, 2 - goto_if_ge SootopolisCity_PokemonCenter_1F_EventScript_226558 - goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_PokemonCenter_1F_EventScript_226558 - msgbox SootopolisCity_PokemonCenter_1F_Text_22672F, MSGBOX_DEFAULT + goto_if_ge SootopolisCity_PokemonCenter_1F_EventScript_WomanNoLegendaries + goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_PokemonCenter_1F_EventScript_WomanNoLegendaries + msgbox SootopolisCity_PokemonCenter_1F_Text_ArentPokemonOurFriends, MSGBOX_DEFAULT release end -SootopolisCity_PokemonCenter_1F_EventScript_226558:: @ 8226558 - msgbox SootopolisCity_PokemonCenter_1F_Text_2266B9, MSGBOX_DEFAULT +SootopolisCity_PokemonCenter_1F_EventScript_WomanNoLegendaries:: @ 8226558 + msgbox SootopolisCity_PokemonCenter_1F_Text_AlwaysBeFriendsWithPokemon, MSGBOX_DEFAULT release end -SootopolisCity_PokemonCenter_1F_Text_226562: @ 8226562 +SootopolisCity_PokemonCenter_1F_Text_WallaceToughestInHoenn: @ 8226562 .string "WALLACE is rumored to be the toughest\n" .string "TRAINER in the whole HOENN region.\p" .string "This town's GYM is led by the TRAINER\n" @@ -54,19 +55,19 @@ SootopolisCity_PokemonCenter_1F_Text_226562: @ 8226562 .string "even stronger than WALLACE's mentor.\p" .string "How strong could they be?$" -SootopolisCity_PokemonCenter_1F_Text_22664B: @ 822664B +SootopolisCity_PokemonCenter_1F_Text_EveryoneTakenRefuge: @ 822664B .string "Everyone in town has taken refuge\n" .string "and won't come out of their homes.\p" .string "Even I would rather not venture\n" .string "outside.$" -SootopolisCity_PokemonCenter_1F_Text_2266B9: @ 82266B9 +SootopolisCity_PokemonCenter_1F_Text_AlwaysBeFriendsWithPokemon: @ 82266B9 .string "Whenever, wherever, and whatever\n" .string "happens, I will always be friends with\l" .string "POKéMON.\p" .string "Because it's fun to be with POKéMON!$" -SootopolisCity_PokemonCenter_1F_Text_22672F: @ 822672F +SootopolisCity_PokemonCenter_1F_Text_ArentPokemonOurFriends: @ 822672F .string "Aren't POKéMON our friends?\p" .string "Why are they going wild this way?$" diff --git a/data/maps/SootopolisCity_PokemonCenter_2F/map.json b/data/maps/SootopolisCity_PokemonCenter_2F/map.json index 33308de7be..6c00e8e215 100644 --- a/data/maps/SootopolisCity_PokemonCenter_2F/map.json +++ b/data/maps/SootopolisCity_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SootopolisCity_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc index 4c9fce9123..57d21cbb58 100644 --- a/data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc +++ b/data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ SootopolisCity_PokemonCenter_2F_MapScripts:: @ 822676D - map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SootopolisCity_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -SootopolisCity_PokemonCenter_2F_EventScript_226782:: @ 8226782 - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +SootopolisCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8226782 + call CableClub_EventScript_Colosseum end -SootopolisCity_PokemonCenter_2F_EventScript_226788:: @ 8226788 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +SootopolisCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8226788 + call CableClub_EventScript_TradeCenter end -SootopolisCity_PokemonCenter_2F_EventScript_22678E:: @ 822678E - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +SootopolisCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 822678E + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/SouthernIsland_Exterior/map.json b/data/maps/SouthernIsland_Exterior/map.json index 26447c163d..cf8be22279 100644 --- a/data/maps/SouthernIsland_Exterior/map.json +++ b/data/maps/SouthernIsland_Exterior/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "SouthernIsland_Exterior_EventScript_2429D2", + "script": "SouthernIsland_Exterior_EventScript_Sailor", "flag": "0" }, { @@ -65,7 +65,7 @@ "y": 7, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "SouthernIsland_Exterior_EventScript_242A3C" + "script": "SouthernIsland_Exterior_EventScript_Sign" } ] } \ No newline at end of file diff --git a/data/maps/SouthernIsland_Exterior/scripts.inc b/data/maps/SouthernIsland_Exterior/scripts.inc index e3ecfa3dbc..17ff25fdb5 100644 --- a/data/maps/SouthernIsland_Exterior/scripts.inc +++ b/data/maps/SouthernIsland_Exterior/scripts.inc @@ -6,50 +6,50 @@ SouthernIsland_Exterior_OnTransition: @ 82429CE setflag FLAG_LANDMARK_SOUTHERN_ISLAND end -SouthernIsland_Exterior_EventScript_2429D2:: @ 82429D2 +SouthernIsland_Exterior_EventScript_Sailor:: @ 82429D2 lock faceplayer - msgbox SouthernIsland_Exterior_Text_2A69F1, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SouthernIsland_Exterior_EventScript_242A17 - msgbox SouthernIsland_Exterior_Text_2A6A5D, MSGBOX_DEFAULT + msgbox EventTicket_Text_SouthernIslandSailBack, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SouthernIsland_Exterior_EventScript_AsYouLike + msgbox EventTicket_Text_SailHome, MSGBOX_DEFAULT closemessage - applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown + applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown waitmovement 0 delay 30 hideobjectat 1, MAP_SOUTHERN_ISLAND_EXTERIOR setvar VAR_0x8004, 2 - call SouthernIsland_Exterior_EventScript_272250 + call Common_EventScript_FerryDepartIsland warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11 waitstate release end -SouthernIsland_Exterior_EventScript_242A17:: @ 8242A17 - msgbox SouthernIsland_Exterior_Text_2A6A82, MSGBOX_DEFAULT +SouthernIsland_Exterior_EventScript_AsYouLike:: @ 8242A17 + msgbox EventTicket_Text_AsYouLike, MSGBOX_DEFAULT release end -BattleFrontier_OutsideWest_EventScript_242A21:: @ 8242A21 - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_OutsideWest_Movement_242A37 +Ferry_EventScript_DepartIslandSouth:: @ 8242A21 + applymovement EVENT_OBJ_ID_PLAYER, Ferry_EventScript_DepartIslandBoardSouth waitmovement 0 return -BattleFrontier_OutsideWest_EventScript_242A2C:: @ 8242A2C - applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_OutsideWest_Movement_242A39 +Ferry_EventScript_DepartIslandWest:: @ 8242A2C + applymovement EVENT_OBJ_ID_PLAYER, Ferry_EventScript_DepartIslandBoardWest waitmovement 0 return -BattleFrontier_OutsideWest_Movement_242A37: @ 8242A37 +Ferry_EventScript_DepartIslandBoardSouth: @ 8242A37 walk_down step_end -BattleFrontier_OutsideWest_Movement_242A39: @ 8242A39 +Ferry_EventScript_DepartIslandBoardWest: @ 8242A39 walk_left walk_in_place_fastest_down step_end -SouthernIsland_Exterior_EventScript_242A3C:: @ 8242A3C - msgbox SouthernIsland_Exterior_Text_2A6AD5, MSGBOX_SIGN +SouthernIsland_Exterior_EventScript_Sign:: @ 8242A3C + msgbox SouthernIsland_Exterior_Text_Sign, MSGBOX_SIGN end diff --git a/data/maps/SouthernIsland_Interior/map.json b/data/maps/SouthernIsland_Interior/map.json index 5fd8354f6c..a647076bad 100644 --- a/data/maps/SouthernIsland_Interior/map.json +++ b/data/maps/SouthernIsland_Interior/map.json @@ -65,7 +65,7 @@ "y": 11, "elevation": 3, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "SouthernIsland_Interior_EventScript_242AC4" + "script": "SouthernIsland_Interior_EventScript_TryLatiEncounter" } ] } \ No newline at end of file diff --git a/data/maps/SouthernIsland_Interior/scripts.inc b/data/maps/SouthernIsland_Interior/scripts.inc index a87b59079d..7a2a04771c 100644 --- a/data/maps/SouthernIsland_Interior/scripts.inc +++ b/data/maps/SouthernIsland_Interior/scripts.inc @@ -1,68 +1,68 @@ SouthernIsland_Interior_MapScripts:: @ 8242A45 - map_script MAP_SCRIPT_ON_RESUME, SouthernIsland_Interior_MapScript1_242A50 + map_script MAP_SCRIPT_ON_RESUME, SouthernIsland_Interior_OnResume map_script MAP_SCRIPT_ON_TRANSITION, SouthernIsland_Interior_OnTransition .byte 0 -SouthernIsland_Interior_MapScript1_242A50: @ 8242A50 - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SouthernIsland_Interior_EventScript_242A5A +SouthernIsland_Interior_OnResume: @ 8242A50 + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SouthernIsland_Interior_EventScript_TryRemoveLati end -SouthernIsland_Interior_EventScript_242A5A:: @ 8242A5A +SouthernIsland_Interior_EventScript_TryRemoveLati:: @ 8242A5A specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject 2 return SouthernIsland_Interior_OnTransition: @ 8242A6E compare VAR_ROAMER_POKEMON, 0 - call_if_eq SouthernIsland_Interior_EventScript_242A8A + call_if_eq SouthernIsland_Interior_EventScript_SetUpLatios compare VAR_ROAMER_POKEMON, 0 - call_if_ne SouthernIsland_Interior_EventScript_242A95 - call SouthernIsland_Interior_EventScript_242AA0 + call_if_ne SouthernIsland_Interior_EventScript_SetUpLatias + call SouthernIsland_Interior_EventScript_SetUpPlayerGfx end -SouthernIsland_Interior_EventScript_242A8A:: @ 8242A8A +SouthernIsland_Interior_EventScript_SetUpLatios:: @ 8242A8A setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_LATIOS - setvar VAR_TEMP_4, 408 + setvar VAR_TEMP_4, SPECIES_LATIOS return -SouthernIsland_Interior_EventScript_242A95:: @ 8242A95 +SouthernIsland_Interior_EventScript_SetUpLatias:: @ 8242A95 setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_LATIAS - setvar VAR_TEMP_4, 407 + setvar VAR_TEMP_4, SPECIES_LATIAS return -SouthernIsland_Interior_EventScript_242AA0:: @ 8242AA0 +SouthernIsland_Interior_EventScript_SetUpPlayerGfx:: @ 8242AA0 checkplayergender compare VAR_RESULT, MALE - goto_if_eq SouthernIsland_Interior_EventScript_242AB8 + goto_if_eq SouthernIsland_Interior_EventScript_SetBrendanGfx compare VAR_RESULT, FEMALE - goto_if_eq SouthernIsland_Interior_EventScript_242ABE + goto_if_eq SouthernIsland_Interior_EventScript_SetMayGfx end -SouthernIsland_Interior_EventScript_242AB8:: @ 8242AB8 +SouthernIsland_Interior_EventScript_SetBrendanGfx:: @ 8242AB8 setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL return -SouthernIsland_Interior_EventScript_242ABE:: @ 8242ABE +SouthernIsland_Interior_EventScript_SetMayGfx:: @ 8242ABE setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL return -SouthernIsland_Interior_EventScript_242AC4:: @ 8242AC4 +SouthernIsland_Interior_EventScript_TryLatiEncounter:: @ 8242AC4 lockall setvar VAR_0x8008, 12 - goto SouthernIsland_Interior_EventScript_242AD0 + goto SouthernIsland_Interior_EventScript_Lati end -SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0 - goto_if_set FLAG_TEMP_2, SouthernIsland_Interior_EventScript_242B9A - goto_if_set FLAG_DEFEATED_LATIAS_OR_LATIOS, SouthernIsland_Interior_EventScript_242B9A - goto_if_set FLAG_CAUGHT_LATIAS_OR_LATIOS, SouthernIsland_Interior_EventScript_242B9A - goto_if_unset FLAG_SYS_HAS_EON_TICKET, SouthernIsland_Interior_EventScript_242B9A +SouthernIsland_Interior_EventScript_Lati:: @ 8242AD0 + goto_if_set FLAG_TEMP_2, SouthernIsland_Interior_EventScript_Sign + goto_if_set FLAG_DEFEATED_LATIAS_OR_LATIOS, SouthernIsland_Interior_EventScript_Sign + goto_if_set FLAG_CAUGHT_LATIAS_OR_LATIOS, SouthernIsland_Interior_EventScript_Sign + goto_if_unset FLAG_SYS_HAS_EON_TICKET, SouthernIsland_Interior_EventScript_Sign setflag FLAG_ENCOUNTERED_LATIAS_OR_LATIOS setflag FLAG_TEMP_2 special SpawnCameraObject - applymovement EVENT_OBJ_ID_CAMERA, SouthernIsland_Interior_Movement_242BCA + applymovement EVENT_OBJ_ID_CAMERA, SouthernIsland_Interior_Movement_CameraPanUp waitmovement 0 delay 50 waitse @@ -71,68 +71,68 @@ SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0 waitmoncry addobject 2 delay 30 - applymovement EVENT_OBJ_ID_CAMERA, SouthernIsland_Interior_Movement_242BCE - applymovement 2, SouthernIsland_Interior_Movement_242BDA + applymovement EVENT_OBJ_ID_CAMERA, SouthernIsland_Interior_Movement_CameraPanDown + applymovement 2, SouthernIsland_Interior_Movement_LatiApproach waitmovement 0 delay 50 special RemoveCameraObject setvar VAR_LAST_TALKED, 2 compare VAR_ROAMER_POKEMON, 0 - call_if_eq SouthernIsland_Interior_EventScript_242BA4 + call_if_eq SouthernIsland_Interior_EventScript_SetLatiosBattleVars compare VAR_ROAMER_POKEMON, 0 - call_if_ne SouthernIsland_Interior_EventScript_242BB7 + call_if_ne SouthernIsland_Interior_EventScript_SetLatiasBattleVars setflag FLAG_SYS_CTRL_OBJ_DELETE special BattleSetup_StartLatiBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq SouthernIsland_Interior_EventScript_242B81 - compare VAR_RESULT, 4 - goto_if_eq SouthernIsland_Interior_EventScript_242B8F - compare VAR_RESULT, 5 - goto_if_eq SouthernIsland_Interior_EventScript_242B8F + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq SouthernIsland_Interior_EventScript_LatiDefeated + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq SouthernIsland_Interior_EventScript_RanFromLati + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq SouthernIsland_Interior_EventScript_RanFromLati setflag FLAG_CAUGHT_LATIAS_OR_LATIOS releaseall end -SouthernIsland_Interior_EventScript_242B81:: @ 8242B81 +SouthernIsland_Interior_EventScript_LatiDefeated:: @ 8242B81 setflag FLAG_DEFEATED_LATIAS_OR_LATIOS copyvar VAR_0x8004, VAR_TEMP_4 - goto SouthernIsland_Interior_EventScript_273776 + goto Common_EventScript_LegendaryFlewAway end -SouthernIsland_Interior_EventScript_242B8F:: @ 8242B8F +SouthernIsland_Interior_EventScript_RanFromLati:: @ 8242B8F copyvar VAR_0x8004, VAR_TEMP_4 - goto SouthernIsland_Interior_EventScript_273776 + goto Common_EventScript_LegendaryFlewAway end -SouthernIsland_Interior_EventScript_242B9A:: @ 8242B9A - msgbox SouthernIsland_Interior_Text_2A6AA1, MSGBOX_DEFAULT +SouthernIsland_Interior_EventScript_Sign:: @ 8242B9A + msgbox SouthernIsland_Interior_Text_Sign, MSGBOX_DEFAULT releaseall end -SouthernIsland_Interior_EventScript_242BA4:: @ 8242BA4 - setvar VAR_0x8004, 408 - setvar VAR_0x8005, 50 - setvar VAR_0x8006, 191 +SouthernIsland_Interior_EventScript_SetLatiosBattleVars:: @ 8242BA4 + setvar VAR_0x8004, SPECIES_LATIOS + setvar VAR_0x8005, 50 @ level + setvar VAR_0x8006, ITEM_SOUL_DEW special CreateObedientEnemyMon return -SouthernIsland_Interior_EventScript_242BB7:: @ 8242BB7 - setvar VAR_0x8004, 407 - setvar VAR_0x8005, 50 - setvar VAR_0x8006, 191 +SouthernIsland_Interior_EventScript_SetLatiasBattleVars:: @ 8242BB7 + setvar VAR_0x8004, SPECIES_LATIAS + setvar VAR_0x8005, 50 @ level + setvar VAR_0x8006, ITEM_SOUL_DEW special CreateObedientEnemyMon return -SouthernIsland_Interior_Movement_242BCA: @ 8242BCA +SouthernIsland_Interior_Movement_CameraPanUp: @ 8242BCA walk_up walk_up walk_up step_end -SouthernIsland_Interior_Movement_242BCE: @ 8242BCE +SouthernIsland_Interior_Movement_CameraPanDown: @ 8242BCE delay_16 delay_16 delay_16 @@ -146,7 +146,7 @@ SouthernIsland_Interior_Movement_242BCE: @ 8242BCE walk_in_place_fastest_up step_end -SouthernIsland_Interior_Movement_242BDA: @ 8242BDA +SouthernIsland_Interior_Movement_LatiApproach: @ 8242BDA walk_down walk_down walk_down diff --git a/data/maps/TerraCave_End/map.json b/data/maps/TerraCave_End/map.json index 991743d63e..56ede87aaa 100644 --- a/data/maps/TerraCave_End/map.json +++ b/data/maps/TerraCave_End/map.json @@ -5,7 +5,7 @@ "music": "MUS_DAN01", "region_map_section": "MAPSEC_TERRA_CAVE", "requires_flash": false, - "weather": "WEATHER_FOG_1", + "weather": "WEATHER_FOG_HORIZONTAL", "map_type": "MAP_TYPE_UNDERGROUND", "allow_bike": false, "allow_escape_rope": true, @@ -45,7 +45,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": "1", - "script": "TerraCave_End_EventScript_23B0EC" + "script": "TerraCave_End_EventScript_Groudon" } ], "bg_events": [] diff --git a/data/maps/TerraCave_End/scripts.inc b/data/maps/TerraCave_End/scripts.inc index 79b209e8ad..5f7f7a7f5a 100644 --- a/data/maps/TerraCave_End/scripts.inc +++ b/data/maps/TerraCave_End/scripts.inc @@ -1,33 +1,33 @@ TerraCave_End_MapScripts:: @ 823B0B0 - map_script MAP_SCRIPT_ON_RESUME, TerraCave_End_MapScript1_23B0BB + map_script MAP_SCRIPT_ON_RESUME, TerraCave_End_OnResume map_script MAP_SCRIPT_ON_TRANSITION, TerraCave_End_OnTransition .byte 0 -TerraCave_End_MapScript1_23B0BB: @ 823B0BB - call_if_set FLAG_SYS_CTRL_OBJ_DELETE, TerraCave_End_EventScript_23B0C5 +TerraCave_End_OnResume: @ 823B0BB + call_if_set FLAG_SYS_CTRL_OBJ_DELETE, TerraCave_End_EventScript_TryRemoveGroudon end -TerraCave_End_EventScript_23B0C5:: @ 823B0C5 +TerraCave_End_EventScript_TryRemoveGroudon:: @ 823B0C5 specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 7 + compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne Common_EventScript_NopReturn removeobject 1 return TerraCave_End_OnTransition: @ 823B0D9 - call_if_unset FLAG_DEFEATED_GROUDON, TerraCave_End_EventScript_23B0E3 + call_if_unset FLAG_DEFEATED_GROUDON, TerraCave_End_EventScript_ShowGroudon end -TerraCave_End_EventScript_23B0E3:: @ 823B0E3 +TerraCave_End_EventScript_ShowGroudon:: @ 823B0E3 clearflag FLAG_HIDE_TERRA_CAVE_GROUDON setvar VAR_TEMP_1, 1 return -TerraCave_End_EventScript_23B0EC:: @ 823B0EC +TerraCave_End_EventScript_Groudon:: @ 823B0EC lockall applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp waitmovement 0 - applymovement 1, TerraCave_End_Movement_23B16E + applymovement 1, TerraCave_End_Movement_GroudonApproach waitmovement 0 waitse playmoncry SPECIES_GROUDON, 2 @@ -41,29 +41,29 @@ TerraCave_End_EventScript_23B0EC:: @ 823B0EC clearflag FLAG_SYS_CTRL_OBJ_DELETE setvar VAR_TEMP_1, 0 specialvar VAR_RESULT, GetBattleOutcome - compare VAR_RESULT, 1 - goto_if_eq TerraCave_End_EventScript_23B155 - compare VAR_RESULT, 4 - goto_if_eq TerraCave_End_EventScript_23B163 - compare VAR_RESULT, 5 - goto_if_eq TerraCave_End_EventScript_23B163 - setvar VAR_SHOULD_END_UNUSUAL_WEATHER, 1 + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq TerraCave_End_EventScript_DefeatedGroudon + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq TerraCave_End_EventScript_RanFromGroudon + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq TerraCave_End_EventScript_RanFromGroudon + setvar VAR_SHOULD_END_ABNORMAL_WEATHER, 1 setflag FLAG_DEFEATED_GROUDON releaseall end -TerraCave_End_EventScript_23B155:: @ 823B155 - setvar VAR_SHOULD_END_UNUSUAL_WEATHER, 1 +TerraCave_End_EventScript_DefeatedGroudon:: @ 823B155 + setvar VAR_SHOULD_END_ABNORMAL_WEATHER, 1 setflag FLAG_DEFEATED_GROUDON - goto TerraCave_End_EventScript_27376D + goto Common_EventScript_RemoveStaticPokemon end -TerraCave_End_EventScript_23B163:: @ 823B163 - setvar VAR_0x8004, 405 - goto TerraCave_End_EventScript_273776 +TerraCave_End_EventScript_RanFromGroudon:: @ 823B163 + setvar VAR_0x8004, SPECIES_GROUDON + goto Common_EventScript_LegendaryFlewAway end -TerraCave_End_Movement_23B16E: @ 823B16E +TerraCave_End_Movement_GroudonApproach: @ 823B16E init_affine_anim walk_down_start_affine delay_16 diff --git a/data/maps/TradeCenter/map.json b/data/maps/TradeCenter/map.json index 1c409132dd..98e7d46c12 100644 --- a/data/maps/TradeCenter/map.json +++ b/data/maps/TradeCenter/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "TradeCenter_EventScript_2774B6", + "script": "TradeCenter_EventScript_Attendant", "flag": "0" } ], diff --git a/data/maps/TrainerHill_1F/scripts.inc b/data/maps/TrainerHill_1F/scripts.inc index e726f85660..59f90b8bd3 100644 --- a/data/maps/TrainerHill_1F/scripts.inc +++ b/data/maps/TrainerHill_1F/scripts.inc @@ -1,6 +1,6 @@ TrainerHill_1F_MapScripts:: @ 8268F71 - map_script MAP_SCRIPT_ON_RESUME, TrainerHill_1F_MapScript1_2C8336 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, TrainerHill_1F_MapScript2_2C8372 - map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_1F_MapScript2_2C8381 + map_script MAP_SCRIPT_ON_RESUME, TrainerHill_OnResume + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, TrainerHill_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_OnFrame .byte 0 diff --git a/data/maps/TrainerHill_2F/scripts.inc b/data/maps/TrainerHill_2F/scripts.inc index dd1f356de2..0e8775cd58 100644 --- a/data/maps/TrainerHill_2F/scripts.inc +++ b/data/maps/TrainerHill_2F/scripts.inc @@ -1,6 +1,6 @@ TrainerHill_2F_MapScripts:: @ 8268F81 - map_script MAP_SCRIPT_ON_RESUME, TrainerHill_2F_MapScript1_2C8336 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, TrainerHill_2F_MapScript2_2C8372 - map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_2F_MapScript2_2C8381 + map_script MAP_SCRIPT_ON_RESUME, TrainerHill_OnResume + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, TrainerHill_OnWarp + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_OnFrame .byte 0 diff --git a/data/maps/TrainerHill_3F/scripts.inc b/data/maps/TrainerHill_3F/scripts.inc index b4793f457a..eee6bd99d9 100644 --- a/data/maps/TrainerHill_3F/scripts.inc +++ b/data/maps/TrainerHill_3F/scripts.inc @@ -1,5 +1,5 @@ TrainerHill_3F_MapScripts:: @ 8268F91 - map_script MAP_SCRIPT_ON_RESUME, TrainerHill_3F_MapScript1_2C8336 - map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_3F_MapScript2_2C8381 + map_script MAP_SCRIPT_ON_RESUME, TrainerHill_OnResume + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_OnFrame .byte 0 diff --git a/data/maps/TrainerHill_4F/scripts.inc b/data/maps/TrainerHill_4F/scripts.inc index 66b8ed3bb1..74ce0bf082 100644 --- a/data/maps/TrainerHill_4F/scripts.inc +++ b/data/maps/TrainerHill_4F/scripts.inc @@ -1,5 +1,5 @@ TrainerHill_4F_MapScripts:: @ 8268F9C - map_script MAP_SCRIPT_ON_RESUME, TrainerHill_4F_MapScript1_2C8336 - map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_4F_MapScript2_2C8381 + map_script MAP_SCRIPT_ON_RESUME, TrainerHill_OnResume + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_OnFrame .byte 0 diff --git a/data/maps/TrainerHill_Elevator/map.json b/data/maps/TrainerHill_Elevator/map.json index 03354b0daf..07cdaa80da 100644 --- a/data/maps/TrainerHill_Elevator/map.json +++ b/data/maps/TrainerHill_Elevator/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "TrainerHill_Elevator_EventScript_26935F", + "script": "TrainerHill_Elevator_EventScript_Attendant", "flag": "0" } ], diff --git a/data/maps/TrainerHill_Elevator/scripts.inc b/data/maps/TrainerHill_Elevator/scripts.inc index ecc48a9e9b..498f7a3c07 100644 --- a/data/maps/TrainerHill_Elevator/scripts.inc +++ b/data/maps/TrainerHill_Elevator/scripts.inc @@ -1,87 +1,89 @@ TrainerHill_Elevator_MapScripts:: @ 826934F - map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_Elevator_MapScript2_269355 + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_Elevator_OnFrame .byte 0 -TrainerHill_Elevator_MapScript2_269355: @ 8269355 - map_script_2 VAR_TEMP_4, 0, TrainerHill_Elevator_EventScript_269375 +TrainerHill_Elevator_OnFrame: @ 8269355 + map_script_2 VAR_TEMP_4, 0, TrainerHill_Elevator_EventScript_EnterElevator .2byte 0 -TrainerHill_Elevator_EventScript_26935F:: @ 826935F +TrainerHill_Elevator_EventScript_Attendant:: @ 826935F end -TrainerHill_Elevator_EventScript_269360:: @ 8269360 - applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693EB +TrainerHill_Elevator_EventScript_ExitToRoof:: @ 8269360 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_PlayerExitElevatorToRoof waitmovement 0 releaseall warp MAP_TRAINER_HILL_ROOF, 255, 15, 5 waitstate end -TrainerHill_Elevator_EventScript_269375:: @ 8269375 - applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693E4 +TrainerHill_Elevator_EventScript_EnterElevator:: @ 8269375 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_PlayerApproachAttendant waitmovement 0 - applymovement 1, TrainerHill_Elevator_Movement_2693EE + applymovement 1, TrainerHill_Elevator_Movement_AttendantFacePlayer waitmovement 0 lockall - msgbox TrainerHill_Elevator_Text_268F3E, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq TrainerHill_Elevator_EventScript_269360 + msgbox TrainerHill_Elevator_Text_ReturnToReception, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq TrainerHill_Elevator_EventScript_ExitToRoof releaseall - applymovement 1, TrainerHill_Elevator_Movement_2693F0 + applymovement 1, TrainerHill_Elevator_Movement_AttendantFaceDown waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693DF + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_PlayerMoveToCenterOfElevator waitmovement 0 - call TrainerHill_Elevator_EventScript_2693D9 + call TrainerHill_Elevator_EventScript_MoveElevator delay 25 - applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693E7 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_PlayerExitElevator waitmovement 0 warp MAP_TRAINER_HILL_ENTRANCE, 255, 17, 8 waitstate end -TrainerHill_Elevator_EventScript_2693CE:: @ 82693CE - goto TrainerHill_Elevator_EventScript_2693D4 +@ Unused +TrainerHill_Elevator_EventScript_ExitFloorSelect:: @ 82693CE + goto TrainerHill_Elevator_EventScript_CloseFloorSelect end -TrainerHill_Elevator_EventScript_2693D4:: @ 82693D4 - special sub_8139C10 +@ Functionally unused +TrainerHill_Elevator_EventScript_CloseFloorSelect:: @ 82693D4 + special CloseDeptStoreElevatorWindow releaseall end -TrainerHill_Elevator_EventScript_2693D9:: @ 82693D9 +TrainerHill_Elevator_EventScript_MoveElevator:: @ 82693D9 waitse - special ShakeScreenInElevator + special MoveElevator waitstate return -TrainerHill_Elevator_Movement_2693DF: @ 82693DF +TrainerHill_Elevator_Movement_PlayerMoveToCenterOfElevator: @ 82693DF walk_up walk_up walk_right face_down step_end -TrainerHill_Elevator_Movement_2693E4: @ 82693E4 +TrainerHill_Elevator_Movement_PlayerApproachAttendant: @ 82693E4 delay_16 walk_left step_end -TrainerHill_Elevator_Movement_2693E7: @ 82693E7 +TrainerHill_Elevator_Movement_PlayerExitElevator: @ 82693E7 delay_16 walk_down walk_down step_end -TrainerHill_Elevator_Movement_2693EB: @ 82693EB +TrainerHill_Elevator_Movement_PlayerExitElevatorToRoof: @ 82693EB face_down delay_16 step_end -TrainerHill_Elevator_Movement_2693EE: @ 82693EE +TrainerHill_Elevator_Movement_AttendantFacePlayer: @ 82693EE face_right step_end -TrainerHill_Elevator_Movement_2693F0: @ 82693F0 +TrainerHill_Elevator_Movement_AttendantFaceDown: @ 82693F0 face_down step_end diff --git a/data/maps/TrainerHill_Entrance/map.json b/data/maps/TrainerHill_Entrance/map.json index 42f1daa9db..f581988b6c 100644 --- a/data/maps/TrainerHill_Entrance/map.json +++ b/data/maps/TrainerHill_Entrance/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "TrainerHill_Entrance_EventScript_2681FD", + "script": "TrainerHill_Entrance_EventScript_Attendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "TrainerHill_Entrance_EventScript_2681EF", + "script": "TrainerHill_Entrance_EventScript_Nurse", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "TrainerHill_Entrance_EventScript_2683C7", + "script": "TrainerHill_Entrance_EventScript_Clerk", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "TrainerHill_Entrance_EventScript_2683AC", + "script": "TrainerHill_Entrance_EventScript_Girl", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "TrainerHill_Entrance_EventScript_268391", + "script": "TrainerHill_Entrance_EventScript_Man", "flag": "0" } ], @@ -111,7 +111,7 @@ "elevation": 3, "var": "VAR_TRAINER_HILL_IS_ACTIVE", "var_value": "0", - "script": "TrainerHill_Entrance_EventScript_268229" + "script": "TrainerHill_Entrance_EventScript_EntryTrigger" } ], "bg_events": [ @@ -121,7 +121,7 @@ "y": 10, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", - "script": "TrainerHill_Entrance_EventScript_268388" + "script": "TrainerHill_Entrance_EventScript_Records" } ] } \ No newline at end of file diff --git a/data/maps/TrainerHill_Entrance/scripts.inc b/data/maps/TrainerHill_Entrance/scripts.inc index 5be00aa9d7..cde7aae2f9 100644 --- a/data/maps/TrainerHill_Entrance/scripts.inc +++ b/data/maps/TrainerHill_Entrance/scripts.inc @@ -1,9 +1,9 @@ TrainerHill_Entrance_MapScripts:: @ 82680AC - map_script MAP_SCRIPT_ON_RESUME, TrainerHill_Entrance_MapScript1_2680D0 - map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, TrainerHill_Entrance_MapScript1_26811B + map_script MAP_SCRIPT_ON_RESUME, TrainerHill_Entrance_OnResume + map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, TrainerHill_Entrance_OnReturn map_script MAP_SCRIPT_ON_TRANSITION, TrainerHill_Entrance_OnTransition - map_script MAP_SCRIPT_ON_LOAD, TrainerHill_Entrance_MapScript1_268128 - map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_Entrance_MapScript2_26813E + map_script MAP_SCRIPT_ON_LOAD, TrainerHill_Entrance_OnLoad + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_Entrance_OnFrame .byte 0 TrainerHill_Entrance_OnTransition: @ 82680C6 @@ -11,58 +11,56 @@ TrainerHill_Entrance_OnTransition: @ 82680C6 getplayerxy VAR_TEMP_D, VAR_RESULT end -TrainerHill_Entrance_MapScript1_2680CF: @ 82680CF +@ Unused +TrainerHill_Entrance_OnWarp: @ 82680CF end -TrainerHill_Entrance_MapScript1_2680D0: @ 82680D0 - setvar VAR_0x8004, TRAINER_HILL_FUNC_RESUME_TIMER - special CallTrainerHillFunction +TrainerHill_Entrance_OnResume: @ 82680D0 + trainerhill_resumetimer setvar VAR_TEMP_0, 0 - setvar VAR_0x8004, TRAINER_HILL_FUNC_9 - special CallTrainerHillFunction - compare VAR_RESULT, 0 - goto_if_eq TrainerHill_Entrance_EventScript_2680FF + trainerhill_clearresult + compare VAR_RESULT, 0 @ VAR_RESULT always 0 here + goto_if_eq TrainerHill_Entrance_EventScript_TryFaceAttendant setobjectxy EVENT_OBJ_ID_PLAYER, 9, 6 - applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant end -TrainerHill_Entrance_EventScript_2680FF:: @ 82680FF - setvar VAR_0x8004, TRAINER_HILL_FUNC_16 - special CallTrainerHillFunction - compare VAR_RESULT, 1 - goto_if_eq TrainerHill_Entrance_EventScript_26811A - applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F +TrainerHill_Entrance_EventScript_TryFaceAttendant:: @ 82680FF + trainerhill_getwon + compare VAR_RESULT, TRUE + goto_if_eq TrainerHill_Entrance_EventScript_PlayerDontFaceAttendant + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant end -TrainerHill_Entrance_EventScript_26811A:: @ 826811A +TrainerHill_Entrance_EventScript_PlayerDontFaceAttendant:: @ 826811A end -TrainerHill_Entrance_MapScript1_26811B: @ 826811B +TrainerHill_Entrance_OnReturn: @ 826811B addobject 2 addobject 1 addobject 5 addobject 4 end -TrainerHill_Entrance_MapScript1_268128: @ 8268128 +TrainerHill_Entrance_OnLoad: @ 8268128 compare VAR_TEMP_D, 17 - call_if_eq TrainerHill_Entrance_EventScript_268134 + call_if_eq TrainerHill_Entrance_EventScript_OpenCounterDoor end -TrainerHill_Entrance_EventScript_268134:: @ 8268134 +TrainerHill_Entrance_EventScript_OpenCounterDoor:: @ 8268134 setmetatile 17, 10, METATILE_TrainerHill_GreenFloorTile, 0 return -TrainerHill_Entrance_MapScript2_26813E: @ 826813E - map_script_2 VAR_TEMP_0, 0, TrainerHill_Entrance_EventScript_268182 - map_script_2 VAR_TEMP_D, 17, TrainerHill_Entrance_EventScript_268160 - map_script_2 VAR_TEMP_5, 1, TrainerHill_Entrance_EventScript_268229 - map_script_2 VAR_TEMP_1, 1, TrainerHill_Entrance_EventScript_2C83DF +TrainerHill_Entrance_OnFrame: @ 826813E + map_script_2 VAR_TEMP_0, 0, TrainerHill_Entrance_EventScript_ExitChallenge + map_script_2 VAR_TEMP_D, 17, TrainerHill_Entrance_EventScript_ExitElevator + map_script_2 VAR_TEMP_5, 1, TrainerHill_Entrance_EventScript_EntryTrigger + map_script_2 VAR_TEMP_1, 1, TrainerHill_EventScript_WarpToEntranceCounter .2byte 0 -TrainerHill_Entrance_EventScript_268160:: @ 8268160 +TrainerHill_Entrance_EventScript_ExitElevator:: @ 8268160 lockall - applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268385 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerExitElevator waitmovement 0 setmetatile 17, 10, METATILE_TrainerHill_CounterDoor, 1 special DrawWholeMapView @@ -72,205 +70,192 @@ TrainerHill_Entrance_EventScript_268160:: @ 8268160 releaseall end -TrainerHill_Entrance_EventScript_268182:: @ 8268182 +TrainerHill_Entrance_EventScript_ExitChallenge:: @ 8268182 setvar VAR_TEMP_0, 1 - setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS - special CallTrainerHillFunction + trainerhill_getstatus switch VAR_RESULT - case TRAINER_HILL_PLAYER_STATUS_LOST, TrainerHill_Entrance_EventScript_2681B5 - case TRAINER_HILL_PLAYER_STATUS_ECARD_SCANNED, TrainerHill_Entrance_EventScript_2681CA - case TRAINER_HILL_PLAYER_STATUS_NORMAL, TrainerHill_Entrance_EventScript_2681EE + case TRAINER_HILL_PLAYER_STATUS_LOST, TrainerHill_Entrance_EventScript_ExitChallengeLost + case TRAINER_HILL_PLAYER_STATUS_ECARD_SCANNED, TrainerHill_Entrance_EventScript_ExitChallengeECard + case TRAINER_HILL_PLAYER_STATUS_NORMAL, TrainerHill_Entrance_EventScript_EndExitChallenge -TrainerHill_Entrance_EventScript_2681B5:: @ 82681B5 +TrainerHill_Entrance_EventScript_ExitChallengeLost:: @ 82681B5 lockall - applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F - msgbox TrainerHill_Entrance_Text_268689, MSGBOX_DEFAULT - goto TrainerHill_Entrance_EventScript_2681DA + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant + msgbox TrainerHill_Entrance_Text_TooBadTremendousEffort, MSGBOX_DEFAULT + goto TrainerHill_Entrance_EventScript_PlayerExitChallenge -TrainerHill_Entrance_EventScript_2681CA:: @ 82681CA +TrainerHill_Entrance_EventScript_ExitChallengeECard:: @ 82681CA lockall - applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F - msgbox TrainerHill_Entrance_Text_268712, MSGBOX_DEFAULT - -TrainerHill_Entrance_EventScript_2681DA:: @ 82681DA + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant + msgbox TrainerHill_Entrance_Text_MovedReceptionHereForSwitch, MSGBOX_DEFAULT +TrainerHill_Entrance_EventScript_PlayerExitChallenge:: @ 82681DA closemessage - applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268381 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter waitmovement 0 setvar VAR_TRAINER_HILL_IS_ACTIVE, 0 special HealPlayerParty releaseall - -TrainerHill_Entrance_EventScript_2681EE:: @ 82681EE +TrainerHill_Entrance_EventScript_EndExitChallenge:: @ 82681EE end -TrainerHill_Entrance_EventScript_2681EF:: @ 82681EF +TrainerHill_Entrance_EventScript_Nurse:: @ 82681EF setvar VAR_0x800B, 2 - call TrainerHill_Entrance_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -TrainerHill_Entrance_EventScript_2681FD:: @ 82681FD +TrainerHill_Entrance_EventScript_Attendant:: @ 82681FD lock faceplayer - setvar VAR_0x8004, TRAINER_HILL_FUNC_10 - special CallTrainerHillFunction - compare VAR_RESULT, 0 - goto_if_eq TrainerHill_Entrance_EventScript_26821F - msgbox TrainerHill_Entrance_Text_2686F4, MSGBOX_DEFAULT - goto TrainerHill_Entrance_EventScript_268227 + trainerhill_inchallenge + compare VAR_RESULT, FALSE + goto_if_eq TrainerHill_Entrance_EventScript_ThanksForPlaying + msgbox TrainerHill_Entrance_Text_HopeYouGiveItYourBest, MSGBOX_DEFAULT + goto TrainerHill_Entrance_EventScript_AttendantEnd -TrainerHill_Entrance_EventScript_26821F:: @ 826821F - msgbox TrainerHill_Entrance_Text_2687AC, MSGBOX_DEFAULT - -TrainerHill_Entrance_EventScript_268227:: @ 8268227 +TrainerHill_Entrance_EventScript_ThanksForPlaying:: @ 826821F + msgbox TrainerHill_Entrance_Text_ThankYouForPlaying, MSGBOX_DEFAULT +TrainerHill_Entrance_EventScript_AttendantEnd:: @ 8268227 release end -TrainerHill_Entrance_EventScript_268229:: @ 8268229 +TrainerHill_Entrance_EventScript_EntryTrigger:: @ 8268229 lockall - applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F - goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_26836A - msgbox TrainerHill_Entrance_Text_2684C6, MSGBOX_DEFAULT - setvar VAR_0x8004, TRAINER_HILL_FUNC_13 - special CallTrainerHillFunction - compare VAR_RESULT, 0 - call_if_eq TrainerHill_Entrance_EventScript_26832E - setvar VAR_0x8004, TRAINER_HILL_FUNC_8 - special CallTrainerHillFunction - compare VAR_RESULT, 1 - goto_if_eq TrainerHill_Entrance_EventScript_268275 - msgbox TrainerHill_Entrance_Text_268564, MSGBOX_DEFAULT - goto TrainerHill_Entrance_EventScript_26827D + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant + goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_Closed + msgbox TrainerHill_Entrance_Text_WelcomeToTrainerHill, MSGBOX_DEFAULT + trainerhill_getsaved + compare VAR_RESULT, FALSE + call_if_eq TrainerHill_Entrance_EventScript_SaveGame + trainerhill_allfloorsused + compare VAR_RESULT, TRUE + goto_if_eq TrainerHill_Entrance_EventScript_AllFloorsUsed + msgbox TrainerHill_Entrance_Text_TrainersUpToFloorX, MSGBOX_DEFAULT + goto TrainerHill_Entrance_EventScript_AskChallengeTrainers -TrainerHill_Entrance_EventScript_268275:: @ 8268275 - msgbox TrainerHill_Entrance_Text_26859E, MSGBOX_DEFAULT - -TrainerHill_Entrance_EventScript_26827D:: @ 826827D - message TrainerHill_Entrance_Text_2685F8 +TrainerHill_Entrance_EventScript_AllFloorsUsed:: @ 8268275 + msgbox TrainerHill_Entrance_Text_TrainersInEveryRoom, MSGBOX_DEFAULT +TrainerHill_Entrance_EventScript_AskChallengeTrainers:: @ 826827D + message TrainerHill_Entrance_Text_LikeToChallengeTrainers waitmessage - multichoice 15, 6, 17, 0 + multichoice 15, 6, MULTI_YESNOINFO, 0 switch VAR_RESULT - case 0, TrainerHill_Entrance_EventScript_2682C8 - case 1, TrainerHill_Entrance_EventScript_268314 - case 2, TrainerHill_Entrance_EventScript_2682BA - case 127, TrainerHill_Entrance_EventScript_268314 + case 0, TrainerHill_Entrance_EventScript_ChooseChallenge + case 1, TrainerHill_Entrance_EventScript_CancelEntry + case 2, TrainerHill_Entrance_EventScript_Info + case MULTI_B_PRESSED, TrainerHill_Entrance_EventScript_CancelEntry end -TrainerHill_Entrance_EventScript_2682BA:: @ 82682BA - msgbox TrainerHill_Entrance_Text_2687C3, MSGBOX_DEFAULT - goto TrainerHill_Entrance_EventScript_26827D +TrainerHill_Entrance_EventScript_Info:: @ 82682BA + msgbox TrainerHill_Entrance_Text_ExplainTrainerHill, MSGBOX_DEFAULT + goto TrainerHill_Entrance_EventScript_AskChallengeTrainers end -TrainerHill_Entrance_EventScript_2682C8:: @ 82682C8 - multichoice 13, 2, 113, 0 +TrainerHill_Entrance_EventScript_ChooseChallenge:: @ 82682C8 + multichoice 13, 2, MULTI_TAG_MATCH_TYPE, 0 switch VAR_RESULT - case 4, TrainerHill_Entrance_EventScript_268314 - case 127, TrainerHill_Entrance_EventScript_268314 - setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_TAG - copyvar VAR_0x8005, VAR_RESULT - special CallTrainerHillFunction + case 4, TrainerHill_Entrance_EventScript_CancelEntry + case MULTI_B_PRESSED, TrainerHill_Entrance_EventScript_CancelEntry + trainerhill_settag VAR_RESULT setvar VAR_TRAINER_HILL_IS_ACTIVE, 1 setvar VAR_TEMP_5, 0 special HealPlayerParty - msgbox TrainerHill_Entrance_Text_26862A, MSGBOX_DEFAULT - setvar VAR_0x8004, TRAINER_HILL_FUNC_START - special CallTrainerHillFunction + msgbox TrainerHill_Entrance_Text_TimeProgessGetSetGo, MSGBOX_DEFAULT + trainerhill_start releaseall end -TrainerHill_Entrance_EventScript_268314:: @ 8268314 +TrainerHill_Entrance_EventScript_CancelEntry:: @ 8268314 setvar VAR_TEMP_5, 0 - msgbox TrainerHill_Entrance_Text_26866F, MSGBOX_DEFAULT + msgbox TrainerHill_Entrance_Text_PleaseVisitUsAgain, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268381 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter waitmovement 0 releaseall end -TrainerHill_Entrance_EventScript_26832E:: @ 826832E - msgbox TrainerHill_Entrance_Text_26851C, MSGBOX_DEFAULT - setvar VAR_0x8004, TRAINER_HILL_FUNC_14 - special CallTrainerHillFunction +TrainerHill_Entrance_EventScript_SaveGame:: @ 826832E + msgbox TrainerHill_Entrance_Text_SaveGameBeforeEnter, MSGBOX_DEFAULT + trainerhill_setsaved setvar VAR_TEMP_5, 1 call Common_EventScript_SaveGame - compare VAR_RESULT, 0 - goto_if_eq TrainerHill_Entrance_EventScript_26835C - setvar VAR_0x8004, TRAINER_HILL_FUNC_14 - special CallTrainerHillFunction + compare VAR_RESULT, FALSE + goto_if_eq TrainerHill_Entrance_EventScript_SaveFailed + trainerhill_setsaved return -TrainerHill_Entrance_EventScript_26835C:: @ 826835C - setvar VAR_0x8004, TRAINER_HILL_FUNC_15 - special CallTrainerHillFunction - goto TrainerHill_Entrance_EventScript_268314 +TrainerHill_Entrance_EventScript_SaveFailed:: @ 826835C + trainerhill_clearsaved + goto TrainerHill_Entrance_EventScript_CancelEntry end -TrainerHill_Entrance_EventScript_26836A:: @ 826836A - msgbox TrainerHill_Entrance_Text_268430, MSGBOX_DEFAULT +TrainerHill_Entrance_EventScript_Closed:: @ 826836A + msgbox TrainerHill_Entrance_Text_StillGettingReady, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268381 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter waitmovement 0 releaseall end -TrainerHill_Entrance_Movement_26837F: @ 826837F +TrainerHill_Entrance_Movement_PlayerFaceAttendant: @ 826837F face_right step_end -TrainerHill_Entrance_Movement_268381: @ 8268381 +TrainerHill_Entrance_Movement_PushPlayerBackFromCounter: @ 8268381 walk_down step_end -TrainerHill_Entrance_Movement_268383: @ 8268383 +@ Unused +TrainerHill_Entrance_Movement_FaceUp: @ 8268383 face_up step_end -TrainerHill_Entrance_Movement_268385: @ 8268385 +TrainerHill_Entrance_Movement_PlayerExitElevator: @ 8268385 walk_down walk_down step_end -TrainerHill_Entrance_EventScript_268388:: @ 8268388 +TrainerHill_Entrance_EventScript_Records:: @ 8268388 lockall - fadescreen 1 + fadescreen FADE_TO_BLACK special ShowTrainerHillRecords waitstate releaseall end -TrainerHill_Entrance_EventScript_268391:: @ 8268391 - goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_2683A3 - msgbox TrainerHill_Entrance_Text_268D5A, MSGBOX_NPC +TrainerHill_Entrance_EventScript_Man:: @ 8268391 + goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_ManTrainerHillClosed + msgbox TrainerHill_Entrance_Text_WhatSortOfTrainersAreAhead, MSGBOX_NPC end -TrainerHill_Entrance_EventScript_2683A3:: @ 82683A3 - msgbox TrainerHill_Entrance_Text_268DDA, MSGBOX_NPC +TrainerHill_Entrance_EventScript_ManTrainerHillClosed:: @ 82683A3 + msgbox TrainerHill_Entrance_Text_CantWaitToTestTheWaters, MSGBOX_NPC end -TrainerHill_Entrance_EventScript_2683AC:: @ 82683AC - goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_2683BE - msgbox TrainerHill_Entrance_Text_268E6A, MSGBOX_NPC +TrainerHill_Entrance_EventScript_Girl:: @ 82683AC + goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_GirlTrainerHillClosed + msgbox TrainerHill_Entrance_Text_FriendsTryingToReachTimeBoardTop, MSGBOX_NPC end -TrainerHill_Entrance_EventScript_2683BE:: @ 82683BE - msgbox TrainerHill_Entrance_Text_268EDC, MSGBOX_NPC +TrainerHill_Entrance_EventScript_GirlTrainerHillClosed:: @ 82683BE + msgbox TrainerHill_Entrance_Text_DoYouKnowWhenTheyOpen, MSGBOX_NPC end -TrainerHill_Entrance_EventScript_2683C7:: @ 82683C7 +TrainerHill_Entrance_EventScript_Clerk:: @ 82683C7 lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - goto_if_set FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_268402 - pokemart TrainerHill_Entrance_Pokemart_2683E8 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + goto_if_set FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_ExpandedPokemart + pokemart TrainerHill_Entrance_Pokemart_Basic + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -TrainerHill_Entrance_Pokemart_2683E8: @ 82683E8 +TrainerHill_Entrance_Pokemart_Basic: @ 82683E8 .2byte ITEM_SUPER_POTION .2byte ITEM_ANTIDOTE .2byte ITEM_PARALYZE_HEAL @@ -286,14 +271,14 @@ TrainerHill_Entrance_Pokemart_2683E8: @ 82683E8 release end -TrainerHill_Entrance_EventScript_268402:: @ 8268402 - pokemart TrainerHill_Entrance_Pokemart_268414 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT +TrainerHill_Entrance_EventScript_ExpandedPokemart:: @ 8268402 + pokemart TrainerHill_Entrance_Pokemart_Expanded + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -TrainerHill_Entrance_Pokemart_268414: @ 8268414 +TrainerHill_Entrance_Pokemart_Expanded: @ 8268414 .2byte ITEM_HYPER_POTION .2byte ITEM_MAX_POTION .2byte ITEM_FULL_RESTORE @@ -310,69 +295,69 @@ TrainerHill_Entrance_Pokemart_268414: @ 8268414 release end -TrainerHill_Entrance_Text_268430: @ 8268430 +TrainerHill_Entrance_Text_StillGettingReady: @ 8268430 .string "This is the TRAINER HILL where\n" .string "you may enjoy tag battles with many\l" .string "TRAINERS.\p" .string "Unfortunately, we're still getting\n" .string "things ready. Please come back later!$" -TrainerHill_Entrance_Text_2684C6: @ 82684C6 +TrainerHill_Entrance_Text_WelcomeToTrainerHill: @ 82684C6 .string "Welcome!\p" .string "This is the TRAINER HILL where\n" .string "you may enjoy tag battles with many\l" .string "TRAINERS!$" -TrainerHill_Entrance_Text_26851C: @ 826851C +TrainerHill_Entrance_Text_SaveGameBeforeEnter: @ 826851C .string "Is this your first visit here?\p" .string "Before you enter, please save\n" .string "your game.$" -TrainerHill_Entrance_Text_268564: @ 8268564 +TrainerHill_Entrance_Text_TrainersUpToFloorX: @ 8268564 .string "Let's see…\n" .string "The TRAINERS here now are…\p" .string "Up to floor no. {STR_VAR_1}.$" -TrainerHill_Entrance_Text_26859E: @ 826859E +TrainerHill_Entrance_Text_TrainersInEveryRoom: @ 826859E .string "Let's see…\n" .string "The TRAINERS here now are…\p" .string "There appear to be TRAINERS gathered\n" .string "in every room.$" -TrainerHill_Entrance_Text_2685F8: @ 82685F8 +TrainerHill_Entrance_Text_LikeToChallengeTrainers: @ 82685F8 .string "Would you like to challenge the\n" .string "waiting TRAINERS?$" -TrainerHill_Entrance_Text_26862A: @ 826862A +TrainerHill_Entrance_Text_TimeProgessGetSetGo: @ 826862A .string "I will time your progress.\n" .string "Best of luck!\p" .string "On your marks…\p" .string "Get set…\p" .string "Go!$" -TrainerHill_Entrance_Text_26866F: @ 826866F +TrainerHill_Entrance_Text_PleaseVisitUsAgain: @ 826866F .string "Please do visit us again!$" -TrainerHill_Entrance_Text_268689: @ 8268689 +TrainerHill_Entrance_Text_TooBadTremendousEffort: @ 8268689 .string "That was too bad.\p" .string "I think you put in a tremendous\n" .string "effort in your battling.\p" .string "Please come back and try again!$" -TrainerHill_Entrance_Text_2686F4: @ 82686F4 +TrainerHill_Entrance_Text_HopeYouGiveItYourBest: @ 82686F4 .string "I hope you give it your best.$" -TrainerHill_Entrance_Text_268712: @ 8268712 +TrainerHill_Entrance_Text_MovedReceptionHereForSwitch: @ 8268712 .string "When the TRAINERS switch places,\n" .string "the movement can be hectic.\p" .string "To avoid the stampede, we moved\n" .string "the reception counter here.\p" .string "I'm sorry for the inconvenience.$" -TrainerHill_Entrance_Text_2687AC: @ 82687AC +TrainerHill_Entrance_Text_ThankYouForPlaying: @ 82687AC .string "Thank you for playing!$" -TrainerHill_Entrance_Text_2687C3: @ 82687C3 +TrainerHill_Entrance_Text_ExplainTrainerHill: @ 82687C3 .string "Here at the TRAINER HILL, we conduct\n" .string "an event called the Time Attack.\p" .string "It is a race that measures how long\n" @@ -385,13 +370,14 @@ TrainerHill_Entrance_Text_2687C3: @ 82687C3 .string "neither Exp. Points nor money will\l" .string "be awarded.$" -TrainerHill_Entrance_Text_26890D: @ 826890D +@ Unused +TrainerHill_Entrance_Text_NeedAtLeastTwoPokemon: @ 826890D .string "Oh, I'm sorry, but you appear to have\n" .string "only one POKéMON with you.\p" .string "You will need at least two POKéMON\n" .string "to enter this event.$" -TrainerHill_Roof_Text_268986: @ 8268986 +TrainerHill_Roof_Text_YouFinallyCameBravo: @ 8268986 .string "Hm! Hm!\p" .string "You finally came!\n" .string "Yes, you have arrived!\p" @@ -407,15 +393,15 @@ TrainerHill_Roof_Text_268986: @ 8268986 .string "Anyway, I watched you on your way up.\n" .string "Marvelous battling! Bravo, indeed!$" -TrainerHill_Roof_Text_268AC5: @ 8268AC5 +TrainerHill_Roof_Text_HaveTheMostMarvelousGift: @ 8268AC5 .string "For a marvelous someone like you,\n" .string "I have the most marvelous gift!$" -TrainerHill_Roof_Text_268B07: @ 8268B07 +TrainerHill_Roof_Text_FullUpBeBackLaterForThis: @ 8268B07 .string "Oh, no, full up with things!\n" .string "You'll be back later for this!$" -TrainerHill_Roof_Text_268B43: @ 8268B43 +TrainerHill_Roof_Text_GotHereMarvelouslyQuickly: @ 8268B43 .string "Oh, hold on here! Did you possibly get\n" .string "here marvelously quickly?\p" .string "How splendid! You needn't have\n" @@ -423,50 +409,51 @@ TrainerHill_Roof_Text_268B43: @ 8268B43 .string "That is so delightful. I'll have the Time\n" .string "Board at the reception updated!$" -TrainerHill_Roof_Text_268C03: @ 8268C03 +TrainerHill_Roof_Text_YouWerentVeryQuick: @ 8268C03 .string "But, oh…\n" .string "You weren't very quick getting here.$" -TrainerHill_Roof_Text_268C31: @ 8268C31 +TrainerHill_Roof_Text_ArriveZippierNextTime: @ 8268C31 .string "Perhaps it would please me more if you\n" .string "arrived zippier next time.\p" .string "Then, I should be pleased to form\n" .string "a tag team with you!\p" .string "Until we meet again, amigo!$" -TrainerHill_Roof_Text_268CC6: @ 8268CC6 +@ Unused +TrainerHill_Roof_Text_BuiltTrainerHillToFindPartner: @ 8268CC6 .string "I had the TRAINER HILL built for but\n" .string "one reason and one only!\p" .string "To find the most suitable partner\n" .string "with whom I may form a tag team!$" -TrainerHill_Entrance_Text_268D47: @ 8268D47 +TrainerHill_Entrance_Text_ChallengeTime: @ 8268D47 .string "{STR_VAR_1} min. {STR_VAR_2}.{STR_VAR_3} sec.$" -TrainerHill_Entrance_Text_268D5A: @ 8268D5A +TrainerHill_Entrance_Text_WhatSortOfTrainersAreAhead: @ 8268D5A .string "Who knows what sort of TRAINERS\n" .string "and POKéMON combos are ahead?\p" .string "All I know is that I'll knock aside\n" .string "anyone that stands in my way!$" -TrainerHill_Entrance_Text_268DDA: @ 8268DDA +TrainerHill_Entrance_Text_CantWaitToTestTheWaters: @ 8268DDA .string "I heard tough TRAINERS come to this\n" .string "TRAINER HILL from all over.\p" .string "I can't wait to test the waters!\p" .string "I'll knock aside anyone that stands\n" .string "in my way!$" -TrainerHill_Entrance_Text_268E6A: @ 8268E6A +TrainerHill_Entrance_Text_FriendsTryingToReachTimeBoardTop: @ 8268E6A .string "Do you see the Time Board over there?\p" .string "My friends and I are trying to see who\n" .string "can reach the top in the least time.$" -TrainerHill_Entrance_Text_268EDC: @ 8268EDC +TrainerHill_Entrance_Text_DoYouKnowWhenTheyOpen: @ 8268EDC .string "Do you know when they're opening\n" .string "this place up?\p" .string "I'm waiting here to be the first\n" .string "challenger ever!$" -TrainerHill_Elevator_Text_268F3E: @ 8268F3E +TrainerHill_Elevator_Text_ReturnToReception: @ 8268F3E .string "Would you like to return to\n" .string "the reception counter?$" diff --git a/data/maps/TrainerHill_Roof/map.json b/data/maps/TrainerHill_Roof/map.json index 8a623028ed..2804947880 100644 --- a/data/maps/TrainerHill_Roof/map.json +++ b/data/maps/TrainerHill_Roof/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "TrainerHill_Roof_EventScript_268FB2", + "script": "TrainerHill_Roof_EventScript_Owner", "flag": "0" } ], diff --git a/data/maps/TrainerHill_Roof/scripts.inc b/data/maps/TrainerHill_Roof/scripts.inc index bf467e1004..e4e2cbb49e 100644 --- a/data/maps/TrainerHill_Roof/scripts.inc +++ b/data/maps/TrainerHill_Roof/scripts.inc @@ -1,70 +1,62 @@ TrainerHill_Roof_MapScripts:: @ 8268FA7 - map_script MAP_SCRIPT_ON_RESUME, TrainerHill_Roof_MapScript1_2C8336 - map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_Roof_MapScript2_2C8381 + map_script MAP_SCRIPT_ON_RESUME, TrainerHill_OnResume + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_OnFrame .byte 0 -TrainerHill_Roof_EventScript_268FB2:: @ 8268FB2 - setvar VAR_0x8004, TRAINER_HILL_FUNC_12 - special CallTrainerHillFunction +TrainerHill_Roof_EventScript_Owner:: @ 8268FB2 + trainerhill_settrainerflags lock faceplayer - setvar VAR_0x8004, TRAINER_HILL_FUNC_1 - special CallTrainerHillFunction + trainerhill_getownerstate switch VAR_RESULT - case 0, TrainerHill_Roof_EventScript_268FEA - case 1, TrainerHill_Roof_EventScript_268FF2 - case 2, TrainerHill_Roof_EventScript_2690A8 - -TrainerHill_Roof_EventScript_268FEA:: @ 8268FEA - msgbox TrainerHill_Roof_Text_268986, MSGBOX_DEFAULT - -TrainerHill_Roof_EventScript_268FF2:: @ 8268FF2 - setvar VAR_0x8004, TRAINER_HILL_FUNC_2 - special CallTrainerHillFunction + case 0, TrainerHill_Roof_EventScript_Arrived + case 1, TrainerHill_Roof_EventScript_GivePrize + case 2, TrainerHill_Roof_EventScript_AlreadyReceivedPrize +TrainerHill_Roof_EventScript_Arrived:: @ 8268FEA + msgbox TrainerHill_Roof_Text_YouFinallyCameBravo, MSGBOX_DEFAULT +TrainerHill_Roof_EventScript_GivePrize:: @ 8268FF2 + trainerhill_giveprize switch VAR_RESULT - case 0, TrainerHill_Roof_EventScript_269020 - case 1, TrainerHill_Roof_EventScript_269037 - case 2, TrainerHill_Roof_EventScript_269054 - -TrainerHill_Roof_EventScript_269020:: @ 8269020 - msgbox TrainerHill_Roof_Text_268AC5, MSGBOX_DEFAULT + case 0, TrainerHill_Roof_EventScript_ReceivePrize + case 1, TrainerHill_Roof_EventScript_NoRoomForPrize + case 2, TrainerHill_Roof_EventScript_CheckFinalTime +TrainerHill_Roof_EventScript_ReceivePrize:: @ 8269020 + msgbox TrainerHill_Roof_Text_HaveTheMostMarvelousGift, MSGBOX_DEFAULT playfanfare MUS_FANFA1 - message gUnknown_08272A78 + message gText_ObtainedTheItem waitfanfare waitmessage - goto TrainerHill_Roof_EventScript_269054 + goto TrainerHill_Roof_EventScript_CheckFinalTime -TrainerHill_Roof_EventScript_269037:: @ 8269037 - msgbox TrainerHill_Roof_Text_268AC5, MSGBOX_DEFAULT - msgbox gUnknown_08272A89, MSGBOX_DEFAULT - msgbox TrainerHill_Roof_Text_268B07, MSGBOX_DEFAULT - goto TrainerHill_Roof_EventScript_269054 +TrainerHill_Roof_EventScript_NoRoomForPrize:: @ 8269037 + msgbox TrainerHill_Roof_Text_HaveTheMostMarvelousGift, MSGBOX_DEFAULT + msgbox gText_TheBagIsFull, MSGBOX_DEFAULT + msgbox TrainerHill_Roof_Text_FullUpBeBackLaterForThis, MSGBOX_DEFAULT + goto TrainerHill_Roof_EventScript_CheckFinalTime -TrainerHill_Roof_EventScript_269054:: @ 8269054 - setvar VAR_0x8004, TRAINER_HILL_FUNC_3 - special CallTrainerHillFunction +TrainerHill_Roof_EventScript_CheckFinalTime:: @ 8269054 + trainerhill_finaltime switch VAR_RESULT - case 0, TrainerHill_Roof_EventScript_269082 - case 1, TrainerHill_Roof_EventScript_269090 - case 2, TrainerHill_Roof_EventScript_26909E - -TrainerHill_Roof_EventScript_269082:: @ 8269082 - msgbox TrainerHill_Roof_Text_268B43, MSGBOX_DEFAULT - goto TrainerHill_Roof_EventScript_26909E + case 0, TrainerHill_Roof_EventScript_NewRecord + case 1, TrainerHill_Roof_EventScript_NoNewRecord + case 2, TrainerHill_Roof_EventScript_EndSpeakToOwner +TrainerHill_Roof_EventScript_NewRecord:: @ 8269082 + msgbox TrainerHill_Roof_Text_GotHereMarvelouslyQuickly, MSGBOX_DEFAULT + goto TrainerHill_Roof_EventScript_EndSpeakToOwner end -TrainerHill_Roof_EventScript_269090:: @ 8269090 - msgbox TrainerHill_Roof_Text_268C03, MSGBOX_DEFAULT - goto TrainerHill_Roof_EventScript_26909E +TrainerHill_Roof_EventScript_NoNewRecord:: @ 8269090 + msgbox TrainerHill_Roof_Text_YouWerentVeryQuick, MSGBOX_DEFAULT + goto TrainerHill_Roof_EventScript_EndSpeakToOwner end -TrainerHill_Roof_EventScript_26909E:: @ 826909E - msgbox TrainerHill_Roof_Text_268C31, MSGBOX_DEFAULT +TrainerHill_Roof_EventScript_EndSpeakToOwner:: @ 826909E + msgbox TrainerHill_Roof_Text_ArriveZippierNextTime, MSGBOX_DEFAULT release end -TrainerHill_Roof_EventScript_2690A8:: @ 82690A8 - msgbox TrainerHill_Roof_Text_268C31, MSGBOX_DEFAULT +TrainerHill_Roof_EventScript_AlreadyReceivedPrize:: @ 82690A8 + msgbox TrainerHill_Roof_Text_ArriveZippierNextTime, MSGBOX_DEFAULT release end diff --git a/data/maps/Underwater1/map.json b/data/maps/Underwater1/map.json index 7fd45b45f3..d7a111ad72 100644 --- a/data/maps/Underwater1/map.json +++ b/data/maps/Underwater1/map.json @@ -5,7 +5,7 @@ "music": "MUS_DEEPDEEP", "region_map_section": "MAPSEC_UNDERWATER_124", "requires_flash": false, - "weather": "WEATHER_BUBBLES", + "weather": "WEATHER_UNDERWATER_BUBBLES", "map_type": "MAP_TYPE_UNDERWATER", "allow_bike": true, "allow_escape_rope": false, diff --git a/data/maps/Underwater2/map.json b/data/maps/Underwater2/map.json index 7977faa4f0..e8a9778ecc 100644 --- a/data/maps/Underwater2/map.json +++ b/data/maps/Underwater2/map.json @@ -5,7 +5,7 @@ "music": "MUS_DEEPDEEP", "region_map_section": "MAPSEC_UNDERWATER_125", "requires_flash": false, - "weather": "WEATHER_BUBBLES", + "weather": "WEATHER_UNDERWATER_BUBBLES", "map_type": "MAP_TYPE_UNDERWATER", "allow_bike": true, "allow_escape_rope": false, diff --git a/data/maps/Underwater3/map.json b/data/maps/Underwater3/map.json index ea87b52354..7e007534c9 100644 --- a/data/maps/Underwater3/map.json +++ b/data/maps/Underwater3/map.json @@ -5,7 +5,7 @@ "music": "MUS_DEEPDEEP", "region_map_section": "MAPSEC_UNDERWATER_126", "requires_flash": false, - "weather": "WEATHER_BUBBLES", + "weather": "WEATHER_UNDERWATER_BUBBLES", "map_type": "MAP_TYPE_UNDERWATER", "allow_bike": true, "allow_escape_rope": false, diff --git a/data/maps/Underwater3/scripts.inc b/data/maps/Underwater3/scripts.inc index 53b80053f5..e75acd635b 100644 --- a/data/maps/Underwater3/scripts.inc +++ b/data/maps/Underwater3/scripts.inc @@ -1,8 +1,8 @@ Underwater3_MapScripts:: @ 81F7724 - map_script MAP_SCRIPT_ON_RESUME, Underwater3_MapScript1_1F772A + map_script MAP_SCRIPT_ON_RESUME, Underwater3_OnResume .byte 0 -Underwater3_MapScript1_1F772A: @ 81F772A - call UnusualWeather_Underwater_SetupEscapeWarp +Underwater3_OnResume: @ 81F772A + call AbnormalWeather_Underwater_SetupEscapeWarp end diff --git a/data/maps/Underwater4/map.json b/data/maps/Underwater4/map.json index 9226717c34..2fbc47a178 100644 --- a/data/maps/Underwater4/map.json +++ b/data/maps/Underwater4/map.json @@ -5,7 +5,7 @@ "music": "MUS_DEEPDEEP", "region_map_section": "MAPSEC_UNDERWATER_127", "requires_flash": false, - "weather": "WEATHER_BUBBLES", + "weather": "WEATHER_UNDERWATER_BUBBLES", "map_type": "MAP_TYPE_UNDERWATER", "allow_bike": true, "allow_escape_rope": false, diff --git a/data/maps/Underwater5/map.json b/data/maps/Underwater5/map.json index abd13a187a..01f1b531a8 100644 --- a/data/maps/Underwater5/map.json +++ b/data/maps/Underwater5/map.json @@ -5,7 +5,7 @@ "music": "MUS_DEEPDEEP", "region_map_section": "MAPSEC_UNDERWATER_129", "requires_flash": false, - "weather": "WEATHER_BUBBLES", + "weather": "WEATHER_UNDERWATER_BUBBLES", "map_type": "MAP_TYPE_UNDERWATER", "allow_bike": true, "allow_escape_rope": false, diff --git a/data/maps/Underwater5/scripts.inc b/data/maps/Underwater5/scripts.inc index fe068207e9..235d25aba5 100644 --- a/data/maps/Underwater5/scripts.inc +++ b/data/maps/Underwater5/scripts.inc @@ -1,8 +1,8 @@ Underwater5_MapScripts:: @ 81F7731 - map_script MAP_SCRIPT_ON_RESUME, Underwater5_MapScript1_1F7737 + map_script MAP_SCRIPT_ON_RESUME, Underwater5_OnResume .byte 0 -Underwater5_MapScript1_1F7737: @ 81F7737 - call UnusualWeather_Underwater_SetupEscapeWarp +Underwater5_OnResume: @ 81F7737 + call AbnormalWeather_Underwater_SetupEscapeWarp end diff --git a/data/maps/Underwater6/map.json b/data/maps/Underwater6/map.json index 9b19a1fe79..75be811924 100644 --- a/data/maps/Underwater6/map.json +++ b/data/maps/Underwater6/map.json @@ -5,7 +5,7 @@ "music": "MUS_DEEPDEEP", "region_map_section": "MAPSEC_UNDERWATER_TERRA_CAVE", "requires_flash": false, - "weather": "WEATHER_BUBBLES", + "weather": "WEATHER_UNDERWATER_BUBBLES", "map_type": "MAP_TYPE_UNDERWATER", "allow_bike": true, "allow_escape_rope": false, diff --git a/data/maps/Underwater6/scripts.inc b/data/maps/Underwater6/scripts.inc index d5a11c1bfe..21b639cd85 100644 --- a/data/maps/Underwater6/scripts.inc +++ b/data/maps/Underwater6/scripts.inc @@ -1,8 +1,8 @@ Underwater6_MapScripts:: @ 81F773D - map_script MAP_SCRIPT_ON_RESUME, Underwater6_MapScript1_1F7743 + map_script MAP_SCRIPT_ON_RESUME, Underwater6_OnResume .byte 0 -Underwater6_MapScript1_1F7743: @ 81F7743 - call UnusualWeather_Underwater_SetupEscapeWarp +Underwater6_OnResume: @ 81F7743 + call AbnormalWeather_Underwater_SetupEscapeWarp end diff --git a/data/maps/Underwater7/map.json b/data/maps/Underwater7/map.json index afabfeeecf..cd8dc4fde7 100644 --- a/data/maps/Underwater7/map.json +++ b/data/maps/Underwater7/map.json @@ -5,7 +5,7 @@ "music": "MUS_DEEPDEEP", "region_map_section": "MAPSEC_UNDERWATER_UNK1", "requires_flash": false, - "weather": "WEATHER_BUBBLES", + "weather": "WEATHER_UNDERWATER_BUBBLES", "map_type": "MAP_TYPE_UNDERWATER", "allow_bike": true, "allow_escape_rope": false, diff --git a/data/maps/Underwater7/scripts.inc b/data/maps/Underwater7/scripts.inc index c3bee154ee..4215dced9f 100644 --- a/data/maps/Underwater7/scripts.inc +++ b/data/maps/Underwater7/scripts.inc @@ -1,8 +1,8 @@ Underwater7_MapScripts:: @ 81F7749 - map_script MAP_SCRIPT_ON_RESUME, Underwater7_MapScript1_1F774F + map_script MAP_SCRIPT_ON_RESUME, Underwater7_OnResume .byte 0 -Underwater7_MapScript1_1F774F: @ 81F774F - call UnusualWeather_Underwater_SetupEscapeWarp +Underwater7_OnResume: @ 81F774F + call AbnormalWeather_Underwater_SetupEscapeWarp end diff --git a/data/maps/Underwater_MarineCave/map.json b/data/maps/Underwater_MarineCave/map.json index c969239c5a..6b491e98c1 100644 --- a/data/maps/Underwater_MarineCave/map.json +++ b/data/maps/Underwater_MarineCave/map.json @@ -5,7 +5,7 @@ "music": "MUS_DAN01", "region_map_section": "MAPSEC_UNDERWATER_MARINE_CAVE", "requires_flash": false, - "weather": "WEATHER_BUBBLES", + "weather": "WEATHER_UNDERWATER_BUBBLES", "map_type": "MAP_TYPE_UNDERWATER", "allow_bike": true, "allow_escape_rope": false, diff --git a/data/maps/Underwater_MarineCave/scripts.inc b/data/maps/Underwater_MarineCave/scripts.inc index 248854dd74..b1cc353f03 100644 --- a/data/maps/Underwater_MarineCave/scripts.inc +++ b/data/maps/Underwater_MarineCave/scripts.inc @@ -1,5 +1,5 @@ Underwater_MarineCave_MapScripts:: @ 823AFB8 - map_script MAP_SCRIPT_ON_RESUME, Underwater_MarineCave_MapScript1_OnResume + map_script MAP_SCRIPT_ON_RESUME, Underwater_MarineCave_OnResume map_script MAP_SCRIPT_ON_TRANSITION, Underwater_MarineCave_OnTransition .byte 0 @@ -7,7 +7,7 @@ Underwater_MarineCave_OnTransition: @ 823AFC3 setflag FLAG_ARRIVED_AT_MARINE_CAVE_EMERGE_SPOT end -Underwater_MarineCave_MapScript1_OnResume: @ 823AFC7 +Underwater_MarineCave_OnResume: @ 823AFC7 setdivewarp MAP_MARINE_CAVE_ENTRANCE, 255, 10, 17 end diff --git a/data/maps/Underwater_Route134/map.json b/data/maps/Underwater_Route134/map.json index f94f110e11..208dffaae1 100644 --- a/data/maps/Underwater_Route134/map.json +++ b/data/maps/Underwater_Route134/map.json @@ -5,7 +5,7 @@ "music": "MUS_DEEPDEEP", "region_map_section": "MAPSEC_UNDERWATER_SEALED_CHAMBER", "requires_flash": false, - "weather": "WEATHER_BUBBLES", + "weather": "WEATHER_UNDERWATER_BUBBLES", "map_type": "MAP_TYPE_UNDERWATER", "allow_bike": true, "allow_escape_rope": false, diff --git a/data/maps/Underwater_Route134/scripts.inc b/data/maps/Underwater_Route134/scripts.inc index acffa23a28..ef62997de1 100644 --- a/data/maps/Underwater_Route134/scripts.inc +++ b/data/maps/Underwater_Route134/scripts.inc @@ -1,8 +1,8 @@ Underwater_Route134_MapScripts:: @ 82390B5 - map_script MAP_SCRIPT_ON_RESUME, Underwater_Route134_MapScript1_2390BB + map_script MAP_SCRIPT_ON_RESUME, Underwater_Route134_OnResume .byte 0 -Underwater_Route134_MapScript1_2390BB: @ 82390BB +Underwater_Route134_OnResume: @ 82390BB setdivewarp MAP_ROUTE134, 255, 60, 31 end diff --git a/data/maps/Underwater_SeafloorCavern/map.json b/data/maps/Underwater_SeafloorCavern/map.json index eedec45002..34bd71325d 100644 --- a/data/maps/Underwater_SeafloorCavern/map.json +++ b/data/maps/Underwater_SeafloorCavern/map.json @@ -5,7 +5,7 @@ "music": "MUS_DEEPDEEP", "region_map_section": "MAPSEC_UNDERWATER_128", "requires_flash": false, - "weather": "WEATHER_BUBBLES", + "weather": "WEATHER_UNDERWATER_BUBBLES", "map_type": "MAP_TYPE_UNDERWATER", "allow_bike": true, "allow_escape_rope": false, diff --git a/data/maps/Underwater_SeafloorCavern/scripts.inc b/data/maps/Underwater_SeafloorCavern/scripts.inc index ca94964cf1..1186324614 100644 --- a/data/maps/Underwater_SeafloorCavern/scripts.inc +++ b/data/maps/Underwater_SeafloorCavern/scripts.inc @@ -1,23 +1,23 @@ Underwater_SeafloorCavern_MapScripts:: @ 823433B - map_script MAP_SCRIPT_ON_RESUME, Underwater_SeafloorCavern_MapScript1_2343D3 + map_script MAP_SCRIPT_ON_RESUME, Underwater_SeafloorCavern_OnResume map_script MAP_SCRIPT_ON_TRANSITION, Underwater_SeafloorCavern_OnTransition - map_script MAP_SCRIPT_ON_LOAD, Underwater_SeafloorCavern_MapScript1_23435C + map_script MAP_SCRIPT_ON_LOAD, Underwater_SeafloorCavern_OnLoad .byte 0 Underwater_SeafloorCavern_OnTransition: @ 823434B setflag FLAG_LANDMARK_SEAFLOOR_CAVERN - goto_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, Underwater_SeafloorCavern_EventScript_234358 + goto_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, Underwater_SeafloorCavern_EventScript_HideSubmarine end -Underwater_SeafloorCavern_EventScript_234358:: @ 8234358 +Underwater_SeafloorCavern_EventScript_HideSubmarine:: @ 8234358 setflag FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE end -Underwater_SeafloorCavern_MapScript1_23435C: @ 823435C - call_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, Underwater_SeafloorCavern_EventScript_234366 +Underwater_SeafloorCavern_OnLoad: @ 823435C + call_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, Underwater_SeafloorCavern_EventScript_SetSubmarineGoneMetatiles end -Underwater_SeafloorCavern_EventScript_234366:: @ 8234366 +Underwater_SeafloorCavern_EventScript_SetSubmarineGoneMetatiles:: @ 8234366 setmetatile 5, 3, METATILE_Underwater_RockWall, 1 setmetatile 6, 3, METATILE_Underwater_RockWall, 1 setmetatile 7, 3, METATILE_Underwater_RockWall, 1 @@ -32,7 +32,7 @@ Underwater_SeafloorCavern_EventScript_234366:: @ 8234366 setmetatile 8, 5, METATILE_Underwater_FloorShadow, 0 return -Underwater_SeafloorCavern_MapScript1_2343D3: @ 82343D3 +Underwater_SeafloorCavern_OnResume: @ 82343D3 setdivewarp MAP_SEAFLOOR_CAVERN_ENTRANCE, 255, 10, 17 end diff --git a/data/maps/Underwater_SealedChamber/map.json b/data/maps/Underwater_SealedChamber/map.json index 2256ee670e..e71a7bc5cc 100644 --- a/data/maps/Underwater_SealedChamber/map.json +++ b/data/maps/Underwater_SealedChamber/map.json @@ -5,7 +5,7 @@ "music": "MUS_DEEPDEEP", "region_map_section": "MAPSEC_UNDERWATER_SEALED_CHAMBER", "requires_flash": false, - "weather": "WEATHER_BUBBLES", + "weather": "WEATHER_UNDERWATER_BUBBLES", "map_type": "MAP_TYPE_UNDERWATER", "allow_bike": true, "allow_escape_rope": false, @@ -31,7 +31,7 @@ "y": 43, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "Underwater_SealedChamber_EventScript_2390FC" + "script": "Underwater_SealedChamber_EventScript_Braille" } ] } \ No newline at end of file diff --git a/data/maps/Underwater_SealedChamber/scripts.inc b/data/maps/Underwater_SealedChamber/scripts.inc index 9ec884781a..b1fb5e71a5 100644 --- a/data/maps/Underwater_SealedChamber/scripts.inc +++ b/data/maps/Underwater_SealedChamber/scripts.inc @@ -1,28 +1,28 @@ Underwater_SealedChamber_MapScripts:: @ 82390C4 - map_script MAP_SCRIPT_ON_DIVE_WARP, Underwater_SealedChamber_MapScript1_2390CA + map_script MAP_SCRIPT_ON_DIVE_WARP, Underwater_SealedChamber_OnDive .byte 0 -Underwater_SealedChamber_MapScript1_2390CA: @ 82390CA +Underwater_SealedChamber_OnDive: @ 82390CA getplayerxy VAR_0x8004, VAR_0x8005 compare VAR_0x8004, 12 - goto_if_ne Underwater_SealedChamber_EventScript_2390EA + goto_if_ne Underwater_SealedChamber_EventScript_SurfaceRoute134 compare VAR_0x8005, 44 - goto_if_ne Underwater_SealedChamber_EventScript_2390EA - goto Underwater_SealedChamber_EventScript_2390F3 + goto_if_ne Underwater_SealedChamber_EventScript_SurfaceRoute134 + goto Underwater_SealedChamber_EventScript_SurfaceSealedChamber -Underwater_SealedChamber_EventScript_2390EA:: @ 82390EA +Underwater_SealedChamber_EventScript_SurfaceRoute134:: @ 82390EA setdivewarp MAP_ROUTE134, 255, 60, 31 end -Underwater_SealedChamber_EventScript_2390F3:: @ 82390F3 +Underwater_SealedChamber_EventScript_SurfaceSealedChamber:: @ 82390F3 setdivewarp MAP_SEALED_CHAMBER_OUTER_ROOM, 255, 10, 19 end -Underwater_SealedChamber_EventScript_2390FC:: @ 82390FC +Underwater_SealedChamber_EventScript_Braille:: @ 82390FC lockall - braillemessage Underwater_SealedChamber_Braille_2A6B15 + braillemessage Underwater_SealedChamber_Braille_GoUpHere waitbuttonpress - hidebox2 + closebraillemessage releaseall end diff --git a/data/maps/Underwater_SootopolisCity/map.json b/data/maps/Underwater_SootopolisCity/map.json index a3b0a1290d..e8e75e0246 100644 --- a/data/maps/Underwater_SootopolisCity/map.json +++ b/data/maps/Underwater_SootopolisCity/map.json @@ -5,7 +5,7 @@ "music": "MUS_DEEPDEEP", "region_map_section": "MAPSEC_UNDERWATER_SOOTOPOLIS", "requires_flash": false, - "weather": "WEATHER_BUBBLES", + "weather": "WEATHER_UNDERWATER_BUBBLES", "map_type": "MAP_TYPE_UNDERWATER", "allow_bike": true, "allow_escape_rope": false, diff --git a/data/maps/Underwater_SootopolisCity/scripts.inc b/data/maps/Underwater_SootopolisCity/scripts.inc index d5040dba0a..ec639604be 100644 --- a/data/maps/Underwater_SootopolisCity/scripts.inc +++ b/data/maps/Underwater_SootopolisCity/scripts.inc @@ -1,8 +1,8 @@ Underwater_SootopolisCity_MapScripts:: @ 822D94C - map_script MAP_SCRIPT_ON_RESUME, Underwater_SootopolisCity_MapScript1_22D952 + map_script MAP_SCRIPT_ON_RESUME, Underwater_SootopolisCity_OnResume .byte 0 -Underwater_SootopolisCity_MapScript1_22D952: @ 822D952 +Underwater_SootopolisCity_OnResume: @ 822D952 setdivewarp MAP_SOOTOPOLIS_CITY, 255, 29, 53 end diff --git a/data/maps/UnionRoom/map.json b/data/maps/UnionRoom/map.json index c42cd362cc..4c7b487fb2 100644 --- a/data/maps/UnionRoom/map.json +++ b/data/maps/UnionRoom/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "UnionRoom_EventScript_23D236", + "script": "UnionRoom_EventScript_Attendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "UnionRoom_EventScript_23D204", + "script": "UnionRoom_EventScript_Player4", "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_4" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "UnionRoom_EventScript_23D22C", + "script": "UnionRoom_EventScript_Player8", "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_8" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "UnionRoom_EventScript_23D222", + "script": "UnionRoom_EventScript_Player7", "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_7" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "UnionRoom_EventScript_23D218", + "script": "UnionRoom_EventScript_Player6", "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_6" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "UnionRoom_EventScript_23D20E", + "script": "UnionRoom_EventScript_Player5", "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_5" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "UnionRoom_EventScript_23D1FA", + "script": "UnionRoom_EventScript_Player3", "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_3" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "UnionRoom_EventScript_23D1F0", + "script": "UnionRoom_EventScript_Player2", "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_2" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "UnionRoom_EventScript_23D1E6", + "script": "UnionRoom_EventScript_Player1", "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_1" } ], diff --git a/data/maps/UnionRoom/scripts.inc b/data/maps/UnionRoom/scripts.inc index c2f375e0f1..eac27fb5ce 100644 --- a/data/maps/UnionRoom/scripts.inc +++ b/data/maps/UnionRoom/scripts.inc @@ -1,9 +1,9 @@ UnionRoom_MapScripts:: @ 823D1A6 - map_script MAP_SCRIPT_ON_RESUME, UnionRoom_MapScript1_23D1B1 + map_script MAP_SCRIPT_ON_RESUME, UnionRoom_OnResume map_script MAP_SCRIPT_ON_TRANSITION, UnionRoom_OnTransition .byte 0 -UnionRoom_MapScript1_23D1B1: @ 823D1B1 +UnionRoom_OnResume: @ 823D1B1 setflag FLAG_HIDE_UNION_ROOM_PLAYER_1 setflag FLAG_HIDE_UNION_ROOM_PLAYER_2 setflag FLAG_HIDE_UNION_ROOM_PLAYER_3 @@ -26,7 +26,7 @@ UnionRoom_MapScript1_23D1B1: @ 823D1B1 UnionRoom_OnTransition: @ 823D1E5 end -UnionRoom_EventScript_23D1E6:: @ 823D1E6 +UnionRoom_EventScript_Player1:: @ 823D1E6 lock faceplayer setvar VAR_RESULT, 1 @@ -34,7 +34,7 @@ UnionRoom_EventScript_23D1E6:: @ 823D1E6 release end -UnionRoom_EventScript_23D1F0:: @ 823D1F0 +UnionRoom_EventScript_Player2:: @ 823D1F0 lock faceplayer setvar VAR_RESULT, 2 @@ -42,7 +42,7 @@ UnionRoom_EventScript_23D1F0:: @ 823D1F0 release end -UnionRoom_EventScript_23D1FA:: @ 823D1FA +UnionRoom_EventScript_Player3:: @ 823D1FA lock faceplayer setvar VAR_RESULT, 3 @@ -50,7 +50,7 @@ UnionRoom_EventScript_23D1FA:: @ 823D1FA release end -UnionRoom_EventScript_23D204:: @ 823D204 +UnionRoom_EventScript_Player4:: @ 823D204 lock faceplayer setvar VAR_RESULT, 4 @@ -58,7 +58,7 @@ UnionRoom_EventScript_23D204:: @ 823D204 release end -UnionRoom_EventScript_23D20E:: @ 823D20E +UnionRoom_EventScript_Player5:: @ 823D20E lock faceplayer setvar VAR_RESULT, 5 @@ -66,7 +66,7 @@ UnionRoom_EventScript_23D20E:: @ 823D20E release end -UnionRoom_EventScript_23D218:: @ 823D218 +UnionRoom_EventScript_Player6:: @ 823D218 lock faceplayer setvar VAR_RESULT, 6 @@ -74,7 +74,7 @@ UnionRoom_EventScript_23D218:: @ 823D218 release end -UnionRoom_EventScript_23D222:: @ 823D222 +UnionRoom_EventScript_Player7:: @ 823D222 lock faceplayer setvar VAR_RESULT, 7 @@ -82,7 +82,7 @@ UnionRoom_EventScript_23D222:: @ 823D222 release end -UnionRoom_EventScript_23D22C:: @ 823D22C +UnionRoom_EventScript_Player8:: @ 823D22C lock faceplayer setvar VAR_RESULT, 8 @@ -90,7 +90,7 @@ UnionRoom_EventScript_23D22C:: @ 823D22C release end -UnionRoom_EventScript_23D236:: @ 823D236 +UnionRoom_EventScript_Attendant:: @ 823D236 lock faceplayer setvar VAR_RESULT, 9 @@ -98,7 +98,7 @@ UnionRoom_EventScript_23D236:: @ 823D236 release end -UnionRoom_EventScript_23D240:: @ 823D240 +UnionRoom_EventScript_Unused:: @ 823D240 lockall setvar VAR_RESULT, 10 waitstate diff --git a/data/maps/UnknownLinkContestRoom_25_29/map.json b/data/maps/UnknownLinkContestRoom_25_29/map.json index 3e4387b6a2..bcad9e1d71 100644 --- a/data/maps/UnknownLinkContestRoom_25_29/map.json +++ b/data/maps/UnknownLinkContestRoom_25_29/map.json @@ -13,6 +13,6 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, - "shared_events_map": "LinkContestRoom1", - "shared_scripts_map": "LinkContestRoom1" + "shared_events_map": "ContestHall", + "shared_scripts_map": "ContestHall" } \ No newline at end of file diff --git a/data/maps/UnknownLinkContestRoom_25_29/scripts.inc b/data/maps/UnknownLinkContestRoom_25_29/scripts.inc deleted file mode 100644 index 8b13789179..0000000000 --- a/data/maps/UnknownLinkContestRoom_25_29/scripts.inc +++ /dev/null @@ -1 +0,0 @@ - diff --git a/data/maps/UnknownLinkContestRoom_25_30/map.json b/data/maps/UnknownLinkContestRoom_25_30/map.json index 42a719c177..4a67080068 100644 --- a/data/maps/UnknownLinkContestRoom_25_30/map.json +++ b/data/maps/UnknownLinkContestRoom_25_30/map.json @@ -13,6 +13,6 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, - "shared_events_map": "LinkContestRoom1", - "shared_scripts_map": "LinkContestRoom1" + "shared_events_map": "ContestHall", + "shared_scripts_map": "ContestHall" } \ No newline at end of file diff --git a/data/maps/UnknownLinkContestRoom_25_30/scripts.inc b/data/maps/UnknownLinkContestRoom_25_30/scripts.inc deleted file mode 100644 index 8b13789179..0000000000 --- a/data/maps/UnknownLinkContestRoom_25_30/scripts.inc +++ /dev/null @@ -1 +0,0 @@ - diff --git a/data/maps/UnknownLinkContestRoom_25_31/map.json b/data/maps/UnknownLinkContestRoom_25_31/map.json index ad18b00aff..da7f875b3f 100644 --- a/data/maps/UnknownLinkContestRoom_25_31/map.json +++ b/data/maps/UnknownLinkContestRoom_25_31/map.json @@ -13,6 +13,6 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, - "shared_events_map": "LinkContestRoom1", - "shared_scripts_map": "LinkContestRoom1" + "shared_events_map": "ContestHall", + "shared_scripts_map": "ContestHall" } \ No newline at end of file diff --git a/data/maps/UnknownLinkContestRoom_25_31/scripts.inc b/data/maps/UnknownLinkContestRoom_25_31/scripts.inc deleted file mode 100644 index 8b13789179..0000000000 --- a/data/maps/UnknownLinkContestRoom_25_31/scripts.inc +++ /dev/null @@ -1 +0,0 @@ - diff --git a/data/maps/UnknownLinkContestRoom_25_32/map.json b/data/maps/UnknownLinkContestRoom_25_32/map.json index 0e1528e598..8d5b033dbc 100644 --- a/data/maps/UnknownLinkContestRoom_25_32/map.json +++ b/data/maps/UnknownLinkContestRoom_25_32/map.json @@ -13,6 +13,6 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, - "shared_events_map": "LinkContestRoom1", - "shared_scripts_map": "LinkContestRoom1" + "shared_events_map": "ContestHall", + "shared_scripts_map": "ContestHall" } \ No newline at end of file diff --git a/data/maps/UnknownLinkContestRoom_25_32/scripts.inc b/data/maps/UnknownLinkContestRoom_25_32/scripts.inc deleted file mode 100644 index 8b13789179..0000000000 --- a/data/maps/UnknownLinkContestRoom_25_32/scripts.inc +++ /dev/null @@ -1 +0,0 @@ - diff --git a/data/maps/UnknownLinkContestRoom_25_33/map.json b/data/maps/UnknownLinkContestRoom_25_33/map.json index 8765e97716..89c95c51b0 100644 --- a/data/maps/UnknownLinkContestRoom_25_33/map.json +++ b/data/maps/UnknownLinkContestRoom_25_33/map.json @@ -13,6 +13,6 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, - "shared_events_map": "LinkContestRoom1", - "shared_scripts_map": "LinkContestRoom1" + "shared_events_map": "ContestHall", + "shared_scripts_map": "ContestHall" } \ No newline at end of file diff --git a/data/maps/UnknownLinkContestRoom_25_33/scripts.inc b/data/maps/UnknownLinkContestRoom_25_33/scripts.inc deleted file mode 100644 index 8b13789179..0000000000 --- a/data/maps/UnknownLinkContestRoom_25_33/scripts.inc +++ /dev/null @@ -1 +0,0 @@ - diff --git a/data/maps/UnknownLinkContestRoom_25_34/map.json b/data/maps/UnknownLinkContestRoom_25_34/map.json index c7220897b8..3e28789623 100644 --- a/data/maps/UnknownLinkContestRoom_25_34/map.json +++ b/data/maps/UnknownLinkContestRoom_25_34/map.json @@ -13,6 +13,6 @@ "show_map_name": false, "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, - "shared_events_map": "LinkContestRoom1", - "shared_scripts_map": "LinkContestRoom1" + "shared_events_map": "ContestHall", + "shared_scripts_map": "ContestHall" } \ No newline at end of file diff --git a/data/maps/UnknownLinkContestRoom_25_34/scripts.inc b/data/maps/UnknownLinkContestRoom_25_34/scripts.inc deleted file mode 100644 index 8b13789179..0000000000 --- a/data/maps/UnknownLinkContestRoom_25_34/scripts.inc +++ /dev/null @@ -1 +0,0 @@ - diff --git a/data/maps/VerdanturfTown/map.json b/data/maps/VerdanturfTown/map.json index 7aef487242..e3fa08b03f 100644 --- a/data/maps/VerdanturfTown/map.json +++ b/data/maps/VerdanturfTown/map.json @@ -35,7 +35,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_EventScript_1EB5A8", + "script": "VerdanturfTown_EventScript_Man", "flag": "0" }, { @@ -48,7 +48,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_EventScript_1EB575", + "script": "VerdanturfTown_EventScript_Twin", "flag": "0" }, { @@ -61,7 +61,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_EventScript_1EB5BA", + "script": "VerdanturfTown_EventScript_Boy", "flag": "0" }, { @@ -74,7 +74,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_EventScript_1EB5B1", + "script": "VerdanturfTown_EventScript_Camper", "flag": "0" } ], @@ -145,7 +145,7 @@ "y": 6, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "VerdanturfTown_EventScript_1EB5D9" + "script": "VerdanturfTown_EventScript_TownSign" }, { "type": "sign", @@ -161,7 +161,7 @@ "y": 14, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "VerdanturfTown_EventScript_1EB5E2" + "script": "VerdanturfTown_EventScript_WandasHouseSign" }, { "type": "sign", @@ -185,7 +185,7 @@ "y": 8, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "VerdanturfTown_EventScript_1EB5EB" + "script": "VerdanturfTown_EventScript_BattleTentSign" }, { "type": "sign", @@ -193,7 +193,7 @@ "y": 3, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "VerdanturfTown_EventScript_1EB5F4" + "script": "VerdanturfTown_EventScript_RusturfTunnelSign" } ] } \ No newline at end of file diff --git a/data/maps/VerdanturfTown/scripts.inc b/data/maps/VerdanturfTown/scripts.inc index bd8328db8b..2f075346cc 100644 --- a/data/maps/VerdanturfTown/scripts.inc +++ b/data/maps/VerdanturfTown/scripts.inc @@ -4,64 +4,64 @@ VerdanturfTown_MapScripts:: @ 81EB566 VerdanturfTown_OnTransition: @ 81EB56C setflag FLAG_VISITED_VERDANTURF_TOWN - setvar VAR_LINK_CONTEST_ROOM_STATE, 0 + setvar VAR_CONTEST_HALL_STATE, 0 end -VerdanturfTown_EventScript_1EB575:: @ 81EB575 +VerdanturfTown_EventScript_Twin:: @ 81EB575 lock faceplayer - goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_1EB594 - msgbox VerdanturfTown_Text_1EB5FD, MSGBOX_DEFAULT + goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_TwinTunnelOpen + msgbox VerdanturfTown_Text_ManTryingToDigTunnel, MSGBOX_DEFAULT applymovement 2, Common_Movement_FaceOriginalDirection waitmovement 0 release end -VerdanturfTown_EventScript_1EB594:: @ 81EB594 - msgbox VerdanturfTown_Text_1EB6E0, MSGBOX_DEFAULT +VerdanturfTown_EventScript_TwinTunnelOpen:: @ 81EB594 + msgbox VerdanturfTown_Text_ManDugTunnelForLove, MSGBOX_DEFAULT applymovement 2, Common_Movement_FaceOriginalDirection waitmovement 0 release end -VerdanturfTown_EventScript_1EB5A8:: @ 81EB5A8 - msgbox VerdanturfTown_Text_1EB736, MSGBOX_NPC +VerdanturfTown_EventScript_Man:: @ 81EB5A8 + msgbox VerdanturfTown_Text_AirCleanHere, MSGBOX_NPC end -VerdanturfTown_EventScript_1EB5B1:: @ 81EB5B1 - msgbox VerdanturfTown_Text_1EB7E2, MSGBOX_NPC +VerdanturfTown_EventScript_Camper:: @ 81EB5B1 + msgbox VerdanturfTown_Text_MakeBattleTentDebut, MSGBOX_NPC end -VerdanturfTown_EventScript_1EB5BA:: @ 81EB5BA +VerdanturfTown_EventScript_Boy:: @ 81EB5BA lock faceplayer - goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_1EB5CF - msgbox VerdanturfTown_Text_1EB854, MSGBOX_DEFAULT + goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_BoyTunnelOpen + msgbox VerdanturfTown_Text_GuyTryingToBustThroughCave, MSGBOX_DEFAULT release end -VerdanturfTown_EventScript_1EB5CF:: @ 81EB5CF - msgbox VerdanturfTown_Text_1EB935, MSGBOX_DEFAULT +VerdanturfTown_EventScript_BoyTunnelOpen:: @ 81EB5CF + msgbox VerdanturfTown_Text_EasyToGetToRustboroNow, MSGBOX_DEFAULT release end -VerdanturfTown_EventScript_1EB5D9:: @ 81EB5D9 - msgbox VerdanturfTown_Text_1EB9C4, MSGBOX_SIGN +VerdanturfTown_EventScript_TownSign:: @ 81EB5D9 + msgbox VerdanturfTown_Text_TownSign, MSGBOX_SIGN end -VerdanturfTown_EventScript_1EB5E2:: @ 81EB5E2 - msgbox VerdanturfTown_Text_1EBA11, MSGBOX_SIGN +VerdanturfTown_EventScript_WandasHouseSign:: @ 81EB5E2 + msgbox VerdanturfTown_Text_WandasHouse, MSGBOX_SIGN end -VerdanturfTown_EventScript_1EB5EB:: @ 81EB5EB - msgbox VerdanturfTown_Text_1EBA1F, MSGBOX_SIGN +VerdanturfTown_EventScript_BattleTentSign:: @ 81EB5EB + msgbox VerdanturfTown_Text_BattleTentSign, MSGBOX_SIGN end -VerdanturfTown_EventScript_1EB5F4:: @ 81EB5F4 - msgbox VerdanturfTown_Text_1EBA59, MSGBOX_SIGN +VerdanturfTown_EventScript_RusturfTunnelSign:: @ 81EB5F4 + msgbox VerdanturfTown_Text_RusturfTunnelSign, MSGBOX_SIGN end -VerdanturfTown_Text_1EB5FD: @ 81EB5FD +VerdanturfTown_Text_ManTryingToDigTunnel: @ 81EB5FD .string "My papa told me.\p" .string "He says this tunnel is full of\n" .string "timid POKéMON.\p" @@ -72,25 +72,25 @@ VerdanturfTown_Text_1EB5FD: @ 81EB5FD .string "But there's one man. He's trying to dig\n" .string "the tunnel by himself!$" -VerdanturfTown_Text_1EB6E0: @ 81EB6E0 +VerdanturfTown_Text_ManDugTunnelForLove: @ 81EB6E0 .string "There was a man who dug a tunnel for\n" .string "a lady he loved.\p" .string "I don't really get it, but hey!$" -VerdanturfTown_Text_1EB736: @ 81EB736 +VerdanturfTown_Text_AirCleanHere: @ 81EB736 .string "The way the winds blow, volcanic ash\n" .string "is never blown in this direction.\p" .string "The air is clean and delicious here.\n" .string "Living here should do wonders for even\l" .string "frail and sickly people.$" -VerdanturfTown_Text_1EB7E2: @ 81EB7E2 +VerdanturfTown_Text_MakeBattleTentDebut: @ 81EB7E2 .string "My POKéMON and I, we've been riding\n" .string "a hot winning streak.\p" .string "So I decided to make my BATTLE TENT\n" .string "debut in this town.$" -VerdanturfTown_Text_1EB854: @ 81EB854 +VerdanturfTown_Text_GuyTryingToBustThroughCave: @ 81EB854 .string "Did you see the cave next to the\n" .string "POKéMON MART?\p" .string "There's a guy in there who's trying to\n" @@ -99,25 +99,25 @@ VerdanturfTown_Text_1EB854: @ 81EB854 .string "It'd be great if we could go through…\n" .string "It'll make it easy to visit RUSTBORO.$" -VerdanturfTown_Text_1EB935: @ 81EB935 +VerdanturfTown_Text_EasyToGetToRustboroNow: @ 81EB935 .string "That cave next to the POKéMON MART\n" .string "is now a tunnel to the other side.\p" .string "It's great--it's easy to go shop for\n" .string "new DEVON products in RUSTBORO now.$" -VerdanturfTown_Text_1EB9C4: @ 81EB9C4 +VerdanturfTown_Text_TownSign: @ 81EB9C4 .string "VERDANTURF TOWN\p" .string "“The windswept highlands with the\n" .string "sweet fragrance of grass.”$" -VerdanturfTown_Text_1EBA11: @ 81EBA11 +VerdanturfTown_Text_WandasHouse: @ 81EBA11 .string "WANDA'S HOUSE$" -VerdanturfTown_Text_1EBA1F: @ 81EBA1F +VerdanturfTown_Text_BattleTentSign: @ 81EBA1F .string "BATTLE TENT VERDANTURF SITE\n" .string "“Feast Your Eyes on Battles!”$" -VerdanturfTown_Text_1EBA59: @ 81EBA59 +VerdanturfTown_Text_RusturfTunnelSign: @ 81EBA59 .string "RUSTURF TUNNEL\n" .string "“Linking RUSTBORO and VERDANTURF\p" .string "“The tunnel project has been\n" diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc index b43bc6077e..9f2b990902 100644 --- a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc @@ -1,181 +1,161 @@ VerdanturfTown_BattleTentBattleRoom_MapScripts:: @ 82022FA map_script MAP_SCRIPT_ON_TRANSITION, VerdanturfTown_BattleTentBattleRoom_OnTransition - map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentBattleRoom_MapScript2_20233E - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, VerdanturfTown_BattleTentBattleRoom_MapScript2_202541 + map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentBattleRoom_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, VerdanturfTown_BattleTentBattleRoom_OnWarp .byte 0 + @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden + @ The player is represented instead by object event 1, which has the gfx id VAR_OBJ_GFX_ID_1 + @ The opponent is represented by object event 2, which has the gfx id VAR_OBJ_GFX_ID_0 + VerdanturfTown_BattleTentBattleRoom_OnTransition: @ 820230A - call VerdanturfTown_BattleTentBattleRoom_EventScript_202310 + call VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfx end -VerdanturfTown_BattleTentBattleRoom_EventScript_202310:: @ 8202310 +VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfx:: @ 8202310 checkplayergender compare VAR_RESULT, MALE - goto_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202328 + goto_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxMale compare VAR_RESULT, FEMALE - goto_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202333 + goto_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale return -VerdanturfTown_BattleTentBattleRoom_EventScript_202328:: @ 8202328 +VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxMale:: @ 8202328 setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL return -VerdanturfTown_BattleTentBattleRoom_EventScript_202333:: @ 8202333 +VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale:: @ 8202333 setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL return -VerdanturfTown_BattleTentBattleRoom_MapScript2_20233E: @ 820233E - map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_202348 +VerdanturfTown_BattleTentBattleRoom_OnFrame: @ 820233E + map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_EnterRoom .2byte 0 -VerdanturfTown_BattleTentBattleRoom_EventScript_202348:: @ 8202348 +VerdanturfTown_BattleTentBattleRoom_EventScript_EnterRoom:: @ 8202348 showobjectat 1, MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM - applymovement 1, VerdanturfTown_BattleTentBattleRoom_Movement_202575 + applymovement 1, VerdanturfTown_BattleTentBattleRoom_Movement_PlayerEnter waitmovement 0 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc + frontier_get FRONTIER_DATA_BATTLE_NUM compare VAR_RESULT, 0 - goto_if_ne VerdanturfTown_BattleTentBattleRoom_EventScript_20243C - -VerdanturfTown_BattleTentBattleRoom_EventScript_20236F:: @ 820236F - setvar VAR_0x8004, 3 - special sub_8161F74 + goto_if_ne VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge +VerdanturfTown_BattleTentBattleRoom_EventScript_NextOpponentEnter:: @ 820236F + tower_setopponent addobject 2 - applymovement 2, VerdanturfTown_BattleTentBattleRoom_Movement_20257B + applymovement 2, VerdanturfTown_BattleTentBattleRoom_Movement_OpponentEnter waitmovement 0 - setvar VAR_0x8004, 4 - special sub_81B99B4 + battletent_getopponentintro msgbox gStringVar4, MSGBOX_DEFAULT waitmessage - call VerdanturfTown_BattleTentBattleRoom_EventScript_24FDF7 + call BattleFrontier_BattlePalaceBattleRoom_EventScript_DoPalaceBattle switch VAR_RESULT - case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_2023C8 - -VerdanturfTown_BattleTentBattleRoom_EventScript_2023AA:: @ 82023AA - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 4 - special CallFrontierUtilFunc + case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_DefeatedOpponent +VerdanturfTown_BattleTentBattleRoom_EventScript_WarpToLobbyLost:: @ 82023AA + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST special LoadPlayerParty warp MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6 waitstate -VerdanturfTown_BattleTentBattleRoom_EventScript_2023C8:: @ 82023C8 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc +VerdanturfTown_BattleTentBattleRoom_EventScript_DefeatedOpponent:: @ 82023C8 + frontier_get FRONTIER_DATA_BATTLE_NUM addvar VAR_RESULT, 1 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 2 - copyvar VAR_0x8006, VAR_RESULT - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT switch VAR_RESULT - case 3, VerdanturfTown_BattleTentBattleRoom_EventScript_202501 - applymovement 2, VerdanturfTown_BattleTentBattleRoom_Movement_202581 + case 3, VerdanturfTown_BattleTentBattleRoom_EventScript_WarpToLobbyWon + applymovement 2, VerdanturfTown_BattleTentBattleRoom_Movement_OpponentExit waitmovement 0 removeobject 2 - applymovement 3, Common_Movement_WalkInPlaceDown - applymovement 1, Common_Movement_WalkInPlaceUp + applymovement 3, Common_Movement_WalkInPlaceFastestDown + applymovement 1, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox VerdanturfTown_BattleTentBattleRoom_Text_24FF00, MSGBOX_DEFAULT + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_LetMeRestoreYourMons, MSGBOX_DEFAULT special LoadPlayerParty special SavePlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc + frontier_setpartyorder FRONTIER_PARTY_SIZE playfanfare MUS_ME_ASA waitfanfare special HealPlayerParty -VerdanturfTown_BattleTentBattleRoom_EventScript_20243C:: @ 820243C - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - special CallFrontierUtilFunc +VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge:: @ 820243C + frontier_get FRONTIER_DATA_BATTLE_NUM compare VAR_RESULT, 1 - call_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202565 + call_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor2ndOpponent compare VAR_RESULT, 2 - call_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_20256C - multichoice 20, 6, 104, 1 + call_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor3rdOpponent + multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1 switch VAR_RESULT - case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_2024EA - case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20248A - case 2, VerdanturfTown_BattleTentBattleRoom_EventScript_2024B8 + case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_ContinueChallenge + case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_AskPauseChallenge + case 2, VerdanturfTown_BattleTentBattleRoom_EventScript_AskRetireChallenge -VerdanturfTown_BattleTentBattleRoom_EventScript_20248A:: @ 820248A - msgbox VerdanturfTown_BattleTentBattleRoom_Text_250030, MSGBOX_YESNO +VerdanturfTown_BattleTentBattleRoom_EventScript_AskPauseChallenge:: @ 820248A + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SaveAndQuitGame, MSGBOX_YESNO switch VAR_RESULT - case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C - case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20251F - case 127, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C + case NO, VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge + case YES, VerdanturfTown_BattleTentBattleRoom_EventScript_PauseChallenge + case MULTI_B_PRESSED, VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge -VerdanturfTown_BattleTentBattleRoom_EventScript_2024B8:: @ 82024B8 - message VerdanturfTown_BattleTentBattleRoom_Text_25005A +VerdanturfTown_BattleTentBattleRoom_EventScript_AskRetireChallenge:: @ 82024B8 + message BattleFrontier_BattlePalaceBattleRoom_Text_WishToQuitChallenge waitmessage - multichoicedefault 20, 8, 94, 1, 0 + multichoicedefault 20, 8, MULTI_YESNO, 1, 0 switch VAR_RESULT - case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C - case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_2023AA - case 127, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C + case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge + case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_WarpToLobbyLost + case MULTI_B_PRESSED, VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge -VerdanturfTown_BattleTentBattleRoom_EventScript_2024EA:: @ 82024EA - applymovement 3, Common_Movement_WalkInPlaceRight - applymovement 1, Common_Movement_WalkInPlaceRight +VerdanturfTown_BattleTentBattleRoom_EventScript_ContinueChallenge:: @ 82024EA + applymovement 3, Common_Movement_WalkInPlaceFastestRight + applymovement 1, Common_Movement_WalkInPlaceFastestRight waitmovement 0 closemessage - goto VerdanturfTown_BattleTentBattleRoom_EventScript_20236F + goto VerdanturfTown_BattleTentBattleRoom_EventScript_NextOpponentEnter -VerdanturfTown_BattleTentBattleRoom_EventScript_202501:: @ 8202501 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 3 - special CallFrontierUtilFunc +VerdanturfTown_BattleTentBattleRoom_EventScript_WarpToLobbyWon:: @ 8202501 + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON special LoadPlayerParty warp MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6 waitstate -VerdanturfTown_BattleTentBattleRoom_EventScript_20251F:: @ 820251F - message VerdanturfTown_BattleTentBattleRoom_Text_25007E +VerdanturfTown_BattleTentBattleRoom_EventScript_PauseChallenge:: @ 820251F + message BattleFrontier_BattlePalaceBattleRoom_Text_SavingData waitmessage - setvar VAR_0x8004, 5 - setvar VAR_0x8005, 2 - special sub_81B99B4 + verdanturftent_save CHALLENGE_STATUS_PAUSED playse SE_SAVE waitse - fadescreen 1 - setvar VAR_0x8004, 4 - special CallFrontierUtilFunc + fadescreen FADE_TO_BLACK + frontier_reset end -VerdanturfTown_BattleTentBattleRoom_MapScript2_202541: @ 8202541 - map_script_2 VAR_TEMP_1, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_20254B +VerdanturfTown_BattleTentBattleRoom_OnWarp: @ 8202541 + map_script_2 VAR_TEMP_1, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_SetUpObjects .2byte 0 -VerdanturfTown_BattleTentBattleRoom_EventScript_20254B:: @ 820254B +VerdanturfTown_BattleTentBattleRoom_EventScript_SetUpObjects:: @ 820254B hideobjectat 1, MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM - call VerdanturfTown_BattleTentBattleRoom_EventScript_202310 + call VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfx setvar VAR_TEMP_1, 1 - applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentBattleRoom_Movement_202573 + applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentBattleRoom_Movement_SetInvisible removeobject 2 end -VerdanturfTown_BattleTentBattleRoom_EventScript_202565:: @ 8202565 - message VerdanturfTown_BattleTentBattleRoom_Text_24FF28 +VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor2ndOpponent:: @ 8202565 + message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor2ndOpponent waitmessage return -VerdanturfTown_BattleTentBattleRoom_EventScript_20256C:: @ 820256C - message VerdanturfTown_BattleTentBattleRoom_Text_24FF54 +VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor3rdOpponent:: @ 820256C + message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor3rdOpponent waitmessage return -VerdanturfTown_BattleTentBattleRoom_Movement_202573: @ 8202573 +VerdanturfTown_BattleTentBattleRoom_Movement_SetInvisible: @ 8202573 set_invisible step_end -VerdanturfTown_BattleTentBattleRoom_Movement_202575: @ 8202575 +VerdanturfTown_BattleTentBattleRoom_Movement_PlayerEnter: @ 8202575 set_visible walk_up walk_up @@ -183,7 +163,7 @@ VerdanturfTown_BattleTentBattleRoom_Movement_202575: @ 8202575 face_right step_end -VerdanturfTown_BattleTentBattleRoom_Movement_20257B: @ 820257B +VerdanturfTown_BattleTentBattleRoom_Movement_OpponentEnter: @ 820257B walk_down walk_down walk_down @@ -191,7 +171,7 @@ VerdanturfTown_BattleTentBattleRoom_Movement_20257B: @ 820257B face_left step_end -VerdanturfTown_BattleTentBattleRoom_Movement_202581: @ 8202581 +VerdanturfTown_BattleTentBattleRoom_Movement_OpponentExit: @ 8202581 walk_up walk_up walk_up diff --git a/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc b/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc index 907ef3fd62..05991bef03 100644 --- a/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc @@ -1,21 +1,21 @@ VerdanturfTown_BattleTentCorridor_MapScripts:: @ 820208A - map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentCorridor_MapScript2_202090 + map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentCorridor_OnFrame .byte 0 -VerdanturfTown_BattleTentCorridor_MapScript2_202090: @ 8202090 - map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentCorridor_EventScript_20209A +VerdanturfTown_BattleTentCorridor_OnFrame: @ 8202090 + map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentCorridor_EventScript_EnterCorridor .2byte 0 -VerdanturfTown_BattleTentCorridor_EventScript_20209A:: @ 820209A +VerdanturfTown_BattleTentCorridor_EventScript_EnterCorridor:: @ 820209A lockall setvar VAR_TEMP_0, 1 - applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_2020DE - applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_2020DE + applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_WalkToDoor + applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_WalkToDoor waitmovement 0 opendoor 2, 1 waitdooranim - applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_2020E4 - applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_2020E3 + applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_AttendantEnterDoor + applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_PlayerEnterDoor waitmovement 0 closedoor 2, 1 waitdooranim @@ -25,22 +25,24 @@ VerdanturfTown_BattleTentCorridor_EventScript_20209A:: @ 820209A releaseall end -VerdanturfTown_BattleTentCorridor_Movement_2020DE: @ 82020DE +VerdanturfTown_BattleTentCorridor_Movement_WalkToDoor: @ 82020DE walk_up walk_up walk_up walk_up step_end -VerdanturfTown_BattleTentCorridor_Movement_2020E3: @ 82020E3 +VerdanturfTown_BattleTentCorridor_Movement_PlayerEnterDoor: @ 82020E3 walk_up - -VerdanturfTown_BattleTentCorridor_Movement_2020E4: @ 82020E4 +VerdanturfTown_BattleTentCorridor_Movement_AttendantEnterDoor: @ 82020E4 walk_up set_invisible step_end -VerdanturfTown_BattleTentCorridor_Text_2020E7: @ 82020E7 + +@ Leftover text from when this was a Contest Hall in R/S +@ Unused +VerdanturfTown_ContestHall_Text_WhichContestYouEntering: @ 82020E7 .string "Which CONTEST are you entering?\n" .string "Want a piece of advice?\p" .string "In any CONTEST, for example, a CUTE\n" @@ -49,21 +51,24 @@ VerdanturfTown_BattleTentCorridor_Text_2020E7: @ 82020E7 .string "You need to work out ways for raising\n" .string "POKéMON better.$" -VerdanturfTown_BattleTentCorridor_Text_2021C4: @ 82021C4 +@ Unused +VerdanturfTown_ContestHall_Text_RaisedMonToBeCute: @ 82021C4 .string "I raised my POKéMON to be cute.\p" .string "I found out you can put POKéMON in\n" .string "a CONTEST for cuteness!\p" .string "I'm so glad I raised my POKéMON with\n" .string "loving care…$" -VerdanturfTown_BattleTentCorridor_Text_202251: @ 8202251 +@ Unused +VerdanturfTown_ContestHall_Text_MyMonRules: @ 8202251 .string "My POKéMON rules!\p" .string "It's cool, tough yet beautiful, cute,\n" .string "and smart. It's complete!\p" .string "I may as well go for wins in every\n" .string "single CONTEST.$" -VerdanturfTown_BattleTentCorridor_Text_2022D6: @ 82022D6 +@ Unused +VerdanturfTown_ContestHall_Text_NormalRankStage: @ 82022D6 .string "POKéMON CONTESTS\n" .string "NORMAL RANK STAGE!$" diff --git a/data/maps/VerdanturfTown_BattleTentLobby/map.json b/data/maps/VerdanturfTown_BattleTentLobby/map.json index 2a56602716..adc0be316e 100644 --- a/data/maps/VerdanturfTown_BattleTentLobby/map.json +++ b/data/maps/VerdanturfTown_BattleTentLobby/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_BattleTentLobby_EventScript_201873", + "script": "VerdanturfTown_BattleTentLobby_EventScript_Attendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_BattleTentLobby_EventScript_201A7B", + "script": "VerdanturfTown_BattleTentLobby_EventScript_AttractGiver", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_BattleTentLobby_EventScript_201ABC", + "script": "VerdanturfTown_BattleTentLobby_EventScript_Boy1", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_BattleTentLobby_EventScript_201AC5", + "script": "VerdanturfTown_BattleTentLobby_EventScript_Boy2", "flag": "0" }, { @@ -76,7 +76,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_BattleTentLobby_EventScript_201AD0", + "script": "VerdanturfTown_BattleTentLobby_EventScript_Scott", "flag": "FLAG_HIDE_VERDANTURF_TOWN_SCOTT" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_BattleTentLobby_EventScript_201AF7", + "script": "VerdanturfTown_BattleTentLobby_EventScript_LittleBoy", "flag": "0" } ], @@ -117,7 +117,7 @@ "y": 5, "elevation": 0, "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", - "script": "VerdanturfTown_BattleTentLobby_EventScript_201B02" + "script": "VerdanturfTown_BattleTentLobby_EventScript_RulesBoard" } ] } \ No newline at end of file diff --git a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc index daaaaea1b6..8a0de33f5c 100644 --- a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc @@ -1,386 +1,336 @@ VerdanturfTown_BattleTentLobby_MapScripts:: @ 82016D0 - map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentLobby_MapScript2_2016EF - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, VerdanturfTown_BattleTentLobby_MapScript2_2016DB + map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentLobby_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, VerdanturfTown_BattleTentLobby_OnWarp .byte 0 -VerdanturfTown_BattleTentLobby_MapScript2_2016DB: @ 82016DB - map_script_2 VAR_TEMP_1, 0, VerdanturfTown_BattleTentLobby_EventScript_2016E5 +VerdanturfTown_BattleTentLobby_OnWarp: @ 82016DB + map_script_2 VAR_TEMP_1, 0, VerdanturfTown_BattleTentLobby_EventScript_TurnPlayerNorth .2byte 0 -VerdanturfTown_BattleTentLobby_EventScript_2016E5:: @ 82016E5 +VerdanturfTown_BattleTentLobby_EventScript_TurnPlayerNorth:: @ 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 - map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentLobby_EventScript_201719 - map_script_2 VAR_TEMP_0, 1, VerdanturfTown_BattleTentLobby_EventScript_201722 - map_script_2 VAR_TEMP_0, 2, VerdanturfTown_BattleTentLobby_EventScript_201837 - map_script_2 VAR_TEMP_0, 3, VerdanturfTown_BattleTentLobby_EventScript_201757 - map_script_2 VAR_TEMP_0, 4, VerdanturfTown_BattleTentLobby_EventScript_2017FD +VerdanturfTown_BattleTentLobby_OnFrame: @ 82016EF + map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, VerdanturfTown_BattleTentLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, VerdanturfTown_BattleTentLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, VerdanturfTown_BattleTentLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, VerdanturfTown_BattleTentLobby_EventScript_LostChallenge .2byte 0 -VerdanturfTown_BattleTentLobby_EventScript_201719:: @ 8201719 - setvar VAR_0x8004, 0 - special CallFrontierUtilFunc +VerdanturfTown_BattleTentLobby_EventScript_GetChallengeStatus:: @ 8201719 + frontier_getstatus end -VerdanturfTown_BattleTentLobby_EventScript_201722:: @ 8201722 +VerdanturfTown_BattleTentLobby_EventScript_QuitWithoutSaving:: @ 8201722 lockall - msgbox VerdanturfTown_BattleTentLobby_Text_24E636, MSGBOX_DEFAULT + msgbox BattleFrontier_BattlePalaceLobby_Text_FailedToSaveBeforeEndingChallenge, MSGBOX_DEFAULT closemessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 setvar VAR_TEMP_0, 255 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50 releaseall end -VerdanturfTown_BattleTentLobby_EventScript_201757:: @ 8201757 +VerdanturfTown_BattleTentLobby_EventScript_WonChallenge:: @ 8201757 lockall - msgbox VerdanturfTown_BattleTentLobby_Text_2C5731, MSGBOX_DEFAULT - message VerdanturfTown_BattleTentLobby_Text_2C5791 + msgbox VerdanturfTown_BattleTentLobby_Text_AchievedThreeWinStreak, MSGBOX_DEFAULT + message VerdanturfTown_BattleTentLobby_Text_FeatWillBeRecorded waitmessage - setvar VAR_0x8004, 6 - special sub_81B99B4 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - setvar VAR_0x8004, 5 - setvar VAR_0x8005, 0 - special sub_81B99B4 + verdanturftent_setrandomprize + frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50 + verdanturftent_save 0 playse SE_SAVE waitse -VerdanturfTown_BattleTentLobby_EventScript_201791:: @ 8201791 - msgbox VerdanturfTown_BattleTentLobby_Text_2C57CD, MSGBOX_DEFAULT - setvar VAR_0x8004, 7 - special sub_81B99B4 +VerdanturfTown_BattleTentLobby_EventScript_GivePrize:: @ 8201791 + msgbox VerdanturfTown_BattleTentLobby_Text_PresentYouWithPrize, MSGBOX_DEFAULT + verdanturftent_giveprize switch VAR_RESULT - case 0, VerdanturfTown_BattleTentLobby_EventScript_2017DD - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - message VerdanturfTown_BattleTentLobby_Text_24A554 + case FALSE, VerdanturfTown_BattleTentLobby_EventScript_NoRoomForPrize + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 + message BattleFrontier_BattleDomeLobby_Text_ReceivedPrize @ Odd that it used Dome's copy instead of Palace's waitmessage playfanfare MUS_FANFA4 waitfanfare - msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, MSGBOX_DEFAULT + msgbox VerdanturfTown_BattleTentLobby_Text_ReturnFortified, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 releaseall end -VerdanturfTown_BattleTentLobby_EventScript_2017DD:: @ 82017DD - msgbox VerdanturfTown_BattleTentLobby_Text_24E57B, MSGBOX_DEFAULT +VerdanturfTown_BattleTentLobby_EventScript_NoRoomForPrize:: @ 82017DD + msgbox BattleFrontier_BattlePalaceLobby_Text_NoSpaceForPrize, MSGBOX_DEFAULT waitmessage closemessage setvar VAR_TEMP_0, 255 releaseall end -VerdanturfTown_BattleTentLobby_EventScript_2017EE:: @ 82017EE +VerdanturfTown_BattleTentLobby_EventScript_PrizeWaiting:: @ 82017EE lockall - msgbox VerdanturfTown_BattleTentLobby_Text_2C5731, MSGBOX_DEFAULT - goto VerdanturfTown_BattleTentLobby_EventScript_201791 + msgbox VerdanturfTown_BattleTentLobby_Text_AchievedThreeWinStreak, MSGBOX_DEFAULT + goto VerdanturfTown_BattleTentLobby_EventScript_GivePrize end -VerdanturfTown_BattleTentLobby_EventScript_2017FD:: @ 82017FD +VerdanturfTown_BattleTentLobby_EventScript_LostChallenge:: @ 82017FD lockall - message VerdanturfTown_BattleTentLobby_Text_2C56B8 + message VerdanturfTown_BattleTentLobby_Text_ResultsWillBeRecorded waitmessage - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - setvar VAR_0x8004, 5 - setvar VAR_0x8005, 0 - special sub_81B99B4 + frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50 + verdanturftent_save 0 playse SE_SAVE waitse - msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, MSGBOX_DEFAULT + msgbox VerdanturfTown_BattleTentLobby_Text_ReturnFortified, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_0, 255 releaseall end -VerdanturfTown_BattleTentLobby_EventScript_201837:: @ 8201837 +VerdanturfTown_BattleTentLobby_EventScript_ResumeChallenge:: @ 8201837 lockall - msgbox VerdanturfTown_BattleTentLobby_Text_24E5D8, MSGBOX_DEFAULT - message VerdanturfTown_BattleTentLobby_Text_24E5F6 + msgbox BattleFrontier_BattlePalaceLobby_Text_WeHaveBeenWaiting, MSGBOX_DEFAULT + message BattleFrontier_BattlePalaceLobby_Text_MustSaveBeforeChallenge waitmessage - setvar VAR_0x8004, 5 - setvar VAR_0x8005, 1 - special sub_81B99B4 + verdanturftent_save CHALLENGE_STATUS_SAVING playse SE_SAVE waitse - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_PAUSED, FALSE setvar VAR_TEMP_0, 255 - goto VerdanturfTown_BattleTentLobby_EventScript_2019AE + goto VerdanturfTown_BattleTentLobby_EventScript_EnterChallenge -VerdanturfTown_BattleTentLobby_EventScript_201873:: @ 8201873 +VerdanturfTown_BattleTentLobby_EventScript_Attendant:: @ 8201873 lock faceplayer - setvar VAR_0x8004, 1 - special sub_81B99B4 - compare VAR_RESULT, 0 - goto_if_ne VerdanturfTown_BattleTentLobby_EventScript_2017EE + verdanturftent_getprize + compare VAR_RESULT, ITEM_NONE + goto_if_ne VerdanturfTown_BattleTentLobby_EventScript_PrizeWaiting special SavePlayerParty - msgbox VerdanturfTown_BattleTentLobby_Text_2C50C3, MSGBOX_DEFAULT - -VerdanturfTown_BattleTentLobby_EventScript_201893:: @ 8201893 - message VerdanturfTown_BattleTentLobby_Text_2C5129 + msgbox VerdanturfTown_BattleTentLobby_Text_WelcomeToBattleTent, MSGBOX_DEFAULT +VerdanturfTown_BattleTentLobby_EventScript_AskEnterChallenge:: @ 8201893 + message VerdanturfTown_BattleTentLobby_Text_TakeChallenge waitmessage - multichoice 17, 6, 23, 0 + multichoice 17, 6, MULTI_CHALLENGEINFO, 0 switch VAR_RESULT - case 0, VerdanturfTown_BattleTentLobby_EventScript_2018CF - case 1, VerdanturfTown_BattleTentLobby_EventScript_2019DB - case 2, VerdanturfTown_BattleTentLobby_EventScript_201A37 - case 127, VerdanturfTown_BattleTentLobby_EventScript_201A37 + case 0, VerdanturfTown_BattleTentLobby_EventScript_TryEnterChallenge + case 1, VerdanturfTown_BattleTentLobby_EventScript_ExplainChallenge + case 2, VerdanturfTown_BattleTentLobby_EventScript_CancelChallenge + case MULTI_B_PRESSED, VerdanturfTown_BattleTentLobby_EventScript_CancelChallenge -VerdanturfTown_BattleTentLobby_EventScript_2018CF:: @ 82018CF - setvar VAR_FRONTIER_FACILITY, 2 - setvar VAR_FRONTIER_BATTLE_MODE, 0 +VerdanturfTown_BattleTentLobby_EventScript_TryEnterChallenge:: @ 82018CF + setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PALACE + setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES setvar VAR_RESULT, 2 - setvar VAR_0x8004, 15 - special CallFrontierUtilFunc - compare VAR_0x8004, 1 - goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_2019E8 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 2 - special CallFrontierUtilFunc - msgbox VerdanturfTown_BattleTentLobby_Text_2C5633, MSGBOX_DEFAULT - fadescreen 1 + frontier_checkineligible + compare VAR_0x8004, TRUE + goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_NotEnoughValidMons + frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_TENT + msgbox VerdanturfTown_BattleTentLobby_Text_SelectThreeMons, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK setvar VAR_0x8004, 1 - setvar VAR_0x8005, 3 - special sub_80F9490 + setvar VAR_0x8005, FRONTIER_PARTY_SIZE + special ChoosePartyForBattleFrontier waitstate compare VAR_RESULT, 0 - goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_201A34 - msgbox VerdanturfTown_BattleTentLobby_Text_2C5662, MSGBOX_YESNO + goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge + msgbox VerdanturfTown_BattleTentLobby_Text_SaveBeforeChallenge, MSGBOX_YESNO switch VAR_RESULT - case 0, VerdanturfTown_BattleTentLobby_EventScript_201A34 - case 1, VerdanturfTown_BattleTentLobby_EventScript_201954 - case 127, VerdanturfTown_BattleTentLobby_EventScript_201A34 + case NO, VerdanturfTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge + case YES, VerdanturfTown_BattleTentLobby_EventScript_SaveBeforeChallenge + case MULTI_B_PRESSED, VerdanturfTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge -VerdanturfTown_BattleTentLobby_EventScript_201954:: @ 8201954 +VerdanturfTown_BattleTentLobby_EventScript_SaveBeforeChallenge:: @ 8201954 setvar VAR_TEMP_0, 0 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 4 - special CallFrontierUtilFunc - setvar VAR_0x8004, 0 - special sub_81B99B4 - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 1 - special CallFrontierUtilFunc - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 3 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc + frontier_set FRONTIER_DATA_SELECTED_MON_ORDER + verdanturftent_init + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING + frontier_set FRONTIER_DATA_PAUSED, FALSE special LoadPlayerParty closemessage delay 2 call Common_EventScript_SaveGame setvar VAR_TEMP_0, 255 compare VAR_RESULT, 0 - goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_201A1D - -VerdanturfTown_BattleTentLobby_EventScript_2019AE:: @ 82019AE + goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed +VerdanturfTown_BattleTentLobby_EventScript_EnterChallenge:: @ 82019AE special SavePlayerParty - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 3 - special CallFrontierUtilFunc - msgbox VerdanturfTown_BattleTentLobby_Text_2C56A2, MSGBOX_DEFAULT + frontier_setpartyorder FRONTIER_PARTY_SIZE + msgbox VerdanturfTown_BattleTentLobby_Text_NowFollowMe, MSGBOX_DEFAULT closemessage - call VerdanturfTown_BattleTentLobby_EventScript_201A41 + call VerdanturfTown_BattleTentLobby_EventScript_WalkToDoor warp MAP_VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR, 255, 2, 7 setvar VAR_TEMP_0, 0 waitstate end -VerdanturfTown_BattleTentLobby_EventScript_2019DB:: @ 82019DB - msgbox VerdanturfTown_BattleTentLobby_Text_2C5163, MSGBOX_DEFAULT - goto VerdanturfTown_BattleTentLobby_EventScript_201893 +VerdanturfTown_BattleTentLobby_EventScript_ExplainChallenge:: @ 82019DB + msgbox VerdanturfTown_BattleTentLobby_Text_ExplainVerdanturfTent, MSGBOX_DEFAULT + goto VerdanturfTown_BattleTentLobby_EventScript_AskEnterChallenge -VerdanturfTown_BattleTentLobby_EventScript_2019E8:: @ 82019E8 +VerdanturfTown_BattleTentLobby_EventScript_NotEnoughValidMons:: @ 82019E8 switch VAR_RESULT - case 0, VerdanturfTown_BattleTentLobby_EventScript_201A03 - case 1, VerdanturfTown_BattleTentLobby_EventScript_201A10 + case FRONTIER_LVL_50, VerdanturfTown_BattleTentLobby_EventScript_NotEnoughValidMonsLv50 + case FRONTIER_LVL_OPEN, VerdanturfTown_BattleTentLobby_EventScript_NotEnoughValidMonsLvOpen -VerdanturfTown_BattleTentLobby_EventScript_201A03:: @ 8201A03 - msgbox VerdanturfTown_BattleTentLobby_Text_2C543D, MSGBOX_DEFAULT - goto VerdanturfTown_BattleTentLobby_EventScript_201A3F +VerdanturfTown_BattleTentLobby_EventScript_NotEnoughValidMonsLv50:: @ 8201A03 + msgbox VerdanturfTown_BattleTentLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT + goto VerdanturfTown_BattleTentLobby_EventScript_EndCancelChallenge -VerdanturfTown_BattleTentLobby_EventScript_201A10:: @ 8201A10 - msgbox VerdanturfTown_BattleTentLobby_Text_2C5538, MSGBOX_DEFAULT - goto VerdanturfTown_BattleTentLobby_EventScript_201A3F +VerdanturfTown_BattleTentLobby_EventScript_NotEnoughValidMonsLvOpen:: @ 8201A10 + msgbox VerdanturfTown_BattleTentLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT + goto VerdanturfTown_BattleTentLobby_EventScript_EndCancelChallenge -VerdanturfTown_BattleTentLobby_EventScript_201A1D:: @ 8201A1D - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - setvar VAR_0x8006, 0 - special CallFrontierUtilFunc - goto VerdanturfTown_BattleTentLobby_EventScript_201A37 +VerdanturfTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed:: @ 8201A1D + frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 + goto VerdanturfTown_BattleTentLobby_EventScript_CancelChallenge -VerdanturfTown_BattleTentLobby_EventScript_201A34:: @ 8201A34 +VerdanturfTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge:: @ 8201A34 special LoadPlayerParty - -VerdanturfTown_BattleTentLobby_EventScript_201A37:: @ 8201A37 - msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, MSGBOX_DEFAULT - -VerdanturfTown_BattleTentLobby_EventScript_201A3F:: @ 8201A3F +VerdanturfTown_BattleTentLobby_EventScript_CancelChallenge:: @ 8201A37 + msgbox VerdanturfTown_BattleTentLobby_Text_ReturnFortified, MSGBOX_DEFAULT +VerdanturfTown_BattleTentLobby_EventScript_EndCancelChallenge:: @ 8201A3F release end -VerdanturfTown_BattleTentLobby_EventScript_201A41:: @ 8201A41 - applymovement 1, VerdanturfTown_BattleTentLobby_Movement_201A70 - applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_201A70 +VerdanturfTown_BattleTentLobby_EventScript_WalkToDoor:: @ 8201A41 + applymovement 1, VerdanturfTown_BattleTentLobby_Movement_WalkToDoor + applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_WalkToDoor waitmovement 0 opendoor 6, 1 waitdooranim - applymovement 1, VerdanturfTown_BattleTentLobby_Movement_201A74 - applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_201A77 + applymovement 1, VerdanturfTown_BattleTentLobby_Movement_AttendantEnterDoor + applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_PlayerEnterDoor waitmovement 0 closedoor 6, 1 waitdooranim return -VerdanturfTown_BattleTentLobby_Movement_201A70: @ 8201A70 +VerdanturfTown_BattleTentLobby_Movement_WalkToDoor: @ 8201A70 walk_up walk_up walk_up step_end -VerdanturfTown_BattleTentLobby_Movement_201A74: @ 8201A74 +VerdanturfTown_BattleTentLobby_Movement_AttendantEnterDoor: @ 8201A74 walk_up set_invisible step_end -VerdanturfTown_BattleTentLobby_Movement_201A77: @ 8201A77 +VerdanturfTown_BattleTentLobby_Movement_PlayerEnterDoor: @ 8201A77 walk_up walk_up set_invisible step_end -VerdanturfTown_BattleTentLobby_EventScript_201A7B:: @ 8201A7B +VerdanturfTown_BattleTentLobby_EventScript_AttractGiver:: @ 8201A7B lock faceplayer - goto_if_set FLAG_RECEIVED_TM45, VerdanturfTown_BattleTentLobby_EventScript_201AB2 - msgbox VerdanturfTown_BattleTentLobby_Text_201D9E, MSGBOX_DEFAULT - giveitem_std ITEM_TM45 + goto_if_set FLAG_RECEIVED_TM45, VerdanturfTown_BattleTentLobby_EventScript_ReceivedAttract + msgbox VerdanturfTown_BattleTentLobby_Text_AttractionRunsDeep, MSGBOX_DEFAULT + giveitem ITEM_TM45 compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_TM45 - msgbox VerdanturfTown_BattleTentLobby_Text_201E43, MSGBOX_DEFAULT + msgbox VerdanturfTown_BattleTentLobby_Text_AttractionMutual, MSGBOX_DEFAULT release end -VerdanturfTown_BattleTentLobby_EventScript_201AB2:: @ 8201AB2 - msgbox VerdanturfTown_BattleTentLobby_Text_201E43, MSGBOX_DEFAULT +VerdanturfTown_BattleTentLobby_EventScript_ReceivedAttract:: @ 8201AB2 + msgbox VerdanturfTown_BattleTentLobby_Text_AttractionMutual, MSGBOX_DEFAULT release end -VerdanturfTown_BattleTentLobby_EventScript_201ABC:: @ 8201ABC - msgbox VerdanturfTown_BattleTentLobby_Text_201EB1, MSGBOX_NPC +VerdanturfTown_BattleTentLobby_EventScript_Boy1:: @ 8201ABC + msgbox VerdanturfTown_BattleTentLobby_Text_TaughtWhatKindsOfMoves, MSGBOX_NPC end -VerdanturfTown_BattleTentLobby_EventScript_201AC5:: @ 8201AC5 +VerdanturfTown_BattleTentLobby_EventScript_Boy2:: @ 8201AC5 lock - msgbox VerdanturfTown_BattleTentLobby_Text_201BD4, MSGBOX_DEFAULT + msgbox VerdanturfTown_BattleTentLobby_Text_MonsReluctantToUseDislikedMoves, MSGBOX_DEFAULT release end -VerdanturfTown_BattleTentLobby_EventScript_201AD0:: @ 8201AD0 +VerdanturfTown_BattleTentLobby_EventScript_Scott:: @ 8201AD0 lock faceplayer - goto_if_set FLAG_MET_SCOTT_IN_VERDANTURF, VerdanturfTown_BattleTentLobby_EventScript_201AED - msgbox VerdanturfTown_BattleTentLobby_Text_201F3F, MSGBOX_DEFAULT + goto_if_set FLAG_MET_SCOTT_IN_VERDANTURF, VerdanturfTown_BattleTentLobby_EventScript_ScottAlreadySpokenTo + msgbox VerdanturfTown_BattleTentLobby_Text_ScottCanMeetToughTrainers, MSGBOX_DEFAULT addvar VAR_SCOTT_STATE, 1 setflag FLAG_MET_SCOTT_IN_VERDANTURF release end -VerdanturfTown_BattleTentLobby_EventScript_201AED:: @ 8201AED - msgbox VerdanturfTown_BattleTentLobby_Text_202025, MSGBOX_DEFAULT +VerdanturfTown_BattleTentLobby_EventScript_ScottAlreadySpokenTo:: @ 8201AED + msgbox VerdanturfTown_BattleTentLobby_Text_ScottVisitRegularly, MSGBOX_DEFAULT release end -VerdanturfTown_BattleTentLobby_EventScript_201AF7:: @ 8201AF7 +VerdanturfTown_BattleTentLobby_EventScript_LittleBoy:: @ 8201AF7 lock - msgbox VerdanturfTown_BattleTentLobby_Text_201D11, MSGBOX_DEFAULT + msgbox VerdanturfTown_BattleTentLobby_Text_GentleMonsScaryIfAngry, MSGBOX_DEFAULT release end -VerdanturfTown_BattleTentLobby_EventScript_201B02:: @ 8201B02 +VerdanturfTown_BattleTentLobby_EventScript_RulesBoard:: @ 8201B02 lockall - msgbox VerdanturfTown_BattleTentLobby_Text_2C6878, MSGBOX_DEFAULT - goto VerdanturfTown_BattleTentLobby_EventScript_201B11 + msgbox VerdanturfTown_BattleTentLobby_Text_RulesAreListed, MSGBOX_DEFAULT + goto VerdanturfTown_BattleTentLobby_EventScript_ReadRulesBoard end -VerdanturfTown_BattleTentLobby_EventScript_201B11:: @ 8201B11 - message VerdanturfTown_BattleTentLobby_Text_24EF88 +VerdanturfTown_BattleTentLobby_EventScript_ReadRulesBoard:: @ 8201B11 + message BattleFrontier_BattlePalaceLobby_Text_ReadWhichHeading waitmessage - setvar VAR_0x8004, 12 - special sub_813A128 + setvar VAR_0x8004, SCROLL_MULTI_BATTLE_TENT_RULES + special ShowScrollableMultichoice waitstate switch VAR_RESULT - case 0, VerdanturfTown_BattleTentLobby_EventScript_201B7E - case 1, VerdanturfTown_BattleTentLobby_EventScript_201B8C - case 2, VerdanturfTown_BattleTentLobby_EventScript_201B9A - case 3, VerdanturfTown_BattleTentLobby_EventScript_201BA8 - case 4, VerdanturfTown_BattleTentLobby_EventScript_201BB6 - case 5, VerdanturfTown_BattleTentLobby_EventScript_201BC4 - case 6, VerdanturfTown_BattleTentLobby_EventScript_201BD2 - case 127, VerdanturfTown_BattleTentLobby_EventScript_201BD2 + case 0, VerdanturfTown_BattleTentLobby_EventScript_RulesLevel + case 1, VerdanturfTown_BattleTentLobby_EventScript_RulesBasics + case 2, VerdanturfTown_BattleTentLobby_EventScript_RulesNature + case 3, VerdanturfTown_BattleTentLobby_EventScript_RulesMoves + case 4, VerdanturfTown_BattleTentLobby_EventScript_RulesUnderpowered + case 5, VerdanturfTown_BattleTentLobby_EventScript_RulesWhenInDanger + case 6, VerdanturfTown_BattleTentLobby_EventScript_ExitRules + case MULTI_B_PRESSED, VerdanturfTown_BattleTentLobby_EventScript_ExitRules end -VerdanturfTown_BattleTentLobby_EventScript_201B7E:: @ 8201B7E - msgbox VerdanturfTown_BattleTentLobby_Text_2C67CD, MSGBOX_DEFAULT - goto VerdanturfTown_BattleTentLobby_EventScript_201B11 +VerdanturfTown_BattleTentLobby_EventScript_RulesLevel:: @ 8201B7E + msgbox BattleTentLobby_Text_ExplainLevelRules, MSGBOX_DEFAULT + goto VerdanturfTown_BattleTentLobby_EventScript_ReadRulesBoard end -VerdanturfTown_BattleTentLobby_EventScript_201B8C:: @ 8201B8C - msgbox VerdanturfTown_BattleTentLobby_Text_24EFAB, MSGBOX_DEFAULT - goto VerdanturfTown_BattleTentLobby_EventScript_201B11 +VerdanturfTown_BattleTentLobby_EventScript_RulesBasics:: @ 8201B8C + msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesBasics, MSGBOX_DEFAULT + goto VerdanturfTown_BattleTentLobby_EventScript_ReadRulesBoard end -VerdanturfTown_BattleTentLobby_EventScript_201B9A:: @ 8201B9A - msgbox VerdanturfTown_BattleTentLobby_Text_24F049, MSGBOX_DEFAULT - goto VerdanturfTown_BattleTentLobby_EventScript_201B11 +VerdanturfTown_BattleTentLobby_EventScript_RulesNature:: @ 8201B9A + msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesNature, MSGBOX_DEFAULT + goto VerdanturfTown_BattleTentLobby_EventScript_ReadRulesBoard end -VerdanturfTown_BattleTentLobby_EventScript_201BA8:: @ 8201BA8 - msgbox VerdanturfTown_BattleTentLobby_Text_24F190, MSGBOX_DEFAULT - goto VerdanturfTown_BattleTentLobby_EventScript_201B11 +VerdanturfTown_BattleTentLobby_EventScript_RulesMoves:: @ 8201BA8 + msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesMoves, MSGBOX_DEFAULT + goto VerdanturfTown_BattleTentLobby_EventScript_ReadRulesBoard end -VerdanturfTown_BattleTentLobby_EventScript_201BB6:: @ 8201BB6 - msgbox VerdanturfTown_BattleTentLobby_Text_24F2E8, MSGBOX_DEFAULT - goto VerdanturfTown_BattleTentLobby_EventScript_201B11 +VerdanturfTown_BattleTentLobby_EventScript_RulesUnderpowered:: @ 8201BB6 + msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesUnderpowered, MSGBOX_DEFAULT + goto VerdanturfTown_BattleTentLobby_EventScript_ReadRulesBoard end -VerdanturfTown_BattleTentLobby_EventScript_201BC4:: @ 8201BC4 - msgbox VerdanturfTown_BattleTentLobby_Text_24F3F4, MSGBOX_DEFAULT - goto VerdanturfTown_BattleTentLobby_EventScript_201B11 +VerdanturfTown_BattleTentLobby_EventScript_RulesWhenInDanger:: @ 8201BC4 + msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesWhenInDanger, MSGBOX_DEFAULT + goto VerdanturfTown_BattleTentLobby_EventScript_ReadRulesBoard end -VerdanturfTown_BattleTentLobby_EventScript_201BD2:: @ 8201BD2 +VerdanturfTown_BattleTentLobby_EventScript_ExitRules:: @ 8201BD2 releaseall end -VerdanturfTown_BattleTentLobby_Text_201BD4: @ 8201BD4 +VerdanturfTown_BattleTentLobby_Text_MonsReluctantToUseDislikedMoves: @ 8201BD4 .string "If it doesn't like a certain move,\n" .string "a POKéMON will be reluctant to use it.\p" .string "It doesn't matter how strong it is,\n" @@ -392,14 +342,14 @@ VerdanturfTown_BattleTentLobby_Text_201BD4: @ 8201BD4 .string "potential, it's probably failing at\l" .string "using a disliked move against its will.$" -VerdanturfTown_BattleTentLobby_Text_201D11: @ 8201D11 +VerdanturfTown_BattleTentLobby_Text_GentleMonsScaryIfAngry: @ 8201D11 .string "My big sister is gentle usually.\n" .string "But when she gets angry,\l" .string "she's really, really scary!\p" .string "I bet a gentle POKéMON will be scary\n" .string "if it gets angry!$" -VerdanturfTown_BattleTentLobby_Text_201D9E: @ 8201D9E +VerdanturfTown_BattleTentLobby_Text_AttractionRunsDeep: @ 8201D9E .string "My feelings toward my POKéMON…\n" .string "The attraction runs deep…\p" .string "Oh, hi, you didn't see that, did you?\n" @@ -407,20 +357,20 @@ VerdanturfTown_BattleTentLobby_Text_201D9E: @ 8201D9E .string "How would you like this TM for\n" .string "your POKéMON?$" -VerdanturfTown_BattleTentLobby_Text_201E43: @ 8201E43 +VerdanturfTown_BattleTentLobby_Text_AttractionMutual: @ 8201E43 .string "My feelings toward my POKéMON…\n" .string "I'm sure the attraction is mutual!\p" .string "They battle exactly the way I want\n" .string "them to!$" -VerdanturfTown_BattleTentLobby_Text_201EB1: @ 8201EB1 +VerdanturfTown_BattleTentLobby_Text_TaughtWhatKindsOfMoves: @ 8201EB1 .string "What kind of moves have you taught\n" .string "your POKéMON?\p" .string "I think you would give yourself\n" .string "an advantage if they knew how to\l" .string "heal or protect themselves.$" -VerdanturfTown_BattleTentLobby_Text_201F3F: @ 8201F3F +VerdanturfTown_BattleTentLobby_Text_ScottCanMeetToughTrainers: @ 8201F3F .string "SCOTT: Hey there, {PLAYER}{KUN}!\n" .string "I thought I might see you here.\p" .string "A BATTLE TENT's a place where\n" @@ -430,7 +380,7 @@ VerdanturfTown_BattleTentLobby_Text_201F3F: @ 8201F3F .string "{PLAYER}{KUN}, I expect you to do\n" .string "the best you can!$" -VerdanturfTown_BattleTentLobby_Text_202025: @ 8202025 +VerdanturfTown_BattleTentLobby_Text_ScottVisitRegularly: @ 8202025 .string "SCOTT: I visit here regularly in hopes\n" .string "of seeing tough TRAINERS in action\l" .string "in whatever the situation.$" diff --git a/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json b/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json index 955e00a83c..fa620e6820 100644 --- a/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json +++ b/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_FriendshipRatersHouse_EventScript_203031", + "script": "VerdanturfTown_FriendshipRatersHouse_EventScript_FriendshipRater", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_FriendshipRatersHouse_EventScript_2030DA", + "script": "VerdanturfTown_FriendshipRatersHouse_EventScript_Pikachu", "flag": "0" } ], diff --git a/data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc b/data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc index 01b1e5030d..993188cb2f 100644 --- a/data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc +++ b/data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc @@ -1,104 +1,104 @@ VerdanturfTown_FriendshipRatersHouse_MapScripts:: @ 8203030 .byte 0 -VerdanturfTown_FriendshipRatersHouse_EventScript_203031:: @ 8203031 +VerdanturfTown_FriendshipRatersHouse_EventScript_FriendshipRater:: @ 8203031 lock faceplayer - msgbox VerdanturfTown_FriendshipRatersHouse_Text_2030ED, MSGBOX_DEFAULT + msgbox VerdanturfTown_FriendshipRatersHouse_Text_SeeHowMuchPokemonLikesYou, MSGBOX_DEFAULT specialvar VAR_RESULT, GetLeadMonFriendshipScore switch VAR_RESULT - case 0, VerdanturfTown_FriendshipRatersHouse_EventScript_203094 - case 1, VerdanturfTown_FriendshipRatersHouse_EventScript_20309E - case 2, VerdanturfTown_FriendshipRatersHouse_EventScript_2030A8 - case 3, VerdanturfTown_FriendshipRatersHouse_EventScript_2030B2 - case 4, VerdanturfTown_FriendshipRatersHouse_EventScript_2030BC - case 5, VerdanturfTown_FriendshipRatersHouse_EventScript_2030C6 - case 6, VerdanturfTown_FriendshipRatersHouse_EventScript_2030D0 + case 0, VerdanturfTown_FriendshipRatersHouse_EventScript_DetestsYou + case 1, VerdanturfTown_FriendshipRatersHouse_EventScript_VeryWary + case 2, VerdanturfTown_FriendshipRatersHouse_EventScript_NotUsedToYou + case 3, VerdanturfTown_FriendshipRatersHouse_EventScript_GettingUsedToYou + case 4, VerdanturfTown_FriendshipRatersHouse_EventScript_LikesYouQuiteALot + case 5, VerdanturfTown_FriendshipRatersHouse_EventScript_VeryHappy + case 6, VerdanturfTown_FriendshipRatersHouse_EventScript_AdoresYou release end -VerdanturfTown_FriendshipRatersHouse_EventScript_203094:: @ 8203094 - msgbox VerdanturfTown_FriendshipRatersHouse_Text_2032DF, MSGBOX_DEFAULT +VerdanturfTown_FriendshipRatersHouse_EventScript_DetestsYou:: @ 8203094 + msgbox VerdanturfTown_FriendshipRatersHouse_Text_DetestsYou, MSGBOX_DEFAULT release end -VerdanturfTown_FriendshipRatersHouse_EventScript_20309E:: @ 820309E - msgbox VerdanturfTown_FriendshipRatersHouse_Text_203288, MSGBOX_DEFAULT +VerdanturfTown_FriendshipRatersHouse_EventScript_VeryWary:: @ 820309E + msgbox VerdanturfTown_FriendshipRatersHouse_Text_VeryWary, MSGBOX_DEFAULT release end -VerdanturfTown_FriendshipRatersHouse_EventScript_2030A8:: @ 82030A8 - msgbox VerdanturfTown_FriendshipRatersHouse_Text_203249, MSGBOX_DEFAULT +VerdanturfTown_FriendshipRatersHouse_EventScript_NotUsedToYou:: @ 82030A8 + msgbox VerdanturfTown_FriendshipRatersHouse_Text_NotUsedToYou, MSGBOX_DEFAULT release end -VerdanturfTown_FriendshipRatersHouse_EventScript_2030B2:: @ 82030B2 - msgbox VerdanturfTown_FriendshipRatersHouse_Text_203213, MSGBOX_DEFAULT +VerdanturfTown_FriendshipRatersHouse_EventScript_GettingUsedToYou:: @ 82030B2 + msgbox VerdanturfTown_FriendshipRatersHouse_Text_GettingUsedToYou, MSGBOX_DEFAULT release end -VerdanturfTown_FriendshipRatersHouse_EventScript_2030BC:: @ 82030BC - msgbox VerdanturfTown_FriendshipRatersHouse_Text_2031D1, MSGBOX_DEFAULT +VerdanturfTown_FriendshipRatersHouse_EventScript_LikesYouQuiteALot:: @ 82030BC + msgbox VerdanturfTown_FriendshipRatersHouse_Text_LikesYouQuiteALot, MSGBOX_DEFAULT release end -VerdanturfTown_FriendshipRatersHouse_EventScript_2030C6:: @ 82030C6 - msgbox VerdanturfTown_FriendshipRatersHouse_Text_203192, MSGBOX_DEFAULT +VerdanturfTown_FriendshipRatersHouse_EventScript_VeryHappy:: @ 82030C6 + msgbox VerdanturfTown_FriendshipRatersHouse_Text_VeryHappy, MSGBOX_DEFAULT release end -VerdanturfTown_FriendshipRatersHouse_EventScript_2030D0:: @ 82030D0 - msgbox VerdanturfTown_FriendshipRatersHouse_Text_203141, MSGBOX_DEFAULT +VerdanturfTown_FriendshipRatersHouse_EventScript_AdoresYou:: @ 82030D0 + msgbox VerdanturfTown_FriendshipRatersHouse_Text_AdoresYou, MSGBOX_DEFAULT release end -VerdanturfTown_FriendshipRatersHouse_EventScript_2030DA:: @ 82030DA +VerdanturfTown_FriendshipRatersHouse_EventScript_Pikachu:: @ 82030DA lock faceplayer waitse playmoncry SPECIES_PIKACHU, 0 - msgbox VerdanturfTown_FriendshipRatersHouse_Text_20334A, MSGBOX_DEFAULT + msgbox VerdanturfTown_FriendshipRatersHouse_Text_Pikachu, MSGBOX_DEFAULT waitmoncry release end -VerdanturfTown_FriendshipRatersHouse_Text_2030ED: @ 82030ED +VerdanturfTown_FriendshipRatersHouse_Text_SeeHowMuchPokemonLikesYou: @ 82030ED .string "Let me see your POKéMON.\n" .string "I'll check to see how much it likes you.\p" .string "Oh.\n" .string "Your POKéMON…$" -VerdanturfTown_FriendshipRatersHouse_Text_203141: @ 8203141 +VerdanturfTown_FriendshipRatersHouse_Text_AdoresYou: @ 8203141 .string "It adores you.\n" .string "It can't possibly love you any more.\l" .string "I even feel happy seeing it.$" -VerdanturfTown_FriendshipRatersHouse_Text_203192: @ 8203192 +VerdanturfTown_FriendshipRatersHouse_Text_VeryHappy: @ 8203192 .string "It seems to be very happy.\n" .string "It obviously likes you a whole lot.$" -VerdanturfTown_FriendshipRatersHouse_Text_2031D1: @ 82031D1 +VerdanturfTown_FriendshipRatersHouse_Text_LikesYouQuiteALot: @ 82031D1 .string "It likes you quite a lot.\n" .string "It seems to want to be babied a little.$" -VerdanturfTown_FriendshipRatersHouse_Text_203213: @ 8203213 +VerdanturfTown_FriendshipRatersHouse_Text_GettingUsedToYou: @ 8203213 .string "It's getting used to you.\n" .string "It seems to believe in you.$" -VerdanturfTown_FriendshipRatersHouse_Text_203249: @ 8203249 +VerdanturfTown_FriendshipRatersHouse_Text_NotUsedToYou: @ 8203249 .string "It's not very used to you yet.\n" .string "It neither loves nor hates you.$" -VerdanturfTown_FriendshipRatersHouse_Text_203288: @ 8203288 +VerdanturfTown_FriendshipRatersHouse_Text_VeryWary: @ 8203288 .string "It's very wary.\n" .string "It has scary viciousness in its eyes.\l" .string "It doesn't like you much at all.$" -VerdanturfTown_FriendshipRatersHouse_Text_2032DF: @ 82032DF +VerdanturfTown_FriendshipRatersHouse_Text_DetestsYou: @ 82032DF .string "This is a little hard for me to say…\p" .string "Your POKéMON simply detests you.\n" .string "Doesn't that make you uncomfortable?$" -VerdanturfTown_FriendshipRatersHouse_Text_20334A: @ 820334A +VerdanturfTown_FriendshipRatersHouse_Text_Pikachu: @ 820334A .string "PIKACHU: Pika pika!$" diff --git a/data/maps/VerdanturfTown_House/map.json b/data/maps/VerdanturfTown_House/map.json index 9a357b4958..f50e62a4e4 100644 --- a/data/maps/VerdanturfTown_House/map.json +++ b/data/maps/VerdanturfTown_House/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_House_EventScript_20335F", + "script": "VerdanturfTown_House_EventScript_Woman1", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_House_EventScript_203368", + "script": "VerdanturfTown_House_EventScript_Woman2", "flag": "0" } ], diff --git a/data/maps/VerdanturfTown_House/scripts.inc b/data/maps/VerdanturfTown_House/scripts.inc index c6028c7841..5f47e52fae 100644 --- a/data/maps/VerdanturfTown_House/scripts.inc +++ b/data/maps/VerdanturfTown_House/scripts.inc @@ -1,21 +1,21 @@ VerdanturfTown_House_MapScripts:: @ 820335E .byte 0 -VerdanturfTown_House_EventScript_20335F:: @ 820335F - msgbox VerdanturfTown_House_Text_203371, MSGBOX_NPC +VerdanturfTown_House_EventScript_Woman1:: @ 820335F + msgbox VerdanturfTown_House_Text_TrainersGatherAtPokemonLeague, MSGBOX_NPC end -VerdanturfTown_House_EventScript_203368:: @ 8203368 - msgbox VerdanturfTown_House_Text_2033EE, MSGBOX_NPC +VerdanturfTown_House_EventScript_Woman2:: @ 8203368 + msgbox VerdanturfTown_House_Text_DefeatEliteFourInARow, MSGBOX_NPC end -VerdanturfTown_House_Text_203371: @ 8203371 +VerdanturfTown_House_Text_TrainersGatherAtPokemonLeague: @ 8203371 .string "Far away, deep in EVER GRANDE CITY,\n" .string "is the POKéMON LEAGUE.\p" .string "The TRAINERS who gather there are\n" .string "all frighteningly well skilled.$" -VerdanturfTown_House_Text_2033EE: @ 82033EE +VerdanturfTown_House_Text_DefeatEliteFourInARow: @ 82033EE .string "In the POKéMON LEAGUE, I think the\n" .string "rules say that you have to battle the\l" .string "ELITE FOUR all in a row.\p" diff --git a/data/maps/VerdanturfTown_Mart/map.json b/data/maps/VerdanturfTown_Mart/map.json index 4f9b8296e5..702a70f3dd 100644 --- a/data/maps/VerdanturfTown_Mart/map.json +++ b/data/maps/VerdanturfTown_Mart/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_Mart_EventScript_202587", + "script": "VerdanturfTown_Mart_EventScript_Clerk", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_Mart_EventScript_2025BA", + "script": "VerdanturfTown_Mart_EventScript_Boy", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_Mart_EventScript_2025C3", + "script": "VerdanturfTown_Mart_EventScript_ExpertF", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_Mart_EventScript_2025CC", + "script": "VerdanturfTown_Mart_EventScript_Lass", "flag": "0" } ], diff --git a/data/maps/VerdanturfTown_Mart/scripts.inc b/data/maps/VerdanturfTown_Mart/scripts.inc index 6457aa626e..cc4694fe1b 100644 --- a/data/maps/VerdanturfTown_Mart/scripts.inc +++ b/data/maps/VerdanturfTown_Mart/scripts.inc @@ -1,18 +1,18 @@ VerdanturfTown_Mart_MapScripts:: @ 8202586 .byte 0 -VerdanturfTown_Mart_EventScript_202587:: @ 8202587 +VerdanturfTown_Mart_EventScript_Clerk:: @ 8202587 lock faceplayer - message gUnknown_08272A21 + message gText_HowMayIServeYou waitmessage - pokemart VerdanturfTown_Mart_Pokemart_2025A0 - msgbox gUnknown_08272A3F, MSGBOX_DEFAULT + pokemart VerdanturfTown_Mart_Pokemart + msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT release end .align 2 -VerdanturfTown_Mart_Pokemart_2025A0: @ 82025A0 +VerdanturfTown_Mart_Pokemart: @ 82025A0 .2byte ITEM_GREAT_BALL .2byte ITEM_NEST_BALL .2byte ITEM_SUPER_POTION @@ -28,31 +28,31 @@ VerdanturfTown_Mart_Pokemart_2025A0: @ 82025A0 release end -VerdanturfTown_Mart_EventScript_2025BA:: @ 82025BA - msgbox VerdanturfTown_Mart_Text_2025D5, MSGBOX_NPC +VerdanturfTown_Mart_EventScript_Boy:: @ 82025BA + msgbox VerdanturfTown_Mart_Text_XSpecialIsCrucial, MSGBOX_NPC end -VerdanturfTown_Mart_EventScript_2025C3:: @ 82025C3 - msgbox VerdanturfTown_Mart_Text_20264C, MSGBOX_NPC +VerdanturfTown_Mart_EventScript_ExpertF:: @ 82025C3 + msgbox VerdanturfTown_Mart_Text_NoStrategyGuidesForBattleTent, MSGBOX_NPC end -VerdanturfTown_Mart_EventScript_2025CC:: @ 82025CC - msgbox VerdanturfTown_Mart_Text_2026C9, MSGBOX_NPC +VerdanturfTown_Mart_EventScript_Lass:: @ 82025CC + msgbox VerdanturfTown_Mart_Text_NestBallOnWeakenedPokemon, MSGBOX_NPC end -VerdanturfTown_Mart_Text_2025D5: @ 82025D5 +VerdanturfTown_Mart_Text_XSpecialIsCrucial: @ 82025D5 .string "For any POKéMON match, X SPECIAL\n" .string "is crucial.\p" .string "It jacks up the power of some moves\n" .string "even though it's only for one battle.$" -VerdanturfTown_Mart_Text_20264C: @ 820264C +VerdanturfTown_Mart_Text_NoStrategyGuidesForBattleTent: @ 820264C .string "They don't seem to sell any winning\n" .string "strategy guides for the BATTLE TENT…\p" .string "It seems one must rely on one's\n" .string "own wits after all…$" -VerdanturfTown_Mart_Text_2026C9: @ 82026C9 +VerdanturfTown_Mart_Text_NestBallOnWeakenedPokemon: @ 82026C9 .string "The NEST BALL works better on\n" .string "weakened POKéMON.\p" .string "VERDANTURF is the only place you can\n" diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/map.json b/data/maps/VerdanturfTown_PokemonCenter_1F/map.json index f9df06d335..056e82ed14 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_1F/map.json +++ b/data/maps/VerdanturfTown_PokemonCenter_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_PokemonCenter_1F_EventScript_20273A", + "script": "VerdanturfTown_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_PokemonCenter_1F_EventScript_202748", + "script": "VerdanturfTown_PokemonCenter_1F_EventScript_Gentleman", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_PokemonCenter_1F_EventScript_202751", + "script": "VerdanturfTown_PokemonCenter_1F_EventScript_ExpertM", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_PokemonCenter_1F_EventScript_2C7FE6", + "script": "VerdanturfTown_PokemonCenter_1F_EventScript_FuryCutterTutor", "flag": "0" } ], diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc index 5eb738e734..040e69a16b 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc @@ -1,30 +1,31 @@ VerdanturfTown_PokemonCenter_1F_MapScripts:: @ 8202726 map_script MAP_SCRIPT_ON_TRANSITION, VerdanturfTown_PokemonCenter_1F_OnTransition - map_script MAP_SCRIPT_ON_RESUME, VerdanturfTown_PokemonCenter_1F_MapScript1_277C30 + map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume .byte 0 VerdanturfTown_PokemonCenter_1F_OnTransition: @ 8202731 setrespawn HEAL_LOCATION_VERDANTURF_TOWN - call VerdanturfTown_PokemonCenter_1F_EventScript_2718DE + call Common_EventScript_UpdateBrineyLocation end -VerdanturfTown_PokemonCenter_1F_EventScript_20273A:: @ 820273A +@ VAR_0x800B is the Nurse's object event id +VerdanturfTown_PokemonCenter_1F_EventScript_Nurse:: @ 820273A setvar VAR_0x800B, 1 - call VerdanturfTown_PokemonCenter_1F_EventScript_27191E + call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress release end -VerdanturfTown_PokemonCenter_1F_EventScript_202748:: @ 8202748 - msgbox VerdanturfTown_PokemonCenter_1F_Text_20275A, MSGBOX_NPC +VerdanturfTown_PokemonCenter_1F_EventScript_Gentleman:: @ 8202748 + msgbox VerdanturfTown_PokemonCenter_1F_Text_FaithInYourPokemon, MSGBOX_NPC end -VerdanturfTown_PokemonCenter_1F_EventScript_202751:: @ 8202751 - msgbox VerdanturfTown_PokemonCenter_1F_Text_20280B, MSGBOX_NPC +VerdanturfTown_PokemonCenter_1F_EventScript_ExpertM:: @ 8202751 + msgbox VerdanturfTown_PokemonCenter_1F_Text_VisitForBattleTent, MSGBOX_NPC end -VerdanturfTown_PokemonCenter_1F_Text_20275A: @ 820275A +VerdanturfTown_PokemonCenter_1F_Text_FaithInYourPokemon: @ 820275A .string "You can't consider yourself a real\n" .string "TRAINER if you don't have faith\l" .string "in your POKéMON.\p" @@ -32,7 +33,7 @@ VerdanturfTown_PokemonCenter_1F_Text_20275A: @ 820275A .string "in their battling POKéMON can win\l" .string "through to the very end.$" -VerdanturfTown_PokemonCenter_1F_Text_20280B: @ 820280B +VerdanturfTown_PokemonCenter_1F_Text_VisitForBattleTent: @ 820280B .string "The reason why anyone would visit\n" .string "VERDANTURF…\p" .string "It's the BATTLE TENT. It goes without\n" diff --git a/data/maps/VerdanturfTown_PokemonCenter_2F/map.json b/data/maps/VerdanturfTown_PokemonCenter_2F/map.json index bfa6db09e2..26f0d3aaa9 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_2F/map.json +++ b/data/maps/VerdanturfTown_PokemonCenter_2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_PokemonCenter_2F_EventScript_27375B", + "script": "Common_EventScript_UnionRoomAttendant", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_PokemonCenter_2F_EventScript_273761", + "script": "Common_EventScript_WirelessClubAttendant", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_PokemonCenter_2F_EventScript_273767", + "script": "Common_EventScript_DirectCornerAttendant", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_PokemonCenter_2F_EventScript_276B03", + "script": "CableClub_EventScript_MysteryGiftMan", "flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN" } ], diff --git a/data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc b/data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc index 0964fa96f1..7802f5b032 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc +++ b/data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc @@ -1,19 +1,20 @@ VerdanturfTown_PokemonCenter_2F_MapScripts:: @ 8202897 - map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_PokemonCenter_2F_MapScript2_276C3B - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, VerdanturfTown_PokemonCenter_2F_MapScript2_276B6C - map_script MAP_SCRIPT_ON_LOAD, VerdanturfTown_PokemonCenter_2F_MapScript1_276BBE - map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp + map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad + map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition .byte 0 -VerdanturfTown_PokemonCenter_2F_EventScript_2028AC:: @ 82028AC - call OldaleTown_PokemonCenter_2F_EventScript_276EB7 +@ The below 3 are unused and leftover from RS +VerdanturfTown_PokemonCenter_2F_EventScript_Colosseum:: @ 82028AC + call CableClub_EventScript_Colosseum end -VerdanturfTown_PokemonCenter_2F_EventScript_2028B2:: @ 82028B2 - call OldaleTown_PokemonCenter_2F_EventScript_2770B2 +VerdanturfTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 82028B2 + call CableClub_EventScript_TradeCenter end -VerdanturfTown_PokemonCenter_2F_EventScript_2028B8:: @ 82028B8 - call OldaleTown_PokemonCenter_2F_EventScript_2771DB +VerdanturfTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 82028B8 + call CableClub_EventScript_RecordCorner end diff --git a/data/maps/VerdanturfTown_WandasHouse/map.json b/data/maps/VerdanturfTown_WandasHouse/map.json index 514b2581eb..c09a612743 100644 --- a/data/maps/VerdanturfTown_WandasHouse/map.json +++ b/data/maps/VerdanturfTown_WandasHouse/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_WandasHouse_EventScript_2028BF", + "script": "VerdanturfTown_WandasHouse_EventScript_Wally", "flag": "FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY" }, { @@ -37,8 +37,8 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_WandasHouse_EventScript_202913", - "flag": "FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN" + "script": "VerdanturfTown_WandasHouse_EventScript_WandasBoyfriend", + "flag": "FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDAS_BOYFRIEND" }, { "graphics_id": "EVENT_OBJ_GFX_POKEFAN_M", @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_WandasHouse_EventScript_2028E1", + "script": "VerdanturfTown_WandasHouse_EventScript_WallysUncle", "flag": "FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE" }, { @@ -63,7 +63,7 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_WandasHouse_EventScript_20294E", + "script": "VerdanturfTown_WandasHouse_EventScript_WallysAunt", "flag": "0" }, { @@ -76,8 +76,8 @@ "movement_range_y": 0, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VerdanturfTown_WandasHouse_EventScript_20291C", - "flag": "FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN" + "script": "VerdanturfTown_WandasHouse_EventScript_Wanda", + "flag": "FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDA" } ], "warp_events": [ diff --git a/data/maps/VerdanturfTown_WandasHouse/scripts.inc b/data/maps/VerdanturfTown_WandasHouse/scripts.inc index c63aa3fa10..25d37a7626 100644 --- a/data/maps/VerdanturfTown_WandasHouse/scripts.inc +++ b/data/maps/VerdanturfTown_WandasHouse/scripts.inc @@ -1,88 +1,88 @@ VerdanturfTown_WandasHouse_MapScripts:: @ 82028BE .byte 0 -VerdanturfTown_WandasHouse_EventScript_2028BF:: @ 82028BF +VerdanturfTown_WandasHouse_EventScript_Wally:: @ 82028BF lock faceplayer - goto_if_set FLAG_WALLY_SPEECH, VerdanturfTown_WandasHouse_EventScript_2028D7 - msgbox VerdanturfTown_WandasHouse_Text_202993, MSGBOX_DEFAULT + goto_if_set FLAG_WALLY_SPEECH, VerdanturfTown_WandasHouse_EventScript_WallyShortSpeech + msgbox VerdanturfTown_WandasHouse_Text_StrongerSpeech, MSGBOX_DEFAULT setflag FLAG_WALLY_SPEECH release end -VerdanturfTown_WandasHouse_EventScript_2028D7:: @ 82028D7 - msgbox VerdanturfTown_WandasHouse_Text_202ABE, MSGBOX_DEFAULT +VerdanturfTown_WandasHouse_EventScript_WallyShortSpeech:: @ 82028D7 + msgbox VerdanturfTown_WandasHouse_Text_StrongerSpeechShort, MSGBOX_DEFAULT release end -VerdanturfTown_WandasHouse_EventScript_2028E1:: @ 82028E1 +VerdanturfTown_WandasHouse_EventScript_WallysUncle:: @ 82028E1 lock faceplayer - goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, VerdanturfTown_WandasHouse_EventScript_202909 - goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_2028FF - msgbox VerdanturfTown_WandasHouse_Text_202B37, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, VerdanturfTown_WandasHouse_EventScript_WallysUncleEverGrande + goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_WallysUncleSlippedOff + msgbox VerdanturfTown_WandasHouse_Text_WallysNextDoor, MSGBOX_DEFAULT release end -VerdanturfTown_WandasHouse_EventScript_2028FF:: @ 82028FF - msgbox VerdanturfTown_WandasHouse_Text_202C20, MSGBOX_DEFAULT +VerdanturfTown_WandasHouse_EventScript_WallysUncleSlippedOff:: @ 82028FF + msgbox VerdanturfTown_WandasHouse_Text_WallySlippedOff, MSGBOX_DEFAULT release end -VerdanturfTown_WandasHouse_EventScript_202909:: @ 8202909 - msgbox VerdanturfTown_WandasHouse_Text_202C4E, MSGBOX_DEFAULT +VerdanturfTown_WandasHouse_EventScript_WallysUncleEverGrande:: @ 8202909 + msgbox VerdanturfTown_WandasHouse_Text_WallyGoneThatFar, MSGBOX_DEFAULT release end -VerdanturfTown_WandasHouse_EventScript_202913:: @ 8202913 - msgbox VerdanturfTown_WandasHouse_Text_202E00, MSGBOX_NPC +VerdanturfTown_WandasHouse_EventScript_WandasBoyfriend:: @ 8202913 + msgbox VerdanturfTown_WandasHouse_Text_CanSeeGirlfriendEveryDay, MSGBOX_NPC end -VerdanturfTown_WandasHouse_EventScript_20291C:: @ 820291C +VerdanturfTown_WandasHouse_EventScript_Wanda:: @ 820291C lock faceplayer - goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_202944 - goto_if_set FLAG_DEFEATED_WALLY_MAUVILLE, VerdanturfTown_WandasHouse_EventScript_20293A - msgbox VerdanturfTown_WandasHouse_Text_202D91, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_WandaDontWorry + goto_if_set FLAG_DEFEATED_WALLY_MAUVILLE, VerdanturfTown_WandasHouse_EventScript_MeetWanda + msgbox VerdanturfTown_WandasHouse_Text_DontWorryAboutWally, MSGBOX_DEFAULT release end -VerdanturfTown_WandasHouse_EventScript_20293A:: @ 820293A - msgbox VerdanturfTown_WandasHouse_Text_202CCF, MSGBOX_DEFAULT +VerdanturfTown_WandasHouse_EventScript_MeetWanda:: @ 820293A + msgbox VerdanturfTown_WandasHouse_Text_MeetWanda, MSGBOX_DEFAULT release end -VerdanturfTown_WandasHouse_EventScript_202944:: @ 8202944 - msgbox VerdanturfTown_WandasHouse_Text_202D91, MSGBOX_DEFAULT +VerdanturfTown_WandasHouse_EventScript_WandaDontWorry:: @ 8202944 + msgbox VerdanturfTown_WandasHouse_Text_DontWorryAboutWally, MSGBOX_DEFAULT release end -VerdanturfTown_WandasHouse_EventScript_20294E:: @ 820294E +VerdanturfTown_WandasHouse_EventScript_WallysAunt:: @ 820294E lock faceplayer - goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, VerdanturfTown_WandasHouse_EventScript_202989 - goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_20297F - goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_WandasHouse_EventScript_202975 - msgbox VerdanturfTown_WandasHouse_Text_202E47, MSGBOX_DEFAULT + goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, VerdanturfTown_WandasHouse_EventScript_WallysAuntEverGrande + goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_WallysAuntAnythingHappened + goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_WandasHouse_EventScript_WallysAuntTunnelOpen + msgbox VerdanturfTown_WandasHouse_Text_DaughtersBoyfriendDriven, MSGBOX_DEFAULT release end -VerdanturfTown_WandasHouse_EventScript_202975:: @ 8202975 - msgbox VerdanturfTown_WandasHouse_Text_202F19, MSGBOX_DEFAULT +VerdanturfTown_WandasHouse_EventScript_WallysAuntTunnelOpen:: @ 8202975 + msgbox VerdanturfTown_WandasHouse_Text_DaughtersBoyfriendWasDigging, MSGBOX_DEFAULT release end -VerdanturfTown_WandasHouse_EventScript_20297F:: @ 820297F - msgbox VerdanturfTown_WandasHouse_Text_202F73, MSGBOX_DEFAULT +VerdanturfTown_WandasHouse_EventScript_WallysAuntAnythingHappened:: @ 820297F + msgbox VerdanturfTown_WandasHouse_Text_IfAnythingHappenedToWally, MSGBOX_DEFAULT release end -VerdanturfTown_WandasHouse_EventScript_202989:: @ 8202989 - msgbox VerdanturfTown_WandasHouse_Text_202FDB, MSGBOX_DEFAULT +VerdanturfTown_WandasHouse_EventScript_WallysAuntEverGrande:: @ 8202989 + msgbox VerdanturfTown_WandasHouse_Text_WallyWasInEverGrande, MSGBOX_DEFAULT release end -VerdanturfTown_WandasHouse_Text_202993: @ 8202993 +VerdanturfTown_WandasHouse_Text_StrongerSpeech: @ 8202993 .string "WALLY: I lost to you, {PLAYER}, but I'm\n" .string "not feeling down anymore.\p" .string "Because I have a new purpose in life.\n" @@ -94,13 +94,13 @@ VerdanturfTown_WandasHouse_Text_202993: @ 8202993 .string "When I do, I'm going to challenge you\n" .string "to another battle.$" -VerdanturfTown_WandasHouse_Text_202ABE: @ 8202ABE +VerdanturfTown_WandasHouse_Text_StrongerSpeechShort: @ 8202ABE .string "WALLY: Please watch me, {PLAYER}.\n" .string "I'm going to get stronger than you.\p" .string "When I do, I'm going to challenge you\n" .string "to another battle.$" -VerdanturfTown_WandasHouse_Text_202B37: @ 8202B37 +VerdanturfTown_WandasHouse_Text_WallysNextDoor: @ 8202B37 .string "UNCLE: Oh! {PLAYER}{KUN}!\n" .string "WALLY's next door.\p" .string "But, boy, there's something I have to\n" @@ -111,18 +111,18 @@ VerdanturfTown_WandasHouse_Text_202B37: @ 8202B37 .string "It could be POKéMON that are giving\l" .string "the boy hope.$" -VerdanturfTown_WandasHouse_Text_202C20: @ 8202C20 +VerdanturfTown_WandasHouse_Text_WallySlippedOff: @ 8202C20 .string "WALLY's gone away…\n" .string "He slipped off on his own…$" -VerdanturfTown_WandasHouse_Text_202C4E: @ 8202C4E +VerdanturfTown_WandasHouse_Text_WallyGoneThatFar: @ 8202C4E .string "UNCLE: Is that right?\n" .string "WALLY's gone away that far all by\l" .string "himself…\p" .string "Well, I have to give him credit--he is\n" .string "my little brother's son.$" -VerdanturfTown_WandasHouse_Text_202CCF: @ 8202CCF +VerdanturfTown_WandasHouse_Text_MeetWanda: @ 8202CCF .string "WANDA: You are?\n" .string "Oh, right, I get it!\p" .string "You're the {PLAYER} who WALLY was\n" @@ -132,18 +132,18 @@ VerdanturfTown_WandasHouse_Text_202CCF: @ 8202CCF .string "I think WALLY's become a lot more lively\n" .string "and healthy since he came here.$" -VerdanturfTown_WandasHouse_Text_202D91: @ 8202D91 +VerdanturfTown_WandasHouse_Text_DontWorryAboutWally: @ 8202D91 .string "WANDA: Don't worry about WALLY.\n" .string "He'll be just fine.\p" .string "I know my little cousin, and he has\n" .string "POKéMON with him, too.$" -VerdanturfTown_WandasHouse_Text_202E00: @ 8202E00 +VerdanturfTown_WandasHouse_Text_CanSeeGirlfriendEveryDay: @ 8202E00 .string "Thanks to you, I can see my girlfriend\n" .string "every day.\l" .string "Happy? You bet I am!$" -VerdanturfTown_WandasHouse_Text_202E47: @ 8202E47 +VerdanturfTown_WandasHouse_Text_DaughtersBoyfriendDriven: @ 8202E47 .string "My daughter's boyfriend is a very\n" .string "driven and passionate sort of person.\p" .string "He's been digging a tunnel nonstop\n" @@ -151,17 +151,17 @@ VerdanturfTown_WandasHouse_Text_202E47: @ 8202E47 .string "My daughter's a little concerned,\n" .string "so she goes out to the tunnel a lot.$" -VerdanturfTown_WandasHouse_Text_202F19: @ 8202F19 +VerdanturfTown_WandasHouse_Text_DaughtersBoyfriendWasDigging: @ 8202F19 .string "It's amazing. My daughter's boyfriend\n" .string "was digging the tunnel by hand!\p" .string "It's so incredible!$" -VerdanturfTown_WandasHouse_Text_202F73: @ 8202F73 +VerdanturfTown_WandasHouse_Text_IfAnythingHappenedToWally: @ 8202F73 .string "If anything were to happen to WALLY,\n" .string "I would never be able to look his\l" .string "parents in PETALBURG in the eye…$" -VerdanturfTown_WandasHouse_Text_202FDB: @ 8202FDB +VerdanturfTown_WandasHouse_Text_WallyWasInEverGrande: @ 8202FDB .string "WALLY was in EVER GRANDE?\p" .string "His parents in PETALBURG would be\n" .string "astonished to hear that!$" diff --git a/data/maps/VictoryRoad_1F/map.json b/data/maps/VictoryRoad_1F/map.json index 8685f3341a..d769156486 100644 --- a/data/maps/VictoryRoad_1F/map.json +++ b/data/maps/VictoryRoad_1F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "VictoryRoad_1F_EventScript_235E73", + "script": "VictoryRoad_1F_EventScript_Edgar", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "VictoryRoad_1F_EventScript_235EA1", + "script": "VictoryRoad_1F_EventScript_Hope", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "VictoryRoad_1F_EventScript_235E8A", + "script": "VictoryRoad_1F_EventScript_Albert", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_1F_EventScript_235E2C", + "script": "VictoryRoad_1F_EventScript_EntranceWally", "flag": "FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "0", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_1F_EventScript_235E35", + "script": "VictoryRoad_1F_EventScript_ExitWally", "flag": "FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY" }, { @@ -115,7 +115,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "VictoryRoad_1F_EventScript_235ECF", + "script": "VictoryRoad_1F_EventScript_Katelynn", "flag": "0" }, { @@ -128,7 +128,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "VictoryRoad_1F_EventScript_235EB8", + "script": "VictoryRoad_1F_EventScript_Quincy", "flag": "0" } ], @@ -177,7 +177,7 @@ "elevation": 4, "var": "VAR_VICTORY_ROAD_1F_STATE", "var_value": "0", - "script": "VictoryRoad_1F_EventScript_235DAF" + "script": "VictoryRoad_1F_EventScript_WallyBattleTrigger1" }, { "type": "trigger", @@ -186,7 +186,7 @@ "elevation": 4, "var": "VAR_VICTORY_ROAD_1F_STATE", "var_value": "0", - "script": "VictoryRoad_1F_EventScript_235DC8" + "script": "VictoryRoad_1F_EventScript_WallyBattleTrigger2" } ], "bg_events": [ diff --git a/data/maps/VictoryRoad_1F/scripts.inc b/data/maps/VictoryRoad_1F/scripts.inc index b6983eac0f..b400df12d1 100644 --- a/data/maps/VictoryRoad_1F/scripts.inc +++ b/data/maps/VictoryRoad_1F/scripts.inc @@ -4,45 +4,45 @@ VictoryRoad_1F_MapScripts:: @ 8235D7A VictoryRoad_1F_OnTransition: @ 8235D80 compare VAR_VICTORY_ROAD_1F_STATE, 1 - call_if_eq VictoryRoad_1F_EventScript_235D97 + call_if_eq VictoryRoad_1F_EventScript_SetEntranceWallyPos1 compare VAR_VICTORY_ROAD_1F_STATE, 2 - call_if_eq VictoryRoad_1F_EventScript_235DA3 + call_if_eq VictoryRoad_1F_EventScript_SetEntranceWallyPos2 end -VictoryRoad_1F_EventScript_235D97:: @ 8235D97 +VictoryRoad_1F_EventScript_SetEntranceWallyPos1:: @ 8235D97 setobjectxyperm 4, 2, 24 setobjectmovementtype 4, MOVEMENT_TYPE_FACE_DOWN return -VictoryRoad_1F_EventScript_235DA3:: @ 8235DA3 +VictoryRoad_1F_EventScript_SetEntranceWallyPos2:: @ 8235DA3 setobjectxyperm 4, 3, 24 setobjectmovementtype 4, MOVEMENT_TYPE_FACE_DOWN return -VictoryRoad_1F_EventScript_235DAF:: @ 8235DAF +VictoryRoad_1F_EventScript_WallyBattleTrigger1:: @ 8235DAF lockall setvar VAR_0x8008, 1 addobject 4 - applymovement 4, VictoryRoad_1F_Movement_235E15 + applymovement 4, VictoryRoad_1F_Movement_WallyApproachPlayer1 waitmovement 0 - goto VictoryRoad_1F_EventScript_235DE1 + goto VictoryRoad_1F_EventScript_WallyEntranceBattle end -VictoryRoad_1F_EventScript_235DC8:: @ 8235DC8 +VictoryRoad_1F_EventScript_WallyBattleTrigger2:: @ 8235DC8 lockall setvar VAR_0x8008, 2 addobject 4 - applymovement 4, VictoryRoad_1F_Movement_235E21 + applymovement 4, VictoryRoad_1F_Movement_WallyApproachPlayer2 waitmovement 0 - goto VictoryRoad_1F_EventScript_235DE1 + goto VictoryRoad_1F_EventScript_WallyEntranceBattle end -VictoryRoad_1F_EventScript_235DE1:: @ 8235DE1 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown +VictoryRoad_1F_EventScript_WallyEntranceBattle:: @ 8235DE1 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox VictoryRoad_1F_Text_235EE6, MSGBOX_DEFAULT - trainerbattle_no_intro TRAINER_WALLY_1, VictoryRoad_1F_Text_235FFC - msgbox VictoryRoad_1F_Text_236020, MSGBOX_DEFAULT + msgbox VictoryRoad_1F_Text_WallyNotGoingToLoseAnymore, MSGBOX_DEFAULT + trainerbattle_no_intro TRAINER_WALLY_VR_1, VictoryRoad_1F_Text_WallyEntranceDefeat + msgbox VictoryRoad_1F_Text_WallyPostEntranceBattle, MSGBOX_DEFAULT clearflag FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY copyobjectxytoperm 4 setflag FLAG_DEFEATED_WALLY_VICTORY_ROAD @@ -50,7 +50,7 @@ VictoryRoad_1F_EventScript_235DE1:: @ 8235DE1 releaseall end -VictoryRoad_1F_Movement_235E15: @ 8235E15 +VictoryRoad_1F_Movement_WallyApproachPlayer1: @ 8235E15 walk_left walk_left walk_left @@ -64,7 +64,7 @@ VictoryRoad_1F_Movement_235E15: @ 8235E15 walk_up step_end -VictoryRoad_1F_Movement_235E21: @ 8235E21 +VictoryRoad_1F_Movement_WallyApproachPlayer2: @ 8235E21 walk_left walk_left walk_left @@ -77,49 +77,51 @@ VictoryRoad_1F_Movement_235E21: @ 8235E21 walk_up step_end -VictoryRoad_1F_EventScript_235E2C:: @ 8235E2C - msgbox VictoryRoad_1F_Text_236020, MSGBOX_NPC +@ This Wally appears near the entrance once his battle is triggered and remains there until the Hall of Fame is entered +VictoryRoad_1F_EventScript_EntranceWally:: @ 8235E2C + msgbox VictoryRoad_1F_Text_WallyPostEntranceBattle, MSGBOX_NPC end -VictoryRoad_1F_EventScript_235E35:: @ 8235E35 - trainerbattle_single TRAINER_WALLY_3, VictoryRoad_1F_Text_236073, VictoryRoad_1F_Text_2360DA +@ This Wally appears and remains at the exit after the Hall of Fame is entered +VictoryRoad_1F_EventScript_ExitWally:: @ 8235E35 + trainerbattle_single TRAINER_WALLY_VR_2, VictoryRoad_1F_Text_WallyIntro, VictoryRoad_1F_Text_WallyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq VictoryRoad_1F_EventScript_235E5C - msgbox VictoryRoad_1F_Text_2360FE, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq VictoryRoad_1F_EventScript_RematchWally + msgbox VictoryRoad_1F_Text_WallyPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_1F_EventScript_235E5C:: @ 8235E5C - trainerbattle_rematch TRAINER_WALLY_3, VictoryRoad_1F_Text_236073, VictoryRoad_1F_Text_2360DA - msgbox VictoryRoad_1F_Text_2360FE, MSGBOX_AUTOCLOSE +VictoryRoad_1F_EventScript_RematchWally:: @ 8235E5C + trainerbattle_rematch TRAINER_WALLY_VR_2, VictoryRoad_1F_Text_WallyIntro, VictoryRoad_1F_Text_WallyDefeat + msgbox VictoryRoad_1F_Text_WallyPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_1F_EventScript_235E73:: @ 8235E73 - trainerbattle_single TRAINER_EDGAR, VictoryRoad_1F_Text_236184, VictoryRoad_1F_Text_2361CB - msgbox VictoryRoad_1F_Text_2361E5, MSGBOX_AUTOCLOSE +VictoryRoad_1F_EventScript_Edgar:: @ 8235E73 + trainerbattle_single TRAINER_EDGAR, VictoryRoad_1F_Text_EdgarIntro, VictoryRoad_1F_Text_EdgarDefeat + msgbox VictoryRoad_1F_Text_EdgarPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_1F_EventScript_235E8A:: @ 8235E8A - trainerbattle_single TRAINER_ALBERT, VictoryRoad_1F_Text_236248, VictoryRoad_1F_Text_236290 - msgbox VictoryRoad_1F_Text_2362A4, MSGBOX_AUTOCLOSE +VictoryRoad_1F_EventScript_Albert:: @ 8235E8A + trainerbattle_single TRAINER_ALBERT, VictoryRoad_1F_Text_AlbertIntro, VictoryRoad_1F_Text_AlbertDefeat + msgbox VictoryRoad_1F_Text_AlbertPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_1F_EventScript_235EA1:: @ 8235EA1 - trainerbattle_single TRAINER_HOPE, VictoryRoad_1F_Text_2362EE, VictoryRoad_1F_Text_236336 - msgbox VictoryRoad_1F_Text_236356, MSGBOX_AUTOCLOSE +VictoryRoad_1F_EventScript_Hope:: @ 8235EA1 + trainerbattle_single TRAINER_HOPE, VictoryRoad_1F_Text_HopeIntro, VictoryRoad_1F_Text_HopeDefeat + msgbox VictoryRoad_1F_Text_HopePostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_1F_EventScript_235EB8:: @ 8235EB8 - trainerbattle_single TRAINER_QUINCY, VictoryRoad_1F_Text_236390, VictoryRoad_1F_Text_2363C4 - msgbox VictoryRoad_1F_Text_2363D5, MSGBOX_AUTOCLOSE +VictoryRoad_1F_EventScript_Quincy:: @ 8235EB8 + trainerbattle_single TRAINER_QUINCY, VictoryRoad_1F_Text_QuincyIntro, VictoryRoad_1F_Text_QuincyDefeat + msgbox VictoryRoad_1F_Text_QuincyPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_1F_EventScript_235ECF:: @ 8235ECF - trainerbattle_single TRAINER_KATELYNN, VictoryRoad_1F_Text_236468, VictoryRoad_1F_Text_2364A7 - msgbox VictoryRoad_1F_Text_2364BB, MSGBOX_AUTOCLOSE +VictoryRoad_1F_EventScript_Katelynn:: @ 8235ECF + trainerbattle_single TRAINER_KATELYNN, VictoryRoad_1F_Text_KatelynnIntro, VictoryRoad_1F_Text_KatelynnDefeat + msgbox VictoryRoad_1F_Text_KatelynnPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_1F_Text_235EE6: @ 8235EE6 +VictoryRoad_1F_Text_WallyNotGoingToLoseAnymore: @ 8235EE6 .string "WALLY: Hi! {PLAYER}!\p" .string "I bet you're surprised to see me here!\p" .string "I made it all the way here, and it's\n" @@ -131,89 +133,89 @@ VictoryRoad_1F_Text_235EE6: @ 8235EE6 .string "gave me courage and strength!\p" .string "Okay… Here I come!$" -VictoryRoad_1F_Text_235FFC: @ 8235FFC +VictoryRoad_1F_Text_WallyEntranceDefeat: @ 8235FFC .string "Wow!\n" .string "{PLAYER}, you are strong, after all!$" -VictoryRoad_1F_Text_236020: @ 8236020 +VictoryRoad_1F_Text_WallyPostEntranceBattle: @ 8236020 .string "WALLY: I couldn't beat you today,\n" .string "{PLAYER}, but one of these days, I'll\l" .string "catch up to you!$" -VictoryRoad_1F_Text_236073: @ 8236073 +VictoryRoad_1F_Text_WallyIntro: @ 8236073 .string "WALLY: Hi! {PLAYER}!\p" .string "I've gotten stronger since that last\n" .string "time! I wanted to show you, {PLAYER}!\p" .string "Okay… Here I come!$" -VictoryRoad_1F_Text_2360DA: @ 82360DA +VictoryRoad_1F_Text_WallyDefeat: @ 82360DA .string "Wow!\n" .string "{PLAYER}, you are strong, after all!$" -VictoryRoad_1F_Text_2360FE: @ 82360FE +VictoryRoad_1F_Text_WallyPostBattle: @ 82360FE .string "WALLY: I couldn't beat you this time,\n" .string "too… But one of these days, {PLAYER},\l" .string "I'm going to catch up to you…\p" .string "And challenge the POKéMON LEAGUE!$" -VictoryRoad_1F_Text_236184: @ 8236184 +VictoryRoad_1F_Text_EdgarIntro: @ 8236184 .string "I've made it this far a couple times,\n" .string "but the last stretch is so long…$" -VictoryRoad_1F_Text_2361CB: @ 82361CB +VictoryRoad_1F_Text_EdgarDefeat: @ 82361CB .string "My dream ends here again…$" -VictoryRoad_1F_Text_2361E5: @ 82361E5 +VictoryRoad_1F_Text_EdgarPostBattle: @ 82361E5 .string "You've made it this far. Keep the\n" .string "momentum going and become the\l" .string "CHAMPION! If anyone can, it's you!$" -VictoryRoad_1F_Text_236248: @ 8236248 +VictoryRoad_1F_Text_AlbertIntro: @ 8236248 .string "I didn't come all this way to lose now.\n" .string "That possibility doesn't exist!$" -VictoryRoad_1F_Text_236290: @ 8236290 +VictoryRoad_1F_Text_AlbertDefeat: @ 8236290 .string "Impossible…\n" .string "I lost?$" -VictoryRoad_1F_Text_2362A4: @ 82362A4 +VictoryRoad_1F_Text_AlbertPostBattle: @ 82362A4 .string "I lost here…\p" .string "That means I lack the qualifications\n" .string "to become the CHAMPION…$" -VictoryRoad_1F_Text_2362EE: @ 82362EE +VictoryRoad_1F_Text_HopeIntro: @ 82362EE .string "This seemingly infinite and harsh road\n" .string "lives up to its name of VICTORY.$" -VictoryRoad_1F_Text_236336: @ 8236336 +VictoryRoad_1F_Text_HopeDefeat: @ 8236336 .string "Your battle style is fantastic…$" -VictoryRoad_1F_Text_236356: @ 8236356 +VictoryRoad_1F_Text_HopePostBattle: @ 8236356 .string "You seem to have the potential for\n" .string "becoming the CHAMPION.$" -VictoryRoad_1F_Text_236390: @ 8236390 +VictoryRoad_1F_Text_QuincyIntro: @ 8236390 .string "What is the VICTORY ROAD?\n" .string "I'll tell you if you win!$" -VictoryRoad_1F_Text_2363C4: @ 82363C4 +VictoryRoad_1F_Text_QuincyDefeat: @ 82363C4 .string "Okay!\n" .string "Well done!$" -VictoryRoad_1F_Text_2363D5: @ 82363D5 +VictoryRoad_1F_Text_QuincyPostBattle: @ 82363D5 .string "Getting through here safely--that's\n" .string "the final test for any TRAINER aiming\l" .string "to become the POKéMON CHAMPION.\p" .string "That's why it's called the VICTORY\n" .string "ROAD.$" -VictoryRoad_1F_Text_236468: @ 8236468 +VictoryRoad_1F_Text_KatelynnIntro: @ 8236468 .string "I have nothing to say to anyone\n" .string "that's come this far. Come on!$" -VictoryRoad_1F_Text_2364A7: @ 82364A7 +VictoryRoad_1F_Text_KatelynnDefeat: @ 82364A7 .string "This is a disgrace…$" -VictoryRoad_1F_Text_2364BB: @ 82364BB +VictoryRoad_1F_Text_KatelynnPostBattle: @ 82364BB .string "Humph, go right on ahead.\n" .string "See if I care.$" diff --git a/data/maps/VictoryRoad_B1F/map.json b/data/maps/VictoryRoad_B1F/map.json index b8f00f4fbd..3241c1364a 100644 --- a/data/maps/VictoryRoad_B1F/map.json +++ b/data/maps/VictoryRoad_B1F/map.json @@ -193,7 +193,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "VictoryRoad_B1F_EventScript_2364E5", + "script": "VictoryRoad_B1F_EventScript_Samuel", "flag": "0" }, { @@ -206,7 +206,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "VictoryRoad_B1F_EventScript_2364FC", + "script": "VictoryRoad_B1F_EventScript_Shannon", "flag": "0" }, { @@ -219,7 +219,7 @@ "movement_range_y": 0, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "VictoryRoad_B1F_EventScript_236513", + "script": "VictoryRoad_B1F_EventScript_Michelle", "flag": "0" }, { @@ -271,7 +271,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "VictoryRoad_B1F_EventScript_23652A", + "script": "VictoryRoad_B1F_EventScript_Mitchell", "flag": "0" }, { @@ -284,7 +284,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "3", - "script": "VictoryRoad_B1F_EventScript_236541", + "script": "VictoryRoad_B1F_EventScript_Halle", "flag": "0" } ], diff --git a/data/maps/VictoryRoad_B1F/scripts.inc b/data/maps/VictoryRoad_B1F/scripts.inc index c2fb918cc9..fd175599cb 100644 --- a/data/maps/VictoryRoad_B1F/scripts.inc +++ b/data/maps/VictoryRoad_B1F/scripts.inc @@ -1,88 +1,88 @@ VictoryRoad_B1F_MapScripts:: @ 82364E4 .byte 0 -VictoryRoad_B1F_EventScript_2364E5:: @ 82364E5 - trainerbattle_single TRAINER_SAMUEL, VictoryRoad_B1F_Text_236558, VictoryRoad_B1F_Text_2365AD - msgbox VictoryRoad_B1F_Text_2365C4, MSGBOX_AUTOCLOSE +VictoryRoad_B1F_EventScript_Samuel:: @ 82364E5 + trainerbattle_single TRAINER_SAMUEL, VictoryRoad_B1F_Text_SamuelIntro, VictoryRoad_B1F_Text_SamuelDefeat + msgbox VictoryRoad_B1F_Text_SamuelPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_B1F_EventScript_2364FC:: @ 82364FC - trainerbattle_single TRAINER_SHANNON, VictoryRoad_B1F_Text_2365FD, VictoryRoad_B1F_Text_23664D - msgbox VictoryRoad_B1F_Text_236678, MSGBOX_AUTOCLOSE +VictoryRoad_B1F_EventScript_Shannon:: @ 82364FC + trainerbattle_single TRAINER_SHANNON, VictoryRoad_B1F_Text_ShannonIntro, VictoryRoad_B1F_Text_ShannonDefeat + msgbox VictoryRoad_B1F_Text_ShannonPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_B1F_EventScript_236513:: @ 8236513 - trainerbattle_single TRAINER_MICHELLE, VictoryRoad_B1F_Text_2366C2, VictoryRoad_B1F_Text_23670B - msgbox VictoryRoad_B1F_Text_23671B, MSGBOX_AUTOCLOSE +VictoryRoad_B1F_EventScript_Michelle:: @ 8236513 + trainerbattle_single TRAINER_MICHELLE, VictoryRoad_B1F_Text_MichelleIntro, VictoryRoad_B1F_Text_MichelleDefeat + msgbox VictoryRoad_B1F_Text_MichellePostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_B1F_EventScript_23652A:: @ 823652A - trainerbattle_single TRAINER_MITCHELL, VictoryRoad_B1F_Text_236757, VictoryRoad_B1F_Text_236780 - msgbox VictoryRoad_B1F_Text_2367A7, MSGBOX_AUTOCLOSE +VictoryRoad_B1F_EventScript_Mitchell:: @ 823652A + trainerbattle_single TRAINER_MITCHELL, VictoryRoad_B1F_Text_MitchellIntro, VictoryRoad_B1F_Text_MitchellDefeat + msgbox VictoryRoad_B1F_Text_MitchellPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_B1F_EventScript_236541:: @ 8236541 - trainerbattle_single TRAINER_HALLE, VictoryRoad_B1F_Text_2367FD, VictoryRoad_B1F_Text_23683B - msgbox VictoryRoad_B1F_Text_23684C, MSGBOX_AUTOCLOSE +VictoryRoad_B1F_EventScript_Halle:: @ 8236541 + trainerbattle_single TRAINER_HALLE, VictoryRoad_B1F_Text_HalleIntro, VictoryRoad_B1F_Text_HalleDefeat + msgbox VictoryRoad_B1F_Text_HallePostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_B1F_Text_236558: @ 8236558 +VictoryRoad_B1F_Text_SamuelIntro: @ 8236558 .string "The thought that I'm getting closer to\n" .string "the POKéMON LEAGUE…\p" .string "I'm getting stage fright…$" -VictoryRoad_B1F_Text_2365AD: @ 82365AD +VictoryRoad_B1F_Text_SamuelDefeat: @ 82365AD .string "I couldn't do a thing…$" -VictoryRoad_B1F_Text_2365C4: @ 82365C4 +VictoryRoad_B1F_Text_SamuelPostBattle: @ 82365C4 .string "The POKéMON LEAGUE became distant\n" .string "again… What a letdown…$" -VictoryRoad_B1F_Text_2365FD: @ 82365FD +VictoryRoad_B1F_Text_ShannonIntro: @ 82365FD .string "To win your way through the POKéMON\n" .string "LEAGUE, you need the trust of your\l" .string "POKéMON.$" -VictoryRoad_B1F_Text_23664D: @ 823664D +VictoryRoad_B1F_Text_ShannonDefeat: @ 823664D .string "Your relationship is based on\n" .string "solid trust.$" -VictoryRoad_B1F_Text_236678: @ 8236678 +VictoryRoad_B1F_Text_ShannonPostBattle: @ 8236678 .string "By being together all the time, trust\n" .string "grows between POKéMON and TRAINERS.$" -VictoryRoad_B1F_Text_2366C2: @ 82366C2 +VictoryRoad_B1F_Text_MichelleIntro: @ 82366C2 .string "This isn't the goal. It's only a place\n" .string "on the way to the POKéMON LEAGUE.$" -VictoryRoad_B1F_Text_23670B: @ 823670B +VictoryRoad_B1F_Text_MichelleDefeat: @ 823670B .string "That's the way!$" -VictoryRoad_B1F_Text_23671B: @ 823671B +VictoryRoad_B1F_Text_MichellePostBattle: @ 823671B .string "You'll do fine, for sure!\n" .string "Your POKéMON are all eager to go!$" -VictoryRoad_B1F_Text_236757: @ 8236757 +VictoryRoad_B1F_Text_MitchellIntro: @ 8236757 .string "My POKéMON are cosmically\n" .string "awe inspiring!$" -VictoryRoad_B1F_Text_236780: @ 8236780 +VictoryRoad_B1F_Text_MitchellDefeat: @ 8236780 .string "I've never met anyone like you before.$" -VictoryRoad_B1F_Text_2367A7: @ 82367A7 +VictoryRoad_B1F_Text_MitchellPostBattle: @ 82367A7 .string "Even outside of battle, I sense\n" .string "incredible power emanating from you\l" .string "and your POKéMON.$" -VictoryRoad_B1F_Text_2367FD: @ 82367FD +VictoryRoad_B1F_Text_HalleIntro: @ 82367FD .string "Okay, no need to get your back up!\n" .string "Relax, let's take it easy!$" -VictoryRoad_B1F_Text_23683B: @ 823683B +VictoryRoad_B1F_Text_HalleDefeat: @ 823683B .string "Whoa!\n" .string "Wonderful!$" -VictoryRoad_B1F_Text_23684C: @ 823684C +VictoryRoad_B1F_Text_HallePostBattle: @ 823684C .string "Sure, this is VICTORY ROAD.\p" .string "But it's not all that different from\n" .string "the path you've taken so far.\p" diff --git a/data/maps/VictoryRoad_B2F/map.json b/data/maps/VictoryRoad_B2F/map.json index de10ef8916..d78339b52c 100644 --- a/data/maps/VictoryRoad_B2F/map.json +++ b/data/maps/VictoryRoad_B2F/map.json @@ -24,7 +24,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "VictoryRoad_B2F_EventScript_2368D5", + "script": "VictoryRoad_B2F_EventScript_Vito", "flag": "0" }, { @@ -37,7 +37,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "4", - "script": "VictoryRoad_B2F_EventScript_2368EC", + "script": "VictoryRoad_B2F_EventScript_Owen", "flag": "0" }, { @@ -50,7 +50,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "VictoryRoad_B2F_EventScript_236903", + "script": "VictoryRoad_B2F_EventScript_Caroline", "flag": "0" }, { @@ -63,7 +63,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "VictoryRoad_B2F_EventScript_23691A", + "script": "VictoryRoad_B2F_EventScript_Julie", "flag": "0" }, { @@ -89,7 +89,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "VictoryRoad_B2F_EventScript_236948", + "script": "VictoryRoad_B2F_EventScript_Dianne", "flag": "0" }, { @@ -102,7 +102,7 @@ "movement_range_y": 1, "trainer_type": "1", "trainer_sight_or_berry_tree_id": "2", - "script": "VictoryRoad_B2F_EventScript_236931", + "script": "VictoryRoad_B2F_EventScript_Felix", "flag": "0" } ], diff --git a/data/maps/VictoryRoad_B2F/scripts.inc b/data/maps/VictoryRoad_B2F/scripts.inc index 732878de31..9db635a858 100644 --- a/data/maps/VictoryRoad_B2F/scripts.inc +++ b/data/maps/VictoryRoad_B2F/scripts.inc @@ -1,108 +1,108 @@ VictoryRoad_B2F_MapScripts:: @ 82368D4 .byte 0 -VictoryRoad_B2F_EventScript_2368D5:: @ 82368D5 - trainerbattle_single TRAINER_VITO, VictoryRoad_B2F_Text_23695F, VictoryRoad_B2F_Text_2369B3 - msgbox VictoryRoad_B2F_Text_2369DE, MSGBOX_AUTOCLOSE +VictoryRoad_B2F_EventScript_Vito:: @ 82368D5 + trainerbattle_single TRAINER_VITO, VictoryRoad_B2F_Text_VitoIntro, VictoryRoad_B2F_Text_VitoDefeat + msgbox VictoryRoad_B2F_Text_VitoPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_B2F_EventScript_2368EC:: @ 82368EC - trainerbattle_single TRAINER_OWEN, VictoryRoad_B2F_Text_236A4C, VictoryRoad_B2F_Text_236A92 - msgbox VictoryRoad_B2F_Text_236AAE, MSGBOX_AUTOCLOSE +VictoryRoad_B2F_EventScript_Owen:: @ 82368EC + trainerbattle_single TRAINER_OWEN, VictoryRoad_B2F_Text_OwenIntro, VictoryRoad_B2F_Text_OwenDefeat + msgbox VictoryRoad_B2F_Text_OwenPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_B2F_EventScript_236903:: @ 8236903 - trainerbattle_single TRAINER_CAROLINE, VictoryRoad_B2F_Text_236AF0, VictoryRoad_B2F_Text_236B14 - msgbox VictoryRoad_B2F_Text_236B2F, MSGBOX_AUTOCLOSE +VictoryRoad_B2F_EventScript_Caroline:: @ 8236903 + trainerbattle_single TRAINER_CAROLINE, VictoryRoad_B2F_Text_CarolineIntro, VictoryRoad_B2F_Text_CarolineDefeat + msgbox VictoryRoad_B2F_Text_CarolinePostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_B2F_EventScript_23691A:: @ 823691A - trainerbattle_single TRAINER_JULIE, VictoryRoad_B2F_Text_236B88, VictoryRoad_B2F_Text_236C0A - msgbox VictoryRoad_B2F_Text_236C21, MSGBOX_AUTOCLOSE +VictoryRoad_B2F_EventScript_Julie:: @ 823691A + trainerbattle_single TRAINER_JULIE, VictoryRoad_B2F_Text_JulieIntro, VictoryRoad_B2F_Text_JulieDefeat + msgbox VictoryRoad_B2F_Text_JuliePostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_B2F_EventScript_236931:: @ 8236931 - trainerbattle_single TRAINER_FELIX, VictoryRoad_B2F_Text_236C67, VictoryRoad_B2F_Text_236CAB - msgbox VictoryRoad_B2F_Text_236CBA, MSGBOX_AUTOCLOSE +VictoryRoad_B2F_EventScript_Felix:: @ 8236931 + trainerbattle_single TRAINER_FELIX, VictoryRoad_B2F_Text_FelixIntro, VictoryRoad_B2F_Text_FelixDefeat + msgbox VictoryRoad_B2F_Text_FelixPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_B2F_EventScript_236948:: @ 8236948 - trainerbattle_single TRAINER_DIANNE, VictoryRoad_B2F_Text_236D27, VictoryRoad_B2F_Text_236D6E - msgbox VictoryRoad_B2F_Text_236D8C, MSGBOX_AUTOCLOSE +VictoryRoad_B2F_EventScript_Dianne:: @ 8236948 + trainerbattle_single TRAINER_DIANNE, VictoryRoad_B2F_Text_DianneIntro, VictoryRoad_B2F_Text_DianneDefeat + msgbox VictoryRoad_B2F_Text_DiannePostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_B2F_Text_23695F: @ 823695F +VictoryRoad_B2F_Text_VitoIntro: @ 823695F .string "I trained together with my whole family,\n" .string "every one of us!\l" .string "I'm not losing to anyone!$" -VictoryRoad_B2F_Text_2369B3: @ 82369B3 +VictoryRoad_B2F_Text_VitoDefeat: @ 82369B3 .string "Better than my family?!\n" .string "Is that possible?!$" -VictoryRoad_B2F_Text_2369DE: @ 82369DE +VictoryRoad_B2F_Text_VitoPostBattle: @ 82369DE .string "I was better than everyone in my\n" .string "family. I've never lost before…\p" .string "I've lost my confidence…\n" .string "Maybe I'll go home…$" -VictoryRoad_B2F_Text_236A4C: @ 8236A4C +VictoryRoad_B2F_Text_OwenIntro: @ 8236A4C .string "I'd heard that there was a tough\n" .string "little kid around. Do they mean you?$" -VictoryRoad_B2F_Text_236A92: @ 8236A92 +VictoryRoad_B2F_Text_OwenDefeat: @ 8236A92 .string "The little shrimp is tough!$" -VictoryRoad_B2F_Text_236AAE: @ 8236AAE +VictoryRoad_B2F_Text_OwenPostBattle: @ 8236AAE .string "The rumors I heard, that tough little\n" .string "kid is from PETALBURG CITY.$" -VictoryRoad_B2F_Text_236AF0: @ 8236AF0 +VictoryRoad_B2F_Text_CarolineIntro: @ 8236AF0 .string "You must be getting a little tired.$" -VictoryRoad_B2F_Text_236B14: @ 8236B14 +VictoryRoad_B2F_Text_CarolineDefeat: @ 8236B14 .string "No signs of tiring at all!$" -VictoryRoad_B2F_Text_236B2F: @ 8236B2F +VictoryRoad_B2F_Text_CarolinePostBattle: @ 8236B2F .string "VICTORY ROAD and the POKéMON LEAGUE\n" .string "are long and grueling challenges.\l" .string "Beware of fatigue!$" -VictoryRoad_B2F_Text_236B88: @ 8236B88 +VictoryRoad_B2F_Text_JulieIntro: @ 8236B88 .string "You shouldn't get complacent just\n" .string "because you have a lot of GYM BADGES.\p" .string "There's always going to be someone\n" .string "who's better than you!$" -VictoryRoad_B2F_Text_236C0A: @ 8236C0A +VictoryRoad_B2F_Text_JulieDefeat: @ 8236C0A .string "You're better than me!$" -VictoryRoad_B2F_Text_236C21: @ 8236C21 +VictoryRoad_B2F_Text_JuliePostBattle: @ 8236C21 .string "Gaze on your collected BADGES and\n" .string "remember the TRAINERS you've faced.$" -VictoryRoad_B2F_Text_236C67: @ 8236C67 +VictoryRoad_B2F_Text_FelixIntro: @ 8236C67 .string "I've come this far, but the tension's\n" .string "giving me awful stomach pain…$" -VictoryRoad_B2F_Text_236CAB: @ 8236CAB +VictoryRoad_B2F_Text_FelixDefeat: @ 8236CAB .string "Ooh…\n" .string "It hurts…$" -VictoryRoad_B2F_Text_236CBA: @ 8236CBA +VictoryRoad_B2F_Text_FelixPostBattle: @ 8236CBA .string "I can't help getting all tense knowing\n" .string "that I'm nearing the POKéMON LEAGUE.\p" .string "It's all I can do to feign calm.$" -VictoryRoad_B2F_Text_236D27: @ 8236D27 +VictoryRoad_B2F_Text_DianneIntro: @ 8236D27 .string "The elite among the elite gather in\n" .string "this cave.\p" .string "How are you finding it?$" -VictoryRoad_B2F_Text_236D6E: @ 8236D6E +VictoryRoad_B2F_Text_DianneDefeat: @ 8236D6E .string "Not rattled in the least bit!$" -VictoryRoad_B2F_Text_236D8C: @ 8236D8C +VictoryRoad_B2F_Text_DiannePostBattle: @ 8236D8C .string "You do have guts! I like that!\n" .string "Keep it going!$" diff --git a/data/maps/map_groups.json b/data/maps/map_groups.json index 4088ddbb51..0a5ee32cf3 100644 --- a/data/maps/map_groups.json +++ b/data/maps/map_groups.json @@ -132,8 +132,8 @@ "FallarborTown_BattleTentBattleRoom", "FallarborTown_PokemonCenter_1F", "FallarborTown_PokemonCenter_2F", - "FallarborTown_House1", - "FallarborTown_House2" + "FallarborTown_CozmosHouse", + "FallarborTown_MoveRelearnersHouse" ], "gMapGroup6": [ "VerdanturfTown_BattleTentLobby", @@ -170,12 +170,12 @@ "SlateportCity_BattleTentLobby", "SlateportCity_BattleTentCorridor", "SlateportCity_BattleTentBattleRoom", - "SlateportCity_House1", + "SlateportCity_NameRatersHouse", "SlateportCity_PokemonFanClub", "SlateportCity_OceanicMuseum_1F", "SlateportCity_OceanicMuseum_2F", "SlateportCity_Harbor", - "SlateportCity_House2", + "SlateportCity_House", "SlateportCity_PokemonCenter_1F", "SlateportCity_PokemonCenter_2F", "SlateportCity_Mart" @@ -456,22 +456,22 @@ "SecretBase_YellowCave4", "SecretBase_Tree4", "SecretBase_Shrub4", - "SingleBattleColosseum", + "BattleColosseum_2P", "TradeCenter", "RecordCorner", - "DoubleBattleColosseum", - "LinkContestRoom1", + "BattleColosseum_4P", + "ContestHall", "UnknownLinkContestRoom_25_29", "UnknownLinkContestRoom_25_30", "UnknownLinkContestRoom_25_31", "UnknownLinkContestRoom_25_32", "UnknownLinkContestRoom_25_33", "UnknownLinkContestRoom_25_34", - "LinkContestRoom2", - "LinkContestRoom3", - "LinkContestRoom4", - "LinkContestRoom5", - "LinkContestRoom6", + "ContestHallBeauty", + "ContestHallTough", + "ContestHallCool", + "ContestHallSmart", + "ContestHallCute", "InsideOfTruck", "SSTidalCorridor", "SSTidalLowerDeck", @@ -510,9 +510,9 @@ "SafariZone_Northeast", "SafariZone_Southeast", "BattleFrontier_OutsideEast", + "BattleFrontier_BattleTowerMultiPartnerRoom", + "BattleFrontier_BattleTowerMultiCorridor", "BattleFrontier_BattleTowerMultiBattleRoom", - "BattleFrontier_BattleTowerCorridor2", - "BattleFrontier_BattleTowerBattleRoom2", "BattleFrontier_BattleDomeLobby", "BattleFrontier_BattleDomeCorridor", "BattleFrontier_BattleDomePreBattleRoom", @@ -521,7 +521,7 @@ "BattleFrontier_BattlePalaceCorridor", "BattleFrontier_BattlePalaceBattleRoom", "BattleFrontier_BattlePyramidLobby", - "BattleFrontier_BattlePyramidEmptySquare", + "BattleFrontier_BattlePyramidFloor", "BattleFrontier_BattlePyramidTop", "BattleFrontier_BattleArenaLobby", "BattleFrontier_BattleArenaCorridor", @@ -532,12 +532,12 @@ "BattleFrontier_BattlePikeLobby", "BattleFrontier_BattlePikeCorridor", "BattleFrontier_BattlePikeThreePathRoom", - "BattleFrontier_BattlePikeRandomRoom1", - "BattleFrontier_BattlePikeRandomRoom2", - "BattleFrontier_BattlePikeRandomRoom3", + "BattleFrontier_BattlePikeRoomNormal", + "BattleFrontier_BattlePikeRoomFinal", + "BattleFrontier_BattlePikeRoomWildMons", "BattleFrontier_RankingHall", "BattleFrontier_Lounge1", - "BattleFrontier_BattlePointExchangeServiceCorner", + "BattleFrontier_ExchangeServiceCorner", "BattleFrontier_Lounge2", "BattleFrontier_Lounge3", "BattleFrontier_Lounge4", diff --git a/data/mystery_event.s b/data/mystery_event.s new file mode 100644 index 0000000000..d707731b62 --- /dev/null +++ b/data/mystery_event.s @@ -0,0 +1,25 @@ +#include "constants/global.h" +#include "constants/flags.h" +#include "constants/items.h" +#include "constants/map_scripts.h" +#include "constants/mevent.h" +#include "constants/moves.h" +#include "constants/region_map_sections.h" +#include "constants/songs.h" +#include "constants/species.h" +#include "constants/vars.h" + .include "asm/macros.inc" + .include "asm/macros/event.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 + .include "data/scripts/mevent_stamp_card.inc" + .include "data/scripts/mevent_pichu.inc" + .include "data/scripts/mevent_trainer.inc" + .include "data/scripts/mevent_battle_card.inc" + .include "data/scripts/mevent_aurora_ticket.inc" + .include "data/scripts/mevent_mystic_ticket.inc" + .include "data/scripts/mevent_altering_cave.inc" + .include "data/scripts/mevent_old_sea_map.inc" diff --git a/data/mystery_event_msg.s b/data/mystery_event_msg.s deleted file mode 100644 index dd1f8e6818..0000000000 --- a/data/mystery_event_msg.s +++ /dev/null @@ -1,343 +0,0 @@ -#include "constants/flags.h" -#include "constants/items.h" -#include "constants/map_scripts.h" -#include "constants/moves.h" -#include "constants/songs.h" -#include "constants/species.h" -#include "constants/vars.h" - .include "asm/macros.inc" - .include "asm/macros/event.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 - -MysteryEventScript_StampCard:: @ 8674CB0 - setvaddress MysteryEventScript_StampCard - setorcopyvar VAR_RESULT, 1 - specialvar VAR_0x8008, sub_813986C - setorcopyvar VAR_RESULT, 0 - specialvar VAR_0x8009, sub_813986C - subvar VAR_0x8008, 32777 - buffernumberstring 0, VAR_0x8008 - lock - faceplayer - vmessage sText_MysteryGiftStampCard - waitmessage - waitbuttonpress - release - end - -sText_MysteryGiftStampCard: - .string "Thank you for using the STAMP CARD\nSystem.\pYou have {STR_VAR_1} more to collect to\nfill your STAMP CARD.$" - -MysteryEventScript_SurfPichu:: @ 8674D3D - setvaddress MysteryEventScript_SurfPichu - checkflag FLAG_MYSTERY_EVENT_DONE - vgoto_if 0, SurfPichu_GiveIfPossible - returnram - -SurfPichu_GiveIfPossible: @ 8674D4C - specialvar VAR_EVENT_PICHU_SLOT, CalculatePlayerPartyCount - compare_var_to_value VAR_EVENT_PICHU_SLOT, 6 - vgoto_if 1, SurfPichu_FullParty - setflag FLAG_MYSTERY_EVENT_DONE - vcall SurfPichu_GiveEgg - lock - faceplayer - vmessage sText_MysteryGiftEgg - waitmessage - waitbuttonpress - playfanfare MUS_FANFA4 - waitfanfare - release - end - -SurfPichu_FullParty: @ 8674D73 - lock - faceplayer - vmessage sText_FullParty - waitmessage - waitbuttonpress - release - end - -SurfPichu_GiveEgg: @ 8674D7E - giveegg SPECIES_PICHU - setmonobedient VAR_EVENT_PICHU_SLOT - setmonmetlocation VAR_EVENT_PICHU_SLOT, 255 - compare_var_to_value VAR_EVENT_PICHU_SLOT, 1 - vgoto_if 1, SurfPichu_Slot1 - compare_var_to_value VAR_EVENT_PICHU_SLOT, 2 - vgoto_if 1, SurfPichu_Slot2 - compare_var_to_value VAR_EVENT_PICHU_SLOT, 3 - vgoto_if 1, SurfPichu_Slot3 - compare_var_to_value VAR_EVENT_PICHU_SLOT, 4 - vgoto_if 1, SurfPichu_Slot4 - compare_var_to_value VAR_EVENT_PICHU_SLOT, 5 - vgoto_if 1, SurfPichu_Slot5 - return - -SurfPichu_Slot1: @ 8674DC0 - setmonmove 1, 2, MOVE_SURF - return - -SurfPichu_Slot2:: @ 8674DC6 - setmonmove 2, 2, MOVE_SURF - return - -SurfPichu_Slot3: @ 8674DCC - setmonmove 3, 2, MOVE_SURF - return - -SurfPichu_Slot4: @ 8674DD2 - setmonmove 4, 2, MOVE_SURF - return - -SurfPichu_Slot5: @ 8674DD8 - setmonmove 5, 2, MOVE_SURF - return - -sText_MysteryGiftEgg: - .string "Thank you for using the MYSTERY\nGIFT System.\pFrom the POKéMON CENTER we\nhave a gift--a POKéMON EGG!\pPlease raise it with love and\nkindness.$" - -sText_FullParty: - .string "Oh, your party appears to be full.\pPlease come see me after storing\na POKéMON on a PC.$" - -MysteryEventScript_VisitingTrainer:: @ 8674EC1 - setvaddress MysteryEventScript_VisitingTrainer - special ValidateEReaderTrainer - compare_var_to_value VAR_RESULT, 0 - vgoto_if 1, MysteryEventScript_VisitingTrainerArrived - lock - faceplayer - vmessage sText_MysteryGiftVisitingTrainer - waitmessage - waitbuttonpress - release - end - -MysteryEventScript_VisitingTrainerArrived: @ 8674EDF - lock - faceplayer - vmessage sText_MysteryGiftVisitingTrainer_2 - waitmessage - waitbuttonpress - release - end - -sText_MysteryGiftVisitingTrainer: - .string "Thank you for using the MYSTERY\nGIFT System.\pBy holding this WONDER CARD, you\nmay take part in a survey at a\lPOKéMON MART.\pUse these surveys to invite\nTRAINERS to SOOTOPOLIS CITY.\p…Let me give you a secret\npassword for a survey:\p“GIVE ME\nAWESOME TRAINER”\pWrite that in on a survey and send\nit to the WIRELESS\lCOMMUNICATION SYSTEM.$" - -sText_MysteryGiftVisitingTrainer_2: - .string "Thank you for using the MYSTERY\nGIFT System.\pA TRAINER has arrived in\nSOOTOPOLIS CITY looking for you.\pWe hope you will enjoy\nbattling the visiting TRAINER.\pYou may invite other TRAINERS by\nentering other passwords.\pTry looking for other passwords\nthat may work.$" - -MysteryEventScript_BattleCard:: @ 867513C - setvaddress MysteryEventScript_BattleCard - checkflag FLAG_MYSTERY_EVENT_DONE - vgoto_if 1, MysteryEventScript_BattleCardInfo - setorcopyvar VAR_RESULT, 2 - specialvar VAR_0x8008, sub_813986C - compare_var_to_value VAR_0x8008, 3 - vgoto_if 0, MysteryEventScript_BattleCardInfo - lock - faceplayer - vmessage sText_MysteryGiftBattleCountCard_2 - waitmessage - waitbuttonpress - giveitem_std ITEM_POTION - release - setflag FLAG_MYSTERY_EVENT_DONE - end - -MysteryEventScript_BattleCardInfo: @ 8675179 - lock - faceplayer - vmessage sText_MysteryGiftBattleCountCard - waitmessage - waitbuttonpress - release - end - -sText_MysteryGiftBattleCountCard: - .string "Thank you for using the MYSTERY\nGIFT System.\pYour BATTLE COUNT CARD keeps\ntrack of your battle record against\lTRAINERS with the same CARD.\pLook for and battle TRAINERS who\nhave the same CARD as you.\pYou may check the overall rankings\nby reading the NEWS.\pPlease do give it a try!$" - -sText_MysteryGiftBattleCountCard_2: - .string "Thank you for using the MYSTERY\nGIFT System.\pCongratulations!\pYou have won a prize for winning\nthree battles!\pWe hope you will be inspired to\nbattle some more.$" - -MysteryEventScript_AuroraTicket:: @ 867533C - setvaddress MysteryEventScript_AuroraTicket - lock - faceplayer - checkflag FLAG_RECEIVED_AURORA_TICKET - vgoto_if 1, AuroraTicket_Obtained - checkflag FLAG_BATTLED_DEOXYS - vgoto_if 1, AuroraTicket_Obtained - checkitem ITEM_AURORA_TICKET, 1 - compare_var_to_value VAR_RESULT, 1 - vgoto_if 1, AuroraTicket_Obtained - vmessage sText_AuroraTicket1 - waitmessage - waitbuttonpress - checkitemspace ITEM_AURORA_TICKET, 1 - compare_var_to_value VAR_RESULT, 0 - vgoto_if 1, AuroraTicket_NoBagSpace - giveitem_std ITEM_AURORA_TICKET - setflag FLAG_ENABLE_SHIP_BIRTH_ISLAND - setflag FLAG_RECEIVED_AURORA_TICKET - vmessage sText_AuroraTicket2 - waitmessage - waitbuttonpress - release - end - -AuroraTicket_NoBagSpace: @ 8675397 - vmessage sText_AuroraTicketNoPlace - waitmessage - waitbuttonpress - release - end - -AuroraTicket_Obtained: @ 86753A0 - vmessage sText_AuroraTicketGot - waitmessage - waitbuttonpress - release - end - -sText_AuroraTicket1: - .string "Thank you for using the MYSTERY\nGIFT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$" - -sText_AuroraTicket2: - .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$" - -sText_AuroraTicketGot: - .string "Thank you for using the MYSTERY\nGIFT System.$" - -sText_AuroraTicketNoPlace: - .string "Oh, I'm sorry, {PLAYER}.\nYour BAG's KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$" - -MysteryEventScript_MysticTicket:: @ 867550B - setvaddress MysteryEventScript_MysticTicket - lock - faceplayer - checkflag FLAG_RECEIVED_MYSTIC_TICKET - vgoto_if 1, MysticTicket_Obtained - checkflag FLAG_CAUGHT_LUGIA - vgoto_if 1, MysticTicket_Obtained - checkflag FLAG_CAUGHT_HO_OH - vgoto_if 1, MysticTicket_Obtained - checkitem ITEM_MYSTIC_TICKET, 1 - compare_var_to_value VAR_RESULT, 1 - vgoto_if 1, MysticTicket_Obtained - vmessage sText_MysticTicket2 - waitmessage - waitbuttonpress - checkitemspace ITEM_MYSTIC_TICKET, 1 - compare_var_to_value VAR_RESULT, 0 - vgoto_if 1, MysticTicket_NoBagSpace - giveitem_std ITEM_MYSTIC_TICKET - setflag FLAG_ENABLE_SHIP_NAVEL_ROCK - setflag FLAG_RECEIVED_MYSTIC_TICKET - vmessage sText_MysticTicket1 - waitmessage - waitbuttonpress - release - end - -MysticTicket_NoBagSpace: @ 867556F - vmessage sText_MysticTicketNoPlace - waitmessage - waitbuttonpress - release - end - -MysticTicket_Obtained: @ 8675578 - vmessage sText_MysticTicketGot - waitmessage - waitbuttonpress - release - end - -sText_MysticTicket2: - .string "Thank you for using the MYSTERY\nGIFT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$" - -sText_MysticTicket1: - .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$" - -sText_MysticTicketGot: - .string "Thank you for using the MYSTERY\nGIFT System.$" - -sText_MysticTicketNoPlace: - .string "Oh, I'm sorry, {PLAYER}.\nYour BAG's KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$" - -MysteryEventScript_AlteringCave:: @ 86756E3 - setvaddress MysteryEventScript_AlteringCave - addvar VAR_ALTERING_CAVE_WILD_SET, 1 - compare_var_to_value VAR_ALTERING_CAVE_WILD_SET, 10 - vgoto_if 0, MysteryEventScript_AlteringCave_ - setvar VAR_ALTERING_CAVE_WILD_SET, 0 -MysteryEventScript_AlteringCave_: @ 86756FD - lock - faceplayer - vmessage sText_MysteryGiftAlteringCave - waitmessage - waitbuttonpress - release - end - -sText_MysteryGiftAlteringCave:: - .string "Thank you for using the MYSTERY\nGIFT System.\pThere appears to be a rumor about\nrare POKéMON sightings.\pThe sightings reportedly came from\nthe ALTERING CAVE on ROUTE 103.\pPerhaps it would be worthwhile for\nyou to investigate this rumor.$" - -MysteryEventScript_OldSeaMap:: @ 86757F4 - setvaddress MysteryEventScript_OldSeaMap - lock - faceplayer - checkflag FLAG_RECEIVED_OLD_SEA_MAP - vgoto_if 1, OldSeaMap_Obtained - checkflag FLAG_CAUGHT_MEW - vgoto_if 1, OldSeaMap_Obtained - checkitem ITEM_OLD_SEA_MAP, 1 - compare_var_to_value VAR_RESULT, 1 - vgoto_if 1, OldSeaMap_Obtained - vmessage sText_MysteryGiftOldSeaMap - waitmessage - waitbuttonpress - checkitemspace ITEM_OLD_SEA_MAP, 1 - compare_var_to_value VAR_RESULT, 0 - vgoto_if 1, OldSeaMap_NoBagSpace - giveitem_std ITEM_OLD_SEA_MAP - setflag FLAG_ENABLE_SHIP_FARAWAY_ISLAND - setflag FLAG_RECEIVED_OLD_SEA_MAP - vmessage sText_MysteryGiftOldSeaMap_1 - waitmessage - waitbuttonpress - release - end - -OldSeaMap_NoBagSpace: @ 867584F - vmessage sText_MysteryGiftOldSeaMap_3 - waitmessage - waitbuttonpress - release - end - -OldSeaMap_Obtained: @ 8675858 - vmessage sText_MysteryGiftOldSeaMap_2 - waitmessage - waitbuttonpress - release - end - -sText_MysteryGiftOldSeaMap: - .string "Thank you for using the MYSTERY\nGIFT System.\pLet me confirm--you are {PLAYER}?\pWe received this OLD SEA MAP\naddressed to you.$" - -sText_MysteryGiftOldSeaMap_1: - .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$" - -sText_MysteryGiftOldSeaMap_2: - .string "Thank you for using the MYSTERY\nGIFT System.$" - -sText_MysteryGiftOldSeaMap_3: - .string "Oh, I'm sorry, {PLAYER}.\nYour BAG's KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$" diff --git a/data/mossdeep_gym.s b/data/rotating_tile_puzzle.s similarity index 52% rename from data/mossdeep_gym.s rename to data/rotating_tile_puzzle.s index 01eb792b7b..f9cf208db5 100644 --- a/data/mossdeep_gym.s +++ b/data/rotating_tile_puzzle.s @@ -2,42 +2,42 @@ .section .rodata -gUnknown_08612698:: @ 8612698 +RotatingTilePuzzle_Movement_ShiftRight:: @ 8612698 store_lock_anim walk_right free_unlock_anim step_end -gUnknown_0861269C:: @ 861269C +RotatingTilePuzzle_Movement_ShiftDown:: @ 861269C store_lock_anim walk_down free_unlock_anim step_end -gUnknown_086126A0:: @ 86126A0 +RotatingTilePuzzle_Movement_ShiftLeft:: @ 86126A0 store_lock_anim walk_left free_unlock_anim step_end -gUnknown_086126A4:: @ 86126A4 +RotatingTilePuzzle_Movement_ShiftUp:: @ 86126A4 store_lock_anim walk_up free_unlock_anim step_end -gUnknown_086126A8:: @ 86126A8 +RotatingTilePuzzle_Movement_FaceRight:: @ 86126A8 face_right step_end -gUnknown_086126AA:: @ 86126AA +RotatingTilePuzzle_Movement_FaceDown:: @ 86126AA face_down step_end -gUnknown_086126AC:: @ 86126AC +RotatingTilePuzzle_Movement_FaceLeft:: @ 86126AC face_left step_end -gUnknown_086126AE:: @ 86126AE +RotatingTilePuzzle_Movement_FaceUp:: @ 86126AE face_up step_end diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc index 910227a921..2cde7190fe 100644 --- a/data/script_cmd_table.inc +++ b/data/script_cmd_table.inc @@ -68,15 +68,15 @@ gScriptCmdTable:: @ 81DB67C .4byte ScrCmd_setholewarp .4byte ScrCmd_getplayerxy .4byte ScrCmd_getpartysize - .4byte ScrCmd_giveitem - .4byte ScrCmd_takeitem + .4byte ScrCmd_additem + .4byte ScrCmd_removeitem .4byte ScrCmd_checkitemspace .4byte ScrCmd_checkitem .4byte ScrCmd_checkitemtype - .4byte ScrCmd_givepcitem + .4byte ScrCmd_addpcitem .4byte ScrCmd_checkpcitem - .4byte ScrCmd_givedecoration - .4byte ScrCmd_takedecoration + .4byte ScrCmd_adddecoration + .4byte ScrCmd_removedecoration .4byte ScrCmd_checkdecor .4byte ScrCmd_checkdecorspace .4byte ScrCmd_applymovement @@ -144,8 +144,8 @@ gScriptCmdTable:: @ 81DB67C .4byte ScrCmd_showcontestresults .4byte ScrCmd_contestlinktransfer .4byte ScrCmd_random - .4byte ScrCmd_givemoney - .4byte ScrCmd_takemoney + .4byte ScrCmd_addmoney + .4byte ScrCmd_removemoney .4byte ScrCmd_checkmoney .4byte ScrCmd_showmoneybox .4byte ScrCmd_hidemoneybox @@ -180,8 +180,8 @@ gScriptCmdTable:: @ 81DB67C .4byte ScrCmd_addelevmenuitem .4byte ScrCmd_showelevmenu .4byte ScrCmd_checkcoins - .4byte ScrCmd_givecoins - .4byte ScrCmd_takecoins + .4byte ScrCmd_addcoins + .4byte ScrCmd_removecoins .4byte ScrCmd_setwildbattle .4byte ScrCmd_dowildbattle .4byte ScrCmd_setvaddress @@ -211,20 +211,20 @@ gScriptCmdTable:: @ 81DB67C .4byte ScrCmd_nop1 .4byte ScrCmd_warpD1 .4byte ScrCmd_setmonmetlocation - .4byte ScrCmd_mossdeepgym1 - .4byte ScrCmd_mossdeepgym2 - .4byte ScrCmd_mossdeepgym3 - .4byte ScrCmd_mossdeepgym4 - .4byte ScrCmd_warpD7 + .4byte ScrCmd_moverotatingtileobjects + .4byte ScrCmd_turnrotatingtileobjects + .4byte ScrCmd_initrotatingtilepuzzle + .4byte ScrCmd_freerotatingtilepuzzle + .4byte ScrCmd_warpmossdeepgym .4byte ScrCmd_cmdD8 .4byte ScrCmd_cmdD9 - .4byte ScrCmd_cmdDA + .4byte ScrCmd_closebraillemessage .4byte ScrCmd_cmdDB .4byte ScrCmd_fadescreenswapbuffers .4byte ScrCmd_buffertrainerclassname .4byte ScrCmd_buffertrainername .4byte ScrCmd_pokenavcall - .4byte ScrCmd_warpE0 + .4byte ScrCmd_warpsootopolislegend .4byte ScrCmd_buffercontesttype .4byte ScrCmd_bufferitemnameplural diff --git a/data/scripts/abnormal_weather.inc b/data/scripts/abnormal_weather.inc new file mode 100644 index 0000000000..88da0405ff --- /dev/null +++ b/data/scripts/abnormal_weather.inc @@ -0,0 +1,426 @@ +AbnormalWeather_EventScript_PlaceTilesRoute114North:: @ 8273913 + setmetatile 7, 3, METATILE_Fallarbor_RedCaveEntrance_Top, 1 + setmetatile 7, 4, METATILE_Fallarbor_RedCaveEntrance_Bottom, 0 + return + +AbnormalWeather_EventScript_PlaceTilesRoute114South:: @ 8273926 + setmetatile 6, 45, METATILE_Fallarbor_BrownCaveEntrance_Top, 1 + setmetatile 6, 46, METATILE_Fallarbor_BrownCaveEntrance_Bottom, 0 + return + +AbnormalWeather_EventScript_PlaceTilesRoute115West:: @ 8273939 + setmetatile 21, 5, METATILE_Fallarbor_BrownCaveEntrance_Top, 1 + setmetatile 21, 6, METATILE_Fallarbor_BrownCaveEntrance_Bottom, 0 + return + +AbnormalWeather_EventScript_PlaceTilesRoute115East:: @ 827394C + setmetatile 36, 9, METATILE_Fallarbor_BrownCaveEntrance_Top, 1 + setmetatile 36, 10, METATILE_Fallarbor_BrownCaveEntrance_Bottom, 0 + return + +AbnormalWeather_EventScript_PlaceTilesRoute116North:: @ 827395F + setmetatile 59, 12, METATILE_General_CaveEntrance_Top, 1 + setmetatile 59, 13, METATILE_General_CaveEntrance_Bottom, 0 + return + +AbnormalWeather_EventScript_PlaceTilesRoute116South:: @ 8273972 + setmetatile 79, 5, METATILE_General_CaveEntrance_Top, 1 + setmetatile 79, 6, METATILE_General_CaveEntrance_Bottom, 0 + return + +AbnormalWeather_EventScript_PlaceTilesRoute118East:: @ 8273985 + setmetatile 42, 5, METATILE_General_CaveEntrance_Top, 1 + setmetatile 42, 6, METATILE_General_CaveEntrance_Bottom, 0 + return + +AbnormalWeather_EventScript_PlaceTilesRoute118West:: @ 8273998 + setmetatile 9, 5, METATILE_General_CaveEntrance_Top, 1 + setmetatile 9, 6, METATILE_General_CaveEntrance_Bottom, 0 + return + +AbnormalWeather_EventScript_PlaceTilesRoute105North:: @ 82739AB + setmetatile 10, 28, METATILE_General_RoughWater, 0 + setmetatile 11, 28, METATILE_General_RoughWater, 0 + setmetatile 9, 29, METATILE_General_RoughWater, 0 + setmetatile 10, 29, METATILE_General_RoughDeepWater, 0 + setmetatile 11, 29, METATILE_General_RoughDeepWater, 0 + setmetatile 12, 29, METATILE_General_RoughWater, 0 + setmetatile 9, 30, METATILE_General_RoughWater, 0 + setmetatile 10, 30, METATILE_General_RoughDeepWater, 0 + setmetatile 11, 30, METATILE_General_RoughDeepWater, 0 + setmetatile 12, 30, METATILE_General_RoughWater, 0 + setmetatile 10, 31, METATILE_General_RoughWater, 0 + setmetatile 11, 31, METATILE_General_RoughWater, 0 + return + +AbnormalWeather_EventScript_PlaceTilesRoute105South:: @ 8273A18 + setmetatile 20, 53, METATILE_General_RoughWater, 0 + setmetatile 21, 53, METATILE_General_RoughWater, 0 + setmetatile 19, 54, METATILE_General_RoughWater, 0 + setmetatile 20, 54, METATILE_General_RoughDeepWater, 0 + setmetatile 21, 54, METATILE_General_RoughDeepWater, 0 + setmetatile 22, 54, METATILE_General_RoughWater, 0 + setmetatile 19, 55, METATILE_General_RoughWater, 0 + setmetatile 20, 55, METATILE_General_RoughDeepWater, 0 + setmetatile 21, 55, METATILE_General_RoughDeepWater, 0 + setmetatile 22, 55, METATILE_General_RoughWater, 0 + setmetatile 20, 56, METATILE_General_RoughWater, 0 + setmetatile 21, 56, METATILE_General_RoughWater, 0 + return + +AbnormalWeather_EventScript_PlaceTilesRoute125West:: @ 8273A85 + setmetatile 8, 16, METATILE_General_RoughWater, 0 + setmetatile 9, 16, METATILE_General_RoughWater, 0 + setmetatile 7, 17, METATILE_General_RoughWater, 0 + setmetatile 8, 17, METATILE_General_RoughDeepWater, 0 + setmetatile 9, 17, METATILE_General_RoughDeepWater, 0 + setmetatile 10, 17, METATILE_General_RoughWater, 0 + setmetatile 7, 18, METATILE_General_RoughWater, 0 + setmetatile 8, 18, METATILE_General_RoughDeepWater, 0 + setmetatile 9, 18, METATILE_General_RoughDeepWater, 0 + setmetatile 10, 18, METATILE_General_RoughWater, 0 + setmetatile 8, 19, METATILE_General_RoughWater, 0 + setmetatile 9, 19, METATILE_General_RoughWater, 0 + return + +AbnormalWeather_EventScript_PlaceTilesRoute125East:: @ 8273AF2 + setmetatile 53, 18, METATILE_General_RoughWater, 0 + setmetatile 54, 18, METATILE_General_RoughWater, 0 + setmetatile 52, 19, METATILE_General_RoughWater, 0 + setmetatile 53, 19, METATILE_General_RoughDeepWater, 0 + setmetatile 54, 19, METATILE_General_RoughDeepWater, 0 + setmetatile 55, 19, METATILE_General_RoughWater, 0 + setmetatile 52, 20, METATILE_General_RoughWater, 0 + setmetatile 53, 20, METATILE_General_RoughDeepWater, 0 + setmetatile 54, 20, METATILE_General_RoughDeepWater, 0 + setmetatile 55, 20, METATILE_General_RoughWater, 0 + setmetatile 53, 21, METATILE_General_RoughWater, 0 + setmetatile 54, 21, METATILE_General_RoughWater, 0 + return + +AbnormalWeather_EventScript_PlaceTilesRoute127North:: @ 8273B5F + setmetatile 57, 9, METATILE_General_RoughWater, 0 + setmetatile 58, 9, METATILE_General_RoughWater, 0 + setmetatile 56, 10, METATILE_General_RoughWater, 0 + setmetatile 57, 10, METATILE_General_RoughDeepWater, 0 + setmetatile 58, 10, METATILE_General_RoughDeepWater, 0 + setmetatile 59, 10, METATILE_General_RoughWater, 0 + setmetatile 56, 11, METATILE_General_RoughWater, 0 + setmetatile 57, 11, METATILE_General_RoughDeepWater, 0 + setmetatile 58, 11, METATILE_General_RoughDeepWater, 0 + setmetatile 59, 11, METATILE_General_RoughWater, 0 + setmetatile 57, 12, METATILE_General_RoughWater, 0 + setmetatile 58, 12, METATILE_General_RoughWater, 0 + return + +AbnormalWeather_EventScript_PlaceTilesRoute127South:: @ 8273BCC + setmetatile 61, 30, METATILE_General_RoughWater, 0 + setmetatile 62, 30, METATILE_General_RoughWater, 0 + setmetatile 60, 31, METATILE_General_RoughWater, 0 + setmetatile 61, 31, METATILE_General_RoughDeepWater, 0 + setmetatile 62, 31, METATILE_General_RoughDeepWater, 0 + setmetatile 63, 31, METATILE_General_RoughWater, 0 + setmetatile 60, 32, METATILE_General_RoughWater, 0 + setmetatile 61, 32, METATILE_General_RoughDeepWater, 0 + setmetatile 62, 32, METATILE_General_RoughDeepWater, 0 + setmetatile 63, 32, METATILE_General_RoughWater, 0 + setmetatile 61, 33, METATILE_General_RoughWater, 0 + setmetatile 62, 33, METATILE_General_RoughWater, 0 + return + +AbnormalWeather_EventScript_PlaceTilesRoute129West:: @ 8273C39 + setmetatile 16, 14, METATILE_General_RoughWater, 0 + setmetatile 17, 14, METATILE_General_RoughWater, 0 + setmetatile 15, 15, METATILE_General_RoughWater, 0 + setmetatile 16, 15, METATILE_General_RoughDeepWater, 0 + setmetatile 17, 15, METATILE_General_RoughDeepWater, 0 + setmetatile 18, 15, METATILE_General_RoughWater, 0 + setmetatile 15, 16, METATILE_General_RoughWater, 0 + setmetatile 16, 16, METATILE_General_RoughDeepWater, 0 + setmetatile 17, 16, METATILE_General_RoughDeepWater, 0 + setmetatile 18, 16, METATILE_General_RoughWater, 0 + setmetatile 16, 17, METATILE_General_RoughWater, 0 + setmetatile 17, 17, METATILE_General_RoughWater, 0 + return + +AbnormalWeather_EventScript_PlaceTilesRoute129East:: @ 8273CA6 + setmetatile 42, 19, METATILE_General_RoughWater, 0 + setmetatile 43, 19, METATILE_General_RoughWater, 0 + setmetatile 41, 20, METATILE_General_RoughWater, 0 + setmetatile 42, 20, METATILE_General_RoughDeepWater, 0 + setmetatile 43, 20, METATILE_General_RoughDeepWater, 0 + setmetatile 44, 20, METATILE_General_RoughWater, 0 + setmetatile 41, 21, METATILE_General_RoughWater, 0 + setmetatile 42, 21, METATILE_General_RoughDeepWater, 0 + setmetatile 43, 21, METATILE_General_RoughDeepWater, 0 + setmetatile 44, 21, METATILE_General_RoughWater, 0 + setmetatile 42, 22, METATILE_General_RoughWater, 0 + setmetatile 43, 22, METATILE_General_RoughWater, 0 + return + +AbnormalWeather_EventScript_HideMapNamePopup:: @ 8273D13 + setflag FLAG_HIDE_MAP_NAME_POPUP + return + +AbnormalWeather_StartKyogreWeather:: @ 8273D17 + setweather WEATHER_DOWNPOUR + return + +AbnormalWeather_StartGroudonWeather:: @ 8273D1B + setweather WEATHER_DROUGHT + return + +AbnormalWeather_EventScript_EndEventAndCleanup_1:: @ 8273D1F + lockall + compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_KYOGRE_LOCATIONS_START + goto_if_ge AbnormalWeather_EventScript_ShowRainEndedMessage + goto AbnormalWeather_EventScript_ShowSunEndedMessage + end + +AbnormalWeather_EventScript_EndEventAndCleanup_2:: @ 8273D31 + closemessage + fadescreenswapbuffers FADE_TO_BLACK + setweather WEATHER_SUNNY + doweather + call AbnormalWeather_EventScript_CleanupMapTiles + special DrawWholeMapView + setvar VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_NONE + setvar VAR_SHOULD_END_ABNORMAL_WEATHER, 0 + clearflag FLAG_HIDE_MAP_NAME_POPUP + fadescreenswapbuffers FADE_FROM_BLACK + releaseall + end + +AbnormalWeather_EventScript_ShowRainEndedMessage:: @ 8273D51 + msgbox gText_AbnormalWeatherEnded_Rain, MSGBOX_DEFAULT + goto AbnormalWeather_EventScript_EndEventAndCleanup_2 + end + +AbnormalWeather_EventScript_ShowSunEndedMessage:: @ 8273D5F + msgbox gText_AbnormalWeatherEnded_Sun, MSGBOX_DEFAULT + goto AbnormalWeather_EventScript_EndEventAndCleanup_2 + end + +AbnormalWeather_EventScript_CleanupMapTiles:: @ 8273D6D + switch VAR_ABNORMAL_WEATHER_LOCATION + case ABNORMAL_WEATHER_ROUTE_114_NORTH, AbnormalWeather_EventScript_CleanupRoute114North + case ABNORMAL_WEATHER_ROUTE_114_SOUTH, AbnormalWeather_EventScript_CleanupRoute114South + case ABNORMAL_WEATHER_ROUTE_115_WEST, AbnormalWeather_EventScript_CleanupRoute115West + case ABNORMAL_WEATHER_ROUTE_115_EAST, AbnormalWeather_EventScript_CleanupRoute115East + case ABNORMAL_WEATHER_ROUTE_116_NORTH, AbnormalWeather_EventScript_CleanupRoute116North + case ABNORMAL_WEATHER_ROUTE_116_SOUTH, AbnormalWeather_EventScript_CleanupRoute116South + case ABNORMAL_WEATHER_ROUTE_118_EAST, AbnormalWeather_EventScript_CleanupRoute118East + case ABNORMAL_WEATHER_ROUTE_118_WEST, AbnormalWeather_EventScript_CleanupRoute118West + case ABNORMAL_WEATHER_ROUTE_105_NORTH, AbnormalWeather_EventScript_CleanupRoute105North + case ABNORMAL_WEATHER_ROUTE_105_SOUTH, AbnormalWeather_EventScript_CleanupRoute105South + case ABNORMAL_WEATHER_ROUTE_125_WEST, AbnormalWeather_EventScript_CleanupRoute125West + case ABNORMAL_WEATHER_ROUTE_125_EAST, AbnormalWeather_EventScript_CleanupRoute125East + case ABNORMAL_WEATHER_ROUTE_127_NORTH, AbnormalWeather_EventScript_CleanupRoute127North + case ABNORMAL_WEATHER_ROUTE_127_SOUTH, AbnormalWeather_EventScript_CleanupRoute127South + case ABNORMAL_WEATHER_ROUTE_129_WEST, AbnormalWeather_EventScript_CleanupRoute129West + case ABNORMAL_WEATHER_ROUTE_129_EAST, AbnormalWeather_EventScript_CleanupRoute129East + return + +AbnormalWeather_EventScript_CleanupRoute114North:: @ 8273E23 + setmetatile 7, 3, METATILE_Fallarbor_RedRockWall, 1 + setmetatile 7, 4, METATILE_Fallarbor_RedRockWall, 1 + return + +AbnormalWeather_EventScript_CleanupRoute114South:: @ 8273E36 + setmetatile 6, 45, METATILE_Fallarbor_BrownRockWall, 1 + setmetatile 6, 46, METATILE_Fallarbor_BrownRockWall, 1 + return + +AbnormalWeather_EventScript_CleanupRoute115West:: @ 8273E49 + setmetatile 21, 5, METATILE_Fallarbor_BrownRockWall, 1 + setmetatile 21, 6, METATILE_Fallarbor_BrownRockWall, 1 + return + +AbnormalWeather_EventScript_CleanupRoute115East:: @ 8273E5C + setmetatile 36, 9, METATILE_Fallarbor_BrownRockWall, 1 + setmetatile 36, 10, METATILE_Fallarbor_BrownRockWall, 1 + return + +AbnormalWeather_EventScript_CleanupRoute116North:: @ 8273E6F + setmetatile 59, 12, METATILE_General_RockWall_RockBase, 1 + setmetatile 59, 13, METATILE_General_RockWall_RockBase, 1 + return + +AbnormalWeather_EventScript_CleanupRoute116South:: @ 8273E82 + setmetatile 79, 5, METATILE_General_RockWall_RockBase, 1 + setmetatile 79, 6, METATILE_General_RockWall_RockBase, 1 + return + +AbnormalWeather_EventScript_CleanupRoute118East:: @ 8273E95 + setmetatile 42, 5, METATILE_General_RockWall_RockBase, 1 + setmetatile 42, 6, METATILE_General_RockWall_GrassBase, 1 + return + +AbnormalWeather_EventScript_CleanupRoute118West:: @ 8273EA8 + setmetatile 9, 5, METATILE_General_RockWall_RockBase, 1 + setmetatile 9, 6, METATILE_General_RockWall_GrassBase, 1 + return + +AbnormalWeather_EventScript_CleanupRoute105North:: @ 8273EBB + setmetatile 10, 28, METATILE_General_CalmWater, 0 + setmetatile 11, 28, METATILE_General_CalmWater, 0 + setmetatile 9, 29, METATILE_General_CalmWater, 0 + setmetatile 10, 29, METATILE_General_CalmWater, 0 + setmetatile 11, 29, METATILE_General_CalmWater, 0 + setmetatile 12, 29, METATILE_General_CalmWater, 0 + setmetatile 9, 30, METATILE_General_CalmWater, 0 + setmetatile 10, 30, METATILE_General_CalmWater, 0 + setmetatile 11, 30, METATILE_General_CalmWater, 0 + setmetatile 12, 30, METATILE_General_CalmWater, 0 + setmetatile 10, 31, METATILE_General_CalmWater, 0 + setmetatile 11, 31, METATILE_General_CalmWater, 0 + return + +AbnormalWeather_EventScript_CleanupRoute105South:: @ 8273F28 + setmetatile 20, 53, METATILE_General_CalmWater, 0 + setmetatile 21, 53, METATILE_General_CalmWater, 0 + setmetatile 19, 54, METATILE_General_CalmWater, 0 + setmetatile 20, 54, METATILE_General_CalmWater, 0 + setmetatile 21, 54, METATILE_General_CalmWater, 0 + setmetatile 22, 54, METATILE_General_CalmWater, 0 + setmetatile 19, 55, METATILE_General_CalmWater, 0 + setmetatile 20, 55, METATILE_General_CalmWater, 0 + setmetatile 21, 55, METATILE_General_CalmWater, 0 + setmetatile 22, 55, METATILE_General_CalmWater, 0 + setmetatile 20, 56, METATILE_General_CalmWater, 0 + setmetatile 21, 56, METATILE_General_CalmWater, 0 + return + +AbnormalWeather_EventScript_CleanupRoute125West:: @ 8273F95 + setmetatile 8, 16, METATILE_General_CalmWater, 0 + setmetatile 9, 16, METATILE_General_CalmWater, 0 + setmetatile 7, 17, METATILE_General_CalmWater, 0 + setmetatile 8, 17, METATILE_General_CalmWater, 0 + setmetatile 9, 17, METATILE_General_CalmWater, 0 + setmetatile 10, 17, METATILE_General_CalmWater, 0 + setmetatile 7, 18, METATILE_General_CalmWater, 0 + setmetatile 8, 18, METATILE_General_CalmWater, 0 + setmetatile 9, 18, METATILE_General_CalmWater, 0 + setmetatile 10, 18, METATILE_General_CalmWater, 0 + setmetatile 8, 19, METATILE_General_CalmWater, 0 + setmetatile 9, 19, METATILE_General_CalmWater, 0 + return + +AbnormalWeather_EventScript_CleanupRoute125East:: @ 8274002 + setmetatile 53, 18, METATILE_General_CalmWater, 0 + setmetatile 54, 18, METATILE_General_CalmWater, 0 + setmetatile 52, 19, METATILE_General_CalmWater, 0 + setmetatile 53, 19, METATILE_General_CalmWater, 0 + setmetatile 54, 19, METATILE_General_CalmWater, 0 + setmetatile 55, 19, METATILE_General_CalmWater, 0 + setmetatile 52, 20, METATILE_General_CalmWater, 0 + setmetatile 53, 20, METATILE_General_CalmWater, 0 + setmetatile 54, 20, METATILE_General_CalmWater, 0 + setmetatile 55, 20, METATILE_General_CalmWater, 0 + setmetatile 53, 21, METATILE_General_CalmWater, 0 + setmetatile 54, 21, METATILE_General_CalmWater, 0 + return + +AbnormalWeather_EventScript_CleanupRoute127North:: @ 827406F + setmetatile 57, 9, METATILE_General_CalmWater, 0 + setmetatile 58, 9, METATILE_General_CalmWater, 0 + setmetatile 56, 10, METATILE_General_CalmWater, 0 + setmetatile 57, 10, METATILE_General_CalmWater, 0 + setmetatile 58, 10, METATILE_General_CalmWater, 0 + setmetatile 59, 10, METATILE_General_CalmWater, 0 + setmetatile 56, 11, METATILE_General_CalmWater, 0 + setmetatile 57, 11, METATILE_General_CalmWater, 0 + setmetatile 58, 11, METATILE_General_CalmWater, 0 + setmetatile 59, 11, METATILE_General_CalmWater, 0 + setmetatile 57, 12, METATILE_General_CalmWater, 0 + setmetatile 58, 12, METATILE_General_CalmWater, 0 + return + +AbnormalWeather_EventScript_CleanupRoute127South:: @ 82740DC + setmetatile 61, 30, METATILE_General_CalmWater, 0 + setmetatile 62, 30, METATILE_General_CalmWater, 0 + setmetatile 60, 31, METATILE_General_CalmWater, 0 + setmetatile 61, 31, METATILE_General_CalmWater, 0 + setmetatile 62, 31, METATILE_General_CalmWater, 0 + setmetatile 63, 31, METATILE_General_CalmWater, 0 + setmetatile 60, 32, METATILE_General_CalmWater, 0 + setmetatile 61, 32, METATILE_General_CalmWater, 0 + setmetatile 62, 32, METATILE_General_CalmWater, 0 + setmetatile 63, 32, METATILE_General_CalmWater, 0 + setmetatile 61, 33, METATILE_General_CalmWater, 0 + setmetatile 62, 33, METATILE_General_CalmWater, 0 + return + +AbnormalWeather_EventScript_CleanupRoute129West:: @ 8274149 + setmetatile 16, 14, METATILE_General_CalmWater, 0 + setmetatile 17, 14, METATILE_General_CalmWater, 0 + setmetatile 15, 15, METATILE_General_CalmWater, 0 + setmetatile 16, 15, METATILE_General_CalmWater, 0 + setmetatile 17, 15, METATILE_General_CalmWater, 0 + setmetatile 18, 15, METATILE_General_CalmWater, 0 + setmetatile 15, 16, METATILE_General_CalmWater, 0 + setmetatile 16, 16, METATILE_General_CalmWater, 0 + setmetatile 17, 16, METATILE_General_CalmWater, 0 + setmetatile 18, 16, METATILE_General_CalmWater, 0 + setmetatile 16, 17, METATILE_General_CalmWater, 0 + setmetatile 17, 17, METATILE_General_CalmWater, 0 + return + +AbnormalWeather_EventScript_CleanupRoute129East:: @ 82741B6 + setmetatile 42, 19, METATILE_General_CalmWater, 0 + setmetatile 43, 19, METATILE_General_CalmWater, 0 + setmetatile 41, 20, METATILE_General_CalmWater, 0 + setmetatile 42, 20, METATILE_General_CalmWater, 0 + setmetatile 43, 20, METATILE_General_CalmWater, 0 + setmetatile 44, 20, METATILE_General_CalmWater, 0 + setmetatile 41, 21, METATILE_General_CalmWater, 0 + setmetatile 42, 21, METATILE_General_CalmWater, 0 + setmetatile 43, 21, METATILE_General_CalmWater, 0 + setmetatile 44, 21, METATILE_General_CalmWater, 0 + setmetatile 42, 22, METATILE_General_CalmWater, 0 + setmetatile 43, 22, METATILE_General_CalmWater, 0 + return + +AbnormalWeather_Underwater_SetupEscapeWarp:: @ 8274223 + switch VAR_ABNORMAL_WEATHER_LOCATION + case ABNORMAL_WEATHER_ROUTE_105_NORTH, AbnormalWeather_Underwater_SetupEscapeWarpRoute105North + case ABNORMAL_WEATHER_ROUTE_105_SOUTH, AbnormalWeather_Underwater_SetupEscapeWarpRoute105South + case ABNORMAL_WEATHER_ROUTE_125_WEST, AbnormalWeather_Underwater_SetupEscapeWarpRoute125West + case ABNORMAL_WEATHER_ROUTE_125_EAST, AbnormalWeather_Underwater_SetupEscapeWarpRoute125East + case ABNORMAL_WEATHER_ROUTE_127_NORTH, AbnormalWeather_Underwater_SetupEscapeWarpRoute127North + case ABNORMAL_WEATHER_ROUTE_127_SOUTH, AbnormalWeather_Underwater_SetupEscapeWarpRoute127South + case ABNORMAL_WEATHER_ROUTE_129_WEST, AbnormalWeather_Underwater_SetupEscapeWarpRoute129West + case ABNORMAL_WEATHER_ROUTE_129_EAST, AbnormalWeather_Underwater_SetupEscapeWarpRoute129East + return + +AbnormalWeather_Underwater_SetupEscapeWarpRoute105North:: @ 8274281 + setescapewarp MAP_ROUTE105, 255, 11, 29 + return + +AbnormalWeather_Underwater_SetupEscapeWarpRoute105South:: @ 827428A + setescapewarp MAP_ROUTE105, 255, 21, 54 + return + +AbnormalWeather_Underwater_SetupEscapeWarpRoute125West:: @ 8274293 + setescapewarp MAP_ROUTE125, 255, 9, 17 + return + +AbnormalWeather_Underwater_SetupEscapeWarpRoute125East:: @ 827429C + setescapewarp MAP_ROUTE125, 255, 54, 19 + return + +AbnormalWeather_Underwater_SetupEscapeWarpRoute127North:: @ 82742A5 + setescapewarp MAP_ROUTE127, 255, 58, 10 + return + +AbnormalWeather_Underwater_SetupEscapeWarpRoute127South:: @ 82742AE + setescapewarp MAP_ROUTE127, 255, 62, 31 + return + +AbnormalWeather_Underwater_SetupEscapeWarpRoute129West:: @ 82742B7 + setescapewarp MAP_ROUTE129, 255, 17, 15 + return + +AbnormalWeather_Underwater_SetupEscapeWarpRoute129East:: @ 82742C0 + setescapewarp MAP_ROUTE129, 255, 43, 20 + return diff --git a/data/scripts/apprentice.inc b/data/scripts/apprentice.inc index b75a3c5792..b3ae904a09 100644 --- a/data/scripts/apprentice.inc +++ b/data/scripts/apprentice.inc @@ -1,327 +1,253 @@ -#include "constants/apprentice.h" - -.macro apprentice_msg waitbuttonpress which -setvar VAR_0x8004, 8 -setvar VAR_0x8005, \waitbuttonpress -setvar VAR_0x8006, \which -special CallApprenticeFunction -waitstate -.endm - -.macro apprentice_buff whichstringvar tobuff -setvar VAR_0x8004, 16 -setvar VAR_0x8005, \whichstringvar -setvar VAR_0x8006, \tobuff -special CallApprenticeFunction -.endm - -.macro apprentice_menu which -setvar VAR_0x8004, 7 -setvar VAR_0x8005, \which -special CallApprenticeFunction -waitstate -.endm - -EventScript_Apprentice:: @ 82B688D +BattleFrontier_BattleTowerLobby_EventScript_Apprentice:: @ 82B688D lock faceplayer - setvar VAR_0x8004, 0 - special CallApprenticeFunction - compare VAR_RESULT, 0 - goto_if_eq Script_Apprentice_FirstMeeting - setvar VAR_0x8004, 10 - special CallApprenticeFunction - compare VAR_0x8004, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B68BE - goto_if_set FLAG_DAILY_APPRENTICE_LEAVES, Script_Apprentice_ReleaseAndEnd - -BattleFrontier_BattleTowerLobby_EventScript_2B68BE: - setvar VAR_0x8004, 11 - special CallApprenticeFunction - compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B69D3 - compare VAR_RESULT, 4 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6ACF - compare VAR_RESULT, 3 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C77 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D5C - compare VAR_RESULT, 5 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6DD4 + apprentice_gavelvlmode + compare VAR_RESULT, FALSE + goto_if_eq Apprentice_EventScript_FirstMeeting + apprentice_shouldcheckgone + compare VAR_0x8004, FALSE @ Always TRUE here + goto_if_eq Apprentice_EventScript_AskQuestion + goto_if_set FLAG_DAILY_APPRENTICE_LEAVES, Apprentice_EventScript_Gone +Apprentice_EventScript_AskQuestion: @ 82B68BE + apprentice_getquestion + compare VAR_RESULT, APPRENTICE_QUESTION_WHICH_MON + goto_if_eq Apprentice_EventScript_UseWhichMon + compare VAR_RESULT, APPRENTICE_QUESTION_WHAT_ITEM + goto_if_eq Apprentice_EventScript_UseWhatHeldItem + compare VAR_RESULT, APPRENTICE_QUESTION_WHICH_MOVE + goto_if_eq Apprentice_EventScript_UseWhichMove + compare VAR_RESULT, APPRENTICE_QUESTION_WHICH_FIRST + goto_if_eq Apprentice_EventScript_PutWhichMonFirst + compare VAR_RESULT, APPRENTICE_QUESTION_WIN_SPEECH + goto_if_eq Apprentice_EventScript_PickWinSpeech release releaseall end -Script_Apprentice_FirstMeeting: +Apprentice_EventScript_FirstMeeting: @ 82B6900 apprentice_buff 0, APPRENTICE_BUFF_NAME - apprentice_msg FALSE, 0 - -Script_Apprentice_FirstMeetingNag: + apprentice_msg FALSE, APPRENTICE_MSG_PLEASE_TEACH +Apprentice_EventScript_WhichLvlMode: @ 82B6925 apprentice_menu APPRENTICE_ASK_YES_NO compare VAR_RESULT, 1 - goto_if_eq Script_Apprentice_FirstMeetingAskAgain - apprentice_msg FALSE, 2 + goto_if_eq Apprentice_EventScript_RejectTeach + apprentice_msg FALSE, APPRENTICE_MSG_WHICH_LVL_MODE apprentice_menu APPRENTICE_ASK_WHICH_LEVEL - setvar VAR_0x8004, 1 - setorcopyvar VAR_0x8005, VAR_RESULT - addvar VAR_0x8005, 1 - special CallApprenticeFunction - setvar VAR_0x8004, 3 - special CallApprenticeFunction + apprentice_setlvlmode VAR_RESULT + apprentice_shufflespecies apprentice_buff 0, APPRENTICE_BUFF_LEVEL - apprentice_msg TRUE, 3 - call Script_Apprentice_SetLeavingFlags + apprentice_msg TRUE, APPRENTICE_MSG_THANKS_LVL_MODE + call Apprentice_EventScript_SetHideFlags release releaseall switch VAR_FACING - case 2, Script_Apprentice_LeaveGoRight - goto Script_Apprentice_Leave + case DIR_NORTH, Apprentice_EventScript_LeaveNorth + goto Apprentice_EventScript_Leave end -Script_Apprentice_FirstMeetingAskAgain: - apprentice_msg FALSE, 1 - goto Script_Apprentice_FirstMeetingNag +@ Its impossible to fully reject an Apprentice, they just keep asking for you to teach them +Apprentice_EventScript_RejectTeach: @ 82B69BB + apprentice_msg FALSE, APPRENTICE_MSG_REJECT + goto Apprentice_EventScript_WhichLvlMode -BattleFrontier_BattleTowerLobby_EventScript_2B69D3: - setvar VAR_0x8004, 14 - setvar VAR_0x8005, 2 - special CallApprenticeFunction +Apprentice_EventScript_UseWhichMon: @ 82B69D3 + apprentice_initquestion APPRENTICE_QUESTION_WHICH_MON apprentice_buff 0, APPRENTICE_BUFF_SPECIES1 apprentice_buff 1, APPRENTICE_BUFF_SPECIES2 - apprentice_msg FALSE, 6 + apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MON apprentice_menu APPRENTICE_ASK_2SPECIES copyvar VAR_0x8005, VAR_RESULT compare VAR_0x8005, 0 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6ABA + call_if_eq Apprentice_EventScript_ChoseFirstMon compare VAR_0x8005, 1 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6AC0 - setvar VAR_0x8004, 12 - special CallApprenticeFunction - copyvar VAR_0x8006, VAR_RESULT - setvar VAR_0x8004, 13 - special CallApprenticeFunction - setvar VAR_0x8004, 5 - special CallApprenticeFunction - setvar VAR_0x8004, 12 - special CallApprenticeFunction - compare VAR_RESULT, 3 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6AC6 - setvar VAR_0x8004, 16 - setvar VAR_0x8005, 0 - copyvar VAR_0x8006, VAR_0x8007 - special CallApprenticeFunction - setvar VAR_0x8004, 15 - special CallApprenticeFunction - apprentice_msg TRUE, 7 - call Script_Apprentice_SetLeavingFlags + call_if_eq Apprentice_EventScript_ChoseSecondMon + apprentice_getnumpartymons + apprentice_setpartymon VAR_RESULT + apprentice_answeredquestion + apprentice_getnumpartymons + compare VAR_RESULT, MULTI_PARTY_SIZE + call_if_eq Apprentice_EventScript_LastMonSelected + apprentice_buff 0, VAR_0x8007 + apprentice_freequestion + apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MON + call Apprentice_EventScript_SetHideFlags release releaseall switch VAR_FACING - case 2, Script_Apprentice_LeaveGoRight - goto Script_Apprentice_Leave + case DIR_NORTH, Apprentice_EventScript_LeaveNorth + goto Apprentice_EventScript_Leave end -BattleFrontier_BattleTowerLobby_EventScript_2B6ABA: - setvar VAR_0x8007, 0 +Apprentice_EventScript_ChoseFirstMon: @ 82B6ABA + setvar VAR_0x8007, APPRENTICE_BUFF_SPECIES1 return -BattleFrontier_BattleTowerLobby_EventScript_2B6AC0: - setvar VAR_0x8007, 1 +Apprentice_EventScript_ChoseSecondMon: @ 82B6AC0 + setvar VAR_0x8007, APPRENTICE_BUFF_SPECIES2 return -BattleFrontier_BattleTowerLobby_EventScript_2B6AC6: - setvar VAR_0x8004, 4 - special CallApprenticeFunction +Apprentice_EventScript_LastMonSelected: @ 82B6AC6 + apprentice_randomizequestions return -BattleFrontier_BattleTowerLobby_EventScript_2B6ACF: - setvar VAR_0x8004, 14 - setvar VAR_0x8005, 4 - special CallApprenticeFunction +Apprentice_EventScript_UseWhatHeldItem: @ 82B6ACF + apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM apprentice_buff 0, APPRENTICE_BUFF_SPECIES3 - apprentice_msg TRUE, 10 - setvar VAR_0x8004, 15 - special CallApprenticeFunction - -BattleFrontier_BattleTowerLobby_EventScript_2B6B09: - fadescreen 1 + apprentice_msg TRUE, APPRENTICE_MSG_WHAT_HELD_ITEM + apprentice_freequestion +Apprentice_EventScript_ChooseHoldItem: @ 82B6B09 + fadescreen FADE_TO_BLACK setvar VAR_RESULT, 0 - setvar VAR_0x8004, 19 - special CallApprenticeFunction - waitstate - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B81 - setvar VAR_0x8004, 20 - special CallApprenticeFunction - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C0C + apprentice_openbag + compare VAR_RESULT, FALSE + goto_if_eq Apprentice_EventScript_ConfirmHoldNothing + apprentice_trysetitem + compare VAR_RESULT, FALSE + goto_if_eq Apprentice_EventScript_AlreadySuggestedItem apprentice_buff 0, APPRENTICE_BUFF_ITEM - apprentice_msg TRUE, 12 - setvar VAR_0x8004, 5 - special CallApprenticeFunction - call Script_Apprentice_SetLeavingFlags + apprentice_msg TRUE, APPRENTICE_MSG_THANKS_HELD_ITEM + apprentice_answeredquestion + call Apprentice_EventScript_SetHideFlags release releaseall switch VAR_FACING - case 2, Script_Apprentice_LeaveGoRight - goto Script_Apprentice_Leave + case DIR_NORTH, Apprentice_EventScript_LeaveNorth + goto Apprentice_EventScript_Leave end -BattleFrontier_BattleTowerLobby_EventScript_2B6B81: - setvar VAR_0x8004, 14 - setvar VAR_0x8005, 4 - special CallApprenticeFunction +Apprentice_EventScript_ConfirmHoldNothing: @ 82B6B81 + apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM apprentice_buff 0, APPRENTICE_BUFF_SPECIES3 - apprentice_msg FALSE, 13 + apprentice_msg FALSE, APPRENTICE_MSG_HOLD_NOTHING apprentice_menu APPRENTICE_ASK_GIVE - setvar VAR_0x8004, 15 - special CallApprenticeFunction + apprentice_freequestion compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09 - -BattleFrontier_BattleTowerLobby_EventScript_2B6BD4: - apprentice_msg TRUE, 14 - setvar VAR_0x8004, 5 - special CallApprenticeFunction - call Script_Apprentice_SetLeavingFlags + goto_if_eq Apprentice_EventScript_ChooseHoldItem +Apprentice_EventScript_HoldNothing: @ 82B6BD4 + apprentice_msg TRUE, APPRENTICE_MSG_THANKS_NO_HELD_ITEM + apprentice_answeredquestion + call Apprentice_EventScript_SetHideFlags release releaseall switch VAR_FACING - case 2, Script_Apprentice_LeaveGoRight - goto Script_Apprentice_Leave + case DIR_NORTH, Apprentice_EventScript_LeaveNorth + goto Apprentice_EventScript_Leave end -BattleFrontier_BattleTowerLobby_EventScript_2B6C0C: - setvar VAR_0x8004, 14 - setvar VAR_0x8005, 4 - special CallApprenticeFunction +@ Because Battle Tower mons may not hold the same item, the player must suggest a +@ different item if theyve already told the Apprentice to use it for another mon +Apprentice_EventScript_AlreadySuggestedItem: @ 82B6C0C + apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM apprentice_buff 0, APPRENTICE_BUFF_ITEM apprentice_buff 1, APPRENTICE_BUFF_SPECIES3 - apprentice_msg FALSE, 16 + apprentice_msg FALSE, APPRENTICE_MSG_ITEM_ALREADY_SUGGESTED apprentice_menu APPRENTICE_ASK_GIVE - setvar VAR_0x8004, 15 - special CallApprenticeFunction + apprentice_freequestion compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09 - goto BattleFrontier_BattleTowerLobby_EventScript_2B6BD4 + goto_if_eq Apprentice_EventScript_ChooseHoldItem + goto Apprentice_EventScript_HoldNothing end -BattleFrontier_BattleTowerLobby_EventScript_2B6C77: - setvar VAR_0x8004, 14 - setvar VAR_0x8005, 3 - special CallApprenticeFunction +Apprentice_EventScript_UseWhichMove: @ 82B6C77 + apprentice_initquestion APPRENTICE_QUESTION_WHICH_MOVE apprentice_buff 0, APPRENTICE_BUFF_SPECIES3 apprentice_buff 1, APPRENTICE_BUFF_MOVE1 apprentice_buff 2, APPRENTICE_BUFF_MOVE2 - apprentice_msg FALSE, 8 + apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MOVE apprentice_menu APPRENTICE_ASK_MOVES copyvar VAR_0x8005, VAR_RESULT compare VAR_0x8005, 0 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D50 + call_if_eq Apprentice_EventScript_ChoseMove1 compare VAR_0x8005, 1 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D56 - setvar VAR_0x8004, 17 - special CallApprenticeFunction - setvar VAR_0x8004, 5 - special CallApprenticeFunction - setvar VAR_0x8004, 16 - setvar VAR_0x8005, 0 - copyvar VAR_0x8006, VAR_0x8007 - special CallApprenticeFunction - setvar VAR_0x8004, 15 - special CallApprenticeFunction - apprentice_msg TRUE, 9 - call Script_Apprentice_SetLeavingFlags + call_if_eq Apprentice_EventScript_ChoseMove2 + apprentice_setmove + apprentice_answeredquestion + apprentice_buff 0, VAR_0x8007 + apprentice_freequestion + apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MOVE + call Apprentice_EventScript_SetHideFlags release releaseall switch VAR_FACING - case 2, Script_Apprentice_LeaveGoRight - goto Script_Apprentice_Leave + case DIR_NORTH, Apprentice_EventScript_LeaveNorth + goto Apprentice_EventScript_Leave end -BattleFrontier_BattleTowerLobby_EventScript_2B6D50: - setvar VAR_0x8007, 3 +Apprentice_EventScript_ChoseMove1: @ 82B6D50 + setvar VAR_0x8007, APPRENTICE_BUFF_MOVE1 return -BattleFrontier_BattleTowerLobby_EventScript_2B6D56: - setvar VAR_0x8007, 4 +Apprentice_EventScript_ChoseMove2: @ 82B6D56 + setvar VAR_0x8007, APPRENTICE_BUFF_MOVE2 return -BattleFrontier_BattleTowerLobby_EventScript_2B6D5C: - apprentice_msg FALSE, 4 +Apprentice_EventScript_PutWhichMonFirst: @ 82B6D5C + apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MON_FIRST apprentice_menu APPRENTICE_ASK_3SPECIES - copyvar VAR_0x8005, VAR_RESULT - setvar VAR_0x8004, 18 - special CallApprenticeFunction - setvar VAR_0x8004, 5 - special CallApprenticeFunction - apprentice_buff 0, APPRENTICE_BUFF_SPECIES4 - apprentice_msg TRUE, 5 - call Script_Apprentice_SetLeavingFlags + apprentice_setleadmon VAR_RESULT + apprentice_answeredquestion + apprentice_buff 0, APPRENTICE_BUFF_LEAD_MON_SPECIES + apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MON_FIRST + call Apprentice_EventScript_SetHideFlags release releaseall switch VAR_FACING - case 2, Script_Apprentice_LeaveGoRight - goto Script_Apprentice_Leave + case DIR_NORTH, Apprentice_EventScript_LeaveNorth + goto Apprentice_EventScript_Leave end -BattleFrontier_BattleTowerLobby_EventScript_2B6DD4: - apprentice_msg TRUE, 11 - setvar VAR_0x8004, 25 - special CallApprenticeFunction +@ Last question, after which the Apprentice leaves (and is saved) to be replaced by another +Apprentice_EventScript_PickWinSpeech: @ 82B6DD4 + apprentice_msg TRUE, APPRENTICE_MSG_PICK_WIN_SPEECH + apprentice_shiftsaved setvar VAR_0x8004, EASY_CHAT_TYPE_APPRENTICE call Common_ShowEasyChatScreen lock faceplayer - setvar VAR_0x8004, 21 - special CallApprenticeFunction - apprentice_buff 0, APPRENTICE_BUFF_EASY_CHAT - apprentice_msg TRUE, 15 - setvar VAR_0x8004, 9 - special CallApprenticeFunction - call Script_Apprentice_SetLeavingFlags + apprentice_save + apprentice_buff 0, APPRENTICE_BUFF_WIN_SPEECH + apprentice_msg TRUE, APPRENTICE_MSG_THANKS_WIN_SPEECH + apprentice_reset + call Apprentice_EventScript_SetHideFlags release releaseall switch VAR_FACING - case 2, Script_Apprentice_LeaveGoRight - goto Script_Apprentice_Leave + case DIR_NORTH, Apprentice_EventScript_LeaveNorth + goto Apprentice_EventScript_Leave end -Script_Apprentice_SetLeavingFlags: +Apprentice_EventScript_SetHideFlags: @ 82B6E4D setflag FLAG_HIDE_APPRENTICE setflag FLAG_DAILY_APPRENTICE_LEAVES return -Script_Apprentice_LeaveGoRight: - setvar VAR_0x8004, 24 - special CallApprenticeFunction - compare VAR_0x8004, 0 - goto_if_eq Script_Apprentice_End - applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E94 +Apprentice_EventScript_LeaveNorth: @ 82B6E54 + apprentice_shouldleave + compare VAR_0x8004, FALSE @ Always TRUE here + goto_if_eq Apprentice_EventScript_DontMove + applymovement 6, Apprentice_Movement_LeaveNorth waitmovement 0 end -Script_Apprentice_Leave: - setvar VAR_0x8004, 24 - special CallApprenticeFunction - compare VAR_0x8004, 0 - goto_if_eq Script_Apprentice_End - applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E95 +Apprentice_EventScript_Leave: @ 82B6E72 + apprentice_shouldleave + compare VAR_0x8004, FALSE @ Always TRUE here + goto_if_eq Apprentice_EventScript_DontMove + applymovement 6, Apprentice_Movement_Leave waitmovement 0 end -Script_Apprentice_ReleaseAndEnd: +Apprentice_EventScript_Gone: @ 82B6E90 release releaseall end -Script_Apprentice_End: +Apprentice_EventScript_DontMove: @ 82B6E93 end -BattleFrontier_BattleTowerLobby_Movement_2B6E94: @ 82B6E94 +Apprentice_Movement_LeaveNorth: @ 82B6E94 walk_fast_right - -BattleFrontier_BattleTowerLobby_Movement_2B6E95: @ 82B6E95 +Apprentice_Movement_Leave: @ 82B6E95 walk_fast_down walk_fast_down walk_fast_right @@ -338,2531 +264,3 @@ BattleFrontier_BattleTowerLobby_Movement_2B6E95: @ 82B6E95 slide_down slide_down step_end - -gText_082B6EA5:: @ 82B6EA5 - .string "Um, I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n" - .string "Snivel… This tension is getting to me…$" - -gText_082B6EEC:: @ 82B6EEC - .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n" - .string "Here we come!$" - -gText_082B6F16:: @ 82B6F16 - .string "I'm the no. {STR_VAR_2} apprentice of {STR_VAR_1}!\n" - .string "Accept my challenge!$" - -gText_082B6F4C:: @ 82B6F4C - .string "Um… I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice…\n" - .string "Do you think someone like me can win?$" - -gText_082B6F92:: @ 82B6F92 - .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n" - .string "I'll let you challenge me!$" - -gText_082B6FC9:: @ 82B6FC9 - .string "I'm horribly busy, but I also happen\n" - .string "to be {STR_VAR_1}'s no. {STR_VAR_2} apprentice.$" - -gText_082B700C:: @ 82B700C - .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n" - .string "Glad to meet you!$" - -gText_082B703A:: @ 82B703A - .string "I serve as {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n" - .string "May I begin?$" - -gText_082B706A:: @ 82B706A - .string "Eek! I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n" - .string "I'll do my best!$" - -gText_082B709C:: @ 82B709C - .string "Yeehaw! I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n" - .string "Put 'em up!$" - -gText_082B70CC:: @ 82B70CC - .string "I'm {STR_VAR_1}'s 1,000th apprentice!\n" - .string "Actually, I'm no. {STR_VAR_2}! Here goes!$" - -gText_082B710A:: @ 82B710A - .string "Yeah, I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n" - .string "Let's get rockin' and a-rollin'!$" - -gText_082B714D:: @ 82B714D - .string "Yippee-yahoo! I'm what you call\n" - .string "{STR_VAR_1}'s no. {STR_VAR_2} apprentice!$" - -gText_082B7185:: @ 82B7185 - .string "Cough! I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n" - .string "Good to meet you! Cough!$" - -gText_082B71C1:: @ 82B71C1 - .string "This is nerve-racking…\n" - .string "I'm the no. {STR_VAR_2} apprentice of {STR_VAR_1}.$" - -gText_082B71F9:: @ 82B71F9 - .string "I am {STR_VAR_1}'s no. {STR_VAR_2} apprentice,\n" - .string "and that's no lie.$" - -gText_082B7229:: @ 82B7229 - .string "Are you… {PLAYER}?\n" - .string "Oh! Sniff…sob…\p" - .string "Oh! S-sorry…\n" - .string "I'm so nervous, I can't help crying…\p" - .string "I'm {STR_VAR_1}, and I really look up\n" - .string "to you, {PLAYER}.\p" - .string "I… I had this dream of one day meeting\n" - .string "you and asking you about POKéMON.\p" - .string "Please, please, {PLAYER}!\n" - .string "Please teach me about POKéMON!$" - -gText_082B731C:: @ 82B731C - .string "Oh… B-but…\n" - .string "Snivel… Waaaaaaah!\p" - .string "Please!\n" - .string "I'm begging you, please!$" - -gText_082B735B:: @ 82B735B - .string "Oh, really? You will?\n" - .string "Awesome! Wicked! Awoooh!\p" - .string "Oh… I'm sorry…\n" - .string "I'm so happy, I'm crying…\p" - .string "Um… Then please tell me!\n" - .string "It's about the BATTLE TOWER.\p" - .string "Which would be better for me: Level 50\n" - .string "or the Open Level?$" - -gText_082B7423:: @ 82B7423 - .string "{STR_VAR_1}?\n" - .string "Waaaaah!\p" - .string "Oh! I'm so sorry!\n" - .string "You've made me happy by choosing\l" - .string "the level for me, and it's made me cry…\p" - .string "Snivel…\n" - .string "Thank you so much!\l" - .string "Please talk with me again!$" - -gText_082B74C1:: @ 82B74C1 - .string "Wowee! You're {PLAYER}, aren't you?\n" - .string "You're awesomely strong, aren't you?\p" - .string "I'm {STR_VAR_1}!\n" - .string "I just became a TRAINER!\p" - .string "Please, {PLAYER}!\n" - .string "Can you be my teacher and tell me\l" - .string "lots about being a TRAINER?$" - -gText_082B756F:: @ 82B756F - .string "Aww, why?\n" - .string "Oh, please? Pretty please?\l" - .string "Please be my teacher, please!$" - -gText_082B75B2:: @ 82B75B2 - .string "Yay! Great!\p" - .string "The first thing I wanted to ask you is\n" - .string "about the BATTLE TOWER!\p" - .string "The Level 50 and Open Level Rooms…\n" - .string "Which would be perfect for me?$" - -gText_082B763F:: @ 82B763F - .string "{STR_VAR_1}, huh? That's true!\n" - .string "I'll do my best there!\p" - .string "If we meet here again, please teach\n" - .string "me something else, teacher!$" - -gText_082B76AC:: @ 82B76AC - .string "Um… Are you {PLAYER}?\n" - .string "My name is {STR_VAR_1}.\p" - .string "I want to become a POKéMON TRAINER,\n" - .string "but I don't know what to do…\p" - .string "So I thought maybe I could ask you for\n" - .string "advice because you're so famous.\p" - .string "{PLAYER}, could you give me advice?$" - -gText_082B7772:: @ 82B7772 - .string "Oh, but…\p" - .string "I sincerely want to become a POKéMON\n" - .string "TRAINER!\p" - .string "Please, can you answer my questions?$" - -gText_082B77CE:: @ 82B77CE - .string "Thank you!\n" - .string "Here's my first question right away!\p" - .string "The BATTLE TOWER has two levels,\n" - .string "Level 50 and Open Level, right?\p" - .string "Which level do you think is more\n" - .string "suitable for me?$" - -gText_082B7871:: @ 82B7871 - .string "Oh, the {STR_VAR_1} challenge?\n" - .string "Understood!\p" - .string "If I have another question, I'll come\n" - .string "back here for your advice!$" - -gText_082B78D4:: @ 82B78D4 - .string "Oh? Huh? You're…\n" - .string "No, that can't be true.\p" - .string "There isn't any way that someone\n" - .string "like me could meet {PLAYER}.\p" - .string "…You really are {PLAYER}?\n" - .string "I can't believe I'm talking to you!\p" - .string "When something this good happens,\n" - .string "only terrible things will happen to me\l" - .string "now, I just know it…\p" - .string "…I'm sorry…\n" - .string "I'm… {STR_VAR_1}…\p" - .string "There isn't anything special about\n" - .string "me that I can be proud of…\p" - .string "I shouldn't even say anything about\n" - .string "myself because you'll forget…\p" - .string "I had this dream that if I ever met\n" - .string "you, {PLAYER}, that maybe I could ask\l" - .string "you for advice as a TRAINER.\p" - .string "But I don't think you would agree\n" - .string "to that.\p" - .string "…Or will you be so kind as to give\n" - .string "me advice?$" - -gText_082B7B1A:: @ 82B7B1A - .string "I knew it…\p" - .string "It had to happen because I'm such\n" - .string "a really boring nobody…\p" - .string "But I thought just maybe…\n" - .string "You won't reconsider, will you?\p" - .string "But I can't give up just like that.\n" - .string "I'll ask you while I'm still lucky!\p" - .string "Please, will you be so kind as to give\n" - .string "me advice?$" - -gText_082B7C13:: @ 82B7C13 - .string "Really? I can't believe it!\n" - .string "I can't believe you'll advise me!\l" - .string "I… I'm so happy…\p" - .string "What I want to ask you is really\n" - .string "trivial, but I can't decide…\p" - .string "At the BATTLE TOWER, they let you\n" - .string "choose Level 50 or Open Level.\p" - .string "Which course do you think even I may\n" - .string "have a chance at?$" - -gText_082B7D18:: @ 82B7D18 - .string "{STR_VAR_1}? Okay!\n" - .string "But do you really think someone like\l" - .string "me would have a chance?\p" - .string "I'll do my best, even though I don't\n" - .string "think it will work.\p" - .string "Thank you very much for spending\n" - .string "time with someone like me.$" - -gText_082B7DD4:: @ 82B7DD4 - .string "Oh! You're {PLAYER}{KUN}, aren't you?\p" - .string "I've heard that you're tough at\n" - .string "POKéMON!\p" - .string "I'm {STR_VAR_1}!\n" - .string "I'll be your friend!\p" - .string "Did you know?\p" - .string "You can't win at the BATTLE FRONTIER\n" - .string "if all you know is what they teach at\l" - .string "the TRAINER'S SCHOOL.\p" - .string "I'm willing to listen to your advice.\n" - .string "You'll agree, of course?$" - -gText_082B7EE5:: @ 82B7EE5 - .string "Huh? Why are you refusing me?\n" - .string "It's me who's asking you!\l" - .string "You have to reconsider!$" - -gText_082B7F35:: @ 82B7F35 - .string "Okay, so there is this something.\n" - .string "I want you to decide it for me.\p" - .string "You know that the BATTLE TOWER has\n" - .string "Level 50 and Open Level Rooms?\p" - .string "Which do you think would be good\n" - .string "for me, {PLAYER}{KUN}?$" - -gText_082B7FE8:: @ 82B7FE8 - .string "Okay, {STR_VAR_1} is suitable for me?\n" - .string "Thank you!\p" - .string "Knowing that you made the decision,\n" - .string "{PLAYER}{KUN}, I won't be so upset if\l" - .string "I lose.\p" - .string "Okay, I'll look to you for advice again.\n" - .string "Bye!$" - -gText_082B8087:: @ 82B8087 - .string "Oh, hi, there! {PLAYER}{KUN}!\n" - .string "I know you because you're famous!\l" - .string "Call me {STR_VAR_1}! Glad to meet you!\p" - .string "I'm a TRIATHLETE, so I keep myself\n" - .string "fit even while I raise POKéMON.\p" - .string "I'm also involved with other things\n" - .string "like work, napping, ballroom dancing…\p" - .string "Being this busy, it's not so easy for\n" - .string "me to become a decent TRAINER.\p" - .string "So, I have a proposition!\p" - .string "There must be a reason why we met.\n" - .string "So, {PLAYER}{KUN}, how about sharing your\l" - .string "wisdom with me every so often?$" - -gText_082B822B:: @ 82B822B - .string "Oh, but, please?\n" - .string "A guy like me needs someone like\l" - .string "you, {PLAYER}{KUN}!\p" - .string "Honestly, I need your advice!$" - -gText_082B8286:: @ 82B8286 - .string "Thank you! That's more like it!\n" - .string "So, let's start with an easy one!\p" - .string "You know about the BATTLE TOWER's\n" - .string "two courses, right?\l" - .string "You know, Level 50 and Open Level.\p" - .string "Me being a busy guy, which one should\n" - .string "I gear up for?$" - -gText_082B8356:: @ 82B8356 - .string "{STR_VAR_1}, huh? Okay, gotcha.\n" - .string "I'll find time somehow and give it a go!\p" - .string "…Whoops, I'd better go to work!\n" - .string "Thanks! See you around!$" - -gText_082B83CE:: @ 82B83CE - .string "No way! Uh-uh!\n" - .string "Are you maybe the real {PLAYER}?\p" - .string "A-hah! Awesome! I'm {STR_VAR_1},\n" - .string "so pleased to meet you!\p" - .string "{PLAYER}, you're very strong,\n" - .string "aren't you?\p" - .string "Everyone's talking about you!\p" - .string "Oh! I just had this great idea!\n" - .string "I'll get advice off you, {PLAYER}!\l" - .string "I'm sure it will make me tougher!\p" - .string "Isn't it a great idea?\n" - .string "Please, I want your advice!$" - -gText_082B84FC:: @ 82B84FC - .string "Ahahaha, you can pretend to be mean,\n" - .string "but you can't fool me!\l" - .string "You really mean okay, don't you?$" - -gText_082B8559:: @ 82B8559 - .string "Yay! I knew you'd have a big heart,\n" - .string "{PLAYER}!\p" - .string "What should I ask you first?\n" - .string "…Oh, I thought of something!\p" - .string "Drum roll, please!\n" - .string "The question I have is…\p" - .string "If I were to take a BATTLE TOWER\n" - .string "challenge, which way should I go?\p" - .string "Level 50 or Open Level?\n" - .string "Which suits me more?$" - -gText_082B8656:: @ 82B8656 - .string "Oh-oh-oh!\n" - .string "{STR_VAR_1}, you say!\l" - .string "Thank you for a totally cool reply!\p" - .string "I guess that's about all I wanted\n" - .string "to ask you today.\p" - .string "Let's meet here again, okay?\n" - .string "Thanks!$" - -gText_082B86EA:: @ 82B86EA - .string "I beg your pardon, but…\n" - .string "Are you {PLAYER}?\p" - .string "I'm {STR_VAR_1}, and I am delighted to\n" - .string "make your acquaintance.\p" - .string "I have long been an admirer\n" - .string "of yours…\p" - .string "… … … … … …\p" - .string "Um… I hope you don't find this\n" - .string "request too much of a burden, but…\p" - .string "May I become your apprentice,\n" - .string "{PLAYER}?$" - -gText_082B87DA:: @ 82B87DA - .string "Oh…!\p" - .string "… … … … … …\n" - .string "… … … … … …\p" - .string "…I must have fainted from shock.\n" - .string "I'm sorry, I must have misheard you.\p" - .string "Please! Please say that you will\n" - .string "accept me as your apprentice!$" - -gText_082B887C:: @ 82B887C - .string "Oh… I'm delighted!\p" - .string "I don't wish to waste your time,\n" - .string "so please advise me on this.\p" - .string "I plan to take a BATTLE TOWER\n" - .string "challenge soon.\p" - .string "However, there are two levels…\p" - .string "Which would be most suitable for me?\n" - .string "Level 50 or Open Level?$" - -gText_082B8957:: @ 82B8957 - .string "{STR_VAR_1} is your choice!\n" - .string "I see. I will do my best!\p" - .string "Thank you, {PLAYER}.\n" - .string "I hope I can count on you again.\l" - .string "Please take care!$" - -gText_082B89C6:: @ 82B89C6 - .string "Eek! Eek! {PLAYER}!\n" - .string "You spoke to me!\l" - .string "I… I'm overjoyed!\p" - .string "Me! My name is {STR_VAR_1}!\n" - .string "I just became a TRAINER!\p" - .string "I'm delighted I met you, {PLAYER},\n" - .string "the big name in POKéMON circles!\p" - .string "Oh-oh-oh, I know!\n" - .string "May I ask a huge favor, {PLAYER}?\p" - .string "Please take me in as your apprentice!\n" - .string "I want to learn from you!$" - -gText_082B8ACF:: @ 82B8ACF - .string "Waaaah!\n" - .string "{PLAYER} turned me down…\l" - .string "It… It's an invaluable experience!\p" - .string "{PLAYER}, please! I want to hear\n" - .string "an affirmative answer this time!\p" - .string "I beg you for your guidance!$" - -gText_082B8B66:: @ 82B8B66 - .string "Hieeeeh! {PLAYER} said yes!\n" - .string "{PLAYER} said yes!\p" - .string "I won't be able to sleep tonight…\n" - .string "Thank you ever so much!\p" - .string "Then, here's my question!\p" - .string "At the BATTLE TOWER, what is right\n" - .string "for me, Level 50 or Open Level?$" - -gText_082B8C20:: @ 82B8C20 - .string "{STR_VAR_1}! Perfectly understood!\n" - .string "I understand perfectly!\l" - .string "I'm deliriously delighted!\p" - .string "I hope you'll be willing to teach me\n" - .string "some more another time.$" - -gText_082B8CAA:: @ 82B8CAA - .string "Whoa! Could you be…\n" - .string "Might you be… {PLAYER}{KUN}?!\l" - .string "That strong and famous TRAINER?\l" - .string "Well, hello, aren't I just the luckiest!\p" - .string "Hello, the name's {STR_VAR_1}!\p" - .string "I've been on the lookout for\n" - .string "a POKéMON teacher.\p" - .string "And with impeccably good timing,\n" - .string "along came you, {PLAYER}{KUN}!\p" - .string "So, there you have it, {PLAYER}{KUN}!\n" - .string "Let me apprentice under you!$" - -gText_082B8DD3:: @ 82B8DD3 - .string "Gwaaaah!\n" - .string "You're quite cool and tough…\p" - .string "Don't be that way, please.\n" - .string "I'm asking you!$" - -gText_082B8E24:: @ 82B8E24 - .string "Oh, yeah! That's a solid reply!\n" - .string "Excellent, I might add!\p" - .string "So how about a first piece of advice\n" - .string "on the BATTLE TOWER?\p" - .string "If I were to go, what would be better?\n" - .string "Level 50 or Open Level?$" - -gText_082B8ED5:: @ 82B8ED5 - .string "Uh-huh, {STR_VAR_1} it is!\n" - .string "OK, A-OK!\l" - .string "I'll go show my mettle, like, jam!\p" - .string "All right, I'll look to you as my mentor!\n" - .string "Adios!$" - -gText_082B8F45:: @ 82B8F45 - .string "Oh, hey, {PLAYER}{KUN}, right?\n" - .string "The police were looking for you!\p" - .string "… … …\n" - .string "Of course I'm lying!\p" - .string "Me, I'm {STR_VAR_1}. Despite the way\n" - .string "I look, I'm the POKéMON CHAMPION!\l" - .string "…That's a lie, too!\p" - .string "This is no lie, though.\n" - .string "I'm not very good at battling.\p" - .string "So, how about you becoming my master\n" - .string "about all things POKéMON?$" - -gText_082B905F:: @ 82B905F - .string "If you're going to act cold like that,\n" - .string "I'll show you what I'll do!\p" - .string "Waaah! Waaah! Waaah!\n" - .string "Hiccup!\p" - .string "Hahaha, that was my FAKE TEARS!\p" - .string "Come on, will you please be\n" - .string "my POKéMON master?$" - -gText_082B910E:: @ 82B910E - .string "Yippee!\n" - .string "I'll buy you a boat for that!\p" - .string "Of course I'm lying again!\n" - .string "But… Thank you, master!\p" - .string "You know how there's Level 50 and\n" - .string "Open Level at the BATTLE TOWER?\p" - .string "I'm having trouble deciding which\n" - .string "level I should challenge…\p" - .string "Can you decide for me, master?$" - -gText_082B9204:: @ 82B9204 - .string "Okay, so {STR_VAR_1} is better!\n" - .string "I'll go to the other level, then!\p" - .string "Just kidding!\n" - .string "I'll obey your teaching, master!\p" - .string "Thanks, master!\n" - .string "I hope you'll keep teaching me!$" - -gText_082B929C:: @ 82B929C - .string "A-H-O-Y!\n" - .string "And that spells ahoy, and it means hi!\p" - .string "I'm {STR_VAR_1}, the rappin' SAILOR\n" - .string "am I!\p" - .string "Your turn now, tell me a little about\n" - .string "yourself, give it a try!\p" - .string "Uh-huh, uh-huh!\n" - .string "{PLAYER}{KUN}'s your name,\l" - .string "and POKéMON's your game!\p" - .string "And you're at a delicate age\n" - .string "when all the world's your stage!\p" - .string "Anyway, I just want to say,\n" - .string "that you're the tenth TRAINER\l" - .string "I've spoken to today.\p" - .string "Let's make that a celebration!\n" - .string "Become my mentor for commemoration!$" - -gText_082B9438:: @ 82B9438 - .string "But!\n" - .string "You have to work with me!\p" - .string "Don't be such a tease!\n" - .string "Become my mentor, please!$" - -gText_082B9488:: @ 82B9488 - .string "That's it!\n" - .string "{PLAYER}, you've got the spirit!\p" - .string "So here's my first question\n" - .string "that begs your suggestion!\p" - .string "It's about the BATTLE TOWER,\n" - .string "and it hinges on my power!\p" - .string "Level 50 and Open Level there be,\n" - .string "which is the one that's good for me?$" - -gText_082B9564:: @ 82B9564 - .string "Okay, {STR_VAR_1} it is, you say!\n" - .string "I'll go and take it on my way!\p" - .string "If it's advice I ever need,\n" - .string "{PLAYER}, your word I'll always heed!$" - -gText_082B95D8:: @ 82B95D8 - .string "Say, hey, aren't you {PLAYER}?\n" - .string "What should I do? Talk to you?\l" - .string "Why not? I'm already talking to you!\p" - .string "{PLAYER}, are you surprised at me?\n" - .string "I'd better tell you who I happen to be!\p" - .string "{STR_VAR_1} is what you can call me.\n" - .string "The brightest star in guitardom,\l" - .string "that's me!\p" - .string "Are you receiving me?\n" - .string "You are receiving me!\p" - .string "My luck's at its best,\n" - .string "I'll hit you with a request!\p" - .string "{PLAYER}, let me be your underling!\n" - .string "I want you to teach me everything!$" - -gText_082B9763:: @ 82B9763 - .string "You're turning me down, then?\n" - .string "I'll just have to ask you again!\p" - .string "{PLAYER}, I beg to be your underling!\n" - .string "I need you to teach me everything!$" - -gText_082B97E5:: @ 82B97E5 - .string "Lucky, yeah, woohoo!\n" - .string "Should I pop a question to you?\p" - .string "Since we're near the BATTLE TOWER,\n" - .string "how about a question about its power?\p" - .string "Of the choices you see,\n" - .string "which is the right one for me?$" - -gText_082B989A:: @ 82B989A - .string "If {STR_VAR_1} is what you suggest,\n" - .string "it must be the very best!\p" - .string "Well, {PLAYER}, I have to roam free,\n" - .string "but don't you forget about me.\p" - .string "See you again, my smart friend!$" - -gText_082B992D:: @ 82B992D - .string "Oh, hi! You there!\n" - .string "Can I get you to massage my shoulder?\p" - .string "…Yes, there! That's it!\n" - .string "Ouch, ouch! Oooh, that feels great!\p" - .string "My name's {STR_VAR_1}.\n" - .string "I take karate training, but my body's\l" - .string "not built to take the abuse…\p" - .string "I decided I'll battle POKéMON and\n" - .string "toughen myself up.\p" - .string "You're {PLAYER}{KUN}, aren't you?\n" - .string "The POKéMON LEAGUE CHAMP?\p" - .string "Listen, can I get you to give me\n" - .string "advice?$" - -gText_082B9A84:: @ 82B9A84 - .string "Oh, why?\p" - .string "I won't be a big bother, I promise!\n" - .string "Please?$" - -gText_082B9AB9:: @ 82B9AB9 - .string "Thank you. Mighty good of you!\n" - .string "…Cough! Cough!\p" - .string "Oogh, I have to toughen up quick…\p" - .string "I'll be heading off to the BATTLE TOWER\n" - .string "right away, but what would be better\l" - .string "for me? Level 50 or Open Level?$" - -gText_082B9B76:: @ 82B9B76 - .string "Hm, all right. That's {STR_VAR_1}.\n" - .string "I'll go there right away.\p" - .string "I hope I can keep hitting you up for\n" - .string "help--after all, you're my mentor!$" - -gText_082B9BF2:: @ 82B9BF2 - .string "Er… Um…\n" - .string "{PLAYER}{KUN}…?\p" - .string "Please, don't look at me that way.\n" - .string "You're making me all self-conscious.\p" - .string "I… I'm {STR_VAR_1}.\p" - .string "I'm really embarrassed to say this,\n" - .string "but I explore ancient ruins and such.\p" - .string "I'm even more embarrassed to admit\n" - .string "I'm interested in the BATTLE FRONTIER.\p" - .string "{PLAYER}{KUN}, you have a reputation as\n" - .string "a tough TRAINER…\p" - .string "It's hard for me to say this,\n" - .string "but I want to ask something.\p" - .string "Could you become my teacher and\n" - .string "give me advice?$" - -gText_082B9D83:: @ 82B9D83 - .string "Please don't brush me off like this!\n" - .string "I can't live with the humiliation.\p" - .string "Please become my teacher!\n" - .string "I need your advice!$" - -gText_082B9DF9:: @ 82B9DF9 - .string "Th-thank you…\p" - .string "But please don't look at me like that.\n" - .string "It makes me all flustered.\p" - .string "Please, answer me without looking\n" - .string "at my eyes.\p" - .string "At the BATTLE TOWER…\n" - .string "Which level should I attempt?$" - -gText_082B9EAA:: @ 82B9EAA - .string "Oh… Okay!\n" - .string "I'll try my hand at that.\p" - .string "I hope I can make a valiant challenge\n" - .string "without getting all flustered…\p" - .string "Thank you, {PLAYER}{KUN}.\n" - .string "If we meet again, I hope you will be\l" - .string "as helpful.$" - -gText_082B9F55:: @ 82B9F55 - .string "Hm? You appear to be {PLAYER}{KUN}…\n" - .string "But are you really real?\p" - .string "You may call me {STR_VAR_1}.\p" - .string "I have been toying with the idea of\n" - .string "apprenticing under a strong TRAINER.\p" - .string "So, I must say I'm lucky you came along!\n" - .string "…You really are {PLAYER}{KUN}, yes?\p" - .string "No, no, if you are real, it's fine.\n" - .string "I merely want you to recognize me\l" - .string "as your apprentice.$" - -gText_082BA084:: @ 82BA084 - .string "Oh?\n" - .string "But what would compel you to refuse?\p" - .string "I apologize for being skeptical about\n" - .string "your identity.\p" - .string "Please accept my apology and\n" - .string "accept me as your apprentice.$" - -gText_082BA11D:: @ 82BA11D - .string "You really are accepting me?\n" - .string "I don't wish to celebrate prematurely.\p" - .string "If it is true, I apologize.\n" - .string "But now, I need your advice.\p" - .string "If I were to enter the BATTLE TOWER,\n" - .string "what would be worthy of me?\l" - .string "Level 50 or Open Level?$" - -gText_082BA1F3:: @ 82BA1F3 - .string "{STR_VAR_1}?\n" - .string "Are you certain?\p" - .string "I see. If that's the case, that's fine.\n" - .string "I thank you for your time.\p" - .string "I realize I can annoy, but it delights\n" - .string "me that you have accepted me.\p" - .string "Let us meet again!$" - -gText_082BA2A3:: @ 82BA2A3 - .string "Sigh… Sob…\n" - .string "Oh, {PLAYER}!\p" - .string "I'm all tangled up in a dilemma\n" - .string "that I can't decide.\p" - .string "I can't decide what I should make\n" - .string "my {STR_VAR_1} hold.\p" - .string "Please tell me, {PLAYER}.\n" - .string "What item should I make it hold?$" - -gText_082BA34E:: @ 82BA34E - .string "Oh, really? I shouldn't make\n" - .string "my {STR_VAR_1} hold anything?$" - -gText_082BA380:: @ 82BA380 - .string "Oh, okay! I'm delighted it's settled!\n" - .string "Awesome! Wicked! Awoooh!\p" - .string "Thank you so much!$" - -gText_082BA3D2:: @ 82BA3D2 - .string "Oh, I'm so glad…\n" - .string "I think I have that {STR_VAR_1}, too.\p" - .string "I'm delighted it's settled!\n" - .string "Awesome! Wicked! Awoooh!\p" - .string "Thank you so much!$" - -gText_082BA448:: @ 82BA448 - .string "Waaaah! Please don't be mean!\p" - .string "That item {STR_VAR_1} was already\n" - .string "recommended to me before, sob…\p" - .string "Or do you mean I shouldn't make\n" - .string "my {STR_VAR_2} hold anything?$" - -gText_082BA4D3:: @ 82BA4D3 - .string "Yay! It's {PLAYER}!\n" - .string "Great! I wanted to ask you something!\p" - .string "Do you make your POKéMON hold items?\n" - .string "I want to make mine hold items, but…\p" - .string "What item would be good for\n" - .string "{STR_VAR_1} to hold?\p" - .string "What do you think?$" - -gText_082BA58C:: @ 82BA58C - .string "Huh? You mean my {STR_VAR_1} doesn't\n" - .string "have to hold anything?$" - -gText_082BA5BF:: @ 82BA5BF - .string "Oh, I get it! I'll do that!\n" - .string "Thanks for teaching me!$" - -gText_082BA5F3:: @ 82BA5F3 - .string "Oh, wow! One {STR_VAR_1}, huh?\n" - .string "Okay, I'll do that!\p" - .string "Thanks for teaching me!$" - -gText_082BA635:: @ 82BA635 - .string "Oh, uh, no, that's not what I meant.\n" - .string "I want to know about a different item\l" - .string "than the ones I already know.\p" - .string "Or do you mean that my POKéMON doesn't\n" - .string "have to hold anything this time?$" - -gText_082BA6E6:: @ 82BA6E6 - .string "{PLAYER}, hello!\n" - .string "It's about my {STR_VAR_1}…\p" - .string "I want to make it hold a good item.\n" - .string "What would be good for it?$" - -gText_082BA742:: @ 82BA742 - .string "Oh, then my {STR_VAR_1} doesn't have\n" - .string "to hold anything?$" - -gText_082BA770:: @ 82BA770 - .string "Okay, I got it!\n" - .string "See you again!$" - -gText_082BA78F:: @ 82BA78F - .string "Oh, the item {STR_VAR_1}?\n" - .string "Understood!\p" - .string "I'll do my best to find one!\n" - .string "See you again!$" - -gText_082BA7D8:: @ 82BA7D8 - .string "Somebody taught me about\n" - .string "the {STR_VAR_1} already.\p" - .string "I want my POKéMON to hold a different\n" - .string "kind of item.\p" - .string "Or do you think {STR_VAR_2} doesn't\n" - .string "have to hold anything?$" - -gText_082BA867:: @ 82BA867 - .string "Hello, {PLAYER}…\n" - .string "I'm sorry to disturb you, but I have\l" - .string "something else I wanted to ask you.\p" - .string "I don't think I'm good enough to win\n" - .string "matches on my own, so I'm thinking of\l" - .string "making my {STR_VAR_1} hold an item.\p" - .string "But I don't know what would be good.\p" - .string "{PLAYER}, please, could you decide\n" - .string "for me?$" - -gText_082BA96B:: @ 82BA96B - .string "A POKéMON belonging to someone like me\n" - .string "would be better off without an item?$" - -gText_082BA9B7:: @ 82BA9B7 - .string "I understand…\n" - .string "You're saying I shouldn't rely on items.\l" - .string "I'll do my best not to!\p" - .string "Thank you very much!$" - -gText_082BAA1B:: @ 82BAA1B - .string "The item {STR_VAR_1}, okay.\n" - .string "I'm not sure if I can get one…\l" - .string "No! I'll do my best to get it.\p" - .string "Thank you very much!$" - -gText_082BAA81:: @ 82BAA81 - .string "Oh, but…\n" - .string "I think I've heard about that before…\p" - .string "Is it maybe because I haven't handled\n" - .string "the item {STR_VAR_1} very well?\p" - .string "Or do you mean I shouldn't make\n" - .string "my {STR_VAR_2} hold anything?$" - -gText_082BAB22:: @ 82BAB22 - .string "Oh, {PLAYER}{KUN}.\n" - .string "There's something I wanted to ask you.\p" - .string "You know how you decided which\n" - .string "POKéMON I should have for me?\p" - .string "But I never asked you what item\n" - .string "it should be holding.\p" - .string "Since you already gave me advice,\n" - .string "how about seeing this to the end?\p" - .string "What would be good? I want to make\n" - .string "my {STR_VAR_1} hold something.$" - -gText_082BAC43:: @ 82BAC43 - .string "Oh! So my {STR_VAR_1} should do\n" - .string "the best it can empty-handed?$" - -gText_082BAC78:: @ 82BAC78 - .string "If you think that's best, I'll do that.\p" - .string "Knowing that you made the decision,\n" - .string "{PLAYER}{KUN}, I won't be so upset if\l" - .string "I lose.\p" - .string "Okay, I'll look to you for advice again.\n" - .string "Bye!$" - -gText_082BAD17:: @ 82BAD17 - .string "The item {STR_VAR_1}, huh?\n" - .string "Not bad. I'll use it!\p" - .string "Knowing that you made the decision,\n" - .string "{PLAYER}{KUN}, I won't be so upset if\l" - .string "I lose.\p" - .string "Okay, I'll look to you for advice again.\n" - .string "Bye!$" - -gText_082BADB6:: @ 82BADB6 - .string "Huh? What are you saying?\n" - .string "You told me about the {STR_VAR_1}\l" - .string "already before.\p" - .string "Or do you mean my {STR_VAR_2} should\n" - .string "do the best it can empty-handed?$" - -gText_082BAE36:: @ 82BAE36 - .string "Yo, {PLAYER}{KUN}!\p" - .string "We're both busy, but we seem to run\n" - .string "into each other often anyway!\p" - .string "Today I have to do some walking,\n" - .string "cleaning, and brushing.\p" - .string "I haven't even had the time to buy\n" - .string "my precious {STR_VAR_1} anything.\p" - .string "I don't have any time, so how about\n" - .string "giving me advice on what I should make\l" - .string "my {STR_VAR_1} hold?$" - -gText_082BAF4E:: @ 82BAF4E - .string "Oh, so me being a busy guy, you say\n" - .string "my {STR_VAR_1} doesn't need anything?$" - -gText_082BAF8F:: @ 82BAF8F - .string "Okay, gotcha.\n" - .string "I won't need any time for that.\p" - .string "Thanks today!\n" - .string "See you around!$" - -gText_082BAFDB:: @ 82BAFDB - .string "Okay, gotcha.\n" - .string "I'll find time somehow and find\l" - .string "that {STR_VAR_1} you recommended.\p" - .string "I'm glad I met a good mentor in you.\n" - .string "Thanks! See you around!$" - -gText_082BB05F:: @ 82BB05F - .string "Huh? I already know about\n" - .string "that {STR_VAR_1}.\p" - .string "Oh, right, I get it.\n" - .string "So me being a busy guy, you say\l" - .string "my {STR_VAR_2} doesn't need anything?$" - -gText_082BB0D4:: @ 82BB0D4 - .string "Hiya, {PLAYER}! It's me!\n" - .string "I need to tap your mind again today.\l" - .string "Please, I need your advice!\p" - .string "Drum roll, please!\n" - .string "The question I have is…\p" - .string "If I want to make my {STR_VAR_1} hold\n" - .string "an item, what should it be?$" - -gText_082BB18C:: @ 82BB18C - .string "Is that right? My {STR_VAR_1} doesn't\n" - .string "need to hold an item, you're saying.$" - -gText_082BB1CE:: @ 82BB1CE - .string "Okay, that's what I'll do!\p" - .string "I guess that's about all I wanted\n" - .string "to ask you today.\p" - .string "Let's meet here again, okay?\n" - .string "Thanks!$" - -gText_082BB242:: @ 82BB242 - .string "Uh-huh! One {STR_VAR_1}.\n" - .string "What a cool choice!\l" - .string "I'll definitely try that!\p" - .string "I guess that's about all I wanted\n" - .string "to ask you today.\p" - .string "Let's meet here again, okay?\n" - .string "Thanks!$" - -gText_082BB2D9:: @ 82BB2D9 - .string "Ahahah! That's silly!\n" - .string "You already told me about that\l" - .string "{STR_VAR_1} before!\p" - .string "Are you feeling okay, {PLAYER}?\p" - .string "Oh, wait! My {STR_VAR_2} doesn't\n" - .string "need to hold an item, you're saying.$" - -gText_082BB370:: @ 82BB370 - .string "Hello, {PLAYER}. I hope you've been\n" - .string "keeping well.\p" - .string "May I approach you for advice?\p" - .string "In a recent battle, my opponent\n" - .string "seemed to have given his POKéMON\l" - .string "an item to hold.\p" - .string "As a result, I was defeated…\p" - .string "I don't wish to be left behind.\n" - .string "I would like to make my {STR_VAR_1}\l" - .string "hold an item, too.\p" - .string "It would please me if you could decide\n" - .string "what would be right for my POKéMON…$" - -gText_082BB4C3:: @ 82BB4C3 - .string "In other words… My POKéMON has\n" - .string "no need to hold an item?$" - -gText_082BB4FB:: @ 82BB4FB - .string "I understand clearly now!\n" - .string "I will keep trying like this.\p" - .string "Thank you, {PLAYER}.\n" - .string "I hope I can count on you again.\l" - .string "Please take care!$" - -gText_082BB575:: @ 82BB575 - .string "One {STR_VAR_1} it is!\n" - .string "I will order it right away.\p" - .string "Thank you, {PLAYER}.\n" - .string "I hope I can count on you again.\l" - .string "Please take care!$" - -gText_082BB5E1:: @ 82BB5E1 - .string "You've already told me about that,\n" - .string "and I already have it.\p" - .string "Or are you saying… My POKéMON has\n" - .string "no need to hold an item?$" - -gText_082BB656:: @ 82BB656 - .string "Eek! {PLAYER}!\n" - .string "I… I'm overjoyed to see you again!\p" - .string "Oh-oh-oh! There's something I just\n" - .string "had to ask you, {PLAYER}!\p" - .string "Please decide what my {STR_VAR_1}\n" - .string "should be holding!$" - -gText_082BB6E5:: @ 82BB6E5 - .string "Oh, wow! I didn't expect that answer!\n" - .string "So, a hold item isn't necessary?$" - -gText_082BB72C:: @ 82BB72C - .string "Perfectly understood!\n" - .string "I'll keep at this without an item!\p" - .string "I hope you'll be willing to teach me\n" - .string "some more another time.$" - -gText_082BB7A2:: @ 82BB7A2 - .string "{STR_VAR_1}! I'll use that!\p" - .string "Um… Could it be, {PLAYER}, you also\n" - .string "make your POKéMON hold that item?\p" - .string "I'll be sure to get it!\n" - .string "I hope you'll be willing to teach me\l" - .string "some more another time.$" - -gText_082BB84A:: @ 82BB84A - .string "Oh? You recommended that\n" - .string "{STR_VAR_1} before, too.\p" - .string "Or is it the best thing to hold?\n" - .string "Or do you mean that my {STR_VAR_2}\l" - .string "doesn't need anything to hold?$" - -gText_082BB8CD:: @ 82BB8CD - .string "Hola!\n" - .string "My maestro, {PLAYER}{KUN}!\p" - .string "I want to hit you up for advice on\n" - .string "POKéMON tools.\p" - .string "What do you think would be good for\n" - .string "my {STR_VAR_1} to hold?\p" - .string "Don't be shy now.\n" - .string "Let's blurt it out!$" - -gText_082BB970:: @ 82BB970 - .string "Oh? So, you're saying my {STR_VAR_1}\n" - .string "can win without holding any item?$" - -gText_082BB9AE:: @ 82BB9AE - .string "Si, bueno!\n" - .string "I'll give it my best shot, like, slam!\p" - .string "All right, thanks, as always!\n" - .string "Adios!$" - -gText_082BBA05:: @ 82BBA05 - .string "Uh-huh, that's one {STR_VAR_1}?\n" - .string "Si, bueno!\l" - .string "I'll go find me one, like, bam!\p" - .string "All right, thanks, as always!\n" - .string "Adios!$" - -gText_082BBA6C:: @ 82BBA6C - .string "No, no! You already told me about\n" - .string "that {STR_VAR_1} thing before.\p" - .string "Oh, now wait just one minute here…\n" - .string "So, you're saying my {STR_VAR_2}\l" - .string "can win without holding any item?$" - -gText_082BBB01:: @ 82BBB01 - .string "{PLAYER}{KUN}, something unbelievable\n" - .string "has happened!\p" - .string "I woke up this morning, and my POKéMON\n" - .string "had 10 NUGGETS!\p" - .string "Of course I'm lying!\n" - .string "Wahahaha!\p" - .string "This is no lie, though.\n" - .string "I'm not very good at thinking about\l" - .string "what items POKéMON should hold.\p" - .string "So, how about deciding for me what\n" - .string "my {STR_VAR_1} should hold, master?$" - -gText_082BBC1C:: @ 82BBC1C - .string "What's that mean?\n" - .string "Don't make it hold anything?$" - -gText_082BBC4B:: @ 82BBC4B - .string "Okay, so it shouldn't hold anything.\n" - .string "Then, I'd better get something for it!\p" - .string "Just kidding!\n" - .string "I'll obey your teaching, master!\p" - .string "Thanks, master!\n" - .string "I hope you'll keep teaching me!$" - -gText_082BBCF6:: @ 82BBCF6 - .string "Okay, so it's one {STR_VAR_1}!\n" - .string "I'll make it hold anything but that!\p" - .string "Just kidding!\n" - .string "I'll obey your teaching, master!\p" - .string "Thanks, master!\n" - .string "I hope you'll keep teaching me!$" - -gText_082BBD90:: @ 82BBD90 - .string "Um, you told me about that before,\n" - .string "didn't you?\p" - .string "Isn't there something else?\p" - .string "Or do you mean, don't make\n" - .string "my {STR_VAR_2} hold anything?$" - -gText_082BBE0B:: @ 82BBE0B - .string "A-H-O-Y!\n" - .string "And that spells ahoy!\p" - .string "The rappin' SAILOR am I!\n" - .string "I present to you a question\l" - .string "that's pretty fly!\p" - .string "It's an item question\n" - .string "that begs your suggestion!\p" - .string "My {STR_VAR_1} needs an item to hold,\n" - .string "What should it be, if I may be bold?$" - -gText_082BBEE5:: @ 82BBEE5 - .string "Is that right?\n" - .string "My {STR_VAR_1} doesn't need to be\l" - .string "holding anything tight?$" - -gText_082BBF25:: @ 82BBF25 - .string "Okay, I hear you, sure I do!\n" - .string "My POKéMON will go empty-handed, too!\p" - .string "If it's advice I ever need,\n" - .string "{PLAYER}, your word I'll always heed!$" - -gText_082BBFA4:: @ 82BBFA4 - .string "Okay, one {STR_VAR_1},\n" - .string "that's what I'll use.\l" - .string "I was right to make you choose!\p" - .string "If it's advice I ever need,\n" - .string "{PLAYER}, your word I'll always heed!$" - -gText_082BC024:: @ 82BC024 - .string "Okay, one {STR_VAR_1}, you say?\n" - .string "You told me that the other day.\l" - .string "I need a new idea, a brand new way.\p" - .string "Or, what, is that right?\n" - .string "My POKéMON doesn't need to hold\l" - .string "anything tight?$" - -gText_082BC0C8:: @ 82BC0C8 - .string "Say, hey, {PLAYER}!\n" - .string "I found you again today!\p" - .string "What should I do? Get your advice?\n" - .string "Why not? I'm already talking to you!\p" - .string "{PLAYER}, are you getting sick of me?\n" - .string "Nah, no way, that can't be.\p" - .string "Will you hear me out?\n" - .string "I'm looking for advice--that's what\l" - .string "I'm talking about.\p" - .string "It's about a hold item for\n" - .string "my {STR_VAR_1} that'd be good.\l" - .string "My indecision is making me brood.$" - -gText_082BC213:: @ 82BC213 - .string "My {STR_VAR_1} needs nothing?\n" - .string "Doesn't need to hold anything?$" - -gText_082BC247:: @ 82BC247 - .string "If holding nothing is the best,\n" - .string "I'll do as you suggest!\p" - .string "Well, {PLAYER}, I have to roam free,\n" - .string "but don't you forget about me.\p" - .string "See you again, my smart friend!$" - -gText_082BC2DD:: @ 82BC2DD - .string "If holding that {STR_VAR_1} is\n" - .string "the best, I'll do as you suggest!\p" - .string "Well, {PLAYER}, I have to roam free,\n" - .string "but don't you forget about me.\p" - .string "See you again, my smart friend!$" - -gText_082BC373:: @ 82BC373 - .string "Haven't I heard about that\n" - .string "{STR_VAR_1} before?\l" - .string "I'm certain I have, that's for sure!\p" - .string "I need a new something!\n" - .string "Or, my {STR_VAR_2} needs nothing?\l" - .string "Doesn't need to hold anything?$" - -gText_082BC40E:: @ 82BC40E - .string "Gwah! Ouch! {PLAYER}{KUN}, my arm's broken!\n" - .string "Don't touch it, please!\p" - .string "I must've broken it while I was trying\n" - .string "out different hold items with my posse\l" - .string "of POKéMON.\p" - .string "So, things being this way,\n" - .string "I need you to decide for me.\p" - .string "{PLAYER}{KUN}, what do you think would be\n" - .string "good for my {STR_VAR_1} to hold?$" - -gText_082BC514:: @ 82BC514 - .string "Ouch…\p" - .string "So your suggestion is my {STR_VAR_1}\n" - .string "doesn't have to hold anything?$" - -gText_082BC555:: @ 82BC555 - .string "Hm, all right. That would be easier\n" - .string "for me, the way things are now.\p" - .string "I hope I can keep hitting you up\n" - .string "for help like this.$" - -gText_082BC5CE:: @ 82BC5CE - .string "Hm, all right. That's one {STR_VAR_1}.\n" - .string "My POKéMON's arm is fine, so I'll make\l" - .string "it hold that item right away.\p" - .string "I hope I can keep hitting you up\n" - .string "for help like this.$" - -gText_082BC666:: @ 82BC666 - .string "No, no, you told me about that\n" - .string "{STR_VAR_1} before, remember?\p" - .string "How about telling me something\n" - .string "even better?\p" - .string "Oh, wait a second.\n" - .string "So your suggestion is my {STR_VAR_2}\l" - .string "doesn't have to hold anything?$" - -gText_082BC714:: @ 82BC714 - .string "Er… Um…\n" - .string "{PLAYER}{KUN}…\p" - .string "Please, don't look at me that way.\n" - .string "My POKéMON don't have anything.\p" - .string "I… I'm really embarrassed about this,\n" - .string "but I really need your advice.\p" - .string "I can't decide what hold item would\n" - .string "make my {STR_VAR_1} strong.\p" - .string "{PLAYER}{KUN}, what do you think would\n" - .string "be good?$" - -gText_082BC808:: @ 82BC808 - .string "Oh… Then, you think it would be better\n" - .string "if my {STR_VAR_1} didn't have an item?$" - -gText_082BC84D:: @ 82BC84D - .string "Oh… Okay!\n" - .string "I'll go without an item.\p" - .string "This is nerve-racking, though.\n" - .string "Wouldn't it be too cool?\p" - .string "Thank you, {PLAYER}{KUN}.\n" - .string "If we meet again, I hope you will be\l" - .string "as helpful.$" - -gText_082BC8EA:: @ 82BC8EA - .string "Oh… Okay!\n" - .string "I'll go with that {STR_VAR_1}.\p" - .string "This is nerve-racking, though.\n" - .string "Wouldn't it be too cool?\p" - .string "Thank you, {PLAYER}{KUN}.\n" - .string "If we meet again, I hope you will be\l" - .string "as helpful.$" - -gText_082BC984:: @ 82BC984 - .string "B-but I already heard about that.\p" - .string "Please don't brush me off like this!\n" - .string "I can't live with the humiliation.\p" - .string "Oh… Am I jumping to conclusions?\n" - .string "Do you think it would be better if\l" - .string "my {STR_VAR_2} didn't have an item?$" - -gText_082BCA4D:: @ 82BCA4D - .string "Hm? You appear to be {PLAYER}{KUN}…\n" - .string "But are you really?\l" - .string "Perhaps you're a twin?\p" - .string "Oh, no, no, no, don't worry!\n" - .string "If you really are {PLAYER}, please\l" - .string "forget about my rudeness.\p" - .string "What I would like is some more of\n" - .string "your fine advice.\p" - .string "I have here my {STR_VAR_1} that I wish\n" - .string "to make hold a convenient item.\p" - .string "What would be worthy of it?$" - -gText_082BCB75:: @ 82BCB75 - .string "It's better if it held nothing?\n" - .string "Are you certain?$" - -gText_082BCBA6:: @ 82BCBA6 - .string "I see. If that's the case, that's fine.\n" - .string "I thank you for your time.\p" - .string "Let us meet again!$" - -gText_082BCBFC:: @ 82BCBFC - .string "One {STR_VAR_1}?\n" - .string "Are you certain?\p" - .string "I see. If that's the case, that's fine.\n" - .string "I thank you for your time.\p" - .string "I do hope my POKéMON will be able to\n" - .string "put it to good use.\p" - .string "Let us meet again!$" - -gText_082BCCA4:: @ 82BCCA4 - .string "No, no, wait a minute.\n" - .string "I believe you taught me that before.\p" - .string "I would like you to recommend\n" - .string "something different this time.\p" - .string "Perhaps you're suggesting that\n" - .string "my {STR_VAR_2} should hold nothing?\l" - .string "Are you certain?$" - -gText_082BCD68:: @ 82BCD68 - .string "Waah, {PLAYER}!\n" - .string "I have a dilemma, sob…\p" - .string "I want to begin battling other people,\n" - .string "but I don't know what to do.\p" - .string "How should I line up my POKéMON\n" - .string "so they'll be at their strongest?\p" - .string "Please tell me, {PLAYER}.\n" - .string "If you were me, which of these POKéMON\l" - .string "would you send out first?$" - -gText_082BCE64:: @ 82BCE64 - .string "My {STR_VAR_1} should go first?\n" - .string "Waaaaah!\p" - .string "Oh! I'm so sorry!\n" - .string "You've made me happy by choosing\l" - .string "my first POKéMON, and it's made me cry…\p" - .string "Thank you so much!$" - -gText_082BCEF2:: @ 82BCEF2 - .string "Yay! It's {PLAYER}!\n" - .string "Great! I wanted to ask you something!\p" - .string "Um, of my POKéMON, which do you\n" - .string "think should go out first?$" - -gText_082BCF61:: @ 82BCF61 - .string "My {STR_VAR_1}? That's true.\n" - .string "Okay, I'll do that!\p" - .string "Thanks for teaching me!$" - -gText_082BCFA1:: @ 82BCFA1 - .string "{PLAYER}, hello!\p" - .string "I think, in a battle, it's very important\n" - .string "which POKéMON comes out first.\p" - .string "Out of the POKéMON that I have,\n" - .string "which would be good to send out first?$" - -gText_082BD03C:: @ 82BD03C - .string "My {STR_VAR_1} goes first?\n" - .string "Okay, I got it!\p" - .string "See you again!$" - -gText_082BD06D:: @ 82BD06D - .string "Hello, {PLAYER}…\n" - .string "I'm sorry to disturb you again with\l" - .string "another question.\p" - .string "I have so little confidence, I don't\n" - .string "know what I'd do without you, {PLAYER}.\p" - .string "It may be a waste of time for me to\n" - .string "even worry about it, but I just can't\l" - .string "decide something…\p" - .string "Which of my POKéMON should I send\n" - .string "out first in a battle?$" - -gText_082BD18A:: @ 82BD18A - .string "My {STR_VAR_1}?\n" - .string "Understood!\p" - .string "I can't believe that you would bother\n" - .string "to answer my questions so often!\p" - .string "I'm so grateful that you would even\n" - .string "speak with me… Thank you!$" - -gText_082BD222:: @ 82BD222 - .string "Oh, {PLAYER}{KUN}! It's me!\n" - .string "I'm so glad to see you because I have\l" - .string "this little problem.\p" - .string "I can't decide how my POKéMON should\n" - .string "be lined up. Could you decide for me?\p" - .string "Oh, you don't need to decide the whole\n" - .string "party right now.\p" - .string "How about deciding just the first\n" - .string "POKéMON for me?$" - -gText_082BD325:: @ 82BD325 - .string "My {STR_VAR_1}? That's great!\p" - .string "Knowing that you made the decision,\n" - .string "{PLAYER}{KUN}, I won't be so upset if\l" - .string "I lose.\p" - .string "Okay, I'll look to you for advice again.\n" - .string "Bye!$" - -gText_082BD3B1:: @ 82BD3B1 - .string "Hi, my teacher {PLAYER}{KUN}!\n" - .string "I'm busy again today!\p" - .string "I have to do some cycling, shopping,\n" - .string "and humming.\p" - .string "I haven't even had the time to decide\n" - .string "how to line up my POKéMON team.\p" - .string "So, how about checking out my team?\n" - .string "Which one should go first?$" - -gText_082BD493:: @ 82BD493 - .string "Okay, gotcha.\n" - .string "I have enough time at least to put\l" - .string "my {STR_VAR_1} at the head of the line!\p" - .string "Whoops, my girlfriend's waiting!\n" - .string "Thanks! See you around!$" - -gText_082BD51C:: @ 82BD51C - .string "Yoohoo! Hiya, {PLAYER}!\n" - .string "You always walk around looking tough!\p" - .string "Listen, I need something from you\n" - .string "again! It's the usual thing!\p" - .string "Drum roll, please!\n" - .string "The question I have is about my team.\p" - .string "Which POKéMON of mine should be first\n" - .string "to go out in a battle?$" - -gText_082BD609:: @ 82BD609 - .string "Hmhm!\n" - .string "My {STR_VAR_1}, you say!\l" - .string "Thanks for a most cool answer!\p" - .string "I guess that's about all I wanted\n" - .string "to ask you today.\p" - .string "Let's meet here again, okay?\n" - .string "Thanks!$" - -gText_082BD697:: @ 82BD697 - .string "Thank you so much for stopping to\n" - .string "chat with me, {PLAYER}.\p" - .string "I know I'm taking advantage of your\n" - .string "kindness, but may I ask for advice?\p" - .string "I would like you to decide on the order\n" - .string "of my POKéMON team.\p" - .string "It would please me if you could decide\n" - .string "which POKéMON should come first.$" - -gText_082BD797:: @ 82BD797 - .string "My {STR_VAR_1} it is!\n" - .string "I will put it first right away!\p" - .string "Thank you, {PLAYER}.\n" - .string "I hope I can count on you again.\l" - .string "Please take care!$" - -gText_082BD806:: @ 82BD806 - .string "Eek! {PLAYER}!\n" - .string "I… I'm overjoyed to see you again!\p" - .string "My POKéMON have become much\n" - .string "stronger!\p" - .string "But I don't always win. It seems to\n" - .string "depend on which POKéMON goes first.\p" - .string "{PLAYER}, please, I need your help!\p" - .string "Please decide which of my POKéMON\n" - .string "should go out first!$" - -gText_082BD8F5:: @ 82BD8F5 - .string "Sigh… I'm overwhelmed with happiness…\p" - .string "It's like a dream having you decide\n" - .string "for me, {PLAYER}.\p" - .string "But perfectly understood!\n" - .string "I will go with my {STR_VAR_1} first!\p" - .string "I hope you'll be willing to teach me\n" - .string "some more another time.$" - -gText_082BD9BE:: @ 82BD9BE - .string "Hello, hello!\n" - .string "My mentor, {PLAYER}{KUN}!\l" - .string "Hit me with your sage advice today!\p" - .string "You see, I pulled together a team of\n" - .string "three POKéMON. So far so good.\p" - .string "But the team's battling order's not\n" - .string "settled yet.\p" - .string "This is where you come in, {PLAYER}{KUN}!\n" - .string "You decide which POKéMON leads off!\p" - .string "Don't be shy now.\n" - .string "Let's blurt it out!$" - -gText_082BDAE1:: @ 82BDAE1 - .string "Uh-huh, my {STR_VAR_1} leads off!\n" - .string "OK, A-OK!\l" - .string "I'll reorder the lineup, like, wham!\p" - .string "All right, thanks, as always!\n" - .string "Adios!$" - -gText_082BDB4E:: @ 82BDB4E - .string "{PLAYER}{KUN}, listen!\n" - .string "It's a crisis!\p" - .string "My POKéMON, all three of them, go into\n" - .string "battle at once!\p" - .string "Of course that's impossible!\n" - .string "Wahahaha!\p" - .string "This is no lie, though.\n" - .string "I'm not very good at thinking about\l" - .string "how I should line up my POKéMON.\p" - .string "So, how about deciding for me which\n" - .string "POKéMON should go first, master?$" - -gText_082BDC6B:: @ 82BDC6B - .string "Okay, so it's my {STR_VAR_1} you chose?\n" - .string "I'll let any but that one go first!\p" - .string "Just kidding!\n" - .string "I'll obey your teaching, master!\p" - .string "Thanks, master!\n" - .string "I hope you'll keep teaching me!$" - -gText_082BDD0D:: @ 82BDD0D - .string "A-H-O-Y!\n" - .string "And that spells ahoy!\p" - .string "The rappin' SAILOR am I!\n" - .string "I present to you a question\l" - .string "that's pretty fly!\p" - .string "It's a team lineup question\n" - .string "that begs your suggestion!\p" - .string "Out of this lot, which should go first\n" - .string "as the first on the spot?$" - -gText_082BDDEC:: @ 82BDDEC - .string "Okay, I hear you, sure I do!\n" - .string "I'll switch them up, that I'll do!\p" - .string "If it's advice I ever need,\n" - .string "{PLAYER}, your word I'll always heed!$" - -gText_082BDE68:: @ 82BDE68 - .string "Yahoo, {PLAYER}!\n" - .string "How do you do?\p" - .string "What should I do? Go ahead and ask?\n" - .string "Uh-huh, I have something to ask!\l" - .string "Are you receiving me?\l" - .string "You are receiving me!\p" - .string "You have to decide, which of my\n" - .string "POKéMON is the first to ride!\l" - .string "Into battle, I mean to say.$" - -gText_082BDF4D:: @ 82BDF4D - .string "My {STR_VAR_1}? Yes!\n" - .string "That'll do, there's no distress!\p" - .string "Well, {PLAYER}, I have to roam free,\n" - .string "but don't you forget about me.\p" - .string "See you again, my smart friend!$" - -gText_082BDFD8:: @ 82BDFD8 - .string "…Oof…ooch… {PLAYER}{KUN}…\n" - .string "My stomach's hurting all of a sudden…\p" - .string "…It's getting better now…\p" - .string "I must've worried myself sick racking\n" - .string "my brains on how I should line up\l" - .string "my posse of POKéMON.\p" - .string "So, things being this way,\n" - .string "I need you to decide for me.\p" - .string "{PLAYER}{KUN}, which of my POKéMON should\n" - .string "go first? So I'd win, I mean.$" - -gText_082BE0FD:: @ 82BE0FD - .string "Hm, all right.\n" - .string "My {STR_VAR_1} goes first.\p" - .string "I'll fix the lineup like that after\n" - .string "I have my supper.\p" - .string "I hope I can keep hitting you up\n" - .string "for help like this.$" - -gText_082BE189:: @ 82BE189 - .string "Er… Um…\n" - .string "{PLAYER}{KUN}?\p" - .string "Please, don't look at me that way.\n" - .string "You're making me feel all flustered.\p" - .string "Um…\n" - .string "I really need your advice.\p" - .string "It makes me bashful to say this,\n" - .string "but I chose my 3-POKéMON team.\l" - .string "I can't decide on the order, though.\p" - .string "Which POKéMON should I send out first\n" - .string "so I at least look capable?$" - -gText_082BE2A5:: @ 82BE2A5 - .string "Oh… Okay!\n" - .string "I'll lead with my {STR_VAR_1}.\p" - .string "I hope I can do my best without\n" - .string "getting all flustered.\p" - .string "Thank you, {PLAYER}{KUN}.\n" - .string "If we meet again, I hope you will be\l" - .string "as helpful.$" - -gText_082BE33E:: @ 82BE33E - .string "Hm? You appear to be {PLAYER}{KUN}…\n" - .string "But are you really?\l" - .string "Perhaps you're a clever look-alike?\p" - .string "Oh, no, no, no, don't worry!\n" - .string "If you really are {PLAYER}, please\l" - .string "forget about my rudeness.\p" - .string "What I would like is your fine advice.\p" - .string "I have here my POKéMON team.\n" - .string "I would like you to tell me which one\l" - .string "should go first in a battle.$" - -gText_082BE46C:: @ 82BE46C - .string "My {STR_VAR_1}…\n" - .string "You aren't pulling my leg?\p" - .string "I see. If that's the case, that's fine.\n" - .string "I thank you for your time.\p" - .string "I am as you see, but I shall do\n" - .string "my best.\p" - .string "Let us meet again!$" - -gText_082BE50D:: @ 82BE50D - .string "Snivel…\n" - .string "Oh, {PLAYER}!\p" - .string "What perfect timing!\n" - .string "There's something I just can't decide…\p" - .string "I can't decide which POKéMON I should\n" - .string "be using.\p" - .string "I can't decide between the POKéMON\n" - .string "{STR_VAR_1} and {STR_VAR_2}…\p" - .string "{PLAYER}, which do you think will give\n" - .string "even me a chance at winning?$" - -gText_082BE5F5:: @ 82BE5F5 - .string "Snivel… I… I understand!\n" - .string "Oh! I'm so sorry!\l" - .string "You've made me so happy, I'm crying…\p" - .string "I'll do my best to catch one\n" - .string "{STR_VAR_1}!\p" - .string "Thank you so much!$" - -gText_082BE679:: @ 82BE679 - .string "Yay! It's {PLAYER}!\n" - .string "Yay, you came at the right time, too!\l" - .string "I need your advice again!\p" - .string "Um, I'm all mixed up--should I use\n" - .string "my {STR_VAR_1} or {STR_VAR_2}…\p" - .string "Which do you think I should raise,\n" - .string "{PLAYER}?$" - -gText_082BE71E:: @ 82BE71E - .string "Oh, so my {STR_VAR_1} is better!\n" - .string "Okay, I'll do that!\p" - .string "Thanks for teaching me!$" - -gText_082BE762:: @ 82BE762 - .string "{PLAYER}, hello!\n" - .string "I have a question I wanted to ask.\p" - .string "I'm in a dilemma over whether I should\n" - .string "raise one {STR_VAR_1} or {STR_VAR_2}.\p" - .string "Which POKéMON do you think will\n" - .string "be stronger?$" - -gText_082BE7F8:: @ 82BE7F8 - .string "{STR_VAR_1} is your choice?\n" - .string "Okay, I got it!\p" - .string "I'll go catch a strong {STR_VAR_1}\n" - .string "right away!\p" - .string "See you again!$" - -gText_082BE850:: @ 82BE850 - .string "Hello, {PLAYER}…\p" - .string "Um, you've probably already forgotten\n" - .string "about someone like me…\p" - .string "…But that doesn't matter if you\n" - .string "could give me advice…\p" - .string "I can't decide on the one kind of\n" - .string "POKéMON I should raise…\p" - .string "I've narrowed the field to the POKéMON\n" - .string "{STR_VAR_1} and {STR_VAR_2}, but that's\l" - .string "where I became stuck…\p" - .string "{PLAYER}, you probably don't want to\n" - .string "bother, but please decide for me.$" - -gText_082BE99C:: @ 82BE99C - .string "But will a wild {STR_VAR_1} even pay\n" - .string "attention to me?\p" - .string "I will try!\p" - .string "But will I even be able to catch one…\n" - .string "No! I'll do my best!\p" - .string "Thank you!$" - -gText_082BEA1B:: @ 82BEA1B - .string "Oh, {PLAYER}{KUN}! I'm so glad to see you!\n" - .string "I was about to go looking for you!\p" - .string "Can you decide what kind of POKéMON\n" - .string "I should use?\p" - .string "For instance…\n" - .string "How about the POKéMON {STR_VAR_1}\l" - .string "and {STR_VAR_2}?\p" - .string "Which one do you think would be\n" - .string "better?$" - -gText_082BEAE9:: @ 82BEAE9 - .string "{STR_VAR_1}? That's great!\p" - .string "Knowing that you made the decision,\n" - .string "{PLAYER}{KUN}, I won't be so upset if\l" - .string "I lose.\p" - .string "Okay, I'll look to you for advice again.\n" - .string "Bye!$" - -gText_082BEB72:: @ 82BEB72 - .string "If it isn't {PLAYER}{KUN}! How's it going?\n" - .string "I'm busy again as always!\p" - .string "I want to do good with POKéMON, too,\n" - .string "but I haven't been able to decide\l" - .string "which POKéMON I should use.\p" - .string "You know how {STR_VAR_1} look strong?\n" - .string "But {STR_VAR_2} are tough to ignore.\p" - .string "{PLAYER}{KUN}, give me some of your good\n" - .string "advice! Which one'd be good for me?$" - -gText_082BEC8E:: @ 82BEC8E - .string "Okay, gotcha.\n" - .string "I'll find time somehow and catch me\l" - .string "that {STR_VAR_1} you recommended.\p" - .string "I'm glad I met a good mentor in you.\n" - .string "Thanks! See you around!$" - -gText_082BED16:: @ 82BED16 - .string "Oh!\n" - .string "Yay, it's {PLAYER}!\p" - .string "I didn't waste any time boasting to\n" - .string "my friends about meeting you!\p" - .string "I need to tap your mind again today.\n" - .string "It's an easy one for you!\p" - .string "Drum roll, please!\n" - .string "The question I have is…\p" - .string "If I were to raise a POKéMON,\n" - .string "and the choices were one {STR_VAR_1}\l" - .string "or {STR_VAR_2}, which should it be?$" - -gText_082BEE29:: @ 82BEE29 - .string "Ahhh!\n" - .string "{STR_VAR_1}, you say!\l" - .string "Thanks for a most cool answer!\p" - .string "I guess that's about all I wanted\n" - .string "to ask you today.\p" - .string "Let's meet here again, okay?\n" - .string "Thanks!$" - -gText_082BEEB4:: @ 82BEEB4 - .string "Oh, is it you, {PLAYER}?\n" - .string "I'm delighted to see you again!\p" - .string "Ever since I became your apprentice,\n" - .string "my confidence has been blooming.\p" - .string "I think I'm ready to raise a POKéMON\n" - .string "of my own!\p" - .string "{PLAYER}, may I impose on you to choose\n" - .string "which POKéMON I should raise?\p" - .string "The choices are the POKéMON\n" - .string "{STR_VAR_1} or {STR_VAR_2}…\l" - .string "Which POKéMON is right for me?$" - -gText_082BEFE2:: @ 82BEFE2 - .string "One {STR_VAR_1} it is!\n" - .string "I will find one right away!\p" - .string "Thank you, {PLAYER}.\n" - .string "I hope I can count on you again.\l" - .string "Please take care!$" - -gText_082BF04E:: @ 82BF04E - .string "Eek! {PLAYER}! I met you again!\n" - .string "I… I'm overjoyed!\p" - .string "Oh-oh-oh, I know!\n" - .string "I shouldn't pass up this opportunity!\p" - .string "May I ask a huge favor, {PLAYER}?\n" - .string "Please choose a POKéMON for me!\p" - .string "Please decide which would be better,\n" - .string "{STR_VAR_1} or {STR_VAR_2}!$" - -gText_082BF11D:: @ 82BF11D - .string "Wow! You decided for me!\n" - .string "One {STR_VAR_1} is what I'll raise to\l" - .string "the best of my ability.\p" - .string "I hope you'll be willing to teach me\n" - .string "some more another time.$" - -gText_082BF1A8:: @ 82BF1A8 - .string "Hey, hey!\n" - .string "My mentor, {PLAYER}{KUN}!\p" - .string "Hello, I've been looking for you\n" - .string "for some more of your sage advice!\p" - .string "Which kind of POKéMON would be right\n" - .string "for me, one {STR_VAR_1} or {STR_VAR_2}?\p" - .string "Don't be shy now.\n" - .string "Let's blurt it out!$" - -gText_082BF268:: @ 82BF268 - .string "Uh-huh, one {STR_VAR_1} it is!\n" - .string "OK, A-OK!\l" - .string "I'll get one in a BALL, like, cram!\p" - .string "All right, thanks, as always!\n" - .string "Adios!$" - -gText_082BF2D1:: @ 82BF2D1 - .string "{PLAYER}{KUN}, listen! Big news!\n" - .string "I caught a mirage POKéMON!\p" - .string "Of course I'm lying!\n" - .string "Wahahaha!\p" - .string "This is no lie, though.\n" - .string "I'm not very good at catching\l" - .string "POKéMON.\p" - .string "So, how about deciding for me which\n" - .string "kind of POKéMON I should catch,\l" - .string "master?\p" - .string "Which would be better?\n" - .string "{STR_VAR_1} or {STR_VAR_2}?$" - -gText_082BF3CF:: @ 82BF3CF - .string "Okay, so it's {STR_VAR_1} you chose?\n" - .string "I'll grab the other kind, then!\p" - .string "Just kidding!\n" - .string "I'll obey your teaching, master!\p" - .string "Thanks, master!\n" - .string "I hope you'll keep teaching me!$" - -gText_082BF46A:: @ 82BF46A - .string "A-H-O-Y!\n" - .string "And that spells ahoy!\p" - .string "The rappin' SAILOR am I!\n" - .string "Surely you remember who am I?\p" - .string "Today, I have a POKéMON question\n" - .string "that begs your suggestion!\p" - .string "I have the choice between this\n" - .string "{STR_VAR_1} and {STR_VAR_2}, you see.\l" - .string "Which is the one to catch for me?$" - -gText_082BF551:: @ 82BF551 - .string "{STR_VAR_1}, you say, hey, hey!\n" - .string "I'll go get me one right away!\p" - .string "If it's advice I ever need,\n" - .string "{PLAYER}, your word I'll always heed!$" - -gText_082BF5C3:: @ 82BF5C3 - .string "Oh, wow, if it isn't {PLAYER}!\p" - .string "What should I do? Get your advice?\n" - .string "Why not? I'm already talking to you!\p" - .string "It's been a long time. Let me break\n" - .string "the ice. I'm also looking for advice!\l" - .string "Are you receiving me?\l" - .string "You are receiving me!\p" - .string "My POKéMON--which should I use?\n" - .string "It's either {STR_VAR_1} or {STR_VAR_2}.\l" - .string "Which do you choose?$" - -gText_082BF6E5:: @ 82BF6E5 - .string "If that {STR_VAR_1} is the best,\n" - .string "I'll do as you suggest!\p" - .string "Well, {PLAYER}, I have to roam free,\n" - .string "but don't you forget about me.\p" - .string "See you again, my smart friend!$" - -gText_082BF773:: @ 82BF773 - .string "Oh, hi, {PLAYER}{KUN}…\n" - .string "I have this horrible headache…\p" - .string "I must've worried too much about\n" - .string "the kind of POKéMON I should raise.\p" - .string "So, things being this way,\n" - .string "I need you to decide for me.\p" - .string "{PLAYER}{KUN}, if I had to choose between\n" - .string "the POKéMON {STR_VAR_1} and\l" - .string "{STR_VAR_2}, which should it be?$" - -gText_082BF869:: @ 82BF869 - .string "Hm, one {STR_VAR_1}, all right.\n" - .string "I'll go look for one when I get better.\p" - .string "I hope I can keep hitting you up\n" - .string "for help like this.$" - -gText_082BF8DD:: @ 82BF8DD - .string "Er… Um…\n" - .string "{PLAYER}{KUN}…?\p" - .string "Please, don't look at me that way.\n" - .string "I'm getting all flustered…\l" - .string "I… I need your advice.\p" - .string "I… I'm really embarrassed, but I can't\n" - .string "decide which POKéMON to use.\p" - .string "If the choices were {STR_VAR_1} or\n" - .string "{STR_VAR_2}, which would be better?$" - -gText_082BF9BA:: @ 82BF9BA - .string "Oh… Okay!\n" - .string "I'll do my best with one {STR_VAR_1}.\p" - .string "I hope I can do my best without\n" - .string "getting all flustered.\p" - .string "Thank you, {PLAYER}{KUN}.\n" - .string "If we meet again, I hope you will be\l" - .string "as helpful.$" - -gText_082BFA5A:: @ 82BFA5A - .string "Hm? You appear to be {PLAYER}{KUN}…\n" - .string "But are you really real?\p" - .string "No, no, if you are real, it's fine.\n" - .string "Incidentally, I would like to obtain\l" - .string "your advice.\p" - .string "It's about the POKéMON I am to use.\p" - .string "If the choices are the POKéMON\n" - .string "{STR_VAR_1} and {STR_VAR_2}, which is\l" - .string "more worthy of me?$" - -gText_082BFB4E:: @ 82BFB4E - .string "{STR_VAR_1}?\n" - .string "Are you certain?\p" - .string "I see. If that's the case, that's fine.\n" - .string "I thank you for your time.\p" - .string "I do hope it is something even I can\n" - .string "handle with aplomb.\p" - .string "Let us meet again!$" - -gText_082BFBF2:: @ 82BFBF2 - .string "Waaah! Oh, {PLAYER}!\n" - .string "Snivel… Hiccup…\p" - .string "I have a dilemma!\n" - .string "I can't decide on a move for\l" - .string "my {STR_VAR_1}…\p" - .string "Please, please, {PLAYER}.\n" - .string "Can you decide for me?\p" - .string "For my {STR_VAR_1}, which move would\n" - .string "be the better choice: {STR_VAR_2}\l" - .string "or {STR_VAR_3}?$" - -gText_082BFCAE:: @ 82BFCAE - .string "{STR_VAR_1}?\n" - .string "Waaaaah!\p" - .string "Oh! I'm so sorry, {PLAYER}!\n" - .string "You've made me so happy by deciding\l" - .string "the move, I'm crying…\p" - .string "Snivel…\n" - .string "Thank you so much!$" - -gText_082BFD26:: @ 82BFD26 - .string "Yay! Hi, {PLAYER}!\n" - .string "I need your advice again!\p" - .string "I want to teach my {STR_VAR_1}\n" - .string "a cool move.\p" - .string "I like either of the moves\n" - .string "{STR_VAR_2} or {STR_VAR_3}.\l" - .string "What's your recommendation?$" - -gText_082BFDB1:: @ 82BFDB1 - .string "{STR_VAR_1} is better? I guess so!\n" - .string "Okay, I'll go with that!\p" - .string "If we meet here again, please teach\n" - .string "me something else, teacher!$" - -gText_082BFE24:: @ 82BFE24 - .string "{PLAYER}, hello!\n" - .string "It's about my {STR_VAR_1}, but I'm\l" - .string "worried about its moves.\p" - .string "You see, it's the moves {STR_VAR_2}\n" - .string "and {STR_VAR_3}.\p" - .string "Which is stronger and better for\n" - .string "my {STR_VAR_1}?$" - -gText_082BFEAD:: @ 82BFEAD - .string "{STR_VAR_1} is your choice?\n" - .string "Okay, I got it!\p" - .string "I'll go teach {STR_VAR_1} to\n" - .string "my POKéMON right away!\p" - .string "See you again!$" - -gText_082BFF0A:: @ 82BFF0A - .string "Ohhh, {PLAYER}…\n" - .string "I'm hopeless, no, really!\p" - .string "I've decided to raise a POKéMON,\n" - .string "but now I can't even decide what\l" - .string "move I should let it learn…\p" - .string "I know that it doesn't mean anything\n" - .string "to you, {PLAYER}.\p" - .string "But it means a lot to me…\p" - .string "Please, {PLAYER}, could you choose\n" - .string "a move for my {STR_VAR_1}?\p" - .string "If you could even choose between\n" - .string "{STR_VAR_2} and {STR_VAR_3}…$" - -gText_082C0032:: @ 82C0032 - .string "I understand!\p" - .string "But will it even be willing to learn\n" - .string "{STR_VAR_1} for me…\l" - .string "No! I'll do my best!\p" - .string "Thank you!$" - -gText_082C0090:: @ 82C0090 - .string "Oh, {PLAYER}{KUN}!\n" - .string "I was just hoping to see you, too!\p" - .string "I was wondering what move would\n" - .string "be suitable for my {STR_VAR_1}.\p" - .string "I can't decide, so can you decide\n" - .string "for me instead?\p" - .string "For instance… How about the moves\n" - .string "{STR_VAR_2} and {STR_VAR_3}?\l" - .string "Which one would be better?$" - -gText_082C016E:: @ 82C016E - .string "{STR_VAR_1}? That's great!\p" - .string "Knowing that you made the decision,\n" - .string "{PLAYER}{KUN}, I won't be so upset if\l" - .string "I lose.\p" - .string "Okay, I'll look to you for advice again.\n" - .string "Bye!$" - -gText_082C01F7:: @ 82C01F7 - .string "How could things be this busy?\n" - .string "Hey, if it isn't {PLAYER}{KUN}!\l" - .string "How's it going?\p" - .string "Since I got up this morning, I've done\n" - .string "my jogging, swimming, and cooking!\p" - .string "You wouldn't believe how busy I am!\p" - .string "I can't even decide what move\n" - .string "my {STR_VAR_1} should learn!\p" - .string "{STR_VAR_2} looks good, huh?\n" - .string "But {STR_VAR_3}'s also decent.\p" - .string "{PLAYER}{KUN}, give me some of your good\n" - .string "advice! Which move'd be good for me?$" - -gText_082C034C:: @ 82C034C - .string "Okay, gotcha.\n" - .string "I'll make room in my schedule and\l" - .string "teach that move.\p" - .string "I'm glad I met a good mentor in you.\n" - .string "Thanks! See you around!$" - -gText_082C03CA:: @ 82C03CA - .string "Oh! Lucky!\n" - .string "I met you again, {PLAYER}!\l" - .string "I need to tap your mind again today.\p" - .string "Drum roll, please!\n" - .string "The question I have is…\p" - .string "For my {STR_VAR_1}, which is the move\n" - .string "best suited, {STR_VAR_2} or\l" - .string "{STR_VAR_3}?$" - -gText_082C046E:: @ 82C046E - .string "Ahhh!\n" - .string "{STR_VAR_1}, you say!\l" - .string "Thanks for a most cool answer!\p" - .string "I guess that's about all I wanted\n" - .string "to ask you today.\p" - .string "Let's meet here again, okay?\n" - .string "Thanks!$" - -gText_082C04F9:: @ 82C04F9 - .string "Oh, hello, {PLAYER}.\n" - .string "I trust you've been well?\p" - .string "I have to seek your advice again.\n" - .string "It's about my dearest {STR_VAR_1}.\p" - .string "What would be the ideal move for\n" - .string "my lovable {STR_VAR_1}?\l" - .string "{STR_VAR_2} or {STR_VAR_3}?$" - -gText_082C0598:: @ 82C0598 - .string "{STR_VAR_1} it is!\n" - .string "I will teach that right away!\p" - .string "Thank you, {PLAYER}.\n" - .string "I hope I can count on you again.\l" - .string "Please take care!$" - -gText_082C0602:: @ 82C0602 - .string "Eek! {PLAYER}! I met you again!\n" - .string "I… I'm overjoyed!\p" - .string "Whenever I'm in need, you're always\n" - .string "there for me, {PLAYER}!\p" - .string "Today, I want you to recommend\n" - .string "a move for me!\p" - .string "Please choose a move for\n" - .string "my {STR_VAR_1}!\p" - .string "Which move would be better,\n" - .string "{STR_VAR_2} or {STR_VAR_3}?$" - -gText_082C06D8:: @ 82C06D8 - .string "Oh-oh-oh! Thank you!\n" - .string "{STR_VAR_1} is it!\l" - .string "Perfectly understood!\p" - .string "I hope you'll be willing to teach me\n" - .string "some more another time.$" - -gText_082C074A:: @ 82C074A - .string "Hola, {PLAYER}{KUN}, bueno!\n" - .string "I'm hoping for some more of\l" - .string "your sage advice today!\p" - .string "What would be the best move for\n" - .string "my {STR_VAR_1}?\p" - .string "It should be something that'll\n" - .string "let me win just like that!\p" - .string "Would it be {STR_VAR_2}?\n" - .string "Or {STR_VAR_3}?$" - -gText_082C0809:: @ 82C0809 - .string "Uh-huh, {STR_VAR_1} it is!\n" - .string "Si, bueno!\l" - .string "I'll get it taught, like, ka-blam!\p" - .string "All right, thanks, as always!\n" - .string "Adios!$" - -gText_082C086E:: @ 82C086E - .string "{PLAYER}{KUN}, it's completely wild!\p" - .string "My POKéMON!\n" - .string "It learned six moves!\p" - .string "Of course I'm lying!\n" - .string "Wahahaha!\p" - .string "This is no lie, though.\n" - .string "I'm not very good at choosing moves\l" - .string "for my POKéMON.\p" - .string "So, how about deciding for me which\n" - .string "kind of move I should teach?\p" - .string "{STR_VAR_2} or {STR_VAR_3}--which\n" - .string "would go with my {STR_VAR_1} best?$" - -gText_082C0982:: @ 82C0982 - .string "Okay, so it's {STR_VAR_1} you chose?\n" - .string "I'll choose another move, then!\p" - .string "Just kidding!\n" - .string "I'll obey your teaching, master!\p" - .string "Thanks, master!\n" - .string "I hope you'll keep teaching me!$" - -gText_082C0A1D:: @ 82C0A1D - .string "A-H-O-Y!\n" - .string "And that spells ahoy!\p" - .string "The rappin' SAILOR am I!\n" - .string "I'm always with it, don't ask me why.\p" - .string "Today, I have a move question\n" - .string "that begs your suggestion!\p" - .string "{STR_VAR_2} and {STR_VAR_3} are\n" - .string "the moves. What would be the best\l" - .string "for my {STR_VAR_1} so it grooves?$" - -gText_082C0AFD:: @ 82C0AFD - .string "{STR_VAR_1}, you say, hey, hey!\n" - .string "I'll go teach that right away!\p" - .string "If it's advice I ever need,\n" - .string "{PLAYER}, your word I'll always heed!$" - -gText_082C0B6F:: @ 82C0B6F - .string "Oh, yeahah, if it isn't {PLAYER}!\p" - .string "What should I do? Get your advice?\n" - .string "Why not? I'm already talking to you!\p" - .string "{PLAYER}, are you surprised by me?\n" - .string "I want your advice, can't you see?\p" - .string "Are you receiving me?\n" - .string "You are receiving me!\p" - .string "My {STR_VAR_1}--what should it use?\n" - .string "It's {STR_VAR_2} or {STR_VAR_3},\l" - .string "what do you choose?$" - -gText_082C0C7D:: @ 82C0C7D - .string "If that {STR_VAR_1} is the best,\n" - .string "I'll do as you suggest!\p" - .string "Well, {PLAYER}, I have to roam free,\n" - .string "but don't you forget about me.\p" - .string "See you again, my smart friend!$" - -gText_082C0D0B:: @ 82C0D0B - .string "Gahack! Gaah! Oh, {PLAYER}{KUN}…\n" - .string "I have this lousy cold, I do…\p" - .string "I want to pick a move for my POKéMON,\n" - .string "but I'm not up to it…\p" - .string "So, things being this way,\n" - .string "I need you to decide for me.\p" - .string "{PLAYER}{KUN}, if I had to choose between\n" - .string "{STR_VAR_2} and {STR_VAR_3} for\l" - .string "my {STR_VAR_1}, which would it be?$" - -gText_082C0DFE:: @ 82C0DFE - .string "Hm, {STR_VAR_1}, all right. Cough!\n" - .string "I'll go teach it when I get better.\p" - .string "I hope I can keep hitting you up\n" - .string "for help like this.$" - -gText_082C0E71:: @ 82C0E71 - .string "Er… Um…\n" - .string "{PLAYER}{KUN}…?\p" - .string "Please, don't look at me that way.\n" - .string "I'm getting all flustered…\l" - .string "I… I need your advice.\p" - .string "I… I'm really embarrassed, but I can't\n" - .string "decide what move I should teach\l" - .string "my POKéMON.\p" - .string "It's for my {STR_VAR_1}.\n" - .string "If the choices were {STR_VAR_2} or\l" - .string "{STR_VAR_3}, which would be better?$" - -gText_082C0F6D:: @ 82C0F6D - .string "Oh… Okay!\n" - .string "I'll try that {STR_VAR_1}.\p" - .string "I hope I can teach that move…\n" - .string "This is so nerve-racking…\p" - .string "Thank you, {PLAYER}{KUN}.\n" - .string "If we meet again, I hope you will be\l" - .string "as helpful.$" - -gText_082C1003:: @ 82C1003 - .string "Hm? You appear to be {PLAYER}{KUN}…\n" - .string "But are you really real?\p" - .string "Perhaps you're one of those popular\n" - .string "mimics?\p" - .string "No, no, if you are real, it's fine.\n" - .string "No need to be upset, I assure you!\p" - .string "Incidentally, I would like to obtain\n" - .string "your advice.\p" - .string "It's about my {STR_VAR_1}.\p" - .string "Which move would be better for it to\n" - .string "use, {STR_VAR_2} or {STR_VAR_3}?$" - -gText_082C1122:: @ 82C1122 - .string "{STR_VAR_1}?\n" - .string "There's no question about that?\p" - .string "I see. If that's the case, that's fine.\n" - .string "I thank you for your time.\p" - .string "I do hope it is something even\n" - .string "my POKéMON can learn.\p" - .string "Let us meet again!$" - -gText_082C11D1:: @ 82C11D1 - .string "Oh… {PLAYER}?\n" - .string "It is {PLAYER}!\l" - .string "Oh! Sniff…sob… Please, listen!\p" - .string "I… When I battle, I get so nervous,\n" - .string "I can't help crying even if I win…\p" - .string "I wish I could say something cool\n" - .string "when I win…\p" - .string "Please, please, {PLAYER}!\n" - .string "Could you maybe teach me something\l" - .string "cool to say when I win so I don't cry?$" - -gText_082C12D5:: @ 82C12D5 - .string "{STR_VAR_1}\p" - .string "Awesome! Wicked! Awoooh!\n" - .string "It's really cool!\p" - .string "Oh… I'm sorry…\n" - .string "I'm so happy, I'm crying…\p" - .string "Snivel… {PLAYER}!\n" - .string "Thank you so much for everything!\p" - .string "I will battle the best I can for\n" - .string "your sake, {PLAYER}!\p" - .string "{PLAYER}…\n" - .string "Next time… We should battle!$" - -gText_082C13AB:: @ 82C13AB - .string "Yay! It's {PLAYER}! Hello!\n" - .string "I wanted to ask you something!\p" - .string "I want to say something cool when\n" - .string "I win a match.\p" - .string "Do you have a cool saying that\n" - .string "you could recommend?$" - -gText_082C1444:: @ 82C1444 - .string "{STR_VAR_1}\p" - .string "Oh, wow! That is so cool!\n" - .string "Okay, I'll say that!\p" - .string "Thanks for teaching me all this time!\n" - .string "I'm going to do the best I can\l" - .string "wherever I go from now on!\p" - .string "When we meet again, it'll be for\n" - .string "a battle!$" - -gText_082C1501:: @ 82C1501 - .string "{PLAYER}, hello!\p" - .string "My POKéMON and I are ready for\n" - .string "anything, except for one thing.\p" - .string "I think it would be good if I had\n" - .string "something to shout when I win.\p" - .string "Could you think up something good\n" - .string "to say?$" - -gText_082C15B6:: @ 82C15B6 - .string "{STR_VAR_1}\p" - .string "…Cool!\n" - .string "I will use that!\p" - .string "I'm going out to battle all over\n" - .string "the place.\p" - .string "Who knows, I may even get to battle\n" - .string "you one day, {PLAYER}.\p" - .string "Next time, let's meet at a place\n" - .string "of battle!$" - -gText_082C165E:: @ 82C165E - .string "Hello, {PLAYER}…\n" - .string "I'm sorry to bug you, but I'm hopeless…\p" - .string "Even when…\n" - .string "Even when I win, I don't have anything\l" - .string "special to say…\p" - .string "I know that it doesn't mean anything\n" - .string "to you, {PLAYER}.\p" - .string "But it means a lot to me…\p" - .string "Please, {PLAYER}, what should I say\n" - .string "if I win a battle?$" - -gText_082C174F:: @ 82C174F - .string "{STR_VAR_1}\p" - .string "That's inspired…\p" - .string "Uh… Is it okay for someone like me\n" - .string "to even say that?\p" - .string "No! I'll do my best!\p" - .string "{PLAYER}, thank you so much for\n" - .string "putting up with me for so long…\p" - .string "I promise to do my best from now on.\p" - .string "I'm sure you'll quickly forget about\n" - .string "someone like me, but let's meet\l" - .string "somewhere again!$" - -gText_082C1862:: @ 82C1862 - .string "Oh, {PLAYER}{KUN}.\n" - .string "There's something I want you to hear.\p" - .string "I know that I don't always sound\n" - .string "nice or polite…\p" - .string "When I win a battle, I think I come\n" - .string "across as being arrogant.\p" - .string "I don't want people to dislike me,\n" - .string "so I want to say something nice to\l" - .string "someone I beat.\p" - .string "But I can't think of anything good!\n" - .string "Could you think something up for me?$" - -gText_082C19A0:: @ 82C19A0 - .string "{STR_VAR_1}\p" - .string "Not bad!\n" - .string "Yup, that's what I'll go with!\p" - .string "I'm going to hit the road and do what\n" - .string "I can with what you taught me in\l" - .string "my head and heart.\p" - .string "I'm sorry that I've been so pushy\n" - .string "with you!\p" - .string "Next time, we battle, okay?\n" - .string "See you!$" - -gText_082C1A76:: @ 82C1A76 - .string "Oh, I can't get over how busy I am!\n" - .string "Oh, hey, I was looking for you, {PLAYER}{KUN}.\p" - .string "Are you well as usual?\n" - .string "Things haven't changed for me at all.\p" - .string "I've got running, fighting, and mapping\n" - .string "to do. Why am I so busy?\p" - .string "But even though I'm busy, it'd be rude\n" - .string "to just turn on my heels and walk away\l" - .string "from a win without saying a word.\p" - .string "So, what would be a cool saying to\n" - .string "underline my coolness when I'm done\l" - .string "and walking away? {PLAYER}{KUN}, help me!$" - -gText_082C1C16:: @ 82C1C16 - .string "{STR_VAR_1}\p" - .string "Okay, gotcha.\n" - .string "I can find time to say that!\p" - .string "Honestly, I'm glad I met a good mentor\n" - .string "like you.\p" - .string "I'm going to make time somehow so\n" - .string "I can get into battling.\p" - .string "Thanks for everything, {PLAYER}{KUN}!\n" - .string "We have to battle, you and me, one day!$" - -gText_082C1CF5:: @ 82C1CF5 - .string "I lucked out again!\n" - .string "{PLAYER}! Am I glad to see you!\l" - .string "Like usual, I need your advice!\p" - .string "Drum roll, please!\n" - .string "The last question I have is…\p" - .string "If I win a battle and want to end\n" - .string "it with a cool flourish, what\l" - .string "should I say?$" - -gText_082C1DC1:: @ 82C1DC1 - .string "{STR_VAR_1}\p" - .string "That… That's fabulous!\n" - .string "It's dignified and cool! I claim it!\p" - .string "…Listen, I think I'm getting decent\n" - .string "at this, huh?\p" - .string "So, I'm thinking of challenging other\n" - .string "TRAINERS from now on.\p" - .string "{PLAYER}, your advice really helped me.\p" - .string "Maybe one day, there'll be a time when\n" - .string "we battle!\p" - .string "Thank you for everything!$" - -gText_082C1EDC:: @ 82C1EDC - .string "Oh, {PLAYER}.\n" - .string "I'm so glad I met you!\p" - .string "I no longer have any concerns with\n" - .string "regard to my POKéMON.\p" - .string "It's myself that worries me…\p" - .string "Do you know how a TRAINER says\n" - .string "a few things upon winning a battle?\p" - .string "Definitely, I wish I could do that,\n" - .string "too!\p" - .string "Please, what should I say when\n" - .string "I win a battle?$" - -gText_082C1FEC:: @ 82C1FEC - .string "{STR_VAR_1}\p" - .string "Ah! That saying! It refreshes me\n" - .string "and makes me feel reborn!\p" - .string "I must use that right away!\p" - .string "And now, I must take my leave,\n" - .string "{PLAYER}…\p" - .string "I will go out to battle many others,\n" - .string "but never will I forget your teachings.\p" - .string "Perhaps one day…\n" - .string "Farewell!$" - -gText_082C20D1:: @ 82C20D1 - .string "Eek! I spotted {PLAYER}!\n" - .string "I… I'm overjoyed to see you!\p" - .string "Oh-oh-oh! There's something I just\n" - .string "had to ask you!\p" - .string "A little while ago, I won a battle.\n" - .string "That part was giddying!\p" - .string "But it made me so overjoyed that\n" - .string "I choked up and couldn't say a thing!\p" - .string "So now, {PLAYER}, please, I want you to\n" - .string "think up an exit line for when I win!$" - -gText_082C21FF:: @ 82C21FF - .string "{STR_VAR_1}\p" - .string "Waaaaah!\n" - .string "I'm going to say that?!\l" - .string "I… I'm delirious with joy!\p" - .string "Th-th-thank you!\n" - .string "I have nothing left to regret now!\p" - .string "I'm going to travel now and battle\n" - .string "all sorts of people.\p" - .string "Everything, I owe it to you, {PLAYER}.\n" - .string "Really, really, thank you!\p" - .string "I've got to go now, but let's meet\n" - .string "in battle one day!$" - -gText_082C231C:: @ 82C231C - .string "Hola, bueno!\n" - .string "{PLAYER}{KUN}!\p" - .string "You know, I'm getting the itch to roam\n" - .string "and battle where I may.\p" - .string "But before I do, I want your advice\n" - .string "once again, please!\p" - .string "If I were to win a battle, what would\n" - .string "be a good boast I could say to my\l" - .string "fallen TRAINER opponent?$" - -gText_082C2407:: @ 82C2407 - .string "{STR_VAR_1}\p" - .string "Uh-huh, that's sweet!\n" - .string "Si, bueno!\l" - .string "I'll try saying that, like, ham!\p" - .string "And now, it's time to say good-bye!\n" - .string "Thanks for all sorts of things!\p" - .string "Give me a battle one day, OK?\n" - .string "Adios!$" - -gText_082C24B5:: @ 82C24B5 - .string "{PLAYER}{KUN}, there's big trouble!\p" - .string "When I win a battle, I brag about it\n" - .string "for an hour at least!\p" - .string "Of course I'm lying!\n" - .string "Wahahaha!\p" - .string "This is no lie, though.\n" - .string "I'm not very good at chatting.\p" - .string "So, how about deciding for me what\n" - .string "I should say after winning a battle,\l" - .string "master?$" - -gText_082C25B1:: @ 82C25B1 - .string "{STR_VAR_1}\p" - .string "That's what I should say, huh?\n" - .string "Then, I'll stay away from that!\p" - .string "Just kidding!\n" - .string "I'll obey your teaching, master!\p" - .string "Thanks for teaching me all this time,\n" - .string "master!\p" - .string "I'm finally understanding what being\n" - .string "a TRAINER is about.\p" - .string "I'm going to go out and win battles\n" - .string "against any TRAINER.\p" - .string "Maybe it'll be you one day, master!\p" - .string "That's all!\n" - .string "Farewell, my master!$" - -gText_082C2707:: @ 82C2707 - .string "A-H-O-Y!\n" - .string "And that spells ahoy!\p" - .string "The rappin' SAILOR am I!\n" - .string "This will be my last question,\l" - .string "don't you cry!\p" - .string "It's a saying question\n" - .string "that begs your suggestion!\p" - .string "If I win a match, what can I say\n" - .string "in a real cool way?$" - -gText_082C27D4:: @ 82C27D4 - .string "{STR_VAR_1}\p" - .string "Perfect! That's what I'll use.\n" - .string "I was right to make you choose!\p" - .string "And now, I think it'd be best,\n" - .string "if I were to fly the nest!\p" - .string "Thanks for all you taught me.\n" - .string "I'll be off on a battle spree!\p" - .string "B-O-N-V-O-Y-A-G-E!\n" - .string "And that spells bon voyage,\l" - .string "to you this is my homage!$" - -gText_082C28D6:: @ 82C28D6 - .string "Oh, yeah, {PLAYER}!\n" - .string "I found you again today!\p" - .string "What should I do? Ask you again?\n" - .string "Why not? I'm already asking you!\p" - .string "Anyways, {PLAYER}…\n" - .string "Are you receiving me?\l" - .string "You are receiving me!\l" - .string "I need some more advice for me!\p" - .string "It's about what I should yell.\n" - .string "Something cool to holler when\l" - .string "a battle ends well.\p" - .string "Come on, I wanna hear you say it!$" - -gText_082C2A0B:: @ 82C2A0B - .string "{STR_VAR_1}\p" - .string "All right, all right!\n" - .string "I'll use that because it's so tight!\p" - .string "I'm out of things to ask you.\n" - .string "Waving bye is all that's left to do.\p" - .string "But maybe one day we'll meet, with one\n" - .string "destined to go down in defeat.\p" - .string "But, it really is time to say farewell.\p" - .string "Well, {PLAYER}, I have to roam free,\n" - .string "but don't you forget about me!\p" - .string "Take care, {PLAYER}!\n" - .string "Love ya!$" - -gText_082C2B50:: @ 82C2B50 - .string "{PLAYER}{KUN}, I'm finished…\n" - .string "My nose won't stop dripping…\p" - .string "I was trying to think up something\n" - .string "cool to say when I win a battle.\p" - .string "It inspired me so much, it made me cry,\n" - .string "and now my nose won't stop running…\p" - .string "So, things being this way,\n" - .string "I need you to decide for me, {PLAYER}{KUN}.\p" - .string "When I win a battle,\n" - .string "what should I say?$" - -gText_082C2C77:: @ 82C2C77 - .string "{STR_VAR_1}\p" - .string "… … …That's good.\n" - .string "No, it's awe inspiring!\l" - .string "It's bringing fresh tears to my eyes!\p" - .string "But in spite of my tears and runny\n" - .string "nose, I will use that saying!\p" - .string "I'm plumb out of things to ask you,\n" - .string "{PLAYER}{KUN}.\p" - .string "From now on, we're rivals!\n" - .string "Thanks for everything!$" - -gText_082C2D67:: @ 82C2D67 - .string "Er… Um…\n" - .string "{PLAYER}{KUN}…\p" - .string "Please, don't look at me that way.\n" - .string "You're making me all nervous.\p" - .string "I… I need your advice again.\n" - .string "I'll make it my last, though…\p" - .string "It's really embarrassing to ask,\n" - .string "but what if I win a battle?\l" - .string "What should I say?$" - -gText_082C2E41:: @ 82C2E41 - .string "{STR_VAR_1}\p" - .string "Oh… Okay!\n" - .string "I'll try to say that!\l" - .string "I might be too nervous to say it…\p" - .string "Thank you, {PLAYER}{KUN}.\n" - .string "I have to say good-bye now.\p" - .string "I'll obey all that you've taught me,\n" - .string "{PLAYER}{KUN}, and do the best I can.$" - -gText_082C2EF5:: @ 82C2EF5 - .string "Hm? You appear to be {PLAYER}{KUN}…\n" - .string "But are you really?\l" - .string "Perhaps a clever {PLAYER} DOLL?\p" - .string "Oh, no, no, no, don't worry!\n" - .string "If you really are real, please\l" - .string "forget about my rudeness.\p" - .string "No need to be so angry. All I wish for\n" - .string "is more of your fine advice.\p" - .string "It concerns a saying.\p" - .string "More precisely, what should I say\n" - .string "if I win a battle?$" - -gText_082C3023:: @ 82C3023 - .string "{STR_VAR_1}\p" - .string "… … … … … …\n" - .string "When I win a match…\p" - .string "{STR_VAR_1}\p" - .string "…Are you serious?\p" - .string "I see. If you are serious, that's fine.\n" - .string "I thank you for your time.\p" - .string "I do hope even I will be able to\n" - .string "put that saying to good use.\p" - .string "I seem to have run dry on what advice\n" - .string "I need.\p" - .string "I do believe it's high time I bid you\n" - .string "farewell and strike out on my own.\p" - .string "Thank you, my mentor!\n" - .string "I apologize for my skepticism!$" diff --git a/data/scripts/battle_pike.inc b/data/scripts/battle_pike.inc new file mode 100644 index 0000000000..dd730a644e --- /dev/null +++ b/data/scripts/battle_pike.inc @@ -0,0 +1,254 @@ +BattleFrontier_BattlePikeRoomNormal_MapScripts_2C3E1B: @ 82C3E1B + map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePikeRoom_OnTransition + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRoom_OnWarp + +BattleFrontier_BattlePikeRoom_OnTransition: @ 82C3E25 + pike_setroomobjects + pike_getroomtype + switch VAR_RESULT + case PIKE_ROOM_SINGLE_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_SetOneObjectRoomPos + case PIKE_ROOM_HEAL_FULL, BattleFrontier_BattlePikeRoomNormal_EventScript_SetOneObjectRoomPos + case PIKE_ROOM_NPC, BattleFrontier_BattlePikeRoomNormal_EventScript_SetNPCRoomObjPos + case PIKE_ROOM_STATUS, BattleFrontier_BattlePikeRoomNormal_EventScript_SetTwoObjectRoomPos + case PIKE_ROOM_HEAL_PART, BattleFrontier_BattlePikeRoomNormal_EventScript_SetOneObjectRoomPos + case PIKE_ROOM_DOUBLE_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_SetDoubleBattleObjPos + case PIKE_ROOM_HARD_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_SetTwoObjectRoomPos + case PIKE_ROOM_BRAIN, BattleFrontier_BattlePikeRoomNormal_EventScript_SetBrainRoomObjPos + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_SetDoubleBattleObjPos:: @ 82C3E93 + setobjectxyperm 1, 2, 5 + setobjectxyperm 2, 6, 5 + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_SetTwoObjectRoomPos:: @ 82C3EA2 + setobjectxyperm 1, 4, 4 + setobjectxyperm 2, 3, 4 + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_SetOneObjectRoomPos:: @ 82C3EB1 + setobjectxyperm 1, 4, 4 + setobjectxyperm 2, 0, 0 + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_SetNPCRoomObjPos:: @ 82C3EC0 + setobjectxyperm 1, 5, 5 + setobjectxyperm 2, 0, 0 + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_SetBrainRoomObjPos:: @ 82C3ECF + setobjectxyperm 1, 4, 3 + setobjectxyperm 2, 4, 4 + end + +BattleFrontier_BattlePikeRoom_OnWarp: @ 82C3EDE + map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRoomNormal_EventScript_InitRoomObjects + .2byte 0 + +BattleFrontier_BattlePikeRoomNormal_EventScript_InitRoomObjects:: @ 82C3EE8 + setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_LINK_RECEPTIONIST + setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_LINK_RECEPTIONIST + pike_getroomtype + compare VAR_RESULT, PIKE_ROOM_STATUS + goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom + compare VAR_RESULT, PIKE_ROOM_HARD_BATTLE + goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom + compare VAR_RESULT, PIKE_ROOM_DOUBLE_BATTLE + goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom + compare VAR_RESULT, PIKE_ROOM_BRAIN + goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_InitBrainRoomObjects + hideobjectat 2, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL + setvar VAR_TEMP_4, 1 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom:: @ 82C3F35 + setvar VAR_TEMP_4, 1 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_InitBrainRoomObjects:: @ 82C3F3F + setvar VAR_TEMP_4, 1 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH + hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL @ Pike Queen hidden initially + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_LeftRoomWarp:: @ 82C3F4E + setvar VAR_0x8007, PIKE_ROOM_LEFT + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_CenterRoomWarp:: @ 82C3F59 + setvar VAR_0x8007, PIKE_ROOM_CENTER + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_RightRoomWarp:: @ 82C3F64 + setvar VAR_0x8007, PIKE_ROOM_RIGHT + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp:: @ 82C3F6F + pike_get PIKE_DATA_WIN_STREAK + addvar VAR_RESULT, 1 + pike_set PIKE_DATA_WIN_STREAK, VAR_RESULT + frontier_get FRONTIER_DATA_BATTLE_NUM + addvar VAR_RESULT, 1 + frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT + pike_setnextroom + pike_getroomtype + switch VAR_RESULT + case PIKE_ROOM_SINGLE_BATTLE, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom + case PIKE_ROOM_HEAL_FULL, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom + case PIKE_ROOM_NPC, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom + case PIKE_ROOM_STATUS, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom + case PIKE_ROOM_HEAL_PART, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom + case PIKE_ROOM_WILD_MONS, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpWildMonRoom + case PIKE_ROOM_HARD_BATTLE, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom + case PIKE_ROOM_DOUBLE_BATTLE, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom + case PIKE_ROOM_BRAIN, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom:: @ 82C4030 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer + waitmovement 0 + call BattleFrontier_BattlePike_EventScript_CloseCurtain + warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL, 255, 4, 7 + waitstate + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpWildMonRoom:: @ 82C4049 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer + waitmovement 0 + call BattleFrontier_BattlePike_EventScript_CloseCurtain + warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS, 255, 4, 19 + waitstate + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_SetEnteredRoom:: @ 82C4062 + setvar VAR_TEMP_3, 1 + setvar VAR_TEMP_2, 1 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_NoTurningBack:: @ 82C406D + setvar VAR_TEMP_3, 0 + setvar VAR_TEMP_2, 0 + lockall + msgbox BattleFrontier_BattlePike_Text_PathBlockedNoTurningBack, MSGBOX_DEFAULT + closemessage + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_SetEnteredRoom:: @ 82C4082 + setvar VAR_TEMP_3, 1 + setvar VAR_TEMP_2, 1 + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_NoTurningBack:: @ 82C408D + setvar VAR_TEMP_3, 0 + setvar VAR_TEMP_2, 0 + lockall + msgbox BattleFrontier_BattlePike_Text_PathBlockedNoTurningBack, MSGBOX_DEFAULT + closemessage + end + +BattleFrontier_BattlePikeRoomNormal_EventScript_Exit:: @ 82C40A2 + pike_ispartyfullhealth + compare VAR_RESULT, TRUE + call_if_eq BattleFrontier_BattlePikeRoom_EventScript_DisableHealing + compare VAR_RESULT, TRUE + call_if_ne BattleFrontier_BattlePikeRoom_EventScript_EnableHealing + pike_get PIKE_DATA_WIN_STREAK + addvar VAR_RESULT, 1 + pike_set PIKE_DATA_WIN_STREAK, VAR_RESULT + frontier_get FRONTIER_DATA_BATTLE_NUM + addvar VAR_RESULT, 1 + frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT + pike_isfinalroom + compare VAR_RESULT, TRUE + call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom + compare VAR_RESULT, FALSE + call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom + waitstate + end + +BattleFrontier_BattlePikeRoom_EventScript_DisableHealing:: @ 82C4128 + pike_nohealing TRUE + return + +BattleFrontier_BattlePikeRoom_EventScript_EnableHealing:: @ 82C4136 + pike_nohealing FALSE + return + +BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom:: @ 82C4144 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer + waitmovement 0 + call BattleFrontier_BattlePike_EventScript_CloseCurtain + warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL, 255, 2, 7 + return + +BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom:: @ 82C415C + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer + waitmovement 0 + call BattleFrontier_BattlePike_EventScript_CloseCurtain + warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10 + return + +BattleFrontier_BattlePikeRoomWildMons_EventScript_Exit:: @ 82C4174 + pike_exitwildmonroom + pike_ispartyfullhealth + compare VAR_RESULT, TRUE + call_if_eq BattleFrontier_BattlePikeRoom_EventScript_DisableHealing + compare VAR_RESULT, TRUE + call_if_ne BattleFrontier_BattlePikeRoom_EventScript_EnableHealing + pike_get PIKE_DATA_WIN_STREAK + addvar VAR_RESULT, 1 + pike_set PIKE_DATA_WIN_STREAK, VAR_RESULT + frontier_get FRONTIER_DATA_BATTLE_NUM + addvar VAR_RESULT, 1 + frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT + pike_isfinalroom + compare VAR_RESULT, TRUE + call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom + compare VAR_RESULT, FALSE + call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom + waitstate + end + +BattleFrontier_BattlePikeRoomWildMons_EventScript_SetEnteredRoom:: @ 82C4202 + setvar VAR_TEMP_3, 1 + setvar VAR_TEMP_2, 1 + end + +BattleFrontier_BattlePikeRoomWildMons_EventScript_NoTurningBack:: @ 82C420D + setvar VAR_TEMP_3, 0 + setvar VAR_TEMP_2, 0 + lockall + msgbox BattleFrontier_BattlePike_Text_PathBlockedNoTurningBack, MSGBOX_DEFAULT + closemessage + end + +BattleFrontier_BattlePike_EventScript_Retire:: @ 82C4222 + frontier_set FRONTIER_DATA_CHALLENGE_STATUS CHALLENGE_STATUS_LOST + warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6 + waitstate + end + +BattleFrontier_BattlePikeRoom_OnResume: @ 82C423E + setorcopyvar VAR_0x8006, VAR_RESULT @ Save VAR_RESULT from being overwritten + frontier_get FRONTIER_DATA_CHALLENGE_STATUS + compare VAR_RESULT, CHALLENGE_STATUS_PAUSED + goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume + compare VAR_RESULT, CHALLENGE_STATUS_SAVING + goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume + call BattleFrontier_BattlePikeRoom_EventScript_ResetSketchedMoves +BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume:: @ 82C426B + setorcopyvar VAR_RESULT, VAR_0x8006 + end + +BattleFrontier_BattlePikeRoom_EventScript_ResetSketchedMoves:: @ 82C4271 + frontier_resetsketch + return + +BattleFrontier_BattlePikeRoom_Movement_HidePlayer: @ 82C427A + set_invisible + step_end diff --git a/data/scripts/berry_blender.inc b/data/scripts/berry_blender.inc new file mode 100644 index 0000000000..a3dc2a8e2b --- /dev/null +++ b/data/scripts/berry_blender.inc @@ -0,0 +1,747 @@ +BerryBlender_Text_WantToMakePokeblocks: @ 8292DEE + .string "Oh? Did you want to make some {POKEBLOCK}S\n" + .string "with this old-timer?$" + +BerryBlender_Text_Excellent: @ 8292E28 + .string "Excellent!$" + +BerryBlender_Text_MadeOldTimerSad: @ 8292E33 + .string "Oh…\n" + .string "You've made this old-timer sad…$" + +BerryBlender_Text_KnowHowToMakePokeblocks: @ 8292E57 + .string "Do you know how to make a {POKEBLOCK}?$" + +BerryBlender_Text_LetsBerryBlender: @ 8292E78 + .string "Let's get started, then!\p" + .string "Let's BERRY BLENDER!$" + +BerryBlender_Text_ExplainBerryBlending: @ 8292EA6 + .string "Okay, a little explanation, then.\p" + .string "Oh, don't worry, it's quite simple.\p" + .string "When the BLENDER's arrow comes to\n" + .string "your marker, just press the A Button.\p" + .string "That's all you have to do.\n" + .string "You'll see how easy it is when you try.$" + +BerryBlender_Text_DontHaveAnyBerries: @ 8292F77 + .string "Oh?\n" + .string "You don't have any BERRIES?\p" + .string "If you don't have any BERRIES,\n" + .string "you can't make any {POKEBLOCK}S.$" + +BerryBlender_Text_CanHaveOneOfMyBerries: @ 8292FD1 + .string "Well, that won't do at all now, will it?\p" + .string "If you don't mind leftovers, you can\n" + .string "have one of my BERRIES.\p" + .string "That way, we could make some {POKEBLOCK}S\n" + .string "together using the BERRY BLENDER.$" + +BerryBlender_Text_DontHaveAnyBerriesToSpare: @ 829307D + .string "If I had some BERRIES left over,\n" + .string "I'd gladly give you one…\p" + .string "But, I don't have any to spare today.\n" + .string "We'll have to do this another time.$" + +BerryBlender_Text_PokeblockCaseIsFull: @ 8293101 + .string "But your {POKEBLOCK} CASE is full.\p" + .string "You should use some {POKEBLOCK}S before\n" + .string "you come see me again.$" + +BerryBlender_Text_DontHavePokeblockCase: @ 8293157 + .string "But you don't have a {POKEBLOCK} CASE.\p" + .string "You should get a {POKEBLOCK} CASE and then\n" + .string "come see me.$" + +BerryBlender_Text_LetsGetBlendingAlready: @ 82931AA + .string "Let's get blending already!$" + +BerryBlender_Text_WhatKindOfPokeblockWillIGet: @ 82931C6 + .string "I wonder what kind of {POKEBLOCK} I'll get?\n" + .string "This is so exciting!$" + +BerryBlender_Text_WantToBlendPokeblocksWithUs: @ 8293201 + .string "Hi, there! Did you want to blend some\n" + .string "{POKEBLOCK}S with us?$" + +BerryBlender_Text_Okay: @ 8293237 + .string "Okay!$" + +BerryBlender_Text_ThatsTooBad: @ 829323D + .string "That's too bad…\p" + .string "But we'll always be around whenever\n" + .string "you get the urge to blend!$" + +BerryBlender_Text_KnowHowToMakePokeblocks2: @ 829328C + .string "Of course, you do know how to\n" + .string "blend {POKEBLOCK}S, don't you?$" + +BerryBlender_Text_LetsBerryBlender2: @ 82932C3 + .string "Let's get started, then!\p" + .string "Let's BERRY BLENDER!$" + +BerryBlender_Text_ExplainBerryBlending2: @ 82932F1 + .string "Okay!\n" + .string "Let me explain it to you!\p" + .string "When the spinning BLENDER's arrow\n" + .string "reaches your marker, just press\l" + .string "the A Button.\p" + .string "That's all it takes.\n" + .string "Pretty easy, don't you think?$" + +BerryBlender_Text_DontHaveAnyBerries2: @ 8293394 + .string "Oh, but wait a second here…\n" + .string "You don't have any BERRIES.\p" + .string "You can't make any {POKEBLOCK}S without\n" + .string "BERRIES…\p" + .string "We'll always be around whenever you\n" + .string "get hold of some BERRIES to blend.$" + +BerryBlender_Text_PokeblockCaseIsFull2: @ 829343E + .string "Oh, but wait a second here…\n" + .string "Your {POKEBLOCK} CASE is full.\p" + .string "You should use some {POKEBLOCK}S and\n" + .string "then come back.$" + +BerryBlender_Text_DontHavePokeblockCase2: @ 82934A2 + .string "Oh, but wait a second here…\n" + .string "You don't have a {POKEBLOCK} CASE.\p" + .string "You should get a {POKEBLOCK} CASE and\n" + .string "then come back.$" + +@ Unused +BerryBlender_Text_MakePokeblocksWithOurGroup: @ 829350B + .string "Oh, hello! Did you want to make some\n" + .string "{POKEBLOCK}S with our little group?$" + +BerryBlender_Text_OhDear: @ 829354E + .string "Oh, dear!$" + +BerryBlender_Text_LeftUsInShock: @ 8293558 + .string "Oh, dear me…\p" + .string "You've left us in shock!$" + +BerryBlender_Text_KnowHowToMakePokeblocks3: @ 829357E + .string "Naturally, you know how to make\n" + .string "{POKEBLOCK}S, don't you?$" + +BerryBlender_Text_LetsBerryBlender3: @ 82935B1 + .string "Okay, dear!\n" + .string "Let's get started!\p" + .string "Let's BERRY BLENDER!$" + +BerryBlender_Text_ExplainBerryBlending3: @ 82935E5 + .string "Oh, dear!\p" + .string "Then, I'll explain it to you nicely.\p" + .string "When the BLENDER's arrow spins to\n" + .string "your marker, press the A Button.\p" + .string "That's all it takes.\n" + .string "Isn't it simple?$" + +BerryBlender_Text_DontHaveAnyBerries3: @ 829367D + .string "You don't have any BERRIES,\n" + .string "do you?\p" + .string "If you don't have any BERRIES,\n" + .string "you can't make any {POKEBLOCK}S.\p" + .string "We'll always be making {POKEBLOCK}S here,\n" + .string "so let's make some together when\l" + .string "you get a BERRY or two.$" + +BerryBlender_Text_PokeblockCaseIsFull3: @ 8293738 + .string "Your {POKEBLOCK} CASE is full,\n" + .string "it looks like.\p" + .string "You should use some {POKEBLOCK}S up\n" + .string "and then come back.$" + +BerryBlender_Text_DontHavePokeblockCase3: @ 8293792 + .string "You haven't gotten a {POKEBLOCK} CASE\n" + .string "yet, it looks like.\p" + .string "You need to get a {POKEBLOCK} CASE before\n" + .string "you come back.$" + +BerryBlender_Text_SetNewBlenderRecord: @ 82937F9 + .string "Okay! Today's going to be the day that\n" + .string "I set a new BLENDER speed record!$" + +BerryBlender_Text_LookGoodAtBlendingJoinUs: @ 8293842 + .string "Oh, dear!\n" + .string "You look as if you're good at blending.\l" + .string "Would you like to join us?$" + +BerryBlender_Text_MakeDeliciousPokeblocks: @ 829388F + .string "I'm going to make delicious {POKEBLOCK}S\n" + .string "and make my POKéMON cuter.$" + +BerryBlender_Text_SaveGameBeforeBerryBlenderLink: @ 82938CD + .string "{POKEBLOCK}S will be made with your friends \n" + .string "from BERRIES in the BERRY BLENDER.\p" + .string "Is it okay to save the game before\n" + .string "linking with your friends?$" + +BerryBlender_Text_SearchingForFriends: @ 8293955 + .string "Searching for your friends…\n" + .string "… … B Button: Cancel$" + +BerryBlender_Text_Player1Arrived: @ 8293986 + .string "{STR_VAR_1} arrived.$" + +BerryBlender_Text_Player1And2Arrived: @ 8293992 + .string "{STR_VAR_1} and {STR_VAR_2} arrived.$" + +BerryBlender_Text_AllPlayersArrived: @ 82939A5 + .string "{STR_VAR_1}, {STR_VAR_2}, and\n" + .string "{STR_VAR_3} arrived.$" + +BerryBlender_Text_NoBerriesLink: @ 82939BD + .string "You have no BERRIES.\n" + .string "The BERRY BLENDER can't be used.$" + +BerryBlender_Text_PokeblockCaseIsFullLink: @ 82939F3 + .string "Your {POKEBLOCK} CASE is full.\n" + .string "The BERRY BLENDER can't be used.$" + +BerryBlender_Text_DontHavePokeblockCaseLink: @ 8293A2D + .string "You don't have a {POKEBLOCK} CASE.\n" + .string "The BERRY BLENDER can't be used.$" + +BerryBlender_Text_LoveMakingPokeblocks: @ 8293A6B + .string "I love making {POKEBLOCK}S.\p" + .string "I always have some BERRIES with me.$" + +BerryBlender_Text_MakePokeblocksUsingBerryBlender: @ 8293AA5 + .string "If you'd like, we could make some\n" + .string "{POKEBLOCK}S together using the\l" + .string "BERRY BLENDER.$" + +BerryBlender_Text_DontHaveAnyBerriesHaveOne: @ 8293AF0 + .string "Oh?\n" + .string "You don't have any BERRIES?\p" + .string "Well, that won't do at all now, will it?\p" + .string "If you don't mind leftovers, you can\n" + .string "have one of my BERRIES.$" + +BerryBlender_Text_UseItToMakePokeblocksTogether: @ 8293B76 + .string "We'll use it to make {POKEBLOCK}S together\n" + .string "using the BERRY BLENDER.$" + +BerryBlender_Text_DontHaveAnyBerriesNoneToSpare: @ 8293BB4 + .string "Oh?\n" + .string "You don't have any BERRIES?\p" + .string "If I had some left over, I'd gladly\n" + .string "give you one…\p" + .string "But, I don't have any to spare today.\n" + .string "Sorry about that.$" + +BerryBlender_EventScript_BerryBlender1:: @ 8293C3E + lockall + goto_if_unset FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER, BerryBlender_EventScript_BlendMasterPresent + setvar VAR_0x8009, 1 + applymovement 16, BerryBlender_Movement_BlendLeaderWalkInPlace + waitmovement 0 + msgbox BerryBlender_Text_WantToMakePokeblocks, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq BerryBlender_EventScript_TryUseBerryBlender1 + goto BerryBlender_EventScript_DeclineBlender1 + end + +BerryBlender_EventScript_DeclineBlender1: @ 8293C70 + msgbox BerryBlender_Text_MadeOldTimerSad, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_Blender1NoBerries: @ 8293C7A + msgbox BerryBlender_Text_DontHaveAnyBerries, MSGBOX_DEFAULT + dotimebasedevents + goto_if_set FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY, BerryBlender_EventScript_Blender1NoSpareBerries + goto BerryBlender_EventScript_Blender1GiveSpareBerry + end + +BerryBlender_EventScript_Blender1NoSpareBerries: @ 8293C92 + msgbox BerryBlender_Text_DontHaveAnyBerriesToSpare, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_Blender1GiveSpareBerry: @ 8293C9C + msgbox BerryBlender_Text_CanHaveOneOfMyBerries, MSGBOX_DEFAULT + giveitem ITEM_PECHA_BERRY + setflag FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY + goto BerryBlender_EventScript_UseBerryBlender1 + end + +BerryBlender_EventScript_UseBerryBlender1: @ 8293CB9 + msgbox BerryBlender_Text_KnowHowToMakePokeblocks, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq BerryBlender_EventScript_StartBlender1 + goto BerryBlender_EventScript_ExplainBlending1 + end + +BerryBlender_EventScript_StartBlender1: @ 8293CD2 + msgbox BerryBlender_Text_LetsBerryBlender, MSGBOX_DEFAULT + goto BerryBlender_EventScript_DoBerryBlending + end + +BerryBlender_EventScript_ExplainBlending1: @ 8293CE0 + msgbox BerryBlender_Text_ExplainBerryBlending, MSGBOX_DEFAULT + goto BerryBlender_EventScript_StartBlender1 + end + +BerryBlender_EventScript_TryUseBerryBlender1: @ 8293CEE + checkitem ITEM_POKEBLOCK_CASE, 1 + compare VAR_RESULT, FALSE + goto_if_eq BerryBlender_EventScript_Blender1NoCase + specialvar VAR_RESULT, GetFirstFreePokeblockSlot + compare VAR_RESULT, 65535 + goto_if_eq BerryBlender_EventScript_Blender1CaseFull + specialvar VAR_RESULT, PlayerHasBerries + compare VAR_RESULT, FALSE + goto_if_eq BerryBlender_EventScript_Blender1NoBerries + msgbox BerryBlender_Text_Excellent, MSGBOX_DEFAULT + goto BerryBlender_EventScript_UseBerryBlender1 + end + +@ VAR_0x8009 here is the Blender number. 1 is top right, 2 is bottom right, 3 is bottom left +BerryBlender_EventScript_DoBerryBlending: @ 8293D2C + copyvar VAR_0x8004, VAR_0x8009 + fadescreen FADE_TO_BLACK + special DoBerryBlending + waitstate + releaseall + end + +BerryBlender_EventScript_Blender1CaseFull: @ 8293D39 + msgbox BerryBlender_Text_PokeblockCaseIsFull, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_Blender1NoCase: @ 8293D43 + msgbox BerryBlender_Text_DontHavePokeblockCase, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_BerryBlender2:: @ 8293D4D + lockall + setvar VAR_0x8009, 2 + applymovement 10, Common_Movement_FaceOriginalDirection + applymovement 3, BerryBlender_Movement_BlendLeaderWalkInPlace + waitmovement 0 + msgbox BerryBlender_Text_WantToBlendPokeblocksWithUs, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq BerryBlender_EventScript_TryUseBerryBlender2 + goto BerryBlender_EventScript_DeclineBlender2 + end + +BerryBlender_EventScript_DeclineBlender2: @ 8293D7D + msgbox BerryBlender_Text_ThatsTooBad, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_Blender2NoBerries: @ 8293D87 + msgbox BerryBlender_Text_DontHaveAnyBerries2, MSGBOX_DEFAULT + release + end + +BerryBlender_EventScript_UseBerryBlender2: @ 8293D91 + msgbox BerryBlender_Text_KnowHowToMakePokeblocks2, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq BerryBlender_EventScript_StartBlender2 + goto BerryBlender_EventScript_ExplainBlending2 + end + +BerryBlender_EventScript_StartBlender2: @ 8293DAA + msgbox BerryBlender_Text_LetsBerryBlender2, MSGBOX_DEFAULT + goto BerryBlender_EventScript_DoBerryBlending + end + +BerryBlender_EventScript_ExplainBlending2: @ 8293DB8 + msgbox BerryBlender_Text_ExplainBerryBlending2, MSGBOX_DEFAULT + goto BerryBlender_EventScript_StartBlender2 + end + +BerryBlender_EventScript_TryUseBerryBlender2: @ 8293DC6 + specialvar VAR_RESULT, PlayerHasBerries + compare VAR_RESULT, FALSE + goto_if_eq BerryBlender_EventScript_Blender2NoBerries + checkitem ITEM_POKEBLOCK_CASE, 1 + compare VAR_RESULT, FALSE + goto_if_eq BerryBlender_EventScript_Blender2NoCase + msgbox BerryBlender_Text_Okay, MSGBOX_DEFAULT + specialvar VAR_RESULT, GetFirstFreePokeblockSlot + compare VAR_RESULT, 65535 + goto_if_ne BerryBlender_EventScript_UseBerryBlender2 + compare VAR_RESULT, 65535 + goto_if_eq BerryBlender_EventScript_Blender2CaseFull + end + +BerryBlender_EventScript_Blender2CaseFull: @ 8293E0A + msgbox BerryBlender_Text_PokeblockCaseIsFull2, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_Blender2NoCase: @ 8293E14 + msgbox BerryBlender_Text_DontHavePokeblockCase2, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_BerryBlender3:: @ 8293E1E + lockall + setvar VAR_0x8008, 15 + setvar VAR_0x8009, 3 + applymovement 9, Common_Movement_FaceOriginalDirection + applymovement 17, Common_Movement_FaceOriginalDirection + applymovement VAR_0x8008, BerryBlender_Movement_BlendLeaderWalkInPlace + waitmovement 0 + msgbox BerryBlender_Text_LookGoodAtBlendingJoinUs, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq BerryBlender_EventScript_TryUseBlender3 + goto BerryBlender_EventScript_DeclineBlender3 + end + +BerryBlender_EventScript_DeclineBlender3: @ 8293E5A + msgbox BerryBlender_Text_LeftUsInShock, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_Blender3NoBerries: @ 8293E64 + msgbox BerryBlender_Text_DontHaveAnyBerries3, MSGBOX_DEFAULT + release + end + +BerryBlender_EventScript_UseBerryBlender3: @ 8293E6E + msgbox BerryBlender_Text_KnowHowToMakePokeblocks3, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq BerryBlender_EventScript_StartBlender3 + goto BerryBlender_EventScript_ExplainBlending3 + end + +BerryBlender_EventScript_StartBlender3: @ 8293E87 + msgbox BerryBlender_Text_LetsBerryBlender3, MSGBOX_DEFAULT + goto BerryBlender_EventScript_DoBerryBlending + end + +BerryBlender_EventScript_ExplainBlending3: @ 8293E95 + msgbox BerryBlender_Text_ExplainBerryBlending3, MSGBOX_DEFAULT + goto BerryBlender_EventScript_StartBlender3 + end + +BerryBlender_EventScript_TryUseBlender3: @ 8293EA3 + specialvar VAR_RESULT, PlayerHasBerries + compare VAR_RESULT, FALSE + goto_if_eq BerryBlender_EventScript_Blender3NoBerries + checkitem ITEM_POKEBLOCK_CASE, 1 + compare VAR_RESULT, FALSE + goto_if_eq BerryBlender_EventScript_Blender3NoCase + msgbox BerryBlender_Text_OhDear, MSGBOX_DEFAULT + specialvar VAR_RESULT, GetFirstFreePokeblockSlot + compare VAR_RESULT, 65535 + goto_if_ne BerryBlender_EventScript_UseBerryBlender3 + compare VAR_RESULT, 65535 + goto_if_eq BerryBlender_EventScript_Blender3CaseFull + end + +BerryBlender_EventScript_Blender3CaseFull: @ 8293EE7 + msgbox BerryBlender_Text_PokeblockCaseIsFull3, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_Blender3NoCase: @ 8293EF1 + msgbox BerryBlender_Text_DontHavePokeblockCase3, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_BlendMasterPresent: @ 8293EFB + lockall + setvar VAR_0x8009, 1 + msgbox BerryBlender_Text_SeeMyMasteryInAction, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq BerryBlender_EventScript_TryBlendWithBlendMaster + msgbox BerryBlender_Text_TooBusyNowIsee, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_BlendMasterNoBerries: @ 8293F1E + msgbox BerryBlender_Text_BlendMasterNoBerries, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_TryBlendWithBlendMaster: @ 8293F28 + checkitem ITEM_POKEBLOCK_CASE, 1 + compare VAR_RESULT, FALSE + goto_if_eq BerryBlender_EventScript_BlendMasterNoCase + specialvar VAR_RESULT, PlayerHasBerries + compare VAR_RESULT, FALSE + goto_if_eq BerryBlender_EventScript_BlendMasterNoBerries + specialvar VAR_RESULT, GetFirstFreePokeblockSlot + compare VAR_RESULT, 65535 + goto_if_ne BerryBlender_EventScript_BlendWithBlendMaster + compare VAR_RESULT, 65535 + goto_if_eq BerryBlender_EventScript_BlendMasterCaseFull + end + +BerryBlender_EventScript_BlendWithBlendMaster: @ 8293F64 + msgbox BerryBlender_Text_BlendMasterKnowHowToMakePokeblocks, MSGBOX_YESNO + compare VAR_RESULT, NO + call_if_eq BerryBlender_EventScript_BlendMasterExplainBlending + msgbox BerryBlender_Text_BlendMasterLetsBerryBlender, MSGBOX_DEFAULT + goto BerryBlender_EventScript_DoBerryBlending + end + +BerryBlender_EventScript_BlendMasterExplainBlending: @ 8293F85 + msgbox BerryBlender_Text_BlendMasterExplainBerryBlending, MSGBOX_DEFAULT + return + +BerryBlender_EventScript_BlendMasterNoCase: @ 8293F8E + msgbox BerryBlender_Text_BlendMasterNoPokeblockCase, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_BlendMasterCaseFull: @ 8293F98 + msgbox BerryBlender_Text_BlendMasterPokeblockCaseFull, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_Blender2Man:: @ 8293FA2 + msgbox BerryBlender_Text_SetNewBlenderRecord, MSGBOX_NPC + end + +BerryBlender_EventScript_Blender3PokefanF:: @ 8293FAB + msgbox BerryBlender_Text_LookGoodAtBlendingJoinUs, MSGBOX_NPC + end + +BerryBlender_EventScript_Blender2Twin:: @ 8293FB4 + msgbox BerryBlender_Text_MakeDeliciousPokeblocks, MSGBOX_NPC + end + +BerryBlender_EventScript_Blender1ExpertM:: @ 8293FBD + setvar VAR_0x8008, 15 + goto BerryBlender_EventScript_ExpertMCheckGiveBerry + end + +BerryBlender_EventScript_ExpertMCheckGiveBerry: @ 8293FC8 + lock + faceplayer + msgbox BerryBlender_Text_LoveMakingPokeblocks, MSGBOX_DEFAULT + specialvar VAR_RESULT, PlayerHasBerries + compare VAR_RESULT, TRUE + goto_if_eq BerryBlender_EventScript_ExpertMPlayerHasBerries + compare VAR_RESULT, FALSE + goto_if_eq BerryBlender_EventScript_ExpertMNoBerries + end + +BerryBlender_EventScript_ExpertMPlayerHasBerries: @ 8293FEE + msgbox BerryBlender_Text_MakePokeblocksUsingBerryBlender, MSGBOX_DEFAULT + release + end + +BerryBlender_EventScript_ExpertMNoBerries: @ 8293FF8 + checkitem ITEM_POKEBLOCK_CASE, 1 + compare VAR_RESULT, FALSE + goto_if_eq BerryBlender_EventScript_ExpertMNoSpareBerries + specialvar VAR_RESULT, GetFirstFreePokeblockSlot + compare VAR_RESULT, 65535 + goto_if_eq BerryBlender_EventScript_ExpertMNoSpareBerries + dotimebasedevents + goto_if_set FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY, BerryBlender_EventScript_ExpertMNoSpareBerries + goto BerryBlender_EventScript_ExpertMGiveBerry + end + +BerryBlender_EventScript_ExpertMNoSpareBerries: @ 8294028 + msgbox BerryBlender_Text_DontHaveAnyBerriesNoneToSpare, MSGBOX_DEFAULT + release + end + +BerryBlender_EventScript_ExpertMGiveBerry: @ 8294032 + msgbox BerryBlender_Text_DontHaveAnyBerriesHaveOne, MSGBOX_DEFAULT + giveitem ITEM_PECHA_BERRY + setflag FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY + msgbox BerryBlender_Text_UseItToMakePokeblocksTogether, MSGBOX_DEFAULT + release + end + +BerryBlender_Movement_BlendLeaderWalkInPlace: @ 8294053 + walk_in_place_fastest_right + step_end + +BerryBlender_EventScript_BerryBlenderLink:: @ 8294055 + lockall + specialvar VAR_RESULT, PlayerHasBerries + compare VAR_RESULT, FALSE + goto_if_eq BerryBlender_EventScript_LinkBlenderNoBerries + checkitem ITEM_POKEBLOCK_CASE, 1 + compare VAR_RESULT, FALSE + goto_if_eq BerryBlender_EventScript_LinkBlenderNoCase + specialvar VAR_RESULT, GetFirstFreePokeblockSlot + compare VAR_RESULT, 65535 + goto_if_ne BerryBlender_EventScript_LinkBlenderSaveGame + compare VAR_RESULT, 65535 + goto_if_eq BerryBlender_EventScript_LinkBlenderCaseFull + end + +BerryBlender_EventScript_LinkBlenderSaveGame: @ 8294092 + msgbox BerryBlender_Text_SaveGameBeforeBerryBlenderLink, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq BerryBlender_EventScript_TryDoLinkBlender + compare VAR_RESULT, NO + goto_if_eq BerryBlender_EventScript_CancelLinkBlender + end + +BerryBlender_EventScript_LinkBlenderNoBerries: @ 82940B1 + msgbox BerryBlender_Text_NoBerriesLink, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_TryDoLinkBlender: @ 82940BB + call Common_EventScript_SaveGame + compare VAR_RESULT, FALSE + goto_if_eq BerryBlender_EventScript_CancelLinkBlender + specialvar VAR_RESULT, IsWirelessAdapterConnected + compare VAR_RESULT, TRUE + goto_if_eq BerryBlender_EventScript_StartDecideLinkLeader + message BerryBlender_Text_SearchingForFriends + waitmessage + special TryBerryBlenderLinkup + waitstate + compare VAR_RESULT, 1 + goto_if_eq BerryBlender_EventScript_SpawnLinkPartners + compare VAR_RESULT, 2 + goto_if_eq BerryBlender_EventScript_CloseLinkNotReady + compare VAR_RESULT, 3 + goto_if_eq BerryBlender_EventScript_CloseLinkDifferentSelections + compare VAR_RESULT, 5 + goto_if_eq BerryBlender_EventScript_CloseLink + compare VAR_RESULT, 6 + goto_if_eq BerryBlender_EventScript_LinkError + end + +BerryBlender_EventScript_TwoPlayerLink: @ 829411D + msgbox BerryBlender_Text_Player1Arrived, MSGBOX_DEFAULT + goto BerryBlender_EventScript_DoLinkBerryBlending + end + +BerryBlender_EventScript_ThreePlayerLink: @ 829412B + msgbox BerryBlender_Text_Player1And2Arrived, MSGBOX_DEFAULT + goto BerryBlender_EventScript_DoLinkBerryBlending + end + +BerryBlender_EventScript_FourPlayerLink: @ 8294139 + msgbox BerryBlender_Text_AllPlayersArrived, MSGBOX_DEFAULT + goto BerryBlender_EventScript_DoLinkBerryBlending + end + +BerryBlender_EventScript_DoLinkBerryBlending: @ 8294147 + setvar VAR_0x8004, 0 + fadescreen FADE_TO_BLACK + removeobject 240 + removeobject 239 + removeobject 238 + removeobject 237 + special DoBerryBlending + waitstate + releaseall + end + +BerryBlender_EventScript_CancelLinkBlender: @ 8294160 + releaseall + end + +BerryBlender_EventScript_LinkBlenderCaseFull: @ 8294162 + msgbox BerryBlender_Text_PokeblockCaseIsFullLink, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_LinkBlenderNoCase: @ 829416C + msgbox BerryBlender_Text_DontHavePokeblockCaseLink, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_CloseLinkNotReady: @ 8294176 + special CloseLink + msgbox Text_SomeoneIsNotReadyToLink, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_CloseLinkDifferentSelections: @ 8294183 + special CloseLink + msgbox Text_PlayersMadeDifferentSelections, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_CloseLink: @ 8294190 + special CloseLink + msgbox gText_PokeblockLinkCanceled, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_LinkError: @ 829419D + special CloseLink + msgbox Text_LinkErrorPleaseReset, MSGBOX_DEFAULT + releaseall + end + +BerryBlender_EventScript_SpawnLinkPartners: @ 82941AA + fadescreen FADE_TO_BLACK + specialvar VAR_RESULT, GetLinkPartnerNames + copyvar VAR_0x8008, VAR_RESULT + copyvar VAR_0x8004, VAR_0x8008 + special SpawnLinkPartnerEventObject + goto BerryBlender_EventScript_LinkPlayersArrived + end + +BerryBlender_EventScript_LinkPlayersArrived: @ 82941C4 + fadescreen FADE_FROM_BLACK + switch VAR_0x8008 + case 2, BerryBlender_EventScript_TwoPlayerLink + case 3, BerryBlender_EventScript_ThreePlayerLink + case 4, BerryBlender_EventScript_FourPlayerLink + end + +BerryBlender_EventScript_StartDecideLinkLeader: @ 82941ED + setvar VAR_0x8004, LINK_GROUP_BERRY_BLENDER + goto BerryBlender_EventScript_DecideLinkLeader + end + +BerryBlender_EventScript_DecideLinkLeader: @ 82941F8 + message LilycoveCity_ContestLobby_Text_PleaseDecideLinkLeader + waitmessage + multichoice 16, 6, MULTI_LINK_LEADER, 0 + switch VAR_RESULT + case 0, BerryBlender_EventScript_TryJoinGroup + case 1, BerryBlender_EventScript_TryLeadGroup + case 2, BerryBlender_EventScript_CloseLink + case MULTI_B_PRESSED, BerryBlender_EventScript_CloseLink + end + +BerryBlender_EventScript_TryLeadGroup: @ 8294235 + call BerryBlender_EventScript_TryBecomeLinkLeader + compare VAR_RESULT, 1 + goto_if_eq BerryBlender_EventScript_LinkLeaderDecided + compare VAR_RESULT, 5 + goto_if_eq BerryBlender_EventScript_DecideLinkLeader + compare VAR_RESULT, 8 + goto_if_eq BerryBlender_EventScript_TryLeadGroup + release + end + +BerryBlender_EventScript_TryJoinGroup: @ 829425D + call BerryBlender_EventScript_TryJoinLinkGroup + compare VAR_RESULT, 1 + goto_if_eq BerryBlender_EventScript_LinkLeaderDecided + compare VAR_RESULT, 5 + goto_if_eq BerryBlender_EventScript_DecideLinkLeader + compare VAR_RESULT, 8 + goto_if_eq BerryBlender_EventScript_TryJoinGroup + release + end + +BerryBlender_EventScript_TryBecomeLinkLeader: @ 8294285 + special TryBecomeLinkLeader + waitstate + return + +BerryBlender_EventScript_TryJoinLinkGroup: @ 829428A + special TryJoinLinkGroup + waitstate + return + +BerryBlender_EventScript_LinkLeaderDecided: @ 829428F + goto BerryBlender_EventScript_SpawnLinkPartners + end diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc index 2dc016a525..18378077c0 100644 --- a/data/scripts/berry_tree.inc +++ b/data/scripts/berry_tree.inc @@ -1,16 +1,16 @@ BerryTreeScript:: @ 82742F9 special EventObjectInteractionGetBerryTreeData switch VAR_0x8004 - case 255, BerryTree_EventScript_27434F - case 0, BerryTree_EventScript_CheckSoil - case 1, BerryTree_EventScript_CheckBerryStage1 - case 2, BerryTree_EventScript_CheckBerryStage2 - case 3, BerryTree_EventScript_CheckBerryStage3 - case 4, BerryTree_EventScript_CheckBerryStage4 - case 5, BerryTree_EventScript_CheckBerryFullyGrown + case BERRY_STAGE_SPARKLING, BerryTree_EventScript_Sparkling + case BERRY_STAGE_NO_BERRY, BerryTree_EventScript_CheckSoil + case BERRY_STAGE_PLANTED, BerryTree_EventScript_CheckBerryStage1 + case BERRY_STAGE_SPROUTED, BerryTree_EventScript_CheckBerryStage2 + case BERRY_STAGE_TALLER, BerryTree_EventScript_CheckBerryStage3 + case BERRY_STAGE_FLOWERING, BerryTree_EventScript_CheckBerryStage4 + case BERRY_STAGE_BERRIES, BerryTree_EventScript_CheckBerryFullyGrown end -BerryTree_EventScript_27434F:: @ 827434F +BerryTree_EventScript_Sparkling:: @ 827434F lockall message BerryTree_Text_ExclamationPoint waitmessage @@ -22,7 +22,7 @@ BerryTree_EventScript_CheckSoil:: @ 8274359 lock faceplayer specialvar VAR_RESULT, PlayerHasBerries - compare VAR_RESULT, 1 + compare VAR_RESULT, TRUE goto_if_eq BerryTree_EventScript_WantToPlant message BerryTree_Text_ItsSoftLoamySoil waitmessage @@ -32,20 +32,20 @@ BerryTree_EventScript_CheckSoil:: @ 8274359 BerryTree_EventScript_WantToPlant:: @ 8274374 msgbox BerryTree_Text_WantToPlant, MSGBOX_YESNO - compare VAR_RESULT, 1 + compare VAR_RESULT, YES goto_if_eq BerryTree_EventScript_ChooseBerryToPlant - compare VAR_RESULT, 0 + compare VAR_RESULT, NO goto_if_eq BerryTree_EventScript_CancelPlanting end BerryTree_EventScript_ChooseBerryToPlant:: @ 8274393 - fadescreen 1 + fadescreen FADE_TO_BLACK closemessage special Bag_ChooseBerry waitstate compare VAR_ITEM_ID, 0 goto_if_eq BerryTree_EventScript_CancelPlanting - takeitem VAR_ITEM_ID, 1 + removeitem VAR_ITEM_ID call BerryTree_EventScript_PlantBerry BerryTree_EventScript_CancelPlanting:: @ 82743AF @@ -85,6 +85,8 @@ BerryTree_EventScript_CheckBerryStage4:: @ 82743E1 waitbuttonpress goto BerryTree_EventScript_WantToWater +@ VAR_0x8005 here is the number of times watered +@ Buffered by EventObjectInteractionGetBerryTreeData BerryTree_EventScript_GetCareAdverb:: @ 82743F6 compare VAR_0x8005, 0 goto_if_eq BerryTree_EventScript_SetAdverbPoor @@ -101,22 +103,23 @@ BerryTree_EventScript_SetAdverbPoor:: @ 827441A bufferstring 1, BerryTree_Text_CareAdverbPoor return +@ VAR_0x8006 here is the number of berries BerryTree_EventScript_CheckBerryFullyGrown:: @ 8274421 buffernumberstring 1, VAR_0x8006 lock faceplayer special EventObjectInteractionGetBerryCountString msgbox BerryTree_Text_WantToPick, MSGBOX_YESNO - compare VAR_RESULT, 1 + compare VAR_RESULT, YES goto_if_eq BerryTree_EventScript_PickBerry - compare VAR_RESULT, 0 + compare VAR_RESULT, NO goto_if_eq BerryTree_EventScript_CancelPickingBerry BerryTree_EventScript_PickBerry:: @ 8274448 special EventObjectInteractionPickBerryTree compare VAR_0x8004, 0 goto_if_eq BerryTree_EventScript_BerryPocketFull - special sub_80EED34 + special IncrementDailyPickedBerries special EventObjectInteractionRemoveBerryTree message BerryTree_Text_PickedTheBerry playfanfare MUS_ME_KINOMI @@ -143,7 +146,7 @@ BerryTree_EventScript_CancelPickingBerry:: @ 8274479 release end -BerryTree_EventScript_274482:: @ 8274482 +BerryTree_EventScript_ItemUsePlantBerry:: @ 8274482 lockall special EventObjectInteractionGetBerryTreeData call BerryTree_EventScript_PlantBerry @@ -156,19 +159,18 @@ BerryTree_EventScript_WantToWater:: @ 827448D goto_if_eq BerryTree_EventScript_DontWater special EventObjectInteractionGetBerryName msgbox BerryTree_Text_WantToWater, MSGBOX_YESNO - compare VAR_RESULT, 1 + compare VAR_RESULT, YES goto_if_eq BerryTree_EventScript_WaterBerry - compare VAR_RESULT, 0 + compare VAR_RESULT, NO goto_if_eq BerryTree_EventScript_DontWater BerryTree_EventScript_DontWater:: @ 82744BE releaseall end -BerryTree_EventScript_2744C0:: @ 82744C0 +BerryTree_EventScript_ItemUseWailmerPail:: @ 82744C0 special EventObjectInteractionGetBerryTreeData lockall - BerryTree_EventScript_WaterBerry:: @ 82744C4 special EventObjectInteractionGetBerryName message BerryTree_Text_WateredTheBerry @@ -184,8 +186,8 @@ BerryTree_EventScript_WaterBerry:: @ 82744C4 BerryTree_EventScript_PlantBerry:: @ 82744DD special EventObjectInteractionPlantBerryTree - incrementgamestat 3 - special sub_80EED10 + incrementgamestat GAME_STAT_PLANTED_BERRIES + special IncrementDailyPlantedBerries special EventObjectInteractionGetBerryCountString message BerryTree_Text_PlantedOneBerry waitmessage diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index eeecf2d754..4cf046c024 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -1,765 +1,700 @@ -PokemonCenter_2F_OnTransition: @ 8276ACF - call OldaleTown_PokemonCenter_2F_EventScript_OnTransitionCheckMysteryGift +CableClub_OnTransition: @ 8276ACF + call CableClub_EventScript_HideOrShowMysteryGiftMan end -OldaleTown_PokemonCenter_2F_EventScript_OnTransitionCheckMysteryGift:: @ 8276AD5 - specialvar VAR_RESULT, sub_813B514 - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276AFB +CableClub_EventScript_HideOrShowMysteryGiftMan:: @ 8276AD5 + specialvar VAR_RESULT, ShouldDistributeEonTicket + compare VAR_RESULT, TRUE + goto_if_eq CableClub_EventScript_ShowMysteryGiftMan specialvar VAR_RESULT, ValidateReceivedWonderCard - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276AFF - goto OldaleTown_PokemonCenter_2F_EventScript_276AFB + compare VAR_RESULT, FALSE + goto_if_eq CableClub_EventScript_HideMysteryGiftMan + goto CableClub_EventScript_ShowMysteryGiftMan end -OldaleTown_PokemonCenter_2F_EventScript_276AFB:: @ 8276AFB +CableClub_EventScript_ShowMysteryGiftMan:: @ 8276AFB clearflag FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN return -OldaleTown_PokemonCenter_2F_EventScript_276AFF:: @ 8276AFF +CableClub_EventScript_HideMysteryGiftMan:: @ 8276AFF setflag FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN return -BattleFrontier_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -DewfordTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -EverGrandeCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -EverGrandeCity_PokemonLeague_2F_EventScript_276B03:: @ 8276B03 -FallarborTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -FortreeCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -LavaridgeTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -LilycoveCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -MauvilleCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -MossdeepCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -OldaleTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -PacifidlogTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -PetalburgCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -RustboroCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -SlateportCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -SootopolisCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 -VerdanturfTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 - specialvar VAR_RESULT, sub_813B514 - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276B23 - goto OldaleTown_PokemonCenter_2F_EventScript_276B19 +CableClub_EventScript_MysteryGiftMan:: @ 8276B03 + specialvar VAR_RESULT, ShouldDistributeEonTicket + compare VAR_RESULT, TRUE + goto_if_eq CableClub_EventScript_DistributeEonTicket + goto CableClub_EventScript_AlreadyGotEonTicket end -OldaleTown_PokemonCenter_2F_EventScript_276B19:: @ 8276B19 +CableClub_EventScript_AlreadyGotEonTicket:: @ 8276B19 gotoram -OldaleTown_PokemonCenter_2F_EventScript_276B1A:: @ 8276B1A - msgbox gUnknown_08273178, MSGBOX_NPC +@ Unused? +CableClub_EventScript_MysteryGiftThankYou:: @ 8276B1A + msgbox gText_ThankYouForAccessingMysteryGift, MSGBOX_NPC end -OldaleTown_PokemonCenter_2F_EventScript_276B23:: @ 8276B23 +CableClub_EventScript_DistributeEonTicket:: @ 8276B23 checkitem ITEM_EON_TICKET, 1 - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276B19 - goto_if_set FLAG_SYS_HAS_EON_TICKET, OldaleTown_PokemonCenter_2F_EventScript_276B19 - msgbox gUnknown_08273594, MSGBOX_DEFAULT - giveitem_std ITEM_EON_TICKET + compare VAR_RESULT, TRUE + goto_if_eq CableClub_EventScript_AlreadyGotEonTicket + goto_if_set FLAG_SYS_HAS_EON_TICKET, CableClub_EventScript_AlreadyGotEonTicket + msgbox Mevent_Text_TheresATicketForYou, MSGBOX_DEFAULT + giveitem ITEM_EON_TICKET setflag FLAG_SYS_HAS_EON_TICKET - setvar VAR_ALWAYS_ZERO_0x403F, 0 - msgbox gUnknown_082735F2, MSGBOX_DEFAULT + setvar VAR_DISTRIBUTE_EON_TICKET, 0 + msgbox Mevent_Text_TryUsingItAtLilycovePort, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_276B62:: @ 8276B62 - msgbox gUnknown_08273178, MSGBOX_DEFAULT +@ Unused? +CableClub_EventScript_MysteryGiftThankYou2:: @ 8276B62 + msgbox gText_ThankYouForAccessingMysteryGift, MSGBOX_DEFAULT release end -BattleFrontier_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -DewfordTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -EverGrandeCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -EverGrandeCity_PokemonLeague_2F_MapScript2_276B6C: @ 8276B6C -FallarborTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -FortreeCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -LavaridgeTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -LilycoveCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -MauvilleCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -MossdeepCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -OldaleTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -PacifidlogTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -PetalburgCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -RustboroCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -SlateportCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -SootopolisCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C -VerdanturfTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C - map_script_2 VAR_CABLE_CLUB_STATE, 1, OldaleTown_PokemonCenter_2F_EventScript_276BAE - map_script_2 VAR_CABLE_CLUB_STATE, 2, OldaleTown_PokemonCenter_2F_EventScript_276BAE - map_script_2 VAR_CABLE_CLUB_STATE, 5, OldaleTown_PokemonCenter_2F_EventScript_276BAE - map_script_2 VAR_CABLE_CLUB_STATE, 3, OldaleTown_PokemonCenter_2F_EventScript_276BAE - map_script_2 VAR_CABLE_CLUB_STATE, 4, OldaleTown_PokemonCenter_2F_EventScript_276BAE - map_script_2 VAR_CABLE_CLUB_STATE, 6, OldaleTown_PokemonCenter_2F_EventScript_276BAE - map_script_2 VAR_CABLE_CLUB_STATE, 7, OldaleTown_PokemonCenter_2F_EventScript_276BAE - map_script_2 VAR_CABLE_CLUB_STATE, 8, OldaleTown_PokemonCenter_2F_EventScript_276BAE +CableClub_OnWarp: @ 8276B6C + map_script_2 VAR_CABLE_CLUB_STATE, USING_SINGLE_BATTLE, CableClub_EventScript_CheckTurnAttendant + map_script_2 VAR_CABLE_CLUB_STATE, USING_DOUBLE_BATTLE, CableClub_EventScript_CheckTurnAttendant + map_script_2 VAR_CABLE_CLUB_STATE, USING_MULTI_BATTLE, CableClub_EventScript_CheckTurnAttendant + map_script_2 VAR_CABLE_CLUB_STATE, USING_TRADE_CENTER, CableClub_EventScript_CheckTurnAttendant + map_script_2 VAR_CABLE_CLUB_STATE, USING_RECORD_CORNER, CableClub_EventScript_CheckTurnAttendant + map_script_2 VAR_CABLE_CLUB_STATE, USING_UNION_ROOM, CableClub_EventScript_CheckTurnAttendant + map_script_2 VAR_CABLE_CLUB_STATE, USING_BERRY_CRUSH, CableClub_EventScript_CheckTurnAttendant + map_script_2 VAR_CABLE_CLUB_STATE, USING_MINIGAME, CableClub_EventScript_CheckTurnAttendant .2byte 0 -MossdeepCity_GameCorner_1F_EventScript_276BAE:: @ 8276BAE -OldaleTown_PokemonCenter_2F_EventScript_276BAE:: @ 8276BAE +CableClub_EventScript_CheckTurnAttendant:: @ 8276BAE compare VAR_0x8007, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276BBD - turnobject VAR_0x8007, 3 - -OldaleTown_PokemonCenter_2F_EventScript_276BBD:: @ 8276BBD + goto_if_eq CableClub_EventScript_DontTurnAttendant + turnobject VAR_0x8007, DIR_WEST +CableClub_EventScript_DontTurnAttendant:: @ 8276BBD end -BattleFrontier_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -DewfordTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -EverGrandeCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -EverGrandeCity_PokemonLeague_2F_MapScript1_276BBE: @ 8276BBE -FallarborTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -FortreeCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -LavaridgeTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -LilycoveCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -MauvilleCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -MossdeepCity_GameCorner_1F_MapScript1_276BBE: @ 8276BBE -MossdeepCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -OldaleTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -PacifidlogTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -PetalburgCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -RustboroCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -SlateportCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -SootopolisCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE -VerdanturfTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE - compare VAR_CABLE_CLUB_STATE, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C17 - compare VAR_CABLE_CLUB_STATE, 2 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C17 - compare VAR_CABLE_CLUB_STATE, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C17 - compare VAR_CABLE_CLUB_STATE, 3 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C1D - compare VAR_CABLE_CLUB_STATE, 4 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C23 - compare VAR_CABLE_CLUB_STATE, 6 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C29 - compare VAR_CABLE_CLUB_STATE, 7 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C2F - compare VAR_CABLE_CLUB_STATE, 8 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C35 +CableClub_OnLoad: @ 8276BBE + compare VAR_CABLE_CLUB_STATE, USING_SINGLE_BATTLE + goto_if_eq CableClub_EventScript_OnLoadFromColosseum + compare VAR_CABLE_CLUB_STATE, USING_DOUBLE_BATTLE + goto_if_eq CableClub_EventScript_OnLoadFromColosseum + compare VAR_CABLE_CLUB_STATE, USING_MULTI_BATTLE + goto_if_eq CableClub_EventScript_OnLoadFromColosseum + compare VAR_CABLE_CLUB_STATE, USING_TRADE_CENTER + goto_if_eq CableClub_EventScript_OnLoadFromTradeCenter + compare VAR_CABLE_CLUB_STATE, USING_RECORD_CORNER + goto_if_eq CableClub_EventScript_OnLoadFromRecordCorner + compare VAR_CABLE_CLUB_STATE, USING_UNION_ROOM + goto_if_eq CableClub_EventScript_OnLoadFromUnionRoom + compare VAR_CABLE_CLUB_STATE, USING_BERRY_CRUSH + goto_if_eq CableClub_EventScript_OnLoadFromBerryCrush + compare VAR_CABLE_CLUB_STATE, USING_MINIGAME + goto_if_eq CableClub_EventScript_OnLoadFromGameCorner end -OldaleTown_PokemonCenter_2F_EventScript_276C17:: @ 8276C17 - call OldaleTown_PokemonCenter_2F_EventScript_277BE4 +CableClub_EventScript_OnLoadFromColosseum:: @ 8276C17 + call CableClub_EventScript_OpenDirectCornerBarrier end -OldaleTown_PokemonCenter_2F_EventScript_276C1D:: @ 8276C1D - call OldaleTown_PokemonCenter_2F_EventScript_277BE4 +CableClub_EventScript_OnLoadFromTradeCenter:: @ 8276C1D + call CableClub_EventScript_OpenDirectCornerBarrier end -OldaleTown_PokemonCenter_2F_EventScript_276C23:: @ 8276C23 - call OldaleTown_PokemonCenter_2F_EventScript_277BE4 +CableClub_EventScript_OnLoadFromRecordCorner:: @ 8276C23 + call CableClub_EventScript_OpenDirectCornerBarrier end -OldaleTown_PokemonCenter_2F_EventScript_276C29:: @ 8276C29 - call OldaleTown_PokemonCenter_2F_EventScript_277BBE +CableClub_EventScript_OnLoadFromUnionRoom:: @ 8276C29 + call CableClub_EventScript_OpenUnionRoomBarrier end -OldaleTown_PokemonCenter_2F_EventScript_276C2F:: @ 8276C2F - call OldaleTown_PokemonCenter_2F_EventScript_277BE4 +CableClub_EventScript_OnLoadFromBerryCrush:: @ 8276C2F + call CableClub_EventScript_OpenDirectCornerBarrier end -OldaleTown_PokemonCenter_2F_EventScript_276C35:: @ 8276C35 - call OldaleTown_PokemonCenter_2F_EventScript_277C0A +CableClub_EventScript_OnLoadFromGameCorner:: @ 8276C35 + call EventScript_OpenMossdeepGameCornerBarrier end -BattleFrontier_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -DewfordTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -EverGrandeCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -EverGrandeCity_PokemonLeague_2F_MapScript2_276C3B: @ 8276C3B -FallarborTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -FortreeCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -LavaridgeTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -LilycoveCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -MauvilleCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -MossdeepCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -OldaleTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -PacifidlogTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -PetalburgCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -RustboroCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -SlateportCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -SootopolisCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B -VerdanturfTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B - map_script_2 VAR_CABLE_CLUB_TUTORIAL_STATE, 1, OldaleTown_PokemonCenter_2F_EventScript_276DE0 - map_script_2 VAR_CABLE_CLUB_STATE, 1, OldaleTown_PokemonCenter_2F_EventScript_276C85 - map_script_2 VAR_CABLE_CLUB_STATE, 2, OldaleTown_PokemonCenter_2F_EventScript_276C85 - map_script_2 VAR_CABLE_CLUB_STATE, 5, OldaleTown_PokemonCenter_2F_EventScript_276C85 - map_script_2 VAR_CABLE_CLUB_STATE, 3, OldaleTown_PokemonCenter_2F_EventScript_276CE7 - map_script_2 VAR_CABLE_CLUB_STATE, 4, OldaleTown_PokemonCenter_2F_EventScript_276D2C - map_script_2 VAR_CABLE_CLUB_STATE, 6, OldaleTown_PokemonCenter_2F_EventScript_276D6C - map_script_2 VAR_CABLE_CLUB_STATE, 7, OldaleTown_PokemonCenter_2F_EventScript_276C85 - map_script_2 VAR_CABLE_CLUB_STATE, 8, OldaleTown_PokemonCenter_2F_EventScript_276C9D +CableClub_OnFrame: @ 8276C3B + map_script_2 VAR_CABLE_CLUB_TUTORIAL_STATE, 1, CableClub_EventScript_Tutorial + map_script_2 VAR_CABLE_CLUB_STATE, USING_SINGLE_BATTLE, CableClub_EventScript_ExitLinkRoom + map_script_2 VAR_CABLE_CLUB_STATE, USING_DOUBLE_BATTLE, CableClub_EventScript_ExitLinkRoom + map_script_2 VAR_CABLE_CLUB_STATE, USING_MULTI_BATTLE, CableClub_EventScript_ExitLinkRoom + map_script_2 VAR_CABLE_CLUB_STATE, USING_TRADE_CENTER, CableClub_EventScript_ExitTradeCenter + map_script_2 VAR_CABLE_CLUB_STATE, USING_RECORD_CORNER, CableClub_EventScript_ExitRecordCorner + map_script_2 VAR_CABLE_CLUB_STATE, USING_UNION_ROOM, CableClub_EventScript_ExitUnionRoom + map_script_2 VAR_CABLE_CLUB_STATE, USING_BERRY_CRUSH, CableClub_EventScript_ExitLinkRoom + map_script_2 VAR_CABLE_CLUB_STATE, USING_MINIGAME, CableClub_EventScript_ExitMinigameRoom .2byte 0 -OldaleTown_PokemonCenter_2F_EventScript_276C85:: @ 8276C85 +CableClub_EventScript_ExitLinkRoom:: @ 8276C85 lockall - call OldaleTown_PokemonCenter_2F_EventScript_276CB5 - call OldaleTown_PokemonCenter_2F_EventScript_277BF7 + call CableClub_EventScript_CloseLinkAndExitLinkRoom + call CableClub_EventScript_CloseDirectCornerBarrier special DrawWholeMapView playse SE_TK_KASYA erasebox 0, 0, 29, 19 releaseall end -MossdeepCity_GameCorner_1F_EventScript_276C9D:: @ 8276C9D -OldaleTown_PokemonCenter_2F_EventScript_276C9D:: @ 8276C9D +CableClub_EventScript_ExitMinigameRoom:: @ 8276C9D lockall - call OldaleTown_PokemonCenter_2F_EventScript_276CB5 - call OldaleTown_PokemonCenter_2F_EventScript_277C1D + call CableClub_EventScript_CloseLinkAndExitLinkRoom + call EventScript_CloseMossdeepGameCornerBarrier special DrawWholeMapView playse SE_TK_KASYA erasebox 0, 0, 29, 19 releaseall end -OldaleTown_PokemonCenter_2F_EventScript_276CB5:: @ 8276CB5 +CableClub_EventScript_CloseLinkAndExitLinkRoom:: @ 8276CB5 special CloseLink setvar VAR_CABLE_CLUB_STATE, 0 compare VAR_0x8007, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 - applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D + goto_if_eq CableClub_EventScript_PlayerExitLinkRoom + applymovement VAR_0x8007, Movement_AttendantFaceLeft waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerExitLinkRoom waitmovement 0 - applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349 + applymovement VAR_0x8007, Movement_AttendantFaceDown waitmovement 0 return -OldaleTown_PokemonCenter_2F_EventScript_276CE7:: @ 8276CE7 +CableClub_EventScript_ExitTradeCenter:: @ 8276CE7 lockall - call OldaleTown_PokemonCenter_2F_EventScript_276CFF - call OldaleTown_PokemonCenter_2F_EventScript_277BF7 + call CableClub_EventScript_PlayerExitTradeCenter + call CableClub_EventScript_CloseDirectCornerBarrier special DrawWholeMapView playse SE_TK_KASYA erasebox 0, 0, 29, 19 releaseall end -OldaleTown_PokemonCenter_2F_EventScript_276CFF:: @ 8276CFF +CableClub_EventScript_PlayerExitTradeCenter:: @ 8276CFF special CloseLink setvar VAR_CABLE_CLUB_STATE, 0 compare VAR_0x8007, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735E + goto_if_eq CableClub_EventScript_PlayerExitLinkRoom + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerFaceAttendantRight waitmovement 0 - applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D + applymovement VAR_0x8007, Movement_AttendantFaceLeft waitmovement 0 - call OldaleTown_PokemonCenter_2F_EventScript_276DAE + call CableClub_EventScript_TrainerCardDataOverwritten return -OldaleTown_PokemonCenter_2F_EventScript_276D2C:: @ 8276D2C +CableClub_EventScript_ExitRecordCorner:: @ 8276D2C lockall - call OldaleTown_PokemonCenter_2F_EventScript_276D44 - call OldaleTown_PokemonCenter_2F_EventScript_277BF7 + call CableClub_EventScript_PlayerExitRecordCorner + call CableClub_EventScript_CloseDirectCornerBarrier special DrawWholeMapView playse SE_TK_KASYA erasebox 0, 0, 29, 19 releaseall end -OldaleTown_PokemonCenter_2F_EventScript_276D44:: @ 8276D44 +CableClub_EventScript_PlayerExitRecordCorner:: @ 8276D44 special CloseLink setvar VAR_CABLE_CLUB_STATE, 0 - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerExitLinkRoom waitmovement 0 compare VAR_0x8007, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276D6B - applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349 + goto_if_eq CableClub_EventScript_ExitRecordCornerRet + applymovement VAR_0x8007, Movement_AttendantFaceDown waitmovement 0 - -OldaleTown_PokemonCenter_2F_EventScript_276D6B:: @ 8276D6B +CableClub_EventScript_ExitRecordCornerRet:: @ 8276D6B return -OldaleTown_PokemonCenter_2F_EventScript_276D6C:: @ 8276D6C +CableClub_EventScript_ExitUnionRoom:: @ 8276D6C lockall - call OldaleTown_PokemonCenter_2F_EventScript_276D84 - call OldaleTown_PokemonCenter_2F_EventScript_277BD1 + call CableClub_EventScript_PlayerExitUnionRoom + call CableClub_EventScript_CloseUnionRoomBarrier special DrawWholeMapView playse SE_TK_KASYA erasebox 0, 0, 29, 19 releaseall end -OldaleTown_PokemonCenter_2F_EventScript_276D84:: @ 8276D84 +CableClub_EventScript_PlayerExitUnionRoom:: @ 8276D84 setvar VAR_CABLE_CLUB_STATE, 0 compare VAR_0x8007, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735E + goto_if_eq CableClub_EventScript_PlayerExitLinkRoom + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerFaceAttendantRight waitmovement 0 - applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D + applymovement VAR_0x8007, Movement_AttendantFaceLeft waitmovement 0 - call OldaleTown_PokemonCenter_2F_EventScript_276DAE + call CableClub_EventScript_TrainerCardDataOverwritten return -OldaleTown_PokemonCenter_2F_EventScript_276DAE:: @ 8276DAE - message OldaleTown_PokemonCenter_2F_Text_278521 +CableClub_EventScript_TrainerCardDataOverwritten:: @ 8276DAE + message CableClub_Text_TrainerCardDataOverwritten waitmessage playse SE_PIN delay 60 - message OldaleTown_PokemonCenter_2F_Text_27854C + message CableClub_Text_HopeToSeeYouAgain waitmessage - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerExitLinkRoom waitmovement 0 - applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349 + applymovement VAR_0x8007, Movement_AttendantFaceDown waitmovement 0 return -OldaleTown_PokemonCenter_2F_EventScript_276DD5:: @ 8276DD5 - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F +CableClub_EventScript_PlayerExitLinkRoom:: @ 8276DD5 + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerExitLinkRoom waitmovement 0 return -OldaleTown_PokemonCenter_2F_EventScript_276DE0:: @ 8276DE0 +CableClub_EventScript_Tutorial:: @ 8276DE0 lockall - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox OldaleTown_PokemonCenter_2F_Text_27964A, MSGBOX_DEFAULT + msgbox CableClub_Text_FirstTimeRightThisWay, MSGBOX_DEFAULT closemessage - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_276E10 + applymovement EVENT_OBJ_ID_PLAYER, CableClub_Movement_PlayerApproachCounter waitmovement 0 delay 30 - msgbox OldaleTown_PokemonCenter_2F_Text_279718, MSGBOX_DEFAULT + msgbox CableClub_Text_ExplainWirelessClubFirstTime, MSGBOX_DEFAULT setvar VAR_CABLE_CLUB_TUTORIAL_STATE, 2 releaseall end -OldaleTown_PokemonCenter_2F_Movement_276E10: @ 8276E10 +CableClub_Movement_PlayerApproachCounter: @ 8276E10 walk_up walk_up step_end -OldaleTown_PokemonCenter_2F_EventScript_276E13:: @ 8276E13 - message OldaleTown_PokemonCenter_2F_Text_277EA4 +CableClub_EventScript_WelcomeToCableClub:: @ 8276E13 + message CableClub_Text_WelcomeWhichCableClubService waitmessage delay 28 - goto OldaleTown_PokemonCenter_2F_EventScript_276E30 + goto CableClub_EventScript_SelectCableClubRoom end -OldaleTown_PokemonCenter_2F_EventScript_276E22:: @ 8276E22 - msgbox OldaleTown_PokemonCenter_2F_Text_277EF1, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_276E30 +CableClub_EventScript_UnusedWelcomeToCableClub:: @ 8276E22 + msgbox CableClub_Text_WhichService, MSGBOX_DEFAULT + goto CableClub_EventScript_SelectCableClubRoom end -OldaleTown_PokemonCenter_2F_EventScript_276E30:: @ 8276E30 +CableClub_EventScript_SelectCableClubRoom:: @ 8276E30 setvar VAR_0x8004, 0 - goto_if_set FLAG_VISITED_MAUVILLE_CITY, OldaleTown_PokemonCenter_2F_EventScript_276E75 - multichoice 0, 0, 74, 0 + goto_if_set FLAG_VISITED_MAUVILLE_CITY, CableClub_EventScript_CableClubUnlockedRecordCorner + multichoice 0, 0, MULTI_CABLE_CLUB_NO_RECORD_MIX, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_2770B2 - case 1, OldaleTown_PokemonCenter_2F_EventScript_276EB7 - case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_TradeCenter + case 1, CableClub_EventScript_Colosseum + case 2, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_276E75:: @ 8276E75 - multichoice 0, 0, 76, 0 +CableClub_EventScript_CableClubUnlockedRecordCorner:: @ 8276E75 + multichoice 0, 0, MULTI_CABLE_CLUB_WITH_RECORD_MIX, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_2770B2 - case 1, OldaleTown_PokemonCenter_2F_EventScript_276EB7 - case 2, OldaleTown_PokemonCenter_2F_EventScript_2771DB - case 3, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_TradeCenter + case 1, CableClub_EventScript_Colosseum + case 2, CableClub_EventScript_RecordCorner + case 3, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_276EB7:: @ 8276EB7 +CableClub_EventScript_Colosseum:: @ 8276EB7 copyvar VAR_0x8007, VAR_LAST_TALKED - goto OldaleTown_PokemonCenter_2F_EventScript_276EC2 + goto CableClub_EventScript_SelectBattleMode end -OldaleTown_PokemonCenter_2F_EventScript_276EC2:: @ 8276EC2 - message OldaleTown_PokemonCenter_2F_Text_2790BE +CableClub_EventScript_SelectBattleMode:: @ 8276EC2 + message CableClub_Text_PlayWhichBattleMode waitmessage - multichoice 0, 0, 18, 0 + multichoice 0, 0, MULTI_BATTLE_MODE, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_276F23 - case 1, OldaleTown_PokemonCenter_2F_EventScript_276F2E - case 2, OldaleTown_PokemonCenter_2F_EventScript_276F55 - case 3, OldaleTown_PokemonCenter_2F_EventScript_276F15 - case 4, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_SingleBattleMode + case 1, CableClub_EventScript_DoubleBattleMode + case 2, CableClub_EventScript_MultiBattleMode + case 3, CableClub_EventScript_BattleModeInfo + case 4, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_276F15:: @ 8276F15 - msgbox OldaleTown_PokemonCenter_2F_Text_279142, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_276EC2 +CableClub_EventScript_BattleModeInfo:: @ 8276F15 + msgbox CableClub_Text_ExplainBattleModes, MSGBOX_DEFAULT + goto CableClub_EventScript_SelectBattleMode end -OldaleTown_PokemonCenter_2F_EventScript_276F23:: @ 8276F23 - setvar VAR_0x8004, 1 - goto OldaleTown_PokemonCenter_2F_EventScript_276F60 +CableClub_EventScript_SingleBattleMode:: @ 8276F23 + setvar VAR_0x8004, USING_SINGLE_BATTLE + goto CableClub_EventScript_TryEnterColosseum end -OldaleTown_PokemonCenter_2F_EventScript_276F2E:: @ 8276F2E +CableClub_EventScript_DoubleBattleMode:: @ 8276F2E special HasEnoughMonsForDoubleBattle - compare VAR_RESULT, 0 - goto_if_ne OldaleTown_PokemonCenter_2F_EventScript_276F47 - setvar VAR_0x8004, 2 - goto OldaleTown_PokemonCenter_2F_EventScript_276F60 + compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS + goto_if_ne CableClub_EventScript_NeedTwoMonsForDoubleBattle + setvar VAR_0x8004, USING_DOUBLE_BATTLE + goto CableClub_EventScript_TryEnterColosseum end -OldaleTown_PokemonCenter_2F_EventScript_276F47:: @ 8276F47 - msgbox OldaleTown_PokemonCenter_2F_Text_277FEE, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_276EC2 +CableClub_EventScript_NeedTwoMonsForDoubleBattle:: @ 8276F47 + msgbox CableClub_Text_NeedTwoMonsForDoubleBattle, MSGBOX_DEFAULT + goto CableClub_EventScript_SelectBattleMode end -OldaleTown_PokemonCenter_2F_EventScript_276F55:: @ 8276F55 - setvar VAR_0x8004, 5 - goto OldaleTown_PokemonCenter_2F_EventScript_276F60 +CableClub_EventScript_MultiBattleMode:: @ 8276F55 + setvar VAR_0x8004, USING_MULTI_BATTLE + goto CableClub_EventScript_TryEnterColosseum end -OldaleTown_PokemonCenter_2F_EventScript_276F60:: @ 8276F60 +CableClub_EventScript_TryEnterColosseum:: @ 8276F60 call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink message gText_PleaseWaitForLink waitmessage - special sub_80B2DA4 + special TryBattleLinkup waitstate compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276FBD + goto_if_eq CableClub_EventScript_EnterColosseum compare VAR_RESULT, 2 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2 + goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady compare VAR_RESULT, 3 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF + goto_if_eq CableClub_EventScript_AbortLinkDifferentSelections compare VAR_RESULT, 4 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277046 + goto_if_eq CableClub_EventScript_AbortLinkIncorrectNumberOfBattlers compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink compare VAR_RESULT, 6 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5 + goto_if_eq CableClub_EventScript_AbortLinkConnectionError end -OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD +CableClub_EventScript_EnterColosseum:: @ 8276FBD special HealPlayerParty special SavePlayerParty special LoadPlayerBag copyvar VAR_CABLE_CLUB_STATE, VAR_0x8004 - messageautoscroll OldaleTown_PokemonCenter_2F_Text_278197 + messageautoscroll CableClub_Text_PleaseEnter waitmessage - call OldaleTown_PokemonCenter_2F_EventScript_277BE4 + call CableClub_EventScript_OpenDirectCornerBarrier special DrawWholeMapView playse SE_TK_KASYA delay 60 - applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D + applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 closemessage - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft waitmovement 0 opendoor 9, 1 waitdooranim - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterLinkRoom waitmovement 0 - hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, 0 closedoor 9, 1 waitdooranim release - compare VAR_0x8004, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277036 + compare VAR_0x8004, USING_MULTI_BATTLE + goto_if_eq CableClub_EventScript_WarpTo4PColosseum special SetCableClubWarp - warp MAP_SINGLE_BATTLE_COLOSSEUM, 255, 6, 8 - special sub_80AF948 + warp MAP_BATTLE_COLOSSEUM_2P, 255, 6, 8 + special DoCableClubWarp waitstate end -OldaleTown_PokemonCenter_2F_EventScript_27702B:: @ 827702B - applymovement EVENT_OBJ_ID_PLAYER, Movement_277352 +@ Unused +CableClub_EventScript_PlayerApproachLinkRoomRight:: @ 827702B + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomRight waitmovement 0 return -OldaleTown_PokemonCenter_2F_EventScript_277036:: @ 8277036 +CableClub_EventScript_WarpTo4PColosseum:: @ 8277036 special SetCableClubWarp - warp MAP_DOUBLE_BATTLE_COLOSSEUM, 255, 5, 8 - special sub_80AF948 + warp MAP_BATTLE_COLOSSEUM_4P, 255, 5, 8 + special DoCableClubWarp waitstate end -OldaleTown_PokemonCenter_2F_EventScript_277046:: @ 8277046 +CableClub_EventScript_AbortLinkIncorrectNumberOfBattlers:: @ 8277046 switch VAR_0x8004 - case 1, OldaleTown_PokemonCenter_2F_EventScript_277094 - case 2, OldaleTown_PokemonCenter_2F_EventScript_277083 - case 5, OldaleTown_PokemonCenter_2F_EventScript_277072 - goto OldaleTown_PokemonCenter_2F_EventScript_27730E + case USING_SINGLE_BATTLE, CableClub_EventScript_AbortLinkWrongNumberForSingleBattle + case USING_DOUBLE_BATTLE, CableClub_EventScript_AbortLinkWrongNumberForDoubleBattle + case USING_MULTI_BATTLE, CableClub_EventScript_AbortLinkNeedFourPlayers + goto CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants end -OldaleTown_PokemonCenter_2F_EventScript_277072:: @ 8277072 +CableClub_EventScript_AbortLinkNeedFourPlayers:: @ 8277072 special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_27833D, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_2770A5 + msgbox CableClub_Text_NeedFourPlayers, MSGBOX_DEFAULT + goto CableClub_EventScript_ConfirmNumberAndRestart end -OldaleTown_PokemonCenter_2F_EventScript_277083:: @ 8277083 +CableClub_EventScript_AbortLinkWrongNumberForDoubleBattle:: @ 8277083 special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_278307, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_2770A5 + msgbox CableClub_Text_CantDoubleBattleWithXPlayers, MSGBOX_DEFAULT + goto CableClub_EventScript_ConfirmNumberAndRestart end -OldaleTown_PokemonCenter_2F_EventScript_277094:: @ 8277094 +CableClub_EventScript_AbortLinkWrongNumberForSingleBattle:: @ 8277094 special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_2782D1, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_2770A5 + msgbox CableClub_Text_CantSingleBattleWithXPlayers, MSGBOX_DEFAULT + goto CableClub_EventScript_ConfirmNumberAndRestart end -OldaleTown_PokemonCenter_2F_EventScript_2770A5:: @ 82770A5 - special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_278372, MSGBOX_DEFAULT +CableClub_EventScript_ConfirmNumberAndRestart:: @ 82770A5 + special CloseLink @ Redundant + msgbox CableClub_Text_PleaseConfirmNumberAndRestart, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_2770B2:: @ 82770B2 +CableClub_EventScript_TradeCenter:: @ 82770B2 copyvar VAR_0x8007, VAR_LAST_TALKED - call OldaleTown_PokemonCenter_2F_EventScript_277199 + call CableClub_EventScript_CheckPartyTradeRequirements compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink message gText_PleaseWaitForLink waitmessage - special sub_80B2E4C + special TryTradeLinkup waitstate compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27713A + goto_if_eq CableClub_EventScript_EnterTradeCenter compare VAR_RESULT, 2 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2 + goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady compare VAR_RESULT, 3 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF + goto_if_eq CableClub_EventScript_AbortLinkDifferentSelections compare VAR_RESULT, 4 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27730E + goto_if_eq CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink compare VAR_RESULT, 6 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5 + goto_if_eq CableClub_EventScript_AbortLinkConnectionError compare VAR_RESULT, 7 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772AB + goto_if_eq CableClub_EventScript_AbortLinkPlayerNotReady compare VAR_RESULT, 9 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772B8 + goto_if_eq CableClub_EventScript_AbortLinkOtherTrainerNotReady end -OldaleTown_PokemonCenter_2F_EventScript_27713A:: @ 827713A - setvar VAR_0x8004, 3 +CableClub_EventScript_EnterTradeCenter:: @ 827713A + setvar VAR_0x8004, USING_TRADE_CENTER copyvar VAR_CABLE_CLUB_STATE, VAR_0x8004 - messageautoscroll OldaleTown_PokemonCenter_2F_Text_278197 + messageautoscroll CableClub_Text_PleaseEnter waitmessage - call OldaleTown_PokemonCenter_2F_EventScript_277BE4 + call CableClub_EventScript_OpenDirectCornerBarrier special DrawWholeMapView playse SE_TK_KASYA delay 60 - applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D + applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 closemessage - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft waitmovement 0 opendoor 9, 1 waitdooranim - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterLinkRoom waitmovement 0 - hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, 0 closedoor 9, 1 waitdooranim release special SetCableClubWarp setwarp MAP_TRADE_CENTER, 255, 5, 8 - special sub_80AF948 + special DoCableClubWarp waitstate end -OldaleTown_PokemonCenter_2F_EventScript_277199:: @ 8277199 +CableClub_EventScript_CheckPartyTradeRequirements:: @ 8277199 specialvar VAR_RESULT, CalculatePlayerPartyCount compare VAR_RESULT, 2 - goto_if_lt OldaleTown_PokemonCenter_2F_EventScript_2771BF - specialvar VAR_RESULT, sub_80F9370 - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2771CD + goto_if_lt CableClub_EventScript_NeedTwoMonsToTrade + specialvar VAR_RESULT, DoesPartyHaveEnigmaBerry + compare VAR_RESULT, TRUE + goto_if_eq CableClub_EventScript_CantTradeEnigmaBerry setvar VAR_RESULT, 1 return -OldaleTown_PokemonCenter_2F_EventScript_2771BF:: @ 82771BF - msgbox OldaleTown_PokemonCenter_2F_Text_278027, MSGBOX_DEFAULT +CableClub_EventScript_NeedTwoMonsToTrade:: @ 82771BF + msgbox CableClub_Text_NeedTwoMonsToTrade, MSGBOX_DEFAULT setvar VAR_RESULT, 0 return -OldaleTown_PokemonCenter_2F_EventScript_2771CD:: @ 82771CD - msgbox OldaleTown_PokemonCenter_2F_Text_278061, MSGBOX_DEFAULT +CableClub_EventScript_CantTradeEnigmaBerry:: @ 82771CD + msgbox CableClub_Text_CantTradeEnigmaBerry, MSGBOX_DEFAULT setvar VAR_RESULT, 0 return -OldaleTown_PokemonCenter_2F_EventScript_2771DB:: @ 82771DB +CableClub_EventScript_RecordCorner:: @ 82771DB copyvar VAR_0x8007, VAR_LAST_TALKED call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink message gText_PleaseWaitForLink waitmessage - special sub_80B2E74 + special TryRecordMixLinkup waitstate special sub_80B2EA8 waitstate compare VAR_RESULT, 12 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277328 + goto_if_eq CableClub_EventScript_AbortLinkForeignGame compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27724C + goto_if_eq CableClub_EventScript_EnterRecordCorner compare VAR_RESULT, 2 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2 + goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady compare VAR_RESULT, 3 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF + goto_if_eq CableClub_EventScript_AbortLinkDifferentSelections compare VAR_RESULT, 4 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27730E + goto_if_eq CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink compare VAR_RESULT, 6 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5 + goto_if_eq CableClub_EventScript_AbortLinkConnectionError end -OldaleTown_PokemonCenter_2F_EventScript_27724C:: @ 827724C - setvar VAR_0x8004, 4 +CableClub_EventScript_EnterRecordCorner:: @ 827724C + setvar VAR_0x8004, USING_RECORD_CORNER copyvar VAR_CABLE_CLUB_STATE, VAR_0x8004 - messageautoscroll OldaleTown_PokemonCenter_2F_Text_278197 + messageautoscroll CableClub_Text_PleaseEnter waitmessage - call OldaleTown_PokemonCenter_2F_EventScript_277BE4 + call CableClub_EventScript_OpenDirectCornerBarrier special DrawWholeMapView playse SE_TK_KASYA delay 60 - applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D + applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 closemessage - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft waitmovement 0 opendoor 9, 1 waitdooranim - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterLinkRoom waitmovement 0 - hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, 0 closedoor 9, 1 waitdooranim release special SetCableClubWarp setwarp MAP_RECORD_CORNER, 255, 8, 9 - special sub_80AF948 + special DoCableClubWarp waitstate end -OldaleTown_PokemonCenter_2F_EventScript_2772AB:: @ 82772AB +CableClub_EventScript_AbortLinkPlayerNotReady:: @ 82772AB special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_278565, MSGBOX_DEFAULT + msgbox CableClub_Text_NotSetUpForFarAwayRegion, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_2772B8:: @ 82772B8 +CableClub_EventScript_AbortLinkOtherTrainerNotReady:: @ 82772B8 special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_2785C9, MSGBOX_DEFAULT + msgbox CableClub_Text_OtherTrainerNotReady, MSGBOX_DEFAULT release end -BattleFrontier_BattleTowerLobby_EventScript_2772C5:: @ 82772C5 -OldaleTown_PokemonCenter_2F_EventScript_2772C5:: @ 82772C5 +CableClub_EventScript_AbortLinkConnectionError:: @ 82772C5 special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_27821C, MSGBOX_DEFAULT + msgbox Text_LinkErrorPleaseReset, MSGBOX_DEFAULT release end -BattleFrontier_BattleTowerLobby_EventScript_2772D2:: @ 82772D2 -OldaleTown_PokemonCenter_2F_EventScript_2772D2:: @ 82772D2 +CableClub_EventScript_AbortLinkSomeoneNotReady:: @ 82772D2 special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_2781C7, MSGBOX_DEFAULT + msgbox Text_SomeoneIsNotReadyToLink, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_2772DF:: @ 82772DF +CableClub_EventScript_AbortLinkDifferentSelections:: @ 82772DF special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_278255, MSGBOX_DEFAULT + msgbox Text_PlayersMadeDifferentSelections, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_2772EC:: @ 82772EC +CableClub_EventScript_AbortLink:: @ 82772EC special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_278291, MSGBOX_DEFAULT + msgbox CableClub_Text_PleaseVisitAgain, MSGBOX_DEFAULT release end -MossdeepCity_GameCorner_1F_EventScript_2772F9:: @ 82772F9 +MossdeepCity_GameCorner_1F_EventScript_AbortMinigame:: @ 82772F9 special CloseLink - msgbox MossdeepCity_GameCorner_1F_Text_278D51, MSGBOX_DEFAULT + msgbox MossdeepCity_GameCorner_1F_Text_ComeAgain, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_277306:: @ 8277306 +@ Unused +CableClub_EventScript_CableClubWarp:: @ 8277306 special SetCableClubWarp - special sub_80AF948 + special DoCableClubWarp waitstate end -OldaleTown_PokemonCenter_2F_EventScript_27730E:: @ 827730E +CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants:: @ 827730E special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_2782A8, MSGBOX_DEFAULT + msgbox CableClub_Text_IncorrectNumberOfParticipants, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_27731B:: @ 827731B +CableClub_EventScript_AbortLinkPlayerHasBadEgg:: @ 827731B special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_2785E9, MSGBOX_DEFAULT + msgbox CableClub_Text_YouHaveAMonThatCantBeTaken, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_277328:: @ 8277328 +CableClub_EventScript_AbortLinkForeignGame:: @ 8277328 special CloseLink - msgbox OldaleTown_PokemonCenter_2F_Text_278651, MSGBOX_DEFAULT + msgbox CableClub_Text_CantMixWithJapaneseGame, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_277335:: @ 8277335 - msgbox gUnknown_0827306F, MSGBOX_DEFAULT +CableClub_EventScript_WirelessClubAdjustements:: @ 8277335 + msgbox gText_SorryWirelessClubAdjustments, MSGBOX_DEFAULT release end -OldaleTown_PokemonCenter_2F_EventScript_27733F:: @ 827733F - msgbox gUnknown_082730BC, MSGBOX_DEFAULT +CableClub_EventScript_NotReadyYet:: @ 827733F + msgbox gText_UndergoingAdjustments, MSGBOX_DEFAULT releaseall end -OldaleTown_PokemonCenter_2F_Movement_277349: @ 8277349 +Movement_AttendantFaceDown: @ 8277349 face_down step_end -OldaleTown_PokemonCenter_2F_Movement_27734B: @ 827734B +@ Unused +Movement_AttendantFaceRight: @ 827734B face_right step_end -MossdeepCity_GameCorner_1F_Movement_27734D: @ 827734D -OldaleTown_PokemonCenter_2F_Movement_27734D: @ 827734D +Movement_AttendantFaceLeft: @ 827734D face_left step_end -OldaleTown_PokemonCenter_2F_Movement_27734F: @ 827734F +Movement_PlayerExitLinkRoom: @ 827734F walk_down walk_down step_end -Movement_277352: @ 8277352 +@ Functionally unused +Movement_PlayerApproachLinkRoomRight: @ 8277352 walk_right walk_up walk_up step_end -OldaleTown_PokemonCenter_2F_Movement_277356: @ 8277356 +Movement_PlayerApproachLinkRoomLeft: @ 8277356 walk_left walk_up walk_up step_end -OldaleTown_PokemonCenter_2F_Movement_27735A: @ 827735A +Movement_PlayerEnterLinkRoom: @ 827735A walk_up step_end -OldaleTown_PokemonCenter_2F_Movement_27735C: @ 827735C +@ Unused +Movement_PlayerFaceAttendantLeft: @ 827735C face_left step_end -OldaleTown_PokemonCenter_2F_Movement_27735E: @ 827735E +Movement_PlayerFaceAttendantRight: @ 827735E face_right step_end -MossdeepCity_GameCorner_1F_Movement_277360: @ 8277360 +Movement_PlayerEnterMinigameRoom: @ 8277360 walk_left walk_up walk_up @@ -775,63 +710,63 @@ EventScript_CableBoxResults:: @ 8277365 releaseall end -EventScript_SingleBattleColosseum_PlayerSpot0:: @ 8277374 +EventScript_BattleColosseum_2P_PlayerSpot0:: @ 8277374 setvar VAR_0x8005, 0 special ColosseumPlayerSpotTriggered waitstate end -EventScript_SingleBattleColosseum_PlayerSpot1:: @ 827737E +EventScript_BattleColosseum_2P_PlayerSpot1:: @ 827737E setvar VAR_0x8005, 1 special ColosseumPlayerSpotTriggered waitstate end -EventScript_DoubleBattleColosseum_PlayerSpot0:: @ 8277388 - fadescreen 1 +EventScript_BattleColosseum_4P_PlayerSpot0:: @ 8277388 + fadescreen FADE_TO_BLACK special ChooseHalfPartyForBattle waitstate compare VAR_RESULT, 0 - goto_if_eq EventScript_DoubleBattleColosseum_CancelSpotTrigger + goto_if_eq EventScript_BattleColosseum_4P_CancelSpotTrigger setvar VAR_0x8005, 0 special ColosseumPlayerSpotTriggered waitstate end -EventScript_DoubleBattleColosseum_PlayerSpot1:: @ 82773A3 - fadescreen 1 +EventScript_BattleColosseum_4P_PlayerSpot1:: @ 82773A3 + fadescreen FADE_TO_BLACK special ChooseHalfPartyForBattle waitstate compare VAR_RESULT, 0 - goto_if_eq EventScript_DoubleBattleColosseum_CancelSpotTrigger + goto_if_eq EventScript_BattleColosseum_4P_CancelSpotTrigger setvar VAR_0x8005, 1 special ColosseumPlayerSpotTriggered waitstate end -EventScript_DoubleBattleColosseum_PlayerSpot2:: @ 82773BE - fadescreen 1 +EventScript_BattleColosseum_4P_PlayerSpot2:: @ 82773BE + fadescreen FADE_TO_BLACK special ChooseHalfPartyForBattle waitstate compare VAR_RESULT, 0 - goto_if_eq EventScript_DoubleBattleColosseum_CancelSpotTrigger + goto_if_eq EventScript_BattleColosseum_4P_CancelSpotTrigger setvar VAR_0x8005, 2 special ColosseumPlayerSpotTriggered waitstate end -EventScript_DoubleBattleColosseum_PlayerSpot3:: @ 82773D9 - fadescreen 1 +EventScript_BattleColosseum_4P_PlayerSpot3:: @ 82773D9 + fadescreen FADE_TO_BLACK special ChooseHalfPartyForBattle waitstate compare VAR_RESULT, 0 - goto_if_eq EventScript_DoubleBattleColosseum_CancelSpotTrigger + goto_if_eq EventScript_BattleColosseum_4P_CancelSpotTrigger setvar VAR_0x8005, 3 special ColosseumPlayerSpotTriggered waitstate end -EventScript_DoubleBattleColosseum_CancelSpotTrigger:: @ 82773F4 +EventScript_BattleColosseum_4P_CancelSpotTrigger:: @ 82773F4 end EventScript_TradeCenter_Chair0:: @ 82773F5 @@ -860,102 +795,103 @@ EventScript_TradeCenter_Chair3:: @ 8277413 waitstate end +@ VAR_TEMP_1 for below scripts set by ReceiveGiftItem EventScript_RecordCenter_Spot0:: @ 827741D setvar VAR_0x8005, 0 special RecordMixingPlayerSpotTriggered waitstate - compare VAR_TEMP_1, 0 - goto_if_ne RecordCorner_EventScript_277471 + compare VAR_TEMP_1, ITEM_NONE + goto_if_ne RecordCorner_EventScript_ReceivedGiftItem end EventScript_RecordCenter_Spot1:: @ 8277432 setvar VAR_0x8005, 1 special RecordMixingPlayerSpotTriggered waitstate - compare VAR_TEMP_1, 0 - goto_if_ne RecordCorner_EventScript_277471 + compare VAR_TEMP_1, ITEM_NONE + goto_if_ne RecordCorner_EventScript_ReceivedGiftItem end EventScript_RecordCenter_Spot2:: @ 8277447 setvar VAR_0x8005, 2 special RecordMixingPlayerSpotTriggered waitstate - compare VAR_TEMP_1, 0 - goto_if_ne RecordCorner_EventScript_277471 + compare VAR_TEMP_1, ITEM_NONE + goto_if_ne RecordCorner_EventScript_ReceivedGiftItem end EventScript_RecordCenter_Spot3:: @ 827745C setvar VAR_0x8005, 3 special RecordMixingPlayerSpotTriggered waitstate - compare VAR_TEMP_1, 0 - goto_if_ne RecordCorner_EventScript_277471 + compare VAR_TEMP_1, ITEM_NONE + goto_if_ne RecordCorner_EventScript_ReceivedGiftItem end -RecordCorner_EventScript_277471:: @ 8277471 +RecordCorner_EventScript_ReceivedGiftItem:: @ 8277471 bufferitemname 1, VAR_TEMP_1 - message RecordCorner_Text_27863C + message RecordCorner_Text_PlayerSentOverOneX waitmessage waitbuttonpress releaseall end -gEventScript_TradeRoom_ReadTrainerCard_NoColor:: @ 827747E - msgbox Text_278452, MSGBOX_DEFAULT - fadescreen 1 - special sp02A_crash_sound +CableClub_EventScript_ReadTrainerCard:: @ 827747E + msgbox CableClub_Text_GotToLookAtTrainerCard, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK + special Script_ShowLinkTrainerCard waitstate end -gEventScript_TradeRoom_ReadTrainerCard_Normal:: @ 827748D - msgbox Text_27847B, MSGBOX_DEFAULT - fadescreen 1 - special sp02A_crash_sound +CableClub_EventScript_ReadTrainerCardColored:: @ 827748D + msgbox CableClub_Text_GotToLookAtColoredTrainerCard, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK + special Script_ShowLinkTrainerCard waitstate end -gEventScript_TradeRoom_TooBusyToNotice:: @ 827749C - msgbox Text_27842E, MSGBOX_DEFAULT +CableClub_EventScript_TooBusyToNotice:: @ 827749C + msgbox CableClub_Text_TooBusyToNotice, MSGBOX_DEFAULT closemessage end -SingleBattleColosseum_EventScript_2774A6:: @ 82774A6 - special sub_8098574 - msgbox SingleBattleColosseum_Text_2784B4, MSGBOX_DEFAULT - special sub_809859C +BattleColosseum_2P_EventScript_Attendant:: @ 82774A6 + special Script_FacePlayer + msgbox BattleColosseum_2P_Text_TakePlaceStartBattle, MSGBOX_DEFAULT + special Script_ClearHeldMovement closemessage end -TradeCenter_EventScript_2774B6:: @ 82774B6 - special sub_8098574 - msgbox TradeCenter_Text_2784E2, MSGBOX_DEFAULT - special sub_809859C +TradeCenter_EventScript_Attendant:: @ 82774B6 + special Script_FacePlayer + msgbox TradeCenter_Text_TakeSeatStartTrade, MSGBOX_DEFAULT + special Script_ClearHeldMovement closemessage end -RecordCorner_EventScript_2774C6:: @ 82774C6 +RecordCorner_EventScript_Attendant:: @ 82774C6 compare VAR_TEMP_0, 0 - goto_if_ne RecordCorner_EventScript_2774E0 - special sub_8098574 - message RecordCorner_Text_27861C + goto_if_ne RecordCorner_EventScript_AlreadyMixed + special Script_FacePlayer + message RecordCorner_Text_TakeSeatAndWait waitmessage waitbuttonpress - special sub_809859C + special Script_ClearHeldMovement closemessage end -RecordCorner_EventScript_2774E0:: @ 82774E0 - special sub_8098574 - message RecordCorner_Text_27850E +RecordCorner_EventScript_AlreadyMixed:: @ 82774E0 + special Script_FacePlayer + message RecordCorner_Text_ThanksForComing waitmessage waitbuttonpress - special sub_809859C + special Script_ClearHeldMovement closemessage end EventScript_ConfirmLeaveTradeRoom:: @ 82774EF msgbox Text_TerminateLinkConfirmation, MSGBOX_YESNO - compare VAR_RESULT, 1 + compare VAR_RESULT, YES goto_if_eq EventScript_TerminateLink erasebox 0, 0, 29, 19 releaseall @@ -969,70 +905,70 @@ EventScript_TerminateLink:: @ 8277509 EventScript_DoLinkRoomExit:: @ 8277513 special CleanupLinkRoomState - special sub_80AF9F8 + special ReturnFromLinkRoom waitstate end -OldaleTown_PokemonCenter_2F_EventScript_27751B:: @ 827751B +CableClub_EventScript_UnionRoomAttendant:: @ 827751B lock faceplayer - setvar VAR_FRONTIER_FACILITY, 8 - goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_277335 - specialvar VAR_RESULT, sub_813990C - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27731B + setvar VAR_FRONTIER_FACILITY, FACILITY_UNION_ROOM + goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_WirelessClubAdjustements + specialvar VAR_RESULT, IsBadEggInParty + compare VAR_RESULT, TRUE + goto_if_eq CableClub_EventScript_AbortLinkPlayerHasBadEgg copyvar VAR_0x8007, VAR_LAST_TALKED specialvar VAR_RESULT, IsWirelessAdapterConnected - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277668 - message OldaleTown_PokemonCenter_2F_Text_27940D + compare VAR_RESULT, FALSE + goto_if_eq CableClub_EventScript_UnionRoomAdapterNotConnected + message CableClub_Text_WelcomeUnionRoomEnter waitmessage - goto OldaleTown_PokemonCenter_2F_EventScript_27755C + goto CableClub_EventScript_UnionRoomSelect end -OldaleTown_PokemonCenter_2F_EventScript_27755C:: @ 827755C - multichoice 17, 6, 17, 0 +CableClub_EventScript_UnionRoomSelect:: @ 827755C + multichoice 17, 6, MULTI_YESNOINFO, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_27759F - case 1, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case 2, OldaleTown_PokemonCenter_2F_EventScript_277593 - case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_EnterUnionRoom + case 1, CableClub_EventScript_AbortLink + case 2, CableClub_EventScript_UnionRoomInfo + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_277593:: @ 8277593 - message OldaleTown_PokemonCenter_2F_Text_2794B8 +CableClub_EventScript_UnionRoomInfo:: @ 8277593 + message CableClub_Text_UnionRoomInfo waitmessage - goto OldaleTown_PokemonCenter_2F_EventScript_27755C + goto CableClub_EventScript_UnionRoomSelect end -OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F - call OldaleTown_PokemonCenter_2F_EventScript_277626 +CableClub_EventScript_EnterUnionRoom:: @ 827759F + call CableClub_EventScript_CheckPartyUnionRoomRequirements compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC - msgbox OldaleTown_PokemonCenter_2F_Text_27961C, MSGBOX_DEFAULT + goto_if_eq CableClub_EventScript_AbortLink + msgbox CableClub_Text_EnjoyUnionRoom, MSGBOX_DEFAULT closemessage special HealPlayerParty - setvar VAR_0x8004, 6 + setvar VAR_0x8004, USING_UNION_ROOM copyvar VAR_CABLE_CLUB_STATE, VAR_0x8004 - call OldaleTown_PokemonCenter_2F_EventScript_277BBE + call CableClub_EventScript_OpenUnionRoomBarrier special DrawWholeMapView playse SE_TK_KASYA delay 60 - applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D + applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft waitmovement 0 opendoor 5, 1 waitdooranim - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterLinkRoom waitmovement 0 - hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, 0 closedoor 5, 1 waitdooranim - special sub_8018090 + special Script_ResetUnionRoomTrade special SetCableClubWarp warpteleport2 MAP_UNION_ROOM, 255, 7, 11 waitstate @@ -1040,331 +976,327 @@ OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F waitstate end -OldaleTown_PokemonCenter_2F_EventScript_277626:: @ 8277626 +CableClub_EventScript_CheckPartyUnionRoomRequirements:: @ 8277626 specialvar VAR_RESULT, CountPartyNonEggMons compare VAR_RESULT, 2 - goto_if_lt OldaleTown_PokemonCenter_2F_EventScript_27764C - specialvar VAR_RESULT, sub_80F9370 - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27765A + goto_if_lt CableClub_EventScript_NeedTwoMonsForUnionRoom + specialvar VAR_RESULT, DoesPartyHaveEnigmaBerry + compare VAR_RESULT, TRUE + goto_if_eq CableClub_EventScript_NoEnigmaBerryInUnionRoom setvar VAR_RESULT, 1 return -OldaleTown_PokemonCenter_2F_EventScript_27764C:: @ 827764C - msgbox OldaleTown_PokemonCenter_2F_Text_27893E, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_273755 +CableClub_EventScript_NeedTwoMonsForUnionRoom:: @ 827764C + msgbox CableClub_Text_NeedTwoMonsForUnionRoom, MSGBOX_DEFAULT + goto EventScript_CableClub_SetVarResult0 end -OldaleTown_PokemonCenter_2F_EventScript_27765A:: @ 827765A - msgbox OldaleTown_PokemonCenter_2F_Text_27897B, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_273755 +CableClub_EventScript_NoEnigmaBerryInUnionRoom:: @ 827765A + msgbox CableClub_Text_NoEnigmaBerryInUnionRoom, MSGBOX_DEFAULT + goto EventScript_CableClub_SetVarResult0 end -OldaleTown_PokemonCenter_2F_EventScript_277668:: @ 8277668 - msgbox OldaleTown_PokemonCenter_2F_Text_2789B5, MSGBOX_DEFAULT +CableClub_EventScript_UnionRoomAdapterNotConnected:: @ 8277668 + msgbox CableClub_Text_UnionRoomAdapterNotConnected, MSGBOX_DEFAULT release return -OldaleTown_PokemonCenter_2F_EventScript_277672:: @ 8277672 +CableClub_EventScript_WirelessClubAttendant:: @ 8277672 lock faceplayer - goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_277335 - msgbox OldaleTown_PokemonCenter_2F_Text_279937, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27769A - msgbox OldaleTown_PokemonCenter_2F_Text_2799AA, MSGBOX_DEFAULT + goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_WirelessClubAdjustements + msgbox CableClub_Text_AskAboutLinking, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq CableClub_EventScript_DontAskAboutLinking + msgbox CableClub_Text_ExplainWirelessClub, MSGBOX_DEFAULT release return -OldaleTown_PokemonCenter_2F_EventScript_27769A:: @ 827769A - msgbox OldaleTown_PokemonCenter_2F_Text_279C91, MSGBOX_DEFAULT +CableClub_EventScript_DontAskAboutLinking:: @ 827769A + msgbox CableClub_Text_HopeYouEnjoyWirelessSystem, MSGBOX_DEFAULT release return -OldaleTown_PokemonCenter_2F_EventScript_2776A4:: @ 82776A4 +CableClub_EventScript_DirectCornerAttendant:: @ 82776A4 lock faceplayer - setvar VAR_FRONTIER_FACILITY, 9 - goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_277335 - specialvar VAR_RESULT, sub_813990C - compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27731B + setvar VAR_FRONTIER_FACILITY, FACILITY_MULTI_OR_EREADER @ Set preemptively for multi battles, ignored otherwise + goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_WirelessClubAdjustements + specialvar VAR_RESULT, IsBadEggInParty + compare VAR_RESULT, TRUE + goto_if_eq CableClub_EventScript_AbortLinkPlayerHasBadEgg specialvar VAR_RESULT, IsWirelessAdapterConnected - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276E13 - message OldaleTown_PokemonCenter_2F_Text_279013 + compare VAR_RESULT, FALSE + goto_if_eq CableClub_EventScript_WelcomeToCableClub + message CableClub_Text_WelcomeWhichDirectCornerRoom waitmessage delay 28 - goto OldaleTown_PokemonCenter_2F_EventScript_2776E3 + goto CableClub_EventScript_DirectCornerSelectService end -OldaleTown_PokemonCenter_2F_EventScript_2776E3:: @ 82776E3 +CableClub_EventScript_DirectCornerSelectService:: @ 82776E3 checkitem ITEM_POWDER_JAR, 1 + compare VAR_RESULT, FALSE + goto_if_eq CableClub_EventScript_DirectCornerNoBerry + goto_if_set FLAG_VISITED_MAUVILLE_CITY, CableClub_EventScript_DirectCornerSelectAllServices + multichoice 0, 0, MULTI_WIRELESS_NO_RECORD, 0 + switch VAR_RESULT + case 0, CableClub_EventScript_WirelessTrade + case 1, CableClub_EventScript_WirelessBattleSelect + case 2, CableClub_EventScript_WirelessBerryCrush + case 3, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink + end + +CableClub_EventScript_DirectCornerSelectAllServices:: @ 827773E + multichoice 0, 0, MULTI_WIRELESS_ALL_SERVICES, 0 + switch VAR_RESULT + case 0, CableClub_EventScript_WirelessTrade + case 1, CableClub_EventScript_WirelessBattleSelect + case 2, CableClub_EventScript_WirelessRecordMix + case 3, CableClub_EventScript_WirelessBerryCrush + case 4, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink + end + +CableClub_EventScript_DirectCornerNoBerry:: @ 827778B + goto_if_set FLAG_VISITED_MAUVILLE_CITY, CableClub_EventScript_DirectCornerHasRecordMix + multichoice 0, 0, MULTI_WIRELESS_NO_RECORD_BERRY, 0 + switch VAR_RESULT + case 0, CableClub_EventScript_WirelessTrade + case 1, CableClub_EventScript_WirelessBattleSelect + case 2, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink + end + +CableClub_EventScript_DirectCornerHasRecordMix:: @ 82777CB + multichoice 0, 0, MULTI_WIRELESS_NO_BERRY, 0 + switch VAR_RESULT + case 0, CableClub_EventScript_WirelessTrade + case 1, CableClub_EventScript_WirelessBattleSelect + case 2, CableClub_EventScript_WirelessRecordMix + case 3, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink + end + +CableClub_EventScript_WirelessTrade:: @ 827780D + msgbox CableClub_Text_TradePokemon, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq CableClub_EventScript_AbortLink + call CableClub_EventScript_CheckPartyTradeRequirements compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27778B - goto_if_set FLAG_VISITED_MAUVILLE_CITY, OldaleTown_PokemonCenter_2F_EventScript_27773E - multichoice 0, 0, 78, 0 - switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D - case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B - case 2, OldaleTown_PokemonCenter_2F_EventScript_2778F7 - case 3, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink + setvar VAR_0x8004, LINK_GROUP_TRADE + goto CableClub_EventScript_SaveAndChooseLinkLeader end -OldaleTown_PokemonCenter_2F_EventScript_27773E:: @ 827773E - multichoice 0, 0, 79, 0 - switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D - case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B - case 2, OldaleTown_PokemonCenter_2F_EventScript_2778D9 - case 3, OldaleTown_PokemonCenter_2F_EventScript_2778F7 - case 4, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC - end - -OldaleTown_PokemonCenter_2F_EventScript_27778B:: @ 827778B - goto_if_set FLAG_VISITED_MAUVILLE_CITY, OldaleTown_PokemonCenter_2F_EventScript_2777CB - multichoice 0, 0, 75, 0 - switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D - case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B - case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC - end - -OldaleTown_PokemonCenter_2F_EventScript_2777CB:: @ 82777CB - multichoice 0, 0, 77, 0 - switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D - case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B - case 2, OldaleTown_PokemonCenter_2F_EventScript_2778D9 - case 3, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC - end - -OldaleTown_PokemonCenter_2F_EventScript_27780D:: @ 827780D - msgbox OldaleTown_PokemonCenter_2F_Text_27909D, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC - call OldaleTown_PokemonCenter_2F_EventScript_277199 - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC - setvar VAR_0x8004, 3 - goto OldaleTown_PokemonCenter_2F_EventScript_277931 - end - -OldaleTown_PokemonCenter_2F_EventScript_27783B:: @ 827783B - message OldaleTown_PokemonCenter_2F_Text_2790BE +CableClub_EventScript_WirelessBattleSelect:: @ 827783B + message CableClub_Text_PlayWhichBattleMode waitmessage - multichoice 0, 0, 18, 0 + multichoice 0, 0, MULTI_BATTLE_MODE, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_27788E - case 1, OldaleTown_PokemonCenter_2F_EventScript_277899 - case 2, OldaleTown_PokemonCenter_2F_EventScript_2778C0 - case 3, OldaleTown_PokemonCenter_2F_EventScript_2778CB - case 4, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_WirelessSingleBattle + case 1, CableClub_EventScript_WirelessDoubleBattle + case 2, CableClub_EventScript_WirelessMultiBattle + case 3, CableClub_EventScript_WirelessBattleInfo + case 4, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_27788E:: @ 827788E - setvar VAR_0x8004, 0 - goto OldaleTown_PokemonCenter_2F_EventScript_277931 +CableClub_EventScript_WirelessSingleBattle:: @ 827788E + setvar VAR_0x8004, LINK_GROUP_SINGLE_BATTLE + goto CableClub_EventScript_SaveAndChooseLinkLeader end -OldaleTown_PokemonCenter_2F_EventScript_277899:: @ 8277899 +CableClub_EventScript_WirelessDoubleBattle:: @ 8277899 special HasEnoughMonsForDoubleBattle - compare VAR_RESULT, 0 - goto_if_ne OldaleTown_PokemonCenter_2F_EventScript_2778B2 - setvar VAR_0x8004, 1 - goto OldaleTown_PokemonCenter_2F_EventScript_277931 + compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS + goto_if_ne CableClub_EventScript_TwoMonsNeededForWirelessDoubleBattle + setvar VAR_0x8004, LINK_GROUP_DOUBLE_BATTLE + goto CableClub_EventScript_SaveAndChooseLinkLeader end -OldaleTown_PokemonCenter_2F_EventScript_2778B2:: @ 82778B2 - msgbox OldaleTown_PokemonCenter_2F_Text_277FEE, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_27783B +CableClub_EventScript_TwoMonsNeededForWirelessDoubleBattle:: @ 82778B2 + msgbox CableClub_Text_NeedTwoMonsForDoubleBattle, MSGBOX_DEFAULT + goto CableClub_EventScript_WirelessBattleSelect end -OldaleTown_PokemonCenter_2F_EventScript_2778C0:: @ 82778C0 - setvar VAR_0x8004, 2 - goto OldaleTown_PokemonCenter_2F_EventScript_277931 +CableClub_EventScript_WirelessMultiBattle:: @ 82778C0 + setvar VAR_0x8004, LINK_GROUP_MULTI_BATTLE + goto CableClub_EventScript_SaveAndChooseLinkLeader end -OldaleTown_PokemonCenter_2F_EventScript_2778CB:: @ 82778CB - msgbox OldaleTown_PokemonCenter_2F_Text_279142, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_27783B +CableClub_EventScript_WirelessBattleInfo:: @ 82778CB + msgbox CableClub_Text_ExplainBattleModes, MSGBOX_DEFAULT + goto CableClub_EventScript_WirelessBattleSelect end -OldaleTown_PokemonCenter_2F_EventScript_2778D9:: @ 82778D9 - msgbox OldaleTown_PokemonCenter_2F_Text_2790E8, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC - setvar VAR_0x8004, 12 - goto OldaleTown_PokemonCenter_2F_EventScript_277931 +CableClub_EventScript_WirelessRecordMix:: @ 82778D9 + msgbox CableClub_Text_AccessRecordCorner, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq CableClub_EventScript_AbortLink + setvar VAR_0x8004, LINK_GROUP_RECORD_CORNER + goto CableClub_EventScript_SaveAndChooseLinkLeader end -OldaleTown_PokemonCenter_2F_EventScript_2778F7:: @ 82778F7 - msgbox OldaleTown_PokemonCenter_2F_Text_279114, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC +CableClub_EventScript_WirelessBerryCrush:: @ 82778F7 + msgbox CableClub_Text_UseBerryCrush, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq CableClub_EventScript_AbortLink special HasAtLeastOneBerry - compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277923 - setvar VAR_0x8004, 5 - goto OldaleTown_PokemonCenter_2F_EventScript_277931 + compare VAR_RESULT, FALSE + goto_if_eq CableClub_EventScript_NeedBerryForBerryCrush + setvar VAR_0x8004, LINK_GROUP_BERRY_CRUSH + goto CableClub_EventScript_SaveAndChooseLinkLeader end -OldaleTown_PokemonCenter_2F_EventScript_277923:: @ 8277923 - msgbox OldaleTown_PokemonCenter_2F_Text_2788FC, MSGBOX_DEFAULT - goto OldaleTown_PokemonCenter_2F_EventScript_2776E3 +CableClub_EventScript_NeedBerryForBerryCrush:: @ 8277923 + msgbox CableClub_Text_NeedBerryForBerryCrush, MSGBOX_DEFAULT + goto CableClub_EventScript_DirectCornerSelectService end -OldaleTown_PokemonCenter_2F_EventScript_277931:: @ 8277931 +CableClub_EventScript_SaveAndChooseLinkLeader:: @ 8277931 call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + goto_if_eq CableClub_EventScript_AbortLink switch VAR_0x8004 - case 3, OldaleTown_PokemonCenter_2F_EventScript_277989 - case 0, OldaleTown_PokemonCenter_2F_EventScript_277989 - case 1, OldaleTown_PokemonCenter_2F_EventScript_277989 - case 2, OldaleTown_PokemonCenter_2F_EventScript_277A16 - case 5, OldaleTown_PokemonCenter_2F_EventScript_277AA3 - case 12, OldaleTown_PokemonCenter_2F_EventScript_277AA3 + case LINK_GROUP_TRADE, CableClub_EventScript_ChooseLinkLeaderFrom2 + case LINK_GROUP_SINGLE_BATTLE, CableClub_EventScript_ChooseLinkLeaderFrom2 + case LINK_GROUP_DOUBLE_BATTLE, CableClub_EventScript_ChooseLinkLeaderFrom2 + case LINK_GROUP_MULTI_BATTLE, CableClub_EventScript_ChooseLinkLeaderFrom4 + case LINK_GROUP_BERRY_CRUSH, CableClub_EventScript_ChooseLinkLeader + case LINK_GROUP_RECORD_CORNER, CableClub_EventScript_ChooseLinkLeader end -OldaleTown_PokemonCenter_2F_EventScript_277989:: @ 8277989 - message OldaleTown_PokemonCenter_2F_Text_2792CD +CableClub_EventScript_ChooseLinkLeaderFrom2:: @ 8277989 + message CableClub_Text_ChooseGroupLeaderOfTwo waitmessage - multichoice 16, 6, 81, 0 + multichoice 16, 6, MULTI_LINK_LEADER, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_2779EE - case 1, OldaleTown_PokemonCenter_2F_EventScript_2779C6 - case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_TryJoinGroup2Players + case 1, CableClub_EventScript_TryLeadGroup2Players + case 2, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_2779C6:: @ 82779C6 - call OldaleTown_PokemonCenter_2F_EventScript_277B30 +CableClub_EventScript_TryLeadGroup2Players:: @ 82779C6 + call CableClub_EventScript_TryBecomeLinkLeader compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277989 + goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom2 compare VAR_RESULT, 8 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2779C6 + goto_if_eq CableClub_EventScript_TryLeadGroup2Players release return -OldaleTown_PokemonCenter_2F_EventScript_2779EE:: @ 82779EE - call OldaleTown_PokemonCenter_2F_EventScript_277B35 +CableClub_EventScript_TryJoinGroup2Players:: @ 82779EE + call CableClub_EventScript_TryJoinLinkGroup compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277989 + goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom2 compare VAR_RESULT, 8 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2779EE + goto_if_eq CableClub_EventScript_TryJoinGroup2Players release return -OldaleTown_PokemonCenter_2F_EventScript_277A16:: @ 8277A16 - message OldaleTown_PokemonCenter_2F_Text_279334 +CableClub_EventScript_ChooseLinkLeaderFrom4:: @ 8277A16 + message CableClub_Text_ChooseGroupLeaderOfFour waitmessage - multichoice 16, 6, 81, 0 + multichoice 16, 6, MULTI_LINK_LEADER, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_277A7B - case 1, OldaleTown_PokemonCenter_2F_EventScript_277A53 - case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_TryJoinGroup4Players + case 1, CableClub_EventScript_TryLeadGroup4Players + case 2, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_277A53:: @ 8277A53 - call OldaleTown_PokemonCenter_2F_EventScript_277B30 +CableClub_EventScript_TryLeadGroup4Players:: @ 8277A53 + call CableClub_EventScript_TryBecomeLinkLeader compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A16 + goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom4 compare VAR_RESULT, 8 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A53 + goto_if_eq CableClub_EventScript_TryLeadGroup4Players release return -OldaleTown_PokemonCenter_2F_EventScript_277A7B:: @ 8277A7B - call OldaleTown_PokemonCenter_2F_EventScript_277B35 +CableClub_EventScript_TryJoinGroup4Players:: @ 8277A7B + call CableClub_EventScript_TryJoinLinkGroup compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A16 + goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom4 compare VAR_RESULT, 8 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A7B + goto_if_eq CableClub_EventScript_TryJoinGroup4Players release return -OldaleTown_PokemonCenter_2F_EventScript_277AA3:: @ 8277AA3 - message OldaleTown_PokemonCenter_2F_Text_2793A3 +CableClub_EventScript_ChooseLinkLeader:: @ 8277AA3 + message CableClub_Text_ChooseGroupLeader waitmessage - multichoice 16, 6, 81, 0 + multichoice 16, 6, MULTI_LINK_LEADER, 0 switch VAR_RESULT - case 0, OldaleTown_PokemonCenter_2F_EventScript_277B08 - case 1, OldaleTown_PokemonCenter_2F_EventScript_277AE0 - case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC - case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 0, CableClub_EventScript_TryJoinGroupXPlayers + case 1, CableClub_EventScript_TryLeadGroupXPlayers + case 2, CableClub_EventScript_AbortLink + case MULTI_B_PRESSED, CableClub_EventScript_AbortLink end -OldaleTown_PokemonCenter_2F_EventScript_277AE0:: @ 8277AE0 - call OldaleTown_PokemonCenter_2F_EventScript_277B30 +CableClub_EventScript_TryLeadGroupXPlayers:: @ 8277AE0 + call CableClub_EventScript_TryBecomeLinkLeader compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3 + goto_if_eq CableClub_EventScript_ChooseLinkLeader compare VAR_RESULT, 8 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277AE0 + goto_if_eq CableClub_EventScript_TryLeadGroupXPlayers release return -OldaleTown_PokemonCenter_2F_EventScript_277B08:: @ 8277B08 - call OldaleTown_PokemonCenter_2F_EventScript_277B35 +CableClub_EventScript_TryJoinGroupXPlayers:: @ 8277B08 + call CableClub_EventScript_TryJoinLinkGroup compare VAR_RESULT, 1 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom compare VAR_RESULT, 5 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3 + goto_if_eq CableClub_EventScript_ChooseLinkLeader compare VAR_RESULT, 8 - goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B08 + goto_if_eq CableClub_EventScript_TryJoinGroupXPlayers release return -BattleFrontier_BattleTowerLobby_EventScript_277B30:: @ 8277B30 -MossdeepCity_GameCorner_1F_EventScript_277B30:: @ 8277B30 -OldaleTown_PokemonCenter_2F_EventScript_277B30:: @ 8277B30 - special BerryBlenderLinkBecomeLeader +CableClub_EventScript_TryBecomeLinkLeader:: @ 8277B30 + special TryBecomeLinkLeader waitstate return -BattleFrontier_BattleTowerLobby_EventScript_277B35:: @ 8277B35 -MossdeepCity_GameCorner_1F_EventScript_277B35:: @ 8277B35 -OldaleTown_PokemonCenter_2F_EventScript_277B35:: @ 8277B35 - special BerryBlenderLinkJoinGroup +CableClub_EventScript_TryJoinLinkGroup:: @ 8277B35 + special TryJoinLinkGroup waitstate return -OldaleTown_PokemonCenter_2F_EventScript_277B3A:: @ 8277B3A - messageautoscroll OldaleTown_PokemonCenter_2F_Text_2781A5 +CableClub_EventScript_EnterWirelessLinkRoom:: @ 8277B3A + messageautoscroll CableClub_Text_DirectYouToYourRoom waitmessage delay 60 closemessage copyvar VAR_0x8007, VAR_LAST_TALKED - call OldaleTown_PokemonCenter_2F_EventScript_277BE4 + call CableClub_EventScript_OpenDirectCornerBarrier special DrawWholeMapView playse SE_TK_KASYA delay 60 - applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D + applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 closemessage - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft waitmovement 0 opendoor 9, 1 waitdooranim - applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterLinkRoom waitmovement 0 - hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, 0 closedoor 9, 1 waitdooranim release @@ -1373,730 +1305,229 @@ OldaleTown_PokemonCenter_2F_EventScript_277B3A:: @ 8277B3A EventScript_WirelessBoxResults:: @ 8277B8A lockall - goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_27733F + goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_NotReadyYet specialvar VAR_RESULT, IsWirelessAdapterConnected - compare VAR_RESULT, 0 - goto_if_eq EventScript_277BB4 - fadescreen 1 + compare VAR_RESULT, FALSE + goto_if_eq CableClub_EventScript_AdapterNotConnected + fadescreen FADE_TO_BLACK special sub_801A42C waitstate - msgbox OldaleTown_PokemonCenter_2F_Text_27874F, MSGBOX_DEFAULT + msgbox CableClub_Text_ParticipantsStepUpToCounter, MSGBOX_DEFAULT releaseall end -EventScript_277BB4:: @ 8277BB4 - msgbox OldaleTown_PokemonCenter_2F_Text_27871F, MSGBOX_DEFAULT +CableClub_EventScript_AdapterNotConnected:: @ 8277BB4 + msgbox CableClub_Text_AdapterNotConnected, MSGBOX_DEFAULT releaseall end -OldaleTown_PokemonCenter_2F_EventScript_277BBE:: @ 8277BBE +CableClub_EventScript_OpenUnionRoomBarrier:: @ 8277BBE setmetatile 5, 2, METATILE_PokemonCenter_Floor_ShadowTop_Alt, 0 setmetatile 5, 3, METATILE_PokemonCenter_Floor_Plain_Alt, 0 return -OldaleTown_PokemonCenter_2F_EventScript_277BD1:: @ 8277BD1 +CableClub_EventScript_CloseUnionRoomBarrier:: @ 8277BD1 setmetatile 5, 2, METATILE_PokemonCenter_Floor_ShadowTop, 1 setmetatile 5, 3, METATILE_PokemonCenter_CounterBarrier, 1 return -OldaleTown_PokemonCenter_2F_EventScript_277BE4:: @ 8277BE4 +CableClub_EventScript_OpenDirectCornerBarrier:: @ 8277BE4 setmetatile 9, 2, METATILE_PokemonCenter_Floor_ShadowTop_Alt, 0 setmetatile 9, 3, METATILE_PokemonCenter_Floor_Plain_Alt, 0 return -OldaleTown_PokemonCenter_2F_EventScript_277BF7:: @ 8277BF7 +CableClub_EventScript_CloseDirectCornerBarrier:: @ 8277BF7 setmetatile 9, 2, METATILE_PokemonCenter_Floor_ShadowTop, 1 setmetatile 9, 3, METATILE_PokemonCenter_CounterBarrier, 1 return -MossdeepCity_GameCorner_1F_EventScript_277C0A:: @ 8277C0A -OldaleTown_PokemonCenter_2F_EventScript_277C0A:: @ 8277C0A +EventScript_OpenMossdeepGameCornerBarrier:: @ 8277C0A setmetatile 5, 2, METATILE_MossdeepGameCorner_CounterOpen_Top, 0 setmetatile 5, 3, METATILE_MossdeepGameCorner_CounterOpen_Bottom, 0 return -OldaleTown_PokemonCenter_2F_EventScript_277C1D:: @ 8277C1D +EventScript_CloseMossdeepGameCornerBarrier:: @ 8277C1D setmetatile 5, 2, METATILE_MossdeepGameCorner_CounterClosed_Top, 1 setmetatile 5, 3, METATILE_MossdeepGameCorner_CounterClosed_Bottom, 1 return -BattleFrontier_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -DewfordTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -EverGrandeCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -EverGrandeCity_PokemonLeague_1F_MapScript1_277C30: @ 8277C30 -FallarborTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -FortreeCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -LavaridgeTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -LilycoveCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -MauvilleCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -MossdeepCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -OldaleTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -PacifidlogTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -PetalburgCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -RustboroCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -SlateportCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -SootopolisCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 -VerdanturfTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 - special sub_8016934 +CableClub_OnResume: @ 8277C30 + special InitUnionRoom end -MossdeepCity_GameCorner_1F_EventScript_277C34:: @ 8277C34 +MossdeepCity_GameCorner_1F_EventScript_InfoMan2:: @ 8277C34 lock faceplayer - message MossdeepCity_GameCorner_1F_Text_278A7D + message MossdeepCity_GameCorner_1F_Text_DescribeWhichGame waitmessage - multichoice 0, 0, 80, 0 + multichoice 0, 0, MULTI_WIRELESS_MINIGAME, 0 switch VAR_RESULT - case 0, MossdeepCity_GameCorner_1F_EventScript_277C73 - case 1, MossdeepCity_GameCorner_1F_EventScript_277C7D - case 2, MossdeepCity_GameCorner_1F_EventScript_277C87 - case 127, MossdeepCity_GameCorner_1F_EventScript_277C87 + case 0, MossdeepCity_GameCorner_1F_EventScript_PokemonJumpInfo + case 1, MossdeepCity_GameCorner_1F_EventScript_DodrioBerryPickingInfo + case 2, MossdeepCity_GameCorner_1F_EventScript_MinigameInfoExit + case MULTI_B_PRESSED, MossdeepCity_GameCorner_1F_EventScript_MinigameInfoExit end -MossdeepCity_GameCorner_1F_EventScript_277C73:: @ 8277C73 - msgbox MossdeepCity_GameCorner_1F_Text_278ACB, MSGBOX_DEFAULT +MossdeepCity_GameCorner_1F_EventScript_PokemonJumpInfo:: @ 8277C73 + msgbox MossdeepCity_GameCorner_1F_Text_PokemonJumpInfo, MSGBOX_DEFAULT release end -MossdeepCity_GameCorner_1F_EventScript_277C7D:: @ 8277C7D - msgbox MossdeepCity_GameCorner_1F_Text_278BF1, MSGBOX_DEFAULT +MossdeepCity_GameCorner_1F_EventScript_DodrioBerryPickingInfo:: @ 8277C7D + msgbox MossdeepCity_GameCorner_1F_Text_DodrioBerryPickingInfo, MSGBOX_DEFAULT release end -MossdeepCity_GameCorner_1F_EventScript_277C87:: @ 8277C87 - msgbox MossdeepCity_GameCorner_1F_Text_278CAC, MSGBOX_DEFAULT +MossdeepCity_GameCorner_1F_EventScript_MinigameInfoExit:: @ 8277C87 + msgbox MossdeepCity_GameCorner_1F_Text_TalkToOldManToPlay, MSGBOX_DEFAULT release end -MossdeepCity_GameCorner_1F_EventScript_277C91:: @ 8277C91 +MossdeepCity_GameCorner_1F_EventScript_OldMan2:: @ 8277C91 lock faceplayer - message MossdeepCity_GameCorner_1F_Text_278CEB + message MossdeepCity_GameCorner_1F_Text_WelcomeCanYouWait waitmessage specialvar VAR_RESULT, IsWirelessAdapterConnected - compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E48 + compare VAR_RESULT, FALSE + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_AdapterNotConnected delay 60 - message MossdeepCity_GameCorner_1F_Text_278DAD + message MossdeepCity_GameCorner_1F_Text_PlayWhichGame waitmessage - multichoice 0, 0, 80, 0 + multichoice 0, 0, MULTI_WIRELESS_MINIGAME, 0 switch VAR_RESULT - case 0, MossdeepCity_GameCorner_1F_EventScript_277CE9 - case 1, MossdeepCity_GameCorner_1F_EventScript_277D35 - case 2, MossdeepCity_GameCorner_1F_EventScript_2772F9 - case 127, MossdeepCity_GameCorner_1F_EventScript_2772F9 + case 0, MossdeepCity_GameCorner_1F_EventScript_PlayPokemonJump + case 1, MossdeepCity_GameCorner_1F_EventScript_PlayDodrioBerryPicking + case 2, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame + case MULTI_B_PRESSED, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame end -MossdeepCity_GameCorner_1F_EventScript_277CE9:: @ 8277CE9 +MossdeepCity_GameCorner_1F_EventScript_PlayPokemonJump:: @ 8277CE9 setvar VAR_0x8005, 0 - special sub_802C920 - compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E55 - msgbox MossdeepCity_GameCorner_1F_Text_278DD9, MSGBOX_DEFAULT - fadescreen 1 + special IsPokemonJumpSpeciesInParty + compare VAR_RESULT, FALSE + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_DontHaveRequiredMon + msgbox MossdeepCity_GameCorner_1F_Text_EnterWhichPokemon, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK setvar VAR_0x8005, 0 - special sub_81B8958 + special ChooseMonForWirelessMinigame waitstate - compare VAR_0x8004, 6 - goto_if_ge MossdeepCity_GameCorner_1F_EventScript_2772F9 + compare VAR_0x8004, PARTY_SIZE + goto_if_ge MossdeepCity_GameCorner_1F_EventScript_AbortMinigame call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_2772F9 - setvar VAR_0x8004, 4 - goto MossdeepCity_GameCorner_1F_EventScript_277D81 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_AbortMinigame + setvar VAR_0x8004, LINK_GROUP_POKEMON_JUMP + goto MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader end -MossdeepCity_GameCorner_1F_EventScript_277D35:: @ 8277D35 +MossdeepCity_GameCorner_1F_EventScript_PlayDodrioBerryPicking:: @ 8277D35 setvar VAR_0x8005, 1 - special sub_8027A5C - compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E55 - msgbox MossdeepCity_GameCorner_1F_Text_278DD9, MSGBOX_DEFAULT - fadescreen 1 + special IsDodrioInParty + compare VAR_RESULT, FALSE + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_DontHaveRequiredMon + msgbox MossdeepCity_GameCorner_1F_Text_EnterWhichPokemon, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK setvar VAR_0x8005, 1 - special sub_81B8958 + special ChooseMonForWirelessMinigame waitstate - compare VAR_0x8004, 6 - goto_if_ge MossdeepCity_GameCorner_1F_EventScript_2772F9 + compare VAR_0x8004, PARTY_SIZE + goto_if_ge MossdeepCity_GameCorner_1F_EventScript_AbortMinigame call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_2772F9 - setvar VAR_0x8004, 6 - goto MossdeepCity_GameCorner_1F_EventScript_277D81 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_AbortMinigame + setvar VAR_0x8004, LINK_GROUP_BERRY_PICKING + goto MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader end -MossdeepCity_GameCorner_1F_EventScript_277D81:: @ 8277D81 - message MossdeepCity_GameCorner_1F_Text_2793A3 +MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader:: @ 8277D81 + message CableClub_Text_ChooseGroupLeader waitmessage - multichoice 16, 6, 81, 0 + multichoice 16, 6, MULTI_LINK_LEADER, 0 switch VAR_RESULT - case 0, MossdeepCity_GameCorner_1F_EventScript_277DE6 - case 1, MossdeepCity_GameCorner_1F_EventScript_277DBE - case 2, MossdeepCity_GameCorner_1F_EventScript_2772F9 - case 127, MossdeepCity_GameCorner_1F_EventScript_2772F9 + case 0, MossdeepCity_GameCorner_1F_EventScript_TryJoinLinkGroup + case 1, MossdeepCity_GameCorner_1F_EventScript_TryBecomeLinkLeader + case 2, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame + case MULTI_B_PRESSED, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame end -MossdeepCity_GameCorner_1F_EventScript_277DBE:: @ 8277DBE - call MossdeepCity_GameCorner_1F_EventScript_277B30 +MossdeepCity_GameCorner_1F_EventScript_TryBecomeLinkLeader:: @ 8277DBE + call CableClub_EventScript_TryBecomeLinkLeader compare VAR_RESULT, 1 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E0E + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom compare VAR_RESULT, 5 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277D81 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader compare VAR_RESULT, 8 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277DBE + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_TryBecomeLinkLeader release return -MossdeepCity_GameCorner_1F_EventScript_277DE6:: @ 8277DE6 - call MossdeepCity_GameCorner_1F_EventScript_277B35 +MossdeepCity_GameCorner_1F_EventScript_TryJoinLinkGroup:: @ 8277DE6 + call CableClub_EventScript_TryJoinLinkGroup compare VAR_RESULT, 1 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E0E + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom compare VAR_RESULT, 5 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277D81 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader compare VAR_RESULT, 8 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277DE6 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_TryJoinLinkGroup release return -MossdeepCity_GameCorner_1F_EventScript_277E0E:: @ 8277E0E - messageautoscroll MossdeepCity_GameCorner_1F_Text_278E00 +MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom:: @ 8277E0E + messageautoscroll MossdeepCity_GameCorner_1F_Text_AllGoodToGo waitmessage delay 60 closemessage copyvar VAR_0x8007, VAR_LAST_TALKED - call MossdeepCity_GameCorner_1F_EventScript_277C0A + call EventScript_OpenMossdeepGameCornerBarrier special DrawWholeMapView playse SE_TK_KASYA delay 60 - applymovement VAR_LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_27734D + applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 closemessage - applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_GameCorner_1F_Movement_277360 + applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterMinigameRoom waitmovement 0 - hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY + hideobjectat EVENT_OBJ_ID_PLAYER, 0 release waitstate end -MossdeepCity_GameCorner_1F_EventScript_277E48:: @ 8277E48 +MossdeepCity_GameCorner_1F_EventScript_AdapterNotConnected:: @ 8277E48 delay 60 - msgbox MossdeepCity_GameCorner_1F_Text_278D68, MSGBOX_DEFAULT + msgbox MossdeepCity_GameCorner_1F_Text_AdapterNotConnected, MSGBOX_DEFAULT release end -MossdeepCity_GameCorner_1F_EventScript_277E55:: @ 8277E55 - msgbox MossdeepCity_GameCorner_1F_Text_278E60, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MossdeepCity_GameCorner_1F_EventScript_2772F9 +MossdeepCity_GameCorner_1F_EventScript_DontHaveRequiredMon:: @ 8277E55 + msgbox MossdeepCity_GameCorner_1F_Text_ExplainRequiredMon, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_AbortMinigame compare VAR_0x8005, 0 - call_if_eq MossdeepCity_GameCorner_1F_EventScript_277E84 + call_if_eq MossdeepCity_GameCorner_1F_EventScript_ExplainPokemonJumpRequirements compare VAR_0x8005, 1 - call_if_eq MossdeepCity_GameCorner_1F_EventScript_277E8D - goto MossdeepCity_GameCorner_1F_EventScript_2772F9 + call_if_eq MossdeepCity_GameCorner_1F_EventScript_ExplainDodrioBerryPickingRequirements + goto MossdeepCity_GameCorner_1F_EventScript_AbortMinigame end -MossdeepCity_GameCorner_1F_EventScript_277E84:: @ 8277E84 - msgbox MossdeepCity_GameCorner_1F_Text_278EDC, MSGBOX_DEFAULT +MossdeepCity_GameCorner_1F_EventScript_ExplainPokemonJumpRequirements:: @ 8277E84 + msgbox MossdeepCity_GameCorner_1F_Text_ShortJumpingPokemonAllowed, MSGBOX_DEFAULT return -MossdeepCity_GameCorner_1F_EventScript_277E8D:: @ 8277E8D - msgbox MossdeepCity_GameCorner_1F_Text_278FA4, MSGBOX_DEFAULT +MossdeepCity_GameCorner_1F_EventScript_ExplainDodrioBerryPickingRequirements:: @ 8277E8D + msgbox MossdeepCity_GameCorner_1F_Text_OnlyDodrioAllowed, MSGBOX_DEFAULT return -MossdeepCity_GameCorner_1F_EventScript_277E96:: @ 8277E96 +MossdeepCity_GameCorner_1F_EventScript_PokemonJumpRecords:: @ 8277E96 lockall - special sub_802E3C4 + special ShowPokemonJumpRecords waitstate releaseall end -MossdeepCity_GameCorner_1F_EventScript_277E9D:: @ 8277E9D +MossdeepCity_GameCorner_1F_EventScript_DodrioBerryPickingRecords:: @ 8277E9D lockall - special sub_8027AAC + special ShowDodrioBerryPickingRecords waitstate releaseall end -OldaleTown_PokemonCenter_2F_Text_277EA4: @ 8277EA4 - .string "Welcome to the POKéMON CABLE\n" - .string "CLUB.\p" - .string "Which of our services do you wish\n" - .string "to use?$" - -OldaleTown_PokemonCenter_2F_Text_277EF1: @ 8277EF1 - .string "Which of our services do you wish\n" - .string "to use?$" - -OldaleTown_PokemonCenter_2F_Text_277F1B:: @ 8277F1B - .string "Trade POKéMON with another player\n" - .string "using a GBA Game Link cable.$" - -OldaleTown_PokemonCenter_2F_Text_277F5A:: @ 8277F5A - .string "You may battle another TRAINER\n" - .string "using a GBA Game Link cable.$" - -OldaleTown_PokemonCenter_2F_Text_277F96:: @ 8277F96 - .string "You can use the RECORD CORNER with\n" - .string "others using a GBA Game Link cable.$" - -OldaleTown_PokemonCenter_2F_Text_277FDD: @ 8277FDD - .string "Close this menu.$" - -OldaleTown_PokemonCenter_2F_Text_277FEE: @ 8277FEE - .string "For a DOUBLE BATTLE, you must\n" - .string "have at least two POKéMON.$" - -OldaleTown_PokemonCenter_2F_Text_278027: @ 8278027 - .string "For trading, you must have at\n" - .string "least two POKéMON with you.$" - -OldaleTown_PokemonCenter_2F_Text_278061: @ 8278061 - .string "A POKéMON holding the {STR_VAR_1}\n" - .string "BERRY can't be traded.$" - -gText_PleaseWaitForLink:: @ 8278091 - .string "Please wait.\n" - .string "… … B Button: Cancel$" - -gText_ConfirmLinkWhenPlayersReady:: @ 82780B3 - .string "When all players are ready…\n" - .string "A Button: Confirm\l" - .string "B Button: Cancel$" - -gText_ConfirmStartLinkWithXPlayers:: @ 82780F2 - .string "Start link with {STR_VAR_1} players.\n" - .string "A Button: Confirm\l" - .string "B Button: Cancel$" - -gText_AwaitingLinkup:: @ 8278131 - .string "Awaiting linkup…\n" - .string "… … B Button: Cancel$" - -OldaleTown_PokemonCenter_2F_Text_278157:: @ 8278157 - .string "Your progress must be saved before\n" - .string "linking. Is it okay to save?$" - -OldaleTown_PokemonCenter_2F_Text_278197: @ 8278197 - .string "Please enter.$" - -OldaleTown_PokemonCenter_2F_Text_2781A5: @ 82781A5 - .string "I'll direct you to your room now.$" - -LilycoveCity_ContestLobby_Text_2781C7: @ 82781C7 -OldaleTown_PokemonCenter_2F_Text_2781C7: @ 82781C7 - .string "Someone is not ready to link.\p" - .string "Please come back after everyone\n" - .string "has made preparations.$" - -LilycoveCity_ContestLobby_Text_27821C: @ 827821C -OldaleTown_PokemonCenter_2F_Text_27821C: @ 827821C - .string "Sorry, we have a link error…\n" - .string "Please reset and try again.$" - -BattleFrontier_BattleTowerLobby_Text_278255: @ 8278255 -LilycoveCity_ContestLobby_Text_278255: @ 8278255 -OldaleTown_PokemonCenter_2F_Text_278255: @ 8278255 - .string "The link partners appear to have\n" - .string "made different selections.$" - -OldaleTown_PokemonCenter_2F_Text_278291: @ 8278291 - .string "Please do visit again.$" - -BattleFrontier_BattleTowerLobby_Text_2782A8: @ 82782A8 -OldaleTown_PokemonCenter_2F_Text_2782A8: @ 82782A8 - .string "The number of participants is\n" - .string "incorrect.$" - -OldaleTown_PokemonCenter_2F_Text_2782D1: @ 82782D1 - .string "The SINGLE BATTLE Mode can't be\n" - .string "played by {STR_VAR_1} players.$" - -OldaleTown_PokemonCenter_2F_Text_278307: @ 8278307 - .string "The DOUBLE BATTLE Mode can't be\n" - .string "played by {STR_VAR_1} players.$" - -OldaleTown_PokemonCenter_2F_Text_27833D: @ 827833D - .string "There must be four players to play\n" - .string "this Battle Mode.$" - -OldaleTown_PokemonCenter_2F_Text_278372: @ 8278372 - .string "Please confirm the number of\n" - .string "players and start again.$" - -Text_TerminateLinkConfirmation: @ 82783A8 - .string "The link will be terminated if you\n" - .string "leave the room. Is that okay?$" - -Text_TerminateLinkPleaseWait: @ 82783E9 - .string "Terminating link…\n" - .string "You will be escorted out of\l" - .string "the room. Please wait.$" - -Text_27842E: @ 827842E - .string "This TRAINER is too busy to\n" - .string "notice…$" - -Text_278452: @ 8278452 - .string "Score! Got to look at {STR_VAR_1}'s\n" - .string "TRAINER CARD!$" - -Text_27847B: @ 827847B - .string "Score! Got to look at {STR_VAR_1}'s\n" - .string "TRAINER CARD!\p" - .string "It's a {STR_VAR_2} card!$" - -SingleBattleColosseum_Text_2784B4: @ 82784B4 - .string "Please take your place and start\n" - .string "your battle.$" - -TradeCenter_Text_2784E2: @ 82784E2 - .string "Please take your seat and start\n" - .string "your trade.$" - -RecordCorner_Text_27850E: @ 827850E - .string "Thanks for coming.$" - -OldaleTown_PokemonCenter_2F_Text_278521: @ 8278521 - .string "The TRAINER CARD data will\n" - .string "be overwritten.$" - -OldaleTown_PokemonCenter_2F_Text_27854C: @ 827854C - .string "I hope to see you again!$" - -OldaleTown_PokemonCenter_2F_Text_278565: @ 8278565 - .string "I'm awfully sorry.\p" - .string "We're not set up to conduct trades\n" - .string "with TRAINERS far away in another\l" - .string "region yet…$" - -OldaleTown_PokemonCenter_2F_Text_2785C9: @ 82785C9 - .string "The other TRAINER is not ready.$" - -OldaleTown_PokemonCenter_2F_Text_2785E9: @ 82785E9 - .string "You have at least one POKéMON\n" - .string "that can't be taken.$" - -RecordCorner_Text_27861C: @ 827861C - .string "Please take your seat and wait.$" - -RecordCorner_Text_27863C: @ 827863C - .string "{STR_VAR_1} sent over one\n" - .string "{STR_VAR_2}.$" - -OldaleTown_PokemonCenter_2F_Text_278651: @ 8278651 - .string "Sorry, there is a transmission error.\p" - .string "You may not mix records with \n" - .string "Japanese Ruby or Sapphire games.\p" - .string "Also, you can't mix records with\n" - .string "Japanese Emerald and overseas Ruby\l" - .string "or Sapphire games at the same time.$" - -OldaleTown_PokemonCenter_2F_Text_27871F: @ 827871F - .string "The Wireless Adapter is not\n" - .string "connected properly.$" - -OldaleTown_PokemonCenter_2F_Text_27874F: @ 827874F - .string "Participants are asked to step up\n" - .string "to the reception counter.$" - -OldaleTown_PokemonCenter_2F_Text_27878B: @ 827878B - .string "Hello!$" - -OldaleTown_PokemonCenter_2F_Text_278792: @ 8278792 - .string "Please wait.$" - -OldaleTown_PokemonCenter_2F_Text_27879F:: @ 827879F - .string "You may trade your POKéMON here\n" - .string "with another TRAINER.$" - -OldaleTown_PokemonCenter_2F_Text_2787D5:: @ 82787D5 - .string "You may battle with your friends\n" - .string "here.$" - -OldaleTown_PokemonCenter_2F_Text_2787FC:: @ 82787FC - .string "Two to five TRAINERS can make\n" - .string "BERRY POWDER together.$" - -OldaleTown_PokemonCenter_2F_Text_278831:: @ 8278831 - .string "The records of two to four players\n" - .string "can be mixed together.$" - -OldaleTown_PokemonCenter_2F_Text_27886B: @ 827886B - .string "A guide to the WIRELESS CLUB's\n" - .string "various services.$" - -OldaleTown_PokemonCenter_2F_Text_27889C:: @ 827889C - .string "Cancels the selected MENU item.$" - -OldaleTown_PokemonCenter_2F_Text_2788BC: @ 82788BC - .string "Which battle mode would you like?$" - -OldaleTown_PokemonCenter_2F_Text_2788DE: @ 82788DE - .string "Returns to the previous step.$" - -OldaleTown_PokemonCenter_2F_Text_2788FC: @ 82788FC - .string "To use the BERRY CRUSH service,\n" - .string "you must have at least one BERRY.$" - -OldaleTown_PokemonCenter_2F_Text_27893E: @ 827893E - .string "To enter the UNION ROOM, you must\n" - .string "have at least two POKéMON.$" - -OldaleTown_PokemonCenter_2F_Text_27897B: @ 827897B - .string "No POKéMON holding the {STR_VAR_1}\n" - .string "BERRY may enter the UNION ROOM.$" - -OldaleTown_PokemonCenter_2F_Text_2789B5: @ 82789B5 - .string "This is the POKéMON WIRELESS CLUB\n" - .string "UNION ROOM.\p" - .string "Unfortunately, your Wireless\n" - .string "Adapter is not connected properly.\p" - .string "Please do come again.$" - -OldaleTown_PokemonCenter_2F_Text_278A39: @ 8278A39 - .string "Oh…\n" - .string "Excuse me!$" - -OldaleTown_PokemonCenter_1F_Text_278A48: @ 8278A48 - .string "It appears as if {STR_VAR_1} is playing\n" - .string "right now.\l" - .string "Go for it!$" - -MossdeepCity_GameCorner_1F_Text_278A7D: @ 8278A7D - .string "I can explain game rules to you,\n" - .string "if you'd like.\p" - .string "Which game should I describe?$" - -MossdeepCity_GameCorner_1F_Text_278ACB: @ 8278ACB - .string "“POKéMON JUMP”\p" - .string "Make your POKéMON skip the VINE WHIP\n" - .string "rope with the A Button.\p" - .string "Only mini POKéMON around 28 inches\n" - .string "or less may participate.\p" - .string "POKéMON that only swim, burrow,\n" - .string "or fly are not good at jumping.\p" - .string "As a result, those POKéMON may not\n" - .string "participate.\p" - .string "Good things happen if everyone\n" - .string "jumps in time.$" - -MossdeepCity_GameCorner_1F_Text_278BF1: @ 8278BF1 - .string "“DODRIO BERRY-PICKING”\p" - .string "Command DODRIO's three heads to\n" - .string "catch falling BERRIES.\p" - .string "Press right, up, or left on the\n" - .string "{PLUS} Control Pad to move the heads.\p" - .string "To play this game, you must have\n" - .string "a DODRIO.$" - -MossdeepCity_GameCorner_1F_Text_278CAC: @ 8278CAC - .string "If you want to play a game,\n" - .string "please tell the old man beside me.$" - -MossdeepCity_GameCorner_1F_Text_278CEB: @ 8278CEB - .string "Hi, welcome!\n" - .string "Are you here to play games using\l" - .string "Wireless Communication?\p" - .string "Can you wait just a little bit?$" - -MossdeepCity_GameCorner_1F_Text_278D51: @ 8278D51 - .string "All right, come again!$" - -MossdeepCity_GameCorner_1F_Text_278D68: @ 8278D68 - .string "The Wireless Adapter isn't connected.\n" - .string "Come back when it's hooked up!$" - -MossdeepCity_GameCorner_1F_Text_278DAD: @ 8278DAD - .string "All right, which game did you want\n" - .string "to play?$" - -MossdeepCity_GameCorner_1F_Text_278DD9: @ 8278DD9 - .string "Which POKéMON would you like to\n" - .string "enter?$" - -MossdeepCity_GameCorner_1F_Text_278E00: @ 8278E00 - .string "Okay, you're all good to go.\n" - .string "Don't let the others beat you!$" - -MossdeepCity_GameCorner_1F_Text_278E3C: @ 8278E3C - .string "Are you leaving now?\n" - .string "Do come again!$" - -MossdeepCity_GameCorner_1F_Text_278E60: @ 8278E60 - .string "It doesn't look like you have any\n" - .string "POKéMON that you can enter…\p" - .string "Would you like me to explain what\n" - .string "kinds of POKéMON can enter?$" - -MossdeepCity_GameCorner_1F_Text_278EDC: @ 8278EDC - .string "“POKéMON JUMP” is open to POKéMON\n" - .string "around 28 inches or less.\p" - .string "What you can't enter are those\n" - .string "POKéMON that can't jump.\p" - .string "You know, like POKéMON that only\n" - .string "swim, burrow, or fly.\p" - .string "That's all you need to know.$" - -MossdeepCity_GameCorner_1F_Text_278FA4: @ 8278FA4 - .string "DODRIO BERRY-PICKING is a game that \n" - .string "only DODRIO may enter.$" - -MossdeepCity_GameCorner_1F_Text_278FE0: @ 8278FE0 - .string "Could you retry this from the start\n" - .string "again, please?$" - -OldaleTown_PokemonCenter_2F_Text_279013: @ 8279013 - .string "Welcome to the POKéMON WIRELESS\n" - .string "CLUB DIRECT CORNER.\p" - .string "You may interact directly with\n" - .string "your friends here.\p" - .string "Which room would you like to\n" - .string "enter?$" - -OldaleTown_PokemonCenter_2F_Text_27909D: @ 827909D - .string "Would you like to trade POKéMON?$" - -OldaleTown_PokemonCenter_2F_Text_2790BE: @ 82790BE - .string "Which Battle Mode would you like\n" - .string "to play?$" - -OldaleTown_PokemonCenter_2F_Text_2790E8: @ 82790E8 - .string "Would you like to access\n" - .string "the RECORD CORNER?$" - -OldaleTown_PokemonCenter_2F_Text_279114: @ 8279114 - .string "Would you like to use the\n" - .string "BERRY CRUSH System?$" - -OldaleTown_PokemonCenter_2F_Text_279142: @ 8279142 - .string "There are three Battle Modes.\p" - .string "SINGLE BATTLE is for two TRAINERS\n" - .string "with one or more POKéMON each.\p" - .string "Each TRAINER can have one POKéMON\n" - .string "in battle at a time.\p" - .string "DOUBLE BATTLE is for two TRAINERS\n" - .string "with two or more POKéMON each.\p" - .string "Each TRAINER will send out two\n" - .string "POKéMON in battle at a time.\p" - .string "MULTI BATTLE is for four TRAINERS\n" - .string "with one or more POKéMON each.\p" - .string "Each TRAINER can have one POKéMON\n" - .string "in battle at a time.$" - -BattleFrontier_BattleTowerLobby_Text_2792CD: @ 82792CD -OldaleTown_PokemonCenter_2F_Text_2792CD: @ 82792CD - .string "Please decide which of you two\n" - .string "will become the LEADER.\p" - .string "The other player must then choose\n" - .string "“JOIN GROUP.”$" - -OldaleTown_PokemonCenter_2F_Text_279334: @ 8279334 - .string "Please decide which of you four\n" - .string "will become the GROUP LEADER.\p" - .string "The other players must then choose\n" - .string "“JOIN GROUP.”$" - -MossdeepCity_GameCorner_1F_Text_2793A3: @ 82793A3 -OldaleTown_PokemonCenter_2F_Text_2793A3: @ 82793A3 - .string "Please decide which of you will\n" - .string "become the GROUP LEADER.\p" - .string "The other players must then choose\n" - .string "“JOIN GROUP.”$" - -OldaleTown_PokemonCenter_2F_Text_27940D: @ 827940D - .string "Welcome to the POKéMON WIRELESS\n" - .string "CLUB UNION ROOM.\p" - .string "You may interact directly with\n" - .string "other TRAINERS here, some of\l" - .string "whom you may not even know.\p" - .string "Would you like to enter the ROOM?$" - -OldaleTown_PokemonCenter_2F_Text_2794B8: @ 82794B8 - .string "The TRAINERS in the UNION ROOM\n" - .string "will be those players around you\l" - .string "who have also entered the ROOM.\p" - .string "You may do all sorts of things\n" - .string "here, such as exchanging greetings.\p" - .string "You may enter two POKéMON up to\n" - .string "Lv. 30 for a one-on-one battle.\p" - .string "You may take part in a chat with\n" - .string "two to five people.\p" - .string "Or, you may register a POKéMON for\n" - .string "trade.\p" - .string "Would you like to enter the ROOM?$" - -OldaleTown_PokemonCenter_2F_Text_27961C: @ 827961C - .string "I hope you enjoy your time in\n" - .string "the UNION ROOM.$" - -OldaleTown_PokemonCenter_2F_Text_27964A: @ 827964A - .string "Hello!\n" - .string "My name is TEALA.\p" - .string "This must be your first time\n" - .string "up here.\p" - .string "I'll show you how the Wireless\n" - .string "Communication System works.\p" - .string "First, I need to show you this\n" - .string "floor of our POKéMON CENTER.\p" - .string "Right this way, please.$" - -OldaleTown_PokemonCenter_2F_Text_279718: @ 8279718 - .string "On the top floor, there are two\n" - .string "rooms.\p" - .string "First, the room on the left.\n" - .string "It's the UNION ROOM.\p" - .string "You may link up with TRAINERS\n" - .string "around you who have also entered\l" - .string "the UNION ROOM.\p" - .string "With them, you may do things like\n" - .string "chat, battle, and trade.\p" - .string "Second, the room on the right is\n" - .string "the DIRECT CORNER.\p" - .string "You may trade or battle POKéMON\n" - .string "with your friends in this room.\p" - .string "If the Wireless Adapter isn't\n" - .string "connected, you may still link up\l" - .string "using a GBA Game Link cable.\p" - .string "If that is the case, you must go\n" - .string "to the DIRECT CORNER.\p" - .string "I hope you enjoy the Wireless \n" - .string "Communication System.$" - -OldaleTown_PokemonCenter_2F_Text_279937: @ 8279937 - .string "Hello, {PLAYER}!\p" - .string "It's me, TEALA, the POKéMON\n" - .string "CENTER 2F attendant.\p" - .string "Is there something you needed to\n" - .string "ask me about linking?$" - -OldaleTown_PokemonCenter_2F_Text_2799AA: @ 82799AA - .string "Let me explain how the POKéMON\n" - .string "WIRELESS CLUB works.\p" - .string "On this, the top floor, there are\n" - .string "two rooms.\p" - .string "First, the room on the left.\n" - .string "It's the UNION ROOM.\p" - .string "You may link up with TRAINERS\n" - .string "around you who have also entered\l" - .string "the UNION ROOM.\p" - .string "With them, you may do things like\n" - .string "chat, battle, and trade.\p" - .string "Second, the room on the right is\n" - .string "the DIRECT CORNER.\p" - .string "You may trade or battle POKéMON\n" - .string "with your friends in this room.\p" - .string "Sometimes, you may not be able to\n" - .string "find your friends in the UNION ROOM\l" - .string "or the DIRECT CORNER.\p" - .string "In that case, please move closer\n" - .string "to your friends.\p" - .string "If the Wireless Adapter isn't\n" - .string "connected, you may still link up\l" - .string "using a GBA Game Link cable.\p" - .string "If that is the case, you must go\n" - .string "to the DIRECT CORNER.\p" - .string "I hope you enjoy the Wireless \n" - .string "Communication System.$" - -OldaleTown_PokemonCenter_2F_Text_279C91: @ 8279C91 - .string "I hope you enjoy the Wireless\n" - .string "Communication System.$" diff --git a/data/scripts/cave_hole.inc b/data/scripts/cave_hole.inc new file mode 100644 index 0000000000..7f0dd5534e --- /dev/null +++ b/data/scripts/cave_hole.inc @@ -0,0 +1,33 @@ +CaveHole_CheckFallDownHole: @ 82A8327 + map_script_2 VAR_ICE_STEP_COUNT, 0, EventScript_FallDownHole + .2byte 0 + +CaveHole_FixCrackedGround: @ 82A8331 + copyvar VAR_ICE_STEP_COUNT, 1 + end + +EventScript_FallDownHole:: @ 82A8337 + lockall + delay 20 + applymovement EVENT_OBJ_ID_PLAYER, Movement_SetInvisible + waitmovement 0 + playse SE_RU_HYUU + delay 60 + warphole MAP_UNDEFINED + waitstate + end + +EventScript_FallDownHoleMtPyre:: @ 82A8350 + lockall + delay 20 + applymovement EVENT_OBJ_ID_PLAYER, Movement_SetInvisible + waitmovement 0 + playse SE_RU_HYUU + delay 60 + special DoFallWarp + waitstate + end + +Movement_SetInvisible: @ 82A8369 + set_invisible + step_end diff --git a/data/scripts/cave_of_origin.inc b/data/scripts/cave_of_origin.inc new file mode 100644 index 0000000000..52a1da84f2 --- /dev/null +++ b/data/scripts/cave_of_origin.inc @@ -0,0 +1,45 @@ +@ All unused / leftover scripts from RS +CaveOfOrigin_EventScript_LegendaryCry:: @ 8272274 + lockall + waitse + playmoncry SPECIES_KYOGRE, 2 @ SPECIES_GROUDON in Ruby + waitmoncry + setvar VAR_TEMP_5, 1 + releaseall + end + +CaveOfOrigin_EventScript_Shake1:: @ 8272283 + lockall + setvar VAR_TEMP_1, 1 + goto CaveOfOrigin_EventScript_Shake + end + +CaveOfOrigin_EventScript_Shake2:: @ 827228F + lockall + setvar VAR_TEMP_2, 1 + goto CaveOfOrigin_EventScript_Shake + end + +CaveOfOrigin_EventScript_Shake3:: @ 827229B + lockall + setvar VAR_TEMP_3, 1 + goto CaveOfOrigin_EventScript_Shake + end + +CaveOfOrigin_EventScript_Shake:: @ 82722A7 + setvar VAR_0x8004, 1 @ vertical pan + setvar VAR_0x8005, 1 @ horizontal pan + setvar VAR_0x8006, 8 @ num shakes + setvar VAR_0x8007, 5 @ shake delay + special ShakeCamera + waitstate + releaseall + end + +CaveOfOrigin_EventScript_SetTempVars:: @ 82722C1 + setvar VAR_TEMP_1, 1 + setvar VAR_TEMP_2, 1 + setvar VAR_TEMP_3, 1 + setvar VAR_TEMP_4, 1 + setvar VAR_TEMP_5, 1 + return diff --git a/data/scripts/check_furniture.inc b/data/scripts/check_furniture.inc new file mode 100644 index 0000000000..0a952f3c35 --- /dev/null +++ b/data/scripts/check_furniture.inc @@ -0,0 +1,27 @@ +EventScript_PictureBookShelf:: @ 82725CE + msgbox Text_PictureBookShelf, MSGBOX_SIGN + end + +EventScript_BookShelf:: @ 82725D7 + msgbox Text_BookShelf, MSGBOX_SIGN + end + +EventScript_PokemonCenterBookShelf:: @ 82725E0 + msgbox Text_PokemonCenterBookShelf, MSGBOX_SIGN + end + +EventScript_Vase:: @ 82725E9 + msgbox Text_Vase, MSGBOX_SIGN + end + +EventScript_EmptyTrashCan:: @ 82725F2 + msgbox Text_EmptyTrashCan, MSGBOX_SIGN + end + +EventScript_ShopShelf:: @ 82725FB + msgbox Text_ShopShelf, MSGBOX_SIGN + end + +EventScript_Blueprint:: @ 8272604 + msgbox Text_Blueprint, MSGBOX_SIGN + end diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc index 6c19cdc0c7..9775c40dc5 100644 --- a/data/scripts/contest_hall.inc +++ b/data/scripts/contest_hall.inc @@ -1,498 +1,509 @@ -LilycoveCity_ContestLobby_EventScript_279CC5:: @ 8279CC5 +@ Either ends or returns to EventScript_ContestReceptionist after submitting a contest entry +LilycoveCity_ContestLobby_EventScript_SpeakToContestReceptionist:: @ 8279CC5 lock faceplayer compare VAR_CONTEST_PRIZE_PICKUP, 0 - goto_if_ne LilycoveCity_ContestLobby_EventScript_279D13 - call_if_set FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_279CEA - call_if_unset FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_279CF3 - goto LilycoveCity_ContestLobby_EventScript_279D5A + goto_if_ne LilycoveCity_ContestLobby_EventScript_PickUpPrize + call_if_set FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_ReceptionWelcome + call_if_unset FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_GivePokeblockCase + goto LilycoveCity_ContestLobby_EventScript_AskEnterContest end -LilycoveCity_ContestLobby_EventScript_279CEA:: @ 8279CEA - msgbox LilycoveCity_ContestLobby_Text_27AEA8, MSGBOX_DEFAULT +LilycoveCity_ContestLobby_EventScript_ReceptionWelcome:: @ 8279CEA + msgbox LilycoveCity_ContestLobby_Text_ContestReception, MSGBOX_DEFAULT return -LilycoveCity_ContestLobby_EventScript_279CF3:: @ 8279CF3 - msgbox LilycoveCity_ContestLobby_Text_27ADA7, MSGBOX_DEFAULT - giveitem_std ITEM_POKEBLOCK_CASE +LilycoveCity_ContestLobby_EventScript_GivePokeblockCase:: @ 8279CF3 + msgbox LilycoveCity_ContestLobby_Text_ReceptionDontHavePokeblockCase, MSGBOX_DEFAULT + giveitem ITEM_POKEBLOCK_CASE setflag FLAG_RECEIVED_POKEBLOCK_CASE - msgbox LilycoveCity_ContestLobby_Text_27AE47, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestLobby_Text_NowThatWeveClearedThatUp, MSGBOX_DEFAULT return -LilycoveCity_ContestLobby_EventScript_279D13:: @ 8279D13 - msgbox LilycoveCity_ContestLobby_Text_27B67B, MSGBOX_DEFAULT +LilycoveCity_ContestLobby_EventScript_PickUpPrize:: @ 8279D13 + msgbox LilycoveCity_ContestLobby_Text_PokemonWonWeHavePrize, MSGBOX_DEFAULT switch VAR_CONTEST_PRIZE_PICKUP - case 4, LilycoveCity_ContestLobby_EventScript_279D2C + case 4, LilycoveCity_ContestLobby_EventScript_GiveLuxuryBallAtCounter end -LilycoveCity_ContestLobby_EventScript_279D2C:: @ 8279D2C - giveitem_std ITEM_LUXURY_BALL - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_279D4B +LilycoveCity_ContestLobby_EventScript_GiveLuxuryBallAtCounter:: @ 8279D2C + giveitem ITEM_LUXURY_BALL + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_ContestLobby_EventScript_NoRoomForLuxuryBallAtCounter setvar VAR_CONTEST_PRIZE_PICKUP, 0 closemessage release end -LilycoveCity_ContestLobby_EventScript_279D4B:: @ 8279D4B +LilycoveCity_ContestLobby_EventScript_NoRoomForLuxuryBallAtCounter:: @ 8279D4B call Common_EventScript_BagIsFull - msgbox LilycoveCity_ContestLobby_Text_27B6E7, MSGBOX_DEFAULT + msgbox LilycoveCity_ContestLobby_Text_ComeBackForPrizeLater, MSGBOX_DEFAULT release end -LilycoveCity_ContestLobby_EventScript_279D5A:: @ 8279D5A - message LilycoveCity_ContestLobby_Text_27AF28 +LilycoveCity_ContestLobby_EventScript_AskEnterContest:: @ 8279D5A + message LilycoveCity_ContestLobby_Text_EnterContest1 waitmessage - multichoice 0, 0, 2, 0 + multichoice 0, 0, MULTI_ENTERINFO, 0 switch VAR_RESULT - case 0, LilycoveCity_ContestLobby_EventScript_279E62 - case 1, LilycoveCity_ContestLobby_EventScript_279D97 - case 2, LilycoveCity_ContestLobby_EventScript_279E09 - case 127, LilycoveCity_ContestLobby_EventScript_279E09 + case 0, LilycoveCity_ContestLobby_EventScript_ChooseContestRank + case 1, LilycoveCity_ContestLobby_EventScript_ContestInfo + case 2, LilycoveCity_ContestLobby_EventScript_CancelEnterContest + case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelEnterContest end -LilycoveCity_ContestLobby_EventScript_279D97:: @ 8279D97 - message LilycoveCity_ContestLobby_Text_27AF5E +LilycoveCity_ContestLobby_EventScript_ContestInfo:: @ 8279D97 + message LilycoveCity_ContestLobby_Text_WhichTopic1 waitmessage - multichoice 0, 0, 3, 0 + multichoice 0, 0, MULTI_CONTEST_INFO, 0 switch VAR_RESULT - case 0, LilycoveCity_ContestLobby_EventScript_279DDF - case 1, LilycoveCity_ContestLobby_EventScript_279DED - case 2, LilycoveCity_ContestLobby_EventScript_279DFB - case 3, LilycoveCity_ContestLobby_EventScript_279D5A - case 127, LilycoveCity_ContestLobby_EventScript_279D5A + case 0, LilycoveCity_ContestLobby_EventScript_ExplainContests + case 1, LilycoveCity_ContestLobby_EventScript_ExplainContestTypes + case 2, LilycoveCity_ContestLobby_EventScript_ExplainContestRanks + case 3, LilycoveCity_ContestLobby_EventScript_AskEnterContest + case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_AskEnterContest end -LilycoveCity_ContestLobby_EventScript_279DDF:: @ 8279DDF - msgbox LilycoveCity_ContestLobby_Text_27AF7A, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_279D97 +LilycoveCity_ContestLobby_EventScript_ExplainContests:: @ 8279DDF + msgbox LilycoveCity_ContestLobby_Text_ExplainContests, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_ContestInfo end -LilycoveCity_ContestLobby_EventScript_279DED:: @ 8279DED - msgbox LilycoveCity_ContestLobby_Text_27B17D, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_279D97 +LilycoveCity_ContestLobby_EventScript_ExplainContestTypes:: @ 8279DED + msgbox LilycoveCity_ContestLobby_Text_ExplainContestTypes, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_ContestInfo end -LilycoveCity_ContestLobby_EventScript_279DFB:: @ 8279DFB - msgbox LilycoveCity_ContestLobby_Text_27B221, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_279D97 +LilycoveCity_ContestLobby_EventScript_ExplainContestRanks:: @ 8279DFB + msgbox LilycoveCity_ContestLobby_Text_ExplainContestRanks, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_ContestInfo end -LilycoveCity_ContestLobby_EventScript_279E09:: @ 8279E09 - msgbox LilycoveCity_ContestLobby_Text_27BD4F, MSGBOX_DEFAULT +LilycoveCity_ContestLobby_EventScript_CancelEnterContest:: @ 8279E09 + msgbox LilycoveCity_ContestLobby_Text_ParticipateAnotherTime, MSGBOX_DEFAULT release end -LilycoveCity_ContestLobby_EventScript_279E13:: @ 8279E13 - msgbox LilycoveCity_ContestLobby_Text_27B44A, MSGBOX_DEFAULT +LilycoveCity_ContestLobby_EventScript_ChooseContestMon:: @ 8279E13 + msgbox LilycoveCity_ContestLobby_Text_EnterWhichPokemon1, MSGBOX_DEFAULT choosecontestmon compare VAR_0x8004, 255 - goto_if_eq LilycoveCity_ContestLobby_EventScript_279E09 - special sub_80F7F30 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_279F12 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_279F87 - compare VAR_RESULT, 2 - goto_if_eq LilycoveCity_ContestLobby_EventScript_279F45 - compare VAR_RESULT, 3 - goto_if_eq LilycoveCity_ContestLobby_EventScript_279F69 - compare VAR_RESULT, 4 - goto_if_eq LilycoveCity_ContestLobby_EventScript_279F78 + goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelEnterContest + special TryEnterContestMon + compare VAR_RESULT, CANT_ENTER_CONTEST + goto_if_eq LilycoveCity_ContestLobby_EventScript_CantEnterLowRank + compare VAR_RESULT, CAN_ENTER_CONTEST_EQUAL_RANK + goto_if_eq LilycoveCity_ContestLobby_EventScript_EnterMon + compare VAR_RESULT, CAN_ENTER_CONTEST_HIGH_RANK + goto_if_eq LilycoveCity_ContestLobby_EventScript_ConfirmEntryAlreadyWon + compare VAR_RESULT, CANT_ENTER_CONTEST_EGG + goto_if_eq LilycoveCity_ContestLobby_EventScript_CantEnterEgg + compare VAR_RESULT, CANT_ENTER_CONTEST_FAINTED + goto_if_eq LilycoveCity_ContestLobby_EventScript_CantEnterFainted end -LilycoveCity_ContestLobby_EventScript_279E62:: @ 8279E62 - message LilycoveCity_ContestLobby_Text_27B3FF +LilycoveCity_ContestLobby_EventScript_ChooseContestRank:: @ 8279E62 + message LilycoveCity_ContestLobby_Text_EnterWhichRank waitmessage - multichoice 0, 0, 82, 0 + multichoice 0, 0, MULTI_CONTEST_RANK, 0 switch VAR_RESULT - case 0, LilycoveCity_ContestLobby_EventScript_279EB5 - case 1, LilycoveCity_ContestLobby_EventScript_279EC0 - case 2, LilycoveCity_ContestLobby_EventScript_279ECB - case 3, LilycoveCity_ContestLobby_EventScript_279ED6 - case 4, LilycoveCity_ContestLobby_EventScript_279E09 - case 127, LilycoveCity_ContestLobby_EventScript_279E09 + case 0, LilycoveCity_ContestLobby_EventScript_EnterNormalRank + case 1, LilycoveCity_ContestLobby_EventScript_EnterSuperRank + case 2, LilycoveCity_ContestLobby_EventScript_EnterHyperRank + case 3, LilycoveCity_ContestLobby_EventScript_EnterMasterRank + case 4, LilycoveCity_ContestLobby_EventScript_CancelEnterContest + case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelEnterContest end -LilycoveCity_ContestLobby_EventScript_279EB5:: @ 8279EB5 - setvar VAR_CONTEST_RANK, 0 - goto LilycoveCity_ContestLobby_EventScript_279EE1 +LilycoveCity_ContestLobby_EventScript_EnterNormalRank:: @ 8279EB5 + setvar VAR_CONTEST_RANK, CONTEST_RANK_NORMAL + goto LilycoveCity_ContestLobby_EventScript_ChooseContestType end -LilycoveCity_ContestLobby_EventScript_279EC0:: @ 8279EC0 - setvar VAR_CONTEST_RANK, 1 - goto LilycoveCity_ContestLobby_EventScript_279EE1 +LilycoveCity_ContestLobby_EventScript_EnterSuperRank:: @ 8279EC0 + setvar VAR_CONTEST_RANK, CONTEST_RANK_SUPER + goto LilycoveCity_ContestLobby_EventScript_ChooseContestType end -LilycoveCity_ContestLobby_EventScript_279ECB:: @ 8279ECB - setvar VAR_CONTEST_RANK, 2 - goto LilycoveCity_ContestLobby_EventScript_279EE1 +LilycoveCity_ContestLobby_EventScript_EnterHyperRank:: @ 8279ECB + setvar VAR_CONTEST_RANK, CONTEST_RANK_HYPER + goto LilycoveCity_ContestLobby_EventScript_ChooseContestType end -LilycoveCity_ContestLobby_EventScript_279ED6:: @ 8279ED6 - setvar VAR_CONTEST_RANK, 3 - goto LilycoveCity_ContestLobby_EventScript_279EE1 +LilycoveCity_ContestLobby_EventScript_EnterMasterRank:: @ 8279ED6 + setvar VAR_CONTEST_RANK, CONTEST_RANK_MASTER + goto LilycoveCity_ContestLobby_EventScript_ChooseContestType end -LilycoveCity_ContestLobby_EventScript_279EE1:: @ 8279EE1 - message LilycoveCity_ContestLobby_Text_27B423 +@ The multichoice selection IDs are equal to the CATEGORY values +@ So rather than list the cases they just copy VAR_RESULT for a valid selection into VAR_CONTEST_CATEGORY +LilycoveCity_ContestLobby_EventScript_ChooseContestType:: @ 8279EE1 + message LilycoveCity_ContestLobby_Text_EnterWhichContest1 waitmessage - multichoice 0, 0, 4, 0 + multichoice 0, 0, MULTI_CONTEST_TYPE, 0 switch VAR_RESULT - case 5, LilycoveCity_ContestLobby_EventScript_279E09 - case 127, LilycoveCity_ContestLobby_EventScript_279E09 + case 5, LilycoveCity_ContestLobby_EventScript_CancelEnterContest + case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelEnterContest copyvar VAR_CONTEST_CATEGORY, VAR_RESULT - goto LilycoveCity_ContestLobby_EventScript_279E13 + goto LilycoveCity_ContestLobby_EventScript_ChooseContestMon end -LilycoveCity_ContestLobby_EventScript_279F12:: @ 8279F12 - msgbox LilycoveCity_ContestLobby_Text_27B471, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_279E13 +LilycoveCity_ContestLobby_EventScript_CantEnterLowRank:: @ 8279F12 + msgbox LilycoveCity_ContestLobby_Text_MonNotQualifiedForRank, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_ChooseContestMon release end -LilycoveCity_ContestLobby_EventScript_279F21:: @ 8279F21 - msgbox LilycoveCity_ContestLobby_Text_27B5C4, MSGBOX_YESNO +@ Unused +LilycoveCity_ContestLobby_EventScript_ConfirmEntry:: @ 8279F21 + msgbox LilycoveCity_ContestLobby_Text_ConfirmContestMon, MSGBOX_YESNO switch VAR_RESULT - case 0, LilycoveCity_ContestLobby_EventScript_279E13 - case 1, LilycoveCity_ContestLobby_EventScript_279F87 + case NO, LilycoveCity_ContestLobby_EventScript_ChooseContestMon + case YES, LilycoveCity_ContestLobby_EventScript_EnterMon end -LilycoveCity_ContestLobby_EventScript_279F45:: @ 8279F45 - msgbox LilycoveCity_ContestLobby_Text_27B547, MSGBOX_YESNO +LilycoveCity_ContestLobby_EventScript_ConfirmEntryAlreadyWon:: @ 8279F45 + msgbox LilycoveCity_ContestLobby_Text_AlreadyWonEnterAnyway, MSGBOX_YESNO switch VAR_RESULT - case 0, LilycoveCity_ContestLobby_EventScript_279E13 - case 1, LilycoveCity_ContestLobby_EventScript_279F87 + case NO, LilycoveCity_ContestLobby_EventScript_ChooseContestMon + case YES, LilycoveCity_ContestLobby_EventScript_EnterMon end -LilycoveCity_ContestLobby_EventScript_279F69:: @ 8279F69 - msgbox LilycoveCity_ContestLobby_Text_27B4C4, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_279E13 +LilycoveCity_ContestLobby_EventScript_CantEnterEgg:: @ 8279F69 + msgbox LilycoveCity_ContestLobby_Text_EggCannotTakePart, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_ChooseContestMon release end -LilycoveCity_ContestLobby_EventScript_279F78:: @ 8279F78 - msgbox LilycoveCity_ContestLobby_Text_27B501, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_279E13 +LilycoveCity_ContestLobby_EventScript_CantEnterFainted:: @ 8279F78 + msgbox LilycoveCity_ContestLobby_Text_MonInNoConditionForContest, MSGBOX_DEFAULT + goto LilycoveCity_ContestLobby_EventScript_ChooseContestMon release end -LilycoveCity_ContestLobby_EventScript_279F87:: @ 8279F87 - msgbox LilycoveCity_ContestLobby_Text_27B5E2, MSGBOX_DEFAULT +@ The return here is back to LilycoveCity_ContestLobby_EventScript_ContestReceptionist +LilycoveCity_ContestLobby_EventScript_EnterMon:: @ 8279F87 + msgbox LilycoveCity_ContestLobby_Text_YourMonIsEntryNum4, MSGBOX_DEFAULT closemessage releaseall - setvar VAR_LINK_CONTEST_ROOM_STATE, 1 + setvar VAR_CONTEST_HALL_STATE, 1 return -LinkContestRoom1_EventScript_279F97:: @ 8279F97 - special sub_80F90DC +ContestHall_EventScript_DoContest:: @ 8279F97 + special LinkContestTryShowWirelessIndicator setvar VAR_0x8006, 0 lockall - applymovement 14, LinkContestRoom1_Movement_27AD43 + applymovement 14, ContestHall_Movement_Player4FaceUp waitmovement 0 - applymovement 1, LinkContestRoom1_Movement_27AD09 + applymovement 1, ContestHall_Movement_MCWalkDown waitmovement 0 releaseall - call LinkContestRoom1_EventScript_27A133 - call LinkContestRoom1_EventScript_279FF2 - call LinkContestRoom1_EventScript_27A03C - call LinkContestRoom1_EventScript_27A097 - call LinkContestRoom1_EventScript_27A0F5 - call LinkContestRoom1_EventScript_27A801 - call LinkContestRoom1_EventScript_27A8A5 - call LinkContestRoom1_EventScript_27A987 - call LinkContestRoom1_EventScript_27A9D4 - call LinkContestRoom1_EventScript_27AA1B - call LinkContestRoom1_EventScript_27AB36 - setvar VAR_LINK_CONTEST_ROOM_STATE, 2 + call ContestHall_EventScript_TryWaitForLink + call ContestHall_EventScript_GetContestRankStringId + call ContestHall_EventScript_GetContestCategory + call ContestHall_EventScript_ContestGettingStarted + call ContestHall_EventScript_ShowContestMons + call ContestHall_EventScript_DoContestAppeals + call ContestHall_EventScript_ContestResults + call ContestHall_EventScript_GetWinnerObjEventId + call ContestHall_EventScript_CongratulateWinner + call ContestHall_EventScript_AudienceLookAround + call ContestHall_EventScript_GiveWinnerPrize + setvar VAR_CONTEST_HALL_STATE, 2 return -LinkContestRoom1_EventScript_279FF2:: @ 8279FF2 +ContestHall_EventScript_GetContestRankStringId:: @ 8279FF2 switch VAR_CONTEST_RANK - case 0, LinkContestRoom1_EventScript_27A024 - case 1, LinkContestRoom1_EventScript_27A02A - case 2, LinkContestRoom1_EventScript_27A030 - case 3, LinkContestRoom1_EventScript_27A036 + case CONTEST_RANK_NORMAL, ContestHall_EventScript_GetNormalStringId + case CONTEST_RANK_SUPER, ContestHall_EventScript_GetSuperStringId + case CONTEST_RANK_HYPER, ContestHall_EventScript_GetHyperStringId + case CONTEST_RANK_MASTER, ContestHall_EventScript_GetMasterStringId return -LinkContestRoom1_EventScript_27A024:: @ 827A024 - setvar VAR_0x8009, 5 +ContestHall_EventScript_GetNormalStringId:: @ 827A024 + setvar VAR_0x8009, STDSTRING_NORMAL return -LinkContestRoom1_EventScript_27A02A:: @ 827A02A - setvar VAR_0x8009, 6 +ContestHall_EventScript_GetSuperStringId:: @ 827A02A + setvar VAR_0x8009, STDSTRING_SUPER return -LinkContestRoom1_EventScript_27A030:: @ 827A030 - setvar VAR_0x8009, 7 +ContestHall_EventScript_GetHyperStringId:: @ 827A030 + setvar VAR_0x8009, STDSTRING_HYPER return -LinkContestRoom1_EventScript_27A036:: @ 827A036 - setvar VAR_0x8009, 8 +ContestHall_EventScript_GetMasterStringId:: @ 827A036 + setvar VAR_0x8009, STDSTRING_MASTER return -LinkContestRoom1_EventScript_27A03C:: @ 827A03C +@ This whole switch is equivalent to copyvar VAR_0x8008, VAR_CONTEST_CATEGORY +ContestHall_EventScript_GetContestCategory:: @ 827A03C switch VAR_CONTEST_CATEGORY - case 0, LinkContestRoom1_EventScript_27A079 - case 1, LinkContestRoom1_EventScript_27A07F - case 2, LinkContestRoom1_EventScript_27A085 - case 3, LinkContestRoom1_EventScript_27A08B - case 4, LinkContestRoom1_EventScript_27A091 + case CONTEST_CATEGORY_COOL, ContestHall_EventScript_GetCategoryCool + case CONTEST_CATEGORY_BEAUTY, ContestHall_EventScript_GetCategoryBeauty + case CONTEST_CATEGORY_CUTE, ContestHall_EventScript_GetCategoryCute + case CONTEST_CATEGORY_SMART, ContestHall_EventScript_GetCategorySmart + case CONTEST_CATEGORY_TOUGH, ContestHall_EventScript_GetCategoryTough return -LinkContestRoom1_EventScript_27A079:: @ 827A079 - setvar VAR_0x8008, 0 +ContestHall_EventScript_GetCategoryCool:: @ 827A079 + setvar VAR_0x8008, CONTEST_CATEGORY_COOL return -LinkContestRoom1_EventScript_27A07F:: @ 827A07F - setvar VAR_0x8008, 1 +ContestHall_EventScript_GetCategoryBeauty:: @ 827A07F + setvar VAR_0x8008, CONTEST_CATEGORY_BEAUTY return -LinkContestRoom1_EventScript_27A085:: @ 827A085 - setvar VAR_0x8008, 2 +ContestHall_EventScript_GetCategoryCute:: @ 827A085 + setvar VAR_0x8008, CONTEST_CATEGORY_CUTE return -LinkContestRoom1_EventScript_27A08B:: @ 827A08B - setvar VAR_0x8008, 3 +ContestHall_EventScript_GetCategorySmart:: @ 827A08B + setvar VAR_0x8008, CONTEST_CATEGORY_SMART return -LinkContestRoom1_EventScript_27A091:: @ 827A091 - setvar VAR_0x8008, 4 +ContestHall_EventScript_GetCategoryTough:: @ 827A091 + setvar VAR_0x8008, CONTEST_CATEGORY_TOUGH return -LinkContestRoom1_EventScript_27A097:: @ 827A097 - buffercontesttypestring 1, 32776 +ContestHall_EventScript_ContestGettingStarted:: @ 827A097 + buffercontesttypestring 1, VAR_0x8008 bufferstdstring 2, VAR_0x8009 - call LinkContestRoom1_EventScript_27A0B1 + call ContestHall_EventScript_GettingStarted lockall - applymovement 1, LinkContestRoom1_Movement_27AD0B + applymovement 1, ContestHall_Movement_MCBackUp waitmovement 0 releaseall return -LinkContestRoom1_EventScript_27A0B1:: @ 827A0B1 - compare VAR_CONTEST_LOCATION, 5 - goto_if_eq LinkContestRoom1_EventScript_27A0C7 +ContestHall_EventScript_GettingStarted:: @ 827A0B1 + compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK + goto_if_eq ContestHall_EventScript_GettingStartedLink lockall - msgbox LinkContestRoom1_Text_27B711, MSGBOX_DEFAULT + msgbox ContestHall_Text_GettingStartedParticipantsAsFollows, MSGBOX_DEFAULT releaseall return -LinkContestRoom1_EventScript_27A0C7:: @ 827A0C7 - specialvar VAR_RESULT, sub_80F9160 - compare VAR_RESULT, 1 - goto_if_eq LinkContestRoom1_EventScript_27A0DE - messageautoscroll LinkContestRoom1_Text_27B78F +ContestHall_EventScript_GettingStartedLink:: @ 827A0C7 + specialvar VAR_RESULT, IsWirelessContest + compare VAR_RESULT, TRUE + goto_if_eq ContestHall_EventScript_GettingStartedWireless + messageautoscroll ContestHall_Text_GettingStartedParticipantsAsFollowsLink waitmessage return -LinkContestRoom1_EventScript_27A0DE:: @ 827A0DE - messageautoscroll LinkContestRoom1_Text_27C929 +ContestHall_EventScript_GettingStartedWireless:: @ 827A0DE + messageautoscroll ContestHall_Text_GettingStartedWireless waitmessage - call LinkContestRoom1_EventScript_27A133 - messageautoscroll LinkContestRoom1_Text_27C972 + call ContestHall_EventScript_TryWaitForLink + messageautoscroll ContestHall_Text_ParticipantsAsFollows waitmessage - call LinkContestRoom1_EventScript_27A133 + call ContestHall_EventScript_TryWaitForLink return -LinkContestRoom1_EventScript_27A0F5:: @ 827A0F5 - call LinkContestRoom1_EventScript_27A149 - call LinkContestRoom1_EventScript_27A1D2 - call LinkContestRoom1_EventScript_27A34F - call LinkContestRoom1_EventScript_27A2D5 - call LinkContestRoom1_EventScript_27A77A - call LinkContestRoom1_EventScript_27A133 - call LinkContestRoom1_EventScript_27A133 +ContestHall_EventScript_ShowContestMons:: @ 827A0F5 + call ContestHall_EventScript_ContestantWalkToCenter + call ContestHall_EventScript_ShowContestMonPic + call ContestHall_EventScript_AudienceHeartEmotes + call ContestHall_EventScript_AudienceReactToContestant + call ContestHall_EventScript_ContestantReturn + call ContestHall_EventScript_TryWaitForLink + call ContestHall_EventScript_TryWaitForLink addvar VAR_0x8006, 1 - compare VAR_0x8006, 4 - goto_if_ne LinkContestRoom1_EventScript_27A0F5 - call LinkContestRoom1_EventScript_27A230 + compare VAR_0x8006, CONTESTANT_COUNT + goto_if_ne ContestHall_EventScript_ShowContestMons + call ContestHall_EventScript_AudienceVote setvar VAR_TEMP_1, 6 return -LinkContestRoom1_EventScript_27A133:: @ 827A133 - specialvar VAR_RESULT, sub_80F9160 - compare VAR_RESULT, 1 - goto_if_eq LinkContestRoom1_EventScript_27A144 +ContestHall_EventScript_TryWaitForLink:: @ 827A133 + specialvar VAR_RESULT, IsWirelessContest + compare VAR_RESULT, TRUE + goto_if_eq ContestHall_EventScript_WaitForLink return -LinkContestRoom1_EventScript_27A144:: @ 827A144 - special sub_80F905C +ContestHall_EventScript_WaitForLink:: @ 827A144 + special LinkContestWaitForConnection waitstate return -LinkContestRoom1_EventScript_27A149:: @ 827A149 +ContestHall_EventScript_ContestantWalkToCenter:: @ 827A149 compare VAR_0x8006, 0 - goto_if_eq LinkContestRoom1_EventScript_27A176 + goto_if_eq ContestHall_EventScript_Player1WalkToCenter compare VAR_0x8006, 1 - goto_if_eq LinkContestRoom1_EventScript_27A18D + goto_if_eq ContestHall_EventScript_Player2WalkToCenter compare VAR_0x8006, 2 - goto_if_eq LinkContestRoom1_EventScript_27A1A4 + goto_if_eq ContestHall_EventScript_Player3WalkToCenter compare VAR_0x8006, 3 - goto_if_eq LinkContestRoom1_EventScript_27A1BB + goto_if_eq ContestHall_EventScript_Player4WalkToCenter return -LinkContestRoom1_EventScript_27A176:: @ 827A176 - call LinkContestRoom1_EventScript_27A133 +ContestHall_EventScript_Player1WalkToCenter:: @ 827A176 + call ContestHall_EventScript_TryWaitForLink lockall - applymovement 3, LinkContestRoom1_Movement_27AD52 + applymovement 3, ContestHall_Movement_Player1WalkToCenter waitmovement 0 releaseall setvar VAR_0x800B, 3 return -LinkContestRoom1_EventScript_27A18D:: @ 827A18D - call LinkContestRoom1_EventScript_27A133 +ContestHall_EventScript_Player2WalkToCenter:: @ 827A18D + call ContestHall_EventScript_TryWaitForLink lockall - applymovement 4, LinkContestRoom1_Movement_27AD5E + applymovement 4, ContestHall_Movement_Player2WalkToCenter waitmovement 0 releaseall setvar VAR_0x800B, 4 return -LinkContestRoom1_EventScript_27A1A4:: @ 827A1A4 - call LinkContestRoom1_EventScript_27A133 +ContestHall_EventScript_Player3WalkToCenter:: @ 827A1A4 + call ContestHall_EventScript_TryWaitForLink lockall - applymovement 5, LinkContestRoom1_Movement_27AD66 + applymovement 5, ContestHall_Movement_Player3WalkToCenter waitmovement 0 releaseall setvar VAR_0x800B, 5 return -LinkContestRoom1_EventScript_27A1BB:: @ 827A1BB - call LinkContestRoom1_EventScript_27A133 +ContestHall_EventScript_Player4WalkToCenter:: @ 827A1BB + call ContestHall_EventScript_TryWaitForLink lockall - applymovement 14, LinkContestRoom1_Movement_27AD6E + applymovement 14, ContestHall_Movement_Player4WalkToCenter waitmovement 0 releaseall setvar VAR_0x800B, 14 return -LinkContestRoom1_EventScript_27A1D2:: @ 827A1D2 - special sub_80F8850 +ContestHall_EventScript_ShowContestMonPic:: @ 827A1D2 + special BufferContestTrainerAndMonNames addvar VAR_0x8006, 1 buffernumberstring 1, VAR_0x8006 lockall - applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD20 + applymovement VAR_0x800B, ContestHall_Movement_ContestantDelay32 waitmovement 0 releaseall - call LinkContestRoom1_EventScript_27A133 - call LinkContestRoom1_EventScript_27AD80 - addobject 13 + call ContestHall_EventScript_TryWaitForLink + call ContestHall_EventScript_CheckIfContestWithRSPlayer + addobject 13 @ Place Poke Ball down playse SE_DANSA lockall - applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD20 + applymovement VAR_0x800B, ContestHall_Movement_ContestantDelay32 waitmovement 0 releaseall - addvar VAR_0x8006, 65535 + addvar VAR_0x8006, -1 playse SE_BOWA2 special ShowContestEntryMonPic - call LinkContestRoom1_EventScript_27A217 + call ContestHall_EventScript_EntryXTrainersMon return -LinkContestRoom1_EventScript_27A217:: @ 827A217 - compare VAR_CONTEST_LOCATION, 5 - goto_if_eq LinkContestRoom1_EventScript_27A229 - message LinkContestRoom1_Text_27B815 +ContestHall_EventScript_EntryXTrainersMon:: @ 827A217 + compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK + goto_if_eq ContestHall_EventScript_EntryXTrainersMonLink + message ContestHall_Text_EntryXTrainersMon waitmessage return -LinkContestRoom1_EventScript_27A229:: @ 827A229 - messageautoscroll LinkContestRoom1_Text_27B815 +ContestHall_EventScript_EntryXTrainersMonLink:: @ 827A229 + messageautoscroll ContestHall_Text_EntryXTrainersMon waitmessage return -LinkContestRoom1_EventScript_27A230:: @ 827A230 - call LinkContestRoom1_EventScript_27A26C - call LinkContestRoom1_EventScript_27A2B9 +ContestHall_EventScript_AudienceVote:: @ 827A230 + call ContestHall_EventScript_AudienceWillVote + call ContestHall_EventScript_VotingUnderWay playse SE_W227B waitmessage - call LinkContestRoom1_EventScript_27AA1B - applymovement 1, LinkContestRoom1_Movement_27AD23 + call ContestHall_EventScript_AudienceLookAround + applymovement 1, ContestHall_Movement_MCFaceJudge2 waitmovement 0 - applymovement 2, LinkContestRoom1_Movement_27AD25 + applymovement 2, ContestHall_Movement_JudgeFaceMC waitmovement 0 delay 20 - applymovement 1, LinkContestRoom1_Movement_27AD13 - applymovement 2, LinkContestRoom1_Movement_27AD13 + applymovement 1, ContestHall_Movement_FaceContestants + applymovement 2, ContestHall_Movement_FaceContestants waitmovement 0 return -LinkContestRoom1_EventScript_27A26C:: @ 827A26C - compare VAR_CONTEST_LOCATION, 5 - goto_if_eq LinkContestRoom1_EventScript_27A280 - msgbox LinkContestRoom1_Text_27B830, MSGBOX_DEFAULT +ContestHall_EventScript_AudienceWillVote:: @ 827A26C + compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK + goto_if_eq ContestHall_EventScript_AudienceWillVoteLink + msgbox ContestHall_Text_SeenContestantsAudienceWillVote, MSGBOX_DEFAULT return -LinkContestRoom1_EventScript_27A280:: @ 827A280 - specialvar VAR_RESULT, sub_80F9160 - compare VAR_RESULT, 1 - goto_if_eq LinkContestRoom1_EventScript_27A297 - messageautoscroll LinkContestRoom1_Text_27B830 +ContestHall_EventScript_AudienceWillVoteLink:: @ 827A280 + specialvar VAR_RESULT, IsWirelessContest + compare VAR_RESULT, TRUE + goto_if_eq ContestHall_EventScript_AudienceWillVoteWireless + messageautoscroll ContestHall_Text_SeenContestantsAudienceWillVote waitmessage return -LinkContestRoom1_EventScript_27A297:: @ 827A297 - messageautoscroll LinkContestRoom1_Text_27C9AF +ContestHall_EventScript_AudienceWillVoteWireless:: @ 827A297 + messageautoscroll ContestHall_Text_WeveSeenContestants waitmessage - call LinkContestRoom1_EventScript_27A133 - messageautoscroll LinkContestRoom1_Text_27CA04 + call ContestHall_EventScript_TryWaitForLink + messageautoscroll ContestHall_Text_AudienceWillVote waitmessage - call LinkContestRoom1_EventScript_27A133 - messageautoscroll LinkContestRoom1_Text_27CA42 + call ContestHall_EventScript_TryWaitForLink + messageautoscroll ContestHall_Text_LetVotingBegin waitmessage - call LinkContestRoom1_EventScript_27A133 + call ContestHall_EventScript_TryWaitForLink return -LinkContestRoom1_EventScript_27A2B9:: @ 827A2B9 - compare VAR_CONTEST_LOCATION, 5 - goto_if_eq LinkContestRoom1_EventScript_27A2CA - message LinkContestRoom1_Text_27B8F2 +ContestHall_EventScript_VotingUnderWay:: @ 827A2B9 + compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK + goto_if_eq ContestHall_EventScript_VotingUnderWayLink + message ContestHall_Text_VotingUnderWay return -LinkContestRoom1_EventScript_27A2CA:: @ 827A2CA - messageautoscroll LinkContestRoom1_Text_27B8F2 - call LinkContestRoom1_EventScript_27A133 +ContestHall_EventScript_VotingUnderWayLink:: @ 827A2CA + messageautoscroll ContestHall_Text_VotingUnderWay + call ContestHall_EventScript_TryWaitForLink return -LinkContestRoom1_EventScript_27A2D5:: @ 827A2D5 - call LinkContestRoom1_EventScript_27A133 - applymovement 1, LinkContestRoom1_Movement_27AD33 +ContestHall_EventScript_AudienceReactToContestant:: @ 827A2D5 + call ContestHall_EventScript_TryWaitForLink + applymovement 1, ContestHall_Movement_AudienceMemberLookLeft waitmovement 0 playse SE_W227B - call LinkContestRoom1_EventScript_27AA6F - applymovement 9, LinkContestRoom1_Movement_27AD3B - applymovement 12, LinkContestRoom1_Movement_27AD3F - applymovement 7, LinkContestRoom1_Movement_27AD3B + call ContestHall_EventScript_VObjectAudienceLookAround + applymovement 9, ContestHall_Movement_AudienceMemberLookRight + applymovement 12, ContestHall_Movement_AudienceMemberLookDown + applymovement 7, ContestHall_Movement_AudienceMemberLookRight waitmovement 0 - applymovement 1, LinkContestRoom1_Movement_27AD3B + applymovement 1, ContestHall_Movement_AudienceMemberLookRight waitmovement 0 - applymovement 10, LinkContestRoom1_Movement_27AD33 - applymovement 11, LinkContestRoom1_Movement_27AD3F - applymovement 6, LinkContestRoom1_Movement_27AD37 - applymovement 8, LinkContestRoom1_Movement_27AD33 + applymovement 10, ContestHall_Movement_AudienceMemberLookLeft + applymovement 11, ContestHall_Movement_AudienceMemberLookDown + applymovement 6, ContestHall_Movement_AudienceMemberLookUp + applymovement 8, ContestHall_Movement_AudienceMemberLookLeft waitmovement 0 - applymovement 1, LinkContestRoom1_Movement_27AD45 + applymovement 1, ContestHall_Movement_MCLookAtJudge waitmovement 0 - applymovement 1, LinkContestRoom1_Movement_27AD4E - applymovement 2, LinkContestRoom1_Movement_27AD49 + applymovement 1, ContestHall_Movement_MCWalkInPlaceDown + applymovement 2, ContestHall_Movement_JudgeLookAtMC waitmovement 0 releaseall - call LinkContestRoom1_EventScript_27A133 + call ContestHall_EventScript_TryWaitForLink return -LinkContestRoom1_EventScript_27A34F:: @ 827A34F - special sub_80F82FC - compare VAR_CONTEST_LOCATION, 1 - call_if_eq LinkContestRoom1_EventScript_27A454 - compare VAR_CONTEST_LOCATION, 2 - call_if_eq LinkContestRoom1_EventScript_27A4B2 - compare VAR_CONTEST_LOCATION, 3 - call_if_eq LinkContestRoom1_EventScript_27A510 - compare VAR_CONTEST_LOCATION, 4 - call_if_eq LinkContestRoom1_EventScript_27A56E - compare VAR_CONTEST_LOCATION, 5 - call_if_eq LinkContestRoom1_EventScript_27A5CC +@ For below VAR_TEMP_0 is the number of heart emotes to try to display in the audience +@ The number of hearts to try to display is based on the condition of the presented pokemon and the rank +@ For each heart to display a random audience member is chosen, and a new one chosen if they already displayed a heart +@ VAR_TEMP_1 through VAR_TEMP_8 represent each of the 8 audience members that are actual event objects +@ and are set to 9 if they havent displayed a heart yet, and 1 if they have +ContestHall_EventScript_AudienceHeartEmotes:: @ 827A34F + special GetContestMonCondition + compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_NORMAL + call_if_eq ContestHall_EventScript_GetNumberOfHeartsNormal + compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_SUPER + call_if_eq ContestHall_EventScript_GetNumberOfHeartsSuper + compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_HYPER + call_if_eq ContestHall_EventScript_GetNumberOfHeartsHyper + compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_MASTER + call_if_eq ContestHall_EventScript_GetNumberOfHeartsMaster + compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK + call_if_eq ContestHall_EventScript_GetNumberOfHeartsLink setvar VAR_TEMP_1, 9 setvar VAR_TEMP_2, 9 setvar VAR_TEMP_3, 9 @@ -502,7 +513,7 @@ LinkContestRoom1_EventScript_27A34F:: @ 827A34F setvar VAR_TEMP_7, 9 setvar VAR_TEMP_8, 9 compare VAR_TEMP_0, 0 - call_if_gt LinkContestRoom1_EventScript_27A3E5 + call_if_gt ContestHall_EventScript_DisplayHearts setvar VAR_TEMP_1, 0 setvar VAR_TEMP_2, 0 setvar VAR_TEMP_3, 0 @@ -513,800 +524,803 @@ LinkContestRoom1_EventScript_27A34F:: @ 827A34F setvar VAR_TEMP_8, 0 return -LinkContestRoom1_EventScript_27A3E5:: @ 827A3E5 +ContestHall_EventScript_DisplayHearts:: @ 827A3E5 setvar VAR_RESULT, 8 special ScriptRandom compare VAR_RESULT, 0 - call_if_eq LinkContestRoom1_EventScript_27A65A + call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember1 compare VAR_RESULT, 1 - call_if_eq LinkContestRoom1_EventScript_27A67E + call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember2 compare VAR_RESULT, 2 - call_if_eq LinkContestRoom1_EventScript_27A6A2 + call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember3 compare VAR_RESULT, 3 - call_if_eq LinkContestRoom1_EventScript_27A6C6 + call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember4 compare VAR_RESULT, 4 - call_if_eq LinkContestRoom1_EventScript_27A6EA + call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember5 compare VAR_RESULT, 5 - call_if_eq LinkContestRoom1_EventScript_27A70E + call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember6 compare VAR_RESULT, 6 - call_if_eq LinkContestRoom1_EventScript_27A732 + call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember7 compare VAR_RESULT, 7 - call_if_eq LinkContestRoom1_EventScript_27A756 - compare VAR_TEMP_0, 0 - goto_if_gt LinkContestRoom1_EventScript_27A3E5 + call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember8 + compare VAR_TEMP_0, 0 @ Still more hearts to display + goto_if_gt ContestHall_EventScript_DisplayHearts waitmovement 0 return -LinkContestRoom1_EventScript_27A454:: @ 827A454 +ContestHall_EventScript_GetNumberOfHeartsNormal:: @ 827A454 compare VAR_0x8004, 80 - goto_if_gt LinkContestRoom1_EventScript_27A654 + goto_if_gt ContestHall_EventScript_Set8Hearts compare VAR_0x8004, 70 - goto_if_gt LinkContestRoom1_EventScript_27A64E + goto_if_gt ContestHall_EventScript_Set7Hearts compare VAR_0x8004, 60 - goto_if_gt LinkContestRoom1_EventScript_27A648 + goto_if_gt ContestHall_EventScript_Set6Hearts compare VAR_0x8004, 50 - goto_if_gt LinkContestRoom1_EventScript_27A642 + goto_if_gt ContestHall_EventScript_Set5Hearts compare VAR_0x8004, 40 - goto_if_gt LinkContestRoom1_EventScript_27A63C + goto_if_gt ContestHall_EventScript_Set4Hearts compare VAR_0x8004, 30 - goto_if_gt LinkContestRoom1_EventScript_27A636 + goto_if_gt ContestHall_EventScript_Set3Hearts compare VAR_0x8004, 20 - goto_if_gt LinkContestRoom1_EventScript_27A630 + goto_if_gt ContestHall_EventScript_Set2Hearts compare VAR_0x8004, 10 - goto_if_gt LinkContestRoom1_EventScript_27A62A + goto_if_gt ContestHall_EventScript_Set1Heart setvar VAR_TEMP_0, 0 return -LinkContestRoom1_EventScript_27A4B2:: @ 827A4B2 +ContestHall_EventScript_GetNumberOfHeartsSuper:: @ 827A4B2 compare VAR_0x8004, 230 - goto_if_gt LinkContestRoom1_EventScript_27A654 + goto_if_gt ContestHall_EventScript_Set8Hearts compare VAR_0x8004, 210 - goto_if_gt LinkContestRoom1_EventScript_27A64E + goto_if_gt ContestHall_EventScript_Set7Hearts compare VAR_0x8004, 190 - goto_if_gt LinkContestRoom1_EventScript_27A648 + goto_if_gt ContestHall_EventScript_Set6Hearts compare VAR_0x8004, 170 - goto_if_gt LinkContestRoom1_EventScript_27A642 + goto_if_gt ContestHall_EventScript_Set5Hearts compare VAR_0x8004, 150 - goto_if_gt LinkContestRoom1_EventScript_27A63C + goto_if_gt ContestHall_EventScript_Set4Hearts compare VAR_0x8004, 130 - goto_if_gt LinkContestRoom1_EventScript_27A636 + goto_if_gt ContestHall_EventScript_Set3Hearts compare VAR_0x8004, 110 - goto_if_gt LinkContestRoom1_EventScript_27A630 + goto_if_gt ContestHall_EventScript_Set2Hearts compare VAR_0x8004, 90 - goto_if_gt LinkContestRoom1_EventScript_27A62A + goto_if_gt ContestHall_EventScript_Set1Heart setvar VAR_TEMP_0, 0 return -LinkContestRoom1_EventScript_27A510:: @ 827A510 +ContestHall_EventScript_GetNumberOfHeartsHyper:: @ 827A510 compare VAR_0x8004, 380 - goto_if_gt LinkContestRoom1_EventScript_27A654 + goto_if_gt ContestHall_EventScript_Set8Hearts compare VAR_0x8004, 350 - goto_if_gt LinkContestRoom1_EventScript_27A64E + goto_if_gt ContestHall_EventScript_Set7Hearts compare VAR_0x8004, 320 - goto_if_gt LinkContestRoom1_EventScript_27A648 + goto_if_gt ContestHall_EventScript_Set6Hearts compare VAR_0x8004, 290 - goto_if_gt LinkContestRoom1_EventScript_27A642 + goto_if_gt ContestHall_EventScript_Set5Hearts compare VAR_0x8004, 260 - goto_if_gt LinkContestRoom1_EventScript_27A63C + goto_if_gt ContestHall_EventScript_Set4Hearts compare VAR_0x8004, 230 - goto_if_gt LinkContestRoom1_EventScript_27A636 + goto_if_gt ContestHall_EventScript_Set3Hearts compare VAR_0x8004, 200 - goto_if_gt LinkContestRoom1_EventScript_27A630 + goto_if_gt ContestHall_EventScript_Set2Hearts compare VAR_0x8004, 170 - goto_if_gt LinkContestRoom1_EventScript_27A62A + goto_if_gt ContestHall_EventScript_Set1Heart setvar VAR_TEMP_0, 0 return -LinkContestRoom1_EventScript_27A56E:: @ 827A56E +ContestHall_EventScript_GetNumberOfHeartsMaster:: @ 827A56E compare VAR_0x8004, 600 - goto_if_gt LinkContestRoom1_EventScript_27A654 + goto_if_gt ContestHall_EventScript_Set8Hearts compare VAR_0x8004, 560 - goto_if_gt LinkContestRoom1_EventScript_27A64E + goto_if_gt ContestHall_EventScript_Set7Hearts compare VAR_0x8004, 520 - goto_if_gt LinkContestRoom1_EventScript_27A648 + goto_if_gt ContestHall_EventScript_Set6Hearts compare VAR_0x8004, 480 - goto_if_gt LinkContestRoom1_EventScript_27A642 + goto_if_gt ContestHall_EventScript_Set5Hearts compare VAR_0x8004, 440 - goto_if_gt LinkContestRoom1_EventScript_27A63C + goto_if_gt ContestHall_EventScript_Set4Hearts compare VAR_0x8004, 400 - goto_if_gt LinkContestRoom1_EventScript_27A636 + goto_if_gt ContestHall_EventScript_Set3Hearts compare VAR_0x8004, 360 - goto_if_gt LinkContestRoom1_EventScript_27A630 + goto_if_gt ContestHall_EventScript_Set2Hearts compare VAR_0x8004, 320 - goto_if_gt LinkContestRoom1_EventScript_27A62A + goto_if_gt ContestHall_EventScript_Set1Heart setvar VAR_TEMP_0, 0 return -LinkContestRoom1_EventScript_27A5CC:: @ 827A5CC +ContestHall_EventScript_GetNumberOfHeartsLink:: @ 827A5CC compare VAR_0x8004, 600 - goto_if_gt LinkContestRoom1_EventScript_27A654 + goto_if_gt ContestHall_EventScript_Set8Hearts compare VAR_0x8004, 550 - goto_if_gt LinkContestRoom1_EventScript_27A64E + goto_if_gt ContestHall_EventScript_Set7Hearts compare VAR_0x8004, 500 - goto_if_gt LinkContestRoom1_EventScript_27A648 + goto_if_gt ContestHall_EventScript_Set6Hearts compare VAR_0x8004, 450 - goto_if_gt LinkContestRoom1_EventScript_27A642 + goto_if_gt ContestHall_EventScript_Set5Hearts compare VAR_0x8004, 400 - goto_if_gt LinkContestRoom1_EventScript_27A63C + goto_if_gt ContestHall_EventScript_Set4Hearts compare VAR_0x8004, 300 - goto_if_gt LinkContestRoom1_EventScript_27A636 + goto_if_gt ContestHall_EventScript_Set3Hearts compare VAR_0x8004, 200 - goto_if_gt LinkContestRoom1_EventScript_27A630 + goto_if_gt ContestHall_EventScript_Set2Hearts compare VAR_0x8004, 100 - goto_if_gt LinkContestRoom1_EventScript_27A62A + goto_if_gt ContestHall_EventScript_Set1Heart setvar VAR_TEMP_0, 0 return -LinkContestRoom1_EventScript_27A62A:: @ 827A62A +ContestHall_EventScript_Set1Heart:: @ 827A62A setvar VAR_TEMP_0, 1 return -LinkContestRoom1_EventScript_27A630:: @ 827A630 +ContestHall_EventScript_Set2Hearts:: @ 827A630 setvar VAR_TEMP_0, 2 return -LinkContestRoom1_EventScript_27A636:: @ 827A636 +ContestHall_EventScript_Set3Hearts:: @ 827A636 setvar VAR_TEMP_0, 3 return -LinkContestRoom1_EventScript_27A63C:: @ 827A63C +ContestHall_EventScript_Set4Hearts:: @ 827A63C setvar VAR_TEMP_0, 4 return -LinkContestRoom1_EventScript_27A642:: @ 827A642 +ContestHall_EventScript_Set5Hearts:: @ 827A642 setvar VAR_TEMP_0, 5 return -LinkContestRoom1_EventScript_27A648:: @ 827A648 +ContestHall_EventScript_Set6Hearts:: @ 827A648 setvar VAR_TEMP_0, 6 return -LinkContestRoom1_EventScript_27A64E:: @ 827A64E +ContestHall_EventScript_Set7Hearts:: @ 827A64E setvar VAR_TEMP_0, 7 return -LinkContestRoom1_EventScript_27A654:: @ 827A654 +ContestHall_EventScript_Set8Hearts:: @ 827A654 setvar VAR_TEMP_0, 8 return -LinkContestRoom1_EventScript_27A65A:: @ 827A65A +ContestHall_EventScript_TryDisplayHeartAudienceMember1:: @ 827A65A compare VAR_TEMP_1, 1 - goto_if_eq LinkContestRoom1_EventScript_27A67D - applymovement 6, LinkContestRoom1_Movement_27AD11 + goto_if_eq ContestHall_EventScript_AudienceMember1AlreadyEmoted + applymovement 6, ContestHall_Movement_Heart playse SE_PIN delay 14 setvar VAR_TEMP_1, 1 - addvar VAR_TEMP_0, 65535 + addvar VAR_TEMP_0, -1 return -LinkContestRoom1_EventScript_27A67D:: @ 827A67D +ContestHall_EventScript_AudienceMember1AlreadyEmoted:: @ 827A67D return -LinkContestRoom1_EventScript_27A67E:: @ 827A67E +ContestHall_EventScript_TryDisplayHeartAudienceMember2:: @ 827A67E compare VAR_TEMP_2, 1 - goto_if_eq LinkContestRoom1_EventScript_27A6A1 - applymovement 12, LinkContestRoom1_Movement_27AD11 + goto_if_eq ContestHall_EventScript_AudienceMember2AlreadyEmoted + applymovement 12, ContestHall_Movement_Heart playse SE_PIN delay 14 setvar VAR_TEMP_2, 1 - addvar VAR_TEMP_0, 65535 + addvar VAR_TEMP_0, -1 return -LinkContestRoom1_EventScript_27A6A1:: @ 827A6A1 +ContestHall_EventScript_AudienceMember2AlreadyEmoted:: @ 827A6A1 return -LinkContestRoom1_EventScript_27A6A2:: @ 827A6A2 +ContestHall_EventScript_TryDisplayHeartAudienceMember3:: @ 827A6A2 compare VAR_TEMP_3, 1 - goto_if_eq LinkContestRoom1_EventScript_27A6C5 - applymovement 7, LinkContestRoom1_Movement_27AD11 + goto_if_eq ContestHall_EventScript_AudienceMember3AlreadyEmoted + applymovement 7, ContestHall_Movement_Heart playse SE_PIN delay 14 setvar VAR_TEMP_3, 1 - addvar VAR_TEMP_0, 65535 + addvar VAR_TEMP_0, -1 return -LinkContestRoom1_EventScript_27A6C5:: @ 827A6C5 +ContestHall_EventScript_AudienceMember3AlreadyEmoted:: @ 827A6C5 return -LinkContestRoom1_EventScript_27A6C6:: @ 827A6C6 +ContestHall_EventScript_TryDisplayHeartAudienceMember4:: @ 827A6C6 compare VAR_TEMP_4, 1 - goto_if_eq LinkContestRoom1_EventScript_27A6E9 - applymovement 8, LinkContestRoom1_Movement_27AD11 + goto_if_eq ContestHall_EventScript_Audience4MemberAlreadyEmoted + applymovement 8, ContestHall_Movement_Heart playse SE_PIN delay 14 setvar VAR_TEMP_4, 1 - addvar VAR_TEMP_0, 65535 + addvar VAR_TEMP_0, -1 return -LinkContestRoom1_EventScript_27A6E9:: @ 827A6E9 +ContestHall_EventScript_Audience4MemberAlreadyEmoted:: @ 827A6E9 return -LinkContestRoom1_EventScript_27A6EA:: @ 827A6EA +ContestHall_EventScript_TryDisplayHeartAudienceMember5:: @ 827A6EA compare VAR_TEMP_5, 1 - goto_if_eq LinkContestRoom1_EventScript_27A70D - applymovement 9, LinkContestRoom1_Movement_27AD11 + goto_if_eq ContestHall_EventScript_AudienceMember5AlreadyEmoted + applymovement 9, ContestHall_Movement_Heart playse SE_PIN delay 14 setvar VAR_TEMP_5, 1 - addvar VAR_TEMP_0, 65535 + addvar VAR_TEMP_0, -1 return -LinkContestRoom1_EventScript_27A70D:: @ 827A70D +ContestHall_EventScript_AudienceMember5AlreadyEmoted:: @ 827A70D return -LinkContestRoom1_EventScript_27A70E:: @ 827A70E +ContestHall_EventScript_TryDisplayHeartAudienceMember6:: @ 827A70E compare VAR_TEMP_6, 1 - goto_if_eq LinkContestRoom1_EventScript_27A731 - applymovement 10, LinkContestRoom1_Movement_27AD11 + goto_if_eq ContestHall_EventScript_AudienceMember6AlreadyEmoted + applymovement 10, ContestHall_Movement_Heart playse SE_PIN delay 14 setvar VAR_TEMP_6, 1 - addvar VAR_TEMP_0, 65535 + addvar VAR_TEMP_0, -1 return -LinkContestRoom1_EventScript_27A731:: @ 827A731 +ContestHall_EventScript_AudienceMember6AlreadyEmoted:: @ 827A731 return -LinkContestRoom1_EventScript_27A732:: @ 827A732 +ContestHall_EventScript_TryDisplayHeartAudienceMember7:: @ 827A732 compare VAR_TEMP_7, 1 - goto_if_eq LinkContestRoom1_EventScript_27A755 - applymovement 11, LinkContestRoom1_Movement_27AD11 + goto_if_eq ContestHall_EventScript_AudienceMember7AlreadyEmoted + applymovement 11, ContestHall_Movement_Heart playse SE_PIN delay 14 setvar VAR_TEMP_7, 1 - addvar VAR_TEMP_0, 65535 + addvar VAR_TEMP_0, -1 return -LinkContestRoom1_EventScript_27A755:: @ 827A755 +ContestHall_EventScript_AudienceMember7AlreadyEmoted:: @ 827A755 return -LinkContestRoom1_EventScript_27A756:: @ 827A756 +ContestHall_EventScript_TryDisplayHeartAudienceMember8:: @ 827A756 compare VAR_TEMP_8, 1 - goto_if_eq LinkContestRoom1_EventScript_27A779 - applymovement 15, LinkContestRoom1_Movement_27AD11 + goto_if_eq ContestHall_EventScript_AudienceMember8AlreadyEmoted + applymovement 15, ContestHall_Movement_Heart playse SE_PIN delay 14 setvar VAR_TEMP_8, 1 - addvar VAR_TEMP_0, 65535 + addvar VAR_TEMP_0, -1 return -LinkContestRoom1_EventScript_27A779:: @ 827A779 +ContestHall_EventScript_AudienceMember8AlreadyEmoted:: @ 827A779 return -LinkContestRoom1_EventScript_27A77A:: @ 827A77A +ContestHall_EventScript_ContestantReturn:: @ 827A77A closemessage release - removeobject 13 - special sub_80F8EB8 - call LinkContestRoom1_EventScript_27A133 + removeobject 13 @ Poke Ball + special HideContestEntryMonPic + call ContestHall_EventScript_TryWaitForLink switch VAR_0x8006 - case 0, LinkContestRoom1_EventScript_27A7B9 - case 1, LinkContestRoom1_EventScript_27A7CB - case 2, LinkContestRoom1_EventScript_27A7DD - case 3, LinkContestRoom1_EventScript_27A7EF + case 0, ContestHall_EventScript_Player1WalkBack + case 1, ContestHall_EventScript_Player2WalkBack + case 2, ContestHall_EventScript_Player3WalkBack + case 3, ContestHall_EventScript_Player4WalkBack return -LinkContestRoom1_EventScript_27A7B9:: @ 827A7B9 - call LinkContestRoom1_EventScript_27A133 +ContestHall_EventScript_Player1WalkBack:: @ 827A7B9 + call ContestHall_EventScript_TryWaitForLink lockall - applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD58 + applymovement VAR_0x800B, ContestHall_Movement_Player1WalkBack waitmovement 0 releaseall return -LinkContestRoom1_EventScript_27A7CB:: @ 827A7CB - call LinkContestRoom1_EventScript_27A133 +ContestHall_EventScript_Player2WalkBack:: @ 827A7CB + call ContestHall_EventScript_TryWaitForLink lockall - applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD62 + applymovement VAR_0x800B, ContestHall_Movement_Player2WalkBack waitmovement 0 releaseall return -LinkContestRoom1_EventScript_27A7DD:: @ 827A7DD - call LinkContestRoom1_EventScript_27A133 +ContestHall_EventScript_Player3WalkBack:: @ 827A7DD + call ContestHall_EventScript_TryWaitForLink lockall - applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD6A + applymovement VAR_0x800B, ContestHall_Movement_Player3WalkBack waitmovement 0 releaseall return -LinkContestRoom1_EventScript_27A7EF:: @ 827A7EF - call LinkContestRoom1_EventScript_27A133 +ContestHall_EventScript_Player4WalkBack:: @ 827A7EF + call ContestHall_EventScript_TryWaitForLink lockall - applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD74 + applymovement VAR_0x800B, ContestHall_Movement_Player4WalkBack waitmovement 0 releaseall return -LinkContestRoom1_EventScript_27A801:: @ 827A801 +ContestHall_EventScript_DoContestAppeals:: @ 827A801 lockall - applymovement 1, LinkContestRoom1_Movement_27AD27 + applymovement 1, ContestHall_Movement_FaceContestants2 waitmovement 0 - call LinkContestRoom1_EventScript_27A133 - call LinkContestRoom1_EventScript_27A853 + call ContestHall_EventScript_TryWaitForLink + call ContestHall_EventScript_LetsAppeal waitmessage - applymovement 1, LinkContestRoom1_Movement_27AD15 - applymovement 2, LinkContestRoom1_Movement_27AD19 + applymovement 1, ContestHall_Movement_WalkStageLeft + applymovement 2, ContestHall_Movement_WalkStageRight waitmovement 0 releaseall - call LinkContestRoom1_EventScript_27A133 + call ContestHall_EventScript_TryWaitForLink setvar VAR_TEMP_9, 1 - special sub_80F910C + special LinkContestTryHideWirelessIndicator startcontest - special sub_80F90DC + special LinkContestTryShowWirelessIndicator setvar VAR_TEMP_9, 0 lockall - applymovement 1, LinkContestRoom1_Movement_27AD19 - applymovement 2, LinkContestRoom1_Movement_27AD15 + applymovement 1, ContestHall_Movement_WalkStageRight + applymovement 2, ContestHall_Movement_WalkStageLeft waitmovement 0 releaseall return -LinkContestRoom1_EventScript_27A853:: @ 827A853 - compare VAR_CONTEST_LOCATION, 5 - goto_if_eq LinkContestRoom1_EventScript_27A867 - msgbox LinkContestRoom1_Text_27B904, MSGBOX_DEFAULT +ContestHall_EventScript_LetsAppeal:: @ 827A853 + compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK + goto_if_eq ContestHall_EventScript_LetsAppealLink + msgbox ContestHall_Text_VotingCompleteLetsAppeal, MSGBOX_DEFAULT return -LinkContestRoom1_EventScript_27A867:: @ 827A867 - specialvar VAR_RESULT, sub_80F9160 - compare VAR_RESULT, 1 - goto_if_eq LinkContestRoom1_EventScript_27A87E - messageautoscroll LinkContestRoom1_Text_27B904 +ContestHall_EventScript_LetsAppealLink:: @ 827A867 + specialvar VAR_RESULT, IsWirelessContest + compare VAR_RESULT, TRUE + goto_if_eq ContestHall_EventScript_LetsAppealWireless + messageautoscroll ContestHall_Text_VotingCompleteLetsAppeal waitmessage return -LinkContestRoom1_EventScript_27A87E:: @ 827A87E - call LinkContestRoom1_EventScript_27A133 - messageautoscroll LinkContestRoom1_Text_27CA71 +ContestHall_EventScript_LetsAppealWireless:: @ 827A87E + call ContestHall_EventScript_TryWaitForLink + messageautoscroll ContestHall_Text_VotingComplete waitmessage - call LinkContestRoom1_EventScript_27A133 - messageautoscroll LinkContestRoom1_Text_27CAD0 + call ContestHall_EventScript_TryWaitForLink + messageautoscroll ContestHall_Text_SecondStageOfJudging waitmessage - call LinkContestRoom1_EventScript_27A133 - messageautoscroll LinkContestRoom1_Text_27CB55 + call ContestHall_EventScript_TryWaitForLink + messageautoscroll ContestHall_Text_LetsAppeal waitmessage - call LinkContestRoom1_EventScript_27A133 + call ContestHall_EventScript_TryWaitForLink return -LinkContestRoom1_EventScript_27A8A5:: @ 827A8A5 - call LinkContestRoom1_EventScript_27A133 - call LinkContestRoom1_EventScript_27A8FB - call LinkContestRoom1_EventScript_27A133 - call LinkContestRoom1_EventScript_27A91E - call LinkContestRoom1_EventScript_27A133 - applymovement 1, LinkContestRoom1_Movement_27AD0F +ContestHall_EventScript_ContestResults:: @ 827A8A5 + call ContestHall_EventScript_TryWaitForLink + call ContestHall_EventScript_ThatsItForJudging + call ContestHall_EventScript_TryWaitForLink + call ContestHall_EventScript_ThankYouForAppeals + call ContestHall_EventScript_TryWaitForLink + applymovement 1, ContestHall_Movement_MCFaceJudge waitmovement 0 - call LinkContestRoom1_EventScript_27A941 - call LinkContestRoom1_EventScript_27A133 - call LinkContestRoom1_EventScript_27A964 - call LinkContestRoom1_EventScript_27A133 - applymovement 1, LinkContestRoom1_Movement_27AD13 + call ContestHall_EventScript_JudgeLooksReady + call ContestHall_EventScript_TryWaitForLink + call ContestHall_EventScript_WeWillDeclareWinner + call ContestHall_EventScript_TryWaitForLink + applymovement 1, ContestHall_Movement_FaceContestants waitmovement 0 closemessage releaseall - special sub_80F910C + special LinkContestTryHideWirelessIndicator setvar VAR_TEMP_9, 1 showcontestresults setvar VAR_TEMP_9, 0 playbgm MUS_CON_FAN, 0 return -LinkContestRoom1_EventScript_27A8FB:: @ 827A8FB - compare VAR_CONTEST_LOCATION, 5 - goto_if_eq LinkContestRoom1_EventScript_27A90F - msgbox LinkContestRoom1_Text_27BA15, MSGBOX_DEFAULT +ContestHall_EventScript_ThatsItForJudging:: @ 827A8FB + compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK + goto_if_eq ContestHall_EventScript_ThatsItForJudgingLink + msgbox ContestHall_Text_ThatsItForJudging, MSGBOX_DEFAULT return -LinkContestRoom1_EventScript_27A90F:: @ 827A90F - call LinkContestRoom1_EventScript_27A133 - messageautoscroll LinkContestRoom1_Text_27BA15 +ContestHall_EventScript_ThatsItForJudgingLink:: @ 827A90F + call ContestHall_EventScript_TryWaitForLink + messageautoscroll ContestHall_Text_ThatsItForJudging waitmessage delay 30 return -LinkContestRoom1_EventScript_27A91E:: @ 827A91E - compare VAR_CONTEST_LOCATION, 5 - goto_if_eq LinkContestRoom1_EventScript_27A932 - msgbox LinkContestRoom1_Text_27BA30, MSGBOX_DEFAULT +ContestHall_EventScript_ThankYouForAppeals:: @ 827A91E + compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK + goto_if_eq ContestHall_EventScript_ThankYouForAppealsLink + msgbox ContestHall_Text_ThankYouForAppeals, MSGBOX_DEFAULT return -LinkContestRoom1_EventScript_27A932:: @ 827A932 - call LinkContestRoom1_EventScript_27A133 - messageautoscroll LinkContestRoom1_Text_27BA30 +ContestHall_EventScript_ThankYouForAppealsLink:: @ 827A932 + call ContestHall_EventScript_TryWaitForLink + messageautoscroll ContestHall_Text_ThankYouForAppeals waitmessage delay 30 return -LinkContestRoom1_EventScript_27A941:: @ 827A941 - compare VAR_CONTEST_LOCATION, 5 - goto_if_eq LinkContestRoom1_EventScript_27A955 - msgbox LinkContestRoom1_Text_27BAAC, MSGBOX_DEFAULT +ContestHall_EventScript_JudgeLooksReady:: @ 827A941 + compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK + goto_if_eq ContestHall_EventScript_JudgeLooksReadyLink + msgbox ContestHall_Text_JudgeLooksReady, MSGBOX_DEFAULT return -LinkContestRoom1_EventScript_27A955:: @ 827A955 - call LinkContestRoom1_EventScript_27A133 - messageautoscroll LinkContestRoom1_Text_27BAAC +ContestHall_EventScript_JudgeLooksReadyLink:: @ 827A955 + call ContestHall_EventScript_TryWaitForLink + messageautoscroll ContestHall_Text_JudgeLooksReady waitmessage delay 30 return -LinkContestRoom1_EventScript_27A964:: @ 827A964 - compare VAR_CONTEST_LOCATION, 5 - goto_if_eq LinkContestRoom1_EventScript_27A978 - msgbox LinkContestRoom1_Text_27BB25, MSGBOX_DEFAULT +ContestHall_EventScript_WeWillDeclareWinner:: @ 827A964 + compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK + goto_if_eq ContestHall_EventScript_WeWillDeclareWinnerLink + msgbox ContestHall_Text_WeWillNowDeclareWinner, MSGBOX_DEFAULT return -LinkContestRoom1_EventScript_27A978:: @ 827A978 - call LinkContestRoom1_EventScript_27A133 - messageautoscroll LinkContestRoom1_Text_27BB25 +ContestHall_EventScript_WeWillDeclareWinnerLink:: @ 827A978 + call ContestHall_EventScript_TryWaitForLink + messageautoscroll ContestHall_Text_WeWillNowDeclareWinner waitmessage delay 30 return -LinkContestRoom1_EventScript_27A987:: @ 827A987 - special sub_80F831C +ContestHall_EventScript_GetWinnerObjEventId:: @ 827A987 + special GetContestWinnerId switch VAR_0x8005 - case 0, LinkContestRoom1_EventScript_27A9BC - case 1, LinkContestRoom1_EventScript_27A9C2 - case 2, LinkContestRoom1_EventScript_27A9C8 - case 3, LinkContestRoom1_EventScript_27A9CE + case 0, ContestHall_EventScript_GetPlayer1ObjEventId + case 1, ContestHall_EventScript_GetPlayer2ObjEventId + case 2, ContestHall_EventScript_GetPlayer3ObjEventId + case 3, ContestHall_EventScript_GetPlayer4ObjEventId return -LinkContestRoom1_EventScript_27A9BC:: @ 827A9BC +ContestHall_EventScript_GetPlayer1ObjEventId:: @ 827A9BC setvar VAR_TEMP_3, 3 return -LinkContestRoom1_EventScript_27A9C2:: @ 827A9C2 +ContestHall_EventScript_GetPlayer2ObjEventId:: @ 827A9C2 setvar VAR_TEMP_3, 4 return -LinkContestRoom1_EventScript_27A9C8:: @ 827A9C8 +ContestHall_EventScript_GetPlayer3ObjEventId:: @ 827A9C8 setvar VAR_TEMP_3, 5 return -LinkContestRoom1_EventScript_27A9CE:: @ 827A9CE +ContestHall_EventScript_GetPlayer4ObjEventId:: @ 827A9CE setvar VAR_TEMP_3, 14 return -LinkContestRoom1_EventScript_27A9D4:: @ 827A9D4 - special sub_80F834C - special sub_80F8390 +ContestHall_EventScript_CongratulateWinner:: @ 827A9D4 + special BufferContestWinnerTrainerName + special BufferContestWinnerMonName addvar VAR_0x8005, 1 buffernumberstring 1, VAR_0x8005 - addvar VAR_0x8005, 65535 - call LinkContestRoom1_EventScript_27AA00 - applymovement VAR_TEMP_3, LinkContestRoom1_Movement_27AD1D + addvar VAR_0x8005, -1 + call ContestHall_EventScript_CongratsWinner + applymovement VAR_TEMP_3, ContestHall_Movement_WinningPlayerWalkUp waitmovement 0 playse SE_W227B setvar VAR_TEMP_1, 0 return -LinkContestRoom1_EventScript_27AA00:: @ 827AA00 - compare VAR_CONTEST_LOCATION, 5 - goto_if_eq LinkContestRoom1_EventScript_27AA14 - msgbox LinkContestRoom1_Text_27BB4C, MSGBOX_DEFAULT +ContestHall_EventScript_CongratsWinner:: @ 827AA00 + compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK + goto_if_eq ContestHall_EventScript_CongratsWinnerLink + msgbox ContestHall_Text_CongratsTrainerXandMon, MSGBOX_DEFAULT return -LinkContestRoom1_EventScript_27AA14:: @ 827AA14 - messageautoscroll LinkContestRoom1_Text_27BB4C +ContestHall_EventScript_CongratsWinnerLink:: @ 827AA14 + messageautoscroll ContestHall_Text_CongratsTrainerXandMon waitmessage return -LinkContestRoom1_EventScript_27AA1B:: @ 827AA1B +ContestHall_EventScript_AudienceLookAround:: @ 827AA1B addvar VAR_TEMP_1, 1 lockall - compare VAR_CONTEST_LOCATION, 1 - call_if_gt LinkContestRoom1_EventScript_27AA6F - applymovement 9, LinkContestRoom1_Movement_27AD3B - applymovement 12, LinkContestRoom1_Movement_27AD3F - applymovement 7, LinkContestRoom1_Movement_27AD3B + compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_NORMAL + call_if_gt ContestHall_EventScript_VObjectAudienceLookAround + applymovement 9, ContestHall_Movement_AudienceMemberLookRight + applymovement 12, ContestHall_Movement_AudienceMemberLookDown + applymovement 7, ContestHall_Movement_AudienceMemberLookRight delay 30 - applymovement 10, LinkContestRoom1_Movement_27AD33 - applymovement 11, LinkContestRoom1_Movement_27AD3F - applymovement 6, LinkContestRoom1_Movement_27AD37 - applymovement 8, LinkContestRoom1_Movement_27AD33 + applymovement 10, ContestHall_Movement_AudienceMemberLookLeft + applymovement 11, ContestHall_Movement_AudienceMemberLookDown + applymovement 6, ContestHall_Movement_AudienceMemberLookUp + applymovement 8, ContestHall_Movement_AudienceMemberLookLeft compare VAR_TEMP_1, 4 - goto_if_ne LinkContestRoom1_EventScript_27AA1B + goto_if_ne ContestHall_EventScript_AudienceLookAround delay 30 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 +ContestHall_EventScript_VObjectAudienceLookAround:: @ 827AA6F + 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 -LinkContestRoom1_EventScript_27AB36:: @ 827AB36 - compare VAR_CONTEST_LOCATION, 5 - goto_if_eq LinkContestRoom1_EventScript_27ABD8 - call LinkContestRoom1_EventScript_27AB9E - goto_if_set FLAG_TEMP_2, LinkContestRoom1_EventScript_27AB82 +ContestHall_EventScript_GiveWinnerPrize:: @ 827AB36 + compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK + goto_if_eq ContestHall_EventScript_EndLinkContest + call ContestHall_EventScript_CheckShouldSkipPrize + goto_if_set FLAG_TEMP_2, ContestHall_EventScript_SkipPrize lockall - msgbox LinkContestRoom1_Text_27BBA8, MSGBOX_DEFAULT + msgbox ContestHall_Text_AcceptYourPrize, MSGBOX_DEFAULT releaseall - call LinkContestRoom1_EventScript_27ABF8 - call LinkContestRoom1_EventScript_27AC5E + call ContestHall_EventScript_WinnerApproachForPrize + call ContestHall_EventScript_GivePrizeIfWinner playse SE_W227B setvar VAR_TEMP_1, 0 - call LinkContestRoom1_EventScript_27AA1B + call ContestHall_EventScript_AudienceLookAround delay 30 - special sub_80F88E8 - compare VAR_0x8004, 1 - goto_if_eq LinkContestRoom1_EventScript_27ABD2 + special ShouldReadyContestArtist + compare VAR_0x8004, TRUE + goto_if_eq ContestHall_EventScript_SetReadyForContestArtist return -LinkContestRoom1_EventScript_27AB82:: @ 827AB82 +ContestHall_EventScript_SkipPrize:: @ 827AB82 lockall - msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT + msgbox ContestHall_Text_CongratsPleaseCompeteAgain, MSGBOX_DEFAULT releaseall delay 90 - special sub_80F88E8 - compare VAR_0x8004, 1 - goto_if_eq LinkContestRoom1_EventScript_27ABD2 + special ShouldReadyContestArtist + compare VAR_0x8004, TRUE + goto_if_eq ContestHall_EventScript_SetReadyForContestArtist return -LinkContestRoom1_EventScript_27AB9E:: @ 827AB9E - specialvar VAR_RESULT, sub_80F7F7C - compare VAR_RESULT, 1 - goto_if_eq LinkContestRoom1_EventScript_27ABAF +ContestHall_EventScript_CheckShouldSkipPrize:: @ 827AB9E + specialvar VAR_RESULT, HasMonWonThisContestBefore + compare VAR_RESULT, TRUE + goto_if_eq ContestHall_EventScript_CheckPlayerWon return -LinkContestRoom1_EventScript_27ABAF:: @ 827ABAF - special sub_80F831C +ContestHall_EventScript_CheckPlayerWon:: @ 827ABAF + special GetContestWinnerId compare VAR_0x8005, 3 - goto_if_eq LinkContestRoom1_EventScript_27ABBE + goto_if_eq ContestHall_EventScript_CheckRankIsMaster return -LinkContestRoom1_EventScript_27ABBE:: @ 827ABBE - compare VAR_CONTEST_RANK, 3 - goto_if_eq LinkContestRoom1_EventScript_27ABCD +ContestHall_EventScript_CheckRankIsMaster:: @ 827ABBE + compare VAR_CONTEST_RANK, CONTEST_RANK_MASTER + goto_if_eq ContestHall_EventScript_DontSkipPrize setflag FLAG_TEMP_2 return -LinkContestRoom1_EventScript_27ABCD:: @ 827ABCD +ContestHall_EventScript_DontSkipPrize:: @ 827ABCD return -LinkContestRoom1_EventScript_27ABCE:: @ 827ABCE +@ This flag is never read +ContestHall_EventScript_SetSketchFlag:: @ 827ABCE setflag FLAG_CONTEST_SKETCH_CREATED return -LinkContestRoom1_EventScript_27ABD2:: @ 827ABD2 +ContestHall_EventScript_SetReadyForContestArtist:: @ 827ABD2 setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 1 return -LinkContestRoom1_EventScript_27ABD8:: @ 827ABD8 +ContestHall_EventScript_EndLinkContest:: @ 827ABD8 delay 60 - special sub_80F84B0 - special sub_80F831C - special sub_80F88E8 - compare VAR_0x8004, 1 - goto_if_eq LinkContestRoom1_EventScript_27ABF1 + special GetContestPlayerId + special GetContestWinnerId + special ShouldReadyContestArtist + compare VAR_0x8004, TRUE + goto_if_eq ContestHall_EventScript_SetReadyForLinkContestArtist closemessage return -LinkContestRoom1_EventScript_27ABF1:: @ 827ABF1 +ContestHall_EventScript_SetReadyForLinkContestArtist:: @ 827ABF1 setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 2 return -LinkContestRoom1_EventScript_27ABF7:: @ 827ABF7 +@ Unused +ContestHall_EventScript_Ret:: @ 827ABF7 return -LinkContestRoom1_EventScript_27ABF8:: @ 827ABF8 +ContestHall_EventScript_WinnerApproachForPrize:: @ 827ABF8 switch VAR_0x8005 - case 0, LinkContestRoom1_EventScript_27AC2A - case 1, LinkContestRoom1_EventScript_27AC37 - case 2, LinkContestRoom1_EventScript_27AC44 - case 3, LinkContestRoom1_EventScript_27AC51 + case 0, ContestHall_EventScript_Player1ApproachForPrize + case 1, ContestHall_EventScript_Player2ApproachForPrize + case 2, ContestHall_EventScript_Player3ApproachForPrize + case 3, ContestHall_EventScript_Player4ApproachForPrize return -LinkContestRoom1_EventScript_27AC2A:: @ 827AC2A +ContestHall_EventScript_Player1ApproachForPrize:: @ 827AC2A lockall - applymovement VAR_TEMP_3, LinkContestRoom1_Movement_27AD7A + applymovement VAR_TEMP_3, ContestHall_Movement_Player1ApproachForPrize waitmovement 0 releaseall return -LinkContestRoom1_EventScript_27AC37:: @ 827AC37 +ContestHall_EventScript_Player2ApproachForPrize:: @ 827AC37 lockall - applymovement VAR_TEMP_3, LinkContestRoom1_Movement_27AD7E + applymovement VAR_TEMP_3, ContestHall_Movement_Player2ApproachForPrize waitmovement 0 releaseall return -LinkContestRoom1_EventScript_27AC44:: @ 827AC44 +ContestHall_EventScript_Player3ApproachForPrize:: @ 827AC44 lockall - applymovement VAR_TEMP_3, LinkContestRoom1_Movement_27AD29 + applymovement VAR_TEMP_3, ContestHall_Movement_Player3ApproachForPrize waitmovement 0 releaseall return -LinkContestRoom1_EventScript_27AC51:: @ 827AC51 +ContestHall_EventScript_Player4ApproachForPrize:: @ 827AC51 lockall - applymovement VAR_TEMP_3, LinkContestRoom1_Movement_27AD2D + applymovement VAR_TEMP_3, ContestHall_Movement_Player4ApproachForPrize waitmovement 0 releaseall return -LinkContestRoom1_EventScript_27AC5E:: @ 827AC5E - special sub_80F831C +@ In NPC Contests, the player is always entry 4 (id number 3) +ContestHall_EventScript_GivePrizeIfWinner:: @ 827AC5E + special GetContestWinnerId compare VAR_0x8005, 3 - goto_if_eq LinkContestRoom1_EventScript_27AC77 + goto_if_eq ContestHall_EventScript_GiveContestPrizes lockall - msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT + msgbox ContestHall_Text_CongratsPleaseCompeteAgain, MSGBOX_DEFAULT releaseall return -LinkContestRoom1_EventScript_27AC77:: @ 827AC77 - compare VAR_CONTEST_LOCATION, 2 - call_if_eq LinkContestRoom1_EventScript_27ABCE - specialvar VAR_RESULT, sub_80F7F7C - compare VAR_RESULT, 0 - goto_if_eq LinkContestRoom1_EventScript_27ACDF - compare VAR_CONTEST_RANK, 3 - goto_if_eq LinkContestRoom1_EventScript_27ACBD +ContestHall_EventScript_GiveContestPrizes:: @ 827AC77 + compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_SUPER + call_if_eq ContestHall_EventScript_SetSketchFlag + specialvar VAR_RESULT, HasMonWonThisContestBefore + compare VAR_RESULT, FALSE + goto_if_eq ContestHall_EventScript_ReceiveContestRibbon + compare VAR_CONTEST_RANK, CONTEST_RANK_MASTER + goto_if_eq ContestHall_EventScript_GiveLuxuryBall lockall - msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT + msgbox ContestHall_Text_CongratsPleaseCompeteAgain, MSGBOX_DEFAULT releaseall return -LinkContestRoom1_EventScript_27ACA8:: @ 827ACA8 +ContestHall_EventScript_NoRoomForLuxuryBall:: @ 827ACA8 lockall call Common_EventScript_BagIsFull - msgbox LinkContestRoom1_Text_27BC2F, MSGBOX_DEFAULT + msgbox ContestHall_Text_PickUpPrizeAtCounterLater, MSGBOX_DEFAULT releaseall setvar VAR_CONTEST_PRIZE_PICKUP, 4 return -LinkContestRoom1_EventScript_27ACBD:: @ 827ACBD - giveitem_std ITEM_LUXURY_BALL - compare VAR_RESULT, 0 - goto_if_eq LinkContestRoom1_EventScript_27ACA8 +ContestHall_EventScript_GiveLuxuryBall:: @ 827ACBD + giveitem ITEM_LUXURY_BALL + compare VAR_RESULT, FALSE + goto_if_eq ContestHall_EventScript_NoRoomForLuxuryBall lockall - msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT + msgbox ContestHall_Text_CongratsPleaseCompeteAgain, MSGBOX_DEFAULT releaseall return -LinkContestRoom1_EventScript_27ACDF:: @ 827ACDF - special sub_80F7FFC - incrementgamestat 42 +ContestHall_EventScript_ReceiveContestRibbon:: @ 827ACDF + special GiveMonContestRibbon + incrementgamestat GAME_STAT_RECEIVED_RIBBONS setflag FLAG_SYS_RIBBON_GET lockall - msgbox LinkContestRoom1_Text_27BBD4, MSGBOX_DEFAULT + msgbox ContestHall_Text_ConferRibbonAsPrize, MSGBOX_DEFAULT playfanfare MUS_FANFA4 - msgbox LinkContestRoom1_Text_27BC00, MSGBOX_DEFAULT + msgbox ContestHall_Text_ReceivedRibbon, MSGBOX_DEFAULT waitfanfare - special sub_80F8390 - msgbox LinkContestRoom1_Text_27BC16, MSGBOX_DEFAULT + special BufferContestWinnerMonName + msgbox ContestHall_Text_PutRibbonOnMon, MSGBOX_DEFAULT releaseall return -LinkContestRoom1_Movement_27AD09: @ 827AD09 +ContestHall_Movement_MCWalkDown: @ 827AD09 walk_down step_end -LinkContestRoom1_Movement_27AD0B: @ 827AD0B +ContestHall_Movement_MCBackUp: @ 827AD0B lock_facing_direction walk_up unlock_facing_direction step_end -LinkContestRoom1_Movement_27AD0F: @ 827AD0F +ContestHall_Movement_MCFaceJudge: @ 827AD0F walk_in_place_fastest_right step_end -LinkContestRoom1_Movement_27AD11: @ 827AD11 +ContestHall_Movement_Heart: @ 827AD11 emote_heart step_end -LinkContestRoom1_Movement_27AD13: @ 827AD13 +ContestHall_Movement_FaceContestants: @ 827AD13 walk_in_place_fastest_down step_end -LinkContestRoom1_Movement_27AD15: @ 827AD15 +ContestHall_Movement_WalkStageLeft: @ 827AD15 walk_left walk_left walk_in_place_fastest_down step_end -LinkContestRoom1_Movement_27AD19: @ 827AD19 +ContestHall_Movement_WalkStageRight: @ 827AD19 walk_right walk_right walk_in_place_fastest_down step_end -LinkContestRoom1_Movement_27AD1D: @ 827AD1D +ContestHall_Movement_WinningPlayerWalkUp: @ 827AD1D walk_up walk_in_place_fastest_down step_end -LinkContestRoom1_Movement_27AD20: @ 827AD20 +ContestHall_Movement_ContestantDelay32: @ 827AD20 delay_16 delay_16 step_end -LinkContestRoom1_Movement_27AD23: @ 827AD23 +ContestHall_Movement_MCFaceJudge2: @ 827AD23 walk_in_place_fastest_right step_end -LinkContestRoom1_Movement_27AD25: @ 827AD25 +ContestHall_Movement_JudgeFaceMC: @ 827AD25 walk_in_place_fastest_left step_end -LinkContestRoom1_Movement_27AD27: @ 827AD27 +ContestHall_Movement_FaceContestants2: @ 827AD27 walk_in_place_fastest_down step_end -LinkContestRoom1_Movement_27AD29: @ 827AD29 +ContestHall_Movement_Player3ApproachForPrize: @ 827AD29 walk_left walk_left walk_up step_end -LinkContestRoom1_Movement_27AD2D: @ 827AD2D +ContestHall_Movement_Player4ApproachForPrize: @ 827AD2D walk_left walk_left walk_left @@ -1314,54 +1328,54 @@ LinkContestRoom1_Movement_27AD2D: @ 827AD2D walk_up step_end -LinkContestRoom1_Movement_27AD33: @ 827AD33 +ContestHall_Movement_AudienceMemberLookLeft: @ 827AD33 face_left delay_16 face_original_direction step_end -LinkContestRoom1_Movement_27AD37: @ 827AD37 +ContestHall_Movement_AudienceMemberLookUp: @ 827AD37 face_up delay_16 face_original_direction step_end -LinkContestRoom1_Movement_27AD3B: @ 827AD3B +ContestHall_Movement_AudienceMemberLookRight: @ 827AD3B face_right delay_16 face_original_direction step_end -LinkContestRoom1_Movement_27AD3F: @ 827AD3F +ContestHall_Movement_AudienceMemberLookDown: @ 827AD3F face_down delay_16 face_original_direction step_end -LinkContestRoom1_Movement_27AD43: @ 827AD43 +ContestHall_Movement_Player4FaceUp: @ 827AD43 face_up step_end -LinkContestRoom1_Movement_27AD45: @ 827AD45 +ContestHall_Movement_MCLookAtJudge: @ 827AD45 face_up delay_16 walk_in_place_fastest_right step_end -LinkContestRoom1_Movement_27AD49: @ 827AD49 +ContestHall_Movement_JudgeLookAtMC: @ 827AD49 walk_in_place_fastest_left delay_16 delay_16 walk_in_place_fastest_down step_end -LinkContestRoom1_Movement_27AD4E: @ 827AD4E +ContestHall_Movement_MCWalkInPlaceDown: @ 827AD4E delay_16 delay_16 walk_in_place_fastest_down step_end -LinkContestRoom1_Movement_27AD52: @ 827AD52 +ContestHall_Movement_Player1WalkToCenter: @ 827AD52 walk_up walk_right walk_right @@ -1369,7 +1383,7 @@ LinkContestRoom1_Movement_27AD52: @ 827AD52 walk_in_place_fastest_up step_end -LinkContestRoom1_Movement_27AD58: @ 827AD58 +ContestHall_Movement_Player1WalkBack: @ 827AD58 walk_fast_left walk_fast_left walk_fast_left @@ -1377,31 +1391,31 @@ LinkContestRoom1_Movement_27AD58: @ 827AD58 walk_in_place_fastest_up step_end -LinkContestRoom1_Movement_27AD5E: @ 827AD5E +ContestHall_Movement_Player2WalkToCenter: @ 827AD5E walk_up walk_right walk_in_place_fastest_up step_end -LinkContestRoom1_Movement_27AD62: @ 827AD62 +ContestHall_Movement_Player2WalkBack: @ 827AD62 walk_fast_left walk_fast_down walk_in_place_fastest_up step_end -LinkContestRoom1_Movement_27AD66: @ 827AD66 +ContestHall_Movement_Player3WalkToCenter: @ 827AD66 walk_up walk_left walk_in_place_fastest_up step_end -LinkContestRoom1_Movement_27AD6A: @ 827AD6A +ContestHall_Movement_Player3WalkBack: @ 827AD6A walk_fast_right walk_fast_down walk_in_place_fastest_up step_end -LinkContestRoom1_Movement_27AD6E: @ 827AD6E +ContestHall_Movement_Player4WalkToCenter: @ 827AD6E walk_up walk_left walk_left @@ -1409,7 +1423,7 @@ LinkContestRoom1_Movement_27AD6E: @ 827AD6E walk_in_place_fastest_up step_end -LinkContestRoom1_Movement_27AD74: @ 827AD74 +ContestHall_Movement_Player4WalkBack: @ 827AD74 walk_fast_right walk_fast_right walk_fast_right @@ -1417,36 +1431,37 @@ LinkContestRoom1_Movement_27AD74: @ 827AD74 walk_in_place_fastest_up step_end -LinkContestRoom1_Movement_27AD7A: @ 827AD7A +ContestHall_Movement_Player1ApproachForPrize: @ 827AD7A walk_right walk_right walk_up step_end -LinkContestRoom1_Movement_27AD7E: @ 827AD7E +ContestHall_Movement_Player2ApproachForPrize: @ 827AD7E walk_up step_end -LinkContestRoom1_EventScript_27AD80:: @ 827AD80 - specialvar VAR_RESULT, sub_80F9134 - compare VAR_RESULT, 1 - goto_if_eq LinkContestRoom1_EventScript_27AD91 +@ IsContestWithRSPlayer has no side effect, so this is nop +ContestHall_EventScript_CheckIfContestWithRSPlayer:: @ 827AD80 + specialvar VAR_RESULT, IsContestWithRSPlayer + compare VAR_RESULT, TRUE + goto_if_eq ContestHall_EventScript_RetRSPlayer return -LinkContestRoom1_EventScript_27AD91:: @ 827AD91 +ContestHall_EventScript_RetRSPlayer:: @ 827AD91 return -LilycoveCity_ContestLobby_EventScript_27AD92:: @ 827AD92 - specialvar VAR_RESULT, sub_80F9134 - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_27ADA3 +LilycoveCity_ContestLobby_EventScript_DelayIfContestWithRSPlayer:: @ 827AD92 + specialvar VAR_RESULT, IsContestWithRSPlayer + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_ContestLobby_EventScript_DelayForRSPlayer return -LilycoveCity_ContestLobby_EventScript_27ADA3:: @ 827ADA3 +LilycoveCity_ContestLobby_EventScript_DelayForRSPlayer:: @ 827ADA3 delay 9 return -LilycoveCity_ContestLobby_Text_27ADA7: @ 827ADA7 +LilycoveCity_ContestLobby_Text_ReceptionDontHavePokeblockCase: @ 827ADA7 .string "Hello!\p" .string "This is the reception counter for\n" .string "POKéMON CONTESTS.\p" @@ -1455,31 +1470,32 @@ LilycoveCity_ContestLobby_Text_27ADA7: @ 827ADA7 .string "In that case, we need to provide you\n" .string "with this!$" -LilycoveCity_ContestLobby_Text_27AE47: @ 827AE47 +LilycoveCity_ContestLobby_Text_NowThatWeveClearedThatUp: @ 827AE47 .string "Okay, now that we've cleared that\n" .string "up…\p" .string "Hello!\p" .string "This is the reception counter for\n" .string "POKéMON CONTESTS.$" -LilycoveCity_ContestLobby_Text_27AEA8: @ 827AEA8 +LilycoveCity_ContestLobby_Text_ContestReception: @ 827AEA8 .string "Hello!\p" .string "This is the reception counter for\n" .string "POKéMON CONTESTS.$" -LilycoveCity_ContestLobby_Text_27AEE3: @ 827AEE3 +@ Unused +LilycoveCity_ContestLobby_Text_CounterOnlyFor4PlayerContests: @ 827AEE3 .string "Hello!\p" .string "This reception counter is only\n" .string "for 4-player POKéMON CONTESTS.$" -LilycoveCity_ContestLobby_Text_27AF28: @ 827AF28 +LilycoveCity_ContestLobby_Text_EnterContest1: @ 827AF28 .string "Would you like to enter your POKéMON\n" .string "in our CONTESTS?$" -LilycoveCity_ContestLobby_Text_27AF5E: @ 827AF5E +LilycoveCity_ContestLobby_Text_WhichTopic1: @ 827AF5E .string "Which topic would you like?$" -LilycoveCity_ContestLobby_Text_27AF7A: @ 827AF7A +LilycoveCity_ContestLobby_Text_ExplainContests: @ 827AF7A .string "A POKéMON CONTEST involves four\n" .string "TRAINERS entering one POKéMON each\l" .string "in competitive judging.\p" @@ -1498,14 +1514,14 @@ LilycoveCity_ContestLobby_Text_27AF7A: @ 827AF7A .string "The POKéMON garnering the highest\n" .string "score is declared the winner.$" -LilycoveCity_ContestLobby_Text_27B17D: @ 827B17D +LilycoveCity_ContestLobby_Text_ExplainContestTypes: @ 827B17D .string "There are five kinds of CONTESTS.\p" .string "COOL, BEAUTY, CUTE, SMART, and\n" .string "TOUGH are the five categories.\p" .string "Choose the CONTEST that is right for\n" .string "the POKéMON you plan to enter.$" -LilycoveCity_ContestLobby_Text_27B221: @ 827B221 +LilycoveCity_ContestLobby_Text_ExplainContestRanks: @ 827B221 .string "There are four ranks of POKéMON\n" .string "CONTESTS.\p" .string "NORMAL, SUPER, HYPER, and MASTER\n" @@ -1523,77 +1539,77 @@ LilycoveCity_ContestLobby_Text_27B221: @ 827B221 .string "may compete in the MASTER Rank as\l" .string "often as its TRAINER wants.$" -LilycoveCity_ContestLobby_Text_27B3FF: @ 827B3FF +LilycoveCity_ContestLobby_Text_EnterWhichRank: @ 827B3FF .string "Which Rank would you like to enter?$" -LilycoveCity_ContestLobby_Text_27B423: @ 827B423 +LilycoveCity_ContestLobby_Text_EnterWhichContest1: @ 827B423 .string "Which CONTEST would you like to enter?$" -LilycoveCity_ContestLobby_Text_27B44A: @ 827B44A +LilycoveCity_ContestLobby_Text_EnterWhichPokemon1: @ 827B44A .string "Which POKéMON would you like to enter?$" -LilycoveCity_ContestLobby_Text_27B471: @ 827B471 +LilycoveCity_ContestLobby_Text_MonNotQualifiedForRank: @ 827B471 .string "I'm terribly sorry, but your POKéMON\n" .string "is not qualified to compete at this\l" .string "Rank yet…$" -LilycoveCity_ContestLobby_Text_27B4C4: @ 827B4C4 +LilycoveCity_ContestLobby_Text_EggCannotTakePart: @ 827B4C4 .string "I'm sorry, but an EGG cannot take part\n" .string "in a POKéMON CONTEST.$" -LilycoveCity_ContestLobby_Text_27B501: @ 827B501 +LilycoveCity_ContestLobby_Text_MonInNoConditionForContest: @ 827B501 .string "Your POKéMON appears to be in no\n" .string "condition to take part in a CONTEST…$" -LilycoveCity_ContestLobby_Text_27B547: @ 827B547 +LilycoveCity_ContestLobby_Text_AlreadyWonEnterAnyway: @ 827B547 .string "Oh, but that RIBBON…\p" .string "Your POKéMON has won this CONTEST\n" .string "before, hasn't it?\p" .string "Would you like to enter it in this\n" .string "CONTEST anyway?$" -LilycoveCity_ContestLobby_Text_27B5C4: @ 827B5C4 +LilycoveCity_ContestLobby_Text_ConfirmContestMon: @ 827B5C4 .string "Is that your CONTEST POKéMON?$" -LilycoveCity_ContestLobby_Text_27B5E2: @ 827B5E2 +LilycoveCity_ContestLobby_Text_YourMonIsEntryNum4: @ 827B5E2 .string "Okay, your POKéMON will be entered\n" .string "in this CONTEST.\p" .string "Your POKéMON is Entry No. 4.\n" .string "The CONTEST will begin shortly.$" -LilycoveCity_ContestLobby_Text_27B653: @ 827B653 +LilycoveCity_ContestLobby_Text_ComeThroughHere: @ 827B653 .string "Please come in through here.\n" .string "Good luck!$" -LilycoveCity_ContestLobby_Text_27B67B: @ 827B67B +LilycoveCity_ContestLobby_Text_PokemonWonWeHavePrize: @ 827B67B .string "Congratulations! Your POKéMON is the\n" .string "CONTEST winner!\p" .string "We have your prize right here.\n" .string "Please, right this way!$" -LilycoveCity_ContestLobby_Text_27B6E7: @ 827B6E7 +LilycoveCity_ContestLobby_Text_ComeBackForPrizeLater: @ 827B6E7 .string "Please come back for your prize\n" .string "later on.$" -LinkContestRoom1_Text_27B711: @ 827B711 +ContestHall_Text_GettingStartedParticipantsAsFollows: @ 827B711 .string "MC: Hello! We're just getting started\n" .string "with a {STR_VAR_3} Rank POKéMON\l" .string "{STR_VAR_2}!\p" .string "The participating TRAINERS and their\n" .string "POKéMON are as follows:$" -LinkContestRoom1_Text_27B78F: @ 827B78F +ContestHall_Text_GettingStartedParticipantsAsFollowsLink: @ 827B78F .string "MC: Hello! We're just getting started\n" .string "with a 4-player linked POKéMON\l" .string "{STR_VAR_2}!\p" .string "The participating TRAINERS and their\n" .string "POKéMON are as follows:$" -LinkContestRoom1_Text_27B815: @ 827B815 +ContestHall_Text_EntryXTrainersMon: @ 827B815 .string "MC: Entry No. {STR_VAR_2}!\n" .string "{STR_VAR_1}'s {STR_VAR_3}!$" -LinkContestRoom1_Text_27B830: @ 827B830 +ContestHall_Text_SeenContestantsAudienceWillVote: @ 827B830 .string "MC: We've just seen the four POKéMON\n" .string "contestants.\p" .string "Now it's time for primary judging!\p" @@ -1602,10 +1618,10 @@ LinkContestRoom1_Text_27B830: @ 827B830 .string "Without any further ado, let the\n" .string "voting begin!$" -LinkContestRoom1_Text_27B8F2: @ 827B8F2 +ContestHall_Text_VotingUnderWay: @ 827B8F2 .string "Voting under way…$" -LinkContestRoom1_Text_27B904: @ 827B904 +ContestHall_Text_VotingCompleteLetsAppeal: @ 827B904 .string "Voting is now complete!\p" .string "While the votes are being tallied,\n" .string "let's move on to secondary judging!\p" @@ -1616,72 +1632,75 @@ LinkContestRoom1_Text_27B904: @ 827B904 .string "Let's see a little enthusiasm!\n" .string "Let's appeal!$" -LinkContestRoom1_Text_27BA15: @ 827BA15 +ContestHall_Text_ThatsItForJudging: @ 827BA15 .string "MC: That's it for judging!$" -LinkContestRoom1_Text_27BA30: @ 827BA30 +ContestHall_Text_ThankYouForAppeals: @ 827BA30 .string "Thank you all for a most wonderful\n" .string "display of quality appeals!\p" .string "This concludes all judging!\n" .string "Thank you for your fine efforts!$" -LinkContestRoom1_Text_27BAAC: @ 827BAAC +ContestHall_Text_JudgeLooksReady: @ 827BAAC .string "Now, all that remains is the pulse-\n" .string "pounding proclamation of the winner.\p" .string "The JUDGE looks ready to make\n" .string "the announcement!$" -LinkContestRoom1_Text_27BB25: @ 827BB25 +ContestHall_Text_WeWillNowDeclareWinner: @ 827BB25 .string "JUDGE: We will now declare the winner!$" -LinkContestRoom1_Text_27BB4C: @ 827BB4C +ContestHall_Text_CongratsTrainerXandMon: @ 827BB4C .string "MC: Entry No. {STR_VAR_2}!\p" .string "{STR_VAR_3} and {STR_VAR_1},\n" .string "congratulations!$" -LinkContestRoom1_Text_27BB7A: @ 827BB7A +ContestHall_Text_CongratsPleaseCompeteAgain: @ 827BB7A .string "MC: Congratulations!\n" .string "Please do compete again!$" -LinkContestRoom1_Text_27BBA8: @ 827BBA8 +ContestHall_Text_AcceptYourPrize: @ 827BBA8 .string "MC: Here you are!\n" .string "Please accept your prize!$" -LinkContestRoom1_Text_27BBD4: @ 827BBD4 +ContestHall_Text_ConferRibbonAsPrize: @ 827BBD4 .string "We confer on you this RIBBON\n" .string "as your prize!$" -LinkContestRoom1_Text_27BC00: @ 827BC00 +ContestHall_Text_ReceivedRibbon: @ 827BC00 .string "{PLAYER} received a RIBBON.$" -LinkContestRoom1_Text_27BC16: @ 827BC16 +ContestHall_Text_PutRibbonOnMon: @ 827BC16 .string "{PLAYER} put the RIBBON on\n" .string "{STR_VAR_1}.$" -LinkContestRoom1_Text_27BC2F: @ 827BC2F +ContestHall_Text_PickUpPrizeAtCounterLater: @ 827BC2F .string "Please pick up your prize at\n" .string "the reception counter later.\l" .string "Please do compete again!$" -LinkContestRoom1_Text_27BC82: @ 827BC82 +@ Unused +ContestHall_Text_OnlyRegister4Players: @ 827BC82 .string "I only register four players for\n" .string "POKéMON CONTESTS.\p" .string "If three other players link up, all\n" .string "four may enter the same CONTEST.\p" .string "Would you like to take part?$" -LilycoveCity_ContestLobby_Text_27BD17: @ 827BD17 +LilycoveCity_ContestLobby_Text_ProgressWillBeSaved: @ 827BD17 .string "Before entering a CONTEST, your\n" .string "progress will be saved.$" -LilycoveCity_ContestLobby_Text_27BD4F: @ 827BD4F +LilycoveCity_ContestLobby_Text_ParticipateAnotherTime: @ 827BD4F .string "We hope you will participate another\n" .string "time.$" -LilycoveCity_ContestLobby_Text_27BD7A: @ 827BD7A +@ Unused +LilycoveCity_ContestLobby_Text_EnterContest2: @ 827BD7A .string "Would you like to enter a CONTEST?$" -LilycoveCity_ContestLobby_Text_27BD9D: @ 827BD9D +@ Unused +LilycoveCity_ContestLobby_Text_Explain4PlayerContest: @ 827BD9D .string "When four players are ready, connect\n" .string "over a Game Link cable, and register\l" .string "with me, please.\p" @@ -1692,79 +1711,83 @@ LilycoveCity_ContestLobby_Text_27BD9D: @ 827BD9D .string "After that, the usual CONTEST rules\n" .string "apply.$" -LilycoveCity_ContestLobby_Text_27BE9E: @ 827BE9E +@ Unused +LilycoveCity_ContestLobby_Text_EnterWhichContest2: @ 827BE9E .string "Which CONTEST would you like to enter?$" -LilycoveCity_ContestLobby_Text_27BEC5: @ 827BEC5 +@ Unused +LilycoveCity_ContestLobby_Text_EnterWhichPokemon2: @ 827BEC5 .string "Which POKéMON would you like to enter?$" -LilycoveCity_ContestLobby_Text_27BEEC: @ 827BEEC +LilycoveCity_ContestLobby_Text_Transmitting: @ 827BEEC .string "Transmitting…$" -LilycoveCity_ContestLobby_Text_27BEFA: @ 827BEFA +LilycoveCity_ContestLobby_Text_TransmissionError: @ 827BEFA .string "Transmission error…$" -LilycoveCity_ContestLobby_Text_27BF0E: @ 827BF0E +LilycoveCity_ContestLobby_Text_PlayersChoseDifferentContest: @ 827BF0E .string "You may have chosen a different\n" .string "CONTEST than another player.$" -LilycoveCity_ContestLobby_Text_27BF4B: @ 827BF4B +LilycoveCity_ContestLobby_Text_PlayersMadeDifferentChoice: @ 827BF4B .string "You may have made a different\n" .string "choice than another player.$" -LilycoveCity_ContestLobby_Text_27BF85: @ 827BF85 +LilycoveCity_ContestLobby_Text_PleaseWaitBButtonCancel: @ 827BF85 .string "Please wait.\n" .string "… … B Button: Cancel$" -LilycoveCity_ContestLobby_Text_27BFA7: @ 827BFA7 +@ Unused +LilycoveCity_ContestLobby_Text_ParticipateAnotherTime2: @ 827BFA7 .string "We hope you will participate another\n" .string "time.$" -LilycoveCity_ContestLobby_Text_27BFD2: @ 827BFD2 +@ Unused +LilycoveCity_ContestLobby_Text_TransmissionErrorTryAgain: @ 827BFD2 .string "Transmission error.\n" .string "Please try again.$" -LilycoveCity_ContestLobby_Text_27BFF8: @ 827BFF8 +LilycoveCity_ContestLobby_Text_YourMonIsEntryNumX: @ 827BFF8 .string "Your POKéMON will be entered in\n" .string "the CONTEST.\p" .string "Your POKéMON is Entry No. {STR_VAR_2}.$" -LilycoveCity_ContestLobby_Text_27C043: @ 827C043 +LilycoveCity_ContestLobby_Text_ContestBeginShortly: @ 827C043 .string "The CONTEST will begin shortly.$" -LilycoveCity_ContestLobby_Text_27C063: @ 827C063 +LilycoveCity_ContestLobby_Text_LinkContestReception: @ 827C063 .string "Welcome! This is the POKéMON CONTEST\n" .string "link reception counter.\p" .string "You may enter CONTESTS together with\n" .string "one or more friends.$" -LilycoveCity_ContestLobby_Text_27C0DA: @ 827C0DA +LilycoveCity_ContestLobby_Text_WhichTopic2: @ 827C0DA .string "Which topic would you like?$" -LilycoveCity_ContestLobby_Text_27C0F6: @ 827C0F6 +LilycoveCity_ContestLobby_Text_EnterContest3: @ 827C0F6 .string "Would you like to enter a CONTEST?$" -LilycoveCity_ContestLobby_Text_27C119: @ 827C119 +LilycoveCity_ContestLobby_Text_EnterWhichContest3: @ 827C119 .string "Which CONTEST would you like to enter?$" -LilycoveCity_ContestLobby_Text_27C140: @ 827C140 +LilycoveCity_ContestLobby_Text_MonInNoCondition2: @ 827C140 .string "Your POKéMON appears to be in no\n" .string "condition to take part in a CONTEST…$" -LilycoveCity_ContestLobby_Text_27C186: @ 827C186 +LilycoveCity_ContestLobby_Text_EggCannotTakePart2: @ 827C186 .string "I'm sorry, but an EGG cannot take part\n" .string "in a POKéMON CONTEST.$" -LilycoveCity_ContestLobby_Text_27C1C3: @ 827C1C3 +LilycoveCity_ContestLobby_Text_EnterWhichPokemon3: @ 827C1C3 .string "Which POKéMON would you like to enter?$" -Text_DecideLinkLeader: @ 827C1EA +LilycoveCity_ContestLobby_Text_PleaseDecideLinkLeader: @ 827C1EA .string "Please decide which of you will\n" .string "become the GROUP LEADER.\p" .string "The other players must then choose\n" .string "“JOIN GROUP.”$" -LilycoveCity_ContestLobby_Text_27C254: @ 827C254 +LilycoveCity_ContestLobby_Text_PlayerAt4PCounterUseGMode: @ 827C254 .string "At least one player has entered using\n" .string "the 4-player reception counter.\p" .string "There must be four players connected\n" @@ -1773,7 +1796,7 @@ LilycoveCity_ContestLobby_Text_27C254: @ 827C254 .string "select G-MODE (GLOBAL MODE),\l" .string "then register to enter again, please.$" -LilycoveCity_ContestLobby_Text_27C340: @ 827C340 +LilycoveCity_ContestLobby_Text_ExplainLinkContest: @ 827C340 .string "This is a CONTEST for two to four\n" .string "players linked using a Wireless\l" .string "Adapter or a GBA Game Link cable.\p" @@ -1794,7 +1817,7 @@ LilycoveCity_ContestLobby_Text_27C340: @ 827C340 .string "After that, a CONTEST will start in\n" .string "the usual manner.$" -LilycoveCity_ContestLobby_Text_27C5B1: @ 827C5B1 +LilycoveCity_ContestLobby_Text_ExplainEMode: @ 827C5B1 .string "In E-MODE (EMERALD MODE),\n" .string "a LINK CONTEST can be held with\l" .string "two to four players. Each player must\l" @@ -1808,7 +1831,7 @@ LilycoveCity_ContestLobby_Text_27C5B1: @ 827C5B1 .string "Please be aware that E-MODE is not\n" .string "available in POKéMON Ruby or Sapphire.$" -LilycoveCity_ContestLobby_Text_27C742: @ 827C742 +LilycoveCity_ContestLobby_Text_ExplainGMode: @ 827C742 .string "G-MODE (GLOBAL MODE) is specifically\n" .string "for four players who are linked using\l" .string "GBA Game Link cables.\p" @@ -1819,50 +1842,50 @@ LilycoveCity_ContestLobby_Text_27C742: @ 827C742 .string "enter through the 4-player reception\l" .string "counter (POKéMON Ruby or Sapphire).$" -LilycoveCity_ContestLobby_Text_27C879: @ 827C879 +LilycoveCity_ContestLobby_Text_NoWirelessAdapterInGMode: @ 827C879 .string "I'm terribly sorry.\p" .string "G-MODE does not function\n" .string "with Wireless Adapters.\p" .string "Please select E-MODE or try\n" .string "again using a GBA Game Link cable.$" -LilycoveCity_ContestLobby_Text_27C8FD: @ 827C8FD +LilycoveCity_ContestLobby_Text_WhichContestMode: @ 827C8FD .string "Which CONTEST MODE would you like\n" .string "to enter?$" -LinkContestRoom1_Text_27C929: @ 827C929 +ContestHall_Text_GettingStartedWireless: @ 827C929 .string "MC: Hello! We're just getting started\n" .string "with a 4-player linked POKéMON\l" .string "{STR_VAR_2}!$" -LinkContestRoom1_Text_27C972: @ 827C972 +ContestHall_Text_ParticipantsAsFollows: @ 827C972 .string "The participating TRAINERS and their\n" .string "POKéMON are as follows:$" -LinkContestRoom1_Text_27C9AF: @ 827C9AF +ContestHall_Text_WeveSeenContestants: @ 827C9AF .string "MC: We've just seen the four POKéMON\n" .string "contestants.\p" .string "Now it's time for primary judging!$" -LinkContestRoom1_Text_27CA04: @ 827CA04 +ContestHall_Text_AudienceWillVote: @ 827CA04 .string "The audience will vote on their\n" .string "favorite POKéMON contestants.$" -LinkContestRoom1_Text_27CA42: @ 827CA42 +ContestHall_Text_LetVotingBegin: @ 827CA42 .string "Without any further ado,\n" .string "let the voting begin!$" -LinkContestRoom1_Text_27CA71: @ 827CA71 +ContestHall_Text_VotingComplete: @ 827CA71 .string "Voting is now complete!\p" .string "While the votes are being tallied,\n" .string "let's move on to secondary judging!$" -LinkContestRoom1_Text_27CAD0: @ 827CAD0 +ContestHall_Text_SecondStageOfJudging: @ 827CAD0 .string "The second stage of judging is\n" .string "the much-anticipated appeal time!\p" .string "May the contestants amaze us with\n" .string "superb appeals of dazzling moves!$" -LinkContestRoom1_Text_27CB55: @ 827CB55 +ContestHall_Text_LetsAppeal: @ 827CB55 .string "Let's see a little enthusiasm!\n" .string "Let's appeal!$" diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc index 057a2fa07e..6506897eed 100644 --- a/data/scripts/day_care.inc +++ b/data/scripts/day_care.inc @@ -1,245 +1,245 @@ -Route117_EventScript_291C18:: @ 8291C18 +Route117_EventScript_DaycareMan:: @ 8291C18 lock faceplayer special GetDaycareMonNicknames specialvar VAR_RESULT, GetDaycareState - compare VAR_RESULT, 1 - goto_if_eq Route117_EventScript_291C4D - compare VAR_RESULT, 2 - goto_if_eq Route117_EventScript_291CD1 - compare VAR_RESULT, 3 - goto_if_eq Route117_EventScript_291CE8 - msgbox Route117_Text_291FCF, MSGBOX_DEFAULT + compare VAR_RESULT, DAYCARE_EGG_WAITING + goto_if_eq Route117_EventScript_DaycareEggWaiting + compare VAR_RESULT, DAYCARE_ONE_MON + goto_if_eq Route117_EventScript_CheckOnOneMon + compare VAR_RESULT, DAYCARE_TWO_MONS + goto_if_eq Route117_EventScript_CheckOnTwoMons + msgbox Route117_Text_SeeWifeIfYoudLikeMeToRaiseMon, MSGBOX_DEFAULT release end -Route117_EventScript_291C4D:: @ 8291C4D - msgbox Route117_Text_29205D, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route117_EventScript_291C83 - msgbox Route117_Text_2922C6, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route117_EventScript_291C83 - msgbox Route117_Text_292149, MSGBOX_DEFAULT +Route117_EventScript_DaycareEggWaiting:: @ 8291C4D + msgbox Route117_Text_DoYouWantEgg, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route117_EventScript_DaycareAcceptEgg + msgbox Route117_Text_IWillKeepDoYouWantIt, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route117_EventScript_DaycareAcceptEgg + msgbox Route117_Text_IllKeepIt, MSGBOX_DEFAULT clearflag FLAG_PENDING_DAYCARE_EGG special RejectEggFromDayCare release end -Route117_EventScript_291C83:: @ 8291C83 +Route117_EventScript_DaycareAcceptEgg:: @ 8291C83 specialvar VAR_RESULT, CalculatePlayerPartyCount - compare VAR_RESULT, 6 - goto_if_ne Route117_EventScript_291C9D - msgbox Route117_Text_29216A, MSGBOX_DEFAULT + compare VAR_RESULT, PARTY_SIZE + goto_if_ne Route117_EventScript_DaycareReceiveEgg + msgbox Route117_Text_YouHaveNoRoomForIt, MSGBOX_DEFAULT release end -Route117_EventScript_291C9D:: @ 8291C9D - message Route117_Text_2921A4 +Route117_EventScript_DaycareReceiveEgg:: @ 8291C9D + message Route117_Text_ReceivedEgg playfanfare MUS_FANFA1 waitfanfare waitbuttonpress - msgbox Route117_Text_2921CF, MSGBOX_DEFAULT + msgbox Route117_Text_TakeGoodCareOfIt, MSGBOX_DEFAULT special GiveEggFromDaycare clearflag FLAG_PENDING_DAYCARE_EGG release end -Route117_EventScript_291CB7:: @ 8291CB7 - specialvar VAR_RESULT, sub_8071614 +Route117_EventScript_CheckMonReceivedMail:: @ 8291CB7 + specialvar VAR_RESULT, CheckDaycareMonReceivedMail compare VAR_RESULT, 1 - call_if_eq Route117_EventScript_291CC8 + call_if_eq Route117_EventScript_MonReceivedMail return -Route117_EventScript_291CC8:: @ 8291CC8 - msgbox Route117_Text_2921E5, MSGBOX_DEFAULT +Route117_EventScript_MonReceivedMail:: @ 8291CC8 + msgbox Route117_Text_FriendlyWithOtherTrainersMon, MSGBOX_DEFAULT return -Route117_EventScript_291CD1:: @ 8291CD1 +Route117_EventScript_CheckOnOneMon:: @ 8291CD1 special GetDaycareMonNicknames - msgbox Route117_Text_292114, MSGBOX_DEFAULT + msgbox Route117_Text_YourMonIsDoingFine, MSGBOX_DEFAULT setvar VAR_0x8004, 0 - call Route117_EventScript_291CB7 + call Route117_EventScript_CheckMonReceivedMail release end -Route117_EventScript_291CE8:: @ 8291CE8 +Route117_EventScript_CheckOnTwoMons:: @ 8291CE8 special GetDaycareMonNicknames - msgbox Route117_Text_292299, MSGBOX_DEFAULT + msgbox Route117_Text_YourMonsAreDoingFine, MSGBOX_DEFAULT special SetDaycareCompatibilityString special ShowFieldMessageStringVar4 waitmessage waitbuttonpress setvar VAR_0x8004, 0 - call Route117_EventScript_291CB7 + call Route117_EventScript_CheckMonReceivedMail setvar VAR_0x8004, 1 - call Route117_EventScript_291CB7 + call Route117_EventScript_CheckMonReceivedMail release end -Route117_PokemonDayCare_EventScript_291D11:: @ 8291D11 +Route117_PokemonDayCare_EventScript_DaycareWoman:: @ 8291D11 lock faceplayer specialvar VAR_RESULT, GetDaycareState - compare VAR_RESULT, 1 - goto_if_eq Route117_PokemonDayCare_EventScript_291E0B - compare VAR_RESULT, 2 - goto_if_eq Route117_PokemonDayCare_EventScript_291E2F - compare VAR_RESULT, 3 - goto_if_eq Route117_PokemonDayCare_EventScript_291F5C - msgbox Route117_PokemonDayCare_Text_2922F4, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route117_PokemonDayCare_EventScript_291D56 - msgbox Route117_PokemonDayCare_Text_292416, MSGBOX_DEFAULT + compare VAR_RESULT, DAYCARE_EGG_WAITING + goto_if_eq Route117_PokemonDayCare_EventScript_EggWaiting + compare VAR_RESULT, DAYCARE_ONE_MON + goto_if_eq Route117_PokemonDayCare_EventScript_OneMonInDaycare + compare VAR_RESULT, DAYCARE_TWO_MONS + goto_if_eq Route117_PokemonDayCare_EventScript_TwoMonsInDaycare + msgbox Route117_PokemonDayCare_Text_WouldYouLikeUsToRaiseAMon, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route117_PokemonDayCare_EventScript_GiveMonToRaise + msgbox Route117_PokemonDayCare_Text_FineThenComeAgain, MSGBOX_DEFAULT release end -Route117_PokemonDayCare_EventScript_291D56:: @ 8291D56 +Route117_PokemonDayCare_EventScript_GiveMonToRaise:: @ 8291D56 specialvar VAR_RESULT, CountPartyNonEggMons compare VAR_RESULT, 1 - goto_if_eq Route117_PokemonDayCare_EventScript_291DED - specialvar VAR_RESULT, sub_80722E0 + goto_if_eq Route117_PokemonDayCare_EventScript_OnlyOneMon + specialvar VAR_RESULT, CountPartyAliveNonEggMons compare VAR_RESULT, 2 - goto_if_eq Route117_PokemonDayCare_EventScript_291E01 - msgbox Route117_PokemonDayCare_Text_292349, MSGBOX_DEFAULT - fadescreen 1 + goto_if_eq Route117_PokemonDayCare_EventScript_OnlyTwoAliveMons + msgbox Route117_PokemonDayCare_Text_WhichMonShouldWeRaise, MSGBOX_DEFAULT + fadescreen FADE_TO_BLACK special ChooseSendDaycareMon waitstate compare VAR_0x8004, 255 - goto_if_eq Route117_PokemonDayCare_EventScript_291DCA + goto_if_eq Route117_PokemonDayCare_EventScript_ComeAgain specialvar VAR_RESULT, CountPartyAliveNonEggMons_IgnoreVar0x8004Slot compare VAR_RESULT, 0 - goto_if_eq Route117_PokemonDayCare_EventScript_291DF7 - specialvar VAR_0x8005, GetSelectedMonNickAndSpecies + goto_if_eq Route117_PokemonDayCare_EventScript_OnlyOneAliveMon + specialvar VAR_0x8005, GetSelectedMonNicknameAndSpecies waitse playmoncry VAR_0x8005, 0 - msgbox Route117_PokemonDayCare_Text_292370, MSGBOX_DEFAULT + msgbox Route117_PokemonDayCare_Text_WellRaiseYourMon, MSGBOX_DEFAULT waitmoncry special StoreSelectedPokemonInDaycare - incrementgamestat 47 + incrementgamestat GAME_STAT_USED_DAYCARE specialvar VAR_RESULT, GetDaycareState - compare VAR_RESULT, 2 - goto_if_eq Route117_PokemonDayCare_EventScript_291DD4 + compare VAR_RESULT, DAYCARE_ONE_MON + goto_if_eq Route117_PokemonDayCare_EventScript_CanRaiseOneMore release end -Route117_PokemonDayCare_EventScript_291DCA:: @ 8291DCA - msgbox Route117_PokemonDayCare_Text_292476, MSGBOX_DEFAULT +Route117_PokemonDayCare_EventScript_ComeAgain:: @ 8291DCA + msgbox Route117_PokemonDayCare_Text_ComeAgain, MSGBOX_DEFAULT release end -Route117_PokemonDayCare_EventScript_291DD4:: @ 8291DD4 - msgbox Route117_PokemonDayCare_Text_2923AF, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route117_PokemonDayCare_EventScript_291D56 - goto Route117_PokemonDayCare_EventScript_291DCA +Route117_PokemonDayCare_EventScript_CanRaiseOneMore:: @ 8291DD4 + msgbox Route117_PokemonDayCare_Text_WeCanRaiseOneMore, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route117_PokemonDayCare_EventScript_GiveMonToRaise + goto Route117_PokemonDayCare_EventScript_ComeAgain end -Route117_PokemonDayCare_EventScript_291DED:: @ 8291DED - msgbox Route117_PokemonDayCare_Text_2925BB, MSGBOX_DEFAULT +Route117_PokemonDayCare_EventScript_OnlyOneMon:: @ 8291DED + msgbox Route117_PokemonDayCare_Text_YouHaveJustOneMon, MSGBOX_DEFAULT release end -Route117_PokemonDayCare_EventScript_291DF7:: @ 8291DF7 - msgbox Route117_PokemonDayCare_Text_292617, MSGBOX_DEFAULT +Route117_PokemonDayCare_EventScript_OnlyOneAliveMon:: @ 8291DF7 + msgbox Route117_PokemonDayCare_Text_WhatWillYouBattleWith, MSGBOX_DEFAULT release end -Route117_PokemonDayCare_EventScript_291E01:: @ 8291E01 - msgbox Route117_PokemonDayCare_Text_29266D, MSGBOX_DEFAULT +Route117_PokemonDayCare_EventScript_OnlyTwoAliveMons:: @ 8291E01 + msgbox Route117_PokemonDayCare_Text_YoullBeLeftWithJustOne, MSGBOX_DEFAULT release end -Route117_PokemonDayCare_EventScript_291E0B:: @ 8291E0B - msgbox Route117_PokemonDayCare_Text_2923F6, MSGBOX_DEFAULT +Route117_PokemonDayCare_EventScript_EggWaiting:: @ 8291E0B + msgbox Route117_PokemonDayCare_Text_HusbandWasLookingForYou, MSGBOX_DEFAULT release end -Route117_PokemonDayCare_EventScript_291E15:: @ 8291E15 - msgbox Route117_PokemonDayCare_Text_2924CC, MSGBOX_DEFAULT +Route117_PokemonDayCare_EventScript_YourMonHasGrownXLevels:: @ 8291E15 + msgbox Route117_PokemonDayCare_Text_YourMonHasGrownXLevels, MSGBOX_DEFAULT return -Route117_PokemonDayCare_EventScript_291E1E:: @ 8291E1E +Route117_PokemonDayCare_EventScript_DisplayLevelsGained:: @ 8291E1E specialvar VAR_RESULT, GetNumLevelsGainedFromDaycare compare VAR_RESULT, 0 - call_if_ne Route117_PokemonDayCare_EventScript_291E15 + call_if_ne Route117_PokemonDayCare_EventScript_YourMonHasGrownXLevels return -Route117_PokemonDayCare_EventScript_291E2F:: @ 8291E2F - msgbox Route117_PokemonDayCare_Text_292488, MSGBOX_DEFAULT +Route117_PokemonDayCare_EventScript_OneMonInDaycare:: @ 8291E2F + msgbox Route117_PokemonDayCare_Text_GoodToSeeYou, MSGBOX_DEFAULT setvar VAR_0x8004, 0 - call Route117_PokemonDayCare_EventScript_291E1E - msgbox Route117_PokemonDayCare_Text_2923AF, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route117_PokemonDayCare_EventScript_291D56 - msgbox Route117_PokemonDayCare_Text_2925F6, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route117_PokemonDayCare_EventScript_291E6D - goto Route117_PokemonDayCare_EventScript_291DCA + call Route117_PokemonDayCare_EventScript_DisplayLevelsGained + msgbox Route117_PokemonDayCare_Text_WeCanRaiseOneMore, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route117_PokemonDayCare_EventScript_GiveMonToRaise + msgbox Route117_PokemonDayCare_Text_TakeYourMonBack, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route117_PokemonDayCare_EventScript_TryRetrieveMon + goto Route117_PokemonDayCare_EventScript_ComeAgain end -Route117_PokemonDayCare_EventScript_291E6D:: @ 8291E6D +Route117_PokemonDayCare_EventScript_TryRetrieveMon:: @ 8291E6D specialvar VAR_RESULT, CalculatePlayerPartyCount - compare VAR_RESULT, 6 - goto_if_eq Route117_PokemonDayCare_EventScript_291F3D + compare VAR_RESULT, PARTY_SIZE + goto_if_eq Route117_PokemonDayCare_EventScript_NoRoom specialvar VAR_RESULT, GetDaycareState setvar VAR_0x8004, 0 - compare VAR_RESULT, 2 - goto_if_eq Route117_PokemonDayCare_EventScript_291EAC + compare VAR_RESULT, DAYCARE_ONE_MON + goto_if_eq Route117_PokemonDayCare_EventScript_CostPrompt special ShowDaycareLevelMenu waitstate copyvar VAR_0x8004, VAR_RESULT - compare VAR_RESULT, 2 - goto_if_eq Route117_PokemonDayCare_EventScript_291DCA - goto Route117_PokemonDayCare_EventScript_291EAC + compare VAR_RESULT, DAYCARE_EXITED_LEVEL_MENU + goto_if_eq Route117_PokemonDayCare_EventScript_ComeAgain + goto Route117_PokemonDayCare_EventScript_CostPrompt end -Route117_PokemonDayCare_EventScript_291EAC:: @ 8291EAC +Route117_PokemonDayCare_EventScript_CostPrompt:: @ 8291EAC special GetDaycareCost - msgbox Route117_PokemonDayCare_Text_292549, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route117_PokemonDayCare_EventScript_291EC8 - goto Route117_PokemonDayCare_EventScript_291DCA + msgbox Route117_PokemonDayCare_Text_ItWillCostX, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route117_PokemonDayCare_EventScript_CheckEnoughMoney + goto Route117_PokemonDayCare_EventScript_ComeAgain end -Route117_PokemonDayCare_EventScript_291EC8:: @ 8291EC8 +Route117_PokemonDayCare_EventScript_CheckEnoughMoney:: @ 8291EC8 specialvar VAR_RESULT, IsEnoughForCostInVar0x8005 compare VAR_RESULT, 1 - goto_if_eq Route117_PokemonDayCare_EventScript_291EE2 - msgbox Route117_PokemonDayCare_Text_292432, MSGBOX_DEFAULT + goto_if_eq Route117_PokemonDayCare_EventScript_RetrieveMon + msgbox Route117_PokemonDayCare_Text_NotEnoughMoney, MSGBOX_DEFAULT release end -Route117_PokemonDayCare_EventScript_291EE2:: @ 8291EE2 - applymovement 1, Route117_PokemonDayCare_Movement_291F47 +Route117_PokemonDayCare_EventScript_RetrieveMon:: @ 8291EE2 + applymovement 1, Route117_PokemonDayCare_Movement_RetrieveDaycareMon waitmovement 0 specialvar VAR_RESULT, TakePokemonFromDaycare special SubtractMoneyFromVar0x8005 playse SE_REGI - msgbox Route117_PokemonDayCare_Text_292575, MSGBOX_DEFAULT + msgbox Route117_PokemonDayCare_Text_HeresYourMon, MSGBOX_DEFAULT waitse playmoncry VAR_RESULT, 0 - msgbox Route117_PokemonDayCare_Text_292593, MSGBOX_DEFAULT + msgbox Route117_PokemonDayCare_Text_TookBackMon, MSGBOX_DEFAULT waitmoncry specialvar VAR_RESULT, GetDaycareState - compare VAR_RESULT, 2 - goto_if_eq Route117_PokemonDayCare_EventScript_291F24 - goto Route117_PokemonDayCare_EventScript_291DCA + compare VAR_RESULT, DAYCARE_ONE_MON + goto_if_eq Route117_PokemonDayCare_EventScript_AskRetrieveOtherMon + goto Route117_PokemonDayCare_EventScript_ComeAgain end -Route117_PokemonDayCare_EventScript_291F24:: @ 8291F24 - msgbox Route117_PokemonDayCare_Text_29244F, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route117_PokemonDayCare_EventScript_291E6D - goto Route117_PokemonDayCare_EventScript_291DCA +Route117_PokemonDayCare_EventScript_AskRetrieveOtherMon:: @ 8291F24 + msgbox Route117_PokemonDayCare_Text_TakeOtherOneBackToo, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route117_PokemonDayCare_EventScript_TryRetrieveMon + goto Route117_PokemonDayCare_EventScript_ComeAgain end -Route117_PokemonDayCare_EventScript_291F3D:: @ 8291F3D - msgbox Route117_PokemonDayCare_Text_2924EF, MSGBOX_DEFAULT +Route117_PokemonDayCare_EventScript_NoRoom:: @ 8291F3D + msgbox Route117_PokemonDayCare_Text_YourTeamIsFull, MSGBOX_DEFAULT release end -Route117_PokemonDayCare_Movement_291F47: @ 8291F47 +Route117_PokemonDayCare_Movement_RetrieveDaycareMon: @ 8291F47 delay_16 delay_16 face_left @@ -261,50 +261,52 @@ Route117_PokemonDayCare_Movement_291F47: @ 8291F47 walk_slow_down step_end -Route117_PokemonDayCare_EventScript_291F5B:: @ 8291F5B +@ Unused. Possibly a commented script, or a typo end added to the above Movement script +Route117_PokemonDayCare_EventScript_UnusedEnd:: @ 8291F5B end -Route117_PokemonDayCare_EventScript_291F5C:: @ 8291F5C - msgbox Route117_PokemonDayCare_Text_292488, MSGBOX_DEFAULT +Route117_PokemonDayCare_EventScript_TwoMonsInDaycare:: @ 8291F5C + msgbox Route117_PokemonDayCare_Text_GoodToSeeYou, MSGBOX_DEFAULT setvar VAR_0x8004, 0 - call Route117_PokemonDayCare_EventScript_291E1E + call Route117_PokemonDayCare_EventScript_DisplayLevelsGained setvar VAR_0x8004, 1 - call Route117_PokemonDayCare_EventScript_291E1E - msgbox Route117_PokemonDayCare_Text_2925F6, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route117_PokemonDayCare_EventScript_291E6D - msgbox Route117_PokemonDayCare_Text_292476, MSGBOX_DEFAULT + call Route117_PokemonDayCare_EventScript_DisplayLevelsGained + msgbox Route117_PokemonDayCare_Text_TakeYourMonBack, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route117_PokemonDayCare_EventScript_TryRetrieveMon + msgbox Route117_PokemonDayCare_Text_ComeAgain, MSGBOX_DEFAULT release end -Route117_PokemonDayCare_EventScript_291F95:: @ 8291F95 +@ Unused +Route117_PokemonDayCare_EventScript_UnusedRetrieveMon:: @ 8291F95 special ShowDaycareLevelMenu waitstate compare VAR_RESULT, 2 - goto_if_eq Route117_PokemonDayCare_EventScript_291DCA + goto_if_eq Route117_PokemonDayCare_EventScript_ComeAgain copyvar VAR_0x8004, VAR_RESULT specialvar VAR_RESULT, TakePokemonFromDaycare - msgbox Route117_PokemonDayCare_Text_292575, MSGBOX_DEFAULT - msgbox Route117_PokemonDayCare_Text_292476, MSGBOX_DEFAULT + msgbox Route117_PokemonDayCare_Text_HeresYourMon, MSGBOX_DEFAULT + msgbox Route117_PokemonDayCare_Text_ComeAgain, MSGBOX_DEFAULT release end EventScript_EggHatch:: @ 8291FC0 lockall - msgbox Text_292668, MSGBOX_DEFAULT + msgbox Text_EggHatchHuh, MSGBOX_DEFAULT special EggHatch waitstate releaseall end -Route117_Text_291FCF: @ 8291FCF +Route117_Text_SeeWifeIfYoudLikeMeToRaiseMon: @ 8291FCF .string "I'm the DAY-CARE MAN.\p" .string "I help take care of the precious\n" .string "POKéMON of TRAINERS.\p" .string "If you'd like me to raise your POKéMON,\n" .string "have a word with my wife.$" -Route117_Text_29205D: @ 829205D +Route117_Text_DoYouWantEgg: @ 829205D .string "Ah, it's you!\p" .string "We were raising your POKéMON,\n" .string "and my goodness, were we surprised!\p" @@ -313,124 +315,126 @@ Route117_Text_29205D: @ 829205D .string "but your POKéMON had it.\p" .string "You do want it, yes?$" -Route117_Text_292114: @ 8292114 +Route117_Text_YourMonIsDoingFine: @ 8292114 .string "Ah, it's you! Good to see you.\n" .string "Your {STR_VAR_1}'s doing fine.$" -Route117_Text_292149: @ 8292149 +Route117_Text_IllKeepIt: @ 8292149 .string "Well then, I'll keep it.\n" .string "Thanks!$" -Route117_Text_29216A: @ 829216A +Route117_Text_YouHaveNoRoomForIt: @ 829216A .string "You have no room for it…\n" .string "Come back when you've made room.$" -Route117_Text_2921A4: @ 82921A4 +Route117_Text_ReceivedEgg: @ 82921A4 .string "{PLAYER} received the EGG from\n" .string "the DAY-CARE MAN.$" -Route117_Text_2921CF: @ 82921CF +Route117_Text_TakeGoodCareOfIt: @ 82921CF .string "Take good care of it.$" -Route117_Text_2921E5: @ 82921E5 +Route117_Text_FriendlyWithOtherTrainersMon: @ 82921E5 .string "By the way, about your {STR_VAR_1},\n" .string "it seemed to be friendly with\l" .string "{STR_VAR_2}'s {STR_VAR_3}.\p" .string "I may even have seen it receiving\n" .string "a piece of MAIL.$" -Route117_Text_29225A: @ 829225A +@ Unused +Route117_Text_SeeWifeIfYouWantToPickUpMon: @ 829225A .string "If you want to pick up your POKéMON,\n" .string "have a word with my wife.$" -Route117_Text_292299: @ 8292299 +Route117_Text_YourMonsAreDoingFine: @ 8292299 .string "Ah, it's you! Your {STR_VAR_1} and\n" .string "{STR_VAR_2} are doing fine.$" -Route117_Text_2922C6: @ 82922C6 +Route117_Text_IWillKeepDoYouWantIt: @ 82922C6 .string "I really will keep it.\n" .string "You do want this, yes?$" -Route117_PokemonDayCare_Text_2922F4: @ 82922F4 +Route117_PokemonDayCare_Text_WouldYouLikeUsToRaiseAMon: @ 82922F4 .string "I'm the DAY-CARE LADY.\p" .string "We can raise POKéMON for you.\p" .string "Would you like us to raise one?$" -Route117_PokemonDayCare_Text_292349: @ 8292349 +Route117_PokemonDayCare_Text_WhichMonShouldWeRaise: @ 8292349 .string "Which POKéMON should we raise for\n" .string "you?$" -Route117_PokemonDayCare_Text_292370: @ 8292370 +Route117_PokemonDayCare_Text_WellRaiseYourMon: @ 8292370 .string "Fine, we'll raise your {STR_VAR_1}\n" .string "for a while.\p" .string "Come back for it later.$" -Route117_PokemonDayCare_Text_2923AF: @ 82923AF +Route117_PokemonDayCare_Text_WeCanRaiseOneMore: @ 82923AF .string "We can raise two of your POKéMON.\n" .string "Would you like us to raise one more?$" -Route117_PokemonDayCare_Text_2923F6: @ 82923F6 +Route117_PokemonDayCare_Text_HusbandWasLookingForYou: @ 82923F6 .string "My husband was looking for you.$" -Route117_PokemonDayCare_Text_292416: @ 8292416 +Route117_PokemonDayCare_Text_FineThenComeAgain: @ 8292416 .string "Oh, fine, then.\n" .string "Come again.$" -Route117_PokemonDayCare_Text_292432: @ 8292432 +Route117_PokemonDayCare_Text_NotEnoughMoney: @ 8292432 .string "You don't have enough money…$" -Route117_PokemonDayCare_Text_29244F: @ 829244F +Route117_PokemonDayCare_Text_TakeOtherOneBackToo: @ 829244F .string "Will you take back the other one,\n" .string "too?$" -Route117_PokemonDayCare_Text_292476: @ 8292476 +Route117_PokemonDayCare_Text_ComeAgain: @ 8292476 .string "Fine.\n" .string "Come again.$" -Route117_PokemonDayCare_Text_292488: @ 8292488 +Route117_PokemonDayCare_Text_GoodToSeeYou: @ 8292488 .string "Ah, it's you! Good to see you.\n" .string "Your POKéMON can only be doing good!$" -Route117_PokemonDayCare_Text_2924CC: @ 82924CC +Route117_PokemonDayCare_Text_YourMonHasGrownXLevels: @ 82924CC .string "By level, your {STR_VAR_1} has\n" .string "grown by {STR_VAR_2}.$" -Route117_PokemonDayCare_Text_2924EF: @ 82924EF +Route117_PokemonDayCare_Text_YourTeamIsFull: @ 82924EF .string "Your POKéMON team is full.\n" .string "Make room, then come see me.$" -Route117_PokemonDayCare_Text_292527: @ 8292527 +@ Unused +Route117_PokemonDayCare_Text_TakeBackWhichMon: @ 8292527 .string "Which POKéMON will you take back?$" -Route117_PokemonDayCare_Text_292549: @ 8292549 +Route117_PokemonDayCare_Text_ItWillCostX: @ 8292549 .string "If you want your {STR_VAR_1} back,\n" .string "it will cost ¥{STR_VAR_2}.$" -Route117_PokemonDayCare_Text_292575: @ 8292575 +Route117_PokemonDayCare_Text_HeresYourMon: @ 8292575 .string "Perfect!\n" .string "Here's your POKéMON.$" -Route117_PokemonDayCare_Text_292593: @ 8292593 +Route117_PokemonDayCare_Text_TookBackMon: @ 8292593 .string "{PLAYER} took back {STR_VAR_1} from\n" .string "the DAY-CARE LADY.$" -Route117_PokemonDayCare_Text_2925BB: @ 82925BB +Route117_PokemonDayCare_Text_YouHaveJustOneMon: @ 82925BB .string "Oh? But you have just one\n" .string "POKéMON.\p" .string "Come back another time.$" -Route117_PokemonDayCare_Text_2925F6: @ 82925F6 +Route117_PokemonDayCare_Text_TakeYourMonBack: @ 82925F6 .string "Will you take your POKéMON back?$" -Route117_PokemonDayCare_Text_292617: @ 8292617 +Route117_PokemonDayCare_Text_WhatWillYouBattleWith: @ 8292617 .string "If you leave me that POKéMON,\n" .string "what will you battle with?\p" .string "Come back another time.$" -Text_292668: @ 8292668 +Text_EggHatchHuh: @ 8292668 .string "Huh?$" -Route117_PokemonDayCare_Text_29266D: @ 829266D +Route117_PokemonDayCare_Text_YoullBeLeftWithJustOne: @ 829266D .string "Huh?\n" .string "Now, now.\p" .string "If you leave that POKéMON with\n" diff --git a/data/scripts/elite_four.inc b/data/scripts/elite_four.inc new file mode 100644 index 0000000000..e7aada6988 --- /dev/null +++ b/data/scripts/elite_four.inc @@ -0,0 +1,62 @@ +PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles:: @ 82723F8 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_Delay32 + waitmovement 0 + playse SE_DOOR + setmetatile 6, 1, METATILE_EliteFour_OpenDoor_Frame, 0 + setmetatile 6, 2, METATILE_EliteFour_OpenDoor_Opening, 0 + setmetatile 0, 2, METATILE_EliteFour_RightSpotlightOff, 1 + setmetatile 1, 2, METATILE_EliteFour_LeftSpotlightOff, 1 + setmetatile 2, 2, METATILE_EliteFour_RightSpotlightOff, 1 + setmetatile 3, 2, METATILE_EliteFour_LeftSpotlightOff, 1 + setmetatile 4, 2, METATILE_EliteFour_RightSpotlightOff, 1 + setmetatile 8, 2, METATILE_EliteFour_LeftSpotlightOff, 1 + setmetatile 9, 2, METATILE_EliteFour_RightSpotlightOff, 1 + setmetatile 10, 2, METATILE_EliteFour_LeftSpotlightOff, 1 + setmetatile 11, 2, METATILE_EliteFour_RightSpotlightOff, 1 + setmetatile 12, 2, METATILE_EliteFour_LeftSpotlightOff, 1 + special DrawWholeMapView + return + +PokemonLeague_EliteFour_EventScript_WalkInCloseDoor:: @ 8272475 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkUp6 + waitmovement 0 + playse SE_TRACK_DOOR + setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 + setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 + setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 + setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 + setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 + setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 + special DrawWholeMapView + return + +@ Essentially unused, only necessary when re-entering an Elite Four room after defeating the member, which isnt normally possible +PokemonLeague_EliteFour_EventScript_ResetAdvanceToNextRoom:: @ 82724BC + setmetatile 6, 1, METATILE_EliteFour_OpenDoor_Frame, 0 + setmetatile 6, 2, METATILE_EliteFour_OpenDoor_Opening, 0 + setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 + setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 + setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 + setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 + setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 + setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 + setmetatile 0, 2, METATILE_EliteFour_RightSpotlightOff, 1 + setmetatile 1, 2, METATILE_EliteFour_LeftSpotlightOff, 1 + setmetatile 2, 2, METATILE_EliteFour_RightSpotlightOff, 1 + setmetatile 3, 2, METATILE_EliteFour_LeftSpotlightOff, 1 + setmetatile 4, 2, METATILE_EliteFour_RightSpotlightOff, 1 + setmetatile 8, 2, METATILE_EliteFour_LeftSpotlightOff, 1 + setmetatile 9, 2, METATILE_EliteFour_RightSpotlightOff, 1 + setmetatile 10, 2, METATILE_EliteFour_LeftSpotlightOff, 1 + setmetatile 11, 2, METATILE_EliteFour_RightSpotlightOff, 1 + setmetatile 12, 2, METATILE_EliteFour_LeftSpotlightOff, 1 + return + +PokemonLeague_EliteFour_EventScript_CloseDoor:: @ 827255F + setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 + setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 + setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1 + setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 + setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 + setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1 + return diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc index 6eae552948..56e3297b6e 100644 --- a/data/scripts/field_move_scripts.inc +++ b/data/scripts/field_move_scripts.inc @@ -3,15 +3,15 @@ EventScript_CutTree:: @ 82906BB lockall goto_if_unset FLAG_BADGE01_GET, EventScript_CheckTreeCantCut checkpartymove MOVE_CUT - compare VAR_RESULT, 6 + compare VAR_RESULT, PARTY_SIZE goto_if_eq EventScript_CheckTreeCantCut setfieldeffectargument 0, VAR_RESULT bufferpartymonnick 0, VAR_RESULT buffermovename 1, MOVE_CUT msgbox Text_WantToCut, MSGBOX_YESNO - compare VAR_RESULT, 0 + compare VAR_RESULT, NO goto_if_eq EventScript_CancelCut - msgbox Text_MonUsedHM, MSGBOX_DEFAULT + msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT closemessage dofieldeffect FLDEFF_USE_CUT_ON_TREE waitstate @@ -51,7 +51,7 @@ Text_WantToCut: @ 829072E .string "CUT down!\p" .string "Would you like to CUT it?$" -Text_MonUsedHM: @ 8290771 +Text_MonUsedFieldMove: @ 8290771 .string "{STR_VAR_1} used {STR_VAR_2}!$" Text_CantCut: @ 829077D @@ -62,15 +62,15 @@ EventScript_RockSmash:: @ 82907A6 lockall goto_if_unset FLAG_BADGE03_GET, EventScript_CantSmashRock checkpartymove MOVE_ROCK_SMASH - compare VAR_RESULT, 6 + compare VAR_RESULT, PARTY_SIZE goto_if_eq EventScript_CantSmashRock setfieldeffectargument 0, VAR_RESULT bufferpartymonnick 0, VAR_RESULT buffermovename 1, MOVE_ROCK_SMASH msgbox Text_WantToSmash, MSGBOX_YESNO - compare VAR_RESULT, 0 + compare VAR_RESULT, NO goto_if_eq EventScript_CancelSmash - msgbox Text_MonUsedHM, MSGBOX_DEFAULT + msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT closemessage dofieldeffect FLDEFF_USE_ROCK_SMASH waitstate @@ -129,11 +129,11 @@ EventScript_StrengthBoulder:: @ 82908BA goto_if_unset FLAG_BADGE04_GET, EventScript_CantStrength goto_if_set FLAG_SYS_USE_STRENGTH, EventScript_CheckActivatedBoulder checkpartymove MOVE_STRENGTH - compare VAR_RESULT, 6 + compare VAR_RESULT, PARTY_SIZE goto_if_eq EventScript_CantStrength setfieldeffectargument 0, VAR_RESULT msgbox Text_WantToStrength, MSGBOX_YESNO - compare VAR_RESULT, 0 + compare VAR_RESULT, NO goto_if_eq EventScript_CancelStrength closemessage dofieldeffect FLDEFF_USE_STRENGTH @@ -190,12 +190,12 @@ Text_StrengthActivated: @ 8290A16 EventScript_UseWaterfall:: @ 8290A49 lockall checkpartymove MOVE_WATERFALL - compare VAR_RESULT, 6 + compare VAR_RESULT, PARTY_SIZE goto_if_eq EventScript_CantWaterfall bufferpartymonnick 0, VAR_RESULT setfieldeffectargument 0, VAR_RESULT msgbox Text_WantToWaterfall, MSGBOX_YESNO - compare VAR_RESULT, 0 + compare VAR_RESULT, NO goto_if_eq EventScript_EndWaterfall msgbox Text_MonUsedWaterfall, MSGBOX_DEFAULT dofieldeffect FLDEFF_USE_WATERFALL @@ -225,13 +225,13 @@ Text_MonUsedWaterfall: @ 8290AFC EventScript_UseDive:: @ 8290B0F lockall checkpartymove MOVE_DIVE - compare VAR_RESULT, 6 + compare VAR_RESULT, PARTY_SIZE goto_if_eq EventScript_CantDive bufferpartymonnick 0, VAR_RESULT setfieldeffectargument 0, VAR_RESULT setfieldeffectargument 1, 1 msgbox Text_WantToDive, MSGBOX_YESNO - compare VAR_RESULT, 0 + compare VAR_RESULT, NO goto_if_eq EventScript_EndDive msgbox Text_MonUsedDive, MSGBOX_DEFAULT dofieldeffect FLDEFF_USE_DIVE @@ -250,13 +250,13 @@ EventScript_EndDive:: @ 8290B58 EventScript_UseDiveUnderwater:: @ 8290B5A lockall checkpartymove MOVE_DIVE - compare VAR_RESULT, 6 + compare VAR_RESULT, PARTY_SIZE goto_if_eq EventScript_CantSurface bufferpartymonnick 0, VAR_RESULT setfieldeffectargument 0, VAR_RESULT setfieldeffectargument 1, 1 msgbox Text_WantToSurface, MSGBOX_YESNO - compare VAR_RESULT, 0 + compare VAR_RESULT, NO goto_if_eq EventScript_EndSurface msgbox Text_MonUsedDive, MSGBOX_DEFAULT dofieldeffect FLDEFF_USE_DIVE diff --git a/data/scripts/field_poison.inc b/data/scripts/field_poison.inc new file mode 100644 index 0000000000..3ce36b3843 --- /dev/null +++ b/data/scripts/field_poison.inc @@ -0,0 +1,48 @@ +EventScript_FieldPoison:: @ 82736BC + lockall + special TryFieldPoisonWhiteOut + waitstate + compare VAR_RESULT, FLDPSN_WHITEOUT + goto_if_eq EventScript_FieldWhiteOut + compare VAR_RESULT, FLDPSN_FRONTIER_WHITEOUT + goto_if_eq EventScript_FrontierFieldWhiteOut + releaseall + end + +EventScript_FieldWhiteOut:: @ 82736D9 + message gText_PlayerWhitedOut + waitmessage + waitbuttonpress + special Script_FadeOutMapMusic + waitstate + fadescreen FADE_TO_BLACK + call_if_set FLAG_WHITEOUT_TO_LAVARIDGE, EventScript_SetRespawnLavaridgePkmnCenter + special SetCB2WhiteOut + waitstate + end + +EventScript_SetRespawnLavaridgePkmnCenter:: @ 82736F4 + setrespawn HEAL_LOCATION_LAVARIDGE_TOWN + return + +EventScript_FrontierFieldWhiteOut:: @ 82736F8 + message gText_PlayerWhitedOut + waitmessage + waitbuttonpress + pike_inchallenge + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattlePike_EventScript_Retire + pyramid_inchallenge + compare VAR_RESULT, 1 @ On Pyramid floor + goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost + compare VAR_RESULT, 2 @ On Pyramid peak + goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost + trainerhill_inchallenge + compare VAR_RESULT, TRUE + goto_if_eq TrainerHill_1F_EventScript_Lost + special Script_FadeOutMapMusic + waitstate + fadescreen FADE_TO_BLACK + special SetCB2WhiteOut + waitstate + end diff --git a/data/scripts/flash.inc b/data/scripts/flash.inc new file mode 100644 index 0000000000..916b507194 --- /dev/null +++ b/data/scripts/flash.inc @@ -0,0 +1,4 @@ +EventScript_FldEffFlash:: @ 82926F8 + animateflash 1 + setflashradius 1 + end diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc index 31000539c5..90b3b3088a 100644 --- a/data/scripts/gabby_and_ty.inc +++ b/data/scripts/gabby_and_ty.inc @@ -1,337 +1,332 @@ +@ Unused EventScript_28CCAA:: @ 828CCAA setvar VAR_0x8005, 8 special InterviewBefore compare VAR_RESULT, 1 - goto_if_eq EventScript_28CCC6 + goto_if_eq EventScript_UnusedRet setvar VAR_0x8005, 8 special InterviewAfter return -EventScript_28CCC6:: @ 828CCC6 +EventScript_UnusedRet:: @ 828CCC6 return -Route111_EventScript_28CCC7:: @ 828CCC7 -Route118_EventScript_28CCC7:: @ 828CCC7 -Route120_EventScript_28CCC7:: @ 828CCC7 +@ Gabby and Ty always move to the same spots for the first 5 battles +@ From the 6th battle onwards, they move randomly between locations 6-8 +GabbyAndTy_EventScript_UpdateLocation:: @ 828CCC7 cleartrainerflag TRAINER_GABBY_AND_TY_6 specialvar VAR_RESULT, GabbyAndTyGetBattleNum switch VAR_RESULT - case 0, Route111_EventScript_28CD38 - case 1, Route111_EventScript_28CD3E - case 2, Route111_EventScript_28CD49 - case 3, Route111_EventScript_28CD54 - case 4, Route111_EventScript_28CD5F - case 5, Route111_EventScript_28CD6A - case 6, Route111_EventScript_28CD75 - case 7, Route111_EventScript_28CD80 - case 8, Route111_EventScript_28CD8B + case 0, GabbyAndTy_EventScript_MoveForBattle1 + case 1, GabbyAndTy_EventScript_MoveForBattle2 + case 2, GabbyAndTy_EventScript_MoveForBattle3 + case 3, GabbyAndTy_EventScript_MoveForBattle4 + case 4, GabbyAndTy_EventScript_MoveForBattle5 + case 5, GabbyAndTy_EventScript_MoveForBattle6 + case 6, GabbyAndTy_EventScript_MoveForBattle7 + case 7, GabbyAndTy_EventScript_MoveForBattle8 + case 8, GabbyAndTy_EventScript_MoveForBattle9 end -Route111_EventScript_28CD38:: @ 828CD38 - call Route111_EventScript_28CD9A +GabbyAndTy_EventScript_MoveForBattle1:: @ 828CD38 + call GabbyAndTy_EventScript_ShowAtRoute111_1 return -Route111_EventScript_28CD3E:: @ 828CD3E - call Route111_EventScript_28CDA2 - call Route111_EventScript_28CD96 +GabbyAndTy_EventScript_MoveForBattle2:: @ 828CD3E + call GabbyAndTy_EventScript_ShowAtRoute118_1 + call GabbyAndTy_EventScript_HideAtRoute111_1 return -Route111_EventScript_28CD49:: @ 828CD49 - call Route111_EventScript_28CDAA - call Route111_EventScript_28CD9E +GabbyAndTy_EventScript_MoveForBattle3:: @ 828CD49 + call GabbyAndTy_EventScript_ShowAtRoute120_1 + call GabbyAndTy_EventScript_HideAtRoute118_1 return -Route111_EventScript_28CD54:: @ 828CD54 - call Route111_EventScript_28CDB2 - call Route111_EventScript_28CDA6 +GabbyAndTy_EventScript_MoveForBattle4:: @ 828CD54 + call GabbyAndTy_EventScript_ShowAtRoute111_3 + call GabbyAndTy_EventScript_HideAtRoute120_1 return -Route111_EventScript_28CD5F:: @ 828CD5F - call Route111_EventScript_28CDBA - call Route111_EventScript_28CDAE +GabbyAndTy_EventScript_MoveForBattle5:: @ 828CD5F + call GabbyAndTy_EventScript_ShowAtRoute118_2 + call GabbyAndTy_EventScript_HideAtRoute111_3 return -Route111_EventScript_28CD6A:: @ 828CD6A - call Route111_EventScript_28CDC2 - call Route111_EventScript_28CDB6 +GabbyAndTy_EventScript_MoveForBattle6:: @ 828CD6A + call GabbyAndTy_EventScript_ShowAtRoute120_2 + call GabbyAndTy_EventScript_HideAtRoute118_2 return -Route111_EventScript_28CD75:: @ 828CD75 - call Route111_EventScript_28CDCA - call Route111_EventScript_28CDBE +GabbyAndTy_EventScript_MoveForBattle7:: @ 828CD75 + call GabbyAndTy_EventScript_ShowAtRoute111_2 + call GabbyAndTy_EventScript_HideAtRoute120_2 return -Route111_EventScript_28CD80:: @ 828CD80 - call Route111_EventScript_28CDD2 - call Route111_EventScript_28CDC6 +GabbyAndTy_EventScript_MoveForBattle8:: @ 828CD80 + call GabbyAndTy_EventScript_ShowAtRoute118_3 + call GabbyAndTy_EventScript_HideAtRoute111_2 return -Route111_EventScript_28CD8B:: @ 828CD8B - call Route111_EventScript_28CDC2 - call Route111_EventScript_28CDCE +GabbyAndTy_EventScript_MoveForBattle9:: @ 828CD8B + call GabbyAndTy_EventScript_ShowAtRoute120_2 + call GabbyAndTy_EventScript_HideAtRoute118_3 return -Route111_EventScript_28CD96:: @ 828CD96 +GabbyAndTy_EventScript_HideAtRoute111_1:: @ 828CD96 setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1 return -Route111_EventScript_28CD9A:: @ 828CD9A +GabbyAndTy_EventScript_ShowAtRoute111_1:: @ 828CD9A clearflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1 return -Route111_EventScript_28CD9E:: @ 828CD9E +GabbyAndTy_EventScript_HideAtRoute118_1:: @ 828CD9E setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1 return -Route111_EventScript_28CDA2:: @ 828CDA2 +GabbyAndTy_EventScript_ShowAtRoute118_1:: @ 828CDA2 clearflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1 return -Route111_EventScript_28CDA6:: @ 828CDA6 +GabbyAndTy_EventScript_HideAtRoute120_1:: @ 828CDA6 setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1 return -Route111_EventScript_28CDAA:: @ 828CDAA +GabbyAndTy_EventScript_ShowAtRoute120_1:: @ 828CDAA clearflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1 return -Route111_EventScript_28CDAE:: @ 828CDAE +GabbyAndTy_EventScript_HideAtRoute111_3:: @ 828CDAE setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3 return -Route111_EventScript_28CDB2:: @ 828CDB2 +GabbyAndTy_EventScript_ShowAtRoute111_3:: @ 828CDB2 clearflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3 return -Route111_EventScript_28CDB6:: @ 828CDB6 +GabbyAndTy_EventScript_HideAtRoute118_2:: @ 828CDB6 setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2 return -Route111_EventScript_28CDBA:: @ 828CDBA +GabbyAndTy_EventScript_ShowAtRoute118_2:: @ 828CDBA clearflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2 return -Route111_EventScript_28CDBE:: @ 828CDBE +GabbyAndTy_EventScript_HideAtRoute120_2:: @ 828CDBE setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2 return -Route111_EventScript_28CDC2:: @ 828CDC2 +GabbyAndTy_EventScript_ShowAtRoute120_2:: @ 828CDC2 clearflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2 return -Route111_EventScript_28CDC6:: @ 828CDC6 +GabbyAndTy_EventScript_HideAtRoute111_2:: @ 828CDC6 setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2 return -Route111_EventScript_28CDCA:: @ 828CDCA +GabbyAndTy_EventScript_ShowAtRoute111_2:: @ 828CDCA clearflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2 return -Route111_EventScript_28CDCE:: @ 828CDCE +GabbyAndTy_EventScript_HideAtRoute118_3:: @ 828CDCE setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3 return -Route111_EventScript_28CDD2:: @ 828CDD2 +GabbyAndTy_EventScript_ShowAtRoute118_3:: @ 828CDD2 clearflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3 return -Route111_EventScript_28CDD6:: @ 828CDD6 - trainerbattle_double TRAINER_GABBY_AND_TY_1, Route111_Text_28AF05, Route111_Text_28B000, Route111_Text_28B5EC, Route111_EventScript_28CF56 - msgbox Route111_Text_28B5C0, MSGBOX_DEFAULT +GabbyAndTy_EventScript_GabbyBattle1:: @ 828CDD6 + trainerbattle_double TRAINER_GABBY_AND_TY_1, GabbyAndTy_Text_GabbyPreFirstBattle, GabbyAndTy_Text_GabbyDefeatFirstTime, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_FirstInterview + msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT release end -Route111_EventScript_28CDF6:: @ 828CDF6 - trainerbattle_double TRAINER_GABBY_AND_TY_1, Route111_Text_28B75C, Route111_Text_28B8B1, Route111_Text_28B841, Route111_EventScript_28CF56 - msgbox Route111_Text_28B805, MSGBOX_DEFAULT +GabbyAndTy_EventScript_TyBattle1:: @ 828CDF6 + trainerbattle_double TRAINER_GABBY_AND_TY_1, GabbyAndTy_Text_TyPreFirstBattle, GabbyAndTy_Text_TyDefeatFirstTime, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_FirstInterview + msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT release end -Route118_EventScript_28CE16:: @ 828CE16 - trainerbattle_double TRAINER_GABBY_AND_TY_2, Route118_Text_28AF7D, Route118_Text_28B719, Route118_Text_28B5EC, Route118_EventScript_28CFC3 - msgbox Route118_Text_28B5C0, MSGBOX_DEFAULT +GabbyAndTy_EventScript_GabbyBattle2:: @ 828CE16 + trainerbattle_double TRAINER_GABBY_AND_TY_2, GabbyAndTy_Text_GabbyIntro, GabbyAndTy_Text_GabbyDefeat, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview + msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT release end -Route118_EventScript_28CE36:: @ 828CE36 - trainerbattle_double TRAINER_GABBY_AND_TY_2, Route118_Text_28B7B1, Route118_Text_28B8F6, Route118_Text_28B841, Route118_EventScript_28CFC3 - msgbox Route118_Text_28B805, MSGBOX_DEFAULT +GabbyAndTy_EventScript_TyBattle2:: @ 828CE36 + trainerbattle_double TRAINER_GABBY_AND_TY_2, GabbyAndTy_Text_TyIntro, GabbyAndTy_Text_TyDefeat, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview + msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT release end -Route120_EventScript_28CE56:: @ 828CE56 - trainerbattle_double TRAINER_GABBY_AND_TY_3, Route120_Text_28AF7D, Route120_Text_28B719, Route120_Text_28B5EC, Route120_EventScript_28CFC3 - msgbox Route120_Text_28B5C0, MSGBOX_DEFAULT +GabbyAndTy_EventScript_GabbyBattle3:: @ 828CE56 + trainerbattle_double TRAINER_GABBY_AND_TY_3, GabbyAndTy_Text_GabbyIntro, GabbyAndTy_Text_GabbyDefeat, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview + msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT release end -Route120_EventScript_28CE76:: @ 828CE76 - trainerbattle_double TRAINER_GABBY_AND_TY_3, Route120_Text_28B7B1, Route120_Text_28B8F6, Route120_Text_28B841, Route120_EventScript_28CFC3 - msgbox Route120_Text_28B805, MSGBOX_DEFAULT +GabbyAndTy_EventScript_TyBattle3:: @ 828CE76 + trainerbattle_double TRAINER_GABBY_AND_TY_3, GabbyAndTy_Text_TyIntro, GabbyAndTy_Text_TyDefeat, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview + msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT release end -Route111_EventScript_28CE96:: @ 828CE96 - trainerbattle_double TRAINER_GABBY_AND_TY_4, Route111_Text_28AF7D, Route111_Text_28B719, Route111_Text_28B5EC, Route111_EventScript_28CFC3 - msgbox Route111_Text_28B5C0, MSGBOX_DEFAULT +GabbyAndTy_EventScript_GabbyBattle4:: @ 828CE96 + trainerbattle_double TRAINER_GABBY_AND_TY_4, GabbyAndTy_Text_GabbyIntro, GabbyAndTy_Text_GabbyDefeat, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview + msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT release end -Route111_EventScript_28CEB6:: @ 828CEB6 - trainerbattle_double TRAINER_GABBY_AND_TY_4, Route111_Text_28B7B1, Route111_Text_28B8F6, Route111_Text_28B841, Route111_EventScript_28CFC3 - msgbox Route111_Text_28B805, MSGBOX_DEFAULT +GabbyAndTy_EventScript_TyBattle4:: @ 828CEB6 + trainerbattle_double TRAINER_GABBY_AND_TY_4, GabbyAndTy_Text_TyIntro, GabbyAndTy_Text_TyDefeat, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview + msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT release end -Route118_EventScript_28CED6:: @ 828CED6 - trainerbattle_double TRAINER_GABBY_AND_TY_5, Route118_Text_28AF7D, Route118_Text_28B719, Route118_Text_28B5EC, Route118_EventScript_28CFC3 - msgbox Route118_Text_28B5C0, MSGBOX_DEFAULT +GabbyAndTy_EventScript_GabbyBattle5:: @ 828CED6 + trainerbattle_double TRAINER_GABBY_AND_TY_5, GabbyAndTy_Text_GabbyIntro, GabbyAndTy_Text_GabbyDefeat, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview + msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT release end -Route118_EventScript_28CEF6:: @ 828CEF6 - trainerbattle_double TRAINER_GABBY_AND_TY_5, Route118_Text_28B7B1, Route118_Text_28B8F6, Route118_Text_28B841, Route118_EventScript_28CFC3 - msgbox Route118_Text_28B805, MSGBOX_DEFAULT +GabbyAndTy_EventScript_TyBattle5:: @ 828CEF6 + trainerbattle_double TRAINER_GABBY_AND_TY_5, GabbyAndTy_Text_TyIntro, GabbyAndTy_Text_TyDefeat, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview + msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT release end -Route111_EventScript_28CF16:: @ 828CF16 -Route118_EventScript_28CF16:: @ 828CF16 -Route120_EventScript_28CF16:: @ 828CF16 - trainerbattle_double TRAINER_GABBY_AND_TY_6, Route111_Text_28AF7D, Route111_Text_28B719, Route111_Text_28B5EC, Route111_EventScript_28CFC3 - msgbox Route111_Text_28B5C0, MSGBOX_DEFAULT +GabbyAndTy_EventScript_GabbyBattle6:: @ 828CF16 + trainerbattle_double TRAINER_GABBY_AND_TY_6, GabbyAndTy_Text_GabbyIntro, GabbyAndTy_Text_GabbyDefeat, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview + msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT release end -Route111_EventScript_28CF36:: @ 828CF36 -Route118_EventScript_28CF36:: @ 828CF36 -Route120_EventScript_28CF36:: @ 828CF36 - trainerbattle_double TRAINER_GABBY_AND_TY_6, Route111_Text_28B7B1, Route111_Text_28B8F6, Route111_Text_28B841, Route111_EventScript_28CFC3 - msgbox Route111_Text_28B805, MSGBOX_DEFAULT +GabbyAndTy_EventScript_TyBattle6:: @ 828CF36 + trainerbattle_double TRAINER_GABBY_AND_TY_6, GabbyAndTy_Text_TyIntro, GabbyAndTy_Text_TyDefeat, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview + msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT release end -Route111_EventScript_28CF56:: @ 828CF56 +GabbyAndTy_EventScript_FirstInterview:: @ 828CF56 special GabbyAndTyBeforeInterview special GabbyAndTySetScriptVarsToEventObjectLocalIds - compare VAR_FACING, 2 - call_if_eq Route111_EventScript_28CF94 - compare VAR_FACING, 1 - call_if_eq Route111_EventScript_28CF9F - compare VAR_FACING, 4 - call_if_eq Route111_EventScript_28CFB1 - goto_if_set FLAG_TEMP_1, Route111_EventScript_28D0EE - msgbox Route111_Text_28B042, MSGBOX_YESNO - goto Route111_EventScript_28D0A7 + compare VAR_FACING, DIR_NORTH + call_if_eq GabbyAndTy_EventScript_FacePlayerNorth + compare VAR_FACING, DIR_SOUTH + call_if_eq GabbyAndTy_EventScript_FacePlayerSouth + compare VAR_FACING, DIR_EAST + call_if_eq GabbyAndTy_EventScript_FacePlayerEast + goto_if_set FLAG_TEMP_1, GabbyAndTy_EventScript_KeepingAnEyeOutForYou + msgbox GabbyAndTy_Text_WhoAreYouInterview, MSGBOX_YESNO + goto GabbyAndTy_EventScript_Interview end -Route111_EventScript_28CF94:: @ 828CF94 - applymovement VAR_0x8004, Route111_Movement_28D04D +GabbyAndTy_EventScript_FacePlayerNorth:: @ 828CF94 + applymovement VAR_0x8004, GabbyAndTy_Movement_WalkInPlaceDown waitmovement 0 return -Route111_EventScript_28CF9F:: @ 828CF9F - applymovement VAR_0x8004, Route111_Movement_28D04F - applymovement VAR_0x8005, Common_Movement_WalkInPlaceUp +GabbyAndTy_EventScript_FacePlayerSouth:: @ 828CF9F + applymovement VAR_0x8004, GabbyAndTy_Movement_WalkInPlaceUp + applymovement VAR_0x8005, Common_Movement_WalkInPlaceFastestUp waitmovement 0 return -Route111_EventScript_28CFB1:: @ 828CFB1 - applymovement VAR_0x8004, Route111_Movement_28D051 - applymovement VAR_0x8005, Common_Movement_WalkInPlaceLeft +GabbyAndTy_EventScript_FacePlayerEast:: @ 828CFB1 + applymovement VAR_0x8004, GabbyAndTy_Movement_WalkInPlaceLeft + applymovement VAR_0x8005, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -Route111_EventScript_28CFC3:: @ 828CFC3 -Route118_EventScript_28CFC3:: @ 828CFC3 -Route120_EventScript_28CFC3:: @ 828CFC3 +GabbyAndTy_EventScript_RequestInterview:: @ 828CFC3 special GabbyAndTyBeforeInterview special GabbyAndTySetScriptVarsToEventObjectLocalIds - compare VAR_FACING, 2 - call_if_eq Route111_EventScript_28CF94 - compare VAR_FACING, 1 - call_if_eq Route111_EventScript_28CF9F - compare VAR_FACING, 4 - call_if_eq Route111_EventScript_28CFB1 - goto_if_set FLAG_TEMP_1, Route111_EventScript_28D0EE + compare VAR_FACING, DIR_NORTH + call_if_eq GabbyAndTy_EventScript_FacePlayerNorth + compare VAR_FACING, DIR_SOUTH + call_if_eq GabbyAndTy_EventScript_FacePlayerSouth + compare VAR_FACING, DIR_EAST + call_if_eq GabbyAndTy_EventScript_FacePlayerEast + goto_if_set FLAG_TEMP_1, GabbyAndTy_EventScript_KeepingAnEyeOutForYou specialvar VAR_RESULT, GabbyAndTyGetLastQuote compare VAR_RESULT, 0 - goto_if_eq Route111_EventScript_28D053 - msgbox Route111_Text_28B137, MSGBOX_DEFAULT + goto_if_eq GabbyAndTy_EventScript_DidntInterviewLastTime + msgbox GabbyAndTy_Text_QuoteFromLastInterview, MSGBOX_DEFAULT specialvar VAR_RESULT, GabbyAndTyGetLastBattleTrivia switch VAR_RESULT - case 0, Route111_EventScript_28D061 - case 1, Route111_EventScript_28D06F - case 2, Route111_EventScript_28D07D - case 3, Route111_EventScript_28D08B - case 4, Route111_EventScript_28D099 + case 0, GabbyAndTy_EventScript_RequestInterviewNoTrivia + case 1, GabbyAndTy_EventScript_RequestInterviewShortBattle + case 2, GabbyAndTy_EventScript_RequestInterviewThrewBall + case 3, GabbyAndTy_EventScript_RequestInterviewUsedItems + case 4, GabbyAndTy_EventScript_RequestInterviewLostAMon end -Route111_Movement_28D04D: @ 828D04D +GabbyAndTy_Movement_WalkInPlaceDown: @ 828D04D walk_in_place_down step_end -Route111_Movement_28D04F: @ 828D04F +GabbyAndTy_Movement_WalkInPlaceUp: @ 828D04F walk_in_place_up step_end -Route111_Movement_28D051: @ 828D051 +GabbyAndTy_Movement_WalkInPlaceLeft: @ 828D051 walk_in_place_left step_end -Route111_EventScript_28D053:: @ 828D053 - msgbox Route111_Text_28B62D, MSGBOX_YESNO - goto Route111_EventScript_28D0A7 +GabbyAndTy_EventScript_DidntInterviewLastTime:: @ 828D053 + msgbox GabbyAndTy_Text_GiveUsAnInterviewThisTime, MSGBOX_YESNO + goto GabbyAndTy_EventScript_Interview end -Route111_EventScript_28D061:: @ 828D061 - msgbox Route111_Text_28B3F3, MSGBOX_YESNO - goto Route111_EventScript_28D0A7 +GabbyAndTy_EventScript_RequestInterviewNoTrivia:: @ 828D061 + msgbox GabbyAndTy_Text_InterviewAgain, MSGBOX_YESNO + goto GabbyAndTy_EventScript_Interview end -Route111_EventScript_28D06F:: @ 828D06F - msgbox Route111_Text_28B1B3, MSGBOX_YESNO - goto Route111_EventScript_28D0A7 +GabbyAndTy_EventScript_RequestInterviewShortBattle:: @ 828D06F + msgbox GabbyAndTy_Text_YouStompedUsInterviewAgain, MSGBOX_YESNO + goto GabbyAndTy_EventScript_Interview end -Route111_EventScript_28D07D:: @ 828D07D - msgbox Route111_Text_28B23D, MSGBOX_YESNO - goto Route111_EventScript_28D0A7 +GabbyAndTy_EventScript_RequestInterviewThrewBall:: @ 828D07D + msgbox GabbyAndTy_Text_YouThrewABallAtUsInterviewAgain, MSGBOX_YESNO + goto GabbyAndTy_EventScript_Interview end -Route111_EventScript_28D08B:: @ 828D08B - msgbox Route111_Text_28B2FA, MSGBOX_YESNO - goto Route111_EventScript_28D0A7 +GabbyAndTy_EventScript_RequestInterviewUsedItems:: @ 828D08B + msgbox GabbyAndTy_Text_CleverItemSkillsInterviewAgain, MSGBOX_YESNO + goto GabbyAndTy_EventScript_Interview end -Route111_EventScript_28D099:: @ 828D099 - msgbox Route111_Text_28B379, MSGBOX_YESNO - goto Route111_EventScript_28D0A7 +GabbyAndTy_EventScript_RequestInterviewLostAMon:: @ 828D099 + msgbox GabbyAndTy_Text_WeLookedRespectableInterviewAgain, MSGBOX_YESNO + goto GabbyAndTy_EventScript_Interview end -Route111_EventScript_28D0A7:: @ 828D0A7 - compare VAR_RESULT, 0 - goto_if_eq Route111_EventScript_28D0E1 - msgbox Route111_Text_28B433, MSGBOX_DEFAULT +GabbyAndTy_EventScript_Interview:: @ 828D0A7 + compare VAR_RESULT, NO + goto_if_eq GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut + msgbox GabbyAndTy_Text_DescribeYourFeelings, MSGBOX_DEFAULT setvar VAR_0x8004, EASY_CHAT_TYPE_GABBY_AND_TY call Common_ShowEasyChatScreen lock faceplayer compare VAR_RESULT, 0 - goto_if_eq Route111_EventScript_28D0E1 - msgbox Route111_Text_28B4AB, MSGBOX_DEFAULT + goto_if_eq GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut + msgbox GabbyAndTy_Text_PerfectWellBeSeeingYou, MSGBOX_DEFAULT special GabbyAndTyAfterInterview setflag FLAG_TEMP_1 release end -Route111_EventScript_28D0E1:: @ 828D0E1 - msgbox Route111_Text_28B577, MSGBOX_DEFAULT +GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut:: @ 828D0E1 + msgbox GabbyAndTy_Text_DontGiveUpKeepingEyeOut, MSGBOX_DEFAULT setflag FLAG_TEMP_1 release end -Route111_EventScript_28D0EE:: @ 828D0EE - msgbox Route111_Text_28B5C0, MSGBOX_DEFAULT +GabbyAndTy_EventScript_KeepingAnEyeOutForYou:: @ 828D0EE + msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT release end diff --git a/data/scripts/hall_of_fame.inc b/data/scripts/hall_of_fame.inc new file mode 100644 index 0000000000..91a88f3480 --- /dev/null +++ b/data/scripts/hall_of_fame.inc @@ -0,0 +1,53 @@ +EverGrandeCity_HallOfFame_EventScript_SetGameClearFlags:: @ 82717C1 + special SetChampionSaveWarp + setflag FLAG_IS_CHAMPION + call EverGrandeCity_HallOfFame_EventScript_ResetDefeatedEventLegendaries + compare VAR_FOSSIL_MANIAC_STATE, 0 + call_if_eq EverGrandeCity_HallOfFame_EventScript_SetDesertUnderpassCommentReady + clearflag FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS + call EverGrandeCity_HallOfFame_EventScript_ResetEliteFour + setflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY + clearflag FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY + clearflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY + setvar VAR_STEVENS_HOUSE_STATE, 2 + setflag FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY + clearflag FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY + clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL + clearflag FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL + setflag FLAG_HIDE_SAFARI_ZONE_SOUTH_CONSTRUCTION_WORKERS + clearflag FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION + setflag FLAG_HIDE_LILYCOVE_CITY_RIVAL + special UpdateTrainerFanClubGameClear + call_if_unset FLAG_RECEIVED_SS_TICKET, EverGrandeCity_HallOfFame_EventScript_ReadyReceiveSSTicketEvent + call_if_unset FLAG_RECEIVED_BELDUM, EverGrandeCity_HallOfFame_EventScript_ShowStevensHouseBeldum + setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM + setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM + compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 0 + call_if_eq EverGrandeCity_HallOfFame_EventScript_ReadyDexUpgradeEvent + return + +EverGrandeCity_HallOfFame_EventScript_ResetDefeatedEventLegendaries:: @ 8271829 + clearflag FLAG_DEFEATED_MEW + clearflag FLAG_DEFEATED_LATIAS_OR_LATIOS + clearflag FLAG_DEFEATED_DEOXYS + clearflag FLAG_DEFEATED_LUGIA + clearflag FLAG_DEFEATED_HO_OH + return + +EverGrandeCity_HallOfFame_EventScript_SetDesertUnderpassCommentReady:: @ 8271839 + setvar VAR_FOSSIL_MANIAC_STATE, 1 + return + +EverGrandeCity_HallOfFame_EventScript_ShowStevensHouseBeldum:: @ 827183F + clearflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL + return + +EverGrandeCity_HallOfFame_EventScript_ReadyReceiveSSTicketEvent:: @ 8271843 + setvar VAR_LITTLEROOT_HOUSES_STATE_MAY, 3 + setvar VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 3 + clearflag FLAG_HIDE_PLAYERS_HOUSE_DAD + return + +EverGrandeCity_HallOfFame_EventScript_ReadyDexUpgradeEvent:: @ 8271851 + setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1 + return diff --git a/data/scripts/interview.inc b/data/scripts/interview.inc new file mode 100644 index 0000000000..f968577f3d --- /dev/null +++ b/data/scripts/interview.inc @@ -0,0 +1,344 @@ +Interview_EventScript_EndInterview:: @ 828C7E9 + special InterviewAfter + incrementgamestat GAME_STAT_GOT_INTERVIEWED + release + end + +@ Shares reporter object with TVSHOW_PKMN_FAN_CLUB_OPINIONS +SlateportCity_PokemonFanClub_EventScript_ReporterNoNickname:: @ 828C7F0 + setvar VAR_0x8005, TVSHOW_FAN_CLUB_LETTER + special InterviewBefore + compare VAR_RESULT, TRUE + goto_if_eq SlateportCity_PokemonFanClub_EventScript_AlreadyInterviewed2 + copyvar VAR_0x8009, VAR_0x8006 + msgbox SlateportCity_PokemonFanClub_Text_InterviewRequest, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq SlateportCity_PokemonFanClub_EventScript_AcceptInterview2 + compare VAR_RESULT, NO + goto_if_eq SlateportCity_PokemonFanClub_EventScript_DeclineInterview2 + end + +SlateportCity_PokemonFanClub_EventScript_AcceptInterview2:: @ 828C827 + msgbox SlateportCity_PokemonFanClub_Text_TellMeAnythingAboutYourMon, MSGBOX_DEFAULT + setvar VAR_0x8004, EASY_CHAT_TYPE_INTERVIEW + copyvar VAR_0x8005, VAR_0x8009 + setvar VAR_0x8006, EASY_CHAT_PERSON_REPORTER_FEMALE + call Common_ShowEasyChatScreen + lock + faceplayer + compare VAR_RESULT, 1 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_SubmitResponse2 + compare VAR_RESULT, 0 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_DeclineInterview2 + end + +SlateportCity_PokemonFanClub_EventScript_DeclineInterview2:: @ 828C85C + msgbox SlateportCity_PokemonFanClub_Text_HereIfYouGetUrgeToTellMe, MSGBOX_DEFAULT + release + end + +SlateportCity_PokemonFanClub_EventScript_SubmitResponse2:: @ 828C866 + msgbox SlateportCity_PokemonFanClub_Text_ThatsAllForInterview2, MSGBOX_DEFAULT + setvar VAR_0x8005, TVSHOW_FAN_CLUB_LETTER + goto Interview_EventScript_EndInterview + end + +SlateportCity_PokemonFanClub_EventScript_AlreadyInterviewed2:: @ 828C879 + msgbox SlateportCity_PokemonFanClub_Text_EnjoyDoingInterviews, MSGBOX_DEFAULT + release + end + +SlateportCity_OceanicMuseum_1F_EventScript_Reporter:: @ 828C883 + lock + faceplayer + setvar VAR_0x8005, TVSHOW_RECENT_HAPPENINGS + special InterviewBefore + compare VAR_RESULT, TRUE + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_AlreadyInterviewed + copyvar VAR_0x8009, VAR_0x8006 + goto_if_set FLAG_OCEANIC_MUSEUM_MET_REPORTER, SlateportCity_OceanicMuseum_1F_EventScript_RequestInterviewShort + setflag FLAG_OCEANIC_MUSEUM_MET_REPORTER + msgbox SlateportCity_OceanicMuseum_1F_Text_InterviewRequest, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_AcceptInterview + compare VAR_RESULT, NO + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_DeclineInterview + end + +SlateportCity_OceanicMuseum_1F_EventScript_RequestInterviewShort:: @ 828C8C8 + msgbox SlateportCity_OceanicMuseum_1F_Text_InterviewRequestShort, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_AcceptInterview + compare VAR_RESULT, NO + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_DeclineInterview + end + +SlateportCity_OceanicMuseum_1F_EventScript_AcceptInterview:: @ 828C8E7 + msgbox SlateportCity_OceanicMuseum_1F_Text_TellMeExperienceInvolvingPokemon, MSGBOX_DEFAULT + setvar VAR_0x8004, EASY_CHAT_TYPE_INTERVIEW + copyvar VAR_0x8005, VAR_0x8009 + setvar VAR_0x8006, EASY_CHAT_PERSON_REPORTER_MALE + call Common_ShowEasyChatScreen + lock + faceplayer + compare VAR_RESULT, 1 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_SubmitResponse + compare VAR_RESULT, 0 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_DeclineInterview + end + +SlateportCity_OceanicMuseum_1F_EventScript_DeclineInterview:: @ 828C91C + msgbox SlateportCity_OceanicMuseum_1F_Text_LetMeKnowIfYouHaveStory, MSGBOX_DEFAULT + release + end + +SlateportCity_OceanicMuseum_1F_EventScript_SubmitResponse:: @ 828C926 + msgbox SlateportCity_OceanicMuseum_1F_Text_ThatsAllForInterview, MSGBOX_DEFAULT + setvar VAR_0x8005, TVSHOW_RECENT_HAPPENINGS + goto Interview_EventScript_EndInterview + end + +SlateportCity_OceanicMuseum_1F_EventScript_AlreadyInterviewed:: @ 828C939 + msgbox SlateportCity_OceanicMuseum_1F_Text_BetterWriteUpStory, MSGBOX_DEFAULT + release + end + +SlateportCity_PokemonFanClub_EventScript_Reporter:: @ 828C943 + lock + faceplayer + specialvar VAR_RESULT, IsLeadMonNicknamedOrNotEnglish + compare VAR_RESULT, FALSE + goto_if_eq SlateportCity_PokemonFanClub_EventScript_ReporterNoNickname + setvar VAR_0x8005, TVSHOW_PKMN_FAN_CLUB_OPINIONS + special InterviewBefore + compare VAR_RESULT, TRUE + goto_if_eq SlateportCity_PokemonFanClub_EventScript_AlreadyInterviewed + copyvar VAR_0x8009, VAR_0x8006 + msgbox SlateportCity_PokemonFanClub_Text_InterviewRequestHasName, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq SlateportCity_PokemonFanClub_EventScript_AcceptInterview + compare VAR_RESULT, NO + goto_if_eq SlateportCity_PokemonFanClub_EventScript_DeclineInterview + end + +SlateportCity_PokemonFanClub_EventScript_AcceptInterview:: @ 828C98C + msgbox SlateportCity_PokemonFanClub_Text_HereGoesQuickAnswers, MSGBOX_DEFAULT + random 3 + copyvar VAR_0x800A, VAR_RESULT + switch VAR_RESULT + case 0, SlateportCity_PokemonFanClub_EventScript_RandomQuestion1 + case 1, SlateportCity_PokemonFanClub_EventScript_RandomQuestion2 + case 2, SlateportCity_PokemonFanClub_EventScript_RandomQuestion3 + end + +SlateportCity_PokemonFanClub_EventScript_RandomQuestion1:: @ 828C9C3 + msgbox SlateportCity_PokemonFanClub_Text_DescribeFeelingsFirstMetMon, MSGBOX_DEFAULT + goto SlateportCity_PokemonFanClub_EventScript_ContinueInterview + end + +SlateportCity_PokemonFanClub_EventScript_RandomQuestion2:: @ 828C9D1 + msgbox SlateportCity_PokemonFanClub_Text_LikenMonToSomethingYouLike, MSGBOX_DEFAULT + goto SlateportCity_PokemonFanClub_EventScript_ContinueInterview + end + +SlateportCity_PokemonFanClub_EventScript_RandomQuestion3:: @ 828C9DF + msgbox SlateportCity_PokemonFanClub_Text_WhatAttractedYouAboutMon, MSGBOX_DEFAULT + goto SlateportCity_PokemonFanClub_EventScript_ContinueInterview + end + +SlateportCity_PokemonFanClub_EventScript_ContinueInterview:: @ 828C9ED + setvar VAR_0x8004, EASY_CHAT_TYPE_FAN_CLUB + copyvar VAR_0x8005, VAR_0x8009 + setvar VAR_0x8006, 0 + call Common_ShowEasyChatScreen + lock + faceplayer + compare VAR_RESULT, 0 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_DeclineInterview + msgbox SlateportCity_PokemonFanClub_Text_WhatDoPokemonMeanToYou, MSGBOX_DEFAULT + setvar VAR_0x8006, 1 + call Common_ShowEasyChatScreen + lock + faceplayer + compare VAR_RESULT, 0 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_DeclineInterview + msgbox SlateportCity_PokemonFanClub_Text_ThatsAllForInterview, MSGBOX_DEFAULT + copyvar VAR_0x8007, VAR_0x800A + setvar VAR_0x8005, TVSHOW_PKMN_FAN_CLUB_OPINIONS + goto Interview_EventScript_EndInterview + end + +SlateportCity_PokemonFanClub_EventScript_DeclineInterview:: @ 828CA45 + msgbox SlateportCity_PokemonFanClub_Text_HereIfYouGetUrgeToTellMe, MSGBOX_DEFAULT + release + end + +SlateportCity_PokemonFanClub_EventScript_AlreadyInterviewed:: @ 828CA4F + msgbox SlateportCity_PokemonFanClub_Text_EnjoyDoingInterviews, MSGBOX_DEFAULT + release + end + +LilycoveCity_ContestLobby_EventScript_Reporter:: @ 828CA59 + lock + faceplayer + goto_if_set FLAG_TEMP_2, LilycoveCity_ContestLobby_EventScript_AlreadyInterviewed + setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE + special InterviewBefore + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_ContestLobby_EventScript_AlreadyInterviewed + copyvar VAR_0x8009, VAR_0x8006 + msgbox LilycoveCity_ContestLobby_Text_InterviewRequest, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_ContestLobby_EventScript_AcceptInterview + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_ContestLobby_EventScript_DeclineInterview + end + +LilycoveCity_ContestLobby_EventScript_AcceptInterview:: @ 828CA9B + msgbox LilycoveCity_ContestLobby_Text_DescribeContest, MSGBOX_DEFAULT + setvar VAR_0x8004, EASY_CHAT_TYPE_CONTEST_INTERVIEW + copyvar VAR_0x8005, VAR_0x8009 + setvar VAR_0x8006, 0 + call Common_ShowEasyChatScreen + lock + faceplayer + compare VAR_RESULT, 1 + goto_if_eq LilycoveCity_ContestLobby_EventScript_SubmitResponse + compare VAR_RESULT, 0 + goto_if_eq LilycoveCity_ContestLobby_EventScript_DeclineInterview + end + +LilycoveCity_ContestLobby_EventScript_DeclineInterview:: @ 828CAD0 + msgbox LilycoveCity_ContestLobby_Text_PleaseDoShareStoryWithMe, MSGBOX_DEFAULT + release + end + +LilycoveCity_ContestLobby_EventScript_SubmitResponse:: @ 828CADA + setvar VAR_0x8004, 24 + special SetContestCategoryStringVarForInterview + msgbox LilycoveCity_ContestLobby_Text_WhatImageWhenYouHearX, MSGBOX_DEFAULT + setvar VAR_0x8004, EASY_CHAT_TYPE_CONTEST_INTERVIEW + copyvar VAR_0x8005, VAR_0x8009 + setvar VAR_0x8006, 1 + call Common_ShowEasyChatScreen + lock + faceplayer + compare VAR_RESULT, 0 + goto_if_eq LilycoveCity_ContestLobby_EventScript_DeclineInterview + msgbox LilycoveCity_ContestLobby_Text_ThatsAllForInterview, MSGBOX_DEFAULT + setflag FLAG_TEMP_2 + setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE + goto Interview_EventScript_EndInterview + end + +LilycoveCity_ContestLobby_EventScript_AlreadyInterviewed:: @ 828CB21 + msgbox LilycoveCity_ContestLobby_Text_LookingForwardToNextContest, MSGBOX_DEFAULT + release + end + +LilycoveCity_ContestLobby_EventScript_TryShowContestReporter:: @ 828CB2B + compare VAR_CONTEST_HALL_STATE, 2 + goto_if_ne LilycoveCity_ContestLobby_EventScript_DontShowContestReporter + setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE + special InterviewBefore + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_ContestLobby_EventScript_DontShowContestReporter + switch VAR_CONTEST_TYPE + case 0, LilycoveCity_ContestLobby_EventScript_DontShowContestReporter + case 2, LilycoveCity_ContestLobby_EventScript_ShowContestReporter + case 1, LilycoveCity_ContestLobby_EventScript_ShowContestReporter + case 3, LilycoveCity_ContestLobby_EventScript_ShowContestReporter + case 4, LilycoveCity_ContestLobby_EventScript_ShowContestReporter + case 5, LilycoveCity_ContestLobby_EventScript_DontShowContestReporter + end + +LilycoveCity_ContestLobby_EventScript_ShowContestReporter:: @ 828CB91 + clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER + return + +LilycoveCity_ContestLobby_EventScript_DontShowContestReporter:: @ 828CB95 + return + +BattleFrontier_BattleTowerLobby_EventScript_Reporter:: @ 828CB96 + lock + faceplayer + goto_if_set FLAG_TEMP_2, BattleFrontier_BattleTowerLobby_EventScript_AlreadyInterviewed + setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE + special InterviewBefore + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AlreadyInterviewed + copyvar VAR_0x8009, VAR_0x8006 + msgbox BattleFrontier_BattleTowerLobby_Text_InterviewRequest, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AcceptInterview + compare VAR_RESULT, NO + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_DeclineInterview + end + +BattleFrontier_BattleTowerLobby_EventScript_AcceptInterview:: @ 828CBD8 + message BattleFrontier_BattleTowerLobby_Text_HowDidBattleTowerTurnOut + waitmessage + multichoice 20, 8, MULTI_SATISFACTION, 1 + copyvar VAR_0x8008, VAR_RESULT + compare VAR_RESULT, 0 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_Satisfied + compare VAR_RESULT, 1 + call_if_eq BattleFrontier_BattleTowerLobby_EventScript_Dissatisfied + msgbox BattleFrontier_BattleTowerLobby_Text_DescribeYourBattle, MSGBOX_DEFAULT + setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_TOWER_INTERVIEW + copyvar VAR_0x8005, VAR_0x8009 + call Common_ShowEasyChatScreen + lock + faceplayer + compare VAR_RESULT, 1 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_SubmitResponse + compare VAR_RESULT, 0 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelInterview + end + +BattleFrontier_BattleTowerLobby_EventScript_DeclineInterview:: @ 828CC2E + msgbox BattleFrontier_BattleTowerLobby_Text_SorryWeDisturbedYou, MSGBOX_DEFAULT + release + end + +BattleFrontier_BattleTowerLobby_EventScript_Satisfied:: @ 828CC38 + msgbox BattleFrontier_BattleTowerLobby_Text_ObviousYouHadGreatBattle, MSGBOX_DEFAULT + return + +BattleFrontier_BattleTowerLobby_EventScript_Dissatisfied:: @ 828CC41 + msgbox BattleFrontier_BattleTowerLobby_Text_DifficultToMakeBattleTurnOutAsPlanned, MSGBOX_DEFAULT + return + +BattleFrontier_BattleTowerLobby_EventScript_SubmitResponse:: @ 828CC4A + compare VAR_RESULT, 0 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelInterview + msgbox BattleFrontier_BattleTowerLobby_Text_ThatsGreatLine, MSGBOX_DEFAULT + setflag FLAG_TEMP_2 + copyvar VAR_0x8004, VAR_0x8008 + setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE + goto Interview_EventScript_EndInterview + end + +BattleFrontier_BattleTowerLobby_EventScript_CancelInterview:: @ 828CC70 + msgbox BattleFrontier_BattleTowerLobby_Text_SilentType, MSGBOX_DEFAULT + release + end + +BattleFrontier_BattleTowerLobby_EventScript_AlreadyInterviewed:: @ 828CC7A + msgbox BattleFrontier_BattleTowerLobby_Text_LookingForwardToNextBattle, MSGBOX_DEFAULT + release + end + +BattleFrontier_BattleTowerLobby_EventScript_ShowOrHideReporter:: @ 828CC84 + compare VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0 + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_HideReporter + setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE + special InterviewBefore + compare VAR_RESULT, TRUE + goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_HideReporter + clearflag FLAG_HIDE_BATTLE_TOWER_REPORTER + return + +BattleFrontier_BattleTowerLobby_EventScript_HideReporter:: @ 828CCA6 + setflag FLAG_HIDE_BATTLE_TOWER_REPORTER + return diff --git a/data/scripts/item_ball_scripts.inc b/data/scripts/item_ball_scripts.inc index 045fbb5a7f..2876e9e8cb 100644 --- a/data/scripts/item_ball_scripts.inc +++ b/data/scripts/item_ball_scripts.inc @@ -1,659 +1,659 @@ Route102_EventScript_ItemPotion:: @ 8290CD8 - giveitem_std ITEM_POTION, 1, 1 + finditem ITEM_POTION end Route103_EventScript_ItemGuardSpec:: @ 8290CE5 - giveitem_std ITEM_GUARD_SPEC, 1, 1 + finditem ITEM_GUARD_SPEC end Route103_EventScript_ItemPPUp:: @ 8290CF2 - giveitem_std ITEM_PP_UP, 1, 1 + finditem ITEM_PP_UP end Route104_EventScript_ItemPPUp:: @ 8290CFF - giveitem_std ITEM_PP_UP, 1, 1 + finditem ITEM_PP_UP end Route104_EventScript_ItemPokeBall:: @ 8290D0C - giveitem_std ITEM_POKE_BALL, 1, 1 + finditem ITEM_POKE_BALL end Route104_EventScript_ItemXAccuracy:: @ 8290D19 - giveitem_std ITEM_X_ACCURACY, 1, 1 + finditem ITEM_X_ACCURACY end Route104_EventScript_ItemPotion:: @ 8290D26 - giveitem_std ITEM_POTION, 1, 1 + finditem ITEM_POTION end Route105_EventScript_ItemIron:: @ 8290D33 - giveitem_std ITEM_IRON, 1, 1 + finditem ITEM_IRON end Route106_EventScript_ItemProtein:: @ 8290D40 - giveitem_std ITEM_PROTEIN, 1, 1 + finditem ITEM_PROTEIN end Route108_EventScript_ItemStarPiece:: @ 8290D4D - giveitem_std ITEM_STAR_PIECE, 1, 1 + finditem ITEM_STAR_PIECE end Route109_EventScript_ItemPPUp:: @ 8290D5A - giveitem_std ITEM_PP_UP, 1, 1 + finditem ITEM_PP_UP end Route109_EventScript_ItemPotion:: @ 8290D67 - giveitem_std ITEM_POTION, 1, 1 + finditem ITEM_POTION end Route110_EventScript_ItemRareCandy:: @ 8290D74 - giveitem_std ITEM_RARE_CANDY, 1, 1 + finditem ITEM_RARE_CANDY end Route110_EventScript_ItemDireHit:: @ 8290D81 - giveitem_std ITEM_DIRE_HIT, 1, 1 + finditem ITEM_DIRE_HIT end Route110_EventScript_ItemElixir:: @ 8290D8E - giveitem_std ITEM_ELIXIR, 1, 1 + finditem ITEM_ELIXIR end Route111_EventScript_ItemTM37:: @ 8290D9B - giveitem_std ITEM_TM37, 1, 1 + finditem ITEM_TM37 end Route111_EventScript_ItemStardust:: @ 8290DA8 - giveitem_std ITEM_STARDUST, 1, 1 + finditem ITEM_STARDUST end Route111_EventScript_ItemHPUp:: @ 8290DB5 - giveitem_std ITEM_HP_UP, 1, 1 + finditem ITEM_HP_UP end Route111_EventScript_ItemElixir:: @ 8290DC2 - giveitem_std ITEM_ELIXIR, 1, 1 + finditem ITEM_ELIXIR end Route112_EventScript_ItemNugget:: @ 8290DCF - giveitem_std ITEM_NUGGET, 1, 1 + finditem ITEM_NUGGET end Route113_EventScript_ItemMaxEther:: @ 8290DDC - giveitem_std ITEM_MAX_ETHER, 1, 1 + finditem ITEM_MAX_ETHER end Route113_EventScript_ItemSuperRepel:: @ 8290DE9 - giveitem_std ITEM_SUPER_REPEL, 1, 1 + finditem ITEM_SUPER_REPEL end Route113_EventScript_ItemHyperPotion:: @ 8290DF6 - giveitem_std ITEM_HYPER_POTION, 1, 1 + finditem ITEM_HYPER_POTION end Route114_EventScript_ItemRareCandy:: @ 8290E03 - giveitem_std ITEM_RARE_CANDY, 1, 1 + finditem ITEM_RARE_CANDY end Route114_EventScript_ItemProtein:: @ 8290E10 - giveitem_std ITEM_PROTEIN, 1, 1 + finditem ITEM_PROTEIN end Route114_EventScript_ItemEnergyPowder:: @ 8290E1D - giveitem_std ITEM_ENERGY_POWDER, 1, 1 + finditem ITEM_ENERGY_POWDER end Route115_EventScript_ItemSuperPotion:: @ 8290E2A - giveitem_std ITEM_SUPER_POTION, 1, 1 + finditem ITEM_SUPER_POTION end Route115_EventScript_ItemTM01:: @ 8290E37 - giveitem_std ITEM_TM01, 1, 1 + finditem ITEM_TM01 end Route115_EventScript_ItemIron:: @ 8290E44 - giveitem_std ITEM_IRON, 1, 1 + finditem ITEM_IRON end Route115_EventScript_ItemGreatBall:: @ 8290E51 - giveitem_std ITEM_GREAT_BALL, 1, 1 + finditem ITEM_GREAT_BALL end Route115_EventScript_ItemHealPowder:: @ 8290E5E - giveitem_std ITEM_HEAL_POWDER, 1, 1 + finditem ITEM_HEAL_POWDER end Route115_EventScript_ItemPPUp:: @ 8290E6B - giveitem_std ITEM_PP_UP, 1, 1 + finditem ITEM_PP_UP end Route116_EventScript_ItemXSpecial:: @ 8290E78 - giveitem_std ITEM_X_SPECIAL, 1, 1 + finditem ITEM_X_SPECIAL end Route116_EventScript_ItemEther:: @ 8290E85 - giveitem_std ITEM_ETHER, 1, 1 + finditem ITEM_ETHER end Route116_EventScript_ItemRepel:: @ 8290E92 - giveitem_std ITEM_REPEL, 1, 1 + finditem ITEM_REPEL end Route116_EventScript_ItemHPUp:: @ 8290E9F - giveitem_std ITEM_HP_UP, 1, 1 + finditem ITEM_HP_UP end Route116_EventScript_ItemPotion:: @ 8290EAC - giveitem_std ITEM_POTION, 1, 1 + finditem ITEM_POTION end Route117_EventScript_ItemGreatBall:: @ 8290EB9 - giveitem_std ITEM_GREAT_BALL, 1, 1 + finditem ITEM_GREAT_BALL end Route117_EventScript_ItemRevive:: @ 8290EC6 - giveitem_std ITEM_REVIVE, 1, 1 + finditem ITEM_REVIVE end Route118_EventScript_ItemHyperPotion:: @ 8290ED3 - giveitem_std ITEM_HYPER_POTION, 1, 1 + finditem ITEM_HYPER_POTION end Route119_EventScript_ItemSuperRepel:: @ 8290EE0 - giveitem_std ITEM_SUPER_REPEL, 1, 1 + finditem ITEM_SUPER_REPEL end Route119_EventScript_ItemZinc:: @ 8290EED - giveitem_std ITEM_ZINC, 1, 1 + finditem ITEM_ZINC end Route119_EventScript_ItemElixir:: @ 8290EFA - giveitem_std ITEM_ELIXIR, 1, 1 + finditem ITEM_ELIXIR end Route119_EventScript_ItemLeafStone:: @ 8290F07 - giveitem_std ITEM_LEAF_STONE, 1, 1 + finditem ITEM_LEAF_STONE end Route119_EventScript_ItemRareCandy:: @ 8290F14 - giveitem_std ITEM_RARE_CANDY, 1, 1 + finditem ITEM_RARE_CANDY end Route119_EventScript_ItemHyperPotion:: @ 8290F21 - giveitem_std ITEM_HYPER_POTION, 1, 1 + finditem ITEM_HYPER_POTION end Route119_EventScript_ItemHyperPotion2:: @ 8290F2E - giveitem_std ITEM_HYPER_POTION, 1, 1 + finditem ITEM_HYPER_POTION end Route119_EventScript_ItemElixir2:: @ 8290F3B - giveitem_std ITEM_ELIXIR, 1, 1 + finditem ITEM_ELIXIR end Route120_EventScript_ItemNugget:: @ 8290F48 - giveitem_std ITEM_NUGGET, 1, 1 + finditem ITEM_NUGGET end Route120_EventScript_ItemFullHeal:: @ 8290F55 - giveitem_std ITEM_FULL_HEAL, 1, 1 + finditem ITEM_FULL_HEAL end Route120_EventScript_ItemHyperPotion:: @ 8290F62 - giveitem_std ITEM_HYPER_POTION, 1, 1 + finditem ITEM_HYPER_POTION end Route120_EventScript_ItemNestBall:: @ 8290F6F - giveitem_std ITEM_NEST_BALL, 1, 1 + finditem ITEM_NEST_BALL end Route120_EventScript_ItemRevive:: @ 8290F7C - giveitem_std ITEM_REVIVE, 1, 1 + finditem ITEM_REVIVE end Route121_EventScript_ItemCarbos:: @ 8290F89 - giveitem_std ITEM_CARBOS, 1, 1 + finditem ITEM_CARBOS end Route121_EventScript_ItemRevive:: @ 8290F96 - giveitem_std ITEM_REVIVE, 1, 1 + finditem ITEM_REVIVE end Route121_EventScript_ItemZinc:: @ 8290FA3 - giveitem_std ITEM_ZINC, 1, 1 + finditem ITEM_ZINC end Route123_EventScript_ItemCalcium:: @ 8290FB0 - giveitem_std ITEM_CALCIUM, 1, 1 + finditem ITEM_CALCIUM end Route123_EventScript_ItemUltraBall:: @ 8290FBD - giveitem_std ITEM_ULTRA_BALL, 1, 1 + finditem ITEM_ULTRA_BALL end Route123_EventScript_ItemElixir:: @ 8290FCA - giveitem_std ITEM_ELIXIR, 1, 1 + finditem ITEM_ELIXIR end Route123_EventScript_ItemPPUp:: @ 8290FD7 - giveitem_std ITEM_PP_UP, 1, 1 + finditem ITEM_PP_UP end Route123_EventScript_ItemRevivalHerb:: @ 8290FE4 - giveitem_std ITEM_REVIVAL_HERB, 1, 1 + finditem ITEM_REVIVAL_HERB end Route124_EventScript_ItemRedShard:: @ 8290FF1 - giveitem_std ITEM_RED_SHARD, 1, 1 + finditem ITEM_RED_SHARD end Route124_EventScript_ItemBlueShard:: @ 8290FFE - giveitem_std ITEM_BLUE_SHARD, 1, 1 + finditem ITEM_BLUE_SHARD end Route124_EventScript_ItemYellowShard:: @ 829100B - giveitem_std ITEM_YELLOW_SHARD, 1, 1 + finditem ITEM_YELLOW_SHARD end Route125_EventScript_ItemBigPearl:: @ 8291018 - giveitem_std ITEM_BIG_PEARL, 1, 1 + finditem ITEM_BIG_PEARL end Route126_EventScript_ItemGreenShard:: @ 8291025 - giveitem_std ITEM_GREEN_SHARD, 1, 1 + finditem ITEM_GREEN_SHARD end Route127_EventScript_ItemZinc:: @ 8291032 - giveitem_std ITEM_ZINC, 1, 1 + finditem ITEM_ZINC end Route127_EventScript_ItemCarbos:: @ 829103F - giveitem_std ITEM_CARBOS, 1, 1 + finditem ITEM_CARBOS end Route127_EventScript_ItemRareCandy:: @ 829104C - giveitem_std ITEM_RARE_CANDY, 1, 1 + finditem ITEM_RARE_CANDY end Route132_EventScript_ItemRareCandy:: @ 8291059 - giveitem_std ITEM_RARE_CANDY, 1, 1 + finditem ITEM_RARE_CANDY end Route132_EventScript_ItemProtein:: @ 8291066 - giveitem_std ITEM_PROTEIN, 1, 1 + finditem ITEM_PROTEIN end Route133_EventScript_ItemBigPearl:: @ 8291073 - giveitem_std ITEM_BIG_PEARL, 1, 1 + finditem ITEM_BIG_PEARL end Route133_EventScript_ItemStarPiece:: @ 8291080 - giveitem_std ITEM_STAR_PIECE, 1, 1 + finditem ITEM_STAR_PIECE end Route133_EventScript_ItemMaxRevive:: @ 829108D - giveitem_std ITEM_MAX_REVIVE, 1, 1 + finditem ITEM_MAX_REVIVE end Route134_EventScript_ItemCarbos:: @ 829109A - giveitem_std ITEM_CARBOS, 1, 1 + finditem ITEM_CARBOS end Route134_EventScript_ItemStarPiece:: @ 82910A7 - giveitem_std ITEM_STAR_PIECE, 1, 1 + finditem ITEM_STAR_PIECE end PetalburgCity_EventScript_ItemMaxRevive:: @ 82910B4 - giveitem_std ITEM_MAX_REVIVE, 1, 1 + finditem ITEM_MAX_REVIVE end PetalburgCity_EventScript_ItemEther:: @ 82910C1 - giveitem_std ITEM_ETHER, 1, 1 + finditem ITEM_ETHER end MauvilleCity_EventScript_ItemXSpeed:: @ 82910CE - giveitem_std ITEM_X_SPEED, 1, 1 + finditem ITEM_X_SPEED end RustboroCity_EventScript_ItemXDefend:: @ 82910DB - giveitem_std ITEM_X_DEFEND, 1, 1 + finditem ITEM_X_DEFEND end LilycoveCity_EventScript_ItemMaxRepel:: @ 82910E8 - giveitem_std ITEM_MAX_REPEL, 1, 1 + finditem ITEM_MAX_REPEL end MossdeepCity_EventScript_ItemNetBall:: @ 82910F5 - giveitem_std ITEM_NET_BALL, 1, 1 + finditem ITEM_NET_BALL end PetalburgWoods_EventScript_ItemXAttack:: @ 8291102 - giveitem_std ITEM_X_ATTACK, 1, 1 + finditem ITEM_X_ATTACK end PetalburgWoods_EventScript_ItemGreatBall:: @ 829110F - giveitem_std ITEM_GREAT_BALL, 1, 1 + finditem ITEM_GREAT_BALL end PetalburgWoods_EventScript_ItemEther:: @ 829111C - giveitem_std ITEM_ETHER, 1, 1 + finditem ITEM_ETHER end PetalburgWoods_EventScript_ItemParalyzeHeal:: @ 8291129 - giveitem_std ITEM_PARALYZE_HEAL, 1, 1 + finditem ITEM_PARALYZE_HEAL end RusturfTunnel_EventScript_ItemPokeBall:: @ 8291136 - giveitem_std ITEM_POKE_BALL, 1, 1 + finditem ITEM_POKE_BALL end RusturfTunnel_EventScript_ItemMaxEther:: @ 8291143 - giveitem_std ITEM_MAX_ETHER, 1, 1 + finditem ITEM_MAX_ETHER end GraniteCave_1F_EventScript_ItemEscapeRope:: @ 8291150 - giveitem_std ITEM_ESCAPE_ROPE, 1, 1 + finditem ITEM_ESCAPE_ROPE end GraniteCave_B1F_EventScript_ItemPokeBall:: @ 829115D - giveitem_std ITEM_POKE_BALL, 1, 1 + finditem ITEM_POKE_BALL end GraniteCave_B2F_EventScript_ItemRepel:: @ 829116A - giveitem_std ITEM_REPEL, 1, 1 + finditem ITEM_REPEL end GraniteCave_B2F_EventScript_ItemRareCandy:: @ 8291177 - giveitem_std ITEM_RARE_CANDY, 1, 1 + finditem ITEM_RARE_CANDY end JaggedPass_EventScript_ItemBurnHeal:: @ 8291184 - giveitem_std ITEM_BURN_HEAL, 1, 1 + finditem ITEM_BURN_HEAL end FieryPath_EventScript_ItemFireStone:: @ 8291191 - giveitem_std ITEM_FIRE_STONE, 1, 1 + finditem ITEM_FIRE_STONE end FieryPath_EventScript_ItemTM06:: @ 829119E - giveitem_std ITEM_TM06, 1, 1 + finditem ITEM_TM06 end MeteorFalls_1F_1R_EventScript_ItemTM23:: @ 82911AB - giveitem_std ITEM_TM23, 1, 1 + finditem ITEM_TM23 end MeteorFalls_1F_1R_EventScript_ItemFullHeal:: @ 82911B8 - giveitem_std ITEM_FULL_HEAL, 1, 1 + finditem ITEM_FULL_HEAL end MeteorFalls_1F_1R_EventScript_ItemMoonStone:: @ 82911C5 - giveitem_std ITEM_MOON_STONE, 1, 1 + finditem ITEM_MOON_STONE end MeteorFalls_1F_1R_EventScript_ItemPPUP:: @ 82911D2 - giveitem_std ITEM_PP_UP, 1, 1 + finditem ITEM_PP_UP end MeteorFalls_B1F_2R_EventScript_ItemTM02:: @ 82911DF - giveitem_std ITEM_TM02, 1, 1 + finditem ITEM_TM02 end NewMauville_Inside_EventScript_ItemUltraRope:: @ 82911EC - giveitem_std ITEM_ULTRA_BALL, 1, 1 + finditem ITEM_ULTRA_BALL end NewMauville_Inside_EventScript_ItemEscapeRope:: @ 82911F9 - giveitem_std ITEM_ESCAPE_ROPE, 1, 1 + finditem ITEM_ESCAPE_ROPE end NewMauville_Inside_EventScript_ItemThunderStone:: @ 8291206 - giveitem_std ITEM_THUNDER_STONE, 1, 1 + finditem ITEM_THUNDER_STONE end NewMauville_Inside_EventScript_ItemFullHeal:: @ 8291213 - giveitem_std ITEM_FULL_HEAL, 1, 1 + finditem ITEM_FULL_HEAL end NewMauville_Inside_EventScript_ItemParalyzeHeal:: @ 8291220 - giveitem_std ITEM_PARALYZE_HEAL, 1, 1 + finditem ITEM_PARALYZE_HEAL end AbandonedShip_Rooms_1F_EventScript_ItemHarborMail:: @ 829122D - giveitem_std ITEM_HARBOR_MAIL, 1, 1 + finditem ITEM_HARBOR_MAIL end AbandonedShip_Rooms_B1F_EventScript_ItemEscapeRope:: @ 829123A - giveitem_std ITEM_ESCAPE_ROPE, 1, 1 + finditem ITEM_ESCAPE_ROPE end AbandonedShip_Rooms2_B1F_EventScript_ItemDiveBall:: @ 8291247 - giveitem_std ITEM_DIVE_BALL, 1, 1 + finditem ITEM_DIVE_BALL end AbandonedShip_Room_B1F_EventScript_ItemTM13:: @ 8291254 - giveitem_std ITEM_TM13, 1, 1 + finditem ITEM_TM13 end AbandonedShip_Rooms2_1F_EventScript_ItemRevive:: @ 8291261 - giveitem_std ITEM_REVIVE, 1, 1 + finditem ITEM_REVIVE end AbandonedShip_CaptainsOffice_EventScript_ItemStorageKey:: @ 829126E - giveitem_std ITEM_STORAGE_KEY, 1, 1 + finditem ITEM_STORAGE_KEY end AbandonedShip_HiddenFloorRooms_EventScript_ItemLuxuryBall:: @ 829127B - giveitem_std ITEM_LUXURY_BALL, 1, 1 + finditem ITEM_LUXURY_BALL end AbandonedShip_HiddenFloorRooms_EventScript_ItemScanner:: @ 8291288 - giveitem_std ITEM_SCANNER, 1, 1 + finditem ITEM_SCANNER end AbandonedShip_HiddenFloorRooms_EventScript_ItemWaterStone:: @ 8291295 - giveitem_std ITEM_WATER_STONE, 1, 1 + finditem ITEM_WATER_STONE end AbandonedShip_HiddenFloorRooms_EventScript_ItemTM18:: @ 82912A2 - giveitem_std ITEM_TM18, 1, 1 + finditem ITEM_TM18 end ScorchedSlab_EventScript_ItemTM11:: @ 82912AF - giveitem_std ITEM_TM11, 1, 1 + finditem ITEM_TM11 end SafariZone_Northwest_EventScript_ItemTM22:: @ 82912BC - giveitem_std ITEM_TM22, 1, 1 + finditem ITEM_TM22 end SafariZone_North_EventScript_ItemCalcium:: @ 82912C9 - giveitem_std ITEM_CALCIUM, 1, 1 + finditem ITEM_CALCIUM end SafariZone_Southwest_EventScript_ItemMaxRevive:: @ 82912D6 - giveitem_std ITEM_MAX_REVIVE, 1, 1 + finditem ITEM_MAX_REVIVE end SafariZone_Northeast_EventScript_ItemNugget:: @ 82912E3 - giveitem_std ITEM_NUGGET, 1, 1 + finditem ITEM_NUGGET end SafariZone_Southeast_EventScript_ItemBigPearl:: @ 82912F0 - giveitem_std ITEM_BIG_PEARL, 1, 1 + finditem ITEM_BIG_PEARL end MtPyre_2F_EventScript_ItemUltraBall:: @ 82912FD - giveitem_std ITEM_ULTRA_BALL, 1, 1 + finditem ITEM_ULTRA_BALL end MtPyre_3F_EventScript_ItemSuperRepel:: @ 829130A - giveitem_std ITEM_SUPER_REPEL, 1, 1 + finditem ITEM_SUPER_REPEL end MtPyre_4F_EventScript_ItemSeaIncense:: @ 8291317 - giveitem_std ITEM_SEA_INCENSE, 1, 1 + finditem ITEM_SEA_INCENSE end MtPyre_5F_EventScript_ItemLaxIncense:: @ 8291324 - giveitem_std ITEM_LAX_INCENSE, 1, 1 + finditem ITEM_LAX_INCENSE end MtPyre_6F_EventScript_ItemTM30:: @ 8291331 - giveitem_std ITEM_TM30, 1, 1 + finditem ITEM_TM30 end MtPyre_Exterior_EventScript_ItemMaxPotion:: @ 829133E - giveitem_std ITEM_MAX_POTION, 1, 1 + finditem ITEM_MAX_POTION end MtPyre_Exterior_EventScript_ItemTM48:: @ 829134B - giveitem_std ITEM_TM48, 1, 1 + finditem ITEM_TM48 end AquaHideout_B1F_EventScript_ItemMasterBall:: @ 8291358 - giveitem_std ITEM_MASTER_BALL, 1, 1 + finditem ITEM_MASTER_BALL end AquaHideout_B1F_EventScript_ItemNugget:: @ 8291365 - giveitem_std ITEM_NUGGET, 1, 1 + finditem ITEM_NUGGET end AquaHideout_B1F_EventScript_ItemMaxElixir:: @ 8291372 - giveitem_std ITEM_MAX_ELIXIR, 1, 1 + finditem ITEM_MAX_ELIXIR end AquaHideout_B2F_EventScript_ItemNestBall:: @ 829137F - giveitem_std ITEM_NEST_BALL, 1, 1 + finditem ITEM_NEST_BALL end AquaHideout_B2F_EventScript_ItemMasterBall:: @ 829138C - giveitem_std ITEM_MASTER_BALL, 1, 1 // Unused + finditem ITEM_MASTER_BALL // Unused end Route119_EventScript_ItemNugget:: @ 8291399 - giveitem_std ITEM_NUGGET, 1, 1 + finditem ITEM_NUGGET end Route119_EventScript_ItemMaxElixir:: @ 82913A6 - giveitem_std ITEM_MAX_ELIXIR, 1, 1 + finditem ITEM_MAX_ELIXIR end Route119_EventScript_ItemNestBall:: @ 82913B3 - giveitem_std ITEM_NEST_BALL, 1, 1 + finditem ITEM_NEST_BALL end ShoalCave_LowTideEntranceRoom_EventScript_ItemBigPearl:: @ 82913C0 - giveitem_std ITEM_BIG_PEARL, 1, 1 + finditem ITEM_BIG_PEARL end ShoalCave_LowTideInnerRoom_EventScript_ItemRareCandy:: @ 82913CD - giveitem_std ITEM_RARE_CANDY, 1, 1 + finditem ITEM_RARE_CANDY end ShoalCave_LowTideStairsRoom_EventScript_ItemIceHeal:: @ 82913DA - giveitem_std ITEM_ICE_HEAL, 1, 1 + finditem ITEM_ICE_HEAL end ShoalCave_LowTideIceRoom_EventScript_ItemTM07:: @ 82913E7 - giveitem_std ITEM_TM07, 1, 1 + finditem ITEM_TM07 end ShoalCave_LowTideIceRoom_EventScript_ItemNeverMeltIce:: @ 82913F4 - giveitem_std ITEM_NEVER_MELT_ICE, 1, 1 + finditem ITEM_NEVER_MELT_ICE end SeafloorCavern_Room9_EventScript_ItemTM26:: @ 8291401 - giveitem_std ITEM_TM26, 1, 1 + finditem ITEM_TM26 end Route110_TrickHousePuzzle1_EventScript_ItemOrangeMail:: @ 829140E - giveitem_std ITEM_ORANGE_MAIL, 1, 1 + finditem ITEM_ORANGE_MAIL end Route110_TrickHousePuzzle2_EventScript_ItemHarborMail:: @ 829141B - giveitem_std ITEM_HARBOR_MAIL, 1, 1 + finditem ITEM_HARBOR_MAIL end Route110_TrickHousePuzzle2_EventScript_ItemWaveMail:: @ 8291428 - giveitem_std ITEM_WAVE_MAIL, 1, 1 + finditem ITEM_WAVE_MAIL end Route110_TrickHousePuzzle3_EventScript_ItemShadowMail:: @ 8291435 - giveitem_std ITEM_SHADOW_MAIL, 1, 1 + finditem ITEM_SHADOW_MAIL end Route110_TrickHousePuzzle3_EventScript_ItemWoodMail:: @ 8291442 - giveitem_std ITEM_WOOD_MAIL, 1, 1 + finditem ITEM_WOOD_MAIL end Route110_TrickHousePuzzle4_EventScript_ItemMechMail:: @ 829144F - giveitem_std ITEM_MECH_MAIL, 1, 1 + finditem ITEM_MECH_MAIL end Route110_TrickHousePuzzle6_EventScript_ItemGlitterMail:: @ 829145C - giveitem_std ITEM_GLITTER_MAIL, 1, 1 + finditem ITEM_GLITTER_MAIL end Route110_TrickHousePuzzle7_EventScript_ItemTropicMail:: @ 8291469 - giveitem_std ITEM_TROPIC_MAIL, 1, 1 + finditem ITEM_TROPIC_MAIL end Route110_TrickHousePuzzle8_EventScript_ItemBeadMail:: @ 8291476 - giveitem_std ITEM_BEAD_MAIL, 1, 1 + finditem ITEM_BEAD_MAIL end VictoryRoad_1F_EventScript_ItemMaxElixir:: @ 8291483 - giveitem_std ITEM_MAX_ELIXIR, 1, 1 + finditem ITEM_MAX_ELIXIR end VictoryRoad_1F_EventScript_ItemPPUp:: @ 8291490 - giveitem_std ITEM_PP_UP, 1, 1 + finditem ITEM_PP_UP end VictoryRoad_B1F_EventScript_ItemTM29:: @ 829149D - giveitem_std ITEM_TM29, 1, 1 + finditem ITEM_TM29 end VictoryRoad_B1F_EventScript_ItemFullRestore:: @ 82914AA - giveitem_std ITEM_FULL_RESTORE, 1, 1 + finditem ITEM_FULL_RESTORE end VictoryRoad_B2F_EventScript_ItemFullHeal:: @ 82914B7 - giveitem_std ITEM_FULL_HEAL, 1, 1 + finditem ITEM_FULL_HEAL end ArtisanCave_B1F_EventScript_ItemHPUp:: @ 82914C4 - giveitem_std ITEM_HP_UP, 1, 1 + finditem ITEM_HP_UP end ArtisanCave_1F_EventScript_ItemCarbos:: @ 82914D1 - giveitem_std ITEM_CARBOS, 1, 1 + finditem ITEM_CARBOS end MagmaHideout_1F_EventScript_ItemRareCandy:: @ 82914DE - giveitem_std ITEM_RARE_CANDY, 1, 1 + finditem ITEM_RARE_CANDY end MagmaHideout_2F_2R_EventScript_MaxElixir:: @ 82914EB - giveitem_std ITEM_MAX_ELIXIR, 1, 1 + finditem ITEM_MAX_ELIXIR end MagmaHideout_2F_2R_EventScript_ItemFullRestore:: @ 82914F8 - giveitem_std ITEM_FULL_RESTORE, 1, 1 + finditem ITEM_FULL_RESTORE end MagmaHideout_3F_1R_EventScript_ItemNugget:: @ 8291505 - giveitem_std ITEM_NUGGET, 1, 1 + finditem ITEM_NUGGET end MagmaHideout_3F_2R_EventScript_ItemPPMax:: @ 8291512 - giveitem_std ITEM_PP_MAX, 1, 1 + finditem ITEM_PP_MAX end MagmaHideout_4F_EventScript_MaxRevive:: @ 829151F - giveitem_std ITEM_MAX_REVIVE, 1, 1 + finditem ITEM_MAX_REVIVE end MagmaHideout_3F_3R_EventScript_ItemEscapeRope:: @ 829152C - giveitem_std ITEM_ESCAPE_ROPE, 1, 1 + finditem ITEM_ESCAPE_ROPE end diff --git a/data/scripts/kecleon.inc b/data/scripts/kecleon.inc new file mode 100644 index 0000000000..659cd027b9 --- /dev/null +++ b/data/scripts/kecleon.inc @@ -0,0 +1,116 @@ +Route120_EventScript_Kecleon1:: @ 82722DB + lock + faceplayer + setvar VAR_0x8009, 1 + goto EventScript_Kecleon + end + +Route120_EventScript_Kecleon2:: @ 82722E8 + lock + faceplayer + setvar VAR_0x8009, 2 + goto EventScript_Kecleon + end + +Route120_EventScript_Kecleon3:: @ 82722F5 + lock + faceplayer + setvar VAR_0x8009, 3 + goto EventScript_Kecleon + end + +Route120_EventScript_Kecleon4:: @ 8272302 + lock + faceplayer + setvar VAR_0x8009, 4 + goto EventScript_Kecleon + end + +Route120_EventScript_Kecleon5:: @ 827230F + lock + faceplayer + setvar VAR_0x8009, 5 + goto EventScript_Kecleon + end + +Route119_EventScript_Kecleon1:: @ 827231C + lock + faceplayer + setvar VAR_0x8009, 6 + goto EventScript_Kecleon + end + +Route119_EventScript_Kecleon2:: @ 8272329 + lock + faceplayer + setvar VAR_0x8009, 7 + goto EventScript_Kecleon + end + +EventScript_Kecleon:: @ 8272336 + checkitem ITEM_DEVON_SCOPE, 1 + compare VAR_RESULT, 1 + goto_if_eq EventScript_AskUseDevonScope + msgbox Kecleon_Text_SomethingUnseeable, MSGBOX_DEFAULT + release + end + +EventScript_AskUseDevonScope:: @ 8272350 + msgbox Kecleon_Text_WantToUseDevonScope, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq EventScript_BattleKecleon + release + end + +EventScript_BattleKecleon:: @ 8272365 + msgbox Kecleon_Text_UseDevonScopeMonAttacked, MSGBOX_DEFAULT + closemessage + applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer + waitmovement 0 + applymovement VAR_LAST_TALKED, Movement_KecleonAppears + waitmovement 0 + waitse + playmoncry SPECIES_KECLEON, 2 + delay 40 + waitmoncry + setwildbattle SPECIES_KECLEON, 30, ITEM_NONE + setflag FLAG_SYS_CTRL_OBJ_DELETE + dowildbattle + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, GetBattleOutcome + compare VAR_RESULT, B_OUTCOME_WON + goto_if_eq EventScript_RemoveKecleon + compare VAR_RESULT, B_OUTCOME_RAN + goto_if_eq EventScript_RemoveKecleon + compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED + goto_if_eq EventScript_RemoveKecleon + release + end + +EventScript_RemoveKecleon:: @ 82723C1 + goto Common_EventScript_RemoveStaticPokemon + end + +Movement_KecleonAppears: @ 82723C7 + set_visible + delay_4 + set_invisible + delay_4 + set_visible + delay_4 + set_invisible + delay_4 + set_visible + delay_8 + set_invisible + delay_8 + set_visible + delay_8 + set_invisible + delay_8 + set_visible + delay_16 + set_invisible + delay_16 + set_visible + step_end diff --git a/data/scripts/lilycove_lady.inc b/data/scripts/lilycove_lady.inc new file mode 100644 index 0000000000..bdd670031a --- /dev/null +++ b/data/scripts/lilycove_lady.inc @@ -0,0 +1,856 @@ +LilycoveCity_PokemonCenter_1F_EventScript_LilycoveLady:: @ 82A836B + special Script_GetLilycoveLadyId + switch VAR_RESULT + case LILYCOVE_LADY_QUIZ, LilycoveCity_PokemonCenter_1F_EventScript_QuizLady + case LILYCOVE_LADY_FAVOR, LilycoveCity_PokemonCenter_1F_EventScript_FavorLady + case LILYCOVE_LADY_CONTEST, LilycoveCity_PokemonCenter_1F_EventScript_ContestLady + end + +LilycoveCity_PokemonCenter_1F_EventScript_FavorLady:: @ 82A8395 + lock + faceplayer + msgbox LilycoveCity_PokemonCenter_1F_Text_ImTheFavorLady, MSGBOX_DEFAULT + specialvar VAR_RESULT, GetFavorLadyState + compare VAR_RESULT, LILYCOVE_LADY_STATE_READY + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyReady + compare VAR_RESULT, LILYCOVE_LADY_STATE_COMPLETED + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyCompleted + compare VAR_RESULT, LILYCOVE_LADY_STATE_PRIZE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyPrize + end + +LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyCompleted:: @ 82A83C6 + msgbox LilycoveCity_PokemonCenter_1F_Text_ThankYouForLastTime, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyReady:: @ 82A83D0 + special BufferFavorLadyRequest + msgbox LilycoveCity_PokemonCenter_1F_Text_ObsessedWithThing, MSGBOX_DEFAULT + specialvar VAR_RESULT, HasAnotherPlayerGivenFavorLadyItem + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_RequestItem + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_TellAboutPlayersItem + end + +LilycoveCity_PokemonCenter_1F_EventScript_TellAboutPlayersItem:: @ 82A83F7 + special BufferFavorLadyItemName + special BufferFavorLadyPlayerName + specialvar VAR_RESULT, DidFavorLadyLikeItem + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_PlayerGaveBadThing + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_PlayerGaveGreatThing + end + +LilycoveCity_PokemonCenter_1F_EventScript_PlayerGaveBadThing:: @ 82A8419 + msgbox LilycoveCity_PokemonCenter_1F_Text_PlayerGaveMeBadThing, MSGBOX_DEFAULT + goto LilycoveCity_PokemonCenter_1F_EventScript_RequestItem + end + +LilycoveCity_PokemonCenter_1F_EventScript_PlayerGaveGreatThing:: @ 82A8427 + msgbox LilycoveCity_PokemonCenter_1F_Text_PlayerGaveMeGreatThing, MSGBOX_DEFAULT + goto LilycoveCity_PokemonCenter_1F_EventScript_RequestItem + end + +LilycoveCity_PokemonCenter_1F_EventScript_RequestItem:: @ 82A8435 + msgbox LilycoveCity_PokemonCenter_1F_Text_WillYouShareThing, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineFavor + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AcceptFavor + end + +LilycoveCity_PokemonCenter_1F_EventScript_DeclineFavor:: @ 82A8454 + msgbox LilycoveCity_PokemonCenter_1F_Text_IsThatSoGoodbye, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_AcceptFavor:: @ 82A845E + msgbox LilycoveCity_PokemonCenter_1F_Text_WhatWillYouGiveMe, MSGBOX_DEFAULT + goto LilycoveCity_PokemonCenter_1F_EventScript_ChooseFavorItem + end + +LilycoveCity_PokemonCenter_1F_EventScript_ChooseFavorItem:: @ 82A846C + fadescreen FADE_TO_BLACK + setvar VAR_RESULT, 0 + special Script_FavorLadyOpenBagMenu + waitstate + compare VAR_RESULT, 0 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskQuitChooseFavorItem + compare VAR_RESULT, 1 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GiveFavorItem + end + +LilycoveCity_PokemonCenter_1F_EventScript_AskQuitChooseFavorItem:: @ 82A848E + msgbox LilycoveCity_PokemonCenter_1F_Text_NotWillingToShare, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineFavor + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ChooseFavorItem + end + +LilycoveCity_PokemonCenter_1F_EventScript_GiveFavorItem:: @ 82A84AD + specialvar VAR_RESULT, Script_DoesFavorLadyLikeItem + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DidntLikeFavorItem + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_CheckLovedItem + end + +LilycoveCity_PokemonCenter_1F_EventScript_DidntLikeFavorItem:: @ 82A84C9 + special BufferFavorLadyRequest + msgbox LilycoveCity_PokemonCenter_1F_Text_IllTryToCherishIt, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_CheckLovedItem:: @ 82A84D6 + specialvar VAR_RESULT, IsFavorLadyThresholdMet + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_LikedFavorItem + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_LovedFavorItem + end + +LilycoveCity_PokemonCenter_1F_EventScript_LikedFavorItem:: @ 82A84F2 + special BufferFavorLadyRequest + msgbox LilycoveCity_PokemonCenter_1F_Text_IWillCherishThis, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_LovedFavorItem:: @ 82A84FF + special BufferFavorLadyRequest + msgbox LilycoveCity_PokemonCenter_1F_Text_IWillTreasureThis, MSGBOX_DEFAULT + goto LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyPrize + end + +LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyPrize:: @ 82A8510 + setvar VAR_0x8004, 0 + specialvar VAR_0x8004, FavorLadyGetPrize + msgbox LilycoveCity_PokemonCenter_1F_Text_IllGiveYouThisInReturn, MSGBOX_DEFAULT + giveitem VAR_0x8004 + compare VAR_RESULT, 0 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_NoRoomForFavorPrize + compare VAR_RESULT, 1 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ReceivedFavorPrize + end + +LilycoveCity_PokemonCenter_1F_EventScript_NoRoomForFavorPrize:: @ 82A8545 + msgbox LilycoveCity_PokemonCenter_1F_Text_YouDontHaveSpaceForIt, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_ReceivedFavorPrize:: @ 82A854F + special SetFavorLadyState_Complete + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_QuizLady:: @ 82A8554 + lock + faceplayer + msgbox LilycoveCity_PokemonCenter_1F_Text_ImTheQuizLady, MSGBOX_DEFAULT + specialvar VAR_RESULT, GetQuizLadyState + compare VAR_RESULT, LILYCOVE_LADY_STATE_READY + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_HasQuiz + compare VAR_RESULT, LILYCOVE_LADY_STATE_COMPLETED + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_CheckMadeQuiz + compare VAR_RESULT, LILYCOVE_LADY_STATE_PRIZE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ReadyGivePrize + end + +LilycoveCity_PokemonCenter_1F_EventScript_HasQuiz:: @ 82A8585 + specialvar VAR_RESULT, GetQuizAuthor + compare VAR_RESULT, QUIZ_AUTHOR_PLAYER + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_WaitingToTakeYourQuiz + compare VAR_RESULT, QUIZ_AUTHOR_OTHER_PLAYER + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_PlayerQuizReady + compare VAR_RESULT, QUIZ_AUTHOR_LADY + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_LadyQuizReady + end + +LilycoveCity_PokemonCenter_1F_EventScript_CheckMadeQuiz:: @ 82A85AC + specialvar VAR_RESULT, IsQuizLadyWaitingForChallenger + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskMakeQuiz + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_WaitingToTakeYourQuiz + end + +LilycoveCity_PokemonCenter_1F_EventScript_WaitingToTakeYourQuiz:: @ 82A85C8 + msgbox LilycoveCity_PokemonCenter_1F_Text_WaitingToTakeYourQuiz, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_PlayerQuizReady:: @ 82A85D2 + msgbox LilycoveCity_PokemonCenter_1F_Text_WaitingForChallenger, MSGBOX_DEFAULT + goto LilycoveCity_PokemonCenter_1F_EventScript_AskTakeQuiz + end + +LilycoveCity_PokemonCenter_1F_EventScript_LadyQuizReady:: @ 82A85E0 + msgbox LilycoveCity_PokemonCenter_1F_Text_WaitingForChallenger, MSGBOX_DEFAULT + goto LilycoveCity_PokemonCenter_1F_EventScript_AskTakeQuiz + end + +LilycoveCity_PokemonCenter_1F_EventScript_AskTakeQuiz:: @ 82A85EE + setvar VAR_0x8004, 0 + msgbox LilycoveCity_PokemonCenter_1F_Text_TakeQuizChallenge, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_TakeQuiz + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineQuiz + end + +LilycoveCity_PokemonCenter_1F_EventScript_DeclineQuiz:: @ 82A8612 + msgbox LilycoveCity_PokemonCenter_1F_Text_HowBoringBye, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_TakeQuiz:: @ 82A861C + special ClearQuizLadyPlayerAnswer + compare VAR_0x8004, 0 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ShowQuestion + compare VAR_0x8004, EASY_CHAT_TYPE_QUIZ_ANSWER + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GetAnswer + +LilycoveCity_PokemonCenter_1F_EventScript_CheckQuizTakingState:: @ 82A8635 + compare VAR_RESULT, 0 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskQuitQuiz + compare VAR_RESULT, 1 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_SubmitQuizResponse + end + +LilycoveCity_PokemonCenter_1F_EventScript_ShowQuestion:: @ 82A864C + special QuizLadyShowQuizQuestion + waitstate + goto LilycoveCity_PokemonCenter_1F_EventScript_CheckQuizTakingState + end + +LilycoveCity_PokemonCenter_1F_EventScript_GetAnswer:: @ 82A8656 + special QuizLadyGetPlayerAnswer + waitstate + goto LilycoveCity_PokemonCenter_1F_EventScript_CheckQuizTakingState + end + +LilycoveCity_PokemonCenter_1F_EventScript_AskQuitQuiz:: @ 82A8660 + msgbox LilycoveCity_PokemonCenter_1F_Text_YoureGoingToQuit, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_QuitTakingQuiz + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_TakeQuiz + end + +LilycoveCity_PokemonCenter_1F_EventScript_QuitTakingQuiz:: @ 82A867F + msgbox LilycoveCity_PokemonCenter_1F_Text_TakeTheQuizAnotherTime, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_SubmitQuizResponse:: @ 82A8689 + special SetQuizLadyState_Complete + msgbox LilycoveCity_PokemonCenter_1F_Text_WaitForAnswer, MSGBOX_DEFAULT + specialvar VAR_RESULT, IsQuizAnswerCorrect + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_IncorrectResponse + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_CorrectResponse + end + +LilycoveCity_PokemonCenter_1F_EventScript_CorrectResponse:: @ 82A86B0 + playse SE_SEIKAI + delay 10 + playse SE_SEIKAI + msgbox LilycoveCity_PokemonCenter_1F_Text_YouGotItRight, MSGBOX_DEFAULT + goto LilycoveCity_PokemonCenter_1F_EventScript_ReadyGivePrize + end + +LilycoveCity_PokemonCenter_1F_EventScript_IncorrectResponse:: @ 82A86C7 + special BufferQuizCorrectAnswer + special BufferQuizPrizeName + playse SE_HAZURE + delay 10 + playse SE_HAZURE + msgbox LilycoveCity_PokemonCenter_1F_Text_WrongTheCorrectAnswerIs, MSGBOX_DEFAULT + msgbox LilycoveCity_PokemonCenter_1F_Text_IGetToKeepPrize, MSGBOX_DEFAULT + goto LilycoveCity_PokemonCenter_1F_EventScript_AskMakeQuiz + end + +@ VAR_RESULT is essentially ignored, both jumps are identical +LilycoveCity_PokemonCenter_1F_EventScript_ReadyGivePrize:: @ 82A86EC + specialvar VAR_RESULT, BufferQuizAuthorNameAndCheckIfLady + compare VAR_RESULT, 1 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GivePrize1 + compare VAR_RESULT, 0 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GivePrize0 + end + +LilycoveCity_PokemonCenter_1F_EventScript_GivePrize1:: @ 82A8708 + msgbox LilycoveCity_PokemonCenter_1F_Text_YouGotItRightYouveWonPersonsPrize, MSGBOX_DEFAULT + goto LilycoveCity_PokemonCenter_1F_EventScript_GivePrize + end + +LilycoveCity_PokemonCenter_1F_EventScript_GivePrize0:: @ 82A8716 + msgbox LilycoveCity_PokemonCenter_1F_Text_YouGotItRightYouveWonPersonsPrize, MSGBOX_DEFAULT + goto LilycoveCity_PokemonCenter_1F_EventScript_GivePrize + end + +LilycoveCity_PokemonCenter_1F_EventScript_GivePrize:: @ 82A8724 + setvar VAR_0x8005, 0 + special BufferQuizPrizeItem + special SetQuizLadyState_Complete + giveitem VAR_0x8005 + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_NoSpaceForQuizPrize + goto LilycoveCity_PokemonCenter_1F_EventScript_AskMakeQuiz + end + +LilycoveCity_PokemonCenter_1F_EventScript_NoSpaceForQuizPrize:: @ 82A874C + msgbox LilycoveCity_PokemonCenter_1F_Text_YourBagIsFilledUp, MSGBOX_DEFAULT + special SetQuizLadyState_GivePrize + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_AskMakeQuiz:: @ 82A8759 + msgbox LilycoveCity_PokemonCenter_1F_Text_MakeYourOwnQuiz, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_MakeQuiz + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineMakeQuiz + end + +LilycoveCity_PokemonCenter_1F_EventScript_DeclineMakeQuiz:: @ 82A8778 + special QuizLadyPickNewQuestion + msgbox LilycoveCity_PokemonCenter_1F_Text_MaybeNextTime, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_MakeQuiz:: @ 82A8785 + msgbox LilycoveCity_PokemonCenter_1F_Text_PickYourPrize, MSGBOX_DEFAULT +LilycoveCity_PokemonCenter_1F_EventScript_PickPrize:: @ 82A878D + fadescreen FADE_TO_BLACK + setvar VAR_RESULT, 0 + special Script_QuizLadyOpenBagMenu + waitstate + compare VAR_RESULT, 0 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskQuitChoosingPrize + compare VAR_RESULT, 1 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_WriteQuiz + end + +LilycoveCity_PokemonCenter_1F_EventScript_AskQuitChoosingPrize:: @ 82A87AF + msgbox LilycoveCity_PokemonCenter_1F_Text_QuitChoosingPrize, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineMakeQuiz + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_PickPrize + end + +LilycoveCity_PokemonCenter_1F_EventScript_WriteQuiz:: @ 82A87CE + msgbox LilycoveCity_PokemonCenter_1F_Text_WriteYourQuiz, MSGBOX_DEFAULT + special ClearQuizLadyQuestionAndAnswer + special ClearQuizLadyPlayerAnswer + setvar VAR_0x8004, EASY_CHAT_TYPE_QUIZ_QUESTION +LilycoveCity_PokemonCenter_1F_EventScript_WriteQuizQuestion:: @ 82A87E1 + fadescreen FADE_TO_BLACK + special QuizLadySetCustomQuestion + waitstate + compare VAR_RESULT, 0 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskQuitWritingQuizQuestion + goto LilycoveCity_PokemonCenter_1F_EventScript_FinishMakingQuiz + end + +LilycoveCity_PokemonCenter_1F_EventScript_AskQuitWritingQuizQuestion:: @ 82A87F8 + msgbox LilycoveCity_PokemonCenter_1F_Text_QuitWritingQuizQuestion, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineMakeQuiz + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_WriteQuizQuestion + end + +LilycoveCity_PokemonCenter_1F_EventScript_FinishMakingQuiz:: @ 82A8817 + special QuizLadyTakePrizeForCustomQuiz + special QuizLadyRecordCustomQuizData + special QuizLadySetWaitingForChallenger + msgbox LilycoveCity_PokemonCenter_1F_Text_IllLookForAChallenger, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_ContestLady:: @ 82A882A + lock + faceplayer + msgbox LilycoveCity_PokemonCenter_1F_Text_ImTheContestLady, MSGBOX_DEFAULT + specialvar VAR_RESULT, HasPlayerGivenContestLadyPokeblock + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_NotGivenPokeblock + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GivenPokeblock + end + +@ Redundant with above script, VAR_RESULT will always be FALSE here +LilycoveCity_PokemonCenter_1F_EventScript_NotGivenPokeblock:: @ 82A8850 + specialvar VAR_RESULT, ShouldContestLadyShowGoOnAir + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskForPokeblock + compare VAR_RESULT, TRUE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GivenPokeblock + end + +LilycoveCity_PokemonCenter_1F_EventScript_GivenPokeblock:: @ 82A886C + msgbox LilycoveCity_PokemonCenter_1F_Text_ThankForPokeblock, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_AskForPokeblock:: @ 82A8876 + special Script_BufferContestLadyCategoryAndMonName + msgbox LilycoveCity_PokemonCenter_1F_Text_MyFriendDisplaysQuality, MSGBOX_DEFAULT + checkitem ITEM_POKEBLOCK_CASE, 1 + compare VAR_RESULT, FALSE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_NoPokeblockCase + msgbox LilycoveCity_PokemonCenter_1F_Text_AskingForOnePokeblock, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineGivePokeblock + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ChoosePokeblock + end + +LilycoveCity_PokemonCenter_1F_EventScript_DeclineGivePokeblock:: @ 82A88B0 + msgbox LilycoveCity_PokemonCenter_1F_Text_WhatACheapskate, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_ChoosePokeblock:: @ 82A88BA + fadescreen FADE_TO_BLACK + special OpenPokeblockCaseForContestLady + waitstate + compare VAR_RESULT, 0xFFFF + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskQuitGivingPokeblock + compare VAR_RESULT, 0xFFFF + goto_if_ne LilycoveCity_PokemonCenter_1F_EventScript_GivePokeblock + end + +LilycoveCity_PokemonCenter_1F_EventScript_AskQuitGivingPokeblock:: @ 82A88D7 + msgbox LilycoveCity_PokemonCenter_1F_Text_ICantHaveOnePokeblock, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineGivePokeblock + compare VAR_RESULT, NO + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ChoosePokeblock + end + +LilycoveCity_PokemonCenter_1F_EventScript_GivePokeblock:: @ 82A88F6 + msgbox LilycoveCity_PokemonCenter_1F_Text_IllUseYourPokeblock, MSGBOX_DEFAULT + special SetContestLadyGivenPokeblock + special GetContestLadyMonSpecies + goto LilycoveCity_PokemonCenter_1F_EventScript_FeedPokeblock + end + +@ VAR_0x8004 here is the return value from GivePokeblockToContestLady +LilycoveCity_PokemonCenter_1F_EventScript_FeedPokeblock:: @ 82A890A + applymovement 4, LilycoveCity_PokemonCenter_1F_Movement_LadyFaceMon + waitmovement 0 + delay 60 + applymovement 5, LilycoveCity_PokemonCenter_1F_Movement_MonFaceLady + waitmovement 0 + delay 60 + waitse + playmoncry VAR_0x8005, 0 + delay 120 + waitmoncry + compare VAR_0x8004, 1 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_MonEnjoyPokeblock + goto LilycoveCity_PokemonCenter_1F_EventScript_FinishFeedPokeblock + end + +@ VAR_0x8004 here is the return value from GivePokeblockToContestLady +LilycoveCity_PokemonCenter_1F_EventScript_MonEnjoyPokeblock:: @ 82A893F + applymovement 5, LilycoveCity_PokemonCenter_1F_Movement_MonJump + waitmovement 0 + delay 60 +LilycoveCity_PokemonCenter_1F_EventScript_FinishFeedPokeblock:: @ 82A894C + applymovement 4, LilycoveCity_PokemonCenter_1F_Movement_LadyFacePlayer + waitmovement 0 + delay 60 + compare VAR_0x8004, 0 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_MonDislikedPokeblock + compare VAR_0x8004, 1 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_MonLikedPokeblock + end + +LilycoveCity_PokemonCenter_1F_EventScript_MonDislikedPokeblock:: @ 82A8970 + msgbox LilycoveCity_PokemonCenter_1F_Text_NoChangeThanks, MSGBOX_DEFAULT + goto LilycoveCity_PokemonCenter_1F_EventScript_CheckAirContestLadyShow + end + +LilycoveCity_PokemonCenter_1F_EventScript_MonLikedPokeblock:: @ 82A897E + special Script_BufferContestLadyCategoryAndMonName + msgbox LilycoveCity_PokemonCenter_1F_Text_ReallyImprovedThanks, MSGBOX_DEFAULT + goto LilycoveCity_PokemonCenter_1F_EventScript_CheckAirContestLadyShow + end + +LilycoveCity_PokemonCenter_1F_EventScript_CheckAirContestLadyShow:: @ 82A898F + specialvar VAR_RESULT, ShouldContestLadyShowGoOnAir + compare VAR_RESULT, 1 + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AirContestLadyShow + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_AirContestLadyShow:: @ 82A89A1 + msgbox LilycoveCity_PokemonCenter_1F_Text_ReadyToEnterContests, MSGBOX_DEFAULT + special PutLilycoveContestLadyShowOnTheAir + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_NoPokeblockCase:: @ 82A89AE + msgbox LilycoveCity_PokemonCenter_1F_Text_DontHaveAPokeblockCase, MSGBOX_DEFAULT + release + end + +LilycoveCity_PokemonCenter_1F_Movement_LadyFaceMon: @ 82A89B8 + face_right + delay_8 + step_end + +LilycoveCity_PokemonCenter_1F_Movement_MonFaceLady: @ 82A89BB + face_left + delay_8 + step_end + +@ Unused +LilycoveCity_PokemonCenter_1F_Movement_MonFaceDown: @ 82A89BE + face_down + step_end + +LilycoveCity_PokemonCenter_1F_Movement_LadyFacePlayer: @ 82A89C0 + face_player + step_end + +LilycoveCity_PokemonCenter_1F_Movement_MonJump: @ 82A89C2 + disable_jump_landing_ground_effect + jump_in_place_left + disable_jump_landing_ground_effect + jump_in_place_left + step_end + +LilycoveCity_PokemonCenter_1F_EventScript_ContestLadyMon:: @ 82A89C7 + specialvar VAR_RESULT, GetContestLadyCategory + special Script_BufferContestLadyCategoryAndMonName + special GetContestLadyMonSpecies + compare VAR_RESULT, CONTEST_CATEGORY_COOL + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_Zigzagoon + compare VAR_RESULT, CONTEST_CATEGORY_BEAUTY + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_Skitty + compare VAR_RESULT, CONTEST_CATEGORY_CUTE + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_Poochyena + compare VAR_RESULT, CONTEST_CATEGORY_SMART + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_Kecleon + compare VAR_RESULT, CONTEST_CATEGORY_TOUGH + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_Pikachu + end + +LilycoveCity_PokemonCenter_1F_EventScript_Zigzagoon:: @ 82A8A0A + lock + faceplayer + waitse + playmoncry VAR_0x8005, 0 + msgbox LilycoveCity_PokemonCenter_1F_Text_Zigzagoon, MSGBOX_DEFAULT + waitmoncry + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_Skitty:: @ 82A8A1D + lock + faceplayer + waitse + playmoncry VAR_0x8005, 0 + msgbox LilycoveCity_PokemonCenter_1F_Text_Skitty, MSGBOX_DEFAULT + waitmoncry + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_Poochyena:: @ 82A8A30 + lock + faceplayer + waitse + playmoncry VAR_0x8005, 0 + msgbox LilycoveCity_PokemonCenter_1F_Text_Poochyena, MSGBOX_DEFAULT + waitmoncry + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_Kecleon:: @ 82A8A43 + lock + faceplayer + waitse + playmoncry VAR_0x8005, 0 + msgbox LilycoveCity_PokemonCenter_1F_Text_Kecleon, MSGBOX_DEFAULT + waitmoncry + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_Pikachu:: @ 82A8A56 + lock + faceplayer + waitse + playmoncry VAR_0x8005, 0 + msgbox LilycoveCity_PokemonCenter_1F_Text_Pikachu, MSGBOX_DEFAULT + waitmoncry + release + end + +LilycoveCity_PokemonCenter_1F_Text_ImTheFavorLady: @ 82A8A69 + .string "I'm the FAVOR LADY…$" + +LilycoveCity_PokemonCenter_1F_Text_ObsessedWithThing: @ 82A8A7D + .string "I've recently developed an obsession\n" + .string "for {STR_VAR_1} things…$" + +LilycoveCity_PokemonCenter_1F_Text_ThankYouForLastTime: @ 82A8AB1 + .string "Oh…\n" + .string "Thank you for last time…$" + +LilycoveCity_PokemonCenter_1F_Text_PlayerGaveMeBadThing: @ 82A8ACE + .string "Before, I think it was {STR_VAR_3}…\p" + .string "{STR_VAR_3} gave me one {STR_VAR_2},\n" + .string "saying it was {STR_VAR_1}.\p" + .string "But it wasn't {STR_VAR_1}.\n" + .string "Not in the least bit.$" + +LilycoveCity_PokemonCenter_1F_Text_PlayerGaveMeGreatThing: @ 82A8B36 + .string "Before, {STR_VAR_3} gave me a very\n" + .string "{STR_VAR_1} {STR_VAR_2}.\p" + .string "I cherish it now.$" + +LilycoveCity_PokemonCenter_1F_Text_WillYouShareThing: @ 82A8B69 + .string "Listen, if you have anything that\n" + .string "is {STR_VAR_1}, will you share it\l" + .string "with me?$" + +LilycoveCity_PokemonCenter_1F_Text_WhatWillYouGiveMe: @ 82A8BAD + .string "…Really?\n" + .string "What will you give me?$" + +LilycoveCity_PokemonCenter_1F_Text_IsThatSoGoodbye: @ 82A8BCD + .string "Is that so?\n" + .string "Then, it's good-bye…$" + +LilycoveCity_PokemonCenter_1F_Text_NotWillingToShare: @ 82A8BEE + .string "Oh…\n" + .string "You're not willing to share?$" + +LilycoveCity_PokemonCenter_1F_Text_IllTryToCherishIt: @ 82A8C0F + .string "Oh?\n" + .string "That {STR_VAR_2} is {STR_VAR_1}?\p" + .string "…Oh, is that right?\p" + .string "Well, I owe you a thanks anyway.\n" + .string "I'll try to cherish it…$" + +LilycoveCity_PokemonCenter_1F_Text_IWillCherishThis: @ 82A8C6F + .string "Oh…\p" + .string "That's a quite {STR_VAR_1}\n" + .string "{STR_VAR_2}…\p" + .string "Isn't it nice?\n" + .string "It's so dreamy…\p" + .string "Thank you…\n" + .string "I will cherish this…$" + +LilycoveCity_PokemonCenter_1F_Text_IWillTreasureThis: @ 82A8CC8 + .string "…Oh, oh, oh…\p" + .string "This is amazing!\n" + .string "This really is {STR_VAR_1}!\p" + .string "I never knew that one {STR_VAR_2}\n" + .string "could be this {STR_VAR_1}!\p" + .string "Thank you!\p" + .string "I will treasure this for the rest\n" + .string "of my life!$" + +LilycoveCity_PokemonCenter_1F_Text_IllGiveYouThisInReturn: @ 82A8D5D + .string "I'll give you this wonderful item in\n" + .string "return for your fabulous gift.\p" + .string "I hope you will cherish it…$" + +LilycoveCity_PokemonCenter_1F_Text_YouDontHaveSpaceForIt: @ 82A8DBD + .string "Oh, you can't have it if you don't have\n" + .string "the space for it.\p" + .string "Please come see me when you get\n" + .string "your BAG organized…$" + +LilycoveCity_PokemonCenter_1F_Text_ImTheQuizLady: @ 82A8E2B + .string "I'm the QUIZ LADY!\n" + .string "I love quizzes!$" + +LilycoveCity_PokemonCenter_1F_Text_WaitingToTakeYourQuiz: @ 82A8E4E + .string "Oh?\p" + .string "I'm waiting for a challenger to answer\n" + .string "the quiz you made.\p" + .string "We can chat another time, okay?$" + +LilycoveCity_PokemonCenter_1F_Text_WaitingForChallenger: @ 82A8EAC + .string "I'm waiting for someone to challenge\n" + .string "a quiz this {STR_VAR_1} thought up!$" + +LilycoveCity_PokemonCenter_1F_Text_TakeQuizChallenge: @ 82A8EEC + .string "If you answer correctly, you can win\n" + .string "fabulous prizes!\p" + .string "Would you like to take the quiz\n" + .string "challenge?$" + +LilycoveCity_PokemonCenter_1F_Text_WaitForAnswer: @ 82A8F4D + .string "… … … … … …\n" + .string "… … … … … …$" + +LilycoveCity_PokemonCenter_1F_Text_HowBoringBye: @ 82A8F65 + .string "Oh, how boring!\n" + .string "Bye-bye!$" + +LilycoveCity_PokemonCenter_1F_Text_YoureGoingToQuit: @ 82A8F7E + .string "Awww!\n" + .string "You're going to quit?$" + +LilycoveCity_PokemonCenter_1F_Text_TakeTheQuizAnotherTime: @ 82A8F9A + .string "Please take the quiz challenge\n" + .string "another time!$" + +LilycoveCity_PokemonCenter_1F_Text_YouGotItRight: @ 82A8FC7 + .string "You're amazing! You've got it right!\n" + .string "You're one sharp customer!$" + +LilycoveCity_PokemonCenter_1F_Text_YouGotItRightYouveWonPersonsPrize: @ 82A9007 + .string "Congratulations!\n" + .string "You've got the quiz right!\p" + .string "You've won a prize provided by\n" + .string "{STR_VAR_1}!$" + +@ Unused +LilycoveCity_PokemonCenter_1F_Text_XReceivedOneY: @ 82A9056 + .string "{STR_VAR_1} received\n" + .string "one {STR_VAR_2}!$" + +LilycoveCity_PokemonCenter_1F_Text_YourBagIsFilledUp: @ 82A906A + .string "Oh? Your BAG is filled up!\n" + .string "Come see me when you have room.$" + +LilycoveCity_PokemonCenter_1F_Text_WrongTheCorrectAnswerIs: @ 82A90A5 + .string "Hmm… Wrong!\n" + .string "The correct answer is “{STR_VAR_3}”!$" + +LilycoveCity_PokemonCenter_1F_Text_IGetToKeepPrize: @ 82A90CD + .string "Too bad!\p" + .string "I get to keep the quiz prize\n" + .string "{STR_VAR_1} now!$" + +LilycoveCity_PokemonCenter_1F_Text_MakeYourOwnQuiz: @ 82A90FB + .string "Listen, listen!\n" + .string "Would you like to make your own quiz?$" + +LilycoveCity_PokemonCenter_1F_Text_MaybeNextTime: @ 82A9131 + .string "Oh, I see…\n" + .string "Well, maybe next time!$" + +LilycoveCity_PokemonCenter_1F_Text_PickYourPrize: @ 82A9153 + .string "Okay, the first thing you have to do\n" + .string "is pick the prize for the person that\l" + .string "answers your quiz correctly.\p" + .string "But beware, if the person taking\n" + .string "the quiz can't get it right, I get to\l" + .string "keep the prize!$" + +LilycoveCity_PokemonCenter_1F_Text_QuitChoosingPrize: @ 82A9212 + .string "If you don't choose a prize,\n" + .string "your quiz can't be made.\p" + .string "Are you going to quit making\n" + .string "your quiz?$" + +LilycoveCity_PokemonCenter_1F_Text_WriteYourQuiz: @ 82A9270 + .string "Oh, how nice!\n" + .string "That's a wonderful prize!\p" + .string "Next, you need to write your quiz\n" + .string "question and its answer.$" + +LilycoveCity_PokemonCenter_1F_Text_QuitWritingQuizQuestion: @ 82A92D3 + .string "Are you going to quit writing\n" + .string "your quiz question?$" + +@ Unused +LilycoveCity_PokemonCenter_1F_Text_QuitWritingQuizAnswer: @ 82A9305 + .string "Are you going to quit choosing\n" + .string "your quiz answer?$" + +LilycoveCity_PokemonCenter_1F_Text_IllLookForAChallenger: @ 82A9336 + .string "Thank you!\n" + .string "You've put together a nice quiz.\p" + .string "I'll go look for someone who'll take\n" + .string "your quiz challenge right away.$" + +LilycoveCity_PokemonCenter_1F_Text_ImTheContestLady: @ 82A93A7 + .string "I'm the CONTEST LADY!\n" + .string "I sure do love CONTESTS!$" + +LilycoveCity_PokemonCenter_1F_Text_ThankForPokeblock: @ 82A93D6 + .string "Thanks for your {POKEBLOCK} before!$" + +LilycoveCity_PokemonCenter_1F_Text_MyFriendDisplaysQuality: @ 82A93F4 + .string "This is my friend {STR_VAR_1}!\n" + .string "It's the epitome of {STR_VAR_2}!\p" + .string "But I think that it will display\n" + .string "even more {STR_VAR_2}!$" + +LilycoveCity_PokemonCenter_1F_Text_DontHaveAPokeblockCase: @ 82A9451 + .string "So, I need your help!\p" + .string "Please, may I have one {POKEBLOCK}?\n" + .string "All I'm asking for is one!\p" + .string "…Oh, but…\n" + .string "Don't you have a {POKEBLOCK} CASE?\l" + .string "That's no good. Next time, then!$" + +LilycoveCity_PokemonCenter_1F_Text_AskingForOnePokeblock: @ 82A94E8 + .string "So, I need your help!\p" + .string "Please, may I have one {POKEBLOCK}?\n" + .string "All I'm asking for is one!$" + +LilycoveCity_PokemonCenter_1F_Text_ICantHaveOnePokeblock: @ 82A9537 + .string "Awww!\n" + .string "I can't have one {POKEBLOCK}?!$" + +LilycoveCity_PokemonCenter_1F_Text_WhatACheapskate: @ 82A9556 + .string "Sheesh!\n" + .string "What a cheapskate!$" + +LilycoveCity_PokemonCenter_1F_Text_IllUseYourPokeblock: @ 82A9571 + .string "Yay!\n" + .string "Thank you!\p" + .string "I'll feed my POKéMON your {POKEBLOCK}\n" + .string "right away.$" + +LilycoveCity_PokemonCenter_1F_Text_NoChangeThanks: @ 82A95AD + .string "…It doesn't seem to have changed\n" + .string "in any way at all…\p" + .string "Hmm…\p" + .string "Oh, well!\n" + .string "Thank you very much!$" + +LilycoveCity_PokemonCenter_1F_Text_ReallyImprovedThanks: @ 82A9605 + .string "Oh, yay!\n" + .string "It's really delighted!\p" + .string "I think it really improved {STR_VAR_1}'s\n" + .string "{STR_VAR_2} quality, too.\p" + .string "Thank you so much!$" + +LilycoveCity_PokemonCenter_1F_Text_ReadyToEnterContests: @ 82A9669 + .string "Hmm…\p" + .string "I think we may be ready to enter\n" + .string "some CONTESTS.\p" + .string "If you see us in one somewhere,\n" + .string "I hope you'll cheer for us.$" + +LilycoveCity_PokemonCenter_1F_Text_Zigzagoon: @ 82A96DA + .string "{STR_VAR_1}: Guguuh!$" + +LilycoveCity_PokemonCenter_1F_Text_Kecleon: @ 82A96E6 + .string "{STR_VAR_1}: Igigigiiih!$" + +LilycoveCity_PokemonCenter_1F_Text_Poochyena: @ 82A96F6 + .string "{STR_VAR_1}: Baaarun…$" + +LilycoveCity_PokemonCenter_1F_Text_Pikachu: @ 82A9703 + .string "{STR_VAR_1}: Pikka!$" + +LilycoveCity_PokemonCenter_1F_Text_Skitty: @ 82A970E + .string "{STR_VAR_1}: Umyaaaan!$" diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc index 0ab47ea80a..a6585ca4d7 100644 --- a/data/scripts/mauville_man.inc +++ b/data/scripts/mauville_man.inc @@ -1,273 +1,277 @@ -MauvilleCity_PokemonCenter_1F_EventScript_28E066:: @ 828E066 +MauvilleCity_PokemonCenter_1F_EventScript_MauvilleOldMan:: @ 828E066 special ScrSpecial_GetCurrentMauvilleMan switch VAR_RESULT - case 0, MauvilleCity_PokemonCenter_1F_EventScript_28E0A6 - case 1, MauvilleCity_PokemonCenter_1F_EventScript_28E167 - case 2, MauvilleCity_PokemonCenter_1F_EventScript_28E4D4 - case 3, MauvilleCity_PokemonCenter_1F_EventScript_29014A - case 4, MauvilleCity_PokemonCenter_1F_EventScript_2902F6 + case MAUVILLE_MAN_BARD, MauvilleCity_PokemonCenter_1F_EventScript_Bard + case MAUVILLE_MAN_HIPSTER, MauvilleCity_PokemonCenter_1F_EventScript_Hipster + case MAUVILLE_MAN_TRADER, MauvilleCity_PokemonCenter_1F_EventScript_Trader + case MAUVILLE_MAN_STORYTELLER, MauvilleCity_PokemonCenter_1F_EventScript_Storyteller + case MAUVILLE_MAN_GIDDY, MauvilleCity_PokemonCenter_1F_EventScript_Giddy end -MauvilleCity_PokemonCenter_1F_EventScript_28E0A6:: @ 828E0A6 +@ Bard +MauvilleCity_PokemonCenter_1F_EventScript_Bard:: @ 828E0A6 lock faceplayer - msgbox MauvilleCity_PokemonCenter_1F_Text_29038E, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0C7 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0EA + msgbox MauvilleCity_PokemonCenter_1F_Text_WouldYouLikeToHearMySong, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_PlaySong + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineSong end -MauvilleCity_PokemonCenter_1F_EventScript_28E0C7:: @ 828E0C7 +MauvilleCity_PokemonCenter_1F_EventScript_PlaySong:: @ 828E0C7 setvar VAR_0x8004, 0 special ScrSpecial_PlayBardSong delay 60 special ScrSpecial_HasBardSongBeenChanged - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0F4 - msgbox MauvilleCity_PokemonCenter_1F_Text_2903E6, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_AskToWriteLyrics + msgbox MauvilleCity_PokemonCenter_1F_Text_WishICouldPlaySongForOthers, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_28E0EA:: @ 828E0EA - msgbox MauvilleCity_PokemonCenter_1F_Text_2903C0, MSGBOX_DEFAULT +MauvilleCity_PokemonCenter_1F_EventScript_DeclineSong:: @ 828E0EA + msgbox MauvilleCity_PokemonCenter_1F_Text_BardFeelingTheBlues1, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_28E0F4:: @ 828E0F4 - msgbox MauvilleCity_PokemonCenter_1F_Text_290421, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D +MauvilleCity_PokemonCenter_1F_EventScript_AskToWriteLyrics:: @ 828E0F4 + msgbox MauvilleCity_PokemonCenter_1F_Text_WouldYouLikeToWriteSomeLyrics, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_WriteLyrics + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineWritingLyrics end -MauvilleCity_PokemonCenter_1F_EventScript_28E113:: @ 828E113 +MauvilleCity_PokemonCenter_1F_EventScript_WriteLyrics:: @ 828E113 setvar VAR_0x8004, EASY_CHAT_TYPE_BARD_SONG call Common_ShowEasyChatScreen lock faceplayer compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D - msgbox MauvilleCity_PokemonCenter_1F_Text_2904C1, MSGBOX_DEFAULT + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineWritingLyrics + msgbox MauvilleCity_PokemonCenter_1F_Text_LetMeSingItForYou, MSGBOX_DEFAULT setvar VAR_0x8004, 1 special ScrSpecial_PlayBardSong delay 60 - msgbox MauvilleCity_PokemonCenter_1F_Text_2904EB, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113 + msgbox MauvilleCity_PokemonCenter_1F_Text_ThatHowYouWantedSongToGo, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_WriteLyrics special ScrSpecial_SaveBardSongLyrics - msgbox MauvilleCity_PokemonCenter_1F_Text_290514, MSGBOX_DEFAULT + msgbox MauvilleCity_PokemonCenter_1F_Text_IllSingThisSongForAWhile, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_28E15D:: @ 828E15D - msgbox MauvilleCity_PokemonCenter_1F_Text_29049B, MSGBOX_DEFAULT +MauvilleCity_PokemonCenter_1F_EventScript_DeclineWritingLyrics:: @ 828E15D + msgbox MauvilleCity_PokemonCenter_1F_Text_BardFeelingTheBlues2, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_28E167:: @ 828E167 +@ Hipster +MauvilleCity_PokemonCenter_1F_EventScript_Hipster:: @ 828E167 lock faceplayer setflag FLAG_SYS_HIPSTER_MEET - msgbox MauvilleCity_PokemonCenter_1F_Text_29054C, MSGBOX_DEFAULT + msgbox MauvilleCity_PokemonCenter_1F_Text_TeachWhatsHipAndHappening, MSGBOX_DEFAULT special ScrSpecial_GetHipsterSpokenFlag - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E18C - msgbox MauvilleCity_PokemonCenter_1F_Text_290598, MSGBOX_DEFAULT + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TryTeachWord + msgbox MauvilleCity_PokemonCenter_1F_Text_IAlreadyTaughtYou, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_28E18C:: @ 828E18C +MauvilleCity_PokemonCenter_1F_EventScript_TryTeachWord:: @ 828E18C special ScrSpecial_HipsterTeachWord - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E1A4 - msgbox MauvilleCity_PokemonCenter_1F_Text_290602, MSGBOX_DEFAULT + compare VAR_RESULT, TRUE + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TeachWord + msgbox MauvilleCity_PokemonCenter_1F_Text_IveGotNothingNewToTeach, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_28E1A4:: @ 828E1A4 - msgbox MauvilleCity_PokemonCenter_1F_Text_290666, MSGBOX_DEFAULT +MauvilleCity_PokemonCenter_1F_EventScript_TeachWord:: @ 828E1A4 + msgbox MauvilleCity_PokemonCenter_1F_Text_HaveYouHeardOfPhrase, MSGBOX_DEFAULT special ScrSpecial_SetHipsterSpokenFlag release end -MauvilleCity_PokemonCenter_1F_Text_28E1B1: @ 828E1B1 +@ Trader +MauvilleCity_PokemonCenter_1F_Text_WantToTradeDecor: @ 828E1B1 .string "Hi, I'm the TRADER.\n" .string "Want to trade decorations with me?$" -MauvilleCity_PokemonCenter_1F_Text_28E1E8: @ 828E1E8 +MauvilleCity_PokemonCenter_1F_Text_TraderFeelingTheBlues: @ 828E1E8 .string "Oh…\n" .string "You've left me feeling the blues…$" -MauvilleCity_PokemonCenter_1F_Text_28E20E: @ 828E20E +MauvilleCity_PokemonCenter_1F_Text_WeveAlreadyTraded: @ 828E20E .string "But we've traded decorations already,\n" .string "you and I.$" -MauvilleCity_PokemonCenter_1F_Text_28E23F: @ 828E23F +MauvilleCity_PokemonCenter_1F_Text_PickADecorItem: @ 828E23F .string "If you see any decorative item that\n" .string "you want of mine, speak up.$" -MauvilleCity_PokemonCenter_1F_Text_28E27F: @ 828E27F +MauvilleCity_PokemonCenter_1F_Text_YouDontWantAnything: @ 828E27F .string "You don't want anything?\n" .string "I feel unwanted…$" -MauvilleCity_PokemonCenter_1F_Text_28E2A9: @ 828E2A9 +MauvilleCity_PokemonCenter_1F_Text_OnceBelongedToPlayerDoYouWantIt: @ 828E2A9 .string "That decorative item once belonged\n" .string "to {STR_VAR_1}.\p" .string "Do you want it?$" -MauvilleCity_PokemonCenter_1F_Text_28E2E3: @ 828E2E3 +MauvilleCity_PokemonCenter_1F_Text_YouDontHaveAnyDecor: @ 828E2E3 .string "Uh… Wait a second. You don't have a\n" .string "single piece of decoration!$" -MauvilleCity_PokemonCenter_1F_Text_28E323: @ 828E323 +MauvilleCity_PokemonCenter_1F_Text_PickTheDecorToTrade: @ 828E323 .string "Okay, pick the decoration that you'll\n" .string "trade to me.$" -MauvilleCity_PokemonCenter_1F_Text_28E356: @ 828E356 +MauvilleCity_PokemonCenter_1F_Text_YouDontWantToTrade: @ 828E356 .string "You won't trade with me?\n" .string "I feel unwanted…$" -MauvilleCity_PokemonCenter_1F_Text_28E380: @ 828E380 +MauvilleCity_PokemonCenter_1F_Text_YouveNoRoomForThis: @ 828E380 .string "You've got all the {STR_VAR_2}S that can\n" .string "be stored. You've no room for this.$" -MauvilleCity_PokemonCenter_1F_Text_28E3C4: @ 828E3C4 +MauvilleCity_PokemonCenter_1F_Text_SoWellTradeTheseDecor: @ 828E3C4 .string "Okay, so we'll trade my {STR_VAR_3}\n" .string "for your {STR_VAR_2}?$" -MauvilleCity_PokemonCenter_1F_Text_28E3EC: @ 828E3EC +MauvilleCity_PokemonCenter_1F_Text_ThatDecorIsInUse: @ 828E3EC .string "That piece of decoration is in use.\n" .string "You can't trade it.$" -MauvilleCity_PokemonCenter_1F_Text_28E424: @ 828E424 +MauvilleCity_PokemonCenter_1F_Text_SendDecorToYourPC: @ 828E424 .string "Then we'll trade!\n" .string "I'll send my decoration to your PC.$" -MauvilleCity_PokemonCenter_1F_Text_28E45A: @ 828E45A +MauvilleCity_PokemonCenter_1F_Text_CantTradeThatOne: @ 828E45A .string "Oops! Sorry! That's a really rare\n" .string "piece of decoration.\l" .string "I can't trade that one away!\p" .string "Can I interest you in something else?$" -MauvilleCity_PokemonCenter_1F_EventScript_28E4D4:: @ 828E4D4 +MauvilleCity_PokemonCenter_1F_EventScript_Trader:: @ 828E4D4 lock faceplayer - msgbox MauvilleCity_PokemonCenter_1F_Text_28E1B1, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E503 + msgbox MauvilleCity_PokemonCenter_1F_Text_WantToTradeDecor, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineTrade special ScrSpecial_GetTraderTradedFlag - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E50D - message MauvilleCity_PokemonCenter_1F_Text_28E23F + compare VAR_RESULT, TRUE + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_AlreadyTraded + message MauvilleCity_PokemonCenter_1F_Text_PickADecorItem waitmessage - goto MauvilleCity_PokemonCenter_1F_EventScript_28E517 + goto MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToReceive end -MauvilleCity_PokemonCenter_1F_EventScript_28E503:: @ 828E503 - msgbox MauvilleCity_PokemonCenter_1F_Text_28E1E8, MSGBOX_DEFAULT +MauvilleCity_PokemonCenter_1F_EventScript_DeclineTrade:: @ 828E503 + msgbox MauvilleCity_PokemonCenter_1F_Text_TraderFeelingTheBlues, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_28E50D:: @ 828E50D - msgbox MauvilleCity_PokemonCenter_1F_Text_28E20E, MSGBOX_DEFAULT +MauvilleCity_PokemonCenter_1F_EventScript_AlreadyTraded:: @ 828E50D + msgbox MauvilleCity_PokemonCenter_1F_Text_WeveAlreadyTraded, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_28E517:: @ 828E517 +MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToReceive:: @ 828E517 special ScrSpecial_TraderMenuGetDecoration waitstate compare VAR_0x8004, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E558 - compare VAR_0x8004, 65535 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E562 - msgbox MauvilleCity_PokemonCenter_1F_Text_28E2A9, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E56E + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_CancelPickDecor + compare VAR_0x8004, 0xFFFF + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_InvalidDecor + msgbox MauvilleCity_PokemonCenter_1F_Text_OnceBelongedToPlayerDoYouWantIt, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_PickDifferentDecor special ScrSpecial_DoesPlayerHaveNoDecorations - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E57A - goto MauvilleCity_PokemonCenter_1F_EventScript_28E584 + compare VAR_RESULT, TRUE + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DontHaveAnyDecor + goto MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToGive end -MauvilleCity_PokemonCenter_1F_EventScript_28E558:: @ 828E558 - msgbox MauvilleCity_PokemonCenter_1F_Text_28E27F, MSGBOX_DEFAULT +MauvilleCity_PokemonCenter_1F_EventScript_CancelPickDecor:: @ 828E558 + msgbox MauvilleCity_PokemonCenter_1F_Text_YouDontWantAnything, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_28E562:: @ 828E562 - message MauvilleCity_PokemonCenter_1F_Text_28E45A +MauvilleCity_PokemonCenter_1F_EventScript_InvalidDecor:: @ 828E562 + message MauvilleCity_PokemonCenter_1F_Text_CantTradeThatOne waitmessage - goto MauvilleCity_PokemonCenter_1F_EventScript_28E517 + goto MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToReceive end -MauvilleCity_PokemonCenter_1F_EventScript_28E56E:: @ 828E56E - message MauvilleCity_PokemonCenter_1F_Text_28E23F +MauvilleCity_PokemonCenter_1F_EventScript_PickDifferentDecor:: @ 828E56E + message MauvilleCity_PokemonCenter_1F_Text_PickADecorItem waitmessage - goto MauvilleCity_PokemonCenter_1F_EventScript_28E517 + goto MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToReceive end -MauvilleCity_PokemonCenter_1F_EventScript_28E57A:: @ 828E57A - msgbox MauvilleCity_PokemonCenter_1F_Text_28E2E3, MSGBOX_DEFAULT +MauvilleCity_PokemonCenter_1F_EventScript_DontHaveAnyDecor:: @ 828E57A + msgbox MauvilleCity_PokemonCenter_1F_Text_YouDontHaveAnyDecor, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_28E584:: @ 828E584 - msgbox MauvilleCity_PokemonCenter_1F_Text_28E323, MSGBOX_DEFAULT +MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToGive:: @ 828E584 + msgbox MauvilleCity_PokemonCenter_1F_Text_PickTheDecorToTrade, MSGBOX_DEFAULT special ScrSpecial_TraderMenuGiveDecoration waitstate compare VAR_0x8006, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5D4 - compare VAR_0x8006, 65535 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5DE + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_CancelGiveDecor + compare VAR_0x8006, 0xFFFF + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DecorInUse special ScrSpecial_IsDecorationFull - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5EC - msgbox MauvilleCity_PokemonCenter_1F_Text_28E3C4, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E584 + compare VAR_RESULT, TRUE + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_NoRoomForDecor + msgbox MauvilleCity_PokemonCenter_1F_Text_SoWellTradeTheseDecor, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToGive special ScrSpecial_TraderDoDecorationTrade - msgbox MauvilleCity_PokemonCenter_1F_Text_28E424, MSGBOX_DEFAULT + msgbox MauvilleCity_PokemonCenter_1F_Text_SendDecorToYourPC, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_28E5D4:: @ 828E5D4 - msgbox MauvilleCity_PokemonCenter_1F_Text_28E356, MSGBOX_DEFAULT +MauvilleCity_PokemonCenter_1F_EventScript_CancelGiveDecor:: @ 828E5D4 + msgbox MauvilleCity_PokemonCenter_1F_Text_YouDontWantToTrade, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_28E5DE:: @ 828E5DE - msgbox MauvilleCity_PokemonCenter_1F_Text_28E3EC, MSGBOX_DEFAULT - goto MauvilleCity_PokemonCenter_1F_EventScript_28E584 +MauvilleCity_PokemonCenter_1F_EventScript_DecorInUse:: @ 828E5DE + msgbox MauvilleCity_PokemonCenter_1F_Text_ThatDecorIsInUse, MSGBOX_DEFAULT + goto MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToGive end -MauvilleCity_PokemonCenter_1F_EventScript_28E5EC:: @ 828E5EC - msgbox MauvilleCity_PokemonCenter_1F_Text_28E380, MSGBOX_DEFAULT +MauvilleCity_PokemonCenter_1F_EventScript_NoRoomForDecor:: @ 828E5EC + msgbox MauvilleCity_PokemonCenter_1F_Text_YouveNoRoomForThis, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_Text_28E5F6: @ 828E5F6 +@ Storyteller +MauvilleCity_PokemonCenter_1F_Text_WillYouHearMyTale: @ 828E5F6 .string "I'm the STORYTELLER.\n" .string "I'll tell you tales of legendary\l" .string "TRAINERS.\p" .string "Will you hear my tale?$" -MauvilleCity_PokemonCenter_1F_Text_28E64D: @ 828E64D +MauvilleCity_PokemonCenter_1F_Text_StorytellerFeelingTheBlues: @ 828E64D .string "Oh…\n" .string "You've left me feeling the blues…$" -MauvilleCity_PokemonCenter_1F_Text_28E673: @ 828E673 +MauvilleCity_PokemonCenter_1F_Text_WhichTaleToTell: @ 828E673 .string "I know of these legends.\n" .string "Which tale will you have me tell?$" -MauvilleCity_PokemonCenter_1F_Text_28E6AE: @ 828E6AE +MauvilleCity_PokemonCenter_1F_Text_IKnowNoTales: @ 828E6AE .string "But, I know of no legendary TRAINERS.\n" .string "Hence, I know no tales.\p" .string "Where does one find a TRAINER worthy\n" .string "of a legendary tale?$" -MauvilleCity_PokemonCenter_1F_Text_28E726: @ 828E726 +MauvilleCity_PokemonCenter_1F_Text_YouDidStatXTimes: @ 828E726 .string "What's that?!\n" .string "You… You…\p" .string "{STR_VAR_2}\n" @@ -275,38 +279,39 @@ MauvilleCity_PokemonCenter_1F_Text_28E726: @ 828E726 .string "That is indeed magnificent!\n" .string "It's the birth of a new legend!$" -MauvilleCity_PokemonCenter_1F_Text_28E78A: @ 828E78A +MauvilleCity_PokemonCenter_1F_Text_CouldThereBeOtherLegends: @ 828E78A .string "It gets me thinking, could there be\n" .string "other TRAINERS with more impressive\l" .string "legends awaiting discovery?$" -MauvilleCity_PokemonCenter_1F_Text_28E7EE: @ 828E7EE +MauvilleCity_PokemonCenter_1F_Text_HaveYouAnyLegendaryTales: @ 828E7EE .string "Are you a TRAINER?\p" .string "Then tell me, have you any tales that\n" .string "are even remotely legendary?$" -MauvilleCity_PokemonCenter_1F_Text_28E844: @ 828E844 +@ Unused +MauvilleCity_PokemonCenter_1F_Text_HearAnotherLegendaryTale: @ 828E844 .string "Incidentally… Would you care to hear\n" .string "another legendary tale?$" -MauvilleCity_PokemonCenter_1F_Text_28E881: @ 828E881 +MauvilleCity_PokemonCenter_1F_Text_NotWorthyOfLegend: @ 828E881 .string "Hmm…\n" .string "I'm not satisfied…\p" .string "I wish you would bring me news worthy\n" .string "of being called a legend.$" -MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9 +MauvilleCity_PokemonCenter_1F_Text_IWishMorePeopleWereInterested: @ 828E8D9 .string "I wish more people would be interested\n" .string "in hearing my epic tales of legendary\l" .string "TRAINERS.$" -MauvilleCity_PokemonCenter_1F_Text_28E930:: @ 828E930 +MauvilleCity_PokemonCenter_1F_Text_SavedGameTitle:: @ 828E930 .string "The Save-Happy TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28E947:: @ 828E947 +MauvilleCity_PokemonCenter_1F_Text_SavedGameAction:: @ 828E947 .string "Saved the game$" -MauvilleCity_PokemonCenter_1F_Text_28E956:: @ 828E956 +MauvilleCity_PokemonCenter_1F_Text_SavedGameStory:: @ 828E956 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER saved the game\n" @@ -314,13 +319,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E956:: @ 828E956 .string "A more cautious TRAINER than\n" .string "{STR_VAR_3} one will never find!$" -MauvilleCity_PokemonCenter_1F_Text_28E9D7:: @ 828E9D7 +MauvilleCity_PokemonCenter_1F_Text_TrendsStartedTitle:: @ 828E9D7 .string "The Trendsetter TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28E9EF:: @ 828E9EF +MauvilleCity_PokemonCenter_1F_Text_TrendsStartedAction:: @ 828E9EF .string "Started trends$" -MauvilleCity_PokemonCenter_1F_Text_28E9FE:: @ 828E9FE +MauvilleCity_PokemonCenter_1F_Text_TrendsStartedStory:: @ 828E9FE .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER started new trends\n" @@ -328,13 +333,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E9FE:: @ 828E9FE .string "{STR_VAR_3} is setting trends for all\n" .string "the HOENN region!$" -MauvilleCity_PokemonCenter_1F_Text_28EA7D:: @ 828EA7D +MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedTitle:: @ 828EA7D .string "The BERRY-Planting TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28EA98:: @ 828EA98 +MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedAction:: @ 828EA98 .string "Planted BERRIES$" -MauvilleCity_PokemonCenter_1F_Text_28EAA8:: @ 828EAA8 +MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedStory:: @ 828EAA8 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER planted BERRIES\n" @@ -342,13 +347,13 @@ MauvilleCity_PokemonCenter_1F_Text_28EAA8:: @ 828EAA8 .string "{STR_VAR_3} is a legendary lover of\n" .string "BERRIES!$" -MauvilleCity_PokemonCenter_1F_Text_28EB19:: @ 828EB19 +MauvilleCity_PokemonCenter_1F_Text_BikeTradesTitle:: @ 828EB19 .string "The BIKE-Loving TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28EB31:: @ 828EB31 +MauvilleCity_PokemonCenter_1F_Text_BikeTradesAction:: @ 828EB31 .string "Traded BIKES$" -MauvilleCity_PokemonCenter_1F_Text_28EB3E:: @ 828EB3E +MauvilleCity_PokemonCenter_1F_Text_BikeTradesStory:: @ 828EB3E .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER swapped BIKES\n" @@ -356,13 +361,13 @@ MauvilleCity_PokemonCenter_1F_Text_28EB3E:: @ 828EB3E .string "{STR_VAR_3} must love BIKES deeply\n" .string "and passionately!$" -MauvilleCity_PokemonCenter_1F_Text_28EBB5:: @ 828EBB5 +MauvilleCity_PokemonCenter_1F_Text_InterviewsTitle:: @ 828EBB5 .string "The Interviewed TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28EBCD:: @ 828EBCD +MauvilleCity_PokemonCenter_1F_Text_InterviewsAction:: @ 828EBCD .string "Got interviewed$" -MauvilleCity_PokemonCenter_1F_Text_28EBDD:: @ 828EBDD +MauvilleCity_PokemonCenter_1F_Text_InterviewsStory:: @ 828EBDD .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER got interviewed\n" @@ -370,26 +375,26 @@ MauvilleCity_PokemonCenter_1F_Text_28EBDD:: @ 828EBDD .string "{STR_VAR_3} must be a TRAINER who's\n" .string "attracting much attention!$" -MauvilleCity_PokemonCenter_1F_Text_28EC60:: @ 828EC60 +MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesTitle:: @ 828EC60 .string "The Battle-Happy TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28EC79:: @ 828EC79 +MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesAction:: @ 828EC79 .string "Battled$" -MauvilleCity_PokemonCenter_1F_Text_28EC81:: @ 828EC81 +MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesStory:: @ 828EC81 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER battled {STR_VAR_1} times!\p" .string "{STR_VAR_3} must be a TRAINER who can\n" .string "never refuse a chance to battle!$" -MauvilleCity_PokemonCenter_1F_Text_28ED04:: @ 828ED04 +MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtTitle:: @ 828ED04 .string "The POKéMON-Catching TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28ED21:: @ 828ED21 +MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtAction:: @ 828ED21 .string "Caught POKéMON$" -MauvilleCity_PokemonCenter_1F_Text_28ED30:: @ 828ED30 +MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtStory:: @ 828ED30 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER caught\n" @@ -397,13 +402,13 @@ MauvilleCity_PokemonCenter_1F_Text_28ED30:: @ 828ED30 .string "{STR_VAR_3} is a legendary catcher of\n" .string "wild POKéMON!$" -MauvilleCity_PokemonCenter_1F_Text_28EDA1:: @ 828EDA1 +MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtTitle:: @ 828EDA1 .string "The Fishing TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28EDB5:: @ 828EDB5 +MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtAction:: @ 828EDB5 .string "Caught POKéMON with a ROD$" -MauvilleCity_PokemonCenter_1F_Text_28EDCF:: @ 828EDCF +MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtStory:: @ 828EDCF .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER caught\n" @@ -411,13 +416,13 @@ MauvilleCity_PokemonCenter_1F_Text_28EDCF:: @ 828EDCF .string "{STR_VAR_3} is a legendary fishing\n" .string "expert!$" -MauvilleCity_PokemonCenter_1F_Text_28EE45:: @ 828EE45 +MauvilleCity_PokemonCenter_1F_Text_EggsHatchedTitle:: @ 828EE45 .string "The EGG-Warming TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28EE5D:: @ 828EE5D +MauvilleCity_PokemonCenter_1F_Text_EggsHatchedAction:: @ 828EE5D .string "Hatched EGGS$" -MauvilleCity_PokemonCenter_1F_Text_28EE6A:: @ 828EE6A +MauvilleCity_PokemonCenter_1F_Text_EggsHatchedStory:: @ 828EE6A .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER hatched {STR_VAR_1} POKéMON\n" @@ -425,13 +430,13 @@ MauvilleCity_PokemonCenter_1F_Text_28EE6A:: @ 828EE6A .string "{STR_VAR_3} is a legendary warmer\n" .string "of EGGS!$" -MauvilleCity_PokemonCenter_1F_Text_28EEDD:: @ 828EEDD +MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedTitle:: @ 828EEDD .string "The Evolver TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28EEF1:: @ 828EEF1 +MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedAction:: @ 828EEF1 .string "Evolved POKéMON$" -MauvilleCity_PokemonCenter_1F_Text_28EF01:: @ 828EF01 +MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedStory:: @ 828EF01 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER made {STR_VAR_1} POKéMON\n" @@ -439,13 +444,13 @@ MauvilleCity_PokemonCenter_1F_Text_28EF01:: @ 828EF01 .string "{STR_VAR_3} is the ultimate evolver\n" .string "of POKéMON!$" -MauvilleCity_PokemonCenter_1F_Text_28EF73:: @ 828EF73 +MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterTitle:: @ 828EF73 .string "The POKéMON CENTER-Loving TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28EF95:: @ 828EF95 +MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterAction:: @ 828EF95 .string "Used POKéMON CENTERS$" -MauvilleCity_PokemonCenter_1F_Text_28EFAA:: @ 828EFAA +MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterStory:: @ 828EFAA .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER healed POKéMON\n" @@ -453,13 +458,13 @@ MauvilleCity_PokemonCenter_1F_Text_28EFAA:: @ 828EFAA .string "There could be no greater lover of\n" .string "POKéMON CENTERS than {STR_VAR_3}!$" -MauvilleCity_PokemonCenter_1F_Text_28F045:: @ 828F045 +MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeTitle:: @ 828F045 .string "The Homebody TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28F05A:: @ 828F05A +MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeAction:: @ 828F05A .string "Rested POKéMON at home$" -MauvilleCity_PokemonCenter_1F_Text_28F071:: @ 828F071 +MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeStory:: @ 828F071 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER healed POKéMON\n" @@ -467,13 +472,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F071:: @ 828F071 .string "There could be no more of a homebody\n" .string "than {STR_VAR_3}!$" -MauvilleCity_PokemonCenter_1F_Text_28F0F3:: @ 828F0F3 +MauvilleCity_PokemonCenter_1F_Text_SafariGamesTitle:: @ 828F0F3 .string "The SAFARI-Loving TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28F10D:: @ 828F10D +MauvilleCity_PokemonCenter_1F_Text_SafariGamesAction:: @ 828F10D .string "Entered the SAFARI ZONE$" -MauvilleCity_PokemonCenter_1F_Text_28F125:: @ 828F125 +MauvilleCity_PokemonCenter_1F_Text_SafariGamesStory:: @ 828F125 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER went into the SAFARI ZONE\n" @@ -481,13 +486,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F125:: @ 828F125 .string "{STR_VAR_3} is a TRAINER whose wild side\n" .string "must come out in the SAFARI ZONE!$" -MauvilleCity_PokemonCenter_1F_Text_28F1BE:: @ 828F1BE +MauvilleCity_PokemonCenter_1F_Text_UsedCutTitle:: @ 828F1BE .string "The CUT-Frenzy TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28F1D5:: @ 828F1D5 +MauvilleCity_PokemonCenter_1F_Text_UsedCutAction:: @ 828F1D5 .string "Used CUT$" -MauvilleCity_PokemonCenter_1F_Text_28F1DE:: @ 828F1DE +MauvilleCity_PokemonCenter_1F_Text_UsedCutStory:: @ 828F1DE .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER used CUT\n" @@ -495,13 +500,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F1DE:: @ 828F1DE .string "{STR_VAR_3} is a TRAINER who just must\n" .string "love to CUT!$" -MauvilleCity_PokemonCenter_1F_Text_28F24F:: @ 828F24F +MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashTitle:: @ 828F24F .string "The ROCK-SMASHING TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28F269:: @ 828F269 +MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashAction:: @ 828F269 .string "Smashed rocks$" -MauvilleCity_PokemonCenter_1F_Text_28F277:: @ 828F277 +MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashStory:: @ 828F277 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER used ROCK SMASH\n" @@ -509,13 +514,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F277:: @ 828F277 .string "{STR_VAR_3} must be a TRAINER who\n" .string "can't leave a stone unsmashed!$" -MauvilleCity_PokemonCenter_1F_Text_28F2FC:: @ 828F2FC +MauvilleCity_PokemonCenter_1F_Text_MovedBasesTitle:: @ 828F2FC .string "The Move-Loving TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28F314:: @ 828F314 +MauvilleCity_PokemonCenter_1F_Text_MovedBasesAction:: @ 828F314 .string "Moved the SECRET BASE$" -MauvilleCity_PokemonCenter_1F_Text_28F32A:: @ 828F32A +MauvilleCity_PokemonCenter_1F_Text_MovedBasesStory:: @ 828F32A .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER moved the SECRET BASE\n" @@ -523,13 +528,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F32A:: @ 828F32A .string "{STR_VAR_3} is a TRAINER who loves\n" .string "to move houses often!$" -MauvilleCity_PokemonCenter_1F_Text_28F3AD:: @ 828F3AD +MauvilleCity_PokemonCenter_1F_Text_UsedSplashTitle:: @ 828F3AD .string "The SPLASH-Happy TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28F3C6:: @ 828F3C6 +MauvilleCity_PokemonCenter_1F_Text_UsedSplashAction:: @ 828F3C6 .string "Used SPLASH$" -MauvilleCity_PokemonCenter_1F_Text_28F3D2:: @ 828F3D2 +MauvilleCity_PokemonCenter_1F_Text_UsedSplashStory:: @ 828F3D2 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER used SPLASH\n" @@ -537,13 +542,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F3D2:: @ 828F3D2 .string "{STR_VAR_3} is a TRAINER who must love\n" .string "SPLASHING around!$" -MauvilleCity_PokemonCenter_1F_Text_28F44B:: @ 828F44B +MauvilleCity_PokemonCenter_1F_Text_UsedStruggleTitle:: @ 828F44B .string "The Tenacious TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28F461:: @ 828F461 +MauvilleCity_PokemonCenter_1F_Text_UsedStruggleAction:: @ 828F461 .string "Resorted to using STRUGGLE$" -MauvilleCity_PokemonCenter_1F_Text_28F47C:: @ 828F47C +MauvilleCity_PokemonCenter_1F_Text_UsedStruggleStory:: @ 828F47C .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER had to rely on STRUGGLE\n" @@ -551,13 +556,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F47C:: @ 828F47C .string "{STR_VAR_3} is a tenacious TRAINER\n" .string "who never gives in to adversity!$" -MauvilleCity_PokemonCenter_1F_Text_28F50C:: @ 828F50C +MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsTitle:: @ 828F50C .string "The SLOT Champ$" -MauvilleCity_PokemonCenter_1F_Text_28F51B:: @ 828F51B +MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsAction:: @ 828F51B .string "Won the jackpot on the SLOTS$" -MauvilleCity_PokemonCenter_1F_Text_28F538:: @ 828F538 +MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsStory:: @ 828F538 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER won the jackpot on\n" @@ -565,13 +570,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F538:: @ 828F538 .string "{STR_VAR_3} is a TRAINER who was lucky\n" .string "on the SLOTS!$" -MauvilleCity_PokemonCenter_1F_Text_28F5BE:: @ 828F5BE +MauvilleCity_PokemonCenter_1F_Text_RouletteWinsTitle:: @ 828F5BE .string "The ROULETTE Champ$" -MauvilleCity_PokemonCenter_1F_Text_28F5D1:: @ 828F5D1 +MauvilleCity_PokemonCenter_1F_Text_RouletteWinsAction:: @ 828F5D1 .string "Had consecutive ROULETTE wins of$" -MauvilleCity_PokemonCenter_1F_Text_28F5F2:: @ 828F5F2 +MauvilleCity_PokemonCenter_1F_Text_RouletteWinsStory:: @ 828F5F2 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER won in ROULETTE\n" @@ -579,13 +584,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F5F2:: @ 828F5F2 .string "{STR_VAR_3} was lucky when the ball\n" .string "bounced in ROULETTE!$" -MauvilleCity_PokemonCenter_1F_Text_28F678:: @ 828F678 +MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesTitle:: @ 828F678 .string "The BATTLE TOWER Challenger$" -MauvilleCity_PokemonCenter_1F_Text_28F694:: @ 828F694 +MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesAction:: @ 828F694 .string "Took the BATTLE TOWER challenge$" -MauvilleCity_PokemonCenter_1F_Text_28F6B4:: @ 828F6B4 +MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesStory:: @ 828F6B4 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER took the BATTLE TOWER\n" @@ -593,13 +598,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F6B4:: @ 828F6B4 .string "{STR_VAR_3} is a TRAINER who aspires\n" .string "for excellence in the BATTLE TOWER!$" -MauvilleCity_PokemonCenter_1F_Text_28F751:: @ 828F751 +MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksTitle:: @ 828F751 .string "The Blend-Loving TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28F76A:: @ 828F76A +MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksAction:: @ 828F76A .string "Made {POKEBLOCK}S$" -MauvilleCity_PokemonCenter_1F_Text_28F776:: @ 828F776 +MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksStory:: @ 828F776 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER made {POKEBLOCK}S\n" @@ -607,13 +612,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F776:: @ 828F776 .string "There is none better at using a BERRY\n" .string "BLENDER than {STR_VAR_3}!$" -MauvilleCity_PokemonCenter_1F_Text_28F7F6:: @ 828F7F6 +MauvilleCity_PokemonCenter_1F_Text_EnteredContestsTitle:: @ 828F7F6 .string "The CONTEST-Loving TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28F811:: @ 828F811 +MauvilleCity_PokemonCenter_1F_Text_EnteredContestsAction:: @ 828F811 .string "Entered CONTESTS$" -MauvilleCity_PokemonCenter_1F_Text_28F822:: @ 828F822 +MauvilleCity_PokemonCenter_1F_Text_EnteredContestsStory:: @ 828F822 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER entered CONTESTS\n" @@ -621,13 +626,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F822:: @ 828F822 .string "{STR_VAR_3} must love showing off\n" .string "POKéMON to others!$" -MauvilleCity_PokemonCenter_1F_Text_28F89C:: @ 828F89C +MauvilleCity_PokemonCenter_1F_Text_WonContestsTitle:: @ 828F89C .string "The CONTEST Master$" -MauvilleCity_PokemonCenter_1F_Text_28F8AF:: @ 828F8AF +MauvilleCity_PokemonCenter_1F_Text_WonContestsAction:: @ 828F8AF .string "Won CONTESTS$" -MauvilleCity_PokemonCenter_1F_Text_28F8BC:: @ 828F8BC +MauvilleCity_PokemonCenter_1F_Text_WonContestsStory:: @ 828F8BC .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER won CONTESTS\n" @@ -635,13 +640,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F8BC:: @ 828F8BC .string "{STR_VAR_3} must be an incredible\n" .string "CONTEST master!$" -MauvilleCity_PokemonCenter_1F_Text_28F92F:: @ 828F92F +MauvilleCity_PokemonCenter_1F_Text_TimesShoppedTitle:: @ 828F92F .string "The Happy Shopper$" -MauvilleCity_PokemonCenter_1F_Text_28F941:: @ 828F941 +MauvilleCity_PokemonCenter_1F_Text_TimesShoppedAction:: @ 828F941 .string "Shopped$" -MauvilleCity_PokemonCenter_1F_Text_28F949:: @ 828F949 +MauvilleCity_PokemonCenter_1F_Text_TimesShoppedStory:: @ 828F949 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER bought items in shops\n" @@ -649,13 +654,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F949:: @ 828F949 .string "{STR_VAR_3} must be one of those\n" .string "people who are born to shop.$" -MauvilleCity_PokemonCenter_1F_Text_28F9D1:: @ 828F9D1 +MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderTitle:: @ 828F9D1 .string "The Item-Finding TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28F9EA:: @ 828F9EA +MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderAction:: @ 828F9EA .string "Used an ITEMFINDER$" -MauvilleCity_PokemonCenter_1F_Text_28F9FD:: @ 828F9FD +MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderStory:: @ 828F9FD .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER used an ITEMFINDER\n" @@ -663,13 +668,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F9FD:: @ 828F9FD .string "{STR_VAR_3} must enjoy scouring the\n" .string "ground for hidden items!$" -MauvilleCity_PokemonCenter_1F_Text_28FA81:: @ 828FA81 +MauvilleCity_PokemonCenter_1F_Text_TimesRainedTitle:: @ 828FA81 .string "The Rain-Soaked TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28FA99:: @ 828FA99 +MauvilleCity_PokemonCenter_1F_Text_TimesRainedAction:: @ 828FA99 .string "Got rained on$" -MauvilleCity_PokemonCenter_1F_Text_28FAA7:: @ 828FAA7 +MauvilleCity_PokemonCenter_1F_Text_TimesRainedStory:: @ 828FAA7 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER got soaked by rain\n" @@ -677,13 +682,13 @@ MauvilleCity_PokemonCenter_1F_Text_28FAA7:: @ 828FAA7 .string "{STR_VAR_3}'s charisma must even\n" .string "attract rain!$" -MauvilleCity_PokemonCenter_1F_Text_28FB1D:: @ 828FB1D +MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexTitle:: @ 828FB1D .string "The Avid POKéDEX Reader$" -MauvilleCity_PokemonCenter_1F_Text_28FB35:: @ 828FB35 +MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexAction:: @ 828FB35 .string "Checked a POKéDEX$" -MauvilleCity_PokemonCenter_1F_Text_28FB47:: @ 828FB47 +MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexStory:: @ 828FB47 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER checked a POKéDEX\n" @@ -691,13 +696,13 @@ MauvilleCity_PokemonCenter_1F_Text_28FB47:: @ 828FB47 .string "{STR_VAR_3} must love inspecting\n" .string "POKéMON in a POKéDEX!$" -MauvilleCity_PokemonCenter_1F_Text_28FBC4:: @ 828FBC4 +MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsTitle:: @ 828FBC4 .string "The RIBBON Collector$" -MauvilleCity_PokemonCenter_1F_Text_28FBD9:: @ 828FBD9 +MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsAction:: @ 828FBD9 .string "Received RIBBONS$" -MauvilleCity_PokemonCenter_1F_Text_28FBEA:: @ 828FBEA +MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsStory:: @ 828FBEA .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER received RIBBONS\n" @@ -705,13 +710,13 @@ MauvilleCity_PokemonCenter_1F_Text_28FBEA:: @ 828FBEA .string "{STR_VAR_3} must be a TRAINER who\n" .string "loves to collect RIBBONS!$" -MauvilleCity_PokemonCenter_1F_Text_28FC6B:: @ 828FC6B +MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedTitle:: @ 828FC6B .string "The Ledge-Jumping TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28FC85:: @ 828FC85 +MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedAction:: @ 828FC85 .string "Jumped down ledges$" -MauvilleCity_PokemonCenter_1F_Text_28FC98:: @ 828FC98 +MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedStory:: @ 828FC98 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER jumped down ledges\n" @@ -719,26 +724,26 @@ MauvilleCity_PokemonCenter_1F_Text_28FC98:: @ 828FC98 .string "If there's a ledge to be jumped,\n" .string "{STR_VAR_3} can't ignore it!$" -MauvilleCity_PokemonCenter_1F_Text_28FD1D:: @ 828FD1D +MauvilleCity_PokemonCenter_1F_Text_TVWatchedTitle:: @ 828FD1D .string "The Legendary TV Viewer$" -MauvilleCity_PokemonCenter_1F_Text_28FD35:: @ 828FD35 +MauvilleCity_PokemonCenter_1F_Text_TVWatchedAction:: @ 828FD35 .string "Watched TV$" -MauvilleCity_PokemonCenter_1F_Text_28FD40:: @ 828FD40 +MauvilleCity_PokemonCenter_1F_Text_TVWatchedStory:: @ 828FD40 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER watched TV\n" .string "{STR_VAR_1} times!\p" .string "{STR_VAR_3} must love watching TV!$" -MauvilleCity_PokemonCenter_1F_Text_28FDA2:: @ 828FDA2 +MauvilleCity_PokemonCenter_1F_Text_CheckedClockTitle:: @ 828FDA2 .string "The Time-Conscious TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28FDBD:: @ 828FDBD +MauvilleCity_PokemonCenter_1F_Text_CheckedClockAction:: @ 828FDBD .string "Checked the time$" -MauvilleCity_PokemonCenter_1F_Text_28FDCE:: @ 828FDCE +MauvilleCity_PokemonCenter_1F_Text_CheckedClockStory:: @ 828FDCE .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER checked the time\n" @@ -746,13 +751,13 @@ MauvilleCity_PokemonCenter_1F_Text_28FDCE:: @ 828FDCE .string "{STR_VAR_3} must be a punctual TRAINER\n" .string "who's conscious of the time.$" -MauvilleCity_PokemonCenter_1F_Text_28FE57:: @ 828FE57 +MauvilleCity_PokemonCenter_1F_Text_WonLotteryTitle:: @ 828FE57 .string "The POKéMON LOTTERY Wizard$" -MauvilleCity_PokemonCenter_1F_Text_28FE72:: @ 828FE72 +MauvilleCity_PokemonCenter_1F_Text_WonLotteryAction:: @ 828FE72 .string "Won POKéMON LOTTERIES$" -MauvilleCity_PokemonCenter_1F_Text_28FE88:: @ 828FE88 +MauvilleCity_PokemonCenter_1F_Text_WonLotteryStory:: @ 828FE88 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER won POKéMON LOTTERIES\n" @@ -760,13 +765,13 @@ MauvilleCity_PokemonCenter_1F_Text_28FE88:: @ 828FE88 .string "{STR_VAR_3} must have many friends\n" .string "to trade POKéMON with!$" -MauvilleCity_PokemonCenter_1F_Text_28FF0C:: @ 828FF0C +MauvilleCity_PokemonCenter_1F_Text_UsedDaycareTitle:: @ 828FF0C .string "The DAY CARE-Using Trainer$" -MauvilleCity_PokemonCenter_1F_Text_28FF27:: @ 828FF27 +MauvilleCity_PokemonCenter_1F_Text_UsedDaycareAction:: @ 828FF27 .string "Left POKéMON at the DAY CARE$" -MauvilleCity_PokemonCenter_1F_Text_28FF44:: @ 828FF44 +MauvilleCity_PokemonCenter_1F_Text_UsedDaycareStory:: @ 828FF44 .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER left POKéMON with the\n" @@ -774,13 +779,13 @@ MauvilleCity_PokemonCenter_1F_Text_28FF44:: @ 828FF44 .string "{STR_VAR_3} must be a real go-getter\n" .string "who raises POKéMON aggressively!$" -MauvilleCity_PokemonCenter_1F_Text_28FFDD:: @ 828FFDD +MauvilleCity_PokemonCenter_1F_Text_RodeCableCarTitle:: @ 828FFDD .string "The CABLE CAR-Loving TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_28FFFA:: @ 828FFFA +MauvilleCity_PokemonCenter_1F_Text_RodeCableCarAction:: @ 828FFFA .string "Rode the CABLE CAR$" -MauvilleCity_PokemonCenter_1F_Text_29000D:: @ 829000D +MauvilleCity_PokemonCenter_1F_Text_RodeCableCarStory:: @ 829000D .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER rode the CABLE CAR\n" @@ -788,13 +793,13 @@ MauvilleCity_PokemonCenter_1F_Text_29000D:: @ 829000D .string "{STR_VAR_3} must be a busy TRAINER\n" .string "who's up and down all the time!$" -MauvilleCity_PokemonCenter_1F_Text_290097:: @ 8290097 +MauvilleCity_PokemonCenter_1F_Text_HotSpringsTitle:: @ 8290097 .string "The Hot Spring-Loving TRAINER$" -MauvilleCity_PokemonCenter_1F_Text_2900B5:: @ 82900B5 +MauvilleCity_PokemonCenter_1F_Text_HotSpringsAction:: @ 82900B5 .string "Bathed in hot springs$" -MauvilleCity_PokemonCenter_1F_Text_2900CB:: @ 82900CB +MauvilleCity_PokemonCenter_1F_Text_HotSpringsStory:: @ 82900CB .string "This is a tale of a TRAINER\n" .string "named {STR_VAR_3}.\p" .string "This TRAINER bathed in hot springs\n" @@ -803,160 +808,162 @@ MauvilleCity_PokemonCenter_1F_Text_2900CB:: @ 82900CB .string "baby-smooth skin!$" -MauvilleCity_PokemonCenter_1F_EventScript_29014A:: @ 829014A +MauvilleCity_PokemonCenter_1F_EventScript_Storyteller:: @ 829014A lock faceplayer setvar VAR_0x8008, 0 setvar VAR_0x8009, 0 setvar VAR_0x800A, 0 setvar VAR_0x800B, 0 - msgbox MauvilleCity_PokemonCenter_1F_Text_28E5F6, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290219 + msgbox MauvilleCity_PokemonCenter_1F_Text_WillYouHearMyTale, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineStoryteller specialvar VAR_RESULT, ScrSpecial_StorytellerGetFreeStorySlot compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_2901DA - message MauvilleCity_PokemonCenter_1F_Text_28E673 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_KnowNoTales + message MauvilleCity_PokemonCenter_1F_Text_WhichTaleToTell waitmessage special ScrSpecial_StorytellerStoryListMenu waitstate compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_2901B7 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_CancelStorySelection setvar VAR_0x8008, 1 special ScrSpecial_StorytellerDisplayStory waitmessage waitbuttonpress specialvar VAR_RESULT, ScrSpecial_StorytellerUpdateStat compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_2901BD - goto MauvilleCity_PokemonCenter_1F_EventScript_29020F + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_AreThereOtherTales + goto MauvilleCity_PokemonCenter_1F_EventScript_TellPlayersTale -MauvilleCity_PokemonCenter_1F_EventScript_2901B7:: @ 82901B7 - goto MauvilleCity_PokemonCenter_1F_EventScript_290219 +MauvilleCity_PokemonCenter_1F_EventScript_CancelStorySelection:: @ 82901B7 + goto MauvilleCity_PokemonCenter_1F_EventScript_DeclineStoryteller end -MauvilleCity_PokemonCenter_1F_EventScript_2901BD:: @ 82901BD - msgbox MauvilleCity_PokemonCenter_1F_Text_28E78A, MSGBOX_DEFAULT +MauvilleCity_PokemonCenter_1F_EventScript_AreThereOtherTales:: @ 82901BD + msgbox MauvilleCity_PokemonCenter_1F_Text_CouldThereBeOtherLegends, MSGBOX_DEFAULT specialvar VAR_RESULT, ScrSpecial_HasStorytellerAlreadyRecorded - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_29022D - goto MauvilleCity_PokemonCenter_1F_EventScript_2901E2 + compare VAR_RESULT, TRUE + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_StorytellerEnd + goto MauvilleCity_PokemonCenter_1F_EventScript_DoYouHaveAnyTales -MauvilleCity_PokemonCenter_1F_EventScript_2901DA:: @ 82901DA - msgbox MauvilleCity_PokemonCenter_1F_Text_28E6AE, MSGBOX_DEFAULT - -MauvilleCity_PokemonCenter_1F_EventScript_2901E2:: @ 82901E2 - msgbox MauvilleCity_PokemonCenter_1F_Text_28E7EE, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290219 +MauvilleCity_PokemonCenter_1F_EventScript_KnowNoTales:: @ 82901DA + msgbox MauvilleCity_PokemonCenter_1F_Text_IKnowNoTales, MSGBOX_DEFAULT +MauvilleCity_PokemonCenter_1F_EventScript_DoYouHaveAnyTales:: @ 82901E2 + msgbox MauvilleCity_PokemonCenter_1F_Text_HaveYouAnyLegendaryTales, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineStoryteller specialvar VAR_RESULT, ScrSpecial_StorytellerInitializeRandomStat compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_29020F - msgbox MauvilleCity_PokemonCenter_1F_Text_28E881, MSGBOX_DEFAULT + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TellPlayersTale + msgbox MauvilleCity_PokemonCenter_1F_Text_NotWorthyOfLegend, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_29020F:: @ 829020F - msgbox MauvilleCity_PokemonCenter_1F_Text_28E726, MSGBOX_DEFAULT +MauvilleCity_PokemonCenter_1F_EventScript_TellPlayersTale:: @ 829020F + msgbox MauvilleCity_PokemonCenter_1F_Text_YouDidStatXTimes, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_290219:: @ 8290219 - msgbox MauvilleCity_PokemonCenter_1F_Text_28E64D, MSGBOX_DEFAULT +MauvilleCity_PokemonCenter_1F_EventScript_DeclineStoryteller:: @ 8290219 + msgbox MauvilleCity_PokemonCenter_1F_Text_StorytellerFeelingTheBlues, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_290223:: @ 8290223 - msgbox MauvilleCity_PokemonCenter_1F_Text_28E8D9, MSGBOX_DEFAULT +@ Unused +MauvilleCity_PokemonCenter_1F_EventScript_WaitingForRecordMix:: @ 8290223 + msgbox MauvilleCity_PokemonCenter_1F_Text_IWishMorePeopleWereInterested, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_29022D:: @ 829022D +MauvilleCity_PokemonCenter_1F_EventScript_StorytellerEnd:: @ 829022D release end -MauvilleCity_PokemonCenter_1F_Text_29022F: @ 829022F +@ Giddy +MauvilleCity_PokemonCenter_1F_Text_HearMyStory: @ 829022F .string "I'm GIDDY!\n" .string "I have a scintillating story for you!\p" .string "Would you like to hear my story?$" -MauvilleCity_PokemonCenter_1F_Text_290281: @ 8290281 +MauvilleCity_PokemonCenter_1F_Text_GiddyFeelingTheBlues: @ 8290281 .string "Oh…\n" .string "You've left me feeling the blues…$" -MauvilleCity_PokemonCenter_1F_Text_2902A7: @ 82902A7 +MauvilleCity_PokemonCenter_1F_Text_AlsoIWasThinking: @ 82902A7 .string "Also, I was thinking…$" -MauvilleCity_PokemonCenter_1F_Text_2902BD: @ 82902BD +MauvilleCity_PokemonCenter_1F_Text_WeShouldChatAgain: @ 82902BD .string "That's about it, I think…\p" .string "We should chat again!\n" .string "Bye-bye!$" -MauvilleCity_PokemonCenter_1F_EventScript_2902F6:: @ 82902F6 +MauvilleCity_PokemonCenter_1F_EventScript_Giddy:: @ 82902F6 lock faceplayer - msgbox MauvilleCity_PokemonCenter_1F_Text_29022F, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290317 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_29037A + msgbox MauvilleCity_PokemonCenter_1F_Text_HearMyStory, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TryTellTale + compare VAR_RESULT, NO + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineGiddy end -MauvilleCity_PokemonCenter_1F_EventScript_290317:: @ 8290317 +MauvilleCity_PokemonCenter_1F_EventScript_TryTellTale:: @ 8290317 special ScrSpecial_GiddyShouldTellAnotherTale - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290359 - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290384 + compare VAR_RESULT, TRUE + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_GiddyTellTale + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_ToldEnoughTales end -MauvilleCity_PokemonCenter_1F_EventScript_290331:: @ 8290331 +MauvilleCity_PokemonCenter_1F_EventScript_TryTellNewTale:: @ 8290331 special ScrSpecial_GiddyShouldTellAnotherTale - compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_29034B - compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290384 + compare VAR_RESULT, TRUE + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_GiddyStartNewTale + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_ToldEnoughTales end -MauvilleCity_PokemonCenter_1F_EventScript_29034B:: @ 829034B - msgbox MauvilleCity_PokemonCenter_1F_Text_2902A7, MSGBOX_DEFAULT - goto MauvilleCity_PokemonCenter_1F_EventScript_290359 +MauvilleCity_PokemonCenter_1F_EventScript_GiddyStartNewTale:: @ 829034B + msgbox MauvilleCity_PokemonCenter_1F_Text_AlsoIWasThinking, MSGBOX_DEFAULT + goto MauvilleCity_PokemonCenter_1F_EventScript_GiddyTellTale end -MauvilleCity_PokemonCenter_1F_EventScript_290359:: @ 8290359 +@ Regardless of whether yes or no is selected below, Giddy will continue to tell stories until he's told 10 +MauvilleCity_PokemonCenter_1F_EventScript_GiddyTellTale:: @ 8290359 special ScrSpecial_GenerateGiddyLine special ShowFieldMessageStringVar4 waitmessage yesnobox 20, 8 compare VAR_RESULT, 1 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290331 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TryTellNewTale compare VAR_RESULT, 0 - goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290331 + goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TryTellNewTale end -MauvilleCity_PokemonCenter_1F_EventScript_29037A:: @ 829037A - msgbox MauvilleCity_PokemonCenter_1F_Text_290281, MSGBOX_DEFAULT +MauvilleCity_PokemonCenter_1F_EventScript_DeclineGiddy:: @ 829037A + msgbox MauvilleCity_PokemonCenter_1F_Text_GiddyFeelingTheBlues, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_EventScript_290384:: @ 8290384 - msgbox MauvilleCity_PokemonCenter_1F_Text_2902BD, MSGBOX_DEFAULT +MauvilleCity_PokemonCenter_1F_EventScript_ToldEnoughTales:: @ 8290384 + msgbox MauvilleCity_PokemonCenter_1F_Text_WeShouldChatAgain, MSGBOX_DEFAULT release end -MauvilleCity_PokemonCenter_1F_Text_29038E: @ 829038E +MauvilleCity_PokemonCenter_1F_Text_WouldYouLikeToHearMySong: @ 829038E .string "Hi, I'm the BARD.\n" .string "Would you like to hear my song?$" -MauvilleCity_PokemonCenter_1F_Text_2903C0: @ 82903C0 +MauvilleCity_PokemonCenter_1F_Text_BardFeelingTheBlues1: @ 82903C0 .string "Oh…\n" .string "You've left me feeling the blues…$" -MauvilleCity_PokemonCenter_1F_Text_2903E6: @ 82903E6 +MauvilleCity_PokemonCenter_1F_Text_WishICouldPlaySongForOthers: @ 82903E6 .string "Oh, what a moving song…\n" .string "I wish I could play it for others…$" -MauvilleCity_PokemonCenter_1F_Text_290421: @ 8290421 +MauvilleCity_PokemonCenter_1F_Text_WouldYouLikeToWriteSomeLyrics: @ 8290421 .string "So?\n" .string "How do you like my song?\p" .string "But I'm none too happy about\n" @@ -964,38 +971,38 @@ MauvilleCity_PokemonCenter_1F_Text_290421: @ 8290421 .string "How would you like to write some\n" .string "new lyrics for me?$" -MauvilleCity_PokemonCenter_1F_Text_29049B: @ 829049B +MauvilleCity_PokemonCenter_1F_Text_BardFeelingTheBlues2: @ 829049B .string "Oh…\n" .string "You've left me feeling the blues…$" -MauvilleCity_PokemonCenter_1F_Text_2904C1: @ 82904C1 +MauvilleCity_PokemonCenter_1F_Text_LetMeSingItForYou: @ 82904C1 .string "Thank you kindly!\n" .string "Let me sing it for you.$" -MauvilleCity_PokemonCenter_1F_Text_2904EB: @ 82904EB +MauvilleCity_PokemonCenter_1F_Text_ThatHowYouWantedSongToGo: @ 82904EB .string "Was that how you wanted your song\n" .string "to go?$" -MauvilleCity_PokemonCenter_1F_Text_290514: @ 8290514 +MauvilleCity_PokemonCenter_1F_Text_IllSingThisSongForAWhile: @ 8290514 .string "Okay! That's it, then.\n" .string "I'll sing this song for a while.$" -MauvilleCity_PokemonCenter_1F_Text_29054C: @ 829054C +MauvilleCity_PokemonCenter_1F_Text_TeachWhatsHipAndHappening: @ 829054C .string "Hey, yo! They call me the HIPSTER.\n" .string "I'll teach you what's hip and happening.$" -MauvilleCity_PokemonCenter_1F_Text_290598: @ 8290598 +MauvilleCity_PokemonCenter_1F_Text_IAlreadyTaughtYou: @ 8290598 .string "But, hey, I taught you what's hip and\n" .string "happening already.\p" .string "I'd like to spread the good word to\n" .string "other folks.$" -MauvilleCity_PokemonCenter_1F_Text_290602: @ 8290602 +MauvilleCity_PokemonCenter_1F_Text_IveGotNothingNewToTeach: @ 8290602 .string "But, hey, you already know a lot about\n" .string "what's hip and happening.\p" .string "I've got nothing new to teach you!$" -MauvilleCity_PokemonCenter_1F_Text_290666: @ 8290666 +MauvilleCity_PokemonCenter_1F_Text_HaveYouHeardOfPhrase: @ 8290666 .string "Hey, have you heard about\n" .string "“{STR_VAR_1}”?\p" .string "What's it mean? Well…\n" diff --git a/data/scripts/mevent.inc b/data/scripts/mevent.inc new file mode 100644 index 0000000000..7311543156 --- /dev/null +++ b/data/scripts/mevent.inc @@ -0,0 +1,62 @@ +EventScript_Questionnaire:: @ 827381B + lockall + msgbox Mevent_Text_FillOutQuestionnaire, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq Mevent_EventScript_Release + setvar VAR_0x8004, EASY_CHAT_TYPE_QUESTIONNAIRE + call Common_ShowEasyChatScreen + lock + faceplayer + specialvar VAR_0x8008, GetMartEmployeeObjectEventId + compare VAR_0x8004, 1 + goto_if_eq Mevent_EventScript_PlayerInputMysteryEventPhrase + compare VAR_0x8004, 2 + goto_if_eq Mevent_EventScript_PlayerInputMysteryGiftPhrase + compare VAR_RESULT, 0 + goto_if_eq Mevent_EventScript_Release + compare VAR_RESULT, 1 + goto_if_eq Mevent_EventScript_QuestionnaireThankYou + end + +Mevent_EventScript_PlayerInputMysteryEventPhrase:: @ 827386D + goto_if_unset FLAG_SYS_POKEDEX_GET, Mevent_EventScript_QuestionnaireThankYou + goto_if_set FLAG_SYS_MYSTERY_EVENT_ENABLE, Mevent_EventScript_QuestionnaireThankYou + applymovement VAR_0x8008, Common_Movement_FaceDown + waitmovement 0 + playse SE_PIN + applymovement VAR_0x8008, Common_Movement_ExclamationMark + waitmovement 0 + applymovement VAR_0x8008, Common_Movement_Delay48 + waitmovement 0 + msgbox Mevent_Text_YouKnowThoseWordsEvent, MSGBOX_DEFAULT + setflag FLAG_SYS_MYSTERY_EVENT_ENABLE + msgbox Mevent_Text_YouCanAccessMysteryEvent, MSGBOX_DEFAULT + releaseall + end + +Mevent_EventScript_PlayerInputMysteryGiftPhrase:: @ 82738B5 + goto_if_unset FLAG_SYS_POKEDEX_GET, Mevent_EventScript_QuestionnaireThankYou + goto_if_set FLAG_SYS_MYSTERY_GIFT_ENABLE, Mevent_EventScript_QuestionnaireThankYou + applymovement VAR_0x8008, Common_Movement_FaceDown + waitmovement 0 + playse SE_PIN + applymovement VAR_0x8008, Common_Movement_ExclamationMark + waitmovement 0 + applymovement VAR_0x8008, Common_Movement_Delay48 + waitmovement 0 + msgbox Mevent_Text_YouKnowThoseWordsGift, MSGBOX_DEFAULT + setflag FLAG_SYS_MYSTERY_GIFT_ENABLE + msgbox Mevent_Text_YouCanAccessMysteryGift, MSGBOX_DEFAULT + releaseall + end + +Mevent_EventScript_Release:: @ 82738FD + releaseall + end + +Mevent_EventScript_QuestionnaireThankYou:: @ 82738FF + applymovement VAR_0x8008, Common_Movement_FaceDown + waitmovement 0 + msgbox Mevent_Text_QuestionnaireThankYou, MSGBOX_DEFAULT + releaseall + end diff --git a/data/scripts/mevent_altering_cave.inc b/data/scripts/mevent_altering_cave.inc new file mode 100644 index 0000000000..499907edda --- /dev/null +++ b/data/scripts/mevent_altering_cave.inc @@ -0,0 +1,24 @@ +MysteryEventScript_AlteringCave:: @ 86756E3 + setvaddress MysteryEventScript_AlteringCave + addvar VAR_ALTERING_CAVE_WILD_SET, 1 + compare VAR_ALTERING_CAVE_WILD_SET, 10 + vgoto_if_ne MysteryEventScript_AlteringCave_ + setvar VAR_ALTERING_CAVE_WILD_SET, 0 +MysteryEventScript_AlteringCave_: @ 86756FD + lock + faceplayer + vmessage sText_MysteryGiftAlteringCave + waitmessage + waitbuttonpress + release + end + +sText_MysteryGiftAlteringCave:: + .string "Thank you for using the MYSTERY\n" + .string "GIFT System.\p" + .string "There appears to be a rumor about\n" + .string "rare POKéMON sightings.\p" + .string "The sightings reportedly came from\n" + .string "the ALTERING CAVE on ROUTE 103.\p" + .string "Perhaps it would be worthwhile for\n" + .string "you to investigate this rumor.$" diff --git a/data/scripts/mevent_aurora_ticket.inc b/data/scripts/mevent_aurora_ticket.inc new file mode 100644 index 0000000000..f26be068f3 --- /dev/null +++ b/data/scripts/mevent_aurora_ticket.inc @@ -0,0 +1,59 @@ +MysteryEventScript_AuroraTicket:: @ 867533C + setvaddress MysteryEventScript_AuroraTicket + lock + faceplayer + vgoto_if_set FLAG_RECEIVED_AURORA_TICKET, AuroraTicket_Obtained + vgoto_if_set FLAG_BATTLED_DEOXYS, AuroraTicket_Obtained + checkitem ITEM_AURORA_TICKET, 1 + compare VAR_RESULT, TRUE + vgoto_if_eq AuroraTicket_Obtained + vmessage sText_AuroraTicketForYou + waitmessage + waitbuttonpress + checkitemspace ITEM_AURORA_TICKET, 1 + compare VAR_RESULT, FALSE + vgoto_if_eq AuroraTicket_NoBagSpace + giveitem ITEM_AURORA_TICKET + setflag FLAG_ENABLE_SHIP_BIRTH_ISLAND + setflag FLAG_RECEIVED_AURORA_TICKET + vmessage sText_AuroraTicketUseAtPort + waitmessage + waitbuttonpress + release + end + +AuroraTicket_NoBagSpace: @ 8675397 + vmessage sText_AuroraTicketBagFull + waitmessage + waitbuttonpress + release + end + +AuroraTicket_Obtained: @ 86753A0 + vmessage sText_AuroraTicketThankYou + waitmessage + waitbuttonpress + release + end + +sText_AuroraTicketForYou: + .string "Thank you for using the MYSTERY\n" + .string "GIFT System.\p" + .string "You must be {PLAYER}.\n" + .string "There is a ticket here for you.$" + +sText_AuroraTicketUseAtPort: + .string "It appears to be for use at the\n" + .string "LILYCOVE CITY port.\p" + .string "Why not give it a try and see what\n" + .string "it is about?$" + +sText_AuroraTicketThankYou: + .string "Thank you for using the MYSTERY\n" + .string "GIFT System.$" + +sText_AuroraTicketBagFull: + .string "Oh, I'm sorry, {PLAYER}.\n" + .string "Your BAG's KEY ITEMS POCKET is full.\p" + .string "Please store something on your PC,\n" + .string "then come back for this.$" diff --git a/data/scripts/mevent_battle_card.inc b/data/scripts/mevent_battle_card.inc new file mode 100644 index 0000000000..70462bdd9e --- /dev/null +++ b/data/scripts/mevent_battle_card.inc @@ -0,0 +1,46 @@ +MysteryEventScript_BattleCard:: @ 867513C + setvaddress MysteryEventScript_BattleCard + vgoto_if_set FLAG_MYSTERY_EVENT_DONE, MysteryEventScript_BattleCardInfo + setorcopyvar VAR_RESULT, GET_CARD_BATTLES_WON + specialvar VAR_0x8008, GetMysteryEventCardVal + compare VAR_0x8008, REQUIRED_CARD_BATTLES + vgoto_if_ne MysteryEventScript_BattleCardInfo + lock + faceplayer + vmessage sText_MysteryGiftBattleCountCard_WonPrize + waitmessage + waitbuttonpress + giveitem ITEM_POTION + release + setflag FLAG_MYSTERY_EVENT_DONE + end + +MysteryEventScript_BattleCardInfo: @ 8675179 + lock + faceplayer + vmessage sText_MysteryGiftBattleCountCard + waitmessage + waitbuttonpress + release + end + +sText_MysteryGiftBattleCountCard: + .string "Thank you for using the MYSTERY\n" + .string "GIFT System.\p" + .string "Your BATTLE COUNT CARD keeps\n" + .string "track of your battle record against\l" + .string "TRAINERS with the same CARD.\p" + .string "Look for and battle TRAINERS who\n" + .string "have the same CARD as you.\p" + .string "You may check the overall rankings\n" + .string "by reading the NEWS.\p" + .string "Please do give it a try!$" + +sText_MysteryGiftBattleCountCard_WonPrize: + .string "Thank you for using the MYSTERY\n" + .string "GIFT System.\p" + .string "Congratulations!\p" + .string "You have won a prize for winning\n" + .string "three battles!\p" + .string "We hope you will be inspired to\n" + .string "battle some more.$" diff --git a/data/scripts/mevent_mystic_ticket.inc b/data/scripts/mevent_mystic_ticket.inc new file mode 100644 index 0000000000..8f938dc33a --- /dev/null +++ b/data/scripts/mevent_mystic_ticket.inc @@ -0,0 +1,60 @@ +MysteryEventScript_MysticTicket:: @ 867550B + setvaddress MysteryEventScript_MysticTicket + lock + faceplayer + vgoto_if_set FLAG_RECEIVED_MYSTIC_TICKET, MysticTicket_Obtained + vgoto_if_set FLAG_CAUGHT_LUGIA, MysticTicket_Obtained + vgoto_if_set FLAG_CAUGHT_HO_OH, MysticTicket_Obtained + checkitem ITEM_MYSTIC_TICKET, 1 + compare VAR_RESULT, TRUE + vgoto_if_eq MysticTicket_Obtained + vmessage sText_MysticTicketForYou + waitmessage + waitbuttonpress + checkitemspace ITEM_MYSTIC_TICKET, 1 + compare VAR_RESULT, FALSE + vgoto_if_eq MysticTicket_NoBagSpace + giveitem ITEM_MYSTIC_TICKET + setflag FLAG_ENABLE_SHIP_NAVEL_ROCK + setflag FLAG_RECEIVED_MYSTIC_TICKET + vmessage sText_MysticTicketUseAtPort + waitmessage + waitbuttonpress + release + end + +MysticTicket_NoBagSpace: @ 867556F + vmessage sText_MysticTicketBagFull + waitmessage + waitbuttonpress + release + end + +MysticTicket_Obtained: @ 8675578 + vmessage sText_MysticTicketThankYou + waitmessage + waitbuttonpress + release + end + +sText_MysticTicketForYou: + .string "Thank you for using the MYSTERY\n" + .string "GIFT System.\p" + .string "You must be {PLAYER}.\n" + .string "There is a ticket here for you.$" + +sText_MysticTicketUseAtPort: + .string "It appears to be for use at the\n" + .string "LILYCOVE CITY port.\p" + .string "Why not give it a try and see what\n" + .string "it is about?$" + +sText_MysticTicketThankYou: + .string "Thank you for using the MYSTERY\n" + .string "GIFT System.$" + +sText_MysticTicketBagFull: + .string "Oh, I'm sorry, {PLAYER}.\n" + .string "Your BAG's KEY ITEMS POCKET is full.\p" + .string "Please store something on your PC,\n" + .string "then come back for this.$" diff --git a/data/scripts/mevent_old_sea_map.inc b/data/scripts/mevent_old_sea_map.inc new file mode 100644 index 0000000000..0fb3c10028 --- /dev/null +++ b/data/scripts/mevent_old_sea_map.inc @@ -0,0 +1,60 @@ +MysteryEventScript_OldSeaMap:: @ 86757F4 + setvaddress MysteryEventScript_OldSeaMap + lock + faceplayer + vgoto_if_set FLAG_RECEIVED_OLD_SEA_MAP, OldSeaMap_Obtained + vgoto_if_set FLAG_CAUGHT_MEW, OldSeaMap_Obtained + checkitem ITEM_OLD_SEA_MAP, 1 + compare VAR_RESULT, TRUE + vgoto_if_eq OldSeaMap_Obtained + vmessage sText_MysteryGiftOldSeaMapForYou + waitmessage + waitbuttonpress + checkitemspace ITEM_OLD_SEA_MAP, 1 + compare VAR_RESULT, FALSE + vgoto_if_eq OldSeaMap_NoBagSpace + giveitem ITEM_OLD_SEA_MAP + setflag FLAG_ENABLE_SHIP_FARAWAY_ISLAND + setflag FLAG_RECEIVED_OLD_SEA_MAP + vmessage sText_MysteryGiftOldSeaMapUseAtPort + waitmessage + waitbuttonpress + release + end + +OldSeaMap_NoBagSpace: @ 867584F + vmessage sText_MysteryGiftOldSeaMapBagFull + waitmessage + waitbuttonpress + release + end + +OldSeaMap_Obtained: @ 8675858 + vmessage sText_MysteryGiftOldSeaMapThankYou + waitmessage + waitbuttonpress + release + end + +sText_MysteryGiftOldSeaMapForYou: + .string "Thank you for using the MYSTERY\n" + .string "GIFT System.\p" + .string "Let me confirm--you are {PLAYER}?\p" + .string "We received this OLD SEA MAP\n" + .string "addressed to you.$" + +sText_MysteryGiftOldSeaMapUseAtPort: + .string "It appears to be for use at the\n" + .string "LILYCOVE CITY port.\p" + .string "Why not give it a try and see what\n" + .string "it is about?$" + +sText_MysteryGiftOldSeaMapThankYou: + .string "Thank you for using the MYSTERY\n" + .string "GIFT System.$" + +sText_MysteryGiftOldSeaMapBagFull: + .string "Oh, I'm sorry, {PLAYER}.\n" + .string "Your BAG's KEY ITEMS POCKET is full.\p" + .string "Please store something on your PC,\n" + .string "then come back for this.$" diff --git a/data/scripts/mevent_pichu.inc b/data/scripts/mevent_pichu.inc new file mode 100644 index 0000000000..cc947e396d --- /dev/null +++ b/data/scripts/mevent_pichu.inc @@ -0,0 +1,78 @@ +MysteryEventScript_SurfPichu:: @ 8674D3D + setvaddress MysteryEventScript_SurfPichu + vgoto_if_unset FLAG_MYSTERY_EVENT_DONE, SurfPichu_GiveIfPossible + returnram + +SurfPichu_GiveIfPossible: @ 8674D4C + specialvar VAR_EVENT_PICHU_SLOT, CalculatePlayerPartyCount + compare VAR_EVENT_PICHU_SLOT, PARTY_SIZE + vgoto_if_eq SurfPichu_FullParty + setflag FLAG_MYSTERY_EVENT_DONE + vcall SurfPichu_GiveEgg + lock + faceplayer + vmessage sText_MysteryGiftEgg + waitmessage + waitbuttonpress + playfanfare MUS_FANFA4 + waitfanfare + release + end + +SurfPichu_FullParty: @ 8674D73 + lock + faceplayer + vmessage sText_FullParty + waitmessage + waitbuttonpress + release + end + +SurfPichu_GiveEgg: @ 8674D7E + giveegg SPECIES_PICHU + setmonobedient VAR_EVENT_PICHU_SLOT + setmonmetlocation VAR_EVENT_PICHU_SLOT, METLOC_FATEFUL_ENCOUNTER + compare VAR_EVENT_PICHU_SLOT, 1 + vgoto_if_eq SurfPichu_Slot1 + compare VAR_EVENT_PICHU_SLOT, 2 + vgoto_if_eq SurfPichu_Slot2 + compare VAR_EVENT_PICHU_SLOT, 3 + vgoto_if_eq SurfPichu_Slot3 + compare VAR_EVENT_PICHU_SLOT, 4 + vgoto_if_eq SurfPichu_Slot4 + compare VAR_EVENT_PICHU_SLOT, 5 + vgoto_if_eq SurfPichu_Slot5 + return + +SurfPichu_Slot1: @ 8674DC0 + setmonmove 1, 2, MOVE_SURF + return + +SurfPichu_Slot2:: @ 8674DC6 + setmonmove 2, 2, MOVE_SURF + return + +SurfPichu_Slot3: @ 8674DCC + setmonmove 3, 2, MOVE_SURF + return + +SurfPichu_Slot4: @ 8674DD2 + setmonmove 4, 2, MOVE_SURF + return + +SurfPichu_Slot5: @ 8674DD8 + setmonmove 5, 2, MOVE_SURF + return + +sText_MysteryGiftEgg: + .string "Thank you for using the MYSTERY\n" + .string "GIFT System.\p" + .string "From the POKéMON CENTER we\n" + .string "have a gift--a POKéMON EGG!\p" + .string "Please raise it with love and\n" + .string "kindness.$" + +sText_FullParty: + .string "Oh, your party appears to be full.\p" + .string "Please come see me after storing\n" + .string "a POKéMON on a PC.$" diff --git a/data/scripts/mevent_stamp_card.inc b/data/scripts/mevent_stamp_card.inc new file mode 100644 index 0000000000..dcef80a502 --- /dev/null +++ b/data/scripts/mevent_stamp_card.inc @@ -0,0 +1,21 @@ +MysteryEventScript_StampCard:: @ 8674CB0 + setvaddress MysteryEventScript_StampCard + setorcopyvar VAR_RESULT, GET_MAX_STAMPS + specialvar VAR_0x8008, GetMysteryEventCardVal + setorcopyvar VAR_RESULT, GET_NUM_STAMPS + specialvar VAR_0x8009, GetMysteryEventCardVal + subvar VAR_0x8008, VAR_0x8009 + buffernumberstring 0, VAR_0x8008 + lock + faceplayer + vmessage sText_MysteryGiftStampCard + waitmessage + waitbuttonpress + release + end + +sText_MysteryGiftStampCard: + .string "Thank you for using the STAMP CARD\n" + .string "System.\p" + .string "You have {STR_VAR_1} more to collect to\n" + .string "fill your STAMP CARD.$" diff --git a/data/scripts/mevent_trainer.inc b/data/scripts/mevent_trainer.inc new file mode 100644 index 0000000000..4114750d89 --- /dev/null +++ b/data/scripts/mevent_trainer.inc @@ -0,0 +1,49 @@ +MysteryEventScript_VisitingTrainer:: @ 8674EC1 + setvaddress MysteryEventScript_VisitingTrainer + special ValidateEReaderTrainer + compare VAR_RESULT, 0 + vgoto_if_eq MysteryEventScript_VisitingTrainerArrived + lock + faceplayer + vmessage sText_MysteryGiftVisitingTrainerInstructions + waitmessage + waitbuttonpress + release + end + +MysteryEventScript_VisitingTrainerArrived: @ 8674EDF + lock + faceplayer + vmessage sText_MysteryGiftVisitingTrainerArrived + waitmessage + waitbuttonpress + release + end + +sText_MysteryGiftVisitingTrainerInstructions: + .string "Thank you for using the MYSTERY\n" + .string "GIFT System.\p" + .string "By holding this WONDER CARD, you\n" + .string "may take part in a survey at a\l" + .string "POKéMON MART.\p" + .string "Use these surveys to invite\n" + .string "TRAINERS to SOOTOPOLIS CITY.\p" + .string "…Let me give you a secret\n" + .string "password for a survey:\p" + .string "“GIVE ME\n" + .string "AWESOME TRAINER”\p" + .string "Write that in on a survey and send\n" + .string "it to the WIRELESS\l" + .string "COMMUNICATION SYSTEM.$" + +sText_MysteryGiftVisitingTrainerArrived: + .string "Thank you for using the MYSTERY\n" + .string "GIFT System.\p" + .string "A TRAINER has arrived in\n" + .string "SOOTOPOLIS CITY looking for you.\p" + .string "We hope you will enjoy\n" + .string "battling the visiting TRAINER.\p" + .string "You may invite other TRAINERS by\n" + .string "entering other passwords.\p" + .string "Try looking for other passwords\n" + .string "that may work.$" diff --git a/data/scripts/move_tutors.inc b/data/scripts/move_tutors.inc new file mode 100644 index 0000000000..a7807ce51b --- /dev/null +++ b/data/scripts/move_tutors.inc @@ -0,0 +1,300 @@ +SlateportCity_PokemonFanClub_EventScript_SwaggerTutor:: @ 82C7F16 + lock + faceplayer + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SWAGGER, MoveTutor_EventScript_SwaggerTaught + msgbox MoveTutor_Text_SwaggerTeach, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_SwaggerDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_SwaggerDeclined + msgbox MoveTutor_Text_SwaggerWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_SWAGGER + call MoveTutor_EventScript_OpenPartyMenu + compare VAR_RESULT, 0 + goto_if_eq MoveTutor_EventScript_SwaggerDeclined + setflag FLAG_MOVE_TUTOR_TAUGHT_SWAGGER + goto MoveTutor_EventScript_SwaggerTaught + end + +MoveTutor_EventScript_SwaggerDeclined:: @ 82C7F6A + msgbox MoveTutor_Text_SwaggerDeclined, MSGBOX_DEFAULT + release + end + +MoveTutor_EventScript_SwaggerTaught:: @ 82C7F74 + msgbox MoveTutor_Text_SwaggerTaught, MSGBOX_DEFAULT + release + end + +MauvilleCity_EventScript_RolloutTutor:: @ 82C7F7E + lock + faceplayer + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT, MoveTutor_EventScript_RolloutTaught + msgbox MoveTutor_Text_RolloutTeach, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_RolloutDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_RolloutDeclined + msgbox MoveTutor_Text_RolloutWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_ROLLOUT + call MoveTutor_EventScript_OpenPartyMenu + compare VAR_RESULT, 0 + goto_if_eq MoveTutor_EventScript_RolloutDeclined + setflag FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT + goto MoveTutor_EventScript_RolloutTaught + end + +MoveTutor_EventScript_RolloutDeclined:: @ 82C7FD2 + msgbox MoveTutor_Text_RolloutDeclined, MSGBOX_DEFAULT + release + end + +MoveTutor_EventScript_RolloutTaught:: @ 82C7FDC + msgbox MoveTutor_Text_RolloutTaught, MSGBOX_DEFAULT + release + end + +VerdanturfTown_PokemonCenter_1F_EventScript_FuryCutterTutor:: @ 82C7FE6 + lock + faceplayer + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER, MoveTutor_EventScript_FuryCutterTaught + msgbox MoveTutor_Text_FuryCutterTeach, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_FuryCutterDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_FuryCutterDeclined + msgbox MoveTutor_Text_FuryCutterWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_FURY_CUTTER + call MoveTutor_EventScript_OpenPartyMenu + compare VAR_RESULT, 0 + goto_if_eq MoveTutor_EventScript_FuryCutterDeclined + setflag FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER + goto MoveTutor_EventScript_FuryCutterTaught + end + +MoveTutor_EventScript_FuryCutterDeclined:: @ 82C803A + msgbox MoveTutor_Text_FuryCutterDeclined, MSGBOX_DEFAULT + release + end + +MoveTutor_EventScript_FuryCutterTaught:: @ 82C8044 + msgbox MoveTutor_Text_FuryCutterTaught, MSGBOX_DEFAULT + release + end + +LavaridgeTown_House_EventScript_MimicTutor:: @ 82C804E + lock + faceplayer + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_MIMIC, MoveTutor_EventScript_MimicTaught + msgbox MoveTutor_MimicTeach, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_MimicDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_MimicDeclined + msgbox MoveTutor_Text_MimicWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_MIMIC + call MoveTutor_EventScript_OpenPartyMenu + compare VAR_RESULT, 0 + goto_if_eq MoveTutor_EventScript_MimicDeclined + setflag FLAG_MOVE_TUTOR_TAUGHT_MIMIC + goto MoveTutor_EventScript_MimicTaught + end + +MoveTutor_EventScript_MimicDeclined:: @ 82C80A2 + msgbox MoveTutor_MimicDeclined, MSGBOX_DEFAULT + release + end + +MoveTutor_EventScript_MimicTaught:: @ 82C80AC + msgbox MoveTutor_Text_MimicTaught, MSGBOX_DEFAULT + release + end + +FallarborTown_Mart_EventScript_MetronomeTutor:: @ 82C80B6 + lock + faceplayer + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_METRONOME, MoveTutor_EventScript_MetronomeTaught + msgbox MoveTutor_Text_MetronomeTeach, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_MetronomeDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_MetronomeDeclined + msgbox MoveTutor_Text_MetronomeWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_METRONOME + call MoveTutor_EventScript_OpenPartyMenu + compare VAR_RESULT, 0 + goto_if_eq MoveTutor_EventScript_MetronomeDeclined + setflag FLAG_MOVE_TUTOR_TAUGHT_METRONOME + goto MoveTutor_EventScript_MetronomeTaught + end + +MoveTutor_EventScript_MetronomeDeclined:: @ 82C810A + msgbox MoveTutor_Text_MetronomeDeclined, MSGBOX_DEFAULT + release + end + +MoveTutor_EventScript_MetronomeTaught:: @ 82C8114 + msgbox MoveTutor_Text_MetronomeTaught, MSGBOX_DEFAULT + release + end + +FortreeCity_House2_EventScript_SleepTalkTutor:: @ 82C811E + lock + faceplayer + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK, MoveTutor_EventScript_SleepTalkTaught + msgbox MoveTutor_Text_SleepTalkTeach, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_SleepTalkDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_SleepTalkDeclined + msgbox MoveTutor_Text_SleepTalkWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_SLEEP_TALK + call MoveTutor_EventScript_OpenPartyMenu + compare VAR_RESULT, 0 + goto_if_eq MoveTutor_EventScript_SleepTalkDeclined + setflag FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK + goto MoveTutor_EventScript_SleepTalkTaught + end + +MoveTutor_EventScript_SleepTalkDeclined:: @ 82C8172 + msgbox MoveTutor_Text_SleepTalkDeclined, MSGBOX_DEFAULT + release + end + +MoveTutor_EventScript_SleepTalkTaught:: @ 82C817C + msgbox MoveTutor_Text_SleepTalkTaught, MSGBOX_DEFAULT + release + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_SubstituteTutor:: @ 82C8186 + lock + faceplayer + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE, MoveTutor_EventScript_SubstituteTaught + msgbox MoveTutor_Text_SubstituteTeach, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_SubstituteDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_SubstituteDeclined + msgbox MoveTutor_Text_SubstituteWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_SUBSTITUTE + call MoveTutor_EventScript_OpenPartyMenu + compare VAR_RESULT, 0 + goto_if_eq MoveTutor_EventScript_SubstituteDeclined + setflag FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE + goto MoveTutor_EventScript_SubstituteTaught + end + +MoveTutor_EventScript_SubstituteDeclined:: @ 82C81DA + msgbox MoveTutor_Text_SubstituteDeclined, MSGBOX_DEFAULT + release + end + +MoveTutor_EventScript_SubstituteTaught:: @ 82C81E4 + msgbox MoveTutor_Text_SubstituteTaught, MSGBOX_DEFAULT + release + end + +MossdeepCity_EventScript_DynamicPunchTutor:: @ 82C81EE + lock + faceplayer + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH, MoveTutor_EventScript_DynamicPunchTaught + msgbox MoveTutor_Text_DynamicPunchTeach, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_DynamicPunchDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_DynamicPunchDeclined + msgbox MoveTutor_Text_DynamicPunchWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_DYNAMIC_PUNCH + call MoveTutor_EventScript_OpenPartyMenu + compare VAR_RESULT, 0 + goto_if_eq MoveTutor_EventScript_DynamicPunchDeclined + setflag FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH + goto MoveTutor_EventScript_DynamicPunchTaught + end + +MoveTutor_EventScript_DynamicPunchDeclined:: @ 82C8242 + msgbox MoveTutor_Text_DynamicPunchDeclined, MSGBOX_DEFAULT + release + end + +MoveTutor_EventScript_DynamicPunchTaught:: @ 82C824C + msgbox MoveTutor_Text_DynamicPunchTaught, MSGBOX_DEFAULT + release + end + +SootopolisCity_PokemonCenter_1F_EventScript_DoubleEdgeTutor:: @ 82C8256 + lock + faceplayer + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE, MoveTutor_EventScript_DoubleEdgeTaught + msgbox MoveTutor_Text_DoubleEdgeTeach, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_DoubleEdgeDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_DoubleEdgeDeclined + msgbox MoveTutor_Text_DoubleEdgeWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_DOUBLE_EDGE + call MoveTutor_EventScript_OpenPartyMenu + compare VAR_RESULT, 0 + goto_if_eq MoveTutor_EventScript_DoubleEdgeDeclined + setflag FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE + goto MoveTutor_EventScript_DoubleEdgeTaught + end + +MoveTutor_EventScript_DoubleEdgeDeclined:: @ 82C82AA + msgbox MoveTutor_Text_DoubleEdgeDeclined, MSGBOX_DEFAULT + release + end + +MoveTutor_EventScript_DoubleEdgeTaught:: @ 82C82B4 + msgbox MoveTutor_Text_DoubleEdgeTaught, MSGBOX_DEFAULT + release + end + +PacifidlogTown_PokemonCenter_1F_EventScript_ExplosionTutor:: @ 82C82BE + lock + faceplayer + goto_if_set FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION, MoveTutor_EventScript_ExplosionTaught + msgbox MoveTutor_Text_ExplosionTeach, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_ExplosionDeclined + call MoveTutor_EventScript_CanOnlyBeLearnedOnce + compare VAR_RESULT, NO + goto_if_eq MoveTutor_EventScript_ExplosionDeclined + msgbox MoveTutor_Text_ExplosionWhichMon, MSGBOX_DEFAULT + setvar VAR_0x8005, TUTOR_MOVE_EXPLOSION + call MoveTutor_EventScript_OpenPartyMenu + compare VAR_RESULT, 0 + goto_if_eq MoveTutor_EventScript_ExplosionDeclined + setflag FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION + goto MoveTutor_EventScript_ExplosionTaught + end + +MoveTutor_EventScript_ExplosionDeclined:: @ 82C8312 + msgbox MoveTutor_Text_ExplosionDeclined, MSGBOX_DEFAULT + release + end + +MoveTutor_EventScript_ExplosionTaught:: @ 82C831C + msgbox MoveTutor_Text_ExplosionTaught, MSGBOX_DEFAULT + release + end + +MoveTutor_EventScript_OpenPartyMenu:: @ 82C8326 + special ChooseMonForMoveTutor + waitstate + lock + faceplayer + return + +MoveTutor_EventScript_CanOnlyBeLearnedOnce:: @ 82C832D + msgbox MoveTutor_Text_ThisMoveCanOnlyBeLearnedOnce, MSGBOX_YESNO + return diff --git a/data/scripts/movement.inc b/data/scripts/movement.inc new file mode 100644 index 0000000000..3dd1a81442 --- /dev/null +++ b/data/scripts/movement.inc @@ -0,0 +1,100 @@ +Common_Movement_QuestionMark: @ 8272596 + emote_question_mark + step_end + +Common_Movement_ExclamationMark: @ 8272598 + emote_exclamation_mark + step_end + +Common_Movement_Delay48: @ 827259A + delay_16 + delay_16 + delay_16 + step_end + +Common_Movement_FacePlayer: @ 827259E + face_player + step_end + +Common_Movement_FaceAwayPlayer: @ 82725A0 + face_away_player + step_end + +Common_Movement_FaceOriginalDirection: @ 82725A2 + face_original_direction + step_end + +Common_Movement_WalkInPlaceFastestLeft: @ 82725A4 + walk_in_place_fastest_left + step_end + +Common_Movement_WalkInPlaceFastestUp: @ 82725A6 + walk_in_place_fastest_up + step_end + +Common_Movement_WalkInPlaceFastestRight: @ 82725A8 + walk_in_place_fastest_right + step_end + +Common_Movement_WalkInPlaceFastestDown: @ 82725AA + walk_in_place_fastest_down + step_end + +Common_Movement_FaceRight: @ 82725AC + face_right + step_end + +Common_Movement_FaceLeft: @ 82725AE + face_left + step_end + +Common_Movement_FaceDown: @ 82725B0 + face_down + step_end + +Common_Movement_FaceUp: @ 82725B2 + face_up + step_end + +Common_Movement_WalkInPlaceDown: @ 82725B4 + walk_in_place_down + step_end + +Common_Movement_WalkInPlaceLeft: @ 82725B6 + walk_in_place_left + step_end + +Common_Movement_WalkInPlaceRight: @ 82725B8 + walk_in_place_right + step_end + +Common_Movement_WalkUp6: @ 82725BA + walk_up + walk_up + walk_up + walk_up + walk_up + walk_up + step_end + +Common_Movement_WalkUp4: @ 82725C1 + walk_up + walk_up + walk_up + walk_up + step_end + +Common_Movement_Delay32: @ 82725C6 + delay_16 + delay_16 + step_end + +Common_Movement_WalkUp: @ 82725C9 + walk_up + step_end + +@ Unused +Common_Movement_WalkUp2:: @ 82725CB + walk_up + walk_up + step_end diff --git a/data/scripts/mystery_event_club.inc b/data/scripts/mystery_event_club.inc index cc189a96b4..16e9a657f2 100644 --- a/data/scripts/mystery_event_club.inc +++ b/data/scripts/mystery_event_club.inc @@ -1,110 +1,111 @@ -PetalburgCity_PokemonCenter_1F_EventScript_291539:: @ 8291539 +MysteryEventClub_EventScript_Man:: @ 8291539 lock faceplayer - goto_if_set FLAG_SYS_CHAT_USED, PetalburgCity_PokemonCenter_1F_EventScript_2915F5 - msgbox PetalburgCity_PokemonCenter_1F_Text_291687, MSGBOX_DEFAULT - goto PetalburgCity_PokemonCenter_1F_EventScript_291552 + goto_if_set FLAG_SYS_CHAT_USED, MysteryEventClub_EventScript_GivenProfileBefore + msgbox MysteryEventClub_Text_CollectTrainerProfiles, MSGBOX_DEFAULT + goto MysteryEventClub_EventScript_AskToSeeProfile end -PetalburgCity_PokemonCenter_1F_EventScript_291552:: @ 8291552 - msgbox PetalburgCity_PokemonCenter_1F_Text_2916FF, MSGBOX_DEFAULT - multichoice 17, 6, 20, 0 +MysteryEventClub_EventScript_AskToSeeProfile:: @ 8291552 + msgbox MysteryEventClub_Text_MayISeeYourProfile, MSGBOX_DEFAULT + multichoice 17, 6, MULTI_YESNOINFO_2, 0 switch VAR_RESULT - case 0, PetalburgCity_PokemonCenter_1F_EventScript_29159F - case 1, PetalburgCity_PokemonCenter_1F_EventScript_2915EB - case 2, PetalburgCity_PokemonCenter_1F_EventScript_291591 - case 127, PetalburgCity_PokemonCenter_1F_EventScript_2915EB + case 0, MysteryEventClub_EventScript_CreateProfile + case 1, MysteryEventClub_EventScript_DeclineShowProfile + case 2, MysteryEventClub_EventScript_Info + case MULTI_B_PRESSED, MysteryEventClub_EventScript_DeclineShowProfile end -PetalburgCity_PokemonCenter_1F_EventScript_291591:: @ 8291591 - msgbox PetalburgCity_PokemonCenter_1F_Text_291729, MSGBOX_DEFAULT - goto PetalburgCity_PokemonCenter_1F_EventScript_291552 +MysteryEventClub_EventScript_Info:: @ 8291591 + msgbox MysteryEventClub_Text_EasyChatExplanation, MSGBOX_DEFAULT + goto MysteryEventClub_EventScript_AskToSeeProfile end -PetalburgCity_PokemonCenter_1F_EventScript_29159F:: @ 829159F - msgbox PetalburgCity_PokemonCenter_1F_Text_291969, MSGBOX_DEFAULT +MysteryEventClub_EventScript_CreateProfile:: @ 829159F + msgbox MysteryEventClub_Text_LetsSeeItThen, MSGBOX_DEFAULT closemessage setvar VAR_0x8004, EASY_CHAT_TYPE_PROFILE call Common_ShowEasyChatScreen lock faceplayer compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_2915CB + goto_if_eq MysteryEventClub_EventScript_CancelShowProfile compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_2915D5 + goto_if_eq MysteryEventClub_EventScript_ShowProfile end -PetalburgCity_PokemonCenter_1F_EventScript_2915CB:: @ 82915CB - msgbox PetalburgCity_PokemonCenter_1F_Text_2919DC, MSGBOX_DEFAULT +MysteryEventClub_EventScript_CancelShowProfile:: @ 82915CB + msgbox MysteryEventClub_Text_NotIntoItRightNow, MSGBOX_DEFAULT release end -PetalburgCity_PokemonCenter_1F_EventScript_2915D5:: @ 82915D5 +MysteryEventClub_EventScript_ShowProfile:: @ 82915D5 setvar VAR_0x8004, 0 - special sub_811EECC + special ShowEasyChatProfile waitmessage delay 80 - msgbox PetalburgCity_PokemonCenter_1F_Text_291B22, MSGBOX_DEFAULT + msgbox MysteryEventClub_Text_FantasticProfile, MSGBOX_DEFAULT release end -PetalburgCity_PokemonCenter_1F_EventScript_2915EB:: @ 82915EB - msgbox PetalburgCity_PokemonCenter_1F_Text_291991, MSGBOX_DEFAULT +MysteryEventClub_EventScript_DeclineShowProfile:: @ 82915EB + msgbox MysteryEventClub_Text_ImagineYouWouldHaveWonderfulProfile, MSGBOX_DEFAULT release end -PetalburgCity_PokemonCenter_1F_EventScript_2915F5:: @ 82915F5 - msgbox PetalburgCity_PokemonCenter_1F_Text_291A1B, MSGBOX_DEFAULT - goto PetalburgCity_PokemonCenter_1F_EventScript_291603 +MysteryEventClub_EventScript_GivenProfileBefore:: @ 82915F5 + msgbox MysteryEventClub_Text_YouHaveWonderfulSmile, MSGBOX_DEFAULT + goto MysteryEventClub_EventScript_AskToSeeNewProfile end -PetalburgCity_PokemonCenter_1F_EventScript_291603:: @ 8291603 - msgbox PetalburgCity_PokemonCenter_1F_Text_291A4F, MSGBOX_DEFAULT - multichoice 17, 6, 20, 0 +MysteryEventClub_EventScript_AskToSeeNewProfile:: @ 8291603 + msgbox MysteryEventClub_Text_MayISeeYourNewProfile, MSGBOX_DEFAULT + multichoice 17, 6, MULTI_YESNOINFO_2, 0 switch VAR_RESULT - case 0, PetalburgCity_PokemonCenter_1F_EventScript_291650 - case 1, PetalburgCity_PokemonCenter_1F_EventScript_29167C - case 2, PetalburgCity_PokemonCenter_1F_EventScript_291642 - case 127, PetalburgCity_PokemonCenter_1F_EventScript_29167C + case 0, MysteryEventClub_EventScript_CreateNewProfile + case 1, MysteryEventClub_EventScript_DeclineNewProfile + case 2, MysteryEventClub_EventScript_InfoNewProfile + case MULTI_B_PRESSED, MysteryEventClub_EventScript_DeclineNewProfile end -PetalburgCity_PokemonCenter_1F_EventScript_291642:: @ 8291642 - msgbox PetalburgCity_PokemonCenter_1F_Text_291729, MSGBOX_DEFAULT - goto PetalburgCity_PokemonCenter_1F_EventScript_291603 +MysteryEventClub_EventScript_InfoNewProfile:: @ 8291642 + msgbox MysteryEventClub_Text_EasyChatExplanation, MSGBOX_DEFAULT + goto MysteryEventClub_EventScript_AskToSeeNewProfile end -PetalburgCity_PokemonCenter_1F_EventScript_291650:: @ 8291650 - msgbox PetalburgCity_PokemonCenter_1F_Text_291A6B, MSGBOX_DEFAULT +MysteryEventClub_EventScript_CreateNewProfile:: @ 8291650 + msgbox MysteryEventClub_Text_EvenBetterThanLastProfile, MSGBOX_DEFAULT closemessage setvar VAR_0x8004, EASY_CHAT_TYPE_PROFILE call Common_ShowEasyChatScreen lock faceplayer compare VAR_RESULT, 0 - goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_2915CB + goto_if_eq MysteryEventClub_EventScript_CancelShowProfile compare VAR_RESULT, 1 - goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_2915D5 + goto_if_eq MysteryEventClub_EventScript_ShowProfile end -PetalburgCity_PokemonCenter_1F_EventScript_29167C:: @ 829167C - msgbox PetalburgCity_PokemonCenter_1F_Text_291ABA, MSGBOX_DEFAULT +MysteryEventClub_EventScript_DeclineNewProfile:: @ 829167C + msgbox MysteryEventClub_Text_LikeProfileWayItIs, MSGBOX_DEFAULT release end -PetalburgCity_PokemonCenter_1F_EventScript_291686:: @ 8291686 +@ Unused +MysteryEventClub_EventScript_Ret:: @ 8291686 return -PetalburgCity_PokemonCenter_1F_Text_291687: @ 8291687 +MysteryEventClub_Text_CollectTrainerProfiles: @ 8291687 .string "Hello there, TRAINER!\n" .string "You've got a wonderful smile, there.\p" .string "I have a hobby--collecting the profiles\n" .string "of POKéMON TRAINERS.$" -PetalburgCity_PokemonCenter_1F_Text_2916FF: @ 82916FF +MysteryEventClub_Text_MayISeeYourProfile: @ 82916FF .string "So, how about it?\n" .string "May I see your profile?$" -PetalburgCity_PokemonCenter_1F_Text_291729: @ 8291729 +MysteryEventClub_Text_EasyChatExplanation: @ 8291729 .string "You make your own profile by putting\n" .string "together four words or phrases.\p" .string "Here, I'll show you an example of a\n" @@ -123,37 +124,37 @@ PetalburgCity_PokemonCenter_1F_Text_291729: @ 8291729 .string "Repeat for the remaining text choices,\n" .string "and you'll have your very own profile.$" -PetalburgCity_PokemonCenter_1F_Text_291969: @ 8291969 +MysteryEventClub_Text_LetsSeeItThen: @ 8291969 .string "Yes! Thank you!\n" .string "So, let's see it, then.$" -PetalburgCity_PokemonCenter_1F_Text_291991: @ 8291991 +MysteryEventClub_Text_ImagineYouWouldHaveWonderfulProfile: @ 8291991 .string "Oh, no, really?\p" .string "I imagine someone like you would have\n" .string "a wonderful profile…$" -PetalburgCity_PokemonCenter_1F_Text_2919DC: @ 82919DC +MysteryEventClub_Text_NotIntoItRightNow: @ 82919DC .string "Oh? You're not into it right now?\p" .string "Well, anytime is good by me!$" -PetalburgCity_PokemonCenter_1F_Text_291A1B: @ 8291A1B +MysteryEventClub_Text_YouHaveWonderfulSmile: @ 8291A1B .string "Hello there, TRAINER!\n" .string "You've got a wonderful smile.$" -PetalburgCity_PokemonCenter_1F_Text_291A4F: @ 8291A4F +MysteryEventClub_Text_MayISeeYourNewProfile: @ 8291A4F .string "May I see your new profile?$" -PetalburgCity_PokemonCenter_1F_Text_291A6B: @ 8291A6B +MysteryEventClub_Text_EvenBetterThanLastProfile: @ 8291A6B .string "Yes! Thank you!\p" .string "I hope it's even better than the profile\n" .string "you showed me before.$" -PetalburgCity_PokemonCenter_1F_Text_291ABA: @ 8291ABA +MysteryEventClub_Text_LikeProfileWayItIs: @ 8291ABA .string "Oh, you like your profile the way it is.\p" .string "I don't blame you--it's a wonderful\n" .string "profile the way it is now.$" -PetalburgCity_PokemonCenter_1F_Text_291B22: @ 8291B22 +MysteryEventClub_Text_FantasticProfile: @ 8291B22 .string "F-fantastic!\p" .string "Your profile, it's wonderful!\n" .string "It really says what you're about.\p" @@ -161,7 +162,8 @@ PetalburgCity_PokemonCenter_1F_Text_291B22: @ 8291B22 .string "be captivated by you!\p" .string "Thank you!$" -PetalburgCity_PokemonCenter_1F_Text_291BB7: @ 8291BB7 +@ Unused +MysteryEventClub_Text_YouKnowSecretSaying: @ 8291BB7 .string "Oh?\n" .string "You know the secret saying!\p" .string "That means you're now a fellow member\n" diff --git a/data/scripts/new_game.inc b/data/scripts/new_game.inc new file mode 100644 index 0000000000..74fff4aea1 --- /dev/null +++ b/data/scripts/new_game.inc @@ -0,0 +1,245 @@ +EventScript_ResetAllBerries:: @ 827149D + 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 + setflag FLAG_HIDE_CONTEST_POKE_BALL + setflag FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE + setflag FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE + setflag FLAG_HIDE_ROUTE_111_VICKY_WINSTRATE + setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH + setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL + setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL + setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE + setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA + setflag FLAG_HIDE_PETALBURG_CITY_WALLY + setflag FLAG_UNKNOWN_0x363 + setflag FLAG_HIDE_RUSTBORO_CITY_AQUA_GRUNT + setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1 + setflag FLAG_HIDE_RUSTBORO_CITY_RIVAL + setflag FLAG_HIDE_RUSTBORO_CITY_SCIENTIST + setflag FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN + setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY + setflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO + setflag FLAG_HIDE_ROUTE_104_MR_BRINEY + setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN + setflag FLAG_HIDE_ROUTE_109_MR_BRINEY + setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN + setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT + setflag FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST + setflag FLAG_HIDE_ROUTE_110_BIRCH + setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_1 + setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_2 + setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1 + setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_2 + setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_3 + setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_4 + setflag FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS + setflag FLAG_HIDE_PETALBURG_GYM_GREETER + setflag FLAG_HIDE_PETALBURG_GYM_WALLYS_UNCLE + setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN + setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MAY + setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM + setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM + setflag FLAG_HIDE_PLAYERS_HOUSE_DAD + setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL + setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL + setflag FLAG_HIDE_FANCLUB_OLD_LADY + setflag FLAG_HIDE_FANCLUB_BOY + setflag FLAG_HIDE_FANCLUB_LITTLE_BOY + setflag FLAG_HIDE_FANCLUB_LADY + setflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER + setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1 + setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1 + setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3 + setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2 + setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2 + setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2 + setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3 + setflag FLAG_HIDE_SLATEPORT_CITY_CONTEST_REPORTER + setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER + setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY + setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDAS_BOYFRIEND + setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE + setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDA + setflag FLAG_HIDE_VERDANTURF_TOWN_SCOTT + setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE + setflag FLAG_HIDE_PETALBURG_GYM_WALLY + setflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY + setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE + setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE + setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS + setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1 + setflag FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_1 + setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN + setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT + setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_ARCHIE + setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL + setflag FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL + setflag FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY + setflag FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN + setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SUBMARINE_SHADOW + setflag FLAG_HIDE_ROUTE_119_RIVAL + setflag FLAG_HIDE_ROUTE_119_SCOTT + setflag FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN + setflag FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE + setflag FLAG_HIDE_LANETTES_HOUSE_LANETTE + setflag FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN + setflag FLAG_HIDE_MT_CHIMNEY_TRAINERS + setflag FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY + setflag FLAG_HIDE_RUSTURF_TUNNEL_BRINEY + setflag FLAG_HIDE_ROUTE_116_MR_BRINEY + setflag FLAG_HIDE_RUSTURF_TUNNEL_PEEKO + setflag FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT + setflag FLAG_HIDE_RUSTURF_TUNNEL_WANDAS_BOYFRIEND + setflag FLAG_HIDE_RUSTURF_TUNNEL_WANDA + setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_ARCHIE + setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_1 + setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_2 + setflag FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION + setflag FLAG_HIDE_BATTLE_TOWER_OPPONENT + setflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE + setflag FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM + setflag FLAG_HIDE_LITTLEROOT_TOWN_RIVAL + setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCH + setflag FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS + setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 + setflag FLAG_HIDE_ROUTE_101_BIRCH + setflag FLAG_HIDE_ROUTE_103_BIRCH + setflag FLAG_HIDE_LILYCOVE_HARBOR_FERRY_SAILOR + setflag FLAG_HIDE_LILYCOVE_HARBOR_EVENT_TICKET_TAKER + setflag FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE + setflag FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON + setflag FLAG_UNKNOWN_0x393 + setflag FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE + setflag FLAG_HIDE_MAUVILLE_CITY_WATTSON + setflag FLAG_HIDE_MAUVILLE_CITY_SCOTT + setflag FLAG_HIDE_CHAMPIONS_ROOM_RIVAL + setflag FLAG_HIDE_CHAMPIONS_ROOM_BIRCH + setflag FLAG_HIDE_ROUTE_110_RIVAL_2 + setflag FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE + setflag FLAG_HIDE_ROUTE_104_RIVAL + setflag FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS + setflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL + setflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_ON_BIKE + setflag FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL + setflag FLAG_HIDE_METEOR_FALLS_TEAM_AQUA + setflag FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN + setflag FLAG_HIDE_FALLARBOR_HOUSE_PROF_COZMO + setflag FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M + setflag FLAG_HIDE_ROUTE_128_STEVEN + setflag FLAG_HIDE_ROUTE_128_ARCHIE + setflag FLAG_HIDE_ROUTE_128_MAXIE + setflag FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE + setflag FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN + setflag FLAG_HIDE_SLATEPORT_CITY_SCOTT + setflag FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY + setflag FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY + setflag FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY + setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN + setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL + setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY + setflag FLAG_HIDE_OLDALE_TOWN_RIVAL + setflag FLAG_HIDE_ROUTE_101_BOY + setflag FLAG_HIDE_PETALBURG_CITY_SCOTT + setflag FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA + setflag FLAG_HIDE_SOOTOPOLIS_CITY_KYOGRE + setflag FLAG_HIDE_SOOTOPOLIS_CITY_GROUDON + setflag FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS + setflag FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE + setflag FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE + setflag FLAG_HIDE_ROUTE_111_DESERT_FOSSIL + setflag FLAG_HIDE_ROUTE_111_PLAYER_DESCENT + setflag FLAG_HIDE_DESERT_UNDERPASS_FOSSIL + setflag FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA + setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA + setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA + setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN + setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER + setflag FLAG_HIDE_DEOXYS + setflag FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION + setflag FLAG_HIDE_FALLARBOR_TOWN_BATTLE_TENT_SCOTT + setflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT + setflag FLAG_HIDE_SKY_PILLAR_WALLACE + setflag FLAG_HIDE_RAYQUAZA_SKY_TOWER_SUMMIT + call EventScript_ResetAllBerries + end diff --git a/data/scripts/obtain_item.inc b/data/scripts/obtain_item.inc new file mode 100644 index 0000000000..3afd92588a --- /dev/null +++ b/data/scripts/obtain_item.inc @@ -0,0 +1,207 @@ +Std_ObtainItem:: @ 8271AD3 + additem VAR_0x8000, VAR_0x8001 + copyvar VAR_0x8007, VAR_RESULT + call EventScript_ObtainItemMessage + return + +EventScript_ObtainItemMessage:: @ 8271AE3 + bufferitemnameplural 1, VAR_0x8000, VAR_0x8001 + checkitemtype VAR_0x8000 + call EventScript_BufferPocketNameAndTryFanfare + compare VAR_0x8007, 1 + call_if_eq EventScript_ObtainedItem + compare VAR_0x8007, 0 + call_if_eq EventScript_NoRoomForItem + return + +EventScript_BufferPocketNameAndTryFanfare:: @ 8271B08 + switch VAR_RESULT + case POCKET_ITEMS, EventScript_BufferItemsPocket + case POCKET_KEY_ITEMS, EventScript_BufferKeyItemsPocket + case POCKET_POKE_BALLS, EventScript_BufferPokeballsPocket + case POCKET_TM_HM, EventScript_BufferTMHMsPocket + case POCKET_BERRIES, EventScript_BufferBerriesPocket + end + +EventScript_BufferItemsPocket:: @ 8271B45 + bufferstdstring 2, STDSTRING_ITEMS + compare VAR_0x8007, 1 + call_if_eq EventScript_PlayFanfareObtainedItem + return + +EventScript_BufferKeyItemsPocket:: @ 8271B55 + bufferstdstring 2, STDSTRING_KEYITEMS + compare VAR_0x8007, 1 + call_if_eq EventScript_PlayFanfareObtainedItem + return + +EventScript_BufferPokeballsPocket:: @ 8271B65 + bufferstdstring 2, STDSTRING_POKEBALLS + compare VAR_0x8007, 1 + call_if_eq EventScript_PlayFanfareObtainedItem + return + +EventScript_BufferTMHMsPocket:: @ 8271B75 + bufferstdstring 2, STDSTRING_TMHMS + compare VAR_0x8007, 1 + call_if_eq EventScript_PlayFanfareObtainedTMHM + return + +EventScript_BufferBerriesPocket:: @ 8271B85 + bufferstdstring 2, STDSTRING_BERRIES + compare VAR_0x8007, 1 + call_if_eq EventScript_PlayFanfareObtainedItem + return + +EventScript_ObtainedItem:: @ 8271B95 + message gText_ObtainedTheItem + waitfanfare + msgbox gText_PutItemInPocket, MSGBOX_DEFAULT + setvar VAR_RESULT, 1 + return + +EventScript_NoRoomForItem:: @ 8271BA9 + setvar VAR_RESULT, 0 + return + +EventScript_PlayFanfareObtainedItem:: @ 8271BAF + playfanfare MUS_FANFA4 + return + +EventScript_PlayFanfareObtainedTMHM:: @ 8271BB3 + playfanfare MUS_ME_WAZA + return + +Std_ObtainDecoration:: @ 8271BB7 + adddecoration VAR_0x8000 + copyvar VAR_0x8007, VAR_RESULT + call EventScript_ObtainDecorationMessage + return + +EventScript_ObtainDecorationMessage:: @ 8271BC5 + bufferdecorationname 1, VAR_0x8000 + compare VAR_0x8007, 1 + call_if_eq EventScript_ObtainedDecor + compare VAR_0x8007, 0 + call_if_eq EventScript_NoRoomForDecor + return + +EventScript_ObtainedDecor:: @ 8271BE0 + playfanfare MUS_FANFA4 + message gText_ObtainedTheDecor + waitfanfare + msgbox gText_TheDecorWasTransferredToThePC, MSGBOX_DEFAULT + setvar VAR_RESULT, 1 + return + +EventScript_NoRoomForDecor:: @ 8271BF7 + setvar VAR_RESULT, 0 + return + +Std_FindItem:: @ 8271BFD + lock + faceplayer + waitse + copyvar VAR_0x8004, VAR_0x8000 + copyvar VAR_0x8005, VAR_0x8001 + checkitemspace VAR_0x8000, VAR_0x8001 + copyvar VAR_0x8007, VAR_RESULT + bufferitemnameplural 1, VAR_0x8000, VAR_0x8001 + checkitemtype VAR_0x8000 + call EventScript_BufferPocketNameAndTryFanfare + compare VAR_0x8007, 1 + call_if_eq EventScript_PickUpItem + compare VAR_0x8007, 0 + call_if_eq EventScript_NoRoomToPickUpItem + release + return + +EventScript_PickUpItem:: @ 8271C3A + removeobject VAR_LAST_TALKED + additem VAR_0x8004, VAR_0x8005 + specialvar VAR_RESULT, BufferTMHMMoveName + copyvar VAR_0x8008, VAR_RESULT + compare VAR_0x8008, 1 + call_if_eq EventScript_FoundTMHM + compare VAR_0x8008, 0 + call_if_eq EventScript_FoundItem + waitfanfare + waitmessage + bufferitemnameplural 1, VAR_0x8004, VAR_0x8005 + pyramid_inchallenge + compare VAR_RESULT, 1 + goto_if_eq EventScript_PutBattlePyramidItemInBag + msgbox gText_PutItemInPocket, MSGBOX_DEFAULT + return + +EventScript_PutBattlePyramidItemInBag:: @ 8271C86 + msgbox gText_PlayerPutItemInBag, MSGBOX_DEFAULT + return + +EventScript_FoundTMHM:: @ 8271C8F + bufferitemnameplural 0, VAR_0x8004, VAR_0x8005 + message gText_PlayerFoundOneTMHM + return + +EventScript_FoundItem:: @ 8271C9B + message gText_PlayerFoundOneItem + return + +EventScript_NoRoomToPickUpItem:: @ 8271CA1 + msgbox gText_ObtainedTheItem, MSGBOX_DEFAULT + msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT + setvar VAR_RESULT, 0 + return + +EventScript_HiddenItemScript:: @ 8271CB7 + lockall + waitse + additem VAR_0x8005 + copyvar VAR_0x8007, VAR_RESULT + bufferitemnameplural 1, VAR_0x8005, 1 + checkitemtype VAR_0x8005 + call EventScript_BufferPocketNameAndTryFanfare + compare VAR_0x8007, 1 + goto_if_eq EventScript_PickUpHiddenItem + compare VAR_0x8007, 0 + goto_if_eq EventScript_NoRoomForHiddenItem + end + +EventScript_PickUpHiddenItem:: @ 8271CE8 + copyvar VAR_0x8008, VAR_0x8004 + copyvar VAR_0x8004, VAR_0x8005 + specialvar VAR_RESULT, BufferTMHMMoveName + compare VAR_RESULT, 1 + goto_if_eq EventScript_FoundHiddenTMHM + compare VAR_RESULT, 0 + goto_if_eq EventScript_FoundHiddenItem + end + +EventScript_FoundHiddenTMHM:: @ 8271D0E + bufferitemnameplural 0, VAR_0x8004, 1 + message gText_PlayerFoundOneTMHM + goto EventScript_PutHiddenItemInPocket + end + +EventScript_FoundHiddenItem:: @ 8271D1F + message gText_PlayerFoundOneItem + goto EventScript_PutHiddenItemInPocket + end + +EventScript_PutHiddenItemInPocket:: @ 8271D2A + waitmessage + waitfanfare + bufferitemnameplural 1, VAR_0x8004, 1 + copyvar VAR_0x8004, VAR_0x8008 + msgbox gText_PutItemInPocket, MSGBOX_DEFAULT + special TryPutTreasureInvestigatorsOnAir + special SetHiddenItemFlag + releaseall + end + +EventScript_NoRoomForHiddenItem:: @ 8271D47 + msgbox gText_PlayerFoundOneItem, MSGBOX_DEFAULT + msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT + setvar VAR_RESULT, 0 + releaseall + end diff --git a/data/scripts/pc.inc b/data/scripts/pc.inc new file mode 100644 index 0000000000..b3602ee6f5 --- /dev/null +++ b/data/scripts/pc.inc @@ -0,0 +1,66 @@ +EventScript_PC:: @ 8271D92 + lockall + setvar VAR_0x8004, 0 + special DoPCTurnOnEffect + playse SE_PC_ON + msgbox Text_BootUpPC, MSGBOX_DEFAULT + goto EventScript_PCMainMenu + end + +EventScript_PCMainMenu:: @ 8271DAC + message gText_WhichPCShouldBeAccessed + waitmessage + special ScriptMenu_CreatePCMultichoice + waitstate + goto EventScript_AccessPC + end + +EventScript_AccessPC:: @ 8271DBC + switch VAR_RESULT + case 0, EventScript_AccessPokemonStorage + case 1, EventScript_AccessPlayersPC + case 2, EventScript_AccessHallOfFame + case 3, EventScript_TurnOffPC + case MULTI_B_PRESSED, EventScript_TurnOffPC + end + +EventScript_AccessPlayersPC:: @ 8271DF9 + playse SE_PC_LOGIN + msgbox gText_AccessedPlayersPC, MSGBOX_DEFAULT + special PlayerPC + waitstate + goto EventScript_PCMainMenu + end + +EventScript_AccessPokemonStorage:: @ 8271E0E + playse SE_PC_LOGIN + call_if_unset FLAG_SYS_PC_LANETTE, EventScript_AccessSomeonesPC + call_if_set FLAG_SYS_PC_LANETTE, EventScript_AccessLanettesPC + msgbox gText_StorageSystemOpened, MSGBOX_DEFAULT + special ShowPokemonStorageSystemPC + waitstate + goto EventScript_PCMainMenu + end + +EventScript_AccessSomeonesPC:: @ 8271E35 + msgbox gText_AccessedSomeonesPC, MSGBOX_DEFAULT + return + +EventScript_AccessLanettesPC:: @ 8271E3E + msgbox gText_AccessedLanettesPC, MSGBOX_DEFAULT + return + +EventScript_TurnOffPC:: @ 8271E47 + setvar VAR_0x8004, 0 + playse SE_PC_OFF + special DoPCTurnOffEffect + releaseall + end + +EventScript_AccessHallOfFame:: @ 8271E54 + goto_if_unset FLAG_SYS_GAME_CLEAR, EventScript_TurnOffPC + playse SE_PC_LOGIN + special AccessHallOfFamePC + waitstate + goto EventScript_AccessPC + end diff --git a/data/scripts/pc_transfer.inc b/data/scripts/pc_transfer.inc new file mode 100644 index 0000000000..ec58b26f18 --- /dev/null +++ b/data/scripts/pc_transfer.inc @@ -0,0 +1,52 @@ +@ VAR_0x8004 here is used by ChangePokemonNickname +Common_EventScript_GetGiftMonPartySlot:: @ 827378B + getpartysize + subvar VAR_RESULT, 1 + copyvar VAR_0x8004, VAR_RESULT + return + +Common_EventScript_NameReceivedBoxMon:: @ 8273797 + fadescreen FADE_TO_BLACK + special ChangeBoxPokemonNickname + waitstate + lock + faceplayer + return + +Common_EventScript_TransferredToPC:: @ 82737A0 + bufferboxname 0, VAR_PC_BOX_TO_SEND_MON + bufferspeciesname 1, VAR_TEMP_1 + call_if_unset FLAG_SYS_PC_LANETTE, EventScript_TransferredSomeonesPC + call_if_set FLAG_SYS_PC_LANETTE, EventScript_TransferredLanettesPC + return + +EventScript_TransferredSomeonesPC:: @ 82737BB + specialvar VAR_RESULT, ShouldShowBoxWasFullMessage + compare VAR_RESULT, 1 + goto_if_eq EventScript_SomeonesPCBoxFull + msgbox gText_PkmnTransferredSomeonesPC, MSGBOX_DEFAULT + return + +EventScript_SomeonesPCBoxFull:: @ 82737D4 + specialvar VAR_RESULT, GetPCBoxToSendMon + bufferboxname 2, VAR_RESULT + msgbox gText_PkmnTransferredSomeonesPCBoxFull, MSGBOX_DEFAULT + return + +EventScript_TransferredLanettesPC:: @ 82737E6 + specialvar VAR_RESULT, ShouldShowBoxWasFullMessage + compare VAR_RESULT, TRUE + goto_if_eq EventScript_LanettesPCBoxFull + msgbox gText_PkmnTransferredLanettesPC, MSGBOX_DEFAULT + return + +EventScript_LanettesPCBoxFull:: @ 82737FF + specialvar VAR_RESULT, GetPCBoxToSendMon + bufferboxname 2, VAR_RESULT + msgbox gText_PkmnTransferredLanettesPCBoxFull, MSGBOX_DEFAULT + return + +Common_EventScript_NoMoreRoomForPokemon:: @ 8273811 + msgbox gText_NoMoreRoomForPokemon, MSGBOX_DEFAULT + release + end diff --git a/data/scripts/pkmn_center_nurse.inc b/data/scripts/pkmn_center_nurse.inc new file mode 100644 index 0000000000..a26e9e22a4 --- /dev/null +++ b/data/scripts/pkmn_center_nurse.inc @@ -0,0 +1,135 @@ +Common_EventScript_PkmnCenterNurse:: @ 827191E + lock + faceplayer + setvar VAR_0x8004, 0 + specialvar VAR_RESULT, CountPlayerTrainerStars + compare VAR_RESULT, 4 + goto_if_eq EventScript_PkmnCenterNurse_GoldCard + msgbox gText_WouldYouLikeToRestYourPkmn, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq EventScript_PkmnCenterNurse_HealPkmn + compare VAR_RESULT, NO + goto_if_eq EventScript_PkmnCenterNurse_Goodbye + end + +EventScript_PkmnCenterNurse_Goodbye:: @ 8271954 + message gText_WeHopeToSeeYouAgain + return + +@ VAR_0x8004 is 1 when player has Gold Card; jumps are identical +EventScript_PkmnCenterNurse_HealPkmn:: @ 827195A + incrementgamestat GAME_STAT_USED_POKECENTER + compare VAR_0x8004, 0 + call_if_eq EventScript_PkmnCenterNurse_IllTakeYourPkmn + compare VAR_0x8004, 1 + call_if_eq EventScript_PkmnCenterNurse_IllTakeYourPkmn2 + waitmessage + call EventScript_PkmnCenterNurse_TakeAndHealPkmn + goto_if_unset FLAG_POKERUS_EXPLAINED, EventScript_PkmnCenterNurse_CheckPokerus + goto EventScript_PkmnCenterNurse_CheckTrainerHillAndUnionRoom + end + +EventScript_PkmnCenterNurse_IllTakeYourPkmn:: @ 8271987 + message gText_IllTakeYourPkmn + return + +EventScript_PkmnCenterNurse_IllTakeYourPkmn2:: @ 827198D + message gText_IllTakeYourPkmn2 + return + +EventScript_PkmnCenterNurse_TakeAndHealPkmn:: @ 8271993 + applymovement VAR_0x800B, Common_Movement_WalkInPlaceFastestLeft + waitmovement 0 + dofieldeffect FLDEFF_POKECENTER_HEAL + waitfieldeffect FLDEFF_POKECENTER_HEAL + applymovement VAR_0x800B, Common_Movement_WalkInPlaceFastestDown + waitmovement 0 + special HealPlayerParty + return + +EventScript_PkmnCenterNurse_CheckTrainerHillAndUnionRoom:: @ 82719B1 + specialvar VAR_RESULT, PlayerNotAtTrainerHillEntrance + compare VAR_RESULT, 0 + goto_if_eq EventScript_PkmnCenterNurse_ReturnPkmn + specialvar VAR_RESULT, BufferUnionRoomPlayerName + copyvar VAR_0x8008, VAR_RESULT + compare VAR_0x8008, 0 + goto_if_eq EventScript_PkmnCenterNurse_ReturnPkmn + compare VAR_0x8008, 1 + goto_if_eq EventScript_PkmnCenterNurse_PlayerWaitingInUnionRoom + end + +@ VAR_0x8004 is 1 when player has Gold Card +EventScript_PkmnCenterNurse_ReturnPkmn:: @ 82719E2 + compare VAR_0x8004, 1 + goto_if_eq EventScript_PkmnCenterNurse_ReturnPkmn2 + message gText_RestoredPkmnToFullHealth + waitmessage + applymovement VAR_0x800B, EventScript_PkmnCenterNurse_Bow + waitmovement 0 + message gText_WeHopeToSeeYouAgain + return + +EventScript_PkmnCenterNurse_ReturnPkmn2:: @ 8271A03 + message gText_ThankYouForWaiting + waitmessage + applymovement VAR_0x800B, EventScript_PkmnCenterNurse_Bow + waitmovement 0 + message gText_WeHopeToSeeYouAgain2 + return + +EventScript_PkmnCenterNurse_PlayerWaitingInUnionRoom:: @ 8271A19 + goto_if_set FLAG_NURSE_UNION_ROOM_REMINDER, EventScript_PkmnCenterNurse_ReturnPkmn + msgbox gText_RestoredPkmnToFullHealth, MSGBOX_DEFAULT + setflag FLAG_NURSE_UNION_ROOM_REMINDER + message CableClub_Text_PlayerIsWaiting + waitmessage + applymovement VAR_0x800B, EventScript_PkmnCenterNurse_Bow + waitmovement 0 + message gText_WeHopeToSeeYouAgain + return + +EventScript_PkmnCenterNurse_CheckPokerus:: @ 8271A43 + specialvar VAR_RESULT, IsPokerusInParty + compare VAR_RESULT, TRUE + goto_if_eq EventScript_PkmnCenterNurse_ExplainPokerus + compare VAR_RESULT, FALSE + goto_if_eq EventScript_PkmnCenterNurse_CheckTrainerHillAndUnionRoom + end + +EventScript_PkmnCenterNurse_ExplainPokerus:: @ 8271A5F + message gText_PokerusExplanation + setflag FLAG_POKERUS_EXPLAINED + return + +EventScript_PkmnCenterNurse_GoldCard:: @ 8271A68 + goto_if_set FLAG_NURSE_MENTIONS_GOLD_CARD, EventScript_PkmnCenterNurse_AskForUsual + setflag FLAG_NURSE_MENTIONS_GOLD_CARD + msgbox gText_WelcomeCutShort, MSGBOX_DEFAULT + playse SE_PIN + applymovement VAR_0x800B, Common_Movement_ExclamationMark + waitmovement 0 + applymovement VAR_0x800B, Common_Movement_Delay48 + waitmovement 0 + msgbox gText_NoticesGoldCard, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq EventScript_PkmnCenterNurse_GoldCardHealPkmn + message gText_WeHopeToSeeYouAgain2 + return + +EventScript_PkmnCenterNurse_AskForUsual:: @ 8271AAC + msgbox gText_YouWantTheUsual, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq EventScript_PkmnCenterNurse_GoldCardHealPkmn + message gText_WeHopeToSeeYouAgain2 + return + +EventScript_PkmnCenterNurse_GoldCardHealPkmn:: @ 8271AC5 + setvar VAR_0x8004, 1 + goto EventScript_PkmnCenterNurse_HealPkmn + end + +EventScript_PkmnCenterNurse_Bow: @ 8271AD0 + nurse_joy_bow + delay_4 + step_end diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc index c4a5ffe865..8f15fcd58b 100644 --- a/data/scripts/players_house.inc +++ b/data/scripts/players_house.inc @@ -1,67 +1,63 @@ -LittlerootTown_BrendansHouse_2F_EventScript_2926FE:: @ 82926FE -LittlerootTown_MaysHouse_2F_EventScript_2926FE:: @ 82926FE +PlayersHouse_2F_EventScript_BlockStairsUntilClockIsSet:: @ 82926FE setvar VAR_LITTLEROOT_INTRO_STATE, 5 return -LittlerootTown_BrendansHouse_1F_EventScript_292704:: @ 8292704 -LittlerootTown_MaysHouse_1F_EventScript_292704:: @ 8292704 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A1C, MSGBOX_DEFAULT +PlayersHouse_1F_EventScript_EnterHouseMovingIn:: @ 8292704 + msgbox PlayersHouse_1F_Text_IsntItNiceInHere, MSGBOX_DEFAULT applymovement VAR_0x8004, Common_Movement_FacePlayer waitmovement 0 - compare VAR_0x8005, 0 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_29274D - compare VAR_0x8005, 1 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292758 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A46, MSGBOX_DEFAULT + compare VAR_0x8005, MALE + call_if_eq PlayersHouse_1F_EventScript_MomFacePlayerMovingInMale + compare VAR_0x8005, FEMALE + call_if_eq PlayersHouse_1F_EventScript_MomFacePlayerMovingInFemale + msgbox PlayersHouse_1F_Text_MoversPokemonGoSetClock, MSGBOX_DEFAULT closemessage setvar VAR_LITTLEROOT_INTRO_STATE, 4 - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292763 - applymovement VAR_0x8004, Common_Movement_WalkInPlaceUp + applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerWalkIn + applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestUp waitmovement 0 releaseall end -LittlerootTown_BrendansHouse_1F_EventScript_29274D:: @ 829274D - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight +PlayersHouse_1F_EventScript_MomFacePlayerMovingInMale:: @ 829274D + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_292758:: @ 8292758 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft +PlayersHouse_1F_EventScript_MomFacePlayerMovingInFemale:: @ 8292758 + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -LittlerootTown_BrendansHouse_1F_Movement_292763: @ 8292763 +PlayersHouse_1F_Movement_PlayerWalkIn: @ 8292763 walk_up step_end -LittlerootTown_BrendansHouse_1F_EventScript_292765:: @ 8292765 -LittlerootTown_MaysHouse_1F_EventScript_292765:: @ 8292765 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B24, MSGBOX_DEFAULT +PlayersHouse_1F_EventScript_MomGoSeeRoom:: @ 8292765 + msgbox PlayersHouse_1F_Text_ArentYouInterestedInRoom, MSGBOX_DEFAULT closemessage - applymovement VAR_0x8004, Common_Movement_WalkInPlaceUp - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AF0 + applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestUp + applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_MovePlayerAwayFromDoor waitmovement 0 releaseall end -LittlerootTown_BrendansHouse_2F_EventScript_292781:: @ 8292781 +LittlerootTown_BrendansHouse_2F_EventScript_WallClock:: @ 8292781 lockall - setvar VAR_0x8004, 0 - goto LittlerootTown_BrendansHouse_2F_EventScript_292799 + setvar VAR_0x8004, MALE + goto PlayersHouse_2F_EventScript_WallClock end -LittlerootTown_MaysHouse_2F_EventScript_29278D:: @ 829278D +LittlerootTown_MaysHouse_2F_EventScript_WallClock:: @ 829278D lockall - setvar VAR_0x8004, 1 - goto LittlerootTown_MaysHouse_2F_EventScript_292799 + setvar VAR_0x8004, FEMALE + goto PlayersHouse_2F_EventScript_WallClock end -LittlerootTown_BrendansHouse_2F_EventScript_292799:: @ 8292799 -LittlerootTown_MaysHouse_2F_EventScript_292799:: @ 8292799 - goto_if_set FLAG_SET_WALL_CLOCK, LittlerootTown_BrendansHouse_2F_EventScript_29283F - msgbox LittlerootTown_BrendansHouse_2F_Text_1F8668, MSGBOX_DEFAULT - call LittlerootTown_BrendansHouse_2F_EventScript_292849 +PlayersHouse_2F_EventScript_WallClock:: @ 8292799 + goto_if_set FLAG_SET_WALL_CLOCK, PlayersHouse_2F_EventScript_CheckWallClock + msgbox PlayersHouse_2F_Text_ClockIsStopped, MSGBOX_DEFAULT + call PlayersHouse_2F_EventScript_SetWallClock delay 30 setvar VAR_LITTLEROOT_INTRO_STATE, 6 setflag FLAG_SET_WALL_CLOCK @@ -69,55 +65,55 @@ LittlerootTown_MaysHouse_2F_EventScript_292799:: @ 8292799 setflag FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2 checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_2927DF + call_if_eq PlayersHouse_2F_EventScript_MomComesUpstairsMale compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_29280F + call_if_eq PlayersHouse_2F_EventScript_MomComesUpstairsFemale playse SE_KAIDAN removeobject VAR_0x8008 releaseall end -LittlerootTown_BrendansHouse_2F_EventScript_2927DF:: @ 82927DF +PlayersHouse_2F_EventScript_MomComesUpstairsMale:: @ 82927DF setvar VAR_0x8008, 14 addobject VAR_0x8008 - applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292850 + applymovement VAR_0x8008, PlayersHouse_2F_Movement_MomEntersMale waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, MSGBOX_DEFAULT + msgbox PlayersHouse_2F_Text_HowDoYouLikeYourRoom, MSGBOX_DEFAULT closemessage - applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292857 + applymovement VAR_0x8008, PlayersHouse_2F_Movement_MomExitsMale waitmovement 0 return -LittlerootTown_BrendansHouse_2F_EventScript_29280F:: @ 829280F +PlayersHouse_2F_EventScript_MomComesUpstairsFemale:: @ 829280F setvar VAR_0x8008, 14 addobject VAR_0x8008 - applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_29285B + applymovement VAR_0x8008, PlayersHouse_2F_Movement_MomEntersFemale waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, MSGBOX_DEFAULT + msgbox PlayersHouse_2F_Text_HowDoYouLikeYourRoom, MSGBOX_DEFAULT closemessage - applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292862 + applymovement VAR_0x8008, PlayersHouse_2F_Movement_MomExitsFemale waitmovement 0 return -LittlerootTown_BrendansHouse_2F_EventScript_29283F:: @ 829283F - incrementgamestat 45 - fadescreen 1 +PlayersHouse_2F_EventScript_CheckWallClock:: @ 829283F + incrementgamestat GAME_STAT_CHECKED_CLOCK + fadescreen FADE_TO_BLACK special Special_ViewWallClock waitstate releaseall end -LittlerootTown_BrendansHouse_2F_EventScript_292849:: @ 8292849 - fadescreen 1 +PlayersHouse_2F_EventScript_SetWallClock:: @ 8292849 + fadescreen FADE_TO_BLACK special StartWallClock waitstate return -LittlerootTown_BrendansHouse_2F_Movement_292850: @ 8292850 +PlayersHouse_2F_Movement_MomEntersMale: @ 8292850 delay_8 walk_down walk_in_place_fastest_left @@ -126,13 +122,13 @@ LittlerootTown_BrendansHouse_2F_Movement_292850: @ 8292850 walk_left step_end -LittlerootTown_BrendansHouse_2F_Movement_292857: @ 8292857 +PlayersHouse_2F_Movement_MomExitsMale: @ 8292857 walk_right walk_up delay_8 step_end -LittlerootTown_BrendansHouse_2F_Movement_29285B: @ 829285B +PlayersHouse_2F_Movement_MomEntersFemale: @ 829285B delay_8 walk_down walk_in_place_fastest_right @@ -141,91 +137,88 @@ LittlerootTown_BrendansHouse_2F_Movement_29285B: @ 829285B walk_right step_end -LittlerootTown_BrendansHouse_2F_Movement_292862: @ 8292862 +PlayersHouse_2F_Movement_MomExitsFemale: @ 8292862 walk_left walk_up delay_8 step_end -LittlerootTown_BrendansHouse_1F_EventScript_292866:: @ 8292866 -LittlerootTown_MaysHouse_1F_EventScript_292866:: @ 8292866 +PlayersHouse_1F_EventScript_SetWatchedBroadcast:: @ 8292866 setvar VAR_LITTLEROOT_INTRO_STATE, 7 releaseall end -LittlerootTown_BrendansHouse_1F_EventScript_29286D:: @ 829286D - applymovement VAR_0x8005, Common_Movement_WalkInPlaceRight +PlayersHouse_1F_EventScript_PetalburgGymReportMale:: @ 829286D + applymovement VAR_0x8005, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - call LittlerootTown_BrendansHouse_1F_EventScript_29294B - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AE0 + call PlayersHouse_1F_EventScript_MomNoticeGymBroadcast + applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerApproachTVForGymMale waitmovement 0 playbgm MUS_INTER_V, 0 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BBC, MSGBOX_DEFAULT + msgbox PlayersHouse_1F_Text_MaybeDadWillBeOn, MSGBOX_DEFAULT closemessage - applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2929B7 + applymovement VAR_0x8005, PlayersHouse_1F_Movement_MomMakeRoomToSeeTVMale waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AE6 + applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerMoveToTVMale waitmovement 0 - call LittlerootTown_BrendansHouse_1F_EventScript_29296C - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + call PlayersHouse_1F_EventScript_WatchGymBroadcast + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BF1, MSGBOX_DEFAULT - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7C35, MSGBOX_DEFAULT + msgbox PlayersHouse_1F_Text_ItsOverWeMissedHim, MSGBOX_DEFAULT + msgbox PlayersHouse_1F_Text_GoIntroduceYourselfNextDoor, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_1, 1 - applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2929BD + applymovement VAR_0x8005, PlayersHouse_1F_Movement_MomReturnToSeatMale waitmovement 0 - goto LittlerootTown_BrendansHouse_1F_EventScript_292866 + goto PlayersHouse_1F_EventScript_SetWatchedBroadcast end -LittlerootTown_MaysHouse_1F_EventScript_2928DC:: @ 82928DC - applymovement VAR_0x8005, Common_Movement_WalkInPlaceLeft +PlayersHouse_1F_EventScript_PetalburgGymReportFemale:: @ 82928DC + applymovement VAR_0x8005, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 - call LittlerootTown_MaysHouse_1F_EventScript_29294B - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_292AE8 + call PlayersHouse_1F_EventScript_MomNoticeGymBroadcast + applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerApproachTVForGymFemale waitmovement 0 playbgm MUS_INTER_V, 0 - msgbox LittlerootTown_MaysHouse_1F_Text_1F7BBC, MSGBOX_DEFAULT + msgbox PlayersHouse_1F_Text_MaybeDadWillBeOn, MSGBOX_DEFAULT closemessage - applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2929BA + applymovement VAR_0x8005, PlayersHouse_1F_Movement_MomMakeRoomToSeeTVFemale waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_292AEE + applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerMoveToTVFemale waitmovement 0 - call LittlerootTown_MaysHouse_1F_EventScript_29296C - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + call PlayersHouse_1F_EventScript_WatchGymBroadcast + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox LittlerootTown_MaysHouse_1F_Text_1F7BF1, MSGBOX_DEFAULT - msgbox LittlerootTown_MaysHouse_1F_Text_1F7C35, MSGBOX_DEFAULT + msgbox PlayersHouse_1F_Text_ItsOverWeMissedHim, MSGBOX_DEFAULT + msgbox PlayersHouse_1F_Text_GoIntroduceYourselfNextDoor, MSGBOX_DEFAULT closemessage setvar VAR_TEMP_1, 1 - applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2929C1 + applymovement VAR_0x8005, PlayersHouse_1F_Movement_MomReturnToSeatFemale waitmovement 0 - goto LittlerootTown_MaysHouse_1F_EventScript_292866 + goto PlayersHouse_1F_EventScript_SetWatchedBroadcast end -LittlerootTown_BrendansHouse_1F_EventScript_29294B:: @ 829294B -LittlerootTown_MaysHouse_1F_EventScript_29294B:: @ 829294B +PlayersHouse_1F_EventScript_MomNoticeGymBroadcast:: @ 829294B playse SE_PIN applymovement VAR_0x8005, Common_Movement_ExclamationMark waitmovement 0 applymovement VAR_0x8005, Common_Movement_Delay48 waitmovement 0 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B96, MSGBOX_DEFAULT + msgbox PlayersHouse_1F_Text_OhComeQuickly, MSGBOX_DEFAULT closemessage return -LittlerootTown_BrendansHouse_1F_EventScript_29296C:: @ 829296C -LittlerootTown_MaysHouse_1F_EventScript_29296C:: @ 829296C - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp +PlayersHouse_1F_EventScript_WatchGymBroadcast:: @ 829296C + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EC6, MSGBOX_DEFAULT + msgbox PlayersHouse_1F_Text_ReportFromPetalburgGym, MSGBOX_DEFAULT fadedefaultbgm special TurnOffTVScreen setflag FLAG_SYS_TV_HOME delay 35 return -LittlerootTown_BrendansHouse_1F_Movement_292989: @ 8292989 +PlayersHouse_1F_Movement_MomApproachDadMale: @ 8292989 walk_up walk_right walk_right @@ -235,7 +228,7 @@ LittlerootTown_BrendansHouse_1F_Movement_292989: @ 8292989 walk_in_place_fastest_right step_end -LittlerootTown_BrendansHouse_1F_Movement_292991: @ 8292991 +PlayersHouse_1F_Movement_MomApproachDadFemale: @ 8292991 walk_up walk_left walk_left @@ -245,15 +238,15 @@ LittlerootTown_BrendansHouse_1F_Movement_292991: @ 8292991 walk_in_place_fastest_left step_end -LittlerootTown_BrendansHouse_1F_Movement_292999: @ 8292999 +PlayersHouse_1F_Movement_MomApproachPlayerMale: @ 8292999 walk_right step_end -LittlerootTown_BrendansHouse_1F_Movement_29299B: @ 829299B +PlayersHouse_1F_Movement_MomApproachPlayerFemale: @ 829299B walk_left step_end -LittlerootTown_BrendansHouse_1F_Movement_29299D: @ 829299D +PlayersHouse_1F_Movement_MomNoticesLatiBroadcastMale: @ 829299D walk_in_place_fastest_left delay_16 delay_16 @@ -264,7 +257,7 @@ LittlerootTown_BrendansHouse_1F_Movement_29299D: @ 829299D delay_16 step_end -LittlerootTown_BrendansHouse_1F_Movement_2929A6: @ 82929A6 +PlayersHouse_1F_Movement_MomNoticesLatiBroadcastFemale: @ 82929A6 walk_in_place_fastest_right delay_16 delay_16 @@ -275,70 +268,69 @@ LittlerootTown_BrendansHouse_1F_Movement_2929A6: @ 82929A6 delay_16 step_end -LittlerootTown_BrendansHouse_1F_Movement_2929AF: @ 82929AF +PlayersHouse_1F_Movement_MomApproachPlayerAfterTVMale: @ 82929AF walk_up walk_left walk_left step_end -LittlerootTown_BrendansHouse_1F_Movement_2929B3: @ 82929B3 +PlayersHouse_1F_Movement_MomApproachPlayerAfterTVFemale: @ 82929B3 walk_up walk_right walk_right step_end -LittlerootTown_BrendansHouse_1F_Movement_2929B7: @ 82929B7 +PlayersHouse_1F_Movement_MomMakeRoomToSeeTVMale: @ 82929B7 walk_left walk_in_place_fastest_right step_end -LittlerootTown_MaysHouse_1F_Movement_2929BA: @ 82929BA +PlayersHouse_1F_Movement_MomMakeRoomToSeeTVFemale: @ 82929BA walk_right walk_in_place_fastest_left step_end -LittlerootTown_BrendansHouse_1F_Movement_2929BD: @ 82929BD +PlayersHouse_1F_Movement_MomReturnToSeatMale: @ 82929BD walk_left walk_down walk_in_place_fastest_right step_end -LittlerootTown_MaysHouse_1F_Movement_2929C1: @ 82929C1 +PlayersHouse_1F_Movement_MomReturnToSeatFemale: @ 82929C1 walk_right walk_down walk_in_place_fastest_left step_end -LittlerootTown_BrendansHouse_1F_EventScript_2929C5:: @ 82929C5 -LittlerootTown_MaysHouse_1F_EventScript_2929C5:: @ 82929C5 +PlayersHouse_1F_EventScript_Mom:: @ 82929C5 lock faceplayer - compare VAR_LITTLEROOT_HOUSES_STATE, 4 - goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F - compare VAR_LITTLEROOT_HOUSES_STATE_2, 4 - goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F - goto_if_set FLAG_HAS_MATCH_CALL, LittlerootTown_BrendansHouse_1F_EventScript_292A19 - goto_if_set FLAG_RESCUED_BIRCH, LittlerootTown_BrendansHouse_1F_EventScript_292A86 + compare VAR_LITTLEROOT_HOUSES_STATE_MAY, 4 + goto_if_eq PlayersHouse_1F_EventScript_DontPushYourselfTooHard + compare VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 4 + goto_if_eq PlayersHouse_1F_EventScript_DontPushYourselfTooHard + goto_if_set FLAG_HAS_MATCH_CALL, PlayersHouse_1F_EventScript_TryRegisterMom + goto_if_set FLAG_RESCUED_BIRCH, PlayersHouse_1F_EventScript_MomHealsParty compare VAR_TEMP_1, 1 - goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292A94 + goto_if_eq PlayersHouse_1F_EventScript_SeeYouHoney compare VAR_LITTLEROOT_INTRO_STATE, 7 - goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292AB0 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A1C, MSGBOX_DEFAULT + goto_if_eq PlayersHouse_1F_EventScript_DidYouMeetProfBirch + msgbox PlayersHouse_1F_Text_IsntItNiceInHere, MSGBOX_DEFAULT release end -LittlerootTown_BrendansHouse_1F_EventScript_292A0F:: @ 8292A0F - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7DBE, MSGBOX_DEFAULT +PlayersHouse_1F_EventScript_DontPushYourselfTooHard:: @ 8292A0F + msgbox PlayersHouse_1F_Text_DontPushYourselfTooHard, MSGBOX_DEFAULT release end -LittlerootTown_BrendansHouse_1F_EventScript_292A19:: @ 8292A19 - goto_if_set FLAG_ENABLE_MOM_MATCH_CALL, LittlerootTown_BrendansHouse_1F_EventScript_292A43 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7E0E, MSGBOX_DEFAULT +PlayersHouse_1F_EventScript_TryRegisterMom:: @ 8292A19 + goto_if_set FLAG_ENABLE_MOM_MATCH_CALL, PlayersHouse_1F_EventScript_CheckGiveAmuletCoin + msgbox PlayersHouse_1F_Text_IsThatAPokenav, MSGBOX_DEFAULT closemessage delay 30 playfanfare MUS_ME_TORE_EYE - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7E89, MSGBOX_DEFAULT + msgbox PlayersHouse_1F_Text_RegisteredMom, MSGBOX_DEFAULT waitfanfare closemessage delay 30 @@ -346,67 +338,65 @@ LittlerootTown_BrendansHouse_1F_EventScript_292A19:: @ 8292A19 release end -LittlerootTown_BrendansHouse_1F_EventScript_292A43:: @ 8292A43 - goto_if_set FLAG_BADGE05_GET, LittlerootTown_BrendansHouse_1F_EventScript_292A51 - goto LittlerootTown_BrendansHouse_1F_EventScript_292A86 +PlayersHouse_1F_EventScript_CheckGiveAmuletCoin:: @ 8292A43 + goto_if_set FLAG_BADGE05_GET, PlayersHouse_1F_EventScript_TryGiveAmuletCoin + goto PlayersHouse_1F_EventScript_MomHealsParty -LittlerootTown_BrendansHouse_1F_EventScript_292A51:: @ 8292A51 - goto_if_set FLAG_MOM_SAYS_GOODBYE, LittlerootTown_BrendansHouse_1F_EventScript_292A86 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D73, MSGBOX_DEFAULT - giveitem_std ITEM_AMULET_COIN - compare VAR_RESULT, 0 +PlayersHouse_1F_EventScript_TryGiveAmuletCoin:: @ 8292A51 + goto_if_set FLAG_RECEIVED_AMULET_COIN, PlayersHouse_1F_EventScript_MomHealsParty + msgbox PlayersHouse_1F_Text_GotDadsBadgeHeresSomethingFromMom, MSGBOX_DEFAULT + giveitem ITEM_AMULET_COIN + compare VAR_RESULT, FALSE goto_if_eq Common_EventScript_ShowBagIsFull - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7DBE, MSGBOX_DEFAULT - setflag FLAG_MOM_SAYS_GOODBYE + msgbox PlayersHouse_1F_Text_DontPushYourselfTooHard, MSGBOX_DEFAULT + setflag FLAG_RECEIVED_AMULET_COIN release end -LittlerootTown_BrendansHouse_1F_EventScript_292A86:: @ 8292A86 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D08, MSGBOX_DEFAULT - goto LittlerootTown_BrendansHouse_1F_EventScript_292A9E +PlayersHouse_1F_EventScript_MomHealsParty:: @ 8292A86 + msgbox PlayersHouse_1F_Text_YouShouldRestABit, MSGBOX_DEFAULT + goto PlayersHouse_1F_EventScript_HealParty end -LittlerootTown_BrendansHouse_1F_EventScript_292A94:: @ 8292A94 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7CC3, MSGBOX_DEFAULT +PlayersHouse_1F_EventScript_SeeYouHoney:: @ 8292A94 + msgbox PlayersHouse_1F_Text_SeeYouHoney, MSGBOX_DEFAULT release end -LittlerootTown_BrendansHouse_1F_EventScript_292A9E:: @ 8292A9E +PlayersHouse_1F_EventScript_HealParty:: @ 8292A9E closemessage call Common_EventScript_OutOfCenterPartyHeal - incrementgamestat 16 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D5C, MSGBOX_DEFAULT + incrementgamestat GAME_STAT_RESTED_AT_HOME + msgbox PlayersHouse_1F_Text_TakeCareHoney, MSGBOX_DEFAULT release end -LittlerootTown_BrendansHouse_1F_EventScript_292AB0:: @ 8292AB0 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7CD8, MSGBOX_DEFAULT +PlayersHouse_1F_EventScript_DidYouMeetProfBirch:: @ 8292AB0 + msgbox PlayersHouse_1F_Text_DidYouMeetProfBirch, MSGBOX_DEFAULT release end -LittlerootTown_BrendansHouse_1F_EventScript_292ABA:: @ 8292ABA -LittlerootTown_MaysHouse_1F_EventScript_292ABA:: @ 8292ABA +PlayersHouse_1F_EventScript_Vigoroth1:: @ 8292ABA lock faceplayer waitse playmoncry SPECIES_VIGOROTH, 0 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EA8, MSGBOX_DEFAULT + msgbox PlayersHouse_1F_Text_Vigoroth1, MSGBOX_DEFAULT waitmoncry release end -LittlerootTown_BrendansHouse_1F_EventScript_292ACD:: @ 8292ACD -LittlerootTown_MaysHouse_1F_EventScript_292ACD:: @ 8292ACD +PlayersHouse_1F_EventScript_Vigoroth2:: @ 8292ACD lock faceplayer waitse playmoncry SPECIES_VIGOROTH, 0 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EB3, MSGBOX_DEFAULT + msgbox PlayersHouse_1F_Text_Vigoroth2, MSGBOX_DEFAULT waitmoncry release end -LittlerootTown_BrendansHouse_1F_Movement_292AE0: @ 8292AE0 +PlayersHouse_1F_Movement_PlayerApproachTVForGymMale: @ 8292AE0 walk_down walk_down walk_left @@ -414,11 +404,11 @@ LittlerootTown_BrendansHouse_1F_Movement_292AE0: @ 8292AE0 walk_left step_end -LittlerootTown_BrendansHouse_1F_Movement_292AE6: @ 8292AE6 +PlayersHouse_1F_Movement_PlayerMoveToTVMale: @ 8292AE6 walk_left step_end -LittlerootTown_MaysHouse_1F_Movement_292AE8: @ 8292AE8 +PlayersHouse_1F_Movement_PlayerApproachTVForGymFemale: @ 8292AE8 walk_down walk_down walk_right @@ -426,26 +416,25 @@ LittlerootTown_MaysHouse_1F_Movement_292AE8: @ 8292AE8 walk_right step_end -LittlerootTown_MaysHouse_1F_Movement_292AEE: @ 8292AEE +PlayersHouse_1F_Movement_PlayerMoveToTVFemale: @ 8292AEE walk_right step_end -LittlerootTown_BrendansHouse_1F_Movement_292AF0: @ 8292AF0 +PlayersHouse_1F_Movement_MovePlayerAwayFromDoor: @ 8292AF0 walk_up step_end -LittlerootTown_BrendansHouse_1F_EventScript_292AF2:: @ 8292AF2 -LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2 +PlayersHouse_1F_EventScript_GetSSTicketAndSeeLatiTV:: @ 8292AF2 lockall checkplayergender compare VAR_RESULT, MALE - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292C76 + call_if_eq PlayersHouse_1F_EventScript_SetUpObjectEventVarsMale compare VAR_RESULT, FEMALE - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292C86 - compare VAR_0x8008, 0 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D08 - compare VAR_0x8008, 1 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D13 + call_if_eq PlayersHouse_1F_EventScript_SetUpObjectEventVarsFemale + compare VAR_0x8008, MALE + call_if_eq PlayersHouse_1F_EventScript_PlayerEnterRoomMale + compare VAR_0x8008, FEMALE + call_if_eq PlayersHouse_1F_EventScript_PlayerEnterRoomFemale applymovement VAR_0x8009, Common_Movement_FacePlayer waitmovement 0 playse SE_PIN @@ -454,220 +443,220 @@ LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2 applymovement VAR_0x8009, Common_Movement_Delay48 waitmovement 0 delay 20 - compare VAR_0x8008, 0 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292C96 - compare VAR_0x8008, 1 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CA1 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F800E, MSGBOX_DEFAULT - giveitem_std ITEM_SS_TICKET - msgbox LittlerootTown_BrendansHouse_1F_Text_1F80FE, MSGBOX_DEFAULT + compare VAR_0x8008, MALE + call_if_eq PlayersHouse_1F_EventScript_DadApproachPlayerMale + compare VAR_0x8008, FEMALE + call_if_eq PlayersHouse_1F_EventScript_DadApproachPlayerFemale + msgbox PlayersHouse_1F_Text_TicketFromBrineyCameForYou, MSGBOX_DEFAULT + giveitem ITEM_SS_TICKET + msgbox PlayersHouse_1F_Text_PortsInSlateportLilycove, MSGBOX_DEFAULT closemessage delay 20 - compare VAR_0x8008, 0 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CAC - compare VAR_0x8008, 1 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CC1 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F815B, MSGBOX_DEFAULT + compare VAR_0x8008, MALE + call_if_eq PlayersHouse_1F_EventScript_MomApproachDadMale + compare VAR_0x8008, FEMALE + call_if_eq PlayersHouse_1F_EventScript_MomApproachDadFemale + msgbox PlayersHouse_1F_Text_BetterGetBackToGym, MSGBOX_DEFAULT closemessage - compare VAR_0x8008, 0 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CD6 - compare VAR_0x8008, 1 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CEF + compare VAR_0x8008, MALE + call_if_eq PlayersHouse_1F_EventScript_DadExitsMale + compare VAR_0x8008, FEMALE + call_if_eq PlayersHouse_1F_EventScript_DadExitsFemale playse SE_DOOR removeobject VAR_0x8009 setflag FLAG_RECEIVED_SS_TICKET delay 30 - compare VAR_0x8008, 0 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D48 - compare VAR_0x8008, 1 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D5D + compare VAR_0x8008, MALE + call_if_eq PlayersHouse_1F_EventScript_MomApproachPlayerMale + compare VAR_0x8008, FEMALE + call_if_eq PlayersHouse_1F_EventScript_MomApproachPlayerFemale delay 20 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F81B9, MSGBOX_DEFAULT + msgbox PlayersHouse_1F_Text_DadShouldStayLonger, MSGBOX_DEFAULT closemessage setflag FLAG_SYS_TV_LATIAS_LATIOS special TurnOnTVScreen delay 60 - compare VAR_0x8008, 0 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D72 - compare VAR_0x8008, 1 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D7D - msgbox LittlerootTown_BrendansHouse_1F_Text_1F824B, MSGBOX_DEFAULT + compare VAR_0x8008, MALE + call_if_eq PlayersHouse_1F_EventScript_MomNoticesLatiBroadcastMale + compare VAR_0x8008, FEMALE + call_if_eq PlayersHouse_1F_EventScript_MomNoticesLatiBroadcastFemale + msgbox PlayersHouse_1F_Text_IsThatABreakingStory, MSGBOX_DEFAULT closemessage - compare VAR_0x8008, 0 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D1E - compare VAR_0x8008, 1 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D33 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F826F, MSGBOX_DEFAULT + compare VAR_0x8008, MALE + call_if_eq PlayersHouse_1F_EventScript_PlayerApproachTVForLatiMale + compare VAR_0x8008, FEMALE + call_if_eq PlayersHouse_1F_EventScript_PlayerApproachTVForLatiFemale + msgbox PlayersHouse_1F_Text_LatiEmergencyNewsFlash, MSGBOX_DEFAULT closemessage clearflag FLAG_SYS_TV_LATIAS_LATIOS setflag FLAG_LATIOS_OR_LATIAS_ROAMING special TurnOffTVScreen - compare VAR_0x8008, 0 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D88 - compare VAR_0x8008, 1 - call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D9D - msgbox LittlerootTown_BrendansHouse_1F_Text_1F8351, MSGBOX_DEFAULT - multichoice 22, 8, 108, 1 + compare VAR_0x8008, MALE + call_if_eq PlayersHouse_1F_EventScript_MomApproachPlayerAfterTVMale + compare VAR_0x8008, FEMALE + call_if_eq PlayersHouse_1F_EventScript_MomApproachPlayerAfterTVFemale + msgbox PlayersHouse_1F_Text_WhatColorDidTheySay, MSGBOX_DEFAULT + multichoice 22, 8, MULTI_TV_LATI, 1 copyvar VAR_0x8004, VAR_RESULT special InitRoamer copyvar VAR_ROAMER_POKEMON, VAR_RESULT - msgbox LittlerootTown_BrendansHouse_1F_Text_1F83A1, MSGBOX_DEFAULT + msgbox PlayersHouse_1F_Text_StillUnknownPokemon, MSGBOX_DEFAULT closemessage - setvar VAR_LITTLEROOT_HOUSES_STATE, 4 - setvar VAR_LITTLEROOT_HOUSES_STATE_2, 4 + setvar VAR_LITTLEROOT_HOUSES_STATE_MAY, 4 + setvar VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 4 releaseall end @ Never called. -LittlerootTown_BrendansHouse_1F_EventScript_292C72:: @ 8292C72 +PlayersHouse_1F_EventScript_AirLatiBroadcast:: @ 8292C72 setflag FLAG_SYS_TV_LATIAS_LATIOS return -LittlerootTown_BrendansHouse_1F_EventScript_292C76:: @ 8292C76 - setvar VAR_0x8008, 0 - setvar VAR_0x8009, 5 - setvar VAR_0x800A, 1 +PlayersHouse_1F_EventScript_SetUpObjectEventVarsMale:: @ 8292C76 + setvar VAR_0x8008, MALE + setvar VAR_0x8009, 5 @ Dad object event ID + setvar VAR_0x800A, 1 @ Mom object event ID return -LittlerootTown_BrendansHouse_1F_EventScript_292C86:: @ 8292C86 - setvar VAR_0x8008, 1 - setvar VAR_0x8009, 5 - setvar VAR_0x800A, 1 +PlayersHouse_1F_EventScript_SetUpObjectEventVarsFemale:: @ 8292C86 + setvar VAR_0x8008, FEMALE + setvar VAR_0x8009, 5 @ Dad object event ID + setvar VAR_0x800A, 1 @ Mom object event ID return -LittlerootTown_BrendansHouse_1F_EventScript_292C96:: @ 8292C96 - applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DB2 +PlayersHouse_1F_EventScript_DadApproachPlayerMale:: @ 8292C96 + applymovement VAR_0x8009, PlayersHouse_1F_Movement_DadApproachPlayerMale waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_292CA1:: @ 8292CA1 - applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DB5 +PlayersHouse_1F_EventScript_DadApproachPlayerFemale:: @ 8292CA1 + applymovement VAR_0x8009, PlayersHouse_1F_Movement_DadApproachPlayerFemale waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_292CAC:: @ 8292CAC - applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292989 +PlayersHouse_1F_EventScript_MomApproachDadMale:: @ 8292CAC + applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomApproachDadMale waitmovement 0 - applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DB8 + applymovement VAR_0x8009, PlayersHouse_1F_Movement_DadFaceMomMale waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_292CC1:: @ 8292CC1 - applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292991 +PlayersHouse_1F_EventScript_MomApproachDadFemale:: @ 8292CC1 + applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomApproachDadFemale waitmovement 0 - applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DBA + applymovement VAR_0x8009, PlayersHouse_1F_Movement_DadFaceMomFemale waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_292CD6:: @ 8292CD6 - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DCC - applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292DCC - applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DBC +PlayersHouse_1F_EventScript_DadExitsMale:: @ 8292CD6 + applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_MomAndPlayerWatchDadExit + applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomAndPlayerWatchDadExit + applymovement VAR_0x8009, PlayersHouse_1F_Movement_DadExitsMale waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_292CEF:: @ 8292CEF - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DCC - applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292DCC - applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DC1 +PlayersHouse_1F_EventScript_DadExitsFemale:: @ 8292CEF + applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_MomAndPlayerWatchDadExit + applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomAndPlayerWatchDadExit + applymovement VAR_0x8009, PlayersHouse_1F_Movement_DadExitsFemale waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_292D08:: @ 8292D08 - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DC6 +PlayersHouse_1F_EventScript_PlayerEnterRoomMale:: @ 8292D08 + applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerEnterRoomMale waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_292D13:: @ 8292D13 - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DD1 +PlayersHouse_1F_EventScript_PlayerEnterRoomFemale:: @ 8292D13 + applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerEnterRoomFemale waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_292D1E:: @ 8292D1E - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DD7 +PlayersHouse_1F_EventScript_PlayerApproachTVForLatiMale:: @ 8292D1E + applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerApproachTVForLatiMale waitmovement 0 - applymovement VAR_0x800A, Common_Movement_WalkInPlaceLeft + applymovement VAR_0x800A, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_292D33:: @ 8292D33 - applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DDE +PlayersHouse_1F_EventScript_PlayerApproachTVForLatiFemale:: @ 8292D33 + applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerApproachTVForLatiFemale waitmovement 0 - applymovement VAR_0x800A, Common_Movement_WalkInPlaceRight + applymovement VAR_0x800A, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_292D48:: @ 8292D48 - applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292999 +PlayersHouse_1F_EventScript_MomApproachPlayerMale:: @ 8292D48 + applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomApproachPlayerMale waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_292D5D:: @ 8292D5D - applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_29299B +PlayersHouse_1F_EventScript_MomApproachPlayerFemale:: @ 8292D5D + applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomApproachPlayerFemale waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_292D72:: @ 8292D72 - applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_29299D +PlayersHouse_1F_EventScript_MomNoticesLatiBroadcastMale:: @ 8292D72 + applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomNoticesLatiBroadcastMale waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_292D7D:: @ 8292D7D - applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929A6 +PlayersHouse_1F_EventScript_MomNoticesLatiBroadcastFemale:: @ 8292D7D + applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomNoticesLatiBroadcastFemale waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_292D88:: @ 8292D88 - applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929AF +PlayersHouse_1F_EventScript_MomApproachPlayerAfterTVMale:: @ 8292D88 + applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomApproachPlayerAfterTVMale waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight waitmovement 0 return -LittlerootTown_BrendansHouse_1F_EventScript_292D9D:: @ 8292D9D - applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929B3 +PlayersHouse_1F_EventScript_MomApproachPlayerAfterTVFemale:: @ 8292D9D + applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomApproachPlayerAfterTVFemale waitmovement 0 - applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft + applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft waitmovement 0 return -LittlerootTown_BrendansHouse_1F_Movement_292DB2: @ 8292DB2 +PlayersHouse_1F_Movement_DadApproachPlayerMale: @ 8292DB2 walk_right walk_right step_end -LittlerootTown_BrendansHouse_1F_Movement_292DB5: @ 8292DB5 +PlayersHouse_1F_Movement_DadApproachPlayerFemale: @ 8292DB5 walk_left walk_left step_end -LittlerootTown_BrendansHouse_1F_Movement_292DB8: @ 8292DB8 +PlayersHouse_1F_Movement_DadFaceMomMale: @ 8292DB8 face_left step_end -LittlerootTown_BrendansHouse_1F_Movement_292DBA: @ 8292DBA +PlayersHouse_1F_Movement_DadFaceMomFemale: @ 8292DBA face_right step_end -LittlerootTown_BrendansHouse_1F_Movement_292DBC: @ 8292DBC +PlayersHouse_1F_Movement_DadExitsMale: @ 8292DBC walk_down walk_right walk_down delay_8 step_end -LittlerootTown_BrendansHouse_1F_Movement_292DC1: @ 8292DC1 +PlayersHouse_1F_Movement_DadExitsFemale: @ 8292DC1 walk_down walk_left walk_down delay_8 step_end -LittlerootTown_BrendansHouse_1F_Movement_292DC6: @ 8292DC6 +PlayersHouse_1F_Movement_PlayerEnterRoomMale: @ 8292DC6 delay_16 walk_down walk_down @@ -675,14 +664,14 @@ LittlerootTown_BrendansHouse_1F_Movement_292DC6: @ 8292DC6 walk_in_place_fastest_left step_end -LittlerootTown_BrendansHouse_1F_Movement_292DCC: @ 8292DCC +PlayersHouse_1F_Movement_MomAndPlayerWatchDadExit: @ 8292DCC delay_8 delay_16 delay_16 walk_in_place_fastest_down step_end -LittlerootTown_BrendansHouse_1F_Movement_292DD1: @ 8292DD1 +PlayersHouse_1F_Movement_PlayerEnterRoomFemale: @ 8292DD1 delay_16 walk_down walk_down @@ -690,7 +679,7 @@ LittlerootTown_BrendansHouse_1F_Movement_292DD1: @ 8292DD1 walk_in_place_fastest_right step_end -LittlerootTown_BrendansHouse_1F_Movement_292DD7: @ 8292DD7 +PlayersHouse_1F_Movement_PlayerApproachTVForLatiMale: @ 8292DD7 walk_up walk_left walk_left @@ -699,7 +688,7 @@ LittlerootTown_BrendansHouse_1F_Movement_292DD7: @ 8292DD7 walk_in_place_fastest_up step_end -LittlerootTown_BrendansHouse_1F_Movement_292DDE: @ 8292DDE +PlayersHouse_1F_Movement_PlayerApproachTVForLatiFemale: @ 8292DDE walk_up walk_right walk_right @@ -707,3 +696,7 @@ LittlerootTown_BrendansHouse_1F_Movement_292DDE: @ 8292DDE walk_right walk_in_place_fastest_up step_end + +EventScript_RunningShoesManual:: @ 8292DE5 + msgbox PlayersHouse_1F_Text_RunningShoesManual, MSGBOX_SIGN + end diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc deleted file mode 100644 index a26ecb4c91..0000000000 --- a/data/scripts/pokeblocks.inc +++ /dev/null @@ -1,759 +0,0 @@ -@ The scripts there concern pokeblock events in LilyCove City's Contest Lobby - -@ 'PblockX' number of offline opponents -@ 'Ask' talking with a blender machine -@ 'Yes' agreeing to blend -@ 'No' refusing to blend -@ 'KnowHow' asking if the player knows the blending process -@ 'Explain' explaining the blender process -@ 'Start' start blending -@ 'TalkX' talking with a person next to a blender machine -@ 'NoBerries' can't blend cause they have no berries -@ 'FullPokeblock' can't blend cause full pokeblock case -@ 'NoPokeblock' can't blend cause they have no pokeblock case - -Text_Pblock1_Ask: @ 8292DEE - .string "Oh? Did you want to make some {POKEBLOCK}S\n" - .string "with this old-timer?$" - -Text_Pblock1_Yes: @ 8292E28 - .string "Excellent!$" - -Text_Pblock1_No: @ 8292E33 - .string "Oh…\n" - .string "You've made this old-timer sad…$" - -Text_Pblock1_KnowHow: @ 8292E57 - .string "Do you know how to make a {POKEBLOCK}?$" - -Text_Pblock1_Start: @ 8292E78 - .string "Let's get started, then!\p" - .string "Let's BERRY BLENDER!$" - -Text_Pblock1_Explain: @ 8292EA6 - .string "Okay, a little explanation, then.\p" - .string "Oh, don't worry, it's quite simple.\p" - .string "When the BLENDER's arrow comes to\n" - .string "your marker, just press the A Button.\p" - .string "That's all you have to do.\n" - .string "You'll see how easy it is when you try.$" - -Text_Pblock1_NoBerries: @ 8292F77 - .string "Oh?\n" - .string "You don't have any BERRIES?\p" - .string "If you don't have any BERRIES,\n" - .string "you can't make any {POKEBLOCK}S.$" - -LilycoveCity_ContestLobby_Text_292FD1: @ 8292FD1 - .string "Well, that won't do at all now, will it?\p" - .string "If you don't mind leftovers, you can\n" - .string "have one of my BERRIES.\p" - .string "That way, we could make some {POKEBLOCK}S\n" - .string "together using the BERRY BLENDER.$" - -LilycoveCity_ContestLobby_Text_29307D: @ 829307D - .string "If I had some BERRIES left over,\n" - .string "I'd gladly give you one…\p" - .string "But, I don't have any to spare today.\n" - .string "We'll have to do this another time.$" - -Text_Pblock1_FullPokeblock: @ 8293101 - .string "But your {POKEBLOCK} CASE is full.\p" - .string "You should use some {POKEBLOCK}S before\n" - .string "you come see me again.$" - -Text_Pblock1_NoPokeblock: @ 8293157 - .string "But you don't have a {POKEBLOCK} CASE.\p" - .string "You should get a {POKEBLOCK} CASE and then\n" - .string "come see me.$" - -LilycoveCity_ContestLobby_Text_2931AA: @ 82931AA - .string "Let's get blending already!$" - -LilycoveCity_ContestLobby_Text_2931C6: @ 82931C6 - .string "I wonder what kind of {POKEBLOCK} I'll get?\n" - .string "This is so exciting!$" - -LilycoveCity_ContestLobby_Text_293201: @ 8293201 - .string "Hi, there! Did you want to blend some\n" - .string "{POKEBLOCK}S with us?$" - -LilycoveCity_ContestLobby_Text_293237: @ 8293237 - .string "Okay!$" - -LilycoveCity_ContestLobby_Text_29323D: @ 829323D - .string "That's too bad…\p" - .string "But we'll always be around whenever\n" - .string "you get the urge to blend!$" - -LilycoveCity_ContestLobby_Text_29328C: @ 829328C - .string "Of course, you do know how to\n" - .string "blend {POKEBLOCK}S, don't you?$" - -LilycoveCity_ContestLobby_Text_2932C3: @ 82932C3 - .string "Let's get started, then!\p" - .string "Let's BERRY BLENDER!$" - -LilycoveCity_ContestLobby_Text_2932F1: @ 82932F1 - .string "Okay!\n" - .string "Let me explain it to you!\p" - .string "When the spinning BLENDER's arrow\n" - .string "reaches your marker, just press\l" - .string "the A Button.\p" - .string "That's all it takes.\n" - .string "Pretty easy, don't you think?$" - -LilycoveCity_ContestLobby_Text_293394: @ 8293394 - .string "Oh, but wait a second here…\n" - .string "You don't have any BERRIES.\p" - .string "You can't make any {POKEBLOCK}S without\n" - .string "BERRIES…\p" - .string "We'll always be around whenever you\n" - .string "get hold of some BERRIES to blend.$" - -LilycoveCity_ContestLobby_Text_29343E: @ 829343E - .string "Oh, but wait a second here…\n" - .string "Your {POKEBLOCK} CASE is full.\p" - .string "You should use some {POKEBLOCK}S and\n" - .string "then come back.$" - -LilycoveCity_ContestLobby_Text_2934A2: @ 82934A2 - .string "Oh, but wait a second here…\n" - .string "You don't have a {POKEBLOCK} CASE.\p" - .string "You should get a {POKEBLOCK} CASE and\n" - .string "then come back.$" - -LilycoveCity_ContestLobby_Text_29350B: @ 829350B - .string "Oh, hello! Did you want to make some\n" - .string "{POKEBLOCK}S with our little group?$" - -LilycoveCity_ContestLobby_Text_29354E: @ 829354E - .string "Oh, dear!$" - -LilycoveCity_ContestLobby_Text_293558: @ 8293558 - .string "Oh, dear me…\p" - .string "You've left us in shock!$" - -LilycoveCity_ContestLobby_Text_29357E: @ 829357E - .string "Naturally, you know how to make\n" - .string "{POKEBLOCK}S, don't you?$" - -LilycoveCity_ContestLobby_Text_2935B1: @ 82935B1 - .string "Okay, dear!\n" - .string "Let's get started!\p" - .string "Let's BERRY BLENDER!$" - -LilycoveCity_ContestLobby_Text_2935E5: @ 82935E5 - .string "Oh, dear!\p" - .string "Then, I'll explain it to you nicely.\p" - .string "When the BLENDER's arrow spins to\n" - .string "your marker, press the A Button.\p" - .string "That's all it takes.\n" - .string "Isn't it simple?$" - -LilycoveCity_ContestLobby_Text_29367D: @ 829367D - .string "You don't have any BERRIES,\n" - .string "do you?\p" - .string "If you don't have any BERRIES,\n" - .string "you can't make any {POKEBLOCK}S.\p" - .string "We'll always be making {POKEBLOCK}S here,\n" - .string "so let's make some together when\l" - .string "you get a BERRY or two.$" - -LilycoveCity_ContestLobby_Text_293738: @ 8293738 - .string "Your {POKEBLOCK} CASE is full,\n" - .string "it looks like.\p" - .string "You should use some {POKEBLOCK}S up\n" - .string "and then come back.$" - -LilycoveCity_ContestLobby_Text_293792: @ 8293792 - .string "You haven't gotten a {POKEBLOCK} CASE\n" - .string "yet, it looks like.\p" - .string "You need to get a {POKEBLOCK} CASE before\n" - .string "you come back.$" - -LilycoveCity_ContestLobby_Text_2937F9: @ 82937F9 - .string "Okay! Today's going to be the day that\n" - .string "I set a new BLENDER speed record!$" - -LilycoveCity_ContestLobby_Text_293842: @ 8293842 - .string "Oh, dear!\n" - .string "You look as if you're good at blending.\l" - .string "Would you like to join us?$" - -LilycoveCity_ContestLobby_Text_29388F: @ 829388F - .string "I'm going to make delicious {POKEBLOCK}S\n" - .string "and make my POKéMON cuter.$" - -Text_PblockLink_Ask: @ 82938CD - .string "{POKEBLOCK}S will be made with your friends \n" - .string "from BERRIES in the BERRY BLENDER.\p" - .string "Is it okay to save the game before\n" - .string "linking with your friends?$" - -Text_PblockLink_Searching: @ 8293955 - .string "Searching for your friends…\n" - .string "… … B Button: Cancel$" - -Text_PblockLink_1Arrived: @ 8293986 - .string "{STR_VAR_1} arrived.$" - -Text_PblockLink_2Arrived: @ 8293992 - .string "{STR_VAR_1} and {STR_VAR_2} arrived.$" - -Text_PblockLink_3Arrived: @ 82939A5 - .string "{STR_VAR_1}, {STR_VAR_2}, and\n" - .string "{STR_VAR_3} arrived.$" - -Text_PblockLink_NoBerries: @ 82939BD - .string "You have no BERRIES.\n" - .string "The BERRY BLENDER can't be used.$" - -Text_PblockLink_FullPokeblock: @ 82939F3 - .string "Your {POKEBLOCK} CASE is full.\n" - .string "The BERRY BLENDER can't be used.$" - -Text_PblockLink_NoPokeblock: @ 8293A2D - .string "You don't have a {POKEBLOCK} CASE.\n" - .string "The BERRY BLENDER can't be used.$" - -Text_Pblock1_Talk_0: @ 8293A6B - .string "I love making {POKEBLOCK}S.\p" - .string "I always have some BERRIES with me.$" - -Text_Pblock1_Talk_1: @ 8293AA5 - .string "If you'd like, we could make some\n" - .string "{POKEBLOCK}S together using the\l" - .string "BERRY BLENDER.$" - -LilycoveCity_ContestLobby_Text_293AF0: @ 8293AF0 - .string "Oh?\n" - .string "You don't have any BERRIES?\p" - .string "Well, that won't do at all now, will it?\p" - .string "If you don't mind leftovers, you can\n" - .string "have one of my BERRIES.$" - -LilycoveCity_ContestLobby_Text_293B76: @ 8293B76 - .string "We'll use it to make {POKEBLOCK}S together\n" - .string "using the BERRY BLENDER.$" - -LilycoveCity_ContestLobby_Text_293BB4: @ 8293BB4 - .string "Oh?\n" - .string "You don't have any BERRIES?\p" - .string "If I had some left over, I'd gladly\n" - .string "give you one…\p" - .string "But, I don't have any to spare today.\n" - .string "Sorry about that.$" - -EventScript_Pblock1_Ask:: @ 8293C3E - lockall - goto_if_unset FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS, LilycoveCity_ContestLobby_EventScript_293EFB - setvar VAR_0x8009, 1 - applymovement 16, LilycoveCity_ContestLobby_Movement_294053 - waitmovement 0 - msgbox Text_Pblock1_Ask, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq EventScript_Pblock1_Yes - goto EventScript_Pblock1_No - end - -EventScript_Pblock1_No: @ 8293C70 - msgbox Text_Pblock1_No, MSGBOX_DEFAULT - releaseall - end - -EventScript_Pblock1_NoBerries: @ 8293C7A - msgbox Text_Pblock1_NoBerries, MSGBOX_DEFAULT - dotimebasedevents - goto_if_set FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY, LilycoveCity_ContestLobby_EventScript_293C92 - goto LilycoveCity_ContestLobby_EventScript_293C9C - end - -LilycoveCity_ContestLobby_EventScript_293C92: @ 8293C92 - msgbox LilycoveCity_ContestLobby_Text_29307D, MSGBOX_DEFAULT - releaseall - end - -LilycoveCity_ContestLobby_EventScript_293C9C: @ 8293C9C - msgbox LilycoveCity_ContestLobby_Text_292FD1, MSGBOX_DEFAULT - giveitem_std ITEM_PECHA_BERRY - setflag FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY - goto EventScript_Pblock1_KnowHow - end - -EventScript_Pblock1_KnowHow: @ 8293CB9 - msgbox Text_Pblock1_KnowHow, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq EventScript_Pblock1_Start - goto EventScript_Pblock1_Explain - end - -EventScript_Pblock1_Start: @ 8293CD2 - msgbox Text_Pblock1_Start, MSGBOX_DEFAULT - goto EventScript_StartBlending - end - -EventScript_Pblock1_Explain: @ 8293CE0 - msgbox Text_Pblock1_Explain, MSGBOX_DEFAULT - goto EventScript_Pblock1_Start - end - -EventScript_Pblock1_Yes: @ 8293CEE - checkitem ITEM_POKEBLOCK_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq EventScript_Pblock1_NoPokeblock - specialvar VAR_RESULT, GetFirstFreePokeblockSlot - compare VAR_RESULT, 65535 - goto_if_eq EventScript_Pblock1_FullPokeblock - specialvar VAR_RESULT, PlayerHasBerries - compare VAR_RESULT, 0 - goto_if_eq EventScript_Pblock1_NoBerries - msgbox Text_Pblock1_Yes, MSGBOX_DEFAULT - goto EventScript_Pblock1_KnowHow - end - -EventScript_StartBlending: @ 8293D2C - copyvar VAR_0x8004, VAR_0x8009 - fadescreen 1 - special DoBerryBlending - waitstate - releaseall - end - -EventScript_Pblock1_FullPokeblock: @ 8293D39 - msgbox Text_Pblock1_FullPokeblock, MSGBOX_DEFAULT - releaseall - end - -EventScript_Pblock1_NoPokeblock: @ 8293D43 - msgbox Text_Pblock1_NoPokeblock, MSGBOX_DEFAULT - releaseall - end - -LilycoveCity_ContestLobby_EventScript_293D4D:: @ 8293D4D - lockall - setvar VAR_0x8009, 2 - applymovement 10, Common_Movement_FaceOriginalDirection - applymovement 3, LilycoveCity_ContestLobby_Movement_294053 - waitmovement 0 - msgbox LilycoveCity_ContestLobby_Text_293201, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_293DC6 - goto LilycoveCity_ContestLobby_EventScript_293D7D - end - -LilycoveCity_ContestLobby_EventScript_293D7D: @ 8293D7D - msgbox LilycoveCity_ContestLobby_Text_29323D, MSGBOX_DEFAULT - releaseall - end - -LilycoveCity_ContestLobby_EventScript_293D87: @ 8293D87 - msgbox LilycoveCity_ContestLobby_Text_293394, MSGBOX_DEFAULT - release - end - -LilycoveCity_ContestLobby_EventScript_293D91: @ 8293D91 - msgbox LilycoveCity_ContestLobby_Text_29328C, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_293DAA - goto LilycoveCity_ContestLobby_EventScript_293DB8 - end - -LilycoveCity_ContestLobby_EventScript_293DAA: @ 8293DAA - msgbox LilycoveCity_ContestLobby_Text_2932C3, MSGBOX_DEFAULT - goto EventScript_StartBlending - end - -LilycoveCity_ContestLobby_EventScript_293DB8: @ 8293DB8 - msgbox LilycoveCity_ContestLobby_Text_2932F1, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_293DAA - end - -LilycoveCity_ContestLobby_EventScript_293DC6: @ 8293DC6 - specialvar VAR_RESULT, PlayerHasBerries - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_293D87 - checkitem ITEM_POKEBLOCK_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_293E14 - msgbox LilycoveCity_ContestLobby_Text_293237, MSGBOX_DEFAULT - specialvar VAR_RESULT, GetFirstFreePokeblockSlot - compare VAR_RESULT, 65535 - goto_if_ne LilycoveCity_ContestLobby_EventScript_293D91 - compare VAR_RESULT, 65535 - goto_if_eq LilycoveCity_ContestLobby_EventScript_293E0A - end - -LilycoveCity_ContestLobby_EventScript_293E0A: @ 8293E0A - msgbox LilycoveCity_ContestLobby_Text_29343E, MSGBOX_DEFAULT - releaseall - end - -LilycoveCity_ContestLobby_EventScript_293E14: @ 8293E14 - msgbox LilycoveCity_ContestLobby_Text_2934A2, MSGBOX_DEFAULT - releaseall - end - -LilycoveCity_ContestLobby_EventScript_293E1E:: @ 8293E1E - lockall - setvar VAR_0x8008, 15 - setvar VAR_0x8009, 3 - applymovement 9, Common_Movement_FaceOriginalDirection - applymovement 17, Common_Movement_FaceOriginalDirection - applymovement VAR_0x8008, LilycoveCity_ContestLobby_Movement_294053 - waitmovement 0 - msgbox LilycoveCity_ContestLobby_Text_293842, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_293EA3 - goto LilycoveCity_ContestLobby_EventScript_293E5A - end - -LilycoveCity_ContestLobby_EventScript_293E5A: @ 8293E5A - msgbox LilycoveCity_ContestLobby_Text_293558, MSGBOX_DEFAULT - releaseall - end - -LilycoveCity_ContestLobby_EventScript_293E64: @ 8293E64 - msgbox LilycoveCity_ContestLobby_Text_29367D, MSGBOX_DEFAULT - release - end - -LilycoveCity_ContestLobby_EventScript_293E6E: @ 8293E6E - msgbox LilycoveCity_ContestLobby_Text_29357E, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_293E87 - goto LilycoveCity_ContestLobby_EventScript_293E95 - end - -LilycoveCity_ContestLobby_EventScript_293E87: @ 8293E87 - msgbox LilycoveCity_ContestLobby_Text_2935B1, MSGBOX_DEFAULT - goto EventScript_StartBlending - end - -LilycoveCity_ContestLobby_EventScript_293E95: @ 8293E95 - msgbox LilycoveCity_ContestLobby_Text_2935E5, MSGBOX_DEFAULT - goto LilycoveCity_ContestLobby_EventScript_293E87 - end - -LilycoveCity_ContestLobby_EventScript_293EA3: @ 8293EA3 - specialvar VAR_RESULT, PlayerHasBerries - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_293E64 - checkitem ITEM_POKEBLOCK_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_293EF1 - msgbox LilycoveCity_ContestLobby_Text_29354E, MSGBOX_DEFAULT - specialvar VAR_RESULT, GetFirstFreePokeblockSlot - compare VAR_RESULT, 65535 - goto_if_ne LilycoveCity_ContestLobby_EventScript_293E6E - compare VAR_RESULT, 65535 - goto_if_eq LilycoveCity_ContestLobby_EventScript_293EE7 - end - -LilycoveCity_ContestLobby_EventScript_293EE7: @ 8293EE7 - msgbox LilycoveCity_ContestLobby_Text_293738, MSGBOX_DEFAULT - releaseall - end - -LilycoveCity_ContestLobby_EventScript_293EF1: @ 8293EF1 - msgbox LilycoveCity_ContestLobby_Text_293792, MSGBOX_DEFAULT - releaseall - end - -LilycoveCity_ContestLobby_EventScript_293EFB: @ 8293EFB - lockall - setvar VAR_0x8009, 1 - msgbox LilycoveCity_ContestLobby_Text_2C42F4, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_293F28 - msgbox LilycoveCity_ContestLobby_Text_2C4332, MSGBOX_DEFAULT - releaseall - end - -LilycoveCity_ContestLobby_EventScript_293F1E: @ 8293F1E - msgbox LilycoveCity_ContestLobby_Text_2C439D, MSGBOX_DEFAULT - releaseall - end - -LilycoveCity_ContestLobby_EventScript_293F28: @ 8293F28 - checkitem ITEM_POKEBLOCK_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_293F8E - specialvar VAR_RESULT, PlayerHasBerries - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_293F1E - specialvar VAR_RESULT, GetFirstFreePokeblockSlot - compare VAR_RESULT, 65535 - goto_if_ne LilycoveCity_ContestLobby_EventScript_293F64 - compare VAR_RESULT, 65535 - goto_if_eq LilycoveCity_ContestLobby_EventScript_293F98 - end - -LilycoveCity_ContestLobby_EventScript_293F64: @ 8293F64 - msgbox LilycoveCity_ContestLobby_Text_2C43FA, MSGBOX_YESNO - compare VAR_RESULT, 0 - call_if_eq LilycoveCity_ContestLobby_EventScript_293F85 - msgbox LilycoveCity_ContestLobby_Text_2C451B, MSGBOX_DEFAULT - goto EventScript_StartBlending - end - -LilycoveCity_ContestLobby_EventScript_293F85: @ 8293F85 - msgbox LilycoveCity_ContestLobby_Text_2C444C, MSGBOX_DEFAULT - return - -LilycoveCity_ContestLobby_EventScript_293F8E: @ 8293F8E - msgbox LilycoveCity_ContestLobby_Text_2C4573, MSGBOX_DEFAULT - releaseall - end - -LilycoveCity_ContestLobby_EventScript_293F98: @ 8293F98 - msgbox LilycoveCity_ContestLobby_Text_2C45E8, MSGBOX_DEFAULT - releaseall - end - -LilycoveCity_ContestLobby_EventScript_293FA2:: @ 8293FA2 - msgbox LilycoveCity_ContestLobby_Text_2937F9, MSGBOX_NPC - end - -LilycoveCity_ContestLobby_EventScript_293FAB:: @ 8293FAB - msgbox LilycoveCity_ContestLobby_Text_293842, MSGBOX_NPC - end - -LilycoveCity_ContestLobby_EventScript_293FB4:: @ 8293FB4 - msgbox LilycoveCity_ContestLobby_Text_29388F, MSGBOX_NPC - end - -LilycoveCity_ContestLobby_EventScript_293FBD:: @ 8293FBD - setvar VAR_0x8008, 15 - goto LilycoveCity_ContestLobby_EventScript_293FC8 - end - -LilycoveCity_ContestLobby_EventScript_293FC8: @ 8293FC8 - lock - faceplayer - msgbox Text_Pblock1_Talk_0, MSGBOX_DEFAULT - specialvar VAR_RESULT, PlayerHasBerries - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_293FEE - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_293FF8 - end - -LilycoveCity_ContestLobby_EventScript_293FEE: @ 8293FEE - msgbox Text_Pblock1_Talk_1, MSGBOX_DEFAULT - release - end - -LilycoveCity_ContestLobby_EventScript_293FF8: @ 8293FF8 - checkitem ITEM_POKEBLOCK_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq LilycoveCity_ContestLobby_EventScript_294028 - specialvar VAR_RESULT, GetFirstFreePokeblockSlot - compare VAR_RESULT, 65535 - goto_if_eq LilycoveCity_ContestLobby_EventScript_294028 - dotimebasedevents - goto_if_set FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY, LilycoveCity_ContestLobby_EventScript_294028 - goto LilycoveCity_ContestLobby_EventScript_294032 - end - -LilycoveCity_ContestLobby_EventScript_294028: @ 8294028 - msgbox LilycoveCity_ContestLobby_Text_293BB4, MSGBOX_DEFAULT - release - end - -LilycoveCity_ContestLobby_EventScript_294032: @ 8294032 - msgbox LilycoveCity_ContestLobby_Text_293AF0, MSGBOX_DEFAULT - giveitem_std ITEM_PECHA_BERRY - setflag FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY - msgbox LilycoveCity_ContestLobby_Text_293B76, MSGBOX_DEFAULT - release - end - -LilycoveCity_ContestLobby_Movement_294053: @ 8294053 - walk_in_place_fastest_right - step_end - -EventScript_PblockLink:: @ 8294055 - lockall - specialvar VAR_RESULT, PlayerHasBerries - compare VAR_RESULT, 0 - goto_if_eq EventScript_PblocLink_NoBerries - checkitem ITEM_POKEBLOCK_CASE, 1 - compare VAR_RESULT, 0 - goto_if_eq EventScript_PblocLink_NoPokeblock - specialvar VAR_RESULT, GetFirstFreePokeblockSlot - compare VAR_RESULT, 65535 - goto_if_ne EventScript_PblocLink_Ask - compare VAR_RESULT, 65535 - goto_if_eq EventScript_PblocLink_FullPokeblock - end - -EventScript_PblocLink_Ask: @ 8294092 - msgbox Text_PblockLink_Ask, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq EventScript_PblocLink_TryConnect - compare VAR_RESULT, 0 - goto_if_eq EventScript_PblocLink_End - end - -EventScript_PblocLink_NoBerries: @ 82940B1 - msgbox Text_PblockLink_NoBerries, MSGBOX_DEFAULT - releaseall - end - -EventScript_PblocLink_TryConnect: @ 82940BB - call Common_EventScript_SaveGame - compare VAR_RESULT, 0 - goto_if_eq EventScript_PblocLink_End - specialvar VAR_RESULT, IsWirelessAdapterConnected - compare VAR_RESULT, 1 - goto_if_eq LilycoveCity_ContestLobby_EventScript_2941ED - message Text_PblockLink_Searching - waitmessage - special sub_80B2FD8 - waitstate - compare VAR_RESULT, 1 - goto_if_eq EventScript_PblocLink_SpawnPartners - compare VAR_RESULT, 2 - goto_if_eq EventScript_PblocLink_SomeoneNotReady - compare VAR_RESULT, 3 - goto_if_eq EventScript_PblocLink_DifferentSelections - compare VAR_RESULT, 5 - goto_if_eq EventScript_PblocLink_CloseLink - compare VAR_RESULT, 6 - goto_if_eq EventScript_PblocLink_LinkError - end - -EventScript_PblocLink_1Arrived: @ 829411D - msgbox Text_PblockLink_1Arrived, MSGBOX_DEFAULT - goto EventScript_PblocLink_StartLinkBlending - end - -EventScript_PblocLink_2Arrived: @ 829412B - msgbox Text_PblockLink_2Arrived, MSGBOX_DEFAULT - goto EventScript_PblocLink_StartLinkBlending - end - -EventScript_PblocLink_3Arrived: @ 8294139 - msgbox Text_PblockLink_3Arrived, MSGBOX_DEFAULT - goto EventScript_PblocLink_StartLinkBlending - end - -EventScript_PblocLink_StartLinkBlending: @ 8294147 - setvar VAR_0x8004, 0 - fadescreen 1 - removeobject 240 - removeobject 239 - removeobject 238 - removeobject 237 - special DoBerryBlending - waitstate - releaseall - end - -EventScript_PblocLink_End: @ 8294160 - releaseall - end - -EventScript_PblocLink_FullPokeblock: @ 8294162 - msgbox Text_PblockLink_FullPokeblock, MSGBOX_DEFAULT - releaseall - end - -EventScript_PblocLink_NoPokeblock: @ 829416C - msgbox Text_PblockLink_NoPokeblock, MSGBOX_DEFAULT - releaseall - end - -EventScript_PblocLink_SomeoneNotReady: @ 8294176 - special CloseLink - msgbox LilycoveCity_ContestLobby_Text_2781C7, MSGBOX_DEFAULT - releaseall - end - -EventScript_PblocLink_DifferentSelections: @ 8294183 - special CloseLink - msgbox LilycoveCity_ContestLobby_Text_278255, MSGBOX_DEFAULT - releaseall - end - -EventScript_PblocLink_CloseLink: @ 8294190 - special CloseLink - msgbox gUnknown_08272D9C, MSGBOX_DEFAULT - releaseall - end - -EventScript_PblocLink_LinkError: @ 829419D - special CloseLink - msgbox LilycoveCity_ContestLobby_Text_27821C, MSGBOX_DEFAULT - releaseall - end - -EventScript_PblocLink_SpawnPartners: @ 82941AA - fadescreen 1 - specialvar VAR_RESULT, GetLinkPartnerNames - copyvar VAR_0x8008, VAR_RESULT - copyvar VAR_0x8004, VAR_0x8008 - special SpawnLinkPartnerEventObject - goto EventScript_PblocLink_Arrived - end - -EventScript_PblocLink_Arrived: @ 82941C4 - fadescreen 0 - switch VAR_0x8008 - case 2, EventScript_PblocLink_1Arrived - case 3, EventScript_PblocLink_2Arrived - case 4, EventScript_PblocLink_3Arrived - end - -LilycoveCity_ContestLobby_EventScript_2941ED: @ 82941ED - setvar VAR_0x8004, 13 - goto EventScript_PblocLink_DecideLeader - end - -EventScript_PblocLink_DecideLeader: @ 82941F8 - message Text_DecideLinkLeader - waitmessage - multichoice 16, 6, 81, 0 - switch VAR_RESULT - case 0, EventScript_PblocLink_TryJoinGroup - case 1, EventScript_PblocLink_TryBecomeLeader - case 2, EventScript_PblocLink_CloseLink - case 127, EventScript_PblocLink_CloseLink - end - -EventScript_PblocLink_TryBecomeLeader: @ 8294235 - call EventScript_PblocLink_BecomeLeader - compare VAR_RESULT, 1 - goto_if_eq EventScript_PblocLink_SpawnPartners_ - compare VAR_RESULT, 5 - goto_if_eq EventScript_PblocLink_DecideLeader - compare VAR_RESULT, 8 - goto_if_eq EventScript_PblocLink_TryBecomeLeader - release - end - -EventScript_PblocLink_TryJoinGroup: @ 829425D - call EventScript_PblocLink_JoinGroup - compare VAR_RESULT, 1 - goto_if_eq EventScript_PblocLink_SpawnPartners_ - compare VAR_RESULT, 5 - goto_if_eq EventScript_PblocLink_DecideLeader - compare VAR_RESULT, 8 - goto_if_eq EventScript_PblocLink_TryJoinGroup - release - end - -EventScript_PblocLink_BecomeLeader: @ 8294285 - special BerryBlenderLinkBecomeLeader - waitstate - return - -EventScript_PblocLink_JoinGroup: @ 829428A - special BerryBlenderLinkJoinGroup - waitstate - return - -EventScript_PblocLink_SpawnPartners_: @ 829428F - goto EventScript_PblocLink_SpawnPartners - end diff --git a/data/scripts/prof_birch.inc b/data/scripts/prof_birch.inc new file mode 100644 index 0000000000..b89d2fbd05 --- /dev/null +++ b/data/scripts/prof_birch.inc @@ -0,0 +1,89 @@ +ProfBirch_EventScript_UpdateLocation:: @ 82720AD + compare VAR_PETALBURG_GYM_STATE, 0 + goto_if_eq Common_EventScript_NopReturn + goto_if_set FLAG_SYS_GAME_CLEAR, ProfBirch_EventScript_MoveToLab + compare VAR_BIRCH_STATE, 0 + call_if_eq ProfBirch_EventScript_MoveToLab + compare VAR_BIRCH_STATE, 1 + call_if_eq ProfBirch_EventScript_MoveToLab + compare VAR_BIRCH_STATE, 2 + call_if_eq ProfBirch_EventScript_MoveToRoute101 + compare VAR_BIRCH_STATE, 3 + call_if_eq ProfBirch_EventScript_MoveToRoute101 + compare VAR_BIRCH_STATE, 4 + call_if_eq ProfBirch_EventScript_MoveToRoute103 + compare VAR_BIRCH_STATE, 5 + call_if_eq ProfBirch_EventScript_MoveToRoute103 + compare VAR_BIRCH_STATE, 6 + call_if_eq ProfBirch_EventScript_MoveToLab + compare VAR_BIRCH_STATE, 7 + call_if_eq ProfBirch_EventScript_MoveToLab + return + +ProfBirch_EventScript_MoveToLab:: @ 827211A + clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH + clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 + setflag FLAG_HIDE_ROUTE_101_BIRCH + setflag FLAG_HIDE_ROUTE_103_BIRCH + return + +ProfBirch_EventScript_MoveToRoute101:: @ 8272127 + clearflag FLAG_HIDE_ROUTE_101_BIRCH + setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH + setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 + setflag FLAG_HIDE_ROUTE_103_BIRCH + return + +ProfBirch_EventScript_MoveToRoute103:: @ 8272134 + clearflag FLAG_HIDE_ROUTE_103_BIRCH + setflag FLAG_HIDE_ROUTE_101_BIRCH + setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH + setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 + return + +ProfBirch_EventScript_RatePokedexOrRegister:: @ 8272141 + lock + faceplayer + goto_if_unset FLAG_HAS_MATCH_CALL, ProfBirch_EventScript_AskRatePokedex + goto_if_unset FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, EventScript_RegisterProfBirch + +ProfBirch_EventScript_AskRatePokedex:: @ 8272155 + msgbox gBirchDexRatingText_AreYouCurious, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq ProfBirch_EventScript_DeclineRating + call ProfBirch_EventScript_RatePokedex + release + end + +ProfBirch_EventScript_DeclineRating:: @ 827216F + msgbox gBirchDexRatingText_Cancel, MSGBOX_DEFAULT + release + end + +ProfBirch_EventScript_ShowRatingMessage:: @ 8272179 + copyvar VAR_0x8004, VAR_0x8009 + special ShowPokedexRatingMessage + waitmessage + waitbuttonpress + return + +ProfBirch_EventScript_RatePokedex:: @ 8272184 + setvar VAR_0x8004, 0 + specialvar VAR_RESULT, ScriptGetPokedexInfo + copyvar VAR_0x8008, VAR_0x8005 + copyvar VAR_0x8009, VAR_0x8006 + copyvar VAR_0x800A, VAR_RESULT + buffernumberstring 0, VAR_0x8008 @ Num Hoenn seen + buffernumberstring 1, VAR_0x8009 @ Num Hoenn caught + msgbox gBirchDexRatingText_SoYouveSeenAndCaught, MSGBOX_DEFAULT + call ProfBirch_EventScript_ShowRatingMessage + compare VAR_0x800A, 0 + goto_if_eq Common_EventScript_NopReturn @ National dex not enabled + setvar VAR_0x8004, 1 + specialvar VAR_RESULT, ScriptGetPokedexInfo + copyvar VAR_0x8008, VAR_0x8005 + copyvar VAR_0x8009, VAR_0x8006 + buffernumberstring 0, VAR_0x8008 @ Num National seen + buffernumberstring 1, VAR_0x8009 @ Num National caught + msgbox gBirchDexRatingText_OnANationwideBasis, MSGBOX_DEFAULT + return diff --git a/data/scripts/record_mix.inc b/data/scripts/record_mix.inc new file mode 100644 index 0000000000..23f224ae4f --- /dev/null +++ b/data/scripts/record_mix.inc @@ -0,0 +1,23 @@ +@ Seems this was superseded by the Record Center, and the below scripts are now unused +EventScript_MixRecordsPrompt:: @ 8271D5E + lock + faceplayer + msgbox Text_WouldYouLikeToMixRecords, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq EventScript_MixRecords + compare VAR_RESULT, NO + goto_if_eq EventScript_DeclineMixRecords + goto EventScript_DeclineMixRecords + +EventScript_MixRecords:: @ 8271D83 + special RecordMixingPlayerSpotTriggered + waitstate + lock + faceplayer + +EventScript_DeclineMixRecords:: @ 8271D89 + message Text_WeHopeToSeeYouAgain + waitmessage + waitbuttonpress + release + end diff --git a/data/scripts/repel.inc b/data/scripts/repel.inc new file mode 100644 index 0000000000..5deda57629 --- /dev/null +++ b/data/scripts/repel.inc @@ -0,0 +1,6 @@ +EventScript_RepelWoreOff:: @ 82A4B2A + msgbox Text_RepelWoreOff, MSGBOX_SIGN + end + +Text_RepelWoreOff: @ 82A4B33 + .string "REPEL's effect wore off…$" diff --git a/data/scripts/rival_graphics.inc b/data/scripts/rival_graphics.inc new file mode 100644 index 0000000000..60bd1a3372 --- /dev/null +++ b/data/scripts/rival_graphics.inc @@ -0,0 +1,48 @@ +Common_EventScript_SetupRivalGfxId:: @ 8271ED7 + checkplayergender + compare VAR_RESULT, MALE + goto_if_eq EventScript_SetupRivalGfxIdFemale + compare VAR_RESULT, FEMALE + goto_if_eq EventScript_SetupRivalGfxIdMale + end + +EventScript_SetupRivalGfxIdFemale:: @ 8271EEF + setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL + return + +EventScript_SetupRivalGfxIdMale:: @ 8271EF5 + setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL + return + +Common_EventScript_SetupRivalOnBikeGfxId:: @ 8271EFB + checkplayergender + compare VAR_RESULT, MALE + goto_if_eq EventScript_SetupRivalOnBikeGfxIdFemale + compare VAR_RESULT, FEMALE + goto_if_eq EventScript_SetupRivalOnBikeGfxIdMale + end + +EventScript_SetupRivalOnBikeGfxIdFemale:: @ 8271F13 + setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE + return + +EventScript_SetupRivalOnBikeGfxIdMale:: @ 8271F19 + setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE + return + +@ Unused +Common_EventScript_SetupRivalGfxIdSameGender:: @ 8271F1F + checkplayergender + compare VAR_RESULT, MALE + goto_if_eq EventScript_SetupRivalGfxIdMale2 + compare VAR_RESULT, FEMALE + goto_if_eq EventScript_SetupRivalGfxIdFemale2 + end + +EventScript_SetupRivalGfxIdMale2:: @ 8271F37 + setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL + return + +EventScript_SetupRivalGfxIdFemale2:: @ 8271F3D + setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL + return diff --git a/data/scripts/roulette.inc b/data/scripts/roulette.inc new file mode 100644 index 0000000000..9aea650542 --- /dev/null +++ b/data/scripts/roulette.inc @@ -0,0 +1,71 @@ +Roulette_EventScript_Table1:: @ 82A5AB1 + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase + setvar VAR_0x8004, 0 + getpricereduction POKENEWS_GAME_CORNER + compare VAR_RESULT, FALSE + goto_if_eq Roulette_EventScript_Play + addvar VAR_0x8004, 128 + goto Roulette_EventScript_Play + end + +Roulette_EventScript_Table2:: @ 82A5ADF + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, FALSE + goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase + setvar VAR_0x8004, 1 + getpricereduction POKENEWS_GAME_CORNER + compare VAR_RESULT, FALSE + goto_if_eq Roulette_EventScript_Play + addvar VAR_0x8004, 128 + goto Roulette_EventScript_Play + end + +Roulette_EventScript_Play:: @ 82A5B0D + special PlayRoulette + waitstate + end + +Roulette_Text_PlayMinimumWagerIsX:: @ 82A5B12 + .string "The minimum wager at this table\n" + .string "is {STR_VAR_1}. Do you want to play?$" + +Roulette_Text_NotEnoughCoins:: @ 82A5B4E + .string "You don't have enough COINS.$" + +Roulette_Text_SpecialRateTable:: @ 82A5B6B + .string "Special rate table right now!$" + +Roulette_Text_ControlsInstruction:: @ 82A5B89 + .string "Place your wager with the + Control\n" + .string "Pad, then press the A Button.$" + +Roulette_Text_ItsAHit:: @ 82A5BCB + .string "It's a hit!$" + +Roulette_Text_Jackpot:: @ 82A5BD7 + .string "Jackpot!$" + +Roulette_Text_NothingDoing:: @ 82A5BE0 + .string "Nothing doing!$" + +Roulette_Text_YouveWonXCoins:: @ 82A5BEF + .string "You've won {STR_VAR_1} COINS!$" + +Roulette_Text_NoCoinsLeft:: @ 82A5C04 + .string "No COINS left…$" + +Roulette_Text_KeepPlaying:: @ 82A5C13 + .string "Keep playing?$" + +Roulette_Text_BoardWillBeCleared:: @ 82A5C21 + .string "The ROULETTE board will be cleared.$" + +@ Unused +Roulette_Text_YouDontHaveACoinCase:: @ 82A5C45 + .string "You don't have a COIN CASE.$" + +Roulette_Text_CoinCaseIsFull:: @ 82A5C61 + .string "Your COIN CASE is full!\n" + .string "Coins can be exchanged for prizes.$" diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc index 3539e09706..6a811d9354 100644 --- a/data/scripts/safari_zone.inc +++ b/data/scripts/safari_zone.inc @@ -1,103 +1,103 @@ -EventScript_2A4B4C:: @ 82A4B4C +SafariZone_EventScript_OutOfBallsMidBattle:: @ 82A4B4C setvar VAR_SAFARI_ZONE_STATE, 1 special ExitSafariMode setwarp MAP_ROUTE121_SAFARI_ZONE_ENTRANCE, 255, 2, 5 end -EventScript_2A4B5D:: @ 82A4B5D +SafariZone_EventScript_Exit:: @ 82A4B5D setvar VAR_SAFARI_ZONE_STATE, 1 special ExitSafariMode warp MAP_ROUTE121_SAFARI_ZONE_ENTRANCE, 255, 2, 5 waitstate end -EventScript_2A4B6F:: @ 82A4B6F +SafariZone_EventScript_RetirePrompt:: @ 82A4B6F lockall - msgbox Text_2A4BF4, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq EventScript_2A4B85 + msgbox SafariZone_Text_WouldYouLikeToExit, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq SafariZone_EventScript_Retire releaseall end -EventScript_2A4B85:: @ 82A4B85 - goto EventScript_2A4B5D +SafariZone_EventScript_Retire:: @ 82A4B85 + goto SafariZone_EventScript_Exit -EventScript_2A4B8A:: @ 82A4B8A +SafariZone_EventScript_TimesUp:: @ 82A4B8A lockall playse SE_PINPON - message Text_2A4C26 + message SafariZone_Text_TimesUp waitmessage waitbuttonpress releaseall - goto EventScript_2A4B5D + goto SafariZone_EventScript_Exit -EventScript_2A4B9B:: @ 82A4B9B +SafariZone_EventScript_OutOfBalls:: @ 82A4B9B lockall playse SE_PINPON - message Text_2A4C56 + message SafariZone_Text_OutOfBalls waitmessage waitbuttonpress releaseall - goto EventScript_2A4B5D + goto SafariZone_EventScript_Exit EventScript_PokeBlockFeeder:: @ 82A4BAC lockall special GetPokeblockFeederInFront - compare VAR_RESULT, 65535 - goto_if_ne EventScript_2A4BEB - msgbox Text_2A4C90, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq EventScript_2A4BD0 + compare VAR_RESULT, 0xFFFF + goto_if_ne SafariZone_EventScript_PokeblockPresent + msgbox SafariZone_Text_PlacePokeblockOnFeeder, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq SafariZone_EventScript_ChoosePokeblock releaseall end -EventScript_2A4BD0:: @ 82A4BD0 - fadescreen 1 +SafariZone_EventScript_ChoosePokeblock:: @ 82A4BD0 + fadescreen FADE_TO_BLACK special OpenPokeblockCaseOnFeeder waitstate - compare VAR_RESULT, 65535 - goto_if_ne EventScript_2A4BE2 + compare VAR_RESULT, 0xFFFF + goto_if_ne SafariZone_EventScript_PokeblockPlaced end -EventScript_2A4BE2:: @ 82A4BE2 - message Text_2A4CEB +SafariZone_EventScript_PokeblockPlaced:: @ 82A4BE2 + message SafariZone_Text_PokeblockWasPlaced waitmessage waitbuttonpress releaseall end -EventScript_2A4BEB:: @ 82A4BEB - message Text_2A4CC5 +SafariZone_EventScript_PokeblockPresent:: @ 82A4BEB + message SafariZone_Text_PokeblockStillHere waitmessage waitbuttonpress releaseall end -Text_2A4BF4: @ 82A4BF4 +SafariZone_Text_WouldYouLikeToExit: @ 82A4BF4 .string "Would you like to exit the SAFARI\n" .string "ZONE right now?$" -Text_2A4C26: @ 82A4C26 +SafariZone_Text_TimesUp: @ 82A4C26 .string "Ding-dong! Time's up!\n" .string "Your SAFARI Game is over.$" -Text_2A4C56: @ 82A4C56 +SafariZone_Text_OutOfBalls: @ 82A4C56 .string "You've run out of SAFARI BALLS.\n" .string "Your SAFARI Game is over.$" -Text_2A4C90: @ 82A4C90 +SafariZone_Text_PlacePokeblockOnFeeder: @ 82A4C90 .string "Would you like to place a {POKEBLOCK}\n" .string "on the {POKEBLOCK} FEEDER?$" -Text_2A4CC5: @ 82A4CC5 +SafariZone_Text_PokeblockStillHere: @ 82A4CC5 .string "The {STR_VAR_1} you left\n" .string "before is still here.$" -Text_2A4CEB: @ 82A4CEB +SafariZone_Text_PokeblockWasPlaced: @ 82A4CEB .string "The {STR_VAR_1} was placed\n" .string "on the {POKEBLOCK} FEEDER.$" -Route121_SafariZoneEntrance_Text_2A4D12: @ 82A4D12 +Route121_SafariZoneEntrance_Text_WelcomeToSafariZone: @ 82A4D12 .string "Welcome to the SAFARI ZONE!\p" .string "Here, you may witness many kinds of\n" .string "POKéMON rarely seen in HOENN.\p" @@ -109,14 +109,14 @@ Route121_SafariZoneEntrance_Text_2A4D12: @ 82A4D12 .string "for keeps!\p" .string "Come in and enjoy the SAFARI ZONE!$" -Route121_SafariZoneEntrance_Text_2A4E46: @ 82A4E46 +Route121_SafariZoneEntrance_Text_WelcomeFirstTime: @ 82A4E46 .string "Welcome to the SAFARI ZONE!\n" .string "Is it your first time here?$" -Route121_SafariZoneEntrance_Text_2A4E7E: @ 82A4E7E +Route121_SafariZoneEntrance_Text_ComeInAndEnjoy: @ 82A4E7E .string "Come in and enjoy the SAFARI ZONE!$" -Route121_SafariZoneEntrance_Text_2A4EA1: @ 82A4EA1 +Route121_SafariZoneEntrance_Text_FirstTimeInfo: @ 82A4EA1 .string "When you enter the SAFARI ZONE, you\n" .string "start with 30 SAFARI BALLS for\l" .string "catching POKéMON.\p" @@ -125,39 +125,39 @@ Route121_SafariZoneEntrance_Text_2A4EA1: @ 82A4EA1 .string "walked 500 steps.\p" .string "Come in and enjoy the SAFARI ZONE!$" -Route121_SafariZoneEntrance_Text_2A4F74: @ 82A4F74 +Route121_SafariZoneEntrance_Text_WouldYouLikeToPlay: @ 82A4F74 .string "Welcome to the SAFARI ZONE!\p" .string "All you can catch for just ¥500!\n" .string "Would you like to play a SAFARI Game?$" -Route121_SafariZoneEntrance_Text_2A4FD7: @ 82A4FD7 +Route121_SafariZoneEntrance_Text_PlayAnotherTime: @ 82A4FD7 .string "Okay.\n" .string "Please play another time!$" -Route121_SafariZoneEntrance_Text_2A4FF7: @ 82A4FF7 +Route121_SafariZoneEntrance_Text_NotEnoughMoney: @ 82A4FF7 .string "You don't have enough money.\n" .string "Sorry.$" -Route121_SafariZoneEntrance_Text_2A501B: @ 82A501B +Route121_SafariZoneEntrance_Text_ThatWillBe500Please: @ 82A501B .string "That will be ¥500, please.$" -Route121_SafariZoneEntrance_Text_2A5036: @ 82A5036 +Route121_SafariZoneEntrance_Text_HereAreYourSafariBalls: @ 82A5036 .string "Here are your SAFARI BALLS.$" -Route121_SafariZoneEntrance_Text_2A5052: @ 82A5052 +Route121_SafariZoneEntrance_Text_Received30SafariBalls: @ 82A5052 .string "{PLAYER} received 30 SAFARI BALLS.$" -Route121_SafariZoneEntrance_Text_2A506F: @ 82A506F +Route121_SafariZoneEntrance_Text_PleaseEnjoyYourself: @ 82A506F .string "We'll let you know when your game\n" .string "is over.\p" .string "So, until then, enjoy yourself, please!\n" .string "Off you go on your wild excursion!$" -Route121_SafariZoneEntrance_Text_2A50E5: @ 82A50E5 +Route121_SafariZoneEntrance_Text_PCIsFull: @ 82A50E5 .string "Excuse me!\n" .string "Your PC BOX is full.$" -Route121_SafariZoneEntrance_Text_2A5105: @ 82A5105 +Route121_SafariZoneEntrance_Text_YouNeedPokeblockCase: @ 82A5105 .string "Excuse me!\n" .string "You seem to be without a {POKEBLOCK} CASE.\p" .string "Your SAFARI Game will be much more\n" @@ -166,129 +166,129 @@ Route121_SafariZoneEntrance_Text_2A5105: @ 82A5105 .string "You may obtain a {POKEBLOCK} CASE from\n" .string "the LILYCOVE CONTEST HALL.$" -SafariZone_South_Text_2A51D4: @ 82A51D4 +SafariZone_South_Text_StillHaveTimeExit: @ 82A51D4 .string "You still have time left. Would you like\n" .string "to exit the SAFARI ZONE now?$" -SafariZone_South_Text_2A521A: @ 82A521A +SafariZone_South_Text_EnjoyTheRestOfYourAdventure: @ 82A521A .string "Please enjoy the rest of your wild\n" .string "adventure!$" -SafariZone_South_Text_2A5248: @ 82A5248 +SafariZone_South_Text_ExitEarlyThankYouForPlaying: @ 82A5248 .string "Okay.\p" .string "I'll take back your remaining SAFARI\n" .string "BALLS.\p" .string "Thank you for playing.\n" .string "We hope to see you again.$" -SafariZone_South_Text_2A52AB: @ 82A52AB +SafariZone_South_Text_GoodLuck: @ 82A52AB .string "Good luck!\p" .string "If you need anything, don't hesitate\n" .string "to tell me, please!$" -SafariZone_South_Text_2A52EF: @ 82A52EF +SafariZone_South_Text_Boy: @ 82A52EF .string "Did you know?\p" .string "If you put a {POKEBLOCK} in that square box,\n" .string "POKéMON gather around.$" -SafariZone_South_Text_2A533B: @ 82A533B +SafariZone_South_Text_Man: @ 82A533B .string "I want to keep going deeper, but I\n" .string "forgot to bring a BIKE.\p" .string "Something tells me that rare POKéMON\n" .string "live in the outlying areas.$" -SafariZone_Southwest_Text_2A53B7: @ 82A53B7 +SafariZone_Southwest_Text_Woman: @ 82A53B7 .string "Sometimes, when I toss a {POKEBLOCK} at \n" .string "POKéMON, it gets ignored.\p" .string "Do POKéMON have likes and dislikes\n" .string "about what they eat?$" -SafariZone_Northwest_Text_2A542C: @ 82A542C +SafariZone_Northwest_Text_Man: @ 82A542C .string "Gasp… Gasp…\n" .string "I…made it out here…but…\p" .string "I'm exhausted… I don't have the\n" .string "energy to catch POKéMON…$" -SafariZone_North_Text_2A5489: @ 82A5489 +SafariZone_North_Text_Fisherman: @ 82A5489 .string "I'm on a mission to find WATER POKéMON\n" .string "you don't see in HOENN.\p" .string "Do you have any idea where the lake is?$" -SafariZone_North_Text_2A54F0: @ 82A54F0 +SafariZone_North_Text_Man: @ 82A54F0 .string "I'm going to catch a lot of rare POKéMON\n" .string "here and trade them with my friends!$" -SafariZone_South_Text_2A553E: @ 82A553E +SafariZone_South_Text_Youngster: @ 82A553E .string "I put a {POKEBLOCK} on the {POKEBLOCK} FEEDER.\n" .string "But it seems to have disappeared.\p" .string "I guess POKéMON must have eaten it\n" .string "without me noticing.$" -Route121_SafariZoneEntrance_Text_2A55BB: @ 82A55BB +Route121_SafariZoneEntrance_Text_TrainerTip: @ 82A55BB .string "SAFARI ZONE TRAINER TIP!\p" .string "Throw {POKEBLOCK}S at wild POKéMON to make\n" .string "them less likely to flee.$" -SafariZone_Southwest_Text_2A5613: @ 82A5613 +SafariZone_Southwest_Text_RestHouseSign: @ 82A5613 .string "“Relieve your tired feet.”\n" .string "REST HOUSE$" -SafariZone_RestHouse_Text_2A5639: @ 82A5639 +SafariZone_RestHouse_Text_Youngster: @ 82A5639 .string "I don't have any {POKEBLOCK}S, but I caught\n" .string "a good number of POKéMON.\p" .string "You can improve your chances of making\n" .string "a catch by getting closer to them\l" .string "before throwing a SAFARI BALL.$" -SafariZone_RestHouse_Text_2A56E1: @ 82A56E1 +SafariZone_RestHouse_Text_PsychicM: @ 82A56E1 .string "If you use {POKEBLOCK}S, wild POKéMON won't\n" .string "be so quick to run away.\p" .string "It's not much use to give {POKEBLOCK}S to\n" .string "POKéMON that don't flee easily.$" -SafariZone_RestHouse_Text_2A5764: @ 82A5764 +SafariZone_RestHouse_Text_FatMan: @ 82A5764 .string "If you put a {POKEBLOCK} on the FEEDER,\n" .string "POKéMON are attracted to it.\p" .string "I think POKéMON with the same sort of\n" .string "nature are drawn by a certain {POKEBLOCK}.$" -SafariZone_South_Text_2A57EE: @ 82A57EE +SafariZone_South_Text_AreaOffLimits1: @ 82A57EE .string "This area is still under construction.\n" .string "It's off-limits, sorry!$" -SafariZone_Southeast_Text_2A582D: @ 82A582D +SafariZone_Southeast_Text_ExpansionIsFinished: @ 82A582D .string "The SAFARI ZONE's expansion project\n" .string "is finished now.\p" .string "We hope you will enjoy the new area.$" -SafariZone_South_Text_2A5887: @ 82A5887 +SafariZone_South_Text_AreaOffLimits2: @ 82A5887 .string "This area is still under construction.\n" .string "It's off-limits, sorry!$" -SafariZone_Southeast_Text_2A58C6: @ 82A58C6 +SafariZone_Southeast_Text_LittleGirl: @ 82A58C6 .string "Wow! Whee! I haven't seen any of\n" .string "these POKéMON before!$" -SafariZone_Southeast_Text_2A58FD: @ 82A58FD +SafariZone_Southeast_Text_FatMan: @ 82A58FD .string "The POKéMON in this area are all\n" .string "new to me.\p" .string "And I'm allowed to catch these rare\n" .string "POKéMON! Too cool!$" -SafariZone_Southeast_Text_2A5960: @ 82A5960 +SafariZone_Southeast_Text_RichBoy: @ 82A5960 .string "The POKéMON around here seem to be\n" .string "from somewhere other than HOENN.$" -SafariZone_Northeast_Text_2A59A4: @ 82A59A4 +SafariZone_Northeast_Text_Boy: @ 82A59A4 .string "I only have a couple SAFARI BALLS left.\p" .string "I'm having a hard time trying to\n" .string "decide what I should catch.$" -SafariZone_Northeast_Text_2A5A09: @ 82A5A09 +SafariZone_Northeast_Text_Woman: @ 82A5A09 .string "I heard that you can see PIKACHU here.\n" .string "Where might one be?$" -SafariZone_Northeast_Text_2A5A44: @ 82A5A44 +SafariZone_Northeast_Text_Girl: @ 82A5A44 .string "Oh, boo!\n" .string "I can't seem to catch anything!\p" .string "I'll end up wasting the admission\n" diff --git a/data/scripts/secret_base.inc b/data/scripts/secret_base.inc index 81bd388f87..7bb20e3784 100644 --- a/data/scripts/secret_base.inc +++ b/data/scripts/secret_base.inc @@ -1,433 +1,148 @@ -Text_274746: @ 8274746 +SecretBase_Text_TreeCanBeClimbed: @ 8274746 .string "If some vines drop down, this tree can\n" .string "be climbed.$" -Text_274779: @ 8274779 +SecretBase_Text_TreeUseSecretPower: @ 8274779 .string "If some vines drop down, this tree can\n" .string "be climbed.\p" .string "Use the SECRET POWER?$" -Text_2747C2: @ 82747C2 +SecretBase_Text_VineDroppedDown: @ 82747C2 .string "A thick vine dropped down!$" -Text_2747DD: @ 82747DD +SecretBase_Text_ClumpOfGrass: @ 82747DD .string "If this clump of grass can be moved,\n" .string "it might be possible to go inside.$" -Text_274825: @ 8274825 +SecretBase_Text_ClumpUseSecretPower: @ 8274825 .string "If this clump of grass can be moved,\n" .string "it might be possible to go inside.\p" .string "Use the SECRET POWER?$" -Text_274883: @ 8274883 +SecretBase_Text_DiscoveredSmallEntrance: @ 8274883 .string "Discovered a small entrance!$" -SecretBase_RedCave1_Text_2748A0: @ 82748A0 - .string "Have you made a SECRET BASE already?\p" - .string "I went here, there, everywhere before\n" - .string "choosing this place.\p" - .string "Since you're already here, how would\n" - .string "you like to battle?$" + .include "data/text/secret_base_trainers.inc" -SecretBase_RedCave1_Text_274939: @ 8274939 - .string "Okay!\n" - .string "Here we come!$" - -SecretBase_RedCave1_Text_27494D: @ 827494D - .string "Hunh?\n" - .string "Oh, you can't now…$" - -SecretBase_RedCave1_Text_274966:: @ 8274966 - .string "Waaargh! You're too strong!\n" - .string "About me losing… Please keep it secret!$" - -SecretBase_RedCave1_Text_2749AA: @ 82749AA - .string "What do you think of my SECRET BASE?\n" - .string "Come visit me again tomorrow.$" - -SecretBase_RedCave1_Text_2749ED: @ 82749ED - .string "Have you made a SECRET BASE already?\p" - .string "I went here, there, everywhere before\n" - .string "choosing this place.\p" - .string "Feel free to hang out!$" - -SecretBase_RedCave1_Text_274A64: @ 8274A64 - .string "There're a lot of places where\n" - .string "you can make a SECRET BASE.\p" - .string "But I like this spot best.\n" - .string "Don't you think it's nice?\p" - .string "Oh, would you like to have a battle?$" - -SecretBase_RedCave1_Text_274AFA: @ 8274AFA - .string "Okay, here goes!$" - -SecretBase_RedCave1_Text_274B0B: @ 8274B0B - .string "Oh…\n" - .string "You can't now, okay.$" - -SecretBase_RedCave1_Text_274B24:: @ 8274B24 - .string "Hmmm… It's our loss…\n" - .string "But don't tell anyone!\l" - .string "It's a confidential secret!$" - -SecretBase_RedCave1_Text_274B6C: @ 8274B6C - .string "If you're in this area again,\n" - .string "I hope you'll visit me.$" - -SecretBase_RedCave1_Text_274BA2: @ 8274BA2 - .string "There're a lot of places where you can\n" - .string "make a SECRET BASE.\p" - .string "But I like this spot best.\n" - .string "Don't you think it's nice?$" - -SecretBase_RedCave1_Text_274C13: @ 8274C13 - .string "This is a popular spot.\n" - .string "It's always taken.\p" - .string "Oh! Were you thinking about\n" - .string "taking this spot, too?\p" - .string "I'll tell you what, you can have this\n" - .string "spot if you can beat me.$" - -SecretBase_RedCave1_Text_274CB0: @ 8274CB0 - .string "Okay!\n" - .string "I'm going to defend my SECRET BASE!$" - -SecretBase_RedCave1_Text_274CDA: @ 8274CDA - .string "Hunh? Is that right?\n" - .string "You're not interested in this spot?$" - -SecretBase_RedCave1_Text_274D13:: @ 8274D13 - .string "I can't keep going!\n" - .string "I surrender!$" - -SecretBase_RedCave1_Text_274D34: @ 8274D34 - .string "Okay, when I move one day,\n" - .string "this place will be yours!$" - -SecretBase_RedCave1_Text_274D69: @ 8274D69 - .string "This is a popular spot.\n" - .string "It's always taken.\p" - .string "I waited a long time for it to open.\n" - .string "I finally got to use it!$" - -SecretBase_RedCave1_Text_274DD2: @ 8274DD2 - .string "Welcome to my POKéMON LAB.\p" - .string "I carry out research on battling in\n" - .string "secrecy.\p" - .string "Would you like to see how strong I am?$" - -SecretBase_RedCave1_Text_274E41: @ 8274E41 - .string "I'm going to go all out!$" - -SecretBase_RedCave1_Text_274E5A: @ 8274E5A - .string "Oh.\n" - .string "Some other time, then!$" - -SecretBase_RedCave1_Text_274E75:: @ 8274E75 - .string "Hmm… I've still got lots to learn.\n" - .string "I have to study some more.$" - -SecretBase_RedCave1_Text_274EB3: @ 8274EB3 - .string "Thanks for battling with me.\n" - .string "Please come back again tomorrow.$" - -SecretBase_RedCave1_Text_274EF1: @ 8274EF1 - .string "Welcome to my POKéMON LAB.\p" - .string "I carry out research on battling in\n" - .string "secrecy.$" - -SecretBase_RedCave1_Text_274F39: @ 8274F39 - .string "A big mansion is nice, but I like this\n" - .string "sort of place more.\p" - .string "I like it because all kinds of people\n" - .string "come visit me.\p" - .string "So, how would you like a battle?$" - -SecretBase_RedCave1_Text_274FCA: @ 8274FCA - .string "That's the way!$" - -SecretBase_RedCave1_Text_274FDA: @ 8274FDA - .string "When you're ready, give me a shout!$" - -SecretBase_RedCave1_Text_274FFE:: @ 8274FFE - .string "Aww! Done in!\n" - .string "But it's still fun to battle!$" - -SecretBase_RedCave1_Text_27502A: @ 827502A - .string "Well, anyway, I should go buy some\n" - .string "decorations and furniture.\p" - .string "I want my SECRET BASE to be a place\n" - .string "other people can enjoy.$" - -SecretBase_RedCave1_Text_2750A4: @ 82750A4 - .string "A big mansion is nice, but I like this\n" - .string "sort of place more.\p" - .string "I like it because all kinds of people\n" - .string "come visit me.$" - -SecretBase_RedCave1_Text_275114: @ 8275114 - .string "I simply adore shopping for decorations\n" - .string "and furniture.\p" - .string "I also love raising POKéMON just\n" - .string "as much.\p" - .string "If you would be so kind, will you battle\n" - .string "with my POKéMON?$" - -SecretBase_RedCave1_Text_2751AF: @ 82751AF - .string "Thank you.\n" - .string "Shall we begin?$" - -SecretBase_RedCave1_Text_2751CA: @ 82751CA - .string "Oh.\n" - .string "How disappointing…$" - -SecretBase_RedCave1_Text_2751E1:: @ 82751E1 - .string "I concede…$" - -SecretBase_RedCave1_Text_2751EC: @ 82751EC - .string "That was all in good fun!\n" - .string "I should go enjoy shopping now.$" - -SecretBase_RedCave1_Text_275226: @ 8275226 - .string "I simply adore shopping for decorations\n" - .string "and furniture.\p" - .string "I also love raising POKéMON just\n" - .string "as much.$" - -SecretBase_RedCave1_Text_275287: @ 8275287 - .string "Some people make their SECRET BASES in\n" - .string "hard-to-find places.\l" - .string "Do they want to just lie low?\p" - .string "But since you found me, how about we\n" - .string "have a battle?$" - -SecretBase_RedCave1_Text_275315: @ 8275315 - .string "I'm not going down easily!$" - -SecretBase_RedCave1_Text_275330: @ 8275330 - .string "Oh… Are you maybe tired from searching\n" - .string "for this place?$" - -SecretBase_RedCave1_Text_275367:: @ 8275367 - .string "I went down…$" - -SecretBase_RedCave1_Text_275374: @ 8275374 - .string "Where's your SECRET BASE?\n" - .string "I should go visit you there.$" - -SecretBase_RedCave1_Text_2753AB: @ 82753AB - .string "Some people make their SECRET BASES in\n" - .string "hard-to-find places.\l" - .string "Do they want to just lie low?$" - -SecretBase_RedCave1_Text_275405: @ 8275405 - .string "People have told me that you can get\n" - .string "decorations in several ways.\p" - .string "We should have a race to see who can\n" - .string "get nicer decorations and furniture!\p" - .string "In the meantime, want to battle?$" - -SecretBase_RedCave1_Text_2754B2: @ 82754B2 - .string "This is my SECRET BASE.\n" - .string "I can't lose!$" - -SecretBase_RedCave1_Text_2754D8: @ 82754D8 - .string "I'll battle with you anytime.$" - -SecretBase_RedCave1_Text_2754F6:: @ 82754F6 - .string "Huh?\n" - .string "Did I just lose?$" - -SecretBase_RedCave1_Text_27550C: @ 827550C - .string "I won't lose at collecting decorations.\n" - .string "Come visit again!$" - -SecretBase_RedCave1_Text_275546: @ 8275546 - .string "People have told me that you can get\n" - .string "decorations in several ways.\p" - .string "We should have a race to see who can\n" - .string "get nicer decorations and furniture!$" - -SecretBase_RedCave1_Text_2755D2: @ 82755D2 - .string "I found a spot I liked, and I did it up\n" - .string "with my favorite decorations.\p" - .string "I raise my favorite POKéMON and grow\n" - .string "stronger with it.\p" - .string "That's what I do.\n" - .string "Want to battle with me?$" - -SecretBase_RedCave1_Text_275679: @ 8275679 - .string "Show me what you're made of!$" - -SecretBase_RedCave1_Text_275696: @ 8275696 - .string "I guess there are times when you're not\n" - .string "into it.$" - -SecretBase_RedCave1_Text_2756C7:: @ 82756C7 - .string "I know exactly what you're made of now.$" - -SecretBase_RedCave1_Text_2756EF: @ 82756EF - .string "We can both become stronger.\n" - .string "Let's keep at it!$" - -SecretBase_RedCave1_Text_27571E: @ 827571E - .string "I found a spot I liked, and I did it up\n" - .string "with my favorite decorations.\p" - .string "I raise my favorite POKéMON and grow\n" - .string "stronger with it.\p" - .string "Every day is a great day.$" - -SecretBase_RedCave1_Text_2757B5: @ 82757B5 - .string "You can learn a lot about the taste\n" - .string "and sense of people by the kinds of\l" - .string "decorations they have, and how they\l" - .string "display them.\p" - .string "What do you think of my taste?\n" - .string "Are you speechless?\p" - .string "Want to see my taste in battling?$" - -SecretBase_RedCave1_Text_275884: @ 8275884 - .string "There's no holding back!$" - -SecretBase_RedCave1_Text_27589D: @ 827589D - .string "I'll be happy to demonstrate my style\n" - .string "anytime.$" - -SecretBase_RedCave1_Text_2758CC:: @ 82758CC - .string "You're supremely talented!\n" - .string "Your power seems to be limitless…$" - -SecretBase_RedCave1_Text_275909: @ 8275909 - .string "What did you think of my style?\n" - .string "I'll keep on polishing it!$" - -SecretBase_RedCave1_Text_275944: @ 8275944 - .string "You can learn a lot about the taste\n" - .string "and sense of people by the kinds of\l" - .string "decorations they have, and how they\l" - .string "display them.\p" - .string "What do you think of my taste?\n" - .string "Are you speechless?$" - -EventScript_2759F1:: @ 82759F1 +SecretBase_EventScript_CheckEntrance:: @ 82759F1 special GetSecretBaseTypeInFrontOfPlayer special CheckPlayerHasSecretBase - compare VAR_RESULT, 1 - goto_if_eq EventScript_275BE8 + compare VAR_RESULT, TRUE + goto_if_eq SecretBase_EventScript_AlreadyHasSecretBase checkpartymove MOVE_SECRET_POWER setfieldeffectargument 0, VAR_RESULT buffermovename 1, MOVE_SECRET_POWER - compare VAR_0x8007, 1 - goto_if_eq EventScript_275A50 - compare VAR_0x8007, 2 - goto_if_eq EventScript_275A50 - compare VAR_0x8007, 3 - goto_if_eq EventScript_275A50 - compare VAR_0x8007, 4 - goto_if_eq EventScript_275A50 - compare VAR_0x8007, 5 - goto_if_eq EventScript_275AA9 - compare VAR_0x8007, 6 - goto_if_eq EventScript_275B02 + compare VAR_0x8007, SECRET_BASE_RED_CAVE + goto_if_eq SecretBase_EventScript_Cave + compare VAR_0x8007, SECRET_BASE_BROWN_CAVE + goto_if_eq SecretBase_EventScript_Cave + compare VAR_0x8007, SECRET_BASE_BLUE_CAVE + goto_if_eq SecretBase_EventScript_Cave + compare VAR_0x8007, SECRET_BASE_YELLOW_CAVE + goto_if_eq SecretBase_EventScript_Cave + compare VAR_0x8007, SECRET_BASE_TREE + goto_if_eq SecretBase_EventScript_Tree + compare VAR_0x8007, SECRET_BASE_SHRUB + goto_if_eq SecretBase_EventScript_Shrub end -EventScript_275A50:: @ 8275A50 +SecretBase_EventScript_Cave:: @ 8275A50 lockall - compare VAR_RESULT, 6 - goto_if_eq EventScript_275A91 + compare VAR_RESULT, PARTY_SIZE + goto_if_eq SecretBase_EventScript_CaveNoSecretPower bufferpartymonnick 0, VAR_RESULT - msgbox gText_23B704, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq EventScript_275CDE - msgbox Text_MonUsedHM, MSGBOX_DEFAULT + msgbox SecretBase_Text_IndentUseSecretPower, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_CancelOnEntrance + msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT closemessage dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE waitstate - goto EventScript_275A9B + goto SecretBase_EventScript_CaveEnter end -EventScript_275A86:: @ 8275A86 +SecretBase_EventScript_CaveUseSecretPower:: @ 8275A86 lockall dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE waitstate - goto EventScript_275A9B + goto SecretBase_EventScript_CaveEnter end -EventScript_275A91:: @ 8275A91 - msgbox gText_23B6E0, MSGBOX_DEFAULT +SecretBase_EventScript_CaveNoSecretPower:: @ 8275A91 + msgbox SecretBase_Text_SmallIndentInWall, MSGBOX_DEFAULT releaseall end -EventScript_275A9B:: @ 8275A9B - msgbox gText_23B73E, MSGBOX_DEFAULT - goto EventScript_275B5B +SecretBase_EventScript_CaveEnter:: @ 8275A9B + msgbox SecretBase_Text_DiscoveredSmallCavern, MSGBOX_DEFAULT + goto SecretBase_EventScript_InitSecretBase end -EventScript_275AA9:: @ 8275AA9 +SecretBase_EventScript_Tree:: @ 8275AA9 lockall - compare VAR_RESULT, 6 - goto_if_eq EventScript_275AEA + compare VAR_RESULT, PARTY_SIZE + goto_if_eq SecretBase_EventScript_TreeNoSecretPower bufferpartymonnick 0, VAR_RESULT - msgbox Text_274779, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq EventScript_275CDE - msgbox Text_MonUsedHM, MSGBOX_DEFAULT + msgbox SecretBase_Text_TreeUseSecretPower, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_CancelOnEntrance + msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT closemessage dofieldeffect FLDEFF_USE_SECRET_POWER_TREE waitstate - goto EventScript_275AF4 + goto SecretBase_EventScript_TreeEnter end -EventScript_275ADF:: @ 8275ADF +SecretBase_EventScript_TreeUseSecretPower:: @ 8275ADF lockall dofieldeffect FLDEFF_USE_SECRET_POWER_TREE waitstate - goto EventScript_275AF4 + goto SecretBase_EventScript_TreeEnter end -EventScript_275AEA:: @ 8275AEA - msgbox Text_274746, MSGBOX_DEFAULT +SecretBase_EventScript_TreeNoSecretPower:: @ 8275AEA + msgbox SecretBase_Text_TreeCanBeClimbed, MSGBOX_DEFAULT releaseall end -EventScript_275AF4:: @ 8275AF4 - msgbox Text_2747C2, MSGBOX_DEFAULT - goto EventScript_275B5B +SecretBase_EventScript_TreeEnter:: @ 8275AF4 + msgbox SecretBase_Text_VineDroppedDown, MSGBOX_DEFAULT + goto SecretBase_EventScript_InitSecretBase end -EventScript_275B02:: @ 8275B02 +SecretBase_EventScript_Shrub:: @ 8275B02 lockall - compare VAR_RESULT, 6 - goto_if_eq EventScript_275B43 + compare VAR_RESULT, PARTY_SIZE + goto_if_eq SecretBase_EventScript_ShrubNoSecretPower bufferpartymonnick 0, VAR_RESULT - msgbox Text_274825, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq EventScript_275CDE - msgbox Text_MonUsedHM, MSGBOX_DEFAULT + msgbox SecretBase_Text_ClumpUseSecretPower, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_CancelOnEntrance + msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT closemessage dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB waitstate - goto EventScript_275B4D + goto SecretBase_EventScript_ShrubEnter end -EventScript_275B38:: @ 8275B38 +SecretBase_EventScript_ShrubUseSecretPower:: @ 8275B38 lockall dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB waitstate - goto EventScript_275B4D + goto SecretBase_EventScript_ShrubEnter end -EventScript_275B43:: @ 8275B43 - msgbox Text_2747DD, MSGBOX_DEFAULT +SecretBase_EventScript_ShrubNoSecretPower:: @ 8275B43 + msgbox SecretBase_Text_ClumpOfGrass, MSGBOX_DEFAULT releaseall end -EventScript_275B4D:: @ 8275B4D - msgbox Text_274883, MSGBOX_DEFAULT - goto EventScript_275B5B +SecretBase_EventScript_ShrubEnter:: @ 8275B4D + msgbox SecretBase_Text_DiscoveredSmallEntrance, MSGBOX_DEFAULT + goto SecretBase_EventScript_InitSecretBase end -EventScript_275B5B:: @ 8275B5B +SecretBase_EventScript_InitSecretBase:: @ 8275B5B closemessage playse SE_KAIDAN setvar VAR_INIT_SECRET_BASE, 0 @@ -441,115 +156,113 @@ EventScript_275B5B:: @ 8275B5B waitstate end -SecretBase_RedCave1_EventScript_275B81:: @ 8275B81 - applymovement EVENT_OBJ_ID_PLAYER, SecretBase_RedCave1_Movement_275BB4 +SecretBase_EventScript_FirstEntrance:: @ 8275B81 + applymovement EVENT_OBJ_ID_PLAYER, SecretBase_Movement_275BB4 waitmovement 0 setvar VAR_INIT_SECRET_BASE, 1 - msgbox SecretBase_RedCave1_Text_23B759, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq SecretBase_RedCave1_EventScript_275BAB + msgbox SecretBase_Text_WantToMakeYourSecretBaseHere, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq SecretBase_EventScript_SetAsBase closemessage playse SE_KAIDAN special ClearAndLeaveSecretBase end -SecretBase_RedCave1_EventScript_275BAB:: @ 8275BAB +SecretBase_EventScript_SetAsBase:: @ 8275BAB closemessage setflag FLAG_RECEIVED_SECRET_POWER special EnterNewlyCreatedSecretBase waitstate end -SecretBase_RedCave1_Movement_275BB4: @ 8275BB4 +SecretBase_Movement_275BB4: @ 8275BB4 walk_up walk_up step_end -EventScript_275BB7:: @ 8275BB7 +SecretBase_EventScript_Enter:: @ 8275BB7 lockall setvar VAR_INIT_SECRET_BASE, 1 playse SE_KAIDAN special IsCurSecretBaseOwnedByAnotherPlayer - compare VAR_RESULT, 0 - goto_if_eq EventScript_275BDB + compare VAR_RESULT, FALSE + goto_if_eq SecretBase_EventScript_EnterPlayersBase clearflag FLAG_DECORATION_0 special EnterSecretBase setvar VAR_SECRET_BASE_INITIALIZED, 0 waitstate end -EventScript_275BDB:: @ 8275BDB +SecretBase_EventScript_EnterPlayersBase:: @ 8275BDB setflag FLAG_DECORATION_0 special EnterSecretBase setvar VAR_SECRET_BASE_INITIALIZED, 0 waitstate end -EventScript_275BE8:: @ 8275BE8 +SecretBase_EventScript_AlreadyHasSecretBase:: @ 8275BE8 checkpartymove MOVE_SECRET_POWER - compare VAR_RESULT, 6 - goto_if_eq EventScript_275C9A + compare VAR_RESULT, PARTY_SIZE + goto_if_eq SecretBase_EventScript_NoSecretPower setfieldeffectargument 0, VAR_RESULT setorcopyvar VAR_0x8004, VAR_RESULT lockall special GetSecretBaseNearbyMapName - msgbox Text_276A3D, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq EventScript_275CDE - msgbox Text_2766AA, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq EventScript_275CDE - fadescreenswapbuffers 1 + msgbox SecretBase_Text_WouldYouLikeToMoveBases, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_CancelOnEntrance + msgbox SecretBase_Text_AllDecorationsWillBeReturned, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_CancelOnEntrance + fadescreenswapbuffers FADE_TO_BLACK special MoveOutOfSecretBaseFromOutside closemessage - fadescreenswapbuffers 0 - msgbox Text_276A95, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq EventScript_275CDE + fadescreenswapbuffers FADE_FROM_BLACK + msgbox SecretBase_Text_MovingCompletedUseSecretPower, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_CancelOnEntrance bufferpartymonnick 0, VAR_0x8004 buffermovename 1, MOVE_SECRET_POWER - msgbox Text_MonUsedHM, MSGBOX_DEFAULT + msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT closemessage closemessage - compare VAR_0x8007, 1 - goto_if_eq EventScript_275A86 - compare VAR_0x8007, 2 - goto_if_eq EventScript_275A86 - compare VAR_0x8007, 3 - goto_if_eq EventScript_275A86 - compare VAR_0x8007, 4 - goto_if_eq EventScript_275A86 - compare VAR_0x8007, 5 - goto_if_eq EventScript_275ADF - compare VAR_0x8007, 6 - goto_if_eq EventScript_275B38 + compare VAR_0x8007, SECRET_BASE_RED_CAVE + goto_if_eq SecretBase_EventScript_CaveUseSecretPower + compare VAR_0x8007, SECRET_BASE_BROWN_CAVE + goto_if_eq SecretBase_EventScript_CaveUseSecretPower + compare VAR_0x8007, SECRET_BASE_BLUE_CAVE + goto_if_eq SecretBase_EventScript_CaveUseSecretPower + compare VAR_0x8007, SECRET_BASE_YELLOW_CAVE + goto_if_eq SecretBase_EventScript_CaveUseSecretPower + compare VAR_0x8007, SECRET_BASE_TREE + goto_if_eq SecretBase_EventScript_TreeUseSecretPower + compare VAR_0x8007, SECRET_BASE_SHRUB + goto_if_eq SecretBase_EventScript_ShrubUseSecretPower releaseall end -EventScript_275C9A:: @ 8275C9A +SecretBase_EventScript_NoSecretPower:: @ 8275C9A lockall - compare VAR_0x8007, 1 - goto_if_eq EventScript_275A91 - compare VAR_0x8007, 2 - goto_if_eq EventScript_275A91 - compare VAR_0x8007, 3 - goto_if_eq EventScript_275A91 - compare VAR_0x8007, 4 - goto_if_eq EventScript_275A91 - compare VAR_0x8007, 5 - goto_if_eq EventScript_275AEA - compare VAR_0x8007, 6 - goto_if_eq EventScript_275B43 + compare VAR_0x8007, SECRET_BASE_RED_CAVE + goto_if_eq SecretBase_EventScript_CaveNoSecretPower + compare VAR_0x8007, SECRET_BASE_BROWN_CAVE + goto_if_eq SecretBase_EventScript_CaveNoSecretPower + compare VAR_0x8007, SECRET_BASE_BLUE_CAVE + goto_if_eq SecretBase_EventScript_CaveNoSecretPower + compare VAR_0x8007, SECRET_BASE_YELLOW_CAVE + goto_if_eq SecretBase_EventScript_CaveNoSecretPower + compare VAR_0x8007, SECRET_BASE_TREE + goto_if_eq SecretBase_EventScript_TreeNoSecretPower + compare VAR_0x8007, SECRET_BASE_SHRUB + goto_if_eq SecretBase_EventScript_ShrubNoSecretPower end -EventScript_275CDE:: @ 8275CDE +SecretBase_EventScript_CancelOnEntrance:: @ 8275CDE closemessage releaseall end -LittlerootTown_BrendansHouse_2F_EventScript_275CE1:: @ 8275CE1 -LittlerootTown_MaysHouse_2F_EventScript_275CE1:: @ 8275CE1 -SecretBase_RedCave1_EventScript_275CE1:: @ 8275CE1 +SecretBase_EventScript_SetDecorationFlags:: @ 8275CE1 setflag FLAG_DECORATION_1 setflag FLAG_DECORATION_2 setflag FLAG_DECORATION_3 @@ -566,518 +279,505 @@ SecretBase_RedCave1_EventScript_275CE1:: @ 8275CE1 setflag FLAG_DECORATION_14 return -EventScript_275D0C:: @ 8275D0C +SecretBase_EventScript_InitDecorations:: @ 8275D0C setvar VAR_0x8004, 0 setvar VAR_0x8005, 0 special InitSecretBaseDecorationSprites setvar VAR_SECRET_BASE_INITIALIZED, 1 end -EventScript_275D1F:: @ 8275D1F +SecretBase_EventScript_SetDecoration:: @ 8275D1F setvar VAR_0x8005, 0 - goto EventScript_275D2A + goto SecretBase_EventScript_SetDecoration2 end -EventScript_275D2A:: @ 8275D2A - special sub_8127E18 +SecretBase_EventScript_SetDecoration2:: @ 8275D2A + special SetDecoration end -EventScript_275D2E:: @ 8275D2E +SecretBase_EventScript_PutAwayDecoration:: @ 8275D2E setvar VAR_0x8004, 0 - goto EventScript_275D39 + goto SecretBase_EventScript_PutAwayDecorationLoop end -EventScript_275D39:: @ 8275D39 +SecretBase_EventScript_PutAwayDecorationLoop:: @ 8275D39 special sub_8129708 compare VAR_RESULT, 1 - goto_if_eq EventScript_275D63 + goto_if_eq SecretBase_EventScript_PutAwayDecorationEnd addvar VAR_0x8004, 1 compare VAR_0x8005, 0 - goto_if_eq EventScript_275D39 + goto_if_eq SecretBase_EventScript_PutAwayDecorationLoop removeobject VAR_0x8006 - setflag 0x8005 - goto EventScript_275D39 + setflag 0x8005 @ UB: GF likely meant setvar here; setflag 0x8005 is out of bounds + goto SecretBase_EventScript_PutAwayDecorationLoop end -EventScript_275D63:: @ 8275D63 +SecretBase_EventScript_PutAwayDecorationEnd:: @ 8275D63 end -SecretBase_BlueCave1_EventScript_275D64:: @ 8275D64 -SecretBase_BlueCave2_EventScript_275D64:: @ 8275D64 -SecretBase_BlueCave3_EventScript_275D64:: @ 8275D64 -SecretBase_BlueCave4_EventScript_275D64:: @ 8275D64 -SecretBase_BrownCave1_EventScript_275D64:: @ 8275D64 -SecretBase_BrownCave2_EventScript_275D64:: @ 8275D64 -SecretBase_BrownCave3_EventScript_275D64:: @ 8275D64 -SecretBase_BrownCave4_EventScript_275D64:: @ 8275D64 -SecretBase_RedCave1_EventScript_275D64:: @ 8275D64 -SecretBase_RedCave2_EventScript_275D64:: @ 8275D64 -SecretBase_RedCave3_EventScript_275D64:: @ 8275D64 -SecretBase_RedCave4_EventScript_275D64:: @ 8275D64 -SecretBase_Shrub1_EventScript_275D64:: @ 8275D64 -SecretBase_Shrub2_EventScript_275D64:: @ 8275D64 -SecretBase_Shrub3_EventScript_275D64:: @ 8275D64 -SecretBase_Shrub4_EventScript_275D64:: @ 8275D64 -SecretBase_Tree1_EventScript_275D64:: @ 8275D64 -SecretBase_Tree2_EventScript_275D64:: @ 8275D64 -SecretBase_Tree3_EventScript_275D64:: @ 8275D64 -SecretBase_Tree4_EventScript_275D64:: @ 8275D64 -SecretBase_YellowCave1_EventScript_275D64:: @ 8275D64 -SecretBase_YellowCave2_EventScript_275D64:: @ 8275D64 -SecretBase_YellowCave3_EventScript_275D64:: @ 8275D64 -SecretBase_YellowCave4_EventScript_275D64:: @ 8275D64 - special GetSecretBaseOwnerInteractionState +SecretBase_EventScript_RecordMixTrainer:: @ 8275D64 + special GetSecretBaseOwnerAndState compare VAR_0x8004, 0 - goto_if_eq SecretBase_RedCave1_EventScript_275DD6 + goto_if_eq SecretBase_EventScript_Trainer0 compare VAR_0x8004, 1 - goto_if_eq SecretBase_RedCave1_EventScript_275E4E + goto_if_eq SecretBase_EventScript_Trainer1 compare VAR_0x8004, 2 - goto_if_eq SecretBase_RedCave1_EventScript_275EC6 + goto_if_eq SecretBase_EventScript_Trainer2 compare VAR_0x8004, 3 - goto_if_eq SecretBase_RedCave1_EventScript_275F3E + goto_if_eq SecretBase_EventScript_Trainer3 compare VAR_0x8004, 4 - goto_if_eq SecretBase_RedCave1_EventScript_275FB6 + goto_if_eq SecretBase_EventScript_Trainer4 compare VAR_0x8004, 5 - goto_if_eq SecretBase_RedCave1_EventScript_27602E + goto_if_eq SecretBase_EventScript_Trainer5 compare VAR_0x8004, 6 - goto_if_eq SecretBase_RedCave1_EventScript_2760A6 + goto_if_eq SecretBase_EventScript_Trainer6 compare VAR_0x8004, 7 - goto_if_eq SecretBase_RedCave1_EventScript_27611E + goto_if_eq SecretBase_EventScript_Trainer7 compare VAR_0x8004, 8 - goto_if_eq SecretBase_RedCave1_EventScript_276196 + goto_if_eq SecretBase_EventScript_Trainer8 compare VAR_0x8004, 9 - goto_if_eq SecretBase_RedCave1_EventScript_27620E + goto_if_eq SecretBase_EventScript_Trainer9 end -SecretBase_RedCave1_EventScript_275DD6:: @ 8275DD6 +@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState +SecretBase_EventScript_Trainer0:: @ 8275DD6 lock faceplayer - goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275E25 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer0PreChampion compare VAR_RESULT, 1 - goto_if_eq SecretBase_RedCave1_EventScript_275E44 - msgbox SecretBase_RedCave1_Text_2748A0, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_275E2F + goto_if_eq SecretBase_EventScript_Trainer0PostBattle + msgbox SecretBase_Text_Trainer0Intro, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_Trainer0DeclineBattle setvar VAR_RESULT, 1 - special sub_80EA30C + special SetBattledOwnerFromResult call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_275E2F - msgbox SecretBase_RedCave1_Text_274939, MSGBOX_DEFAULT - goto SecretBase_RedCave1_EventScript_276286 + goto_if_eq SecretBase_EventScript_Trainer0DeclineBattle + msgbox SecretBase_Text_Trainer0AcceptBattle, MSGBOX_DEFAULT + goto SecretBase_EventScript_BattleTrainer end -SecretBase_RedCave1_EventScript_275E25:: @ 8275E25 - msgbox SecretBase_RedCave1_Text_2749ED, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer0PreChampion:: @ 8275E25 + msgbox SecretBase_Text_Trainer0PreChampion, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_275E2F:: @ 8275E2F - special sub_80EB300 +SecretBase_EventScript_Trainer0DeclineBattle:: @ 8275E2F + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 - special sub_80EA30C - msgbox SecretBase_RedCave1_Text_27494D, MSGBOX_DEFAULT + special SetBattledOwnerFromResult + msgbox SecretBase_Text_Trainer0DeclineBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_275E44:: @ 8275E44 - msgbox SecretBase_RedCave1_Text_2749AA, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer0PostBattle:: @ 8275E44 + msgbox SecretBase_Text_Trainer0PostBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_275E4E:: @ 8275E4E +@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState +SecretBase_EventScript_Trainer1:: @ 8275E4E lock faceplayer - goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275E9D + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer1PreChampion compare VAR_RESULT, 1 - goto_if_eq SecretBase_RedCave1_EventScript_275EBC - msgbox SecretBase_RedCave1_Text_274C13, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_275EA7 + goto_if_eq SecretBase_EventScript_Trainer1PostBattle + msgbox SecretBase_Text_Trainer1Intro, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_Trainer1DeclineBattle setvar VAR_RESULT, 1 - special sub_80EA30C + special SetBattledOwnerFromResult call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_275EA7 - msgbox SecretBase_RedCave1_Text_274CB0, MSGBOX_DEFAULT - goto SecretBase_RedCave1_EventScript_276286 + goto_if_eq SecretBase_EventScript_Trainer1DeclineBattle + msgbox SecretBase_Text_Trainer1AcceptBattle, MSGBOX_DEFAULT + goto SecretBase_EventScript_BattleTrainer end -SecretBase_RedCave1_EventScript_275E9D:: @ 8275E9D - msgbox SecretBase_RedCave1_Text_274D69, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer1PreChampion:: @ 8275E9D + msgbox SecretBase_Text_Trainer1PreChampion, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_275EA7:: @ 8275EA7 - special sub_80EB300 +SecretBase_EventScript_Trainer1DeclineBattle:: @ 8275EA7 + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 - special sub_80EA30C - msgbox SecretBase_RedCave1_Text_274CDA, MSGBOX_DEFAULT + special SetBattledOwnerFromResult + msgbox SecretBase_Text_Trainer1DeclineBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_275EBC:: @ 8275EBC - msgbox SecretBase_RedCave1_Text_274D34, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer1PostBattle:: @ 8275EBC + msgbox SecretBase_Text_Trainer1PostBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_275EC6:: @ 8275EC6 +@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState +SecretBase_EventScript_Trainer2:: @ 8275EC6 lock faceplayer - goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275F15 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer2PreChampion compare VAR_RESULT, 1 - goto_if_eq SecretBase_RedCave1_EventScript_275F34 - msgbox SecretBase_RedCave1_Text_274F39, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_275F1F + goto_if_eq SecretBase_EventScript_Trainer2PostBattle + msgbox SecretBase_Text_Trainer2Intro, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_Trainer2DeclineBattle setvar VAR_RESULT, 1 - special sub_80EA30C + special SetBattledOwnerFromResult call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_275F1F - msgbox SecretBase_RedCave1_Text_274FCA, MSGBOX_DEFAULT - goto SecretBase_RedCave1_EventScript_276286 + goto_if_eq SecretBase_EventScript_Trainer2DeclineBattle + msgbox SecretBase_Text_Trainer2AcceptBattle, MSGBOX_DEFAULT + goto SecretBase_EventScript_BattleTrainer end -SecretBase_RedCave1_EventScript_275F15:: @ 8275F15 - msgbox SecretBase_RedCave1_Text_2750A4, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer2PreChampion:: @ 8275F15 + msgbox SecretBase_Text_Trainer2PreChampion, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_275F1F:: @ 8275F1F - special sub_80EB300 +SecretBase_EventScript_Trainer2DeclineBattle:: @ 8275F1F + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 - special sub_80EA30C - msgbox SecretBase_RedCave1_Text_274FDA, MSGBOX_DEFAULT + special SetBattledOwnerFromResult + msgbox SecretBase_Text_Trainer2DeclineBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_275F34:: @ 8275F34 - msgbox SecretBase_RedCave1_Text_27502A, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer2PostBattle:: @ 8275F34 + msgbox SecretBase_Text_Trainer2PostBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_275F3E:: @ 8275F3E +@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState +SecretBase_EventScript_Trainer3:: @ 8275F3E lock faceplayer - goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275F8D + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer3PreChampion compare VAR_RESULT, 1 - goto_if_eq SecretBase_RedCave1_EventScript_275FAC - msgbox SecretBase_RedCave1_Text_275287, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_275F97 + goto_if_eq SecretBase_EventScript_Trainer3PostBattle + msgbox SecretBase_Text_Trainer3Intro, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_Trainer3DeclineBattle setvar VAR_RESULT, 1 - special sub_80EA30C + special SetBattledOwnerFromResult call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_275F97 - msgbox SecretBase_RedCave1_Text_275315, MSGBOX_DEFAULT - goto SecretBase_RedCave1_EventScript_276286 + goto_if_eq SecretBase_EventScript_Trainer3DeclineBattle + msgbox SecretBase_Text_Trainer3AcceptBattle, MSGBOX_DEFAULT + goto SecretBase_EventScript_BattleTrainer end -SecretBase_RedCave1_EventScript_275F8D:: @ 8275F8D - msgbox SecretBase_RedCave1_Text_2753AB, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer3PreChampion:: @ 8275F8D + msgbox SecretBase_Text_Trainer3PreChampion, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_275F97:: @ 8275F97 - special sub_80EB300 +SecretBase_EventScript_Trainer3DeclineBattle:: @ 8275F97 + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 - special sub_80EA30C - msgbox SecretBase_RedCave1_Text_275330, MSGBOX_DEFAULT + special SetBattledOwnerFromResult + msgbox SecretBase_Text_Trainer3DeclineBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_275FAC:: @ 8275FAC - msgbox SecretBase_RedCave1_Text_275374, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer3PostBattle:: @ 8275FAC + msgbox SecretBase_Text_Trainer3PostBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_275FB6:: @ 8275FB6 +@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState +SecretBase_EventScript_Trainer4:: @ 8275FB6 lock faceplayer - goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_276005 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer4PreChampion compare VAR_RESULT, 1 - goto_if_eq SecretBase_RedCave1_EventScript_276024 - msgbox SecretBase_RedCave1_Text_2755D2, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_27600F + goto_if_eq SecretBase_EventScript_Trainer4PostBattle + msgbox SecretBase_Text_Trainer4Intro, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_Trainer4DeclineBattle setvar VAR_RESULT, 1 - special sub_80EA30C + special SetBattledOwnerFromResult call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_27600F - msgbox SecretBase_RedCave1_Text_275679, MSGBOX_DEFAULT - goto SecretBase_RedCave1_EventScript_276286 + goto_if_eq SecretBase_EventScript_Trainer4DeclineBattle + msgbox SecretBase_Text_Trainer4AcceptBattle, MSGBOX_DEFAULT + goto SecretBase_EventScript_BattleTrainer end -SecretBase_RedCave1_EventScript_276005:: @ 8276005 - msgbox SecretBase_RedCave1_Text_27571E, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer4PreChampion:: @ 8276005 + msgbox SecretBase_Text_Trainer4PreChampion, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_27600F:: @ 827600F - special sub_80EB300 +SecretBase_EventScript_Trainer4DeclineBattle:: @ 827600F + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 - special sub_80EA30C - msgbox SecretBase_RedCave1_Text_275696, MSGBOX_DEFAULT + special SetBattledOwnerFromResult + msgbox SecretBase_Text_Trainer4DeclineBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_276024:: @ 8276024 - msgbox SecretBase_RedCave1_Text_2756EF, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer4PostBattle:: @ 8276024 + msgbox SecretBase_Text_Trainer4PostBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_27602E:: @ 827602E +@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState +SecretBase_EventScript_Trainer5:: @ 827602E lock faceplayer - goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_27607D + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer5PreChampion compare VAR_RESULT, 1 - goto_if_eq SecretBase_RedCave1_EventScript_27609C - msgbox SecretBase_RedCave1_Text_274A64, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_276087 + goto_if_eq SecretBase_EventScript_Trainer5PostBattle + msgbox SecretBase_Text_Trainer5Intro, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_Trainer5DeclineBattle setvar VAR_RESULT, 1 - special sub_80EA30C + special SetBattledOwnerFromResult call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_276087 - msgbox SecretBase_RedCave1_Text_274AFA, MSGBOX_DEFAULT - goto SecretBase_RedCave1_EventScript_276286 + goto_if_eq SecretBase_EventScript_Trainer5DeclineBattle + msgbox SecretBase_Text_Trainer5AcceptBattle, MSGBOX_DEFAULT + goto SecretBase_EventScript_BattleTrainer end -SecretBase_RedCave1_EventScript_27607D:: @ 827607D - msgbox SecretBase_RedCave1_Text_274BA2, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer5PreChampion:: @ 827607D + msgbox SecretBase_Text_Trainer5PreChampion, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_276087:: @ 8276087 - special sub_80EB300 +SecretBase_EventScript_Trainer5DeclineBattle:: @ 8276087 + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 - special sub_80EA30C - msgbox SecretBase_RedCave1_Text_274B0B, MSGBOX_DEFAULT + special SetBattledOwnerFromResult + msgbox SecretBase_Text_Trainer5DeclineBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_27609C:: @ 827609C - msgbox SecretBase_RedCave1_Text_274B6C, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer5PostBattle:: @ 827609C + msgbox SecretBase_Text_Trainer5PostBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_2760A6:: @ 82760A6 +@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState +SecretBase_EventScript_Trainer6:: @ 82760A6 lock faceplayer - goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_2760F5 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer6PreChampion compare VAR_RESULT, 1 - goto_if_eq SecretBase_RedCave1_EventScript_276114 - msgbox SecretBase_RedCave1_Text_274DD2, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_2760FF + goto_if_eq SecretBase_EventScript_Trainer6PostBattle + msgbox SecretBase_Text_Trainer6Intro, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_Trainer6DeclineBattle setvar VAR_RESULT, 1 - special sub_80EA30C + special SetBattledOwnerFromResult call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_2760FF - msgbox SecretBase_RedCave1_Text_274E41, MSGBOX_DEFAULT - goto SecretBase_RedCave1_EventScript_276286 + goto_if_eq SecretBase_EventScript_Trainer6DeclineBattle + msgbox SecretBase_Text_Trainer6AcceptBattle, MSGBOX_DEFAULT + goto SecretBase_EventScript_BattleTrainer end -SecretBase_RedCave1_EventScript_2760F5:: @ 82760F5 - msgbox SecretBase_RedCave1_Text_274EF1, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer6PreChampion:: @ 82760F5 + msgbox SecretBase_Text_Trainer6PreChampion, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_2760FF:: @ 82760FF - special sub_80EB300 +SecretBase_EventScript_Trainer6DeclineBattle:: @ 82760FF + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 - special sub_80EA30C - msgbox SecretBase_RedCave1_Text_274E5A, MSGBOX_DEFAULT + special SetBattledOwnerFromResult + msgbox SecretBase_Text_Trainer6DeclineBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_276114:: @ 8276114 - msgbox SecretBase_RedCave1_Text_274EB3, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer6PostBattle:: @ 8276114 + msgbox SecretBase_Text_Trainer6PostBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_27611E:: @ 827611E +@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState +SecretBase_EventScript_Trainer7:: @ 827611E lock faceplayer - goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_27616D + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer7PreChampion compare VAR_RESULT, 1 - goto_if_eq SecretBase_RedCave1_EventScript_27618C - msgbox SecretBase_RedCave1_Text_275114, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_276177 + goto_if_eq SecretBase_EventScript_Trainer7PostBattle + msgbox SecretBase_Text_Trainer7Intro, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_Trainer7DeclineBattle setvar VAR_RESULT, 1 - special sub_80EA30C + special SetBattledOwnerFromResult call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_276177 - msgbox SecretBase_RedCave1_Text_2751AF, MSGBOX_DEFAULT - goto SecretBase_RedCave1_EventScript_276286 + goto_if_eq SecretBase_EventScript_Trainer7DeclineBattle + msgbox SecretBase_Text_Trainer7AcceptBattle, MSGBOX_DEFAULT + goto SecretBase_EventScript_BattleTrainer end -SecretBase_RedCave1_EventScript_27616D:: @ 827616D - msgbox SecretBase_RedCave1_Text_275226, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer7PreChampion:: @ 827616D + msgbox SecretBase_Text_Trainer7PreChampion, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_276177:: @ 8276177 - special sub_80EB300 +SecretBase_EventScript_Trainer7DeclineBattle:: @ 8276177 + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 - special sub_80EA30C - msgbox SecretBase_RedCave1_Text_2751CA, MSGBOX_DEFAULT + special SetBattledOwnerFromResult + msgbox SecretBase_Text_Trainer7DeclineBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_27618C:: @ 827618C - msgbox SecretBase_RedCave1_Text_2751EC, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer7PostBattle:: @ 827618C + msgbox SecretBase_Text_Trainer7PostBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_276196:: @ 8276196 +@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState +SecretBase_EventScript_Trainer8:: @ 8276196 lock faceplayer - goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_2761E5 + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer8PreChampion compare VAR_RESULT, 1 - goto_if_eq SecretBase_RedCave1_EventScript_276204 - msgbox SecretBase_RedCave1_Text_275405, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_2761EF + goto_if_eq SecretBase_EventScript_Trainer8PostBattle + msgbox SecretBase_Text_Trainer8Intro, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_Trainer8DeclineBattle setvar VAR_RESULT, 1 - special sub_80EA30C + special SetBattledOwnerFromResult call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_2761EF - msgbox SecretBase_RedCave1_Text_2754B2, MSGBOX_DEFAULT - goto SecretBase_RedCave1_EventScript_276286 + goto_if_eq SecretBase_EventScript_Trainer8DeclineBattle + msgbox SecretBase_Text_Trainer8AcceptBattle, MSGBOX_DEFAULT + goto SecretBase_EventScript_BattleTrainer end -SecretBase_RedCave1_EventScript_2761E5:: @ 82761E5 - msgbox SecretBase_RedCave1_Text_275546, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer8PreChampion:: @ 82761E5 + msgbox SecretBase_Text_Trainer8PreChampion, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_2761EF:: @ 82761EF - special sub_80EB300 +SecretBase_EventScript_Trainer8DeclineBattle:: @ 82761EF + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 - special sub_80EA30C - msgbox SecretBase_RedCave1_Text_2754D8, MSGBOX_DEFAULT + special SetBattledOwnerFromResult + msgbox SecretBase_Text_Trainer8DeclineBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_276204:: @ 8276204 - msgbox SecretBase_RedCave1_Text_27550C, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer8PostBattle:: @ 8276204 + msgbox SecretBase_Text_Trainer8PostBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_27620E:: @ 827620E +@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState +SecretBase_EventScript_Trainer9:: @ 827620E lock faceplayer - goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_27625D + goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer9PreChampion compare VAR_RESULT, 1 - goto_if_eq SecretBase_RedCave1_EventScript_27627C - msgbox SecretBase_RedCave1_Text_2757B5, MSGBOX_YESNO - compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_276267 + goto_if_eq SecretBase_EventScript_Trainer9PostBattle + msgbox SecretBase_Text_Trainer9Intro, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_Trainer9DeclineBattle setvar VAR_RESULT, 1 - special sub_80EA30C + special SetBattledOwnerFromResult call Common_EventScript_SaveGame compare VAR_RESULT, 0 - goto_if_eq SecretBase_RedCave1_EventScript_276267 - msgbox SecretBase_RedCave1_Text_275884, MSGBOX_DEFAULT - goto SecretBase_RedCave1_EventScript_276286 + goto_if_eq SecretBase_EventScript_Trainer9DeclineBattle + msgbox SecretBase_Text_Trainer9AcceptBattle, MSGBOX_DEFAULT + goto SecretBase_EventScript_BattleTrainer end -SecretBase_RedCave1_EventScript_27625D:: @ 827625D - msgbox SecretBase_RedCave1_Text_275944, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer9PreChampion:: @ 827625D + msgbox SecretBase_Text_Trainer9PreChampion, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_276267:: @ 8276267 - special sub_80EB300 +SecretBase_EventScript_Trainer9DeclineBattle:: @ 8276267 + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 - special sub_80EA30C - msgbox SecretBase_RedCave1_Text_27589D, MSGBOX_DEFAULT + special SetBattledOwnerFromResult + msgbox SecretBase_Text_Trainer9DeclineBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_27627C:: @ 827627C - msgbox SecretBase_RedCave1_Text_275909, MSGBOX_DEFAULT +SecretBase_EventScript_Trainer9PostBattle:: @ 827627C + msgbox SecretBase_Text_Trainer9PostBattle, MSGBOX_DEFAULT release end -SecretBase_RedCave1_EventScript_276286:: @ 8276286 +SecretBase_EventScript_BattleTrainer:: @ 8276286 special PrepSecretBaseBattleFlags setvar VAR_0x8004, SPECIAL_BATTLE_SECRET_BASE setvar VAR_0x8005, 0 special DoSpecialTrainerBattle waitstate - compare VAR_RESULT, 3 - call_if_eq SecretBase_RedCave1_EventScript_2762BD - compare VAR_RESULT, 1 - call_if_eq SecretBase_RedCave1_EventScript_2762C1 - compare VAR_RESULT, 2 - call_if_eq SecretBase_RedCave1_EventScript_2762C5 + compare VAR_RESULT, B_OUTCOME_DREW + call_if_eq SecretBase_EventScript_DrewSecretBaseBattle + compare VAR_RESULT, B_OUTCOME_WON + call_if_eq SecretBase_EventScript_WonSecretBaseBattle + compare VAR_RESULT, B_OUTCOME_LOST + call_if_eq SecretBase_EventScript_LostSecretBaseBattle special HealPlayerParty release end -SecretBase_RedCave1_EventScript_2762BD:: @ 82762BD - special sub_80EB438 +SecretBase_EventScript_DrewSecretBaseBattle:: @ 82762BD + special DrewSecretBaseBattle return -SecretBase_RedCave1_EventScript_2762C1:: @ 82762C1 - special sub_80EB368 +SecretBase_EventScript_WonSecretBaseBattle:: @ 82762C1 + special WonSecretBaseBattle return -SecretBase_RedCave1_EventScript_2762C5:: @ 82762C5 - special sub_80EB3D0 +SecretBase_EventScript_LostSecretBaseBattle:: @ 82762C5 + special LostSecretBaseBattle return .include "data/scripts/secret_power_tm.inc" SecretBase_EventScript_DollInteract:: @ 82766A2 - special sub_80EB290 + special CheckInteractedWithFriendsDollDecor end SecretBase_EventScript_CushionInteract:: @ 82766A6 - special sub_80EB2C8 + special CheckInteractedWithFriendsCushionDecor end -Text_2766AA: @ 82766AA +SecretBase_Text_AllDecorationsWillBeReturned: @ 82766AA .string "All decorations and furniture in your\n" .string "SECRET BASE will be returned to your PC.\p" .string "Is that okay?$" -Text_WantToRegisterSecretBase: @ 8276707 +SecretBase_Text_WantToRegisterSecretBase: @ 8276707 .string "Do you want to register\n" .string "{STR_VAR_1}'s SECRET BASE?$" -Text_276731: @ 8276731 +SecretBase_Text_AlreadyRegisteredDelete: @ 8276731 .string "This data is already registered.\n" .string "Would you like to delete it?$" -Text_TooManyBasesDeleteSome: @ 827676F +SecretBase_Text_TooManyBasesDeleteSome: @ 827676F .string "Up to 10 locations can be registered.\p" .string "Delete a location if you want to\n" .string "register another location.$" -Text_2767D1: @ 82767D1 +SecretBase_Text_RegistrationCompleted: @ 82767D1 .string "Registration completed.$" -Text_2767E9: @ 82767E9 +SecretBase_Text_DataUnregistered: @ 82767E9 .string "Data has been unregistered.$" -Text_SecretBaseBootUpPC: @ 8276805 +SecretBase_Text_BootUpPC: @ 8276805 .string "{PLAYER} booted up the PC.$" -Text_SecretBasePCStartMenu: @ 827681A +SecretBase_Text_WhatWouldYouLikeToDo: @ 827681A .string "What would you like to do?$" -Text_276835: @ 8276835 +SecretBase_Text_RegistryInfo: @ 8276835 .string "Once registered, a SECRET BASE will not\n" .string "disappear unless the other TRAINER\l" .string "moves it to a different location.\p" @@ -1087,27 +787,27 @@ Text_276835: @ 8276835 .string "Up to ten SECRET BASE locations\n" .string "may be registered.$" -Text_27692B: @ 827692B +SecretBase_Text_BattleTowerShield: @ 827692B .string "A shield of {STR_VAR_2} that marks winning\n" .string "{STR_VAR_1} times in a row at the BATTLE TOWER.$" -Text_276974: @ 8276974 +SecretBase_Text_ToyTV: @ 8276974 .string "A realistic toy TV. It could be easily\n" .string "mistaken for the real thing.$" -Text_2769B8: @ 82769B8 +SecretBase_Text_SeedotTV: @ 82769B8 .string "A toy TV shaped like a SEEDOT.\n" .string "It looks ready to roll away on its own…$" -Text_2769FF: @ 82769FF +SecretBase_Text_SkittyTV: @ 82769FF .string "A toy TV shaped like a SKITTY.\n" .string "It looks ready to stroll away…$" -Text_276A3D: @ 8276A3D +SecretBase_Text_WouldYouLikeToMoveBases: @ 8276A3D .string "You may only make one SECRET BASE.\p" .string "Would you like to move from the SECRET\n" .string "BASE near {STR_VAR_1}?$" -Text_276A95: @ 8276A95 +SecretBase_Text_MovingCompletedUseSecretPower: @ 8276A95 .string "Moving completed.\p" .string "Would you like to use the SECRET POWER?$" diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc index 647064829e..6684ec98b1 100644 --- a/data/scripts/secret_power_tm.inc +++ b/data/scripts/secret_power_tm.inc @@ -1,4 +1,4 @@ -Route111_Text_2762C9: @ 82762C9 +Route111_Text_MakingRoomUseTMToMakeYourOwn: @ 82762C9 .string "What's that?\n" .string "What am I doing?\p" .string "I'm thinking about making my own room\n" @@ -6,7 +6,7 @@ Route111_Text_2762C9: @ 82762C9 .string "I know! I'll give you this TM.\n" .string "Will you use it to make your own room?$" -Route111_Text_27636E: @ 827636E +Route111_Text_ExplainSecretPower: @ 827636E .string "Find a big tree that looks like it might\n" .string "drop some vines.\p" .string "Use SECRET POWER in front of the tree.\n" @@ -24,59 +24,59 @@ Route111_Text_27636E: @ 827636E .string "I'm going to look for other places, too.\n" .string "Okay, bye!$" -Route111_Text_27655C: @ 827655C +Route111_Text_DontWantThis: @ 827655C .string "Oh, you don't want this?\n" .string "If you change your mind, tell me, okay?$" -Route111_Text_27659D: @ 827659D +Route111_Text_DontHaveAnyRoom: @ 827659D .string "Oh, you don't have any room for this.\p" .string "I'll hold on to it, so come back for it\n" .string "another time, okay?$" -Route111_EventScript_2765FF:: @ 82765FF +Route111_EventScript_SecretPowerMan:: @ 82765FF lock faceplayer - msgbox Route111_Text_2762C9, MSGBOX_YESNO - compare VAR_RESULT, 1 - goto_if_eq Route111_EventScript_27661E - msgbox Route111_Text_27655C, MSGBOX_DEFAULT + msgbox Route111_Text_MakingRoomUseTMToMakeYourOwn, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq Route111_EventScript_GiveSecretPower + msgbox Route111_Text_DontWantThis, MSGBOX_DEFAULT release end -Route111_EventScript_27661E:: @ 827661E - giveitem_std ITEM_TM43 - compare VAR_RESULT, 0 - goto_if_eq Route111_EventScript_276680 - msgbox Route111_Text_27636E, MSGBOX_DEFAULT +Route111_EventScript_GiveSecretPower:: @ 827661E + giveitem ITEM_TM43 + compare VAR_RESULT, FALSE + goto_if_eq Route111_EventScript_NoRoomForSecretPower + msgbox Route111_Text_ExplainSecretPower, MSGBOX_DEFAULT closemessage setflag FLAG_RECEIVED_SECRET_POWER clearflag FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN - compare VAR_FACING, 3 - call_if_eq Route111_EventScript_27666A - compare VAR_FACING, 4 - call_if_eq Route111_EventScript_27666A - compare VAR_FACING, 2 - call_if_eq Route111_EventScript_276675 + compare VAR_FACING, DIR_WEST + call_if_eq Route111_EventScript_SecretPowerManExit + compare VAR_FACING, DIR_EAST + call_if_eq Route111_EventScript_SecretPowerManExit + compare VAR_FACING, DIR_NORTH + call_if_eq Route111_EventScript_SecretPowerManExitNorth removeobject VAR_LAST_TALKED release end -Route111_EventScript_27666A:: @ 827666A - applymovement VAR_LAST_TALKED, Route111_Movement_27668A +Route111_EventScript_SecretPowerManExit:: @ 827666A + applymovement VAR_LAST_TALKED, Route111_Movement_SecretPowerManExit waitmovement 0 return -Route111_EventScript_276675:: @ 8276675 - applymovement VAR_LAST_TALKED, Route111_Movement_276696 +Route111_EventScript_SecretPowerManExitNorth:: @ 8276675 + applymovement VAR_LAST_TALKED, Route111_Movement_SecretPowerManExitNorth waitmovement 0 return -Route111_EventScript_276680:: @ 8276680 - msgbox Route111_Text_27659D, MSGBOX_DEFAULT +Route111_EventScript_NoRoomForSecretPower:: @ 8276680 + msgbox Route111_Text_DontHaveAnyRoom, MSGBOX_DEFAULT release end -Route111_Movement_27668A: @ 827668A +Route111_Movement_SecretPowerManExit: @ 827668A walk_down walk_down walk_down @@ -90,7 +90,7 @@ Route111_Movement_27668A: @ 827668A walk_down step_end -Route111_Movement_276696: @ 8276696 +Route111_Movement_SecretPowerManExitNorth: @ 8276696 walk_left walk_down walk_down diff --git a/data/scripts/set_gym_trainers.inc b/data/scripts/set_gym_trainers.inc new file mode 100644 index 0000000000..1f5535805b --- /dev/null +++ b/data/scripts/set_gym_trainers.inc @@ -0,0 +1,92 @@ +Common_EventScript_SetGymTrainers:: @ 8271F43 + switch VAR_0x8008 + case 1, RusboroCity_Gym_SetGymTrainers + case 2, DewfordTown_Gym_SetGymTrainers + case 3, MauvilleCity_Gym_SetGymTrainers + case 4, LavaridgeTown_Gym_SetGymTrainers + case 5, PetalburgCity_Gym_SetGymTrainers + case 6, FortreeCity_Gym_SetGymTrainers + case 7, MossdeepCity_Gym_SetGymTrainers + case 8, SootopolisCity_Gym_SetGymTrainers + end + +RusboroCity_Gym_SetGymTrainers:: @ 8271FA1 + settrainerflag TRAINER_JOSH + settrainerflag TRAINER_TOMMY + settrainerflag TRAINER_MARC + return + +DewfordTown_Gym_SetGymTrainers:: @ 8271FAB + settrainerflag TRAINER_TAKAO + settrainerflag TRAINER_JOCELYN + settrainerflag TRAINER_LAURA + settrainerflag TRAINER_BRENDEN + settrainerflag TRAINER_CRISTIAN + settrainerflag TRAINER_LILITH + return + +MauvilleCity_Gym_SetGymTrainers:: @ 8271FBE + settrainerflag TRAINER_KIRK + settrainerflag TRAINER_SHAWN + settrainerflag TRAINER_BEN + settrainerflag TRAINER_VIVIAN + settrainerflag TRAINER_ANGELO + return + +LavaridgeTown_Gym_SetGymTrainers:: @ 8271FCE + settrainerflag TRAINER_COLE + settrainerflag TRAINER_AXLE + settrainerflag TRAINER_KEEGAN + settrainerflag TRAINER_GERALD + settrainerflag TRAINER_DANIELLE + settrainerflag TRAINER_JACE + settrainerflag TRAINER_JEFF + settrainerflag TRAINER_ELI + return + +PetalburgCity_Gym_SetGymTrainers:: @ 8271FE7 + settrainerflag TRAINER_RANDALL + settrainerflag TRAINER_PARKER + settrainerflag TRAINER_GEORGE + settrainerflag TRAINER_BERKE + settrainerflag TRAINER_MARY + settrainerflag TRAINER_ALEXIA + settrainerflag TRAINER_JODY + return + +FortreeCity_Gym_SetGymTrainers:: @ 8271FFD + settrainerflag TRAINER_JARED + settrainerflag TRAINER_FLINT + settrainerflag TRAINER_ASHLEY + settrainerflag TRAINER_EDWARDO + settrainerflag TRAINER_HUMBERTO + settrainerflag TRAINER_DARIUS + return + +MossdeepCity_Gym_SetGymTrainers:: @ 8272010 + settrainerflag TRAINER_PRESTON + settrainerflag TRAINER_VIRGIL + settrainerflag TRAINER_BLAKE + settrainerflag TRAINER_HANNAH + settrainerflag TRAINER_SAMANTHA + settrainerflag TRAINER_MAURA + settrainerflag TRAINER_SYLVIA + settrainerflag TRAINER_NATE + settrainerflag TRAINER_KATHLEEN + settrainerflag TRAINER_CLIFFORD + settrainerflag TRAINER_MACEY + settrainerflag TRAINER_NICHOLAS + return + +SootopolisCity_Gym_SetGymTrainers:: @ 8272035 + settrainerflag TRAINER_ANDREA + settrainerflag TRAINER_CRISSY + settrainerflag TRAINER_BRIANNA + settrainerflag TRAINER_CONNIE + settrainerflag TRAINER_BRIDGET + settrainerflag TRAINER_OLIVIA + settrainerflag TRAINER_TIFFANY + settrainerflag TRAINER_BETHANY + settrainerflag TRAINER_ANNIKA + settrainerflag TRAINER_DAPHNE + return diff --git a/data/scripts/shared_secret_base.inc b/data/scripts/shared_secret_base.inc new file mode 100644 index 0000000000..0fa61a214e --- /dev/null +++ b/data/scripts/shared_secret_base.inc @@ -0,0 +1,224 @@ +SecretBase_MapScripts:: + map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SecretBase_OnWarp + map_script MAP_SCRIPT_ON_TRANSITION, SecretBase_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, SecretBase_OnFrame + map_script MAP_SCRIPT_ON_RESUME, SecretBase_OnResume + .byte 0 + +SecretBase_OnWarp: @ 823B498 + map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, SecretBase_EventScript_InitDecorations + .2byte 0 + +SecretBase_OnTransition: @ 823B4A2 + call SecretBase_EventScript_SetDecorationFlags + special SetSecretBaseOwnerGfxId + special InitSecretBaseVars + end + +SecretBase_OnFrame: @ 823B4AE + map_script_2 VAR_INIT_SECRET_BASE, 0, SecretBase_EventScript_FirstEntrance + .2byte 0 + +SecretBase_OnResume: @ 823B4B8 + setstepcallback STEP_CB_SECRET_BASE + end + +SecretBase_EventScript_PC:: @ 823B4BB + lockall + playse SE_PC_LOGIN + message SecretBase_Text_BootUpPC + dofieldeffect FLDEFF_PCTURN_ON + waitstate + waitmessage + waitbuttonpress + playse SE_SELECT + goto SecretBase_EventScript_PCShowMainMenu + end + +SecretBase_EventScript_PCShowMainMenu:: @ 823B4D3 + message SecretBase_Text_WhatWouldYouLikeToDo + waitmessage + goto_if_set FLAG_SECRET_BASE_REGISTRY_ENABLED, SecretBase_EventScript_PCMainMenuWithRegister + goto SecretBase_EventScript_PCMainMenuWithoutRegister + end + +SecretBase_EventScript_PCCancel:: @ 823B4E8 + lockall + goto SecretBase_EventScript_PCShowMainMenu + end + +SecretBase_EventScript_PCMainMenuWithRegister:: @ 823B4EF + multichoice 0, 0, MULTI_BASE_PC_WITH_REGISTRY, 0 + switch VAR_RESULT + case 0, SecretBase_EventScript_PCDecorationMenu + case 1, SecretBase_EventScript_PCPackUp + case 2, SecretBase_EventScript_PCRegistryMenu + case 3, SecretBase_EventScript_PCTurnOff + case MULTI_B_PRESSED, SecretBase_EventScript_PCTurnOff + end + +SecretBase_EventScript_PCMainMenuWithoutRegister:: @ 823B531 + multichoice 0, 0, MULTI_BASE_PC_NO_REGISTRY, 0 + switch VAR_RESULT + case 0, SecretBase_EventScript_PCDecorationMenu + case 1, SecretBase_EventScript_PCPackUp + case 2, SecretBase_EventScript_PCTurnOff + case MULTI_B_PRESSED, SecretBase_EventScript_PCTurnOff + end + +SecretBase_EventScript_PCPackUp:: @ 823B568 + msgbox SecretBase_Text_AllDecorationsWillBeReturned, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_PCShowMainMenu + closemessage + special MoveOutOfSecretBase + releaseall + end + +SecretBase_EventScript_PCDecorationMenu:: @ 823B581 + special ShowSecretBaseDecorationMenu + end + +SecretBase_EventScript_PCRegistryMenu:: @ 823B585 + special ShowSecretBaseRegistryMenu + end + +SecretBase_EventScript_RecordMixingPC:: @ 823B589 + lockall + message SecretBase_Text_BootUpPC + playse SE_PC_LOGIN + dofieldeffect FLDEFF_PCTURN_ON + waitstate + waitmessage + waitbuttonpress + playse SE_SELECT + goto SecretBase_EventScript_PCRegisterMenu + end + +SecretBase_EventScript_PCRegisterMenu:: @ 823B5A1 + message SecretBase_Text_WhatWouldYouLikeToDo + waitmessage + multichoice 0, 0, MULTI_REGISTER_MENU, 0 + switch VAR_RESULT + case 0, SecretBase_EventScript_PCRegister + case 1, SecretBase_EventScript_PCRegistryMenu + case 2, SecretBase_EventScript_PCRegistryInfo + case 3, SecretBase_EventScript_PCTurnOff + case MULTI_B_PRESSED, SecretBase_EventScript_PCTurnOff + end + +SecretBase_EventScript_ShowRegisterMenu:: @ 823B5E9 + lockall + goto SecretBase_EventScript_PCRegisterMenu + end + +SecretBase_EventScript_PCRegister:: @ 823B5F0 + special GetCurSecretBaseRegistrationValidity + compare VAR_RESULT, 1 + goto_if_eq SecretBase_EventScript_AlreadyRegistered + compare VAR_RESULT, 2 + goto_if_eq SecretBase_EventScript_CantRegisterTooManyBases + special CopyCurSecretBaseOwnerName_StrVar1 + msgbox SecretBase_Text_WantToRegisterSecretBase, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_PCRegisterMenu + msgbox SecretBase_Text_RegistrationCompleted, MSGBOX_SIGN + special ToggleCurSecretBaseRegistry + special DoSecretBasePCTurnOffEffect + releaseall + end + +SecretBase_EventScript_AlreadyRegistered:: @ 823B62F + msgbox SecretBase_Text_AlreadyRegisteredDelete, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq SecretBase_EventScript_PCRegisterMenu + msgbox SecretBase_Text_DataUnregistered, MSGBOX_SIGN + special ToggleCurSecretBaseRegistry + special DoSecretBasePCTurnOffEffect + releaseall + end + +SecretBase_EventScript_CantRegisterTooManyBases:: @ 823B652 + msgbox SecretBase_Text_TooManyBasesDeleteSome, MSGBOX_SIGN + special DoSecretBasePCTurnOffEffect + closemessage + releaseall + end + +SecretBase_EventScript_PCRegistryInfo:: @ 823B660 + msgbox SecretBase_Text_RegistryInfo, MSGBOX_DEFAULT + goto SecretBase_EventScript_PCRegisterMenu + end + +SecretBase_EventScript_PCTurnOff:: @ 823B66E + special DoSecretBasePCTurnOffEffect + closemessage + releaseall + end + +@ Unused +SecretBase_EventScript_Poster:: @ 823B674 + special CheckInteractedWithFriendsPosterDecor + end + +@ Unused +SecretBase_EventScript_FurnitureBottom:: @ 823B678 + special CheckInteractedWithFriendsFurnitureBottom + end + +@ Unused +SecretBase_EventScript_FurnitureMiddle:: @ 823B67C + special CheckInteractedWithFriendsFurnitureMiddle + end + +@ Unused +SecretBase_EventScript_FurnitureTop:: @ 823B680 + special CheckInteractedWithFriendsFurnitureTop + end + +SecretBase_EventScript_SandOrnament:: @ 823B684 + special CheckInteractedWithFriendsSandOrnament + dofieldeffect FLDEFF_SAND_PILLAR + waitstate + end + +SecretBase_EventScript_ShieldOrToyTV:: @ 823B68C + special InteractWithShieldOrTVDecoration + compare VAR_RESULT, 0 + goto_if_eq SecretBase_EventScript_BattleTowerShield + compare VAR_RESULT, 1 + goto_if_eq SecretBase_EventScript_ToyTV + compare VAR_RESULT, 2 + goto_if_eq SecretBase_EventScript_SeedotTV + compare VAR_RESULT, 3 + goto_if_eq SecretBase_EventScript_SkittyTV + end + +SecretBase_EventScript_BattleTowerShield:: @ 823B6BC + msgbox SecretBase_Text_BattleTowerShield, MSGBOX_SIGN + end + +SecretBase_EventScript_ToyTV:: @ 823B6C5 + msgbox SecretBase_Text_ToyTV, MSGBOX_SIGN + end + +SecretBase_EventScript_SeedotTV:: @ 823B6CE + msgbox SecretBase_Text_SeedotTV, MSGBOX_SIGN + end + +SecretBase_EventScript_SkittyTV:: @ 823B6D7 + msgbox SecretBase_Text_SkittyTV, MSGBOX_SIGN + end + +SecretBase_Text_SmallIndentInWall:: @ 823B6E0 + .string "There's a small indent in the wall.$" + +SecretBase_Text_IndentUseSecretPower:: @ 823B704 + .string "There's a small indent in the wall.\p" + .string "Use the SECRET POWER?$" + +SecretBase_Text_DiscoveredSmallCavern:: @ 823B73E + .string "Discovered a small cavern!$" + +SecretBase_Text_WantToMakeYourSecretBaseHere: @ 823B759 + .string "Want to make your SECRET BASE here?$" diff --git a/data/scripts/std_msgbox.inc b/data/scripts/std_msgbox.inc new file mode 100644 index 0000000000..1d82bb381b --- /dev/null +++ b/data/scripts/std_msgbox.inc @@ -0,0 +1,48 @@ +Std_MsgboxNPC: @ 8271315 + lock + faceplayer + message 0x0 + waitmessage + waitbuttonpress + release + return + +Std_MsgboxSign: @ 8271320 + lockall + message 0x0 + waitmessage + waitbuttonpress + releaseall + return + +Std_MsgboxDefault: @ 827132A + message 0x0 + waitmessage + waitbuttonpress + return + +Std_MsgboxYesNo: @ 8271332 + message 0x0 + waitmessage + yesnobox 20, 8 + return + +Std_MsgboxGetPoints: @ 827133C + message 0x0 + playfanfare MUS_ME_POINTGET + waitfanfare + waitmessage + return + +Std_10: @ 8271347 + pokenavcall 0x0 + waitmessage + return + +EventScript_UnusedReturn: @ 827134E + return + +Common_EventScript_SaveGame:: @ 827134F + special SaveGame + waitstate + return diff --git a/data/scripts/surf.inc b/data/scripts/surf.inc new file mode 100644 index 0000000000..af6cac1dad --- /dev/null +++ b/data/scripts/surf.inc @@ -0,0 +1,16 @@ +EventScript_UseSurf:: @ 8271EA0 + checkpartymove MOVE_SURF + compare VAR_RESULT, PARTY_SIZE + goto_if_eq EventScript_EndUseSurf + bufferpartymonnick 0, VAR_RESULT + setfieldeffectargument 0, VAR_RESULT + lockall + msgbox gText_WantToUseSurf, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq EventScript_ReleaseUseSurf + msgbox gText_PlayerUsedSurf, MSGBOX_DEFAULT + dofieldeffect FLDEFF_USE_SURF +EventScript_ReleaseUseSurf:: @ 8271ED5 + releaseall +EventScript_EndUseSurf:: @ 8271ED6 + end diff --git a/data/scripts/test_signpost.inc b/data/scripts/test_signpost.inc new file mode 100644 index 0000000000..482fe18f27 --- /dev/null +++ b/data/scripts/test_signpost.inc @@ -0,0 +1,7 @@ +Text_ThisIsATestSignpostMsg:: @ 82C840A + .string "This is a test message.\n" + .string "This is a signpost.$" + +EventScript_TestSignpostMsg:: @ 82C8436 + msgbox Text_ThisIsATestSignpostMsg, MSGBOX_SIGN + end diff --git a/data/scripts/trainer_battle.inc b/data/scripts/trainer_battle.inc index c205a9d227..d609fcc932 100644 --- a/data/scripts/trainer_battle.inc +++ b/data/scripts/trainer_battle.inc @@ -1,3 +1,7 @@ +EventScript_271354:: @ 8271354 + cmdD8 + cmdD9 + EventScript_ShowSecondTrainerIntro:: @ 8271356 special SetUpTrainerEncounterMusic special EndTrainerApproach @@ -26,7 +30,7 @@ EventScript_TryDoDoubleTrainerBattle:: @ 827138A compare VAR_RESULT, 0 goto_if_ne EventScript_NoDoubleTrainerBattle special HasEnoughMonsForDoubleBattle - compare VAR_RESULT, 0 + compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS goto_if_ne EventScript_NotEnoughMonsForDoubleBattle special SetUpTrainerEncounterMusic special SetUpTrainerMovement @@ -69,7 +73,7 @@ EventScript_TryDoDoubleRematchBattle:: @ 82713F8 compare VAR_RESULT, 0 goto_if_eq EventScript_NoDoubleRematchTrainerBattle special HasEnoughMonsForDoubleBattle - compare VAR_RESULT, 0 + compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS goto_if_ne EventScript_NotEnoughMonsForDoubleRematchBattle special SetUpTrainerEncounterMusic special SetUpTrainerMovement @@ -126,3 +130,10 @@ EventScript_EndTrainerBattle:: @ 8271491 gotobeatenscript releaseall end + +Std_MsgboxAutoclose:: @ 8271494 + message 0x0 + waitmessage + waitbuttonpress + release + return diff --git a/data/scripts/trainer_hill.inc b/data/scripts/trainer_hill.inc new file mode 100644 index 0000000000..ca692e1efd --- /dev/null +++ b/data/scripts/trainer_hill.inc @@ -0,0 +1,70 @@ +TrainerHill_OnResume: @ 82C8336 + setvar VAR_TEMP_2, 0 + trainerhill_resumetimer + frontier_get FRONTIER_DATA_BATTLE_OUTCOME + compare VAR_RESULT, B_OUTCOME_LOST + goto_if_eq TrainerHill_1F_EventScript_Lost + compare VAR_RESULT, B_OUTCOME_DREW + goto_if_eq TrainerHill_1F_EventScript_Lost + compare VAR_RESULT, B_OUTCOME_FORFEITED + goto_if_eq TrainerHill_1F_EventScript_Lost + end + +TrainerHill_OnWarp: @ 82C8372 + map_script_2 VAR_TEMP_3, 0, TrainerHill_1F_EventScript_DummyOnWarp + .2byte 0 + +TrainerHill_1F_EventScript_DummyOnWarp:: @ 82C837C + setvar VAR_TEMP_3, 1 +@ forced stop + +TrainerHill_OnFrame: @ 82C8381 + map_script_2 VAR_TEMP_2, 0, TrainerHill_1F_EventScript_DummyWarpToEntranceCounter + map_script_2 VAR_TEMP_1, 1, TrainerHill_EventScript_WarpToEntranceCounter + .2byte 0 + +EventScript_TrainerHillTimer:: @ 82C8393 + lockall + trainerhill_gettime + msgbox TrainerHill_Entrance_Text_ChallengeTime, MSGBOX_DEFAULT + releaseall + end + +TrainerHill_1F_EventScript_DummyWarpToEntranceCounter:: @ 82C83A6 + setvar VAR_TEMP_2, 1 + trainerhill_clearresult + compare VAR_RESULT, 1 @ VAR_RESULT always 0 here + goto_if_eq TrainerHill_1F_EventScript_WarpSilentToEntranceCounter + end + +@ Never reached +TrainerHill_1F_EventScript_WarpSilentToEntranceCounter:: @ 82C83BF + warpsilent MAP_TRAINER_HILL_ENTRANCE, 255, 9, 6 + waitstate + end + +TrainerHill_1F_EventScript_Lost:: @ 82C83C9 + trainerhill_settrainerflags + trainerhill_lost + setvar VAR_TEMP_1, 1 + end + +TrainerHill_EventScript_WarpToEntranceCounter:: @ 82C83DF + setvar VAR_TEMP_1, 0 + warp MAP_TRAINER_HILL_ENTRANCE, 255, 9, 6 + waitstate + end + +@ Unused +TrainerHill_1F_Movement_SetInvisible:: @ 82C83EE + set_invisible + step_end + +@ TRAINER_PHILLIP is an actual Trainer on the SS Tidal, but is used as a placeholder here +TrainerHill_EventScript_TrainerBattle:: @ 82C83F0 + trainerbattle TRAINER_BATTLE_HILL, TRAINER_PHILLIP, 0, BattleFacility_TrainerBattle_PlaceholderText, BattleFacility_TrainerBattle_PlaceholderText + trainerhill_postbattletext + waitmessage + waitbuttonpress + closemessage + end diff --git a/data/scripts/trainer_script.inc b/data/scripts/trainer_script.inc new file mode 100644 index 0000000000..59577e8a8a --- /dev/null +++ b/data/scripts/trainer_script.inc @@ -0,0 +1,23 @@ +Std_RegisteredInMatchCall:: @ 82742C9 + buffertrainerclassname 0, VAR_0x8000 + buffertrainername 1, VAR_0x8000 + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox gText_RegisteredTrainerinPokeNav, MSGBOX_DEFAULT + waitfanfare + closemessage + delay 30 + return + +EventScript_TryGetTrainerScript:: @ 82742E6 + special ShouldTryGetTrainerScript + compare VAR_RESULT, 1 + goto_if_eq EventScript_GotoTrainerScript + releaseall + end + +EventScript_GotoTrainerScript:: @ 82742F6 + gotobeatenscript + releaseall + end diff --git a/data/scripts/tv.inc b/data/scripts/tv.inc index 4a276ffc06..a2d5473b19 100644 --- a/data/scripts/tv.inc +++ b/data/scripts/tv.inc @@ -1,50 +1,50 @@ EventScript_TV:: @ 827EE0B lockall - incrementgamestat 44 + incrementgamestat GAME_STAT_WATCHED_TV special ResetTVShowState specialvar VAR_RESULT, CheckForBigMovieOrEmergencyNewsOnTV compare VAR_RESULT, 2 - goto_if_eq EventScript_27EE9A + goto_if_eq EventScript_PlayersHouseMovie compare VAR_RESULT, 1 - goto_if_eq EventScript_27EEA4 - goto_if_unset FLAG_SYS_TV_START, EventScript_27EE8A - goto_if_set FLAG_SYS_TV_WATCH, EventScript_27EE8A + goto_if_eq EventScript_PlayersHouseLatiNewsFlash + goto_if_unset FLAG_SYS_TV_START, EventScript_MomDadMightLikeThis1 + goto_if_set FLAG_SYS_TV_WATCH, EventScript_MomDadMightLikeThis1 specialvar VAR_RESULT, IsTVShowInSearchOfTrainersAiring - compare VAR_RESULT, 1 - goto_if_eq EventScript_27EEFF - goto EventScript_27EEE9 + compare VAR_RESULT, TRUE + goto_if_eq EventScript_DoInSearchOfTrainers + goto EventScript_TryDoPokeNews end -EventScript_27EE54:: @ 827EE54 - specialvar VAR_0x8004, special_0x44 +EventScript_TryDoTVShow:: @ 827EE54 + specialvar VAR_0x8004, GetRandomActiveShowIdx compare VAR_0x8004, 255 - goto_if_eq EventScript_27EED8 - specialvar VAR_RESULT, special_0x4a + goto_if_eq EventScript_MomDadMightLikeThis2 + specialvar VAR_RESULT, GetNextActiveShowIfMassOutbreak compare VAR_RESULT, 255 - goto_if_eq EventScript_27EED8 + goto_if_eq EventScript_MomDadMightLikeThis2 copyvar VAR_0x8004, VAR_RESULT - specialvar VAR_RESULT, special_0x45 + specialvar VAR_RESULT, GetSelectedTVShow compare VAR_RESULT, 0 - goto_if_ne EventScript_27EEBA + goto_if_ne EventScript_DoTVShow end -EventScript_27EE8A:: @ 827EE8A +EventScript_MomDadMightLikeThis1:: @ 827EE8A special GetMomOrDadStringForTVMessage - msgbox gUnknown_08272BCF, MSGBOX_DEFAULT + msgbox gText_MomOrDadMightLikeThisProgram, MSGBOX_DEFAULT special TurnOffTVScreen releaseall end -EventScript_27EE9A:: @ 827EE9A - msgbox LittlerootTown_BrendansHouse_1F_Text_1F7F0F, MSGBOX_DEFAULT +EventScript_PlayersHouseMovie:: @ 827EE9A + msgbox PlayersHouse_1F_Text_TheresAMovieOnTV, MSGBOX_DEFAULT releaseall end -EventScript_27EEA4:: @ 827EEA4 - msgbox LittlerootTown_BrendansHouse_1F_Text_1F826F, MSGBOX_DEFAULT - @ This is a junk call. Its input var (VAR_0x8004) hasn't been set, and - @ It's called again when Mom actually asks for the color, overwriting - @ whatever it does here. +@ special InitRoamer is a junk call. Its input var (VAR_0x8004) hasn't been set, and +@ It's called again when Mom actually asks for the color, overwriting +@ whatever it does here. +EventScript_PlayersHouseLatiNewsFlash:: @ 827EEA4 + msgbox PlayersHouse_1F_Text_LatiEmergencyNewsFlash, MSGBOX_DEFAULT special InitRoamer clearflag FLAG_SYS_TV_LATIAS_LATIOS setflag FLAG_LATIOS_OR_LATIAS_ROAMING @@ -52,41 +52,41 @@ EventScript_27EEA4:: @ 827EEA4 releaseall end -EventScript_27EEBA:: @ 827EEBA +EventScript_DoTVShow:: @ 827EEBA special DoTVShow waitmessage waitbuttonpress compare VAR_RESULT, 1 - goto_if_ne EventScript_27EEBA - goto EventScript_27EED0 + goto_if_ne EventScript_DoTVShow + goto EventScript_TurnOffTV end -EventScript_27EED0:: @ 827EED0 +EventScript_TurnOffTV:: @ 827EED0 special TurnOffTVScreen setflag FLAG_SYS_TV_WATCH releaseall end -EventScript_27EED8:: @ 827EED8 +EventScript_MomDadMightLikeThis2:: @ 827EED8 special GetMomOrDadStringForTVMessage - msgbox gUnknown_08272BCF, MSGBOX_DEFAULT - goto EventScript_27EED0 + msgbox gText_MomOrDadMightLikeThisProgram, MSGBOX_DEFAULT + goto EventScript_TurnOffTV end -EventScript_27EEE9:: @ 827EEE9 +EventScript_TryDoPokeNews:: @ 827EEE9 special DoPokeNews - compare VAR_RESULT, 0 - goto_if_eq EventScript_27EE54 + compare VAR_RESULT, FALSE + goto_if_eq EventScript_TryDoTVShow waitmessage waitbuttonpress - goto EventScript_27EED0 + goto EventScript_TurnOffTV end -EventScript_27EEFF:: @ 827EEFF +EventScript_DoInSearchOfTrainers:: @ 827EEFF special DoTVShowInSearchOfTrainers waitmessage waitbuttonpress compare VAR_RESULT, 0 - goto_if_eq EventScript_27EEFF - goto EventScript_27EED0 + goto_if_eq EventScript_DoInSearchOfTrainers + goto EventScript_TurnOffTV end diff --git a/data/smokescreen.s b/data/smokescreen.s index aeb8e685b8..3cd16ee132 100644 --- a/data/smokescreen.s +++ b/data/smokescreen.s @@ -13,11 +13,11 @@ gUnknown_0831C604:: @ 831C604 .byte 0x00, 0x00, 0x00, 0x00 .align 2 -gUnknown_0831C620:: @ 831C620 +gSmokescreenImpactSpriteSheet:: @ 831C620 obj_tiles gSmokescreenImpactTiles, 0x0180, 0xd6eb .align 2 -gUnknown_0831C628:: @ 831C628 +gSmokescreenlImpactSpritePalette:: @ 831C628 obj_pal gSmokescreenImpactPalette, 0xd6eb .align 2 @@ -48,8 +48,8 @@ gUnknown_0831C678:: @ 831C678 .4byte gUnknown_0831C668 .align 2 -gUnknown_0831C688:: @ 831C688 - spr_template 0xd6eb, 0xd6eb, gUnknown_0831C630, gUnknown_0831C678, NULL, gDummySpriteAffineAnimTable, sub_80753B4 +gSmokescreenImpactSpriteTemplate:: @ 831C688 + spr_template 0xd6eb, 0xd6eb, gUnknown_0831C630, gUnknown_0831C678, NULL, gDummySpriteAffineAnimTable, SpriteCB_DestroySprite .align 2 gSpriteSheet_EnemyShadow:: @ 831C6A0 diff --git a/data/specials.inc b/data/specials.inc index ba93b098df..15d948211b 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -10,8 +10,8 @@ gSpecials:: @ 81DBA64 def_special HealPlayerParty def_special SetCableClubWarp - def_special sub_80AF948 - def_special sub_80AF9F8 + def_special DoCableClubWarp + def_special ReturnFromLinkRoom def_special CleanupLinkRoomState def_special ExitLinkRoom def_special SetPlayerSecretBase @@ -25,33 +25,33 @@ gSpecials:: @ 81DBA64 def_special ShowSecretBaseDecorationMenu def_special ShowSecretBaseRegistryMenu def_special PrepSecretBaseBattleFlags - def_special GetSecretBaseOwnerInteractionState + def_special GetSecretBaseOwnerAndState def_special InitSecretBaseDecorationSprites - def_special sub_8127E18 - def_special sub_81297AC + def_special SetDecoration + def_special GetEventObjectLocalIdByFlag def_special GetSecretBaseTypeInFrontOfPlayer def_special SetSecretBaseOwnerGfxId def_special sub_8129708 def_special EnterNewlyCreatedSecretBase - def_special sub_80EA30C + def_special SetBattledOwnerFromResult def_special DoSecretBasePCTurnOffEffect def_special RecordMixingPlayerSpotTriggered - def_special sub_80B2DA4 - def_special sub_80B2E4C - def_special sub_80B2E74 + def_special TryBattleLinkup + def_special TryTradeLinkup + def_special TryRecordMixLinkup def_special sub_80B2EA8 def_special CloseLink def_special ColosseumPlayerSpotTriggered def_special PlayerEnteredTradeSeat def_special nullsub_37 - def_special sub_80B3254 - def_special sub_80B2FD8 + def_special CableClubSaveGame + def_special TryBerryBlenderLinkup def_special GetLinkPartnerNames def_special SpawnLinkPartnerEventObject def_special SavePlayerParty def_special LoadPlayerParty def_special ChooseHalfPartyForBattle - def_special sp02A_crash_sound + def_special Script_ShowLinkTrainerCard def_special EventObjectInteractionGetBerryTreeData def_special EventObjectInteractionGetBerryName def_special EventObjectInteractionGetBerryCountString @@ -76,38 +76,38 @@ gSpecials:: @ 81DBA64 def_special TurnOffTVScreen def_special DoTVShow def_special DoPokeNews - def_special special_0x44 - def_special special_0x45 + def_special GetRandomActiveShowIdx + def_special GetSelectedTVShow def_special InterviewBefore def_special InterviewAfter - def_special sub_80EF8F8 + def_special IsLeadMonNicknamedOrNotEnglish def_special SetContestCategoryStringVarForInterview - def_special special_0x4a + def_special GetNextActiveShowIfMassOutbreak def_special TV_IsScriptShowKindAlreadyInQueue def_special CheckForBigMovieOrEmergencyNewsOnTV def_special GetMomOrDadStringForTVMessage def_special ResetTVShowState - def_special sub_80F831C - def_special sub_80F84B0 + def_special GetContestWinnerId + def_special GetContestPlayerId def_special sub_80F8814 - def_special sub_80F834C - def_special sub_80F8390 - def_special sub_80F8850 - def_special sub_80F82B4 + def_special BufferContestWinnerTrainerName + def_special BufferContestWinnerMonName + def_special BufferContestTrainerAndMonNames + def_special GetContestMonConditionRanking def_special SetContestTrainerGfxIds - def_special sub_80F7F30 + def_special TryEnterContestMon def_special sub_80F8970 - def_special sub_80F8AFC - def_special sub_80F82FC - def_special sub_80F7F7C - def_special sub_80F7FFC - def_special sub_80F8D24 + def_special SetLinkContestPlayerGfx + def_special GetContestMonCondition + def_special HasMonWonThisContestBefore + def_special GiveMonContestRibbon + def_special IsContestDebugActive def_special GiveMonArtistRibbon - def_special sub_80B3000 + def_special TryContestGModeLinkup def_special SaveGame def_special DoWateringBerryTreeAnim def_special ShowEasyChatScreen - def_special sub_811EECC + def_special ShowEasyChatProfile def_special ScrSpecial_GetCurrentMauvilleMan def_special ScrSpecial_HasBardSongBeenChanged def_special ScrSpecial_SaveBardSongLyrics @@ -134,34 +134,34 @@ gSpecials:: @ 81DBA64 def_special CompareSeedotSize def_special GetLotadSizeRecordInfo def_special CompareLotadSize - def_special TV_PutNameRaterShowOnTheAirIfNicknameChanged - def_special TV_CopyNicknameToStringVar1AndEnsureTerminated - def_special TV_CheckMonOTIDEqualsPlayerID + def_special TryPutNameRaterShowOnTheAir + def_special BufferMonNickname + def_special IsMonOTIDNotPlayers def_special BufferTrendyPhraseString def_special TrendyPhraseIsOld - def_special sub_811EF6C + def_special BufferDeepLinkPhrase def_special GetDewfordHallPaintingNameIndex def_special SwapRegisteredBike def_special CalculatePlayerPartyCount def_special CountPartyNonEggMons def_special CountPartyAliveNonEggMons_IgnoreVar0x8004Slot - def_special sub_80F88E8 - def_special sub_80F88DC - def_special sub_80F8864 + def_special ShouldReadyContestArtist + def_special SaveMuseumContestPainting + def_special DoesContestCategoryHaveWinner def_special CountPlayerContestPaintings def_special ShowContestWinner - def_special MauvilleGymSpecial2 - def_special MauvilleGymSpecial1 + def_special MauvilleGymSetDefaultBarriers + def_special MauvilleGymPressSwitch def_special ShowFieldMessageStringVar4 def_special DrawWholeMapView def_special StorePlayerCoordsInVars - def_special MauvilleGymSpecial3 - def_special PetalburgGymSpecial1 - def_special PetalburgGymSpecial2 + def_special MauvilleGymDeactivatePuzzle + def_special PetalburgGymSlideOpenRoomDoors + def_special PetalburgGymUnlockRoomDoors def_special GetPlayerTrainerIdOnesDigit def_special GetPlayerBigGuyGirlString def_special GetRivalSonDaughterString - def_special SetFlagInVar + def_special SetHiddenItemFlag def_special CableCarWarp def_special CableCar def_special Overworld_PlaySpecialMapMusic @@ -170,18 +170,18 @@ gSpecials:: @ 81DBA64 def_special ChooseStarter def_special StartWallyTutorialBattle def_special ChangePokemonNickname - def_special sub_81B94B0 + def_special ChoosePartyMon def_special GetFirstFreePokeblockSlot def_special DoBerryBlending def_special PlayRoulette - def_special ShouldMoveLilycoveFanClubMember - def_special GetNumMovedLilycoveFanClubMembers - def_special BufferStreakTrainerText - def_special sub_813BA30 - def_special UpdateMovedLilycoveFanClubMembers - def_special sub_813BF60 - def_special sub_813BA60 - def_special sub_813BF7C + def_special IsFanClubMemberFanOfPlayer + def_special GetNumFansOfPlayerInTrainerFanClub + def_special BufferFanClubTrainerName + def_special TryLoseFansFromPlayTimeAfterLinkBattle + def_special TryLoseFansFromPlayTime + def_special SetPlayerGotFirstFans + def_special UpdateTrainerFanClubGameClear + def_special Script_TryGainNewFanFromCounter def_special RockSmashWildEncounter def_special GabbyAndTyGetBattleNum def_special GabbyAndTyAfterInterview @@ -197,7 +197,7 @@ gSpecials:: @ 81DBA64 def_special RejectEggFromDayCare def_special GiveEggFromDaycare def_special SetDaycareCompatibilityString - def_special GetSelectedMonNickAndSpecies + def_special GetSelectedMonNicknameAndSpecies def_special StoreSelectedPokemonInDaycare def_special ChooseSendDaycareMon def_special ShowDaycareLevelMenu @@ -206,12 +206,12 @@ gSpecials:: @ 81DBA64 def_special TakePokemonFromDaycare def_special ScriptHatchMon def_special EggHatch - def_special sub_8071614 + def_special CheckDaycareMonReceivedMail def_special ShowLinkBattleRecords def_special IsEnoughForCostInVar0x8005 def_special SubtractMoneyFromVar0x8005 - def_special ExecuteWhiteOut - def_special sp0C8_whiteout_maybe + def_special TryFieldPoisonWhiteOut + def_special SetCB2WhiteOut def_special RotatingGate_InitPuzzle def_special RotatingGate_InitPuzzleAndGraphics def_special SetSSTidalFlag @@ -227,14 +227,14 @@ gSpecials:: @ 81DBA64 def_special ShowPokedexRatingMessage def_special DoPCTurnOnEffect def_special DoPCTurnOffEffect - def_special SetDepartmentStoreFloorVar + def_special SetDeptStoreFloor def_special DoLotteryCornerComputerEffect def_special EndLotteryCornerComputerEffect - def_special sub_81B951C - def_special sub_81B968C - def_special sub_81B9770 - def_special sub_81B9718 - def_special sub_81B96D0 + def_special ChooseMonForMoveRelearner + def_special MoveDeleterChooseMoveToForget + def_special MoveDeleterForgetMove + def_special BufferMoveDeleterNicknameAndMove + def_special GetNumMovesSelectedMonHas def_special TeachMoveRelearnerMove def_special GetRecordedCyclingRoadResults def_special Special_BeginCyclingRoadChallenge @@ -243,7 +243,7 @@ gSpecials:: @ 81DBA64 def_special UpdateCyclingRoadState def_special GetLeadMonFriendshipScore def_special CallFrontierUtilFunc - def_special sub_8161F74 + def_special CallBattleTowerFunc def_special CallBattleDomeFunction def_special CallBattlePalaceFunction def_special CopyEReaderTrainerGreeting @@ -253,10 +253,10 @@ gSpecials:: @ 81DBA64 def_special CallBattlePikeFunction def_special CallBattlePyramidFunction def_special StopMapMusic - def_special sub_81B99B4 - def_special sub_81B9B80 - def_special sub_81B9D08 - def_special sub_80F9490 + def_special CallVerdanturfTentFunction + def_special CallFallarborTentFunction + def_special CallSlateportTentFunction + def_special ChoosePartyForBattleFrontier def_special ValidateEReaderTrainer def_special GetBestBattleTowerStreak def_special ReducePlayerPartyToSelectedMons @@ -271,9 +271,9 @@ gSpecials:: @ 81DBA64 def_special RetrieveLotteryNumber def_special PickLotteryCornerTicket def_special ShowBerryBlenderRecordWindow - def_special ResetTrickHouseEndRoomFlag - def_special SetTrickHouseEndRoomFlag - def_special ScrSpecial_CreatePCMenu + def_special ResetTrickHouseNuggetFlag + def_special SetTrickHouseNuggetFlag + def_special ScriptMenu_CreatePCMultichoice def_special AccessHallOfFamePC def_special Special_ShowDiploma def_special CheckLeadMonCool @@ -281,19 +281,19 @@ gSpecials:: @ 81DBA64 def_special CheckLeadMonCute def_special CheckLeadMonSmart def_special CheckLeadMonTough - def_special sub_80FB7A4 + def_special LookThroughPorthole def_special DoSoftReset def_special GameClear - def_special ShakeScreenInElevator - def_special nullsub_55 + def_special MoveElevator + def_special ShowGlassWorkshopMenu def_special SpawnCameraObject def_special RemoveCameraObject def_special GetPokeblockNameByMonNature def_special GetSecretBaseNearbyMapName def_special CheckRelicanthWailord def_special ShouldDoBrailleRegirockEffectOld - def_special sub_80B0534 - def_special sub_80B058C + def_special DoOrbEffect + def_special FadeOutOrbEffect def_special WaitWeather def_special BufferEReaderTrainerName def_special GetSlotMachineId @@ -305,22 +305,22 @@ gSpecials:: @ 81DBA64 def_special LeadMonHasEffortRibbon def_special GiveLeadMonEffortRibbon def_special Special_AreLeadMonEVsMaxedOut - def_special sub_8098574 - def_special sub_809859C + def_special Script_FacePlayer + def_special Script_ClearHeldMovement def_special InitRoamer def_special TryUpdateRusturfTunnelState def_special IsGrassTypeInParty - def_special sub_80AFC60 + def_special DoContestHallWarp def_special PutZigzagoonInPlayerParty def_special IsStarterInParty def_special CopyCurSecretBaseOwnerName_StrVar1 def_special ScriptCheckFreePokemonStorageSpace def_special DoSealedChamberShakingEffect1 - def_special sub_8139B60 - def_special GetShieldToyTVDecorationInfo + def_special ShowDeptStoreElevatorFloorSelect + def_special InteractWithShieldOrTVDecoration def_special IsPokerusInParty def_special SetSootopolisGymCrackedIceMetatiles - def_special sub_8139560 + def_special ShakeCamera def_special StartGroudonKyogreBattle def_special BattleSetup_StartLegendaryBattle def_special StartRegiBattle @@ -331,47 +331,47 @@ gSpecials:: @ 81DBA64 def_special DoDiveWarp def_special DoFallWarp def_special ShowContestEntryMonPic - def_special sub_80F8EB8 + def_special HideContestEntryMonPic def_special SetEReaderTrainerGfxId def_special BattleSetup_StartLatiBattle def_special SetRoute119Weather def_special SetRoute123Weather def_special ScriptGetMultiplayerId def_special ScriptGetPartyMonSpecies - def_special sub_81B98DC - def_special nullsub_54 + def_special IsSelectedMonEgg + def_special TryInitBattleTowerAwardManEventObject def_special MoveOutOfSecretBaseFromOutside def_special LoadPlayerBag - def_special sub_80B05B4 + def_special Script_FadeOutMapMusic def_special SetPacifidlogTMReceivedDay def_special GetDaysUntilPacifidlogTMAvailable def_special HasAllHoennMons - def_special MonOTNameMatchesPlayer + def_special MonOTNameNotPlayer def_special BufferLottoTicketNumber - def_special sub_81653CC - def_special sub_80F9370 + def_special TryHideBattleTowerReporter + def_special DoesPartyHaveEnigmaBerry def_special ScriptRandom - def_special sub_81AFDD0 - def_special sub_80EDCE8 - def_special sub_80EE2CC - def_special sub_80EE72C - def_special sub_80EE7C0 - def_special nullsub_55 + def_special SetChampionSaveWarp + def_special TryPutTreasureInvestigatorsOnAir + def_special TryPutLotteryWinnerReportOnAir + def_special TrySetUpTrainerFanClubSpecial + def_special ShouldHideFanClubInterviewer + def_special ShowGlassWorkshopMenu def_special PutFanClubSpecialOnTheAir - def_special sub_80EED10 - def_special sub_80EED34 - def_special sub_80EB1AC - def_special SetSecretBaseSecretsTvFlags_SandOrnament - def_special sub_80EB300 - def_special sub_80EB438 - def_special sub_80EB368 - def_special sub_80EB3D0 - def_special sub_80EB290 - def_special sub_80EB2C8 - def_special SetSecretBaseSecretsTvFlags_MiscFurnature - def_special SetSecretBaseSecretsTvFlags_LargeDecorationSpot - def_special SetSecretBaseSecretsTvFlags_SmallDecorationSpot - def_special SetSecretBaseSecretsTvFlags_Poster + def_special IncrementDailyPlantedBerries + def_special IncrementDailyPickedBerries + def_special InitSecretBaseVars + def_special CheckInteractedWithFriendsSandOrnament + def_special DeclinedSecretBaseBattle + def_special DrewSecretBaseBattle + def_special WonSecretBaseBattle + def_special LostSecretBaseBattle + def_special CheckInteractedWithFriendsDollDecor + def_special CheckInteractedWithFriendsCushionDecor + def_special CheckInteractedWithFriendsFurnitureBottom + def_special CheckInteractedWithFriendsFurnitureMiddle + def_special CheckInteractedWithFriendsFurnitureTop + def_special CheckInteractedWithFriendsPosterDecor def_special SetLilycoveLadyGfx def_special Script_GetLilycoveLadyId def_special GetFavorLadyState @@ -400,7 +400,7 @@ gSpecials:: @ 81DBA64 def_special ClearQuizLadyQuestionAndAnswer def_special QuizLadySetCustomQuestion def_special QuizLadyTakePrizeForCustomQuiz - def_special sub_813986C + def_special GetMysteryEventCardVal def_special QuizLadyRecordCustomQuizData def_special QuizLadySetWaitingForChallenger def_special BufferQuizCorrectAnswer @@ -414,7 +414,7 @@ gSpecials:: @ 81DBA64 def_special GetContestLadyMonSpecies def_special GetContestLadyCategory def_special PutLilycoveContestLadyShowOnTheAir - def_special sub_813B880 + def_special CloseBattlePikeCurtain def_special CallApprenticeFunction def_special ShouldTryGetTrainerScript def_special ShowMapNamePopup @@ -422,116 +422,116 @@ gSpecials:: @ 81DBA64 def_special DoMirageTowerCeilingCrumble def_special SetMirageTowerVisibility def_special StartPlayerDescendMirageTower - def_special sub_81398C0 + def_special BufferTMHMMoveName def_special IsWirelessAdapterConnected - def_special BerryBlenderLinkBecomeLeader - def_special BerryBlenderLinkJoinGroup + def_special TryBecomeLinkLeader + def_special TryJoinLinkGroup def_special UnionRoomSpecial def_special sub_801A42C - def_special sub_8016934 - def_special sp182_move_string + def_special InitUnionRoom + def_special BufferUnionRoomPlayerName def_special sub_801DC20 - def_special sub_81B8958 - def_special sub_8018090 - def_special sub_813990C + def_special ChooseMonForWirelessMinigame + def_special Script_ResetUnionRoomTrade + def_special IsBadEggInParty def_special ValidateReceivedWonderCard def_special HasAtLeastOneBerry - def_special sub_802C920 - def_special sub_802E3C4 - def_special sub_8027A5C - def_special sub_8027AAC - def_special sub_8139980 - def_special sub_81399F4 - def_special sub_8139D98 - def_special sub_80F905C - def_special sub_800B518 - def_special sub_80F90DC - def_special sub_80F910C - def_special sub_80F9160 + def_special IsPokemonJumpSpeciesInParty + def_special ShowPokemonJumpRecords + def_special IsDodrioInParty + def_special ShowDodrioBerryPickingRecords + def_special OffsetCameraForBattle + def_special GetDeptStoreDefaultFloorChoice + def_special BufferVarsForIVRater + def_special LinkContestWaitForConnection + def_special GetWirelessCommType + def_special LinkContestTryShowWirelessIndicator + def_special LinkContestTryHideWirelessIndicator + def_special IsWirelessContest def_special ShowRankingHallRecordsWindow def_special ScrollRankingHallRecordsWindow - def_special sub_8139F20 - def_special sub_80F9134 - def_special sub_80F9154 - def_special sub_80B3028 - def_special sub_813A128 + def_special ShowFrontierManiacMessage + def_special IsContestWithRSPlayer + def_special ClearLinkContestFlags + def_special TryContestEModeLinkup + def_special ShowScrollableMultichoice def_special sub_813A630 - def_special sub_813A080 - def_special sub_81C6A94 - def_special sub_81C4F24 - def_special sub_81B95E0 - def_special sub_81B9620 - def_special sub_813A76C - def_special sub_813A7B8 - def_special sub_813A958 - def_special sub_813A8FC - def_special sub_813A988 - def_special sub_813A9D0 - def_special sub_813A9A4 - def_special sub_813AA04 - def_special sub_813AA18 - def_special sub_813AA44 + def_special BufferBattleTowerElevatorFloors + def_special TryStoreHeldItemsInPyramidBag + def_special ChooseItemsToTossFromPyramidBag + def_special DoBattlePyramidMonsHaveHeldItem + def_special BattlePyramidChooseMonHeldItems + def_special SetBattleTowerLinkPlayerGfx + def_special ShowNatureGirlMessage + def_special ShowBattlePointsWindow + def_special UpdateBattlePointsWindow + def_special CloseBattlePointsWindow + def_special GiveFrontierBattlePoints + def_special TakeFrontierBattlePoints + def_special GetFrontierBattlePoints + def_special ShowFrontierExchangeCornerItemIconWindow + def_special CloseFrontierExchangeCornerItemIconWindow def_special DisplayBerryPowderVendorMenu def_special RemoveBerryPowderVendorMenu def_special HasEnoughBerryPowder def_special TakeBerryPowder def_special PrintPlayerBerryPowderAmount - def_special sub_813A820 - def_special sub_813A854 - def_special sub_813B7D8 - def_special sub_81C72A4 - def_special sp106_CreateStartMenu + def_special ShowFrontierGamblerLookingMessage + def_special ShowFrontierGamblerGoMessage + def_special Script_DoRayquazaScene + def_special OpenPokenavForTutorial + def_special ScriptMenu_CreateStartMenuForPokenavTutorial def_special CountPlayerTrainerStars - def_special sub_813AC7C - def_special sub_813ADB8 + def_special BufferBattleFrontierTutorMoveName + def_special CloseBattleFrontierTutorWindow def_special sub_813ADD4 - def_special sub_81B892C - def_special sub_813AEB4 + def_special ChooseMonForMoveTutor + def_special GetBattleFrontierTutorMoveIndex def_special sub_813AF48 def_special DoDeoxysRockInteraction - def_special sub_813B1D0 + def_special SetDeoxysRockPalette def_special CreateObedientEnemyMon def_special StartMirageTowerDisintegration def_special StartMirageTowerShake def_special StartMirageTowerFossilFallAndSink def_special ChangeBoxPokemonNickname - def_special get_unknown_box_id - def_special sub_813B21C + def_special GetPCBoxToSendMon + def_special ShouldShowBoxWasFullMessage def_special SetMatchCallRegisteredFlag - def_special sub_8175280 - def_special CreateUnusualWeatherEvent - def_special GetUnusualWeatherMapNameAndType - def_special sub_813B490 + def_special DoConfettiEffect + def_special CreateAbnormalWeatherEvent + def_special GetAbnormalWeatherMapNameAndType + def_special GetMartEmployeeObjectEventId def_special sub_80A08CC def_special Unused_SetWeatherSunny def_special sub_81AFDA0 - def_special sub_813B4E0 + def_special IsTrainerRegistered def_special ShouldDoBrailleRegicePuzzle def_special EnableNationalPokedex - def_special sub_80E2548 - def_special sub_80E2878 + def_special ScriptMenu_CreateLilycoveSSTidalMultichoice + def_special GetLilycoveSSTidalSelection def_special TurnOnTVScreen def_special sub_81D4A90 - def_special sub_813B514 - def_special sub_813B568 + def_special ShouldDistributeEonTicket + def_special LinkRetireStatusWithBattleTowerPartner def_special sub_813B534 def_special CallTrainerHillFunction - def_special sub_813B7D8 - def_special sub_813B80C + def_special Script_DoRayquazaScene @ Listed twice + def_special LoopWingFlapSE def_special sub_81D4BEC - def_special sub_80224D0 + def_special ShowBerryCrushRankings def_special TryBufferWaldaPhrase def_special DoWaldaNamingScreen def_special TryGetWallpaperWithWaldaPhrase - def_special sub_8139ED0 - def_special sub_813B968 - def_special sub_80F8B94 + def_special PlayerNotAtTrainerHillEntrance + def_special GetBattlePyramidHint + def_special LoadLinkContestPlayerPalettes def_special ShowTrainerHillRecords - def_special sub_80B4808 - def_special sub_813B9A0 - def_special sub_81B9918 - def_special sub_80722E0 + def_special PlayerFaceTrainerAfterBattle + def_special ResetHealLocationFromDewford + def_special IsLastMonThatKnowsSurf + def_special CountPartyAliveNonEggMons def_special TryPrepareSecondApproachingTrainer def_special RemoveRecordsWindow - def_special sub_8139C10 - def_special sub_80B3BC4 + def_special CloseDeptStoreElevatorWindow + def_special TrySetBattleTowerLinkType diff --git a/data/text/abnormal_weather.inc b/data/text/abnormal_weather.inc new file mode 100644 index 0000000000..42e61e68db --- /dev/null +++ b/data/text/abnormal_weather.inc @@ -0,0 +1,7 @@ +gText_AbnormalWeatherEnded_Rain:: @ 8273656 + .string "The massive downpour appears to\n" + .string "have stopped…$" + +gText_AbnormalWeatherEnded_Sun:: @ 8273684 + .string "The intense sunshine appears to\n" + .string "have subsided…$" diff --git a/data/text/apprentice.inc b/data/text/apprentice.inc new file mode 100644 index 0000000000..7d5bab1986 --- /dev/null +++ b/data/text/apprentice.inc @@ -0,0 +1,2527 @@ +gText_ApprenticeChallenge0:: @ 82B6EA5 + .string "Um, I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n" + .string "Snivel… This tension is getting to me…$" + +gText_ApprenticeChallenge1:: @ 82B6EEC + .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n" + .string "Here we come!$" + +gText_ApprenticeChallenge2:: @ 82B6F16 + .string "I'm the no. {STR_VAR_2} apprentice of {STR_VAR_1}!\n" + .string "Accept my challenge!$" + +gText_ApprenticeChallenge3:: @ 82B6F4C + .string "Um… I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice…\n" + .string "Do you think someone like me can win?$" + +gText_ApprenticeChallenge4:: @ 82B6F92 + .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n" + .string "I'll let you challenge me!$" + +gText_ApprenticeChallenge5:: @ 82B6FC9 + .string "I'm horribly busy, but I also happen\n" + .string "to be {STR_VAR_1}'s no. {STR_VAR_2} apprentice.$" + +gText_ApprenticeChallenge6:: @ 82B700C + .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n" + .string "Glad to meet you!$" + +gText_ApprenticeChallenge7:: @ 82B703A + .string "I serve as {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n" + .string "May I begin?$" + +gText_ApprenticeChallenge8:: @ 82B706A + .string "Eek! I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n" + .string "I'll do my best!$" + +gText_ApprenticeChallenge9:: @ 82B709C + .string "Yeehaw! I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n" + .string "Put 'em up!$" + +gText_ApprenticeChallenge10:: @ 82B70CC + .string "I'm {STR_VAR_1}'s 1,000th apprentice!\n" + .string "Actually, I'm no. {STR_VAR_2}! Here goes!$" + +gText_ApprenticeChallenge11:: @ 82B710A + .string "Yeah, I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n" + .string "Let's get rockin' and a-rollin'!$" + +gText_ApprenticeChallenge12:: @ 82B714D + .string "Yippee-yahoo! I'm what you call\n" + .string "{STR_VAR_1}'s no. {STR_VAR_2} apprentice!$" + +gText_ApprenticeChallenge13:: @ 82B7185 + .string "Cough! I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n" + .string "Good to meet you! Cough!$" + +gText_ApprenticeChallenge14:: @ 82B71C1 + .string "This is nerve-racking…\n" + .string "I'm the no. {STR_VAR_2} apprentice of {STR_VAR_1}.$" + +gText_ApprenticeChallenge15:: @ 82B71F9 + .string "I am {STR_VAR_1}'s no. {STR_VAR_2} apprentice,\n" + .string "and that's no lie.$" + +gText_ApprenticePleaseTeach0:: @ 82B7229 + .string "Are you… {PLAYER}?\n" + .string "Oh! Sniff…sob…\p" + .string "Oh! S-sorry…\n" + .string "I'm so nervous, I can't help crying…\p" + .string "I'm {STR_VAR_1}, and I really look up\n" + .string "to you, {PLAYER}.\p" + .string "I… I had this dream of one day meeting\n" + .string "you and asking you about POKéMON.\p" + .string "Please, please, {PLAYER}!\n" + .string "Please teach me about POKéMON!$" + +gText_ApprenticeRejectTeaching0:: @ 82B731C + .string "Oh… B-but…\n" + .string "Snivel… Waaaaaaah!\p" + .string "Please!\n" + .string "I'm begging you, please!$" + +gText_ApprenticeWhichLevelMode0:: @ 82B735B + .string "Oh, really? You will?\n" + .string "Awesome! Wicked! Awoooh!\p" + .string "Oh… I'm sorry…\n" + .string "I'm so happy, I'm crying…\p" + .string "Um… Then please tell me!\n" + .string "It's about the BATTLE TOWER.\p" + .string "Which would be better for me: Level 50\n" + .string "or the Open Level?$" + +gText_ApprenticeLevelModeThanks0:: @ 82B7423 + .string "{STR_VAR_1}?\n" + .string "Waaaaah!\p" + .string "Oh! I'm so sorry!\n" + .string "You've made me happy by choosing\l" + .string "the level for me, and it's made me cry…\p" + .string "Snivel…\n" + .string "Thank you so much!\l" + .string "Please talk with me again!$" + +gText_ApprenticePleaseTeach1:: @ 82B74C1 + .string "Wowee! You're {PLAYER}, aren't you?\n" + .string "You're awesomely strong, aren't you?\p" + .string "I'm {STR_VAR_1}!\n" + .string "I just became a TRAINER!\p" + .string "Please, {PLAYER}!\n" + .string "Can you be my teacher and tell me\l" + .string "lots about being a TRAINER?$" + +gText_ApprenticeRejectTeaching1:: @ 82B756F + .string "Aww, why?\n" + .string "Oh, please? Pretty please?\l" + .string "Please be my teacher, please!$" + +gText_ApprenticeWhichLevelMode1:: @ 82B75B2 + .string "Yay! Great!\p" + .string "The first thing I wanted to ask you is\n" + .string "about the BATTLE TOWER!\p" + .string "The Level 50 and Open Level Rooms…\n" + .string "Which would be perfect for me?$" + +gText_ApprenticeLevelModeThanks1:: @ 82B763F + .string "{STR_VAR_1}, huh? That's true!\n" + .string "I'll do my best there!\p" + .string "If we meet here again, please teach\n" + .string "me something else, teacher!$" + +gText_ApprenticePleaseTeach2:: @ 82B76AC + .string "Um… Are you {PLAYER}?\n" + .string "My name is {STR_VAR_1}.\p" + .string "I want to become a POKéMON TRAINER,\n" + .string "but I don't know what to do…\p" + .string "So I thought maybe I could ask you for\n" + .string "advice because you're so famous.\p" + .string "{PLAYER}, could you give me advice?$" + +gText_ApprenticeRejectTeaching2:: @ 82B7772 + .string "Oh, but…\p" + .string "I sincerely want to become a POKéMON\n" + .string "TRAINER!\p" + .string "Please, can you answer my questions?$" + +gText_ApprenticeWhichLevelMode2:: @ 82B77CE + .string "Thank you!\n" + .string "Here's my first question right away!\p" + .string "The BATTLE TOWER has two levels,\n" + .string "Level 50 and Open Level, right?\p" + .string "Which level do you think is more\n" + .string "suitable for me?$" + +gText_ApprenticeLevelModeThanks2:: @ 82B7871 + .string "Oh, the {STR_VAR_1} challenge?\n" + .string "Understood!\p" + .string "If I have another question, I'll come\n" + .string "back here for your advice!$" + +gText_ApprenticePleaseTeach3:: @ 82B78D4 + .string "Oh? Huh? You're…\n" + .string "No, that can't be true.\p" + .string "There isn't any way that someone\n" + .string "like me could meet {PLAYER}.\p" + .string "…You really are {PLAYER}?\n" + .string "I can't believe I'm talking to you!\p" + .string "When something this good happens,\n" + .string "only terrible things will happen to me\l" + .string "now, I just know it…\p" + .string "…I'm sorry…\n" + .string "I'm… {STR_VAR_1}…\p" + .string "There isn't anything special about\n" + .string "me that I can be proud of…\p" + .string "I shouldn't even say anything about\n" + .string "myself because you'll forget…\p" + .string "I had this dream that if I ever met\n" + .string "you, {PLAYER}, that maybe I could ask\l" + .string "you for advice as a TRAINER.\p" + .string "But I don't think you would agree\n" + .string "to that.\p" + .string "…Or will you be so kind as to give\n" + .string "me advice?$" + +gText_ApprenticeRejectTeaching3:: @ 82B7B1A + .string "I knew it…\p" + .string "It had to happen because I'm such\n" + .string "a really boring nobody…\p" + .string "But I thought just maybe…\n" + .string "You won't reconsider, will you?\p" + .string "But I can't give up just like that.\n" + .string "I'll ask you while I'm still lucky!\p" + .string "Please, will you be so kind as to give\n" + .string "me advice?$" + +gText_ApprenticeWhichLevelMode3:: @ 82B7C13 + .string "Really? I can't believe it!\n" + .string "I can't believe you'll advise me!\l" + .string "I… I'm so happy…\p" + .string "What I want to ask you is really\n" + .string "trivial, but I can't decide…\p" + .string "At the BATTLE TOWER, they let you\n" + .string "choose Level 50 or Open Level.\p" + .string "Which course do you think even I may\n" + .string "have a chance at?$" + +gText_ApprenticeLevelModeThanks3:: @ 82B7D18 + .string "{STR_VAR_1}? Okay!\n" + .string "But do you really think someone like\l" + .string "me would have a chance?\p" + .string "I'll do my best, even though I don't\n" + .string "think it will work.\p" + .string "Thank you very much for spending\n" + .string "time with someone like me.$" + +gText_ApprenticePleaseTeach4:: @ 82B7DD4 + .string "Oh! You're {PLAYER}{KUN}, aren't you?\p" + .string "I've heard that you're tough at\n" + .string "POKéMON!\p" + .string "I'm {STR_VAR_1}!\n" + .string "I'll be your friend!\p" + .string "Did you know?\p" + .string "You can't win at the BATTLE FRONTIER\n" + .string "if all you know is what they teach at\l" + .string "the TRAINER'S SCHOOL.\p" + .string "I'm willing to listen to your advice.\n" + .string "You'll agree, of course?$" + +gText_ApprenticeRejectTeaching4:: @ 82B7EE5 + .string "Huh? Why are you refusing me?\n" + .string "It's me who's asking you!\l" + .string "You have to reconsider!$" + +gText_ApprenticeWhichLevelMode4:: @ 82B7F35 + .string "Okay, so there is this something.\n" + .string "I want you to decide it for me.\p" + .string "You know that the BATTLE TOWER has\n" + .string "Level 50 and Open Level Rooms?\p" + .string "Which do you think would be good\n" + .string "for me, {PLAYER}{KUN}?$" + +gText_ApprenticeLevelModeThanks4:: @ 82B7FE8 + .string "Okay, {STR_VAR_1} is suitable for me?\n" + .string "Thank you!\p" + .string "Knowing that you made the decision,\n" + .string "{PLAYER}{KUN}, I won't be so upset if\l" + .string "I lose.\p" + .string "Okay, I'll look to you for advice again.\n" + .string "Bye!$" + +gText_ApprenticePleaseTeach5:: @ 82B8087 + .string "Oh, hi, there! {PLAYER}{KUN}!\n" + .string "I know you because you're famous!\l" + .string "Call me {STR_VAR_1}! Glad to meet you!\p" + .string "I'm a TRIATHLETE, so I keep myself\n" + .string "fit even while I raise POKéMON.\p" + .string "I'm also involved with other things\n" + .string "like work, napping, ballroom dancing…\p" + .string "Being this busy, it's not so easy for\n" + .string "me to become a decent TRAINER.\p" + .string "So, I have a proposition!\p" + .string "There must be a reason why we met.\n" + .string "So, {PLAYER}{KUN}, how about sharing your\l" + .string "wisdom with me every so often?$" + +gText_ApprenticeRejectTeaching5:: @ 82B822B + .string "Oh, but, please?\n" + .string "A guy like me needs someone like\l" + .string "you, {PLAYER}{KUN}!\p" + .string "Honestly, I need your advice!$" + +gText_ApprenticeWhichLevelMode5:: @ 82B8286 + .string "Thank you! That's more like it!\n" + .string "So, let's start with an easy one!\p" + .string "You know about the BATTLE TOWER's\n" + .string "two courses, right?\l" + .string "You know, Level 50 and Open Level.\p" + .string "Me being a busy guy, which one should\n" + .string "I gear up for?$" + +gText_ApprenticeLevelModeThanks5:: @ 82B8356 + .string "{STR_VAR_1}, huh? Okay, gotcha.\n" + .string "I'll find time somehow and give it a go!\p" + .string "…Whoops, I'd better go to work!\n" + .string "Thanks! See you around!$" + +gText_ApprenticePleaseTeach6:: @ 82B83CE + .string "No way! Uh-uh!\n" + .string "Are you maybe the real {PLAYER}?\p" + .string "A-hah! Awesome! I'm {STR_VAR_1},\n" + .string "so pleased to meet you!\p" + .string "{PLAYER}, you're very strong,\n" + .string "aren't you?\p" + .string "Everyone's talking about you!\p" + .string "Oh! I just had this great idea!\n" + .string "I'll get advice off you, {PLAYER}!\l" + .string "I'm sure it will make me tougher!\p" + .string "Isn't it a great idea?\n" + .string "Please, I want your advice!$" + +gText_ApprenticeRejectTeaching6:: @ 82B84FC + .string "Ahahaha, you can pretend to be mean,\n" + .string "but you can't fool me!\l" + .string "You really mean okay, don't you?$" + +gText_ApprenticeWhichLevelMode6:: @ 82B8559 + .string "Yay! I knew you'd have a big heart,\n" + .string "{PLAYER}!\p" + .string "What should I ask you first?\n" + .string "…Oh, I thought of something!\p" + .string "Drum roll, please!\n" + .string "The question I have is…\p" + .string "If I were to take a BATTLE TOWER\n" + .string "challenge, which way should I go?\p" + .string "Level 50 or Open Level?\n" + .string "Which suits me more?$" + +gText_ApprenticeLevelModeThanks6:: @ 82B8656 + .string "Oh-oh-oh!\n" + .string "{STR_VAR_1}, you say!\l" + .string "Thank you for a totally cool reply!\p" + .string "I guess that's about all I wanted\n" + .string "to ask you today.\p" + .string "Let's meet here again, okay?\n" + .string "Thanks!$" + +gText_ApprenticePleaseTeach7:: @ 82B86EA + .string "I beg your pardon, but…\n" + .string "Are you {PLAYER}?\p" + .string "I'm {STR_VAR_1}, and I am delighted to\n" + .string "make your acquaintance.\p" + .string "I have long been an admirer\n" + .string "of yours…\p" + .string "… … … … … …\p" + .string "Um… I hope you don't find this\n" + .string "request too much of a burden, but…\p" + .string "May I become your apprentice,\n" + .string "{PLAYER}?$" + +gText_ApprenticeRejectTeaching7:: @ 82B87DA + .string "Oh…!\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "…I must have fainted from shock.\n" + .string "I'm sorry, I must have misheard you.\p" + .string "Please! Please say that you will\n" + .string "accept me as your apprentice!$" + +gText_ApprenticeWhichLevelMode7:: @ 82B887C + .string "Oh… I'm delighted!\p" + .string "I don't wish to waste your time,\n" + .string "so please advise me on this.\p" + .string "I plan to take a BATTLE TOWER\n" + .string "challenge soon.\p" + .string "However, there are two levels…\p" + .string "Which would be most suitable for me?\n" + .string "Level 50 or Open Level?$" + +gText_ApprenticeLevelModeThanks7:: @ 82B8957 + .string "{STR_VAR_1} is your choice!\n" + .string "I see. I will do my best!\p" + .string "Thank you, {PLAYER}.\n" + .string "I hope I can count on you again.\l" + .string "Please take care!$" + +gText_ApprenticePleaseTeach8:: @ 82B89C6 + .string "Eek! Eek! {PLAYER}!\n" + .string "You spoke to me!\l" + .string "I… I'm overjoyed!\p" + .string "Me! My name is {STR_VAR_1}!\n" + .string "I just became a TRAINER!\p" + .string "I'm delighted I met you, {PLAYER},\n" + .string "the big name in POKéMON circles!\p" + .string "Oh-oh-oh, I know!\n" + .string "May I ask a huge favor, {PLAYER}?\p" + .string "Please take me in as your apprentice!\n" + .string "I want to learn from you!$" + +gText_ApprenticeRejectTeaching8:: @ 82B8ACF + .string "Waaaah!\n" + .string "{PLAYER} turned me down…\l" + .string "It… It's an invaluable experience!\p" + .string "{PLAYER}, please! I want to hear\n" + .string "an affirmative answer this time!\p" + .string "I beg you for your guidance!$" + +gText_ApprenticeWhichLevelMode8:: @ 82B8B66 + .string "Hieeeeh! {PLAYER} said yes!\n" + .string "{PLAYER} said yes!\p" + .string "I won't be able to sleep tonight…\n" + .string "Thank you ever so much!\p" + .string "Then, here's my question!\p" + .string "At the BATTLE TOWER, what is right\n" + .string "for me, Level 50 or Open Level?$" + +gText_ApprenticeLevelModeThanks8:: @ 82B8C20 + .string "{STR_VAR_1}! Perfectly understood!\n" + .string "I understand perfectly!\l" + .string "I'm deliriously delighted!\p" + .string "I hope you'll be willing to teach me\n" + .string "some more another time.$" + +gText_ApprenticePleaseTeach9:: @ 82B8CAA + .string "Whoa! Could you be…\n" + .string "Might you be… {PLAYER}{KUN}?!\l" + .string "That strong and famous TRAINER?\l" + .string "Well, hello, aren't I just the luckiest!\p" + .string "Hello, the name's {STR_VAR_1}!\p" + .string "I've been on the lookout for\n" + .string "a POKéMON teacher.\p" + .string "And with impeccably good timing,\n" + .string "along came you, {PLAYER}{KUN}!\p" + .string "So, there you have it, {PLAYER}{KUN}!\n" + .string "Let me apprentice under you!$" + +gText_ApprenticeRejectTeaching9:: @ 82B8DD3 + .string "Gwaaaah!\n" + .string "You're quite cool and tough…\p" + .string "Don't be that way, please.\n" + .string "I'm asking you!$" + +gText_ApprenticeWhichLevelMode9:: @ 82B8E24 + .string "Oh, yeah! That's a solid reply!\n" + .string "Excellent, I might add!\p" + .string "So how about a first piece of advice\n" + .string "on the BATTLE TOWER?\p" + .string "If I were to go, what would be better?\n" + .string "Level 50 or Open Level?$" + +gText_ApprenticeLevelModeThanks9:: @ 82B8ED5 + .string "Uh-huh, {STR_VAR_1} it is!\n" + .string "OK, A-OK!\l" + .string "I'll go show my mettle, like, jam!\p" + .string "All right, I'll look to you as my mentor!\n" + .string "Adios!$" + +gText_ApprenticePleaseTeach10:: @ 82B8F45 + .string "Oh, hey, {PLAYER}{KUN}, right?\n" + .string "The police were looking for you!\p" + .string "… … …\n" + .string "Of course I'm lying!\p" + .string "Me, I'm {STR_VAR_1}. Despite the way\n" + .string "I look, I'm the POKéMON CHAMPION!\l" + .string "…That's a lie, too!\p" + .string "This is no lie, though.\n" + .string "I'm not very good at battling.\p" + .string "So, how about you becoming my master\n" + .string "about all things POKéMON?$" + +gText_ApprenticeRejectTeaching10:: @ 82B905F + .string "If you're going to act cold like that,\n" + .string "I'll show you what I'll do!\p" + .string "Waaah! Waaah! Waaah!\n" + .string "Hiccup!\p" + .string "Hahaha, that was my FAKE TEARS!\p" + .string "Come on, will you please be\n" + .string "my POKéMON master?$" + +gText_ApprenticeWhichLevelMode10:: @ 82B910E + .string "Yippee!\n" + .string "I'll buy you a boat for that!\p" + .string "Of course I'm lying again!\n" + .string "But… Thank you, master!\p" + .string "You know how there's Level 50 and\n" + .string "Open Level at the BATTLE TOWER?\p" + .string "I'm having trouble deciding which\n" + .string "level I should challenge…\p" + .string "Can you decide for me, master?$" + +gText_ApprenticeLevelModeThanks10:: @ 82B9204 + .string "Okay, so {STR_VAR_1} is better!\n" + .string "I'll go to the other level, then!\p" + .string "Just kidding!\n" + .string "I'll obey your teaching, master!\p" + .string "Thanks, master!\n" + .string "I hope you'll keep teaching me!$" + +gText_ApprenticePleaseTeach11:: @ 82B929C + .string "A-H-O-Y!\n" + .string "And that spells ahoy, and it means hi!\p" + .string "I'm {STR_VAR_1}, the rappin' SAILOR\n" + .string "am I!\p" + .string "Your turn now, tell me a little about\n" + .string "yourself, give it a try!\p" + .string "Uh-huh, uh-huh!\n" + .string "{PLAYER}{KUN}'s your name,\l" + .string "and POKéMON's your game!\p" + .string "And you're at a delicate age\n" + .string "when all the world's your stage!\p" + .string "Anyway, I just want to say,\n" + .string "that you're the tenth TRAINER\l" + .string "I've spoken to today.\p" + .string "Let's make that a celebration!\n" + .string "Become my mentor for commemoration!$" + +gText_ApprenticeRejectTeaching11:: @ 82B9438 + .string "But!\n" + .string "You have to work with me!\p" + .string "Don't be such a tease!\n" + .string "Become my mentor, please!$" + +gText_ApprenticeWhichLevelMode11:: @ 82B9488 + .string "That's it!\n" + .string "{PLAYER}, you've got the spirit!\p" + .string "So here's my first question\n" + .string "that begs your suggestion!\p" + .string "It's about the BATTLE TOWER,\n" + .string "and it hinges on my power!\p" + .string "Level 50 and Open Level there be,\n" + .string "which is the one that's good for me?$" + +gText_ApprenticeLevelModeThanks11:: @ 82B9564 + .string "Okay, {STR_VAR_1} it is, you say!\n" + .string "I'll go and take it on my way!\p" + .string "If it's advice I ever need,\n" + .string "{PLAYER}, your word I'll always heed!$" + +gText_ApprenticePleaseTeach12:: @ 82B95D8 + .string "Say, hey, aren't you {PLAYER}?\n" + .string "What should I do? Talk to you?\l" + .string "Why not? I'm already talking to you!\p" + .string "{PLAYER}, are you surprised at me?\n" + .string "I'd better tell you who I happen to be!\p" + .string "{STR_VAR_1} is what you can call me.\n" + .string "The brightest star in guitardom,\l" + .string "that's me!\p" + .string "Are you receiving me?\n" + .string "You are receiving me!\p" + .string "My luck's at its best,\n" + .string "I'll hit you with a request!\p" + .string "{PLAYER}, let me be your underling!\n" + .string "I want you to teach me everything!$" + +gText_ApprenticeRejectTeaching12:: @ 82B9763 + .string "You're turning me down, then?\n" + .string "I'll just have to ask you again!\p" + .string "{PLAYER}, I beg to be your underling!\n" + .string "I need you to teach me everything!$" + +gText_ApprenticeWhichLevelMode12:: @ 82B97E5 + .string "Lucky, yeah, woohoo!\n" + .string "Should I pop a question to you?\p" + .string "Since we're near the BATTLE TOWER,\n" + .string "how about a question about its power?\p" + .string "Of the choices you see,\n" + .string "which is the right one for me?$" + +gText_ApprenticeLevelModeThanks12:: @ 82B989A + .string "If {STR_VAR_1} is what you suggest,\n" + .string "it must be the very best!\p" + .string "Well, {PLAYER}, I have to roam free,\n" + .string "but don't you forget about me.\p" + .string "See you again, my smart friend!$" + +gText_ApprenticePleaseTeach13:: @ 82B992D + .string "Oh, hi! You there!\n" + .string "Can I get you to massage my shoulder?\p" + .string "…Yes, there! That's it!\n" + .string "Ouch, ouch! Oooh, that feels great!\p" + .string "My name's {STR_VAR_1}.\n" + .string "I take karate training, but my body's\l" + .string "not built to take the abuse…\p" + .string "I decided I'll battle POKéMON and\n" + .string "toughen myself up.\p" + .string "You're {PLAYER}{KUN}, aren't you?\n" + .string "The POKéMON LEAGUE CHAMP?\p" + .string "Listen, can I get you to give me\n" + .string "advice?$" + +gText_ApprenticeRejectTeaching13:: @ 82B9A84 + .string "Oh, why?\p" + .string "I won't be a big bother, I promise!\n" + .string "Please?$" + +gText_ApprenticeWhichLevelMode13:: @ 82B9AB9 + .string "Thank you. Mighty good of you!\n" + .string "…Cough! Cough!\p" + .string "Oogh, I have to toughen up quick…\p" + .string "I'll be heading off to the BATTLE TOWER\n" + .string "right away, but what would be better\l" + .string "for me? Level 50 or Open Level?$" + +gText_ApprenticeLevelModeThanks13:: @ 82B9B76 + .string "Hm, all right. That's {STR_VAR_1}.\n" + .string "I'll go there right away.\p" + .string "I hope I can keep hitting you up for\n" + .string "help--after all, you're my mentor!$" + +gText_ApprenticePleaseTeach14:: @ 82B9BF2 + .string "Er… Um…\n" + .string "{PLAYER}{KUN}…?\p" + .string "Please, don't look at me that way.\n" + .string "You're making me all self-conscious.\p" + .string "I… I'm {STR_VAR_1}.\p" + .string "I'm really embarrassed to say this,\n" + .string "but I explore ancient ruins and such.\p" + .string "I'm even more embarrassed to admit\n" + .string "I'm interested in the BATTLE FRONTIER.\p" + .string "{PLAYER}{KUN}, you have a reputation as\n" + .string "a tough TRAINER…\p" + .string "It's hard for me to say this,\n" + .string "but I want to ask something.\p" + .string "Could you become my teacher and\n" + .string "give me advice?$" + +gText_ApprenticeRejectTeaching14:: @ 82B9D83 + .string "Please don't brush me off like this!\n" + .string "I can't live with the humiliation.\p" + .string "Please become my teacher!\n" + .string "I need your advice!$" + +gText_ApprenticeWhichLevelMode14:: @ 82B9DF9 + .string "Th-thank you…\p" + .string "But please don't look at me like that.\n" + .string "It makes me all flustered.\p" + .string "Please, answer me without looking\n" + .string "at my eyes.\p" + .string "At the BATTLE TOWER…\n" + .string "Which level should I attempt?$" + +gText_ApprenticeLevelModeThanks14:: @ 82B9EAA + .string "Oh… Okay!\n" + .string "I'll try my hand at that.\p" + .string "I hope I can make a valiant challenge\n" + .string "without getting all flustered…\p" + .string "Thank you, {PLAYER}{KUN}.\n" + .string "If we meet again, I hope you will be\l" + .string "as helpful.$" + +gText_ApprenticePleaseTeach15:: @ 82B9F55 + .string "Hm? You appear to be {PLAYER}{KUN}…\n" + .string "But are you really real?\p" + .string "You may call me {STR_VAR_1}.\p" + .string "I have been toying with the idea of\n" + .string "apprenticing under a strong TRAINER.\p" + .string "So, I must say I'm lucky you came along!\n" + .string "…You really are {PLAYER}{KUN}, yes?\p" + .string "No, no, if you are real, it's fine.\n" + .string "I merely want you to recognize me\l" + .string "as your apprentice.$" + +gText_ApprenticeRejectTeaching15:: @ 82BA084 + .string "Oh?\n" + .string "But what would compel you to refuse?\p" + .string "I apologize for being skeptical about\n" + .string "your identity.\p" + .string "Please accept my apology and\n" + .string "accept me as your apprentice.$" + +gText_ApprenticeWhichLevelMode15:: @ 82BA11D + .string "You really are accepting me?\n" + .string "I don't wish to celebrate prematurely.\p" + .string "If it is true, I apologize.\n" + .string "But now, I need your advice.\p" + .string "If I were to enter the BATTLE TOWER,\n" + .string "what would be worthy of me?\l" + .string "Level 50 or Open Level?$" + +gText_ApprenticeLevelModeThanks15:: @ 82BA1F3 + .string "{STR_VAR_1}?\n" + .string "Are you certain?\p" + .string "I see. If that's the case, that's fine.\n" + .string "I thank you for your time.\p" + .string "I realize I can annoy, but it delights\n" + .string "me that you have accepted me.\p" + .string "Let us meet again!$" + +gText_ApprenticeWhatHeldItem0:: @ 82BA2A3 + .string "Sigh… Sob…\n" + .string "Oh, {PLAYER}!\p" + .string "I'm all tangled up in a dilemma\n" + .string "that I can't decide.\p" + .string "I can't decide what I should make\n" + .string "my {STR_VAR_1} hold.\p" + .string "Please tell me, {PLAYER}.\n" + .string "What item should I make it hold?$" + +gText_ApprenticeHoldNothing0:: @ 82BA34E + .string "Oh, really? I shouldn't make\n" + .string "my {STR_VAR_1} hold anything?$" + +gText_ApprenticeThanksNoHeldItem0:: @ 82BA380 + .string "Oh, okay! I'm delighted it's settled!\n" + .string "Awesome! Wicked! Awoooh!\p" + .string "Thank you so much!$" + +gText_ApprenticeThanksHeldItem0:: @ 82BA3D2 + .string "Oh, I'm so glad…\n" + .string "I think I have that {STR_VAR_1}, too.\p" + .string "I'm delighted it's settled!\n" + .string "Awesome! Wicked! Awoooh!\p" + .string "Thank you so much!$" + +gText_ApprenticeItemAlreadyRecommended0:: @ 82BA448 + .string "Waaaah! Please don't be mean!\p" + .string "That item {STR_VAR_1} was already\n" + .string "recommended to me before, sob…\p" + .string "Or do you mean I shouldn't make\n" + .string "my {STR_VAR_2} hold anything?$" + +gText_ApprenticeWhatHeldItem1:: @ 82BA4D3 + .string "Yay! It's {PLAYER}!\n" + .string "Great! I wanted to ask you something!\p" + .string "Do you make your POKéMON hold items?\n" + .string "I want to make mine hold items, but…\p" + .string "What item would be good for\n" + .string "{STR_VAR_1} to hold?\p" + .string "What do you think?$" + +gText_ApprenticeHoldNothing1:: @ 82BA58C + .string "Huh? You mean my {STR_VAR_1} doesn't\n" + .string "have to hold anything?$" + +gText_ApprenticeThanksNoHeldItem1:: @ 82BA5BF + .string "Oh, I get it! I'll do that!\n" + .string "Thanks for teaching me!$" + +gText_ApprenticeThanksHeldItem1:: @ 82BA5F3 + .string "Oh, wow! One {STR_VAR_1}, huh?\n" + .string "Okay, I'll do that!\p" + .string "Thanks for teaching me!$" + +gText_ApprenticeItemAlreadyRecommended1:: @ 82BA635 + .string "Oh, uh, no, that's not what I meant.\n" + .string "I want to know about a different item\l" + .string "than the ones I already know.\p" + .string "Or do you mean that my POKéMON doesn't\n" + .string "have to hold anything this time?$" + +gText_ApprenticeWhatHeldItem2:: @ 82BA6E6 + .string "{PLAYER}, hello!\n" + .string "It's about my {STR_VAR_1}…\p" + .string "I want to make it hold a good item.\n" + .string "What would be good for it?$" + +gText_ApprenticeHoldNothing2:: @ 82BA742 + .string "Oh, then my {STR_VAR_1} doesn't have\n" + .string "to hold anything?$" + +gText_ApprenticeThanksNoHeldItem2:: @ 82BA770 + .string "Okay, I got it!\n" + .string "See you again!$" + +gText_ApprenticeThanksHeldItem2:: @ 82BA78F + .string "Oh, the item {STR_VAR_1}?\n" + .string "Understood!\p" + .string "I'll do my best to find one!\n" + .string "See you again!$" + +gText_ApprenticeItemAlreadyRecommended2:: @ 82BA7D8 + .string "Somebody taught me about\n" + .string "the {STR_VAR_1} already.\p" + .string "I want my POKéMON to hold a different\n" + .string "kind of item.\p" + .string "Or do you think {STR_VAR_2} doesn't\n" + .string "have to hold anything?$" + +gText_ApprenticeWhatHeldItem3:: @ 82BA867 + .string "Hello, {PLAYER}…\n" + .string "I'm sorry to disturb you, but I have\l" + .string "something else I wanted to ask you.\p" + .string "I don't think I'm good enough to win\n" + .string "matches on my own, so I'm thinking of\l" + .string "making my {STR_VAR_1} hold an item.\p" + .string "But I don't know what would be good.\p" + .string "{PLAYER}, please, could you decide\n" + .string "for me?$" + +gText_ApprenticeHoldNothing3:: @ 82BA96B + .string "A POKéMON belonging to someone like me\n" + .string "would be better off without an item?$" + +gText_ApprenticeThanksNoHeldItem3:: @ 82BA9B7 + .string "I understand…\n" + .string "You're saying I shouldn't rely on items.\l" + .string "I'll do my best not to!\p" + .string "Thank you very much!$" + +gText_ApprenticeThanksHeldItem3:: @ 82BAA1B + .string "The item {STR_VAR_1}, okay.\n" + .string "I'm not sure if I can get one…\l" + .string "No! I'll do my best to get it.\p" + .string "Thank you very much!$" + +gText_ApprenticeItemAlreadyRecommended3:: @ 82BAA81 + .string "Oh, but…\n" + .string "I think I've heard about that before…\p" + .string "Is it maybe because I haven't handled\n" + .string "the item {STR_VAR_1} very well?\p" + .string "Or do you mean I shouldn't make\n" + .string "my {STR_VAR_2} hold anything?$" + +gText_ApprenticeWhatHeldItem4:: @ 82BAB22 + .string "Oh, {PLAYER}{KUN}.\n" + .string "There's something I wanted to ask you.\p" + .string "You know how you decided which\n" + .string "POKéMON I should have for me?\p" + .string "But I never asked you what item\n" + .string "it should be holding.\p" + .string "Since you already gave me advice,\n" + .string "how about seeing this to the end?\p" + .string "What would be good? I want to make\n" + .string "my {STR_VAR_1} hold something.$" + +gText_ApprenticeHoldNothing4:: @ 82BAC43 + .string "Oh! So my {STR_VAR_1} should do\n" + .string "the best it can empty-handed?$" + +gText_ApprenticeThanksNoHeldItem4:: @ 82BAC78 + .string "If you think that's best, I'll do that.\p" + .string "Knowing that you made the decision,\n" + .string "{PLAYER}{KUN}, I won't be so upset if\l" + .string "I lose.\p" + .string "Okay, I'll look to you for advice again.\n" + .string "Bye!$" + +gText_ApprenticeThanksHeldItem4:: @ 82BAD17 + .string "The item {STR_VAR_1}, huh?\n" + .string "Not bad. I'll use it!\p" + .string "Knowing that you made the decision,\n" + .string "{PLAYER}{KUN}, I won't be so upset if\l" + .string "I lose.\p" + .string "Okay, I'll look to you for advice again.\n" + .string "Bye!$" + +gText_ApprenticeItemAlreadyRecommended4:: @ 82BADB6 + .string "Huh? What are you saying?\n" + .string "You told me about the {STR_VAR_1}\l" + .string "already before.\p" + .string "Or do you mean my {STR_VAR_2} should\n" + .string "do the best it can empty-handed?$" + +gText_ApprenticeWhatHeldItem5:: @ 82BAE36 + .string "Yo, {PLAYER}{KUN}!\p" + .string "We're both busy, but we seem to run\n" + .string "into each other often anyway!\p" + .string "Today I have to do some walking,\n" + .string "cleaning, and brushing.\p" + .string "I haven't even had the time to buy\n" + .string "my precious {STR_VAR_1} anything.\p" + .string "I don't have any time, so how about\n" + .string "giving me advice on what I should make\l" + .string "my {STR_VAR_1} hold?$" + +gText_ApprenticeHoldNothing5:: @ 82BAF4E + .string "Oh, so me being a busy guy, you say\n" + .string "my {STR_VAR_1} doesn't need anything?$" + +gText_ApprenticeThanksNoHeldItem5:: @ 82BAF8F + .string "Okay, gotcha.\n" + .string "I won't need any time for that.\p" + .string "Thanks today!\n" + .string "See you around!$" + +gText_ApprenticeThanksHeldItem5:: @ 82BAFDB + .string "Okay, gotcha.\n" + .string "I'll find time somehow and find\l" + .string "that {STR_VAR_1} you recommended.\p" + .string "I'm glad I met a good mentor in you.\n" + .string "Thanks! See you around!$" + +gText_ApprenticeItemAlreadyRecommended5:: @ 82BB05F + .string "Huh? I already know about\n" + .string "that {STR_VAR_1}.\p" + .string "Oh, right, I get it.\n" + .string "So me being a busy guy, you say\l" + .string "my {STR_VAR_2} doesn't need anything?$" + +gText_ApprenticeWhatHeldItem6:: @ 82BB0D4 + .string "Hiya, {PLAYER}! It's me!\n" + .string "I need to tap your mind again today.\l" + .string "Please, I need your advice!\p" + .string "Drum roll, please!\n" + .string "The question I have is…\p" + .string "If I want to make my {STR_VAR_1} hold\n" + .string "an item, what should it be?$" + +gText_ApprenticeHoldNothing6:: @ 82BB18C + .string "Is that right? My {STR_VAR_1} doesn't\n" + .string "need to hold an item, you're saying.$" + +gText_ApprenticeThanksNoHeldItem6:: @ 82BB1CE + .string "Okay, that's what I'll do!\p" + .string "I guess that's about all I wanted\n" + .string "to ask you today.\p" + .string "Let's meet here again, okay?\n" + .string "Thanks!$" + +gText_ApprenticeThanksHeldItem6:: @ 82BB242 + .string "Uh-huh! One {STR_VAR_1}.\n" + .string "What a cool choice!\l" + .string "I'll definitely try that!\p" + .string "I guess that's about all I wanted\n" + .string "to ask you today.\p" + .string "Let's meet here again, okay?\n" + .string "Thanks!$" + +gText_ApprenticeItemAlreadyRecommended6:: @ 82BB2D9 + .string "Ahahah! That's silly!\n" + .string "You already told me about that\l" + .string "{STR_VAR_1} before!\p" + .string "Are you feeling okay, {PLAYER}?\p" + .string "Oh, wait! My {STR_VAR_2} doesn't\n" + .string "need to hold an item, you're saying.$" + +gText_ApprenticeWhatHeldItem7:: @ 82BB370 + .string "Hello, {PLAYER}. I hope you've been\n" + .string "keeping well.\p" + .string "May I approach you for advice?\p" + .string "In a recent battle, my opponent\n" + .string "seemed to have given his POKéMON\l" + .string "an item to hold.\p" + .string "As a result, I was defeated…\p" + .string "I don't wish to be left behind.\n" + .string "I would like to make my {STR_VAR_1}\l" + .string "hold an item, too.\p" + .string "It would please me if you could decide\n" + .string "what would be right for my POKéMON…$" + +gText_ApprenticeHoldNothing7:: @ 82BB4C3 + .string "In other words… My POKéMON has\n" + .string "no need to hold an item?$" + +gText_ApprenticeThanksNoHeldItem7:: @ 82BB4FB + .string "I understand clearly now!\n" + .string "I will keep trying like this.\p" + .string "Thank you, {PLAYER}.\n" + .string "I hope I can count on you again.\l" + .string "Please take care!$" + +gText_ApprenticeThanksHeldItem7:: @ 82BB575 + .string "One {STR_VAR_1} it is!\n" + .string "I will order it right away.\p" + .string "Thank you, {PLAYER}.\n" + .string "I hope I can count on you again.\l" + .string "Please take care!$" + +gText_ApprenticeItemAlreadyRecommended7:: @ 82BB5E1 + .string "You've already told me about that,\n" + .string "and I already have it.\p" + .string "Or are you saying… My POKéMON has\n" + .string "no need to hold an item?$" + +gText_ApprenticeWhatHeldItem8:: @ 82BB656 + .string "Eek! {PLAYER}!\n" + .string "I… I'm overjoyed to see you again!\p" + .string "Oh-oh-oh! There's something I just\n" + .string "had to ask you, {PLAYER}!\p" + .string "Please decide what my {STR_VAR_1}\n" + .string "should be holding!$" + +gText_ApprenticeHoldNothing8:: @ 82BB6E5 + .string "Oh, wow! I didn't expect that answer!\n" + .string "So, a hold item isn't necessary?$" + +gText_ApprenticeThanksNoHeldItem8:: @ 82BB72C + .string "Perfectly understood!\n" + .string "I'll keep at this without an item!\p" + .string "I hope you'll be willing to teach me\n" + .string "some more another time.$" + +gText_ApprenticeThanksHeldItem8:: @ 82BB7A2 + .string "{STR_VAR_1}! I'll use that!\p" + .string "Um… Could it be, {PLAYER}, you also\n" + .string "make your POKéMON hold that item?\p" + .string "I'll be sure to get it!\n" + .string "I hope you'll be willing to teach me\l" + .string "some more another time.$" + +gText_ApprenticeItemAlreadyRecommended8:: @ 82BB84A + .string "Oh? You recommended that\n" + .string "{STR_VAR_1} before, too.\p" + .string "Or is it the best thing to hold?\n" + .string "Or do you mean that my {STR_VAR_2}\l" + .string "doesn't need anything to hold?$" + +gText_ApprenticeWhatHeldItem9:: @ 82BB8CD + .string "Hola!\n" + .string "My maestro, {PLAYER}{KUN}!\p" + .string "I want to hit you up for advice on\n" + .string "POKéMON tools.\p" + .string "What do you think would be good for\n" + .string "my {STR_VAR_1} to hold?\p" + .string "Don't be shy now.\n" + .string "Let's blurt it out!$" + +gText_ApprenticeHoldNothing9:: @ 82BB970 + .string "Oh? So, you're saying my {STR_VAR_1}\n" + .string "can win without holding any item?$" + +gText_ApprenticeThanksNoHeldItem9:: @ 82BB9AE + .string "Si, bueno!\n" + .string "I'll give it my best shot, like, slam!\p" + .string "All right, thanks, as always!\n" + .string "Adios!$" + +gText_ApprenticeThanksHeldItem9:: @ 82BBA05 + .string "Uh-huh, that's one {STR_VAR_1}?\n" + .string "Si, bueno!\l" + .string "I'll go find me one, like, bam!\p" + .string "All right, thanks, as always!\n" + .string "Adios!$" + +gText_ApprenticeItemAlreadyRecommended9:: @ 82BBA6C + .string "No, no! You already told me about\n" + .string "that {STR_VAR_1} thing before.\p" + .string "Oh, now wait just one minute here…\n" + .string "So, you're saying my {STR_VAR_2}\l" + .string "can win without holding any item?$" + +gText_ApprenticeWhatHeldItem10:: @ 82BBB01 + .string "{PLAYER}{KUN}, something unbelievable\n" + .string "has happened!\p" + .string "I woke up this morning, and my POKéMON\n" + .string "had 10 NUGGETS!\p" + .string "Of course I'm lying!\n" + .string "Wahahaha!\p" + .string "This is no lie, though.\n" + .string "I'm not very good at thinking about\l" + .string "what items POKéMON should hold.\p" + .string "So, how about deciding for me what\n" + .string "my {STR_VAR_1} should hold, master?$" + +gText_ApprenticeHoldNothing10:: @ 82BBC1C + .string "What's that mean?\n" + .string "Don't make it hold anything?$" + +gText_ApprenticeThanksNoHeldItem10:: @ 82BBC4B + .string "Okay, so it shouldn't hold anything.\n" + .string "Then, I'd better get something for it!\p" + .string "Just kidding!\n" + .string "I'll obey your teaching, master!\p" + .string "Thanks, master!\n" + .string "I hope you'll keep teaching me!$" + +gText_ApprenticeThanksHeldItem10:: @ 82BBCF6 + .string "Okay, so it's one {STR_VAR_1}!\n" + .string "I'll make it hold anything but that!\p" + .string "Just kidding!\n" + .string "I'll obey your teaching, master!\p" + .string "Thanks, master!\n" + .string "I hope you'll keep teaching me!$" + +gText_ApprenticeItemAlreadyRecommended10:: @ 82BBD90 + .string "Um, you told me about that before,\n" + .string "didn't you?\p" + .string "Isn't there something else?\p" + .string "Or do you mean, don't make\n" + .string "my {STR_VAR_2} hold anything?$" + +gText_ApprenticeWhatHeldItem11:: @ 82BBE0B + .string "A-H-O-Y!\n" + .string "And that spells ahoy!\p" + .string "The rappin' SAILOR am I!\n" + .string "I present to you a question\l" + .string "that's pretty fly!\p" + .string "It's an item question\n" + .string "that begs your suggestion!\p" + .string "My {STR_VAR_1} needs an item to hold,\n" + .string "What should it be, if I may be bold?$" + +gText_ApprenticeHoldNothing11:: @ 82BBEE5 + .string "Is that right?\n" + .string "My {STR_VAR_1} doesn't need to be\l" + .string "holding anything tight?$" + +gText_ApprenticeThanksNoHeldItem11:: @ 82BBF25 + .string "Okay, I hear you, sure I do!\n" + .string "My POKéMON will go empty-handed, too!\p" + .string "If it's advice I ever need,\n" + .string "{PLAYER}, your word I'll always heed!$" + +gText_ApprenticeThanksHeldItem11:: @ 82BBFA4 + .string "Okay, one {STR_VAR_1},\n" + .string "that's what I'll use.\l" + .string "I was right to make you choose!\p" + .string "If it's advice I ever need,\n" + .string "{PLAYER}, your word I'll always heed!$" + +gText_ApprenticeItemAlreadyRecommended11:: @ 82BC024 + .string "Okay, one {STR_VAR_1}, you say?\n" + .string "You told me that the other day.\l" + .string "I need a new idea, a brand new way.\p" + .string "Or, what, is that right?\n" + .string "My POKéMON doesn't need to hold\l" + .string "anything tight?$" + +gText_ApprenticeWhatHeldItem12:: @ 82BC0C8 + .string "Say, hey, {PLAYER}!\n" + .string "I found you again today!\p" + .string "What should I do? Get your advice?\n" + .string "Why not? I'm already talking to you!\p" + .string "{PLAYER}, are you getting sick of me?\n" + .string "Nah, no way, that can't be.\p" + .string "Will you hear me out?\n" + .string "I'm looking for advice--that's what\l" + .string "I'm talking about.\p" + .string "It's about a hold item for\n" + .string "my {STR_VAR_1} that'd be good.\l" + .string "My indecision is making me brood.$" + +gText_ApprenticeHoldNothing12:: @ 82BC213 + .string "My {STR_VAR_1} needs nothing?\n" + .string "Doesn't need to hold anything?$" + +gText_ApprenticeThanksNoHeldItem12:: @ 82BC247 + .string "If holding nothing is the best,\n" + .string "I'll do as you suggest!\p" + .string "Well, {PLAYER}, I have to roam free,\n" + .string "but don't you forget about me.\p" + .string "See you again, my smart friend!$" + +gText_ApprenticeThanksHeldItem12:: @ 82BC2DD + .string "If holding that {STR_VAR_1} is\n" + .string "the best, I'll do as you suggest!\p" + .string "Well, {PLAYER}, I have to roam free,\n" + .string "but don't you forget about me.\p" + .string "See you again, my smart friend!$" + +gText_ApprenticeItemAlreadyRecommended12:: @ 82BC373 + .string "Haven't I heard about that\n" + .string "{STR_VAR_1} before?\l" + .string "I'm certain I have, that's for sure!\p" + .string "I need a new something!\n" + .string "Or, my {STR_VAR_2} needs nothing?\l" + .string "Doesn't need to hold anything?$" + +gText_ApprenticeWhatHeldItem13:: @ 82BC40E + .string "Gwah! Ouch! {PLAYER}{KUN}, my arm's broken!\n" + .string "Don't touch it, please!\p" + .string "I must've broken it while I was trying\n" + .string "out different hold items with my posse\l" + .string "of POKéMON.\p" + .string "So, things being this way,\n" + .string "I need you to decide for me.\p" + .string "{PLAYER}{KUN}, what do you think would be\n" + .string "good for my {STR_VAR_1} to hold?$" + +gText_ApprenticeHoldNothing13:: @ 82BC514 + .string "Ouch…\p" + .string "So your suggestion is my {STR_VAR_1}\n" + .string "doesn't have to hold anything?$" + +gText_ApprenticeThanksNoHeldItem13:: @ 82BC555 + .string "Hm, all right. That would be easier\n" + .string "for me, the way things are now.\p" + .string "I hope I can keep hitting you up\n" + .string "for help like this.$" + +gText_ApprenticeThanksHeldItem13:: @ 82BC5CE + .string "Hm, all right. That's one {STR_VAR_1}.\n" + .string "My POKéMON's arm is fine, so I'll make\l" + .string "it hold that item right away.\p" + .string "I hope I can keep hitting you up\n" + .string "for help like this.$" + +gText_ApprenticeItemAlreadyRecommended13:: @ 82BC666 + .string "No, no, you told me about that\n" + .string "{STR_VAR_1} before, remember?\p" + .string "How about telling me something\n" + .string "even better?\p" + .string "Oh, wait a second.\n" + .string "So your suggestion is my {STR_VAR_2}\l" + .string "doesn't have to hold anything?$" + +gText_ApprenticeWhatHeldItem14:: @ 82BC714 + .string "Er… Um…\n" + .string "{PLAYER}{KUN}…\p" + .string "Please, don't look at me that way.\n" + .string "My POKéMON don't have anything.\p" + .string "I… I'm really embarrassed about this,\n" + .string "but I really need your advice.\p" + .string "I can't decide what hold item would\n" + .string "make my {STR_VAR_1} strong.\p" + .string "{PLAYER}{KUN}, what do you think would\n" + .string "be good?$" + +gText_ApprenticeHoldNothing14:: @ 82BC808 + .string "Oh… Then, you think it would be better\n" + .string "if my {STR_VAR_1} didn't have an item?$" + +gText_ApprenticeThanksNoHeldItem14:: @ 82BC84D + .string "Oh… Okay!\n" + .string "I'll go without an item.\p" + .string "This is nerve-racking, though.\n" + .string "Wouldn't it be too cool?\p" + .string "Thank you, {PLAYER}{KUN}.\n" + .string "If we meet again, I hope you will be\l" + .string "as helpful.$" + +gText_ApprenticeThanksHeldItem14:: @ 82BC8EA + .string "Oh… Okay!\n" + .string "I'll go with that {STR_VAR_1}.\p" + .string "This is nerve-racking, though.\n" + .string "Wouldn't it be too cool?\p" + .string "Thank you, {PLAYER}{KUN}.\n" + .string "If we meet again, I hope you will be\l" + .string "as helpful.$" + +gText_ApprenticeItemAlreadyRecommended14:: @ 82BC984 + .string "B-but I already heard about that.\p" + .string "Please don't brush me off like this!\n" + .string "I can't live with the humiliation.\p" + .string "Oh… Am I jumping to conclusions?\n" + .string "Do you think it would be better if\l" + .string "my {STR_VAR_2} didn't have an item?$" + +gText_ApprenticeWhatHeldItem15:: @ 82BCA4D + .string "Hm? You appear to be {PLAYER}{KUN}…\n" + .string "But are you really?\l" + .string "Perhaps you're a twin?\p" + .string "Oh, no, no, no, don't worry!\n" + .string "If you really are {PLAYER}, please\l" + .string "forget about my rudeness.\p" + .string "What I would like is some more of\n" + .string "your fine advice.\p" + .string "I have here my {STR_VAR_1} that I wish\n" + .string "to make hold a convenient item.\p" + .string "What would be worthy of it?$" + +gText_ApprenticeHoldNothing15:: @ 82BCB75 + .string "It's better if it held nothing?\n" + .string "Are you certain?$" + +gText_ApprenticeThanksNoHeldItem15:: @ 82BCBA6 + .string "I see. If that's the case, that's fine.\n" + .string "I thank you for your time.\p" + .string "Let us meet again!$" + +gText_ApprenticeThanksHeldItem15:: @ 82BCBFC + .string "One {STR_VAR_1}?\n" + .string "Are you certain?\p" + .string "I see. If that's the case, that's fine.\n" + .string "I thank you for your time.\p" + .string "I do hope my POKéMON will be able to\n" + .string "put it to good use.\p" + .string "Let us meet again!$" + +gText_ApprenticeItemAlreadyRecommended15:: @ 82BCCA4 + .string "No, no, wait a minute.\n" + .string "I believe you taught me that before.\p" + .string "I would like you to recommend\n" + .string "something different this time.\p" + .string "Perhaps you're suggesting that\n" + .string "my {STR_VAR_2} should hold nothing?\l" + .string "Are you certain?$" + +gText_ApprenticeWhichMonFirst0:: @ 82BCD68 + .string "Waah, {PLAYER}!\n" + .string "I have a dilemma, sob…\p" + .string "I want to begin battling other people,\n" + .string "but I don't know what to do.\p" + .string "How should I line up my POKéMON\n" + .string "so they'll be at their strongest?\p" + .string "Please tell me, {PLAYER}.\n" + .string "If you were me, which of these POKéMON\l" + .string "would you send out first?$" + +gText_ApprenticeMonFirstThanks0:: @ 82BCE64 + .string "My {STR_VAR_1} should go first?\n" + .string "Waaaaah!\p" + .string "Oh! I'm so sorry!\n" + .string "You've made me happy by choosing\l" + .string "my first POKéMON, and it's made me cry…\p" + .string "Thank you so much!$" + +gText_ApprenticeWhichMonFirst1:: @ 82BCEF2 + .string "Yay! It's {PLAYER}!\n" + .string "Great! I wanted to ask you something!\p" + .string "Um, of my POKéMON, which do you\n" + .string "think should go out first?$" + +gText_ApprenticeMonFirstThanks1:: @ 82BCF61 + .string "My {STR_VAR_1}? That's true.\n" + .string "Okay, I'll do that!\p" + .string "Thanks for teaching me!$" + +gText_ApprenticeWhichMonFirst2:: @ 82BCFA1 + .string "{PLAYER}, hello!\p" + .string "I think, in a battle, it's very important\n" + .string "which POKéMON comes out first.\p" + .string "Out of the POKéMON that I have,\n" + .string "which would be good to send out first?$" + +gText_ApprenticeMonFirstThanks2:: @ 82BD03C + .string "My {STR_VAR_1} goes first?\n" + .string "Okay, I got it!\p" + .string "See you again!$" + +gText_ApprenticeWhichMonFirst3:: @ 82BD06D + .string "Hello, {PLAYER}…\n" + .string "I'm sorry to disturb you again with\l" + .string "another question.\p" + .string "I have so little confidence, I don't\n" + .string "know what I'd do without you, {PLAYER}.\p" + .string "It may be a waste of time for me to\n" + .string "even worry about it, but I just can't\l" + .string "decide something…\p" + .string "Which of my POKéMON should I send\n" + .string "out first in a battle?$" + +gText_ApprenticeMonFirstThanks3:: @ 82BD18A + .string "My {STR_VAR_1}?\n" + .string "Understood!\p" + .string "I can't believe that you would bother\n" + .string "to answer my questions so often!\p" + .string "I'm so grateful that you would even\n" + .string "speak with me… Thank you!$" + +gText_ApprenticeWhichMonFirst4:: @ 82BD222 + .string "Oh, {PLAYER}{KUN}! It's me!\n" + .string "I'm so glad to see you because I have\l" + .string "this little problem.\p" + .string "I can't decide how my POKéMON should\n" + .string "be lined up. Could you decide for me?\p" + .string "Oh, you don't need to decide the whole\n" + .string "party right now.\p" + .string "How about deciding just the first\n" + .string "POKéMON for me?$" + +gText_ApprenticeMonFirstThanks4:: @ 82BD325 + .string "My {STR_VAR_1}? That's great!\p" + .string "Knowing that you made the decision,\n" + .string "{PLAYER}{KUN}, I won't be so upset if\l" + .string "I lose.\p" + .string "Okay, I'll look to you for advice again.\n" + .string "Bye!$" + +gText_ApprenticeWhichMonFirst5:: @ 82BD3B1 + .string "Hi, my teacher {PLAYER}{KUN}!\n" + .string "I'm busy again today!\p" + .string "I have to do some cycling, shopping,\n" + .string "and humming.\p" + .string "I haven't even had the time to decide\n" + .string "how to line up my POKéMON team.\p" + .string "So, how about checking out my team?\n" + .string "Which one should go first?$" + +gText_ApprenticeMonFirstThanks5:: @ 82BD493 + .string "Okay, gotcha.\n" + .string "I have enough time at least to put\l" + .string "my {STR_VAR_1} at the head of the line!\p" + .string "Whoops, my girlfriend's waiting!\n" + .string "Thanks! See you around!$" + +gText_ApprenticeWhichMonFirst6:: @ 82BD51C + .string "Yoohoo! Hiya, {PLAYER}!\n" + .string "You always walk around looking tough!\p" + .string "Listen, I need something from you\n" + .string "again! It's the usual thing!\p" + .string "Drum roll, please!\n" + .string "The question I have is about my team.\p" + .string "Which POKéMON of mine should be first\n" + .string "to go out in a battle?$" + +gText_ApprenticeMonFirstThanks6:: @ 82BD609 + .string "Hmhm!\n" + .string "My {STR_VAR_1}, you say!\l" + .string "Thanks for a most cool answer!\p" + .string "I guess that's about all I wanted\n" + .string "to ask you today.\p" + .string "Let's meet here again, okay?\n" + .string "Thanks!$" + +gText_ApprenticeWhichMonFirst7:: @ 82BD697 + .string "Thank you so much for stopping to\n" + .string "chat with me, {PLAYER}.\p" + .string "I know I'm taking advantage of your\n" + .string "kindness, but may I ask for advice?\p" + .string "I would like you to decide on the order\n" + .string "of my POKéMON team.\p" + .string "It would please me if you could decide\n" + .string "which POKéMON should come first.$" + +gText_ApprenticeMonFirstThanks7:: @ 82BD797 + .string "My {STR_VAR_1} it is!\n" + .string "I will put it first right away!\p" + .string "Thank you, {PLAYER}.\n" + .string "I hope I can count on you again.\l" + .string "Please take care!$" + +gText_ApprenticeWhichMonFirst8:: @ 82BD806 + .string "Eek! {PLAYER}!\n" + .string "I… I'm overjoyed to see you again!\p" + .string "My POKéMON have become much\n" + .string "stronger!\p" + .string "But I don't always win. It seems to\n" + .string "depend on which POKéMON goes first.\p" + .string "{PLAYER}, please, I need your help!\p" + .string "Please decide which of my POKéMON\n" + .string "should go out first!$" + +gText_ApprenticeMonFirstThanks8:: @ 82BD8F5 + .string "Sigh… I'm overwhelmed with happiness…\p" + .string "It's like a dream having you decide\n" + .string "for me, {PLAYER}.\p" + .string "But perfectly understood!\n" + .string "I will go with my {STR_VAR_1} first!\p" + .string "I hope you'll be willing to teach me\n" + .string "some more another time.$" + +gText_ApprenticeWhichMonFirst9:: @ 82BD9BE + .string "Hello, hello!\n" + .string "My mentor, {PLAYER}{KUN}!\l" + .string "Hit me with your sage advice today!\p" + .string "You see, I pulled together a team of\n" + .string "three POKéMON. So far so good.\p" + .string "But the team's battling order's not\n" + .string "settled yet.\p" + .string "This is where you come in, {PLAYER}{KUN}!\n" + .string "You decide which POKéMON leads off!\p" + .string "Don't be shy now.\n" + .string "Let's blurt it out!$" + +gText_ApprenticeMonFirstThanks9:: @ 82BDAE1 + .string "Uh-huh, my {STR_VAR_1} leads off!\n" + .string "OK, A-OK!\l" + .string "I'll reorder the lineup, like, wham!\p" + .string "All right, thanks, as always!\n" + .string "Adios!$" + +gText_ApprenticeWhichMonFirst10:: @ 82BDB4E + .string "{PLAYER}{KUN}, listen!\n" + .string "It's a crisis!\p" + .string "My POKéMON, all three of them, go into\n" + .string "battle at once!\p" + .string "Of course that's impossible!\n" + .string "Wahahaha!\p" + .string "This is no lie, though.\n" + .string "I'm not very good at thinking about\l" + .string "how I should line up my POKéMON.\p" + .string "So, how about deciding for me which\n" + .string "POKéMON should go first, master?$" + +gText_ApprenticeMonFirstThanks10:: @ 82BDC6B + .string "Okay, so it's my {STR_VAR_1} you chose?\n" + .string "I'll let any but that one go first!\p" + .string "Just kidding!\n" + .string "I'll obey your teaching, master!\p" + .string "Thanks, master!\n" + .string "I hope you'll keep teaching me!$" + +gText_ApprenticeWhichMonFirst11:: @ 82BDD0D + .string "A-H-O-Y!\n" + .string "And that spells ahoy!\p" + .string "The rappin' SAILOR am I!\n" + .string "I present to you a question\l" + .string "that's pretty fly!\p" + .string "It's a team lineup question\n" + .string "that begs your suggestion!\p" + .string "Out of this lot, which should go first\n" + .string "as the first on the spot?$" + +gText_ApprenticeMonFirstThanks11:: @ 82BDDEC + .string "Okay, I hear you, sure I do!\n" + .string "I'll switch them up, that I'll do!\p" + .string "If it's advice I ever need,\n" + .string "{PLAYER}, your word I'll always heed!$" + +gText_ApprenticeWhichMonFirst12:: @ 82BDE68 + .string "Yahoo, {PLAYER}!\n" + .string "How do you do?\p" + .string "What should I do? Go ahead and ask?\n" + .string "Uh-huh, I have something to ask!\l" + .string "Are you receiving me?\l" + .string "You are receiving me!\p" + .string "You have to decide, which of my\n" + .string "POKéMON is the first to ride!\l" + .string "Into battle, I mean to say.$" + +gText_ApprenticeMonFirstThanks12:: @ 82BDF4D + .string "My {STR_VAR_1}? Yes!\n" + .string "That'll do, there's no distress!\p" + .string "Well, {PLAYER}, I have to roam free,\n" + .string "but don't you forget about me.\p" + .string "See you again, my smart friend!$" + +gText_ApprenticeWhichMonFirst13:: @ 82BDFD8 + .string "…Oof…ooch… {PLAYER}{KUN}…\n" + .string "My stomach's hurting all of a sudden…\p" + .string "…It's getting better now…\p" + .string "I must've worried myself sick racking\n" + .string "my brains on how I should line up\l" + .string "my posse of POKéMON.\p" + .string "So, things being this way,\n" + .string "I need you to decide for me.\p" + .string "{PLAYER}{KUN}, which of my POKéMON should\n" + .string "go first? So I'd win, I mean.$" + +gText_ApprenticeMonFirstThanks13:: @ 82BE0FD + .string "Hm, all right.\n" + .string "My {STR_VAR_1} goes first.\p" + .string "I'll fix the lineup like that after\n" + .string "I have my supper.\p" + .string "I hope I can keep hitting you up\n" + .string "for help like this.$" + +gText_ApprenticeWhichMonFirst14:: @ 82BE189 + .string "Er… Um…\n" + .string "{PLAYER}{KUN}?\p" + .string "Please, don't look at me that way.\n" + .string "You're making me feel all flustered.\p" + .string "Um…\n" + .string "I really need your advice.\p" + .string "It makes me bashful to say this,\n" + .string "but I chose my 3-POKéMON team.\l" + .string "I can't decide on the order, though.\p" + .string "Which POKéMON should I send out first\n" + .string "so I at least look capable?$" + +gText_ApprenticeMonFirstThanks14:: @ 82BE2A5 + .string "Oh… Okay!\n" + .string "I'll lead with my {STR_VAR_1}.\p" + .string "I hope I can do my best without\n" + .string "getting all flustered.\p" + .string "Thank you, {PLAYER}{KUN}.\n" + .string "If we meet again, I hope you will be\l" + .string "as helpful.$" + +gText_ApprenticeWhichMonFirst15:: @ 82BE33E + .string "Hm? You appear to be {PLAYER}{KUN}…\n" + .string "But are you really?\l" + .string "Perhaps you're a clever look-alike?\p" + .string "Oh, no, no, no, don't worry!\n" + .string "If you really are {PLAYER}, please\l" + .string "forget about my rudeness.\p" + .string "What I would like is your fine advice.\p" + .string "I have here my POKéMON team.\n" + .string "I would like you to tell me which one\l" + .string "should go first in a battle.$" + +gText_ApprenticeMonFirstThanks15:: @ 82BE46C + .string "My {STR_VAR_1}…\n" + .string "You aren't pulling my leg?\p" + .string "I see. If that's the case, that's fine.\n" + .string "I thank you for your time.\p" + .string "I am as you see, but I shall do\n" + .string "my best.\p" + .string "Let us meet again!$" + +gText_ApprenticeWhichMon0:: @ 82BE50D + .string "Snivel…\n" + .string "Oh, {PLAYER}!\p" + .string "What perfect timing!\n" + .string "There's something I just can't decide…\p" + .string "I can't decide which POKéMON I should\n" + .string "be using.\p" + .string "I can't decide between the POKéMON\n" + .string "{STR_VAR_1} and {STR_VAR_2}…\p" + .string "{PLAYER}, which do you think will give\n" + .string "even me a chance at winning?$" + +gText_ApprenticeMonThanks0:: @ 82BE5F5 + .string "Snivel… I… I understand!\n" + .string "Oh! I'm so sorry!\l" + .string "You've made me so happy, I'm crying…\p" + .string "I'll do my best to catch one\n" + .string "{STR_VAR_1}!\p" + .string "Thank you so much!$" + +gText_ApprenticeWhichMon1:: @ 82BE679 + .string "Yay! It's {PLAYER}!\n" + .string "Yay, you came at the right time, too!\l" + .string "I need your advice again!\p" + .string "Um, I'm all mixed up--should I use\n" + .string "my {STR_VAR_1} or {STR_VAR_2}…\p" + .string "Which do you think I should raise,\n" + .string "{PLAYER}?$" + +gText_ApprenticeMonThanks1:: @ 82BE71E + .string "Oh, so my {STR_VAR_1} is better!\n" + .string "Okay, I'll do that!\p" + .string "Thanks for teaching me!$" + +gText_ApprenticeWhichMon2:: @ 82BE762 + .string "{PLAYER}, hello!\n" + .string "I have a question I wanted to ask.\p" + .string "I'm in a dilemma over whether I should\n" + .string "raise one {STR_VAR_1} or {STR_VAR_2}.\p" + .string "Which POKéMON do you think will\n" + .string "be stronger?$" + +gText_ApprenticeMonThanks2:: @ 82BE7F8 + .string "{STR_VAR_1} is your choice?\n" + .string "Okay, I got it!\p" + .string "I'll go catch a strong {STR_VAR_1}\n" + .string "right away!\p" + .string "See you again!$" + +gText_ApprenticeWhichMon3:: @ 82BE850 + .string "Hello, {PLAYER}…\p" + .string "Um, you've probably already forgotten\n" + .string "about someone like me…\p" + .string "…But that doesn't matter if you\n" + .string "could give me advice…\p" + .string "I can't decide on the one kind of\n" + .string "POKéMON I should raise…\p" + .string "I've narrowed the field to the POKéMON\n" + .string "{STR_VAR_1} and {STR_VAR_2}, but that's\l" + .string "where I became stuck…\p" + .string "{PLAYER}, you probably don't want to\n" + .string "bother, but please decide for me.$" + +gText_ApprenticeMonThanks3:: @ 82BE99C + .string "But will a wild {STR_VAR_1} even pay\n" + .string "attention to me?\p" + .string "I will try!\p" + .string "But will I even be able to catch one…\n" + .string "No! I'll do my best!\p" + .string "Thank you!$" + +gText_ApprenticeWhichMon4:: @ 82BEA1B + .string "Oh, {PLAYER}{KUN}! I'm so glad to see you!\n" + .string "I was about to go looking for you!\p" + .string "Can you decide what kind of POKéMON\n" + .string "I should use?\p" + .string "For instance…\n" + .string "How about the POKéMON {STR_VAR_1}\l" + .string "and {STR_VAR_2}?\p" + .string "Which one do you think would be\n" + .string "better?$" + +gText_ApprenticeMonThanks4:: @ 82BEAE9 + .string "{STR_VAR_1}? That's great!\p" + .string "Knowing that you made the decision,\n" + .string "{PLAYER}{KUN}, I won't be so upset if\l" + .string "I lose.\p" + .string "Okay, I'll look to you for advice again.\n" + .string "Bye!$" + +gText_ApprenticeWhichMon5:: @ 82BEB72 + .string "If it isn't {PLAYER}{KUN}! How's it going?\n" + .string "I'm busy again as always!\p" + .string "I want to do good with POKéMON, too,\n" + .string "but I haven't been able to decide\l" + .string "which POKéMON I should use.\p" + .string "You know how {STR_VAR_1} look strong?\n" + .string "But {STR_VAR_2} are tough to ignore.\p" + .string "{PLAYER}{KUN}, give me some of your good\n" + .string "advice! Which one'd be good for me?$" + +gText_ApprenticeMonThanks5:: @ 82BEC8E + .string "Okay, gotcha.\n" + .string "I'll find time somehow and catch me\l" + .string "that {STR_VAR_1} you recommended.\p" + .string "I'm glad I met a good mentor in you.\n" + .string "Thanks! See you around!$" + +gText_ApprenticeWhichMon6:: @ 82BED16 + .string "Oh!\n" + .string "Yay, it's {PLAYER}!\p" + .string "I didn't waste any time boasting to\n" + .string "my friends about meeting you!\p" + .string "I need to tap your mind again today.\n" + .string "It's an easy one for you!\p" + .string "Drum roll, please!\n" + .string "The question I have is…\p" + .string "If I were to raise a POKéMON,\n" + .string "and the choices were one {STR_VAR_1}\l" + .string "or {STR_VAR_2}, which should it be?$" + +gText_ApprenticeMonThanks6:: @ 82BEE29 + .string "Ahhh!\n" + .string "{STR_VAR_1}, you say!\l" + .string "Thanks for a most cool answer!\p" + .string "I guess that's about all I wanted\n" + .string "to ask you today.\p" + .string "Let's meet here again, okay?\n" + .string "Thanks!$" + +gText_ApprenticeWhichMon7:: @ 82BEEB4 + .string "Oh, is it you, {PLAYER}?\n" + .string "I'm delighted to see you again!\p" + .string "Ever since I became your apprentice,\n" + .string "my confidence has been blooming.\p" + .string "I think I'm ready to raise a POKéMON\n" + .string "of my own!\p" + .string "{PLAYER}, may I impose on you to choose\n" + .string "which POKéMON I should raise?\p" + .string "The choices are the POKéMON\n" + .string "{STR_VAR_1} or {STR_VAR_2}…\l" + .string "Which POKéMON is right for me?$" + +gText_ApprenticeMonThanks7:: @ 82BEFE2 + .string "One {STR_VAR_1} it is!\n" + .string "I will find one right away!\p" + .string "Thank you, {PLAYER}.\n" + .string "I hope I can count on you again.\l" + .string "Please take care!$" + +gText_ApprenticeWhichMon8:: @ 82BF04E + .string "Eek! {PLAYER}! I met you again!\n" + .string "I… I'm overjoyed!\p" + .string "Oh-oh-oh, I know!\n" + .string "I shouldn't pass up this opportunity!\p" + .string "May I ask a huge favor, {PLAYER}?\n" + .string "Please choose a POKéMON for me!\p" + .string "Please decide which would be better,\n" + .string "{STR_VAR_1} or {STR_VAR_2}!$" + +gText_ApprenticeMonThanks8:: @ 82BF11D + .string "Wow! You decided for me!\n" + .string "One {STR_VAR_1} is what I'll raise to\l" + .string "the best of my ability.\p" + .string "I hope you'll be willing to teach me\n" + .string "some more another time.$" + +gText_ApprenticeWhichMon9:: @ 82BF1A8 + .string "Hey, hey!\n" + .string "My mentor, {PLAYER}{KUN}!\p" + .string "Hello, I've been looking for you\n" + .string "for some more of your sage advice!\p" + .string "Which kind of POKéMON would be right\n" + .string "for me, one {STR_VAR_1} or {STR_VAR_2}?\p" + .string "Don't be shy now.\n" + .string "Let's blurt it out!$" + +gText_ApprenticeMonThanks9:: @ 82BF268 + .string "Uh-huh, one {STR_VAR_1} it is!\n" + .string "OK, A-OK!\l" + .string "I'll get one in a BALL, like, cram!\p" + .string "All right, thanks, as always!\n" + .string "Adios!$" + +gText_ApprenticeWhichMon10:: @ 82BF2D1 + .string "{PLAYER}{KUN}, listen! Big news!\n" + .string "I caught a mirage POKéMON!\p" + .string "Of course I'm lying!\n" + .string "Wahahaha!\p" + .string "This is no lie, though.\n" + .string "I'm not very good at catching\l" + .string "POKéMON.\p" + .string "So, how about deciding for me which\n" + .string "kind of POKéMON I should catch,\l" + .string "master?\p" + .string "Which would be better?\n" + .string "{STR_VAR_1} or {STR_VAR_2}?$" + +gText_ApprenticeMonThanks10:: @ 82BF3CF + .string "Okay, so it's {STR_VAR_1} you chose?\n" + .string "I'll grab the other kind, then!\p" + .string "Just kidding!\n" + .string "I'll obey your teaching, master!\p" + .string "Thanks, master!\n" + .string "I hope you'll keep teaching me!$" + +gText_ApprenticeWhichMon11:: @ 82BF46A + .string "A-H-O-Y!\n" + .string "And that spells ahoy!\p" + .string "The rappin' SAILOR am I!\n" + .string "Surely you remember who am I?\p" + .string "Today, I have a POKéMON question\n" + .string "that begs your suggestion!\p" + .string "I have the choice between this\n" + .string "{STR_VAR_1} and {STR_VAR_2}, you see.\l" + .string "Which is the one to catch for me?$" + +gText_ApprenticeMonThanks11:: @ 82BF551 + .string "{STR_VAR_1}, you say, hey, hey!\n" + .string "I'll go get me one right away!\p" + .string "If it's advice I ever need,\n" + .string "{PLAYER}, your word I'll always heed!$" + +gText_ApprenticeWhichMon12:: @ 82BF5C3 + .string "Oh, wow, if it isn't {PLAYER}!\p" + .string "What should I do? Get your advice?\n" + .string "Why not? I'm already talking to you!\p" + .string "It's been a long time. Let me break\n" + .string "the ice. I'm also looking for advice!\l" + .string "Are you receiving me?\l" + .string "You are receiving me!\p" + .string "My POKéMON--which should I use?\n" + .string "It's either {STR_VAR_1} or {STR_VAR_2}.\l" + .string "Which do you choose?$" + +gText_ApprenticeMonThanks12:: @ 82BF6E5 + .string "If that {STR_VAR_1} is the best,\n" + .string "I'll do as you suggest!\p" + .string "Well, {PLAYER}, I have to roam free,\n" + .string "but don't you forget about me.\p" + .string "See you again, my smart friend!$" + +gText_ApprenticeWhichMon13:: @ 82BF773 + .string "Oh, hi, {PLAYER}{KUN}…\n" + .string "I have this horrible headache…\p" + .string "I must've worried too much about\n" + .string "the kind of POKéMON I should raise.\p" + .string "So, things being this way,\n" + .string "I need you to decide for me.\p" + .string "{PLAYER}{KUN}, if I had to choose between\n" + .string "the POKéMON {STR_VAR_1} and\l" + .string "{STR_VAR_2}, which should it be?$" + +gText_ApprenticeMonThanks13:: @ 82BF869 + .string "Hm, one {STR_VAR_1}, all right.\n" + .string "I'll go look for one when I get better.\p" + .string "I hope I can keep hitting you up\n" + .string "for help like this.$" + +gText_ApprenticeWhichMon14:: @ 82BF8DD + .string "Er… Um…\n" + .string "{PLAYER}{KUN}…?\p" + .string "Please, don't look at me that way.\n" + .string "I'm getting all flustered…\l" + .string "I… I need your advice.\p" + .string "I… I'm really embarrassed, but I can't\n" + .string "decide which POKéMON to use.\p" + .string "If the choices were {STR_VAR_1} or\n" + .string "{STR_VAR_2}, which would be better?$" + +gText_ApprenticeMonThanks14:: @ 82BF9BA + .string "Oh… Okay!\n" + .string "I'll do my best with one {STR_VAR_1}.\p" + .string "I hope I can do my best without\n" + .string "getting all flustered.\p" + .string "Thank you, {PLAYER}{KUN}.\n" + .string "If we meet again, I hope you will be\l" + .string "as helpful.$" + +gText_ApprenticeWhichMon15:: @ 82BFA5A + .string "Hm? You appear to be {PLAYER}{KUN}…\n" + .string "But are you really real?\p" + .string "No, no, if you are real, it's fine.\n" + .string "Incidentally, I would like to obtain\l" + .string "your advice.\p" + .string "It's about the POKéMON I am to use.\p" + .string "If the choices are the POKéMON\n" + .string "{STR_VAR_1} and {STR_VAR_2}, which is\l" + .string "more worthy of me?$" + +gText_ApprenticeMonThanks15:: @ 82BFB4E + .string "{STR_VAR_1}?\n" + .string "Are you certain?\p" + .string "I see. If that's the case, that's fine.\n" + .string "I thank you for your time.\p" + .string "I do hope it is something even I can\n" + .string "handle with aplomb.\p" + .string "Let us meet again!$" + +gText_ApprenticeWhichMove0:: @ 82BFBF2 + .string "Waaah! Oh, {PLAYER}!\n" + .string "Snivel… Hiccup…\p" + .string "I have a dilemma!\n" + .string "I can't decide on a move for\l" + .string "my {STR_VAR_1}…\p" + .string "Please, please, {PLAYER}.\n" + .string "Can you decide for me?\p" + .string "For my {STR_VAR_1}, which move would\n" + .string "be the better choice: {STR_VAR_2}\l" + .string "or {STR_VAR_3}?$" + +gText_ApprenticeMoveThanks0:: @ 82BFCAE + .string "{STR_VAR_1}?\n" + .string "Waaaaah!\p" + .string "Oh! I'm so sorry, {PLAYER}!\n" + .string "You've made me so happy by deciding\l" + .string "the move, I'm crying…\p" + .string "Snivel…\n" + .string "Thank you so much!$" + +gText_ApprenticeWhichMove1:: @ 82BFD26 + .string "Yay! Hi, {PLAYER}!\n" + .string "I need your advice again!\p" + .string "I want to teach my {STR_VAR_1}\n" + .string "a cool move.\p" + .string "I like either of the moves\n" + .string "{STR_VAR_2} or {STR_VAR_3}.\l" + .string "What's your recommendation?$" + +gText_ApprenticeMoveThanks1:: @ 82BFDB1 + .string "{STR_VAR_1} is better? I guess so!\n" + .string "Okay, I'll go with that!\p" + .string "If we meet here again, please teach\n" + .string "me something else, teacher!$" + +gText_ApprenticeWhichMove2:: @ 82BFE24 + .string "{PLAYER}, hello!\n" + .string "It's about my {STR_VAR_1}, but I'm\l" + .string "worried about its moves.\p" + .string "You see, it's the moves {STR_VAR_2}\n" + .string "and {STR_VAR_3}.\p" + .string "Which is stronger and better for\n" + .string "my {STR_VAR_1}?$" + +gText_ApprenticeMoveThanks2:: @ 82BFEAD + .string "{STR_VAR_1} is your choice?\n" + .string "Okay, I got it!\p" + .string "I'll go teach {STR_VAR_1} to\n" + .string "my POKéMON right away!\p" + .string "See you again!$" + +gText_ApprenticeWhichMove3:: @ 82BFF0A + .string "Ohhh, {PLAYER}…\n" + .string "I'm hopeless, no, really!\p" + .string "I've decided to raise a POKéMON,\n" + .string "but now I can't even decide what\l" + .string "move I should let it learn…\p" + .string "I know that it doesn't mean anything\n" + .string "to you, {PLAYER}.\p" + .string "But it means a lot to me…\p" + .string "Please, {PLAYER}, could you choose\n" + .string "a move for my {STR_VAR_1}?\p" + .string "If you could even choose between\n" + .string "{STR_VAR_2} and {STR_VAR_3}…$" + +gText_ApprenticeMoveThanks3:: @ 82C0032 + .string "I understand!\p" + .string "But will it even be willing to learn\n" + .string "{STR_VAR_1} for me…\l" + .string "No! I'll do my best!\p" + .string "Thank you!$" + +gText_ApprenticeWhichMove4:: @ 82C0090 + .string "Oh, {PLAYER}{KUN}!\n" + .string "I was just hoping to see you, too!\p" + .string "I was wondering what move would\n" + .string "be suitable for my {STR_VAR_1}.\p" + .string "I can't decide, so can you decide\n" + .string "for me instead?\p" + .string "For instance… How about the moves\n" + .string "{STR_VAR_2} and {STR_VAR_3}?\l" + .string "Which one would be better?$" + +gText_ApprenticeMoveThanks4:: @ 82C016E + .string "{STR_VAR_1}? That's great!\p" + .string "Knowing that you made the decision,\n" + .string "{PLAYER}{KUN}, I won't be so upset if\l" + .string "I lose.\p" + .string "Okay, I'll look to you for advice again.\n" + .string "Bye!$" + +gText_ApprenticeWhichMove5:: @ 82C01F7 + .string "How could things be this busy?\n" + .string "Hey, if it isn't {PLAYER}{KUN}!\l" + .string "How's it going?\p" + .string "Since I got up this morning, I've done\n" + .string "my jogging, swimming, and cooking!\p" + .string "You wouldn't believe how busy I am!\p" + .string "I can't even decide what move\n" + .string "my {STR_VAR_1} should learn!\p" + .string "{STR_VAR_2} looks good, huh?\n" + .string "But {STR_VAR_3}'s also decent.\p" + .string "{PLAYER}{KUN}, give me some of your good\n" + .string "advice! Which move'd be good for me?$" + +gText_ApprenticeMoveThanks5:: @ 82C034C + .string "Okay, gotcha.\n" + .string "I'll make room in my schedule and\l" + .string "teach that move.\p" + .string "I'm glad I met a good mentor in you.\n" + .string "Thanks! See you around!$" + +gText_ApprenticeWhichMove6:: @ 82C03CA + .string "Oh! Lucky!\n" + .string "I met you again, {PLAYER}!\l" + .string "I need to tap your mind again today.\p" + .string "Drum roll, please!\n" + .string "The question I have is…\p" + .string "For my {STR_VAR_1}, which is the move\n" + .string "best suited, {STR_VAR_2} or\l" + .string "{STR_VAR_3}?$" + +gText_ApprenticeMoveThanks6:: @ 82C046E + .string "Ahhh!\n" + .string "{STR_VAR_1}, you say!\l" + .string "Thanks for a most cool answer!\p" + .string "I guess that's about all I wanted\n" + .string "to ask you today.\p" + .string "Let's meet here again, okay?\n" + .string "Thanks!$" + +gText_ApprenticeWhichMove7:: @ 82C04F9 + .string "Oh, hello, {PLAYER}.\n" + .string "I trust you've been well?\p" + .string "I have to seek your advice again.\n" + .string "It's about my dearest {STR_VAR_1}.\p" + .string "What would be the ideal move for\n" + .string "my lovable {STR_VAR_1}?\l" + .string "{STR_VAR_2} or {STR_VAR_3}?$" + +gText_ApprenticeMoveThanks7:: @ 82C0598 + .string "{STR_VAR_1} it is!\n" + .string "I will teach that right away!\p" + .string "Thank you, {PLAYER}.\n" + .string "I hope I can count on you again.\l" + .string "Please take care!$" + +gText_ApprenticeWhichMove8:: @ 82C0602 + .string "Eek! {PLAYER}! I met you again!\n" + .string "I… I'm overjoyed!\p" + .string "Whenever I'm in need, you're always\n" + .string "there for me, {PLAYER}!\p" + .string "Today, I want you to recommend\n" + .string "a move for me!\p" + .string "Please choose a move for\n" + .string "my {STR_VAR_1}!\p" + .string "Which move would be better,\n" + .string "{STR_VAR_2} or {STR_VAR_3}?$" + +gText_ApprenticeMoveThanks8:: @ 82C06D8 + .string "Oh-oh-oh! Thank you!\n" + .string "{STR_VAR_1} is it!\l" + .string "Perfectly understood!\p" + .string "I hope you'll be willing to teach me\n" + .string "some more another time.$" + +gText_ApprenticeWhichMove9:: @ 82C074A + .string "Hola, {PLAYER}{KUN}, bueno!\n" + .string "I'm hoping for some more of\l" + .string "your sage advice today!\p" + .string "What would be the best move for\n" + .string "my {STR_VAR_1}?\p" + .string "It should be something that'll\n" + .string "let me win just like that!\p" + .string "Would it be {STR_VAR_2}?\n" + .string "Or {STR_VAR_3}?$" + +gText_ApprenticeMoveThanks9:: @ 82C0809 + .string "Uh-huh, {STR_VAR_1} it is!\n" + .string "Si, bueno!\l" + .string "I'll get it taught, like, ka-blam!\p" + .string "All right, thanks, as always!\n" + .string "Adios!$" + +gText_ApprenticeWhichMove10:: @ 82C086E + .string "{PLAYER}{KUN}, it's completely wild!\p" + .string "My POKéMON!\n" + .string "It learned six moves!\p" + .string "Of course I'm lying!\n" + .string "Wahahaha!\p" + .string "This is no lie, though.\n" + .string "I'm not very good at choosing moves\l" + .string "for my POKéMON.\p" + .string "So, how about deciding for me which\n" + .string "kind of move I should teach?\p" + .string "{STR_VAR_2} or {STR_VAR_3}--which\n" + .string "would go with my {STR_VAR_1} best?$" + +gText_ApprenticeMoveThanks10:: @ 82C0982 + .string "Okay, so it's {STR_VAR_1} you chose?\n" + .string "I'll choose another move, then!\p" + .string "Just kidding!\n" + .string "I'll obey your teaching, master!\p" + .string "Thanks, master!\n" + .string "I hope you'll keep teaching me!$" + +gText_ApprenticeWhichMove11:: @ 82C0A1D + .string "A-H-O-Y!\n" + .string "And that spells ahoy!\p" + .string "The rappin' SAILOR am I!\n" + .string "I'm always with it, don't ask me why.\p" + .string "Today, I have a move question\n" + .string "that begs your suggestion!\p" + .string "{STR_VAR_2} and {STR_VAR_3} are\n" + .string "the moves. What would be the best\l" + .string "for my {STR_VAR_1} so it grooves?$" + +gText_ApprenticeMoveThanks11:: @ 82C0AFD + .string "{STR_VAR_1}, you say, hey, hey!\n" + .string "I'll go teach that right away!\p" + .string "If it's advice I ever need,\n" + .string "{PLAYER}, your word I'll always heed!$" + +gText_ApprenticeWhichMove12:: @ 82C0B6F + .string "Oh, yeahah, if it isn't {PLAYER}!\p" + .string "What should I do? Get your advice?\n" + .string "Why not? I'm already talking to you!\p" + .string "{PLAYER}, are you surprised by me?\n" + .string "I want your advice, can't you see?\p" + .string "Are you receiving me?\n" + .string "You are receiving me!\p" + .string "My {STR_VAR_1}--what should it use?\n" + .string "It's {STR_VAR_2} or {STR_VAR_3},\l" + .string "what do you choose?$" + +gText_ApprenticeMoveThanks12:: @ 82C0C7D + .string "If that {STR_VAR_1} is the best,\n" + .string "I'll do as you suggest!\p" + .string "Well, {PLAYER}, I have to roam free,\n" + .string "but don't you forget about me.\p" + .string "See you again, my smart friend!$" + +gText_ApprenticeWhichMove13:: @ 82C0D0B + .string "Gahack! Gaah! Oh, {PLAYER}{KUN}…\n" + .string "I have this lousy cold, I do…\p" + .string "I want to pick a move for my POKéMON,\n" + .string "but I'm not up to it…\p" + .string "So, things being this way,\n" + .string "I need you to decide for me.\p" + .string "{PLAYER}{KUN}, if I had to choose between\n" + .string "{STR_VAR_2} and {STR_VAR_3} for\l" + .string "my {STR_VAR_1}, which would it be?$" + +gText_ApprenticeMoveThanks13:: @ 82C0DFE + .string "Hm, {STR_VAR_1}, all right. Cough!\n" + .string "I'll go teach it when I get better.\p" + .string "I hope I can keep hitting you up\n" + .string "for help like this.$" + +gText_ApprenticeWhichMove14:: @ 82C0E71 + .string "Er… Um…\n" + .string "{PLAYER}{KUN}…?\p" + .string "Please, don't look at me that way.\n" + .string "I'm getting all flustered…\l" + .string "I… I need your advice.\p" + .string "I… I'm really embarrassed, but I can't\n" + .string "decide what move I should teach\l" + .string "my POKéMON.\p" + .string "It's for my {STR_VAR_1}.\n" + .string "If the choices were {STR_VAR_2} or\l" + .string "{STR_VAR_3}, which would be better?$" + +gText_ApprenticeMoveThanks14:: @ 82C0F6D + .string "Oh… Okay!\n" + .string "I'll try that {STR_VAR_1}.\p" + .string "I hope I can teach that move…\n" + .string "This is so nerve-racking…\p" + .string "Thank you, {PLAYER}{KUN}.\n" + .string "If we meet again, I hope you will be\l" + .string "as helpful.$" + +gText_ApprenticeWhichMove15:: @ 82C1003 + .string "Hm? You appear to be {PLAYER}{KUN}…\n" + .string "But are you really real?\p" + .string "Perhaps you're one of those popular\n" + .string "mimics?\p" + .string "No, no, if you are real, it's fine.\n" + .string "No need to be upset, I assure you!\p" + .string "Incidentally, I would like to obtain\n" + .string "your advice.\p" + .string "It's about my {STR_VAR_1}.\p" + .string "Which move would be better for it to\n" + .string "use, {STR_VAR_2} or {STR_VAR_3}?$" + +gText_ApprenticeMoveThanks15:: @ 82C1122 + .string "{STR_VAR_1}?\n" + .string "There's no question about that?\p" + .string "I see. If that's the case, that's fine.\n" + .string "I thank you for your time.\p" + .string "I do hope it is something even\n" + .string "my POKéMON can learn.\p" + .string "Let us meet again!$" + +gText_ApprenticePickWinSpeech0:: @ 82C11D1 + .string "Oh… {PLAYER}?\n" + .string "It is {PLAYER}!\l" + .string "Oh! Sniff…sob… Please, listen!\p" + .string "I… When I battle, I get so nervous,\n" + .string "I can't help crying even if I win…\p" + .string "I wish I could say something cool\n" + .string "when I win…\p" + .string "Please, please, {PLAYER}!\n" + .string "Could you maybe teach me something\l" + .string "cool to say when I win so I don't cry?$" + +gText_ApprenticeWinSpeechThanks0:: @ 82C12D5 + .string "{STR_VAR_1}\p" + .string "Awesome! Wicked! Awoooh!\n" + .string "It's really cool!\p" + .string "Oh… I'm sorry…\n" + .string "I'm so happy, I'm crying…\p" + .string "Snivel… {PLAYER}!\n" + .string "Thank you so much for everything!\p" + .string "I will battle the best I can for\n" + .string "your sake, {PLAYER}!\p" + .string "{PLAYER}…\n" + .string "Next time… We should battle!$" + +gText_ApprenticePickWinSpeech1:: @ 82C13AB + .string "Yay! It's {PLAYER}! Hello!\n" + .string "I wanted to ask you something!\p" + .string "I want to say something cool when\n" + .string "I win a match.\p" + .string "Do you have a cool saying that\n" + .string "you could recommend?$" + +gText_ApprenticeWinSpeechThanks1:: @ 82C1444 + .string "{STR_VAR_1}\p" + .string "Oh, wow! That is so cool!\n" + .string "Okay, I'll say that!\p" + .string "Thanks for teaching me all this time!\n" + .string "I'm going to do the best I can\l" + .string "wherever I go from now on!\p" + .string "When we meet again, it'll be for\n" + .string "a battle!$" + +gText_ApprenticePickWinSpeech2:: @ 82C1501 + .string "{PLAYER}, hello!\p" + .string "My POKéMON and I are ready for\n" + .string "anything, except for one thing.\p" + .string "I think it would be good if I had\n" + .string "something to shout when I win.\p" + .string "Could you think up something good\n" + .string "to say?$" + +gText_ApprenticeWinSpeechThanks2:: @ 82C15B6 + .string "{STR_VAR_1}\p" + .string "…Cool!\n" + .string "I will use that!\p" + .string "I'm going out to battle all over\n" + .string "the place.\p" + .string "Who knows, I may even get to battle\n" + .string "you one day, {PLAYER}.\p" + .string "Next time, let's meet at a place\n" + .string "of battle!$" + +gText_ApprenticePickWinSpeech3:: @ 82C165E + .string "Hello, {PLAYER}…\n" + .string "I'm sorry to bug you, but I'm hopeless…\p" + .string "Even when…\n" + .string "Even when I win, I don't have anything\l" + .string "special to say…\p" + .string "I know that it doesn't mean anything\n" + .string "to you, {PLAYER}.\p" + .string "But it means a lot to me…\p" + .string "Please, {PLAYER}, what should I say\n" + .string "if I win a battle?$" + +gText_ApprenticeWinSpeechThanks3:: @ 82C174F + .string "{STR_VAR_1}\p" + .string "That's inspired…\p" + .string "Uh… Is it okay for someone like me\n" + .string "to even say that?\p" + .string "No! I'll do my best!\p" + .string "{PLAYER}, thank you so much for\n" + .string "putting up with me for so long…\p" + .string "I promise to do my best from now on.\p" + .string "I'm sure you'll quickly forget about\n" + .string "someone like me, but let's meet\l" + .string "somewhere again!$" + +gText_ApprenticePickWinSpeech4:: @ 82C1862 + .string "Oh, {PLAYER}{KUN}.\n" + .string "There's something I want you to hear.\p" + .string "I know that I don't always sound\n" + .string "nice or polite…\p" + .string "When I win a battle, I think I come\n" + .string "across as being arrogant.\p" + .string "I don't want people to dislike me,\n" + .string "so I want to say something nice to\l" + .string "someone I beat.\p" + .string "But I can't think of anything good!\n" + .string "Could you think something up for me?$" + +gText_ApprenticeWinSpeechThanks4:: @ 82C19A0 + .string "{STR_VAR_1}\p" + .string "Not bad!\n" + .string "Yup, that's what I'll go with!\p" + .string "I'm going to hit the road and do what\n" + .string "I can with what you taught me in\l" + .string "my head and heart.\p" + .string "I'm sorry that I've been so pushy\n" + .string "with you!\p" + .string "Next time, we battle, okay?\n" + .string "See you!$" + +gText_ApprenticePickWinSpeech5:: @ 82C1A76 + .string "Oh, I can't get over how busy I am!\n" + .string "Oh, hey, I was looking for you, {PLAYER}{KUN}.\p" + .string "Are you well as usual?\n" + .string "Things haven't changed for me at all.\p" + .string "I've got running, fighting, and mapping\n" + .string "to do. Why am I so busy?\p" + .string "But even though I'm busy, it'd be rude\n" + .string "to just turn on my heels and walk away\l" + .string "from a win without saying a word.\p" + .string "So, what would be a cool saying to\n" + .string "underline my coolness when I'm done\l" + .string "and walking away? {PLAYER}{KUN}, help me!$" + +gText_ApprenticeWinSpeechThanks5:: @ 82C1C16 + .string "{STR_VAR_1}\p" + .string "Okay, gotcha.\n" + .string "I can find time to say that!\p" + .string "Honestly, I'm glad I met a good mentor\n" + .string "like you.\p" + .string "I'm going to make time somehow so\n" + .string "I can get into battling.\p" + .string "Thanks for everything, {PLAYER}{KUN}!\n" + .string "We have to battle, you and me, one day!$" + +gText_ApprenticePickWinSpeech6:: @ 82C1CF5 + .string "I lucked out again!\n" + .string "{PLAYER}! Am I glad to see you!\l" + .string "Like usual, I need your advice!\p" + .string "Drum roll, please!\n" + .string "The last question I have is…\p" + .string "If I win a battle and want to end\n" + .string "it with a cool flourish, what\l" + .string "should I say?$" + +gText_ApprenticeWinSpeechThanks6:: @ 82C1DC1 + .string "{STR_VAR_1}\p" + .string "That… That's fabulous!\n" + .string "It's dignified and cool! I claim it!\p" + .string "…Listen, I think I'm getting decent\n" + .string "at this, huh?\p" + .string "So, I'm thinking of challenging other\n" + .string "TRAINERS from now on.\p" + .string "{PLAYER}, your advice really helped me.\p" + .string "Maybe one day, there'll be a time when\n" + .string "we battle!\p" + .string "Thank you for everything!$" + +gText_ApprenticePickWinSpeech7:: @ 82C1EDC + .string "Oh, {PLAYER}.\n" + .string "I'm so glad I met you!\p" + .string "I no longer have any concerns with\n" + .string "regard to my POKéMON.\p" + .string "It's myself that worries me…\p" + .string "Do you know how a TRAINER says\n" + .string "a few things upon winning a battle?\p" + .string "Definitely, I wish I could do that,\n" + .string "too!\p" + .string "Please, what should I say when\n" + .string "I win a battle?$" + +gText_ApprenticeWinSpeechThanks7:: @ 82C1FEC + .string "{STR_VAR_1}\p" + .string "Ah! That saying! It refreshes me\n" + .string "and makes me feel reborn!\p" + .string "I must use that right away!\p" + .string "And now, I must take my leave,\n" + .string "{PLAYER}…\p" + .string "I will go out to battle many others,\n" + .string "but never will I forget your teachings.\p" + .string "Perhaps one day…\n" + .string "Farewell!$" + +gText_ApprenticePickWinSpeech8:: @ 82C20D1 + .string "Eek! I spotted {PLAYER}!\n" + .string "I… I'm overjoyed to see you!\p" + .string "Oh-oh-oh! There's something I just\n" + .string "had to ask you!\p" + .string "A little while ago, I won a battle.\n" + .string "That part was giddying!\p" + .string "But it made me so overjoyed that\n" + .string "I choked up and couldn't say a thing!\p" + .string "So now, {PLAYER}, please, I want you to\n" + .string "think up an exit line for when I win!$" + +gText_ApprenticeWinSpeechThanks8:: @ 82C21FF + .string "{STR_VAR_1}\p" + .string "Waaaaah!\n" + .string "I'm going to say that?!\l" + .string "I… I'm delirious with joy!\p" + .string "Th-th-thank you!\n" + .string "I have nothing left to regret now!\p" + .string "I'm going to travel now and battle\n" + .string "all sorts of people.\p" + .string "Everything, I owe it to you, {PLAYER}.\n" + .string "Really, really, thank you!\p" + .string "I've got to go now, but let's meet\n" + .string "in battle one day!$" + +gText_ApprenticePickWinSpeech9:: @ 82C231C + .string "Hola, bueno!\n" + .string "{PLAYER}{KUN}!\p" + .string "You know, I'm getting the itch to roam\n" + .string "and battle where I may.\p" + .string "But before I do, I want your advice\n" + .string "once again, please!\p" + .string "If I were to win a battle, what would\n" + .string "be a good boast I could say to my\l" + .string "fallen TRAINER opponent?$" + +gText_ApprenticeWinSpeechThanks9:: @ 82C2407 + .string "{STR_VAR_1}\p" + .string "Uh-huh, that's sweet!\n" + .string "Si, bueno!\l" + .string "I'll try saying that, like, ham!\p" + .string "And now, it's time to say good-bye!\n" + .string "Thanks for all sorts of things!\p" + .string "Give me a battle one day, OK?\n" + .string "Adios!$" + +gText_ApprenticePickWinSpeech10:: @ 82C24B5 + .string "{PLAYER}{KUN}, there's big trouble!\p" + .string "When I win a battle, I brag about it\n" + .string "for an hour at least!\p" + .string "Of course I'm lying!\n" + .string "Wahahaha!\p" + .string "This is no lie, though.\n" + .string "I'm not very good at chatting.\p" + .string "So, how about deciding for me what\n" + .string "I should say after winning a battle,\l" + .string "master?$" + +gText_ApprenticeWinSpeechThanks10:: @ 82C25B1 + .string "{STR_VAR_1}\p" + .string "That's what I should say, huh?\n" + .string "Then, I'll stay away from that!\p" + .string "Just kidding!\n" + .string "I'll obey your teaching, master!\p" + .string "Thanks for teaching me all this time,\n" + .string "master!\p" + .string "I'm finally understanding what being\n" + .string "a TRAINER is about.\p" + .string "I'm going to go out and win battles\n" + .string "against any TRAINER.\p" + .string "Maybe it'll be you one day, master!\p" + .string "That's all!\n" + .string "Farewell, my master!$" + +gText_ApprenticePickWinSpeech11:: @ 82C2707 + .string "A-H-O-Y!\n" + .string "And that spells ahoy!\p" + .string "The rappin' SAILOR am I!\n" + .string "This will be my last question,\l" + .string "don't you cry!\p" + .string "It's a saying question\n" + .string "that begs your suggestion!\p" + .string "If I win a match, what can I say\n" + .string "in a real cool way?$" + +gText_ApprenticeWinSpeechThanks11:: @ 82C27D4 + .string "{STR_VAR_1}\p" + .string "Perfect! That's what I'll use.\n" + .string "I was right to make you choose!\p" + .string "And now, I think it'd be best,\n" + .string "if I were to fly the nest!\p" + .string "Thanks for all you taught me.\n" + .string "I'll be off on a battle spree!\p" + .string "B-O-N-V-O-Y-A-G-E!\n" + .string "And that spells bon voyage,\l" + .string "to you this is my homage!$" + +gText_ApprenticePickWinSpeech12:: @ 82C28D6 + .string "Oh, yeah, {PLAYER}!\n" + .string "I found you again today!\p" + .string "What should I do? Ask you again?\n" + .string "Why not? I'm already asking you!\p" + .string "Anyways, {PLAYER}…\n" + .string "Are you receiving me?\l" + .string "You are receiving me!\l" + .string "I need some more advice for me!\p" + .string "It's about what I should yell.\n" + .string "Something cool to holler when\l" + .string "a battle ends well.\p" + .string "Come on, I wanna hear you say it!$" + +gText_ApprenticeWinSpeechThanks12:: @ 82C2A0B + .string "{STR_VAR_1}\p" + .string "All right, all right!\n" + .string "I'll use that because it's so tight!\p" + .string "I'm out of things to ask you.\n" + .string "Waving bye is all that's left to do.\p" + .string "But maybe one day we'll meet, with one\n" + .string "destined to go down in defeat.\p" + .string "But, it really is time to say farewell.\p" + .string "Well, {PLAYER}, I have to roam free,\n" + .string "but don't you forget about me!\p" + .string "Take care, {PLAYER}!\n" + .string "Love ya!$" + +gText_ApprenticePickWinSpeech13:: @ 82C2B50 + .string "{PLAYER}{KUN}, I'm finished…\n" + .string "My nose won't stop dripping…\p" + .string "I was trying to think up something\n" + .string "cool to say when I win a battle.\p" + .string "It inspired me so much, it made me cry,\n" + .string "and now my nose won't stop running…\p" + .string "So, things being this way,\n" + .string "I need you to decide for me, {PLAYER}{KUN}.\p" + .string "When I win a battle,\n" + .string "what should I say?$" + +gText_ApprenticeWinSpeechThanks13:: @ 82C2C77 + .string "{STR_VAR_1}\p" + .string "… … …That's good.\n" + .string "No, it's awe inspiring!\l" + .string "It's bringing fresh tears to my eyes!\p" + .string "But in spite of my tears and runny\n" + .string "nose, I will use that saying!\p" + .string "I'm plumb out of things to ask you,\n" + .string "{PLAYER}{KUN}.\p" + .string "From now on, we're rivals!\n" + .string "Thanks for everything!$" + +gText_ApprenticePickWinSpeech14:: @ 82C2D67 + .string "Er… Um…\n" + .string "{PLAYER}{KUN}…\p" + .string "Please, don't look at me that way.\n" + .string "You're making me all nervous.\p" + .string "I… I need your advice again.\n" + .string "I'll make it my last, though…\p" + .string "It's really embarrassing to ask,\n" + .string "but what if I win a battle?\l" + .string "What should I say?$" + +gText_ApprenticeWinSpeechThanks14:: @ 82C2E41 + .string "{STR_VAR_1}\p" + .string "Oh… Okay!\n" + .string "I'll try to say that!\l" + .string "I might be too nervous to say it…\p" + .string "Thank you, {PLAYER}{KUN}.\n" + .string "I have to say good-bye now.\p" + .string "I'll obey all that you've taught me,\n" + .string "{PLAYER}{KUN}, and do the best I can.$" + +gText_ApprenticePickWinSpeech15:: @ 82C2EF5 + .string "Hm? You appear to be {PLAYER}{KUN}…\n" + .string "But are you really?\l" + .string "Perhaps a clever {PLAYER} DOLL?\p" + .string "Oh, no, no, no, don't worry!\n" + .string "If you really are real, please\l" + .string "forget about my rudeness.\p" + .string "No need to be so angry. All I wish for\n" + .string "is more of your fine advice.\p" + .string "It concerns a saying.\p" + .string "More precisely, what should I say\n" + .string "if I win a battle?$" + +gText_ApprenticeWinSpeechThanks15:: @ 82C3023 + .string "{STR_VAR_1}\p" + .string "… … … … … …\n" + .string "When I win a match…\p" + .string "{STR_VAR_1}\p" + .string "…Are you serious?\p" + .string "I see. If you are serious, that's fine.\n" + .string "I thank you for your time.\p" + .string "I do hope even I will be able to\n" + .string "put that saying to good use.\p" + .string "I seem to have run dry on what advice\n" + .string "I need.\p" + .string "I do believe it's high time I bid you\n" + .string "farewell and strike out on my own.\p" + .string "Thank you, my mentor!\n" + .string "I apologize for my skepticism!$" diff --git a/data/text/battle_dome.inc b/data/text/battle_dome.inc new file mode 100644 index 0000000000..8a26ff5ffc --- /dev/null +++ b/data/text/battle_dome.inc @@ -0,0 +1,341 @@ +BattleDome_Text_Potential1:: + .string "The best candidate to be a champ!$" + +BattleDome_Text_Potential2:: + .string "A sure-finalist team.$" + +BattleDome_Text_Potential3:: + .string "A likely top-three finisher.$" + +BattleDome_Text_Potential4:: + .string "A candidate to finish first.$" + +BattleDome_Text_Potential5:: + .string "A team with top-class potential.$" + +BattleDome_Text_Potential6:: + .string "The dark horse team this tournament.$" + +BattleDome_Text_Potential7:: + .string "A better-than-average team.$" + +BattleDome_Text_Potential8:: + .string "This tournament's average team.$" + +BattleDome_Text_Potential9:: + .string "A team with average potential.$" + +BattleDome_Text_Potential10:: + .string "A weaker-than-average team.$" + +BattleDome_Text_Potential11:: + .string "A team looking for its first win.$" + +BattleDome_Text_Potential12:: + .string "One win will make this team proud.$" + +BattleDome_Text_Potential13:: + .string "Overall, a weak team.$" + +BattleDome_Text_Potential14:: + .string "A team with very low potential.$" + +BattleDome_Text_Potential15:: + .string "A team unlikely to win the tournament.$" + +BattleDome_Text_Potential16:: + .string "The team most unlikely to win.$" + +BattleDome_Text_PotentialDomeAceTucker:: + .string "The perfect, invincible superstar!$" + +BattleDome_Text_StyleRiskDisaster:: + .string "Willing to risk total disaster at times.$" + +BattleDome_Text_StyleEndureLongBattles:: + .string "Skilled at enduring long battles.$" + +BattleDome_Text_StyleVariesTactics:: + .string "Varies tactics to suit the opponent.$" + +BattleDome_Text_StyleToughWinningPattern:: + .string "Has a tough winning pattern.$" + +BattleDome_Text_StyleUsesVeryRareMove:: + .string "Occasionally uses a very rare move.$" + +BattleDome_Text_StyleUsesStartlingMoves:: + .string "Uses startling and disruptive moves.$" + +BattleDome_Text_StyleConstantlyWatchesHP:: + .string "Constantly watches HP in battle.$" + +BattleDome_Text_StyleStoresAndLoosesPower:: + .string "Good at storing then loosing power.$" + +BattleDome_Text_StyleEnfeeblesFoes:: + .string "Skilled at enfeebling foes.$" + +BattleDome_Text_StylePrefersLuckTactics:: + .string "Prefers tactics that rely on luck.$" + +BattleDome_Text_StyleRegalAtmosphere:: + .string "Attacks with a regal atmosphere.$" + +BattleDome_Text_StylePowerfulLowPPMoves:: + .string "Attacks with powerful, low-PP moves.$" + +BattleDome_Text_StyleEnfeebleThenAttack:: + .string "Skilled at enfeebling, then attacking.$" + +BattleDome_Text_StyleBattlesWhileEnduring:: + .string "Battles while enduring all attacks.$" + +BattleDome_Text_StyleUpsetsFoesEmotionally:: + .string "Skilled at upsetting foes emotionally.$" + +BattleDome_Text_StyleStrongAndStraightforward:: + .string "Uses strong and straightforward moves.$" + +BattleDome_Text_StyleAggressivelyStrongMoves:: + .string "Aggressively uses strong moves.$" + +BattleDome_Text_StyleCleverlyDodgesAttacks:: + .string "Battles while cleverly dodging attacks.$" + +BattleDome_Text_StyleUsesUpsettingMoves:: + .string "Skilled at using upsetting attacks.$" + +BattleDome_Text_StyleUsesPopularMoves:: + .string "Uses many popular moves.$" + +BattleDome_Text_StyleHasPowerfulComboMoves:: + .string "Has moves for powerful combinations.$" + +BattleDome_Text_StyleUsesHighProbabilityMoves:: + .string "Uses high-probability attacks.$" + +BattleDome_Text_StyleAggressivelySpectacularMoves:: + .string "Aggressively uses spectacular moves.$" + +BattleDome_Text_StyleEmphasizesOffenseOverDefense:: + .string "Emphasizes offense over defense.$" + +BattleDome_Text_StyleEmphasizesDefenseOverOffense:: + .string "Emphasizes defense over offense.$" + +BattleDome_Text_StyleAttacksQuicklyStrongMoves:: + .string "Attacks quickly with strong moves.$" + +BattleDome_Text_StyleUsesAddedEffectMoves:: + .string "Often uses moves with added effects.$" + +BattleDome_Text_StyleUsesBalancedMixOfMoves:: + .string "Uses a well-balanced mix of moves.$" + +BattleDome_Text_StyleSampleMessage1:: + .string "This is sample message 1.$" + +BattleDome_Text_StyleSampleMessage2:: + .string "This is sample message 2.$" + +BattleDome_Text_StyleSampleMessage3:: + .string "This is sample message 3.$" + +BattleDome_Text_StyleSampleMessage4:: + .string "This is sample message 4.$" + +BattleDome_Text_EmphasizesHPAndAtk:: + .string "Emphasizes HP and ATTACK.$" + +BattleDome_Text_EmphasizesHPAndDef:: + .string "Emphasizes HP and DEFENSE.$" + +BattleDome_Text_EmphasizesHPAndSpeed:: + .string "Emphasizes HP and SPEED.$" + +BattleDome_Text_EmphasizesHPAndSpAtk:: + .string "Emphasizes HP and SP. ATTACK.$" + +BattleDome_Text_EmphasizesHPAndSpDef:: + .string "Emphasizes HP and SP. DEFENSE.$" + +BattleDome_Text_EmphasizesAtkAndDef:: + .string "Emphasizes ATTACK and DEFENSE.$" + +BattleDome_Text_EmphasizesAtkAndSpeed:: + .string "Emphasizes ATTACK and SPEED.$" + +BattleDome_Text_EmphasizesAtkAndSpAtk:: + .string "Emphasizes ATTACK and SP. ATTACK.$" + +BattleDome_Text_EmphasizesAtkAndSpDef:: + .string "Emphasizes ATTACK and SP. DEFENSE.$" + +BattleDome_Text_EmphasizesDefAndSpeed:: + .string "Emphasizes DEFENSE and SPEED.$" + +BattleDome_Text_EmphasizesDefAndSpAtk:: + .string "Emphasizes DEFENSE and SP. ATTACK.$" + +BattleDome_Text_EmphasizesDefAndSpDef:: + .string "Emphasizes DEFENSE and SP. DEFENSE.$" + +BattleDome_Text_EmphasizesSpeedAndSpAtk:: + .string "Emphasizes SPEED and SP. ATTACK.$" + +BattleDome_Text_EmphasizesSpeedAndSpDef:: + .string "Emphasizes SPEED and SP. DEFENSE.$" + +BattleDome_Text_EmphasizesSpAtkAndSpDef:: + .string "Emphasizes SP. ATTACK and SP. DEFENSE.$" + +BattleDome_Text_EmphasizesHP:: + .string "Emphasizes HP.$" + +BattleDome_Text_EmphasizesAtk:: + .string "Emphasizes ATTACK.$" + +BattleDome_Text_EmphasizesDef:: + .string "Emphasizes DEFENSE.$" + +BattleDome_Text_EmphasizesSpeed:: + .string "Emphasizes SPEED.$" + +BattleDome_Text_EmphasizesSpAtk:: + .string "Emphasizes SP. ATTACK.$" + +BattleDome_Text_EmphasizesSpDef:: + .string "Emphasizes SP. DEFENSE.$" + +BattleDome_Text_NeglectsHPAndAtk:: + .string "Neglects HP and ATTACK.$" + +BattleDome_Text_NeglectsHPAndDef:: + .string "Neglects HP and DEFENSE.$" + +BattleDome_Text_NeglectsHPAndSpeed:: + .string "Neglects HP and SPEED.$" + +BattleDome_Text_NeglectsHPAndSpAtk:: + .string "Neglects HP and SP. ATTACK.$" + +BattleDome_Text_NeglectsHPAndSpDef:: + .string "Neglects HP and SP. DEFENSE.$" + +BattleDome_Text_NeglectsAtkAndDef:: + .string "Neglects ATTACK and DEFENSE.$" + +BattleDome_Text_NeglectsAtkAndSpeed:: + .string "Neglects ATTACK and SPEED.$" + +BattleDome_Text_NeglectsAtkAndSpAtk:: + .string "Neglects ATTACK and SP. ATTACK.$" + +BattleDome_Text_NeglectsAtkAndSpDef:: + .string "Neglects ATTACK and SP. DEFENSE.$" + +BattleDome_Text_NeglectsDefAndSpeed:: + .string "Neglects DEFENSE and SPEED.$" + +BattleDome_Text_NeglectsDefAndSpAtk:: + .string "Neglects DEFENSE and SP. ATTACK.$" + +BattleDome_Text_NeglectsDefAndSpDef:: + .string "Neglects DEFENSE and SP. DEFENSE.$" + +BattleDome_Text_NeglectsSpeedAndSpAtk:: + .string "Neglects SPEED and SP. ATTACK.$" + +BattleDome_Text_NeglectsSpeedAndSpDef:: + .string "Neglects SPEED and SP. DEFENSE.$" + +BattleDome_Text_NeglectsSpAtkAndSpDef:: + .string "Neglects SP. ATTACK and SP. DEFENSE.$" + +BattleDome_Text_NeglectsHP:: + .string "Neglects HP.$" + +BattleDome_Text_NeglectsAtk:: + .string "Neglects ATTACK.$" + +BattleDome_Text_NeglectsDef:: + .string "Neglects DEFENSE.$" + +BattleDome_Text_NeglectsSpeed:: + .string "Neglects SPEED.$" + +BattleDome_Text_NeglectsSpAtk:: + .string "Neglects SP. ATTACK.$" + +BattleDome_Text_NeglectsSpDef:: + .string "Neglects SP. DEFENSE.$" + +BattleDome_Text_RaisesMonsWellBalanced:: + .string "Raises POKéMON in a well-balanced way.$" + +BattleDome_Text_LetTheBattleBegin:: + .string "Let the battle begin!$" + +BattleDome_Text_TrainerWonUsingMove:: + .string "{STR_VAR_1} won using {STR_VAR_2}!$" + +BattleDome_Text_TrainerBecameChamp:: + .string "{STR_VAR_1} became the champ!$" + +BattleDome_Text_TrainerWonByDefault:: + .string "{STR_VAR_1} won by default!$" + +BattleDome_Text_TrainerWonOutrightByDefault:: + .string "{STR_VAR_1} won outright by default!$" + +BattleDome_Text_TrainerWonNoMoves:: + .string "{STR_VAR_1} won without using a move!$" + +BattleDome_Text_TrainerWonOutrightNoMoves:: + .string "{STR_VAR_1} won outright with no moves!$" + +BattleDome_Text_Round1Match1:: + .string "Round 1, Match 1$" + +BattleDome_Text_Round1Match2:: + .string "Round 1, Match 2$" + +BattleDome_Text_Round1Match3:: + .string "Round 1, Match 3$" + +BattleDome_Text_Round1Match4:: + .string "Round 1, Match 4$" + +BattleDome_Text_Round1Match5:: + .string "Round 1, Match 5$" + +BattleDome_Text_Round1Match6:: + .string "Round 1, Match 6$" + +BattleDome_Text_Round1Match7:: + .string "Round 1, Match 7$" + +BattleDome_Text_Round1Match8:: + .string "Round 1, Match 8$" + +BattleDome_Text_Round2Match1:: + .string "Round 2, Match 1$" + +BattleDome_Text_Round2Match2:: + .string "Round 2, Match 2$" + +BattleDome_Text_Round2Match3:: + .string "Round 2, Match 3$" + +BattleDome_Text_Round2Match4:: + .string "Round 2, Match 4$" + +BattleDome_Text_SemifinalMatch1:: + .string "Semifinal Match 1$" + +BattleDome_Text_SemifinalMatch2:: + .string "Semifinal Match 2$" + +BattleDome_Text_FinalMatch:: + .string "Final Match$" diff --git a/data/text/battle_tent.inc b/data/text/battle_tent.inc new file mode 100644 index 0000000000..98aa689ce9 --- /dev/null +++ b/data/text/battle_tent.inc @@ -0,0 +1,433 @@ +FallarborTown_BattleTentLobby_Text_WelcomeToBattleTent: @ 82C47EB + .string "I welcome you to the BATTLE TENT\n" + .string "FALLARBOR SITE!\p" + .string "I am your guide to the Set KO Tourney!$" + +FallarborTown_BattleTentLobby_Text_TakeChallenge: @ 82C4843 + .string "Now, do you wish to take the challenge\n" + .string "of a Set KO Tourney?$" + +FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge: @ 82C487F + .string "We await your challenge on\n" + .string "another occasion!$" + +FallarborTown_BattleTentLobby_Text_ExplainFallarborTent: @ 82C48AC + .string "In the FALLARBOR BATTLE TENT,\n" + .string "we undertake the Set KO Tourney.\p" + .string "All participants enter with a team of\n" + .string "three POKéMON.\p" + .string "The three POKéMON must be lined up\n" + .string "in the order that they are to appear in.\p" + .string "During battle, the POKéMON will appear\n" + .string "one at a time in the preset order.\p" + .string "Once a POKéMON enters battle, it must\n" + .string "remain out until the match is decided.\p" + .string "If a match remains undecided in\n" + .string "three turns, it goes to judging.\p" + .string "If you wish to interrupt your challenge,\n" + .string "please save the game.\p" + .string "If you don't save, you will not be able\n" + .string "to continue with your challenge.\p" + .string "If you pull off the feat of beating\n" + .string "three TRAINERS in succession,\l" + .string "we will present you with a fine prize.$" + +FallarborTown_BattleTentLobby_Text_SaveBeforeChallenge: @ 82C4B35 + .string "Before showing you to the BATTLE\n" + .string "TENT, I must save. Is that okay?$" + +@ Unused +FallarborTown_BattleTentLobby_Text_WhichLevelMode: @ 82C4B77 + .string "We offer two levels of challenge,\n" + .string "Level 50 and Open Level.\l" + .string "Which is your choice?$" + +FallarborTown_BattleTentLobby_Text_SelectThreeMons: @ 82C4BC8 + .string "Very well, now select your\n" + .string "three POKéMON, please.$" + +FallarborTown_BattleTentLobby_Text_NotEnoughValidMonsLv50: @ 82C4BFA + .string "My dear challenger!\p" + .string "You do not have the three POKéMON\n" + .string "required for entry.\p" + .string "They also must not hold the same\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "When you have made your preparations,\n" + .string "please do return.$" + +FallarborTown_BattleTentLobby_Text_NotEnoughValidMonsLvOpen: @ 82C4CC0 + .string "My dear challenger!\p" + .string "You do not have the three POKéMON\n" + .string "required for entry.\p" + .string "To qualify, you must bring three\n" + .string "different kinds of POKéMON.\p" + .string "They also must not hold the same\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "When you have made your preparations,\n" + .string "please do return.$" + +FallarborTown_BattleTentLobby_Text_GuideYouToBattleTent: @ 82C4DC3 + .string "I shall now guide you to\n" + .string "the BATTLE TENT.$" + +FallarborTown_BattleTentLobby_Text_DidntSaveBeforeQuitting: @ 82C4DED + .string "My dear challenger!\p" + .string "You did not save the game before\n" + .string "shutting down, did you?\p" + .string "It is unfortunate, but that has\n" + .string "resulted in your disqualification\l" + .string "from your challenge.\p" + .string "You may, of course, start with a fresh\n" + .string "challenge.$" + +FallarborTown_BattleTentLobby_Text_BeatThreeTrainers: @ 82C4EC3 + .string "How splendid! You have beaten\n" + .string "three TRAINERS in succession!$" + +FallarborTown_BattleTentLobby_Text_WaitWhileSaveGame: @ 82C4EFF + .string "Please wait while I save the game.$" + +FallarborTown_BattleTentLobby_Text_PresentYouWithPrize: @ 82C4F22 + .string "In commemoration of your 3-win streak,\n" + .string "we present you with this prize.$" + +FallarborTown_BattleTentLobby_Text_ReceivedPrize: @ 82C4F69 + .string "{PLAYER} received the prize\n" + .string "{STR_VAR_1}.$" + +FallarborTown_BattleTentLobby_Text_BagFullReturnForPrize: @ 82C4F83 + .string "Oh?\n" + .string "Your BAG seems to be full.\p" + .string "I urge you to clear space and\n" + .string "return for your prize.$" + +FallarborTown_BattleTentLobby_Text_ThankYouWaitWhileSaving: @ 82C4FD7 + .string "Thank you so much for participating!\p" + .string "Please wait while I save the game.$" + +FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge2: @ 82C501F + .string "We await your challenge on\n" + .string "another occasion!$" + +FallarborTown_BattleTentLobby_Text_LookingForwardToArrival: @ 82C504C + .string "We have been looking forward to\n" + .string "your arrival.\p" + .string "Before I show you to the BATTLE TENT,\n" + .string "I must save the game. Please wait.$" + +VerdanturfTown_BattleTentLobby_Text_WelcomeToBattleTent: @ 82C50C3 + .string "I welcome you to the BATTLE TENT\n" + .string "VERDANTURF SITE!\p" + .string "Here, the TRAINER's trust toward\n" + .string "POKéMON is tested.$" + +VerdanturfTown_BattleTentLobby_Text_TakeChallenge: @ 82C5129 + .string "Do you wish to take the VERDANTURF\n" + .string "BATTLE TENT challenge?$" + +VerdanturfTown_BattleTentLobby_Text_ExplainVerdanturfTent: @ 82C5163 + .string "In the VERDANTURF BATTLE TENT,\n" + .string "there is one crucial rule that must\l" + .string "be obeyed.\p" + .string "TRAINERS are permitted only to switch\n" + .string "their POKéMON in and out.\p" + .string "TRAINERS are otherwise forbidden to\n" + .string "command their POKéMON.\p" + .string "The POKéMON are to behave according\n" + .string "to their nature and battle on their own.\p" + .string "You must put your trust in your\n" + .string "POKéMON and watch over them.\p" + .string "If you achieve the honor of beating\n" + .string "three TRAINERS in succession,\l" + .string "we will present you with a prize.\p" + .string "If you want to interrupt your\n" + .string "challenge, please save the game.\p" + .string "If you don't save before interrupting,\n" + .string "you will be disqualified.$" + +VerdanturfTown_BattleTentLobby_Text_ReturnFortified: @ 82C539A + .string "When you have fortified your heart\n" + .string "and POKéMON, you must return.$" + +@ Unused +VerdanturfTown_BattleTentLobby_Text_WhichLevelMode: @ 82C53DB + .string "There are two levels of difficulty,\n" + .string "Level 50 and Open Level.\l" + .string "Which is your choice of a challenge?$" + +VerdanturfTown_BattleTentLobby_Text_NotEnoughValidMonsLv50: @ 82C543D + .string "Sigh…\p" + .string "You do not have the three POKéMON\n" + .string "required for the challenge.\p" + .string "To enter, you must provide three\n" + .string "different kinds of POKéMON.\p" + .string "They also must not be holding\n" + .string "the same kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Come back when you have made\n" + .string "your preparations.$" + +VerdanturfTown_BattleTentLobby_Text_NotEnoughValidMonsLvOpen: @ 82C5538 + .string "Sigh…\p" + .string "You do not have the three POKéMON\n" + .string "required for the challenge.\p" + .string "To enter, you must provide three\n" + .string "different kinds of POKéMON.\p" + .string "They also must not be holding\n" + .string "the same kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Come back when you have made\n" + .string "your preparations.$" + +VerdanturfTown_BattleTentLobby_Text_SelectThreeMons: @ 82C5633 + .string "Good. Now, you must select your\n" + .string "three POKéMON.$" + +VerdanturfTown_BattleTentLobby_Text_SaveBeforeChallenge: @ 82C5662 + .string "I must save before I show you to\n" + .string "the BATTLE TENT. Is that okay?$" + +VerdanturfTown_BattleTentLobby_Text_NowFollowMe: @ 82C56A2 + .string "Good.\n" + .string "Now, follow me.$" + +VerdanturfTown_BattleTentLobby_Text_ResultsWillBeRecorded: @ 82C56B8 + .string "I feel privileged for having seen\n" + .string "your POKéMON's exploits.\p" + .string "The results will be recorded.\n" + .string "I must ask you to briefly wait.$" + +VerdanturfTown_BattleTentLobby_Text_AchievedThreeWinStreak: @ 82C5731 + .string "To achieve a 3-win streak…\p" + .string "The bonds that bind your heart with\n" + .string "your POKéMON seem firm and true.$" + +VerdanturfTown_BattleTentLobby_Text_FeatWillBeRecorded: @ 82C5791 + .string "Your feat will be recorded.\n" + .string "I must ask you to briefly wait.$" + +VerdanturfTown_BattleTentLobby_Text_PresentYouWithPrize: @ 82C57CD + .string "For the feat of your 3-win streak,\n" + .string "we present you with this prize.$" + +SlateportCity_BattleTentLobby_Text_WelcomeToBattleTent: @ 82C5810 + .string "Welcome to the BATTLE TENT\n" + .string "SLATEPORT SITE!\p" + .string "I am your guide to the Battle Swap\n" + .string "Tournament.$" + +SlateportCity_BattleTentLobby_Text_TakeChallenge: @ 82C586A + .string "Would you like to take the Battle\n" + .string "Swap challenge?$" + +SlateportCity_BattleTentLobby_Text_ExplainSlateportTent: @ 82C589C + .string "Here at the SLATEPORT BATTLE TENT,\n" + .string "we hold Battle Swap events\l" + .string "using rental POKéMON.\p" + .string "First, you will be loaned three\n" + .string "POKéMON specifically for this event.\p" + .string "Using the supplied rental POKéMON,\n" + .string "you must conduct a SINGLE BATTLE.\p" + .string "If you win, you are permitted to trade\n" + .string "one of your rental POKéMON.\p" + .string "Repeat this cycle of battling and\n" + .string "trading--if you win three times in\l" + .string "a row, you will earn a fine prize.\p" + .string "If you want to interrupt your\n" + .string "challenge, please save the game.\p" + .string "If you don't save before interrupting,\n" + .string "you will be disqualified.$" + +SlateportCity_BattleTentLobby_Text_LookForwardToNextVisit: @ 82C5AA5 + .string "We look forward to your next visit.$" + +@ Unused +SlateportCity_BattleTentLobby_Text_WhichLevelMode: @ 82C5AC9 + .string "Which level do you wish to challenge?\n" + .string "Level 50 or Level 100?$" + +SlateportCity_BattleTentLobby_Text_SaveBeforeChallenge: @ 82C5B06 + .string "Before you begin your challenge,\n" + .string "I need to save data. Is that okay?$" + +@ Unused +SlateportCity_BattleTentLobby_Text_HoldMonsForSafekeeping: @ 82C5B4A + .string "Okay, I will hold your POKéMON for\n" + .string "safekeeping while you compete.$" + +SlateportCity_BattleTentLobby_Text_StepThisWay: @ 82C5B8C + .string "Please step this way.$" + +SlateportCity_BattleTentLobby_Text_ReturnRentalMonsSaveResults: @ 82C5BA2 + .string "Thank you for participating!\p" + .string "I will return your POKéMON in exchange\n" + .string "for our rental POKéMON.\p" + .string "I must also save your event results.\n" + .string "Please wait.$" + +@ Unused +SlateportCity_BattleTentLobby_Text_ReturnMonsExchangeRentals: @ 82C5C30 + .string "I will return your POKéMON in exchange\n" + .string "for our rental POKéMON.$" + +SlateportCity_BattleTentLobby_Text_WonThreeMatchesReturnMons: @ 82C5C6F + .string "Congratulations!\n" + .string "You've won three straight matches!\p" + .string "I will return your POKéMON in exchange\n" + .string "for our rental POKéMON.\p" + .string "I must also save your event results.\n" + .string "Please wait.$" + +SlateportCity_BattleTentLobby_Text_AwardYouThisPrize: @ 82C5D14 + .string "In recognition of your 3-win streak,\n" + .string "we award you this prize.$" + +SlateportCity_BattleTentLobby_Text_NoRoomInBagMakeRoom: @ 82C5D52 + .string "Oh?\n" + .string "You seem to have no room for this.\p" + .string "Please make room in your BAG and\n" + .string "let me know.$" + +SlateportCity_BattleTentLobby_Text_BeenWaitingForYou: @ 82C5DA7 + .string "We've been waiting for you!\p" + .string "Before we resume your challenge,\n" + .string "I must save the game.$" + +SlateportCity_BattleTentLobby_Text_DidntSaveBeforeQuitting: @ 82C5DFA + .string "I'm sorry to say this, but you didn't\n" + .string "save before you quit playing last time.\p" + .string "As a result, you have been disqualified\n" + .string "from your challenge.$" + +@ Unused +SlateportCity_BattleTentLobby_Text_ReturnPersonalMons: @ 82C5E85 + .string "We'll return your personal POKéMON.$" + +@ Unused +SlateportCity_BattleTentLobby_Text_ReceivedPrize: @ 82C5EA9 + .string "{PLAYER} received the prize\n" + .string "{STR_VAR_1}.$" + +@ Unused +SlateportCity_BattleTentLobby_Text_RulesAreListed: @ 82C5EC3 + .string "The Battle Swap rules are listed.$" + +@ Unused +SlateportCity_BattleTentLobby_Text_ReadWhichHeading: @ 82C5EE5 + .string "Which heading do you want to read?$" + +SlateportCity_BattleTentLobby_Text_ExplainBasicRules: @ 82C5F08 + .string "In a Battle Swap event, you may use\n" + .string "only three POKéMON.\p" + .string "Whether you are renting or swapping,\n" + .string "your team may not have two or more\l" + .string "of the same POKéMON.$" + +SlateportCity_BattleTentLobby_Text_ExplainSwapPartnerRules: @ 82C5F9D + .string "You may swap POKéMON only with\n" + .string "the TRAINER you have just defeated.\p" + .string "You may swap for only those POKéMON\n" + .string "used by the beaten TRAINER.$" + +SlateportCity_BattleTentLobby_Text_ExplainSwapNumberRules: @ 82C6020 + .string "After every battle you win, you may\n" + .string "swap for one of your defeated\l" + .string "opponent's POKéMON.\p" + .string "You will not be able to swap POKéMON\n" + .string "with the third TRAINER in the event.$" + +SlateportCity_BattleTentLobby_Text_ExplainSwapNotes: @ 82C60C0 + .string "There are two key points to be aware\n" + .string "of when swapping POKéMON.\p" + .string "First, when swapping, you can't check\n" + .string "the stats of the POKéMON you are\l" + .string "about to receive.\p" + .string "Second, the POKéMON on your team\n" + .string "are lined up in sequence, depending on\l" + .string "the order in which you rented them.\p" + .string "This sequence remains unchanged\n" + .string "even when swaps are made.$" + +SlateportCity_BattleTentLobby_Text_ExplainMonRules: @ 82C61FE + .string "The POKéMON of the SLATEPORT\n" + .string "BATTLE TENT are all rentals.\p" + .string "All rental POKéMON are kept at\n" + .string "Level 30.$" + +@ Unused +VerdanturfTown_BattleTentLobby_Text_RulesAreListed2: @ 82C6261 + .string "The VERDANTURF BATTLE TENT\n" + .string "rules are listed.$" + +@ Unused +VerdanturfTown_BattleTentLobby_Text_ReadWhichHeading: @ 82C628E + .string "Which heading do you want to read?$" + +@ Unused +VerdanturfTown_BattleTentLobby_Text_ExplainBasicRules: @ 82C62B1 + .string "Here at the VERDANTURF BATTLE TENT,\n" + .string "POKéMON are required to think and\l" + .string "battle by themselves.\p" + .string "Unlike in the wild, POKéMON that live\n" + .string "with people behave differently\l" + .string "depending on their nature.$" + +@ Unused +VerdanturfTown_BattleTentLobby_Text_ExplainNatureRules: @ 82C636D + .string "Depending on its nature, a POKéMON\n" + .string "may prefer to attack no matter what.\p" + .string "Another POKéMON may prefer to protect\n" + .string "itself from any harm.\p" + .string "Yet another may enjoy vexing or\n" + .string "confounding its foes.\p" + .string "Depending on its nature, a POKéMON\n" + .string "will have favorite moves that it is good\l" + .string "at using.\p" + .string "It may also dislike certain moves that\n" + .string "it has trouble using.$" + +@ Unused +VerdanturfTown_BattleTentLobby_Text_ExplainMoveRules: @ 82C64BA + .string "There are offensive moves that inflict\n" + .string "direct damage on the foe.\p" + .string "There are defensive moves that are\n" + .string "used to prepare for enemy attacks or\l" + .string "used to heal HP and so on.\p" + .string "There are also other somewhat-odd\n" + .string "moves that may enfeeble the foes with\l" + .string "stat problems including poison and \l" + .string "paralysis.\p" + .string "POKéMON will consider using moves in\n" + .string "these three categories.$" + +@ Unused +VerdanturfTown_BattleTentLobby_Text_ExplainUnderpoweredRules: @ 82C6612 + .string "When not under command by its TRAINER,\n" + .string "a POKéMON may be unable to effectively\l" + .string "use certain moves.\p" + .string "A POKéMON is not good at using any\n" + .string "move that it dislikes.\p" + .string "If a POKéMON only knows moves that\n" + .string "do not match its nature, it will often\l" + .string "be unable to live up to its potential.$" + +@ Unused +VerdanturfTown_BattleTentLobby_Text_ExplainWhenInDangerRules: @ 82C671E + .string "Depending on its nature, a POKéMON may\n" + .string "start using moves that don't match its\l" + .string "nature when it is in trouble.\p" + .string "If a POKéMON begins behaving oddly\n" + .string "in a pinch, watch it carefully.$" + +BattleTentLobby_Text_ExplainLevelRules: @ 82C67CD + .string "At this BATTLE TENT, the levels of\n" + .string "your opponents will be adjusted to\l" + .string "match the levels of your POKéMON.\p" + .string "However, no TRAINER you face will\n" + .string "have any POKéMON below Level 30.$" + +VerdanturfTown_BattleTentLobby_Text_RulesAreListed: @ 82C6878 + .string "The VERDANTURF BATTLE TENT\n" + .string "rules are listed.$" diff --git a/data/text/berries.inc b/data/text/berries.inc index 489acd4b6c..152690e201 100644 --- a/data/text/berries.inc +++ b/data/text/berries.inc @@ -1,16 +1,16 @@ -PetalburgCity_Gym_Text_2A6D3D: @ 82A6D3D +PetalburgCity_Gym_Text_GiveEnigmaBerry: @ 82A6D3D .string "DAD: Hi, {PLAYER}!\p" .string "I just received a very rare BERRY.\n" .string "I'd like you to have it.$" -Route104_Text_2A6D86: @ 82A6D86 +Route104_Text_PlantBerriesInSoilTakeThis: @ 82A6D86 .string "If you see BERRIES growing in loamy\n" .string "soil, feel free to take them.\p" .string "But make sure you plant a BERRY in the\n" .string "same spot. That's common courtesy.\p" .string "Here, I'll share this with you.$" -Route104_Text_2A6E32: @ 82A6E32 +Route104_Text_TrainersOftenMakeMonHoldBerries: @ 82A6E32 .string "The way you look, you must be a\n" .string "TRAINER, no?\p" .string "TRAINERS often make POKéMON hold\n" @@ -18,139 +18,139 @@ Route104_Text_2A6E32: @ 82A6E32 .string "It's up to you whether to grow BERRIES\n" .string "or use them.$" -Route111_Text_2A6EBD: @ 82A6EBD +Route111_Text_WateredPlantsEveryDayTakeBerry: @ 82A6EBD .string "I watered the plants every day.\n" .string "They grew lots of flowers.\p" .string "And they gave me lots of BERRIES, too.\p" .string "Here you go!\n" .string "You can have it!$" -Route111_Text_2A6F3D: @ 82A6F3D +Route111_Text_GoingToTryToMakeDifferentColorBerries: @ 82A6F3D .string "I'm going to try really hard and make\n" .string "BERRIES in different colors.\p" .string "I hope you try hard, too!$" -Route111_Text_2A6F9A: @ 82A6F9A +Route111_Text_WhatColorBerriesToLookForToday: @ 82A6F9A .string "I wonder what color BERRIES I'll look\n" .string "for today?$" -Route114_Text_2A6FCB: @ 82A6FCB +Route114_Text_LoveUsingBerryCrushShareBerry: @ 82A6FCB .string "I love using the BERRY CRUSH machine,\n" .string "so I'm collecting BERRIES.\p" .string "I'll share one with you, if you'd like.$" -Route114_Text_2A7034: @ 82A7034 +Route114_Text_TryBerryCrushWithFriends: @ 82A7034 .string "You should try the BERRY CRUSH\n" .string "machine with your friends.$" -Route114_Text_2A706E: @ 82A706E +Route114_Text_FunToThinkAboutBerries: @ 82A706E .string "Which BERRY should be planted?\n" .string "Should you use or hoard BERRIES?\p" .string "It's fun to think about.$" -Route120_Text_2A70C7: @ 82A70C7 +Route120_Text_BerriesExpressionOfLoveIsntIt: @ 82A70C7 .string "BERRIES grow by soaking up sunlight.\p" .string "We help the BERRIES grow by watering\n" .string "them regularly.\p" .string "It's an expression of love, isn't it?$" -Route120_Text_2A7147: @ 82A7147 +Route120_Text_YesYouUnderstand: @ 82A7147 .string "Yes, yes.\n" .string "You understand what I mean.\p" .string "You should take this.$" -Route120_Text_2A7183: @ 82A7183 +Route120_Text_MakeYourOwnImpressions: @ 82A7183 .string "Oh… But it is important to make your\n" .string "own impressions, I guess…\p" .string "You can have this.$" -Route120_Text_2A71D5: @ 82A71D5 +Route120_Text_BerryIsRareRaiseItWithCare: @ 82A71D5 .string "I think that BERRY is rare.\n" .string "I hope you raise it with loving care.$" -Route120_Text_2A7217: @ 82A7217 +Route120_Text_IllGetMoreBerriesFromBerryMaster: @ 82A7217 .string "I'll get more BERRIES from\n" .string "the BERRY MASTER.$" -LilycoveCity_Text_2A7244: @ 82A7244 +LilycoveCity_Text_BerrySuitsYou: @ 82A7244 .string "When it gets right down to it…\p" .string "The same way suits suit me perfectly,\n" .string "a crisp breeze suits the sea.\p" .string "And you, a BERRY suits you to a “T”…\p" .string "Why should that be so?$" -LilycoveCity_Text_2A72E3: @ 82A72E3 +LilycoveCity_Text_BecauseYoureTrainer: @ 82A72E3 .string "When it gets right down to it…\p" .string "It's because you're a TRAINER!$" -LilycoveCity_Text_2A7321: @ 82A7321 +LilycoveCity_Text_PokeblocksSuitPokemon: @ 82A7321 .string "When it gets right down to it…\p" .string "The way dignified simplicity suits me,\n" .string "{POKEBLOCK}S perfectly suit POKéMON.$" -Route123_BerryMastersHouse_Text_2A7386: @ 82A7386 +Route123_BerryMastersHouse_Text_YoureDeservingOfBerry: @ 82A7386 .string "You may call me the BERRY MASTER.\p" .string "I dream of filling the world with\n" .string "beautiful flowers, so I raise BERRIES\l" .string "and hand them out to everyone.\p" .string "You're deserving of one!$" -Route123_BerryMastersHouse_Text_2A7428: @ 82A7428 +Route123_BerryMastersHouse_Text_WhyBeStingyTakeAnother: @ 82A7428 .string "Why be stingy?\n" .string "Take another!$" -Route123_BerryMastersHouse_Text_2A7445: @ 82A7445 +Route123_BerryMastersHouse_Text_VisitPrettyPetalFlowerShop: @ 82A7445 .string "Be sure to visit the PRETTY PETAL\n" .string "flower shop near RUSTBORO.\p" .string "Let flowers fill the world!$" -Route123_BerryMastersHouse_Text_2A749E: @ 82A749E +Route123_BerryMastersHouse_Text_DoneForToday: @ 82A749E .string "I'm done for today.\n" .string "Come again another day.\p" .string "Let flowers fill the world!$" -Route123_BerryMastersHouse_Text_2A74E6: @ 82A74E6 +Route123_BerryMastersHouse_Text_HeardAGoodSayingLately: @ 82A74E6 .string "The way my husband grows BERRIES,\n" .string "oh, he's the best in the world.\p" .string "He makes me proud, that he does.\p" .string "Incidentally, child, have you heard\n" .string "a good saying lately?$" -Route123_BerryMastersHouse_Text_2A7583: @ 82A7583 +Route123_BerryMastersHouse_Text_InspirationalTakeThis: @ 82A7583 .string "Ah! What a remarkable saying!\n" .string "Inspirational, it is!\p" .string "I want you to have this.$" -Route123_BerryMastersHouse_Text_2A75D0: @ 82A75D0 +Route123_BerryMastersHouse_Text_GoodSayingTakeThis: @ 82A75D0 .string "Oh! A good saying it is.\n" .string "You're quite remarkable.\p" .string "I want you to have this.$" -Route123_BerryMastersHouse_Text_2A761B: @ 82A761B +Route123_BerryMastersHouse_Text_JoyNeverGoesOutOfMyLife: @ 82A761B .string "Our four grandchildren should become\n" .string "more accomplished than my husband.\p" .string "Joy never goes out of my life!$" -Route123_BerryMastersHouse_Text_2A7682: @ 82A7682 +Route123_BerryMastersHouse_Text_Ah: @ 82A7682 .string "Ah…$" -Route104_PrettyPetalFlowerShop_Text_2A7686: @ 82A7686 +Route104_PrettyPetalFlowerShop_Text_ThisIsPrettyPetalFlowerShop: @ 82A7686 .string "Hello!\p" .string "This is the PRETTY PETAL flower shop.\n" .string "Spreading flowers all over the world!$" -Route104_PrettyPetalFlowerShop_Text_2A76D9: @ 82A76D9 +Route104_PrettyPetalFlowerShop_Text_LearnAboutBerries: @ 82A76D9 .string "{PLAYER}{KUN}, would you like to learn about\n" .string "BERRIES?$" -Route104_PrettyPetalFlowerShop_Text_2A7706: @ 82A7706 +Route104_PrettyPetalFlowerShop_Text_IntroLearnAboutBerries: @ 82A7706 .string "Your name is?\p" .string "{PLAYER}{KUN}.\n" .string "That's a nice name.\p" .string "{PLAYER}{KUN}, would you like to learn about\n" .string "BERRIES?$" -Route104_PrettyPetalFlowerShop_Text_2A775B: @ 82A775B +Route104_PrettyPetalFlowerShop_Text_BerriesExplanation: @ 82A775B .string "BERRIES grow on trees that thrive\n" .string "only in soft, loamy soil.\p" .string "If you take some BERRIES, be sure to\n" @@ -164,18 +164,18 @@ Route104_PrettyPetalFlowerShop_Text_2A775B: @ 82A775B .string "Please help me, {PLAYER}{KUN}. Plant BERRIES\n" .string "and bring more flowers into the world.$" -Route104_PrettyPetalFlowerShop_Text_2A78DF: @ 82A78DF +Route104_PrettyPetalFlowerShop_Text_FlowersBringHappiness: @ 82A78DF .string "Flowers bring so much happiness to\n" .string "people, don't they?$" -Route104_PrettyPetalFlowerShop_Text_2A7916: @ 82A7916 +Route104_PrettyPetalFlowerShop_Text_YouCanHaveThis: @ 82A7916 .string "Hello!\p" .string "The more attention you give to flowers,\n" .string "the more beautifully they bloom.\p" .string "You'll like tending flowers. I'm sure\n" .string "of it. You can have this.$" -Route104_PrettyPetalFlowerShop_Text_2A79A6: @ 82A79A6 +Route104_PrettyPetalFlowerShop_Text_WailmerPailExplanation: @ 82A79A6 .string "While BERRY plants are growing,\n" .string "water them with the WAILMER PAIL.\p" .string "Oh, another thing.\p" @@ -185,13 +185,13 @@ Route104_PrettyPetalFlowerShop_Text_2A79A6: @ 82A79A6 .string "Isn't that awesome?\n" .string "It's like they have the will to live.$" -Route104_PrettyPetalFlowerShop_Text_2A7A98: @ 82A7A98 +Route104_PrettyPetalFlowerShop_Text_ImGrowingFlowers: @ 82A7A98 .string "I'm trying to be like my big sisters.\n" .string "I'm growing flowers, too!\p" .string "Here you go!\n" .string "It's for you!$" -Route104_PrettyPetalFlowerShop_Text_2A7AF3: @ 82A7AF3 +Route104_PrettyPetalFlowerShop_Text_MachineMixesBerries: @ 82A7AF3 .string "You can plant a BERRY and grow it big,\n" .string "or you can make a POKéMON hold it.\p" .string "But now they have a machine that mixes\n" @@ -199,7 +199,7 @@ Route104_PrettyPetalFlowerShop_Text_2A7AF3: @ 82A7AF3 .string "for POKéMON.\p" .string "I want some candy, too.$" -SootopolisCity_Text_2A7BB0: @ 82A7BB0 +SootopolisCity_Text_NameIsKiriHaveOneOfThese: @ 82A7BB0 .string "Hi, what's your name?\p" .string "… … … … … … … … …\n" .string "Okay. That's nice!\p" @@ -209,26 +209,26 @@ SootopolisCity_Text_2A7BB0: @ 82A7BB0 .string "That's what they wished.\p" .string "You can have one of these.$" -SootopolisCity_Text_2A7C7C: @ 82A7C7C +SootopolisCity_Text_GiveYouThisBerryToo: @ 82A7C7C .string "KIRI will give you this BERRY, too!\n" .string "I really like it lots!$" -SootopolisCity_Text_2A7CB7: @ 82A7CB7 +SootopolisCity_Text_WhatKindOfWishInYourName: @ 82A7CB7 .string "I wonder what kind of wish is included\n" .string "in your name.$" -SootopolisCity_Text_2A7CEC: @ 82A7CEC +SootopolisCity_Text_LikeSeasonBornIn: @ 82A7CEC .string "Spring, summer, autumn, and winter.\p" .string "If you're born in springtime, do you like\n" .string "the spring, and if you're born in the\l" .string "summer, do you like the summer?$" -SootopolisCity_Text_2A7D80: @ 82A7D80 +SootopolisCity_Text_ThenILoveAutumn: @ 82A7D80 .string "Then KIRI was born in the autumn,\n" .string "so I love the autumn!\p" .string "Which season do you like?$" -SootopolisCity_Text_2A7DD2: @ 82A7DD2 +SootopolisCity_Text_OhDoesntMatter: @ 82A7DD2 .string "Oh…\n" .string "It doesn't matter…\p" .string "There's so much that I want to know…$" diff --git a/data/text/blend_master.inc b/data/text/blend_master.inc new file mode 100644 index 0000000000..31315bbd55 --- /dev/null +++ b/data/text/blend_master.inc @@ -0,0 +1,85 @@ +BerryBlender_Text_BlendWithTheBlendMaster: @ 82C427C + .string "BLEND MASTER: Indeed I am!\n" + .string "The BLEND MASTER am I!\p" + .string "Blend with me, and you shall witness\n" + .string "the mastery I bring to blending!$" + +BerryBlender_Text_SeeMyMasteryInAction: @ 82C42F4 + .string "BLEND MASTER: Hmmm! So, you wish to\n" + .string "see my mastery in action?$" + +BerryBlender_Text_TooBusyNowIsee: @ 82C4332 + .string "Hmmm!\p" + .string "So, you are too busy now, I see!\p" + .string "But fear not!\n" + .string "I shall be here all day!\l" + .string "Hurry back from your errand!$" + +BerryBlender_Text_BlendMasterNoBerries: @ 82C439D + .string "Hmmm!\p" + .string "You haven't got a single BERRY!\p" + .string "I shall be here all day!\n" + .string "Hurry back with some BERRIES!$" + +BerryBlender_Text_BlendMasterKnowHowToMakePokeblocks: @ 82C43FA + .string "Of course!\n" + .string "Of course!\p" + .string "Incidentally…\n" + .string "You do know how to blend {POKEBLOCK}S\l" + .string "from BERRIES?$" + +BerryBlender_Text_BlendMasterExplainBerryBlending: @ 82C444C + .string "Hmmm!\p" + .string "Ah, but it is a simple process!\p" + .string "When the BLENDER's arrow comes to\n" + .string "your marker, just press the A Button.\p" + .string "That's all you have to do.\p" + .string "When you see how precisely I press\n" + .string "the A Button, you will understand.$" + +BerryBlender_Text_BlendMasterLetsBerryBlender: @ 82C451B + .string "Fine!\p" + .string "Let's get started, then!\p" + .string "All together with the BLEND MASTER,\n" + .string "let's BERRY BLENDER!$" + +BerryBlender_Text_BlendMasterNoPokeblockCase: @ 82C4573 + .string "Hmmm!\p" + .string "You don't appear to have gotten\n" + .string "the {POKEBLOCK} CASE!\p" + .string "I shall be here all day!\n" + .string "Obtain the {POKEBLOCK} CASE and hurry back!$" + +BerryBlender_Text_BlendMasterPokeblockCaseFull: @ 82C45E8 + .string "Hmmm!\p" + .string "Your {POKEBLOCK} CASE appears to be full!\p" + .string "I shall be here all day!\n" + .string "Use some {POKEBLOCK}S and hurry back!$" + +BerryBlender_Text_WhoaAwesome: @ 82C464B + .string "Whoa!\n" + .string "Awesome!$" + +BerryBlender_Text_WickedlyFast: @ 82C465A + .string "Wickedly fast!$" + +BerryBlender_Text_WhatAnExpert: @ 82C4669 + .string "What an expert!$" + +BerryBlender_Text_MadeAmazingPokeblocksWithMaster: @ 82C4679 + .string "When I blended with the MASTER,\n" + .string "we made amazing {POKEBLOCK}S!$" + +BerryBlender_Text_QualitiesOfBlendMaster: @ 82C46B1 + .string "Eyes that track the arrow with\n" + .string "machinelike intensity…\p" + .string "A hand that taps the A Button\n" + .string "with clockwork-like precision…\p" + .string "Possessing these qualities makes\n" + .string "the BLEND MASTER truly great.$" + +BerryBlender_Text_MasterWorksOnSkillsInMountains: @ 82C4763 + .string "The BLEND MASTER's supposed to work\n" + .string "on his skills deep in the mountains.\p" + .string "Sometimes, he comes to LILYCOVE\n" + .string "to blend BERRIES all day long.$" diff --git a/data/text/braille.inc b/data/text/braille.inc index 3d4b8e1166..30f9b44d48 100644 --- a/data/text/braille.inc +++ b/data/text/braille.inc @@ -1,4 +1,4 @@ -Underwater_SealedChamber_Braille_2A6B15: @ 82A6B15 +Underwater_SealedChamber_Braille_GoUpHere: @ 82A6B15 .byte 4 .byte 6 .byte 26 @@ -7,7 +7,7 @@ Underwater_SealedChamber_Braille_2A6B15: @ 82A6B15 .byte 9 .braille "GO UP HERE.$" -SealedChamber_OuterRoom_Braille_2A6B27: @ 82A6B27 +SealedChamber_OuterRoom_Braille_ABC: @ 82A6B27 .byte 7 .byte 6 .byte 21 @@ -16,7 +16,7 @@ SealedChamber_OuterRoom_Braille_2A6B27: @ 82A6B27 .byte 9 .braille "ABC$" -SealedChamber_OuterRoom_Braille_2A6B31: @ 82A6B31 +SealedChamber_OuterRoom_Braille_GHI: @ 82A6B31 .byte 7 .byte 6 .byte 21 @@ -25,7 +25,7 @@ SealedChamber_OuterRoom_Braille_2A6B31: @ 82A6B31 .byte 9 .braille "GHI$" -SealedChamber_OuterRoom_Braille_2A6B3B: @ 82A6B3B +SealedChamber_OuterRoom_Braille_MNO: @ 82A6B3B .byte 7 .byte 6 .byte 21 @@ -34,7 +34,7 @@ SealedChamber_OuterRoom_Braille_2A6B3B: @ 82A6B3B .byte 9 .braille "MNO$" -SealedChamber_OuterRoom_Braille_2A6B45: @ 82A6B45 +SealedChamber_OuterRoom_Braille_TUV: @ 82A6B45 .byte 7 .byte 6 .byte 21 @@ -43,7 +43,7 @@ SealedChamber_OuterRoom_Braille_2A6B45: @ 82A6B45 .byte 9 .braille "TUV$" -SealedChamber_OuterRoom_Braille_2A6B4F: @ 82A6B4F +SealedChamber_OuterRoom_Braille_DEF: @ 82A6B4F .byte 7 .byte 6 .byte 21 @@ -52,7 +52,7 @@ SealedChamber_OuterRoom_Braille_2A6B4F: @ 82A6B4F .byte 9 .braille "DEF$" -SealedChamber_OuterRoom_Braille_2A6B59: @ 82A6B59 +SealedChamber_OuterRoom_Braille_JKL: @ 82A6B59 .byte 7 .byte 6 .byte 21 @@ -61,7 +61,7 @@ SealedChamber_OuterRoom_Braille_2A6B59: @ 82A6B59 .byte 9 .braille "JKL$" -SealedChamber_OuterRoom_Braille_2A6B63: @ 82A6B63 +SealedChamber_OuterRoom_Braille_PQRS: @ 82A6B63 .byte 7 .byte 6 .byte 21 @@ -70,7 +70,7 @@ SealedChamber_OuterRoom_Braille_2A6B63: @ 82A6B63 .byte 9 .braille "PQRS$" -SealedChamber_OuterRoom_Braille_2A6B6E: @ 82A6B6E +SealedChamber_OuterRoom_Braille_Period: @ 82A6B6E .byte 9 .byte 6 .byte 19 @@ -79,7 +79,7 @@ SealedChamber_OuterRoom_Braille_2A6B6E: @ 82A6B6E .byte 9 .braille ".$" -SealedChamber_OuterRoom_Braille_2A6B76: @ 82A6B76 +SealedChamber_OuterRoom_Braille_WXYZ: @ 82A6B76 .byte 7 .byte 6 .byte 21 @@ -88,7 +88,7 @@ SealedChamber_OuterRoom_Braille_2A6B76: @ 82A6B76 .byte 9 .braille "WXYZ$" -SealedChamber_OuterRoom_Braille_2A6B81: @ 82A6B81 +SealedChamber_OuterRoom_Braille_Comma: @ 82A6B81 .byte 9 .byte 6 .byte 19 @@ -97,7 +97,7 @@ SealedChamber_OuterRoom_Braille_2A6B81: @ 82A6B81 .byte 9 .braille ",$" -SealedChamber_OuterRoom_Braille_2A6B89: @ 82A6B89 +SealedChamber_OuterRoom_Braille_DigHere: @ 82A6B89 .byte 7 .byte 4 .byte 23 @@ -106,7 +106,7 @@ SealedChamber_OuterRoom_Braille_2A6B89: @ 82A6B89 .byte 7 .braille "DIG HERE.$" -SealedChamber_InnerRoom_Braille_2A6B99: @ 82A6B99 +SealedChamber_InnerRoom_Braille_FirstWailordLastRelicanth: @ 82A6B99 .byte 0 .byte 0 .byte 29 @@ -118,7 +118,7 @@ SealedChamber_InnerRoom_Braille_2A6B99: @ 82A6B99 .braille "LAST COMES\n" .braille "RELICANTH.$" -SealedChamber_InnerRoom_Braille_2A6BCA: @ 82A6BCA +SealedChamber_InnerRoom_Braille_InThisCaveWeHaveLived: @ 82A6BCA .byte 2 .byte 0 .byte 26 @@ -130,7 +130,7 @@ SealedChamber_InnerRoom_Braille_2A6BCA: @ 82A6BCA .braille "HAVE\n" .braille "LIVED.$" -SealedChamber_InnerRoom_Braille_2A6BEC: @ 82A6BEC +SealedChamber_InnerRoom_Braille_WeOweAllToThePokemon: @ 82A6BEC .byte 7 .byte 2 .byte 23 @@ -141,7 +141,7 @@ SealedChamber_InnerRoom_Braille_2A6BEC: @ 82A6BEC .braille "TO THE\n" .braille "POKEMON.$" -SealedChamber_InnerRoom_Braille_2A6C0D: @ 82A6C0D +SealedChamber_InnerRoom_Braille_ButWeSealedThePokemonAway: @ 82A6C0D .byte 3 .byte 0 .byte 25 @@ -153,7 +153,7 @@ SealedChamber_InnerRoom_Braille_2A6C0D: @ 82A6C0D .braille "POKEMON\n" .braille "AWAY.$" -SealedChamber_InnerRoom_Braille_2A6C34: @ 82A6C34 +SealedChamber_InnerRoom_Braille_WeFearedIt: @ 82A6C34 .byte 5 .byte 6 .byte 25 @@ -162,7 +162,7 @@ SealedChamber_InnerRoom_Braille_2A6C34: @ 82A6C34 .byte 9 .braille "WE FEARED IT.$" -SealedChamber_InnerRoom_Braille_2A6C48: @ 82A6C48 +SealedChamber_InnerRoom_Braille_ThoseWithCourageHope: @ 82A6C48 .byte 6 .byte 0 .byte 24 @@ -174,7 +174,7 @@ SealedChamber_InnerRoom_Braille_2A6C48: @ 82A6C48 .braille "THOSE WITH\n" .braille "HOPE.$" -SealedChamber_InnerRoom_Braille_2A6C73: @ 82A6C73 +SealedChamber_InnerRoom_Braille_OpenDoorEternalPokemonWaits: @ 82A6C73 .byte 3 .byte 2 .byte 27 @@ -186,7 +186,7 @@ SealedChamber_InnerRoom_Braille_2A6C73: @ 82A6C73 .braille "POKEMON\n" .braille "WAITS.$" -DesertRuins_Braille_2A6CA0: @ 82A6CA0 +DesertRuins_Braille_UseRockSmash: @ 82A6CA0 .byte 1 .byte 0 .byte 27 @@ -198,7 +198,7 @@ DesertRuins_Braille_2A6CA0: @ 82A6CA0 .braille "THEN, USE\n" .braille "ROCK SMASH.$" -IslandCave_Braille_2A6CD4: @ 82A6CD4 +IslandCave_Braille_RunLapAroundWall: @ 82A6CD4 .byte 5 .byte 0 .byte 25 @@ -210,7 +210,7 @@ IslandCave_Braille_2A6CD4: @ 82A6CD4 .braille "RUN AROUND\n" .braille "ONE LAP.$" -AncientTomb_Braille_2A6D06: @ 82A6D06 +AncientTomb_Braille_ShineInTheMiddle: @ 82A6D06 .byte 3 .byte 0 .byte 25 diff --git a/data/text/cable_club.inc b/data/text/cable_club.inc index e69de29bb2..b4f656a004 100644 --- a/data/text/cable_club.inc +++ b/data/text/cable_club.inc @@ -0,0 +1,487 @@ +CableClub_Text_WelcomeWhichCableClubService: @ 8277EA4 + .string "Welcome to the POKéMON CABLE\n" + .string "CLUB.\p" + .string "Which of our services do you wish\n" + .string "to use?$" + +CableClub_Text_WhichService: @ 8277EF1 + .string "Which of our services do you wish\n" + .string "to use?$" + +CableClub_Text_TradeUsingLinkCable:: @ 8277F1B + .string "Trade POKéMON with another player\n" + .string "using a GBA Game Link cable.$" + +CableClub_Text_BattleUsingLinkCable:: @ 8277F5A + .string "You may battle another TRAINER\n" + .string "using a GBA Game Link cable.$" + +CableClub_Text_RecordCornerUsingLinkCable:: @ 8277F96 + .string "You can use the RECORD CORNER with\n" + .string "others using a GBA Game Link cable.$" + +@ Unused +CableClub_Text_CloseThisMenu: @ 8277FDD + .string "Close this menu.$" + +CableClub_Text_NeedTwoMonsForDoubleBattle: @ 8277FEE + .string "For a DOUBLE BATTLE, you must\n" + .string "have at least two POKéMON.$" + +CableClub_Text_NeedTwoMonsToTrade: @ 8278027 + .string "For trading, you must have at\n" + .string "least two POKéMON with you.$" + +CableClub_Text_CantTradeEnigmaBerry: @ 8278061 + .string "A POKéMON holding the {STR_VAR_1}\n" + .string "BERRY can't be traded.$" + +gText_PleaseWaitForLink:: @ 8278091 + .string "Please wait.\n" + .string "… … B Button: Cancel$" + +gText_ConfirmLinkWhenPlayersReady:: @ 82780B3 + .string "When all players are ready…\n" + .string "A Button: Confirm\l" + .string "B Button: Cancel$" + +gText_ConfirmStartLinkWithXPlayers:: @ 82780F2 + .string "Start link with {STR_VAR_1} players.\n" + .string "A Button: Confirm\l" + .string "B Button: Cancel$" + +gText_AwaitingLinkup:: @ 8278131 + .string "Awaiting linkup…\n" + .string "… … B Button: Cancel$" + +@ Unused +CableClub_Text_OkayToSaveProgress:: @ 8278157 + .string "Your progress must be saved before\n" + .string "linking. Is it okay to save?$" + +CableClub_Text_PleaseEnter: @ 8278197 + .string "Please enter.$" + +CableClub_Text_DirectYouToYourRoom: @ 82781A5 + .string "I'll direct you to your room now.$" + +Text_SomeoneIsNotReadyToLink: @ 82781C7 + .string "Someone is not ready to link.\p" + .string "Please come back after everyone\n" + .string "has made preparations.$" + +Text_LinkErrorPleaseReset: @ 827821C + .string "Sorry, we have a link error…\n" + .string "Please reset and try again.$" + +Text_PlayersMadeDifferentSelections: @ 8278255 + .string "The link partners appear to have\n" + .string "made different selections.$" + +CableClub_Text_PleaseVisitAgain: @ 8278291 + .string "Please do visit again.$" + +CableClub_Text_IncorrectNumberOfParticipants: @ 82782A8 + .string "The number of participants is\n" + .string "incorrect.$" + +CableClub_Text_CantSingleBattleWithXPlayers: @ 82782D1 + .string "The SINGLE BATTLE Mode can't be\n" + .string "played by {STR_VAR_1} players.$" + +CableClub_Text_CantDoubleBattleWithXPlayers: @ 8278307 + .string "The DOUBLE BATTLE Mode can't be\n" + .string "played by {STR_VAR_1} players.$" + +CableClub_Text_NeedFourPlayers: @ 827833D + .string "There must be four players to play\n" + .string "this Battle Mode.$" + +CableClub_Text_PleaseConfirmNumberAndRestart: @ 8278372 + .string "Please confirm the number of\n" + .string "players and start again.$" + +Text_TerminateLinkConfirmation: @ 82783A8 + .string "The link will be terminated if you\n" + .string "leave the room. Is that okay?$" + +Text_TerminateLinkPleaseWait: @ 82783E9 + .string "Terminating link…\n" + .string "You will be escorted out of\l" + .string "the room. Please wait.$" + +CableClub_Text_TooBusyToNotice: @ 827842E + .string "This TRAINER is too busy to\n" + .string "notice…$" + +CableClub_Text_GotToLookAtTrainerCard: @ 8278452 + .string "Score! Got to look at {STR_VAR_1}'s\n" + .string "TRAINER CARD!$" + +CableClub_Text_GotToLookAtColoredTrainerCard: @ 827847B + .string "Score! Got to look at {STR_VAR_1}'s\n" + .string "TRAINER CARD!\p" + .string "It's a {STR_VAR_2} card!$" + +BattleColosseum_2P_Text_TakePlaceStartBattle: @ 82784B4 + .string "Please take your place and start\n" + .string "your battle.$" + +TradeCenter_Text_TakeSeatStartTrade: @ 82784E2 + .string "Please take your seat and start\n" + .string "your trade.$" + +RecordCorner_Text_ThanksForComing: @ 827850E + .string "Thanks for coming.$" + +CableClub_Text_TrainerCardDataOverwritten: @ 8278521 + .string "The TRAINER CARD data will\n" + .string "be overwritten.$" + +CableClub_Text_HopeToSeeYouAgain: @ 827854C + .string "I hope to see you again!$" + +CableClub_Text_NotSetUpForFarAwayRegion: @ 8278565 + .string "I'm awfully sorry.\p" + .string "We're not set up to conduct trades\n" + .string "with TRAINERS far away in another\l" + .string "region yet…$" + +CableClub_Text_OtherTrainerNotReady: @ 82785C9 + .string "The other TRAINER is not ready.$" + +CableClub_Text_YouHaveAMonThatCantBeTaken: @ 82785E9 + .string "You have at least one POKéMON\n" + .string "that can't be taken.$" + +RecordCorner_Text_TakeSeatAndWait: @ 827861C + .string "Please take your seat and wait.$" + +RecordCorner_Text_PlayerSentOverOneX: @ 827863C + .string "{STR_VAR_1} sent over one\n" + .string "{STR_VAR_2}.$" + +CableClub_Text_CantMixWithJapaneseGame: @ 8278651 + .string "Sorry, there is a transmission error.\p" + .string "You may not mix records with \n" + .string "Japanese Ruby or Sapphire games.\p" + .string "Also, you can't mix records with\n" + .string "Japanese Emerald and overseas Ruby\l" + .string "or Sapphire games at the same time.$" + +CableClub_Text_AdapterNotConnected: @ 827871F + .string "The Wireless Adapter is not\n" + .string "connected properly.$" + +CableClub_Text_ParticipantsStepUpToCounter: @ 827874F + .string "Participants are asked to step up\n" + .string "to the reception counter.$" + +@ Unused +CableClub_Text_Hello: @ 827878B + .string "Hello!$" + +@ Unused +CableClub_Text_PleaseWait: @ 8278792 + .string "Please wait.$" + +CableClub_Text_YouMayTradeHere:: @ 827879F + .string "You may trade your POKéMON here\n" + .string "with another TRAINER.$" + +CableClub_Text_YouMayBattleHere:: @ 82787D5 + .string "You may battle with your friends\n" + .string "here.$" + +CableClub_Text_CanMakeBerryPowder:: @ 82787FC + .string "Two to five TRAINERS can make\n" + .string "BERRY POWDER together.$" + +CableClub_Text_CanMixRecords:: @ 8278831 + .string "The records of two to four players\n" + .string "can be mixed together.$" + +@ Unused +CableClub_Text_GuideToVariousServices: @ 827886B + .string "A guide to the WIRELESS CLUB's\n" + .string "various services.$" + +CableClub_Text_CancelSelectedItem:: @ 827889C + .string "Cancels the selected MENU item.$" + +@ Unused +CableClub_Text_WhichBattleMode: @ 82788BC + .string "Which battle mode would you like?$" + +@ Unused +CableClub_Text_ReturnsToPreviousStep: @ 82788DE + .string "Returns to the previous step.$" + +CableClub_Text_NeedBerryForBerryCrush: @ 82788FC + .string "To use the BERRY CRUSH service,\n" + .string "you must have at least one BERRY.$" + +CableClub_Text_NeedTwoMonsForUnionRoom: @ 827893E + .string "To enter the UNION ROOM, you must\n" + .string "have at least two POKéMON.$" + +CableClub_Text_NoEnigmaBerryInUnionRoom: @ 827897B + .string "No POKéMON holding the {STR_VAR_1}\n" + .string "BERRY may enter the UNION ROOM.$" + +CableClub_Text_UnionRoomAdapterNotConnected: @ 82789B5 + .string "This is the POKéMON WIRELESS CLUB\n" + .string "UNION ROOM.\p" + .string "Unfortunately, your Wireless\n" + .string "Adapter is not connected properly.\p" + .string "Please do come again.$" + +@ Unused +CableClub_Text_OhExcuseMe: @ 8278A39 + .string "Oh…\n" + .string "Excuse me!$" + +CableClub_Text_PlayerIsWaiting: @ 8278A48 + .string "It appears as if {STR_VAR_1} is playing\n" + .string "right now.\l" + .string "Go for it!$" + +MossdeepCity_GameCorner_1F_Text_DescribeWhichGame: @ 8278A7D + .string "I can explain game rules to you,\n" + .string "if you'd like.\p" + .string "Which game should I describe?$" + +MossdeepCity_GameCorner_1F_Text_PokemonJumpInfo: @ 8278ACB + .string "“POKéMON JUMP”\p" + .string "Make your POKéMON skip the VINE WHIP\n" + .string "rope with the A Button.\p" + .string "Only mini POKéMON around 28 inches\n" + .string "or less may participate.\p" + .string "POKéMON that only swim, burrow,\n" + .string "or fly are not good at jumping.\p" + .string "As a result, those POKéMON may not\n" + .string "participate.\p" + .string "Good things happen if everyone\n" + .string "jumps in time.$" + +MossdeepCity_GameCorner_1F_Text_DodrioBerryPickingInfo: @ 8278BF1 + .string "“DODRIO BERRY-PICKING”\p" + .string "Command DODRIO's three heads to\n" + .string "catch falling BERRIES.\p" + .string "Press right, up, or left on the\n" + .string "{PLUS} Control Pad to move the heads.\p" + .string "To play this game, you must have\n" + .string "a DODRIO.$" + +MossdeepCity_GameCorner_1F_Text_TalkToOldManToPlay: @ 8278CAC + .string "If you want to play a game,\n" + .string "please tell the old man beside me.$" + +MossdeepCity_GameCorner_1F_Text_WelcomeCanYouWait: @ 8278CEB + .string "Hi, welcome!\n" + .string "Are you here to play games using\l" + .string "Wireless Communication?\p" + .string "Can you wait just a little bit?$" + +MossdeepCity_GameCorner_1F_Text_ComeAgain: @ 8278D51 + .string "All right, come again!$" + +MossdeepCity_GameCorner_1F_Text_AdapterNotConnected: @ 8278D68 + .string "The Wireless Adapter isn't connected.\n" + .string "Come back when it's hooked up!$" + +MossdeepCity_GameCorner_1F_Text_PlayWhichGame: @ 8278DAD + .string "All right, which game did you want\n" + .string "to play?$" + +MossdeepCity_GameCorner_1F_Text_EnterWhichPokemon: @ 8278DD9 + .string "Which POKéMON would you like to\n" + .string "enter?$" + +MossdeepCity_GameCorner_1F_Text_AllGoodToGo: @ 8278E00 + .string "Okay, you're all good to go.\n" + .string "Don't let the others beat you!$" + +@ Unused +MossdeepCity_GameCorner_1F_Text_LeavingDoComeAgain: @ 8278E3C + .string "Are you leaving now?\n" + .string "Do come again!$" + +MossdeepCity_GameCorner_1F_Text_ExplainRequiredMon: @ 8278E60 + .string "It doesn't look like you have any\n" + .string "POKéMON that you can enter…\p" + .string "Would you like me to explain what\n" + .string "kinds of POKéMON can enter?$" + +MossdeepCity_GameCorner_1F_Text_ShortJumpingPokemonAllowed: @ 8278EDC + .string "“POKéMON JUMP” is open to POKéMON\n" + .string "around 28 inches or less.\p" + .string "What you can't enter are those\n" + .string "POKéMON that can't jump.\p" + .string "You know, like POKéMON that only\n" + .string "swim, burrow, or fly.\p" + .string "That's all you need to know.$" + +MossdeepCity_GameCorner_1F_Text_OnlyDodrioAllowed: @ 8278FA4 + .string "DODRIO BERRY-PICKING is a game that \n" + .string "only DODRIO may enter.$" + +@ Unused +MossdeepCity_GameCorner_1F_Text_RetryPlease: @ 8278FE0 + .string "Could you retry this from the start\n" + .string "again, please?$" + +CableClub_Text_WelcomeWhichDirectCornerRoom: @ 8279013 + .string "Welcome to the POKéMON WIRELESS\n" + .string "CLUB DIRECT CORNER.\p" + .string "You may interact directly with\n" + .string "your friends here.\p" + .string "Which room would you like to\n" + .string "enter?$" + +CableClub_Text_TradePokemon: @ 827909D + .string "Would you like to trade POKéMON?$" + +CableClub_Text_PlayWhichBattleMode: @ 82790BE + .string "Which Battle Mode would you like\n" + .string "to play?$" + +CableClub_Text_AccessRecordCorner: @ 82790E8 + .string "Would you like to access\n" + .string "the RECORD CORNER?$" + +CableClub_Text_UseBerryCrush: @ 8279114 + .string "Would you like to use the\n" + .string "BERRY CRUSH System?$" + +CableClub_Text_ExplainBattleModes: @ 8279142 + .string "There are three Battle Modes.\p" + .string "SINGLE BATTLE is for two TRAINERS\n" + .string "with one or more POKéMON each.\p" + .string "Each TRAINER can have one POKéMON\n" + .string "in battle at a time.\p" + .string "DOUBLE BATTLE is for two TRAINERS\n" + .string "with two or more POKéMON each.\p" + .string "Each TRAINER will send out two\n" + .string "POKéMON in battle at a time.\p" + .string "MULTI BATTLE is for four TRAINERS\n" + .string "with one or more POKéMON each.\p" + .string "Each TRAINER can have one POKéMON\n" + .string "in battle at a time.$" + +CableClub_Text_ChooseGroupLeaderOfTwo: @ 82792CD + .string "Please decide which of you two\n" + .string "will become the LEADER.\p" + .string "The other player must then choose\n" + .string "“JOIN GROUP.”$" + +CableClub_Text_ChooseGroupLeaderOfFour: @ 8279334 + .string "Please decide which of you four\n" + .string "will become the GROUP LEADER.\p" + .string "The other players must then choose\n" + .string "“JOIN GROUP.”$" + +CableClub_Text_ChooseGroupLeader: @ 82793A3 + .string "Please decide which of you will\n" + .string "become the GROUP LEADER.\p" + .string "The other players must then choose\n" + .string "“JOIN GROUP.”$" + +CableClub_Text_WelcomeUnionRoomEnter: @ 827940D + .string "Welcome to the POKéMON WIRELESS\n" + .string "CLUB UNION ROOM.\p" + .string "You may interact directly with\n" + .string "other TRAINERS here, some of\l" + .string "whom you may not even know.\p" + .string "Would you like to enter the ROOM?$" + +CableClub_Text_UnionRoomInfo: @ 82794B8 + .string "The TRAINERS in the UNION ROOM\n" + .string "will be those players around you\l" + .string "who have also entered the ROOM.\p" + .string "You may do all sorts of things\n" + .string "here, such as exchanging greetings.\p" + .string "You may enter two POKéMON up to\n" + .string "Lv. 30 for a one-on-one battle.\p" + .string "You may take part in a chat with\n" + .string "two to five people.\p" + .string "Or, you may register a POKéMON for\n" + .string "trade.\p" + .string "Would you like to enter the ROOM?$" + +CableClub_Text_EnjoyUnionRoom: @ 827961C + .string "I hope you enjoy your time in\n" + .string "the UNION ROOM.$" + +CableClub_Text_FirstTimeRightThisWay: @ 827964A + .string "Hello!\n" + .string "My name is TEALA.\p" + .string "This must be your first time\n" + .string "up here.\p" + .string "I'll show you how the Wireless\n" + .string "Communication System works.\p" + .string "First, I need to show you this\n" + .string "floor of our POKéMON CENTER.\p" + .string "Right this way, please.$" + +CableClub_Text_ExplainWirelessClubFirstTime: @ 8279718 + .string "On the top floor, there are two\n" + .string "rooms.\p" + .string "First, the room on the left.\n" + .string "It's the UNION ROOM.\p" + .string "You may link up with TRAINERS\n" + .string "around you who have also entered\l" + .string "the UNION ROOM.\p" + .string "With them, you may do things like\n" + .string "chat, battle, and trade.\p" + .string "Second, the room on the right is\n" + .string "the DIRECT CORNER.\p" + .string "You may trade or battle POKéMON\n" + .string "with your friends in this room.\p" + .string "If the Wireless Adapter isn't\n" + .string "connected, you may still link up\l" + .string "using a GBA Game Link cable.\p" + .string "If that is the case, you must go\n" + .string "to the DIRECT CORNER.\p" + .string "I hope you enjoy the Wireless \n" + .string "Communication System.$" + +CableClub_Text_AskAboutLinking: @ 8279937 + .string "Hello, {PLAYER}!\p" + .string "It's me, TEALA, the POKéMON\n" + .string "CENTER 2F attendant.\p" + .string "Is there something you needed to\n" + .string "ask me about linking?$" + +CableClub_Text_ExplainWirelessClub: @ 82799AA + .string "Let me explain how the POKéMON\n" + .string "WIRELESS CLUB works.\p" + .string "On this, the top floor, there are\n" + .string "two rooms.\p" + .string "First, the room on the left.\n" + .string "It's the UNION ROOM.\p" + .string "You may link up with TRAINERS\n" + .string "around you who have also entered\l" + .string "the UNION ROOM.\p" + .string "With them, you may do things like\n" + .string "chat, battle, and trade.\p" + .string "Second, the room on the right is\n" + .string "the DIRECT CORNER.\p" + .string "You may trade or battle POKéMON\n" + .string "with your friends in this room.\p" + .string "Sometimes, you may not be able to\n" + .string "find your friends in the UNION ROOM\l" + .string "or the DIRECT CORNER.\p" + .string "In that case, please move closer\n" + .string "to your friends.\p" + .string "If the Wireless Adapter isn't\n" + .string "connected, you may still link up\l" + .string "using a GBA Game Link cable.\p" + .string "If that is the case, you must go\n" + .string "to the DIRECT CORNER.\p" + .string "I hope you enjoy the Wireless \n" + .string "Communication System.$" + +CableClub_Text_HopeYouEnjoyWirelessSystem: @ 8279C91 + .string "I hope you enjoy the Wireless\n" + .string "Communication System.$" diff --git a/data/text/check_furniture.inc b/data/text/check_furniture.inc new file mode 100644 index 0000000000..23f966bbdb --- /dev/null +++ b/data/text/check_furniture.inc @@ -0,0 +1,27 @@ +Text_PictureBookShelf: @ 82A81E5 + .string "There's a set of POKéMON picture books.$" + +Text_BookShelf: @ 82A820D + .string "It's filled with all sorts of books.$" + +Text_PokemonCenterBookShelf: @ 82A8232 + .string "POKéMON magazines!\n" + .string "POKéMON PAL…\p" + .string "POKéMON HANDBOOK…\n" + .string "ADORABLE POKéMON…$" + +Text_Vase: @ 82A8276 + .string "This vase looks expensive…\n" + .string "Peered inside…\p" + .string "But, it was empty.$" + +Text_EmptyTrashCan: @ 82A82B3 + .string "It's empty.$" + +Text_ShopShelf: @ 82A82BF + .string "The shelves brim with all sorts of\n" + .string "POKéMON merchandise.$" + +Text_Blueprint: @ 82A82F7 + .string "A blueprint of some sort?\n" + .string "It's too complicated!$" diff --git a/data/text/contest_link.inc b/data/text/contest_link.inc new file mode 100644 index 0000000000..d9873904f1 --- /dev/null +++ b/data/text/contest_link.inc @@ -0,0 +1,38 @@ +@ With the exception of Link standby, none of the below texts are used + +gTest_MissedTurn:: @ 827E8CE + .string "Missed turn$" + +gText_LinkStandby4:: @ 827E8DA + .string "Link standby!$" + +gText_WinnerIsPlayersMonCongrats:: @ 827E8E8 + .string "The winner is {STR_VAR_1}'s {STR_VAR_2}!\n" + .string "Congratulations!$" + +gText_WinnerIsPlayersMon:: @ 827E910 + .string "The winner is {STR_VAR_1}'s {STR_VAR_2}!{PAUSE_UNTIL_PRESS}$" + +gText_PrimaryJudgingNumX:: @ 827E929 + .string "Primary judging: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$" + +gText_SecondaryJudgingNumX:: @ 827E943 + .string "Secondary judging: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$" + +gText_SetEventNumX:: @ 827E95F + .string "Set event: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$" + +gText_MoveUsedMostOften:: @ 827E973 + .string "The move used most often:\n" + .string "{STR_VAR_1}{PAUSE_UNTIL_PRESS}$" + +gText_MostImpressiveMon:: @ 827E992 + .string "The most impressive POKéMON:\n" + .string "{STR_VAR_1}'s {STR_VAR_2}{PAUSE_UNTIL_PRESS}$" + +gText_SetEventNumX2:: @ 827E9B9 + .string "Set event: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$" + +gText_LinkTVProgramWillNotBeMadeTrainerLost:: @ 827E9CD + .string "A link TV program will not be made\n" + .string "because the TRAINER lost.{PAUSE_UNTIL_PRESS}$" diff --git a/data/text/contest_painting.inc b/data/text/contest_painting.inc new file mode 100644 index 0000000000..2aa8c6a937 --- /dev/null +++ b/data/text/contest_painting.inc @@ -0,0 +1,95 @@ +gUnknown_0827EA0C:: @ 827EA0C + .string "{STR_VAR_1}\n" + .string "{STR_VAR_2}'s {STR_VAR_3}$" + +gUnknown_0827EA17:: @ 827EA17 + .string "CONTEST$" + +gContestRankNormal:: + .string "NORMAL RANK$" + +gContestRankSuper:: + .string "SUPER RANK$" + +gContestRankHyper:: + .string "HYPER RANK$" + +gContestRankMaster:: + .string "MASTER RANK$" + +gContestLink:: + .string "LINK$" + +gContestCoolness:: + .string "COOLNESS$" + +gContestBeauty:: + .string "BEAUTY$" + +gContestCuteness:: + .string "CUTENESS$" + +gContestSmartness:: + .string "SMARTNESS$" + +gContestToughness:: + .string "TOUGHNESS$" + +gContestPaintingCool1:: + .string "Nonstop supercool--\n" + .string "the inestimable {STR_VAR_1}$" + +gContestPaintingCool2:: + .string "Hey, there!\n" + .string "The good-looking POKéMON {STR_VAR_1}$" + +gContestPaintingCool3:: + .string "The marvelous, wonderful, and\n" + .string "very great {STR_VAR_1}$" + +gContestPaintingBeauty1:: + .string "This century's last Venus--\n" + .string "the beautiful {STR_VAR_1}$" + +gContestPaintingBeauty2:: + .string "{STR_VAR_1}'s dazzling,\n" + .string "glittering smile$" + +gContestPaintingBeauty3:: + .string "POKéMON CENTER's super idol--\n" + .string "the incomparable {STR_VAR_1}$" + +gContestPaintingCute1:: + .string "The lovely and sweet {STR_VAR_1}$" + +gContestPaintingCute2:: + .string "The pretty {STR_VAR_1}'s\n" + .string "winning portrait$" + +gContestPaintingCute3:: + .string "Give us a wink!\n" + .string "The cutie POKéMON {STR_VAR_1}$" + +gContestPaintingSmart1:: + .string "The smartness maestro--\n" + .string "the wise POKéMON {STR_VAR_1}$" + +gContestPaintingSmart2:: + .string "{STR_VAR_1}--the one chosen\n" + .string "above all POKéMON$" + +gContestPaintingSmart3:: + .string "The excellent {STR_VAR_1}'s\n" + .string "moment of elegance$" + +gContestPaintingTough1:: + .string "The powerfully muscular\n" + .string "speedster {STR_VAR_1}$" + +gContestPaintingTough2:: + .string "The strong, stronger, and\n" + .string "strongest {STR_VAR_1}$" + +gContestPaintingTough3:: + .string "The mighty tough\n" + .string "hyper POKéMON {STR_VAR_1}$" diff --git a/data/text/contest_strings.inc b/data/text/contest_strings.inc index e332e16bbe..3cebef526d 100644 --- a/data/text/contest_strings.inc +++ b/data/text/contest_strings.inc @@ -1,191 +1,191 @@ -@ contest move effect descriptions +@ Contest move effect descriptions -gContestEffect00hDescription:: @ 827CB82 +gText_HighlyAppealingMove:: @ 827CB82 .string "A highly appealing move.$" -gContestEffect01hDescription:: @ 827CB9B +gText_UserMoreEasilyStartled:: @ 827CB9B .string "After this move, the user is\nmore easily startled.$" -gContestEffect02hDescription:: @ 827CBCE +gText_GreatAppealButNoMoreToEnd:: @ 827CBCE .string "Makes a great appeal, but\nallows no more to the end.$" -gContestEffect03hDescription:: @ 827CC03 +gText_UsedRepeatedlyWithoutBoringJudge:: @ 827CC03 .string "Can be repeatedly used\nwithout boring the JUDGE.$" -gContestEffect04hDescription:: @ 827CC34 +gText_AvoidStartledByOthersOnce:: @ 827CC34 .string "Can avoid being startled\nby others once.$" -gContestEffect05hDescription:: @ 827CC5D +gText_AvoidStartledByOthers:: @ 827CC5D .string "Can avoid being startled\nby others.$" -gContestEffect06hDescription:: @ 827CC81 +gText_AvoidStartledByOthersLittle:: @ 827CC81 .string "Can avoid being startled\nby others a little.$" -gContestEffect07hDescription:: @ 827CCAE +gText_UserLessLikelyStartled:: @ 827CCAE .string "After this move, the user is\nless likely to be startled.$" -gContestEffect08hDescription:: @ 827CCE7 +gText_SlightlyStartleFrontMon:: @ 827CCE7 .string "Slightly startles the\nPOKéMON in front.$" -gContestEffect09hDescription:: @ 827CD0F +gText_SlightlyStartleAppealed:: @ 827CD0F .string "Slightly startles those\nthat have made appeals.$" -gContestEffect0AhDescription:: @ 827CD3F +gText_StartleAppealedBeforeUser:: @ 827CD3F .string "Startles the POKéMON that\nappealed before the user.$" -gContestEffect0BhDescription:: @ 827CD73 +gText_StartleAllAppealed:: @ 827CD73 .string "Startles all POKéMON that\nhave done their appeals.$" -gContestEffect0ChDescription:: @ 827CDA6 +gText_BadlyStartleFrontMon:: @ 827CDA6 .string "Badly startles the\nPOKéMON in front.$" -gContestEffect0DhDescription:: @ 827CDCB +gText_BadlyStartleAppealed:: @ 827CDCB .string "Badly startles those that\nhave made appeals.$" -gContestEffect0EhDescription:: @ 827CDF8 +gText_StartleAppealedBeforeUser2:: @ 827CDF8 .string "Startles the POKéMON that\nappealed before the user.$" -gContestEffect0FhDescription:: @ 827CE2C +gText_StartleAllAppealed2:: @ 827CE2C .string "Startles all POKéMON that\nhave done their appeals.$" -gContestEffect10hDescription:: @ 827CE5F +gText_ShiftJudgesAttentionFromOthers:: @ 827CE5F .string "Shifts the JUDGE's\nattention from others.$" -gContestEffect11hDescription:: @ 827CE89 +gText_StartleMonHasJudgesAttention:: @ 827CE89 .string "Startles the POKéMON that\nhas the JUDGE's attention.$" -gContestEffect12hDescription:: @ 827CEBE +gText_JamOthersMissesTurn:: @ 827CEBE .string "Jams the others, and misses\none turn of appeals.$" -gContestEffect13hDescription:: @ 827CEEF +gText_StartleMonsMadeSameTypeAppeal:: @ 827CEEF .string "Startles POKéMON that\nmade a same-type appeal.$" -gContestEffect14hDescription:: @ 827CF1E +gText_BadlyStartleCoolAppeals:: @ 827CF1E .string "Badly startles POKéMON\nthat made COOL appeals.$" -gContestEffect15hDescription:: @ 827CF4D +gText_BadlyStartleBeautyAppeals:: @ 827CF4D .string "Badly startles POKéMON\nthat made BEAUTY appeals.$" -gContestEffect16hDescription:: @ 827CF7E +gText_BadlyStartleCuteAppeals:: @ 827CF7E .string "Badly startles POKéMON\nthat made CUTE appeals.$" -gContestEffect17hDescription:: @ 827CFAD +gText_BadlyStartleSmartAppeals:: @ 827CFAD .string "Badly startles POKéMON\nthat made SMART appeals.$" -gContestEffect18hDescription:: @ 827CFDD +gText_BadlyStartleToughAppeals:: @ 827CFDD .string "Badly startles POKéMON\nthat made TOUGH appeals.$" -gContestEffect19hDescription:: @ 827D00D +gText_MakeMonAfterUserNervous:: @ 827D00D .string "Makes one POKéMON after\nthe user nervous.$" -gContestEffect1AhDescription:: @ 827D037 +gText_MakeAllMonsAfterUserNervous:: @ 827D037 .string "Makes all POKéMON after\nthe user nervous.$" -gContestEffect1BhDescription:: @ 827D061 +gText_WorsenConditionOfThoseMadeAppeals:: @ 827D061 .string "Worsens the condition of\nthose that made appeals.$" -gContestEffect1ChDescription:: @ 827D093 +gText_BadlyStartleMonsGoodCondition:: @ 827D093 .string "Badly startles POKéMON in\ngood condition.$" -gContestEffect1DhDescription:: @ 827D0BD +gText_AppealGreatIfPerformedFirst:: @ 827D0BD .string "The appeal works great if\nperformed first.$" -gContestEffect1EhDescription:: @ 827D0E8 +gText_AppealGreatIfPerformedLast:: @ 827D0E8 .string "The appeal works great if\nperformed last.$" -gContestEffect1FhDescription:: @ 827D112 +gText_AppealAsGoodAsThoseBeforeIt:: @ 827D112 .string "Makes the appeal as good\nas those before it.$" -gContestEffect20hDescription:: @ 827D13F +gText_AppealAsGoodAsOneBeforeIt:: @ 827D13F .string "Makes the appeal as good\nas the one before it.$" -gContestEffect21hDescription:: @ 827D16E +gText_AppealBetterLaterItsPerformed:: @ 827D16E .string "The appeal works better\nthe later it is performed.$" -gContestEffect22hDescription:: @ 827D1A1 +gText_AppealVariesDependingOnTiming:: @ 827D1A1 .string "The appeal's quality varies\ndepending on its timing.$" -gContestEffect23hDescription:: @ 827D1D6 +gText_WorksWellIfSameTypeAsBefore:: @ 827D1D6 .string "Works well if it's the same\ntype as the one before.$" -gContestEffect24hDescription:: @ 827D20A +gText_WorksWellIfDifferentTypeAsBefore:: @ 827D20A .string "Works well if different in\ntype than the one before.$" -gContestEffect25hDescription:: @ 827D23F +gText_AffectedByAppealInFront:: @ 827D23F .string "Affected by how well the\nappeal in front goes.$" -gContestEffect26hDescription:: @ 827D26E +gText_UpsConditionHelpsPreventNervousness:: @ 827D26E .string "Ups the user's condition.\nHelps prevent nervousness.$" -gContestEffect27hDescription:: @ 827D2A3 +gText_AppealWorksWellIfConditionGood:: @ 827D2A3 .string "The appeal works well if the\nuser's condition is good.$" -gContestEffect28hDescription:: @ 827D2DA +gText_NextAppealMadeEarlier:: @ 827D2DA .string "The next appeal can be\nmade earlier next turn.$" -gContestEffect29hDescription:: @ 827D309 +gText_NextAppealMadeLater:: @ 827D309 .string "The next appeal can be\nmade later next turn.$" -gContestEffect2AhDescription:: @ 827D336 +gText_TurnOrderMoreEasilyScrambled:: @ 827D336 .string "Makes the next turn's order\nmore easily scrambled.$" -gContestEffect2BhDescription:: @ 827D369 +gText_ScrambleOrderOfNextAppeals:: @ 827D369 .string "Scrambles the order of\nappeals on the next turn.$" -gContestEffect2ChDescription:: @ 827D39A +gText_AppealExcitesAudienceInAnyContest:: @ 827D39A .string "An appeal that excites the\naudience in any CONTEST.$" -gContestEffect2DhDescription:: @ 827D3CE +gText_BadlyStartlesMonsGoodAppeals:: @ 827D3CE .string "Badly startles all POKéMON\nthat made good appeals.$" -gContestEffect2EhDescription:: @ 827D401 +gText_AppealBestMoreCrowdExcited:: @ 827D401 .string "The appeal works best the\nmore the crowd is excited.$" -gContestEffect2FhDescription:: @ 827D436 +gText_TemporarilyStopCrowdExcited:: @ 827D436 .string "Temporarily stops the\ncrowd from growing excited.$" -@ unused move names +@ Unused move names -gUnusedContestMoveName0:: @ 827D468 +gText_RainDance:: @ 827D468 .string "RAIN DANCE$" -gUnusedContestMoveName1:: @ 827D473 +gText_Rage:: @ 827D473 .string "RAGE$" -gUnusedContestMoveName2:: @ 827D478 +gText_FocusEnergy:: @ 827D478 .string "FOCUS ENERGY$" -gUnusedContestMoveName3:: @ 827D485 +gText_Hypnosis:: @ 827D485 .string "HYPNOSIS$" -gUnusedContestMoveName4:: @ 827D48E +gText_Softboiled:: @ 827D48E .string "SOFTBOILED$" -gUnusedContestMoveName5:: @ 827D499 +gText_HornAttack:: @ 827D499 .string "HORN ATTACK$" -gUnusedContestMoveName6:: @ 827D4A5 +gText_SwordsDance:: @ 827D4A5 .string "SWORDS DANCE$" -gUnusedContestMoveName7:: @ 827D4B2 +gText_Conversion:: @ 827D4B2 .string "CONVERSION$" -gUnusedContestMoveName8:: @ 827D4BD +gText_SunnyDay:: @ 827D4BD .string "SUNNY DAY$" -gUnusedContestMoveName9:: @ 827D4C7 +gText_Rest2:: @ 827D4C7 .string "REST$" -gUnusedContestMoveName10:: @ 827D4CC +gText_Vicegrip:: @ 827D4CC .string "VICEGRIP$" -gUnusedContestMoveName11:: @ 827D4D5 +gText_DefenseCurl:: @ 827D4D5 .string "DEFENSE CURL$" -gUnusedContestMoveName12:: @ 827D4E2 +gText_LockOn:: @ 827D4E2 .string "LOCK-ON$" -@ contest type names +@ Contest type names gContestMoveTypeCoolText:: @ 827D4EA .string "COOL$" @@ -202,434 +202,441 @@ gContestMoveTypeSmartText:: @ 827D4FB gContestMoveTypeToughText:: @ 827D501 .string "TOUGH$" -gText_0827D507:: @ 827D507 +gText_AppealNumWhichMoveWillBePlayed:: @ 827D507 .string "Appeal no. {STR_VAR_1}!\n" .string "Which move will be played?$" -gText_0827D531:: @ 827D531 +gText_AppealNumButItCantParticipate:: @ 827D531 .string "Appeal no. {STR_VAR_1}!\n" .string "But it can't participate!$" -gText_0827D55A:: @ 827D55A +gText_MonAppealedWithMove:: @ 827D55A .string "{STR_VAR_1} appealed with\n" .string "{STR_VAR_2}!$" -gText_0827D56F:: @ 827D56F +gText_MonWasWatchingOthers:: @ 827D56F .string "{STR_VAR_1} was watching\n" .string "the others.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827D597:: @ 827D597 +gText_AllOutOfAppealTime:: @ 827D597 .string "We're all out of\n" .string "Appeal Time!{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827D5C1:: @ 827D5C1 +@ Unused appeal result texts + +gText_ButAppealWasJammed:: @ 827D5C1 .string "But the appeal was\n" .string "jammed.$" -gText_0827D5DC:: @ 827D5DC +gText_FollowedAnotherMonsLead:: @ 827D5DC .string "It followed another\n" .string "POKéMON's lead.$" -gText_0827D600:: @ 827D600 +gText_ButItMessedUp:: @ 827D600 .string "But it messed up.$" -gText_0827D612:: @ 827D612 +gText_WentBetterThanUsual:: @ 827D612 .string "It went better than\n" .string "usual.$" -gText_0827D62D:: @ 827D62D +gText_JudgeLookedAwayForSomeReason:: @ 827D62D .string "The JUDGE looked away\n" .string "for some reason.$" -gText_0827D654:: @ 827D654 +gText_WorkedHardToBuildOnPastMistakes:: @ 827D654 .string "It worked hard to build on\n" .string "past mistakes.$" -gText_0827D67E:: @ 827D67E +gText_CantMakeAnyMoreMoves:: @ 827D67E .string "It can't make any more\n" .string "moves.$" -gText_0827D69C:: @ 827D69C +gText_WorkedFrighteninglyWell:: @ 827D69C .string "It worked frighteningly\n" .string "well.$" -gText_0827D6BA:: @ 827D6BA +gText_WorkedHardAsStandoutMon:: @ 827D6BA .string "It worked as hard as the\n" .string "standout POKéMON.$" -gText_0827D6E5:: @ 827D6E5 +gText_JudgedLookedOnExpectantly:: @ 827D6E5 .string "The JUDGE looked on\n" .string "expectantly.$" -gText_0827D706:: @ 827D706 +gText_WorkedRatherWell:: @ 827D706 .string "It worked rather well.$" -gText_0827D71D:: @ 827D71D +gText_WorkedLittleBetterThanUsual:: @ 827D71D .string "It worked a little better\n" .string "than usual.$" -gText_0827D743:: @ 827D743 +@ Round result texts + +gText_MonFailedToStandOutAtAll:: @ 827D743 .string "{STR_VAR_1} failed to\n" .string "stand out at all…{PAUSE_UNTIL_PRESS}$" -gText_0827D764:: @ 827D764 +gText_MonDidntStandOutVeryMuch:: @ 827D764 .string "{STR_VAR_1} didn't stand\n" .string "out very much…{PAUSE_UNTIL_PRESS}$" -gText_0827D785:: @ 827D785 +gText_MonCaughtALittleAttention:: @ 827D785 .string "{STR_VAR_1} caught a\n" .string "little attention.{PAUSE_UNTIL_PRESS}$" -gText_0827D7A5:: @ 827D7A5 +gText_MonAttractedALotOfAttention:: @ 827D7A5 .string "{STR_VAR_1} attracted a\n" .string "lot of attention.{PAUSE_UNTIL_PRESS}$" -gText_0827D7C8:: @ 827D7C8 +gText_MonCommandedTotalAttention:: @ 827D7C8 .string "{STR_VAR_1} commanded\n" .string "total attention.{PAUSE_UNTIL_PRESS}$" -gText_0827D7E8:: @ 827D7E8 +gText_MonHasntMadeItsAppeal:: @ 827D7E8 .string "{STR_VAR_1} hasn't made\n" .string "its appeal.{PAUSE_UNTIL_PRESS}$" -gText_0827D805:: @ 827D805 +@ Unused +gText_AnticipationSwelledForMonsAppealNext2:: @ 827D805 .string "Anticipation swelled for\n" .string "{STR_VAR_1}'s appeal next.$" -gText_0827D830:: @ 827D830 +gText_EmptyContestString:: @ 827D830 .string "$" -gText_0827D831:: @ 827D831 +gText_JudgesViewsOnMonHeldFirm:: @ 827D831 .string "The JUDGE 's views on\n" .string "{STR_VAR_1} held firm.$" -gText_0827D855:: @ 827D855 +gText_MonsXChangedPerceptions:: @ 827D855 .string "{STR_VAR_1}'s {STR_VAR_3}\n" .string "changed perceptions.$" -gText_0827D872:: @ 827D872 +gText_MonsAppealEffectWoreOff:: @ 827D872 .string "{STR_VAR_1}'s appeal\n" .string "effect wore off.$" -gText_0827D88F:: @ 827D88F +gText_SpecialAppealsEffectWoreOff:: @ 827D88F .string "The special appeal's\n" .string "effect wore off.$" -gText_0827D8B5:: @ 827D8B5 +gText_EveryonesAppealsMadeToLookSame:: @ 827D8B5 .string "Everyone's appeals were\n" .string "made to look the same.$" -gText_0827D8E4:: @ 827D8E4 +gText_CheapenedMonsAppeal:: @ 827D8E4 .string "It cheapened\n" .string "{STR_VAR_2}'s appeal.$" -gText_0827D8FE:: @ 827D8FE +gText_CheapenedAppealOfThoseAhead:: @ 827D8FE .string "It cheapened the appeal\n" .string "of those ahead.$" -gText_0827D926:: @ 827D926 +gText_StoleAttentionAwayFromMon:: @ 827D926 .string "It stole attention away\n" .string "from {STR_VAR_2}.$" -gText_0827D947:: @ 827D947 +gText_CheapenedMonsAppeal2:: @ 827D947 .string "It cheapened\n" .string "{STR_VAR_2}'s appeal.$" -gText_0827D961:: @ 827D961 +gText_SeverelyCheapenedOtherAppeals:: @ 827D961 .string "It severely cheapened\n" .string "other appeals.$" -gText_0827D986:: @ 827D986 +gText_AnticipationSwelledForMonsAppealNext:: @ 827D986 .string "Anticipation swelled for\n" .string "{STR_VAR_1}'s appeal next.$" -gText_0827D9B1:: @ 827D9B1 +gText_CheapenedAppealOfThoseAhead2:: @ 827D9B1 .string "It cheapened the appeal\n" .string "of those ahead.$" -gText_0827D9D9:: @ 827D9D9 +gText_CheapenedJudgesFavoriteAppeal:: @ 827D9D9 .string "It cheapened the JUDGE's\n" .string "favorite appeal.$" -gText_0827DA03:: @ 827DA03 +gText_AppealsOfOthersCheapenedByHalf:: @ 827DA03 .string "The appeals of others\n" .string "were cheapened by half.$" -gText_0827DA31:: @ 827DA31 +gText_StoodOutToMakeUpForBeingJammed:: @ 827DA31 .string "It stood out to make up\n" .string "for being jammed.$" -gText_0827DA5B:: @ 827DA5B +gText_CantParticipateInAppealsAnyMore:: @ 827DA5B .string "It can't participate in\n" .string "appeals any more.$" -gText_0827DA85:: @ 827DA85 +gText_TouchedJudgeForFantasticAppeal:: @ 827DA85 .string "It touched the JUDGE for\n" .string "a fantastic appeal.$" -gText_0827DAB2:: @ 827DAB2 +gText_AnticipationRoseForUpcomingAppeals:: @ 827DAB2 .string "Anticipation rose for\n" .string "upcoming appeals.$" -gText_0827DADA:: @ 827DADA +gText_StoodOutAsMuchAsSpecialAppeals:: @ 827DADA .string "It stood out as much as\n" .string "special appeals.$" -gText_0827DB03:: @ 827DB03 +gText_StoodOutAsMuchAsMon:: @ 827DB03 .string "It stood out as much as\n" .string "{STR_VAR_1}.$" -gText_0827DB1F:: @ 827DB1F +gText_JammedAppealsMadeEvenLessNoticeable:: @ 827DB1F .string "Jammed appeals were made\n" .string "even less noticeable.$" -gText_0827DB4E:: @ 827DB4E +gText_EveryonesAppealsMadeSame:: @ 827DB4E .string "Everyone's appeals were\n" .string "made the same.$" -gText_827DB75:: @ 827DB75 +@ Appeal result texts + +gText_BecameMoreConsciousOfOtherMons:: @ 827DB75 .string "It became more conscious\n" .string "of the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DBB0:: @ 827DBB0 +gText_MonCantMakeAnAppealAfterThis:: @ 827DBB0 .string "{STR_VAR_1} can't make an\n" .string "appeal after this.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DBE0:: @ 827DBE0 +gText_SettledDownJustLittleBit:: @ 827DBE0 .string "It settled down just a\n" .string "little bit.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DC0F:: @ 827DC0F +gText_BecameObliviousToOtherMons:: @ 827DC0F .string "It became oblivious to\n" .string "the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DC45:: @ 827DC45 +gText_BecameLessAwareOfOtherMons:: @ 827DC45 .string "It became less aware of\n" .string "the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DC7C:: @ 827DC7C +gText_StoppedCaringAboutOtherMons:: @ 827DC7C .string "It stopped caring about\n" .string "other POKéMON much.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DCB4:: @ 827DCB4 +gText_TriedToStartleOtherMons:: @ 827DCB4 .string "It tried to startle the\n" .string "other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DCE7:: @ 827DCE7 +gText_TriedToDazzleOthers:: @ 827DCE7 .string "It tried to dazzle the\n" .string "others.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DD12:: @ 827DD12 +gText_JudgeLookedAwayFromMon:: @ 827DD12 .string "The JUDGE looked away\n" .string "from {STR_VAR_1}.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DD3D:: @ 827DD3D +gText_TriedToUnnerveNextMon:: @ 827DD3D .string "It tried to unnerve the\n" .string "next POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DD6F:: @ 827DD6F +gText_MonBecameNervous:: @ 827DD6F .string "{STR_VAR_1} became\n" .string "nervous.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DD8E:: @ 827DD8E +gText_AppealTriedToUnnerveWaitingMons:: @ 827DD8E .string "The appeal tried to\n" .string "unnerve waiting POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DDC7:: @ 827DDC7 +gText_TauntedMonsDoingWell:: @ 827DDC7 .string "It taunted POKéMON\n" .string "doing well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DDF2:: @ 827DDF2 +gText_MonRegainedItsForm:: @ 827DDF2 .string "{STR_VAR_1} regained its\n" .string "form.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DE14:: @ 827DE14 +gText_TriedToJamMonDoingWell:: @ 827DE14 .string "It tried to jam POKéMON\n" .string "doing well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DE44:: @ 827DE44 +gText_StandoutMonHustledEvenMore:: @ 827DE44 .string "The standout {STR_VAR_1}\n" .string "hustled even more.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DE73:: @ 827DE73 +gText_LargelyUnnoticedMonWorkedHard:: @ 827DE73 .string "The largely unnoticed\n" .string "{STR_VAR_1} worked hard.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DEA5:: @ 827DEA5 +gText_WorkedAsMuchAsMonBefore:: @ 827DEA5 .string "It worked as much as\n" .string "POKéMON before it.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DED9:: @ 827DED9 +gText_MonsAppealDidNotGoWell:: @ 827DED9 .string "{STR_VAR_1}'s appeal did\n" .string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DF02:: @ 827DF02 +gText_WorkedAsMuchAsPrecedingMon:: @ 827DF02 .string "It worked as much as the\n" .string "preceding POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DF3A:: @ 827DF3A +gText_MonsAppealDidNotGoWell2:: @ 827DF3A .string "{STR_VAR_1}'s appeal did\n" .string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DF63:: @ 827DF63 +gText_MonsAppealDidNotGoWell3:: @ 827DF63 .string "{STR_VAR_1}'s appeal did\n" .string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DF8C:: @ 827DF8C +gText_MonsAppealWentSlightlyWell:: @ 827DF8C .string "{STR_VAR_1}'s appeal\n" .string "went slightly well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DFB8:: @ 827DFB8 +gText_MonsAppealWentPrettyWell:: @ 827DFB8 .string "{STR_VAR_1}'s appeal\n" .string "went pretty well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827DFE2:: @ 827DFE2 +gText_MonsAppealWentExcellently:: @ 827DFE2 .string "{STR_VAR_1}'s appeal\n" .string "went excellently.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827E00C:: @ 827E00C +gText_MonsAppealWasDud:: @ 827E00C .string "{STR_VAR_1}'s appeal was\n" .string "a dud.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827E02F:: @ 827E02F +gText_MonsAppealDidNotWorkVeryWell:: @ 827E02F .string "{STR_VAR_1}'s appeal did\n" .string "not work very well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827E05F:: @ 827E05F +gText_MonsAppealWentSlightlyWell2:: @ 827E05F .string "{STR_VAR_1}'s appeal\n" .string "went slightly well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827E08B:: @ 827E08B +gText_MonsAppealWentPrettyWell2:: @ 827E08B .string "{STR_VAR_1}'s appeal\n" .string "went pretty well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827E0B5:: @ 827E0B5 +gText_MonsAppealWentVeryWell:: @ 827E0B5 .string "{STR_VAR_1}'s appeal\n" .string "went very well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827E0DD:: @ 827E0DD +gText_MonsAppealWentExcellently2:: @ 827E0DD .string "{STR_VAR_1}'s appeal\n" .string "went excellently.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827E107:: @ 827E107 +gText_SameTypeAsOneBeforeGood:: @ 827E107 .string "It's the same type as the\n" .string "POKéMON before--good!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827E143:: @ 827E143 +gText_NotSameTypeAsOneBeforeGood:: @ 827E143 .string "It's not the same type as\n" .string "the one before--good!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827E17F:: @ 827E17F +gText_StoodOutMuchMoreThanMonBefore:: @ 827E17F .string "It stood out much more\n" .string "than the POKéMON before.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827E1BB:: @ 827E1BB +gText_DidntDoAsWellAsMonBefore:: @ 827E1BB .string "It didn't do as well as the\n" .string "POKéMON before.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827E1F3:: @ 827E1F3 +gText_MonsConditionRoseAboveUsual:: @ 827E1F3 .string "{STR_VAR_1}'s condition\n" .string "rose above usual.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827E220:: @ 827E220 +gText_MonsHotStatusMadeGreatAppeal:: @ 827E220 .string "{STR_VAR_1}'s hot status\n" .string "made it a great appeal!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827E254:: @ 827E254 +gText_MovedUpInLineForNextAppeal:: @ 827E254 .string "It moved up in line for\n" .string "the next appeal.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827E289:: @ 827E289 +gText_MovedBackInLineForNextAppeal:: @ 827E289 .string "It moved back in line once\n" .string "for the next appeal.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_827E2C5:: @ 827E2C5 +gText_ScrambledUpOrderForNextTurn:: @ 827E2C5 .string "It scrambled up the\n" .string "order for the next turn.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" -gText_0827E2FE:: @ 827E2FE +gText_JudgeLookedAtMonExpectantly:: @ 827E2FE .string "The JUDGE looked at\n" .string "{STR_VAR_1} expectantly.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E32E:: @ 827E32E +gText_AppealComboWentOverWell:: @ 827E32E .string "The appeal combo went\n" .string "over well.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E35B:: @ 827E35B +gText_AppealComboWentOverVeryWell:: @ 827E35B .string "The appeal combo went\n" .string "over very well.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E38D:: @ 827E38D +gText_AppealComboWentOverExcellently:: @ 827E38D .string "The appeal combo went\n" .string "over excellently.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E3C1:: @ 827E3C1 +gText_MonManagedToAvertGaze:: @ 827E3C1 .string "{STR_VAR_1} managed to\n" .string "avert its gaze.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E3EB:: @ 827E3EB +gText_MonManagedToAvoidSeeingIt:: @ 827E3EB .string "{STR_VAR_1} managed to\n" .string "avoid seeing it.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E416:: @ 827E416 +gText_MonIsntFazedByThatSortOfThing:: @ 827E416 .string "{STR_VAR_1} isn't fazed\n" .string "by that sort of thing.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E448:: @ 827E448 +gText_MonBecameALittleDistracted:: @ 827E448 .string "{STR_VAR_1} became a\n" .string "little distracted.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E473:: @ 827E473 +gText_TriedToStartleOtherPokemon:: @ 827E473 .string "It tried to startle the\n" .string "other POKéMON.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E4A6:: @ 827E4A6 +gText_MonLookedDownOutOfDistraction:: @ 827E4A6 .string "{STR_VAR_1} looked down\n" .string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E4D5:: @ 827E4D5 +gText_MonTurnedBackOutOfDistraction:: @ 827E4D5 .string "{STR_VAR_1} turned back\n" .string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E504:: @ 827E504 +gText_MonCouldntHelpUtteringCry:: @ 827E504 .string "{STR_VAR_1} couldn't help\n" .string "uttering a cry.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E531:: @ 827E531 +gText_MonCouldntHelpLeapingUp:: @ 827E531 .string "{STR_VAR_1} couldn't help\n" .string "leaping up.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E55A:: @ 827E55A +gText_MonTrippedOutOfDistraction:: @ 827E55A .string "{STR_VAR_1} tripped over\n" .string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E58A:: @ 827E58A +gText_MonWasTooNervousToMove:: @ 827E58A .string "{STR_VAR_1} was too\n" .string "nervous to move.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E5B2:: @ 827E5B2 +gText_ButItMessedUp2:: @ 827E5B2 .string "But it messed up.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E5D0:: @ 827E5D0 +gText_ButItFailedToMakeTargetNervous:: @ 827E5D0 .string "But it failed to make\n" .string "the target nervous.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E606:: @ 827E606 +gText_ButItFailedToMakeAnyoneNervous:: @ 827E606 .string "But it failed to make\n" .string "anyone nervous.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E638:: @ 827E638 +gText_ButItWasIgnored:: @ 827E638 .string "But it was ignored…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E658:: @ 827E658 +gText_CouldntImproveItsCondition:: @ 827E658 .string "But it couldn't improve\n" .string "its condition…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E68B:: @ 827E68B +gText_BadConditionResultedInWeakAppeal:: @ 827E68B .string "Its bad condition\n" .string "resulted in a weak appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E6C4:: @ 827E6C4 +gText_MonWasUnaffected:: @ 827E6C4 .string "{STR_VAR_1} was\n" .string "unaffected.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" @@ -637,31 +644,31 @@ gText_RepeatedAppeal:: @ 827E6E3 .string "{STR_VAR_1} disappointed\n" .string "by repeating an appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E717:: @ 827E717 +gText_MonsXWentOverGreat:: @ 827E717 .string "{STR_VAR_1}'s {STR_VAR_3}\n" .string "went over great.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E73C:: @ 827E73C +gText_MonsXDidntGoOverWell:: @ 827E73C .string "{STR_VAR_1}'s {STR_VAR_3}\n" .string "didn't go over well here…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E76A:: @ 827E76A +gText_MonsXGotTheCrowdGoing:: @ 827E76A .string "{STR_VAR_1}'s {STR_VAR_3}\n" .string "got the crowd going.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E793:: @ 827E793 +gText_MonCantAppealNextTurn:: @ 827E793 .string "{STR_VAR_1} can't appeal\n" .string "next turn…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E7BA:: @ 827E7BA +gText_AttractedCrowdsAttention:: @ 827E7BA .string "It attracted the crowd's\n" .string "attention.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E7EA:: @ 827E7EA +gText_CrowdContinuesToWatchMon:: @ 827E7EA .string "The crowd continues to\n" .string "watch {STR_VAR_3}.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -gText_0827E817:: @ 827E817 +gText_MonsMoveIsIgnored:: @ 827E817 .string "{STR_VAR_1}'s\n" .string "{STR_VAR_2} is ignored.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" @@ -680,38 +687,39 @@ gText_Contest_Hesitancy:: @ 827E850 gText_Contest_Fear:: @ 827E85A .string "fear$" -gText_0827E85F:: @ 827E85F +gText_Contest_Coolness:: @ 827E85F .string "coolness$" -gText_0827E868:: @ 827E868 +gText_Contest_Beauty:: @ 827E868 .string "beauty$" -gText_0827E86F:: @ 827E86F +gText_Contest_Cuteness:: @ 827E86F .string "cuteness$" -gText_0827E878:: @ 827E878 +gText_Contest_Smartness:: @ 827E878 .string "smartness$" -gText_0827E882:: @ 827E882 +gText_Contest_Toughness:: @ 827E882 .string "toughness$" -gText_0827E88C:: @ 827E88C +@ Unused +gText_Tension:: @ 827E88C .string "TENSION$" -gText_0827E894:: @ 827E894 +gText_CoolMove:: @ 827E894 .string "COOL Move$" -gText_0827E89E:: @ 827E89E +gText_BeautyMove:: @ 827E89E .string "BEAUTY Move$" -gText_0827E8AA:: @ 827E8AA +gText_CuteMove:: @ 827E8AA .string "CUTE Move$" -gText_0827E8B4:: @ 827E8B4 +gText_SmartMove:: @ 827E8B4 .string "SMART Move$" -gText_0827E8BF:: @ 827E8BF +gText_ToughMove:: @ 827E8BF .string "TOUGH Move$" -gText_0827E8CA:: @ 827E8CA +gText_3QuestionMarks:: @ 827E8CA .string "???$" diff --git a/data/text/eon_ticket.inc b/data/text/event_ticket_1.inc similarity index 61% rename from data/text/eon_ticket.inc rename to data/text/event_ticket_1.inc index d436f2df1d..da4d525f64 100644 --- a/data/text/eon_ticket.inc +++ b/data/text/event_ticket_1.inc @@ -1,16 +1,16 @@ -LilycoveCity_Harbor_Text_2A6848: @ 82A6848 +EventTicket_Text_ShowOldSeaMap: @ 82A6848 .string "The ferry to SLATEPORT is…\p" .string "I beg your pardon?\n" .string "Can we sail to this place on the map?\p" .string "I know someone who will help you better.\n" .string "Please wait.$" -LilycoveCity_Harbor_Text_2A68D2: @ 82A68D2 +EventTicket_Text_ThatPass: @ 82A68D2 .string "The ferry to SLATEPORT is…\p" .string "Oh?\n" .string "That PASS…$" -LilycoveCity_Harbor_Text_2A68FC: @ 82A68FC +EventTicket_Text_ShowEonTicket: @ 82A68FC .string "Aye, mate, are you the one who brought\n" .string "that mighty odd PASS?\p" .string "I'll tell you, you're trying to reach a\n" @@ -20,29 +20,22 @@ LilycoveCity_Harbor_Text_2A68FC: @ 82A68FC .string "That shivers my timbers!\p" .string "All aboard!$" -SouthernIsland_Exterior_Text_2A69F1: @ 82A69F1 +EventTicket_Text_SouthernIslandSailBack: @ 82A69F1 .string "Aye, mate, there's nothing here to\n" .string "see or do on this forgettable island.\p" .string "What say we sail back to LILYCOVE?$" -BirthIsland_Harbor_Text_2A6A5D: @ 82A6A5D -FarawayIsland_Entrance_Text_2A6A5D: @ 82A6A5D -NavelRock_Harbor_Text_2A6A5D: @ 82A6A5D -SouthernIsland_Exterior_Text_2A6A5D: @ 82A6A5D +EventTicket_Text_SailHome: @ 82A6A5D .string "Aye, right, then!\n" .string "Sail home we will!$" -BirthIsland_Harbor_Text_2A6A82: @ 82A6A82 -FarawayIsland_Entrance_Text_2A6A82: @ 82A6A82 -LilycoveCity_Harbor_Text_2A6A82: @ 82A6A82 -NavelRock_Harbor_Text_2A6A82: @ 82A6A82 -SouthernIsland_Exterior_Text_2A6A82: @ 82A6A82 +EventTicket_Text_AsYouLike: @ 82A6A82 .string "Aye, right, as you like, then.$" -SouthernIsland_Interior_Text_2A6AA1: @ 82A6AA1 +SouthernIsland_Interior_Text_Sign: @ 82A6AA1 .string "“All dreams are but another reality.\n" .string "Never forget…”$" -SouthernIsland_Exterior_Text_2A6AD5: @ 82A6AD5 +SouthernIsland_Exterior_Text_Sign: @ 82A6AD5 .string "“Those whose memories fade seek to\n" .string "carve them in their hearts…”$" diff --git a/data/text/event_ticket_2.inc b/data/text/event_ticket_2.inc new file mode 100644 index 0000000000..e081edbd95 --- /dev/null +++ b/data/text/event_ticket_2.inc @@ -0,0 +1,71 @@ +EventTicket_Text_OldSeaMapTooFar: @ 82C68A5 + .string "What's up, youngster?\p" + .string "What, it's you who's supposed to have\n" + .string "a tattered old map?\p" + .string "Let's have a look.\n" + .string "… … … … … …\p" + .string "Boy, this is quite a ways away.\n" + .string "I'm afraid I can't help you…$" + +EventTicket_Text_BrineyHoldOnASecond: @ 82C6951 + .string "BRINEY: Hold on a second!\p" + .string "What's the idea of turning down\n" + .string "someone that I owe so much to?$" + +EventTicket_Text_BrineyLetsSail: @ 82C69AA + .string "{PLAYER}{KUN}, I'm terribly sorry.\p" + .string "You came to me seeking my help,\n" + .string "and we almost turned you away.\p" + .string "Well, let me make things right.\p" + .string "We'll sail right away, of course!\p" + .string "Let's find this island on\n" + .string "this OLD SEA MAP!$" + +EventTicket_Text_OddTicketGetOnBoard: @ 82C6A71 + .string "Is it you who brought that odd\n" + .string "ticket?\p" + .string "Where you're trying to go is an island\n" + .string "that's far, far away.\p" + .string "No one knows what awaits there…\p" + .string "The very thought excites my blood\n" + .string "as a sailing man!\p" + .string "Get on board, youngster!$" + +FarawayIsland_Entrance_Text_SailorReturn: @ 82C6B42 + .string "CAPT. BRINEY can be so maddeningly\n" + .string "fickle…\p" + .string "Do you want to return to LILYCOVE?$" + +BirthIsland_Harbor_Text_SailorReturn: @ 82C6B90 + .string "What an oddly shaped island, eh?\n" + .string "Do you want to return to LILYCOVE?$" + +EventTicket_Text_OddTicketsWhereTo: @ 82C6BD4 + .string "Is it you who brought those\n" + .string "odd tickets?\p" + .string "… … …Hm.\p" + .string "These tickets will get you to islands\n" + .string "that are far, far away.\p" + .string "No one knows what awaits there,\n" + .string "or what may happen there.\p" + .string "The very thought excites my blood\n" + .string "as a sailing man!\p" + .string "Get on board, youngster!\n" + .string "Where shall we sail first?$" + +NavelRock_Harbor_Text_SailorReturn: @ 82C6CE6 + .string "Did… Did you hear that?\n" + .string "That low growling from deep in there.\p" + .string "Are you sure it's safe?\n" + .string "Do you think we should leave?$" + +FarawayIsland_Entrance_Text_Sign: @ 82C6D5A + .string "The writing is fading as if it was\n" + .string "written a long time ago…\p" + .string "“…ber, 6th day\n" + .string "If any human…sets foot here…\l" + .string "again…et it be a kindhearted pers…\l" + .string "…ith that hope, I depar…”$" + +FarawayIsland_Interior_Text_Mew: @ 82C6DFF + .string "Myuu…$" diff --git a/data/text/frontier_brain.inc b/data/text/frontier_brain.inc new file mode 100644 index 0000000000..3bce8076ed --- /dev/null +++ b/data/text/frontier_brain.inc @@ -0,0 +1,108 @@ +@ Battle Tower +gText_AnabelWonSilver:: @ 82C843F + .string "It's very disappointing…$" + +gText_AnabelDefeatSilver:: @ 82C8458 + .string "Okay, I understand…$" + +gText_AnabelWonGold:: @ 82C846C + .string "I'm terribly sorry…$" + +gText_AnabelDefeatGold:: @ 82C8480 + .string "Thank you…$" + +@ Battle Dome +gText_TuckerWonSilver:: @ 82C848B + .string "Ahahaha! Aren't you embarrassed?\n" + .string "Everyone's watching!$" + +gText_TuckerDefeatSilver:: @ 82C84C1 + .string "Grr…\n" + .string "What the…$" + +gText_TuckerWonGold:: @ 82C84D0 + .string "My DOME ACE title isn't just for show!$" + +gText_TuckerDefeatGold:: @ 82C84F7 + .string "Ahahaha!\n" + .string "You're inspiring!$" + +@ Battle Factory +gText_NolandWonSilver:: @ 82C8512 + .string "Way to work!\n" + .string "That was a good lesson, eh?$" + +gText_NolandDefeatSilver:: @ 82C853B + .string "Good job!\n" + .string "You know what you're doing!$" + +gText_NolandWonGold:: @ 82C8561 + .string "Hey, hey, hey!\n" + .string "You're finished already?$" + +gText_NolandDefeatGold:: @ 82C8589 + .string "What happened here?$" + +@ Battle Pike +gText_LucyWonSilver:: @ 82C859D + .string "Humph…$" + +gText_LucyDefeatSilver:: @ 82C85A4 + .string "Urk…$" + +gText_LucyWonGold:: @ 82C85A9 + .string "Hah!$" + +gText_LucyDefeatGold:: @ 82C85AE + .string "Darn!$" + +@ Battle Arena +gText_GretaWonSilver:: @ 82C85B4 + .string "Oh, come on!\n" + .string "You have to try harder than that!$" + +gText_GretaDefeatSilver:: @ 82C85E3 + .string "No way!\n" + .string "Good job!$" + +gText_GretaWonGold:: @ 82C85F5 + .string "Heheh!\n" + .string "What did you expect?$" + +gText_GretaDefeatGold:: @ 82C8611 + .string "Huh?\n" + .string "Are you serious?!$" + +@ Battle Palace +gText_SpenserWonSilver:: @ 82C8628 + .string "Your POKéMON are wimpy because\n" + .string "you're wimpy as a TRAINER!$" + +gText_SpenserDefeatSilver:: @ 82C8662 + .string "Ah…\n" + .string "Now this is something else…$" + +gText_SpenserWonGold:: @ 82C8682 + .string "Gwahahaha!\n" + .string "My brethren, we have nothing to fear!$" + +gText_SpenserDefeatGold:: @ 82C86B3 + .string "Gwah!\n" + .string "Hahahaha!$" + +@ Battle Pyramid +gText_BrandonWonSilver:: @ 82C86C3 + .string "Hey! What's wrong with you!\n" + .string "Let's see some effort! Get up!$" + +gText_BrandonDefeatSilver:: @ 82C86FE + .string "That's it! You've done great!\n" + .string "You've worked hard for this!$" + +gText_BrandonWonGold:: @ 82C8739 + .string "Hey! Don't you give up now!\n" + .string "Get up! Don't lose faith in yourself!$" + +gText_BrandonDefeatGold:: @ 82C877B + .string "That's it! You've done it!\n" + .string "You kept working for this!$" diff --git a/data/text/lottery_corner.inc b/data/text/lottery_corner.inc index 674fed52e6..102e6b4a27 100644 --- a/data/text/lottery_corner.inc +++ b/data/text/lottery_corner.inc @@ -1,4 +1,4 @@ -LilycoveCity_DepartmentStore_1F_Text_2A6390: @ 82A6390 +LilycoveCity_DepartmentStore_1F_Text_LotteryCornerDrawTicket: @ 82A6390 .string "This is the POKéMON LOTTERY CORNER.\p" .string "All shoppers at our DEPARTMENT STORE\n" .string "get to draw a POKéMON LOTO TICKET.\p" @@ -8,70 +8,70 @@ LilycoveCity_DepartmentStore_1F_Text_2A6390: @ 82A6390 .string "Would you like to draw a POKéMON\n" .string "LOTO TICKET?$" -LilycoveCity_DepartmentStore_1F_Text_2A6496: @ 82A6496 +LilycoveCity_DepartmentStore_1F_Text_ComeBackTomorrow: @ 82A6496 .string "Please come back tomorrow.$" -LilycoveCity_DepartmentStore_1F_Text_2A64B1: @ 82A64B1 +LilycoveCity_DepartmentStore_1F_Text_PleaseVisitAgain: @ 82A64B1 .string "Please do visit again.$" -LilycoveCity_DepartmentStore_1F_Text_2A64C8: @ 82A64C8 +LilycoveCity_DepartmentStore_1F_Text_PleasePickTicket: @ 82A64C8 .string "Please pick a LOTO TICKET.\n" .string "…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" -LilycoveCity_DepartmentStore_1F_Text_2A650B: @ 82A650B +LilycoveCity_DepartmentStore_1F_Text_TicketNumberIsXPleaseWait: @ 82A650B .string "The LOTO TICKET number is {STR_VAR_1}.\p" .string "I need to run a check on this number\n" .string "to see if it matches any of your\l" .string "POKéMON's ID numbers. Please wait.$" -LilycoveCity_DepartmentStore_1F_Text_2A6592: @ 82A6592 +LilycoveCity_DepartmentStore_1F_Text_TicketMatchesPartyMon: @ 82A6592 .string "Congratulations!\p" .string "The ID number of your team's\n" .string "{STR_VAR_1} matches your\l" .string "LOTO TICKET's number!$" -LilycoveCity_DepartmentStore_1F_Text_2A65E6: @ 82A65E6 +LilycoveCity_DepartmentStore_1F_Text_TicketMatchesPCMon: @ 82A65E6 .string "Congratulations!\p" .string "The ID number of your PC-boxed\n" .string "{STR_VAR_1} matches your\l" .string "LOTO TICKET's number!$" -LilycoveCity_DepartmentStore_1F_Text_2A663C: @ 82A663C +LilycoveCity_DepartmentStore_1F_Text_NoNumbersMatched: @ 82A663C .string "I'm sorry.\n" .string "None of the numbers matched.$" -LilycoveCity_DepartmentStore_1F_Text_2A6664: @ 82A6664 +LilycoveCity_DepartmentStore_1F_Text_TwoDigitsMatched: @ 82A6664 .string "Two digits matched, so you win the\n" .string "third prize!\l" .string "You've won the {STR_VAR_1}!$" -LilycoveCity_DepartmentStore_1F_Text_2A66A7: @ 82A66A7 +LilycoveCity_DepartmentStore_1F_Text_ThreeDigitsMatched: @ 82A66A7 .string "Three digits matched, so you win the\n" .string "second prize!\l" .string "You've won the {STR_VAR_1}!$" -LilycoveCity_DepartmentStore_1F_Text_2A66ED: @ 82A66ED +LilycoveCity_DepartmentStore_1F_Text_FourDigitsMatched: @ 82A66ED .string "Four digits matched, so you win the\n" .string "first prize!\l" .string "You've won the {STR_VAR_1}!$" -LilycoveCity_DepartmentStore_1F_Text_2A6731: @ 82A6731 +LilycoveCity_DepartmentStore_1F_Text_AllFiveDigitsMatched: @ 82A6731 .string "Oh, my goodness, all five digits\n" .string "matched!\p" .string "You've won the jackpot prize!\n" .string "You've won the {STR_VAR_1}!$" -LilycoveCity_DepartmentStore_1F_Text_2A678C: @ 82A678C +LilycoveCity_DepartmentStore_1F_Text_NoRoomForThis: @ 82A678C .string "Oh?\n" .string "You seem to have no room for this.\p" .string "Please make room in your BAG and\n" .string "let me know.$" -LilycoveCity_DepartmentStore_1F_Text_2A67E1: @ 82A67E1 +LilycoveCity_DepartmentStore_1F_Text_PrizeWeveBeenHolding: @ 82A67E1 .string "{PLAYER}?\n" .string "Yes, I've been expecting you.\p" .string "This is the prize we've been holding\n" .string "for you.$" -LilycoveCity_DepartmentStore_1F_Text_2A6831: @ 82A6831 +LilycoveCity_DepartmentStore_1F_Text_PleaseVisitAgain2: @ 82A6831 .string "Please do visit again.$" diff --git a/data/text/mart_clerk.inc b/data/text/mart_clerk.inc new file mode 100644 index 0000000000..2357963be8 --- /dev/null +++ b/data/text/mart_clerk.inc @@ -0,0 +1,10 @@ +gText_HowMayIServeYou:: @ 8272A21 + .string "Welcome!\p" + .string "How may I serve you?$" + +gText_PleaseComeAgain:: @ 8272A3F + .string "Please come again!$" + +gText_PlayerWhatCanIDoForYou:: @ 8272A52 + .string "{PLAYER}{STRING 5}, welcome!\p" + .string "What can I do for you?$" diff --git a/data/text/match_call.inc b/data/text/match_call.inc index 376f36750f..568ed2a867 100644 --- a/data/text/match_call.inc +++ b/data/text/match_call.inc @@ -2014,7 +2014,7 @@ MatchCall_BattlePyramidText14:: @ 82B21FC .string "You're an inspiration!\n" .string "See you again!$" -gText_Mom_Pokenav_2B227B:: @ 82B227B +MatchCall_Text_Mom1:: @ 82B227B .string "MOM: Your father and you…\n" .string "Everyone is captivated by POKéMON.\p" .string "What is the charm of POKéMON?\p" @@ -2022,7 +2022,7 @@ gText_Mom_Pokenav_2B227B:: @ 82B227B .string "I adore POKéMON that help me with\l" .string "my everyday chores.$" -gText_Mom_Pokenav_2B2310:: @ 82B2310 +MatchCall_Text_Mom2:: @ 82B2310 .string "MOM: Hi, {PLAYER}!\n" .string "Your father keeps himself locked\l" .string "away in the PETALBURG GYM.\p" @@ -2032,13 +2032,13 @@ gText_Mom_Pokenav_2B2310:: @ 82B2310 .string "I'm guessing that losing to you\n" .string "was a big blow to his pride!$" -gText_Mom_Pokenav_2B23F3:: @ 82B23F3 +MatchCall_Text_Mom3:: @ 82B23F3 .string "MOM: {PLAYER}…\n" .string "Don't worry about me or the house.\p" .string "Wear those RUNNING SHOES until\n" .string "they fall apart, honey!$" -gText_Roxanne_Pokenav_2B2456:: @ 82B2456 +MatchCall_Text_Roxanne1:: @ 82B2456 .string "ROXANNE: Oh, hello, {PLAYER}!\p" .string "I've been hard at work retraining\n" .string "since we met.\p" @@ -2047,7 +2047,7 @@ gText_Roxanne_Pokenav_2B2456:: @ 82B2456 .string "But when I do, please visit my GYM\n" .string "for a rematch!$" -gText_Roxanne_Pokenav_2B250E:: @ 82B250E +MatchCall_Text_Roxanne2:: @ 82B250E .string "ROXANNE: Is this {PLAYER}?\n" .string "Congratulations!\l" .string "I've been hearing about you!\p" @@ -2056,18 +2056,18 @@ gText_Roxanne_Pokenav_2B250E:: @ 82B250E .string "But when I do, please visit my GYM\n" .string "for a rematch!$" -gText_Roxanne_Pokenav_2B25C1:: @ 82B25C1 +MatchCall_Text_Roxanne3:: @ 82B25C1 .string "ROXANNE: {PLAYER}!\n" .string "My GYM is ready!\p" .string "Please visit RUSTBORO whenever\n" .string "you can!$" -gText_Roxanne_Pokenav_2B2607:: @ 82B2607 +MatchCall_Text_Roxanne4:: @ 82B2607 .string "ROXANNE: At the RUSTBORO GYM,\n" .string "the fact that we battled, {PLAYER},\l" .string "is a matter of pride.$" -gText_Brawly_Pokenav_2B2659:: @ 82B2659 +MatchCall_Text_Brawly1:: @ 82B2659 .string "BRAWLY: Hey, there, {PLAYER}{KUN}!\p" .string "I learned a lot from the battle we\n" .string "had together.\p" @@ -2078,7 +2078,7 @@ gText_Brawly_Pokenav_2B2659:: @ 82B2659 .string "But if I can reopen the GYM,\n" .string "I want you to challenge us again.$" -gText_Brawly_Pokenav_2B275D:: @ 82B275D +MatchCall_Text_Brawly2:: @ 82B275D .string "BRAWLY: Hey, {PLAYER}{KUN}!\n" .string "Congratulations!\p" .string "Word about your exploits arrived\n" @@ -2090,17 +2090,17 @@ gText_Brawly_Pokenav_2B275D:: @ 82B275D .string "But if I can reopen the GYM,\n" .string "I want you to challenge us again.$" -gText_Brawly_Pokenav_2B286F:: @ 82B286F +MatchCall_Text_Brawly3:: @ 82B286F .string "BRAWLY: Hey, {PLAYER}{KUN}!\n" .string "My GYM's ready for action!\p" .string "Come back to DEWFORD anytime\n" .string "for another challenge!$" -gText_Brawly_Pokenav_2B28D1:: @ 82B28D1 +MatchCall_Text_Brawly4:: @ 82B28D1 .string "BRAWLY: {PLAYER}{KUN}, I don't think\n" .string "I'll ever get bored of battling you!$" -gText_Wattson_Pokenav_2B2912:: @ 82B2912 +MatchCall_Text_Wattson1:: @ 82B2912 .string "WATTSON: Oh, it's you!\p" .string "After you left, I've been redoing\n" .string "my training from scratch.\p" @@ -2109,7 +2109,7 @@ gText_Wattson_Pokenav_2B2912:: @ 82B2912 .string "You'll have to wait till then!\n" .string "Wahahahaha!$" -gText_Wattson_Pokenav_2B29CA:: @ 82B29CA +MatchCall_Text_Wattson2:: @ 82B29CA .string "WATTSON: Wahahahaha!\p" .string "You've really done it, haven't you?\n" .string "I've been getting word about you!\p" @@ -2120,18 +2120,18 @@ gText_Wattson_Pokenav_2B29CA:: @ 82B29CA .string "You'll have to wait till then!\n" .string "Wahahahaha!$" -gText_Wattson_Pokenav_2B2AB6:: @ 82B2AB6 +MatchCall_Text_Wattson3:: @ 82B2AB6 .string "WATTSON: Oh, it's you!\n" .string "My GYM's ready!\p" .string "Visit MAUVILLE anytime!\n" .string "Wahahahaha!$" -gText_Wattson_Pokenav_2B2B01:: @ 82B2B01 +MatchCall_Text_Wattson4:: @ 82B2B01 .string "WATTSON: Wahahaha!\p" .string "A battle with you is always charged\n" .string "with shocking power!$" -gText_Flannery_Pokenav_2B2B4D:: @ 82B2B4D +MatchCall_Text_Flannery1:: @ 82B2B4D .string "FLANNERY: {PLAYER}…\p" .string "When we battled, I learned exactly\n" .string "how immature I was.\p" @@ -2141,7 +2141,7 @@ gText_Flannery_Pokenav_2B2B4D:: @ 82B2B4D .string "When the time comes, {PLAYER},\n" .string "please challenge us again.$" -gText_Flannery_Pokenav_2B2C0E:: @ 82B2C0E +MatchCall_Text_Flannery2:: @ 82B2C0E .string "FLANNERY: Hello, {PLAYER}?\n" .string "Congratulations!\p" .string "Word of your success has reached\n" @@ -2152,44 +2152,44 @@ gText_Flannery_Pokenav_2B2C0E:: @ 82B2C0E .string "appear beside my name in the\l" .string "MATCH CALL list.$" -gText_Flannery_Pokenav_2B2CF1:: @ 82B2CF1 +MatchCall_Text_Flannery3:: @ 82B2CF1 .string "FLANNERY: Oh, {PLAYER}?\n" .string "Our GYM's ready!\p" .string "Come to LAVARIDGE for a soak\n" .string "in the hot spring and a challenge!$" -gText_Flannery_Pokenav_2B2D54:: @ 82B2D54 +MatchCall_Text_Flannery4:: @ 82B2D54 .string "FLANNERY: {PLAYER}…\n" .string "I'm positive that you keep getting\l" .string "better at training every time.$" -gText_Winona_Pokenav_2B2DA4:: @ 82B2DA4 +MatchCall_Text_Winona1:: @ 82B2DA4 .string "WINONA: Hello, {PLAYER}!\p" .string "Thanks to our battle, I've come\n" .string "to understand my weak points!\p" .string "When I reopen the GYM, I won't go\n" .string "down in defeat again!$" -gText_Winona_Pokenav_2B2E2B:: @ 82B2E2B +MatchCall_Text_Winona2:: @ 82B2E2B .string "WINONA: You've done it, {PLAYER}!\p" .string "News about the new CHAMPION\n" .string "has reached us in FORTREE!\p" .string "But… The next time we battle,\n" .string "it's not going to end the same way.$" -gText_Winona_Pokenav_2B2EC2:: @ 82B2EC2 +MatchCall_Text_Winona3:: @ 82B2EC2 .string "WINONA: Is this {PLAYER}?\n" .string "Our GYM is back in operation!\p" .string "We're waiting for you in FORTREE!$" -gText_Winona_Pokenav_2B2F16:: @ 82B2F16 +MatchCall_Text_Winona4:: @ 82B2F16 .string "WINONA: {PLAYER}…\n" .string "Though I have lost, my wings will\l" .string "never break.\p" .string "Yes, in exactly the same way that\n" .string "you never lost sight of your dream.$" -gText_TateLiza_Pokenav_2B2F97:: @ 82B2F97 +MatchCall_Text_TateLiza1:: @ 82B2F97 .string "TATE: Oh! You're…\n" .string "LIZA: {PLAYER}!\p" .string "TATE: We're in training again…\n" @@ -2199,7 +2199,7 @@ gText_TateLiza_Pokenav_2B2F97:: @ 82B2F97 .string "TATE: A mark'll appear by our name…\n" .string "LIZA: On the MATCH CALL list.$" -gText_TateLiza_Pokenav_2B306E:: @ 82B306E +MatchCall_Text_TateLiza2:: @ 82B306E .string "TATE: {PLAYER}, congratulations!\n" .string "LIZA: {PLAYER}, congratulations!\p" .string "TATE: The two of us are…\n" @@ -2209,7 +2209,7 @@ gText_TateLiza_Pokenav_2B306E:: @ 82B306E .string "TATE: A mark'll appear by our name…\n" .string "LIZA: On the MATCH CALL list.$" -gText_TateLiza_Pokenav_2B3158:: @ 82B3158 +MatchCall_Text_TateLiza3:: @ 82B3158 .string "TATE: {PLAYER}!\n" .string "LIZA: {PLAYER}!\p" .string "TATE: Our GYM is ready!\n" @@ -2217,13 +2217,13 @@ gText_TateLiza_Pokenav_2B3158:: @ 82B3158 .string "TATE: Please come visit…\n" .string "LIZA: MOSSDEEP anytime!$" -gText_TateLiza_Pokenav_2B31CD:: @ 82B31CD +MatchCall_Text_TateLiza4:: @ 82B31CD .string "TATE: {PLAYER}, the battle we had…\n" .string "LIZA: Is an invaluable experience.\p" .string "TATE: It would be nice if…\n" .string "LIZA: We could all battle again!$" -gText_Juan_Pokenav_2B3249:: @ 82B3249 +MatchCall_Text_Juan1:: @ 82B3249 .string "JUAN: Hmm…\n" .string "{PLAYER}{KUN}… Was it?\p" .string "Our battle together--it brought\n" @@ -2232,7 +2232,7 @@ gText_Juan_Pokenav_2B3249:: @ 82B3249 .string "Perhaps you are a genius who may\n" .string "yet surpass WALLACE!$" -gText_Juan_Pokenav_2B32EC:: @ 82B32EC +MatchCall_Text_Juan2:: @ 82B32EC .string "JUAN: Fufu… {PLAYER}{KUN}…\n" .string "You've finally achieved your goal.\p" .string "My eye for appraising talent wasn't\n" @@ -2241,14 +2241,14 @@ gText_Juan_Pokenav_2B32EC:: @ 82B32EC .string "you, for you have scaled the peak\l" .string "of power and prestige.$" -gText_Juan_Pokenav_2B33AA:: @ 82B33AA +MatchCall_Text_Juan3:: @ 82B33AA .string "JUAN: Hoho… {PLAYER}{KUN}…\p" .string "Our SOOTOPOLIS GYM has finally\n" .string "reopened.\p" .string "If you wish to see me, you are\n" .string "welcome to visit anytime.$" -gText_Juan_Pokenav_2B341E:: @ 82B341E +MatchCall_Text_Juan4:: @ 82B341E .string "JUAN: {PLAYER}{KUN}…\p" .string "Like the finest music, the battles\n" .string "we wage together strike chords\l" @@ -2256,7 +2256,7 @@ gText_Juan_Pokenav_2B341E:: @ 82B341E .string "When I close my eyes, I see visions\n" .string "of you soaring with the melody…$" -gText_Sidney_Pokenav_2B34CC:: @ 82B34CC +MatchCall_Text_Sidney:: @ 82B34CC .string "SIDNEY: Yo, {PLAYER}!\p" .string "If you want to battle with me\n" .string "again, you come on back whenever\l" @@ -2264,7 +2264,7 @@ gText_Sidney_Pokenav_2B34CC:: @ 82B34CC .string "I'll always be here!\n" .string "I'll be waiting!$" -gText_Phoebe_Pokenav_2B3561:: @ 82B3561 +MatchCall_Text_Phoebe:: @ 82B3561 .string "PHOEBE: Hi, {PLAYER}!\p" .string "How about coming back here again\n" .string "sometime?\p" @@ -2272,7 +2272,7 @@ gText_Phoebe_Pokenav_2B3561:: @ 82B3561 .string "your bond has grown with your\l" .string "POKéMON.$" -gText_Glacia_Pokenav_2B35E4:: @ 82B35E4 +MatchCall_Text_Glacia:: @ 82B35E4 .string "GLACIA: Hello, {PLAYER}.\p" .string "I trust you haven't become\n" .string "complacent with your power?\p" @@ -2280,7 +2280,7 @@ gText_Glacia_Pokenav_2B35E4:: @ 82B35E4 .string "hot emotions just a little, do come\l" .string "to the POKéMON LEAGUE…$" -gText_Drake_Pokenav_2B368B:: @ 82B368B +MatchCall_Text_Drake:: @ 82B368B .string "DRAKE: That voice… {PLAYER}, is it?\n" .string "You sound well…\p" .string "I understand that there is now\n" @@ -2292,7 +2292,7 @@ gText_Drake_Pokenav_2B368B:: @ 82B368B .string "the POKéMON LEAGUE!\p" .string "Don't you agree, {PLAYER}?$" -gText_Wallace_Pokenav_2B3790:: @ 82B3790 +MatchCall_Text_Wallace:: @ 82B3790 .string "WALLACE: Hello, {PLAYER}{KUN}.\n" .string "Have you met STEVEN?\p" .string "He is…\n" @@ -2306,7 +2306,7 @@ gText_Wallace_Pokenav_2B3790:: @ 82B3790 .string "But what is a rare stone exactly?\n" .string "All I can think of is a METEORITE…$" -MossdeepCity_SpaceCenter_2F_Text_2B38C1: @ 82B38C1 +MatchCall_Text_MayRayquazaCall: @ 82B38C1 .string "… … … … … …\n" .string "… … … … … Beep!\p" .string "MAY: Hi, {PLAYER}{KUN}!\p" @@ -2321,7 +2321,7 @@ MossdeepCity_SpaceCenter_2F_Text_2B38C1: @ 82B38C1 .string "… … … … … …\n" .string "… … … … … Click!$" -MossdeepCity_SpaceCenter_2F_Text_2B39C6: @ 82B39C6 +MatchCall_Text_BrendanRayquazaCall: @ 82B39C6 .string "… … … … … …\n" .string "… … … … … Beep!\p" .string "BRENDAN: Hey, {PLAYER}!\n" @@ -2335,14 +2335,14 @@ MossdeepCity_SpaceCenter_2F_Text_2B39C6: @ 82B39C6 .string "… … … … … …\n" .string "… … … … … Click!$" -gText_May_Pokenav_2B3AB3:: @ 2B3AB3 +MatchCall_Text_May1:: @ 2B3AB3 .string "MAY: Hi, {PLAYER}{KUN}!\p" .string "MR. BRINEY retired as a SAILOR,\n" .string "but I still see him out on the sea\l" .string "with his pet PEEKO sometimes.\p" .string "He must love the sea still.$" -gText_May_Pokenav_2B3B3F:: @ 2B3B3F +MatchCall_Text_May2:: @ 2B3B3F .string "MAY: Hi, {PLAYER}{KUN}!\p" .string "You know how little towns like\n" .string "PETALBURG and DEWFORD have GYMS?\p" @@ -2351,7 +2351,7 @@ gText_May_Pokenav_2B3B3F:: @ 2B3B3F .string "When they finally build a GYM there,\n" .string "I should apply to be the LEADER.$" -gText_May_Pokenav_2B3C13:: @ 2B3C13 +MatchCall_Text_May3:: @ 2B3C13 .string "MAY: Hi, {PLAYER}{KUN}!\p" .string "Do you remember a man named\n" .string "the CUTTER in RUSTBORO?\l" @@ -2363,13 +2363,13 @@ gText_May_Pokenav_2B3C13:: @ 2B3C13 .string "… … … … … …\p" .string "The ROCK SMASH GUY!$" -gText_May_Pokenav_2B3CF3:: @ 2B3CF3 +MatchCall_Text_May4:: @ 2B3CF3 .string "MAY: {PLAYER}{KUN}?\p" .string "RUSTURF TUNNEL…\n" .string "They named it that because it\l" .string "joins RUSTBORO and VERDANTURF.$" -gText_May_Pokenav_2B3D4B:: @ 2B3D4B +MatchCall_Text_May5:: @ 2B3D4B .string "MAY: {PLAYER}{KUN}, how are you?\p" .string "I'm out on ROUTE 111 now.\p" .string "I'm going to get a rest at an old\n" @@ -2377,7 +2377,7 @@ gText_May_Pokenav_2B3D4B:: @ 2B3D4B .string "She lives just north of\n" .string "the desert.$" -gText_May_Pokenav_2B3DD1:: @ 2B3DD1 +MatchCall_Text_May6:: @ 2B3DD1 .string "MAY: Hi, {PLAYER}{KUN}!\p" .string "Did you know about the MIRAGE\n" .string "TOWER in the desert?\p" @@ -2385,21 +2385,21 @@ gText_May_Pokenav_2B3DD1:: @ 2B3DD1 .string "to mysteriously come and go.\p" .string "I wish I could see it.$" -gText_May_Pokenav_2B3E69:: @ 2B3E69 +MatchCall_Text_May7:: @ 2B3E69 .string "MAY: {PLAYER}{KUN}, yahoo!\n" .string "I'm on ROUTE 119 now.\p" .string "There's a big river here, and\n" .string "it often rains.\p" .string "I got soaked!$" -gText_May_Pokenav_2B3ECD:: @ 2B3ECD +MatchCall_Text_May8:: @ 2B3ECD .string "MAY: {PLAYER}{KUN}, hi.\p" .string "MT. PYRE is a memorial to POKéMON\n" .string "whose lives have ended.\p" .string "Maybe as a result, it's infested\n" .string "with many GHOST-type POKéMON!$" -gText_May_Pokenav_2B3F2B:: @ 2B3F2B +MatchCall_Text_May9:: @ 2B3F2B .string "MAY: Hi, {PLAYER}{KUN}!\p" .string "I was thinking of going to the hot\n" .string "spring in LAVARIDGE.\p" @@ -2407,14 +2407,14 @@ gText_May_Pokenav_2B3F2B:: @ 2B3F2B .string "PASS, I ran into some bad-looking\l" .string "characters. The mood was ugly!$" -gText_May_Pokenav_2B3FFB:: @ 2B3FFB +MatchCall_Text_May10:: @ 2B3FFB .string "MAY: Hi, {PLAYER}{KUN}!\n" .string "Did you see the news?\p" .string "They say CAPT. STERN discovered\n" .string "the SEAFLOOR CAVERN while on his\l" .string "submarine expedition.$" -gText_May_Pokenav_2B402B:: @ 2B402B +MatchCall_Text_May11:: @ 2B402B .string "MAY: Hi, {PLAYER}{KUN}!\n" .string "Don't you think it's neat?\p" .string "Even if you don't have a boat,\n" @@ -2424,7 +2424,7 @@ gText_May_Pokenav_2B402B:: @ 2B402B .string "There's a POKéMON move that lets\n" .string "you go to the bottom of the sea.$" -gText_May_Pokenav_2B414B:: @ 2B414B +MatchCall_Text_May12:: @ 2B414B .string "MAY: Hi, {PLAYER}{KUN}!\n" .string "Hope things are okay!\p" .string "Have you been on the sea and\n" @@ -2435,7 +2435,7 @@ gText_May_Pokenav_2B414B:: @ 2B414B .string "When you get to the other side,\n" .string "come up to the surface. Easy!$" -gText_May_Pokenav_2B4228:: @ 2B4228 +MatchCall_Text_May13:: @ 2B4228 .string "MAY: Hi, {PLAYER}{KUN}!\p" .string "How's it going?\n" .string "Are you filling your POKéDEX?\p" @@ -2444,7 +2444,7 @@ gText_May_Pokenav_2B4228:: @ 2B4228 .string "And there are three of them!\p" .string "I would love to see even one…$" -gText_May_Pokenav_2B42E0:: @ 2B42E0 +MatchCall_Text_May14:: @ 2B42E0 .string "MAY: {PLAYER}{KUN}!\n" .string "I heard the rumors!\p" .string "You beat the SOOTOPOLIS GYM\n" @@ -2452,7 +2452,7 @@ gText_May_Pokenav_2B42E0:: @ 2B42E0 .string "That means you don't have far\n" .string "to go, do you?$" -gText_May_Pokenav_2B4350:: @ 2B4350 +MatchCall_Text_May15:: @ 2B4350 .string "MAY: There isn't a single TRAINER\n" .string "left in HOENN who doesn't know who\l" .string "you are, {PLAYER}{KUN}!\p" @@ -2460,7 +2460,7 @@ gText_May_Pokenav_2B4350:: @ 2B4350 .string "with you, {PLAYER}{KUN}, they're all\l" .string "surprised!$" -gText_Brendan_Pokenav_2B43EF:: @ 2B43EF +MatchCall_Text_Brendan1:: @ 2B43EF .string "BRENDAN: Hey, {PLAYER}!\p" .string "MR. BRINEY retired as a SAILOR,\n" .string "but I still see him out on the sea\l" @@ -2468,7 +2468,7 @@ gText_Brendan_Pokenav_2B43EF:: @ 2B43EF .string "I guess he must love\n" .string "the sea still.$" -gText_Brendan_Pokenav_2B4486:: @ 2B4486 +MatchCall_Text_Brendan2:: @ 2B4486 .string "BRENDAN: Hey, {PLAYER}!\p" .string "I don't get how little towns like\n" .string "PETALBURG and DEWFORD have GYMS.\p" @@ -2477,7 +2477,7 @@ gText_Brendan_Pokenav_2B4486:: @ 2B4486 .string "When they finally build a GYM there,\n" .string "I should apply to be the LEADER.$" -gText_Brendan_Pokenav_2B4560:: @ 2B4560 +MatchCall_Text_Brendan3:: @ 2B4560 .string "BRENDAN: Yo, {PLAYER}!\p" .string "Do you remember a guy named\n" .string "the CUTTER in RUSTBORO?\l" @@ -2489,14 +2489,14 @@ gText_Brendan_Pokenav_2B4560:: @ 2B4560 .string "… … … … … …\p" .string "The ROCK SMASH GUY!$" -gText_Brendan_Pokenav_2B463F:: @ 2B463F +MatchCall_Text_Brendan4:: @ 2B463F .string "BRENDAN: This voice… {PLAYER}?\p" .string "They gave RUSTURF TUNNEL its name\n" .string "because it joins RUSTBORO and\l" .string "VERDANTURF.\p" .string "Did you know that?$" -gText_Brendan_Pokenav_2B46B7:: @ 2B46B7 +MatchCall_Text_Brendan5:: @ 2B46B7 .string "BRENDAN: {PLAYER}, what's up?\p" .string "Hey, I'm out on ROUTE 111 now.\p" .string "I'm going to rest up at an old\n" @@ -2504,7 +2504,7 @@ gText_Brendan_Pokenav_2B46B7:: @ 2B46B7 .string "If you're in the area, you should\n" .string "visit her, too.$" -gText_Brendan_Pokenav_2B4761:: @ 2B4761 +MatchCall_Text_Brendan6:: @ 2B4761 .string "BRENDAN: Hey, {PLAYER}!\p" .string "Did you know about the MIRAGE\n" .string "TOWER in the desert?\p" @@ -2512,21 +2512,21 @@ gText_Brendan_Pokenav_2B4761:: @ 2B4761 .string "seen only sometimes.\p" .string "I'd like to see that!$" -gText_Brendan_Pokenav_2B47F4:: @ 2B47F4 +MatchCall_Text_Brendan7:: @ 2B47F4 .string "BRENDAN: Who's this? Oh, {PLAYER}?\n" .string "Guess what? I'm on ROUTE 119 now.\p" .string "There's a big river here, and\n" .string "it rains all the time.\p" .string "I got soaked to the bone!$" -gText_Brendan_Pokenav_2B4882:: @ 2B4882 +MatchCall_Text_Brendan8:: @ 2B4882 .string "BRENDAN: {PLAYER}!\p" .string "MT. PYRE is a memorial to POKéMON\n" .string "whose lives have ended.\p" .string "That's probably why it's infested\n" .string "with many GHOST-type POKéMON!$" -gText_Brendan_Pokenav_2B4909:: @ 2B4909 +MatchCall_Text_Brendan9:: @ 2B4909 .string "BRENDAN: Hey there, {PLAYER}.\p" .string "I was on my way back to the hot\n" .string "spring in LAVARIDGE.\p" @@ -2535,14 +2535,14 @@ gText_Brendan_Pokenav_2B4909:: @ 2B4909 .string "Those creeps…\n" .string "I think they were TEAM MAGMA.$" -gText_Brendan_Pokenav_2B49C4:: @ 2B49C4 +MatchCall_Text_Brendan10:: @ 2B49C4 .string "BRENDAN: Hi, {PLAYER}!\n" .string "Did you catch the news?\p" .string "They say CAPT. STERN discovered\n" .string "the SEAFLOOR CAVERN while on his\l" .string "submarine expedition.$" -gText_Brendan_Pokenav_2B4A44:: @ 2B4A44 +MatchCall_Text_Brendan11:: @ 2B4A44 .string "BRENDAN: Hey there, {PLAYER}!\n" .string "Don't you think it's awesome?\p" .string "Even if you don't have a boat,\n" @@ -2552,7 +2552,7 @@ gText_Brendan_Pokenav_2B4A44:: @ 2B4A44 .string "travel to the bottom of the sea.\p" .string "Man, POKéMON can do anything!$" -gText_Brendan_Pokenav_2B4B28:: @ 2B4B28 +MatchCall_Text_Brendan12:: @ 2B4B28 .string "BRENDAN: Howdy, {PLAYER}!\n" .string "How are you holding up?\p" .string "Ever found your way to the other\n" @@ -2562,7 +2562,7 @@ gText_Brendan_Pokenav_2B4B28:: @ 2B4B28 .string "When you get to the other side,\n" .string "come up to the surface. Simple!$" -gText_Brendan_Pokenav_2B4C15:: @ 2B4C15 +MatchCall_Text_Brendan13:: @ 2B4C15 .string "BRENDAN: Hey there, {PLAYER}!\p" .string "How's it going? Filling up your\n" .string "POKéDEX successfully?\p" @@ -2571,14 +2571,14 @@ gText_Brendan_Pokenav_2B4C15:: @ 2B4C15 .string "And not just one--three!\p" .string "I'd love to catch even one…$" -gText_Brendan_Pokenav_2B4CD8:: @ 2B4CD8 +MatchCall_Text_Brendan14:: @ 2B4CD8 .string "BRENDAN: {PLAYER}!\n" .string "I heard the rumors!\p" .string "You beat the SOOTOPOLIS GYM\n" .string "LEADER? Awesome!\p" .string "You're getting awful close now!$" -gText_Brendan_Pokenav_2B4D46:: @ 2B4D46 +MatchCall_Text_Brendan15:: @ 2B4D46 .string "BRENDAN: There isn't a TRAINER in\n" .string "all of HOENN who doesn't know who\l" .string "you are, {PLAYER}!\p" @@ -2586,19 +2586,19 @@ gText_Brendan_Pokenav_2B4D46:: @ 2B4D46 .string "with you, {PLAYER}, they get pretty\l" .string "envious!$" -gText_Wally_Pokenav_2B4DE2:: @ 2B4DE2 +MatchCall_Text_Wally1:: @ 2B4DE2 .string "WALLY: Oh, {PLAYER}!\p" .string "I've been getting healthier and\n" .string "more physically fit.\p" .string "I hope I can become a TRAINER like\n" .string "you soon, {PLAYER}!$" -gText_Wally_Pokenav_2B4E57:: @ 2B4E57 +MatchCall_Text_Wally2:: @ 2B4E57 .string "WALLY: {PLAYER}, hello!\p" .string "After RUSTURF TUNNEL went\n" .string "through, WANDA's been very happy!$" -gText_Wally_Pokenav_2B4EA5:: @ 2B4EA5 +MatchCall_Text_Wally3:: @ 2B4EA5 .string "WALLY: Oh, {PLAYER}!\p" .string "I… I left my uncle's place in\n" .string "VERDANTURF without telling anyone.\p" @@ -2606,7 +2606,7 @@ gText_Wally_Pokenav_2B4EA5:: @ 2B4EA5 .string "{PLAYER}, you understand how\n" .string "I feel, don't you?$" -gText_Wally_Pokenav_2B4F41:: @ 2B4F41 +MatchCall_Text_Wally4:: @ 2B4F41 .string "WALLY: {PLAYER}?\n" .string "It's me, WALLY!\p" .string "The world of TRAINERS is amazing!\p" @@ -2615,7 +2615,7 @@ gText_Wally_Pokenav_2B4F41:: @ 2B4F41 .string "It's as if everyone's getting\n" .string "connected through POKéMON!$" -gText_Wally_Pokenav_2B4FF3:: @ 2B4FF3 +MatchCall_Text_Wally5:: @ 2B4FF3 .string "WALLY: {PLAYER}? It's awesome!\n" .string "That RALTS we caught together?\l" .string "It evolved, {PLAYER}!\p" @@ -2625,13 +2625,13 @@ gText_Wally_Pokenav_2B4FF3:: @ 2B4FF3 .string "After all, it's the POKéMON that\n" .string "should be praised!$" -gText_Wally_Pokenav_2B50B1:: @ 2B50B1 +MatchCall_Text_Wally6:: @ 2B50B1 .string "… … … … … …\n" .string "… … … … … …\p" .string "WALLY appears to be out of\n" .string "the POKéNAV's service area…$" -gText_Wally_Pokenav_2B5100:: @ 2B5100 +MatchCall_Text_Wally7:: @ 2B5100 .string "WALLY: Oh, {PLAYER}!\p" .string "Before I met you, I hardly ever\n" .string "left my house…\p" @@ -2640,7 +2640,7 @@ gText_Wally_Pokenav_2B5100:: @ 2B5100 .string "{PLAYER}…\n" .string "Thank you…$" -gText_Scott_Pokenav_2B5184:: @ 2B5184 +MatchCall_Text_Scott1:: @ 2B5184 .string "SCOTT: Howdy, {PLAYER}{KUN}!\p" .string "You know how POKéMON can be found\n" .string "everywhere?\p" @@ -2651,7 +2651,7 @@ gText_Scott_Pokenav_2B5184:: @ 2B5184 .string "As a result, I have to hurry\n" .string "everywhere, too. Busy, busy!$" -gText_Scott_Pokenav_2B5275:: @ 2B5275 +MatchCall_Text_Scott2:: @ 2B5275 .string "SCOTT: I'm on ROUTE 119 right now.\n" .string "It's teeming with TRAINERS!\p" .string "It's also overgrown with tall grass\n" @@ -2659,7 +2659,7 @@ gText_Scott_Pokenav_2B5275:: @ 2B5275 .string "Walking around in shorts here\n" .string "makes me all ticklish!$" -gText_Scott_Pokenav_2B5323:: @ 2B5323 +MatchCall_Text_Scott3:: @ 2B5323 .string "SCOTT: Hi, hi, {PLAYER}{KUN}!\p" .string "Have you had the chance to climb\n" .string "MT. PYRE?\p" @@ -2668,7 +2668,7 @@ gText_Scott_Pokenav_2B5323:: @ 2B5323 .string "It's somewhere every TRAINER\n" .string "should climb to the top of once.$" -gText_Scott_Pokenav_2B53DB:: @ 2B53DB +MatchCall_Text_Scott4:: @ 2B53DB .string "SCOTT: Hi, {PLAYER}{KUN}!\p" .string "I've been hearing about these odd\n" .string "gangs being a nuisance.\p" @@ -2678,7 +2678,7 @@ gText_Scott_Pokenav_2B53DB:: @ 2B53DB .string "skilled TRAINERS among them.\p" .string "…But if they're thugs…$" -gText_Scott_Pokenav_2B54A5:: @ 2B54A5 +MatchCall_Text_Scott5:: @ 2B54A5 .string "SCOTT: Oh, hi, {PLAYER}{KUN}.\p" .string "Might there be tough TRAINERS\n" .string "at the bottom of the sea?\p" @@ -2686,7 +2686,7 @@ gText_Scott_Pokenav_2B54A5:: @ 2B54A5 .string "I can't swim, for one.\l" .string "And I don't raise POKéMON…$" -gText_Scott_Pokenav_2B5541:: @ 2B5541 +MatchCall_Text_Scott6:: @ 2B5541 .string "SCOTT: Hi, hi, {PLAYER}{KUN}!\p" .string "You know that you can challenge\n" .string "the POKéMON LEAGUE when you've\l" @@ -2703,20 +2703,20 @@ gText_Scott_Pokenav_2B5541:: @ 2B5541 .string "the POKéMON LEAGUE into the HALL\l" .string "OF FAME!$" -gText_Scott_Pokenav_2B56CA:: @ 2B56CA +MatchCall_Text_Scott7:: @ 2B56CA .string "… … … … … …\n" .string "… … … … … …\p" .string "SCOTT appears to be out of\n" .string "the POKéNAV's service area…$" -gText_Norman_Pokenav_2B5719:: @ 82B5719 +MatchCall_Text_Norman1:: @ 82B5719 .string "DAD: In RUSTBORO, there's a man\n" .string "that goes by the odd name of\l" .string "the CUTTER.\p" .string "If you're in the area, you should\n" .string "pay him a visit.$" -gText_Norman_Pokenav_2B5795:: @ 82B5795 +MatchCall_Text_Norman2:: @ 82B5795 .string "DAD: Hm… Little by little, but also\n" .string "very surely, you're getting\l" .string "tougher, {PLAYER}.\p" @@ -2725,7 +2725,7 @@ gText_Norman_Pokenav_2B5795:: @ 82B5795 .string "and me…\p" .string "This feeling is hard to explain.$" -gText_Norman_Pokenav_2B584D:: @ 82B584D +MatchCall_Text_Norman3:: @ 82B584D .string "DAD: I see…\n" .string "You've collected four GYM BADGES…\p" .string "There's no avoiding it now.\n" @@ -2733,7 +2733,7 @@ gText_Norman_Pokenav_2B584D:: @ 82B584D .string "Come anytime.\n" .string "We'll all be waiting for you!$" -gText_Norman_Pokenav_2B58E3:: @ 82B58E3 +MatchCall_Text_Norman4:: @ 82B58E3 .string "DAD: {PLAYER}! You'd better go visit\n" .string "Mother every so often.\p" .string "I'm going to remain here and\n" @@ -2741,27 +2741,27 @@ gText_Norman_Pokenav_2B58E3:: @ 82B58E3 .string "The way of battling is deep\n" .string "and unforgiving!$" -gText_Norman_Pokenav_2B5979:: @ 82B5979 +MatchCall_Text_Norman5:: @ 82B5979 .string "DAD: Oh, hi, {PLAYER}!\p" .string "What's that? MAGMA EMBLEM?\n" .string "I don't know what that's about.\p" .string "But with a name like that, it may\n" .string "be somehow linked to a volcano!$" -gText_Norman_Pokenav_2B5A07:: @ 82B5A07 +MatchCall_Text_Norman6:: @ 82B5A07 .string "DAD: Hiyah! Haah! Dwah!\p" .string "…Oh? {PLAYER}!\p" .string "You caught me right in the middle\n" .string "of a POKéMON training session!$" -gText_Norman_Pokenav_2B5A69:: @ 82B5A69 +MatchCall_Text_Norman7:: @ 82B5A69 .string "DAD: {PLAYER}!\p" .string "Who would've thought you'd become\n" .string "the POKéMON LEAGUE CHAMPION…\p" .string "Okay!\n" .string "I won't be left behind!$" -gText_Norman_Pokenav_2B5ACF:: @ 82B5ACF +MatchCall_Text_Norman8:: @ 82B5ACF .string "DAD: Hm? {PLAYER}?\n" .string "What good timing!\p" .string "This time, I'm going to challenge\n" @@ -2769,11 +2769,11 @@ gText_Norman_Pokenav_2B5ACF:: @ 82B5ACF .string "I'm waiting in the PETALBURG GYM.\n" .string "Accept my challenge anytime!$" -gText_Norman_Pokenav_2B5B5E:: @ 82B5B5E +MatchCall_Text_Norman9:: @ 82B5B5E .string "DAD: …You amaze me, {PLAYER}.\n" .string "How much higher will you soar?$" -gText_Steven_Pokenav_2B5B95:: @ 82B5B95 +MatchCall_Text_Steven1:: @ 82B5B95 .string "STEVEN: Hi, {PLAYER}{KUN}!\p" .string "Have you been to MAUVILLE\n" .string "already?\p" @@ -2784,14 +2784,14 @@ gText_Steven_Pokenav_2B5B95:: @ 82B5B95 .string "You may make a new discovery\n" .string "there.$" -gText_Steven_Pokenav_2B5C53:: @ 82B5C53 +MatchCall_Text_Steven2:: @ 82B5C53 .string "STEVEN: Hi, {PLAYER}{KUN}!\p" .string "I've met a lot of different\n" .string "TRAINERS so far.\p" .string "But you're one of a kind.\n" .string "You're not like anyone else.$" -gText_Steven_Pokenav_2B5CC9:: @ 82B5CC9 +MatchCall_Text_Steven3:: @ 82B5CC9 .string "STEVEN: Hi, {PLAYER}{KUN}!\p" .string "When you're on an adventure with\n" .string "your POKéMON, what do you think?\p" @@ -2802,7 +2802,7 @@ gText_Steven_Pokenav_2B5CC9:: @ 82B5CC9 .string "Depending on how you think, your\n" .string "adventure's significance changes.$" -gText_Steven_Pokenav_2B5DB4:: @ 82B5DB4 +MatchCall_Text_Steven4:: @ 82B5DB4 .string "STEVEN: Hello?\n" .string "{PLAYER}{KUN}?\p" .string "I'm involved in a spot of trouble\n" @@ -2810,7 +2810,7 @@ gText_Steven_Pokenav_2B5DB4:: @ 82B5DB4 .string "I'm sorry, but I can't talk now.\n" .string "Bye!$" -gText_Steven_Pokenav_2B5E26:: @ 82B5E26 +MatchCall_Text_Steven5:: @ 82B5E26 .string "STEVEN: Oh!\n" .string "{PLAYER}{KUN}!\p" .string "There's no need to talk.\n" @@ -2818,12 +2818,12 @@ gText_Steven_Pokenav_2B5E26:: @ 82B5E26 .string "You have to believe in yourself\n" .string "and do what's right.$" -gText_Steven_Pokenav_2B5EA2:: @ 82B5EA2 +MatchCall_Text_Steven6:: @ 82B5EA2 .string "… … … … … …\p" .string "STEVEN appears not to be getting\n" .string "the call…$" -gText_Steven_Pokenav_2B5ED9:: @ 82B5ED9 +MatchCall_Text_Steven7:: @ 82B5ED9 .string "STEVEN: {PLAYER}{KUN}… Congratulations\n" .string "for entering the HALL OF FAME.\p" .string "… … … … … …\n" @@ -2831,7 +2831,7 @@ gText_Steven_Pokenav_2B5ED9:: @ 82B5ED9 .string "I hope we can meet again\n" .string "somewhere!$" -Route101_Text_2B5F52: @ 82B5F52 +MatchCall_Text_BirchRegisterCall: @ 82B5F52 .string "PROF. BIRCH: Oh, {PLAYER}{KUN}!\n" .string "I've already heard about you!\p" .string "It seems your POKéNAV's been\n" @@ -2842,15 +2842,16 @@ Route101_Text_2B5F52: @ 82B5F52 .string "out in the field.\p" .string "… … … … … …$" -Route101_Text_2B603A: @ 82B603A +MatchCall_Text_RegisteredBirch: @ 82B603A .string "Registered PROF. BIRCH\n" .string "in the POKéNAV.$" +MatchCall_Text_UnusedProfBirch: .string "PROF. BIRCH: When one has both\n" .string "the POKéDEX and POKéNAV, studying\l" .string "POKéMON becomes more fun, eh?$" -gText_MrStone_Pokenav_2B60C0:: @ 82B60C0 +MatchCall_Text_MrStone1:: @ 82B60C0 .string "MR. STONE: Oh? {PLAYER}{KUN}!\p" .string "Since you called me, the POKéNAV\n" .string "must be working properly!\p" @@ -2865,7 +2866,7 @@ gText_MrStone_Pokenav_2B60C0:: @ 82B60C0 .string "Wahahaha!\n" .string "See you again!$" -gText_MrStone_Pokenav_2B61E6:: @ 82B61E6 +MatchCall_Text_MrStone2:: @ 82B61E6 .string "MR. STONE: Oh? {PLAYER}{KUN}!\p" .string "What's wrong? Have you forgotten\n" .string "about that little errand of mine?\p" @@ -2877,7 +2878,7 @@ gText_MrStone_Pokenav_2B61E6:: @ 82B61E6 .string "Now, since I am a busy PRESIDENT,\n" .string "I have to go! Bye-bye!$" -gText_MrStone_Pokenav_2B6302:: @ 82B6302 +MatchCall_Text_MrStone3:: @ 82B6302 .string "MR. STONE: Oh! {PLAYER}{KUN}!\p" .string "Ah, so you've met STEVEN!\n" .string "I'd better reward you, then!\p" @@ -2885,7 +2886,7 @@ gText_MrStone_Pokenav_2B6302:: @ 82B6302 .string "come see me at my office.\p" .string "I'll be waiting for you!$" -gText_MrStone_Pokenav_2B63A0:: @ 82B63A0 +MatchCall_Text_MrStone4:: @ 82B63A0 .string "MR. STONE: Oh! {PLAYER}{KUN}!\p" .string "Did you know that DEVON was\n" .string "digging the RUSTURF TUNNEL?\p" @@ -2896,14 +2897,14 @@ gText_MrStone_Pokenav_2B63A0:: @ 82B63A0 .string "live in peace than worry about our\l" .string "own convenience.$" -gText_MrStone_Pokenav_2B64A2:: @ 82B64A2 +MatchCall_Text_MrStone5:: @ 82B64A2 .string "MR. STONE: Hello, hello, {PLAYER}{KUN}!\p" .string "I heard from someone in PETALBURG\n" .string "that you're NORMAN's child!\p" .string "No wonder you're such a capable\n" .string "being!$" -gText_MrStone_Pokenav_2B6526:: @ 82B6526 +MatchCall_Text_MrStone6:: @ 82B6526 .string "MR. STONE: What's that?\p" .string "You battled your own father and\n" .string "defeated him?\p" @@ -2911,7 +2912,7 @@ gText_MrStone_Pokenav_2B6526:: @ 82B6526 .string "I had no idea that I befriended\n" .string "someone so special! Wahaha!$" -gText_MrStone_Pokenav_2B65BB:: @ 82B65BB +MatchCall_Text_MrStone7:: @ 82B65BB .string "Hello!\n" .string "This is DEVON CORPORATI…\l" .string "Oh, hello, {PLAYER}!\p" @@ -2920,21 +2921,21 @@ gText_MrStone_Pokenav_2B65BB:: @ 82B65BB .string "Our PRESIDENT is busy, but you\n" .string "seem to be just as busy, {PLAYER}.$" -gText_MrStone_Pokenav_2B6664:: @ 82B6664 +MatchCall_Text_MrStone8:: @ 82B6664 .string "…Huh? …What's that?\p" .string "GROU… Yes? …DON?\p" .string "You're breaking up…\n" .string "…can't hear…\p" .string "BZZZZ…$" -gText_MrStone_Pokenav_2B66B1:: @ 82B66B1 +MatchCall_Text_MrStone9:: @ 82B66B1 .string "…Huh? …What's that?\p" .string "Seaflo… Yes? …Caver…?\p" .string "You're breaking up…\n" .string "…can't hear…\p" .string "BZZZZ…$" -gText_MrStone_Pokenav_2B6703:: @ 82B6703 +MatchCall_Text_MrStone10:: @ 82B6703 .string "MR. STONE: {PLAYER}{KUN}! It's me!\p" .string "You were apparently involved in all\n" .string "sorts of things, but I, being busy,\l" @@ -2944,7 +2945,7 @@ gText_MrStone_Pokenav_2B6703:: @ 82B6703 .string "I'll always be in your corner!\n" .string "Take care!$" -gText_MrStone_Pokenav_2B67ED:: @ 82B67ED +MatchCall_Text_MrStone11:: @ 82B67ED .string "MR. STONE: … … … … … …\n" .string "Is this maybe {PLAYER}{KUN}?\p" .string "Your voice is so full of confidence,\n" diff --git a/data/text/mauville_man.inc b/data/text/mauville_man.inc new file mode 100644 index 0000000000..6326f5d8cd --- /dev/null +++ b/data/text/mauville_man.inc @@ -0,0 +1,63 @@ +@ Only contains a portion of the mauville_man text. The rest is in scripts/mauville_man.inc +gText_SoPretty:: @ 8294295 + .string " so pretty!$" + +gText_SoDarling:: @ 82942A1 + .string " so darling!$" + +gText_SoRelaxed:: @ 82942AE + .string " so relaxed!$" + +gText_SoSunny:: @ 82942BB + .string " so sunny!$" + +gText_SoDesirable:: @ 82942C6 + .string " so desirable!$" + +gText_SoExciting:: @ 82942D5 + .string " so exciting!$" + +gText_SoAmusing:: @ 82942E3 + .string " so amusing!$" + +gText_SoMagical:: @ 82942F0 + .string " so magical!$" + +gOtherText_Is:: @ 82942FD + .string " is$" + +gOtherText_DontYouAgree:: @ 8294301 + .string "\n" + .string "Don't you agree?$" + +gMauvilleManText_ISoWantToGoOnAVacation:: @ 8294313 + .string "I so want to go on a vacation.\n" + .string "Would you happen to know a nice place?$" + +gMauvilleManText_IBoughtCrayonsWith120Colors:: @ 8294359 + .string "I bought crayons with 120 colors!\n" + .string "Don't you think that's nice?$" + +gMauvilleManText_WouldntItBeNiceIfWeCouldFloat:: @ 8294398 + .string "Wouldn't it be nice if we could float\n" + .string "away on a cloud of bubbles?$" + +gMauvilleManText_WhenYouWriteOnASandyBeach:: @ 82943DA + .string "When you write on a sandy beach,\n" + .string "they wash away. It makes me sad.$" + +gMauvilleManText_WhatsTheBottomOfTheSeaLike:: @ 829441C + .string "What's the bottom of the sea like?\n" + .string "Just once I would so love to go!$" + +gMauvilleManText_WhenYouSeeTheSettingSunDoesIt:: @ 8294460 + .string "When you see the setting sun, does it\n" + .string "make you want to go home?$" + +gMauvilleManText_LyingBackInTheGreenGrass:: @ 82944A0 + .string "Lying back in the green grass…\n" + .string "Oh, it's so, so nice!$" + +gMauvilleManText_SecretBasesAreSoWonderful:: @ 82944D5 + .string "SECRET BASES are so wonderful!\n" + .string "Can't you feel the excitement?$" diff --git a/data/text/mevent.inc b/data/text/mevent.inc new file mode 100644 index 0000000000..ae4032eb46 --- /dev/null +++ b/data/text/mevent.inc @@ -0,0 +1,43 @@ +Mevent_Text_FillOutQuestionnaire:: @ 827339F + .string "There is a questionnaire.\n" + .string "Would you like to fill it out?$" + +Mevent_Text_QuestionnaireThankYou:: @ 82733D8 + .string "Thank you for taking the time to\n" + .string "fill out our questionnaire.\p" + .string "Your feedback will be used for\n" + .string "future reference.$" + +Mevent_Text_YouKnowThoseWordsGift:: @ 8273446 + .string "Oh, hello!\n" + .string "You know those words?\p" + .string "That means you must know about\n" + .string "the MYSTERY GIFT.\p" + .string "From now on, you should be\n" + .string "receiving MYSTERY GIFTS!$" + +Mevent_Text_YouCanAccessMysteryGift:: @ 82734CC + .string "Once you save your game, you can\n" + .string "access the MYSTERY GIFT.$" + +Mevent_Text_YouKnowThoseWordsEvent:: @ 8273506 + .string "Oh, hello!\n" + .string "You know those words?\p" + .string "That means you must know about\n" + .string "the MYSTERY EVENT.$" + +Mevent_Text_YouCanAccessMysteryEvent:: @ 8273559 + .string "Once you save your game, you can\n" + .string "access the MYSTERY EVENT.$" + +Mevent_Text_TheresATicketForYou:: @ 8273594 + .string "Thank you for using the MYSTERY\n" + .string "EVENT System.\p" + .string "You must be {PLAYER}.\n" + .string "There is a ticket here for you.$" + +Mevent_Text_TryUsingItAtLilycovePort:: @ 82735F2 + .string "It appears to be for use at\n" + .string "the LILYCOVE CITY port.\p" + .string "Why not give it a try and see what\n" + .string "it is about?$" diff --git a/data/text/move_tutors.inc b/data/text/move_tutors.inc new file mode 100644 index 0000000000..baadad73d2 --- /dev/null +++ b/data/text/move_tutors.inc @@ -0,0 +1,237 @@ +MoveTutor_Text_ThisMoveCanOnlyBeLearnedOnce: @ 82C6E05 + .string "This move can be learned only\n" + .string "once. Is that okay?$" + +MoveTutor_Text_SwaggerTeach: @ 82C6E37 + .string "Heh! My POKéMON totally rules!\n" + .string "It's cooler than any POKéMON!\p" + .string "I was lipping off with a swagger in\n" + .string "my step like that when the CHAIRMAN\l" + .string "chewed me out.\p" + .string "That took the swagger out of my step.\p" + .string "If you'd like, I'll teach the move\n" + .string "SWAGGER to a POKéMON of yours.$" + +MoveTutor_Text_SwaggerDeclined: @ 82C6F33 + .string "What, no? Can't you get into\n" + .string "the spirit of things?$" + +MoveTutor_Text_SwaggerWhichMon: @ 82C6F66 + .string "All right, which POKéMON wants to\n" + .string "learn how to SWAGGER?$" + +MoveTutor_Text_SwaggerTaught: @ 82C6F9E + .string "I'll just praise my POKéMON from now\n" + .string "on without the swagger.$" + +MoveTutor_Text_RolloutTeach: @ 82C6FDB + .string "Did you know that you can go from\n" + .string "here a long way in that direction\l" + .string "without changing direction?\p" + .string "I might even be able to roll\n" + .string "that way.\p" + .string "Do you think your POKéMON will\n" + .string "want to roll, too?\p" + .string "I can teach one the move ROLLOUT\n" + .string "if you'd like.$" + +MoveTutor_Text_RolloutDeclined: @ 82C70C4 + .string "You don't need to be shy about it.\n" + .string "Let's roll!$" + +MoveTutor_Text_RolloutWhichMon: @ 82C70F3 + .string "Ehehe, sure thing! It'd be great if\n" + .string "the POKéMON looked like me.$" + +MoveTutor_Text_RolloutTaught: @ 82C7133 + .string "Rolling around in the grass makes me\n" + .string "happy. Come on, let's roll!$" + +MoveTutor_Text_FuryCutterTeach: @ 82C7174 + .string "There's a move that gets stronger\n" + .string "when you keep using it in a row.\p" + .string "It's a BUG-type move, and it is\n" + .string "wickedly cool.\p" + .string "It's called FURY CUTTER.\n" + .string "Want me to teach it to a POKéMON?$" + +MoveTutor_Text_FuryCutterDeclined: @ 82C7221 + .string "We're not on the same wavelength.$" + +MoveTutor_Text_FuryCutterWhichMon: @ 82C7243 + .string "Yay!\n" + .string "Show me which POKéMON I should teach.$" + +MoveTutor_Text_FuryCutterTaught: @ 82C726E + .string "I get a thrill watching to see if\n" + .string "the move keeps hitting in succession!$" + +MoveTutor_MimicTeach: @ 82C72B6 + .string "Ah, young one!\p" + .string "I am also a young one, but I mimic\n" + .string "the styles and speech of the elderly\l" + .string "folks of this town.\p" + .string "What do you say, young one?\n" + .string "Would you agree to it if I were to\l" + .string "offer to teach the move MIMIC?$" + +MoveTutor_MimicDeclined: @ 82C737F + .string "Oh, boo! I wanted to teach MIMIC\n" + .string "to your POKéMON!$" + +MoveTutor_Text_MimicWhichMon: @ 82C73B1 + .string "Fwofwo! And so I shall!\n" + .string "Let me see the POKéMON\l" + .string "you wish me to teach.$" + +MoveTutor_Text_MimicTaught: @ 82C73F6 + .string "MIMIC is a move of great depth.\p" + .string "Could you execute it to perfection\n" + .string "as well as me…?$" + +MoveTutor_Text_MetronomeTeach: @ 82C7449 + .string "I want all sorts of things!\n" + .string "But I used up my allowance…\p" + .string "Wouldn't it be nice if there were\n" + .string "a spell that made money appear when\l" + .string "you waggle a finger?\p" + .string "If you want, I can teach your POKéMON\n" + .string "the move METRONOME.\p" + .string "Money won't appear, but your POKéMON\n" + .string "will waggle a finger. Yes?$" + +MoveTutor_Text_MetronomeDeclined: @ 82C7556 + .string "Okay. I'll be here if you change\n" + .string "your mind.$" + +MoveTutor_Text_MetronomeWhichMon: @ 82C7582 + .string "Okay! I'll teach it!\n" + .string "Which POKéMON should I teach?$" + +MoveTutor_Text_MetronomeTaught: @ 82C75B5 + .string "When a POKéMON waggles its finger\n" + .string "like a METRONOME, all sorts of nice\l" + .string "things happen.\p" + .string "Wouldn't it be nice if we could\n" + .string "use it, too?$" + +MoveTutor_Text_SleepTalkTeach: @ 82C7637 + .string "Humph! My wife relies on HIDDEN\n" + .string "POWER to stay awake.\p" + .string "She should just take a nap like I do,\n" + .string "and SLEEP TALK.\p" + .string "I can teach your POKéMON how to\n" + .string "SLEEP TALK instead. Interested?$" + +MoveTutor_Text_SleepTalkDeclined: @ 82C76E2 + .string "Oh, fine, fine. You want to stay awake\n" + .string "with HIDDEN POWER, too…$" + +MoveTutor_Text_SleepTalkWhichMon: @ 82C7721 + .string "Ah, an appreciative child!\n" + .string "Which POKéMON should I teach?$" + +MoveTutor_Text_SleepTalkTaught: @ 82C775A + .string "I've never once gotten my wife's\n" + .string "coin trick right.\p" + .string "I would be happy if I got it right\n" + .string "even as I SLEEP TALK…$" + +MoveTutor_Text_SubstituteTeach: @ 82C77C6 + .string "When I see the wide world from up\n" + .string "here on the roof…\p" + .string "I think about how nice it would be\n" + .string "if there were more than just one me\l" + .string "so I could enjoy all sorts of lives.\p" + .string "Of course it's not possible.\n" + .string "Giggle…\p" + .string "I know! Would you be interested in\n" + .string "having a POKéMON learn SUBSTITUTE?$" + +MoveTutor_Text_SubstituteDeclined: @ 82C78D1 + .string "Oh, no?\p" + .string "A POKéMON can make a copy of\n" + .string "itself using it, you know.$" + +MoveTutor_Text_SubstituteWhichMon: @ 82C7911 + .string "Giggle…\n" + .string "Which POKéMON do you want me to\l" + .string "teach SUBSTITUTE?$" + +MoveTutor_Text_SubstituteTaught: @ 82C794B + .string "We human beings should enjoy our\n" + .string "own lives to the utmost!\p" + .string "I hope you'll get that way, too!$" + +MoveTutor_Text_DynamicPunchTeach: @ 82C79A6 + .string "I can't do this anymore!\p" + .string "It's utterly hopeless!\p" + .string "I'm a FIGHTING-type TRAINER,\n" + .string "so I can't win at the MOSSDEEP GYM\l" + .string "no matter how hard I try!\p" + .string "Argh! Punch! Punch! Punch!\n" + .string "Punch! Punch! Punch!\p" + .string "What, don't look at me that way!\n" + .string "I'm only hitting the ground!\p" + .string "Or do you want me to teach your\n" + .string "POKéMON DYNAMICPUNCH?$" + +MoveTutor_Text_DynamicPunchDeclined: @ 82C7AD4 + .string "Darn! You're even making fun of me?\n" + .string "Punch! Punch! Punch!$" + +MoveTutor_Text_DynamicPunchWhichMon: @ 82C7B0D + .string "What? You do? You're a good person!\n" + .string "Which POKéMON should I teach?$" + +MoveTutor_Text_DynamicPunchTaught: @ 82C7B4F + .string "I want you to win at the MOSSDEEP GYM\n" + .string "using that DYNAMICPUNCH!$" + +MoveTutor_Text_DoubleEdgeTeach: @ 82C7B8E + .string "Sigh…\p" + .string "SOOTOPOLIS's GYM LEADER is really\n" + .string "lovably admirable.\p" + .string "But that also means I have many\n" + .string "rivals for his attention.\p" + .string "He's got appeal with a DOUBLE-EDGE.\n" + .string "I couldn't even catch his eye.\p" + .string "Please, let me teach your POKéMON\n" + .string "the move DOUBLE-EDGE!$" + +MoveTutor_Text_DoubleEdgeDeclined: @ 82C7C7E + .string "Oh…\n" + .string "Even you rejected me…$" + +MoveTutor_Text_DoubleEdgeWhichMon: @ 82C7C98 + .string "Okay, which POKéMON should I teach\n" + .string "DOUBLE-EDGE?$" + +MoveTutor_Text_DoubleEdgeTaught: @ 82C7CC8 + .string "I won't live for love anymore!\n" + .string "I'll become tough!$" + +MoveTutor_Text_ExplosionTeach: @ 82C7CFA + .string "I don't intend to be going nowhere\n" + .string "fast in the sticks like this forever.\p" + .string "You watch me, I'll get out to the city\n" + .string "and become a huge hit.\p" + .string "Seriously, I'm going to cause\n" + .string "a huge EXPLOSION of popularity!\p" + .string "If you overheard that, I'll happily\n" + .string "teach EXPLOSION to your POKéMON!$" + +MoveTutor_Text_ExplosionDeclined: @ 82C7E04 + .string "Gaah! You're turning me down because\n" + .string "I live in the country?$" + +MoveTutor_Text_ExplosionWhichMon: @ 82C7E40 + .string "Fine! An EXPLOSION it is!\n" + .string "Which POKéMON wants to blow up?$" + +MoveTutor_Text_ExplosionTaught: @ 82C7E7A + .string "For a long time, I've taught POKéMON\n" + .string "how to use EXPLOSION, but I've yet\l" + .string "to ignite my own EXPLOSION…\p" + .string "Maybe it's because deep down,\n" + .string "I would rather stay here…$" diff --git a/data/text/obtain_item.inc b/data/text/obtain_item.inc new file mode 100644 index 0000000000..d263388f5f --- /dev/null +++ b/data/text/obtain_item.inc @@ -0,0 +1,31 @@ +gText_ObtainedTheItem:: @ 8272A78 + .string "Obtained the {STR_VAR_2}!$" + +gText_TheBagIsFull:: @ 8272A89 + .string "The BAG is full…$" + +gText_PutItemInPocket:: @ 8272A9A + .string "{PLAYER} put away the {STR_VAR_2}\n" + .string "in the {STR_VAR_3} POCKET.$" + +gText_PlayerFoundOneItem:: @ 8272ABF + .string "{PLAYER} found one {STR_VAR_2}!$" + +gText_TooBadBagIsFull:: @ 8272AD0 + .string "Too bad!\n" + .string "The BAG is full…$" + +gText_PlayerPutItemInBag:: @ 8272AEA + .string "{PLAYER} put away the {STR_VAR_2}\n" + .string "in the BAG.$" + +gText_ObtainedTheDecor:: @ 8272B09 + .string "Obtained the {STR_VAR_2}!$" + +gText_NoRoomLeftForAnother:: @ 8272B1A + .string "Too bad! There's no room left for\n" + .string "another {STR_VAR_2}…$" + +gText_TheDecorWasTransferredToThePC:: @ 8272B48 + .string "The {STR_VAR_2} was transferred\n" + .string "to the PC.$" diff --git a/data/text/pc.inc b/data/text/pc.inc new file mode 100644 index 0000000000..5367632b59 --- /dev/null +++ b/data/text/pc.inc @@ -0,0 +1,17 @@ +Text_BootUpPC: @ 827265A + .string "{PLAYER} booted up the PC.$" + +gText_WhichPCShouldBeAccessed:: @ 827266F + .string "Which PC should be accessed?$" + +gText_AccessedSomeonesPC:: @ 827268C + .string "Accessed SOMEONE'S PC.$" + +gText_StorageSystemOpened:: @ 82726A3 + .string "POKéMON Storage System opened.$" + +gText_AccessedPlayersPC:: @ 82726C2 + .string "Accessed {PLAYER}'s PC.$" + +gText_AccessedLanettesPC:: @ 82726D4 + .string "Accessed LANETTE's PC.$" diff --git a/data/text/pc_transfer.inc b/data/text/pc_transfer.inc new file mode 100644 index 0000000000..216e0b5701 --- /dev/null +++ b/data/text/pc_transfer.inc @@ -0,0 +1,31 @@ +gText_PkmnTransferredSomeonesPC:: @ 8273216 + .string "{STR_VAR_2} was transferred to\n" + .string "SOMEONE'S PC.\p" + .string "It was placed in \n" + .string "BOX “{STR_VAR_1}.”$" + +gText_PkmnTransferredLanettesPC:: @ 8273256 + .string "{STR_VAR_2} was transferred to\nLANETTE'S PC.\p" + .string "It was placed in \n" + .string "BOX “{STR_VAR_1}.”$" + +gText_PkmnTransferredSomeonesPCBoxFull:: @ 8273296 + .string "BOX “{STR_VAR_3}” on\n" + .string "SOMEONE'S PC was full.\p" + .string "{STR_VAR_2} was transferred to\n" + .string "BOX “{STR_VAR_1}.”$" + +gText_PkmnTransferredLanettesPCBoxFull:: @ 82732D9 + .string "BOX “{STR_VAR_3}” on\n" + .string "LANETTE'S PC was full.\p" + .string "{STR_VAR_2} was transferred to\n" + .string "BOX “{STR_VAR_1}.”$" + +gText_NoMoreRoomForPokemon:: @ 827331C + .string "There's no more room for POKéMON!\p" + .string "The POKéMON BOXES are full and\n" + .string "can't accept any more!$" + +gText_NicknameThisPokemon:: @ 8273374 + .string "Do you want to give a nickname to\n" + .string "this {STR_VAR_1}?$" diff --git a/data/text/pkmn_center_nurse.inc b/data/text/pkmn_center_nurse.inc new file mode 100644 index 0000000000..1c28372035 --- /dev/null +++ b/data/text/pkmn_center_nurse.inc @@ -0,0 +1,51 @@ +gText_WouldYouLikeToRestYourPkmn:: @ 82726EB + .string "Hello, and welcome to\n" + .string "the POKéMON CENTER.\p" + .string "We restore your tired POKéMON\n" + .string "to full health.\p" + .string "Would you like to rest your POKéMON?$" + +gText_IllTakeYourPkmn:: @ 8272768 + .string "Okay, I'll take your POKéMON\n" + .string "for a few seconds.$" + +gText_RestoredPkmnToFullHealth:: @ 8272798 + .string "Thank you for waiting.\p" + .string "We've restored your POKéMON\n" + .string "to full health.$" + +gText_WeHopeToSeeYouAgain:: @ 82727DB + .string "We hope to see you again!$" + +gText_WelcomeCutShort:: @ 82727F5 + .string "Hello, and welcome to\n" + .string "the POKéMON CENTER.\p" + .string "We restore your tired POKéMON\n" + .string "to full health.\p" + .string "Would you like to…$" + +gText_NoticesGoldCard:: @ 8272860 + .string "Th-that card…\n" + .string "Could it be… The GOLD CARD?!\p" + .string "Oh, the gold color is brilliant!\n" + .string "The four stars seem to sparkle!\p" + .string "I've seen several TRAINERS with\n" + .string "a SILVER CARD before, but, {PLAYER},\l" + .string "you're the first TRAINER I've ever\l" + .string "seen with a GOLD CARD!\p" + .string "Okay, {PLAYER}, please allow me\n" + .string "the honor of resting your POKéMON!$" + +gText_YouWantTheUsual:: @ 8272982 + .string "I'm delighted to see you, {PLAYER}!\n" + .string "You want the usual, am I right?$" + +gText_IllTakeYourPkmn2:: @ 82729C0 + .string "Okay, I'll take your POKéMON\n" + .string "for a few seconds.$" + +gText_ThankYouForWaiting:: @ 82729F0 + .string "Thank you for waiting.$" + +gText_WeHopeToSeeYouAgain2:: @ 8272A07 + .string "We hope to see you again!$" diff --git a/data/text/pokedex_rating.inc b/data/text/pokedex_rating.inc index d61f364e9f..4c6c3f2b63 100644 --- a/data/text/pokedex_rating.inc +++ b/data/text/pokedex_rating.inc @@ -1,13 +1,13 @@ -gUnknown_082A5C9C:: @ 82A5C9C +gBirchDexRatingText_AreYouCurious:: @ 82A5C9C .string "PROF. BIRCH: Ah, {PLAYER}{KUN}!\p" .string "Are you curious about how your\n" .string "POKéDEX is coming along?$" -Route101_Text_2A5CEB: @ 82A5CEB +gBirchDexRatingText_Cancel: @ 82A5CEB .string "Hm? Oh, you haven't caught enough\n" .string "POKéMON to make it worthwhile.$" -gUnknown_082A5D2C:: @ 82A5D2C +gBirchDexRatingText_SoYouveSeenAndCaught:: @ 82A5D2C .string "Hmhm…\p" .string "So, you've seen {STR_VAR_1} POKéMON,\n" .string "and you've caught {STR_VAR_2} POKéMON…$" @@ -108,7 +108,7 @@ gBirchDexRatingText_DexCompleted:: @ 82A6312 .string "Congratulations!\n" .string "Your POKéDEX is complete!$" -gUnknown_082A633D:: @ 82A633D +gBirchDexRatingText_OnANationwideBasis:: @ 82A633D .string "Hmhm…\n" .string "On a nationwide basis…\p" .string "You've seen {STR_VAR_1} POKéMON,\n" diff --git a/data/text/record_mix.inc b/data/text/record_mix.inc new file mode 100644 index 0000000000..1270c0c0a7 --- /dev/null +++ b/data/text/record_mix.inc @@ -0,0 +1,6 @@ +Text_WouldYouLikeToMixRecords: @ 827260D + .string "Would you like to mix records with\n" + .string "other TRAINERS?$" + +Text_WeHopeToSeeYouAgain: @ 8272640 + .string "We hope to see you again!$" diff --git a/data/text/roulette.inc b/data/text/roulette.inc deleted file mode 100644 index 7f1ab1cec1..0000000000 --- a/data/text/roulette.inc +++ /dev/null @@ -1,41 +0,0 @@ -gUnknown_082A5B12:: @ 82A5B12 - .string "The minimum wager at this table\n" - .string "is {STR_VAR_1}. Do you want to play?$" - -gUnknown_082A5B4E:: @ 82A5B4E - .string "You don't have enough COINS.$" - -gUnknown_082A5B6B:: @ 82A5B6B - .string "Special rate table right now!$" - -gUnknown_082A5B89:: @ 82A5B89 - .string "Place your wager with the + Control\n" - .string "Pad, then press the A Button.$" - -gUnknown_082A5BCB:: @ 82A5BCB - .string "It's a hit!$" - -gUnknown_082A5BD7:: @ 82A5BD7 - .string "Jackpot!$" - -gUnknown_082A5BE0:: @ 82A5BE0 - .string "Nothing doing!$" - -gUnknown_082A5BEF:: @ 82A5BEF - .string "You've won {STR_VAR_1} COINS!$" - -gUnknown_082A5C04:: @ 82A5C04 - .string "No COINS left…$" - -gUnknown_082A5C13:: @ 82A5C13 - .string "Keep playing?$" - -gUnknown_082A5C21:: @ 82A5C21 - .string "The ROULETTE board will be cleared.$" - -gUnknown_082A5C45:: @ 82A5C45 - .string "You don't have a COIN CASE.$" - -gUnknown_082A5C61:: @ 82A5C61 - .string "Your COIN CASE is full!\n" - .string "Coins can be exchanged for prizes.$" diff --git a/data/text/save.inc b/data/text/save.inc index bef7f3d6bf..4719f34d35 100644 --- a/data/text/save.inc +++ b/data/text/save.inc @@ -1,3 +1,4 @@ + .align 2 gText_ConfirmSave:: @ 82C87B4 .string "Would you like to save the game?$" diff --git a/data/text/secret_base_trainers.inc b/data/text/secret_base_trainers.inc new file mode 100644 index 0000000000..979aa4ff3a --- /dev/null +++ b/data/text/secret_base_trainers.inc @@ -0,0 +1,286 @@ +SecretBase_Text_Trainer0Intro: @ 82748A0 + .string "Have you made a SECRET BASE already?\p" + .string "I went here, there, everywhere before\n" + .string "choosing this place.\p" + .string "Since you're already here, how would\n" + .string "you like to battle?$" + +SecretBase_Text_Trainer0AcceptBattle: @ 8274939 + .string "Okay!\n" + .string "Here we come!$" + +SecretBase_Text_Trainer0DeclineBattle: @ 827494D + .string "Hunh?\n" + .string "Oh, you can't now…$" + +SecretBase_Text_Trainer0Defeated:: @ 8274966 + .string "Waaargh! You're too strong!\n" + .string "About me losing… Please keep it secret!$" + +SecretBase_Text_Trainer0PostBattle: @ 82749AA + .string "What do you think of my SECRET BASE?\n" + .string "Come visit me again tomorrow.$" + +SecretBase_Text_Trainer0PreChampion: @ 82749ED + .string "Have you made a SECRET BASE already?\p" + .string "I went here, there, everywhere before\n" + .string "choosing this place.\p" + .string "Feel free to hang out!$" + +SecretBase_Text_Trainer5Intro: @ 8274A64 + .string "There're a lot of places where\n" + .string "you can make a SECRET BASE.\p" + .string "But I like this spot best.\n" + .string "Don't you think it's nice?\p" + .string "Oh, would you like to have a battle?$" + +SecretBase_Text_Trainer5AcceptBattle: @ 8274AFA + .string "Okay, here goes!$" + +SecretBase_Text_Trainer5DeclineBattle: @ 8274B0B + .string "Oh…\n" + .string "You can't now, okay.$" + +SecretBase_Text_Trainer5Defeated:: @ 8274B24 + .string "Hmmm… It's our loss…\n" + .string "But don't tell anyone!\l" + .string "It's a confidential secret!$" + +SecretBase_Text_Trainer5PostBattle: @ 8274B6C + .string "If you're in this area again,\n" + .string "I hope you'll visit me.$" + +SecretBase_Text_Trainer5PreChampion: @ 8274BA2 + .string "There're a lot of places where you can\n" + .string "make a SECRET BASE.\p" + .string "But I like this spot best.\n" + .string "Don't you think it's nice?$" + +SecretBase_Text_Trainer1Intro: @ 8274C13 + .string "This is a popular spot.\n" + .string "It's always taken.\p" + .string "Oh! Were you thinking about\n" + .string "taking this spot, too?\p" + .string "I'll tell you what, you can have this\n" + .string "spot if you can beat me.$" + +SecretBase_Text_Trainer1AcceptBattle: @ 8274CB0 + .string "Okay!\n" + .string "I'm going to defend my SECRET BASE!$" + +SecretBase_Text_Trainer1DeclineBattle: @ 8274CDA + .string "Hunh? Is that right?\n" + .string "You're not interested in this spot?$" + +SecretBase_Text_Trainer1Defeated:: @ 8274D13 + .string "I can't keep going!\n" + .string "I surrender!$" + +SecretBase_Text_Trainer1PostBattle: @ 8274D34 + .string "Okay, when I move one day,\n" + .string "this place will be yours!$" + +SecretBase_Text_Trainer1PreChampion: @ 8274D69 + .string "This is a popular spot.\n" + .string "It's always taken.\p" + .string "I waited a long time for it to open.\n" + .string "I finally got to use it!$" + +SecretBase_Text_Trainer6Intro: @ 8274DD2 + .string "Welcome to my POKéMON LAB.\p" + .string "I carry out research on battling in\n" + .string "secrecy.\p" + .string "Would you like to see how strong I am?$" + +SecretBase_Text_Trainer6AcceptBattle: @ 8274E41 + .string "I'm going to go all out!$" + +SecretBase_Text_Trainer6DeclineBattle: @ 8274E5A + .string "Oh.\n" + .string "Some other time, then!$" + +SecretBase_Text_Trainer6Defeated:: @ 8274E75 + .string "Hmm… I've still got lots to learn.\n" + .string "I have to study some more.$" + +SecretBase_Text_Trainer6PostBattle: @ 8274EB3 + .string "Thanks for battling with me.\n" + .string "Please come back again tomorrow.$" + +SecretBase_Text_Trainer6PreChampion: @ 8274EF1 + .string "Welcome to my POKéMON LAB.\p" + .string "I carry out research on battling in\n" + .string "secrecy.$" + +SecretBase_Text_Trainer2Intro: @ 8274F39 + .string "A big mansion is nice, but I like this\n" + .string "sort of place more.\p" + .string "I like it because all kinds of people\n" + .string "come visit me.\p" + .string "So, how would you like a battle?$" + +SecretBase_Text_Trainer2AcceptBattle: @ 8274FCA + .string "That's the way!$" + +SecretBase_Text_Trainer2DeclineBattle: @ 8274FDA + .string "When you're ready, give me a shout!$" + +SecretBase_Text_Trainer2Defeated:: @ 8274FFE + .string "Aww! Done in!\n" + .string "But it's still fun to battle!$" + +SecretBase_Text_Trainer2PostBattle: @ 827502A + .string "Well, anyway, I should go buy some\n" + .string "decorations and furniture.\p" + .string "I want my SECRET BASE to be a place\n" + .string "other people can enjoy.$" + +SecretBase_Text_Trainer2PreChampion: @ 82750A4 + .string "A big mansion is nice, but I like this\n" + .string "sort of place more.\p" + .string "I like it because all kinds of people\n" + .string "come visit me.$" + +SecretBase_Text_Trainer7Intro: @ 8275114 + .string "I simply adore shopping for decorations\n" + .string "and furniture.\p" + .string "I also love raising POKéMON just\n" + .string "as much.\p" + .string "If you would be so kind, will you battle\n" + .string "with my POKéMON?$" + +SecretBase_Text_Trainer7AcceptBattle: @ 82751AF + .string "Thank you.\n" + .string "Shall we begin?$" + +SecretBase_Text_Trainer7DeclineBattle: @ 82751CA + .string "Oh.\n" + .string "How disappointing…$" + +SecretBase_Text_Trainer7Defeated:: @ 82751E1 + .string "I concede…$" + +SecretBase_Text_Trainer7PostBattle: @ 82751EC + .string "That was all in good fun!\n" + .string "I should go enjoy shopping now.$" + +SecretBase_Text_Trainer7PreChampion: @ 8275226 + .string "I simply adore shopping for decorations\n" + .string "and furniture.\p" + .string "I also love raising POKéMON just\n" + .string "as much.$" + +SecretBase_Text_Trainer3Intro: @ 8275287 + .string "Some people make their SECRET BASES in\n" + .string "hard-to-find places.\l" + .string "Do they want to just lie low?\p" + .string "But since you found me, how about we\n" + .string "have a battle?$" + +SecretBase_Text_Trainer3AcceptBattle: @ 8275315 + .string "I'm not going down easily!$" + +SecretBase_Text_Trainer3DeclineBattle: @ 8275330 + .string "Oh… Are you maybe tired from searching\n" + .string "for this place?$" + +SecretBase_Text_Trainer3Defeated:: @ 8275367 + .string "I went down…$" + +SecretBase_Text_Trainer3PostBattle: @ 8275374 + .string "Where's your SECRET BASE?\n" + .string "I should go visit you there.$" + +SecretBase_Text_Trainer3PreChampion: @ 82753AB + .string "Some people make their SECRET BASES in\n" + .string "hard-to-find places.\l" + .string "Do they want to just lie low?$" + +SecretBase_Text_Trainer8Intro: @ 8275405 + .string "People have told me that you can get\n" + .string "decorations in several ways.\p" + .string "We should have a race to see who can\n" + .string "get nicer decorations and furniture!\p" + .string "In the meantime, want to battle?$" + +SecretBase_Text_Trainer8AcceptBattle: @ 82754B2 + .string "This is my SECRET BASE.\n" + .string "I can't lose!$" + +SecretBase_Text_Trainer8DeclineBattle: @ 82754D8 + .string "I'll battle with you anytime.$" + +SecretBase_Text_Trainer8Defeated:: @ 82754F6 + .string "Huh?\n" + .string "Did I just lose?$" + +SecretBase_Text_Trainer8PostBattle: @ 827550C + .string "I won't lose at collecting decorations.\n" + .string "Come visit again!$" + +SecretBase_Text_Trainer8PreChampion: @ 8275546 + .string "People have told me that you can get\n" + .string "decorations in several ways.\p" + .string "We should have a race to see who can\n" + .string "get nicer decorations and furniture!$" + +SecretBase_Text_Trainer4Intro: @ 82755D2 + .string "I found a spot I liked, and I did it up\n" + .string "with my favorite decorations.\p" + .string "I raise my favorite POKéMON and grow\n" + .string "stronger with it.\p" + .string "That's what I do.\n" + .string "Want to battle with me?$" + +SecretBase_Text_Trainer4AcceptBattle: @ 8275679 + .string "Show me what you're made of!$" + +SecretBase_Text_Trainer4DeclineBattle: @ 8275696 + .string "I guess there are times when you're not\n" + .string "into it.$" + +SecretBase_Text_Trainer4Defeated:: @ 82756C7 + .string "I know exactly what you're made of now.$" + +SecretBase_Text_Trainer4PostBattle: @ 82756EF + .string "We can both become stronger.\n" + .string "Let's keep at it!$" + +SecretBase_Text_Trainer4PreChampion: @ 827571E + .string "I found a spot I liked, and I did it up\n" + .string "with my favorite decorations.\p" + .string "I raise my favorite POKéMON and grow\n" + .string "stronger with it.\p" + .string "Every day is a great day.$" + +SecretBase_Text_Trainer9Intro: @ 82757B5 + .string "You can learn a lot about the taste\n" + .string "and sense of people by the kinds of\l" + .string "decorations they have, and how they\l" + .string "display them.\p" + .string "What do you think of my taste?\n" + .string "Are you speechless?\p" + .string "Want to see my taste in battling?$" + +SecretBase_Text_Trainer9AcceptBattle: @ 8275884 + .string "There's no holding back!$" + +SecretBase_Text_Trainer9DeclineBattle: @ 827589D + .string "I'll be happy to demonstrate my style\n" + .string "anytime.$" + +SecretBase_Text_Trainer9Defeated:: @ 82758CC + .string "You're supremely talented!\n" + .string "Your power seems to be limitless…$" + +SecretBase_Text_Trainer9PostBattle: @ 8275909 + .string "What did you think of my style?\n" + .string "I'll keep on polishing it!$" + +SecretBase_Text_Trainer9PreChampion: @ 8275944 + .string "You can learn a lot about the taste\n" + .string "and sense of people by the kinds of\l" + .string "decorations they have, and how they\l" + .string "display them.\p" + .string "What do you think of my taste?\n" + .string "Are you speechless?$" diff --git a/data/text/shoal_cave.inc b/data/text/shoal_cave.inc index 52ab9fc48e..4a15e74985 100644 --- a/data/text/shoal_cave.inc +++ b/data/text/shoal_cave.inc @@ -1,4 +1,4 @@ -ShoalCave_LowTideEntranceRoom_Text_2A7E0E: @ 82A7E0E +ShoalCave_LowTideEntranceRoom_Text_AreYouPlanningOnGoingInThere: @ 82A7E0E .string "Are you planning on going deep\n" .string "in there?\p" .string "How about bringing me back some\n" @@ -6,27 +6,27 @@ ShoalCave_LowTideEntranceRoom_Text_2A7E0E: @ 82A7E0E .string "I can make you something good if\n" .string "you bring me the ingredients.$" -ShoalCave_LowTideEntranceRoom_Text_2A7EB3: @ 82A7EB3 +ShoalCave_LowTideEntranceRoom_Text_BringMe4ShoalSaltAndShells: @ 82A7EB3 .string "If you bring me four each of the\n" .string "SHOAL SALT and SHOAL SHELLS,\l" .string "I can make you a SHELL BELL…\p" .string "You can get those ingredients\n" .string "every day.$" -ShoalCave_LowTideEntranceRoom_Text_2A7F37: @ 82A7F37 +ShoalCave_LowTideEntranceRoom_Text_WouldYouLikeShellBell: @ 82A7F37 .string "Oh, hey! SHOAL SALT and SHOAL SHELLS!\n" .string "And enough of them, too!\p" .string "Would you like me to make you\n" .string "a SHELL BELL with them?$" -ShoalCave_LowTideEntranceRoom_Text_2A7FAC: @ 82A7FAC +ShoalCave_LowTideEntranceRoom_Text_MakeShellBellRightAway: @ 82A7FAC .string "All righty, then! I'll make you\n" .string "a SHELL BELL right away.\p" .string "… … … … … … … …\n" .string "… … … … … … … …\p" .string "There! Done!$" -ShoalCave_LowTideEntranceRoom_Text_2A8012: @ 82A8012 +ShoalCave_LowTideEntranceRoom_Text_ExplainShellBell: @ 82A8012 .string "Have a POKéMON hold on to that.\n" .string "It'll love it, that's for certain.\p" .string "Why, the SHELL BELL's chime…\n" @@ -34,22 +34,20 @@ ShoalCave_LowTideEntranceRoom_Text_2A8012: @ 82A8012 .string "You can get its ingredients every day,\n" .string "so I can make you more.$" -ShoalCave_LowTideEntranceRoom_Text_2A80C6: @ 82A80C6 +ShoalCave_LowTideEntranceRoom_Text_WantedToMakeShellBell: @ 82A80C6 .string "Oh… Is that so…\n" .string "I wanted to make a SHELL BELL…$" -ShoalCave_LowTideEntranceRoom_Text_2A80F5: @ 82A80F5 +ShoalCave_LowTideEntranceRoom_Text_NoSpaceInYourBag: @ 82A80F5 .string "You don't have space in your BAG\n" .string "if I were to make it for you.\p" .string "You should make room and come back\n" .string "for a SHELL BELL.$" -ShoalCave_LowTideInnerRoom_Text_2A8169: @ 82A8169 -ShoalCave_LowTideLowerRoom_Text_2A8169: @ 82A8169 -ShoalCave_LowTideStairsRoom_Text_2A8169: @ 82A8169 +ShoalCave_Text_WasShoalSaltNowNothing: @ 82A8169 .string "There was some SHOAL SALT here.\n" .string "But, there's nothing here now.$" -ShoalCave_LowTideInnerRoom_Text_2A81A8: @ 82A81A8 +ShoalCave_Text_WasShoallShellNowNothing: @ 82A81A8 .string "There was a SHOAL SHELL here.\n" .string "But, there's nothing here now.$" diff --git a/data/text/trainers.inc b/data/text/trainers.inc index a6432006ca..9e971b2234 100644 --- a/data/text/trainers.inc +++ b/data/text/trainers.inc @@ -1,1322 +1,1322 @@ -Route102_Text_294513: @ 8294513 +Route102_Text_CalvinIntro: @ 8294513 .string "If you have POKéMON with you, then\n" .string "you're an official POKéMON TRAINER!\l" .string "You can't say no to my challenge!$" -Route102_Text_29457C: @ 829457C +Route102_Text_CalvinDefeated: @ 829457C .string "Arrgh, I lost…\n" .string "I should have trained mine more…$" -Route102_Text_2945AC: @ 82945AC +Route102_Text_CalvinPostBattle: @ 82945AC .string "Listen, you. If you're strong,\n" .string "you should have told me before!$" -Route102_Text_2945EB: @ 82945EB +Route102_Text_CalvinRegister: @ 82945EB .string "I've been working hard at this since\n" .string "I saw you before.\p" .string "I'd like to battle you again, so can\n" .string "you register me in your POKéNAV?$" -Route102_Text_294668: @ 8294668 +Route102_Text_CalvinRegisterShort: @ 8294668 .string "I'd like to battle you again, so can\n" .string "you register me in your POKéNAV?$" -Route102_Text_2946AE: @ 82946AE +Route102_Text_CalvinRematchIntro: @ 82946AE .string "Ever since I lost to you, I desperately\n" .string "trained my POKéMON.\l" .string "You can't say no to my challenge!$" -Route102_Text_29470C: @ 829470C +Route102_Text_CalvinRematchDefeated: @ 829470C .string "Arrgh, I lost…\n" .string "Is my training method not right?$" -Route102_Text_29473C: @ 829473C +Route102_Text_CalvinRematchPostBattle: @ 829473C .string "If you're going to get stronger,\n" .string "I'll get stronger, too.$" -Route102_Text_294775: @ 8294775 +Route102_Text_AllenIntro: @ 8294775 .string "Did you just become a TRAINER?\n" .string "We're both beginners!$" -Route102_Text_2947AA: @ 82947AA +Route102_Text_AllenDefeated: @ 82947AA .string "I called you because I thought\n" .string "I could beat you…$" -Route102_Text_2947DB: @ 82947DB +Route102_Text_AllenPostBattle: @ 82947DB .string "I haven't won once yet…\n" .string "I wish I would win soon…$" -Route102_Text_29480C: @ 829480C +Route102_Text_RickIntro: @ 829480C .string "Hahah! Our eyes met!\n" .string "I'll take you on with my BUG POKéMON!$" -Route102_Text_294847: @ 8294847 +Route102_Text_RickDefeated: @ 8294847 .string "Ow! Down and out!$" -Route102_Text_294859: @ 8294859 +Route102_Text_RickPostBattle: @ 8294859 .string "If you lock eyes with a TRAINER,\n" .string "you have to challenge! It's a rule!$" -Route102_Text_29489E: @ 829489E +Route102_Text_TianaIntro: @ 829489E .string "I'm going to keep winning and aim\n" .string "to be the best TRAINER.\p" .string "Help me further my career!$" -Route102_Text_2948F3: @ 82948F3 +Route102_Text_TianaDefeated: @ 82948F3 .string "I ended up furthering your career…$" -Route102_Text_294916: @ 8294916 +Route102_Text_TianaPostBattle: @ 8294916 .string "To keep winning my way up, I see that\n" .string "I have to catch more POKéMON.$" -Route103_Text_29495A: @ 829495A +Route103_Text_DaisyIntro: @ 829495A .string "Did you feel the tug of our\n" .string "soul-soothing fragrance?$" -Route103_Text_29498F: @ 829498F +Route103_Text_DaisyDefeated: @ 829498F .string "You weren't led astray by our aroma…$" -Route103_Text_2949B4: @ 82949B4 +Route103_Text_DaisyPostBattle: @ 82949B4 .string "Aromatherapy is a form of mental\n" .string "healing that works with fragrances.$" -Route103_Text_2949F9: @ 82949F9 +Route103_Text_AmyIntro: @ 82949F9 .string "AMY: I'm AMY.\n" .string "And this is my little sister LIV.\l" .string "We battle together!$" -Route103_Text_294A3D: @ 8294A3D +Route103_Text_AmyDefeated: @ 8294A3D .string "AMY: Uh-oh, we lost.$" -Route103_Text_294A52: @ 8294A52 +Route103_Text_AmyPostBattle: @ 8294A52 .string "AMY: You have to think about all\n" .string "kinds of things when you're battling\l" .string "against two TRAINERS.$" -Route103_Text_294AAE: @ 8294AAE +Route103_Text_AmyNotEnoughPokemon: @ 8294AAE .string "AMY: Uh-oh, you have only one\n" .string "POKéMON with you.\l" .string "You can't battle us like that.$" -Route103_Text_294AFD: @ 8294AFD +Route103_Text_LivIntro: @ 8294AFD .string "LIV: We battle together as one\n" .string "team.$" -Route103_Text_294B22: @ 8294B22 +Route103_Text_LivDefeated: @ 8294B22 .string "LIV: Oh, we lost, big sister…$" -Route103_Text_294B40: @ 8294B40 +Route103_Text_LivPostBattle: @ 8294B40 .string "LIV: We work perfectly together,\n" .string "me and my big sister…\p" .string "But we still lost…$" -Route103_Text_294B8A: @ 8294B8A +Route103_Text_AmyLivRegister: @ 8294B8A .string "LIV: Really, we're a lot better…\n" .string "It's true! We'll show you next time!$" -Route103_Text_294BD0: @ 8294BD0 +Route103_Text_LivNotEnoughPokemon: @ 8294BD0 .string "LIV: If you want to battle us,\n" .string "you have to have two POKéMON!\l" .string "It's not fair if you don't!$" -Route103_Text_294C29: @ 8294C29 +Route103_Text_AmyRematchIntro: @ 8294C29 .string "AMY: I'm AMY.\n" .string "And this is my little sister LIV.\l" .string "We battle together!$" -Route103_Text_294C6D: @ 8294C6D +Route103_Text_AmyRematchDefeated: @ 8294C6D .string "AMY: Aww, boo!\n" .string "We couldn't win again…$" -Route103_Text_294C93: @ 8294C93 +Route103_Text_AmyRematchPostBattle: @ 8294C93 .string "AMY: You have to think about all\n" .string "kinds of things when you're battling\l" .string "against two TRAINERS.$" -Route103_Text_294CEF: @ 8294CEF +Route103_Text_AmyRematchNotEnoughPokemon: @ 8294CEF .string "AMY: Uh-oh, you have only one\n" .string "POKéMON with you.\l" .string "You can't battle us like that.$" -Route103_Text_294D3E: @ 8294D3E +Route103_Text_LivRematchIntro: @ 8294D3E .string "LIV: We battle together as one\n" .string "team.$" -Route103_Text_294D63: @ 8294D63 +Route103_Text_LivRematchDefeated: @ 8294D63 .string "LIV: Awww, we lost again…\n" .string "Big sister…$" -Route103_Text_294D89: @ 8294D89 +Route103_Text_LivRematchPostBattle: @ 8294D89 .string "LIV: We work perfectly together,\n" .string "me and my big sister…\p" .string "But why did we lose again?$" -Route103_Text_294DDB: @ 8294DDB +Route103_Text_LivRematchNotEnoughPokemon: @ 8294DDB .string "LIV: If you want to battle us, you\n" .string "have to have two POKéMON!\l" .string "It's not fair if you don't!$" -Route103_Text_294E34: @ 8294E34 +Route103_Text_AndrewIntro: @ 8294E34 .string "Gah! My fishing line's all snarled up!\n" .string "I'm getting frustrated and mean!\l" .string "That's it! Battle me!$" -Route103_Text_294E92: @ 8294E92 +Route103_Text_AndrewDefeated: @ 8294E92 .string "Gah! Lost it!\n" .string "I'm even more annoyed now!$" -Route103_Text_294EBB: @ 8294EBB +Route103_Text_AndrewPostBattle: @ 8294EBB .string "Gah, I'm still boiling mad…\n" .string "Grrrrr…$" -Route103_Text_294EDF: @ 8294EDF +Route103_Text_MiguelIntro: @ 8294EDF .string "My POKéMON is delightfully adorable!\n" .string "Don't be shy--I'll show you!$" -Route103_Text_294F21: @ 8294F21 +Route103_Text_MiguelDefeated: @ 8294F21 .string "Oh, my gosh!\n" .string "My darling POKéMON!$" -Route103_Text_294F42: @ 8294F42 +Route103_Text_MiguelPostBattle: @ 8294F42 .string "My delightful POKéMON looks darling\n" .string "even when it's fainted!$" -Route103_Text_294F7E: @ 8294F7E +Route103_Text_MiguelRegister: @ 8294F7E .string "I'll get you to come out and look in\n" .string "on my delightful POKéMON again!$" -Route103_Text_294FC3: @ 8294FC3 +Route103_Text_MiguelRematchIntro: @ 8294FC3 .string "Hi, you! My delightfully adorable\n" .string "POKéMON has become more darling!$" -Route103_Text_295006: @ 8295006 +Route103_Text_MiguelRematchDefeated: @ 8295006 .string "Oh!\n" .string "My darling POKéMON!$" -Route103_Text_29501E: @ 829501E +Route103_Text_MiguelRematchPostBattle: @ 829501E .string "The more I spend time with it,\n" .string "the more adorable my POKéMON becomes.$" -Route103_Text_295063: @ 8295063 +Route103_Text_PeteIntro: @ 8295063 .string "This sort of distance…\n" .string "You should just swim it!$" -Route103_Text_295093: @ 8295093 +Route103_Text_PeteDefeated: @ 8295093 .string "Oh, that's good going!$" -Route103_Text_2950AA: @ 82950AA +Route103_Text_PetePostBattle: @ 82950AA .string "Oh, I understand where you're coming\n" .string "from now.\p" .string "If I had a POKéMON that trusty,\n" .string "I'd want to SURF on it, too!$" -Route103_Text_295116: @ 8295116 +Route103_Text_IsabelleIntro: @ 8295116 .string "Watch where you're going!\n" .string "We're going to crash!$" -Route103_Text_295146: @ 8295146 +Route103_Text_IsabelleDefeated: @ 8295146 .string "Groan…$" -Route103_Text_29514D: @ 829514D +Route103_Text_IsabellePostBattle: @ 829514D .string "I'm a poor swimmer so I was practicing…\n" .string "Sorry for almost crashing into you.$" -Route103_Text_295199: @ 8295199 +Route103_Text_RhettIntro: @ 8295199 .string "Whoa!\n" .string "How'd you get into a space this small?$" -Route103_Text_2951C6: @ 82951C6 +Route103_Text_RhettDefeated: @ 82951C6 .string "Whoa!\n" .string "The kid can rock!$" -Route103_Text_2951DE: @ 82951DE +Route103_Text_RhettPostBattle: @ 82951DE .string "Do you like cramped quarters\n" .string "like this?$" -Route103_Text_295206: @ 8295206 +Route103_Text_MarcosIntro: @ 8295206 .string "Did my guitar's wailing draw you in?$" -Route103_Text_29522B: @ 829522B +Route103_Text_MarcosDefeated: @ 829522B .string "My one-man show is ruined…$" -Route103_Text_295246: @ 8295246 +Route103_Text_MarcosPostBattle: @ 8295246 .string "I was playing my guitar where few\n" .string "people were around, but a lot of fans\l" .string "have gathered.\p" .string "Heh, maybe I should turn pro.$" -Route104_Text_2952BB: @ 82952BB +Route104_Text_GinaIntro: @ 82952BB .string "GINA: Okay, let's battle with our\n" .string "POKéMON!$" -Route104_Text_2952E6: @ 82952E6 +Route104_Text_GinaDefeat: @ 82952E6 .string "GINA: Losing upsets me!$" -Route104_Text_2952FE: @ 82952FE +Route104_Text_GinaPostBattle: @ 82952FE .string "GINA: You are strong!\n" .string "We have to train lots more!$" -Route104_Text_295330: @ 8295330 +Route104_Text_GinaNotEnoughMons: @ 8295330 .string "GINA: Oh? Only one POKéMON?\n" .string "Then, we don't battle with you.\p" .string "If there's only one POKéMON, it will\n" .string "be lonesome. That's not nice.$" -Route104_Text_2953AF: @ 82953AF +Route104_Text_MiaIntro: @ 82953AF .string "MIA: We are twins, so we battle\n" .string "POKéMON together.$" -Route104_Text_2953E1: @ 82953E1 +Route104_Text_MiaDefeat: @ 82953E1 .string "MIA: We battled together, but we\n" .string "both lost…$" -Route104_Text_29540D: @ 829540D +Route104_Text_MiaPostBattle: @ 829540D .string "MIA: We will train our POKéMON more\n" .string "and be strong like you.$" -Route104_Text_295449: @ 8295449 +Route104_Text_MiaNotEnoughMons: @ 8295449 .string "MIA: You want to battle with us?\p" .string "It's a big no-no if you don't have two\n" .string "POKéMON with you.\l" .string "We're too strong for you!$" -Route104_Text_2954BD: @ 82954BD +Route104_Text_IvanIntro: @ 82954BD .string "Why keep it a secret?\n" .string "I'm the WATER POKéMON expert!\p" .string "Huh?\n" .string "You don't know me?$" -Route104_Text_295509: @ 8295509 +Route104_Text_IvanDefeat: @ 8295509 .string "I thought I wasn't too bad, if I may\n" .string "say so, but I guess not… Bleah…$" -Route104_Text_29554E: @ 829554E +Route104_Text_IvanPostBattle: @ 829554E .string "I got too into fishing.\n" .string "I forgot I had to raise my POKéMON…$" -Route104_Text_29558A: @ 829558A +Route104_Text_BillyIntro: @ 829558A .string "Leaving footprints in the sand is\n" .string "so fun!$" -Route104_Text_2955B4: @ 82955B4 +Route104_Text_BillyDefeat: @ 82955B4 .string "Waah! I got sand in my runners!\n" .string "They're all gritty!$" -Route104_Text_2955E8: @ 82955E8 +Route104_Text_BillyPostBattle: @ 82955E8 .string "I want to leave my footprints in\n" .string "the sand everywhere, but they\l" .string "disappear quickly…$" -Route104_Text_29563A: @ 829563A +Route104_Text_HaleyIntro: @ 829563A .string "Should I…\n" .string "Or shouldn't I?\p" .string "Okay, sure, I will battle!$" -Route104_Text_29566F: @ 829566F +Route104_Text_HaleyDefeat: @ 829566F .string "I shouldn't have battled…$" -Route104_Text_295689: @ 8295689 +Route104_Text_HaleyPostBattle: @ 8295689 .string "If you're faced with a decision and\n" .string "you let someone else choose for you,\l" .string "you will regret it, however things\l" .string "turn out.$" -Route104_Text_2956FF: @ 82956FF +Route104_Text_HaleyRegister1: @ 82956FF .string "You're strong, but should I register\n" .string "you in my POKéNAV?\l" .string "Maybe I shouldn't…\p" .string "Okay, sure, I will register you!$" -Route104_Text_29576B: @ 829576B +Route104_Text_HaleyRegister2: @ 829576B .string "You're strong, but should I register\n" .string "you in my POKéNAV?\l" .string "Maybe I shouldn't…\p" .string "Okay, sure, I will register you!$" -Route104_Text_2957D7: @ 82957D7 +Route104_Text_HaleyRematchIntro: @ 82957D7 .string "Come on, battle with me!$" -Route104_Text_2957F0: @ 82957F0 +Route104_Text_HaleyRematchDefeat: @ 82957F0 .string "Ohh…\n" .string "I thought I could win…$" -Route104_Text_29580C: @ 829580C +Route104_Text_HaleyPostRematch: @ 829580C .string "I made the decision to battle, so\n" .string "I can accept this loss with grace.\p" .string "I am still upset about losing!$" -Route104_Text_295870: @ 8295870 +Route104_Text_WinstonIntro: @ 8295870 .string "Oh, sure, I'll accept your challenge.\n" .string "I have a lot of money.$" -Route104_Text_2958AD: @ 82958AD +Route104_Text_WinstonDefeat: @ 82958AD .string "Why couldn't I win?$" -Route104_Text_2958C1: @ 82958C1 +Route104_Text_WinstonPostBattle: @ 82958C1 .string "There are some things money can't buy.\n" .string "That's POKéMON…$" -Route104_Text_2958F8: @ 82958F8 +Route104_Text_WinstonRegister1: @ 82958F8 .string "Hm?\n" .string "Ah, you've obtained a POKéNAV.\p" .string "I will gladly register you.\n" .string "After all, I have plenty of money.$" -Route104_Text_29595A: @ 829595A +Route104_Text_WinstonRegister2: @ 829595A .string "Hm?\n" .string "Ah, you've obtained a POKéNAV.\p" .string "I will gladly register you.\n" .string "After all, I have plenty of money.$" -Route104_Text_2959BC: @ 82959BC +Route104_Text_WinstonRematchIntro: @ 82959BC .string "After I lost to you, I learned a bunch\n" .string "of things about POKéMON.$" -Route104_Text_2959FC: @ 82959FC +Route104_Text_WinstonRematchDefeat: @ 82959FC .string "I lost again?\n" .string "Why couldn't I win?$" -Route104_Text_295A1E: @ 8295A1E +Route104_Text_WinstonPostRematch: @ 8295A1E .string "I'm fabulously wealthy, but I can't\n" .string "seem to win at POKéMON…\p" .string "It's so deep, the world of POKéMON…$" -Route104_Text_295A7E: @ 8295A7E +Route104_Text_CindyIntro: @ 8295A7E .string "We must have been fated to meet.\n" .string "May I ask you for a battle?$" -Route104_Text_295ABB: @ 8295ABB +Route104_Text_CindyDefeat: @ 8295ABB .string "Oh, my!$" -Route104_Text_295AC3: @ 8295AC3 +Route104_Text_CindyPostBattle: @ 8295AC3 .string "“Hello” is the beginning of “good-bye.”\n" .string "I hope we meet again.$" -Route104_Text_295B01: @ 8295B01 +Route104_Text_CindyRegister1: @ 8295B01 .string "Hello, we meet again.\p" .string "We seem to be drawn together. Let's\n" .string "register each other in our POKéNAVS.$" -Route104_Text_295B60: @ 8295B60 +Route104_Text_CindyRegister2: @ 8295B60 .string "We should commemorate how we seem\n" .string "to be drawn to each other.\p" .string "Let's register each other in our\n" .string "POKéNAVS.$" -Route104_Text_295BC8: @ 8295BC8 +Route104_Text_CindyRematchIntro: @ 8295BC8 .string "Hello, we meet again.\n" .string "May I ask you for a battle?$" -Route104_Text_295BFA: @ 8295BFA +Route104_Text_CindyRematchDefeat: @ 8295BFA .string "Oh, my…\n" .string "I did the best that I could…$" -Route104_Text_295C1F: @ 8295C1F +Route104_Text_CindyPostRematch: @ 8295C1F .string "“Hello” is the beginning of “good-bye.”\n" .string "I hope we meet again.$" -Route104_Text_295C5D: @ 8295C5D +Route104_Text_DarianIntro: @ 8295C5D .string "I fished up a tough-looking POKéMON!\p" .string "It has this magical quality to it!\n" .string "It surely looks tough, yes it does!$" -Route104_Text_295CC9: @ 8295CC9 +Route104_Text_DarianDefeat: @ 8295CC9 .string "What the…$" -Route104_Text_295CD3: @ 8295CD3 +Route104_Text_DarianPostBattle: @ 8295CD3 .string "Hey, MAGIKARP, you sure don't live up\n" .string "to your name, do you?$" -Route105_Text_295D0F: @ 8295D0F +Route105_Text_FosterIntro: @ 8295D0F .string "There's supposed to be a mystical\n" .string "rock around here.\l" .string "Do you know anything about it?$" -Route105_Text_295D62: @ 8295D62 +Route105_Text_FosterDefeated: @ 8295D62 .string "I was thinking too much about that\n" .string "rock, while my POKéMON remained weak…$" -Route105_Text_295DAB: @ 8295DAB +Route105_Text_FosterPostBattle: @ 8295DAB .string "I can spend hours and hours staring\n" .string "at a nice rock without growing bored.$" -Route105_Text_295DF5: @ 8295DF5 +Route105_Text_LuisIntro: @ 8295DF5 .string "Whew! I was worried that a kid was\n" .string "drowning when I saw you.\p" .string "You seem to be okay, so what do you\n" .string "say to a battle?$" -Route105_Text_295E66: @ 8295E66 +Route105_Text_LuisDefeated: @ 8295E66 .string "Glub… Glub…$" -Route105_Text_295E72: @ 8295E72 +Route105_Text_LuisPostBattle: @ 8295E72 .string "If you are drowning, the signal is to\n" .string "wave one arm toward the beach.$" -Route105_Text_295EB7: @ 8295EB7 +Route105_Text_DominikIntro: @ 8295EB7 .string "Swimming the deep blue sea…\n" .string "It feels the greatest!$" -Route105_Text_295EEA: @ 8295EEA +Route105_Text_DominikDefeated: @ 8295EEA .string "I lost…\n" .string "Now I'm feeling blue…$" -Route105_Text_295F08: @ 8295F08 +Route105_Text_DominikPostBattle: @ 8295F08 .string "Why is the sea blue?\p" .string "I learned about that at the MUSEUM in\n" .string "SLATEPORT, but I forgot.$" -Route105_Text_295F5C: @ 8295F5C +Route105_Text_BeverlyIntro: @ 8295F5C .string "My body feels lighter in the water.\n" .string "It's as if I've gotten slimmer!$" -Route105_Text_295FA0: @ 8295FA0 +Route105_Text_BeverlyDefeated: @ 8295FA0 .string "I'm floating…$" -Route105_Text_295FAE: @ 8295FAE +Route105_Text_PostBattle: @ 8295FAE .string "Your body weight is reduced to just\n" .string "one tenth in the water.\p" .string "That would make me…\n" .string "Whoops! I'm not telling you my weight!$" -Route105_Text_296025: @ 8296025 +Route105_Text_ImaniIntro: @ 8296025 .string "The blue, blue sky…\n" .string "The vast sea…\l" .string "It's so peaceful…$" -Route105_Text_296059: @ 8296059 +Route105_Text_ImaniDefeated: @ 8296059 .string "I lost while I was lounging!$" -Route105_Text_296076: @ 8296076 +Route105_Text_ImaniPostBattle: @ 8296076 .string "I want to be told I'm relaxing to be\n" .string "with. Giggle.$" -Route105_Text_2960A9: @ 82960A9 +Route105_Text_AndresIntro: @ 82960A9 .string "I'm convinced that the sea keeps\n" .string "secrets from us.$" -Route105_Text_2960DB: @ 82960DB +Route105_Text_AndresDefeated: @ 82960DB .string "Yes…\n" .string "I am no good at battling…$" -Route105_Text_2960FA: @ 82960FA +Route105_Text_AndresPostBattle: @ 82960FA .string "I'm sure there are many secrets to be\n" .string "discovered in the world's seas.\p" .string "I mean to find them all!$" -Route105_Text_296159: @ 8296159 +Route105_Text_AndresRegister: @ 8296159 .string "Huh? I'm so weak, but you're willing\n" .string "to register me in your POKéNAV?$" -Route105_Text_29619E: @ 829619E +Route105_Text_AndresRematchIntro: @ 829619E .string "I've told you that I'm weak…\n" .string "Are you sure you want to do this?$" -Route105_Text_2961DD: @ 82961DD +Route105_Text_AndresRematchDefeated: @ 82961DD .string "Yes…\n" .string "I didn't think I could win.$" -Route105_Text_2961FE: @ 82961FE +Route105_Text_AndresRematchPostBattle: @ 82961FE .string "I may be weak at battling, but my\n" .string "drive to explore can't be bested.\p" .string "I will travel the seas all around\n" .string "the world!$" -Route105_Text_29626F: @ 829626F +Route105_Text_JosueIntro: @ 829626F .string "I'm exhausted from swimming.\n" .string "I'm just not used to it.\p" .string "I need a battle for a change of pace!$" -Route105_Text_2962CB: @ 82962CB +Route105_Text_JosueDefeated: @ 82962CB .string "I lost because I battled at sea.$" -Route105_Text_2962EC: @ 82962EC +Route105_Text_JosuePostBattle: @ 82962EC .string "Yeah, for me, the sky is a much better\n" .string "match than the sea.$" -Route106_Text_296327: @ 8296327 +Route106_Text_ElliotIntro: @ 8296327 .string "Which do you prefer, fishing in the\n" .string "sea or a stream?$" -Route106_Text_29635C: @ 829635C +Route106_Text_ElliotDefeated: @ 829635C .string "Like in deep-sea fishing, I lost\n" .string "spectacularly!$" -Route106_Text_29638C: @ 829638C +Route106_Text_ElliotPostBattle: @ 829638C .string "Fishing is the greatest whether it's\n" .string "in the sea or a stream.\l" .string "You agree with me, right?$" -Route106_Text_2963E3: @ 82963E3 +Route106_Text_ElliotRegister: @ 82963E3 .string "Fishing's great, but so is battling.\n" .string "If you don't mind, can we meet again?$" -Route106_Text_29642E: @ 829642E +Route106_Text_ElliotRematchIntro: @ 829642E .string "I caught a bunch of POKéMON fishing.\n" .string "I'll show you an impressive battle!$" -Route106_Text_296477: @ 8296477 +Route106_Text_ElliotRematchDefeated: @ 8296477 .string "I lost again spectacularly!$" -Route106_Text_296493: @ 8296493 +Route106_Text_ElliotRematchPostBattle: @ 8296493 .string "Win or lose, POKéMON are the greatest!\n" .string "You agree with me, right?$" -Route106_Text_2964D4: @ 82964D4 +Route106_Text_NedIntro: @ 82964D4 .string "What do people do if they need to go\n" .string "to a washroom?\p" .string "What if my ROD hooks a big one while\n" .string "I'm in the washroom? I just can't go…$" -Route106_Text_296553: @ 8296553 +Route106_Text_NedDefeated: @ 8296553 .string "I lost because I'm trying to not go\n" .string "to the washroom…$" -Route106_Text_296588: @ 8296588 +Route106_Text_NedPostBattle: @ 8296588 .string "Oh, no! I've got this feeling I'll hook\n" .string "a big one!$" -Route106_Text_2965BB: @ 82965BB +Route106_Text_DouglasIntro: @ 82965BB .string "Hahahah! I'm a lousy runner, but in\n" .string "the water you can't catch me!$" -Route106_Text_2965FD: @ 82965FD +Route106_Text_DouglasDefeated: @ 82965FD .string "I give up!$" -Route106_Text_296608: @ 8296608 +Route106_Text_DouglasPostBattle: @ 8296608 .string "I wouldn't lose in a swim race…$" -Route106_Text_296628: @ 8296628 +Route106_Text_KylaIntro: @ 8296628 .string "The sea is my backyard. I'm not going\n" .string "to take it easy because you're a kid!$" -Route106_Text_296674: @ 8296674 +Route106_Text_KylaDefeated: @ 8296674 .string "Did you take it easy on me by any\n" .string "chance?$" -Route106_Text_29669E: @ 829669E +Route106_Text_KylaPostBattle: @ 829669E .string "Drifting along with the waves…\n" .string "I love it! Why don't you give it a try?$" -Route107_Text_2966E5: @ 82966E5 +Route107_Text_DarrinIntro: @ 82966E5 .string "Yawn…\p" .string "I must have drifted off to sleep while\n" .string "I was drifting in the waves.$" -Route107_Text_29672F: @ 829672F +Route107_Text_DarrinDefeated: @ 829672F .string "Ahaha, I lost…\n" .string "I'll take a snooze, I think…$" -Route107_Text_29675B: @ 829675B +Route107_Text_DarrinPostBattle: @ 829675B .string "Floating and being rocked by\n" .string "the waves--it's like sleeping in\l" .string "a plush, comfy bed.$" -Route107_Text_2967AD: @ 82967AD +Route107_Text_TonyIntro: @ 82967AD .string "The sea is like my backyard.\n" .string "Let's battle!$" -Route107_Text_2967D8: @ 82967D8 +Route107_Text_TonyDefeated: @ 82967D8 .string "I lost on my home field…\n" .string "I'm in shock!$" -Route107_Text_2967FF: @ 82967FF +Route107_Text_TonyPostBattle: @ 82967FF .string "I swim the seas with a heart full of\n" .string "dreams…\p" .string "It's a song!\n" .string "Anyways, I'm swimming some more.$" -Route107_Text_29685A: @ 829685A +Route107_Text_TonyRegister: @ 829685A .string "You've shocked me to the bone!\n" .string "Well, so you won't forget me…$" -Route107_Text_296897: @ 8296897 +Route107_Text_TonyRematchIntro: @ 8296897 .string "Swimming in the big, wide sea,\n" .string "my POKéMON has grown stronger!$" -Route107_Text_2968D5: @ 82968D5 +Route107_Text_TonyRematchDefeated: @ 82968D5 .string "What a shock!\p" .string "My POKéMON has gotten stronger, but\n" .string "I stayed weak as a TRAINER!$" -Route107_Text_296923: @ 8296923 +Route107_Text_TonyRematchPostBattle: @ 8296923 .string "What you learn in battle makes you\n" .string "a stronger TRAINER.\l" .string "The waves taught me that.$" -Route107_Text_296974: @ 8296974 +Route107_Text_DeniseIntro: @ 8296974 .string "Do you know a little town called\n" .string "DEWFORD?$" -Route107_Text_29699E: @ 829699E +Route107_Text_DeniseDefeated: @ 829699E .string "I hate this!$" -Route107_Text_2969AB: @ 82969AB +Route107_Text_DenisePostBattle: @ 82969AB .string "A weird saying is getting really\n" .string "trendy at DEWFORD HALL.$" -Route107_Text_2969E4: @ 82969E4 +Route107_Text_BethIntro: @ 82969E4 .string "Did you want to battle me?\n" .string "Sure, I'll go with you!$" -Route107_Text_296A17: @ 8296A17 +Route107_Text_BethDefeated: @ 8296A17 .string "I wasn't good enough for you.$" -Route107_Text_296A35: @ 8296A35 +Route107_Text_BethPostBattle: @ 8296A35 .string "I think you're going to keep getting\n" .string "better. I'll go for it, too!$" -Route107_Text_296A77: @ 8296A77 +Route107_Text_LisaIntro: @ 8296A77 .string "LISA: We challenge you as a sister\n" .string "and brother!$" -Route107_Text_296AA7: @ 8296AA7 +Route107_Text_LisaDefeated: @ 8296AA7 .string "LISA: Awesome.\n" .string "You're in a different class of tough.$" -Route107_Text_296ADC: @ 8296ADC +Route107_Text_LisaPostBattle: @ 8296ADC .string "LISA: Do you have any friends who\n" .string "would go to the beach with you?$" -Route107_Text_296B1E: @ 8296B1E +Route107_Text_LisaNotEnoughPokemon: @ 8296B1E .string "LISA: If you want to battle with us,\n" .string "bring more POKéMON.$" -Route107_Text_296B57: @ 8296B57 +Route107_Text_RayIntro: @ 8296B57 .string "RAY: We always battle POKéMON,\n" .string "me and my sister.\p" .string "I always lose, but we can beat you\n" .string "2-on-2!$" -Route107_Text_296BB3: @ 8296BB3 +Route107_Text_RayDefeated: @ 8296BB3 .string "RAY: Wowee, you're at a higher level\n" .string "than us!$" -Route107_Text_296BE1: @ 8296BE1 +Route107_Text_RayPostBattle: @ 8296BE1 .string "RAY: My sister gave me my POKéMON.\n" .string "I raised it, and now it's my important\l" .string "partner!$" -Route107_Text_296C34: @ 8296C34 +Route107_Text_RayNotEnoughPokemon: @ 8296C34 .string "RAY: If you want to battle us,\n" .string "go bring some more POKéMON!$" -Route107_Text_296C6F: @ 8296C6F +Route107_Text_CamronIntro: @ 8296C6F .string "I'm in the middle of a triathlon,\n" .string "but I'm nowhere near tired!$" -Route107_Text_296CAD: @ 8296CAD +Route107_Text_CamronDefeated: @ 8296CAD .string "That exhausted me…$" -Route107_Text_296CC0: @ 8296CC0 +Route107_Text_CamronPostBattle: @ 8296CC0 .string "I still have swimming and running left\n" .string "to do after this.\p" .string "Am I going to be okay?$" -Route108_Text_296D10: @ 8296D10 +Route108_Text_JeromeIntro: @ 8296D10 .string "My dream is to swim the world's seven\n" .string "seas!$" -Route108_Text_296D3C: @ 8296D3C +Route108_Text_JeromeDefeated: @ 8296D3C .string "I won't be able to swim the seven seas\n" .string "like this…$" -Route108_Text_296D6E: @ 8296D6E +Route108_Text_JeromePostBattle: @ 8296D6E .string "Playing with marine POKéMON is one of\n" .string "the pleasures of swimming!$" -Route108_Text_296DAF: @ 8296DAF +Route108_Text_MatthewIntro: @ 8296DAF .string "Ahoy, there! Are you going out to\n" .string "the ABANDONED SHIP, too?$" -Route108_Text_296DEA: @ 8296DEA +Route108_Text_MatthewDefeated: @ 8296DEA .string "I'm sinking!\n" .string "Glub… Glub…$" -Route108_Text_296E03: @ 8296E03 +Route108_Text_MatthewPostBattle: @ 8296E03 .string "Some people even go inside that\n" .string "ABANDONED SHIP.$" -Route108_Text_296E33: @ 8296E33 +Route108_Text_TaraIntro: @ 8296E33 .string "My liar of a boyfriend told me that\n" .string "I look great in a bikini…$" -Route108_Text_296E71: @ 8296E71 +Route108_Text_TaraDefeated: @ 8296E71 .string "Oh, boo!$" -Route108_Text_296E7A: @ 8296E7A +Route108_Text_TaraPostBattle: @ 8296E7A .string "Even if it's a lie, I love being told\n" .string "I look great…\l" .string "We girls are so complex…$" -Route108_Text_296EC7: @ 8296EC7 +Route108_Text_MissyIntro: @ 8296EC7 .string "I love the sea!\n" .string "I forget all my worries when I swim!$" -Route108_Text_296EFC: @ 8296EFC +Route108_Text_MissyDefeated: @ 8296EFC .string "When I lose a battle, I get all\n" .string "stressed out!$" -Route108_Text_296F2A: @ 8296F2A +Route108_Text_MissyPostBattle: @ 8296F2A .string "Work off your stress by swimming!\n" .string "It's so healthy!$" -Route108_Text_296F5D: @ 8296F5D +Route108_Text_CoryIntro: @ 8296F5D .string "I love WATER-type POKéMON.\n" .string "I love other POKéMON, too!$" -Route108_Text_296F93: @ 8296F93 +Route108_Text_CoryDefeated: @ 8296F93 .string "Waaah! I lost!\n" .string "Waaah! Waaah!$" -Route108_Text_296FB0: @ 8296FB0 +Route108_Text_CoryPostBattle: @ 8296FB0 .string "Shouting is good for me!\n" .string "It uplifts me!$" -Route108_Text_296FD8: @ 8296FD8 +Route108_Text_CoryRegister: @ 8296FD8 .string "I love tough TRAINERS, too!\n" .string "Register me in your POKéNAV!$" -Route108_Text_297011: @ 8297011 +Route108_Text_CoryRematchIntro: @ 8297011 .string "Win or lose, I love battling at sea!$" -Route108_Text_297036: @ 8297036 +Route108_Text_CoryRematchDefeated: @ 8297036 .string "Waaah! I lost again!\n" .string "Waaah! Waaah!$" -Route108_Text_297059: @ 8297059 +Route108_Text_CoryRematchPostBattle: @ 8297059 .string "If you're faced with a challenge,\n" .string "try shouting at the sea!$" -Route108_Text_297094: @ 8297094 +Route108_Text_CarolinaIntro: @ 8297094 .string "I take huge pride in my POKéMON.\n" .string "We'll show you one speedy battle!$" -Route108_Text_2970D7: @ 82970D7 +Route108_Text_CarolinaDefeated: @ 82970D7 .string "That wasn't cute at all.$" -Route108_Text_2970F0: @ 82970F0 +Route108_Text_CarolinaPostBattle: @ 82970F0 .string "Since I'm at sea like this, I wouldn't\n" .string "mind putting on a pink, frilly swimsuit…$" -Route109_Text_297140: @ 8297140 +Route109_Text_DavidIntro: @ 8297140 .string "Hiyah! Look at my chiseled abs!\n" .string "This is what you call “cut”!$" -Route109_Text_29717D: @ 829717D +Route109_Text_DavidDefeated: @ 829717D .string "Aiyah!\n" .string "Flubbed out!$" -Route109_Text_297191: @ 8297191 +Route109_Text_DavidPostBattle: @ 8297191 .string "Hiyah!\p" .string "My sculpted abs have nothing to do\n" .string "with POKéMON battles!$" -Route109_Text_2971D1: @ 82971D1 +Route109_Text_AliceIntro: @ 82971D1 .string "Are you properly protected against\n" .string "the sun?$" -Route109_Text_2971FD: @ 82971FD +Route109_Text_AliceDefeated: @ 82971FD .string "Ouch, ouch, ouch!$" -Route109_Text_29720F: @ 829720F +Route109_Text_AlicePostBattle: @ 829720F .string "Cheeks are the most prone to burning!$" -Route109_Text_297235: @ 8297235 +Route109_Text_HueyIntro: @ 8297235 .string "I've laid anchor in ports around\n" .string "the world, but SLATEPORT's the best.$" -Route109_Text_29727B: @ 829727B +Route109_Text_HueyDefeated: @ 829727B .string "You're the best!$" -Route109_Text_29728C: @ 829728C +Route109_Text_HueyPostBattle: @ 829728C .string "In the best port was the best\n" .string "TRAINER…$" -Route109_Text_2972B3: @ 82972B3 +Route109_Text_EdmondIntro: @ 82972B3 .string "Urrrrppp…\n" .string "Battle? With me?$" -Route109_Text_2972CE: @ 82972CE +Route109_Text_EdmondDefeated: @ 82972CE .string "Urp… Ooooooohhhhhh…\n" .string "Urrrrpppp…$" -Route109_Text_2972ED: @ 82972ED +Route109_Text_EdmondPostBattle: @ 82972ED .string "I'm usually stronger than this!\n" .string "I'm just seasick as a dog!\p" .string "I'm a SAILOR, but…$" -Route109_Text_29733B: @ 829733B +Route109_Text_RickyIntro: @ 829733B .string "I'm thirsty… I could go for a SODA POP\n" .string "at the SEASHORE HOUSE…$" -Route109_Text_297379: @ 8297379 +Route109_Text_RickyDefeated: @ 8297379 .string "Groan…$" -Route109_Text_297380: @ 8297380 +Route109_Text_RickyPostBattle: @ 8297380 .string "I'm getting famished… My inner tube\n" .string "looks like a giant doughnut…$" -Route109_Text_2973C1: @ 82973C1 +Route109_Text_RickyRegister: @ 82973C1 .string "Will you have another match with me\n" .string "when I'm not all thirsty?$" -Route109_Text_2973FF: @ 82973FF +Route109_Text_RickyRematchIntro: @ 82973FF .string "I'm hungry, but I've got enough pep in\n" .string "me for a battle!$" -Route109_Text_297437: @ 8297437 +Route109_Text_RickyRematchDefeated: @ 8297437 .string "I lost…\n" .string "It's because I'm hungry…$" -Route109_Text_297458: @ 8297458 +Route109_Text_RickyRematchPostBattle: @ 8297458 .string "When you eat on a beach, everything\n" .string "seems to taste a little better.$" -Route109_Text_29749C: @ 829749C +Route109_Text_LolaIntro: @ 829749C .string "Doesn't a beach umbrella look like\n" .string "a giant flower?$" -Route109_Text_2974CF: @ 82974CF +Route109_Text_LolaDefeated: @ 82974CF .string "Mommy!$" -Route109_Text_2974D6: @ 82974D6 +Route109_Text_LolaPostBattle: @ 82974D6 .string "If you look at the beach from the sky,\n" .string "it looks like a big flower garden!$" -Route109_Text_297520: @ 8297520 +Route109_Text_LolaRegister: @ 8297520 .string "Me?\n" .string "I'm here every day!$" -Route109_Text_297538: @ 8297538 +Route109_Text_LolaRematchIntro: @ 8297538 .string "I'm not losing to you again!\n" .string "That's why I have my inner tube!$" -Route109_Text_297576: @ 8297576 +Route109_Text_LolaRematchDefeated: @ 8297576 .string "Mommy!$" -Route109_Text_29757D: @ 829757D +Route109_Text_LolaRematchPostBattle: @ 829757D .string "If I have an inner tube, me and my\n" .string "POKéMON's cuteness goes way up!$" -Route109_Text_2975C0: @ 82975C0 +Route109_Text_AustinaIntro: @ 82975C0 .string "I can't swim without my inner tube,\n" .string "but I won't lose at POKéMON!$" -Route109_Text_297601: @ 8297601 +Route109_Text_AustinaDefeated: @ 8297601 .string "Did I lose because I have an inner\n" .string "tube?$" -Route109_Text_29762A: @ 829762A +Route109_Text_AustinaPostBattle: @ 829762A .string "My inner tube is a fashion item.\n" .string "I can't be seen without it.$" -Route109_Text_297667: @ 8297667 +Route109_Text_GwenIntro: @ 8297667 .string "Hi, big TRAINER.\n" .string "Will you battle with me?$" -Route109_Text_297691: @ 8297691 +Route109_Text_GwenDefeated: @ 8297691 .string "Oh, you're strong.$" -Route109_Text_2976A4: @ 82976A4 +Route109_Text_GwenPostBattle: @ 82976A4 .string "How did you get to be so strong?$" -Route109_Text_2976C5: @ 82976C5 +Route109_Text_CarterIntro: @ 82976C5 .string "Wahahah! This dude's going to catch\n" .string "himself a big one!$" -Route109_Text_2976FC: @ 82976FC +Route109_Text_CarterDefeated: @ 82976FC .string "This dude just lost one…$" -Route109_Text_297715: @ 8297715 +Route109_Text_CarterPostBattle: @ 8297715 .string "This dude thinks you're a big one.\n" .string "No, you're a big-one-to-be!$" -Route109_Text_297754: @ 8297754 +Route109_Text_PaulIntro: @ 8297754 .string "PAUL: Well, this is a mood-breaker.\p" .string "I wish you wouldn't disturb our\n" .string "precious time together.$" -Route109_Text_2977B0: @ 82977B0 +Route109_Text_PaulDefeated: @ 82977B0 .string "PAUL: Well, I give up.$" -Route109_Text_2977C7: @ 82977C7 +Route109_Text_PaulPostBattle: @ 82977C7 .string "PAUL: Well, don't tell anyone that\n" .string "we're here.\l" .string "This is just our private world of two!$" -Route109_Text_29781D: @ 829781D +Route109_Text_PaulNotEnoughPokemon: @ 829781D .string "PAUL: We're totally, deeply in love.\n" .string "That's why we make our POKéMON battle\l" .string "together.$" -Route109_Text_297872: @ 8297872 +Route109_Text_MelIntro: @ 8297872 .string "MEL: We're, like, totally in love.\n" .string "Our romance is heating up all of HOENN!$" -Route109_Text_2978BD: @ 82978BD +Route109_Text_MelDefeated: @ 82978BD .string "MEL: We lost, and it's my fault!\n" .string "PAUL will hate me!$" -Route109_Text_2978F1: @ 82978F1 +Route109_Text_MelPostBattle: @ 82978F1 .string "MEL: Um, PAUL, are you angry with me?\n" .string "Please don't be angry.$" -Route109_Text_29792E: @ 829792E +Route109_Text_MelNotEnoughPokemon: @ 829792E .string "MEL: We're, like, deeply and truly in love.\n" .string "That's why we make our POKéMON\l" .string "battle together.$" -Route109_Text_29798A: @ 829798A +Route109_Text_ChandlerIntro: @ 829798A .string "Tadaah! See?\n" .string "My inner tube's round!$" -Route109_Text_2979AE: @ 82979AE +Route109_Text_ChandlerDefeated: @ 82979AE .string "Oh, oh!\n" .string "Too bad!$" -Route109_Text_2979BF: @ 82979BF +Route109_Text_ChandlerPostBattle: @ 82979BF .string "After I showed you my round inner\n" .string "tube, too…$" -Route109_Text_2979EC: @ 82979EC +Route109_Text_HaileyIntro: @ 82979EC .string "I can't swim, so I'm pretending\n" .string "to swim.$" -Route109_Text_297A15: @ 8297A15 +Route109_Text_HaileyDefeated: @ 8297A15 .string "I thought so!\n" .string "I didn't think we could win.$" -Route109_Text_297A40: @ 8297A40 +Route109_Text_HaileyPostBattle: @ 8297A40 .string "When I learn how to swim, I think\n" .string "my POKéMON will become tougher.$" -Route109_Text_297A82: @ 8297A82 +Route109_Text_ElijahIntro: @ 8297A82 .string "For a guy as macho as me, this kind\n" .string "of POKéMON is the perfect match!$" -Route109_Text_297AC7: @ 8297AC7 +Route109_Text_ElijahDefeated: @ 8297AC7 .string "I'm cool even in defeat, hey?$" -Route109_Text_297AE5: @ 8297AE5 +Route109_Text_ElijahPostBattle: @ 8297AE5 .string "For a guy as macho as me, a port\n" .string "is the perfect setting!\p" .string "I guess I'll head for SLATEPORT.$" -Route110_Text_297B3F: @ 8297B3F +Route110_Text_JacobIntro: @ 8297B3F .string "Whoa! Watch it!\n" .string "I guess you're not used to BIKE racing.$" -Route110_Text_297B77: @ 8297B77 +Route110_Text_JacobDefeated: @ 8297B77 .string "Whoa!\n" .string "My brakes failed!$" -Route110_Text_297B8F: @ 8297B8F +Route110_Text_JacobPostBattle: @ 8297B8F .string "Flat tires and brake problems can\n" .string "cause serious injury!\l" .string "Inspect your BIKE for problems!$" -Route110_Text_297BE7: @ 8297BE7 +Route110_Text_AnthonyIntro: @ 8297BE7 .string "Yo, you!\n" .string "Can you keep up with my speed?$" -Route110_Text_297C0F: @ 8297C0F +Route110_Text_AnthonyDefeated: @ 8297C0F .string "Crash and burn!$" -Route110_Text_297C1F: @ 8297C1F +Route110_Text_AnthonyPostBattle: @ 8297C1F .string "Speed alone won't let me win at POKéMON.\n" .string "I need to reconsider this…$" -Route110_Text_297C63: @ 8297C63 +Route110_Text_BenjaminIntro: @ 8297C63 .string "Don't panic if your BIKE's going fast!$" -Route110_Text_297C8A: @ 8297C8A +Route110_Text_BenjaminDefeated: @ 8297C8A .string "I shouldn't panic during POKéMON\n" .string "battles…$" -Route110_Text_297CB4: @ 8297CB4 +Route110_Text_BenjaminPostBattle: @ 8297CB4 .string "There's no need to panic or stress.\n" .string "Take it easy. There's plenty of time.$" -Route110_Text_297CFE: @ 8297CFE +Route110_Text_BenjaminRegister: @ 8297CFE .string "I'll keep chugging on without stressing.\n" .string "Give me a shout if you're up to it.$" -Route110_Text_297D4B: @ 8297D4B +Route110_Text_BenjaminRematchIntro: @ 8297D4B .string "Aren't you going a little too fast?\n" .string "Take it easy and let's battle.$" -Route110_Text_297D8E: @ 8297D8E +Route110_Text_BenjaminRematchDefeated: @ 8297D8E .string "I didn't panic, but I still lost…$" -Route110_Text_297DB0: @ 8297DB0 +Route110_Text_BenjaminRematchPostBattle: @ 8297DB0 .string "There's no need to panic or stress.\n" .string "Take it easy. There's plenty of time.$" -Route110_Text_297DFA: @ 8297DFA +Route110_Text_AbigailIntro: @ 8297DFA .string "The triathlon is hard in the extreme.\p" .string "You have to complete the three events\n" .string "of swimming, cycling, and running.$" -Route110_Text_297E69: @ 8297E69 +Route110_Text_AbigailDefeated: @ 8297E69 .string "POKéMON battles are hard, too!$" -Route110_Text_297E88: @ 8297E88 +Route110_Text_AbigailPostBattle: @ 8297E88 .string "I'm exhausted, so I need a break.\n" .string "It's important to get proper rest.$" -Route110_Text_297ECD: @ 8297ECD +Route110_Text_AbigailRegister: @ 8297ECD .string "You know, I like you!\n" .string "Let's have a rematch on CYCLING ROAD.$" -Route110_Text_297F09: @ 8297F09 +Route110_Text_AbigailRematchIntro: @ 8297F09 .string "Isn't it neat to hold a battle while\n" .string "cycling?$" -Route110_Text_297F37: @ 8297F37 +Route110_Text_AbigailRematchDefeated: @ 8297F37 .string "Wow…\n" .string "How could you be so strong?$" -Route110_Text_297F58: @ 8297F58 +Route110_Text_AbigailRematchPostBattle: @ 8297F58 .string "Were you going after a record?\p" .string "I'm sorry if I held you up!$" -Route110_Text_297F93: @ 8297F93 +Route110_Text_JasmineIntro: @ 8297F93 .string "I've been riding without stopping.\n" .string "My thighs are like rocks!$" -Route110_Text_297FD0: @ 8297FD0 +Route110_Text_JasmineDefeated: @ 8297FD0 .string "I'm worried about muscle cramps…$" -Route110_Text_297FF1: @ 8297FF1 +Route110_Text_JasminePostBattle: @ 8297FF1 .string "Oh, you have some GYM BADGES?\n" .string "No wonder you're so strong!$" -Route110_Text_29802B: @ 829802B +Route110_Text_EdwardIntro: @ 829802B .string "I have foreseen your intentions!\n" .string "I cannot possibly lose!$" -Route110_Text_298064: @ 8298064 +Route110_Text_EdwardDefeated: @ 8298064 .string "I failed to prophesize my own demise!$" -Route110_Text_29808A: @ 829808A +Route110_Text_EdwardPostBattle: @ 829808A .string "I see your future…\p" .string "Hmm…\n" .string "I see a shining light…$" -Route110_Text_2980B9: @ 82980B9 +Route110_Text_JaclynIntro: @ 82980B9 .string "Ahahahaha!\n" .string "I'll dazzle you with my wonders!$" -Route110_Text_2980E5: @ 82980E5 +Route110_Text_JaclynDefeated: @ 82980E5 .string "I wondrously lost!$" -Route110_Text_2980F8: @ 82980F8 +Route110_Text_JaclynPostBattle: @ 82980F8 .string "You managed to win only because it was\n" .string "a wonder! Yes, a wonder!\l" .string "Don't think you can win all the time!$" -Route110_Text_29815E: @ 829815E +Route110_Text_EdwinIntro: @ 829815E .string "Could I see your POKéMON?\n" .string "Just one look, please?$" -Route110_Text_29818F: @ 829818F +Route110_Text_EdwinDefeated: @ 829818F .string "I wanted to complete\n" .string "my collection…$" -Route110_Text_2981B3: @ 82981B3 +Route110_Text_EdwinPostBattle: @ 82981B3 .string "When I see a POKéMON that I don't know,\n" .string "my passion as a collector is ignited!$" -Route110_Text_298201: @ 8298201 +Route110_Text_EdwinRegister: @ 8298201 .string "I like collecting MATCH CALL\n" .string "registrations, too…$" -Route110_Text_298232: @ 8298232 +Route110_Text_EdwinRematchIntro: @ 8298232 .string "Hi, have you caught any new POKéMON?\p" .string "Could I see your POKéMON?\n" .string "Just one look, please?$" -Route110_Text_298288: @ 8298288 +Route110_Text_EdwinRematchDefeated: @ 8298288 .string "Your POKéMON…\n" .string "I envy you.$" -Route110_Text_2982A2: @ 82982A2 +Route110_Text_EdwinRematchPostBattle: @ 82982A2 .string "Oh, I long to make all rare POKéMON\n" .string "mine!$" -Route110_Text_2982CC: @ 82982CC +Route110_Text_DaleIntro: @ 82982CC .string "Hey!\n" .string "Don't sneak up behind me like that!$" -Route110_Text_2982F5: @ 82982F5 +Route110_Text_DaleDefeated: @ 82982F5 .string "I lost!\n" .string "Drat!$" -Route110_Text_298303: @ 8298303 +Route110_Text_DalePostBattle: @ 8298303 .string "Fishing is all about concentration.\n" .string "You have to focus on the floater.$" -Route110_Text_298349: @ 8298349 +Route110_Text_IsabelIntro: @ 8298349 .string "Ahahaha! I would go anywhere to show\n" .string "off my delightful POKéMON.$" -Route110_Text_298389: @ 8298389 +Route110_Text_IsabelDefeated: @ 8298389 .string "Oh, dear, this won't do.$" -Route110_Text_2983A2: @ 82983A2 +Route110_Text_IsabelPostBattle: @ 82983A2 .string "Rather than battling, perhaps I should\n" .string "show off my POKéMON at the FAN CLUB.$" -Route110_Text_2983EE: @ 82983EE +Route110_Text_IsabelRegister: @ 82983EE .string "That wasn't close to what I could\n" .string "do to show off my POKéMON.\p" .string "I'll have you as my captive audience\n" .string "as often as possible!$" -Route110_Text_298466: @ 8298466 +Route110_Text_IsabelRematchIntro: @ 8298466 .string "Ahahahaha! I would be happy to show\n" .string "off my POKéMON as often as you like!$" -Route110_Text_2984AF: @ 82984AF +Route110_Text_IsabelRematchDefeated: @ 82984AF .string "Oh, dear, this won't do.$" -Route110_Text_2984C8: @ 82984C8 +Route110_Text_IsabelRematchPostBattle: @ 82984C8 .string "I don't think that I could ever stop\n" .string "from showing off my POKéMON.\p" .string "But I like to battle, too!$" -Route110_Text_298525: @ 8298525 +Route110_Text_TimmyIntro: @ 8298525 .string "I found some cool POKéMON in the grass\n" .string "around here!$" -Route110_Text_298559: @ 8298559 +Route110_Text_TimmyDefeated: @ 8298559 .string "Being cool isn't enough to win…$" -Route110_Text_298579: @ 8298579 +Route110_Text_TimmyPostBattle: @ 8298579 .string "It's hard to battle with POKéMON you\n" .string "just caught.$" -Route110_Text_2985AB: @ 82985AB +Route110_Text_AlyssaIntro: @ 82985AB .string "I fell off CYCLING ROAD…\p" .string "I'll get over my embarrassment by\n" .string "battling with you!$" -Route110_Text_2985F9: @ 82985F9 +Route110_Text_AlyssaDefeated: @ 82985F9 .string "Oops!\n" .string "I ended up losing!$" -Route110_Text_298612: @ 8298612 +Route110_Text_AlyssaPostBattle: @ 8298612 .string "Falling… Losing…\n" .string "This is so humiliating for me!$" -Route110_Text_298642: @ 8298642 +Route110_Text_JosephIntro: @ 8298642 .string "Okay! Full-throttle time! If you can't\n" .string "groove, you get left behind!$" -Route110_Text_298686: @ 8298686 +Route110_Text_JosephDefeated: @ 8298686 .string "You got into the groove all right…$" -Route110_Text_2986A9: @ 82986A9 +Route110_Text_JosephPostBattle: @ 82986A9 .string "This isn't going to bring me down!\n" .string "Losing has made me a better man!$" -Route110_Text_2986ED: @ 82986ED +Route110_Text_KalebIntro: @ 82986ED .string "When cute POKéMON help each other…\n" .string "You won't see a more adorable sight!$" -Route110_Text_298735: @ 8298735 +Route110_Text_KalebDefeated: @ 8298735 .string "Have you no compassion or pity?$" -Route110_Text_298755: @ 8298755 +Route110_Text_KalebPostBattle: @ 8298755 .string "Okay, okay, you've done the best you\n" .string "could, my pretties.$" -Route111_Text_29878E: @ 829878E +Route111_Text_DrewIntro: @ 829878E .string "Oh, hey! Those GO-GOGGLES suit you.\n" .string "But I think they look better on me.\p" .string "Let's decide who they look better on\n" .string "with a battle!$" -Route111_Text_29880A: @ 829880A +Route111_Text_DrewDefeat: @ 829880A .string "I couldn't see what was happening at\n" .string "my sides because of the GO-GOGGLES.$" -Route111_Text_298853: @ 8298853 +Route111_Text_DrewPostBattle: @ 8298853 .string "The GO-GOGGLES make it possible to\n" .string "get through sandstorms.\l" .string "That makes me happy!$" -Route111_Text_2988A3: @ 82988A3 +Route111_Text_HeidiIntro: @ 82988A3 .string "I'm having a picnic in the desert.\p" .string "You can always find a TRAINER,\n" .string "so I can enjoy a battle here, too!$" -Route111_Text_298908: @ 8298908 +Route111_Text_HeidiDefeat: @ 8298908 .string "Ohhh! You're mean!$" -Route111_Text_29891B: @ 829891B +Route111_Text_HeidiPostBattle: @ 829891B .string "When you're battling in a sandstorm,\n" .string "watch out for your POKéMON's HP.\p" .string "It can faint if you don't keep\n" .string "an eye on it!$" -Route111_Text_29898E: @ 829898E +Route111_Text_BeauIntro: @ 829898E .string "Wearing these GO-GOGGLES makes me\n" .string "feel like a superhero.\l" .string "Right now, nobody can beat me!$" -Route111_Text_2989E6: @ 82989E6 +Route111_Text_BeauDefeat: @ 82989E6 .string "I can't win on spirit alone…$" -Route111_Text_298A03: @ 8298A03 +Route111_Text_BeauPostBattle: @ 8298A03 .string "I'm going to be a real hero one day.\n" .string "I'm going to work harder to make me\l" .string "and my POKéMON stronger.$" -Route111_Text_298A65: @ 8298A65 +Route111_Text_BeckyIntro: @ 8298A65 .string "I heard there are fossils to be found\n" .string "in the desert. Where could they be?$" -Route111_Text_298AAF: @ 8298AAF +Route111_Text_BeckyDefeat: @ 8298AAF .string "I came up short…$" -Route111_Text_298AC0: @ 8298AC0 +Route111_Text_BeckyPostBattle: @ 8298AC0 .string "If they can find fossils in the desert,\n" .string "it must have been a sea before.$" -Route111_Text_298B08: @ 8298B08 +Route111_Text_DustyIntro: @ 8298B08 .string "For thirty years I have searched for\n" .string "ancient ruins!\l" .string "I am to be challenged?$" -Route111_Text_298B53: @ 8298B53 +Route111_Text_DustyDefeat: @ 8298B53 .string "While I have searched for ruins,\n" .string "I've not searched for strong POKéMON.$" -Route111_Text_298B9A: @ 8298B9A +Route111_Text_DustyPostBattle: @ 8298B9A .string "For thirty years I have searched for\n" .string "ancient ruins!\p" .string "No, wait, was that forty years?\n" .string "Which was it now?$" -Route111_Text_298C00: @ 8298C00 +Route111_Text_DustyRegister: @ 8298C00 .string "I haven't been searching for any\n" .string "tough POKéMON.\p" .string "But, for some reason, I sure do like\n" .string "POKéNAVS.$" -Route111_Text_298C5F: @ 8298C5F +Route111_Text_DustyRematchIntro: @ 8298C5F .string "For thirty years I have searched for\n" .string "ancient ruins!\p" .string "No, wait, was that forty years?\n" .string "Anyway, am I to be challenged?$" -Route111_Text_298CD2: @ 8298CD2 +Route111_Text_DustyRematchDefeat: @ 8298CD2 .string "I've found no ruins, nor have I found\n" .string "any strong POKéMON…$" -Route111_Text_298D0C: @ 8298D0C +Route111_Text_DustyPostRematch: @ 8298D0C .string "For thirty years I have searched for\n" .string "ancient ruins!\p" .string "No, wait, was that forty years\n" @@ -1324,215 +1324,215 @@ Route111_Text_298D0C: @ 8298D0C .string "Hmm… It could even be fifty…\n" .string "How long have I been at this?$" -Route111_Text_298DA9: @ 8298DA9 +Route111_Text_TravisIntro: @ 8298DA9 .string "I'm full of pep!\n" .string "And my POKéMON is peppy, too!$" -Route111_Text_298DD8: @ 8298DD8 +Route111_Text_TravisDefeat: @ 8298DD8 .string "My POKéMON lost its pep…$" -Route111_Text_298DF1: @ 8298DF1 +Route111_Text_TravisPostBattle: @ 8298DF1 .string "When I see a TRAINER with a lot of pep,\n" .string "I can't help looking.$" -Route111_Text_298E2F: @ 8298E2F +Route111_Text_IreneIntro: @ 8298E2F .string "I don't know where you're going,\n" .string "but would you like to battle?$" -Route111_Text_298E6E: @ 8298E6E +Route111_Text_IreneDefeat: @ 8298E6E .string "Oh, you're disgustingly good!$" -Route111_Text_298E8C: @ 8298E8C +Route111_Text_IrenePostBattle: @ 8298E8C .string "I'm thinking that I should go to\n" .string "MT. CHIMNEY, but the view around\l" .string "here is very nice, too.$" -Route111_Text_298EE6: @ 8298EE6 +Route111_Text_DaisukeIntro: @ 8298EE6 .string "To train myself, I challenge all\n" .string "whom I meet!$" -Route111_Text_298F14: @ 8298F14 +Route111_Text_DaisukeDefeat: @ 8298F14 .string "Uncle! I give up!$" -Route111_Text_298F26: @ 8298F26 +Route111_Text_DaisukePostBattle: @ 8298F26 .string "All I can do is keep training until\n" .string "I can defeat strong TRAINERS such\l" .string "as yourself.$" -Route111_Text_298F79: @ 8298F79 +Route111_Text_WiltonIntro: @ 8298F79 .string "Show me how much you've toughened\n" .string "your POKéMON.$" -Route111_Text_298FA9: @ 8298FA9 +Route111_Text_WiltonDefeat: @ 8298FA9 .string "I see, you've toughened them\n" .string "considerably.$" -Route111_Text_298FD4: @ 8298FD4 +Route111_Text_WiltonPostBattle: @ 8298FD4 .string "POKéMON and TRAINERS learn much\n" .string "through battling.\p" .string "What's important is to never give up\n" .string "even if you lose.$" -Route111_Text_29903D: @ 829903D +Route111_Text_WiltonRegister: @ 829903D .string "There is much to be learned from\n" .string "your training style.\p" .string "I request a rematch if it\n" .string "behooves you.$" -Route111_Text_29909B: @ 829909B +Route111_Text_WiltonRematchIntro: @ 829909B .string "We're training here to elevate our\n" .string "game to the next level.\l" .string "Stay and train with us!$" -Route111_Text_2990EE: @ 82990EE +Route111_Text_WiltonRematchDefeat: @ 82990EE .string "Ooh, you're decent!$" -Route111_Text_299102: @ 8299102 +Route111_Text_WiltonPostRematch: @ 8299102 .string "Since you're that strong, you should\n" .string "aim for the POKéMON LEAGUE.$" -Route111_Text_299143: @ 8299143 +Route111_Text_BrookeIntro: @ 8299143 .string "Oh, your POKéMON look like serious\n" .string "actors.\l" .string "I have to ask you for an engagement.$" -Route111_Text_299193: @ 8299193 +Route111_Text_BrookeDefeat: @ 8299193 .string "They didn't just look strong,\n" .string "they are strong!$" -Route111_Text_2991C2: @ 82991C2 +Route111_Text_BrookePostBattle: @ 82991C2 .string "I thought I was raising my POKéMON\n" .string "diligently, but, oh no, there is still\l" .string "much to be done.$" -Route111_Text_29921D: @ 829921D +Route111_Text_BrookeRegister: @ 829921D .string "I wish I could become friends with\n" .string "more strong people like you!$" -Route111_Text_29925D: @ 829925D +Route111_Text_BrookeRematchIntro: @ 829925D .string "You can make POKéMON stronger or\n" .string "weaker depending on the moves you\l" .string "teach them.\p" .string "What kinds of moves do your POKéMON\n" .string "know?$" -Route111_Text_2992D6: @ 82992D6 +Route111_Text_BrookeRematchDefeat: @ 82992D6 .string "You've taught them good moves!$" -Route111_Text_2992F5: @ 82992F5 +Route111_Text_BrookePostRematch: @ 82992F5 .string "Maybe I should have stopped my\n" .string "POKéMON from evolving until they\l" .string "learned better moves…$" -Route111_Text_29934B: @ 829934B +Route111_Text_CeliaIntro: @ 829934B .string "I shouldn't have come to a place like\n" .string "this for a picnic!$" -Route111_Text_299384: @ 8299384 +Route111_Text_CeliaDefeat: @ 8299384 .string "Aww!\n" .string "I really shouldn't have come!$" -Route111_Text_2993A7: @ 82993A7 +Route111_Text_CeliaPostBattle: @ 82993A7 .string "In a sandstorm like this, I can't set\n" .string "the places for a picnic even with my\l" .string "GO-GOGGLES on…$" -Route111_Text_299401: @ 8299401 +Route111_Text_BryanIntro: @ 8299401 .string "How tough are you?\n" .string "We shall expose that secret!$" -Route111_Text_299431: @ 8299431 +Route111_Text_BryanDefeat: @ 8299431 .string "Oh! Your strength!\n" .string "It is shrouded in mystery!$" -Route111_Text_29945F: @ 829945F +Route111_Text_BryanPostBattle: @ 829945F .string "This desert hoards mysteries in\n" .string "its shifting sands!$" -Route111_Text_299493: @ 8299493 +Route111_Text_BrandenIntro: @ 8299493 .string "I'll give you some of my sandwich\n" .string "if you'll lose.$" -Route111_Text_2994C5: @ 82994C5 +Route111_Text_BrandenDefeat: @ 82994C5 .string "Tch! I thought a sandwich would be\n" .string "enough of a bribe…$" -Route111_Text_2994FB: @ 82994FB +Route111_Text_BrandenPostBattle: @ 82994FB .string "My SANDSHREW loves eating\n" .string "my sandwiches.$" -Route111_Text_299524: @ 8299524 +Route111_Text_TyronIntro: @ 8299524 .string "This is my favorite kind of POKéMON!$" -Route111_Text_299549: @ 8299549 +Route111_Text_TyronDefeat: @ 8299549 .string "Wait!\n" .string "Did you get a good look at my POKéMON?$" -Route111_Text_299576: @ 8299576 +Route111_Text_TyronPostBattle: @ 8299576 .string "When having a battle, I get a kick out\n" .string "of showing off my POKéMON.\p" .string "I bet everyone feels that way when\n" .string "they enter a battle!$" -Route111_Text_2995F0: @ 82995F0 +Route111_Text_CelinaIntro: @ 82995F0 .string "Show me how to put a little excitement\n" .string "into my life.$" -Route111_Text_299625: @ 8299625 +Route111_Text_CelinaDefeat: @ 8299625 .string "Oh… My…\n" .string "That was too much excitement.$" -Route111_Text_29964B: @ 829964B +Route111_Text_CelinaPostBattle: @ 829964B .string "My pulse is still racing.\n" .string "You're one fabulous TRAINER.$" -Route111_Text_299682: @ 8299682 +Route111_Text_HaydenIntro: @ 8299682 .string "When you're as famished as I am,\n" .string "there is no room for pity!$" -Route111_Text_2996BE: @ 82996BE +Route111_Text_HaydenDefeat: @ 82996BE .string "Groan…$" -Route111_Text_2996C5: @ 82996C5 +Route111_Text_HaydenPostBattle: @ 82996C5 .string "My stomach is grumbling!\n" .string "Maybe I can grill some BERRIES…$" -Route111_Text_2996FE: @ 82996FE +Route111_Text_BiancaIntro: @ 82996FE .string "Did you come from MAUVILLE?\n" .string "Then you should be full of energy!$" -Route111_Text_29973D: @ 829973D +Route111_Text_BiancaDefeat: @ 829973D .string "Ooh lala!\n" .string "That's a lot to take!$" -Route111_Text_29975D: @ 829975D +Route111_Text_BiancaPostBattle: @ 829975D .string "This road here…\n" .string "You have quite a ways to travel.$" -Route112_Text_29978E: @ 829978E +Route112_Text_BriceIntro: @ 829978E .string "Hahahaha!\n" .string "How about we have a battle?\l" .string "You and me!\l" .string "Hahahaha!$" -Route112_Text_2997CA: @ 82997CA +Route112_Text_BriceDefeat: @ 82997CA .string "I lost!\n" .string "Hahahaha!$" -Route112_Text_2997DC: @ 82997DC +Route112_Text_BricePostBattle: @ 82997DC .string "Hahahahaha! Something flew up my nose!\n" .string "Hahahaha-hatchoo!$" -Route112_Text_299815: @ 8299815 +Route112_Text_TrentIntro: @ 8299815 .string "My legs are solid from pounding up\n" .string "and down the mountains.\p" .string "They're not going to buckle easily,\n" .string "friend!$" -Route112_Text_29987C: @ 829987C +Route112_Text_TrentDefeat: @ 829987C .string "Ouch! My legs cramped up!$" -Route112_Text_299896: @ 8299896 +Route112_Text_TrentPostBattle: @ 8299896 .string "Try hiking, and I mean really\n" .string "pounding, on these mountain trails\l" .string "with a heavy pack weighing dozens of\l" @@ -1540,2318 +1540,2318 @@ Route112_Text_299896: @ 8299896 .string "That, my friend, will get your body\n" .string "into serious shape.$" -Route112_Text_29993C: @ 829993C +Route112_Text_TrentRegister: @ 829993C .string "Ow, my legs have cramped up.\n" .string "Can you grab me some bandages from\l" .string "my backpack?\p" .string "No, that's my POKéNAV!\n" .string "Oh, fine, I'll register you.$" -Route112_Text_2999BD: @ 82999BD +Route112_Text_TrentRematchIntro: @ 82999BD .string "I've been keeping fit by hiking.\n" .string "Power, I have in spades!$" -Route112_Text_2999F7: @ 82999F7 +Route112_Text_TrentRematchDefeat: @ 82999F7 .string "I got trumped in power?$" -Route112_Text_299A0F: @ 8299A0F +Route112_Text_TrentRematchPostBattle: @ 8299A0F .string "I hear there are some seriously tough\n" .string "TRAINERS on top of MT. CHIMNEY.\p" .string "I intend to get up there and give them\n" .string "a challenge!$" -Route112_Text_299A89: @ 8299A89 +Route112_Text_LarryIntro: @ 8299A89 .string "I'm strong.\n" .string "I won't cry if I lose.$" -Route112_Text_299AAC: @ 8299AAC +Route112_Text_LarryDefeat: @ 8299AAC .string "Waaaah!$" -Route112_Text_299AB4: @ 8299AB4 +Route112_Text_LarryPostBattle: @ 8299AB4 .string "I'm not crying because I miss my mommy!\n" .string "Snivel…$" -Route112_Text_299AE4: @ 8299AE4 +Route112_Text_CarolIntro: @ 8299AE4 .string "When you're out on a picnic, why,\n" .string "you simply have to sing!\l" .string "Come on, sing with me!$" -Route112_Text_299B36: @ 8299B36 +Route112_Text_CarolDefeat: @ 8299B36 .string "Oh, you're so strong!$" -Route112_Text_299B4C: @ 8299B4C +Route112_Text_CarolPostBattle: @ 8299B4C .string "It doesn't matter if you're good or bad\n" .string "at singing or POKéMON.\p" .string "If you have the most fun, you win!$" -Route112_Text_299BAE: @ 8299BAE +Route112_Text_BryantIntro: @ 8299BAE .string "I caught hot POKéMON in FIERY PATH!\n" .string "Take a look!$" -Route112_Text_299BDF: @ 8299BDF +Route112_Text_BryantDefeat: @ 8299BDF .string "What a bumpy ride that was!$" -Route112_Text_299BFB: @ 8299BFB +Route112_Text_BryantPostBattle: @ 8299BFB .string "I like the way you battle.\n" .string "It has a certain flair to it.$" -Route112_Text_299C34: @ 8299C34 +Route112_Text_ShaylaIntro: @ 8299C34 .string "Oh, aren't you an adorable TRAINER!\n" .string "Please, I need a romantic battle!\l" .string "I'm somewhat decent!$" -Route112_Text_299C8F: @ 8299C8F +Route112_Text_ShaylaDefeat: @ 8299C8F .string "Oh, how strong you are!\n" .string "You've given me quite a shock!$" -Route112_Text_299CC6: @ 8299CC6 +Route112_Text_ShaylaPostBattle: @ 8299CC6 .string "Are you busy right now?\n" .string "I was thinking that maybe we can have\l" .string "a rematch right now…\l" .string "But it's all right if you're busy.$" -Route113_Text_299D3C: @ 8299D3C +Route113_Text_JaylenIntro: @ 8299D3C .string "Can you guess why it's so cool\n" .string "around here?$" -Route113_Text_299D68: @ 8299D68 +Route113_Text_JaylenDefeat: @ 8299D68 .string "Peeuuw!\n" .string "That stinks!$" -Route113_Text_299D7D: @ 8299D7D +Route113_Text_JaylenPostBattle: @ 8299D7D .string "The volcanic ash blocks the sun,\n" .string "so it doesn't get very warm.\p" .string "That's good for me--I can't stand heat!$" -Route113_Text_299DE3: @ 8299DE3 +Route113_Text_DillonIntro: @ 8299DE3 .string "The volcano's eruption is proof that\n" .string "the earth is alive.$" -Route113_Text_299E1C: @ 8299E1C +Route113_Text_DillonDefeat: @ 8299E1C .string "You're some kind of strong!$" -Route113_Text_299E38: @ 8299E38 +Route113_Text_DillonPostBattle: @ 8299E38 .string "Ouch! Owww! I can't see!\n" .string "I got ashes in my eyelashes!\p" .string "Get it? Ashes and eyelashes?\p" .string "Okay, that was bad, sorry…$" -Route113_Text_299EA6: @ 8299EA6 +Route113_Text_MadelineIntro: @ 8299EA6 .string "I use this parasol to ward off this\n" .string "filthy, yucky volcanic ash from\l" .string "my dear NUMEL.$" -Route113_Text_299EF9: @ 8299EF9 +Route113_Text_MadelineDefeat: @ 8299EF9 .string "Huff, huff…\n" .string "I am exhausted…$" -Route113_Text_299F15: @ 8299F15 +Route113_Text_MadelinePostBattle: @ 8299F15 .string "You're very good at this.\n" .string "I must say I'm impressed!$" -Route113_Text_299F49: @ 8299F49 +Route113_Text_MadelineRegister: @ 8299F49 .string "Here, slide under my parasol.\n" .string "Let me register you in my POKéNAV.$" -Route113_Text_299F8A: @ 8299F8A +Route113_Text_MadelineRematchIntro: @ 8299F8A .string "Oh, hello, hasn't it been a while?\n" .string "May I invite you to battle?$" -Route113_Text_299FC9: @ 8299FC9 +Route113_Text_MadelineRematchDefeat: @ 8299FC9 .string "Oh, how super!$" -Route113_Text_299FD8: @ 8299FD8 +Route113_Text_MadelinePostRematch: @ 8299FD8 .string "You've remained very good at this.\n" .string "I must say I'm impressed!$" -Route113_Text_29A015: @ 829A015 +Route113_Text_LaoIntro: @ 829A015 .string "From out of the ashes I leap! Hiyah!\n" .string "I challenge thee!$" -Route113_Text_29A04C: @ 829A04C +Route113_Text_LaoDefeat: @ 829A04C .string "With honor I admit defeat!$" -Route113_Text_29A067: @ 829A067 +Route113_Text_LaoPostBattle: @ 829A067 .string "I must refine the art of concealment.\n" .string "I bid thee farewell.$" -Route113_Text_29A0A2: @ 829A0A2 +Route113_Text_LaoRegister: @ 829A0A2 .string "Yiiyaah! Witness the ancient ninja\n" .string "technique of POKéNAV registration!$" -Route113_Text_29A0E8: @ 829A0E8 +Route113_Text_LaoRematchIntro: @ 829A0E8 .string "From out of the ashes I leap! Hiyah!\n" .string "I challenge thee!$" -Route113_Text_29A11F: @ 829A11F +Route113_Text_LaoRematchDefeat: @ 829A11F .string "With honor I admit defeat!$" -Route113_Text_29A13A: @ 829A13A +Route113_Text_LaoPostRematch: @ 829A13A .string "My flawless concealment was let down\n" .string "by my immature battle skills…\p" .string "I bid thee farewell.$" -Route113_Text_29A192: @ 829A192 +Route113_Text_LungIntro: @ 829A192 .string "Thanks for finding me!\n" .string "But we still have to battle!$" -Route113_Text_29A1C6: @ 829A1C6 +Route113_Text_LungDefeat: @ 829A1C6 .string "I'll use my ninjutsu on you…\n" .string "“VOLCANIC ASH SWIRL CLOAK”!\p" .string "…What?\n" .string "It's already over?$" -Route113_Text_29A219: @ 829A219 +Route113_Text_LungPostBattle: @ 829A219 .string "You know what's crummy about hiding?\n" .string "It's lonely if no one comes along.$" -Route113_Text_29A261: @ 829A261 +Route113_Text_ToriIntro: @ 829A261 .string "TORI: Both of us, we collect ashes.\n" .string "We battle POKéMON, too.$" -Route113_Text_29A29D: @ 829A29D +Route113_Text_ToriDefeat: @ 829A29D .string "TORI: We lost… It's boring, so I'm going\n" .string "to get some more ashes.$" -Route113_Text_29A2DE: @ 829A2DE +Route113_Text_ToriPostBattle: @ 829A2DE .string "TORI: How much ash do we have?\n" .string "Enough for a WHITE FLUTE, I hope.$" -Route113_Text_29A31F: @ 829A31F +Route113_Text_ToriNotEnoughMons: @ 829A31F .string "TORI: We want to battle 2-on-2.\n" .string "If we didn't, we would lose!$" -Route113_Text_29A35C: @ 829A35C +Route113_Text_TiaIntro: @ 829A35C .string "TIA: Both of us, we collect ashes.\n" .string "We battle POKéMON, too.$" -Route113_Text_29A397: @ 829A397 +Route113_Text_TiaDefeat: @ 829A397 .string "TIA: We couldn't win… It's boring,\n" .string "so I'm getting some more ashes.$" -Route113_Text_29A3DA: @ 829A3DA +Route113_Text_TiaPostBattle: @ 829A3DA .string "TIA: We have a lot of ashes!\n" .string "I think enough for a WHITE FLUTE!$" -Route113_Text_29A419: @ 829A419 +Route113_Text_TiaNotEnoughMons: @ 829A419 .string "TIA: We want to battle 2-on-2.\n" .string "If we don't, we won't win!$" -Route113_Text_29A453: @ 829A453 +Route113_Text_CobyIntro: @ 829A453 .string "Pfft, with these wings I can\n" .string "flick you away!$" -Route113_Text_29A480: @ 829A480 +Route113_Text_CobyDefeat: @ 829A480 .string "A… What?$" -Route113_Text_29A489: @ 829A489 +Route113_Text_CobyPostBattle: @ 829A489 .string "I don't know what to say when I get\n" .string "beaten so easily…$" -Route113_Text_29A4BF: @ 829A4BF +Route113_Text_SophieIntro: @ 829A4BF .string "The warmth here is making me drowsy.\n" .string "Battle with me so I can stay awake.$" -Route113_Text_29A508: @ 829A508 +Route113_Text_SophieDefeat: @ 829A508 .string "This is a dream.\n" .string "I'm sure of it…$" -Route113_Text_29A529: @ 829A529 +Route113_Text_SophiePostBattle: @ 829A529 .string "Losing burns me up…\n" .string "I'm just going to sleep right here!\l" .string "Zzz!$" -Route113_Text_29A566: @ 829A566 +Route113_Text_LawrenceIntro: @ 829A566 .string "Were you maybe in the middle\n" .string "of gathering volcanic ashes?$" -Route113_Text_29A5A0: @ 829A5A0 +Route113_Text_LawrenceDefeat: @ 829A5A0 .string "Ehehe.\n" .string "We got beaten cleanly.$" -Route113_Text_29A5BE: @ 829A5BE +Route113_Text_LawrencePostBattle: @ 829A5BE .string "I ought to hide under the ashes, too.$" -Route113_Text_29A5E4: @ 829A5E4 +Route113_Text_WyattIntro: @ 829A5E4 .string "Y-you want to battle with me?\n" .string "Even though I just caught my POKéMON?$" -Route113_Text_29A628: @ 829A628 +Route113_Text_WyattDefeat: @ 829A628 .string "Y-you're all happy to win?\n" .string "Even though it's only me?$" -Route113_Text_29A65D: @ 829A65D +Route113_Text_WyattPostBattle: @ 829A65D .string "Oh, so now you want to say a word to\n" .string "the loser?\p" .string "Aren't you just the coolest?\n" .string "Humph!$" -Route114_Text_29A6B1: @ 829A6B1 +Route114_Text_LennyIntro: @ 829A6B1 .string "Yodelayhihoo!\p" .string "… …\p" .string "You're supposed to shout\n" .string "“yodelayhihoo” since it doesn't\l" .string "echo here!$" -Route114_Text_29A707: @ 829A707 +Route114_Text_LennyDefeat: @ 829A707 .string "Yodelayhihoo!$" -Route114_Text_29A715: @ 829A715 +Route114_Text_LennyPostBattle: @ 829A715 .string "When I was a wee tyke, I believed there\n" .string "was someone copying me and shouting\l" .string "back, “Yodelayhihoo.”$" -Route114_Text_29A777: @ 829A777 +Route114_Text_LucasIntro: @ 829A777 .string "If you're not prepared, you shouldn't\n" .string "be up in the mountains!$" -Route114_Text_29A7B5: @ 829A7B5 +Route114_Text_LucasDefeat: @ 829A7B5 .string "The mountains are unforgiving…$" -Route114_Text_29A7D4: @ 829A7D4 +Route114_Text_LucasPostBattle: @ 829A7D4 .string "In the winter, mountains turn deadly\n" .string "with blizzards and avalanches.$" -Route114_Text_29A818: @ 829A818 +Route114_Text_ShaneIntro: @ 829A818 .string "Camping's fun! You can fish, roast\n" .string "marshmallows, and tell spooky stories!\p" .string "But the best of all are the POKéMON\n" .string "battles!$" -Route114_Text_29A88F: @ 829A88F +Route114_Text_ShaneDefeat: @ 829A88F .string "Way too strong!$" -Route114_Text_29A89F: @ 829A89F +Route114_Text_ShanePostBattle: @ 829A89F .string "I think it's great that I can go\n" .string "camping with my POKéMON.$" -Route114_Text_29A8D9: @ 829A8D9 +Route114_Text_NancyIntro: @ 829A8D9 .string "I need to exercise after a meal.\n" .string "Let's have a match!$" -Route114_Text_29A90E: @ 829A90E +Route114_Text_NancyDefeat: @ 829A90E .string "Oh, no!$" -Route114_Text_29A916: @ 829A916 +Route114_Text_NancyPostBattle: @ 829A916 .string "I just had a tasty meal.\n" .string "I'm getting drowsy…$" -Route114_Text_29A943: @ 829A943 +Route114_Text_SteveIntro: @ 829A943 .string "Ufufufufufu…\n" .string "Want to battle against my POKéMON?$" -Route114_Text_29A973: @ 829A973 +Route114_Text_SteveDefeat: @ 829A973 .string "M-My POKéMON…$" -Route114_Text_29A981: @ 829A981 +Route114_Text_StevePostBattle: @ 829A981 .string "A big body that's all lumpy and hard,\n" .string "enormous horns, and vicious fangs…\p" .string "Ufufufufu…\n" .string "I wish I had a POKéMON like that…$" -Route114_Text_29A9F7: @ 829A9F7 +Route114_Text_SteveRegister: @ 829A9F7 .string "Don't forget what you've done to me!\n" .string "I'll make it so you can't forget!$" -Route114_Text_29AA3E: @ 829AA3E +Route114_Text_SteveRematchIntro: @ 829AA3E .string "Ufufufufufu…\n" .string "Come on, battle my POKéMON…$" -Route114_Text_29AA67: @ 829AA67 +Route114_Text_SteveRematchDefeat: @ 829AA67 .string "I feel so lucky getting to see your\n" .string "POKéMON…$" -Route114_Text_29AA94: @ 829AA94 +Route114_Text_StevePostRematch: @ 829AA94 .string "Ufufufufufu…\p" .string "When I see POKéMON battling, I get all\n" .string "shivery and shaky…$" -Route114_Text_29AADB: @ 829AADB +Route114_Text_BernieIntro: @ 829AADB .string "If you're lighting a campfire,\n" .string "make sure you have water handy.$" -Route114_Text_29AB1A: @ 829AB1A +Route114_Text_BernieDefeat: @ 829AB1A .string "Thanks for dousing my fire!$" -Route114_Text_29AB36: @ 829AB36 +Route114_Text_BerniePostBattle: @ 829AB36 .string "You really do have to be careful with\n" .string "any sort of fire in a forest.\p" .string "Don't ever underestimate the power\n" .string "of fire.$" -Route114_Text_29ABA6: @ 829ABA6 +Route114_Text_BernieRegister: @ 829ABA6 .string "You set my spirit on fire.\n" .string "Let's register each other!$" -Route114_Text_29ABDC: @ 829ABDC +Route114_Text_BernieRematchIntro: @ 829ABDC .string "Have you learned to keep water handy\n" .string "for campfires?$" -Route114_Text_29AC10: @ 829AC10 +Route114_Text_BernieRematchDefeat: @ 829AC10 .string "I got hosed down before I could\n" .string "flare up, I guess.$" -Route114_Text_29AC43: @ 829AC43 +Route114_Text_BerniePostRematch: @ 829AC43 .string "You really do have to be careful with\n" .string "any sort of fire in a forest.\p" .string "Don't ever underestimate the power\n" .string "of fire.$" -Route114_Text_29ACB3: @ 829ACB3 +Route114_Text_ClaudeIntro: @ 829ACB3 .string "If we were fishing, you wouldn't stand\n" .string "a chance against me.\l" .string "So, bring on your POKéMON!$" -Route114_Text_29AD0A: @ 829AD0A +Route114_Text_ClaudeDefeat: @ 829AD0A .string "If we were fishing, I would've won…$" -Route114_Text_29AD2E: @ 829AD2E +Route114_Text_ClaudePostBattle: @ 829AD2E .string "I think I'll try my luck at landing\n" .string "a big one at METEOR FALLS.\p" .string "There has to be something in there.\n" .string "I just know it.$" -Route114_Text_29ADA1: @ 829ADA1 +Route114_Text_NolanIntro: @ 829ADA1 .string "I like to fish. But I also like to\n" .string "battle!\p" .string "If anyone challenges me, I'm there,\n" .string "even if I'm fishing.$" -Route114_Text_29AE05: @ 829AE05 +Route114_Text_NolanDefeat: @ 829AE05 .string "I like to battle, but that doesn't\n" .string "mean I'm good at it…$" -Route114_Text_29AE3D: @ 829AE3D +Route114_Text_NolanPostBattle: @ 829AE3D .string "This time I'll do it!\p" .string "I always think that, so I can't walk\n" .string "away from fishing or POKéMON.$" -Route114_Text_29AE96: @ 829AE96 +Route114_Text_TyraIntro: @ 829AE96 .string "TYRA: Well, sure.\n" .string "I'm in the mood for it.\l" .string "I'll teach you a little about POKéMON.$" -Route114_Text_29AEE7: @ 829AEE7 +Route114_Text_TyraDefeat: @ 829AEE7 .string "TYRA: What an amazing battle style!$" -Route114_Text_29AF0B: @ 829AF0B +Route114_Text_TyraPostBattle: @ 829AF0B .string "TYRA: I was teaching my junior IVY\n" .string "about POKéMON.$" -Route114_Text_29AF3D: @ 829AF3D +Route114_Text_TyraNotEnoughMons: @ 829AF3D .string "TYRA: Giggle…\n" .string "If you want to battle with us, just one\l" .string "POKéMON isn't enough!$" -Route114_Text_29AF89: @ 829AF89 +Route114_Text_IvyIntro: @ 829AF89 .string "IVY: Who taught you about POKéMON?$" -Route114_Text_29AFAC: @ 829AFAC +Route114_Text_IvyDefeat: @ 829AFAC .string "IVY: What an amazing battle style!$" -Route114_Text_29AFCF: @ 829AFCF +Route114_Text_IvyPostBattle: @ 829AFCF .string "IVY: I started training POKéMON\n" .string "because TYRA, my student mentor,\l" .string "taught me!$" -Route114_Text_29B01B: @ 829B01B +Route114_Text_IvyNotEnoughMons: @ 829B01B .string "IVY: Do you only have one POKéMON?\n" .string "I think it must feel lonesome.$" -Route114_Text_29B05D: @ 829B05D +Route114_Text_KaiIntro: @ 829B05D .string "I landed a big one!\n" .string "A huge one, I tell you!$" -Route114_Text_29B089: @ 829B089 +Route114_Text_KaiDefeat: @ 829B089 .string "What was that about?\n" .string "Did mine lose in size?$" -Route114_Text_29B0B5: @ 829B0B5 +Route114_Text_KaiPostBattle: @ 829B0B5 .string "Okay!\n" .string "I'll just fish me a bigger one!$" -Route114_Text_29B0DB: @ 829B0DB +Route114_Text_CharlotteIntro: @ 829B0DB .string "Me!\n" .string "I'm not just a pretty face!$" -Route114_Text_29B0FB: @ 829B0FB +Route114_Text_CharlotteDefeat: @ 829B0FB .string "That wasn't cute in the least!$" -Route114_Text_29B11A: @ 829B11A +Route114_Text_CharlottePostBattle: @ 829B11A .string "I don't want a POKéMON that's\n" .string "just cute.\p" .string "I adore cute ones that have a quirk\n" .string "or two!$" -Route114_Text_29B16F: @ 829B16F +Route114_Text_AngelinaIntro: @ 829B16F .string "Have you made your POKéMON evolve\n" .string "very much?$" -Route114_Text_29B19C: @ 829B19C +Route114_Text_AngelinaDefeat: @ 829B19C .string "Oh, I see.\n" .string "That's good to know.$" -Route114_Text_29B1BC: @ 829B1BC +Route114_Text_AngelinaPostBattle: @ 829B1BC .string "Some POKéMON change so much when\n" .string "they evolve, it's startling!$" -Route115_Text_29B1FA: @ 829B1FA +Route115_Text_TimothyIntro: @ 829B1FA .string "Hm…\n" .string "You seem rather capable…\l" .string "Let me keep you company!$" -Route115_Text_29B230: @ 829B230 +Route115_Text_TimothyDefeat: @ 829B230 .string "You're much stronger than\n" .string "I'd imagined!$" -Route115_Text_29B258: @ 829B258 +Route115_Text_TimothyPostBattle: @ 829B258 .string "There is no such thing as a born genius.\n" .string "It all depends on effort!\l" .string "That is what I believe…$" -Route115_Text_29B2B3: @ 829B2B3 +Route115_Text_TimothyRegister: @ 829B2B3 .string "Hmm… A loss this thorough has been\n" .string "a distant memory.\p" .string "If you would allow it, I wish for\n" .string "another opportunity to do battle.$" -Route115_Text_29B32C: @ 829B32C +Route115_Text_TimothyRematchIntro: @ 829B32C .string "Hm… As always, your agility speaks\n" .string "for itself.\l" .string "Come, keep me company!$" -Route115_Text_29B372: @ 829B372 +Route115_Text_TimothyRematchDefeat: @ 829B372 .string "As strong as ever!$" -Route115_Text_29B385: @ 829B385 +Route115_Text_TimothyPostRematch: @ 829B385 .string "All it takes is effort!\p" .string "I lost because I haven't put in enough\n" .string "effort!$" -Route115_Text_29B3CC: @ 829B3CC +Route115_Text_KoichiIntro: @ 829B3CC .string "You!\p" .string "My MACHOP!\p" .string "Demand a battle!$" -Route115_Text_29B3ED: @ 829B3ED +Route115_Text_KoichiDefeat: @ 829B3ED .string "Ouch, ouch, ouch!$" -Route115_Text_29B3FF: @ 829B3FF +Route115_Text_KoichiPostBattle: @ 829B3FF .string "My MACHOP crew!\p" .string "So long as they seek power, I will\n" .string "grow strong with them!$" -Route115_Text_29B449: @ 829B449 +Route115_Text_NobIntro: @ 829B449 .string "My strongest skill is busting bricks\n" .string "with my forehead!$" -Route115_Text_29B480: @ 829B480 +Route115_Text_NobDefeat: @ 829B480 .string "Ugwaaaah!\n" .string "My head is busted!$" -Route115_Text_29B49D: @ 829B49D +Route115_Text_NobPostBattle: @ 829B49D .string "I've been teaching my POKéMON karate.\p" .string "It looks like they'll get a lot better\n" .string "than me. I'm excited about that.$" -Route115_Text_29B50B: @ 829B50B +Route115_Text_NobRegister: @ 829B50B .string "You impress me! Give me a rematch\n" .string "after I redo my training!$" -Route115_Text_29B547: @ 829B547 +Route115_Text_NobRematchIntro: @ 829B547 .string "After you beat me, we trained hard to\n" .string "improve our skills.\l" .string "Come on, give us a rematch!$" -Route115_Text_29B59D: @ 829B59D +Route115_Text_NobRematchDefeat: @ 829B59D .string "Ugwaaah!\n" .string "We lost again!$" -Route115_Text_29B5B5: @ 829B5B5 +Route115_Text_NobPostRematch: @ 829B5B5 .string "My POKéMON will grow stronger!\n" .string "I'll redouble my training!$" -Route115_Text_29B5EF: @ 829B5EF +Route115_Text_CyndyIntro: @ 829B5EF .string "This beach is my secret training spot!\n" .string "Don't come butting in!$" -Route115_Text_29B62D: @ 829B62D +Route115_Text_CyndyDefeat: @ 829B62D .string "I haven't trained enough!$" -Route115_Text_29B647: @ 829B647 +Route115_Text_CyndyPostBattle: @ 829B647 .string "The sand acts as a cushion to reduce\n" .string "impact and prevent injury.\l" .string "This is the perfect place to train.$" -Route115_Text_29B6AB: @ 829B6AB +Route115_Text_CyndyRegister: @ 829B6AB .string "Okay, fine, you're free to come here.\n" .string "In return, I'd like to battle you again.$" -Route115_Text_29B6FA: @ 829B6FA +Route115_Text_CyndyRematchIntro: @ 829B6FA .string "Okay, let's get this battle on!$" -Route115_Text_29B71A: @ 829B71A +Route115_Text_CyndyRematchDefeat: @ 829B71A .string "I can battle but my POKéMON…$" -Route115_Text_29B737: @ 829B737 +Route115_Text_CyndyPostRematch: @ 829B737 .string "Even when I lose, I still get some\n" .string "enjoyment out of it.\l" .string "It must be that I love POKéMON.$" -Route115_Text_29B78F: @ 829B78F +Route115_Text_HectorIntro: @ 829B78F .string "I have a rare POKéMON!\n" .string "Would you like me to show you?$" -Route115_Text_29B7C5: @ 829B7C5 +Route115_Text_HectorDefeat: @ 829B7C5 .string "You…\n" .string "You want my POKéMON, don't you?$" -Route115_Text_29B7EA: @ 829B7EA +Route115_Text_HectorPostBattle: @ 829B7EA .string "I have this rare POKéMON.\n" .string "It's enough to keep me satisfied.$" -Route115_Text_29B826: @ 829B826 +Route115_Text_KyraIntro: @ 829B826 .string "I'll battle while I'm running!\n" .string "Try to keep up with me!$" -Route115_Text_29B85D: @ 829B85D +Route115_Text_KyraDefeat: @ 829B85D .string "Gasp, gasp…$" -Route115_Text_29B869: @ 829B869 +Route115_Text_KyraPostBattle: @ 829B869 .string "I made the mistake of trying to battle\n" .string "while running!\p" .string "I should take a run to calm down…$" -Route115_Text_29B8C1: @ 829B8C1 +Route115_Text_JaidenIntro: @ 829B8C1 .string "Take that!\n" .string "Ultra POKéMON ninja attack!$" -Route115_Text_29B8E8: @ 829B8E8 +Route115_Text_JaidenDefeat: @ 829B8E8 .string "Waaah!\n" .string "Our strategy failed!$" -Route115_Text_29B904: @ 829B904 +Route115_Text_JaidenPostBattle: @ 829B904 .string "But my POKéMON were ultra,\n" .string "weren't they?$" -Route115_Text_29B92D: @ 829B92D +Route115_Text_HeleneIntro: @ 829B92D .string "My POKéMON have black belt-level\n" .string "strength!$" -Route115_Text_29B958: @ 829B958 +Route115_Text_HeleneDefeat: @ 829B958 .string "This is too humiliating!$" -Route115_Text_29B971: @ 829B971 +Route115_Text_HelenePostBattle: @ 829B971 .string "I rarely meet anyone who's better\n" .string "than me…\p" .string "I get it now!\n" .string "You're a GYM LEADER, aren't you?$" -Route115_Text_29B9CB: @ 829B9CB +Route115_Text_AlixIntro: @ 829B9CB .string "Our eyes met!\n" .string "There's no getting away now!$" -Route115_Text_29B9F6: @ 829B9F6 +Route115_Text_AlixDefeat: @ 829B9F6 .string "Gah!\n" .string "Not bad!$" -Route115_Text_29BA04: @ 829BA04 +Route115_Text_AlixPostBattle: @ 829BA04 .string "Oh, well.\n" .string "I think I will TELEPORT home.$" -Route115_Text_29BA2C: @ 829BA2C +Route115_Text_MarleneIntro: @ 829BA2C .string "You've disturbed my meditation…\n" .string "You'll be punished for it.$" -Route115_Text_29BA67: @ 829BA67 +Route115_Text_MarleneDefeat: @ 829BA67 .string "You've broken my concentration!$" -Route115_Text_29BA87: @ 829BA87 +Route115_Text_MarlenePostBattle: @ 829BA87 .string "I was meditating with my POKéMON.\n" .string "But this place isn't very peaceful…$" -Route116_Text_29BACD: @ 829BACD +Route116_Text_ClarkIntro: @ 829BACD .string "If the tunnel doesn't go through, then\n" .string "I'll just go over the top.$" -Route116_Text_29BB0F: @ 829BB0F +Route116_Text_ClarkDefeat: @ 829BB0F .string "Gasp… Gasp…\n" .string "Losing made me tired…$" -Route116_Text_29BB31: @ 829BB31 +Route116_Text_ClarkPostBattle: @ 829BB31 .string "It's no big deal if there's no tunnel.\n" .string "To a HIKER, mountains are roads!$" -Route116_Text_29BB79: @ 829BB79 +Route116_Text_JoeyIntro: @ 829BB79 .string "My POKéMON rule!\n" .string "Check them out!$" -Route116_Text_29BB9A: @ 829BB9A +Route116_Text_JoeyDefeat: @ 829BB9A .string "Ouch! A scrape!\n" .string "I have to put on a bandage!$" -Route116_Text_29BBC6: @ 829BBC6 +Route116_Text_JoeyPostBattle: @ 829BBC6 .string "Bandages are signs of toughness!\n" .string "I've got another one!$" -Route116_Text_29BBFD: @ 829BBFD +Route116_Text_JoseIntro: @ 829BBFD .string "My BUG POKéMON are tough!\n" .string "Let's battle!$" -Route116_Text_29BC25: @ 829BC25 +Route116_Text_JoseDefeat: @ 829BC25 .string "I lost!\n" .string "I thought I had you!$" -Route116_Text_29BC42: @ 829BC42 +Route116_Text_JosePostBattle: @ 829BC42 .string "BUG POKéMON evolve quickly.\n" .string "So they get strong quickly, too.$" -Route116_Text_29BC7F: @ 829BC7F +Route116_Text_JaniceIntro: @ 829BC7F .string "Let me teach you how strong my\n" .string "adorable POKéMON is!$" -Route116_Text_29BCB3: @ 829BCB3 +Route116_Text_JaniceDefeat: @ 829BCB3 .string "You're a notch above me…$" -Route116_Text_29BCCC: @ 829BCCC +Route116_Text_JanicePostBattle: @ 829BCCC .string "POKéMON that possess cuteness and\n" .string "power, that's ideal, I think.$" -Route116_Text_29BD0C: @ 829BD0C +Route116_Text_JerryIntro: @ 829BD0C .string "We learn all sorts of things at the\n" .string "TRAINER'S SCHOOL.\p" .string "I want to test things out for real!$" -Route116_Text_29BD66: @ 829BD66 +Route116_Text_JerryDefeat: @ 829BD66 .string "I slacked off in school…\n" .string "That's why I lost.$" -Route116_Text_29BD92: @ 829BD92 +Route116_Text_JerryPostBattle: @ 829BD92 .string "I'll have to redo some courses at\n" .string "the TRAINER'S SCHOOL.\l" .string "If I don't, ROXANNE will be steamed.$" -Route116_Text_29BDEF: @ 829BDEF +Route116_Text_JerryRegister1: @ 829BDEF .string "I learned at the TRAINER'S SCHOOL\n" .string "that a POKéNAV can register TRAINERS.\p" .string "I don't really get what that means,\n" .string "so can I just try it?$" -Route116_Text_29BE71: @ 829BE71 +Route116_Text_JerryRegister2: @ 829BE71 .string "I learned at the TRAINER'S SCHOOL\n" .string "that a POKéNAV can register TRAINERS.\p" .string "I don't really get what that means,\n" .string "so can I just try it?$" -Route116_Text_29BEF3: @ 829BEF3 +Route116_Text_JerryRematchIntro: @ 829BEF3 .string "I've been studying seriously at the\n" .string "TRAINER'S SCHOOL.\l" .string "I won't lose like I did last time.$" -Route116_Text_29BF4C: @ 829BF4C +Route116_Text_JerryRematchDefeat: @ 829BF4C .string "Hunh?\n" .string "I studied diligently.$" -Route116_Text_29BF68: @ 829BF68 +Route116_Text_JerryPostRematch: @ 829BF68 .string "I'll have to redo some courses at\n" .string "the TRAINER'S SCHOOL.\l" .string "If I don't, ROXANNE will be steamed.$" -Route116_Text_29BFC5: @ 829BFC5 +Route116_Text_KarenIntro: @ 829BFC5 .string "I study at school, and I study on\n" .string "the way home, too!$" -Route116_Text_29BFFA: @ 829BFFA +Route116_Text_KarenDefeat: @ 829BFFA .string "I'm in shock--I lost?$" -Route116_Text_29C010: @ 829C010 +Route116_Text_KarenPostBattle: @ 829C010 .string "Awww, I'll never become an elegant\n" .string "TRAINER like ROXANNE this way!$" -Route116_Text_29C052: @ 829C052 +Route116_Text_KarenRegister1: @ 829C052 .string "Oh, wow! Isn't that a POKéNAV?\n" .string "I have one, too! Please register me!$" -Route116_Text_29C096: @ 829C096 +Route116_Text_KarenRegister2: @ 829C096 .string "Oh, wow! Isn't that a POKéNAV?\n" .string "I have one, too! Please register me!$" -Route116_Text_29C0DA: @ 829C0DA +Route116_Text_KarenRematchIntro: @ 829C0DA .string "I studied a whole lot since I saw you.\n" .string "You must see my achievements!$" -Route116_Text_29C11F: @ 829C11F +Route116_Text_KarenRematchDefeat: @ 829C11F .string "I'm in shock.\n" .string "I lost again?$" -Route116_Text_29C13B: @ 829C13B +Route116_Text_KarenPostRematch: @ 829C13B .string "You've beaten ROXANNE?\n" .string "I can't beat you, then. Not yet.$" -Route116_Text_29C173: @ 829C173 +Route116_Text_SarahIntro: @ 829C173 .string "Just so you know, I've never once been\n" .string "bested by anyone at anything.$" -Route116_Text_29C1B8: @ 829C1B8 +Route116_Text_SarahDefeat: @ 829C1B8 .string "Oh, my goodness.\n" .string "This is a new experience for me.$" -Route116_Text_29C1EA: @ 829C1EA +Route116_Text_SarahPostBattle: @ 829C1EA .string "My life of luxury affords me all that\n" .string "I could possibly desire.\p" .string "However, when it comes to POKéMON,\n" .string "my wealth has no meaning.$" -Route116_Text_29C266: @ 829C266 +Route116_Text_DawsonIntro: @ 829C266 .string "When you lay your eyes on my POKéMON's\n" .string "gorgeous fur, their beauty will render\l" .string "you helpless!$" -Route116_Text_29C2C2: @ 829C2C2 +Route116_Text_DawsonDefeat: @ 829C2C2 .string "Oh, baby, say it isn't so!$" -Route116_Text_29C2DD: @ 829C2DD +Route116_Text_DawsonPostBattle: @ 829C2DD .string "Oh, no, no, no!\n" .string "You've mussed up my POKéMON's fur!\l" .string "You've ruined my hairdo, too!\l" .string "I'll have to call my stylist now!$" -Route116_Text_29C350: @ 829C350 +Route116_Text_DevanIntro: @ 829C350 .string "We'll rock you hard!$" -Route116_Text_29C365: @ 829C365 +Route116_Text_DevanDefeat: @ 829C365 .string "Aiyiyi!\n" .string "No contest at all!$" -Route116_Text_29C380: @ 829C380 +Route116_Text_DevanPostBattle: @ 829C380 .string "I should try different POKéMON\n" .string "types, that's what I ought to do.$" -Route116_Text_29C3C1: @ 829C3C1 +Route116_Text_JohnsonIntro: @ 829C3C1 .string "It's a dead end up here.\n" .string "I'm bored, so can we battle?$" -Route116_Text_29C3F7: @ 829C3F7 +Route116_Text_JohnsonDefeat: @ 829C3F7 .string "That was fun even though I lost.$" -Route116_Text_29C418: @ 829C418 +Route116_Text_JohnsonPostBattle: @ 829C418 .string "Want to stay here and keep\n" .string "me company?$" -Route117_Text_29C43F: @ 829C43F +Route117_Text_IsaacIntro: @ 829C43F .string "Listen, could I get you to battle\n" .string "the POKéMON I'm raising?$" -Route117_Text_29C47A: @ 829C47A +Route117_Text_IsaacDefeat: @ 829C47A .string "You've raised yours superbly…$" -Route117_Text_29C498: @ 829C498 +Route117_Text_IsaacPostBattle: @ 829C498 .string "POKéMON isn't all about power.\p" .string "Polishing a unique aspect of one's\n" .string "character is another way of enjoying\l" .string "POKéMON.$" -Route117_Text_29C508: @ 829C508 +Route117_Text_IsaacRegister: @ 829C508 .string "I'm going to redouble my training.\n" .string "Would you come look in on us?$" -Route117_Text_29C549: @ 829C549 +Route117_Text_IsaacRematchIntro: @ 829C549 .string "The POKéMON I've been raising are\n" .string "looking good, just like before.$" -Route117_Text_29C58B: @ 829C58B +Route117_Text_IsaacRematchDefeat: @ 829C58B .string "You know how to raise them properly.\n" .string "You might have DAY CARE skills…$" -Route117_Text_29C5D0: @ 829C5D0 +Route117_Text_IsaacPostRematch: @ 829C5D0 .string "Your POKéMON are growing good!\n" .string "You should enter them in CONTESTS.$" -Route117_Text_29C612: @ 829C612 +Route117_Text_LydiaIntro: @ 829C612 .string "Please, allow me to evaluate if you\n" .string "have raised your POKéMON properly.$" -Route117_Text_29C659: @ 829C659 +Route117_Text_LydiaDefeat: @ 829C659 .string "Yes, they are growing properly.$" -Route117_Text_29C679: @ 829C679 +Route117_Text_LydiaPostBattle: @ 829C679 .string "Try raising POKéMON with more\n" .string "attention to their character traits.$" -Route117_Text_29C6BC: @ 829C6BC +Route117_Text_LydiaRegister: @ 829C6BC .string "I'm glad I met a superb TRAINER in you.\n" .string "I hope to see you again.$" -Route117_Text_29C6FD: @ 829C6FD +Route117_Text_LydiaRematchIntro: @ 829C6FD .string "Allow me to reevaluate if you have\n" .string "raised your POKéMON properly.$" -Route117_Text_29C73E: @ 829C73E +Route117_Text_LydiaRematchDefeat: @ 829C73E .string "They are growing admirably.$" -Route117_Text_29C75A: @ 829C75A +Route117_Text_LydiaPostRematch: @ 829C75A .string "POKéMON seem to like different kinds\n" .string "of {POKEBLOCK}S, depending on their nature.$" -Route117_Text_29C7A5: @ 829C7A5 +Route117_Text_DylanIntro: @ 829C7A5 .string "I'm in the middle of a triathlon, but,\n" .string "whatever, let's have a battle!$" -Route117_Text_29C7EB: @ 829C7EB +Route117_Text_DylanDefeat: @ 829C7EB .string "I ran out of energy!$" -Route117_Text_29C800: @ 829C800 +Route117_Text_DylanPostBattle: @ 829C800 .string "I may have blown it…\p" .string "I might have dropped to last during\n" .string "that battle…$" -Route117_Text_29C846: @ 829C846 +Route117_Text_DylanRegister: @ 829C846 .string "POKéMON have to be strong, too?\n" .string "I'd like you to train me!$" -Route117_Text_29C880: @ 829C880 +Route117_Text_DylanRematchIntro: @ 829C880 .string "I'm smack in the middle of a triathlon,\n" .string "but I'm comfortably ahead.\l" .string "Let's make this a quick battle!$" -Route117_Text_29C8E3: @ 829C8E3 +Route117_Text_DylanRematchDefeat: @ 829C8E3 .string "I ran out of energy again!$" -Route117_Text_29C8FE: @ 829C8FE +Route117_Text_DylanPostRematch: @ 829C8FE .string "I was tops in swimming and cycling,\n" .string "but I'm not quite that confident with\l" .string "POKéMON yet.$" -Route117_Text_29C955: @ 829C955 +Route117_Text_MariaIntro: @ 829C955 .string "I do my triathlon training with POKéMON,\n" .string "so I'm pretty confident about my speed.$" -Route117_Text_29C9A6: @ 829C9A6 +Route117_Text_MariaDefeat: @ 829C9A6 .string "I need to get more practices in,\n" .string "I guess.$" -Route117_Text_29C9D0: @ 829C9D0 +Route117_Text_MariaPostBattle: @ 829C9D0 .string "Training is meaningful only if you\n" .string "keep it up regularly.\p" .string "Okay! I'll resume my training!\n" .string "Tomorrow!$" -Route117_Text_29CA32: @ 829CA32 +Route117_Text_MariaRegister: @ 829CA32 .string "You appear to be training properly…\n" .string "If you'd like, I'll battle you later!$" -Route117_Text_29CA7C: @ 829CA7C +Route117_Text_MariaRematchIntro: @ 829CA7C .string "Are you keeping up with your training?\n" .string "I sure am!\l" .string "Let me show you the evidence!$" -Route117_Text_29CACC: @ 829CACC +Route117_Text_MariaRematchDefeat: @ 829CACC .string "I need to get more practices in,\n" .string "I guess.$" -Route117_Text_29CAF6: @ 829CAF6 +Route117_Text_MariaPostRematch: @ 829CAF6 .string "I'll resume training tomorrow.\n" .string "Let's battle again sometime!$" -Route117_Text_29CB32: @ 829CB32 +Route117_Text_DerekIntro: @ 829CB32 .string "Once a BUG CATCHER!\n" .string "And now a BUG MANIAC!\p" .string "But my love for POKéMON remains\n" .string "unchanged!$" -Route117_Text_29CB87: @ 829CB87 +Route117_Text_DerekDefeat: @ 829CB87 .string "My ineptitude also remains\n" .string "unchanged…$" -Route117_Text_29CBAD: @ 829CBAD +Route117_Text_DerekPostBattle: @ 829CBAD .string "All I did was follow my heart, and now\n" .string "they call me a BUG MANIAC…\p" .string "Still, I am an expert on BUG POKéMON,\n" .string "so it's only natural that they call me\l" .string "a BUG MANIAC.$" -Route117_Text_29CC4A: @ 829CC4A +Route117_Text_AnnaIntro: @ 829CC4A .string "ANNA: I'm with my pretty junior student\n" .string "partner. I have to do good!$" -Route117_Text_29CC8E: @ 829CC8E +Route117_Text_AnnaDefeat: @ 829CC8E .string "ANNA: I'm with my pretty junior student\n" .string "partner! Let me win!$" -Route117_Text_29CCCB: @ 829CCCB +Route117_Text_AnnaPostBattle: @ 829CCCB .string "ANNA: Your POKéMON have some good\n" .string "combinations.\p" .string "I'd say you're second only to us!$" -Route117_Text_29CD1D: @ 829CD1D +Route117_Text_AnnaAndMegRegister: @ 829CD1D .string "ANNA: We can't take this lying down!\n" .string "You will come back, won't you?$" -Route117_Text_29CD61: @ 829CD61 +Route117_Text_AnnaNotEnoughMons: @ 829CD61 .string "ANNA: If you want to battle us,\n" .string "bring two POKéMON with you.$" -Route117_Text_29CD9D: @ 829CD9D +Route117_Text_MegIntro: @ 829CD9D .string "MEG: I'm going to tag up with my super\n" .string "senior student partner and beat you!$" -Route117_Text_29CDE9: @ 829CDE9 +Route117_Text_MegDefeat: @ 829CDE9 .string "MEG: Oh, no!\n" .string "I'm sorry, ANNA! I let you down…$" -Route117_Text_29CE17: @ 829CE17 +Route117_Text_MegPostBattle: @ 829CE17 .string "MEG: I dragged ANNA down…\n" .string "If I didn't, she would have won!$" -Route117_Text_29CE52: @ 829CE52 +Route117_Text_MegNotEnoughMons: @ 829CE52 .string "MEG: Do you only have one POKéMON?\n" .string "We can't battle with you, then.\p" .string "We want to have a 2-on-2 battle.$" -Route117_Text_29CEB6: @ 829CEB6 +Route117_Text_AnnaRematchIntro: @ 829CEB6 .string "ANNA: I can't keep losing in front of\n" .string "my junior partner, right?$" -Route117_Text_29CEF6: @ 829CEF6 +Route117_Text_AnnaRematchDefeat: @ 829CEF6 .string "ANNA: I couldn't get into the groove.$" -Route117_Text_29CF1C: @ 829CF1C +Route117_Text_AnnaPostRematch: @ 829CF1C .string "ANNA: Your POKéMON have some good\n" .string "combinations.\p" .string "I'd say you're second only to us!$" -Route117_Text_29CF6E: @ 829CF6E +Route117_Text_AnnaRematchNotEnoughMons: @ 829CF6E .string "ANNA: If you want to battle us,\n" .string "bring two POKéMON with you.$" -Route117_Text_29CFAA: @ 829CFAA +Route117_Text_MegRematchIntro: @ 829CFAA .string "MEG: I'm going to tag up with my\n" .string "senior partner and win this time!$" -Route117_Text_29CFED: @ 829CFED +Route117_Text_MegRematchDefeat: @ 829CFED .string "MEG: Too strong!$" -Route117_Text_29CFFE: @ 829CFFE +Route117_Text_MegPostRematch: @ 829CFFE .string "MEG: I battled together with my\n" .string "senior partner, but we lost…\p" .string "That's so discouraging…$" -Route117_Text_29D053: @ 829D053 +Route117_Text_MegRematchNotEnoughMons: @ 829D053 .string "MEG: Do you only have one POKéMON?\n" .string "We can't battle with you, then.\p" .string "We want to have a 2-on-2 battle.$" -Route117_Text_29D0B7: @ 829D0B7 +Route117_Text_MelinaIntro: @ 829D0B7 .string "Isn't it nice? To battle while looking\n" .string "at pretty flowers?$" -Route117_Text_29D0F1: @ 829D0F1 +Route117_Text_MelinaDefeat: @ 829D0F1 .string "Oh, that's quite impressive!$" -Route117_Text_29D10E: @ 829D10E +Route117_Text_MelinaPostBattle: @ 829D10E .string "It feels wonderful to go for a jog\n" .string "while looking at flowers.$" -Route117_Text_29D14B: @ 829D14B +Route117_Text_BrandiIntro: @ 829D14B .string "Let me demonstrate the power\n" .string "hidden within a PSYCHIC POKéMON!$" -Route117_Text_29D189: @ 829D189 +Route117_Text_BrandiDefeat: @ 829D189 .string "Astonishing!$" -Route117_Text_29D196: @ 829D196 +Route117_Text_BrandiPostBattle: @ 829D196 .string "PSYCHIC POKéMON are complex.\n" .string "You should try catching some.$" -Route117_Text_29D1D1: @ 829D1D1 +Route117_Text_AishaIntro: @ 829D1D1 .string "Concentrate on getting the win.\n" .string "That's how I battle!$" -Route117_Text_29D206: @ 829D206 +Route117_Text_AishaDefeat: @ 829D206 .string "I don't waste any time being angry\n" .string "over a loss--I would rather train.$" -Route117_Text_29D24C: @ 829D24C +Route117_Text_AishaPostBattle: @ 829D24C .string "I think that if you worry about losing,\n" .string "you're more likely to lose.$" -Route118_Text_29D290: @ 829D290 +Route118_Text_RoseIntro: @ 829D290 .string "The aroma of flowers has a magical\n" .string "power. It cleanses us body and soul.$" -Route118_Text_29D2D8: @ 829D2D8 +Route118_Text_RoseDefeat: @ 829D2D8 .string "Oh, dear me.\n" .string "I seem to have lost.$" -Route118_Text_29D2FA: @ 829D2FA +Route118_Text_RosePostBattle: @ 829D2FA .string "Flowers, POKéMON…\n" .string "I love whatever smells nice.\p" .string "Stinky things…\n" .string "I'll pass.$" -Route118_Text_29D343: @ 829D343 +Route118_Text_RoseRegister: @ 829D343 .string "Sniff… That odor--it's a POKéNAV!\n" .string "We must register each other!$" -Route118_Text_29D382: @ 829D382 +Route118_Text_RoseRematchIntro: @ 829D382 .string "Were you drawn here by the sweet\n" .string "aroma?$" -Route118_Text_29D3AA: @ 829D3AA +Route118_Text_RoseRematchDefeat: @ 829D3AA .string "The power of aroma…\n" .string "It didn't seem to do much.$" -Route118_Text_29D3D9: @ 829D3D9 +Route118_Text_RosePostRematch: @ 829D3D9 .string "If you use a sweet aroma properly,\n" .string "POKéMON will be attracted by it.$" -Route118_Text_29D41D: @ 829D41D +Route118_Text_PerryIntro: @ 829D41D .string "BIRD POKéMON that FLY elegantly in\n" .string "the sky… They're the best!$" -Route118_Text_29D45B: @ 829D45B +Route118_Text_PerryDefeat: @ 829D45B .string "Urgh…\n" .string "I crashed…$" -Route118_Text_29D46C: @ 829D46C +Route118_Text_PerryPostBattle: @ 829D46C .string "You've got great POKéMON.\n" .string "I'll have to train mine better.$" -Route118_Text_29D4A6: @ 829D4A6 +Route118_Text_ChesterIntro: @ 829D4A6 .string "Take flight!\n" .string "My BIRD POKéMON!$" -Route118_Text_29D4C4: @ 829D4C4 +Route118_Text_ChesterDefeat: @ 829D4C4 .string "They did take flight…$" -Route118_Text_29D4DA: @ 829D4DA +Route118_Text_ChesterPostBattle: @ 829D4DA .string "If they'd get stronger, they'd be able\n" .string "to fly more freely…$" -Route118_Text_29D515: @ 829D515 +Route118_Text_BarnyIntro: @ 829D515 .string "I'm a FISHERMAN, but also a TRAINER.\n" .string "I'm raising the POKéMON I caught.$" -Route118_Text_29D55C: @ 829D55C +Route118_Text_BarnyDefeat: @ 829D55C .string "I thought I was doing okay in my\n" .string "training…$" -Route118_Text_29D587: @ 829D587 +Route118_Text_BarnyPostBattle: @ 829D587 .string "I couldn't win by training POKéMON\n" .string "while I fished…\p" .string "Was I doing things in half measures?$" -Route118_Text_29D5DF: @ 829D5DF +Route118_Text_WadeIntro: @ 829D5DF .string "For FISHERMEN, equipment is the key.\p" .string "But for TRAINERS, the key ingredients\n" .string "are POKéMON and heart, of course!$" -Route118_Text_29D64C: @ 829D64C +Route118_Text_WadeDefeat: @ 829D64C .string "I was beaten in heart?$" -Route118_Text_29D663: @ 829D663 +Route118_Text_WadePostBattle: @ 829D663 .string "Come to think of it, fishing is a battle\n" .string "between a FISHERMAN and a POKéMON.$" -Route118_Text_29D6AF: @ 829D6AF +Route118_Text_DaltonIntro: @ 829D6AF .string "Let my melody rock your soul!$" -Route118_Text_29D6CD: @ 829D6CD +Route118_Text_DaltonDefeat: @ 829D6CD .string "La-lalala…$" -Route118_Text_29D6D8: @ 829D6D8 +Route118_Text_DaltonPostBattle: @ 829D6D8 .string "An electric guitar doesn't always\n" .string "have to be noisy…\p" .string "It can be strummed to squeeze out\n" .string "this heart-stirring melody…$" -Route118_Text_29D74A: @ 829D74A +Route118_Text_DaltonRegister: @ 829D74A .string "When I compose better melodies,\n" .string "you have to come listen, okay?$" -Route118_Text_29D789: @ 829D789 +Route118_Text_DaltonRematchIntro: @ 829D789 .string "A melody from my POKéMON and me…\n" .string "Let us deliver it to your soul.$" -Route118_Text_29D7CA: @ 829D7CA +Route118_Text_DaltonRematchDefeat: @ 829D7CA .string "La-lalala…$" -Route118_Text_29D7D5: @ 829D7D5 +Route118_Text_DaltonPostRematch: @ 829D7D5 .string "When I play, my emotions should reach\n" .string "you through my electric guitar…$" -Route118_Text_29D81B: @ 829D81B +Route118_Text_DeandreIntro: @ 829D81B .string "Go, go, go!\n" .string "POKéMON 1, 2, and 3!$" -Route118_Text_29D83C: @ 829D83C +Route118_Text_DeandreDefeat: @ 829D83C .string "Come in, POKéMON! Are you okay?\n" .string "POKéMON 1, 2, and 3?!$" -Route118_Text_29D872: @ 829D872 +Route118_Text_DeandrePostBattle: @ 829D872 .string "Isn't it cool that I have a POKéMON\n" .string "battle team?\p" .string "You can copy me--I don't mind!$" -Route119_Text_29D8C2: @ 829D8C2 +Route119_Text_BrentIntro: @ 829D8C2 .string "We're the MIMIC CIRCLE!\n" .string "We MIMIC what you do!$" -Route119_Text_29D8F0: @ 829D8F0 +Route119_Text_BrentDefeat: @ 829D8F0 .string "Whoopsie!\n" .string "I lost!$" -Route119_Text_29D902: @ 829D902 +Route119_Text_BrentPostBattle: @ 829D902 .string "What's so good about mimicry?\p" .string "Fufufu…\n" .string "You'll never understand…$" -Route119_Text_29D941: @ 829D941 +Route119_Text_DonaldIntro: @ 829D941 .string "So, we finally meet!\n" .string "My BUG POKéMON will keep you company!$" -Route119_Text_29D97C: @ 829D97C +Route119_Text_DonaldDefeat: @ 829D97C .string "I wish we'd never met…$" -Route119_Text_29D993: @ 829D993 +Route119_Text_DonaldPostBattle: @ 829D993 .string "I want to MIMIC you some more.\n" .string "Can you hurry up and move?$" -Route119_Text_29D9CD: @ 829D9CD +Route119_Text_TaylorIntro: @ 829D9CD .string "If you step forward, we step forward.\p" .string "If you turn right, we turn, too…$" -Route119_Text_29DA14: @ 829DA14 +Route119_Text_TaylorDefeat: @ 829DA14 .string "But if you win, I lose…$" -Route119_Text_29DA2C: @ 829DA2C +Route119_Text_TaylorPostBattle: @ 829DA2C .string "I can't MIMIC you winning the match.\n" .string "That's just impossible…\l" .string "It's burning me up…$" -Route119_Text_29DA7D: @ 829DA7D +Route119_Text_DougIntro: @ 829DA7D .string "Yep, you've finally caught me!\n" .string "Or were you trying to avoid me?$" -Route119_Text_29DABC: @ 829DABC +Route119_Text_DougDefeat: @ 829DABC .string "Whoop, that was a great match!$" -Route119_Text_29DADB: @ 829DADB +Route119_Text_DougPostBattle: @ 829DADB .string "We're the MIMIC CIRCLE!\n" .string "I hope you enjoyed our performance.$" -Route119_Text_29DB17: @ 829DB17 +Route119_Text_GregIntro: @ 829DB17 .string "You don't know who I am, do you?\p" .string "But, I also don't know you.\n" .string "So, we'll battle!$" -Route119_Text_29DB66: @ 829DB66 +Route119_Text_GregDefeat: @ 829DB66 .string "You're pretty strong!$" -Route119_Text_29DB7C: @ 829DB7C +Route119_Text_GregPostBattle: @ 829DB7C .string "Until you go away somewhere, we'll\n" .string "keep on mimicking your every move.$" -Route119_Text_29DBC2: @ 829DBC2 +Route119_Text_KentIntro: @ 829DBC2 .string "The MIMIC CIRCLE was formed by people\n" .string "who like to MIMIC.\p" .string "A battle starts the instant we meet!$" -Route119_Text_29DC20: @ 829DC20 +Route119_Text_KentDefeat: @ 829DC20 .string "I give up!$" -Route119_Text_29DC2B: @ 829DC2B +Route119_Text_KentPostBattle: @ 829DC2B .string "Won't you join our MIMIC CIRCLE?$" -Route119_Text_29DC4C: @ 829DC4C +Route119_Text_JacksonIntro: @ 829DC4C .string "Who has the knowledge and\n" .string "the technique for survival?\p" .string "POKéMON RANGERS, that's who!$" -Route119_Text_29DC9F: @ 829DC9F +Route119_Text_JacksonDefeat: @ 829DC9F .string "I didn't have enough POKéMON\n" .string "know-how…$" -Route119_Text_29DCC6: @ 829DCC6 +Route119_Text_JacksonPostBattle: @ 829DCC6 .string "To break away from civilization and\n" .string "awaken the wild spirit within!\p" .string "That's our vision.$" -Route119_Text_29DD1C: @ 829DD1C +Route119_Text_JacksonRegister: @ 829DD1C .string "I hope you'll give me a rematch without\n" .string "mocking my lack of knowledge.$" -Route119_Text_29DD62: @ 829DD62 +Route119_Text_JacksonRematchIntro: @ 829DD62 .string "I'm going to regain my wild spirit by\n" .string "being together with POKéMON.$" -Route119_Text_29DDA5: @ 829DDA5 +Route119_Text_JacksonRematchDefeat: @ 829DDA5 .string "You've remained strong!$" -Route119_Text_29DDBD: @ 829DDBD +Route119_Text_JacksonPostRematch: @ 829DDBD .string "Believe in your POKéMON.\n" .string "Believe in yourself.\p" .string "The road will reveal itself to you.$" -Route119_Text_29DE0F: @ 829DE0F +Route119_Text_CatherineIntro: @ 829DE0F .string "Oh? Look at you.\p" .string "For someone on an adventure,\n" .string "you're traveling awfully light.$" -Route119_Text_29DE5D: @ 829DE5D +Route119_Text_CatherineDefeat: @ 829DE5D .string "Accidents happen when you're not\n" .string "prepared!$" -Route119_Text_29DE88: @ 829DE88 +Route119_Text_CatherinePostBattle: @ 829DE88 .string "You're traveling light but you have\n" .string "everything you need.\p" .string "You're on top of things mentally and\n" .string "physically, too.$" -Route119_Text_29DEF7: @ 829DEF7 +Route119_Text_CatherineRegister: @ 829DEF7 .string "Do you have a POKéNAV?\n" .string "It's a must-have tool for any TRAINER.\p" .string "Oh, you do have one!\n" .string "Let's register each other, then!$" -Route119_Text_29DF6B: @ 829DF6B +Route119_Text_CatherineRematchIntro: @ 829DF6B .string "How's your journey with POKéMON\n" .string "going?$" -Route119_Text_29DF92: @ 829DF92 +Route119_Text_CatherineRematchDefeat: @ 829DF92 .string "I'm still missing something…$" -Route119_Text_29DFAF: @ 829DFAF +Route119_Text_CatherinePostRematch: @ 829DFAF .string "In the same way that you, as a TRAINER,\n" .string "rely on your POKéMON, your POKéMON\l" .string "rely on you.$" -Route119_Text_29E007: @ 829E007 +Route119_Text_HughIntro: @ 829E007 .string "The vast sky holds untold promise!\p" .string "Nothing can compare to the sheer\n" .string "exhilaration of flight!$" -Route119_Text_29E063: @ 829E063 +Route119_Text_HughDefeat: @ 829E063 .string "Down and out!$" -Route119_Text_29E071: @ 829E071 +Route119_Text_HughPostBattle: @ 829E071 .string "My BIRD POKéMON made my dreams of\n" .string "flying come true!$" -Route119_Text_29E0A5: @ 829E0A5 +Route119_Text_PhilIntro: @ 829E0A5 .string "I'll show you the true potential of me\n" .string "and my BIRD POKéMON!$" -Route119_Text_29E0E1: @ 829E0E1 +Route119_Text_PhilDefeat: @ 829E0E1 .string "We lacked potential…$" -Route119_Text_29E0F6: @ 829E0F6 +Route119_Text_PhilPostBattle: @ 829E0F6 .string "Ever since I was a little kid, I always\n" .string "admired BIRD POKéMON…$" -Route119_Text_29E134: @ 829E134 +Route119_Text_YasuIntro: @ 829E134 .string "To lurk in shadows, and live in\n" .string "darkness… That is my destiny.\p" .string "I emerge to challenge you!$" -Route119_Text_29E18D: @ 829E18D +Route119_Text_YasuDefeat: @ 829E18D .string "I admit defeat!$" -Route119_Text_29E19D: @ 829E19D +Route119_Text_YasuPostBattle: @ 829E19D .string "Those defeated in battle withdraw\n" .string "quietly back into the shadows.\l" .string "That, too, is destiny…$" -Route119_Text_29E1F5: @ 829E1F5 +Route119_Text_TakashiIntro: @ 829E1F5 .string "If you're not on your guard,\n" .string "you're in for some pain!$" -Route119_Text_29E22B: @ 829E22B +Route119_Text_TakashiDefeat: @ 829E22B .string "You're surprisingly good!$" -Route119_Text_29E245: @ 829E245 +Route119_Text_TakashiPostBattle: @ 829E245 .string "My surprise attack ended in\n" .string "failure…$" -Route119_Text_29E26A: @ 829E26A +Route119_Text_HideoIntro: @ 829E26A .string "To hide a tree, use a forest!$" -Route119_Text_29E288: @ 829E288 +Route119_Text_HideoDefeat: @ 829E288 .string "I bow to your superiority.$" -Route119_Text_29E2A3: @ 829E2A3 +Route119_Text_HideoPostBattle: @ 829E2A3 .string "To hide a tree, use a forest!\n" .string "To hide a POKéMON, use a POKéMON!\p" .string "There is no deep, hidden meaning\n" .string "to that.$" -Route119_Text_29E30D: @ 829E30D +Route119_Text_ChrisIntro: @ 829E30D .string "You spoke to me…\n" .string "So you want to challenge me!\p" .string "Sure! I'll try out the POKéMON I caught\n" .string "while SURFING!$" -Route119_Text_29E372: @ 829E372 +Route119_Text_ChrisDefeat: @ 829E372 .string "I don't have a clue about what it\n" .string "takes to win.$" -Route119_Text_29E3A2: @ 829E3A2 +Route119_Text_ChrisPostBattle: @ 829E3A2 .string "Go for a SURF on my POKéMON…\p" .string "Then fish off its back…\p" .string "It's an indescribably luxuriant moment!$" -Route119_Text_29E3FF: @ 829E3FF +Route119_Text_FabianIntro: @ 829E3FF .string "Hit me with a power chord!\n" .string "Victory is mine!\l" .string "It's our time to shine, whoa, yeah!$" -Route119_Text_29E44F: @ 829E44F +Route119_Text_FabianDefeat: @ 829E44F .string "You showed me who's the boss!\n" .string "We'll have to take the loss, oh, no!$" -Route119_Text_29E492: @ 829E492 +Route119_Text_FabianPostBattle: @ 829E492 .string "Hit me with another power chord!\n" .string "Leave me alone!\l" .string "Your win you have to atone!$" -Route119_Text_29E4DF: @ 829E4DF +Route119_Text_DaytonIntro: @ 829E4DF .string "Hohoho!\n" .string "I like kid TRAINERS!\l" .string "Let's have a good one!$" -Route119_Text_29E513: @ 829E513 +Route119_Text_DaytonDefeat: @ 829E513 .string "You're pretty amazing!\n" .string "Hohoho!$" -Route119_Text_29E532: @ 829E532 +Route119_Text_DaytonPostBattle: @ 829E532 .string "Hohoho!\n" .string "I'll try emulating the pep of kid\l" .string "TRAINERS like you!$" -Route119_Text_29E56F: @ 829E56F +Route119_Text_RachelIntro: @ 829E56F .string "Wherever and whenever I may be,\n" .string "I always have my parasol in hand.$" -Route119_Text_29E5B1: @ 829E5B1 +Route119_Text_RachelDefeat: @ 829E5B1 .string "Oh, but…\n" .string "That's not fair.$" -Route119_Text_29E5CB: @ 829E5CB +Route119_Text_RachelPostBattle: @ 829E5CB .string "You're asking if my parasol is heavy?\n" .string "Your BAG is filled with more junk than\l" .string "I ever carry around.$" -Route120_Text_29E62D: @ 829E62D +Route120_Text_ColinIntro: @ 829E62D .string "Do you have any moves that can strike\n" .string "a flying POKéMON?$" -Route120_Text_29E665: @ 829E665 +Route120_Text_ColinDefeat: @ 829E665 .string "You soared above me!$" -Route120_Text_29E67A: @ 829E67A +Route120_Text_ColinPostBattle: @ 829E67A .string "The move FLY is convenient,\n" .string "don't you think?\p" .string "While the POKéMON is flying,\n" .string "almost no moves can strike it.$" -Route120_Text_29E6E3: @ 829E6E3 +Route120_Text_RobertIntro: @ 829E6E3 .string "My POKéMON is strong!\n" .string "How about yours?$" -Route120_Text_29E70A: @ 829E70A +Route120_Text_RobertDefeat: @ 829E70A .string "Your POKéMON were stronger…$" -Route120_Text_29E726: @ 829E726 +Route120_Text_RobertPostBattle: @ 829E726 .string "A POKéMON that grows steadily is one\n" .string "you can count on.$" -Route120_Text_29E75D: @ 829E75D +Route120_Text_RobertRegister: @ 829E75D .string "You can be counted on to get better.\n" .string "I'd like to register you in my POKéNAV!$" -Route120_Text_29E7AA: @ 829E7AA +Route120_Text_RobertRematchIntro: @ 829E7AA .string "A POKéMON that grows steadily is one\n" .string "you can count on.$" -Route120_Text_29E7E1: @ 829E7E1 +Route120_Text_RobertRematchDefeat: @ 829E7E1 .string "Your POKéMON are seriously strong.$" -Route120_Text_29E804: @ 829E804 +Route120_Text_RobertPostRematch: @ 829E804 .string "My POKéMON are growing stronger.\n" .string "I have to grow stronger, too.$" -Route120_Text_29E843: @ 829E843 +Route120_Text_LorenzoIntro: @ 829E843 .string "I'll check your POKéMON and see if\n" .string "they're fit for the outdoors.$" -Route120_Text_29E884: @ 829E884 +Route120_Text_LorenzoDefeat: @ 829E884 .string "With POKéMON that strong, you're in\n" .string "no danger of needing rescue!$" -Route120_Text_29E8C5: @ 829E8C5 +Route120_Text_LorenzoPostBattle: @ 829E8C5 .string "To travel wherever your heart desires\n" .string "with POKéMON…\l" .string "That's the joy of being a TRAINER.$" -Route120_Text_29E91C: @ 829E91C +Route120_Text_JennaIntro: @ 829E91C .string "How's your physical fitness?\n" .string "If you're not fit, you could have a\l" .string "rough time in critical situations.$" -Route120_Text_29E980: @ 829E980 +Route120_Text_JennaDefeat: @ 829E980 .string "I'm totally fit, but…$" -Route120_Text_29E996: @ 829E996 +Route120_Text_JennaPostBattle: @ 829E996 .string "Fitness training is in my routine.\n" .string "I always run with my POKéMON.$" -Route120_Text_29E9D7: @ 829E9D7 +Route120_Text_JeffreyIntro: @ 829E9D7 .string "… … … … … …\n" .string "… … … … … …\l" .string "Want to battle?$" -Route120_Text_29E9FF: @ 829E9FF +Route120_Text_JeffreyDefeat: @ 829E9FF .string "Lost it…$" -Route120_Text_29EA08: @ 829EA08 +Route120_Text_JeffreyPostBattle: @ 829EA08 .string "… … … … … …\n" .string "… … … … … …\l" .string "I'll try harder…$" -Route120_Text_29EA31: @ 829EA31 +Route120_Text_JeffreyRegister: @ 829EA31 .string "… … … … … …\n" .string "… … … … … …\l" .string "Do you have a POKéNAV…?$" -Route120_Text_29EA61: @ 829EA61 +Route120_Text_JeffreyRematchIntro: @ 829EA61 .string "… … … … … …\n" .string "… … … … … …\l" .string "Want to battle again?$" -Route120_Text_29EA8F: @ 829EA8F +Route120_Text_JeffreyRematchDefeat: @ 829EA8F .string "… … … … … …\n" .string "I lost again…$" -Route120_Text_29EAA9: @ 829EAA9 +Route120_Text_JeffreyPostRematch: @ 829EAA9 .string "… … … … … …\n" .string "… … … … … …\l" .string "I'll try harder…\l" .string "For my precious BUG POKéMON…$" -Route120_Text_29EAEF: @ 829EAEF +Route120_Text_JenniferIntro: @ 829EAEF .string "POKéMON have many special abilities.\n" .string "If you want to become a first-class\l" .string "TRAINER, learn about them.$" -Route120_Text_29EB53: @ 829EB53 +Route120_Text_JenniferDefeat: @ 829EB53 .string "You're obviously thinking.$" -Route120_Text_29EB6E: @ 829EB6E +Route120_Text_JenniferPostBattle: @ 829EB6E .string "The special abilities of POKéMON\n" .string "will make battle styles change.$" -Route120_Text_29EBAF: @ 829EBAF +Route120_Text_ChipIntro: @ 829EBAF .string "Who might you be?\p" .string "Are you perhaps searching for ancient\n" .string "ruins that are rumored to possibly\l" .string "exist according to legend?$" -Route120_Text_29EC25: @ 829EC25 +Route120_Text_ChipDefeat: @ 829EC25 .string "What a disgraceful setback…$" -Route120_Text_29EC41: @ 829EC41 +Route120_Text_ChipPostBattle: @ 829EC41 .string "That giant rock… I would like to\n" .string "believe it may indeed contain ancient\l" .string "ruins. But I see no entrance.$" -Route120_Text_29ECA6: @ 829ECA6 +Route120_Text_ClarissaIntro: @ 829ECA6 .string "Why am I carrying this parasol?\p" .string "I'll tell you if you can win against me.$" -Route120_Text_29ECEF: @ 829ECEF +Route120_Text_ClarissaDefeat: @ 829ECEF .string "A parasol can't ward off POKéMON\n" .string "attacks…$" -Route120_Text_29ED19: @ 829ED19 +Route120_Text_ClarissaPostBattle: @ 829ED19 .string "I don't think strong sunlight is good\n" .string "for my POKéMON.\l" .string "So I shield them with my parasol.$" -Route120_Text_29ED71: @ 829ED71 +Route120_Text_AngelicaIntro: @ 829ED71 .string "Me, POKéMON, and my parasol…\p" .string "If any one of them is missing,\n" .string "the picture of beauty will be ruined.$" -Route120_Text_29EDD3: @ 829EDD3 +Route120_Text_AngelicaDefeat: @ 829EDD3 .string "You've completely ruined my beauty…$" -Route120_Text_29EDF7: @ 829EDF7 +Route120_Text_AngelicaPostBattle: @ 829EDF7 .string "A parasol wouldn't suit you at all.\p" .string "Why, something like this would only\n" .string "get in your way.$" -Route120_Text_29EE50: @ 829EE50 +Route120_Text_KeigoIntro: @ 829EE50 .string "I will adopt the movements of POKéMON\n" .string "and create new ninja techniques.$" -Route120_Text_29EE97: @ 829EE97 +Route120_Text_KeigoDefeat: @ 829EE97 .string "The creation of new ninja techniques\n" .string "is but a distant dream…$" -Route120_Text_29EED4: @ 829EED4 +Route120_Text_KeigoPostBattle: @ 829EED4 .string "Perhaps I ought to apprentice under\n" .string "a ninja sensei.$" -Route120_Text_29EF08: @ 829EF08 +Route120_Text_RileyIntro: @ 829EF08 .string "We ninja conceal ourselves under our\n" .string "camouflage cloaks.\l" .string "I bet you didn't know where I was!$" -Route120_Text_29EF63: @ 829EF63 +Route120_Text_RileyDefeat: @ 829EF63 .string "I lost!\n" .string "I should camouflage my shame!$" -Route120_Text_29EF89: @ 829EF89 +Route120_Text_RileyPostBattle: @ 829EF89 .string "Our camouflage cloaks are all\n" .string "handmade.$" -Route120_Text_29EFB1: @ 829EFB1 +Route120_Text_CallieIntro: @ 829EFB1 .string "If you don't pay attention,\n" .string "you could get hurt!$" -Route120_Text_29EFE1: @ 829EFE1 +Route120_Text_CallieDefeat: @ 829EFE1 .string "Ouch!\n" .string "I was the one to get hurt.$" -Route120_Text_29F002: @ 829F002 +Route120_Text_CalliePostBattle: @ 829F002 .string "I wonder… Should I evolve my POKéMON?\n" .string "They're cute the way they are, though.$" -Route120_Text_29F04F: @ 829F04F +Route120_Text_LeonelIntro: @ 829F04F .string "Your party POKéMON…\n" .string "Do you have different types?$" -Route120_Text_29F080: @ 829F080 +Route120_Text_LeonelDefeat: @ 829F080 .string "I've seen your policy in action!$" -Route120_Text_29F0A1: @ 829F0A1 +Route120_Text_LeonelPostBattle: @ 829F0A1 .string "I think it's awesome you're so strong\n" .string "battling with your favorite POKéMON.$" -Route121_Text_29F0EC: @ 829F0EC +Route121_Text_VanessaIntro: @ 829F0EC .string "Will you play with my delightfully\n" .string "pretty POKéMON?$" -Route121_Text_29F11F: @ 829F11F +Route121_Text_VanessaDefeat: @ 829F11F .string "This isn't what I meant!$" -Route121_Text_29F138: @ 829F138 +Route121_Text_VanessaPostBattle: @ 829F138 .string "I'm going to a CONTEST in LILYCOVE.\p" .string "My POKéMON should have no problem\n" .string "sweeping the MASTER CLASS.$" -Route121_Text_29F199: @ 829F199 +Route121_Text_WalterIntro: @ 829F199 .string "With my POKéMON, I have traveled\n" .string "to the world's four corners.\p" .string "You might say I have some confidence\n" .string "in my abilities.$" -Route121_Text_29F20D: @ 829F20D +Route121_Text_WalterDefeat: @ 829F20D .string "Ah, well played.$" -Route121_Text_29F21E: @ 829F21E +Route121_Text_WalterPostBattle: @ 829F21E .string "I would like to circle the globe once\n" .string "again with my POKéMON.$" -Route121_Text_29F25B: @ 829F25B +Route121_Text_WalterRegister: @ 829F25B .string "Your POKéMON prowess is remarkable.\n" .string "Allow me to register you as a memento.$" -Route121_Text_29F2A6: @ 829F2A6 +Route121_Text_WalterRematchIntro: @ 829F2A6 .string "With my POKéMON, I have traveled\n" .string "to the world's four corners.\p" .string "You might say I have some confidence\n" .string "in my abilities.$" -Route121_Text_29F31A: @ 829F31A +Route121_Text_WalterRematchDefeat: @ 829F31A .string "Ah, well played.$" -Route121_Text_29F32B: @ 829F32B +Route121_Text_WalterPostRematch: @ 829F32B .string "Your POKéMON and you…\p" .string "Your prowess together will be\n" .string "considered strong, even overseas.$" -Route121_Text_29F381: @ 829F381 +Route121_Text_TammyIntro: @ 829F381 .string "There are powers beyond our\n" .string "understanding in the world…$" -Route121_Text_29F3B9: @ 829F3B9 +Route121_Text_TammyDefeat: @ 829F3B9 .string "I have lost…$" -Route121_Text_29F3C6: @ 829F3C6 +Route121_Text_TammyPostBattle: @ 829F3C6 .string "MT. PYRE…\n" .string "There is a mysterious power\l" .string "at work there…$" -Route121_Text_29F3FB: @ 829F3FB +Route121_Text_KateIntro: @ 829F3FB .string "KATE: Together, we're fearless!\n" .string "We'll demonstrate how tough we are!$" -Route121_Text_29F43F: @ 829F43F +Route121_Text_KateDefeat: @ 829F43F .string "KATE: I blew it in front of my junior\n" .string "student partner…$" -Route121_Text_29F476: @ 829F476 +Route121_Text_KatePostBattle: @ 829F476 .string "KATE: When someone's relying on me,\n" .string "I get this urge to look cool in front\l" .string "of them…$" -Route121_Text_29F4C9: @ 829F4C9 +Route121_Text_KateNotEnoughMons: @ 829F4C9 .string "KATE: If you've only got one POKéMON,\n" .string "we can't battle with you.\p" .string "That would be bullying.$" -Route121_Text_29F521: @ 829F521 +Route121_Text_JoyIntro: @ 829F521 .string "JOY: Together, we're fearless!\n" .string "We'll demonstrate how tough we are!$" -Route121_Text_29F564: @ 829F564 +Route121_Text_JoyDefeat: @ 829F564 .string "JOY: Please forgive me, KATE!$" -Route121_Text_29F582: @ 829F582 +Route121_Text_JoyPostBattle: @ 829F582 .string "JOY: Ehehe, I'll have to train with KATE,\n" .string "my senior student partner, again.$" -Route121_Text_29F5CE: @ 829F5CE +Route121_Text_JoyNotEnoughMons: @ 829F5CE .string "JOY: You need at least two POKéMON\n" .string "if you're going to challenge us!$" -Route121_Text_29F612: @ 829F612 +Route121_Text_JessicaIntro: @ 829F612 .string "Stop! Have a good look at my precious\n" .string "POKéMON!$" -Route121_Text_29F641: @ 829F641 +Route121_Text_JessicaDefeat: @ 829F641 .string "Oh, how dare you!\n" .string "Don't take it so seriously!$" -Route121_Text_29F66F: @ 829F66F +Route121_Text_JessicaPostBattle: @ 829F66F .string "Maybe I'll go catch more POKéMON at\n" .string "the SAFARI.$" -Route121_Text_29F69F: @ 829F69F +Route121_Text_JessicaRegister: @ 829F69F .string "I took it easy on you this time!\n" .string "It won't be that way the next time!$" -Route121_Text_29F6E4: @ 829F6E4 +Route121_Text_JessicaRematchIntro: @ 829F6E4 .string "My precious POKéMON grew!\n" .string "Have a good look!$" -Route121_Text_29F710: @ 829F710 +Route121_Text_JessicaRematchDefeat: @ 829F710 .string "Oh, how dare you!\n" .string "You still won't take it easy!$" -Route121_Text_29F740: @ 829F740 +Route121_Text_JessicaPostRematch: @ 829F740 .string "Maybe I'll go catch more POKéMON at\n" .string "the SAFARI.$" -Route121_Text_29F770: @ 829F770 +Route121_Text_CristinIntro: @ 829F770 .string "I have this routine.\n" .string "Defeat five TRAINERS a day.\l" .string "Guess what? You're number five!$" -Route121_Text_29F7C1: @ 829F7C1 +Route121_Text_CristinDefeat: @ 829F7C1 .string "No!\n" .string "You're horrid!$" -Route121_Text_29F7D4: @ 829F7D4 +Route121_Text_CristinPostBattle: @ 829F7D4 .string "I didn't expect to lose this easily…\n" .string "I'll win next time!$" -Route121_Text_29F80D: @ 829F80D +Route121_Text_CristinRegister: @ 829F80D .string "That was total humiliation!\n" .string "I won't forget you…\l" .string "Hand over your POKéNAV!$" -Route121_Text_29F855: @ 829F855 +Route121_Text_CristinRematchIntro: @ 829F855 .string "I have this new routine.\n" .string "Defeat ten TRAINERS a day.\l" .string "Guess what? You're number ten!$" -Route121_Text_29F8A8: @ 829F8A8 +Route121_Text_CristinRematchDefeat: @ 829F8A8 .string "Wait! That's nasty!\n" .string "I demand a rematch!$" -Route121_Text_29F8D0: @ 829F8D0 +Route121_Text_CristinPostRematch: @ 829F8D0 .string "An opponent I just can't beat…\n" .string "Snivel…\l" .string "I can't believe this is happening…$" -Route121_Text_29F91A: @ 829F91A +Route121_Text_CaleIntro: @ 829F91A .string "Can't you see that I have all this\n" .string "stuff with me?\p" .string "Despite that, you still insist that\n" .string "we battle?$" -Route121_Text_29F97B: @ 829F97B +Route121_Text_CaleDefeat: @ 829F97B .string "Of course I lost!\n" .string "I'm holding stuff in both hands!$" -Route121_Text_29F9AE: @ 829F9AE +Route121_Text_CalePostBattle: @ 829F9AE .string "I bought too much stuff at\n" .string "the LILYCOVE DEPT. STORE.\p" .string "It's up the road from here.\n" .string "I wish I had a BAG like yours.$" -Route121_Text_29FA1E: @ 829FA1E +Route121_Text_MylesIntro: @ 829FA1E .string "There's nothing I love more than\n" .string "checking out other people's POKéMON!$" -Route121_Text_29FA64: @ 829FA64 +Route121_Text_MylesDefeat: @ 829FA64 .string "Super awesome!$" -Route121_Text_29FA73: @ 829FA73 +Route121_Text_MylesPostBattle: @ 829FA73 .string "They're great, your POKéMON!\n" .string "How do you raise them?$" -Route121_Text_29FAA7: @ 829FAA7 +Route121_Text_PatIntro: @ 829FAA7 .string "I want everybody to see the POKéMON\n" .string "I've raised!$" -Route121_Text_29FAD8: @ 829FAD8 +Route121_Text_PatDefeat: @ 829FAD8 .string "Wow!\n" .string "Spectacular!$" -Route121_Text_29FAEA: @ 829FAEA +Route121_Text_PatPostBattle: @ 829FAEA .string "I raise every POKéMON with the same\n" .string "love and care--I don't pick favorites.$" -Route121_Text_29FB35: @ 829FB35 +Route121_Text_MarcelIntro: @ 829FB35 .string "My POKéMON have never tasted defeat!\n" .string "On their next win, I'm entering them\l" .string "in CONTESTS.$" -Route121_Text_29FB8C: @ 829FB8C +Route121_Text_MarcelDefeat: @ 829FB8C .string "Oh, now what happened here?$" -Route121_Text_29FBA8: @ 829FBA8 +Route121_Text_MarcelPostBattle: @ 829FBA8 .string "I may have to train my gang some more\n" .string "before entering any CONTEST.$" -Route123_Text_29FBEB: @ 829FBEB +Route123_Text_WendyIntro: @ 829FBEB .string "Want to determine how strong you are?\n" .string "I'll be the test!$" -Route123_Text_29FC23: @ 829FC23 +Route123_Text_WendyDefeat: @ 829FC23 .string "You passed with flying colors!$" -Route123_Text_29FC42: @ 829FC42 +Route123_Text_WendyPostBattle: @ 829FC42 .string "To best even me…\n" .string "Your strength is marvelous!$" -Route123_Text_29FC6F: @ 829FC6F +Route123_Text_BraxtonIntro: @ 829FC6F .string "You seem to have a big collection\n" .string "of GYM BADGES.\p" .string "Let me see if you're actually worthy of\n" .string "those BADGES!$" -Route123_Text_29FCD6: @ 829FCD6 +Route123_Text_BraxtonDefeat: @ 829FCD6 .string "Oh, you're worthy, all right!$" -Route123_Text_29FCF4: @ 829FCF4 +Route123_Text_BraxtonPostBattle: @ 829FCF4 .string "You did your BADGES proud in that\n" .string "match!$" -Route123_Text_29FD1D: @ 829FD1D +Route123_Text_VioletIntro: @ 829FD1D .string "They say that good times are filled\n" .string "with good aromas.$" -Route123_Text_29FD53: @ 829FD53 +Route123_Text_VioletDefeat: @ 829FD53 .string "Oh…\n" .string "I smell the bitter scent of misery…$" -Route123_Text_29FD7B: @ 829FD7B +Route123_Text_VioletPostBattle: @ 829FD7B .string "The BERRY MASTER's garden is filled\n" .string "with uplifting fragrances.$" -Route123_Text_29FDBA: @ 829FDBA +Route123_Text_CameronIntro: @ 829FDBA .string "Being a psychic is about willpower.\p" .string "I've willed myself not to lose to\n" .string "anyone. That makes me strong!$" -Route123_Text_29FE1E: @ 829FE1E +Route123_Text_CameronDefeat: @ 829FE1E .string "I feel sad…$" -Route123_Text_29FE2A: @ 829FE2A +Route123_Text_CameronPostBattle: @ 829FE2A .string "Being a psychic is about willpower.\n" .string "I thought I wouldn't lose to you…$" -Route123_Text_29FE70: @ 829FE70 +Route123_Text_CameronRegister: @ 829FE70 .string "I sense it!\n" .string "You and I shall battle again!\l" .string "I can't tell if I'll win, though…\p" .string "Let's see your POKéNAV.$" -Route123_Text_29FED4: @ 829FED4 +Route123_Text_CameronRematchIntro: @ 829FED4 .string "I've convinced myself that I won't\n" .string "lose anymore. That makes me strong!$" -Route123_Text_29FF1B: @ 829FF1B +Route123_Text_CameronRematchDefeat: @ 829FF1B .string "I feel sad…$" -Route123_Text_29FF27: @ 829FF27 +Route123_Text_CameronPostRematch: @ 829FF27 .string "I should train at MT. PYRE…\n" .string "I'll never beat you this way…$" -Route123_Text_29FF61: @ 829FF61 +Route123_Text_JackiIntro: @ 829FF61 .string "Don't be too happy if your POKéMON\n" .string "develop psychic powers.\p" .string "You need to refine those powers to\n" .string "make them really useful.$" -Route123_Text_29FFD8: @ 829FFD8 +Route123_Text_JackiDefeat: @ 829FFD8 .string "Overwhelmed!$" -Route123_Text_29FFE5: @ 829FFE5 +Route123_Text_JackiPostBattle: @ 829FFE5 .string "We all have psychic powers.\n" .string "We've just forgotten how to use them.$" -Route123_Text_2A0027: @ 82A0027 +Route123_Text_JackiRegister: @ 82A0027 .string "I would like to face you again.\n" .string "Is that okay with you?$" -Route123_Text_2A005E: @ 82A005E +Route123_Text_JackiRematchIntro: @ 82A005E .string "Have you awoken the psychic powers\n" .string "within you?$" -Route123_Text_2A008D: @ 82A008D +Route123_Text_JackiRematchDefeat: @ 82A008D .string "Astounding!$" -Route123_Text_2A0099: @ 82A0099 +Route123_Text_JackiPostRematch: @ 82A0099 .string "Your power with POKéMON…\n" .string "That could be a psychic power, too.$" -Route123_Text_2A00D6: @ 82A00D6 +Route123_Text_MiuIntro: @ 82A00D6 .string "MIU: Hello, TRAINER. I hope your\n" .string "POKéMON won't cry when they lose.$" -Route123_Text_2A0119: @ 82A0119 +Route123_Text_MiuDefeat: @ 82A0119 .string "MIU: Uh-oh, we lost.$" -Route123_Text_2A012E: @ 82A012E +Route123_Text_MiuPostBattle: @ 82A012E .string "MIU: TRAINER, your POKéMON are\n" .string "strong because you are friends.$" -Route123_Text_2A016D: @ 82A016D +Route123_Text_MiuNotEnoughMons: @ 82A016D .string "MIU: It's no fun to battle if you\n" .string "don't have two POKéMON.$" -Route123_Text_2A01A7: @ 82A01A7 +Route123_Text_YukiIntro: @ 82A01A7 .string "YUKI: Okay!\n" .string "We're beating the TRAINER's POKéMON!$" -Route123_Text_2A01D8: @ 82A01D8 +Route123_Text_YukiDefeat: @ 82A01D8 .string "YUKI: Uh-oh, we lost.$" -Route123_Text_2A01EE: @ 82A01EE +Route123_Text_YukiPostBattle: @ 82A01EE .string "YUKI: Why are you so strong?\n" .string "We've never lost before.$" -Route123_Text_2A0224: @ 82A0224 +Route123_Text_YukiNotEnoughMons: @ 82A0224 .string "YUKI: It's no fun to battle if you\n" .string "don't have two POKéMON.$" -Route123_Text_2A025F: @ 82A025F +Route123_Text_KindraIntro: @ 82A025F .string "MT. PYRE…\n" .string "Where the spirits of POKéMON sleep…\l" .string "Will your POKéMON sleep?$" -Route123_Text_2A02A6: @ 82A02A6 +Route123_Text_KindraDefeat: @ 82A02A6 .string "Overflowing with vitality…$" -Route123_Text_2A02C1: @ 82A02C1 +Route123_Text_KindraPostBattle: @ 82A02C1 .string "MT. PYRE…\n" .string "Where the spirits of POKéMON sleep…\p" .string "It must overflow with a power that\n" .string "soothes spirits…$" -Route123_Text_2A0323: @ 82A0323 +Route123_Text_FernandoIntro: @ 82A0323 .string "I'll turn your lights out while\n" .string "I rip through this tune!$" -Route123_Text_2A035C: @ 82A035C +Route123_Text_FernandoDefeat: @ 82A035C .string "Hey, hold it!\n" .string "I was still playing the intro!$" -Route123_Text_2A0389: @ 82A0389 +Route123_Text_FernandoPostBattle: @ 82A0389 .string "You're rock steady.\n" .string "I'd like to write a tune about you.$" -Route123_Text_2A03C1: @ 82A03C1 +Route123_Text_FernandoRegister: @ 82A03C1 .string "The next time, lend your ears to\n" .string "the full tune, will you?$" -Route123_Text_2A03FB: @ 82A03FB +Route123_Text_FernandoRematchIntro: @ 82A03FB .string "Today's the day I'm going to do it!\n" .string "I'll turn out your lights before\l" .string "I finish singing my song!$" -Route123_Text_2A045A: @ 82A045A +Route123_Text_FernandoRematchDefeat: @ 82A045A .string "Hey, hold it!\n" .string "I haven't even hit the chorus!$" -Route123_Text_2A0487: @ 82A0487 +Route123_Text_FernandoPostRematch: @ 82A0487 .string "I thought you'd be so enthralled\n" .string "by my tune, you'd lose.$" -Route123_Text_2A04C0: @ 82A04C0 +Route123_Text_DavisIntro: @ 82A04C0 .string "This is my awesome BUG POKéMON!\n" .string "My big brother got it for me.$" -Route123_Text_2A04FE: @ 82A04FE +Route123_Text_DavisDefeat: @ 82A04FE .string "Waaaah!\n" .string "You meanie!$" -Route123_Text_2A0512: @ 82A0512 +Route123_Text_DavisPostBattle: @ 82A0512 .string "Don't tell my brother I lost.\n" .string "You have to keep it a secret!$" -Route123_Text_2A054E: @ 82A054E +Route123_Text_JazmynIntro: @ 82A054E .string "My confidence will get a boost by\n" .string "beating someone obviously strong!$" -Route123_Text_2A0592: @ 82A0592 +Route123_Text_JazmynDefeat: @ 82A0592 .string "There goes my confidence…$" -Route123_Text_2A05AC: @ 82A05AC +Route123_Text_JazmynPostBattle: @ 82A05AC .string "They say that you can't judge a person\n" .string "by their appearance.\p" .string "But often, their looks don't lie…$" -Route123_Text_2A060A: @ 82A060A +Route123_Text_FrederickIntro: @ 82A060A .string "Hello, child!\n" .string "Can you spare some time?$" -Route123_Text_2A0631: @ 82A0631 +Route123_Text_FrederickDefeat: @ 82A0631 .string "Ah, a mighty capable child!\n" .string "Let me contribute to your allowance.$" -Route123_Text_2A0672: @ 82A0672 +Route123_Text_FrederickPostBattle: @ 82A0672 .string "Contribute to your allowance?\n" .string "Wasn't the prize money enough?$" -Route123_Text_2A06AF: @ 82A06AF +Route123_Text_AlbertoIntro: @ 82A06AF .string "I have to tell you, BIRD POKéMON\n" .string "are my obsession!\p" .string "Birds are cool!\n" .string "They're the best!$" -Route123_Text_2A0704: @ 82A0704 +Route123_Text_AlbertoDefeat: @ 82A0704 .string "Even in defeat, BIRD POKéMON are cool!$" -Route123_Text_2A072B: @ 82A072B +Route123_Text_AlbertoPostBattle: @ 82A072B .string "I gather BIRD POKéMON feathers that\n" .string "scatter during battles.\p" .string "I'm going to make a hat with\n" .string "BIRD POKéMON feathers.$" -Route123_Text_2A079B: @ 82A079B +Route123_Text_EdIntro: @ 82A079B .string "When there are no TRAINERS around,\n" .string "I let my POKéMON battle each other.\l" .string "I watch them.$" -Route123_Text_2A07F0: @ 82A07F0 +Route123_Text_EdDefeat: @ 82A07F0 .string "I kind of like your POKéMON.$" -Route123_Text_2A080D: @ 82A080D +Route123_Text_EdPostBattle: @ 82A080D .string "Hehe, I'm swiping your battling ideas!\n" .string "I think they'll make me better.$" -Route123_Text_2A0854: @ 82A0854 +Route123_Text_JonasIntro: @ 82A0854 .string "I lay in ambush, and a TRAINER has\n" .string "landed in my trap!$" -Route123_Text_2A088A: @ 82A088A +Route123_Text_JonasDefeat: @ 82A088A .string "If you don't lose, how am I supposed\n" .string "to have fun playing ninja?$" -Route123_Text_2A08CA: @ 82A08CA +Route123_Text_JonasPostBattle: @ 82A08CA .string "I'm going to ambush a weaker-looking\n" .string "TRAINER next time.$" -Route123_Text_2A0902: @ 82A0902 +Route123_Text_KayleyIntro: @ 82A0902 .string "I just bought this parasol.\n" .string "My cuteness should be up by a third!$" -Route123_Text_2A0943: @ 82A0943 +Route123_Text_KayleyDefeat: @ 82A0943 .string "You're better than me by about\n" .string "five times!$" -Route123_Text_2A096E: @ 82A096E +Route123_Text_KayleyPostBattle: @ 82A096E .string "Using accessories effectively is\n" .string "the secret behind fashion appeal.$" -Route124_Text_2A09B1: @ 82A09B1 +Route124_Text_SpencerIntro: @ 82A09B1 .string "Hey, are you lost at sea?\p" .string "If you can beat my POKéMON,\n" .string "I can serve as your pilot.$" -Route124_Text_2A0A02: @ 82A0A02 +Route124_Text_SpencerDefeat: @ 82A0A02 .string "I lost my bearings in battle!$" -Route124_Text_2A0A20: @ 82A0A20 +Route124_Text_SpencerPostBattle: @ 82A0A20 .string "Many people lose their bearings at sea.\p" .string "If you're that sort, you should refer\n" .string "to the POKéNAV's MAP.$" -Route124_Text_2A0A84: @ 82A0A84 +Route124_Text_RolandIntro: @ 82A0A84 .string "Hm! You're riding a POKéMON instead\n" .string "of swimming yourself…\p" .string "I am envious!$" -Route124_Text_2A0ACC: @ 82A0ACC +Route124_Text_RolandDefeat: @ 82A0ACC .string "Oh!\n" .string "I can't…$" -Route124_Text_2A0AD9: @ 82A0AD9 +Route124_Text_RolandPostBattle: @ 82A0AD9 .string "I'm getting chilled…\n" .string "I've been in the water too long…\p" .string "I wish I could ride a POKéMON like you…$" -Route124_Text_2A0B37: @ 82A0B37 +Route124_Text_JennyIntro: @ 82A0B37 .string "If you just float in the sea like\n" .string "this, POKéMON come around to play.$" -Route124_Text_2A0B7C: @ 82A0B7C +Route124_Text_JennyDefeat: @ 82A0B7C .string "Oh, darn.\n" .string "I've gone and lost.$" -Route124_Text_2A0B9A: @ 82A0B9A +Route124_Text_JennyPostBattle: @ 82A0B9A .string "While swimming, I noticed that some\n" .string "POKéMON attack, and some just watch.\p" .string "I guess POKéMON have personalities\n" .string "of their own.$" -Route124_Text_2A0C14: @ 82A0C14 +Route124_Text_JennyRegister: @ 82A0C14 .string "It's only on a whim, but maybe I'll get\n" .string "you to register me in your POKéNAV.$" -Route124_Text_2A0C60: @ 82A0C60 +Route124_Text_JennyRematchIntro: @ 82A0C60 .string "If you just float in the sea like this,\n" .string "TRAINERS challenge you!$" -Route124_Text_2A0CA0: @ 82A0CA0 +Route124_Text_JennyRematchDefeat: @ 82A0CA0 .string "That's strange…\n" .string "I lost again…$" -Route124_Text_2A0CBE: @ 82A0CBE +Route124_Text_JennyPostRematch: @ 82A0CBE .string "This has nothing to do with anything,\n" .string "but maybe I'll visit the TRICK HOUSE.$" -Route124_Text_2A0D0A: @ 82A0D0A +Route124_Text_GraceIntro: @ 82A0D0A .string "I'm growing bored of swimming…\n" .string "How about a battle?$" -Route124_Text_2A0D3D: @ 82A0D3D +Route124_Text_GraceDefeat: @ 82A0D3D .string "I had no idea that you were\n" .string "this strong!$" -Route124_Text_2A0D66: @ 82A0D66 +Route124_Text_GracePostBattle: @ 82A0D66 .string "All the effort you put in must have\n" .string "made you this strong.$" -Route124_Text_2A0DA0: @ 82A0DA0 +Route124_Text_ChadIntro: @ 82A0DA0 .string "Fufufufu… I dive deep underwater\n" .string "to go deep under cover.\l" .string "Plumbing the depths is where I excel!$" -Route124_Text_2A0DFF: @ 82A0DFF +Route124_Text_ChadDefeat: @ 82A0DFF .string "Glub, glub, glub…\n" .string "I'm sinking…$" -Route124_Text_2A0E1E: @ 82A0E1E +Route124_Text_ChadPostBattle: @ 82A0E1E .string "I have it on good authority that\n" .string "there's a DIVE spot around here.\p" .string "It gives me the urge to go deep\n" .string "again…$" -Route124_Text_2A0E87: @ 82A0E87 +Route124_Text_LilaIntro: @ 82A0E87 .string "LILA: Sigh…\p" .string "Here I am in the sea, but who's with me?\n" .string "My little brother!\p" .string "Let's battle so I won't have to dwell\n" .string "on that!$" -Route124_Text_2A0EFE: @ 82A0EFE +Route124_Text_LilaDefeat: @ 82A0EFE .string "LILA: ROY! It's your fault we lost!\n" .string "You're in for it later!$" -Route124_Text_2A0F3A: @ 82A0F3A +Route124_Text_LilaPostBattle: @ 82A0F3A .string "LILA: Sigh…\p" .string "If only it wasn't my little brother\n" .string "next to me, but a nice boyfriend…$" -Route124_Text_2A0F8C: @ 82A0F8C +Route124_Text_LilaNotEnoughMons: @ 82A0F8C .string "LILA: You're planning to battle us?\n" .string "Not unless you have two POKéMON.$" -Route124_Text_2A0FD1: @ 82A0FD1 +Route124_Text_RoyIntro: @ 82A0FD1 .string "ROY: My big sister is tough at POKéMON!\p" .string "Don't cry when you lose!$" -Route124_Text_2A1012: @ 82A1012 +Route124_Text_RoyDefeat: @ 82A1012 .string "ROY: Uh-oh…\n" .string "My big sister will chew me out…$" -Route124_Text_2A103E: @ 82A103E +Route124_Text_RoyPostBattle: @ 82A103E .string "ROY: My big sister is really scary\n" .string "when she gets angry.\p" .string "That's why she doesn't have a\n" .string "boyfriend.$" -Route124_Text_2A109F: @ 82A109F +Route124_Text_LilaRoyRegister: @ 82A109F .string "ROY: Will you battle with us again?\n" .string "But take it easy next time, okay?$" -Route124_Text_2A10E5: @ 82A10E5 +Route124_Text_RoyNotEnoughMons: @ 82A10E5 .string "ROY: Did you want to battle us?\n" .string "Bring two POKéMON, then.$" -Route124_Text_2A111E: @ 82A111E +Route124_Text_LilaRematchIntro: @ 82A111E .string "LILA: Sigh…\p" .string "Here I am in the sea, but who's with me?\n" .string "My little brother!\p" .string "Oh, hi, it's been a while. Let's battle\n" .string "so I won't have to dwell on things!$" -Route124_Text_2A11B2: @ 82A11B2 +Route124_Text_LilaRematchDefeat: @ 82A11B2 .string "LILA: ROY!\n" .string "It's your fault we lost again!\p" .string "We're having a training session later!$" -Route124_Text_2A1203: @ 82A1203 +Route124_Text_LilaPostRematch: @ 82A1203 .string "LILA: Sigh…\p" .string "If I had a nice boyfriend, we'd beat\n" .string "anyone with lovely combinations…$" -Route124_Text_2A1255: @ 82A1255 +Route124_Text_LilaRematchNotEnoughMons: @ 82A1255 .string "LILA: You're planning to battle us?\n" .string "Not unless you have two POKéMON.$" -Route124_Text_2A129A: @ 82A129A +Route124_Text_RoyRematchIntro: @ 82A129A .string "ROY: If we lose, I'll catch heck.\n" .string "I'm going to go totally all out!$" -Route124_Text_2A12DD: @ 82A12DD +Route124_Text_RoyRematchDefeat: @ 82A12DD .string "ROY: Uh-oh…\n" .string "My big sister will chew me out again.$" -Route124_Text_2A130F: @ 82A130F +Route124_Text_RoyPostRematch: @ 82A130F .string "ROY: My big sister is really scary\n" .string "when she gets angry.\p" .string "She's going to make me train really\n" .string "hard with POKéMON later…$" -Route124_Text_2A1384: @ 82A1384 +Route124_Text_RoyRematchNotEnoughMons: @ 82A1384 .string "ROY: Did you want to battle us?\n" .string "Bring two POKéMON, then.$" -Route124_Text_2A13BD: @ 82A13BD +Route124_Text_DeclanIntro: @ 82A13BD .string "Here I am swimming by my lonesome\n" .string "on this wide, beautiful sea.\p" .string "There's no other word for it.\n" .string "This is pathetic!$" -Route124_Text_2A142C: @ 82A142C +Route124_Text_DeclanDefeat: @ 82A142C .string "I'm feeling blue.\n" .string "Blue as the sky…$" -Route124_Text_2A144F: @ 82A144F +Route124_Text_DeclanPostBattle: @ 82A144F .string "I should chat up lady SWIMMERS\n" .string "and invite them on a long swim.$" -Route124_Text_2A148E: @ 82A148E +Route124_Text_IsabellaIntro: @ 82A148E .string "I'm not going to lose to some\n" .string "surfer TRAINER.$" -Route124_Text_2A14BC: @ 82A14BC +Route124_Text_IsabellaDefeat: @ 82A14BC .string "I've only got sweat in my eyes!\n" .string "I am not crying!$" -Route124_Text_2A14ED: @ 82A14ED +Route124_Text_IsabellaPostBattle: @ 82A14ED .string "You can find pretty colored shards\n" .string "of things around here.$" -Route125_Text_2A1527: @ 82A1527 +Route125_Text_NolenIntro: @ 82A1527 .string "I heard you approaching, so I hung\n" .string "around for you!$" -Route125_Text_2A155A: @ 82A155A +Route125_Text_NolenDefeat: @ 82A155A .string "I surrender!$" -Route125_Text_2A1567: @ 82A1567 +Route125_Text_NolenPostBattle: @ 82A1567 .string "Sound travels faster in water than\n" .string "it does through air.$" -Route125_Text_2A159F: @ 82A159F +Route125_Text_StanIntro: @ 82A159F .string "Hey, there!\n" .string "Check out my sweet POKéMON!$" -Route125_Text_2A15C7: @ 82A15C7 +Route125_Text_StanDefeat: @ 82A15C7 .string "I floundered…$" -Route125_Text_2A15D5: @ 82A15D5 +Route125_Text_StanPostBattle: @ 82A15D5 .string "I was blown away by HORSEA's charm,\n" .string "so I started swimming, too.$" -Route125_Text_2A1615: @ 82A1615 +Route125_Text_TanyaIntro: @ 82A1615 .string "I'm tired of swimming.\n" .string "Are you up for a battle with me?$" -Route125_Text_2A164D: @ 82A164D +Route125_Text_TanyaDefeat: @ 82A164D .string "You're too much!$" -Route125_Text_2A165E: @ 82A165E +Route125_Text_TanyaPostBattle: @ 82A165E .string "Whew…\n" .string "Which way is it to MOSSDEEP CITY?$" -Route125_Text_2A1686: @ 82A1686 +Route125_Text_SharonIntro: @ 82A1686 .string "How would you like to take on the\n" .string "WATER-type POKéMON I raised?$" -Route125_Text_2A16C5: @ 82A16C5 +Route125_Text_SharonDefeat: @ 82A16C5 .string "Lost it…$" -Route125_Text_2A16CE: @ 82A16CE +Route125_Text_SharonPostBattle: @ 82A16CE .string "Your power… You're the real deal.\n" .string "I'm amazed!$" -Route125_Text_2A16FC: @ 82A16FC +Route125_Text_ErnestIntro: @ 82A16FC .string "Ahoy! I'm a buff, tough SAILOR!\n" .string "I've braved the world's seas!$" -Route125_Text_2A173A: @ 82A173A +Route125_Text_ErnestDefeat: @ 82A173A .string "Gwrroooar!\n" .string "I couldn't win!$" -Route125_Text_2A1755: @ 82A1755 +Route125_Text_ErnestPostBattle: @ 82A1755 .string "The tide ebbs and flows inside the\n" .string "SHOAL CAVE.\p" .string "By the way, it's about six hours from\n" .string "high tide to low tide. Did you know?$" -Route125_Text_2A17CF: @ 82A17CF +Route125_Text_ErnestRegister: @ 82A17CF .string "Register me in your POKéNAV,\n" .string "and I'll tell you something good.$" -Route125_Text_2A180E: @ 82A180E +Route125_Text_ErnestRematchIntro: @ 82A180E .string "It's high time I get my payback\n" .string "from you! Come on, we're battling!$" -Route125_Text_2A1851: @ 82A1851 +Route125_Text_ErnestRematchDefeat: @ 82A1851 .string "I couldn't win!\n" .string "I flat out couldn't win!$" -Route125_Text_2A187A: @ 82A187A +Route125_Text_ErnestRematchPostBattle: @ 82A187A .string "The SHOAL CAVE…\p" .string "There are places you can and can't\n" .string "get to depending on the rise and fall\l" @@ -3859,524 +3859,524 @@ Route125_Text_2A187A: @ 82A187A .string "By the way, it's about six hours from\n" .string "high tide to low tide. Don't forget!$" -Route125_Text_2A192B: @ 82A192B +Route125_Text_KimIntro: @ 82A192B .string "KIM: A funny old man lives in the\n" .string "SHOAL CAVE. Someone told me.\l" .string "Are you going to see him, too?$" -Route125_Text_2A1989: @ 82A1989 +Route125_Text_KimDefeat: @ 82A1989 .string "KIM: I thought we would win.$" -Route125_Text_2A19A6: @ 82A19A6 +Route125_Text_KimPostBattle: @ 82A19A6 .string "KIM: A funny old man lives in the\n" .string "SHOAL CAVE, doesn't he?\p" .string "Let's go see him, IRIS!$" -Route125_Text_2A19F8: @ 82A19F8 +Route125_Text_KimNotEnoughMons: @ 82A19F8 .string "KIM: No, no, no! You need two POKéMON,\n" .string "or it's just no good!$" -Route125_Text_2A1A35: @ 82A1A35 +Route125_Text_IrisIntro: @ 82A1A35 .string "IRIS: KIM, can you tell me what we're\n" .string "looking for out here?$" -Route125_Text_2A1A71: @ 82A1A71 +Route125_Text_IrisDefeat: @ 82A1A71 .string "IRIS: Oh, we came sort of close.$" -Route125_Text_2A1A92: @ 82A1A92 +Route125_Text_IrisPostBattle: @ 82A1A92 .string "IRIS: KIM, are we really going into\n" .string "the SHOAL CAVE?\l" .string "We'll get all wet.$" -Route125_Text_2A1AD9: @ 82A1AD9 +Route125_Text_IrisNotEnoughMons: @ 82A1AD9 .string "IRIS: Oh, we could never, ever do\n" .string "anything like a 2-on-1 battle.$" -Route125_Text_2A1B1A: @ 82A1B1A +Route125_Text_PresleyIntro: @ 82A1B1A .string "Why would a BIRDKEEPER like me\n" .string "come out to the sea?$" -Route125_Text_2A1B4E: @ 82A1B4E +Route125_Text_PresleyDefeat: @ 82A1B4E .string "Okay.\n" .string "I'll tell you why I'm here.$" -Route125_Text_2A1B70: @ 82A1B70 +Route125_Text_PresleyPostBattle: @ 82A1B70 .string "I put a message in a bottle and put\n" .string "it out to sea.\p" .string "I'm sure that a girl SWIMMER will\n" .string "find it!$" -Route125_Text_2A1BCE: @ 82A1BCE +Route125_Text_AuronIntro: @ 82A1BCE .string "Hey! Was it you throwing garbage\n" .string "into the sea?$" -Route125_Text_2A1BFD: @ 82A1BFD +Route125_Text_AuronDefeat: @ 82A1BFD .string "Oh, you weren't throwing trash into\n" .string "the sea.$" -Route125_Text_2A1C2A: @ 82A1C2A +Route125_Text_AuronPostBattle: @ 82A1C2A .string "I found an unsightly bottle bobbing\n" .string "in the waves earlier.\p" .string "It angers me that someone would\n" .string "pollute the sea!$" -Route126_Text_2A1C95: @ 82A1C95 +Route126_Text_BarryIntro: @ 82A1C95 .string "Swimming is a full-body workout!\n" .string "You will get fit!$" -Route126_Text_2A1CC8: @ 82A1CC8 +Route126_Text_BarryDefeat: @ 82A1CC8 .string "I admit it!\n" .string "You win!$" -Route126_Text_2A1CDD: @ 82A1CDD +Route126_Text_BarryPostBattle: @ 82A1CDD .string "Thanks to my daily swimming routine…\n" .string "Look! Feast your eyes on this physique!$" -Route126_Text_2A1D2A: @ 82A1D2A +Route126_Text_DeanIntro: @ 82A1D2A .string "This towering white mountain of rock\n" .string "is SOOTOPOLIS CITY.$" -Route126_Text_2A1D63: @ 82A1D63 +Route126_Text_DeanDefeat: @ 82A1D63 .string "I was done in?$" -Route126_Text_2A1D72: @ 82A1D72 +Route126_Text_DeanPostBattle: @ 82A1D72 .string "I can't find the entrance to\n" .string "SOOTOPOLIS. Where could it be?$" -Route126_Text_2A1DAE: @ 82A1DAE +Route126_Text_NikkiIntro: @ 82A1DAE .string "Ufufufufu!\n" .string "I'm a mermaid!$" -Route126_Text_2A1DC8: @ 82A1DC8 +Route126_Text_NikkiDefeat: @ 82A1DC8 .string "My fantasy burst as if it were a bubble!\n" .string "Blub, blub, blub…$" -Route126_Text_2A1E03: @ 82A1E03 +Route126_Text_NikkiPostBattle: @ 82A1E03 .string "You thrashed me… I want to\n" .string "disappear in a wave of despair…$" -Route126_Text_2A1E3E: @ 82A1E3E +Route126_Text_BrendaIntro: @ 82A1E3E .string "Hello, kiddo!\n" .string "Want a battle with me?$" -Route126_Text_2A1E63: @ 82A1E63 +Route126_Text_BrendaDefeat: @ 82A1E63 .string "Oh, noooooh!$" -Route126_Text_2A1E70: @ 82A1E70 +Route126_Text_BrendaPostBattle: @ 82A1E70 .string "I love frolicking with POKéMON in\n" .string "the sea like this!$" -Route126_Text_2A1EA5: @ 82A1EA5 +Route126_Text_PabloIntro: @ 82A1EA5 .string "Check out this sculpted body!\n" .string "I'm more cut than a BLACK BELT!$" -Route126_Text_2A1EE3: @ 82A1EE3 +Route126_Text_PabloDefeat: @ 82A1EE3 .string "Whoops! Too strong!\n" .string "Not bad! Not bad at all!$" -Route126_Text_2A1F10: @ 82A1F10 +Route126_Text_PabloPostBattle: @ 82A1F10 .string "Losing to you stimulated my senses!\n" .string "I'll train myself and POKéMON harder!$" -Route126_Text_2A1F5A: @ 82A1F5A +Route126_Text_PabloRegister: @ 82A1F5A .string "Yep, you're not bad at all!\n" .string "I'd like to get to know you more!$" -Route126_Text_2A1F98: @ 82A1F98 +Route126_Text_PabloRematchIntro: @ 82A1F98 .string "Check out this beautiful body!\n" .string "I'm more shapely than a SWIMMER!$" -Route126_Text_2A1FD8: @ 82A1FD8 +Route126_Text_PabloRematchDefeat: @ 82A1FD8 .string "Whoops! Really too strong!\n" .string "Not bad! Not bad at all!$" -Route126_Text_2A200C: @ 82A200C +Route126_Text_PabloPostRematch: @ 82A200C .string "I'm going to train even harder!\n" .string "You're a great motivator!\l" .string "You have to come back again!$" -Route126_Text_2A2063: @ 82A2063 +Route126_Text_LeonardoIntro: @ 82A2063 .string "I couldn't even swim last year,\n" .string "but now I'm a decent SWIMMER.\p" .string "I think I'm capable of anything now.$" -Route126_Text_2A20C6: @ 82A20C6 +Route126_Text_LeonardoDefeat: @ 82A20C6 .string "Sheesh, getting greedy didn't do\n" .string "a thing for me.$" -Route126_Text_2A20F7: @ 82A20F7 +Route126_Text_LeonardoPostBattle: @ 82A20F7 .string "If you practice at something,\n" .string "you will get better at it.\p" .string "You're young--don't be afraid to\n" .string "try all sorts of things!$" -Route126_Text_2A216A: @ 82A216A +Route126_Text_IsobelIntro: @ 82A216A .string "If seawater gets up your nose,\n" .string "doesn't it feel terrible?$" -Route126_Text_2A21A3: @ 82A21A3 +Route126_Text_IsobelDefeat: @ 82A21A3 .string "Ack! Why, you…\n" .string "Glub!$" -Route126_Text_2A21B8: @ 82A21B8 +Route126_Text_IsobelPostBattle: @ 82A21B8 .string "Ooh, I choked on some water!\n" .string "It's bitter! It's salty!!$" -Route126_Text_2A21EF: @ 82A21EF +Route126_Text_SiennaIntro: @ 82A21EF .string "I'm throwing my whole heart\n" .string "into this!$" -Route126_Text_2A2216: @ 82A2216 +Route126_Text_SiennaDefeat: @ 82A2216 .string "You had more heart!$" -Route126_Text_2A222A: @ 82A222A +Route126_Text_SiennaPostBattle: @ 82A222A .string "I need to cool down now…\n" .string "I think I'll go for a dive.$" -Route127_Text_2A225F: @ 82A225F +Route127_Text_CamdenIntro: @ 82A225F .string "I can see it in your face.\n" .string "You want to challenge me.$" -Route127_Text_2A2294: @ 82A2294 +Route127_Text_CamdenDefeat: @ 82A2294 .string "Awawawawawa…$" -Route127_Text_2A22A1: @ 82A22A1 +Route127_Text_CamdenPostBattle: @ 82A22A1 .string "A well-played match leaves me feeling\n" .string "refreshed and serene.$" -Route127_Text_2A22DD: @ 82A22DD +Route127_Text_DonnyIntro: @ 82A22DD .string "Do you have a rival whom you just\n" .string "hate to lose against?$" -Route127_Text_2A2315: @ 82A2315 +Route127_Text_DonnyDefeat: @ 82A2315 .string "Arrrgh!\n" .string "I hate losing!$" -Route127_Text_2A232C: @ 82A232C +Route127_Text_DonnyPostBattle: @ 82A232C .string "If you have a rival, don't you get the\n" .string "feeling that you have to keep getting\l" .string "better?$" -Route127_Text_2A2381: @ 82A2381 +Route127_Text_JonahIntro: @ 82A2381 .string "Through fishing, I have attained a\n" .string "state of becalmed serenity…\p" .string "Please, allow me to demonstrate…$" -Route127_Text_2A23E1: @ 82A23E1 +Route127_Text_JonahDefeat: @ 82A23E1 .string "Though I have lost, my heart remains\n" .string "calm…$" -Route127_Text_2A240C: @ 82A240C +Route127_Text_JonahPostBattle: @ 82A240C .string "It matters not that I catch nothing.\n" .string "The line remains in the water…$" -Route127_Text_2A2450: @ 82A2450 +Route127_Text_HenryIntro: @ 82A2450 .string "Whoops! Don't tell me I snagged\n" .string "a SURFING POKéMON?$" -Route127_Text_2A2483: @ 82A2483 +Route127_Text_HenryDefeat: @ 82A2483 .string "I can't keep up!$" -Route127_Text_2A2494: @ 82A2494 +Route127_Text_HenryPostBattle: @ 82A2494 .string "It'd be a handful if I hooked\n" .string "your tough POKéMON!$" -Route127_Text_2A24C6: @ 82A24C6 +Route127_Text_RogerIntro: @ 82A24C6 .string "Well, hey! This is a match between\n" .string "a POKéMON fan and a fishing buff!$" -Route127_Text_2A250B: @ 82A250B +Route127_Text_RogerDefeat: @ 82A250B .string "No! My line's all tangled!\n" .string "The party's over!$" -Route127_Text_2A2538: @ 82A2538 +Route127_Text_RogerPostBattle: @ 82A2538 .string "My fishing line's doing a dance!\n" .string "The tangle tango! Hahaha, snarl!$" -Route127_Text_2A257A: @ 82A257A +Route127_Text_AidanIntro: @ 82A257A .string "BIRD POKéMON have excellent vision.\n" .string "They spot prey from great heights.$" -Route127_Text_2A25C1: @ 82A25C1 +Route127_Text_AidanDefeat: @ 82A25C1 .string "Whew… I give up.$" -Route127_Text_2A25D2: @ 82A25D2 +Route127_Text_AidanPostBattle: @ 82A25D2 .string "There're lots of diving spots in\n" .string "the sea around here.\p" .string "You can spot them easily from the sky\n" .string "because of their darker color.$" -Route127_Text_2A264D: @ 82A264D +Route127_Text_KojiIntro: @ 82A264D .string "Run in your bare feet.\n" .string "That will toughen up your soles!$" -Route127_Text_2A2685: @ 82A2685 +Route127_Text_KojiDefeat: @ 82A2685 .string "Yowch!\n" .string "I got a pebble under a toenail!$" -Route127_Text_2A26AC: @ 82A26AC +Route127_Text_KojiPostBattle: @ 82A26AC .string "Going barefoot feels great.\n" .string "But your RUNNING SHOES are cool, too.$" -Route127_Text_2A26EE: @ 82A26EE +Route127_Text_KojiRegister: @ 82A26EE .string "This is what I do to people who beat me!\n" .string "I hope we can do this again.$" -Route127_Text_2A2734: @ 82A2734 +Route127_Text_KojiRematchIntro: @ 82A2734 .string "I still run in my bare feet daily.\n" .string "My soles are tough!$" -Route127_Text_2A276B: @ 82A276B +Route127_Text_KojiRematchDefeat: @ 82A276B .string "Yowch!\n" .string "Pebbles dug into my arches!$" -Route127_Text_2A278E: @ 82A278E +Route127_Text_KojiPostRematch: @ 82A278E .string "Want to go barefoot for a while?\n" .string "So I can try your RUNNING SHOES?$" -Route127_Text_2A27D0: @ 82A27D0 +Route127_Text_AthenaIntro: @ 82A27D0 .string "We should have a slow and methodical\n" .string "match.$" -Route127_Text_2A27FC: @ 82A27FC +Route127_Text_AthenaDefeat: @ 82A27FC .string "You didn't give me the chance to\n" .string "do any strategizing.$" -Route127_Text_2A2832: @ 82A2832 +Route127_Text_AthenaPostBattle: @ 82A2832 .string "When I'm surrounded by the blue sea\n" .string "and sky, it feels as if time slows down.$" -Route128_Text_2A287F: @ 82A287F +Route128_Text_IsaiahIntro: @ 82A287F .string "EVER GRANDE CITY is still a long ways\n" .string "away…$" -Route128_Text_2A28AB: @ 82A28AB +Route128_Text_IsaiahDefeat: @ 82A28AB .string "My first victory seems to be far\n" .string "away, too…$" -Route128_Text_2A28D7: @ 82A28D7 +Route128_Text_IsaiahPostBattle: @ 82A28D7 .string "My whole life has been about losing,\n" .string "but I will never give up!$" -Route128_Text_2A2916: @ 82A2916 +Route128_Text_IsaiahRegister: @ 82A2916 .string "I know I'm not good now, but I think\n" .string "I can win eventually.\p" .string "Please register me in your POKéNAV.$" -Route128_Text_2A2975: @ 82A2975 +Route128_Text_IsaiahRematchIntro: @ 82A2975 .string "I'm still feeling good. I'll keep on\n" .string "swimming to EVER GRANDE CITY.$" -Route128_Text_2A29B8: @ 82A29B8 +Route128_Text_IsaiahRematchDefeat: @ 82A29B8 .string "I've yet to taste my first victory…$" -Route128_Text_2A29DC: @ 82A29DC +Route128_Text_IsaiahPostRematch: @ 82A29DC .string "I'll eventually reach EVER GRANDE CITY\n" .string "where I can eventually win…$" -Route128_Text_2A2A1F: @ 82A2A1F +Route128_Text_KatelynIntro: @ 82A2A1F .string "You have to swim, cycle, and then run\n" .string "a marathon in a triathlon.\p" .string "It's a grueling race that consists\n" .string "of three events.$" -Route128_Text_2A2A94: @ 82A2A94 +Route128_Text_KatelynDefeat: @ 82A2A94 .string "A POKéMON battle is grueling, too…$" -Route128_Text_2A2AB7: @ 82A2AB7 +Route128_Text_KatelynPostBattle: @ 82A2AB7 .string "I have to ride a BIKE next, but…\n" .string "I'm about to throw in the towel…$" -Route128_Text_2A2AF9: @ 82A2AF9 +Route128_Text_KatelynRegister: @ 82A2AF9 .string "Well, I may as well make the best\n" .string "of this. I'd like a rematch sometime.$" -Route128_Text_2A2B41: @ 82A2B41 +Route128_Text_KatelynRematchIntro: @ 82A2B41 .string "A triathlon is long. But I guess the\n" .string "road to become the POKéMON CHAMPION\l" .string "is also a long and grueling one.$" -Route128_Text_2A2BAB: @ 82A2BAB +Route128_Text_KatelynRematchDefeat: @ 82A2BAB .string "A POKéMON battle really is harsh\n" .string "and unforgiving…$" -Route128_Text_2A2BDD: @ 82A2BDD +Route128_Text_KatelynPostRematch: @ 82A2BDD .string "You should give serious thought to\n" .string "challenges on VICTORY ROAD.$" -Route128_Text_2A2C1C: @ 82A2C1C +Route128_Text_AlexaIntro: @ 82A2C1C .string "We've been working so hard to mount\n" .string "a POKéMON LEAGUE challenge…\p" .string "We can't afford to lose now!$" -Route128_Text_2A2C79: @ 82A2C79 +Route128_Text_AlexaDefeat: @ 82A2C79 .string "Oh!\n" .string "How could this happen?!$" -Route128_Text_2A2C95: @ 82A2C95 +Route128_Text_AlexaPostBattle: @ 82A2C95 .string "After all I've done to get here,\n" .string "I won't give up after one setback.$" -Route128_Text_2A2CD9: @ 82A2CD9 +Route128_Text_RubenIntro: @ 82A2CD9 .string "There is no stronger TRAINER than I!$" -Route128_Text_2A2CFE: @ 82A2CFE +Route128_Text_RubenDefeat: @ 82A2CFE .string "This can't be!$" -Route128_Text_2A2D0D: @ 82A2D0D +Route128_Text_RubenPostBattle: @ 82A2D0D .string "There probably is no stronger TRAINER\n" .string "than you!$" -Route128_Text_2A2D3D: @ 82A2D3D +Route128_Text_WayneIntro: @ 82A2D3D .string "I want to visit EVER GRANDE, so I\n" .string "caught myself a POKéMON that knows\l" .string "the move WATERFALL to crest the falls.$" -Route128_Text_2A2DA9: @ 82A2DA9 +Route128_Text_WayneDefeat: @ 82A2DA9 .string "I'm crestfallen!$" -Route128_Text_2A2DBA: @ 82A2DBA +Route128_Text_WaynePostBattle: @ 82A2DBA .string "Awww, phooey!\p" .string "My POKéMON knows WATERFALL, but\n" .string "I don't have the SOOTOPOLIS GYM BADGE!$" -Route128_Text_2A2E0F: @ 82A2E0F +Route128_Text_HarrisonIntro: @ 82A2E0F .string "You're looking awfully tough.\n" .string "I wonder if I can win?$" -Route128_Text_2A2E44: @ 82A2E44 +Route128_Text_HarrisonDefeat: @ 82A2E44 .string "Ouch!\n" .string "I guess it was impossible to win.$" -Route128_Text_2A2E6C: @ 82A2E6C +Route128_Text_HarrisonPostBattle: @ 82A2E6C .string "There are tough TRAINERS galore\n" .string "around EVER GRANDE.\p" .string "Do you think I may be out\n" .string "of my league?$" -Route128_Text_2A2EC8: @ 82A2EC8 +Route128_Text_CarleeIntro: @ 82A2EC8 .string "The sunlight seems to be more harsh\n" .string "in this area.$" -Route128_Text_2A2EFA: @ 82A2EFA +Route128_Text_CarleeDefeat: @ 82A2EFA .string "I couldn't see very well because of\n" .string "the sun's glare.$" -Route128_Text_2A2F2F: @ 82A2F2F +Route128_Text_CarleePostBattle: @ 82A2F2F .string "I should go back soon.\n" .string "I need to reapply my sunscreen.$" -Route129_Text_2A2F66: @ 82A2F66 +Route129_Text_ChaseIntro: @ 82A2F66 .string "This is my first triathlon.\n" .string "I'm all tense and nervous!$" -Route129_Text_2A2F9D: @ 82A2F9D +Route129_Text_ChaseDefeat: @ 82A2F9D .string "Wroooaaar!\n" .string "I failed to win!$" -Route129_Text_2A2FB9: @ 82A2FB9 +Route129_Text_ChasePostBattle: @ 82A2FB9 .string "If I'm all tensed up, I won't be able to\n" .string "give it my all.$" -Route129_Text_2A2FF2: @ 82A2FF2 +Route129_Text_AllisonIntro: @ 82A2FF2 .string "I'm in the middle of a triathlon,\n" .string "but, sure, why don't we battle?$" -Route129_Text_2A3034: @ 82A3034 +Route129_Text_AllisonDefeat: @ 82A3034 .string "I was sure I'd win!$" -Route129_Text_2A3048: @ 82A3048 +Route129_Text_AllisonPostBattle: @ 82A3048 .string "Do you know what's the greatest thing\n" .string "about triathlons?\p" .string "Testing the limits of your own\n" .string "strength and endurance against\l" .string "Mother Nature!$" -Route129_Text_2A30CD: @ 82A30CD +Route129_Text_ReedIntro: @ 82A30CD .string "Say hey, hey!\n" .string "Let's get on with it!$" -Route129_Text_2A30F1: @ 82A30F1 +Route129_Text_ReedDefeat: @ 82A30F1 .string "Beat, I'm beaten.\n" .string "That's it, done!$" -Route129_Text_2A3114: @ 82A3114 +Route129_Text_ReedPostBattle: @ 82A3114 .string "There's nothing for a loser.\n" .string "Time for me to beat it home.$" -Route129_Text_2A314E: @ 82A314E +Route129_Text_TishaIntro: @ 82A314E .string "What's the hurry?\n" .string "Let's take it slow and easy.$" -Route129_Text_2A317D: @ 82A317D +Route129_Text_TishaDefeat: @ 82A317D .string "Oh, my.\n" .string "I wanted to relax a little more…$" -Route129_Text_2A31A6: @ 82A31A6 +Route129_Text_TishaPostBattle: @ 82A31A6 .string "Don't you hate making mistakes when\n" .string "you're in a rush?\p" .string "That's why I try to take things\n" .string "slowly.$" -Route129_Text_2A3204: @ 82A3204 +Route129_Text_ClarenceIntro: @ 82A3204 .string "Surfing isn't as easy as it seems,\n" .string "isn't that right?$" -Route129_Text_2A3239: @ 82A3239 +Route129_Text_ClarenceDefeat: @ 82A3239 .string "Winning sure isn't easy.$" -Route129_Text_2A3252: @ 82A3252 +Route129_Text_ClarencePostBattle: @ 82A3252 .string "You have your sights on the POKéMON\n" .string "LEAGUE? Keep at it!$" -Route130_Text_2A328A: @ 82A328A +Route130_Text_RodneyIntro: @ 82A328A .string "What a surprise! I didn't expect to\n" .string "see a TRAINER out in the sea.\p" .string "I think we should battle!$" -Route130_Text_2A32E6: @ 82A32E6 +Route130_Text_RodneyDefeat: @ 82A32E6 .string "This kid's awfully tough…$" -Route130_Text_2A3300: @ 82A3300 +Route130_Text_RodneyPostBattle: @ 82A3300 .string "Your eyes have that look of someone\n" .string "who's experienced harsh challenges\l" .string "and won. It suits you well!$" -Route130_Text_2A3363: @ 82A3363 +Route130_Text_KatieIntro: @ 82A3363 .string "In the deep blue sea,\n" .string "my shattered blue heart finds\l" .string "comfort among waves.$" -Route130_Text_2A33AC: @ 82A33AC +Route130_Text_KatieDefeat: @ 82A33AC .string "Like the vast blue sea,\n" .string "the world of POKéMON spans\l" .string "depths beyond belief.$" -Route130_Text_2A33F5: @ 82A33F5 +Route130_Text_KatiePostBattle: @ 82A33F5 .string "The world's children dream\n" .string "of one day becoming\l" .string "the POKéMON CHAMPION.$" -Route130_Text_2A343A: @ 82A343A +Route130_Text_SantiagoIntro: @ 82A343A .string "Floating on the open sea like this…\n" .string "It's peaceful.$" -Route130_Text_2A346D: @ 82A346D +Route130_Text_SantiagoDefeat: @ 82A346D .string "I needed to be a little less peaceful!$" -Route130_Text_2A3494: @ 82A3494 +Route130_Text_SantiagoPostBattle: @ 82A3494 .string "Swimming and battling like this…\n" .string "I'm one happy guy…$" -Route131_Text_2A34C8: @ 82A34C8 +Route131_Text_RichardIntro: @ 82A34C8 .string "The sea is teeming with POKéMON.\n" .string "It's not easy swimming, I tell you.$" -Route131_Text_2A350D: @ 82A350D +Route131_Text_RichardDefeat: @ 82A350D .string "POKéMON raised by TRAINERS are\n" .string "seriously tough…$" -Route131_Text_2A353D: @ 82A353D +Route131_Text_RichardPostBattle: @ 82A353D .string "Gasp… Gasp…\n" .string "I'm wiped out…\p" .string "The going's easy. It's the leaving\n" @@ -4384,398 +4384,398 @@ Route131_Text_2A353D: @ 82A353D .string "Will I have any energy left to make\n" .string "the return trip?$" -Route131_Text_2A35C6: @ 82A35C6 +Route131_Text_HermanIntro: @ 82A35C6 .string "The sea… The sea… The sea…\n" .string "The sea as far as these eyes can see!\l" .string "I'm sick and tired of the sea!$" -Route131_Text_2A3626: @ 82A3626 +Route131_Text_HermanDefeat: @ 82A3626 .string "Bleah!$" -Route131_Text_2A362D: @ 82A362D +Route131_Text_HermanPostBattle: @ 82A362D .string "Bored I am by the sea, but swim I must.\p" .string "I'm a born swimmer!\n" .string "That's what I am.$" -Route131_Text_2A367B: @ 82A367B +Route131_Text_SusieIntro: @ 82A367B .string "Hi, sweetie, wait!\n" .string "We should battle, you and I!$" -Route131_Text_2A36AB: @ 82A36AB +Route131_Text_SusieDefeat: @ 82A36AB .string "You're tough in spite of the way\n" .string "you look!$" -Route131_Text_2A36D6: @ 82A36D6 +Route131_Text_SusiePostBattle: @ 82A36D6 .string "Did you see a guy over there who whines\n" .string "that he's bored of the sea?\p" .string "That's all talk.\n" .string "He's hopelessly in love with the sea!$" -Route131_Text_2A3751: @ 82A3751 +Route131_Text_KaraIntro: @ 82A3751 .string "Why do men love bathing suits so much?\p" .string "They all ogle me!$" -Route131_Text_2A378A: @ 82A378A +Route131_Text_KaraDefeat: @ 82A378A .string "I'm out of my depth!$" -Route131_Text_2A379F: @ 82A379F +Route131_Text_KaraPostBattle: @ 82A379F .string "Maybe it's not my bathing suit that\n" .string "makes men look. It must be my beauty!$" -Route131_Text_2A37E9: @ 82A37E9 +Route131_Text_ReliIntro: @ 82A37E9 .string "RELI: We'll work together as siblings\n" .string "to take you on!$" -Route131_Text_2A381F: @ 82A381F +Route131_Text_ReliDefeat: @ 82A381F .string "RELI: We couldn't win even though we\n" .string "worked together…$" -Route131_Text_2A3855: @ 82A3855 +Route131_Text_ReliPostBattle: @ 82A3855 .string "RELI: The people of PACIFIDLOG are\n" .string "together with the sea and POKéMON from\l" .string "the time they are born.$" -Route131_Text_2A38B7: @ 82A38B7 +Route131_Text_ReliNotEnoughMons: @ 82A38B7 .string "RELI: You don't have two POKéMON?\n" .string "We can't enjoy a battle, then.$" -Route131_Text_2A38F8: @ 82A38F8 +Route131_Text_IanIntro: @ 82A38F8 .string "IAN: I'm doing my best together with\n" .string "my sis!$" -Route131_Text_2A3925: @ 82A3925 +Route131_Text_IanDefeat: @ 82A3925 .string "IAN: I did my best with my sis,\n" .string "but we still couldn't win…$" -Route131_Text_2A3960: @ 82A3960 +Route131_Text_IanPostBattle: @ 82A3960 .string "IAN: You know how PACIFIDLOG is\n" .string "a floating town?\p" .string "So, wherever there is the sea,\n" .string "that's a part of PACIFIDLOG!$" -Route131_Text_2A39CD: @ 82A39CD +Route131_Text_IanNotEnoughMons: @ 82A39CD .string "IAN: If you have two POKéMON,\n" .string "we'll take you on!$" -Route131_Text_2A39FE: @ 82A39FE +Route131_Text_TaliaIntro: @ 82A39FE .string "If you can beat me, I'll give you some\n" .string "great information!$" -Route131_Text_2A3A38: @ 82A3A38 +Route131_Text_TaliaDefeat: @ 82A3A38 .string "Oh?\n" .string "Did I lose?$" -Route131_Text_2A3A48: @ 82A3A48 +Route131_Text_TaliaPostBattle: @ 82A3A48 .string "There is an odd place nearby.\n" .string "There's a huge tower there.\l" .string "Why don't you go take a look?$" -Route131_Text_2A3AA0: @ 82A3AA0 +Route131_Text_KevinIntro: @ 82A3AA0 .string "The people of PACIFIDLOG are\n" .string "a peaceful bunch.\p" .string "They never get angry.\n" .string "That goes for me, too.$" -Route131_Text_2A3AFC: @ 82A3AFC +Route131_Text_KevinDefeat: @ 82A3AFC .string "Oops!$" -Route131_Text_2A3B02: @ 82A3B02 +Route131_Text_KevinPostBattle: @ 82A3B02 .string "Tch! …Oh, wait.\n" .string "I'm not angry. Honestly!\p" .string "But, boy, you're strong!\n" .string "Hahaha!$" -Route132_Text_2A3B4C: @ 82A3B4C +Route132_Text_GilbertIntro: @ 82A3B4C .string "I used to catch colds all the time as\n" .string "a kid, but I became totally fit after\l" .string "I started swimming.$" -Route132_Text_2A3BAC: @ 82A3BAC +Route132_Text_GilbertDefeat: @ 82A3BAC .string "I crave more power…$" -Route132_Text_2A3BC0: @ 82A3BC0 +Route132_Text_GilbertPostBattle: @ 82A3BC0 .string "TRAINERS travel the fields and\n" .string "mountains, so they must be fit, too.$" -Route132_Text_2A3C04: @ 82A3C04 +Route132_Text_DanaIntro: @ 82A3C04 .string "I try not to swim where the currents\n" .string "are too strong.$" -Route132_Text_2A3C39: @ 82A3C39 +Route132_Text_DanaDefeat: @ 82A3C39 .string "Oh, please, no!$" -Route132_Text_2A3C49: @ 82A3C49 +Route132_Text_DanaPostBattle: @ 82A3C49 .string "If I get swept away, I'll lose all my\n" .string "sense of place…$" -Route132_Text_2A3C7F: @ 82A3C7F +Route132_Text_RonaldIntro: @ 82A3C7F .string "Win or lose, you'll never know until\n" .string "you try!$" -Route132_Text_2A3CAD: @ 82A3CAD +Route132_Text_RonaldDefeat: @ 82A3CAD .string "Waah!\n" .string "I sank in defeat!$" -Route132_Text_2A3CC5: @ 82A3CC5 +Route132_Text_RonaldPostBattle: @ 82A3CC5 .string "I never battle when I know I'll win.\n" .string "I like to battle at the razor's edge of\l" .string "victory and defeat!$" -Route132_Text_2A3D26: @ 82A3D26 +Route132_Text_KiyoIntro: @ 82A3D26 .string "I contemplate POKéMON 24 hours a day.\n" .string "How could you possibly beat me?$" -Route132_Text_2A3D6C: @ 82A3D6C +Route132_Text_KiyoDefeat: @ 82A3D6C .string "I lose.\n" .string "I will concede defeat.$" -Route132_Text_2A3D8B: @ 82A3D8B +Route132_Text_KiyoPostBattle: @ 82A3D8B .string "Urggh…\n" .string "You're a POKéMON fanatic, aren't you?\p" .string "You must contemplate POKéMON 24 hours\n" .string "a day, don't you?$" -Route132_Text_2A3DF0: @ 82A3DF0 +Route132_Text_MakaylaIntro: @ 82A3DF0 .string "I'm always with my husband,\n" .string "but I can win even without him.$" -Route132_Text_2A3E2C: @ 82A3E2C +Route132_Text_MakaylaDefeat: @ 82A3E2C .string "Oh, I guess I wasn't good enough.$" -Route132_Text_2A3E4E: @ 82A3E4E +Route132_Text_MakaylaPostBattle: @ 82A3E4E .string "That young man over there looks just\n" .string "like my husband when he was young.\p" .string "He's making me blush!$" -Route132_Text_2A3EAC: @ 82A3EAC +Route132_Text_JonathanIntro: @ 82A3EAC .string "Someone's been watching me intently.\n" .string "Was it you?$" -Route132_Text_2A3EDD: @ 82A3EDD +Route132_Text_JonathanDefeat: @ 82A3EDD .string "Wow!\n" .string "That's pretty strong, all right!$" -Route132_Text_2A3F03: @ 82A3F03 +Route132_Text_JonathanPostBattle: @ 82A3F03 .string "I can't shake this feeling that\n" .string "someone's watching me.\p" .string "I can't concentrate!$" -Route132_Text_2A3F4F: @ 82A3F4F +Route132_Text_PaxtonIntro: @ 82A3F4F .string "Now where could my wife have gone?\n" .string "I'm always with her.\l" .string "I wonder if I can win on my own.$" -Route132_Text_2A3FA8: @ 82A3FA8 +Route132_Text_PaxtonDefeat: @ 82A3FA8 .string "Ah, I see that I couldn't manage\n" .string "to win on my own after all.$" -Route132_Text_2A3FE5: @ 82A3FE5 +Route132_Text_PaxtonPostBattle: @ 82A3FE5 .string "My wife must be looking for me.\n" .string "I'd best go find her right away.$" -Route132_Text_2A4026: @ 82A4026 +Route132_Text_DarcyIntro: @ 82A4026 .string "I liked training here by myself.\n" .string "It's awful that all these people came!$" -Route132_Text_2A406E: @ 82A406E +Route132_Text_DarcyDefeat: @ 82A406E .string "Okay! I won't complain about other\n" .string "people being here.$" -Route132_Text_2A40A4: @ 82A40A4 +Route132_Text_DarcyPostBattle: @ 82A40A4 .string "I suppose I can partner up with that\n" .string "old man and challenge that other team.$" -Route133_Text_2A40F0: @ 82A40F0 +Route133_Text_FranklinIntro: @ 82A40F0 .string "Did the currents carry you here, too?\n" .string "This must have been fated.\l" .string "Let's battle!$" -Route133_Text_2A413F: @ 82A413F +Route133_Text_FranklinDefeat: @ 82A413F .string "Strong!\n" .string "Too much so!$" -Route133_Text_2A4154: @ 82A4154 +Route133_Text_FranklinPostBattle: @ 82A4154 .string "It's just my luck that a tough TRAINER\n" .string "like you would drift here…\l" .string "I must be cursed…$" -Route133_Text_2A41A8: @ 82A41A8 +Route133_Text_DebraIntro: @ 82A41A8 .string "I've led a life of woe and misery…\n" .string "I've been cast away, and this is where\l" .string "I've drifted…$" -Route133_Text_2A4200: @ 82A4200 +Route133_Text_DebraDefeat: @ 82A4200 .string "Another loss…$" -Route133_Text_2A420E: @ 82A420E +Route133_Text_DebraPostBattle: @ 82A420E .string "A life adrift…\n" .string "I don't want it anymore!$" -Route133_Text_2A4236: @ 82A4236 +Route133_Text_LindaIntro: @ 82A4236 .string "Welcome!\n" .string "I've been expecting you!$" -Route133_Text_2A4258: @ 82A4258 +Route133_Text_LindaDefeat: @ 82A4258 .string "No! Please!$" -Route133_Text_2A4264: @ 82A4264 +Route133_Text_LindaPostBattle: @ 82A4264 .string "A strong child TRAINER…\n" .string "That's so annoying!$" -Route133_Text_2A4290: @ 82A4290 +Route133_Text_WarrenIntro: @ 82A4290 .string "I want to win like everyone else, but I\n" .string "won't raise POKéMON like everyone else.$" -Route133_Text_2A42E0: @ 82A42E0 +Route133_Text_WarrenDefeat: @ 82A42E0 .string "Darn it!\n" .string "My way is still too slack!$" -Route133_Text_2A4304: @ 82A4304 +Route133_Text_WarrenPostBattle: @ 82A4304 .string "It's way more fun to do things the way\n" .string "I want than to be like everybody else.\l" .string "I mean, that's obvious!$" -Route133_Text_2A436A: @ 82A436A +Route133_Text_BeckIntro: @ 82A436A .string "I came all the way out here with my\n" .string "BIRD POKéMON.$" -Route133_Text_2A439C: @ 82A439C +Route133_Text_BeckDefeat: @ 82A439C .string "You…\n" .string "You're stunningly cool!$" -Route133_Text_2A43B9: @ 82A43B9 +Route133_Text_BeckPostBattle: @ 82A43B9 .string "I'd like to go back to FORTREE,\n" .string "but I've grown to like this place, too.$" -Route133_Text_2A4401: @ 82A4401 +Route133_Text_MollieIntro: @ 82A4401 .string "I must have battled thousands\n" .string "of times. I've lost count.$" -Route133_Text_2A443A: @ 82A443A +Route133_Text_MollieDefeat: @ 82A443A .string "I may have lost thousands of times,\n" .string "but a loss still stings.$" -Route133_Text_2A4477: @ 82A4477 +Route133_Text_MolliePostBattle: @ 82A4477 .string "Keep at this, youngster. So you can\n" .string "become like my husband and me.$" -Route133_Text_2A44BA: @ 82A44BA +Route133_Text_ConorIntro: @ 82A44BA .string "Young people are too happy to go with\n" .string "the flow. They're without direction.$" -Route133_Text_2A4505: @ 82A4505 +Route133_Text_ConorDefeat: @ 82A4505 .string "You have a firm sense of purpose.$" -Route133_Text_2A4527: @ 82A4527 +Route133_Text_ConorPostBattle: @ 82A4527 .string "Don't let others lead you astray.\n" .string "Don't lose direction as you grow older.$" -Route134_Text_2A4571: @ 82A4571 +Route134_Text_JackIntro: @ 82A4571 .string "Even those POKéMON that can swim are\n" .string "carried along by the rapid currents.$" -Route134_Text_2A45BB: @ 82A45BB +Route134_Text_JackDefeat: @ 82A45BB .string "Aiyeeeeh!$" -Route134_Text_2A45C5: @ 82A45C5 +Route134_Text_JackPostBattle: @ 82A45C5 .string "I think POKéMON enjoy the fast-running\n" .string "currents around these parts.$" -Route134_Text_2A4609: @ 82A4609 +Route134_Text_LaurelIntro: @ 82A4609 .string "My LUVDISC are looking for a fun\n" .string "match. Will you join us?$" -Route134_Text_2A4643: @ 82A4643 +Route134_Text_LaurelDefeat: @ 82A4643 .string "Oopsie!$" -Route134_Text_2A464B: @ 82A464B +Route134_Text_LaurelPostBattle: @ 82A464B .string "There's a collector who's after\n" .string "the SCALES of LUVDISC.$" -Route134_Text_2A4682: @ 82A4682 +Route134_Text_AlexIntro: @ 82A4682 .string "Okeydokey! That's enough rest, gang!\n" .string "It's time for a match!$" -Route134_Text_2A46BE: @ 82A46BE +Route134_Text_AlexDefeat: @ 82A46BE .string "Tuckered out again…$" -Route134_Text_2A46D2: @ 82A46D2 +Route134_Text_AlexPostBattle: @ 82A46D2 .string "My BIRD POKéMON get tired quickly after\n" .string "a long flight…$" -Route134_Text_2A4709: @ 82A4709 +Route134_Text_HitoshiIntro: @ 82A4709 .string "You're a POKéMON TRAINER.\n" .string "No need for words. We battle now.$" -Route134_Text_2A4745: @ 82A4745 +Route134_Text_HitoshiDefeat: @ 82A4745 .string "… … … … … …\n" .string "… … … … … …$" -Route134_Text_2A475D: @ 82A475D +Route134_Text_HitoshiPostBattle: @ 82A475D .string "It was I who challenged you, and yet\n" .string "I lost. I am deeply shamed…$" -Route134_Text_2A479E: @ 82A479E +Route134_Text_AaronIntro: @ 82A479E .string "The savage tide in this area serves to\n" .string "make us stronger than ever.$" -Route134_Text_2A47E1: @ 82A47E1 +Route134_Text_AaronDefeat: @ 82A47E1 .string "I willingly concede defeat.$" -Route134_Text_2A47FD: @ 82A47FD +Route134_Text_AaronPostBattle: @ 82A47FD .string "We will return for more training at\n" .string "METEOR FALLS.\p" .string "If you'd like, you should go, too.\n" .string "It will definitely toughen you up!$" -Route134_Text_2A4875: @ 82A4875 +Route134_Text_KelvinIntro: @ 82A4875 .string "O-our boat!\n" .string "The tide carried it away!$" -Route134_Text_2A489B: @ 82A489B +Route134_Text_KelvinDefeat: @ 82A489B .string "Awawawawah!\n" .string "Please, stop! Please!$" -Route134_Text_2A48BD: @ 82A48BD +Route134_Text_KelvinPostBattle: @ 82A48BD .string "If we can't SURF, how are we supposed\n" .string "to get home?\p" .string "Actually, I know a fainted POKéMON\n" .string "can still SURF, but it feels wrong.$" -Route134_Text_2A4937: @ 82A4937 +Route134_Text_MarleyIntro: @ 82A4937 .string "Can your POKéMON dodge our\n" .string "lightning-quick attacks?$" -Route134_Text_2A496B: @ 82A496B +Route134_Text_MarleyDefeat: @ 82A496B .string "I never knew such a technique existed!\n" .string "You've defeated us thoroughly.$" -Route134_Text_2A49B1: @ 82A49B1 +Route134_Text_MarleyPostBattle: @ 82A49B1 .string "I haven't lost my passion for speed.\n" .string "I will try harder.$" -Route134_Text_2A49E9: @ 82A49E9 +Route134_Text_ReynaIntro: @ 82A49E9 .string "My POKéMON can't be taken down\n" .string "easily!$" -Route134_Text_2A4A10: @ 82A4A10 +Route134_Text_ReynaDefeat: @ 82A4A10 .string "You're kidding!\n" .string "Explain how I lost!$" -Route134_Text_2A4A34: @ 82A4A34 +Route134_Text_ReynaPostBattle: @ 82A4A34 .string "Haha!\n" .string "You won, all right!\p" .string "I'll work my way back up by taking on\n" .string "TRAINERS I happen to meet!$" -Route134_Text_2A4A8F: @ 82A4A8F +Route134_Text_HudsonIntro: @ 82A4A8F .string "Listen, have you seen another SAILOR\n" .string "around here?$" -Route134_Text_2A4AC1: @ 82A4AC1 +Route134_Text_HudsonDefeat: @ 82A4AC1 .string "Now, that's something!$" -Route134_Text_2A4AD8: @ 82A4AD8 +Route134_Text_HudsonPostBattle: @ 82A4AD8 .string "Our boat drifted out to sea.\p" .string "My buddy's a timid fellow, so I'm\n" .string "worried about him.$" diff --git a/data/text/trick_house_mechadolls.inc b/data/text/trick_house_mechadolls.inc new file mode 100644 index 0000000000..69d0118bd1 --- /dev/null +++ b/data/text/trick_house_mechadolls.inc @@ -0,0 +1,134 @@ +gTrickHouse_Mechadoll_Oddish:: @ 27ECBC + .string "ODDISH$" + +gTrickHouse_Mechadoll_Poochyena:: @ 27ECC3 + .string "POOCHYENA$" + +gTrickHouse_Mechadoll_Taillow:: @ 27ECCD + .string "TAILLOW$" + +gTrickHouse_Mechadoll_Azurill:: @ 27ECD5 + .string "AZURILL$" + +gTrickHouse_Mechadoll_Lotad:: @ 27ECDD + .string "LOTAD$" + +gTrickHouse_Mechadoll_Wingull:: @ 27ECE3 + .string "WINGULL$" + +gTrickHouse_Mechadoll_Dustox:: @ 27ECEB + .string "DUSTOX$" + +gTrickHouse_Mechadoll_Zubat:: @ 27ECF2 + .string "ZUBAT$" + +gTrickHouse_Mechadoll_Nincada:: @ 27ECF8 + .string "NINCADA$" + +gTrickHouse_Mechadoll_Ralts:: @ 27ED00 + .string "RALTS$" + +gTrickHouse_Mechadoll_Zigzagoon:: @ 27ED06 + .string "ZIGZAGOON$" + +gTrickHouse_Mechadoll_Slakoth:: @ 27ED10 + .string "SLAKOTH$" + +gTrickHouse_Mechadoll_Poochyena2:: @ 27ED18 + .string "POOCHYENA$" + +gTrickHouse_Mechadoll_Shroomish:: @ 27ED22 + .string "SHROOMISH$" + +gTrickHouse_Mechadoll_Zigzagoon2:: @ 27ED2C + .string "ZIGZAGOON$" + +gTrickHouse_Mechadoll_Poochyena3:: @ 27ED36 + .string "POOCHYENA$" + +gTrickHouse_Mechadoll_Zubat2:: @ 27ED40 + .string "ZUBAT$" + +gTrickHouse_Mechadoll_Carvanha:: @ 27ED46 + .string "CARVANHA$" + +gTrickHouse_Mechadoll_BurnHeal:: @ 27ED4F + .string "BURN HEAL$" + +gTrickHouse_Mechadoll_HarborMail:: @ 27ED59 + .string "HARBOR MAIL$" + +gTrickHouse_Mechadoll_SamePrice:: @ 27ED65 + .string "Same price$" + +gTrickHouse_Mechadoll_60Yen:: @ 27ED70 + .string "¥60$" + +gTrickHouse_Mechadoll_55Yen:: @ 27ED74 + .string "¥55$" + +gTrickHouse_Mechadoll_Nothing:: @ 27ED78 + .string "Nothing$" + +gTrickHouse_Mechadoll_CostMore:: @ 27ED80 + .string "They will cost more.$" + +gTrickHouse_Mechadoll_CostLess:: @ 27ED95 + .string "They will cost less.$" + +gTrickHouse_Mechadoll_SamePrice2:: @ 27EDAA + .string "Same price$" + +gTrickHouse_Mechadoll_Male:: @ 27EDB5 + .string "Male$" + +gTrickHouse_Mechadoll_Female:: @ 27EDBA + .string "Female$" + +gTrickHouse_Mechadoll_Neither:: @ 27EDC1 + .string "Neither$" + +gTrickHouse_Mechadoll_ElderlyMen:: @ 27EDC9 + .string "Elderly men$" + +gTrickHouse_Mechadoll_ElderlyLadies:: @ 27EDD5 + .string "Elderly ladies$" + +gTrickHouse_Mechadoll_SameNumber:: @ 27EDE4 + .string "Same number$" + +gTrickHouse_Mechadoll_None:: @ 27EDF0 + .string "None$" + +gTrickHouse_Mechadoll_One:: @ 27EDF5 + .string "1$" + +gTrickHouse_Mechadoll_Two:: @ 27EDF7 + .string "2$" + +gTrickHouse_Mechadoll_Two2:: @ 27EDF9 + .string "2$" + +gTrickHouse_Mechadoll_Three:: @ 27EDFB + .string "3$" + +gTrickHouse_Mechadoll_Four:: @ 27EDFD + .string "4$" + +gTrickHouse_Mechadoll_Six:: @ 27EDFF + .string "6$" + +gTrickHouse_Mechadoll_Seven:: @ 27EE01 + .string "7$" + +gTrickHouse_Mechadoll_Eight:: @ 27EE03 + .string "8$" + +gTrickHouse_Mechadoll_Six2:: @ 27EE05 + .string "6$" + +gTrickHouse_Mechadoll_Seven2:: @ 27EE07 + .string "7$" + +gTrickHouse_Mechadoll_Eight2:: @ 27EE09 + .string "8$" diff --git a/data/text/tv.inc b/data/text/tv.inc index f084ac0556..63a1eff652 100644 --- a/data/text/tv.inc +++ b/data/text/tv.inc @@ -1,4 +1,4 @@ -LilycoveCity_ContestLobby_Text_27EF15: @ 827EF15 +LilycoveCity_ContestLobby_Text_InterviewRequest: @ 827EF15 .string "Oh, hello! You were in a POKéMON\n" .string "CONTEST, weren't you?\l" .string "It's easy to tell from your POKéMON.\p" @@ -7,13 +7,13 @@ LilycoveCity_ContestLobby_Text_27EF15: @ 827EF15 .string "If I may, would you be willing to answer\n" .string "a few questions?$" -LilycoveCity_ContestLobby_Text_27EFE7: @ 827EFE7 +LilycoveCity_ContestLobby_Text_DescribeContest: @ 827EFE7 .string "Oh, you will?\n" .string "Thank you.\p" .string "Briefly, how would you describe the\n" .string "CONTEST you just entered?$" -LilycoveCity_ContestLobby_Text_27F03E: @ 827F03E +LilycoveCity_ContestLobby_Text_WhatImageWhenYouHearX: @ 827F03E .string "Ah, I see.\n" .string "That's a very edifying comment.\p" .string "You get a good feel for what\n" @@ -22,7 +22,7 @@ LilycoveCity_ContestLobby_Text_27F03E: @ 827F03E .string "When you hear the word “{STR_VAR_2},”\n" .string "what image do you get?$" -LilycoveCity_ContestLobby_Text_27F0EC: @ 827F0EC +LilycoveCity_ContestLobby_Text_ThatsAllForInterview: @ 827F0EC .string "I see!\p" .string "So that's how you imagine the concept\n" .string "of “{STR_VAR_2}” to be.\p" @@ -34,12 +34,12 @@ LilycoveCity_ContestLobby_Text_27F0EC: @ 827F0EC .string "make it to television.\l" .string "I hope you'll look forward to it!$" -LilycoveCity_ContestLobby_Text_27F1EF: @ 827F1EF +LilycoveCity_ContestLobby_Text_PleaseDoShareStoryWithMe: @ 827F1EF .string "Oh, too bad…\p" .string "Well, if you come across a good story,\n" .string "please do share it with me.$" -LilycoveCity_ContestLobby_Text_27F23F: @ 827F23F +LilycoveCity_ContestLobby_Text_LookingForwardToNextContest: @ 827F23F .string "I'll be looking forward to your next\n" .string "POKéMON CONTEST.$" @@ -108,7 +108,7 @@ gTVBravoTrainerText07:: @ 0827F65C gTVBravoTrainerText08:: @ 0827F6E6 .string "Introducing the TRAINER's {STR_VAR_1}!$" -BattleFrontier_BattleTowerLobby_Text_27F704:: @ 0827F704 +BattleFrontier_BattleTowerLobby_Text_InterviewRequest:: @ 0827F704 .string "Hello! You're the TRAINER who just had\n" .string "a battle, right?\p" .string "I'm gathering interviews with TRAINERS\n" @@ -116,7 +116,7 @@ BattleFrontier_BattleTowerLobby_Text_27F704:: @ 0827F704 .string "May I get a few words from you about\n" .string "your impressions on battling?$" -BattleFrontier_BattleTowerLobby_Text_27F7BA:: @ 0827F7BA +BattleFrontier_BattleTowerLobby_Text_HowDidBattleTowerTurnOut:: @ 0827F7BA .string "You will? Really?\n" .string "Thank you!\l" .string "Then, uh…\p" @@ -125,44 +125,44 @@ BattleFrontier_BattleTowerLobby_Text_27F7BA:: @ 0827F7BA .string "Were you satisfied with the battle?\n" .string "Or are you unhappy?$" -BattleFrontier_BattleTowerLobby_Text_27F84C:: @ 0827F84C +BattleFrontier_BattleTowerLobby_Text_SorryWeDisturbedYou:: @ 0827F84C .string "Oh…\n" .string "Sorry we disturbed you.\p" .string "Please give us an interview the next\n" .string "time you visit the BATTLE TOWER.$" -BattleFrontier_BattleTowerLobby_Text_27F8AE:: @ 0827F8AE +BattleFrontier_BattleTowerLobby_Text_ObviousYouHadGreatBattle:: @ 0827F8AE .string "Well, of course!\p" .string "That unmistakable look of satisfaction\n" .string "on your face…\p" .string "It's obvious that you've had a great\n" .string "battle.$" -BattleFrontier_BattleTowerLobby_Text_27F921:: @ 0827F921 +BattleFrontier_BattleTowerLobby_Text_DifficultToMakeBattleTurnOutAsPlanned:: @ 0827F921 .string "Oh, I see…\p" .string "Well, it certainly is difficult to make a\n" .string "battle turn out exactly as planned.$" -BattleFrontier_BattleTowerLobby_Text_27F97A:: @ 0827F97A +BattleFrontier_BattleTowerLobby_Text_DescribeYourBattle:: @ 0827F97A .string "Oh, oh, may I ask one more question?\p" .string "If you were to describe your\n" .string "impressions about this battle with\l" .string "one saying, what would it be?$" -BattleFrontier_BattleTowerLobby_Text_27F9FD:: @ 0827F9FD +BattleFrontier_BattleTowerLobby_Text_ThatsGreatLine:: @ 0827F9FD .string "Oh, that is stunningly cool!\p" .string "That's a great line!\n" .string "I hope you'll do great next time, too.\p" .string "I hope to see you again!$" -BattleFrontier_BattleTowerLobby_Text_27FA6F:: @ 0827FA6F +BattleFrontier_BattleTowerLobby_Text_SilentType:: @ 0827FA6F .string "Oh, I see…\p" .string "Still, being the silent type is also\n" .string "cool, isn't it?\p" .string "I hope you'll give me the opportunity\n" .string "to share your thoughts again!$" -BattleFrontier_BattleTowerLobby_Text_27FAF3:: @ 0827FAF3 +BattleFrontier_BattleTowerLobby_Text_LookingForwardToNextBattle:: @ 0827FAF3 .string "I'll be looking forward to your\n" .string "next battle!$" @@ -269,7 +269,7 @@ gTVBravoTrainerBattleTowerText14:: @ 082801E6 .string "That's all the time we have!\n" .string "Until next time, see you!$" -SlateportCity_PokemonFanClub_Text_280270: @ 08280270 +SlateportCity_PokemonFanClub_Text_InterviewRequestHasName: @ 08280270 .string "Wow!\p" .string "It's plain to see that you lavish your\n" .string "love on your {STR_VAR_1}.\p" @@ -280,36 +280,36 @@ SlateportCity_PokemonFanClub_Text_280270: @ 08280270 .string "Would you be willing to answer a few\n" .string "simple questions for me?$" -SlateportCity_PokemonFanClub_Text_28034F: @ 0828034F +SlateportCity_PokemonFanClub_Text_HereGoesQuickAnswers: @ 0828034F .string "Great! Thank you!\p" .string "Okay, here goes.\n" .string "I just need quick answers, okay?$" -SlateportCity_PokemonFanClub_Text_280393: @ 08280393 +SlateportCity_PokemonFanClub_Text_DescribeFeelingsFirstMetMon: @ 08280393 .string "When you first met {STR_VAR_1},\n" .string "what did you feel?\p" .string "How would you describe your feelings\n" .string "at the time?$" -SlateportCity_PokemonFanClub_Text_2803EF: @ 082803EF +SlateportCity_PokemonFanClub_Text_LikenMonToSomethingYouLike: @ 082803EF .string "Your {STR_VAR_1} is cared for lovingly.\p" .string "If you were to liken it to something\n" .string "that you like, what would it be?$" -SlateportCity_PokemonFanClub_Text_280454: @ 08280454 +SlateportCity_PokemonFanClub_Text_WhatAttractedYouAboutMon: @ 08280454 .string "This question also relates to your\n" .string "beloved {STR_VAR_1}.\p" .string "What was it about {STR_VAR_1} that\n" .string "attracted you?$" -SlateportCity_PokemonFanClub_Text_2804AC: @ 082804AC +SlateportCity_PokemonFanClub_Text_WhatDoPokemonMeanToYou: @ 082804AC .string "Okay, that makes sense.\p" .string "The next question might be a little\n" .string "on the tough side.\p" .string "Here goes…\p" .string "What do POKéMON mean to you?$" -SlateportCity_PokemonFanClub_Text_280523: @ 08280523 +SlateportCity_PokemonFanClub_Text_ThatsAllForInterview: @ 08280523 .string "I see!\p" .string "Hmhm…\p" .string "Okay!\n" @@ -321,16 +321,16 @@ SlateportCity_PokemonFanClub_Text_280523: @ 08280523 .string "Okay, that's all.\n" .string "Bye-bye!$" -SlateportCity_PokemonFanClub_Text_2805E2: @ 082805E2 +SlateportCity_PokemonFanClub_Text_HereIfYouGetUrgeToTellMe: @ 082805E2 .string "Oh, okay…\p" .string "Well, if you get the urge to tell me\n" .string "about POKéMON, I'll be here!$" -SlateportCity_PokemonFanClub_Text_28062E: @ 0828062E +SlateportCity_PokemonFanClub_Text_EnjoyDoingInterviews: @ 0828062E .string "I enjoy this job--you get to learn\n" .string "about POKéMON by doing interviews.$" -SlateportCity_PokemonFanClub_Text_280674: @ 08280674 +SlateportCity_PokemonFanClub_Text_InterviewRequest: @ 08280674 .string "Hi, you seem to be very close to your\n" .string "{STR_VAR_1}.\p" .string "Do you know what?\n" @@ -340,12 +340,12 @@ SlateportCity_PokemonFanClub_Text_280674: @ 08280674 .string "I'm wondering if you'd be willing to tell\n" .string "me a little about your {STR_VAR_1}?$" -SlateportCity_PokemonFanClub_Text_28073B: @ 0828073B +SlateportCity_PokemonFanClub_Text_TellMeAnythingAboutYourMon: @ 0828073B .string "Wow, thank you!\p" .string "Okay, then, please tell me anything\n" .string "you'd like about your {STR_VAR_1}.$" -SlateportCity_PokemonFanClub_Text_280789: @ 08280789 +SlateportCity_PokemonFanClub_Text_ThatsAllForInterview2: @ 08280789 .string "Wow…\n" .string "That's an interesting account.\p" .string "You really are tight with {STR_VAR_1},\n" @@ -479,7 +479,7 @@ gTVFanClubText07:: @ 082810E7 .string "A-whoops, will you look at the time?\n" .string "Time to say good-bye until next time!$" -SlateportCity_OceanicMuseum_1F_Text_2811A0: @ 082811A0 +SlateportCity_OceanicMuseum_1F_Text_InterviewRequest: @ 082811A0 .string "Oh?\n" .string "Do you perhaps like POKéMON?\p" .string "I'm on assignment with the TV network.\p" @@ -488,32 +488,32 @@ SlateportCity_OceanicMuseum_1F_Text_2811A0: @ 082811A0 .string "If you don't mind, could you tell me\n" .string "something about yourself?$" -SlateportCity_OceanicMuseum_1F_Text_28126D: @ 0828126D +SlateportCity_OceanicMuseum_1F_Text_InterviewRequestShort: @ 0828126D .string "I'm gathering stories on POKéMON and\n" .string "TRAINERS that occurred recently.\p" .string "If you don't mind, could you tell me\n" .string "something about yourself?$" -SlateportCity_OceanicMuseum_1F_Text_2812F2: @ 082812F2 +SlateportCity_OceanicMuseum_1F_Text_TellMeExperienceInvolvingPokemon: @ 082812F2 .string "Oh, you will?\n" .string "Thank you!\p" .string "Then, please, tell me anything of\n" .string "interest that you experienced recently\l" .string "involving POKéMON.$" -SlateportCity_OceanicMuseum_1F_Text_281367: @ 08281367 +SlateportCity_OceanicMuseum_1F_Text_LetMeKnowIfYouHaveStory: @ 08281367 .string "Oh, I see…\p" .string "Well, if you do have an interesting\n" .string "story to tell, please let me know.$" -SlateportCity_OceanicMuseum_1F_Text_2813B9: @ 082813B9 +SlateportCity_OceanicMuseum_1F_Text_ThatsAllForInterview: @ 082813B9 .string "Oh, what an uplifting story!\p" .string "I'll be sure to get your story told\n" .string "on television.\p" .string "It should be aired sometime, I think,\n" .string "so please look forward to it.$" -SlateportCity_OceanicMuseum_1F_Text_28144D: @ 0828144D +SlateportCity_OceanicMuseum_1F_Text_BetterWriteUpStory: @ 0828144D .string "Hmmm…\n" .string "I've got a good story for a TV program.\p" .string "I'd better write it up in a hurry!$" @@ -612,44 +612,44 @@ gTV3CheersForPokeblocksText05:: @ 08281B93 .string "Tune in next time!\n" .string "Our slogan is “3 CHEERS FOR {POKEBLOCK}S!”$" -LilycoveCity_PokemonTrainerFanClub_Text_281BCB:: @ 8281BCB +LilycoveCity_PokemonTrainerFanClub_Text_WhatsYourOpinionOfTrainer:: @ 8281BCB .string "Hi, there!\p" .string "I'm a big fan of {STR_VAR_1}.\n" .string "What's your opinion of {STR_VAR_1}?$" -LilycoveCity_PokemonTrainerFanClub_Text_281C06:: @ 8281C06 +LilycoveCity_PokemonTrainerFanClub_Text_ThatsWhatYouThink:: @ 8281C06 .string "I see, I see. That's what you think\n" .string "about the TRAINER.$" -LilycoveCity_PokemonTrainerFanClub_Text_281C3D:: @ 8281C3D +LilycoveCity_PokemonTrainerFanClub_Text_HaveYouForgottenTrainer:: @ 8281C3D .string "Have you completely forgotten\n" .string "about {STR_VAR_1}?$" -LilycoveCity_PokemonTrainerFanClub_Text_281C65:: @ 8281C65 +LilycoveCity_PokemonTrainerFanClub_Text_WhatsYourOpinionOfTrainer2:: @ 8281C65 .string "I'm a big fan of {STR_VAR_1}.\n" .string "What's your opinion of {STR_VAR_1}?$" -LilycoveCity_PokemonTrainerFanClub_Text_281C95:: @ 8281C95 +LilycoveCity_PokemonTrainerFanClub_Text_HowStrongRateTrainer:: @ 8281C95 .string "How strong would you rate {STR_VAR_1}\n" .string "on a scale of one hundred?$" -LilycoveCity_PokemonTrainerFanClub_Text_281CCD:: @ 8281CCD +LilycoveCity_PokemonTrainerFanClub_Text_HaveYouForgottenTrainer2:: @ 8281CCD .string "Have you completely forgotten\n" .string "about {STR_VAR_1}?$" -LilycoveCity_PokemonTrainerFanClub_Text_281CF5:: @ 8281CF5 +LilycoveCity_PokemonTrainerFanClub_Text_YouShouldMeetTrainer:: @ 8281CF5 .string "Oh, I see!\n" .string "You should meet {STR_VAR_1} sometime.\l" .string "I'm sure you'll become a fan, too!$" -LilycoveCity_PokemonTrainerFanClub_Text_281D40:: @ 8281D40 +LilycoveCity_PokemonTrainerFanClub_Text_ThankYouIllShareThisInfo:: @ 8281D40 .string "I see, I see.\p" .string "Thank you!\n" .string "That's very useful to know.\p" .string "I'll share this information with other\n" .string "{STR_VAR_1} fans and discuss it.$" -LilycoveCity_PokemonTrainerFanClub_Text_281DB4:: @ 8281DB4 +LilycoveCity_PokemonTrainerFanClub_HopeYouCatchTVSpecial:: @ 8281DB4 .string "There's going to be a TV special on\n" .string "{STR_VAR_1} very soon.\p" .string "I hope you catch it!$" @@ -2079,7 +2079,7 @@ gTVWhatsNo1InHoennTodayText08:: @ 0828858B .string "Viewers, take heart from {STR_VAR_1}!\n" .string "You, too, can be no. 1 every day!$" -gTVSecretBaseSecretsText00:: @ 08288608 +TVSecretBaseSecrets_Text_Intro:: @ 08288608 .string "SECRET BASE SECRETS!\p" .string "What do TRAINERS do in the secrecy\n" .string "of SECRET BASES?\p" @@ -2090,88 +2090,88 @@ gTVSecretBaseSecretsText00:: @ 08288608 .string "Let's have a peek!\p" .string "What will {STR_VAR_2} do?$" -gTVSecretBaseSecretsText01:: @ 082886C8 +TVSecretBaseSecrets_Text_WhatWillPlayerDoNext1:: @ 082886C8 .string "What will {STR_VAR_2} do next?$" -gTVSecretBaseSecretsText02:: @ 082886DE +TVSecretBaseSecrets_Text_WhatWillPlayerDoNext2:: @ 082886DE .string "And now, what will {STR_VAR_2} do?$" -gTVSecretBaseSecretsText03:: @ 082886F8 +TVSecretBaseSecrets_Text_TookXStepsBeforeLeaving:: @ 082886F8 .string "In the end, {STR_VAR_2} took {STR_VAR_3} steps\n" .string "in {STR_VAR_1}'s SECRET BASE before\l" .string "leaving.$" -gTVSecretBaseSecretsText04:: @ 08288739 +TVSecretBaseSecrets_Text_BaseFailedToInterestPlayer:: @ 08288739 .string "Hmm…\p" .string "It appears as if {STR_VAR_1}'s SECRET\n" .string "BASE failed to interest {STR_VAR_2}…$" -gTVSecretBaseSecretsText05:: @ 08288777 +TVSecretBaseSecrets_Text_PlayerEnjoyedBase:: @ 08288777 .string "{STR_VAR_2} appears to have enjoyed\n" .string "{STR_VAR_1}'s SECRET BASE thoroughly.$" -gTVSecretBaseSecretsText06:: @ 082887AF +TVSecretBaseSecrets_Text_PlayerHugeFanOfBase:: @ 082887AF .string "{STR_VAR_2} appears to have become\n" .string "a huge fan of {STR_VAR_1}'s\l" .string "SECRET BASE.$" -gTVSecretBaseSecretsText07:: @ 082887E9 +TVSecretBaseSecrets_Text_Outro:: @ 082887E9 .string "Viewers may want to check out\n" .string "{STR_VAR_1}'s SECRET BASE, too.\p" .string "Tune in next time as we visit another\n" .string "SECRET BASE! Thanks for joining us!$" -gTVSecretBaseSecretsText08:: @ 08288868 +TVSecretBaseSecrets_Text_StoppedMoving1:: @ 08288868 .string "The visitor has stopped!\p" .string "The visitor isn't moving at all!\p" .string "Was {STR_VAR_1}'s SECRET BASE\n" .string "that unimpressive?$" -gTVSecretBaseSecretsText09:: @ 082888CA +TVSecretBaseSecrets_Text_StoppedMoving2:: @ 082888CA .string "The visitor has stopped!\p" .string "The visitor isn't moving at all!\p" .string "Is it fatigue?\n" .string "Has the visitor grown weary?$" -gTVSecretBaseSecretsText10:: @ 08288930 +TVSecretBaseSecrets_Text_UsedChair:: @ 08288930 .string "The visitor sat down on a chair!\n" .string "The visitor is seated!\p" .string "Look at that look of delight!\p" .string "That chair must be very comfortable\n" .string "to get that response!$" -gTVSecretBaseSecretsText11:: @ 082889C0 +TVSecretBaseSecrets_Text_UsedBalloon:: @ 082889C0 .string "The visitor charged at a balloon!\p" .string "It burst!\n" .string "Oh, my goodness, it popped!\p" .string "The visitor appears startled by\n" .string "the sudden noise!$" -gTVSecretBaseSecretsText12:: @ 08288A3A +TVSecretBaseSecrets_Text_UsedTent:: @ 08288A3A .string "The visitor entered a TENT!\p" .string "The visitor is running around!\p" .string "Oh, my, the visitor is frolicking!\p" .string "The visitor appears surprised by\n" .string "the TENT's size!$" -gTVSecretBaseSecretsText13:: @ 08288ACA +TVSecretBaseSecrets_Text_UsedPlant:: @ 08288ACA .string "The visitor is examining\n" .string "a potted plant!\p" .string "The visitor has surprisingly\n" .string "mature taste!$" -gTVSecretBaseSecretsText14:: @ 08288B1E +TVSecretBaseSecrets_Text_UsedGoldShield:: @ 08288B1E .string "The visitor is examining\n" .string "a GOLD SHIELD!\p" .string "The visitor's eyes appear to be\n" .string "lit up with wonder!$" -gTVSecretBaseSecretsText15:: @ 08288B7A +TVSecretBaseSecrets_Text_UsedSilverShield:: @ 08288B7A .string "The visitor is examining\n" .string "a SILVER SHIELD!\p" .string "The visitor appears to be wide-eyed!$" -gTVSecretBaseSecretsText16:: @ 08288BC9 +TVSecretBaseSecrets_Text_UsedGlassOrnament:: @ 08288BC9 .string "The visitor is examining\n" .string "a GLASS ORNAMENT!\p" .string "Oh, no!\p" @@ -2179,15 +2179,15 @@ gTVSecretBaseSecretsText16:: @ 08288BC9 .string "It's getting covered with\n" .string "fingerprints…$" -gTVSecretBaseSecretsText17:: @ 08288C40 +TVSecretBaseSecrets_Text_UsedTV:: @ 08288C40 .string "The visitor is watching television!\p" .string "Looks like we have a big fan of TV!$" -gTVSecretBaseSecretsText18:: @ 08288C88 +TVSecretBaseSecrets_Text_UsedMudBall:: @ 08288C88 .string "The visitor stomped on a MUD BALL!\p" .string "The visitor looks delighted!$" -gTVSecretBaseSecretsText19:: @ 08288CC8 +TVSecretBaseSecrets_Text_UsedBag:: @ 08288CC8 .string "…Oh?\p" .string "The visitor is reaching for their own\n" .string "BAG and rummaging about in it!\p" @@ -2197,19 +2197,19 @@ gTVSecretBaseSecretsText19:: @ 08288CC8 .string "holding up the {STR_VAR_2}!\p" .string "It's like a TV commercial!$" -gTVSecretBaseSecretsText20:: @ 08288D7F +TVSecretBaseSecrets_Text_UsedCushion:: @ 08288D7F .string "The visitor grabs a cushion and…$" -gTVSecretBaseSecretsText21:: @ 08288DA0 +TVSecretBaseSecrets_Text_HitCushion:: @ 08288DA0 .string "…begins hitting it!\p" .string "Is the visitor under a lot of stress?$" -gTVSecretBaseSecretsText22:: @ 08288DDA +TVSecretBaseSecrets_Text_HuggedCushion:: @ 08288DDA .string "…hugs it tight!\p" .string "Could the visitor be feeling happy\n" .string "about something?$" -gTVSecretBaseSecretsText23:: @ 08288E1E +TVSecretBaseSecrets_Text_BattledWon:: @ 08288E1E .string "The visitor is chatting with\n" .string "{STR_VAR_1}!\p" .string "It looks like they're going to\n" @@ -2220,7 +2220,7 @@ gTVSecretBaseSecretsText23:: @ 08288E1E .string "The visitor is doing\n" .string "a victory dance!$" -gTVSecretBaseSecretsText24:: @ 08288EC9 +TVSecretBaseSecrets_Text_BattledLost:: @ 08288EC9 .string "The visitor is chatting with\n" .string "{STR_VAR_1}!\p" .string "It looks like they're going to\n" @@ -2230,7 +2230,7 @@ gTVSecretBaseSecretsText24:: @ 08288EC9 .string "The visitor has lost!\p" .string "The visitor looks dejected!$" -gTVSecretBaseSecretsText25:: @ 08288F58 +TVSecretBaseSecrets_Text_DeclinedBattle:: @ 08288F58 .string "The visitor is chatting with\n" .string "{STR_VAR_1}!\p" .string "It looks like they're going to\n" @@ -2241,7 +2241,7 @@ gTVSecretBaseSecretsText25:: @ 08288F58 .string "Did the visitor find {STR_VAR_1}\n" .string "unappealing?$" -gTVSecretBaseSecretsText26:: @ 08289011 +TVSecretBaseSecrets_Text_UsedPoster:: @ 08289011 .string "The visitor is staring intently\n" .string "at a poster!\p" .string "Is the poster to the visitor's\n" @@ -2249,12 +2249,12 @@ gTVSecretBaseSecretsText26:: @ 08289011 .string "…But… There's something disturbing\n" .string "about the visitor's stares.$" -gTVSecretBaseSecretsText27:: @ 082890A4 +TVSecretBaseSecrets_Text_UsedNoteMat:: @ 082890A4 .string "The visitor stepped on a NOTE MAT!\p" .string "…Hmm…\n" .string "The visitor composed a funny tune!$" -gTVSecretBaseSecretsText28:: @ 082890F0 +TVSecretBaseSecrets_Text_BattledDraw:: @ 082890F0 .string "The visitor is chatting with\n" .string "{STR_VAR_1}!\p" .string "It looks like they're going to\n" @@ -2265,14 +2265,14 @@ gTVSecretBaseSecretsText28:: @ 082890F0 .string "Both TRAINERS appear to be very\n" .string "disappointed!$" -gTVSecretBaseSecretsText29:: @ 08289193 +TVSecretBaseSecrets_Text_UsedSpinMat:: @ 08289193 .string "The visitor stepped on\n" .string "a SPIN MAT!\p" .string "It looks like the visitor is dizzy!\p" .string "The visitor is tottering about!\n" .string "Look out!$" -gTVSecretBaseSecretsText30:: @ 08289204 +TVSecretBaseSecrets_Text_UsedSandOrnament:: @ 08289204 .string "The visitor is reaching for\n" .string "a SAND ORNAMENT!\p" .string "Oh!\p" @@ -2281,7 +2281,7 @@ gTVSecretBaseSecretsText30:: @ 08289204 .string "The visitor looks sheepish\n" .string "and guilty!$" -gTVSecretBaseSecretsText31:: @ 0828927C +TVSecretBaseSecrets_Text_UsedDesk:: @ 0828927C .string "The visitor is rubbing a desktop\n" .string "with their finger!\p" .string "Apparently, the visitor disapproves\n" @@ -2289,25 +2289,25 @@ gTVSecretBaseSecretsText31:: @ 0828927C .string "The visitor is surprisingly concerned\n" .string "about neatness!$" -gTVSecretBaseSecretsText32:: @ 08289313 +TVSecretBaseSecrets_Text_UsedBrick:: @ 08289313 .string "The visitor is staring at a BRICK!\p" .string "Perhaps the visitor is thinking about\n" .string "the object on the BRICK.$" -gTVSecretBaseSecretsText33:: @ 08289375 +TVSecretBaseSecrets_Text_UsedSolidBoard:: @ 08289375 .string "The visitor is walking across\n" .string "the SOLID BOARD.\p" .string "The visitor keeps looking down.\p" .string "The visitor appears to be surprisingly\n" .string "timid and cautious!$" -gTVSecretBaseSecretsText34:: @ 082893FF +TVSecretBaseSecrets_Text_UsedFence:: @ 082893FF .string "The visitor is looking intently\n" .string "at a FENCE!\p" .string "Has a new idea for a trap popped\n" .string "into the visitor's head?$" -gTVSecretBaseSecretsText35:: @ 08289465 +TVSecretBaseSecrets_Text_UsedGlitterMat:: @ 08289465 .string "The visitor stepped on\n" .string "a GLITTER MAT!\p" .string "The visitor is striking a variety\n" @@ -2315,13 +2315,13 @@ gTVSecretBaseSecretsText35:: @ 08289465 .string "The visitor appears to be fantasizing\n" .string "about being an idol!$" -gTVSecretBaseSecretsText36:: @ 082894F2 +TVSecretBaseSecrets_Text_UsedTire:: @ 082894F2 .string "The visitor is staring intently\n" .string "at a TIRE!\p" .string "Could the visitor be thinking about\n" .string "the kind of car that would use it?$" -gTVSecretBaseSecretsText37:: @ 08289564 +TVSecretBaseSecrets_Text_UsedStand:: @ 08289564 .string "The visitor climbed a STAND!\p" .string "The visitor is looking out across\n" .string "{STR_VAR_1}'s BASE from high up!\p" @@ -2329,16 +2329,16 @@ gTVSecretBaseSecretsText37:: @ 08289564 .string "Lets loose a roar!\n" .string "The visitor is roaring!$" -gTVSecretBaseSecretsText38:: @ 082895EB +TVSecretBaseSecrets_Text_BrokeDoor:: @ 082895EB .string "The visitor charged headlong into\n" .string "a BREAKABLE DOOR!\p" .string "The visitor is laughing uproariously!$" -gTVSecretBaseSecretsText39:: @ 08289645 +TVSecretBaseSecrets_Text_UsedDoll:: @ 08289645 .string "The visitor is talking to a DOLL!\p" .string "…It's a little creepy…$" -gTVSecretBaseSecretsText40:: @ 0828967E +TVSecretBaseSecrets_Text_UsedSlide:: @ 0828967E .string "The visitor is climbing the ladder\n" .string "on a SLIDE!\p" .string "And…\p" @@ -2346,7 +2346,7 @@ gTVSecretBaseSecretsText40:: @ 0828967E .string "Looks like the visitor is having\n" .string "a grand old time!$" -gTVSecretBaseSecretsText41:: @ 082896FC +TVSecretBaseSecrets_Text_UsedSlideButDidntGoDown:: @ 082896FC .string "The visitor is climbing the ladder\n" .string "on a SLIDE!\p" .string "And…\p" @@ -2354,7 +2354,7 @@ gTVSecretBaseSecretsText41:: @ 082896FC .string "the ladder!\p" .string "Did the visitor suddenly chicken out?$" -gTVSecretBaseSecretsText42:: @ 0828977D +TVSecretBaseSecrets_Text_UsedJumpMat:: @ 0828977D .string "The visitor stepped on\n" .string "a JUMP MAT!\p" .string "The visitor jumped once!\p" @@ -2694,25 +2694,23 @@ gTVPokemonBattleUpdateText07:: @ 0828AE26 .string "This concludes this episode of\n" .string "“POKéMON BATTLE UPDATE!”$" -Route111_Text_28AF05: @ 0828AF05 +GabbyAndTy_Text_GabbyPreFirstBattle: @ 0828AF05 .string "GABBY: Oh! We've just spotted a tough-\n" .string "looking TRAINER here of all places!\p" .string "Okay, roll camera!\n" .string "Let's get this interview.$" -Route111_Text_28AF7D: @ 0828AF7D -Route118_Text_28AF7D: @ 0828AF7D -Route120_Text_28AF7D: @ 0828AF7D +GabbyAndTy_Text_GabbyIntro: @ 0828AF7D .string "GABBY: Oh! You're {PLAYER}! Hi!\n" .string "Do you remember us from last time?\p" .string "Can you show us how much stronger\n" .string "you've become? Okay, cue interview!$" -Route111_Text_28B000: @ 0828B000 +GabbyAndTy_Text_GabbyDefeatFirstTime: @ 0828B000 .string "GABBY: My eyes didn't lie!\n" .string "I did discover an astonishing TRAINER!$" -Route111_Text_28B042: @ 0828B042 +GabbyAndTy_Text_WhoAreYouInterview: @ 0828B042 .string "GABBY: Awesome! Awesome!\n" .string "Who are you?!\p" .string "I knew we were onto something wild\n" @@ -2723,19 +2721,19 @@ Route111_Text_28B042: @ 0828B042 .string "So, would you give us a bit of your time\n" .string "for an interview?$" -Route111_Text_28B137: @ 0828B137 +GabbyAndTy_Text_QuoteFromLastInterview: @ 0828B137 .string "GABBY: “{STR_VAR_1}!”\p" .string "Remember? That's the quote you gave\n" .string "us as the battle clincher last time.\p" .string "I never, ever forget stuff like that!$" -Route111_Text_28B1B3: @ 0828B1B3 +GabbyAndTy_Text_YouStompedUsInterviewAgain: @ 0828B1B3 .string "The last time we battled, you stomped\n" .string "us before we could brace ourselves…\p" .string "Anyway, what do you think?\n" .string "Do you want to be interviewed again?$" -Route111_Text_28B23D: @ 0828B23D +GabbyAndTy_Text_YouThrewABallAtUsInterviewAgain: @ 0828B23D .string "The last time we battled, didn't you\n" .string "throw a POKé BALL at us?\p" .string "We were shocked! So we told everyone,\n" @@ -2743,30 +2741,30 @@ Route111_Text_28B23D: @ 0828B23D .string "Anyway, what do you think?\n" .string "Do you want to be interviewed again?$" -Route111_Text_28B2FA: @ 0828B2FA +GabbyAndTy_Text_CleverItemSkillsInterviewAgain: @ 0828B2FA .string "The last time we battled, your item\n" .string "skills cleverly did us in.\p" .string "Anyway, what do you think?\n" .string "Do you want to be interviewed again?$" -Route111_Text_28B379: @ 0828B379 +GabbyAndTy_Text_WeLookedRespectableInterviewAgain: @ 0828B379 .string "The last time we battled, we managed\n" .string "to look respectable.\p" .string "Anyway, what do you think?\n" .string "Do you want to be interviewed again?$" -Route111_Text_28B3F3: @ 0828B3F3 +GabbyAndTy_Text_InterviewAgain: @ 0828B3F3 .string "Anyway, what do you think?\n" .string "Do you want to be interviewed again?$" -Route111_Text_28B433: @ 0828B433 +GabbyAndTy_Text_DescribeYourFeelings: @ 0828B433 .string "You will?\n" .string "Thank you!\p" .string "Okay, I need you to describe your\n" .string "feelings about our battle, but it\l" .string "has to be short and sweet. Go!$" -Route111_Text_28B4AB: @ 0828B4AB +GabbyAndTy_Text_PerfectWellBeSeeingYou: @ 0828B4AB .string "GABBY: Mmm, yeah!\n" .string "That's the perfect clincher!\p" .string "I get the feeling that this will make\n" @@ -2776,24 +2774,20 @@ Route111_Text_28B4AB: @ 0828B4AB .string "Okay!\n" .string "We'll be seeing you!$" -Route111_Text_28B577: @ 0828B577 +GabbyAndTy_Text_DontGiveUpKeepingEyeOut: @ 0828B577 .string "GABBY: Oh…\p" .string "Okay, but don't give up!\n" .string "We'll be keeping an eye out for you!$" -Route111_Text_28B5C0: @ 0828B5C0 -Route118_Text_28B5C0: @ 0828B5C0 -Route120_Text_28B5C0: @ 0828B5C0 +GabbyAndTy_Text_KeepingAnEyeOutForYou: @ 0828B5C0 .string "GABBY: We'll be keeping an eye out\n" .string "for you!$" -Route111_Text_28B5EC: @ 0828B5EC -Route118_Text_28B5EC: @ 0828B5EC -Route120_Text_28B5EC: @ 0828B5EC +GabbyAndTy_Text_GabbyNotEnoughMons: @ 0828B5EC .string "GABBY: Is there a strong TRAINER\n" .string "anywhere with a lot of POKéMON?$" -Route111_Text_28B62D: @ 0828B62D +GabbyAndTy_Text_GiveUsAnInterviewThisTime: @ 0828B62D .string "GABBY: Wow, you are something!\p" .string "You've gotten a lot stronger--a lot--\n" .string "since we last battled.\p" @@ -2803,46 +2797,36 @@ Route111_Text_28B62D: @ 0828B62D .string "Are you willing to give us an interview\l" .string "this time?$" -Route111_Text_28B719: @ 0828B719 -Route118_Text_28B719: @ 0828B719 -Route120_Text_28B719: @ 0828B719 +GabbyAndTy_Text_GabbyDefeat: @ 0828B719 .string "GABBY: That was an intense battle!\n" .string "Did you get all that on camera?$" -Route111_Text_28B75C: @ 0828B75C +GabbyAndTy_Text_TyPreFirstBattle: @ 0828B75C .string "TY: Hey, lookie here! A tough-looking\n" .string "TRAINER here, of all places!\l" .string "Camera's rolling!$" -Route111_Text_28B7B1: @ 0828B7B1 -Route118_Text_28B7B1: @ 0828B7B1 -Route120_Text_28B7B1: @ 0828B7B1 +GabbyAndTy_Text_TyIntro: @ 0828B7B1 .string "TY: Hey, lookie here!\n" .string "I remember you!\p" .string "I'll get this battle all on this\n" .string "here camera!$" -Route111_Text_28B805: @ 0828B805 -Route118_Text_28B805: @ 0828B805 -Route120_Text_28B805: @ 0828B805 +GabbyAndTy_Text_TyPostBattle: @ 0828B805 .string "TY: You're a natural!\n" .string "Got me some prime footage right here!$" -Route111_Text_28B841: @ 0828B841 -Route118_Text_28B841: @ 0828B841 -Route120_Text_28B841: @ 0828B841 +GabbyAndTy_Text_TyNotEnoughMons: @ 0828B841 .string "TY: Do you only have the one POKéMON\n" .string "and that's it?\p" .string "If you had more POKéMON, it'd make for\n" .string "better footage, but…$" -Route111_Text_28B8B1: @ 0828B8B1 +GabbyAndTy_Text_TyDefeatFirstTime: @ 0828B8B1 .string "TY: Yep, we sure spotted a hot TRAINER.\n" .string "This is a huge scoop for us!$" -Route111_Text_28B8F6: @ 0828B8F6 -Route118_Text_28B8F6: @ 0828B8F6 -Route120_Text_28B8F6: @ 0828B8F6 +GabbyAndTy_Text_TyDefeat: @ 0828B8F6 .string "TY: Yep, I got it all.\n" .string "That whole battle's on camera.$" diff --git a/data/text_input_strings.s b/data/text_input_strings.s index 919b49416d..bb4006a1fc 100644 --- a/data/text_input_strings.s +++ b/data/text_input_strings.s @@ -5,142 +5,142 @@ .align 2 -gUnknown_862B810:: @ 862B810 +gText_EasyChatKeyboard_ABCDEFothers:: @ 862B810 .string "{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 26}others$" -gUnknown_862B832:: @ 862B832 +gText_EasyChatKeyboard_GHIJKL:: @ 862B832 .string "{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L$" -gUnknown_862B84B:: @ 862B84B +gText_EasyChatKeyboard_MNOPQRS:: @ 862B84B .string "{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} $" -gUnknown_862B86C:: @ 862B86C +gText_EasyChatKeyboard_TUVWXYZ:: @ 862B86C .string "{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} $" -gUnknown_0862B88D:: @ 862B88D +gText_NamingScreenKeyboard_abcdef:: @ 862B88D .string "{CLEAR 11}a{CLEAR 6}b{CLEAR 6}c{CLEAR 26}d{CLEAR 6}e{CLEAR 6}f{CLEAR 6} {CLEAR 30}.$" -gUnknown_0862B8AE:: @ 862B8AE +gText_NamingScreenKeyboard_ghijkl:: @ 862B8AE .string "{CLEAR 11}g{CLEAR 6}h{CLEAR 7}i{CLEAR 27}j{CLEAR 7}k{CLEAR 7}l{CLEAR 7} {CLEAR 30},$" -gUnknown_0862B8CF:: @ 862B8CF +gText_NamingScreenKeyboard_mnopqrs:: @ 862B8CF .string "{CLEAR 11}m{CLEAR 6}n{CLEAR 6}o{CLEAR 26}p{CLEAR 6}q{CLEAR 7}r{CLEAR 6}s{CLEAR 27} $" -gUnknown_0862B8F0:: @ 862B8F0 +gText_NamingScreenKeyboard_tuvwxyz:: @ 862B8F0 .string "{CLEAR 11}t{CLEAR 6}u{CLEAR 6}v{CLEAR 26}w{CLEAR 6}x{CLEAR 6}y{CLEAR 6}z{CLEAR 26} $" -gUnknown_0862B911:: @ 862B911 +gText_NamingScreenKeyboard_ABCDEF:: @ 862B911 .string "{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 6} {CLEAR 30}.$" -gUnknown_0862B932:: @ 862B932 +gText_NamingScreenKeyboard_GHIJKL:: @ 862B932 .string "{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L{CLEAR 6} {CLEAR 30},$" -gUnknown_0862B953:: @ 862B953 +gText_NamingScreenKeyboard_MNOPQRS:: @ 862B953 .string "{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} $" -gUnknown_0862B974:: @ 862B974 +gText_NamingScreenKeyboard_TUVWXYZ:: @ 862B974 .string "{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} $" -gUnknown_0862B995:: @ 862B995 +gText_NamingScreenKeyboard_01234:: @ 862B995 .string "{CLEAR 11}0{CLEAR 16}1{CLEAR 16}2{CLEAR 16}3{CLEAR 16}4{CLEAR 16} $" -gUnknown_0862B9AE:: @ 862B9AE +gText_NamingScreenKeyboard_56789:: @ 862B9AE .string "{CLEAR 11}5{CLEAR 16}6{CLEAR 16}7{CLEAR 16}8{CLEAR 16}9{CLEAR 16} $" -gUnknown_0862B9C7:: @ 862B9C7 +gText_NamingScreenKeyboard_Symbols1:: @ 862B9C7 .string "{CLEAR 12}!{CLEAR 17}?{CLEAR 16}♂{CLEAR 16}♀{CLEAR 16}/{CLEAR 17}-$" -gUnknown_0862B9E0:: @ 862B9E0 +gText_NamingScreenKeyboard_Symbols2:: @ 862B9E0 .string "{CLEAR 11}…{CLEAR 16}“{CLEAR 16}”{CLEAR 18}‘{CLEAR 19}'{CLEAR 18} $" -gUnknown_0862B9F9:: @ 862B9F9 +gText_UnionRoomChatKeyboard_ABCDE:: @ 862B9F9 .string "ABCDE$" -gUnknown_0862B9FF:: @ 862B9FF +gText_UnionRoomChatKeyboard_FGHIJ:: @ 862B9FF .string "FGHIJ$" -gUnknown_0862BA05:: @ 862BA05 +gText_UnionRoomChatKeyboard_KLMNO:: @ 862BA05 .string "KLMNO$" -gUnknown_0862BA0B:: @ 862BA0B +gText_UnionRoomChatKeyboard_PQRST:: @ 862BA0B .string "PQRST$" -gUnknown_0862BA11:: @ 862BA11 +gText_UnionRoomChatKeyboard_UVWXY:: @ 862BA11 .string "UVWXY$" -gUnknown_0862BA17:: @ 862BA17 +gText_UnionRoomChatKeyboard_Z:: @ 862BA17 .string "Z $" -gUnknown_0862BA1D:: @ 862BA1D +gText_UnionRoomChatKeyboard_01234Upper:: @ 862BA1D .string "01234$" -gUnknown_0862BA23:: @ 862BA23 +gText_UnionRoomChatKeyboard_56789Upper:: @ 862BA23 .string "56789$" -gUnknown_0862BA29:: @ 862BA29 +gText_UnionRoomChatKeyboard_PunctuationUpper:: @ 862BA29 .string ".,!? $" -gUnknown_0862BA2F:: @ 862BA2F +gText_UnionRoomChatKeyboard_SymbolsUpper:: @ 862BA2F .string "-/&… $" -gUnknown_0862BA35:: @ 862BA35 +gText_UnionRoomChatKeyboard_abcde:: @ 862BA35 .string "abcde$" -gUnknown_0862BA3B:: @ 862BA3B +gText_UnionRoomChatKeyboard_fghij:: @ 862BA3B .string "fghij$" -gUnknown_0862BA41:: @ 862BA41 +gText_UnionRoomChatKeyboard_klmno:: @ 862BA41 .string "klmno$" -gUnknown_0862BA47:: @ 862BA47 +gText_UnionRoomChatKeyboard_pqrst:: @ 862BA47 .string "pqrst$" -gUnknown_0862BA4D:: @ 862BA4D +gText_UnionRoomChatKeyboard_uvwxy:: @ 862BA4D .string "uvwxy$" -gUnknown_0862BA53:: @ 862BA53 +gText_UnionRoomChatKeyboard_z:: @ 862BA53 .string "z $" -gUnknown_0862BA59:: @ 862BA59 +gText_UnionRoomChatKeyboard_01234Lower:: @ 862BA59 .string "01234$" -gUnknown_0862BA5F:: @ 862BA5F +gText_UnionRoomChatKeyboard_56789Lower:: @ 862BA5F .string "56789$" -gUnknown_0862BA65:: @ 862BA65 +gText_UnionRoomChatKeyboard_PunctuationLower:: @ 862BA65 .string ".,!? $" -gUnknown_0862BA6B:: @ 862BA6B +gText_UnionRoomChatKeyboard_SymbolsLower:: @ 862BA6B .string "-/&… $" .string "$$$$$$$$" -gUnknown_0862BA79:: @ 862BA79 +gText_UnionRoomChatKeyboard_Emoji1:: @ 862BA79 .string "{EMOJI_MISCHIEVOUS}{EMOJI_HAPPY}{EMOJI_ANGRY}{EMOJI_SURPRISED}{EMOJI_BIGANGER}$" -gUnknown_0862BA84:: @ 862BA84 +gText_UnionRoomChatKeyboard_Emoji2:: @ 862BA84 .string "{EMOJI_BIGSMILE}{EMOJI_EVIL}{EMOJI_NEUTRAL}{EMOJI_TIRED}{EMOJI_SHOCKED}$" -gUnknown_0862BA8F:: @ 862BA8F +gText_UnionRoomChatKeyboard_Emoji3:: @ 862BA8F .string "{EMOJI_LEAF}{EMOJI_FIRE}{EMOJI_WATER}{EMOJI_BOLT}{EMOJI_BALL}$" -gUnknown_0862BA9A:: @ 862BA9A +gText_UnionRoomChatKeyboard_Emoji4:: @ 862BA9A .string "♂♀{EMOJI_LEFT_PAREN}{EMOJI_RIGHT_PAREN}{EMOJI_TILDE}$" -gUnknown_0862BAA3:: @ 862BAA3 +gText_UnionRoomChatKeyboard_Emoji5:: @ 862BAA3 .string "{EMOJI_LEFT_EYE}{EMOJI_RIGHT_EYE}{EMOJI_SMALLWHEEL}{EMOJI_SPHERE}{EMOJI_IRRITATED}$" -gUnknown_0862BAAE:: @ 862BAAE +gText_UnionRoomChatKeyboard_Emoji6:: @ 862BAAE .string "{EMOJI_AT}{EMOJI_BIGWHEEL}{EMOJI_TONGUE}{EMOJI_ACUTE}{EMOJI_GRAVE}$" -gUnknown_0862BAB9:: @ 862BAB9 +gText_UnionRoomChatKeyboard_Emoji7:: @ 862BAB9 .string "{EMOJI_RIGHT_FIST}{EMOJI_LEFT_FIST}{EMOJI_TRIANGLE_OUTLINE}{EMOJI_UNION}{EMOJI_GREATER_THAN}$" -gUnknown_0862BAC4:: @ 862BAC4 +gText_UnionRoomChatKeyboard_Emoji8:: @ 862BAC4 .string "{EMOJI_CIRCLE}{EMOJI_TRIANGLE}{EMOJI_SQUARE}{EMOJI_HEART}{EMOJI_MOON}$" -gUnknown_0862BACF:: @ 862BACF +gText_UnionRoomChatKeyboard_Emoji9:: @ 862BACF .string "{EMOJI_NOTE}{EMOJI_PLUS}{EMOJI_MINUS}{EMOJI_EQUALS}{EMOJI_PIPE}$" -gUnknown_0862BADA:: @ 862BADA +gText_UnionRoomChatKeyboard_Emoji10:: @ 862BADA .string "{EMOJI_HIGHBAR}{EMOJI_UNDERSCORE};: $" diff --git a/src/bg.c b/gflib/bg.c similarity index 95% rename from src/bg.c rename to gflib/bg.c index 1678f4023c..ab4e8b60d4 100644 --- a/src/bg.c +++ b/gflib/bg.c @@ -1174,78 +1174,29 @@ u32 GetTileMapIndexFromCoords(s32 x, s32 y, s32 screenSize, u32 screenWidth, u32 return (y * 0x20) + x; } -#ifdef NONMATCHING // This one has some weird switch statement cases that refuse to cooperate void CopyTileMapEntry(const u16 *src, u16 *dest, s32 palette1, s32 tileOffset, s32 palette2) { u16 var; + + if (palette1 == 16) + goto CASE_16; switch (palette1) { case 0 ... 16: - if (palette1 != 16) - var = ((*src + tileOffset) & 0xFFF) + ((palette1 + palette2) << 12); - else - var = ((*dest & 0xFC00) + (palette2 << 12)) | ((*src + tileOffset) & 0x3FF); + var = ((*src + tileOffset) & 0xFFF) + ((palette1 + palette2) << 12); + break; + CASE_16: + var = *dest; + var &= 0xFC00; + var += palette2 << 12; + var |= (*src + tileOffset) & 0x3FF; break; default: var = *src + tileOffset + (palette2 << 12); break; } - *dest = var; } -#else -NAKED -void CopyTileMapEntry(const u16 *src, u16 *dest, s32 palette1, s32 tileOffset, s32 palette2) -{ - asm("push {r4-r6,lr}\n\ - add r4, r0, #0\n\ - add r6, r1, #0\n\ - ldr r5, [sp, #0x10]\n\ - cmp r2, #0x10\n\ - beq _08002B14\n\ - cmp r2, #0x10\n\ - bgt _08002B34\n\ - cmp r2, #0\n\ - blt _08002B34\n\ - ldrh r0, [r4]\n\ - add r0, r3\n\ - ldr r3, =0x00000fff\n\ - add r1, r3, #0\n\ - and r0, r1\n\ - add r1, r2, r5\n\ - lsl r1, #12\n\ - b _08002B3A\n\ - .pool\n\ -_08002B14:\n\ - ldrh r1, [r6]\n\ - mov r0, #0xFC\n\ - lsl r0, #8\n\ - and r1, r0\n\ - lsl r2, r5, #12\n\ - add r2, r1, r2\n\ - ldrh r0, [r4]\n\ - add r0, r3\n\ - ldr r3, =0x000003ff\n\ - add r1, r3, #0\n\ - and r0, r1\n\ - orr r0, r2\n\ - b _08002B3C\n\ - .pool\n\ -_08002B34:\n\ - ldrh r0, [r4]\n\ - add r0, r3\n\ - lsl r1, r5, #12\n\ -_08002B3A:\n\ - add r0, r1\n\ -_08002B3C:\n\ - lsl r0, #16\n\ - lsr r1, r0, #16\n\ - strh r1, [r6]\n\ - pop {r4-r6}\n\ - pop {r0}\n\ - bx r0\n"); -} -#endif // NONMATCHING u32 GetBgType(u8 bg) { diff --git a/include/bg.h b/gflib/bg.h similarity index 100% rename from include/bg.h rename to gflib/bg.h diff --git a/src/blit.c b/gflib/blit.c similarity index 100% rename from src/blit.c rename to gflib/blit.c diff --git a/include/blit.h b/gflib/blit.h similarity index 100% rename from include/blit.h rename to gflib/blit.h diff --git a/include/dma3.h b/gflib/dma3.h similarity index 100% rename from include/dma3.h rename to gflib/dma3.h diff --git a/src/dma3_manager.c b/gflib/dma3_manager.c similarity index 100% rename from src/dma3_manager.c rename to gflib/dma3_manager.c diff --git a/src/gpu_regs.c b/gflib/gpu_regs.c similarity index 100% rename from src/gpu_regs.c rename to gflib/gpu_regs.c diff --git a/include/gpu_regs.h b/gflib/gpu_regs.h similarity index 100% rename from include/gpu_regs.h rename to gflib/gpu_regs.h diff --git a/src/alloc.c b/gflib/malloc.c similarity index 100% rename from src/alloc.c rename to gflib/malloc.c diff --git a/include/alloc.h b/gflib/malloc.h similarity index 100% rename from include/alloc.h rename to gflib/malloc.h diff --git a/src/sprite.c b/gflib/sprite.c similarity index 98% rename from src/sprite.c rename to gflib/sprite.c index e25eac62e4..2e96acf2c7 100644 --- a/src/sprite.c +++ b/gflib/sprite.c @@ -264,23 +264,26 @@ static const s32 sUnknown_082EC6F4[3][4][2] = static const struct OamDimensions sOamDimensions[3][4] = { - { // square - { 8, 8 }, - { 16, 16 }, - { 32, 32 }, - { 64, 64 }, + [ST_OAM_SQUARE] = + { + [SPRITE_SIZE(8x8)] = { 8, 8 }, + [SPRITE_SIZE(16x16)] = { 16, 16 }, + [SPRITE_SIZE(32x32)] = { 32, 32 }, + [SPRITE_SIZE(64x64)] = { 64, 64 }, }, - { // horizontal rectangle - { 16, 8 }, - { 32, 8 }, - { 32, 16 }, - { 64, 32 }, + [ST_OAM_H_RECTANGLE] = + { + [SPRITE_SIZE(16x8)] = { 16, 8 }, + [SPRITE_SIZE(32x8)] = { 32, 8 }, + [SPRITE_SIZE(32x16)] = { 32, 16 }, + [SPRITE_SIZE(64x32)] = { 64, 32 }, }, - { // vertical rectangle - { 8, 16 }, - { 8, 32 }, - { 16, 32 }, - { 32, 64 }, + [ST_OAM_V_RECTANGLE] = + { + [SPRITE_SIZE(8x16)] = { 8, 16 }, + [SPRITE_SIZE(8x32)] = { 8, 32 }, + [SPRITE_SIZE(16x32)] = { 16, 32 }, + [SPRITE_SIZE(32x64)] = { 32, 64 }, }, }; @@ -406,10 +409,10 @@ void SortSprites(void) sprite2Y = sprite2Y - 256; if (sprite1->oam.affineMode == ST_OAM_AFFINE_DOUBLE - && sprite1->oam.size == 3) + && sprite1->oam.size == ST_OAM_SIZE_3) { u32 shape = sprite1->oam.shape; - if (shape == ST_OAM_SQUARE || shape == 2) + if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE) { if (sprite1Y > 128) sprite1Y = sprite1Y - 256; @@ -417,7 +420,7 @@ void SortSprites(void) } if (sprite2->oam.affineMode == ST_OAM_AFFINE_DOUBLE - && sprite2->oam.size == 3) + && sprite2->oam.size == ST_OAM_SIZE_3) { u32 shape = sprite2->oam.shape; if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE) @@ -455,7 +458,7 @@ void SortSprites(void) sprite2Y = sprite2Y - 256; if (sprite1->oam.affineMode == ST_OAM_AFFINE_DOUBLE - && sprite1->oam.size == 3) + && sprite1->oam.size == ST_OAM_SIZE_3) { u32 shape = sprite1->oam.shape; if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE) @@ -466,7 +469,7 @@ void SortSprites(void) } if (sprite2->oam.affineMode == ST_OAM_AFFINE_DOUBLE - && sprite2->oam.size == 3) + && sprite2->oam.size == ST_OAM_SIZE_3) { u32 shape = sprite2->oam.shape; if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE) diff --git a/include/sprite.h b/gflib/sprite.h similarity index 100% rename from include/sprite.h rename to gflib/sprite.h diff --git a/src/string_util.c b/gflib/string_util.c similarity index 89% rename from src/string_util.c rename to gflib/string_util.c index 39d235ab80..db972a8ed3 100644 --- a/src/string_util.c +++ b/gflib/string_util.c @@ -1,6 +1,7 @@ #include "global.h" #include "string_util.h" #include "text.h" +#include "strings.h" EWRAM_DATA u8 gStringVar1[0x100] = {0}; EWRAM_DATA u8 gStringVar2[0x100] = {0}; @@ -24,21 +25,6 @@ static const s32 sPowersOfTen[] = 1000000000, }; -extern const u8 gExpandedPlaceholder_Empty[]; -extern const u8 gExpandedPlaceholder_Kun[]; -extern const u8 gExpandedPlaceholder_Chan[]; -extern const u8 gExpandedPlaceholder_Sapphire[]; -extern const u8 gExpandedPlaceholder_Ruby[]; -extern const u8 gExpandedPlaceholder_Emerald[]; -extern const u8 gExpandedPlaceholder_Aqua[]; -extern const u8 gExpandedPlaceholder_Magma[]; -extern const u8 gExpandedPlaceholder_Archie[]; -extern const u8 gExpandedPlaceholder_Maxie[]; -extern const u8 gExpandedPlaceholder_Kyogre[]; -extern const u8 gExpandedPlaceholder_Groudon[]; -extern const u8 gExpandedPlaceholder_Brendan[]; -extern const u8 gExpandedPlaceholder_May[]; - u8 *StringCopy10(u8 *dest, const u8 *src) { u8 i; @@ -451,52 +437,52 @@ static const u8 *ExpandPlaceholder_StringVar3(void) static const u8 *ExpandPlaceholder_KunChan(void) { if (gSaveBlock2Ptr->playerGender == MALE) - return gExpandedPlaceholder_Kun; + return gText_ExpandedPlaceholder_Kun; else - return gExpandedPlaceholder_Chan; + return gText_ExpandedPlaceholder_Chan; } static const u8 *ExpandPlaceholder_RivalName(void) { if (gSaveBlock2Ptr->playerGender == MALE) - return gExpandedPlaceholder_May; + return gText_ExpandedPlaceholder_May; else - return gExpandedPlaceholder_Brendan; + return gText_ExpandedPlaceholder_Brendan; } static const u8 *ExpandPlaceholder_Version(void) { - return gExpandedPlaceholder_Emerald; + return gText_ExpandedPlaceholder_Emerald; } static const u8 *ExpandPlaceholder_Aqua(void) { - return gExpandedPlaceholder_Aqua; + return gText_ExpandedPlaceholder_Aqua; } static const u8 *ExpandPlaceholder_Magma(void) { - return gExpandedPlaceholder_Magma; + return gText_ExpandedPlaceholder_Magma; } static const u8 *ExpandPlaceholder_Archie(void) { - return gExpandedPlaceholder_Archie; + return gText_ExpandedPlaceholder_Archie; } static const u8 *ExpandPlaceholder_Maxie(void) { - return gExpandedPlaceholder_Maxie; + return gText_ExpandedPlaceholder_Maxie; } static const u8 *ExpandPlaceholder_Kyogre(void) { - return gExpandedPlaceholder_Kyogre; + return gText_ExpandedPlaceholder_Kyogre; } static const u8 *ExpandPlaceholder_Groudon(void) { - return gExpandedPlaceholder_Groudon; + return gText_ExpandedPlaceholder_Groudon; } const u8 *GetExpandedPlaceholder(u32 id) @@ -505,24 +491,24 @@ const u8 *GetExpandedPlaceholder(u32 id) static const ExpandPlaceholderFunc funcs[] = { - ExpandPlaceholder_UnknownStringVar, - ExpandPlaceholder_PlayerName, - ExpandPlaceholder_StringVar1, - ExpandPlaceholder_StringVar2, - ExpandPlaceholder_StringVar3, - ExpandPlaceholder_KunChan, - ExpandPlaceholder_RivalName, - ExpandPlaceholder_Version, - ExpandPlaceholder_Aqua, - ExpandPlaceholder_Magma, - ExpandPlaceholder_Archie, - ExpandPlaceholder_Maxie, - ExpandPlaceholder_Kyogre, - ExpandPlaceholder_Groudon, + [PLACEHOLDER_ID_UNKNOWN] = ExpandPlaceholder_UnknownStringVar, + [PLACEHOLDER_ID_PLAYER] = ExpandPlaceholder_PlayerName, + [PLACEHOLDER_ID_STRING_VAR_1] = ExpandPlaceholder_StringVar1, + [PLACEHOLDER_ID_STRING_VAR_2] = ExpandPlaceholder_StringVar2, + [PLACEHOLDER_ID_STRING_VAR_3] = ExpandPlaceholder_StringVar3, + [PLACEHOLDER_ID_KUN] = ExpandPlaceholder_KunChan, + [PLACEHOLDER_ID_RIVAL] = ExpandPlaceholder_RivalName, + [PLACEHOLDER_ID_VERSION] = ExpandPlaceholder_Version, + [PLACEHOLDER_ID_AQUA] = ExpandPlaceholder_Aqua, + [PLACEHOLDER_ID_MAGMA] = ExpandPlaceholder_Magma, + [PLACEHOLDER_ID_ARCHIE] = ExpandPlaceholder_Archie, + [PLACEHOLDER_ID_MAXIE] = ExpandPlaceholder_Maxie, + [PLACEHOLDER_ID_KYOGRE] = ExpandPlaceholder_Kyogre, + [PLACEHOLDER_ID_GROUDON] = ExpandPlaceholder_Groudon, }; if (id >= ARRAY_COUNT(funcs)) - return gExpandedPlaceholder_Empty; + return gText_ExpandedPlaceholder_Empty; else return funcs[id](); } diff --git a/include/string_util.h b/gflib/string_util.h similarity index 100% rename from include/string_util.h rename to gflib/string_util.h diff --git a/src/text.c b/gflib/text.c similarity index 100% rename from src/text.c rename to gflib/text.c diff --git a/include/text.h b/gflib/text.h similarity index 89% rename from include/text.h rename to gflib/text.h index d3ff663bb4..3c34441dcd 100644 --- a/include/text.h +++ b/gflib/text.h @@ -107,12 +107,34 @@ #define TEXT_COLOR_TRANSPARENT 0x0 #define TEXT_COLOR_WHITE 0x1 #define TEXT_COLOR_DARK_GREY 0x2 -// 0x3 +#define TEXT_COLOR_LIGHT_GREY 0x3 #define TEXT_COLOR_RED 0x4 -// 0x5 +#define TEXT_COLOR_LIGHT_RED 0x5 #define TEXT_COLOR_GREEN 0x6 -// 0x7 +#define TEXT_COLOR_LIGHT_GREEN 0x7 #define TEXT_COLOR_BLUE 0x8 +#define TEXT_COLOR_LIGHT_BLUE 0x9 +#define TEXT_DYNAMIC_COLOR_1 0xA // Usually white +#define TEXT_DYNAMIC_COLOR_2 0xB // Usually white w/ tinge of green +#define TEXT_DYNAMIC_COLOR_3 0xC // Usually white +#define TEXT_DYNAMIC_COLOR_4 0xD // Usually aquamarine +#define TEXT_DYNAMIC_COLOR_5 0xE // Usually blue-green +#define TEXT_DYNAMIC_COLOR_6 0xF // Usually cerulean + +#define PLACEHOLDER_ID_UNKNOWN 0x0 +#define PLACEHOLDER_ID_PLAYER 0x1 +#define PLACEHOLDER_ID_STRING_VAR_1 0x2 +#define PLACEHOLDER_ID_STRING_VAR_2 0x3 +#define PLACEHOLDER_ID_STRING_VAR_3 0x4 +#define PLACEHOLDER_ID_KUN 0x5 +#define PLACEHOLDER_ID_RIVAL 0x6 +#define PLACEHOLDER_ID_VERSION 0x7 +#define PLACEHOLDER_ID_AQUA 0x8 +#define PLACEHOLDER_ID_MAGMA 0x9 +#define PLACEHOLDER_ID_ARCHIE 0xA +#define PLACEHOLDER_ID_MAXIE 0xB +#define PLACEHOLDER_ID_KYOGRE 0xC +#define PLACEHOLDER_ID_GROUDON 0xD // battle placeholders are located in battle_message.h diff --git a/src/window.c b/gflib/window.c similarity index 99% rename from src/window.c rename to gflib/window.c index fbce57743d..7c87ea86dc 100644 --- a/src/window.c +++ b/gflib/window.c @@ -1,6 +1,6 @@ #include "global.h" #include "window.h" -#include "alloc.h" +#include "malloc.h" #include "bg.h" #include "blit.h" diff --git a/include/window.h b/gflib/window.h similarity index 100% rename from include/window.h rename to gflib/window.h diff --git a/graphics/battle_anims/sprites/tri_force_triangle.png b/graphics/battle_anims/sprites/tri_attack_triangle.png similarity index 100% rename from graphics/battle_anims/sprites/tri_force_triangle.png rename to graphics/battle_anims/sprites/tri_attack_triangle.png diff --git a/graphics/battle_frontier/options_pal1.pal b/graphics/battle_frontier/tourney.pal similarity index 100% rename from graphics/battle_frontier/options_pal1.pal rename to graphics/battle_frontier/tourney.pal diff --git a/graphics/battle_frontier/options_pal2.pal b/graphics/battle_frontier/tourney_buttons.pal similarity index 100% rename from graphics/battle_frontier/options_pal2.pal rename to graphics/battle_frontier/tourney_buttons.pal diff --git a/graphics/battle_frontier/options.png b/graphics/battle_frontier/tourney_buttons.png similarity index 100% rename from graphics/battle_frontier/options.png rename to graphics/battle_frontier/tourney_buttons.png diff --git a/graphics/battle_frontier/misc1.png b/graphics/battle_frontier/tourney_info_card.png similarity index 100% rename from graphics/battle_frontier/misc1.png rename to graphics/battle_frontier/tourney_info_card.png diff --git a/graphics/unknown/unknown_D84F00.bin b/graphics/battle_frontier/tourney_info_card_bg.bin similarity index 100% rename from graphics/unknown/unknown_D84F00.bin rename to graphics/battle_frontier/tourney_info_card_bg.bin diff --git a/graphics/unknown/unknown_D84970.bin b/graphics/battle_frontier/tourney_info_card_tilemap.bin similarity index 100% rename from graphics/unknown/unknown_D84970.bin rename to graphics/battle_frontier/tourney_info_card_tilemap.bin diff --git a/graphics/unknown/unknown_D83B2C.bin b/graphics/battle_frontier/tourney_line_down_map.bin similarity index 100% rename from graphics/unknown/unknown_D83B2C.bin rename to graphics/battle_frontier/tourney_line_down_map.bin diff --git a/graphics/unknown/unknown_D83900.bin b/graphics/battle_frontier/tourney_line_mask_map.bin similarity index 100% rename from graphics/unknown/unknown_D83900.bin rename to graphics/battle_frontier/tourney_line_mask_map.bin diff --git a/graphics/unknown/unknown_D83C3C.bin b/graphics/battle_frontier/tourney_line_up_map.bin similarity index 100% rename from graphics/unknown/unknown_D83C3C.bin rename to graphics/battle_frontier/tourney_line_up_map.bin diff --git a/graphics/battle_frontier/options_pal3.pal b/graphics/battle_frontier/tourney_match_card_bg.pal similarity index 100% rename from graphics/battle_frontier/options_pal3.pal rename to graphics/battle_frontier/tourney_match_card_bg.pal diff --git a/graphics/battle_frontier/text.pal b/graphics/battle_interface/text.pal old mode 100644 new mode 100755 similarity index 100% rename from graphics/battle_frontier/text.pal rename to graphics/battle_interface/text.pal diff --git a/graphics/event_objects/pics/effects/unknown_33.png b/graphics/event_objects/pics/effects/lavaridge_gym_warp.png similarity index 100% rename from graphics/event_objects/pics/effects/unknown_33.png rename to graphics/event_objects/pics/effects/lavaridge_gym_warp.png diff --git a/graphics/interface/party_menu_misc.bin b/graphics/interface/party_menu_bg.bin similarity index 100% rename from graphics/interface/party_menu_misc.bin rename to graphics/interface/party_menu_bg.bin diff --git a/graphics/interface/party_menu_misc.pal b/graphics/interface/party_menu_bg.pal similarity index 100% rename from graphics/interface/party_menu_misc.pal rename to graphics/interface/party_menu_bg.pal diff --git a/graphics/interface/party_menu_misc.png b/graphics/interface/party_menu_bg.png similarity index 100% rename from graphics/interface/party_menu_misc.png rename to graphics/interface/party_menu_bg.png diff --git a/graphics/interface/unknown_6157E0.bin b/graphics/interface/party_menu_cancel_button.bin similarity index 100% rename from graphics/interface/unknown_6157E0.bin rename to graphics/interface/party_menu_cancel_button.bin diff --git a/graphics/interface/unknown_6157C4.bin b/graphics/interface/party_menu_confirm_button.bin similarity index 100% rename from graphics/interface/unknown_6157C4.bin rename to graphics/interface/party_menu_confirm_button.bin diff --git a/graphics/pokemon/farfetch_d/anim_front.png b/graphics/pokemon/farfetchd/anim_front.png similarity index 100% rename from graphics/pokemon/farfetch_d/anim_front.png rename to graphics/pokemon/farfetchd/anim_front.png diff --git a/graphics/pokemon/farfetch_d/back.png b/graphics/pokemon/farfetchd/back.png similarity index 100% rename from graphics/pokemon/farfetch_d/back.png rename to graphics/pokemon/farfetchd/back.png diff --git a/graphics/pokemon/farfetch_d/footprint.png b/graphics/pokemon/farfetchd/footprint.png similarity index 100% rename from graphics/pokemon/farfetch_d/footprint.png rename to graphics/pokemon/farfetchd/footprint.png diff --git a/graphics/pokemon/farfetch_d/front.png b/graphics/pokemon/farfetchd/front.png similarity index 100% rename from graphics/pokemon/farfetch_d/front.png rename to graphics/pokemon/farfetchd/front.png diff --git a/graphics/pokemon/farfetch_d/icon.png b/graphics/pokemon/farfetchd/icon.png similarity index 100% rename from graphics/pokemon/farfetch_d/icon.png rename to graphics/pokemon/farfetchd/icon.png diff --git a/graphics/pokemon/farfetch_d/normal.pal b/graphics/pokemon/farfetchd/normal.pal similarity index 100% rename from graphics/pokemon/farfetch_d/normal.pal rename to graphics/pokemon/farfetchd/normal.pal diff --git a/graphics/pokemon/farfetch_d/shiny.pal b/graphics/pokemon/farfetchd/shiny.pal similarity index 100% rename from graphics/pokemon/farfetch_d/shiny.pal rename to graphics/pokemon/farfetchd/shiny.pal diff --git a/graphics/unknown/unknown_DDD704.bin b/graphics/trade/menu_mon_box.bin similarity index 100% rename from graphics/unknown/unknown_DDD704.bin rename to graphics/trade/menu_mon_box.bin diff --git a/graphics/trade/ball.png b/graphics/trade/pokeball.png similarity index 100% rename from graphics/trade/ball.png rename to graphics/trade/pokeball.png diff --git a/graphics/unknown/unknown_DDB444.pal b/graphics/trade/unknown_DDB444.pal similarity index 100% rename from graphics/unknown/unknown_DDB444.pal rename to graphics/trade/unknown_DDB444.pal diff --git a/graphics/unknown/unknown_DDCF04.bin b/graphics/trade/unknown_DDCF04.bin similarity index 100% rename from graphics/unknown/unknown_DDCF04.bin rename to graphics/trade/unknown_DDCF04.bin diff --git a/graphics/weather/fog2.png b/graphics/weather/fog_diagonal.png similarity index 100% rename from graphics/weather/fog2.png rename to graphics/weather/fog_diagonal.png diff --git a/graphics/weather/fog1.png b/graphics/weather/fog_horizontal.png similarity index 100% rename from graphics/weather/fog1.png rename to graphics/weather/fog_horizontal.png diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index bc51b1e1fb..fbdb6348cc 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -409,7 +409,7 @@ $(MASKSGFXDIR)/unknown_C2EA50.4bpp: %.4bpp: %.png $(BATTRANSGFXDIR)/vs_frame.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 16 -$(INTERFACEGFXDIR)/party_menu_misc.4bpp: %.4bpp: %.png +$(INTERFACEGFXDIR)/party_menu_bg.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 62 $(TYPESGFXDIR)/move_types.4bpp: $(types:%=$(TYPESGFXDIR)/%.4bpp) $(contest_types:%=$(TYPESGFXDIR)/contest_%.4bpp) diff --git a/include/apprentice.h b/include/apprentice.h index 195106c536..27ce0371e0 100644 --- a/include/apprentice.h +++ b/include/apprentice.h @@ -1,21 +1,21 @@ #ifndef GUARD_APPRENTICE_H #define GUARD_APPRENTICE_H -#define APPRENTICE_SPECIES_COUNT 10 +#include "constants/apprentice.h" struct ApprenticeTrainer { - u8 name[6][PLAYER_NAME_LENGTH + 1]; // For all six languages. + u8 name[NUM_LANGUAGES - 1][PLAYER_NAME_LENGTH + 1]; // For all languages except the unused one. u16 otId; u8 facilityClass; u16 species[APPRENTICE_SPECIES_COUNT]; u8 id; - u16 easyChatWords[6]; + u16 speechLost[EASY_CHAT_BATTLE_WORDS_COUNT]; }; extern const struct ApprenticeTrainer gApprentices[]; -void CopyFriendsApprenticeChallengeText(u8 saveblockApprenticeId); +void BufferApprenticeChallengeText(u8 saveApprenticeId); void Apprentice_EnableBothScriptContexts(void); void ResetApprenticeStruct(struct Apprentice *apprentice); void ResetAllApprenticeData(void); diff --git a/include/battle.h b/include/battle.h index 0f4087c90b..f8c685fb0c 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 @@ -479,7 +478,7 @@ struct BattleScripting u8 animArg1; u8 animArg2; u16 tripleKickPower; - u8 atk49_state; + u8 moveendState; u8 battlerWithAbility; u8 multihitMoveEffect; u8 battler; @@ -487,9 +486,9 @@ struct BattleScripting u8 animTargetsHit; u8 statChanger; bool8 statAnimPlayed; - u8 atk23_state; + u8 getexpState; u8 battleStyle; - u8 atk6C_state; + u8 drawlvlupboxState; u8 learnMoveState; u8 field_20; u8 reshowMainState; diff --git a/include/battle_anim.h b/include/battle_anim.h index a7b71bd856..c3019a5cf4 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -101,7 +101,7 @@ void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 a2); s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 a2); u8 GetBattlerYCoordWithElevation(u8 battlerId); void WaitAnimForDuration(struct Sprite *sprite); -void sub_80A7938(struct Sprite *sprite); +void AnimSnoreZ(struct Sprite *sprite); void InitAnimLinearTranslation(struct Sprite *sprite); void sub_80A6F98(struct Sprite *sprite); u8 GetBattlerSpriteBGPriority(u8 battlerId); @@ -141,17 +141,17 @@ bool8 AnimFastTranslateLinear(struct Sprite *sprite); void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite); void TranslateMonSpriteLinear(struct Sprite *sprite); void TranslateSpriteLinear(struct Sprite *sprite); -void sub_80A77C8(struct Sprite *sprite); +void AnimSpriteOnMonPos(struct Sprite *sprite); void sub_80A7000(struct Sprite *sprite); void TranslateSpriteInCircleOverDuration(struct Sprite *sprite); void SetGreyscaleOrOriginalPalette(u16 a1, bool8 a2); void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds); bool8 RunAffineAnimFromTaskData(struct Task *task); -void sub_80A78AC(struct Sprite *sprite); +void AnimThrowProjectile(struct Sprite *sprite); void sub_80A6BFC(struct BattleAnimBgData *unk, u8 unused); u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10); void sub_80A749C(struct Sprite *sprite); -void sub_80A6DEC(struct Sprite *sprite); +void TradeMenuBouncePartySprites(struct Sprite *sprite); void DestroyAnimVisualTaskAndDisableBlend(u8 taskId); void DestroySpriteAndFreeResources_(struct Sprite *sprite); void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId); @@ -185,7 +185,7 @@ bool8 IsBattlerSpritePresent(u8 battlerId); void sub_80A6C68(u32 arg0); u8 GetAnimBattlerSpriteId(u8 wantedBattler); bool8 IsDoubleBattle(void); -u8 sub_80A6D94(void); +u8 GetBattleBgPaletteNum(void); u8 GetBattlerSpriteBGPriorityRank(u8 battlerId); void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*)); void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite); @@ -221,66 +221,66 @@ void sub_8116EB4(u8); void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *arg8, const u32 *arg9, const u32 *palette); // battle_anim_effects_1.c -void sub_810310C(u8 battler, struct Sprite* sprite); +void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite); void AnimMoveTwisterParticle(struct Sprite* sprite); // water.c -void sub_8108C94(struct Sprite *sprite); +void AnimWaterPulseRing(struct Sprite *sprite); // flying.c void sub_810E2C8(struct Sprite *sprite); // smokescreen.c -u8 sub_807521C(s16 x, s16 y, u8 a3); +u8 SmokescreenImpact(s16 x, s16 y, u8 a3); u32 UnpackSelectedBattleAnimPalettes(s16); u8 GetBattlerSpriteFinal_Y(u8, u16, u8); -extern const struct OamData gUnknown_08524944; -extern const struct OamData gUnknown_08524A8C; -extern const struct OamData gUnknown_08524904; -extern const struct OamData gUnknown_085249C4; -extern const struct OamData gUnknown_0852490C; -extern const struct OamData gUnknown_08524934; -extern const struct OamData gUnknown_08524974; -extern const struct OamData gUnknown_0852499C; -extern const struct OamData gUnknown_085249CC; -extern const struct OamData gUnknown_08524914; -extern const struct OamData gUnknown_0852496C; -extern const struct OamData gUnknown_08524A34; -extern const struct OamData gUnknown_08524A3C; -extern const struct OamData gUnknown_08524A94; -extern const struct OamData gUnknown_08524954; -extern const struct OamData gUnknown_08524AE4; -extern const struct OamData gUnknown_085249D4; -extern const struct OamData gUnknown_08524A9C; -extern const struct OamData gUnknown_08524ADC; -extern const struct OamData gUnknown_08524B14; -extern const struct OamData gUnknown_08524A54; -extern const struct OamData gUnknown_08524A14; -extern const struct OamData gUnknown_08524A1C; -extern const struct OamData gUnknown_085249BC; -extern const struct OamData gUnknown_08524AF4; -extern const struct OamData gUnknown_085249DC; -extern const struct OamData gUnknown_08524AFC; -extern const struct OamData gUnknown_08524B1C; -extern const struct OamData gUnknown_08524A04; -extern const struct OamData gUnknown_08524A2C; -extern const struct OamData gUnknown_08524AEC; -extern const struct OamData gUnknown_08524964; -extern const struct OamData gUnknown_08524B24; -extern const struct OamData gUnknown_08524A24; -extern const struct OamData gUnknown_08524AC4; -extern const struct OamData gUnknown_08524A84; -extern const struct OamData gUnknown_08524A64; -extern const struct OamData gUnknown_0852491C; -extern const struct OamData gUnknown_0852495C; -extern const struct OamData gUnknown_0852497C; -extern const struct OamData gUnknown_085249F4; -extern const struct OamData gUnknown_0852493C; -extern const struct OamData gUnknown_08524A5C; -extern const struct OamData gUnknown_08524A74; +extern const struct OamData gOamData_AffineOff_ObjNormal_8x16; +extern const struct OamData gOamData_AffineNormal_ObjBlend_16x16; +extern const struct OamData gOamData_AffineOff_ObjNormal_8x8; +extern const struct OamData gOamData_AffineDouble_ObjNormal_8x8; +extern const struct OamData gOamData_AffineOff_ObjNormal_16x16; +extern const struct OamData gOamData_AffineOff_ObjNormal_32x16; +extern const struct OamData gOamData_AffineNormal_ObjNormal_32x32; +extern const struct OamData gOamData_AffineNormal_ObjNormal_64x32; +extern const struct OamData gOamData_AffineDouble_ObjNormal_16x16; +extern const struct OamData gOamData_AffineOff_ObjNormal_32x32; +extern const struct OamData gOamData_AffineNormal_ObjNormal_16x16; +extern const struct OamData gOamData_AffineOff_ObjBlend_32x32; +extern const struct OamData gOamData_AffineOff_ObjBlend_64x64; +extern const struct OamData gOamData_AffineNormal_ObjBlend_32x32; +extern const struct OamData gOamData_AffineOff_ObjNormal_16x32; +extern const struct OamData gOamData_AffineDouble_ObjBlend_8x8; +extern const struct OamData gOamData_AffineDouble_ObjNormal_32x32; +extern const struct OamData gOamData_AffineNormal_ObjBlend_64x64; +extern const struct OamData gOamData_AffineNormal_ObjBlend_32x64; +extern const struct OamData gOamData_AffineDouble_ObjBlend_32x16; +extern const struct OamData gOamData_AffineOff_ObjBlend_32x16; +extern const struct OamData gOamData_AffineDouble_ObjNormal_16x32; +extern const struct OamData gOamData_AffineDouble_ObjNormal_32x64; +extern const struct OamData gOamData_AffineNormal_ObjNormal_32x64; +extern const struct OamData gOamData_AffineDouble_ObjBlend_32x32; +extern const struct OamData gOamData_AffineDouble_ObjNormal_64x64; +extern const struct OamData gOamData_AffineDouble_ObjBlend_64x64; +extern const struct OamData gOamData_AffineDouble_ObjBlend_64x32; +extern const struct OamData gOamData_AffineDouble_ObjNormal_8x16; +extern const struct OamData gOamData_AffineOff_ObjBlend_16x16; +extern const struct OamData gOamData_AffineDouble_ObjBlend_16x16; +extern const struct OamData gOamData_AffineNormal_ObjNormal_8x8; +extern const struct OamData gOamData_AffineDouble_ObjBlend_8x16; +extern const struct OamData gOamData_AffineOff_ObjBlend_8x8; +extern const struct OamData gOamData_AffineNormal_ObjBlend_8x16; +extern const struct OamData gOamData_AffineNormal_ObjBlend_8x8; +extern const struct OamData gOamData_AffineOff_ObjBlend_8x16; +extern const struct OamData gOamData_AffineOff_ObjNormal_64x64; +extern const struct OamData gOamData_AffineOff_ObjNormal_32x64; +extern const struct OamData gOamData_AffineNormal_ObjNormal_64x64; +extern const struct OamData gOamData_AffineDouble_ObjNormal_32x16; +extern const struct OamData gOamData_AffineOff_ObjNormal_64x32; +extern const struct OamData gOamData_AffineOff_ObjBlend_64x32; +extern const struct OamData gOamData_AffineOff_ObjBlend_16x32; extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; diff --git a/include/battle_bg.h b/include/battle_bg.h index dac41c992c..167ea5cf74 100644 --- a/include/battle_bg.h +++ b/include/battle_bg.h @@ -2,11 +2,11 @@ #define GUARD_BATTLE_BG_H void BattleInitBgsAndWindows(void); -void sub_80356D0(void); +void InitBattleBgsVideo(void); void LoadBattleMenuWindowGfx(void); void DrawMainBattleBackground(void); void LoadBattleTextboxAndBackground(void); -void sub_8035D74(u8 taskId); +void InitLinkBattleVsScreen(u8 taskId); void DrawBattleEntryBackground(void); bool8 LoadChosenBattleElement(u8 caseId); diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 9449f19865..32918fefba 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; @@ -248,8 +248,8 @@ void nullsub_21(void); void PlayerHandleGetRawMonData(void); void sub_80587B0(void); void sub_805CC00(struct Sprite *sprite); -void SetCB2ToReshowScreenAfterMenu(void); -void SetCB2ToReshowScreenAfterMenu2(void); +void CB2_SetUpReshowBattleScreenAfterMenu(void); +void CB2_SetUpReshowBattleScreenAfterMenu2(void); void c3_0802FDF4(u8 taskId); void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused); void ActionSelectionDestroyCursorAt(u8 cursorPos); diff --git a/include/battle_dome.h b/include/battle_dome.h index d1dfdb1003..900508c4bf 100644 --- a/include/battle_dome.h +++ b/include/battle_dome.h @@ -1,9 +1,9 @@ #ifndef GUARD_BATTLE_DOME_H #define GUARD_BATTLE_DOME_H -extern u32 gUnknown_0203CD70; +extern u32 gPlayerPartyLostHP; -int GetDomeTrainerMonCountInBits(u16 tournamentTrainerId); +int GetDomeTrainerSelectedMons(u16 tournamentTrainerId); int TrainerIdToDomeTournamentId(u16 trainerId); #endif // GUARD_BATTLE_DOME_H diff --git a/include/battle_main.h b/include/battle_main.h index c134f819fe..e04db17bb0 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -77,20 +77,20 @@ void sub_803B3AC(void); // unused void sub_803B598(void); // unused void BattleTurnPassed(void); u8 IsRunningFromBattleImpossible(void); -void sub_803BDA0(u8 battlerId); +void SwitchPartyOrder(u8 battlerId); void SwapTurnOrder(u8 id1, u8 id2); u8 GetWhoStrikesFirst(u8 battlerId1, u8 battlerId2, bool8 ignoreChosenMoves); void RunBattleScriptCommands_PopCallbacksStack(void); void RunBattleScriptCommands(void); bool8 TryRunFromBattle(u8 battlerId); -extern struct UnknownPokemonStruct4 gUnknown_02022FF8[3]; +extern struct UnknownPokemonStruct4 gMultiPartnerParty[MULTI_PARTY_SIZE]; extern const struct SpriteTemplate gUnknown_0831AC88; extern const struct OamData gOamData_831ACA8; extern const struct OamData gOamData_831ACB0; extern const u8 gTypeEffectiveness[336]; -extern const u8 gTypeNames[][TYPE_NAME_LENGTH + 1]; +extern const u8 gTypeNames[NUMBER_OF_MON_TYPES][TYPE_NAME_LENGTH + 1]; extern const struct TrainerMoney gTrainerMoneyTable[]; extern const u8 gAbilityNames[][ABILITY_NAME_LENGTH + 1]; extern const u8 *const gAbilityDescriptionPointers[]; diff --git a/include/battle_message.h b/include/battle_message.h index 88ccbb90fa..a3f2636e59 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -213,7 +213,7 @@ struct BattleMsgData void BufferStringBattle(u16 stringID); u32 BattleStringExpandPlaceholdersToDisplayedString(const u8* src); u32 BattleStringExpandPlaceholders(const u8* src, u8* dst); -void BattlePutTextOnWindow(const u8* text, u8 arg1); +void BattlePutTextOnWindow(const u8* text, u8 windowId); void SetPpNumbersPaletteInMoveSelection(void); u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp); @@ -259,7 +259,7 @@ extern const u8 gText_Love[]; extern const u8 gText_SpaceAndSpace[]; extern const u8 gText_CommaSpace[]; extern const u8 gText_Space2[]; -extern const u8 gText_ScrollTextUp[]; +extern const u8 gText_LineBreak[]; extern const u8 gText_NewLine[]; extern const u8 gText_Are[]; extern const u8 gText_Are2[]; diff --git a/include/battle_pyramid.h b/include/battle_pyramid.h index d77172d0bc..d0681acf3f 100644 --- a/include/battle_pyramid.h +++ b/include/battle_pyramid.h @@ -9,7 +9,7 @@ void GenerateBattlePyramidWildMon(void); u8 GetPyramidRunMultiplier(void); u8 InBattlePyramid(void); bool8 InBattlePyramid_(void); -void sub_81A9E90(void); +void PausePyramidChallenge(void); void SoftResetInBattlePyramid(void); void CopyPyramidTrainerSpeechBefore(u16 trainerId); void CopyPyramidTrainerWinSpeech(u16 trainerId); diff --git a/include/battle_pyramid_bag.h b/include/battle_pyramid_bag.h index c3b799a4d0..df111b939f 100644 --- a/include/battle_pyramid_bag.h +++ b/include/battle_pyramid_bag.h @@ -36,15 +36,15 @@ extern struct PyramidBagCursorData gPyramidBagCursorData; void InitBattlePyramidBagCursorPosition(void); void CB2_PyramidBagMenuFromStartMenu(void); -void sub_81C4F84(void); +void CB2_ReturnToPyramidBagMenu(void); void sub_81C5924(void); void sub_81C59BC(void); void sub_81C4EFC(void); -void sub_81C4F98(u8 a0, void (*callback)(void)); -void sub_81C6714(u8 taskId); -void sub_81C6A94(void); -void sub_81C4F24(void); -void sub_81C5B14(u8 taskId); +void GoToBattlePyramidBagMenu(u8 a0, void (*callback)(void)); +void Task_CloseBattlePyramidBagMessage(u8 taskId); +void TryStoreHeldItemsInPyramidBag(void); +void ChooseItemsToTossFromPyramidBag(void); +void CloseBattlePyramidBagAndSetCallback(u8 taskId); void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback)(u8 taskId)); #endif // GUARD_BATTLE_PYRAMID_BAG_H diff --git a/include/battle_setup.h b/include/battle_setup.h index 984c820bbb..dacd1fa710 100644 --- a/include/battle_setup.h +++ b/include/battle_setup.h @@ -4,7 +4,6 @@ #include "gym_leader_rematch.h" #define REMATCHES_COUNT 5 -#define REMATCH_ELITE_FOUR_ENTRIES REMATCH_SIDNEY struct RematchTrainer { diff --git a/include/battle_tower.h b/include/battle_tower.h index 12d6d2e9eb..3bf2f004b1 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -7,9 +7,9 @@ struct RSBattleTowerRecord /*0x01*/ u8 facilityClass; /*0x02*/ u16 winStreak; /*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1]; - /*0x0C*/ u8 trainerId[4]; - /*0x10*/ u16 greeting[6]; - /*0x1C*/ struct BattleTowerPokemon party[3]; + /*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH]; + /*0x10*/ u16 greeting[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x1C*/ struct BattleTowerPokemon party[FRONTIER_PARTY_SIZE]; /*0xA0*/ u32 checksum; }; @@ -18,16 +18,16 @@ struct BattleFrontierTrainer u8 facilityClass; u8 filler1[3]; u8 trainerName[PLAYER_NAME_LENGTH + 1]; - u16 speechBefore[6]; - u16 speechWin[6]; - u16 speechLose[6]; - const u16 *monSets; + u16 speechBefore[EASY_CHAT_BATTLE_WORDS_COUNT]; + u16 speechWin[EASY_CHAT_BATTLE_WORDS_COUNT]; + u16 speechLose[EASY_CHAT_BATTLE_WORDS_COUNT]; + const u16 *monSet; }; struct FacilityMon { u16 species; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u8 itemTableId; u8 evSpread; u8 nature; @@ -48,8 +48,8 @@ extern u16 gUnknown_03006298[]; extern const struct BattleFrontierTrainer *gFacilityTrainers; extern const struct FacilityMon *gFacilityTrainerMons; -void sub_8161F74(void); -u16 sub_8162548(u8 challengeNum, u8 battleNum); +void CallBattleTowerFunc(void); +u16 GetRandomScaledFrontierTrainerId(u8 challengeNum, u8 battleNum); void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId); void SetEReaderTrainerGfxId(void); u8 GetBattleFacilityTrainerGfxId(u16 trainerId); @@ -59,7 +59,7 @@ u8 GetFrontierOpponentClass(u16 trainerId); void GetFrontierTrainerName(u8 *dst, u16 trainerId); void FillFrontierTrainerParty(u8 monsCount); void FillFrontierTrainersParties(u8 monsCount); -u16 RandomizeFacilityTrainerMonSet(u16 trainerId); +u16 GetRandomFrontierMonFromSet(u16 trainerId); void FrontierSpeechToString(const u16 *words); void DoSpecialTrainerBattle(void); void CalcEmeraldBattleTowerChecksum(struct EmeraldBattleTowerRecord *record); @@ -71,7 +71,7 @@ void GetEreaderTrainerName(u8 *dst); void ValidateEReaderTrainer(void); void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *ereaderTrainer); void CopyEReaderTrainerGreeting(void); -void sub_81653CC(void); +void TryHideBattleTowerReporter(void); bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct EmeraldBattleTowerRecord *dst); bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, struct RSBattleTowerRecord *dst); void CalcApprenticeChecksum(struct Apprentice *apprentice); diff --git a/include/battle_util.h b/include/battle_util.h index 0756a387a2..b77fa10ad6 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -12,7 +12,7 @@ #define ABILITYEFFECT_ENDTURN 0x1 #define ABILITYEFFECT_MOVES_BLOCK 0x2 #define ABILITYEFFECT_ABSORBING 0x3 -#define ABILITYEFFECT_MOVE_END 0x4 +#define ABILITYEFFECT_ON_DAMAGE 0x4 #define ABILITYEFFECT_IMMUNITY 0x5 #define ABILITYEFFECT_FORECAST 0x6 #define ABILITYEFFECT_SYNCHRONIZE 0x7 diff --git a/include/battle_util2.h b/include/battle_util2.h index 336698ea32..fe767ea4bf 100644 --- a/include/battle_util2.h +++ b/include/battle_util2.h @@ -4,7 +4,7 @@ void AllocateBattleResources(void); void FreeBattleResources(void); void AdjustFriendshipOnBattleFaint(u8 battler); -void sub_80571DC(u8 battler, u8 arg1); +void SwitchPartyOrderInGameMulti(u8 battler, u8 arg1); u32 sub_805725C(u8 battler); #endif // GUARD_BATTLE_UTIL_H diff --git a/include/berry.h b/include/berry.h index 9ff18e1983..ebe1e9a384 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/coins.h b/include/coins.h index 996519605d..6190ebbab5 100644 --- a/include/coins.h +++ b/include/coins.h @@ -6,7 +6,7 @@ void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y); void HideCoinsWindow(void); u16 GetCoins(void); void SetCoins(u16 coinAmount); -bool8 GiveCoins(u16 toAdd); -bool8 TakeCoins(u16 toSub); +bool8 AddCoins(u16 toAdd); +bool8 RemoveCoins(u16 toSub); #endif // GUARD_COINS_H diff --git a/include/constants/apprentice.h b/include/constants/apprentice.h index 9db58bb8e6..f1bea5e8c5 100644 --- a/include/constants/apprentice.h +++ b/include/constants/apprentice.h @@ -1,22 +1,90 @@ #ifndef GUARD_CONSTANTS_APPRENTICE_H #define GUARD_CONSTANTS_APPRENTICE_H -#define APPRENTICE_ASK_WHICH_LEVEL 0 -#define APPRENTICE_ASK_3SPECIES 1 -#define APPRENTICE_ASK_2SPECIES 2 -#define APPRENTICE_ASK_MOVES 3 -#define APPRENTICE_ASK_GIVE 4 -#define APPRENTICE_ASK_YES_NO 6 +#define NUM_APPRENTICES 16 +#define APPRENTICE_SPECIES_COUNT 10 -#define APPRENTICE_BUFF_SPECIES1 0 -#define APPRENTICE_BUFF_SPECIES2 1 -#define APPRENTICE_BUFF_SPECIES3 2 -#define APPRENTICE_BUFF_MOVE1 3 -#define APPRENTICE_BUFF_MOVE2 4 -#define APPRENTICE_BUFF_ITEM 5 -#define APPRENTICE_BUFF_NAME 6 -#define APPRENTICE_BUFF_EASY_CHAT 7 -#define APPRENTICE_BUFF_LEVEL 8 -#define APPRENTICE_BUFF_SPECIES4 9 +#define NUM_WHICH_MON_QUESTIONS MULTI_PARTY_SIZE +#define NUM_WHICH_MOVE_QUESTIONS 5 +// + 2 below is 1 each for the lead mon question and the win speech question +#define MAX_APPRENTICE_QUESTIONS NUM_WHICH_MON_QUESTIONS + NUM_WHICH_MOVE_QUESTIONS + 2 + +#define APPRENTICE_LVL_MODE_50 (FRONTIER_LVL_50 + 1) +#define APPRENTICE_LVL_MODE_OPEN (FRONTIER_LVL_OPEN + 1) + +#define APPRENTICE_FUNC_GAVE_LVLMODE 0 +#define APPRENTICE_FUNC_SET_LVLMODE 1 +#define APPRENTICE_FUNC_SET_ID 2 +#define APPRENTICE_FUNC_SHUFFLE_SPECIES 3 +#define APPRENTICE_FUNC_RANDOMIZE_QUESTIONS 4 +#define APPRENTICE_FUNC_ANSWERED_QUESTION 5 +#define APPRENTICE_FUNC_IS_FINAL_QUESTION 6 +#define APPRENTICE_FUNC_MENU 7 +#define APPRENTICE_FUNC_PRINT_MSG 8 +#define APPRENTICE_FUNC_RESET 9 +#define APPRENTICE_FUNC_CHECK_GONE 10 +#define APPRENTICE_FUNC_GET_QUESTION 11 +#define APPRENTICE_FUNC_GET_NUM_PARTY_MONS 12 +#define APPRENTICE_FUNC_SET_PARTY_MON 13 +#define APPRENTICE_FUNC_INIT_QUESTION_DATA 14 +#define APPRENTICE_FUNC_FREE_QUESTION_DATA 15 +#define APPRENTICE_FUNC_BUFFER_STRING 16 +#define APPRENTICE_FUNC_SET_MOVE 17 +#define APPRENTICE_FUNC_SET_LEAD_MON 18 +#define APPRENTICE_FUNC_OPEN_BAG 19 +#define APPRENTICE_FUNC_TRY_SET_HELD_ITEM 20 +#define APPRENTICE_FUNC_SAVE 21 +#define APPRENTICE_FUNC_SET_GFX_SAVED 22 +#define APPRENTICE_FUNC_SET_GFX 23 +#define APPRENTICE_FUNC_SHOULD_LEAVE 24 +#define APPRENTICE_FUNC_SHIFT_SAVED 25 + +#define APPRENTICE_MSG_PLEASE_TEACH 0 +#define APPRENTICE_MSG_REJECT 1 +#define APPRENTICE_MSG_WHICH_LVL_MODE 2 +#define APPRENTICE_MSG_THANKS_LVL_MODE 3 +#define APPRENTICE_MSG_WHICH_MON_FIRST 4 +#define APPRENTICE_MSG_THANKS_MON_FIRST 5 +#define APPRENTICE_MSG_WHICH_MON 6 +#define APPRENTICE_MSG_THANKS_MON 7 +#define APPRENTICE_MSG_WHICH_MOVE 8 +#define APPRENTICE_MSG_THANKS_MOVE 9 +#define APPRENTICE_MSG_WHAT_HELD_ITEM 10 +#define APPRENTICE_MSG_PICK_WIN_SPEECH 11 +#define APPRENTICE_MSG_THANKS_HELD_ITEM 12 +#define APPRENTICE_MSG_HOLD_NOTHING 13 +#define APPRENTICE_MSG_THANKS_NO_HELD_ITEM 14 +#define APPRENTICE_MSG_THANKS_WIN_SPEECH 15 +#define APPRENTICE_MSG_ITEM_ALREADY_SUGGESTED 16 + +#define APPRENTICE_QUESTION_WHICH_FIRST 1 +#define APPRENTICE_QUESTION_WHICH_MON 2 +#define APPRENTICE_QUESTION_WHICH_MOVE 3 +#define APPRENTICE_QUESTION_WHAT_ITEM 4 +#define APPRENTICE_QUESTION_WIN_SPEECH 5 + +// Would be redundant with the above set if they used the same values +#define QUESTION_ID_WIN_SPEECH 0 +#define QUESTION_ID_WHAT_ITEM 1 +#define QUESTION_ID_WHICH_MOVE 2 +#define QUESTION_ID_WHICH_FIRST 3 + +#define APPRENTICE_ASK_WHICH_LEVEL 0 +#define APPRENTICE_ASK_3SPECIES 1 +#define APPRENTICE_ASK_2SPECIES 2 +#define APPRENTICE_ASK_MOVES 3 +#define APPRENTICE_ASK_GIVE 4 +#define APPRENTICE_ASK_YES_NO 6 + +#define APPRENTICE_BUFF_SPECIES1 0 +#define APPRENTICE_BUFF_SPECIES2 1 +#define APPRENTICE_BUFF_SPECIES3 2 +#define APPRENTICE_BUFF_MOVE1 3 +#define APPRENTICE_BUFF_MOVE2 4 +#define APPRENTICE_BUFF_ITEM 5 +#define APPRENTICE_BUFF_NAME 6 +#define APPRENTICE_BUFF_WIN_SPEECH 7 +#define APPRENTICE_BUFF_LEVEL 8 +#define APPRENTICE_BUFF_LEAD_MON_SPECIES 9 #endif // GUARD_CONSTANTS_APPRENTICE_H diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 0a023f0c24..0fe231cdc0 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -237,7 +237,7 @@ #define ANIM_TAG_SPOTLIGHT (ANIM_SPRITES_START + 227) #define ANIM_TAG_LETTER_Z (ANIM_SPRITES_START + 228) #define ANIM_TAG_RAPID_SPIN (ANIM_SPRITES_START + 229) -#define ANIM_TAG_TRI_FORCE_TRIANGLE (ANIM_SPRITES_START + 230) +#define ANIM_TAG_TRI_ATTACK_TRIANGLE (ANIM_SPRITES_START + 230) #define ANIM_TAG_WISP_ORB (ANIM_SPRITES_START + 231) #define ANIM_TAG_WISP_FIRE (ANIM_SPRITES_START + 232) #define ANIM_TAG_GOLD_STARS (ANIM_SPRITES_START + 233) diff --git a/include/constants/battle_arena.h b/include/constants/battle_arena.h new file mode 100644 index 0000000000..e04211115d --- /dev/null +++ b/include/constants/battle_arena.h @@ -0,0 +1,20 @@ +#ifndef GUARD_CONSTANTS_BATTLE_ARENA_H +#define GUARD_CONSTANTS_BATTLE_ARENA_H + +#define BATTLE_ARENA_FUNC_INIT 0 +#define BATTLE_ARENA_FUNC_GET_DATA 1 +#define BATTLE_ARENA_FUNC_SET_DATA 2 +#define BATTLE_ARENA_FUNC_SAVE 3 +#define BATTLE_ARENA_FUNC_SET_PRIZE 4 +#define BATTLE_ARENA_FUNC_GIVE_PRIZE 5 +#define BATTLE_ARENA_FUNC_GET_TRAINER_NAME 6 + +#define ARENA_DATA_PRIZE 0 +#define ARENA_DATA_WIN_STREAK 1 +#define ARENA_DATA_WIN_STREAK_ACTIVE 2 + +#define ARENA_CATEGORY_MIND 0 +#define ARENA_CATEGORY_SKILL 1 +#define ARENA_CATEGORY_BODY 2 + +#endif //GUARD_CONSTANTS_BATTLE_ARENA_H diff --git a/include/constants/battle_dome.h b/include/constants/battle_dome.h new file mode 100644 index 0000000000..ea7310e559 --- /dev/null +++ b/include/constants/battle_dome.h @@ -0,0 +1,163 @@ +#ifndef GUARD_CONSTANTS_BATTLE_DOME_H +#define GUARD_CONSTANTS_BATTLE_DOME_H + +#define DOME_ROUND1 0 +#define DOME_ROUND2 1 +#define DOME_SEMIFINAL 2 +#define DOME_FINAL 3 +#define DOME_ROUNDS_COUNT 4 + +//#define DOME_TOURNAMENT_TRAINERS_COUNT 16 -- defined in global +#define DOME_TOURNAMENT_MATCHES_COUNT DOME_TOURNAMENT_TRAINERS_COUNT - 1 + +#define DOME_BATTLE_PARTY_SIZE 2 + +#define DOME_PLAYER_WON_MATCH 1 +#define DOME_PLAYER_LOST_MATCH 2 +#define DOME_PLAYER_RETIRED 9 + +#define BATTLE_DOME_FUNC_INIT 0 +#define BATTLE_DOME_FUNC_GET_DATA 1 +#define BATTLE_DOME_FUNC_SET_DATA 2 +#define BATTLE_DOME_FUNC_GET_ROUND_TEXT 3 +#define BATTLE_DOME_FUNC_GET_OPPONENT_NAME 4 +#define BATTLE_DOME_FUNC_INIT_OPPONENT_PARTY 5 +#define BATTLE_DOME_FUNC_SHOW_OPPONENT_INFO 6 +#define BATTLE_DOME_FUNC_SHOW_TOURNEY_TREE 7 +#define BATTLE_DOME_FUNC_SHOW_PREV_TOURNEY_TREE 8 +#define BATTLE_DOME_FUNC_SET_OPPONENT_ID 9 +#define BATTLE_DOME_FUNC_SET_OPPONENT_GFX 10 +#define BATTLE_DOME_FUNC_SHOW_STATIC_TOURNEY_TREE 11 +#define BATTLE_DOME_FUNC_RESOLVE_WINNERS 12 +#define BATTLE_DOME_FUNC_SAVE 13 +#define BATTLE_DOME_FUNC_INCREMENT_STREAK 14 +#define BATTLE_DOME_FUNC_SET_TRAINERS 15 +#define BATTLE_DOME_FUNC_RESET_SKETCH 16 +#define BATTLE_DOME_FUNC_RESTORE_HELD_ITEMS 17 +#define BATTLE_DOME_FUNC_REDUCE_PARTY 18 +#define BATTLE_DOME_FUNC_COMPARE_SEEDS 19 +#define BATTLE_DOME_FUNC_GET_WINNER_NAME 20 +#define BATTLE_DOME_FUNC_INIT_RESULTS_TREE 21 +#define BATTLE_DOME_FUNC_INIT_TRAINERS 22 + +#define DOME_DATA_WIN_STREAK 0 +#define DOME_DATA_WIN_STREAK_ACTIVE 1 +#define DOME_DATA_ATTEMPTED_SINGLES_50 2 +#define DOME_DATA_ATTEMPTED_SINGLES_OPEN 3 +#define DOME_DATA_HAS_WON_SINGLES_50 4 +#define DOME_DATA_HAS_WON_SINGLES_OPEN 5 +#define DOME_DATA_ATTEMPTED_CHALLENGE 6 +#define DOME_DATA_HAS_WON_CHALLENGE 7 +#define DOME_DATA_SELECTED_MONS 8 +#define DOME_DATA_PREV_TOURNEY_TYPE 9 + +// ID for Exit/Cancel on the tourney tree +#define TOURNEY_TREE_CLOSE_BUTTON 31 + +// Input IDs on the tourney tree +#define TOURNEY_TREE_SELECTED_CLOSE 0 +#define TOURNEY_TREE_NO_SELECTION 1 +#define TOURNEY_TREE_SELECTED_TRAINER 2 +#define TOURNEY_TREE_SELECTED_MATCH 3 + +// Modes for showing the tourney tree info card +#define INFOCARD_NEXT_OPPONENT 0 +#define INFOCARD_TRAINER 1 +#define INFOCARD_MATCH 2 + +// Input IDs for the info cards +#define INFOCARD_INPUT_NONE 0 +#define TRAINERCARD_INPUT_UP 1 +#define TRAINERCARD_INPUT_DOWN 2 +#define TRAINERCARD_INPUT_LEFT 3 +#define TRAINERCARD_INPUT_RIGHT 4 +#define MATCHCARD_INPUT_UP 5 +#define MATCHCARD_INPUT_DOWN 6 +#define MATCHCARD_INPUT_LEFT 7 +#define MATCHCARD_INPUT_RIGHT 8 +#define INFOCARD_INPUT_AB 9 + +#define CARD_ALTERNATE_SLOT (1 << 0) // When set, uses an alternate slot to store the incoming card sprites +#define MOVE_CARD_RIGHT (1 << 1) +#define MOVE_CARD_DOWN (1 << 2) +#define MOVE_CARD_LEFT (1 << 3) +#define MOVE_CARD_UP (1 << 4) +#define MOVE_CARD (MOVE_CARD_RIGHT | MOVE_CARD_DOWN | MOVE_CARD_LEFT | MOVE_CARD_UP) + +// Text IDs for sBattleDomeWinTexts +#define DOME_TEXT_NO_WINNER_YET 0 +#define DOME_TEXT_WON_USING_MOVE 1 +#define DOME_TEXT_CHAMP_USING_MOVE 2 +#define DOME_TEXT_WON_ON_FORFEIT 3 +#define DOME_TEXT_CHAMP_ON_FORFEIT 4 +#define DOME_TEXT_WON_NO_MOVES 5 +#define DOME_TEXT_CHAMP_NO_MOVES 6 + +// Offsets/start positions within sBattleDomeOpponentStatsTexts +#define DOME_TEXT_TWO_GOOD_STATS 0 +#define DOME_TEXT_ONE_GOOD_STAT 15 +#define DOME_TEXT_TWO_BAD_STATS 21 +#define DOME_TEXT_ONE_BAD_STAT 36 +#define DOME_TEXT_WELL_BALANCED 42 +#define DOME_TEXT_HP 0 +#define DOME_TEXT_ATK 5 +#define DOME_TEXT_DEF 9 +#define DOME_TEXT_SPEED 12 +#define DOME_TEXT_SPATK 14 + +// Move point indexes for sBattleStyleMovePoints[][], to determine Battle Dome trainers battle styles +#define MOVE_POINTS_COMBO 0 // Moves that work well in combination (e.g. Rain Dance + Hydro Pump) +#define MOVE_POINTS_STAT_RAISE 1 +#define MOVE_POINTS_STAT_LOWER 2 +#define MOVE_POINTS_RARE 3 // Uncommon moves. Mostly arbitrary +#define MOVE_POINTS_HEAL 4 +#define MOVE_POINTS_RISKY 5 +#define MOVE_POINTS_STATUS 6 +#define MOVE_POINTS_DMG 7 +#define MOVE_POINTS_DEF 8 // Defensive moves, like Amnesia, Light Screen, or accuracy-lowers +#define MOVE_POINTS_ACCURATE 9 +#define MOVE_POINTS_POWERFUL 10 // Most of the moves that are >= 100 power +#define MOVE_POINTS_POPULAR 11 // Group seems arbitrary. All using it are TM/HMs, but its only 11/58 +#define MOVE_POINTS_LUCK 12 +#define MOVE_POINTS_STRONG 13 // Most of the moves that are >= 90 power +#define MOVE_POINTS_LOW_PP 14 +#define MOVE_POINTS_EFFECT 15 // Moves with additional effects +#define NUM_MOVE_POINT_TYPES 16 + +// Battle style IDs for sBattleDomeOpponentStyleTexts +#define DOME_BATTLE_STYLE_RISKY 0 +#define DOME_BATTLE_STYLE_STALL 1 +#define DOME_BATTLE_STYLE_VARIED 2 +#define DOME_BATTLE_STYLE_COMBO_HIGH 3 +#define DOME_BATTLE_STYLE_RARE_MOVES 4 +#define DOME_BATTLE_STYLE_RARE_MOVE 5 +#define DOME_BATTLE_STYLE_HP 6 +#define DOME_BATTLE_STYLE_STORE_POWER 7 +#define DOME_BATTLE_STYLE_ENFEEBLE_LOW 8 +#define DOME_BATTLE_STYLE_LUCK 9 +#define DOME_BATTLE_STYLE_REGAL 10 +#define DOME_BATTLE_STYLE_LOW_PP 11 +#define DOME_BATTLE_STYLE_STATUS_ATK 12 +#define DOME_BATTLE_STYLE_ENDURE 13 +#define DOME_BATTLE_STYLE_STATUS 14 +#define DOME_BATTLE_STYLE_STRAIGHTFORWARD 15 +#define DOME_BATTLE_STYLE_AGGRESSIVE 16 +#define DOME_BATTLE_STYLE_DEF 17 +#define DOME_BATTLE_STYLE_ENFEEBLE_HIGH 18 +#define DOME_BATTLE_STYLE_POPULAR_POWER 19 +#define DOME_BATTLE_STYLE_COMBO_LOW 20 +#define DOME_BATTLE_STYLE_ACCURATE 21 +#define DOME_BATTLE_STYLE_POWERFUL 22 +#define DOME_BATTLE_STYLE_ATK_OVER_DEF 23 +#define DOME_BATTLE_STYLE_DEF_OVER_ATK 24 +#define DOME_BATTLE_STYLE_POPULAR_STRONG 25 +#define DOME_BATTLE_STYLE_EFFECTS 26 +#define DOME_BATTLE_STYLE_BALANCED 27 +#define DOME_BATTLE_STYLE_UNUSED1 28 +#define DOME_BATTLE_STYLE_UNUSED2 29 +#define DOME_BATTLE_STYLE_UNUSED3 30 +#define DOME_BATTLE_STYLE_UNUSED4 31 +#define NUM_BATTLE_STYLES 32 + + +#endif //GUARD_CONSTANTS_BATTLE_DOME_H diff --git a/include/constants/battle_factory.h b/include/constants/battle_factory.h new file mode 100644 index 0000000000..b3aa57449a --- /dev/null +++ b/include/constants/battle_factory.h @@ -0,0 +1,37 @@ +#ifndef GUARD_CONSTANTS_BATTLE_FACTORY_H +#define GUARD_CONSTANTS_BATTLE_FACTORY_H + +#define FACTORY_STYLE_NONE 0 +#define FACTORY_STYLE_PREPARATION 1 +#define FACTORY_STYLE_SLOW_STEADY 2 +#define FACTORY_STYLE_ENDURANCE 3 +#define FACTORY_STYLE_HIGH_RISK 4 +#define FACTORY_STYLE_WEAKENING 5 +#define FACTORY_STYLE_UNPREDICTABLE 6 +#define FACTORY_STYLE_WEATHER 7 +#define FACTORY_NUM_STYLES 8 + + +#define BATTLE_FACTORY_FUNC_INIT 0 +#define BATTLE_FACTORY_FUNC_GET_DATA 1 +#define BATTLE_FACTORY_FUNC_SET_DATA 2 +#define BATTLE_FACTORY_FUNC_SAVE 3 +#define BATTLE_FACTORY_FUNC_NULL 4 +#define BATTLE_FACTORY_FUNC_NULL2 5 +#define BATTLE_FACTORY_FUNC_SELECT_RENT_MONS 6 +#define BATTLE_FACTORY_FUNC_SWAP_RENT_MONS 7 +#define BATTLE_FACTORY_FUNC_SET_SWAPPED 8 +#define BATTLE_FACTORY_FUNC_SET_OPPONENT_MONS 9 +#define BATTLE_FACTORY_FUNC_SET_PARTIES 10 +#define BATTLE_FACTORY_FUNC_SET_OPPONENT_GFX 11 +#define BATTLE_FACTORY_FUNC_GENERATE_OPPONENT_MONS 12 +#define BATTLE_FACTORY_FUNC_GENERATE_RENTAL_MONS 13 +#define BATTLE_FACTORY_FUNC_GET_OPPONENT_MON_TYPE 14 +#define BATTLE_FACTORY_FUNC_GET_OPPONENT_STYLE 15 +#define BATTLE_FACTORY_FUNC_RESET_HELD_ITEMS 16 + +#define FACTORY_DATA_WIN_STREAK 1 +#define FACTORY_DATA_WIN_STREAK_ACTIVE 2 +#define FACTORY_DATA_WIN_STREAK_SWAPS 3 + +#endif // GUARD_CONSTANTS_BATTLE_FACTORY_H diff --git a/include/constants/battle_frontier.h b/include/constants/battle_frontier.h index 1224c0f310..1a60714e8b 100644 --- a/include/constants/battle_frontier.h +++ b/include/constants/battle_frontier.h @@ -1,32 +1,39 @@ #ifndef GUARD_CONSTANTS_BATTLE_FRONTIER_H #define GUARD_CONSTANTS_BATTLE_FRONTIER_H -// Battle Frontier facility ids. -#define FRONTIER_FACILITY_TOWER 0 -#define FRONTIER_FACILITY_DOME 1 -#define FRONTIER_FACILITY_PALACE 2 -#define FRONTIER_FACILITY_ARENA 3 -#define FRONTIER_FACILITY_FACTORY 4 -#define FRONTIER_FACILITY_PIKE 5 -#define FRONTIER_FACILITY_PYRAMID 6 -#define NUM_FRONTIER_FACILITIES 7 -// The multiplayer battle colosseum rooms re-use VAR_FRONTIER_FACILITY. -#define FRONTIER_FACILITY_DOUBLE_COLOSSEUM 9 +#define FRONTIER_CHALLENGE(facility, mode) ((facility << 8) + mode) -#define TENT_VERDANTURF 2 -#define TENT_FALLARBOR 3 -#define TENT_SLATEPORT 4 +// Battle Frontier facility ids. +#define FRONTIER_FACILITY_TOWER 0 +#define FRONTIER_FACILITY_DOME 1 +#define FRONTIER_FACILITY_PALACE 2 // also Verdanturf Tent +#define FRONTIER_FACILITY_ARENA 3 // also Fallarbor Tent +#define FRONTIER_FACILITY_FACTORY 4 // also Slateport Tent +#define FRONTIER_FACILITY_PIKE 5 +#define FRONTIER_FACILITY_PYRAMID 6 +#define NUM_FRONTIER_FACILITIES 7 +// VAR_FRONTIER_FACILITY is re-used for the below facilities as well +#define FACILITY_LINK_CONTEST 7 +#define FACILITY_UNION_ROOM 8 +#define FACILITY_MULTI_OR_EREADER 9 // Direct Corner multi battles, multi battle with Steven, and e-Reader battles // Battle Frontier lvl modes. -#define FRONTIER_LVL_50 0 +#define FRONTIER_LVL_50 0 #define FRONTIER_LVL_OPEN 1 #define FRONTIER_LVL_TENT 2 // Battle Frontier battle modes. -#define FRONTIER_MODE_SINGLES 0 -#define FRONTIER_MODE_DOUBLES 1 -#define FRONTIER_MODE_MULTIS 2 -#define FRONTIER_MODE_LINK_MULTIS 3 +#define FRONTIER_MODE_SINGLES 0 +#define FRONTIER_MODE_DOUBLES 1 +#define FRONTIER_MODE_MULTIS 2 +#define FRONTIER_MODE_LINK_MULTIS 3 +#define FRONTIER_MODE_COUNT 4 + +// Challenge Statuses +#define CHALLENGE_STATUS_SAVING 1 +#define CHALLENGE_STATUS_PAUSED 2 +#define CHALLENGE_STATUS_WON 3 +#define CHALLENGE_STATUS_LOST 4 // Special trainer battles. #define SPECIAL_BATTLE_TOWER 0 @@ -41,8 +48,53 @@ #define SPECIAL_BATTLE_PIKE_DOUBLE 9 #define SPECIAL_BATTLE_PYRAMID 10 -// For 'ShowFacilityResultsWindow' function which is a part of the 'CallFrontierUtilFunc' special. -#define RESULTS_LINK_CONTEST 7 +#define MAX_BATTLE_FRONTIER_POINTS 9999 +#define MAX_STREAK 9999 + +// These sets of facility ids would be redunant if the order was consistent +// The order is important for this set so that all the non-link records can be continuous +#define RANKING_HALL_BATTLE_TOWER_SINGLES 0 +#define RANKING_HALL_BATTLE_TOWER_DOUBLES 1 +#define RANKING_HALL_BATTLE_TOWER_MULTIS 2 +#define RANKING_HALL_BATTLE_DOME 3 +#define RANKING_HALL_BATTLE_PALACE 4 +#define RANKING_HALL_BATTLE_ARENA 5 +#define RANKING_HALL_BATTLE_FACTORY 6 +#define RANKING_HALL_BATTLE_PIKE 7 +#define RANKING_HALL_BATTLE_PYRAMID 8 +#define RANKING_HALL_BATTLE_TOWER_LINK 9 + +#define FRONTIER_MANIAC_BATTLE_TOWER_SINGLES 0 +#define FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES 1 +#define FRONTIER_MANIAC_BATTLE_TOWER_MULTIS 2 +#define FRONTIER_MANIAC_BATTLE_TOWER_LINK 3 +#define FRONTIER_MANIAC_BATTLE_DOME 4 +#define FRONTIER_MANIAC_BATTLE_FACTORY 5 +#define FRONTIER_MANIAC_BATTLE_PALACE 6 +#define FRONTIER_MANIAC_BATTLE_ARENA 7 +#define FRONTIER_MANIAC_BATTLE_PIKE 8 +#define FRONTIER_MANIAC_BATTLE_PYRAMID 9 +#define FRONTIER_MANIAC_FACILITY_COUNT 10 + +#define FRONTIER_MANIAC_MESSAGE_COUNT 3 + +// Frontier Gambler +#define FRONTIER_GAMBLER_WAITING 0 +#define FRONTIER_GAMBLER_PLACED_BET 1 +#define FRONTIER_GAMBLER_WON 2 +#define FRONTIER_GAMBLER_LOST 3 + +#define FRONTIER_GAMBLER_BET_5 0 +#define FRONTIER_GAMBLER_BET_10 1 +#define FRONTIER_GAMBLER_BET_15 2 +#define FRONTIER_GAMBLER_BET_CANCEL 3 + +#define FRONTIER_GAMBLER_CHALLENGE_COUNT 12 + +#define EXCHANGE_CORNER_DECOR1_CLERK 0 +#define EXCHANGE_CORNER_DECOR2_CLERK 1 +#define EXCHANGE_CORNER_VITAMIN_CLERK 2 +#define EXCHANGE_CORNER_HOLD_ITEM_CLERK 3 #define F_EV_SPREAD_HP (1 << 0) #define F_EV_SPREAD_ATTACK (1 << 1) diff --git a/include/constants/battle_frontier_mons.h b/include/constants/battle_frontier_mons.h new file mode 100644 index 0000000000..10e68980a6 --- /dev/null +++ b/include/constants/battle_frontier_mons.h @@ -0,0 +1,899 @@ +#ifndef GUARD_CONSTANTS_BATTLE_FRONTIER_MONS_H +#define GUARD_CONSTANTS_BATTLE_FRONTIER_MONS_H + +#define FRONTIER_MON_SUNKERN 0 +#define FRONTIER_MON_AZURILL 1 +#define FRONTIER_MON_CATERPIE 2 +#define FRONTIER_MON_WEEDLE 3 +#define FRONTIER_MON_WURMPLE 4 +#define FRONTIER_MON_RALTS 5 +#define FRONTIER_MON_MAGIKARP 6 +#define FRONTIER_MON_FEEBAS 7 +#define FRONTIER_MON_METAPOD 8 +#define FRONTIER_MON_KAKUNA 9 +#define FRONTIER_MON_PICHU 10 +#define FRONTIER_MON_SILCOON 11 +#define FRONTIER_MON_CASCOON 12 +#define FRONTIER_MON_IGGLYBUFF 13 +#define FRONTIER_MON_WOOPER 14 +#define FRONTIER_MON_TYROGUE 15 +#define FRONTIER_MON_SENTRET 16 +#define FRONTIER_MON_CLEFFA 17 +#define FRONTIER_MON_SEEDOT 18 +#define FRONTIER_MON_LOTAD 19 +#define FRONTIER_MON_POOCHYENA 20 +#define FRONTIER_MON_SHEDINJA 21 +#define FRONTIER_MON_MAKUHITA 22 +#define FRONTIER_MON_WHISMUR 23 +#define FRONTIER_MON_ZIGZAGOON 24 +#define FRONTIER_MON_ZUBAT 25 +#define FRONTIER_MON_TOGEPI 26 +#define FRONTIER_MON_SPINARAK 27 +#define FRONTIER_MON_MARILL 28 +#define FRONTIER_MON_HOPPIP 29 +#define FRONTIER_MON_SLUGMA 30 +#define FRONTIER_MON_SWINUB 31 +#define FRONTIER_MON_SMEARGLE 32 +#define FRONTIER_MON_PIDGEY 33 +#define FRONTIER_MON_RATTATA 34 +#define FRONTIER_MON_WYNAUT 35 +#define FRONTIER_MON_SKITTY 36 +#define FRONTIER_MON_SPEAROW 37 +#define FRONTIER_MON_HOOTHOOT 38 +#define FRONTIER_MON_DIGLETT 39 +#define FRONTIER_MON_LEDYBA 40 +#define FRONTIER_MON_NINCADA 41 +#define FRONTIER_MON_SURSKIT 42 +#define FRONTIER_MON_JIGGLYPUFF 43 +#define FRONTIER_MON_TAILLOW 44 +#define FRONTIER_MON_WINGULL 45 +#define FRONTIER_MON_NIDORAN_M 46 +#define FRONTIER_MON_NIDORAN_F 47 +#define FRONTIER_MON_KIRLIA 48 +#define FRONTIER_MON_MAREEP 49 +#define FRONTIER_MON_MEDITITE 50 +#define FRONTIER_MON_SLAKOTH 51 +#define FRONTIER_MON_PARAS 52 +#define FRONTIER_MON_EKANS 53 +#define FRONTIER_MON_DITTO 54 +#define FRONTIER_MON_BARBOACH 55 +#define FRONTIER_MON_MEOWTH 56 +#define FRONTIER_MON_PINECO 57 +#define FRONTIER_MON_TRAPINCH 58 +#define FRONTIER_MON_SPHEAL 59 +#define FRONTIER_MON_HORSEA 60 +#define FRONTIER_MON_SHROOMISH 61 +#define FRONTIER_MON_SHUPPET 62 +#define FRONTIER_MON_DUSKULL 63 +#define FRONTIER_MON_ELECTRIKE 64 +#define FRONTIER_MON_VULPIX 65 +#define FRONTIER_MON_PIKACHU 66 +#define FRONTIER_MON_SANDSHREW 67 +#define FRONTIER_MON_POLIWAG 68 +#define FRONTIER_MON_BELLSPROUT 69 +#define FRONTIER_MON_GEODUDE 70 +#define FRONTIER_MON_DRATINI 71 +#define FRONTIER_MON_SNUBBULL 72 +#define FRONTIER_MON_REMORAID 73 +#define FRONTIER_MON_LARVITAR 74 +#define FRONTIER_MON_BALTOY 75 +#define FRONTIER_MON_SNORUNT 76 +#define FRONTIER_MON_BAGON 77 +#define FRONTIER_MON_BELDUM 78 +#define FRONTIER_MON_GULPIN 79 +#define FRONTIER_MON_VENONAT 80 +#define FRONTIER_MON_MANKEY 81 +#define FRONTIER_MON_MACHOP 82 +#define FRONTIER_MON_SHELLDER 83 +#define FRONTIER_MON_SMOOCHUM 84 +#define FRONTIER_MON_NUMEL 85 +#define FRONTIER_MON_CARVANHA 86 +#define FRONTIER_MON_CORPHISH 87 +#define FRONTIER_MON_CHARMANDER 88 +#define FRONTIER_MON_CYNDAQUIL 89 +#define FRONTIER_MON_ABRA 90 +#define FRONTIER_MON_DODUO 91 +#define FRONTIER_MON_GASTLY 92 +#define FRONTIER_MON_SWABLU 93 +#define FRONTIER_MON_TREECKO 94 +#define FRONTIER_MON_TORCHIC 95 +#define FRONTIER_MON_MUDKIP 96 +#define FRONTIER_MON_SQUIRTLE 97 +#define FRONTIER_MON_TOTODILE 98 +#define FRONTIER_MON_SLOWPOKE 99 +#define FRONTIER_MON_BULBASAUR 100 +#define FRONTIER_MON_CHIKORITA 101 +#define FRONTIER_MON_ODDISH 102 +#define FRONTIER_MON_PSYDUCK 103 +#define FRONTIER_MON_CUBONE 104 +#define FRONTIER_MON_GOLDEEN 105 +#define FRONTIER_MON_NATU 106 +#define FRONTIER_MON_CLEFAIRY 107 +#define FRONTIER_MON_MAGNEMITE 108 +#define FRONTIER_MON_SEEL 109 +#define FRONTIER_MON_GRIMER 110 +#define FRONTIER_MON_KRABBY 111 +#define FRONTIER_MON_EXEGGCUTE 112 +#define FRONTIER_MON_EEVEE 113 +#define FRONTIER_MON_DROWZEE 114 +#define FRONTIER_MON_VOLTORB 115 +#define FRONTIER_MON_CHINCHOU 116 +#define FRONTIER_MON_TEDDIURSA 117 +#define FRONTIER_MON_DELIBIRD 118 +#define FRONTIER_MON_HOUNDOUR 119 +#define FRONTIER_MON_PHANPY 120 +#define FRONTIER_MON_SPOINK 121 +#define FRONTIER_MON_ARON 122 +#define FRONTIER_MON_LUVDISC 123 +#define FRONTIER_MON_TENTACOOL 124 +#define FRONTIER_MON_CACNEA 125 +#define FRONTIER_MON_UNOWN 126 +#define FRONTIER_MON_KOFFING 127 +#define FRONTIER_MON_STARYU 128 +#define FRONTIER_MON_SKIPLOOM 129 +#define FRONTIER_MON_NUZLEAF 130 +#define FRONTIER_MON_LOMBRE 131 +#define FRONTIER_MON_VIBRAVA 132 +#define FRONTIER_MON_RHYHORN 133 +#define FRONTIER_MON_CLAMPERL 134 +#define FRONTIER_MON_PIDGEOTTO 135 +#define FRONTIER_MON_GROWLITHE 136 +#define FRONTIER_MON_FARFETCHD 137 +#define FRONTIER_MON_OMANYTE 138 +#define FRONTIER_MON_KABUTO 139 +#define FRONTIER_MON_LILEEP 140 +#define FRONTIER_MON_ANORITH 141 +#define FRONTIER_MON_AIPOM 142 +#define FRONTIER_MON_ELEKID 143 +#define FRONTIER_MON_LOUDRED 144 +#define FRONTIER_MON_SPINDA 145 +#define FRONTIER_MON_NIDORINA 146 +#define FRONTIER_MON_NIDORINO 147 +#define FRONTIER_MON_FLAAFFY 148 +#define FRONTIER_MON_MAGBY 149 +#define FRONTIER_MON_NOSEPASS 150 +#define FRONTIER_MON_CORSOLA 151 +#define FRONTIER_MON_MAWILE 152 +#define FRONTIER_MON_BUTTERFREE 153 +#define FRONTIER_MON_BEEDRILL 154 +#define FRONTIER_MON_POLIWHIRL 155 +#define FRONTIER_MON_ONIX 156 +#define FRONTIER_MON_BEAUTIFLY 157 +#define FRONTIER_MON_DUSTOX 158 +#define FRONTIER_MON_LEDIAN 159 +#define FRONTIER_MON_ARIADOS 160 +#define FRONTIER_MON_YANMA 161 + +#define FRONTIER_MON_DELCATTY_1 162 +#define FRONTIER_MON_SABLEYE_1 163 +#define FRONTIER_MON_LICKITUNG_1 164 +#define FRONTIER_MON_WEEPINBELL_1 165 +#define FRONTIER_MON_GRAVELER_1 166 +#define FRONTIER_MON_GLOOM_1 167 +#define FRONTIER_MON_PORYGON_1 168 +#define FRONTIER_MON_KADABRA_1 169 +#define FRONTIER_MON_WAILMER_1 170 +#define FRONTIER_MON_ROSELIA_1 171 +#define FRONTIER_MON_VOLBEAT_1 172 +#define FRONTIER_MON_ILLUMISE_1 173 +#define FRONTIER_MON_IVYSAUR_1 174 +#define FRONTIER_MON_CHARMELEON_1 175 +#define FRONTIER_MON_WARTORTLE_1 176 +#define FRONTIER_MON_PARASECT_1 177 +#define FRONTIER_MON_MACHOKE_1 178 +#define FRONTIER_MON_HAUNTER_1 179 +#define FRONTIER_MON_BAYLEEF_1 180 +#define FRONTIER_MON_QUILAVA_1 181 +#define FRONTIER_MON_CROCONAW_1 182 +#define FRONTIER_MON_TOGETIC_1 183 +#define FRONTIER_MON_MURKROW_1 184 +#define FRONTIER_MON_WOBBUFFET_1 185 +#define FRONTIER_MON_PLUSLE_1 186 +#define FRONTIER_MON_MINUN_1 187 +#define FRONTIER_MON_GROVYLE_1 188 +#define FRONTIER_MON_COMBUSKEN_1 189 +#define FRONTIER_MON_MARSHTOMP_1 190 +#define FRONTIER_MON_PONYTA_1 191 +#define FRONTIER_MON_AZUMARILL_1 192 +#define FRONTIER_MON_SUDOWOODO_1 193 +#define FRONTIER_MON_MAGCARGO_1 194 +#define FRONTIER_MON_PUPITAR_1 195 +#define FRONTIER_MON_SEALEO_1 196 +#define FRONTIER_MON_RATICATE_1 197 +#define FRONTIER_MON_MASQUERAIN_1 198 +#define FRONTIER_MON_FURRET_1 199 +#define FRONTIER_MON_DUNSPARCE_1 200 +#define FRONTIER_MON_DRAGONAIR_1 201 +#define FRONTIER_MON_MIGHTYENA_1 202 +#define FRONTIER_MON_LINOONE_1 203 +#define FRONTIER_MON_CASTFORM_1 204 +#define FRONTIER_MON_SHELGON_1 205 +#define FRONTIER_MON_METANG_1 206 +#define FRONTIER_MON_WIGGLYTUFF_1 207 +#define FRONTIER_MON_SUNFLORA_1 208 +#define FRONTIER_MON_CHIMECHO_1 209 +#define FRONTIER_MON_GLIGAR_1 210 +#define FRONTIER_MON_QWILFISH_1 211 +#define FRONTIER_MON_SNEASEL_1 212 +#define FRONTIER_MON_PELIPPER_1 213 +#define FRONTIER_MON_SWELLOW_1 214 +#define FRONTIER_MON_LAIRON_1 215 +#define FRONTIER_MON_TANGELA_1 216 +#define FRONTIER_MON_ARBOK_1 217 +#define FRONTIER_MON_PERSIAN_1 218 +#define FRONTIER_MON_SEADRA_1 219 +#define FRONTIER_MON_KECLEON_1 220 +#define FRONTIER_MON_VIGOROTH_1 221 +#define FRONTIER_MON_LUNATONE_1 222 +#define FRONTIER_MON_SOLROCK_1 223 +#define FRONTIER_MON_NOCTOWL_1 224 +#define FRONTIER_MON_SANDSLASH_1 225 +#define FRONTIER_MON_VENOMOTH_1 226 +#define FRONTIER_MON_CHANSEY_1 227 +#define FRONTIER_MON_SEAKING_1 228 +#define FRONTIER_MON_JUMPLUFF_1 229 +#define FRONTIER_MON_PILOSWINE_1 230 +#define FRONTIER_MON_GOLBAT_1 231 +#define FRONTIER_MON_PRIMEAPE_1 232 +#define FRONTIER_MON_HITMONLEE_1 233 +#define FRONTIER_MON_HITMONCHAN_1 234 +#define FRONTIER_MON_GIRAFARIG_1 235 +#define FRONTIER_MON_HITMONTOP_1 236 +#define FRONTIER_MON_BANETTE_1 237 +#define FRONTIER_MON_NINJASK_1 238 +#define FRONTIER_MON_SEVIPER_1 239 +#define FRONTIER_MON_ZANGOOSE_1 240 +#define FRONTIER_MON_CAMERUPT_1 241 +#define FRONTIER_MON_SHARPEDO_1 242 +#define FRONTIER_MON_TROPIUS_1 243 +#define FRONTIER_MON_MAGNETON_1 244 +#define FRONTIER_MON_MANTINE_1 245 +#define FRONTIER_MON_STANTLER_1 246 +#define FRONTIER_MON_ABSOL_1 247 +#define FRONTIER_MON_SWALOT_1 248 +#define FRONTIER_MON_CRAWDAUNT_1 249 +#define FRONTIER_MON_PIDGEOT_1 250 +#define FRONTIER_MON_GRUMPIG_1 251 +#define FRONTIER_MON_TORKOAL_1 252 +#define FRONTIER_MON_KINGLER_1 253 +#define FRONTIER_MON_CACTURNE_1 254 +#define FRONTIER_MON_BELLOSSOM_1 255 +#define FRONTIER_MON_OCTILLERY_1 256 +#define FRONTIER_MON_HUNTAIL_1 257 +#define FRONTIER_MON_GOREBYSS_1 258 +#define FRONTIER_MON_RELICANTH_1 259 +#define FRONTIER_MON_OMASTAR_1 260 +#define FRONTIER_MON_KABUTOPS_1 261 +#define FRONTIER_MON_POLIWRATH_1 262 +#define FRONTIER_MON_SCYTHER_1 263 +#define FRONTIER_MON_PINSIR_1 264 +#define FRONTIER_MON_POLITOED_1 265 +#define FRONTIER_MON_CLOYSTER_1 266 + +#define FRONTIER_MON_DELCATTY_2 267 +#define FRONTIER_MON_SABLEYE_2 268 +#define FRONTIER_MON_LICKITUNG_2 269 +#define FRONTIER_MON_WEEPINBELL_2 270 +#define FRONTIER_MON_GRAVELER_2 271 +#define FRONTIER_MON_GLOOM_2 272 +#define FRONTIER_MON_PORYGON_2 273 +#define FRONTIER_MON_KADABRA_2 274 +#define FRONTIER_MON_WAILMER_2 275 +#define FRONTIER_MON_ROSELIA_2 276 +#define FRONTIER_MON_VOLBEAT_2 277 +#define FRONTIER_MON_ILLUMISE_2 278 +#define FRONTIER_MON_IVYSAUR_2 279 +#define FRONTIER_MON_CHARMELEON_2 280 +#define FRONTIER_MON_WARTORTLE_2 281 +#define FRONTIER_MON_PARASECT_2 282 +#define FRONTIER_MON_MACHOKE_2 283 +#define FRONTIER_MON_HAUNTER_2 284 +#define FRONTIER_MON_BAYLEEF_2 285 +#define FRONTIER_MON_QUILAVA_2 286 +#define FRONTIER_MON_CROCONAW_2 287 +#define FRONTIER_MON_TOGETIC_2 288 +#define FRONTIER_MON_MURKROW_2 289 +#define FRONTIER_MON_WOBBUFFET_2 290 +#define FRONTIER_MON_PLUSLE_2 291 +#define FRONTIER_MON_MINUN_2 292 +#define FRONTIER_MON_GROVYLE_2 293 +#define FRONTIER_MON_COMBUSKEN_2 294 +#define FRONTIER_MON_MARSHTOMP_2 295 +#define FRONTIER_MON_PONYTA_2 296 +#define FRONTIER_MON_AZUMARILL_2 297 +#define FRONTIER_MON_SUDOWOODO_2 298 +#define FRONTIER_MON_MAGCARGO_2 299 +#define FRONTIER_MON_PUPITAR_2 300 +#define FRONTIER_MON_SEALEO_2 301 +#define FRONTIER_MON_RATICATE_2 302 +#define FRONTIER_MON_MASQUERAIN_2 303 +#define FRONTIER_MON_FURRET_2 304 +#define FRONTIER_MON_DUNSPARCE_2 305 +#define FRONTIER_MON_DRAGONAIR_2 306 +#define FRONTIER_MON_MIGHTYENA_2 307 +#define FRONTIER_MON_LINOONE_2 308 +#define FRONTIER_MON_CASTFORM_2 309 +#define FRONTIER_MON_SHELGON_2 310 +#define FRONTIER_MON_METANG_2 311 +#define FRONTIER_MON_WIGGLYTUFF_2 312 +#define FRONTIER_MON_SUNFLORA_2 313 +#define FRONTIER_MON_CHIMECHO_2 314 +#define FRONTIER_MON_GLIGAR_2 315 +#define FRONTIER_MON_QWILFISH_2 316 +#define FRONTIER_MON_SNEASEL_2 317 +#define FRONTIER_MON_PELIPPER_2 318 +#define FRONTIER_MON_SWELLOW_2 319 +#define FRONTIER_MON_LAIRON_2 320 +#define FRONTIER_MON_TANGELA_2 321 +#define FRONTIER_MON_ARBOK_2 322 +#define FRONTIER_MON_PERSIAN_2 323 +#define FRONTIER_MON_SEADRA_2 324 +#define FRONTIER_MON_KECLEON_2 325 +#define FRONTIER_MON_VIGOROTH_2 326 +#define FRONTIER_MON_LUNATONE_2 327 +#define FRONTIER_MON_SOLROCK_2 328 +#define FRONTIER_MON_NOCTOWL_2 329 +#define FRONTIER_MON_SANDSLASH_2 330 +#define FRONTIER_MON_VENOMOTH_2 331 +#define FRONTIER_MON_CHANSEY_2 332 +#define FRONTIER_MON_SEAKING_2 333 +#define FRONTIER_MON_JUMPLUFF_2 334 +#define FRONTIER_MON_PILOSWINE_2 335 +#define FRONTIER_MON_GOLBAT_2 336 +#define FRONTIER_MON_PRIMEAPE_2 337 +#define FRONTIER_MON_HITMONLEE_2 338 +#define FRONTIER_MON_HITMONCHAN_2 339 +#define FRONTIER_MON_GIRAFARIG_2 340 +#define FRONTIER_MON_HITMONTOP_2 341 +#define FRONTIER_MON_BANETTE_2 342 +#define FRONTIER_MON_NINJASK_2 343 +#define FRONTIER_MON_SEVIPER_2 344 +#define FRONTIER_MON_ZANGOOSE_2 345 +#define FRONTIER_MON_CAMERUPT_2 346 +#define FRONTIER_MON_SHARPEDO_2 347 +#define FRONTIER_MON_TROPIUS_2 348 +#define FRONTIER_MON_MAGNETON_2 349 +#define FRONTIER_MON_MANTINE_2 350 +#define FRONTIER_MON_STANTLER_2 351 +#define FRONTIER_MON_ABSOL_2 352 +#define FRONTIER_MON_SWALOT_2 353 +#define FRONTIER_MON_CRAWDAUNT_2 354 +#define FRONTIER_MON_PIDGEOT_2 355 +#define FRONTIER_MON_GRUMPIG_2 356 +#define FRONTIER_MON_TORKOAL_2 357 +#define FRONTIER_MON_KINGLER_2 358 +#define FRONTIER_MON_CACTURNE_2 359 +#define FRONTIER_MON_BELLOSSOM_2 360 +#define FRONTIER_MON_OCTILLERY_2 361 +#define FRONTIER_MON_HUNTAIL_2 362 +#define FRONTIER_MON_GOREBYSS_2 363 +#define FRONTIER_MON_RELICANTH_2 364 +#define FRONTIER_MON_OMASTAR_2 365 +#define FRONTIER_MON_KABUTOPS_2 366 +#define FRONTIER_MON_POLIWRATH_2 367 +#define FRONTIER_MON_SCYTHER_2 368 +#define FRONTIER_MON_PINSIR_2 369 +#define FRONTIER_MON_POLITOED_2 370 +#define FRONTIER_MON_CLOYSTER_2 371 + +#define FRONTIER_MON_DUGTRIO_1 372 +#define FRONTIER_MON_MEDICHAM_1 373 +#define FRONTIER_MON_MISDREAVUS_1 374 +#define FRONTIER_MON_FEAROW_1 375 +#define FRONTIER_MON_GRANBULL_1 376 +#define FRONTIER_MON_JYNX_1 377 +#define FRONTIER_MON_DUSCLOPS_1 378 +#define FRONTIER_MON_DODRIO_1 379 +#define FRONTIER_MON_MR_MIME_1 380 +#define FRONTIER_MON_LANTURN_1 381 +#define FRONTIER_MON_BRELOOM_1 382 +#define FRONTIER_MON_FORRETRESS_1 383 +#define FRONTIER_MON_WHISCASH_1 384 +#define FRONTIER_MON_XATU_1 385 +#define FRONTIER_MON_SKARMORY_1 386 +#define FRONTIER_MON_MAROWAK_1 387 +#define FRONTIER_MON_QUAGSIRE_1 388 +#define FRONTIER_MON_CLEFABLE_1 389 +#define FRONTIER_MON_HARIYAMA_1 390 +#define FRONTIER_MON_RAICHU_1 391 +#define FRONTIER_MON_DEWGONG_1 392 +#define FRONTIER_MON_MANECTRIC_1 393 +#define FRONTIER_MON_VILEPLUME_1 394 +#define FRONTIER_MON_VICTREEBEL_1 395 +#define FRONTIER_MON_ELECTRODE_1 396 +#define FRONTIER_MON_EXPLOUD_1 397 +#define FRONTIER_MON_SHIFTRY_1 398 +#define FRONTIER_MON_GLALIE_1 399 +#define FRONTIER_MON_LUDICOLO_1 400 +#define FRONTIER_MON_HYPNO_1 401 +#define FRONTIER_MON_GOLEM_1 402 +#define FRONTIER_MON_RHYDON_1 403 +#define FRONTIER_MON_ALAKAZAM_1 404 +#define FRONTIER_MON_WEEZING_1 405 +#define FRONTIER_MON_KANGASKHAN_1 406 +#define FRONTIER_MON_ELECTABUZZ_1 407 +#define FRONTIER_MON_TAUROS_1 408 +#define FRONTIER_MON_SLOWBRO_1 409 +#define FRONTIER_MON_SLOWKING_1 410 +#define FRONTIER_MON_MILTANK_1 411 +#define FRONTIER_MON_ALTARIA_1 412 +#define FRONTIER_MON_NIDOQUEEN_1 413 +#define FRONTIER_MON_NIDOKING_1 414 +#define FRONTIER_MON_MAGMAR_1 415 +#define FRONTIER_MON_CRADILY_1 416 +#define FRONTIER_MON_ARMALDO_1 417 +#define FRONTIER_MON_GOLDUCK_1 418 +#define FRONTIER_MON_RAPIDASH_1 419 +#define FRONTIER_MON_MUK_1 420 +#define FRONTIER_MON_GENGAR_1 421 +#define FRONTIER_MON_AMPHAROS_1 422 +#define FRONTIER_MON_SCIZOR_1 423 +#define FRONTIER_MON_HERACROSS_1 424 +#define FRONTIER_MON_URSARING_1 425 +#define FRONTIER_MON_HOUNDOOM_1 426 +#define FRONTIER_MON_DONPHAN_1 427 +#define FRONTIER_MON_CLAYDOL_1 428 +#define FRONTIER_MON_WAILORD_1 429 +#define FRONTIER_MON_NINETALES_1 430 +#define FRONTIER_MON_MACHAMP_1 431 +#define FRONTIER_MON_SHUCKLE_1 432 +#define FRONTIER_MON_STEELIX_1 433 +#define FRONTIER_MON_TENTACRUEL_1 434 +#define FRONTIER_MON_AERODACTYL_1 435 +#define FRONTIER_MON_PORYGON2_1 436 +#define FRONTIER_MON_GARDEVOIR_1 437 +#define FRONTIER_MON_EXEGGUTOR_1 438 +#define FRONTIER_MON_STARMIE_1 439 +#define FRONTIER_MON_FLYGON_1 440 +#define FRONTIER_MON_VENUSAUR_1 441 +#define FRONTIER_MON_VAPOREON_1 442 +#define FRONTIER_MON_JOLTEON_1 443 +#define FRONTIER_MON_FLAREON_1 444 +#define FRONTIER_MON_MEGANIUM_1 445 +#define FRONTIER_MON_ESPEON_1 446 +#define FRONTIER_MON_UMBREON_1 447 +#define FRONTIER_MON_BLASTOISE_1 448 +#define FRONTIER_MON_FERALIGATR_1 449 +#define FRONTIER_MON_AGGRON_1 450 +#define FRONTIER_MON_BLAZIKEN_1 451 +#define FRONTIER_MON_WALREIN_1 452 +#define FRONTIER_MON_SCEPTILE_1 453 +#define FRONTIER_MON_CHARIZARD_1 454 +#define FRONTIER_MON_TYPHLOSION_1 455 +#define FRONTIER_MON_LAPRAS_1 456 +#define FRONTIER_MON_CROBAT_1 457 +#define FRONTIER_MON_SWAMPERT_1 458 +#define FRONTIER_MON_GYARADOS_1 459 +#define FRONTIER_MON_SNORLAX_1 460 +#define FRONTIER_MON_KINGDRA_1 461 +#define FRONTIER_MON_BLISSEY_1 462 +#define FRONTIER_MON_MILOTIC_1 463 +#define FRONTIER_MON_ARCANINE_1 464 +#define FRONTIER_MON_SALAMENCE_1 465 +#define FRONTIER_MON_METAGROSS_1 466 +#define FRONTIER_MON_SLAKING_1 467 + +#define FRONTIER_MON_DUGTRIO_2 468 +#define FRONTIER_MON_MEDICHAM_2 469 +#define FRONTIER_MON_MAROWAK_2 470 +#define FRONTIER_MON_QUAGSIRE_2 471 +#define FRONTIER_MON_MISDREAVUS_2 472 +#define FRONTIER_MON_FEAROW_2 473 +#define FRONTIER_MON_GRANBULL_2 474 +#define FRONTIER_MON_JYNX_2 475 +#define FRONTIER_MON_DUSCLOPS_2 476 +#define FRONTIER_MON_DODRIO_2 477 +#define FRONTIER_MON_MR_MIME_2 478 +#define FRONTIER_MON_LANTURN_2 479 +#define FRONTIER_MON_BRELOOM_2 480 +#define FRONTIER_MON_FORRETRESS_2 481 +#define FRONTIER_MON_SKARMORY_2 482 +#define FRONTIER_MON_WHISCASH_2 483 +#define FRONTIER_MON_XATU_2 484 +#define FRONTIER_MON_CLEFABLE_2 485 +#define FRONTIER_MON_HARIYAMA_2 486 +#define FRONTIER_MON_RAICHU_2 487 +#define FRONTIER_MON_DEWGONG_2 488 +#define FRONTIER_MON_MANECTRIC_2 489 +#define FRONTIER_MON_VILEPLUME_2 490 +#define FRONTIER_MON_VICTREEBEL_2 491 +#define FRONTIER_MON_ELECTRODE_2 492 +#define FRONTIER_MON_EXPLOUD_2 493 +#define FRONTIER_MON_SHIFTRY_2 494 +#define FRONTIER_MON_GLALIE_2 495 +#define FRONTIER_MON_LUDICOLO_2 496 +#define FRONTIER_MON_HYPNO_2 497 +#define FRONTIER_MON_GOLEM_2 498 +#define FRONTIER_MON_RHYDON_2 499 +#define FRONTIER_MON_ALAKAZAM_2 500 +#define FRONTIER_MON_WEEZING_2 501 +#define FRONTIER_MON_KANGASKHAN_2 502 +#define FRONTIER_MON_ELECTABUZZ_2 503 +#define FRONTIER_MON_TAUROS_2 504 +#define FRONTIER_MON_SLOWBRO_2 505 +#define FRONTIER_MON_SLOWKING_2 506 +#define FRONTIER_MON_MILTANK_2 507 +#define FRONTIER_MON_ALTARIA_2 508 +#define FRONTIER_MON_NIDOQUEEN_2 509 +#define FRONTIER_MON_NIDOKING_2 510 +#define FRONTIER_MON_MAGMAR_2 511 +#define FRONTIER_MON_CRADILY_2 512 +#define FRONTIER_MON_ARMALDO_2 513 +#define FRONTIER_MON_GOLDUCK_2 514 +#define FRONTIER_MON_RAPIDASH_2 515 +#define FRONTIER_MON_MUK_2 516 +#define FRONTIER_MON_GENGAR_2 517 +#define FRONTIER_MON_AMPHAROS_2 518 +#define FRONTIER_MON_SCIZOR_2 519 +#define FRONTIER_MON_HERACROSS_2 520 +#define FRONTIER_MON_URSARING_2 521 +#define FRONTIER_MON_HOUNDOOM_2 522 +#define FRONTIER_MON_DONPHAN_2 523 +#define FRONTIER_MON_CLAYDOL_2 524 +#define FRONTIER_MON_WAILORD_2 525 +#define FRONTIER_MON_NINETALES_2 526 +#define FRONTIER_MON_MACHAMP_2 527 +#define FRONTIER_MON_SHUCKLE_2 528 +#define FRONTIER_MON_STEELIX_2 529 +#define FRONTIER_MON_TENTACRUEL_2 530 +#define FRONTIER_MON_AERODACTYL_2 531 +#define FRONTIER_MON_PORYGON2_2 532 +#define FRONTIER_MON_GARDEVOIR_2 533 +#define FRONTIER_MON_EXEGGUTOR_2 534 +#define FRONTIER_MON_STARMIE_2 535 +#define FRONTIER_MON_FLYGON_2 536 +#define FRONTIER_MON_VENUSAUR_2 537 +#define FRONTIER_MON_VAPOREON_2 538 +#define FRONTIER_MON_JOLTEON_2 539 +#define FRONTIER_MON_FLAREON_2 540 +#define FRONTIER_MON_MEGANIUM_2 541 +#define FRONTIER_MON_ESPEON_2 542 +#define FRONTIER_MON_UMBREON_2 543 +#define FRONTIER_MON_BLASTOISE_2 544 +#define FRONTIER_MON_FERALIGATR_2 545 +#define FRONTIER_MON_AGGRON_2 546 +#define FRONTIER_MON_BLAZIKEN_2 547 +#define FRONTIER_MON_WALREIN_2 548 +#define FRONTIER_MON_SCEPTILE_2 549 +#define FRONTIER_MON_CHARIZARD_2 550 +#define FRONTIER_MON_TYPHLOSION_2 551 +#define FRONTIER_MON_LAPRAS_2 552 +#define FRONTIER_MON_CROBAT_2 553 +#define FRONTIER_MON_SWAMPERT_2 554 +#define FRONTIER_MON_GYARADOS_2 555 +#define FRONTIER_MON_SNORLAX_2 556 +#define FRONTIER_MON_KINGDRA_2 557 +#define FRONTIER_MON_BLISSEY_2 558 +#define FRONTIER_MON_MILOTIC_2 559 +#define FRONTIER_MON_ARCANINE_2 560 +#define FRONTIER_MON_SALAMENCE_2 561 +#define FRONTIER_MON_METAGROSS_2 562 +#define FRONTIER_MON_SLAKING_2 563 + +#define FRONTIER_MON_DUGTRIO_3 564 +#define FRONTIER_MON_MEDICHAM_3 565 +#define FRONTIER_MON_MISDREAVUS_3 566 +#define FRONTIER_MON_FEAROW_3 567 +#define FRONTIER_MON_GRANBULL_3 568 +#define FRONTIER_MON_JYNX_3 569 +#define FRONTIER_MON_DUSCLOPS_3 570 +#define FRONTIER_MON_DODRIO_3 571 +#define FRONTIER_MON_MR_MIME_3 572 +#define FRONTIER_MON_LANTURN_3 573 +#define FRONTIER_MON_BRELOOM_3 574 +#define FRONTIER_MON_FORRETRESS_3 575 +#define FRONTIER_MON_WHISCASH_3 576 +#define FRONTIER_MON_XATU_3 577 +#define FRONTIER_MON_SKARMORY_3 578 +#define FRONTIER_MON_MAROWAK_3 579 +#define FRONTIER_MON_QUAGSIRE_3 580 +#define FRONTIER_MON_CLEFABLE_3 581 +#define FRONTIER_MON_HARIYAMA_3 582 +#define FRONTIER_MON_RAICHU_3 583 +#define FRONTIER_MON_DEWGONG_3 584 +#define FRONTIER_MON_MANECTRIC_3 585 +#define FRONTIER_MON_VILEPLUME_3 586 +#define FRONTIER_MON_VICTREEBEL_3 587 +#define FRONTIER_MON_ELECTRODE_3 588 +#define FRONTIER_MON_EXPLOUD_3 589 +#define FRONTIER_MON_SHIFTRY_3 590 +#define FRONTIER_MON_GLALIE_3 591 +#define FRONTIER_MON_LUDICOLO_3 592 +#define FRONTIER_MON_HYPNO_3 593 +#define FRONTIER_MON_GOLEM_3 594 +#define FRONTIER_MON_RHYDON_3 595 +#define FRONTIER_MON_ALAKAZAM_3 596 +#define FRONTIER_MON_WEEZING_3 597 +#define FRONTIER_MON_KANGASKHAN_3 598 +#define FRONTIER_MON_ELECTABUZZ_3 599 +#define FRONTIER_MON_TAUROS_3 600 +#define FRONTIER_MON_SLOWBRO_3 601 +#define FRONTIER_MON_SLOWKING_3 602 +#define FRONTIER_MON_MILTANK_3 603 +#define FRONTIER_MON_ALTARIA_3 604 +#define FRONTIER_MON_NIDOQUEEN_3 605 +#define FRONTIER_MON_NIDOKING_3 606 +#define FRONTIER_MON_MAGMAR_3 607 +#define FRONTIER_MON_CRADILY_3 608 +#define FRONTIER_MON_ARMALDO_3 609 +#define FRONTIER_MON_GOLDUCK_3 610 +#define FRONTIER_MON_RAPIDASH_3 611 +#define FRONTIER_MON_MUK_3 612 +#define FRONTIER_MON_GENGAR_3 613 +#define FRONTIER_MON_AMPHAROS_3 614 +#define FRONTIER_MON_SCIZOR_3 615 +#define FRONTIER_MON_HERACROSS_3 616 +#define FRONTIER_MON_URSARING_3 617 +#define FRONTIER_MON_HOUNDOOM_3 618 +#define FRONTIER_MON_DONPHAN_3 619 +#define FRONTIER_MON_CLAYDOL_3 620 +#define FRONTIER_MON_WAILORD_3 621 +#define FRONTIER_MON_NINETALES_3 622 +#define FRONTIER_MON_MACHAMP_3 623 +#define FRONTIER_MON_SHUCKLE_3 624 +#define FRONTIER_MON_STEELIX_3 625 +#define FRONTIER_MON_TENTACRUEL_3 626 +#define FRONTIER_MON_AERODACTYL_3 627 +#define FRONTIER_MON_PORYGON2_3 628 +#define FRONTIER_MON_GARDEVOIR_3 629 +#define FRONTIER_MON_EXEGGUTOR_3 630 +#define FRONTIER_MON_STARMIE_3 631 +#define FRONTIER_MON_FLYGON_3 632 +#define FRONTIER_MON_VENUSAUR_3 633 +#define FRONTIER_MON_VAPOREON_3 634 +#define FRONTIER_MON_JOLTEON_3 635 +#define FRONTIER_MON_FLAREON_3 636 +#define FRONTIER_MON_MEGANIUM_3 637 +#define FRONTIER_MON_ESPEON_3 638 +#define FRONTIER_MON_UMBREON_3 639 +#define FRONTIER_MON_BLASTOISE_3 640 +#define FRONTIER_MON_FERALIGATR_3 641 +#define FRONTIER_MON_AGGRON_3 642 +#define FRONTIER_MON_BLAZIKEN_3 643 +#define FRONTIER_MON_WALREIN_3 644 +#define FRONTIER_MON_SCEPTILE_3 645 +#define FRONTIER_MON_CHARIZARD_3 646 +#define FRONTIER_MON_TYPHLOSION_3 647 +#define FRONTIER_MON_LAPRAS_3 648 +#define FRONTIER_MON_CROBAT_3 649 +#define FRONTIER_MON_SWAMPERT_3 650 +#define FRONTIER_MON_GYARADOS_3 651 +#define FRONTIER_MON_SNORLAX_3 652 +#define FRONTIER_MON_KINGDRA_3 653 +#define FRONTIER_MON_BLISSEY_3 654 +#define FRONTIER_MON_MILOTIC_3 655 +#define FRONTIER_MON_ARCANINE_3 656 +#define FRONTIER_MON_SALAMENCE_3 657 +#define FRONTIER_MON_METAGROSS_3 658 +#define FRONTIER_MON_SLAKING_3 659 + +#define FRONTIER_MON_DUGTRIO_4 660 +#define FRONTIER_MON_MEDICHAM_4 661 +#define FRONTIER_MON_MISDREAVUS_4 662 +#define FRONTIER_MON_FEAROW_4 663 +#define FRONTIER_MON_GRANBULL_4 664 +#define FRONTIER_MON_JYNX_4 665 +#define FRONTIER_MON_DUSCLOPS_4 666 +#define FRONTIER_MON_DODRIO_4 667 +#define FRONTIER_MON_MR_MIME_4 668 +#define FRONTIER_MON_LANTURN_4 669 +#define FRONTIER_MON_BRELOOM_4 670 +#define FRONTIER_MON_FORRETRESS_4 671 +#define FRONTIER_MON_WHISCASH_4 672 +#define FRONTIER_MON_XATU_4 673 +#define FRONTIER_MON_SKARMORY_4 674 +#define FRONTIER_MON_MAROWAK_4 675 +#define FRONTIER_MON_QUAGSIRE_4 676 +#define FRONTIER_MON_CLEFABLE_4 677 +#define FRONTIER_MON_HARIYAMA_4 678 +#define FRONTIER_MON_RAICHU_4 679 +#define FRONTIER_MON_DEWGONG_4 680 +#define FRONTIER_MON_MANECTRIC_4 681 +#define FRONTIER_MON_VILEPLUME_4 682 +#define FRONTIER_MON_VICTREEBEL_4 683 +#define FRONTIER_MON_ELECTRODE_4 684 +#define FRONTIER_MON_EXPLOUD_4 685 +#define FRONTIER_MON_SHIFTRY_4 686 +#define FRONTIER_MON_GLALIE_4 687 +#define FRONTIER_MON_LUDICOLO_4 688 +#define FRONTIER_MON_HYPNO_4 689 +#define FRONTIER_MON_GOLEM_4 690 +#define FRONTIER_MON_RHYDON_4 691 +#define FRONTIER_MON_ALAKAZAM_4 692 +#define FRONTIER_MON_WEEZING_4 693 +#define FRONTIER_MON_KANGASKHAN_4 694 +#define FRONTIER_MON_ELECTABUZZ_4 695 +#define FRONTIER_MON_TAUROS_4 696 +#define FRONTIER_MON_SLOWBRO_4 697 +#define FRONTIER_MON_SLOWKING_4 698 +#define FRONTIER_MON_MILTANK_4 699 +#define FRONTIER_MON_ALTARIA_4 700 +#define FRONTIER_MON_NIDOQUEEN_4 701 +#define FRONTIER_MON_NIDOKING_4 702 +#define FRONTIER_MON_MAGMAR_4 703 +#define FRONTIER_MON_CRADILY_4 704 +#define FRONTIER_MON_ARMALDO_4 705 +#define FRONTIER_MON_GOLDUCK_4 706 +#define FRONTIER_MON_RAPIDASH_4 707 +#define FRONTIER_MON_MUK_4 708 +#define FRONTIER_MON_GENGAR_4 709 +#define FRONTIER_MON_AMPHAROS_4 710 +#define FRONTIER_MON_SCIZOR_4 711 +#define FRONTIER_MON_HERACROSS_4 712 +#define FRONTIER_MON_URSARING_4 713 +#define FRONTIER_MON_HOUNDOOM_4 714 +#define FRONTIER_MON_DONPHAN_4 715 +#define FRONTIER_MON_CLAYDOL_4 716 +#define FRONTIER_MON_WAILORD_4 717 +#define FRONTIER_MON_NINETALES_4 718 +#define FRONTIER_MON_MACHAMP_4 719 +#define FRONTIER_MON_SHUCKLE_4 720 +#define FRONTIER_MON_STEELIX_4 721 +#define FRONTIER_MON_TENTACRUEL_4 722 +#define FRONTIER_MON_AERODACTYL_4 723 +#define FRONTIER_MON_PORYGON2_4 724 +#define FRONTIER_MON_GARDEVOIR_4 725 +#define FRONTIER_MON_EXEGGUTOR_4 726 +#define FRONTIER_MON_STARMIE_4 727 +#define FRONTIER_MON_FLYGON_4 728 +#define FRONTIER_MON_VENUSAUR_4 729 +#define FRONTIER_MON_VAPOREON_4 730 +#define FRONTIER_MON_JOLTEON_4 731 +#define FRONTIER_MON_FLAREON_4 732 +#define FRONTIER_MON_MEGANIUM_4 733 +#define FRONTIER_MON_ESPEON_4 734 +#define FRONTIER_MON_UMBREON_4 735 +#define FRONTIER_MON_BLASTOISE_4 736 +#define FRONTIER_MON_FERALIGATR_4 737 +#define FRONTIER_MON_AGGRON_4 738 +#define FRONTIER_MON_BLAZIKEN_4 739 +#define FRONTIER_MON_WALREIN_4 740 +#define FRONTIER_MON_SCEPTILE_4 741 +#define FRONTIER_MON_CHARIZARD_4 742 +#define FRONTIER_MON_TYPHLOSION_4 743 +#define FRONTIER_MON_LAPRAS_4 744 +#define FRONTIER_MON_CROBAT_4 745 +#define FRONTIER_MON_SWAMPERT_4 746 +#define FRONTIER_MON_GYARADOS_4 747 +#define FRONTIER_MON_SNORLAX_4 748 +#define FRONTIER_MON_KINGDRA_4 749 +#define FRONTIER_MON_BLISSEY_4 750 +#define FRONTIER_MON_MILOTIC_4 751 +#define FRONTIER_MON_ARCANINE_4 752 +#define FRONTIER_MON_SALAMENCE_4 753 +#define FRONTIER_MON_METAGROSS_4 754 +#define FRONTIER_MON_SLAKING_4 755 + +#define FRONTIER_MON_ARTICUNO_1 756 +#define FRONTIER_MON_ZAPDOS_1 757 +#define FRONTIER_MON_MOLTRES_1 758 +#define FRONTIER_MON_RAIKOU_1 759 +#define FRONTIER_MON_ENTEI_1 760 +#define FRONTIER_MON_SUICUNE_1 761 +#define FRONTIER_MON_REGIROCK_1 762 +#define FRONTIER_MON_REGICE_1 763 +#define FRONTIER_MON_REGISTEEL_1 764 +#define FRONTIER_MON_LATIAS_1 765 +#define FRONTIER_MON_LATIOS_1 766 +#define FRONTIER_MON_ARTICUNO_2 767 +#define FRONTIER_MON_ZAPDOS_2 768 +#define FRONTIER_MON_MOLTRES_2 769 +#define FRONTIER_MON_RAIKOU_2 770 +#define FRONTIER_MON_ENTEI_2 771 +#define FRONTIER_MON_SUICUNE_2 772 +#define FRONTIER_MON_REGIROCK_2 773 +#define FRONTIER_MON_REGICE_2 774 +#define FRONTIER_MON_REGISTEEL_2 775 +#define FRONTIER_MON_LATIAS_2 776 +#define FRONTIER_MON_LATIOS_2 777 +#define FRONTIER_MON_ARTICUNO_3 778 +#define FRONTIER_MON_ZAPDOS_3 779 +#define FRONTIER_MON_MOLTRES_3 780 +#define FRONTIER_MON_RAIKOU_3 781 +#define FRONTIER_MON_ENTEI_3 782 +#define FRONTIER_MON_SUICUNE_3 783 +#define FRONTIER_MON_REGIROCK_3 784 +#define FRONTIER_MON_REGICE_3 785 +#define FRONTIER_MON_REGISTEEL_3 786 +#define FRONTIER_MON_LATIAS_3 787 +#define FRONTIER_MON_LATIOS_3 788 +#define FRONTIER_MON_ARTICUNO_4 789 +#define FRONTIER_MON_ZAPDOS_4 790 +#define FRONTIER_MON_MOLTRES_4 791 +#define FRONTIER_MON_RAIKOU_4 792 +#define FRONTIER_MON_ENTEI_4 793 +#define FRONTIER_MON_SUICUNE_4 794 +#define FRONTIER_MON_REGIROCK_4 795 +#define FRONTIER_MON_REGICE_4 796 +#define FRONTIER_MON_REGISTEEL_4 797 +#define FRONTIER_MON_LATIAS_4 798 +#define FRONTIER_MON_LATIOS_4 799 +#define FRONTIER_MON_GENGAR_5 800 +#define FRONTIER_MON_GENGAR_6 801 +#define FRONTIER_MON_GENGAR_7 802 +#define FRONTIER_MON_GENGAR_8 803 +#define FRONTIER_MON_URSARING_5 804 +#define FRONTIER_MON_URSARING_6 805 +#define FRONTIER_MON_URSARING_7 806 +#define FRONTIER_MON_URSARING_8 807 +#define FRONTIER_MON_MACHAMP_5 808 +#define FRONTIER_MON_MACHAMP_6 809 +#define FRONTIER_MON_MACHAMP_7 810 +#define FRONTIER_MON_MACHAMP_8 811 +#define FRONTIER_MON_GARDEVOIR_5 812 +#define FRONTIER_MON_GARDEVOIR_6 813 +#define FRONTIER_MON_GARDEVOIR_7 814 +#define FRONTIER_MON_GARDEVOIR_8 815 +#define FRONTIER_MON_STARMIE_5 816 +#define FRONTIER_MON_STARMIE_6 817 +#define FRONTIER_MON_STARMIE_7 818 +#define FRONTIER_MON_STARMIE_8 819 +#define FRONTIER_MON_LAPRAS_5 820 +#define FRONTIER_MON_LAPRAS_6 821 +#define FRONTIER_MON_LAPRAS_7 822 +#define FRONTIER_MON_LAPRAS_8 823 +#define FRONTIER_MON_SNORLAX_5 824 +#define FRONTIER_MON_SNORLAX_6 825 +#define FRONTIER_MON_SNORLAX_7 826 +#define FRONTIER_MON_SNORLAX_8 827 +#define FRONTIER_MON_SALAMENCE_5 828 +#define FRONTIER_MON_SALAMENCE_6 829 +#define FRONTIER_MON_SALAMENCE_7 830 +#define FRONTIER_MON_SALAMENCE_8 831 +#define FRONTIER_MON_METAGROSS_5 832 +#define FRONTIER_MON_METAGROSS_6 833 +#define FRONTIER_MON_METAGROSS_7 834 +#define FRONTIER_MON_METAGROSS_8 835 +#define FRONTIER_MON_REGIROCK_5 836 +#define FRONTIER_MON_REGIROCK_6 837 +#define FRONTIER_MON_REGICE_5 838 +#define FRONTIER_MON_REGICE_6 839 +#define FRONTIER_MON_REGISTEEL_5 840 +#define FRONTIER_MON_REGISTEEL_6 841 +#define FRONTIER_MON_LATIAS_5 842 +#define FRONTIER_MON_LATIAS_6 843 +#define FRONTIER_MON_LATIAS_7 844 +#define FRONTIER_MON_LATIAS_8 845 +#define FRONTIER_MON_LATIOS_5 846 +#define FRONTIER_MON_LATIOS_6 847 +#define FRONTIER_MON_LATIOS_7 848 +#define FRONTIER_MON_LATIOS_8 849 + +#define FRONTIER_MONS_HIGH_TIER 849 // Mons above this point can only appear > level 50 + +#define FRONTIER_MON_DRAGONITE_1 850 +#define FRONTIER_MON_DRAGONITE_2 851 +#define FRONTIER_MON_DRAGONITE_3 852 +#define FRONTIER_MON_DRAGONITE_4 853 +#define FRONTIER_MON_DRAGONITE_5 854 +#define FRONTIER_MON_DRAGONITE_6 855 +#define FRONTIER_MON_DRAGONITE_7 856 +#define FRONTIER_MON_DRAGONITE_8 857 +#define FRONTIER_MON_DRAGONITE_9 858 +#define FRONTIER_MON_DRAGONITE_10 859 +#define FRONTIER_MON_TYRANITAR_1 860 +#define FRONTIER_MON_TYRANITAR_2 861 +#define FRONTIER_MON_TYRANITAR_3 862 +#define FRONTIER_MON_TYRANITAR_4 863 +#define FRONTIER_MON_TYRANITAR_5 864 +#define FRONTIER_MON_TYRANITAR_6 865 +#define FRONTIER_MON_TYRANITAR_7 866 +#define FRONTIER_MON_TYRANITAR_8 867 +#define FRONTIER_MON_TYRANITAR_9 868 +#define FRONTIER_MON_TYRANITAR_10 869 +#define FRONTIER_MON_ARTICUNO_5 870 +#define FRONTIER_MON_ARTICUNO_6 871 +#define FRONTIER_MON_ZAPDOS_5 872 +#define FRONTIER_MON_ZAPDOS_6 873 +#define FRONTIER_MON_MOLTRES_5 874 +#define FRONTIER_MON_MOLTRES_6 875 +#define FRONTIER_MON_RAIKOU_5 876 +#define FRONTIER_MON_RAIKOU_6 877 +#define FRONTIER_MON_ENTEI_5 878 +#define FRONTIER_MON_ENTEI_6 879 +#define FRONTIER_MON_SUICUNE_5 880 +#define FRONTIER_MON_SUICUNE_6 881 + +#define NUM_FRONTIER_MONS 882 + +#endif //GUARD_CONSTANTS_BATTLE_FRONTIER_MONS_H diff --git a/include/constants/battle_frontier_trainers.h b/include/constants/battle_frontier_trainers.h new file mode 100644 index 0000000000..2914b153fa --- /dev/null +++ b/include/constants/battle_frontier_trainers.h @@ -0,0 +1,309 @@ +#ifndef GUARD_CONSTANTS_BATTLE_FRONTIER_TRAINERS_H +#define GUARD_CONSTANTS_BATTLE_FRONTIER_TRAINERS_H + +#define FRONTIER_TRAINER_BRADY 0 +#define FRONTIER_TRAINER_CONNER 1 +#define FRONTIER_TRAINER_BRADLEY 2 +#define FRONTIER_TRAINER_CYBIL 3 +#define FRONTIER_TRAINER_RODETTE 4 +#define FRONTIER_TRAINER_PEGGY 5 +#define FRONTIER_TRAINER_KEITH 6 +#define FRONTIER_TRAINER_GRAYSON 7 +#define FRONTIER_TRAINER_GLENN 8 +#define FRONTIER_TRAINER_LILIANA 9 +#define FRONTIER_TRAINER_ELISE 10 +#define FRONTIER_TRAINER_ZOEY 11 +#define FRONTIER_TRAINER_MANUEL 12 +#define FRONTIER_TRAINER_RUSS 13 +#define FRONTIER_TRAINER_DUSTIN 14 +#define FRONTIER_TRAINER_TINA 15 +#define FRONTIER_TRAINER_GILLIAN1 16 +#define FRONTIER_TRAINER_ZOE 17 +#define FRONTIER_TRAINER_CHEN 18 +#define FRONTIER_TRAINER_AL 19 +#define FRONTIER_TRAINER_MITCH 20 +#define FRONTIER_TRAINER_ANNE 21 +#define FRONTIER_TRAINER_ALIZE 22 +#define FRONTIER_TRAINER_LAUREN 23 +#define FRONTIER_TRAINER_KIPP 24 +#define FRONTIER_TRAINER_JASON 25 +#define FRONTIER_TRAINER_JOHN 26 +#define FRONTIER_TRAINER_ANN 27 +#define FRONTIER_TRAINER_EILEEN 28 +#define FRONTIER_TRAINER_CARLIE 29 +#define FRONTIER_TRAINER_GORDON 30 +#define FRONTIER_TRAINER_AYDEN 31 +#define FRONTIER_TRAINER_MARCO 32 +#define FRONTIER_TRAINER_CIERRA 33 +#define FRONTIER_TRAINER_MARCY 34 +#define FRONTIER_TRAINER_KATHY 35 +#define FRONTIER_TRAINER_PEYTON 36 +#define FRONTIER_TRAINER_JULIAN 37 +#define FRONTIER_TRAINER_QUINN 38 +#define FRONTIER_TRAINER_HAYLEE 39 +#define FRONTIER_TRAINER_AMANDA 40 +#define FRONTIER_TRAINER_STACY 41 +#define FRONTIER_TRAINER_RAFAEL 42 +#define FRONTIER_TRAINER_OLIVER 43 +#define FRONTIER_TRAINER_PAYTON 44 +#define FRONTIER_TRAINER_PAMELA 45 +#define FRONTIER_TRAINER_ELIZA 46 +#define FRONTIER_TRAINER_MARISA 47 +#define FRONTIER_TRAINER_LEWIS 48 +#define FRONTIER_TRAINER_YOSHI 49 +#define FRONTIER_TRAINER_DESTIN 50 +#define FRONTIER_TRAINER_KEON 51 +#define FRONTIER_TRAINER_STUART 52 +#define FRONTIER_TRAINER_NESTOR 53 +#define FRONTIER_TRAINER_DERRICK 54 +#define FRONTIER_TRAINER_BRYSON 55 +#define FRONTIER_TRAINER_CLAYTON 56 +#define FRONTIER_TRAINER_TRENTON 57 +#define FRONTIER_TRAINER_JENSON 58 +#define FRONTIER_TRAINER_WESLEY 59 +#define FRONTIER_TRAINER_ANTON 60 +#define FRONTIER_TRAINER_LAWSON 61 +#define FRONTIER_TRAINER_SAMMY 62 +#define FRONTIER_TRAINER_ARNIE 63 +#define FRONTIER_TRAINER_ADRIAN 64 +#define FRONTIER_TRAINER_TRISTAN 65 +#define FRONTIER_TRAINER_JULIANA 66 +#define FRONTIER_TRAINER_RYLEE 67 +#define FRONTIER_TRAINER_CHELSEA 68 +#define FRONTIER_TRAINER_DANELA 69 +#define FRONTIER_TRAINER_LIZBETH 70 +#define FRONTIER_TRAINER_AMELIA 71 +#define FRONTIER_TRAINER_JILLIAN 72 +#define FRONTIER_TRAINER_ABBIE 73 +#define FRONTIER_TRAINER_BRIANA 74 +#define FRONTIER_TRAINER_ANTONIO 75 +#define FRONTIER_TRAINER_JADEN 76 +#define FRONTIER_TRAINER_DAKOTA 77 +#define FRONTIER_TRAINER_BRAYDEN 78 +#define FRONTIER_TRAINER_CORSON 79 +#define FRONTIER_TRAINER_TREVIN 80 +#define FRONTIER_TRAINER_PATRICK 81 +#define FRONTIER_TRAINER_KADEN 82 +#define FRONTIER_TRAINER_MAXWELL 83 +#define FRONTIER_TRAINER_DARYL 84 +#define FRONTIER_TRAINER_KENNETH 85 +#define FRONTIER_TRAINER_RICH 86 +#define FRONTIER_TRAINER_CADEN 87 +#define FRONTIER_TRAINER_MARLON 88 +#define FRONTIER_TRAINER_NASH 89 +#define FRONTIER_TRAINER_ROBBY 90 +#define FRONTIER_TRAINER_REECE 91 +#define FRONTIER_TRAINER_KATHRYN 92 +#define FRONTIER_TRAINER_ELLEN 93 +#define FRONTIER_TRAINER_RAMON 94 +#define FRONTIER_TRAINER_ARTHUR 95 +#define FRONTIER_TRAINER_ALONDRA 96 +#define FRONTIER_TRAINER_ADRIANA 97 +#define FRONTIER_TRAINER_MALIK 98 +#define FRONTIER_TRAINER_JILL 99 +#define FRONTIER_TRAINER_ERIK 100 +#define FRONTIER_TRAINER_YAZMIN 101 +#define FRONTIER_TRAINER_JAMAL 102 +#define FRONTIER_TRAINER_LESLIE 103 +#define FRONTIER_TRAINER_DAVE 104 +#define FRONTIER_TRAINER_CARLO 105 +#define FRONTIER_TRAINER_EMILIA 106 +#define FRONTIER_TRAINER_DALIA 107 +#define FRONTIER_TRAINER_HITOMI 108 +#define FRONTIER_TRAINER_RICARDO 109 +#define FRONTIER_TRAINER_SHIZUKA 110 +#define FRONTIER_TRAINER_JOANA 111 +#define FRONTIER_TRAINER_KELLY 112 +#define FRONTIER_TRAINER_RAYNA 113 +#define FRONTIER_TRAINER_EVAN 114 +#define FRONTIER_TRAINER_JORDAN 115 +#define FRONTIER_TRAINER_JOEL 116 +#define FRONTIER_TRAINER_KRISTEN 117 +#define FRONTIER_TRAINER_SELPHY 118 +#define FRONTIER_TRAINER_CHLOE 119 +#define FRONTIER_TRAINER_NORTON 120 +#define FRONTIER_TRAINER_LUKAS 121 +#define FRONTIER_TRAINER_ZACH 122 +#define FRONTIER_TRAINER_KAITLYN 123 +#define FRONTIER_TRAINER_BREANNA 124 +#define FRONTIER_TRAINER_KENDRA 125 +#define FRONTIER_TRAINER_MOLLY 126 +#define FRONTIER_TRAINER_JAZMIN 127 +#define FRONTIER_TRAINER_KELSEY 128 +#define FRONTIER_TRAINER_JALEN 129 +#define FRONTIER_TRAINER_GRIFFEN 130 +#define FRONTIER_TRAINER_XANDER 131 +#define FRONTIER_TRAINER_MARVIN 132 +#define FRONTIER_TRAINER_BRENNAN 133 +#define FRONTIER_TRAINER_BALEY 134 +#define FRONTIER_TRAINER_ZACKARY 135 +#define FRONTIER_TRAINER_GABRIEL 136 +#define FRONTIER_TRAINER_EMILY 137 +#define FRONTIER_TRAINER_JORDYN 138 +#define FRONTIER_TRAINER_SOFIA 139 +#define FRONTIER_TRAINER_BRADEN 140 +#define FRONTIER_TRAINER_KAYDEN 141 +#define FRONTIER_TRAINER_COOPER 142 +#define FRONTIER_TRAINER_JULIA 143 +#define FRONTIER_TRAINER_AMARA 144 +#define FRONTIER_TRAINER_LYNN 145 +#define FRONTIER_TRAINER_JOVAN 146 +#define FRONTIER_TRAINER_DOMINIC 147 +#define FRONTIER_TRAINER_NIKOLAS 148 +#define FRONTIER_TRAINER_VALERIA 149 +#define FRONTIER_TRAINER_DELANEY 150 +#define FRONTIER_TRAINER_MEGHAN 151 +#define FRONTIER_TRAINER_ROBERTO 152 +#define FRONTIER_TRAINER_DAMIAN 153 +#define FRONTIER_TRAINER_BRODY 154 +#define FRONTIER_TRAINER_GRAHAM 155 +#define FRONTIER_TRAINER_TYLOR 156 +#define FRONTIER_TRAINER_JAREN 157 +#define FRONTIER_TRAINER_CORDELL 158 +#define FRONTIER_TRAINER_JAZLYN 159 +#define FRONTIER_TRAINER_ZACHERY 160 +#define FRONTIER_TRAINER_JOHAN 161 +#define FRONTIER_TRAINER_SHEA 162 +#define FRONTIER_TRAINER_KAILA 163 +#define FRONTIER_TRAINER_ISIAH 164 +#define FRONTIER_TRAINER_GARRETT 165 +#define FRONTIER_TRAINER_HAYLIE 166 +#define FRONTIER_TRAINER_MEGAN 167 +#define FRONTIER_TRAINER_ISSAC 168 +#define FRONTIER_TRAINER_QUINTON 169 +#define FRONTIER_TRAINER_SALMA 170 +#define FRONTIER_TRAINER_ANSLEY 171 +#define FRONTIER_TRAINER_HOLDEN 172 +#define FRONTIER_TRAINER_LUCA 173 +#define FRONTIER_TRAINER_JAMISON 174 +#define FRONTIER_TRAINER_GUNNAR 175 +#define FRONTIER_TRAINER_CRAIG 176 +#define FRONTIER_TRAINER_PIERCE 177 +#define FRONTIER_TRAINER_REGINA 178 +#define FRONTIER_TRAINER_ALISON 179 +#define FRONTIER_TRAINER_HANK 180 +#define FRONTIER_TRAINER_EARL 181 +#define FRONTIER_TRAINER_RAMIRO 182 +#define FRONTIER_TRAINER_HUNTER 183 +#define FRONTIER_TRAINER_AIDEN 184 +#define FRONTIER_TRAINER_XAVIER 185 +#define FRONTIER_TRAINER_CLINTON 186 +#define FRONTIER_TRAINER_JESSE 187 +#define FRONTIER_TRAINER_EDUARDO 188 +#define FRONTIER_TRAINER_HAL 189 +#define FRONTIER_TRAINER_GAGE 190 +#define FRONTIER_TRAINER_ARNOLD 191 +#define FRONTIER_TRAINER_JARRETT 192 +#define FRONTIER_TRAINER_GARETT 193 +#define FRONTIER_TRAINER_EMANUEL 194 +#define FRONTIER_TRAINER_GUSTAVO 195 +#define FRONTIER_TRAINER_KAMERON 196 +#define FRONTIER_TRAINER_ALFREDO 197 +#define FRONTIER_TRAINER_RUBEN 198 +#define FRONTIER_TRAINER_LAMAR 199 +#define FRONTIER_TRAINER_JAXON 200 +#define FRONTIER_TRAINER_LOGAN 201 +#define FRONTIER_TRAINER_EMILEE 202 +#define FRONTIER_TRAINER_JOSIE 203 +#define FRONTIER_TRAINER_ARMANDO 204 +#define FRONTIER_TRAINER_SKYLER 205 +#define FRONTIER_TRAINER_RUTH 206 +#define FRONTIER_TRAINER_MELODY 207 +#define FRONTIER_TRAINER_PEDRO 208 +#define FRONTIER_TRAINER_ERICK 209 +#define FRONTIER_TRAINER_ELAINE 210 +#define FRONTIER_TRAINER_JOYCE 211 +#define FRONTIER_TRAINER_TODD 212 +#define FRONTIER_TRAINER_GAVIN 213 +#define FRONTIER_TRAINER_MALORY 214 +#define FRONTIER_TRAINER_ESTHER 215 +#define FRONTIER_TRAINER_OSCAR 216 +#define FRONTIER_TRAINER_WILSON 217 +#define FRONTIER_TRAINER_CLARE 218 +#define FRONTIER_TRAINER_TESS 219 +#define FRONTIER_TRAINER_LEON 220 +#define FRONTIER_TRAINER_ALONZO 221 +#define FRONTIER_TRAINER_VINCE 222 +#define FRONTIER_TRAINER_BRYON 223 +#define FRONTIER_TRAINER_AVA 224 +#define FRONTIER_TRAINER_MIRIAM 225 +#define FRONTIER_TRAINER_CARRIE 226 +#define FRONTIER_TRAINER_GILLIAN2 227 +#define FRONTIER_TRAINER_TYLER 228 +#define FRONTIER_TRAINER_CHAZ 229 +#define FRONTIER_TRAINER_NELSON 230 +#define FRONTIER_TRAINER_SHANIA 231 +#define FRONTIER_TRAINER_STELLA 232 +#define FRONTIER_TRAINER_DORINE 233 +#define FRONTIER_TRAINER_MADDOX 234 +#define FRONTIER_TRAINER_DAVIN 235 +#define FRONTIER_TRAINER_TREVON 236 +#define FRONTIER_TRAINER_MATEO 237 +#define FRONTIER_TRAINER_BRET 238 +#define FRONTIER_TRAINER_RAUL 239 +#define FRONTIER_TRAINER_KAY 240 +#define FRONTIER_TRAINER_ELENA 241 +#define FRONTIER_TRAINER_ALANA 242 +#define FRONTIER_TRAINER_ALEXAS 243 +#define FRONTIER_TRAINER_WESTON 244 +#define FRONTIER_TRAINER_JASPER 245 +#define FRONTIER_TRAINER_NADIA 246 +#define FRONTIER_TRAINER_MIRANDA 247 +#define FRONTIER_TRAINER_EMMA 248 +#define FRONTIER_TRAINER_ROLANDO 249 +#define FRONTIER_TRAINER_STANLY 250 +#define FRONTIER_TRAINER_DARIO 251 +#define FRONTIER_TRAINER_KARLEE 252 +#define FRONTIER_TRAINER_JAYLIN 253 +#define FRONTIER_TRAINER_INGRID 254 +#define FRONTIER_TRAINER_DELILAH 255 +#define FRONTIER_TRAINER_CARLY 256 +#define FRONTIER_TRAINER_LEXIE 257 +#define FRONTIER_TRAINER_MILLER 258 +#define FRONTIER_TRAINER_MARV 259 +#define FRONTIER_TRAINER_LAYTON 260 +#define FRONTIER_TRAINER_BROOKS 261 +#define FRONTIER_TRAINER_GREGORY 262 +#define FRONTIER_TRAINER_REESE 263 +#define FRONTIER_TRAINER_MASON 264 +#define FRONTIER_TRAINER_TOBY 265 +#define FRONTIER_TRAINER_DOROTHY 266 +#define FRONTIER_TRAINER_PIPER 267 +#define FRONTIER_TRAINER_FINN 268 +#define FRONTIER_TRAINER_SAMIR 269 +#define FRONTIER_TRAINER_FIONA 270 +#define FRONTIER_TRAINER_GLORIA 271 +#define FRONTIER_TRAINER_NICO 272 +#define FRONTIER_TRAINER_JEREMY 273 +#define FRONTIER_TRAINER_CAITLIN 274 +#define FRONTIER_TRAINER_REENA 275 +#define FRONTIER_TRAINER_AVERY 276 +#define FRONTIER_TRAINER_LIAM 277 +#define FRONTIER_TRAINER_THEO 278 +#define FRONTIER_TRAINER_BAILEY 279 +#define FRONTIER_TRAINER_HUGO 280 +#define FRONTIER_TRAINER_BRYCE 281 +#define FRONTIER_TRAINER_GIDEON 282 +#define FRONTIER_TRAINER_TRISTON 283 +#define FRONTIER_TRAINER_CHARLES 284 +#define FRONTIER_TRAINER_RAYMOND 285 +#define FRONTIER_TRAINER_DIRK 286 +#define FRONTIER_TRAINER_HAROLD 287 +#define FRONTIER_TRAINER_OMAR 288 +#define FRONTIER_TRAINER_PETER 289 +#define FRONTIER_TRAINER_DEV 290 +#define FRONTIER_TRAINER_COREY 291 +#define FRONTIER_TRAINER_ANDRE 292 +#define FRONTIER_TRAINER_FERRIS 293 +#define FRONTIER_TRAINER_ALIVIA 294 +#define FRONTIER_TRAINER_PAIGE 295 +#define FRONTIER_TRAINER_ANYA 296 +#define FRONTIER_TRAINER_DAWN 297 +#define FRONTIER_TRAINER_ABBY 298 +#define FRONTIER_TRAINER_GRETEL 299 + +#define FRONTIER_TRAINERS_COUNT 300 + +// special trainer IDs begin at 300, see constants/trainers.h + +#endif // GUARD_CONSTANTS_BATTLE_FRONTIER_TRAINERS_H diff --git a/include/constants/battle_palace.h b/include/constants/battle_palace.h new file mode 100644 index 0000000000..db9855101d --- /dev/null +++ b/include/constants/battle_palace.h @@ -0,0 +1,19 @@ +#ifndef GUARD_CONSTANTS_BATTLE_PALACE_H +#define GUARD_CONSTANTS_BATTLE_PALACE_H + +#define BATTLE_PALACE_FUNC_INIT 0 +#define BATTLE_PALACE_FUNC_GET_DATA 1 +#define BATTLE_PALACE_FUNC_SET_DATA 2 +#define BATTLE_PALACE_FUNC_GET_COMMENT_ID 3 +#define BATTLE_PALACE_FUNC_SET_OPPONENT 4 +#define BATTLE_PALACE_FUNC_GET_OPPONENT_INTRO 5 +#define BATTLE_PALACE_FUNC_INCREMENT_STREAK 6 +#define BATTLE_PALACE_FUNC_SAVE 7 +#define BATTLE_PALACE_FUNC_SET_PRIZE 8 +#define BATTLE_PALACE_FUNC_GIVE_PRIZE 9 + +#define PALACE_DATA_PRIZE 0 +#define PALACE_DATA_WIN_STREAK 1 +#define PALACE_DATA_WIN_STREAK_ACTIVE 2 + +#endif //GUARD_CONSTANTS_BATTLE_PALACE_H diff --git a/include/constants/battle_pike.h b/include/constants/battle_pike.h new file mode 100644 index 0000000000..9187ae28c0 --- /dev/null +++ b/include/constants/battle_pike.h @@ -0,0 +1,72 @@ +#ifndef GUARD_CONSTANTS_BATTLE_PIKE_H +#define GUARD_CONSTANTS_BATTLE_PIKE_H + +#define PIKE_ROOM_SINGLE_BATTLE 0 +#define PIKE_ROOM_HEAL_FULL 1 +#define PIKE_ROOM_NPC 2 +#define PIKE_ROOM_STATUS 3 +#define PIKE_ROOM_HEAL_PART 4 +#define PIKE_ROOM_WILD_MONS 5 +#define PIKE_ROOM_HARD_BATTLE 6 +#define PIKE_ROOM_DOUBLE_BATTLE 7 +#define PIKE_ROOM_BRAIN 8 +#define NUM_PIKE_ROOM_TYPES 9 + +#define PIKE_ROOM_LEFT 0 +#define PIKE_ROOM_CENTER 1 +#define PIKE_ROOM_RIGHT 2 + +#define PIKE_HINT_NOSTALGIA 0 +#define PIKE_HINT_WHISPERING 1 +#define PIKE_HINT_POKEMON 2 +#define PIKE_HINT_PEOPLE 3 +#define PIKE_HINT_BRAIN 4 + +// For the room with a status effect. +#define PIKE_STATUSMON_KIRLIA 0 +#define PIKE_STATUSMON_DUSCLOPS 1 + +#define PIKE_STATUS_FREEZE 0 +#define PIKE_STATUS_BURN 1 +#define PIKE_STATUS_TOXIC 2 +#define PIKE_STATUS_PARALYSIS 3 +#define PIKE_STATUS_SLEEP 4 + +// Function IDs for sBattlePikeFunctions / CallBattlePikeFunction +#define BATTLE_PIKE_FUNC_SET_ROOM_TYPE 0 +#define BATTLE_PIKE_FUNC_GET_DATA 1 +#define BATTLE_PIKE_FUNC_SET_DATA 2 +#define BATTLE_PIKE_FUNC_IS_FINAL_ROOM 3 +#define BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS 4 +#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE 5 +#define BATTLE_PIKE_FUNC_SET_IN_WILD_MON_ROOM 6 +#define BATTLE_PIKE_FUNC_CLEAR_IN_WILD_MON_ROOM 7 +#define BATTLE_PIKE_FUNC_SAVE 8 +#define BATTLE_PIKE_FUNC_NULL_9 9 +#define BATTLE_PIKE_FUNC_NULL_10 10 +#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS 11 +#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON 12 +#define BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS 13 +#define BATTLE_PIKE_FUNC_BUFFER_NPC_MSG 14 +#define BATTLE_PIKE_FUNC_STATUS_SCREEN_FLASH 15 +#define BATTLE_PIKE_FUNC_IS_IN 16 +#define BATTLE_PIKE_FUNC_SET_HINT_ROOM 17 +#define BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID 18 +#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT 19 +#define BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS 20 +#define BATTLE_PIKE_FUNC_GET_TRAINER_INTRO 21 +#define BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE 22 +#define BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN 23 +#define BATTLE_PIKE_FUNC_SET_HEAL_ROOMS_DISABLED 24 +#define BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH 25 +#define BATTLE_PIKE_FUNC_SAVE_HELD_ITEMS 26 +#define BATTLE_PIKE_FUNC_RESET_HELD_ITEMS 27 +#define BATTLE_PIKE_FUNC_INIT 28 + +#define PIKE_DATA_PRIZE 0 +#define PIKE_DATA_WIN_STREAK 1 +#define PIKE_DATA_RECORD_STREAK 2 +#define PIKE_DATA_TOTAL_STREAKS 3 +#define PIKE_DATA_WIN_STREAK_ACTIVE 4 + +#endif // GUARD_CONSTANTS_BATTLE_PIKE_H diff --git a/include/constants/battle_pyramid.h b/include/constants/battle_pyramid.h new file mode 100644 index 0000000000..004df71552 --- /dev/null +++ b/include/constants/battle_pyramid.h @@ -0,0 +1,61 @@ +#ifndef GUARD_CONSTANTS_BATTLE_PYRAMID_H +#define GUARD_CONSTANTS_BATTLE_PYRAMID_H + +#define TOTAL_ROUNDS 20 +#define PICKUP_ITEMS_PER_ROUND 10 + +#define FLOOR_WALKABLE_METATILE 0x28D +#define FLOOR_EXIT_METATILE 0x28E + +#define HINT_EXIT_DIRECTION 0 +#define HINT_REMAINING_ITEMS 1 +#define HINT_REMAINING_TRAINERS 2 +#define HINT_EXIT_SHORT_REMAINING_TRAINERS 3 +#define HINT_EXIT_SHORT_REMAINING_ITEMS 4 +#define HINT_EXIT_MEDIUM_REMAINING_TRAINERS 5 +#define HINT_EXIT_MEDIUM_REMAINING_ITEMS 6 +#define HINT_EXIT_FAR_REMAINING_TRAINERS 7 +#define HINT_EXIT_FAR_REMAINING_ITEMS 8 + +#define OBJ_TRAINERS 0 +#define OBJ_ITEMS 1 + +#define OBJ_POSITIONS_UNIFORM 0 +#define OBJ_POSITIONS_IN_AND_NEAR_ENTRANCE 1 +#define OBJ_POSITIONS_IN_AND_NEAR_EXIT 2 +#define OBJ_POSITIONS_NEAR_ENTRANCE 3 +#define OBJ_POSITIONS_NEAR_EXIT 4 + +// Functions IDs for sBattlePyramidFunctions / CallBattlePyramidFunction +#define BATTLE_PYRAMID_FUNC_INIT 0 +#define BATTLE_PYRAMID_FUNC_GET_DATA 1 +#define BATTLE_PYRAMID_FUNC_SET_DATA 2 +#define BATTLE_PYRAMID_FUNC_SAVE 3 +#define BATTLE_PYRAMID_FUNC_SET_PRIZE 4 +#define BATTLE_PYRAMID_FUNC_GIVE_PRIZE 5 // unused +#define BATTLE_PYRAMID_FUNC_SEED_FLOOR 6 +#define BATTLE_PYRAMID_FUNC_SET_ITEM 7 +#define BATTLE_PYRAMID_FUNC_HIDE_ITEM 8 +#define BATTLE_PYRAMID_FUNC_SET_TRAINERS 9 +#define BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT 10 +#define BATTLE_PYRAMID_FUNC_UPDATE_STREAK 11 // unused +#define BATTLE_PYRAMID_FUNC_IS_IN 12 +#define BATTLE_PYRAMID_FUNC_UPDATE_LIGHT 13 +#define BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS 14 +#define BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE 15 +#define BATTLE_PYRAMID_FUNC_START_MENU 16 // unused +#define BATTLE_PYRAMID_FUNC_RESTORE_PARTY 17 + +#define PYRAMID_DATA_PRIZE 0 +#define PYRAMID_DATA_WIN_STREAK 1 +#define PYRAMID_DATA_WIN_STREAK_ACTIVE 2 +#define PYRAMID_DATA_WIN_STREAK_50 3 // the below streak data are redundant with the above when frontier.lvlMode is correct +#define PYRAMID_DATA_WIN_STREAK_OPEN 4 +#define PYRAMID_DATA_WIN_STREAK_ACTIVE_50 5 +#define PYRAMID_DATA_WIN_STREAK_ACTIVE_OPEN 6 +#define PYRAMID_DATA_TRAINER_FLAGS 7 + +#define PYRAMID_LIGHT_SET_RADIUS 0 +#define PYRAMID_LIGHT_INCR_RADIUS 1 + +#endif // GUARD_CONSTANTS_BATTLE_PYRAMID_H diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 894bd13b68..dfcf79128b 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -39,16 +39,16 @@ #define BS_EFFECT_BATTLER 2 #define BS_FAINTED 3 #define BS_BATTLER_0 7 -#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update -#define BS_ATTACKER_SIDE 8 // for atk1E_jumpifability -#define BS_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability +#define BS_ATTACKER_WITH_PARTNER 4 // for Cmd_updatestatusicon +#define BS_ATTACKER_SIDE 8 // for Cmd_jumpifability +#define BS_NOT_ATTACKER_SIDE 9 // for Cmd_jumpifability #define BS_SCRIPTING 10 #define BS_PLAYER1 11 #define BS_OPPONENT1 12 #define BS_PLAYER2 13 #define BS_OPPONENT2 14 -// atk 01, accuracy calc +// Cmd_accuracycheck #define NO_ACC_CALC 0xFFFE #define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF #define ACC_CURR_MOVE 0 @@ -61,7 +61,7 @@ #define CMP_COMMON_BITS 0x4 #define CMP_NO_COMMON_BITS 0x5 -// atk76, various +// Cmd_various #define VARIOUS_CANCEL_MULTI_TURN_MOVES 0 #define VARIOUS_SET_MAGIC_COAT_TARGET 1 #define VARIOUS_IS_RUNNING_IMPOSSIBLE 2 @@ -84,44 +84,25 @@ #define VARIOUS_SET_TELEPORT_OUTCOME 25 #define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26 -// atk80, dmg manipulation -#define ATK80_DMG_CHANGE_SIGN 0 -#define ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP 1 -#define ATK80_DMG_DOUBLED 2 +// Cmd_manipulatedmg +#define DMG_CHANGE_SIGN 0 +#define DMG_RECOIL_FROM_MISS 1 +#define DMG_DOUBLED 2 -// atk4F, a flag used for the jumpifcantswitch command -#define ATK4F_DONT_CHECK_STATUSES 0x80 +// Cmd_jumpifcantswitch +#define SWITCH_IGNORE_ESCAPE_PREVENTION 0x80 -// statchange defines -#define STAT_CHANGE_BS_PTR 0x1 -#define STAT_CHANGE_NOT_PROTECT_AFFECTED 0x20 +// Cmd_statbuffchange +#define STAT_BUFF_ALLOW_PTR 0x1 // If set, allow use of jumpptr. Set in every use of statbuffchange +#define STAT_BUFF_NOT_PROTECT_AFFECTED 0x20 -// atk48 -#define ATK48_STAT_NEGATIVE 0x1 -#define ATK48_STAT_BY_TWO 0x2 -#define ATK48_ONLY_MULTIPLE 0x4 -#define ATK48_DONT_CHECK_LOWER 0x8 - -// atk49, moveend cases -#define ATK49_RAGE 0 -#define ATK49_DEFROST 1 -#define ATK49_SYNCHRONIZE_TARGET 2 -#define ATK49_MOVE_END_ABILITIES 3 -#define ATK49_STATUS_IMMUNITY_ABILITIES 4 -#define ATK49_SYNCHRONIZE_ATTACKER 5 -#define ATK49_CHOICE_MOVE 6 -#define ATK49_CHANGED_ITEMS 7 -#define ATK49_ATTACKER_INVISIBLE 8 -#define ATK49_ATTACKER_VISIBLE 9 -#define ATK49_TARGET_VISIBLE 10 -#define ATK49_ITEM_EFFECTS_ALL 11 -#define ATK49_KINGSROCK_SHELLBELL 12 -#define ATK49_SUBSTITUTE 13 -#define ATK49_UPDATE_LAST_MOVES 14 -#define ATK49_MIRROR_MOVE 15 -#define ATK49_NEXT_TARGET 16 -#define ATK49_COUNT 17 +// stat change flags for Cmd_playstatchangeanimation +#define STAT_CHANGE_NEGATIVE 0x1 +#define STAT_CHANGE_BY_TWO 0x2 +#define STAT_CHANGE_MULTIPLE_STATS 0x4 +#define STAT_CHANGE_CANT_PREVENT 0x8 +// stat flags for Cmd_playstatchangeanimation #define BIT_HP 0x1 #define BIT_ATK 0x2 #define BIT_DEF 0x4 @@ -131,4 +112,24 @@ #define BIT_ACC 0x40 #define BIT_EVASION 0x80 +// cases for Cmd_moveend +#define MOVEEND_RAGE 0 +#define MOVEEND_DEFROST 1 +#define MOVEEND_SYNCHRONIZE_TARGET 2 +#define MOVEEND_ON_DAMAGE_ABILITIES 3 +#define MOVEEND_IMMUNITY_ABILITIES 4 +#define MOVEEND_SYNCHRONIZE_ATTACKER 5 +#define MOVEEND_CHOICE_MOVE 6 +#define MOVEEND_CHANGED_ITEMS 7 +#define MOVEEND_ATTACKER_INVISIBLE 8 +#define MOVEEND_ATTACKER_VISIBLE 9 +#define MOVEEND_TARGET_VISIBLE 10 +#define MOVEEND_ITEM_EFFECTS_ALL 11 +#define MOVEEND_KINGSROCK_SHELLBELL 12 +#define MOVEEND_SUBSTITUTE 13 +#define MOVEEND_UPDATE_LAST_MOVES 14 +#define MOVEEND_MIRROR_MOVE 15 +#define MOVEEND_NEXT_TARGET 16 +#define MOVEEND_COUNT 17 + #endif // GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H diff --git a/include/constants/battle_setup.h b/include/constants/battle_setup.h index d98e1762f3..d825c88bc3 100644 --- a/include/constants/battle_setup.h +++ b/include/constants/battle_setup.h @@ -13,6 +13,6 @@ #define TRAINER_BATTLE_PYRAMID 9 #define TRAINER_BATTLE_SET_TRAINER_A 10 #define TRAINER_BATTLE_SET_TRAINER_B 11 -#define TRAINER_BATTLE_12 12 +#define TRAINER_BATTLE_HILL 12 #endif // GUARD_CONSTANTS_BATTLE_SETUP_H diff --git a/include/constants/battle_tent.h b/include/constants/battle_tent.h new file mode 100644 index 0000000000..666ada6bd9 --- /dev/null +++ b/include/constants/battle_tent.h @@ -0,0 +1,32 @@ +#ifndef GUARD_CONSTANTS_BATTLE_TENT_H +#define GUARD_CONSTANTS_BATTLE_TENT_H + +#define VERDANTURF_TENT_FUNC_INIT 0 +#define VERDANTURF_TENT_FUNC_GET_PRIZE 1 +#define VERDANTURF_TENT_FUNC_SET_PRIZE 2 +#define VERDANTURF_TENT_FUNC_SET_OPPONENT_GFX 3 +#define VERDANTURF_TENT_FUNC_GET_OPPONENT_INTRO 4 +#define VERDANTURF_TENT_FUNC_SAVE 5 +#define VERDANTURF_TENT_FUNC_SET_RANDOM_PRIZE 6 +#define VERDANTURF_TENT_FUNC_GIVE_PRIZE 7 + +#define FALLARBOR_TENT_FUNC_INIT 0 +#define FALLARBOR_TENT_FUNC_GET_PRIZE 1 +#define FALLARBOR_TENT_FUNC_SET_PRIZE 2 +#define FALLARBOR_TENT_FUNC_SAVE 3 +#define FALLARBOR_TENT_FUNC_SET_RANDOM_PRIZE 4 +#define FALLARBOR_TENT_FUNC_GIVE_PRIZE 5 +#define FALLARBOR_TENT_FUNC_GET_OPPONENT_NAME 6 + +#define SLATEPORT_TENT_FUNC_INIT 0 +#define SLATEPORT_TENT_FUNC_GET_PRIZE 1 +#define SLATEPORT_TENT_FUNC_SET_PRIZE 2 +#define SLATEPORT_TENT_FUNC_SAVE 3 +#define SLATEPORT_TENT_FUNC_SET_RANDOM_PRIZE 4 +#define SLATEPORT_TENT_FUNC_GIVE_PRIZE 5 +#define SLATEPORT_TENT_FUNC_SELECT_RENT_MONS 6 +#define SLATEPORT_TENT_FUNC_SWAP_RENT_MONS 7 +#define SLATEPORT_TENT_FUNC_GENERATE_OPPONENT_MONS 8 +#define SLATEPORT_TENT_FUNC_GENERATE_RENTAL_MONS 9 + +#endif // GUARD_CONSTANTS_BATTLE_TENT_H diff --git a/include/constants/battle_tent_mons.h b/include/constants/battle_tent_mons.h new file mode 100644 index 0000000000..d9fc89a20b --- /dev/null +++ b/include/constants/battle_tent_mons.h @@ -0,0 +1,173 @@ +#ifndef GUARD_CONSTANTS_BATTLE_TENT_MONS_H +#define GUARD_CONSTANTS_BATTLE_TENT_MONS_H + +#define SLATEPORT_TENT_MON_ZIGZAGOON_1 0 +#define SLATEPORT_TENT_MON_ZIGZAGOON_2 1 +#define SLATEPORT_TENT_MON_BEAUTIFLY 2 +#define SLATEPORT_TENT_MON_DUSTOX 3 +#define SLATEPORT_TENT_MON_WAILMER_1 4 +#define SLATEPORT_TENT_MON_WAILMER_2 5 +#define SLATEPORT_TENT_MON_MARILL_1 6 +#define SLATEPORT_TENT_MON_WINGULL_1 7 +#define SLATEPORT_TENT_MON_PELIPPER_1 8 +#define SLATEPORT_TENT_MON_CACNEA_1 9 +#define SLATEPORT_TENT_MON_LOMBRE_1 10 +#define SLATEPORT_TENT_MON_LOTAD 11 +#define SLATEPORT_TENT_MON_SEEDOT 12 +#define SLATEPORT_TENT_MON_NUZLEAF 13 +#define SLATEPORT_TENT_MON_NINJASK_1 14 +#define SLATEPORT_TENT_MON_NINJASK_2 15 +#define SLATEPORT_TENT_MON_GRAVELER 16 +#define SLATEPORT_TENT_MON_BALTOY 17 +#define SLATEPORT_TENT_MON_MIGHTYENA_1 18 +#define SLATEPORT_TENT_MON_MIGHTYENA_2 19 +#define SLATEPORT_TENT_MON_LINOONE 20 +#define SLATEPORT_TENT_MON_GOLDEEN 21 +#define SLATEPORT_TENT_MON_ELECTRIKE_1 22 +#define SLATEPORT_TENT_MON_VOLTORB 23 +#define SLATEPORT_TENT_MON_ARON_1 24 +#define SLATEPORT_TENT_MON_ARON_2 25 +#define SLATEPORT_TENT_MON_TRAPINCH_1 26 +#define SLATEPORT_TENT_MON_CACNEA_2 27 +#define SLATEPORT_TENT_MON_TAILLOW 28 +#define SLATEPORT_TENT_MON_SWELLOW 29 +#define SLATEPORT_TENT_MON_GOLBAT_1 30 +#define SLATEPORT_TENT_MON_LOUDRED 31 +#define SLATEPORT_TENT_MON_SPINDA 32 +#define SLATEPORT_TENT_MON_MAGNEMITE 33 +#define SLATEPORT_TENT_MON_WHISMUR 34 +#define SLATEPORT_TENT_MON_MAKUHITA 35 +#define SLATEPORT_TENT_MON_NUMEL_1 36 +#define SLATEPORT_TENT_MON_BARBOACH 37 +#define SLATEPORT_TENT_MON_TENTACOOL 38 +#define SLATEPORT_TENT_MON_VIGOROTH 39 +#define SLATEPORT_TENT_MON_MAGIKARP 40 +#define SLATEPORT_TENT_MON_SEVIPER_1 41 +#define SLATEPORT_TENT_MON_SOLROCK 42 +#define SLATEPORT_TENT_MON_KECLEON_1 43 +#define SLATEPORT_TENT_MON_KECLEON_2 44 +#define SLATEPORT_TENT_MON_SHROOMISH_1 45 +#define SLATEPORT_TENT_MON_SHROOMISH_2 46 +#define SLATEPORT_TENT_MON_LOMBRE_2 47 +#define SLATEPORT_TENT_MON_NUMEL_2 48 +#define SLATEPORT_TENT_MON_TRAPINCH_2 49 +#define SLATEPORT_TENT_MON_PELIPPER_2 50 +#define SLATEPORT_TENT_MON_WINGULL_2 51 +#define SLATEPORT_TENT_MON_MARILL_2 52 +#define SLATEPORT_TENT_MON_SKITTY 53 +#define SLATEPORT_TENT_MON_SEVIPER_2 54 +#define SLATEPORT_TENT_MON_GOLBAT_2 55 +#define SLATEPORT_TENT_MON_RALTS 56 +#define SLATEPORT_TENT_MON_SANDSHREW 57 +#define SLATEPORT_TENT_MON_SWALOT 58 +#define SLATEPORT_TENT_MON_VOLBEAT 59 +#define SLATEPORT_TENT_MON_ILLUMISE 60 +#define SLATEPORT_TENT_MON_KADABRA 61 +#define SLATEPORT_TENT_MON_KIRLIA 62 +#define SLATEPORT_TENT_MON_BRELOOM 63 +#define SLATEPORT_TENT_MON_PLUSLE_1 64 +#define SLATEPORT_TENT_MON_PLUSLE_2 65 +#define SLATEPORT_TENT_MON_ELECTRIKE_2 66 +#define SLATEPORT_TENT_MON_SWABLU 67 +#define SLATEPORT_TENT_MON_MACHOP 68 +#define SLATEPORT_TENT_MON_MACHOKE 69 + +#define NUM_SLATEPORT_TENT_MONS 70 + +#define VERDANTURF_TENT_MON_POOCHYENA 0 +#define VERDANTURF_TENT_MON_ZIGZAGOON 1 +#define VERDANTURF_TENT_MON_DUSTOX 2 +#define VERDANTURF_TENT_MON_TAILLOW 3 +#define VERDANTURF_TENT_MON_SHROOMISH 4 +#define VERDANTURF_TENT_MON_MACHOP 5 +#define VERDANTURF_TENT_MON_MAGIKARP 6 +#define VERDANTURF_TENT_MON_BARBOACH 7 +#define VERDANTURF_TENT_MON_WINGULL 8 +#define VERDANTURF_TENT_MON_ARON_1 9 +#define VERDANTURF_TENT_MON_NUMEL_1 10 +#define VERDANTURF_TENT_MON_SWALOT 11 +#define VERDANTURF_TENT_MON_KECLEON 12 +#define VERDANTURF_TENT_MON_BALTOY 13 +#define VERDANTURF_TENT_MON_NINJASK 14 +#define VERDANTURF_TENT_MON_MAKUHITA 15 +#define VERDANTURF_TENT_MON_SWABLU 16 +#define VERDANTURF_TENT_MON_GOLDEEN_1 17 +#define VERDANTURF_TENT_MON_LOTAD 18 +#define VERDANTURF_TENT_MON_NUMEL_2 19 +#define VERDANTURF_TENT_MON_LINOONE 20 +#define VERDANTURF_TENT_MON_SEVIPER 21 +#define VERDANTURF_TENT_MON_SKARMORY 22 +#define VERDANTURF_TENT_MON_SWELLOW 23 +#define VERDANTURF_TENT_MON_GOLDEEN_2 24 +#define VERDANTURF_TENT_MON_ELECTRIKE 25 +#define VERDANTURF_TENT_MON_NUZLEAF 26 +#define VERDANTURF_TENT_MON_ARON_2 27 +#define VERDANTURF_TENT_MON_MIGHTYENA 28 +#define VERDANTURF_TENT_MON_SOLROCK 29 +#define VERDANTURF_TENT_MON_GRAVELER 30 +#define VERDANTURF_TENT_MON_KADABRA 31 +#define VERDANTURF_TENT_MON_VOLTORB 32 +#define VERDANTURF_TENT_MON_MAGNEMITE 33 +#define VERDANTURF_TENT_MON_PELIPPER 34 +#define VERDANTURF_TENT_MON_LOUDRED 35 +#define VERDANTURF_TENT_MON_MARILL 36 +#define VERDANTURF_TENT_MON_TRAPINCH 37 +#define VERDANTURF_TENT_MON_TENTACOOL 38 +#define VERDANTURF_TENT_MON_VIGOROTH 39 +#define VERDANTURF_TENT_MON_WAILMER 40 +#define VERDANTURF_TENT_MON_ILLUMISE 41 +#define VERDANTURF_TENT_MON_MACHOKE 42 +#define VERDANTURF_TENT_MON_WHISMUR 43 +#define VERDANTURF_TENT_MON_CACNEA 44 + +#define NUM_VERDANTURF_TENT_MONS 45 + +#define FALLARBOR_TENT_MON_NUMEL 0 +#define FALLARBOR_TENT_MON_LINOONE_1 1 +#define FALLARBOR_TENT_MON_PLUSLE 2 +#define FALLARBOR_TENT_MON_POOCHYENA 3 +#define FALLARBOR_TENT_MON_KECLEON 4 +#define FALLARBOR_TENT_MON_MAGIKARP 5 +#define FALLARBOR_TENT_MON_SOLROCK 6 +#define FALLARBOR_TENT_MON_MAKUHITA 7 +#define FALLARBOR_TENT_MON_MACHOKE 8 +#define FALLARBOR_TENT_MON_NINCADA 9 +#define FALLARBOR_TENT_MON_BEAUTIFLY 10 +#define FALLARBOR_TENT_MON_DUSTOX 11 +#define FALLARBOR_TENT_MON_ILLUMISE 12 +#define FALLARBOR_TENT_MON_VOLBEAT 13 +#define FALLARBOR_TENT_MON_NINJASK_1 14 +#define FALLARBOR_TENT_MON_NINJASK_2 15 +#define FALLARBOR_TENT_MON_ARON_1 16 +#define FALLARBOR_TENT_MON_ARON_2 17 +#define FALLARBOR_TENT_MON_ELECTRIKE 18 +#define FALLARBOR_TENT_MON_MAGNEMITE 19 +#define FALLARBOR_TENT_MON_VOLTORB 20 +#define FALLARBOR_TENT_MON_WHISMUR 21 +#define FALLARBOR_TENT_MON_LOUDRED 22 +#define FALLARBOR_TENT_MON_LINOONE_2 23 +#define FALLARBOR_TENT_MON_MIGHTYENA 24 +#define FALLARBOR_TENT_MON_SWABLU 25 +#define FALLARBOR_TENT_MON_SKARMORY 26 +#define FALLARBOR_TENT_MON_GOLBAT 27 +#define FALLARBOR_TENT_MON_WINGULL 28 +#define FALLARBOR_TENT_MON_PELIPPER 29 +#define FALLARBOR_TENT_MON_BARBOACH 30 +#define FALLARBOR_TENT_MON_WAILMER 31 +#define FALLARBOR_TENT_MON_MARILL 32 +#define FALLARBOR_TENT_MON_GOLDEEN_1 33 +#define FALLARBOR_TENT_MON_GOLDEEN_2 34 +#define FALLARBOR_TENT_MON_TRAPINCH 35 +#define FALLARBOR_TENT_MON_BALTOY 36 +#define FALLARBOR_TENT_MON_GRAVELER 37 +#define FALLARBOR_TENT_MON_SANDSHREW 38 +#define FALLARBOR_TENT_MON_SWALOT 39 +#define FALLARBOR_TENT_MON_SHROOMISH 40 +#define FALLARBOR_TENT_MON_KIRLIA 41 +#define FALLARBOR_TENT_MON_LOMBRE 42 +#define FALLARBOR_TENT_MON_NUZLEAF 43 +#define FALLARBOR_TENT_MON_CACNEA 44 + +#define NUM_FALLARBOR_TENT_MONS 45 + +#endif // GUARD_CONSTANTS_BATTLE_TENT_MONS_H diff --git a/include/constants/battle_tent_trainers.h b/include/constants/battle_tent_trainers.h new file mode 100644 index 0000000000..3629da0ca9 --- /dev/null +++ b/include/constants/battle_tent_trainers.h @@ -0,0 +1,99 @@ +#ifndef GUARD_CONSTANTS_BATTLE_TENT_TRAINERS_H +#define GUARD_CONSTANTS_BATTLE_TENT_TRAINERS_H + +#define SLATEPORT_TENT_TRAINER_JOLIE 0 +#define SLATEPORT_TENT_TRAINER_MALACHI 1 +#define SLATEPORT_TENT_TRAINER_KELSIE 2 +#define SLATEPORT_TENT_TRAINER_DAVON 3 +#define SLATEPORT_TENT_TRAINER_GLENDA 4 +#define SLATEPORT_TENT_TRAINER_HELENA 5 +#define SLATEPORT_TENT_TRAINER_RODOLFO 6 +#define SLATEPORT_TENT_TRAINER_DAVION 7 +#define SLATEPORT_TENT_TRAINER_KENDALL 8 +#define SLATEPORT_TENT_TRAINER_COLTEN 9 +#define SLATEPORT_TENT_TRAINER_IRVIN 10 +#define SLATEPORT_TENT_TRAINER_SHAUN 11 +#define SLATEPORT_TENT_TRAINER_KYLER 12 +#define SLATEPORT_TENT_TRAINER_MAGGIE 13 +#define SLATEPORT_TENT_TRAINER_STEPHON 14 +#define SLATEPORT_TENT_TRAINER_REBECCA 15 +#define SLATEPORT_TENT_TRAINER_REGGIE 16 +#define SLATEPORT_TENT_TRAINER_JANAE 17 +#define SLATEPORT_TENT_TRAINER_CAIDEN 18 +#define SLATEPORT_TENT_TRAINER_KIRSTEN 19 +#define SLATEPORT_TENT_TRAINER_KURTIS 20 +#define SLATEPORT_TENT_TRAINER_STEFAN 21 +#define SLATEPORT_TENT_TRAINER_AVERY 22 +#define SLATEPORT_TENT_TRAINER_DWANE 23 +#define SLATEPORT_TENT_TRAINER_MCKENNA 24 +#define SLATEPORT_TENT_TRAINER_CAMRYN 25 +#define SLATEPORT_TENT_TRAINER_NATASHA 26 +#define SLATEPORT_TENT_TRAINER_AUSTYN 27 +#define SLATEPORT_TENT_TRAINER_DONOVAN 28 +#define SLATEPORT_TENT_TRAINER_TAMIA 29 + +#define VERDANTURF_TENT_TRAINER_BRENNA 0 +#define VERDANTURF_TENT_TRAINER_DILAN 1 +#define VERDANTURF_TENT_TRAINER_ELIANA 2 +#define VERDANTURF_TENT_TRAINER_MARKUS 3 +#define VERDANTURF_TENT_TRAINER_CAITLYN 4 +#define VERDANTURF_TENT_TRAINER_DESIREE 5 +#define VERDANTURF_TENT_TRAINER_RONALD 6 +#define VERDANTURF_TENT_TRAINER_ASHTEN 7 +#define VERDANTURF_TENT_TRAINER_GERARD 8 +#define VERDANTURF_TENT_TRAINER_BRADLY 9 +#define VERDANTURF_TENT_TRAINER_DENNIS 10 +#define VERDANTURF_TENT_TRAINER_PRESTIN 11 +#define VERDANTURF_TENT_TRAINER_ERNESTO 12 +#define VERDANTURF_TENT_TRAINER_NALA 13 +#define VERDANTURF_TENT_TRAINER_DARNELL 14 +#define VERDANTURF_TENT_TRAINER_ASHLYN 15 +#define VERDANTURF_TENT_TRAINER_ADDISON 16 +#define VERDANTURF_TENT_TRAINER_JUSTINE 17 +#define VERDANTURF_TENT_TRAINER_TYSON 18 +#define VERDANTURF_TENT_TRAINER_LAILA 19 +#define VERDANTURF_TENT_TRAINER_WAREN 20 +#define VERDANTURF_TENT_TRAINER_TOBIAS 21 +#define VERDANTURF_TENT_TRAINER_JOSIAH 22 +#define VERDANTURF_TENT_TRAINER_DION 23 +#define VERDANTURF_TENT_TRAINER_KENZIE 24 +#define VERDANTURF_TENT_TRAINER_LILLIAN 25 +#define VERDANTURF_TENT_TRAINER_LESLEY 26 +#define VERDANTURF_TENT_TRAINER_MARQUIS 27 +#define VERDANTURF_TENT_TRAINER_FREDDY 28 +#define VERDANTURF_TENT_TRAINER_CECILIA 29 + +#define FALLARBOR_TENT_TRAINER_AMBER 0 +#define FALLARBOR_TENT_TRAINER_JAVIER 1 +#define FALLARBOR_TENT_TRAINER_NATALIA 2 +#define FALLARBOR_TENT_TRAINER_TREVE 3 +#define FALLARBOR_TENT_TRAINER_ARIANNA 4 +#define FALLARBOR_TENT_TRAINER_JADYN 5 +#define FALLARBOR_TENT_TRAINER_GERARDO 6 +#define FALLARBOR_TENT_TRAINER_JONN 7 +#define FALLARBOR_TENT_TRAINER_ESTEBAN 8 +#define FALLARBOR_TENT_TRAINER_JAMESON 9 +#define FALLARBOR_TENT_TRAINER_ALANZO 10 +#define FALLARBOR_TENT_TRAINER_HOWARD 11 +#define FALLARBOR_TENT_TRAINER_CONRAD 12 +#define FALLARBOR_TENT_TRAINER_MAKENNA 13 +#define FALLARBOR_TENT_TRAINER_BRAYAN 14 +#define FALLARBOR_TENT_TRAINER_MARIANA 15 +#define FALLARBOR_TENT_TRAINER_SHELDON 16 +#define FALLARBOR_TENT_TRAINER_GIANNA 17 +#define FALLARBOR_TENT_TRAINER_YAHIR 18 +#define FALLARBOR_TENT_TRAINER_BRITNEY 19 +#define FALLARBOR_TENT_TRAINER_HECTER 20 +#define FALLARBOR_TENT_TRAINER_TANNOR 21 +#define FALLARBOR_TENT_TRAINER_BENJI 22 +#define FALLARBOR_TENT_TRAINER_RORY 23 +#define FALLARBOR_TENT_TRAINER_ELEANOR 24 +#define FALLARBOR_TENT_TRAINER_EVELYN 25 +#define FALLARBOR_TENT_TRAINER_ARIELLE 26 +#define FALLARBOR_TENT_TRAINER_CONNAR 27 +#define FALLARBOR_TENT_TRAINER_MAURICE 28 +#define FALLARBOR_TENT_TRAINER_KIANNA 29 + +#define NUM_BATTLE_TENT_TRAINERS 30 + +#endif // GUARD_CONSTANTS_BATTLE_TENT_TRAINERS_H diff --git a/include/constants/battle_tower.h b/include/constants/battle_tower.h new file mode 100644 index 0000000000..b372c3ad5c --- /dev/null +++ b/include/constants/battle_tower.h @@ -0,0 +1,41 @@ +#ifndef GUARD_CONSTANTS_BATTLE_TOWER_H +#define GUARD_CONSTANTS_BATTLE_TOWER_H + +#define BATTLE_TOWER_FUNC_INIT 0 +#define BATTLE_TOWER_FUNC_GET_DATA 1 +#define BATTLE_TOWER_FUNC_SET_DATA 2 +#define BATTLE_TOWER_FUNC_SET_OPPONENT 3 +#define BATTLE_TOWER_FUNC_SET_BATTLE_WON 4 +#define BATTLE_TOWER_FUNC_GIVE_RIBBONS 5 +#define BATTLE_TOWER_FUNC_SAVE 6 +#define BATTLE_TOWER_FUNC_GET_OPPONENT_INTRO 7 +#define BATTLE_TOWER_FUNC_NOP 8 +#define BATTLE_TOWER_FUNC_NOP2 9 +#define BATTLE_TOWER_FUNC_LOAD_PARTNERS 10 +#define BATTLE_TOWER_FUNC_PARTNER_MSG 11 +#define BATTLE_TOWER_FUNC_LOAD_LINK_OPPONENTS 12 +#define BATTLE_TOWER_FUNC_13 13 +#define BATTLE_TOWER_FUNC_SET_PARTNER_GFX 14 +#define BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA 15 + +#define TOWER_DATA_WIN_STREAK 1 +#define TOWER_DATA_WIN_STREAK_ACTIVE 2 +#define TOWER_DATA_LVL_MODE 3 + +// IDs for the messages printed by potential partners in the Battle Tower Multi Partner Room +#define PARTNER_MSGID_INTRO 0 +#define PARTNER_MSGID_MON1 1 +#define PARTNER_MSGID_MON2_ASK 2 +#define PARTNER_MSGID_ACCEPT 3 +#define PARTNER_MSGID_REJECT 4 + +// IDs for communicating with the Link Multi partner +#define BATTLE_TOWER_LINK_CONTINUE 0 +#define BATTLE_TOWER_LINK_RETIRE 1 + +#define BATTLE_TOWER_LINKSTAT_CONTINUE 0 +#define BATTLE_TOWER_LINKSTAT_BOTH_RETIRE 1 +#define BATTLE_TOWER_LINKSTAT_PARTNER_RETIRE 2 +#define BATTLE_TOWER_LINKSTAT_PLAYER_RETIRE 3 + +#endif //GUARD_CONSTANTS_BATTLE_TOWER_H diff --git a/include/constants/berry.h b/include/constants/berry.h new file mode 100644 index 0000000000..d413b99474 --- /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/cable_club.h b/include/constants/cable_club.h new file mode 100644 index 0000000000..f2aa4120cf --- /dev/null +++ b/include/constants/cable_club.h @@ -0,0 +1,15 @@ +#ifndef GUARD_CONSTANTS_CABLE_CLUB_H +#define GUARD_CONSTANTS_CABLE_CLUB_H + +// States for VAR_CABLE_CLUB_STATE +#define USING_SINGLE_BATTLE 1 +#define USING_DOUBLE_BATTLE 2 +#define USING_TRADE_CENTER 3 +#define USING_RECORD_CORNER 4 +#define USING_MULTI_BATTLE 5 +#define USING_UNION_ROOM 6 +#define USING_BERRY_CRUSH 7 +#define USING_MINIGAME 8 +#define USING_BATTLE_TOWER 9 + +#endif //GUARD_CONSTANTS_CABLE_CLUB_H diff --git a/include/constants/coins.h b/include/constants/coins.h new file mode 100644 index 0000000000..fd68f3f9ec --- /dev/null +++ b/include/constants/coins.h @@ -0,0 +1,6 @@ +#ifndef GUARD_CONSTANTS_COINS_H +#define GUARD_CONSTANTS_COINS_H + +#define MAX_COINS 9999 + +#endif // GUARD_CONSTANTS_COINS_H \ No newline at end of file diff --git a/include/constants/contest.h b/include/constants/contest.h index d3296222b1..186c56e2bd 100644 --- a/include/constants/contest.h +++ b/include/constants/contest.h @@ -9,6 +9,19 @@ #define LINK_CONTEST_FLAG_IS_WIRELESS (1 << 1) #define LINK_CONTEST_FLAG_HAS_RS_PLAYER (1 << 2) +#define CONTEST_RANK_NORMAL 0 +#define CONTEST_RANK_SUPER 1 +#define CONTEST_RANK_HYPER 2 +#define CONTEST_RANK_MASTER 3 +#define CONTEST_RANK_LINK 4 + +// States for VAR_CONTEST_TYPE +#define CONTEST_TYPE_NPC_NORMAL (CONTEST_RANK_NORMAL + 1) +#define CONTEST_TYPE_NPC_SUPER (CONTEST_RANK_SUPER + 1) +#define CONTEST_TYPE_NPC_HYPER (CONTEST_RANK_HYPER + 1) +#define CONTEST_TYPE_NPC_MASTER (CONTEST_RANK_MASTER + 1) +#define CONTEST_TYPE_LINK (CONTEST_RANK_LINK + 1) + #define CONTEST_CATEGORY_COOL 0 #define CONTEST_CATEGORY_BEAUTY 1 #define CONTEST_CATEGORY_CUTE 2 @@ -16,4 +29,10 @@ #define CONTEST_CATEGORY_TOUGH 4 #define CONTEST_CATEGORIES_COUNT 5 +#define CANT_ENTER_CONTEST 0 +#define CAN_ENTER_CONTEST_EQUAL_RANK 1 +#define CAN_ENTER_CONTEST_HIGH_RANK 2 +#define CANT_ENTER_CONTEST_EGG 3 +#define CANT_ENTER_CONTEST_FAINTED 4 + #endif // GUARD_CONSTANTS_CONTEST_H diff --git a/include/constants/daycare.h b/include/constants/daycare.h new file mode 100644 index 0000000000..103f920f29 --- /dev/null +++ b/include/constants/daycare.h @@ -0,0 +1,27 @@ +#ifndef GUARD_DAYCARE_CONSTANTS_H +#define GUARD_DAYCARE_CONSTANTS_H + +// Parent compatability scores +#define PARENTS_INCOMPATIBLE 0 +#define PARENTS_LOW_COMPATIBILITY 20 +#define PARENTS_MED_COMPATABILITY 50 +#define PARENTS_MAX_COMPATABILITY 70 + +// Daycare state +#define DAYCARE_NO_MONS 0 +#define DAYCARE_EGG_WAITING 1 +#define DAYCARE_ONE_MON 2 +#define DAYCARE_TWO_MONS 3 + +#define INHERITED_IV_COUNT 3 +#define EGG_HATCH_LEVEL 5 +#define EGG_GENDER_MALE 0x8000 // used to create a male egg from a female-only parent species (e.g. Nidoran) + +#define DAYCARE_LEVEL_MENU_EXIT 5 +#define DAYCARE_EXITED_LEVEL_MENU 2 // would be redundant with above if GF had used the same value + +// Array buffers +#define EGG_MOVES_ARRAY_COUNT 10 +#define EGG_LVL_UP_MOVES_ARRAY_COUNT 50 + +#endif //GUARD_DAYCARE_CONSTANTS_H diff --git a/include/constants/easy_chat.h b/include/constants/easy_chat.h index 50f5994f4e..8e82cfef02 100644 --- a/include/constants/easy_chat.h +++ b/include/constants/easy_chat.h @@ -1095,6 +1095,15 @@ #define EC_WORD_OLD (EC_GROUP_TRENDY_SAYING << 9) | 0x1e #define EC_WORD_YOUNG (EC_GROUP_TRENDY_SAYING << 9) | 0x1f #define EC_WORD_UGLY (EC_GROUP_TRENDY_SAYING << 9) | 0x20 +#define NUM_ADDITIONAL_PHRASES 33 + +// Special Berry Masters Wife phrases +#define NOT_SPECIAL_PHRASE 0 +#define PHRASE_GREAT_BATTLE 1 +#define PHRASE_CHALLENGE_CONTEST 2 +#define PHRASE_OVERWHELMING_LATIAS 3 +#define PHRASE_COOL_LATIOS 4 +#define PHRASE_SUPER_HUSTLE 5 #define EC_POKEMON(mon) ((EC_GROUP_POKEMON << 9) | SPECIES_##mon) #define EC_POKEMON2(mon) ((EC_GROUP_POKEMON_2 << 9) | SPECIES_##mon) diff --git a/include/constants/event_object_movement_constants.h b/include/constants/event_object_movement_constants.h index b1f9b4cb53..ed6f6c7fb0 100755 --- a/include/constants/event_object_movement_constants.h +++ b/include/constants/event_object_movement_constants.h @@ -179,8 +179,8 @@ #define MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY 0x5D #define MOVEMENT_ACTION_INIT_AFFINE_ANIM 0x5E #define MOVEMENT_ACTION_CLEAR_AFFINE_ANIM 0x5F -#define MOVEMENT_ACTION_UNKNOWN1 0x60 -#define MOVEMENT_ACTION_UNKNOWN2 0x61 +#define MOVEMENT_ACTION_HIDE_REFLECTION 0x60 +#define MOVEMENT_ACTION_SHOW_REFLECTION 0x61 #define MOVEMENT_ACTION_WALK_DOWN_START_AFFINE 0x62 #define MOVEMENT_ACTION_WALK_DOWN_AFFINE 0x63 #define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN 0x64 diff --git a/include/constants/field_poison.h b/include/constants/field_poison.h new file mode 100644 index 0000000000..19b91e7c2c --- /dev/null +++ b/include/constants/field_poison.h @@ -0,0 +1,12 @@ +#ifndef GUARD_CONSTANTS_FIELD_POISON_H +#define GUARD_CONSTANTS_FIELD_POISON_H + +#define FLDPSN_NONE 0 +#define FLDPSN_PSN 1 +#define FLDPSN_FNT 2 + +#define FLDPSN_NO_WHITEOUT 0 +#define FLDPSN_WHITEOUT 1 +#define FLDPSN_FRONTIER_WHITEOUT 2 + +#endif //GUARD_CONSTANTS_FIELD_POISON_H diff --git a/include/constants/field_specials.h b/include/constants/field_specials.h new file mode 100644 index 0000000000..a2dc117e42 --- /dev/null +++ b/include/constants/field_specials.h @@ -0,0 +1,78 @@ +#ifndef GUARD_CONSTANTS_FIELD_SPECIALS_H +#define GUARD_CONSTANTS_FIELD_SPECIALS_H + +// PC Locations +#define PC_LOCATION_OTHER 0 +#define PC_LOCATION_BRENDANS_HOUSE 1 +#define PC_LOCATION_MAYS_HOUSE 2 + +// SS Tidal Locations +#define SS_TIDAL_LOCATION_CURRENTS 0 +#define SS_TIDAL_LOCATION_SLATEPORT 1 +#define SS_TIDAL_LOCATION_LILYCOVE 2 +#define SS_TIDAL_LOCATION_ROUTE124 3 +#define SS_TIDAL_LOCATION_ROUTE131 4 + +#define SS_TIDAL_BOARD_SLATEPORT 1 +#define SS_TIDAL_DEPART_SLATEPORT 2 +#define SS_TIDAL_HALFWAY_LILYCOVE 3 +#define SS_TIDAL_LAND_LILYCOVE 4 +#define SS_TIDAL_BOARD_LILYCOVE 5 +#define SS_TIDAL_DEPART_LILYCOVE 6 +#define SS_TIDAL_HALFWAY_SLATEPORT 7 +#define SS_TIDAL_LAND_SLATEPORT 8 +#define SS_TIDAL_EXIT_CURRENTS_RIGHT 9 +#define SS_TIDAL_EXIT_CURRENTS_LEFT 10 + +#define SS_TIDAL_MAX_STEPS 205 + +// Scrollable Multichoice Menus +#define SCROLL_MULTI_NONE 0 +#define SCROLL_MULTI_GLASS_WORKSHOP_VENDOR 1 +#define SCROLL_MULTI_POKEMON_FAN_CLUB_RATER 2 +#define SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1 3 +#define SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2 4 +#define SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR 5 +#define SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR 6 +#define SCROLL_MULTI_BERRY_POWDER_VENDOR 7 +#define SCROLL_MULTI_BF_RECEPTIONIST 8 +#define SCROLL_MULTI_BF_MOVE_TUTOR_1 9 +#define SCROLL_MULTI_BF_MOVE_TUTOR_2 10 +#define SCROLL_MULTI_SS_TIDAL_DESTINATION 11 +#define SCROLL_MULTI_BATTLE_TENT_RULES 12 + +#define MAX_SCROLL_MULTI_ON_SCREEN 6 +#define MAX_SCROLL_MULTI_LENGTH 16 + +// Dept Store Floor Numbers +#define DEPT_STORE_FLOORNUM_B4F 0 +#define DEPT_STORE_FLOORNUM_B3F 1 +#define DEPT_STORE_FLOORNUM_B2F 2 +#define DEPT_STORE_FLOORNUM_B1F 3 +#define DEPT_STORE_FLOORNUM_1F 4 +#define DEPT_STORE_FLOORNUM_2F 5 +#define DEPT_STORE_FLOORNUM_3F 6 +#define DEPT_STORE_FLOORNUM_4F 7 +#define DEPT_STORE_FLOORNUM_5F 8 +#define DEPT_STORE_FLOORNUM_6F 9 +#define DEPT_STORE_FLOORNUM_7F 10 +#define DEPT_STORE_FLOORNUM_8F 11 +#define DEPT_STORE_FLOORNUM_9F 12 +#define DEPT_STORE_FLOORNUM_10F 13 +#define DEPT_STORE_FLOORNUM_11F 14 +#define DEPT_STORE_FLOORNUM_ROOFTOP 15 + +// Lilycove Pokemon Trainer Fan Club +#define NUM_TRAINER_FAN_CLUB_MEMBERS 8 + +#define FANCLUB_GOT_FIRST_FANS 7 +#define FANCLUB_MEMBER1 8 +#define FANCLUB_MEMBER2 9 +#define FANCLUB_MEMBER3 10 +#define FANCLUB_MEMBER4 11 +#define FANCLUB_MEMBER5 12 +#define FANCLUB_MEMBER6 13 +#define FANCLUB_MEMBER7 14 +#define FANCLUB_MEMBER8 15 + +#endif // GUARD_CONSTANTS_FIELD_SPECIALS_H diff --git a/include/constants/field_tasks.h b/include/constants/field_tasks.h new file mode 100644 index 0000000000..7f773855d9 --- /dev/null +++ b/include/constants/field_tasks.h @@ -0,0 +1,13 @@ +#ifndef GUARD_CONSTANTS_FIELD_TASKS_H +#define GUARD_CONSTANTS_FIELD_TASKS_H + +#define STEP_CB_DUMMY 0 +#define STEP_CB_ASH 1 +#define STEP_CB_FORTREE_BRIDGE 2 +#define STEP_CB_PACIFIDLOG_BRIDGE 3 +#define STEP_CB_SOOTOPOLIS_ICE 4 +#define STEP_CB_TRUCK 5 +#define STEP_CB_SECRET_BASE 6 +#define STEP_CB_CRACKED_FLOOR 7 + +#endif // GUARD_CONSTANTS_FIELD_TASKS_H diff --git a/include/constants/field_weather.h b/include/constants/field_weather.h new file mode 100644 index 0000000000..e84dbc48c4 --- /dev/null +++ b/include/constants/field_weather.h @@ -0,0 +1,24 @@ +#ifndef GUARD_CONSTANTS_FIELD_WEATHER_H +#define GUARD_CONSTANTS_FIELD_WEATHER_H + +#define MAX_RAIN_SPRITES 24 +#define NUM_CLOUD_SPRITES 3 +#define NUM_FOG_HORIZONTAL_SPRITES 20 +#define NUM_ASH_SPRITES 20 +#define NUM_FOG_DIAGONAL_SPRITES 20 +#define NUM_SANDSTORM_SPRITES 20 +#define NUM_SWIRL_SANDSTORM_SPRITES 5 + +// Controls how the weather should be changing the screen palettes. +#define WEATHER_PAL_STATE_CHANGING_WEATHER 0 +#define WEATHER_PAL_STATE_SCREEN_FADING_IN 1 +#define WEATHER_PAL_STATE_SCREEN_FADING_OUT 2 +#define WEATHER_PAL_STATE_IDLE 3 + +// Modes for FadeScreen +#define FADE_FROM_BLACK 0 +#define FADE_TO_BLACK 1 +#define FADE_FROM_WHITE 2 +#define FADE_TO_WHITE 3 + +#endif // GUARD_CONSTANTS_FIELD_WEATHER_H diff --git a/include/constants/flags.h b/include/constants/flags.h index 7aa5c3ed39..1163e394f2 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -1,41 +1,45 @@ #ifndef GUARD_CONSTANTS_FLAGS_H #define GUARD_CONSTANTS_FLAGS_H +#include "constants/opponents.h" + // Temporary Flags // These temporary flags are are cleared every time a map is loaded. They are used // for things like shortening an NPCs introduction text if the player already spoke // to them once. -#define FLAG_TEMP_1 0x1 -#define FLAG_TEMP_2 0x2 -#define FLAG_TEMP_3 0x3 -#define FLAG_TEMP_4 0x4 -#define FLAG_TEMP_5 0x5 // Unused Flag -#define FLAG_TEMP_6 0x6 // Unused Flag -#define FLAG_TEMP_7 0x7 // Unused Flag -#define FLAG_TEMP_8 0x8 // Unused Flag -#define FLAG_TEMP_9 0x9 // Unused Flag -#define FLAG_TEMP_A 0xA // Unused Flag -#define FLAG_TEMP_B 0xB // Unused Flag -#define FLAG_TEMP_C 0xC // Unused Flag -#define FLAG_TEMP_D 0xD // Unused Flag -#define FLAG_TEMP_E 0xE // Unused Flag -#define FLAG_TEMP_F 0xF // Unused Flag -#define FLAG_TEMP_10 0x10 // Unused Flag -#define FLAG_TEMP_11 0x11 -#define FLAG_TEMP_12 0x12 -#define FLAG_TEMP_13 0x13 -#define FLAG_TEMP_14 0x14 -#define FLAG_TEMP_15 0x15 -#define FLAG_TEMP_16 0x16 -#define FLAG_TEMP_17 0x17 -#define FLAG_TEMP_18 0x18 -#define FLAG_TEMP_19 0x19 -#define FLAG_TEMP_1A 0x1A -#define FLAG_TEMP_1B 0x1B -#define FLAG_TEMP_1C 0x1C -#define FLAG_TEMP_1D 0x1D -#define FLAG_TEMP_1E 0x1E -#define FLAG_TEMP_1F 0x1F +#define TEMP_FLAGS_START 0x0 +#define FLAG_TEMP_1 (TEMP_FLAGS_START + 0x1) +#define FLAG_TEMP_2 (TEMP_FLAGS_START + 0x2) +#define FLAG_TEMP_3 (TEMP_FLAGS_START + 0x3) +#define FLAG_TEMP_4 (TEMP_FLAGS_START + 0x4) +#define FLAG_TEMP_5 (TEMP_FLAGS_START + 0x5) // Unused Flag +#define FLAG_TEMP_6 (TEMP_FLAGS_START + 0x6) // Unused Flag +#define FLAG_TEMP_7 (TEMP_FLAGS_START + 0x7) // Unused Flag +#define FLAG_TEMP_8 (TEMP_FLAGS_START + 0x8) // Unused Flag +#define FLAG_TEMP_9 (TEMP_FLAGS_START + 0x9) // Unused Flag +#define FLAG_TEMP_A (TEMP_FLAGS_START + 0xA) // Unused Flag +#define FLAG_TEMP_B (TEMP_FLAGS_START + 0xB) // Unused Flag +#define FLAG_TEMP_C (TEMP_FLAGS_START + 0xC) // Unused Flag +#define FLAG_TEMP_D (TEMP_FLAGS_START + 0xD) // Unused Flag +#define FLAG_TEMP_E (TEMP_FLAGS_START + 0xE) // Unused Flag +#define FLAG_TEMP_F (TEMP_FLAGS_START + 0xF) // Unused Flag +#define FLAG_TEMP_10 (TEMP_FLAGS_START + 0x10) // Unused Flag +#define FLAG_TEMP_11 (TEMP_FLAGS_START + 0x11) +#define FLAG_TEMP_12 (TEMP_FLAGS_START + 0x12) +#define FLAG_TEMP_13 (TEMP_FLAGS_START + 0x13) +#define FLAG_TEMP_14 (TEMP_FLAGS_START + 0x14) +#define FLAG_TEMP_15 (TEMP_FLAGS_START + 0x15) +#define FLAG_TEMP_16 (TEMP_FLAGS_START + 0x16) +#define FLAG_TEMP_17 (TEMP_FLAGS_START + 0x17) +#define FLAG_TEMP_18 (TEMP_FLAGS_START + 0x18) +#define FLAG_TEMP_19 (TEMP_FLAGS_START + 0x19) +#define FLAG_TEMP_1A (TEMP_FLAGS_START + 0x1A) +#define FLAG_TEMP_1B (TEMP_FLAGS_START + 0x1B) +#define FLAG_TEMP_1C (TEMP_FLAGS_START + 0x1C) +#define FLAG_TEMP_1D (TEMP_FLAGS_START + 0x1D) +#define FLAG_TEMP_1E (TEMP_FLAGS_START + 0x1E) +#define FLAG_TEMP_1F (TEMP_FLAGS_START + 0x1F) +#define TEMP_FLAGS_END FLAG_TEMP_1F #define FLAG_UNUSED_0x020 0x20 // Unused Flag #define FLAG_UNUSED_0x021 0x21 // Unused Flag @@ -87,7 +91,7 @@ #define FLAG_UNUSED_0x04F 0x4F // Unused Flag // Scripts -#define FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT 0x50 +#define FLAG_HIDE_RAYQUAZA_SKY_TOWER_SUMMIT 0x50 #define FLAG_SET_WALL_CLOCK 0x51 #define FLAG_RESCUED_BIRCH 0x52 #define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53 @@ -95,7 +99,7 @@ #define FLAG_UNUSED_0x054 0x54 // Unused Flag #define FLAG_UNUSED_0x055 0x55 // Unused Flag -#define FLAG_LINK_CONTEST_POKE_BALL 0x56 +#define FLAG_HIDE_CONTEST_POKE_BALL 0x56 // Always set after new game, object it hides is added directly #define FLAG_MET_RIVAL_MOM 0x57 #define FLAG_BIRCH_AIDE_MET 0x58 #define FLAG_DECLINED_BIKE 0x59 @@ -109,23 +113,23 @@ #define FLAG_MET_TEAM_AQUA_HARBOR 0x61 #define FLAG_TV_EXPLAINED 0x62 #define FLAG_MAUVILLE_GYM_BARRIERS_STATE 0x63 -#define FLAG_MOSSDEEP_GYM_SWITCH_1 0x64 -#define FLAG_MOSSDEEP_GYM_SWITCH_2 0x65 -#define FLAG_MOSSDEEP_GYM_SWITCH_3 0x66 -#define FLAG_MOSSDEEP_GYM_SWITCH_4 0x67 +#define FLAG_MOSSDEEP_GYM_SWITCH_1 0x64 // Leftover from the RS version of Mossdeep Gym, functionally unused +#define FLAG_MOSSDEEP_GYM_SWITCH_2 0x65 // +#define FLAG_MOSSDEEP_GYM_SWITCH_3 0x66 // +#define FLAG_MOSSDEEP_GYM_SWITCH_4 0x67 // #define FLAG_UNUSED_0x068 0x68 // Unused Flag #define FLAG_OCEANIC_MUSEUM_MET_REPORTER 0x69 #define FLAG_RECEIVED_HM04 0x6A #define FLAG_RECEIVED_HM06 0x6B -#define FLAG_FLANNERY_GIVES_BADGE_INFO 0x6C +#define FLAG_WHITEOUT_TO_LAVARIDGE 0x6C // Set after defeating Flannery, so the player cant white out from poison before receiving Go Goggles #define FLAG_RECEIVED_HM05 0x6D #define FLAG_RECEIVED_HM02 0x6E #define FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT 0x6F #define FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE 0x70 #define FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE 0x71 // Unused Flag. Used in R/S to indicate whether player defeated or caught Groudon/Kyogre in Cave of Origin. -#define FLAG_SCOTT_CALL_NATIONAL_DEX 0x72 // Used in order to activate a phone call from Scott, inviting the player to the SS Tidal. +#define FLAG_SCOTT_CALL_BATTLE_FRONTIER 0x72 // Used in order to activate a phone call from Scott, inviting the player to the SS Tidal. #define FLAG_RECEIVED_METEORITE 0x73 #define FLAG_ADVENTURE_STARTED 0x74 // RECEIVED Pokédex. #define FLAG_DEFEATED_MAGMA_SPACE_CENTER 0x75 // Set when Team Magma is defeated at Mossdeep's Space Center. @@ -146,12 +150,12 @@ #define FLAG_DEFEATED_RIVAL_ROUTE103 0x82 #define FLAG_RECEIVED_DOLL_LANETTE 0x83 #define FLAG_RECEIVED_POTION_OLDALE 0x84 -#define FLAG_MOM_SAYS_GOODBYE 0x85 +#define FLAG_RECEIVED_AMULET_COIN 0x85 #define FLAG_PENDING_DAYCARE_EGG 0x86 #define FLAG_THANKED_FOR_PLAYING_WITH_WALLY 0x87 #define FLAG_ENABLE_FIRST_WALLY_POKENAV_CALL 0x88 // Set after defeating Wally outside Mauville Gym. Will activate a call later to register Wally. #define FLAG_RECEIVED_HM01 0x89 -#define FLAG_REGISTER_WINONA_POKENAV 0x8A // Set after obtaining registering Winona, and cleared after Scott's call. +#define FLAG_SCOTT_CALL_FORTREE_GYM 0x8A // Triggers call from Scott after defeating Winona #define FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY 0x8B #define FLAG_RECEIVED_6_SODA_POP 0x8C #define FLAG_DEFEATED_SEASHORE_HOUSE 0x8D @@ -163,9 +167,7 @@ #define FLAG_MR_BRINEY_SAILING_INTRO 0x93 #define FLAG_DOCK_REJECTED_DEVON_GOODS 0x94 #define FLAG_DELIVERED_DEVON_GOODS 0x95 - -#define FLAG_UNUSED_0x096 0x96 // Unused Flag - +#define FLAG_RECEIVED_CONTEST_PASS 0x96 // Unused, leftover from R/S #define FLAG_RECEIVED_CASTFORM 0x97 #define FLAG_RECEIVED_SUPER_ROD 0x98 #define FLAG_RUSTBORO_NPC_TRADE_COMPLETED 0x99 @@ -209,11 +211,11 @@ #define FLAG_DEFEATED_GRUNT_SPACE_CENTER_1F 0xBF #define FLAG_RECEIVED_SUN_STONE_MOSSDEEP 0xC0 #define FLAG_WALLY_SPEECH 0xC1 -#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 0xC2 -#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 0xC3 -#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 0xC4 -#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 0xC5 -#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 0xC6 +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 0xC2 // Leftover from the RS version of Puzzle Room 7, functionally unused +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 0xC3 // +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 0xC4 // +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 0xC5 // +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 0xC6 // #define FLAG_RUSTURF_TUNNEL_OPENED 0xC7 #define FLAG_RECEIVED_RED_SCARF 0xC8 #define FLAG_RECEIVED_BLUE_SCARF 0xC9 @@ -263,7 +265,7 @@ #define FLAG_USED_ROOM_2_KEY 0xF1 #define FLAG_USED_ROOM_4_KEY 0xF2 #define FLAG_USED_ROOM_6_KEY 0xF3 -#define FLAG_MET_PROF_COSMO 0xF4 +#define FLAG_MET_PROF_COZMO 0xF4 #define FLAG_RECEIVED_WAILMER_DOLL 0xF5 #define FLAG_RECEIVED_CHESTO_BERRY_ROUTE_104 0xF6 #define FLAG_DEFEATED_SS_TIDAL_TRAINERS 0xF7 @@ -289,7 +291,7 @@ #define FLAG_RECEIVED_REVIVED_FOSSIL_MON 0x10B #define FLAG_SECRET_BASE_REGISTRY_ENABLED 0x10C #define FLAG_RECEIVED_TM46 0x10D -#define FLAG_CONTEST_SKETCH_CREATED 0x10E +#define FLAG_CONTEST_SKETCH_CREATED 0x10E // Set but never read #define FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE 0x10F #define FLAG_RECEIVED_EXP_SHARE 0x110 #define FLAG_POKERUS_EXPLAINED 0x111 @@ -332,10 +334,10 @@ #define FLAG_MET_SCOTT_RUSTBORO 0x136 #define FLAG_WALLACE_GOES_TO_SKY_PILLAR 0x137 // Set after speaking to Wallace within the Cave of Origin. #define FLAG_RECEIVED_HM07 0x138 -#define FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS 0x139 // Beat Magma Grunt blocking Magma Hideout entrance. -#define FLAG_RECEIVED_AURORA_TICKET 0x13A // RECEIVED Aurora Ticket in Mystery Gift -#define FLAG_RECEIVED_MYSTIC_TICKET 0x13B // RECEIVED Mystic Ticket in Mystery Gift -#define FLAG_RECEIVED_OLD_SEA_MAP 0x13C // RECEIVED Old Sea Map in Mystery Gift +#define FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS 0x139 +#define FLAG_RECEIVED_AURORA_TICKET 0x13A +#define FLAG_RECEIVED_MYSTIC_TICKET 0x13B +#define FLAG_RECEIVED_OLD_SEA_MAP 0x13C #define FLAG_UNUSED_MYSTERY_GIFT_0x13D 0x13D #define FLAG_UNUSED_MYSTERY_GIFT_0x13E 0x13E #define FLAG_UNUSED_MYSTERY_GIFT_0x13F 0x13F @@ -355,19 +357,19 @@ #define FLAG_UNUSED_MYSTERY_GIFT_0x14D 0x14D #define FLAG_MIRAGE_TOWER_VISIBLE 0x14E -#define FLAG_CHOSE_CLAW_FOSSIL 0x14F // Player chose Claw Fossil -#define FLAG_CHOSE_ROOT_FOSSIL 0x150 // Player chose Root Fossil +#define FLAG_CHOSE_ROOT_FOSSIL 0x14F +#define FLAG_CHOSE_CLAW_FOSSIL 0x150 #define FLAG_RECEIVED_POWDER_JAR 0x151 #define FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER 0x152 #define FLAG_MET_BATTLE_FRONTIER_BREEDER 0x153 #define FLAG_MET_BATTLE_FRONTIER_MANIAC 0x154 -#define FLAG_ENTERED_LINK_CONTEST 0x155 +#define FLAG_ENTERED_CONTEST 0x155 #define FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN 0x156 -#define FLAG_MET_BATTLE_FRONTIER_BETTOR 0x157 +#define FLAG_MET_BATTLE_FRONTIER_GAMBLER 0x157 #define FLAG_ENABLE_MR_STONE_POKENAV 0x158 -#define FLAG_OLDALE_NURSE_MENTIONS_GOLD_CARD 0x159 +#define FLAG_NURSE_MENTIONS_GOLD_CARD 0x159 #define FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR 0x15A #define FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR 0x15B @@ -493,7 +495,7 @@ #define FLAG_MET_SCOTT_IN_EVERGRANDE 0x1CF #define FLAG_MET_SCOTT_ON_SS_TIDAL 0x1D0 #define FLAG_SCOTT_GIVES_BATTLE_POINTS 0x1D1 -#define FLAG_RECEIVED_STARF_BERRY_FROM_SCOTT 0x1D2 +#define FLAG_COLLECTED_ALL_GOLD_SYMBOLS 0x1D2 #define FLAG_ENABLE_ROXANNE_MATCH_CALL 0x1D3 #define FLAG_ENABLE_BRAWLY_MATCH_CALL 0x1D4 #define FLAG_ENABLE_WATTSON_MATCH_CALL 0x1D5 @@ -533,8 +535,6 @@ #define FLAG_MYSTERY_EVENT_14 0x1F2 #define FLAG_MYSTERY_EVENT_15 0x1F3 -#define FLAG_TRICK_HOUSE_END_ROOM 0x1F5 // Trick House End Room Flag - // Hidden Items -- sorted by location #define FLAG_HIDDEN_ITEMS_START 0x1F4 #define FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x01) @@ -650,6 +650,95 @@ #define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x5D) #define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_3 (FLAG_HIDDEN_ITEMS_START + 0x5E) +#define FLAG_UNUSED_0x264 0x264 // Unused Flag +#define FLAG_UNUSED_0x265 0x265 // Unused Flag +#define FLAG_UNUSED_0x266 0x266 // Unused Flag +#define FLAG_UNUSED_0x267 0x267 // Unused Flag +#define FLAG_UNUSED_0x268 0x268 // Unused Flag +#define FLAG_UNUSED_0x269 0x269 // Unused Flag +#define FLAG_UNUSED_0x26A 0x26A // Unused Flag +#define FLAG_UNUSED_0x26B 0x26B // Unused Flag +#define FLAG_UNUSED_0x26C 0x26C // Unused Flag +#define FLAG_UNUSED_0x26D 0x26D // Unused Flag +#define FLAG_UNUSED_0x26E 0x26E // Unused Flag +#define FLAG_UNUSED_0x26F 0x26F // Unused Flag +#define FLAG_UNUSED_0x270 0x270 // Unused Flag +#define FLAG_UNUSED_0x271 0x271 // Unused Flag +#define FLAG_UNUSED_0x272 0x272 // Unused Flag +#define FLAG_UNUSED_0x273 0x273 // Unused Flag +#define FLAG_UNUSED_0x274 0x274 // Unused Flag +#define FLAG_UNUSED_0x275 0x275 // Unused Flag +#define FLAG_UNUSED_0x276 0x276 // Unused Flag +#define FLAG_UNUSED_0x277 0x277 // Unused Flag +#define FLAG_UNUSED_0x278 0x278 // Unused Flag +#define FLAG_UNUSED_0x279 0x279 // Unused Flag +#define FLAG_UNUSED_0x27A 0x27A // Unused Flag +#define FLAG_UNUSED_0x27B 0x27B // Unused Flag +#define FLAG_UNUSED_0x27C 0x27C // Unused Flag +#define FLAG_UNUSED_0x27D 0x27D // Unused Flag +#define FLAG_UNUSED_0x27E 0x27E // Unused Flag +#define FLAG_UNUSED_0x27F 0x27F // Unused Flag +#define FLAG_UNUSED_0x280 0x280 // Unused Flag +#define FLAG_UNUSED_0x281 0x281 // Unused Flag +#define FLAG_UNUSED_0x282 0x282 // Unused Flag +#define FLAG_UNUSED_0x283 0x283 // Unused Flag +#define FLAG_UNUSED_0x284 0x284 // Unused Flag +#define FLAG_UNUSED_0x285 0x285 // Unused Flag +#define FLAG_UNUSED_0x286 0x286 // Unused Flag +#define FLAG_UNUSED_0x287 0x287 // Unused Flag +#define FLAG_UNUSED_0x288 0x288 // Unused Flag +#define FLAG_UNUSED_0x289 0x289 // Unused Flag +#define FLAG_UNUSED_0x28A 0x28A // Unused Flag +#define FLAG_UNUSED_0x28B 0x28B // Unused Flag +#define FLAG_UNUSED_0x28C 0x28C // Unused Flag +#define FLAG_UNUSED_0x28D 0x28D // Unused Flag +#define FLAG_UNUSED_0x28E 0x28E // Unused Flag +#define FLAG_UNUSED_0x28F 0x28F // Unused Flag +#define FLAG_UNUSED_0x290 0x290 // Unused Flag +#define FLAG_UNUSED_0x291 0x291 // Unused Flag +#define FLAG_UNUSED_0x292 0x292 // Unused Flag +#define FLAG_UNUSED_0x293 0x293 // Unused Flag +#define FLAG_UNUSED_0x294 0x294 // Unused Flag +#define FLAG_UNUSED_0x295 0x295 // Unused Flag +#define FLAG_UNUSED_0x296 0x296 // Unused Flag +#define FLAG_UNUSED_0x297 0x297 // Unused Flag +#define FLAG_UNUSED_0x298 0x298 // Unused Flag +#define FLAG_UNUSED_0x299 0x299 // Unused Flag +#define FLAG_UNUSED_0x29A 0x29A // Unused Flag +#define FLAG_UNUSED_0x29B 0x29B // Unused Flag +#define FLAG_UNUSED_0x29C 0x29C // Unused Flag +#define FLAG_UNUSED_0x29D 0x29D // Unused Flag +#define FLAG_UNUSED_0x29E 0x29E // Unused Flag +#define FLAG_UNUSED_0x29F 0x29F // Unused Flag +#define FLAG_UNUSED_0x2A0 0x2A0 // Unused Flag +#define FLAG_UNUSED_0x2A1 0x2A1 // Unused Flag +#define FLAG_UNUSED_0x2A2 0x2A2 // Unused Flag +#define FLAG_UNUSED_0x2A3 0x2A3 // Unused Flag +#define FLAG_UNUSED_0x2A4 0x2A4 // Unused Flag +#define FLAG_UNUSED_0x2A5 0x2A5 // Unused Flag +#define FLAG_UNUSED_0x2A6 0x2A6 // Unused Flag +#define FLAG_UNUSED_0x2A7 0x2A7 // Unused Flag +#define FLAG_UNUSED_0x2A8 0x2A8 // Unused Flag +#define FLAG_UNUSED_0x2A9 0x2A9 // Unused Flag +#define FLAG_UNUSED_0x2AA 0x2AA // Unused Flag +#define FLAG_UNUSED_0x2AB 0x2AB // Unused Flag +#define FLAG_UNUSED_0x2AC 0x2AC // Unused Flag +#define FLAG_UNUSED_0x2AD 0x2AD // Unused Flag +#define FLAG_UNUSED_0x2AE 0x2AE // Unused Flag +#define FLAG_UNUSED_0x2AF 0x2AF // Unused Flag +#define FLAG_UNUSED_0x2B0 0x2B0 // Unused Flag +#define FLAG_UNUSED_0x2B1 0x2B1 // Unused Flag +#define FLAG_UNUSED_0x2B2 0x2B2 // Unused Flag +#define FLAG_UNUSED_0x2B3 0x2B3 // Unused Flag +#define FLAG_UNUSED_0x2B4 0x2B4 // Unused Flag +#define FLAG_UNUSED_0x2B5 0x2B5 // Unused Flag +#define FLAG_UNUSED_0x2B6 0x2B6 // Unused Flag +#define FLAG_UNUSED_0x2B7 0x2B7 // Unused Flag +#define FLAG_UNUSED_0x2B8 0x2B8 // Unused Flag +#define FLAG_UNUSED_0x2B9 0x2B9 // Unused Flag +#define FLAG_UNUSED_0x2BA 0x2BA // Unused Flag +#define FLAG_UNUSED_0x2BB 0x2BB // Unused Flag + // Event Flags #define FLAG_HIDE_ROUTE_101_BIRCH_STARTERS_BAG 0x2BC #define FLAG_HIDE_APPRENTICE 0x2BD @@ -690,18 +779,18 @@ #define FLAG_HIDE_PLAYERS_HOUSE_DAD 0x2DE #define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING 0x2DF #define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING 0x2E0 -#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_INVISIBLE_NINJA_BOY 0x2E1 +#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_MAGMA_NOTE 0x2E1 #define FLAG_HIDE_ROUTE_104_MR_BRINEY 0x2E2 #define FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY 0x2E3 #define FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN 0x2E4 -#define FLAG_HIDE_ROUTE_108_MR_BRINEY 0x2E5 +#define FLAG_HIDE_ROUTE_109_MR_BRINEY 0x2E5 #define FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT 0x2E6 #define FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN 0x2E7 #define FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT 0x2E8 #define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN 0x2E9 -#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN 0x2EA +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MAY 0x2EA #define FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION 0x2EB -#define FLAG_HIDE_LILYCOVE_HARBOR_EON_TICKET_TAKER 0x2EC +#define FLAG_HIDE_LILYCOVE_HARBOR_EVENT_TICKET_TAKER 0x2EC #define FLAG_HIDE_SLATEPORT_CITY_SCOTT 0x2ED #define FLAG_HIDE_ROUTE_101_ZIGZAGOON 0x2EE #define FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY 0x2EF @@ -720,7 +809,7 @@ #define FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE 0x2FC #define FLAG_HIDE_MAUVILLE_CITY_SCOTT 0x2FD #define FLAG_HIDE_VERDANTURF_TOWN_SCOTT 0x2FE -#define FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT 0x2FF +#define FLAG_HIDE_FALLARBOR_TOWN_BATTLE_TENT_SCOTT 0x2FF #define FLAG_HIDE_ROUTE_111_VICTOR_WINSTRATE 0x300 #define FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE 0x301 #define FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE 0x302 @@ -760,14 +849,14 @@ #define FLAG_HIDE_MAUVILLE_CITY_WALLY 0x324 #define FLAG_HIDE_MAUVILLE_CITY_WALLYS_UNCLE 0x325 #define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY 0x326 -#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN 0x327 -#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN 0x328 +#define FLAG_HIDE_RUSTURF_TUNNEL_WANDAS_BOYFRIEND 0x327 +#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDAS_BOYFRIEND 0x328 #define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE 0x329 #define FLAG_HIDE_SS_TIDAL_CORRIDOR_SCOTT 0x32A #define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL 0x32B #define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE 0x32C #define FLAG_HIDE_ROUTE_116_DROPPED_GLASSES_MAN 0x32D -#define FLAG_HIDE_RUSBORO_CITY_RIVAL 0x32E +#define FLAG_HIDE_RUSTBORO_CITY_RIVAL 0x32E #define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL 0x32F #define FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE 0x330 #define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL 0x331 @@ -778,16 +867,14 @@ #define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE 0x336 #define FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA 0x337 #define FLAG_HIDE_PETALBURG_GYM_WALLYS_UNCLE 0x338 - -#define FLAG_UNUSED_0x339 0x339 // Unused Flag - +#define FLAG_HIDE_LEGEND_MON_CAVE_OF_ORIGIN 0x339 // Unused, leftover from R/S #define FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE 0x33A #define FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE 0x33B #define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE 0x33C #define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE 0x33D #define FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE 0x33E #define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS 0x33F -#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS 0x340 +#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER 0x340 #define FLAG_HIDE_GRANITE_CAVE_STEVEN 0x341 #define FLAG_HIDE_ROUTE_128_STEVEN 0x342 #define FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY 0x343 @@ -828,13 +915,13 @@ #define FLAG_HIDE_LANETTES_HOUSE_LANETTE 0x366 #define FLAG_HIDE_FALLORBOR_POKEMON_CENTER_LANETTE 0x367 #define FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN 0x368 -#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT 0x369 +#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_REPLACEMENT 0x369 #define FLAG_HIDE_DESERT_UNDERPASS_FOSSIL 0x36A #define FLAG_HIDE_ROUTE_111_PLAYER_DESCENT 0x36B #define FLAG_HIDE_ROUTE_111_DESERT_FOSSIL 0x36C #define FLAG_HIDE_MT_CHIMNEY_TRAINERS 0x36D #define FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT 0x36E -#define FLAG_HIDE_RUSTURF_TUNNEL_OLD_MAN 0x36F +#define FLAG_HIDE_RUSTURF_TUNNEL_BRINEY 0x36F #define FLAG_HIDE_RUSTURF_TUNNEL_PEEKO 0x370 #define FLAG_HIDE_BRINEYS_HOUSE_PEEKO 0x371 #define FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA 0x372 @@ -849,7 +936,7 @@ #define FLAG_HIDE_ROUTE_116_MR_BRINEY 0x37B #define FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS 0x37C #define FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS 0x37D -#define FLAG_HIDE_ROUTE_116_TUNNELER 0x37E +#define FLAG_HIDE_ROUTE_116_WANDAS_BOYFRIEND 0x37E #define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_2 0x37F #define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 0x380 #define FLAG_HIDE_ROUTE_101_BIRCH 0x381 @@ -883,9 +970,9 @@ #define FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS 0x39D #define FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA 0x39E #define FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA 0x39F -#define FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO 0x3A0 -#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1 0x3A1 -#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2 0x3A2 +#define FLAG_HIDE_FALLARBOR_HOUSE_PROF_COZMO 0x3A0 +#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL 0x3A1 +#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_ON_BIKE 0x3A2 #define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1 0x3A3 #define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2 0x3A4 #define FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL 0x3A5 @@ -925,7 +1012,7 @@ #define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN 0x3C7 #define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL 0x3C8 #define FLAG_HIDE_FORTREE_CITY_KECLEON 0x3C9 -#define FLAG_HIDE_ROUTE_120_KECLEON_1 0x3CA +#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_INVISIBLE 0x3CA #define FLAG_HIDE_LILYCOVE_CITY_RIVAL 0x3CB #define FLAG_HIDE_ROUTE_120_STEVEN 0x3CC #define FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN 0x3CD @@ -936,19 +1023,19 @@ #define FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2 0x3D2 #define FLAG_HIDE_OLDALE_TOWN_RIVAL 0x3D3 #define FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE 0x3D4 -#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE 0x3D5 -#define FLAG_HIDE_ROUTE_120_KECLEON_2 0x3D6 -#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN 0x3D7 -#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN 0x3D8 -#define FLAG_HIDE_ROUTE_120_KECLEON_3 0x3D9 -#define FLAG_HIDE_ROUTE_120_KECLEON_4 0x3DA -#define FLAG_HIDE_ROUTE_120_KECLEON_5 0x3DB -#define FLAG_HIDE_ROUTE_120_KECLEON_6 0x3DC +#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_VISIBLE 0x3D5 +#define FLAG_HIDE_ROUTE_120_KECLEON_1 0x3D6 +#define FLAG_HIDE_RUSTURF_TUNNEL_WANDA 0x3D7 +#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDA 0x3D8 +#define FLAG_HIDE_ROUTE_120_KECLEON_2 0x3D9 +#define FLAG_HIDE_ROUTE_120_KECLEON_3 0x3DA +#define FLAG_HIDE_ROUTE_120_KECLEON_4 0x3DB +#define FLAG_HIDE_ROUTE_120_KECLEON_5 0x3DC #define FLAG_HIDE_ROUTE_119_KECLEON_1 0x3DD #define FLAG_HIDE_ROUTE_119_KECLEON_2 0x3DE #define FLAG_HIDE_ROUTE_101_BOY 0x3DF #define FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M 0x3E0 -#define FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY 0x3E1 +#define FLAG_HIDE_LILYCOVE_POKEMON_CENTER_CONTEST_LADY_MON 0x3E1 #define FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY 0x3E2 #define FLAG_HIDE_PETALBURG_CITY_SCOTT 0x3E3 #define FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA 0x3E4 @@ -1255,13 +1342,17 @@ #define FLAG_UNUSED_0x4FF 0x4FF // Unused Flag -#define FLAG_TRAINER_FLAG_START 0x500 -#define TRAINERS_FLAG_NO 0x356 +// Trainer Flags +// Trainer flags occupy 0x500 - 0x85F, the last 9 of which are unused +// See constants/opponents.h. The values there + FLAG_TRAINER_FLAG_START are the flag IDs -#define SYSTEM_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860 +#define TRAINER_FLAGS_START 0x500 +#define TRAINER_FLAGS_END (TRAINER_FLAGS_START + MAX_TRAINERS_COUNT - 1) // 0x85F // System Flags +#define SYSTEM_FLAGS (TRAINER_FLAGS_END + 1) // 0x860 + #define FLAG_SYS_POKEMON_GET (SYSTEM_FLAGS + 0) // FLAG_0x860 #define FLAG_SYS_POKEDEX_GET (SYSTEM_FLAGS + 1) #define FLAG_SYS_POKENAV_GET (SYSTEM_FLAGS + 2) @@ -1400,7 +1491,7 @@ #define FLAG_ENABLE_SHIP_BIRTH_ISLAND (SYSTEM_FLAGS + 0x75) #define FLAG_ENABLE_SHIP_FARAWAY_ISLAND (SYSTEM_FLAGS + 0x76) -#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (SYSTEM_FLAGS + 0x77) +#define FLAG_SHOWN_BOX_WAS_FULL_MESSAGE (SYSTEM_FLAGS + 0x77) #define FLAG_ARRIVED_ON_FARAWAY_ISLAND (SYSTEM_FLAGS + 0x78) #define FLAG_ARRIVED_AT_MARINE_CAVE_EMERGE_SPOT (SYSTEM_FLAGS + 0x79) @@ -1481,77 +1572,82 @@ #define FLAG_UNUSED_0x91F (SYSTEM_FLAGS + 0xBF) // Unused Flag // Daily Flags -#define FLAG_DAILY_0x920 (SYSTEM_FLAGS + 0xC0) -#define FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY (SYSTEM_FLAGS + 0xC1) -#define FLAG_DAILY_SECRET_BASE (SYSTEM_FLAGS + 0xC2) -#define FLAG_DAILY_0x923 (SYSTEM_FLAGS + 0xC3) -#define FLAG_DAILY_0x924 (SYSTEM_FLAGS + 0xC4) -#define FLAG_DAILY_0x925 (SYSTEM_FLAGS + 0xC5) -#define FLAG_DAILY_0x926 (SYSTEM_FLAGS + 0xC6) -#define FLAG_DAILY_0x927 (SYSTEM_FLAGS + 0xC7) -#define FLAG_DAILY_0x928 (SYSTEM_FLAGS + 0xC8) -#define FLAG_DAILY_0x929 (SYSTEM_FLAGS + 0xC9) -#define FLAG_DAILY_PICKED_LOTO_TICKET (SYSTEM_FLAGS + 0xCA) -#define FLAG_DAILY_ROUTE_114_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCB) -#define FLAG_DAILY_ROUTE_111_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCC) -#define FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCD) -#define FLAG_DAILY_ROUTE_120_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCE) -#define FLAG_DAILY_LILYCOVE_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCF) -#define FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY (SYSTEM_FLAGS + 0xD0) -#define FLAG_DAILY_BERRY_MASTERS_WIFE (SYSTEM_FLAGS + 0xD1) -#define FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY (SYSTEM_FLAGS + 0xD2) -#define FLAG_DAILY_0x933 (SYSTEM_FLAGS + 0xD3) -#define FLAG_DAILY_APPRENTICE_LEAVES (SYSTEM_FLAGS + 0xD4) -#define FLAG_0x935 (SYSTEM_FLAGS + 0xD5) -#define FLAG_0x936 (SYSTEM_FLAGS + 0xD6) -#define FLAG_0x937 (SYSTEM_FLAGS + 0xD7) -#define FLAG_0x938 (SYSTEM_FLAGS + 0xD8) -#define FLAG_0x939 (SYSTEM_FLAGS + 0xD9) -#define FLAG_0x93A (SYSTEM_FLAGS + 0xDA) -#define FLAG_0x93B (SYSTEM_FLAGS + 0xDB) -#define FLAG_0x93C (SYSTEM_FLAGS + 0xDC) -#define FLAG_0x93D (SYSTEM_FLAGS + 0xDD) -#define FLAG_0x93E (SYSTEM_FLAGS + 0xDE) -#define FLAG_0x93F (SYSTEM_FLAGS + 0xDF) -#define FLAG_0x940 (SYSTEM_FLAGS + 0xE0) -#define FLAG_0x941 (SYSTEM_FLAGS + 0xE1) -#define FLAG_0x942 (SYSTEM_FLAGS + 0xE2) -#define FLAG_0x943 (SYSTEM_FLAGS + 0xE3) -#define FLAG_0x944 (SYSTEM_FLAGS + 0xE4) -#define FLAG_0x945 (SYSTEM_FLAGS + 0xE5) -#define FLAG_0x946 (SYSTEM_FLAGS + 0xE6) -#define FLAG_0x947 (SYSTEM_FLAGS + 0xE7) -#define FLAG_0x948 (SYSTEM_FLAGS + 0xE8) -#define FLAG_0x949 (SYSTEM_FLAGS + 0xE9) -#define FLAG_0x94A (SYSTEM_FLAGS + 0xEA) -#define FLAG_0x94B (SYSTEM_FLAGS + 0xEB) -#define FLAG_0x94C (SYSTEM_FLAGS + 0xEC) -#define FLAG_0x94D (SYSTEM_FLAGS + 0xED) -#define FLAG_0x94E (SYSTEM_FLAGS + 0xEE) -#define FLAG_0x94F (SYSTEM_FLAGS + 0xEF) -#define FLAG_0x950 (SYSTEM_FLAGS + 0xF0) -#define FLAG_0x951 (SYSTEM_FLAGS + 0xF1) -#define FLAG_0x952 (SYSTEM_FLAGS + 0xF2) -#define FLAG_0x953 (SYSTEM_FLAGS + 0xF3) -#define FLAG_0x954 (SYSTEM_FLAGS + 0xF4) -#define FLAG_0x955 (SYSTEM_FLAGS + 0xF5) -#define FLAG_0x956 (SYSTEM_FLAGS + 0xF6) -#define FLAG_0x957 (SYSTEM_FLAGS + 0xF7) -#define FLAG_0x958 (SYSTEM_FLAGS + 0xF8) -#define FLAG_0x959 (SYSTEM_FLAGS + 0xF9) -#define FLAG_0x95A (SYSTEM_FLAGS + 0xFA) -#define FLAG_0x95B (SYSTEM_FLAGS + 0xFB) -#define FLAG_0x95C (SYSTEM_FLAGS + 0xFC) -#define FLAG_0x95D (SYSTEM_FLAGS + 0xFD) -#define FLAG_0x95E (SYSTEM_FLAGS + 0xFE) -#define FLAG_0x95F (SYSTEM_FLAGS + 0xFF) +#define DAILY_FLAGS_START 0x920 +#define FLAG_UNUSED_0x920 (DAILY_FLAGS_START + 0x0) // Unused Flag +#define FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY (DAILY_FLAGS_START + 0x1) +#define FLAG_DAILY_SECRET_BASE (DAILY_FLAGS_START + 0x2) +#define FLAG_UNUSED_0x923 (DAILY_FLAGS_START + 0x3) // Unused Flag +#define FLAG_UNUSED_0x924 (DAILY_FLAGS_START + 0x4) // Unused Flag +#define FLAG_UNUSED_0x925 (DAILY_FLAGS_START + 0x5) // Unused Flag +#define FLAG_UNUSED_0x926 (DAILY_FLAGS_START + 0x6) // Unused Flag +#define FLAG_UNUSED_0x927 (DAILY_FLAGS_START + 0x7) // Unused Flag +#define FLAG_UNUSED_0x928 (DAILY_FLAGS_START + 0x8) // Unused Flag +#define FLAG_UNUSED_0x929 (DAILY_FLAGS_START + 0x9) // Unused Flag +#define FLAG_DAILY_PICKED_LOTO_TICKET (DAILY_FLAGS_START + 0xA) +#define FLAG_DAILY_ROUTE_114_RECEIVED_BERRY (DAILY_FLAGS_START + 0xB) +#define FLAG_DAILY_ROUTE_111_RECEIVED_BERRY (DAILY_FLAGS_START + 0xC) +#define FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY (DAILY_FLAGS_START + 0xD) +#define FLAG_DAILY_ROUTE_120_RECEIVED_BERRY (DAILY_FLAGS_START + 0xE) +#define FLAG_DAILY_LILYCOVE_RECEIVED_BERRY (DAILY_FLAGS_START + 0xF) +#define FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY (DAILY_FLAGS_START + 0x10) +#define FLAG_DAILY_BERRY_MASTERS_WIFE (DAILY_FLAGS_START + 0x11) +#define FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY (DAILY_FLAGS_START + 0x12) +#define FLAG_UNUSED_0x933 (DAILY_FLAGS_START + 0x13) // Unused Flag +#define FLAG_DAILY_APPRENTICE_LEAVES (DAILY_FLAGS_START + 0x14) -// Special Flags (Unknown) -#define SPECIAL_FLAGS_START 0x4000 -#define FLAG_HIDE_MAP_NAME_POPUP 0x4000 -#define FLAG_SPECIAL_FLAG_0x4001 0x4001 -#define FLAG_SPECIAL_FLAG_0x4002 0x4002 -#define FLAG_SPECIAL_FLAG_0x4003 0x4003 -#define FLAG_SPECIAL_FLAG_0x4004 0x4004 +#define FLAG_UNUSED_0x935 (DAILY_FLAGS_START + 0x15) // Unused Flag +#define FLAG_UNUSED_0x936 (DAILY_FLAGS_START + 0x16) // Unused Flag +#define FLAG_UNUSED_0x937 (DAILY_FLAGS_START + 0x17) // Unused Flag +#define FLAG_UNUSED_0x938 (DAILY_FLAGS_START + 0x18) // Unused Flag +#define FLAG_UNUSED_0x939 (DAILY_FLAGS_START + 0x19) // Unused Flag +#define FLAG_UNUSED_0x93A (DAILY_FLAGS_START + 0x1A) // Unused Flag +#define FLAG_UNUSED_0x93B (DAILY_FLAGS_START + 0x1B) // Unused Flag +#define FLAG_UNUSED_0x93C (DAILY_FLAGS_START + 0x1C) // Unused Flag +#define FLAG_UNUSED_0x93D (DAILY_FLAGS_START + 0x1D) // Unused Flag +#define FLAG_UNUSED_0x93E (DAILY_FLAGS_START + 0x1E) // Unused Flag +#define FLAG_UNUSED_0x93F (DAILY_FLAGS_START + 0x1F) // Unused Flag +#define FLAG_UNUSED_0x940 (DAILY_FLAGS_START + 0x20) // Unused Flag +#define FLAG_UNUSED_0x941 (DAILY_FLAGS_START + 0x21) // Unused Flag +#define FLAG_UNUSED_0x942 (DAILY_FLAGS_START + 0x22) // Unused Flag +#define FLAG_UNUSED_0x943 (DAILY_FLAGS_START + 0x23) // Unused Flag +#define FLAG_UNUSED_0x944 (DAILY_FLAGS_START + 0x24) // Unused Flag +#define FLAG_UNUSED_0x945 (DAILY_FLAGS_START + 0x25) // Unused Flag +#define FLAG_UNUSED_0x946 (DAILY_FLAGS_START + 0x26) // Unused Flag +#define FLAG_UNUSED_0x947 (DAILY_FLAGS_START + 0x27) // Unused Flag +#define FLAG_UNUSED_0x948 (DAILY_FLAGS_START + 0x28) // Unused Flag +#define FLAG_UNUSED_0x949 (DAILY_FLAGS_START + 0x29) // Unused Flag +#define FLAG_UNUSED_0x94A (DAILY_FLAGS_START + 0x2A) // Unused Flag +#define FLAG_UNUSED_0x94B (DAILY_FLAGS_START + 0x2B) // Unused Flag +#define FLAG_UNUSED_0x94C (DAILY_FLAGS_START + 0x2C) // Unused Flag +#define FLAG_UNUSED_0x94D (DAILY_FLAGS_START + 0x2D) // Unused Flag +#define FLAG_UNUSED_0x94E (DAILY_FLAGS_START + 0x2E) // Unused Flag +#define FLAG_UNUSED_0x94F (DAILY_FLAGS_START + 0x2F) // Unused Flag +#define FLAG_UNUSED_0x950 (DAILY_FLAGS_START + 0x30) // Unused Flag +#define FLAG_UNUSED_0x951 (DAILY_FLAGS_START + 0x31) // Unused Flag +#define FLAG_UNUSED_0x952 (DAILY_FLAGS_START + 0x32) // Unused Flag +#define FLAG_UNUSED_0x953 (DAILY_FLAGS_START + 0x33) // Unused Flag +#define FLAG_UNUSED_0x954 (DAILY_FLAGS_START + 0x34) // Unused Flag +#define FLAG_UNUSED_0x955 (DAILY_FLAGS_START + 0x35) // Unused Flag +#define FLAG_UNUSED_0x956 (DAILY_FLAGS_START + 0x36) // Unused Flag +#define FLAG_UNUSED_0x957 (DAILY_FLAGS_START + 0x37) // Unused Flag +#define FLAG_UNUSED_0x958 (DAILY_FLAGS_START + 0x38) // Unused Flag +#define FLAG_UNUSED_0x959 (DAILY_FLAGS_START + 0x39) // Unused Flag +#define FLAG_UNUSED_0x95A (DAILY_FLAGS_START + 0x3A) // Unused Flag +#define FLAG_UNUSED_0x95B (DAILY_FLAGS_START + 0x3B) // Unused Flag +#define FLAG_UNUSED_0x95C (DAILY_FLAGS_START + 0x3C) // Unused Flag +#define FLAG_UNUSED_0x95D (DAILY_FLAGS_START + 0x3D) // Unused Flag +#define FLAG_UNUSED_0x95E (DAILY_FLAGS_START + 0x3E) // Unused Flag +#define FLAG_UNUSED_0x95F (DAILY_FLAGS_START + 0x3F) // Unused Flag +#define DAILY_FLAGS_END FLAG_UNUSED_0x95F + +// Special Flags (Stored in EWRAM (gSpecialFlags), not in the SaveBlock) +#define SPECIAL_FLAGS_START 0x4000 +#define FLAG_HIDE_MAP_NAME_POPUP (SPECIAL_FLAGS_START + 0x0) +#define FLAG_DONT_TRANSITION_MUSIC (SPECIAL_FLAGS_START + 0x1) +#define FLAG_ENABLE_MULTI_CORRIDOR_DOOR (SPECIAL_FLAGS_START + 0x2) +#define FLAG_SPECIAL_FLAG_UNUSED_0x4003 (SPECIAL_FLAGS_START + 0x3) // Unused Flag +#define FLAG_STORING_ITEMS_IN_PYRAMID_BAG (SPECIAL_FLAGS_START + 0x4) +// FLAG_SPECIAL_FLAG_0x4005 - 0x407F also exist and are unused +#define SPECIAL_FLAGS_END (SPECIAL_FLAGS_START + 0x7F) #endif // GUARD_CONSTANTS_FLAGS_H diff --git a/include/constants/frontier_util.h b/include/constants/frontier_util.h new file mode 100644 index 0000000000..a310dbb2d5 --- /dev/null +++ b/include/constants/frontier_util.h @@ -0,0 +1,75 @@ +#ifndef GUARD_CONSTANTS_FRONTIER_UTIL_H +#define GUARD_CONSTANTS_FRONTIER_UTIL_H + +#define FRONTIER_BEFORE_TEXT 0 +#define FRONTIER_PLAYER_LOST_TEXT 1 +#define FRONTIER_PLAYER_WON_TEXT 2 + +// return values for GetFrontierBrainStatus +#define FRONTIER_BRAIN_NOT_READY 0 +#define FRONTIER_BRAIN_SILVER 1 +#define FRONTIER_BRAIN_GOLD 2 +#define FRONTIER_BRAIN_STREAK 3 // for encountering the brain after getting both symbols +#define FRONTIER_BRAIN_STREAK_LONG 4 // + +#define FRONTIER_UTIL_FUNC_GET_STATUS 0 +#define FRONTIER_UTIL_FUNC_GET_DATA 1 +#define FRONTIER_UTIL_FUNC_SET_DATA 2 +#define FRONTIER_UTIL_FUNC_SET_PARTY_ORDER 3 +#define FRONTIER_UTIL_FUNC_SOFT_RESET 4 +#define FRONTIER_UTIL_FUNC_SET_TRAINERS 5 +#define FRONTIER_UTIL_FUNC_SAVE_PARTY 6 +#define FRONTIER_UTIL_FUNC_RESULTS_WINDOW 7 +#define FRONTIER_UTIL_FUNC_CHECK_AIR_TV_SHOW 8 +#define FRONTIER_UTIL_FUNC_GET_BRAIN_STATUS 9 +#define FRONTIER_UTIL_FUNC_IS_BRAIN 10 +#define FRONTIER_UTIL_FUNC_GIVE_BATTLE_POINTS 11 +#define FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS 12 +#define FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL 13 +#define FRONTIER_UTIL_FUNC_CHECK_BATTLE_TYPE 14 +#define FRONTIER_UTIL_FUNC_CHECK_INELIGIBLE 15 +#define FRONTIER_UTIL_FUNC_CHECK_VISIT_TRAINER 16 +#define FRONTIER_UTIL_FUNC_INCREMENT_STREAK 17 +#define FRONTIER_UTIL_FUNC_RESTORE_HELD_ITEMS 18 +#define FRONTIER_UTIL_FUNC_SAVE_BATTLE 19 +#define FRONTIER_UTIL_FUNC_BUFFER_TRAINER_NAME 20 +#define FRONTIER_UTIL_FUNC_RESET_SKETCH_MOVES 21 +#define FRONTIER_UTIL_FUNC_SET_BRAIN_OBJECT 22 + +#define FRONTIER_DATA_CHALLENGE_STATUS 0 +#define FRONTIER_DATA_LVL_MODE 1 +#define FRONTIER_DATA_BATTLE_NUM 2 +#define FRONTIER_DATA_PAUSED 3 +#define FRONTIER_DATA_SELECTED_MON_ORDER 4 +#define FRONTIER_DATA_BATTLE_OUTCOME 5 +#define FRONTIER_DATA_RECORD_DISABLED 6 +#define FRONTIER_DATA_HEARD_BRAIN_SPEECH 7 + +#define STREAK_TOWER_SINGLES_50 (1 << 0) +#define STREAK_TOWER_SINGLES_OPEN (1 << 1) +#define STREAK_DOME_SINGLES_50 (1 << 2) +#define STREAK_DOME_SINGLES_OPEN (1 << 3) +#define STREAK_PALACE_SINGLES_50 (1 << 4) +#define STREAK_PALACE_SINGLES_OPEN (1 << 5) +#define STREAK_ARENA_50 (1 << 6) +#define STREAK_ARENA_OPEN (1 << 7) +#define STREAK_FACTORY_SINGLES_50 (1 << 8) +#define STREAK_FACTORY_SINGLES_OPEN (1 << 9) +#define STREAK_PIKE_50 (1 << 10) +#define STREAK_PIKE_OPEN (1 << 11) +#define STREAK_PYRAMID_50 (1 << 12) +#define STREAK_PYRAMID_OPEN (1 << 13) +#define STREAK_TOWER_DOUBLES_50 (1 << 14) +#define STREAK_TOWER_DOUBLES_OPEN (1 << 15) +#define STREAK_TOWER_MULTIS_50 (1 << 16) +#define STREAK_TOWER_MULTIS_OPEN (1 << 17) +#define STREAK_TOWER_LINK_MULTIS_50 (1 << 18) +#define STREAK_TOWER_LINK_MULTIS_OPEN (1 << 19) +#define STREAK_DOME_DOUBLES_50 (1 << 20) +#define STREAK_DOME_DOUBLES_OPEN (1 << 21) +#define STREAK_PALACE_DOUBLES_50 (1 << 22) +#define STREAK_PALACE_DOUBLES_OPEN (1 << 23) +#define STREAK_FACTORY_DOUBLES_50 (1 << 24) +#define STREAK_FACTORY_DOUBLES_OPEN (1 << 25) + +#endif // GUARD_CONSTANTS_FRONTIER_UTIL_H diff --git a/include/constants/global.h b/include/constants/global.h index a862ecad21..d57307d9c3 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -18,12 +18,13 @@ #define VERSION_GAMECUBE 15 #define LANGUAGE_JAPANESE 1 -#define LANGUAGE_ENGLISH 2 -#define LANGUAGE_FRENCH 3 -#define LANGUAGE_ITALIAN 4 -#define LANGUAGE_GERMAN 5 -#define LANGUAGE_KOREAN 6 // 6 goes unused but the theory is it was meant to be Korean -#define LANGUAGE_SPANISH 7 +#define LANGUAGE_ENGLISH 2 +#define LANGUAGE_FRENCH 3 +#define LANGUAGE_ITALIAN 4 +#define LANGUAGE_GERMAN 5 +#define LANGUAGE_KOREAN 6 // 6 goes unused but the theory is it was meant to be Korean +#define LANGUAGE_SPANISH 7 +#define NUM_LANGUAGES 7 #define GAME_VERSION (VERSION_EMERALD) #define GAME_LANGUAGE (LANGUAGE_ENGLISH) @@ -46,21 +47,42 @@ #define BAG_TMHM_COUNT 64 #define BAG_BERRIES_COUNT 46 #define EVENT_OBJECT_TEMPLATES_COUNT 64 +#define DECOR_MAX_SECRET_BASE 16 +#define DECOR_MAX_PLAYERS_HOUSE 12 +#define APPRENTICE_COUNT 4 +#define APPRENTICE_MAX_QUESTIONS 9 +#define MAX_REMATCH_ENTRIES 100 // only REMATCH_TABLE_ENTRIES (78) are used #define PYRAMID_BAG_ITEMS_COUNT 10 #define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode. #define TRAINER_ID_LENGTH 4 +#define MAX_MON_MOVES 4 +#define NUM_STATS 6 + +// party sizes +#define PARTY_SIZE 6 +#define MULTI_PARTY_SIZE PARTY_SIZE / 2 +#define FRONTIER_PARTY_SIZE 3 +#define FRONTIER_DOUBLES_PARTY_SIZE 4 +#define FRONTIER_MULTI_PARTY_SIZE 2 +#define MAX_FRONTIER_PARTY_SIZE FRONTIER_DOUBLES_PARTY_SIZE // string lengths #define ITEM_NAME_LENGTH 14 #define POKEMON_NAME_LENGTH 10 #define PLAYER_NAME_LENGTH 7 #define MAIL_WORDS_COUNT 9 +#define EASY_CHAT_BATTLE_WORDS_COUNT 6 #define MOVE_NAME_LENGTH 12 #define MALE 0 #define FEMALE 1 +#define GENDER_COUNT 2 + +#define BARD_SONG_LENGTH 6 +#define NUM_STORYTELLER_TALES 4 +#define NUM_TRADER_ITEMS 4 #define OPTIONS_BUTTON_MODE_NORMAL 0 #define OPTIONS_BUTTON_MODE_LR 1 diff --git a/include/constants/item.h b/include/constants/item.h new file mode 100644 index 0000000000..a5c34418d3 --- /dev/null +++ b/include/constants/item.h @@ -0,0 +1,20 @@ +#ifndef GUARD_ITEM_CONSTANTS_H +#define GUARD_ITEM_CONSTANTS_H + +// These constants are used in gItems +#define POCKET_NONE 0 +#define POCKET_ITEMS 1 +#define POCKET_POKE_BALLS 2 +#define POCKET_TM_HM 3 +#define POCKET_BERRIES 4 +#define POCKET_KEY_ITEMS 5 + +#define ITEMS_POCKET 0 +#define BALLS_POCKET 1 +#define TMHM_POCKET 2 +#define BERRIES_POCKET 3 +#define KEYITEMS_POCKET 4 +#define POCKETS_COUNT 5 + + +#endif // GUARD_ITEM_CONSTANTS_H diff --git a/include/constants/item_effects.h b/include/constants/item_effects.h index a5bb770355..49fcedc617 100644 --- a/include/constants/item_effects.h +++ b/include/constants/item_effects.h @@ -3,7 +3,7 @@ // field 0 masks #define ITEM0_X_ATTACK 0x0F -#define ITEM0_HIGH_CRIT 0x30 // For Dire Hit, works the same way as move Focus Energy. +#define ITEM0_DIRE_HIT 0x30 // Works the same way as the move Focus Energy. #define ITEM0_SACRED_ASH 0x40 #define ITEM0_INFATUATION 0x80 @@ -23,7 +23,7 @@ #define ITEM3_POISON 0x10 #define ITEM3_SLEEP 0x20 #define ITEM3_LEVEL_UP 0x40 -#define ITEM3_MIST 0x80 // For Guard Specs, works the same way as move Mist. +#define ITEM3_GUARD_SPEC 0x80 // Works the same way as the move Mist. #define ITEM3_STATUS_ALL (ITEM3_CONFUSION | ITEM3_PARALYSIS | ITEM3_FREEZE | ITEM3_BURN | ITEM3_POISON | ITEM3_SLEEP) diff --git a/include/constants/items.h b/include/constants/items.h index 3a894f8ff6..db3474a728 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -465,8 +465,27 @@ #define ITEMS_COUNT 377 #define ITEM_FIELD_ARROW ITEMS_COUNT -#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY -#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY +#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY +#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY + +// Range of berries given out by various NPCS +#define FIRST_BERRY_MASTER_BERRY ITEM_POMEG_BERRY +#define LAST_BERRY_MASTER_BERRY ITEM_NOMEL_BERRY +#define FIRST_BERRY_MASTER_WIFE_BERRY ITEM_CHERI_BERRY +#define LAST_BERRY_MASTER_WIFE_BERRY ITEM_SITRUS_BERRY +#define FIRST_KIRI_BERRY ITEM_POMEG_BERRY +#define LAST_KIRI_BERRY ITEM_NOMEL_BERRY +#define FIRST_ROUTE_114_MAN_BERRY ITEM_RAZZ_BERRY +#define LAST_ROUTE_114_MAN_BERRY ITEM_PINAP_BERRY + +#define NUM_BERRY_MASTER_BERRIES LAST_BERRY_MASTER_BERRY - FIRST_BERRY_MASTER_BERRY + 1 +#define NUM_BERRY_MASTER_BERRIES_SKIPPED FIRST_BERRY_MASTER_BERRY - FIRST_BERRY_INDEX +#define NUM_BERRY_MASTER_WIFE_BERRIES LAST_BERRY_MASTER_WIFE_BERRY - FIRST_BERRY_MASTER_WIFE_BERRY + 1 +#define NUM_KIRI_BERRIES LAST_KIRI_BERRY - FIRST_KIRI_BERRY + 1 +#define NUM_KIRI_BERRIES_SKIPPED FIRST_KIRI_BERRY - FIRST_BERRY_INDEX +#define NUM_ROUTE_114_MAN_BERRIES LAST_ROUTE_114_MAN_BERRY - FIRST_ROUTE_114_MAN_BERRY + 1 +#define NUM_ROUTE_114_MAN_BERRIES_SKIPPED FIRST_ROUTE_114_MAN_BERRY - FIRST_BERRY_INDEX + #define ITEM_TO_BERRY(itemId)(((itemId - FIRST_BERRY_INDEX) + 1)) #define NUM_TECHNICAL_MACHINES 50 diff --git a/include/constants/layouts.h b/include/constants/layouts.h index d4819c46ad..3e876f4993 100755 --- a/include/constants/layouts.h +++ b/include/constants/layouts.h @@ -221,22 +221,22 @@ #define LAYOUT_SECRET_BASE_YELLOW_CAVE4 218 #define LAYOUT_SECRET_BASE_TREE4 219 #define LAYOUT_SECRET_BASE_SHRUB4 220 -#define LAYOUT_SINGLE_BATTLE_COLOSSEUM 221 +#define LAYOUT_BATTLE_COLOSSEUM_2P 221 #define LAYOUT_TRADE_CENTER 222 #define LAYOUT_RECORD_CORNER 223 -#define LAYOUT_DOUBLE_BATTLE_COLOSSEUM 224 -#define LAYOUT_LINK_CONTEST_ROOM1 225 +#define LAYOUT_BATTLE_COLOSSEUM_4P 224 +#define LAYOUT_CONTEST_HALL 225 #define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_29 226 #define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_30 227 #define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_31 228 #define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_32 229 #define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_33 230 #define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_34 231 -#define LAYOUT_LINK_CONTEST_ROOM2 232 -#define LAYOUT_LINK_CONTEST_ROOM3 233 -#define LAYOUT_LINK_CONTEST_ROOM4 234 -#define LAYOUT_LINK_CONTEST_ROOM5 235 -#define LAYOUT_LINK_CONTEST_ROOM6 236 +#define LAYOUT_CONTEST_HALL_BEAUTY 232 +#define LAYOUT_CONTEST_HALL_TOUGH 233 +#define LAYOUT_CONTEST_HALL_COOL 234 +#define LAYOUT_CONTEST_HALL_SMART 235 +#define LAYOUT_CONTEST_HALL_CUTE 236 #define LAYOUT_INSIDE_OF_TRUCK 237 #define LAYOUT_SAFARI_ZONE_NORTHWEST 238 #define LAYOUT_SAFARI_ZONE_NORTH 239 @@ -352,16 +352,16 @@ #define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY 349 #define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR 350 #define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM 351 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 352 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2 353 +#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL 352 +#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL 353 #define LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY 354 #define LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR 355 #define LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM 356 #define LAYOUT_SOOTOPOLIS_CITY_LEGENDS_BATTLE 357 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3 358 +#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS 358 #define LAYOUT_UNKNOWN_084693AC 359 #define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY 360 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE 361 +#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR 361 #define LAYOUT_BATTLE_PYRAMID_SQUARE01 362 #define LAYOUT_BATTLE_PYRAMID_SQUARE02 363 #define LAYOUT_BATTLE_PYRAMID_SQUARE03 364 @@ -390,15 +390,15 @@ #define LAYOUT_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM 387 #define LAYOUT_MIRAGE_TOWER_4F 388 #define LAYOUT_DESERT_UNDERPASS 389 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM 390 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 391 +#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM 390 +#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR 391 #define LAYOUT_ROUTE111_NO_MIRAGE_TOWER 392 #define LAYOUT_UNION_ROOM 393 #define LAYOUT_SAFARI_ZONE_NORTHEAST 394 #define LAYOUT_SAFARI_ZONE_SOUTHEAST 395 #define LAYOUT_BATTLE_FRONTIER_RANKING_HALL 396 #define LAYOUT_BATTLE_FRONTIER_LOUNGE1 397 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER 398 +#define LAYOUT_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER 398 #define LAYOUT_BATTLE_FRONTIER_RECEPTION_GATE 399 #define LAYOUT_ARTISAN_CAVE_B1F 400 #define LAYOUT_ARTISAN_CAVE_1F 401 diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h index 6a3276b443..17fe7ab533 100755 --- a/include/constants/map_groups.h +++ b/include/constants/map_groups.h @@ -98,8 +98,8 @@ #define MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM (3 | (5 << 8)) #define MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F (4 | (5 << 8)) #define MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F (5 | (5 << 8)) -#define MAP_FALLARBOR_TOWN_HOUSE1 (6 | (5 << 8)) -#define MAP_FALLARBOR_TOWN_HOUSE2 (7 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_COZMOS_HOUSE (6 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_MOVE_RELEARNERS_HOUSE (7 | (5 << 8)) // Map Group 6 #define MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY (0 | (6 << 8)) @@ -136,12 +136,12 @@ #define MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY (2 | (9 << 8)) #define MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR (3 | (9 << 8)) #define MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM (4 | (9 << 8)) -#define MAP_SLATEPORT_CITY_HOUSE1 (5 | (9 << 8)) +#define MAP_SLATEPORT_CITY_NAME_RATERS_HOUSE (5 | (9 << 8)) #define MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB (6 | (9 << 8)) #define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F (7 | (9 << 8)) #define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F (8 | (9 << 8)) #define MAP_SLATEPORT_CITY_HARBOR (9 | (9 << 8)) -#define MAP_SLATEPORT_CITY_HOUSE2 (10 | (9 << 8)) +#define MAP_SLATEPORT_CITY_HOUSE (10 | (9 << 8)) #define MAP_SLATEPORT_CITY_POKEMON_CENTER_1F (11 | (9 << 8)) #define MAP_SLATEPORT_CITY_POKEMON_CENTER_2F (12 | (9 << 8)) #define MAP_SLATEPORT_CITY_MART (13 | (9 << 8)) @@ -422,22 +422,22 @@ #define MAP_SECRET_BASE_YELLOW_CAVE4 (21 | (25 << 8)) #define MAP_SECRET_BASE_TREE4 (22 | (25 << 8)) #define MAP_SECRET_BASE_SHRUB4 (23 | (25 << 8)) -#define MAP_SINGLE_BATTLE_COLOSSEUM (24 | (25 << 8)) +#define MAP_BATTLE_COLOSSEUM_2P (24 | (25 << 8)) #define MAP_TRADE_CENTER (25 | (25 << 8)) #define MAP_RECORD_CORNER (26 | (25 << 8)) -#define MAP_DOUBLE_BATTLE_COLOSSEUM (27 | (25 << 8)) -#define MAP_LINK_CONTEST_ROOM1 (28 | (25 << 8)) +#define MAP_BATTLE_COLOSSEUM_4P (27 | (25 << 8)) +#define MAP_CONTEST_HALL (28 | (25 << 8)) #define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_29 (29 | (25 << 8)) #define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_30 (30 | (25 << 8)) #define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_31 (31 | (25 << 8)) #define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_32 (32 | (25 << 8)) #define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_33 (33 | (25 << 8)) #define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_34 (34 | (25 << 8)) -#define MAP_LINK_CONTEST_ROOM2 (35 | (25 << 8)) -#define MAP_LINK_CONTEST_ROOM3 (36 | (25 << 8)) -#define MAP_LINK_CONTEST_ROOM4 (37 | (25 << 8)) -#define MAP_LINK_CONTEST_ROOM5 (38 | (25 << 8)) -#define MAP_LINK_CONTEST_ROOM6 (39 | (25 << 8)) +#define MAP_CONTEST_HALL_BEAUTY (35 | (25 << 8)) +#define MAP_CONTEST_HALL_TOUGH (36 | (25 << 8)) +#define MAP_CONTEST_HALL_COOL (37 | (25 << 8)) +#define MAP_CONTEST_HALL_SMART (38 | (25 << 8)) +#define MAP_CONTEST_HALL_CUTE (39 | (25 << 8)) #define MAP_INSIDE_OF_TRUCK (40 | (25 << 8)) #define MAP_SS_TIDAL_CORRIDOR (41 | (25 << 8)) #define MAP_SS_TIDAL_LOWER_DECK (42 | (25 << 8)) @@ -461,95 +461,95 @@ #define MAP_UNION_ROOM (60 | (25 << 8)) // Map Group 26 -#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8)) -#define MAP_SAFARI_ZONE_NORTH (1 | (26 << 8)) -#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8)) -#define MAP_SAFARI_ZONE_SOUTH (3 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_OUTSIDE_WEST (4 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY (5 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR (6 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR (7 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM (8 | (26 << 8)) -#define MAP_SOUTHERN_ISLAND_EXTERIOR (9 | (26 << 8)) -#define MAP_SOUTHERN_ISLAND_INTERIOR (10 | (26 << 8)) -#define MAP_SAFARI_ZONE_REST_HOUSE (11 | (26 << 8)) -#define MAP_SAFARI_ZONE_NORTHEAST (12 | (26 << 8)) -#define MAP_SAFARI_ZONE_SOUTHEAST (13 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_OUTSIDE_EAST (14 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM (15 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 (16 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2 (17 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY (18 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR (19 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM (20 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM (21 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY (22 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR (23 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM (24 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY (25 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE (26 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP (27 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY (28 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR (29 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM (30 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY (31 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM (32 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM (33 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY (34 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR (35 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM (36 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 (37 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2 (38 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3 (39 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_RANKING_HALL (40 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE1 (41 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER (42 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE2 (43 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE3 (44 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE4 (45 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE (46 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE5 (47 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE6 (48 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE7 (49 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_RECEPTION_GATE (50 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE8 (51 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE9 (52 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F (53 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F (54 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_MART (55 | (26 << 8)) -#define MAP_FARAWAY_ISLAND_ENTRANCE (56 | (26 << 8)) -#define MAP_FARAWAY_ISLAND_INTERIOR (57 | (26 << 8)) -#define MAP_BIRTH_ISLAND_EXTERIOR (58 | (26 << 8)) -#define MAP_BIRTH_ISLAND_HARBOR (59 | (26 << 8)) -#define MAP_TRAINER_HILL_ENTRANCE (60 | (26 << 8)) -#define MAP_TRAINER_HILL_1F (61 | (26 << 8)) -#define MAP_TRAINER_HILL_2F (62 | (26 << 8)) -#define MAP_TRAINER_HILL_3F (63 | (26 << 8)) -#define MAP_TRAINER_HILL_4F (64 | (26 << 8)) -#define MAP_TRAINER_HILL_ROOF (65 | (26 << 8)) -#define MAP_NAVEL_ROCK_EXTERIOR (66 | (26 << 8)) -#define MAP_NAVEL_ROCK_HARBOR (67 | (26 << 8)) -#define MAP_NAVEL_ROCK_ENTRANCE (68 | (26 << 8)) -#define MAP_NAVEL_ROCK_B1F (69 | (26 << 8)) -#define MAP_NAVEL_ROCK_FORK (70 | (26 << 8)) -#define MAP_NAVEL_ROCK_UP1 (71 | (26 << 8)) -#define MAP_NAVEL_ROCK_UP2 (72 | (26 << 8)) -#define MAP_NAVEL_ROCK_UP3 (73 | (26 << 8)) -#define MAP_NAVEL_ROCK_UP4 (74 | (26 << 8)) -#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN01 (76 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN02 (77 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN03 (78 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN04 (79 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN05 (80 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN06 (81 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN07 (82 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN08 (83 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN09 (84 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN10 (85 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN11 (86 | (26 << 8)) -#define MAP_NAVEL_ROCK_BOTTOM (87 | (26 << 8)) -#define MAP_TRAINER_HILL_ELEVATOR (88 | (26 << 8)) +#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8)) +#define MAP_SAFARI_ZONE_NORTH (1 | (26 << 8)) +#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8)) +#define MAP_SAFARI_ZONE_SOUTH (3 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_OUTSIDE_WEST (4 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY (5 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR (6 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR (7 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM (8 | (26 << 8)) +#define MAP_SOUTHERN_ISLAND_EXTERIOR (9 | (26 << 8)) +#define MAP_SOUTHERN_ISLAND_INTERIOR (10 | (26 << 8)) +#define MAP_SAFARI_ZONE_REST_HOUSE (11 | (26 << 8)) +#define MAP_SAFARI_ZONE_NORTHEAST (12 | (26 << 8)) +#define MAP_SAFARI_ZONE_SOUTHEAST (13 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_OUTSIDE_EAST (14 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM (15 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR (16 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM (17 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY (18 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR (19 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM (20 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM (21 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY (22 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR (23 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM (24 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY (25 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR (26 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP (27 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY (28 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR (29 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM (30 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY (31 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM (32 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM (33 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY (34 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR (35 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM (36 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL (37 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL (38 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS (39 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_RANKING_HALL (40 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE1 (41 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER (42 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE2 (43 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE3 (44 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE4 (45 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE (46 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE5 (47 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE6 (48 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE7 (49 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_RECEPTION_GATE (50 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE8 (51 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE9 (52 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F (53 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F (54 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_MART (55 | (26 << 8)) +#define MAP_FARAWAY_ISLAND_ENTRANCE (56 | (26 << 8)) +#define MAP_FARAWAY_ISLAND_INTERIOR (57 | (26 << 8)) +#define MAP_BIRTH_ISLAND_EXTERIOR (58 | (26 << 8)) +#define MAP_BIRTH_ISLAND_HARBOR (59 | (26 << 8)) +#define MAP_TRAINER_HILL_ENTRANCE (60 | (26 << 8)) +#define MAP_TRAINER_HILL_1F (61 | (26 << 8)) +#define MAP_TRAINER_HILL_2F (62 | (26 << 8)) +#define MAP_TRAINER_HILL_3F (63 | (26 << 8)) +#define MAP_TRAINER_HILL_4F (64 | (26 << 8)) +#define MAP_TRAINER_HILL_ROOF (65 | (26 << 8)) +#define MAP_NAVEL_ROCK_EXTERIOR (66 | (26 << 8)) +#define MAP_NAVEL_ROCK_HARBOR (67 | (26 << 8)) +#define MAP_NAVEL_ROCK_ENTRANCE (68 | (26 << 8)) +#define MAP_NAVEL_ROCK_B1F (69 | (26 << 8)) +#define MAP_NAVEL_ROCK_FORK (70 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP1 (71 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP2 (72 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP3 (73 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP4 (74 | (26 << 8)) +#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN01 (76 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN02 (77 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN03 (78 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN04 (79 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN05 (80 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN06 (81 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN07 (82 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN08 (83 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN09 (84 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN10 (85 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN11 (86 | (26 << 8)) +#define MAP_NAVEL_ROCK_BOTTOM (87 | (26 << 8)) +#define MAP_TRAINER_HILL_ELEVATOR (88 | (26 << 8)) // Map Group 27 #define MAP_ROUTE104_PROTOTYPE (0 | (27 << 8)) diff --git a/include/constants/mauville_man.h b/include/constants/mauville_man.h deleted file mode 100644 index b00e3a2919..0000000000 --- a/include/constants/mauville_man.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef GUARD_CONSTANTS_MAUVILLE_MAN_H -#define GUARD_CONSTANTS_MAUVILLE_MAN_H - -#define MAUVILLE_MAN_BARD 0 -#define MAUVILLE_MAN_HIPSTER 1 -#define MAUVILLE_MAN_TRADER 2 -#define MAUVILLE_MAN_STORYTELLER 3 -#define MAUVILLE_MAN_GIDDY 4 - -#endif // GUARD_CONSTANTS_MAUVILLE_MAN_H diff --git a/include/constants/mauville_old_man.h b/include/constants/mauville_old_man.h new file mode 100644 index 0000000000..c1fb0bf24a --- /dev/null +++ b/include/constants/mauville_old_man.h @@ -0,0 +1,12 @@ +#ifndef GUARD_CONSTANTS_MAUVILLE_OLD_MAN_H +#define GUARD_CONSTANTS_MAUVILLE_OLD_MAN_H + +#define MAUVILLE_MAN_BARD 0 +#define MAUVILLE_MAN_HIPSTER 1 +#define MAUVILLE_MAN_TRADER 2 +#define MAUVILLE_MAN_STORYTELLER 3 +#define MAUVILLE_MAN_GIDDY 4 +#define MAUVILLE_MAN_UNUSED1 5 +#define MAUVILLE_MAN_UNUSED2 6 + +#endif // GUARD_CONSTANTS_MAUVILLE_OLD_MAN_H diff --git a/include/constants/metatile_behaviors.h b/include/constants/metatile_behaviors.h index 44bbd97291..94cb0ffcaa 100755 --- a/include/constants/metatile_behaviors.h +++ b/include/constants/metatile_behaviors.h @@ -235,7 +235,7 @@ #define MB_CABLE_BOX_RESULTS_2 0xE7 #define MB_WIRELESS_BOX_RESULTS 0xE8 #define MB_TRAINER_HILL_TIMER 0xE9 -#define MB_UNKNOWN_CLOSED_DOOR 0xEA +#define MB_SKY_PILLAR_CLOSED_DOOR 0xEA #define MB_UNUSED_EB 0xEB #define MB_UNUSED_EC 0xEC #define MB_UNUSED_ED 0xED diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h index 8fe95b464e..a0ea6855b0 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -2,29 +2,39 @@ #define GUARD_METATILE_LABELS_H // gTileset_General -#define METATILE_General_Grass 0x001 -#define METATILE_General_TallGrass 0x00D -#define METATILE_General_LongGrass 0x015 -#define METATILE_General_TallGrass_TreeUp 0x025 -#define METATILE_General_Grass_TreeUp 0x00E -#define METATILE_General_TallGrass_TreeLeft 0x1C6 -#define METATILE_General_TallGrass_TreeRight 0x1C7 -#define METATILE_General_Grass_TreeLeft 0x1CE -#define METATILE_General_Grass_TreeRight 0x1CF -#define METATILE_General_MuddySlope_Frame0 0x0E8 -#define METATILE_General_MuddySlope_Frame1 0x0E9 -#define METATILE_General_MuddySlope_Frame2 0x0EA -#define METATILE_General_MuddySlope_Frame3 0x0EB -#define METATILE_General_SandPit_Center 0x121 -#define METATILE_General_CaveEntrance_Top 0x09F -#define METATILE_General_CaveEntrance_Bottom 0x0A7 -#define METATILE_General_RockWall_GrassBase 0x079 -#define METATILE_General_RockWall_RockBase 0x07C -#define METATILE_General_RockWall_SandBase 0x091 -#define METATILE_General_CalmWater 0x170 -#define METATILE_General_RoughWater 0x14E -#define METATILE_General_RoughDeepWater 0x14F -#define METATILE_General_ReflectiveWater 0x0A1 +#define METATILE_General_Grass 0x001 +#define METATILE_General_TallGrass 0x00D +#define METATILE_General_LongGrass 0x015 +#define METATILE_General_TallGrass_TreeUp 0x025 +#define METATILE_General_Grass_TreeUp 0x00E +#define METATILE_General_TallGrass_TreeLeft 0x1C6 +#define METATILE_General_TallGrass_TreeRight 0x1C7 +#define METATILE_General_Grass_TreeLeft 0x1CE +#define METATILE_General_Grass_TreeRight 0x1CF +#define METATILE_General_MuddySlope_Frame0 0x0E8 +#define METATILE_General_MuddySlope_Frame1 0x0E9 +#define METATILE_General_MuddySlope_Frame2 0x0EA +#define METATILE_General_MuddySlope_Frame3 0x0EB +#define METATILE_General_SandPit_Center 0x121 +#define METATILE_General_CaveEntrance_Top 0x09F +#define METATILE_General_CaveEntrance_Bottom 0x0A7 +#define METATILE_General_RockWall_GrassBase 0x079 +#define METATILE_General_RockWall_RockBase 0x07C +#define METATILE_General_RockWall_SandBase 0x091 +#define METATILE_General_CalmWater 0x170 +#define METATILE_General_RoughWater 0x14E +#define METATILE_General_RoughDeepWater 0x14F +#define METATILE_General_ReflectiveWater 0x0A1 +#define METATILE_General_SecretBase_TreeLeft 0x026 +#define METATILE_General_SecretBase_TreeRight 0x027 +#define METATILE_General_SecretBase_VineLeft 0x036 +#define METATILE_General_SecretBase_VineRight 0x037 +#define METATILE_General_RedCaveIndent 0x1A0 +#define METATILE_General_RedCaveOpen 0x1A1 +#define METATILE_General_YellowCaveIndent 0x1A8 +#define METATILE_General_YellowCaveOpen 0x1A9 +#define METATILE_General_BlueCaveIndent 0x1B0 +#define METATILE_General_BlueCaveOpen 0x1B1 // gTileset_Building #define METATILE_Building_PC_Off 0x004 @@ -68,13 +78,16 @@ #define METATILE_PetalburgGym_SlidingDoor_Frame3 0x21B #define METATILE_PetalburgGym_SlidingDoor_Frame4 0x21C -// gTileset_MossdeepGym -#define METATILE_MossdeepGym_Obelisk_Top 0x204 -#define METATILE_MossdeepGym_Obelisk_Base 0x20C -#define METATILE_MossdeepGym_Wall_LeftCorner 0x20D -#define METATILE_MossdeepGym_OuterWall_RightCorner 0x205 -#define METATILE_MossdeepGym_Empty0 0x238 -#define METATILE_MossdeepGym_Empty1 0x239 +// gTileset_MossdeepGym from R/S +#define METATILE_RS_MossdeepGym_RedArrow_Right 0x204 +#define METATILE_RS_MossdeepGym_RedArrow_Left 0x20C +#define METATILE_RS_MossdeepGym_RedArrow_Up 0x20D +#define METATILE_RS_MossdeepGym_RedArrow_Down 0x205 +#define METATILE_RS_MossdeepGym_Switch_Up 0x238 +#define METATILE_RS_MossdeepGym_Switch_Down 0x239 + +// gTileset_MossdeepGym from Emerald +#define METATILE_MossdeepGym_YellowArrow_Right 0x250 // gTileset_BrendansMaysHouse #define METATILE_BrendansMaysHouse_BrendanPC_Off 0x25A @@ -140,14 +153,16 @@ #define METATILE_Fortree_BridgeOverGrass_Lowered 0x24F #define METATILE_Fortree_BridgeOverTrees_Raised 0x256 #define METATILE_Fortree_BridgeOverTrees_Lowered 0x257 +#define METATILE_Fortree_SecretBase_Shrub 0x271 +#define METATILE_Fortree_SecretBase_ShrubOpen 0x278 #define METATILE_Fortree_SecretBase_LongGrass_TopLeft 0x279 #define METATILE_Fortree_SecretBase_LongGrass_TopMid 0x27A #define METATILE_Fortree_SecretBase_LongGrass_TopRight 0x27B #define METATILE_Fortree_SecretBase_LongGrass_BottomLeft 0x281 #define METATILE_Fortree_SecretBase_LongGrass_BottomMid 0x282 #define METATILE_Fortree_SecretBase_LongGrass_BottomRight 0x283 -#define METATILE_Fortree_WoodBridge_Kecleon0 0x297 -#define METATILE_Fortree_WoodBridge_Kecleon1 0x29F +#define METATILE_Fortree_WoodBridge1_Top 0x297 +#define METATILE_Fortree_WoodBridge1_Bottom 0x29F // gTileset_Sootopolis #define METATILE_Sootopolis_Door_Closed 0x248 @@ -161,6 +176,8 @@ // gTileset_Fallarbor #define METATILE_Fallarbor_AshGrass 0x20A +#define METATILE_Fallarbor_BrownCaveIndent 0x208 +#define METATILE_Fallarbor_BrownCaveOpen 0x210 #define METATILE_Fallarbor_NormalGrass 0x212 #define METATILE_Fallarbor_AshField 0x218 #define METATILE_Fallarbor_BrownCaveEntrance_Top 0x259 @@ -252,10 +269,10 @@ #define METATILE_EliteFour_EntryDoor_ClosedBottom 0x20E // gTileset_InsideShip -#define METATILE_InsideShip_InTactDoor0_Bottom 0x233 -#define METATILE_InsideShip_InTactDoor1_Bottom 0x22B -#define METATILE_InsideShip_DoorIndent1 0x21A -#define METATILE_InsideShip_DoorIndent0 0x234 +#define METATILE_InsideShip_IntactDoor_Bottom_Unlocked 0x22B +#define METATILE_InsideShip_IntactDoor_Bottom_Locked 0x233 +#define METATILE_InsideShip_DoorIndent_Unlocked 0x21A +#define METATILE_InsideShip_DoorIndent_Locked 0x234 // gTileset_BattlePike #define METATILE_BattlePike_Curtain_Stage0_Tile0 0x24A @@ -376,8 +393,9 @@ #define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Down 0x263 #define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left_Alt 0x27B #define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Right_Alt 0x27C +#define METATILE_TrickHousePuzzle_Arrow_YellowOnWhite_Right 0x298 -// gTileset_BikeShop +// gTileset_BikeShop (also used by New Mauville) #define METATILE_BikeShop_Barrier_Hidden_Top 0x269 #define METATILE_BikeShop_Barrier_Hidden_Bottom 0x271 #define METATILE_BikeShop_Floor_Shadow_Top 0x26D @@ -410,4 +428,162 @@ #define METATILE_Underwater_RockWall 0x21E #define METATILE_Underwater_FloorShadow 0x228 +// gTileset_SecretBase +#define METATILE_SecretBase_Wall_TopMid 0x202 +#define METATILE_SecretBase_Ground 0x20A +#define METATILE_SecretBase_PC 0x220 +#define METATILE_SecretBase_RegisterPC 0x221 +#define METATILE_SecretBase_PC_On 0x224 +#define METATILE_SecretBase_RedBrick_Top 0x225 +#define METATILE_SecretBase_RedBrick_Bottom 0x22D +#define METATILE_SecretBase_YellowBrick_Top 0x226 +#define METATILE_SecretBase_YellowBrick_Bottom 0x22E +#define METATILE_SecretBase_BlueBrick_Top 0x227 +#define METATILE_SecretBase_BlueBrick_Bottom 0x22F +#define METATILE_SecretBase_MudBall 0x228 +#define METATILE_SecretBase_Fence_Horizontal 0x22C +#define METATILE_SecretBase_Fence_Vertical 0x233 +#define METATILE_SecretBase_Board_Top 0x234 +#define METATILE_SecretBase_Board_Bottom 0x23C +#define METATILE_SecretBase_RedTent_DoorTop 0x239 +#define METATILE_SecretBase_RedTent_Door 0x241 +#define METATILE_SecretBase_BlueTent_DoorTop 0x251 +#define METATILE_SecretBase_BlueTent_Door 0x259 +#define METATILE_SecretBase_Slide_Stairs 0x23D +#define METATILE_SecretBase_Slide 0x23E +#define METATILE_SecretBase_Stand_LeftCorner 0x26A +#define METATILE_SecretBase_Stand_RightCorner 0x26D +#define METATILE_SecretBase_BreakableDoor_TopClosed 0x237 +#define METATILE_SecretBase_BreakableDoor_BottomClosed 0x23F +#define METATILE_SecretBase_BreakableDoor_TopOpen 0x26E +#define METATILE_SecretBase_BreakableDoor_BottomOpen 0x276 +#define METATILE_SecretBase_NoteMat_C 0x278 +#define METATILE_SecretBase_NoteMat_D 0x279 +#define METATILE_SecretBase_NoteMat_E 0x27A +#define METATILE_SecretBase_NoteMat_F 0x27B +#define METATILE_SecretBase_NoteMat_G 0x27C +#define METATILE_SecretBase_NoteMat_A 0x27D +#define METATILE_SecretBase_NoteMat_B 0x27E +#define METATILE_SecretBase_NoteMat_C_Sharp 0x2B3 +#define METATILE_SecretBase_Tire_TopLeft 0x280 +#define METATILE_SecretBase_Tire_TopRight 0x281 +#define METATILE_SecretBase_Tire_BottomLeft 0x288 +#define METATILE_SecretBase_Tire_BottomRight 0x289 +#define METATILE_SecretBase_GlassOrnament_Base1 0x28A +#define METATILE_SecretBase_GlassOrnament_Base2 0x28B +#define METATILE_SecretBase_SandOrnament_BrokenTop 0x284 +#define METATILE_SecretBase_SandOrnament_BrokenBase 0x28C +#define METATILE_SecretBase_SandOrnament_Top 0x285 +#define METATILE_SecretBase_SandOrnament_Base1 0x28D +#define METATILE_SecretBase_SandOrnament_TopWall 0x286 +#define METATILE_SecretBase_SandOrnament_Base2 0x28E +#define METATILE_SecretBase_SmallDesk 0x287 +#define METATILE_SecretBase_PokemonDesk 0x28F +#define METATILE_SecretBase_HeavyDesk_TopLeft 0x290 +#define METATILE_SecretBase_HeavyDesk_TopMid 0x291 +#define METATILE_SecretBase_HeavyDesk_TopRight 0x292 +#define METATILE_SecretBase_HeavyDesk_BottomLeft 0x298 +#define METATILE_SecretBase_HeavyDesk_BottomMid 0x299 +#define METATILE_SecretBase_HeavyDesk_BottomRight 0x29A +#define METATILE_SecretBase_RaggedDesk_TopLeft 0x293 +#define METATILE_SecretBase_RaggedDesk_TopMid 0x294 +#define METATILE_SecretBase_RaggedDesk_TopRight 0x295 +#define METATILE_SecretBase_RaggedDesk_BottomLeft 0x29B +#define METATILE_SecretBase_RaggedDesk_BottomMid 0x29C +#define METATILE_SecretBase_RaggedDesk_BottomRight 0x29D +#define METATILE_SecretBase_ComfortDesk_TopLeft 0x296 +#define METATILE_SecretBase_ComfortDesk_TopMid 0x297 +#define METATILE_SecretBase_ComfortDesk_TopRight 0x2A3 +#define METATILE_SecretBase_ComfortDesk_BottomLeft 0x29E +#define METATILE_SecretBase_ComfortDesk_BottomMid 0x29F +#define METATILE_SecretBase_ComfortDesk_BottomRight 0x2AB +#define METATILE_SecretBase_BrickDesk_TopLeft 0x2A0 +#define METATILE_SecretBase_BrickDesk_TopMid 0x2A1 +#define METATILE_SecretBase_BrickDesk_TopRight 0x2A2 +#define METATILE_SecretBase_BrickDesk_MidLeft 0x2A8 +#define METATILE_SecretBase_BrickDesk_Center 0x2A9 +#define METATILE_SecretBase_BrickDesk_MidRight 0x2AA +#define METATILE_SecretBase_BrickDesk_BottomLeft 0x2B0 +#define METATILE_SecretBase_BrickDesk_BottomMid 0x2B1 +#define METATILE_SecretBase_BrickDesk_BottomRight 0x2B2 +#define METATILE_SecretBase_CampDesk_TopLeft 0x2A4 +#define METATILE_SecretBase_CampDesk_TopMid 0x2A5 +#define METATILE_SecretBase_CampDesk_TopRight 0x2A6 +#define METATILE_SecretBase_CampDesk_MidLeft 0x2AC +#define METATILE_SecretBase_CampDesk_Center 0x2AD +#define METATILE_SecretBase_CampDesk_MidRight 0x2AE +#define METATILE_SecretBase_CampDesk_BottomLeft 0x2B4 +#define METATILE_SecretBase_CampDesk_BottomMid 0x2B5 +#define METATILE_SecretBase_CampDesk_BottomRight 0x2B6 +#define METATILE_SecretBase_HardDesk_TopLeft 0x2A7 +#define METATILE_SecretBase_HardDesk_TopMid 0x2BB +#define METATILE_SecretBase_HardDesk_TopRight 0x2BC +#define METATILE_SecretBase_HardDesk_MidLeft 0x2AF +#define METATILE_SecretBase_HardDesk_Center 0x2C3 +#define METATILE_SecretBase_HardDesk_MidRight 0x2C4 +#define METATILE_SecretBase_HardDesk_BottomLeft 0x2B7 +#define METATILE_SecretBase_HardDesk_BottomMid 0x2CB +#define METATILE_SecretBase_HardDesk_BottomRight 0x2CC +#define METATILE_SecretBase_PrettyDesk_TopLeft 0x2BD +#define METATILE_SecretBase_PrettyDesk_TopMid 0x2BE +#define METATILE_SecretBase_PrettyDesk_TopRight 0x2BF +#define METATILE_SecretBase_PrettyDesk_MidLeft 0x2C5 +#define METATILE_SecretBase_PrettyDesk_Center 0x2C6 +#define METATILE_SecretBase_PrettyDesk_MidRight 0x2C7 +#define METATILE_SecretBase_PrettyDesk_BottomLeft 0x2CD +#define METATILE_SecretBase_PrettyDesk_BottomMid 0x2CE +#define METATILE_SecretBase_PrettyDesk_BottomRight 0x2CF +#define METATILE_SecretBase_SmallChair 0x2B8 +#define METATILE_SecretBase_PokemonChair 0x2B9 +#define METATILE_SecretBase_HeavyChair 0x2BA +#define METATILE_SecretBase_PrettyChair 0x2C0 +#define METATILE_SecretBase_ComfortChair 0x2C1 +#define METATILE_SecretBase_RaggedChair 0x2C2 +#define METATILE_SecretBase_BrickChair 0x2C8 +#define METATILE_SecretBase_CampChair 0x2C9 +#define METATILE_SecretBase_HardChair 0x2Ca +#define METATILE_SecretBase_RedPlant_Base1 0x2D8 +#define METATILE_SecretBase_RedPlant_Base2 0x2D9 +#define METATILE_SecretBase_TropicalPlant_Base1 0x2DA +#define METATILE_SecretBase_TropicalPlant_Base2 0x2DB +#define METATILE_SecretBase_PrettyFlower_Base1 0x2DC +#define METATILE_SecretBase_PrettyFlower_Base2 0x2DD +#define METATILE_SecretBase_ColorfulFlowers_BaseLeft1 0x2E8 +#define METATILE_SecretBase_ColorfulFlowers_BaseRight1 0x2E9 +#define METATILE_SecretBase_ColorfulFlowers_BaseLeft2 0x2EA +#define METATILE_SecretBase_ColorfulFlowers_BaseRight2 0x2EB +#define METATILE_SecretBase_BigPlant_BaseLeft1 0x2EC +#define METATILE_SecretBase_BigPlant_BaseRight1 0x2ED +#define METATILE_SecretBase_BigPlant_BaseLeft2 0x2EE +#define METATILE_SecretBase_BigPlant_BaseRight2 0x2EF +#define METATILE_SecretBase_GorgeousPlant_BaseLeft1 0x2F8 +#define METATILE_SecretBase_GorgeousPlant_BaseRight1 0x2F9 +#define METATILE_SecretBase_GorgeousPlant_BaseLeft2 0x2FA +#define METATILE_SecretBase_GorgeousPlant_BaseRight2 0x2FB +#define METATILE_SecretBase_TV 0x2F4 +#define METATILE_SecretBase_RoundTV 0x2F5 +#define METATILE_SecretBase_CuteTV 0x2F6 +#define METATILE_SecretBase_PikaPoster_Left 0x31C +#define METATILE_SecretBase_PikaPoster_Right 0x31D +#define METATILE_SecretBase_LongPoster_Left 0x31E +#define METATILE_SecretBase_LongPoster_Right 0x31F +#define METATILE_SecretBase_SeaPoster_Left 0x324 +#define METATILE_SecretBase_SeaPoster_Right 0x325 +#define METATILE_SecretBase_SkyPoster_Left 0x326 +#define METATILE_SecretBase_SkyPoster_Right 0x327 +#define METATILE_SecretBase_KissPoster_Left 0x32C +#define METATILE_SecretBase_KissPoster_Right 0x32D +#define METATILE_SecretBase_BallPoster 0x330 +#define METATILE_SecretBase_GreenPoster 0x331 +#define METATILE_SecretBase_RedPoster 0x332 +#define METATILE_SecretBase_BluePoster 0x333 +#define METATILE_SecretBase_CutePoster 0x334 +#define METATILE_SecretBase_SilverShield_Base1 0x2DE +#define METATILE_SecretBase_SilverShield_Base2 0x2DF +#define METATILE_SecretBase_GoldShield_Base1 0x336 +#define METATILE_SecretBase_GoldShield_Base2 0x337 +#define METATILE_SecretBase_RedBalloon 0x338 +#define METATILE_SecretBase_BlueBalloon 0x33c +#define METATILE_SecretBase_YellowBalloon 0x340 + #endif // GUARD_METATILE_LABELS_H diff --git a/include/constants/mevent.h b/include/constants/mevent.h new file mode 100644 index 0000000000..25bbcdf368 --- /dev/null +++ b/include/constants/mevent.h @@ -0,0 +1,15 @@ +#ifndef GUARD_CONSTANTS_MEVENT_H +#define GUARD_CONSTANTS_MEVENT_H + +// mevent2.c +#define GET_NUM_STAMPS 0 +#define GET_MAX_STAMPS 1 +#define GET_CARD_BATTLES_WON 2 + +#define GET_NUM_STAMPS_INTERNAL 3 +#define GET_MAX_STAMPS_INTERNAL 4 +#define GET_CARD_BATTLES_WON_INTERNAL 0 + +#define REQUIRED_CARD_BATTLES 3 + +#endif //GUARD_MEVENT_H diff --git a/include/constants/opponents.h b/include/constants/opponents.h index 9f74baf675..cd35cf6b71 100644 --- a/include/constants/opponents.h +++ b/include/constants/opponents.h @@ -1,862 +1,866 @@ #ifndef GUARD_CONSTANTS_OPPONENTS_H #define GUARD_CONSTANTS_OPPONENTS_H -#define TRAINER_NONE 0 -#define TRAINER_SAWYER_1 1 -#define TRAINER_GRUNT_1 2 -#define TRAINER_GRUNT_2 3 -#define TRAINER_GRUNT_3 4 -#define TRAINER_GRUNT_4 5 -#define TRAINER_GRUNT_5 6 -#define TRAINER_GRUNT_6 7 -#define TRAINER_GRUNT_7 8 -#define TRAINER_GABRIELLE_1 9 -#define TRAINER_GRUNT_8 10 -#define TRAINER_MARCEL 11 -#define TRAINER_ALBERTO 12 -#define TRAINER_ED 13 -#define TRAINER_GRUNT_9 14 -#define TRAINER_DECLAN 15 -#define TRAINER_GRUNT_10 16 -#define TRAINER_GRUNT_11 17 -#define TRAINER_GRUNT_12 18 -#define TRAINER_GRUNT_13 19 -#define TRAINER_GRUNT_14 20 -#define TRAINER_GRUNT_15 21 -#define TRAINER_GRUNT_16 22 -#define TRAINER_GRUNT_17 23 -#define TRAINER_GRUNT_18 24 -#define TRAINER_GRUNT_19 25 -#define TRAINER_GRUNT_20 26 -#define TRAINER_GRUNT_21 27 -#define TRAINER_GRUNT_22 28 -#define TRAINER_FREDRICK 29 -#define TRAINER_MATT 30 -#define TRAINER_ZANDER 31 -#define TRAINER_SHELLY_1 32 -#define TRAINER_SHELLY_2 33 -#define TRAINER_ARCHIE 34 -#define TRAINER_LEAH 35 -#define TRAINER_DAISY 36 -#define TRAINER_ROSE_1 37 -#define TRAINER_FELIX 38 -#define TRAINER_VIOLET 39 -#define TRAINER_ROSE_2 40 -#define TRAINER_ROSE_3 41 -#define TRAINER_ROSE_4 42 -#define TRAINER_ROSE_5 43 -#define TRAINER_DUSTY_1 44 -#define TRAINER_CHIP 45 -#define TRAINER_FOSTER 46 -#define TRAINER_DUSTY_2 47 -#define TRAINER_DUSTY_3 48 -#define TRAINER_DUSTY_4 49 -#define TRAINER_DUSTY_5 50 -#define TRAINER_GABBY_AND_TY_1 51 -#define TRAINER_GABBY_AND_TY_2 52 -#define TRAINER_GABBY_AND_TY_3 53 -#define TRAINER_GABBY_AND_TY_4 54 -#define TRAINER_GABBY_AND_TY_5 55 -#define TRAINER_GABBY_AND_TY_6 56 -#define TRAINER_LOLA_1 57 -#define TRAINER_AUSTINA 58 -#define TRAINER_GWEN 59 -#define TRAINER_LOLA_2 60 -#define TRAINER_LOLA_3 61 -#define TRAINER_LOLA_4 62 -#define TRAINER_LOLA_5 63 -#define TRAINER_RICKY_1 64 -#define TRAINER_SIMON 65 -#define TRAINER_CHARLIE 66 -#define TRAINER_RICKY_2 67 -#define TRAINER_RICKY_3 68 -#define TRAINER_RICKY_4 69 -#define TRAINER_RICKY_5 70 -#define TRAINER_RANDALL 71 -#define TRAINER_PARKER 72 -#define TRAINER_GEORGE 73 -#define TRAINER_BERKE 74 -#define TRAINER_BRAXTON 75 -#define TRAINER_VINCENT 76 -#define TRAINER_LEROY 77 -#define TRAINER_WILTON_1 78 -#define TRAINER_EDGAR 79 -#define TRAINER_ALBERT 80 -#define TRAINER_SAMUEL 81 -#define TRAINER_VITO 82 -#define TRAINER_OWEN 83 -#define TRAINER_WILTON_2 84 -#define TRAINER_WILTON_3 85 -#define TRAINER_WILTON_4 86 -#define TRAINER_WILTON_5 87 -#define TRAINER_WARREN 88 -#define TRAINER_MARY 89 -#define TRAINER_ALEXIA 90 -#define TRAINER_JODY 91 -#define TRAINER_WENDY 92 -#define TRAINER_KEIRA 93 -#define TRAINER_BROOKE_1 94 -#define TRAINER_JENNIFER 95 -#define TRAINER_HOPE 96 -#define TRAINER_SHANNON 97 -#define TRAINER_MICHELLE 98 -#define TRAINER_CAROLINE 99 -#define TRAINER_JULIE 100 -#define TRAINER_BROOKE_2 101 -#define TRAINER_BROOKE_3 102 -#define TRAINER_BROOKE_4 103 -#define TRAINER_BROOKE_5 104 -#define TRAINER_PATRICIA 105 -#define TRAINER_KINDRA 106 -#define TRAINER_TAMMY 107 -#define TRAINER_VALERIE_1 108 -#define TRAINER_TASHA 109 -#define TRAINER_VALERIE_2 110 -#define TRAINER_VALERIE_3 111 -#define TRAINER_VALERIE_4 112 -#define TRAINER_VALERIE_5 113 -#define TRAINER_CINDY_1 114 -#define TRAINER_DAPHNE 115 -#define TRAINER_GRUNT_23 116 -#define TRAINER_CINDY_2 117 -#define TRAINER_BRIANNA 118 -#define TRAINER_NAOMI 119 -#define TRAINER_CINDY_3 120 -#define TRAINER_CINDY_4 121 -#define TRAINER_CINDY_5 122 -#define TRAINER_CINDY_6 123 -#define TRAINER_MELISSA 124 -#define TRAINER_SHEILA 125 -#define TRAINER_SHIRLEY 126 -#define TRAINER_JESSICA_1 127 -#define TRAINER_CONNIE 128 -#define TRAINER_BRIDGET 129 -#define TRAINER_OLIVIA 130 -#define TRAINER_TIFFANY 131 -#define TRAINER_JESSICA_2 132 -#define TRAINER_JESSICA_3 133 -#define TRAINER_JESSICA_4 134 -#define TRAINER_JESSICA_5 135 -#define TRAINER_WINSTON_1 136 -#define TRAINER_MOLLIE 137 -#define TRAINER_GARRET 138 -#define TRAINER_WINSTON_2 139 -#define TRAINER_WINSTON_3 140 -#define TRAINER_WINSTON_4 141 -#define TRAINER_WINSTON_5 142 -#define TRAINER_STEVE_1 143 -#define TRAINER_THALIA_1 144 -#define TRAINER_MARK 145 -#define TRAINER_GRUNT_24 146 -#define TRAINER_STEVE_2 147 -#define TRAINER_STEVE_3 148 -#define TRAINER_STEVE_4 149 -#define TRAINER_STEVE_5 150 -#define TRAINER_LUIS 151 -#define TRAINER_DOMINIK 152 -#define TRAINER_DOUGLAS 153 -#define TRAINER_DARRIN 154 -#define TRAINER_TONY_1 155 -#define TRAINER_JEROME 156 -#define TRAINER_MATTHEW 157 -#define TRAINER_DAVID 158 -#define TRAINER_SPENCER 159 -#define TRAINER_ROLAND 160 -#define TRAINER_NOLEN 161 -#define TRAINER_STAN 162 -#define TRAINER_BARRY 163 -#define TRAINER_DEAN 164 -#define TRAINER_RODNEY 165 -#define TRAINER_RICHARD 166 -#define TRAINER_HERMAN 167 -#define TRAINER_SANTIAGO 168 -#define TRAINER_GILBERT 169 -#define TRAINER_FRANKLIN 170 -#define TRAINER_KEVIN 171 -#define TRAINER_JACK 172 -#define TRAINER_DUDLEY 173 -#define TRAINER_CHAD 174 -#define TRAINER_TONY_2 175 -#define TRAINER_TONY_3 176 -#define TRAINER_TONY_4 177 -#define TRAINER_TONY_5 178 -#define TRAINER_TAKAO 179 -#define TRAINER_HITOSHI 180 -#define TRAINER_KIYO 181 -#define TRAINER_KOICHI 182 -#define TRAINER_NOB_1 183 -#define TRAINER_NOB_2 184 -#define TRAINER_NOB_3 185 -#define TRAINER_NOB_4 186 -#define TRAINER_NOB_5 187 -#define TRAINER_YUJI 188 -#define TRAINER_DAISUKE 189 -#define TRAINER_ATSUSHI 190 -#define TRAINER_KIRK 191 -#define TRAINER_GRUNT_25 192 -#define TRAINER_GRUNT_26 193 -#define TRAINER_SHAWN 194 -#define TRAINER_FERNANDO_1 195 -#define TRAINER_DALTON_1 196 -#define TRAINER_DALTON_2 197 -#define TRAINER_DALTON_3 198 -#define TRAINER_DALTON_4 199 -#define TRAINER_DALTON_5 200 -#define TRAINER_COLE 201 -#define TRAINER_JEFF 202 -#define TRAINER_AXLE 203 -#define TRAINER_JACE 204 -#define TRAINER_KEEGAN 205 -#define TRAINER_BERNIE_1 206 -#define TRAINER_BERNIE_2 207 -#define TRAINER_BERNIE_3 208 -#define TRAINER_BERNIE_4 209 -#define TRAINER_BERNIE_5 210 -#define TRAINER_DREW 211 -#define TRAINER_BEAU 212 -#define TRAINER_LARRY 213 -#define TRAINER_SHANE 214 -#define TRAINER_JUSTIN 215 -#define TRAINER_ETHAN_1 216 -#define TRAINER_AUTUMN 217 -#define TRAINER_TRAVIS 218 -#define TRAINER_ETHAN_2 219 -#define TRAINER_ETHAN_3 220 -#define TRAINER_ETHAN_4 221 -#define TRAINER_ETHAN_5 222 -#define TRAINER_BRENT 223 -#define TRAINER_DONALD 224 -#define TRAINER_TAYLOR 225 -#define TRAINER_JEFFREY_1 226 -#define TRAINER_DEREK 227 -#define TRAINER_JEFFREY_2 228 -#define TRAINER_JEFFREY_3 229 -#define TRAINER_JEFFREY_4 230 -#define TRAINER_JEFFREY_5 231 -#define TRAINER_EDWARD 232 -#define TRAINER_PRESTON 233 -#define TRAINER_VIRGIL 234 -#define TRAINER_BLAKE 235 -#define TRAINER_WILLIAM 236 -#define TRAINER_JOSHUA 237 -#define TRAINER_CAMERON_1 238 -#define TRAINER_CAMERON_2 239 -#define TRAINER_CAMERON_3 240 -#define TRAINER_CAMERON_4 241 -#define TRAINER_CAMERON_5 242 -#define TRAINER_JACLYN 243 -#define TRAINER_HANNAH 244 -#define TRAINER_SAMANTHA 245 -#define TRAINER_MAURA 246 -#define TRAINER_KAYLA 247 -#define TRAINER_ALEXIS 248 -#define TRAINER_JACKI_1 249 -#define TRAINER_JACKI_2 250 -#define TRAINER_JACKI_3 251 -#define TRAINER_JACKI_4 252 -#define TRAINER_JACKI_5 253 -#define TRAINER_WALTER_1 254 -#define TRAINER_MICAH 255 -#define TRAINER_THOMAS 256 -#define TRAINER_WALTER_2 257 -#define TRAINER_WALTER_3 258 -#define TRAINER_WALTER_4 259 -#define TRAINER_WALTER_5 260 -#define TRAINER_SIDNEY 261 -#define TRAINER_PHOEBE 262 -#define TRAINER_GLACIA 263 -#define TRAINER_DRAKE 264 -#define TRAINER_ROXANNE_1 265 -#define TRAINER_BRAWLY_1 266 -#define TRAINER_WATTSON_1 267 -#define TRAINER_FLANNERY_1 268 -#define TRAINER_NORMAN_1 269 -#define TRAINER_WINONA_1 270 -#define TRAINER_TATE_AND_LIZA_1 271 -#define TRAINER_JUAN_1 272 -#define TRAINER_JERRY_1 273 -#define TRAINER_TED 274 -#define TRAINER_PAUL 275 -#define TRAINER_JERRY_2 276 -#define TRAINER_JERRY_3 277 -#define TRAINER_JERRY_4 278 -#define TRAINER_JERRY_5 279 -#define TRAINER_KAREN_1 280 -#define TRAINER_GEORGIA 281 -#define TRAINER_KAREN_2 282 -#define TRAINER_KAREN_3 283 -#define TRAINER_KAREN_4 284 -#define TRAINER_KAREN_5 285 -#define TRAINER_KATE_AND_JOY 286 -#define TRAINER_ANNA_AND_MEG_1 287 -#define TRAINER_ANNA_AND_MEG_2 288 -#define TRAINER_ANNA_AND_MEG_3 289 -#define TRAINER_ANNA_AND_MEG_4 290 -#define TRAINER_ANNA_AND_MEG_5 291 -#define TRAINER_VICTOR 292 -#define TRAINER_MIGUEL_1 293 -#define TRAINER_COLTON 294 -#define TRAINER_MIGUEL_2 295 -#define TRAINER_MIGUEL_3 296 -#define TRAINER_MIGUEL_4 297 -#define TRAINER_MIGUEL_5 298 -#define TRAINER_VICTORIA 299 -#define TRAINER_VANESSA 300 -#define TRAINER_BETHANY 301 -#define TRAINER_ISABEL_1 302 -#define TRAINER_ISABEL_2 303 -#define TRAINER_ISABEL_3 304 -#define TRAINER_ISABEL_4 305 -#define TRAINER_ISABEL_5 306 -#define TRAINER_TIMOTHY_1 307 -#define TRAINER_TIMOTHY_2 308 -#define TRAINER_TIMOTHY_3 309 -#define TRAINER_TIMOTHY_4 310 -#define TRAINER_TIMOTHY_5 311 -#define TRAINER_VICKY 312 -#define TRAINER_SHELBY_1 313 -#define TRAINER_SHELBY_2 314 -#define TRAINER_SHELBY_3 315 -#define TRAINER_SHELBY_4 316 -#define TRAINER_SHELBY_5 317 -#define TRAINER_CALVIN_1 318 -#define TRAINER_BILLY 319 -#define TRAINER_JOSH 320 -#define TRAINER_TOMMY 321 -#define TRAINER_JOEY 322 -#define TRAINER_BEN 323 -#define TRAINER_QUINCY 324 -#define TRAINER_KATELYNN 325 -#define TRAINER_JAYLEN 326 -#define TRAINER_DILLON 327 -#define TRAINER_CALVIN_2 328 -#define TRAINER_CALVIN_3 329 -#define TRAINER_CALVIN_4 330 -#define TRAINER_CALVIN_5 331 -#define TRAINER_EDDIE 332 -#define TRAINER_ALLEN 333 -#define TRAINER_TIMMY 334 -#define TRAINER_WALLACE 335 -#define TRAINER_ANDREW 336 -#define TRAINER_IVAN 337 -#define TRAINER_CLAUDE 338 -#define TRAINER_ELLIOT_1 339 -#define TRAINER_NED 340 -#define TRAINER_DALE 341 -#define TRAINER_NOLAN 342 -#define TRAINER_BARNY 343 -#define TRAINER_WADE 344 -#define TRAINER_CARTER 345 -#define TRAINER_ELLIOT_2 346 -#define TRAINER_ELLIOT_3 347 -#define TRAINER_ELLIOT_4 348 -#define TRAINER_ELLIOT_5 349 -#define TRAINER_RONALD 350 -#define TRAINER_JACOB 351 -#define TRAINER_ANTHONY 352 -#define TRAINER_BENJAMIN_1 353 -#define TRAINER_BENJAMIN_2 354 -#define TRAINER_BENJAMIN_3 355 -#define TRAINER_BENJAMIN_4 356 -#define TRAINER_BENJAMIN_5 357 -#define TRAINER_ABIGAIL_1 358 -#define TRAINER_JASMINE 359 -#define TRAINER_ABIGAIL_2 360 -#define TRAINER_ABIGAIL_3 361 -#define TRAINER_ABIGAIL_4 362 -#define TRAINER_ABIGAIL_5 363 -#define TRAINER_DYLAN_1 364 -#define TRAINER_DYLAN_2 365 -#define TRAINER_DYLAN_3 366 -#define TRAINER_DYLAN_4 367 -#define TRAINER_DYLAN_5 368 -#define TRAINER_MARIA_1 369 -#define TRAINER_MARIA_2 370 -#define TRAINER_MARIA_3 371 -#define TRAINER_MARIA_4 372 -#define TRAINER_MARIA_5 373 -#define TRAINER_CAMDEN 374 -#define TRAINER_DEMETRIUS 375 -#define TRAINER_ISAIAH_1 376 -#define TRAINER_PABLO_1 377 -#define TRAINER_CHASE 378 -#define TRAINER_ISAIAH_2 379 -#define TRAINER_ISAIAH_3 380 -#define TRAINER_ISAIAH_4 381 -#define TRAINER_ISAIAH_5 382 -#define TRAINER_ISOBEL 383 -#define TRAINER_DONNY 384 -#define TRAINER_TALIA 385 -#define TRAINER_KATELYN_1 386 -#define TRAINER_ALLISON 387 -#define TRAINER_KATELYN_2 388 -#define TRAINER_KATELYN_3 389 -#define TRAINER_KATELYN_4 390 -#define TRAINER_KATELYN_5 391 -#define TRAINER_NICOLAS_1 392 -#define TRAINER_NICOLAS_2 393 -#define TRAINER_NICOLAS_3 394 -#define TRAINER_NICOLAS_4 395 -#define TRAINER_NICOLAS_5 396 -#define TRAINER_AARON 397 -#define TRAINER_PERRY 398 -#define TRAINER_HUGH 399 -#define TRAINER_PHIL 400 -#define TRAINER_JARED 401 -#define TRAINER_HUMBERTO 402 -#define TRAINER_PRESLEY 403 -#define TRAINER_EDWARDO 404 -#define TRAINER_COLIN 405 -#define TRAINER_ROBERT_1 406 -#define TRAINER_BENNY 407 -#define TRAINER_CHESTER 408 -#define TRAINER_ROBERT_2 409 -#define TRAINER_ROBERT_3 410 -#define TRAINER_ROBERT_4 411 -#define TRAINER_ROBERT_5 412 -#define TRAINER_ALEX 413 -#define TRAINER_BECK 414 -#define TRAINER_YASU 415 -#define TRAINER_TAKASHI 416 -#define TRAINER_DIANNE 417 -#define TRAINER_JANI 418 -#define TRAINER_LAO_1 419 -#define TRAINER_LUNG 420 -#define TRAINER_LAO_2 421 -#define TRAINER_LAO_3 422 -#define TRAINER_LAO_4 423 -#define TRAINER_LAO_5 424 -#define TRAINER_JOCELYN 425 -#define TRAINER_LAURA 426 -#define TRAINER_CYNDY_1 427 -#define TRAINER_CORA 428 -#define TRAINER_PAULA 429 -#define TRAINER_CYNDY_2 430 -#define TRAINER_CYNDY_3 431 -#define TRAINER_CYNDY_4 432 -#define TRAINER_CYNDY_5 433 -#define TRAINER_MADELINE_1 434 -#define TRAINER_CLARISSA 435 -#define TRAINER_ANGELICA 436 -#define TRAINER_MADELINE_2 437 -#define TRAINER_MADELINE_3 438 -#define TRAINER_MADELINE_4 439 -#define TRAINER_MADELINE_5 440 -#define TRAINER_BEVERLY 441 -#define TRAINER_IMANI 442 -#define TRAINER_KYLA 443 -#define TRAINER_DENISE 444 -#define TRAINER_BETH 445 -#define TRAINER_TARA 446 -#define TRAINER_MISSY 447 -#define TRAINER_ALICE 448 -#define TRAINER_JENNY_1 449 -#define TRAINER_GRACE 450 -#define TRAINER_TANYA 451 -#define TRAINER_SHARON 452 -#define TRAINER_NIKKI 453 -#define TRAINER_BRENDA 454 -#define TRAINER_KATIE 455 -#define TRAINER_SUSIE 456 -#define TRAINER_KARA 457 -#define TRAINER_DANA 458 -#define TRAINER_SIENNA 459 -#define TRAINER_DEBRA 460 -#define TRAINER_LINDA 461 -#define TRAINER_KAYLEE 462 -#define TRAINER_LAUREL 463 -#define TRAINER_CARLEE 464 -#define TRAINER_JENNY_2 465 -#define TRAINER_JENNY_3 466 -#define TRAINER_JENNY_4 467 -#define TRAINER_JENNY_5 468 -#define TRAINER_HEIDI 469 -#define TRAINER_BECKY 470 -#define TRAINER_CAROL 471 -#define TRAINER_NANCY 472 -#define TRAINER_MARTHA 473 -#define TRAINER_DIANA_1 474 -#define TRAINER_CEDRIC 475 -#define TRAINER_IRENE 476 -#define TRAINER_DIANA_2 477 -#define TRAINER_DIANA_3 478 -#define TRAINER_DIANA_4 479 -#define TRAINER_DIANA_5 480 -#define TRAINER_AMY_AND_LIV_1 481 -#define TRAINER_AMY_AND_LIV_2 482 -#define TRAINER_GINA_AND_MIA_1 483 -#define TRAINER_MIU_AND_YUKI 484 -#define TRAINER_AMY_AND_LIV_3 485 -#define TRAINER_GINA_AND_MIA_2 486 -#define TRAINER_AMY_AND_LIV_4 487 -#define TRAINER_AMY_AND_LIV_5 488 -#define TRAINER_AMY_AND_LIV_6 489 -#define TRAINER_HUEY 490 -#define TRAINER_EDMOND 491 -#define TRAINER_ERNEST_1 492 -#define TRAINER_DWAYNE 493 -#define TRAINER_PHILLIP 494 -#define TRAINER_LEONARD 495 -#define TRAINER_DUNCAN 496 -#define TRAINER_ERNEST_2 497 -#define TRAINER_ERNEST_3 498 -#define TRAINER_ERNEST_4 499 -#define TRAINER_ERNEST_5 500 -#define TRAINER_ELI 501 -#define TRAINER_ANNIKA 502 -#define TRAINER_JAZMYN 503 -#define TRAINER_JONAS 504 -#define TRAINER_KAYLEY 505 -#define TRAINER_AURON 506 -#define TRAINER_KELVIN 507 -#define TRAINER_MARLEY 508 -#define TRAINER_REYNA 509 -#define TRAINER_HUDSON 510 -#define TRAINER_CONOR 511 -#define TRAINER_EDWIN_1 512 -#define TRAINER_HECTOR 513 -#define TRAINER_TABITHA_1 514 -#define TRAINER_EDWIN_2 515 -#define TRAINER_EDWIN_3 516 -#define TRAINER_EDWIN_4 517 -#define TRAINER_EDWIN_5 518 -#define TRAINER_WALLY_1 519 -#define TRAINER_BRENDAN_1 520 -#define TRAINER_BRENDAN_2 521 -#define TRAINER_BRENDAN_3 522 -#define TRAINER_BRENDAN_4 523 -#define TRAINER_BRENDAN_5 524 -#define TRAINER_BRENDAN_6 525 -#define TRAINER_BRENDAN_7 526 -#define TRAINER_BRENDAN_8 527 -#define TRAINER_BRENDAN_9 528 -#define TRAINER_MAY_1 529 -#define TRAINER_MAY_2 530 -#define TRAINER_MAY_3 531 -#define TRAINER_MAY_4 532 -#define TRAINER_MAY_5 533 -#define TRAINER_MAY_6 534 -#define TRAINER_MAY_7 535 -#define TRAINER_MAY_8 536 -#define TRAINER_MAY_9 537 -#define TRAINER_ISAAC_1 538 -#define TRAINER_DAVIS 539 -#define TRAINER_MITCHELL 540 -#define TRAINER_ISAAC_2 541 -#define TRAINER_ISAAC_3 542 -#define TRAINER_ISAAC_4 543 -#define TRAINER_ISAAC_5 544 -#define TRAINER_LYDIA_1 545 -#define TRAINER_HALLE 546 -#define TRAINER_GARRISON 547 -#define TRAINER_LYDIA_2 548 -#define TRAINER_LYDIA_3 549 -#define TRAINER_LYDIA_4 550 -#define TRAINER_LYDIA_5 551 -#define TRAINER_JACKSON_1 552 -#define TRAINER_LORENZO 553 -#define TRAINER_SEBASTIAN 554 -#define TRAINER_JACKSON_2 555 -#define TRAINER_JACKSON_3 556 -#define TRAINER_JACKSON_4 557 -#define TRAINER_JACKSON_5 558 -#define TRAINER_CATHERINE_1 559 -#define TRAINER_JENNA 560 -#define TRAINER_SOPHIA 561 -#define TRAINER_CATHERINE_2 562 -#define TRAINER_CATHERINE_3 563 -#define TRAINER_CATHERINE_4 564 -#define TRAINER_CATHERINE_5 565 -#define TRAINER_JULIO 566 -#define TRAINER_GRUNT_27 567 -#define TRAINER_GRUNT_28 568 -#define TRAINER_GRUNT_29 569 -#define TRAINER_GRUNT_30 570 -#define TRAINER_MARC 571 -#define TRAINER_BRENDEN 572 -#define TRAINER_LILITH 573 -#define TRAINER_CRISTIAN 574 -#define TRAINER_SYLVIA 575 -#define TRAINER_LEONARDO 576 -#define TRAINER_ATHENA 577 -#define TRAINER_HARRISON 578 -#define TRAINER_GRUNT_31 579 -#define TRAINER_CLARENCE 580 -#define TRAINER_TERRY 581 -#define TRAINER_NATE 582 -#define TRAINER_KATHLEEN 583 -#define TRAINER_CLIFFORD 584 -#define TRAINER_NICHOLAS 585 -#define TRAINER_GRUNT_32 586 -#define TRAINER_GRUNT_33 587 -#define TRAINER_GRUNT_34 588 -#define TRAINER_GRUNT_35 589 -#define TRAINER_GRUNT_36 590 -#define TRAINER_MACEY 591 -#define TRAINER_BRENDAN_10 592 -#define TRAINER_BRENDAN_11 593 -#define TRAINER_PAXTON 594 -#define TRAINER_ISABELLA 595 -#define TRAINER_GRUNT_37 596 -#define TRAINER_TABITHA_2 597 -#define TRAINER_JONATHAN 598 -#define TRAINER_BRENDAN_12 599 -#define TRAINER_MAY_10 600 -#define TRAINER_MAXIE_1 601 -#define TRAINER_MAXIE_2 602 -#define TRAINER_TIANA 603 -#define TRAINER_HALEY_1 604 -#define TRAINER_JANICE 605 -#define TRAINER_VIVI 606 -#define TRAINER_HALEY_2 607 -#define TRAINER_HALEY_3 608 -#define TRAINER_HALEY_4 609 -#define TRAINER_HALEY_5 610 -#define TRAINER_SALLY 611 -#define TRAINER_ROBIN 612 -#define TRAINER_ANDREA 613 -#define TRAINER_CRISSY 614 -#define TRAINER_RICK 615 -#define TRAINER_LYLE 616 -#define TRAINER_JOSE 617 -#define TRAINER_DOUG 618 -#define TRAINER_GREG 619 -#define TRAINER_KENT 620 -#define TRAINER_JAMES_1 621 -#define TRAINER_JAMES_2 622 -#define TRAINER_JAMES_3 623 -#define TRAINER_JAMES_4 624 -#define TRAINER_JAMES_5 625 -#define TRAINER_BRICE 626 -#define TRAINER_TRENT_1 627 -#define TRAINER_LENNY 628 -#define TRAINER_LUCAS_1 629 -#define TRAINER_ALAN 630 -#define TRAINER_CLARK 631 -#define TRAINER_ERIC 632 -#define TRAINER_LUCAS_2 633 -#define TRAINER_MIKE_1 634 -#define TRAINER_MIKE_2 635 -#define TRAINER_TRENT_2 636 -#define TRAINER_TRENT_3 637 -#define TRAINER_TRENT_4 638 -#define TRAINER_TRENT_5 639 -#define TRAINER_DEZ_AND_LUKE 640 -#define TRAINER_LEA_AND_JED 641 -#define TRAINER_KIRA_AND_DAN_1 642 -#define TRAINER_KIRA_AND_DAN_2 643 -#define TRAINER_KIRA_AND_DAN_3 644 -#define TRAINER_KIRA_AND_DAN_4 645 -#define TRAINER_KIRA_AND_DAN_5 646 -#define TRAINER_JOHANNA 647 -#define TRAINER_GERALD 648 -#define TRAINER_VIVIAN 649 -#define TRAINER_DANIELLE 650 -#define TRAINER_HIDEO 651 -#define TRAINER_KEIGO 652 -#define TRAINER_RILEY 653 -#define TRAINER_FLINT 654 -#define TRAINER_ASHLEY 655 -#define TRAINER_WALLY_2 656 -#define TRAINER_WALLY_3 657 -#define TRAINER_WALLY_4 658 -#define TRAINER_WALLY_5 659 -#define TRAINER_WALLY_6 660 -#define TRAINER_BRENDAN_13 661 -#define TRAINER_BRENDAN_14 662 -#define TRAINER_BRENDAN_15 663 -#define TRAINER_MAY_11 664 -#define TRAINER_MAY_12 665 -#define TRAINER_MAY_13 666 -#define TRAINER_JONAH 667 -#define TRAINER_HENRY 668 -#define TRAINER_ROGER 669 -#define TRAINER_ALEXA 670 -#define TRAINER_RUBEN 671 -#define TRAINER_KOJI_1 672 -#define TRAINER_WAYNE 673 -#define TRAINER_AIDAN 674 -#define TRAINER_REED 675 -#define TRAINER_TISHA 676 -#define TRAINER_TORI_AND_TIA 677 -#define TRAINER_KIM_AND_IRIS 678 -#define TRAINER_TYRA_AND_IVY 679 -#define TRAINER_MEL_AND_PAUL 680 -#define TRAINER_JOHN_AND_JAY_1 681 -#define TRAINER_JOHN_AND_JAY_2 682 -#define TRAINER_JOHN_AND_JAY_3 683 -#define TRAINER_JOHN_AND_JAY_4 684 -#define TRAINER_JOHN_AND_JAY_5 685 -#define TRAINER_RELI_AND_IAN 686 -#define TRAINER_LILA_AND_ROY_1 687 -#define TRAINER_LILA_AND_ROY_2 688 -#define TRAINER_LILA_AND_ROY_3 689 -#define TRAINER_LILA_AND_ROY_4 690 -#define TRAINER_LILA_AND_ROY_5 691 -#define TRAINER_LISA_AND_RAY 692 -#define TRAINER_CHRIS 693 -#define TRAINER_DAWSON 694 -#define TRAINER_SARAH 695 -#define TRAINER_DARIAN 696 -#define TRAINER_HAILEY 697 -#define TRAINER_CHANDLER 698 -#define TRAINER_KALEB 699 -#define TRAINER_JOSEPH 700 -#define TRAINER_ALYSSA 701 -#define TRAINER_MARCOS 702 -#define TRAINER_RHETT 703 -#define TRAINER_TYRON 704 -#define TRAINER_CELINA 705 -#define TRAINER_BIANCA 706 -#define TRAINER_HAYDEN 707 -#define TRAINER_SOPHIE 708 -#define TRAINER_COBY 709 -#define TRAINER_LAWRENCE 710 -#define TRAINER_WYATT 711 -#define TRAINER_ANGELINA 712 -#define TRAINER_KAI 713 -#define TRAINER_CHARLOTTE 714 -#define TRAINER_DEANDRE 715 -#define TRAINER_GRUNT_38 716 -#define TRAINER_GRUNT_39 717 -#define TRAINER_GRUNT_40 718 -#define TRAINER_GRUNT_41 719 -#define TRAINER_GRUNT_42 720 -#define TRAINER_GRUNT_43 721 -#define TRAINER_GRUNT_44 722 -#define TRAINER_GRUNT_45 723 -#define TRAINER_GRUNT_46 724 -#define TRAINER_GRUNT_47 725 -#define TRAINER_GRUNT_48 726 -#define TRAINER_GRUNT_49 727 -#define TRAINER_GRUNT_50 728 -#define TRAINER_GRUNT_51 729 -#define TRAINER_GRUNT_52 730 -#define TRAINER_GRUNT_53 731 -#define TRAINER_TABITHA_3 732 -#define TRAINER_DARCY 733 -#define TRAINER_MAXIE_3 734 -#define TRAINER_PETE 735 -#define TRAINER_ISABELLE 736 -#define TRAINER_ANDRES_1 737 -#define TRAINER_JOSUE 738 -#define TRAINER_CAMRON 739 -#define TRAINER_CORY_1 740 -#define TRAINER_CAROLINA 741 -#define TRAINER_ELIJAH 742 -#define TRAINER_CELIA 743 -#define TRAINER_BRYAN 744 -#define TRAINER_BRANDEN 745 -#define TRAINER_BRYANT 746 -#define TRAINER_SHAYLA 747 -#define TRAINER_KYRA 748 -#define TRAINER_JAIDEN 749 -#define TRAINER_ALIX 750 -#define TRAINER_HELENE 751 -#define TRAINER_MARLENE 752 -#define TRAINER_DEVAN 753 -#define TRAINER_JOHNSON 754 -#define TRAINER_MELINA 755 -#define TRAINER_BRANDI 756 -#define TRAINER_AISHA 757 -#define TRAINER_MAKAYLA 758 -#define TRAINER_FABIAN 759 -#define TRAINER_DAYTON 760 -#define TRAINER_RACHEL 761 -#define TRAINER_LEONEL 762 -#define TRAINER_CALLIE 763 -#define TRAINER_CALE 764 -#define TRAINER_MYLES 765 -#define TRAINER_PAT 766 -#define TRAINER_CRISTIN_1 767 -#define TRAINER_MAY_14 768 -#define TRAINER_MAY_15 769 -#define TRAINER_ROXANNE_2 770 -#define TRAINER_ROXANNE_3 771 -#define TRAINER_ROXANNE_4 772 -#define TRAINER_ROXANNE_5 773 -#define TRAINER_BRAWLY_2 774 -#define TRAINER_BRAWLY_3 775 -#define TRAINER_BRAWLY_4 776 -#define TRAINER_BRAWLY_5 777 -#define TRAINER_WATTSON_2 778 -#define TRAINER_WATTSON_3 779 -#define TRAINER_WATTSON_4 780 -#define TRAINER_WATTSON_5 781 -#define TRAINER_FLANNERY_2 782 -#define TRAINER_FLANNERY_3 783 -#define TRAINER_FLANNERY_4 784 -#define TRAINER_FLANNERY_5 785 -#define TRAINER_NORMAN_2 786 -#define TRAINER_NORMAN_3 787 -#define TRAINER_NORMAN_4 788 -#define TRAINER_NORMAN_5 789 -#define TRAINER_WINONA_2 790 -#define TRAINER_WINONA_3 791 -#define TRAINER_WINONA_4 792 -#define TRAINER_WINONA_5 793 -#define TRAINER_TATE_AND_LIZA_2 794 -#define TRAINER_TATE_AND_LIZA_3 795 -#define TRAINER_TATE_AND_LIZA_4 796 -#define TRAINER_TATE_AND_LIZA_5 797 -#define TRAINER_JUAN_2 798 -#define TRAINER_JUAN_3 799 -#define TRAINER_JUAN_4 800 -#define TRAINER_JUAN_5 801 -#define TRAINER_ANGELO 802 -#define TRAINER_DARIUS 803 -#define TRAINER_STEVEN 804 -#define TRAINER_ANABEL 805 -#define TRAINER_TUCKER 806 -#define TRAINER_SPENSER 807 -#define TRAINER_GRETA 808 -#define TRAINER_NOLAND 809 -#define TRAINER_LUCY 810 -#define TRAINER_BRANDON 811 -#define TRAINER_ANDRES_2 812 -#define TRAINER_ANDRES_3 813 -#define TRAINER_ANDRES_4 814 -#define TRAINER_ANDRES_5 815 -#define TRAINER_CORY_2 816 -#define TRAINER_CORY_3 817 -#define TRAINER_CORY_4 818 -#define TRAINER_CORY_5 819 -#define TRAINER_PABLO_2 820 -#define TRAINER_PABLO_3 821 -#define TRAINER_PABLO_4 822 -#define TRAINER_PABLO_5 823 -#define TRAINER_KOJI_2 824 -#define TRAINER_KOJI_3 825 -#define TRAINER_KOJI_4 826 -#define TRAINER_KOJI_5 827 -#define TRAINER_CRISTIN_2 828 -#define TRAINER_CRISTIN_3 829 -#define TRAINER_CRISTIN_4 830 -#define TRAINER_CRISTIN_5 831 -#define TRAINER_FERNANDO_2 832 -#define TRAINER_FERNANDO_3 833 -#define TRAINER_FERNANDO_4 834 -#define TRAINER_FERNANDO_5 835 -#define TRAINER_SAWYER_2 836 -#define TRAINER_SAWYER_3 837 -#define TRAINER_SAWYER_4 838 -#define TRAINER_SAWYER_5 839 -#define TRAINER_GABRIELLE_2 840 -#define TRAINER_GABRIELLE_3 841 -#define TRAINER_GABRIELLE_4 842 -#define TRAINER_GABRIELLE_5 843 -#define TRAINER_THALIA_2 844 -#define TRAINER_THALIA_3 845 -#define TRAINER_THALIA_4 846 -#define TRAINER_THALIA_5 847 -#define TRAINER_MARIELA 848 -#define TRAINER_ALVARO 849 -#define TRAINER_EVERETT 850 -#define TRAINER_RED 851 -#define TRAINER_LEAF 852 -#define TRAINER_BRENDAN_16 853 -#define TRAINER_MAY_16 854 +#define TRAINER_NONE 0 +#define TRAINER_SAWYER_1 1 +#define TRAINER_GRUNT_AQUA_HIDEOUT_1 2 +#define TRAINER_GRUNT_AQUA_HIDEOUT_2 3 +#define TRAINER_GRUNT_AQUA_HIDEOUT_3 4 +#define TRAINER_GRUNT_AQUA_HIDEOUT_4 5 +#define TRAINER_GRUNT_SEAFLOOR_CAVERN_1 6 +#define TRAINER_GRUNT_SEAFLOOR_CAVERN_2 7 +#define TRAINER_GRUNT_SEAFLOOR_CAVERN_3 8 +#define TRAINER_GABRIELLE_1 9 +#define TRAINER_GRUNT_PETALBURG_WOODS 10 +#define TRAINER_MARCEL 11 +#define TRAINER_ALBERTO 12 +#define TRAINER_ED 13 +#define TRAINER_GRUNT_SEAFLOOR_CAVERN_4 14 +#define TRAINER_DECLAN 15 +#define TRAINER_GRUNT_RUSTURF_TUNNEL 16 +#define TRAINER_GRUNT_WEATHER_INST_1 17 +#define TRAINER_GRUNT_WEATHER_INST_2 18 +#define TRAINER_GRUNT_WEATHER_INST_3 19 +#define TRAINER_GRUNT_MUSEUM_1 20 +#define TRAINER_GRUNT_MUSEUM_2 21 +#define TRAINER_GRUNT_SPACE_CENTER_1 22 +#define TRAINER_GRUNT_MT_PYRE_1 23 +#define TRAINER_GRUNT_MT_PYRE_2 24 +#define TRAINER_GRUNT_MT_PYRE_3 25 +#define TRAINER_GRUNT_WEATHER_INST_4 26 +#define TRAINER_GRUNT_AQUA_HIDEOUT_5 27 +#define TRAINER_GRUNT_AQUA_HIDEOUT_6 28 +#define TRAINER_FREDRICK 29 +#define TRAINER_MATT 30 +#define TRAINER_ZANDER 31 +#define TRAINER_SHELLY_WEATHER_INSTITUTE 32 +#define TRAINER_SHELLY_SEAFLOOR_CAVERN 33 +#define TRAINER_ARCHIE 34 +#define TRAINER_LEAH 35 +#define TRAINER_DAISY 36 +#define TRAINER_ROSE_1 37 +#define TRAINER_FELIX 38 +#define TRAINER_VIOLET 39 +#define TRAINER_ROSE_2 40 +#define TRAINER_ROSE_3 41 +#define TRAINER_ROSE_4 42 +#define TRAINER_ROSE_5 43 +#define TRAINER_DUSTY_1 44 +#define TRAINER_CHIP 45 +#define TRAINER_FOSTER 46 +#define TRAINER_DUSTY_2 47 +#define TRAINER_DUSTY_3 48 +#define TRAINER_DUSTY_4 49 +#define TRAINER_DUSTY_5 50 +#define TRAINER_GABBY_AND_TY_1 51 +#define TRAINER_GABBY_AND_TY_2 52 +#define TRAINER_GABBY_AND_TY_3 53 +#define TRAINER_GABBY_AND_TY_4 54 +#define TRAINER_GABBY_AND_TY_5 55 +#define TRAINER_GABBY_AND_TY_6 56 +#define TRAINER_LOLA_1 57 +#define TRAINER_AUSTINA 58 +#define TRAINER_GWEN 59 +#define TRAINER_LOLA_2 60 +#define TRAINER_LOLA_3 61 +#define TRAINER_LOLA_4 62 +#define TRAINER_LOLA_5 63 +#define TRAINER_RICKY_1 64 +#define TRAINER_SIMON 65 +#define TRAINER_CHARLIE 66 +#define TRAINER_RICKY_2 67 +#define TRAINER_RICKY_3 68 +#define TRAINER_RICKY_4 69 +#define TRAINER_RICKY_5 70 +#define TRAINER_RANDALL 71 +#define TRAINER_PARKER 72 +#define TRAINER_GEORGE 73 +#define TRAINER_BERKE 74 +#define TRAINER_BRAXTON 75 +#define TRAINER_VINCENT 76 +#define TRAINER_LEROY 77 +#define TRAINER_WILTON_1 78 +#define TRAINER_EDGAR 79 +#define TRAINER_ALBERT 80 +#define TRAINER_SAMUEL 81 +#define TRAINER_VITO 82 +#define TRAINER_OWEN 83 +#define TRAINER_WILTON_2 84 +#define TRAINER_WILTON_3 85 +#define TRAINER_WILTON_4 86 +#define TRAINER_WILTON_5 87 +#define TRAINER_WARREN 88 +#define TRAINER_MARY 89 +#define TRAINER_ALEXIA 90 +#define TRAINER_JODY 91 +#define TRAINER_WENDY 92 +#define TRAINER_KEIRA 93 +#define TRAINER_BROOKE_1 94 +#define TRAINER_JENNIFER 95 +#define TRAINER_HOPE 96 +#define TRAINER_SHANNON 97 +#define TRAINER_MICHELLE 98 +#define TRAINER_CAROLINE 99 +#define TRAINER_JULIE 100 +#define TRAINER_BROOKE_2 101 +#define TRAINER_BROOKE_3 102 +#define TRAINER_BROOKE_4 103 +#define TRAINER_BROOKE_5 104 +#define TRAINER_PATRICIA 105 +#define TRAINER_KINDRA 106 +#define TRAINER_TAMMY 107 +#define TRAINER_VALERIE_1 108 +#define TRAINER_TASHA 109 +#define TRAINER_VALERIE_2 110 +#define TRAINER_VALERIE_3 111 +#define TRAINER_VALERIE_4 112 +#define TRAINER_VALERIE_5 113 +#define TRAINER_CINDY_1 114 +#define TRAINER_DAPHNE 115 +#define TRAINER_GRUNT_SPACE_CENTER_2 116 +#define TRAINER_CINDY_2 117 +#define TRAINER_BRIANNA 118 +#define TRAINER_NAOMI 119 +#define TRAINER_CINDY_3 120 +#define TRAINER_CINDY_4 121 +#define TRAINER_CINDY_5 122 +#define TRAINER_CINDY_6 123 +#define TRAINER_MELISSA 124 +#define TRAINER_SHEILA 125 +#define TRAINER_SHIRLEY 126 +#define TRAINER_JESSICA_1 127 +#define TRAINER_CONNIE 128 +#define TRAINER_BRIDGET 129 +#define TRAINER_OLIVIA 130 +#define TRAINER_TIFFANY 131 +#define TRAINER_JESSICA_2 132 +#define TRAINER_JESSICA_3 133 +#define TRAINER_JESSICA_4 134 +#define TRAINER_JESSICA_5 135 +#define TRAINER_WINSTON_1 136 +#define TRAINER_MOLLIE 137 +#define TRAINER_GARRET 138 +#define TRAINER_WINSTON_2 139 +#define TRAINER_WINSTON_3 140 +#define TRAINER_WINSTON_4 141 +#define TRAINER_WINSTON_5 142 +#define TRAINER_STEVE_1 143 +#define TRAINER_THALIA_1 144 +#define TRAINER_MARK 145 +#define TRAINER_GRUNT_MT_CHIMNEY_1 146 +#define TRAINER_STEVE_2 147 +#define TRAINER_STEVE_3 148 +#define TRAINER_STEVE_4 149 +#define TRAINER_STEVE_5 150 +#define TRAINER_LUIS 151 +#define TRAINER_DOMINIK 152 +#define TRAINER_DOUGLAS 153 +#define TRAINER_DARRIN 154 +#define TRAINER_TONY_1 155 +#define TRAINER_JEROME 156 +#define TRAINER_MATTHEW 157 +#define TRAINER_DAVID 158 +#define TRAINER_SPENCER 159 +#define TRAINER_ROLAND 160 +#define TRAINER_NOLEN 161 +#define TRAINER_STAN 162 +#define TRAINER_BARRY 163 +#define TRAINER_DEAN 164 +#define TRAINER_RODNEY 165 +#define TRAINER_RICHARD 166 +#define TRAINER_HERMAN 167 +#define TRAINER_SANTIAGO 168 +#define TRAINER_GILBERT 169 +#define TRAINER_FRANKLIN 170 +#define TRAINER_KEVIN 171 +#define TRAINER_JACK 172 +#define TRAINER_DUDLEY 173 +#define TRAINER_CHAD 174 +#define TRAINER_TONY_2 175 +#define TRAINER_TONY_3 176 +#define TRAINER_TONY_4 177 +#define TRAINER_TONY_5 178 +#define TRAINER_TAKAO 179 +#define TRAINER_HITOSHI 180 +#define TRAINER_KIYO 181 +#define TRAINER_KOICHI 182 +#define TRAINER_NOB_1 183 +#define TRAINER_NOB_2 184 +#define TRAINER_NOB_3 185 +#define TRAINER_NOB_4 186 +#define TRAINER_NOB_5 187 +#define TRAINER_YUJI 188 +#define TRAINER_DAISUKE 189 +#define TRAINER_ATSUSHI 190 +#define TRAINER_KIRK 191 +#define TRAINER_GRUNT_AQUA_HIDEOUT_7 192 +#define TRAINER_GRUNT_AQUA_HIDEOUT_8 193 +#define TRAINER_SHAWN 194 +#define TRAINER_FERNANDO_1 195 +#define TRAINER_DALTON_1 196 +#define TRAINER_DALTON_2 197 +#define TRAINER_DALTON_3 198 +#define TRAINER_DALTON_4 199 +#define TRAINER_DALTON_5 200 +#define TRAINER_COLE 201 +#define TRAINER_JEFF 202 +#define TRAINER_AXLE 203 +#define TRAINER_JACE 204 +#define TRAINER_KEEGAN 205 +#define TRAINER_BERNIE_1 206 +#define TRAINER_BERNIE_2 207 +#define TRAINER_BERNIE_3 208 +#define TRAINER_BERNIE_4 209 +#define TRAINER_BERNIE_5 210 +#define TRAINER_DREW 211 +#define TRAINER_BEAU 212 +#define TRAINER_LARRY 213 +#define TRAINER_SHANE 214 +#define TRAINER_JUSTIN 215 +#define TRAINER_ETHAN_1 216 +#define TRAINER_AUTUMN 217 +#define TRAINER_TRAVIS 218 +#define TRAINER_ETHAN_2 219 +#define TRAINER_ETHAN_3 220 +#define TRAINER_ETHAN_4 221 +#define TRAINER_ETHAN_5 222 +#define TRAINER_BRENT 223 +#define TRAINER_DONALD 224 +#define TRAINER_TAYLOR 225 +#define TRAINER_JEFFREY_1 226 +#define TRAINER_DEREK 227 +#define TRAINER_JEFFREY_2 228 +#define TRAINER_JEFFREY_3 229 +#define TRAINER_JEFFREY_4 230 +#define TRAINER_JEFFREY_5 231 +#define TRAINER_EDWARD 232 +#define TRAINER_PRESTON 233 +#define TRAINER_VIRGIL 234 +#define TRAINER_BLAKE 235 +#define TRAINER_WILLIAM 236 +#define TRAINER_JOSHUA 237 +#define TRAINER_CAMERON_1 238 +#define TRAINER_CAMERON_2 239 +#define TRAINER_CAMERON_3 240 +#define TRAINER_CAMERON_4 241 +#define TRAINER_CAMERON_5 242 +#define TRAINER_JACLYN 243 +#define TRAINER_HANNAH 244 +#define TRAINER_SAMANTHA 245 +#define TRAINER_MAURA 246 +#define TRAINER_KAYLA 247 +#define TRAINER_ALEXIS 248 +#define TRAINER_JACKI_1 249 +#define TRAINER_JACKI_2 250 +#define TRAINER_JACKI_3 251 +#define TRAINER_JACKI_4 252 +#define TRAINER_JACKI_5 253 +#define TRAINER_WALTER_1 254 +#define TRAINER_MICAH 255 +#define TRAINER_THOMAS 256 +#define TRAINER_WALTER_2 257 +#define TRAINER_WALTER_3 258 +#define TRAINER_WALTER_4 259 +#define TRAINER_WALTER_5 260 +#define TRAINER_SIDNEY 261 +#define TRAINER_PHOEBE 262 +#define TRAINER_GLACIA 263 +#define TRAINER_DRAKE 264 +#define TRAINER_ROXANNE_1 265 +#define TRAINER_BRAWLY_1 266 +#define TRAINER_WATTSON_1 267 +#define TRAINER_FLANNERY_1 268 +#define TRAINER_NORMAN_1 269 +#define TRAINER_WINONA_1 270 +#define TRAINER_TATE_AND_LIZA_1 271 +#define TRAINER_JUAN_1 272 +#define TRAINER_JERRY_1 273 +#define TRAINER_TED 274 +#define TRAINER_PAUL 275 +#define TRAINER_JERRY_2 276 +#define TRAINER_JERRY_3 277 +#define TRAINER_JERRY_4 278 +#define TRAINER_JERRY_5 279 +#define TRAINER_KAREN_1 280 +#define TRAINER_GEORGIA 281 +#define TRAINER_KAREN_2 282 +#define TRAINER_KAREN_3 283 +#define TRAINER_KAREN_4 284 +#define TRAINER_KAREN_5 285 +#define TRAINER_KATE_AND_JOY 286 +#define TRAINER_ANNA_AND_MEG_1 287 +#define TRAINER_ANNA_AND_MEG_2 288 +#define TRAINER_ANNA_AND_MEG_3 289 +#define TRAINER_ANNA_AND_MEG_4 290 +#define TRAINER_ANNA_AND_MEG_5 291 +#define TRAINER_VICTOR 292 +#define TRAINER_MIGUEL_1 293 +#define TRAINER_COLTON 294 +#define TRAINER_MIGUEL_2 295 +#define TRAINER_MIGUEL_3 296 +#define TRAINER_MIGUEL_4 297 +#define TRAINER_MIGUEL_5 298 +#define TRAINER_VICTORIA 299 +#define TRAINER_VANESSA 300 +#define TRAINER_BETHANY 301 +#define TRAINER_ISABEL_1 302 +#define TRAINER_ISABEL_2 303 +#define TRAINER_ISABEL_3 304 +#define TRAINER_ISABEL_4 305 +#define TRAINER_ISABEL_5 306 +#define TRAINER_TIMOTHY_1 307 +#define TRAINER_TIMOTHY_2 308 +#define TRAINER_TIMOTHY_3 309 +#define TRAINER_TIMOTHY_4 310 +#define TRAINER_TIMOTHY_5 311 +#define TRAINER_VICKY 312 +#define TRAINER_SHELBY_1 313 +#define TRAINER_SHELBY_2 314 +#define TRAINER_SHELBY_3 315 +#define TRAINER_SHELBY_4 316 +#define TRAINER_SHELBY_5 317 +#define TRAINER_CALVIN_1 318 +#define TRAINER_BILLY 319 +#define TRAINER_JOSH 320 +#define TRAINER_TOMMY 321 +#define TRAINER_JOEY 322 +#define TRAINER_BEN 323 +#define TRAINER_QUINCY 324 +#define TRAINER_KATELYNN 325 +#define TRAINER_JAYLEN 326 +#define TRAINER_DILLON 327 +#define TRAINER_CALVIN_2 328 +#define TRAINER_CALVIN_3 329 +#define TRAINER_CALVIN_4 330 +#define TRAINER_CALVIN_5 331 +#define TRAINER_EDDIE 332 +#define TRAINER_ALLEN 333 +#define TRAINER_TIMMY 334 +#define TRAINER_WALLACE 335 +#define TRAINER_ANDREW 336 +#define TRAINER_IVAN 337 +#define TRAINER_CLAUDE 338 +#define TRAINER_ELLIOT_1 339 +#define TRAINER_NED 340 +#define TRAINER_DALE 341 +#define TRAINER_NOLAN 342 +#define TRAINER_BARNY 343 +#define TRAINER_WADE 344 +#define TRAINER_CARTER 345 +#define TRAINER_ELLIOT_2 346 +#define TRAINER_ELLIOT_3 347 +#define TRAINER_ELLIOT_4 348 +#define TRAINER_ELLIOT_5 349 +#define TRAINER_RONALD 350 +#define TRAINER_JACOB 351 +#define TRAINER_ANTHONY 352 +#define TRAINER_BENJAMIN_1 353 +#define TRAINER_BENJAMIN_2 354 +#define TRAINER_BENJAMIN_3 355 +#define TRAINER_BENJAMIN_4 356 +#define TRAINER_BENJAMIN_5 357 +#define TRAINER_ABIGAIL_1 358 +#define TRAINER_JASMINE 359 +#define TRAINER_ABIGAIL_2 360 +#define TRAINER_ABIGAIL_3 361 +#define TRAINER_ABIGAIL_4 362 +#define TRAINER_ABIGAIL_5 363 +#define TRAINER_DYLAN_1 364 +#define TRAINER_DYLAN_2 365 +#define TRAINER_DYLAN_3 366 +#define TRAINER_DYLAN_4 367 +#define TRAINER_DYLAN_5 368 +#define TRAINER_MARIA_1 369 +#define TRAINER_MARIA_2 370 +#define TRAINER_MARIA_3 371 +#define TRAINER_MARIA_4 372 +#define TRAINER_MARIA_5 373 +#define TRAINER_CAMDEN 374 +#define TRAINER_DEMETRIUS 375 +#define TRAINER_ISAIAH_1 376 +#define TRAINER_PABLO_1 377 +#define TRAINER_CHASE 378 +#define TRAINER_ISAIAH_2 379 +#define TRAINER_ISAIAH_3 380 +#define TRAINER_ISAIAH_4 381 +#define TRAINER_ISAIAH_5 382 +#define TRAINER_ISOBEL 383 +#define TRAINER_DONNY 384 +#define TRAINER_TALIA 385 +#define TRAINER_KATELYN_1 386 +#define TRAINER_ALLISON 387 +#define TRAINER_KATELYN_2 388 +#define TRAINER_KATELYN_3 389 +#define TRAINER_KATELYN_4 390 +#define TRAINER_KATELYN_5 391 +#define TRAINER_NICOLAS_1 392 +#define TRAINER_NICOLAS_2 393 +#define TRAINER_NICOLAS_3 394 +#define TRAINER_NICOLAS_4 395 +#define TRAINER_NICOLAS_5 396 +#define TRAINER_AARON 397 +#define TRAINER_PERRY 398 +#define TRAINER_HUGH 399 +#define TRAINER_PHIL 400 +#define TRAINER_JARED 401 +#define TRAINER_HUMBERTO 402 +#define TRAINER_PRESLEY 403 +#define TRAINER_EDWARDO 404 +#define TRAINER_COLIN 405 +#define TRAINER_ROBERT_1 406 +#define TRAINER_BENNY 407 +#define TRAINER_CHESTER 408 +#define TRAINER_ROBERT_2 409 +#define TRAINER_ROBERT_3 410 +#define TRAINER_ROBERT_4 411 +#define TRAINER_ROBERT_5 412 +#define TRAINER_ALEX 413 +#define TRAINER_BECK 414 +#define TRAINER_YASU 415 +#define TRAINER_TAKASHI 416 +#define TRAINER_DIANNE 417 +#define TRAINER_JANI 418 +#define TRAINER_LAO_1 419 +#define TRAINER_LUNG 420 +#define TRAINER_LAO_2 421 +#define TRAINER_LAO_3 422 +#define TRAINER_LAO_4 423 +#define TRAINER_LAO_5 424 +#define TRAINER_JOCELYN 425 +#define TRAINER_LAURA 426 +#define TRAINER_CYNDY_1 427 +#define TRAINER_CORA 428 +#define TRAINER_PAULA 429 +#define TRAINER_CYNDY_2 430 +#define TRAINER_CYNDY_3 431 +#define TRAINER_CYNDY_4 432 +#define TRAINER_CYNDY_5 433 +#define TRAINER_MADELINE_1 434 +#define TRAINER_CLARISSA 435 +#define TRAINER_ANGELICA 436 +#define TRAINER_MADELINE_2 437 +#define TRAINER_MADELINE_3 438 +#define TRAINER_MADELINE_4 439 +#define TRAINER_MADELINE_5 440 +#define TRAINER_BEVERLY 441 +#define TRAINER_IMANI 442 +#define TRAINER_KYLA 443 +#define TRAINER_DENISE 444 +#define TRAINER_BETH 445 +#define TRAINER_TARA 446 +#define TRAINER_MISSY 447 +#define TRAINER_ALICE 448 +#define TRAINER_JENNY_1 449 +#define TRAINER_GRACE 450 +#define TRAINER_TANYA 451 +#define TRAINER_SHARON 452 +#define TRAINER_NIKKI 453 +#define TRAINER_BRENDA 454 +#define TRAINER_KATIE 455 +#define TRAINER_SUSIE 456 +#define TRAINER_KARA 457 +#define TRAINER_DANA 458 +#define TRAINER_SIENNA 459 +#define TRAINER_DEBRA 460 +#define TRAINER_LINDA 461 +#define TRAINER_KAYLEE 462 +#define TRAINER_LAUREL 463 +#define TRAINER_CARLEE 464 +#define TRAINER_JENNY_2 465 +#define TRAINER_JENNY_3 466 +#define TRAINER_JENNY_4 467 +#define TRAINER_JENNY_5 468 +#define TRAINER_HEIDI 469 +#define TRAINER_BECKY 470 +#define TRAINER_CAROL 471 +#define TRAINER_NANCY 472 +#define TRAINER_MARTHA 473 +#define TRAINER_DIANA_1 474 +#define TRAINER_CEDRIC 475 +#define TRAINER_IRENE 476 +#define TRAINER_DIANA_2 477 +#define TRAINER_DIANA_3 478 +#define TRAINER_DIANA_4 479 +#define TRAINER_DIANA_5 480 +#define TRAINER_AMY_AND_LIV_1 481 +#define TRAINER_AMY_AND_LIV_2 482 +#define TRAINER_GINA_AND_MIA_1 483 +#define TRAINER_MIU_AND_YUKI 484 +#define TRAINER_AMY_AND_LIV_3 485 +#define TRAINER_GINA_AND_MIA_2 486 +#define TRAINER_AMY_AND_LIV_4 487 +#define TRAINER_AMY_AND_LIV_5 488 +#define TRAINER_AMY_AND_LIV_6 489 +#define TRAINER_HUEY 490 +#define TRAINER_EDMOND 491 +#define TRAINER_ERNEST_1 492 +#define TRAINER_DWAYNE 493 +#define TRAINER_PHILLIP 494 +#define TRAINER_LEONARD 495 +#define TRAINER_DUNCAN 496 +#define TRAINER_ERNEST_2 497 +#define TRAINER_ERNEST_3 498 +#define TRAINER_ERNEST_4 499 +#define TRAINER_ERNEST_5 500 +#define TRAINER_ELI 501 +#define TRAINER_ANNIKA 502 +#define TRAINER_JAZMYN 503 +#define TRAINER_JONAS 504 +#define TRAINER_KAYLEY 505 +#define TRAINER_AURON 506 +#define TRAINER_KELVIN 507 +#define TRAINER_MARLEY 508 +#define TRAINER_REYNA 509 +#define TRAINER_HUDSON 510 +#define TRAINER_CONOR 511 +#define TRAINER_EDWIN_1 512 +#define TRAINER_HECTOR 513 +#define TRAINER_TABITHA_MOSSDEEP 514 +#define TRAINER_EDWIN_2 515 +#define TRAINER_EDWIN_3 516 +#define TRAINER_EDWIN_4 517 +#define TRAINER_EDWIN_5 518 +#define TRAINER_WALLY_VR_1 519 +#define TRAINER_BRENDAN_ROUTE_103_MUDKIP 520 +#define TRAINER_BRENDAN_ROUTE_110_MUDKIP 521 +#define TRAINER_BRENDAN_ROUTE_119_MUDKIP 522 +#define TRAINER_BRENDAN_ROUTE_103_TREECKO 523 +#define TRAINER_BRENDAN_ROUTE_110_TREECKO 524 +#define TRAINER_BRENDAN_ROUTE_119_TREECKO 525 +#define TRAINER_BRENDAN_ROUTE_103_TORCHIC 526 +#define TRAINER_BRENDAN_ROUTE_110_TORCHIC 527 +#define TRAINER_BRENDAN_ROUTE_119_TORCHIC 528 +#define TRAINER_MAY_ROUTE_103_MUDKIP 529 +#define TRAINER_MAY_ROUTE_110_MUDKIP 530 +#define TRAINER_MAY_ROUTE_119_MUDKIP 531 +#define TRAINER_MAY_ROUTE_103_TREECKO 532 +#define TRAINER_MAY_ROUTE_110_TREECKO 533 +#define TRAINER_MAY_ROUTE_119_TREECKO 534 +#define TRAINER_MAY_ROUTE_103_TORCHIC 535 +#define TRAINER_MAY_ROUTE_110_TORCHIC 536 +#define TRAINER_MAY_ROUTE_119_TORCHIC 537 +#define TRAINER_ISAAC_1 538 +#define TRAINER_DAVIS 539 +#define TRAINER_MITCHELL 540 +#define TRAINER_ISAAC_2 541 +#define TRAINER_ISAAC_3 542 +#define TRAINER_ISAAC_4 543 +#define TRAINER_ISAAC_5 544 +#define TRAINER_LYDIA_1 545 +#define TRAINER_HALLE 546 +#define TRAINER_GARRISON 547 +#define TRAINER_LYDIA_2 548 +#define TRAINER_LYDIA_3 549 +#define TRAINER_LYDIA_4 550 +#define TRAINER_LYDIA_5 551 +#define TRAINER_JACKSON_1 552 +#define TRAINER_LORENZO 553 +#define TRAINER_SEBASTIAN 554 +#define TRAINER_JACKSON_2 555 +#define TRAINER_JACKSON_3 556 +#define TRAINER_JACKSON_4 557 +#define TRAINER_JACKSON_5 558 +#define TRAINER_CATHERINE_1 559 +#define TRAINER_JENNA 560 +#define TRAINER_SOPHIA 561 +#define TRAINER_CATHERINE_2 562 +#define TRAINER_CATHERINE_3 563 +#define TRAINER_CATHERINE_4 564 +#define TRAINER_CATHERINE_5 565 +#define TRAINER_JULIO 566 +#define TRAINER_GRUNT_SEAFLOOR_CAVERN_5 567 +#define TRAINER_GRUNT_UNUSED 568 +#define TRAINER_GRUNT_MT_PYRE_4 569 +#define TRAINER_GRUNT_JAGGED_PASS 570 +#define TRAINER_MARC 571 +#define TRAINER_BRENDEN 572 +#define TRAINER_LILITH 573 +#define TRAINER_CRISTIAN 574 +#define TRAINER_SYLVIA 575 +#define TRAINER_LEONARDO 576 +#define TRAINER_ATHENA 577 +#define TRAINER_HARRISON 578 +#define TRAINER_GRUNT_MT_CHIMNEY_2 579 +#define TRAINER_CLARENCE 580 +#define TRAINER_TERRY 581 +#define TRAINER_NATE 582 +#define TRAINER_KATHLEEN 583 +#define TRAINER_CLIFFORD 584 +#define TRAINER_NICHOLAS 585 +#define TRAINER_GRUNT_SPACE_CENTER_3 586 +#define TRAINER_GRUNT_SPACE_CENTER_4 587 +#define TRAINER_GRUNT_SPACE_CENTER_5 588 +#define TRAINER_GRUNT_SPACE_CENTER_6 589 +#define TRAINER_GRUNT_SPACE_CENTER_7 590 +#define TRAINER_MACEY 591 +#define TRAINER_BRENDAN_RUSTBORO_TREECKO 592 +#define TRAINER_BRENDAN_RUSTBORO_MUDKIP 593 +#define TRAINER_PAXTON 594 +#define TRAINER_ISABELLA 595 +#define TRAINER_GRUNT_WEATHER_INST_5 596 +#define TRAINER_TABITHA_MT_CHIMNEY 597 +#define TRAINER_JONATHAN 598 +#define TRAINER_BRENDAN_RUSTBORO_TORCHIC 599 +#define TRAINER_MAY_RUSTBORO_MUDKIP 600 +#define TRAINER_MAXIE_MAGMA_HIDEOUT 601 +#define TRAINER_MAXIE_MT_CHIMNEY 602 +#define TRAINER_TIANA 603 +#define TRAINER_HALEY_1 604 +#define TRAINER_JANICE 605 +#define TRAINER_VIVI 606 +#define TRAINER_HALEY_2 607 +#define TRAINER_HALEY_3 608 +#define TRAINER_HALEY_4 609 +#define TRAINER_HALEY_5 610 +#define TRAINER_SALLY 611 +#define TRAINER_ROBIN 612 +#define TRAINER_ANDREA 613 +#define TRAINER_CRISSY 614 +#define TRAINER_RICK 615 +#define TRAINER_LYLE 616 +#define TRAINER_JOSE 617 +#define TRAINER_DOUG 618 +#define TRAINER_GREG 619 +#define TRAINER_KENT 620 +#define TRAINER_JAMES_1 621 +#define TRAINER_JAMES_2 622 +#define TRAINER_JAMES_3 623 +#define TRAINER_JAMES_4 624 +#define TRAINER_JAMES_5 625 +#define TRAINER_BRICE 626 +#define TRAINER_TRENT_1 627 +#define TRAINER_LENNY 628 +#define TRAINER_LUCAS_1 629 +#define TRAINER_ALAN 630 +#define TRAINER_CLARK 631 +#define TRAINER_ERIC 632 +#define TRAINER_LUCAS_2 633 +#define TRAINER_MIKE_1 634 +#define TRAINER_MIKE_2 635 +#define TRAINER_TRENT_2 636 +#define TRAINER_TRENT_3 637 +#define TRAINER_TRENT_4 638 +#define TRAINER_TRENT_5 639 +#define TRAINER_DEZ_AND_LUKE 640 +#define TRAINER_LEA_AND_JED 641 +#define TRAINER_KIRA_AND_DAN_1 642 +#define TRAINER_KIRA_AND_DAN_2 643 +#define TRAINER_KIRA_AND_DAN_3 644 +#define TRAINER_KIRA_AND_DAN_4 645 +#define TRAINER_KIRA_AND_DAN_5 646 +#define TRAINER_JOHANNA 647 +#define TRAINER_GERALD 648 +#define TRAINER_VIVIAN 649 +#define TRAINER_DANIELLE 650 +#define TRAINER_HIDEO 651 +#define TRAINER_KEIGO 652 +#define TRAINER_RILEY 653 +#define TRAINER_FLINT 654 +#define TRAINER_ASHLEY 655 +#define TRAINER_WALLY_MAUVILLE 656 +#define TRAINER_WALLY_VR_2 657 +#define TRAINER_WALLY_VR_3 658 +#define TRAINER_WALLY_VR_4 659 +#define TRAINER_WALLY_VR_5 660 +#define TRAINER_BRENDAN_LILYCOVE_MUDKIP 661 +#define TRAINER_BRENDAN_LILYCOVE_TREECKO 662 +#define TRAINER_BRENDAN_LILYCOVE_TORCHIC 663 +#define TRAINER_MAY_LILYCOVE_MUDKIP 664 +#define TRAINER_MAY_LILYCOVE_TREECKO 665 +#define TRAINER_MAY_LILYCOVE_TORCHIC 666 +#define TRAINER_JONAH 667 +#define TRAINER_HENRY 668 +#define TRAINER_ROGER 669 +#define TRAINER_ALEXA 670 +#define TRAINER_RUBEN 671 +#define TRAINER_KOJI_1 672 +#define TRAINER_WAYNE 673 +#define TRAINER_AIDAN 674 +#define TRAINER_REED 675 +#define TRAINER_TISHA 676 +#define TRAINER_TORI_AND_TIA 677 +#define TRAINER_KIM_AND_IRIS 678 +#define TRAINER_TYRA_AND_IVY 679 +#define TRAINER_MEL_AND_PAUL 680 +#define TRAINER_JOHN_AND_JAY_1 681 +#define TRAINER_JOHN_AND_JAY_2 682 +#define TRAINER_JOHN_AND_JAY_3 683 +#define TRAINER_JOHN_AND_JAY_4 684 +#define TRAINER_JOHN_AND_JAY_5 685 +#define TRAINER_RELI_AND_IAN 686 +#define TRAINER_LILA_AND_ROY_1 687 +#define TRAINER_LILA_AND_ROY_2 688 +#define TRAINER_LILA_AND_ROY_3 689 +#define TRAINER_LILA_AND_ROY_4 690 +#define TRAINER_LILA_AND_ROY_5 691 +#define TRAINER_LISA_AND_RAY 692 +#define TRAINER_CHRIS 693 +#define TRAINER_DAWSON 694 +#define TRAINER_SARAH 695 +#define TRAINER_DARIAN 696 +#define TRAINER_HAILEY 697 +#define TRAINER_CHANDLER 698 +#define TRAINER_KALEB 699 +#define TRAINER_JOSEPH 700 +#define TRAINER_ALYSSA 701 +#define TRAINER_MARCOS 702 +#define TRAINER_RHETT 703 +#define TRAINER_TYRON 704 +#define TRAINER_CELINA 705 +#define TRAINER_BIANCA 706 +#define TRAINER_HAYDEN 707 +#define TRAINER_SOPHIE 708 +#define TRAINER_COBY 709 +#define TRAINER_LAWRENCE 710 +#define TRAINER_WYATT 711 +#define TRAINER_ANGELINA 712 +#define TRAINER_KAI 713 +#define TRAINER_CHARLOTTE 714 +#define TRAINER_DEANDRE 715 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_1 716 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_2 717 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_3 718 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_4 719 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_5 720 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_6 721 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_7 722 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_8 723 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_9 724 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_10 725 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_11 726 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_12 727 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_13 728 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_14 729 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_15 730 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_16 731 +#define TRAINER_TABITHA_MAGMA_HIDEOUT 732 +#define TRAINER_DARCY 733 +#define TRAINER_MAXIE_MOSSDEEP 734 +#define TRAINER_PETE 735 +#define TRAINER_ISABELLE 736 +#define TRAINER_ANDRES_1 737 +#define TRAINER_JOSUE 738 +#define TRAINER_CAMRON 739 +#define TRAINER_CORY_1 740 +#define TRAINER_CAROLINA 741 +#define TRAINER_ELIJAH 742 +#define TRAINER_CELIA 743 +#define TRAINER_BRYAN 744 +#define TRAINER_BRANDEN 745 +#define TRAINER_BRYANT 746 +#define TRAINER_SHAYLA 747 +#define TRAINER_KYRA 748 +#define TRAINER_JAIDEN 749 +#define TRAINER_ALIX 750 +#define TRAINER_HELENE 751 +#define TRAINER_MARLENE 752 +#define TRAINER_DEVAN 753 +#define TRAINER_JOHNSON 754 +#define TRAINER_MELINA 755 +#define TRAINER_BRANDI 756 +#define TRAINER_AISHA 757 +#define TRAINER_MAKAYLA 758 +#define TRAINER_FABIAN 759 +#define TRAINER_DAYTON 760 +#define TRAINER_RACHEL 761 +#define TRAINER_LEONEL 762 +#define TRAINER_CALLIE 763 +#define TRAINER_CALE 764 +#define TRAINER_MYLES 765 +#define TRAINER_PAT 766 +#define TRAINER_CRISTIN_1 767 +#define TRAINER_MAY_RUSTBORO_TREECKO 768 +#define TRAINER_MAY_RUSTBORO_TORCHIC 769 +#define TRAINER_ROXANNE_2 770 +#define TRAINER_ROXANNE_3 771 +#define TRAINER_ROXANNE_4 772 +#define TRAINER_ROXANNE_5 773 +#define TRAINER_BRAWLY_2 774 +#define TRAINER_BRAWLY_3 775 +#define TRAINER_BRAWLY_4 776 +#define TRAINER_BRAWLY_5 777 +#define TRAINER_WATTSON_2 778 +#define TRAINER_WATTSON_3 779 +#define TRAINER_WATTSON_4 780 +#define TRAINER_WATTSON_5 781 +#define TRAINER_FLANNERY_2 782 +#define TRAINER_FLANNERY_3 783 +#define TRAINER_FLANNERY_4 784 +#define TRAINER_FLANNERY_5 785 +#define TRAINER_NORMAN_2 786 +#define TRAINER_NORMAN_3 787 +#define TRAINER_NORMAN_4 788 +#define TRAINER_NORMAN_5 789 +#define TRAINER_WINONA_2 790 +#define TRAINER_WINONA_3 791 +#define TRAINER_WINONA_4 792 +#define TRAINER_WINONA_5 793 +#define TRAINER_TATE_AND_LIZA_2 794 +#define TRAINER_TATE_AND_LIZA_3 795 +#define TRAINER_TATE_AND_LIZA_4 796 +#define TRAINER_TATE_AND_LIZA_5 797 +#define TRAINER_JUAN_2 798 +#define TRAINER_JUAN_3 799 +#define TRAINER_JUAN_4 800 +#define TRAINER_JUAN_5 801 +#define TRAINER_ANGELO 802 +#define TRAINER_DARIUS 803 +#define TRAINER_STEVEN 804 +#define TRAINER_ANABEL 805 +#define TRAINER_TUCKER 806 +#define TRAINER_SPENSER 807 +#define TRAINER_GRETA 808 +#define TRAINER_NOLAND 809 +#define TRAINER_LUCY 810 +#define TRAINER_BRANDON 811 +#define TRAINER_ANDRES_2 812 +#define TRAINER_ANDRES_3 813 +#define TRAINER_ANDRES_4 814 +#define TRAINER_ANDRES_5 815 +#define TRAINER_CORY_2 816 +#define TRAINER_CORY_3 817 +#define TRAINER_CORY_4 818 +#define TRAINER_CORY_5 819 +#define TRAINER_PABLO_2 820 +#define TRAINER_PABLO_3 821 +#define TRAINER_PABLO_4 822 +#define TRAINER_PABLO_5 823 +#define TRAINER_KOJI_2 824 +#define TRAINER_KOJI_3 825 +#define TRAINER_KOJI_4 826 +#define TRAINER_KOJI_5 827 +#define TRAINER_CRISTIN_2 828 +#define TRAINER_CRISTIN_3 829 +#define TRAINER_CRISTIN_4 830 +#define TRAINER_CRISTIN_5 831 +#define TRAINER_FERNANDO_2 832 +#define TRAINER_FERNANDO_3 833 +#define TRAINER_FERNANDO_4 834 +#define TRAINER_FERNANDO_5 835 +#define TRAINER_SAWYER_2 836 +#define TRAINER_SAWYER_3 837 +#define TRAINER_SAWYER_4 838 +#define TRAINER_SAWYER_5 839 +#define TRAINER_GABRIELLE_2 840 +#define TRAINER_GABRIELLE_3 841 +#define TRAINER_GABRIELLE_4 842 +#define TRAINER_GABRIELLE_5 843 +#define TRAINER_THALIA_2 844 +#define TRAINER_THALIA_3 845 +#define TRAINER_THALIA_4 846 +#define TRAINER_THALIA_5 847 +#define TRAINER_MARIELA 848 +#define TRAINER_ALVARO 849 +#define TRAINER_EVERETT 850 +#define TRAINER_RED 851 +#define TRAINER_LEAF 852 +#define TRAINER_BRENDAN_PLACEHOLDER 853 +#define TRAINER_MAY_PLACEHOLDER 854 -#define TRAINERS_COUNT 855 +// NOTE: Because each Trainer uses a flag to determine when they are defeated, there is only space for 9 additional trainers before trainer flag space overflows +// More space can be made by shifting flags around in constants/flags.h or changing how trainer flags are handled + +#define TRAINERS_COUNT 855 +#define MAX_TRAINERS_COUNT 864 #endif // GUARD_CONSTANTS_OPPONENTS_H diff --git a/include/constants/party_menu.h b/include/constants/party_menu.h new file mode 100644 index 0000000000..7953967ed7 --- /dev/null +++ b/include/constants/party_menu.h @@ -0,0 +1,132 @@ +#ifndef GUARD_CONSTANTS_PARTY_MENU_H +#define GUARD_CONSTANTS_PARTY_MENU_H + +#define AILMENT_NONE 0 +#define AILMENT_PSN 1 +#define AILMENT_PRZ 2 +#define AILMENT_SLP 3 +#define AILMENT_FRZ 4 +#define AILMENT_BRN 5 +#define AILMENT_PKRS 6 +#define AILMENT_FNT 7 + +#define TUTOR_MOVE_MEGA_PUNCH 0 +#define TUTOR_MOVE_SWORDS_DANCE 1 +#define TUTOR_MOVE_MEGA_KICK 2 +#define TUTOR_MOVE_BODY_SLAM 3 +#define TUTOR_MOVE_DOUBLE_EDGE 4 +#define TUTOR_MOVE_COUNTER 5 +#define TUTOR_MOVE_SEISMIC_TOSS 6 +#define TUTOR_MOVE_MIMIC 7 +#define TUTOR_MOVE_METRONOME 8 +#define TUTOR_MOVE_SOFT_BOILED 9 +#define TUTOR_MOVE_DREAM_EATER 10 +#define TUTOR_MOVE_THUNDER_WAVE 11 +#define TUTOR_MOVE_EXPLOSION 12 +#define TUTOR_MOVE_ROCK_SLIDE 13 +#define TUTOR_MOVE_SUBSTITUTE 14 +#define TUTOR_MOVE_DYNAMIC_PUNCH 15 +#define TUTOR_MOVE_ROLLOUT 16 +#define TUTOR_MOVE_PSYCH_UP 17 +#define TUTOR_MOVE_SNORE 18 +#define TUTOR_MOVE_ICY_WIND 19 +#define TUTOR_MOVE_ENDURE 20 +#define TUTOR_MOVE_MUD_SLAP 21 +#define TUTOR_MOVE_ICE_PUNCH 22 +#define TUTOR_MOVE_SWAGGER 23 +#define TUTOR_MOVE_SLEEP_TALK 24 +#define TUTOR_MOVE_SWIFT 25 +#define TUTOR_MOVE_DEFENSE_CURL 26 +#define TUTOR_MOVE_THUNDER_PUNCH 27 +#define TUTOR_MOVE_FIRE_PUNCH 28 +#define TUTOR_MOVE_FURY_CUTTER 29 +#define TUTOR_MOVE_COUNT 30 + +#define PARTY_LAYOUT_SINGLE 0 +#define PARTY_LAYOUT_DOUBLE 1 +#define PARTY_LAYOUT_MULTI 2 +#define PARTY_LAYOUT_MULTI_SHOWCASE 3 // The layout during the screen that appears just before a multi battle +#define PARTY_LAYOUT_COUNT 4 +#define KEEP_PARTY_LAYOUT 0xFF + +#define PARTY_MENU_TYPE_FIELD 0 +#define PARTY_MENU_TYPE_IN_BATTLE 1 +#define PARTY_MENU_TYPE_CONTEST 2 +#define PARTY_MENU_TYPE_CHOOSE_MON 3 +#define PARTY_MENU_TYPE_CHOOSE_HALF 4 // multi battles, eReader battles, and some battle facilities +#define PARTY_MENU_TYPE_MULTI_SHOWCASE 5 +#define PARTY_MENU_TYPE_DAYCARE 6 +#define PARTY_MENU_TYPE_MOVE_RELEARNER 7 +#define PARTY_MENU_TYPE_UNION_ROOM_REGISTER 8 // trading board +#define PARTY_MENU_TYPE_UNION_ROOM_TRADE 9 // trading board +#define PARTY_MENU_TYPE_SPIN_TRADE 10 // Unused beta for Gen IV's Spin Trade +#define PARTY_MENU_TYPE_MINIGAME 11 +#define PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS 12 + +#define PARTY_ACTION_CHOOSE_MON 0 +#define PARTY_ACTION_SEND_OUT 1 +#define PARTY_ACTION_CANT_SWITCH 2 +#define PARTY_ACTION_USE_ITEM 3 +#define PARTY_ACTION_ABILITY_PREVENTS 4 +#define PARTY_ACTION_GIVE_ITEM 5 +#define PARTY_ACTION_GIVE_PC_ITEM 6 // Unused. Not possible to give non-mail items directly from PC +#define PARTY_ACTION_GIVE_MAILBOX_MAIL 7 +#define PARTY_ACTION_SWITCH 8 +#define PARTY_ACTION_SWITCHING 9 +#define PARTY_ACTION_SOFTBOILED 10 +#define PARTY_ACTION_CHOOSE_AND_CLOSE 11 +#define PARTY_ACTION_MOVE_TUTOR 12 +#define PARTY_ACTION_MINIGAME 13 +#define PARTY_ACTION_REUSABLE_ITEM 14 // Unused. The only reusable items are handled separately + +// IDs for DisplayPartyMenuStdMessage, to display the message at the bottom of the party menu +#define PARTY_MSG_CHOOSE_MON 0 +#define PARTY_MSG_CHOOSE_MON_OR_CANCEL 1 +#define PARTY_MSG_CHOOSE_MON_AND_CONFIRM 2 +#define PARTY_MSG_MOVE_TO_WHERE 3 +#define PARTY_MSG_TEACH_WHICH_MON 4 +#define PARTY_MSG_USE_ON_WHICH_MON 5 +#define PARTY_MSG_GIVE_TO_WHICH_MON 6 +#define PARTY_MSG_NOTHING_TO_CUT 7 +#define PARTY_MSG_CANT_SURF_HERE 8 +#define PARTY_MSG_ALREADY_SURFING 9 +#define PARTY_MSG_CURRENT_TOO_FAST 10 +#define PARTY_MSG_ENJOY_CYCLING 11 +#define PARTY_MSG_ALREADY_IN_USE 12 +#define PARTY_MSG_CANT_USE_HERE 13 +#define PARTY_MSG_NO_MON_FOR_BATTLE 14 +#define PARTY_MSG_CHOOSE_MON_2 15 +#define PARTY_MSG_NOT_ENOUGH_HP 16 +#define PARTY_MSG_X_MONS_ARE_NEEDED 17 +#define PARTY_MSG_MONS_CANT_BE_SAME 18 +#define PARTY_MSG_NO_SAME_HOLD_ITEMS 19 +#define PARTY_MSG_UNUSED 20 +#define PARTY_MSG_DO_WHAT_WITH_MON 21 +#define PARTY_MSG_RESTORE_WHICH_MOVE 22 +#define PARTY_MSG_BOOST_PP_WHICH_MOVE 23 +#define PARTY_MSG_DO_WHAT_WITH_ITEM 24 +#define PARTY_MSG_DO_WHAT_WITH_MAIL 25 +#define PARTY_MSG_ALREADY_HOLDING_ONE 26 +#define PARTY_MSG_NONE 127 + +// IDs for DisplayPartyPokemonDescriptionText, to display a message in the party pokemon's box +#define PARTYBOX_DESC_NO_USE 0 +#define PARTYBOX_DESC_ABLE_3 1 +#define PARTYBOX_DESC_FIRST 2 +#define PARTYBOX_DESC_SECOND 3 +#define PARTYBOX_DESC_THIRD 4 +#define PARTYBOX_DESC_FOURTH 5 +#define PARTYBOX_DESC_ABLE 6 +#define PARTYBOX_DESC_NOT_ABLE 7 +#define PARTYBOX_DESC_ABLE_2 8 +#define PARTYBOX_DESC_NOT_ABLE_2 9 +#define PARTYBOX_DESC_LEARNED 10 +#define PARTYBOX_DESC_HAVE 11 +#define PARTYBOX_DESC_DONT_HAVE 12 + +#define SELECTWINDOW_ACTIONS 0 +#define SELECTWINDOW_ITEM 1 +#define SELECTWINDOW_MAIL 2 +#define SELECTWINDOW_MOVES 3 + +#endif // GUARD_CONSTANTS_PARTY_MENU_H diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 5d0e562bcb..97e3f06863 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -2,87 +2,280 @@ #define GUARD_CONSTANTS_POKEMON_H // Pokemon types -#define TYPE_NONE 0xFF -#define TYPE_NORMAL 0x00 -#define TYPE_FIGHTING 0x01 -#define TYPE_FLYING 0x02 -#define TYPE_POISON 0x03 -#define TYPE_GROUND 0x04 -#define TYPE_ROCK 0x05 -#define TYPE_BUG 0x06 -#define TYPE_GHOST 0x07 -#define TYPE_STEEL 0x08 -#define TYPE_MYSTERY 0x09 -#define TYPE_FIRE 0x0a -#define TYPE_WATER 0x0b -#define TYPE_GRASS 0x0c -#define TYPE_ELECTRIC 0x0d -#define TYPE_PSYCHIC 0x0e -#define TYPE_ICE 0x0f -#define TYPE_DRAGON 0x10 -#define TYPE_DARK 0x11 -#define NUMBER_OF_MON_TYPES 0x12 - +#define TYPE_NONE 255 +#define TYPE_NORMAL 0 +#define TYPE_FIGHTING 1 +#define TYPE_FLYING 2 +#define TYPE_POISON 3 +#define TYPE_GROUND 4 +#define TYPE_ROCK 5 +#define TYPE_BUG 6 +#define TYPE_GHOST 7 +#define TYPE_STEEL 8 +#define TYPE_MYSTERY 9 +#define TYPE_FIRE 10 +#define TYPE_WATER 11 +#define TYPE_GRASS 12 +#define TYPE_ELECTRIC 13 +#define TYPE_PSYCHIC 14 +#define TYPE_ICE 15 +#define TYPE_DRAGON 16 +#define TYPE_DARK 17 +#define NUMBER_OF_MON_TYPES 18 // Pokemon egg groups -#define EGG_GROUP_NONE 0 -#define EGG_GROUP_MONSTER 1 -#define EGG_GROUP_WATER_1 2 -#define EGG_GROUP_BUG 3 -#define EGG_GROUP_FLYING 4 -#define EGG_GROUP_FIELD 5 -#define EGG_GROUP_FAIRY 6 -#define EGG_GROUP_GRASS 7 -#define EGG_GROUP_HUMAN_LIKE 8 -#define EGG_GROUP_WATER_3 9 -#define EGG_GROUP_MINERAL 10 -#define EGG_GROUP_AMORPHOUS 11 -#define EGG_GROUP_WATER_2 12 -#define EGG_GROUP_DITTO 13 -#define EGG_GROUP_DRAGON 14 -#define EGG_GROUP_UNDISCOVERED 15 +#define EGG_GROUP_NONE 0 +#define EGG_GROUP_MONSTER 1 +#define EGG_GROUP_WATER_1 2 +#define EGG_GROUP_BUG 3 +#define EGG_GROUP_FLYING 4 +#define EGG_GROUP_FIELD 5 +#define EGG_GROUP_FAIRY 6 +#define EGG_GROUP_GRASS 7 +#define EGG_GROUP_HUMAN_LIKE 8 +#define EGG_GROUP_WATER_3 9 +#define EGG_GROUP_MINERAL 10 +#define EGG_GROUP_AMORPHOUS 11 +#define EGG_GROUP_WATER_2 12 +#define EGG_GROUP_DITTO 13 +#define EGG_GROUP_DRAGON 14 +#define EGG_GROUP_UNDISCOVERED 15 + +#define EGG_GROUPS_PER_MON 2 // Pokemon natures -#define NATURE_HARDY 0 -#define NATURE_LONELY 1 -#define NATURE_BRAVE 2 -#define NATURE_ADAMANT 3 -#define NATURE_NAUGHTY 4 -#define NATURE_BOLD 5 -#define NATURE_DOCILE 6 -#define NATURE_RELAXED 7 -#define NATURE_IMPISH 8 -#define NATURE_LAX 9 -#define NATURE_TIMID 10 -#define NATURE_HASTY 11 -#define NATURE_SERIOUS 12 -#define NATURE_JOLLY 13 -#define NATURE_NAIVE 14 -#define NATURE_MODEST 15 -#define NATURE_MILD 16 -#define NATURE_QUIET 17 -#define NATURE_BASHFUL 18 -#define NATURE_RASH 19 -#define NATURE_CALM 20 -#define NATURE_GENTLE 21 -#define NATURE_SASSY 22 -#define NATURE_CAREFUL 23 -#define NATURE_QUIRKY 24 +#define NATURE_HARDY 0 +#define NATURE_LONELY 1 +#define NATURE_BRAVE 2 +#define NATURE_ADAMANT 3 +#define NATURE_NAUGHTY 4 +#define NATURE_BOLD 5 +#define NATURE_DOCILE 6 +#define NATURE_RELAXED 7 +#define NATURE_IMPISH 8 +#define NATURE_LAX 9 +#define NATURE_TIMID 10 +#define NATURE_HASTY 11 +#define NATURE_SERIOUS 12 +#define NATURE_JOLLY 13 +#define NATURE_NAIVE 14 +#define NATURE_MODEST 15 +#define NATURE_MILD 16 +#define NATURE_QUIET 17 +#define NATURE_BASHFUL 18 +#define NATURE_RASH 19 +#define NATURE_CALM 20 +#define NATURE_GENTLE 21 +#define NATURE_SASSY 22 +#define NATURE_CAREFUL 23 +#define NATURE_QUIRKY 24 // Pokemon Stats -#define STAT_HP 0 -#define STAT_ATK 1 -#define STAT_DEF 2 -#define STAT_SPEED 3 -#define STAT_SPATK 4 -#define STAT_SPDEF 5 -#define STAT_ACC 6 // Only in battles. +#define STAT_HP 0 +#define STAT_ATK 1 +#define STAT_DEF 2 +#define STAT_SPEED 3 +#define STAT_SPATK 4 +#define STAT_SPDEF 5 +#define STAT_ACC 6 // Only in battles. #define STAT_EVASION 7 // Only in battles. -#define NUM_STATS 6 -#define NUM_BATTLE_STATS 8 +#define NUM_EV_STATS NUM_STATS - 1 // excludes HP +#define NUM_BATTLE_STATS NUM_STATS + 2 // includes Accuracy and Evasion // Shiny odds #define SHINY_ODDS 8 // Actual probability is SHINY_ODDS/65536 +// Flags for Get(Box)MonData / Set(Box)MonData +#define MON_DATA_PERSONALITY 0 +#define MON_DATA_OT_ID 1 +#define MON_DATA_NICKNAME 2 +#define MON_DATA_LANGUAGE 3 +#define MON_DATA_SANITY_IS_BAD_EGG 4 +#define MON_DATA_SANITY_HAS_SPECIES 5 +#define MON_DATA_SANITY_IS_EGG 6 +#define MON_DATA_OT_NAME 7 +#define MON_DATA_MARKINGS 8 +#define MON_DATA_CHECKSUM 9 +#define MON_DATA_ENCRYPT_SEPARATOR 10 +#define MON_DATA_SPECIES 11 +#define MON_DATA_HELD_ITEM 12 +#define MON_DATA_MOVE1 13 +#define MON_DATA_MOVE2 14 +#define MON_DATA_MOVE3 15 +#define MON_DATA_MOVE4 16 +#define MON_DATA_PP1 17 +#define MON_DATA_PP2 18 +#define MON_DATA_PP3 19 +#define MON_DATA_PP4 20 +#define MON_DATA_PP_BONUSES 21 +#define MON_DATA_COOL 22 +#define MON_DATA_BEAUTY 23 +#define MON_DATA_CUTE 24 +#define MON_DATA_EXP 25 +#define MON_DATA_HP_EV 26 +#define MON_DATA_ATK_EV 27 +#define MON_DATA_DEF_EV 28 +#define MON_DATA_SPEED_EV 29 +#define MON_DATA_SPATK_EV 30 +#define MON_DATA_SPDEF_EV 31 +#define MON_DATA_FRIENDSHIP 32 +#define MON_DATA_SMART 33 +#define MON_DATA_POKERUS 34 +#define MON_DATA_MET_LOCATION 35 +#define MON_DATA_MET_LEVEL 36 +#define MON_DATA_MET_GAME 37 +#define MON_DATA_POKEBALL 38 +#define MON_DATA_HP_IV 39 +#define MON_DATA_ATK_IV 40 +#define MON_DATA_DEF_IV 41 +#define MON_DATA_SPEED_IV 42 +#define MON_DATA_SPATK_IV 43 +#define MON_DATA_SPDEF_IV 44 +#define MON_DATA_IS_EGG 45 +#define MON_DATA_ABILITY_NUM 46 +#define MON_DATA_TOUGH 47 +#define MON_DATA_SHEEN 48 +#define MON_DATA_OT_GENDER 49 +#define MON_DATA_COOL_RIBBON 50 +#define MON_DATA_BEAUTY_RIBBON 51 +#define MON_DATA_CUTE_RIBBON 52 +#define MON_DATA_SMART_RIBBON 53 +#define MON_DATA_TOUGH_RIBBON 54 +#define MON_DATA_STATUS 55 +#define MON_DATA_LEVEL 56 +#define MON_DATA_HP 57 +#define MON_DATA_MAX_HP 58 +#define MON_DATA_ATK 59 +#define MON_DATA_DEF 60 +#define MON_DATA_SPEED 61 +#define MON_DATA_SPATK 62 +#define MON_DATA_SPDEF 63 +#define MON_DATA_MAIL 64 +#define MON_DATA_SPECIES2 65 +#define MON_DATA_IVS 66 +#define MON_DATA_CHAMPION_RIBBON 67 +#define MON_DATA_WINNING_RIBBON 68 +#define MON_DATA_VICTORY_RIBBON 69 +#define MON_DATA_ARTIST_RIBBON 70 +#define MON_DATA_EFFORT_RIBBON 71 +#define MON_DATA_GIFT_RIBBON_1 72 +#define MON_DATA_GIFT_RIBBON_2 73 +#define MON_DATA_GIFT_RIBBON_3 74 +#define MON_DATA_GIFT_RIBBON_4 75 +#define MON_DATA_GIFT_RIBBON_5 76 +#define MON_DATA_GIFT_RIBBON_6 77 +#define MON_DATA_GIFT_RIBBON_7 78 +#define MON_DATA_FATEFUL_ENCOUNTER 79 +#define MON_DATA_OBEDIENCE 80 +#define MON_DATA_KNOWN_MOVES 81 +#define MON_DATA_RIBBON_COUNT 82 +#define MON_DATA_RIBBONS 83 +#define MON_DATA_ATK2 84 +#define MON_DATA_DEF2 85 +#define MON_DATA_SPEED2 86 +#define MON_DATA_SPATK2 87 +#define MON_DATA_SPDEF2 88 + +#define MIN_LEVEL 1 +#define MAX_LEVEL 100 + +#define OT_ID_PLAYER_ID 0 +#define OT_ID_PRESET 1 +#define OT_ID_RANDOM_NO_SHINY 2 + +#define MON_GIVEN_TO_PARTY 0 +#define MON_GIVEN_TO_PC 1 +#define MON_CANT_GIVE 2 + +#define PLAYER_HAS_TWO_USABLE_MONS 0 +#define PLAYER_HAS_ONE_MON 1 +#define PLAYER_HAS_ONE_USABLE_MON 2 + +#define MON_ALREADY_KNOWS_MOVE 0xFFFE +#define MON_HAS_MAX_MOVES 0xFFFF + +#define LEVEL_UP_MOVE_ID 0x01FF +#define LEVEL_UP_MOVE_LV 0xFE00 +#define LEVEL_UP_END 0xFFFF + +#define MON_MALE 0x00 +#define MON_FEMALE 0xFE +#define MON_GENDERLESS 0xFF + +#define FRIENDSHIP_EVENT_GROW_LEVEL 0 +#define FRIENDSHIP_EVENT_VITAMIN 1 // unused +#define FRIENDSHIP_EVENT_BATTLE_ITEM 2 // unused +#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 3 +#define FRIENDSHIP_EVENT_LEARN_TMHM 4 +#define FRIENDSHIP_EVENT_WALKING 5 +#define FRIENDSHIP_EVENT_FAINT_SMALL 6 +#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 7 +#define FRIENDSHIP_EVENT_FAINT_LARGE 8 + +#define MAX_FRIENDSHIP 0xFF + +#define STATUS_PRIMARY_NONE 0 +#define STATUS_PRIMARY_POISON 1 +#define STATUS_PRIMARY_PARALYSIS 2 +#define STATUS_PRIMARY_SLEEP 3 +#define STATUS_PRIMARY_FREEZE 4 +#define STATUS_PRIMARY_BURN 5 +#define STATUS_PRIMARY_POKERUS 6 +#define STATUS_PRIMARY_FAINTED 7 + +#define MAX_TOTAL_EVS 510 +#define EV_ITEM_RAISE_LIMIT 100 + +#define UNOWN_FORM_COUNT 28 + +// Battle move flags +#define FLAG_MAKES_CONTACT 0x1 +#define FLAG_PROTECT_AFFECTED 0x2 +#define FLAG_MAGICCOAT_AFFECTED 0x4 +#define FLAG_SNATCH_AFFECTED 0x8 +#define FLAG_MIRROR_MOVE_AFFECTED 0x10 +#define FLAG_KINGSROCK_AFFECTED 0x20 + +// Growth rates +#define GROWTH_MEDIUM_FAST 0 +#define GROWTH_ERRATIC 1 +#define GROWTH_FLUCTUATING 2 +#define GROWTH_MEDIUM_SLOW 3 +#define GROWTH_FAST 4 +#define GROWTH_SLOW 5 + +// Body colors for pokedex search +#define BODY_COLOR_RED 0 +#define BODY_COLOR_BLUE 1 +#define BODY_COLOR_YELLOW 2 +#define BODY_COLOR_GREEN 3 +#define BODY_COLOR_BLACK 4 +#define BODY_COLOR_BROWN 5 +#define BODY_COLOR_PURPLE 6 +#define BODY_COLOR_GRAY 7 +#define BODY_COLOR_WHITE 8 +#define BODY_COLOR_PINK 9 + +#define F_SUMMARY_SCREEN_FLIP_SPRITE 0x80 + +// Evolution type flags +#define EVO_FRIENDSHIP 0x0001 // Pokémon levels up with friendship ≥ 220 +#define EVO_FRIENDSHIP_DAY 0x0002 // Pokémon levels up during the day with friendship ≥ 220 +#define EVO_FRIENDSHIP_NIGHT 0x0003 // Pokémon levels up at night with friendship ≥ 220 +#define EVO_LEVEL 0x0004 // Pokémon reaches the specified level +#define EVO_TRADE 0x0005 // Pokémon is traded +#define EVO_TRADE_ITEM 0x0006 // Pokémon is traded while it's holding the specified item +#define EVO_ITEM 0x0007 // specified item is used on Pokémon +#define EVO_LEVEL_ATK_GT_DEF 0x0008 // Pokémon reaches the specified level with attack > defense +#define EVO_LEVEL_ATK_EQ_DEF 0x0009 // Pokémon reaches the specified level with attack = defense +#define EVO_LEVEL_ATK_LT_DEF 0x000a // Pokémon reaches the specified level with attack < defense +#define EVO_LEVEL_SILCOON 0x000b // Pokémon reaches the specified level with a Silcoon personality value +#define EVO_LEVEL_CASCOON 0x000c // Pokémon reaches the specified level with a Cascoon personality value +#define EVO_LEVEL_NINJASK 0x000d // Pokémon reaches the specified level (special value for Ninjask) +#define EVO_LEVEL_SHEDINJA 0x000e // Pokémon reaches the specified level (special value for Shedinja) +#define EVO_BEAUTY 0x000f // Pokémon levels up with beauty ≥ specified value + +#define EVOS_PER_MON 5 + #endif // GUARD_CONSTANTS_POKEMON_H diff --git a/include/constants/script_menu.h b/include/constants/script_menu.h new file mode 100644 index 0000000000..928ca00e06 --- /dev/null +++ b/include/constants/script_menu.h @@ -0,0 +1,168 @@ +#ifndef GUARD_SCRIPT_MENU_CONSTANTS_H +#define GUARD_SCRIPT_MENU_CONSTANTS_H + +#define MULTICHOICE(name) {name, ARRAY_COUNT(name)} + +#define MAX_MULTICHOICE_WIDTH 28 + +#define MULTI_B_PRESSED 127 + +// Multichoice Ids +#define MULTI_BRINEY_ON_DEWFORD 0 +#define MULTI_PC 1 // Exit only, populated by CreatePCMultichoice +#define MULTI_ENTERINFO 2 +#define MULTI_CONTEST_INFO 3 +#define MULTI_CONTEST_TYPE 4 +#define MULTI_BASE_PC_NO_REGISTRY 5 +#define MULTI_BASE_PC_WITH_REGISTRY 6 +#define MULTI_REGISTER_MENU 7 +#define MULTI_SSTIDAL_LILYCOVE 8 // Exit only, populated by CreateLilycoveSSTidalMultichoice +#define MULTI_UNUSED_9 9 +#define MULTI_UNUSED_10 10 +#define MULTI_FRONTIER_PASS_INFO 11 +#define MULTI_BIKE 12 +#define MULTI_STATUS_INFO 13 +#define MULTI_BRINEY_OFF_DEWFORD 14 +#define MULTI_UNUSED_15 15 +#define MULTI_VIEWED_PAINTINGS 16 +#define MULTI_YESNOINFO 17 +#define MULTI_BATTLE_MODE 18 +#define MULTI_UNUSED_19 19 +#define MULTI_YESNOINFO_2 20 +#define MULTI_UNUSED_21 21 +#define MULTI_UNUSED_22 22 +#define MULTI_CHALLENGEINFO 23 +#define MULTI_LEVEL_MODE 24 +#define MULTI_MECHADOLL1_Q1 25 +#define MULTI_MECHADOLL1_Q2 26 +#define MULTI_MECHADOLL1_Q3 27 +#define MULTI_MECHADOLL2_Q1 28 +#define MULTI_MECHADOLL2_Q2 29 +#define MULTI_MECHADOLL2_Q3 30 +#define MULTI_MECHADOLL3_Q1 31 +#define MULTI_MECHADOLL3_Q2 32 +#define MULTI_MECHADOLL3_Q3 33 +#define MULTI_MECHADOLL4_Q1 34 +#define MULTI_MECHADOLL4_Q2 35 +#define MULTI_MECHADOLL4_Q3 36 +#define MULTI_MECHADOLL5_Q1 37 +#define MULTI_MECHADOLL5_Q2 38 +#define MULTI_MECHADOLL5_Q3 39 +#define MULTI_UNUSED_40 40 +#define MULTI_UNUSED_41 41 +#define MULTI_VENDING_MACHINE 42 +#define MULTI_MACH_BIKE_INFO 43 +#define MULTI_ACRO_BIKE_INFO 44 +#define MULTI_SATISFACTION 45 +#define MULTI_STERN_DEEPSEA 46 +#define MULTI_UNUSED_ASH_VENDOR 47 // Replaced by scrollable multichoice +#define MULTI_GAME_CORNER_DOLLS 48 +#define MULTI_GAME_CORNER_COINS 49 +#define MULTI_HOWS_FISHING 50 +#define MULTI_UNUSED_51 51 +#define MULTI_SSTIDAL_SLATEPORT_WITH_BF 52 +#define MULTI_SSTIDAL_BATTLE_FRONTIER 53 +#define MULTI_RIGHTLEFT 54 +#define MULTI_GAME_CORNER_TMS 55 +#define MULTI_SSTIDAL_SLATEPORT_NO_BF 56 +#define MULTI_FLOORS 57 +#define MULTI_SHARDS_R 58 +#define MULTI_SHARDS_Y 59 +#define MULTI_SHARDS_RY 60 +#define MULTI_SHARDS_B 61 +#define MULTI_SHARDS_RB 62 +#define MULTI_SHARDS_YB 63 +#define MULTI_SHARDS_RYB 64 +#define MULTI_SHARDS_G 65 +#define MULTI_SHARDS_RG 66 +#define MULTI_SHARDS_YG 67 +#define MULTI_SHARDS_RYG 68 +#define MULTI_SHARDS_BG 69 +#define MULTI_SHARDS_RBG 70 +#define MULTI_SHARDS_YBG 71 +#define MULTI_SHARDS_RYBG 72 +#define MULTI_TOURNEY_WITH_RECORD 73 +#define MULTI_CABLE_CLUB_NO_RECORD_MIX 74 +#define MULTI_WIRELESS_NO_RECORD_BERRY 75 +#define MULTI_CABLE_CLUB_WITH_RECORD_MIX 76 +#define MULTI_WIRELESS_NO_BERRY 77 +#define MULTI_WIRELESS_NO_RECORD 78 +#define MULTI_WIRELESS_ALL_SERVICES 79 +#define MULTI_WIRELESS_MINIGAME 80 +#define MULTI_LINK_LEADER 81 +#define MULTI_CONTEST_RANK 82 +#define MULTI_FRONTIER_ITEM_CHOOSE 83 +#define MULTI_LINK_CONTEST_INFO 84 +#define MULTI_LINK_CONTEST_MODE 85 +#define MULTI_FORCED_START_MENU 86 +#define MULTI_FRONTIER_GAMBLER_BET 87 +#define MULTI_TENT 88 +#define MULTI_UNUSED_SSTIDAL_1 89 // These 4 were replaced by CreateLilycoveSSTidalMultichoice +#define MULTI_UNUSED_SSTIDAL_2 90 // +#define MULTI_UNUSED_SSTIDAL_3 91 // +#define MULTI_UNUSED_SSTIDAL_4 92 // +#define MULTI_FOSSIL 93 +#define MULTI_YESNO 94 +#define MULTI_FRONTIER_RULES 95 +#define MULTI_BATTLE_ARENA_RULES 96 +#define MULTI_BATTLE_TOWER_RULES 97 +#define MULTI_BATTLE_DOME_RULES 98 +#define MULTI_BATTLE_FACTORY_RULES 99 +#define MULTI_BATTLE_PALACE_RULES 100 +#define MULTI_BATTLE_PYRAMID_RULES 101 +#define MULTI_BATTLE_PIKE_RULES 102 +#define MULTI_GO_ON_RECORD_REST_RETIRE 103 +#define MULTI_GO_ON_REST_RETIRE 104 +#define MULTI_GO_ON_RECORD_RETIRE 105 +#define MULTI_GO_ON_RETIRE 106 +#define MULTI_TOURNEY_NO_RECORD 107 +#define MULTI_TV_LATI 108 +#define MULTI_BATTLE_TOWER_FEELINGS 109 +#define MULTI_WHERES_RAYQUAZA 110 +#define MULTI_SLATEPORT_TENT_RULES 111 +#define MULTI_FALLARBOR_TENT_RULES 112 +#define MULTI_TAG_MATCH_TYPE 113 + +// Lilycove SS Tidal Multichoice Selections +#define SSTIDAL_SELECTION_SLATEPORT 0 +#define SSTIDAL_SELECTION_BATTLE_FRONTIER 1 +#define SSTIDAL_SELECTION_SOUTHERN_ISLAND 2 +#define SSTIDAL_SELECTION_NAVEL_ROCK 3 +#define SSTIDAL_SELECTION_BIRTH_ISLAND 4 +#define SSTIDAL_SELECTION_FARAWAY_ISLAND 5 +#define SSTIDAL_SELECTION_EXIT 6 +#define SSTIDAL_SELECTION_COUNT 7 + +// Std String Ids +#define STDSTRING_COOL 0 +#define STDSTRING_BEAUTY 1 +#define STDSTRING_CUTE 2 +#define STDSTRING_SMART 3 +#define STDSTRING_TOUGH 4 +#define STDSTRING_NORMAL 5 +#define STDSTRING_SUPER 6 +#define STDSTRING_HYPER 7 +#define STDSTRING_MASTER 8 +#define STDSTRING_COOL2 9 +#define STDSTRING_BEAUTY2 10 +#define STDSTRING_CUTE2 11 +#define STDSTRING_SMART2 12 +#define STDSTRING_TOUGH2 13 +#define STDSTRING_ITEMS 14 +#define STDSTRING_KEYITEMS 15 +#define STDSTRING_POKEBALLS 16 +#define STDSTRING_TMHMS 17 +#define STDSTRING_BERRIES 18 +#define STDSTRING_SINGLE 19 +#define STDSTRING_DOUBLE 20 +#define STDSTRING_MULTI 21 +#define STDSTRING_MULTI_LINK 22 +#define STDSTRING_BATTLE_TOWER 23 +#define STDSTRING_BATTLE_DOME 24 +#define STDSTRING_BATTLE_FACTORY 25 +#define STDSTRING_BATTLE_PALACE 26 +#define STDSTRING_BATTLE_ARENA 27 +#define STDSTRING_BATTLE_PIKE 28 +#define STDSTRING_BATTLE_PYRAMID 29 + +#endif //GUARD_SCRIPT_MENU_CONSTANTS_H diff --git a/include/constants/trade.h b/include/constants/trade.h new file mode 100644 index 0000000000..fa42e6b43f --- /dev/null +++ b/include/constants/trade.h @@ -0,0 +1,116 @@ +#ifndef GUARD_CONSTANTS_TRADE_H +#define GUARD_CONSTANTS_TRADE_H + +#define TRADE_PLAYER 0 +#define TRADE_PARTNER 1 + +#define LINK_TRADE_TIMEOUT 300 + +// In-game Trade IDs +#define INGAME_TRADE_SEEDOT 0 +#define INGAME_TRADE_PLUSLE 1 +#define INGAME_TRADE_HORSEA 2 +#define INGAME_TRADE_MEOWTH 3 + +// Flag IDs for sending link data +#define INITIATE_TRADE 1 +#define CANCEL_TRADE 2 +#define WANTS_TO_TRADE 1 +#define WANTS_TO_CANCEL 2 +#define READY_FINISH_TRADE 1 +#define FINISH_TRADE 2 + +// Return values for CanTradeSelectedMon and CanSpinTradeMon +#define CAN_TRADE_MON 0 +#define CANT_TRADE_LAST_MON 1 +#define CANT_TRADE_NATIONAL 2 +#define CANT_TRADE_EGG_YET 3 +#define CANT_TRADE_INVALID_MON 4 +#define CANT_TRADE_EGG_YET2 5 + +// Return values for CheckValidityOfTradeMons +#define PLAYER_MON_INVALID 0 +#define BOTH_MONS_VALID 1 +#define PARTNER_MON_INVALID 2 + +// Return values for GetGameProgressForLinkTrade +#define TRADE_BOTH_PLAYERS_READY 0 +#define TRADE_PLAYER_NOT_READY 1 +#define TRADE_PARTNER_NOT_READY 2 + +// Indexes for sTradeActionTexts +#define TRADE_TEXT_CANCEL 0 +#define TRADE_TEXT_CHOOSE_MON 1 +#define TRADE_TEXT_SUMMARY 2 +#define TRADE_TEXT_TRADE 3 +#define TRADE_TEXT_CANCEL_TRADE 4 +#define TRADE_TEXT_JP_QUIT 5 + +// Checked to confirm DrawTradeMenuParty has reached final state +#define DRAW_PARTY_FINISH 5 + +// Message indexes for sTradeMessages +#define TRADE_MSG_STANDBY 0 +#define TRADE_MSG_CANCELED 1 +#define TRADE_MSG_ONLY_MON1 2 +#define TRADE_MSG_ONLY_MON2 3 +#define TRADE_MSG_WAITING_FOR_FRIEND 4 +#define TRADE_MSG_FRIEND_WANTS_TO_TRADE 5 +#define TRADE_MSG_MON_CANT_BE_TRADED 6 +#define TRADE_MSG_EGG_CANT_BE_TRADED 7 +#define TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED 8 + +// IDs for QueueAction +#define QUEUE_SEND_DATA 0 +#define QUEUE_STANDBY 1 +#define QUEUE_ONLY_MON1 2 +#define QUEUE_ONLY_MON2 3 +#define QUEUE_UNUSED1 4 +#define QUEUE_UNUSED2 5 +#define QUEUE_MON_CANT_BE_TRADED 6 +#define QUEUE_EGG_CANT_BE_TRADED 7 +#define QUEUE_FRIENDS_MON_CANT_BE_TRADED 8 + +#define QUEUE_DELAY_MSG 3 +#define QUEUE_DELAY_DATA 5 + +// IDs for CallTradeMenuFunc +#define TRADEMENUFUNC_MAIN_MENU 0 +#define TRADEMENUFUNC_SELECTED_MON 1 +#define TRADEMENUFUNC_SHOW_MON_SUMMARY 2 +#define TRADEMENUFUNC_CONFIRM_OR_CANCEL_TRADE 3 +#define TRADEMENUFUNC_CANCEL_TRADE_PROMPT 4 +#define TRADEMENUFUNC_UNUSED_5 5 +#define TRADEMENUFUNC_BOTH_MONS_SELECTED 6 +#define TRADEMENUFUNC_CONFIRM_TRADE_PROMPT 7 +#define TRADEMENUFUNC_REDRAW_MAIN_MENU 8 +#define TRADEMENUFUNC_LINK_TRADE_FADE_OUT 9 +#define TRADEMENUFUNC_LINK_TRADE_WAIT_FADE 10 +#define TRADEMENUFUNC_CANCEL_TRADE_1 11 +#define TRADEMENUFUNC_CANCEL_TRADE_2 12 +#define TRADEMENUFUNC_START_LINK_TRADE 13 +#define TRADEMENUFUNC_DELAY_TRADE_CONFIRM 14 +#define TRADEMENUFUNC_UNUSED_15 15 +#define TRADEMENUFUNC_LINK_TRADE_WAIT_QUEUE 16 +#define TRADEMENUFUNC_PARTNER_MON_INVALID 17 +#define TRADEMENUFUNC_STANDBY 100 + +// Message indexes for sUnionRoomTradeMessages +#define UR_TRADE_MSG_NONE 0 +#define UR_TRADE_MSG_NOT_MON_PARTNER_WANTS 1 +#define UR_TRADE_MSG_NOT_EGG 2 +#define UR_TRADE_MSG_MON_CANT_BE_TRADED_1 3 +#define UR_TRADE_MSG_MON_CANT_BE_TRADED_2 4 +#define UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED 5 +#define UR_TRADE_MSG_EGG_CANT_BE_TRADED 6 +#define UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON 7 +#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_1 8 +#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2 9 + +// Return values for CanRegisterMonForTradingBoard +#define CAN_REGISTER_MON 0 +#define CANT_REGISTER_MON 1 +#define CANT_REGISTER_EGG 2 + + +#endif //GUARD_CONSTANTS_TRADE_H diff --git a/include/constants/trainer_hill.h b/include/constants/trainer_hill.h index 4aae1dbbc8..afbcd4ace2 100644 --- a/include/constants/trainer_hill.h +++ b/include/constants/trainer_hill.h @@ -1,27 +1,46 @@ #ifndef GUARD_CONSTANTS_TRAINER_HILL_H #define GUARD_CONSTANTS_TRAINER_HILL_H -#define TRAINER_HILL_FUNC_START 0 -#define TRAINER_HILL_FUNC_1 1 -#define TRAINER_HILL_FUNC_2 2 -#define TRAINER_HILL_FUNC_3 3 -#define TRAINER_HILL_FUNC_RESUME_TIMER 4 -#define TRAINER_HILL_FUNC_SET_LOST 5 -#define TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS 6 -#define TRAINER_HILL_FUNC_7 7 -#define TRAINER_HILL_FUNC_8 8 -#define TRAINER_HILL_FUNC_9 9 -#define TRAINER_HILL_FUNC_10 10 -#define TRAINER_HILL_FUNC_11 11 -#define TRAINER_HILL_FUNC_12 12 -#define TRAINER_HILL_FUNC_13 13 -#define TRAINER_HILL_FUNC_14 14 -#define TRAINER_HILL_FUNC_15 15 -#define TRAINER_HILL_FUNC_16 16 -#define TRAINER_HILL_FUNC_SET_TAG 17 +#define TRAINER_HILL_1F 1 +#define TRAINER_HILL_2F 2 +#define TRAINER_HILL_3F 3 +#define TRAINER_HILL_4F 4 +#define TRAINER_HILL_ROOF 5 +#define TRAINER_HILL_ENTRANCE 6 -// Values returned by the TrainerHillGetChallengeStatus -// function. +#define NUM_TRAINER_HILL_FLOORS 4 +#define NUM_TRAINER_HILL_FLOORS_JP 2 + +#define NUM_TRAINER_HILL_PRIZE_LISTS 10 + +#define TRAINER_HILL_FUNC_START 0 +#define TRAINER_HILL_FUNC_GET_OWNER_STATE 1 +#define TRAINER_HILL_FUNC_GIVE_PRIZE 2 +#define TRAINER_HILL_FUNC_CHECK_FINAL_TIME 3 +#define TRAINER_HILL_FUNC_RESUME_TIMER 4 +#define TRAINER_HILL_FUNC_SET_LOST 5 +#define TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS 6 +#define TRAINER_HILL_FUNC_GET_CHALLENGE_TIME 7 +#define TRAINER_HILL_FUNC_GET_ALL_FLOORS_USED 8 +#define TRAINER_HILL_FUNC_CLEAR_RESULT 9 +#define TRAINER_HILL_FUNC_IN_CHALLENGE 10 +#define TRAINER_HILL_FUNC_POST_BATTLE_TEXT 11 +#define TRAINER_HILL_FUNC_SET_ALL_TRAINER_FLAGS 12 +#define TRAINER_HILL_FUNC_GET_GAME_SAVED 13 +#define TRAINER_HILL_FUNC_SET_GAME_SAVED 14 +#define TRAINER_HILL_FUNC_CLEAR_GAME_SAVED 15 +#define TRAINER_HILL_FUNC_GET_WON 16 +#define TRAINER_HILL_FUNC_SET_TAG 17 + +#define TRAINER_HILL_TEXT_INTRO 2 +#define TRAINER_HILL_TEXT_PLAYER_LOST 3 +#define TRAINER_HILL_TEXT_PLAYER_WON 4 +#define TRAINER_HILL_TEXT_AFTER 5 + +#define NUM_TRAINER_HILL_TRAINERS (NUM_TRAINER_HILL_FLOORS * 2) +#define NUM_TRAINER_HILL_TRAINERS_JP (NUM_TRAINER_HILL_FLOORS_JP * 2) + +// Values returned by TrainerHillGetChallengeStatus #define TRAINER_HILL_PLAYER_STATUS_LOST 0 #define TRAINER_HILL_PLAYER_STATUS_ECARD_SCANNED 1 #define TRAINER_HILL_PLAYER_STATUS_NORMAL 2 diff --git a/include/constants/trainers.h b/include/constants/trainers.h index c0abfe6b65..541b131ca3 100644 --- a/include/constants/trainers.h +++ b/include/constants/trainers.h @@ -2,9 +2,11 @@ #define GUARD_TRAINERS_H #include "constants/opponents.h" +#include "constants/battle_frontier_trainers.h" // Special Trainer Ids. -#define TRAINER_RECORD_MIXING_FRIEND 300 +// 0-299 are frontier trainers +#define TRAINER_RECORD_MIXING_FRIEND FRONTIER_TRAINERS_COUNT #define TRAINER_RECORD_MIXING_APPRENTICE 400 #define TRAINER_EREADER 500 #define TRAINER_FRONTIER_BRAIN 1022 @@ -119,7 +121,7 @@ #define FACILITY_CLASS_HIKER 0x0 #define FACILITY_CLASS_AQUA_GRUNT_M 0x1 -#define FACILITY_CLASS_POKEMON_BREEDER_F 0x2 +#define FACILITY_CLASS_PKMN_BREEDER_F 0x2 #define FACILITY_CLASS_COOLTRAINER_M 0x3 #define FACILITY_CLASS_BIRD_KEEPER 0x4 #define FACILITY_CLASS_COLLECTOR 0x5 @@ -202,6 +204,86 @@ #define FACILITY_CLASSES_COUNT 0x52 +#define RS_FACILITY_CLASS_AQUA_LEADER_ARCHIE 0x0 +#define RS_FACILITY_CLASS_AQUA_GRUNT_M 0x1 +#define RS_FACILITY_CLASS_AQUA_GRUNT_F 0x2 +#define RS_FACILITY_CLASS_AROMA_LADY 0x3 +#define RS_FACILITY_CLASS_RUIN_MANIAC 0x4 +#define RS_FACILITY_CLASS_INTERVIEWER 0x5 +#define RS_FACILITY_CLASS_TUBER_F 0x6 +#define RS_FACILITY_CLASS_TUBER_M 0x7 +#define RS_FACILITY_CLASS_COOLTRAINER_M 0x8 +#define RS_FACILITY_CLASS_COOLTRAINER_F 0x9 +#define RS_FACILITY_CLASS_HEX_MANIAC 0xA +#define RS_FACILITY_CLASS_LADY 0xB +#define RS_FACILITY_CLASS_BEAUTY 0xC +#define RS_FACILITY_CLASS_RICH_BOY 0xD +#define RS_FACILITY_CLASS_POKEMANIAC 0xE +#define RS_FACILITY_CLASS_SWIMMER_M 0xF +#define RS_FACILITY_CLASS_BLACK_BELT 0x10 +#define RS_FACILITY_CLASS_GUITARIST 0x11 +#define RS_FACILITY_CLASS_KINDLER 0x12 +#define RS_FACILITY_CLASS_CAMPER 0x13 +#define RS_FACILITY_CLASS_BUG_MANIAC 0x14 +#define RS_FACILITY_CLASS_PSYCHIC_M 0x15 +#define RS_FACILITY_CLASS_PSYCHIC_F 0x16 +#define RS_FACILITY_CLASS_GENTLEMAN 0x17 +#define RS_FACILITY_CLASS_ELITE_FOUR_M 0x18 +#define RS_FACILITY_CLASS_ELITE_FOUR_F 0x19 +#define RS_FACILITY_CLASS_LEADER_F 0x1A +#define RS_FACILITY_CLASS_LEADER_M 0x1B +#define RS_FACILITY_CLASS_LEADER_MF 0x1C +#define RS_FACILITY_CLASS_SCHOOL_KID_M 0x1D +#define RS_FACILITY_CLASS_SCHOOL_KID_F 0x1E +#define RS_FACILITY_CLASS_SR_AND_JR 0x1F +#define RS_FACILITY_CLASS_POKEFAN_M 0x20 +#define RS_FACILITY_CLASS_POKEFAN_F 0x21 +#define RS_FACILITY_CLASS_EXPERT_M 0x22 +#define RS_FACILITY_CLASS_EXPERT_F 0x23 +#define RS_FACILITY_CLASS_YOUNGSTER 0x24 +#define RS_FACILITY_CLASS_CHAMPION 0x25 +#define RS_FACILITY_CLASS_FISHERMAN 0x26 +#define RS_FACILITY_CLASS_CYCLING_TRIATHLETE_M 0x27 +#define RS_FACILITY_CLASS_CYCLING_TRIATHLETE_F 0x28 +#define RS_FACILITY_CLASS_RUNNING_TRIATHLETE_M 0x29 +#define RS_FACILITY_CLASS_RUNNING_TRIATHLETE_F 0x2A +#define RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_M 0x2B +#define RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_F 0x2C +#define RS_FACILITY_CLASS_DRAGON_TAMER 0x2D +#define RS_FACILITY_CLASS_BIRD_KEEPER 0x2E +#define RS_FACILITY_CLASS_NINJA_BOY 0x2F +#define RS_FACILITY_CLASS_BATTLE_GIRL 0x30 +#define RS_FACILITY_CLASS_PARASOL_LADY 0x31 +#define RS_FACILITY_CLASS_SWIMMER_F 0x32 +#define RS_FACILITY_CLASS_PICNICKER 0x33 +#define RS_FACILITY_CLASS_TWINS 0x34 +#define RS_FACILITY_CLASS_SAILOR 0x35 +#define RS_FACILITY_CLASS_BOARDER_1 0x36 +#define RS_FACILITY_CLASS_BOARDER_2 0x37 +#define RS_FACILITY_CLASS_COLLECTOR 0x38 +#define RS_FACILITY_CLASS_WALLY 0x39 +#define RS_FACILITY_CLASS_BRENDAN_1 0x3A +#define RS_FACILITY_CLASS_BRENDAN_2 0x3B +#define RS_FACILITY_CLASS_BRENDAN_3 0x3C +#define RS_FACILITY_CLASS_MAY_1 0x3D +#define RS_FACILITY_CLASS_MAY_2 0x3E +#define RS_FACILITY_CLASS_MAY_3 0x3F +#define RS_FACILITY_CLASS_PKMN_BREEDER_M 0x40 +#define RS_FACILITY_CLASS_PKMN_BREEDER_F 0x41 +#define RS_FACILITY_CLASS_PKMN_RANGER_M 0x42 +#define RS_FACILITY_CLASS_PKMN_RANGER_F 0x43 +#define RS_FACILITY_CLASS_MAGMA_LEADER 0x44 +#define RS_FACILITY_CLASS_MAGMA_GRUNT_M 0x45 +#define RS_FACILITY_CLASS_MAGMA_GRUNT_F 0x46 +#define RS_FACILITY_CLASS_LASS 0x47 +#define RS_FACILITY_CLASS_BUG_CATCHER 0x48 +#define RS_FACILITY_CLASS_HIKER 0x49 +#define RS_FACILITY_CLASS_YOUNG_COUPLE 0x4A +#define RS_FACILITY_CLASS_OLD_COUPLE 0x4B +#define RS_FACILITY_CLASS_SIS_AND_BRO 0x4C + +#define RS_FACILITY_CLASSES_COUNT 0x4D + #define TRAINER_CLASS_PKMN_TRAINER_1 0x0 // Unused #define TRAINER_CLASS_PKMN_TRAINER_2 0x1 // Unused #define TRAINER_CLASS_HIKER 0x2 diff --git a/include/constants/tv.h b/include/constants/tv.h new file mode 100644 index 0000000000..6f686f7276 --- /dev/null +++ b/include/constants/tv.h @@ -0,0 +1,137 @@ +#ifndef GUARD_CONSTANTS_TV_H +#define GUARD_CONSTANTS_TV_H + +#define POKENEWS_NONE 0 +#define POKENEWS_SLATEPORT 1 +#define POKENEWS_GAME_CORNER 2 +#define POKENEWS_LILYCOVE 3 +#define POKENEWS_BLENDMASTER 4 + +#define TVSHOW_OFF_AIR 0 +#define TVSHOW_FAN_CLUB_LETTER 1 +#define TVSHOW_RECENT_HAPPENINGS 2 +#define TVSHOW_PKMN_FAN_CLUB_OPINIONS 3 +#define TVSHOW_UNKN_SHOWTYPE_04 4 +#define TVSHOW_NAME_RATER_SHOW 5 +#define TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE 6 +#define TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE 7 +#define TVSHOW_CONTEST_LIVE_UPDATES 8 +#define TVSHOW_3_CHEERS_FOR_POKEBLOCKS 9 +#define TVSHOW_BATTLE_UPDATE 10 +#define TVSHOW_FAN_CLUB_SPECIAL 11 +#define TVSHOW_CONTEST_LIVE_UPDATES_2 12 +// // +#define TVSHOW_POKEMON_TODAY_CAUGHT 21 +#define TVSHOW_SMART_SHOPPER 22 +#define TVSHOW_POKEMON_TODAY_FAILED 23 +#define TVSHOW_FISHING_ADVICE 24 +#define TVSHOW_WORLD_OF_MASTERS 25 +#define TVSHOW_TODAYS_RIVAL_TRAINER 26 +#define TVSHOW_TREND_WATCHER 27 +#define TVSHOW_TREASURE_INVESTIGATORS 28 +#define TVSHOW_FIND_THAT_GAMER 29 +#define TVSHOW_BREAKING_NEWS 30 +#define TVSHOW_SECRET_BASE_VISIT 31 +#define TVSHOW_LOTTO_WINNER 32 +#define TVSHOW_BATTLE_SEMINAR 33 +#define TVSHOW_TRAINER_FAN_CLUB 34 +#define TVSHOW_CUTIES 35 +#define TVSHOW_FRONTIER 36 +#define TVSHOW_NUMBER_ONE 37 +#define TVSHOW_SECRET_BASE_SECRETS 38 +#define TVSHOW_SAFARI_FAN_CLUB 39 +// // +#define TVSHOW_MASS_OUTBREAK 41 + +// Number of ribbons to put Spot the Cuties on air +#define NUM_CUTIES_RIBBONS 4 + +// TV Show states for Secret Base Secrets +#define SBSECRETS_STATE_INTRO 0 +#define SBSECRETS_STATE_DO_NEXT1 1 +#define SBSECRETS_STATE_DO_NEXT2 2 +#define SBSECRETS_STATE_TOOK_X_STEPS 3 +#define SBSECRETS_STATE_BASE_INTEREST_LOW 4 +#define SBSECRETS_STATE_BASE_INTEREST_MED 5 +#define SBSECRETS_STATE_BASE_INTEREST_HIGH 6 +#define SBSECRETS_STATE_OUTRO 7 +#define SBSECRETS_STATE_NOTHING_USED1 8 +#define SBSECRETS_STATE_NOTHING_USED2 9 +#define SBSECRETS_STATE_USED_CHAIR 10 +#define SBSECRETS_STATE_USED_BALLOON 11 +#define SBSECRETS_STATE_USED_TENT 12 +#define SBSECRETS_STATE_USED_PLANT 13 +#define SBSECRETS_STATE_USED_GOLD_SHIELD 14 +#define SBSECRETS_STATE_USED_SILVER_SHIELD 15 +#define SBSECRETS_STATE_USED_GLASS_ORNAMENT 16 +#define SBSECRETS_STATE_USED_TV 17 +#define SBSECRETS_STATE_USED_MUD_BALL 18 +#define SBSECRETS_STATE_USED_BAG 19 +#define SBSECRETS_STATE_USED_CUSHION 20 +#define SBSECRETS_STATE_HIT_CUSHION 21 +#define SBSECRETS_STATE_HUGGED_CUSHION 22 +#define SBSECRETS_STATE_BATTLED_WON 23 +#define SBSECRETS_STATE_BATTLED_LOST 24 +#define SBSECRETS_STATE_DECLINED_BATTLE 25 +#define SBSECRETS_STATE_USED_POSTER 26 +#define SBSECRETS_STATE_USED_NOTE_MAT 27 +#define SBSECRETS_STATE_BATTLED_DRAW 28 +#define SBSECRETS_STATE_USED_SPIN_MAT 29 +#define SBSECRETS_STATE_USED_SAND_ORNAMENT 30 +#define SBSECRETS_STATE_USED_DESK 31 +#define SBSECRETS_STATE_USED_BRICK 32 +#define SBSECRETS_STATE_USED_SOLID_BOARD 33 +#define SBSECRETS_STATE_USED_FENCE 34 +#define SBSECRETS_STATE_USED_GLITTER_MAT 35 +#define SBSECRETS_STATE_USED_TIRE 36 +#define SBSECRETS_STATE_USED_STAND 37 +#define SBSECRETS_STATE_USED_BREAKABLE_DOOR 38 +#define SBSECRETS_STATE_USED_DOLL 39 +#define SBSECRETS_STATE_USED_SLIDE 40 +#define SBSECRETS_STATE_DECLINED_SLIDE 41 +#define SBSECRETS_STATE_USED_JUMP_MAT 42 +#define SBSECRETS_NUM_STATES 43 + +// The below flags are set when interacting with objects in a friends secret base +// Theyre set as bits in a var, and with 32 flags they're spread across 2 vars + +// VAR_SECRET_BASE_LOW_TV_FLAGS +#define SECRET_BASE_USED_CHAIR (1 << 0) +#define SECRET_BASE_USED_BALLOON (1 << 1) +#define SECRET_BASE_USED_TENT (1 << 2) +#define SECRET_BASE_USED_PLANT (1 << 3) +#define SECRET_BASE_USED_GOLD_SHIELD (1 << 4) +#define SECRET_BASE_USED_SILVER_SHIELD (1 << 5) +#define SECRET_BASE_USED_GLASS_ORNAMENT (1 << 6) +#define SECRET_BASE_USED_TV (1 << 7) +#define SECRET_BASE_USED_MUD_BALL (1 << 8) +#define SECRET_BASE_USED_BAG (1 << 9) +#define SECRET_BASE_USED_CUSHION (1 << 10) +#define SECRET_BASE_BATTLED_WON (1 << 11) +#define SECRET_BASE_BATTLED_LOST (1 << 12) +#define SECRET_BASE_DECLINED_BATTLE (1 << 13) +#define SECRET_BASE_USED_POSTER (1 << 14) +#define SECRET_BASE_USED_NOTE_MAT (1 << 15) + +// VAR_SECRET_BASE_HIGH_TV_FLAGS +#define SECRET_BASE_BATTLED_DRAW (1 << 0) +#define SECRET_BASE_USED_SPIN_MAT (1 << 1) +#define SECRET_BASE_USED_SAND_ORNAMENT (1 << 2) +#define SECRET_BASE_USED_DESK (1 << 3) +#define SECRET_BASE_USED_BRICK (1 << 4) +#define SECRET_BASE_USED_SOLID_BOARD (1 << 5) +#define SECRET_BASE_USED_FENCE (1 << 6) +#define SECRET_BASE_USED_GLITTER_MAT (1 << 7) +#define SECRET_BASE_USED_TIRE (1 << 8) +#define SECRET_BASE_USED_STAND (1 << 9) +#define SECRET_BASE_USED_BREAKABLE_DOOR (1 << 10) +#define SECRET_BASE_USED_DOLL (1 << 11) +#define SECRET_BASE_USED_SLIDE (1 << 12) +#define SECRET_BASE_DECLINED_SLIDE (1 << 13) +#define SECRET_BASE_USED_JUMP_MAT (1 << 14) +#define SECRET_BASE_UNUSED_FLAG (1 << 15) + +#define NUM_SECRET_BASE_FLAGS 32 // by definition, bitfield of 2 u16s + + +#endif //GUARD_CONSTANTS_TV_H diff --git a/include/constants/union_room.h b/include/constants/union_room.h new file mode 100644 index 0000000000..2314f85a09 --- /dev/null +++ b/include/constants/union_room.h @@ -0,0 +1,28 @@ +#ifndef GUARD_CONSTANTS_UNION_ROOM_H +#define GUARD_CONSTANTS_UNION_ROOM_H + +#define LINK_GROUP_SINGLE_BATTLE 0 +#define LINK_GROUP_DOUBLE_BATTLE 1 +#define LINK_GROUP_MULTI_BATTLE 2 +#define LINK_GROUP_TRADE 3 +#define LINK_GROUP_POKEMON_JUMP 4 +#define LINK_GROUP_BERRY_CRUSH 5 +#define LINK_GROUP_BERRY_PICKING 6 +#define LINK_GROUP_WONDER_CARD 7 +#define LINK_GROUP_WONDER_NEWS 8 +#define LINK_GROUP_UNK_9 9 +#define LINK_GROUP_UNK_10 10 +#define LINK_GROUP_UNK_11 11 +#define LINK_GROUP_RECORD_CORNER 12 +#define LINK_GROUP_BERRY_BLENDER 13 +#define LINK_GROUP_UNK_14 14 +#define LINK_GROUP_COOL_CONTEST 15 +#define LINK_GROUP_BEAUTY_CONTEST 16 +#define LINK_GROUP_CUTE_CONTEST 17 +#define LINK_GROUP_SMART_CONTEST 18 +#define LINK_GROUP_TOUGH_CONTEST 19 +#define LINK_GROUP_BATTLE_TOWER 20 +#define LINK_GROUP_BATTLE_TOWER_OPEN 21 +#define NUM_LINK_GROUP_TYPES 22 + +#endif //GUARD_CONSTANTS_UNION_ROOM_H diff --git a/include/constants/vars.h b/include/constants/vars.h index 6b213c8cc5..7f622b6e38 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -5,22 +5,24 @@ // temporary vars // The first 0x10 vars are are temporary--they are cleared every time a map is loaded. -#define VAR_TEMP_0 0x4000 -#define VAR_TEMP_1 0x4001 -#define VAR_TEMP_2 0x4002 -#define VAR_TEMP_3 0x4003 -#define VAR_TEMP_4 0x4004 -#define VAR_TEMP_5 0x4005 -#define VAR_TEMP_6 0x4006 -#define VAR_TEMP_7 0x4007 -#define VAR_TEMP_8 0x4008 -#define VAR_TEMP_9 0x4009 -#define VAR_TEMP_A 0x400A -#define VAR_TEMP_B 0x400B -#define VAR_TEMP_C 0x400C -#define VAR_TEMP_D 0x400D -#define VAR_TEMP_E 0x400E -#define VAR_TEMP_F 0x400F +#define TEMP_VARS_START 0x4000 +#define VAR_TEMP_0 (TEMP_VARS_START + 0x0) +#define VAR_TEMP_1 (TEMP_VARS_START + 0x1) +#define VAR_TEMP_2 (TEMP_VARS_START + 0x2) +#define VAR_TEMP_3 (TEMP_VARS_START + 0x3) +#define VAR_TEMP_4 (TEMP_VARS_START + 0x4) +#define VAR_TEMP_5 (TEMP_VARS_START + 0x5) +#define VAR_TEMP_6 (TEMP_VARS_START + 0x6) +#define VAR_TEMP_7 (TEMP_VARS_START + 0x7) +#define VAR_TEMP_8 (TEMP_VARS_START + 0x8) +#define VAR_TEMP_9 (TEMP_VARS_START + 0x9) +#define VAR_TEMP_A (TEMP_VARS_START + 0xA) +#define VAR_TEMP_B (TEMP_VARS_START + 0xB) +#define VAR_TEMP_C (TEMP_VARS_START + 0xC) +#define VAR_TEMP_D (TEMP_VARS_START + 0xD) +#define VAR_TEMP_E (TEMP_VARS_START + 0xE) +#define VAR_TEMP_F (TEMP_VARS_START + 0xF) +#define TEMP_VARS_END VAR_TEMP_F // object gfx id vars // These 0x10 vars are used to dynamically control a map object's sprite. @@ -61,26 +63,26 @@ #define VAR_0x402E 0x402E #define VAR_FRONTIER_MANIAC_FACILITY 0x402F -#define VAR_FRONTIER_GAMBLER_FACILITY 0x4030 -#define VAR_FRONTIER_GAMBLER_SET_FACILITY_F 0x4031 +#define VAR_FRONTIER_GAMBLER_CHALLENGE 0x4030 +#define VAR_FRONTIER_GAMBLER_SET_CHALLENGE 0x4031 #define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032 -#define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033 +#define VAR_FRONTIER_GAMBLER_STATE 0x4033 #define VAR_DEOXYS_ROCK_STEP_COUNT 0x4034 #define VAR_DEOXYS_ROCK_LEVEL 0x4035 -#define VAR_STORAGE_UNKNOWN 0x4036 -#define VAR_UNUSUAL_WEATHER_LOCATION 0x4037 -#define VAR_UNUSUAL_WEATHER_STEP_COUNTER 0x4038 -#define VAR_SHOULD_END_UNUSUAL_WEATHER 0x4039 +#define VAR_PC_BOX_TO_SEND_MON 0x4036 +#define VAR_ABNORMAL_WEATHER_LOCATION 0x4037 +#define VAR_ABNORMAL_WEATHER_STEP_COUNTER 0x4038 +#define VAR_SHOULD_END_ABNORMAL_WEATHER 0x4039 #define VAR_FARAWAY_ISLAND_STEP_COUNTER 0x403A #define VAR_REGICE_STEPS_1 0x403B #define VAR_REGICE_STEPS_2 0x403C #define VAR_REGICE_STEPS_3 0x403D #define VAR_ALTERING_CAVE_WILD_SET 0x403E -#define VAR_ALWAYS_ZERO_0x403F 0x403F // This var is read and written, but is always zero. +#define VAR_DISTRIBUTE_EON_TICKET 0x403F // This var is read and written, but is always zero. The only way to obtain the Eon Ticket in Emerald is via Record Mixing #define VAR_DAYS 0x4040 -#define VAR_FANCLUB_UNKNOWN_1 0x4041 -#define VAR_FANCLUB_UNKNOWN_2 0x4042 +#define VAR_FANCLUB_FAN_COUNTER 0x4041 +#define VAR_FANCLUB_LOSE_FAN_TIMER 0x4042 #define VAR_DEPT_STORE_FLOOR 0x4043 #define VAR_TRICK_HOUSE_LEVEL 0x4044 #define VAR_POKELOT_PRIZE_ITEM 0x4045 @@ -144,17 +146,17 @@ #define VAR_ROUTE132_STATE 0x407F // Unused Var #define VAR_ROUTE133_STATE 0x4080 // Unused Var #define VAR_ROUTE134_STATE 0x4081 // Unused Var -#define VAR_LITTLEROOT_HOUSES_STATE 0x4082 +#define VAR_LITTLEROOT_HOUSES_STATE_MAY 0x4082 #define VAR_UNUSED_0x4083 0x4083 // Unused Var #define VAR_BIRCH_LAB_STATE 0x4084 -#define VAR_PETALBURG_GYM_STATE 0x4085 -#define VAR_LINK_CONTEST_ROOM_STATE 0x4086 +#define VAR_PETALBURG_GYM_STATE 0x4085 // 0-1: Wally tutorial, 2-6: 0-4 badges, 7: Defeated Norman, 8: Rematch Norman +#define VAR_CONTEST_HALL_STATE 0x4086 #define VAR_CABLE_CLUB_STATE 0x4087 -#define VAR_CONTEST_LOCATION 0x4088 +#define VAR_CONTEST_TYPE 0x4088 #define VAR_SECRET_BASE_INITIALIZED 0x4089 #define VAR_CONTEST_PRIZE_PICKUP 0x408A #define VAR_UNUSED_0x408B 0x408B // Unused Var -#define VAR_LITTLEROOT_HOUSES_STATE_2 0x408C +#define VAR_LITTLEROOT_HOUSES_STATE_BRENDAN 0x408C #define VAR_LITTLEROOT_RIVAL_STATE 0x408D #define VAR_BOARD_BRINEY_BOAT_STATE 0x408E #define VAR_DEVON_CORP_3F_STATE 0x408F @@ -172,16 +174,16 @@ #define VAR_UNUSED_0x409B 0x409B // Unused Var #define VAR_ELITE_4_STATE 0x409C #define VAR_UNUSED_0x409D 0x409D // Unused Var -#define VAR_MOSSDEEP_SPACE_CENTER_STATE_1 0x409E -#define VAR_MOSSDEEP_SPACE_CENTER_STATE_2 0x409F +#define VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE 0x409E +#define VAR_MOSSDEEP_SPACE_CENTER_STATE 0x409F #define VAR_SLATEPORT_HARBOR_STATE 0x40A0 #define VAR_UNUSED_0x40A1 0x40A1 // Unused var #define VAR_SEAFLOOR_CAVERN_STATE 0x40A2 #define VAR_CABLE_CAR_STATION_STATE 0x40A3 -#define VAR_SAFARI_ZONE_STATE 0x40A4 -#define VAR_TRICK_HOUSE_ENTRANCE_STATE_1 0x40A5 -#define VAR_TRICK_HOUSE_ENTRANCE_STATE_2 0x40A6 -#define VAR_TRICK_HOUSE_ENTRANCE_STATE_3 0x40A7 +#define VAR_SAFARI_ZONE_STATE 0x40A4 // 0: In or out of SZ, 1: Player exiting SZ, 2: Player entering SZ +#define VAR_TRICK_HOUSE_BEING_WATCHED_STATE 0x40A5 +#define VAR_TRICK_HOUSE_FOUND_TRICK_MASTER 0x40A6 +#define VAR_TRICK_HOUSE_ENTRANCE_STATE 0x40A7 #define VAR_UNUSED_0x40A8 0x40A8 // Unused Var #define VAR_CYCLING_CHALLENGE_STATE 0x40A9 #define VAR_SLATEPORT_MUSEUM_1F_STATE 0x40AA @@ -194,9 +196,9 @@ #define VAR_TRICK_HOUSE_PUZZLE_7_STATE 0x40B1 #define VAR_TRICK_HOUSE_PUZZLE_8_STATE 0x40B2 #define VAR_WEATHER_INSTITUTE_STATE 0x40B3 -#define VAR_PORTHOLE_STATE 0x40B4 -#define VAR_TRICK_HOUSE_STATE 0x40B5 // TODO: needs some further investigation -#define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 0x40B6 +#define VAR_SS_TIDAL_STATE 0x40B4 +#define VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR 0x40B5 +#define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 0x40B6 // Leftover from RS, never set #define VAR_SLATEPORT_FAN_CLUB_STATE 0x40B7 #define VAR_UNUSED_0x40B8 0x40B8 // Unused Var #define VAR_MT_PYRE_STATE 0x40B9 @@ -257,9 +259,9 @@ #define VAR_SECRET_BASE_IS_NOT_LOCAL 0x40F0 // Set to TRUE while in another player's secret base. #define VAR_DAILY_BP 0x40F1 #define VAR_WALLY_CALL_STEP_COUNTER 0x40F2 -#define VAR_WINONA_CALL_STEP_COUNTER 0x40F3 +#define VAR_SCOTT_FORTREE_CALL_STEP_COUNTER 0x40F3 #define VAR_ROXANNE_CALL_STEP_COUNTER 0x40F4 -#define VAR_SCOTT_CALL_STEP_COUNTER 0x40F5 +#define VAR_SCOTT_BF_CALL_STEP_COUNTER 0x40F5 #define VAR_RIVAL_RAYQUAZA_CALL_STEP_COUNTER 0x40F6 #define VAR_UNUSED_0x40F7 0x40F7 // Unused Var #define VAR_UNUSED_0x40F8 0x40F8 // Unused Var @@ -271,7 +273,9 @@ #define VAR_UNUSED_0x40FE 0x40FE // Unused Var #define VAR_UNUSED_0x40FF 0x40FF // Unused Var -#define SPECIAL_VARS_START 0x8000 +#define VARS_END 0x40FF + +#define SPECIAL_VARS_START 0x8000 // special vars // They are commonly used as parameters to commands, or return values from commands. #define VAR_0x8000 0x8000 @@ -297,4 +301,6 @@ #define VAR_UNUSED_0x8014 0x8014 #define VAR_TRAINER_BATTLE_OPPONENT_A 0x8015 // Alias of gTrainerBattleOpponent_A +#define SPECIAL_VARS_END 0x8015 + #endif // GUARD_CONSTANTS_VARS_H diff --git a/include/constants/weather.h b/include/constants/weather.h index b01cfb390f..98a0a2e1e4 100644 --- a/include/constants/weather.h +++ b/include/constants/weather.h @@ -1,66 +1,66 @@ #ifndef GUARD_CONSTANTS_WEATHER_H #define GUARD_CONSTANTS_WEATHER_H -#define WEATHER_NONE 0 -#define WEATHER_CLOUDS 1 -#define WEATHER_SUNNY 2 -#define WEATHER_RAIN_LIGHT 3 -#define WEATHER_SNOW 4 -#define WEATHER_RAIN_MED 5 -#define WEATHER_FOG_1 6 -#define WEATHER_ASH 7 -#define WEATHER_SANDSTORM 8 -#define WEATHER_FOG_2 9 -#define WEATHER_FOG_3 10 -#define WEATHER_SHADE 11 -#define WEATHER_DROUGHT 12 -#define WEATHER_RAIN_HEAVY 13 -#define WEATHER_BUBBLES 14 -#define WEATHER_ALTERNATING 15 -#define WEATHER_ROUTE119_CYCLE 20 -#define WEATHER_ROUTE123_CYCLE 21 +#define WEATHER_NONE 0 +#define WEATHER_SUNNY_CLOUDS 1 +#define WEATHER_SUNNY 2 +#define WEATHER_RAIN 3 +#define WEATHER_SNOW 4 // Unused +#define WEATHER_RAIN_THUNDERSTORM 5 +#define WEATHER_FOG_HORIZONTAL 6 +#define WEATHER_VOLCANIC_ASH 7 +#define WEATHER_SANDSTORM 8 +#define WEATHER_FOG_DIAGONAL 9 // Unused +#define WEATHER_UNDERWATER 10 // Unused +#define WEATHER_SHADE 11 // Original name was closer to WEATHER_CLOUDY/OVERCAST +#define WEATHER_DROUGHT 12 +#define WEATHER_DOWNPOUR 13 +#define WEATHER_UNDERWATER_BUBBLES 14 +#define WEATHER_ABNORMAL 15 // The alternating weather during Groudon/Kyogre conflict +#define WEATHER_ROUTE119_CYCLE 20 +#define WEATHER_ROUTE123_CYCLE 21 // These are used in maps' coord_weather_event entries. // They are not a one-to-one mapping with the engine's // internal weather constants above. -#define COORD_EVENT_WEATHER_CLOUDS 1 -#define COORD_EVENT_WEATHER_SUNNY 2 -#define COORD_EVENT_WEATHER_RAIN_LIGHT 3 -#define COORD_EVENT_WEATHER_SNOW 4 -#define COORD_EVENT_WEATHER_RAIN_MED 5 -#define COORD_EVENT_WEATHER_FOG_1 6 -#define COORD_EVENT_WEATHER_FOG_2 7 -#define COORD_EVENT_WEATHER_ASH 8 -#define COORD_EVENT_WEATHER_SANDSTORM 9 -#define COORD_EVENT_WEATHER_SHADE 10 -#define COORD_EVENT_WEATHER_DROUGHT 11 -#define COORD_EVENT_WEATHER_ROUTE119_CYCLE 20 -#define COORD_EVENT_WEATHER_ROUTE123_CYCLE 21 +#define COORD_EVENT_WEATHER_SUNNY_CLOUDS 1 +#define COORD_EVENT_WEATHER_SUNNY 2 +#define COORD_EVENT_WEATHER_RAIN 3 +#define COORD_EVENT_WEATHER_SNOW 4 +#define COORD_EVENT_WEATHER_RAIN_THUNDERSTORM 5 +#define COORD_EVENT_WEATHER_FOG_HORIZONTAL 6 +#define COORD_EVENT_WEATHER_FOG_DIAGONAL 7 +#define COORD_EVENT_WEATHER_VOLCANIC_ASH 8 +#define COORD_EVENT_WEATHER_SANDSTORM 9 +#define COORD_EVENT_WEATHER_SHADE 10 +#define COORD_EVENT_WEATHER_DROUGHT 11 +#define COORD_EVENT_WEATHER_ROUTE119_CYCLE 20 +#define COORD_EVENT_WEATHER_ROUTE123_CYCLE 21 -// These are the "unusual weather events" that are used +// These are the "abnormal weather events" that are used // to find Kyogre and Groudon. -#define UNUSUAL_WEATHER_COUNT_PER_LEGENDARY 8 -#define UNUSUAL_WEATHER_GROUDON_LOCATIONS_START 1 -#define UNUSUAL_WEATHER_KYOGRE_LOCATIONS_START 1 + UNUSUAL_WEATHER_COUNT_PER_LEGENDARY +#define ABNORMAL_WEATHER_COUNT_PER_LEGENDARY 8 +#define ABNORMAL_WEATHER_GROUDON_LOCATIONS_START 1 +#define ABNORMAL_WEATHER_KYOGRE_LOCATIONS_START 1 + ABNORMAL_WEATHER_COUNT_PER_LEGENDARY -#define UNUSUAL_WEATHER_NONE 0 +#define ABNORMAL_WEATHER_NONE 0 // Groudon locations -#define UNUSUAL_WEATHER_ROUTE_114_NORTH 1 -#define UNUSUAL_WEATHER_ROUTE_114_SOUTH 2 -#define UNUSUAL_WEATHER_ROUTE_115_WEST 3 -#define UNUSUAL_WEATHER_ROUTE_115_EAST 4 -#define UNUSUAL_WEATHER_ROUTE_116_NORTH 5 -#define UNUSUAL_WEATHER_ROUTE_116_SOUTH 6 -#define UNUSUAL_WEATHER_ROUTE_118_EAST 7 -#define UNUSUAL_WEATHER_ROUTE_118_WEST 8 +#define ABNORMAL_WEATHER_ROUTE_114_NORTH 1 +#define ABNORMAL_WEATHER_ROUTE_114_SOUTH 2 +#define ABNORMAL_WEATHER_ROUTE_115_WEST 3 +#define ABNORMAL_WEATHER_ROUTE_115_EAST 4 +#define ABNORMAL_WEATHER_ROUTE_116_NORTH 5 +#define ABNORMAL_WEATHER_ROUTE_116_SOUTH 6 +#define ABNORMAL_WEATHER_ROUTE_118_EAST 7 +#define ABNORMAL_WEATHER_ROUTE_118_WEST 8 // Kyogre locations -#define UNUSUAL_WEATHER_ROUTE_105_NORTH 9 -#define UNUSUAL_WEATHER_ROUTE_105_SOUTH 10 -#define UNUSUAL_WEATHER_ROUTE_125_WEST 11 -#define UNUSUAL_WEATHER_ROUTE_125_EAST 12 -#define UNUSUAL_WEATHER_ROUTE_127_NORTH 13 -#define UNUSUAL_WEATHER_ROUTE_127_SOUTH 14 -#define UNUSUAL_WEATHER_ROUTE_129_WEST 15 -#define UNUSUAL_WEATHER_ROUTE_129_EAST 16 +#define ABNORMAL_WEATHER_ROUTE_105_NORTH 9 +#define ABNORMAL_WEATHER_ROUTE_105_SOUTH 10 +#define ABNORMAL_WEATHER_ROUTE_125_WEST 11 +#define ABNORMAL_WEATHER_ROUTE_125_EAST 12 +#define ABNORMAL_WEATHER_ROUTE_127_NORTH 13 +#define ABNORMAL_WEATHER_ROUTE_127_SOUTH 14 +#define ABNORMAL_WEATHER_ROUTE_129_WEST 15 +#define ABNORMAL_WEATHER_ROUTE_129_EAST 16 #endif // GUARD_CONSTANTS_WEATHER_H diff --git a/include/contest.h b/include/contest.h index 8ef208aea3..00c3191eb5 100644 --- a/include/contest.h +++ b/include/contest.h @@ -200,14 +200,6 @@ enum CONTEST_STRING_NONE = 255 }; -enum { - CONTEST_RANK_NORMAL, - CONTEST_RANK_SUPER, - CONTEST_RANK_HYPER, - CONTEST_RANK_MASTER, - CONTEST_RANK_LINK -}; - enum { CONTEST_FILTER_NONE, CONTEST_FILTER_NO_POSTGAME, @@ -227,7 +219,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 @@ -436,15 +428,15 @@ struct ContestResources #define eContestDebugMode (gHeap[0x1a000]) #define eUnknownHeap1A004 (*(struct Shared1A004 *)(gHeap + 0x1a004)) -extern struct ContestPokemon gContestMons[4]; -extern s16 gContestMonConditions[4]; -extern s16 gUnknown_02039F08[4]; -extern s16 gUnknown_02039F10[4]; -extern s16 gUnknown_02039F18[4]; -extern u8 gContestFinalStandings[4]; +extern struct ContestPokemon gContestMons[CONTESTANT_COUNT]; +extern s16 gContestMonConditions[CONTESTANT_COUNT]; +extern s16 gUnknown_02039F08[CONTESTANT_COUNT]; +extern s16 gUnknown_02039F10[CONTESTANT_COUNT]; +extern s16 gUnknown_02039F18[CONTESTANT_COUNT]; +extern u8 gContestFinalStandings[CONTESTANT_COUNT]; extern u8 gContestMonPartyIndex; extern u8 gContestPlayerMonIndex; -extern u8 gContestantTurnOrder[4]; +extern u8 gContestantTurnOrder[CONTESTANT_COUNT]; extern u8 gLinkContestFlags; extern u8 gUnknown_02039F2B; extern u16 gSpecialVar_ContestCategory; @@ -453,7 +445,7 @@ extern u8 gNumLinkContestPlayers; extern u8 gHighestRibbonRank; extern struct ContestResources *gContestResources; extern u8 sContestBgCopyFlags; -extern struct ContestWinner gUnknown_02039F3C; +extern struct ContestWinner gCurContestWinner; extern u8 gUnknown_02039F5C; extern u8 gUnknown_02039F5D; @@ -466,7 +458,7 @@ void CB2_StartContest(void); void sub_80DA8C8(u8 partyIndex); void sub_80DAB8C(u8 contestType, u8 rank); void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame); -u8 sub_80DAE0C(struct Pokemon *pkmn); +u8 GetContestEntryEligibility(struct Pokemon *pkmn); void sub_80DB09C(u8 contestCategory); bool8 IsSpeciesNotUnown(u16 species); bool8 Contest_IsMonsTurnDisabled(u8 a); diff --git a/include/contest_link_80F57C4.h b/include/contest_link_80F57C4.h index b4ccf2803c..add3ae62f7 100644 --- a/include/contest_link_80F57C4.h +++ b/include/contest_link_80F57C4.h @@ -1,10 +1,10 @@ #ifndef GUARD_CONTEST_LINK_80F57C4_H #define GUARD_CONTEST_LINK_80F57C4_H -void sub_80F8264(void); -void sub_80F8290(void); -void sub_80F840C(void); -void sub_80F8438(void); +void BufferContestantTrainerName(void); +void BufferContestantMonNickname(void); +void StartContest(void); +void BufferContestantMonSpecies(void); void sub_80F8484(void); void sub_80F84C4(u8); void sub_80FC998(u8 taskId); diff --git a/include/contest_painting.h b/include/contest_painting.h index c633c50ccc..f16a0d2f32 100644 --- a/include/contest_painting.h +++ b/include/contest_painting.h @@ -1,16 +1,7 @@ #ifndef GUARD_CONTESTPAINTING_H #define GUARD_CONTESTPAINTING_H -enum -{ - CONTESTRESULT_COOL = 9, - CONTESTRESULT_BEAUTY = 13, - CONTESTRESULT_CUTE = 2, - CONTESTRESULT_SMART = 36, - CONTESTRESULT_TOUGH = 6, -}; - -void sub_812FDA8(int); +void SetContestWinnerForPainting(int); void CB2_ContestPainting(void); #endif diff --git a/include/contest_painting_effects.h b/include/contest_painting_effects.h deleted file mode 100755 index 3b69646666..0000000000 --- a/include/contest_painting_effects.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef GUARD_CONTEST_PAINTING_EFFECTS_H -#define GUARD_CONTEST_PAINTING_EFFECTS_H - -struct Unk030061A0 -{ - u8 var_0; - u8 pad1[3]; - u16 (*var_4)[][32]; - u16 *var_8; - u8 pad0C[4]; - u32 var_10; - u16 var_14; - u16 var_16; - u8 var_18; - u8 var_19; - u8 var_1A; - u8 var_1B; - u8 var_1C; - u8 var_1D; - u8 var_1E; - u8 var_1F; -}; - -void sub_8124F2C(struct Unk030061A0 *); -void sub_81261A4(struct Unk030061A0 *); -void sub_8126058(struct Unk030061A0 *); - -#endif diff --git a/include/data.h b/include/data.h index f1a4caa6a9..49b98663ac 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/daycare.h b/include/daycare.h index ecd875865c..7d6f2fb193 100644 --- a/include/daycare.h +++ b/include/daycare.h @@ -1,10 +1,10 @@ #ifndef GUARD_DAYCARE_H #define GUARD_DAYCARE_H -#define EGG_HATCH_LEVEL 5 +#include "constants/daycare.h" -u8 *GetMonNick(struct Pokemon *mon, u8 *dest); -u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest); +u8 *GetMonNickname2(struct Pokemon *mon, u8 *dest); +u8 *GetBoxMonNickname(struct BoxPokemon *mon, u8 *dest); u8 CountPokemonInDaycare(struct DayCare *daycare); void InitDaycareMailRecordMixing(struct DayCare *daycare, struct RecordMixingDayCareMail *daycareMail); void StoreSelectedPokemonInDaycare(void); @@ -16,7 +16,7 @@ void RejectEggFromDayCare(void); void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation); void GiveEggFromDaycare(void); bool8 ShouldEggHatch(void); -u16 GetSelectedMonNickAndSpecies(void); +u16 GetSelectedMonNicknameAndSpecies(void); void GetDaycareMonNicknames(void); u8 GetDaycareState(void); void SetDaycareCompatibilityString(void); diff --git a/include/dodrio_berry_picking.h b/include/dodrio_berry_picking.h index 55e8fa8808..9995decc24 100644 --- a/include/dodrio_berry_picking.h +++ b/include/dodrio_berry_picking.h @@ -2,7 +2,7 @@ #define GUARD_DODRIO_BERRY_PICKING_H void sub_802493C(u16 a0, void (*callback)(void)); -void sub_8027A5C(void); -void sub_8027AAC(void); +void IsDodrioInParty(void); +void ShowDodrioBerryPickingRecords(void); #endif // GUARD_DODRIO_BERRY_PICKING_H diff --git a/include/easy_chat.h b/include/easy_chat.h index 84ac154227..f2ef066d42 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -128,12 +128,12 @@ bool32 sub_811F8D8(int word); void InitializeEasyChatWordArray(u16 *words, u16 length); u8 *ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows); bool8 ECWord_CheckIfOutsideOfValidRange(u16 word); -u16 sub_811EE38(u16 group); -u16 sub_811F01C(void); +u16 GetRandomEasyChatWordFromGroup(u16 group); +u16 GetNewHipsterPhraseToTeach(void); u16 EasyChat_GetNumWordsInGroup(u8); -u16 sub_811EE90(u16); +u16 GetRandomEasyChatWordFromUnlockedGroup(u16); void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback, u8 displayedPersonType); void sub_811F8BC(void); -void sub_811EFC0(u8 additionalPhraseId); +void UnlockAdditionalPhrase(u8 additionalPhraseId); #endif // GUARD_EASYCHAT_H diff --git a/include/egg_hatch.h b/include/egg_hatch.h index 862d339474..64d07c813f 100644 --- a/include/egg_hatch.h +++ b/include/egg_hatch.h @@ -2,9 +2,9 @@ #define GUARD_EGG_HATCH_H void ScriptHatchMon(void); -bool8 sub_8071614(void); +bool8 CheckDaycareMonReceivedMail(void); void EggHatch(void); u8 GetEggStepsToSubtract(void); -u16 sub_80722E0(void); +u16 CountPartyAliveNonEggMons(void); #endif // GUARD_EGG_HATCH_H diff --git a/include/event_data.h b/include/event_data.h index 11289c1ab8..36d52561fe 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -16,8 +16,8 @@ bool32 IsMysteryEventEnabled(void); void DisableMysteryGift(void); void EnableMysteryGift(void); bool32 IsMysteryGiftEnabled(void); -void sub_809D4D8(void); -void sub_809D570(void); +void ClearMysteryEventFlags(void); +void ClearMysteryEventVars(void); void DisableResetRTC(void); void EnableResetRTC(void); bool32 CanResetRTC(void); diff --git a/include/event_scripts.h b/include/event_scripts.h index fc0b3cde0d..a56ab89e02 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -1,22 +1,14 @@ #ifndef GUARD_EVENT_SCRIPTS_H #define GUARD_EVENT_SCRIPTS_H -extern const u8 gUnknown_0823B4E8[]; -extern const u8 gUnknown_0823B5E9[]; extern const u8 EventScript_TestSignpostMsg[]; extern const u8 EventScript_TryGetTrainerScript[]; -extern const u8 EventScript_275BB7[]; -extern const u8 EventScript_275D0C[]; -extern const u8 EventScript_275D1F[]; -extern const u8 EventScript_275D2E[]; extern const u8 EventScript_271354[]; extern const u8 EventScript_DoTainerBattle[]; extern const u8 EventScript_TryDoDoubleTrainerBattle[]; extern const u8 EventScript_TryDoNormalTrainerBattle[]; extern const u8 EventScript_TryDoDoubleRematchBattle[]; extern const u8 EventScript_TryDoRematchBattle[]; -extern const u8 SecretBase_EventScript_DollInteract[]; -extern const u8 SecretBase_EventScript_CushionInteract[]; extern const u8 BerryTreeScript[]; @@ -248,49 +240,49 @@ extern const u8 gTVWhatsNo1InHoennTodayText05[]; extern const u8 gTVWhatsNo1InHoennTodayText06[]; extern const u8 gTVWhatsNo1InHoennTodayText07[]; extern const u8 gTVWhatsNo1InHoennTodayText08[]; -extern const u8 gTVSecretBaseSecretsText00[]; -extern const u8 gTVSecretBaseSecretsText01[]; -extern const u8 gTVSecretBaseSecretsText02[]; -extern const u8 gTVSecretBaseSecretsText03[]; -extern const u8 gTVSecretBaseSecretsText04[]; -extern const u8 gTVSecretBaseSecretsText05[]; -extern const u8 gTVSecretBaseSecretsText06[]; -extern const u8 gTVSecretBaseSecretsText07[]; -extern const u8 gTVSecretBaseSecretsText08[]; -extern const u8 gTVSecretBaseSecretsText09[]; -extern const u8 gTVSecretBaseSecretsText10[]; -extern const u8 gTVSecretBaseSecretsText11[]; -extern const u8 gTVSecretBaseSecretsText12[]; -extern const u8 gTVSecretBaseSecretsText13[]; -extern const u8 gTVSecretBaseSecretsText14[]; -extern const u8 gTVSecretBaseSecretsText15[]; -extern const u8 gTVSecretBaseSecretsText16[]; -extern const u8 gTVSecretBaseSecretsText17[]; -extern const u8 gTVSecretBaseSecretsText18[]; -extern const u8 gTVSecretBaseSecretsText19[]; -extern const u8 gTVSecretBaseSecretsText20[]; -extern const u8 gTVSecretBaseSecretsText21[]; -extern const u8 gTVSecretBaseSecretsText22[]; -extern const u8 gTVSecretBaseSecretsText23[]; -extern const u8 gTVSecretBaseSecretsText24[]; -extern const u8 gTVSecretBaseSecretsText25[]; -extern const u8 gTVSecretBaseSecretsText26[]; -extern const u8 gTVSecretBaseSecretsText27[]; -extern const u8 gTVSecretBaseSecretsText28[]; -extern const u8 gTVSecretBaseSecretsText29[]; -extern const u8 gTVSecretBaseSecretsText30[]; -extern const u8 gTVSecretBaseSecretsText31[]; -extern const u8 gTVSecretBaseSecretsText32[]; -extern const u8 gTVSecretBaseSecretsText33[]; -extern const u8 gTVSecretBaseSecretsText34[]; -extern const u8 gTVSecretBaseSecretsText35[]; -extern const u8 gTVSecretBaseSecretsText36[]; -extern const u8 gTVSecretBaseSecretsText37[]; -extern const u8 gTVSecretBaseSecretsText38[]; -extern const u8 gTVSecretBaseSecretsText39[]; -extern const u8 gTVSecretBaseSecretsText40[]; -extern const u8 gTVSecretBaseSecretsText41[]; -extern const u8 gTVSecretBaseSecretsText42[]; +extern const u8 TVSecretBaseSecrets_Text_Intro[]; +extern const u8 TVSecretBaseSecrets_Text_WhatWillPlayerDoNext1[]; +extern const u8 TVSecretBaseSecrets_Text_WhatWillPlayerDoNext2[]; +extern const u8 TVSecretBaseSecrets_Text_TookXStepsBeforeLeaving[]; +extern const u8 TVSecretBaseSecrets_Text_BaseFailedToInterestPlayer[]; +extern const u8 TVSecretBaseSecrets_Text_PlayerEnjoyedBase[]; +extern const u8 TVSecretBaseSecrets_Text_PlayerHugeFanOfBase[]; +extern const u8 TVSecretBaseSecrets_Text_Outro[]; +extern const u8 TVSecretBaseSecrets_Text_StoppedMoving1[]; +extern const u8 TVSecretBaseSecrets_Text_StoppedMoving2[]; +extern const u8 TVSecretBaseSecrets_Text_UsedChair[]; +extern const u8 TVSecretBaseSecrets_Text_UsedBalloon[]; +extern const u8 TVSecretBaseSecrets_Text_UsedTent[]; +extern const u8 TVSecretBaseSecrets_Text_UsedPlant[]; +extern const u8 TVSecretBaseSecrets_Text_UsedGoldShield[]; +extern const u8 TVSecretBaseSecrets_Text_UsedSilverShield[]; +extern const u8 TVSecretBaseSecrets_Text_UsedGlassOrnament[]; +extern const u8 TVSecretBaseSecrets_Text_UsedTV[]; +extern const u8 TVSecretBaseSecrets_Text_UsedMudBall[]; +extern const u8 TVSecretBaseSecrets_Text_UsedBag[]; +extern const u8 TVSecretBaseSecrets_Text_UsedCushion[]; +extern const u8 TVSecretBaseSecrets_Text_HitCushion[]; +extern const u8 TVSecretBaseSecrets_Text_HuggedCushion[]; +extern const u8 TVSecretBaseSecrets_Text_BattledWon[]; +extern const u8 TVSecretBaseSecrets_Text_BattledLost[]; +extern const u8 TVSecretBaseSecrets_Text_DeclinedBattle[]; +extern const u8 TVSecretBaseSecrets_Text_UsedPoster[]; +extern const u8 TVSecretBaseSecrets_Text_UsedNoteMat[]; +extern const u8 TVSecretBaseSecrets_Text_BattledDraw[]; +extern const u8 TVSecretBaseSecrets_Text_UsedSpinMat[]; +extern const u8 TVSecretBaseSecrets_Text_UsedSandOrnament[]; +extern const u8 TVSecretBaseSecrets_Text_UsedDesk[]; +extern const u8 TVSecretBaseSecrets_Text_UsedBrick[]; +extern const u8 TVSecretBaseSecrets_Text_UsedSolidBoard[]; +extern const u8 TVSecretBaseSecrets_Text_UsedFence[]; +extern const u8 TVSecretBaseSecrets_Text_UsedGlitterMat[]; +extern const u8 TVSecretBaseSecrets_Text_UsedTire[]; +extern const u8 TVSecretBaseSecrets_Text_UsedStand[]; +extern const u8 TVSecretBaseSecrets_Text_BrokeDoor[]; +extern const u8 TVSecretBaseSecrets_Text_UsedDoll[]; +extern const u8 TVSecretBaseSecrets_Text_UsedSlide[]; +extern const u8 TVSecretBaseSecrets_Text_UsedSlideButDidntGoDown[]; +extern const u8 TVSecretBaseSecrets_Text_UsedJumpMat[]; extern const u8 gTVSafariFanClubText00[]; extern const u8 gTVSafariFanClubText01[]; extern const u8 gTVSafariFanClubText02[]; @@ -368,32 +360,26 @@ extern const u8 gPokeNewsTextLilycove_Ending[]; extern const u8 gPokeNewsTextBlendMaster_Upcoming[]; extern const u8 gPokeNewsTextBlendMaster_Ongoing[]; extern const u8 gPokeNewsTextBlendMaster_Ending[]; -extern const u8 SecretBase_RedCave1_Text_274966[]; -extern const u8 SecretBase_RedCave1_Text_274D13[]; -extern const u8 SecretBase_RedCave1_Text_274FFE[]; -extern const u8 SecretBase_RedCave1_Text_275367[]; -extern const u8 SecretBase_RedCave1_Text_2756C7[]; -extern const u8 SecretBase_RedCave1_Text_274B24[]; -extern const u8 SecretBase_RedCave1_Text_274E75[]; -extern const u8 SecretBase_RedCave1_Text_2751E1[]; -extern const u8 SecretBase_RedCave1_Text_2754F6[]; -extern const u8 SecretBase_RedCave1_Text_2758CC[]; - -extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[]; +extern const u8 SecretBase_Text_Trainer0Defeated[]; +extern const u8 SecretBase_Text_Trainer1Defeated[]; +extern const u8 SecretBase_Text_Trainer2Defeated[]; +extern const u8 SecretBase_Text_Trainer3Defeated[]; +extern const u8 SecretBase_Text_Trainer4Defeated[]; +extern const u8 SecretBase_Text_Trainer5Defeated[]; +extern const u8 SecretBase_Text_Trainer6Defeated[]; +extern const u8 SecretBase_Text_Trainer7Defeated[]; +extern const u8 SecretBase_Text_Trainer8Defeated[]; +extern const u8 SecretBase_Text_Trainer9Defeated[]; //field effects extern const u8 EventScript_FldEffStrength[]; extern const u8 EventScript_FailSweetScent[]; -extern const u8 EventScript_2926F8[]; +extern const u8 EventScript_FldEffFlash[]; extern const u8 EventScript_FldEffRockSmash[]; //player pc -extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_1F863F[]; -extern const u8 LittlerootTown_MaysHouse_2F_EventScript_1F958F[]; - -//contest_strings -extern const u8 gText_0827D507[]; -extern const u8 gText_0827D531[]; +extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_TurnOffPlayerPC[]; +extern const u8 LittlerootTown_MaysHouse_2F_EventScript_TurnOffPlayerPC[]; //mauville_old_man extern const u8 gOtherText_Is[]; @@ -415,130 +401,127 @@ extern const u8 gMauvilleManText_WhenYouSeeTheSettingSunDoesIt[]; extern const u8 gMauvilleManText_LyingBackInTheGreenGrass[]; extern const u8 gMauvilleManText_SecretBasesAreSoWonderful[]; +// mauville old man storyteller +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SavedGameTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SavedGameAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SavedGameStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrendsStartedTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrendsStartedAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrendsStartedStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BikeTradesTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BikeTradesAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BikeTradesStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_InterviewsTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_InterviewsAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_InterviewsStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_EggsHatchedTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_EggsHatchedAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_EggsHatchedStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SafariGamesTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SafariGamesAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SafariGamesStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedCutTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedCutAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedCutStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_MovedBasesTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_MovedBasesAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_MovedBasesStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedSplashTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedSplashAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedSplashStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedStruggleTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedStruggleAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedStruggleStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RouletteWinsTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RouletteWinsAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RouletteWinsStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_EnteredContestsTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_EnteredContestsAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_EnteredContestsStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonContestsTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonContestsAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonContestsStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesShoppedTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesShoppedAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesShoppedStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesRainedTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesRainedAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesRainedStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TVWatchedTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TVWatchedAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TVWatchedStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedClockTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedClockAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedClockStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonLotteryTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonLotteryAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonLotteryStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedDaycareTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedDaycareAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedDaycareStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RodeCableCarTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RodeCableCarAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RodeCableCarStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_HotSpringsTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_HotSpringsAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_HotSpringsStory[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E930[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E947[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E956[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9D7[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9EF[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9FE[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EA7D[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EA98[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EAA8[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB19[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB31[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB3E[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBB5[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBCD[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBDD[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC60[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC79[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC81[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED04[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED21[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED30[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDA1[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDB5[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDCF[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE45[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE5D[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE6A[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EEDD[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EEF1[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF01[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF73[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF95[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EFAA[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F045[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F05A[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F071[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F0F3[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F10D[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F125[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1BE[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1D5[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1DE[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F24F[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F269[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F277[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F2FC[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F314[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F32A[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3AD[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3C6[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3D2[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F44B[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F461[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F47C[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F50C[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F51B[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F538[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5BE[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5D1[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5F2[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F678[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F694[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F6B4[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F751[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F76A[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F776[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F7F6[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F811[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F822[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F89C[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F8AF[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F8BC[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F92F[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F941[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F949[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9D1[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9EA[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9FD[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FA81[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FA99[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FAA7[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB1D[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB35[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB47[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBC4[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBD9[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBEA[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC6B[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC85[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC98[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD1D[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD35[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD40[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDA2[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDBD[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDCE[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE57[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE72[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE88[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF0C[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF27[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF44[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FFDD[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FFFA[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_29000D[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_290097[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_2900B5[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_2900CB[]; - -extern const u8 EventScript_PlayerPCMale[]; -extern const u8 EventScript_PlayerPCFemale[]; -extern const u8 EventScript_SecretBasePC[]; -extern const u8 EventScript_RecordMixingSecretBasePC[]; +extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_PC[]; +extern const u8 LittlerootTown_MaysHouse_2F_EventScript_PC[]; extern const u8 EventScript_PC[]; extern const u8 EventScript_TestSignpostMsg[]; extern const u8 EventScript_HiddenItemScript[]; -extern const u8 EventScript_2759F1[]; extern const u8 EventScript_TV[]; extern const u8 EventScript_ClosedSootopolisDoor[]; -extern const u8 SkyPillar_Outside_EventScript_2393F9[]; +extern const u8 SkyPillar_Outside_EventScript_ClosedDoor[]; extern const u8 EventScript_CableBoxResults[]; extern const u8 EventScript_PokeBlockFeeder[]; -extern const u8 Route110_TrickHouseEntrance_EventScript_26A22A[]; +extern const u8 Route110_TrickHousePuzzle_EventScript_Door[]; extern const u8 EventScript_RegionMap[]; extern const u8 EventScript_RunningShoesManual[]; extern const u8 EventScript_PictureBookShelf[]; @@ -552,38 +535,56 @@ extern const u8 EventScript_WirelessBoxResults[]; extern const u8 EventScript_CableBoxResults[]; extern const u8 EventScript_Questionnaire[]; extern const u8 EventScript_TrainerHillTimer[]; -extern const u8 EventScript_SecretBaseSandOrnament[]; -extern const u8 EventScript_SecretBaseShieldOrToyTV[]; extern const u8 EventScript_UseSurf[]; extern const u8 EventScript_UseWaterfall[]; extern const u8 EventScript_CannotUseWaterfall[]; extern const u8 EventScript_UseDive[]; extern const u8 EventScript_UseDiveUnderwater[]; extern const u8 EventScript_FallDownHole[]; -extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8[]; -extern const u8 EventScript_Poison[]; +extern const u8 EventScript_FieldPoison[]; extern const u8 EventScript_EggHatch[]; -extern const u8 UnusualWeather_EventScript_EndEventAndCleanup_1[]; -extern const u8 IslandCave_EventScript_238EAF[]; -extern const u8 MauvilleCity_EventScript_1DF7BA[]; -extern const u8 Route119_EventScript_1F49EC[]; -extern const u8 LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6[]; -extern const u8 RustboroCity_Gym_EventScript_21307B[]; -extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224175[]; -extern const u8 SSTidalCorridor_EventScript_23C050[]; -extern const u8 gUnknown_082A8350[]; +extern const u8 AbnormalWeather_EventScript_EndEventAndCleanup_1[]; +extern const u8 IslandCave_EventScript_OpenRegiEntrance[]; +extern const u8 MauvilleCity_EventScript_RegisterWallyCall[]; +extern const u8 Route119_EventScript_ScottWonAtFortreeGymCall[]; +extern const u8 LittlerootTown_ProfessorBirchsLab_EventScript_ScottAboardSSTidalCall[]; +extern const u8 RustboroCity_Gym_EventScript_RegisterRoxanne[]; +extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_RivalRayquazaCall[]; +extern const u8 SSTidalCorridor_EventScript_ReachedStepCount[]; +extern const u8 EventScript_FallDownHoleMtPyre[]; + +// Secret Base +extern const u8 SecretBase_EventScript_PC[]; +extern const u8 SecretBase_EventScript_RecordMixingPC[]; +extern const u8 SecretBase_EventScript_PCCancel[]; +extern const u8 SecretBase_EventScript_ShowRegisterMenu[]; +extern const u8 SecretBase_EventScript_SandOrnament[]; +extern const u8 SecretBase_EventScript_ShieldOrToyTV[]; +extern const u8 SecretBase_EventScript_DollInteract[]; +extern const u8 SecretBase_EventScript_CushionInteract[]; +extern const u8 SecretBase_EventScript_CheckEntrance[]; +extern const u8 SecretBase_EventScript_Enter[]; +extern const u8 SecretBase_EventScript_InitDecorations[]; +extern const u8 SecretBase_EventScript_PutAwayDecoration[]; +extern const u8 SecretBase_EventScript_SetDecoration[]; // Battle Pyramid. -extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[]; +extern const u8 BattlePyramid_Retire[]; +extern const u8 BattlePyramid_WarpToNextFloor[]; extern const u8 BattlePyramid_TrainerBattle[]; extern const u8 BattlePyramid_FindItemBall[]; // fldeff misc -extern const u8 EventScript_275A86[]; -extern const u8 EventScript_275ADF[]; -extern const u8 EventScript_275B38[]; +extern const u8 SecretBase_EventScript_CaveUseSecretPower[]; +extern const u8 SecretBase_EventScript_TreeUseSecretPower[]; +extern const u8 SecretBase_EventScript_ShrubUseSecretPower[]; // trainer hill -extern const u8 EventScript_2C83F0[]; +extern const u8 TrainerHill_EventScript_TrainerBattle[]; + +// Item Use +extern u8 BerryTree_EventScript_ItemUsePlantBerry[]; +extern u8 BerryTree_EventScript_ItemUseWailmerPail[]; +extern u8 BattleFrontier_OutsideEast_EventScript_WaterSudowoodo[]; #endif // GUARD_EVENT_SCRIPTS_H diff --git a/include/field_effect.h b/include/field_effect.h index 0dbe600d34..59f99ad933 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -12,7 +12,7 @@ extern bool8 (*gFieldCallback2)(void); u32 FieldEffectStart(u8); bool8 FieldEffectActiveListContains(u8 id); void FieldEffectActiveListClear(void); -void sub_80B69DC(void); +void ReturnToFieldFromFlyMapSelect(void); u8 AddNewGameBirchObject(s16, s16, u8); void FieldEffectStop(struct Sprite *sprite, u8 id); u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer); @@ -34,17 +34,17 @@ bool8 FieldEffectCmd_end(u8 **script, u32 *val); bool8 FieldEffectCmd_loadgfx_callnative(u8 **script, u32 *val); bool8 FieldEffectCmd_loadtiles_callnative(u8 **script, u32 *val); bool8 FieldEffectCmd_loadfadedpal_callnative(u8 **script, u32 *val); -void sub_80B6B68(void); -void sub_80B6E4C(u8 a0, u8 priority); -void sub_80B75D8(u8 priority); -void sub_80B7A74(u8 priority); +void FieldCB_FallWarpExit(void); +void StartEscalatorWarp(u8 metatileBehavior, u8 priority); +void StartLavaridgeGymB1FWarp(u8 priority); +void StartLavaridgeGym1FWarp(u8 priority); void sub_80B9C28(s16*, u8); void sub_80B9C54(s16*, u8); void sub_80B9CDC(s16*, u8); -void sub_80B7CAC(struct Sprite*); -void sub_80B7A58(struct Sprite*); +void SpriteCB_PopOutOfAsh(struct Sprite*); +void SpriteCB_LavaridgeGymWarp(struct Sprite*); void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b); void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId); diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 8d87779e6d..f521737b76 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -61,7 +61,8 @@ void sub_808D194(void); void sub_808D1C8(void); bool32 sub_808D1B4(void); bool32 sub_808D1E8(void); -void sub_808C0A8(u8 a); +void SetPlayerInvisibility(bool8 invisible); u8 player_get_pos_including_state_based_drift(s16 *x, s16 *y); +void StartFishing(u8 taskId); #endif // GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/field_poison.h b/include/field_poison.h index a23a93ca5a..e9de7878e2 100644 --- a/include/field_poison.h +++ b/include/field_poison.h @@ -7,13 +7,7 @@ // Exported ROM declarations -enum { - FLDPSN_NONE, - FLDPSN_PSN, - FLDPSN_FNT -}; - -void ExecuteWhiteOut(void); +void TryFieldPoisonWhiteOut(void); s32 DoPoisonFieldEffect(void); #endif //GUARD_FIELD_POISON_H diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index a62a76b2ad..e05e30378a 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -1,46 +1,44 @@ #ifndef GUARD_FIELD_SCREEN_EFFECT_H #define GUARD_FIELD_SCREEN_EFFECT_H -void pal_fill_for_maplights(void); -void pal_fill_black(void); -void WarpFadeScreen(void); -void sub_80AF128(void); -void FieldCallback_ReturnToEventScript2(void); -void sub_80AF188(void); -void sub_80AF214(void); -void sub_80AF2B4(u8 taskId); -void sub_80AF314(void); -void mapldr_default(void); -void sub_80AF3B0(void); -void sub_80AF3C8(void); -void sub_80AF3E8(void); -void sub_80AF40C(void); -void sub_80AF688(void); -bool8 sub_80AF6A4(void); +void WarpFadeInScreen(void); +void WarpFadeOutScreen(void); +void FadeInFromBlack(void); +void FadeInFromWhite(void); +void FieldCB_ContinueScriptUnionRoom(void); +void FieldCB_ContinueScriptHandleMusic(void); +void FieldCB_ContinueScript(void); +void Task_ReturnToFieldRecordMixing(u8 taskId); +void FieldCB_ReturnToFieldCableLink(void); +void FieldCB_ReturnToFieldWirelessLink(void); +void FieldCB_DefaultWarpExit(void); +void FieldCB_WarpExitFadeFromBlack(void); +void FieldCB_WarpExitFadeFromWhite(void); +bool8 FieldCB_ReturnToFieldOpenStartMenu(void); +void ReturnToFieldOpenStartMenu(void); void sub_80AF6D4(void); void sub_80AF6F0(void); void DoWarp(void); void DoDiveWarp(void); -void sub_80AF79C(void); +void DoSootopolisLegendWarp(void); void DoDoorWarp(void); void DoFallWarp(void); -void sub_80AF80C(u8 metatileBehavior); -void sub_80AF828(void); -void sub_80AF838(void); -void sub_80AF848(void); -void sub_80AF87C(void); -void sub_80AF8B8(void); -void sub_80AF948(void); -void sub_80AF9F8(void); -void sub_80AFC60(void); -void sub_80B009C(u8 flashLevel); +void DoEscalatorWarp(u8 metatileBehavior); +void DoLavaridgeGymB1FWarp(void); +void DoLavaridgeGym1FWarp(void); +void DoTeleportWarp(void); +void DoMossdeepGymWarp(void); +void DoPortholeWarp(void); +void DoCableClubWarp(void); +void DoContestHallWarp(void); +void AnimateFlash(u8 flashLevel); void WriteBattlePyramidViewScanlineEffectBuffer(void); void sub_80B0244(void); void sub_80B0268(void); -void sub_80B0534(void); -void sub_80B058C(void); +void DoOrbEffect(void); +void FadeOutOrbEffect(void); void sub_80B05B4(void); void WriteFlashScanlineEffectBuffer(u8 flashLevel); -bool8 walkrun_is_standing_still(void); +bool8 IsPlayerStandingStill(void); #endif // GUARD_FIELD_SCREEN_EFFECT_H diff --git a/include/field_special_scene.h b/include/field_special_scene.h index 2219c94332..a54b344d9b 100644 --- a/include/field_special_scene.h +++ b/include/field_special_scene.h @@ -10,6 +10,6 @@ void Task_HandleTruckSequence(u8 taskId); void ExecuteTruckSequence(void); void EndTruckSequence(u8); void sub_80C791C(void); -void sub_80FB768(void); +void FieldCB_ShowPortholeView(void); #endif // GUARD_FIELD_SPECIAL_SCENE_H diff --git a/include/field_specials.h b/include/field_specials.h index b1a50c811f..faf71e9c08 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -5,31 +5,31 @@ extern bool8 gBikeCyclingChallenge; extern u8 gBikeCollisions; u8 GetLeadMonIndex(void); -u8 sub_813B260(void); -u16 get_unknown_box_id(void); -bool8 InMultiBattleRoom(void); -void sub_813BF10(void); +u8 IsDestinationBoxFull(void); +u16 GetPCBoxToSendMon(void); +bool8 InMultiPartnerRoom(void); +void UpdateTrainerFansAfterLinkBattle(void); void IncrementBirthIslandRockStepCount(void); -bool8 UnusualWeatherHasExpired(void); +bool8 AbnormalWeatherHasExpired(void); bool8 ShouldDoBrailleRegicePuzzle(void); bool32 ShouldDoWallyCall(void); -bool32 ShouldDoWinonaCall(void); -bool32 ShouldDoScottCall(void); +bool32 ShouldDoScottFortreeCall(void); +bool32 ShouldDoScottBattleFrontierCall(void); bool32 ShouldDoRoxanneCall(void); bool32 ShouldDoRivalRayquazaCall(void); bool32 CountSSTidalStep(u16 delta); u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y); -void sub_813A128(void); -void sub_813A878(u8 a0); -u8 sub_813BADC(u8 a0); -bool8 sub_813B9C0(void); -void SetShoalItemFlag(u16 v0); -void UpdateFrontierManiac(u16 a0); -void UpdateFrontierGambler(u16 a0); +void ShowScrollableMultichoice(void); +void FrontierGamblerSetWonOrLost(bool8 won); +u8 TryGainNewFanFromCounter(u8 incrementId); +bool8 InPokemonCenter(void); +void SetShoalItemFlag(u16 unused); +void UpdateFrontierManiac(u16 daysSince); +void UpdateFrontierGambler(u16 daysSince); void ResetCyclingRoadChallengeData(void); -bool8 warp0_in_pokecenter(void); +bool8 UsedPokemonCenterWarp(void); void ResetFanClub(void); -bool8 sub_813B21C(void); -void set_unknown_box_id(u8 id); +bool8 ShouldShowBoxWasFullMessage(void); +void SetPCBoxToSendMon(u8 boxId); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/field_weather.h b/include/field_weather.h index 3a84a8a730..1af320151a 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -2,32 +2,7 @@ #define GUARD_WEATHER_H #include "sprite.h" - -#define MAX_RAIN_SPRITES 24 -#define NUM_CLOUD_SPRITES 3 -#define NUM_FOG1_SPRITES 20 -#define NUM_ASH_SPRITES 20 -#define NUM_FOG2_SPRITES 20 -#define NUM_SANDSTORM_SPRITES 20 -#define NUM_SWIRL_SANDSTORM_SPRITES 5 - -// Controls how the weather should be changing the screen palettes. -enum -{ - WEATHER_PAL_STATE_CHANGING_WEATHER, - WEATHER_PAL_STATE_SCREEN_FADING_IN, - WEATHER_PAL_STATE_SCREEN_FADING_OUT, - WEATHER_PAL_STATE_IDLE, -}; - -// For the FadeScreen function. -enum -{ - FADE_FROM_BLACK, - FADE_TO_BLACK, - FADE_FROM_WHITE, - FADE_TO_WHITE, -}; +#include "constants/field_weather.h" struct Weather { @@ -42,9 +17,9 @@ struct Weather struct { u8 filler0[0xA0]; - struct Sprite *fog1Sprites[NUM_FOG1_SPRITES]; + struct Sprite *fogHSprites[NUM_FOG_HORIZONTAL_SPRITES]; struct Sprite *ashSprites[NUM_ASH_SPRITES]; - struct Sprite *fog2Sprites[NUM_FOG2_SPRITES]; + struct Sprite *fogDSprites[NUM_FOG_DIAGONAL_SPRITES]; struct Sprite *sandstormSprites1[NUM_SANDSTORM_SPRITES]; struct Sprite *sandstormSprites2[NUM_SWIRL_SANDSTORM_SPRITES]; } s2; @@ -75,7 +50,7 @@ struct Weather u8 targetRainSpriteCount; u8 rainSpriteCount; u8 rainSpriteVisibleDelay; - u8 isHeavyRain; + u8 isDownpour; u8 rainStrength; /*0x6DE*/ u8 cloudSpritesCreated; u8 filler_6DF[1]; @@ -89,12 +64,12 @@ struct Weather u8 unknown_6EB; u8 unknown_6EC; u8 thunderTriggered; - u16 fog1ScrollPosX; - u16 fog1ScrollCounter; - u16 fog1ScrollOffset; + u16 fogHScrollPosX; + u16 fogHScrollCounter; + u16 fogHScrollOffset; u8 lightenedFogSpritePals[6]; u8 lightenedFogSpritePalsCount; - u8 fog1SpritesCreated; + u8 fogHSpritesCreated; u16 ashBaseSpritesX; u16 unknown_6FE; u8 ashSpritesCreated; @@ -108,13 +83,13 @@ struct Weather u16 sandstormWaveCounter; u8 sandstormSpritesCreated; u8 sandstormSwirlSpritesCreated; - u16 fog2BaseSpritesX; - u16 fog2PosY; - u16 fog2ScrollXCounter; - u16 fog2ScrollYCounter; - u16 fog2XOffset; - u16 fog2YOffset; - u8 fog2SpritesCreated; + u16 fogDBaseSpritesX; + u16 fogDPosY; + u16 fogDScrollXCounter; + u16 fogDScrollYCounter; + u16 fogDXOffset; + u16 fogDYOffset; + u8 fogDSpritesCreated; u8 filler_725[1]; u16 bubblesDelayCounter; u16 bubblesDelayIndex; @@ -145,7 +120,7 @@ extern struct Weather *const gWeatherPtr; extern const u16 gUnknown_083970E8[]; // field_weather_effect.c -extern const u8 gWeatherFog1Tiles[]; +extern const u8 gWeatherFogHorizontalTiles[]; void StartWeather(void); void SetNextWeather(u8 weather); @@ -186,22 +161,22 @@ void Sunny_InitVars(void); void Sunny_Main(void); void Sunny_InitAll(void); bool8 Sunny_Finish(void); -void LightRain_InitVars(void); -void LightRain_Main(void); -void LightRain_InitAll(void); -bool8 LightRain_Finish(void); +void Rain_InitVars(void); +void Rain_Main(void); +void Rain_InitAll(void); +bool8 Rain_Finish(void); void Snow_InitVars(void); void Snow_Main(void); void Snow_InitAll(void); bool8 Snow_Finish(void); -void MedRain_InitVars(void); -void Rain_Main(void); -void MedRain_InitAll(void); -bool8 Rain_Finish(void); -void Fog1_InitVars(void); -void Fog1_Main(void); -void Fog1_InitAll(void); -bool8 Fog1_Finish(void); +void Thunderstorm_InitVars(void); +void Thunderstorm_Main(void); +void Thunderstorm_InitAll(void); +bool8 Thunderstorm_Finish(void); +void FogHorizontal_InitVars(void); +void FogHorizontal_Main(void); +void FogHorizontal_InitAll(void); +bool8 FogHorizontal_Finish(void); void Ash_InitVars(void); void Ash_Main(void); void Ash_InitAll(void); @@ -210,14 +185,10 @@ void Sandstorm_InitVars(void); void Sandstorm_Main(void); void Sandstorm_InitAll(void); bool8 Sandstorm_Finish(void); -void Fog2_InitVars(void); -void Fog2_Main(void); -void Fog2_InitAll(void); -bool8 Fog2_Finish(void); -void Fog1_InitVars(void); -void Fog1_Main(void); -void Fog1_InitAll(void); -bool8 Fog1_Finish(void); +void FogDiagonal_InitVars(void); +void FogDiagonal_Main(void); +void FogDiagonal_InitAll(void); +bool8 FogDiagonal_Finish(void); void Shade_InitVars(void); void Shade_Main(void); void Shade_InitAll(void); @@ -226,10 +197,8 @@ void Drought_InitVars(void); void Drought_Main(void); void Drought_InitAll(void); bool8 Drought_Finish(void); -void HeavyRain_InitVars(void); -void Rain_Main(void); -void HeavyRain_InitAll(void); -bool8 Rain_Finish(void); +void Downpour_InitVars(void); +void Downpour_InitAll(void); void Bubbles_InitVars(void); void Bubbles_Main(void); void Bubbles_InitAll(void); diff --git a/include/fieldmap.h b/include/fieldmap.h index be5610a469..dc81d17665 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -42,7 +42,7 @@ void copy_map_tileset2_to_vram_2(struct MapLayout const *mapLayout); void copy_map_tileset1_to_vram(const struct MapLayout *); void copy_map_tileset2_to_vram(const struct MapLayout *); struct MapHeader const *const mapconnection_get_mapheader(struct MapConnection *connection); -struct MapConnection *sub_8088A8C(s16 x, s16 y); +struct MapConnection *GetConnectionAtCoords(s16 x, s16 y); void SpriteCB_PokeballGlow(struct Sprite *); void SpriteCB_PokecenterMonitor(struct Sprite *); diff --git a/include/fldeff.h b/include/fldeff.h index 0a2bad6293..deb54372c8 100644 --- a/include/fldeff.h +++ b/include/fldeff.h @@ -28,8 +28,8 @@ bool8 sub_80E1584(void); // soft-boiled bool8 SetUpFieldMove_SoftBoiled(void); -void sub_81615A8(u8 taskId); -void sub_8161560(u8 taskId); +void Task_TryUseSoftboiledOnPartyMon(u8 taskId); +void ChooseMonForSoftboiled(u8 taskId); // flash bool8 SetUpFieldMove_Flash(void); diff --git a/include/fldeff_misc.h b/include/fldeff_misc.h index fd96f56469..6fd15c1ea7 100644 --- a/include/fldeff_misc.h +++ b/include/fldeff_misc.h @@ -21,7 +21,7 @@ void ShatterSecretBaseBreakableDoor(s16 x, s16 y); void PlaySecretBaseMusicNoteMatSound(s16 metatileId); void DoSecretBaseGlitterMatSparkle(void); bool8 FldEff_SandPillar(void); -void GetShieldToyTVDecorationInfo(void); +void InteractWithShieldOrTVDecoration(void); bool8 sub_80FADE4(u16 arg0, u8 arg1); void FldEffPoison_Start(void); bool32 FldEffPoison_IsActive(void); diff --git a/include/frontier_util.h b/include/frontier_util.h index 9464ba91c0..d6cdb3a622 100644 --- a/include/frontier_util.h +++ b/include/frontier_util.h @@ -1,21 +1,17 @@ #ifndef GUARD_FRONTIER_UTIL_H #define GUARD_FRONTIER_UTIL_H -#define FRONTIER_BEFORE_TEXT 0 -#define FRONTIER_PLAYER_LOST_TEXT 1 -#define FRONTIER_PLAYER_WON_TEXT 2 - void CallFrontierUtilFunc(void); -u8 sub_81A3610(void); +u8 GetFrontierBrainStatus(void); void CopyFrontierTrainerText(u8 whichText, u16 trainerId); -void sub_81A3908(void); +void ResetWinStreaks(void); u32 GetCurrentFacilityWinStreak(void); -void sub_81A3ACC(void); +void ResetFrontierTrainerIds(void); u8 GetPlayerSymbolCountForFacility(u8 facility); void ShowRankingHallRecordsWindow(void); void ScrollRankingHallRecordsWindow(void); void ClearRankingHallRecords(void); -void sub_81A4C30(void); +void SaveGameFrontier(void); u8 GetFrontierBrainTrainerPicIndex(void); u8 GetFrontierBrainTrainerClass(void); void CopyFrontierBrainTrainerName(u8 *dst); diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index a171805897..3913b96d84 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -59,13 +59,13 @@ struct EventObjectTemplate /*0x06*/ s16 y; /*0x08*/ u8 elevation; /*0x09*/ u8 movementType; - /*0x0A*/ u8 movementRangeX:4; - u8 movementRangeY:4; + /*0x0A*/ u16 movementRangeX:4; + u16 movementRangeY:4; /*0x0C*/ u16 trainerType; /*0x0E*/ u16 trainerRange_berryTreeId; /*0x10*/ const u8 *script; /*0x14*/ u16 flagId; -}; /*size = 0x18*/ +}; struct WarpEvent { @@ -82,7 +82,6 @@ struct CoordEvent u8 elevation; u16 trigger; u16 index; - u8 filler_A[0x2]; u8 *script; }; @@ -90,20 +89,14 @@ struct BgEvent { u16 x, y; u8 elevation; - u8 kind; - union { // carried over from diego's FR/LG work, seems to be the same struct - // in gen 3, "kind" (0x3 in BgEvent struct) determines the method to read the union. + u8 kind; // The "kind" field determines how to access bgUnion union below. + union { u8 *script; - - // hidden item type struct { u16 item; - u16 hiddenItemId; // flag offset to determine flag lookup + u16 hiddenItemId; } hiddenItem; - - // secret base type u32 secretBaseId; - } bgUnion; }; @@ -113,7 +106,6 @@ struct MapEvents u8 warpCount; u8 coordEventCount; u8 bgEventCount; - struct EventObjectTemplate *eventObjects; struct WarpEvent *warps; struct CoordEvent *coordEvents; @@ -122,10 +114,10 @@ struct MapEvents struct MapConnection { - /*0x00*/ u8 direction; - /*0x01*/ u32 offset; - /*0x05*/ u8 mapGroup; - /*0x06*/ u8 mapNum; + u8 direction; + u32 offset; + u8 mapGroup; + u8 mapNum; }; struct MapConnections @@ -151,6 +143,16 @@ struct MapHeader /* 0x1B */ u8 battleType; }; +// Flags for gMapHeader.flags, as defined in the map_header_flags macro +#define MAP_ALLOW_BIKE (1 << 0) +#define MAP_ALLOW_ESCAPE_ROPE (1 << 1) +#define MAP_ALLOW_RUN (1 << 2) +#define MAP_SHOW_MAP_NAME (1 << 3) +#define UNUSED_MAP_FLAGS (1 << 4 | 1 << 5 | 1 << 6 | 1 << 7) + +#define SHOW_MAP_NAME_ENABLED ((gMapHeader.flags & (MAP_SHOW_MAP_NAME | UNUSED_MAP_FLAGS)) == MAP_SHOW_MAP_NAME) + + struct EventObject { /*0x00*/ u32 active:1; @@ -180,7 +182,7 @@ struct EventObject /*0x03*/ u32 spriteAffineAnimPausedBackup:1; u32 disableJumpLandingGroundEffect:1; u32 fixedPriority:1; - u32 unk3_3:1; + u32 hideReflection:1; /*0x04*/ u8 spriteId; /*0x05*/ u8 graphicsId; /*0x06*/ u8 movementType; @@ -267,7 +269,20 @@ enum enum { - COLLISION_LEDGE_JUMP = 6 + COLLISION_NONE, + COLLISION_OUTSIDE_RANGE, + COLLISION_IMPASSABLE, + COLLISION_ELEVATION_MISMATCH, + COLLISION_EVENT_OBJECT, + COLLISION_STOP_SURFING, + COLLISION_LEDGE_JUMP, + COLLISION_PUSHED_BOULDER, + COLLISION_ROTATING_GATE, + COLLISION_WHEELIE_HOP, + COLLISION_ISOLATED_VERTICAL_RAIL, + COLLISION_ISOLATED_HORIZONTAL_RAIL, + COLLISION_VERTICAL_RAIL, + COLLISION_HORIZONTAL_RAIL, }; // player running states diff --git a/include/global.h b/include/global.h index 1fbc70e238..fa28b16cf3 100644 --- a/include/global.h +++ b/include/global.h @@ -63,8 +63,6 @@ // Converts a Q24.8 fixed-point format number to a regular integer #define Q_24_8_TO_INT(n) ((int)((n) >> 8)) -#define PARTY_SIZE 6 - #define POKEMON_SLOTS_NUMBER 412 #define min(a, b) ((a) < (b) ? (a) : (b)) @@ -212,18 +210,20 @@ struct BerryCrush struct ApprenticeMon { u16 species; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u16 item; }; +// This is for past players Apprentices or Apprentices received via Record Mix. +// For the current Apprentice, see struct PlayersApprentice struct Apprentice { u8 id:5; u8 lvlMode:2; // + 1 - u8 field_1; + u8 numQuestions; u8 number; - struct ApprenticeMon party[3]; - u16 easyChatWords[6]; + struct ApprenticeMon party[MULTI_PARTY_SIZE]; + u16 speechWon[EASY_CHAT_BATTLE_WORDS_COUNT]; u8 playerId[TRAINER_ID_LENGTH]; u8 playerName[PLAYER_NAME_LENGTH]; u8 language; @@ -234,7 +234,7 @@ struct BattleTowerPokemon { u16 species; u16 heldItem; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u8 level; u8 ppBonuses; u8 hpEV; @@ -266,14 +266,23 @@ struct EmeraldBattleTowerRecord /*0x02*/ u16 winStreak; /*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1]; /*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH]; - /*0x10*/ u16 greeting[6]; - /*0x1C*/ u16 speechWon[6]; - /*0x28*/ u16 speechLost[6]; - /*0x34*/ struct BattleTowerPokemon party[4]; + /*0x10*/ u16 greeting[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x1C*/ u16 speechWon[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x28*/ u16 speechLost[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x34*/ struct BattleTowerPokemon party[MAX_FRONTIER_PARTY_SIZE]; /*0xE4*/ u8 language; /*0xE8*/ u32 checksum; }; +struct BattleTowerInterview +{ + u16 playerSpecies; + u16 opponentSpecies; + u8 opponentName[PLAYER_NAME_LENGTH + 1]; + u8 opponentMonNickname[POKEMON_NAME_LENGTH + 1]; + u8 opponentLanguage; +}; + struct BattleTowerEReaderTrainer { /*0x00*/ u8 unk0; @@ -281,17 +290,18 @@ struct BattleTowerEReaderTrainer /*0x02*/ u16 winStreak; /*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1]; /*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH]; - /*0x10*/ u16 greeting[6]; - /*0x1C*/ u16 farewellPlayerLost[6]; - /*0x28*/ u16 farewellPlayerWon[6]; - /*0x34*/ struct BattleTowerPokemon party[3]; + /*0x10*/ u16 greeting[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x1C*/ u16 farewellPlayerLost[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x28*/ u16 farewellPlayerWon[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x34*/ struct BattleTowerPokemon party[FRONTIER_PARTY_SIZE]; /*0xB8*/ u32 checksum; }; -struct FrontierMonData +// For displaying party information on the player's Battle Dome tourney page +struct DomeMonData { - u16 moves[4]; - u8 evs[6]; + u16 moves[MAX_MON_MOVES]; + u8 evs[NUM_STATS]; u8 nature; }; @@ -308,7 +318,7 @@ struct BattleDomeTrainer u16 trainerId:10; u16 isEliminated:1; u16 eliminatedAt:2; - u16 unk3:3; + u16 forfeited:3; }; #define DOME_TOURNAMENT_TRAINERS_COUNT 16 @@ -317,112 +327,103 @@ struct BattleFrontier { /*0x64C*/ struct EmeraldBattleTowerRecord towerPlayer; /*0x738*/ struct EmeraldBattleTowerRecord towerRecords[5]; // From record mixing. - /*0xBD4*/ u16 field_BD4; - /*0xBD6*/ u16 field_BD6; - /*0xBD8*/ u8 field_BD8[PLAYER_NAME_LENGTH + 1]; - /*0xBE3*/ u8 field_BE0[POKEMON_NAME_LENGTH + 1]; - /*0xBEB*/ u8 field_BEB; + /*0xBEB*/ struct BattleTowerInterview towerInterview; /*0xBEC*/ struct BattleTowerEReaderTrainer ereaderTrainer; - /*0xCA8*/ u8 field_CA8; - /*0xCA9*/ u8 lvlMode:2; // 0x1, 0x2 -> 0x3 - /*0xCA9*/ u8 field_CA9_a:1; // 0x4 - /*0xCA9*/ u8 field_CA9_b:1; // 0x8 - /*0xCA9*/ u8 field_CA9_c:1; // 0x10 - /*0xCA9*/ u8 field_CA9_d:1; // 0x20 - /*0xCA9*/ u8 field_CA9_e:1; // 0x40 - /*0xCA9*/ u8 field_CA9_f:1; // 0x80 - /*0xCAA*/ u16 selectedPartyMons[3]; - /*0xCB0*/ u16 field_CB0; - /*0xCB2*/ u16 curChallengeBattleNum; // In case of battle pyramid, the floor. + /*0xCA8*/ u8 challengeStatus; + /*0xCA9*/ u8 lvlMode:2; + /*0xCA9*/ u8 challengePaused:1; + /*0xCA9*/ u8 disableRecordBattle:1; + /*0xCAA*/ u16 selectedPartyMons[MAX_FRONTIER_PARTY_SIZE]; + /*0xCB2*/ u16 curChallengeBattleNum; // Battle number / room number (Pike) / floor number (Pyramid) /*0xCB4*/ u16 trainerIds[20]; - /*0xCDC*/ u32 field_CDC; + /*0xCDC*/ u32 winStreakActiveFlags; /*0xCE0*/ u16 towerWinStreaks[4][2]; /*0xCF0*/ u16 towerRecordWinStreaks[4][2]; - /*0xD00*/ u16 field_D00; - /*0xD02*/ u16 field_D02; - /*0xD04*/ u16 field_D04; - /*0xD06*/ u8 field_D06; - /*0xD07*/ u8 field_D07; - /*0xD08*/ u8 field_D08_0:1; - /*0xD08*/ u8 field_D08_1:1; - /*0xD08*/ u8 field_D08_2:1; - /*0xD08*/ u8 field_D08_3:1; - /*0xD08*/ u8 field_D08_4:1; - /*0xD08*/ u8 field_D08_5:1; - /*0xD08*/ u8 field_D08_6:1; - /*0xD08*/ u8 field_D08_7:1; - /*0xD09*/ u8 filler_D09; - /*0xD0A*/ u8 field_D0A; - /*0xD0B*/ u8 field_D0B; + /*0xD00*/ u16 battledBrainFlags; + /*0xD02*/ u16 towerSinglesStreak; // Never read + /*0xD04*/ u16 towerNumWins; // Increments to MAX_STREAK but never read otherwise + /*0xD06*/ u8 towerBattleOutcome; + /*0xD07*/ u8 towerLvlMode; + /*0xD08*/ u8 domeAttemptedSingles50:1; + /*0xD08*/ u8 domeAttemptedSinglesOpen:1; + /*0xD08*/ u8 domeHasWonSingles50:1; + /*0xD08*/ u8 domeHasWonSinglesOpen:1; + /*0xD08*/ u8 domeAttemptedDoubles50:1; + /*0xD08*/ u8 domeAttemptedDoublesOpen:1; + /*0xD08*/ u8 domeHasWonDoubles50:1; + /*0xD08*/ u8 domeHasWonDoublesOpen:1; + /*0xD09*/ u8 domeUnused; + /*0xD0A*/ u8 domeLvlMode; + /*0xD0B*/ u8 domeBattleMode; /*0xD0C*/ u16 domeWinStreaks[2][2]; /*0xD14*/ u16 domeRecordWinStreaks[2][2]; /*0xD1C*/ u16 domeTotalChampionships[2][2]; /*0xD24*/ struct BattleDomeTrainer domeTrainers[DOME_TOURNAMENT_TRAINERS_COUNT]; - /*0xD64*/ u16 domeMonIds[DOME_TOURNAMENT_TRAINERS_COUNT][3]; - /*0xDC4*/ u16 field_DC4; - /*0xDC6*/ u16 field_DC6; + /*0xD64*/ u16 domeMonIds[DOME_TOURNAMENT_TRAINERS_COUNT][FRONTIER_PARTY_SIZE]; + /*0xDC4*/ u16 unused_DC4; + /*0xDC6*/ u16 palacePrize; /*0xDC8*/ u16 palaceWinStreaks[2][2]; /*0xDD0*/ u16 palaceRecordWinStreaks[2][2]; - /*0xDD8*/ u16 arenaRewardItem; + /*0xDD8*/ u16 arenaPrize; /*0xDDA*/ u16 arenaWinStreaks[2]; /*0xDDE*/ u16 arenaRecordStreaks[2]; /*0xDE2*/ u16 factoryWinStreaks[2][2]; /*0xDEA*/ u16 factoryRecordWinStreaks[2][2]; /*0xDF6*/ u16 factoryRentsCount[2][2]; /*0xDFA*/ u16 factoryRecordRentsCount[2][2]; - /*0xE02*/ u16 field_E02; + /*0xE02*/ u16 pikePrize; /*0xE04*/ u16 pikeWinStreaks[2]; /*0xE08*/ u16 pikeRecordStreaks[2]; /*0xE0C*/ u16 pikeTotalStreaks[2]; /*0xE10*/ u8 pikeHintedRoomIndex:3; /*0xE10*/ u8 pikeHintedRoomType:4; /*0xE10*/ u8 pikeHealingRoomsDisabled:1; - /*0xE12*/ u16 pikeHeldItemsBackup[3]; - /*0xE18*/ u16 pyramidRewardItem; + /*0xE12*/ u16 pikeHeldItemsBackup[FRONTIER_PARTY_SIZE]; + /*0xE18*/ u16 pyramidPrize; /*0xE1A*/ u16 pyramidWinStreaks[2]; /*0xE1E*/ u16 pyramidRecordStreaks[2]; /*0xE22*/ u16 pyramidRandoms[4]; /*0xE2A*/ u8 pyramidTrainerFlags; /*0xE2C*/ struct PyramidBag pyramidBag; /*0xE68*/ u8 pyramidLightRadius; - /*0xE6A*/ u16 field_E6A; - /*0xE6C*/ u16 field_E6C; - /*0xE6E*/ u16 field_E6E; - /*0xE70*/ struct RentalMon rentalMons[6]; + /*0xE6A*/ u16 verdanturfTentPrize; + /*0xE6C*/ u16 fallarborTentPrize; + /*0xE6E*/ u16 slateportTentPrize; + /*0xE70*/ struct RentalMon rentalMons[FRONTIER_PARTY_SIZE * 2]; /*0xEB8*/ u16 battlePoints; - /*0xEBA*/ u16 field_EBA; + /*0xEBA*/ u16 cardBattlePoints; /*0xEBC*/ u32 battlesCount; - /*0xEC0*/ u16 field_EC0[16]; - /*0xEE0*/ u8 field_EE0; - /*0xEE1*/ u8 opponentName[2][PLAYER_NAME_LENGTH + 1]; - /*0xEF1*/ u8 field_EF1[2][4]; - /*0xEF9*/ u8 field_EF9_0:7; - /*0xEF9*/ u8 field_EF9_1:1; - /*0xEFA*/ u8 field_EFA; - /*0xEFB*/ u8 field_EFB; - /*0xEFC*/ struct FrontierMonData field_EFC[3]; + /*0xEC0*/ u16 domeWinningMoves[DOME_TOURNAMENT_TRAINERS_COUNT]; + /*0xEE0*/ u8 trainerFlags; + /*0xEE1*/ u8 opponentNames[2][PLAYER_NAME_LENGTH + 1]; + /*0xEF1*/ u8 opponentTrainerIds[2][TRAINER_ID_LENGTH]; + /*0xEF9*/ u8 unk_EF9:7; // Never read + /*0xEF9*/ u8 savedGame:1; + /*0xEFA*/ u8 unused_EFA; + /*0xEFB*/ u8 unused_EFB; + /*0xEFC*/ struct DomeMonData domePlayerPartyData[FRONTIER_PARTY_SIZE]; }; -struct Sav2_B8 +struct ApprenticeQuestion { - u8 unk0_0:2; - u8 unk0_1:2; - u8 unk0_2:2; - u8 unk0_3:2; - u16 unk2; + u8 questionId:2; + u8 monId:2; + u8 moveSlot:2; + u8 suggestedChange:2; // TRUE if told to use held item or second move, FALSE if told to use no item or first move + u16 data; // used both as an itemId and a moveId }; struct PlayersApprentice { /*0xB0*/ u8 id; - /*0xB1*/ u8 activeLvlMode:2; // +1, 0 means not active - /*0xB1*/ u8 field_B1_1:4; - /*0xB1*/ u8 field_B1_2:2; - /*0xB2*/ u8 field_B2_0:3; - /*0xB2*/ u8 field_B2_1:2; - /*0xB3*/ u8 field_B3; - /*0xB4*/ u8 monIds[3]; - /*0xB8*/ struct Sav2_B8 field_B8[9]; + /*0xB1*/ u8 lvlMode:2; //0: Unassigned, 1: Lv 50, 2: Open Lv + /*0xB1*/ u8 questionsAnswered:4; + /*0xB1*/ u8 leadMonId:2; + /*0xB2*/ u8 party:3; + /*0xB2*/ u8 saveId:2; + /*0xB3*/ u8 unused; + /*0xB4*/ u8 speciesIds[MULTI_PARTY_SIZE]; + /*0xB8*/ struct ApprenticeQuestion questions[APPRENTICE_MAX_QUESTIONS]; }; struct RankingHall1P @@ -467,7 +468,7 @@ struct SaveBlock2 /*0xA8*/ u32 field_A8; // Written to, but never read. /*0xAC*/ u32 encryptionKey; /*0xB0*/ struct PlayersApprentice playerApprentice; - /*0xDC*/ struct Apprentice apprentices[4]; // From record mixing. + /*0xDC*/ struct Apprentice apprentices[APPRENTICE_COUNT]; /*0x1EC*/ struct BerryCrush berryCrush; /*0x1FC*/ struct PokemonJumpResults pokeJump; /*0x20C*/ struct BerryPickingResults berryPick; @@ -502,8 +503,8 @@ struct SecretBase /*0x1AAA*/ u16 numSecretBasesReceived; /*0x1AAC*/ u8 numTimesEntered; /*0x1AAD*/ u8 sbr_field_11; - /*0x1AAE*/ u8 decorations[16]; - /*0x1ABE*/ u8 decorationPositions[16]; + /*0x1AAE*/ u8 decorations[DECOR_MAX_SECRET_BASE]; + /*0x1ABE*/ u8 decorationPositions[DECOR_MAX_SECRET_BASE]; /*0x1AD0*/ struct SecretBaseParty party; }; @@ -596,9 +597,9 @@ struct MauvilleManCommon struct MauvilleManBard { /*0x00*/ u8 id; - /*0x02*/ u16 songLyrics[6]; - /*0x0E*/ u16 temporaryLyrics[6]; - /*0x1A*/ u8 playerName[8]; + /*0x02*/ u16 songLyrics[BARD_SONG_LENGTH]; + /*0x0E*/ u16 temporaryLyrics[BARD_SONG_LENGTH]; + /*0x1A*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x22*/ u8 filler_2DB6[0x3]; /*0x25*/ u8 playerTrainerId[TRAINER_ID_LENGTH]; /*0x29*/ bool8 hasChangedSong; @@ -610,10 +611,10 @@ struct MauvilleManStoryteller u8 id; bool8 alreadyRecorded; u8 filler2[2]; - u8 gameStatIDs[4]; - u8 trainerNames[4][7]; - u8 statValues[4][4]; - u8 language[4]; + u8 gameStatIDs[NUM_STORYTELLER_TALES]; + u8 trainerNames[NUM_STORYTELLER_TALES][PLAYER_NAME_LENGTH]; + u8 statValues[NUM_STORYTELLER_TALES][4]; + u8 language[NUM_STORYTELLER_TALES]; }; struct MauvilleManGiddy @@ -636,10 +637,10 @@ struct MauvilleManHipster struct MauvilleOldManTrader { u8 id; - u8 decorIds[4]; - u8 playerNames[4][11]; + u8 decorIds[NUM_TRADER_ITEMS]; + u8 playerNames[NUM_TRADER_ITEMS][11]; u8 alreadyTraded; - u8 language[4]; + u8 language[NUM_TRADER_ITEMS]; }; typedef union OldMan @@ -808,15 +809,15 @@ struct SaveTrainerHill { /*0x3D64*/ u32 timer; /*0x3D68*/ u32 bestTime; - /*0x3D6C*/ u8 field_3D6C; + /*0x3D6C*/ u8 unk_3D6C; /*0x3D6D*/ u8 unused; - /*0x3D6E*/ u16 field_3D6E_0a:1; // 1 - /*0x3D6E*/ u16 field_3D6E_0b:1; // 2 - /*0x3D6E*/ u16 field_3D6E_0c:1; // 4 - /*0x3D6E*/ u16 hasLost:1; // 8 - /*0x3D6E*/ u16 maybeECardScanDuringChallenge:1; // x10 - /*0x3D6E*/ u16 field_3D6E_0f:1; // x20 - /*0x3D6E*/ u16 tag:2; // x40, x80 = xC0 + /*0x3D6E*/ u16 receivedPrize:1; + /*0x3D6E*/ u16 checkedFinalTime:1; + /*0x3D6E*/ u16 spokeToOwner:1; + /*0x3D6E*/ u16 hasLost:1; + /*0x3D6E*/ u16 maybeECardScanDuringChallenge:1; + /*0x3D6E*/ u16 field_3D6E_0f:1; + /*0x3D6E*/ u16 tag:2; }; struct MysteryEventStruct @@ -919,7 +920,7 @@ struct SaveBlock1 /*0x9BC*/ u16 berryBlenderRecords[3]; /*0x9C2*/ u8 field_9C2[6]; /*0x9C8*/ u16 trainerRematchStepCounter; - /*0x9CA*/ u8 trainerRematches[100]; + /*0x9CA*/ u8 trainerRematches[MAX_REMATCH_ENTRIES]; /*0xA30*/ struct EventObject eventObjects[EVENT_OBJECTS_COUNT]; /*0xC70*/ struct EventObjectTemplate eventObjectTemplates[EVENT_OBJECT_TEMPLATES_COUNT]; /*0x1270*/ u8 flags[FLAGS_COUNT]; @@ -927,16 +928,16 @@ struct SaveBlock1 /*0x159C*/ u32 gameStats[NUM_GAME_STATS]; /*0x169C*/ struct BerryTree berryTrees[BERRY_TREES_COUNT]; /*0x1A9C*/ struct SecretBase secretBases[SECRET_BASES_COUNT]; - /*0x271C*/ u8 playerRoomDecor[12]; - /*0x2728*/ u8 playerRoomDecorPos[12]; + /*0x271C*/ u8 playerRoomDecor[DECOR_MAX_PLAYERS_HOUSE]; + /*0x2728*/ u8 playerRoomDecorPos[DECOR_MAX_PLAYERS_HOUSE]; /*0x2734*/ u8 decorDesk[10]; - /*0x????*/ u8 decorChair[10]; - /*0x????*/ u8 decorPlant[10]; - /*0x????*/ u8 decorOrnament[30]; - /*0x????*/ u8 decorMat[30]; - /*0x????*/ u8 decorPoster[10]; - /*0x????*/ u8 decorDoll[40]; - /*0x????*/ u8 decorCushion[10]; + /*0x273E*/ u8 decorChair[10]; + /*0x2748*/ u8 decorPlant[10]; + /*0x2752*/ u8 decorOrnament[30]; + /*0x2770*/ u8 decorMat[30]; + /*0x278E*/ u8 decorPoster[10]; + /*0x2798*/ u8 decorDoll[40]; + /*0x27C0*/ u8 decorCushion[10]; /*0x27CA*/ u8 padding_27CA[2]; /*0x27CC*/ TVShow tvShows[TV_SHOWS_COUNT]; /*0x2B50*/ PokeNews pokeNews[POKE_NEWS_COUNT]; @@ -946,15 +947,15 @@ 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; /*0x2BA4*/ struct GabbyAndTyData gabbyAndTyData; - /*0x2BB0*/ u16 easyChatProfile[6]; - /*0x2BBC*/ u16 easyChatBattleStart[6]; - /*0x2BC8*/ u16 easyChatBattleWon[6]; - /*0x2BD4*/ u16 easyChatBattleLost[6]; + /*0x2BB0*/ u16 easyChatProfile[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x2BBC*/ u16 easyChatBattleStart[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x2BC8*/ u16 easyChatBattleWon[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x2BD4*/ u16 easyChatBattleLost[EASY_CHAT_BATTLE_WORDS_COUNT]; /*0x2BE0*/ struct MailStruct mail[MAIL_COUNT]; /*0x2E20*/ u8 additionalPhrases[8]; // bitfield for 33 additional phrases in easy chat system /*0x2E28*/ OldMan oldMan; diff --git a/include/global.tv.h b/include/global.tv.h index aa151a75c8..34791d43c9 100644 --- a/include/global.tv.h +++ b/include/global.tv.h @@ -1,46 +1,6 @@ #ifndef GUARD_GLOBAL_TV_H #define GUARD_GLOBAL_TV_H -enum -{ - TVSHOW_OFF_AIR, - - TVSHOW_FAN_CLUB_LETTER = 1, - TVSHOW_RECENT_HAPPENINGS, - TVSHOW_PKMN_FAN_CLUB_OPINIONS, - TVSHOW_UNKN_SHOWTYPE_04, - TVSHOW_NAME_RATER_SHOW, - TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE, - TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE, - TVSHOW_CONTEST_LIVE_UPDATES, - TVSHOW_3_CHEERS_FOR_POKEBLOCKS, - TVSHOW_BATTLE_UPDATE, - TVSHOW_FAN_CLUB_SPECIAL, - TVSHOW_CONTEST_LIVE_UPDATES_2, - - TVSHOW_POKEMON_TODAY_CAUGHT = 21, - TVSHOW_SMART_SHOPPER, - TVSHOW_POKEMON_TODAY_FAILED, - TVSHOW_FISHING_ADVICE, - TVSHOW_WORLD_OF_MASTERS, - TVSHOW_TODAYS_RIVAL_TRAINER, - TVSHOW_TREND_WATCHER, - TVSHOW_TREASURE_INVESTIGATORS, - TVSHOW_FIND_THAT_GAMER, - TVSHOW_BREAKING_NEWS, - TVSHOW_SECRET_BASE_VISIT, - TVSHOW_LOTTO_WINNER, - TVSHOW_BATTLE_SEMINAR, - TVSHOW_TRAINER_FAN_CLUB, - TVSHOW_CUTIES, - TVSHOW_FRONTIER, - TVSHOW_NUMBER_ONE, - TVSHOW_SECRET_BASE_SECRETS, - TVSHOW_SAFARI_FAN_CLUB, - - TVSHOW_MASS_OUTBREAK = 41, -}; - typedef union // size = 0x24 { // Common @@ -482,7 +442,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; @@ -496,14 +456,6 @@ typedef union // size = 0x24 } massOutbreak; } TVShow; -enum { - POKENEWS_NONE, - POKENEWS_SLATEPORT, - POKENEWS_GAME_CORNER, - POKENEWS_LILYCOVE, - POKENEWS_BLENDMASTER -}; - typedef struct // 2b50 { u8 kind; diff --git a/include/graphics.h b/include/graphics.h index d1d99cc8f8..a8d4453b0d 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[]; @@ -3205,7 +3208,7 @@ extern const u32 gBattleTextboxTiles[]; extern const u32 gBattleTextboxTilemap[]; extern const u32 gBattleTextboxPalette[]; extern const u32 gUnknown_08D778F0[]; -extern const u32 gUnknown_08D77B0C[]; +extern const u32 gVsLettersGfx[]; extern const u32 gUnknown_08D77AE4[]; extern const u32 gUnknown_08D779D8[]; extern const u32 gUnknown_08D857A8[]; @@ -3913,9 +3916,9 @@ extern const u16 gIntro2FlygonPal[]; extern const u32 gIntro2FlygonGfx[]; // party menu graphics -extern const u32 gPartyMenuMisc_Gfx[]; -extern const u32 gPartyMenuMisc_Tilemap[]; -extern const u32 gPartyMenuMisc_Pal[]; +extern const u32 gPartyMenuBg_Gfx[]; +extern const u32 gPartyMenuBg_Tilemap[]; +extern const u32 gPartyMenuBg_Pal[]; // berry pics extern const u32 gBerryPic_Cheri[]; @@ -4114,19 +4117,19 @@ extern const u16 gTitleScreenBgPalettes[]; extern const u16 gTitleScreenPressStartPal[]; extern const u16 gTitleScreenEmeraldVersionPal[]; -extern const u32 gUnknown_08D83D50[]; -extern const u32 gUnknown_08D84970[]; -extern const u32 gUnknown_08D84F00[]; -extern const u32 gUnknown_08D85444[]; -extern const u32 gUnknown_08D85358[]; -extern const u32 gUnknown_08D85600[]; -extern const u32 gUnknown_08D854C8[]; -extern const u32 gUnknown_08D82F10[]; -extern const u32 gUnknown_08D834FC[]; -extern const u32 gUnknown_08D83B2C[]; -extern const u32 gUnknown_08D83C3C[]; -extern const u32 gUnknown_08D83900[]; -extern const u32 gBattleFrontierGfx_DomeOptions[]; +// Battle Dome +extern const u32 gDomeTourneyInfoCard_Gfx[]; +extern const u32 gDomeTourneyInfoCard_Tilemap[]; +extern const u32 gDomeTourneyInfoCardBg_Tilemap[]; +extern const u32 gDomeTourneyTree_Pal[]; +extern const u32 gDomeTourneyTreeButtons_Pal[]; +extern const u32 gDomeTourneyMatchCardBg_Pal[]; +extern const u32 gDomeTourneyBg_Gfx[]; +extern const u32 gDomeTourneyLine_Gfx[]; +extern const u32 gDomeTourneyLineDown_Tilemap[]; +extern const u32 gDomeTourneyLineUp_Tilemap[]; +extern const u32 gDomeTourneyLineMask_Tilemap[]; +extern const u32 gDomeTourneyTreeButtons_Gfx[]; extern const u16 gTilesetAnims_BattleDomePals0_0[]; extern const u16 gTilesetAnims_BattleDomePals0_1[]; extern const u16 gTilesetAnims_BattleDomePals0_2[]; @@ -4134,6 +4137,9 @@ extern const u16 gTilesetAnims_BattleDomePals0_3[]; extern const u32 gBattleArenaJudgementSymbolsGfx[]; extern const u32 gBattleArenaJudgementSymbolsPalette[]; + +extern const u32 gBattleWindowTextPalette[]; + extern const u32 gContest2Pal[]; extern const u32 gBattleAnimSpriteGfx_Bone[]; @@ -4360,7 +4366,7 @@ extern const u32 gBattleAnimSpriteGfx_Pokeball[]; extern const u32 gBattleAnimSpriteGfx_Spotlight[]; extern const u32 gBattleAnimSpriteGfx_LetterZ[]; extern const u32 gBattleAnimSpriteGfx_RapidSpin[]; -extern const u32 gBattleAnimSpriteGfx_TriForceTriangle[]; +extern const u32 gBattleAnimSpriteGfx_TriAttackTriangle[]; extern const u32 gBattleAnimSpriteGfx_WispOrb[]; extern const u32 gBattleAnimSpriteGfx_WispFire[]; extern const u32 gBattleAnimSpriteGfx_GoldStars[]; @@ -4643,7 +4649,7 @@ extern const u32 gBattleAnimSpritePal_JaggedMusicNote[]; extern const u32 gBattleAnimSpritePal_Pokeball[]; extern const u32 gBattleAnimSpritePal_LetterZ[]; extern const u32 gBattleAnimSpritePal_RapidSpin[]; -extern const u32 gBattleAnimSpritePal_TriForceTriangle[]; +extern const u32 gBattleAnimSpritePal_TriAttackTriangle[]; extern const u32 gBattleAnimSpritePal_WispOrb[]; extern const u32 gBattleAnimSpritePal_GoldStars[]; extern const u32 gBattleAnimSpritePal_EclipsingOrb[]; @@ -4845,13 +4851,13 @@ extern const u32 gCableCarCord_Gfx[]; extern const u16 gCableCar_Pal[]; // Trade -extern const u16 gUnknown_08DDB3E4[]; -extern const u8 gUnknown_08DDB464[]; +extern const u16 gTradeMenu_Pal[]; +extern const u8 gTradeMenu_Gfx[]; extern const u16 gUnknown_08DDCF04[]; extern const u16 gTradeGba2_Pal[]; extern const u8 gTradeGba_Gfx[]; -extern const u16 gUnknown_08DDD704[]; -extern const u8 gUnknown_08DDC6E4[]; +extern const u16 gTradeMenuMonBox_Tilemap[]; +extern const u8 gTradeButtons_Gfx[]; extern const u16 gUnknown_08DDB444[]; // Party menu diff --git a/include/gym_leader_rematch.h b/include/gym_leader_rematch.h index 778d7a1e81..dd9ead8b7a 100644 --- a/include/gym_leader_rematch.h +++ b/include/gym_leader_rematch.h @@ -66,7 +66,7 @@ enum { REMATCH_TRENT, REMATCH_SAWYER, REMATCH_KIRA_AND_DAN, - REMATCH_WALLY_3, + REMATCH_WALLY_3, // Entries above WALLY are considered normal trainers, from Wally below are special trainers REMATCH_ROXANNE, REMATCH_BRAWLY, REMATCH_WATTSON, @@ -75,19 +75,17 @@ enum { REMATCH_WINONA, REMATCH_TATE_AND_LIZA, REMATCH_JUAN, - - // Entries below SIDNEY are considered part of REMATCH_ELITE_FOUR_ENTRIES. - REMATCH_SIDNEY, + REMATCH_SIDNEY, // Entries below SIDNEY are considered part of REMATCH_ELITE_FOUR_ENTRIES. REMATCH_PHOEBE, REMATCH_GLACIA, REMATCH_DRAKE, REMATCH_WALLACE, - - // The total number of rematch entries. This must be the last element - // in the enum. - REMATCH_TABLE_ENTRIES + REMATCH_TABLE_ENTRIES // The total number of rematch entries. Must be last in enum }; +#define REMATCH_SPECIAL_TRAINER_START REMATCH_WALLY_3 +#define REMATCH_ELITE_FOUR_ENTRIES REMATCH_SIDNEY + void UpdateGymLeaderRematch(void); #endif //GUARD_TRAINER_REMATCH_H diff --git a/include/hall_of_fame.h b/include/hall_of_fame.h index 5c8a01bcb6..a83fad2fc0 100644 --- a/include/hall_of_fame.h +++ b/include/hall_of_fame.h @@ -4,7 +4,7 @@ void CB2_DoHallOfFameScreen(void); void CB2_DoHallOfFameScreenDontSaveData(void); void CB2_DoHallOfFamePC(void); -void sub_8175280(void); +void DoConfettiEffect(void); // hof_pc.c void ReturnFromHallOfFamePC(void); diff --git a/include/image_processing_effects.h b/include/image_processing_effects.h new file mode 100755 index 0000000000..7f726707cd --- /dev/null +++ b/include/image_processing_effects.h @@ -0,0 +1,53 @@ +#ifndef GUARD_IMAGE_PROCESSING_EFFECTS_H +#define GUARD_IMAGE_PROCESSING_EFFECTS_H + +enum +{ + IMAGE_EFFECT_POINTILLISM = 2, + IMAGE_EFFECT_GRAYSCALE_LIGHT = 6, + IMAGE_EFFECT_BLUR = 8, + IMAGE_EFFECT_OUTLINE_COLORED = 9, + IMAGE_EFFECT_INVERT_BLACK_WHITE = 10, + IMAGE_EFFECT_THICK_BLACK_WHITE = 11, + IMAGE_EFFECT_SHIMMER = 13, + IMAGE_EFFECT_OUTLINE = 30, + IMAGE_EFFECT_INVERT = 31, + IMAGE_EFFECT_BLUR_RIGHT = 32, + IMAGE_EFFECT_BLUR_DOWN = 33, + IMAGE_EFFECT_CHARCOAL = 36, +}; + +enum +{ + QUANTIZE_EFFECT_STANDARD, + QUANTIZE_EFFECT_STANDARD_LIMITED_COLORS, + QUANTIZE_EFFECT_PRIMARY_COLORS, + QUANTIZE_EFFECT_GRAYSCALE, + QUANTIZE_EFFECT_GRAYSCALE_SMALL, + QUANTIZE_EFFECT_BLACK_WHITE, +}; + +struct ImageProcessingContext +{ + u8 effect; + void *canvasPixels; + u16 *canvasPalette; + u8 fillerC[0x4]; + void *dest; + u16 quantizeEffect; + u16 var_16; + u8 paletteStart; + u8 columnStart; + u8 rowStart; + u8 columnEnd; + u8 rowEnd; + u8 canvasWidth; + u8 canvasHeight; + u8 personality; +}; + +void ApplyImageProcessingEffects(struct ImageProcessingContext *); +void ApplyImageProcessingQuantization(struct ImageProcessingContext *); +void ConvertImageProcessingToGBA(struct ImageProcessingContext *); + +#endif diff --git a/include/item.h b/include/item.h index 881d3a3d46..87ff57bc79 100644 --- a/include/item.h +++ b/include/item.h @@ -1,26 +1,7 @@ #ifndef GUARD_ITEM_H #define GUARD_ITEM_H -// These constants are used in gItems -enum -{ - POCKET_NONE, - POCKET_ITEMS, - POCKET_POKE_BALLS, - POCKET_TM_HM, - POCKET_BERRIES, - POCKET_KEY_ITEMS, -}; - -enum -{ - ITEMS_POCKET, - BALLS_POCKET, - TMHM_POCKET, - BERRIES_POCKET, - KEYITEMS_POCKET, - POCKETS_COUNT -}; +#include "constants/item.h" typedef void (*ItemUseFunc)(u8); diff --git a/include/item_menu.h b/include/item_menu.h index b1275549da..089bff6cf3 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -71,10 +71,10 @@ extern u16 gSpecialVar_ItemId; void sub_81AAC14(void); void FavorLadyOpenBagMenu(void); void QuizLadyOpenBagMenu(void); -void sub_81AAC28(void); +void ApprenticeOpenBagMenu(void); void sub_81AABB0(void); void SetInitialScrollAndCursorPositions(u8 pocketId); -void bag_menu_mail_related(void); +void CB2_ReturnToBagMenuPocket(void); void CB2_BagMenuFromStartMenu(void); u8 GetItemListPosition(u8 pocketId); bool8 UseRegisteredKeyItemOnField(void); @@ -82,11 +82,15 @@ void CB2_GoToSellMenu(void); void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)()); void DoWallyTutorialBagMenu(void); void ResetBagScrollPositions(void); -void sub_81AABF0(void (*callback)(void)); +void ChooseBerrySetCallback(void (*callback)(void)); void CB2_ChooseBerry(void); -void unknown_ItemMenu_Confirm(u8 taskId); +void Task_FadeAndCloseBagMenu(u8 taskId); void BagMenu_YesNo(u8, u8, const struct YesNoFuncTable*); -void sub_81AB9A8(u8 pocketId); +void BagMenu_InitListsMenu(u8 taskId); +void UpdatePocketItemList(u8 pocketId); +void DisplayItemMessage(u8 taskId, u8 fontId, const u8 *str, void ( *callback)(u8 taskId)); +void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback); + #endif //GUARD_item_menu_H diff --git a/include/item_use.h b/include/item_use.h index 37343f6e7a..0cb76e7d41 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -3,27 +3,13 @@ void ItemUseOutOfBattle_Mail(u8); void ItemUseOutOfBattle_Bike(u8); -void ItemUseOnFieldCB_Bike(u8); void ItemUseOutOfBattle_Rod(u8); -void ItemUseOnFieldCB_Rod(u8); void ItemUseOutOfBattle_Itemfinder(u8); -void ItemUseOnFieldCB_Itemfinder(u8); -void RunItemfinderResults(u8); -void ExitItemfinder(u8); -bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *, u8); -void sub_80C9720(u8); -void sub_80C9838(u8, s16, s16); -u8 GetPlayerDirectionTowardsHiddenItem(s16, s16); -void SetPlayerDirectionTowardsItem(u8); -void DisplayItemRespondingMessageAndExitItemfinder(u8); -void RotatePlayerAndExitItemfinder(u8); void ItemUseOutOfBattle_PokeblockCase(u8); void ItemUseOutOfBattle_CoinCase(u8); void ItemUseOutOfBattle_PowderJar(u8); void ItemUseOutOfBattle_SSTicket(u8); -void sub_80C9D00(u8); void ItemUseOutOfBattle_WailmerPail(u8); -void sub_80C9D74(u8); void ItemUseOutOfBattle_Medicine(u8); void ItemUseOutOfBattle_ReduceEV(u8); void ItemUseOutOfBattle_SacredAsh(u8); @@ -31,25 +17,21 @@ void ItemUseOutOfBattle_PPRecovery(u8); void ItemUseOutOfBattle_PPUp(u8); void ItemUseOutOfBattle_RareCandy(u8); void ItemUseOutOfBattle_TMHM(u8); -void sub_80C9EE4(u8); -void sub_80C9F10(u8); -void sub_80C9F80(u8); -void sub_80C9FC0(u8); void ItemUseOutOfBattle_Repel(u8); -void ItemUseOutOfBattle_BlackWhiteFlute(u8); -void task08_080A1C44(u8); -u8 CanUseEscapeRopeOnCurrMap(void); void ItemUseOutOfBattle_EscapeRope(u8); +void ItemUseOutOfBattle_BlackWhiteFlute(u8); void ItemUseOutOfBattle_EvolutionStone(u8); +void ItemUseOutOfBattle_Berry(u8); +void ItemUseOutOfBattle_EnigmaBerry(u8); +void ItemUseOutOfBattle_CannotUse(u8); void ItemUseInBattle_PokeBall(u8); void ItemUseInBattle_StatIncrease(u8); void ItemUseInBattle_Medicine(u8); void ItemUseInBattle_PPRecovery(u8); void ItemUseInBattle_Escape(u8); -void ItemUseOutOfBattle_EnigmaBerry(u8); void ItemUseInBattle_EnigmaBerry(u8); -void ItemUseOutOfBattle_CannotUse(u8); +void Task_UseDigEscapeRopeOnField(u8 taskId); +u8 CanUseEscapeRopeOnCurrMap(void); u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId); -void sub_80FDD10(u8); #endif // GUARD_ITEM_USE_H diff --git a/include/librfu.h b/include/librfu.h index 38c8198355..55b5d264cc 100644 --- a/include/librfu.h +++ b/include/librfu.h @@ -76,10 +76,10 @@ struct UnkLinkRfuStruct_02022B14Substruct u16 unk_00_4:1; u16 unk_00_5:1; u16 unk_00_6:1; - u16 unk_00_7:1; - u16 unk_01_0:1; - u16 unk_01_1:1; - u16 unk_01_2:4; + u16 isChampion:1; + u16 hasNationalDex:1; + u16 gameClear:1; // never read, redundant with isChampion + u16 unk_01_2:4; // always 3? u16 unk_01_6:2; u8 playerTrainerId[2]; }; @@ -93,7 +93,7 @@ struct __attribute__((packed, aligned(2))) UnkLinkRfuStruct_02022B14 u8 unk_0a_0:7; u8 unk_0a_7:1; u8 playerGender:1; - u8 unk_0b_1:7; + u8 level:7; u8 unk_0c; }; diff --git a/include/link.h b/include/link.h index c140840666..f41161d233 100644 --- a/include/link.h +++ b/include/link.h @@ -48,20 +48,52 @@ #define EXTRACT_LINK_ERRORS(status) \ (((status) & LINK_STAT_ERRORS) >> LINK_STAT_ERRORS_SHIFT) -#define LINKCMD_SEND_LINK_TYPE 0x2222 -#define LINKCMD_0x2FFE 0x2FFE -#define LINKCMD_SEND_HELD_KEYS 0x4444 -#define LINKCMD_0x5555 0x5555 -#define LINKCMD_0x5566 0x5566 -#define LINKCMD_0x5FFF 0x5FFF -#define LINKCMD_0x6666 0x6666 -#define LINKCMD_0x7777 0x7777 -#define LINKCMD_CONT_BLOCK 0x8888 -#define LINKCMD_0xAAAA 0xAAAA -#define LINKCMD_0xAAAB 0xAAAB -#define LINKCMD_INIT_BLOCK 0xBBBB -#define LINKCMD_SEND_HELD_KEYS_2 0xCAFE -#define LINKCMD_0xCCCC 0xCCCC +#define LINKCMD_SEND_LINK_TYPE 0x2222 +#define LINKCMD_0x2FFE 0x2FFE +#define LINKCMD_SEND_HELD_KEYS 0x4444 +#define LINKCMD_0x5555 0x5555 +#define LINKCMD_0x5566 0x5566 +#define LINKCMD_0x5FFF 0x5FFF +#define LINKCMD_0x6666 0x6666 +#define LINKCMD_0x7777 0x7777 +#define LINKCMD_CONT_BLOCK 0x8888 +#define LINKCMD_0xAAAA 0xAAAA +#define LINKCMD_0xAAAB 0xAAAB +#define LINKCMD_READY_TO_TRADE 0xAABB +#define LINKCMD_READY_FINISH_TRADE 0xABCD +#define LINKCMD_INIT_BLOCK 0xBBBB +#define LINKCMD_READY_CANCEL_TRADE 0xBBCC +#define LINKCMD_SEND_HELD_KEYS_2 0xCAFE +#define LINKCMD_0xCCCC 0xCCCC +#define LINKCMD_START_TRADE 0xCCDD +#define LINKCMD_CONFIRM_FINISH_TRADE 0xDCBA +#define LINKCMD_SET_MONS_TO_TRADE 0xDDDD +#define LINKCMD_0xDDEE 0xDDEE +#define LINKCMD_REQUEST_CANCEL 0xEEAA +#define LINKCMD_CANCEL_TRADE 0xEEBB +#define LINKCMD_0xEECC 0xEECC + +#define LINKTYPE_0x1111 0x1111 // trade +#define LINKTYPE_0x1122 0x1122 // trade +#define LINKTYPE_0x1133 0x1133 // trade +#define LINKTYPE_0x1144 0x1144 // trade +#define LINKTYPE_BATTLE 0x2211 +#define LINKTYPE_0x2222 0x2222 // unused battle? +#define LINKTYPE_SINGLE_BATTLE 0x2233 +#define LINKTYPE_DOUBLE_BATTLE 0x2244 +#define LINKTYPE_MULTI_BATTLE 0x2255 +#define LINKTYPE_BATTLE_TOWER_50 0x2266 +#define LINKTYPE_BATTLE_TOWER_OPEN 0x2277 +#define LINKTYPE_BATTLE_TOWER 0x2288 +#define LINKTYPE_0x3311 0x3311 +#define LINKTYPE_0x3322 0x3322 +#define LINKTYPE_BERRY_BLENDER_SETUP 0x4411 +#define LINKTYPE_BERRY_BLENDER 0x4422 +#define LINKTYPE_0x5501 0x5501 // mystery event +#define LINKTYPE_0x5502 0x5502 // unused? +#define LINKTYPE_0x5503 0x5503 // eReader +#define LINKTYPE_CONTEST_GMODE 0x6601 +#define LINKTYPE_CONTEST_EMODE 0x6602 struct LinkStatus { @@ -95,8 +127,8 @@ enum EXCHANGE_COMPLETE, EXCHANGE_TIMED_OUT, EXCHANGE_IN_PROGRESS, - EXCHANGE_STAT_4, - EXCHANGE_STAT_5, + EXCHANGE_PLAYER_NOT_READY, + EXCHANGE_PARTNER_NOT_READY, EXCHANGE_STAT_6, EXCHANGE_STAT_7 }; @@ -120,7 +152,10 @@ struct LinkPlayer /* 0x00 */ u16 version; /* 0x02 */ u16 lp_field_2; /* 0x04 */ u32 trainerId; - /* 0x08 */ u8 name[11]; + /* 0x08 */ u8 name[PLAYER_NAME_LENGTH + 1]; + /* 0x10 */ u8 progressFlags; // (& 0x0F) is hasNationalDex, (& 0xF0) is hasClearedGame + /* 0x11 */ u8 neverRead; + /* 0x12 */ u8 progressFlagsCopy; /* 0x13 */ u8 gender; /* 0x14 */ u32 linkType; /* 0x18 */ u16 id; // battler id in battles @@ -255,7 +290,7 @@ void sub_800AF18(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 un void sub_800B348(void); void sub_800B3A4(u32 who); bool32 sub_800A07C(void); -void sub_800AB98(void); +void ResetLinkPlayerCount(void); void sub_800AA04(u8 a0); void sub_800B4C0(void); bool32 sub_800B504(void); diff --git a/include/link_rfu.h b/include/link_rfu.h index d6e1009e1a..533e515c5f 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -128,7 +128,7 @@ struct UnkRfuStruct_Sub_Unused struct UnkRfuStruct_2 { - /* 0x000 */ void (*unk_00)(void); + /* 0x000 */ void (*linkRfuCallback)(void); /* 0x004 */ u16 unk_04; /* 0x006 */ u8 filler_06[4]; /* 0x00a */ u16 unk_0a; @@ -224,11 +224,11 @@ void sub_800F804(void); void sub_800F850(void); u8 sub_800FCD8(void); bool32 sub_800FE84(const u8 *src, size_t size); -void Rfu_set_zero(void); +void ClearLinkRfuCallback(void); u8 sub_80104F4(void); u8 rfu_get_multiplayer_id(void); bool8 sub_8010100(u8 a0); -bool8 sub_8010500(void); +bool8 IsLinkRfuTaskFinished(void); bool8 Rfu_IsMaster(void); void task_add_05_task_del_08FA224_when_no_RfuFunc(void); void sub_8010434(void); diff --git a/include/match_call.h b/include/match_call.h index 52eab63ec0..8214e03b7b 100644 --- a/include/match_call.h +++ b/include/match_call.h @@ -15,7 +15,7 @@ void InitMatchCallCounters(void); bool32 TryStartMatchCall(void); bool32 IsMatchCallTaskActive(void); void StartMatchCallFromScript(u8 *message); -void sub_8197080(u8 *destStr); +void BufferPokedexRatingForMatchCall(u8 *destStr); bool32 SelectMatchCallMessage(int, u8 *); void sub_8197184(u32 windowId, u32 destOffset, u32 paletteId); void sub_81971C4(u32 windowId, u32 tileOffset, u32 paletteId); diff --git a/include/mauville_old_man.h b/include/mauville_old_man.h index 9d71e81aa5..3845ac2902 100644 --- a/include/mauville_old_man.h +++ b/include/mauville_old_man.h @@ -1,16 +1,6 @@ - #ifndef GUARD_MAUVILLE_OLD_MAN_H #define GUARD_MAUVILLE_OLD_MAN_H -enum MauvilleOldManType -{ - MAUVILLE_MAN_BARD, - MAUVILLE_MAN_HIPSTER, - MAUVILLE_MAN_TRADER, - MAUVILLE_MAN_STORYTELLER, - MAUVILLE_MAN_GIDDY -}; - extern struct BardSong gBardSong; void SetMauvilleOldMan(void); diff --git a/include/menu.h b/include/menu.h index 62e2558dc1..56865bcd9d 100644 --- a/include/menu.h +++ b/include/menu.h @@ -1,4 +1,3 @@ - #ifndef GUARD_MENU_H #define GUARD_MENU_H @@ -29,7 +28,6 @@ void DrawDialogueFrame(u8 windowId, bool8 copyToVram); void ClearStdWindowAndFrame(u8 windowId, bool8 copyToVram); u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 fgColor, u8 bgColor, u8 shadowColor); void PrintPlayerNameOnWindow(u8, const u8*, u16, u16); -void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback); void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram); void SetStandardWindowBorderStyle(u8 windowId, bool8 copyToVram); void DisplayYesNoMenuDefaultYes(void); @@ -87,7 +85,7 @@ void RemoveMapNamePopUpWindow(void); u8 GetMapNamePopUpWindowId(void); u8 AddMapNamePopUpWindow(void); void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 letterSpacing, u8 lineSpacing); -void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); +void SetBgTilemapPalette(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP); void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyToVram); void sub_8197AE8(bool8 copyToVram); @@ -95,7 +93,7 @@ void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 columns, u8 rows, const s8 Menu_ProcessInputGridLayout(void); u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, bool8 APressMuted); s8 Menu_ProcessInputNoWrapAround_other(void); -void sub_8199CBC(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height); +void CopyToBufferFromBgTilemap(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height); u8 sub_81980F0(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile); void sub_8198314(void); void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram); diff --git a/include/menu_helpers.h b/include/menu_helpers.h index 3b6c13172c..442f4a063f 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -4,6 +4,9 @@ #include "task.h" #include "window.h" +#define MENU_L_PRESSED 1 +#define MENU_R_PRESSED 2 + // Exported type declarations struct YesNoFuncTable @@ -23,8 +26,8 @@ bool16 RunTextPrintersRetIsActive(u8 textPrinterId); void DoYesNoFuncWithChoice(u8 taskId, const struct YesNoFuncTable *data); void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 arg2, u8 arg3, u8 arg4, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo); bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1); -u8 GetLRKeysState(void); -u8 sub_812210C(void); +u8 GetLRKeysPressed(void); +u8 GetLRKeysPressedAndHeld(void); bool8 sub_8122148(u16 itemId); bool8 itemid_80BF6D8_mail_related(u16 itemId); bool8 sub_81221AC(void); diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h index 7fd1d13018..b5dae6de09 100644 --- a/include/metatile_behavior.h +++ b/include/metatile_behavior.h @@ -107,7 +107,7 @@ bool8 MetatileBehavior_IsPacifidlogLog(u8); bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8); bool8 MetatileBehavior_IsRegionMap(u8); bool8 MetatileBehavior_IsClosedSootopolisDoor(u8); -bool8 MetatileBehavior_IsUnknownClosedDoor(u8); +bool8 MetatileBehavior_IsSkyPillarClosedDoor(u8); bool8 MetatileBehavior_IsRoulette(u8); bool8 MetatileBehavior_IsPokeblockFeeder(u8); bool8 MetatileBehavior_IsSecretBaseJumpMat(u8); diff --git a/include/mon_markings.h b/include/mon_markings.h index 8e4ec58bd1..241b31e014 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/mossdeep_gym.h b/include/mossdeep_gym.h deleted file mode 100644 index c167300947..0000000000 --- a/include/mossdeep_gym.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef GUARD_MOSSDEEP_GYM_H -#define GUARD_MOSSDEEP_GYM_H - -void InitMossdeepGymTiles(bool8 arg0); -void FinishMossdeepGymTiles(void); -u16 MossdeepGym_MoveEvents(u8 arg0); -void MossdeepGym_TurnEvents(void); - -#endif // GUARD_MOSSDEEP_GYM_H diff --git a/include/naming_screen.h b/include/naming_screen.h index 611f53ef2e..7d32abcd31 100644 --- a/include/naming_screen.h +++ b/include/naming_screen.h @@ -9,6 +9,16 @@ #define KBEVENT_PRESSED_SELECT 8 #define KBEVENT_PRESSED_START 9 +#define KBROW_COUNT 4 + +enum +{ + KBPAGE_LETTERS_LOWER, + KBPAGE_LETTERS_UPPER, + KBPAGE_SYMBOLS, + KBPAGE_COUNT, +}; + enum { NAMING_SCREEN_PLAYER, @@ -57,12 +67,6 @@ struct NamingScreenData { /*0x1E3C*/ MainCallback returnCallback; }; -enum -{ - PAGE_OTHERS, - PAGE_UPPER, - PAGE_LOWER, -}; enum { diff --git a/include/overworld.h b/include/overworld.h index b860677014..ac916feb19 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -136,7 +136,7 @@ void CB2_NewGame(void); void CB2_WhiteOut(void); void CB2_LoadMap(void); void sub_8086024(void); -void sub_8086074(void); +void CB2_ReturnToFieldCableClub(void); void CB2_ReturnToField(void); void CB2_ReturnToFieldLocal(void); void CB2_ReturnToFieldLink(void); diff --git a/include/party_menu.h b/include/party_menu.h index c9843e484d..126931762a 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -4,112 +4,90 @@ #include "main.h" #include "task.h" -enum -{ - AILMENT_NONE, - AILMENT_PSN, - AILMENT_PRZ, - AILMENT_SLP, - AILMENT_FRZ, - AILMENT_BRN, - AILMENT_PKRS, - AILMENT_FNT -}; - -enum -{ - PARTY_CHOOSE_MON, - PARTY_MUST_CHOOSE_MON, - PARTY_CANT_SWITCH, - PARTY_USE_ITEM_ON, - PARTY_ABILITY_PREVENTS, - PARTY_GIVE_ITEM, -}; - -struct Struct203CEC8 +// seems like the last two fields may have been left as all-purpose vars +// and the second of the two just happens to only be used in one case +struct PartyMenu { MainCallback exitCallback; - TaskFunc unk4; - u8 unk8_0:4; - u8 mode:2; - u8 unk8_2:2; + TaskFunc task; + u8 menuType:4; + u8 layout:2; s8 slotId; - s8 unkA; - u8 unkB; - u16 unkC; - s16 unkE; - s16 unk10; + s8 slotId2; + u8 action; + u16 bagItem; + s16 data1; // used variously as a moveId, counter, moveSlotId, or cursorPos + s16 learnMoveState; // data2, used only as a learn move state }; -extern struct Struct203CEC8 gUnknown_0203CEC8; -extern u8 gUnknown_0203CEE8; -extern u8 gUnknown_0203CEE9; +extern struct PartyMenu gPartyMenu; +extern bool8 gPartyMenuUseExitCallback; +extern u8 gSelectedMonPartyId; extern MainCallback gPostMenuFieldCallback; extern u8 gSelectedOrderFromParty[4]; -extern u8 gUnknown_0203CF00[3]; +extern u8 gBattlePartyCurrentOrder[3]; -extern void (*gUnknown_03006328)(u8, TaskFunc); +extern void (*gItemUseCB)(u8, TaskFunc); extern const u16 gTutorMoves[]; -void sub_81B0FCC(u8 slot, u8 b); +void AnimatePartySlot(u8 slot, u8 animNum); bool8 IsMultiBattle(void); u8 GetCursorSelectionMonId(void); -u8 sub_81B1360(void); -void sub_81B1370(u8 taskId); +u8 GetPartyMenuType(void); +void Task_HandleChooseMonInput(u8 taskId); u8* GetMonNickname(struct Pokemon *mon, u8 *dest); -u8 sub_81B1B5C(const u8* str, u8 b); -bool8 sub_81B1BD4(void); -void sub_81B1F18(u8 taskId, u8 slot, s8 c, s16 HPDifference, TaskFunc func); -u8 pokemon_ailments_get_primary(u32 status); +u8 DisplayPartyMenuMessage(const u8* str, bool8 keepOpen); +bool8 IsPartyMenuTextPrinterActive(void); +void PartyMenuModifyHP(u8 taskId, u8 slot, s8 hpIncrement, s16 HPDifference, TaskFunc task); +u8 GetAilmentFromStatus(u32 status); u8 GetMonAilment(struct Pokemon *mon); -void display_pokemon_menu_message(u32 stringID); -void sub_81B47E0(u8 taskId); +void DisplayPartyMenuStdMessage(u32 stringId); bool8 FieldCallback_PrepareFadeInFromMenu(void); -void sub_81B58A8(void); +void CB2_ReturnToPartyMenuFromFlyMap(void); void LoadHeldItemIcons(void); -void sub_81B5D4C(u8 *a, u8 *b, u8 c); -void sub_81B617C(void); +void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 whichParty); +void CB2_ShowPartyMenuForItemUse(void); void ItemUseCB_Medicine(u8 taskId, TaskFunc task); -void sub_81B67C8(u8 taskId, TaskFunc task); -void dp05_ether(u8 taskId, TaskFunc task); -void dp05_pp_up(u8 taskId, TaskFunc task); +void ItemUseCB_ReduceEV(u8 taskId, TaskFunc task); +void ItemUseCB_PPRecovery(u8 taskId, TaskFunc task); +void ItemUseCB_PPUp(u8 taskId, TaskFunc task); u16 ItemIdToBattleMoveId(u16 item); bool8 IsMoveHm(u16 move); bool8 MonKnowsMove(struct Pokemon *mon, u16 move); -void sub_81B6DC4(u8 taskId, TaskFunc task); -void dp05_rare_candy(u8 taskId, TaskFunc task); -void sub_81B79E8(u8 taskId, TaskFunc task); -void sub_81B7C74(u8 taskId, TaskFunc task); +void ItemUseCB_TMHM(u8 taskId, TaskFunc task); +void ItemUseCB_RareCandy(u8 taskId, TaskFunc task); +void ItemUseCB_SacredAsh(u8 taskId, TaskFunc task); +void ItemUseCB_EvolutionStone(u8 taskId, TaskFunc task); u8 GetItemEffectType(u16 item); void CB2_PartyMenuFromStartMenu(void); -void sub_81B7F60(void); -void sub_81B8448(void); +void CB2_ChooseMonToGiveItem(void); +void ChooseMonToGiveMailFromMailbox(void); void InitChooseHalfPartyForBattle(u8 unused); -void sub_81B8558(void); -void sub_81B8904(u8 initArg, MainCallback callback); -void sub_81B892C(void); -void sub_81B8958(void); -void OpenPartyMenuInBattle(u8 arg); -void sub_81B89F0(void); -void sub_81B8C68(void); -void sub_81B8D64(u8 battlerId, u8 multiplayerFlag); -void sub_81B8E80(u8 battlerId, u8 unk, u8 arrayIndex); -void sub_81B8FB0(u8 slot, u8 slot2); -u8 pokemon_order_func(u8 slot); -void sub_81B9150(void); -void sub_81B9328(void); -bool8 hm_add_c3_without_phase_2(void); -void sub_81B9404(void); -void sub_81B94B0(void); -void sub_81B951C(void); -void sub_81B9620(void); -void sub_81B95E0(void); -void sub_81B98DC(void); -void sub_81B9918(void); -void sub_81B9770(void); -void sub_81B9718(void); -void sub_81B96D0(void); -void sub_81B968C(void); +void ClearSelectedPartyOrder(void); +void ChooseMonForTradingBoard(u8 menuType, MainCallback callback); +void ChooseMonForMoveTutor(void); +void ChooseMonForWirelessMinigame(void); +void OpenPartyMenuInBattle(u8 partyAction); +void ChooseMonForInBattleItem(void); +void BufferBattlePartyCurrentOrder(void); +void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId); +void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 arrayIndex); +void SwitchPartyMonSlots(u8 slot, u8 slot2); +u8 GetPartyIdFromBattlePartyId(u8 slot); +void ShowPartyMenuToShowcaseMultiBattleParty(void); +void ChooseMonForDaycare(void); +bool8 CB2_FadeFromPartyMenu(void); +void ChooseContestMon(void); +void ChoosePartyMon(void); +void ChooseMonForMoveRelearner(void); +void BattlePyramidChooseMonHeldItems(void); +void DoBattlePyramidMonsHaveHeldItem(void); +void IsSelectedMonEgg(void); +void IsLastMonThatKnowsSurf(void); +void MoveDeleterForgetMove(void); +void BufferMoveDeleterNicknameAndMove(void); +void GetNumMovesSelectedMonHas(void); +void MoveDeleterChooseMoveToForget(void); #endif // GUARD_PARTY_MENU_H diff --git a/include/pokeball.h b/include/pokeball.h index 8e1d8b8ecb..12b9b1eff8 100644 --- a/include/pokeball.h +++ b/include/pokeball.h @@ -25,7 +25,7 @@ extern const struct SpriteTemplate gBallSpriteTemplates[]; u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow); void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 battler, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h, u16 species); -u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h); +u8 CreateTradePokeballSprite(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h); void sub_8076918(u8 battler); void DoHitAnimHealthboxEffect(u8 battler); void LoadBallGfx(u8 ballId); diff --git a/include/pokemon.h b/include/pokemon.h index ec125573c1..2e28ae0f55 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -4,136 +4,6 @@ #include "constants/pokemon.h" #include "sprite.h" -#define MON_DATA_PERSONALITY 0 -#define MON_DATA_OT_ID 1 -#define MON_DATA_NICKNAME 2 -#define MON_DATA_LANGUAGE 3 -#define MON_DATA_SANITY_IS_BAD_EGG 4 -#define MON_DATA_SANITY_HAS_SPECIES 5 -#define MON_DATA_SANITY_IS_EGG 6 -#define MON_DATA_OT_NAME 7 -#define MON_DATA_MARKINGS 8 -#define MON_DATA_CHECKSUM 9 -#define MON_DATA_ENCRYPT_SEPARATOR 10 -#define MON_DATA_SPECIES 11 -#define MON_DATA_HELD_ITEM 12 -#define MON_DATA_MOVE1 13 -#define MON_DATA_MOVE2 14 -#define MON_DATA_MOVE3 15 -#define MON_DATA_MOVE4 16 -#define MON_DATA_PP1 17 -#define MON_DATA_PP2 18 -#define MON_DATA_PP3 19 -#define MON_DATA_PP4 20 -#define MON_DATA_PP_BONUSES 21 -#define MON_DATA_COOL 22 -#define MON_DATA_BEAUTY 23 -#define MON_DATA_CUTE 24 -#define MON_DATA_EXP 25 -#define MON_DATA_HP_EV 26 -#define MON_DATA_ATK_EV 27 -#define MON_DATA_DEF_EV 28 -#define MON_DATA_SPEED_EV 29 -#define MON_DATA_SPATK_EV 30 -#define MON_DATA_SPDEF_EV 31 -#define MON_DATA_FRIENDSHIP 32 -#define MON_DATA_SMART 33 -#define MON_DATA_POKERUS 34 -#define MON_DATA_MET_LOCATION 35 -#define MON_DATA_MET_LEVEL 36 -#define MON_DATA_MET_GAME 37 -#define MON_DATA_POKEBALL 38 -#define MON_DATA_HP_IV 39 -#define MON_DATA_ATK_IV 40 -#define MON_DATA_DEF_IV 41 -#define MON_DATA_SPEED_IV 42 -#define MON_DATA_SPATK_IV 43 -#define MON_DATA_SPDEF_IV 44 -#define MON_DATA_IS_EGG 45 -#define MON_DATA_ABILITY_NUM 46 -#define MON_DATA_TOUGH 47 -#define MON_DATA_SHEEN 48 -#define MON_DATA_OT_GENDER 49 -#define MON_DATA_COOL_RIBBON 50 -#define MON_DATA_BEAUTY_RIBBON 51 -#define MON_DATA_CUTE_RIBBON 52 -#define MON_DATA_SMART_RIBBON 53 -#define MON_DATA_TOUGH_RIBBON 54 -#define MON_DATA_STATUS 55 -#define MON_DATA_LEVEL 56 -#define MON_DATA_HP 57 -#define MON_DATA_MAX_HP 58 -#define MON_DATA_ATK 59 -#define MON_DATA_DEF 60 -#define MON_DATA_SPEED 61 -#define MON_DATA_SPATK 62 -#define MON_DATA_SPDEF 63 -#define MON_DATA_MAIL 64 -#define MON_DATA_SPECIES2 65 -#define MON_DATA_IVS 66 -#define MON_DATA_CHAMPION_RIBBON 67 -#define MON_DATA_WINNING_RIBBON 68 -#define MON_DATA_VICTORY_RIBBON 69 -#define MON_DATA_ARTIST_RIBBON 70 -#define MON_DATA_EFFORT_RIBBON 71 -#define MON_DATA_GIFT_RIBBON_1 72 -#define MON_DATA_GIFT_RIBBON_2 73 -#define MON_DATA_GIFT_RIBBON_3 74 -#define MON_DATA_GIFT_RIBBON_4 75 -#define MON_DATA_GIFT_RIBBON_5 76 -#define MON_DATA_GIFT_RIBBON_6 77 -#define MON_DATA_GIFT_RIBBON_7 78 -#define MON_DATA_FATEFUL_ENCOUNTER 79 -#define MON_DATA_OBEDIENCE 80 -#define MON_DATA_KNOWN_MOVES 81 -#define MON_DATA_RIBBON_COUNT 82 -#define MON_DATA_RIBBONS 83 -#define MON_DATA_ATK2 84 -#define MON_DATA_DEF2 85 -#define MON_DATA_SPEED2 86 -#define MON_DATA_SPATK2 87 -#define MON_DATA_SPDEF2 88 - -#define MAX_LEVEL 100 - -#define OT_ID_RANDOM_NO_SHINY 2 -#define OT_ID_PRESET 1 -#define OT_ID_PLAYER_ID 0 - -#define MON_GIVEN_TO_PARTY 0x0 -#define MON_GIVEN_TO_PC 0x1 -#define MON_CANT_GIVE 0x2 - -#define PLAYER_HAS_TWO_USABLE_MONS 0x0 -#define PLAYER_HAS_ONE_MON 0x1 -#define PLAYER_HAS_ONE_USABLE_MON 0x2 - -#define MON_MALE 0x00 -#define MON_FEMALE 0xFE -#define MON_GENDERLESS 0xFF - -#define FRIENDSHIP_EVENT_GROW_LEVEL 0x0 -#define FRIENDSHIP_EVENT_VITAMIN 0x1 // unused -#define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2 // unused -#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 0x3 -#define FRIENDSHIP_EVENT_LEARN_TMHM 0x4 -#define FRIENDSHIP_EVENT_WALKING 0x5 -#define FRIENDSHIP_EVENT_FAINT_SMALL 0x6 -#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 0x7 -#define FRIENDSHIP_EVENT_FAINT_LARGE 0x8 - -#define STATUS_PRIMARY_NONE 0x0 -#define STATUS_PRIMARY_POISON 0x1 -#define STATUS_PRIMARY_PARALYSIS 0x2 -#define STATUS_PRIMARY_SLEEP 0x3 -#define STATUS_PRIMARY_FREEZE 0x4 -#define STATUS_PRIMARY_BURN 0x5 -#define STATUS_PRIMARY_POKERUS 0x6 -#define STATUS_PRIMARY_FAINTED 0x7 - -#define MAX_TOTAL_EVS 510 -#define UNOWN_FORM_COUNT 28 - struct PokemonSubstruct0 { u16 species; @@ -145,8 +15,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 +143,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 +157,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; @@ -348,13 +218,6 @@ struct BattleMove u8 flags; }; -#define FLAG_MAKES_CONTACT 0x1 -#define FLAG_PROTECT_AFFECTED 0x2 -#define FLAG_MAGICCOAT_AFFECTED 0x4 -#define FLAG_SNATCH_AFFECTED 0x8 -#define FLAG_MIRROR_MOVE_AFFECTED 0x10 -#define FLAG_KINGSROCK_AFFECTED 0x20 - struct SpindaSpot { u8 x, y; @@ -367,46 +230,6 @@ struct __attribute__((packed)) LevelUpMove u16 level:7; }; -enum -{ - GROWTH_MEDIUM_FAST, - GROWTH_ERRATIC, - GROWTH_FLUCTUATING, - GROWTH_MEDIUM_SLOW, - GROWTH_FAST, - GROWTH_SLOW -}; - -enum -{ - BODY_COLOR_RED, - BODY_COLOR_BLUE, - BODY_COLOR_YELLOW, - BODY_COLOR_GREEN, - BODY_COLOR_BLACK, - BODY_COLOR_BROWN, - BODY_COLOR_PURPLE, - BODY_COLOR_GRAY, - BODY_COLOR_WHITE, - BODY_COLOR_PINK -}; - -#define EVO_FRIENDSHIP 0x0001 // Pokémon levels up with friendship ≥ 220 -#define EVO_FRIENDSHIP_DAY 0x0002 // Pokémon levels up during the day with friendship ≥ 220 -#define EVO_FRIENDSHIP_NIGHT 0x0003 // Pokémon levels up at night with friendship ≥ 220 -#define EVO_LEVEL 0x0004 // Pokémon reaches the specified level -#define EVO_TRADE 0x0005 // Pokémon is traded -#define EVO_TRADE_ITEM 0x0006 // Pokémon is traded while it's holding the specified item -#define EVO_ITEM 0x0007 // specified item is used on Pokémon -#define EVO_LEVEL_ATK_GT_DEF 0x0008 // Pokémon reaches the specified level with attack > defense -#define EVO_LEVEL_ATK_EQ_DEF 0x0009 // Pokémon reaches the specified level with attack = defense -#define EVO_LEVEL_ATK_LT_DEF 0x000a // Pokémon reaches the specified level with attack < defense -#define EVO_LEVEL_SILCOON 0x000b // Pokémon reaches the specified level with a Silcoon personality value -#define EVO_LEVEL_CASCOON 0x000c // Pokémon reaches the specified level with a Cascoon personality value -#define EVO_LEVEL_NINJASK 0x000d // Pokémon reaches the specified level (special value for Ninjask) -#define EVO_LEVEL_SHEDINJA 0x000e // Pokémon reaches the specified level (special value for Shedinja) -#define EVO_BEAUTY 0x000f // Pokémon levels up with beauty ≥ specified value - struct Evolution { u16 method; @@ -414,8 +237,6 @@ struct Evolution u16 targetSpecies; }; -#define EVOS_PER_MON 5 - extern u8 gPlayerPartyCount; extern struct Pokemon gPlayerParty[PARTY_SIZE]; extern u8 gEnemyPartyCount; @@ -466,7 +287,6 @@ void BoxMonToMon(const struct BoxPokemon *src, struct Pokemon *dest); u8 GetLevelFromMonExp(struct Pokemon *mon); u8 GetLevelFromBoxMonExp(struct BoxPokemon *boxMon); u16 GiveMoveToMon(struct Pokemon *mon, u16 move); -u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move); void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot); void SetBattleMonMoveSlot(struct BattlePokemon *mon, u16 move, u8 slot); @@ -522,7 +342,7 @@ bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex, u8 e); bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battlerId); u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit); -u8 *sub_806CF78(u16 itemId); +u8 *UseStatIncreaseItem(u16 itemId); u8 GetNature(struct Pokemon *mon); u8 GetNatureFromPersonality(u32 personality); u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem); @@ -536,8 +356,8 @@ u16 SpeciesToCryId(u16 species); void sub_806D544(u16 species, u32 personality, u8 *dest); void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, u8 a4); void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies); -bool8 sub_806D7EC(void); -bool16 GetLinkTrainerFlankId(u8 id); +u8 GetPlayerFlankId(void); +u16 GetLinkTrainerFlankId(u8 id); s32 GetBattlerMultiplayerId(u16 a1); u8 GetTrainerEncounterMusicId(u16 trainerOpponentId); u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex); diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 8af43c7535..dbd7f2895f 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -16,13 +16,13 @@ void LoadMonIconPalette(u16 species); void FreeMonIconPalettes(void); u8 sub_80D2D78(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, bool32 extra); void FreeMonIconPalette(u16 species); -void sub_80D2EF8(struct Sprite *sprite); +void FreeAndDestroyMonIconSprite(struct Sprite *sprite); u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality, bool32 extra); u8 UpdateMonIconFrame(struct Sprite *sprite); void LoadMonIconPalette(u16 species); void sub_80D328C(struct Sprite *sprite); -void sub_80D3014(struct Sprite *sprite); -void sub_80D32C8(struct Sprite *sprite, u8 animNum); +void SpriteCB_MonIcon(struct Sprite *sprite); +void SetPartyHPBarSprite(struct Sprite *sprite, u8 animNum); u8 GetMonIconPaletteIndexFromSpecies(u16 species); #endif // GUARD_POKEMON_ICON_H diff --git a/include/pokemon_jump.h b/include/pokemon_jump.h index 28b19f9b14..dde59aac5a 100644 --- a/include/pokemon_jump.h +++ b/include/pokemon_jump.h @@ -4,10 +4,10 @@ #include "main.h" void sub_802A9A8(u16 monId, MainCallback callback); -bool32 sub_802C908(u16 species); -void sub_802C920(void); +bool32 IsSpeciesAllowedInPokemonJump(u16 species); +void IsPokemonJumpSpeciesInParty(void); void ResetPokeJumpResults(void); -void sub_802E3C4(void); +void ShowPokemonJumpRecords(void); void sub_802EB24(s16 tileTag, s16 palTag, s16 x, s16 y, u8 subpriority); bool32 sub_802EB84(void); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 4c319e59d0..7b6a386780 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -25,7 +25,7 @@ struct PokemonStorage extern struct PokemonStorage *gPokemonStoragePtr; -void sub_80C6D80(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 arg4); +void DrawTextWindowAndBufferTiles(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 bytesToBuffer); u8 CountMonsInBox(u8 boxId); s16 GetFirstFreeBoxSpot(u8 boxId); u8 CountPartyAliveNonEggMonsExcept(u8 slotToIgnore); diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 20d881702a..07d541cac4 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -9,10 +9,9 @@ extern const u8 *const gMoveDescriptionPointers[]; extern const u8 *const gNatureNamePointers[]; void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); -void sub_81C4F98(u8, void(*)(void)); void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16); void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); -u8 sub_81C1B94(void); +u8 GetMoveSlotToReplace(void); void SummaryScreen_SetUnknownTaskId(u8 a0); void SummaryScreen_DestroyUnknownTask(void); diff --git a/include/pokenav.h b/include/pokenav.h index b1c3287f1f..f12469e714 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -11,7 +11,36 @@ struct PokenavMonList { u8 boxId; u8 monId; + u16 data; +}; + +struct PokenavMatchCallEntries +{ + bool8 isSpecialTrainer; + u8 mapSec; + u16 headerId; +}; + +struct PokenavListTemplate +{ + union { + struct PokenavMonList *monList; + struct PokenavMatchCallEntries *matchCallEntries; + } list; + u16 unk4; u16 unk6; + u8 unk8; + u8 unk9; + u8 unkA; + u8 unkB; + u8 unkC; + u8 unkD; + u8 unkE; + union { + void (*unk10_1)(struct PokenavMonList *, u8 *a1); + void (*unk10_2)(struct PokenavMatchCallEntries *, u8 *a1); + } listFunc; + void (*unk14)(u16 a0, u32 a1, u32 a2); }; struct PokenavSub18 @@ -31,9 +60,9 @@ struct PokenavSub18 enum { - POKENAV_MODE_NORMAL, // Chosen from Start menu. - POKENAV_MODE_FORCE_CALL_1, // Used for the script's special. Has to choose Match Call and make a call. - POKENAV_MODE_FORCE_CALL_2, // Set after making a call, has to exit Pokenav. + POKENAV_MODE_NORMAL, // Chosen from Start menu. + POKENAV_MODE_FORCE_CALL_READY, // Pokenav tutorial before calling Mr. Stone + POKENAV_MODE_FORCE_CALL_EXIT, // Pokenav tutorial after calling Mr. Stone }; #define POKENAV_MENU_IDS_START 100000 @@ -56,6 +85,23 @@ enum POKENAV_MENU_E, }; +enum +{ + HELPBAR_NONE, + HELPBAR_MAP_ZOOMED_OUT, + HELPBAR_MAP_ZOOMED_IN, + HELPBAR_CONDITION_MON_LIST, + HELPBAR_CONDITION_MON_STATUS, + HELPBAR_CONDITION_MARKINGS, + HELPBAR_MC_TRAINER_LIST, + HELPBAR_MC_CALL_MENU, + HELPBAR_MC_CHECK_PAGE, + HELPBAR_RIBBONS_MON_LIST, + HELPBAR_RIBBONS_LIST, + HELPBAR_RIBBONS_CHECK, + HELPBAR_COUNT +}; + enum { MC_HEADER_MR_STONE, @@ -82,6 +128,48 @@ enum MC_HEADER_COUNT }; +enum +{ + MATCH_CALL_OPTION_CALL, + MATCH_CALL_OPTION_CHECK, + MATCH_CALL_OPTION_CANCEL, + MATCH_CALL_OPTION_COUNT +}; + +enum +{ + CHECK_PAGE_STRATEGY, + CHECK_PAGE_POKEMON, + CHECK_PAGE_INTRO_1, + CHECK_PAGE_INTRO_2, + CHECK_PAGE_ENTRY_COUNT +}; + +#define MCFLAVOR(name) {[CHECK_PAGE_STRATEGY] = gText_MatchCall##name##_Strategy, \ + [CHECK_PAGE_POKEMON] = gText_MatchCall##name##_Pokemon, \ + [CHECK_PAGE_INTRO_1] = gText_MatchCall##name##_Intro1, \ + [CHECK_PAGE_INTRO_2] = gText_MatchCall##name##_Intro2} + +enum +{ + POKENAV_MC_FUNC_NONE, + POKENAV_MC_FUNC_DOWN, + POKENAV_MC_FUNC_UP, + POKENAV_MC_FUNC_PG_DOWN, + POKENAV_MC_FUNC_PG_UP, + POKENAV_MC_FUNC_SELECT, + POKENAV_MC_FUNC_MOVE_OPTIONS_CURSOR, + POKENAV_MC_FUNC_CANCEL, + POKENAV_MC_FUNC_CALL_MSG, + POKENAV_MC_FUNC_NEARBY_MSG, + POKENAV_MC_FUNC_10, + POKENAV_MC_FUNC_SHOW_CHECK_PAGE, + POKENAV_MC_FUNC_CHECK_PAGE_UP, + POKENAV_MC_FUNC_CHECK_PAGE_DOWN, + POKENAV_MC_FUNC_EXIT_CHECK_PAGE, + POKENAV_MC_FUNC_EXIT +}; + // pokenav.c void sub_81C7694(u32); u32 sub_81C76AC(void); @@ -101,22 +189,6 @@ void SetPokenavVBlankCallback(void); void SetVBlankCallback_(IntrCallback callback); // pokenav_match_call_ui.c -struct MatchCallListTemplate -{ - struct PokenavMonList * unk0; - u16 unk4; - u16 unk6; - u8 unk8; - u8 unk9; - u8 unkA; - u8 unkB; - u8 unkC; - u8 unkD; - u8 unkE; - void (*unk10)(struct PokenavMonList *, u8 *a1); - void (*unk14)(u16 a0, u32 a1, u32 a2); -}; - u32 GetSelectedMatchCall(void); bool32 sub_81C8224(void); int MatchCall_MoveCursorUp(void); @@ -128,23 +200,23 @@ void ToggleMatchCallVerticalArrows(bool32 shouldHide); void sub_81C8838(void); void sub_81C877C(void); bool32 sub_81C8820(void); -void sub_81C87AC(s16 a0); +void PrintCheckPageInfo(s16 a0); u32 GetMatchCallListTopIndex(void); void sub_81C87F0(void); -bool32 sub_81C81D4(const struct BgTemplate *arg0, struct MatchCallListTemplate *arg1, s32 arg2); +bool32 sub_81C81D4(const struct BgTemplate *arg0, struct PokenavListTemplate *arg1, s32 arg2); void sub_81C8234(void); // pokenav_match_call_data.c bool32 MatchCall_HasCheckPage(u32 idx); -u8 MatchCallMapSecGetByIndex(u32 idx); -bool32 sub_81D1BF8(u32 idx); -bool32 MatchCallFlagGetByIndex(u32 idx); +u8 MatchCall_GetMapSec(u32 idx); +bool32 MatchCall_HasRematchId(u32 idx); +bool32 MatchCall_GetEnabled(u32 idx); u32 MatchCall_GetRematchTableIdx(u32 idx); u32 GetTrainerIdxByRematchIdx(u32 rematchIdx); int MatchCall_GetOverrideFacilityClass(u32 idx); void MatchCall_GetMessage(u32 idx, u8 *dest); const u8 *MatchCall_GetOverrideFlavorText(u32 idx, u32 offset); -void sub_81D1A78(u32 idx, const u8 **desc, const u8 **name); +void MatchCall_GetNameAndDesc(u32 idx, const u8 **desc, const u8 **name); // pokenav_main_menu.c bool32 InitPokenavMainMenu(void); @@ -157,8 +229,8 @@ void sub_81C7AC0(s32 a0); bool32 sub_81C8010(void); void InitBgTemplates(const struct BgTemplate *templates, int count); bool32 IsPaletteFadeActive(void); -void sub_81C7BA4(u32 helpBarIndex); -bool32 IsDma3ManagerBusyWithBgCopy_(void); +void PrintHelpBarText(u32 textId); +bool32 WaitForHelpBar(void); void sub_81C78A0(void); bool32 MainMenuLoopedTaskIsBusy(void); void sub_81C7FDC(void); @@ -184,10 +256,9 @@ bool32 PokenavCallback_Init_3(void); u32 sub_81C941C(void); void sub_81C9430(void); int sub_81C9894(void); -const u8 *sub_81CAF78(int index, u8 *arg1); int sub_81C98A4(void); int sub_81C98B4(void); -u16 sub_81C98C4(void); +u16 GetHelpBarTextId(void); // pokenav_unk_2.c bool32 sub_81C9924(void); @@ -202,27 +273,28 @@ bool32 PokenavCallback_Init_11(void); u32 sub_81CAB24(void); void sub_81CAB38(void); int sub_81CAE28(void); -int sub_81CAE38(void); +int GetNumberRegistered(void); int sub_81CAE48(void); -struct PokenavMonList *sub_81CAE94(void); -u16 sub_81CAEA4(int); -bool32 sub_81CAEBC(int index); -int sub_81CAF04(int index); -const u8 *sub_81CAFD8(int index, int textType); -u16 sub_81CB01C(void); -u16 sub_81CB02C(int arg0); -void sub_81CB050(struct PokenavMonList * arg0, u8 *str); +struct PokenavMatchCallEntries *sub_81CAE94(void); +u16 GetMatchCallMapSec(int); +bool32 ShouldDrawRematchPokeballIcon(int index); +void ClearRematchPokeballIcon(u16 windowId, u32 a1); +int GetMatchCallTrainerPic(int index); +const u8 *GetMatchCallFlavorText(int index, int textType); +const u8 *GetMatchCallMessageText(int index, u8 *arg1); +u16 GetMatchCallOptionCursorPos(void); +u16 GetMatchCallOptionId(int arg0); +void BufferMatchCallNameAndDesc(struct PokenavMatchCallEntries * arg0, u8 *str); u8 sub_81CB0C8(int rematchIndex); -int sub_81CB0E4(int index); -bool32 sub_81CAE08(int); -int sub_81CB128(int index); +int GetIndexDeltaOfNextCheckPageDown(int index); +int GetIndexDeltaOfNextCheckPageUp(int index); +bool32 IsRematchEntryRegistered(int index); // pokenav_unk_4.c bool32 sub_81CB260(void); void sub_81CB29C(s32 index); u32 sub_81CB2CC(void); void sub_81CB2E0(void); -void sub_81CBD48(u16 windowId, u32 a1); // pokenav_unk_5.c u32 PokenavCallback_Init_6(void); diff --git a/include/region_map.h b/include/region_map.h index 798e6f56d0..0d219643d1 100644 --- a/include/region_map.h +++ b/include/region_map.h @@ -102,7 +102,7 @@ void CreateRegionMapPlayerIcon(u16 x, u16 y); void CreateRegionMapCursor(u16 tileTag, u16 paletteTag); u8 *GetMapName(u8 *, u16, u16); bool32 sub_8124668(u8 mapSecId); -u8 *sub_81245DC(u8 *dest, u16 mapSecId); +u8 *GetMapNameGeneric(u8 *dest, u16 mapSecId); u8 *sub_8124610(u8 *dest, u16 mapSecId); u16 CorrectSpecialMapSecId(u16 mapSecId); void sub_8122D88(struct RegionMap *regionMap); diff --git a/include/rotating_tile_puzzle.h b/include/rotating_tile_puzzle.h new file mode 100644 index 0000000000..8c6ab79441 --- /dev/null +++ b/include/rotating_tile_puzzle.h @@ -0,0 +1,9 @@ +#ifndef GUARD_ROTATING_TILE_PUZZLE_H +#define GUARD_ROTATING_TILE_PUZZLE_H + +void InitRotatingTilePuzzle(bool8 isTrickHouse); +void FreeRotatingTilePuzzle(void); +u16 MoveRotatingTileObjects(u8 puzzleNumber); +void TurnRotatingTileObjects(void); + +#endif // GUARD_ROTATING_TILE_PUZZLE_H diff --git a/include/save.h b/include/save.h index 5e2cf72679..225b2b62c6 100644 --- a/include/save.h +++ b/include/save.h @@ -55,13 +55,25 @@ enum SAVE_HALL_OF_FAME_ERASE_BEFORE // unused }; +#define SECTOR_ID_SAVEBLOCK2 0 +#define SECTOR_ID_SAVEBLOCK1_START 1 +#define SECTOR_ID_SAVEBLOCK1_END 4 +#define SECTOR_ID_PKMN_STORAGE_START 5 +#define SECTOR_ID_PKMN_STORAGE_END 13 #define SECTOR_SAVE_SLOT_LENGTH 14 +// Save Slot 1: 0-13; Save Slot 2: 14-27 #define SECTOR_ID_HOF_1 28 #define SECTOR_ID_HOF_2 29 #define SECTOR_ID_TRAINER_HILL 30 #define SECTOR_ID_RECORDED_BATTLE 31 #define SECTORS_COUNT 32 +#define SAVE_STATUS_EMPTY 0 +#define SAVE_STATUS_OK 1 +#define SAVE_STATUS_CORRUPT 2 +#define SAVE_STATUS_NO_FLASH 4 +#define SAVE_STATUS_ERROR 0xFF + extern u16 gLastWrittenSector; extern u32 gLastSaveCounter; extern u16 gLastKnownGoodSector; @@ -82,13 +94,12 @@ u8 HandleSavingData(u8 saveType); u8 TrySavingData(u8 saveType); bool8 sub_8153380(void); bool8 sub_81533AC(void); -u8 sub_81533E0(void); -u8 sub_8153408(void); -u8 FullSaveGame(void); +bool8 sub_81533E0(void); +bool8 sub_8153408(void); +bool8 FullSaveGame(void); bool8 CheckSaveFile(void); -u8 Save_LoadGameData(u8 a1); +u8 Save_LoadGameData(u8 saveType); u16 sub_815355C(void); -u8 sub_81534D0(u8); u32 TryReadSpecialSaveSection(u8 sector, u8* dst); u32 TryWriteSpecialSaveSection(u8 sector, u8* src); void sub_8153688(u8 taskId); diff --git a/include/save_location.h b/include/save_location.h index c330124ad6..6c2ae0e6b0 100644 --- a/include/save_location.h +++ b/include/save_location.h @@ -6,9 +6,14 @@ #define POKECENTER_SAVEWARP (1 << 1) #define LOBBY_SAVEWARP (1 << 2) #define UNK_SPECIAL_SAVE_WARP_FLAG_3 (1 << 3) +// +// +// +// +#define CHAMPION_SAVEWARP (1 << 7) void TrySetMapSaveWarpStatus(void); void sub_81AFDA0(void); -void sub_81AFDD0(void); +void SetChampionSaveWarp(void); #endif // GUARD_SAVE_LOCATION_H diff --git a/include/script.h b/include/script.h index cfe4934791..3f92964acd 100644 --- a/include/script.h +++ b/include/script.h @@ -62,6 +62,6 @@ u8 *GetSavedRamScriptIfValid(void); void InitRamScript_NoEventObject(u8 *script, u16 scriptSize); // srccmd.h -void sub_809BE48(u16 npcId); +void SetMovingNpcId(u16 npcId); #endif // GUARD_SCRIPT_H diff --git a/include/script_menu.h b/include/script_menu.h index efb51870be..086ad147f0 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -1,20 +1,20 @@ #ifndef GUARD_SCRIPT_MENU_H #define GUARD_SCRIPT_MENU_H -extern const u8 *const gUnknown_0858BAF0[]; +extern const u8 *const gStdStrings[]; -bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 var3, u8 var4); -bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 var3, u8 var4, u8 var5); -bool8 ScriptMenu_YesNo(u8 var1, u8 var2); -bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount); -bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3); +bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress); +bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 defaultChoice); +bool8 ScriptMenu_YesNo(u8 left, u8 top); +bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 columnCount); +bool8 ScriptMenu_ShowPokemonPic(u16 species, u8 x, u8 y); bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void); -int convert_pixel_width_to_tile_width(int); -u8 CreateWindowFromRect(u8, u8, u8, u8); -void ClearToTransparentAndRemoveWindow(u8); -int display_text_and_get_width(const u8*, int); -int sub_80E2D5C(int arg0, int tileWidth); -bool16 ScrSpecial_CreatePCMenu(void); +int ConvertPixelWidthToTileWidth(int width); +u8 CreateWindowFromRect(u8 x, u8 y, u8 width, u8 height); +void ClearToTransparentAndRemoveWindow(u8 windowId); +int DisplayTextAndGetWidth(const u8* str, int width); +int ScriptMenu_AdjustLeftCoordFromWidth(int left, int width); +bool16 ScriptMenu_CreatePCMultichoice(void); void ScriptMenu_DisplayPCStartupPrompt(void); #endif //GUARD_SCRIPT_MENU_H diff --git a/include/script_movement.h b/include/script_movement.h index 4c3fa60024..f9a97cf46f 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/script_pokemon_81B9.h b/include/script_pokemon_81B9.h deleted file mode 100644 index 1b8563ee66..0000000000 --- a/include/script_pokemon_81B9.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef GUARD_SCRIPTPOKE81B9_H -#define GUARD_SCRIPTPOKE81B9_H - -void sub_81B9404(void); - -#endif diff --git a/include/script_pokemon_util_80F87D8.h b/include/script_pokemon_util_80F87D8.h index 7d8d99628b..7c246b7453 100644 --- a/include/script_pokemon_util_80F87D8.h +++ b/include/script_pokemon_util_80F87D8.h @@ -1,7 +1,7 @@ #ifndef GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H #define GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H -u16 sub_80F903C(void); +u16 GetContestRand(void); void ReducePlayerPartyToSelectedMons(void); void HealPlayerParty(void); u8 CountPlayerContestPaintings(void); diff --git a/include/secret_base.h b/include/secret_base.h index 4e323b0c6d..b7d36a8ee9 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -12,13 +12,13 @@ void InitSecretBaseAppearance(bool8 hidePC); bool8 CurMapIsSecretBase(void); void SecretBasePerStepCallback(u8 taskId); bool8 TrySetCurSecretBase(void); -void SetSecretBaseSecretsTvFlags_Poster(void); -void SetSecretBaseSecretsTvFlags_MiscFurnature(void); -void SetSecretBaseSecretsTvFlags_LargeDecorationSpot(void); -void SetSecretBaseSecretsTvFlags_SmallDecorationSpot(void); +void CheckInteractedWithFriendsPosterDecor(void); +void CheckInteractedWithFriendsFurnitureBottom(void); +void CheckInteractedWithFriendsFurnitureMiddle(void); +void CheckInteractedWithFriendsFurnitureTop(void); void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events); bool8 SecretBaseMapPopupEnabled(void); -void sub_80EB218(void); +void CheckLeftFriendsSecretBase(void); void ClearSecretBases(void); void SetCurSecretBaseIdFromPosition(const struct MapPosition *position, const struct MapEvents *events); void TrySetCurSecretBaseIndex(void); diff --git a/include/slot_machine.h b/include/slot_machine.h index d441b74116..1b22e165fd 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -4,6 +4,7 @@ #define NUM_REELS 3 #define REEL_NUM_TAGS 21 #define REEL_TAG_HEIGHT 24 +#define SLOT_MACHINE_COUNT 12 // Lucky Flags #define LUCKY_BIAS_REPLAY (1 << 0) diff --git a/include/start_menu.h b/include/start_menu.h index 2fdb3e652c..df2a290a2d 100644 --- a/include/start_menu.h +++ b/include/start_menu.h @@ -3,10 +3,10 @@ extern bool8 (*gMenuCallback)(void); -void sub_809FA18(void); -void sub_809FA34(u8 taskId); +void ShowReturnToFieldStartMenu(void); +void Task_ShowStartMenu(u8 taskId); void ShowStartMenu(void); -void sub_809FDD4(void); +void ShowBattlePyramidStartMenu(void); void SaveGame(void); void sub_80A0514(void); void sub_80A08CC(void); diff --git a/include/strings.h b/include/strings.h index e31a97761d..eda1c55e47 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1,6 +1,22 @@ #ifndef GUARD_STRINGS_H #define GUARD_STRINGS_H +// Placeholders +extern const u8 gText_ExpandedPlaceholder_Empty[]; +extern const u8 gText_ExpandedPlaceholder_Kun[]; +extern const u8 gText_ExpandedPlaceholder_Chan[]; +extern const u8 gText_ExpandedPlaceholder_Sapphire[]; +extern const u8 gText_ExpandedPlaceholder_Ruby[]; +extern const u8 gText_ExpandedPlaceholder_Emerald[]; +extern const u8 gText_ExpandedPlaceholder_Aqua[]; +extern const u8 gText_ExpandedPlaceholder_Magma[]; +extern const u8 gText_ExpandedPlaceholder_Archie[]; +extern const u8 gText_ExpandedPlaceholder_Maxie[]; +extern const u8 gText_ExpandedPlaceholder_Kyogre[]; +extern const u8 gText_ExpandedPlaceholder_Groudon[]; +extern const u8 gText_ExpandedPlaceholder_Brendan[]; +extern const u8 gText_ExpandedPlaceholder_May[]; + extern const u8 gText_FromSpace[]; extern const u8 gText_Lv50[]; @@ -373,7 +389,7 @@ extern const u8 gBerryFirmnessString_Hard[]; extern const u8 gBerryFirmnessString_VeryHard[]; extern const u8 gBerryFirmnessString_SuperHard[]; extern const u8 gText_BerryTag[]; -extern const u8 gText_UnkF908Var1Var2[]; +extern const u8 gText_NumberVar1Var2[]; extern const u8 gText_SizeSlash[]; extern const u8 gText_Var1DotVar2[]; extern const u8 gText_ThreeMarks[]; @@ -382,7 +398,7 @@ extern const u8 gText_FirmSlash[]; // item menu screen text extern const u8 gText_CloseBag[]; extern const u8 gText_ClearTo11Var1Clear5Var2[]; -extern const u8 gText_UnkF908Var1Clear7Var2[]; +extern const u8 gText_NumberVar1Clear7Var2[]; extern const u8 gText_xVar1[]; extern const u8 gText_ReturnToVar1[]; extern const u8 gText_SelectorArrow2[]; @@ -411,7 +427,7 @@ extern const u8 gText_CantBeUsedOnPkmn[]; extern const u8 gText_CancelParticipation[]; extern const u8 gText_PkmnWasGivenItem[]; extern const u8 gText_ReceivedItemFromPkmn[]; -extern const u8 gText_SwitchPkmnItem[]; +extern const u8 gText_PkmnAlreadyHoldingItemSwitch[]; extern const u8 gText_SwitchedPkmnItem[]; extern const u8 gText_BagFullCouldNotRemoveItem[]; extern const u8 gText_PkmnCantParticipate[]; @@ -427,7 +443,7 @@ extern const u8 gText_NoMoreThanVar1Pkmn[]; extern const u8 gText_PkmnCantBeTradedNow[]; extern const u8 gText_EggCantBeTradedNow[]; extern const u8 gText_OnlyPkmnForBattle[]; -extern const u8 gJPText_PutVar1IntoSpinner[]; +extern const u8 gJPText_AreYouSureYouWantToSpinTradeMon[]; extern const u8 gText_PauseUntilPress[]; extern const u8 gText_CantUseUntilNewBadge[]; extern const u8 gText_ReturnToHealingSpot[]; @@ -471,20 +487,20 @@ extern const u8 gText_EggCantBattle[]; extern const u8 gText_PkmnAlreadySelected[]; extern const u8 gText_PkmnAlreadyInBattle[]; extern const u8 gText_PkmnCantSwitchOut[]; -extern const u8 gUnknown_085EEA46[]; -extern const u8 gUnknown_085EEA4E[]; -extern const u8 gUnknown_085EEA55[]; -extern const u8 gUnknown_085EEA63[]; -extern const u8 gUnknown_085EEA6B[]; -extern const u8 gUnknown_085EEA5D[]; +extern const u8 gText_MaxHP[]; +extern const u8 gText_Attack[]; +extern const u8 gText_Defense[]; +extern const u8 gText_SpAtk[]; +extern const u8 gText_SpDef[]; +extern const u8 gText_Speed[]; extern const u8 gText_Dash[]; -extern const u8 gText_UnkCtrlF904[]; +extern const u8 gText_Plus[]; //pokedex text extern const u8 gText_CryOf[]; extern const u8 gText_SizeComparedTo[]; extern const u8 gText_PokedexRegistration[]; -extern const u8 gText_UnkCtrlF908Clear01[]; +extern const u8 gText_NumberClear01[]; extern const u8 gText_5MarksPokemon[]; extern const u8 gText_UnkHeight[]; extern const u8 gText_UnkWeight[]; @@ -492,7 +508,7 @@ extern const u8 gText_HTHeight[]; extern const u8 gText_WTWeight[]; extern const u8 gText_SearchingPleaseWait[]; extern const u8 gText_SearchCompleted[]; -extern const u8 gUnknown_085E8785[]; +extern const u8 gText_NoMatchingPkmnWereFound[]; extern const u8 gText_SelectorArrow[]; // birch dex rating text @@ -583,6 +599,8 @@ extern const u8 gText_BigGirl[]; extern const u8 gText_Son[]; extern const u8 gText_Daughter[]; +// Multichoice strings +extern const u8 gText_Exit[]; extern const u8 gText_1F[]; extern const u8 gText_2F[]; extern const u8 gText_3F[]; @@ -601,8 +619,6 @@ extern const u8 gText_B4F[]; extern const u8 gText_Rooftop[]; extern const u8 gText_ElevatorNowOn[]; -extern const u8 gText_Exit[]; - extern const u8 gText_BlueFlute[]; extern const u8 gText_YellowFlute[]; extern const u8 gText_RedFlute[]; @@ -610,7 +626,6 @@ extern const u8 gText_WhiteFlute[]; extern const u8 gText_BlackFlute[]; extern const u8 gText_PrettyChair[]; extern const u8 gText_PrettyDesk[]; -extern const u8 gText_Exit[]; extern const u8 gText_0Pts[]; extern const u8 gText_10Pts[]; @@ -635,14 +650,12 @@ extern const u8 gText_DittoDoll48BP[]; extern const u8 gText_CyndaquilDoll80BP[]; extern const u8 gText_ChikoritaDoll80BP[]; extern const u8 gText_TotodileDoll80BP[]; -extern const u8 gText_Exit[]; extern const u8 gText_LaprasDoll128BP[]; extern const u8 gText_SnorlaxDoll128BP[]; extern const u8 gText_VenusaurDoll256BP[]; extern const u8 gText_CharizardDoll256BP[]; extern const u8 gText_BlastoiseDoll256BP[]; -extern const u8 gText_Exit[]; extern const u8 gText_Protein1BP[]; extern const u8 gText_Calcium1BP[]; @@ -650,7 +663,6 @@ extern const u8 gText_Iron1BP[]; extern const u8 gText_Zinc1BP[]; extern const u8 gText_Carbos1BP[]; extern const u8 gText_HpUp1BP[]; -extern const u8 gText_Exit[]; extern const u8 gText_Leftovers48BP[]; extern const u8 gText_WhiteHerb48BP[]; @@ -661,7 +673,6 @@ extern const u8 gText_ChoiceBand64BP[]; extern const u8 gText_KingsRock64BP[]; extern const u8 gText_FocusBand64BP[]; extern const u8 gText_ScopeLens64BP[]; -extern const u8 gText_Exit[]; extern const u8 gText_EnergyPowder50[]; extern const u8 gText_EnergyRoot80[]; @@ -674,7 +685,6 @@ extern const u8 gText_Calcium1000[]; extern const u8 gText_Zinc1000[]; extern const u8 gText_HPUp1000[]; extern const u8 gText_PPUp3000[]; -extern const u8 gText_Exit[]; extern const u8 gText_BattleTower2[]; extern const u8 gText_BattleDome[]; @@ -685,8 +695,8 @@ extern const u8 gText_BattlePike[]; extern const u8 gText_BattlePyramid[]; extern const u8 gText_RankingHall[]; extern const u8 gText_ExchangeService[]; -extern const u8 gText_Exit[]; +// Battle Frontier Move Tutors extern const u8 gText_Softboiled16BP[]; extern const u8 gText_SeismicToss24BP[]; extern const u8 gText_DreamEater24BP[]; @@ -697,8 +707,6 @@ extern const u8 gText_RockSlide48BP[]; extern const u8 gText_Counter48BP[]; extern const u8 gText_ThunderWave48BP[]; extern const u8 gText_SwordsDance48BP[]; -extern const u8 gText_Exit[]; - extern const u8 gText_DefenseCurl16BP[]; extern const u8 gText_Snore24BP[]; extern const u8 gText_MudSlap24BP[]; @@ -709,7 +717,6 @@ extern const u8 gText_PsychUp48BP[]; extern const u8 gText_IcePunch48BP[]; extern const u8 gText_ThunderPunch48BP[]; extern const u8 gText_FirePunch48BP[]; -extern const u8 gText_Exit[]; extern const u8 gText_SlateportCity[]; extern const u8 gText_BattleFrontier[]; @@ -717,7 +724,6 @@ extern const u8 gText_SouthernIsland[]; extern const u8 gText_NavelRock[]; extern const u8 gText_BirthIsland[]; extern const u8 gText_FarawayIsland[]; -extern const u8 gText_Exit[]; extern const u8 gText_BattleTrainers[]; extern const u8 gText_BattleBasics[]; @@ -725,144 +731,136 @@ extern const u8 gText_PokemonNature[]; extern const u8 gText_PokemonMoves[]; extern const u8 gText_Underpowered[]; extern const u8 gText_WhenInDanger[]; -extern const u8 gText_Exit[]; -extern const u8 BattleFrontier_Lounge2_Text_260971[]; -extern const u8 BattleFrontier_Lounge2_Text_260A1E[]; -extern const u8 BattleFrontier_Lounge2_Text_260AE7[]; -extern const u8 BattleFrontier_Lounge2_Text_2619AC[]; -extern const u8 BattleFrontier_Lounge2_Text_261A91[]; -extern const u8 BattleFrontier_Lounge2_Text_261B0C[]; -extern const u8 BattleFrontier_Lounge2_Text_261B95[]; -extern const u8 BattleFrontier_Lounge2_Text_261B95[]; -extern const u8 BattleFrontier_Lounge2_Text_261B95[]; -extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; -extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; -extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; -extern const u8 BattleFrontier_Lounge2_Text_260BC4[]; -extern const u8 BattleFrontier_Lounge2_Text_260C6D[]; -extern const u8 BattleFrontier_Lounge2_Text_260D3A[]; -extern const u8 BattleFrontier_Lounge2_Text_260E1E[]; -extern const u8 BattleFrontier_Lounge2_Text_260EC7[]; -extern const u8 BattleFrontier_Lounge2_Text_260F74[]; -extern const u8 BattleFrontier_Lounge2_Text_2614E6[]; -extern const u8 BattleFrontier_Lounge2_Text_261591[]; -extern const u8 BattleFrontier_Lounge2_Text_26166F[]; -extern const u8 BattleFrontier_Lounge2_Text_261282[]; -extern const u8 BattleFrontier_Lounge2_Text_261329[]; -extern const u8 BattleFrontier_Lounge2_Text_261403[]; -extern const u8 BattleFrontier_Lounge2_Text_261026[]; -extern const u8 BattleFrontier_Lounge2_Text_2610CC[]; -extern const u8 BattleFrontier_Lounge2_Text_261194[]; -extern const u8 BattleFrontier_Lounge2_Text_26174D[]; -extern const u8 BattleFrontier_Lounge2_Text_2617F9[]; -extern const u8 BattleFrontier_Lounge2_Text_2618C4[]; +// Battle Frontier Maniac +extern const u8 BattleFrontier_Lounge2_Text_SalonMaidenIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_SalonMaidenSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_SalonMaidenGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_DoubleBattleAdvice1[]; +extern const u8 BattleFrontier_Lounge2_Text_DoubleBattleAdvice2[]; +extern const u8 BattleFrontier_Lounge2_Text_DoubleBattleAdvice3[]; +extern const u8 BattleFrontier_Lounge2_Text_MultiBattleAdvice[]; +extern const u8 BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice[]; +extern const u8 BattleFrontier_Lounge2_Text_DomeAceIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_DomeAceSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_DomeAceGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_FactoryHeadIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_FactoryHeadSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_FactoryHeadGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PalaceMavenIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_PalaceMavenSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PalaceMavenGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_ArenaTycoonIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_ArenaTycoonSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_ArenaTycoonGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PikeQueenIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_PikeQueenSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PikeQueenGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PyramidKingIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_PyramidKingSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PyramidKingGoldMons[]; -extern const u8 BattleFrontier_Lounge5_Text_26468D[]; -extern const u8 BattleFrontier_Lounge5_Text_2646E5[]; -extern const u8 BattleFrontier_Lounge5_Text_264741[]; -extern const u8 BattleFrontier_Lounge5_Text_2647A4[]; -extern const u8 BattleFrontier_Lounge5_Text_2647FC[]; -extern const u8 BattleFrontier_Lounge5_Text_264858[]; -extern const u8 BattleFrontier_Lounge5_Text_2648BE[]; -extern const u8 BattleFrontier_Lounge5_Text_264916[]; -extern const u8 BattleFrontier_Lounge5_Text_264972[]; -extern const u8 BattleFrontier_Lounge5_Text_2649D5[]; -extern const u8 BattleFrontier_Lounge5_Text_264A3F[]; -extern const u8 BattleFrontier_Lounge5_Text_264A9B[]; -extern const u8 BattleFrontier_Lounge5_Text_264AF3[]; -extern const u8 BattleFrontier_Lounge5_Text_264B5D[]; -extern const u8 BattleFrontier_Lounge5_Text_2648BE[]; -extern const u8 BattleFrontier_Lounge5_Text_264BC3[]; -extern const u8 BattleFrontier_Lounge5_Text_264C36[]; -extern const u8 BattleFrontier_Lounge5_Text_2648BE[]; -extern const u8 BattleFrontier_Lounge5_Text_264C95[]; -extern const u8 BattleFrontier_Lounge5_Text_264D01[]; -extern const u8 BattleFrontier_Lounge5_Text_264D6B[]; -extern const u8 BattleFrontier_Lounge5_Text_264DD7[]; -extern const u8 BattleFrontier_Lounge5_Text_264E33[]; -extern const u8 BattleFrontier_Lounge5_Text_264E8F[]; -extern const u8 BattleFrontier_Lounge5_Text_2648BE[]; +// Battle Frontier Nature Girl +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlHardy[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlLonely[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlBrave[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlAdamant[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlNaughty[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlBold[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlRelaxed[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlImpish[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlLax[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlTimid[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlHasty[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlSerious[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlJolly[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlModest[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlMild[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlBashful[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlRash[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlCalm[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlGentle[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlSassy[]; +extern const u8 BattleFrontier_Lounge5_Text_NatureGirlCareful[]; -extern const u8 BattleFrontier_Lounge3_Text_262261[]; -extern const u8 BattleFrontier_Lounge3_Text_26230D[]; -extern const u8 BattleFrontier_Lounge3_Text_2623B9[]; -extern const u8 BattleFrontier_Lounge3_Text_262464[]; -extern const u8 BattleFrontier_Lounge3_Text_26250E[]; -extern const u8 BattleFrontier_Lounge3_Text_2625B8[]; -extern const u8 BattleFrontier_Lounge3_Text_26266A[]; -extern const u8 BattleFrontier_Lounge3_Text_26271C[]; -extern const u8 BattleFrontier_Lounge3_Text_2627C9[]; -extern const u8 BattleFrontier_Lounge3_Text_262876[]; -extern const u8 BattleFrontier_Lounge3_Text_26291A[]; -extern const u8 BattleFrontier_Lounge3_Text_2629BC[]; - -extern const u8 BattleFrontier_Lounge3_Text_262C04[]; -extern const u8 BattleFrontier_Lounge3_Text_262C90[]; -extern const u8 BattleFrontier_Lounge3_Text_262D1C[]; -extern const u8 BattleFrontier_Lounge3_Text_262DA7[]; -extern const u8 BattleFrontier_Lounge3_Text_262E34[]; -extern const u8 BattleFrontier_Lounge3_Text_262EC1[]; -extern const u8 BattleFrontier_Lounge3_Text_262F56[]; -extern const u8 BattleFrontier_Lounge3_Text_262FEB[]; -extern const u8 BattleFrontier_Lounge3_Text_263078[]; -extern const u8 BattleFrontier_Lounge3_Text_263105[]; -extern const u8 BattleFrontier_Lounge3_Text_26318C[]; -extern const u8 BattleFrontier_Lounge3_Text_263211[]; +// Battle Frontier Gambler +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleTowerSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleTowerDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleTowerMulti[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleDomeSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleDomeDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleFactorySingle[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleFactoryDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattlePalaceSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattlePalaceDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleArena[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattlePike[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattlePyramid[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleTowerSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleTowerDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleTowerMulti[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleDomeSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleDomeDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleFactorySingle[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleFactoryDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattlePalaceSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattlePalaceDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleArena[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattlePike[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattlePyramid[]; extern const u8 gText_BP[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260201[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260287[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E[]; +// Battle Frontier Exchange Corner +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_KissPosterDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_KissCushionDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_SmoochumDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_TogepiDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_MeowthDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ClefairyDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_DittoDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_CyndaquilDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ChikoritaDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_TotodileDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ProteinDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_CalciumDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_IronDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ZincDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_CarbosDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_HPUpDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_LeftoversDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_WhiteHerbDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_QuickClawDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_MentalHerbDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_BrightpowderDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ChoiceBandDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_KingsRockDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_FocusBandDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ScopeLensDesc[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C[]; - -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260397[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260436[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C[]; - -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260542[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260575[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260613[]; - -extern const u8 BattleFrontier_Lounge7_Text_265E30[]; -extern const u8 BattleFrontier_Lounge7_Text_265E5B[]; -extern const u8 BattleFrontier_Lounge7_Text_265E8A[]; -extern const u8 BattleFrontier_Lounge7_Text_265EC0[]; -extern const u8 BattleFrontier_Lounge7_Text_265EED[]; -extern const u8 BattleFrontier_Lounge7_Text_265F1C[]; -extern const u8 BattleFrontier_Lounge7_Text_265F47[]; -extern const u8 BattleFrontier_Lounge7_Text_265F77[]; -extern const u8 BattleFrontier_Lounge7_Text_265FAA[]; -extern const u8 BattleFrontier_Lounge7_Text_265FDD[]; - -extern const u8 BattleFrontier_Lounge7_Text_26600A[]; -extern const u8 BattleFrontier_Lounge7_Text_26603E[]; -extern const u8 BattleFrontier_Lounge7_Text_266070[]; -extern const u8 BattleFrontier_Lounge7_Text_2660A6[]; -extern const u8 BattleFrontier_Lounge7_Text_2660D0[]; -extern const u8 BattleFrontier_Lounge7_Text_2660FF[]; -extern const u8 BattleFrontier_Lounge7_Text_26612D[]; -extern const u8 BattleFrontier_Lounge7_Text_26615F[]; -extern const u8 BattleFrontier_Lounge7_Text_266185[]; -extern const u8 BattleFrontier_Lounge7_Text_2661B5[]; +// Battle Frontier Move Tutors +extern const u8 BattleFrontier_Lounge7_Text_SoftboiledDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_SeismicTossDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_DreamEaterDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_MegaPunchDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_MegaKickDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_BodySlamDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_RockSlideDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_CounterDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_ThunderWaveDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_SwordsDanceDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_DefenseCurlDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_SnoreDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_MudSlapDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_SwiftDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_IcyWindDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_EndureDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_PsychUpDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_IcePunchDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_ThunderPunchDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_FirePunchDesc[]; extern const u8 gText_YourPartnerHasRetired[]; @@ -938,7 +936,7 @@ extern const u8 gText_Accuracy2[]; extern const u8 gText_Appeal[]; extern const u8 gText_Jam[]; extern const u8 gText_OTSlash[]; -extern const u8 gText_UnkCtrlF907F908[]; +extern const u8 gText_IDNumber2[]; extern const u8 gText_XNature[]; extern const u8 gText_XNatureHatchedAtYZ[]; extern const u8 gText_XNatureHatchedSomewhereAt[]; @@ -1024,36 +1022,31 @@ extern const u8 gText_PokenavRibbons_RibbonListButtons[]; extern const u8 gText_PokenavRibbons_RibbonCheckButtons[]; extern const u8 gText_Number2[]; -extern const u8 gUnknown_085EAD37[]; -extern const u8 gUnknown_085EAD41[]; -extern const u8 gUnknown_085EAD67[]; -extern const u8 gUnknown_085EAD6D[]; -extern const u8 gUnknown_085EAD72[]; -extern const u8 gUnknown_085EAD84[]; -extern const u8 gUnknown_085EAD96[]; -extern const u8 gUnknown_085EADA4[]; -extern const u8 gUnknown_085EADB5[]; -extern const u8 gUnknown_085EADC4[]; -extern const u8 gUnknown_085EADD5[]; -extern const u8 gUnknown_085EADE7[]; -extern const u8 gUnknown_085EADF9[]; -extern const u8 gUnknown_085EAE04[]; -extern const u8 gUnknown_085EAE12[]; -extern const u8 gUnknown_085EAE1B[]; -extern const u8 gUnknown_085EAE27[]; -extern const u8 gUnknown_085EAE2C[]; -extern const u8 gUnknown_085EAE31[]; -extern const u8 gUnknown_085EAE35[]; -extern const u8 gUnknown_085EAE39[]; -extern const u8 gUnknown_085EAE3D[]; -extern const u8 gUnknown_085EAE41[]; -extern const u8 gUnknown_085EAD5F[]; -extern const u8 gUnknown_085EAE53[]; -extern const u8 gUnknown_085EAE5A[]; +extern const u8 gText_Petalburg[]; +extern const u8 gText_Slateport[]; +extern const u8 gText_Enter2[]; +extern const u8 gText_Info2[]; +extern const u8 gText_WhatsAContest[]; +extern const u8 gText_TypesOfContests[]; +extern const u8 gText_Ranks[]; +extern const u8 gText_Decoration2[]; +extern const u8 gText_PackUp[]; +extern const u8 gText_Registry[]; +extern const u8 gText_Information[]; +extern const u8 gText_Mach[]; +extern const u8 gText_Acro[]; +extern const u8 gText_Psn[]; +extern const u8 gText_Par[]; +extern const u8 gText_Slp[]; +extern const u8 gText_Brn[]; +extern const u8 gText_Frz[]; +extern const u8 gText_Dewford[]; +extern const u8 gText_SawIt[]; +extern const u8 gText_NotYet[]; extern const u8 gText_Yes[]; extern const u8 gText_No[]; -extern const u8 gUnknown_085EAEA2[]; -extern const u8 gUnknown_085EAEAC[]; +extern const u8 gText_Challenge[]; +extern const u8 gText_Info3[]; extern const u8 gTrickHouse_Mechadoll_Oddish[]; extern const u8 gTrickHouse_Mechadoll_Poochyena[]; extern const u8 gTrickHouse_Mechadoll_Taillow[]; @@ -1101,15 +1094,15 @@ extern const u8 gTrickHouse_Mechadoll_Seven2[]; extern const u8 gTrickHouse_Mechadoll_Eight2[]; // Pokedex strings -extern const u8 gUnknown_085E87A5[]; -extern const u8 gUnknown_085E87D6[]; -extern const u8 gUnknown_085E87EF[]; -extern const u8 gUnknown_085E8806[]; -extern const u8 gUnknown_085E881F[]; -extern const u8 gUnknown_085E8840[]; -extern const u8 gUnknown_085E887C[]; -extern const u8 gUnknown_085E88A6[]; -extern const u8 gUnknown_085E88C8[]; +extern const u8 gText_SearchForPkmnBasedOnParameters[]; +extern const u8 gText_SwitchPokedexListings[]; +extern const u8 gText_ReturnToPokedex[]; +extern const u8 gText_SelectPokedexMode[]; +extern const u8 gText_SelectPokedexListingMode[]; +extern const u8 gText_ListByFirstLetter[]; +extern const u8 gText_ListByBodyColor[]; +extern const u8 gText_ListByType[]; +extern const u8 gText_ExecuteSearchSwitch[]; extern const u8 gText_DexHoennTitle[]; extern const u8 gText_DexNatTitle[]; extern const u8 gText_DexSortNumericalTitle[]; @@ -1149,65 +1142,64 @@ extern const u8 gText_DexEmptyString[]; extern const u8 gText_DexSearchDontSpecify[]; extern const u8 gText_DexSearchTypeNone[]; -extern const u8 gUnknown_085EAEC3[]; -extern const u8 gUnknown_085EAED6[]; -extern const u8 gUnknown_085EAEE6[]; -extern const u8 gUnknown_085EAEF6[]; -extern const u8 gUnknown_085EAF02[]; -extern const u8 gUnknown_085EAF0E[]; -extern const u8 gUnknown_085EAF1B[]; -extern const u8 gUnknown_085EAF24[]; -extern const u8 gUnknown_085EAF2F[]; -extern const u8 gUnknown_085EAF34[]; -extern const u8 gUnknown_085EAF3E[]; -extern const u8 gUnknown_085EAF4B[]; -extern const u8 gUnknown_085EAF58[]; -extern const u8 gUnknown_085EAF65[]; -extern const u8 gUnknown_085EAF70[]; -extern const u8 gUnknown_085EAF7D[]; -extern const u8 gUnknown_085EAF87[]; -extern const u8 gUnknown_085EAF93[]; -extern const u8 gUnknown_085EAF9F[]; -extern const u8 gUnknown_085EAFAB[]; -extern const u8 gUnknown_085EAFB6[]; -extern const u8 gUnknown_085EAFCF[]; -extern const u8 gUnknown_085EAFE8[]; -extern const u8 gUnknown_085EB089[]; -extern const u8 gUnknown_085EB09C[]; -extern const u8 gUnknown_085EB0AF[]; -extern const u8 gUnknown_085EB0C2[]; -extern const u8 gUnknown_085EB0D5[]; -extern const u8 gUnknown_085EB002[]; -extern const u8 gUnknown_085EB017[]; -extern const u8 gUnknown_085EB02A[]; -extern const u8 gUnknown_085EB034[]; +extern const u8 gText_FreshWaterAndPrice[]; +extern const u8 gText_SodaPopAndPrice[]; +extern const u8 gText_LemonadeAndPrice[]; +extern const u8 gText_HowToRide[]; +extern const u8 gText_HowToTurn[]; +extern const u8 gText_SandySlopes[]; +extern const u8 gText_Wheelies[]; +extern const u8 gText_BunnyHops[]; +extern const u8 gText_Jump[]; +extern const u8 gText_Satisfied[]; +extern const u8 gText_Dissatisfied[]; +extern const u8 gText_DeepSeaTooth[]; +extern const u8 gText_DeepSeaScale[]; +extern const u8 gText_BlueFlute2[]; +extern const u8 gText_YellowFlute2[]; +extern const u8 gText_RedFlute2[]; +extern const u8 gText_WhiteFlute2[]; +extern const u8 gText_BlackFlute2[]; +extern const u8 gText_GlassChair[]; +extern const u8 gText_GlassDesk[]; +extern const u8 gText_TreeckoDollAndPrice[]; +extern const u8 gText_TorchicDollAndPrice[]; +extern const u8 gText_MudkipDollAndPrice[]; +extern const u8 gText_TM32AndPrice[]; +extern const u8 gText_TM29AndPrice[]; +extern const u8 gText_TM35AndPrice[]; +extern const u8 gText_TM24AndPrice[]; +extern const u8 gText_TM13AndPrice[]; +extern const u8 gText_50CoinsAndPrice[]; +extern const u8 gText_500CoinsAndPrice[]; +extern const u8 gText_Excellent2[]; +extern const u8 gText_NotSoGood[]; extern const u8 gText_LilycoveCity[]; -extern const u8 gUnknown_085EB07E[]; -extern const u8 gUnknown_085EB084[]; -extern const u8 gUnknown_085EB040[]; -extern const u8 gUnknown_085EB04A[]; -extern const u8 gUnknown_085EB057[]; -extern const u8 gUnknown_085EB062[]; +extern const u8 gText_Right[]; +extern const u8 gText_Left[]; +extern const u8 gText_RedShard[]; +extern const u8 gText_YellowShard[]; +extern const u8 gText_BlueShard[]; +extern const u8 gText_GreenShard[]; extern const u8 gText_Opponent[]; extern const u8 gText_Tourney_Tree[]; extern const u8 gText_ReadyToStart[]; -extern const u8 gUnknown_085EB5BC[]; -extern const u8 gUnknown_085EB5C3[]; -extern const u8 gUnknown_085EB5C8[]; -extern const u8 gUnknown_085EB29A[]; -extern const u8 gUnknown_085EB2A3[]; -extern const u8 gUnknown_085EB372[]; -extern const u8 gUnknown_085EB37F[]; -extern const u8 gUnknown_085EB389[]; -extern const u8 gUnknown_085EAE6E[]; -extern const u8 gUnknown_085EAE7C[]; -extern const u8 gUnknown_085EAE8A[]; -extern const u8 gUnknown_085EAD6D[]; -extern const u8 gUnknown_085EB397[]; -extern const u8 gUnknown_085EB3A4[]; -extern const u8 gUnknown_085EB3B1[]; -extern const u8 gUnknown_085EB3D4[]; -extern const u8 gUnknown_085EB3C6[]; +extern const u8 gText_Record2[]; +extern const u8 gText_Rest[]; +extern const u8 gText_Retire[]; +extern const u8 gText_RedTent[]; +extern const u8 gText_BlueTent[]; +extern const u8 gText_TradeCenter[]; +extern const u8 gText_Colosseum[]; +extern const u8 gText_RecordCorner[]; +extern const u8 gText_SingleBattle[]; +extern const u8 gText_DoubleBattle[]; +extern const u8 gText_MultiBattle[]; +extern const u8 gText_BerryCrush3[]; +extern const u8 gText_PokemonJump[]; +extern const u8 gText_DodrioBerryPicking[]; +extern const u8 gText_JoinGroup[]; +extern const u8 gText_BecomeLeader[]; extern const u8 gText_NormalRank[]; extern const u8 gText_SuperRank[]; extern const u8 gText_HyperRank[]; @@ -1219,56 +1211,56 @@ extern const u8 gText_AboutE_Mode[]; extern const u8 gText_AboutG_Mode[]; extern const u8 gText_E_Mode[]; extern const u8 gText_G_Mode[]; -extern const u8 gUnknown_085EB278[]; -extern const u8 gUnknown_085EB28A[]; -extern const u8 gUnknown_085EB290[]; -extern const u8 gUnknown_085EB295[]; -extern const u8 gUnknown_085EB2E4[]; -extern const u8 gUnknown_085EB2F0[]; -extern const u8 gUnknown_085EB2FC[]; -extern const u8 gUnknown_085EB3DF[]; -extern const u8 gUnknown_085EB3EA[]; -extern const u8 gUnknown_085EB3F1[]; -extern const u8 gUnknown_085EB3FC[]; -extern const u8 gUnknown_085EB40A[]; -extern const u8 gUnknown_085EB415[]; -extern const u8 gUnknown_085EB41D[]; -extern const u8 gUnknown_085EB424[]; -extern const u8 gUnknown_085EB45C[]; -extern const u8 gUnknown_085EB469[]; -extern const u8 gUnknown_085EB475[]; -extern const u8 gUnknown_085EB482[]; -extern const u8 gUnknown_085EB42F[]; -extern const u8 gUnknown_085EB43A[]; -extern const u8 gUnknown_085EB444[]; -extern const u8 gUnknown_085EB451[]; -extern const u8 gUnknown_085EB48E[]; -extern const u8 gUnknown_085EB496[]; -extern const u8 gUnknown_085EB4A3[]; -extern const u8 gUnknown_085EB4AD[]; -extern const u8 gUnknown_085EB4B9[]; -extern const u8 gUnknown_085EB4C7[]; -extern const u8 gUnknown_085EB4D4[]; -extern const u8 gUnknown_085EB4E0[]; -extern const u8 gUnknown_085EB532[]; -extern const u8 gUnknown_085EB543[]; -extern const u8 gUnknown_085EB555[]; -extern const u8 gUnknown_085EB563[]; -extern const u8 gUnknown_085EB56E[]; -extern const u8 gUnknown_085EB57E[]; -extern const u8 gUnknown_085EB589[]; -extern const u8 gUnknown_085EB5B6[]; -extern const u8 gUnknown_085EE14B[]; -extern const u8 gUnknown_085EE14F[]; -extern const u8 gUnknown_085EB2FF[]; -extern const u8 gUnknown_085EB310[]; -extern const u8 gUnknown_085EB317[]; -extern const u8 gUnknown_085EB31F[]; +extern const u8 gText_Blank[]; +extern const u8 gText_5BP[]; +extern const u8 gText_10BP[]; +extern const u8 gText_15BP[]; +extern const u8 gText_ClawFossil[]; +extern const u8 gText_RootFossil[]; +extern const u8 gText_No4[]; +extern const u8 gText_TwoStyles[]; +extern const u8 gText_Lv50_3[]; +extern const u8 gText_OpenLevel2[]; +extern const u8 gText_MonTypeAndNo[]; +extern const u8 gText_HoldItems[]; +extern const u8 gText_Symbols2[]; +extern const u8 gText_Record3[]; +extern const u8 gText_BattlePts[]; +extern const u8 gText_BattleRules[]; +extern const u8 gText_JudgeMind[]; +extern const u8 gText_JudgeSkill[]; +extern const u8 gText_JudgeBody[]; +extern const u8 gText_TowerInfo[]; +extern const u8 gText_BattleMon[]; +extern const u8 gText_BattleSalon[]; +extern const u8 gText_MultiLink2[]; +extern const u8 gText_Matchup[]; +extern const u8 gText_TourneyTree[]; +extern const u8 gText_DoubleKO[]; +extern const u8 gText_BasicRules[]; +extern const u8 gText_SwapPartners[]; +extern const u8 gText_SwapNumber[]; +extern const u8 gText_SwapNotes[]; +extern const u8 gText_OpenLevel3[]; +extern const u8 gText_PyramidPokemon[]; +extern const u8 gText_PyramidTrainers[]; +extern const u8 gText_PyramidMaze[]; +extern const u8 gText_BattleBag2[]; +extern const u8 gText_PokenavAndBag[]; +extern const u8 gText_HeldItems[]; +extern const u8 gText_PokemonOrder[]; +extern const u8 gText_GoOn[]; +extern const u8 gText_Red[]; +extern const u8 gText_Blue[]; +extern const u8 gText_IllBattleNow[]; +extern const u8 gText_IWon[]; +extern const u8 gText_ILost[]; +extern const u8 gText_IWontTell[]; extern const u8 gText_CaveOfOrigin[]; extern const u8 gText_MtPyre[]; extern const u8 gText_SkyPillar[]; extern const u8 gText_DontRemember[]; -extern const u8 gUnknown_085EB597[]; +extern const u8 gText_BattlePokemon[]; extern const u8 gText_NormalTagMatch[]; extern const u8 gText_VarietyTagMatch[]; extern const u8 gText_UniqueTagMatch[]; @@ -1281,29 +1273,15 @@ extern const u8 gText_TrainerHill2F[]; extern const u8 gText_TrainerHill3F[]; extern const u8 gText_TrainerHill4F[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_277F1B[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_277F5A[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_277F96[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_27879F[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_2787D5[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_278831[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_27879F[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_2787D5[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_2787FC[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_27879F[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_2787D5[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_278831[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_2787FC[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_277F1B[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_277F5A[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_27879F[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_2787D5[]; -extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[]; +// Cable Club multichoice text +extern const u8 CableClub_Text_TradeUsingLinkCable[]; +extern const u8 CableClub_Text_BattleUsingLinkCable[]; +extern const u8 CableClub_Text_RecordCornerUsingLinkCable[]; +extern const u8 CableClub_Text_CancelSelectedItem[]; +extern const u8 CableClub_Text_YouMayTradeHere[]; +extern const u8 CableClub_Text_YouMayBattleHere[]; +extern const u8 CableClub_Text_CanMixRecords[]; +extern const u8 CableClub_Text_CanMakeBerryPowder[]; // Frontier records. extern const u8 gText_WinStreak[]; @@ -1342,7 +1320,7 @@ extern const u8 gText_1st[]; extern const u8 gText_SpaceAndSpace[]; extern const u8 gText_CommaSpace[]; extern const u8 gText_NewLine[]; -extern const u8 gText_ScrollTextUp[]; +extern const u8 gText_LineBreak[]; extern const u8 gText_Space[]; extern const u8 gText_Space2[]; extern const u8 gText_Are[]; @@ -1350,11 +1328,11 @@ extern const u8 gText_Are2[]; extern const u8 gText_123Dot[][3]; // Frontier util. -extern const u8 gUnknown_085ED164[]; -extern const u8 gUnknown_085ED170[]; -extern const u8 gUnknown_085ED17C[]; -extern const u8 gUnknown_085ED188[]; -extern const u8 gUnknown_085ED190[]; +extern const u8 gText_FacilitySingle[]; +extern const u8 gText_FacilityDouble[]; +extern const u8 gText_FacilityMulti[]; +extern const u8 gText_FacilityLink[]; +extern const u8 gText_Facility[]; extern const u8 gText_RecordsLv50[]; extern const u8 gText_RecordsOpenLevel[]; @@ -1364,612 +1342,611 @@ extern const u8 gText_FrontierFacilityRoomsCleared[]; extern const u8 gText_FrontierFacilityKOsStreak[]; extern const u8 gText_FrontierFacilityFloorsCleared[]; -extern const u8 gText_082C843F[]; -extern const u8 gText_082C848B[]; -extern const u8 gText_082C8628[]; -extern const u8 gText_082C85B4[]; -extern const u8 gText_082C8512[]; -extern const u8 gText_082C859D[]; -extern const u8 gText_082C86C3[]; -extern const u8 gText_082C8458[]; -extern const u8 gText_082C84C1[]; -extern const u8 gText_082C8662[]; -extern const u8 gText_082C85E3[]; -extern const u8 gText_082C853B[]; -extern const u8 gText_082C85A4[]; -extern const u8 gText_082C86FE[]; -extern const u8 gText_082C846C[]; -extern const u8 gText_082C84D0[]; -extern const u8 gText_082C8682[]; -extern const u8 gText_082C85F5[]; -extern const u8 gText_082C8561[]; -extern const u8 gText_082C85A9[]; -extern const u8 gText_082C8739[]; -extern const u8 gText_082C8480[]; -extern const u8 gText_082C84F7[]; -extern const u8 gText_082C86B3[]; -extern const u8 gText_082C8611[]; -extern const u8 gText_082C8589[]; -extern const u8 gText_082C85AE[]; -extern const u8 gText_082C877B[]; +// Frontier Brain +extern const u8 gText_AnabelWonSilver[]; +extern const u8 gText_TuckerWonSilver[]; +extern const u8 gText_SpenserWonSilver[]; +extern const u8 gText_GretaWonSilver[]; +extern const u8 gText_NolandWonSilver[]; +extern const u8 gText_LucyWonSilver[]; +extern const u8 gText_BrandonWonSilver[]; +extern const u8 gText_AnabelDefeatSilver[]; +extern const u8 gText_TuckerDefeatSilver[]; +extern const u8 gText_SpenserDefeatSilver[]; +extern const u8 gText_GretaDefeatSilver[]; +extern const u8 gText_NolandDefeatSilver[]; +extern const u8 gText_LucyDefeatSilver[]; +extern const u8 gText_BrandonDefeatSilver[]; +extern const u8 gText_AnabelWonGold[]; +extern const u8 gText_TuckerWonGold[]; +extern const u8 gText_SpenserWonGold[]; +extern const u8 gText_GretaWonGold[]; +extern const u8 gText_NolandWonGold[]; +extern const u8 gText_LucyWonGold[]; +extern const u8 gText_BrandonWonGold[]; +extern const u8 gText_AnabelDefeatGold[]; +extern const u8 gText_TuckerDefeatGold[]; +extern const u8 gText_SpenserDefeatGold[]; +extern const u8 gText_GretaDefeatGold[]; +extern const u8 gText_NolandDefeatGold[]; +extern const u8 gText_LucyDefeatGold[]; +extern const u8 gText_BrandonDefeatGold[]; // Battle Tower. -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2479CE[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248297[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2444D6[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24459B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2448CD[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24529A[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245CAC[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245E20[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245FC6[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247749[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2453B4[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2476ED[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246864[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247F3F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2484AC[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248661[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2486FF[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2469B4[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246D9E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244A23[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246662[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248321[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244F4F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247B16[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2465B5[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2481E1[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247E7E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244549[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246244[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2468A7[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2468FE[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245A5F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24626E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244383[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246BE9[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2462E4[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246F7B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247268[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244643[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247EE9[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246D3F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247AA1[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246D6A[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245D4B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247348[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24522F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24617D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244989[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2470FD[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247C4E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24754A[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247C8C[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248467[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2474AF[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245BBD[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24503D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248AC0[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24614A[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244E5B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245F2B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248553[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246741[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245656[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2480AB[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248725[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244939[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2471FB[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247291[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24589C[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247B3E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248614[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2448F5[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2445C5[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247B62[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24777A[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2455EC[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248031[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244AA9[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245464[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2484E7[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247313[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247470[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244D82[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246529[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247238[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247A18[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24597F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247DFE[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247FB7[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246E64[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247655[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244E7E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245535[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246FCC[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2482DC[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24808D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246AF7[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24864E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247991[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246605[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248B4C[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2448A7[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245C05[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2456F5[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246020[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24670A[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24694B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2471C7[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248C5B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246449[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2452EF[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245B91[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245F87[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246831[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247854[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244D07[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246051[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2486C6[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248401[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2450E6[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248671[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2454D6[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24662A[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246EB6[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244FD3[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247484[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2460D5[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24622A[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244DC6[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2485E5[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248BB4[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246DD3[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244B52[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24896F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247629[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2454A3[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2459BE[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244413[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248C90[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2446B4[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244C18[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24610D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24838D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24633C[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24758B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2458CE[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246E1A[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247EA1[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248369[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245DC7[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247D97[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2483C1[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248892[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2488D8[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247889[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24895F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2449E6[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248781[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246F21[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24707D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24818E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24568A[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248A10[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246791[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246571[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246A4E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248431[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2462AA[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246B3F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2473C6[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2473FB[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245CE6[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2445E8[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2487C9[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245D60[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24795F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245B79[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247B9B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246B2B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24451E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247807[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24636B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247DC7[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246002[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247838[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248151[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24718D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2481A9[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247942[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244D36[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246D2D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248751[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247D07[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246B6B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244F98[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246BB2[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24705B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248BEE[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24716C[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2489BD[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245D07[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247724[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248908[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244618[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24468F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244C6E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246E39[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24856A[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24894B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24824F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245C66[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246C22[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2467C4[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245406[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24737A[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2474EC[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247FE9[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247C23[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2480DC[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24857D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248B39[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245E41[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245E78[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247D4E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24615D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248517[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245087[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2463C5[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247AE3[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245EEC[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24885B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2470B2[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248B22[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2467E6[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24833D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248C2E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248221[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245196[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245740[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24480C[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246A22[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24555F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24712A[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247A76[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247CB2[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2457D9[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248128[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24631F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246CE9[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2482B1[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244DFE[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247013[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24790D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24581F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247A51[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24479E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2461C7[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244ECA[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2466E6[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2477CE[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245C2D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2487F7[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2489E7[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2478DD[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248477[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244CD6[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2466B4[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24805E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247E3E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245923[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248829[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2461F5[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24751D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2475BC[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245013[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2475D5[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246C35[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246686[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247438[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245D8D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247EB5[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246F4C[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2450C0[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245DF0[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24755C[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24474D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2444EF[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246082[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2464EE[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2467FF[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244EF4[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247BE7[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245EBD[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24697C[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246A85[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245F58[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245851[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248A72[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2459F7[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2443E7[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245B3E[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248CCF[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24444B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245C7F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246C6C[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2472C7[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245AB4[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24769B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248A40[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244BD2[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246760[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246CB3[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247FA3[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247F6D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248D04[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2463FF[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246EEE[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244B93[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2446E5[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2469F1[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2451BD[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244AD6[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24738F[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248AEB[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246478[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24760D[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24658C[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24692B[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246ACF[]; -extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24649D[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Intro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Mon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Mon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Accept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Reject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Intro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Mon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Mon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Accept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Reject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Intro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Mon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Mon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Accept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Reject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Intro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Mon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Mon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Accept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Reject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Intro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Mon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Mon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Accept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Reject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Intro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Mon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Mon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Accept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Reject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Intro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Mon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Mon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Accept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Reject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Intro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Mon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Mon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Accept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Reject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Intro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Mon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Mon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Accept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Reject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Intro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Mon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Mon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Accept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Reject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Intro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Mon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Mon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Accept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Reject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Intro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Mon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Mon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Accept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Reject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Intro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Mon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Mon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Accept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Reject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Intro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Mon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Mon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Accept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Reject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Intro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Mon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Mon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Accept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Reject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Intro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Mon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Mon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Accept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Reject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFReject[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMIntro[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMMon1[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMMon2Ask[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMAccept[]; +extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMReject[]; // Battle Dome. -extern const u8 gBattleDomeOpponentPotentialText1[]; -extern const u8 gBattleDomeOpponentPotentialText2[]; -extern const u8 gBattleDomeOpponentPotentialText3[]; -extern const u8 gBattleDomeOpponentPotentialText4[]; -extern const u8 gBattleDomeOpponentPotentialText5[]; -extern const u8 gBattleDomeOpponentPotentialText6[]; -extern const u8 gBattleDomeOpponentPotentialText7[]; -extern const u8 gBattleDomeOpponentPotentialText8[]; -extern const u8 gBattleDomeOpponentPotentialText9[]; -extern const u8 gBattleDomeOpponentPotentialText10[]; -extern const u8 gBattleDomeOpponentPotentialText11[]; -extern const u8 gBattleDomeOpponentPotentialText12[]; -extern const u8 gBattleDomeOpponentPotentialText13[]; -extern const u8 gBattleDomeOpponentPotentialText14[]; -extern const u8 gBattleDomeOpponentPotentialText15[]; -extern const u8 gBattleDomeOpponentPotentialText16[]; -extern const u8 gBattleDomeOpponentPotentialText17[]; -extern const u8 gBattleDomeOpponentStyleText1[]; -extern const u8 gBattleDomeOpponentStyleText2[]; -extern const u8 gBattleDomeOpponentStyleText3[]; -extern const u8 gBattleDomeOpponentStyleText4[]; -extern const u8 gBattleDomeOpponentStyleText5[]; -extern const u8 gBattleDomeOpponentStyleText6[]; -extern const u8 gBattleDomeOpponentStyleText7[]; -extern const u8 gBattleDomeOpponentStyleText8[]; -extern const u8 gBattleDomeOpponentStyleText9[]; -extern const u8 gBattleDomeOpponentStyleText10[]; -extern const u8 gBattleDomeOpponentStyleText11[]; -extern const u8 gBattleDomeOpponentStyleText12[]; -extern const u8 gBattleDomeOpponentStyleText13[]; -extern const u8 gBattleDomeOpponentStyleText14[]; -extern const u8 gBattleDomeOpponentStyleText15[]; -extern const u8 gBattleDomeOpponentStyleText16[]; -extern const u8 gBattleDomeOpponentStyleText17[]; -extern const u8 gBattleDomeOpponentStyleText18[]; -extern const u8 gBattleDomeOpponentStyleText19[]; -extern const u8 gBattleDomeOpponentStyleText20[]; -extern const u8 gBattleDomeOpponentStyleText21[]; -extern const u8 gBattleDomeOpponentStyleText22[]; -extern const u8 gBattleDomeOpponentStyleText23[]; -extern const u8 gBattleDomeOpponentStyleText24[]; -extern const u8 gBattleDomeOpponentStyleText25[]; -extern const u8 gBattleDomeOpponentStyleText26[]; -extern const u8 gBattleDomeOpponentStyleText27[]; -extern const u8 gBattleDomeOpponentStyleText28[]; -extern const u8 gBattleDomeOpponentStyleTextUnused1[]; -extern const u8 gBattleDomeOpponentStyleTextUnused2[]; -extern const u8 gBattleDomeOpponentStyleTextUnused3[]; -extern const u8 gBattleDomeOpponentStyleTextUnused4[]; -extern const u8 gBattleDomeOpponentStatsText1[]; -extern const u8 gBattleDomeOpponentStatsText2[]; -extern const u8 gBattleDomeOpponentStatsText3[]; -extern const u8 gBattleDomeOpponentStatsText4[]; -extern const u8 gBattleDomeOpponentStatsText5[]; -extern const u8 gBattleDomeOpponentStatsText6[]; -extern const u8 gBattleDomeOpponentStatsText7[]; -extern const u8 gBattleDomeOpponentStatsText8[]; -extern const u8 gBattleDomeOpponentStatsText9[]; -extern const u8 gBattleDomeOpponentStatsText10[]; -extern const u8 gBattleDomeOpponentStatsText11[]; -extern const u8 gBattleDomeOpponentStatsText12[]; -extern const u8 gBattleDomeOpponentStatsText13[]; -extern const u8 gBattleDomeOpponentStatsText14[]; -extern const u8 gBattleDomeOpponentStatsText15[]; -extern const u8 gBattleDomeOpponentStatsText16[]; -extern const u8 gBattleDomeOpponentStatsText17[]; -extern const u8 gBattleDomeOpponentStatsText18[]; -extern const u8 gBattleDomeOpponentStatsText19[]; -extern const u8 gBattleDomeOpponentStatsText20[]; -extern const u8 gBattleDomeOpponentStatsText21[]; -extern const u8 gBattleDomeOpponentStatsText22[]; -extern const u8 gBattleDomeOpponentStatsText23[]; -extern const u8 gBattleDomeOpponentStatsText24[]; -extern const u8 gBattleDomeOpponentStatsText25[]; -extern const u8 gBattleDomeOpponentStatsText26[]; -extern const u8 gBattleDomeOpponentStatsText27[]; -extern const u8 gBattleDomeOpponentStatsText28[]; -extern const u8 gBattleDomeOpponentStatsText29[]; -extern const u8 gBattleDomeOpponentStatsText30[]; -extern const u8 gBattleDomeOpponentStatsText31[]; -extern const u8 gBattleDomeOpponentStatsText32[]; -extern const u8 gBattleDomeOpponentStatsText33[]; -extern const u8 gBattleDomeOpponentStatsText34[]; -extern const u8 gBattleDomeOpponentStatsText35[]; -extern const u8 gBattleDomeOpponentStatsText36[]; -extern const u8 gBattleDomeOpponentStatsText37[]; -extern const u8 gBattleDomeOpponentStatsText38[]; -extern const u8 gBattleDomeOpponentStatsText39[]; -extern const u8 gBattleDomeOpponentStatsText40[]; -extern const u8 gBattleDomeOpponentStatsText41[]; -extern const u8 gBattleDomeOpponentStatsText42[]; -extern const u8 gBattleDomeOpponentStatsText43[]; -extern const u8 gBattleDomeMatchNumberText1[]; -extern const u8 gBattleDomeMatchNumberText2[]; -extern const u8 gBattleDomeMatchNumberText3[]; -extern const u8 gBattleDomeMatchNumberText4[]; -extern const u8 gBattleDomeMatchNumberText5[]; -extern const u8 gBattleDomeMatchNumberText6[]; -extern const u8 gBattleDomeMatchNumberText7[]; -extern const u8 gBattleDomeMatchNumberText8[]; -extern const u8 gBattleDomeMatchNumberText9[]; -extern const u8 gBattleDomeMatchNumberText10[]; -extern const u8 gBattleDomeMatchNumberText11[]; -extern const u8 gBattleDomeMatchNumberText12[]; -extern const u8 gBattleDomeMatchNumberText13[]; -extern const u8 gBattleDomeMatchNumberText14[]; -extern const u8 gBattleDomeMatchNumberText15[]; -extern const u8 gBattleDomeWinText1[]; -extern const u8 gBattleDomeWinText2[]; -extern const u8 gBattleDomeWinText3[]; -extern const u8 gBattleDomeWinText4[]; -extern const u8 gBattleDomeWinText5[]; -extern const u8 gBattleDomeWinText6[]; -extern const u8 gBattleDomeWinText7[]; +extern const u8 BattleDome_Text_Potential1[]; +extern const u8 BattleDome_Text_Potential2[]; +extern const u8 BattleDome_Text_Potential3[]; +extern const u8 BattleDome_Text_Potential4[]; +extern const u8 BattleDome_Text_Potential5[]; +extern const u8 BattleDome_Text_Potential6[]; +extern const u8 BattleDome_Text_Potential7[]; +extern const u8 BattleDome_Text_Potential8[]; +extern const u8 BattleDome_Text_Potential9[]; +extern const u8 BattleDome_Text_Potential10[]; +extern const u8 BattleDome_Text_Potential11[]; +extern const u8 BattleDome_Text_Potential12[]; +extern const u8 BattleDome_Text_Potential13[]; +extern const u8 BattleDome_Text_Potential14[]; +extern const u8 BattleDome_Text_Potential15[]; +extern const u8 BattleDome_Text_Potential16[]; +extern const u8 BattleDome_Text_PotentialDomeAceTucker[]; +extern const u8 BattleDome_Text_StyleRiskDisaster[]; +extern const u8 BattleDome_Text_StyleEndureLongBattles[]; +extern const u8 BattleDome_Text_StyleVariesTactics[]; +extern const u8 BattleDome_Text_StyleToughWinningPattern[]; +extern const u8 BattleDome_Text_StyleUsesVeryRareMove[]; +extern const u8 BattleDome_Text_StyleUsesStartlingMoves[]; +extern const u8 BattleDome_Text_StyleConstantlyWatchesHP[]; +extern const u8 BattleDome_Text_StyleStoresAndLoosesPower[]; +extern const u8 BattleDome_Text_StyleEnfeeblesFoes[]; +extern const u8 BattleDome_Text_StylePrefersLuckTactics[]; +extern const u8 BattleDome_Text_StyleRegalAtmosphere[]; +extern const u8 BattleDome_Text_StylePowerfulLowPPMoves[]; +extern const u8 BattleDome_Text_StyleEnfeebleThenAttack[]; +extern const u8 BattleDome_Text_StyleBattlesWhileEnduring[]; +extern const u8 BattleDome_Text_StyleUpsetsFoesEmotionally[]; +extern const u8 BattleDome_Text_StyleStrongAndStraightforward[]; +extern const u8 BattleDome_Text_StyleAggressivelyStrongMoves[]; +extern const u8 BattleDome_Text_StyleCleverlyDodgesAttacks[]; +extern const u8 BattleDome_Text_StyleUsesUpsettingMoves[]; +extern const u8 BattleDome_Text_StyleUsesPopularMoves[]; +extern const u8 BattleDome_Text_StyleHasPowerfulComboMoves[]; +extern const u8 BattleDome_Text_StyleUsesHighProbabilityMoves[]; +extern const u8 BattleDome_Text_StyleAggressivelySpectacularMoves[]; +extern const u8 BattleDome_Text_StyleEmphasizesOffenseOverDefense[]; +extern const u8 BattleDome_Text_StyleEmphasizesDefenseOverOffense[]; +extern const u8 BattleDome_Text_StyleAttacksQuicklyStrongMoves[]; +extern const u8 BattleDome_Text_StyleUsesAddedEffectMoves[]; +extern const u8 BattleDome_Text_StyleUsesBalancedMixOfMoves[]; +extern const u8 BattleDome_Text_StyleSampleMessage1[]; +extern const u8 BattleDome_Text_StyleSampleMessage2[]; +extern const u8 BattleDome_Text_StyleSampleMessage3[]; +extern const u8 BattleDome_Text_StyleSampleMessage4[]; +extern const u8 BattleDome_Text_EmphasizesHPAndAtk[]; +extern const u8 BattleDome_Text_EmphasizesHPAndDef[]; +extern const u8 BattleDome_Text_EmphasizesHPAndSpeed[]; +extern const u8 BattleDome_Text_EmphasizesHPAndSpAtk[]; +extern const u8 BattleDome_Text_EmphasizesHPAndSpDef[]; +extern const u8 BattleDome_Text_EmphasizesAtkAndDef[]; +extern const u8 BattleDome_Text_EmphasizesAtkAndSpeed[]; +extern const u8 BattleDome_Text_EmphasizesAtkAndSpAtk[]; +extern const u8 BattleDome_Text_EmphasizesAtkAndSpDef[]; +extern const u8 BattleDome_Text_EmphasizesDefAndSpeed[]; +extern const u8 BattleDome_Text_EmphasizesDefAndSpAtk[]; +extern const u8 BattleDome_Text_EmphasizesDefAndSpDef[]; +extern const u8 BattleDome_Text_EmphasizesSpeedAndSpAtk[]; +extern const u8 BattleDome_Text_EmphasizesSpeedAndSpDef[]; +extern const u8 BattleDome_Text_EmphasizesSpAtkAndSpDef[]; +extern const u8 BattleDome_Text_EmphasizesHP[]; +extern const u8 BattleDome_Text_EmphasizesAtk[]; +extern const u8 BattleDome_Text_EmphasizesDef[]; +extern const u8 BattleDome_Text_EmphasizesSpeed[]; +extern const u8 BattleDome_Text_EmphasizesSpAtk[]; +extern const u8 BattleDome_Text_EmphasizesSpDef[]; +extern const u8 BattleDome_Text_NeglectsHPAndAtk[]; +extern const u8 BattleDome_Text_NeglectsHPAndDef[]; +extern const u8 BattleDome_Text_NeglectsHPAndSpeed[]; +extern const u8 BattleDome_Text_NeglectsHPAndSpAtk[]; +extern const u8 BattleDome_Text_NeglectsHPAndSpDef[]; +extern const u8 BattleDome_Text_NeglectsAtkAndDef[]; +extern const u8 BattleDome_Text_NeglectsAtkAndSpeed[]; +extern const u8 BattleDome_Text_NeglectsAtkAndSpAtk[]; +extern const u8 BattleDome_Text_NeglectsAtkAndSpDef[]; +extern const u8 BattleDome_Text_NeglectsDefAndSpeed[]; +extern const u8 BattleDome_Text_NeglectsDefAndSpAtk[]; +extern const u8 BattleDome_Text_NeglectsDefAndSpDef[]; +extern const u8 BattleDome_Text_NeglectsSpeedAndSpAtk[]; +extern const u8 BattleDome_Text_NeglectsSpeedAndSpDef[]; +extern const u8 BattleDome_Text_NeglectsSpAtkAndSpDef[]; +extern const u8 BattleDome_Text_NeglectsHP[]; +extern const u8 BattleDome_Text_NeglectsAtk[]; +extern const u8 BattleDome_Text_NeglectsDef[]; +extern const u8 BattleDome_Text_NeglectsSpeed[]; +extern const u8 BattleDome_Text_NeglectsSpAtk[]; +extern const u8 BattleDome_Text_NeglectsSpDef[]; +extern const u8 BattleDome_Text_RaisesMonsWellBalanced[]; +extern const u8 BattleDome_Text_Round1Match1[]; +extern const u8 BattleDome_Text_Round1Match2[]; +extern const u8 BattleDome_Text_Round1Match3[]; +extern const u8 BattleDome_Text_Round1Match4[]; +extern const u8 BattleDome_Text_Round1Match5[]; +extern const u8 BattleDome_Text_Round1Match6[]; +extern const u8 BattleDome_Text_Round1Match7[]; +extern const u8 BattleDome_Text_Round1Match8[]; +extern const u8 BattleDome_Text_Round2Match1[]; +extern const u8 BattleDome_Text_Round2Match2[]; +extern const u8 BattleDome_Text_Round2Match3[]; +extern const u8 BattleDome_Text_Round2Match4[]; +extern const u8 BattleDome_Text_SemifinalMatch1[]; +extern const u8 BattleDome_Text_SemifinalMatch2[]; +extern const u8 BattleDome_Text_FinalMatch[]; +extern const u8 BattleDome_Text_LetTheBattleBegin[]; +extern const u8 BattleDome_Text_TrainerWonUsingMove[]; +extern const u8 BattleDome_Text_TrainerBecameChamp[]; +extern const u8 BattleDome_Text_TrainerWonByDefault[]; +extern const u8 BattleDome_Text_TrainerWonOutrightByDefault[]; +extern const u8 BattleDome_Text_TrainerWonNoMoves[]; +extern const u8 BattleDome_Text_TrainerWonOutrightNoMoves[]; // Battle Pyramid. -extern const u8 BattlePyramid_ExitHintUp_Text1[]; -extern const u8 BattlePyramid_ExitHintLeft_Text1[]; -extern const u8 BattlePyramid_ExitHintRight_Text1[]; -extern const u8 BattlePyramid_ExitHintDown_Text1[]; -extern const u8 BattlePyramid_ZeroItemsRemaining_Text1[]; -extern const u8 BattlePyramid_OneItemRemaining_Text1[]; -extern const u8 BattlePyramid_TwoItemsRemaining_Text1[]; -extern const u8 BattlePyramid_ThreeItemsRemaining_Text1[]; -extern const u8 BattlePyramid_FourItemsRemaining_Text1[]; -extern const u8 BattlePyramid_FiveItemsRemaining_Text1[]; -extern const u8 BattlePyramid_SixItemsRemaining_Text1[]; -extern const u8 BattlePyramid_SevenItemsRemaining_Text1[]; -extern const u8 BattlePyramid_EightItemsRemaining_Text1[]; -extern const u8 BattlePyramid_ZeroTrainersRemaining_Text1[]; -extern const u8 BattlePyramid_OneTrainersRemaining_Text1[]; -extern const u8 BattlePyramid_TwoTrainersRemaining_Text1[]; -extern const u8 BattlePyramid_ThreeTrainersRemaining_Text1[]; -extern const u8 BattlePyramid_FourTrainersRemaining_Text1[]; -extern const u8 BattlePyramid_FiveTrainersRemaining_Text1[]; -extern const u8 BattlePyramid_SixTrainersRemaining_Text1[]; -extern const u8 BattlePyramid_SevenTrainersRemaining_Text1[]; -extern const u8 BattlePyramid_ExitHintUp_Text2[]; -extern const u8 BattlePyramid_ExitHintLeft_Text2[]; -extern const u8 BattlePyramid_ExitHintRight_Text2[]; -extern const u8 BattlePyramid_ExitHintDown_Text2[]; -extern const u8 BattlePyramid_ZeroItemsRemaining_Text2[]; -extern const u8 BattlePyramid_OneItemRemaining_Text2[]; -extern const u8 BattlePyramid_TwoItemsRemaining_Text2[]; -extern const u8 BattlePyramid_ThreeItemsRemaining_Text2[]; -extern const u8 BattlePyramid_FourItemsRemaining_Text2[]; -extern const u8 BattlePyramid_FiveItemsRemaining_Text2[]; -extern const u8 BattlePyramid_SixItemsRemaining_Text2[]; -extern const u8 BattlePyramid_SevenItemsRemaining_Text2[]; -extern const u8 BattlePyramid_EightItemsRemaining_Text2[]; -extern const u8 BattlePyramid_ZeroTrainersRemaining_Text2[]; -extern const u8 BattlePyramid_OneTrainersRemaining_Text2[]; -extern const u8 BattlePyramid_TwoTrainersRemaining_Text2[]; -extern const u8 BattlePyramid_ThreeTrainersRemaining_Text2[]; -extern const u8 BattlePyramid_FourTrainersRemaining_Text2[]; -extern const u8 BattlePyramid_FiveTrainersRemaining_Text2[]; -extern const u8 BattlePyramid_SixTrainersRemaining_Text2[]; -extern const u8 BattlePyramid_SevenTrainersRemaining_Text2[]; -extern const u8 BattlePyramid_ExitHintUp_Text3[]; -extern const u8 BattlePyramid_ExitHintLeft_Text3[]; -extern const u8 BattlePyramid_ExitHintRight_Text3[]; -extern const u8 BattlePyramid_ExitHintDown_Text3[]; -extern const u8 BattlePyramid_ZeroItemsRemaining_Text3[]; -extern const u8 BattlePyramid_OneItemRemaining_Text3[]; -extern const u8 BattlePyramid_TwoItemsRemaining_Text3[]; -extern const u8 BattlePyramid_ThreeItemsRemaining_Text3[]; -extern const u8 BattlePyramid_FourItemsRemaining_Text3[]; -extern const u8 BattlePyramid_FiveItemsRemaining_Text3[]; -extern const u8 BattlePyramid_SixItemsRemaining_Text3[]; -extern const u8 BattlePyramid_SevenItemsRemaining_Text3[]; -extern const u8 BattlePyramid_EightItemsRemaining_Text3[]; -extern const u8 BattlePyramid_ZeroTrainersRemaining_Text3[]; -extern const u8 BattlePyramid_OneTrainersRemaining_Text3[]; -extern const u8 BattlePyramid_TwoTrainersRemaining_Text3[]; -extern const u8 BattlePyramid_ThreeTrainersRemaining_Text3[]; -extern const u8 BattlePyramid_FourTrainersRemaining_Text3[]; -extern const u8 BattlePyramid_FiveTrainersRemaining_Text3[]; -extern const u8 BattlePyramid_SixTrainersRemaining_Text3[]; -extern const u8 BattlePyramid_SevenTrainersRemaining_Text3[]; -extern const u8 BattlePyramid_ExitHintUp_Text4[]; -extern const u8 BattlePyramid_ExitHintLeft_Text4[]; -extern const u8 BattlePyramid_ExitHintRight_Text4[]; -extern const u8 BattlePyramid_ExitHintDown_Text4[]; -extern const u8 BattlePyramid_ZeroItemsRemaining_Text4[]; -extern const u8 BattlePyramid_OneItemRemaining_Text4[]; -extern const u8 BattlePyramid_TwoItemsRemaining_Text4[]; -extern const u8 BattlePyramid_ThreeItemsRemaining_Text4[]; -extern const u8 BattlePyramid_FourItemsRemaining_Text4[]; -extern const u8 BattlePyramid_FiveItemsRemaining_Text4[]; -extern const u8 BattlePyramid_SixItemsRemaining_Text4[]; -extern const u8 BattlePyramid_SevenItemsRemaining_Text4[]; -extern const u8 BattlePyramid_EightItemsRemaining_Text4[]; -extern const u8 BattlePyramid_ZeroTrainersRemaining_Text4[]; -extern const u8 BattlePyramid_OneTrainersRemaining_Text4[]; -extern const u8 BattlePyramid_TwoTrainersRemaining_Text4[]; -extern const u8 BattlePyramid_ThreeTrainersRemaining_Text4[]; -extern const u8 BattlePyramid_FourTrainersRemaining_Text4[]; -extern const u8 BattlePyramid_FiveTrainersRemaining_Text4[]; -extern const u8 BattlePyramid_SixTrainersRemaining_Text4[]; -extern const u8 BattlePyramid_SevenTrainersRemaining_Text4[]; -extern const u8 BattlePyramid_ExitHintUp_Text5[]; -extern const u8 BattlePyramid_ExitHintLeft_Text5[]; -extern const u8 BattlePyramid_ExitHintRight_Text5[]; -extern const u8 BattlePyramid_ExitHintDown_Text5[]; -extern const u8 BattlePyramid_ZeroItemsRemaining_Text5[]; -extern const u8 BattlePyramid_OneItemRemaining_Text5[]; -extern const u8 BattlePyramid_TwoItemsRemaining_Text5[]; -extern const u8 BattlePyramid_ThreeItemsRemaining_Text5[]; -extern const u8 BattlePyramid_FourItemsRemaining_Text5[]; -extern const u8 BattlePyramid_FiveItemsRemaining_Text5[]; -extern const u8 BattlePyramid_SixItemsRemaining_Text5[]; -extern const u8 BattlePyramid_SevenItemsRemaining_Text5[]; -extern const u8 BattlePyramid_EightItemsRemaining_Text5[]; -extern const u8 BattlePyramid_ZeroTrainersRemaining_Text5[]; -extern const u8 BattlePyramid_OneTrainersRemaining_Text5[]; -extern const u8 BattlePyramid_TwoTrainersRemaining_Text5[]; -extern const u8 BattlePyramid_ThreeTrainersRemaining_Text5[]; -extern const u8 BattlePyramid_FourTrainersRemaining_Text5[]; -extern const u8 BattlePyramid_FiveTrainersRemaining_Text5[]; -extern const u8 BattlePyramid_SixTrainersRemaining_Text5[]; -extern const u8 BattlePyramid_SevenTrainersRemaining_Text5[]; -extern const u8 BattlePyramid_ExitHintUp_Text6[]; -extern const u8 BattlePyramid_ExitHintLeft_Text6[]; -extern const u8 BattlePyramid_ExitHintRight_Text6[]; -extern const u8 BattlePyramid_ExitHintDown_Text6[]; -extern const u8 BattlePyramid_ZeroItemsRemaining_Text6[]; -extern const u8 BattlePyramid_OneItemRemaining_Text6[]; -extern const u8 BattlePyramid_TwoItemsRemaining_Text6[]; -extern const u8 BattlePyramid_ThreeItemsRemaining_Text6[]; -extern const u8 BattlePyramid_FourItemsRemaining_Text6[]; -extern const u8 BattlePyramid_FiveItemsRemaining_Text6[]; -extern const u8 BattlePyramid_SixItemsRemaining_Text6[]; -extern const u8 BattlePyramid_SevenItemsRemaining_Text6[]; -extern const u8 BattlePyramid_EightItemsRemaining_Text6[]; -extern const u8 BattlePyramid_ZeroTrainersRemaining_Text6[]; -extern const u8 BattlePyramid_OneTrainersRemaining_Text6[]; -extern const u8 BattlePyramid_TwoTrainersRemaining_Text6[]; -extern const u8 BattlePyramid_ThreeTrainersRemaining_Text6[]; -extern const u8 BattlePyramid_FourTrainersRemaining_Text6[]; -extern const u8 BattlePyramid_FiveTrainersRemaining_Text6[]; -extern const u8 BattlePyramid_SixTrainersRemaining_Text6[]; -extern const u8 BattlePyramid_SevenTrainersRemaining_Text6[]; - - +extern const u8 BattlePyramid_Text_ExitHintUp1[]; +extern const u8 BattlePyramid_Text_ExitHintLeft1[]; +extern const u8 BattlePyramid_Text_ExitHintRight1[]; +extern const u8 BattlePyramid_Text_ExitHintDown1[]; +extern const u8 BattlePyramid_Text_ZeroItemsRemaining1[]; +extern const u8 BattlePyramid_Text_OneItemRemaining1[]; +extern const u8 BattlePyramid_Text_TwoItemsRemaining1[]; +extern const u8 BattlePyramid_Text_ThreeItemsRemaining1[]; +extern const u8 BattlePyramid_Text_FourItemsRemaining1[]; +extern const u8 BattlePyramid_Text_FiveItemsRemaining1[]; +extern const u8 BattlePyramid_Text_SixItemsRemaining1[]; +extern const u8 BattlePyramid_Text_SevenItemsRemaining1[]; +extern const u8 BattlePyramid_Text_EightItemsRemaining1[]; +extern const u8 BattlePyramid_Text_ZeroTrainersRemaining1[]; +extern const u8 BattlePyramid_Text_OneTrainersRemaining1[]; +extern const u8 BattlePyramid_Text_TwoTrainersRemaining1[]; +extern const u8 BattlePyramid_Text_ThreeTrainersRemaining1[]; +extern const u8 BattlePyramid_Text_FourTrainersRemaining1[]; +extern const u8 BattlePyramid_Text_FiveTrainersRemaining1[]; +extern const u8 BattlePyramid_Text_SixTrainersRemaining1[]; +extern const u8 BattlePyramid_Text_SevenTrainersRemaining1[]; +extern const u8 BattlePyramid_Text_ExitHintUp2[]; +extern const u8 BattlePyramid_Text_ExitHintLeft2[]; +extern const u8 BattlePyramid_Text_ExitHintRight2[]; +extern const u8 BattlePyramid_Text_ExitHintDown2[]; +extern const u8 BattlePyramid_Text_ZeroItemsRemaining2[]; +extern const u8 BattlePyramid_Text_OneItemRemaining2[]; +extern const u8 BattlePyramid_Text_TwoItemsRemaining2[]; +extern const u8 BattlePyramid_Text_ThreeItemsRemaining2[]; +extern const u8 BattlePyramid_Text_FourItemsRemaining2[]; +extern const u8 BattlePyramid_Text_FiveItemsRemaining2[]; +extern const u8 BattlePyramid_Text_SixItemsRemaining2[]; +extern const u8 BattlePyramid_Text_SevenItemsRemaining2[]; +extern const u8 BattlePyramid_Text_EightItemsRemaining2[]; +extern const u8 BattlePyramid_Text_ZeroTrainersRemaining2[]; +extern const u8 BattlePyramid_Text_OneTrainersRemaining2[]; +extern const u8 BattlePyramid_Text_TwoTrainersRemaining2[]; +extern const u8 BattlePyramid_Text_ThreeTrainersRemaining2[]; +extern const u8 BattlePyramid_Text_FourTrainersRemaining2[]; +extern const u8 BattlePyramid_Text_FiveTrainersRemaining2[]; +extern const u8 BattlePyramid_Text_SixTrainersRemaining2[]; +extern const u8 BattlePyramid_Text_SevenTrainersRemaining2[]; +extern const u8 BattlePyramid_Text_ExitHintUp3[]; +extern const u8 BattlePyramid_Text_ExitHintLeft3[]; +extern const u8 BattlePyramid_Text_ExitHintRight3[]; +extern const u8 BattlePyramid_Text_ExitHintDown3[]; +extern const u8 BattlePyramid_Text_ZeroItemsRemaining3[]; +extern const u8 BattlePyramid_Text_OneItemRemaining3[]; +extern const u8 BattlePyramid_Text_TwoItemsRemaining3[]; +extern const u8 BattlePyramid_Text_ThreeItemsRemaining3[]; +extern const u8 BattlePyramid_Text_FourItemsRemaining3[]; +extern const u8 BattlePyramid_Text_FiveItemsRemaining3[]; +extern const u8 BattlePyramid_Text_SixItemsRemaining3[]; +extern const u8 BattlePyramid_Text_SevenItemsRemaining3[]; +extern const u8 BattlePyramid_Text_EightItemsRemaining3[]; +extern const u8 BattlePyramid_Text_ZeroTrainersRemaining3[]; +extern const u8 BattlePyramid_Text_OneTrainersRemaining3[]; +extern const u8 BattlePyramid_Text_TwoTrainersRemaining3[]; +extern const u8 BattlePyramid_Text_ThreeTrainersRemaining3[]; +extern const u8 BattlePyramid_Text_FourTrainersRemaining3[]; +extern const u8 BattlePyramid_Text_FiveTrainersRemaining3[]; +extern const u8 BattlePyramid_Text_SixTrainersRemaining3[]; +extern const u8 BattlePyramid_Text_SevenTrainersRemaining3[]; +extern const u8 BattlePyramid_Text_ExitHintUp4[]; +extern const u8 BattlePyramid_Text_ExitHintLeft4[]; +extern const u8 BattlePyramid_Text_ExitHintRight4[]; +extern const u8 BattlePyramid_Text_ExitHintDown4[]; +extern const u8 BattlePyramid_Text_ZeroItemsRemaining4[]; +extern const u8 BattlePyramid_Text_OneItemRemaining4[]; +extern const u8 BattlePyramid_Text_TwoItemsRemaining4[]; +extern const u8 BattlePyramid_Text_ThreeItemsRemaining4[]; +extern const u8 BattlePyramid_Text_FourItemsRemaining4[]; +extern const u8 BattlePyramid_Text_FiveItemsRemaining4[]; +extern const u8 BattlePyramid_Text_SixItemsRemaining4[]; +extern const u8 BattlePyramid_Text_SevenItemsRemaining4[]; +extern const u8 BattlePyramid_Text_EightItemsRemaining4[]; +extern const u8 BattlePyramid_Text_ZeroTrainersRemaining4[]; +extern const u8 BattlePyramid_Text_OneTrainersRemaining4[]; +extern const u8 BattlePyramid_Text_TwoTrainersRemaining4[]; +extern const u8 BattlePyramid_Text_ThreeTrainersRemaining4[]; +extern const u8 BattlePyramid_Text_FourTrainersRemaining4[]; +extern const u8 BattlePyramid_Text_FiveTrainersRemaining4[]; +extern const u8 BattlePyramid_Text_SixTrainersRemaining4[]; +extern const u8 BattlePyramid_Text_SevenTrainersRemaining4[]; +extern const u8 BattlePyramid_Text_ExitHintUp5[]; +extern const u8 BattlePyramid_Text_ExitHintLeft5[]; +extern const u8 BattlePyramid_Text_ExitHintRight5[]; +extern const u8 BattlePyramid_Text_ExitHintDown5[]; +extern const u8 BattlePyramid_Text_ZeroItemsRemaining5[]; +extern const u8 BattlePyramid_Text_OneItemRemaining5[]; +extern const u8 BattlePyramid_Text_TwoItemsRemaining5[]; +extern const u8 BattlePyramid_Text_ThreeItemsRemaining5[]; +extern const u8 BattlePyramid_Text_FourItemsRemaining5[]; +extern const u8 BattlePyramid_Text_FiveItemsRemaining5[]; +extern const u8 BattlePyramid_Text_SixItemsRemaining5[]; +extern const u8 BattlePyramid_Text_SevenItemsRemaining5[]; +extern const u8 BattlePyramid_Text_EightItemsRemaining5[]; +extern const u8 BattlePyramid_Text_ZeroTrainersRemaining5[]; +extern const u8 BattlePyramid_Text_OneTrainersRemaining5[]; +extern const u8 BattlePyramid_Text_TwoTrainersRemaining5[]; +extern const u8 BattlePyramid_Text_ThreeTrainersRemaining5[]; +extern const u8 BattlePyramid_Text_FourTrainersRemaining5[]; +extern const u8 BattlePyramid_Text_FiveTrainersRemaining5[]; +extern const u8 BattlePyramid_Text_SixTrainersRemaining5[]; +extern const u8 BattlePyramid_Text_SevenTrainersRemaining5[]; +extern const u8 BattlePyramid_Text_ExitHintUp6[]; +extern const u8 BattlePyramid_Text_ExitHintLeft6[]; +extern const u8 BattlePyramid_Text_ExitHintRight6[]; +extern const u8 BattlePyramid_Text_ExitHintDown6[]; +extern const u8 BattlePyramid_Text_ZeroItemsRemaining6[]; +extern const u8 BattlePyramid_Text_OneItemRemaining6[]; +extern const u8 BattlePyramid_Text_TwoItemsRemaining6[]; +extern const u8 BattlePyramid_Text_ThreeItemsRemaining6[]; +extern const u8 BattlePyramid_Text_FourItemsRemaining6[]; +extern const u8 BattlePyramid_Text_FiveItemsRemaining6[]; +extern const u8 BattlePyramid_Text_SixItemsRemaining6[]; +extern const u8 BattlePyramid_Text_SevenItemsRemaining6[]; +extern const u8 BattlePyramid_Text_EightItemsRemaining6[]; +extern const u8 BattlePyramid_Text_ZeroTrainersRemaining6[]; +extern const u8 BattlePyramid_Text_OneTrainersRemaining6[]; +extern const u8 BattlePyramid_Text_TwoTrainersRemaining6[]; +extern const u8 BattlePyramid_Text_ThreeTrainersRemaining6[]; +extern const u8 BattlePyramid_Text_FourTrainersRemaining6[]; +extern const u8 BattlePyramid_Text_FiveTrainersRemaining6[]; +extern const u8 BattlePyramid_Text_SixTrainersRemaining6[]; +extern const u8 BattlePyramid_Text_SevenTrainersRemaining6[]; // PC strings extern const u8 gText_ExitFromBox[]; @@ -2047,7 +2024,7 @@ extern const u8 gText_JustOnePkmn[]; // battle main extern const u8 gText_LinkStandby3[]; -extern const u8 gText_BattleRecordCouldntBeSaved[]; +extern const u8 BattleFrontier_BattleTowerBattleRoom_Text_RecordCouldntBeSaved[]; extern const u8 gText_Poison[]; extern const u8 gText_Sleep[]; extern const u8 gText_Paralysis[]; @@ -2057,8 +2034,8 @@ extern const u8 gText_Confusion[]; extern const u8 gText_Love[]; // battle message -extern const u8 gText_PkmnBoxSomeonesPCFull[]; -extern const u8 gText_PkmnBoxLanettesPCFull[]; +extern const u8 gText_PkmnTransferredSomeonesPCBoxFull[]; +extern const u8 gText_PkmnTransferredLanettesPCBoxFull[]; extern const u8 gText_PkmnTransferredSomeonesPC[]; extern const u8 gText_PkmnTransferredLanettesPC[]; @@ -2067,14 +2044,14 @@ extern const u8 gText_LeagueChamp[]; extern const u8 gText_HOFNumber[]; extern const u8 gText_PickNextCancel[]; extern const u8 gText_PickCancel[]; -extern const u8 gText_UnkCtrlF800Exit[]; +extern const u8 gText_AButtonExit[]; extern const u8 gText_HOFCorrupted[]; extern const u8 gText_WelcomeToHOF[]; extern const u8 gText_Number[]; extern const u8 gText_Level[]; extern const u8 gText_IDNumber[]; extern const u8 gText_Name[]; -extern const u8 gText_MainMenuTime[]; +extern const u8 gText_Time[]; // daycare extern const u8 gText_MaleSymbol4[]; @@ -2160,9 +2137,6 @@ extern const u8 gText_XSentOverY[]; extern const u8 gText_TakeGoodCareOfX[]; extern const u8 gText_CommunicationStandby5[]; -// roulette -extern const u8 gUnknown_082A5B89[]; - // match call extern const u8 MatchCall_WildBattleText1[]; extern const u8 MatchCall_WildBattleText2[]; @@ -2369,6 +2343,150 @@ extern const u8 MatchCall_BattlePyramidText11[]; extern const u8 MatchCall_BattlePyramidText12[]; extern const u8 MatchCall_BattlePyramidText13[]; extern const u8 MatchCall_BattlePyramidText14[]; +extern const u8 MatchCall_Text_MrStone1[]; +extern const u8 MatchCall_Text_MrStone2[]; +extern const u8 MatchCall_Text_MrStone3[]; +extern const u8 MatchCall_Text_MrStone4[]; +extern const u8 MatchCall_Text_MrStone5[]; +extern const u8 MatchCall_Text_MrStone6[]; +extern const u8 MatchCall_Text_MrStone7[]; +extern const u8 MatchCall_Text_MrStone8[]; +extern const u8 MatchCall_Text_MrStone9[]; +extern const u8 MatchCall_Text_MrStone10[]; +extern const u8 MatchCall_Text_MrStone11[]; +extern const u8 MatchCall_Text_Norman1[]; +extern const u8 MatchCall_Text_Norman2[]; +extern const u8 MatchCall_Text_Norman3[]; +extern const u8 MatchCall_Text_Norman4[]; +extern const u8 MatchCall_Text_Norman5[]; +extern const u8 MatchCall_Text_Norman6[]; +extern const u8 MatchCall_Text_Norman7[]; +extern const u8 MatchCall_Text_Norman8[]; +extern const u8 MatchCall_Text_Norman9[]; +extern const u8 MatchCall_Text_Mom1[]; +extern const u8 MatchCall_Text_Mom2[]; +extern const u8 MatchCall_Text_Mom3[]; +extern const u8 MatchCall_Text_Steven1[]; +extern const u8 MatchCall_Text_Steven2[]; +extern const u8 MatchCall_Text_Steven3[]; +extern const u8 MatchCall_Text_Steven4[]; +extern const u8 MatchCall_Text_Steven5[]; +extern const u8 MatchCall_Text_Steven6[]; +extern const u8 MatchCall_Text_Steven7[]; +extern const u8 MatchCall_Text_May1[]; +extern const u8 MatchCall_Text_May2[]; +extern const u8 MatchCall_Text_May3[]; +extern const u8 MatchCall_Text_May4[]; +extern const u8 MatchCall_Text_May5[]; +extern const u8 MatchCall_Text_May6[]; +extern const u8 MatchCall_Text_May7[]; +extern const u8 MatchCall_Text_May8[]; +extern const u8 MatchCall_Text_May9[]; +extern const u8 MatchCall_Text_May10[]; +extern const u8 MatchCall_Text_May11[]; +extern const u8 MatchCall_Text_May12[]; +extern const u8 MatchCall_Text_May13[]; +extern const u8 MatchCall_Text_May14[]; +extern const u8 MatchCall_Text_May15[]; +extern const u8 MatchCall_Text_Brendan1[]; +extern const u8 MatchCall_Text_Brendan2[]; +extern const u8 MatchCall_Text_Brendan3[]; +extern const u8 MatchCall_Text_Brendan4[]; +extern const u8 MatchCall_Text_Brendan5[]; +extern const u8 MatchCall_Text_Brendan6[]; +extern const u8 MatchCall_Text_Brendan7[]; +extern const u8 MatchCall_Text_Brendan8[]; +extern const u8 MatchCall_Text_Brendan9[]; +extern const u8 MatchCall_Text_Brendan10[]; +extern const u8 MatchCall_Text_Brendan11[]; +extern const u8 MatchCall_Text_Brendan12[]; +extern const u8 MatchCall_Text_Brendan13[]; +extern const u8 MatchCall_Text_Brendan14[]; +extern const u8 MatchCall_Text_Brendan15[]; +extern const u8 MatchCall_Text_Wally1[]; +extern const u8 MatchCall_Text_Wally2[]; +extern const u8 MatchCall_Text_Wally3[]; +extern const u8 MatchCall_Text_Wally4[]; +extern const u8 MatchCall_Text_Wally5[]; +extern const u8 MatchCall_Text_Wally6[]; +extern const u8 MatchCall_Text_Wally7[]; +extern const u8 MatchCall_Text_Scott1[]; +extern const u8 MatchCall_Text_Scott2[]; +extern const u8 MatchCall_Text_Scott3[]; +extern const u8 MatchCall_Text_Scott4[]; +extern const u8 MatchCall_Text_Scott5[]; +extern const u8 MatchCall_Text_Scott6[]; +extern const u8 MatchCall_Text_Scott7[]; +extern const u8 MatchCall_Text_Roxanne1[]; +extern const u8 MatchCall_Text_Roxanne2[]; +extern const u8 MatchCall_Text_Roxanne3[]; +extern const u8 MatchCall_Text_Roxanne4[]; +extern const u8 MatchCall_Text_Brawly1[]; +extern const u8 MatchCall_Text_Brawly2[]; +extern const u8 MatchCall_Text_Brawly3[]; +extern const u8 MatchCall_Text_Brawly4[]; +extern const u8 MatchCall_Text_Wattson1[]; +extern const u8 MatchCall_Text_Wattson2[]; +extern const u8 MatchCall_Text_Wattson3[]; +extern const u8 MatchCall_Text_Wattson4[]; +extern const u8 MatchCall_Text_Flannery1[]; +extern const u8 MatchCall_Text_Flannery2[]; +extern const u8 MatchCall_Text_Flannery3[]; +extern const u8 MatchCall_Text_Flannery4[]; +extern const u8 MatchCall_Text_Winona1[]; +extern const u8 MatchCall_Text_Winona2[]; +extern const u8 MatchCall_Text_Winona3[]; +extern const u8 MatchCall_Text_Winona4[]; +extern const u8 MatchCall_Text_TateLiza1[]; +extern const u8 MatchCall_Text_TateLiza2[]; +extern const u8 MatchCall_Text_TateLiza3[]; +extern const u8 MatchCall_Text_TateLiza4[]; +extern const u8 MatchCall_Text_Juan1[]; +extern const u8 MatchCall_Text_Juan2[]; +extern const u8 MatchCall_Text_Juan3[]; +extern const u8 MatchCall_Text_Juan4[]; +extern const u8 MatchCall_Text_Sidney[]; +extern const u8 MatchCall_Text_Phoebe[]; +extern const u8 MatchCall_Text_Glacia[]; +extern const u8 MatchCall_Text_Drake[]; +extern const u8 MatchCall_Text_Wallace[]; +extern const u8 gText_MrStoneMatchCallDesc[]; +extern const u8 gText_MrStoneMatchCallName[]; +extern const u8 gText_StevenMatchCallDesc[]; +extern const u8 gText_StevenMatchCallName[]; +extern const u8 gText_MayBrendanMatchCallDesc[]; +extern const u8 gText_WallyMatchCallDesc[]; +extern const u8 gText_NormanMatchCallDesc[]; +extern const u8 gText_NormanMatchCallName[]; +extern const u8 gText_MomMatchCallDesc[]; +extern const u8 gText_MomMatchCallName[]; +extern const u8 gText_ScottMatchCallDesc[]; +extern const u8 gText_ScottMatchCallName[]; +extern const u8 gText_RoxanneMatchCallDesc[]; +extern const u8 gText_BrawlyMatchCallDesc[]; +extern const u8 gText_WattsonMatchCallDesc[]; +extern const u8 gText_FlanneryMatchCallDesc[]; +extern const u8 gText_WinonaMatchCallDesc[]; +extern const u8 gText_TateLizaMatchCallDesc[]; +extern const u8 gText_JuanMatchCallDesc[]; +extern const u8 gText_EliteFourMatchCallDesc[]; +extern const u8 gText_ChampionMatchCallDesc[]; +extern const u8 gText_ProfBirchMatchCallDesc[]; +extern const u8 gText_ProfBirchMatchCallName[]; +extern const u8 gText_MatchCallSteven_Strategy[]; +extern const u8 gText_MatchCallSteven_Pokemon[]; +extern const u8 gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle[]; +extern const u8 gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle[]; +extern const u8 gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle[]; +extern const u8 gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle[]; +extern const u8 gText_MatchCallBrendan_Strategy[]; +extern const u8 gText_MatchCallBrendan_Pokemon[]; +extern const u8 gText_MatchCallBrendan_Intro1[]; +extern const u8 gText_MatchCallBrendan_Intro2[]; +extern const u8 gText_MatchCallMay_Strategy[]; +extern const u8 gText_MatchCallMay_Pokemon[]; +extern const u8 gText_MatchCallMay_Intro1[]; +extern const u8 gText_MatchCallMay_Intro2[]; // Contest Link extern const u8 gText_ColorDarkGrey[]; @@ -2408,35 +2526,39 @@ extern const u8 gText_BattlePtsWon[]; extern const u8 gText_SymbolsEarned[]; extern const u8 gText_BattleRecord[]; extern const u8 gText_BattlePoints[]; -extern const u8 gUnknown_085EDA96[]; -extern const u8 gUnknown_085ED932[]; -extern const u8 gUnknown_085ED94D[]; -extern const u8 gUnknown_085ED961[]; -extern const u8 gUnknown_085ED977[]; -extern const u8 gUnknown_085ED993[]; -extern const u8 gUnknown_085ED9AF[]; -extern const u8 gUnknown_085ED9C7[]; -extern const u8 gUnknown_085ED9E5[]; -extern const u8 gUnknown_085EDA02[]; -extern const u8 gUnknown_085EDA21[]; -extern const u8 gUnknown_085EDA3C[]; -extern const u8 gUnknown_085EDA5E[]; -extern const u8 gUnknown_085EDA78[]; -extern const u8 gUnknown_085ED931[]; -extern const u8 gUnknown_085EDAB1[]; -extern const u8 gUnknown_085EDB0F[]; -extern const u8 gUnknown_085EDABE[]; -extern const u8 gUnknown_085EDB4E[]; -extern const u8 gUnknown_085EDACA[]; -extern const u8 gUnknown_085EDB8B[]; -extern const u8 gUnknown_085EDAD8[]; -extern const u8 gUnknown_085EDBC2[]; -extern const u8 gUnknown_085EDAE5[]; -extern const u8 gUnknown_085EDC00[]; -extern const u8 gUnknown_085EDAF4[]; -extern const u8 gUnknown_085EDC45[]; -extern const u8 gUnknown_085EDB00[]; -extern const u8 gUnknown_085EDC84[]; +extern const u8 gText_ThereIsNoBattleRecord[]; +extern const u8 gText_CheckFrontierMap[]; +extern const u8 gText_CheckTrainerCard[]; +extern const u8 gText_ViewRecordedBattle[]; +extern const u8 gText_PutAwayFrontierPass[]; +extern const u8 gText_CurrentBattlePoints[]; +extern const u8 gText_CollectedSymbols[]; +extern const u8 gText_BattleTowerAbilitySymbol[]; +extern const u8 gText_BattleDomeTacticsSymbol[]; +extern const u8 gText_BattlePalaceSpiritsSymbol[]; +extern const u8 gText_BattleArenaGutsSymbol[]; +extern const u8 gText_BattleFactoryKnowledgeSymbol[]; +extern const u8 gText_BattlePikeLuckSymbol[]; +extern const u8 gText_BattlePyramidBraveSymbol[]; +extern const u8 gText_EmptyString7[]; +extern const u8 gText_BattleTower3[]; +extern const u8 gText_BattleDome2[]; +extern const u8 gText_BattlePalace2[]; +extern const u8 gText_BattleArena2[]; +extern const u8 gText_BattleFactory2[]; +extern const u8 gText_BattlePike2[]; +extern const u8 gText_BattlePyramid2[]; +extern const u8 gText_BattleTowerDesc[]; +extern const u8 gText_BattleDomeDesc[]; +extern const u8 gText_BattlePalaceDesc[]; +extern const u8 gText_BattleArenaDesc[]; +extern const u8 gText_BattleFactoryDesc[]; +extern const u8 gText_BattlePikeDesc[]; +extern const u8 gText_BattlePyramidDesc[]; + +// Apprentice +extern const u8 gText_Give[]; +extern const u8 gText_NoNeed[]; // Easy Chat Entry extern const u8 gText_StopGivingPkmnMail[]; @@ -2534,72 +2656,68 @@ extern const u8 gEasyChatGroupName_Move2[]; extern const u8 gEasyChatGroupName_TrendySaying[]; extern const u8 gEasyChatGroupName_Pokemon2[]; -extern const u8 gUnknown_862B810[]; -extern const u8 gUnknown_862B832[]; -extern const u8 gUnknown_862B84B[]; -extern const u8 gUnknown_862B86C[]; -extern const u8 gUnknown_0862B88D[]; -extern const u8 gUnknown_0862B8AE[]; -extern const u8 gUnknown_0862B8CF[]; -extern const u8 gUnknown_0862B8F0[]; -extern const u8 gUnknown_0862B911[]; -extern const u8 gUnknown_0862B932[]; -extern const u8 gUnknown_0862B953[]; -extern const u8 gUnknown_0862B974[]; -extern const u8 gUnknown_0862B995[]; -extern const u8 gUnknown_0862B9AE[]; -extern const u8 gUnknown_0862B9C7[]; -extern const u8 gUnknown_0862B9E0[]; -extern const u8 gUnknown_0862B9F9[]; -extern const u8 gUnknown_0862B9FF[]; -extern const u8 gUnknown_0862BA05[]; -extern const u8 gUnknown_0862BA0B[]; -extern const u8 gUnknown_0862BA11[]; -extern const u8 gUnknown_0862BA17[]; -extern const u8 gUnknown_0862BA1D[]; -extern const u8 gUnknown_0862BA23[]; -extern const u8 gUnknown_0862BA29[]; -extern const u8 gUnknown_0862BA2F[]; -extern const u8 gUnknown_0862BA35[]; -extern const u8 gUnknown_0862BA3B[]; -extern const u8 gUnknown_0862BA41[]; -extern const u8 gUnknown_0862BA47[]; -extern const u8 gUnknown_0862BA4D[]; -extern const u8 gUnknown_0862BA53[]; -extern const u8 gUnknown_0862BA59[]; -extern const u8 gUnknown_0862BA5F[]; -extern const u8 gUnknown_0862BA65[]; -extern const u8 gUnknown_0862BA6B[]; -extern const u8 gUnknown_0862BA79[]; -extern const u8 gUnknown_0862BA84[]; -extern const u8 gUnknown_0862BA8F[]; -extern const u8 gUnknown_0862BA9A[]; -extern const u8 gUnknown_0862BAA3[]; -extern const u8 gUnknown_0862BAAE[]; -extern const u8 gUnknown_0862BAB9[]; -extern const u8 gUnknown_0862BAC4[]; -extern const u8 gUnknown_0862BACF[]; -extern const u8 gUnknown_0862BADA[]; +// Text Input Strings +extern const u8 gText_EasyChatKeyboard_ABCDEFothers[]; +extern const u8 gText_EasyChatKeyboard_GHIJKL[]; +extern const u8 gText_EasyChatKeyboard_MNOPQRS[]; +extern const u8 gText_EasyChatKeyboard_TUVWXYZ[]; +extern const u8 gText_NamingScreenKeyboard_abcdef[]; +extern const u8 gText_NamingScreenKeyboard_ghijkl[]; +extern const u8 gText_NamingScreenKeyboard_mnopqrs[]; +extern const u8 gText_NamingScreenKeyboard_tuvwxyz[]; +extern const u8 gText_NamingScreenKeyboard_ABCDEF[]; +extern const u8 gText_NamingScreenKeyboard_GHIJKL[]; +extern const u8 gText_NamingScreenKeyboard_MNOPQRS[]; +extern const u8 gText_NamingScreenKeyboard_TUVWXYZ[]; +extern const u8 gText_NamingScreenKeyboard_01234[]; +extern const u8 gText_NamingScreenKeyboard_56789[]; +extern const u8 gText_NamingScreenKeyboard_Symbols1[]; +extern const u8 gText_NamingScreenKeyboard_Symbols2[]; +extern const u8 gText_UnionRoomChatKeyboard_ABCDE[]; +extern const u8 gText_UnionRoomChatKeyboard_FGHIJ[]; +extern const u8 gText_UnionRoomChatKeyboard_KLMNO[]; +extern const u8 gText_UnionRoomChatKeyboard_PQRST[]; +extern const u8 gText_UnionRoomChatKeyboard_UVWXY[]; +extern const u8 gText_UnionRoomChatKeyboard_Z[]; +extern const u8 gText_UnionRoomChatKeyboard_01234Upper[]; +extern const u8 gText_UnionRoomChatKeyboard_56789Upper[]; +extern const u8 gText_UnionRoomChatKeyboard_PunctuationUpper[]; +extern const u8 gText_UnionRoomChatKeyboard_SymbolsUpper[]; +extern const u8 gText_UnionRoomChatKeyboard_abcde[]; +extern const u8 gText_UnionRoomChatKeyboard_fghij[]; +extern const u8 gText_UnionRoomChatKeyboard_klmno[]; +extern const u8 gText_UnionRoomChatKeyboard_pqrst[]; +extern const u8 gText_UnionRoomChatKeyboard_uvwxy[]; +extern const u8 gText_UnionRoomChatKeyboard_z[]; +extern const u8 gText_UnionRoomChatKeyboard_01234Lower[]; +extern const u8 gText_UnionRoomChatKeyboard_56789Lower[]; +extern const u8 gText_UnionRoomChatKeyboard_PunctuationLower[]; +extern const u8 gText_UnionRoomChatKeyboard_SymbolsLower[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji1[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji2[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji3[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji4[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji5[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji6[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji7[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji8[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji9[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji10[]; // E-Reader -extern const u8 gUnknown_085EDFD6[]; -extern const u8 gUnknown_085EDFF5[]; -extern const u8 gUnknown_085EE014[]; -extern const u8 gUnknown_085EE035[]; -extern const u8 gUnknown_085EE05C[]; -extern const u8 gUnknown_085EE06B[]; -extern const u8 gUnknown_085EE080[]; -extern const u8 gUnknown_085EE097[]; -extern const u8 gUnknown_085EE0A3[]; -extern const u8 gUnknown_085EE0BF[]; -extern const u8 gUnknown_085EE0DC[]; -extern const u8 gUnknown_085EE0FA[]; -extern const u8 gUnknown_085EE107[]; -extern const u8 gUnknown_085EE120[]; -extern const u8 gUnknown_085EE12D[]; -extern const u8 gUnknown_085EE14B[]; -extern const u8 gUnknown_085EE14F[]; -extern const u8 gUnknown_085EE154[]; +extern const u8 gJPText_ReceiveMysteryGiftWithEReader[]; +extern const u8 gJPText_SelectConnectFromEReaderMenu[]; +extern const u8 gJPText_SelectConnectWithGBA[]; +extern const u8 gJPText_LinkIsIncorrect[]; +extern const u8 gJPText_CardReadingHasBeenHalted[]; +extern const u8 gJPText_Connecting[]; +extern const u8 gJPText_ConnectionErrorCheckLink[]; +extern const u8 gJPText_ConnectionErrorTryAgain[]; +extern const u8 gJPText_AllowEReaderToLoadCard[]; +extern const u8 gJPText_ConnectionComplete[]; +extern const u8 gJPText_NewTrainerHasComeToHoenn[]; +extern const u8 gJPText_PleaseWaitAMoment[]; +extern const u8 gJPText_WriteErrorUnableToSaveData[]; // Berry Powder Menu extern const u8 gText_Powder[]; @@ -2614,7 +2732,7 @@ extern const u8 gText_Battle[]; extern const u8 gText_Lets[]; extern const u8 gText_Ok[]; extern const u8 gText_Sorry[]; -extern const u8 gText_YayUnkF9F9[]; +extern const u8 gText_YaySmileEmoji[]; extern const u8 gText_ThankYou[]; extern const u8 gText_ByeBye[]; @@ -2744,6 +2862,27 @@ extern const u8 gText_JumpsInARow[]; extern const u8 gText_BestScore2[]; extern const u8 gText_ExcellentsInARow[]; +// Berry crush +extern const u8 gText_Var1Berry[]; +extern const u8 gText_XDotY[]; +extern const u8 gText_1DotBlueF700[]; +extern const u8 gText_1DotF700[]; +extern const u8 gText_TimeColon[]; +extern const u8 gText_SpaceSec[]; +extern const u8 gText_XDotY2[]; +extern const u8 gText_SpaceMin[]; +extern const u8 gText_StrVar1[]; +extern const u8 gText_PressingSpeed[]; +extern const u8 gText_TimesPerSec[]; +extern const u8 gText_XDotY3[]; +extern const u8 gText_Silkiness[]; +extern const u8 gText_Var1Percent[]; +extern const u8 gText_PressesRankings[]; +extern const u8 gText_CrushingResults[]; +extern const u8 gText_BerryCrush2[]; +extern const u8 gText_PressingSpeedRankings[]; +extern const u8 gText_Var1Players[]; + // Lilycove Lady extern const u8 gText_ContestLady_Handsome[]; extern const u8 gText_ContestLady_Vinny[]; @@ -2777,26 +2916,26 @@ extern const u8 gText_Unknown[]; extern const u8 gText_TrainerCloseBy[]; // pokenav_unk_2 -extern const u8 gUnknown_085EBCC5[]; -extern const u8 gUnknown_085EBCE8[]; -extern const u8 gUnknown_085EBD01[]; -extern const u8 gUnknown_085EBD1C[]; -extern const u8 gUnknown_085EBD34[]; -extern const u8 gUnknown_085EBD83[]; -extern const u8 gUnknown_085EBDA2[]; -extern const u8 gUnknown_085EBDBF[]; -extern const u8 gUnknown_085EBDDB[]; -extern const u8 gUnknown_085EBDEE[]; -extern const u8 gUnknown_085EBE06[]; -extern const u8 gUnknown_085EBE19[]; -extern const u8 gUnknown_085EBE2D[]; -extern const u8 gUnknown_085EBE41[]; +extern const u8 gText_CheckMapOfHoenn[]; +extern const u8 gText_CheckPokemonInDetail[]; +extern const u8 gText_CallRegisteredTrainer[]; +extern const u8 gText_CheckObtainedRibbons[]; +extern const u8 gText_PutAwayPokenav[]; +extern const u8 gText_CheckPartyPokemonInDetail[]; +extern const u8 gText_CheckAllPokemonInDetail[]; +extern const u8 gText_ReturnToPokenavMenu[]; +extern const u8 gText_FindCoolPokemon[]; +extern const u8 gText_FindBeautifulPokemon[]; +extern const u8 gText_FindCutePokemon[]; +extern const u8 gText_FindSmartPokemon[]; +extern const u8 gText_FindToughPokemon[]; +extern const u8 gText_ReturnToConditionMenu[]; extern const u8 gText_NoRibbonWinners[]; // pokenav_unk_4 -extern const u8 gUnknown_085EC017[]; -extern const u8 gUnknown_085EC01C[]; -extern const u8 gUnknown_085EC022[]; +extern const u8 gText_Call[]; +extern const u8 gText_Check[]; +extern const u8 gText_Cancel6[]; // pokenav_unk_8 extern const u8 gText_NumberF700[]; diff --git a/include/task.h b/include/task.h index 4852571b44..d0ca34f7f3 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/trade.h b/include/trade.h index 0c95e1e81f..72a04ed217 100644 --- a/include/trade.h +++ b/include/trade.h @@ -2,25 +2,26 @@ #define GUARD_TRADE_H #include "link_rfu.h" +#include "constants/trade.h" // Exported type declarations // Exported RAM declarations -extern struct MailStruct gUnknown_020321C0[PARTY_SIZE]; -extern u8 gUnknown_02032298[2]; +extern struct MailStruct gTradeMail[PARTY_SIZE]; +extern u8 gSelectedTradeMonPositions[2]; // Exported ROM declarations -extern const struct WindowTemplate gUnknown_0833900C; +extern const struct WindowTemplate gTradeEvolutionSceneYesNoWindowTemplate; -s32 sub_807A728(void); -void sub_80773AC(void); -void sub_807AE50(void); -int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8); -int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6); -int sub_807A918(struct Pokemon*, u16); -void sub_807B140(void); -void sub_807B154(void); -void sub_807F19C(void); -void sub_807F1A8(u8, const u8 *, u8); +s32 GetGameProgressForLinkTrade(void); +void CB2_StartCreateTradeMenu(void); +void CB2_LinkTrade(void); +int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8); +int GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6); +int CanSpinTradeMon(struct Pokemon*, u16); +void InitTradeSequenceBgGpuRegs(void); +void LinkTradeDrawWindow(void); +void InitTradeBg(void); +void DrawTextOnTradeWindow(u8, const u8 *, u8); #endif //GUARD_TRADE_H diff --git a/include/trainer_hill.h b/include/trainer_hill.h index 31480287a5..c07aeb6d72 100644 --- a/include/trainer_hill.h +++ b/include/trainer_hill.h @@ -32,15 +32,15 @@ struct TrHillDisplay struct TrHillFloor { - u8 unk0; - u8 unk1; + u8 trainerNum1; + u8 trainerNum2; struct TrainerHillTrainer trainers[2]; struct TrHillDisplay display; }; struct TrHillTag { - u8 unkField_0; + u8 numTrainers; u8 unused1; u8 numFloors; u32 checksum; @@ -57,25 +57,24 @@ u8 GetTrainerHillTrainerFrontSpriteId(u16 trainerId); void InitTrainerHillBattleStruct(void); void FreeTrainerHillBattleStruct(void); void CopyTrainerHillTrainerText(u8 which, u16 trainerId); -bool8 sub_81D5C18(void); +bool8 InTrainerHillChallenge(void); void nullsub_129(void); void PrintOnTrainerHillRecordsWindow(void); -void sub_81D5DF8(void); -bool32 sub_81D5F48(void); -void sub_81D5FB4(u16 *mapArg); +void LoadTrainerHillEventObjectTemplates(void); +bool32 LoadTrainerHillFloorEventObjectScripts(void); +void GenerateTrainerHillFloorLayout(u16 *mapArg); bool32 InTrainerHill(void); u8 GetCurrentTrainerHillMapId(void); -const struct WarpEvent* sub_81D6120(void); -const struct WarpEvent* sub_81D6134(u8 warpEventId); +const struct WarpEvent* SetWarpDestinationTrainerHill4F(void); +const struct WarpEvent* SetWarpDestinationTrainerHillFinalFloor(u8 warpEventId); u16 LocalIdToHillTrainerId(u8 localId); bool8 GetHillTrainerFlag(u8 eventObjectId); void SetHillTrainerFlag(void); const u8 *GetTrainerHillTrainerScript(void); void FillHillTrainerParty(void); void FillHillTrainersParties(void); -u32 sub_81D63C4(void); u8 GetTrainerEncounterMusicIdInTrainerHill(u16 trainerId); -u8 sub_81D6490(void); +u8 GetNumFloorsInTrainerHillChallenge(void); void sub_81D64C0(void); bool32 sub_81D6534(void); diff --git a/include/trainer_see.h b/include/trainer_see.h index a9b92d71ba..daf9d02984 100644 --- a/include/trainer_see.h +++ b/include/trainer_see.h @@ -9,11 +9,11 @@ struct ApproachingTrainer u8 taskId; }; -extern u16 gUnknown_03006080; -extern u8 gUnknown_03006084[4]; +extern u16 gWhichTrainerToFaceAfterBattle; +extern u8 gPostBattleMovementScript[4]; extern struct ApproachingTrainer gApproachingTrainers[2]; extern u8 gNoOfApproachingTrainers; -extern u8 gUnknown_030060AC; +extern bool8 gTrainerApproachedPlayer; extern u8 gApproachingTrainerId; bool8 CheckForTrainersWantingBattle(void); @@ -25,6 +25,6 @@ u8 FldEff_QuestionMarkIcon(void); u8 FldEff_HeartIcon(void); u8 GetCurrentApproachingTrainerEventObjectId(void); u8 GetChosenApproachingTrainerEventObjectId(u8 arrayId); -void sub_80B4808(void); +void PlayerFaceTrainerAfterBattle(void); #endif // GUARD_TRAINER_SEE_H diff --git a/include/tv.h b/include/tv.h index ec7ac1e890..8e9233c2bd 100644 --- a/include/tv.h +++ b/include/tv.h @@ -9,18 +9,18 @@ extern u8 *const gTVStringVarPtrs[3]; void ClearTVShowData(void); void sub_80EE184(void); void sub_80EE35C(u16 foeSpecies, u16 species, u8 moveIdx, const u16 *movePtr, u16 betterMove); -void sub_80EE8C8(u16 winStreak, u8 facility); +void TryPutFrontierTVShowOnAir(u16 winStreak, u8 facility); void DoTVShow(void); void DoTVShowInSearchOfTrainers(void); -void sub_80EDCE8(void); -void sub_80EE2CC(void); -void sub_80EE72C(void); -void sub_80EED10(void); -void sub_80EED34(void); -void sub_80EED60(u16 delta); -void sub_80F01B8(void); +void TryPutTreasureInvestigatorsOnAir(void); +void TryPutLotteryWinnerReportOnAir(void); +void TryPutTrainerFanClubOnAir(void); +void IncrementDailyPlantedBerries(void); +void IncrementDailyPickedBerries(void); +void IncrementDailyBattlePoints(u16 delta); +void HideBattleTowerReporter(void); void ReceiveTvShowsData(void *src, u32 size, u8 masterIdx); -void sub_80EE4DC(struct Pokemon *pokemon, u8 ribbonMonDataIdx); +void TryPutSpotTheCutiesOnAir(struct Pokemon *pokemon, u8 ribbonMonDataIdx); u32 GetPlayerIDAsU32(void); bool8 GetPriceReduction(u8 newsKind); void sub_80F14F8(TVShow *shows); @@ -29,17 +29,17 @@ u8 GetRibbonCount(struct Pokemon *pokemon); void AlertTVThatPlayerPlayedSlotMachine(u16 nCoinsSpent); void AlertTVThatPlayerPlayedRoulette(u16 nCoinsSpent); void AlertTVOfNewCoinTotal(u16 nCoinsPaidOut); -void sub_80EEA70(void); +void TryPutSecretBaseSecretsOnAir(void); void sub_80EDB44(void); void sub_80EDC60(const u16 *words); void sub_80EDA80(void); void ReceivePokeNewsData(void *src, u32 size, u8 masterIdx); void sub_80F0BB8(void); void sub_80ED950(bool8 flag); -void sub_80EEC80(void); -void sub_80EECA4(void); -void sub_80EECC8(void); -void sub_80EECEC(void); +void IncrementDailySlotsUses(void); +void IncrementDailyRouletteUses(void); +void IncrementDailyWildBattles(void); +void IncrementDailyBerryBlender(void); void sub_80F1208(TVShow *shows); void sub_80EE44C(u8 nMonsCaught, u8 nPkblkUsed); void sub_80F14F8(TVShow *shows); @@ -56,7 +56,7 @@ void InterviewAfter(void); void UpdateTVScreensOnMap(int, int); void TV_PrintIntToStringVar(u8 varIdx, int value); void SaveRecordedItemPurchasesForTVShow(void); -bool8 sub_80EE818(void); +bool8 ShouldAirFrontierTVShow(void); void sub_80EE8C8(u16 winStreak, u8 facilityAndMode); void BravoTrainerPokemonProfile_BeforeInterview2(u8 contestStandingPlace); void ContestLiveUpdates_BeforeInterview_1(u8 a0); diff --git a/include/union_room.h b/include/union_room.h index facc63986d..54f09cbeb0 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -135,7 +135,7 @@ union UnkUnion_Main struct UnkStruct_URoom *uRoom; }; -struct TradeUnkStruct +struct UnionRoomTrade { u16 field_0; u16 type; @@ -156,8 +156,8 @@ extern u8 gUnknown_02022C2C; extern union UnkUnion_Main gUnknown_02022C30; extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38; -extern u16 gUnknown_02022C3C; -extern u8 gUnknown_02022C3E; +extern u16 gUnionRoomOfferedSpecies; +extern u8 gUnionRoomRequestedMonType; // Exported ROM declarations diff --git a/include/union_room_chat.h b/include/union_room_chat.h index 17e4825251..e7ca9d46ec 100755 --- a/include/union_room_chat.h +++ b/include/union_room_chat.h @@ -1,6 +1,17 @@ #ifndef GUARD_UNION_ROOM_CHAT_H #define GUARD_UNION_ROOM_CHAT_H +enum +{ + UNION_ROOM_KB_PAGE_UPPER, + UNION_ROOM_KB_PAGE_LOWER, + UNION_ROOM_KB_PAGE_EMOJI, + UNION_ROOM_KB_PAGE_COUNT +}; + +#define UNION_ROOM_KB_ROW_COUNT 10 + + void sub_801DD98(void); void copy_strings_to_sav1(void); diff --git a/ld_script.txt b/ld_script.txt index 4247fca4d2..7e0eeac3de 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -49,15 +49,15 @@ SECTIONS { { src/crt0.o(.text); src/main.o(.text); - src/alloc.o(.text); - src/dma3_manager.o(.text); - src/gpu_regs.o(.text); - src/bg.o(.text); - src/blit.o(.text); - src/window.o(.text); - src/text.o(.text); - src/sprite.o(.text); - src/string_util.o(.text); + gflib/malloc.o(.text); + gflib/dma3_manager.o(.text); + gflib/gpu_regs.o(.text); + gflib/bg.o(.text); + gflib/blit.o(.text); + gflib/window.o(.text); + gflib/text.o(.text); + gflib/sprite.o(.text); + gflib/string_util.o(.text); src/link.o(.text); src/link_rfu.o(.text); src/union_room.o(.text); @@ -72,7 +72,6 @@ SECTIONS { src/mevent_news.o(.text); src/union_room_chat.o(.text); src/berry_crush.o(.text); - asm/berry_crush.o(.text); src/berry_powder.o(.text); src/dodrio_berry_picking.o(.text); src/pokemon_jump.o(.text); @@ -204,7 +203,7 @@ SECTIONS { src/dewford_trend.o(.text); src/heal_location.o(.text); src/region_map.o(.text); - src/contest_painting_effects.o(.text); + src/image_processing_effects.o(.text); src/decoration.o(.text); src/slot_machine.o(.text); src/contest_painting.o(.text); @@ -287,7 +286,7 @@ SECTIONS { src/battle_arena.o(.text); src/battle_factory.o(.text); src/battle_pike.o(.text); - src/mossdeep_gym.o(.text); + src/rotating_tile_puzzle.o(.text); src/battle_pyramid.o(.text); src/item_menu.o(.text); src/list_menu.o(.text); @@ -361,7 +360,21 @@ SECTIONS { src/librfu_rfu.o(.text); asm/librfu.o(.text); src/libisagbprn.o(.text); - src/libagbsyscall.o(.text); + *libagbsyscall.a:ArcTan2.o(.text); + *libagbsyscall.a:BgAffineSet.o(.text); + *libagbsyscall.a:CpuFastSet.o(.text); + *libagbsyscall.a:CpuSet.o(.text); + *libagbsyscall.a:Div.o(.text); + *libagbsyscall.a:LZ77UnCompVram.o(.text); + *libagbsyscall.a:LZ77UnCompWram.o(.text); + *libagbsyscall.a:MultiBoot.o(.text); + *libagbsyscall.a:ObjAffineSet.o(.text); + *libagbsyscall.a:RLUnCompVram.o(.text); + *libagbsyscall.a:RLUnCompWram.o(.text); + *libagbsyscall.a:RegisterRamReset.o(.text); + *libagbsyscall.a:SoftReset.o(.text); + *libagbsyscall.a:Sqrt.o(.text); + *libagbsyscall.a:VBlankIntrWait.o(.text); *libgcc.a:_call_via_rX.o(.text); *libgcc.a:_divdi3.o(.text); *libgcc.a:_divsi3.o(.text); @@ -420,12 +433,12 @@ SECTIONS { ALIGN(4) { src/main.o(.rodata); - src/bg.o(.rodata); - src/window.o(.rodata); - src/text.o(.rodata); - src/sprite.o(.rodata); + gflib/bg.o(.rodata); + gflib/window.o(.rodata); + gflib/text.o(.rodata); + gflib/sprite.o(.rodata); data/io_reg.o(.rodata); - src/string_util.o(.rodata); + gflib/string_util.o(.rodata); src/link.o(.rodata); src/link.o(.rodata.str1.4); src/link_rfu.o(.rodata); @@ -561,8 +574,8 @@ SECTIONS { src/menu_helpers.o(.rodata); src/heal_location.o(.rodata); src/region_map.o(.rodata); - src/contest_painting_effects.o(.rodata); - data/contest_painting_effects.o(.rodata); + src/image_processing_effects.o(.rodata); + data/image_processing_effects.o(.rodata); src/decoration.o(.rodata); src/slot_machine.o(.rodata); data/slot_machine.o(.rodata); @@ -630,8 +643,8 @@ SECTIONS { src/battle_arena.o(.rodata); src/battle_factory.o(.rodata); src/battle_pike.o(.rodata); - src/mossdeep_gym.o(.rodata); - data/mossdeep_gym.o(.rodata); + src/rotating_tile_puzzle.o(.rodata); + data/rotating_tile_puzzle.o(.rodata); src/battle_pyramid.o(.rodata); src/item_menu.o(.rodata); src/list_menu.o(.rodata); @@ -673,7 +686,7 @@ SECTIONS { data/text_input_strings.o(.rodata); data/fonts.o(.rodata); src/mystery_event_msg.o(.rodata); - data/mystery_event_msg.o(.rodata); + data/mystery_event.o(.rodata); src/m4a_tables.o(.rodata); data/sound_data.o(.rodata); } =0 diff --git a/ld_script_modern.txt b/ld_script_modern.txt index 5157e81dca..bf575857e6 100644 --- a/ld_script_modern.txt +++ b/ld_script_modern.txt @@ -14,6 +14,7 @@ SECTIONS { . = 0x1C000; src/*.o(ewram_data); + gflib/*.o(ewram_data); . = 0x40000; } @@ -25,12 +26,14 @@ SECTIONS { { /* .bss starts at 0x3000000 */ src/*.o(.bss); + gflib/*.o(.bss); /* .bss.code starts at 0x3001AA8 */ src/m4a.o(.bss.code); /* COMMON starts at 0x30022A8 */ src/*.o(COMMON); + gflib/*.o(COMMON); *libc.a:sbrkr.o(COMMON); end = .; . = 0x8000; @@ -43,6 +46,7 @@ SECTIONS { { src/crt0.o(.text); src/*.o(.text); + gflib/*.o(.text); asm/*.o(.text); } =0 @@ -67,7 +71,7 @@ SECTIONS { asm/librfu_intr.o(.text); src/librfu_rfu.o(.text); asm/librfu.o(.text); - src/libagbsyscall.o(.text); + *libagbsyscall.a:*.o(.text*); *libgcc.a:*.o(.text*); *libc.a:*.o(.text*); src/libisagbprn.o(.text); @@ -77,6 +81,7 @@ SECTIONS { ALIGN(4) { src/*.o(.rodata*); + gflib/*.o(.rodata*); data/*.o(.rodata*); } =0 diff --git a/libagbsyscall/Makefile b/libagbsyscall/Makefile new file mode 100644 index 0000000000..911cdb237c --- /dev/null +++ b/libagbsyscall/Makefile @@ -0,0 +1,98 @@ +TOOLCHAIN := $(DEVKITARM) +COMPARE ?= 0 + +ifeq ($(CC),) +HOSTCC := gcc +else +HOSTCC := $(CC) +endif + +ifeq ($(CXX),) +HOSTCXX := g++ +else +HOSTCXX := $(CXX) +endif + +ifneq (,$(wildcard $(TOOLCHAIN)/base_tools)) +include $(TOOLCHAIN)/base_tools +else +export PATH := $(TOOLCHAIN)/bin:$(PATH) +PREFIX := arm-none-eabi- +OBJCOPY := $(PREFIX)objcopy +export CC := $(PREFIX)gcc +export AS := $(PREFIX)as +endif +export CPP := $(PREFIX)cpp +export LD := $(PREFIX)ld + +ifeq ($(OS),Windows_NT) +EXE := .exe +else +EXE := +endif + +ASFLAGS := -mcpu=arm7tdmi +ARFLAGS := rc + +SYSCALLS := IntrWait \ + RegisterRamReset \ + Sqrt \ + MusicPlayerOpen \ + SoundBiasReset \ + SoundDriverVSyncOn \ + Mod \ + VBlankIntrWait \ + MusicPlayerStart \ + SoundDriverVSyncOff \ + HuffUnComp \ + SoftResetExram \ + MusicPlayerFadeOut \ + LZ77UnCompWram \ + SoundDriverMain \ + SoundBiasChange \ + LZ77UnCompVram \ + ArcTan2 \ + MusicPlayerStop \ + DivArm \ + ModArm \ + SoundDriverVSync \ + SoundDriverInit \ + BgAffineSet \ + Diff8bitUnFilterWram \ + MultiBoot \ + MidiKey2Freq \ + Div \ + Diff8bitUnFilterVram \ + ArcTan \ + ObjAffineSet \ + SoftResetRom \ + SoundDriverMode \ + RLUnCompWram \ + BitUnPack \ + SoundChannelClear \ + CpuFastSet \ + CpuSet \ + Diff16bitUnFilter \ + SoundBiasSet \ + MusicPlayerContinue \ + SoftReset \ + RLUnCompVram + +ASM_SRCS := libagbsyscall.s +ASM_OBJS := $(foreach syscall, $(SYSCALLS), $(syscall).o) + +LIB := libagbsyscall.a + +.PHONY: all clean + +all: $(LIB) + @: + +clean: + rm -f $(LIB) $(ASM_OBJS) + +$(LIB): $(ASM_OBJS) + $(AR) $(ARFLAGS) $@ $^ + +$(ASM_OBJS): libagbsyscall.s + $(AS) $(ASFLAGS) --defsym L_$(*F)=1 -o $@ $< diff --git a/libagbsyscall/libagbsyscall.s b/libagbsyscall/libagbsyscall.s new file mode 100644 index 0000000000..893235e322 --- /dev/null +++ b/libagbsyscall/libagbsyscall.s @@ -0,0 +1,432 @@ + .include "../constants/gba_constants.inc" + .include "../asm/macros/function.inc" + + .text + + .set SOFT_RESET_DIRECT_BUF, 0x03007FFA + .set RESET_EX_WRAM_FLAG, 0x1 + + .ifdef NO_GRANULAR_AGBSYSCALL + .set L_IntrWait, 1 + .set L_RegisterRamReset, 1 + .set L_Sqrt, 1 + .set L_MusicPlayerOpen, 1 + .set L_SoundBiasReset, 1 + .set L_SoundDriverVSyncOn, 1 + .set L_Mod, 1 + .set L_VBlankIntrWait, 1 + .set L_MusicPlayerStart, 1 + .set L_SoundDriverVSyncOff, 1 + .set L_HuffUnComp, 1 + .set L_SoftResetExram, 1 + .set L_MusicPlayerFadeOut, 1 + .set L_LZ77UnCompWram, 1 + .set L_SoundDriverMain, 1 + .set L_SoundBiasChange, 1 + .set L_LZ77UnCompVram, 1 + .set L_ArcTan2, 1 + .set L_MusicPlayerStop, 1 + .set L_DivArm, 1 + .set L_ModArm, 1 + .set L_SoundDriverVSync, 1 + .set L_SoundDriverInit, 1 + .set L_BgAffineSet, 1 + .set L_Diff8bitUnFilterWram, 1 + .set L_MultiBoot, 1 + .set L_MidiKey2Freq, 1 + .set L_Div, 1 + .set L_Diff8bitUnFilterVram, 1 + .set L_ArcTan, 1 + .set L_ObjAffineSet, 1 + .set L_SoftResetRom, 1 + .set L_SoundDriverMode, 1 + .set L_RLUnCompWram, 1 + .set L_BitUnPack, 1 + .set L_SoundChannelClear, 1 + .set L_CpuFastSet, 1 + .set L_CpuSet, 1 + .set L_Diff16bitUnFilter, 1 + .set L_SoundBiasSet, 1 + .set L_MusicPlayerContinue, 1 + .set L_SoftReset, 1 + .set L_RLUnCompVram, 1 + .endif + + .ifdef L_IntrWait + thumb_func_start IntrWait +IntrWait: + mov r2, #0 + swi 4 + bx lr + thumb_func_end IntrWait + .endif + + .ifdef L_RegisterRamReset + thumb_func_start RegisterRamReset +RegisterRamReset: + swi 1 + bx lr + thumb_func_end RegisterRamReset + .endif + + .ifdef L_Sqrt + thumb_func_start Sqrt +Sqrt: + swi 8 + bx lr + thumb_func_end Sqrt + .endif + + .ifdef L_MusicPlayerOpen + thumb_func_start MusicPlayerOpen +MusicPlayerOpen: + swi 32 + bx lr + thumb_func_end MusicPlayerOpen + .endif + + .ifdef L_SoundBiasReset + thumb_func_start SoundBiasReset +SoundBiasReset: + mov r0, #0 + swi 25 + bx lr + thumb_func_end SoundBiasReset + .endif + + .ifdef L_SoundDriverVSyncOn + thumb_func_start SoundDriverVSyncOn +SoundDriverVSyncOn: + swi 41 + bx lr + thumb_func_end SoundDriverVSyncOn + .endif + + .ifdef L_Mod + thumb_func_start Mod +Mod: + swi 6 + mov r0, r1 + bx lr + thumb_func_end Mod + .endif + + .ifdef L_VBlankIntrWait + thumb_func_start VBlankIntrWait +VBlankIntrWait: + mov r2, #0 + swi 5 + bx lr + thumb_func_end VBlankIntrWait + .endif + + .ifdef L_MusicPlayerStart + thumb_func_start MusicPlayerStart +MusicPlayerStart: + swi 33 + bx lr + thumb_func_end MusicPlayerStart + .endif + + .ifdef L_SoundDriverVSyncOff + thumb_func_start SoundDriverVSyncOff +SoundDriverVSyncOff: + swi 40 + bx lr + thumb_func_end SoundDriverVSyncOff + .endif + + .ifdef L_HuffUnComp + thumb_func_start HuffUnComp +HuffUnComp: + swi 19 + bx lr + thumb_func_end HuffUnComp + .endif + + .ifdef L_SoftResetExram + thumb_func_start SoftResetExram +SoftResetExram: + ldr r3, =REG_IME + mov r2, #0 + strb r2, [r3, #0] + ldr r3, =SOFT_RESET_DIRECT_BUF + mov r2, #1 + strb r2, [r3, #0] + sub r3, #SOFT_RESET_DIRECT_BUF - 0x3007f00 + mov sp, r3 + mov r2, #RESET_EX_WRAM_FLAG + bic r0, r2 + swi 1 + swi 0 + .pool + thumb_func_end SoftResetExram + .endif + + .ifdef L_MusicPlayerFadeOut + thumb_func_start MusicPlayerFadeOut +MusicPlayerFadeOut: + swi 36 + bx lr + thumb_func_end MusicPlayerFadeOut + .endif + + .ifdef L_LZ77UnCompWram + thumb_func_start LZ77UnCompWram +LZ77UnCompWram: + swi 17 + bx lr + thumb_func_end LZ77UnCompWram + .endif + + .ifdef L_SoundDriverMain + thumb_func_start SoundDriverMain +SoundDriverMain: + swi 28 + bx lr + thumb_func_end SoundDriverMain + .endif + + .ifdef L_SoundBiasChange + thumb_func_start SoundBiasChange +SoundBiasChange: + swi 25 + bx lr + thumb_func_end SoundBiasChange + .endif + + .ifdef L_LZ77UnCompVram + thumb_func_start LZ77UnCompVram +LZ77UnCompVram: + swi 18 + bx lr + thumb_func_end LZ77UnCompVram + .endif + + .ifdef L_ArcTan2 + thumb_func_start ArcTan2 +ArcTan2: + swi 10 + bx lr + thumb_func_end ArcTan2 + .endif + + .ifdef L_MusicPlayerStop + thumb_func_start MusicPlayerStop +MusicPlayerStop: + swi 34 + bx lr + thumb_func_end MusicPlayerStop + .endif + + .ifdef L_DivArm + thumb_func_start DivArm +DivArm: + swi 7 + bx lr + thumb_func_end DivArm + .endif + + .ifdef L_ModArm + thumb_func_start ModArm +ModArm: + swi 7 + mov r0, r1 + bx lr + thumb_func_end ModArm + .endif + + .ifdef L_SoundDriverVSync + thumb_func_start SoundDriverVSync +SoundDriverVSync: + swi 29 + bx lr + thumb_func_end SoundDriverVSync + .endif + + .ifdef L_SoundDriverInit + thumb_func_start SoundDriverInit +SoundDriverInit: + swi 26 + bx lr + thumb_func_end SoundDriverInit + .endif + + .ifdef L_BgAffineSet + thumb_func_start BgAffineSet +BgAffineSet: + swi 14 + bx lr + thumb_func_end BgAffineSet + .endif + + .ifdef L_Diff8bitUnFilterWram + thumb_func_start Diff8bitUnFilterWram +Diff8bitUnFilterWram: + swi 22 + bx lr + thumb_func_end Diff8bitUnFilterWram + .endif + + .ifdef L_MultiBoot + thumb_func_start MultiBoot +MultiBoot: + mov r1, #1 + swi 37 + bx lr + thumb_func_end MultiBoot + .endif + + .ifdef L_MidiKey2Freq + thumb_func_start MidiKey2Freq +MidiKey2Freq: + swi 31 + bx lr + thumb_func_end MidiKey2Freq + .endif + + .ifdef L_Div + thumb_func_start Div +Div: + swi 6 + bx lr + thumb_func_end Div + .endif + + .ifdef L_Diff8bitUnFilterVram + thumb_func_start Diff8bitUnFilterVram +Diff8bitUnFilterVram: + swi 23 + bx lr + thumb_func_end Diff8bitUnFilterVram + .endif + + .ifdef L_ArcTan + thumb_func_start ArcTan +ArcTan: + swi 9 + bx lr + thumb_func_end ArcTan + .endif + + .ifdef L_ObjAffineSet + thumb_func_start ObjAffineSet +ObjAffineSet: + swi 15 + bx lr + thumb_func_end ObjAffineSet + .endif + + .ifdef L_SoftResetRom + thumb_func_start SoftResetRom +SoftResetRom: + ldr r3, =REG_IME + mov r2, #0 + strb r2, [r3, #0] + ldr r3, =SOFT_RESET_DIRECT_BUF + mov r2, #0 + strb r2, [r3, #0] + sub r3, #SOFT_RESET_DIRECT_BUF - 0x3007f00 + mov sp, r3 + swi 1 + swi 0 + .pool + thumb_func_end SoftResetRom + .endif + + .ifdef L_SoundDriverMode + thumb_func_start SoundDriverMode +SoundDriverMode: + swi 27 + bx lr + thumb_func_end SoundDriverMode + .endif + + .ifdef L_RLUnCompWram + thumb_func_start RLUnCompWram +RLUnCompWram: + swi 20 + bx lr + thumb_func_end RLUnCompWram + .endif + + .ifdef L_BitUnPack + thumb_func_start BitUnPack +BitUnPack: + swi 16 + bx lr + thumb_func_end BitUnPack + .endif + + .ifdef L_SoundChannelClear + thumb_func_start SoundChannelClear +SoundChannelClear: + swi 30 + bx lr + thumb_func_end SoundChannelClear + .endif + + .ifdef L_CpuFastSet + thumb_func_start CpuFastSet +CpuFastSet: + swi 12 + bx lr + thumb_func_end CpuFastSet + .endif + + .ifdef L_CpuSet + thumb_func_start CpuSet +CpuSet: + swi 11 + bx lr + thumb_func_end CpuSet + .endif + + .ifdef L_Diff16bitUnFilter + thumb_func_start Diff16bitUnFilter +Diff16bitUnFilter: + swi 24 + bx lr + thumb_func_end Diff16bitUnFilter + .endif + + .ifdef L_SoundBiasSet + thumb_func_start SoundBiasSet +SoundBiasSet: + mov r0, #1 + swi 25 + bx lr + thumb_func_end SoundBiasSet + .endif + + .ifdef L_MusicPlayerContinue + thumb_func_start MusicPlayerContinue +MusicPlayerContinue: + swi 35 + bx lr + thumb_func_end MusicPlayerContinue + .endif + + .ifdef L_SoftReset + thumb_func_start SoftReset +SoftReset: + ldr r3, =REG_IME + mov r2, #0 + strb r2, [r3, #0] + ldr r1, =0x3007f00 + mov sp, r1 + swi 1 + swi 0 + .pool + thumb_func_end SoftReset + .endif + + .ifdef L_RLUnCompVram + thumb_func_start RLUnCompVram +RLUnCompVram: + swi 21 + bx lr + thumb_func_end RLUnCompVram + .endif + + .align 2, 0 @ Don't pad with nop diff --git a/sound/direct_sound_data.inc b/sound/direct_sound_data.inc index f1518ee4b4..80f91a01d8 100644 --- a/sound/direct_sound_data.inc +++ b/sound/direct_sound_data.inc @@ -23,8 +23,8 @@ DirectSoundWaveData_sc88_timpani:: .incbin "sound/direct_sound_samples/sc88_timpani.bin" .align 2 -DirectSoundWaveData_advanced_orchestra_voice_ahhs:: - .incbin "sound/direct_sound_samples/advanced_orchestra_voice_ahhs.bin" +DirectSoundWaveData_classical_choir_voice_ahhs:: + .incbin "sound/direct_sound_samples/classical_choir_voice_ahhs.bin" .align 2 DirectSoundWaveData_sd90_classical_oboe:: @@ -59,16 +59,16 @@ DirectSoundWaveData_sc88_standard_kick:: .incbin "sound/direct_sound_samples/sc88_standard_kick.bin" .align 2 -DirectSoundWaveData_sc88_standard_snare1:: - .incbin "sound/direct_sound_samples/sc88_standard_snare1.bin" +DirectSoundWaveData_sc88_standard3_snare:: + .incbin "sound/direct_sound_samples/sc88_standard3_snare.bin" .align 2 DirectSoundWaveData_sc88_standard_hand_clap:: .incbin "sound/direct_sound_samples/sc88_standard_hand_clap.bin" .align 2 -DirectSoundWaveData_sc88_standard_snare2:: - .incbin "sound/direct_sound_samples/sc88_standard_snare2.bin" +DirectSoundWaveData_sc88_orchestra_snare:: + .incbin "sound/direct_sound_samples/sc88_orchestra_snare.bin" .align 2 DirectSoundWaveData_unknown_tom:: @@ -91,12 +91,12 @@ DirectSoundWaveData_unknown_tambourine:: .incbin "sound/direct_sound_samples/unknown_tambourine.bin" .align 2 -DirectSoundWaveData_unknown_cymbal_crash:: - .incbin "sound/direct_sound_samples/unknown_cymbal_crash.bin" +DirectSoundWaveData_trinity_cymbal_crash:: + .incbin "sound/direct_sound_samples/trinity_cymbal_crash.bin" .align 2 -DirectSoundWaveData_sc88_standard_cymbal_crash:: - .incbin "sound/direct_sound_samples/sc88_standard_cymbal_crash.bin" +DirectSoundWaveData_sc88_orchestra_cymbal_crash:: + .incbin "sound/direct_sound_samples/sc88_orchestra_cymbal_crash.bin" .align 2 DirectSoundWaveData_sc88_bongo:: @@ -251,20 +251,20 @@ DirectSoundWaveData_emu_ii_pipe_organ:: .incbin "sound/direct_sound_samples/emu_ii_pipe_organ.bin" .align 2 -DirectSoundWaveData_unused_unknown_female_voice:: - .incbin "sound/direct_sound_samples/unused_unknown_female_voice.bin" +DirectSoundWaveData_unknown_female_voice:: + .incbin "sound/direct_sound_samples/unknown_female_voice.bin" .align 2 DirectSoundWaveData_unused_unknown_male_voice:: .incbin "sound/direct_sound_samples/unused_unknown_male_voice.bin" .align 2 -DirectSoundWaveData_unknown_e_piano_low:: - .incbin "sound/direct_sound_samples/unknown_e_piano_low.bin" +DirectSoundWaveData_sd90_classical_detuned_ep1_low:: + .incbin "sound/direct_sound_samples/sd90_classical_detuned_ep1_low.bin" .align 2 -DirectSoundWaveData_unknown_e_piano_high:: - .incbin "sound/direct_sound_samples/unknown_e_piano_high.bin" +DirectSoundWaveData_sd90_classical_detuned_ep1_high:: + .incbin "sound/direct_sound_samples/sd90_classical_detuned_ep1_high.bin" .align 2 DirectSoundWaveData_sc88_timpani_with_snare:: @@ -275,8 +275,8 @@ DirectSoundWaveData_unknown_synth_snare:: .incbin "sound/direct_sound_samples/unknown_synth_snare.bin" .align 2 -DirectSoundWaveData_unused_sc88_square:: - .incbin "sound/direct_sound_samples/unused_sc88_square.bin" +DirectSoundWaveData_sc88_square_wave:: + .incbin "sound/direct_sound_samples/sc88_square_wave.bin" .align 2 DirectSoundWaveData_bicycle_bell:: @@ -1951,8 +1951,8 @@ DirectSoundWaveData_sc88_nylon_str_guitar:: .incbin "sound/direct_sound_samples/sc88_nylon_str_guitar.bin" .align 2 -DirectSoundWaveData_sd90_classical_guitar_harmonics:: - .incbin "sound/direct_sound_samples/sd90_classical_guitar_harmonics.bin" +DirectSoundWaveData_sd90_special_scream_drive:: + .incbin "sound/direct_sound_samples/sd90_special_scream_drive.bin" .align 2 DirectSoundWaveData_88DBBC0:: diff --git a/sound/direct_sound_samples/advanced_orchestra_voice_ahhs.aif b/sound/direct_sound_samples/classical_choir_voice_ahhs.aif similarity index 100% rename from sound/direct_sound_samples/advanced_orchestra_voice_ahhs.aif rename to sound/direct_sound_samples/classical_choir_voice_ahhs.aif diff --git a/sound/direct_sound_samples/sc88_standard_cymbal_crash.aif b/sound/direct_sound_samples/sc88_orchestra_cymbal_crash.aif similarity index 100% rename from sound/direct_sound_samples/sc88_standard_cymbal_crash.aif rename to sound/direct_sound_samples/sc88_orchestra_cymbal_crash.aif diff --git a/sound/direct_sound_samples/sc88_standard_snare2.aif b/sound/direct_sound_samples/sc88_orchestra_snare.aif similarity index 100% rename from sound/direct_sound_samples/sc88_standard_snare2.aif rename to sound/direct_sound_samples/sc88_orchestra_snare.aif diff --git a/sound/direct_sound_samples/unused_sc88_square.aif b/sound/direct_sound_samples/sc88_square_wave.aif similarity index 100% rename from sound/direct_sound_samples/unused_sc88_square.aif rename to sound/direct_sound_samples/sc88_square_wave.aif diff --git a/sound/direct_sound_samples/sc88_standard_snare1.aif b/sound/direct_sound_samples/sc88_standard3_snare.aif similarity index 100% rename from sound/direct_sound_samples/sc88_standard_snare1.aif rename to sound/direct_sound_samples/sc88_standard3_snare.aif diff --git a/sound/direct_sound_samples/unknown_e_piano_high.aif b/sound/direct_sound_samples/sd90_classical_detuned_ep1_high.aif similarity index 100% rename from sound/direct_sound_samples/unknown_e_piano_high.aif rename to sound/direct_sound_samples/sd90_classical_detuned_ep1_high.aif diff --git a/sound/direct_sound_samples/unknown_e_piano_low.aif b/sound/direct_sound_samples/sd90_classical_detuned_ep1_low.aif similarity index 100% rename from sound/direct_sound_samples/unknown_e_piano_low.aif rename to sound/direct_sound_samples/sd90_classical_detuned_ep1_low.aif diff --git a/sound/direct_sound_samples/sd90_classical_guitar_harmonics.aif b/sound/direct_sound_samples/sd90_special_scream_drive.aif similarity index 100% rename from sound/direct_sound_samples/sd90_classical_guitar_harmonics.aif rename to sound/direct_sound_samples/sd90_special_scream_drive.aif diff --git a/sound/direct_sound_samples/unknown_cymbal_crash.aif b/sound/direct_sound_samples/trinity_cymbal_crash.aif similarity index 100% rename from sound/direct_sound_samples/unknown_cymbal_crash.aif rename to sound/direct_sound_samples/trinity_cymbal_crash.aif diff --git a/sound/direct_sound_samples/unused_unknown_female_voice.aif b/sound/direct_sound_samples/unknown_female_voice.aif similarity index 100% rename from sound/direct_sound_samples/unused_unknown_female_voice.aif rename to sound/direct_sound_samples/unknown_female_voice.aif diff --git a/sound/songs/midi/mus_battle20.mid b/sound/songs/midi/mus_battle20.mid index a7140d9844..531b5fba12 100644 Binary files a/sound/songs/midi/mus_battle20.mid and b/sound/songs/midi/mus_battle20.mid differ diff --git a/sound/songs/midi/mus_battle32.mid b/sound/songs/midi/mus_battle32.mid index a52fc6b37a..0b7c49bd76 100644 Binary files a/sound/songs/midi/mus_battle32.mid and b/sound/songs/midi/mus_battle32.mid differ diff --git a/sound/songs/midi/mus_fanfa5.mid b/sound/songs/midi/mus_fanfa5.mid index 7232c57ab2..8c94f1178b 100644 Binary files a/sound/songs/midi/mus_fanfa5.mid and b/sound/songs/midi/mus_fanfa5.mid differ diff --git a/sound/songs/midi/mus_me_b_big.mid b/sound/songs/midi/mus_me_b_big.mid index eda461fd35..150a669b46 100644 Binary files a/sound/songs/midi/mus_me_b_big.mid and b/sound/songs/midi/mus_me_b_big.mid differ diff --git a/sound/songs/midi/mus_me_b_small.mid b/sound/songs/midi/mus_me_b_small.mid index a51f48ed41..bf7aa33bee 100644 Binary files a/sound/songs/midi/mus_me_b_small.mid and b/sound/songs/midi/mus_me_b_small.mid differ diff --git a/sound/songs/midi/mus_me_bachi.mid b/sound/songs/midi/mus_me_bachi.mid index 27b97f09c9..05fe1516a2 100644 Binary files a/sound/songs/midi/mus_me_bachi.mid and b/sound/songs/midi/mus_me_bachi.mid differ diff --git a/sound/songs/midi/mus_me_kinomi.mid b/sound/songs/midi/mus_me_kinomi.mid index 30fbd36074..e7eb4afd11 100644 Binary files a/sound/songs/midi/mus_me_kinomi.mid and b/sound/songs/midi/mus_me_kinomi.mid differ diff --git a/sound/songs/midi/mus_me_shinka.mid b/sound/songs/midi/mus_me_shinka.mid index 81cd5d041b..231f255331 100644 Binary files a/sound/songs/midi/mus_me_shinka.mid and b/sound/songs/midi/mus_me_shinka.mid differ diff --git a/sound/songs/midi/mus_me_waza.mid b/sound/songs/midi/mus_me_waza.mid index ac132f5ffd..40f9c2ed8d 100644 Binary files a/sound/songs/midi/mus_me_waza.mid and b/sound/songs/midi/mus_me_waza.mid differ diff --git a/sound/songs/midi/mus_p_school.mid b/sound/songs/midi/mus_p_school.mid index 55651dea57..4e6fd33407 100644 Binary files a/sound/songs/midi/mus_p_school.mid and b/sound/songs/midi/mus_p_school.mid differ diff --git a/sound/songs/midi/mus_shinka.mid b/sound/songs/midi/mus_shinka.mid index de8b2ab912..375e6d5dbf 100644 Binary files a/sound/songs/midi/mus_shinka.mid and b/sound/songs/midi/mus_shinka.mid differ diff --git a/sound/voice_groups.inc b/sound/voice_groups.inc index c0f546ccf7..4b71845aa6 100644 --- a/sound/voice_groups.inc +++ b/sound/voice_groups.inc @@ -93,7 +93,7 @@ voicegroup001:: @ 8675FEC voice_square_1 0, 0, 0, 1, 6, 0 @ 8676118 voice_square_1 0, 2, 0, 0, 15, 0 @ 8676124 voice_square_1 0, 2, 0, 0, 15, 0 @ 8676130 - voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 255, 0, 255, 0 @ 867613C + voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 255, 0, 255, 0 @ 867613C .align 2 voicegroup002:: @ 8676148 @@ -106,9 +106,9 @@ voicegroup002:: @ 8676148 voice_directsound 60, 0, DirectSoundWaveData_unknown_wood_block_high, 255, 0, 255, 0 @ 8676190 voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_kick, 255, 0, 255, 242 @ 867619C voice_square_1 0, 2, 0, 0, 15, 0 @ 86761A8 - voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 86761B4 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 86761B4 voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 86761C0 - voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 86761CC + voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 86761CC voice_directsound 48, 44, DirectSoundWaveData_unknown_tom, 255, 210, 77, 204 @ 86761D8 voice_directsound_no_resample 60, 79, DirectSoundWaveData_unknown_close_hihat, 255, 127, 0, 188 @ 86761E4 voice_directsound 51, 54, DirectSoundWaveData_unknown_tom, 255, 216, 77, 204 @ 86761F0 @@ -123,12 +123,12 @@ voicegroup002:: @ 8676148 voice_square_1 0, 2, 0, 0, 15, 0 @ 867625C voice_directsound_no_resample 70, 49, DirectSoundWaveData_unknown_bell, 255, 165, 103, 231 @ 8676268 voice_directsound_no_resample 32, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 8676274 - voice_directsound_no_resample 60, 14, DirectSoundWaveData_unknown_cymbal_crash, 255, 235, 0, 165 @ 8676280 + voice_directsound_no_resample 60, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 235, 0, 165 @ 8676280 voice_square_1 0, 2, 0, 0, 15, 0 @ 867628C - voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 8676298 + voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 8676298 voice_square_1 0, 2, 0, 0, 15, 0 @ 86762A4 - voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 86762B0 - voice_directsound_no_resample 30, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 86762BC + voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 86762B0 + voice_directsound_no_resample 30, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 86762BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86762C8 voice_directsound_no_resample 72, 104, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 86762D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86762E0 @@ -137,30 +137,30 @@ voicegroup002:: @ 8676148 voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 180, 175, 228 @ 8676304 voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 0, 255, 242 @ 8676310 voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 867631C - voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 8676328 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 8676328 voice_directsound 64, 24, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676334 - voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 8676340 + voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 8676340 voice_directsound 68, 34, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 867634C - voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 8676358 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 8676358 voice_directsound 72, 44, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676364 - voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 8676370 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 8676370 voice_directsound 76, 84, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 867637C voice_directsound 80, 94, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676388 - voice_directsound_no_resample 33, 89, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 8676394 + voice_directsound_no_resample 33, 89, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 8676394 voice_directsound 84, 104, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 235 @ 86763A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86763AC - voice_directsound 63, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86763B8 + voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86763B8 voice_directsound_no_resample 64, 24, DirectSoundWaveData_dance_drums_ride_bell, 255, 165, 103, 231 @ 86763C4 .align 2 voicegroup003:: @ 86763D0 voice_directsound_no_resample 64, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 86763D0 - voice_directsound_no_resample 64, 14, DirectSoundWaveData_unknown_cymbal_crash, 255, 231, 0, 188 @ 86763DC + voice_directsound_no_resample 64, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 86763DC voice_directsound_no_resample 64, 89, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 86763E8 - voice_directsound_no_resample 64, 29, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86763F4 + voice_directsound_no_resample 64, 29, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86763F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8676400 - voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 867640C - voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 8676418 + voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 867640C + voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 8676418 voice_directsound_no_resample 64, 94, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 8676424 voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 8676430 voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 867643C @@ -194,30 +194,30 @@ voicegroup003:: @ 86763D0 voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 180, 175, 228 @ 867658C voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 0, 255, 242 @ 8676598 voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 86765A4 - voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 86765B0 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 86765B0 voice_directsound 64, 24, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86765BC - voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 86765C8 + voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 86765C8 voice_directsound 68, 34, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86765D4 - voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 86765E0 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 86765E0 voice_directsound 72, 44, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86765EC voice_square_1 0, 2, 0, 0, 15, 0 @ 86765F8 voice_directsound 76, 84, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676604 voice_directsound 80, 94, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676610 - voice_directsound_no_resample 33, 89, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 867661C + voice_directsound_no_resample 33, 89, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 867661C voice_directsound 64, 104, DirectSoundWaveData_unknown_ethnic_drum, 255, 0, 255, 235 @ 8676628 voice_square_1 0, 2, 0, 0, 15, 0 @ 8676634 - voice_directsound 63, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 8676640 + voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 8676640 voice_directsound_no_resample 64, 24, DirectSoundWaveData_dance_drums_ride_bell, 255, 165, 103, 231 @ 867664C .align 2 voicegroup004:: @ 8676658 voice_directsound_no_resample 66, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 8676658 - voice_directsound_no_resample 64, 14, DirectSoundWaveData_unknown_cymbal_crash, 255, 231, 0, 188 @ 8676664 + voice_directsound_no_resample 64, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 8676664 voice_directsound_no_resample 64, 89, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 8676670 - voice_directsound_no_resample 64, 29, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 867667C + voice_directsound_no_resample 64, 29, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 867667C voice_square_1 0, 2, 0, 0, 15, 0 @ 8676688 - voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 8676694 - voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 86766A0 + voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 8676694 + voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 86766A0 voice_directsound_no_resample 64, 94, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 86766AC voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 86766B8 voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 86766C4 @@ -251,27 +251,27 @@ voicegroup004:: @ 8676658 voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 180, 175, 228 @ 8676814 voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 0, 255, 242 @ 8676820 voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 867682C - voice_directsound 65, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 8676838 + voice_directsound 65, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 8676838 voice_directsound 64, 24, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676844 - voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 8676850 + voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 8676850 voice_directsound 68, 34, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 867685C - voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 8676868 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 8676868 voice_directsound 72, 44, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676874 voice_square_1 0, 2, 0, 0, 15, 0 @ 8676880 voice_directsound 76, 84, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 867688C voice_directsound 80, 94, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676898 - voice_directsound 56, 89, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86768A4 + voice_directsound 56, 89, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86768A4 voice_directsound 64, 104, DirectSoundWaveData_unknown_ethnic_drum, 255, 0, 255, 235 @ 86768B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86768BC - voice_directsound 63, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86768C8 + voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86768C8 voice_directsound_no_resample 64, 24, DirectSoundWaveData_dance_drums_ride_bell, 255, 165, 103, 231 @ 86768D4 voice_directsound_no_resample 66, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 86768E0 - voice_directsound 64, 14, DirectSoundWaveData_unknown_cymbal_crash, 255, 231, 0, 188 @ 86768EC + voice_directsound 64, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 86768EC voice_directsound 64, 89, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 86768F8 - voice_directsound 60, 29, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 8676904 + voice_directsound 60, 29, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 8676904 voice_square_1 0, 2, 0, 0, 15, 0 @ 8676910 - voice_directsound 58, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 867691C - voice_directsound 62, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 8676928 + voice_directsound 58, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 867691C + voice_directsound 62, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 8676928 voice_directsound 64, 94, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 8676934 voice_directsound 64, 34, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 8676940 voice_directsound 64, 34, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 867694C @@ -1098,9 +1098,9 @@ voicegroup016:: @ 8678C74 voice_noise_alt 0, 0, 1, 0, 1 @ 8678E18 voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_kick, 255, 0, 255, 242 @ 8678E24 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E30 - voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 8678E3C + voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 8678E3C voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E48 - voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 8678E54 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 8678E54 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E60 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E6C voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E78 @@ -1623,9 +1623,9 @@ voicegroup022:: @ 867A438 voice_square_1_alt 0, 0, 0, 0, 7, 0 @ 867A5DC voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_kick, 255, 0, 255, 242 @ 867A5E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A5F4 - voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 867A600 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 867A600 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A60C - voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 867A618 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 867A618 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A624 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A630 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A63C @@ -2420,7 +2420,7 @@ voicegroup031:: @ 867C838 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C9F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA00 voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA0C - voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 867CA18 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 867CA18 voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA24 voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA30 voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA3C @@ -2437,9 +2437,9 @@ voicegroup031:: @ 867C838 voice_directsound_no_resample 32, 49, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 867CAC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867CACC voice_square_1 0, 2, 0, 0, 15, 0 @ 867CAD8 - voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 867CAE4 + voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 867CAE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867CAF0 - voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 867CAFC + voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 867CAFC voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB08 voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB14 voice_directsound_no_resample 72, 79, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 867CB20 @@ -11583,7 +11583,7 @@ voicegroup107:: @ 8696A70 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CE0 - voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 255, 0, 255, 0 @ 8696CEC + voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 255, 0, 255, 0 @ 8696CEC voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D04 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D10 @@ -12040,7 +12040,7 @@ voicegroup111:: @ 8698054 voice_square_1 0, 2, 0, 0, 15, 0 @ 86981A4 voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 255, 0, 255, 226 @ 86981B0 voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 255, 0, 255, 195 @ 86981BC - voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 195 @ 86981C8 + voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 195 @ 86981C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86981D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86981E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86981EC @@ -12192,8 +12192,8 @@ voicegroup112:: @ 8698654 voice_square_1 0, 2, 0, 0, 15, 0 @ 86988A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86988AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86988B8 - voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 128, 165, 128, 188 @ 86988C4 - voice_directsound 60, 0, DirectSoundWaveData_unused_unknown_female_voice, 128, 165, 128, 204 @ 86988D0 + voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 128, 165, 128, 188 @ 86988C4 + voice_directsound 60, 0, DirectSoundWaveData_unknown_female_voice, 128, 165, 128, 204 @ 86988D0 voice_directsound 60, 0, DirectSoundWaveData_unused_unknown_male_voice, 128, 165, 128, 188 @ 86988DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86988E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86988F4 @@ -12529,7 +12529,7 @@ voicegroup114:: @ 8699254 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699824 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699830 voice_square_1 0, 2, 0, 0, 15, 0 @ 869983C - voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 8699848 + voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 8699848 .align 2 voicegroup115:: @ 8699854 @@ -12537,8 +12537,8 @@ voicegroup115:: @ 8699854 voice_keysplit voicegroup005, KeySplitTable1 @ 8699860 voice_square_1 0, 2, 0, 0, 15, 0 @ 869986C voice_square_1 0, 2, 0, 0, 15, 0 @ 8699878 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 128, 249, 0, 188 @ 8699884 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_high, 255, 188, 103, 165 @ 8699890 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 128, 249, 0, 188 @ 8699884 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 188, 103, 165 @ 8699890 voice_square_1 0, 2, 0, 0, 15, 0 @ 869989C voice_square_1 0, 2, 0, 0, 15, 0 @ 86998A8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86998B4 @@ -12653,7 +12653,7 @@ voicegroup115:: @ 8699854 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699DD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699DDC voice_square_1 0, 2, 0, 0, 15, 0 @ 8699DE8 - voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 8699DF4 + voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 8699DF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E00 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E0C voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E18 @@ -13465,7 +13465,7 @@ voicegroup123:: @ 869BCF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C2C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C2CC voice_square_1 0, 2, 0, 0, 15, 0 @ 869C2D8 - voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 869C2E4 + voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 869C2E4 .align 2 voicegroup124:: @ 869C2F0 @@ -13772,8 +13772,8 @@ voicegroup126:: @ 869CAF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869D0B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869D0C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869D0D0 - voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 216 @ 869D0DC - voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 869D0E8 + voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 216 @ 869D0DC + voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 869D0E8 .align 2 voicegroup127:: @ 869D0F4 @@ -13790,8 +13790,8 @@ voicegroup127:: @ 869D0F4 voice_square_1_alt 0, 2, 2, 0, 15, 0 @ 869D16C voice_square_1_alt 0, 1, 2, 0, 15, 0 @ 869D178 voice_square_1_alt 23, 1, 0, 1, 9, 0 @ 869D184 - voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 165 @ 869D190 - voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 226, 0, 165 @ 869D19C + voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 165 @ 869D190 + voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 226, 0, 165 @ 869D19C voice_square_1_alt 0, 2, 0, 6, 0, 1 @ 869D1A8 voice_square_1_alt 36, 0, 0, 2, 0, 0 @ 869D1B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869D1C0 @@ -13922,17 +13922,17 @@ voicegroup128:: @ 869D6F4 voice_noise_alt 1, 0, 2, 0, 0 @ 869D778 voice_square_1 103, 3, 2, 7, 0, 0 @ 869D784 voice_square_2 3, 2, 7, 0, 0 @ 869D790 - voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 226, 0, 127 @ 869D79C + voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 226, 0, 127 @ 869D79C voice_directsound 60, 0, DirectSoundWaveData_872921C, 255, 0, 255, 0 @ 869D7A8 - voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 204, 0, 127 @ 869D7B4 + voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 204, 0, 127 @ 869D7B4 voice_square_1_alt 0, 2, 0, 2, 0, 1 @ 869D7C0 voice_directsound 60, 0, DirectSoundWaveData_872A5D0, 255, 0, 255, 127 @ 869D7CC - voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 127 @ 869D7D8 + voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 869D7D8 voice_square_1 103, 0, 0, 7, 0, 0 @ 869D7E4 - voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 127 @ 869D7F0 + voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 127 @ 869D7F0 voice_directsound 60, 0, DirectSoundWaveData_sc88_wind, 255, 0, 255, 127 @ 869D7FC voice_directsound 60, 0, DirectSoundWaveData_sc88_bubbles, 255, 0, 255, 127 @ 869D808 - voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 127 @ 869D814 + voice_directsound 60, 0, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 127 @ 869D814 voice_noise_alt 0, 0, 7, 15, 1 @ 869D820 voice_directsound 60, 0, DirectSoundWaveData_872EEA8, 255, 0, 255, 127 @ 869D82C voice_noise_alt 1, 0, 7, 15, 1 @ 869D838 @@ -13960,7 +13960,7 @@ voicegroup128:: @ 869D6F4 voice_square_1 0, 0, 4, 0, 15, 0 @ 869D940 voice_directsound 60, 0, DirectSoundWaveData_sc88_xylophone, 255, 188, 0, 0 @ 869D94C voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 226, 0, 127 @ 869D958 - voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_cymbal_crash, 26, 0, 255, 127 @ 869D964 + voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 26, 0, 255, 127 @ 869D964 voice_square_1_alt 0, 2, 0, 1, 0, 0 @ 869D970 voice_directsound 60, 0, DirectSoundWaveData_sc88_glockenspiel, 255, 252, 0, 127 @ 869D97C voice_square_1_alt 0, 1, 0, 2, 0, 0 @ 869D988 @@ -13975,7 +13975,7 @@ voicegroup128:: @ 869D6F4 voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 255, 0, 255, 165 @ 869D9F4 voice_directsound 60, 0, DirectSoundWaveData_unknown_tom, 255, 0, 255, 165 @ 869DA00 voice_noise_alt 0, 5, 7, 15, 1 @ 869DA0C - voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 128, 242, 0, 165 @ 869DA18 + voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 128, 242, 0, 165 @ 869DA18 voice_directsound 60, 0, DirectSoundWaveData_sc88_string_ensemble_72, 255, 0, 255, 165 @ 869DA24 voice_square_1 0, 0, 1, 5, 0, 0 @ 869DA30 voice_noise_alt 0, 6, 6, 0, 1 @ 869DA3C @@ -14852,7 +14852,7 @@ voicegroup129:: @ 86A0154 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02BC - voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86A02C8 + voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86A02C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02EC @@ -14869,7 +14869,7 @@ voicegroup129:: @ 86A0154 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0370 voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 252, 0, 204 @ 86A037C voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 255, 0, 255, 165 @ 86A0388 - voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 204, 0, 127 @ 86A0394 + voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 204, 0, 127 @ 86A0394 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03A0 voice_square_1_alt 0, 2, 0, 0, 15, 0 @ 86A03AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03B8 @@ -15435,7 +15435,7 @@ voicegroup133:: @ 86A1BB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D68 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D74 voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 86A1D80 - voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 127 @ 86A1D8C + voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 86A1D8C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D98 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1DA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1DB0 @@ -15516,7 +15516,7 @@ voicegroup133:: @ 86A1BB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2134 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2140 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A214C - voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86A2158 + voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86A2158 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2164 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2170 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A217C @@ -15841,8 +15841,8 @@ voicegroup137:: @ 86A2FD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2FE0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2FEC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2FF8 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 165, 180, 165 @ 86A3004 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_high, 255, 137, 154, 165 @ 86A3010 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 165, 180, 165 @ 86A3004 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 137, 154, 165 @ 86A3010 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A301C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3028 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3034 @@ -15972,8 +15972,8 @@ voicegroup138:: @ 86A35D4 voice_keysplit voicegroup005, KeySplitTable1 @ 86A35E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A35EC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A35F8 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86A3604 - voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 255, 204, 77, 246 @ 86A3610 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86A3604 + voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 86A3610 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A361C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3628 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3634 @@ -16721,8 +16721,8 @@ voicegroup145:: @ 86A57F4 voice_keysplit voicegroup005, KeySplitTable1 @ 86A5800 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A580C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5818 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86A5824 - voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 255, 204, 77, 246 @ 86A5830 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86A5824 + voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 86A5830 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A583C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5848 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5854 @@ -17079,7 +17079,7 @@ voicegroup148:: @ 86A67E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A685C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6868 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6874 - voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 226, 0, 127 @ 86A6880 + voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 226, 0, 127 @ 86A6880 voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 86A688C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6898 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A68A4 @@ -17105,7 +17105,7 @@ voicegroup148:: @ 86A67E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6994 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69AC - voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 127 @ 86A69B8 + voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 86A69B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69DC @@ -17781,7 +17781,7 @@ voicegroup154:: @ 86A8860 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A886C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8878 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8884 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86A8890 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86A8890 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A889C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A88A8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A88B4 @@ -17877,8 +17877,8 @@ voicegroup155:: @ 86A8CBC voice_keysplit voicegroup005, KeySplitTable1 @ 86A8CC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8CD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8CE0 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86A8CEC - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_high, 255, 188, 103, 165 @ 86A8CF8 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86A8CEC + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 188, 103, 165 @ 86A8CF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D04 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D10 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D1C @@ -17993,7 +17993,7 @@ voicegroup155:: @ 86A8CBC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9238 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9244 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9250 - voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86A925C + voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86A925C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9268 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9274 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9280 @@ -18009,7 +18009,7 @@ voicegroup156:: @ 86A92BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A92D4 voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86A92E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A92EC - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86A92F8 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86A92F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9304 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9310 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A931C @@ -18124,7 +18124,7 @@ voicegroup156:: @ 86A92BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9838 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9844 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9850 - voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86A985C + voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86A985C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9868 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9874 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9880 @@ -18270,7 +18270,7 @@ voicegroup158:: @ 86A9EBC voice_keysplit voicegroup005, KeySplitTable1 @ 86A9EC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9ED4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9EE0 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86A9EEC + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86A9EEC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9EF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9F04 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9F10 @@ -18297,7 +18297,7 @@ voicegroup158:: @ 86A9EBC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA00C voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 255, 0, 255, 127 @ 86AA018 voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 255, 0, 255, 127 @ 86AA024 - voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86AA030 + voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86AA030 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA03C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA048 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA054 @@ -18305,7 +18305,7 @@ voicegroup158:: @ 86A9EBC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA06C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA078 voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 86AA084 - voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 127 @ 86AA090 + voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 86AA090 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA09C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA0A8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA0B4 @@ -18319,7 +18319,7 @@ voicegroup158:: @ 86A9EBC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA114 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA120 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA12C - voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 255, 0, 255, 0 @ 86AA138 + voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 255, 0, 255, 0 @ 86AA138 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA144 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA150 voice_keysplit voicegroup007, KeySplitTable3 @ 86AA15C @@ -18401,8 +18401,8 @@ voicegroup159:: @ 86AA4BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA4C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA4D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA4E0 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 64, 249, 0, 188 @ 86AA4EC - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_high, 51, 249, 0, 165 @ 86AA4F8 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 64, 249, 0, 188 @ 86AA4EC + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 51, 249, 0, 165 @ 86AA4F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA504 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA510 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA51C @@ -18754,7 +18754,7 @@ voicegroup162:: @ 86AB4DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB4E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB4F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB500 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_high, 64, 188, 108, 244 @ 86AB50C + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 64, 188, 108, 244 @ 86AB50C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB518 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB524 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB530 @@ -18850,8 +18850,8 @@ voicegroup163:: @ 86AB938 voice_keysplit voicegroup005, KeySplitTable1 @ 86AB944 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB950 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB95C - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86AB968 - voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 255, 204, 77, 246 @ 86AB974 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86AB968 + voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 86AB974 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB980 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB98C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB998 @@ -18981,8 +18981,8 @@ voicegroup164:: @ 86ABF38 voice_keysplit voicegroup005, KeySplitTable1 @ 86ABF44 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF50 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF5C - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 128, 180, 108, 209 @ 86ABF68 - voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 85, 204, 77, 246 @ 86ABF74 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 128, 180, 108, 209 @ 86ABF68 + voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 85, 204, 77, 246 @ 86ABF74 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF80 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF8C voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF98 @@ -19270,7 +19270,7 @@ voicegroup166:: @ 86ACB38 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACC88 voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 255, 0, 255, 127 @ 86ACC94 voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 255, 0, 255, 127 @ 86ACCA0 - voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86ACCAC + voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86ACCAC voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCD0 @@ -19278,7 +19278,7 @@ voicegroup166:: @ 86ACB38 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCF4 voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 86ACD00 - voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 127 @ 86ACD0C + voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 86ACD0C voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD18 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD24 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD30 @@ -19505,8 +19505,8 @@ voicegroup168:: @ 86AD738 voice_keysplit voicegroup005, KeySplitTable1 @ 86AD744 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD750 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD75C - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86AD768 - voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 255, 204, 77, 246 @ 86AD774 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86AD768 + voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 86AD774 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD780 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD78C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD798 @@ -19948,8 +19948,8 @@ voicegroup172:: @ 86AEB6C voice_keysplit voicegroup005, KeySplitTable1 @ 86AEB78 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEB84 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEB90 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86AEB9C - voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 255, 204, 77, 246 @ 86AEBA8 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86AEB9C + voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 86AEBA8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEBB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEBC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEBCC @@ -20079,8 +20079,8 @@ voicegroup173:: @ 86AF16C voice_keysplit voicegroup005, KeySplitTable1 @ 86AF178 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF184 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF190 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86AF19C - voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 128, 204, 77, 246 @ 86AF1A8 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86AF19C + voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 128, 204, 77, 246 @ 86AF1A8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF1B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF1C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF1CC @@ -20211,7 +20211,7 @@ voicegroup174:: @ 86AF76C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF784 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF790 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF79C - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86AF7A8 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86AF7A8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF7B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF7C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF7CC @@ -20326,7 +20326,7 @@ voicegroup174:: @ 86AF76C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFCE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFCF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD00 - voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86AFD0C + voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86AFD0C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD18 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD24 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD30 @@ -20512,27 +20512,27 @@ voicegroup177:: @ 86B0378 voice_directsound_no_resample 67, 71, DirectSoundWaveData_sd90_solo_snare, 255, 180, 175, 228 @ 86B0534 voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 0, 255, 242 @ 86B0540 voice_directsound_no_resample 65, 0, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 86B054C - voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 86B0558 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 86B0558 voice_directsound 64, 24, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86B0564 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0570 voice_directsound 68, 29, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86B057C - voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 86B0588 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 86B0588 voice_directsound 72, 64, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86B0594 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B05A0 voice_directsound 76, 39, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86B05AC voice_directsound 80, 89, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86B05B8 - voice_directsound_no_resample 33, 10, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B05C4 + voice_directsound_no_resample 33, 10, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B05C4 voice_directsound 84, 104, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 235 @ 86B05D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B05DC - voice_directsound 63, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B05E8 + voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B05E8 voice_directsound_no_resample 64, 64, DirectSoundWaveData_dance_drums_ride_bell, 255, 165, 103, 231 @ 86B05F4 voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 86B0600 - voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_cymbal_crash, 255, 231, 0, 188 @ 86B060C + voice_directsound_no_resample 64, 64, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 86B060C voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 86B0618 - voice_directsound_no_resample 64, 118, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B0624 + voice_directsound_no_resample 64, 118, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B0624 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0630 - voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B063C - voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 86B0648 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B063C + voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 86B0648 voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 86B0654 voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 86B0660 voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 86B066C @@ -20751,8 +20751,8 @@ voicegroup180:: @ 86B0FF0 voice_keysplit voicegroup005, KeySplitTable1 @ 86B0FFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1008 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1014 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 64, 249, 0, 188 @ 86B1020 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86B102C + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 64, 249, 0, 188 @ 86B1020 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86B102C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1038 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1044 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1050 @@ -21181,7 +21181,7 @@ voicegroup184:: @ 86B2244 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2394 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23AC - voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86B23B8 + voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86B23B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23DC @@ -21235,7 +21235,7 @@ voicegroup184:: @ 86B2244 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B261C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2628 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2634 - voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 255, 0, 255, 0 @ 86B2640 + voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 255, 0, 255, 0 @ 86B2640 .align 2 voicegroup185:: @ 86B264C @@ -21270,7 +21270,7 @@ voicegroup185:: @ 86B264C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B279C voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 128, 0, 255, 214 @ 86B27A8 voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 128, 0, 255, 206 @ 86B27B4 - voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86B27C0 + voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86B27C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B27CC voice_directsound 60, 0, DirectSoundWaveData_sc88_pick_bass, 255, 253, 0, 149 @ 86B27D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B27E4 @@ -21292,7 +21292,7 @@ voicegroup185:: @ 86B264C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28BC - voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 85, 0, 154, 165 @ 86B28C8 + voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 85, 0, 154, 165 @ 86B28C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28E0 voice_keysplit voicegroup007, KeySplitTable3 @ 86B28EC @@ -21636,8 +21636,8 @@ voicegroup188:: @ 86B384C voice_keysplit voicegroup005, KeySplitTable1 @ 86B3858 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3864 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3870 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86B387C - voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 128, 204, 77, 246 @ 86B3888 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86B387C + voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 128, 204, 77, 246 @ 86B3888 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3894 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B38A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B38AC @@ -21767,8 +21767,8 @@ voicegroup189:: @ 86B3E4C voice_keysplit voicegroup005, KeySplitTable1 @ 86B3E58 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E64 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E70 - voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86B3E7C - voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 128, 204, 77, 246 @ 86B3E88 + voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86B3E7C + voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 128, 204, 77, 246 @ 86B3E88 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E94 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3EA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3EAC @@ -21896,29 +21896,29 @@ voicegroup190:: @ 86B429C voice_noise_alt 0, 0, 1, 9, 1 @ 86B4440 voice_directsound_no_resample 64, 64, DirectSoundWaveData_drum_and_percussion_kick, 255, 0, 255, 0 @ 86B444C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4458 - voice_directsound_no_resample 64, 52, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 86B4464 + voice_directsound_no_resample 64, 52, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 86B4464 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4470 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B447C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4488 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4494 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44A0 - voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 86B44AC + voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 86B44AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44DC - voice_directsound_no_resample 33, 104, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B44E8 + voice_directsound_no_resample 33, 104, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B44E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4500 - voice_directsound 63, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B450C + voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B450C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4518 voice_directsound_no_resample 64, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 86B4524 - voice_directsound_no_resample 64, 14, DirectSoundWaveData_unknown_cymbal_crash, 255, 231, 0, 188 @ 86B4530 + voice_directsound_no_resample 64, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 86B4530 voice_directsound_no_resample 64, 89, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 86B453C - voice_directsound_no_resample 64, 24, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B4548 + voice_directsound_no_resample 64, 24, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B4548 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4554 - voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B4560 - voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 86B456C + voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B4560 + voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 86B456C voice_directsound_no_resample 64, 94, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 86B4578 voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 86B4584 voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 86B4590 diff --git a/spritesheet_rules.mk b/spritesheet_rules.mk index 6e49a0a665..57a2b1ea97 100644 --- a/spritesheet_rules.mk +++ b/spritesheet_rules.mk @@ -653,7 +653,7 @@ $(EVENTOBJGFXDIR)/effects/unknown_20.4bpp: %.4bpp: %.png $(EVENTOBJGFXDIR)/effects/unknown_29.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 2 -mheight 1 -$(EVENTOBJGFXDIR)/effects/unknown_33.4bpp: %.4bpp: %.png +$(EVENTOBJGFXDIR)/effects/lavaridge_gym_warp.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 2 -mheight 2 $(EVENTOBJGFXDIR)/effects/unknown_35.4bpp: %.4bpp: %.png diff --git a/src/anim_mon_front_pics.c b/src/anim_mon_front_pics.c index b566b77604..d764e10ac2 100644 --- a/src/anim_mon_front_pics.c +++ b/src/anim_mon_front_pics.c @@ -84,7 +84,7 @@ const u32 gMonFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/anim_f const u32 gMonFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/anim_front.4bpp.lz"); const u32 gMonFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/anim_front.4bpp.lz"); const u32 gMonFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/anim_front.4bpp.lz"); -const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/anim_front.4bpp.lz"); const u32 gMonFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/anim_front.4bpp.lz"); const u32 gMonFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/anim_front.4bpp.lz"); const u32 gMonFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/anim_front.4bpp.lz"); diff --git a/src/apprentice.c b/src/apprentice.c index 4ad295e1aa..2c8959024b 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -10,7 +10,7 @@ #include "item.h" #include "item_menu.h" #include "main.h" -#include "alloc.h" +#include "malloc.h" #include "menu.h" #include "new_game.h" #include "party_menu.h" @@ -22,1052 +22,117 @@ #include "strings.h" #include "task.h" #include "text.h" -#include "constants/apprentice.h" +#include "constants/battle_frontier.h" +#include "constants/easy_chat.h" #include "constants/items.h" +#include "constants/pokemon.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/trainers.h" #include "constants/moves.h" +/* Summary of Apprentice, because (as of writing at least) its not very well documented online + * + * ## Basic info + * In the Battle Tower lobby there is an NPC which asks to be taught by the player + * They can be any 1 of 16 NPC trainers, each with their own name, class, and set of possible party species + * They ask the player a series of questions once per day, and eventually depart the lobby to be replaced by a new Apprentice + * + * ## Initial Questions + * The first question they always ask is a request to be taught, which cannot be rejected + * The second question (which follows immediately after) is whether they should participate in Battle Tower Lv 50 or Open Lv + * After these opening questions they always ask the player to choose between 2 mons, which they repeat 3 times + * + * ## Random Questions + * After choosing 3 mons for them, the Apprentice will randomly ask between 1 and 8 questions of 4 different types, as follows + * - Asking which mon to lead with, which they will only ask at most once + * - Asking which move a mon should use, which they will ask at most 5 times + * - Asking what held item to give to a mon, which they will ask at most 3 times (once for each mon) + * - Asking what they should say when they win a battle, which will always be their final question before departing + * + * ## After departing + * After telling them what they should say when they win a battle they will leave the lobby for a final time + * They will then be replaced by a new random Apprentice (they can repeat) + * Up to 4 old Apprentices are saved and can be encountered (or partnered with) during challenges of the mode they were told to battle in + * They can also be record mixed to and from other Emerald games + * Old/record mixed Apprentices are stored in struct Apprentice apprentices of SaveBlock2 + * and the current Apprentice is stored in struct PlayersApprentice playerApprentice of SaveBlock2 + */ + #define PLAYER_APPRENTICE gSaveBlock2Ptr->playerApprentice +#define CURRENT_QUESTION_NUM PLAYER_APPRENTICE.questionsAnswered - NUM_WHICH_MON_QUESTIONS -struct Unk030062ECStruct +struct ApprenticePartyMovesData { - u8 unk0; - u16 unk2[3][5]; - u8 unk20[3][5]; + u8 moveCounter; + u16 moves[MULTI_PARTY_SIZE][NUM_WHICH_MOVE_QUESTIONS]; + u8 moveSlots[MULTI_PARTY_SIZE][NUM_WHICH_MOVE_QUESTIONS]; }; -struct Unk030062F0Struct +struct ApprenticeQuestionData { - u16 unk0; - u16 unk2; - u16 unk4; - u16 unk6; + u16 speciesId; + u16 altSpeciesId; + u16 moveId1; + u16 moveId2; }; -// data/scripts/apprentice.inc -extern const u8 gText_082B7229[]; -extern const u8 gText_082B731C[]; -extern const u8 gText_082B735B[]; -extern const u8 gText_082B7423[]; -extern const u8 gText_082B74C1[]; -extern const u8 gText_082B756F[]; -extern const u8 gText_082B75B2[]; -extern const u8 gText_082B763F[]; -extern const u8 gText_082B76AC[]; -extern const u8 gText_082B7772[]; -extern const u8 gText_082B77CE[]; -extern const u8 gText_082B7871[]; -extern const u8 gText_082B78D4[]; -extern const u8 gText_082B7B1A[]; -extern const u8 gText_082B7C13[]; -extern const u8 gText_082B7D18[]; -extern const u8 gText_082B7DD4[]; -extern const u8 gText_082B7EE5[]; -extern const u8 gText_082B7F35[]; -extern const u8 gText_082B7FE8[]; -extern const u8 gText_082B8087[]; -extern const u8 gText_082B822B[]; -extern const u8 gText_082B8286[]; -extern const u8 gText_082B8356[]; -extern const u8 gText_082B83CE[]; -extern const u8 gText_082B84FC[]; -extern const u8 gText_082B8559[]; -extern const u8 gText_082B8656[]; -extern const u8 gText_082B86EA[]; -extern const u8 gText_082B87DA[]; -extern const u8 gText_082B887C[]; -extern const u8 gText_082B8957[]; -extern const u8 gText_082B89C6[]; -extern const u8 gText_082B8ACF[]; -extern const u8 gText_082B8B66[]; -extern const u8 gText_082B8C20[]; -extern const u8 gText_082B8CAA[]; -extern const u8 gText_082B8DD3[]; -extern const u8 gText_082B8E24[]; -extern const u8 gText_082B8ED5[]; -extern const u8 gText_082B8F45[]; -extern const u8 gText_082B905F[]; -extern const u8 gText_082B910E[]; -extern const u8 gText_082B9204[]; -extern const u8 gText_082B929C[]; -extern const u8 gText_082B9438[]; -extern const u8 gText_082B9488[]; -extern const u8 gText_082B9564[]; -extern const u8 gText_082B95D8[]; -extern const u8 gText_082B9763[]; -extern const u8 gText_082B97E5[]; -extern const u8 gText_082B989A[]; -extern const u8 gText_082B992D[]; -extern const u8 gText_082B9A84[]; -extern const u8 gText_082B9AB9[]; -extern const u8 gText_082B9B76[]; -extern const u8 gText_082B9BF2[]; -extern const u8 gText_082B9D83[]; -extern const u8 gText_082B9DF9[]; -extern const u8 gText_082B9EAA[]; -extern const u8 gText_082B9F55[]; -extern const u8 gText_082BA084[]; -extern const u8 gText_082BA11D[]; -extern const u8 gText_082BA1F3[]; - -extern const u8 gText_082BE50D[]; -extern const u8 gText_082BE5F5[]; -extern const u8 gText_082BE679[]; -extern const u8 gText_082BE71E[]; -extern const u8 gText_082BE762[]; -extern const u8 gText_082BE7F8[]; -extern const u8 gText_082BE850[]; -extern const u8 gText_082BE99C[]; -extern const u8 gText_082BEA1B[]; -extern const u8 gText_082BEAE9[]; -extern const u8 gText_082BEB72[]; -extern const u8 gText_082BEC8E[]; -extern const u8 gText_082BED16[]; -extern const u8 gText_082BEE29[]; -extern const u8 gText_082BEEB4[]; -extern const u8 gText_082BEFE2[]; -extern const u8 gText_082BF04E[]; -extern const u8 gText_082BF11D[]; -extern const u8 gText_082BF1A8[]; -extern const u8 gText_082BF268[]; -extern const u8 gText_082BF2D1[]; -extern const u8 gText_082BF3CF[]; -extern const u8 gText_082BF46A[]; -extern const u8 gText_082BF551[]; -extern const u8 gText_082BF5C3[]; -extern const u8 gText_082BF6E5[]; -extern const u8 gText_082BF773[]; -extern const u8 gText_082BF869[]; -extern const u8 gText_082BF8DD[]; -extern const u8 gText_082BF9BA[]; -extern const u8 gText_082BFA5A[]; -extern const u8 gText_082BFB4E[]; - -extern const u8 gText_082BA2A3[]; -extern const u8 gText_082BA34E[]; -extern const u8 gText_082BA380[]; -extern const u8 gText_082BA3D2[]; -extern const u8 gText_082BA448[]; -extern const u8 gText_082BA4D3[]; -extern const u8 gText_082BA58C[]; -extern const u8 gText_082BA5BF[]; -extern const u8 gText_082BA5F3[]; -extern const u8 gText_082BA635[]; -extern const u8 gText_082BA6E6[]; -extern const u8 gText_082BA742[]; -extern const u8 gText_082BA770[]; -extern const u8 gText_082BA78F[]; -extern const u8 gText_082BA7D8[]; -extern const u8 gText_082BA867[]; -extern const u8 gText_082BA96B[]; -extern const u8 gText_082BA9B7[]; -extern const u8 gText_082BAA1B[]; -extern const u8 gText_082BAA81[]; -extern const u8 gText_082BAB22[]; -extern const u8 gText_082BAC43[]; -extern const u8 gText_082BAC78[]; -extern const u8 gText_082BAD17[]; -extern const u8 gText_082BADB6[]; -extern const u8 gText_082BAE36[]; -extern const u8 gText_082BAF4E[]; -extern const u8 gText_082BAF8F[]; -extern const u8 gText_082BAFDB[]; -extern const u8 gText_082BB05F[]; -extern const u8 gText_082BB0D4[]; -extern const u8 gText_082BB18C[]; -extern const u8 gText_082BB1CE[]; -extern const u8 gText_082BB242[]; -extern const u8 gText_082BB2D9[]; -extern const u8 gText_082BB370[]; -extern const u8 gText_082BB4C3[]; -extern const u8 gText_082BB4FB[]; -extern const u8 gText_082BB575[]; -extern const u8 gText_082BB5E1[]; -extern const u8 gText_082BB656[]; -extern const u8 gText_082BB6E5[]; -extern const u8 gText_082BB72C[]; -extern const u8 gText_082BB7A2[]; -extern const u8 gText_082BB84A[]; -extern const u8 gText_082BB8CD[]; -extern const u8 gText_082BB970[]; -extern const u8 gText_082BB9AE[]; -extern const u8 gText_082BBA05[]; -extern const u8 gText_082BBA6C[]; -extern const u8 gText_082BBB01[]; -extern const u8 gText_082BBC1C[]; -extern const u8 gText_082BBC4B[]; -extern const u8 gText_082BBCF6[]; -extern const u8 gText_082BBD90[]; -extern const u8 gText_082BBE0B[]; -extern const u8 gText_082BBEE5[]; -extern const u8 gText_082BBF25[]; -extern const u8 gText_082BBFA4[]; -extern const u8 gText_082BC024[]; -extern const u8 gText_082BC0C8[]; -extern const u8 gText_082BC213[]; -extern const u8 gText_082BC247[]; -extern const u8 gText_082BC2DD[]; -extern const u8 gText_082BC373[]; -extern const u8 gText_082BC40E[]; -extern const u8 gText_082BC514[]; -extern const u8 gText_082BC555[]; -extern const u8 gText_082BC5CE[]; -extern const u8 gText_082BC666[]; -extern const u8 gText_082BC714[]; -extern const u8 gText_082BC808[]; -extern const u8 gText_082BC84D[]; -extern const u8 gText_082BC8EA[]; -extern const u8 gText_082BC984[]; -extern const u8 gText_082BCA4D[]; -extern const u8 gText_082BCB75[]; -extern const u8 gText_082BCBA6[]; -extern const u8 gText_082BCBFC[]; -extern const u8 gText_082BCCA4[]; - -extern const u8 gText_082BFBF2[]; -extern const u8 gText_082BFCAE[]; -extern const u8 gText_082BFD26[]; -extern const u8 gText_082BFDB1[]; -extern const u8 gText_082BFE24[]; -extern const u8 gText_082BFEAD[]; -extern const u8 gText_082BFF0A[]; -extern const u8 gText_082C0032[]; -extern const u8 gText_082C0090[]; -extern const u8 gText_082C016E[]; -extern const u8 gText_082C01F7[]; -extern const u8 gText_082C034C[]; -extern const u8 gText_082C03CA[]; -extern const u8 gText_082C046E[]; -extern const u8 gText_082C04F9[]; -extern const u8 gText_082C0598[]; -extern const u8 gText_082C0602[]; -extern const u8 gText_082C06D8[]; -extern const u8 gText_082C074A[]; -extern const u8 gText_082C0809[]; -extern const u8 gText_082C086E[]; -extern const u8 gText_082C0982[]; -extern const u8 gText_082C0A1D[]; -extern const u8 gText_082C0AFD[]; -extern const u8 gText_082C0B6F[]; -extern const u8 gText_082C0C7D[]; -extern const u8 gText_082C0D0B[]; -extern const u8 gText_082C0DFE[]; -extern const u8 gText_082C0E71[]; -extern const u8 gText_082C0F6D[]; -extern const u8 gText_082C1003[]; -extern const u8 gText_082C1122[]; - -extern const u8 gText_082BCD68[]; -extern const u8 gText_082BCE64[]; -extern const u8 gText_082BCEF2[]; -extern const u8 gText_082BCF61[]; -extern const u8 gText_082BCFA1[]; -extern const u8 gText_082BD03C[]; -extern const u8 gText_082BD06D[]; -extern const u8 gText_082BD18A[]; -extern const u8 gText_082BD222[]; -extern const u8 gText_082BD325[]; -extern const u8 gText_082BD3B1[]; -extern const u8 gText_082BD493[]; -extern const u8 gText_082BD51C[]; -extern const u8 gText_082BD609[]; -extern const u8 gText_082BD697[]; -extern const u8 gText_082BD797[]; -extern const u8 gText_082BD806[]; -extern const u8 gText_082BD8F5[]; -extern const u8 gText_082BD9BE[]; -extern const u8 gText_082BDAE1[]; -extern const u8 gText_082BDB4E[]; -extern const u8 gText_082BDC6B[]; -extern const u8 gText_082BDD0D[]; -extern const u8 gText_082BDDEC[]; -extern const u8 gText_082BDE68[]; -extern const u8 gText_082BDF4D[]; -extern const u8 gText_082BDFD8[]; -extern const u8 gText_082BE0FD[]; -extern const u8 gText_082BE189[]; -extern const u8 gText_082BE2A5[]; -extern const u8 gText_082BE33E[]; -extern const u8 gText_082BE46C[]; - -extern const u8 gText_082C11D1[]; -extern const u8 gText_082C12D5[]; -extern const u8 gText_082C13AB[]; -extern const u8 gText_082C1444[]; -extern const u8 gText_082C1501[]; -extern const u8 gText_082C15B6[]; -extern const u8 gText_082C165E[]; -extern const u8 gText_082C174F[]; -extern const u8 gText_082C1862[]; -extern const u8 gText_082C19A0[]; -extern const u8 gText_082C1A76[]; -extern const u8 gText_082C1C16[]; -extern const u8 gText_082C1CF5[]; -extern const u8 gText_082C1DC1[]; -extern const u8 gText_082C1EDC[]; -extern const u8 gText_082C1FEC[]; -extern const u8 gText_082C20D1[]; -extern const u8 gText_082C21FF[]; -extern const u8 gText_082C231C[]; -extern const u8 gText_082C2407[]; -extern const u8 gText_082C24B5[]; -extern const u8 gText_082C25B1[]; -extern const u8 gText_082C2707[]; -extern const u8 gText_082C27D4[]; -extern const u8 gText_082C28D6[]; -extern const u8 gText_082C2A0B[]; -extern const u8 gText_082C2B50[]; -extern const u8 gText_082C2C77[]; -extern const u8 gText_082C2D67[]; -extern const u8 gText_082C2E41[]; -extern const u8 gText_082C2EF5[]; -extern const u8 gText_082C3023[]; - -extern const u8 gText_082B6EA5[]; -extern const u8 gText_082B6EEC[]; -extern const u8 gText_082B6F16[]; -extern const u8 gText_082B6F4C[]; -extern const u8 gText_082B6F92[]; -extern const u8 gText_082B6FC9[]; -extern const u8 gText_082B700C[]; -extern const u8 gText_082B703A[]; -extern const u8 gText_082B706A[]; -extern const u8 gText_082B709C[]; -extern const u8 gText_082B70CC[]; -extern const u8 gText_082B710A[]; -extern const u8 gText_082B714D[]; -extern const u8 gText_082B7185[]; -extern const u8 gText_082B71C1[]; -extern const u8 gText_082B71F9[]; - // IWRAM common -struct Unk030062ECStruct *gUnknown_030062EC; -struct Unk030062F0Struct *gUnknown_030062F0; -void (*gUnknown_030062F4)(void); +struct ApprenticePartyMovesData *gApprenticePartyMovesData; +struct ApprenticeQuestionData *gApprenticeQuestionData; +void (*gApprenticeFunc)(void); // This file's functions. -static u16 sub_819FF98(u8 arg0); -static bool8 sub_81A0194(u8 arg0, u16 moveId); +static u16 GetRandomAlternateMove(u8 monId); +static bool8 TrySetMove(u8 monId, u16 moveId); static void CreateChooseAnswerTask(bool8 noBButton, u8 itemsCount, u8 windowId); static u8 CreateAndShowWindow(u8 left, u8 top, u8 width, u8 height); static void RemoveAndHideWindow(u8 windowId); static void ExecuteFuncAfterButtonPress(void (*func)(void)); -static void Script_IsPlayersApprenticeActive(void); -static void Script_SetPlayersApprenticeLvlMode(void); -static void sub_81A0978(void); -static void sub_819FC60(void); -static void sub_81A0984(void); -static void sub_81A0990(void); -static void sub_81A09D0(void); +static void Script_GivenApprenticeLvlMode(void); +static void Script_SetApprenticeLvlMode(void); +static void Script_SetApprenticeId(void); +static void ShuffleApprenticeSpecies(void); +static void Script_SetRandomQuestionData(void); +static void IncrementQuestionsAnswered(void); +static void IsFinalQuestion(void); static void Script_CreateApprenticeMenu(void); -static void Script_PrintMessage(void); +static void Script_PrintApprenticeMessage(void); static void Script_ResetPlayerApprentice(void); -static void sub_81A1638(void); -static void sub_81A0CC0(void); -static void sub_81A09B4(void); -static void sub_81A0D40(void); -static void sub_81A0DD4(void); -static void sub_81A0FE4(void); -static void sub_81A0FFC(void); -static void sub_81A0D80(void); -static void sub_81A11F8(void); -static void sub_81A1218(void); -static void sub_81A1224(void); -static void sub_81A1438(void); -static void sub_81A150C(void); -static void Script_SetPlayerApprenticeTrainerGfxId(void); -static void sub_81A1644(void); -static void sub_81A1370(void); +static void GetShouldCheckApprenticeGone(void); +static void ApprenticeGetQuestion(void); +static void GetNumApprenticePartyMonsAssigned(void); +static void SetApprenticePartyMon(void); +static void InitQuestionData(void); +static void FreeQuestionData(void); +static void ApprenticeBufferString(void); +static void SetApprenticeMonMove(void); +static void SetLeadApprenticeMon(void); +static void Script_ApprenticeOpenBagMenu(void); +static void TrySetApprenticeHeldItem(void); +static void SaveApprentice(void); +static void SetSavedApprenticeTrainerGfxId(void); +static void SetPlayerApprenticeTrainerGfxId(void); +static void GetShouldApprenticeLeave(void); +static void ShiftSavedApprentices(void); -// rodata +#include "data/battle_frontier/apprentice.h" -const struct ApprenticeTrainer gApprentices[] = +void BufferApprenticeChallengeText(u8 saveApprenticeId) { - { - .name = {_("サダヒロ"), _("ALANN"), _("ALAIN"), _("ADELFO"), _("CLAUS"), _("TEO")}, - .otId = 0xBDC9, - .facilityClass = 0x43, - .species = {SPECIES_BEAUTIFLY, SPECIES_DUSTOX, SPECIES_ILLUMISE, SPECIES_SHIFTRY, SPECIES_BRELOOM, SPECIES_NINJASK, SPECIES_SHEDINJA, SPECIES_PINSIR, SPECIES_HERACROSS, SPECIES_VOLBEAT}, - .id = 0, - .easyChatWords = {0x81D, 0x143E, 0xC00, 0xA01, 0x630, 0x1444}, - }, - { - .name = {_("ヒロオ"), _("LIONEL"), _("LIONEL"), _("CAIO"), _("LUDWIG"), _("LEO")}, - .otId = 0xCF09, - .facilityClass = 0x2B, - .species = {SPECIES_SWELLOW, SPECIES_SWALOT, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_TORKOAL, SPECIES_HARIYAMA, SPECIES_MIGHTYENA, SPECIES_LUDICOLO, SPECIES_CRAWDAUNT, SPECIES_WHISCASH}, - .id = 1, - .easyChatWords = {0xC38, 0xA01, 0x630, 0xA06, 0x1020, 0x2213}, - }, - { - .name = {_("ケイジ"), _("SONNY"), _("HERVE"), _("FEDRO"), _("WENZEL"), _("SANTI")}, - .otId = 0x2E34, - .facilityClass = 0x26, - .species = {SPECIES_LINOONE, SPECIES_MIGHTYENA, SPECIES_WHISCASH, SPECIES_ZANGOOSE, SPECIES_SEVIPER, SPECIES_NINETALES, SPECIES_KECLEON, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_MACHAMP}, - .id = 2, - .easyChatWords = {0xA01, 0x160A, 0xE15, 0x630, 0xC3B, 0xC04}, - }, - { - .name = {_("ユラ"), _("LAYLA"), _("LAYLA"), _("ASTRID"), _("SONJA"), _("LOLA")}, - .otId = 0x84EF, - .facilityClass = 0x47, - .species = {SPECIES_SWALOT, SPECIES_XATU, SPECIES_ALTARIA, SPECIES_GOLDUCK, SPECIES_FLYGON, SPECIES_ALAKAZAM, SPECIES_GARDEVOIR, SPECIES_WAILORD, SPECIES_GRUMPIG, SPECIES_MIGHTYENA}, - .id = 3, - .easyChatWords = {0x100B, 0x1E0F, 0x1039, 0x1421, 0xC03, 0xFFFF}, - }, - { - .name = {_("ヨウカ"), _("MACY"), _("AMELIE"), _("CLEO"), _("MARIA"), _("ELISA")}, - .otId = 0x1E43, - .facilityClass = 0x27, - .species = {SPECIES_WIGGLYTUFF, SPECIES_LINOONE, SPECIES_KINGDRA, SPECIES_DELCATTY, SPECIES_RAICHU, SPECIES_FEAROW, SPECIES_STARMIE, SPECIES_MEDICHAM, SPECIES_SHIFTRY, SPECIES_BEAUTIFLY}, - .id = 4, - .easyChatWords = {0x1E0F, 0x1014, 0x1006, 0x280F, 0x1C1C, 0x1C13}, - }, - { - .name = {_("ヤスシ"), _("DONTE"), _("BRAHIM"), _("GLAUCO"), _("JOSEF"), _("ROQUE")}, - .otId = 0x379F, - .facilityClass = 0x30, - .species = {SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_AGGRON, SPECIES_MAGNETON, SPECIES_MACHAMP, SPECIES_ARMALDO, SPECIES_HERACROSS, SPECIES_NOSEPASS, SPECIES_EXPLOUD, SPECIES_MIGHTYENA}, - .id = 5, - .easyChatWords = {0xA29, 0x1408, 0x102F, 0x1638, 0x820, 0xC00}, - }, - { - .name = {_("ミサオ"), _("AMIRA"), _("LAURE"), _("DAFNE"), _("AMELIE"), _("LARA")}, - .otId = 0xF555, - .facilityClass = 0x31, - .species = {SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_MAGNETON, SPECIES_MEDICHAM, SPECIES_MIGHTYENA, SPECIES_GLALIE, SPECIES_GOLEM, SPECIES_ELECTRODE, SPECIES_PELIPPER, SPECIES_SHARPEDO}, - .id = 6, - .easyChatWords = {0xC0B, 0x123E, 0xC00, 0xA31, 0x1430, 0xC00}, - }, - { - .name = {_("カズサ"), _("KALI"), _("JODIE"), _("ILENIA"), _("KARO"), _("ELSA")}, - .otId = 0x8D26, - .facilityClass = 0x14, - .species = {SPECIES_NINETALES, SPECIES_ALAKAZAM, SPECIES_SCEPTILE, SPECIES_SALAMENCE, SPECIES_GOLDUCK, SPECIES_MAWILE, SPECIES_WEEZING, SPECIES_LANTURN, SPECIES_GARDEVOIR, SPECIES_MILOTIC}, - .id = 7, - .easyChatWords = {0xA06, 0x620, 0xA1F, 0xA02, 0xC03, 0xFFFF}, - }, - { - .name = {_("スミレ"), _("ANNIE"), _("ANNIE"), _("IMELDA"), _("INES"), _("ROSA")}, - .otId = 0x800C, - .facilityClass = 0xD, - .species = {SPECIES_SCEPTILE, SPECIES_VILEPLUME, SPECIES_BELLOSSOM, SPECIES_ROSELIA, SPECIES_CORSOLA, SPECIES_FLYGON, SPECIES_BRELOOM, SPECIES_MILOTIC, SPECIES_ALTARIA, SPECIES_CRADILY}, - .id = 8, - .easyChatWords = {0x1E22, 0x433, 0x20E, 0xA02, 0x101E, 0xC00}, - }, - { - .name = {_("アキノリ"), _("DILLEN"), _("RENE"), _("INDRO"), _("DETLEF"), _("PEDRO")}, - .otId = 0x469f, - .facilityClass = 0, - .species = {SPECIES_SKARMORY, SPECIES_GOLEM, SPECIES_BLAZIKEN, SPECIES_CAMERUPT, SPECIES_DONPHAN, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_TROPIUS, SPECIES_SOLROCK, SPECIES_RHYDON}, - .id = 9, - .easyChatWords = {0xA3D, 0x1011, 0xE1E, 0x201C, 0xC04, 0xFFFF}, - }, - { - .name = {_("トウゾウ"), _("DALLAS"), _("BRUNO"), _("LEARCO"), _("ANSGAR"), _("MANOLO")}, - .otId = 0x71FC, - .facilityClass = 0x2D, - .species = {SPECIES_SEAKING, SPECIES_STARMIE, SPECIES_GOLDUCK, SPECIES_TENTACRUEL, SPECIES_OCTILLERY, SPECIES_GOREBYSS, SPECIES_GLALIE, SPECIES_WAILORD, SPECIES_SHARPEDO, SPECIES_KINGDRA}, - .id = 10, - .easyChatWords = {0xA05, 0x606, 0x160E, 0xA14, 0xC00, 0xFFFF}, - }, - { - .name = {_("セイヤ"), _("FRANK"), _("FRANK"), _("OLINDO"), _("FRANK"), _("MAURO")}, - .otId = 0xA39E, - .facilityClass = 0x3A, - .species = {SPECIES_QUAGSIRE, SPECIES_STARMIE, SPECIES_PELIPPER, SPECIES_CRAWDAUNT, SPECIES_WAILORD, SPECIES_GYARADOS, SPECIES_SWAMPERT, SPECIES_LANTURN, SPECIES_WHISCASH, SPECIES_SHUCKLE}, - .id = 11, - .easyChatWords = {0x280E, 0x103D, 0x240F, 0xA14, 0x1E23, 0x1024}, - }, - { - .name = {_("リュウジ"), _("LAMONT"), _("XAV"), _("ORFEO"), _("JÜRGEN"), _("JORGE")}, - .otId = 0xE590, - .facilityClass = 0x19, - .species = {SPECIES_ABSOL, SPECIES_CROBAT, SPECIES_EXPLOUD, SPECIES_MAGNETON, SPECIES_SHARPEDO, SPECIES_MANECTRIC, SPECIES_METAGROSS, SPECIES_ELECTRODE, SPECIES_NOSEPASS, SPECIES_WEEZING}, - .id = 12, - .easyChatWords = {0x1020, 0x62E, 0x100B, 0x1E22, 0x1E0F, 0x100B}, - }, - { - .name = {_("カツアキ"), _("TYRESE"), _("ANDY"), _("PARIDE"), _("DAVID"), _("CHICHO")}, - .otId = 0xD018, - .facilityClass = 10, - .species = {SPECIES_BLAZIKEN, SPECIES_GOLEM, SPECIES_MACHAMP, SPECIES_RHYDON, SPECIES_HARIYAMA, SPECIES_AGGRON, SPECIES_MEDICHAM, SPECIES_ZANGOOSE, SPECIES_VIGOROTH, SPECIES_SLAKING}, - .id = 13, - .easyChatWords = {0xA29, 0x63A, 0xE15, 0x1435, 0x1034, 0x61E}, - }, - { - .name = {_("トシミツ"), _("DANTE"), _("DANTE"), _("RAOUL"), _("LOTHAR"), _("PABLO")}, - .otId = 0xBC75, - .facilityClass = 14, - .species = {SPECIES_SCEPTILE, SPECIES_SANDSLASH, SPECIES_FLYGON, SPECIES_CLAYDOL, SPECIES_ARMALDO, SPECIES_CROBAT, SPECIES_CRADILY, SPECIES_SOLROCK, SPECIES_LUNATONE, SPECIES_GOLEM}, - .id = 14, - .easyChatWords = {0xA01, 0x1017, 0x1243, 0x1E22, 0x100B, 0x280F}, - }, - { - .name = {_("ローウェン"), _("ARTURO"), _("ARTURO"), _("ROMOLO"), _("BRIAN"), _("ARTURO")}, - .otId = 0xFA02, - .facilityClass = 0x20, - .species = {SPECIES_ABSOL, SPECIES_MIGHTYENA, SPECIES_ALAKAZAM, SPECIES_BANETTE, SPECIES_NINETALES, SPECIES_CLAYDOL, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_WALREIN, SPECIES_DUSCLOPS}, - .id = 15, - .easyChatWords = {0x1E0F, 0x1404, 0x102F, 0x1006, 0x1020, 0xE03}, - }, -}; + u8 i, num; + const u8 *challengeText; -static const u8 *const gUnknown_08610EF0[][4] = -{ - {gText_082B7229, gText_082B731C, gText_082B735B, gText_082B7423}, - {gText_082B74C1, gText_082B756F, gText_082B75B2, gText_082B763F}, - {gText_082B76AC, gText_082B7772, gText_082B77CE, gText_082B7871}, - {gText_082B78D4, gText_082B7B1A, gText_082B7C13, gText_082B7D18}, - {gText_082B7DD4, gText_082B7EE5, gText_082B7F35, gText_082B7FE8}, - {gText_082B8087, gText_082B822B, gText_082B8286, gText_082B8356}, - {gText_082B83CE, gText_082B84FC, gText_082B8559, gText_082B8656}, - {gText_082B86EA, gText_082B87DA, gText_082B887C, gText_082B8957}, - {gText_082B89C6, gText_082B8ACF, gText_082B8B66, gText_082B8C20}, - {gText_082B8CAA, gText_082B8DD3, gText_082B8E24, gText_082B8ED5}, - {gText_082B8F45, gText_082B905F, gText_082B910E, gText_082B9204}, - {gText_082B929C, gText_082B9438, gText_082B9488, gText_082B9564}, - {gText_082B95D8, gText_082B9763, gText_082B97E5, gText_082B989A}, - {gText_082B992D, gText_082B9A84, gText_082B9AB9, gText_082B9B76}, - {gText_082B9BF2, gText_082B9D83, gText_082B9DF9, gText_082B9EAA}, - {gText_082B9F55, gText_082BA084, gText_082BA11D, gText_082BA1F3}, -}; - -static const u8 *const gUnknown_08610FF0[][2] = -{ - {gText_082BE50D, gText_082BE5F5}, - {gText_082BE679, gText_082BE71E}, - {gText_082BE762, gText_082BE7F8}, - {gText_082BE850, gText_082BE99C}, - {gText_082BEA1B, gText_082BEAE9}, - {gText_082BEB72, gText_082BEC8E}, - {gText_082BED16, gText_082BEE29}, - {gText_082BEEB4, gText_082BEFE2}, - {gText_082BF04E, gText_082BF11D}, - {gText_082BF1A8, gText_082BF268}, - {gText_082BF2D1, gText_082BF3CF}, - {gText_082BF46A, gText_082BF551}, - {gText_082BF5C3, gText_082BF6E5}, - {gText_082BF773, gText_082BF869}, - {gText_082BF8DD, gText_082BF9BA}, - {gText_082BFA5A, gText_082BFB4E}, -}; - -static const u8 *const gUnknown_08611070[][5] = -{ - {gText_082BA2A3, gText_082BA34E, gText_082BA380, gText_082BA3D2, gText_082BA448}, - {gText_082BA4D3, gText_082BA58C, gText_082BA5BF, gText_082BA5F3, gText_082BA635}, - {gText_082BA6E6, gText_082BA742, gText_082BA770, gText_082BA78F, gText_082BA7D8}, - {gText_082BA867, gText_082BA96B, gText_082BA9B7, gText_082BAA1B, gText_082BAA81}, - {gText_082BAB22, gText_082BAC43, gText_082BAC78, gText_082BAD17, gText_082BADB6}, - {gText_082BAE36, gText_082BAF4E, gText_082BAF8F, gText_082BAFDB, gText_082BB05F}, - {gText_082BB0D4, gText_082BB18C, gText_082BB1CE, gText_082BB242, gText_082BB2D9}, - {gText_082BB370, gText_082BB4C3, gText_082BB4FB, gText_082BB575, gText_082BB5E1}, - {gText_082BB656, gText_082BB6E5, gText_082BB72C, gText_082BB7A2, gText_082BB84A}, - {gText_082BB8CD, gText_082BB970, gText_082BB9AE, gText_082BBA05, gText_082BBA6C}, - {gText_082BBB01, gText_082BBC1C, gText_082BBC4B, gText_082BBCF6, gText_082BBD90}, - {gText_082BBE0B, gText_082BBEE5, gText_082BBF25, gText_082BBFA4, gText_082BC024}, - {gText_082BC0C8, gText_082BC213, gText_082BC247, gText_082BC2DD, gText_082BC373}, - {gText_082BC40E, gText_082BC514, gText_082BC555, gText_082BC5CE, gText_082BC666}, - {gText_082BC714, gText_082BC808, gText_082BC84D, gText_082BC8EA, gText_082BC984}, - {gText_082BCA4D, gText_082BCB75, gText_082BCBA6, gText_082BCBFC, gText_082BCCA4}, -}; - -static const u8 *const gUnknown_086111B0[][2] = -{ - {gText_082BFBF2, gText_082BFCAE}, - {gText_082BFD26, gText_082BFDB1}, - {gText_082BFE24, gText_082BFEAD}, - {gText_082BFF0A, gText_082C0032}, - {gText_082C0090, gText_082C016E}, - {gText_082C01F7, gText_082C034C}, - {gText_082C03CA, gText_082C046E}, - {gText_082C04F9, gText_082C0598}, - {gText_082C0602, gText_082C06D8}, - {gText_082C074A, gText_082C0809}, - {gText_082C086E, gText_082C0982}, - {gText_082C0A1D, gText_082C0AFD}, - {gText_082C0B6F, gText_082C0C7D}, - {gText_082C0D0B, gText_082C0DFE}, - {gText_082C0E71, gText_082C0F6D}, - {gText_082C1003, gText_082C1122}, -}; - -static const u8 *const gUnknown_08611230[][2] = -{ - {gText_082BCD68, gText_082BCE64}, - {gText_082BCEF2, gText_082BCF61}, - {gText_082BCFA1, gText_082BD03C}, - {gText_082BD06D, gText_082BD18A}, - {gText_082BD222, gText_082BD325}, - {gText_082BD3B1, gText_082BD493}, - {gText_082BD51C, gText_082BD609}, - {gText_082BD697, gText_082BD797}, - {gText_082BD806, gText_082BD8F5}, - {gText_082BD9BE, gText_082BDAE1}, - {gText_082BDB4E, gText_082BDC6B}, - {gText_082BDD0D, gText_082BDDEC}, - {gText_082BDE68, gText_082BDF4D}, - {gText_082BDFD8, gText_082BE0FD}, - {gText_082BE189, gText_082BE2A5}, - {gText_082BE33E, gText_082BE46C}, -}; - -static const u8 *const gUnknown_086112B0[][2] = -{ - {gText_082C11D1, gText_082C12D5}, - {gText_082C13AB, gText_082C1444}, - {gText_082C1501, gText_082C15B6}, - {gText_082C165E, gText_082C174F}, - {gText_082C1862, gText_082C19A0}, - {gText_082C1A76, gText_082C1C16}, - {gText_082C1CF5, gText_082C1DC1}, - {gText_082C1EDC, gText_082C1FEC}, - {gText_082C20D1, gText_082C21FF}, - {gText_082C231C, gText_082C2407}, - {gText_082C24B5, gText_082C25B1}, - {gText_082C2707, gText_082C27D4}, - {gText_082C28D6, gText_082C2A0B}, - {gText_082C2B50, gText_082C2C77}, - {gText_082C2D67, gText_082C2E41}, - {gText_082C2EF5, gText_082C3023}, -}; - -static const u8 *const gUnknown_08611330[] = -{ - gText_082B6EA5, - gText_082B6EEC, - gText_082B6F16, - gText_082B6F4C, - gText_082B6F92, - gText_082B6FC9, - gText_082B700C, - gText_082B703A, - gText_082B706A, - gText_082B709C, - gText_082B70CC, - gText_082B710A, - gText_082B714D, - gText_082B7185, - gText_082B71C1, - gText_082B71F9, -}; - -static const bool8 gUnknown_08611370[MOVES_COUNT] = -{ - [MOVE_NONE] = FALSE, - [MOVE_POUND] = FALSE, - [MOVE_KARATE_CHOP] = TRUE, - [MOVE_DOUBLE_SLAP] = TRUE, - [MOVE_COMET_PUNCH] = FALSE, - [MOVE_MEGA_PUNCH] = TRUE, - [MOVE_PAY_DAY] = FALSE, - [MOVE_FIRE_PUNCH] = TRUE, - [MOVE_ICE_PUNCH] = TRUE, - [MOVE_THUNDER_PUNCH] = TRUE, - [MOVE_SCRATCH] = FALSE, - [MOVE_VICE_GRIP] = FALSE, - [MOVE_GUILLOTINE] = TRUE, - [MOVE_RAZOR_WIND] = FALSE, - [MOVE_SWORDS_DANCE] = TRUE, - [MOVE_CUT] = FALSE, - [MOVE_GUST] = FALSE, - [MOVE_WING_ATTACK] = FALSE, - [MOVE_WHIRLWIND] = TRUE, - [MOVE_FLY] = TRUE, - [MOVE_BIND] = TRUE, - [MOVE_SLAM] = TRUE, - [MOVE_VINE_WHIP] = FALSE, - [MOVE_STOMP] = TRUE, - [MOVE_DOUBLE_KICK] = TRUE, - [MOVE_MEGA_KICK] = TRUE, - [MOVE_JUMP_KICK] = TRUE, - [MOVE_ROLLING_KICK] = TRUE, - [MOVE_SAND_ATTACK] = TRUE, - [MOVE_HEADBUTT] = TRUE, - [MOVE_HORN_ATTACK] = FALSE, - [MOVE_FURY_ATTACK] = FALSE, - [MOVE_HORN_DRILL] = TRUE, - [MOVE_TACKLE] = FALSE, - [MOVE_BODY_SLAM] = TRUE, - [MOVE_WRAP] = TRUE, - [MOVE_TAKE_DOWN] = TRUE, - [MOVE_THRASH] = TRUE, - [MOVE_DOUBLE_EDGE] = TRUE, - [MOVE_TAIL_WHIP] = FALSE, - [MOVE_POISON_STING] = FALSE, - [MOVE_TWINEEDLE] = TRUE, - [MOVE_PIN_MISSILE] = FALSE, - [MOVE_LEER] = FALSE, - [MOVE_BITE] = TRUE, - [MOVE_GROWL] = FALSE, - [MOVE_ROAR] = TRUE, - [MOVE_SING] = TRUE, - [MOVE_SUPERSONIC] = TRUE, - [MOVE_SONIC_BOOM] = TRUE, - [MOVE_DISABLE] = TRUE, - [MOVE_ACID] = FALSE, - [MOVE_EMBER] = FALSE, - [MOVE_FLAMETHROWER] = TRUE, - [MOVE_MIST] = TRUE, - [MOVE_WATER_GUN] = FALSE, - [MOVE_HYDRO_PUMP] = TRUE, - [MOVE_SURF] = TRUE, - [MOVE_ICE_BEAM] = TRUE, - [MOVE_BLIZZARD] = TRUE, - [MOVE_PSYBEAM] = TRUE, - [MOVE_BUBBLE_BEAM] = FALSE, - [MOVE_AURORA_BEAM] = FALSE, - [MOVE_HYPER_BEAM] = TRUE, - [MOVE_PECK] = FALSE, - [MOVE_DRILL_PECK] = TRUE, - [MOVE_SUBMISSION] = TRUE, - [MOVE_LOW_KICK] = TRUE, - [MOVE_COUNTER] = TRUE, - [MOVE_SEISMIC_TOSS] = TRUE, - [MOVE_STRENGTH] = TRUE, - [MOVE_ABSORB] = FALSE, - [MOVE_MEGA_DRAIN] = FALSE, - [MOVE_LEECH_SEED] = TRUE, - [MOVE_GROWTH] = TRUE, - [MOVE_RAZOR_LEAF] = TRUE, - [MOVE_SOLAR_BEAM] = TRUE, - [MOVE_POISON_POWDER] = TRUE, - [MOVE_STUN_SPORE] = TRUE, - [MOVE_SLEEP_POWDER] = TRUE, - [MOVE_PETAL_DANCE] = TRUE, - [MOVE_STRING_SHOT] = FALSE, - [MOVE_DRAGON_RAGE] = TRUE, - [MOVE_FIRE_SPIN] = TRUE, - [MOVE_THUNDER_SHOCK] = FALSE, - [MOVE_THUNDERBOLT] = TRUE, - [MOVE_THUNDER_WAVE] = TRUE, - [MOVE_THUNDER] = TRUE, - [MOVE_ROCK_THROW] = FALSE, - [MOVE_EARTHQUAKE] = TRUE, - [MOVE_FISSURE] = TRUE, - [MOVE_DIG] = TRUE, - [MOVE_TOXIC] = TRUE, - [MOVE_CONFUSION] = FALSE, - [MOVE_PSYCHIC] = TRUE, - [MOVE_HYPNOSIS] = TRUE, - [MOVE_MEDITATE] = TRUE, - [MOVE_AGILITY] = TRUE, - [MOVE_QUICK_ATTACK] = TRUE, - [MOVE_RAGE] = FALSE, - [MOVE_TELEPORT] = FALSE, - [MOVE_NIGHT_SHADE] = TRUE, - [MOVE_MIMIC] = TRUE, - [MOVE_SCREECH] = TRUE, - [MOVE_DOUBLE_TEAM] = TRUE, - [MOVE_RECOVER] = TRUE, - [MOVE_HARDEN] = TRUE, - [MOVE_MINIMIZE] = TRUE, - [MOVE_SMOKESCREEN] = TRUE, - [MOVE_CONFUSE_RAY] = TRUE, - [MOVE_WITHDRAW] = TRUE, - [MOVE_DEFENSE_CURL] = TRUE, - [MOVE_BARRIER] = TRUE, - [MOVE_LIGHT_SCREEN] = TRUE, - [MOVE_HAZE] = TRUE, - [MOVE_REFLECT] = TRUE, - [MOVE_FOCUS_ENERGY] = TRUE, - [MOVE_BIDE] = FALSE, - [MOVE_METRONOME] = TRUE, - [MOVE_MIRROR_MOVE] = TRUE, - [MOVE_SELF_DESTRUCT] = TRUE, - [MOVE_EGG_BOMB] = TRUE, - [MOVE_LICK] = TRUE, - [MOVE_SMOG] = FALSE, - [MOVE_SLUDGE] = FALSE, - [MOVE_BONE_CLUB] = FALSE, - [MOVE_FIRE_BLAST] = TRUE, - [MOVE_WATERFALL] = TRUE, - [MOVE_CLAMP] = TRUE, - [MOVE_SWIFT] = TRUE, - [MOVE_SKULL_BASH] = TRUE, - [MOVE_SPIKE_CANNON] = FALSE, - [MOVE_CONSTRICT] = FALSE, - [MOVE_AMNESIA] = TRUE, - [MOVE_KINESIS] = TRUE, - [MOVE_SOFT_BOILED] = TRUE, - [MOVE_HI_JUMP_KICK] = TRUE, - [MOVE_GLARE] = TRUE, - [MOVE_DREAM_EATER] = TRUE, - [MOVE_POISON_GAS] = FALSE, - [MOVE_BARRAGE] = FALSE, - [MOVE_LEECH_LIFE] = FALSE, - [MOVE_LOVELY_KISS] = TRUE, - [MOVE_SKY_ATTACK] = TRUE, - [MOVE_TRANSFORM] = TRUE, - [MOVE_BUBBLE] = FALSE, - [MOVE_DIZZY_PUNCH] = TRUE, - [MOVE_SPORE] = TRUE, - [MOVE_FLASH] = TRUE, - [MOVE_PSYWAVE] = TRUE, - [MOVE_SPLASH] = FALSE, - [MOVE_ACID_ARMOR] = TRUE, - [MOVE_CRABHAMMER] = TRUE, - [MOVE_EXPLOSION] = TRUE, - [MOVE_FURY_SWIPES] = FALSE, - [MOVE_BONEMERANG] = TRUE, - [MOVE_REST] = TRUE, - [MOVE_ROCK_SLIDE] = TRUE, - [MOVE_HYPER_FANG] = TRUE, - [MOVE_SHARPEN] = TRUE, - [MOVE_CONVERSION] = TRUE, - [MOVE_TRI_ATTACK] = TRUE, - [MOVE_SUPER_FANG] = TRUE, - [MOVE_SLASH] = TRUE, - [MOVE_SUBSTITUTE] = TRUE, - [MOVE_STRUGGLE] = TRUE, - [MOVE_SKETCH] = TRUE, - [MOVE_TRIPLE_KICK] = TRUE, - [MOVE_THIEF] = TRUE, - [MOVE_SPIDER_WEB] = TRUE, - [MOVE_MIND_READER] = TRUE, - [MOVE_NIGHTMARE] = TRUE, - [MOVE_FLAME_WHEEL] = FALSE, - [MOVE_SNORE] = TRUE, - [MOVE_CURSE] = TRUE, - [MOVE_FLAIL] = TRUE, - [MOVE_CONVERSION_2] = TRUE, - [MOVE_AEROBLAST] = TRUE, - [MOVE_COTTON_SPORE] = TRUE, - [MOVE_REVERSAL] = TRUE, - [MOVE_SPITE] = TRUE, - [MOVE_POWDER_SNOW] = FALSE, - [MOVE_PROTECT] = TRUE, - [MOVE_MACH_PUNCH] = TRUE, - [MOVE_SCARY_FACE] = TRUE, - [MOVE_FAINT_ATTACK] = TRUE, - [MOVE_SWEET_KISS] = TRUE, - [MOVE_BELLY_DRUM] = TRUE, - [MOVE_SLUDGE_BOMB] = TRUE, - [MOVE_MUD_SLAP] = TRUE, - [MOVE_OCTAZOOKA] = TRUE, - [MOVE_SPIKES] = TRUE, - [MOVE_ZAP_CANNON] = TRUE, - [MOVE_FORESIGHT] = TRUE, - [MOVE_DESTINY_BOND] = TRUE, - [MOVE_PERISH_SONG] = TRUE, - [MOVE_ICY_WIND] = TRUE, - [MOVE_DETECT] = TRUE, - [MOVE_BONE_RUSH] = FALSE, - [MOVE_LOCK_ON] = TRUE, - [MOVE_OUTRAGE] = TRUE, - [MOVE_SANDSTORM] = TRUE, - [MOVE_GIGA_DRAIN] = TRUE, - [MOVE_ENDURE] = TRUE, - [MOVE_CHARM] = TRUE, - [MOVE_ROLLOUT] = TRUE, - [MOVE_FALSE_SWIPE] = TRUE, - [MOVE_SWAGGER] = TRUE, - [MOVE_MILK_DRINK] = TRUE, - [MOVE_SPARK] = FALSE, - [MOVE_FURY_CUTTER] = TRUE, - [MOVE_STEEL_WING] = TRUE, - [MOVE_MEAN_LOOK] = TRUE, - [MOVE_ATTRACT] = TRUE, - [MOVE_SLEEP_TALK] = TRUE, - [MOVE_HEAL_BELL] = TRUE, - [MOVE_RETURN] = TRUE, - [MOVE_PRESENT] = TRUE, - [MOVE_FRUSTRATION] = TRUE, - [MOVE_SAFEGUARD] = TRUE, - [MOVE_PAIN_SPLIT] = TRUE, - [MOVE_SACRED_FIRE] = TRUE, - [MOVE_MAGNITUDE] = FALSE, - [MOVE_DYNAMIC_PUNCH] = TRUE, - [MOVE_MEGAHORN] = TRUE, - [MOVE_DRAGON_BREATH] = TRUE, - [MOVE_BATON_PASS] = TRUE, - [MOVE_ENCORE] = TRUE, - [MOVE_PURSUIT] = TRUE, - [MOVE_RAPID_SPIN] = TRUE, - [MOVE_SWEET_SCENT] = TRUE, - [MOVE_IRON_TAIL] = TRUE, - [MOVE_METAL_CLAW] = TRUE, - [MOVE_VITAL_THROW] = TRUE, - [MOVE_MORNING_SUN] = TRUE, - [MOVE_SYNTHESIS] = TRUE, - [MOVE_MOONLIGHT] = TRUE, - [MOVE_HIDDEN_POWER] = TRUE, - [MOVE_CROSS_CHOP] = TRUE, - [MOVE_TWISTER] = FALSE, - [MOVE_RAIN_DANCE] = TRUE, - [MOVE_SUNNY_DAY] = TRUE, - [MOVE_CRUNCH] = TRUE, - [MOVE_MIRROR_COAT] = TRUE, - [MOVE_PSYCH_UP] = TRUE, - [MOVE_EXTREME_SPEED] = TRUE, - [MOVE_ANCIENT_POWER] = TRUE, - [MOVE_SHADOW_BALL] = TRUE, - [MOVE_FUTURE_SIGHT] = TRUE, - [MOVE_ROCK_SMASH] = TRUE, - [MOVE_WHIRLPOOL] = TRUE, - [MOVE_BEAT_UP] = TRUE, - [MOVE_FAKE_OUT] = TRUE, - [MOVE_UPROAR] = TRUE, - [MOVE_STOCKPILE] = TRUE, - [MOVE_SPIT_UP] = TRUE, - [MOVE_SWALLOW] = TRUE, - [MOVE_HEAT_WAVE] = TRUE, - [MOVE_HAIL] = TRUE, - [MOVE_TORMENT] = TRUE, - [MOVE_FLATTER] = TRUE, - [MOVE_WILL_O_WISP] = TRUE, - [MOVE_MEMENTO] = TRUE, - [MOVE_FACADE] = TRUE, - [MOVE_FOCUS_PUNCH] = TRUE, - [MOVE_SMELLING_SALT] = TRUE, - [MOVE_FOLLOW_ME] = TRUE, - [MOVE_NATURE_POWER] = TRUE, - [MOVE_CHARGE] = TRUE, - [MOVE_TAUNT] = TRUE, - [MOVE_HELPING_HAND] = TRUE, - [MOVE_TRICK] = TRUE, - [MOVE_ROLE_PLAY] = TRUE, - [MOVE_WISH] = TRUE, - [MOVE_ASSIST] = TRUE, - [MOVE_INGRAIN] = TRUE, - [MOVE_SUPERPOWER] = TRUE, - [MOVE_MAGIC_COAT] = TRUE, - [MOVE_RECYCLE] = TRUE, - [MOVE_REVENGE] = TRUE, - [MOVE_BRICK_BREAK] = TRUE, - [MOVE_YAWN] = TRUE, - [MOVE_KNOCK_OFF] = TRUE, - [MOVE_ENDEAVOR] = TRUE, - [MOVE_ERUPTION] = TRUE, - [MOVE_SKILL_SWAP] = TRUE, - [MOVE_IMPRISON] = TRUE, - [MOVE_REFRESH] = TRUE, - [MOVE_GRUDGE] = TRUE, - [MOVE_SNATCH] = TRUE, - [MOVE_SECRET_POWER] = TRUE, - [MOVE_DIVE] = TRUE, - [MOVE_ARM_THRUST] = FALSE, - [MOVE_CAMOUFLAGE] = TRUE, - [MOVE_TAIL_GLOW] = TRUE, - [MOVE_LUSTER_PURGE] = TRUE, - [MOVE_MIST_BALL] = TRUE, - [MOVE_FEATHER_DANCE] = TRUE, - [MOVE_TEETER_DANCE] = TRUE, - [MOVE_BLAZE_KICK] = TRUE, - [MOVE_MUD_SPORT] = TRUE, - [MOVE_ICE_BALL] = FALSE, - [MOVE_NEEDLE_ARM] = TRUE, - [MOVE_SLACK_OFF] = TRUE, - [MOVE_HYPER_VOICE] = TRUE, - [MOVE_POISON_FANG] = FALSE, - [MOVE_CRUSH_CLAW] = TRUE, - [MOVE_BLAST_BURN] = TRUE, - [MOVE_HYDRO_CANNON] = TRUE, - [MOVE_METEOR_MASH] = TRUE, - [MOVE_ASTONISH] = TRUE, - [MOVE_WEATHER_BALL] = TRUE, - [MOVE_AROMATHERAPY] = TRUE, - [MOVE_FAKE_TEARS] = TRUE, - [MOVE_AIR_CUTTER] = TRUE, - [MOVE_OVERHEAT] = TRUE, - [MOVE_ODOR_SLEUTH] = TRUE, - [MOVE_ROCK_TOMB] = TRUE, - [MOVE_SILVER_WIND] = TRUE, - [MOVE_METAL_SOUND] = TRUE, - [MOVE_GRASS_WHISTLE] = TRUE, - [MOVE_TICKLE] = TRUE, - [MOVE_COSMIC_POWER] = TRUE, - [MOVE_WATER_SPOUT] = TRUE, - [MOVE_SIGNAL_BEAM] = TRUE, - [MOVE_SHADOW_PUNCH] = TRUE, - [MOVE_EXTRASENSORY] = TRUE, - [MOVE_SKY_UPPERCUT] = TRUE, - [MOVE_SAND_TOMB] = TRUE, - [MOVE_SHEER_COLD] = TRUE, - [MOVE_MUDDY_WATER] = TRUE, - [MOVE_BULLET_SEED] = FALSE, - [MOVE_AERIAL_ACE] = TRUE, - [MOVE_ICICLE_SPEAR] = FALSE, - [MOVE_IRON_DEFENSE] = TRUE, - [MOVE_BLOCK] = TRUE, - [MOVE_HOWL] = TRUE, - [MOVE_DRAGON_CLAW] = TRUE, - [MOVE_FRENZY_PLANT] = TRUE, - [MOVE_BULK_UP] = TRUE, - [MOVE_BOUNCE] = TRUE, - [MOVE_MUD_SHOT] = FALSE, - [MOVE_POISON_TAIL] = TRUE, - [MOVE_COVET] = TRUE, - [MOVE_VOLT_TACKLE] = TRUE, - [MOVE_MAGICAL_LEAF] = TRUE, - [MOVE_WATER_SPORT] = TRUE, - [MOVE_CALM_MIND] = TRUE, - [MOVE_LEAF_BLADE] = TRUE, - [MOVE_DRAGON_DANCE] = TRUE, - [MOVE_ROCK_BLAST] = FALSE, - [MOVE_SHOCK_WAVE] = TRUE, - [MOVE_WATER_PULSE] = TRUE, - [MOVE_DOOM_DESIRE] = TRUE, - [MOVE_PSYCHO_BOOST] = TRUE, -}; - -static const u8 gUnknown_086114D3[] = {0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00}; - -static void (* const sApprenticeFunctions[])(void) = -{ - Script_IsPlayersApprenticeActive, - Script_SetPlayersApprenticeLvlMode, - sub_81A0978, - sub_819FC60, - sub_81A0984, - sub_81A0990, - sub_81A09D0, - Script_CreateApprenticeMenu, - Script_PrintMessage, - Script_ResetPlayerApprentice, - sub_81A1638, - sub_81A0CC0, - sub_81A09B4, - sub_81A0D40, - sub_81A0DD4, - sub_81A0FE4, - sub_81A0FFC, - sub_81A0D80, - sub_81A11F8, - sub_81A1218, - sub_81A1224, - sub_81A1438, - sub_81A150C, - Script_SetPlayerApprenticeTrainerGfxId, - sub_81A1644, - sub_81A1370, -}; - -static const u8 gUnknown_08611548[8] = {0x00, 0x01, 0x02, 0x03, 0x06, 0x07, 0x08, 0x09}; - -// text -extern const u8 gText_Give[]; -extern const u8 gText_NoNeed[]; -extern const u8 gText_Yes[]; -extern const u8 gText_No[]; - -void CopyFriendsApprenticeChallengeText(u8 saveblockApprenticeId) -{ - u8 i, var; - const u8 *str; - - var = gSaveBlock2Ptr->apprentices[saveblockApprenticeId].number; - for (i = 0; var != 0 && i < 4; var /= 10, i++) + num = gSaveBlock2Ptr->apprentices[saveApprenticeId].number; + for (i = 0; num != 0 && i < APPRENTICE_COUNT; num /= 10, i++) ; - StringCopy7(gStringVar1, gSaveBlock2Ptr->apprentices[saveblockApprenticeId].playerName); - ConvertInternationalString(gStringVar1, gSaveBlock2Ptr->apprentices[saveblockApprenticeId].language); - ConvertIntToDecimalStringN(gStringVar2, gSaveBlock2Ptr->apprentices[saveblockApprenticeId].number, STR_CONV_MODE_RIGHT_ALIGN, i); - str = gUnknown_08611330[gSaveBlock2Ptr->apprentices[saveblockApprenticeId].id]; - StringExpandPlaceholders(gStringVar4, str); + StringCopy7(gStringVar1, gSaveBlock2Ptr->apprentices[saveApprenticeId].playerName); + ConvertInternationalString(gStringVar1, gSaveBlock2Ptr->apprentices[saveApprenticeId].language); + ConvertIntToDecimalStringN(gStringVar2, gSaveBlock2Ptr->apprentices[saveApprenticeId].number, STR_CONV_MODE_RIGHT_ALIGN, i); + challengeText = sApprenticeChallengeTexts[gSaveBlock2Ptr->apprentices[saveApprenticeId].id]; + StringExpandPlaceholders(gStringVar4, challengeText); } void Apprentice_EnableBothScriptContexts(void) @@ -1079,28 +144,28 @@ void ResetApprenticeStruct(struct Apprentice *apprentice) { u8 i; - for (i = 0; i < 6; i++) - apprentice->easyChatWords[i] = 0xFFFF; + for (i = 0; i < ARRAY_COUNT(apprentice->speechWon); i++) + apprentice->speechWon[i] = 0xFFFF; apprentice->playerName[0] = EOS; - apprentice->id = 16; + apprentice->id = NUM_APPRENTICES; } void ResetAllApprenticeData(void) { u8 i, j; - PLAYER_APPRENTICE.field_B2_1 = 0; - for (i = 0; i < 4; i++) + PLAYER_APPRENTICE.saveId = 0; + for (i = 0; i < APPRENTICE_COUNT; i++) { - for (j = 0; j < 6; j++) - gSaveBlock2Ptr->apprentices[i].easyChatWords[j] = 0xFFFF; - gSaveBlock2Ptr->apprentices[i].id = 16; + for (j = 0; j < ARRAY_COUNT(gSaveBlock2Ptr->apprentices[i].speechWon); j++) + gSaveBlock2Ptr->apprentices[i].speechWon[j] = 0xFFFF; + gSaveBlock2Ptr->apprentices[i].id = NUM_APPRENTICES; gSaveBlock2Ptr->apprentices[i].playerName[0] = EOS; gSaveBlock2Ptr->apprentices[i].lvlMode = 0; gSaveBlock2Ptr->apprentices[i].number = 0; - gSaveBlock2Ptr->apprentices[i].field_1 = 0; - for (j = 0; j < 4; j++) + gSaveBlock2Ptr->apprentices[i].numQuestions = 0; + for (j = 0; j < TRAINER_ID_LENGTH; j++) gSaveBlock2Ptr->apprentices[i].playerId[j] = 0; gSaveBlock2Ptr->apprentices[i].language = gGameLanguage; gSaveBlock2Ptr->apprentices[i].checksum = 0; @@ -1109,174 +174,184 @@ void ResetAllApprenticeData(void) Script_ResetPlayerApprentice(); } -static bool8 IsPlayersApprenticeActive(void) +static bool8 GivenApprenticeLvlMode(void) { - return (PLAYER_APPRENTICE.activeLvlMode != 0); + return (PLAYER_APPRENTICE.lvlMode != 0); } -static void sub_819FBC8(void) +static void SetApprenticeId(void) { if (gSaveBlock2Ptr->apprentices[0].number == 0) { do { - PLAYER_APPRENTICE.id = gUnknown_08611548[Random() % ARRAY_COUNT(gUnknown_08611548)]; + PLAYER_APPRENTICE.id = sInitialApprenticeIds[Random() % ARRAY_COUNT(sInitialApprenticeIds)]; } while (PLAYER_APPRENTICE.id == gSaveBlock2Ptr->apprentices[0].id); } else { do { - PLAYER_APPRENTICE.id = Random() % 16; + PLAYER_APPRENTICE.id = Random() % (NUM_APPRENTICES); } while (PLAYER_APPRENTICE.id == gSaveBlock2Ptr->apprentices[0].id); } } static void SetPlayersApprenticeLvlMode(u8 mode) { - PLAYER_APPRENTICE.activeLvlMode = mode; + PLAYER_APPRENTICE.lvlMode = mode; } -static void sub_819FC60(void) +static void ShuffleApprenticeSpecies(void) { - u8 array[APPRENTICE_SPECIES_COUNT]; + u8 species[APPRENTICE_SPECIES_COUNT]; u8 i; - for (i = 0; i < ARRAY_COUNT(array); i++) - array[i] = i; + for (i = 0; i < ARRAY_COUNT(species); i++) + species[i] = i; + // Shuffle the possible species an arbitrary 50 times for (i = 0; i < 50; i++) { u8 temp; - u8 var1 = Random() % ARRAY_COUNT(array); - u8 var2 = Random() % ARRAY_COUNT(array); - SWAP(array[var1], array[var2], temp); + u8 rand1 = Random() % ARRAY_COUNT(species); + u8 rand2 = Random() % ARRAY_COUNT(species); + SWAP(species[rand1], species[rand2], temp); } - for (i = 0; i < 3; i++) - PLAYER_APPRENTICE.monIds[i] = ((array[i * 2] & 0xF) << 4) | ((array[i * 2 + 1]) & 0xF); + for (i = 0; i < MULTI_PARTY_SIZE; i++) + PLAYER_APPRENTICE.speciesIds[i] = ((species[i * 2] & 0xF) << 4) | ((species[i * 2 + 1]) & 0xF); } -static u8 sub_819FCF8(u8 val, u8 *arg1, u8 *arg2) +// Pick one of the Apprentice's mons to ask the question about +// Picking a move chooses a random mon, picking a held item is sequential (so that none are repeated) +static u8 GetMonIdForQuestion(u8 questionId, u8 *party, u8 *partySlot) { u8 i, count; - u8 ret = 0; + u8 monId = 0; - if (val == 2) + if (questionId == QUESTION_ID_WHICH_MOVE) { do { - ret = Random() % 3; - for (count = 0, i = 0; i < 5; i++) + monId = Random() % (MULTI_PARTY_SIZE); + for (count = 0, i = 0; i < NUM_WHICH_MOVE_QUESTIONS; i++) { - if (gUnknown_030062EC->unk2[ret][i] != 0) + if (gApprenticePartyMovesData->moves[monId][i] != MOVE_NONE) count++; } - } while (count > 3); + } while (count > MULTI_PARTY_SIZE); } - else if (val == 1) + else if (questionId == QUESTION_ID_WHAT_ITEM) { - ret = arg1[*arg2]; - (*arg2)++; + monId = party[*partySlot]; + (*partySlot)++; } - return ret; + return monId; } -static void sub_819FD64(void) +// Sets the random order and data for the remaining questions after the initial "choose mon" questions +static void SetRandomQuestionData(void) { - u8 sp_0[10]; - u8 sp_C[3]; - u8 sp_10; + u8 questionOrder[APPRENTICE_MAX_QUESTIONS + 1]; + u8 partyOrder[MULTI_PARTY_SIZE]; + u8 partySlot; u8 i, j; u8 rand1, rand2; u8 id; - for (i = 0; i < 3; i++) - sp_C[i] = i; + for (i = 0; i < ARRAY_COUNT(partyOrder); i++) + partyOrder[i] = i; + + // Shuffle the party an arbitrary 10 times for (i = 0; i < 10; i++) { u8 temp; - rand1 = Random() % ARRAY_COUNT(sp_C); - rand2 = Random() % ARRAY_COUNT(sp_C); - SWAP(sp_C[rand1], sp_C[rand2], temp); + rand1 = Random() % ARRAY_COUNT(partyOrder); + rand2 = Random() % ARRAY_COUNT(partyOrder); + SWAP(partyOrder[rand1], partyOrder[rand2], temp); } - for (i = 0; i < 10; i++) - sp_0[i] = gUnknown_086114D3[i]; + for (i = 0; i < ARRAY_COUNT(questionOrder); i++) + questionOrder[i] = sQuestionPossibilities[i]; + + // Shuffle the questions an arbitrary 50 times for (i = 0; i < 50; i++) { u8 temp; - rand1 = Random() % ARRAY_COUNT(sp_0); - rand2 = Random() % ARRAY_COUNT(sp_0); - SWAP(sp_0[rand1], sp_0[rand2], temp); + rand1 = Random() % ARRAY_COUNT(questionOrder); + rand2 = Random() % ARRAY_COUNT(questionOrder); + SWAP(questionOrder[rand1], questionOrder[rand2], temp); } - gUnknown_030062EC = AllocZeroed(sizeof(*gUnknown_030062EC)); - gUnknown_030062EC->unk0 = 0; - for (i = 0; i < 5; i++) + gApprenticePartyMovesData = AllocZeroed(sizeof(*gApprenticePartyMovesData)); + gApprenticePartyMovesData->moveCounter = 0; + for (i = 0; i < NUM_WHICH_MOVE_QUESTIONS; i++) { - for (j = 0; j < 3; j++) - gUnknown_030062EC->unk20[j][i] = 4; + for (j = 0; j < MULTI_PARTY_SIZE; j++) + gApprenticePartyMovesData->moveSlots[j][i] = MAX_MON_MOVES; } - sp_10 = 0; - for (i = 0; i < 9; i++) + partySlot = 0; + for (i = 0; i < APPRENTICE_MAX_QUESTIONS; i++) { - PLAYER_APPRENTICE.field_B8[i].unk0_0 = sp_0[i]; - if (sp_0[i] != 3) + PLAYER_APPRENTICE.questions[i].questionId = questionOrder[i]; + if (questionOrder[i] != QUESTION_ID_WHICH_FIRST) { - PLAYER_APPRENTICE.field_B8[i].unk0_1 = sub_819FCF8(sp_0[i], sp_C, &sp_10); - id = PLAYER_APPRENTICE.field_B8[i].unk0_1; - if (sp_0[i] == 2) + PLAYER_APPRENTICE.questions[i].monId = GetMonIdForQuestion(questionOrder[i], partyOrder, &partySlot); + id = PLAYER_APPRENTICE.questions[i].monId; + if (questionOrder[i] == QUESTION_ID_WHICH_MOVE) { do { - rand1 = Random() % 4; - for (j = 0; j < gUnknown_030062EC->unk0 + 1; j++) + rand1 = Random() % MAX_MON_MOVES; + for (j = 0; j < gApprenticePartyMovesData->moveCounter + 1; j++) { - if (gUnknown_030062EC->unk20[id][j] == rand1) + if (gApprenticePartyMovesData->moveSlots[id][j] == rand1) break; } - } while (j != gUnknown_030062EC->unk0 + 1); + } while (j != gApprenticePartyMovesData->moveCounter + 1); - gUnknown_030062EC->unk20[id][gUnknown_030062EC->unk0] = rand1; - PLAYER_APPRENTICE.field_B8[i].unk0_2 = rand1; - PLAYER_APPRENTICE.field_B8[i].unk2 = sub_819FF98(PLAYER_APPRENTICE.field_B8[i].unk0_1); + gApprenticePartyMovesData->moveSlots[id][gApprenticePartyMovesData->moveCounter] = rand1; + PLAYER_APPRENTICE.questions[i].moveSlot = rand1; + PLAYER_APPRENTICE.questions[i].data = GetRandomAlternateMove(PLAYER_APPRENTICE.questions[i].monId); } } } - FREE_AND_SET_NULL(gUnknown_030062EC); + FREE_AND_SET_NULL(gApprenticePartyMovesData); } // No idea why a do-while loop is needed, but it will not match without it. -#define APPRENTICE_SPECIES_ID(speciesArrId, monId) speciesArrId = (PLAYER_APPRENTICE.monIds[monId] >> \ - (((PLAYER_APPRENTICE.field_B2_0 >> monId) & 1) << 2)) & 0xF; \ +#define APPRENTICE_SPECIES_ID(speciesArrId, monId) speciesArrId = (PLAYER_APPRENTICE.speciesIds[monId] >> \ + (((PLAYER_APPRENTICE.party >> monId) & 1) << 2)) & 0xF; \ do {} while (0) // Why the need to have two macros do the exact thing differently? -#define APPRENTICE_SPECIES_ID_2(speciesArrId, monId) { u8 a0 = ((PLAYER_APPRENTICE.field_B2_0 >> monId) & 1);\ - speciesArrId = PLAYER_APPRENTICE.monIds[monId]; \ +#define APPRENTICE_SPECIES_ID_2(speciesArrId, monId) { u8 a0 = ((PLAYER_APPRENTICE.party >> monId) & 1);\ + speciesArrId = PLAYER_APPRENTICE.speciesIds[monId]; \ speciesArrId = ((speciesArrId) >> (a0 << 2)) & 0xF; \ } -static u16 sub_819FF98(u8 arg0) +// Get the second move choice for the "Which move" question +// Unlike the first move choice, this can be either a level up move or a TM/HM move +static u16 GetRandomAlternateMove(u8 monId) { u8 i, j; u8 id; - u8 knownMovesCount; + u8 numLearnsetMoves; u16 species; const u16 *learnset; - bool32 var_24 = FALSE; - u16 moveId = 0; - bool32 valid; + bool32 needTMs = FALSE; + u16 moveId = MOVE_NONE; + bool32 shouldUseMove; u8 level; - if (arg0 < 3) + if (monId < MULTI_PARTY_SIZE) { - APPRENTICE_SPECIES_ID(id, arg0); + APPRENTICE_SPECIES_ID(id, monId); } else { @@ -1286,207 +361,224 @@ static u16 sub_819FF98(u8 arg0) species = gApprentices[PLAYER_APPRENTICE.id].species[id]; learnset = gLevelUpLearnsets[species]; j = 0; - if (PLAYER_APPRENTICE.activeLvlMode == 1) + + // Despite being open level, level up moves are only read up to level 60 + if (PLAYER_APPRENTICE.lvlMode == APPRENTICE_LVL_MODE_50) level = 50; - else + else // == APPRENTICE_LVL_MODE_OPEN level = 60; - for (j = 0; learnset[j] != 0xFFFF; j++) + for (j = 0; learnset[j] != LEVEL_UP_END; j++) { - if ((learnset[j] & 0xFE00) > (level << 9)) + if ((learnset[j] & LEVEL_UP_MOVE_LV) > (level << 9)) break; } - knownMovesCount = j; + numLearnsetMoves = j; i = 0; - while (i <= MAX_MON_MOVES) + + // i < 5 here is arbitrary, i isnt used and is only incremented when the selected move isnt in sValidApprenticeMoves + // This while loop contains 3 potential infinite loops, though none of them would occur in the base game + while (i < 5) { - if (Random() % 2 == 0 || var_24 == TRUE) + if (Random() % 2 == 0 || needTMs == TRUE) { + // Get TM move + // NOTE: Below is an infinite loop if a species that only learns TMs for moves + // that are also in its level up learnset is assigned to an Apprentice do { + // NOTE: Below is an infinite loop if a species which cannot learn TMs is assigned to an Apprentice do { id = Random() % (NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES); - valid = CanSpeciesLearnTMHM(species, id); + shouldUseMove = CanSpeciesLearnTMHM(species, id); } - while (!valid); + while (!shouldUseMove); moveId = ItemIdToBattleMoveId(ITEM_TM01 + id); - valid = TRUE; + shouldUseMove = TRUE; - if (knownMovesCount < 5) + if (numLearnsetMoves <= MAX_MON_MOVES) j = 0; else - j = knownMovesCount - MAX_MON_MOVES; + j = numLearnsetMoves - MAX_MON_MOVES; - for (; j < knownMovesCount; j++) + for (; j < numLearnsetMoves; j++) { - if ((learnset[j] & 0x1FF) == moveId) + // Keep looking for TMs until one not in the level up learnset is found + if ((learnset[j] & LEVEL_UP_MOVE_ID) == moveId) { - valid = FALSE; + shouldUseMove = FALSE; break; } } - } while (valid != TRUE); + } while (shouldUseMove != TRUE); } else { - if (knownMovesCount <= MAX_MON_MOVES) + if (numLearnsetMoves <= MAX_MON_MOVES) { - var_24 = TRUE; + needTMs = TRUE; continue; } else { + // Get level up move + // NOTE: Below is an infinite loop if a mon whose last 4 moves contain + // all the moves in the rest of its learnset is assigned to an Apprentice do { - u8 learnsetId = Random() % (knownMovesCount - MAX_MON_MOVES); - moveId = learnset[learnsetId] & 0x1FF; - valid = TRUE; - for (j = knownMovesCount - MAX_MON_MOVES; j < knownMovesCount; j++) + // Get a random move excluding the 4 it would know at max level + u8 learnsetId = Random() % (numLearnsetMoves - MAX_MON_MOVES); + moveId = learnset[learnsetId] & LEVEL_UP_MOVE_ID; + shouldUseMove = TRUE; + + for (j = numLearnsetMoves - MAX_MON_MOVES; j < numLearnsetMoves; j++) { - if ((learnset[j] & 0x1FF) == moveId) + // Keep looking for moves until one not in the last 4 is found + if ((learnset[j] & LEVEL_UP_MOVE_ID) == moveId) { - valid = FALSE; + shouldUseMove = FALSE; break; } } - } while (valid != TRUE); + } while (shouldUseMove != TRUE); } } - if (sub_81A0194(arg0, moveId)) + if (TrySetMove(monId, moveId)) { - if (gUnknown_08611370[moveId]) + if (sValidApprenticeMoves[moveId]) break; i++; } } - gUnknown_030062EC->unk0++; + gApprenticePartyMovesData->moveCounter++; return moveId; } -static bool8 sub_81A0194(u8 arg0, u16 moveId) +static bool8 TrySetMove(u8 monId, u16 moveId) { u8 i; - for (i = 0; i < 5; i++) + for (i = 0; i < NUM_WHICH_MOVE_QUESTIONS; i++) { - if (gUnknown_030062EC->unk2[arg0][i] == moveId) + if (gApprenticePartyMovesData->moves[monId][i] == moveId) return FALSE; } - gUnknown_030062EC->unk2[arg0][gUnknown_030062EC->unk0] = moveId; + gApprenticePartyMovesData->moves[monId][gApprenticePartyMovesData->moveCounter] = moveId; return TRUE; } static void GetLatestLearnedMoves(u16 species, u16 *moves) { u8 i, j; - u8 level, knownMovesCount; + u8 level, numLearnsetMoves; const u16 *learnset; - if (PLAYER_APPRENTICE.activeLvlMode == 1) + if (PLAYER_APPRENTICE.lvlMode == APPRENTICE_LVL_MODE_50) level = 50; - else + else // == APPRENTICE_LVL_MODE_OPEN level = 60; learnset = gLevelUpLearnsets[species]; - for (i = 0; learnset[i] != 0xFFFF; i++) + for (i = 0; learnset[i] != LEVEL_UP_END; i++) { - if ((learnset[i] & 0xFE00) > (level << 9)) + if ((learnset[i] & LEVEL_UP_MOVE_LV) > (level << 9)) break; } - knownMovesCount = i; - if (knownMovesCount > MAX_MON_MOVES) - knownMovesCount = MAX_MON_MOVES; + numLearnsetMoves = i; + if (numLearnsetMoves > MAX_MON_MOVES) + numLearnsetMoves = MAX_MON_MOVES; - for (j = 0; j < knownMovesCount; j++) - moves[j] = learnset[(i - 1) - j] & 0x1FF; + for (j = 0; j < numLearnsetMoves; j++) + moves[j] = learnset[(i - 1) - j] & LEVEL_UP_MOVE_ID; } -static u16 sub_81A0284(u8 arg0, u8 speciesTableId, u8 arg2) +// Get the level up move or previously suggested move to be the first move choice +// Compare to GetRandomAlternateMove, which gets the move that will be the second choice +static u16 GetDefaultMove(u8 monId, u8 speciesArrayId, u8 moveSlot) { - u16 moves[4]; - u8 i, count; + u16 moves[MAX_MON_MOVES]; + u8 i, numQuestions; - if (PLAYER_APPRENTICE.field_B1_1 < 3) - return 0; + if (PLAYER_APPRENTICE.questionsAnswered < NUM_WHICH_MON_QUESTIONS) + return MOVE_NONE; - count = 0; - for (i = 0; i < 9; i++) + numQuestions = 0; + for (i = 0; i < APPRENTICE_MAX_QUESTIONS && PLAYER_APPRENTICE.questions[i].questionId != QUESTION_ID_WIN_SPEECH; i++) + numQuestions++; + + GetLatestLearnedMoves(gApprentices[PLAYER_APPRENTICE.id].species[speciesArrayId], moves); + for (i = 0; i < numQuestions && i < CURRENT_QUESTION_NUM; i++) { - if (PLAYER_APPRENTICE.field_B8[i].unk0_0 == 0) - break; - count++; - } - - GetLatestLearnedMoves(gApprentices[PLAYER_APPRENTICE.id].species[speciesTableId], moves); - for (i = 0; i < count && i < PLAYER_APPRENTICE.field_B1_1 - 3; i++) - { - if (PLAYER_APPRENTICE.field_B8[i].unk0_0 == 2 - && PLAYER_APPRENTICE.field_B8[i].unk0_1 == arg0 - && PLAYER_APPRENTICE.field_B8[i].unk0_3 != 0) + if (PLAYER_APPRENTICE.questions[i].questionId == QUESTION_ID_WHICH_MOVE + && PLAYER_APPRENTICE.questions[i].monId == monId + && PLAYER_APPRENTICE.questions[i].suggestedChange) { - moves[PLAYER_APPRENTICE.field_B8[i].unk0_2] = PLAYER_APPRENTICE.field_B8[i].unk2; + moves[PLAYER_APPRENTICE.questions[i].moveSlot] = PLAYER_APPRENTICE.questions[i].data; } } - return moves[arg2]; + return moves[moveSlot]; } -static void sub_81A0390(u8 arg0) +static void SaveApprenticeParty(u8 numQuestions) { - struct ApprenticeMon *apprenticeMons[3]; + struct ApprenticeMon *apprenticeMons[MULTI_PARTY_SIZE]; u8 i, j; u32 speciesTableId; - for (i = 0; i < 3; i++) + for (i = 0; i < MULTI_PARTY_SIZE; i++) { - gSaveBlock2Ptr->apprentices[0].party[i].species = 0; - gSaveBlock2Ptr->apprentices[0].party[i].item = 0; + gSaveBlock2Ptr->apprentices[0].party[i].species = SPECIES_NONE; + gSaveBlock2Ptr->apprentices[0].party[i].item = ITEM_NONE; for (j = 0; j < MAX_MON_MOVES; j++) - gSaveBlock2Ptr->apprentices[0].party[i].moves[j] = 0; + gSaveBlock2Ptr->apprentices[0].party[i].moves[j] = MOVE_NONE; } - j = PLAYER_APPRENTICE.field_B1_2; - for (i = 0; i < 3; i++) + // Save party order + j = PLAYER_APPRENTICE.leadMonId; + for (i = 0; i < MULTI_PARTY_SIZE; i++) { apprenticeMons[j] = &gSaveBlock2Ptr->apprentices[0].party[i]; - j = (j + 1) % 3; + j = (j + 1) % (MULTI_PARTY_SIZE); } - for (i = 0; i < 3; i++) + // Save party species + for (i = 0; i < MULTI_PARTY_SIZE; i++) { APPRENTICE_SPECIES_ID(speciesTableId, i); apprenticeMons[i]->species = gApprentices[PLAYER_APPRENTICE.id].species[speciesTableId]; GetLatestLearnedMoves(apprenticeMons[i]->species, apprenticeMons[i]->moves); } - for (i = 0; i < arg0; i++) + // Update party based on response to held item / move choice questions + for (i = 0; i < numQuestions; i++) { - u8 var1 = PLAYER_APPRENTICE.field_B8[i].unk0_0; - u8 monId = PLAYER_APPRENTICE.field_B8[i].unk0_1; - if (var1 == 1) + u8 questionId = PLAYER_APPRENTICE.questions[i].questionId; + u8 monId = PLAYER_APPRENTICE.questions[i].monId; + if (questionId == QUESTION_ID_WHAT_ITEM) { - if (PLAYER_APPRENTICE.field_B8[i].unk0_3 != 0) - apprenticeMons[monId]->item = PLAYER_APPRENTICE.field_B8[i].unk2; + if (PLAYER_APPRENTICE.questions[i].suggestedChange) + apprenticeMons[monId]->item = PLAYER_APPRENTICE.questions[i].data; } - else if (var1 == 2) + else if (questionId == QUESTION_ID_WHICH_MOVE) { - if (PLAYER_APPRENTICE.field_B8[i].unk0_3 != 0) + if (PLAYER_APPRENTICE.questions[i].suggestedChange) { - u32 moveSlot = PLAYER_APPRENTICE.field_B8[i].unk0_2; - apprenticeMons[monId]->moves[moveSlot] = PLAYER_APPRENTICE.field_B8[i].unk2; + u32 moveSlot = PLAYER_APPRENTICE.questions[i].moveSlot; + apprenticeMons[monId]->moves[moveSlot] = PLAYER_APPRENTICE.questions[i].data; } } } } -static void CreateMenuWithAnswers(u8 arg0) +static void CreateApprenticeMenu(u8 menu) { u8 i; u8 windowId; @@ -1497,19 +589,19 @@ static void CreateMenuWithAnswers(u8 arg0) u8 top; s32 pixelWidth; - switch (arg0) + switch (menu) { case APPRENTICE_ASK_WHICH_LEVEL: - left = 0x12; + left = 18; top = 8; strings[0] = gText_Lv50; strings[1] = gText_OpenLevel; break; case APPRENTICE_ASK_3SPECIES: - count = 3; - left = 0x12; + count = MULTI_PARTY_SIZE; + left = 18; top = 6; - for (i = 0; i < 3; i++) + for (i = 0; i < MULTI_PARTY_SIZE; i++) { u16 species; u32 speciesTableId; @@ -1520,27 +612,27 @@ static void CreateMenuWithAnswers(u8 arg0) } break; case APPRENTICE_ASK_2SPECIES: - left = 0x12; + left = 18; top = 8; - if (PLAYER_APPRENTICE.field_B1_1 > 2) + if (PLAYER_APPRENTICE.questionsAnswered >= NUM_WHICH_MON_QUESTIONS) return; - strings[1] = gSpeciesNames[gUnknown_030062F0->unk2]; - strings[0] = gSpeciesNames[gUnknown_030062F0->unk0]; + strings[1] = gSpeciesNames[gApprenticeQuestionData->altSpeciesId]; + strings[0] = gSpeciesNames[gApprenticeQuestionData->speciesId]; break; case APPRENTICE_ASK_MOVES: - left = 0x11; + left = 17; top = 8; - strings[0] = gMoveNames[gUnknown_030062F0->unk4]; - strings[1] = gMoveNames[gUnknown_030062F0->unk6]; + strings[0] = gMoveNames[gApprenticeQuestionData->moveId1]; + strings[1] = gMoveNames[gApprenticeQuestionData->moveId2]; break; case APPRENTICE_ASK_GIVE: - left = 0x12; + left = 18; top = 8; strings[0] = gText_Give; strings[1] = gText_NoNeed; break; case APPRENTICE_ASK_YES_NO: - left = 0x14; + left = 20; top = 8; strings[0] = gText_Yes; strings[1] = gText_No; @@ -1559,8 +651,8 @@ static void CreateMenuWithAnswers(u8 arg0) pixelWidth = width; } - width = convert_pixel_width_to_tile_width(pixelWidth); - left = sub_80E2D5C(left, width); + width = ConvertPixelWidthToTileWidth(pixelWidth); + left = ScriptMenu_AdjustLeftCoordFromWidth(left, width); windowId = CreateAndShowWindow(left, top, width, count * 2); SetStandardWindowBorderStyle(windowId, 0); @@ -1623,12 +715,12 @@ static void RemoveAndHideWindow(u8 windowId) RemoveWindow(windowId); } -static void CreateChooseAnswerTask(bool8 noBButton, u8 itemsCount, u8 windowId) +static void CreateChooseAnswerTask(bool8 noBButton, u8 answers, u8 windowId) { u8 taskId = CreateTask(Task_ChooseAnswer, 80); gTasks[taskId].tNoBButton = noBButton; - if (itemsCount > 3) + if (answers > 3) gTasks[taskId].tWrapAround = TRUE; else gTasks[taskId].tWrapAround = FALSE; @@ -1649,71 +741,79 @@ static void Script_ResetPlayerApprentice(void) { u8 i; - sub_819FBC8(); - PLAYER_APPRENTICE.activeLvlMode = 0; - PLAYER_APPRENTICE.field_B1_1 = 0; - PLAYER_APPRENTICE.field_B1_2 = 0; - PLAYER_APPRENTICE.field_B2_0 = 0; + SetApprenticeId(); + PLAYER_APPRENTICE.lvlMode = 0; + PLAYER_APPRENTICE.questionsAnswered = 0; + PLAYER_APPRENTICE.leadMonId = 0; + PLAYER_APPRENTICE.party = 0; - for (i = 0; i < 3; i++) - PLAYER_APPRENTICE.monIds[i] = 0; + for (i = 0; i < MULTI_PARTY_SIZE; i++) + PLAYER_APPRENTICE.speciesIds[i] = 0; - for (i = 0; i < 9; i++) + for (i = 0; i < APPRENTICE_MAX_QUESTIONS; i++) { - PLAYER_APPRENTICE.field_B8[i].unk0_0 = 0; - PLAYER_APPRENTICE.field_B8[i].unk0_1 = 0; - PLAYER_APPRENTICE.field_B8[i].unk0_2 = 0; - PLAYER_APPRENTICE.field_B8[i].unk0_3 = 0; - PLAYER_APPRENTICE.field_B8[i].unk2 = 0; + PLAYER_APPRENTICE.questions[i].questionId = 0; + PLAYER_APPRENTICE.questions[i].monId = 0; + PLAYER_APPRENTICE.questions[i].moveSlot = 0; + PLAYER_APPRENTICE.questions[i].suggestedChange = 0; + PLAYER_APPRENTICE.questions[i].data = 0; } } -static void Script_IsPlayersApprenticeActive(void) +static void Script_GivenApprenticeLvlMode(void) { - if (!IsPlayersApprenticeActive()) + if (!GivenApprenticeLvlMode()) gSpecialVar_Result = FALSE; else gSpecialVar_Result = TRUE; } -static void Script_SetPlayersApprenticeLvlMode(void) +// VAR_0x8005 is 1 + the selection value from the multichoice APPRENTICE_ASK_WHICH_LEVEL +// i.e. APPRENTICE_LVL_MODE_50 or APPRENTICE_LVL_MODE_OPEN +static void Script_SetApprenticeLvlMode(void) { SetPlayersApprenticeLvlMode(gSpecialVar_0x8005); } -static void sub_81A0978(void) +// Never called, APPRENTICE_FUNC_SET_ID is unused +static void Script_SetApprenticeId(void) { - sub_819FBC8(); + SetApprenticeId(); } -static void sub_81A0984(void) +static void Script_SetRandomQuestionData(void) { - sub_819FD64(); + SetRandomQuestionData(); } -static void sub_81A0990(void) +static void IncrementQuestionsAnswered(void) { - PLAYER_APPRENTICE.field_B1_1++; + PLAYER_APPRENTICE.questionsAnswered++; } -static void sub_81A09B4(void) +// The first 3 questions answered after meeting the Apprentice are always selecting party mons +// after which this is never called +static void GetNumApprenticePartyMonsAssigned(void) { - gSpecialVar_Result = PLAYER_APPRENTICE.field_B1_1; + gSpecialVar_Result = PLAYER_APPRENTICE.questionsAnswered; } -static void sub_81A09D0(void) +// Never called, APPRENTICE_FUNC_IS_FINAL_QUESTION is unused +static void IsFinalQuestion(void) { - s32 var = PLAYER_APPRENTICE.field_B1_1 - 3; - if (var < 0) + s32 questionNum = CURRENT_QUESTION_NUM; + + if (questionNum < 0) { + // Not finished asking initial questions gSpecialVar_Result = FALSE; } else { - if (var > 8) + if (questionNum > APPRENTICE_MAX_QUESTIONS - 1) gSpecialVar_Result = TRUE; - if (!PLAYER_APPRENTICE.field_B8[var].unk0_0) + if (PLAYER_APPRENTICE.questions[questionNum].questionId == QUESTION_ID_WIN_SPEECH) gSpecialVar_Result = TRUE; else gSpecialVar_Result = FALSE; @@ -1722,7 +822,7 @@ static void sub_81A09D0(void) static void Script_CreateApprenticeMenu(void) { - CreateMenuWithAnswers(gSpecialVar_0x8005); + CreateApprenticeMenu(gSpecialVar_0x8005); } static void Task_WaitForPrintingMessage(u8 taskId) @@ -1737,77 +837,77 @@ static void Task_WaitForPrintingMessage(u8 taskId) } } -static void PrintMessage(void) +static void PrintApprenticeMessage(void) { const u8 *string; - if (gSpecialVar_0x8006 == 6) + if (gSpecialVar_0x8006 == APPRENTICE_MSG_WHICH_MON) { - string = gUnknown_08610FF0[PLAYER_APPRENTICE.id][0]; + string = sApprenticeWhichMonTexts[PLAYER_APPRENTICE.id][0]; } - else if (gSpecialVar_0x8006 == 7) + else if (gSpecialVar_0x8006 == APPRENTICE_MSG_THANKS_MON) { - string = gUnknown_08610FF0[PLAYER_APPRENTICE.id][1]; + string = sApprenticeWhichMonTexts[PLAYER_APPRENTICE.id][1]; } - else if (gSpecialVar_0x8006 == 8) + else if (gSpecialVar_0x8006 == APPRENTICE_MSG_WHICH_MOVE) { - string = gUnknown_086111B0[PLAYER_APPRENTICE.id][0]; + string = sApprenticeWhichMoveTexts[PLAYER_APPRENTICE.id][0]; } - else if (gSpecialVar_0x8006 == 9) + else if (gSpecialVar_0x8006 == APPRENTICE_MSG_THANKS_MOVE) { - string = gUnknown_086111B0[PLAYER_APPRENTICE.id][1]; + string = sApprenticeWhichMoveTexts[PLAYER_APPRENTICE.id][1]; } - else if (gSpecialVar_0x8006 == 4) + else if (gSpecialVar_0x8006 == APPRENTICE_MSG_WHICH_MON_FIRST) { - string = gUnknown_08611230[PLAYER_APPRENTICE.id][0]; + string = sApprenticeWhichMonFirstTexts[PLAYER_APPRENTICE.id][0]; } - else if (gSpecialVar_0x8006 == 5) + else if (gSpecialVar_0x8006 == APPRENTICE_MSG_THANKS_MON_FIRST) { - string = gUnknown_08611230[PLAYER_APPRENTICE.id][1]; + string = sApprenticeWhichMonFirstTexts[PLAYER_APPRENTICE.id][1]; } - else if (gSpecialVar_0x8006 == 10) + else if (gSpecialVar_0x8006 == APPRENTICE_MSG_WHAT_HELD_ITEM) { - string = gUnknown_08611070[PLAYER_APPRENTICE.id][0]; + string = sApprenticeHeldItemTexts[PLAYER_APPRENTICE.id][0]; } - else if (gSpecialVar_0x8006 == 11) + else if (gSpecialVar_0x8006 == APPRENTICE_MSG_PICK_WIN_SPEECH) { - string = gUnknown_086112B0[PLAYER_APPRENTICE.id][0]; + string = sApprenticePickWinSpeechTexts[PLAYER_APPRENTICE.id][0]; } - else if (gSpecialVar_0x8006 == 12) + else if (gSpecialVar_0x8006 == APPRENTICE_MSG_THANKS_HELD_ITEM) { - string = gUnknown_08611070[PLAYER_APPRENTICE.id][3]; + string = sApprenticeHeldItemTexts[PLAYER_APPRENTICE.id][3]; } - else if (gSpecialVar_0x8006 == 13) + else if (gSpecialVar_0x8006 == APPRENTICE_MSG_HOLD_NOTHING) { - string = gUnknown_08611070[PLAYER_APPRENTICE.id][1]; + string = sApprenticeHeldItemTexts[PLAYER_APPRENTICE.id][1]; } - else if (gSpecialVar_0x8006 == 16) + else if (gSpecialVar_0x8006 == APPRENTICE_MSG_ITEM_ALREADY_SUGGESTED) { - string = gUnknown_08611070[PLAYER_APPRENTICE.id][4]; + string = sApprenticeHeldItemTexts[PLAYER_APPRENTICE.id][4]; } - else if (gSpecialVar_0x8006 == 14) + else if (gSpecialVar_0x8006 == APPRENTICE_MSG_THANKS_NO_HELD_ITEM) { - string = gUnknown_08611070[PLAYER_APPRENTICE.id][2]; + string = sApprenticeHeldItemTexts[PLAYER_APPRENTICE.id][2]; } - else if (gSpecialVar_0x8006 == 15) + else if (gSpecialVar_0x8006 == APPRENTICE_MSG_THANKS_WIN_SPEECH) { - string = gUnknown_086112B0[PLAYER_APPRENTICE.id][1]; + string = sApprenticePickWinSpeechTexts[PLAYER_APPRENTICE.id][1]; } - else if (gSpecialVar_0x8006 == 0) + else if (gSpecialVar_0x8006 == APPRENTICE_MSG_PLEASE_TEACH) { - string = gUnknown_08610EF0[PLAYER_APPRENTICE.id][0]; + string = sApprenticeFirstMeetingTexts[PLAYER_APPRENTICE.id][0]; } - else if (gSpecialVar_0x8006 == 1) + else if (gSpecialVar_0x8006 == APPRENTICE_MSG_REJECT) { - string = gUnknown_08610EF0[PLAYER_APPRENTICE.id][1]; + string = sApprenticeFirstMeetingTexts[PLAYER_APPRENTICE.id][1]; } - else if (gSpecialVar_0x8006 == 2) + else if (gSpecialVar_0x8006 == APPRENTICE_MSG_WHICH_LVL_MODE) { - string = gUnknown_08610EF0[PLAYER_APPRENTICE.id][2]; + string = sApprenticeFirstMeetingTexts[PLAYER_APPRENTICE.id][2]; } - else if (gSpecialVar_0x8006 == 3) + else if (gSpecialVar_0x8006 == APPRENTICE_MSG_THANKS_LVL_MODE) { - string = gUnknown_08610EF0[PLAYER_APPRENTICE.id][3]; + string = sApprenticeFirstMeetingTexts[PLAYER_APPRENTICE.id][3]; } else { @@ -1820,121 +920,129 @@ static void PrintMessage(void) CreateTask(Task_WaitForPrintingMessage, 1); } -static void Script_PrintMessage(void) +static void Script_PrintApprenticeMessage(void) { ScriptContext2_Enable(); FreezeEventObjects(); sub_808B864(); sub_808BCF4(); DrawDialogueFrame(0, 1); - PrintMessage(); + PrintApprenticeMessage(); } -static void sub_81A0CC0(void) +static void ApprenticeGetQuestion(void) { - if (PLAYER_APPRENTICE.field_B1_1 < 3) + if (PLAYER_APPRENTICE.questionsAnswered < NUM_WHICH_MON_QUESTIONS) { - gSpecialVar_Result = 2; + gSpecialVar_Result = APPRENTICE_QUESTION_WHICH_MON; } - else if (PLAYER_APPRENTICE.field_B1_1 > 11) + else if (PLAYER_APPRENTICE.questionsAnswered > (APPRENTICE_MAX_QUESTIONS + NUM_WHICH_MON_QUESTIONS - 1)) { - gSpecialVar_Result = 5; + gSpecialVar_Result = APPRENTICE_QUESTION_WIN_SPEECH; } else { - s32 id = PLAYER_APPRENTICE.field_B1_1 - 3; - switch (PLAYER_APPRENTICE.field_B8[id].unk0_0) + s32 id = CURRENT_QUESTION_NUM; + switch (PLAYER_APPRENTICE.questions[id].questionId) { - case 1: - gSpecialVar_Result = 4; + case QUESTION_ID_WHAT_ITEM: + gSpecialVar_Result = APPRENTICE_QUESTION_WHAT_ITEM; break; - case 2: - gSpecialVar_Result = 3; + case QUESTION_ID_WHICH_MOVE: + gSpecialVar_Result = APPRENTICE_QUESTION_WHICH_MOVE; break; - case 3: - gSpecialVar_Result = 1; + case QUESTION_ID_WHICH_FIRST: + gSpecialVar_Result = APPRENTICE_QUESTION_WHICH_FIRST; break; default: - gSpecialVar_Result = 5; + //case QUESTION_ID_WIN_SPEECH: + gSpecialVar_Result = APPRENTICE_QUESTION_WIN_SPEECH; break; } } } -static void sub_81A0D40(void) +// gSpecialVar_0x8005 is 0 or 1 for the mon selection (0 is already on the team) +// gSpecialVar_0x8006 is 0-2 for the number of party mons selected so far +static void SetApprenticePartyMon(void) { if (gSpecialVar_0x8005) { - u8 bitNo = gSpecialVar_0x8006; - PLAYER_APPRENTICE.field_B2_0 |= 1 << bitNo; + u8 partySlot = gSpecialVar_0x8006; + PLAYER_APPRENTICE.party |= 1 << partySlot; } } -static void sub_81A0D80(void) +// gSpecialVar_0x8005 is 0 or 1 for the move selection +// Selection 0 is implicitly the default move assigned +static void SetApprenticeMonMove(void) { - if (PLAYER_APPRENTICE.field_B1_1 >= 3) + if (PLAYER_APPRENTICE.questionsAnswered >= NUM_WHICH_MON_QUESTIONS) { - u8 id = PLAYER_APPRENTICE.field_B1_1 - 3; + u8 id = CURRENT_QUESTION_NUM; if (gSpecialVar_0x8005) - PLAYER_APPRENTICE.field_B8[id].unk0_3 = 1; + PLAYER_APPRENTICE.questions[id].suggestedChange = TRUE; else - PLAYER_APPRENTICE.field_B8[id].unk0_3 = 0; + PLAYER_APPRENTICE.questions[id].suggestedChange = FALSE; } } -static void sub_81A0DD4(void) +static void InitQuestionData(void) { u8 i; u8 count = 0; u8 id1, id2; - for (i = 0; i < 9 && PLAYER_APPRENTICE.field_B8[i].unk0_0; count++, i++) + for (i = 0; i < APPRENTICE_MAX_QUESTIONS && (PLAYER_APPRENTICE.questions[i].questionId != QUESTION_ID_WIN_SPEECH); count++, i++) ; - gUnknown_030062F0 = AllocZeroed(sizeof(*gUnknown_030062F0)); - if (gSpecialVar_0x8005 == 2) + gApprenticeQuestionData = AllocZeroed(sizeof(*gApprenticeQuestionData)); + if (gSpecialVar_0x8005 == APPRENTICE_QUESTION_WHICH_MON) { - if (PLAYER_APPRENTICE.field_B1_1 < 3) + if (PLAYER_APPRENTICE.questionsAnswered < NUM_WHICH_MON_QUESTIONS) { - id1 = PLAYER_APPRENTICE.monIds[PLAYER_APPRENTICE.field_B1_1] >> 4; - gUnknown_030062F0->unk2 = gApprentices[PLAYER_APPRENTICE.id].species[id1]; + // For the first MULTI_PARTY_SIZE (3) questions, a mon is asked to be selected for the Apprentice's party + id1 = PLAYER_APPRENTICE.speciesIds[PLAYER_APPRENTICE.questionsAnswered] >> 4; + gApprenticeQuestionData->altSpeciesId = gApprentices[PLAYER_APPRENTICE.id].species[id1]; - id2 = PLAYER_APPRENTICE.monIds[PLAYER_APPRENTICE.field_B1_1] & 0xF; - gUnknown_030062F0->unk0 = gApprentices[PLAYER_APPRENTICE.id].species[id2]; + id2 = PLAYER_APPRENTICE.speciesIds[PLAYER_APPRENTICE.questionsAnswered] & 0xF; + gApprenticeQuestionData->speciesId = gApprentices[PLAYER_APPRENTICE.id].species[id2]; } } - else if (gSpecialVar_0x8005 == 3) + else if (gSpecialVar_0x8005 == APPRENTICE_QUESTION_WHICH_MOVE) { - if (PLAYER_APPRENTICE.field_B1_1 >= 3 - && PLAYER_APPRENTICE.field_B1_1 < count + 3 - && PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk0_0 == 2) + if (PLAYER_APPRENTICE.questionsAnswered >= NUM_WHICH_MON_QUESTIONS + && PLAYER_APPRENTICE.questionsAnswered < count + NUM_WHICH_MON_QUESTIONS + && PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].questionId == QUESTION_ID_WHICH_MOVE) { - count = PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk0_1; + // count re-used as monId + count = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].monId; APPRENTICE_SPECIES_ID_2(id1, count); - gUnknown_030062F0->unk0 = gApprentices[PLAYER_APPRENTICE.id].species[id1]; - gUnknown_030062F0->unk4 = sub_81A0284(count, id1, PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk0_2); - gUnknown_030062F0->unk6 = PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk2; + gApprenticeQuestionData->speciesId = gApprentices[PLAYER_APPRENTICE.id].species[id1]; + gApprenticeQuestionData->moveId1 = GetDefaultMove(count, id1, PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].moveSlot); + gApprenticeQuestionData->moveId2 = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data; } } - else if (gSpecialVar_0x8005 == 4) + else if (gSpecialVar_0x8005 == APPRENTICE_QUESTION_WHAT_ITEM) { - if (PLAYER_APPRENTICE.field_B1_1 >= 3 - && PLAYER_APPRENTICE.field_B1_1 < count + 3 - && PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk0_0 == 1) + if (PLAYER_APPRENTICE.questionsAnswered >= NUM_WHICH_MON_QUESTIONS + && PLAYER_APPRENTICE.questionsAnswered < count + NUM_WHICH_MON_QUESTIONS + && PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].questionId == QUESTION_ID_WHAT_ITEM) { - count = PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk0_1; + // count re-used as monId + count = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].monId; APPRENTICE_SPECIES_ID_2(id2, count); - gUnknown_030062F0->unk0 = gApprentices[PLAYER_APPRENTICE.id].species[id2]; + gApprenticeQuestionData->speciesId = gApprentices[PLAYER_APPRENTICE.id].species[id2]; } } } -static void sub_81A0FE4(void) +static void FreeQuestionData(void) { - FREE_AND_SET_NULL(gUnknown_030062F0); + FREE_AND_SET_NULL(gApprenticeQuestionData); } -static void sub_81A0FFC(void) +static void ApprenticeBufferString(void) { u8 *stringDst; u8 text[16]; @@ -1958,41 +1066,41 @@ static void sub_81A0FFC(void) switch (gSpecialVar_0x8006) { case APPRENTICE_BUFF_SPECIES1: - StringCopy(stringDst, gSpeciesNames[gUnknown_030062F0->unk0]); + StringCopy(stringDst, gSpeciesNames[gApprenticeQuestionData->speciesId]); break; case APPRENTICE_BUFF_SPECIES2: - StringCopy(stringDst, gSpeciesNames[gUnknown_030062F0->unk2]); + StringCopy(stringDst, gSpeciesNames[gApprenticeQuestionData->altSpeciesId]); break; case APPRENTICE_BUFF_SPECIES3: - StringCopy(stringDst, gSpeciesNames[gUnknown_030062F0->unk0]); + StringCopy(stringDst, gSpeciesNames[gApprenticeQuestionData->speciesId]); break; case APPRENTICE_BUFF_MOVE1: - StringCopy(stringDst, gMoveNames[gUnknown_030062F0->unk4]); + StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->moveId1]); break; case APPRENTICE_BUFF_MOVE2: - StringCopy(stringDst, gMoveNames[gUnknown_030062F0->unk6]); + StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->moveId2]); break; case APPRENTICE_BUFF_ITEM: - StringCopy(stringDst, ItemId_GetName(PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk2)); + StringCopy(stringDst, ItemId_GetName(PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data)); break; case APPRENTICE_BUFF_NAME: TVShowConvertInternationalString(text, GetApprenticeNameInLanguage(PLAYER_APPRENTICE.id, LANGUAGE_ENGLISH), LANGUAGE_ENGLISH); StringCopy(stringDst, text); break; case APPRENTICE_BUFF_LEVEL: - if (PLAYER_APPRENTICE.activeLvlMode == 1) + if (PLAYER_APPRENTICE.lvlMode == APPRENTICE_LVL_MODE_50) StringCopy(stringDst, gText_Lv50); - else + else // == APPRENTICE_LVL_MODE_OPEN StringCopy(stringDst, gText_OpenLevel); break; - case APPRENTICE_BUFF_EASY_CHAT: - FrontierSpeechToString(gSaveBlock2Ptr->apprentices[0].easyChatWords); + case APPRENTICE_BUFF_WIN_SPEECH: + FrontierSpeechToString(gSaveBlock2Ptr->apprentices[0].speechWon); StringCopy(stringDst, gStringVar4); break; - case APPRENTICE_BUFF_SPECIES4: - if (PLAYER_APPRENTICE.field_B1_2 < 3) + case APPRENTICE_BUFF_LEAD_MON_SPECIES: + if (PLAYER_APPRENTICE.leadMonId < MULTI_PARTY_SIZE) { - APPRENTICE_SPECIES_ID(speciesArrayId, PLAYER_APPRENTICE.field_B1_2); + APPRENTICE_SPECIES_ID(speciesArrayId, PLAYER_APPRENTICE.leadMonId); } else { @@ -2003,56 +1111,57 @@ static void sub_81A0FFC(void) } } -static void sub_81A11F8(void) +static void SetLeadApprenticeMon(void) { - PLAYER_APPRENTICE.field_B1_2 = gSpecialVar_0x8005; + PLAYER_APPRENTICE.leadMonId = gSpecialVar_0x8005; } -static void sub_81A1218(void) +static void Script_ApprenticeOpenBagMenu(void) { - sub_81AAC28(); + ApprenticeOpenBagMenu(); } -static void sub_81A1224(void) +static void TrySetApprenticeHeldItem(void) { u8 i, j; u8 count; - if (PLAYER_APPRENTICE.field_B1_1 < 3) + if (PLAYER_APPRENTICE.questionsAnswered < NUM_WHICH_MON_QUESTIONS) return; - for (count = 0, j = 0; j < 9 && PLAYER_APPRENTICE.field_B8[j].unk0_0; count++, j++) + for (count = 0, j = 0; j < APPRENTICE_MAX_QUESTIONS && PLAYER_APPRENTICE.questions[j].questionId != QUESTION_ID_WIN_SPEECH; count++, j++) ; - for (i = 0; i < count && i < PLAYER_APPRENTICE.field_B1_1 - 3; i++) + // Make sure the item hasnt already been suggested in previous questions + for (i = 0; i < count && i < CURRENT_QUESTION_NUM; i++) { do {} while(0); - if (PLAYER_APPRENTICE.field_B8[i].unk0_0 == 1 - && PLAYER_APPRENTICE.field_B8[i].unk0_3 - && PLAYER_APPRENTICE.field_B8[i].unk2 == gSpecialVar_0x8005) + if (PLAYER_APPRENTICE.questions[i].questionId == QUESTION_ID_WHAT_ITEM + && PLAYER_APPRENTICE.questions[i].suggestedChange + && PLAYER_APPRENTICE.questions[i].data == gSpecialVar_0x8005) { - PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk0_3 = 0; - PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk2 = gSpecialVar_0x8005; - gSpecialVar_Result = 0; + PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].suggestedChange = FALSE; + PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data = gSpecialVar_0x8005; + gSpecialVar_Result = FALSE; return; } } - PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk0_3 = 1; - PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk2 = gSpecialVar_0x8005; - gSpecialVar_Result = 1; + PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].suggestedChange = TRUE; + PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data = gSpecialVar_0x8005; + gSpecialVar_Result = TRUE; } -static void sub_81A1370(void) +static void ShiftSavedApprentices(void) { s32 i; - s32 r10; - s32 r9; + s32 apprenticeNum; + s32 apprenticeIdx; if (gSaveBlock2Ptr->apprentices[0].playerName[0] == EOS) return; - for (i = 0; i < 3; i++) + for (i = 0; i < APPRENTICE_COUNT - 1; i++) { if (gSaveBlock2Ptr->apprentices[i + 1].playerName[0] == EOS) { @@ -2061,38 +1170,40 @@ static void sub_81A1370(void) } } - r10 = 0xFFFF; - r9 = -1; - for (i = 1; i < 4; i++) + apprenticeNum = 0xFFFF; + apprenticeIdx = -1; + for (i = 1; i < APPRENTICE_COUNT; i++) { if (GetTrainerId(gSaveBlock2Ptr->apprentices[i].playerId) == GetTrainerId(gSaveBlock2Ptr->playerTrainerId) - && gSaveBlock2Ptr->apprentices[i].number < r10) + && gSaveBlock2Ptr->apprentices[i].number < apprenticeNum) { - r10 = gSaveBlock2Ptr->apprentices[i].number; - r9 = i; + apprenticeNum = gSaveBlock2Ptr->apprentices[i].number; + apprenticeIdx = i; } } - if (r9 > 0) - gSaveBlock2Ptr->apprentices[r9] = gSaveBlock2Ptr->apprentices[0]; + if (apprenticeIdx > 0) + gSaveBlock2Ptr->apprentices[apprenticeIdx] = gSaveBlock2Ptr->apprentices[0]; } -static void sub_81A1438(void) +// Apprentice is always saved in the first slot. Pre-existing Apprentices are moved by ShiftSavedApprentices +static void SaveApprentice(void) { u8 i; gSaveBlock2Ptr->apprentices[0].id = PLAYER_APPRENTICE.id; - gSaveBlock2Ptr->apprentices[0].lvlMode = PLAYER_APPRENTICE.activeLvlMode; + gSaveBlock2Ptr->apprentices[0].lvlMode = PLAYER_APPRENTICE.lvlMode; - for (i = 0; i < 9 && PLAYER_APPRENTICE.field_B8[i].unk0_0; i++) + // Count questions asked until the final (win speech) question was reached + for (i = 0; i < APPRENTICE_MAX_QUESTIONS && (PLAYER_APPRENTICE.questions[i].questionId != QUESTION_ID_WIN_SPEECH); i++) ; - gSaveBlock2Ptr->apprentices[0].field_1 = i; + gSaveBlock2Ptr->apprentices[0].numQuestions = i; if (gSaveBlock2Ptr->apprentices[0].number < 255) gSaveBlock2Ptr->apprentices[0].number++; - sub_81A0390(gSaveBlock2Ptr->apprentices[0].field_1); - for (i = 0; i < 4; i++) + SaveApprenticeParty(gSaveBlock2Ptr->apprentices[0].numQuestions); + for (i = 0; i < TRAINER_ID_LENGTH; i++) gSaveBlock2Ptr->apprentices[0].playerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; StringCopy(gSaveBlock2Ptr->apprentices[0].playerName, gSaveBlock2Ptr->playerName); @@ -2100,13 +1211,13 @@ static void sub_81A1438(void) CalcApprenticeChecksum(&gSaveBlock2Ptr->apprentices[0]); } -static void sub_81A150C(void) +// Never called, APPRENTICE_FUNC_SET_GFX_SAVED is unused +static void SetSavedApprenticeTrainerGfxId(void) { u8 i; u8 mapObjectGfxId; u8 class = gApprentices[gSaveBlock2Ptr->apprentices[0].id].facilityClass; - // Search male classes. for (i = 0; i < ARRAY_COUNT(gTowerMaleFacilityClasses) && gTowerMaleFacilityClasses[i] != class; i++) ; if (i != ARRAY_COUNT(gTowerMaleFacilityClasses)) @@ -2125,7 +1236,7 @@ static void sub_81A150C(void) } } -static void Script_SetPlayerApprenticeTrainerGfxId(void) +static void SetPlayerApprenticeTrainerGfxId(void) { u8 i; u8 mapObjectGfxId; @@ -2149,14 +1260,16 @@ static void Script_SetPlayerApprenticeTrainerGfxId(void) } } -static void sub_81A1638(void) +// Both of the below functions may have been dummied / used for debug +// In all cases theres a conditional for VAR_0x8004 right after the call to these functions +static void GetShouldCheckApprenticeGone(void) { - gSpecialVar_0x8004 = 1; + gSpecialVar_0x8004 = TRUE; } -static void sub_81A1644(void) +static void GetShouldApprenticeLeave(void) { - gSpecialVar_0x8004 = 1; + gSpecialVar_0x8004 = TRUE; } const u8 *GetApprenticeNameInLanguage(u32 apprenticeId, s32 language) @@ -2181,7 +1294,8 @@ const u8 *GetApprenticeNameInLanguage(u32 apprenticeId, s32 language) } } -static void sub_81A16B4(u8 taskId) +// Functionally unused +static void Task_SwitchToFollowupFuncAfterButtonPress(u8 taskId) { if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) SwitchTaskToFollowupFunc(taskId); @@ -2191,8 +1305,8 @@ static void Task_ExecuteFuncAfterButtonPress(u8 taskId) { if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) { - gUnknown_030062F4 = (void*)(u32)(((u16)gTasks[taskId].data[0] | (gTasks[taskId].data[1] << 0x10))); - gUnknown_030062F4(); + gApprenticeFunc = (void*)(u32)(((u16)gTasks[taskId].data[0] | (gTasks[taskId].data[1] << 16))); + gApprenticeFunc(); DestroyTask(taskId); } } @@ -2204,8 +1318,9 @@ static void ExecuteFuncAfterButtonPress(void (*func)(void)) gTasks[taskId].data[1] = (u32)(func) >> 16; } -static void sub_81A175C(TaskFunc taskFunc) +// Unused +static void ExecuteFollowupFuncAfterButtonPress(TaskFunc task) { - u8 taskId = CreateTask(sub_81A16B4, 1); - SetTaskFuncWithFollowupFunc(taskId, sub_81A16B4, taskFunc); + u8 taskId = CreateTask(Task_SwitchToFollowupFuncAfterButtonPress, 1); + SetTaskFuncWithFollowupFunc(taskId, Task_SwitchToFollowupFuncAfterButtonPress, task); } diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 3c07cc2278..c9a6a6606f 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -54,105 +54,105 @@ static void BattleAI_DoAIProcessing(void); static void AIStackPushVar(const u8 *); static bool8 AIStackPop(void); -static void BattleAICmd_if_random_less_than(void); -static void BattleAICmd_if_random_greater_than(void); -static void BattleAICmd_if_random_equal(void); -static void BattleAICmd_if_random_not_equal(void); -static void BattleAICmd_score(void); -static void BattleAICmd_if_hp_less_than(void); -static void BattleAICmd_if_hp_more_than(void); -static void BattleAICmd_if_hp_equal(void); -static void BattleAICmd_if_hp_not_equal(void); -static void BattleAICmd_if_status(void); -static void BattleAICmd_if_not_status(void); -static void BattleAICmd_if_status2(void); -static void BattleAICmd_if_not_status2(void); -static void BattleAICmd_if_status3(void); -static void BattleAICmd_if_not_status3(void); -static void BattleAICmd_if_side_affecting(void); -static void BattleAICmd_if_not_side_affecting(void); -static void BattleAICmd_if_less_than(void); -static void BattleAICmd_if_more_than(void); -static void BattleAICmd_if_equal(void); -static void BattleAICmd_if_not_equal(void); -static void BattleAICmd_if_less_than_ptr(void); -static void BattleAICmd_if_more_than_ptr(void); -static void BattleAICmd_if_equal_ptr(void); -static void BattleAICmd_if_not_equal_ptr(void); -static void BattleAICmd_if_move(void); -static void BattleAICmd_if_not_move(void); -static void BattleAICmd_if_in_bytes(void); -static void BattleAICmd_if_not_in_bytes(void); -static void BattleAICmd_if_in_hwords(void); -static void BattleAICmd_if_not_in_hwords(void); -static void BattleAICmd_if_user_has_attacking_move(void); -static void BattleAICmd_if_user_has_no_attacking_moves(void); -static void BattleAICmd_get_turn_count(void); -static void BattleAICmd_get_type(void); -static void BattleAICmd_get_considered_move_power(void); -static void BattleAICmd_get_how_powerful_move_is(void); -static void BattleAICmd_get_last_used_battler_move(void); -static void BattleAICmd_if_equal_(void); -static void BattleAICmd_if_not_equal_(void); -static void BattleAICmd_if_user_goes(void); -static void BattleAICmd_if_user_doesnt_go(void); -static void BattleAICmd_nullsub_2A(void); -static void BattleAICmd_nullsub_2B(void); -static void BattleAICmd_count_usable_party_mons(void); -static void BattleAICmd_get_considered_move(void); -static void BattleAICmd_get_considered_move_effect(void); -static void BattleAICmd_get_ability(void); -static void BattleAICmd_get_highest_type_effectiveness(void); -static void BattleAICmd_if_type_effectiveness(void); -static void BattleAICmd_nullsub_32(void); -static void BattleAICmd_nullsub_33(void); -static void BattleAICmd_if_status_in_party(void); -static void BattleAICmd_if_status_not_in_party(void); -static void BattleAICmd_get_weather(void); -static void BattleAICmd_if_effect(void); -static void BattleAICmd_if_not_effect(void); -static void BattleAICmd_if_stat_level_less_than(void); -static void BattleAICmd_if_stat_level_more_than(void); -static void BattleAICmd_if_stat_level_equal(void); -static void BattleAICmd_if_stat_level_not_equal(void); -static void BattleAICmd_if_can_faint(void); -static void BattleAICmd_if_cant_faint(void); -static void BattleAICmd_if_has_move(void); -static void BattleAICmd_if_doesnt_have_move(void); -static void BattleAICmd_if_has_move_with_effect(void); -static void BattleAICmd_if_doesnt_have_move_with_effect(void); -static void BattleAICmd_if_any_move_disabled_or_encored(void); -static void BattleAICmd_if_curr_move_disabled_or_encored(void); -static void BattleAICmd_flee(void); -static void BattleAICmd_if_random_safari_flee(void); -static void BattleAICmd_watch(void); -static void BattleAICmd_get_hold_effect(void); -static void BattleAICmd_get_gender(void); -static void BattleAICmd_is_first_turn_for(void); -static void BattleAICmd_get_stockpile_count(void); -static void BattleAICmd_is_double_battle(void); -static void BattleAICmd_get_used_held_item(void); -static void BattleAICmd_get_move_type_from_result(void); -static void BattleAICmd_get_move_power_from_result(void); -static void BattleAICmd_get_move_effect_from_result(void); -static void BattleAICmd_get_protect_count(void); -static void BattleAICmd_nullsub_52(void); -static void BattleAICmd_nullsub_53(void); -static void BattleAICmd_nullsub_54(void); -static void BattleAICmd_nullsub_55(void); -static void BattleAICmd_nullsub_56(void); -static void BattleAICmd_nullsub_57(void); -static void BattleAICmd_call(void); -static void BattleAICmd_goto(void); -static void BattleAICmd_end(void); -static void BattleAICmd_if_level_cond(void); -static void BattleAICmd_if_target_taunted(void); -static void BattleAICmd_if_target_not_taunted(void); -static void BattleAICmd_check_ability(void); -static void BattleAICmd_is_of_type(void); -static void BattleAICmd_if_target_is_ally(void); -static void BattleAICmd_if_flash_fired(void); -static void BattleAICmd_if_holds_item(void); +static void Cmd_if_random_less_than(void); +static void Cmd_if_random_greater_than(void); +static void Cmd_if_random_equal(void); +static void Cmd_if_random_not_equal(void); +static void Cmd_score(void); +static void Cmd_if_hp_less_than(void); +static void Cmd_if_hp_more_than(void); +static void Cmd_if_hp_equal(void); +static void Cmd_if_hp_not_equal(void); +static void Cmd_if_status(void); +static void Cmd_if_not_status(void); +static void Cmd_if_status2(void); +static void Cmd_if_not_status2(void); +static void Cmd_if_status3(void); +static void Cmd_if_not_status3(void); +static void Cmd_if_side_affecting(void); +static void Cmd_if_not_side_affecting(void); +static void Cmd_if_less_than(void); +static void Cmd_if_more_than(void); +static void Cmd_if_equal(void); +static void Cmd_if_not_equal(void); +static void Cmd_if_less_than_ptr(void); +static void Cmd_if_more_than_ptr(void); +static void Cmd_if_equal_ptr(void); +static void Cmd_if_not_equal_ptr(void); +static void Cmd_if_move(void); +static void Cmd_if_not_move(void); +static void Cmd_if_in_bytes(void); +static void Cmd_if_not_in_bytes(void); +static void Cmd_if_in_hwords(void); +static void Cmd_if_not_in_hwords(void); +static void Cmd_if_user_has_attacking_move(void); +static void Cmd_if_user_has_no_attacking_moves(void); +static void Cmd_get_turn_count(void); +static void Cmd_get_type(void); +static void Cmd_get_considered_move_power(void); +static void Cmd_get_how_powerful_move_is(void); +static void Cmd_get_last_used_battler_move(void); +static void Cmd_if_equal_(void); +static void Cmd_if_not_equal_(void); +static void Cmd_if_user_goes(void); +static void Cmd_if_user_doesnt_go(void); +static void Cmd_nullsub_2A(void); +static void Cmd_nullsub_2B(void); +static void Cmd_count_usable_party_mons(void); +static void Cmd_get_considered_move(void); +static void Cmd_get_considered_move_effect(void); +static void Cmd_get_ability(void); +static void Cmd_get_highest_type_effectiveness(void); +static void Cmd_if_type_effectiveness(void); +static void Cmd_nullsub_32(void); +static void Cmd_nullsub_33(void); +static void Cmd_if_status_in_party(void); +static void Cmd_if_status_not_in_party(void); +static void Cmd_get_weather(void); +static void Cmd_if_effect(void); +static void Cmd_if_not_effect(void); +static void Cmd_if_stat_level_less_than(void); +static void Cmd_if_stat_level_more_than(void); +static void Cmd_if_stat_level_equal(void); +static void Cmd_if_stat_level_not_equal(void); +static void Cmd_if_can_faint(void); +static void Cmd_if_cant_faint(void); +static void Cmd_if_has_move(void); +static void Cmd_if_doesnt_have_move(void); +static void Cmd_if_has_move_with_effect(void); +static void Cmd_if_doesnt_have_move_with_effect(void); +static void Cmd_if_any_move_disabled_or_encored(void); +static void Cmd_if_curr_move_disabled_or_encored(void); +static void Cmd_flee(void); +static void Cmd_if_random_safari_flee(void); +static void Cmd_watch(void); +static void Cmd_get_hold_effect(void); +static void Cmd_get_gender(void); +static void Cmd_is_first_turn_for(void); +static void Cmd_get_stockpile_count(void); +static void Cmd_is_double_battle(void); +static void Cmd_get_used_held_item(void); +static void Cmd_get_move_type_from_result(void); +static void Cmd_get_move_power_from_result(void); +static void Cmd_get_move_effect_from_result(void); +static void Cmd_get_protect_count(void); +static void Cmd_nullsub_52(void); +static void Cmd_nullsub_53(void); +static void Cmd_nullsub_54(void); +static void Cmd_nullsub_55(void); +static void Cmd_nullsub_56(void); +static void Cmd_nullsub_57(void); +static void Cmd_call(void); +static void Cmd_goto(void); +static void Cmd_end(void); +static void Cmd_if_level_cond(void); +static void Cmd_if_target_taunted(void); +static void Cmd_if_target_not_taunted(void); +static void Cmd_check_ability(void); +static void Cmd_is_of_type(void); +static void Cmd_if_target_is_ally(void); +static void Cmd_if_flash_fired(void); +static void Cmd_if_holds_item(void); // ewram EWRAM_DATA const u8 *gAIScriptPtr = NULL; @@ -163,105 +163,105 @@ typedef void (*BattleAICmdFunc)(void); static const BattleAICmdFunc sBattleAICmdTable[] = { - BattleAICmd_if_random_less_than, // 0x0 - BattleAICmd_if_random_greater_than, // 0x1 - BattleAICmd_if_random_equal, // 0x2 - BattleAICmd_if_random_not_equal, // 0x3 - BattleAICmd_score, // 0x4 - BattleAICmd_if_hp_less_than, // 0x5 - BattleAICmd_if_hp_more_than, // 0x6 - BattleAICmd_if_hp_equal, // 0x7 - BattleAICmd_if_hp_not_equal, // 0x8 - BattleAICmd_if_status, // 0x9 - BattleAICmd_if_not_status, // 0xA - BattleAICmd_if_status2, // 0xB - BattleAICmd_if_not_status2, // 0xC - BattleAICmd_if_status3, // 0xD - BattleAICmd_if_not_status3, // 0xE - BattleAICmd_if_side_affecting, // 0xF - BattleAICmd_if_not_side_affecting, // 0x10 - BattleAICmd_if_less_than, // 0x11 - BattleAICmd_if_more_than, // 0x12 - BattleAICmd_if_equal, // 0x13 - BattleAICmd_if_not_equal, // 0x14 - BattleAICmd_if_less_than_ptr, // 0x15 - BattleAICmd_if_more_than_ptr, // 0x16 - BattleAICmd_if_equal_ptr, // 0x17 - BattleAICmd_if_not_equal_ptr, // 0x18 - BattleAICmd_if_move, // 0x19 - BattleAICmd_if_not_move, // 0x1A - BattleAICmd_if_in_bytes, // 0x1B - BattleAICmd_if_not_in_bytes, // 0x1C - BattleAICmd_if_in_hwords, // 0x1D - BattleAICmd_if_not_in_hwords, // 0x1E - BattleAICmd_if_user_has_attacking_move, // 0x1F - BattleAICmd_if_user_has_no_attacking_moves, // 0x20 - BattleAICmd_get_turn_count, // 0x21 - BattleAICmd_get_type, // 0x22 - BattleAICmd_get_considered_move_power, // 0x23 - BattleAICmd_get_how_powerful_move_is, // 0x24 - BattleAICmd_get_last_used_battler_move, // 0x25 - BattleAICmd_if_equal_, // 0x26 - BattleAICmd_if_not_equal_, // 0x27 - BattleAICmd_if_user_goes, // 0x28 - BattleAICmd_if_user_doesnt_go, // 0x29 - BattleAICmd_nullsub_2A, // 0x2A - BattleAICmd_nullsub_2B, // 0x2B - BattleAICmd_count_usable_party_mons, // 0x2C - BattleAICmd_get_considered_move, // 0x2D - BattleAICmd_get_considered_move_effect, // 0x2E - BattleAICmd_get_ability, // 0x2F - BattleAICmd_get_highest_type_effectiveness, // 0x30 - BattleAICmd_if_type_effectiveness, // 0x31 - BattleAICmd_nullsub_32, // 0x32 - BattleAICmd_nullsub_33, // 0x33 - BattleAICmd_if_status_in_party, // 0x34 - BattleAICmd_if_status_not_in_party, // 0x35 - BattleAICmd_get_weather, // 0x36 - BattleAICmd_if_effect, // 0x37 - BattleAICmd_if_not_effect, // 0x38 - BattleAICmd_if_stat_level_less_than, // 0x39 - BattleAICmd_if_stat_level_more_than, // 0x3A - BattleAICmd_if_stat_level_equal, // 0x3B - BattleAICmd_if_stat_level_not_equal, // 0x3C - BattleAICmd_if_can_faint, // 0x3D - BattleAICmd_if_cant_faint, // 0x3E - BattleAICmd_if_has_move, // 0x3F - BattleAICmd_if_doesnt_have_move, // 0x40 - BattleAICmd_if_has_move_with_effect, // 0x41 - BattleAICmd_if_doesnt_have_move_with_effect, // 0x42 - BattleAICmd_if_any_move_disabled_or_encored, // 0x43 - BattleAICmd_if_curr_move_disabled_or_encored, // 0x44 - BattleAICmd_flee, // 0x45 - BattleAICmd_if_random_safari_flee, // 0x46 - BattleAICmd_watch, // 0x47 - BattleAICmd_get_hold_effect, // 0x48 - BattleAICmd_get_gender, // 0x49 - BattleAICmd_is_first_turn_for, // 0x4A - BattleAICmd_get_stockpile_count, // 0x4B - BattleAICmd_is_double_battle, // 0x4C - BattleAICmd_get_used_held_item, // 0x4D - BattleAICmd_get_move_type_from_result, // 0x4E - BattleAICmd_get_move_power_from_result, // 0x4F - BattleAICmd_get_move_effect_from_result, // 0x50 - BattleAICmd_get_protect_count, // 0x51 - BattleAICmd_nullsub_52, // 0x52 - BattleAICmd_nullsub_53, // 0x53 - BattleAICmd_nullsub_54, // 0x54 - BattleAICmd_nullsub_55, // 0x55 - BattleAICmd_nullsub_56, // 0x56 - BattleAICmd_nullsub_57, // 0x57 - BattleAICmd_call, // 0x58 - BattleAICmd_goto, // 0x59 - BattleAICmd_end, // 0x5A - BattleAICmd_if_level_cond, // 0x5B - BattleAICmd_if_target_taunted, // 0x5C - BattleAICmd_if_target_not_taunted, // 0x5D - BattleAICmd_if_target_is_ally, // 0x5E - BattleAICmd_is_of_type, // 0x5F - BattleAICmd_check_ability, // 0x60 - BattleAICmd_if_flash_fired, // 0x61 - BattleAICmd_if_holds_item, // 0x62 + Cmd_if_random_less_than, // 0x0 + Cmd_if_random_greater_than, // 0x1 + Cmd_if_random_equal, // 0x2 + Cmd_if_random_not_equal, // 0x3 + Cmd_score, // 0x4 + Cmd_if_hp_less_than, // 0x5 + Cmd_if_hp_more_than, // 0x6 + Cmd_if_hp_equal, // 0x7 + Cmd_if_hp_not_equal, // 0x8 + Cmd_if_status, // 0x9 + Cmd_if_not_status, // 0xA + Cmd_if_status2, // 0xB + Cmd_if_not_status2, // 0xC + Cmd_if_status3, // 0xD + Cmd_if_not_status3, // 0xE + Cmd_if_side_affecting, // 0xF + Cmd_if_not_side_affecting, // 0x10 + Cmd_if_less_than, // 0x11 + Cmd_if_more_than, // 0x12 + Cmd_if_equal, // 0x13 + Cmd_if_not_equal, // 0x14 + Cmd_if_less_than_ptr, // 0x15 + Cmd_if_more_than_ptr, // 0x16 + Cmd_if_equal_ptr, // 0x17 + Cmd_if_not_equal_ptr, // 0x18 + Cmd_if_move, // 0x19 + Cmd_if_not_move, // 0x1A + Cmd_if_in_bytes, // 0x1B + Cmd_if_not_in_bytes, // 0x1C + Cmd_if_in_hwords, // 0x1D + Cmd_if_not_in_hwords, // 0x1E + Cmd_if_user_has_attacking_move, // 0x1F + Cmd_if_user_has_no_attacking_moves, // 0x20 + Cmd_get_turn_count, // 0x21 + Cmd_get_type, // 0x22 + Cmd_get_considered_move_power, // 0x23 + Cmd_get_how_powerful_move_is, // 0x24 + Cmd_get_last_used_battler_move, // 0x25 + Cmd_if_equal_, // 0x26 + Cmd_if_not_equal_, // 0x27 + Cmd_if_user_goes, // 0x28 + Cmd_if_user_doesnt_go, // 0x29 + Cmd_nullsub_2A, // 0x2A + Cmd_nullsub_2B, // 0x2B + Cmd_count_usable_party_mons, // 0x2C + Cmd_get_considered_move, // 0x2D + Cmd_get_considered_move_effect, // 0x2E + Cmd_get_ability, // 0x2F + Cmd_get_highest_type_effectiveness, // 0x30 + Cmd_if_type_effectiveness, // 0x31 + Cmd_nullsub_32, // 0x32 + Cmd_nullsub_33, // 0x33 + Cmd_if_status_in_party, // 0x34 + Cmd_if_status_not_in_party, // 0x35 + Cmd_get_weather, // 0x36 + Cmd_if_effect, // 0x37 + Cmd_if_not_effect, // 0x38 + Cmd_if_stat_level_less_than, // 0x39 + Cmd_if_stat_level_more_than, // 0x3A + Cmd_if_stat_level_equal, // 0x3B + Cmd_if_stat_level_not_equal, // 0x3C + Cmd_if_can_faint, // 0x3D + Cmd_if_cant_faint, // 0x3E + Cmd_if_has_move, // 0x3F + Cmd_if_doesnt_have_move, // 0x40 + Cmd_if_has_move_with_effect, // 0x41 + Cmd_if_doesnt_have_move_with_effect, // 0x42 + Cmd_if_any_move_disabled_or_encored, // 0x43 + Cmd_if_curr_move_disabled_or_encored, // 0x44 + Cmd_flee, // 0x45 + Cmd_if_random_safari_flee, // 0x46 + Cmd_watch, // 0x47 + Cmd_get_hold_effect, // 0x48 + Cmd_get_gender, // 0x49 + Cmd_is_first_turn_for, // 0x4A + Cmd_get_stockpile_count, // 0x4B + Cmd_is_double_battle, // 0x4C + Cmd_get_used_held_item, // 0x4D + Cmd_get_move_type_from_result, // 0x4E + Cmd_get_move_power_from_result, // 0x4F + Cmd_get_move_effect_from_result, // 0x50 + Cmd_get_protect_count, // 0x51 + Cmd_nullsub_52, // 0x52 + Cmd_nullsub_53, // 0x53 + Cmd_nullsub_54, // 0x54 + Cmd_nullsub_55, // 0x55 + Cmd_nullsub_56, // 0x56 + Cmd_nullsub_57, // 0x57 + Cmd_call, // 0x58 + Cmd_goto, // 0x59 + Cmd_end, // 0x5A + Cmd_if_level_cond, // 0x5B + Cmd_if_target_taunted, // 0x5C + Cmd_if_target_not_taunted, // 0x5D + Cmd_if_target_is_ally, // 0x5E + Cmd_is_of_type, // 0x5F + Cmd_check_ability, // 0x60 + Cmd_if_flash_fired, // 0x61 + Cmd_if_holds_item, // 0x62 }; static const u16 sDiscouragedPowerfulMoveEffects[] = @@ -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]) { @@ -653,7 +653,7 @@ void ClearBattlerItemEffectHistory(u8 battlerId) BATTLE_HISTORY->itemEffects[battlerId] = 0; } -static void BattleAICmd_if_random_less_than(void) +static void Cmd_if_random_less_than(void) { u16 random = Random(); @@ -663,7 +663,7 @@ static void BattleAICmd_if_random_less_than(void) gAIScriptPtr += 6; } -static void BattleAICmd_if_random_greater_than(void) +static void Cmd_if_random_greater_than(void) { u16 random = Random(); @@ -673,7 +673,7 @@ static void BattleAICmd_if_random_greater_than(void) gAIScriptPtr += 6; } -static void BattleAICmd_if_random_equal(void) +static void Cmd_if_random_equal(void) { u16 random = Random(); @@ -683,7 +683,7 @@ static void BattleAICmd_if_random_equal(void) gAIScriptPtr += 6; } -static void BattleAICmd_if_random_not_equal(void) +static void Cmd_if_random_not_equal(void) { u16 random = Random(); @@ -693,7 +693,7 @@ static void BattleAICmd_if_random_not_equal(void) gAIScriptPtr += 6; } -static void BattleAICmd_score(void) +static void Cmd_score(void) { AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] += gAIScriptPtr[1]; // Add the result to the array of the move consider's score. @@ -703,7 +703,7 @@ static void BattleAICmd_score(void) gAIScriptPtr += 2; // AI return. } -static void BattleAICmd_if_hp_less_than(void) +static void Cmd_if_hp_less_than(void) { u16 battlerId; @@ -718,7 +718,7 @@ static void BattleAICmd_if_hp_less_than(void) gAIScriptPtr += 7; } -static void BattleAICmd_if_hp_more_than(void) +static void Cmd_if_hp_more_than(void) { u16 battlerId; @@ -733,7 +733,7 @@ static void BattleAICmd_if_hp_more_than(void) gAIScriptPtr += 7; } -static void BattleAICmd_if_hp_equal(void) +static void Cmd_if_hp_equal(void) { u16 battlerId; @@ -748,7 +748,7 @@ static void BattleAICmd_if_hp_equal(void) gAIScriptPtr += 7; } -static void BattleAICmd_if_hp_not_equal(void) +static void Cmd_if_hp_not_equal(void) { u16 battlerId; @@ -763,7 +763,7 @@ static void BattleAICmd_if_hp_not_equal(void) gAIScriptPtr += 7; } -static void BattleAICmd_if_status(void) +static void Cmd_if_status(void) { u16 battlerId; u32 status; @@ -781,7 +781,7 @@ static void BattleAICmd_if_status(void) gAIScriptPtr += 10; } -static void BattleAICmd_if_not_status(void) +static void Cmd_if_not_status(void) { u16 battlerId; u32 status; @@ -799,7 +799,7 @@ static void BattleAICmd_if_not_status(void) gAIScriptPtr += 10; } -static void BattleAICmd_if_status2(void) +static void Cmd_if_status2(void) { u16 battlerId; u32 status; @@ -817,7 +817,7 @@ static void BattleAICmd_if_status2(void) gAIScriptPtr += 10; } -static void BattleAICmd_if_not_status2(void) +static void Cmd_if_not_status2(void) { u16 battlerId; u32 status; @@ -835,7 +835,7 @@ static void BattleAICmd_if_not_status2(void) gAIScriptPtr += 10; } -static void BattleAICmd_if_status3(void) +static void Cmd_if_status3(void) { u16 battlerId; u32 status; @@ -853,7 +853,7 @@ static void BattleAICmd_if_status3(void) gAIScriptPtr += 10; } -static void BattleAICmd_if_not_status3(void) +static void Cmd_if_not_status3(void) { u16 battlerId; u32 status; @@ -871,7 +871,7 @@ static void BattleAICmd_if_not_status3(void) gAIScriptPtr += 10; } -static void BattleAICmd_if_side_affecting(void) +static void Cmd_if_side_affecting(void) { u16 battlerId; u32 side, status; @@ -890,7 +890,7 @@ static void BattleAICmd_if_side_affecting(void) gAIScriptPtr += 10; } -static void BattleAICmd_if_not_side_affecting(void) +static void Cmd_if_not_side_affecting(void) { u16 battlerId; u32 side, status; @@ -909,7 +909,7 @@ static void BattleAICmd_if_not_side_affecting(void) gAIScriptPtr += 10; } -static void BattleAICmd_if_less_than(void) +static void Cmd_if_less_than(void) { if (AI_THINKING_STRUCT->funcResult < gAIScriptPtr[1]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); @@ -917,7 +917,7 @@ static void BattleAICmd_if_less_than(void) gAIScriptPtr += 6; } -static void BattleAICmd_if_more_than(void) +static void Cmd_if_more_than(void) { if (AI_THINKING_STRUCT->funcResult > gAIScriptPtr[1]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); @@ -925,7 +925,7 @@ static void BattleAICmd_if_more_than(void) gAIScriptPtr += 6; } -static void BattleAICmd_if_equal(void) +static void Cmd_if_equal(void) { if (AI_THINKING_STRUCT->funcResult == gAIScriptPtr[1]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); @@ -933,7 +933,7 @@ static void BattleAICmd_if_equal(void) gAIScriptPtr += 6; } -static void BattleAICmd_if_not_equal(void) +static void Cmd_if_not_equal(void) { if (AI_THINKING_STRUCT->funcResult != gAIScriptPtr[1]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); @@ -941,7 +941,7 @@ static void BattleAICmd_if_not_equal(void) gAIScriptPtr += 6; } -static void BattleAICmd_if_less_than_ptr(void) +static void Cmd_if_less_than_ptr(void) { const u8 *value = T1_READ_PTR(gAIScriptPtr + 1); @@ -951,7 +951,7 @@ static void BattleAICmd_if_less_than_ptr(void) gAIScriptPtr += 9; } -static void BattleAICmd_if_more_than_ptr(void) +static void Cmd_if_more_than_ptr(void) { const u8 *value = T1_READ_PTR(gAIScriptPtr + 1); @@ -961,7 +961,7 @@ static void BattleAICmd_if_more_than_ptr(void) gAIScriptPtr += 9; } -static void BattleAICmd_if_equal_ptr(void) +static void Cmd_if_equal_ptr(void) { const u8 *value = T1_READ_PTR(gAIScriptPtr + 1); @@ -971,7 +971,7 @@ static void BattleAICmd_if_equal_ptr(void) gAIScriptPtr += 9; } -static void BattleAICmd_if_not_equal_ptr(void) +static void Cmd_if_not_equal_ptr(void) { const u8 *value = T1_READ_PTR(gAIScriptPtr + 1); @@ -981,7 +981,7 @@ static void BattleAICmd_if_not_equal_ptr(void) gAIScriptPtr += 9; } -static void BattleAICmd_if_move(void) +static void Cmd_if_move(void) { u16 move = T1_READ_16(gAIScriptPtr + 1); @@ -991,7 +991,7 @@ static void BattleAICmd_if_move(void) gAIScriptPtr += 7; } -static void BattleAICmd_if_not_move(void) +static void Cmd_if_not_move(void) { u16 move = T1_READ_16(gAIScriptPtr + 1); @@ -1001,7 +1001,7 @@ static void BattleAICmd_if_not_move(void) gAIScriptPtr += 7; } -static void BattleAICmd_if_in_bytes(void) +static void Cmd_if_in_bytes(void) { const u8 *ptr = T1_READ_PTR(gAIScriptPtr + 1); @@ -1017,7 +1017,7 @@ static void BattleAICmd_if_in_bytes(void) gAIScriptPtr += 9; } -static void BattleAICmd_if_not_in_bytes(void) +static void Cmd_if_not_in_bytes(void) { const u8 *ptr = T1_READ_PTR(gAIScriptPtr + 1); @@ -1033,7 +1033,7 @@ static void BattleAICmd_if_not_in_bytes(void) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); } -static void BattleAICmd_if_in_hwords(void) +static void Cmd_if_in_hwords(void) { const u16 *ptr = (const u16 *)T1_READ_PTR(gAIScriptPtr + 1); @@ -1049,7 +1049,7 @@ static void BattleAICmd_if_in_hwords(void) gAIScriptPtr += 9; } -static void BattleAICmd_if_not_in_hwords(void) +static void Cmd_if_not_in_hwords(void) { const u16 *ptr = (const u16 *)T1_READ_PTR(gAIScriptPtr + 1); @@ -1065,7 +1065,7 @@ static void BattleAICmd_if_not_in_hwords(void) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); } -static void BattleAICmd_if_user_has_attacking_move(void) +static void Cmd_if_user_has_attacking_move(void) { s32 i; @@ -1082,7 +1082,7 @@ static void BattleAICmd_if_user_has_attacking_move(void) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); } -static void BattleAICmd_if_user_has_no_attacking_moves(void) +static void Cmd_if_user_has_no_attacking_moves(void) { s32 i; @@ -1099,13 +1099,13 @@ static void BattleAICmd_if_user_has_no_attacking_moves(void) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); } -static void BattleAICmd_get_turn_count(void) +static void Cmd_get_turn_count(void) { AI_THINKING_STRUCT->funcResult = gBattleResults.battleTurnCounter; gAIScriptPtr += 1; } -static void BattleAICmd_get_type(void) +static void Cmd_get_type(void) { u8 typeVar = gAIScriptPtr[1]; @@ -1146,7 +1146,7 @@ static u8 BattleAI_GetWantedBattler(u8 wantedBattler) } } -static void BattleAICmd_is_of_type(void) +static void Cmd_is_of_type(void) { u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); @@ -1158,16 +1158,16 @@ static void BattleAICmd_is_of_type(void) gAIScriptPtr += 3; } -static void BattleAICmd_get_considered_move_power(void) +static void Cmd_get_considered_move_power(void) { AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power; gAIScriptPtr += 1; } -static void BattleAICmd_get_how_powerful_move_is(void) +static void Cmd_get_how_powerful_move_is(void) { s32 i, checkedMove; - s32 moveDmgs[4]; + s32 moveDmgs[MAX_MON_MOVES]; for (i = 0; sDiscouragedPowerfulMoveEffects[i] != 0xFFFF; i++) { @@ -1228,7 +1228,7 @@ static void BattleAICmd_get_how_powerful_move_is(void) gAIScriptPtr++; } -static void BattleAICmd_get_last_used_battler_move(void) +static void Cmd_get_last_used_battler_move(void) { if (gAIScriptPtr[1] == AI_USER) AI_THINKING_STRUCT->funcResult = gLastMoves[sBattler_AI]; @@ -1238,7 +1238,7 @@ static void BattleAICmd_get_last_used_battler_move(void) gAIScriptPtr += 2; } -static void BattleAICmd_if_equal_(void) // Same as if_equal. +static void Cmd_if_equal_(void) // Same as if_equal. { if (gAIScriptPtr[1] == AI_THINKING_STRUCT->funcResult) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); @@ -1246,7 +1246,7 @@ static void BattleAICmd_if_equal_(void) // Same as if_equal. gAIScriptPtr += 6; } -static void BattleAICmd_if_not_equal_(void) // Same as if_not_equal. +static void Cmd_if_not_equal_(void) // Same as if_not_equal. { if (gAIScriptPtr[1] != AI_THINKING_STRUCT->funcResult) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); @@ -1254,7 +1254,7 @@ static void BattleAICmd_if_not_equal_(void) // Same as if_not_equal. gAIScriptPtr += 6; } -static void BattleAICmd_if_user_goes(void) +static void Cmd_if_user_goes(void) { if (GetWhoStrikesFirst(sBattler_AI, gBattlerTarget, TRUE) == gAIScriptPtr[1]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); @@ -1262,7 +1262,7 @@ static void BattleAICmd_if_user_goes(void) gAIScriptPtr += 6; } -static void BattleAICmd_if_user_doesnt_go(void) +static void Cmd_if_user_doesnt_go(void) { if (GetWhoStrikesFirst(sBattler_AI, gBattlerTarget, TRUE) != gAIScriptPtr[1]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); @@ -1270,15 +1270,15 @@ static void BattleAICmd_if_user_doesnt_go(void) gAIScriptPtr += 6; } -static void BattleAICmd_nullsub_2A(void) +static void Cmd_nullsub_2A(void) { } -static void BattleAICmd_nullsub_2B(void) +static void Cmd_nullsub_2B(void) { } -static void BattleAICmd_count_usable_party_mons(void) +static void Cmd_count_usable_party_mons(void) { u8 battlerId; u8 battlerOnField1, battlerOnField2; @@ -1324,19 +1324,19 @@ static void BattleAICmd_count_usable_party_mons(void) gAIScriptPtr += 2; } -static void BattleAICmd_get_considered_move(void) +static void Cmd_get_considered_move(void) { AI_THINKING_STRUCT->funcResult = AI_THINKING_STRUCT->moveConsidered; gAIScriptPtr += 1; } -static void BattleAICmd_get_considered_move_effect(void) +static void Cmd_get_considered_move_effect(void) { AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect; gAIScriptPtr += 1; } -static void BattleAICmd_get_ability(void) +static void Cmd_get_ability(void) { u8 battlerId; @@ -1393,7 +1393,7 @@ static void BattleAICmd_get_ability(void) gAIScriptPtr += 2; } -static void BattleAICmd_check_ability(void) +static void Cmd_check_ability(void) { u32 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); u32 ability = gAIScriptPtr[2]; @@ -1453,7 +1453,7 @@ static void BattleAICmd_check_ability(void) gAIScriptPtr += 3; } -static void BattleAICmd_get_highest_type_effectiveness(void) +static void Cmd_get_highest_type_effectiveness(void) { s32 i; u8 *dynamicMoveType; @@ -1495,7 +1495,7 @@ static void BattleAICmd_get_highest_type_effectiveness(void) gAIScriptPtr += 1; } -static void BattleAICmd_if_type_effectiveness(void) +static void Cmd_if_type_effectiveness(void) { u8 damageVar; @@ -1531,15 +1531,15 @@ static void BattleAICmd_if_type_effectiveness(void) gAIScriptPtr += 6; } -static void BattleAICmd_nullsub_32(void) +static void Cmd_nullsub_32(void) { } -static void BattleAICmd_nullsub_33(void) +static void Cmd_nullsub_33(void) { } -static void BattleAICmd_if_status_in_party(void) +static void Cmd_if_status_in_party(void) { struct Pokemon *party; s32 i; @@ -1576,7 +1576,7 @@ static void BattleAICmd_if_status_in_party(void) gAIScriptPtr += 10; } -static void BattleAICmd_if_status_not_in_party(void) +static void Cmd_if_status_not_in_party(void) { struct Pokemon *party; s32 i; @@ -1613,7 +1613,7 @@ static void BattleAICmd_if_status_not_in_party(void) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); } -static void BattleAICmd_get_weather(void) +static void Cmd_get_weather(void) { if (gBattleWeather & WEATHER_RAIN_ANY) AI_THINKING_STRUCT->funcResult = AI_WEATHER_RAIN; @@ -1627,7 +1627,7 @@ static void BattleAICmd_get_weather(void) gAIScriptPtr += 1; } -static void BattleAICmd_if_effect(void) +static void Cmd_if_effect(void) { if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect == gAIScriptPtr[1]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); @@ -1635,7 +1635,7 @@ static void BattleAICmd_if_effect(void) gAIScriptPtr += 6; } -static void BattleAICmd_if_not_effect(void) +static void Cmd_if_not_effect(void) { if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect != gAIScriptPtr[1]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); @@ -1643,7 +1643,7 @@ static void BattleAICmd_if_not_effect(void) gAIScriptPtr += 6; } -static void BattleAICmd_if_stat_level_less_than(void) +static void Cmd_if_stat_level_less_than(void) { u32 battlerId; @@ -1658,7 +1658,7 @@ static void BattleAICmd_if_stat_level_less_than(void) gAIScriptPtr += 8; } -static void BattleAICmd_if_stat_level_more_than(void) +static void Cmd_if_stat_level_more_than(void) { u32 battlerId; @@ -1673,7 +1673,7 @@ static void BattleAICmd_if_stat_level_more_than(void) gAIScriptPtr += 8; } -static void BattleAICmd_if_stat_level_equal(void) +static void Cmd_if_stat_level_equal(void) { u32 battlerId; @@ -1688,7 +1688,7 @@ static void BattleAICmd_if_stat_level_equal(void) gAIScriptPtr += 8; } -static void BattleAICmd_if_stat_level_not_equal(void) +static void Cmd_if_stat_level_not_equal(void) { u32 battlerId; @@ -1703,7 +1703,7 @@ static void BattleAICmd_if_stat_level_not_equal(void) gAIScriptPtr += 8; } -static void BattleAICmd_if_can_faint(void) +static void Cmd_if_can_faint(void) { if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power < 2) { @@ -1732,7 +1732,7 @@ static void BattleAICmd_if_can_faint(void) gAIScriptPtr += 5; } -static void BattleAICmd_if_cant_faint(void) +static void Cmd_if_cant_faint(void) { if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power < 2) { @@ -1759,7 +1759,7 @@ static void BattleAICmd_if_cant_faint(void) gAIScriptPtr += 5; } -static void BattleAICmd_if_has_move(void) +static void Cmd_if_has_move(void) { s32 i; const u16 *movePtr = (u16 *)(gAIScriptPtr + 2); @@ -1811,7 +1811,7 @@ static void BattleAICmd_if_has_move(void) } } -static void BattleAICmd_if_doesnt_have_move(void) +static void Cmd_if_doesnt_have_move(void) { s32 i; const u16 *movePtr = (u16 *)(gAIScriptPtr + 2); @@ -1845,7 +1845,7 @@ static void BattleAICmd_if_doesnt_have_move(void) } } -static void BattleAICmd_if_has_move_with_effect(void) +static void Cmd_if_has_move_with_effect(void) { s32 i; @@ -1879,7 +1879,7 @@ static void BattleAICmd_if_has_move_with_effect(void) } } -static void BattleAICmd_if_doesnt_have_move_with_effect(void) +static void Cmd_if_doesnt_have_move_with_effect(void) { s32 i; @@ -1912,7 +1912,7 @@ static void BattleAICmd_if_doesnt_have_move_with_effect(void) } } -static void BattleAICmd_if_any_move_disabled_or_encored(void) +static void Cmd_if_any_move_disabled_or_encored(void) { u8 battlerId; @@ -1941,7 +1941,7 @@ static void BattleAICmd_if_any_move_disabled_or_encored(void) } } -static void BattleAICmd_if_curr_move_disabled_or_encored(void) +static void Cmd_if_curr_move_disabled_or_encored(void) { switch (gAIScriptPtr[1]) { @@ -1963,12 +1963,12 @@ static void BattleAICmd_if_curr_move_disabled_or_encored(void) } } -static void BattleAICmd_flee(void) +static void Cmd_flee(void) { AI_THINKING_STRUCT->aiAction |= (AI_ACTION_DONE | AI_ACTION_FLEE | AI_ACTION_DO_NOT_ATTACK); } -static void BattleAICmd_if_random_safari_flee(void) +static void Cmd_if_random_safari_flee(void) { u8 safariFleeRate = gBattleStruct->safariEscapeFactor * 5; // Safari flee rate, from 0-20. @@ -1978,12 +1978,12 @@ static void BattleAICmd_if_random_safari_flee(void) gAIScriptPtr += 5; } -static void BattleAICmd_watch(void) +static void Cmd_watch(void) { AI_THINKING_STRUCT->aiAction |= (AI_ACTION_DONE | AI_ACTION_WATCH | AI_ACTION_DO_NOT_ATTACK); } -static void BattleAICmd_get_hold_effect(void) +static void Cmd_get_hold_effect(void) { u8 battlerId; @@ -2000,7 +2000,7 @@ static void BattleAICmd_get_hold_effect(void) gAIScriptPtr += 2; } -static void BattleAICmd_if_holds_item(void) +static void Cmd_if_holds_item(void) { u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); u16 item; @@ -2021,7 +2021,7 @@ static void BattleAICmd_if_holds_item(void) gAIScriptPtr += 8; } -static void BattleAICmd_get_gender(void) +static void Cmd_get_gender(void) { u8 battlerId; @@ -2035,7 +2035,7 @@ static void BattleAICmd_get_gender(void) gAIScriptPtr += 2; } -static void BattleAICmd_is_first_turn_for(void) +static void Cmd_is_first_turn_for(void) { u8 battlerId; @@ -2049,7 +2049,7 @@ static void BattleAICmd_is_first_turn_for(void) gAIScriptPtr += 2; } -static void BattleAICmd_get_stockpile_count(void) +static void Cmd_get_stockpile_count(void) { u8 battlerId; @@ -2063,14 +2063,14 @@ static void BattleAICmd_get_stockpile_count(void) gAIScriptPtr += 2; } -static void BattleAICmd_is_double_battle(void) +static void Cmd_is_double_battle(void) { AI_THINKING_STRUCT->funcResult = gBattleTypeFlags & BATTLE_TYPE_DOUBLE; gAIScriptPtr += 1; } -static void BattleAICmd_get_used_held_item(void) +static void Cmd_get_used_held_item(void) { u8 battlerId; @@ -2089,28 +2089,28 @@ static void BattleAICmd_get_used_held_item(void) gAIScriptPtr += 2; } -static void BattleAICmd_get_move_type_from_result(void) +static void Cmd_get_move_type_from_result(void) { AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].type; gAIScriptPtr += 1; } -static void BattleAICmd_get_move_power_from_result(void) +static void Cmd_get_move_power_from_result(void) { AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].power; gAIScriptPtr += 1; } -static void BattleAICmd_get_move_effect_from_result(void) +static void Cmd_get_move_effect_from_result(void) { AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].effect; gAIScriptPtr += 1; } -static void BattleAICmd_get_protect_count(void) +static void Cmd_get_protect_count(void) { u8 battlerId; @@ -2124,48 +2124,48 @@ static void BattleAICmd_get_protect_count(void) gAIScriptPtr += 2; } -static void BattleAICmd_nullsub_52(void) +static void Cmd_nullsub_52(void) { } -static void BattleAICmd_nullsub_53(void) +static void Cmd_nullsub_53(void) { } -static void BattleAICmd_nullsub_54(void) +static void Cmd_nullsub_54(void) { } -static void BattleAICmd_nullsub_55(void) +static void Cmd_nullsub_55(void) { } -static void BattleAICmd_nullsub_56(void) +static void Cmd_nullsub_56(void) { } -static void BattleAICmd_nullsub_57(void) +static void Cmd_nullsub_57(void) { } -static void BattleAICmd_call(void) +static void Cmd_call(void) { AIStackPushVar(gAIScriptPtr + 5); gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); } -static void BattleAICmd_goto(void) +static void Cmd_goto(void) { gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); } -static void BattleAICmd_end(void) +static void Cmd_end(void) { if (AIStackPop() == 0) AI_THINKING_STRUCT->aiAction |= AI_ACTION_DONE; } -static void BattleAICmd_if_level_cond(void) +static void Cmd_if_level_cond(void) { switch (gAIScriptPtr[1]) { @@ -2190,7 +2190,7 @@ static void BattleAICmd_if_level_cond(void) } } -static void BattleAICmd_if_target_taunted(void) +static void Cmd_if_target_taunted(void) { if (gDisableStructs[gBattlerTarget].tauntTimer != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); @@ -2198,7 +2198,7 @@ static void BattleAICmd_if_target_taunted(void) gAIScriptPtr += 5; } -static void BattleAICmd_if_target_not_taunted(void) +static void Cmd_if_target_not_taunted(void) { if (gDisableStructs[gBattlerTarget].tauntTimer == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); @@ -2206,7 +2206,7 @@ static void BattleAICmd_if_target_not_taunted(void) gAIScriptPtr += 5; } -static void BattleAICmd_if_target_is_ally(void) +static void Cmd_if_target_is_ally(void) { if ((sBattler_AI & BIT_SIDE) == (gBattlerTarget & BIT_SIDE)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); @@ -2214,7 +2214,7 @@ static void BattleAICmd_if_target_is_ally(void) gAIScriptPtr += 5; } -static void BattleAICmd_if_flash_fired(void) +static void Cmd_if_flash_fired(void) { u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index cd31293f86..32f9620b7d 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -787,9 +787,9 @@ static u8 GetAI_ItemType(u8 itemId, const u8 *itemEffect) // NOTE: should take u return AI_ITEM_HEAL_HP; else if (itemEffect[3] & ITEM3_STATUS_ALL) return AI_ITEM_CURE_CONDITION; - else if (itemEffect[0] & (ITEM0_HIGH_CRIT | ITEM0_X_ATTACK) || itemEffect[1] != 0 || itemEffect[2] != 0) + else if (itemEffect[0] & (ITEM0_DIRE_HIT | ITEM0_X_ATTACK) || itemEffect[1] != 0 || itemEffect[2] != 0) return AI_ITEM_X_STAT; - else if (itemEffect[3] & ITEM3_MIST) + else if (itemEffect[3] & ITEM3_GUARD_SPEC) return AI_ITEM_GUARD_SPECS; else return AI_ITEM_NOT_RECOGNIZABLE; @@ -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; @@ -907,7 +907,7 @@ static bool8 ShouldUseItem(void) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x8; if (itemEffects[2] & ITEM2_X_ACCURACY) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x20; - if (itemEffects[0] & ITEM0_HIGH_CRIT) + if (itemEffects[0] & ITEM0_DIRE_HIT) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x80; shouldUse = TRUE; break; diff --git a/src/battle_anim.c b/src/battle_anim.c index ab1e5ed6a8..becc12d56d 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -114,7 +114,7 @@ EWRAM_DATA u8 gBattleAnimTarget = 0; EWRAM_DATA u16 gAnimBattlerSpecies[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA u8 gUnknown_02038440 = 0; -const struct OamData gUnknown_08524904 = +const struct OamData gOamData_AffineOff_ObjNormal_8x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -129,7 +129,7 @@ const struct OamData gUnknown_08524904 = }; -const struct OamData gUnknown_0852490C = +const struct OamData gOamData_AffineOff_ObjNormal_16x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -143,7 +143,7 @@ const struct OamData gUnknown_0852490C = .paletteNum = 0, }; -const struct OamData gUnknown_08524914 = +const struct OamData gOamData_AffineOff_ObjNormal_32x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -157,7 +157,7 @@ const struct OamData gUnknown_08524914 = .paletteNum = 0, }; -const struct OamData gUnknown_0852491C = +const struct OamData gOamData_AffineOff_ObjNormal_64x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -171,7 +171,7 @@ const struct OamData gUnknown_0852491C = .paletteNum = 0, }; -const struct OamData gUnknown_08524924 = +const struct OamData gOamData_AffineOff_ObjNormal_16x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -185,7 +185,7 @@ const struct OamData gUnknown_08524924 = .paletteNum = 0, }; -const struct OamData gUnknown_0852492C = +const struct OamData gOamData_AffineOff_ObjNormal_32x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -199,7 +199,7 @@ const struct OamData gUnknown_0852492C = .paletteNum = 0, }; -const struct OamData gUnknown_08524934 = +const struct OamData gOamData_AffineOff_ObjNormal_32x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -213,7 +213,7 @@ const struct OamData gUnknown_08524934 = .paletteNum = 0, }; -const struct OamData gUnknown_0852493C = +const struct OamData gOamData_AffineOff_ObjNormal_64x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -227,7 +227,7 @@ const struct OamData gUnknown_0852493C = .paletteNum = 0, }; -const struct OamData gUnknown_08524944 = +const struct OamData gOamData_AffineOff_ObjNormal_8x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -241,7 +241,7 @@ const struct OamData gUnknown_08524944 = .paletteNum = 0, }; -const struct OamData gUnknown_0852494C = +const struct OamData gOamData_AffineOff_ObjNormal_8x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -255,7 +255,7 @@ const struct OamData gUnknown_0852494C = .paletteNum = 0, }; -const struct OamData gUnknown_08524954 = +const struct OamData gOamData_AffineOff_ObjNormal_16x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -269,7 +269,7 @@ const struct OamData gUnknown_08524954 = .paletteNum = 0, }; -const struct OamData gUnknown_0852495C = +const struct OamData gOamData_AffineOff_ObjNormal_32x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -283,7 +283,7 @@ const struct OamData gUnknown_0852495C = .paletteNum = 0, }; -const struct OamData gUnknown_08524964 = +const struct OamData gOamData_AffineNormal_ObjNormal_8x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -297,7 +297,7 @@ const struct OamData gUnknown_08524964 = .paletteNum = 0, }; -const struct OamData gUnknown_0852496C = +const struct OamData gOamData_AffineNormal_ObjNormal_16x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -311,7 +311,7 @@ const struct OamData gUnknown_0852496C = .paletteNum = 0, }; -const struct OamData gUnknown_08524974 = +const struct OamData gOamData_AffineNormal_ObjNormal_32x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -325,7 +325,7 @@ const struct OamData gUnknown_08524974 = .paletteNum = 0, }; -const struct OamData gUnknown_0852497C = +const struct OamData gOamData_AffineNormal_ObjNormal_64x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -339,7 +339,7 @@ const struct OamData gUnknown_0852497C = .paletteNum = 0, }; -const struct OamData gUnknown_08524984 = +const struct OamData gOamData_AffineNormal_ObjNormal_16x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -353,7 +353,7 @@ const struct OamData gUnknown_08524984 = .paletteNum = 0, }; -const struct OamData gUnknown_0852498C = +const struct OamData gOamData_AffineNormal_ObjNormal_32x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -367,7 +367,7 @@ const struct OamData gUnknown_0852498C = .paletteNum = 0, }; -const struct OamData gUnknown_08524994 = +const struct OamData gOamData_AffineNormal_ObjNormal_32x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -381,7 +381,7 @@ const struct OamData gUnknown_08524994 = .paletteNum = 0, }; -const struct OamData gUnknown_0852499C = +const struct OamData gOamData_AffineNormal_ObjNormal_64x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -395,7 +395,7 @@ const struct OamData gUnknown_0852499C = .paletteNum = 0, }; -const struct OamData gUnknown_085249A4 = +const struct OamData gOamData_AffineNormal_ObjNormal_8x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -409,7 +409,7 @@ const struct OamData gUnknown_085249A4 = .paletteNum = 0, }; -const struct OamData gUnknown_085249AC = +const struct OamData gOamData_AffineNormal_ObjNormal_8x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -423,7 +423,7 @@ const struct OamData gUnknown_085249AC = .paletteNum = 0, }; -const struct OamData gUnknown_085249B4 = +const struct OamData gOamData_AffineNormal_ObjNormal_16x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -437,7 +437,7 @@ const struct OamData gUnknown_085249B4 = .paletteNum = 0, }; -const struct OamData gUnknown_085249BC = +const struct OamData gOamData_AffineNormal_ObjNormal_32x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -451,7 +451,7 @@ const struct OamData gUnknown_085249BC = .paletteNum = 0, }; -const struct OamData gUnknown_085249C4 = +const struct OamData gOamData_AffineDouble_ObjNormal_8x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -465,7 +465,7 @@ const struct OamData gUnknown_085249C4 = .paletteNum = 0, }; -const struct OamData gUnknown_085249CC = +const struct OamData gOamData_AffineDouble_ObjNormal_16x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -479,7 +479,7 @@ const struct OamData gUnknown_085249CC = .paletteNum = 0, }; -const struct OamData gUnknown_085249D4 = +const struct OamData gOamData_AffineDouble_ObjNormal_32x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -493,7 +493,7 @@ const struct OamData gUnknown_085249D4 = .paletteNum = 0, }; -const struct OamData gUnknown_085249DC = +const struct OamData gOamData_AffineDouble_ObjNormal_64x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -507,7 +507,7 @@ const struct OamData gUnknown_085249DC = .paletteNum = 0, }; -const struct OamData gUnknown_085249E4 = +const struct OamData gOamData_AffineDouble_ObjNormal_16x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -521,7 +521,7 @@ const struct OamData gUnknown_085249E4 = .paletteNum = 0, }; -const struct OamData gUnknown_085249EC = +const struct OamData gOamData_AffineDouble_ObjNormal_32x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -535,7 +535,7 @@ const struct OamData gUnknown_085249EC = .paletteNum = 0, }; -const struct OamData gUnknown_085249F4 = +const struct OamData gOamData_AffineDouble_ObjNormal_32x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -549,7 +549,7 @@ const struct OamData gUnknown_085249F4 = .paletteNum = 0, }; -const struct OamData gUnknown_085249FC = +const struct OamData gOamData_AffineDouble_ObjNormal_64x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -563,7 +563,7 @@ const struct OamData gUnknown_085249FC = .paletteNum = 0, }; -const struct OamData gUnknown_08524A04 = +const struct OamData gOamData_AffineDouble_ObjNormal_8x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -577,7 +577,7 @@ const struct OamData gUnknown_08524A04 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A0C = +const struct OamData gOamData_AffineDouble_ObjNormal_8x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -591,7 +591,7 @@ const struct OamData gUnknown_08524A0C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A14 = +const struct OamData gOamData_AffineDouble_ObjNormal_16x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -605,7 +605,7 @@ const struct OamData gUnknown_08524A14 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A1C = +const struct OamData gOamData_AffineDouble_ObjNormal_32x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -619,7 +619,7 @@ const struct OamData gUnknown_08524A1C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A24 = +const struct OamData gOamData_AffineOff_ObjBlend_8x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -633,7 +633,7 @@ const struct OamData gUnknown_08524A24 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A2C = +const struct OamData gOamData_AffineOff_ObjBlend_16x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -647,7 +647,7 @@ const struct OamData gUnknown_08524A2C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A34 = +const struct OamData gOamData_AffineOff_ObjBlend_32x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -661,7 +661,7 @@ const struct OamData gUnknown_08524A34 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A3C = +const struct OamData gOamData_AffineOff_ObjBlend_64x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -675,7 +675,7 @@ const struct OamData gUnknown_08524A3C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A44 = +const struct OamData gOamData_AffineOff_ObjBlend_16x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -689,7 +689,7 @@ const struct OamData gUnknown_08524A44 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A4C = +const struct OamData gOamData_AffineOff_ObjBlend_32x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -703,7 +703,7 @@ const struct OamData gUnknown_08524A4C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A54 = +const struct OamData gOamData_AffineOff_ObjBlend_32x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -717,7 +717,7 @@ const struct OamData gUnknown_08524A54 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A5C = +const struct OamData gOamData_AffineOff_ObjBlend_64x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -731,7 +731,7 @@ const struct OamData gUnknown_08524A5C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A64 = +const struct OamData gOamData_AffineOff_ObjBlend_8x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -745,7 +745,7 @@ const struct OamData gUnknown_08524A64 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A6C = +const struct OamData gOamData_AffineOff_ObjBlend_8x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -759,7 +759,7 @@ const struct OamData gUnknown_08524A6C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A74 = +const struct OamData gOamData_AffineOff_ObjBlend_16x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -773,7 +773,7 @@ const struct OamData gUnknown_08524A74 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A7C = +const struct OamData gOamData_AffineOff_ObjBlend_32x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -787,7 +787,7 @@ const struct OamData gUnknown_08524A7C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A84 = +const struct OamData gOamData_AffineNormal_ObjBlend_8x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -801,7 +801,7 @@ const struct OamData gUnknown_08524A84 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A8C = +const struct OamData gOamData_AffineNormal_ObjBlend_16x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -815,7 +815,7 @@ const struct OamData gUnknown_08524A8C = .paletteNum = 0, }; -const struct OamData gUnknown_08524A94 = +const struct OamData gOamData_AffineNormal_ObjBlend_32x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -829,7 +829,7 @@ const struct OamData gUnknown_08524A94 = .paletteNum = 0, }; -const struct OamData gUnknown_08524A9C = +const struct OamData gOamData_AffineNormal_ObjBlend_64x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -843,7 +843,7 @@ const struct OamData gUnknown_08524A9C = .paletteNum = 0, }; -const struct OamData gUnknown_08524AA4 = +const struct OamData gOamData_AffineNormal_ObjBlend_16x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -857,7 +857,7 @@ const struct OamData gUnknown_08524AA4 = .paletteNum = 0, }; -const struct OamData gUnknown_08524AAC = +const struct OamData gOamData_AffineNormal_ObjBlend_32x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -871,7 +871,7 @@ const struct OamData gUnknown_08524AAC = .paletteNum = 0, }; -const struct OamData gUnknown_08524AB4 = +const struct OamData gOamData_AffineNormal_ObjBlend_32x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -885,7 +885,7 @@ const struct OamData gUnknown_08524AB4 = .paletteNum = 0, }; -const struct OamData gUnknown_08524ABC = +const struct OamData gOamData_AffineNormal_ObjBlend_64x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -899,7 +899,7 @@ const struct OamData gUnknown_08524ABC = .paletteNum = 0, }; -const struct OamData gUnknown_08524AC4 = +const struct OamData gOamData_AffineNormal_ObjBlend_8x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -913,7 +913,7 @@ const struct OamData gUnknown_08524AC4 = .paletteNum = 0, }; -const struct OamData gUnknown_08524ACC = +const struct OamData gOamData_AffineNormal_ObjBlend_8x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -927,7 +927,7 @@ const struct OamData gUnknown_08524ACC = .paletteNum = 0, }; -const struct OamData gUnknown_08524AD4 = +const struct OamData gOamData_AffineNormal_ObjBlend_16x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -941,7 +941,7 @@ const struct OamData gUnknown_08524AD4 = .paletteNum = 0, }; -const struct OamData gUnknown_08524ADC = +const struct OamData gOamData_AffineNormal_ObjBlend_32x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, @@ -955,7 +955,7 @@ const struct OamData gUnknown_08524ADC = .paletteNum = 0, }; -const struct OamData gUnknown_08524AE4 = +const struct OamData gOamData_AffineDouble_ObjBlend_8x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -969,7 +969,7 @@ const struct OamData gUnknown_08524AE4 = .paletteNum = 0, }; -const struct OamData gUnknown_08524AEC = +const struct OamData gOamData_AffineDouble_ObjBlend_16x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -983,7 +983,7 @@ const struct OamData gUnknown_08524AEC = .paletteNum = 0, }; -const struct OamData gUnknown_08524AF4 = +const struct OamData gOamData_AffineDouble_ObjBlend_32x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -997,7 +997,7 @@ const struct OamData gUnknown_08524AF4 = .paletteNum = 0, }; -const struct OamData gUnknown_08524AFC = +const struct OamData gOamData_AffineDouble_ObjBlend_64x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1011,7 +1011,7 @@ const struct OamData gUnknown_08524AFC = .paletteNum = 0, }; -const struct OamData gUnknown_08524B04 = +const struct OamData gOamData_AffineDouble_ObjBlend_16x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1025,7 +1025,7 @@ const struct OamData gUnknown_08524B04 = .paletteNum = 0, }; -const struct OamData gUnknown_08524B0C = +const struct OamData gOamData_AffineDouble_ObjBlend_32x8 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1039,7 +1039,7 @@ const struct OamData gUnknown_08524B0C = .paletteNum = 0, }; -const struct OamData gUnknown_08524B14 = +const struct OamData gOamData_AffineDouble_ObjBlend_32x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1053,7 +1053,7 @@ const struct OamData gUnknown_08524B14 = .paletteNum = 0, }; -const struct OamData gUnknown_08524B1C = +const struct OamData gOamData_AffineDouble_ObjBlend_64x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1067,7 +1067,7 @@ const struct OamData gUnknown_08524B1C = .paletteNum = 0, }; -const struct OamData gUnknown_08524B24 = +const struct OamData gOamData_AffineDouble_ObjBlend_8x16 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1081,7 +1081,7 @@ const struct OamData gUnknown_08524B24 = .paletteNum = 0, }; -const struct OamData gUnknown_08524B2C = +const struct OamData gOamData_AffineDouble_ObjBlend_8x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1095,7 +1095,7 @@ const struct OamData gUnknown_08524B2C = .paletteNum = 0, }; -const struct OamData gUnknown_08524B34 = +const struct OamData gOamData_AffineDouble_ObjBlend_16x32 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1109,7 +1109,7 @@ const struct OamData gUnknown_08524B34 = .paletteNum = 0, }; -const struct OamData gUnknown_08524B3C = +const struct OamData gOamData_AffineDouble_ObjBlend_32x64 = { .y = 0, .affineMode = ST_OAM_AFFINE_DOUBLE, @@ -1355,7 +1355,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] = {gBattleAnimSpriteGfx_Spotlight, 0x0800, ANIM_TAG_SPOTLIGHT}, {gBattleAnimSpriteGfx_LetterZ, 0x0200, ANIM_TAG_LETTER_Z}, {gBattleAnimSpriteGfx_RapidSpin, 0x0300, ANIM_TAG_RAPID_SPIN}, - {gBattleAnimSpriteGfx_TriForceTriangle, 0x0800, ANIM_TAG_TRI_FORCE_TRIANGLE}, + {gBattleAnimSpriteGfx_TriAttackTriangle, 0x0800, ANIM_TAG_TRI_ATTACK_TRIANGLE}, {gBattleAnimSpriteGfx_WispOrb, 0x0380, ANIM_TAG_WISP_ORB}, {gBattleAnimSpriteGfx_WispFire, 0x0800, ANIM_TAG_WISP_FIRE}, {gBattleAnimSpriteGfx_GoldStars, 0x00c0, ANIM_TAG_GOLD_STARS}, @@ -1648,7 +1648,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] = {gBattleAnimSpritePal_Pokeball, ANIM_TAG_SPOTLIGHT}, {gBattleAnimSpritePal_LetterZ, ANIM_TAG_LETTER_Z}, {gBattleAnimSpritePal_RapidSpin, ANIM_TAG_RAPID_SPIN}, - {gBattleAnimSpritePal_TriForceTriangle, ANIM_TAG_TRI_FORCE_TRIANGLE}, + {gBattleAnimSpritePal_TriAttackTriangle, ANIM_TAG_TRI_ATTACK_TRIANGLE}, {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_ORB}, {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_FIRE}, {gBattleAnimSpritePal_GoldStars, ANIM_TAG_GOLD_STARS}, @@ -2808,12 +2808,12 @@ static void LoadMoveBg(u16 bgId) void *dmaDest; LZDecompressWram(tilemap, gDecompressionBuffer); - sub_80A4720(sub_80A6D94(), (void*)(gDecompressionBuffer), 0x100, 0); + sub_80A4720(GetBattleBgPaletteNum(), (void*)(gDecompressionBuffer), 0x100, 0); dmaSrc = gDecompressionBuffer; dmaDest = (void *)(BG_SCREEN_ADDR(26)); DmaCopy32(3, dmaSrc, dmaDest, 0x800); LZDecompressVram(gBattleAnimBackgroundTable[bgId].image, (void *)(BG_SCREEN_ADDR(4))); - LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, sub_80A6D94() * 16, 32); + LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, GetBattleBgPaletteNum() * 16, 32); } else { diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index db9057cb4e..1efb29ecd9 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle_anim.h" #include "battle_interface.h" #include "decompress.h" @@ -41,43 +41,43 @@ void AnimKnockOffItem(struct Sprite *); void AnimPresentHealParticle(struct Sprite *); void AnimItemSteal(struct Sprite *); void AnimTrickBag(struct Sprite *); -void sub_8100640(struct Sprite *); -void sub_8100898(struct Sprite *); +void AnimFlyingParticle(struct Sprite *); +void AnimNeedleArmSpike(struct Sprite *); void sub_81009F8(struct Sprite *); -void sub_8100A50(struct Sprite *); +void AnimWhipHit(struct Sprite *); void sub_8100A94(struct Sprite *); void AnimCuttingSlice(struct Sprite *); -void sub_8100B88(struct Sprite *); +void AnimAirCutterSlice(struct Sprite *); void sub_8100E1C(struct Sprite *); -void sub_8100EF0(struct Sprite *); -void sub_81010CC(struct Sprite *); -void sub_810130C(struct Sprite *); -void sub_810135C(struct Sprite *); +void AnimProtect(struct Sprite *); +void AnimMilkBottle(struct Sprite *); +void AnimGrantingStars(struct Sprite *); +void AnimSparkingStars(struct Sprite *); void sub_8101440(struct Sprite *); -void sub_81014F4(struct Sprite *); -void sub_81015AC(struct Sprite *); -void sub_8101898(struct Sprite *); -void sub_8101940(struct Sprite *); +void AnimSleepLetterZ(struct Sprite *); +void AnimLockOnTarget(struct Sprite *); +void AnimLockOnMoveTarget(struct Sprite *); +void AnimBowMon(struct Sprite *); void sub_8101B90(struct Sprite *); -void sub_8101F40(struct Sprite *); -void sub_8101FA8(struct Sprite *); -void sub_8101FF0(struct Sprite *); -void sub_81020D8(struct Sprite *); -void sub_810217C(struct Sprite *); -void sub_8102268(struct Sprite *); -void sub_810234C(struct Sprite *); -void sub_81024E0(struct Sprite *); -void sub_8102540(struct Sprite *); -void sub_8102844(struct Sprite *); -void sub_8102BCC(struct Sprite *); -void sub_8102CD4(struct Sprite *); -void sub_8102EB0(struct Sprite *); -void sub_8102FB8(struct Sprite *); -void sub_8103028(struct Sprite *); -void sub_8103164(struct Sprite *); -void sub_8103208(struct Sprite *); -void sub_8103284(struct Sprite *); -void sub_8103390(struct Sprite *); +void AnimSlashSlice(struct Sprite *); +void AnimFalseSwipeSlice(struct Sprite *); +void AnimFalseSwipePositionedSlice(struct Sprite *); +void AnimEndureEnergy(struct Sprite *); +void AnimSharpenSphere(struct Sprite *); +void AnimConversion(struct Sprite *); +void AnimConversion2(struct Sprite *); +void AnimMoon(struct Sprite *); +void AnimMoonlightSparkle(struct Sprite *); +void AnimHornHit(struct Sprite *); +void AnimSuperFang(struct Sprite *); +void AnimWavyMusicNotes(struct Sprite *); +void AnimFlyingMusicNotes(struct Sprite *); +void AnimBellyDrumHand(struct Sprite *); +void AnimSlowFlyingMusicNotes(struct Sprite *); +void AnimThoughtBubble(struct Sprite *); +void AnimMetronomeFinger(struct Sprite *); +void AnimFollowMeFinger(struct Sprite *); +void AnimTauntFinger(struct Sprite *); static void AnimMovePowderParticleStep(struct Sprite *); static void AnimSolarbeamSmallOrbStep(struct Sprite *); static void AnimAbsorptionOrbStep(struct Sprite *); @@ -93,64 +93,64 @@ static void AnimTranslateLinearSingleSineWaveStep(struct Sprite *); static void AnimMoveTwisterParticleStep(struct Sprite *); static void AnimConstrictBindingStep1(struct Sprite *); static void AnimConstrictBindingStep2(struct Sprite *); -static void sub_80FF53C(u8); -static void sub_80FF5CC(u8); -static void AnimItemStealStep(struct Sprite *); +static void AnimTask_DuplicateAndShrinkToPosStep1(u8); +static void AnimTask_DuplicateAndShrinkToPosStep2(u8); +static void AnimItemStealStep3(struct Sprite *); static void AnimRootFlickerOut(struct Sprite *); static void AnimTrickBagStep1(struct Sprite *); static void AnimTrickBagStep2(struct Sprite *); static void AnimTrickBagStep3(struct Sprite *); -static void sub_8100128(u8); -static s16 sub_8100504(struct Sprite *); -static void sub_8100524(struct Task *, u8); -static void sub_80CC408(struct Sprite *); -static void sub_810074C(struct Sprite *); -static void sub_81009A0(struct Sprite *); +static void AnimTask_LeafBladeStep(u8); +static s16 LeafBladeGetPosFactor(struct Sprite *); +static void AnimTask_LeafBladeStep2(struct Task *, u8); +static void AnimTask_LeafBladeStep2_Callback(struct Sprite *); +static void AnimFlyingParticleStep(struct Sprite *); +static void AnimNeedleArmSpikeStep(struct Sprite *); static void AnimSliceStep(struct Sprite *); static void sub_8100E80(struct Sprite *); -static void sub_8100FD4(struct Sprite *); -static void sub_8101138(struct Sprite *); -static void sub_8101298(struct Sprite *, int, int); +static void AnimProtectStep(struct Sprite *); +static void AnimMilkBottleStep1(struct Sprite *); +static void AnimMilkBottleStep2(struct Sprite *, int, int); static void sub_81014A0(struct Sprite *); -static void sub_8101560(struct Sprite *); -static void sub_81015D4(struct Sprite *); -static void sub_8101684(struct Sprite *); -static void sub_81016B8(struct Sprite *); -static void sub_8101774(struct Sprite *); -static void sub_8101820(struct Sprite *); -static void sub_8101848(struct Sprite *); -static void sub_8101998(struct Sprite *); -static void sub_81019E8(struct Sprite *); -static void sub_8101A74(struct Sprite *); -static void sub_8101AC4(struct Sprite *); -static void sub_8101B84(struct Sprite *); -static void sub_8101AE8(struct Sprite *); +static void AnimSleepLetterZStep(struct Sprite *); +static void AnimLockOnTargetStep1(struct Sprite *); +static void AnimLockOnTargetStep2(struct Sprite *); +static void AnimLockOnTargetStep3(struct Sprite *); +static void AnimLockOnTargetStep4(struct Sprite *); +static void AnimLockOnTargetStep5(struct Sprite *); +static void AnimLockOnTargetStep6(struct Sprite *); +static void AnimBowMonStep1(struct Sprite *); +static void AnimBowMonStep1_Callback(struct Sprite *); +static void AnimBowMonStep2(struct Sprite *); +static void AnimBowMonStep3(struct Sprite *); +static void AnimBowMonStep4(struct Sprite *); +static void AnimBowMonStep3_Callback(struct Sprite *); static void sub_8101BA0(struct Sprite *); -static void sub_8101D2C(u8); -static void sub_8101EEC(u8); -static void sub_8102044(struct Sprite *); -static void sub_810207C(struct Sprite *); -static void sub_810208C(struct Sprite *); -static void sub_810213C(struct Sprite *); -static void sub_81021CC(struct Sprite *); -static void sub_810237C(struct Sprite *); -static void sub_8102528(struct Sprite *); -static void sub_8102584(struct Sprite *); -static void sub_810296C(struct Sprite *); -static void sub_8102AE0(u8); -static void sub_8102B3C(struct Sprite *); -static void sub_8102D8C(s16, s16, s16 *, s16 *, s8); -static void sub_8102DE4(struct Sprite *); -static void sub_8102F40(struct Sprite *); -static void sub_81030B0(struct Sprite *); -static void sub_81031D0(struct Sprite *); -static void sub_8103250(struct Sprite *); -static void sub_8103300(struct Sprite *); -static void sub_8103320(struct Sprite *); -static void sub_81033F0(struct Sprite *); -static void sub_810342C(struct Sprite *); +static void AnimTask_SkullBashPositionSet(u8); +static void AnimTask_SkullBashPositionReset(u8); +static void AnimFalseSwipeSliceStep1(struct Sprite *); +static void AnimFalseSwipeSliceStep2(struct Sprite *); +static void AnimFalseSwipeSliceStep3(struct Sprite *); +static void AnimEndureEnergyStep(struct Sprite *); +static void AnimSharpenSphereStep(struct Sprite *); +static void AnimConversion2Step(struct Sprite *); +static void AnimMoonStep(struct Sprite *); +static void AnimMoonlightSparkleStep(struct Sprite *); +static void AnimHornHitStep(struct Sprite *); +static void AnimTask_DoubleTeamStep(u8); +static void AnimTask_DoubleTeamCallback(struct Sprite *); +static void AnimWavyMusicNotesGetNextPos(s16, s16, s16 *, s16 *, s8); +static void AnimWavyMusicNotesStep(struct Sprite *); +static void AnimFlyingMusicNotesStep(struct Sprite *); +static void AnimSlowFlyingMusicNotesStep(struct Sprite *); +static void AnimThoughtBubbleStep(struct Sprite *); +static void AnimMetronomeFingerStep(struct Sprite *); +static void AnimFollowMeFingerStep1(struct Sprite *); +static void AnimFollowMeFingerStep2(struct Sprite *); +static void AnimTauntFingerStep1(struct Sprite *); +static void AnimTauntFingerStep2(struct Sprite *); -const union AnimCmd gUnknown_085920F0[] = +const union AnimCmd gPowderParticlesAnimCmds[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(2, 5), @@ -163,17 +163,17 @@ const union AnimCmd gUnknown_085920F0[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08592114[] = +const union AnimCmd *const gPowderParticlesAnimTable[] = { - gUnknown_085920F0, + gPowderParticlesAnimCmds, }; const struct SpriteTemplate gSleepPowderParticleSpriteTemplate = { .tileTag = ANIM_TAG_SLEEP_POWDER, .paletteTag = ANIM_TAG_SLEEP_POWDER, - .oam = &gUnknown_08524944, - .anims = gUnknown_08592114, + .oam = &gOamData_AffineOff_ObjNormal_8x16, + .anims = gPowderParticlesAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMovePowderParticle, @@ -183,8 +183,8 @@ const struct SpriteTemplate gStunSporeParticleSpriteTemplate = { .tileTag = ANIM_TAG_STUN_SPORE, .paletteTag = ANIM_TAG_STUN_SPORE, - .oam = &gUnknown_08524944, - .anims = gUnknown_08592114, + .oam = &gOamData_AffineOff_ObjNormal_8x16, + .anims = gPowderParticlesAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMovePowderParticle, @@ -194,105 +194,105 @@ const struct SpriteTemplate gPoisonPowderParticleSpriteTemplate = { .tileTag = ANIM_TAG_POISON_POWDER, .paletteTag = ANIM_TAG_POISON_POWDER, - .oam = &gUnknown_08524944, - .anims = gUnknown_08592114, + .oam = &gOamData_AffineOff_ObjNormal_8x16, + .anims = gPowderParticlesAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMovePowderParticle, }; -const union AnimCmd gUnknown_08592160[] = +const union AnimCmd gSolarbeamBigOrbAnimCmds1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592168[] = +const union AnimCmd gSolarbeamBigOrbAnimCmds2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592170[] = +const union AnimCmd gSolarbeamBigOrbAnimCmds3[] = { ANIMCMD_FRAME(2, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592178[] = +const union AnimCmd gSolarbeamBigOrbAnimCmds4[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592180[] = +const union AnimCmd gSolarbeamBigOrbAnimCmds5[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592188[] = +const union AnimCmd gSolarbeamBigOrbAnimCmds6[] = { ANIMCMD_FRAME(5, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592190[] = +const union AnimCmd gSolarbeamBigOrbAnimCmds7[] = { ANIMCMD_FRAME(6, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592198[] = +const union AnimCmd gSolarbeamSmallOrbAnimCms[] = { ANIMCMD_FRAME(7, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_085921A0[] = +const union AnimCmd gPowerAbsorptionOrbAnimCmds[] = { ANIMCMD_FRAME(8, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085921A8[] = +const union AnimCmd *const gSolarbeamBigOrbAnimTable[] = { - gUnknown_08592160, - gUnknown_08592168, - gUnknown_08592170, - gUnknown_08592178, - gUnknown_08592180, - gUnknown_08592188, - gUnknown_08592190, + gSolarbeamBigOrbAnimCmds1, + gSolarbeamBigOrbAnimCmds2, + gSolarbeamBigOrbAnimCmds3, + gSolarbeamBigOrbAnimCmds4, + gSolarbeamBigOrbAnimCmds5, + gSolarbeamBigOrbAnimCmds6, + gSolarbeamBigOrbAnimCmds7, }; -const union AnimCmd *const gUnknown_085921C4[] = +const union AnimCmd *const gSolarbeamSmallOrbAnimTable[] = { - gUnknown_08592198, + gSolarbeamSmallOrbAnimCms, }; -const union AnimCmd *const gUnknown_085921C8[] = +const union AnimCmd *const gPowerAbsorptionOrbAnimTable[] = { - gUnknown_085921A0, + gPowerAbsorptionOrbAnimCmds, }; -const union AffineAnimCmd gUnknown_085921CC[] = { +const union AffineAnimCmd gPowerAbsorptionOrbAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(-5, -5, 0, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_085921DC[] = { - gUnknown_085921CC, +const union AffineAnimCmd *const gPowerAbsorptionOrbAffineAnimTable[] = { + gPowerAbsorptionOrbAffineAnimCmds, }; const struct SpriteTemplate gPowerAbsorptionOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, - .oam = &gUnknown_08524A8C, - .anims = gUnknown_085921C8, + .oam = &gOamData_AffineNormal_ObjBlend_16x16, + .anims = gPowerAbsorptionOrbAnimTable, .images = NULL, - .affineAnims = gUnknown_085921DC, + .affineAnims = gPowerAbsorptionOrbAffineAnimTable, .callback = AnimPowerAbsorptionOrb, }; @@ -300,8 +300,8 @@ const struct SpriteTemplate gSolarbeamBigOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, - .oam = &gUnknown_08524904, - .anims = gUnknown_085921A8, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gSolarbeamBigOrbAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSolarbeamBigOrb, @@ -311,51 +311,51 @@ const struct SpriteTemplate gSolarbeamSmallOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, - .oam = &gUnknown_08524904, - .anims = gUnknown_085921C4, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gSolarbeamSmallOrbAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSolarbeamSmallOrb, }; -const union AffineAnimCmd gUnknown_08592228[] = { +const union AffineAnimCmd gStockpileAbsorptionOrbAffineCmds[] = { AFFINEANIMCMD_FRAME(320, 320, 0, 0), AFFINEANIMCMD_FRAME(-14, -14, 0, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_08592240[] = { - gUnknown_08592228, +const union AffineAnimCmd *const gStockpileAbsorptionOrbAffineAnimTable[] = { + gStockpileAbsorptionOrbAffineCmds, }; const struct SpriteTemplate gStockpileAbsorptionOrbSpriteTemplate = { .tileTag = ANIM_TAG_GRAY_ORB, .paletteTag = ANIM_TAG_GRAY_ORB, - .oam = &gUnknown_085249C4, + .oam = &gOamData_AffineDouble_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08592240, + .affineAnims = gStockpileAbsorptionOrbAffineAnimTable, .callback = AnimPowerAbsorptionOrb, }; -const union AffineAnimCmd gUnknown_0859225C[] = { +const union AffineAnimCmd gAbsorptionOrbAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(-5, -5, 0, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_0859226C[] = { - gUnknown_0859225C, +const union AffineAnimCmd *const gAbsorptionOrbAffineAnimTable[] = { + gAbsorptionOrbAffineAnimCmds, }; const struct SpriteTemplate gAbsorptionOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, - .oam = &gUnknown_08524A8C, - .anims = gUnknown_085921C8, + .oam = &gOamData_AffineNormal_ObjBlend_16x16, + .anims = gPowerAbsorptionOrbAnimTable, .images = NULL, - .affineAnims = gUnknown_0859226C, + .affineAnims = gAbsorptionOrbAffineAnimTable, .callback = AnimAbsorptionOrb, }; @@ -363,100 +363,100 @@ const struct SpriteTemplate gHyperBeamOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, - .oam = &gUnknown_08524904, - .anims = gUnknown_085921A8, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gSolarbeamBigOrbAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimHyperBeamOrb, }; -const union AnimCmd gUnknown_085922A0[] = +const union AnimCmd gLeechSeedAnimCmds1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_085922A8[] = +const union AnimCmd gLeechSeedAnimCmds2[] = { ANIMCMD_FRAME(4, 7), ANIMCMD_FRAME(8, 7), ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_085922B4[] = +const union AnimCmd *const gLeechSeedAnimTable[] = { - gUnknown_085922A0, - gUnknown_085922A8, + gLeechSeedAnimCmds1, + gLeechSeedAnimCmds2, }; const struct SpriteTemplate gLeechSeedSpriteTemplate = { .tileTag = ANIM_TAG_SEED, .paletteTag = ANIM_TAG_SEED, - .oam = &gUnknown_0852490C, - .anims = gUnknown_085922B4, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gLeechSeedAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimLeechSeed, }; -const union AnimCmd gUnknown_085922D4[] = +const union AnimCmd gSporeParticleAnimCmds1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_085922DC[] = +const union AnimCmd gSporeParticleAnimCmds2[] = { ANIMCMD_FRAME(4, 7), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085922E4[] = +const union AnimCmd *const gSporeParticleAnimTable[] = { - gUnknown_085922D4, - gUnknown_085922DC, + gSporeParticleAnimCmds1, + gSporeParticleAnimCmds2, }; const struct SpriteTemplate gSporeParticleSpriteTemplate = { .tileTag = ANIM_TAG_SPORE, .paletteTag = ANIM_TAG_SPORE, - .oam = &gUnknown_0852490C, - .anims = gUnknown_085922E4, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gSporeParticleAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSporeParticle, }; -const union AnimCmd gUnknown_08592304[] = +const union AnimCmd gPetalDanceBigFlowerAnimCmds[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_0859230C[] = +const union AnimCmd gPetalDanceSmallFlowerAnimCmds[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592314[] = +const union AnimCmd *const gPetalDanceBigFlowerAnimTable[] = { - gUnknown_08592304, + gPetalDanceBigFlowerAnimCmds, }; -const union AnimCmd *const gUnknown_08592318[] = +const union AnimCmd *const gPetalDanceSmallFlowerAnimTable[] = { - gUnknown_0859230C, + gPetalDanceSmallFlowerAnimCmds, }; const struct SpriteTemplate gPetalDanceBigFlowerSpriteTemplate = { .tileTag = ANIM_TAG_FLOWER, .paletteTag = ANIM_TAG_FLOWER, - .oam = &gUnknown_0852490C, - .anims = gUnknown_08592314, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gPetalDanceBigFlowerAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimPetalDanceBigFlower, @@ -466,14 +466,14 @@ const struct SpriteTemplate gPetalDanceSmallFlowerSpriteTemplate = { .tileTag = ANIM_TAG_FLOWER, .paletteTag = ANIM_TAG_FLOWER, - .oam = &gUnknown_08524904, - .anims = gUnknown_08592318, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gPetalDanceSmallFlowerAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimPetalDanceSmallFlower, }; -const union AnimCmd gUnknown_0859234C[] = +const union AnimCmd gRazorLeafParticleAnimCmds1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(4, 5), @@ -488,7 +488,7 @@ const union AnimCmd gUnknown_0859234C[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_08592378[] = +const union AnimCmd gRazorLeafParticleAnimCmds2[] = { ANIMCMD_FRAME(24, 5), ANIMCMD_FRAME(28, 5), @@ -496,18 +496,18 @@ const union AnimCmd gUnknown_08592378[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592388[] = +const union AnimCmd *const gRazorLeafParticleAnimTable[] = { - gUnknown_0859234C, - gUnknown_08592378, + gRazorLeafParticleAnimCmds1, + gRazorLeafParticleAnimCmds2, }; const struct SpriteTemplate gRazorLeafParticleSpriteTemplate = { .tileTag = ANIM_TAG_LEAF, .paletteTag = ANIM_TAG_LEAF, - .oam = &gUnknown_0852490C, - .anims = gUnknown_08592388, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gRazorLeafParticleAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimRazorLeafParticle, @@ -517,14 +517,14 @@ const struct SpriteTemplate gTwisterLeafParticleSpriteTemplate = { .tileTag = ANIM_TAG_LEAF, .paletteTag = ANIM_TAG_LEAF, - .oam = &gUnknown_0852490C, - .anims = gUnknown_08592388, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gRazorLeafParticleAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMoveTwisterParticle, }; -const union AnimCmd gUnknown_085923C0[] = +const union AnimCmd gRazorLeafCutterAnimCmds[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(0, 3, .hFlip = TRUE), @@ -533,43 +533,43 @@ const union AnimCmd gUnknown_085923C0[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_085923D4[] = +const union AnimCmd *const gRazorLeafCutterAnimTable[] = { - gUnknown_085923C0, + gRazorLeafCutterAnimCmds, }; const struct SpriteTemplate gRazorLeafCutterSpriteTemplate = { .tileTag = ANIM_TAG_RAZOR_LEAF, .paletteTag = ANIM_TAG_RAZOR_LEAF, - .oam = &gUnknown_08524934, - .anims = gUnknown_085923D4, + .oam = &gOamData_AffineOff_ObjNormal_32x16, + .anims = gRazorLeafCutterAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimTranslateLinearSingleSineWave, }; -const union AffineAnimCmd gUnknown_085923F0[] = { +const union AffineAnimCmd gSwiftStarAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0, 0, 0, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_08592400[] = { - gUnknown_085923F0, +const union AffineAnimCmd *const gSwiftStarAffineAnimTable[] = { + gSwiftStarAffineAnimCmds, }; const struct SpriteTemplate gSwiftStarSpriteTemplate = { .tileTag = ANIM_TAG_YELLOW_STAR, .paletteTag = ANIM_TAG_YELLOW_STAR, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08592400, + .affineAnims = gSwiftStarAffineAnimTable, .callback = AnimTranslateLinearSingleSineWave, }; -const union AnimCmd gUnknown_0859241C[] = +const union AnimCmd gConstrictBindingAnimCmds1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(32, 4), @@ -578,7 +578,7 @@ const union AnimCmd gUnknown_0859241C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08592430[] = +const union AnimCmd gConstrictBindingAnimCmds2[] = { ANIMCMD_FRAME(0, 4, .hFlip = TRUE), ANIMCMD_FRAME(32, 4, .hFlip = TRUE), @@ -587,70 +587,70 @@ const union AnimCmd gUnknown_08592430[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592444[] = +const union AnimCmd *const gConstrictBindingAnimTable[] = { - gUnknown_0859241C, - gUnknown_08592430, + gConstrictBindingAnimCmds1, + gConstrictBindingAnimCmds2, }; -const union AffineAnimCmd gUnknown_0859244C[] = { +const union AffineAnimCmd gConstrictBindingAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(-11, 0, 0, 6), AFFINEANIMCMD_FRAME(11, 0, 0, 6), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_0859246C[] = { +const union AffineAnimCmd gConstrictBindingAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(11, 0, 0, 6), AFFINEANIMCMD_FRAME(-11, 0, 0, 6), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_0859248C[] = { - gUnknown_0859244C, - gUnknown_0859246C, +const union AffineAnimCmd *const gConstrictBindingAffineAnimTable[] = { + gConstrictBindingAffineAnimCmds1, + gConstrictBindingAffineAnimCmds2, }; const struct SpriteTemplate gConstrictBindingSpriteTemplate = { .tileTag = ANIM_TAG_TENDRILS, .paletteTag = ANIM_TAG_TENDRILS, - .oam = &gUnknown_0852499C, - .anims = gUnknown_08592444, + .oam = &gOamData_AffineNormal_ObjNormal_64x32, + .anims = gConstrictBindingAnimTable, .images = NULL, - .affineAnims = gUnknown_0859248C, + .affineAnims = gConstrictBindingAffineAnimTable, .callback = AnimConstrictBinding, }; -const union AffineAnimCmd gUnknown_085924AC[] = { +const union AffineAnimCmd gMimicOrbAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0, 0, 0, 0), AFFINEANIMCMD_FRAME(48, 48, 0, 14), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085924C4[] = { +const union AffineAnimCmd gMimicOrbAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(-16, -16, 0, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_085924D4[] = { - gUnknown_085924AC, - gUnknown_085924C4, +const union AffineAnimCmd *const gMimicOrbAffineAnimTable[] = { + gMimicOrbAffineAnimCmds1, + gMimicOrbAffineAnimCmds2, }; const struct SpriteTemplate gMimicOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, - .oam = &gUnknown_085249CC, - .anims = gUnknown_085921C8, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, + .anims = gPowerAbsorptionOrbAnimTable, .images = NULL, - .affineAnims = gUnknown_085924D4, + .affineAnims = gMimicOrbAffineAnimTable, .callback = AnimMimicOrb, }; -const union AnimCmd gUnknown_085924F4[] = +const union AnimCmd gIngrainRootAnimCmds1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(16, 7), @@ -659,7 +659,7 @@ const union AnimCmd gUnknown_085924F4[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08592508[] = +const union AnimCmd gIngrainRootAnimCmds2[] = { ANIMCMD_FRAME(0, 7, .hFlip = TRUE), ANIMCMD_FRAME(16, 7, .hFlip = TRUE), @@ -668,7 +668,7 @@ const union AnimCmd gUnknown_08592508[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_0859251C[] = +const union AnimCmd gIngrainRootAnimCmds3[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(16, 7), @@ -676,7 +676,7 @@ const union AnimCmd gUnknown_0859251C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_0859252C[] = +const union AnimCmd gIngrainRootAnimCmds4[] = { ANIMCMD_FRAME(0, 7, .hFlip = TRUE), ANIMCMD_FRAME(16, 7, .hFlip = TRUE), @@ -684,20 +684,20 @@ const union AnimCmd gUnknown_0859252C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_0859253C[] = +const union AnimCmd *const gIngrainRootAnimTable[] = { - gUnknown_085924F4, - gUnknown_08592508, - gUnknown_0859251C, - gUnknown_0859252C, + gIngrainRootAnimCmds1, + gIngrainRootAnimCmds2, + gIngrainRootAnimCmds3, + gIngrainRootAnimCmds4, }; const struct SpriteTemplate gIngrainRootSpriteTemplate = { .tileTag = ANIM_TAG_ROOTS, .paletteTag = ANIM_TAG_ROOTS, - .oam = &gUnknown_08524914, - .anims = gUnknown_0859253C, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gIngrainRootAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimIngrainRoot, @@ -707,55 +707,55 @@ const struct SpriteTemplate gFrenzyPlantRootSpriteTemplate = { .tileTag = ANIM_TAG_ROOTS, .paletteTag = ANIM_TAG_ROOTS, - .oam = &gUnknown_08524914, - .anims = gUnknown_0859253C, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gIngrainRootAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimFrenzyPlantRoot, }; -const union AnimCmd gUnknown_0859257C[] = +const union AnimCmd gIngrainOrbAnimCmds[] = { ANIMCMD_FRAME(3, 3), ANIMCMD_FRAME(0, 5), ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08592588[] = +const union AnimCmd *const gIngrainOrbAnimTable[] = { - gUnknown_0859257C, + gIngrainOrbAnimCmds, }; const struct SpriteTemplate gIngrainOrbSpriteTemplate = { .tileTag = ANIM_TAG_ORBS, .paletteTag = ANIM_TAG_ORBS, - .oam = &gUnknown_08524904, - .anims = gUnknown_08592588, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gIngrainOrbAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimIngrainOrb, }; -const union AnimCmd gUnknown_085925A4[] = +const union AnimCmd gFallingBagAnimCmds[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085925AC[] = +const union AnimCmd *const gFallingBagAnimTable[] = { - gUnknown_085925A4, + gFallingBagAnimCmds, }; -const union AffineAnimCmd gUnknown_085925B0[] = { +const union AffineAnimCmd gFallingBagAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0, 0, -4, 10), AFFINEANIMCMD_FRAME(0, 0, 4, 20), AFFINEANIMCMD_FRAME(0, 0, -4, 10), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085925D0[] = { +const union AffineAnimCmd gFallingBagAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0, 0, -1, 2), AFFINEANIMCMD_FRAME(0, 0, 1, 4), AFFINEANIMCMD_FRAME(0, 0, -1, 4), @@ -765,19 +765,19 @@ const union AffineAnimCmd gUnknown_085925D0[] = { AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08592608[] = { - gUnknown_085925B0, - gUnknown_085925D0, +const union AffineAnimCmd *const gFallingBagAffineAnimTable[] = { + gFallingBagAffineAnimCmds1, + gFallingBagAffineAnimCmds2, }; const struct SpriteTemplate gPresentSpriteTemplate = { .tileTag = ANIM_TAG_ITEM_BAG, .paletteTag = ANIM_TAG_ITEM_BAG, - .oam = &gUnknown_08524974, - .anims = gUnknown_085925AC, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, + .anims = gFallingBagAnimTable, .images = NULL, - .affineAnims = gUnknown_08592608, + .affineAnims = gFallingBagAffineAnimTable, .callback = AnimPresent, }; @@ -785,14 +785,14 @@ const struct SpriteTemplate gKnockOffItemSpriteTemplate = { .tileTag = ANIM_TAG_ITEM_BAG, .paletteTag = ANIM_TAG_ITEM_BAG, - .oam = &gUnknown_08524974, - .anims = gUnknown_085925AC, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, + .anims = gFallingBagAnimTable, .images = NULL, - .affineAnims = gUnknown_08592608, + .affineAnims = gFallingBagAffineAnimTable, .callback = AnimKnockOffItem, }; -const union AnimCmd gUnknown_08592640[] = +const union AnimCmd gPresentHealParticleAnimCmds[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(4, 4), @@ -801,17 +801,17 @@ const union AnimCmd gUnknown_08592640[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592654[] = +const union AnimCmd *const gPresentHealParticleAnimTable[] = { - gUnknown_08592640, + gPresentHealParticleAnimCmds, }; const struct SpriteTemplate gPresentHealParticleSpriteTemplate = { .tileTag = ANIM_TAG_GREEN_SPARKLE, .paletteTag = ANIM_TAG_GREEN_SPARKLE, - .oam = &gUnknown_0852490C, - .anims = gUnknown_08592654, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gPresentHealParticleAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimPresentHealParticle, @@ -821,19 +821,19 @@ const struct SpriteTemplate gItemStealSpriteTemplate = { .tileTag = ANIM_TAG_ITEM_BAG, .paletteTag = ANIM_TAG_ITEM_BAG, - .oam = &gUnknown_08524974, - .anims = gUnknown_085925AC, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, + .anims = gFallingBagAnimTable, .images = NULL, - .affineAnims = gUnknown_08592608, + .affineAnims = gFallingBagAffineAnimTable, .callback = AnimItemSteal, }; -const union AffineAnimCmd gUnknown_08592688[] = { +const union AffineAnimCmd gTrickBagAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0, 0, 0, 3), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08592698[] = { +const union AffineAnimCmd gTrickBagAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0, -10, 0, 3), AFFINEANIMCMD_FRAME(0, -6, 0, 3), AFFINEANIMCMD_FRAME(0, -2, 0, 3), @@ -844,25 +844,25 @@ const union AffineAnimCmd gUnknown_08592698[] = { AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085926D8[] = { - gUnknown_08592688, - gUnknown_08592698, - gUnknown_085925B0, - gUnknown_085925D0, +const union AffineAnimCmd *const gTrickBagAffineAnimTable[] = { + gTrickBagAffineAnimCmds1, + gTrickBagAffineAnimCmds2, + gFallingBagAffineAnimCmds1, + gFallingBagAffineAnimCmds2, }; const struct SpriteTemplate gTrickBagSpriteTemplate = { .tileTag = ANIM_TAG_ITEM_BAG, .paletteTag = ANIM_TAG_ITEM_BAG, - .oam = &gUnknown_08524974, - .anims = gUnknown_085925AC, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, + .anims = gFallingBagAnimTable, .images = NULL, - .affineAnims = gUnknown_085926D8, + .affineAnims = gTrickBagAffineAnimTable, .callback = AnimTrickBag, }; -const s8 gUnknown_08592700[][3] = +const s8 gTrickBagCoordinates[][3] = { {5, 24, 1}, {0, 4, 0}, @@ -877,163 +877,163 @@ const s8 gUnknown_08592700[][3] = {0, 0, 127}, }; -const union AnimCmd gUnknown_08592724[] = +const union AnimCmd gLeafBladeAnimCmds1[] = { ANIMCMD_FRAME(28, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_0859272C[] = +const union AnimCmd gLeafBladeAnimCmds2[] = { ANIMCMD_FRAME(32, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592734[] = +const union AnimCmd gLeafBladeAnimCmds3[] = { ANIMCMD_FRAME(20, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_0859273C[] = +const union AnimCmd gLeafBladeAnimCmds4[] = { ANIMCMD_FRAME(28, 1, .hFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592744[] = +const union AnimCmd gLeafBladeAnimCmds5[] = { ANIMCMD_FRAME(16, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_0859274C[] = +const union AnimCmd gLeafBladeAnimCmds6[] = { ANIMCMD_FRAME(16, 1, .hFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592754[] = +const union AnimCmd gLeafBladeAnimCmds7[] = { ANIMCMD_FRAME(28, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_0859275C[] = +const union AnimCmd *const gLeafBladeAnimTable[] = { - gUnknown_08592724, - gUnknown_0859272C, - gUnknown_08592734, - gUnknown_0859273C, - gUnknown_08592744, - gUnknown_0859274C, - gUnknown_08592754, + gLeafBladeAnimCmds1, + gLeafBladeAnimCmds2, + gLeafBladeAnimCmds3, + gLeafBladeAnimCmds4, + gLeafBladeAnimCmds5, + gLeafBladeAnimCmds6, + gLeafBladeAnimCmds7, }; -const struct SpriteTemplate gUnknown_08592778 = +const struct SpriteTemplate gLeafBladeSpriteTemplate = { .tileTag = ANIM_TAG_LEAF, .paletteTag = ANIM_TAG_LEAF, - .oam = &gUnknown_0852490C, - .anims = gUnknown_0859275C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gLeafBladeAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }; -const union AffineAnimCmd gUnknown_08592790[] = { +const union AffineAnimCmd gAromatherapyBigFlowerAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(256, 256, 0, 0), AFFINEANIMCMD_FRAME(0, 0, 4, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_085927A8[] = { - gUnknown_08592790, +const union AffineAnimCmd *const gAromatherapyBigFlowerAffineAnimTable[] = { + gAromatherapyBigFlowerAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_085927AC = +const struct SpriteTemplate gAromatherapySmallFlowerSpriteTemplate = { .tileTag = ANIM_TAG_FLOWER, .paletteTag = ANIM_TAG_FLOWER, - .oam = &gUnknown_08524904, - .anims = gUnknown_08592318, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gPetalDanceSmallFlowerAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8100640, + .callback = AnimFlyingParticle, }; -const struct SpriteTemplate gUnknown_085927C4 = +const struct SpriteTemplate gAromatherapyBigFlowerSpriteTemplate = { .tileTag = ANIM_TAG_FLOWER, .paletteTag = ANIM_TAG_FLOWER, - .oam = &gUnknown_0852496C, - .anims = gUnknown_08592314, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, + .anims = gPetalDanceBigFlowerAnimTable, .images = NULL, - .affineAnims = gUnknown_085927A8, - .callback = sub_8100640, + .affineAnims = gAromatherapyBigFlowerAffineAnimTable, + .callback = AnimFlyingParticle, }; -const union AffineAnimCmd gUnknown_085927DC[] = { +const union AffineAnimCmd gSilverWindBigSparkAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(256, 256, 0, 0), AFFINEANIMCMD_FRAME(0, 0, -10, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd gUnknown_085927F4[] = { +const union AffineAnimCmd gSilverWindMediumSparkAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(192, 192, 0, 0), AFFINEANIMCMD_FRAME(0, 0, -12, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd gUnknown_0859280C[] = { +const union AffineAnimCmd gSilverWindSmallSparkAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(143, 143, 0, 0), AFFINEANIMCMD_FRAME(0, 0, -15, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_08592824[] = { - gUnknown_085927DC, +const union AffineAnimCmd *const gSilverWindBigSparkAffineAnimTable[] = { + gSilverWindBigSparkAffineAnimCmds, }; -const union AffineAnimCmd *const gUnknown_08592828[] = { - gUnknown_085927F4, +const union AffineAnimCmd *const gSilverWindMediumSparkAffineAnimTable[] = { + gSilverWindMediumSparkAffineAnimCmds, }; -const union AffineAnimCmd *const gUnknown_0859282C[] = { - gUnknown_0859280C, +const union AffineAnimCmd *const gSilverWindSmallSparkAffineAnimTable[] = { + gSilverWindSmallSparkAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_08592830 = +const struct SpriteTemplate gSilverWindBigSparkSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_6, .paletteTag = ANIM_TAG_SPARKLE_6, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08592824, - .callback = sub_8100640, + .affineAnims = gSilverWindBigSparkAffineAnimTable, + .callback = AnimFlyingParticle, }; -const struct SpriteTemplate gUnknown_08592848 = +const struct SpriteTemplate gSilverWindMediumSparkSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_6, .paletteTag = ANIM_TAG_SPARKLE_6, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08592828, - .callback = sub_8100640, + .affineAnims = gSilverWindMediumSparkAffineAnimTable, + .callback = AnimFlyingParticle, }; -const struct SpriteTemplate gUnknown_08592860 = +const struct SpriteTemplate gSilverWindSmallSparkSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_6, .paletteTag = ANIM_TAG_SPARKLE_6, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_0859282C, - .callback = sub_8100640, + .affineAnims = gSilverWindSmallSparkAffineAnimTable, + .callback = AnimFlyingParticle, }; const u16 gMagicalLeafBlendColors[] = @@ -1047,18 +1047,18 @@ const u16 gMagicalLeafBlendColors[] = RGB(22, 21, 31), }; -const struct SpriteTemplate gUnknown_08592888 = +const struct SpriteTemplate gNeedleArmSpikeSpriteTemplate = { .tileTag = ANIM_TAG_GREEN_SPIKE, .paletteTag = ANIM_TAG_GREEN_SPIKE, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8100898, + .callback = AnimNeedleArmSpike, }; -const union AnimCmd gUnknown_085928A0[] = +const union AnimCmd gWhipAnimCmds1[] = { ANIMCMD_FRAME(64, 3), ANIMCMD_FRAME(80, 3), @@ -1067,7 +1067,7 @@ const union AnimCmd gUnknown_085928A0[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_085928B4[] = +const union AnimCmd gWhipAnimCmds2[] = { ANIMCMD_FRAME(64, 3, .hFlip = TRUE), ANIMCMD_FRAME(80, 3, .hFlip = TRUE), @@ -1076,32 +1076,32 @@ const union AnimCmd gUnknown_085928B4[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085928C8[] = +const union AnimCmd *const gWhipAnimTable[] = { - gUnknown_085928A0, - gUnknown_085928B4, + gWhipAnimCmds1, + gWhipAnimCmds2, }; -const struct SpriteTemplate gUnknown_085928D0 = +const struct SpriteTemplate gSlamHitSpriteTemplate = { .tileTag = ANIM_TAG_SLAM_HIT, .paletteTag = ANIM_TAG_SLAM_HIT, - .oam = &gUnknown_08524914, - .anims = gUnknown_085928C8, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gWhipAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8100A50, + .callback = AnimWhipHit, }; const struct SpriteTemplate gVineWhipSpriteTemplate = { .tileTag = ANIM_TAG_WHIP_HIT, .paletteTag = ANIM_TAG_WHIP_HIT, - .oam = &gUnknown_08524914, - .anims = gUnknown_085928C8, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gWhipAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8100A50, + .callback = AnimWhipHit, }; const union AnimCmd gUnknown_08592900[] = @@ -1119,22 +1119,24 @@ const union AnimCmd *const gUnknown_08592918[] = gUnknown_08592900, }; +// Unused const struct SpriteTemplate gUnknown_0859291C = { .tileTag = ANIM_TAG_HIT, .paletteTag = ANIM_TAG_HIT, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08592918, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = sub_81009F8, }; +// Unused const struct SpriteTemplate gUnknown_08592934 = { .tileTag = ANIM_TAG_HIT_2, .paletteTag = ANIM_TAG_HIT_2, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08592918, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1192,18 +1194,19 @@ const union AffineAnimCmd *const gUnknown_085929CC[] = { gUnknown_085929BC, }; +// Unused const struct SpriteTemplate gUnknown_085929EC = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085929CC, .callback = sub_8100A94, }; -const union AnimCmd gUnknown_08592A04[] = +const union AnimCmd gCuttingSliceAnimCmds[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(16, 5), @@ -1212,31 +1215,31 @@ const union AnimCmd gUnknown_08592A04[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592A18[] = +const union AnimCmd *const gCuttingSliceAnimTable[] = { - gUnknown_08592A04, + gCuttingSliceAnimCmds, }; const struct SpriteTemplate gCuttingSliceSpriteTemplate = { .tileTag = ANIM_TAG_CUT, .paletteTag = ANIM_TAG_CUT, - .oam = &gUnknown_08524A34, - .anims = gUnknown_08592A18, + .oam = &gOamData_AffineOff_ObjBlend_32x32, + .anims = gCuttingSliceAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimCuttingSlice, }; -const struct SpriteTemplate gUnknown_08592A34 = +const struct SpriteTemplate gAirCutterSliceSpriteTemplate = { .tileTag = ANIM_TAG_CUT, .paletteTag = ANIM_TAG_CUT, - .oam = &gUnknown_08524A34, - .anims = gUnknown_08592A18, + .oam = &gOamData_AffineOff_ObjBlend_32x32, + .anims = gCuttingSliceAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8100B88, + .callback = AnimAirCutterSlice, }; const union AnimCmd gUnknown_08592A4C[] = @@ -1313,11 +1316,12 @@ const union AnimCmd *const gUnknown_08592A9C[] = gUnknown_08592A94, }; +// Unused const struct SpriteTemplate gUnknown_08592AC4 = { .tileTag = ANIM_TAG_MUSIC_NOTES, .paletteTag = ANIM_TAG_MUSIC_NOTES, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_08592A9C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1328,20 +1332,20 @@ const struct SpriteTemplate gUnknown_08592ADC = { .tileTag = ANIM_TAG_PROTECT, .paletteTag = ANIM_TAG_PROTECT, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8100EF0, + .callback = AnimProtect, }; -const union AffineAnimCmd gUnknown_08592AF4[] = +const union AffineAnimCmd gMilkBottleAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08592B04[] = +const union AffineAnimCmd gMilkBottleAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 12), AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6), @@ -1351,24 +1355,24 @@ const union AffineAnimCmd gUnknown_08592B04[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_08592B34[] = +const union AffineAnimCmd *const gMilkBottleAffineAnimTable[] = { - gUnknown_08592AF4, - gUnknown_08592B04, + gMilkBottleAffineAnimCmds1, + gMilkBottleAffineAnimCmds2, }; -const struct SpriteTemplate gUnknown_08592B3C = +const struct SpriteTemplate gMilkBottleSpriteTemplate = { .tileTag = ANIM_TAG_MILK_BOTTLE, .paletteTag = ANIM_TAG_MILK_BOTTLE, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08592B34, - .callback = sub_81010CC, + .affineAnims = gMilkBottleAffineAnimTable, + .callback = AnimMilkBottle, }; -const union AnimCmd gUnknown_08592B54[] = +const union AnimCmd gGrantingStarsAnimCmds[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(16, 7), @@ -1381,31 +1385,31 @@ const union AnimCmd gUnknown_08592B54[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08592B78[] = +const union AnimCmd *const gGrantingStarsAnimTable[] = { - gUnknown_08592B54, + gGrantingStarsAnimCmds, }; -const struct SpriteTemplate gUnknown_08592B7C = +const struct SpriteTemplate gGrantingStarsSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_2, .paletteTag = ANIM_TAG_SPARKLE_2, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592B78, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gGrantingStarsAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810130C, + .callback = AnimGrantingStars, }; -const struct SpriteTemplate gUnknown_08592B94 = +const struct SpriteTemplate gSparklingStarsSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_2, .paletteTag = ANIM_TAG_SPARKLE_2, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592B78, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gGrantingStarsAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810135C, + .callback = AnimSparkingStars, }; const union AnimCmd gUnknown_08592BAC[] = @@ -1440,96 +1444,97 @@ const union AnimCmd *const gUnknown_08592BF4[] = gUnknown_08592BD0, }; +// Unused const struct SpriteTemplate gUnknown_08592BFC = { .tileTag = ANIM_TAG_BUBBLE_BURST, .paletteTag = ANIM_TAG_BUBBLE_BURST, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_08592BF4, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = sub_8101440, }; -const union AnimCmd gUnknown_08592C14[] = +const union AnimCmd gSleepLetterZAnimCmds[] = { ANIMCMD_FRAME(0, 40), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592C1C[] = +const union AnimCmd *const gSleepLetterZAnimTable[] = { - gUnknown_08592C14, + gSleepLetterZAnimCmds, }; -const union AffineAnimCmd gUnknown_08592C20[] = +const union AffineAnimCmd gSleepLetterZAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x14, 0x14, -30, 0), AFFINEANIMCMD_FRAME(0x8, 0x8, 1, 24), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08592C20_2[] = +const union AffineAnimCmd gSleepLetterZAffineAnimCmds1_2[] = { AFFINEANIMCMD_LOOP(0), AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 24), AFFINEANIMCMD_LOOP(10), }; -const union AffineAnimCmd gUnknown_08592C50[] = +const union AffineAnimCmd gSleepLetterZAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0x14, 0x14, 30, 0), AFFINEANIMCMD_FRAME(0x8, 0x8, -1, 24), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08592C50_2[] = +const union AffineAnimCmd gSleepLetterZAffineAnimCmds2_2[] = { AFFINEANIMCMD_LOOP(0), AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 24), AFFINEANIMCMD_LOOP(10), }; -const union AffineAnimCmd *const gUnknown_08592C80[] = +const union AffineAnimCmd *const gSleepLetterZAffineAnimTable[] = { - gUnknown_08592C20, - gUnknown_08592C50, + gSleepLetterZAffineAnimCmds1, + gSleepLetterZAffineAnimCmds2, }; -const struct SpriteTemplate gUnknown_08592C88 = +const struct SpriteTemplate gSleepLetterZSpriteTemplate = { .tileTag = ANIM_TAG_LETTER_Z, .paletteTag = ANIM_TAG_LETTER_Z, - .oam = &gUnknown_08524974, - .anims = gUnknown_08592C1C, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, + .anims = gSleepLetterZAnimTable, .images = NULL, - .affineAnims = gUnknown_08592C80, - .callback = sub_81014F4, + .affineAnims = gSleepLetterZAffineAnimTable, + .callback = AnimSleepLetterZ, }; -const struct SpriteTemplate gUnknown_08592CA0 = +const struct SpriteTemplate gLockOnTargetSpriteTemplate = { .tileTag = ANIM_TAG_LOCK_ON, .paletteTag = ANIM_TAG_LOCK_ON, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81015AC, + .callback = AnimLockOnTarget, }; -const struct SpriteTemplate gUnknown_08592CB8 = +const struct SpriteTemplate gLockOnMoveTargetSpriteTemplate = { .tileTag = ANIM_TAG_LOCK_ON, .paletteTag = ANIM_TAG_LOCK_ON, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8101898, + .callback = AnimLockOnMoveTarget, }; -const s8 gUnknown_08592CD0[][2] = +const s8 gInclineMonCoordTable[][2] = { { 64, 64}, { 0, -64}, @@ -1537,7 +1542,7 @@ const s8 gUnknown_08592CD0[][2] = { 32, -32}, }; -const struct SpriteTemplate gUnknown_08592CD8 = +const struct SpriteTemplate gBowMonSpriteTemplate = { .tileTag = 0, .paletteTag = 0, @@ -1545,9 +1550,10 @@ const struct SpriteTemplate gUnknown_08592CD8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8101940, + .callback = AnimBowMon, }; +// Unused const struct SpriteTemplate gUnknown_08592CF0 = { .tileTag = 0, @@ -1559,7 +1565,7 @@ const struct SpriteTemplate gUnknown_08592CF0 = .callback = sub_8101B90, }; -const union AnimCmd gUnknown_08592D08[] = +const union AnimCmd gSlashSliceAnimCmds1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(16, 4), @@ -1568,52 +1574,52 @@ const union AnimCmd gUnknown_08592D08[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08592D1C[] = +const union AnimCmd gSlashSliceAnimCmds2[] = { ANIMCMD_FRAME(48, 4), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592D24[] = +const union AnimCmd *const gSlashSliceAnimTable[] = { - gUnknown_08592D08, - gUnknown_08592D1C, + gSlashSliceAnimCmds1, + gSlashSliceAnimCmds2, }; -const struct SpriteTemplate gUnknown_08592D2C = +const struct SpriteTemplate gSlashSliceSpriteTemplate = { .tileTag = ANIM_TAG_SLASH, .paletteTag = ANIM_TAG_SLASH, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592D24, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gSlashSliceAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8101F40, + .callback = AnimSlashSlice, }; -const struct SpriteTemplate gUnknown_08592D44 = +const struct SpriteTemplate gFalseSwipeSliceSpriteTemplate = { .tileTag = ANIM_TAG_SLASH_2, .paletteTag = ANIM_TAG_SLASH_2, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592D24, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gSlashSliceAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8101FA8, + .callback = AnimFalseSwipeSlice, }; -const struct SpriteTemplate gUnknown_08592D5C = +const struct SpriteTemplate gFalseSwipePositionedSliceSpriteTemplate = { .tileTag = ANIM_TAG_SLASH_2, .paletteTag = ANIM_TAG_SLASH_2, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592D24, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gSlashSliceAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8101FF0, + .callback = AnimFalseSwipePositionedSlice, }; -const union AnimCmd gUnknown_08592D74[] = +const union AnimCmd gEndureEnergyAnimCmds[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(8, 12), @@ -1622,23 +1628,23 @@ const union AnimCmd gUnknown_08592D74[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592D88[] = +const union AnimCmd *const gEndureEnergyAnimTable[] = { - gUnknown_08592D74, + gEndureEnergyAnimCmds, }; -const struct SpriteTemplate gUnknown_08592D8C = +const struct SpriteTemplate gEndureEnergySpriteTemplate = { .tileTag = ANIM_TAG_FOCUS_ENERGY, .paletteTag = ANIM_TAG_FOCUS_ENERGY, - .oam = &gUnknown_08524954, - .anims = gUnknown_08592D88, + .oam = &gOamData_AffineOff_ObjNormal_16x32, + .anims = gEndureEnergyAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81020D8, + .callback = AnimEndureEnergy, }; -const union AnimCmd gUnknown_08592DA4[] = +const union AnimCmd gSharpenSphereAnimCmds[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(0, 6), @@ -1657,34 +1663,34 @@ const union AnimCmd gUnknown_08592DA4[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592DE0[] = +const union AnimCmd *const gSharpenSphereAnimTable[] = { - gUnknown_08592DA4, + gSharpenSphereAnimCmds, }; -const struct SpriteTemplate gUnknown_08592DE4 = +const struct SpriteTemplate gSharpenSphereSpriteTemplate = { .tileTag = ANIM_TAG_SPHERE_TO_CUBE, .paletteTag = ANIM_TAG_SPHERE_TO_CUBE, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592DE0, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gSharpenSphereAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810217C, + .callback = AnimSharpenSphere, }; -const struct SpriteTemplate gUnknown_08592DFC = +const struct SpriteTemplate gOctazookaBallSpriteTemplate = { .tileTag = ANIM_TAG_BLACK_BALL, .paletteTag = ANIM_TAG_BLACK_BALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = TranslateAnimSpriteToTargetMonLocation, }; -const union AnimCmd gUnknown_08592E14[] = +const union AnimCmd gOctazookaAnimCmds[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(16, 3), @@ -1694,23 +1700,23 @@ const union AnimCmd gUnknown_08592E14[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592E2C[] = +const union AnimCmd *const gOctazookaAnimTable[] = { - gUnknown_08592E14, + gOctazookaAnimCmds, }; -const struct SpriteTemplate gUnknown_08592E30 = +const struct SpriteTemplate gOctazookaSmokeSpriteTemplate = { .tileTag = ANIM_TAG_GRAY_SMOKE, .paletteTag = ANIM_TAG_GRAY_SMOKE, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592E2C, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gOctazookaAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSpriteOnMonPos, }; -const union AnimCmd gUnknown_08592E48[] = +const union AnimCmd gConversionAnimCmds[] = { ANIMCMD_FRAME(3, 5), ANIMCMD_FRAME(2, 5), @@ -1719,34 +1725,34 @@ const union AnimCmd gUnknown_08592E48[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592E5C[] = +const union AnimCmd *const gConversionAnimTable[] = { - gUnknown_08592E48, + gConversionAnimCmds, }; -const union AffineAnimCmd gUnknown_08592E60[] = +const union AffineAnimCmd gConversionAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08592E70[] = +const union AffineAnimCmd *const gConversionAffineAnimTable[] = { - gUnknown_08592E60, + gConversionAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_08592E74 = +const struct SpriteTemplate gConversionSpriteTemplate = { .tileTag = ANIM_TAG_CONVERSION, .paletteTag = ANIM_TAG_CONVERSION, - .oam = &gUnknown_08524AE4, - .anims = gUnknown_08592E5C, + .oam = &gOamData_AffineDouble_ObjBlend_8x8, + .anims = gConversionAnimTable, .images = NULL, - .affineAnims = gUnknown_08592E70, - .callback = sub_8102268, + .affineAnims = gConversionAffineAnimTable, + .callback = AnimConversion, }; -const union AnimCmd gUnknown_08592E8C[] = +const union AnimCmd gConversion2AnimCmds[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -1755,34 +1761,34 @@ const union AnimCmd gUnknown_08592E8C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592EA0[] = +const union AnimCmd *const gConversion2AnimTable[] = { - gUnknown_08592E8C, + gConversion2AnimCmds, }; -const struct SpriteTemplate gUnknown_08592EA4 = +const struct SpriteTemplate gConversion2SpriteTemplate = { .tileTag = ANIM_TAG_CONVERSION, .paletteTag = ANIM_TAG_CONVERSION, - .oam = &gUnknown_08524AE4, - .anims = gUnknown_08592EA0, + .oam = &gOamData_AffineDouble_ObjBlend_8x8, + .anims = gConversion2AnimTable, .images = NULL, - .affineAnims = gUnknown_08592E70, - .callback = sub_810234C, + .affineAnims = gConversionAffineAnimTable, + .callback = AnimConversion2, }; -const struct SpriteTemplate gUnknown_08592EBC = +const struct SpriteTemplate gMoonSpriteTemplate = { .tileTag = ANIM_TAG_MOON, .paletteTag = ANIM_TAG_MOON, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81024E0, + .callback = AnimMoon, }; -const union AnimCmd gUnknown_08592ED4[] = +const union AnimCmd gMoonlightSparkleAnimCmds[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(4, 8), @@ -1791,23 +1797,23 @@ const union AnimCmd gUnknown_08592ED4[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08592EE8[] = +const union AnimCmd *const gMoonlightSparkleAnimTable[] = { - gUnknown_08592ED4, + gMoonlightSparkleAnimCmds, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8592EEC = +const struct SpriteTemplate gMoonlightSparkleSpriteTemplate = { .tileTag = ANIM_TAG_GREEN_SPARKLE, .paletteTag = ANIM_TAG_GREEN_SPARKLE, - .oam = &gUnknown_0852490C, - .anims = gUnknown_08592EE8, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gMoonlightSparkleAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8102540, + .callback = AnimMoonlightSparkle, }; -const union AnimCmd gUnknown_08592F04[] = +const union AnimCmd gHealingBlueStarAnimCmds[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(16, 2), @@ -1820,34 +1826,34 @@ const union AnimCmd gUnknown_08592F04[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592F28[] = +const union AnimCmd *const gHealingBlueStarAnimTable[] = { - gUnknown_08592F04, + gHealingBlueStarAnimCmds, }; -const struct SpriteTemplate gUnknown_08592F2C = +const struct SpriteTemplate gHealingBlueStarSpriteTemplate = { .tileTag = ANIM_TAG_BLUE_STAR, .paletteTag = ANIM_TAG_BLUE_STAR, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592F28, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gHealingBlueStarAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSpriteOnMonPos, }; -const struct SpriteTemplate gUnknown_08592F44 = +const struct SpriteTemplate gHornHitSpriteTemplate = { .tileTag = ANIM_TAG_HORN_HIT, .paletteTag = ANIM_TAG_HORN_HIT, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8102844, + .callback = AnimHornHit, }; -const union AnimCmd gUnknown_08592F5C[] = +const union AnimCmd gSuperFangAnimCmds[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(16, 2), @@ -1856,106 +1862,106 @@ const union AnimCmd gUnknown_08592F5C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592F70[] = +const union AnimCmd *const gSuperFangAnimTable[] = { - gUnknown_08592F5C, + gSuperFangAnimCmds, }; -const struct SpriteTemplate gUnknown_08592F74 = +const struct SpriteTemplate gSuperFangSpriteTemplate = { .tileTag = ANIM_TAG_FANG_ATTACK, .paletteTag = ANIM_TAG_FANG_ATTACK, - .oam = &gUnknown_08524914, - .anims = gUnknown_08592F70, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gSuperFangAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8102BCC, + .callback = AnimSuperFang, }; -const union AnimCmd gUnknown_08592F8C[] = +const union AnimCmd gWavyMusicNotesAnimCmds1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592F94[] = +const union AnimCmd gWavyMusicNotesAnimCmds2[] = { ANIMCMD_FRAME(4, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592F9C[] = +const union AnimCmd gWavyMusicNotesAnimCmds3[] = { ANIMCMD_FRAME(8, 41), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592FA4[] = +const union AnimCmd gWavyMusicNotesAnimCmds4[] = { ANIMCMD_FRAME(12, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592FAC[] = +const union AnimCmd gWavyMusicNotesAnimCmds5[] = { ANIMCMD_FRAME(16, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592FB4[] = +const union AnimCmd gWavyMusicNotesAnimCmds6[] = { ANIMCMD_FRAME(20, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592FBC[] = +const union AnimCmd gWavyMusicNotesAnimCmds7[] = { ANIMCMD_FRAME(0, 10, .vFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd gUnknown_08592FC4[] = +const union AnimCmd gWavyMusicNotesAnimCmds8[] = { ANIMCMD_FRAME(4, 10, .vFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08592FCC[] = +const union AnimCmd *const gMusicNotesAnimTable[] = { - gUnknown_08592F8C, - gUnknown_08592F94, - gUnknown_08592F9C, - gUnknown_08592FA4, - gUnknown_08592FAC, - gUnknown_08592FB4, - gUnknown_08592FBC, - gUnknown_08592FC4, + gWavyMusicNotesAnimCmds1, + gWavyMusicNotesAnimCmds2, + gWavyMusicNotesAnimCmds3, + gWavyMusicNotesAnimCmds4, + gWavyMusicNotesAnimCmds5, + gWavyMusicNotesAnimCmds6, + gWavyMusicNotesAnimCmds7, + gWavyMusicNotesAnimCmds8, }; -const union AffineAnimCmd gUnknown_08592FEC[] = +const union AffineAnimCmd gWavyMusicNotesAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0xC, 0xC, 0, 16), AFFINEANIMCMD_FRAME(0xFFF4, 0xFFF4, 0, 16), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_08593004[] = +const union AffineAnimCmd *const gMusicNotesAffineAnimTable[] = { - gUnknown_08592FEC, + gWavyMusicNotesAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_08593008 = +const struct SpriteTemplate gWavyMusicNotesSpriteTemplate = { .tileTag = ANIM_TAG_MUSIC_NOTES, .paletteTag = ANIM_TAG_MUSIC_NOTES, - .oam = &gUnknown_085249CC, - .anims = gUnknown_08592FCC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, + .anims = gMusicNotesAnimTable, .images = NULL, - .affineAnims = gUnknown_08593004, - .callback = sub_8102CD4, + .affineAnims = gMusicNotesAffineAnimTable, + .callback = AnimWavyMusicNotes, }; -const u16 gUnknown_08593020[][6] = +const u16 gParticlesColorBlendTable[][6] = { {ANIM_TAG_MUSIC_NOTES, RGB(31, 31, 31), RGB(31, 26, 28), RGB(31, 22, 26), RGB(31, 17, 24), RGB(31, 13, 22)}, {ANIM_TAG_BENT_SPOON, RGB(31, 31, 31), RGB(25, 31, 26), RGB(20, 31, 21), RGB(15, 31, 16), RGB(10, 31, 12)}, @@ -1963,52 +1969,52 @@ const u16 gUnknown_08593020[][6] = {ANIM_TAG_LARGE_FRESH_EGG, RGB(31, 31, 31), RGB(26, 28, 31), RGB(21, 26, 31), RGB(16, 24, 31), RGB(12, 22, 31)}, }; -const struct SpriteTemplate gUnknown_08593050 = +const struct SpriteTemplate gFastFlyingMusicNotesSpriteTemplate = { .tileTag = ANIM_TAG_MUSIC_NOTES, .paletteTag = ANIM_TAG_MUSIC_NOTES, - .oam = &gUnknown_085249CC, - .anims = gUnknown_08592FCC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, + .anims = gMusicNotesAnimTable, .images = NULL, - .affineAnims = gUnknown_08593004, - .callback = sub_8102EB0, + .affineAnims = gMusicNotesAffineAnimTable, + .callback = AnimFlyingMusicNotes, }; -const struct SpriteTemplate gUnknown_08593068 = +const struct SpriteTemplate gBellyDrumHandSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_HAND_OUTLINE, .paletteTag = ANIM_TAG_PURPLE_HAND_OUTLINE, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8102FB8, + .callback = AnimBellyDrumHand, }; -const union AffineAnimCmd gUnknown_08593080[] = +const union AffineAnimCmd gSlowFlyingMusicNotesAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0xA0, 0xA0, 0, 0), AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_08593098[] = +const union AffineAnimCmd *const gSlowFlyingMusicNotesAffineAnimTable[] = { - gUnknown_08593080, + gSlowFlyingMusicNotesAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_0859309C = +const struct SpriteTemplate gSlowFlyingMusicNotesSpriteTemplate = { .tileTag = ANIM_TAG_MUSIC_NOTES, .paletteTag = ANIM_TAG_MUSIC_NOTES, - .oam = &gUnknown_085249CC, - .anims = gUnknown_08592FCC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, + .anims = gMusicNotesAnimTable, .images = NULL, - .affineAnims = gUnknown_08593098, - .callback = sub_8103028, + .affineAnims = gSlowFlyingMusicNotesAffineAnimTable, + .callback = AnimSlowFlyingMusicNotes, }; -const union AnimCmd gUnknown_085930B4[] = +const union AnimCmd gMetronomeThroughtBubbleAnimCmds1[] = { ANIMCMD_FRAME(0, 2, .hFlip = TRUE), ANIMCMD_FRAME(16, 2, .hFlip = TRUE), @@ -2017,7 +2023,7 @@ const union AnimCmd gUnknown_085930B4[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_085930C8[] = +const union AnimCmd gMetronomeThroughtBubbleAnimCmds3[] = { ANIMCMD_FRAME(48, 2, .hFlip = TRUE), ANIMCMD_FRAME(32, 2, .hFlip = TRUE), @@ -2026,7 +2032,7 @@ const union AnimCmd gUnknown_085930C8[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_085930DC[] = +const union AnimCmd gMetronomeThroughtBubbleAnimCmds2[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(16, 2), @@ -2035,7 +2041,7 @@ const union AnimCmd gUnknown_085930DC[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_085930F0[] = +const union AnimCmd gMetronomeThroughtBubbleAnimCmds4[] = { ANIMCMD_FRAME(48, 2), ANIMCMD_FRAME(32, 2), @@ -2044,33 +2050,33 @@ const union AnimCmd gUnknown_085930F0[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08593104[] = +const union AnimCmd *const gMetronomeThroughtBubbleAnimTable[] = { - gUnknown_085930B4, - gUnknown_085930DC, - gUnknown_085930C8, - gUnknown_085930F0, + gMetronomeThroughtBubbleAnimCmds1, + gMetronomeThroughtBubbleAnimCmds2, + gMetronomeThroughtBubbleAnimCmds3, + gMetronomeThroughtBubbleAnimCmds4, }; -const struct SpriteTemplate gUnknown_08593114 = +const struct SpriteTemplate gThoughtBubbleSpriteTemplate = { .tileTag = ANIM_TAG_THOUGHT_BUBBLE, .paletteTag = ANIM_TAG_THOUGHT_BUBBLE, - .oam = &gUnknown_08524914, - .anims = gUnknown_08593104, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gMetronomeThroughtBubbleAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8103164, + .callback = AnimThoughtBubble, }; -const union AffineAnimCmd gUnknown_0859312C[] = +const union AffineAnimCmd gMetronomeFingerAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0x1E, 0x1E, 0, 8), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08593144[] = +const union AffineAnimCmd gMetronomeFingerAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 4, 11), AFFINEANIMCMD_FRAME(0x0, 0x0, -4, 11), @@ -2079,7 +2085,7 @@ const union AffineAnimCmd gUnknown_08593144[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08593144_2[] = +const union AffineAnimCmd gMetronomeFingerAffineAnimCmds2_2[] = { AFFINEANIMCMD_FRAME(16, 16, 0, 0), AFFINEANIMCMD_FRAME(30, 30, 0, 8), @@ -2092,47 +2098,47 @@ const union AffineAnimCmd gUnknown_08593144_2[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085931B4[] = +const union AffineAnimCmd *const gMetronomeFingerAffineAnimTable[] = { - gUnknown_0859312C, - gUnknown_08593144, + gMetronomeFingerAffineAnimCmds1, + gMetronomeFingerAffineAnimCmds2, }; -const struct SpriteTemplate gUnknown_085931BC = +const struct SpriteTemplate gMetronomeFingerSpriteTemplate = { .tileTag = ANIM_TAG_FINGER, .paletteTag = ANIM_TAG_FINGER, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085931B4, - .callback = sub_8103208, + .affineAnims = gMetronomeFingerAffineAnimTable, + .callback = AnimMetronomeFinger, }; -const struct SpriteTemplate gUnknown_085931D4 = +const struct SpriteTemplate gFollowMeFingerSpriteTemplate = { .tileTag = ANIM_TAG_FINGER, .paletteTag = ANIM_TAG_FINGER, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085931B4, - .callback = sub_8103284, + .affineAnims = gMetronomeFingerAffineAnimTable, + .callback = AnimFollowMeFinger, }; -const union AnimCmd gUnknown_085931EC[] = +const union AnimCmd gTauntFingerAnimCmds1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_085931F4[] = +const union AnimCmd gTauntFingerAnimCmds2[] = { ANIMCMD_FRAME(0, 1, .hFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd gUnknown_085931FC[] = +const union AnimCmd gTauntFingerAnimCmds3[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(16, 4), @@ -2144,7 +2150,7 @@ const union AnimCmd gUnknown_085931FC[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_0859321C[] = +const union AnimCmd gTauntFingerAnimCmds4[] = { ANIMCMD_FRAME(0, 4, .hFlip = TRUE), ANIMCMD_FRAME(16, 4, .hFlip = TRUE), @@ -2156,23 +2162,23 @@ const union AnimCmd gUnknown_0859321C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_0859323C[] = +const union AnimCmd *const gTauntFingerAnimTable[] = { - gUnknown_085931EC, - gUnknown_085931F4, - gUnknown_085931FC, - gUnknown_0859321C, + gTauntFingerAnimCmds1, + gTauntFingerAnimCmds2, + gTauntFingerAnimCmds3, + gTauntFingerAnimCmds4, }; -const struct SpriteTemplate gUnknown_0859324C = +const struct SpriteTemplate gTauntFingerSpriteTemplate = { .tileTag = ANIM_TAG_FINGER_2, .paletteTag = ANIM_TAG_FINGER_2, - .oam = &gUnknown_08524914, - .anims = gUnknown_0859323C, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gTauntFingerAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8103390, + .callback = AnimTauntFinger, }; // Animates the falling particles that horizontally wave back and forth. @@ -2803,11 +2809,11 @@ void sub_80FF458(u8 taskId) gTasks[taskId].data[0] = gBattleAnimArgs[0]; gTasks[taskId].data[1] = gBattleAnimArgs[1]; gTasks[taskId].data[11] = 0x100; - gTasks[taskId].func = sub_80FF53C; + gTasks[taskId].func = AnimTask_DuplicateAndShrinkToPosStep1; } } -static void sub_80FF53C(u8 taskId) +static void AnimTask_DuplicateAndShrinkToPosStep1(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); gTasks[taskId].data[10] += gTasks[taskId].data[0]; @@ -2821,11 +2827,11 @@ static void sub_80FF53C(u8 taskId) if (--gTasks[taskId].data[1] == 0) { gTasks[taskId].data[0] = 0; - gTasks[taskId].func = sub_80FF5CC; + gTasks[taskId].func = AnimTask_DuplicateAndShrinkToPosStep2; } } -static void sub_80FF5CC(u8 taskId) +static void AnimTask_DuplicateAndShrinkToPosStep2(u8 taskId) { if ((u16)gBattleAnimArgs[7] == 0xFFFF) { @@ -2981,38 +2987,38 @@ static void sub_80FF9B8(struct Sprite* sprite, s16 c) sprite->data[7] = c; } -bool8 sub_80FF9E0(struct Sprite* sprite) +bool8 moveAlongLinearPath(struct Sprite* sprite) { - u16 r10 = (u8)(sprite->data[5] >> 8); - u16 r9 = (u8)sprite->data[5]; - s32 r2 = (u8)(sprite->data[6] >> 8); - s32 r4 = (u8)sprite->data[6]; - s16 r6 = sprite->data[7] >> 8; - s16 r3 = sprite->data[7] & 0xFF; - s16 r4_2; + u16 xStartPos = (u8)(sprite->data[5] >> 8); + u16 yStartPos = (u8)sprite->data[5]; + s32 xEndPos = (u8)(sprite->data[6] >> 8); + s32 yEndPos = (u8)sprite->data[6]; + s16 totalTime = sprite->data[7] >> 8; + s16 currentTime = sprite->data[7] & 0xFF; + s16 yEndPos_2; s16 r0; s32 var1; - s32 var2; + s32 vaxEndPos; - if (r2 == 0) - r2 = -32; - else if (r2 == 255) - r2 = 272; + if (xEndPos == 0) + xEndPos = -32; + else if (xEndPos == 255) + xEndPos = 272; - r4_2 = r4 - r9; - r0 = r2 - r10; - var1 = r0 * r3 / r6; - var2 = r4_2 * r3 / r6; - sprite->pos1.x = var1 + r10; - sprite->pos1.y = var2 + r9; - if (++r3 == r6) + yEndPos_2 = yEndPos - yStartPos; + r0 = xEndPos - xStartPos; + var1 = r0 * currentTime / totalTime; + vaxEndPos = yEndPos_2 * currentTime / totalTime; + sprite->pos1.x = var1 + xStartPos; + sprite->pos1.y = vaxEndPos + yStartPos; + if (++currentTime == totalTime) return TRUE; - sprite->data[7] = (r6 << 8) | r3; + sprite->data[7] = (totalTime << 8) | currentTime; return FALSE; } -void sub_80FFA84(struct Sprite* sprite) +void AnimItemStealStep2(struct Sprite* sprite) { if (sprite->data[0] == 10) StartSpriteAffineAnim(sprite, 1); @@ -3022,7 +3028,7 @@ void sub_80FFA84(struct Sprite* sprite) DestroyAnimSprite(sprite); } -static void sub_80FFAB4(struct Sprite* sprite) +static void AnimItemStealStep1(struct Sprite* sprite) { sprite->data[0] += sprite->data[3] * 128 / sprite->data[4]; if (sprite->data[0] >= 128) @@ -3032,11 +3038,11 @@ static void sub_80FFAB4(struct Sprite* sprite) } sprite->pos2.y = Sin(sprite->data[0] + 128, 30 - sprite->data[1] * 8); - if (sub_80FF9E0(sprite)) + if (moveAlongLinearPath(sprite)) { sprite->pos2.y = 0; sprite->data[0] = 0; - sprite->callback = sub_80FFA84; + sprite->callback = AnimItemStealStep2; } } @@ -3063,7 +3069,7 @@ void AnimPresent(struct Sprite* sprite) } sprite->data[4] = 60; - sprite->callback = sub_80FFAB4; + sprite->callback = AnimItemStealStep1; } static void sub_80FFB90(struct Sprite* sprite) @@ -3078,7 +3084,7 @@ static void sub_80FFB90(struct Sprite* sprite) } sprite->pos2.y = Sin(sprite->data[0] + 0x80, 30 - sprite->data[1] * 8); - if (sub_80FF9E0(sprite)) + if (moveAlongLinearPath(sprite)) { sprite->pos2.y = zero; sprite->data[0] = zero; @@ -3096,7 +3102,7 @@ void AnimKnockOffItem(struct Sprite* sprite) sub_80FF9B8(sprite, 40); sprite->data[3] = 3; sprite->data[4] = 60; - sprite->callback = sub_80FFAB4; + sprite->callback = AnimItemStealStep1; } else { @@ -3154,10 +3160,10 @@ void AnimItemSteal(struct Sprite* sprite) } sprite->data[4] = 60; - sprite->callback = AnimItemStealStep; + sprite->callback = AnimItemStealStep3; } -static void AnimItemStealStep(struct Sprite* sprite) +static void AnimItemStealStep3(struct Sprite* sprite) { int zero; sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]); @@ -3172,11 +3178,11 @@ static void AnimItemStealStep(struct Sprite* sprite) if (sprite->pos2.y == 0) PlaySE12WithPanning(SE_W145B, BattleAnimAdjustPanning(63)); - if (sub_80FF9E0(sprite)) + if (moveAlongLinearPath(sprite)) { sprite->pos2.y = 0; sprite->data[0] = 0; - sprite->callback = sub_80FFA84; + sprite->callback = AnimItemStealStep2; PlaySE12WithPanning(SE_W145B, BattleAnimAdjustPanning(-64)); } } @@ -3253,9 +3259,9 @@ static void AnimTrickBagStep1(struct Sprite* sprite) static void AnimTrickBagStep2(struct Sprite* sprite) { - if (sprite->data[2] == gUnknown_08592700[sprite->data[0]][1]) + if (sprite->data[2] == gTrickBagCoordinates[sprite->data[0]][1]) { - if (gUnknown_08592700[sprite->data[0]][2] == 127) + if (gTrickBagCoordinates[sprite->data[0]][2] == 127) { sprite->data[0] = 0; sprite->callback = AnimTrickBagStep3; @@ -3267,7 +3273,7 @@ static void AnimTrickBagStep2(struct Sprite* sprite) else { sprite->data[2]++; - sprite->data[1] = (gUnknown_08592700[sprite->data[0]][0] * gUnknown_08592700[sprite->data[0]][2] + sprite->data[1]) & 0xFF; + sprite->data[1] = (gTrickBagCoordinates[sprite->data[0]][0] * gTrickBagCoordinates[sprite->data[0]][2] + sprite->data[1]) & 0xFF; if (!IsContest()) { if ((u16)(sprite->data[1] - 1) < 191) @@ -3290,7 +3296,7 @@ static void AnimTrickBagStep3(struct Sprite* sprite) sprite->data[0]++; } -void sub_80FFFC0(u8 taskId) +void AnimTask_LeafBlade(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -3302,7 +3308,7 @@ void sub_80FFFC0(u8 taskId) task->data[5] = (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) ? 1 : -1; task->data[9] = 56 - (task->data[5] * 64); task->data[8] = task->data[7] - task->data[9] + task->data[6]; - task->data[2] = CreateSprite(&gUnknown_08592778, task->data[8], task->data[9], task->data[4]); + task->data[2] = CreateSprite(&gLeafBladeSpriteTemplate, task->data[8], task->data[9], task->data[4]); if (task->data[2] == MAX_SPRITES) DestroyAnimVisualTask(taskId); @@ -3311,12 +3317,12 @@ void sub_80FFFC0(u8 taskId) gSprites[task->data[2]].data[2] = task->data[6] - (task->data[10] / 2 + 10) * task->data[5]; gSprites[task->data[2]].data[3] = task->data[9]; gSprites[task->data[2]].data[4] = task->data[7] + (task->data[11] / 2 + 10) * task->data[5]; - gSprites[task->data[2]].data[5] = sub_8100504(&gSprites[task->data[2]]); + gSprites[task->data[2]].data[5] = LeafBladeGetPosFactor(&gSprites[task->data[2]]); InitAnimArcTranslation(&gSprites[task->data[2]]); - task->func = sub_8100128; + task->func = AnimTask_LeafBladeStep; } -static void sub_8100128(u8 taskId) +static void AnimTask_LeafBladeStep(u8 taskId) { struct Task* task = &gTasks[taskId]; struct Sprite* sprite = &gSprites[task->data[2]]; @@ -3324,7 +3330,7 @@ static void sub_8100128(u8 taskId) switch (a) { case 4: - sub_8100524(task, taskId); + AnimTask_LeafBladeStep2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 5; @@ -3332,7 +3338,7 @@ static void sub_8100128(u8 taskId) } break; case 8: - sub_8100524(task, taskId); + AnimTask_LeafBladeStep2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 9; @@ -3340,7 +3346,7 @@ static void sub_8100128(u8 taskId) } break; case 0: - sub_8100524(task, taskId); + AnimTask_LeafBladeStep2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 1; @@ -3357,7 +3363,7 @@ static void sub_8100128(u8 taskId) sprite->data[2] = task->data[6]; sprite->data[3] = sprite->pos1.y; sprite->data[4] = task->data[7]; - sprite->data[5] = sub_8100504(sprite); + sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[4] += 2; task->data[3] = a; sprite->subpriority = task->data[4]; @@ -3366,7 +3372,7 @@ static void sub_8100128(u8 taskId) task->data[0]++; break; case 2: - sub_8100524(task, taskId); + AnimTask_LeafBladeStep2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 3; @@ -3383,7 +3389,7 @@ static void sub_8100128(u8 taskId) sprite->data[2] = task->data[6] - ((task->data[10] / 2) + 10) * task->data[5]; sprite->data[3] = sprite->pos1.y; sprite->data[4] = task->data[7] - ((task->data[11] / 2) + 10) * task->data[5]; - sprite->data[5] = sub_8100504(sprite); + sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[3] = 2; sprite->subpriority = task->data[4]; StartSpriteAnim(sprite, task->data[3]); @@ -3400,7 +3406,7 @@ static void sub_8100128(u8 taskId) sprite->data[2] = task->data[6] + ((task->data[10] / 2) + 10) * task->data[5]; sprite->data[3] = sprite->pos1.y; sprite->data[4] = task->data[7] + ((task->data[11] / 2) + 10) * task->data[5]; - sprite->data[5] = sub_8100504(sprite); + sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[4] -= 2; task->data[3] = 3; sprite->subpriority = task->data[4]; @@ -3409,7 +3415,7 @@ static void sub_8100128(u8 taskId) task->data[0]++; break; case 6: - sub_8100524(task, taskId); + AnimTask_LeafBladeStep2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 7; @@ -3426,7 +3432,7 @@ static void sub_8100128(u8 taskId) sprite->data[2] = task->data[6]; sprite->data[3] = sprite->pos1.y; sprite->data[4] = task->data[7]; - sprite->data[5] = sub_8100504(sprite); + sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[4] += 2; task->data[3] = 4; sprite->subpriority = task->data[4]; @@ -3444,7 +3450,7 @@ static void sub_8100128(u8 taskId) sprite->data[2] = task->data[6] - ((task->data[10] / 2) + 10) * task->data[5]; sprite->data[3] = sprite->pos1.y; sprite->data[4] = task->data[7] + ((task->data[11] / 2) + 10) * task->data[5]; - sprite->data[5] = sub_8100504(sprite); + sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[3] = 5; sprite->subpriority = task->data[4]; StartSpriteAnim(sprite, task->data[3]); @@ -3452,7 +3458,7 @@ static void sub_8100128(u8 taskId) task->data[0]++; break; case 10: - sub_8100524(task, taskId); + AnimTask_LeafBladeStep2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 11; @@ -3470,7 +3476,7 @@ static void sub_8100128(u8 taskId) sprite->data[2] = task->data[8]; sprite->data[3] = sprite->pos1.y; sprite->data[4] = task->data[9]; - sprite->data[5] = sub_8100504(sprite); + sprite->data[5] = LeafBladeGetPosFactor(sprite); task->data[4] -= 2; task->data[3] = 6; sprite->subpriority = task->data[4]; @@ -3480,7 +3486,7 @@ static void sub_8100128(u8 taskId) break; } case 12: - sub_8100524(task, taskId); + AnimTask_LeafBladeStep2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { DestroySprite(sprite); @@ -3501,7 +3507,7 @@ static void sub_8100128(u8 taskId) } } -static s16 sub_8100504(struct Sprite* sprite) +static s16 LeafBladeGetPosFactor(struct Sprite* sprite) { s16 var = 8; if (sprite->data[4] < sprite->pos1.y) @@ -3510,7 +3516,7 @@ static s16 sub_8100504(struct Sprite* sprite) return var; } -static void sub_8100524(struct Task* task, u8 taskId) +static void AnimTask_LeafBladeStep2(struct Task* task, u8 taskId) { task->data[14]++; if (task->data[14] > 0) @@ -3521,7 +3527,7 @@ static void sub_8100524(struct Task* task, u8 taskId) task->data[14] = 0; spriteX = gSprites[task->data[2]].pos1.x + gSprites[task->data[2]].pos2.x; spriteY = gSprites[task->data[2]].pos1.y + gSprites[task->data[2]].pos2.y; - spriteId = CreateSprite(&gUnknown_08592778, spriteX, spriteY, task->data[4]); + spriteId = CreateSprite(&gLeafBladeSpriteTemplate, spriteX, spriteY, task->data[4]); if (spriteId != MAX_SPRITES) { gSprites[spriteId].data[6] = taskId; @@ -3531,12 +3537,12 @@ static void sub_8100524(struct Task* task, u8 taskId) gTasks[taskId].data[13]++; StartSpriteAnim(&gSprites[spriteId], task->data[3]); gSprites[spriteId].subpriority = task->data[4]; - gSprites[spriteId].callback = sub_80CC408; + gSprites[spriteId].callback = AnimTask_LeafBladeStep2_Callback; } } } -static void sub_80CC408(struct Sprite* sprite) +static void AnimTask_LeafBladeStep2_Callback(struct Sprite* sprite) { sprite->data[0]++; if (sprite->data[0] > 1) @@ -3552,7 +3558,7 @@ static void sub_80CC408(struct Sprite* sprite) } } -void sub_8100640(struct Sprite* sprite) +void AnimFlyingParticle(struct Sprite* sprite) { u8 battler; if (!gBattleAnimArgs[6]) @@ -3597,10 +3603,10 @@ void sub_8100640(struct Sprite* sprite) break; } - sprite->callback = sub_810074C; + sprite->callback = AnimFlyingParticleStep; } -static void sub_810074C(struct Sprite* sprite) +static void AnimFlyingParticleStep(struct Sprite* sprite) { int a = sprite->data[7]; sprite->data[7]++; @@ -3651,7 +3657,7 @@ void sub_81007C4(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8100898(struct Sprite* sprite) +void AnimNeedleArmSpike(struct Sprite* sprite) { u8 a; u8 b; @@ -3703,11 +3709,11 @@ void sub_8100898(struct Sprite* sprite) c -= 0x8000; TrySetSpriteRotScale(sprite, 0, 0x100, 0x100, c); - sprite->callback = sub_81009A0; + sprite->callback = AnimNeedleArmSpikeStep; } } -static void sub_81009A0(struct Sprite* sprite) +static void AnimNeedleArmSpikeStep(struct Sprite* sprite) { if (sprite->data[0]) { @@ -3746,7 +3752,7 @@ void sub_81009F8(struct Sprite* sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_8100A50(struct Sprite* sprite) +void AnimWhipHit(struct Sprite* sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) StartSpriteAnim(sprite, 1); @@ -3800,7 +3806,7 @@ void AnimCuttingSlice(struct Sprite* sprite) sprite->data[1] = -sprite->data[1]; } -void sub_8100B88(struct Sprite* sprite) +void AnimAirCutterSlice(struct Sprite* sprite) { u8 a; u8 b; @@ -3937,7 +3943,7 @@ static void sub_8100E80(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_8100EF0(struct Sprite* sprite) +void AnimProtect(struct Sprite* sprite) { if (IsContest()) gBattleAnimArgs[1] += 8; @@ -3954,10 +3960,10 @@ void sub_8100EF0(struct Sprite* sprite) sprite->data[7] = 16; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - sprite->data[7], sprite->data[7])); - sprite->callback = sub_8100FD4; + sprite->callback = AnimProtectStep; } -static void sub_8100FD4(struct Sprite *sprite) +static void AnimProtectStep(struct Sprite *sprite) { int a; int i; @@ -4000,7 +4006,7 @@ static void sub_8100FD4(struct Sprite *sprite) } } -void sub_81010CC(struct Sprite* sprite) +void AnimMilkBottle(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 0xFFE8; @@ -4013,10 +4019,10 @@ void sub_81010CC(struct Sprite* sprite) sprite->data[7] = 16; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7])); - sprite->callback = sub_8101138; + sprite->callback = AnimMilkBottleStep1; } -static void sub_8101138(struct Sprite* sprite) +static void AnimMilkBottleStep1(struct Sprite* sprite) { switch (sprite->data[0]) { @@ -4049,7 +4055,7 @@ static void sub_8101138(struct Sprite* sprite) } break; case 2: - sub_8101298(sprite, 16, 4); + AnimMilkBottleStep2(sprite, 16, 4); if (++sprite->data[1] > 2) { sprite->data[1] = 0; @@ -4089,7 +4095,7 @@ static void sub_8101138(struct Sprite* sprite) } } -static void sub_8101298(struct Sprite* sprite, int unk1, int unk2) +static void AnimMilkBottleStep2(struct Sprite* sprite, int unk1, int unk2) { if (sprite->data[3] <= 11) sprite->data[4] += 2; @@ -4110,7 +4116,7 @@ static void sub_8101298(struct Sprite* sprite, int unk1, int unk2) sprite->data[3] = 0; } -void sub_810130C(struct Sprite* sprite) +void AnimGrantingStars(struct Sprite* sprite) { if (!gBattleAnimArgs[2]) SetSpriteCoordsToAnimAttackerCoords(sprite); @@ -4124,7 +4130,7 @@ void sub_810130C(struct Sprite* sprite) sprite->callback = TranslateSpriteLinearFixedPoint; } -void sub_810135C(struct Sprite* sprite) +void AnimSparkingStars(struct Sprite* sprite) { u8 battler; if (!gBattleAnimArgs[2]) @@ -4192,7 +4198,7 @@ static void sub_81014A0(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_81014F4(struct Sprite* sprite) +void AnimSleepLetterZ(struct Sprite* sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) @@ -4209,10 +4215,10 @@ void sub_81014F4(struct Sprite* sprite) StartSpriteAffineAnim(sprite, 1); } - sprite->callback = sub_8101560; + sprite->callback = AnimSleepLetterZStep; } -static void sub_8101560(struct Sprite* sprite) +static void AnimSleepLetterZStep(struct Sprite* sprite) { sprite->pos2.y = -(sprite->data[0] / 0x28); sprite->pos2.x = sprite->data[4] / 10; @@ -4222,23 +4228,23 @@ static void sub_8101560(struct Sprite* sprite) DestroySpriteAndMatrix(sprite); } -void sub_81015AC(struct Sprite* sprite) +void AnimLockOnTarget(struct Sprite* sprite) { sprite->pos1.x -= 32; sprite->pos1.y -= 32; sprite->data[0] = 20; sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData6(sprite, sub_81015D4); + StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep1); } -static void sub_81015D4(struct Sprite* sprite) +static void AnimLockOnTargetStep1(struct Sprite* sprite) { switch (sprite->data[5] & 1) { case 0: sprite->data[0] = 1; sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData6(sprite, sub_81015D4); + StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep1); break; case 1: sprite->pos1.x += sprite->pos2.x; @@ -4246,10 +4252,10 @@ static void sub_81015D4(struct Sprite* sprite) sprite->pos2.y = 0; sprite->pos2.x = 0; sprite->data[0] = 8; - sprite->data[2] = sprite->pos1.x + gUnknown_08592CD0[sprite->data[5] >> 8][0]; - sprite->data[4] = sprite->pos1.y + gUnknown_08592CD0[sprite->data[5] >> 8][1]; + sprite->data[2] = sprite->pos1.x + gInclineMonCoordTable[sprite->data[5] >> 8][0]; + sprite->data[4] = sprite->pos1.y + gInclineMonCoordTable[sprite->data[5] >> 8][1]; sprite->callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(sprite, sub_8101684); + StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep2); sprite->data[5] += 0x100; PlaySE12WithPanning(SE_W199, BattleAnimAdjustPanning(63)); break; @@ -4258,21 +4264,21 @@ static void sub_81015D4(struct Sprite* sprite) sprite->data[5] ^= 1; } -static void sub_8101684(struct Sprite* sprite) +static void AnimLockOnTargetStep2(struct Sprite* sprite) { if ((sprite->data[5] >> 8) == 4) { sprite->data[0] = 10; sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData6(sprite, sub_81016B8); + StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep3); } else { - sprite->callback = sub_81015D4; + sprite->callback = AnimLockOnTargetStep1; } } -static void sub_81016B8(struct Sprite* sprite) +static void AnimLockOnTargetStep3(struct Sprite* sprite) { s16 a; s16 b; @@ -4282,7 +4288,7 @@ static void sub_81016B8(struct Sprite* sprite) sprite->data[1] = 0; sprite->data[2] = 0; sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData6(sprite, sub_8101774); + StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep4); } else { @@ -4314,11 +4320,11 @@ static void sub_81016B8(struct Sprite* sprite) sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + a; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + b; sprite->callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(sprite, sub_8101820); + StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep5); } } -static void sub_8101774(struct Sprite* sprite) +static void AnimLockOnTargetStep4(struct Sprite* sprite) { if (sprite->data[2] == 0) { @@ -4341,21 +4347,21 @@ static void sub_8101774(struct Sprite* sprite) } else if (sprite->data[1] == 0) { - sprite->callback = sub_8101820; + sprite->callback = AnimLockOnTargetStep5; } } -static void sub_8101820(struct Sprite* sprite) +static void AnimLockOnTargetStep5(struct Sprite* sprite) { if ((u16)gBattleAnimArgs[7] == 0xFFFF) { sprite->data[1] = 0; sprite->data[0] = 0; - sprite->callback = sub_8101848; + sprite->callback = AnimLockOnTargetStep6; } } -static void sub_8101848(struct Sprite* sprite) +static void AnimLockOnTargetStep6(struct Sprite* sprite) { if (sprite->data[0] % 3 == 0) { @@ -4368,7 +4374,7 @@ static void sub_8101848(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_8101898(struct Sprite* sprite) +void AnimLockOnMoveTarget(struct Sprite* sprite) { sprite->oam.affineParam = gBattleAnimArgs[0]; if ((s16)sprite->oam.affineParam == 1) @@ -4396,42 +4402,42 @@ void sub_8101898(struct Sprite* sprite) } sprite->oam.tileNum = (sprite->oam.tileNum + 16); - sprite->callback = sub_81015AC; + sprite->callback = AnimLockOnTarget; sprite->callback(sprite); } -void sub_8101940(struct Sprite* sprite) +void AnimBowMon(struct Sprite* sprite) { sprite->invisible = 1; sprite->data[0] = 0; switch (gBattleAnimArgs[0]) { case 0: - sprite->callback = sub_8101998; + sprite->callback = AnimBowMonStep1; break; case 1: - sprite->callback = sub_8101A74; + sprite->callback = AnimBowMonStep2; break; case 2: - sprite->callback = sub_8101AC4; + sprite->callback = AnimBowMonStep3; break; default: - sprite->callback = sub_8101B84; + sprite->callback = AnimBowMonStep4; break; } } -static void sub_8101998(struct Sprite* sprite) +static void AnimBowMonStep1(struct Sprite* sprite) { sprite->data[0] = 6; sprite->data[1] = (GetBattlerSide(gBattleAnimAttacker)) ? 2 : -2; sprite->data[2] = 0; sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker]; - StoreSpriteCallbackInData6(sprite, sub_81019E8); + StoreSpriteCallbackInData6(sprite, AnimBowMonStep1_Callback); sprite->callback = TranslateMonSpriteLinear; } -static void sub_81019E8(struct Sprite* sprite) +static void AnimBowMonStep1_Callback(struct Sprite* sprite) { if (sprite->data[0] == 0) { @@ -4447,30 +4453,30 @@ static void sub_81019E8(struct Sprite* sprite) if (++sprite->data[0] > 3) { sprite->data[0] = 0; - sprite->callback = sub_8101B84; + sprite->callback = AnimBowMonStep4; } } -static void sub_8101A74(struct Sprite* sprite) +static void AnimBowMonStep2(struct Sprite* sprite) { sprite->data[0] = 4; sprite->data[1] = (GetBattlerSide(gBattleAnimAttacker)) ? -3 : 3; sprite->data[2] = 0; sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker]; - StoreSpriteCallbackInData6(sprite, sub_8101B84); + StoreSpriteCallbackInData6(sprite, AnimBowMonStep4); sprite->callback = TranslateMonSpriteLinear; } -static void sub_8101AC4(struct Sprite* sprite) +static void AnimBowMonStep3(struct Sprite* sprite) { if (++sprite->data[0] > 8) { sprite->data[0] = 0; - sprite->callback = sub_8101AE8; + sprite->callback = AnimBowMonStep3_Callback; } } -static void sub_8101AE8(struct Sprite* sprite) +static void AnimBowMonStep3_Callback(struct Sprite* sprite) { if (sprite->data[0] == 0) { @@ -4494,11 +4500,11 @@ static void sub_8101AE8(struct Sprite* sprite) if (++sprite->data[0] > 2) { ResetSpriteRotScale(sprite->data[3]); - sprite->callback = sub_8101B84; + sprite->callback = AnimBowMonStep4; } } -static void sub_8101B84(struct Sprite* sprite) +static void AnimBowMonStep4(struct Sprite* sprite) { DestroyAnimSprite(sprite); } @@ -4546,7 +4552,7 @@ static void sub_8101BA0(struct Sprite *sprite) } } -void sub_8101C94(u8 taskId) +void AnimTask_SkullBashPosition(u8 taskId) { u8 a; @@ -4567,7 +4573,7 @@ void sub_8101C94(u8 taskId) if (a == 0) gTasks[taskId].data[5] *= -1; - gTasks[taskId].func = sub_8101D2C; + gTasks[taskId].func = AnimTask_SkullBashPositionSet; break; case 1: gTasks[taskId].data[3] = 8; @@ -4579,12 +4585,12 @@ void sub_8101C94(u8 taskId) gTasks[taskId].data[5] = -gTasks[taskId].data[5]; } - gTasks[taskId].func = sub_8101EEC; + gTasks[taskId].func = AnimTask_SkullBashPositionReset; break; } } -static void sub_8101D2C(u8 taskId) +static void AnimTask_SkullBashPositionSet(u8 taskId) { struct Task *task = &gTasks[taskId]; switch (task->data[2]) @@ -4675,7 +4681,7 @@ static void sub_8101D2C(u8 taskId) } } -static void sub_8101EEC(u8 taskId) +static void AnimTask_SkullBashPositionReset(u8 taskId) { struct Task* task = &gTasks[taskId]; if (task->data[3]) @@ -4692,7 +4698,7 @@ static void sub_8101EEC(u8 taskId) } } -void sub_8101F40(struct Sprite* sprite) +void AnimSlashSlice(struct Sprite* sprite) { if (gBattleAnimArgs[0] == 0) { @@ -4707,48 +4713,48 @@ void sub_8101F40(struct Sprite* sprite) sprite->data[0] = 0; sprite->data[1] = 0; - StoreSpriteCallbackInData6(sprite, sub_810208C); + StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSliceStep3); sprite->callback = RunStoredCallbackWhenAnimEnds; } -void sub_8101FA8(struct Sprite* sprite) +void AnimFalseSwipeSlice(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0; sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3); - StoreSpriteCallbackInData6(sprite, sub_8102044); + StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSliceStep1); sprite->callback = RunStoredCallbackWhenAnimEnds; } -void sub_8101FF0(struct Sprite* sprite) +void AnimFalseSwipePositionedSlice(struct Sprite* sprite) { sprite->pos1.x = sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0 + gBattleAnimArgs[0]; sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3); StartSpriteAnim(sprite, 1); sprite->data[0] = 0; sprite->data[1] = 0; - sprite->callback = sub_810208C; + sprite->callback = AnimFalseSwipeSliceStep3; } -static void sub_8102044(struct Sprite* sprite) +static void AnimFalseSwipeSliceStep1(struct Sprite* sprite) { if (++sprite->data[0] > 8) { sprite->data[0] = 12; sprite->data[1] = 8; sprite->data[2] = 0; - StoreSpriteCallbackInData6(sprite, sub_810207C); + StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSliceStep2); sprite->callback = TranslateSpriteLinear; } } -static void sub_810207C(struct Sprite* sprite) +static void AnimFalseSwipeSliceStep2(struct Sprite* sprite) { sprite->data[0] = 0; sprite->data[1] = 0; - sprite->callback = sub_810208C; + sprite->callback = AnimFalseSwipeSliceStep3; } -static void sub_810208C(struct Sprite* sprite) +static void AnimFalseSwipeSliceStep3(struct Sprite* sprite) { if (++sprite->data[0] > 1) { @@ -4759,7 +4765,7 @@ static void sub_810208C(struct Sprite* sprite) } } -void sub_81020D8(struct Sprite* sprite) +void AnimEndureEnergy(struct Sprite* sprite) { if (gBattleAnimArgs[0] == 0) { @@ -4774,10 +4780,10 @@ void sub_81020D8(struct Sprite* sprite) sprite->data[0] = 0; sprite->data[1] = gBattleAnimArgs[3]; - sprite->callback = sub_810213C; + sprite->callback = AnimEndureEnergyStep; } -static void sub_810213C(struct Sprite* sprite) +static void AnimEndureEnergyStep(struct Sprite* sprite) { if (++sprite->data[0] > sprite->data[1]) { @@ -4790,7 +4796,7 @@ static void sub_810213C(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_810217C(struct Sprite* sprite) +void AnimSharpenSphere(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) - 12; @@ -4800,10 +4806,10 @@ void sub_810217C(struct Sprite* sprite) sprite->data[3] = 0; sprite->data[4] = 0; sprite->data[5] = BattleAnimAdjustPanning(-64); - sprite->callback = sub_81021CC; + sprite->callback = AnimSharpenSphereStep; } -static void sub_81021CC(struct Sprite* sprite) +static void AnimSharpenSphereStep(struct Sprite* sprite) { if (++sprite->data[0] >= sprite->data[1]) { @@ -4827,7 +4833,7 @@ static void sub_81021CC(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_8102268(struct Sprite* sprite) +void AnimConversion(struct Sprite* sprite) { if (sprite->data[0] == 0) { @@ -4843,7 +4849,7 @@ void sub_8102268(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_81022D4(u8 taskId) +void AnimTask_ConversionAlphaBlend(u8 taskId) { if (gTasks[taskId].data[2] == 1) { @@ -4867,15 +4873,15 @@ void sub_81022D4(u8 taskId) } } -void sub_810234C(struct Sprite* sprite) +void AnimConversion2(struct Sprite* sprite) { InitSpritePosToAnimTarget(sprite, FALSE); sprite->animPaused = 1; sprite->data[0] = gBattleAnimArgs[2]; - sprite->callback = sub_810237C; + sprite->callback = AnimConversion2Step; } -static void sub_810237C(struct Sprite* sprite) +static void AnimConversion2Step(struct Sprite* sprite) { if (sprite->data[0]) { @@ -4892,7 +4898,7 @@ static void sub_810237C(struct Sprite* sprite) } } -void sub_81023E0(u8 taskId) +void AnimTask_Conversion2AlphaBlend(u8 taskId) { if (++gTasks[taskId].data[0] == 4) { @@ -4928,7 +4934,7 @@ void unref_sub_81024A8(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_81024E0(struct Sprite* sprite) +void AnimMoon(struct Sprite* sprite) { if (IsContest()) { @@ -4941,19 +4947,19 @@ void sub_81024E0(struct Sprite* sprite) sprite->pos1.y = gBattleAnimArgs[1]; } - sprite->oam.shape = 0; - sprite->oam.size = 3; + sprite->oam.shape = SPRITE_SHAPE(64x64); + sprite->oam.size = SPRITE_SIZE(64x64); sprite->data[0] = 0; - sprite->callback = sub_8102528; + sprite->callback = AnimMoonStep; } -static void sub_8102528(struct Sprite* sprite) +static void AnimMoonStep(struct Sprite* sprite) { if (sprite->data[0]) DestroyAnimSprite(sprite); } -void sub_8102540(struct Sprite* sprite) +void AnimMoonlightSparkle(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0]; sprite->pos1.y = gBattleAnimArgs[1]; @@ -4962,10 +4968,10 @@ void sub_8102540(struct Sprite* sprite) sprite->data[2] = 0; sprite->data[3] = 0; sprite->data[4] = 1; - sprite->callback = sub_8102584; + sprite->callback = AnimMoonlightSparkleStep; } -static void sub_8102584(struct Sprite* sprite) +static void AnimMoonlightSparkleStep(struct Sprite* sprite) { if (++sprite->data[1] > 1) { @@ -4981,10 +4987,10 @@ static void sub_8102584(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_81026A8(u8); +void AnimTask_FadeScreenBlueStep(u8); -void sub_81025C0(u8 taskId) +void AnimTask_FadeScreenBlue(u8 taskId) { int a = sub_80A75AC(1, 0, 0, 0, 0, 0, 0) & 0xFFFF; int b; @@ -5007,11 +5013,11 @@ void sub_81025C0(u8 taskId) b = b | (0x10000 << IndexOfSpritePaletteTag(ANIM_TAG_MOON)); d = IndexOfSpritePaletteTag(ANIM_TAG_GREEN_SPARKLE); BeginNormalPaletteFade((0x10000 << d) | b, 0, 0, 16, RGB(27, 29, 31)); - gTasks[taskId].func = sub_81026A8; + gTasks[taskId].func = AnimTask_FadeScreenBlueStep; gTasks[taskId].func(taskId); } -void sub_81026A8(u8 taskId) +void AnimTask_FadeScreenBlueStep(u8 taskId) { struct Task* task = &gTasks[taskId]; switch (task->data[0]) @@ -5067,7 +5073,7 @@ void sub_81026A8(u8 taskId) u8 spriteId; for (spriteId = 0; spriteId < MAX_SPRITES; spriteId++) { - if (gSprites[spriteId].template == &gUnknown_08592EBC || gSprites[spriteId].template == &gBattleAnimSpriteTemplate_8592EEC) + if (gSprites[spriteId].template == &gMoonSpriteTemplate || gSprites[spriteId].template == &gMoonlightSparkleSpriteTemplate) gSprites[spriteId].data[0] = 1; } @@ -5089,7 +5095,7 @@ void sub_81026A8(u8 taskId) } } -void sub_8102844(struct Sprite* sprite) +void AnimHornHit(struct Sprite* sprite) { if (gBattleAnimArgs[2] < 2) gBattleAnimArgs[2] = 2; @@ -5133,10 +5139,10 @@ void sub_8102844(struct Sprite* sprite) sprite->oam.matrixNum = (ST_OAM_HFLIP | ST_OAM_VFLIP); } - sprite->callback = sub_810296C; + sprite->callback = AnimHornHitStep; } -static void sub_810296C(struct Sprite* sprite) +static void AnimHornHitStep(struct Sprite* sprite) { sprite->data[2] += sprite->data[3]; sprite->data[4] += sprite->data[5]; @@ -5152,7 +5158,7 @@ static void sub_810296C(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_81029B4(u8 taskId) +void AnimTask_DoubleTeam(u8 taskId) { u16 i; int obj; @@ -5175,19 +5181,19 @@ void sub_81029B4(u8 taskId) gSprites[obj].data[0] = 0; gSprites[obj].data[1] = i << 7; gSprites[obj].data[2] = taskId; - gSprites[obj].callback = sub_8102B3C; + gSprites[obj].callback = AnimTask_DoubleTeamCallback; task->data[3]++; i++; } - task->func = sub_8102AE0; + task->func = AnimTask_DoubleTeamStep; if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1) ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON); else ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON); } -static void sub_8102AE0(u8 taskId) +static void AnimTask_DoubleTeamStep(u8 taskId) { struct Task* task = &gTasks[taskId]; if (!task->data[3]) @@ -5202,7 +5208,7 @@ static void sub_8102AE0(u8 taskId) } } -static void sub_8102B3C(struct Sprite* sprite) +static void AnimTask_DoubleTeamCallback(struct Sprite* sprite) { if (++sprite->data[3] > 1) { @@ -5224,57 +5230,57 @@ static void sub_8102B3C(struct Sprite* sprite) } } -void sub_8102BCC(struct Sprite* sprite) +void AnimSuperFang(struct Sprite* sprite) { StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); sprite->callback = RunStoredCallbackWhenAnimEnds; } -void sub_8102BE8(u8 taskId) +void AnimTask_MusicNotesRainbowBlend(u8 taskId) { u16 i; u16 j; u16 index; - index = IndexOfSpritePaletteTag(gUnknown_08593020[0][0]); + index = IndexOfSpritePaletteTag(gParticlesColorBlendTable[0][0]); if (index != 0xFF) { index = (index << 4) + 0x100; - for (i = 1; i < ARRAY_COUNT(gUnknown_08593020[0]); i++) - gPlttBufferFaded[index + i] = gUnknown_08593020[0][i]; + for (i = 1; i < ARRAY_COUNT(gParticlesColorBlendTable[0]); i++) + gPlttBufferFaded[index + i] = gParticlesColorBlendTable[0][i]; } - for (j = 1; j < ARRAY_COUNT(gUnknown_08593020); j++) + for (j = 1; j < ARRAY_COUNT(gParticlesColorBlendTable); j++) { - index = AllocSpritePalette(gUnknown_08593020[j][0]); + index = AllocSpritePalette(gParticlesColorBlendTable[j][0]); if (index != 0xFF) { index = (index << 4) + 0x100; - for (i = 1; i < ARRAY_COUNT(gUnknown_08593020[0]); i++) - gPlttBufferFaded[index + i] = gUnknown_08593020[j][i]; + for (i = 1; i < ARRAY_COUNT(gParticlesColorBlendTable[0]); i++) + gPlttBufferFaded[index + i] = gParticlesColorBlendTable[j][i]; } } DestroyAnimVisualTask(taskId); } // clears the rainbow effect for musical notes. -void sub_8102CA0(u8 taskId) +void AnimTask_MusicNotesClearRainbowBlend(u8 taskId) { u16 i; - for (i = 1; i < ARRAY_COUNT(gUnknown_08593020); i++) - FreeSpritePaletteByTag(gUnknown_08593020[i][0]); + for (i = 1; i < ARRAY_COUNT(gParticlesColorBlendTable); i++) + FreeSpritePaletteByTag(gParticlesColorBlendTable[i][0]); DestroyAnimVisualTask(taskId); } -void sub_8102CD4(struct Sprite* sprite) +void AnimWavyMusicNotes(struct Sprite* sprite) { u8 index; u8 a; u8 b; SetSpriteCoordsToAnimAttackerCoords(sprite); StartSpriteAnim(sprite, gBattleAnimArgs[0]); - if ((index = IndexOfSpritePaletteTag(gUnknown_08593020[gBattleAnimArgs[1]][0])) != 0xFF) + if ((index = IndexOfSpritePaletteTag(gParticlesColorBlendTable[gBattleAnimArgs[1]][0])) != 0xFF) sprite->oam.paletteNum = index; sprite->data[1] = gBattleAnimArgs[1]; @@ -5293,11 +5299,11 @@ void sub_8102CD4(struct Sprite* sprite) sprite->data[4] = sprite->pos1.x << 4; sprite->data[5] = sprite->pos1.y << 4; - sub_8102D8C(a - sprite->pos1.x, b - sprite->pos1.y, &sprite->data[6], &sprite->data[7], 40); - sprite->callback = sub_8102DE4; + AnimWavyMusicNotesGetNextPos(a - sprite->pos1.x, b - sprite->pos1.y, &sprite->data[6], &sprite->data[7], 40); + sprite->callback = AnimWavyMusicNotesStep; } -static void sub_8102D8C(s16 a, s16 b, s16* c, s16* d, s8 e) +static void AnimWavyMusicNotesGetNextPos(s16 a, s16 b, s16* c, s16* d, s8 e) { int f; int g; @@ -5313,7 +5319,7 @@ static void sub_8102D8C(s16 a, s16 b, s16* c, s16* d, s8 e) *d = (b << 8) / g; } -static void sub_8102DE4(struct Sprite* sprite) +static void AnimWavyMusicNotesStep(struct Sprite* sprite) { s16 y, yDelta; u8 index; @@ -5339,14 +5345,14 @@ static void sub_8102DE4(struct Sprite* sprite) if (++sprite->data[1] > 3) sprite->data[1] = 0; - index = IndexOfSpritePaletteTag(gUnknown_08593020[sprite->data[1]][0]); + index = IndexOfSpritePaletteTag(gParticlesColorBlendTable[sprite->data[1]][0]); if (index != 0xFF) sprite->oam.paletteNum = index; } } } -void sub_8102EB0(struct Sprite* sprite) +void AnimFlyingMusicNotes(struct Sprite* sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) gBattleAnimArgs[1] *= -1; @@ -5360,10 +5366,10 @@ void sub_8102EB0(struct Sprite* sprite) sprite->data[5] = sprite->pos1.y << 4; sprite->data[6] = (gBattleAnimArgs[1] << 4) / 5; sprite->data[7] = (gBattleAnimArgs[2] << 7) / 5; - sprite->callback = sub_8102F40; + sprite->callback = AnimFlyingMusicNotesStep; } -static void sub_8102F40(struct Sprite* sprite) +static void AnimFlyingMusicNotesStep(struct Sprite* sprite) { sprite->data[4] += sprite->data[6]; sprite->data[5] += sprite->data[7]; @@ -5382,7 +5388,7 @@ static void sub_8102F40(struct Sprite* sprite) DestroySpriteAndMatrix(sprite); } -void sub_8102FB8(struct Sprite* sprite) +void AnimBellyDrumHand(struct Sprite* sprite) { s16 a; if (gBattleAnimArgs[0] == 1) @@ -5402,14 +5408,14 @@ void sub_8102FB8(struct Sprite* sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_8103028(struct Sprite* sprite) +void AnimSlowFlyingMusicNotes(struct Sprite* sprite) { s16 xDiff; u8 index; SetSpriteCoordsToAnimAttackerCoords(sprite); sprite->pos1.y += 8; StartSpriteAnim(sprite, gBattleAnimArgs[1]); - index = IndexOfSpritePaletteTag(gUnknown_08593020[gBattleAnimArgs[2]][0]); + index = IndexOfSpritePaletteTag(gParticlesColorBlendTable[gBattleAnimArgs[2]][0]); if (index != 0xFF) sprite->oam.paletteNum = index; @@ -5421,10 +5427,10 @@ void sub_8103028(struct Sprite* sprite) sprite->data[4] = sprite->data[3] - 40; InitAnimLinearTranslation(sprite); sprite->data[5] = gBattleAnimArgs[3]; - sprite->callback = sub_81030B0; + sprite->callback = AnimSlowFlyingMusicNotesStep; } -static void sub_81030B0(struct Sprite* sprite) +static void AnimSlowFlyingMusicNotesStep(struct Sprite* sprite) { if (AnimTranslateLinear(sprite) == 0) { @@ -5443,7 +5449,7 @@ static void sub_81030B0(struct Sprite* sprite) } } -void sub_810310C(u8 battler, struct Sprite* sprite) +void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite) { if (GetBattlerSide(battler) == B_SIDE_PLAYER) sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) + 8; @@ -5453,7 +5459,7 @@ void sub_810310C(u8 battler, struct Sprite* sprite) sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) - (s16)GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4; } -void sub_8103164(struct Sprite* sprite) +void AnimThoughtBubble(struct Sprite* sprite) { u8 a; u8 battler; @@ -5462,16 +5468,16 @@ void sub_8103164(struct Sprite* sprite) else battler = gBattleAnimTarget; - sub_810310C(battler, sprite); + SetSpriteNextToMonHead(battler, sprite); a = (GetBattlerSide(battler) == B_SIDE_PLAYER) ? 0 : 1; sprite->data[0] = gBattleAnimArgs[1]; sprite->data[1] = a + 2; StartSpriteAnim(sprite, a); - StoreSpriteCallbackInData6(sprite, sub_81031D0); + StoreSpriteCallbackInData6(sprite, AnimThoughtBubbleStep); sprite->callback = RunStoredCallbackWhenAnimEnds; } -static void sub_81031D0(struct Sprite* sprite) +static void AnimThoughtBubbleStep(struct Sprite* sprite) { if (--sprite->data[0] == 0) { @@ -5481,7 +5487,7 @@ static void sub_81031D0(struct Sprite* sprite) } } -void sub_8103208(struct Sprite* sprite) +void AnimMetronomeFinger(struct Sprite* sprite) { u8 battler; if (gBattleAnimArgs[0] == 0) @@ -5489,13 +5495,13 @@ void sub_8103208(struct Sprite* sprite) else battler = gBattleAnimTarget; - sub_810310C(battler, sprite); + SetSpriteNextToMonHead(battler, sprite); sprite->data[0] = 0; - StoreSpriteCallbackInData6(sprite, sub_8103250); + StoreSpriteCallbackInData6(sprite, AnimMetronomeFingerStep); sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -static void sub_8103250(struct Sprite* sprite) +static void AnimMetronomeFingerStep(struct Sprite* sprite) { if (++sprite->data[0] > 16) { @@ -5505,7 +5511,7 @@ static void sub_8103250(struct Sprite* sprite) } } -void sub_8103284(struct Sprite* sprite) +void AnimFollowMeFinger(struct Sprite* sprite) { u8 battler; if (gBattleAnimArgs[0] == 0) @@ -5523,17 +5529,17 @@ void sub_8103284(struct Sprite* sprite) sprite->data[2] = sprite->subpriority; sprite->data[3] = sprite->subpriority + 4; sprite->data[4] = 0; - StoreSpriteCallbackInData6(sprite, sub_8103300); + StoreSpriteCallbackInData6(sprite, AnimFollowMeFingerStep1); sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -static void sub_8103300(struct Sprite* sprite) +static void AnimFollowMeFingerStep1(struct Sprite* sprite) { if (++sprite->data[4] > 12) - sprite->callback = sub_8103320; + sprite->callback = AnimFollowMeFingerStep2; } -static void sub_8103320(struct Sprite* sprite) +static void AnimFollowMeFingerStep2(struct Sprite* sprite) { s16 x1, x2; @@ -5543,7 +5549,7 @@ static void sub_8103320(struct Sprite* sprite) if (--sprite->data[0] == 0) { sprite->pos2.x = 0; - sprite->callback = sub_8103250; + sprite->callback = AnimMetronomeFingerStep; return; } else @@ -5563,7 +5569,7 @@ static void sub_8103320(struct Sprite* sprite) sprite->pos2.x = (x1 >> 3) + (x2 >> 1); } -void sub_8103390(struct Sprite* sprite) +void AnimTauntFinger(struct Sprite* sprite) { u8 battler; if (gBattleAnimArgs[0] == 0) @@ -5571,7 +5577,7 @@ void sub_8103390(struct Sprite* sprite) else battler = gBattleAnimTarget; - sub_810310C(battler, sprite); + SetSpriteNextToMonHead(battler, sprite); if (GetBattlerSide(battler) == B_SIDE_PLAYER) { StartSpriteAnim(sprite, 0); @@ -5583,21 +5589,21 @@ void sub_8103390(struct Sprite* sprite) sprite->data[0] = 3; } - sprite->callback = sub_81033F0; + sprite->callback = AnimTauntFingerStep1; } -static void sub_81033F0(struct Sprite* sprite) +static void AnimTauntFingerStep1(struct Sprite* sprite) { if (++sprite->data[1] > 10) { sprite->data[1] = 0; StartSpriteAnim(sprite, sprite->data[0]); - StoreSpriteCallbackInData6(sprite, sub_810342C); + StoreSpriteCallbackInData6(sprite, AnimTauntFingerStep2); sprite->callback = RunStoredCallbackWhenAnimEnds; } } -static void sub_810342C(struct Sprite* sprite) +static void AnimTauntFingerStep2(struct Sprite* sprite) { if (++sprite->data[1] > 5) DestroyAnimSprite(sprite); diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 1add76bf36..dcbcced39d 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle_anim.h" #include "battle_interface.h" #include "decompress.h" @@ -23,93 +23,94 @@ void sub_8103620(struct Sprite *); void Anim_KinesisZapEnergy(struct Sprite *); void Anim_SwordsDanceBlade(struct Sprite *); void AnimSonicBoomProjectile(struct Sprite *); -void sub_8103AA4(struct Sprite *); +void AnimAirWaveProjectile(struct Sprite *); void sub_8103FE8(struct Sprite *); -void sub_8104088(struct Sprite *); -void sub_810413C(struct Sprite *); -void sub_81041C4(struct Sprite *); -void Anim_RazorWindTornado(struct Sprite *); -void Anim_ViceGripPincer(struct Sprite *); -void Anim_GuillotinePincer(struct Sprite *); -void Anim_BreathPuff(struct Sprite *); -void Anim_AngerMark(struct Sprite *); -void sub_810501C(struct Sprite *); -void sub_81051C4(struct Sprite *); -void sub_81052A4(struct Sprite *); -void sub_81054E8(struct Sprite *); -void sub_8105538(struct Sprite *); -void sub_8105C48(struct Sprite *); -void sub_8105DE8(struct Sprite *); -void sub_8105E60(struct Sprite *); -void sub_8106140(struct Sprite *); -void sub_81061C4(struct Sprite *); -void sub_810624C(struct Sprite *); +void AnimCoinThrow(struct Sprite *); +void AnimFallingCoin(struct Sprite *); +void AnimBulletSeed(struct Sprite *); +void AnimRazorWindTornado(struct Sprite *); +void AnimViceGripPincer(struct Sprite *); +void AnimGuillotinePincer(struct Sprite *); +void AnimBreathPuff(struct Sprite *); +void AnimAngerMark(struct Sprite *); +void AnimPencil(struct Sprite *); +void AnimBlendThinRing(struct Sprite *); +void AnimHyperVoiceRing(struct Sprite *); +void AnimUproarRing(struct Sprite *); +void AnimSoftBoiledEgg(struct Sprite *); +void AnimSpeedDust(struct Sprite *); +void AnimHealBellMusicNote(struct Sprite *); +void AnimMagentaHeart(struct Sprite *); +void AnimRedHeartProjectile(struct Sprite *); +void AnimParticuleBurst(struct Sprite *); +void AnimRedHeartRising(struct Sprite *); void AnimOrbitFast(struct Sprite *); void AnimOrbitScatter(struct Sprite *); -void sub_8106944(struct Sprite *); -void sub_81069B8(struct Sprite *); -void sub_81069D0(struct Sprite *); -void sub_8106AD0(struct Sprite *); -void sub_8106B54(struct Sprite *); -void sub_8106C80(struct Sprite *); -void sub_8106CD0(struct Sprite *); -void sub_8106E00(struct Sprite *); -void sub_8106F00(struct Sprite *); -void sub_8106F60(struct Sprite *); -void sub_81070AC(struct Sprite *); +void AnimSpitUpOrb(struct Sprite *); +void AnimEyeSparkle(struct Sprite *); +void AnimAngel(struct Sprite *); +void AnimPinkHeart(struct Sprite *); +void AnimDevil(struct Sprite *); +void AnimFurySwipes(struct Sprite *); +void AnimMovmentWaves(struct Sprite *); +void AnimJaggedMusicNote(struct Sprite *); +void AnimPerishSongMusicNote2(struct Sprite *); +void AnimPerishSongMusicNote(struct Sprite *); +void AnimGuardRing(struct Sprite *); static void sub_81034D8(struct Sprite *); static void sub_8103658(struct Sprite *); static void sub_8103680(struct Sprite *); static void AnimTask_WithdrawStep(u8); -static void Anim_SwordsDanceBladeStep(struct Sprite *); +static void AnimSwordsDanceBladeStep(struct Sprite *); static void sub_8104018(struct Sprite *); -static void sub_8104154(struct Sprite *); -static void sub_810421C(struct Sprite *); -static void sub_81042A0(struct Sprite *); -static void Anim_ViceGripPincerStep(struct Sprite *); -static void Anim_GuillotinePincerStep1(struct Sprite *); -static void Anim_GuillotinePincerStep2(struct Sprite *); -static void Anim_GuillotinePincerStep3(struct Sprite *); +static void AnimFallingCoin_Step(struct Sprite *); +static void AnimBulletSeed_Step1(struct Sprite *); +static void AnimBulletSeed_Step2(struct Sprite *); +static void AnimViceGripPincerStep(struct Sprite *); +static void AnimGuillotinePincerStep1(struct Sprite *); +static void AnimGuillotinePincerStep2(struct Sprite *); +static void AnimGuillotinePincerStep3(struct Sprite *); static void AnimTask_GrowAndGreyscaleStep(u8); static void AnimTask_MinimizeStep1(u8); static void CreateMinimizeSprite(struct Task *, u8); static void ClonedMinizeSprite_Step(struct Sprite *); static void AnimTask_SplashStep(u8); static void AnimTask_GrowAndShrinkStep(u8); -static void sub_8104C78(u8); -static void sub_8104D28(u8); -static void sub_8104F54(u8); -static void sub_8105078(struct Sprite *); -static void sub_810557C(struct Sprite *); -static void sub_81055F4(struct Sprite *); -static void sub_810561C(struct Sprite *); -static void sub_8105694(struct Sprite *); -static void sub_81056D4(struct Sprite *); -static void sub_810571C(struct Sprite *); -static void sub_810575C(struct Sprite *); -static void sub_81057B8(u8); -static void sub_8105878(u8); -static void sub_81059E0(u8); -static void sub_8105B08(u8); -static void sub_8105F30(u8); -static void sub_8105F84(u8); -static void sub_810618C(struct Sprite *); -static void sub_810627C(struct Sprite *); -static void sub_81063A8(u8); -static void sub_81065EC(u8); +static void ThrashMoveMonStep(u8); +static void ThrashMoveMon(u8); +static void AnimTask_SketchDrawMon(u8); +static void AnimPencil_Step(struct Sprite *); +static void AnimSoftBoiledEgg_Step1(struct Sprite *); +static void AnimSoftBoiledEgg_Step2(struct Sprite *); +static void AnimSoftBoiledEgg_Step3(struct Sprite *); +static void AnimSoftBoiledEgg_Step3_Callback1(struct Sprite *); +static void AnimSoftBoiledEgg_Step3_Callback2(struct Sprite *); +static void AnimSoftBoiledEgg_Step4(struct Sprite *); +static void AnimSoftBoiledEgg_Step4_Callback(struct Sprite *); +static void StretchAttacker_Step(u8); +static void ExtremeSpeedImpact_Step(u8); +static void ExtremeSpeedMonReappear_Step(u8); +static void SpeedDust_Step1(u8); +static void FakeOutStep1(u8); +static void FakeOutStep2(u8); +static void AnimRedHeartProjectile_Step(struct Sprite *); +static void AnimRedHeartRising_Step(struct Sprite *); +static void HeartsBackground_Step(u8); +static void ScaryFace_Step(u8); static void AnimOrbitFastStep(struct Sprite *); static void AnimOrbitScatterStep(struct Sprite *); -static void sub_8106D5C(struct Sprite *); -static void sub_8106DD4(u8); -static void sub_8106EC8(struct Sprite *); -static void sub_8107018(struct Sprite *); -static void sub_810703C(struct Sprite *); +static void AnimMovmentWaves_Step(struct Sprite *); +static void UproarDistortion_Step(u8); +static void AnimJaggedMusicNote_Step(struct Sprite *); +static void AnimPerishSongMusicNote_Step1(struct Sprite *); +static void AnimPerishSongMusicNote_Step2(struct Sprite *); +// Unused const struct SpriteTemplate gUnknown_08593264 = { .tileTag = ANIM_TAG_FINGER, .paletteTag = ANIM_TAG_FINGER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -127,17 +128,19 @@ const union AnimCmd *const gUnknown_08593284[] = gUnknown_0859327C, }; +// Unused const struct SpriteTemplate gUnknown_08593288 = { .tileTag = ANIM_TAG_MUSIC_NOTES, .paletteTag = ANIM_TAG_MUSIC_NOTES, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = sub_8103498, }; +// Unused const struct SpriteTemplate gUnknown_085932A0 = { .tileTag = 0, @@ -150,11 +153,12 @@ const struct SpriteTemplate gUnknown_085932A0 = }; extern const union AffineAnimCmd *const gUnknown_08597060[]; +// Unused const struct SpriteTemplate gUnknown_085932B8 = { .tileTag = ANIM_TAG_CLAMP, .paletteTag = ANIM_TAG_CLAMP, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597060, @@ -187,18 +191,19 @@ const union AffineAnimCmd *const gUnknown_08593300[] = gUnknown_085932E8, }; +// Unused const struct SpriteTemplate gUnknown_08593304 = { .tileTag = ANIM_TAG_EXPLOSION_6, .paletteTag = ANIM_TAG_EXPLOSION_6, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gUnknown_085932E4, .images = NULL, .affineAnims = gUnknown_08593300, - .callback = sub_80A77C8, + .callback = AnimSpriteOnMonPos, }; -const union AnimCmd gUnknown_0859331C[] = +const union AnimCmd gKinesisZapEnergyAnimCmds[] = { ANIMCMD_FRAME(0, 3, .hFlip = TRUE), ANIMCMD_FRAME(8, 3, .hFlip = TRUE), @@ -211,23 +216,23 @@ const union AnimCmd gUnknown_0859331C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08593340[] = +const union AnimCmd *const gKinesisZapEnergyAnimTable[] = { - gUnknown_0859331C, + gKinesisZapEnergyAnimCmds, }; const struct SpriteTemplate gKinesisZapEnergySpriteTemplate = { .tileTag = ANIM_TAG_ALERT, .paletteTag = ANIM_TAG_ALERT, - .oam = &gUnknown_08524934, - .anims = gUnknown_08593340, + .oam = &gOamData_AffineOff_ObjNormal_32x16, + .anims = gKinesisZapEnergyAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = Anim_KinesisZapEnergy, }; -const union AffineAnimCmd gUnknown_0859335C[] = +const union AffineAnimCmd gSwordsDanceBladeAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0x14, 0x0, 0, 12), @@ -235,19 +240,19 @@ const union AffineAnimCmd gUnknown_0859335C[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_0859337C[] = +const union AffineAnimCmd *const gSwordsDanceBladeAffineAnimTable[] = { - gUnknown_0859335C, + gSwordsDanceBladeAffineAnimCmds, }; const struct SpriteTemplate gSwordsDanceBladeSpriteTemplate = { .tileTag = ANIM_TAG_SWORD, .paletteTag = ANIM_TAG_SWORD, - .oam = &gUnknown_08524ADC, + .oam = &gOamData_AffineNormal_ObjBlend_32x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_0859337C, + .affineAnims = gSwordsDanceBladeAffineAnimTable, .callback = Anim_SwordsDanceBlade, }; @@ -255,32 +260,32 @@ const struct SpriteTemplate gSonicBoomSpriteTemplate = { .tileTag = ANIM_TAG_AIR_WAVE, .paletteTag = ANIM_TAG_AIR_WAVE, - .oam = &gUnknown_08524B14, + .oam = &gOamData_AffineDouble_ObjBlend_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSonicBoomProjectile, }; -const struct SpriteTemplate gUnknown_085933B0 = +const struct SpriteTemplate gAirWaveProjectileSpriteTemplate = { .tileTag = ANIM_TAG_AIR_WAVE, .paletteTag = ANIM_TAG_AIR_WAVE, - .oam = &gUnknown_08524A54, + .oam = &gOamData_AffineOff_ObjBlend_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8103AA4, + .callback = AnimAirWaveProjectile, }; -const union AffineAnimCmd gUnknown_085933C8[] = +const union AffineAnimCmd gGrowingRingAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), AFFINEANIMCMD_FRAME(0x7, 0x7, 0, -56), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085933E0[] = +const union AffineAnimCmd gWaterPulseRingAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10), AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10), @@ -292,24 +297,24 @@ const union AffineAnimCmd gUnknown_085933E0[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08593420[] = +const union AffineAnimCmd *const gGrowingRingAffineAnimTable[] = { - gUnknown_085933C8, + gGrowingRingAffineAnimCmds, }; -const union AffineAnimCmd *const gUnknown_08593424[] = +const union AffineAnimCmd *const gWaterPulseRingAffineAnimTable[] = { - gUnknown_085933E0, + gWaterPulseRingAffineAnimCmds, }; const struct SpriteTemplate gSupersonicWaveSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_RING, .paletteTag = ANIM_TAG_GOLD_RING, - .oam = &gUnknown_08524A14, + .oam = &gOamData_AffineDouble_ObjNormal_16x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08593420, + .affineAnims = gGrowingRingAffineAnimTable, .callback = TranslateAnimSpriteToTargetMonLocation, }; @@ -317,147 +322,148 @@ const struct SpriteTemplate gScreechWaveSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_RING, .paletteTag = ANIM_TAG_PURPLE_RING, - .oam = &gUnknown_08524A14, + .oam = &gOamData_AffineDouble_ObjNormal_16x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08593420, + .affineAnims = gGrowingRingAffineAnimTable, .callback = TranslateAnimSpriteToTargetMonLocation, }; -const struct SpriteTemplate gUnknown_08593458 = +const struct SpriteTemplate gMetalSoundSpriteTemplate = { .tileTag = ANIM_TAG_METAL_SOUND_WAVES, .paletteTag = ANIM_TAG_METAL_SOUND_WAVES, - .oam = &gUnknown_08524A1C, + .oam = &gOamData_AffineDouble_ObjNormal_32x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08593420, + .affineAnims = gGrowingRingAffineAnimTable, .callback = TranslateAnimSpriteToTargetMonLocation, }; -const struct SpriteTemplate gUnknown_08593470 = +const struct SpriteTemplate gWaterPulseRingSpriteTemplate = { .tileTag = ANIM_TAG_BLUE_RING_2, .paletteTag = ANIM_TAG_BLUE_RING_2, - .oam = &gUnknown_08524A14, + .oam = &gOamData_AffineDouble_ObjNormal_16x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08593424, - .callback = sub_8108C94, + .affineAnims = gWaterPulseRingAffineAnimTable, + .callback = AnimWaterPulseRing, }; -const struct SpriteTemplate gUnknown_08593488 = +const struct SpriteTemplate gEggThrowSpriteTemplate = { .tileTag = ANIM_TAG_LARGE_FRESH_EGG, .paletteTag = ANIM_TAG_LARGE_FRESH_EGG, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A78AC, + .callback = AnimThrowProjectile, }; +// Unused const struct SpriteTemplate gUnknown_085934A0 = { .tileTag = ANIM_TAG_VOID_LINES, .paletteTag = ANIM_TAG_VOID_LINES, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = sub_8103FE8, }; -const union AnimCmd gUnknown_085934B8[] = +const union AnimCmd gCoinAnimCmds[] = { ANIMCMD_FRAME(8, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085934C0[] = +const union AnimCmd *const gCoinAnimTable[] = { - gUnknown_085934B8, + gCoinAnimCmds, }; -const union AffineAnimCmd gUnknown_085934C4[] = +const union AffineAnimCmd gFallingCoinAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_085934D4[] = +const union AffineAnimCmd *const gFallingCoinAffineAnimTable[] = { - gUnknown_085934C4, + gFallingCoinAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_085934D8 = +const struct SpriteTemplate gCoinThrowSpriteTemplate = { .tileTag = ANIM_TAG_COIN, .paletteTag = ANIM_TAG_COIN, - .oam = &gUnknown_0852496C, - .anims = gUnknown_085934C0, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, + .anims = gCoinAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8104088, + .callback = AnimCoinThrow, }; -const struct SpriteTemplate gUnknown_085934F0 = +const struct SpriteTemplate gFallingCoinSpriteTemplate = { .tileTag = ANIM_TAG_COIN, .paletteTag = ANIM_TAG_COIN, - .oam = &gUnknown_0852496C, - .anims = gUnknown_085934C0, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, + .anims = gCoinAnimTable, .images = NULL, - .affineAnims = gUnknown_085934D4, - .callback = sub_810413C, + .affineAnims = gFallingCoinAffineAnimTable, + .callback = AnimFallingCoin, }; -const union AffineAnimCmd gUnknown_08593508[] = +const union AffineAnimCmd gBulletSeedAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_08593518[] = +const union AffineAnimCmd *const gBulletSeedAffineAnimTable[] = { - gUnknown_08593508, + gBulletSeedAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_0859351C = +const struct SpriteTemplate gBulletSeedSpriteTemplate = { .tileTag = ANIM_TAG_SEED, .paletteTag = ANIM_TAG_SEED, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08593518, - .callback = sub_81041C4, + .affineAnims = gBulletSeedAffineAnimTable, + .callback = AnimBulletSeed, }; -const union AffineAnimCmd gUnknown_08593534[] = +const union AffineAnimCmd gRazorWindTornadoAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0x4, 0x0, 0, 40), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_0859354C[] = +const union AffineAnimCmd *const gRazorWindTornadoAffineAnimTable[] = { - gUnknown_08593534, + gRazorWindTornadoAffineAnimCmds, }; const struct SpriteTemplate gRazorWindTornadoSpriteTemplate = { .tileTag = ANIM_TAG_GUST, .paletteTag = ANIM_TAG_GUST, - .oam = &gUnknown_085249BC, + .oam = &gOamData_AffineNormal_ObjNormal_32x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_0859354C, - .callback = Anim_RazorWindTornado, + .affineAnims = gRazorWindTornadoAffineAnimTable, + .callback = AnimRazorWindTornado, }; -const union AnimCmd gUnknown_08593568[] = +const union AnimCmd gViceGripAnimCmds1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(16, 3), @@ -465,7 +471,7 @@ const union AnimCmd gUnknown_08593568[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08593578[] = +const union AnimCmd gViceGripAnimCmds2[] = { ANIMCMD_FRAME(0, 3, .vFlip = TRUE, .hFlip = TRUE), ANIMCMD_FRAME(16, 3, .vFlip = TRUE, .hFlip = TRUE), @@ -473,24 +479,24 @@ const union AnimCmd gUnknown_08593578[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08593588[] = +const union AnimCmd *const gViceGripAnimTable[] = { - gUnknown_08593568, - gUnknown_08593578, + gViceGripAnimCmds1, + gViceGripAnimCmds2, }; const struct SpriteTemplate gViceGripSpriteTemplate = { .tileTag = ANIM_TAG_CUT, .paletteTag = ANIM_TAG_CUT, - .oam = &gUnknown_08524A34, - .anims = gUnknown_08593588, + .oam = &gOamData_AffineOff_ObjBlend_32x32, + .anims = gViceGripAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = Anim_ViceGripPincer, + .callback = AnimViceGripPincer, }; -const union AnimCmd gUnknown_085935A8[] = +const union AnimCmd gGuillotineAnimCmds1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(16, 2), @@ -498,7 +504,7 @@ const union AnimCmd gUnknown_085935A8[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_085935B8[] = +const union AnimCmd gGuillotineAnimCmds2[] = { ANIMCMD_FRAME(0, 2, .vFlip = TRUE, .hFlip = TRUE), ANIMCMD_FRAME(16, 2, .vFlip = TRUE, .hFlip = TRUE), @@ -506,21 +512,21 @@ const union AnimCmd gUnknown_085935B8[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085935C8[] = +const union AnimCmd *const gGuillotineAnimTable[] = { - gUnknown_085935A8, - gUnknown_085935B8, + gGuillotineAnimCmds1, + gGuillotineAnimCmds2, }; const struct SpriteTemplate gGuillotineSpriteTemplate = { .tileTag = ANIM_TAG_CUT, .paletteTag = ANIM_TAG_CUT, - .oam = &gUnknown_08524A34, - .anims = gUnknown_085935C8, + .oam = &gOamData_AffineOff_ObjBlend_32x32, + .anims = gGuillotineAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = Anim_GuillotinePincer, + .callback = AnimGuillotinePincer, }; const union AffineAnimCmd gSplashEffectAffineAnimCmds[] = @@ -539,7 +545,7 @@ const union AffineAnimCmd gGrowAndShrinkAffineAnimCmds[] = AFFINEANIMCMD_END, }; -const union AnimCmd gUnknown_08593628[] = +const union AnimCmd gBreathPuffAnimCmds1[] = { ANIMCMD_FRAME(0, 4, .hFlip = TRUE), ANIMCMD_FRAME(4, 40, .hFlip = TRUE), @@ -548,7 +554,7 @@ const union AnimCmd gUnknown_08593628[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_0859363C[] = +const union AnimCmd gBreathPuffAnimCmds2[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(4, 40), @@ -557,47 +563,47 @@ const union AnimCmd gUnknown_0859363C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08593650[] = +const union AnimCmd *const gBreathPuffAnimTable[] = { - gUnknown_08593628, - gUnknown_0859363C, + gBreathPuffAnimCmds1, + gBreathPuffAnimCmds2, }; const struct SpriteTemplate gBreathPuffSpriteTemplate = { .tileTag = ANIM_TAG_BREATH, .paletteTag = ANIM_TAG_BREATH, - .oam = &gUnknown_0852490C, - .anims = gUnknown_08593650, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gBreathPuffAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = Anim_BreathPuff, + .callback = AnimBreathPuff, }; -const union AffineAnimCmd gUnknown_08593670[] = +const union AffineAnimCmd gAngerMarkAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0xB, 0xB, 0, 8), AFFINEANIMCMD_FRAME(0xFFF5, 0xFFF5, 0, 8), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08593688[] = +const union AffineAnimCmd *const gAngerMarkAffineAnimTable[] = { - gUnknown_08593670, + gAngerMarkAffineAnimCmds, }; const struct SpriteTemplate gAngerMarkSpriteTemplate = { .tileTag = ANIM_TAG_ANGER, .paletteTag = ANIM_TAG_ANGER, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08593688, - .callback = Anim_AngerMark, + .affineAnims = gAngerMarkAffineAnimTable, + .callback = AnimAngerMark, }; -const union AffineAnimCmd gUnknown_085936A4[] = +const union AffineAnimCmd gThrashMoveMonAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(-10, 9, 0, 7), AFFINEANIMCMD_FRAME(20, -20, 0, 7), @@ -607,29 +613,29 @@ const union AffineAnimCmd gUnknown_085936A4[] = AFFINEANIMCMD_END, }; -const struct SpriteTemplate gUnknown_085936D4 = +const struct SpriteTemplate gPencilSpriteTemplate = { .tileTag = ANIM_TAG_PENCIL, .paletteTag = ANIM_TAG_PENCIL, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810501C, + .callback = AnimPencil, }; -const struct SpriteTemplate gUnknown_085936EC = +const struct SpriteTemplate gSnoreZSpriteTemplate = { .tileTag = ANIM_TAG_SNORE_Z, .paletteTag = ANIM_TAG_SNORE_Z, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A7938, + .callback = AnimSnoreZ, }; -const union AnimCmd gUnknown_08593704[] = +const union AnimCmd gExplosionAnimCmds[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(16, 5), @@ -638,23 +644,23 @@ const union AnimCmd gUnknown_08593704[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08593718[] = +const union AnimCmd *const gExplosionAnimTable[] = { - gUnknown_08593704, + gExplosionAnimCmds, }; -//* -const struct SpriteTemplate gBattleAnimSpriteTemplate_859371C = + +const struct SpriteTemplate gExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION, .paletteTag = ANIM_TAG_EXPLOSION, - .oam = &gUnknown_08524914, - .anims = gUnknown_08593718, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gExplosionAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSpriteOnMonPos, }; -const union AffineAnimCmd gUnknown_08593734[] = +const union AffineAnimCmd gSoftBoiledEggAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 2), AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 4), @@ -662,13 +668,13 @@ const union AffineAnimCmd gUnknown_08593734[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gUnknown_08593754[] = +const union AffineAnimCmd gSoftBoiledEggAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08593764[] = +const union AffineAnimCmd gSoftBoiledEggAffineAnimCmds3[] = { AFFINEANIMCMD_FRAME(0xFFF8, 0x4, 0, 8), AFFINEANIMCMD_LOOP(0), @@ -680,130 +686,130 @@ const union AffineAnimCmd gUnknown_08593764[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085937A4[] = +const union AffineAnimCmd *const gSoftBoiledEggAffineAnimTable[] = { - gUnknown_08593734, - gUnknown_08593754, - gUnknown_08593764, + gSoftBoiledEggAffineAnimCmds1, + gSoftBoiledEggAffineAnimCmds2, + gSoftBoiledEggAffineAnimCmds3, }; -//* -const struct SpriteTemplate gUnknown_085937B0 = + +const struct SpriteTemplate gSoftBoiledEggSpriteTemplate = { .tileTag = ANIM_TAG_BREAKING_EGG, .paletteTag = ANIM_TAG_BREAKING_EGG, - .oam = &gUnknown_08524AF4, + .oam = &gOamData_AffineDouble_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085937A4, - .callback = sub_8105538, + .affineAnims = gSoftBoiledEggAffineAnimTable, + .callback = AnimSoftBoiledEgg, }; -const union AffineAnimCmd gUnknown_085937C8[] = +const union AffineAnimCmd gThinRingExpandingAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 30), AFFINEANIMCMD_END_ALT(1), }; -const union AffineAnimCmd gUnknown_085937E0[] = +const union AffineAnimCmd gThinRingExpandingAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 15), AFFINEANIMCMD_END_ALT(1), }; -const union AffineAnimCmd gUnknown_085937F8[] = +const union AffineAnimCmd gHyperVoiceRingAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0xB, 0xB, 0, 45), AFFINEANIMCMD_END_ALT(1), }; -const union AffineAnimCmd *const gUnknown_08593810[] = +const union AffineAnimCmd *const gThinRingExpandingAffineAnimTable[] = { - gUnknown_085937C8, - gUnknown_085937E0, + gThinRingExpandingAffineAnimCmds1, + gThinRingExpandingAffineAnimCmds2, }; -const union AffineAnimCmd *const gUnknown_08593818[] = +const union AffineAnimCmd *const gHyperVoiceRingAffineAnimTable[] = { - gUnknown_085937F8, + gHyperVoiceRingAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_0859381C = +const struct SpriteTemplate gThinRingExpandingSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_THIN_RING, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08593810, - .callback = sub_80A77C8, + .affineAnims = gThinRingExpandingAffineAnimTable, + .callback = AnimSpriteOnMonPos, }; -//* -const union AffineAnimCmd gUnknown_08593834[] = + +const union AffineAnimCmd gThinRingShrinkingAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), AFFINEANIMCMD_FRAME(0xFFF0, 0xFFF0, 0, 30), AFFINEANIMCMD_END_ALT(1), }; -const union AffineAnimCmd *const gUnknown_0859384C[] = +const union AffineAnimCmd *const gThinRingShrinkingAffineAnimTable[] = { - gUnknown_08593834, + gThinRingShrinkingAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_08593850 = +const struct SpriteTemplate gThinRingShrinkingSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_THIN_RING, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_0859384C, - .callback = sub_80A77C8, + .affineAnims = gThinRingShrinkingAffineAnimTable, + .callback = AnimSpriteOnMonPos, }; -const struct SpriteTemplate gUnknown_08593868 = +const struct SpriteTemplate gBlendThinRingExpandingSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_THIN_RING, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08593810, - .callback = sub_81051C4, + .affineAnims = gThinRingExpandingAffineAnimTable, + .callback = AnimBlendThinRing, }; -const struct SpriteTemplate gUnknown_08593880 = +const struct SpriteTemplate gHyperVoiceRingSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_THIN_RING, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08593818, - .callback = sub_81052A4, + .affineAnims = gHyperVoiceRingAffineAnimTable, + .callback = AnimHyperVoiceRing, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8593898 = +const struct SpriteTemplate gUproarRingSpriteTemplate = { .tileTag = ANIM_TAG_THIN_RING, .paletteTag = ANIM_TAG_THIN_RING, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08593810, - .callback = sub_81054E8, + .affineAnims = gThinRingExpandingAffineAnimTable, + .callback = AnimUproarRing, }; -const union AffineAnimCmd gUnknown_085938B0[] = +const union AffineAnimCmd gStretchAttackerAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(96, -13, 0, 8), AFFINEANIMCMD_END, }; -const union AnimCmd gUnknown_085938C0[] = +const union AnimCmd gSpeedDustAnimCmds[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(4, 3), @@ -813,23 +819,23 @@ const union AnimCmd gUnknown_085938C0[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085938D8[] = +const union AnimCmd *const gSpeedDustAnimTable[] = { - gUnknown_085938C0, + gSpeedDustAnimCmds, }; -const struct SpriteTemplate gUnknown_085938DC = +const struct SpriteTemplate gSpeedDustSpriteTemplate = { .tileTag = ANIM_TAG_SPEED_DUST, .paletteTag = ANIM_TAG_SPEED_DUST, - .oam = &gUnknown_0852490C, - .anims = gUnknown_085938D8, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gSpeedDustAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8105C48, + .callback = AnimSpeedDust, }; -const s8 gUnknown_085938F4[][2] = +const s8 gSpeedDustPosTable[][2] = { {30, 28}, {-20, 24}, @@ -837,7 +843,7 @@ const s8 gUnknown_085938F4[][2] = {-10, 28}, }; -const union AnimCmd gUnknown_085938FC[] = +const union AnimCmd gBellAnimCmds[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(16, 6), @@ -855,49 +861,49 @@ const union AnimCmd gUnknown_085938FC[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08593934[] = +const union AnimCmd *const gBellAnimTable[] = { - gUnknown_085938FC, + gBellAnimCmds, }; -const struct SpriteTemplate gUnknown_08593938 = +const struct SpriteTemplate gBellSpriteTemplate = { .tileTag = ANIM_TAG_BELL, .paletteTag = ANIM_TAG_BELL, - .oam = &gUnknown_08524914, - .anims = gUnknown_08593934, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gBellAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSpriteOnMonPos, }; -const u16 gUnknown_08593950[] = +const u16 gMusicNotePaletteTagsTable[] = { ANIM_TAG_MUSIC_NOTES_2, ANIM_SPRITES_START - 1, ANIM_SPRITES_START - 2, }; -const struct SpriteTemplate gUnknown_08593958 = +const struct SpriteTemplate gHealBellMusicNoteSpriteTemplate = { .tileTag = ANIM_TAG_MUSIC_NOTES_2, .paletteTag = ANIM_TAG_MUSIC_NOTES_2, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8105DE8, + .callback = AnimHealBellMusicNote, }; const struct SpriteTemplate gMagentaHeartSpriteTemplate = { .tileTag = ANIM_TAG_MAGENTA_HEART, .paletteTag = ANIM_TAG_MAGENTA_HEART, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8105E60, + .callback = AnimMagentaHeart, }; const union AffineAnimCmd gUnknown_08593988[] = @@ -907,59 +913,59 @@ const union AffineAnimCmd gUnknown_08593988[] = AFFINEANIMCMD_END, }; -const struct SpriteTemplate gUnknown_085939A0 = +const struct SpriteTemplate gRedHeartProjectileSpriteTemplate = { .tileTag = ANIM_TAG_RED_HEART, .paletteTag = ANIM_TAG_RED_HEART, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8106140, + .callback = AnimRedHeartProjectile, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_85939B8 = +const struct SpriteTemplate gRedHeartBurstSpriteTemplate = { .tileTag = ANIM_TAG_RED_HEART, .paletteTag = ANIM_TAG_RED_HEART, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81061C4, + .callback = AnimParticuleBurst, }; -const struct SpriteTemplate gUnknown_085939D0 = +const struct SpriteTemplate gRedHeartRisingSpriteTemplate = { .tileTag = ANIM_TAG_RED_HEART, .paletteTag = ANIM_TAG_RED_HEART, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810624C, + .callback = AnimRedHeartRising, }; -const union AffineAnimCmd gUnknown_085939E8[] = +const union AffineAnimCmd gHiddenPowerOrbAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_08593A00[] = +const union AffineAnimCmd *const gHiddenPowerOrbAffineAnimTable[] = { - gUnknown_085939E8, + gHiddenPowerOrbAffineAnimCmds, }; const struct SpriteTemplate gHiddenPowerOrbSpriteTemplate = { .tileTag = ANIM_TAG_RED_ORB, .paletteTag = ANIM_TAG_RED_ORB, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08593A00, + .affineAnims = gHiddenPowerOrbAffineAnimTable, .callback = AnimOrbitFast, }; @@ -967,37 +973,37 @@ const struct SpriteTemplate gHiddenPowerOrbScatterSpriteTemplate = { .tileTag = ANIM_TAG_RED_ORB, .paletteTag = ANIM_TAG_RED_ORB, - .oam = &gUnknown_085249CC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08593A00, + .affineAnims = gHiddenPowerOrbAffineAnimTable, .callback = AnimOrbitScatter, }; -const union AffineAnimCmd gUnknown_08593A34[] = +const union AffineAnimCmd gSpitUpOrbAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_08593A4C[] = +const union AffineAnimCmd *const gSpitUpOrbAffineAnimTable[] = { - gUnknown_08593A34, + gSpitUpOrbAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_08593A50 = +const struct SpriteTemplate gSpitUpOrbSpriteTemplate = { .tileTag = ANIM_TAG_RED_ORB_2, .paletteTag = ANIM_TAG_RED_ORB_2, - .oam = &gUnknown_085249C4, + .oam = &gOamData_AffineDouble_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08593A4C, - .callback = sub_8106944, + .affineAnims = gSpitUpOrbAffineAnimTable, + .callback = AnimSpitUpOrb, }; -const union AnimCmd gUnknown_08593A68[] = +const union AnimCmd gEyeSparkleAnimCmds[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(4, 4), @@ -1007,82 +1013,82 @@ const union AnimCmd gUnknown_08593A68[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08593A80[] = +const union AnimCmd *const gEyeSparkleAnimTable[] = { - gUnknown_08593A68, + gEyeSparkleAnimCmds, }; -const struct SpriteTemplate gUnknown_08593A84 = +const struct SpriteTemplate gEyeSparkleSpriteTemplate = { .tileTag = ANIM_TAG_EYE_SPARKLE, .paletteTag = ANIM_TAG_EYE_SPARKLE, - .oam = &gUnknown_0852490C, - .anims = gUnknown_08593A80, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gEyeSparkleAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81069B8, + .callback = AnimEyeSparkle, }; -const union AnimCmd gUnknown_08593A9C[] = +const union AnimCmd gAngelSpriteAnimCmds[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08593AA4[] = +const union AnimCmd *const gAngelSpriteAnimTable[] = { - gUnknown_08593A9C, + gAngelSpriteAnimCmds, }; -const struct SpriteTemplate gUnknown_08593AA8 = +const struct SpriteTemplate gAngelSpriteTemplate = { .tileTag = ANIM_TAG_ANGEL, .paletteTag = ANIM_TAG_ANGEL, - .oam = &gUnknown_08524914, - .anims = gUnknown_08593AA4, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gAngelSpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81069D0, + .callback = AnimAngel, }; -const struct SpriteTemplate gUnknown_08593AC0 = +const struct SpriteTemplate gPinkHeartSpriteTemplate = { .tileTag = ANIM_TAG_PINK_HEART, .paletteTag = ANIM_TAG_PINK_HEART, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8106AD0, + .callback = AnimPinkHeart, }; -const union AnimCmd gUnknown_08593AD8[] = +const union AnimCmd gDevilAnimCmds1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_08593AE0[] = +const union AnimCmd gDevilAnimCmds2[] = { ANIMCMD_FRAME(16, 3), ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08593AE8[] = +const union AnimCmd *const gDevilAnimTable[] = { - gUnknown_08593AD8, - gUnknown_08593AE0, + gDevilAnimCmds1, + gDevilAnimCmds2, }; -const struct SpriteTemplate gUnknown_08593AF0 = +const struct SpriteTemplate gDevilSpriteTemplate = { .tileTag = ANIM_TAG_DEVIL, .paletteTag = ANIM_TAG_DEVIL, - .oam = &gUnknown_08524914, - .anims = gUnknown_08593AE8, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gDevilAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8106B54, + .callback = AnimDevil, }; const union AnimCmd gUnknown_08593B08[] = @@ -1103,24 +1109,24 @@ const union AnimCmd gUnknown_08593B1C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08593B30[] = +const union AnimCmd *const gFurySwipesAnimTable[] = { gUnknown_08593B08, gUnknown_08593B1C, }; -const struct SpriteTemplate gUnknown_08593B38 = +const struct SpriteTemplate gFurySwipesSpriteTemplate = { .tileTag = ANIM_TAG_SWIPE, .paletteTag = ANIM_TAG_SWIPE, - .oam = &gUnknown_08524914, - .anims = gUnknown_08593B30, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gFurySwipesAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8106C80, + .callback = AnimFurySwipes, }; -const union AnimCmd gUnknown_08593B50[] = +const union AnimCmd gMovementWavesAnimCmds1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(16, 8), @@ -1129,7 +1135,7 @@ const union AnimCmd gUnknown_08593B50[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08593B64[] = +const union AnimCmd gMovementWavesAnimCmds2[] = { ANIMCMD_FRAME(16, 8, .hFlip = TRUE), ANIMCMD_FRAME(32, 8, .hFlip = TRUE), @@ -1138,21 +1144,21 @@ const union AnimCmd gUnknown_08593B64[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08593B78[] = +const union AnimCmd *const gMovementWavesAnimTable[] = { - gUnknown_08593B50, - gUnknown_08593B64, + gMovementWavesAnimCmds1, + gMovementWavesAnimCmds2, }; -const struct SpriteTemplate gUnknown_08593B80 = +const struct SpriteTemplate gMovementWavesSpriteTemplate = { .tileTag = ANIM_TAG_MOVEMENT_WAVES, .paletteTag = ANIM_TAG_MOVEMENT_WAVES, - .oam = &gUnknown_08524914, - .anims = gUnknown_08593B78, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gMovementWavesAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8106CD0, + .callback = AnimMovmentWaves, }; const union AffineAnimCmd gUnknown_08593B98[] = @@ -1163,92 +1169,92 @@ const union AffineAnimCmd gUnknown_08593B98[] = AFFINEANIMCMD_END, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8593BB8 = +const struct SpriteTemplate gJaggedMusicNoteSpriteTemplate = { .tileTag = ANIM_TAG_JAGGED_MUSIC_NOTE, .paletteTag = ANIM_TAG_JAGGED_MUSIC_NOTE, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8106E00, + .callback = AnimJaggedMusicNote, }; -const union AffineAnimCmd gUnknown_08593BD0[] = +const union AffineAnimCmd gPerishSongMusicNoteAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 5), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08593BE0[] = +const union AffineAnimCmd gPerishSongMusicNoteAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 16), AFFINEANIMCMD_END_ALT(1), }; -const union AffineAnimCmd gUnknown_08593BF0[] = +const union AffineAnimCmd gPerishSongMusicNoteAffineAnimCmds3[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 16), AFFINEANIMCMD_END_ALT(1), }; -const union AffineAnimCmd *const gUnknown_08593C00[] = +const union AffineAnimCmd *const gPerishSongMusicNoteAffineAnimTable[] = { - gUnknown_08593BD0, - gUnknown_08593BE0, - gUnknown_08593BF0, + gPerishSongMusicNoteAffineAnimCmds1, + gPerishSongMusicNoteAffineAnimCmds2, + gPerishSongMusicNoteAffineAnimCmds3, }; -extern const union AnimCmd *const gUnknown_08592FCC[]; -const struct SpriteTemplate gUnknown_08593C0C = +extern const union AnimCmd *const gMusicNotesAnimTable[]; +const struct SpriteTemplate gPerishSongMusicNoteSpriteTemplate = { .tileTag = ANIM_TAG_MUSIC_NOTES_2, .paletteTag = ANIM_TAG_MUSIC_NOTES_2, - .oam = &gUnknown_0852496C, - .anims = gUnknown_08592FCC, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, + .anims = gMusicNotesAnimTable, .images = NULL, - .affineAnims = gUnknown_08593C00, - .callback = sub_8106F60, + .affineAnims = gPerishSongMusicNoteAffineAnimTable, + .callback = AnimPerishSongMusicNote, }; -const struct SpriteTemplate gUnknown_08593C24 = +const struct SpriteTemplate gPerishSongMusicNote2SpriteTemplate = { .tileTag = ANIM_TAG_MUSIC_NOTES_2, .paletteTag = ANIM_TAG_MUSIC_NOTES_2, - .oam = &gUnknown_0852496C, - .anims = gUnknown_08592FCC, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, + .anims = gMusicNotesAnimTable, .images = NULL, - .affineAnims = gUnknown_08593C00, - .callback = sub_8106F00, + .affineAnims = gPerishSongMusicNoteAffineAnimTable, + .callback = AnimPerishSongMusicNote2, }; -const union AffineAnimCmd gUnknown_08593C3C[] = +const union AffineAnimCmd gGuardRingAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08593C4C[] = +const union AffineAnimCmd gGuardRingAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0x200, 0x100, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08593C5C[] = +const union AffineAnimCmd *const gGuardRingAffineAnimTable[] = { - gUnknown_08593C3C, - gUnknown_08593C4C, + gGuardRingAffineAnimCmds1, + gGuardRingAffineAnimCmds2, }; -const struct SpriteTemplate gUnknown_08593C64 = +const struct SpriteTemplate gGuardRingSpriteTemplate = { .tileTag = ANIM_TAG_GUARD_RING, .paletteTag = ANIM_TAG_GUARD_RING, - .oam = &gUnknown_08524B1C, + .oam = &gOamData_AffineDouble_ObjBlend_64x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08593C5C, - .callback = sub_81070AC, + .affineAnims = gGuardRingAffineAnimTable, + .callback = AnimGuardRing, }; void sub_8103448(struct Sprite *sprite) @@ -1273,7 +1279,7 @@ void sub_8103498(struct Sprite *sprite) else battler = gBattleAnimTarget; - sub_810310C(battler, sprite); + SetSpriteNextToMonHead(battler, sprite); sprite->data[0] = 0; sprite->data[1] = 0; sprite->callback = sub_81034D8; @@ -1450,10 +1456,10 @@ void Anim_SwordsDanceBlade(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, FALSE); sprite->callback = RunStoredCallbackWhenAffineAnimEnds; - StoreSpriteCallbackInData6(sprite, Anim_SwordsDanceBladeStep); + StoreSpriteCallbackInData6(sprite, AnimSwordsDanceBladeStep); } -static void Anim_SwordsDanceBladeStep(struct Sprite *sprite) +static void AnimSwordsDanceBladeStep(struct Sprite *sprite) { sprite->data[0] = 6; sprite->data[2] = sprite->pos1.x; @@ -1502,7 +1508,7 @@ void AnimSonicBoomProjectile(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -static void sub_81039CC(struct Sprite *sprite) +static void AnimAirWaveProjectile_Step2(struct Sprite *sprite) { if (sprite->data[0]-- <= 0) { @@ -1511,7 +1517,7 @@ static void sub_81039CC(struct Sprite *sprite) } } -static void sub_8103A00(struct Sprite *sprite) +static void AnimAirWaveProjectile_Step1(struct Sprite *sprite) { struct Task* task = &gTasks[sprite->data[7]]; if (sprite->data[0] > task->data[5]) @@ -1540,11 +1546,11 @@ static void sub_8103A00(struct Sprite *sprite) if (sprite->data[0]-- <= 0) { sprite->data[0] = 30; - sprite->callback = sub_81039CC; + sprite->callback = AnimAirWaveProjectile_Step2; } } -void sub_8103AA4(struct Sprite *sprite) +void AnimAirWaveProjectile(struct Sprite *sprite) { s16 a; s16 b; @@ -1588,23 +1594,23 @@ void sub_8103AA4(struct Sprite *sprite) sprite->data[5] = 0; sprite->data[3] = sub_8151534(sub_8151534(b, a), sub_8151624(0x1C0)); sprite->data[4] = sub_8151534(sub_8151534(c, a), sub_8151624(0x1C0)); - sprite->callback = sub_8103A00; + sprite->callback = AnimAirWaveProjectile_Step1; } } -static void sub_8103BE4(u8 taskId) +static void AirCutterProjectileStep2(u8 taskId) { if (gTasks[taskId].data[1] == 0) DestroyAnimVisualTask(taskId); } -static void sub_8103C0C(u8 taskId) +static void AirCutterProjectileStep1(u8 taskId) { if (gTasks[taskId].data[0]-- <= 0) { u8 spriteId; struct Sprite *sprite; - spriteId = CreateSprite(&gUnknown_085933B0, gTasks[taskId].data[9], gTasks[taskId].data[10], gTasks[taskId].data[2] - gTasks[taskId].data[1]); + spriteId = CreateSprite(&gAirWaveProjectileSpriteTemplate, gTasks[taskId].data[9], gTasks[taskId].data[10], gTasks[taskId].data[2] - gTasks[taskId].data[1]); sprite = &gSprites[spriteId]; switch (gTasks[taskId].data[4]) { @@ -1623,11 +1629,11 @@ static void sub_8103C0C(u8 taskId) gTasks[taskId].data[1]++; PlaySE12WithPanning(SE_W059B, BattleAnimAdjustPanning(-63)); if (gTasks[taskId].data[1] > 2) - gTasks[taskId].func = sub_8103BE4; + gTasks[taskId].func = AirCutterProjectileStep2; } } -void sub_8103CF0(u8 taskId) +void AnimTask_AirCutterProjectile(u8 taskId) { s16 attackerY = 0; s16 attackerX = 0; @@ -1724,7 +1730,7 @@ void sub_8103CF0(u8 taskId) if (gTasks[taskId].data[2] < 3) gTasks[taskId].data[2] = 3; - gTasks[taskId].func = sub_8103C0C; + gTasks[taskId].func = AirCutterProjectileStep1; } void sub_8103FE8(struct Sprite *sprite) @@ -1754,7 +1760,7 @@ static void sub_8104018(struct Sprite *sprite) } } -void sub_8104088(struct Sprite *sprite) +void AnimCoinThrow(struct Sprite *sprite) { s16 r6; s16 r7; @@ -1777,14 +1783,14 @@ void sub_8104088(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_810413C(struct Sprite *sprite) +void AnimFallingCoin(struct Sprite *sprite) { sprite->data[2] = -16; sprite->pos1.y += 8; - sprite->callback = sub_8104154; + sprite->callback = AnimFallingCoin_Step; } -static void sub_8104154(struct Sprite *sprite) +static void AnimFallingCoin_Step(struct Sprite *sprite) { sprite->data[0] += 0x80; sprite->pos2.x = sprite->data[0] >> 8; @@ -1802,7 +1808,7 @@ static void sub_8104154(struct Sprite *sprite) } } -void sub_81041C4(struct Sprite *sprite) +void AnimBulletSeed(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = 20; @@ -1810,10 +1816,10 @@ void sub_81041C4(struct Sprite *sprite) sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); sprite->callback = StartAnimLinearTranslation; sprite->affineAnimPaused = 1; - StoreSpriteCallbackInData6(sprite, sub_810421C); + StoreSpriteCallbackInData6(sprite, AnimBulletSeed_Step1); } -static void sub_810421C(struct Sprite *sprite) +static void AnimBulletSeed_Step1(struct Sprite *sprite) { int i; u16 rand; @@ -1831,11 +1837,11 @@ static void sub_810421C(struct Sprite *sprite) sprite->data[6] = 0xFFF4 - (rand & 7); rand = Random2(); sprite->data[7] = (rand % 0xA0) + 0xA0; - sprite->callback = sub_81042A0; + sprite->callback = AnimBulletSeed_Step2; sprite->affineAnimPaused = 0; } -static void sub_81042A0(struct Sprite *sprite) +static void AnimBulletSeed_Step2(struct Sprite *sprite) { sprite->data[0] += sprite->data[7]; sprite->pos2.x = sprite->data[0] >> 8; @@ -1861,7 +1867,7 @@ static void sub_81042A0(struct Sprite *sprite) // arg 4: initial wave offset // arg 5: wave period (higher means faster wave) // arg 6: duration -void Anim_RazorWindTornado(struct Sprite *sprite) +void AnimRazorWindTornado(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, FALSE); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) @@ -1879,7 +1885,7 @@ void Anim_RazorWindTornado(struct Sprite *sprite) // Animates a single pincer line that extends towards the center of the target mon. // arg 0: invert -void Anim_ViceGripPincer(struct Sprite *sprite) +void AnimViceGripPincer(struct Sprite *sprite) { s16 startXOffset = 32; s16 startYOffset = -32; @@ -1900,10 +1906,10 @@ void Anim_ViceGripPincer(struct Sprite *sprite) sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + endXOffset; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + endYOffset; sprite->callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(sprite, Anim_ViceGripPincerStep); + StoreSpriteCallbackInData6(sprite, AnimViceGripPincerStep); } -static void Anim_ViceGripPincerStep(struct Sprite *sprite) +static void AnimViceGripPincerStep(struct Sprite *sprite) { if (sprite->animEnded) DestroyAnimSprite(sprite); @@ -1911,7 +1917,7 @@ static void Anim_ViceGripPincerStep(struct Sprite *sprite) // Animates a single pincer line that extends towards the center of the target mon, and then back out. // arg 0: animation id -void Anim_GuillotinePincer(struct Sprite *sprite) +void AnimGuillotinePincer(struct Sprite *sprite) { s16 startXOffset = 32; s16 startYOffset = -32; @@ -1936,10 +1942,10 @@ void Anim_GuillotinePincer(struct Sprite *sprite) InitAnimLinearTranslation(sprite); sprite->data[5] = gBattleAnimArgs[0]; sprite->data[6] = sprite->data[0]; - sprite->callback = Anim_GuillotinePincerStep1; + sprite->callback = AnimGuillotinePincerStep1; } -static void Anim_GuillotinePincerStep1(struct Sprite *sprite) +static void AnimGuillotinePincerStep1(struct Sprite *sprite) { if (AnimTranslateLinear(sprite) && sprite->animEnded) { @@ -1954,11 +1960,11 @@ static void Anim_GuillotinePincerStep1(struct Sprite *sprite) sprite->data[2] ^= 1; sprite->data[4] = 0; sprite->data[3] = 0; - sprite->callback = Anim_GuillotinePincerStep2; + sprite->callback = AnimGuillotinePincerStep2; } } -static void Anim_GuillotinePincerStep2(struct Sprite *sprite) +static void AnimGuillotinePincerStep2(struct Sprite *sprite) { if (sprite->data[3]) { @@ -1975,11 +1981,11 @@ static void Anim_GuillotinePincerStep2(struct Sprite *sprite) sprite->data[3] = 0; sprite->animPaused = 0; StartSpriteAnim(sprite, sprite->data[5] ^ 1); - sprite->callback = Anim_GuillotinePincerStep3; + sprite->callback = AnimGuillotinePincerStep3; } } -static void Anim_GuillotinePincerStep3(struct Sprite *sprite) +static void AnimGuillotinePincerStep3(struct Sprite *sprite) { if (AnimTranslateLinear(sprite)) DestroyAnimSprite(sprite); @@ -2118,7 +2124,7 @@ static void CreateMinimizeSprite(struct Task* task, u8 taskId) gSprites[spriteId].data[2] = 6; gSprites[spriteId].callback = ClonedMinizeSprite_Step; SetSpriteRotScale(spriteId, task->data[4], task->data[4], 0); - gSprites[spriteId].oam.affineMode = 1; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode); } } @@ -2229,7 +2235,7 @@ static void AnimTask_GrowAndShrinkStep(u8 taskId) // Animates a little puff of the mon's breath. // Used by MOVE_SWAGGER and MOVE_BULK_UP // No args. -void Anim_BreathPuff(struct Sprite *sprite) +void AnimBreathPuff(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { @@ -2257,7 +2263,7 @@ void Anim_BreathPuff(struct Sprite *sprite) // arg 0: target mon (0 = attacker, 1 = target) // arg 1: x pixel offset // arg 2: y pixel offset -void Anim_AngerMark(struct Sprite *sprite) +void AnimAngerMark(struct Sprite *sprite) { u8 battler; if (!gBattleAnimArgs[0]) @@ -2278,17 +2284,17 @@ void Anim_AngerMark(struct Sprite *sprite) } // left/right movements -void sub_8104C38(u8 taskId) +void AnimTask_ThrashMoveMonHorizontal(u8 taskId) { struct Task* task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[0] = spriteId; task->data[1] = 0; - PrepareAffineAnimInTaskData(task, spriteId, gUnknown_085936A4); - task->func = sub_8104C78; + PrepareAffineAnimInTaskData(task, spriteId, gThrashMoveMonAffineAnimCmds); + task->func = ThrashMoveMonStep; } -static void sub_8104C78(u8 taskId) +static void ThrashMoveMonStep(u8 taskId) { struct Task* task = &gTasks[taskId]; if (!RunAffineAnimFromTaskData(task)) @@ -2296,7 +2302,7 @@ static void sub_8104C78(u8 taskId) } // up/down movements -void sub_8104CA4(u8 taskId) +void AnimTask_ThrashMoveMonVertical(u8 taskId) { struct Task* task = &gTasks[taskId]; task->data[0] = GetAnimBattlerSpriteId(ANIM_ATTACKER); @@ -2312,10 +2318,10 @@ void sub_8104CA4(u8 taskId) if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) task->data[2] *= -1; - task->func = sub_8104D28; + task->func = ThrashMoveMon; } -static void sub_8104D28(u8 taskId) +static void ThrashMoveMon(u8 taskId) { struct Task* task = &gTasks[taskId]; if (++task->data[7] > 2) @@ -2404,10 +2410,10 @@ void sub_8104E74(u8 taskId) params.initState = 1; params.unused9 = 0; ScanlineEffect_SetParams(params); - task->func = sub_8104F54; + task->func = AnimTask_SketchDrawMon; } -static void sub_8104F54(u8 taskId) +static void AnimTask_SketchDrawMon(u8 taskId) { struct Task* task = &gTasks[taskId]; @@ -2454,7 +2460,7 @@ static void sub_8104F54(u8 taskId) } } -void sub_810501C(struct Sprite *sprite) +void AnimPencil(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) - 16; sprite->pos1.y = GetBattlerYCoordWithElevation(gBattleAnimTarget) + 16; @@ -2465,10 +2471,10 @@ void sub_810501C(struct Sprite *sprite) sprite->data[4] = 0; sprite->data[5] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_HEIGHT) + 2; sprite->data[6] = BattleAnimAdjustPanning(63); - sprite->callback = sub_8105078; + sprite->callback = AnimPencil_Step; } -static void sub_8105078(struct Sprite *sprite) +static void AnimPencil_Step(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -2527,7 +2533,7 @@ static void sub_8105078(struct Sprite *sprite) } } -void sub_81051C4(struct Sprite *sprite) +void AnimBlendThinRing(struct Sprite *sprite) { u8 battler = 0; u16 sp0 = 0; @@ -2554,7 +2560,7 @@ void sub_81051C4(struct Sprite *sprite) gBattleAnimArgs[0] = sp0 - r4; } - sprite->callback = sub_80A77C8; + sprite->callback = AnimSpriteOnMonPos; sprite->callback(sprite); } @@ -2567,7 +2573,7 @@ void sub_8105284(struct Sprite *sprite) } } -void sub_81052A4(struct Sprite *sprite) +void AnimHyperVoiceRing(struct Sprite *sprite) { u16 r9 = 0; u16 r6 = 0; @@ -2652,7 +2658,7 @@ void sub_81052A4(struct Sprite *sprite) sprite->callback(sprite); } -void sub_81054E8(struct Sprite *sprite) +void AnimUproarRing(struct Sprite *sprite) { u8 index = IndexOfSpritePaletteTag(ANIM_TAG_THIN_RING); if (index != 0xFF) @@ -2661,11 +2667,11 @@ void sub_81054E8(struct Sprite *sprite) } StartSpriteAffineAnim(sprite, 1); - sprite->callback = sub_80A77C8; + sprite->callback = AnimSpriteOnMonPos; sprite->callback(sprite); } -void sub_8105538(struct Sprite *sprite) +void AnimSoftBoiledEgg(struct Sprite *sprite) { s16 r1; InitSpritePosToAnimAttacker(sprite, FALSE); @@ -2673,10 +2679,10 @@ void sub_8105538(struct Sprite *sprite) sprite->data[0] = 0x380; sprite->data[1] = r1; sprite->data[7] = gBattleAnimArgs[2]; - sprite->callback = sub_810557C; + sprite->callback = AnimSoftBoiledEgg_Step1; } -static void sub_810557C(struct Sprite *sprite) +static void AnimSoftBoiledEgg_Step1(struct Sprite *sprite) { s16 add; sprite->pos2.y -= (sprite->data[0] >> 8); @@ -2692,20 +2698,20 @@ static void sub_810557C(struct Sprite *sprite) sprite->pos2.x = 0; sprite->data[0] = 0; StartSpriteAffineAnim(sprite, 1); - sprite->callback = sub_81055F4; + sprite->callback = AnimSoftBoiledEgg_Step2; } } -static void sub_81055F4(struct Sprite *sprite) +static void AnimSoftBoiledEgg_Step2(struct Sprite *sprite) { if (sprite->data[0]++ > 19) { StartSpriteAffineAnim(sprite, 2); - sprite->callback = sub_810561C; + sprite->callback = AnimSoftBoiledEgg_Step3; } } -static void sub_810561C(struct Sprite *sprite) +static void AnimSoftBoiledEgg_Step3(struct Sprite *sprite) { if (sprite->affineAnimEnded) { @@ -2714,17 +2720,17 @@ static void sub_810561C(struct Sprite *sprite) if (sprite->data[7] == 0) { sprite->oam.tileNum += 16; - sprite->callback = sub_8105694; + sprite->callback = AnimSoftBoiledEgg_Step3_Callback1; } else { sprite->oam.tileNum += 32; - sprite->callback = sub_810571C; + sprite->callback = AnimSoftBoiledEgg_Step4; } } } -static void sub_8105694(struct Sprite *sprite) +static void AnimSoftBoiledEgg_Step3_Callback1(struct Sprite *sprite) { sprite->pos2.y -= 2; if (++sprite->data[0] == 9) @@ -2733,50 +2739,50 @@ static void sub_8105694(struct Sprite *sprite) sprite->data[1] = 0; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND((u16)sprite->data[0], 0)); - sprite->callback = sub_81056D4; + sprite->callback = AnimSoftBoiledEgg_Step3_Callback2; } } -static void sub_81056D4(struct Sprite *sprite) +static void AnimSoftBoiledEgg_Step3_Callback2(struct Sprite *sprite) { if (sprite->data[1]++ % 3 == 0) { sprite->data[0]--; SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 16 - sprite->data[0])); if (sprite->data[0] == 0) - sprite->callback = sub_810571C; + sprite->callback = AnimSoftBoiledEgg_Step4; } } -static void sub_810571C(struct Sprite *sprite) +static void AnimSoftBoiledEgg_Step4(struct Sprite *sprite) { if ((u16)gBattleAnimArgs[7] == 0xFFFF) { sprite->invisible = 1; if (sprite->data[7] == 0) - sprite->callback = sub_810575C; + sprite->callback = AnimSoftBoiledEgg_Step4_Callback; else sprite->callback = DestroyAnimSprite; } } -static void sub_810575C(struct Sprite *sprite) +static void AnimSoftBoiledEgg_Step4_Callback(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); DestroyAnimSprite(sprite); } -void sub_810577C(u8 taskId) +void AnimTask_StretchAttacker(u8 taskId) { struct Task* task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[0] = spriteId; - PrepareAffineAnimInTaskData(task, spriteId, gUnknown_085938B0); - task->func = sub_81057B8; + PrepareAffineAnimInTaskData(task, spriteId, gStretchAttackerAffineAnimCmds); + task->func = StretchAttacker_Step; } -static void sub_81057B8(u8 taskId) +static void StretchAttacker_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; if (!RunAffineAnimFromTaskData(task)) @@ -2787,7 +2793,7 @@ static void sub_81057B8(u8 taskId) } } -void sub_8105810(u8 taskId) +void AnimTask_ExtremeSpeedImpact(u8 taskId) { struct Task* task = &gTasks[taskId]; task->data[0] = 0; @@ -2807,10 +2813,10 @@ void sub_8105810(u8 taskId) } task->data[15] = GetAnimBattlerSpriteId(ANIM_TARGET); - task->func = sub_8105878; + task->func = ExtremeSpeedImpact_Step; } -static void sub_8105878(u8 taskId) +static void ExtremeSpeedImpact_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; @@ -2856,7 +2862,7 @@ static void sub_8105878(u8 taskId) } } -void sub_810599C(u8 taskId) +void AnimTask_ExtremeSpeedMonReappear(u8 taskId) { struct Task* task = &gTasks[taskId]; task->data[0] = 0; @@ -2867,10 +2873,10 @@ void sub_810599C(u8 taskId) task->data[13] = 14; task->data[14] = 2; task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); - task->func = sub_81059E0; + task->func = ExtremeSpeedMonReappear_Step; } -static void sub_81059E0(u8 taskId) +static void ExtremeSpeedMonReappear_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; if (task->data[0] == 0 && ++task->data[1] > task->data[4]) @@ -2898,7 +2904,7 @@ static void sub_81059E0(u8 taskId) } } -void sub_8105AAC(u8 taskId) +void AnimTask_SpeedDust(u8 taskId) { struct Task* task = &gTasks[taskId]; task->data[0] = 0; @@ -2913,10 +2919,10 @@ void sub_8105AAC(u8 taskId) task->data[13] = 0; task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, ANIM_ATTACKER); task->data[15] = GetBattlerSpriteCoord(gBattleAnimAttacker, ANIM_TARGET); - task->func = sub_8105B08; + task->func = SpeedDust_Step1; } -static void sub_8105B08(u8 taskId) +static void SpeedDust_Step1(u8 taskId) { struct Task* task = &gTasks[taskId]; switch (task->data[8]) @@ -2958,13 +2964,13 @@ static void sub_8105B08(u8 taskId) { u8 spriteId; task->data[1] = 0; - spriteId = CreateSprite(&gUnknown_085938DC, task->data[14], task->data[15], 0); + spriteId = CreateSprite(&gSpeedDustSpriteTemplate, task->data[14], task->data[15], 0); if (spriteId != MAX_SPRITES) { gSprites[spriteId].data[0] = taskId; gSprites[spriteId].data[1] = 13; - gSprites[spriteId].pos2.x = gUnknown_085938F4[task->data[2]][0]; - gSprites[spriteId].pos2.y = gUnknown_085938F4[task->data[2]][1]; + gSprites[spriteId].pos2.x = gSpeedDustPosTable[task->data[2]][0]; + gSprites[spriteId].pos2.y = gSpeedDustPosTable[task->data[2]][1]; task->data[13]++; if (++task->data[2] > 3) { @@ -2982,7 +2988,7 @@ static void sub_8105B08(u8 taskId) } } -void sub_8105C48(struct Sprite *sprite) +void AnimSpeedDust(struct Sprite *sprite) { sprite->invisible = gTasks[sprite->data[0]].data[5]; if (sprite->animEnded) @@ -3014,21 +3020,21 @@ void sub_8105D60(u8 taskId) { int i; for (i = 0; i < 3; i++) - FreeSpritePaletteByTag(gUnknown_08593950[i]); + FreeSpritePaletteByTag(gMusicNotePaletteTagsTable[i]); DestroyAnimVisualTask(taskId); } -static void sub_8105D88(struct Sprite *sprite, u8 a, u8 b) +static void SetMusicNotePalette(struct Sprite *sprite, u8 a, u8 b) { u8 tile; tile = (b & 1); tile = ((-tile | tile) >> 31) & 32; sprite->oam.tileNum += tile + (a << 2); - sprite->oam.paletteNum = IndexOfSpritePaletteTag(gUnknown_08593950[b >> 1]); + sprite->oam.paletteNum = IndexOfSpritePaletteTag(gMusicNotePaletteTagsTable[b >> 1]); } -void sub_8105DE8(struct Sprite *sprite) +void AnimHealBellMusicNote(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, FALSE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -3039,10 +3045,10 @@ void sub_8105DE8(struct Sprite *sprite) sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[3]; sprite->callback = StartAnimLinearTranslation; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); - sub_8105D88(sprite, gBattleAnimArgs[5], gBattleAnimArgs[6]); + SetMusicNotePalette(sprite, gBattleAnimArgs[5], gBattleAnimArgs[6]); } -void sub_8105E60(struct Sprite *sprite) +void AnimMagentaHeart(struct Sprite *sprite) { if (++sprite->data[0] == 1) InitSpritePosToAnimAttacker(sprite, FALSE); @@ -3055,7 +3061,7 @@ void sub_8105E60(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8105EB0(u8 taskId) +void AnimTask_FakeOut(u8 taskId) { u16 win0h = IsContest() ? 0x98 : 0xF0; u16 win0v = 0; @@ -3070,17 +3076,17 @@ void sub_8105EB0(u8 taskId) SetGpuReg(REG_OFFSET_BLDY, 0x10); gTasks[taskId].data[0] = win0v; gTasks[taskId].data[1] = win0h; - gTasks[taskId].func = sub_8105F30; + gTasks[taskId].func = FakeOutStep1; } -static void sub_8105F30(u8 taskId) +static void FakeOutStep1(u8 taskId) { gTasks[taskId].data[0] += 13; gTasks[taskId].data[1] -= 13; if (gTasks[taskId].data[0] >= gTasks[taskId].data[1]) { gBattle_WIN0H = 0; - gTasks[taskId].func = sub_8105F84; + gTasks[taskId].func = FakeOutStep2; } else { @@ -3088,7 +3094,7 @@ static void sub_8105F30(u8 taskId) } } -static void sub_8105F84(u8 taskId) +static void FakeOutStep2(u8 taskId) { if (++gTasks[taskId].data[10] == 5) { @@ -3148,7 +3154,7 @@ void sub_81060B0(u8 taskId) } } -void sub_8106140(struct Sprite *sprite) +void AnimRedHeartProjectile(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = 95; @@ -3157,10 +3163,10 @@ void sub_8106140(struct Sprite *sprite) sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); InitAnimLinearTranslation(sprite); - sprite->callback = sub_810618C; + sprite->callback = AnimRedHeartProjectile_Step; } -static void sub_810618C(struct Sprite *sprite) +static void AnimRedHeartProjectile_Step(struct Sprite *sprite) { if (!AnimTranslateLinear(sprite)) { @@ -3173,7 +3179,7 @@ static void sub_810618C(struct Sprite *sprite) } } -void sub_81061C4(struct Sprite *sprite) +void AnimParticuleBurst(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -3195,17 +3201,17 @@ void sub_81061C4(struct Sprite *sprite) } } -void sub_810624C(struct Sprite *sprite) +void AnimRedHeartRising(struct Sprite *sprite) { sprite->pos1.x = gBattleAnimArgs[0]; sprite->pos1.y = 160; sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[1]; sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData6(sprite, sub_810627C); + StoreSpriteCallbackInData6(sprite, AnimRedHeartRising_Step); } -static void sub_810627C(struct Sprite *sprite) +static void AnimRedHeartRising_Step(struct Sprite *sprite) { s16 y; sprite->data[2] += sprite->data[1]; @@ -3240,10 +3246,10 @@ void AnimTask_HeartsBackground(u8 taskId) AnimLoadCompressedBgGfx(animBg.bgId, &gUnknown_08C232E0, animBg.tilesOffset); sub_80A6D60(&animBg, &gUnknown_08C23D78, 0); LoadCompressedPalette(&gUnknown_08C23D50, animBg.paletteId * 16, 32); - gTasks[taskId].func = sub_81063A8; + gTasks[taskId].func = HeartsBackground_Step; } -static void sub_81063A8(u8 taskId) +static void HeartsBackground_Step(u8 taskId) { struct BattleAnimBgData animBg; @@ -3299,7 +3305,7 @@ static void sub_81063A8(u8 taskId) } } -void sub_81064F8(u8 taskId) +void AnimTask_ScaryFace(u8 taskId) { struct BattleAnimBgData animBg; @@ -3324,10 +3330,10 @@ void sub_81064F8(u8 taskId) AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C249F8, animBg.tilesOffset); LoadCompressedPalette(gUnknown_08C249D0, animBg.paletteId * 16, 32); - gTasks[taskId].func = sub_81065EC; + gTasks[taskId].func = ScaryFace_Step; } -static void sub_81065EC(u8 taskId) +static void ScaryFace_Step(u8 taskId) { struct BattleAnimBgData animBg; @@ -3456,7 +3462,7 @@ static void AnimOrbitScatterStep(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_8106914(struct Sprite *sprite) +static void AnimSpitUpOrb_Step(struct Sprite *sprite) { sprite->pos2.x += sprite->data[0]; sprite->pos2.y += sprite->data[1]; @@ -3464,14 +3470,14 @@ static void sub_8106914(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8106944(struct Sprite *sprite) +void AnimSpitUpOrb(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); sprite->data[0] = Sin(gBattleAnimArgs[0], 10); sprite->data[1] = Cos(gBattleAnimArgs[0], 7); sprite->data[2] = gBattleAnimArgs[1]; - sprite->callback = sub_8106914; + sprite->callback = AnimSpitUpOrb_Step; } static void sub_810699C(struct Sprite *sprite) @@ -3480,13 +3486,13 @@ static void sub_810699C(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_81069B8(struct Sprite *sprite) +void AnimEyeSparkle(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->callback = sub_810699C; } -void sub_81069D0(struct Sprite *sprite) +void AnimAngel(struct Sprite *sprite) { s16 var0; if (!sprite->data[0]) @@ -3524,7 +3530,7 @@ static void sub_8106A64(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8106AD0(struct Sprite *sprite) +void AnimPinkHeart(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -3550,7 +3556,7 @@ void sub_8106AD0(struct Sprite *sprite) } } -void sub_8106B54(struct Sprite *sprite) +void AnimDevil(struct Sprite *sprite) { if (sprite->data[3] == 0) { @@ -3579,7 +3585,7 @@ void sub_8106B54(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8106C80(struct Sprite *sprite) +void AnimFurySwipes(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -3594,7 +3600,7 @@ void sub_8106C80(struct Sprite *sprite) } } -void sub_8106CD0(struct Sprite *sprite) +void AnimMovmentWaves(struct Sprite *sprite) { if (!gBattleAnimArgs[2]) { @@ -3621,11 +3627,11 @@ void sub_8106CD0(struct Sprite *sprite) sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[1]; StartSpriteAnim(sprite, sprite->data[1]); - sprite->callback = sub_8106D5C; + sprite->callback = AnimMovmentWaves_Step; } } -static void sub_8106D5C(struct Sprite *sprite) +static void AnimMovmentWaves_Step(struct Sprite *sprite) { if (sprite->animEnded) { @@ -3636,21 +3642,21 @@ static void sub_8106D5C(struct Sprite *sprite) } } -void sub_8106D90(u8 taskId) +void AnimTask_UproarDistortion(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); PrepareAffineAnimInTaskData(&gTasks[taskId], spriteId, gUnknown_08593B98); - gTasks[taskId].func = sub_8106DD4; + gTasks[taskId].func = UproarDistortion_Step; } -static void sub_8106DD4(u8 taskId) +static void UproarDistortion_Step(u8 taskId) { if (!RunAffineAnimFromTaskData(&gTasks[taskId])) DestroyAnimVisualTask(taskId); } -void sub_8106E00(struct Sprite *sprite) +void AnimJaggedMusicNote(struct Sprite *sprite) { int var1; u8 battler = !gBattleAnimArgs[0] ? gBattleAnimAttacker : gBattleAnimTarget; @@ -3675,10 +3681,10 @@ void sub_8106E00(struct Sprite *sprite) sprite->data[4] = var1 >> 3; sprite->oam.tileNum += gBattleAnimArgs[3] * 16; - sprite->callback = sub_8106EC8; + sprite->callback = AnimJaggedMusicNote_Step; } -static void sub_8106EC8(struct Sprite *sprite) +static void AnimJaggedMusicNote_Step(struct Sprite *sprite) { sprite->data[1] += sprite->data[3]; sprite->data[2] += sprite->data[4]; @@ -3688,7 +3694,7 @@ static void sub_8106EC8(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8106F00(struct Sprite *sprite) +void AnimPerishSongMusicNote2(struct Sprite *sprite) { if (!sprite->data[0]) { @@ -3703,7 +3709,7 @@ void sub_8106F00(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8106F60(struct Sprite *sprite) +void AnimPerishSongMusicNote(struct Sprite *sprite) { int index; int var2; @@ -3733,7 +3739,7 @@ void sub_8106F60(struct Sprite *sprite) if (sprite->data[0] > sprite->data[5]) { - sprite->callback = sub_8107018; + sprite->callback = AnimPerishSongMusicNote_Step1; sprite->data[0] = 0; SetSpritePrimaryCoordsFromSecondaryCoords(sprite); @@ -3745,16 +3751,16 @@ void sub_8106F60(struct Sprite *sprite) } } -static void sub_8107018(struct Sprite *sprite) +static void AnimPerishSongMusicNote_Step1(struct Sprite *sprite) { if (++sprite->data[0] > 10) { sprite->data[0] = 0; - sprite->callback = sub_810703C; + sprite->callback = AnimPerishSongMusicNote_Step2; } } -static void sub_810703C(struct Sprite *sprite) +static void AnimPerishSongMusicNote_Step2(struct Sprite *sprite) { sprite->data[3] += sprite->data[2]; sprite->pos2.y = sprite->data[3]; @@ -3780,7 +3786,7 @@ static void sub_810703C(struct Sprite *sprite) } } -void sub_81070AC(struct Sprite *sprite) +void AnimGuardRing(struct Sprite *sprite) { if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) { diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 79b728e61d..1778ce881c 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle.h" #include "battle_anim.h" #include "bg.h" @@ -24,26 +24,26 @@ #include "constants/species.h" #include "constants/weather.h" -extern const struct SpriteTemplate gUnknown_08593114; +extern const struct SpriteTemplate gThoughtBubbleSpriteTemplate; -void sub_815A0D4(struct Sprite *); -void sub_815A1B0(struct Sprite *); -void sub_815A254(struct Sprite *); -void sub_815A2F0(struct Sprite *); -void sub_815A6C4(struct Sprite *); -void sub_815A7B0(struct Sprite *); -void sub_815A7EC(struct Sprite *); -void sub_815A8AC(struct Sprite *); -void sub_815A934(struct Sprite *); -void sub_815AAA4(struct Sprite *); -void sub_815ABD0(struct Sprite *); -void sub_815ACD0(struct Sprite *); -void sub_815B27C(struct Sprite *); -void sub_815B394(struct Sprite *); -void sub_815B49C(struct Sprite *); +void AnimBlackSmoke(struct Sprite *); +void AnimWhiteHalo(struct Sprite *); +void AnimTealAlert(struct Sprite *); +void AnimMeanLookEye(struct Sprite *); +void AnimSpikes(struct Sprite *); +void AnimLeer(struct Sprite *); +void AnimLetterZ(struct Sprite *); +void AnimFang(struct Sprite *); +void AnimSpotlight(struct Sprite *); +void AnimClappingHand(struct Sprite *); +void AnimClappingHand2(struct Sprite *); +void AnimRapidSpin(struct Sprite *); +void AnimTriAttackTriangle(struct Sprite *); +void AnimBatonPassPokeball(struct Sprite *); +void AnimWishStar(struct Sprite *); void AnimMiniTwinklingStar(struct Sprite *); -void sub_815B70C(struct Sprite *); -void sub_815BE04(struct Sprite *); +void AnimSwallowBlueOrb(struct Sprite *); +void AnimGreenStar(struct Sprite *); void AnimWeakFrustrationAngerMark(struct Sprite *); void AnimSweetScentPetal(struct Sprite *); void AnimPainSplitProjectile(struct Sprite *); @@ -52,7 +52,7 @@ void AnimFlatterSpotlight(struct Sprite *); void AnimReversalOrb(struct Sprite *); void AnimYawnCloud(struct Sprite *); void AnimSmokeBallEscapeCloud(struct Sprite *); -void sub_815DEBC(struct Sprite *); +void AnimFacadeSweatDrop(struct Sprite *); void AnimRoarNoiseLine(struct Sprite *); void AnimGlareEyeDot(struct Sprite *); void AnimAssistPawprint(struct Sprite *); @@ -63,32 +63,32 @@ void AnimForesightMagnifyingGlass(struct Sprite *); void AnimMeteorMashStar(struct Sprite *); void AnimBlockX(struct Sprite *); void sub_815FE80(struct Sprite *); -void sub_81061C4(struct Sprite *); +void AnimParticuleBurst(struct Sprite *); void AnimKnockOffStrike(struct Sprite *); void AnimRecycle(struct Sprite *); -static void sub_815A114(struct Sprite *); -static void sub_815A1F4(struct Sprite *); -static void sub_815A234(struct Sprite *); -static void sub_815A31C(struct Sprite *); -static void sub_815A3AC(struct Sprite *); -static void sub_815A3F0(struct Sprite *); -static void sub_815A49C(struct Sprite *); -static void sub_815A52C(u8); -static void sub_815A5F0(u8); -static void sub_815A73C(struct Sprite *); -static void sub_815A76C(struct Sprite *); -static void sub_815A9A0(struct Sprite *); -static void sub_815AA6C(struct Sprite *); -static void sub_815AB5C(struct Sprite *); -static void sub_815AD4C(struct Sprite *); -static void sub_815AED8(u8); -static void sub_815B054(u8); -static void sub_815B23C(struct Sprite *); -static void sub_815B4D4(struct Sprite *); -static void sub_815B5D0(struct Sprite *); -static void sub_815BF44(struct Sprite *); -static void sub_815BFF4(struct Sprite *); -static void sub_815C050(struct Sprite *); +static void AnimBlackSmokeStep(struct Sprite *); +static void AnimWhiteHalo_Step1(struct Sprite *); +static void AnimWhiteHalo_Step2(struct Sprite *); +static void AnimMeanLookEye_Step1(struct Sprite *); +static void AnimMeanLookEye_Step2(struct Sprite *); +static void AnimMeanLookEye_Step3(struct Sprite *); +static void AnimMeanLookEye_Step4(struct Sprite *); +static void SetPsychicBackground_Step(u8); +static void FadeScreenToWhite_Step(u8); +static void AnimSpikes_Step1(struct Sprite *); +static void AnimSpikes_Step2(struct Sprite *); +static void AnimSpotlight_Step1(struct Sprite *); +static void AnimSpotlight_Step2(struct Sprite *); +static void AnimClappingHand_Step(struct Sprite *); +static void AnimRapidSpin_Step(struct Sprite *); +static void RapinSpinMonElevation_Step(u8); +static void TormentAttacker_Step(u8); +static void TormentAttacker_Callback(struct Sprite *); +static void AnimWishStar_Step(struct Sprite *); +static void AnimMiniTwinklingStar_Step(struct Sprite *); +static void AnimGreenStar_Step1(struct Sprite *); +static void AnimGreenStar_Step2(struct Sprite *); +static void AnimGreenStar_Callback(struct Sprite *); static void AnimTask_RockMonBackAndForthStep(u8); static void AnimSweetScentPetalStep(struct Sprite *); static void AnimTask_FlailMovementStep(u8); @@ -107,7 +107,7 @@ static void AnimRoarNoiseLineStep(struct Sprite *); static void AnimTask_GlareEyeDotsStep(u8); static void GetGlareEyeDotCoords(s16, s16, s16, s16, u8, u8, s16 *, s16 *); static void AnimTask_BarrageBallStep(u8); -static void sub_815E784(struct Sprite *); +static void AnimSmellingSaltsHand_Step(struct Sprite *); static void AnimTask_SmellingSaltsSquishStep(u8); static void AnimSmellingSaltExclamationStep(struct Sprite *); static void AnimHelpingHandClapStep(struct Sprite *); @@ -121,7 +121,7 @@ static void AnimTask_TeeterDanceMovementStep(u8); static void AnimRecycleStep(struct Sprite *); static void AnimTask_SlackOffSquishStep(u8); -const union AnimCmd gUnknown_085CE004[] = +const union AnimCmd gScratchAnimCmds[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(16, 4), @@ -131,45 +131,45 @@ const union AnimCmd gUnknown_085CE004[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085CE01C[] = +const union AnimCmd *const gScratchAnimTable[] = { - gUnknown_085CE004, + gScratchAnimCmds, }; -const struct SpriteTemplate gUnknown_085CE020 = +const struct SpriteTemplate gScratchSpriteTemplate = { .tileTag = ANIM_TAG_SCRATCH, .paletteTag = ANIM_TAG_SCRATCH, - .oam = &gUnknown_08524A34, - .anims = gUnknown_085CE01C, + .oam = &gOamData_AffineOff_ObjBlend_32x32, + .anims = gScratchAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSpriteOnMonPos, }; -const struct SpriteTemplate gUnknown_085CE038 = +const struct SpriteTemplate gBlackSmokeSpriteTemplate = { .tileTag = ANIM_TAG_BLACK_SMOKE, .paletteTag = ANIM_TAG_BLACK_SMOKE, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815A0D4, + .callback = AnimBlackSmoke, }; -const struct SpriteTemplate gUnknown_085CE050 = +const struct SpriteTemplate gBlackBallSpriteTemplate = { .tileTag = ANIM_TAG_BLACK_BALL, .paletteTag = ANIM_TAG_BLACK_BALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A78AC, + .callback = AnimThrowProjectile, }; -const union AnimCmd gUnknown_085CE068[] = +const union AnimCmd gOpeningEyeAnimCmds[] = { ANIMCMD_FRAME(0, 40), ANIMCMD_FRAME(16, 8), @@ -177,45 +177,45 @@ const union AnimCmd gUnknown_085CE068[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085CE078[] = +const union AnimCmd *const gOpeningEyeAnimTable[] = { - gUnknown_085CE068, + gOpeningEyeAnimCmds, }; -const struct SpriteTemplate gUnknown_085CE07C = +const struct SpriteTemplate gOpeningEyeSpriteTemplate = { .tileTag = ANIM_TAG_OPENING_EYE, .paletteTag = ANIM_TAG_OPENING_EYE, - .oam = &gUnknown_08524914, - .anims = gUnknown_085CE078, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gOpeningEyeAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSpriteOnMonPos, }; -const struct SpriteTemplate gUnknown_085CE094 = +const struct SpriteTemplate gWhiteHaloSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_WHITE_HALO, .paletteTag = ANIM_TAG_ROUND_WHITE_HALO, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815A1B0, + .callback = AnimWhiteHalo, }; -const struct SpriteTemplate gUnknown_085CE0AC = +const struct SpriteTemplate gTealAlertSpriteTemplate = { .tileTag = ANIM_TAG_TEAL_ALERT, .paletteTag = ANIM_TAG_TEAL_ALERT, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815A254, + .callback = AnimTealAlert, }; -const union AffineAnimCmd gUnknown_085CE0C4[] = +const union AffineAnimCmd gMeanLookEyeAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x180, 0x180, 0, 0), AFFINEANIMCMD_FRAME(-0x20, 0x18, 0, 5), @@ -223,42 +223,42 @@ const union AffineAnimCmd gUnknown_085CE0C4[] = AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd gUnknown_085CE0E4[] = +const union AffineAnimCmd gMeanLookEyeAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0x30, 0x30, 0, 0), AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 6), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085CE0FC[] = +const union AffineAnimCmd *const gMeanLookEyeAffineAnimTable[] = { - gUnknown_085CE0C4, - gUnknown_085CE0E4, + gMeanLookEyeAffineAnimCmds1, + gMeanLookEyeAffineAnimCmds2, }; -const struct SpriteTemplate gUnknown_085CE104 = +const struct SpriteTemplate gMeanLookEyeSpriteTemplate = { .tileTag = ANIM_TAG_EYE, .paletteTag = ANIM_TAG_EYE, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085CE0FC, - .callback = sub_815A2F0, + .affineAnims = gMeanLookEyeAffineAnimTable, + .callback = AnimMeanLookEye, }; -const struct SpriteTemplate gUnknown_085CE11C = +const struct SpriteTemplate gSpikesSpriteTemplate = { .tileTag = ANIM_TAG_SPIKES, .paletteTag = ANIM_TAG_SPIKES, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815A6C4, + .callback = AnimSpikes, }; -const union AnimCmd gUnknown_085CE134[] = +const union AnimCmd gLeerAnimCmds[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(16, 3), @@ -268,57 +268,57 @@ const union AnimCmd gUnknown_085CE134[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085CE14C[] = +const union AnimCmd *const gLeerAnimTable[] = { - gUnknown_085CE134, + gLeerAnimCmds, }; -const struct SpriteTemplate gUnknown_085CE150 = +const struct SpriteTemplate gLeerSpriteTemplate = { .tileTag = ANIM_TAG_LEER, .paletteTag = ANIM_TAG_LEER, - .oam = &gUnknown_08524914, - .anims = gUnknown_085CE14C, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gLeerAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815A7B0, + .callback = AnimLeer, }; -const union AnimCmd gUnknown_085CE168[] = +const union AnimCmd gLetterZAnimCmds[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085CE170[] = +const union AnimCmd *const gLetterZAnimTable[] = { - gUnknown_085CE168, + gLetterZAnimCmds, }; -const union AffineAnimCmd gUnknown_085CE174[] = +const union AffineAnimCmd gLetterZAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(-7, -7, -3, 16), AFFINEANIMCMD_FRAME(7, 7, 3, 16), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_085CE18C[] = +const union AffineAnimCmd *const gLetterZAffineAnimTable[] = { - gUnknown_085CE174, + gLetterZAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_085CE190 = +const struct SpriteTemplate gLetterZSpriteTemplate = { .tileTag = ANIM_TAG_LETTER_Z, .paletteTag = ANIM_TAG_LETTER_Z, - .oam = &gUnknown_08524974, - .anims = gUnknown_085CE170, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, + .anims = gLetterZAnimTable, .images = NULL, - .affineAnims = gUnknown_085CE18C, - .callback = sub_815A7EC, + .affineAnims = gLetterZAffineAnimTable, + .callback = AnimLetterZ, }; -const union AnimCmd gUnknown_085CE1A8[] = +const union AnimCmd gFangAnimCmds[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(16, 16), @@ -327,88 +327,88 @@ const union AnimCmd gUnknown_085CE1A8[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085CE1BC[] = +const union AnimCmd *const gFangAnimTable[] = { - gUnknown_085CE1A8, + gFangAnimCmds, }; -const union AffineAnimCmd gUnknown_085CE1C0[] = +const union AffineAnimCmd gFangAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), AFFINEANIMCMD_FRAME(-0x20, -0x20, 0, 8), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085CE1D8[] = +const union AffineAnimCmd *const gFangAffineAnimTable[] = { - gUnknown_085CE1C0, + gFangAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_085CE1DC = +const struct SpriteTemplate gFangSpriteTemplate = { .tileTag = ANIM_TAG_FANG_ATTACK, .paletteTag = ANIM_TAG_FANG_ATTACK, - .oam = &gUnknown_085249D4, - .anims = gUnknown_085CE1BC, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, + .anims = gFangAnimTable, .images = NULL, - .affineAnims = gUnknown_085CE1D8, - .callback = sub_815A8AC, + .affineAnims = gFangAffineAnimTable, + .callback = AnimFang, }; -const union AffineAnimCmd gUnknown_085CE1F4[] = +const union AffineAnimCmd gSpotlightAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x0, 0x180, 0, 0), AFFINEANIMCMD_FRAME(0x10, 0x0, 0, 20), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085CE20C[] = +const union AffineAnimCmd gSpotlightAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0x140, 0x180, 0, 0), AFFINEANIMCMD_FRAME(-0x10, 0x0, 0, 19), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085CE224[] = +const union AffineAnimCmd *const gSpotlightAffineAnimTable[] = { - gUnknown_085CE1F4, - gUnknown_085CE20C, + gSpotlightAffineAnimCmds1, + gSpotlightAffineAnimCmds2, }; -const struct SpriteTemplate gUnknown_085CE22C = +const struct SpriteTemplate gSpotlightSpriteTemplate = { .tileTag = ANIM_TAG_SPOTLIGHT, .paletteTag = ANIM_TAG_SPOTLIGHT, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085CE224, - .callback = sub_815A934, + .affineAnims = gSpotlightAffineAnimTable, + .callback = AnimSpotlight, }; -const struct SpriteTemplate gUnknown_085CE244 = +const struct SpriteTemplate gClappingHandSpriteTemplate = { .tileTag = ANIM_TAG_TAG_HAND, .paletteTag = ANIM_TAG_TAG_HAND, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815AAA4, + .callback = AnimClappingHand, }; -const struct SpriteTemplate gUnknown_085CE25C = +const struct SpriteTemplate gClappingHand2SpriteTemplate = { .tileTag = ANIM_TAG_TAG_HAND, .paletteTag = ANIM_TAG_TAG_HAND, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815ABD0, + .callback = AnimClappingHand2, }; -const union AnimCmd gUnknown_085CE274[] = +const union AnimCmd gRapidSpinAnimCmds[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(8, 2), @@ -416,20 +416,20 @@ const union AnimCmd gUnknown_085CE274[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_085CE284[] = +const union AnimCmd *const gRapidSpinAnimTable[] = { - gUnknown_085CE274, + gRapidSpinAnimCmds, }; -const struct SpriteTemplate gUnknown_085CE288 = +const struct SpriteTemplate gRapidSpinSpriteTemplate = { .tileTag = ANIM_TAG_RAPID_SPIN, .paletteTag = ANIM_TAG_RAPID_SPIN, - .oam = &gUnknown_08524934, - .anims = gUnknown_085CE284, + .oam = &gOamData_AffineOff_ObjNormal_32x16, + .anims = gRapidSpinAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815ACD0, + .callback = AnimRapidSpin, }; const union AffineAnimCmd gUnknown_085CE2A0[] = @@ -440,18 +440,18 @@ const union AffineAnimCmd gUnknown_085CE2A0[] = AFFINEANIMCMD_END, }; -const union AnimCmd gUnknown_085CE2C0[] = +const union AnimCmd gTriAttackTriangleAnimCmds[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085CE2C8[] = +const union AnimCmd *const gTriAttackTriangleAnimTable[] = { - gUnknown_085CE2C0, + gTriAttackTriangleAnimCmds, }; -const union AffineAnimCmd gUnknown_085CE2CC[] = +const union AffineAnimCmd gTriAttackTriangleAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0, 0, 5, 40), AFFINEANIMCMD_FRAME(0, 0, 10, 10), @@ -460,23 +460,23 @@ const union AffineAnimCmd gUnknown_085CE2CC[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_085CE2F4[] = +const union AffineAnimCmd *const gTriAttackTriangleAffineAnimTable[] = { - gUnknown_085CE2CC, + gTriAttackTriangleAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_085CE2F8 = +const struct SpriteTemplate gTriAttackTriangleSpriteTemplate = { - .tileTag = ANIM_TAG_TRI_FORCE_TRIANGLE, - .paletteTag = ANIM_TAG_TRI_FORCE_TRIANGLE, - .oam = &gUnknown_085249DC, - .anims = gUnknown_085CE2C8, + .tileTag = ANIM_TAG_TRI_ATTACK_TRIANGLE, + .paletteTag = ANIM_TAG_TRI_ATTACK_TRIANGLE, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, + .anims = gTriAttackTriangleAnimTable, .images = NULL, - .affineAnims = gUnknown_085CE2F4, - .callback = sub_815B27C, + .affineAnims = gTriAttackTriangleAffineAnimTable, + .callback = AnimTriAttackTriangle, }; -const union AnimCmd gUnknown_085CE310[] = +const union AnimCmd gEclipsingOrbAnimCmds[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(16, 3), @@ -489,23 +489,23 @@ const union AnimCmd gUnknown_085CE310[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085CE334[] = +const union AnimCmd *const gEclipsingOrbAnimTable[] = { - gUnknown_085CE310, + gEclipsingOrbAnimCmds, }; -const struct SpriteTemplate gUnknown_085CE338 = +const struct SpriteTemplate gEclipsingOrbSpriteTemplate = { .tileTag = ANIM_TAG_ECLIPSING_ORB, .paletteTag = ANIM_TAG_ECLIPSING_ORB, - .oam = &gUnknown_08524914, - .anims = gUnknown_085CE334, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gEclipsingOrbAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSpriteOnMonPos, }; -const union AffineAnimCmd gUnknown_085CE350[] = +const union AffineAnimCmd DefenseCurlDeformMonAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(-12, 20, 0, 8), AFFINEANIMCMD_FRAME(12, -20, 0, 8), @@ -513,40 +513,40 @@ const union AffineAnimCmd gUnknown_085CE350[] = AFFINEANIMCMD_END, }; -const struct SpriteTemplate gUnknown_085CE370 = +const struct SpriteTemplate gBatonPassPokeballSpriteTemplate = { .tileTag = ANIM_TAG_POKEBALL, .paletteTag = ANIM_TAG_POKEBALL, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815B394, + .callback = AnimBatonPassPokeball, }; -const struct SpriteTemplate gUnknown_085CE388 = +const struct SpriteTemplate gWishStarSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_STARS, .paletteTag = ANIM_TAG_GOLD_STARS, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815B49C, + .callback = AnimWishStar, }; const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_STARS, .paletteTag = ANIM_TAG_GOLD_STARS, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMiniTwinklingStar, }; -const union AffineAnimCmd gUnknown_085CE3B8[] = +const union AffineAnimCmd gStockpileDeformMonAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(8, -8, 0, 12), AFFINEANIMCMD_FRAME(-16, 16, 0, 12), @@ -555,7 +555,7 @@ const union AffineAnimCmd gUnknown_085CE3B8[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085CE3E0[] = +const union AffineAnimCmd gSpitUpDeformMonAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0, 6, 0, 20), AFFINEANIMCMD_FRAME(0, 0, 0, 20), @@ -566,18 +566,18 @@ const union AffineAnimCmd gUnknown_085CE3E0[] = AFFINEANIMCMD_END, }; -const struct SpriteTemplate gUnknown_085CE418 = +const struct SpriteTemplate gSwallowBlueOrbSpriteTemplate = { .tileTag = ANIM_TAG_BLUE_ORB, .paletteTag = ANIM_TAG_BLUE_ORB, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815B70C, + .callback = AnimSwallowBlueOrb, }; -const union AffineAnimCmd gUnknown_085CE430[] = +const union AffineAnimCmd gSwallowDeformMonAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0, 6, 0, 20), AFFINEANIMCMD_FRAME(0, 0, 0, 20), @@ -587,7 +587,7 @@ const union AffineAnimCmd gUnknown_085CE430[] = AFFINEANIMCMD_END, }; -const s8 gUnknown_085CE460[] = +const s8 gMorningSunLightBeamCoordsTable[] = { 0xE8, 0x18, @@ -595,44 +595,44 @@ const s8 gUnknown_085CE460[] = 0x00, }; -const union AnimCmd gUnknown_085CE464[] = +const union AnimCmd gGreenStarAnimCmds1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(4, 6), ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_085CE470[] = +const union AnimCmd gGreenStarAnimCmds2[] = { ANIMCMD_FRAME(8, 6), ANIMCMD_END, }; -const union AnimCmd gUnknown_085CE478[] = +const union AnimCmd gGreenStarAnimCmds3[] = { ANIMCMD_FRAME(12, 6), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085CE480[] = +const union AnimCmd *const gGreenStarAnimTable[] = { - gUnknown_085CE464, - gUnknown_085CE470, - gUnknown_085CE478, + gGreenStarAnimCmds1, + gGreenStarAnimCmds2, + gGreenStarAnimCmds3, }; -const struct SpriteTemplate gUnknown_085CE48C = +const struct SpriteTemplate gGreenStarSpriteTemplate = { .tileTag = ANIM_TAG_GREEN_STAR, .paletteTag = ANIM_TAG_GREEN_STAR, - .oam = &gUnknown_0852490C, - .anims = gUnknown_085CE480, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gGreenStarAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815BE04, + .callback = AnimGreenStar, }; -const s8 gUnknown_085CE4A4[] = +const s8 gDoomDesireLightBeamCoordTable[] = { 0x78, 0x50, @@ -640,7 +640,7 @@ const s8 gUnknown_085CE4A4[] = 0x00, }; -const u8 gUnknown_085CE4A8[] = +const u8 gDoomDesireLightBeamDelayTable[] = { 0, 0, @@ -661,7 +661,7 @@ const struct SpriteTemplate gWeakFrustrationAngerMarkSpriteTemplate = { .tileTag = ANIM_TAG_ANGER, .paletteTag = ANIM_TAG_ANGER, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -711,7 +711,7 @@ const struct SpriteTemplate gSweetScentPetalSpriteTemplate = { .tileTag = ANIM_TAG_PINK_PETAL, .paletteTag = ANIM_TAG_PINK_PETAL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gSweetScentPetalAnimCmdTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -737,7 +737,7 @@ const struct SpriteTemplate gPainSplitProjectileSpriteTemplate = { .tileTag = ANIM_TAG_PAIN_SPLIT, .paletteTag = ANIM_TAG_PAIN_SPLIT, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gPainSplitAnimCmdTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -748,7 +748,7 @@ const struct SpriteTemplate gFlatterConfettiSpriteTemplate = { .tileTag = ANIM_TAG_CONFETTI, .paletteTag = ANIM_TAG_CONFETTI, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -759,10 +759,10 @@ const struct SpriteTemplate gFlatterSpotlightSpriteTemplate = { .tileTag = ANIM_TAG_SPOTLIGHT, .paletteTag = ANIM_TAG_SPOTLIGHT, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085CE224, + .affineAnims = gSpotlightAffineAnimTable, .callback = AnimFlatterSpotlight, }; @@ -770,7 +770,7 @@ const struct SpriteTemplate gReversalOrbSpriteTemplate = { .tileTag = ANIM_TAG_BLUE_ORB, .paletteTag = ANIM_TAG_BLUE_ORB, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -822,7 +822,7 @@ const struct SpriteTemplate gYawnCloudSpriteTemplate = { .tileTag = ANIM_TAG_PINK_CLOUD, .paletteTag = ANIM_TAG_PINK_CLOUD, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gYawnCloudAffineAnimTable, @@ -873,7 +873,7 @@ const struct SpriteTemplate gSmokeBallEscapeCloudSpriteTemplate = { .tileTag = ANIM_TAG_PINK_CLOUD, .paletteTag = ANIM_TAG_PINK_CLOUD, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gSmokeBallEscapeCloudAffineAnimTable, @@ -888,15 +888,15 @@ const union AffineAnimCmd gFacadeSquishAffineAnimCmds[] = AFFINEANIMCMD_END, }; -const struct SpriteTemplate gFacadeSweatDrop = +const struct SpriteTemplate gFacadeSweatDropSpriteTemplate = { .tileTag = ANIM_TAG_SWEAT_DROP, .paletteTag = ANIM_TAG_SWEAT_DROP, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815DEBC, + .callback = AnimFacadeSweatDrop, }; const u16 gFacadeBlendColors[] = { @@ -950,7 +950,7 @@ const struct SpriteTemplate gRoarNoiseLineSpriteTemplate = { .tileTag = ANIM_TAG_NOISE_LINE, .paletteTag = ANIM_TAG_NOISE_LINE, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gRoarNoiseLineAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -961,7 +961,7 @@ const struct SpriteTemplate gGlareEyeDotSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_RED_EYE, .paletteTag = ANIM_TAG_SMALL_RED_EYE, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -972,7 +972,7 @@ const struct SpriteTemplate gAssistPawprintSpriteTemplate = { .tileTag = ANIM_TAG_PAW_PRINT, .paletteTag = ANIM_TAG_PAW_PRINT, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1002,7 +1002,7 @@ const struct SpriteTemplate gBarrageBallSpriteTemplate = { .tileTag = ANIM_TAG_RED_BALL, .paletteTag = ANIM_TAG_RED_BALL, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gBarrageBallAffineAnimTable, @@ -1013,7 +1013,7 @@ const struct SpriteTemplate gSmellingSaltsHandSpriteTemplate = { .tileTag = ANIM_TAG_TAG_HAND, .paletteTag = ANIM_TAG_TAG_HAND, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1031,7 +1031,7 @@ const struct SpriteTemplate gSmellingSaltExclamationSpriteTemplate = { .tileTag = ANIM_TAG_SMELLINGSALT_EFFECT, .paletteTag = ANIM_TAG_SMELLINGSALT_EFFECT, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1042,7 +1042,7 @@ const struct SpriteTemplate gHelpingHandClapSpriteTemplate = { .tileTag = ANIM_TAG_TAG_HAND, .paletteTag = ANIM_TAG_TAG_HAND, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1053,7 +1053,7 @@ const struct SpriteTemplate gForesightMagnifyingGlassSpriteTemplate = { .tileTag = ANIM_TAG_MAGNIFYING_GLASS, .paletteTag = ANIM_TAG_MAGNIFYING_GLASS, - .oam = &gUnknown_08524A34, + .oam = &gOamData_AffineOff_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1064,7 +1064,7 @@ const struct SpriteTemplate gMeteorMashStarSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_STARS, .paletteTag = ANIM_TAG_GOLD_STARS, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1075,18 +1075,18 @@ const struct SpriteTemplate gUnknown_085CE8F4 = { .tileTag = ANIM_TAG_GOLD_STARS, .paletteTag = ANIM_TAG_GOLD_STARS, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81061C4, + .callback = AnimParticuleBurst, }; const struct SpriteTemplate gBlockXSpriteTemplate = { .tileTag = ANIM_TAG_X_SIGN, .paletteTag = ANIM_TAG_X_SIGN, - .oam = &gUnknown_0852491C, + .oam = &gOamData_AffineOff_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1097,7 +1097,7 @@ const struct SpriteTemplate gUnknown_085CE924 = { .tileTag = ANIM_TAG_ITEM_BAG, .paletteTag = ANIM_TAG_ITEM_BAG, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1140,7 +1140,7 @@ const struct SpriteTemplate gKnockOffStrikeSpriteTemplate = { .tileTag = ANIM_TAG_SLAM_HIT_2, .paletteTag = ANIM_TAG_SLAM_HIT_2, - .oam = &gUnknown_0852497C, + .oam = &gOamData_AffineNormal_ObjNormal_64x64, .anims = gKnockOffStrikeAnimTable, .images = NULL, .affineAnims = gKnockOffStrikeAffineAnimTable, @@ -1162,7 +1162,7 @@ const struct SpriteTemplate gRecycleSpriteTemplate = { .tileTag = ANIM_TAG_RECYCLE, .paletteTag = ANIM_TAG_RECYCLE, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gRecycleSpriteAffineAnimTable, @@ -1179,7 +1179,7 @@ const union AffineAnimCmd gSlackOffSquishAffineAnimCmds[] = AFFINEANIMCMD_END, }; -void sub_815A0D4(struct Sprite *sprite) +void AnimBlackSmoke(struct Sprite *sprite) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -1190,10 +1190,10 @@ void sub_815A0D4(struct Sprite *sprite) sprite->data[0] = -gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[4]; - sprite->callback = sub_815A114; + sprite->callback = AnimBlackSmokeStep; } -static void sub_815A114(struct Sprite *sprite) +static void AnimBlackSmokeStep(struct Sprite *sprite) { if (sprite->data[1] > 0) { @@ -1208,43 +1208,43 @@ static void sub_815A114(struct Sprite *sprite) } } -void sub_815A160(u8 taskId) +void AnimTask_SmokescreenImpact(u8 taskId) { - sub_807521C( + SmokescreenImpact( GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 8, GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 8, 0); DestroyAnimVisualTask(taskId); } -void sub_815A1B0(struct Sprite *sprite) +void AnimWhiteHalo(struct Sprite *sprite) { sprite->data[0] = 90; sprite->callback = WaitAnimForDuration; sprite->data[1] = 7; - StoreSpriteCallbackInData6(sprite, sub_815A1F4); + StoreSpriteCallbackInData6(sprite, AnimWhiteHalo_Step1); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], 16 - sprite->data[1])); } -static void sub_815A1F4(struct Sprite *sprite) +static void AnimWhiteHalo_Step1(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], 16 - sprite->data[1])); if (--sprite->data[1] < 0) { sprite->invisible = 1; - sprite->callback = sub_815A234; + sprite->callback = AnimWhiteHalo_Step2; } } -static void sub_815A234(struct Sprite *sprite) +static void AnimWhiteHalo_Step2(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); DestroyAnimSprite(sprite); } -void sub_815A254(struct Sprite *sprite) +void AnimTealAlert(struct Sprite *sprite) { u16 rotation; u8 x = GetBattlerSpriteCoord(gBattleAnimTarget, 2); @@ -1266,15 +1266,15 @@ void sub_815A254(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_815A2F0(struct Sprite *sprite) +void AnimMeanLookEye(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); sprite->data[0] = 4; - sprite->callback = sub_815A31C; + sprite->callback = AnimMeanLookEye_Step1; } -static void sub_815A31C(struct Sprite *sprite) +static void AnimMeanLookEye_Step1(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 16 - sprite->data[0])); @@ -1294,22 +1294,22 @@ static void sub_815A31C(struct Sprite *sprite) sprite->data[2] = 0; sprite->invisible = 1; sprite->affineAnimPaused = 1; - sprite->callback = sub_815A3AC; + sprite->callback = AnimMeanLookEye_Step2; } } -static void sub_815A3AC(struct Sprite *sprite) +static void AnimMeanLookEye_Step2(struct Sprite *sprite) { if (sprite->data[2]++ > 9) { sprite->invisible = 0; sprite->affineAnimPaused = 0; if (sprite->affineAnimEnded) - sprite->callback = sub_815A3F0; + sprite->callback = AnimMeanLookEye_Step3; } } -static void sub_815A3F0(struct Sprite *sprite) +static void AnimMeanLookEye_Step3(struct Sprite *sprite) { switch (sprite->data[3]) { @@ -1344,11 +1344,11 @@ static void sub_815A3F0(struct Sprite *sprite) sprite->data[1] = 0; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 0)); - sprite->callback = sub_815A49C; + sprite->callback = AnimMeanLookEye_Step4; } } -static void sub_815A49C(struct Sprite *sprite) +static void AnimMeanLookEye_Step4(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 16 - sprite->data[0])); @@ -1369,17 +1369,17 @@ static void sub_815A49C(struct Sprite *sprite) } } -void sub_815A504(u8 taskId) +void AnimTask_SetPsychicBackground(u8 taskId) { - gTasks[taskId].func = sub_815A52C; + gTasks[taskId].func = SetPsychicBackground_Step; gAnimVisualTaskCount--; } -static void sub_815A52C(u8 taskId) +static void SetPsychicBackground_Step(u8 taskId) { int i; u16 lastColor; - u8 paletteIndex = sub_80A6D94(); + u8 paletteIndex = GetBattleBgPaletteNum(); if (++gTasks[taskId].data[5] == 4) { @@ -1395,17 +1395,17 @@ static void sub_815A52C(u8 taskId) DestroyTask(taskId); } -void sub_815A5C8(u8 taskId) +void AnimTask_FadeScreenToWhite(u8 taskId) { - gTasks[taskId].func = sub_815A5F0; + gTasks[taskId].func = FadeScreenToWhite_Step; gAnimVisualTaskCount--; } -static void sub_815A5F0(u8 taskId) +static void FadeScreenToWhite_Step(u8 taskId) { int i; u16 lastColor; - u8 paletteIndex = sub_80A6D94(); + u8 paletteIndex = GetBattleBgPaletteNum(); if (++gTasks[taskId].data[5] == 4) { @@ -1426,7 +1426,7 @@ static void sub_815A5F0(u8 taskId) DestroyTask(taskId); } -void sub_815A6C4(struct Sprite *sprite) +void AnimSpikes(struct Sprite *sprite) { u16 x; u16 y; @@ -1443,21 +1443,21 @@ void sub_815A6C4(struct Sprite *sprite) sprite->data[5] = -50; InitAnimArcTranslation(sprite); - sprite->callback = sub_815A73C; + sprite->callback = AnimSpikes_Step1; } -static void sub_815A73C(struct Sprite *sprite) +static void AnimSpikes_Step1(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) { sprite->data[0] = 30; sprite->data[1] = 0; sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData6(sprite, sub_815A76C); + StoreSpriteCallbackInData6(sprite, AnimSpikes_Step2); } } -static void sub_815A76C(struct Sprite *sprite) +static void AnimSpikes_Step2(struct Sprite *sprite) { if (sprite->data[1] & 1) sprite->invisible ^= 1; @@ -1466,7 +1466,7 @@ static void sub_815A76C(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_815A7B0(struct Sprite *sprite) +void AnimLeer(struct Sprite *sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); @@ -1475,7 +1475,7 @@ void sub_815A7B0(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_815A7EC(struct Sprite *sprite) +void AnimLetterZ(struct Sprite *sprite) { int var0; if (sprite->data[0] == 0) @@ -1513,7 +1513,7 @@ void sub_815A7EC(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_815A8AC(struct Sprite *sprite) +void AnimFang(struct Sprite *sprite) { if (sprite->animEnded) DestroyAnimSprite(sprite); @@ -1539,7 +1539,7 @@ void AnimTask_IsHealingMove(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_815A934(struct Sprite *sprite) +void AnimSpotlight(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ); SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON); @@ -1552,10 +1552,10 @@ void sub_815A934(struct Sprite *sprite) sprite->oam.objMode = ST_OAM_OBJ_WINDOW; sprite->invisible = 1; - sprite->callback = sub_815A9A0; + sprite->callback = AnimSpotlight_Step1; } -static void sub_815A9A0(struct Sprite *sprite) +static void AnimSpotlight_Step1(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -1591,20 +1591,20 @@ static void sub_815A9A0(struct Sprite *sprite) if (sprite->affineAnimEnded) { sprite->invisible = 1; - sprite->callback = sub_815AA6C; + sprite->callback = AnimSpotlight_Step2; } break; } } -static void sub_815AA6C(struct Sprite *sprite) +static void AnimSpotlight_Step2(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR); SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON); DestroyAnimSprite(sprite); } -void sub_815AAA4(struct Sprite *sprite) +void AnimClappingHand(struct Sprite *sprite) { if (gBattleAnimArgs[3] == 0) { @@ -1633,10 +1633,10 @@ void sub_815AAA4(struct Sprite *sprite) if (sprite->data[3] != 255) sprite->data[3] = gBattleAnimArgs[2]; - sprite->callback = sub_815AB5C; + sprite->callback = AnimClappingHand_Step; } -static void sub_815AB5C(struct Sprite *sprite) +static void AnimClappingHand_Step(struct Sprite *sprite) { if (sprite->data[2] == 0) { @@ -1665,14 +1665,14 @@ static void sub_815AB5C(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_815ABD0(struct Sprite *sprite) +void AnimClappingHand2(struct Sprite *sprite) { sprite->oam.objMode = ST_OAM_OBJ_WINDOW; sprite->data[3] = 255; - sub_815AAA4(sprite); + AnimClappingHand(sprite); } -void sub_815ABEC(u8 taskId) +void AnimTask_CreateSpotlight(u8 taskId) { if (IsContest()) { @@ -1695,7 +1695,7 @@ void sub_815ABEC(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_815AC8C(u8 taskId) +void AnimTask_RemoveSpotlight(u8 taskId) { SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); gBattle_WIN1H = 0; @@ -1706,7 +1706,7 @@ void sub_815AC8C(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_815ACD0(struct Sprite *sprite) +void AnimRapidSpin(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { @@ -1726,10 +1726,10 @@ void sub_815ACD0(struct Sprite *sprite) sprite->data[2] = gBattleAnimArgs[4]; sprite->data[3] = gBattleAnimArgs[5]; sprite->data[4] = gBattleAnimArgs[3]; - sprite->callback = sub_815AD4C; + sprite->callback = AnimRapidSpin_Step; } -static void sub_815AD4C(struct Sprite *sprite) +static void AnimRapidSpin_Step(struct Sprite *sprite) { sprite->data[1] = (sprite->data[1] + sprite->data[2]) & 0xFF; sprite->pos2.x = gSineTable[sprite->data[1]] >> 4; @@ -1747,7 +1747,7 @@ static void sub_815AD4C(struct Sprite *sprite) } } -void sub_815ADB0(u8 taskId) +void AnimTask_RapinSpinMonElevation(u8 taskId) { s16 var0; u8 toBG2; @@ -1828,10 +1828,10 @@ void sub_815ADB0(u8 taskId) scanlineParams.unused9 = 0; ScanlineEffect_SetParams(scanlineParams); - task->func = sub_815AED8; + task->func = RapinSpinMonElevation_Step; } -static void sub_815AED8(u8 taskId) +static void RapinSpinMonElevation_Step(u8 taskId) { s16 i; struct Task *task = &gTasks[taskId]; @@ -1890,7 +1890,7 @@ static void sub_815AED8(u8 taskId) } } -void sub_815AFF0(u8 taskId) +void AnimTask_TormentAttacker(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1902,10 +1902,10 @@ void sub_815AFF0(u8 taskId) task->data[5] = -20; task->data[6] = 0; task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); - task->func = sub_815B054; + task->func = TormentAttacker_Step; } -static void sub_815B054(u8 taskId) +static void TormentAttacker_Step(u8 taskId) { int var0, var1; s16 x, y; @@ -1929,7 +1929,7 @@ static void sub_815B054(u8 taskId) } y = task->data[3] + task->data[5]; - spriteId = CreateSprite(&gUnknown_08593114, x, y, 6 - task->data[1]); + spriteId = CreateSprite(&gThoughtBubbleSpriteTemplate, x, y, 6 - task->data[1]); PlaySE12WithPanning(SE_W118, BattleAnimAdjustPanning(-64)); if (spriteId != MAX_SPRITES) @@ -1982,12 +1982,12 @@ static void sub_815B054(u8 taskId) case 4: for (i = 0, j = 0; i < MAX_SPRITES; i++) { - if (gSprites[i].template == &gUnknown_08593114) + if (gSprites[i].template == &gThoughtBubbleSpriteTemplate) { gSprites[i].data[0] = taskId; gSprites[i].data[1] = 6; StartSpriteAnim(&gSprites[i], 2); - gSprites[i].callback = sub_815B23C; + gSprites[i].callback = TormentAttacker_Callback; if (++j == 6) break; @@ -2004,7 +2004,7 @@ static void sub_815B054(u8 taskId) } } -static void sub_815B23C(struct Sprite *sprite) +static void TormentAttacker_Callback(struct Sprite *sprite) { if (sprite->animEnded) { @@ -2013,7 +2013,7 @@ static void sub_815B23C(struct Sprite *sprite) } } -void sub_815B27C(struct Sprite *sprite) +void AnimTriAttackTriangle(struct Sprite *sprite) { if (sprite->data[0] == 0) InitSpritePosToAnimAttacker(sprite, FALSE); @@ -2044,12 +2044,12 @@ void sub_815B27C(struct Sprite *sprite) } } -void sub_815B338(u8 taskId) +void AnimTask_DefenseCurlDeformMon(u8 taskId) { switch (gTasks[taskId].data[0]) { case 0: - PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gUnknown_085CE350); + PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), DefenseCurlDeformMonAffineAnimCmds); gTasks[taskId].data[0]++; break; case 1: @@ -2059,7 +2059,7 @@ void sub_815B338(u8 taskId) } } -void sub_815B394(struct Sprite *sprite) +void AnimBatonPassPokeball(struct Sprite *sprite) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); @@ -2102,7 +2102,7 @@ void sub_815B394(struct Sprite *sprite) } } -void sub_815B49C(struct Sprite *sprite) +void AnimWishStar(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) sprite->pos1.x = -16; @@ -2110,10 +2110,10 @@ void sub_815B49C(struct Sprite *sprite) sprite->pos1.x = 256; sprite->pos1.y = 0; - sprite->callback = sub_815B4D4; + sprite->callback = AnimWishStar_Step; } -static void sub_815B4D4(struct Sprite *sprite) +static void AnimWishStar_Step(struct Sprite *sprite) { u32 newX; @@ -2156,10 +2156,10 @@ void AnimMiniTwinklingStar(struct Sprite *sprite) y = -y; sprite->pos2.y = y; - sprite->callback = sub_815B5D0; + sprite->callback = AnimMiniTwinklingStar_Step; } -static void sub_815B5D0(struct Sprite *sprite) +static void AnimMiniTwinklingStar_Step(struct Sprite *sprite) { if (++sprite->data[0] < 30) { @@ -2187,11 +2187,11 @@ static void sub_815B5D0(struct Sprite *sprite) DestroySprite(sprite); } -void sub_815B65C(u8 taskId) +void AnimTask_StockpileDeformMon(u8 taskId) { if (!gTasks[taskId].data[0]) { - PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gUnknown_085CE3B8); + PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gStockpileDeformMonAffineAnimCmds); gTasks[taskId].data[0]++; } else @@ -2201,11 +2201,11 @@ void sub_815B65C(u8 taskId) } } -void sub_815B6B4(u8 taskId) +void AnimTask_SpitUpDeformMon(u8 taskId) { if (!gTasks[taskId].data[0]) { - PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gUnknown_085CE3E0); + PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gSpitUpDeformMonAffineAnimCmds); gTasks[taskId].data[0]++; } else @@ -2215,7 +2215,7 @@ void sub_815B6B4(u8 taskId) } } -void sub_815B70C(struct Sprite *sprite) +void AnimSwallowBlueOrb(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -2234,11 +2234,11 @@ void sub_815B70C(struct Sprite *sprite) } } -void sub_815B778(u8 taskId) +void AnimTask_SwallowDeformMon(u8 taskId) { if (!gTasks[taskId].data[0]) { - PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gUnknown_085CE430); + PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gSwallowDeformMonAffineAnimCmds); gTasks[taskId].data[0]++; } else @@ -2248,7 +2248,7 @@ void sub_815B778(u8 taskId) } } -void sub_815B7D0(u8 taskId) +void AnimTask_TransformMon(u8 taskId) { int i, j; u8 position; @@ -2361,19 +2361,19 @@ void sub_815B7D0(u8 taskId) } } -void sub_815BB18(u8 taskId) +void AnimTask_IsMonInvisible(u8 taskId) { gBattleAnimArgs[7] = gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible; DestroyAnimVisualTask(taskId); } -void sub_815BB58(u8 taskId) +void AnimTask_CastformGfxChange(u8 taskId) { HandleSpeciesGfxDataChange(gBattleAnimAttacker, gBattleAnimTarget, TRUE); DestroyAnimVisualTask(taskId); } -void sub_815BB84(u8 taskId) +void AnimTask_MorningSunLightBeam(u8 taskId) { struct BattleAnimBgData animBg; @@ -2434,7 +2434,7 @@ void sub_815BB84(u8 taskId) if (!gTasks[taskId].data[1]) { - gBattle_BG1_X = gUnknown_085CE460[gTasks[taskId].data[2]] + gTasks[taskId].data[10]; + gBattle_BG1_X = gMorningSunLightBeamCoordsTable[gTasks[taskId].data[2]] + gTasks[taskId].data[10]; if (++gTasks[taskId].data[2] == 4) gTasks[taskId].data[0] = 4; else @@ -2465,7 +2465,7 @@ void sub_815BB84(u8 taskId) } } -void sub_815BE04(struct Sprite *sprite) +void AnimGreenStar(struct Sprite *sprite) { s16 xOffset; u8 spriteId1; @@ -2481,8 +2481,8 @@ void sub_815BE04(struct Sprite *sprite) sprite->data[1] = gBattleAnimArgs[0]; sprite->data[2] = gBattleAnimArgs[1]; - spriteId1 = CreateSprite(&gUnknown_085CE48C, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1); - spriteId2 = CreateSprite(&gUnknown_085CE48C, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1); + spriteId1 = CreateSprite(&gGreenStarSpriteTemplate, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1); + spriteId2 = CreateSprite(&gGreenStarSpriteTemplate, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1); StartSpriteAnim(&gSprites[spriteId1], 1); StartSpriteAnim(&gSprites[spriteId2], 2); @@ -2494,15 +2494,15 @@ void sub_815BE04(struct Sprite *sprite) gSprites[spriteId2].data[7] = -1; gSprites[spriteId1].invisible = 1; gSprites[spriteId2].invisible = 1; - gSprites[spriteId1].callback = sub_815C050; - gSprites[spriteId2].callback = sub_815C050; + gSprites[spriteId1].callback = AnimGreenStar_Callback; + gSprites[spriteId2].callback = AnimGreenStar_Callback; sprite->data[6] = spriteId1; sprite->data[7] = spriteId2; - sprite->callback = sub_815BF44; + sprite->callback = AnimGreenStar_Step1; } -static void sub_815BF44(struct Sprite *sprite) +static void AnimGreenStar_Step1(struct Sprite *sprite) { s16 delta = sprite->data[3] + sprite->data[2]; sprite->pos2.y -= delta >> 8; @@ -2523,11 +2523,11 @@ static void sub_815BF44(struct Sprite *sprite) if (--sprite->data[1] == -1) { sprite->invisible = 1; - sprite->callback = sub_815BFF4; + sprite->callback = AnimGreenStar_Step2; } } -static void sub_815BFF4(struct Sprite *sprite) +static void AnimGreenStar_Step2(struct Sprite *sprite) { if (gSprites[sprite->data[6]].callback == SpriteCallbackDummy && gSprites[sprite->data[7]].callback == SpriteCallbackDummy) @@ -2538,7 +2538,7 @@ static void sub_815BFF4(struct Sprite *sprite) } } -static void sub_815C050(struct Sprite *sprite) +static void AnimGreenStar_Callback(struct Sprite *sprite) { if (!sprite->invisible) { @@ -2554,7 +2554,7 @@ static void sub_815C050(struct Sprite *sprite) } } -void sub_815C0A4(u8 taskId) +void AnimTask_DoomDesireLightBeam(u8 taskId) { struct BattleAnimBgData animBg; @@ -2609,9 +2609,9 @@ void sub_815C0A4(u8 taskId) case 1: gTasks[taskId].data[3] = 0; if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) - gBattle_BG1_X = gTasks[taskId].data[10] + gUnknown_085CE4A4[gTasks[taskId].data[2]]; + gBattle_BG1_X = gTasks[taskId].data[10] + gDoomDesireLightBeamCoordTable[gTasks[taskId].data[2]]; else - gBattle_BG1_X = gTasks[taskId].data[10] - gUnknown_085CE4A4[gTasks[taskId].data[2]]; + gBattle_BG1_X = gTasks[taskId].data[10] - gDoomDesireLightBeamCoordTable[gTasks[taskId].data[2]]; if (++gTasks[taskId].data[2] == 5) gTasks[taskId].data[0] = 5; @@ -2627,7 +2627,7 @@ void sub_815C0A4(u8 taskId) gTasks[taskId].data[0]++; break; case 3: - if (++gTasks[taskId].data[3] > gUnknown_085CE4A8[gTasks[taskId].data[2]]) + if (++gTasks[taskId].data[3] > gDoomDesireLightBeamDelayTable[gTasks[taskId].data[2]]) gTasks[taskId].data[0]++; break; case 4: @@ -3808,7 +3808,7 @@ static void CreateSweatDroplets(u8 taskId, bool8 arg1) for (i = 0; i < 4; i++) { - u8 spriteId = CreateSprite(&gFacadeSweatDrop, xCoords[i], yCoords[i & 1], task->data[6] - 5); + u8 spriteId = CreateSprite(&gFacadeSweatDropSpriteTemplate, xCoords[i], yCoords[i & 1], task->data[6] - 5); if (spriteId != MAX_SPRITES) { gSprites[spriteId].data[0] = 0; @@ -3821,7 +3821,7 @@ static void CreateSweatDroplets(u8 taskId, bool8 arg1) } } -void sub_815DEBC(struct Sprite *sprite) +void AnimFacadeSweatDrop(struct Sprite *sprite) { sprite->pos1.x += sprite->data[1]; sprite->pos1.y += sprite->data[2]; @@ -4175,10 +4175,10 @@ void AnimSmellingSaltsHand(struct Sprite *sprite) sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) + 8; } - sprite->callback = sub_815E784; + sprite->callback = AnimSmellingSaltsHand_Step; } -static void sub_815E784(struct Sprite *sprite) +static void AnimSmellingSaltsHand_Step(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -4709,7 +4709,7 @@ void AnimTask_MonToSubstitute(u8 taskId) if (gTasks[taskId].data[0] == 0) { - PrepareBattlerSpriteForRotScale(spriteId, FALSE); + PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL); gTasks[taskId].data[1] = 0x100; gTasks[taskId].data[2] = 0x100; gTasks[taskId].data[0]++; diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index a667daecff..b356d57e00 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -7,7 +7,7 @@ #include "decompress.h" #include "dma3.h" #include "gpu_regs.h" -#include "alloc.h" +#include "malloc.h" #include "palette.h" #include "pokemon_icon.h" #include "sprite.h" @@ -26,11 +26,11 @@ #define IS_DOUBLE_BATTLE() ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) -extern const struct OamData gUnknown_0852497C; +extern const struct OamData gOamData_AffineNormal_ObjNormal_64x64; static void sub_80A6FB4(struct Sprite *sprite); static void sub_80A7144(struct Sprite *sprite); -static void sub_80A791C(struct Sprite *sprite); +static void AnimThrowProjectile_Step(struct Sprite *sprite); static void sub_80A8DFC(struct Sprite *sprite); static void sub_80A8E88(struct Sprite *sprite); static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId); @@ -92,7 +92,7 @@ static const struct SpriteTemplate sUnknown_08525F90[] = { .tileTag = 55125, .paletteTag = 55125, - .oam = &gUnknown_0852497C, + .oam = &gOamData_AffineNormal_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -101,7 +101,7 @@ static const struct SpriteTemplate sUnknown_08525F90[] = { .tileTag = 55126, .paletteTag = 55126, - .oam = &gUnknown_0852497C, + .oam = &gOamData_AffineNormal_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -966,7 +966,7 @@ void sub_80A6D60(struct BattleAnimBgData *unk, const void *src, u32 arg2) CopyBgTilemapBufferToVram(unk->bgId); } -u8 sub_80A6D94(void) +u8 GetBattleBgPaletteNum(void) { if (IsContest()) return 1; @@ -988,7 +988,7 @@ void sub_80A6DAC(bool8 arg0) } } -void sub_80A6DEC(struct Sprite *sprite) +void TradeMenuBouncePartySprites(struct Sprite *sprite) { sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; @@ -1253,7 +1253,7 @@ void ResetSpriteRotScale(u8 spriteId) { SetSpriteRotScale(spriteId, 0x100, 0x100, 0); gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; - gSprites[spriteId].oam.objMode = 0; + gSprites[spriteId].oam.objMode = ST_OAM_OBJ_NORMAL; gSprites[spriteId].affineAnimPaused = FALSE; CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode); } @@ -1353,7 +1353,7 @@ u32 sub_80A75AC(u8 battleBackground, u8 attacker, u8 target, u8 attackerPartner, if (!IsContest()) selectedPalettes = 0xe; else - selectedPalettes = 1 << sub_80A6D94(); + selectedPalettes = 1 << GetBattleBgPaletteNum(); } if (attacker) { @@ -1456,7 +1456,7 @@ static u8 GetBattlerAtPosition_(u8 position) return GetBattlerAtPosition(position); } -void sub_80A77C8(struct Sprite *sprite) +void AnimSpriteOnMonPos(struct Sprite *sprite) { bool8 var; @@ -1513,7 +1513,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_80A78AC(struct Sprite *sprite) +void AnimThrowProjectile(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, 1); if (GetBattlerSide(gBattleAnimAttacker)) @@ -1523,16 +1523,16 @@ void sub_80A78AC(struct Sprite *sprite) sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[5]; InitAnimArcTranslation(sprite); - sprite->callback = sub_80A791C; + sprite->callback = AnimThrowProjectile_Step; } -static void sub_80A791C(struct Sprite *sprite) +static void AnimThrowProjectile_Step(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) DestroyAnimSprite(sprite); } -void sub_80A7938(struct Sprite *sprite) +void AnimSnoreZ(struct Sprite *sprite) { bool8 r4; u8 battlerId, coordType; @@ -2267,7 +2267,7 @@ u8 sub_80A89C8(int battlerId, u8 spriteId, int species) gSprites[newSpriteId] = gSprites[spriteId]; gSprites[newSpriteId].usingSheet = TRUE; gSprites[newSpriteId].oam.priority = 0; - gSprites[newSpriteId].oam.objMode = 2; + gSprites[newSpriteId].oam.objMode = ST_OAM_OBJ_WINDOW; gSprites[newSpriteId].oam.tileNum = gSprites[spriteId].oam.tileNum; gSprites[newSpriteId].callback = SpriteCallbackDummy; return newSpriteId; diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c index 6780f0a329..6ff5ee8934 100755 --- a/src/battle_anim_special.c +++ b/src/battle_anim_special.c @@ -238,7 +238,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_POKEBALL, .paletteTag = TAG_PARTICLES_POKEBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -247,7 +247,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_GREATBALL, .paletteTag = TAG_PARTICLES_GREATBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -256,7 +256,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_SAFARIBALL, .paletteTag = TAG_PARTICLES_SAFARIBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -265,7 +265,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_ULTRABALL, .paletteTag = TAG_PARTICLES_ULTRABALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -274,7 +274,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_MASTERBALL, .paletteTag = TAG_PARTICLES_MASTERBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -283,7 +283,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_NETBALL, .paletteTag = TAG_PARTICLES_NETBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -292,7 +292,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_DIVEBALL, .paletteTag = TAG_PARTICLES_DIVEBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -301,7 +301,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_NESTBALL, .paletteTag = TAG_PARTICLES_NESTBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -310,7 +310,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_REPEATBALL, .paletteTag = TAG_PARTICLES_REPEATBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -319,7 +319,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_TIMERBALL, .paletteTag = TAG_PARTICLES_TIMERBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -328,7 +328,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_LUXURYBALL, .paletteTag = TAG_PARTICLES_LUXURYBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -337,7 +337,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { .tileTag = TAG_PARTICLES_PREMIERBALL, .paletteTag = TAG_PARTICLES_PREMIERBALL, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -375,7 +375,7 @@ const struct SpriteTemplate gPokeblockSpriteTemplate = { .tileTag = ANIM_TAG_POKEBLOCK, .paletteTag = ANIM_TAG_POKEBLOCK, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -396,14 +396,14 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_085E535C = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085E5358, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = sub_817330C, }; -extern const struct SpriteTemplate gUnknown_085CE388; +extern const struct SpriteTemplate gWishStarSpriteTemplate; extern const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate; void unref_sub_8170478(u8 taskId) @@ -2081,7 +2081,7 @@ static void sub_8172FEC(u8 taskId) state = gTasks[taskId].data[11]; if (state == 0) { - spriteId = CreateSprite(&gUnknown_085CE388, x, y, 5); + spriteId = CreateSprite(&gWishStarSpriteTemplate, x, y, 5); } else if (state >= 0 && gTasks[taskId].data[11] < 4) { diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 7ed78ea9a0..003b6d2ef0 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -14,8 +14,8 @@ extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; extern const u8 *const gBattleAnims_StatusConditions[]; -extern const struct OamData gUnknown_08524904; -extern const struct OamData gUnknown_08524A3C; +extern const struct OamData gOamData_AffineOff_ObjNormal_8x8; +extern const struct OamData gOamData_AffineOff_ObjBlend_64x64; // This file's functions. static void sub_80A9DB4(u8 taskId); @@ -46,7 +46,7 @@ const struct SpriteTemplate gUnknown_0853EDFC = { .tileTag = ANIM_TAG_ORB, .paletteTag = ANIM_TAG_ORB, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = sSpriteAnimTable_853EDF8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -57,7 +57,7 @@ const struct SpriteTemplate gUnknown_0853EE14 = { .tileTag = ANIM_TAG_ORB, .paletteTag = ANIM_TAG_ORB, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = sSpriteAnimTable_853EDF8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -79,7 +79,7 @@ const struct SpriteTemplate gUnknown_0853EE38 = { .tileTag = ANIM_TAG_WEATHER_BALL, .paletteTag = ANIM_TAG_WEATHER_BALL, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = sSpriteAnimTable_853EE34, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -90,7 +90,7 @@ const struct SpriteTemplate gUnknown_0853EE50 = { .tileTag = ANIM_TAG_WEATHER_BALL, .paletteTag = ANIM_TAG_WEATHER_BALL, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = sSpriteAnimTable_853EE34, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -116,7 +116,7 @@ const struct SpriteTemplate gUnknown_0853EE84 = { .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = sSpriteAnimTable_853EE80, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -127,7 +127,7 @@ const struct SpriteTemplate gUnknown_0853EE9C = { .tileTag = ANIM_TAG_MONSTER_FOOT, .paletteTag = ANIM_TAG_MONSTER_FOOT, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -163,7 +163,7 @@ const struct SpriteTemplate gUnknown_0853EED8 = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = sSpriteAnimTable_853EECC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -197,7 +197,7 @@ const struct SpriteTemplate gUnknown_0853EF18 = { .tileTag = ANIM_TAG_ORB, .paletteTag = ANIM_TAG_ORB, - .oam = &gUnknown_085249CC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = sSpriteAnimTable_853EEF8, .images = NULL, .affineAnims = sSpriteAffineAnimTable_853EEF8, @@ -206,10 +206,38 @@ const struct SpriteTemplate gUnknown_0853EF18 = static const struct Subsprite gUnknown_0853EF30[] = { - {.x = -16, .y = -16, .shape = ST_OAM_SQUARE, .size = 3, .tileOffset = 0, .priority = 2}, - {.x = -16, .y = 48, .shape = ST_OAM_H_RECTANGLE, .size = 3, .tileOffset = 64, .priority = 2}, - {.x = 48, .y = -16, .shape = ST_OAM_V_RECTANGLE, .size = 3, .tileOffset = 96, .priority = 2}, - {.x = 48, .y = 48, .shape = ST_OAM_SQUARE, .size = 2, .tileOffset = 128, .priority = 2}, + { + .x = -16, + .y = -16, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -16, + .y = 48, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .tileOffset = 64, + .priority = 2 + }, + { + .x = 48, + .y = -16, + .shape = SPRITE_SHAPE(32x64), + .size = SPRITE_SIZE(32x64), + .tileOffset = 96, + .priority = 2 + }, + { + .x = 48, + .y = 48, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .tileOffset = 128, + .priority = 2 + }, }; static const struct SubspriteTable gUnknown_0853EF40[] = @@ -221,7 +249,7 @@ static const struct SpriteTemplate gUnknown_0853EF48 = { .tileTag = ANIM_TAG_ICE_CUBE, .paletteTag = ANIM_TAG_ICE_CUBE, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -232,7 +260,7 @@ static const struct SpriteTemplate gUnknown_0853EF60 = { .tileTag = ANIM_TAG_CIRCLE_IMPACT, .paletteTag = ANIM_TAG_CIRCLE_IMPACT, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index efe35e1b4c..eff2bc3c77 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -3,7 +3,7 @@ #include "contest.h" #include "gpu_regs.h" #include "graphics.h" -#include "alloc.h" +#include "malloc.h" #include "palette.h" #include "sound.h" #include "sprite.h" @@ -36,7 +36,7 @@ static void sub_8117500(u8); static void sub_81175C4(u32, u16); static void sub_81176D8(u8); static void sub_8117A60(u8); -static void sub_8117FD0(u8); +static void ExtremSpeedMoveTarget_Step(u8); const u16 gUnknown_08597418 = RGB(31, 31, 31); @@ -1036,7 +1036,7 @@ void sub_8117F30(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8117F60(u8 taskId) +void AnimTask_ExtremeSpeedMoveTarget(u8 taskId) { if (IsContest()) { @@ -1046,12 +1046,12 @@ void sub_8117F60(u8 taskId) { gTasks[taskId].data[0] = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible; gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible = 1; - gTasks[taskId].func = sub_8117FD0; + gTasks[taskId].func = ExtremSpeedMoveTarget_Step; gAnimVisualTaskCount--; } } -static void sub_8117FD0(u8 taskId) +static void ExtremSpeedMoveTarget_Step(u8 taskId) { if (gBattleAnimArgs[7] == 0x1000) { diff --git a/src/battle_arena.c b/src/battle_arena.c index f785fa7c3d..42a967fc64 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -20,8 +20,10 @@ #include "text.h" #include "util.h" #include "constants/songs.h" +#include "constants/battle_arena.h" #include "constants/battle_string_ids.h" #include "constants/battle_frontier.h" +#include "constants/frontier_util.h" #include "constants/items.h" #include "constants/moves.h" #include "constants/rgb.h" @@ -30,9 +32,9 @@ static void InitArenaChallenge(void); static void GetArenaData(void); static void SetArenaData(void); -static void sub_81A5AC4(void); -static void SetArenaRewardItem(void); -static void GiveArenaRewardItem(void); +static void SaveArenaChallenge(void); +static void SetArenaPrize(void); +static void GiveArenaPrize(void); static void BufferArenaOpponentName(void); static void SpriteCb_JudgmentIcon(struct Sprite *sprite); static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler); @@ -402,10 +404,10 @@ static const s8 sMindRatings[] = static const struct OamData sJudgementIconOamData = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, @@ -467,16 +469,16 @@ static const struct CompressedSpriteSheet sBattleArenaJudgementSymbolsSpriteShee static void (* const sArenaFunctions[])(void) = { - InitArenaChallenge, - GetArenaData, - SetArenaData, - sub_81A5AC4, - SetArenaRewardItem, - GiveArenaRewardItem, - BufferArenaOpponentName, + [BATTLE_ARENA_FUNC_INIT] = InitArenaChallenge, + [BATTLE_ARENA_FUNC_GET_DATA] = GetArenaData, + [BATTLE_ARENA_FUNC_SET_DATA] = SetArenaData, + [BATTLE_ARENA_FUNC_SAVE] = SaveArenaChallenge, + [BATTLE_ARENA_FUNC_SET_PRIZE] = SetArenaPrize, + [BATTLE_ARENA_FUNC_GIVE_PRIZE] = GiveArenaPrize, + [BATTLE_ARENA_FUNC_GET_TRAINER_NAME] = BufferArenaOpponentName, }; -static const u16 sShortStreakRewardItems[] = +static const u16 sShortStreakPrizeItems[] = { ITEM_HP_UP, ITEM_PROTEIN, @@ -486,7 +488,7 @@ static const u16 sShortStreakRewardItems[] = ITEM_ZINC, }; -static const u16 sLongStreakRewardItems[] = +static const u16 sLongStreakPrizeItems[] = { ITEM_BRIGHT_POWDER, ITEM_WHITE_HERB, @@ -562,8 +564,8 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state) break; case 4: PlaySE(SE_HANTEI1); - ShowJudgmentSprite(80, 40, 0, 0); - ShowJudgmentSprite(160, 40, 0, 1); + ShowJudgmentSprite(80, 40, ARENA_CATEGORY_MIND, B_POSITION_PLAYER_LEFT); + ShowJudgmentSprite(160, 40, ARENA_CATEGORY_MIND, B_POSITION_OPPONENT_LEFT); BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement); BattlePutTextOnWindow(gDisplayedStringBattle, 21); (*state)++; @@ -571,8 +573,8 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state) break; case 5: PlaySE(SE_HANTEI1); - ShowJudgmentSprite(80, 56, 1, 0); - ShowJudgmentSprite(160, 56, 1, 1); + ShowJudgmentSprite(80, 56, ARENA_CATEGORY_SKILL, B_POSITION_PLAYER_LEFT); + ShowJudgmentSprite(160, 56, ARENA_CATEGORY_SKILL, B_POSITION_OPPONENT_LEFT); BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement); BattlePutTextOnWindow(gDisplayedStringBattle, 21); (*state)++; @@ -580,8 +582,8 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state) break; case 6: PlaySE(SE_HANTEI1); - ShowJudgmentSprite(80, 72, 2, 0); - ShowJudgmentSprite(160, 72, 2, 1); + ShowJudgmentSprite(80, 72, ARENA_CATEGORY_BODY, B_POSITION_PLAYER_LEFT); + ShowJudgmentSprite(160, 72, ARENA_CATEGORY_BODY, B_POSITION_OPPONENT_LEFT); BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement); BattlePutTextOnWindow(gDisplayedStringBattle, 21); (*state)++; @@ -641,15 +643,15 @@ static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler) switch (category) { - case 0: + case ARENA_CATEGORY_MIND: pointsPlayer = mindPoints[battler]; pointsOpponent = mindPoints[BATTLE_OPPOSITE(battler)]; break; - case 1: + case ARENA_CATEGORY_SKILL: pointsPlayer = skillPoints[battler]; pointsOpponent = skillPoints[BATTLE_OPPOSITE(battler)]; break; - case 2: + case ARENA_CATEGORY_BODY: pointsPlayer = (gBattleMons[battler].hp * 100) / hpAtStart[battler]; pointsOpponent = (gBattleMons[BATTLE_OPPOSITE(battler)].hp * 100) / hpAtStart[BATTLE_OPPOSITE(battler)]; break; @@ -786,14 +788,14 @@ static void InitArenaChallenge(void) bool32 isCurrent; u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; - gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.challengeStatus = 0; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; - gSaveBlock2Ptr->frontier.field_CA9_a = 0; - gSaveBlock2Ptr->frontier.field_CA9_b = 0; + gSaveBlock2Ptr->frontier.challengePaused = FALSE; + gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE; if (lvlMode != FRONTIER_LVL_50) - isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x80; + isCurrent = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_ARENA_OPEN; else - isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x40; + isCurrent = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_ARENA_50; if (!isCurrent) gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = 0; @@ -808,17 +810,17 @@ static void GetArenaData(void) switch (gSpecialVar_0x8005) { - case 0: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaRewardItem; + case ARENA_DATA_PRIZE: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaPrize; break; - case 1: + case ARENA_DATA_WIN_STREAK: gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode]; break; - case 2: + case ARENA_DATA_WIN_STREAK_ACTIVE: if (lvlMode != FRONTIER_LVL_50) - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x80; + gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_ARENA_OPEN; else - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x40; + gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_ARENA_50; break; } } @@ -829,55 +831,55 @@ static void SetArenaData(void) switch (gSpecialVar_0x8005) { - case 0: - gSaveBlock2Ptr->frontier.arenaRewardItem = gSpecialVar_0x8006; + case ARENA_DATA_PRIZE: + gSaveBlock2Ptr->frontier.arenaPrize = gSpecialVar_0x8006; break; - case 1: + case ARENA_DATA_WIN_STREAK: gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = gSpecialVar_0x8006; break; - case 2: + case ARENA_DATA_WIN_STREAK_ACTIVE: if (lvlMode != FRONTIER_LVL_50) { if (gSpecialVar_0x8006) - gSaveBlock2Ptr->frontier.field_CDC |= 0x80; + gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_ARENA_OPEN; else - gSaveBlock2Ptr->frontier.field_CDC &= ~(0x80); + gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_ARENA_OPEN); } else { if (gSpecialVar_0x8006) - gSaveBlock2Ptr->frontier.field_CDC |= 0x40; + gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_ARENA_50; else - gSaveBlock2Ptr->frontier.field_CDC &= ~(0x40); + gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_ARENA_50); } break; } } -static void sub_81A5AC4(void) +static void SaveArenaChallenge(void) { - gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; + gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_0, 0); - gSaveBlock2Ptr->frontier.field_CA9_a = 1; - sub_81A4C30(); + gSaveBlock2Ptr->frontier.challengePaused = TRUE; + SaveGameFrontier(); } -static void SetArenaRewardItem(void) +static void SetArenaPrize(void) { u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] > 41) - gSaveBlock2Ptr->frontier.arenaRewardItem = sLongStreakRewardItems[Random() % ARRAY_COUNT(sLongStreakRewardItems)]; + gSaveBlock2Ptr->frontier.arenaPrize = sLongStreakPrizeItems[Random() % ARRAY_COUNT(sLongStreakPrizeItems)]; else - gSaveBlock2Ptr->frontier.arenaRewardItem = sShortStreakRewardItems[Random() % ARRAY_COUNT(sShortStreakRewardItems)]; + gSaveBlock2Ptr->frontier.arenaPrize = sShortStreakPrizeItems[Random() % ARRAY_COUNT(sShortStreakPrizeItems)]; } -static void GiveArenaRewardItem(void) +static void GiveArenaPrize(void) { - if (AddBagItem(gSaveBlock2Ptr->frontier.arenaRewardItem, 1) == TRUE) + if (AddBagItem(gSaveBlock2Ptr->frontier.arenaPrize, 1) == TRUE) { - CopyItemName(gSaveBlock2Ptr->frontier.arenaRewardItem, gStringVar1); - gSaveBlock2Ptr->frontier.arenaRewardItem = 0; + CopyItemName(gSaveBlock2Ptr->frontier.arenaPrize, gStringVar1); + gSaveBlock2Ptr->frontier.arenaPrize = ITEM_NONE; gSpecialVar_Result = TRUE; } else diff --git a/src/battle_bg.c b/src/battle_bg.c index a08873857a..01d05e68d4 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -36,13 +36,13 @@ struct BattleBackground // .rodata static const u16 sUnrefArray[] = {0x0300, 0x0000}; //OamData? -static const struct OamData gUnknown_0831A988 = +static const struct OamData sVsLetter_V_OamData = { .y = 0, - .affineMode = 3, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -53,13 +53,13 @@ static const struct OamData gUnknown_0831A988 = .affineParam = 0, }; -static const struct OamData gUnknown_0831A990 = +static const struct OamData sVsLetter_S_OamData = { .y = 0, - .affineMode = 3, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -70,13 +70,13 @@ static const struct OamData gUnknown_0831A990 = .affineParam = 0, }; -static const union AffineAnimCmd gUnknown_0831A998[] = +static const union AffineAnimCmd sVsLetterAffineAnimCmds0[] = { AFFINEANIMCMD_FRAME(0x0080, 0x0080, 0x00, 0x00), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_0831A9A8[] = +static const union AffineAnimCmd sVsLetterAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x0080, 0x0080, 0x00, 0x00), AFFINEANIMCMD_FRAME(0x0018, 0x0018, 0x00, 0x80), @@ -84,37 +84,39 @@ static const union AffineAnimCmd gUnknown_0831A9A8[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd * const gUnknown_0831A9C8[] = +static const union AffineAnimCmd *const sVsLetterAffineAnimTable[] = { - gUnknown_0831A998, - gUnknown_0831A9A8, + sVsLetterAffineAnimCmds0, + sVsLetterAffineAnimCmds1, }; -static const struct SpriteTemplate gUnknown_0831A9D0 = +#define TAG_VS_LETTERS 10000 + +static const struct SpriteTemplate sVsLetter_V_SpriteTemplate = { - .tileTag = 0x2710, - .paletteTag = 0x2710, - .oam = &gUnknown_0831A988, + .tileTag = TAG_VS_LETTERS, + .paletteTag = TAG_VS_LETTERS, + .oam = &sVsLetter_V_OamData, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_0831A9C8, + .affineAnims = sVsLetterAffineAnimTable, .callback = nullsub_17 }; -static const struct SpriteTemplate gUnknown_0831A9E8 = +static const struct SpriteTemplate sVsLetter_S_SpriteTemplate = { - .tileTag = 0x2710, - .paletteTag = 0x2710, - .oam = &gUnknown_0831A990, + .tileTag = TAG_VS_LETTERS, + .paletteTag = TAG_VS_LETTERS, + .oam = &sVsLetter_S_OamData, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_0831A9C8, + .affineAnims = sVsLetterAffineAnimTable, .callback = nullsub_17 }; -static const struct CompressedSpriteSheet gUnknown_0831AA00 = +static const struct CompressedSpriteSheet sVsLettersSpriteSheet = { - gUnknown_08D77B0C, 0x1000, 0x2710 + gVsLettersGfx, 0x1000, TAG_VS_LETTERS }; const struct BgTemplate gBattleBgTemplates[] = @@ -689,7 +691,6 @@ static const struct BattleBackground gBattleTerrainTable[] = }, }; -// .text void BattleInitBgsAndWindows(void) { ResetBgsAndClearDma3BusyFlags(0); @@ -710,7 +711,7 @@ void BattleInitBgsAndWindows(void) DeactivateAllTextPrinters(); } -void sub_80356D0(void) +void InitBattleBgsVideo(void) { DisableInterrupts(INTR_FLAG_HBLANK); EnableInterrupts(INTR_FLAG_VBLANK | INTR_FLAG_VCOUNT | INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL); @@ -725,10 +726,11 @@ void LoadBattleMenuWindowGfx(void) { LoadUserWindowBorderGfx(2, 0x12, 0x10); LoadUserWindowBorderGfx(2, 0x22, 0x10); - LoadCompressedPalette(gUnknown_08D85600, 0x50, 0x20); + LoadCompressedPalette(gBattleWindowTextPalette, 0x50, 0x20); if (gBattleTypeFlags & BATTLE_TYPE_ARENA) { + // Load graphics for the Battle Arena referee's mid-battle messages. Menu_LoadStdPalAt(0x70); LoadMessageBoxGfx(0, 0x30, 0x70); gPlttBufferUnfaded[0x76] = 0; @@ -837,86 +839,81 @@ void DrawMainBattleBackground(void) void LoadBattleTextboxAndBackground(void) { - LZDecompressVram(gBattleTextboxTiles, (void*)(VRAM)); + LZDecompressVram(gBattleTextboxTiles, (void*)(BG_CHAR_ADDR(0))); CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0); CopyBgTilemapBufferToVram(0); LoadCompressedPalette(gBattleTextboxPalette, 0, 0x40); LoadBattleMenuWindowGfx(); - DrawMainBattleBackground(); } -static void sub_8035AE4(u8 taskId, u8 battlerId, u8 bgId, u8 destX, u8 destY) +static void DrawLinkBattleParticipantPokeballs(u8 taskId, u8 multiplayerId, u8 bgId, u8 destX, u8 destY) { s32 i; - u16 var = 0; - u16 src[6]; + u16 pokeballStatuses = 0; + u16 tiles[6]; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { if (gTasks[taskId].data[5] != 0) { - switch (battlerId) + switch (multiplayerId) { case 0: - var = 0x3F & gTasks[taskId].data[3]; + pokeballStatuses = 0x3F & gTasks[taskId].data[3]; break; case 1: - var = (0xFC0 & gTasks[taskId].data[4]) >> 6; + pokeballStatuses = (0xFC0 & gTasks[taskId].data[4]) >> 6; break; case 2: - var = (0xFC0 & gTasks[taskId].data[3]) >> 6; + pokeballStatuses = (0xFC0 & gTasks[taskId].data[3]) >> 6; break; case 3: - var = 0x3F & gTasks[taskId].data[4]; + pokeballStatuses = 0x3F & gTasks[taskId].data[4]; break; } } else { - switch (battlerId) + switch (multiplayerId) { case 0: - var = 0x3F & gTasks[taskId].data[3]; + pokeballStatuses = 0x3F & gTasks[taskId].data[3]; break; case 1: - var = 0x3F & gTasks[taskId].data[4]; + pokeballStatuses = 0x3F & gTasks[taskId].data[4]; break; case 2: - var = (0xFC0 & gTasks[taskId].data[3]) >> 6; + pokeballStatuses = (0xFC0 & gTasks[taskId].data[3]) >> 6; break; case 3: - var = (0xFC0 & gTasks[taskId].data[4]) >> 6; + pokeballStatuses = (0xFC0 & gTasks[taskId].data[4]) >> 6; break; } } for (i = 0; i < 3; i++) - { - src[i] = ((var & (3 << (i * 2))) >> (i * 2)) + 0x6001; - } + tiles[i] = ((pokeballStatuses & (3 << (i * 2))) >> (i * 2)) + 0x6001; - CopyToBgTilemapBufferRect_ChangePalette(bgId, src, destX, destY, 3, 1, 0x11); + CopyToBgTilemapBufferRect_ChangePalette(bgId, tiles, destX, destY, 3, 1, 0x11); CopyBgTilemapBufferToVram(bgId); } else { - if (battlerId == gBattleScripting.multiplayerId) - var = gTasks[taskId].data[3]; + if (multiplayerId == gBattleScripting.multiplayerId) + pokeballStatuses = gTasks[taskId].data[3]; else - var = gTasks[taskId].data[4]; + pokeballStatuses = gTasks[taskId].data[4]; for (i = 0; i < 6; i++) - { - src[i] = ((var & (3 << (i * 2))) >> (i * 2)) + 0x6001; - } + tiles[i] = ((pokeballStatuses & (3 << (i * 2))) >> (i * 2)) + 0x6001; - CopyToBgTilemapBufferRect_ChangePalette(bgId, src, destX, destY, 6, 1, 0x11); + CopyToBgTilemapBufferRect_ChangePalette(bgId, tiles, destX, destY, 6, 1, 0x11); CopyBgTilemapBufferToVram(bgId); } } -static void sub_8035C4C(void) +static void DrawLinkBattleVsScreenOutcomeText(void) { if (gBattleOutcome == B_OUTCOME_DREW) { @@ -997,7 +994,7 @@ static void sub_8035C4C(void) } } -void sub_8035D74(u8 taskId) +void InitLinkBattleVsScreen(u8 taskId) { struct LinkPlayer *linkPlayer; u8 *name; @@ -1017,19 +1014,19 @@ void sub_8035D74(u8 taskId) { case 0: BattlePutTextOnWindow(name, 0x11); - sub_8035AE4(taskId, linkPlayer->id, 1, 2, 4); + DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 1, 2, 4); break; case 1: BattlePutTextOnWindow(name, 0x12); - sub_8035AE4(taskId, linkPlayer->id, 2, 2, 4); + DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 2, 2, 4); break; case 2: BattlePutTextOnWindow(name, 0x13); - sub_8035AE4(taskId, linkPlayer->id, 1, 2, 8); + DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 1, 2, 8); break; case 3: BattlePutTextOnWindow(name, 0x14); - sub_8035AE4(taskId, linkPlayer->id, 2, 2, 8); + DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 2, 2, 8); break; } } @@ -1049,16 +1046,16 @@ void sub_8035D74(u8 taskId) name = gLinkPlayers[opponentId].name; BattlePutTextOnWindow(name, 0x10); - sub_8035AE4(taskId, playerId, 1, 2, 7); - sub_8035AE4(taskId, opponentId, 2, 2, 7); + DrawLinkBattleParticipantPokeballs(taskId, playerId, 1, 2, 7); + DrawLinkBattleParticipantPokeballs(taskId, opponentId, 2, 2, 7); } gTasks[taskId].data[0]++; break; case 1: - palId = AllocSpritePalette(0x2710); + palId = AllocSpritePalette(TAG_VS_LETTERS); gPlttBufferUnfaded[palId * 16 + 0x10F] = gPlttBufferFaded[palId * 16 + 0x10F] = 0x7FFF; - gBattleStruct->linkBattleVsSpriteId_V = CreateSprite(&gUnknown_0831A9D0, 111, 80, 0); - gBattleStruct->linkBattleVsSpriteId_S = CreateSprite(&gUnknown_0831A9E8, 129, 80, 0); + gBattleStruct->linkBattleVsSpriteId_V = CreateSprite(&sVsLetter_V_SpriteTemplate, 111, 80, 0); + gBattleStruct->linkBattleVsSpriteId_S = CreateSprite(&sVsLetter_S_SpriteTemplate, 129, 80, 0); gSprites[gBattleStruct->linkBattleVsSpriteId_V].invisible = TRUE; gSprites[gBattleStruct->linkBattleVsSpriteId_S].invisible = TRUE; gTasks[taskId].data[0]++; @@ -1087,7 +1084,7 @@ void sub_8035D74(u8 taskId) else { if (gTasks[taskId].data[5] != 0) - sub_8035C4C(); + DrawLinkBattleVsScreenOutcomeText(); PlaySE(SE_W231); DestroyTask(taskId); @@ -1110,7 +1107,7 @@ void DrawBattleEntryBackground(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { LZDecompressVram(gUnknown_08D778F0, (void*)(BG_CHAR_ADDR(1))); - LZDecompressVram(gUnknown_08D77B0C, (void*)(VRAM + 0x10000)); + LZDecompressVram(gVsLettersGfx, (void*)(VRAM + 0x10000)); LoadCompressedPalette(gUnknown_08D77AE4, 0x60, 0x20); SetBgAttribute(1, BG_ATTR_SCREENSIZE, 1); SetGpuReg(REG_OFFSET_BG1CNT, 0x5C04); @@ -1122,7 +1119,7 @@ void DrawBattleEntryBackground(void) SetGpuReg(REG_OFFSET_WINOUT, 0x36); gBattle_BG1_Y = 0xFF5C; gBattle_BG2_Y = 0xFF5C; - LoadCompressedSpriteSheetUsingHeap(&gUnknown_0831AA00); + LoadCompressedSpriteSheetUsingHeap(&sVsLettersSpriteSheet); } else if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_EREADER_TRAINER)) { @@ -1195,7 +1192,7 @@ bool8 LoadChosenBattleElement(u8 caseId) switch (caseId) { case 0: - LZDecompressVram(gBattleTextboxTiles, (void*)(VRAM)); + LZDecompressVram(gBattleTextboxTiles, (void*)(BG_CHAR_ADDR(0))); break; case 1: CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index d3842e416d..6604fa142e 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -1429,7 +1429,7 @@ static void LinkOpponentDoMoveAnimation(void) case 1: if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - sub_805EB9C(0); + sub_805EB9C(ST_OAM_AFFINE_OFF); DoMoveAnim(move); gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; } @@ -1438,7 +1438,7 @@ static void LinkOpponentDoMoveAnimation(void) gAnimScriptCallback(); if (!gAnimScriptActive) { - sub_805EB9C(1); + sub_805EB9C(ST_OAM_AFFINE_NORMAL); if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) { InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); @@ -1846,7 +1846,7 @@ static void LinkOpponentHandleCmd55(void) else gBattleOutcome = gBattleBufferA[gActiveBattler][1] ^ B_OUTCOME_DREW; - gSaveBlock2Ptr->frontier.field_CA9_b = gBattleBufferA[gActiveBattler][2]; + gSaveBlock2Ptr->frontier.disableRecordBattle = gBattleBufferA[gActiveBattler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); LinkOpponentBufferExecCompleted(); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 1c92aaaad5..ece4c24bc8 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -1253,7 +1253,7 @@ static void LinkPartnerDoMoveAnimation(void) case 1: if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - sub_805EB9C(0); + sub_805EB9C(ST_OAM_AFFINE_OFF); DoMoveAnim(move); gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; } @@ -1262,7 +1262,7 @@ static void LinkPartnerDoMoveAnimation(void) gAnimScriptCallback(); if (!gAnimScriptActive) { - sub_805EB9C(1); + sub_805EB9C(ST_OAM_AFFINE_NORMAL); if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) { InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); @@ -1676,7 +1676,7 @@ static void LinkPartnerHandleCmd55(void) { sub_81851A8(&gBattleBufferA[gActiveBattler][4]); gBattleOutcome = gBattleBufferA[gActiveBattler][1]; - gSaveBlock2Ptr->frontier.field_CA9_b = gBattleBufferA[gActiveBattler][2]; + gSaveBlock2Ptr->frontier.disableRecordBattle = gBattleBufferA[gActiveBattler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); LinkPartnerBufferExecCompleted(); diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index e096536c9e..daf2c260e4 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1465,7 +1465,7 @@ static void OpponentDoMoveAnimation(void) case 1: if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - sub_805EB9C(0); + sub_805EB9C(ST_OAM_AFFINE_OFF); DoMoveAnim(move); gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; } @@ -1474,7 +1474,7 @@ static void OpponentDoMoveAnimation(void) gAnimScriptCallback(); if (!gAnimScriptActive) { - sub_805EB9C(1); + sub_805EB9C(ST_OAM_AFFINE_NORMAL); if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) { InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index b73bfc36f4..7fe1ed24a5 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -31,6 +31,7 @@ #include "constants/battle_anim.h" #include "constants/items.h" #include "constants/moves.h" +#include "constants/party_menu.h" #include "constants/songs.h" #include "constants/trainers.h" #include "constants/rgb.h" @@ -664,7 +665,7 @@ u32 sub_8057FBC(void) // unused static void HandleMoveSwitching(void) { - u8 perMovePPBonuses[4]; + u8 perMovePPBonuses[MAX_MON_MOVES]; struct ChooseMoveStruct moveStruct; u8 totalPPBonuses; @@ -1341,10 +1342,10 @@ static void WaitForMonSelection(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - if (gUnknown_0203CEE8 == 1) - BtlController_EmitChosenMonReturnValue(1, gUnknown_0203CEE9, gUnknown_0203CF00); + if (gPartyMenuUseExitCallback == TRUE) + BtlController_EmitChosenMonReturnValue(1, gSelectedMonPartyId, gBattlePartyCurrentOrder); else - BtlController_EmitChosenMonReturnValue(1, 6, NULL); + BtlController_EmitChosenMonReturnValue(1, PARTY_SIZE, NULL); if ((gBattleBufferA[gActiveBattler][1] & 0xF) == 1) PrintLinkStandbyMsg(); @@ -1531,12 +1532,12 @@ void ActionSelectionDestroyCursorAt(u8 cursorPosition) CopyBgTilemapBufferToVram(0); } -void SetCB2ToReshowScreenAfterMenu(void) +void CB2_SetUpReshowBattleScreenAfterMenu(void) { SetMainCallback2(ReshowBattleScreenAfterMenu); } -void SetCB2ToReshowScreenAfterMenu2(void) +void CB2_SetUpReshowBattleScreenAfterMenu2(void) { SetMainCallback2(ReshowBattleScreenAfterMenu); } @@ -2312,7 +2313,7 @@ static void PlayerHandleDrawTrainerPic(void) gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y = 48; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = ST_OAM_AFFINE_OFF; gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1; } // Use the back pic in any other scenario. @@ -2484,7 +2485,7 @@ static void PlayerDoMoveAnimation(void) case 1: if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - sub_805EB9C(0); + sub_805EB9C(ST_OAM_AFFINE_OFF); DoMoveAnim(move); gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; } @@ -2493,7 +2494,7 @@ static void PlayerDoMoveAnimation(void) gAnimScriptCallback(); if (!gAnimScriptActive) { - sub_805EB9C(1); + sub_805EB9C(ST_OAM_AFFINE_NORMAL); if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) { InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); @@ -2632,20 +2633,20 @@ static void PlayerHandleChooseItem(void) gBattlerControllerFuncs[gActiveBattler] = OpenBagAndChooseItem; gBattlerInMenuId = gActiveBattler; - for (i = 0; i < 3; i++) - gUnknown_0203CF00[i] = gBattleBufferA[gActiveBattler][1 + i]; + for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) + gBattlePartyCurrentOrder[i] = gBattleBufferA[gActiveBattler][1 + i]; } static void PlayerHandleChoosePokemon(void) { s32 i; - for (i = 0; i < 3; i++) - gUnknown_0203CF00[i] = gBattleBufferA[gActiveBattler][4 + i]; + for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) + gBattlePartyCurrentOrder[i] = gBattleBufferA[gActiveBattler][4 + i]; - if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleBufferA[gActiveBattler][1] & 0xF) != PARTY_CANT_SWITCH) + if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleBufferA[gActiveBattler][1] & 0xF) != PARTY_ACTION_CANT_SWITCH) { - BtlController_EmitChosenMonReturnValue(1, gBattlerPartyIndexes[gActiveBattler] + 1, gUnknown_0203CF00); + BtlController_EmitChosenMonReturnValue(1, gBattlerPartyIndexes[gActiveBattler] + 1, gBattlePartyCurrentOrder); PlayerBufferExecCompleted(); } else @@ -2675,8 +2676,9 @@ static void PlayerHandleHealthBarUpdate(void) LoadBattleBarGfx(0); hpVal = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); + // gPlayerPartyLostHP used by Battle Dome, but never read if (hpVal > 0) - gUnknown_0203CD70 += hpVal; + gPlayerPartyLostHP += hpVal; if (hpVal != INSTANT_HP_BAR_DROP) { @@ -3092,7 +3094,7 @@ static void PlayerHandleCmd55(void) { sub_81851A8(&gBattleBufferA[gActiveBattler][4]); gBattleOutcome = gBattleBufferA[gActiveBattler][1]; - gSaveBlock2Ptr->frontier.field_CA9_b = gBattleBufferA[gActiveBattler][2]; + gSaveBlock2Ptr->frontier.disableRecordBattle = gBattleBufferA[gActiveBattler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); PlayerBufferExecCompleted(); diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index e625f24de9..21c1fdd5bc 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -1334,7 +1334,7 @@ static void PlayerPartnerHandleDrawTrainerPic(void) gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y = 48; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = ST_OAM_AFFINE_OFF; gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1; } @@ -1444,7 +1444,7 @@ static void PlayerPartnerDoMoveAnimation(void) case 1: if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - sub_805EB9C(0); + sub_805EB9C(ST_OAM_AFFINE_OFF); DoMoveAnim(move); gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; } @@ -1453,7 +1453,7 @@ static void PlayerPartnerDoMoveAnimation(void) gAnimScriptCallback(); if (!gAnimScriptActive) { - sub_805EB9C(1); + sub_805EB9C(ST_OAM_AFFINE_NORMAL); if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) { InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index b21d8288ce..7c1bff64a0 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -1355,7 +1355,7 @@ static void RecordedOpponentDoMoveAnimation(void) case 1: if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - sub_805EB9C(0); + sub_805EB9C(ST_OAM_AFFINE_OFF); DoMoveAnim(move); gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; } @@ -1364,7 +1364,7 @@ static void RecordedOpponentDoMoveAnimation(void) gAnimScriptCallback(); if (!gAnimScriptActive) { - sub_805EB9C(1); + sub_805EB9C(ST_OAM_AFFINE_NORMAL); if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) { InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index b59a4f25d7..5f3b3ea65a 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -1238,7 +1238,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void) gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y = 48; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = ST_OAM_AFFINE_OFF; gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1; } else @@ -1359,7 +1359,7 @@ static void RecordedPlayerDoMoveAnimation(void) case 1: if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - sub_805EB9C(0); + sub_805EB9C(ST_OAM_AFFINE_OFF); DoMoveAnim(move); gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; } @@ -1368,7 +1368,7 @@ static void RecordedPlayerDoMoveAnimation(void) gAnimScriptCallback(); if (!gAnimScriptActive) { - sub_805EB9C(1); + sub_805EB9C(ST_OAM_AFFINE_NORMAL); if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) { InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index f7035540b0..a5b1ae2f73 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -1134,7 +1134,7 @@ static void WallyDoMoveAnimation(void) case 1: if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - sub_805EB9C(0); + sub_805EB9C(ST_OAM_AFFINE_OFF); DoMoveAnim(move); gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; } @@ -1143,7 +1143,7 @@ static void WallyDoMoveAnimation(void) gAnimScriptCallback(); if (!gAnimScriptActive) { - sub_805EB9C(1); + sub_805EB9C(ST_OAM_AFFINE_NORMAL); if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) { InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 17db0b8688..b411c12f67 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -95,7 +95,7 @@ void sub_8032768(void) if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { for (i = 0; i < gBattlersCount; i++) - sub_81B8D64(i, 0); + BufferBattlePartyCurrentOrderBySide(i, 0); } for (i = 0; i < sizeof(gBattleStruct->tvMovePoints); i++) @@ -144,10 +144,10 @@ static void InitSinglePlayerBtlControllers(void) gBattlersCount = MAX_BATTLERS_COUNT; - sub_81B8D64(0, 0); - sub_81B8D64(1, 0); - sub_81B8D64(2, 1); - sub_81B8D64(3, 1); + BufferBattlePartyCurrentOrderBySide(0, 0); + BufferBattlePartyCurrentOrderBySide(1, 0); + BufferBattlePartyCurrentOrderBySide(2, 1); + BufferBattlePartyCurrentOrderBySide(3, 1); gBattlerPartyIndexes[0] = 0; gBattlerPartyIndexes[1] = 0; @@ -247,10 +247,10 @@ static void InitSinglePlayerBtlControllers(void) gBattlersCount = MAX_BATTLERS_COUNT; - sub_81B8D64(0, 0); - sub_81B8D64(1, 0); - sub_81B8D64(2, 1); - sub_81B8D64(3, 1); + BufferBattlePartyCurrentOrderBySide(0, 0); + BufferBattlePartyCurrentOrderBySide(1, 0); + BufferBattlePartyCurrentOrderBySide(2, 1); + BufferBattlePartyCurrentOrderBySide(3, 1); gBattlerPartyIndexes[0] = 0; gBattlerPartyIndexes[1] = 0; @@ -267,11 +267,11 @@ static void InitSinglePlayerBtlControllers(void) { case 0: case 3: - sub_81B8D64(gLinkPlayers[i].id, 0); + BufferBattlePartyCurrentOrderBySide(gLinkPlayers[i].id, 0); break; case 1: case 2: - sub_81B8D64(gLinkPlayers[i].id, 1); + BufferBattlePartyCurrentOrderBySide(gLinkPlayers[i].id, 1); break; } @@ -487,10 +487,10 @@ static void InitLinkBtlControllers(void) gBattlersCount = MAX_BATTLERS_COUNT; } - sub_81B8D64(0, 0); - sub_81B8D64(1, 0); - sub_81B8D64(2, 1); - sub_81B8D64(3, 1); + BufferBattlePartyCurrentOrderBySide(0, 0); + BufferBattlePartyCurrentOrderBySide(1, 0); + BufferBattlePartyCurrentOrderBySide(2, 1); + BufferBattlePartyCurrentOrderBySide(3, 1); gBattlerPartyIndexes[0] = 0; gBattlerPartyIndexes[1] = 0; gBattlerPartyIndexes[2] = 3; @@ -509,11 +509,11 @@ static void InitLinkBtlControllers(void) { case 0: case 3: - sub_81B8D64(gLinkPlayers[i].id, 0); + BufferBattlePartyCurrentOrderBySide(gLinkPlayers[i].id, 0); break; case 1: case 2: - sub_81B8D64(gLinkPlayers[i].id, 1); + BufferBattlePartyCurrentOrderBySide(gLinkPlayers[i].id, 1); break; } @@ -1175,13 +1175,13 @@ void BtlController_EmitChooseItem(u8 bufferId, u8 *arg1) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); } -void BtlController_EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8 *arg4) +void BtlController_EmitChoosePokemon(u8 bufferId, u8 caseId, u8 slotId, u8 abilityId, u8 *arg4) { s32 i; sBattleBuffersTransferData[0] = CONTROLLER_CHOOSEPOKEMON; sBattleBuffersTransferData[1] = caseId; - sBattleBuffersTransferData[2] = arg2; + sBattleBuffersTransferData[2] = slotId; sBattleBuffersTransferData[3] = abilityId; for (i = 0; i < 3; i++) sBattleBuffersTransferData[4 + i] = arg4[i]; @@ -1311,14 +1311,14 @@ void BtlController_EmitTwoReturnValues(u8 bufferId, u8 arg1, u16 arg2) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); } -void BtlController_EmitChosenMonReturnValue(u8 bufferId, u8 b, u8 *c) +void BtlController_EmitChosenMonReturnValue(u8 bufferId, u8 partyId, u8 *battlePartyOrder) { s32 i; sBattleBuffersTransferData[0] = CONTROLLER_CHOSENMONRETURNVALUE; - sBattleBuffersTransferData[1] = b; - for (i = 0; i < 3; i++) - sBattleBuffersTransferData[2 + i] = c[i]; + sBattleBuffersTransferData[1] = partyId; + for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) + sBattleBuffersTransferData[2 + i] = battlePartyOrder[i]; PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 5); } @@ -1509,8 +1509,8 @@ void BtlController_EmitCmd55(u8 bufferId, u8 battleOutcome) { sBattleBuffersTransferData[0] = CONTROLLER_55; sBattleBuffersTransferData[1] = battleOutcome; - sBattleBuffersTransferData[2] = gSaveBlock2Ptr->frontier.field_CA9_b; - sBattleBuffersTransferData[3] = gSaveBlock2Ptr->frontier.field_CA9_b; + sBattleBuffersTransferData[2] = gSaveBlock2Ptr->frontier.disableRecordBattle; + sBattleBuffersTransferData[3] = gSaveBlock2Ptr->frontier.disableRecordBattle; sBattleBuffersTransferData[5] = sBattleBuffersTransferData[4] = sub_81850DC(&sBattleBuffersTransferData[6]); PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sBattleBuffersTransferData[4] + 6); } diff --git a/src/battle_dome.c b/src/battle_dome.c index 1c116467db..746d195d91 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -1,6 +1,7 @@ #include "global.h" #include "battle_dome.h" #include "battle.h" +#include "battle_main.h" #include "battle_setup.h" #include "battle_tower.h" #include "frontier_util.h" @@ -8,7 +9,7 @@ #include "event_data.h" #include "overworld.h" #include "util.h" -#include "alloc.h" +#include "malloc.h" #include "string_util.h" #include "random.h" #include "task.h" @@ -30,69 +31,84 @@ #include "scanline_effect.h" #include "script_pokemon_util_80F87D8.h" #include "graphics.h" +#include "constants/battle_dome.h" +#include "constants/frontier_util.h" #include "constants/species.h" #include "constants/moves.h" +#include "constants/pokemon.h" #include "constants/trainers.h" #include "constants/abilities.h" #include "constants/songs.h" #include "constants/battle_frontier.h" #include "constants/rgb.h" -#define DOME_ROUND1 0 -#define DOME_ROUND2 1 -#define DOME_QUARTERFINAL 1 // Different name for the same round. -#define DOME_SEMIFINAL 2 -#define DOME_FINAL 3 -#define DOME_ROUNDS_COUNT 4 +// Enough space to hold 2 match info cards worth of trainers and their parties +#define NUM_INFOCARD_SPRITES ((FRONTIER_PARTY_SIZE + 1) * 4) +#define NUM_INFOCARD_TRAINERS 2 -struct BattleDomeStruct +// An 'Info Card' is a trainer or match information page that can be viewed on the Tourney Tree +struct TourneyTreeInfoCard { - u8 arr[DOME_TOURNAMENT_TRAINERS_COUNT]; - u8 unk_10; - u8 unk_11[3]; + u8 spriteIds[NUM_INFOCARD_SPRITES]; + u8 pos; + u8 tournamentIds[NUM_INFOCARD_TRAINERS]; }; -struct UnkStruct_860DD10 +struct TourneyTreeLineSection { u8 x; u8 y; u16 src; }; +#define DOME_TRAINERS gSaveBlock2Ptr->frontier.domeTrainers +#define DOME_MONS gSaveBlock2Ptr->frontier.domeMonIds + +#define tState data[0] + +// Task data for Task_ShowTourneyTree +#define tNotInteractive data[1] +#define tIsPrevTourneyTree data[4] + +// Task data for Task_ShowTourneyInfoCard +#define tTournamentId data[1] +#define tMode data[2] +#define tPrevTaskId data[3] + // This file's functions. static u8 GetDomeTrainerMonIvs(u16 trainerId); static void SwapDomeTrainers(int id1, int id2, u16 *statsArray); static void CalcDomeMonStats(u16 species, int level, int ivs, u8 evBits, u8 nature, int *stats); static void CreateDomeOpponentMons(u16 tournamentTrainerId); -static int sub_818FCBC(u16 tournamentTrainerId, bool8 arg1); -static int sub_818FDB8(u16 tournamentTrainerId, bool8 arg1); +static int SelectOpponentMonsUsingPersonality(u16 tournamentTrainerId, bool8 arg1); +static int SelectOpponentMonsUsingOtId(u16 tournamentTrainerId, bool8 arg1); static int GetTypeEffectivenessPoints(int move, int species, int arg2); -static int sub_818FEB4(int *arr, bool8 arg1); -static void Task_ShowOpponentInfo(u8 taskId); -static void sub_8190CD4(u8 taskId); -static u8 sub_819221C(u8 taskId); -static void InitDomeFacilityTrainersAndMons(void); +static int SelectOpponentMonsFromParty(int *arr, bool8 arg1); +static void Task_ShowTourneyInfoCard(u8 taskId); +static void Task_HandleInfoCardInput(u8 taskId); +static u8 Task_GetInfoCardInput(u8 taskId); +static void SetFacilityTrainerAndMonPtrs(void); static int TrainerIdToTournamentId(u16 trainerId); static u16 TrainerIdOfPlayerOpponent(void); static void Task_ShowTourneyTree(u8 taskId); -static void sub_8194950(u8 taskId); -static void CB2_BattleDome(void); -static void VblankCb0_BattleDome(void); +static void Task_HandleStaticTourneyTreeInput(u8 taskId); +static void CB2_TourneyTree(void); +static void VblankCb_TourneyInfoCard(void); static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo); -static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId); -static int sub_8192F08(u8, u8*); +static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId); +static int BufferDomeWinString(u8, u8*); static u8 GetDomeBrainTrainerPicId(void); static u8 GetDomeBrainTrainerClass(void); static void CopyDomeBrainTrainerName(u8 *str); static void CopyDomeTrainerName(u8 *str, u16 trainerId); -static void HblankCb_BattleDome(void); -static void VblankCb1_BattleDome(void); +static void HblankCb_TourneyTree(void); +static void VblankCb_TourneyTree(void); static u8 UpdateTourneyTreeCursor(u8 taskId); static void DecideRoundWinners(u8 roundId); static u8 sub_81953E8(u8 tournamentId, u8); -static void sub_81948EC(u8, u8); -static void sub_8190B40(struct Sprite *sprite); -static void sub_8190C6C(struct Sprite *sprite); +static void DrawTourneyAdvancementLine(u8, u8); +static void SpriteCb_HorizontalScrollArrow(struct Sprite *sprite); +static void SpriteCb_VerticalScrollArrow(struct Sprite *sprite); static void InitDomeChallenge(void); static void GetDomeData(void); static void SetDomeData(void); @@ -101,420 +117,424 @@ static void BufferDomeOpponentName(void); static void InitDomeOpponentParty(void); static void ShowDomeOpponentInfo(void); static void ShowDomeTourneyTree(void); -static void ShowPreviousDomeResultsTourneyTree(void); +static void ShowPreviousDomeTourneyTree(void); static void SetDomeOpponentId(void); static void SetDomeOpponentGraphicsId(void); static void ShowNonInteractiveDomeTourneyTree(void); static void ResolveDomeRoundWinners(void); -static void sub_81902F8(void); -static void UpdateDomeStreaks(void); -static void RestoreDomePlayerParty(void); +static void SaveDomeChallenge(void); +static void IncrementDomeStreaks(void); +static void ResetSketchedMoves(void); static void RestoreDomePlayerPartyHeldItems(void); -static void ReduceDomePlayerPartyTo3Mons(void); +static void ReduceDomePlayerPartyToSelectedMons(void); static void GetPlayerSeededBeforeOpponent(void); static void BufferLastDomeWinnerName(void); -static void sub_8194F58(void); +static void InitRandomTourneyTreeResults(void); static void InitDomeTrainers(void); // EWRAM variables. -EWRAM_DATA u32 gUnknown_0203CD70 = 0; -static EWRAM_DATA u32 gUnknown_0203CD74 = 0; -static EWRAM_DATA struct BattleDomeStruct *sBattleDomeStruct = {0}; +EWRAM_DATA u32 gPlayerPartyLostHP = 0; // never read +static EWRAM_DATA u32 sPlayerPartyMaxHP = 0; // never read +static EWRAM_DATA struct TourneyTreeInfoCard *sInfoCard = {0}; static EWRAM_DATA u8 *sTilemapBuffer = NULL; -// Const rom data. -static const u8 sMovePointsForDomeTrainers[MOVES_COUNT][DOME_TOURNAMENT_TRAINERS_COUNT] = +// Each move has an array of points for different move characteristics which contribute to a tourney trainers listed battle style (see sBattleStyleThresholds) +// All move points are either 1 or 0, so theyre essentially flags saying whether or not the move has that characteristic +static const u8 sBattleStyleMovePoints[MOVES_COUNT][NUM_MOVE_POINT_TYPES] = { - [MOVE_NONE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_POUND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_KARATE_CHOP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_DOUBLE_SLAP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_COMET_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_MEGA_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_PAY_DAY] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_FIRE_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_ICE_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_THUNDER_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_SCRATCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_VICE_GRIP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_GUILLOTINE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0}, - [MOVE_RAZOR_WIND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_SWORDS_DANCE] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, - [MOVE_CUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_GUST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_WING_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_WHIRLWIND] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_FLY] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_BIND] = {0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_SLAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_VINE_WHIP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_STOMP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_DOUBLE_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_MEGA_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0}, - [MOVE_JUMP_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_ROLLING_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_SAND_ATTACK] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_HEADBUTT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_HORN_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_FURY_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_HORN_DRILL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0}, - [MOVE_TACKLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_BODY_SLAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_WRAP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_TAKE_DOWN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_THRASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_DOUBLE_EDGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_TAIL_WHIP] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_POISON_STING] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_TWINEEDLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_PIN_MISSILE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_LEER] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_BITE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_GROWL] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_ROAR] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_SING] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_SUPERSONIC] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_SONIC_BOOM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_DISABLE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_ACID] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_EMBER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_FLAMETHROWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}, - [MOVE_MIST] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_WATER_GUN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_HYDRO_PUMP] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0}, - [MOVE_SURF] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0}, - [MOVE_ICE_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}, - [MOVE_BLIZZARD] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1}, - [MOVE_PSYBEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_BUBBLE_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_AURORA_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_HYPER_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0}, - [MOVE_PECK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_DRILL_PECK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_SUBMISSION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_LOW_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_COUNTER] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0}, - [MOVE_SEISMIC_TOSS] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_STRENGTH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_ABSORB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_MEGA_DRAIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_LEECH_SEED] = {1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_GROWTH] = {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_RAZOR_LEAF] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_SOLAR_BEAM] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0}, - [MOVE_POISON_POWDER] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_STUN_SPORE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_SLEEP_POWDER] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_PETAL_DANCE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_STRING_SHOT] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_DRAGON_RAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_FIRE_SPIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_THUNDER_SHOCK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_THUNDERBOLT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}, - [MOVE_THUNDER_WAVE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_THUNDER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1}, - [MOVE_ROCK_THROW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_EARTHQUAKE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0}, - [MOVE_FISSURE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0}, - [MOVE_DIG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_TOXIC] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_CONFUSION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_PSYCHIC] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}, - [MOVE_HYPNOSIS] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_MEDITATE] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_AGILITY] = {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_QUICK_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_RAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_TELEPORT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_NIGHT_SHADE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_MIMIC] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_SCREECH] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_DOUBLE_TEAM] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_RECOVER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_HARDEN] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_MINIMIZE] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_SMOKESCREEN] = {0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_CONFUSE_RAY] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_WITHDRAW] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_DEFENSE_CURL] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_BARRIER] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_LIGHT_SCREEN] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_HAZE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_REFLECT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_FOCUS_ENERGY] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_BIDE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_METRONOME] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, - [MOVE_MIRROR_MOVE] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, - [MOVE_SELF_DESTRUCT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0}, - [MOVE_EGG_BOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0}, - [MOVE_LICK] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_SMOG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_SLUDGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_BONE_CLUB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_FIRE_BLAST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1}, - [MOVE_WATERFALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_CLAMP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_SWIFT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_SKULL_BASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0}, - [MOVE_SPIKE_CANNON] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_CONSTRICT] = {0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_AMNESIA] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_KINESIS] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_SOFT_BOILED] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_HI_JUMP_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_GLARE] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_DREAM_EATER] = {1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, - [MOVE_POISON_GAS] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_BARRAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_LEECH_LIFE] = {0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_LOVELY_KISS] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_SKY_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1}, - [MOVE_TRANSFORM] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_BUBBLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_DIZZY_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_SPORE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_FLASH] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_PSYWAVE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_SPLASH] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_ACID_ARMOR] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_CRABHAMMER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, - [MOVE_EXPLOSION] = {0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0}, - [MOVE_FURY_SWIPES] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_BONEMERANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_REST] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_ROCK_SLIDE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_HYPER_FANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_SHARPEN] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_CONVERSION] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_TRI_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_SUPER_FANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_SLASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_SUBSTITUTE] = {0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_STRUGGLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0}, - [MOVE_SKETCH] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0}, - [MOVE_TRIPLE_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_THIEF] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_SPIDER_WEB] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_MIND_READER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0}, - [MOVE_NIGHTMARE] = {1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_FLAME_WHEEL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_SNORE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_CURSE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_FLAIL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_CONVERSION_2] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_AEROBLAST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0}, - [MOVE_COTTON_SPORE] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_REVERSAL] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_SPITE] = {0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_POWDER_SNOW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_PROTECT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0}, - [MOVE_MACH_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_SCARY_FACE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_FAINT_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_SWEET_KISS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_BELLY_DRUM] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_SLUDGE_BOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1}, - [MOVE_MUD_SLAP] = {0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_OCTAZOOKA] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_SPIKES] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_ZAP_CANNON] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1}, - [MOVE_FORESIGHT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_DESTINY_BOND] = {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, - [MOVE_PERISH_SONG] = {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, - [MOVE_ICY_WIND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_DETECT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0}, - [MOVE_BONE_RUSH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_LOCK_ON] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0}, - [MOVE_OUTRAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1}, - [MOVE_SANDSTORM] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_GIGA_DRAIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0}, - [MOVE_ENDURE] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_CHARM] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_ROLLOUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_FALSE_SWIPE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_SWAGGER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_MILK_DRINK] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_SPARK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_FURY_CUTTER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_STEEL_WING] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_MEAN_LOOK] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0}, - [MOVE_ATTRACT] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_SLEEP_TALK] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, - [MOVE_HEAL_BELL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, - [MOVE_RETURN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_PRESENT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0}, - [MOVE_FRUSTRATION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_SAFEGUARD] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_PAIN_SPLIT] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_SACRED_FIRE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1}, - [MOVE_MAGNITUDE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_DYNAMIC_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1}, - [MOVE_MEGAHORN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, - [MOVE_DRAGON_BREATH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_BATON_PASS] = {1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_ENCORE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0}, - [MOVE_PURSUIT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_RAPID_SPIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_SWEET_SCENT] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_IRON_TAIL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1}, - [MOVE_METAL_CLAW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_VITAL_THROW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_MORNING_SUN] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, - [MOVE_SYNTHESIS] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, - [MOVE_MOONLIGHT] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, - [MOVE_HIDDEN_POWER] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_CROSS_CHOP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0}, - [MOVE_TWISTER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_RAIN_DANCE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, - [MOVE_SUNNY_DAY] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, - [MOVE_CRUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_MIRROR_COAT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_PSYCH_UP] = {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_EXTREME_SPEED] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0}, - [MOVE_ANCIENT_POWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1}, - [MOVE_SHADOW_BALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_FUTURE_SIGHT] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_ROCK_SMASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_WHIRLPOOL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_BEAT_UP] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_FAKE_OUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_UPROAR] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_STOCKPILE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_SPIT_UP] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0}, - [MOVE_SWALLOW] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_HEAT_WAVE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1}, - [MOVE_HAIL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_TORMENT] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_FLATTER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_WILL_O_WISP] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_MEMENTO] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_FACADE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_FOCUS_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0}, - [MOVE_SMELLING_SALT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_FOLLOW_ME] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_NATURE_POWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_CHARGE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_TAUNT] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_HELPING_HAND] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_TRICK] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_ROLE_PLAY] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_WISH] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_ASSIST] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}, - [MOVE_INGRAIN] = {1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_SUPERPOWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0}, - [MOVE_MAGIC_COAT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0}, - [MOVE_RECYCLE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_REVENGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0}, - [MOVE_BRICK_BREAK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_YAWN] = {1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_KNOCK_OFF] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_ENDEAVOR] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0}, - [MOVE_ERUPTION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0}, - [MOVE_SKILL_SWAP] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_IMPRISON] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}, - [MOVE_REFRESH] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_GRUDGE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0}, - [MOVE_SNATCH] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}, - [MOVE_SECRET_POWER] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_DIVE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_ARM_THRUST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_CAMOUFLAGE] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_TAIL_GLOW] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_LUSTER_PURGE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1}, - [MOVE_MIST_BALL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1}, - [MOVE_FEATHER_DANCE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_TEETER_DANCE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_BLAZE_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_MUD_SPORT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_ICE_BALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_NEEDLE_ARM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_SLACK_OFF] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_HYPER_VOICE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0}, - [MOVE_POISON_FANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_CRUSH_CLAW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_BLAST_BURN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0}, - [MOVE_HYDRO_CANNON] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0}, - [MOVE_METEOR_MASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1}, - [MOVE_ASTONISH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_WEATHER_BALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_AROMATHERAPY] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, - [MOVE_FAKE_TEARS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_AIR_CUTTER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_OVERHEAT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1}, - [MOVE_ODOR_SLEUTH] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_ROCK_TOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_SILVER_WIND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1}, - [MOVE_METAL_SOUND] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_GRASS_WHISTLE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_TICKLE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_COSMIC_POWER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_WATER_SPOUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0}, - [MOVE_SIGNAL_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_SHADOW_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_EXTRASENSORY] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_SKY_UPPERCUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_SAND_TOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_SHEER_COLD] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0}, - [MOVE_MUDDY_WATER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1}, - [MOVE_BULLET_SEED] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_AERIAL_ACE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_ICICLE_SPEAR] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_IRON_DEFENSE] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_BLOCK] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0}, - [MOVE_HOWL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_DRAGON_CLAW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_FRENZY_PLANT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0}, - [MOVE_BULK_UP] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_BOUNCE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1}, - [MOVE_MUD_SHOT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, - [MOVE_POISON_TAIL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_COVET] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_VOLT_TACKLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0}, - [MOVE_MAGICAL_LEAF] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_WATER_SPORT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_CALM_MIND] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_LEAF_BLADE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, - [MOVE_DRAGON_DANCE] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_ROCK_BLAST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_SHOCK_WAVE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, - [MOVE_WATER_PULSE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, - [MOVE_DOOM_DESIRE] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0}, - [MOVE_PSYCHO_BOOST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1}, + [MOVE_NONE] = {0}, + [MOVE_POUND] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_KARATE_CHOP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_DOUBLE_SLAP] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_COMET_PUNCH] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_MEGA_PUNCH] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_PAY_DAY] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_FIRE_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_ICE_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_THUNDER_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SCRATCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_VICE_GRIP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_GUILLOTINE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_RAZOR_WIND] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_SWORDS_DANCE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_POPULAR] = 1}, + [MOVE_CUT] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_GUST] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_WING_ATTACK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_WHIRLWIND] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_FLY] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_BIND] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SLAM] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_VINE_WHIP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_STOMP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_DOUBLE_KICK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_MEGA_KICK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_JUMP_KICK] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_ROLLING_KICK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SAND_ATTACK] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_HEADBUTT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_HORN_ATTACK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_FURY_ATTACK] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_HORN_DRILL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_TACKLE] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_BODY_SLAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_WRAP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_TAKE_DOWN] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_THRASH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_DOUBLE_EDGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_TAIL_WHIP] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_POISON_STING] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_TWINEEDLE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_PIN_MISSILE] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_LEER] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_BITE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_GROWL] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_ROAR] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_SING] = {[MOVE_POINTS_STATUS] = 1}, + [MOVE_SUPERSONIC] = {[MOVE_POINTS_STATUS] = 1}, + [MOVE_SONIC_BOOM] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_DISABLE] = {[MOVE_POINTS_STATUS] = 1}, + [MOVE_ACID] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_EMBER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_FLAMETHROWER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_MIST] = {0}, + [MOVE_WATER_GUN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_HYDRO_PUMP] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_SURF] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1}, + [MOVE_ICE_BEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_BLIZZARD] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_PSYBEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_BUBBLE_BEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_AURORA_BEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_HYPER_BEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_PECK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_DRILL_PECK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_SUBMISSION] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_LOW_KICK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_COUNTER] = {[MOVE_POINTS_DEF] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1}, + [MOVE_SEISMIC_TOSS] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_STRENGTH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_ABSORB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_MEGA_DRAIN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_LEECH_SEED] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STATUS] = 1}, + [MOVE_GROWTH] = {[MOVE_POINTS_STAT_RAISE] = 1}, + [MOVE_RAZOR_LEAF] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_SOLAR_BEAM] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1}, + [MOVE_POISON_POWDER] = {[MOVE_POINTS_STATUS] = 1}, + [MOVE_STUN_SPORE] = {[MOVE_POINTS_STATUS] = 1}, + [MOVE_SLEEP_POWDER] = {[MOVE_POINTS_STATUS] = 1}, + [MOVE_PETAL_DANCE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_STRING_SHOT] = {[MOVE_POINTS_STAT_LOWER] = 1}, + [MOVE_DRAGON_RAGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_FIRE_SPIN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_THUNDER_SHOCK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_THUNDERBOLT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_THUNDER_WAVE] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_THUNDER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_ROCK_THROW] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_EARTHQUAKE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1}, + [MOVE_FISSURE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LUCK] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_DIG] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_TOXIC] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_CONFUSION] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_PSYCHIC] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_HYPNOSIS] = {[MOVE_POINTS_COMBO] = 1}, + [MOVE_MEDITATE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1}, + [MOVE_AGILITY] = {[MOVE_POINTS_STAT_RAISE] = 1}, + [MOVE_QUICK_ATTACK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_RAGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_TELEPORT] = {0}, + [MOVE_NIGHT_SHADE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_MIMIC] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_SCREECH] = {[MOVE_POINTS_STAT_LOWER] = 1}, + [MOVE_DOUBLE_TEAM] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1}, + [MOVE_RECOVER] = {0}, + [MOVE_HARDEN] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1}, + [MOVE_MINIMIZE] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1}, + [MOVE_SMOKESCREEN] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_DEF] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_CONFUSE_RAY] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_WITHDRAW] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1}, + [MOVE_DEFENSE_CURL] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1}, + [MOVE_BARRIER] = {[MOVE_POINTS_DEF] = 1}, + [MOVE_LIGHT_SCREEN] = {[MOVE_POINTS_DEF] = 1}, + [MOVE_HAZE] = {0}, + [MOVE_REFLECT] = {[MOVE_POINTS_DEF] = 1}, + [MOVE_FOCUS_ENERGY] = {[MOVE_POINTS_COMBO] = 1}, + [MOVE_BIDE] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_METRONOME] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_LUCK] = 1}, + [MOVE_MIRROR_MOVE] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_LUCK] = 1}, + [MOVE_SELF_DESTRUCT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_EGG_BOMB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1}, + [MOVE_LICK] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SMOG] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SLUDGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_BONE_CLUB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_FIRE_BLAST] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_WATERFALL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_CLAMP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SWIFT] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_SKULL_BASH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1}, + [MOVE_SPIKE_CANNON] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_CONSTRICT] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_AMNESIA] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1}, + [MOVE_KINESIS] = {[MOVE_POINTS_STAT_LOWER] = 1}, + [MOVE_SOFT_BOILED] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_HI_JUMP_KICK] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_GLARE] = {[MOVE_POINTS_STAT_LOWER] = 1}, + [MOVE_DREAM_EATER] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_RARE] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1}, + [MOVE_POISON_GAS] = {[MOVE_POINTS_STATUS] = 1}, + [MOVE_BARRAGE] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_LEECH_LIFE] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_LOVELY_KISS] = {[MOVE_POINTS_STATUS] = 1}, + [MOVE_SKY_ATTACK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_TRANSFORM] = {[MOVE_POINTS_RARE] = 1}, + [MOVE_BUBBLE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_DIZZY_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SPORE] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_FLASH] = {0}, + [MOVE_PSYWAVE] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_SPLASH] = {[MOVE_POINTS_RARE] = 1}, + [MOVE_ACID_ARMOR] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1}, + [MOVE_CRABHAMMER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_STRONG] = 1}, + [MOVE_EXPLOSION] = {[MOVE_POINTS_RISKY] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_FURY_SWIPES] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_BONEMERANG] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_REST] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1}, + [MOVE_ROCK_SLIDE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_HYPER_FANG] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SHARPEN] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1}, + [MOVE_CONVERSION] = {[MOVE_POINTS_DEF] = 1}, + [MOVE_TRI_ATTACK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SUPER_FANG] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_SLASH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_SUBSTITUTE] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DEF] = 1}, + [MOVE_STRUGGLE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1}, // Odd that this is assigned qualities + [MOVE_SKETCH] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_LUCK] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_TRIPLE_KICK] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_THIEF] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SPIDER_WEB] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_MIND_READER] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_NIGHTMARE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_FLAME_WHEEL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SNORE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_CURSE] = {[MOVE_POINTS_STATUS] = 1}, + [MOVE_FLAIL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_CONVERSION_2] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_AEROBLAST] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_COTTON_SPORE] = {[MOVE_POINTS_STAT_LOWER] = 1}, + [MOVE_REVERSAL] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_SPITE] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_RISKY] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_POWDER_SNOW] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_PROTECT] = {[MOVE_POINTS_DEF] = 1, [MOVE_POINTS_POPULAR] = 1}, + [MOVE_MACH_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_SCARY_FACE] = {0}, + [MOVE_FAINT_ATTACK] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_SWEET_KISS] = {0}, + [MOVE_BELLY_DRUM] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1}, + [MOVE_SLUDGE_BOMB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_MUD_SLAP] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_OCTAZOOKA] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SPIKES] = {[MOVE_POINTS_COMBO] = 1}, + [MOVE_ZAP_CANNON] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_LUCK] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_FORESIGHT] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_DESTINY_BOND] = {[MOVE_POINTS_RISKY] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_PERISH_SONG] = {[MOVE_POINTS_RISKY] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_ICY_WIND] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_DETECT] = {[MOVE_POINTS_DEF] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_BONE_RUSH] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_LOCK_ON] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_OUTRAGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SANDSTORM] = {0}, + [MOVE_GIGA_DRAIN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_ENDURE] = {[MOVE_POINTS_DEF] = 1}, + [MOVE_CHARM] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_ROLLOUT] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_FALSE_SWIPE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_SWAGGER] = {[MOVE_POINTS_EFFECT] = 1}, + [MOVE_MILK_DRINK] = {[MOVE_POINTS_HEAL] = 1}, + [MOVE_SPARK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_FURY_CUTTER] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_STEEL_WING] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_MEAN_LOOK] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_ATTRACT] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_SLEEP_TALK] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_LUCK] = 1}, + [MOVE_HEAL_BELL] = {[MOVE_POINTS_LOW_PP] = 1}, + [MOVE_RETURN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_PRESENT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LUCK] = 1}, + [MOVE_FRUSTRATION] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_SAFEGUARD] = {[MOVE_POINTS_DEF] = 1}, + [MOVE_PAIN_SPLIT] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_SACRED_FIRE] = {[MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_MAGNITUDE] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_DYNAMIC_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LUCK] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_MEGAHORN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_STRONG] = 1}, + [MOVE_DRAGON_BREATH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_BATON_PASS] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_RARE] = 1}, + [MOVE_ENCORE] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_PURSUIT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_RAPID_SPIN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_SWEET_SCENT] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_IRON_TAIL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_METAL_CLAW] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_VITAL_THROW] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_MORNING_SUN] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_SYNTHESIS] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_MOONLIGHT] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_HIDDEN_POWER] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_CROSS_CHOP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_TWISTER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_RAIN_DANCE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_SUNNY_DAY] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_CRUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_MIRROR_COAT] = {[MOVE_POINTS_DEF] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_PSYCH_UP] = {[MOVE_POINTS_STAT_RAISE] = 1}, + [MOVE_EXTREME_SPEED] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_ANCIENT_POWER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SHADOW_BALL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_FUTURE_SIGHT] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1}, + [MOVE_ROCK_SMASH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_WHIRLPOOL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_BEAT_UP] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_FAKE_OUT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_UPROAR] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_STOCKPILE] = {[MOVE_POINTS_COMBO] = 1}, + [MOVE_SPIT_UP] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1}, + [MOVE_SWALLOW] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1}, + [MOVE_HEAT_WAVE] = {[MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_HAIL] = {0}, + [MOVE_TORMENT] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_FLATTER] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_WILL_O_WISP] = {[MOVE_POINTS_STATUS] = 1}, + [MOVE_MEMENTO] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_FACADE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_FOCUS_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1}, + [MOVE_SMELLING_SALT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_FOLLOW_ME] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_NATURE_POWER] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_CHARGE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_TAUNT] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_HELPING_HAND] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_TRICK] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_ROLE_PLAY] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_WISH] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_ASSIST] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1}, + [MOVE_INGRAIN] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_DEF] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_SUPERPOWER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_MAGIC_COAT] = {[MOVE_POINTS_DEF] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1}, + [MOVE_RECYCLE] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_REVENGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1}, + [MOVE_BRICK_BREAK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_YAWN] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_KNOCK_OFF] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_ENDEAVOR] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_ERUPTION] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_SKILL_SWAP] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_IMPRISON] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1}, + [MOVE_REFRESH] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_GRUDGE] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_SNATCH] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1}, + [MOVE_SECRET_POWER] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_DIVE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_ARM_THRUST] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_CAMOUFLAGE] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_TAIL_GLOW] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_LUSTER_PURGE] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_MIST_BALL] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_FEATHER_DANCE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_TEETER_DANCE] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_BLAZE_KICK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_MUD_SPORT] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_ICE_BALL] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_NEEDLE_ARM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SLACK_OFF] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_HYPER_VOICE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1}, + [MOVE_POISON_FANG] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_CRUSH_CLAW] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_BLAST_BURN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_HYDRO_CANNON] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_METEOR_MASH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_ASTONISH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_WEATHER_BALL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_AROMATHERAPY] = {[MOVE_POINTS_LOW_PP] = 1}, + [MOVE_FAKE_TEARS] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_AIR_CUTTER] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_OVERHEAT] = {[MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_ODOR_SLEUTH] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_ROCK_TOMB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SILVER_WIND] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_METAL_SOUND] = {0}, + [MOVE_GRASS_WHISTLE] = {0}, + [MOVE_TICKLE] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_COSMIC_POWER] = {0}, + [MOVE_WATER_SPOUT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_SIGNAL_BEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SHADOW_PUNCH] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_EXTRASENSORY] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SKY_UPPERCUT] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_SAND_TOMB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_SHEER_COLD] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LUCK] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_MUDDY_WATER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_BULLET_SEED] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_AERIAL_ACE] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_ICICLE_SPEAR] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_IRON_DEFENSE] = {[MOVE_POINTS_DEF] = 1}, + [MOVE_BLOCK] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_HOWL] = {0}, + [MOVE_DRAGON_CLAW] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_FRENZY_PLANT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_BULK_UP] = {[MOVE_POINTS_COMBO] = 1}, + [MOVE_BOUNCE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_MUD_SHOT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_POISON_TAIL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_COVET] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_VOLT_TACKLE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1}, + [MOVE_MAGICAL_LEAF] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_WATER_SPORT] = {[MOVE_POINTS_ACCURATE] = 1}, + [MOVE_CALM_MIND] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1}, + [MOVE_LEAF_BLADE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1}, + [MOVE_DRAGON_DANCE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1}, + [MOVE_ROCK_BLAST] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_SHOCK_WAVE] = {[MOVE_POINTS_DMG] = 1}, + [MOVE_WATER_PULSE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1}, + [MOVE_DOOM_DESIRE] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1}, + [MOVE_PSYCHO_BOOST] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1}, }; -static const u8 gUnknown_0860C988[][DOME_TOURNAMENT_TRAINERS_COUNT] = +// This array is searched in-order to determine what battle style a tourney trainer uses. +// If the sum of the points for the party's moves meets/exceeds all the point totals of an element, then they use that battle style +static const u8 sBattleStyleThresholds[NUM_BATTLE_STYLES - 1][NUM_MOVE_POINT_TYPES] = { - {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0}, - {1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0}, - {3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - {0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0}, - {0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0}, - {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0}, - {0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0}, - {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0}, - {0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0}, - {2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 4, 0, 0}, - {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4}, - {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [DOME_BATTLE_STYLE_RISKY] = {[MOVE_POINTS_RISKY] = 1}, + [DOME_BATTLE_STYLE_STALL] = {[MOVE_POINTS_HEAL] = 2, [MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_DEF] = 2}, + [DOME_BATTLE_STYLE_VARIED] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_DEF] = 1}, + [DOME_BATTLE_STYLE_COMBO_HIGH] = {[MOVE_POINTS_COMBO] = 3}, + [DOME_BATTLE_STYLE_RARE_MOVES] = {[MOVE_POINTS_RARE] = 2}, + [DOME_BATTLE_STYLE_RARE_MOVE] = {[MOVE_POINTS_RARE] = 1}, + [DOME_BATTLE_STYLE_HP] = {[MOVE_POINTS_HEAL] = 3}, + [DOME_BATTLE_STYLE_STORE_POWER] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_HEAL] = 1}, + [DOME_BATTLE_STYLE_ENFEEBLE_LOW] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_STATUS] = 1}, + [DOME_BATTLE_STYLE_LUCK] = {[MOVE_POINTS_LUCK] = 2}, + [DOME_BATTLE_STYLE_REGAL] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_DEF] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1}, + [DOME_BATTLE_STYLE_LOW_PP] = {[MOVE_POINTS_LOW_PP] = 3}, + [DOME_BATTLE_STYLE_STATUS_ATK] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_STATUS] = 1}, + [DOME_BATTLE_STYLE_ENDURE] = {[MOVE_POINTS_HEAL] = 2, [MOVE_POINTS_DEF] = 2}, + [DOME_BATTLE_STYLE_STATUS] = {[MOVE_POINTS_STATUS] = 2}, + [DOME_BATTLE_STYLE_STRAIGHTFORWARD] = {[MOVE_POINTS_ACCURATE] = 3, [MOVE_POINTS_STRONG] = 3}, + [DOME_BATTLE_STYLE_AGGRESSIVE] = {[MOVE_POINTS_STRONG] = 4}, + [DOME_BATTLE_STYLE_DEF] = {[MOVE_POINTS_DEF] = 3}, + [DOME_BATTLE_STYLE_ENFEEBLE_HIGH] = {[MOVE_POINTS_STAT_LOWER] = 2, [MOVE_POINTS_STATUS] = 2}, // BUG: This battle style is unobtainable; DOME_BATTLE_STYLE_ENFEEBLE_LOW will always succeed before it + [DOME_BATTLE_STYLE_POPULAR_POWER] = {[MOVE_POINTS_POWERFUL] = 3, [MOVE_POINTS_POPULAR] = 3}, + [DOME_BATTLE_STYLE_COMBO_LOW] = {[MOVE_POINTS_COMBO] = 2}, + [DOME_BATTLE_STYLE_ACCURATE] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 3}, + [DOME_BATTLE_STYLE_POWERFUL] = {[MOVE_POINTS_POWERFUL] = 4}, + [DOME_BATTLE_STYLE_ATK_OVER_DEF] = {[MOVE_POINTS_DMG] = 7}, + [DOME_BATTLE_STYLE_DEF_OVER_ATK] = {[MOVE_POINTS_DEF] = 4}, // BUG: This battle style is unobtainable; DOME_BATTLE_STYLE_DEF will always succeed before it + [DOME_BATTLE_STYLE_POPULAR_STRONG] = {[MOVE_POINTS_POPULAR] = 2, [MOVE_POINTS_STRONG] = 4}, + [DOME_BATTLE_STYLE_EFFECTS] = {[MOVE_POINTS_EFFECT] = 4}, + [DOME_BATTLE_STYLE_BALANCED] = {0}, // If no other thresholds are met, this battle style is used + [DOME_BATTLE_STYLE_UNUSED1] = {0}, // Here below is unreachable + [DOME_BATTLE_STYLE_UNUSED2] = {0}, + [DOME_BATTLE_STYLE_UNUSED3] = {0}, + //[DOME_BATTLE_STYLE_UNUSED4] = {0}, // Excluded here, presumably was meant to be a style just for Dome Ace Tucker }; static const u8 sUnusedArray[] = { @@ -528,43 +548,47 @@ static const u8 sUnusedArray[] = 0, 0, 0, 254, 0, 0, 0, 0, 0, }; -static const u8 sTourneyTreeCursorMovementMap[][5][4]= +// 1st array is for cursor position (sprite id): cursor can be on a trainer info button, a match info button, or the exit/cancel button +// 2nd array is for round count. For some reason this array contains an inaccessible Round 5 which is identical to Round 4 +// 3rd array is movement direction (see the MOVE_DIR_* constants in UpdateTourneyTreeCursor) +// The values are sprite IDs for the cursor position to move to, with 0xFF being an invalid move +static const u8 sTourneyTreeCursorMovementMap[DOME_TOURNAMENT_TRAINERS_COUNT + DOME_TOURNAMENT_MATCHES_COUNT + 1][DOME_ROUNDS_COUNT + 1][4]= { - {{0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}}, - {{0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}}, - {{0x01, 0x03, 0x0a, 0x11}, {0x01, 0x03, 0x0a, 0x11}, {0x01, 0x03, 0x0a, 0x11}, {0x01, 0x03, 0x0a, 0x11}, {0x01, 0x03, 0x0a, 0x11}}, - {{0x02, 0x04, 0x0b, 0x11}, {0x02, 0x04, 0x0b, 0x11}, {0x02, 0x04, 0x0b, 0x11}, {0x02, 0x04, 0x0b, 0x11}, {0x02, 0x04, 0x0b, 0x11}}, - {{0x03, 0x05, 0x0c, 0x12}, {0x03, 0x05, 0x0c, 0x12}, {0x03, 0x05, 0x0c, 0x12}, {0x03, 0x05, 0x0c, 0x12}, {0x03, 0x05, 0x0c, 0x12}}, - {{0x04, 0x06, 0x0d, 0x12}, {0x04, 0x06, 0x0d, 0x12}, {0x04, 0x06, 0x0d, 0x12}, {0x04, 0x06, 0x0d, 0x12}, {0x04, 0x06, 0x0d, 0x12}}, - {{0x05, 0x07, 0x0e, 0x13}, {0x05, 0x07, 0x0e, 0x13}, {0x05, 0x07, 0x0e, 0x13}, {0x05, 0x07, 0x0e, 0x13}, {0x05, 0x07, 0x0e, 0x13}}, - {{0x06, 0x00, 0x0f, 0x13}, {0x06, 0x00, 0x0f, 0x13}, {0x06, 0x00, 0x0f, 0x13}, {0x06, 0x00, 0x0f, 0x13}, {0x06, 0x00, 0x0f, 0x13}}, - {{0x1f, 0x09, 0x14, 0x1f}, {0x1f, 0x09, 0x14, 0x1f}, {0x1f, 0x09, 0x14, 0x1f}, {0x1f, 0x09, 0x14, 0x1f}, {0x1f, 0x09, 0x14, 0x1f}}, - {{0x08, 0x0a, 0x14, 0x01}, {0x08, 0x0a, 0x14, 0x01}, {0x08, 0x0a, 0x14, 0x01}, {0x08, 0x0a, 0x14, 0x01}, {0x08, 0x0a, 0x14, 0x01}}, - {{0x09, 0x0b, 0x15, 0x02}, {0x09, 0x0b, 0x15, 0x02}, {0x09, 0x0b, 0x15, 0x02}, {0x09, 0x0b, 0x15, 0x02}, {0x09, 0x0b, 0x15, 0x02}}, - {{0x0a, 0x0c, 0x15, 0x03}, {0x0a, 0x0c, 0x15, 0x03}, {0x0a, 0x0c, 0x15, 0x03}, {0x0a, 0x0c, 0x15, 0x03}, {0x0a, 0x0c, 0x15, 0x03}}, - {{0x0b, 0x0d, 0x16, 0x04}, {0x0b, 0x0d, 0x16, 0x04}, {0x0b, 0x0d, 0x16, 0x04}, {0x0b, 0x0d, 0x16, 0x04}, {0x0b, 0x0d, 0x16, 0x04}}, - {{0x0c, 0x0e, 0x16, 0x05}, {0x0c, 0x0e, 0x16, 0x05}, {0x0c, 0x0e, 0x16, 0x05}, {0x0c, 0x0e, 0x16, 0x05}, {0x0c, 0x0e, 0x16, 0x05}}, - {{0x0d, 0x0f, 0x17, 0x06}, {0x0d, 0x0f, 0x17, 0x06}, {0x0d, 0x0f, 0x17, 0x06}, {0x0d, 0x0f, 0x17, 0x06}, {0x0d, 0x0f, 0x17, 0x06}}, - {{0x0e, 0x1f, 0x17, 0x07}, {0x0e, 0x1f, 0x17, 0x07}, {0x0e, 0x1f, 0x17, 0x07}, {0x0e, 0x1f, 0x17, 0x07}, {0x0e, 0x1f, 0x17, 0x07}}, - {{0x13, 0x11, 0x00, 0x14}, {0x13, 0x11, 0x00, 0x18}, {0x13, 0x11, 0x00, 0x18}, {0x13, 0x11, 0x00, 0x18}, {0x13, 0x11, 0x00, 0x18}}, - {{0x10, 0x12, 0x02, 0x15}, {0x10, 0x12, 0x02, 0x18}, {0x10, 0x12, 0x02, 0x18}, {0x10, 0x12, 0x02, 0x18}, {0x10, 0x12, 0x02, 0x18}}, - {{0x11, 0x13, 0x04, 0x16}, {0x11, 0x13, 0x04, 0x19}, {0x11, 0x13, 0x04, 0x19}, {0x11, 0x13, 0x04, 0x19}, {0x11, 0x13, 0x04, 0x19}}, - {{0x12, 0x10, 0x06, 0x17}, {0x12, 0x10, 0x06, 0x19}, {0x12, 0x10, 0x06, 0x19}, {0x12, 0x10, 0x06, 0x19}, {0x12, 0x10, 0x06, 0x19}}, - {{0x17, 0x15, 0x10, 0x08}, {0x17, 0x15, 0x1a, 0x08}, {0x17, 0x15, 0x1a, 0x08}, {0x17, 0x15, 0x1a, 0x08}, {0x17, 0x15, 0x1a, 0x08}}, - {{0x14, 0x16, 0x11, 0x0a}, {0x14, 0x16, 0x1a, 0x0a}, {0x14, 0x16, 0x1a, 0x0a}, {0x14, 0x16, 0x1a, 0x0a}, {0x14, 0x16, 0x1a, 0x0a}}, - {{0x15, 0x17, 0x12, 0x0c}, {0x15, 0x17, 0x1b, 0x0c}, {0x15, 0x17, 0x1b, 0x0c}, {0x15, 0x17, 0x1b, 0x0c}, {0x15, 0x17, 0x1b, 0x0c}}, - {{0x16, 0x14, 0x13, 0x0e}, {0x16, 0x14, 0x1b, 0x0e}, {0x16, 0x14, 0x1b, 0x0e}, {0x16, 0x14, 0x1b, 0x0e}, {0x16, 0x14, 0x1b, 0x0e}}, - {{0xff, 0xff, 0xff, 0xff}, {0x19, 0x19, 0x10, 0x1a}, {0x19, 0x19, 0x10, 0x1c}, {0x19, 0x19, 0x10, 0x1c}, {0x19, 0x19, 0x10, 0x1c}}, - {{0xff, 0xff, 0xff, 0xff}, {0x18, 0x18, 0x12, 0x1b}, {0x18, 0x18, 0x12, 0x1c}, {0x18, 0x18, 0x12, 0x1c}, {0x18, 0x18, 0x12, 0x1c}}, - {{0xff, 0xff, 0xff, 0xff}, {0x1b, 0x1b, 0x18, 0x14}, {0x1b, 0x1b, 0x1d, 0x14}, {0x1b, 0x1b, 0x1d, 0x14}, {0x1b, 0x1b, 0x1d, 0x14}}, - {{0xff, 0xff, 0xff, 0xff}, {0x1a, 0x1a, 0x19, 0x16}, {0x1a, 0x1a, 0x1d, 0x16}, {0x1a, 0x1a, 0x1d, 0x16}, {0x1a, 0x1a, 0x1d, 0x16}}, - {{0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0x18, 0x1d}, {0xff, 0xff, 0x18, 0x1e}, {0xff, 0xff, 0x18, 0x1e}}, - {{0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0x1c, 0x1a}, {0xff, 0xff, 0x1e, 0x1a}, {0xff, 0xff, 0x1e, 0x1a}}, - {{0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0x1c, 0x1d}, {0xff, 0xff, 0x1c, 0x1d}}, - {{0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}}, + [0] = {{ 7, 1, 8, 16}, { 7, 1, 8, 16}, { 7, 1, 8, 16}, { 7, 1, 8, 16}, { 7, 1, 8, 16}}, + [1] = {{ 0, 2, 9, 16}, { 0, 2, 9, 16}, { 0, 2, 9, 16}, { 0, 2, 9, 16}, { 0, 2, 9, 16}}, + [2] = {{ 1, 3, 10, 17}, { 1, 3, 10, 17}, { 1, 3, 10, 17}, { 1, 3, 10, 17}, { 1, 3, 10, 17}}, + [3] = {{ 2, 4, 11, 17}, { 2, 4, 11, 17}, { 2, 4, 11, 17}, { 2, 4, 11, 17}, { 2, 4, 11, 17}}, + [4] = {{ 3, 5, 12, 18}, { 3, 5, 12, 18}, { 3, 5, 12, 18}, { 3, 5, 12, 18}, { 3, 5, 12, 18}}, + [5] = {{ 4, 6, 13, 18}, { 4, 6, 13, 18}, { 4, 6, 13, 18}, { 4, 6, 13, 18}, { 4, 6, 13, 18}}, + [6] = {{ 5, 7, 14, 19}, { 5, 7, 14, 19}, { 5, 7, 14, 19}, { 5, 7, 14, 19}, { 5, 7, 14, 19}}, + [7] = {{ 6, 0, 15, 19}, { 6, 0, 15, 19}, { 6, 0, 15, 19}, { 6, 0, 15, 19}, { 6, 0, 15, 19}}, + [8] = {{ 31, 9, 20, 31}, { 31, 9, 20, 31}, { 31, 9, 20, 31}, { 31, 9, 20, 31}, { 31, 9, 20, 31}}, + [9] = {{ 8, 10, 20, 1}, { 8, 10, 20, 1}, { 8, 10, 20, 1}, { 8, 10, 20, 1}, { 8, 10, 20, 1}}, + [10] = {{ 9, 11, 21, 2}, { 9, 11, 21, 2}, { 9, 11, 21, 2}, { 9, 11, 21, 2}, { 9, 11, 21, 2}}, + [11] = {{ 10, 12, 21, 3}, { 10, 12, 21, 3}, { 10, 12, 21, 3}, { 10, 12, 21, 3}, { 10, 12, 21, 3}}, + [12] = {{ 11, 13, 22, 4}, { 11, 13, 22, 4}, { 11, 13, 22, 4}, { 11, 13, 22, 4}, { 11, 13, 22, 4}}, + [13] = {{ 12, 14, 22, 5}, { 12, 14, 22, 5}, { 12, 14, 22, 5}, { 12, 14, 22, 5}, { 12, 14, 22, 5}}, + [14] = {{ 13, 15, 23, 6}, { 13, 15, 23, 6}, { 13, 15, 23, 6}, { 13, 15, 23, 6}, { 13, 15, 23, 6}}, + [15] = {{ 14, 31, 23, 7}, { 14, 31, 23, 7}, { 14, 31, 23, 7}, { 14, 31, 23, 7}, { 14, 31, 23, 7}}, + [16] = {{ 19, 17, 0, 20}, { 19, 17, 0, 24}, { 19, 17, 0, 24}, { 19, 17, 0, 24}, { 19, 17, 0, 24}}, + [17] = {{ 16, 18, 2, 21}, { 16, 18, 2, 24}, { 16, 18, 2, 24}, { 16, 18, 2, 24}, { 16, 18, 2, 24}}, + [18] = {{ 17, 19, 4, 22}, { 17, 19, 4, 25}, { 17, 19, 4, 25}, { 17, 19, 4, 25}, { 17, 19, 4, 25}}, + [19] = {{ 18, 16, 6, 23}, { 18, 16, 6, 25}, { 18, 16, 6, 25}, { 18, 16, 6, 25}, { 18, 16, 6, 25}}, + [20] = {{ 23, 21, 16, 8}, { 23, 21, 26, 8}, { 23, 21, 26, 8}, { 23, 21, 26, 8}, { 23, 21, 26, 8}}, + [21] = {{ 20, 22, 17, 10}, { 20, 22, 26, 10}, { 20, 22, 26, 10}, { 20, 22, 26, 10}, { 20, 22, 26, 10}}, + [22] = {{ 21, 23, 18, 12}, { 21, 23, 27, 12}, { 21, 23, 27, 12}, { 21, 23, 27, 12}, { 21, 23, 27, 12}}, + [23] = {{ 22, 20, 19, 14}, { 22, 20, 27, 14}, { 22, 20, 27, 14}, { 22, 20, 27, 14}, { 22, 20, 27, 14}}, + [24] = {{0xFF, 0xFF, 0xFF, 0xFF}, { 25, 25, 16, 26}, { 25, 25, 16, 28}, { 25, 25, 16, 28}, { 25, 25, 16, 28}}, + [25] = {{0xFF, 0xFF, 0xFF, 0xFF}, { 24, 24, 18, 27}, { 24, 24, 18, 28}, { 24, 24, 18, 28}, { 24, 24, 18, 28}}, + [26] = {{0xFF, 0xFF, 0xFF, 0xFF}, { 27, 27, 24, 20}, { 27, 27, 29, 20}, { 27, 27, 29, 20}, { 27, 27, 29, 20}}, + [27] = {{0xFF, 0xFF, 0xFF, 0xFF}, { 26, 26, 25, 22}, { 26, 26, 29, 22}, { 26, 26, 29, 22}, { 26, 26, 29, 22}}, + [28] = {{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 24, 29}, {0xFF, 0xFF, 24, 30}, {0xFF, 0xFF, 24, 30}}, + [29] = {{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 28, 26}, {0xFF, 0xFF, 30, 26}, {0xFF, 0xFF, 30, 26}}, + [30] = {{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 28, 29}, {0xFF, 0xFF, 28, 29}}, + [31] = {{ 15, 8, 8, 0}, { 15, 8, 8, 0}, { 15, 8, 8, 0}, { 15, 8, 8, 0}, { 15, 8, 8, 0}}, // TOURNEY_TREE_CLOSE_BUTTON }; -static const struct BgTemplate gUnknown_0860CE74[4] = +static const struct BgTemplate sTourneyTreeBgTemplates[4] = { { .bg = 0, @@ -604,7 +628,7 @@ static const struct BgTemplate gUnknown_0860CE74[4] = }, }; -static const struct BgTemplate gUnknown_0860CE84[4] = +static const struct BgTemplate sInfoCardBgTemplates[4] = { { .bg = 0, @@ -644,7 +668,7 @@ static const struct BgTemplate gUnknown_0860CE84[4] = }, }; -static const struct WindowTemplate gUnknown_0860CE94[] = +static const struct WindowTemplate sTourneyTreeWindowTemplates[] = { { .bg = 0, @@ -676,7 +700,7 @@ static const struct WindowTemplate gUnknown_0860CE94[] = DUMMY_WIN_TEMPLATE, }; -static const struct WindowTemplate gUnknown_0860CEB4[] = +static const struct WindowTemplate sInfoCardWindowTemplates[] = { { .bg = 0, @@ -850,25 +874,26 @@ static const struct ScanlineEffectParams sTourneyTreeScanlineEffectParams = .initState = 1, }; -static const struct CompressedSpriteSheet sDomeOptionsSpriteSheet[] = +static const struct CompressedSpriteSheet sTourneyTreeButtonsSpriteSheet[] = { - {gBattleFrontierGfx_DomeOptions, 0x0600, 0x0000}, + {gDomeTourneyTreeButtons_Gfx, 0x0600, 0x0000}, {}, }; -static const struct CompressedSpritePalette gUnknown_0860CF60[] = +// Unused +static const struct CompressedSpritePalette sTourneyTreeButtonsSpritePal[] = { - {gUnknown_08D85444, 0x0000}, + {gDomeTourneyTreeButtons_Pal, 0x0000}, {}, }; -static const struct OamData gUnknown_0860CF70 = +static const struct OamData sOamData_TourneyTreePokeball = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, @@ -879,13 +904,14 @@ static const struct OamData gUnknown_0860CF70 = .affineParam = 0, }; -static const struct OamData gUnknown_0860CF78 = +// For Exit/Cancel buttons +static const struct OamData sOamData_TourneyTreeCloseButton = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, @@ -896,13 +922,13 @@ static const struct OamData gUnknown_0860CF78 = .affineParam = 0, }; -static const struct OamData gUnknown_0860CF80 = +static const struct OamData sOamData_VerticalScrollArrow = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x8), .x = 0, .matrixNum = 0, @@ -913,13 +939,13 @@ static const struct OamData gUnknown_0860CF80 = .affineParam = 0, }; -static const struct OamData gUnknown_0860CF88 = +static const struct OamData sOamData_HorizontalScrollArrow = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x16), .x = 0, .matrixNum = 0, @@ -930,1324 +956,1128 @@ static const struct OamData gUnknown_0860CF88 = .affineParam = 0, }; -static const union AnimCmd gUnknown_0860CF90[] = +static const union AnimCmd sSpriteAnim_TourneyTreePokeballNormal[] = { ANIMCMD_FRAME(20, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_0860CF98[] = +static const union AnimCmd sSpriteAnim_TourneyTreePokeballSelected[] = { ANIMCMD_FRAME(24, 1), ANIMCMD_END, }; -static const union AnimCmd * const gUnknown_0860CFA0[] = +static const union AnimCmd * const sSpriteAnimTable_TourneyTreePokeball[] = { - gUnknown_0860CF90, - gUnknown_0860CF98, + sSpriteAnim_TourneyTreePokeballNormal, + sSpriteAnim_TourneyTreePokeballSelected, }; -static const struct SpriteTemplate gUnknown_0860CFA8 = +// Sprite template for the pokeballs on the tourney tree that act as buttons to view a trainer/match info card +static const struct SpriteTemplate sTourneyTreePokeballSpriteTemplate = { .tileTag = 0x0000, .paletteTag = 0xffff, - .oam = &gUnknown_0860CF70, - .anims = gUnknown_0860CFA0, + .oam = &sOamData_TourneyTreePokeball, + .anims = sSpriteAnimTable_TourneyTreePokeball, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy + .callback = SpriteCallbackDummy }; -static const union AnimCmd gUnknown_0860CFC0[] = +static const union AnimCmd sSpriteAnim_TourneyTreeCancelButtonNormal[] = { ANIMCMD_FRAME(8, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_0860CFC8[] = +static const union AnimCmd sSpriteAnim_TourneyTreeCancelButtonSelected[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd * const gUnknown_0860CFD0[] = +static const union AnimCmd * const sSpriteAnimTable_TourneyTreeCancelButton[] = { - gUnknown_0860CFC0, - gUnknown_0860CFC8, + sSpriteAnim_TourneyTreeCancelButtonNormal, + sSpriteAnim_TourneyTreeCancelButtonSelected, }; -static const struct SpriteTemplate gUnknown_0860CFD8 = +static const struct SpriteTemplate sCancelButtonSpriteTemplate = { .tileTag = 0x0000, .paletteTag = 0xffff, - .oam = &gUnknown_0860CF78, - .anims = gUnknown_0860CFD0, + .oam = &sOamData_TourneyTreeCloseButton, + .anims = sSpriteAnimTable_TourneyTreeCancelButton, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy }; -static const union AnimCmd gUnknown_0860CFF0[] = +static const union AnimCmd sSpriteAnim_TourneyTreeExitButtonNormal[] = { ANIMCMD_FRAME(40, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_0860CFF8[] = +static const union AnimCmd sSpriteAnim_TourneyTreeExitButtonSelected[] = { ANIMCMD_FRAME(32, 1), ANIMCMD_END, }; -static const union AnimCmd * const gUnknown_0860D000[] = +static const union AnimCmd * const sSpriteAnimTable_TourneyTreeExitButton[] = { - gUnknown_0860CFF0, - gUnknown_0860CFF8, + sSpriteAnim_TourneyTreeExitButtonNormal, + sSpriteAnim_TourneyTreeExitButtonSelected, }; -static const struct SpriteTemplate gUnknown_0860D008 = +static const struct SpriteTemplate sExitButtonSpriteTemplate = { .tileTag = 0x0000, .paletteTag = 0xffff, - .oam = &gUnknown_0860CF78, - .anims = gUnknown_0860D000, + .oam = &sOamData_TourneyTreeCloseButton, + .anims = sSpriteAnimTable_TourneyTreeExitButton, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy }; -static const union AnimCmd gUnknown_0860D020[] = +static const union AnimCmd sSpriteAnim_UpArrow[] = { ANIMCMD_FRAME(18, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_0860D028[] = +static const union AnimCmd sSpriteAnim_DownArrow[] = { ANIMCMD_FRAME(18, 1, .vFlip = TRUE), ANIMCMD_END, }; -static const union AnimCmd gUnknown_0860D030[] = +static const union AnimCmd sSpriteAnim_LeftArrow[] = { ANIMCMD_FRAME(16, 1, .hFlip = TRUE), ANIMCMD_END, }; -static const union AnimCmd gUnknown_0860D038[] = +static const union AnimCmd sSpriteAnim_RightArrow[] = { ANIMCMD_FRAME(16, 1), ANIMCMD_END, }; -static const union AnimCmd * const gUnknown_0860D040[] = +static const union AnimCmd * const sSpriteAnimTable_VerticalScrollArrow[] = { - gUnknown_0860D020, - gUnknown_0860D028, + sSpriteAnim_UpArrow, + sSpriteAnim_DownArrow, }; -static const union AnimCmd * const gUnknown_0860D048[] = +static const union AnimCmd * const sSpriteAnimTable_HorizontalScrollArrow[] = { - gUnknown_0860D030, - gUnknown_0860D038, + sSpriteAnim_LeftArrow, + sSpriteAnim_RightArrow, }; -static const struct SpriteTemplate gUnknown_0860D050 = +static const struct SpriteTemplate sHorizontalScrollArrowSpriteTemplate = { .tileTag = 0x0000, .paletteTag = 0xffff, - .oam = &gUnknown_0860CF88, - .anims = gUnknown_0860D048, + .oam = &sOamData_HorizontalScrollArrow, + .anims = sSpriteAnimTable_HorizontalScrollArrow, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8190B40 + .callback = SpriteCb_HorizontalScrollArrow }; -static const struct SpriteTemplate gUnknown_0860D068 = +static const struct SpriteTemplate sVerticalScrollArrowSpriteTemplate = { .tileTag = 0x0000, .paletteTag = 0xffff, - .oam = &gUnknown_0860CF80, - .anims = gUnknown_0860D040, + .oam = &sOamData_VerticalScrollArrow, + .anims = sSpriteAnimTable_VerticalScrollArrow, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8190C6C + .callback = SpriteCb_VerticalScrollArrow }; -static const u8 sTourneyTreeTrainerIds[] = {0, 8, 12, 4, 7, 15, 11, 3, 2, 10, 14, 6, 5, 13, 9, 1}; +// Organized by seed starting position, i.e. seed 0 battles seed 8 first +static const u8 sTourneyTreeTrainerIds[DOME_TOURNAMENT_TRAINERS_COUNT] = {0, 8, 12, 4, 7, 15, 11, 3, 2, 10, 14, 6, 5, 13, 9, 1}; static void (* const sBattleDomeFunctions[])(void) = { - InitDomeChallenge, - GetDomeData, - SetDomeData, - BufferDomeRoundText, - BufferDomeOpponentName, - InitDomeOpponentParty, - ShowDomeOpponentInfo, - ShowDomeTourneyTree, - ShowPreviousDomeResultsTourneyTree, - SetDomeOpponentId, - SetDomeOpponentGraphicsId, - ShowNonInteractiveDomeTourneyTree, - ResolveDomeRoundWinners, - sub_81902F8, - UpdateDomeStreaks, - InitDomeFacilityTrainersAndMons, - RestoreDomePlayerParty, - RestoreDomePlayerPartyHeldItems, - ReduceDomePlayerPartyTo3Mons, - GetPlayerSeededBeforeOpponent, - BufferLastDomeWinnerName, - sub_8194F58, - InitDomeTrainers, + [BATTLE_DOME_FUNC_INIT] = InitDomeChallenge, + [BATTLE_DOME_FUNC_GET_DATA] = GetDomeData, + [BATTLE_DOME_FUNC_SET_DATA] = SetDomeData, + [BATTLE_DOME_FUNC_GET_ROUND_TEXT] = BufferDomeRoundText, + [BATTLE_DOME_FUNC_GET_OPPONENT_NAME] = BufferDomeOpponentName, + [BATTLE_DOME_FUNC_INIT_OPPONENT_PARTY] = InitDomeOpponentParty, + [BATTLE_DOME_FUNC_SHOW_OPPONENT_INFO] = ShowDomeOpponentInfo, + [BATTLE_DOME_FUNC_SHOW_TOURNEY_TREE] = ShowDomeTourneyTree, + [BATTLE_DOME_FUNC_SHOW_PREV_TOURNEY_TREE] = ShowPreviousDomeTourneyTree, + [BATTLE_DOME_FUNC_SET_OPPONENT_ID] = SetDomeOpponentId, + [BATTLE_DOME_FUNC_SET_OPPONENT_GFX] = SetDomeOpponentGraphicsId, + [BATTLE_DOME_FUNC_SHOW_STATIC_TOURNEY_TREE] = ShowNonInteractiveDomeTourneyTree, + [BATTLE_DOME_FUNC_RESOLVE_WINNERS] = ResolveDomeRoundWinners, + [BATTLE_DOME_FUNC_SAVE] = SaveDomeChallenge, + [BATTLE_DOME_FUNC_INCREMENT_STREAK] = IncrementDomeStreaks, + [BATTLE_DOME_FUNC_SET_TRAINERS] = SetFacilityTrainerAndMonPtrs, + [BATTLE_DOME_FUNC_RESET_SKETCH] = ResetSketchedMoves, + [BATTLE_DOME_FUNC_RESTORE_HELD_ITEMS] = RestoreDomePlayerPartyHeldItems, + [BATTLE_DOME_FUNC_REDUCE_PARTY] = ReduceDomePlayerPartyToSelectedMons, + [BATTLE_DOME_FUNC_COMPARE_SEEDS] = GetPlayerSeededBeforeOpponent, + [BATTLE_DOME_FUNC_GET_WINNER_NAME] = BufferLastDomeWinnerName, + [BATTLE_DOME_FUNC_INIT_RESULTS_TREE] = InitRandomTourneyTreeResults, + [BATTLE_DOME_FUNC_INIT_TRAINERS] = InitDomeTrainers, }; -static const u32 gUnknown_0860D0EC[][2] = +static const u32 sWinStreakFlags[][2] = { - {0x00000004, 0x00000008}, - {0x00100000, 0x00200000}, + {STREAK_DOME_SINGLES_50, STREAK_DOME_SINGLES_OPEN}, + {STREAK_DOME_DOUBLES_50, STREAK_DOME_DOUBLES_OPEN}, }; -static const u32 gUnknown_0860D0FC[][2] = +static const u32 sWinStreakMasks[][2] = { - {0xfffffffb, 0xfffffff7}, - {0xffefffff, 0xffdfffff}, + {~(STREAK_DOME_SINGLES_50), ~(STREAK_DOME_SINGLES_OPEN)}, + {~(STREAK_DOME_DOUBLES_50), ~(STREAK_DOME_DOUBLES_OPEN)}, }; +// TODO: The below two arrays probably need better names. The one below for example is only true of sIdToOpponentId[i][0] static const u8 sIdToOpponentId[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] = { - [0] = {8, 0, 4, 8}, - [1] = {9, 12, 8, 0}, - [2] = {10, 8, 12, 0}, - [3] = {11, 4, 0, 8}, - [4] = {12, 0, 4, 8}, - [5] = {13, 12, 8, 0}, - [6] = {14, 8, 12, 0}, - [7] = {15, 4, 0, 8}, - [8] = {0, 0, 4, 8}, - [9] = {1, 12, 8, 0}, - [10] = {2, 8, 12, 0}, - [11] = {3, 4, 0, 8}, - [12] = {4, 0, 4, 8}, - [13] = {5, 12, 8, 0}, - [14] = {6, 8, 12, 0}, - [15] = {7, 4, 0, 8}, + [0] = { 8, 0, 4, 8}, + [1] = { 9, 12, 8, 0}, + [2] = {10, 8, 12, 0}, + [3] = {11, 4, 0, 8}, + [4] = {12, 0, 4, 8}, + [5] = {13, 12, 8, 0}, + [6] = {14, 8, 12, 0}, + [7] = {15, 4, 0, 8}, + [8] = { 0, 0, 4, 8}, + [9] = { 1, 12, 8, 0}, + [10] = { 2, 8, 12, 0}, + [11] = { 3, 4, 0, 8}, + [12] = { 4, 0, 4, 8}, + [13] = { 5, 12, 8, 0}, + [14] = { 6, 8, 12, 0}, + [15] = { 7, 4, 0, 8}, }; -static const u8 gUnknown_0860D14C[] = {0x00, 0x08, 0x04, 0x0c, 0x07, 0x0f, 0x03, 0x0b, 0x02, 0x0a, 0x06, 0x0e, 0x05, 0x0d, 0x01, 0x09}; +// sTourneyTreeTrainerIds with every other pair swapped +static const u8 sTourneyTreeTrainerOpponentIds[DOME_TOURNAMENT_TRAINERS_COUNT] = { 0, 8, 4, 12, 7, 15, 3, 11, 2, 10, 6, 14, 5, 13, 1, 9 }; -static const u8 gUnknown_0860D15C[][4] = +// The match number - 1 that a given tournament trainer will participate in for a given round +static const u8 sIdToMatchNumber[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] = { - {0x00, 0x08, 0x0c, 0x0e}, - {0x00, 0x08, 0x0c, 0x0e}, - {0x01, 0x08, 0x0c, 0x0e}, - {0x01, 0x08, 0x0c, 0x0e}, - {0x02, 0x09, 0x0c, 0x0e}, - {0x02, 0x09, 0x0c, 0x0e}, - {0x03, 0x09, 0x0c, 0x0e}, - {0x03, 0x09, 0x0c, 0x0e}, - {0x04, 0x0a, 0x0d, 0x0e}, - {0x04, 0x0a, 0x0d, 0x0e}, - {0x05, 0x0a, 0x0d, 0x0e}, - {0x05, 0x0a, 0x0d, 0x0e}, - {0x06, 0x0b, 0x0d, 0x0e}, - {0x06, 0x0b, 0x0d, 0x0e}, - {0x07, 0x0b, 0x0d, 0x0e}, - {0x07, 0x0b, 0x0d, 0x0e}, + { 0, 8, 12, 14}, + { 0, 8, 12, 14}, + { 1, 8, 12, 14}, + { 1, 8, 12, 14}, + { 2, 9, 12, 14}, + { 2, 9, 12, 14}, + { 3, 9, 12, 14}, + { 3, 9, 12, 14}, + { 4, 10, 13, 14}, + { 4, 10, 13, 14}, + { 5, 10, 13, 14}, + { 5, 10, 13, 14}, + { 6, 11, 13, 14}, + { 6, 11, 13, 14}, + { 7, 11, 13, 14}, + { 7, 11, 13, 14}, }; -static const u8 gUnknown_0860D19C[] = {0x17, 0x1b, 0x1d, 0x1e}; - -static const u8 gUnknown_0860D1A0[][4] = +static const u8 sLastMatchCardNum[DOME_ROUNDS_COUNT] = { - {0x10, 0x18, 0x1c, 0x1e}, - {0x11, 0x18, 0x1c, 0x1e}, - {0x12, 0x19, 0x1c, 0x1e}, - {0x13, 0x19, 0x1c, 0x1e}, - {0x14, 0x1a, 0x1d, 0x1e}, - {0x15, 0x1a, 0x1d, 0x1e}, - {0x16, 0x1b, 0x1d, 0x1e}, - {0x17, 0x1b, 0x1d, 0x1e}, + [DOME_ROUND1] = 23, + [DOME_ROUND2] = 27, + [DOME_SEMIFINAL] = 29, + [DOME_FINAL] = 30 }; -static const u8 gUnknown_0860D1C0[] = {0x00, 0x0f, 0x08, 0x07, 0x03, 0x0c, 0x0b, 0x04, 0x01, 0x0e, 0x09, 0x06, 0x02, 0x0d, 0x0a, 0x05}; - -static const u8 *const sBattleDomePotentialTexts[] = +static const u8 gUnknown_0860D1A0[DOME_TOURNAMENT_TRAINERS_COUNT / 2][DOME_ROUNDS_COUNT] = { - gBattleDomeOpponentPotentialText1, - gBattleDomeOpponentPotentialText2, - gBattleDomeOpponentPotentialText3, - gBattleDomeOpponentPotentialText4, - gBattleDomeOpponentPotentialText5, - gBattleDomeOpponentPotentialText6, - gBattleDomeOpponentPotentialText7, - gBattleDomeOpponentPotentialText8, - gBattleDomeOpponentPotentialText9, - gBattleDomeOpponentPotentialText10, - gBattleDomeOpponentPotentialText11, - gBattleDomeOpponentPotentialText12, - gBattleDomeOpponentPotentialText13, - gBattleDomeOpponentPotentialText14, - gBattleDomeOpponentPotentialText15, - gBattleDomeOpponentPotentialText16, - gBattleDomeOpponentPotentialText17, + {16, 24, 28, 30}, + {17, 24, 28, 30}, + {18, 25, 28, 30}, + {19, 25, 28, 30}, + {20, 26, 29, 30}, + {21, 26, 29, 30}, + {22, 27, 29, 30}, + {23, 27, 29, 30}, }; -static const u8 *const sBattleDomeOpponentStyleTexts[] = +static const u8 gUnknown_0860D1C0[DOME_TOURNAMENT_TRAINERS_COUNT] = {0, 15, 8, 7, 3, 12, 11, 4, 1, 14, 9, 6, 2, 13, 10, 5}; + +// Each tourney trainer has a text describing their potential to win, depending on their seed ranking for the current tourney +// Dome Ace Tucker has their own separate potential text +static const u8 *const sBattleDomePotentialTexts[DOME_TOURNAMENT_TRAINERS_COUNT + 1] = { - gBattleDomeOpponentStyleText1, - gBattleDomeOpponentStyleText2, - gBattleDomeOpponentStyleText3, - gBattleDomeOpponentStyleText4, - gBattleDomeOpponentStyleText5, - gBattleDomeOpponentStyleText6, - gBattleDomeOpponentStyleText7, - gBattleDomeOpponentStyleText8, - gBattleDomeOpponentStyleText9, - gBattleDomeOpponentStyleText10, - gBattleDomeOpponentStyleText11, - gBattleDomeOpponentStyleText12, - gBattleDomeOpponentStyleText13, - gBattleDomeOpponentStyleText14, - gBattleDomeOpponentStyleText15, - gBattleDomeOpponentStyleText16, - gBattleDomeOpponentStyleText17, - gBattleDomeOpponentStyleText18, - gBattleDomeOpponentStyleText19, - gBattleDomeOpponentStyleText20, - gBattleDomeOpponentStyleText21, - gBattleDomeOpponentStyleText22, - gBattleDomeOpponentStyleText23, - gBattleDomeOpponentStyleText24, - gBattleDomeOpponentStyleText25, - gBattleDomeOpponentStyleText26, - gBattleDomeOpponentStyleText27, - gBattleDomeOpponentStyleText28, - gBattleDomeOpponentStyleTextUnused1, - gBattleDomeOpponentStyleTextUnused2, - gBattleDomeOpponentStyleTextUnused3, - gBattleDomeOpponentStyleTextUnused4, + BattleDome_Text_Potential1, // Highest potential + BattleDome_Text_Potential2, + BattleDome_Text_Potential3, + BattleDome_Text_Potential4, + BattleDome_Text_Potential5, + BattleDome_Text_Potential6, + BattleDome_Text_Potential7, + BattleDome_Text_Potential8, + BattleDome_Text_Potential9, + BattleDome_Text_Potential10, + BattleDome_Text_Potential11, + BattleDome_Text_Potential12, + BattleDome_Text_Potential13, + BattleDome_Text_Potential14, + BattleDome_Text_Potential15, + BattleDome_Text_Potential16, // Lowest potential + BattleDome_Text_PotentialDomeAceTucker, }; +// The first line of text on a trainers info card that gives information about their battle style (dependent on their party's moves) +static const u8 *const sBattleDomeOpponentStyleTexts[NUM_BATTLE_STYLES] = +{ + [DOME_BATTLE_STYLE_RISKY] = BattleDome_Text_StyleRiskDisaster, + [DOME_BATTLE_STYLE_STALL] = BattleDome_Text_StyleEndureLongBattles, + [DOME_BATTLE_STYLE_VARIED] = BattleDome_Text_StyleVariesTactics, + [DOME_BATTLE_STYLE_COMBO_HIGH] = BattleDome_Text_StyleToughWinningPattern, + [DOME_BATTLE_STYLE_RARE_MOVES] = BattleDome_Text_StyleUsesVeryRareMove, // Seems like the text for these two was swapped + [DOME_BATTLE_STYLE_RARE_MOVE] = BattleDome_Text_StyleUsesStartlingMoves, // + [DOME_BATTLE_STYLE_HP] = BattleDome_Text_StyleConstantlyWatchesHP, + [DOME_BATTLE_STYLE_STORE_POWER] = BattleDome_Text_StyleStoresAndLoosesPower, + [DOME_BATTLE_STYLE_ENFEEBLE_LOW] = BattleDome_Text_StyleEnfeeblesFoes, + [DOME_BATTLE_STYLE_LUCK] = BattleDome_Text_StylePrefersLuckTactics, + [DOME_BATTLE_STYLE_REGAL] = BattleDome_Text_StyleRegalAtmosphere, + [DOME_BATTLE_STYLE_LOW_PP] = BattleDome_Text_StylePowerfulLowPPMoves, + [DOME_BATTLE_STYLE_STATUS_ATK] = BattleDome_Text_StyleEnfeebleThenAttack, + [DOME_BATTLE_STYLE_ENDURE] = BattleDome_Text_StyleBattlesWhileEnduring, + [DOME_BATTLE_STYLE_STATUS] = BattleDome_Text_StyleUpsetsFoesEmotionally, + [DOME_BATTLE_STYLE_STRAIGHTFORWARD] = BattleDome_Text_StyleStrongAndStraightforward, + [DOME_BATTLE_STYLE_AGGRESSIVE] = BattleDome_Text_StyleAggressivelyStrongMoves, + [DOME_BATTLE_STYLE_DEF] = BattleDome_Text_StyleCleverlyDodgesAttacks, + [DOME_BATTLE_STYLE_ENFEEBLE_HIGH] = BattleDome_Text_StyleUsesUpsettingMoves, + [DOME_BATTLE_STYLE_POPULAR_POWER] = BattleDome_Text_StyleUsesPopularMoves, + [DOME_BATTLE_STYLE_COMBO_LOW] = BattleDome_Text_StyleHasPowerfulComboMoves, + [DOME_BATTLE_STYLE_ACCURATE] = BattleDome_Text_StyleUsesHighProbabilityMoves, + [DOME_BATTLE_STYLE_POWERFUL] = BattleDome_Text_StyleAggressivelySpectacularMoves, + [DOME_BATTLE_STYLE_ATK_OVER_DEF] = BattleDome_Text_StyleEmphasizesOffenseOverDefense, + [DOME_BATTLE_STYLE_DEF_OVER_ATK] = BattleDome_Text_StyleEmphasizesDefenseOverOffense, + [DOME_BATTLE_STYLE_POPULAR_STRONG] = BattleDome_Text_StyleAttacksQuicklyStrongMoves, + [DOME_BATTLE_STYLE_EFFECTS] = BattleDome_Text_StyleUsesAddedEffectMoves, + [DOME_BATTLE_STYLE_BALANCED] = BattleDome_Text_StyleUsesBalancedMixOfMoves, + [DOME_BATTLE_STYLE_UNUSED1] = BattleDome_Text_StyleSampleMessage1, + [DOME_BATTLE_STYLE_UNUSED2] = BattleDome_Text_StyleSampleMessage2, + [DOME_BATTLE_STYLE_UNUSED3] = BattleDome_Text_StyleSampleMessage3, + [DOME_BATTLE_STYLE_UNUSED4] = BattleDome_Text_StyleSampleMessage4, +}; + +// The second line of text on a trainers info card that gives information about their party's stat spread static const u8 *const sBattleDomeOpponentStatsTexts[] = { - gBattleDomeOpponentStatsText1, - gBattleDomeOpponentStatsText2, - gBattleDomeOpponentStatsText3, - gBattleDomeOpponentStatsText4, - gBattleDomeOpponentStatsText5, - gBattleDomeOpponentStatsText6, - gBattleDomeOpponentStatsText7, - gBattleDomeOpponentStatsText8, - gBattleDomeOpponentStatsText9, - gBattleDomeOpponentStatsText10, - gBattleDomeOpponentStatsText11, - gBattleDomeOpponentStatsText12, - gBattleDomeOpponentStatsText13, - gBattleDomeOpponentStatsText14, - gBattleDomeOpponentStatsText15, - gBattleDomeOpponentStatsText16, - gBattleDomeOpponentStatsText17, - gBattleDomeOpponentStatsText18, - gBattleDomeOpponentStatsText19, - gBattleDomeOpponentStatsText20, - gBattleDomeOpponentStatsText21, - gBattleDomeOpponentStatsText22, - gBattleDomeOpponentStatsText23, - gBattleDomeOpponentStatsText24, - gBattleDomeOpponentStatsText25, - gBattleDomeOpponentStatsText26, - gBattleDomeOpponentStatsText27, - gBattleDomeOpponentStatsText28, - gBattleDomeOpponentStatsText29, - gBattleDomeOpponentStatsText30, - gBattleDomeOpponentStatsText31, - gBattleDomeOpponentStatsText32, - gBattleDomeOpponentStatsText33, - gBattleDomeOpponentStatsText34, - gBattleDomeOpponentStatsText35, - gBattleDomeOpponentStatsText36, - gBattleDomeOpponentStatsText37, - gBattleDomeOpponentStatsText38, - gBattleDomeOpponentStatsText39, - gBattleDomeOpponentStatsText40, - gBattleDomeOpponentStatsText41, - gBattleDomeOpponentStatsText42, - gBattleDomeOpponentStatsText43, + BattleDome_Text_EmphasizesHPAndAtk, // DOME_TEXT_TWO_GOOD_STATS and DOME_TEXT_HP start here + BattleDome_Text_EmphasizesHPAndDef, + BattleDome_Text_EmphasizesHPAndSpeed, + BattleDome_Text_EmphasizesHPAndSpAtk, + BattleDome_Text_EmphasizesHPAndSpDef, + BattleDome_Text_EmphasizesAtkAndDef, // DOME_TEXT_ATK starts here + BattleDome_Text_EmphasizesAtkAndSpeed, + BattleDome_Text_EmphasizesAtkAndSpAtk, + BattleDome_Text_EmphasizesAtkAndSpDef, + BattleDome_Text_EmphasizesDefAndSpeed, // DOME_TEXT_DEF starts here + BattleDome_Text_EmphasizesDefAndSpAtk, + BattleDome_Text_EmphasizesDefAndSpDef, + BattleDome_Text_EmphasizesSpeedAndSpAtk, // DOME_TEXT_SPEED starts here + BattleDome_Text_EmphasizesSpeedAndSpDef, + BattleDome_Text_EmphasizesSpAtkAndSpDef, // DOME_TEXT_SPATK starts here + BattleDome_Text_EmphasizesHP, // DOME_TEXT_ONE_GOOD_STAT starts here + BattleDome_Text_EmphasizesAtk, + BattleDome_Text_EmphasizesDef, + BattleDome_Text_EmphasizesSpeed, + BattleDome_Text_EmphasizesSpAtk, + BattleDome_Text_EmphasizesSpDef, + BattleDome_Text_NeglectsHPAndAtk, // DOME_TEXT_TWO_BAD_STATS starts here + BattleDome_Text_NeglectsHPAndDef, + BattleDome_Text_NeglectsHPAndSpeed, + BattleDome_Text_NeglectsHPAndSpAtk, + BattleDome_Text_NeglectsHPAndSpDef, + BattleDome_Text_NeglectsAtkAndDef, + BattleDome_Text_NeglectsAtkAndSpeed, + BattleDome_Text_NeglectsAtkAndSpAtk, + BattleDome_Text_NeglectsAtkAndSpDef, + BattleDome_Text_NeglectsDefAndSpeed, + BattleDome_Text_NeglectsDefAndSpAtk, + BattleDome_Text_NeglectsDefAndSpDef, + BattleDome_Text_NeglectsSpeedAndSpAtk, + BattleDome_Text_NeglectsSpeedAndSpDef, + BattleDome_Text_NeglectsSpAtkAndSpDef, + BattleDome_Text_NeglectsHP, // DOME_TEXT_ONE_BAD_STAT starts here + BattleDome_Text_NeglectsAtk, + BattleDome_Text_NeglectsDef, + BattleDome_Text_NeglectsSpeed, + BattleDome_Text_NeglectsSpAtk, + BattleDome_Text_NeglectsSpDef, + [DOME_TEXT_WELL_BALANCED] = BattleDome_Text_RaisesMonsWellBalanced, }; -static const u8 sInfoTrainerMonX[] = {0x68, 0x88, 0x68}; -static const u8 sInfoTrainerMonY[] = {0x26, 0x3e, 0x4e}; -static const u8 gUnknown_0860D346[] = {0x00, 0x04, 0x00}; +static const u8 sInfoTrainerMonX[FRONTIER_PARTY_SIZE] = {104, 136, 104}; +static const u8 sInfoTrainerMonY[FRONTIER_PARTY_SIZE] = { 38, 62, 78}; +static const u8 sSpeciesNameTextYCoords[] = {0, 4, 0}; -static const u8 gUnknown_0860D349[] = {0x00, 0x05, 0x09, 0x0c, 0x0e, 0x00, 0x00}; - -static const u8 *const sBattleDomeMatchNumberTexts[] = +// Offsets within sBattleDomeOpponentStatsTexts for stat combinations +// SPDEF has no offset because by then all stat combinations have been reached, so it has no combination texts +static const u8 sStatTextOffsets[NUM_STATS - 1] = { - gBattleDomeMatchNumberText1, - gBattleDomeMatchNumberText2, - gBattleDomeMatchNumberText3, - gBattleDomeMatchNumberText4, - gBattleDomeMatchNumberText5, - gBattleDomeMatchNumberText6, - gBattleDomeMatchNumberText7, - gBattleDomeMatchNumberText8, - gBattleDomeMatchNumberText9, - gBattleDomeMatchNumberText10, - gBattleDomeMatchNumberText11, - gBattleDomeMatchNumberText12, - gBattleDomeMatchNumberText13, - gBattleDomeMatchNumberText14, - gBattleDomeMatchNumberText15, + DOME_TEXT_HP, + DOME_TEXT_ATK, + DOME_TEXT_DEF, + DOME_TEXT_SPEED, + DOME_TEXT_SPATK +}; + +static const u8 *const sBattleDomeMatchNumberTexts[DOME_TOURNAMENT_MATCHES_COUNT] = +{ + BattleDome_Text_Round1Match1, + BattleDome_Text_Round1Match2, + BattleDome_Text_Round1Match3, + BattleDome_Text_Round1Match4, + BattleDome_Text_Round1Match5, + BattleDome_Text_Round1Match6, + BattleDome_Text_Round1Match7, + BattleDome_Text_Round1Match8, + BattleDome_Text_Round2Match1, + BattleDome_Text_Round2Match2, + BattleDome_Text_Round2Match3, + BattleDome_Text_Round2Match4, + BattleDome_Text_SemifinalMatch1, + BattleDome_Text_SemifinalMatch2, + BattleDome_Text_FinalMatch, }; static const u8 *const sBattleDomeWinTexts[] = { - gBattleDomeWinText1, - gBattleDomeWinText2, - gBattleDomeWinText3, - gBattleDomeWinText4, - gBattleDomeWinText5, - gBattleDomeWinText6, - gBattleDomeWinText7, + [DOME_TEXT_NO_WINNER_YET] = BattleDome_Text_LetTheBattleBegin, + [DOME_TEXT_WON_USING_MOVE] = BattleDome_Text_TrainerWonUsingMove, + [DOME_TEXT_CHAMP_USING_MOVE] = BattleDome_Text_TrainerBecameChamp, + [DOME_TEXT_WON_ON_FORFEIT] = BattleDome_Text_TrainerWonByDefault, + [DOME_TEXT_CHAMP_ON_FORFEIT] = BattleDome_Text_TrainerWonOutrightByDefault, + [DOME_TEXT_WON_NO_MOVES] = BattleDome_Text_TrainerWonNoMoves, + [DOME_TEXT_CHAMP_NO_MOVES] = BattleDome_Text_TrainerWonOutrightNoMoves, }; -static const u8 sFirstTrainerMonX[] = {0x60, 0x60, 0x60}; -static const u8 sFirstTrainerMonY[] = {0x38, 0x50, 0x68}; -static const u8 sSecondTrainerMonX[] = {0x90, 0x90, 0x90}; -static const u8 sSecondTrainerMonY[] = {0x38, 0x50, 0x68}; +static const u8 sLeftTrainerMonX[FRONTIER_PARTY_SIZE] = { 96, 96, 96}; +static const u8 sLeftTrainerMonY[FRONTIER_PARTY_SIZE] = { 56, 80, 104}; +static const u8 sRightTrainerMonX[FRONTIER_PARTY_SIZE] = {144, 144, 144}; +static const u8 sRightTrainerMonY[FRONTIER_PARTY_SIZE] = { 56, 80, 104}; -static const u8 gUnknown_0860D3B4[] = {0x00, 0x08, 0x0c, 0x04, 0x07, 0x0f, 0x0b, 0x03, 0x02, 0x0a, 0x0e, 0x06, 0x05, 0x0d, 0x09, 0x01}; +// Duplicate of sTourneyTreeTrainerIds +static const u8 sTourneyTreeTrainerIds2[DOME_TOURNAMENT_TRAINERS_COUNT] = {0, 8, 12, 4, 7, 15, 11, 3, 2, 10, 14, 6, 5, 13, 9, 1}; -static const u8 gUnknown_0860D3C4[][3] = +// The number of possible trainers that could be competing in a given match +#define NUM_POSSIBLE_MATCH_TRAINERS(round) (DOME_TOURNAMENT_TRAINERS_COUNT / (1 << (DOME_ROUNDS_COUNT - round - 1))) + +// The range of tournament trainers to check as possible participants in a given match +// Given by the offset in sCompetitorRangeByMatch[][0], the number of trainers in sCompetitorRangeByMatch[][1], and the round +static const u8 sCompetitorRangeByMatch[DOME_TOURNAMENT_MATCHES_COUNT][3] = { - {0x00, 0x02, 0x00}, - {0x02, 0x02, 0x00}, - {0x04, 0x02, 0x00}, - {0x06, 0x02, 0x00}, - {0x08, 0x02, 0x00}, - {0x0a, 0x02, 0x00}, - {0x0c, 0x02, 0x00}, - {0x0e, 0x02, 0x00}, - {0x00, 0x04, 0x01}, - {0x04, 0x04, 0x01}, - {0x08, 0x04, 0x01}, - {0x0c, 0x04, 0x01}, - {0x00, 0x08, 0x02}, - {0x08, 0x08, 0x02}, - {0x00, 0x10, 0x03}, + { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 0, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1}, + { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 1, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1}, + { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 2, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1}, + { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 3, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1}, + { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 4, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1}, + { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 5, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1}, + { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 6, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1}, + { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 7, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1}, + { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2) * 0, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2), DOME_ROUND2}, + { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2) * 1, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2), DOME_ROUND2}, + { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2) * 2, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2), DOME_ROUND2}, + { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2) * 3, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2), DOME_ROUND2}, + { NUM_POSSIBLE_MATCH_TRAINERS(DOME_SEMIFINAL) * 0, NUM_POSSIBLE_MATCH_TRAINERS(DOME_SEMIFINAL), DOME_SEMIFINAL}, + { NUM_POSSIBLE_MATCH_TRAINERS(DOME_SEMIFINAL) * 1, NUM_POSSIBLE_MATCH_TRAINERS(DOME_SEMIFINAL), DOME_SEMIFINAL}, + { NUM_POSSIBLE_MATCH_TRAINERS(DOME_FINAL) * 0, NUM_POSSIBLE_MATCH_TRAINERS(DOME_FINAL), DOME_FINAL}, }; -static const u8 gUnknown_0860D3F1[][2] = +// 1st value is the windowId (0 for left column, 1 for right column) +// 2nd value is the y coord +static const u8 sTrainerNamePositions[DOME_TOURNAMENT_TRAINERS_COUNT][2] = { - {0x00, 0x00}, - {0x01, 0x70}, - {0x01, 0x00}, - {0x00, 0x70}, - {0x00, 0x30}, - {0x01, 0x40}, - {0x01, 0x30}, - {0x00, 0x40}, - {0x00, 0x10}, - {0x01, 0x60}, - {0x01, 0x10}, - {0x00, 0x60}, - {0x00, 0x20}, - {0x01, 0x50}, - {0x01, 0x20}, - {0x00, 0x50}, + { 0, 0}, + { 1, 112}, + { 1, 0}, + { 0, 112}, + { 0, 48}, + { 1, 64}, + { 1, 48}, + { 0, 64}, + { 0, 16}, + { 1, 96}, + { 1, 16}, + { 0, 96}, + { 0, 32}, + { 1, 80}, + { 1, 32}, + { 0, 80}, }; -static const u8 gUnknown_0860D411[][2] = +// Coords for the pokeballs on the tourney tree that act as buttons to view trainer/match info +static const u8 sTourneyTreePokeballCoords[DOME_TOURNAMENT_TRAINERS_COUNT + DOME_TOURNAMENT_MATCHES_COUNT][2] = { - {0x44, 0x21}, - {0x44, 0x31}, - {0x44, 0x41}, - {0x44, 0x51}, - {0x44, 0x61}, - {0x44, 0x71}, - {0x44, 0x81}, - {0x44, 0x91}, - {0xac, 0x21}, - {0xac, 0x31}, - {0xac, 0x41}, - {0xac, 0x51}, - {0xac, 0x61}, - {0xac, 0x71}, - {0xac, 0x81}, - {0xac, 0x91}, - {0x57, 0x29}, - {0x57, 0x49}, - {0x57, 0x69}, - {0x57, 0x89}, - {0x99, 0x29}, - {0x99, 0x49}, - {0x99, 0x69}, - {0x99, 0x89}, - {0x5f, 0x39}, - {0x5f, 0x79}, - {0x91, 0x39}, - {0x91, 0x79}, - {0x67, 0x59}, - {0x89, 0x59}, - {0x78, 0x59}, + { 68, 33}, // Left side trainers + { 68, 49}, + { 68, 65}, + { 68, 81}, + { 68, 97}, + { 68, 113}, + { 68, 129}, + { 68, 145}, + {172, 33}, // Right side trainers + {172, 49}, + {172, 65}, + {172, 81}, + {172, 97}, + {172, 113}, + {172, 129}, + {172, 145}, + { 87, 41}, // Left side Round 1 matches + { 87, 73}, + { 87, 105}, + { 87, 137}, + {153, 41}, // Right side Round 1 matches + {153, 73}, + {153, 105}, + {153, 137}, + { 95, 57}, // Left side Round 2 matches + { 95, 121}, + {145, 57}, // Right side Round 2 matches + {145, 121}, + {103, 89}, // Left side semifinal match + {137, 89}, // Right side semifinal match + {120, 89}, // Final match }; -static const struct UnkStruct_860DD10 gUnknown_0860d450[] = -{ - {.src = 0x6021, .y = 0x04, .x = 0x09}, - {.src = 0x6023, .y = 0x04, .x = 0x0a}, - {.src = 0x6047, .y = 0x05, .x = 0x0a}, - {.src = 0x6043, .y = 0x05, .x = 0x0b}, -}; +// Each of these line sections define the position of the advancement line on the tourney tree for the victor of that round +// The trainers here are numbered by tourney ID (rank/seed) and ordered according to where they start on the tourney tree +#define LINESECTION_ROUND1_TRAINER1(lastSrc) \ + {.src = 0x6021, .y = 0x04, .x = 0x09}, \ + {.src = 0x6023, .y = 0x04, .x = 0x0a}, \ + {.src = 0x6047, .y = 0x05, .x = 0x0a}, \ + {.src = lastSrc, .y = 0x05, .x = 0x0b}, -static const struct UnkStruct_860DD10 gUnknown_0860d460[] = -{ - {.src = 0x6021, .y = 0x04, .x = 0x09}, - {.src = 0x6023, .y = 0x04, .x = 0x0a}, - {.src = 0x6047, .y = 0x05, .x = 0x0a}, - {.src = 0x6023, .y = 0x05, .x = 0x0b}, - {.src = 0x6027, .y = 0x06, .x = 0x0b}, - {.src = 0x6047, .y = 0x07, .x = 0x0b}, - {.src = 0x6043, .y = 0x07, .x = 0x0c}, -}; +#define LINESECTION_ROUND1_TRAINER9(lastSrc) \ + {.src = 0x6021, .y = 0x06, .x = 0x09}, \ + {.src = 0x6021, .y = 0x06, .x = 0x0a}, \ + {.src = 0x6027, .y = 0x05, .x = 0x0a}, \ + {.src = lastSrc, .y = 0x05, .x = 0x0b}, -static const struct UnkStruct_860DD10 gUnknown_0860d47c[] = -{ - {.src = 0x6021, .y = 0x04, .x = 0x09}, - {.src = 0x6023, .y = 0x04, .x = 0x0a}, - {.src = 0x6047, .y = 0x05, .x = 0x0a}, - {.src = 0x6023, .y = 0x05, .x = 0x0b}, - {.src = 0x6027, .y = 0x06, .x = 0x0b}, - {.src = 0x6047, .y = 0x07, .x = 0x0b}, - {.src = 0x6023, .y = 0x07, .x = 0x0c}, - {.src = 0x6027, .y = 0x08, .x = 0x0c}, - {.src = 0x6027, .y = 0x09, .x = 0x0c}, - {.src = 0x6027, .y = 0x0a, .x = 0x0c}, +#define LINESECTION_ROUND1_TRAINER13(lastSrc) \ + {.src = 0x6021, .y = 0x08, .x = 0x09}, \ + {.src = 0x6023, .y = 0x08, .x = 0x0a}, \ + {.src = 0x6047, .y = 0x09, .x = 0x0a}, \ + {.src = lastSrc, .y = 0x09, .x = 0x0b}, + +#define LINESECTION_ROUND1_TRAINER5(lastSrc) \ + {.src = 0x6021, .y = 0x0a, .x = 0x09}, \ + {.src = 0x6021, .y = 0x0a, .x = 0x0a}, \ + {.src = 0x6027, .y = 0x09, .x = 0x0a}, \ + {.src = lastSrc, .y = 0x09, .x = 0x0b}, + +#define LINESECTION_ROUND1_TRAINER8(lastSrc) \ + {.src = 0x6021, .y = 0x0c, .x = 0x09}, \ + {.src = 0x6023, .y = 0x0c, .x = 0x0a}, \ + {.src = 0x6047, .y = 0x0d, .x = 0x0a}, \ + {.src = lastSrc, .y = 0x0d, .x = 0x0b}, + +#define LINESECTION_ROUND1_TRAINER16(lastSrc) \ + {.src = 0x6021, .y = 0x0e, .x = 0x09}, \ + {.src = 0x6021, .y = 0x0e, .x = 0x0a}, \ + {.src = 0x6027, .y = 0x0d, .x = 0x0a}, \ + {.src = lastSrc, .y = 0x0d, .x = 0x0b}, + +#define LINESECTION_ROUND1_TRAINER12(lastSrc) \ + {.src = 0x6021, .y = 0x10, .x = 0x09}, \ + {.src = 0x6023, .y = 0x10, .x = 0x0a}, \ + {.src = 0x6047, .y = 0x11, .x = 0x0a}, \ + {.src = lastSrc, .y = 0x11, .x = 0x0b}, + +#define LINESECTION_ROUND1_TRAINER4(lastSrc) \ + {.src = 0x602b, .y = 0x12, .x = 0x09}, \ + {.src = 0x602b, .y = 0x12, .x = 0x0a}, \ + {.src = 0x6027, .y = 0x11, .x = 0x0a}, \ + {.src = lastSrc, .y = 0x11, .x = 0x0b}, + +#define LINESECTION_ROUND1_TRAINER3(lastSrc) \ + {.src = 0x6021, .y = 0x04, .x = 0x14}, \ + {.src = 0x6025, .y = 0x04, .x = 0x13}, \ + {.src = 0x6049, .y = 0x05, .x = 0x13}, \ + {.src = lastSrc, .y = 0x05, .x = 0x12}, + +#define LINESECTION_ROUND1_TRAINER11(lastSrc) \ + {.src = 0x6021, .y = 0x06, .x = 0x14}, \ + {.src = 0x6021, .y = 0x06, .x = 0x13}, \ + {.src = 0x6029, .y = 0x05, .x = 0x13}, \ + {.src = lastSrc, .y = 0x05, .x = 0x12}, + +#define LINESECTION_ROUND1_TRAINER15(lastSrc) \ + {.src = 0x6021, .y = 0x08, .x = 0x14}, \ + {.src = 0x6025, .y = 0x08, .x = 0x13}, \ + {.src = 0x6049, .y = 0x09, .x = 0x13}, \ + {.src = lastSrc, .y = 0x09, .x = 0x12}, + +#define LINESECTION_ROUND1_TRAINER7(lastSrc) \ + {.src = 0x6021, .y = 0x0a, .x = 0x14}, \ + {.src = 0x6021, .y = 0x0a, .x = 0x13}, \ + {.src = 0x6029, .y = 0x09, .x = 0x13}, \ + {.src = lastSrc, .y = 0x09, .x = 0x12}, + +#define LINESECTION_ROUND1_TRAINER6(lastSrc) \ + {.src = 0x6021, .y = 0x0c, .x = 0x14}, \ + {.src = 0x6025, .y = 0x0c, .x = 0x13}, \ + {.src = 0x6049, .y = 0x0d, .x = 0x13}, \ + {.src = lastSrc, .y = 0x0d, .x = 0x12}, + +#define LINESECTION_ROUND1_TRAINER14(lastSrc) \ + {.src = 0x6021, .y = 0x0e, .x = 0x14}, \ + {.src = 0x6021, .y = 0x0e, .x = 0x13}, \ + {.src = 0x6029, .y = 0x0d, .x = 0x13}, \ + {.src = lastSrc, .y = 0x0d, .x = 0x12}, + +#define LINESECTION_ROUND1_TRAINER10(lastSrc) \ + {.src = 0x6021, .y = 0x10, .x = 0x14}, \ + {.src = 0x6025, .y = 0x10, .x = 0x13}, \ + {.src = 0x6049, .y = 0x11, .x = 0x13}, \ + {.src = lastSrc, .y = 0x11, .x = 0x12}, + +#define LINESECTION_ROUND1_TRAINER2(lastSrc) \ + {.src = 0x602b, .y = 0x12, .x = 0x14}, \ + {.src = 0x602b, .y = 0x12, .x = 0x13}, \ + {.src = 0x6029, .y = 0x11, .x = 0x13}, \ + {.src = lastSrc, .y = 0x11, .x = 0x12}, + +#define LINESECTION_ROUND2_MATCH1(lastSrc) \ + {.src = 0x6027, .y = 0x06, .x = 0x0b}, \ + {.src = 0x6047, .y = 0x07, .x = 0x0b}, \ + {.src = lastSrc, .y = 0x07, .x = 0x0c}, + +#define LINESECTION_ROUND2_MATCH2(lastSrc) \ + {.src = 0x6027, .y = 0x08, .x = 0x0b}, \ + {.src = 0x6027, .y = 0x07, .x = 0x0b}, \ + {.src = lastSrc, .y = 0x07, .x = 0x0c}, + +#define LINESECTION_ROUND2_MATCH3(lastSrc) \ + {.src = 0x6027, .y = 0x0e, .x = 0x0b}, \ + {.src = 0x6047, .y = 0x0f, .x = 0x0b}, \ + {.src = lastSrc, .y = 0x0f, .x = 0x0c}, + +#define LINESECTION_ROUND2_MATCH4(lastSrc) \ + {.src = 0x6027, .y = 0x10, .x = 0x0b}, \ + {.src = 0x6027, .y = 0x0f, .x = 0x0b}, \ + {.src = lastSrc, .y = 0x0f, .x = 0x0c}, + +#define LINESECTION_ROUND2_MATCH5(lastSrc) \ + {.src = 0x6029, .y = 0x06, .x = 0x12}, \ + {.src = 0x6049, .y = 0x07, .x = 0x12}, \ + {.src = lastSrc, .y = 0x07, .x = 0x11}, + +#define LINESECTION_ROUND2_MATCH6(lastSrc) \ + {.src = 0x6029, .y = 0x08, .x = 0x12}, \ + {.src = 0x6029, .y = 0x07, .x = 0x12}, \ + {.src = lastSrc, .y = 0x07, .x = 0x11}, + +#define LINESECTION_ROUND2_MATCH7(lastSrc) \ + {.src = 0x6029, .y = 0x0e, .x = 0x12}, \ + {.src = 0x6049, .y = 0x0f, .x = 0x12}, \ + {.src = lastSrc, .y = 0x0f, .x = 0x11}, + +#define LINESECTION_ROUND2_MATCH8(lastSrc) \ + {.src = 0x6029, .y = 0x10, .x = 0x12}, \ + {.src = 0x6029, .y = 0x0f, .x = 0x12}, \ + {.src = lastSrc, .y = 0x0f, .x = 0x11}, + +#define LINESECTION_SEMIFINAL_TOP_LEFT \ + {.src = 0x6027, .y = 0x08, .x = 0x0c}, \ + {.src = 0x6027, .y = 0x09, .x = 0x0c}, \ + {.src = 0x6027, .y = 0x0a, .x = 0x0c}, \ {.src = 0x603b, .y = 0x0b, .x = 0x0c}, -}; -static const struct UnkStruct_860DD10 gUnknown_0860d4a8[] = -{ - {.src = 0x6021, .y = 0x04, .x = 0x09}, - {.src = 0x6023, .y = 0x04, .x = 0x0a}, - {.src = 0x6047, .y = 0x05, .x = 0x0a}, - {.src = 0x6023, .y = 0x05, .x = 0x0b}, - {.src = 0x6027, .y = 0x06, .x = 0x0b}, - {.src = 0x6047, .y = 0x07, .x = 0x0b}, - {.src = 0x6023, .y = 0x07, .x = 0x0c}, - {.src = 0x6027, .y = 0x08, .x = 0x0c}, - {.src = 0x6027, .y = 0x09, .x = 0x0c}, - {.src = 0x6027, .y = 0x0a, .x = 0x0c}, - {.src = 0x603b, .y = 0x0b, .x = 0x0c}, - {.src = 0x602c, .y = 0x0b, .x = 0x0d}, - {.src = 0x602d, .y = 0x0b, .x = 0x0e}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d4dc[] = -{ - {.src = 0x6021, .y = 0x06, .x = 0x09}, - {.src = 0x6021, .y = 0x06, .x = 0x0a}, - {.src = 0x6027, .y = 0x05, .x = 0x0a}, - {.src = 0x6043, .y = 0x05, .x = 0x0b}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d4ec[] = -{ - {.src = 0x6021, .y = 0x06, .x = 0x09}, - {.src = 0x6021, .y = 0x06, .x = 0x0a}, - {.src = 0x6027, .y = 0x05, .x = 0x0a}, - {.src = 0x6023, .y = 0x05, .x = 0x0b}, - {.src = 0x6027, .y = 0x06, .x = 0x0b}, - {.src = 0x6047, .y = 0x07, .x = 0x0b}, - {.src = 0x6043, .y = 0x07, .x = 0x0c}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d508[] = -{ - {.src = 0x6021, .y = 0x06, .x = 0x09}, - {.src = 0x6021, .y = 0x06, .x = 0x0a}, - {.src = 0x6027, .y = 0x05, .x = 0x0a}, - {.src = 0x6023, .y = 0x05, .x = 0x0b}, - {.src = 0x6027, .y = 0x06, .x = 0x0b}, - {.src = 0x6047, .y = 0x07, .x = 0x0b}, - {.src = 0x6023, .y = 0x07, .x = 0x0c}, - {.src = 0x6027, .y = 0x08, .x = 0x0c}, - {.src = 0x6027, .y = 0x09, .x = 0x0c}, - {.src = 0x6027, .y = 0x0a, .x = 0x0c}, - {.src = 0x603b, .y = 0x0b, .x = 0x0c}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d534[] = -{ - {.src = 0x6021, .y = 0x06, .x = 0x09}, - {.src = 0x6021, .y = 0x06, .x = 0x0a}, - {.src = 0x6027, .y = 0x05, .x = 0x0a}, - {.src = 0x6023, .y = 0x05, .x = 0x0b}, - {.src = 0x6027, .y = 0x06, .x = 0x0b}, - {.src = 0x6047, .y = 0x07, .x = 0x0b}, - {.src = 0x6023, .y = 0x07, .x = 0x0c}, - {.src = 0x6027, .y = 0x08, .x = 0x0c}, - {.src = 0x6027, .y = 0x09, .x = 0x0c}, - {.src = 0x6027, .y = 0x0a, .x = 0x0c}, - {.src = 0x603b, .y = 0x0b, .x = 0x0c}, - {.src = 0x602c, .y = 0x0b, .x = 0x0d}, - {.src = 0x602d, .y = 0x0b, .x = 0x0e}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d568[] = -{ - {.src = 0x6021, .y = 0x08, .x = 0x09}, - {.src = 0x6023, .y = 0x08, .x = 0x0a}, - {.src = 0x6047, .y = 0x09, .x = 0x0a}, - {.src = 0x6021, .y = 0x09, .x = 0x0b}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d578[] = -{ - {.src = 0x6021, .y = 0x08, .x = 0x09}, - {.src = 0x6023, .y = 0x08, .x = 0x0a}, - {.src = 0x6047, .y = 0x09, .x = 0x0a}, - {.src = 0x6021, .y = 0x09, .x = 0x0b}, - {.src = 0x6027, .y = 0x08, .x = 0x0b}, - {.src = 0x6027, .y = 0x07, .x = 0x0b}, - {.src = 0x6043, .y = 0x07, .x = 0x0c}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d594[] = -{ - {.src = 0x6021, .y = 0x08, .x = 0x09}, - {.src = 0x6023, .y = 0x08, .x = 0x0a}, - {.src = 0x6047, .y = 0x09, .x = 0x0a}, - {.src = 0x6021, .y = 0x09, .x = 0x0b}, - {.src = 0x6027, .y = 0x08, .x = 0x0b}, - {.src = 0x6027, .y = 0x07, .x = 0x0b}, - {.src = 0x6023, .y = 0x07, .x = 0x0c}, - {.src = 0x6027, .y = 0x08, .x = 0x0c}, - {.src = 0x6027, .y = 0x09, .x = 0x0c}, - {.src = 0x6027, .y = 0x0a, .x = 0x0c}, - {.src = 0x603b, .y = 0x0b, .x = 0x0c}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d5c0[] = -{ - {.src = 0x6021, .y = 0x08, .x = 0x09}, - {.src = 0x6023, .y = 0x08, .x = 0x0a}, - {.src = 0x6047, .y = 0x09, .x = 0x0a}, - {.src = 0x6021, .y = 0x09, .x = 0x0b}, - {.src = 0x6027, .y = 0x08, .x = 0x0b}, - {.src = 0x6027, .y = 0x07, .x = 0x0b}, - {.src = 0x6023, .y = 0x07, .x = 0x0c}, - {.src = 0x6027, .y = 0x08, .x = 0x0c}, - {.src = 0x6027, .y = 0x09, .x = 0x0c}, - {.src = 0x6027, .y = 0x0a, .x = 0x0c}, - {.src = 0x603b, .y = 0x0b, .x = 0x0c}, - {.src = 0x602c, .y = 0x0b, .x = 0x0d}, - {.src = 0x602d, .y = 0x0b, .x = 0x0e}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d5f4[] = -{ - {.src = 0x6021, .y = 0x0a, .x = 0x09}, - {.src = 0x6021, .y = 0x0a, .x = 0x0a}, - {.src = 0x6027, .y = 0x09, .x = 0x0a}, - {.src = 0x6021, .y = 0x09, .x = 0x0b}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d604[] = -{ - {.src = 0x6021, .y = 0x0a, .x = 0x09}, - {.src = 0x6021, .y = 0x0a, .x = 0x0a}, - {.src = 0x6027, .y = 0x09, .x = 0x0a}, - {.src = 0x6021, .y = 0x09, .x = 0x0b}, - {.src = 0x6027, .y = 0x08, .x = 0x0b}, - {.src = 0x6027, .y = 0x07, .x = 0x0b}, - {.src = 0x6043, .y = 0x07, .x = 0x0c}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d620[] = -{ - {.src = 0x6021, .y = 0x0a, .x = 0x09}, - {.src = 0x6021, .y = 0x0a, .x = 0x0a}, - {.src = 0x6027, .y = 0x09, .x = 0x0a}, - {.src = 0x6021, .y = 0x09, .x = 0x0b}, - {.src = 0x6027, .y = 0x08, .x = 0x0b}, - {.src = 0x6027, .y = 0x07, .x = 0x0b}, - {.src = 0x6023, .y = 0x07, .x = 0x0c}, - {.src = 0x6027, .y = 0x08, .x = 0x0c}, - {.src = 0x6027, .y = 0x09, .x = 0x0c}, - {.src = 0x6027, .y = 0x0a, .x = 0x0c}, - {.src = 0x603b, .y = 0x0b, .x = 0x0c}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d64c[] = -{ - {.src = 0x6021, .y = 0x0a, .x = 0x09}, - {.src = 0x6021, .y = 0x0a, .x = 0x0a}, - {.src = 0x6027, .y = 0x09, .x = 0x0a}, - {.src = 0x6021, .y = 0x09, .x = 0x0b}, - {.src = 0x6027, .y = 0x08, .x = 0x0b}, - {.src = 0x6027, .y = 0x07, .x = 0x0b}, - {.src = 0x6023, .y = 0x07, .x = 0x0c}, - {.src = 0x6027, .y = 0x08, .x = 0x0c}, - {.src = 0x6027, .y = 0x09, .x = 0x0c}, - {.src = 0x6027, .y = 0x0a, .x = 0x0c}, - {.src = 0x603b, .y = 0x0b, .x = 0x0c}, - {.src = 0x602c, .y = 0x0b, .x = 0x0d}, - {.src = 0x602d, .y = 0x0b, .x = 0x0e}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d680[] = -{ - {.src = 0x6021, .y = 0x0c, .x = 0x09}, - {.src = 0x6023, .y = 0x0c, .x = 0x0a}, - {.src = 0x6047, .y = 0x0d, .x = 0x0a}, - {.src = 0x6043, .y = 0x0d, .x = 0x0b}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d690[] = -{ - {.src = 0x6021, .y = 0x0c, .x = 0x09}, - {.src = 0x6023, .y = 0x0c, .x = 0x0a}, - {.src = 0x6047, .y = 0x0d, .x = 0x0a}, - {.src = 0x6023, .y = 0x0d, .x = 0x0b}, - {.src = 0x6027, .y = 0x0e, .x = 0x0b}, - {.src = 0x6047, .y = 0x0f, .x = 0x0b}, - {.src = 0x6021, .y = 0x0f, .x = 0x0c}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d6ac[] = -{ - {.src = 0x6021, .y = 0x0c, .x = 0x09}, - {.src = 0x6023, .y = 0x0c, .x = 0x0a}, - {.src = 0x6047, .y = 0x0d, .x = 0x0a}, - {.src = 0x6023, .y = 0x0d, .x = 0x0b}, - {.src = 0x6027, .y = 0x0e, .x = 0x0b}, - {.src = 0x6047, .y = 0x0f, .x = 0x0b}, - {.src = 0x6021, .y = 0x0f, .x = 0x0c}, - {.src = 0x6033, .y = 0x0e, .x = 0x0c}, - {.src = 0x6032, .y = 0x0d, .x = 0x0c}, - {.src = 0x6031, .y = 0x0c, .x = 0x0c}, +#define LINESECTION_SEMIFINAL_BOTTOM_LEFT \ + {.src = 0x6033, .y = 0x0e, .x = 0x0c}, \ + {.src = 0x6032, .y = 0x0d, .x = 0x0c}, \ + {.src = 0x6031, .y = 0x0c, .x = 0x0c}, \ {.src = 0x6030, .y = 0x0b, .x = 0x0c}, -}; -static const struct UnkStruct_860DD10 gUnknown_0860d6d8[] = -{ - {.src = 0x6021, .y = 0x0c, .x = 0x09}, - {.src = 0x6023, .y = 0x0c, .x = 0x0a}, - {.src = 0x6047, .y = 0x0d, .x = 0x0a}, - {.src = 0x6023, .y = 0x0d, .x = 0x0b}, - {.src = 0x6027, .y = 0x0e, .x = 0x0b}, - {.src = 0x6047, .y = 0x0f, .x = 0x0b}, - {.src = 0x6021, .y = 0x0f, .x = 0x0c}, - {.src = 0x6033, .y = 0x0e, .x = 0x0c}, - {.src = 0x6032, .y = 0x0d, .x = 0x0c}, - {.src = 0x6031, .y = 0x0c, .x = 0x0c}, - {.src = 0x6030, .y = 0x0b, .x = 0x0c}, - {.src = 0x602c, .y = 0x0b, .x = 0x0d}, +#define LINESECTION_SEMIFINAL_TOP_RIGHT \ + {.src = 0x6029, .y = 0x08, .x = 0x11}, \ + {.src = 0x6029, .y = 0x09, .x = 0x11}, \ + {.src = 0x6029, .y = 0x0a, .x = 0x11}, \ + {.src = 0x603c, .y = 0x0b, .x = 0x11}, + +#define LINESECTION_SEMIFINAL_BOTTOM_RIGHT \ + {.src = 0x6038, .y = 0x0e, .x = 0x11}, \ + {.src = 0x6037, .y = 0x0d, .x = 0x11}, \ + {.src = 0x6036, .y = 0x0c, .x = 0x11}, \ + {.src = 0x6035, .y = 0x0b, .x = 0x11}, + +#define LINESECTION_FINAL_LEFT \ + {.src = 0x602c, .y = 0x0b, .x = 0x0d}, \ {.src = 0x602d, .y = 0x0b, .x = 0x0e}, -}; -static const struct UnkStruct_860DD10 gUnknown_0860d70c[] = -{ - {.src = 0x6021, .y = 0x0e, .x = 0x09}, - {.src = 0x6021, .y = 0x0e, .x = 0x0a}, - {.src = 0x6027, .y = 0x0d, .x = 0x0a}, - {.src = 0x6043, .y = 0x0d, .x = 0x0b}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d71c[] = -{ - {.src = 0x6021, .y = 0x0e, .x = 0x09}, - {.src = 0x6021, .y = 0x0e, .x = 0x0a}, - {.src = 0x6027, .y = 0x0d, .x = 0x0a}, - {.src = 0x6023, .y = 0x0d, .x = 0x0b}, - {.src = 0x6027, .y = 0x0e, .x = 0x0b}, - {.src = 0x6047, .y = 0x0f, .x = 0x0b}, - {.src = 0x6021, .y = 0x0f, .x = 0x0c}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d738[] = -{ - {.src = 0x6021, .y = 0x0e, .x = 0x09}, - {.src = 0x6021, .y = 0x0e, .x = 0x0a}, - {.src = 0x6027, .y = 0x0d, .x = 0x0a}, - {.src = 0x6023, .y = 0x0d, .x = 0x0b}, - {.src = 0x6027, .y = 0x0e, .x = 0x0b}, - {.src = 0x6047, .y = 0x0f, .x = 0x0b}, - {.src = 0x6021, .y = 0x0f, .x = 0x0c}, - {.src = 0x6033, .y = 0x0e, .x = 0x0c}, - {.src = 0x6032, .y = 0x0d, .x = 0x0c}, - {.src = 0x6031, .y = 0x0c, .x = 0x0c}, - {.src = 0x6030, .y = 0x0b, .x = 0x0c}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d764[] = -{ - {.src = 0x6021, .y = 0x0e, .x = 0x09}, - {.src = 0x6021, .y = 0x0e, .x = 0x0a}, - {.src = 0x6027, .y = 0x0d, .x = 0x0a}, - {.src = 0x6023, .y = 0x0d, .x = 0x0b}, - {.src = 0x6027, .y = 0x0e, .x = 0x0b}, - {.src = 0x6047, .y = 0x0f, .x = 0x0b}, - {.src = 0x6021, .y = 0x0f, .x = 0x0c}, - {.src = 0x6033, .y = 0x0e, .x = 0x0c}, - {.src = 0x6032, .y = 0x0d, .x = 0x0c}, - {.src = 0x6031, .y = 0x0c, .x = 0x0c}, - {.src = 0x6030, .y = 0x0b, .x = 0x0c}, - {.src = 0x602c, .y = 0x0b, .x = 0x0d}, - {.src = 0x602d, .y = 0x0b, .x = 0x0e}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d798[] = -{ - {.src = 0x6021, .y = 0x10, .x = 0x09}, - {.src = 0x6023, .y = 0x10, .x = 0x0a}, - {.src = 0x6047, .y = 0x11, .x = 0x0a}, - {.src = 0x6021, .y = 0x11, .x = 0x0b}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d7a8[] = -{ - {.src = 0x6021, .y = 0x10, .x = 0x09}, - {.src = 0x6023, .y = 0x10, .x = 0x0a}, - {.src = 0x6047, .y = 0x11, .x = 0x0a}, - {.src = 0x6021, .y = 0x11, .x = 0x0b}, - {.src = 0x6027, .y = 0x10, .x = 0x0b}, - {.src = 0x6027, .y = 0x0f, .x = 0x0b}, - {.src = 0x6021, .y = 0x0f, .x = 0x0c}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d7c4[] = -{ - {.src = 0x6021, .y = 0x10, .x = 0x09}, - {.src = 0x6023, .y = 0x10, .x = 0x0a}, - {.src = 0x6047, .y = 0x11, .x = 0x0a}, - {.src = 0x6021, .y = 0x11, .x = 0x0b}, - {.src = 0x6027, .y = 0x10, .x = 0x0b}, - {.src = 0x6027, .y = 0x0f, .x = 0x0b}, - {.src = 0x6021, .y = 0x0f, .x = 0x0c}, - {.src = 0x6033, .y = 0x0e, .x = 0x0c}, - {.src = 0x6032, .y = 0x0d, .x = 0x0c}, - {.src = 0x6031, .y = 0x0c, .x = 0x0c}, - {.src = 0x6030, .y = 0x0b, .x = 0x0c}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d7f0[] = -{ - {.src = 0x6021, .y = 0x10, .x = 0x09}, - {.src = 0x6023, .y = 0x10, .x = 0x0a}, - {.src = 0x6047, .y = 0x11, .x = 0x0a}, - {.src = 0x6021, .y = 0x11, .x = 0x0b}, - {.src = 0x6027, .y = 0x10, .x = 0x0b}, - {.src = 0x6027, .y = 0x0f, .x = 0x0b}, - {.src = 0x6021, .y = 0x0f, .x = 0x0c}, - {.src = 0x6033, .y = 0x0e, .x = 0x0c}, - {.src = 0x6032, .y = 0x0d, .x = 0x0c}, - {.src = 0x6031, .y = 0x0c, .x = 0x0c}, - {.src = 0x6030, .y = 0x0b, .x = 0x0c}, - {.src = 0x602c, .y = 0x0b, .x = 0x0d}, - {.src = 0x602d, .y = 0x0b, .x = 0x0e}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d824[] = -{ - {.src = 0x602b, .y = 0x12, .x = 0x09}, - {.src = 0x602b, .y = 0x12, .x = 0x0a}, - {.src = 0x6027, .y = 0x11, .x = 0x0a}, - {.src = 0x6021, .y = 0x11, .x = 0x0b}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d834[] = -{ - {.src = 0x602b, .y = 0x12, .x = 0x09}, - {.src = 0x602b, .y = 0x12, .x = 0x0a}, - {.src = 0x6027, .y = 0x11, .x = 0x0a}, - {.src = 0x6021, .y = 0x11, .x = 0x0b}, - {.src = 0x6027, .y = 0x10, .x = 0x0b}, - {.src = 0x6027, .y = 0x0f, .x = 0x0b}, - {.src = 0x6021, .y = 0x0f, .x = 0x0c}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d850[] = -{ - {.src = 0x602b, .y = 0x12, .x = 0x09}, - {.src = 0x602b, .y = 0x12, .x = 0x0a}, - {.src = 0x6027, .y = 0x11, .x = 0x0a}, - {.src = 0x6021, .y = 0x11, .x = 0x0b}, - {.src = 0x6027, .y = 0x10, .x = 0x0b}, - {.src = 0x6027, .y = 0x0f, .x = 0x0b}, - {.src = 0x6021, .y = 0x0f, .x = 0x0c}, - {.src = 0x6033, .y = 0x0e, .x = 0x0c}, - {.src = 0x6032, .y = 0x0d, .x = 0x0c}, - {.src = 0x6031, .y = 0x0c, .x = 0x0c}, - {.src = 0x6030, .y = 0x0b, .x = 0x0c}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d87c[] = -{ - {.src = 0x602b, .y = 0x12, .x = 0x09}, - {.src = 0x602b, .y = 0x12, .x = 0x0a}, - {.src = 0x6027, .y = 0x11, .x = 0x0a}, - {.src = 0x6021, .y = 0x11, .x = 0x0b}, - {.src = 0x6027, .y = 0x10, .x = 0x0b}, - {.src = 0x6027, .y = 0x0f, .x = 0x0b}, - {.src = 0x6021, .y = 0x0f, .x = 0x0c}, - {.src = 0x6033, .y = 0x0e, .x = 0x0c}, - {.src = 0x6032, .y = 0x0d, .x = 0x0c}, - {.src = 0x6031, .y = 0x0c, .x = 0x0c}, - {.src = 0x6030, .y = 0x0b, .x = 0x0c}, - {.src = 0x602c, .y = 0x0b, .x = 0x0d}, - {.src = 0x602d, .y = 0x0b, .x = 0x0e}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d8b0[] = -{ - {.src = 0x6021, .y = 0x04, .x = 0x14}, - {.src = 0x6025, .y = 0x04, .x = 0x13}, - {.src = 0x6049, .y = 0x05, .x = 0x13}, - {.src = 0x6045, .y = 0x05, .x = 0x12}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d8c0[] = -{ - {.src = 0x6021, .y = 0x04, .x = 0x14}, - {.src = 0x6025, .y = 0x04, .x = 0x13}, - {.src = 0x6049, .y = 0x05, .x = 0x13}, - {.src = 0x6025, .y = 0x05, .x = 0x12}, - {.src = 0x6029, .y = 0x06, .x = 0x12}, - {.src = 0x6049, .y = 0x07, .x = 0x12}, - {.src = 0x6045, .y = 0x07, .x = 0x11}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d8dc[] = -{ - {.src = 0x6021, .y = 0x04, .x = 0x14}, - {.src = 0x6025, .y = 0x04, .x = 0x13}, - {.src = 0x6049, .y = 0x05, .x = 0x13}, - {.src = 0x6025, .y = 0x05, .x = 0x12}, - {.src = 0x6029, .y = 0x06, .x = 0x12}, - {.src = 0x6049, .y = 0x07, .x = 0x12}, - {.src = 0x6025, .y = 0x07, .x = 0x11}, - {.src = 0x6029, .y = 0x08, .x = 0x11}, - {.src = 0x6029, .y = 0x09, .x = 0x11}, - {.src = 0x6029, .y = 0x0a, .x = 0x11}, - {.src = 0x603c, .y = 0x0b, .x = 0x11}, -}; - -static const struct UnkStruct_860DD10 gUnknown_0860d908[] = -{ - {.src = 0x6021, .y = 0x04, .x = 0x14}, - {.src = 0x6025, .y = 0x04, .x = 0x13}, - {.src = 0x6049, .y = 0x05, .x = 0x13}, - {.src = 0x6025, .y = 0x05, .x = 0x12}, - {.src = 0x6029, .y = 0x06, .x = 0x12}, - {.src = 0x6049, .y = 0x07, .x = 0x12}, - {.src = 0x6025, .y = 0x07, .x = 0x11}, - {.src = 0x6029, .y = 0x08, .x = 0x11}, - {.src = 0x6029, .y = 0x09, .x = 0x11}, - {.src = 0x6029, .y = 0x0a, .x = 0x11}, - {.src = 0x603c, .y = 0x0b, .x = 0x11}, - {.src = 0x602f, .y = 0x0b, .x = 0x10}, +#define LINESECTION_FINAL_RIGHT \ + {.src = 0x602f, .y = 0x0b, .x = 0x10}, \ {.src = 0x602e, .y = 0x0b, .x = 0x0f}, + + +static const struct TourneyTreeLineSection sLineSectionTrainer1Round1[] = +{ + LINESECTION_ROUND1_TRAINER1(0x6043) }; -static const struct UnkStruct_860DD10 gUnknown_0860d93c[] = +static const struct TourneyTreeLineSection sLineSectionTrainer1Round2[] = { - {.src = 0x6021, .y = 0x06, .x = 0x14}, - {.src = 0x6021, .y = 0x06, .x = 0x13}, - {.src = 0x6029, .y = 0x05, .x = 0x13}, - {.src = 0x6045, .y = 0x05, .x = 0x12}, + LINESECTION_ROUND1_TRAINER1(0x6023) + LINESECTION_ROUND2_MATCH1(0x6043) }; -static const struct UnkStruct_860DD10 gUnknown_0860d94c[] = +static const struct TourneyTreeLineSection sLineSectionTrainer1Semifinal[] = { - {.src = 0x6021, .y = 0x06, .x = 0x14}, - {.src = 0x6021, .y = 0x06, .x = 0x13}, - {.src = 0x6029, .y = 0x05, .x = 0x13}, - {.src = 0x6025, .y = 0x05, .x = 0x12}, - {.src = 0x6029, .y = 0x06, .x = 0x12}, - {.src = 0x6049, .y = 0x07, .x = 0x12}, - {.src = 0x6045, .y = 0x07, .x = 0x11}, + LINESECTION_ROUND1_TRAINER1(0x6023) + LINESECTION_ROUND2_MATCH1(0x6023) + LINESECTION_SEMIFINAL_TOP_LEFT }; -static const struct UnkStruct_860DD10 gUnknown_0860d968[] = +static const struct TourneyTreeLineSection sLineSectionTrainer1Final[] = { - {.src = 0x6021, .y = 0x06, .x = 0x14}, - {.src = 0x6021, .y = 0x06, .x = 0x13}, - {.src = 0x6029, .y = 0x05, .x = 0x13}, - {.src = 0x6025, .y = 0x05, .x = 0x12}, - {.src = 0x6029, .y = 0x06, .x = 0x12}, - {.src = 0x6049, .y = 0x07, .x = 0x12}, - {.src = 0x6025, .y = 0x07, .x = 0x11}, - {.src = 0x6029, .y = 0x08, .x = 0x11}, - {.src = 0x6029, .y = 0x09, .x = 0x11}, - {.src = 0x6029, .y = 0x0a, .x = 0x11}, - {.src = 0x603c, .y = 0x0b, .x = 0x11}, + LINESECTION_ROUND1_TRAINER1(0x6023) + LINESECTION_ROUND2_MATCH1(0x6023) + LINESECTION_SEMIFINAL_TOP_LEFT + LINESECTION_FINAL_LEFT }; -static const struct UnkStruct_860DD10 gUnknown_0860d994[] = +static const struct TourneyTreeLineSection sLineSectionTrainer9Round1[] = { - {.src = 0x6021, .y = 0x06, .x = 0x14}, - {.src = 0x6021, .y = 0x06, .x = 0x13}, - {.src = 0x6029, .y = 0x05, .x = 0x13}, - {.src = 0x6025, .y = 0x05, .x = 0x12}, - {.src = 0x6029, .y = 0x06, .x = 0x12}, - {.src = 0x6049, .y = 0x07, .x = 0x12}, - {.src = 0x6025, .y = 0x07, .x = 0x11}, - {.src = 0x6029, .y = 0x08, .x = 0x11}, - {.src = 0x6029, .y = 0x09, .x = 0x11}, - {.src = 0x6029, .y = 0x0a, .x = 0x11}, - {.src = 0x603c, .y = 0x0b, .x = 0x11}, - {.src = 0x602f, .y = 0x0b, .x = 0x10}, - {.src = 0x602e, .y = 0x0b, .x = 0x0f}, + LINESECTION_ROUND1_TRAINER9(0x6043) }; -static const struct UnkStruct_860DD10 gUnknown_0860d9c8[] = +static const struct TourneyTreeLineSection sLineSectionTrainer9Round2[] = { - {.src = 0x6021, .y = 0x08, .x = 0x14}, - {.src = 0x6025, .y = 0x08, .x = 0x13}, - {.src = 0x6049, .y = 0x09, .x = 0x13}, - {.src = 0x6021, .y = 0x09, .x = 0x12}, + LINESECTION_ROUND1_TRAINER9(0x6023) + LINESECTION_ROUND2_MATCH1(0x6043) }; -static const struct UnkStruct_860DD10 gUnknown_0860d9d8[] = +static const struct TourneyTreeLineSection sLineSectionTrainer9Semifinal[] = { - {.src = 0x6021, .y = 0x08, .x = 0x14}, - {.src = 0x6025, .y = 0x08, .x = 0x13}, - {.src = 0x6049, .y = 0x09, .x = 0x13}, - {.src = 0x6021, .y = 0x09, .x = 0x12}, - {.src = 0x6029, .y = 0x08, .x = 0x12}, - {.src = 0x6029, .y = 0x07, .x = 0x12}, - {.src = 0x6045, .y = 0x07, .x = 0x11}, + LINESECTION_ROUND1_TRAINER9(0x6023) + LINESECTION_ROUND2_MATCH1(0x6023) + LINESECTION_SEMIFINAL_TOP_LEFT }; -static const struct UnkStruct_860DD10 gUnknown_0860d9f4[] = +static const struct TourneyTreeLineSection sLineSectionTrainer9Final[] = { - {.src = 0x6021, .y = 0x08, .x = 0x14}, - {.src = 0x6025, .y = 0x08, .x = 0x13}, - {.src = 0x6049, .y = 0x09, .x = 0x13}, - {.src = 0x6021, .y = 0x09, .x = 0x12}, - {.src = 0x6029, .y = 0x08, .x = 0x12}, - {.src = 0x6029, .y = 0x07, .x = 0x12}, - {.src = 0x6025, .y = 0x07, .x = 0x11}, - {.src = 0x6029, .y = 0x08, .x = 0x11}, - {.src = 0x6029, .y = 0x09, .x = 0x11}, - {.src = 0x6029, .y = 0x0a, .x = 0x11}, - {.src = 0x603c, .y = 0x0b, .x = 0x11}, + LINESECTION_ROUND1_TRAINER9(0x6023) + LINESECTION_ROUND2_MATCH1(0x6023) + LINESECTION_SEMIFINAL_TOP_LEFT + LINESECTION_FINAL_LEFT }; -static const struct UnkStruct_860DD10 gUnknown_0860da20[] = +static const struct TourneyTreeLineSection sLineSectionTrainer13Round1[] = { - {.src = 0x6021, .y = 0x08, .x = 0x14}, - {.src = 0x6025, .y = 0x08, .x = 0x13}, - {.src = 0x6049, .y = 0x09, .x = 0x13}, - {.src = 0x6021, .y = 0x09, .x = 0x12}, - {.src = 0x6029, .y = 0x08, .x = 0x12}, - {.src = 0x6029, .y = 0x07, .x = 0x12}, - {.src = 0x6025, .y = 0x07, .x = 0x11}, - {.src = 0x6029, .y = 0x08, .x = 0x11}, - {.src = 0x6029, .y = 0x09, .x = 0x11}, - {.src = 0x6029, .y = 0x0a, .x = 0x11}, - {.src = 0x603c, .y = 0x0b, .x = 0x11}, - {.src = 0x602f, .y = 0x0b, .x = 0x10}, - {.src = 0x602e, .y = 0x0b, .x = 0x0f}, + LINESECTION_ROUND1_TRAINER13(0x6021) }; -static const struct UnkStruct_860DD10 gUnknown_0860da54[] = +static const struct TourneyTreeLineSection sLineSectionTrainer13Round2[] = { - {.src = 0x6021, .y = 0x0a, .x = 0x14}, - {.src = 0x6021, .y = 0x0a, .x = 0x13}, - {.src = 0x6029, .y = 0x09, .x = 0x13}, - {.src = 0x6021, .y = 0x09, .x = 0x12}, + LINESECTION_ROUND1_TRAINER13(0x6021) + LINESECTION_ROUND2_MATCH2(0x6043) }; -static const struct UnkStruct_860DD10 gUnknown_0860da64[] = +static const struct TourneyTreeLineSection sLineSectionTrainer13Semifinal[] = { - {.src = 0x6021, .y = 0x0a, .x = 0x14}, - {.src = 0x6021, .y = 0x0a, .x = 0x13}, - {.src = 0x6029, .y = 0x09, .x = 0x13}, - {.src = 0x6021, .y = 0x09, .x = 0x12}, - {.src = 0x6029, .y = 0x08, .x = 0x12}, - {.src = 0x6029, .y = 0x07, .x = 0x12}, - {.src = 0x6045, .y = 0x07, .x = 0x11}, + LINESECTION_ROUND1_TRAINER13(0x6021) + LINESECTION_ROUND2_MATCH2(0x6023) + LINESECTION_SEMIFINAL_TOP_LEFT }; -static const struct UnkStruct_860DD10 gUnknown_0860da80[] = +static const struct TourneyTreeLineSection sLineSectionTrainer13Final[] = { - {.src = 0x6021, .y = 0x0a, .x = 0x14}, - {.src = 0x6021, .y = 0x0a, .x = 0x13}, - {.src = 0x6029, .y = 0x09, .x = 0x13}, - {.src = 0x6021, .y = 0x09, .x = 0x12}, - {.src = 0x6029, .y = 0x08, .x = 0x12}, - {.src = 0x6029, .y = 0x07, .x = 0x12}, - {.src = 0x6025, .y = 0x07, .x = 0x11}, - {.src = 0x6029, .y = 0x08, .x = 0x11}, - {.src = 0x6029, .y = 0x09, .x = 0x11}, - {.src = 0x6029, .y = 0x0a, .x = 0x11}, - {.src = 0x603c, .y = 0x0b, .x = 0x11}, + LINESECTION_ROUND1_TRAINER13(0x6021) + LINESECTION_ROUND2_MATCH2(0x6023) + LINESECTION_SEMIFINAL_TOP_LEFT + LINESECTION_FINAL_LEFT }; -static const struct UnkStruct_860DD10 gUnknown_0860daac[] = +static const struct TourneyTreeLineSection sLineSectionTrainer5Round1[] = { - {.src = 0x6021, .y = 0x0a, .x = 0x14}, - {.src = 0x6021, .y = 0x0a, .x = 0x13}, - {.src = 0x6029, .y = 0x09, .x = 0x13}, - {.src = 0x6021, .y = 0x09, .x = 0x12}, - {.src = 0x6029, .y = 0x08, .x = 0x12}, - {.src = 0x6029, .y = 0x07, .x = 0x12}, - {.src = 0x6025, .y = 0x07, .x = 0x11}, - {.src = 0x6029, .y = 0x08, .x = 0x11}, - {.src = 0x6029, .y = 0x09, .x = 0x11}, - {.src = 0x6029, .y = 0x0a, .x = 0x11}, - {.src = 0x603c, .y = 0x0b, .x = 0x11}, - {.src = 0x602f, .y = 0x0b, .x = 0x10}, - {.src = 0x602e, .y = 0x0b, .x = 0x0f}, + LINESECTION_ROUND1_TRAINER5(0x6021) }; -static const struct UnkStruct_860DD10 gUnknown_0860dae0[] = +static const struct TourneyTreeLineSection sLineSectionTrainer5Round2[] = { - {.src = 0x6021, .y = 0x0c, .x = 0x14}, - {.src = 0x6025, .y = 0x0c, .x = 0x13}, - {.src = 0x6049, .y = 0x0d, .x = 0x13}, - {.src = 0x6045, .y = 0x0d, .x = 0x12}, + LINESECTION_ROUND1_TRAINER5(0x6021) + LINESECTION_ROUND2_MATCH2(0x6043) }; -static const struct UnkStruct_860DD10 gUnknown_0860daf0[] = +static const struct TourneyTreeLineSection sLineSectionTrainer5Semifinal[] = { - {.src = 0x6021, .y = 0x0c, .x = 0x14}, - {.src = 0x6025, .y = 0x0c, .x = 0x13}, - {.src = 0x6049, .y = 0x0d, .x = 0x13}, - {.src = 0x6025, .y = 0x0d, .x = 0x12}, - {.src = 0x6029, .y = 0x0e, .x = 0x12}, - {.src = 0x6049, .y = 0x0f, .x = 0x12}, - {.src = 0x6021, .y = 0x0f, .x = 0x11}, + LINESECTION_ROUND1_TRAINER5(0x6021) + LINESECTION_ROUND2_MATCH2(0x6023) + LINESECTION_SEMIFINAL_TOP_LEFT }; -static const struct UnkStruct_860DD10 gUnknown_0860db0c[] = +static const struct TourneyTreeLineSection sLineSectionTrainer5Final[] = { - {.src = 0x6021, .y = 0x0c, .x = 0x14}, - {.src = 0x6025, .y = 0x0c, .x = 0x13}, - {.src = 0x6049, .y = 0x0d, .x = 0x13}, - {.src = 0x6025, .y = 0x0d, .x = 0x12}, - {.src = 0x6029, .y = 0x0e, .x = 0x12}, - {.src = 0x6049, .y = 0x0f, .x = 0x12}, - {.src = 0x6021, .y = 0x0f, .x = 0x11}, - {.src = 0x6038, .y = 0x0e, .x = 0x11}, - {.src = 0x6037, .y = 0x0d, .x = 0x11}, - {.src = 0x6036, .y = 0x0c, .x = 0x11}, - {.src = 0x6035, .y = 0x0b, .x = 0x11}, + LINESECTION_ROUND1_TRAINER5(0x6021) + LINESECTION_ROUND2_MATCH2(0x6023) + LINESECTION_SEMIFINAL_TOP_LEFT + LINESECTION_FINAL_LEFT }; -static const struct UnkStruct_860DD10 gUnknown_0860db38[] = +static const struct TourneyTreeLineSection sLineSectionTrainer8Round1[] = { - {.src = 0x6021, .y = 0x0c, .x = 0x14}, - {.src = 0x6025, .y = 0x0c, .x = 0x13}, - {.src = 0x6049, .y = 0x0d, .x = 0x13}, - {.src = 0x6025, .y = 0x0d, .x = 0x12}, - {.src = 0x6029, .y = 0x0e, .x = 0x12}, - {.src = 0x6049, .y = 0x0f, .x = 0x12}, - {.src = 0x6021, .y = 0x0f, .x = 0x11}, - {.src = 0x6038, .y = 0x0e, .x = 0x11}, - {.src = 0x6037, .y = 0x0d, .x = 0x11}, - {.src = 0x6036, .y = 0x0c, .x = 0x11}, - {.src = 0x6035, .y = 0x0b, .x = 0x11}, - {.src = 0x602f, .y = 0x0b, .x = 0x10}, - {.src = 0x602e, .y = 0x0b, .x = 0x0f}, + LINESECTION_ROUND1_TRAINER8(0x6043) }; -static const struct UnkStruct_860DD10 gUnknown_0860db6c[] = +static const struct TourneyTreeLineSection sLineSectionTrainer8Round2[] = { - {.src = 0x6021, .y = 0x0e, .x = 0x14}, - {.src = 0x6021, .y = 0x0e, .x = 0x13}, - {.src = 0x6029, .y = 0x0d, .x = 0x13}, - {.src = 0x6045, .y = 0x0d, .x = 0x12}, + LINESECTION_ROUND1_TRAINER8(0x6023) + LINESECTION_ROUND2_MATCH3(0x6021) }; -static const struct UnkStruct_860DD10 gUnknown_0860db7c[] = +static const struct TourneyTreeLineSection sLineSectionTrainer8Semifinal[] = { - {.src = 0x6021, .y = 0x0e, .x = 0x14}, - {.src = 0x6021, .y = 0x0e, .x = 0x13}, - {.src = 0x6029, .y = 0x0d, .x = 0x13}, - {.src = 0x6025, .y = 0x0d, .x = 0x12}, - {.src = 0x6029, .y = 0x0e, .x = 0x12}, - {.src = 0x6049, .y = 0x0f, .x = 0x12}, - {.src = 0x6021, .y = 0x0f, .x = 0x11}, + LINESECTION_ROUND1_TRAINER8(0x6023) + LINESECTION_ROUND2_MATCH3(0x6021) + LINESECTION_SEMIFINAL_BOTTOM_LEFT }; -static const struct UnkStruct_860DD10 gUnknown_0860db98[] = +static const struct TourneyTreeLineSection sLineSectionTrainer8Final[] = { - {.src = 0x6021, .y = 0x0e, .x = 0x14}, - {.src = 0x6021, .y = 0x0e, .x = 0x13}, - {.src = 0x6029, .y = 0x0d, .x = 0x13}, - {.src = 0x6025, .y = 0x0d, .x = 0x12}, - {.src = 0x6029, .y = 0x0e, .x = 0x12}, - {.src = 0x6049, .y = 0x0f, .x = 0x12}, - {.src = 0x6021, .y = 0x0f, .x = 0x11}, - {.src = 0x6038, .y = 0x0e, .x = 0x11}, - {.src = 0x6037, .y = 0x0d, .x = 0x11}, - {.src = 0x6036, .y = 0x0c, .x = 0x11}, - {.src = 0x6035, .y = 0x0b, .x = 0x11}, + LINESECTION_ROUND1_TRAINER8(0x6023) + LINESECTION_ROUND2_MATCH3(0x6021) + LINESECTION_SEMIFINAL_BOTTOM_LEFT + LINESECTION_FINAL_LEFT }; -static const struct UnkStruct_860DD10 gUnknown_0860dbc4[] = +static const struct TourneyTreeLineSection sLineSectionTrainer16Round1[] = { - {.src = 0x6021, .y = 0x0e, .x = 0x14}, - {.src = 0x6021, .y = 0x0e, .x = 0x13}, - {.src = 0x6029, .y = 0x0d, .x = 0x13}, - {.src = 0x6025, .y = 0x0d, .x = 0x12}, - {.src = 0x6029, .y = 0x0e, .x = 0x12}, - {.src = 0x6049, .y = 0x0f, .x = 0x12}, - {.src = 0x6021, .y = 0x0f, .x = 0x11}, - {.src = 0x6038, .y = 0x0e, .x = 0x11}, - {.src = 0x6037, .y = 0x0d, .x = 0x11}, - {.src = 0x6036, .y = 0x0c, .x = 0x11}, - {.src = 0x6035, .y = 0x0b, .x = 0x11}, - {.src = 0x602f, .y = 0x0b, .x = 0x10}, - {.src = 0x602e, .y = 0x0b, .x = 0x0f}, + LINESECTION_ROUND1_TRAINER16(0x6043) }; -static const struct UnkStruct_860DD10 gUnknown_0860dbf8[] = +static const struct TourneyTreeLineSection sLineSectionTrainer16Round2[] = { - {.src = 0x6021, .y = 0x10, .x = 0x14}, - {.src = 0x6025, .y = 0x10, .x = 0x13}, - {.src = 0x6049, .y = 0x11, .x = 0x13}, - {.src = 0x6021, .y = 0x11, .x = 0x12}, + LINESECTION_ROUND1_TRAINER16(0x6023) + LINESECTION_ROUND2_MATCH3(0x6021) }; -static const struct UnkStruct_860DD10 gUnknown_0860dc08[] = +static const struct TourneyTreeLineSection sLineSectionTrainer16Semifinal[] = { - {.src = 0x6021, .y = 0x10, .x = 0x14}, - {.src = 0x6025, .y = 0x10, .x = 0x13}, - {.src = 0x6049, .y = 0x11, .x = 0x13}, - {.src = 0x6021, .y = 0x11, .x = 0x12}, - {.src = 0x6029, .y = 0x10, .x = 0x12}, - {.src = 0x6029, .y = 0x0f, .x = 0x12}, - {.src = 0x6021, .y = 0x0f, .x = 0x11}, + LINESECTION_ROUND1_TRAINER16(0x6023) + LINESECTION_ROUND2_MATCH3(0x6021) + LINESECTION_SEMIFINAL_BOTTOM_LEFT }; -static const struct UnkStruct_860DD10 gUnknown_0860dc24[] = +static const struct TourneyTreeLineSection sLineSectionTrainer16Final[] = { - {.src = 0x6021, .y = 0x10, .x = 0x14}, - {.src = 0x6025, .y = 0x10, .x = 0x13}, - {.src = 0x6049, .y = 0x11, .x = 0x13}, - {.src = 0x6021, .y = 0x11, .x = 0x12}, - {.src = 0x6029, .y = 0x10, .x = 0x12}, - {.src = 0x6029, .y = 0x0f, .x = 0x12}, - {.src = 0x6021, .y = 0x0f, .x = 0x11}, - {.src = 0x6038, .y = 0x0e, .x = 0x11}, - {.src = 0x6037, .y = 0x0d, .x = 0x11}, - {.src = 0x6036, .y = 0x0c, .x = 0x11}, - {.src = 0x6035, .y = 0x0b, .x = 0x11}, + LINESECTION_ROUND1_TRAINER16(0x6023) + LINESECTION_ROUND2_MATCH3(0x6021) + LINESECTION_SEMIFINAL_BOTTOM_LEFT + LINESECTION_FINAL_LEFT }; -static const struct UnkStruct_860DD10 gUnknown_0860dc50[] = +static const struct TourneyTreeLineSection sLineSectionTrainer12Round1[] = { - {.src = 0x6021, .y = 0x10, .x = 0x14}, - {.src = 0x6025, .y = 0x10, .x = 0x13}, - {.src = 0x6049, .y = 0x11, .x = 0x13}, - {.src = 0x6021, .y = 0x11, .x = 0x12}, - {.src = 0x6029, .y = 0x10, .x = 0x12}, - {.src = 0x6029, .y = 0x0f, .x = 0x12}, - {.src = 0x6021, .y = 0x0f, .x = 0x11}, - {.src = 0x6038, .y = 0x0e, .x = 0x11}, - {.src = 0x6037, .y = 0x0d, .x = 0x11}, - {.src = 0x6036, .y = 0x0c, .x = 0x11}, - {.src = 0x6035, .y = 0x0b, .x = 0x11}, - {.src = 0x602f, .y = 0x0b, .x = 0x10}, - {.src = 0x602e, .y = 0x0b, .x = 0x0f}, + LINESECTION_ROUND1_TRAINER12(0x6021) }; -static const struct UnkStruct_860DD10 gUnknown_0860dc84[] = +static const struct TourneyTreeLineSection sLineSectionTrainer12Round2[] = { - {.src = 0x602b, .y = 0x12, .x = 0x14}, - {.src = 0x602b, .y = 0x12, .x = 0x13}, - {.src = 0x6029, .y = 0x11, .x = 0x13}, - {.src = 0x6021, .y = 0x11, .x = 0x12}, + LINESECTION_ROUND1_TRAINER12(0x6021) + LINESECTION_ROUND2_MATCH4(0x6021) }; -static const struct UnkStruct_860DD10 gUnknown_0860dc94[] = +static const struct TourneyTreeLineSection sLineSectionTrainer12Semifinal[] = { - {.src = 0x602b, .y = 0x12, .x = 0x14}, - {.src = 0x602b, .y = 0x12, .x = 0x13}, - {.src = 0x6029, .y = 0x11, .x = 0x13}, - {.src = 0x6021, .y = 0x11, .x = 0x12}, - {.src = 0x6029, .y = 0x10, .x = 0x12}, - {.src = 0x6029, .y = 0x0f, .x = 0x12}, - {.src = 0x6021, .y = 0x0f, .x = 0x11}, + LINESECTION_ROUND1_TRAINER12(0x6021) + LINESECTION_ROUND2_MATCH4(0x6021) + LINESECTION_SEMIFINAL_BOTTOM_LEFT }; -static const struct UnkStruct_860DD10 gUnknown_0860dcb0[] = +static const struct TourneyTreeLineSection sLineSectionTrainer12Final[] = { - {.src = 0x602b, .y = 0x12, .x = 0x14}, - {.src = 0x602b, .y = 0x12, .x = 0x13}, - {.src = 0x6029, .y = 0x11, .x = 0x13}, - {.src = 0x6021, .y = 0x11, .x = 0x12}, - {.src = 0x6029, .y = 0x10, .x = 0x12}, - {.src = 0x6029, .y = 0x0f, .x = 0x12}, - {.src = 0x6021, .y = 0x0f, .x = 0x11}, - {.src = 0x6038, .y = 0x0e, .x = 0x11}, - {.src = 0x6037, .y = 0x0d, .x = 0x11}, - {.src = 0x6036, .y = 0x0c, .x = 0x11}, - {.src = 0x6035, .y = 0x0b, .x = 0x11}, + LINESECTION_ROUND1_TRAINER12(0x6021) + LINESECTION_ROUND2_MATCH4(0x6021) + LINESECTION_SEMIFINAL_BOTTOM_LEFT + LINESECTION_FINAL_LEFT }; -static const struct UnkStruct_860DD10 gUnknown_0860dcdc[] = +static const struct TourneyTreeLineSection sLineSectionTrainer4Round1[] = { - {.src = 0x602b, .y = 0x12, .x = 0x14}, - {.src = 0x602b, .y = 0x12, .x = 0x13}, - {.src = 0x6029, .y = 0x11, .x = 0x13}, - {.src = 0x6021, .y = 0x11, .x = 0x12}, - {.src = 0x6029, .y = 0x10, .x = 0x12}, - {.src = 0x6029, .y = 0x0f, .x = 0x12}, - {.src = 0x6021, .y = 0x0f, .x = 0x11}, - {.src = 0x6038, .y = 0x0e, .x = 0x11}, - {.src = 0x6037, .y = 0x0d, .x = 0x11}, - {.src = 0x6036, .y = 0x0c, .x = 0x11}, - {.src = 0x6035, .y = 0x0b, .x = 0x11}, - {.src = 0x602f, .y = 0x0b, .x = 0x10}, - {.src = 0x602e, .y = 0x0b, .x = 0x0f}, + LINESECTION_ROUND1_TRAINER4(0x6021) }; -static const struct UnkStruct_860DD10 * const gUnknown_0860DD10[DOME_TOURNAMENT_TRAINERS_COUNT][4] = +static const struct TourneyTreeLineSection sLineSectionTrainer4Round2[] = { - {gUnknown_0860d450, gUnknown_0860d460, gUnknown_0860d47c, gUnknown_0860d4a8}, - {gUnknown_0860dc84, gUnknown_0860dc94, gUnknown_0860dcb0, gUnknown_0860dcdc}, - {gUnknown_0860d8b0, gUnknown_0860d8c0, gUnknown_0860d8dc, gUnknown_0860d908}, - {gUnknown_0860d824, gUnknown_0860d834, gUnknown_0860d850, gUnknown_0860d87c}, - {gUnknown_0860d5f4, gUnknown_0860d604, gUnknown_0860d620, gUnknown_0860d64c}, - {gUnknown_0860dae0, gUnknown_0860daf0, gUnknown_0860db0c, gUnknown_0860db38}, - {gUnknown_0860da54, gUnknown_0860da64, gUnknown_0860da80, gUnknown_0860daac}, - {gUnknown_0860d680, gUnknown_0860d690, gUnknown_0860d6ac, gUnknown_0860d6d8}, - {gUnknown_0860d4dc, gUnknown_0860d4ec, gUnknown_0860d508, gUnknown_0860d534}, - {gUnknown_0860dbf8, gUnknown_0860dc08, gUnknown_0860dc24, gUnknown_0860dc50}, - {gUnknown_0860d93c, gUnknown_0860d94c, gUnknown_0860d968, gUnknown_0860d994}, - {gUnknown_0860d798, gUnknown_0860d7a8, gUnknown_0860d7c4, gUnknown_0860d7f0}, - {gUnknown_0860d568, gUnknown_0860d578, gUnknown_0860d594, gUnknown_0860d5c0}, - {gUnknown_0860db6c, gUnknown_0860db7c, gUnknown_0860db98, gUnknown_0860dbc4}, - {gUnknown_0860d9c8, gUnknown_0860d9d8, gUnknown_0860d9f4, gUnknown_0860da20}, - {gUnknown_0860d70c, gUnknown_0860d71c, gUnknown_0860d738, gUnknown_0860d764}, + LINESECTION_ROUND1_TRAINER4(0x6021) + LINESECTION_ROUND2_MATCH4(0x6021) }; -static const u8 gUnknown_0860DE10[DOME_TOURNAMENT_TRAINERS_COUNT][4] = +static const struct TourneyTreeLineSection sLineSectionTrainer4Semifinal[] = { - {0x04, 0x07, 0x0b, 0x0d}, - {0x04, 0x07, 0x0b, 0x0d}, - {0x04, 0x07, 0x0b, 0x0d}, - {0x04, 0x07, 0x0b, 0x0d}, - {0x04, 0x07, 0x0b, 0x0d}, - {0x04, 0x07, 0x0b, 0x0d}, - {0x04, 0x07, 0x0b, 0x0d}, - {0x04, 0x07, 0x0b, 0x0d}, - {0x04, 0x07, 0x0b, 0x0d}, - {0x04, 0x07, 0x0b, 0x0d}, - {0x04, 0x07, 0x0b, 0x0d}, - {0x04, 0x07, 0x0b, 0x0d}, - {0x04, 0x07, 0x0b, 0x0d}, - {0x04, 0x07, 0x0b, 0x0d}, - {0x04, 0x07, 0x0b, 0x0d}, - {0x04, 0x07, 0x0b, 0x0d}, + LINESECTION_ROUND1_TRAINER4(0x6021) + LINESECTION_ROUND2_MATCH4(0x6021) + LINESECTION_SEMIFINAL_BOTTOM_LEFT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer4Final[] = +{ + LINESECTION_ROUND1_TRAINER4(0x6021) + LINESECTION_ROUND2_MATCH4(0x6021) + LINESECTION_SEMIFINAL_BOTTOM_LEFT + LINESECTION_FINAL_LEFT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer3Round1[] = +{ + LINESECTION_ROUND1_TRAINER3(0x6045) +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer3Round2[] = +{ + LINESECTION_ROUND1_TRAINER3(0x6025) + LINESECTION_ROUND2_MATCH5(0x6045) +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer3Semifinal[] = +{ + LINESECTION_ROUND1_TRAINER3(0x6025) + LINESECTION_ROUND2_MATCH5(0x6025) + LINESECTION_SEMIFINAL_TOP_RIGHT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer3Final[] = +{ + LINESECTION_ROUND1_TRAINER3(0x6025) + LINESECTION_ROUND2_MATCH5(0x6025) + LINESECTION_SEMIFINAL_TOP_RIGHT + LINESECTION_FINAL_RIGHT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer11Round1[] = +{ + LINESECTION_ROUND1_TRAINER11(0x6045) +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer11Round2[] = +{ + LINESECTION_ROUND1_TRAINER11(0x6025) + LINESECTION_ROUND2_MATCH5(0x6045) +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer11Semifinal[] = +{ + LINESECTION_ROUND1_TRAINER11(0x6025) + LINESECTION_ROUND2_MATCH5(0x6025) + LINESECTION_SEMIFINAL_TOP_RIGHT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer11Final[] = +{ + LINESECTION_ROUND1_TRAINER11(0x6025) + LINESECTION_ROUND2_MATCH5(0x6025) + LINESECTION_SEMIFINAL_TOP_RIGHT + LINESECTION_FINAL_RIGHT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer15Round1[] = +{ + LINESECTION_ROUND1_TRAINER15(0x6021) +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer15Round2[] = +{ + LINESECTION_ROUND1_TRAINER15(0x6021) + LINESECTION_ROUND2_MATCH6(0x6045) +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer15Semifinal[] = +{ + LINESECTION_ROUND1_TRAINER15(0x6021) + LINESECTION_ROUND2_MATCH6(0x6025) + LINESECTION_SEMIFINAL_TOP_RIGHT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer15Final[] = +{ + LINESECTION_ROUND1_TRAINER15(0x6021) + LINESECTION_ROUND2_MATCH6(0x6025) + LINESECTION_SEMIFINAL_TOP_RIGHT + LINESECTION_FINAL_RIGHT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer7Round1[] = +{ + LINESECTION_ROUND1_TRAINER7(0x6021) +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer7Round2[] = +{ + LINESECTION_ROUND1_TRAINER7(0x6021) + LINESECTION_ROUND2_MATCH6(0x6045) +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer7Semifinal[] = +{ + LINESECTION_ROUND1_TRAINER7(0x6021) + LINESECTION_ROUND2_MATCH6(0x6025) + LINESECTION_SEMIFINAL_TOP_RIGHT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer7Final[] = +{ + LINESECTION_ROUND1_TRAINER7(0x6021) + LINESECTION_ROUND2_MATCH6(0x6025) + LINESECTION_SEMIFINAL_TOP_RIGHT + LINESECTION_FINAL_RIGHT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer6Round1[] = +{ + LINESECTION_ROUND1_TRAINER6(0x6045) +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer6Round2[] = +{ + LINESECTION_ROUND1_TRAINER6(0x6025) + LINESECTION_ROUND2_MATCH7(0x6021) +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer6Semifinal[] = +{ + LINESECTION_ROUND1_TRAINER6(0x6025) + LINESECTION_ROUND2_MATCH7(0x6021) + LINESECTION_SEMIFINAL_BOTTOM_RIGHT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer6Final[] = +{ + LINESECTION_ROUND1_TRAINER6(0x6025) + LINESECTION_ROUND2_MATCH7(0x6021) + LINESECTION_SEMIFINAL_BOTTOM_RIGHT + LINESECTION_FINAL_RIGHT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer14Round1[] = +{ + LINESECTION_ROUND1_TRAINER14(0x6045) +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer14Round2[] = +{ + LINESECTION_ROUND1_TRAINER14(0x6025) + LINESECTION_ROUND2_MATCH7(0x6021) +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer14Semifinal[] = +{ + LINESECTION_ROUND1_TRAINER14(0x6025) + LINESECTION_ROUND2_MATCH7(0x6021) + LINESECTION_SEMIFINAL_BOTTOM_RIGHT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer14Final[] = +{ + LINESECTION_ROUND1_TRAINER14(0x6025) + LINESECTION_ROUND2_MATCH7(0x6021) + LINESECTION_SEMIFINAL_BOTTOM_RIGHT + LINESECTION_FINAL_RIGHT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer10Round1[] = +{ + LINESECTION_ROUND1_TRAINER10(0x6021) +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer10Round2[] = +{ + LINESECTION_ROUND1_TRAINER10(0x6021) + LINESECTION_ROUND2_MATCH8(0x6021) +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer10Semifinal[] = +{ + LINESECTION_ROUND1_TRAINER10(0x6021) + LINESECTION_ROUND2_MATCH8(0x6021) + LINESECTION_SEMIFINAL_BOTTOM_RIGHT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer10Final[] = +{ + LINESECTION_ROUND1_TRAINER10(0x6021) + LINESECTION_ROUND2_MATCH8(0x6021) + LINESECTION_SEMIFINAL_BOTTOM_RIGHT + LINESECTION_FINAL_RIGHT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer2Round1[] = +{ + LINESECTION_ROUND1_TRAINER2(0x6021) +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer2Round2[] = +{ + LINESECTION_ROUND1_TRAINER2(0x6021) + LINESECTION_ROUND2_MATCH8(0x6021) +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer2Semifinal[] = +{ + LINESECTION_ROUND1_TRAINER2(0x6021) + LINESECTION_ROUND2_MATCH8(0x6021) + LINESECTION_SEMIFINAL_BOTTOM_RIGHT +}; + +static const struct TourneyTreeLineSection sLineSectionTrainer2Final[] = +{ + LINESECTION_ROUND1_TRAINER2(0x6021) + LINESECTION_ROUND2_MATCH8(0x6021) + LINESECTION_SEMIFINAL_BOTTOM_RIGHT + LINESECTION_FINAL_RIGHT +}; + +static const struct TourneyTreeLineSection *const sTourneyTreeLineSections[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] = +{ + {sLineSectionTrainer1Round1, sLineSectionTrainer1Round2, sLineSectionTrainer1Semifinal, sLineSectionTrainer1Final}, + {sLineSectionTrainer2Round1, sLineSectionTrainer2Round2, sLineSectionTrainer2Semifinal, sLineSectionTrainer2Final}, + {sLineSectionTrainer3Round1, sLineSectionTrainer3Round2, sLineSectionTrainer3Semifinal, sLineSectionTrainer3Final}, + {sLineSectionTrainer4Round1, sLineSectionTrainer4Round2, sLineSectionTrainer4Semifinal, sLineSectionTrainer4Final}, + {sLineSectionTrainer5Round1, sLineSectionTrainer5Round2, sLineSectionTrainer5Semifinal, sLineSectionTrainer5Final}, + {sLineSectionTrainer6Round1, sLineSectionTrainer6Round2, sLineSectionTrainer6Semifinal, sLineSectionTrainer6Final}, + {sLineSectionTrainer7Round1, sLineSectionTrainer7Round2, sLineSectionTrainer7Semifinal, sLineSectionTrainer7Final}, + {sLineSectionTrainer8Round1, sLineSectionTrainer8Round2, sLineSectionTrainer8Semifinal, sLineSectionTrainer8Final}, + {sLineSectionTrainer9Round1, sLineSectionTrainer9Round2, sLineSectionTrainer9Semifinal, sLineSectionTrainer9Final}, + {sLineSectionTrainer10Round1, sLineSectionTrainer10Round2, sLineSectionTrainer10Semifinal, sLineSectionTrainer10Final}, + {sLineSectionTrainer11Round1, sLineSectionTrainer11Round2, sLineSectionTrainer11Semifinal, sLineSectionTrainer11Final}, + {sLineSectionTrainer12Round1, sLineSectionTrainer12Round2, sLineSectionTrainer12Semifinal, sLineSectionTrainer12Final}, + {sLineSectionTrainer13Round1, sLineSectionTrainer13Round2, sLineSectionTrainer13Semifinal, sLineSectionTrainer13Final}, + {sLineSectionTrainer14Round1, sLineSectionTrainer14Round2, sLineSectionTrainer14Semifinal, sLineSectionTrainer14Final}, + {sLineSectionTrainer15Round1, sLineSectionTrainer15Round2, sLineSectionTrainer15Semifinal, sLineSectionTrainer15Final}, + {sLineSectionTrainer16Round1, sLineSectionTrainer16Round2, sLineSectionTrainer16Semifinal, sLineSectionTrainer16Final}, +}; + +static const u8 sTourneyTreeLineSectionArrayCounts[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] = +{ + {ARRAY_COUNT(sLineSectionTrainer1Round1), ARRAY_COUNT(sLineSectionTrainer1Round2), ARRAY_COUNT(sLineSectionTrainer1Semifinal), ARRAY_COUNT(sLineSectionTrainer1Final)}, + {ARRAY_COUNT(sLineSectionTrainer2Round1), ARRAY_COUNT(sLineSectionTrainer2Round2), ARRAY_COUNT(sLineSectionTrainer2Semifinal), ARRAY_COUNT(sLineSectionTrainer2Final)}, + {ARRAY_COUNT(sLineSectionTrainer3Round1), ARRAY_COUNT(sLineSectionTrainer3Round2), ARRAY_COUNT(sLineSectionTrainer3Semifinal), ARRAY_COUNT(sLineSectionTrainer3Final)}, + {ARRAY_COUNT(sLineSectionTrainer4Round1), ARRAY_COUNT(sLineSectionTrainer4Round2), ARRAY_COUNT(sLineSectionTrainer4Semifinal), ARRAY_COUNT(sLineSectionTrainer4Final)}, + {ARRAY_COUNT(sLineSectionTrainer5Round1), ARRAY_COUNT(sLineSectionTrainer5Round2), ARRAY_COUNT(sLineSectionTrainer5Semifinal), ARRAY_COUNT(sLineSectionTrainer5Final)}, + {ARRAY_COUNT(sLineSectionTrainer6Round1), ARRAY_COUNT(sLineSectionTrainer6Round2), ARRAY_COUNT(sLineSectionTrainer6Semifinal), ARRAY_COUNT(sLineSectionTrainer6Final)}, + {ARRAY_COUNT(sLineSectionTrainer7Round1), ARRAY_COUNT(sLineSectionTrainer7Round2), ARRAY_COUNT(sLineSectionTrainer7Semifinal), ARRAY_COUNT(sLineSectionTrainer7Final)}, + {ARRAY_COUNT(sLineSectionTrainer8Round1), ARRAY_COUNT(sLineSectionTrainer8Round2), ARRAY_COUNT(sLineSectionTrainer8Semifinal), ARRAY_COUNT(sLineSectionTrainer8Final)}, + {ARRAY_COUNT(sLineSectionTrainer9Round1), ARRAY_COUNT(sLineSectionTrainer9Round2), ARRAY_COUNT(sLineSectionTrainer9Semifinal), ARRAY_COUNT(sLineSectionTrainer9Final)}, + {ARRAY_COUNT(sLineSectionTrainer10Round1), ARRAY_COUNT(sLineSectionTrainer10Round2), ARRAY_COUNT(sLineSectionTrainer10Semifinal), ARRAY_COUNT(sLineSectionTrainer10Final)}, + {ARRAY_COUNT(sLineSectionTrainer11Round1), ARRAY_COUNT(sLineSectionTrainer11Round2), ARRAY_COUNT(sLineSectionTrainer11Semifinal), ARRAY_COUNT(sLineSectionTrainer11Final)}, + {ARRAY_COUNT(sLineSectionTrainer12Round1), ARRAY_COUNT(sLineSectionTrainer12Round2), ARRAY_COUNT(sLineSectionTrainer12Semifinal), ARRAY_COUNT(sLineSectionTrainer12Final)}, + {ARRAY_COUNT(sLineSectionTrainer13Round1), ARRAY_COUNT(sLineSectionTrainer13Round2), ARRAY_COUNT(sLineSectionTrainer13Semifinal), ARRAY_COUNT(sLineSectionTrainer13Final)}, + {ARRAY_COUNT(sLineSectionTrainer14Round1), ARRAY_COUNT(sLineSectionTrainer14Round2), ARRAY_COUNT(sLineSectionTrainer14Semifinal), ARRAY_COUNT(sLineSectionTrainer14Final)}, + {ARRAY_COUNT(sLineSectionTrainer15Round1), ARRAY_COUNT(sLineSectionTrainer15Round2), ARRAY_COUNT(sLineSectionTrainer15Semifinal), ARRAY_COUNT(sLineSectionTrainer15Final)}, + {ARRAY_COUNT(sLineSectionTrainer16Round1), ARRAY_COUNT(sLineSectionTrainer16Round2), ARRAY_COUNT(sLineSectionTrainer16Semifinal), ARRAY_COUNT(sLineSectionTrainer16Final)}, }; // code @@ -2261,11 +2091,11 @@ static void InitDomeChallenge(void) u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); - gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.challengeStatus = 0; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; - gSaveBlock2Ptr->frontier.field_CA9_a = 0; - gSaveBlock2Ptr->frontier.field_CA9_b = 0; - if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860D0EC[battleMode][lvlMode])) + gSaveBlock2Ptr->frontier.challengePaused = FALSE; + gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE; + if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode])) gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] = 0; SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); @@ -2279,63 +2109,63 @@ static void GetDomeData(void) switch (gSpecialVar_0x8005) { - case 0: + case DOME_DATA_WIN_STREAK: gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode]; break; - case 1: - gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860D0EC[battleMode][lvlMode]) != 0); + case DOME_DATA_WIN_STREAK_ACTIVE: + gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0); break; - case 2: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_0; + case DOME_DATA_ATTEMPTED_SINGLES_50: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeAttemptedSingles50; break; - case 3: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_1; + case DOME_DATA_ATTEMPTED_SINGLES_OPEN: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeAttemptedSinglesOpen; break; - case 4: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_2; + case DOME_DATA_HAS_WON_SINGLES_50: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeHasWonSingles50; break; - case 5: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_3; + case DOME_DATA_HAS_WON_SINGLES_OPEN: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeHasWonSinglesOpen; break; - case 6: + case DOME_DATA_ATTEMPTED_CHALLENGE: if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES) { - if (lvlMode) - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_5; + if (lvlMode != FRONTIER_LVL_50) + gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeAttemptedDoublesOpen; else - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_4; + gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeAttemptedDoubles50; } else { - if (lvlMode) - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_1; + if (lvlMode != FRONTIER_LVL_50) + gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeAttemptedSinglesOpen; else - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_0; + gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeAttemptedSingles50; } break; - case 7: + case DOME_DATA_HAS_WON_CHALLENGE: if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES) { - if (lvlMode) - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_7; + if (lvlMode != FRONTIER_LVL_50) + gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeHasWonDoublesOpen; else - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_6; + gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeHasWonDoubles50; } else { - if (lvlMode) - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_3; + if (lvlMode != FRONTIER_LVL_50) + gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeHasWonSinglesOpen; else - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_2; + gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeHasWonSingles50; } break; - case 8: - sub_81B8558(); - gSelectedOrderFromParty[0] = gSaveBlock2Ptr->frontier.field_CB0; - gSelectedOrderFromParty[1] = gSaveBlock2Ptr->frontier.field_CB0 >> 8; + case DOME_DATA_SELECTED_MONS: + ClearSelectedPartyOrder(); + gSelectedOrderFromParty[0] = gSaveBlock2Ptr->frontier.selectedPartyMons[3]; + gSelectedOrderFromParty[1] = gSaveBlock2Ptr->frontier.selectedPartyMons[3] >> 8; break; - case 9: - gSpecialVar_Result = (gSaveBlock2Ptr->frontier.field_D0A * 2) - 3 + gSaveBlock2Ptr->frontier.field_D0B; + case DOME_DATA_PREV_TOURNEY_TYPE: + gSpecialVar_Result = (gSaveBlock2Ptr->frontier.domeLvlMode * 2) - 3 + gSaveBlock2Ptr->frontier.domeBattleMode; break; } } @@ -2347,61 +2177,61 @@ static void SetDomeData(void) switch (gSpecialVar_0x8005) { - case 0: + case DOME_DATA_WIN_STREAK: gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006; break; - case 1: + case DOME_DATA_WIN_STREAK_ACTIVE: if (gSpecialVar_0x8006) - gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860D0EC[battleMode][lvlMode]; + gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode]; else - gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860D0FC[battleMode][lvlMode]; + gSaveBlock2Ptr->frontier.winStreakActiveFlags &= sWinStreakMasks[battleMode][lvlMode]; break; - case 2: - gSaveBlock2Ptr->frontier.field_D08_0 = gSpecialVar_0x8006; + case DOME_DATA_ATTEMPTED_SINGLES_50: + gSaveBlock2Ptr->frontier.domeAttemptedSingles50 = gSpecialVar_0x8006; break; - case 3: - gSaveBlock2Ptr->frontier.field_D08_1 = gSpecialVar_0x8006; + case DOME_DATA_ATTEMPTED_SINGLES_OPEN: + gSaveBlock2Ptr->frontier.domeAttemptedSinglesOpen = gSpecialVar_0x8006; break; - case 4: - gSaveBlock2Ptr->frontier.field_D08_2 = gSpecialVar_0x8006; + case DOME_DATA_HAS_WON_SINGLES_50: + gSaveBlock2Ptr->frontier.domeHasWonSingles50 = gSpecialVar_0x8006; break; - case 5: - gSaveBlock2Ptr->frontier.field_D08_3 = gSpecialVar_0x8006; + case DOME_DATA_HAS_WON_SINGLES_OPEN: + gSaveBlock2Ptr->frontier.domeHasWonSinglesOpen = gSpecialVar_0x8006; break; - case 6: + case DOME_DATA_ATTEMPTED_CHALLENGE: if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES) { - if (lvlMode) - gSaveBlock2Ptr->frontier.field_D08_5 = gSpecialVar_0x8006; + if (lvlMode != FRONTIER_LVL_50) + gSaveBlock2Ptr->frontier.domeAttemptedDoublesOpen = gSpecialVar_0x8006; else - gSaveBlock2Ptr->frontier.field_D08_4 = gSpecialVar_0x8006; + gSaveBlock2Ptr->frontier.domeAttemptedDoubles50 = gSpecialVar_0x8006; } else { - if (lvlMode) - gSaveBlock2Ptr->frontier.field_D08_1 = gSpecialVar_0x8006; + if (lvlMode != FRONTIER_LVL_50) + gSaveBlock2Ptr->frontier.domeAttemptedSinglesOpen = gSpecialVar_0x8006; else - gSaveBlock2Ptr->frontier.field_D08_0 = gSpecialVar_0x8006; + gSaveBlock2Ptr->frontier.domeAttemptedSingles50 = gSpecialVar_0x8006; } break; - case 7: + case DOME_DATA_HAS_WON_CHALLENGE: if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES) { - if (lvlMode) - gSaveBlock2Ptr->frontier.field_D08_7 = gSpecialVar_0x8006; + if (lvlMode != FRONTIER_LVL_50) + gSaveBlock2Ptr->frontier.domeHasWonDoublesOpen = gSpecialVar_0x8006; else - gSaveBlock2Ptr->frontier.field_D08_6 = gSpecialVar_0x8006; + gSaveBlock2Ptr->frontier.domeHasWonDoubles50 = gSpecialVar_0x8006; } else { - if (lvlMode) - gSaveBlock2Ptr->frontier.field_D08_3 = gSpecialVar_0x8006; + if (lvlMode != FRONTIER_LVL_50) + gSaveBlock2Ptr->frontier.domeHasWonSinglesOpen = gSpecialVar_0x8006; else - gSaveBlock2Ptr->frontier.field_D08_2 = gSpecialVar_0x8006; + gSaveBlock2Ptr->frontier.domeHasWonSingles50 = gSpecialVar_0x8006; } break; - case 8: - gSaveBlock2Ptr->frontier.field_CB0 = T1_READ_16(gSelectedOrderFromParty); + case DOME_DATA_SELECTED_MONS: + gSaveBlock2Ptr->frontier.selectedPartyMons[3] = T1_READ_16(gSelectedOrderFromParty); break; } } @@ -2410,108 +2240,118 @@ static void InitDomeTrainers(void) { int i, j, k; int monLevel; - int species[3]; + int species[FRONTIER_PARTY_SIZE]; int monTypesBits, monTypesCount; int trainerId; - int monSetId; - u16 *statSums; + int monId; + u16 *rankingScores; int *statValues; u8 ivs = 0; species[0] = 0; species[1] = 0; species[2] = 0; - statSums = AllocZeroed(sizeof(u16) * DOME_TOURNAMENT_TRAINERS_COUNT); - statValues = AllocZeroed(sizeof(int) * 6); + rankingScores = AllocZeroed(sizeof(u16) * DOME_TOURNAMENT_TRAINERS_COUNT); + statValues = AllocZeroed(sizeof(int) * NUM_STATS); - gSaveBlock2Ptr->frontier.field_D0A = gSaveBlock2Ptr->frontier.lvlMode + 1; - gSaveBlock2Ptr->frontier.field_D0B = VarGet(VAR_FRONTIER_BATTLE_MODE) + 1; - gSaveBlock2Ptr->frontier.domeTrainers[0].trainerId = TRAINER_PLAYER; - gSaveBlock2Ptr->frontier.domeTrainers[0].isEliminated = 0; - gSaveBlock2Ptr->frontier.domeTrainers[0].eliminatedAt = 0; - gSaveBlock2Ptr->frontier.domeTrainers[0].unk3 = 0; + gSaveBlock2Ptr->frontier.domeLvlMode = gSaveBlock2Ptr->frontier.lvlMode + 1; + gSaveBlock2Ptr->frontier.domeBattleMode = VarGet(VAR_FRONTIER_BATTLE_MODE) + 1; + DOME_TRAINERS[0].trainerId = TRAINER_PLAYER; + DOME_TRAINERS[0].isEliminated = FALSE; + DOME_TRAINERS[0].eliminatedAt = 0; + DOME_TRAINERS[0].forfeited = FALSE; - for (i = 0; i < 3; i++) + // Store the data used to display party information on the player's tourney page + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { - gSaveBlock2Ptr->frontier.domeMonIds[0][i] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_SPECIES, NULL); + DOME_MONS[0][i] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_SPECIES, NULL); for (j = 0; j < MAX_MON_MOVES; j++) - gSaveBlock2Ptr->frontier.field_EFC[i].moves[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_MOVE1 + j, NULL); - for (j = 0; j < 6; j++) - gSaveBlock2Ptr->frontier.field_EFC[i].evs[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_HP_EV + j, NULL); + gSaveBlock2Ptr->frontier.domePlayerPartyData[i].moves[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_MOVE1 + j, NULL); + for (j = 0; j < NUM_STATS; j++) + gSaveBlock2Ptr->frontier.domePlayerPartyData[i].evs[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_HP_EV + j, NULL); - gSaveBlock2Ptr->frontier.field_EFC[i].nature = GetNature(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1]); + gSaveBlock2Ptr->frontier.domePlayerPartyData[i].nature = GetNature(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1]); } + // Populate the tourney roster with random frontier trainers (dependent on streak) for (i = 1; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) { + // Choose trainer. First 5/16 trainers are easier than the rest if (i > 5) { do { - trainerId = sub_8162548(GetCurrentFacilityWinStreak(), 0); + trainerId = GetRandomScaledFrontierTrainerId(GetCurrentFacilityWinStreak(), 0); for (j = 1; j < i; j++) { - if (gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId == trainerId) + if (DOME_TRAINERS[j].trainerId == trainerId) break; } } while (j != i); - gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId = trainerId; + DOME_TRAINERS[i].trainerId = trainerId; } else { do { - trainerId = sub_8162548(GetCurrentFacilityWinStreak() + 1, 0); + trainerId = GetRandomScaledFrontierTrainerId(GetCurrentFacilityWinStreak() + 1, 0); for (j = 1; j < i; j++) { - if (gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId == trainerId) + if (DOME_TRAINERS[j].trainerId == trainerId) break; } } while (j != i); - gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId = trainerId; + DOME_TRAINERS[i].trainerId = trainerId; } - for (j = 0; j < 3; j++) + // Choose party + for (j = 0; j < FRONTIER_PARTY_SIZE; j++) { - // Make sure the mon is valid. do { - monSetId = RandomizeFacilityTrainerMonSet(trainerId); + monId = GetRandomFrontierMonFromSet(trainerId); for (k = 0; k < j; k++) { - int checkingMonSetId = gSaveBlock2Ptr->frontier.domeMonIds[i][k]; - if (checkingMonSetId == monSetId - || species[0] == gFacilityTrainerMons[monSetId].species - || species[1] == gFacilityTrainerMons[monSetId].species - || gFacilityTrainerMons[checkingMonSetId].itemTableId == gFacilityTrainerMons[monSetId].itemTableId) + // Make sure the mon is valid. + int alreadySelectedMonId = DOME_MONS[i][k]; + if (alreadySelectedMonId == monId + || species[0] == gFacilityTrainerMons[monId].species + || species[1] == gFacilityTrainerMons[monId].species + || gFacilityTrainerMons[alreadySelectedMonId].itemTableId == gFacilityTrainerMons[monId].itemTableId) break; } } while (k != j); - gSaveBlock2Ptr->frontier.domeMonIds[i][j] = monSetId; - species[j] = gFacilityTrainerMons[monSetId].species; + DOME_MONS[i][j] = monId; + species[j] = gFacilityTrainerMons[monId].species; } - gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated = 0; - gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt = 0; - gSaveBlock2Ptr->frontier.domeTrainers[i].unk3 = 0; + DOME_TRAINERS[i].isEliminated = FALSE; + DOME_TRAINERS[i].eliminatedAt = 0; + DOME_TRAINERS[i].forfeited = FALSE; } + // rankingScores is used to determine the seed (ranking) of the trainers + // rankingScores[0] is for the player, rankingScores[1-15] are for the opponent trainers + + // Calculate player's ranking score monTypesBits = 0; - statSums[0] = 0; - for (i = 0; i < 3; i++) + rankingScores[0] = 0; + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { - trainerId = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1; // Great variable choice, gamefreak. - statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_ATK, NULL); - statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_DEF, NULL); - statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPATK, NULL); - statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPDEF, NULL); - statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPEED, NULL); - statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_MAX_HP, NULL); + // trainerId var re-used here as index of selected mons + trainerId = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1; + rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_ATK, NULL); + rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_DEF, NULL); + rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPATK, NULL); + rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPDEF, NULL); + rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPEED, NULL); + rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_MAX_HP, NULL); monTypesBits |= gBitTable[gBaseStats[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].type1]; monTypesBits |= gBitTable[gBaseStats[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].type2]; } + // Count the number of types in the players party, to factor into the ranking for (monTypesCount = 0, j = 0; j < 32; j++) { if (monTypesBits & 1) @@ -2520,29 +2360,30 @@ static void InitDomeTrainers(void) } monLevel = SetFacilityPtrsGetLevel(); - statSums[0] += (monTypesCount * monLevel) / 20; + rankingScores[0] += (monTypesCount * monLevel) / 20; + // Calculate rankingScores for the opponent trainers for (i = 1; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) { monTypesBits = 0; - statSums[i] = 0; - ivs = GetDomeTrainerMonIvs(gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId); - for (j = 0; j < 3; j++) + rankingScores[i] = 0; + ivs = GetDomeTrainerMonIvs(DOME_TRAINERS[i].trainerId); + for (j = 0; j < FRONTIER_PARTY_SIZE; j++) { - CalcDomeMonStats(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species, + CalcDomeMonStats(gFacilityTrainerMons[DOME_MONS[i][j]].species, monLevel, ivs, - gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].evSpread, - gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].nature, + gFacilityTrainerMons[DOME_MONS[i][j]].evSpread, + gFacilityTrainerMons[DOME_MONS[i][j]].nature, statValues); - statSums[i] += statValues[STAT_ATK]; - statSums[i] += statValues[STAT_DEF]; - statSums[i] += statValues[STAT_SPATK]; - statSums[i] += statValues[STAT_SPDEF]; - statSums[i] += statValues[STAT_SPEED]; - statSums[i] += statValues[STAT_HP]; - monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species].type1]; - monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species].type2]; + rankingScores[i] += statValues[STAT_ATK]; + rankingScores[i] += statValues[STAT_DEF]; + rankingScores[i] += statValues[STAT_SPATK]; + rankingScores[i] += statValues[STAT_SPDEF]; + rankingScores[i] += statValues[STAT_SPEED]; + rankingScores[i] += statValues[STAT_HP]; + monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[DOME_MONS[i][j]].species].type1]; + monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[DOME_MONS[i][j]].species].type2]; } for (monTypesCount = 0, j = 0; j < 32; j++) @@ -2551,54 +2392,56 @@ static void InitDomeTrainers(void) monTypesCount++; monTypesBits >>= 1; } - statSums[i] += (monTypesCount * monLevel) / 20; + rankingScores[i] += (monTypesCount * monLevel) / 20; } + // Seed tourney trainers according to their ranking for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT - 1; i++) { for (j = i + 1; j < DOME_TOURNAMENT_TRAINERS_COUNT; j++) { - if (statSums[i] < statSums[j]) + if (rankingScores[i] < rankingScores[j]) { - SwapDomeTrainers(i, j, statSums); + SwapDomeTrainers(i, j, rankingScores); } else { - if (statSums[i] == statSums[j]) + if (rankingScores[i] == rankingScores[j]) { - if (gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId == TRAINER_PLAYER) - SwapDomeTrainers(i, j, statSums); - else if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId > gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId) - SwapDomeTrainers(i, j, statSums); + if (DOME_TRAINERS[j].trainerId == TRAINER_PLAYER) + SwapDomeTrainers(i, j, rankingScores); + else if (DOME_TRAINERS[i].trainerId > DOME_TRAINERS[j].trainerId) + SwapDomeTrainers(i, j, rankingScores); } } } } - if (sub_81A3610()) + // Add Frontier Brain to the tourney if they should be fought at the end of it + if (GetFrontierBrainStatus() != FRONTIER_BRAIN_NOT_READY) { for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) { - if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == TRAINER_PLAYER) + if (DOME_TRAINERS[i].trainerId == TRAINER_PLAYER) break; } - if (gUnknown_0860D3F1[i][0] != 0) + if (sTrainerNamePositions[i][0] != 0) { j = 0; - gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId = TRAINER_FRONTIER_BRAIN; + DOME_TRAINERS[j].trainerId = TRAINER_FRONTIER_BRAIN; } else { j = 1; - gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId = TRAINER_FRONTIER_BRAIN; + DOME_TRAINERS[j].trainerId = TRAINER_FRONTIER_BRAIN; } - for (i = 0; i < 3; i++) - gSaveBlock2Ptr->frontier.domeMonIds[j][i] = GetFrontierBrainMonSpecies(i); + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) + DOME_MONS[j][i] = GetFrontierBrainMonSpecies(i); } - Free(statSums); + Free(rankingScores); Free(statValues); } @@ -2654,10 +2497,10 @@ static void SwapDomeTrainers(int id1, int id2, u16 *statsArray) u16 temp; SWAP(statsArray[id1], statsArray[id2], temp); - SWAP(gSaveBlock2Ptr->frontier.domeTrainers[id1].trainerId, gSaveBlock2Ptr->frontier.domeTrainers[id2].trainerId, temp); + SWAP(DOME_TRAINERS[id1].trainerId, DOME_TRAINERS[id2].trainerId, temp); - for (i = 0; i < 3; i++) - SWAP(gSaveBlock2Ptr->frontier.domeMonIds[id1][i], gSaveBlock2Ptr->frontier.domeMonIds[id2][i], temp); + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) + SWAP(DOME_MONS[id1][i], DOME_MONS[id2][i], temp); } static void BufferDomeRoundText(void) @@ -2673,9 +2516,9 @@ static void BufferDomeOpponentName(void) static void InitDomeOpponentParty(void) { - gUnknown_0203CD70 = 0; - gUnknown_0203CD74 = GetMonData(&gPlayerParty[0], MON_DATA_MAX_HP, NULL); - gUnknown_0203CD74 += GetMonData(&gPlayerParty[1], MON_DATA_MAX_HP, NULL); + gPlayerPartyLostHP = 0; + sPlayerPartyMaxHP = GetMonData(&gPlayerParty[0], MON_DATA_MAX_HP, NULL); + sPlayerPartyMaxHP += GetMonData(&gPlayerParty[1], MON_DATA_MAX_HP, NULL); CalculatePlayerPartyCount(); CreateDomeOpponentMons(TrainerIdToTournamentId(gTrainerBattleOpponent_A)); } @@ -2683,160 +2526,168 @@ static void InitDomeOpponentParty(void) static void CreateDomeOpponentMon(u8 monPartyId, u16 tournamentTrainerId, u8 tournamentMonId, u32 otId) { int i; - u8 happiness = 0xFF; - u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // BUG: Should be using trainerId instead of tournamentTrainerId. As a result, all Pokemon have ivs of 3. + u8 friendship = MAX_FRIENDSHIP; + u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // BUG: Should be using (DOME_TRAINERS[tournamentTrainerId].trainerId) instead of (tournamentTrainerId). As a result, all Pokemon have ivs of 3. u8 level = SetFacilityPtrsGetLevel(); CreateMonWithEVSpreadNatureOTID(&gEnemyParty[monPartyId], - gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].species, + gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][tournamentMonId]].species, level, - gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].nature, + gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][tournamentMonId]].nature, fixedIv, - gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].evSpread, otId); + gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][tournamentMonId]].evSpread, otId); - happiness = 0xFF; + friendship = MAX_FRIENDSHIP; for (i = 0; i < MAX_MON_MOVES; i++) { SetMonMoveSlot(&gEnemyParty[monPartyId], - gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].moves[i], i); - if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].moves[i] == MOVE_FRUSTRATION) - happiness = 0; + gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][tournamentMonId]].moves[i], i); + if (gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][tournamentMonId]].moves[i] == MOVE_FRUSTRATION) + friendship = 0; } - SetMonData(&gEnemyParty[monPartyId], MON_DATA_FRIENDSHIP, &happiness); + SetMonData(&gEnemyParty[monPartyId], MON_DATA_FRIENDSHIP, &friendship); SetMonData(&gEnemyParty[monPartyId], MON_DATA_HELD_ITEM, - &gBattleFrontierHeldItems[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].itemTableId]); + &gBattleFrontierHeldItems[gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][tournamentMonId]].itemTableId]); } static void CreateDomeOpponentMons(u16 tournamentTrainerId) { u8 monsCount = 0; u32 otId = 0; - int i, bits; + int i, selectedMonBits; ZeroEnemyPartyMons(); - bits = GetDomeTrainerMonCountInBits(tournamentTrainerId); + selectedMonBits = GetDomeTrainerSelectedMons(tournamentTrainerId); otId = Random32(); + if (Random() % 10 > 5) { - for (i = 0; i < 3; i++) + // Create mon if it was selected, starting from front + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { - if (bits & 1) + if (selectedMonBits & 1) { CreateDomeOpponentMon(monsCount, tournamentTrainerId, i, otId); monsCount++; } - bits >>= 1; + selectedMonBits >>= 1; } } else { - for (i = 2; i >= 0; i--) + // Create mon if it was selected, starting from back + for (i = FRONTIER_PARTY_SIZE - 1; i >= 0; i--) { - if (bits & 4) + if (selectedMonBits & 4) { CreateDomeOpponentMon(monsCount, tournamentTrainerId, i, otId); monsCount++; } - bits <<= 1; + selectedMonBits <<= 1; } } } -int GetDomeTrainerMonCountInBits(u16 tournamentTrainerId) +int GetDomeTrainerSelectedMons(u16 tournamentTrainerId) { - int bits; + int selectedMonBits; if (Random() & 1) { - bits = sub_818FCBC(tournamentTrainerId, FALSE); - if (bits == 0) - bits = sub_818FDB8(tournamentTrainerId, TRUE); + selectedMonBits = SelectOpponentMonsUsingPersonality(tournamentTrainerId, FALSE); + if (selectedMonBits == 0) + selectedMonBits = SelectOpponentMonsUsingOtId(tournamentTrainerId, TRUE); } else { - bits = sub_818FDB8(tournamentTrainerId, FALSE); - if (bits == 0) - bits = sub_818FCBC(tournamentTrainerId, TRUE); + selectedMonBits = SelectOpponentMonsUsingOtId(tournamentTrainerId, FALSE); + if (selectedMonBits == 0) + selectedMonBits = SelectOpponentMonsUsingPersonality(tournamentTrainerId, TRUE); } - return bits; + return selectedMonBits; } -static int sub_818FCBC(u16 tournamentTrainerId, bool8 arg1) +// Could probably use a better name once GetTypeEffectivenessPoints is clarified +// Personality seems to be used to select a different weighting system for type effectiveness points +static int SelectOpponentMonsUsingPersonality(u16 tournamentTrainerId, bool8 allowRandom) { int i, moveId, playerMonId; - int array[3]; + int partyMovePoints[FRONTIER_PARTY_SIZE]; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { - array[i] = 0; + partyMovePoints[i] = 0; for (moveId = 0; moveId < MAX_MON_MOVES; moveId++) { - for (playerMonId = 0; playerMonId < 3; playerMonId++) + for (playerMonId = 0; playerMonId < FRONTIER_PARTY_SIZE; playerMonId++) { - if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN) + if (DOME_TRAINERS[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN) { - array[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId), - GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 0); + partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId), + GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), MON_DATA_PERSONALITY); } else { - array[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][i]].moves[moveId], - GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 0); + partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveId], + GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), MON_DATA_PERSONALITY); } } } } - return sub_818FEB4(array, arg1); + return SelectOpponentMonsFromParty(partyMovePoints, allowRandom); } -static int sub_818FDB8(u16 tournamentTrainerId, bool8 arg1) +// See above function, identical but uses MON_DATA_OT_ID +static int SelectOpponentMonsUsingOtId(u16 tournamentTrainerId, bool8 allowRandom) { int i, moveId, playerMonId; - int array[3]; + int partyMovePoints[FRONTIER_PARTY_SIZE]; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { - array[i] = 0; + partyMovePoints[i] = 0; for (moveId = 0; moveId < MAX_MON_MOVES; moveId++) { - for (playerMonId = 0; playerMonId < 3; playerMonId++) + for (playerMonId = 0; playerMonId < FRONTIER_PARTY_SIZE; playerMonId++) { - if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN) + if (DOME_TRAINERS[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN) { - array[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId), - GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 1); + partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId), + GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), MON_DATA_OT_ID); } else { - array[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][i]].moves[moveId], - GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 1); + partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveId], + GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), MON_DATA_OT_ID); } } } } - return sub_818FEB4(array, arg1); + return SelectOpponentMonsFromParty(partyMovePoints, allowRandom); } -static int sub_818FEB4(int *arr, bool8 arg1) +static int SelectOpponentMonsFromParty(int *partyMovePoints, bool8 allowRandom) { int i, j; - int bits = 0; - int array[3]; + int selectedMonBits = 0; + int partyPositions[FRONTIER_PARTY_SIZE]; - for (i = 0; i < 3; i++) - array[i] = i; + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) + partyPositions[i] = i; - if (arr[0] == arr[1] && arr[0] == arr[2]) + // All party mons have equal move score totals, choose randomly + if (partyMovePoints[0] == partyMovePoints[1] + && partyMovePoints[0] == partyMovePoints[2]) { - if (arg1) + if (allowRandom) { i = 0; - while (i != 2) + while (i != DOME_BATTLE_PARTY_SIZE) { - u32 rand = Random() & 3; - if (rand != 3 && !(bits & gBitTable[rand])) + u32 rand = Random() & FRONTIER_PARTY_SIZE; + if (rand != FRONTIER_PARTY_SIZE && !(selectedMonBits & gBitTable[rand])) { - bits |= gBitTable[rand]; + selectedMonBits |= gBitTable[rand]; i++; } } @@ -2844,43 +2695,33 @@ static int sub_818FEB4(int *arr, bool8 arg1) } else { - for (i = 0; i < 2; i++) + for (i = 0; i < DOME_BATTLE_PARTY_SIZE; i++) { - for (j = i + 1; j < 3; j++) + for (j = i + 1; j < FRONTIER_PARTY_SIZE; j++) { int temp; - if (arr[i] < arr[j]) + if (partyMovePoints[i] < partyMovePoints[j]) { - temp = arr[i]; - arr[i] = arr[j]; - arr[j] = temp; - - temp = array[i]; - array[i] = array[j]; - array[j] = temp; + SWAP(partyMovePoints[i], partyMovePoints[j],temp) + SWAP(partyPositions[i], partyPositions[j], temp) } - if (arr[i] == arr[j] && (Random() & 1)) + if (partyMovePoints[i] == partyMovePoints[j] && (Random() & 1)) { - temp = arr[i]; - arr[i] = arr[j]; - arr[j] = temp; - - temp = array[i]; - array[i] = array[j]; - array[j] = temp; + SWAP(partyMovePoints[i], partyMovePoints[j],temp) + SWAP(partyPositions[i], partyPositions[j], temp) } } } - for (i = 0; i < 2; i++) + for (i = 0; i < DOME_BATTLE_PARTY_SIZE; i++) { - bits |= gBitTable[array[i]]; + selectedMonBits |= gBitTable[partyPositions[i]]; } } - return bits; + return selectedMonBits; } #define TYPE_x0 0 @@ -2891,6 +2732,7 @@ static int sub_818FEB4(int *arr, bool8 arg1) #define TYPE_x4 80 // Functionally equivalent, while loop is impossible to match. +// arg2 is either 2, a personality, or an OTID #ifdef NONMATCHING static int GetTypeEffectivenessPoints(int move, int targetSpecies, int arg2) { @@ -2913,25 +2755,22 @@ static int GetTypeEffectivenessPoints(int move, int targetSpecies, int arg2) } else { - while (gTypeEffectiveness[i + 0] != TYPE_ENDTABLE) + while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE) { - if (gTypeEffectiveness[i + 0] == TYPE_FORESIGHT) + if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT) { i += 3; + continue; } - else + else if (TYPE_EFFECT_ATK_TYPE(i) == moveType) { - u8 val = gTypeEffectiveness[i + 0]; - if (val == moveType) - { - // BUG: * 2 is not necessary and makes the condition always false if the ability is wonder guard. - if (gTypeEffectiveness[i + 1] == defType1 && (defAbility != ABILITY_WONDER_GUARD || gTypeEffectiveness[i + 2] == TYPE_MUL_SUPER_EFFECTIVE * 2)) - typePower = (gTypeEffectiveness[i + 2] * typePower) / 10; - if (gTypeEffectiveness[i + 1] == defType2 && defType1 != defType2 && (defAbility != ABILITY_WONDER_GUARD || gTypeEffectiveness[i + 2] == TYPE_MUL_SUPER_EFFECTIVE * 2)) - typePower = (gTypeEffectiveness[i + 2] * typePower) / 10; - } - i += 3; + // BUG: * 2 is not necessary and makes the condition always false if the ability is wonder guard. + if (TYPE_EFFECT_DEF_TYPE(i) == defType1 && (defAbility != ABILITY_WONDER_GUARD || TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE * 2)) + typePower = (typePower * TYPE_EFFECT_MULTIPLIER(i)) / 10; + if (TYPE_EFFECT_DEF_TYPE(i) == defType2 && defType1 != defType2 && (defAbility != ABILITY_WONDER_GUARD || TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE * 2)) + typePower = (typePower * TYPE_EFFECT_MULTIPLIER(i)) / 10; } + i += 3; } } @@ -2940,19 +2779,19 @@ static int GetTypeEffectivenessPoints(int move, int targetSpecies, int arg2) case 0: switch (typePower) { - case 10: - case 5: - case 0: + case TYPE_x0_50: + case TYPE_x0_25: + case TYPE_x0: default: typePower = 0; break; - case 20: + case TYPE_x1: typePower = 2; break; - case 40: + case TYPE_x2: typePower = 4; break; - case 80: + case TYPE_x4: typePower = 8; break; } @@ -2961,22 +2800,22 @@ static int GetTypeEffectivenessPoints(int move, int targetSpecies, int arg2) switch (typePower) { default: - case 20: + case TYPE_x1: typePower = 0; break; - case 5: + case TYPE_x0_25: typePower = 4; break; - case 0: + case TYPE_x0: typePower = 8; break; - case 10: + case TYPE_x0_50: typePower = 2; break; - case 40: + case TYPE_x2: typePower = -2; break; - case 80: + case TYPE_x4: typePower = -4; break; } @@ -3251,24 +3090,28 @@ _08190156:\n\ } #endif // NONMATCHING +// Duplicate of GetFrontierTrainerFixedIvs +// NOTE: In CreateDomeOpponentMon a tournament trainer ID (0-15) is passed instead, resulting in all IVs of 3 +// To fix, see CreateDomeOpponentMon static u8 GetDomeTrainerMonIvs(u16 trainerId) { u8 fixedIv; - if (trainerId <= 99) + + if (trainerId <= FRONTIER_TRAINER_JILL) // 0 - 99 fixedIv = 3; - else if (trainerId <= 119) + else if (trainerId <= FRONTIER_TRAINER_CHLOE) // 100 - 119 fixedIv = 6; - else if (trainerId <= 139) + else if (trainerId <= FRONTIER_TRAINER_SOFIA) // 120 - 139 fixedIv = 9; - else if (trainerId <= 159) + else if (trainerId <= FRONTIER_TRAINER_JAZLYN) // 140 - 159 fixedIv = 12; - else if (trainerId <= 179) + else if (trainerId <= FRONTIER_TRAINER_ALISON) // 160 - 179 fixedIv = 15; - else if (trainerId <= 199) + else if (trainerId <= FRONTIER_TRAINER_LAMAR) // 180 - 199 fixedIv = 18; - else if (trainerId <= 219) + else if (trainerId <= FRONTIER_TRAINER_TESS) // 200 - 219 fixedIv = 21; - else + else // 220+ (- 299) fixedIv = 31; return fixedIv; @@ -3276,38 +3119,41 @@ static u8 GetDomeTrainerMonIvs(u16 trainerId) static int TournamentIdOfOpponent(int roundId, int trainerId) { - int i, j, val; + int i, j, opponentMax; + // Get trainer's tournament id for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) { - if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == trainerId) + if (DOME_TRAINERS[i].trainerId == trainerId) break; } + // Get trainer's opponent's tournament id if (roundId != DOME_ROUND1) { if (roundId == DOME_FINAL) - val = sIdToOpponentId[i][roundId] + 8; + opponentMax = sIdToOpponentId[i][roundId] + 8; else - val = sIdToOpponentId[i][roundId] + 4; + opponentMax = sIdToOpponentId[i][roundId] + 4; - for (j = sIdToOpponentId[i][roundId]; j < val; j++) + // Get first non-eliminated trainer in range of possible opponents + for (j = sIdToOpponentId[i][roundId]; j < opponentMax; j++) { - if (gUnknown_0860D14C[j] != i && !gSaveBlock2Ptr->frontier.domeTrainers[gUnknown_0860D14C[j]].isEliminated) + if (sTourneyTreeTrainerOpponentIds[j] != i && !DOME_TRAINERS[sTourneyTreeTrainerOpponentIds[j]].isEliminated) break; } - if (j != val) - return gUnknown_0860D14C[j]; + if (j != opponentMax) + return sTourneyTreeTrainerOpponentIds[j]; else - return 0xFF; + return 0xFF; // Already eliminated } else { - if (!gSaveBlock2Ptr->frontier.domeTrainers[sIdToOpponentId[i][roundId]].isEliminated) + if (!DOME_TRAINERS[sIdToOpponentId[i][roundId]].isEliminated) return sIdToOpponentId[i][roundId]; else - return 0xFF; + return 0xFF; // Already eliminated } } @@ -3316,9 +3162,10 @@ static void SetDomeOpponentId(void) gTrainerBattleOpponent_A = TrainerIdOfPlayerOpponent(); } +// While not an issue in-game, this will overflow if called after the player's opponent for the current round has been eliminated static u16 TrainerIdOfPlayerOpponent(void) { - return gSaveBlock2Ptr->frontier.domeTrainers[TournamentIdOfOpponent(gSaveBlock2Ptr->frontier.curChallengeBattleNum, TRAINER_PLAYER)].trainerId; + return DOME_TRAINERS[TournamentIdOfOpponent(gSaveBlock2Ptr->frontier.curChallengeBattleNum, TRAINER_PLAYER)].trainerId; } static void SetDomeOpponentGraphicsId(void) @@ -3326,15 +3173,15 @@ static void SetDomeOpponentGraphicsId(void) SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0); } -static void sub_81902F8(void) +static void SaveDomeChallenge(void) { - gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; + gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_0, 0); - gSaveBlock2Ptr->frontier.field_CA9_a = 1; - sub_81A4C30(); + gSaveBlock2Ptr->frontier.challengePaused = TRUE; + SaveGameFrontier(); } -static void UpdateDomeStreaks(void) +static void IncrementDomeStreaks(void) { u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); @@ -3348,25 +3195,27 @@ static void UpdateDomeStreaks(void) gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode]; } +// For showing the opponent info card of the upcoming trainer static void ShowDomeOpponentInfo(void) { - u8 taskId = CreateTask(Task_ShowOpponentInfo, 0); - gTasks[taskId].data[0] = 0; - gTasks[taskId].data[1] = TrainerIdToTournamentId(TrainerIdOfPlayerOpponent()); - gTasks[taskId].data[2] = 0; - gTasks[taskId].data[3] = 0; + u8 taskId = CreateTask(Task_ShowTourneyInfoCard, 0); + gTasks[taskId].tState = 0; + gTasks[taskId].tTournamentId = TrainerIdToTournamentId(TrainerIdOfPlayerOpponent()); + gTasks[taskId].tMode = INFOCARD_NEXT_OPPONENT; + gTasks[taskId].tPrevTaskId = 0; - SetMainCallback2(CB2_BattleDome); + SetMainCallback2(CB2_TourneyTree); } -static void Task_ShowOpponentInfo(u8 taskId) +// For showing the opponent info card or the match info card +static void Task_ShowTourneyInfoCard(u8 taskId) { int i; - int r5 = gTasks[taskId].data[1]; - int r9 = gTasks[taskId].data[2]; - int r7 = gTasks[taskId].data[3]; + int tournamentId = gTasks[taskId].tTournamentId; + int mode = gTasks[taskId].tMode; + int id = gTasks[taskId].tPrevTaskId; - switch (gTasks[taskId].data[0]) + switch (gTasks[taskId].tState) { case 0: SetHBlankCallback(NULL); @@ -3374,8 +3223,8 @@ static void Task_ShowOpponentInfo(u8 taskId) EnableInterrupts(INTR_FLAG_VBLANK); CpuFill32(0, (void *)VRAM, VRAM_SIZE); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_0860CE84, ARRAY_COUNT(gUnknown_0860CE84)); - InitWindows(gUnknown_0860CEB4); + InitBgsFromTemplates(0, sInfoCardBgTemplates, ARRAY_COUNT(sInfoCardBgTemplates)); + InitWindows(sInfoCardWindowTemplates); DeactivateAllTextPrinters(); gBattle_BG0_X = 0; gBattle_BG0_Y = 0; @@ -3383,12 +3232,12 @@ static void Task_ShowOpponentInfo(u8 taskId) gBattle_BG1_Y = 0; gBattle_BG3_X = 0; gBattle_BG3_Y = 0; - if (r9 == 2) + if (mode == INFOCARD_MATCH) gBattle_BG2_X = 0, gBattle_BG2_Y = 0; else gBattle_BG2_X = 0, gBattle_BG2_Y = 160; - gTasks[taskId].data[0]++; + gTasks[taskId].tState++; break; case 1: SetGpuReg(REG_OFFSET_BLDCNT, 0); @@ -3400,72 +3249,76 @@ static void Task_ShowOpponentInfo(u8 taskId) SetGpuReg(REG_OFFSET_WIN1H, 0); SetGpuReg(REG_OFFSET_WIN1V, 0); SetGpuReg(REG_OFFSET_WININ, 0); - SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); ResetPaletteFade(); ResetSpriteData(); FreeAllSpritePalettes(); gReservedSpritePaletteCount = 4; - gTasks[taskId].data[0]++; + gTasks[taskId].tState++; break; case 2: - DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D83D50, 0x2000, 0, 0); - DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D84970, 0x2000, 0, 1); - DecompressAndLoadBgGfxUsingHeap(3, gUnknown_08D84F00, 0x800, 0, 1); - LoadCompressedSpriteSheet(sDomeOptionsSpriteSheet); - LoadCompressedPalette(gUnknown_08D85358, 0, 0x200); - LoadCompressedPalette(gUnknown_08D85444, 0x100, 0x200); - LoadCompressedPalette(gUnknown_08D85600, 0xF0, 0x20); - if (r9 == 2) - LoadCompressedPalette(gUnknown_08D854C8, 0x50, 0x20); + DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyInfoCard_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyInfoCard_Tilemap, 0x2000, 0, 1); + DecompressAndLoadBgGfxUsingHeap(3, gDomeTourneyInfoCardBg_Tilemap, 0x800, 0, 1); + LoadCompressedSpriteSheet(sTourneyTreeButtonsSpriteSheet); + LoadCompressedPalette(gDomeTourneyTree_Pal, 0, 0x200); + LoadCompressedPalette(gDomeTourneyTreeButtons_Pal, 0x100, 0x200); + LoadCompressedPalette(gBattleWindowTextPalette, 0xF0, 0x20); + if (mode == INFOCARD_MATCH) + LoadCompressedPalette(gDomeTourneyMatchCardBg_Pal, 0x50, 0x20); // Changes the moving info card bg to orange when in match card mode CpuFill32(0, gPlttBufferFaded, 0x400); ShowBg(0); ShowBg(1); ShowBg(2); ShowBg(3); - gTasks[taskId].data[0]++; + gTasks[taskId].tState++; break; case 3: - SetVBlankCallback(VblankCb0_BattleDome); - sBattleDomeStruct = AllocZeroed(sizeof(*sBattleDomeStruct)); - for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) - sBattleDomeStruct->arr[i] = 0xFF; + SetVBlankCallback(VblankCb_TourneyInfoCard); + sInfoCard = AllocZeroed(sizeof(*sInfoCard)); + for (i = 0; i < NUM_INFOCARD_SPRITES; i++) + sInfoCard->spriteIds[i] = 0xFF; LoadMonIconPalettes(); - i = CreateTask(sub_8190CD4, 0); + i = CreateTask(Task_HandleInfoCardInput, 0); gTasks[i].data[0] = 0; gTasks[i].data[2] = 0; - gTasks[i].data[3] = r9; - gTasks[i].data[4] = r7; - if (r9 == 2) + gTasks[i].data[3] = mode; + gTasks[i].data[4] = id; + if (mode == INFOCARD_MATCH) { - DisplayMatchInfoOnCard(0, r5); - sBattleDomeStruct->unk_10 = 1; + DisplayMatchInfoOnCard(0, tournamentId); + sInfoCard->pos = 1; } else { - DisplayTrainerInfoOnCard(0, r5); + DisplayTrainerInfoOnCard(0, tournamentId); } SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP); - if (r9 != 0) + if (mode != INFOCARD_NEXT_OPPONENT) { - r7 = CreateSprite(&gUnknown_0860D068, 120, 4, 0); - StartSpriteAnim(&gSprites[r7], 0); - gSprites[r7].data[0] = i; + // Scroll up arrow + id = CreateSprite(&sVerticalScrollArrowSpriteTemplate, 120, 4, 0); + StartSpriteAnim(&gSprites[id], 0); + gSprites[id].data[0] = i; - r7 = CreateSprite(&gUnknown_0860D068, 120, 156, 0); - StartSpriteAnim(&gSprites[r7], 1); - gSprites[r7].data[0] = i; + // Scroll down arrow + id = CreateSprite(&sVerticalScrollArrowSpriteTemplate, 120, 156, 0); + StartSpriteAnim(&gSprites[id], 1); + gSprites[id].data[0] = i; - r7 = CreateSprite(&gUnknown_0860D050, 6, 80, 0); - StartSpriteAnim(&gSprites[r7], 0); - gSprites[r7].data[0] = i; - gSprites[r7].data[1] = 0; - if (r9 == 1) - gSprites[r7].invisible = TRUE; + // Scroll left arrow + id = CreateSprite(&sHorizontalScrollArrowSpriteTemplate, 6, 80, 0); + StartSpriteAnim(&gSprites[id], 0); + gSprites[id].data[0] = i; + gSprites[id].data[1] = 0; + if (mode == INFOCARD_TRAINER) + gSprites[id].invisible = TRUE; - r7 = CreateSprite(&gUnknown_0860D050, 234, 80, 0); - StartSpriteAnim(&gSprites[r7], 1); - gSprites[r7].data[0] = i; - gSprites[r7].data[1] = 1; + // Scroll right arrow + id = CreateSprite(&sHorizontalScrollArrowSpriteTemplate, 234, 80, 0); + StartSpriteAnim(&gSprites[id], 1); + gSprites[id].data[0] = i; + gSprites[id].data[1] = 1; } DestroyTask(taskId); break; @@ -3475,7 +3328,6 @@ static void Task_ShowOpponentInfo(u8 taskId) // Note: Card scrolling up means the current card goes down and another one appears from top. // The same is true for scrolling left. // That means that the sprite needs to move with the moving card in the opposite scrolling direction. - static void SpriteCb_TrainerIconCardScrollUp(struct Sprite *sprite) { sprite->pos1.y += 4; @@ -3490,7 +3342,7 @@ static void SpriteCb_TrainerIconCardScrollUp(struct Sprite *sprite) { if (sprite->pos1.y >= 192) { - sBattleDomeStruct->arr[sprite->data[2]] = 0xFF; + sInfoCard->spriteIds[sprite->data[2]] = 0xFF; FreeAndDestroyTrainerPicSprite(sprite->data[3]); } } @@ -3510,7 +3362,7 @@ static void SpriteCb_TrainerIconCardScrollDown(struct Sprite *sprite) { if (sprite->pos1.y <= -32) { - sBattleDomeStruct->arr[sprite->data[2]] = 0xFF; + sInfoCard->spriteIds[sprite->data[2]] = 0xFF; FreeAndDestroyTrainerPicSprite(sprite->data[3]); } } @@ -3530,7 +3382,7 @@ static void SpriteCb_TrainerIconCardScrollLeft(struct Sprite *sprite) { if (sprite->pos1.x >= 272) { - sBattleDomeStruct->arr[sprite->data[2]] = 0xFF; + sInfoCard->spriteIds[sprite->data[2]] = 0xFF; FreeAndDestroyTrainerPicSprite(sprite->data[3]); } } @@ -3550,7 +3402,7 @@ static void SpriteCb_TrainerIconCardScrollRight(struct Sprite *sprite) { if (sprite->pos1.x <= -32) { - sBattleDomeStruct->arr[sprite->data[2]] = 0xFF; + sInfoCard->spriteIds[sprite->data[2]] = 0xFF; FreeAndDestroyTrainerPicSprite(sprite->data[3]); } } @@ -3580,8 +3432,8 @@ static void SpriteCb_MonIconCardScrollUp(struct Sprite *sprite) { if (sprite->pos1.y >= 176) { - sBattleDomeStruct->arr[sprite->data[2]] = 0xFF; - sub_80D2EF8(sprite); + sInfoCard->spriteIds[sprite->data[2]] = 0xFF; + FreeAndDestroyMonIconSprite(sprite); } } } @@ -3602,8 +3454,8 @@ static void SpriteCb_MonIconCardScrollDown(struct Sprite *sprite) { if (sprite->pos1.y <= -16) { - sBattleDomeStruct->arr[sprite->data[2]] = 0xFF; - sub_80D2EF8(sprite); + sInfoCard->spriteIds[sprite->data[2]] = 0xFF; + FreeAndDestroyMonIconSprite(sprite); } } } @@ -3624,8 +3476,8 @@ static void SpriteCb_MonIconCardScrollLeft(struct Sprite *sprite) { if (sprite->pos1.x >= 256) { - sBattleDomeStruct->arr[sprite->data[2]] = 0xFF; - sub_80D2EF8(sprite); + sInfoCard->spriteIds[sprite->data[2]] = 0xFF; + FreeAndDestroyMonIconSprite(sprite); } } } @@ -3646,13 +3498,13 @@ static void SpriteCb_MonIconCardScrollRight(struct Sprite *sprite) { if (sprite->pos1.x <= -16) { - sBattleDomeStruct->arr[sprite->data[2]] = 0xFF; - sub_80D2EF8(sprite); + sInfoCard->spriteIds[sprite->data[2]] = 0xFF; + FreeAndDestroyMonIconSprite(sprite); } } } -static void sub_8190B40(struct Sprite *sprite) +static void SpriteCb_HorizontalScrollArrow(struct Sprite *sprite) { int taskId1 = sprite->data[0]; int arrId = gTasks[gTasks[taskId1].data[4]].data[1]; @@ -3663,13 +3515,13 @@ static void sub_8190B40(struct Sprite *sprite) { if (sprite->data[1]) { - if ((gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].isEliminated - && sBattleDomeStruct->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].eliminatedAt)) + if ((DOME_TRAINERS[tournmanetTrainerId].isEliminated + && sInfoCard->pos - 1 < DOME_TRAINERS[tournmanetTrainerId].eliminatedAt)) { sprite->invisible = FALSE; } - else if (!gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].isEliminated - && sBattleDomeStruct->unk_10 - 1 < roundId) + else if (!DOME_TRAINERS[tournmanetTrainerId].isEliminated + && sInfoCard->pos - 1 < roundId) { sprite->invisible = FALSE; } @@ -3681,7 +3533,7 @@ static void sub_8190B40(struct Sprite *sprite) } else { - if (sBattleDomeStruct->unk_10 != 0) + if (sInfoCard->pos != 0) { sprite->invisible = FALSE; } @@ -3696,7 +3548,7 @@ static void sub_8190B40(struct Sprite *sprite) { if (sprite->data[1]) { - if (sBattleDomeStruct->unk_10 > 1) + if (sInfoCard->pos > 1) { if (gTasks[taskId1].data[0] == 2) sprite->invisible = TRUE; @@ -3708,7 +3560,7 @@ static void sub_8190B40(struct Sprite *sprite) } else { - if (sBattleDomeStruct->unk_10 != 0) + if (sInfoCard->pos != 0) { sprite->invisible = FALSE; } @@ -3721,13 +3573,13 @@ static void sub_8190B40(struct Sprite *sprite) } } -static void sub_8190C6C(struct Sprite *sprite) +static void SpriteCb_VerticalScrollArrow(struct Sprite *sprite) { int taskId1 = sprite->data[0]; if (gTasks[taskId1].data[3] == 1) { - if (sBattleDomeStruct->unk_10 != 0) + if (sInfoCard->pos != 0) { if (gTasks[taskId1].data[0] == 2) sprite->invisible = TRUE; @@ -3739,7 +3591,7 @@ static void sub_8190C6C(struct Sprite *sprite) } else { - if (sBattleDomeStruct->unk_10 != 1) + if (sInfoCard->pos != 1) { if (gTasks[taskId1].data[0] == 2) sprite->invisible = TRUE; @@ -3751,39 +3603,53 @@ static void sub_8190C6C(struct Sprite *sprite) } } -static void sub_8190CD4(u8 taskId) +// Task states for Task_HandleInfoCardInput +#define STATE_FADE_IN 0 +#define STATE_WAIT_FADE 1 +#define STATE_GET_INPUT 2 +#define STATE_REACT_INPUT 3 +#define STATE_MOVE_UP 4 +#define STATE_MOVE_DOWN 5 +#define STATE_MOVE_LEFT 6 +#define STATE_MOVE_RIGHT 7 +#define STATE_CLOSE_CARD 8 + +#define tUsingAlternateSlot data[2] // CARD_ALTERNATE_SLOT + +static void Task_HandleInfoCardInput(u8 taskId) { int i; int windowId = 0; - int r9 = gTasks[taskId].data[3]; + int mode = gTasks[taskId].data[3]; int taskId2 = gTasks[taskId].data[4]; - int trainerTournamentId = 0; + int trainerTourneyId = 0; int matchNo = 0; - switch (gTasks[taskId].data[0]) + switch (gTasks[taskId].tState) { - case 0: + case STATE_FADE_IN: if (!gPaletteFade.active) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); - gTasks[taskId].data[0] = 1; + gTasks[taskId].tState = STATE_WAIT_FADE; } break; - case 1: + case STATE_WAIT_FADE: if (!gPaletteFade.active) - gTasks[taskId].data[0] = 2; + gTasks[taskId].tState = STATE_GET_INPUT; break; - case 2: - i = sub_819221C(taskId); + case STATE_GET_INPUT: + i = Task_GetInfoCardInput(taskId); switch (i) { - case 9: + case INFOCARD_INPUT_AB: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); - gTasks[taskId].data[0] = 8; + gTasks[taskId].tState = STATE_CLOSE_CARD; break; - case 1 ... 8: + case TRAINERCARD_INPUT_UP ... TRAINERCARD_INPUT_RIGHT: + case MATCHCARD_INPUT_UP ... MATCHCARD_INPUT_RIGHT: gTasks[taskId].data[5] = i; - if (gTasks[taskId].data[2] != 0) + if (gTasks[taskId].tUsingAlternateSlot) windowId = 9; else windowId = 0; @@ -3793,19 +3659,19 @@ static void sub_8190CD4(u8 taskId) CopyWindowToVram(i, 2); FillWindowPixelBuffer(i, PIXEL_FILL(0)); } - gTasks[taskId].data[0] = 3; + gTasks[taskId].tState = STATE_REACT_INPUT; break; - case 0: + case INFOCARD_INPUT_NONE: break; } break; - case 3: + case STATE_REACT_INPUT: i = gTasks[taskId].data[5]; switch (i) { - case 1: - case 5: - if (gTasks[taskId].data[2]) + case TRAINERCARD_INPUT_UP: + case MATCHCARD_INPUT_UP: + if (gTasks[taskId].tUsingAlternateSlot) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; @@ -3820,108 +3686,108 @@ static void sub_8190CD4(u8 taskId) gBattle_BG1_Y = 0; } - if (i == 1) + if (i == TRAINERCARD_INPUT_UP) { - if (sBattleDomeStruct->unk_10 == 0) + if (sInfoCard->pos == 0) { gBattle_BG2_X = 0; gBattle_BG2_Y = 320; - trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]]; - DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId); + trainerTourneyId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]]; + DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_UP, trainerTourneyId); } else { gBattle_BG2_X = 256; gBattle_BG2_Y = 0; - trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]]; - DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId); - sBattleDomeStruct->unk_10 = 0; + trainerTourneyId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]]; + DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_UP, trainerTourneyId); + sInfoCard->pos = 0; } } - else + else // i == MATCHCARD_INPUT_UP { - if (sBattleDomeStruct->unk_10 == 0) + if (sInfoCard->pos == 0) { matchNo = gTasks[taskId2].data[1] - 16; - sub_8192F08(matchNo, sBattleDomeStruct->unk_11); + BufferDomeWinString(matchNo, sInfoCard->tournamentIds); gBattle_BG2_X = 0; gBattle_BG2_Y = 320; - trainerTournamentId = sBattleDomeStruct->unk_11[0]; - DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId); + trainerTourneyId = sInfoCard->tournamentIds[0]; + DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_UP, trainerTourneyId); } - else if (sBattleDomeStruct->unk_10 == 2) + else if (sInfoCard->pos == 2) { matchNo = gTasks[taskId2].data[1] - 16; - sub_8192F08(matchNo, sBattleDomeStruct->unk_11); + BufferDomeWinString(matchNo, sInfoCard->tournamentIds); gBattle_BG2_X = 0; gBattle_BG2_Y = 320; - trainerTournamentId = sBattleDomeStruct->unk_11[1]; - DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId); + trainerTourneyId = sInfoCard->tournamentIds[1]; + DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_UP, trainerTourneyId); } else { gBattle_BG2_X = 256; gBattle_BG2_Y = 160; matchNo = gTasks[taskId2].data[1] - 16; - DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 0x10, matchNo); + DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_UP, matchNo); } } - for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) + for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++) { if (i < 2) { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollUp; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; - gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollUp; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i]; } } else { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollUp; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollUp; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; } } } - for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++) { if (i < 10) { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollUp; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; - gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollUp; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i]; } } else { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollUp; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollUp; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; } } } - gTasks[taskId].data[0] = 4; + gTasks[taskId].tState = STATE_MOVE_UP; gTasks[taskId].data[5] = 0; break; - case 2: - case 6: - if (gTasks[taskId].data[2]) + case TRAINERCARD_INPUT_DOWN: + case MATCHCARD_INPUT_DOWN: + if (gTasks[taskId].tUsingAlternateSlot) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; @@ -3936,107 +3802,107 @@ static void sub_8190CD4(u8 taskId) gBattle_BG1_Y = 0; } - if (i == 2) + if (i == TRAINERCARD_INPUT_DOWN) { - if (sBattleDomeStruct->unk_10 == 0) + if (sInfoCard->pos == 0) { gBattle_BG2_X = 0; gBattle_BG2_Y = 160; - trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]]; - DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId); + trainerTourneyId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]]; + DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_DOWN, trainerTourneyId); } else { gBattle_BG2_X = 0; gBattle_BG2_Y = 0; - trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]]; - DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId); - sBattleDomeStruct->unk_10 = 0; + trainerTourneyId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]]; + DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_DOWN, trainerTourneyId); + sInfoCard->pos = 0; } } - else + else // i == MATCHCARD_INPUT_DOWN { - if (sBattleDomeStruct->unk_10 == 0) + if (sInfoCard->pos == 0) { matchNo = gTasks[taskId2].data[1] - 16; - sub_8192F08(matchNo, sBattleDomeStruct->unk_11); + BufferDomeWinString(matchNo, sInfoCard->tournamentIds); gBattle_BG2_X = 0; gBattle_BG2_Y = 160; - trainerTournamentId = sBattleDomeStruct->unk_11[0]; - DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId); + trainerTourneyId = sInfoCard->tournamentIds[0]; + DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_DOWN, trainerTourneyId); } - else if (sBattleDomeStruct->unk_10 == 2) + else if (sInfoCard->pos == 2) { matchNo = gTasks[taskId2].data[1] - 16; - sub_8192F08(matchNo, sBattleDomeStruct->unk_11); + BufferDomeWinString(matchNo, sInfoCard->tournamentIds); gBattle_BG2_X = 0; gBattle_BG2_Y = 160; - trainerTournamentId = sBattleDomeStruct->unk_11[1]; - DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId); + trainerTourneyId = sInfoCard->tournamentIds[1]; + DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_DOWN, trainerTourneyId); } else { gBattle_BG2_X = 256; gBattle_BG2_Y = 0; matchNo = gTasks[taskId2].data[1] - 16; - DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 4, matchNo); + DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_DOWN, matchNo); } } - for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) + for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++) { if (i < 2) { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollDown; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; - gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollDown; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i]; } } else { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollDown; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollDown; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; } } } - for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++) { if (i < 10) { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollDown; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; - gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollDown; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i]; } } else { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollDown; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollDown; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; } } } - gTasks[taskId].data[0] = 5; + gTasks[taskId].tState = STATE_MOVE_DOWN; gTasks[taskId].data[5] = 0; break; - case 3: - if (gTasks[taskId].data[2]) + case TRAINERCARD_INPUT_LEFT: + if (gTasks[taskId].tUsingAlternateSlot) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; @@ -4051,75 +3917,75 @@ static void sub_8190CD4(u8 taskId) gBattle_BG1_Y = 0; } - if (sBattleDomeStruct->unk_10 == 0) + if (sInfoCard->pos == 0) { gBattle_BG2_X = 256; gBattle_BG2_Y = 160; - trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]]; - DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 8, trainerTournamentId); + trainerTourneyId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]]; + DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_LEFT, trainerTourneyId); } else { gBattle_BG2_X = 256; gBattle_BG2_Y = 0; - matchNo = gUnknown_0860D15C[gTasks[taskId2].data[1]][sBattleDomeStruct->unk_10 - 1]; - DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 8, matchNo); + matchNo = sIdToMatchNumber[gTasks[taskId2].data[1]][sInfoCard->pos - 1]; + DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_LEFT, matchNo); } - for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) + for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++) { if (i < 2) { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; - gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollLeft; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i]; } } else { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollLeft; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollLeft; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; } } } - for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++) { if (i < 10) { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; - gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollLeft; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i]; } } else { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollLeft; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollLeft; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; } } } - gTasks[taskId].data[0] = 6; + gTasks[taskId].tState = STATE_MOVE_LEFT; gTasks[taskId].data[5] = 0; break; - case 7: - if (gTasks[taskId].data[2]) + case MATCHCARD_INPUT_LEFT: + if (gTasks[taskId].tUsingAlternateSlot) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; @@ -4134,75 +4000,75 @@ static void sub_8190CD4(u8 taskId) gBattle_BG1_Y = 0; } - if (sBattleDomeStruct->unk_10 == 0) + if (sInfoCard->pos == 0) { gBattle_BG2_X = 256; gBattle_BG2_Y = 160; - trainerTournamentId = sBattleDomeStruct->unk_11[0]; - DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 8, trainerTournamentId); + trainerTourneyId = sInfoCard->tournamentIds[0]; + DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_LEFT, trainerTourneyId); } else { gBattle_BG2_X = 0; gBattle_BG2_Y = 160; matchNo = gTasks[taskId2].data[1] - 16; - DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 8, matchNo); + DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_LEFT, matchNo); } - for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) + for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++) { if (i < 2) { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; - gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollLeft; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i]; } } else { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollLeft; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollLeft; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; } } } - for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++) { if (i < 10) { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; - gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollLeft; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i]; } } else { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollLeft; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollLeft; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; } } } - gTasks[taskId].data[0] = 6; + gTasks[taskId].tState = STATE_MOVE_LEFT; gTasks[taskId].data[5] = 0; break; - case 4: - if (gTasks[taskId].data[2]) + case TRAINERCARD_INPUT_RIGHT: + if (gTasks[taskId].tUsingAlternateSlot) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; @@ -4217,7 +4083,7 @@ static void sub_8190CD4(u8 taskId) gBattle_BG1_Y = 0; } - if (sBattleDomeStruct->unk_10 == 1) + if (sInfoCard->pos == 1) { gBattle_BG2_X = 0; gBattle_BG2_Y = 160; @@ -4227,63 +4093,63 @@ static void sub_8190CD4(u8 taskId) gBattle_BG2_X = 0; gBattle_BG2_Y = 0; } - matchNo = gUnknown_0860D15C[gTasks[taskId2].data[1]][sBattleDomeStruct->unk_10 - 1]; - DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 2, matchNo); + matchNo = sIdToMatchNumber[gTasks[taskId2].data[1]][sInfoCard->pos - 1]; + DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_RIGHT, matchNo); - for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) + for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++) { if (i < 2) { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; - gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollRight; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i]; } } else { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollRight; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollRight; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; } } } - for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++) { if (i < 10) { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; - gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollRight; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i]; } } else { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollRight; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollRight; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; } } } - gTasks[taskId].data[0] = 7; + gTasks[taskId].tState = STATE_MOVE_RIGHT; gTasks[taskId].data[5] = 0; break; - case 8: - if (gTasks[taskId].data[2]) + case MATCHCARD_INPUT_RIGHT: + if (gTasks[taskId].tUsingAlternateSlot) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; @@ -4298,76 +4164,76 @@ static void sub_8190CD4(u8 taskId) gBattle_BG1_Y = 0; } - if (sBattleDomeStruct->unk_10 == 2) + if (sInfoCard->pos == 2) { gBattle_BG2_X = 256; gBattle_BG2_Y = 160; - trainerTournamentId = sBattleDomeStruct->unk_11[1]; - DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 2, trainerTournamentId); + trainerTourneyId = sInfoCard->tournamentIds[1]; + DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_RIGHT, trainerTourneyId); } else { gBattle_BG2_X = 0; gBattle_BG2_Y = 160; matchNo = gTasks[taskId2].data[1] - 16; - DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 2, matchNo); + DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_RIGHT, matchNo); } - for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) + for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++) { if (i < 2) { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; - gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollRight; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i]; } } else { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollRight; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollRight; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; } } } - for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++) { if (i < 10) { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; - gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollRight; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i]; } } else { - if (sBattleDomeStruct->arr[i] != 0xFF) + if (sInfoCard->spriteIds[i] != 0xFF) { - gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollRight; - gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; - gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollRight; + gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot; + gSprites[sInfoCard->spriteIds[i]].data[1] = 0; + gSprites[sInfoCard->spriteIds[i]].data[2] = i; } } } - gTasks[taskId].data[0] = 7; + gTasks[taskId].tState = STATE_MOVE_RIGHT; gTasks[taskId].data[5] = 0; break; } break; - case 4: + case STATE_MOVE_UP: if (++gTasks[taskId].data[5] != 41) { gBattle_BG0_Y -= 4; @@ -4376,10 +4242,10 @@ static void sub_8190CD4(u8 taskId) } else { - gTasks[taskId].data[0] = 2; + gTasks[taskId].tState = STATE_GET_INPUT; } break; - case 5: + case STATE_MOVE_DOWN: if (++gTasks[taskId].data[5] != 41) { gBattle_BG0_Y += 4; @@ -4388,10 +4254,10 @@ static void sub_8190CD4(u8 taskId) } else { - gTasks[taskId].data[0] = 2; + gTasks[taskId].tState = STATE_GET_INPUT; } break; - case 6: + case STATE_MOVE_LEFT: if (++gTasks[taskId].data[5] != 65) { gBattle_BG0_X -= 4; @@ -4400,10 +4266,10 @@ static void sub_8190CD4(u8 taskId) } else { - gTasks[taskId].data[0] = 2; + gTasks[taskId].tState = STATE_GET_INPUT; } break; - case 7: + case STATE_MOVE_RIGHT: if (++gTasks[taskId].data[5] != 65) { gBattle_BG0_X += 4; @@ -4412,43 +4278,44 @@ static void sub_8190CD4(u8 taskId) } else { - gTasks[taskId].data[0] = 2; + gTasks[taskId].tState = STATE_GET_INPUT; } break; - case 8: + case STATE_CLOSE_CARD: if (!gPaletteFade.active) { - for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) + for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++) { if (i < 2) { - if (sBattleDomeStruct->arr[i] != 0xFF) - FreeAndDestroyTrainerPicSprite(sBattleDomeStruct->arr[i]); + if (sInfoCard->spriteIds[i] != 0xFF) + FreeAndDestroyTrainerPicSprite(sInfoCard->spriteIds[i]); } else { - if (sBattleDomeStruct->arr[i] != 0xFF) - sub_80D2EF8(&gSprites[sBattleDomeStruct->arr[i]]); + if (sInfoCard->spriteIds[i] != 0xFF) + FreeAndDestroyMonIconSprite(&gSprites[sInfoCard->spriteIds[i]]); } } - for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++) { if (i < 10) { - if (sBattleDomeStruct->arr[i] != 0xFF) - FreeAndDestroyTrainerPicSprite(sBattleDomeStruct->arr[i]); + if (sInfoCard->spriteIds[i] != 0xFF) + FreeAndDestroyTrainerPicSprite(sInfoCard->spriteIds[i]); } else { - if (sBattleDomeStruct->arr[i] != 0xFF) - sub_80D2EF8(&gSprites[sBattleDomeStruct->arr[i]]); + if (sInfoCard->spriteIds[i] != 0xFF) + FreeAndDestroyMonIconSprite(&gSprites[sInfoCard->spriteIds[i]]); } } FreeMonIconPalettes(); - FREE_AND_SET_NULL(sBattleDomeStruct); + FREE_AND_SET_NULL(sInfoCard); FreeAllWindowBuffers(); - if (r9 == 0) + + if (mode == INFOCARD_NEXT_OPPONENT) { SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } @@ -4456,10 +4323,10 @@ static void sub_8190CD4(u8 taskId) { i = CreateTask(Task_ShowTourneyTree, 0); gTasks[i].data[0] = 0; - gTasks[i].data[1] = 0; + gTasks[i].tNotInteractive = FALSE; gTasks[i].data[2] = 3; gTasks[i].data[3] = gTasks[taskId].data[4]; - gTasks[i].data[4] = gTasks[taskId2].data[6]; + gTasks[i].tIsPrevTourneyTree = gTasks[taskId2].data[6]; } DestroyTask(taskId); } @@ -4467,116 +4334,142 @@ static void sub_8190CD4(u8 taskId) } } -static u8 sub_819221C(u8 taskId) +// undefine task states for Task_HandleInfoCardInput +#undef STATE_FADE_IN +#undef STATE_WAIT_FADE +#undef STATE_GET_INPUT +#undef STATE_REACT_INPUT +#undef STATE_MOVE_UP +#undef STATE_MOVE_DOWN +#undef STATE_MOVE_LEFT +#undef STATE_MOVE_RIGHT +#undef STATE_CLOSE_CARD + +static u8 Task_GetInfoCardInput(u8 taskId) { - u8 retVal = 0; + u8 input = INFOCARD_INPUT_NONE; int taskId2 = gTasks[taskId].data[4]; - int r5 = gTasks[taskId2].data[1]; - u8 r10 = sTourneyTreeTrainerIds[r5]; + int position = gTasks[taskId2].data[1]; + u8 tourneyId = sTourneyTreeTrainerIds[position]; u16 roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum; if (gMain.newKeys & (A_BUTTON | B_BUTTON)) - retVal = 9; + input = INFOCARD_INPUT_AB; - if (gTasks[taskId].data[3] == 0) - return retVal; + // Next opponent card cant scroll + if (gTasks[taskId].data[3] == INFOCARD_NEXT_OPPONENT) + return input; - if (gTasks[taskId].data[3] == 1) + if (gTasks[taskId].data[3] == INFOCARD_TRAINER) { - if (gMain.newKeys & DPAD_UP && sBattleDomeStruct->unk_10 == 0) + // For trainer info cards, pos is 0 when on a trainer info card (not viewing that trainer's match progression) + // Scrolling up/down from a trainer info card goes to other trainer info cards + if (gMain.newKeys & DPAD_UP && sInfoCard->pos == 0) { - if (r5 == 0) - r5 = 15; + if (position == 0) + position = DOME_TOURNAMENT_TRAINERS_COUNT - 1; else - r5--; - retVal = 1; + position--; + input = TRAINERCARD_INPUT_UP; } - else if (gMain.newKeys & DPAD_DOWN && sBattleDomeStruct->unk_10 == 0) + else if (gMain.newKeys & DPAD_DOWN && sInfoCard->pos == 0) { - if (r5 == 15) - r5 = 0; + if (position == DOME_TOURNAMENT_TRAINERS_COUNT - 1) + position = 0; else - r5++; - retVal = 2; + position++; + input = TRAINERCARD_INPUT_DOWN; } - else if (gMain.newKeys & DPAD_LEFT && sBattleDomeStruct->unk_10 != 0) + // Scrolling left can only be done after scrolling right + else if (gMain.newKeys & DPAD_LEFT && sInfoCard->pos != 0) { - sBattleDomeStruct->unk_10--; - retVal = 3; + sInfoCard->pos--; + input = TRAINERCARD_INPUT_LEFT; } + // Scrolling right from a trainer info card shows their match progression else if (gMain.newKeys & DPAD_RIGHT) { - if (gSaveBlock2Ptr->frontier.domeTrainers[r10].isEliminated && sBattleDomeStruct->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[r10].eliminatedAt) + // Can only scroll right from a trainer card until the round they were eliminated + if (DOME_TRAINERS[tourneyId].isEliminated && sInfoCard->pos - 1 < DOME_TRAINERS[tourneyId].eliminatedAt) { - sBattleDomeStruct->unk_10++; - retVal = 4; + sInfoCard->pos++; + input = TRAINERCARD_INPUT_RIGHT; } - if (!gSaveBlock2Ptr->frontier.domeTrainers[r10].isEliminated && sBattleDomeStruct->unk_10 - 1 < roundId) + // otherwise can scroll as far right as the current round allows + if (!DOME_TRAINERS[tourneyId].isEliminated && sInfoCard->pos - 1 < roundId) { - sBattleDomeStruct->unk_10++; - retVal = 4; + sInfoCard->pos++; + input = TRAINERCARD_INPUT_RIGHT; } } - if (retVal == 9) + if (input == INFOCARD_INPUT_AB) { - if (sBattleDomeStruct->unk_10 != 0) - gTasks[taskId2].data[1] = gUnknown_0860D1A0[r5 / 2][sBattleDomeStruct->unk_10 - 1]; + if (sInfoCard->pos != 0) + gTasks[taskId2].data[1] = gUnknown_0860D1A0[position / 2][sInfoCard->pos - 1]; else - gTasks[taskId2].data[1] = r5; + gTasks[taskId2].data[1] = position; } } - else + else // gTasks[taskId].data[3] == INFOCARD_MATCH { - if (gMain.newKeys & DPAD_UP && sBattleDomeStruct->unk_10 == 1) + // For match info cards, pos is 1 when on the match card, 0 when on the left trainer, and 1 when on the right trainer + // Scrolling up/down from a match info card goes to the next/previous match + if (gMain.newKeys & DPAD_UP && sInfoCard->pos == 1) { - if (r5 == 16) - r5 = gUnknown_0860D19C[roundId]; + if (position == DOME_TOURNAMENT_TRAINERS_COUNT) + position = sLastMatchCardNum[roundId]; else - r5--; - retVal = 5; + position--; + input = MATCHCARD_INPUT_UP; } - else if (gMain.newKeys & DPAD_DOWN && sBattleDomeStruct->unk_10 == 1) + else if (gMain.newKeys & DPAD_DOWN && sInfoCard->pos == 1) { - if (r5 == gUnknown_0860D19C[roundId]) - r5 = 16; + if (position == sLastMatchCardNum[roundId]) + position = DOME_TOURNAMENT_TRAINERS_COUNT; else - r5++; - retVal = 6; + position++; + input = MATCHCARD_INPUT_DOWN; } - else if (gMain.newKeys & DPAD_LEFT && sBattleDomeStruct->unk_10 != 0) + // Scrolling left/right from a match info card shows the trainer info card of the competitors for that match + else if (gMain.newKeys & DPAD_LEFT && sInfoCard->pos != 0) { - retVal = 7; - sBattleDomeStruct->unk_10--; + input = MATCHCARD_INPUT_LEFT; + sInfoCard->pos--; } - else if (gMain.newKeys & DPAD_RIGHT && (sBattleDomeStruct->unk_10 == 0 || sBattleDomeStruct->unk_10 == 1)) + else if (gMain.newKeys & DPAD_RIGHT && (sInfoCard->pos == 0 || sInfoCard->pos == 1)) { - retVal = 8; - sBattleDomeStruct->unk_10++; + input = MATCHCARD_INPUT_RIGHT; + sInfoCard->pos++; } - if (retVal == 9) + if (input == INFOCARD_INPUT_AB) { - if (sBattleDomeStruct->unk_10 == 0) - gTasks[taskId2].data[1] = gUnknown_0860D1C0[sBattleDomeStruct->unk_11[0]]; - else if (sBattleDomeStruct->unk_10 == 2) - gTasks[taskId2].data[1] = gUnknown_0860D1C0[sBattleDomeStruct->unk_11[1]]; - else - gTasks[taskId2].data[1] = r5; + if (sInfoCard->pos == 0) // On left trainer info card + gTasks[taskId2].data[1] = gUnknown_0860D1C0[sInfoCard->tournamentIds[0]]; + else if (sInfoCard->pos == 2) // On right trainer info card + gTasks[taskId2].data[1] = gUnknown_0860D1C0[sInfoCard->tournamentIds[1]]; + else // On match info card + gTasks[taskId2].data[1] = position; } } - if (retVal != 0 && retVal != 9) + if (input != INFOCARD_INPUT_NONE && input != INFOCARD_INPUT_AB) { PlaySE(SE_SELECT); - gTasks[taskId2].data[1] = r5; - gTasks[taskId].data[2] ^= 1; + gTasks[taskId2].data[1] = position; + gTasks[taskId].tUsingAlternateSlot ^= 1; } - return retVal; + return input; } -static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) +#undef tUsingAlternateSlot + +// allocatedArray below needs to be large enough to hold stat totals for each mon, or totals of each type of move points +#define ALLOC_ARRAY_SIZE (NUM_STATS * FRONTIER_PARTY_SIZE >= NUM_MOVE_POINT_TYPES ? (NUM_STATS * FRONTIER_PARTY_SIZE) : NUM_MOVE_POINT_TYPES) + +static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId) { struct TextPrinterTemplate textPrinter; int i, j, k; @@ -4586,63 +4479,67 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) int windowId = 0; int x = 0, y = 0; u8 palSlot = 0; - s16 *allocatedArray = AllocZeroed(sizeof(s16) * 18); - trainerId = gSaveBlock2Ptr->frontier.domeTrainers[trainerTournamentId].trainerId; + s16 *allocatedArray = AllocZeroed(sizeof(s16) * ALLOC_ARRAY_SIZE); + trainerId = DOME_TRAINERS[trainerTourneyId].trainerId; - if (flags & 1) - arrId = 8, windowId = 9, palSlot = 2; - if (flags & 2) + if (flags & CARD_ALTERNATE_SLOT) + arrId = 2 * (FRONTIER_PARTY_SIZE + 1), windowId = 9, palSlot = 2; + if (flags & MOVE_CARD_RIGHT) x = 256; - if (flags & 4) + if (flags & MOVE_CARD_DOWN) y = 160; - if (flags & 8) + if (flags & MOVE_CARD_LEFT) x = -256; - if (flags & 0x10) + if (flags & MOVE_CARD_UP) y = -160; + // Create trainer pic sprite if (trainerId == TRAINER_PLAYER) - sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); + sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); else if (trainerId == TRAINER_FRONTIER_BRAIN) - sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); + sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); else - sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerId), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); + sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerId), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); - if (flags & 0x1E) - gSprites[sBattleDomeStruct->arr[arrId]].invisible = TRUE; + if (flags & MOVE_CARD) + gSprites[sInfoCard->spriteIds[arrId]].invisible = TRUE; - for (i = 0; i < 3; i++) + // Create party mon icons + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { if (trainerId == TRAINER_PLAYER) { - sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i], + sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(DOME_MONS[trainerTourneyId][i], SpriteCb_MonIcon, x | sInfoTrainerMonX[i], y + sInfoTrainerMonY[i], 0, 0, TRUE); - gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; + gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0; } else if (trainerId == TRAINER_FRONTIER_BRAIN) { - sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i], + sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(DOME_MONS[trainerTourneyId][i], SpriteCb_MonIcon, x | sInfoTrainerMonX[i], y + sInfoTrainerMonY[i], 0, 0, TRUE); - gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; + gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0; } else { - sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].species, + sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].species, SpriteCb_MonIcon, x | sInfoTrainerMonX[i], y + sInfoTrainerMonY[i], 0, 0, TRUE); - gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; + gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0; } - if (flags & 0x1E) - gSprites[sBattleDomeStruct->arr[2 + i + arrId]].invisible = TRUE; + if (flags & MOVE_CARD) + gSprites[sInfoCard->spriteIds[2 + i + arrId]].invisible = TRUE; } + + // Initialize the text printer textPrinter.fontId = 2; textPrinter.x = 0; textPrinter.y = 0; @@ -4651,10 +4548,11 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) textPrinter.letterSpacing = 2; textPrinter.lineSpacing = 0; textPrinter.unk = 0; - textPrinter.fgColor = 14; - textPrinter.bgColor = 0; - textPrinter.shadowColor = 13; + textPrinter.fgColor = TEXT_DYNAMIC_COLOR_5; + textPrinter.bgColor = TEXT_COLOR_TRANSPARENT; + textPrinter.shadowColor = TEXT_DYNAMIC_COLOR_4; + // Get class and trainer name i = 0; if (trainerId == TRAINER_PLAYER) j = gFacilityClassToTrainerClass[FACILITY_CLASS_BRENDAN]; @@ -4683,6 +4581,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) StringAppend(gStringVar1, gStringVar2); } + // Print class and trainer name textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, gStringVar1, 0xD0, textPrinter.letterSpacing); textPrinter.currentChar = gStringVar1; textPrinter.windowId = windowId; @@ -4691,15 +4590,16 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) AddTextPrinter(&textPrinter, 0, NULL); textPrinter.letterSpacing = 0; - for (i = 0; i < 3; i++) + // Print names of the party mons + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { - textPrinter.currentY = gUnknown_0860D346[i]; + textPrinter.currentY = sSpeciesNameTextYCoords[i]; if (trainerId == TRAINER_PLAYER) - textPrinter.currentChar = gSpeciesNames[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]]; + textPrinter.currentChar = gSpeciesNames[DOME_MONS[trainerTourneyId][i]]; else if (trainerId == TRAINER_FRONTIER_BRAIN) - textPrinter.currentChar = gSpeciesNames[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]]; + textPrinter.currentChar = gSpeciesNames[DOME_MONS[trainerTourneyId][i]]; else - textPrinter.currentChar = gSpeciesNames[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].species]; + textPrinter.currentChar = gSpeciesNames[gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].species]; textPrinter.windowId = 1 + i + windowId; if (i == 1) @@ -4714,10 +4614,12 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) PutWindowTilemap(windowId + 4); CopyWindowToVram(windowId + 4, 3); + + // Print text about trainers potential in the tourney if (trainerId == TRAINER_FRONTIER_BRAIN) - textPrinter.currentChar = sBattleDomePotentialTexts[16]; + textPrinter.currentChar = sBattleDomePotentialTexts[DOME_TOURNAMENT_TRAINERS_COUNT]; else - textPrinter.currentChar = sBattleDomePotentialTexts[trainerTournamentId]; + textPrinter.currentChar = sBattleDomePotentialTexts[trainerTourneyId]; textPrinter.fontId = 1; textPrinter.windowId = windowId + 4; @@ -4726,91 +4628,103 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) textPrinter.currentY = 4; AddTextPrinter(&textPrinter, 0, NULL); - for (i = 0; i < 3; i++) + // Calculate move scores to determine the trainers battle style + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { for (j = 0; j < MAX_MON_MOVES; j++) { - for (k = 0; k < DOME_TOURNAMENT_TRAINERS_COUNT; k++) + for (k = 0; k < NUM_MOVE_POINT_TYPES; k++) { if (trainerId == TRAINER_FRONTIER_BRAIN) - allocatedArray[k] += sMovePointsForDomeTrainers[GetFrontierBrainMonMove(i, j)][k]; + allocatedArray[k] += sBattleStyleMovePoints[GetFrontierBrainMonMove(i, j)][k]; else if (trainerId == TRAINER_PLAYER) - allocatedArray[k] += sMovePointsForDomeTrainers[gSaveBlock2Ptr->frontier.field_EFC[i].moves[j]][k]; + allocatedArray[k] += sBattleStyleMovePoints[gSaveBlock2Ptr->frontier.domePlayerPartyData[i].moves[j]][k]; else - allocatedArray[k] += sMovePointsForDomeTrainers[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].moves[j]][k]; + allocatedArray[k] += sBattleStyleMovePoints[gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].moves[j]][k]; } } } - for (i = 0; i < ARRAY_COUNT(gUnknown_0860C988); i++) + // Get the battle style the trainer uses + // Each element of sBattleStyleThresholds is an array of point thresholds for particular move qualities + // If all the point thresholds in the array are satisfied, the player is considered to be using that battle style + for (i = 0; i < ARRAY_COUNT(sBattleStyleThresholds); i++) { - int r4 = 0; + int thresholdStatCount = 0; - for (k = 0, j = 0; j < DOME_TOURNAMENT_TRAINERS_COUNT; j++) + for (k = 0, j = 0; j < NUM_MOVE_POINT_TYPES; j++) { - if (gUnknown_0860C988[i][j] != 0) + if (sBattleStyleThresholds[i][j] != 0) { - r4++; - if (allocatedArray[j] != 0 && allocatedArray[j] >= gUnknown_0860C988[i][j]) - k++; + thresholdStatCount++; + if (allocatedArray[j] != 0 && allocatedArray[j] >= sBattleStyleThresholds[i][j]) + k++; // number of point thresholds met/exceeded } } - if (r4 == k) - break; + if (thresholdStatCount == k) + break; // All thresholds for battle style met/exceeded, player uses this battle style } + // Print the trainers battle style textPrinter.currentChar = sBattleDomeOpponentStyleTexts[i]; textPrinter.y = 20; textPrinter.currentY = 20; AddTextPrinter(&textPrinter, 0, NULL); - for (i = 0; i < 18; i++) + for (i = 0; i < ALLOC_ARRAY_SIZE; i++) allocatedArray[i] = 0; + // Calculate EV/nature points for the stat portion of battle style if (trainerId == TRAINER_FRONTIER_BRAIN || trainerId == TRAINER_PLAYER) { - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { - for (j = 0; j < 6; j++) + // Add the EVs for this mon + for (j = 0; j < NUM_STATS; j++) { if (trainerId == TRAINER_FRONTIER_BRAIN) allocatedArray[j] = GetFrontierBrainMonEvs(i, j); else - allocatedArray[j] = gSaveBlock2Ptr->frontier.field_EFC[i].evs[j]; + allocatedArray[j] = gSaveBlock2Ptr->frontier.domePlayerPartyData[i].evs[j]; } - allocatedArray[6] += allocatedArray[0]; - for (j = 0; j < 5; j++) + + // HP doesnt have a nature modifier, so just add it here + allocatedArray[NUM_STATS] += allocatedArray[STAT_HP]; + + // Add the EVs with the nature modifier for this mon and and track number of negative natures + for (j = 0; j < NUM_EV_STATS; j++) { if (trainerId == TRAINER_FRONTIER_BRAIN) nature = GetFrontierBrainMonNature(i); else - nature = gSaveBlock2Ptr->frontier.field_EFC[i].nature; + nature = gSaveBlock2Ptr->frontier.domePlayerPartyData[i].nature; if (gNatureStatTable[nature][j] > 0) { - allocatedArray[j + 7] += (allocatedArray[j + 1] * 110) / 100; + allocatedArray[j + NUM_STATS + 1] += (allocatedArray[j + 1] * 110) / 100; } else if (gNatureStatTable[nature][j] < 0) { - allocatedArray[j + 7] += (allocatedArray[j + 1] * 90) / 100; - allocatedArray[j + 13]++; + allocatedArray[j + NUM_STATS + 1] += (allocatedArray[j + 1] * 90) / 100; + allocatedArray[j + NUM_STATS + NUM_EV_STATS + 2]++; } else { - allocatedArray[j + 7] += allocatedArray[j + 1]; + allocatedArray[j + NUM_STATS + 1] += allocatedArray[j + 1]; } } } - for (j = 0, i = 0; i < 6; i++) - j += allocatedArray[6 + i]; - for (i = 0; i < 6; i++) - allocatedArray[i] = (allocatedArray[6 + i] * 100) / j; + for (j = 0, i = 0; i < NUM_STATS; i++) + j += allocatedArray[NUM_STATS + i]; + for (i = 0; i < NUM_STATS; i++) + allocatedArray[i] = (allocatedArray[NUM_STATS + i] * 100) / j; } + // Same as above but for regular trainers instead of the frontier brain or player else { - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { - int evBits = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].evSpread; + int evBits = gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].evSpread; for (k = 0, j = 0; j < NUM_STATS; j++) { allocatedArray[j] = 0; @@ -4819,7 +4733,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) evBits >>= 1; } k = MAX_TOTAL_EVS / k; - evBits = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].evSpread; + evBits = gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].evSpread; for (j = 0; j < NUM_STATS; j++) { if (evBits & 1) @@ -4827,37 +4741,42 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) evBits >>= 1; } - allocatedArray[6] += allocatedArray[0]; - for (j = 0; j < 5; j++) + allocatedArray[NUM_STATS] += allocatedArray[STAT_HP]; + for (j = 0; j < NUM_EV_STATS; j++) { - nature = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].nature; + nature = gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].nature; if (gNatureStatTable[nature][j] > 0) { - allocatedArray[j + 7] += (allocatedArray[j + 1] * 110) / 100; + allocatedArray[j + NUM_STATS + 1] += (allocatedArray[j + 1] * 110) / 100; } else if (gNatureStatTable[nature][j] < 0) { - allocatedArray[j + 7] += (allocatedArray[j + 1] * 90) / 100; - allocatedArray[j + 13]++; + allocatedArray[j + NUM_STATS + 1] += (allocatedArray[j + 1] * 90) / 100; + allocatedArray[j + NUM_STATS + NUM_EV_STATS + 2]++; } else { - allocatedArray[j + 7] += allocatedArray[j + 1]; + allocatedArray[j + NUM_STATS + 1] += allocatedArray[j + 1]; } } } - for (j = 0, i = 0; i < 6; i++) - j += allocatedArray[i + 6]; - for (i = 0; i < 6; i++) - allocatedArray[i] = (allocatedArray[6 + i] * 100) / j; + for (j = 0, i = 0; i < NUM_STATS; i++) + j += allocatedArray[i + NUM_STATS]; + for (i = 0; i < NUM_STATS; i++) + allocatedArray[i] = (allocatedArray[NUM_STATS + i] * 100) / j; } - for (i = 0, j = 0, k = 0; k < 6; k++) + // Count the number of good/bad stats for the party + // i is the number of good stats, j is the number of bad stats + for (i = 0, j = 0, k = 0; k < NUM_STATS; k++) { + // Any stat above 29 EVs is considered good if (allocatedArray[k] > 29) { + // If 2 good stats have been found already, choose which to use if (i == 2) { + if (allocatedArray[6] < allocatedArray[k]) { if (allocatedArray[7] < allocatedArray[k]) @@ -4890,8 +4809,11 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) i++; } } + + // Any stat with 0 EVs is considered bad if (allocatedArray[k] == 0) { + // If 2 bad stats have been found already, choose which to use if (j == 2) { if (allocatedArray[k + 12] >= 2 @@ -4920,17 +4842,19 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) } } + // Get the string ID to display which stats are good/bad if (i == 2) - i = gUnknown_0860D349[allocatedArray[6]] + (allocatedArray[7] - (allocatedArray[6] + 1)); + i = sStatTextOffsets[allocatedArray[6]] + (allocatedArray[7] - (allocatedArray[6] + 1)) + DOME_TEXT_TWO_GOOD_STATS; else if (i == 1) - i = allocatedArray[6] + 15; + i = allocatedArray[6] + DOME_TEXT_ONE_GOOD_STAT; else if (j == 2) - i = gUnknown_0860D349[allocatedArray[8]] + (allocatedArray[9] - (allocatedArray[8] + 1)) + 21; + i = sStatTextOffsets[allocatedArray[8]] + (allocatedArray[9] - (allocatedArray[8] + 1)) + DOME_TEXT_TWO_BAD_STATS; else if (j == 1) - i = allocatedArray[8] + 36; + i = allocatedArray[8] + DOME_TEXT_ONE_BAD_STAT; else - i = 42; + i = DOME_TEXT_WELL_BALANCED; + // Print the stat text textPrinter.currentChar = sBattleDomeOpponentStatsTexts[i]; textPrinter.y = 36; textPrinter.currentY = 36; @@ -4938,55 +4862,61 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) Free(allocatedArray); } -static int sub_8192F08(u8 arg0, u8 *arg1) +static int BufferDomeWinString(u8 matchNum, u8 *tournamentIds) { int i; u8 tournamentId; - int retVal = 0; + int winStringId = 0; int count = 0; - for (i = gUnknown_0860D3C4[arg0][0]; i < gUnknown_0860D3C4[arg0][0] + gUnknown_0860D3C4[arg0][1]; i++) + // Get winners name + for (i = sCompetitorRangeByMatch[matchNum][0]; i < sCompetitorRangeByMatch[matchNum][0] + sCompetitorRangeByMatch[matchNum][1]; i++) { - tournamentId = gUnknown_0860D3B4[i]; - if (!gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].isEliminated) + tournamentId = sTourneyTreeTrainerIds2[i]; + if (!DOME_TRAINERS[tournamentId].isEliminated) { - arg1[count] = tournamentId; - if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId == TRAINER_PLAYER) + tournamentIds[count] = tournamentId; + if (DOME_TRAINERS[tournamentId].trainerId == TRAINER_PLAYER) StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); - else if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId == TRAINER_FRONTIER_BRAIN) + else if (DOME_TRAINERS[tournamentId].trainerId == TRAINER_FRONTIER_BRAIN) CopyDomeBrainTrainerName(gStringVar1); else - CopyDomeTrainerName(gStringVar1, gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId); + CopyDomeTrainerName(gStringVar1, DOME_TRAINERS[tournamentId].trainerId); count++; } } + // Neither trainer has been eliminated, battle hasn't occurred yet if (count == 2) - return 0; + return DOME_TEXT_NO_WINNER_YET; - for (i = gUnknown_0860D3C4[arg0][0]; i < gUnknown_0860D3C4[arg0][0] + gUnknown_0860D3C4[arg0][1]; i++) + for (i = sCompetitorRangeByMatch[matchNum][0]; i < sCompetitorRangeByMatch[matchNum][0] + sCompetitorRangeByMatch[matchNum][1]; i++) { - tournamentId = gUnknown_0860D3B4[i]; - if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].isEliminated - && gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].eliminatedAt >= gUnknown_0860D3C4[arg0][2]) + tournamentId = sTourneyTreeTrainerIds2[i]; + + if (DOME_TRAINERS[tournamentId].isEliminated + && DOME_TRAINERS[tournamentId].eliminatedAt >= sCompetitorRangeByMatch[matchNum][2]) { - arg1[count] = tournamentId; + tournamentIds[count] = tournamentId; count++; - if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].eliminatedAt == gUnknown_0860D3C4[arg0][2]) + + if (DOME_TRAINERS[tournamentId].eliminatedAt == sCompetitorRangeByMatch[matchNum][2]) { - StringCopy(gStringVar2, gMoveNames[gSaveBlock2Ptr->frontier.field_EC0[tournamentId]]); - retVal = gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].unk3 * 2; - if (gSaveBlock2Ptr->frontier.field_EC0[tournamentId] == 0 && gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].unk3 == 0) - retVal = 4; + // Set initial winStringId offset + StringCopy(gStringVar2, gMoveNames[gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId]]); + winStringId = DOME_TRAINERS[tournamentId].forfeited * 2; // (DOME_TEXT_WON_USING_MOVE - 1) or (DOME_TEXT_WON_ON_FORFEIT - 1) + + if (gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId] == MOVE_NONE && DOME_TRAINERS[tournamentId].forfeited == FALSE) + winStringId = DOME_TEXT_WON_NO_MOVES - 1; } else { - if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId == TRAINER_PLAYER) + if (DOME_TRAINERS[tournamentId].trainerId == TRAINER_PLAYER) StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); - else if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId == TRAINER_FRONTIER_BRAIN) + else if (DOME_TRAINERS[tournamentId].trainerId == TRAINER_FRONTIER_BRAIN) CopyDomeBrainTrainerName(gStringVar1); else - CopyDomeTrainerName(gStringVar1, gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId); + CopyDomeTrainerName(gStringVar1, DOME_TRAINERS[tournamentId].trainerId); } } @@ -4994,10 +4924,10 @@ static int sub_8192F08(u8 arg0, u8 *arg1) break; } - if (arg0 == 14) - return retVal + 2; + if (matchNum == DOME_TOURNAMENT_MATCHES_COUNT - 1) + return winStringId + 2; // use DOME_TEXT_CHAMP_* else - return retVal + 1; + return winStringId + 1; // use DOME_TEXT_WON_* } static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) @@ -5013,137 +4943,137 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) int x = 0, y = 0; u8 palSlot = 0; - if (flags & 1) - arrId = 8, windowId = 9, palSlot = 2; - if (flags & 2) + if (flags & CARD_ALTERNATE_SLOT) + arrId = 2 * (FRONTIER_PARTY_SIZE + 1), windowId = 9, palSlot = 2; + if (flags & MOVE_CARD_RIGHT) x = 256; - if (flags & 4) + if (flags & MOVE_CARD_DOWN) y = 160; - if (flags & 8) + if (flags & MOVE_CARD_LEFT) x = -256; - if (flags & 0x10) + if (flags & MOVE_CARD_UP) y = -160; // Copy trainers information to handy arrays. - winStringId = sub_8192F08(matchNo, sBattleDomeStruct->unk_11); - for (i = 0; i < 2; i++) + winStringId = BufferDomeWinString(matchNo, sInfoCard->tournamentIds); + for (i = 0; i < NUM_INFOCARD_TRAINERS; i++) { - tournamentIds[i] = sBattleDomeStruct->unk_11[i]; - trainerIds[i] = gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].trainerId; - if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].eliminatedAt <= gUnknown_0860D3C4[matchNo][2] - && gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].isEliminated) + tournamentIds[i] = sInfoCard->tournamentIds[i]; + trainerIds[i] = DOME_TRAINERS[tournamentIds[i]].trainerId; + if (DOME_TRAINERS[tournamentIds[i]].eliminatedAt <= sCompetitorRangeByMatch[matchNo][2] + && DOME_TRAINERS[tournamentIds[i]].isEliminated) lost[i] = TRUE; else lost[i] = FALSE; } - // Draw first trainer sprite. + // Draw left trainer sprite. if (trainerIds[0] == TRAINER_PLAYER) - sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF); + sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF); else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN) - sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF); + sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF); else - sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[0]), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF); + sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[0]), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF); - if (flags & 0x1E) - gSprites[sBattleDomeStruct->arr[arrId]].invisible = TRUE; + if (flags & MOVE_CARD) + gSprites[sInfoCard->spriteIds[arrId]].invisible = TRUE; if (lost[0]) - gSprites[sBattleDomeStruct->arr[arrId]].oam.paletteNum = 3; + gSprites[sInfoCard->spriteIds[arrId]].oam.paletteNum = 3; - // Draw second trainer sprite. + // Draw right trainer sprite. if (trainerIds[1] == TRAINER_PLAYER) - sBattleDomeStruct->arr[1 + arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF); + sInfoCard->spriteIds[1 + arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF); else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN) - sBattleDomeStruct->arr[1 + arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF); + sInfoCard->spriteIds[1 + arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF); else - sBattleDomeStruct->arr[1 + arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[1]), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF); + sInfoCard->spriteIds[1 + arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[1]), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF); - if (flags & 0x1E) - gSprites[sBattleDomeStruct->arr[1 + arrId]].invisible = TRUE; + if (flags & MOVE_CARD) + gSprites[sInfoCard->spriteIds[1 + arrId]].invisible = TRUE; if (lost[1]) - gSprites[sBattleDomeStruct->arr[1 + arrId]].oam.paletteNum = 3; + gSprites[sInfoCard->spriteIds[1 + arrId]].oam.paletteNum = 3; - // Draw first trainer's pokemon icons. - for (i = 0; i < 3; i++) + // Draw left trainer's pokemon icons. + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { if (trainerIds[0] == TRAINER_PLAYER) { - sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[0]][i], + sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[0]][i], SpriteCb_MonIcon, - x | sFirstTrainerMonX[i], - y + sFirstTrainerMonY[i], + x | sLeftTrainerMonX[i], + y + sLeftTrainerMonY[i], 0, 0, TRUE); - gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; + gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0; } else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN) { - sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[0]][i], + sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[0]][i], SpriteCb_MonIcon, - x | sFirstTrainerMonX[i], - y + sFirstTrainerMonY[i], + x | sLeftTrainerMonX[i], + y + sLeftTrainerMonY[i], 0, 0, TRUE); - gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; + gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0; } else { - sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[0]][i]].species, + sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[DOME_MONS[tournamentIds[0]][i]].species, SpriteCb_MonIcon, - x | sFirstTrainerMonX[i], - y + sFirstTrainerMonY[i], + x | sLeftTrainerMonX[i], + y + sLeftTrainerMonY[i], 0, 0, TRUE); - gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; + gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0; } - if (flags & 0x1E) - gSprites[sBattleDomeStruct->arr[2 + i + arrId]].invisible = TRUE; + if (flags & MOVE_CARD) + gSprites[sInfoCard->spriteIds[2 + i + arrId]].invisible = TRUE; if (lost[0]) { - gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.paletteNum = 3; - gSprites[sBattleDomeStruct->arr[2 + i + arrId]].sMonIconStill = TRUE; + gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.paletteNum = 3; + gSprites[sInfoCard->spriteIds[2 + i + arrId]].sMonIconStill = TRUE; } } - // Draw second trainer's pokemon icons. - for (i = 0; i < 3; i++) + // Draw right trainer's pokemon icons. + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { if (trainerIds[1] == TRAINER_PLAYER) { - sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[1]][i], + sInfoCard->spriteIds[5 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[1]][i], SpriteCb_MonIcon, - x | sSecondTrainerMonX[i], - y + sSecondTrainerMonY[i], + x | sRightTrainerMonX[i], + y + sRightTrainerMonY[i], 0, 0, TRUE); - gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.priority = 0; + gSprites[sInfoCard->spriteIds[5 + i + arrId]].oam.priority = 0; } else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN) { - sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[1]][i], + sInfoCard->spriteIds[5 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[1]][i], SpriteCb_MonIcon, - x | sSecondTrainerMonX[i], - y + sSecondTrainerMonY[i], + x | sRightTrainerMonX[i], + y + sRightTrainerMonY[i], 0, 0, TRUE); - gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.priority = 0; + gSprites[sInfoCard->spriteIds[5 + i + arrId]].oam.priority = 0; } else { - sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[1]][i]].species, + sInfoCard->spriteIds[5 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[DOME_MONS[tournamentIds[1]][i]].species, SpriteCb_MonIcon, - x | sSecondTrainerMonX[i], - y + sSecondTrainerMonY[i], + x | sRightTrainerMonX[i], + y + sRightTrainerMonY[i], 0, 0, TRUE); - gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.priority = 0; + gSprites[sInfoCard->spriteIds[5 + i + arrId]].oam.priority = 0; } - if (flags & 0x1E) - gSprites[sBattleDomeStruct->arr[5 + i + arrId]].invisible = TRUE; + if (flags & MOVE_CARD) + gSprites[sInfoCard->spriteIds[5 + i + arrId]].invisible = TRUE; if (lost[1]) { - gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.paletteNum = 3; - gSprites[sBattleDomeStruct->arr[5 + i + arrId]].sMonIconStill = TRUE; + gSprites[sInfoCard->spriteIds[5 + i + arrId]].oam.paletteNum = 3; + gSprites[sInfoCard->spriteIds[5 + i + arrId]].sMonIconStill = TRUE; } } - // Print the win string (or 'Let the battle begin!' one). + // Print the win string (or 'Let the battle begin!'). textPrinter.x = 0; textPrinter.y = 2; textPrinter.currentX = textPrinter.x; @@ -5151,9 +5081,9 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) textPrinter.letterSpacing = 0; textPrinter.lineSpacing = 0; textPrinter.unk = 0; - textPrinter.fgColor = 14; - textPrinter.bgColor = 0; - textPrinter.shadowColor = 13; + textPrinter.fgColor = TEXT_DYNAMIC_COLOR_5; + textPrinter.bgColor = TEXT_COLOR_TRANSPARENT; + textPrinter.shadowColor = TEXT_DYNAMIC_COLOR_4; StringExpandPlaceholders(gStringVar4, sBattleDomeWinTexts[winStringId]); textPrinter.currentChar = gStringVar4; textPrinter.windowId = windowId + 8; @@ -5164,7 +5094,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) textPrinter.currentY = textPrinter.y = 0; AddTextPrinter(&textPrinter, 0, NULL); - // Print first trainer's name. + // Print left trainer's name. if (trainerIds[0] == TRAINER_PLAYER) StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN) @@ -5182,7 +5112,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) CopyWindowToVram(windowId + 6, 3); AddTextPrinter(&textPrinter, 0, NULL); - // Print second trainer's name. + // Print right trainer's name. if (trainerIds[1] == TRAINER_PLAYER) StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN) @@ -5212,103 +5142,112 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) static void ShowDomeTourneyTree(void) { u8 taskId = CreateTask(Task_ShowTourneyTree, 0); - gTasks[taskId].data[0] = 0; - gTasks[taskId].data[1] = 0; + gTasks[taskId].tState = 0; + gTasks[taskId].tNotInteractive = FALSE; gTasks[taskId].data[2] = 2; - gTasks[taskId].data[4] = 0; - SetMainCallback2(CB2_BattleDome); + gTasks[taskId].tIsPrevTourneyTree = FALSE; + SetMainCallback2(CB2_TourneyTree); } -static void ShowPreviousDomeResultsTourneyTree(void) +// To show the results of the last tourney on the computer in the lobby +static void ShowPreviousDomeTourneyTree(void) { u8 taskId; - InitDomeFacilityTrainersAndMons(); - gSaveBlock2Ptr->frontier.lvlMode = gSaveBlock2Ptr->frontier.field_D0A - 1; - gSaveBlock2Ptr->frontier.curChallengeBattleNum = 3; + SetFacilityTrainerAndMonPtrs(); + gSaveBlock2Ptr->frontier.lvlMode = gSaveBlock2Ptr->frontier.domeLvlMode - 1; + gSaveBlock2Ptr->frontier.curChallengeBattleNum = DOME_FINAL; taskId = CreateTask(Task_ShowTourneyTree, 0); - gTasks[taskId].data[0] = 0; - gTasks[taskId].data[1] = 0; + gTasks[taskId].tState = 0; + gTasks[taskId].tNotInteractive = FALSE; gTasks[taskId].data[2] = 2; - gTasks[taskId].data[4] = 1; - SetMainCallback2(CB2_BattleDome); + gTasks[taskId].tIsPrevTourneyTree = TRUE; + SetMainCallback2(CB2_TourneyTree); } -static void sub_819395C(u8 taskId) +// Task states for Task_HandleTourneyTreeInput +#define STATE_FADE_IN 0 +#define STATE_WAIT_FADE 1 +#define STATE_GET_INPUT 2 +#define STATE_SHOW_INFOCARD_TRAINER 3 +#define STATE_SHOW_INFOCARD_MATCH 5 +#define STATE_CLOSE_TOURNEY_TREE 7 + +static void Task_HandleTourneyTreeInput(u8 taskId) { u8 newTaskId = 0; int spriteId = gTasks[taskId].data[1]; - switch (gTasks[taskId].data[0]) + switch (gTasks[taskId].tState) { - case 0: + case STATE_FADE_IN: if (!gPaletteFade.active) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); - gTasks[taskId].data[0] = 1; + gTasks[taskId].tState = STATE_WAIT_FADE; StartSpriteAnim(&gSprites[spriteId], 1); } break; - case 1: + case STATE_WAIT_FADE: if (!gPaletteFade.active) - gTasks[taskId].data[0] = 2; + gTasks[taskId].tState = STATE_GET_INPUT; break; - case 2: + case STATE_GET_INPUT: switch (UpdateTourneyTreeCursor(taskId)) { - case 0: + case TOURNEY_TREE_SELECTED_CLOSE: default: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); - gTasks[taskId].data[0] = 7; + gTasks[taskId].tState = STATE_CLOSE_TOURNEY_TREE; break; - case 1: + case TOURNEY_TREE_NO_SELECTION: break; - case 2: + case TOURNEY_TREE_SELECTED_TRAINER: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); - gTasks[taskId].data[0] = 3; + gTasks[taskId].tState = STATE_SHOW_INFOCARD_TRAINER; break; - case 3: + case TOURNEY_TREE_SELECTED_MATCH: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); - gTasks[taskId].data[0] = 5; + gTasks[taskId].tState = STATE_SHOW_INFOCARD_MATCH; break; } break; - case 3: + case STATE_SHOW_INFOCARD_TRAINER: if (!gPaletteFade.active) { FreeAllWindowBuffers(); ScanlineEffect_Stop(); FREE_AND_SET_NULL(sTilemapBuffer); - newTaskId = CreateTask(Task_ShowOpponentInfo, 0); - gTasks[newTaskId].data[0] = 0; - gTasks[newTaskId].data[1] = sTourneyTreeTrainerIds[spriteId]; - gTasks[newTaskId].data[2] = 1; - gTasks[newTaskId].data[3] = taskId; + newTaskId = CreateTask(Task_ShowTourneyInfoCard, 0); + gTasks[newTaskId].tState = 0; + gTasks[newTaskId].tTournamentId = sTourneyTreeTrainerIds[spriteId]; + gTasks[newTaskId].tMode = INFOCARD_TRAINER; + gTasks[newTaskId].tPrevTaskId = taskId; - gTasks[taskId].data[0] = 4; - sBattleDomeStruct->unk_10 = 0; + gTasks[taskId].tState = STATE_SHOW_INFOCARD_TRAINER + 1; + sInfoCard->pos = 0; } break; - case 4: + case STATE_SHOW_INFOCARD_TRAINER + 1: break; - case 5: + case STATE_SHOW_INFOCARD_MATCH: if (!gPaletteFade.active) { FreeAllWindowBuffers(); ScanlineEffect_Stop(); FREE_AND_SET_NULL(sTilemapBuffer); - newTaskId = CreateTask(Task_ShowOpponentInfo, 0); - gTasks[newTaskId].data[0] = 0; - gTasks[newTaskId].data[1] = spriteId - 16; - gTasks[newTaskId].data[2] = 2; - gTasks[newTaskId].data[3] = taskId; + newTaskId = CreateTask(Task_ShowTourneyInfoCard, 0); + gTasks[newTaskId].tState = 0; + gTasks[newTaskId].tTournamentId = spriteId - DOME_TOURNAMENT_TRAINERS_COUNT; + gTasks[newTaskId].tMode = INFOCARD_MATCH; + gTasks[newTaskId].tPrevTaskId = taskId; - gTasks[taskId].data[0] = 6; + gTasks[taskId].tState = STATE_SHOW_INFOCARD_MATCH + 1; } break; - case 6: + case STATE_SHOW_INFOCARD_MATCH + 1: break; - case 7: + case STATE_CLOSE_TOURNEY_TREE: if (!gPaletteFade.active) { FreeAllWindowBuffers(); @@ -5322,157 +5261,188 @@ static void sub_819395C(u8 taskId) } } +// undefine task states for Task_HandleTourneyTreeInput +#undef STATE_FADE_IN +#undef STATE_WAIT_FADE +#undef STATE_GET_INPUT +#undef STATE_SHOW_INFOCARD_TRAINER +#undef STATE_SHOW_INFOCARD_MATCH +#undef STATE_CLOSE_TOURNEY_TREE + + +#define MOVE_DIR_UP 0 +#define MOVE_DIR_DOWN 1 +#define MOVE_DIR_LEFT 2 +#define MOVE_DIR_RIGHT 3 +#define MOVE_DIR_NONE 4 + +// Move the tourney tree cursor +// The 'cursor' is actually just which button sprite is currently doing the 'selected' animation static u8 UpdateTourneyTreeCursor(u8 taskId) { - u8 retVal = 1; - int direction = 4; + u8 selection = TOURNEY_TREE_NO_SELECTION; + int direction = MOVE_DIR_NONE; int tourneyTreeCursorSpriteId = gTasks[taskId].data[1]; int roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum; - if (gMain.newKeys == B_BUTTON || (gMain.newKeys & A_BUTTON && tourneyTreeCursorSpriteId == 31)) + if (gMain.newKeys == B_BUTTON || (gMain.newKeys & A_BUTTON && tourneyTreeCursorSpriteId == TOURNEY_TREE_CLOSE_BUTTON)) { PlaySE(SE_SELECT); - retVal = 0; + selection = TOURNEY_TREE_SELECTED_CLOSE; } else if (gMain.newKeys & A_BUTTON) { - if (tourneyTreeCursorSpriteId < 16) + if (tourneyTreeCursorSpriteId < DOME_TOURNAMENT_TRAINERS_COUNT) { PlaySE(SE_SELECT); - retVal = 2; + selection = TOURNEY_TREE_SELECTED_TRAINER; } else { PlaySE(SE_SELECT); - retVal = 3; + selection = TOURNEY_TREE_SELECTED_MATCH; } } else { if (gMain.newKeys == DPAD_UP && sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][0] != 0xFF) - direction = 0; + direction = MOVE_DIR_UP; else if (gMain.newKeys == DPAD_DOWN && sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][1] != 0xFF) - direction = 1; + direction = MOVE_DIR_DOWN; else if (gMain.newKeys == DPAD_LEFT && sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][2] != 0xFF) - direction = 2; + direction = MOVE_DIR_LEFT; else if (gMain.newKeys == DPAD_RIGHT && sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][3] != 0xFF) - direction = 3; + direction = MOVE_DIR_RIGHT; } - if (direction != 4) + if (direction != MOVE_DIR_NONE) { PlaySE(SE_SELECT); - StartSpriteAnim(&gSprites[tourneyTreeCursorSpriteId], 0); + StartSpriteAnim(&gSprites[tourneyTreeCursorSpriteId], 0); // Do unselected sprite anim tourneyTreeCursorSpriteId = sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][direction]; - StartSpriteAnim(&gSprites[tourneyTreeCursorSpriteId], 1); + StartSpriteAnim(&gSprites[tourneyTreeCursorSpriteId], 1); // Do selected sprite anim gTasks[taskId].data[1] = tourneyTreeCursorSpriteId; } - return retVal; + return selection; } +#undef MOVE_DIR_UP +#undef MOVE_DIR_DOWN +#undef MOVE_DIR_LEFT +#undef MOVE_DIR_RIGHT +#undef MOVE_DIR_NONE + +// Shows the results of the just-completed round for the current tourney static void ShowNonInteractiveDomeTourneyTree(void) { u8 taskId = CreateTask(Task_ShowTourneyTree, 0); - gTasks[taskId].data[0] = 0; - gTasks[taskId].data[1] = 1; + gTasks[taskId].tState = 0; + gTasks[taskId].tNotInteractive = TRUE; gTasks[taskId].data[2] = 2; - gTasks[taskId].data[4] = 0; - SetMainCallback2(CB2_BattleDome); + gTasks[taskId].tIsPrevTourneyTree = FALSE; + SetMainCallback2(CB2_TourneyTree); } static void ResolveDomeRoundWinners(void) { int i; - if (gSpecialVar_0x8005 == 1) + if (gSpecialVar_0x8005 == DOME_PLAYER_WON_MATCH) { - gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].isEliminated = 1; - gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].eliminatedAt = gSaveBlock2Ptr->frontier.curChallengeBattleNum; - gSaveBlock2Ptr->frontier.field_EC0[TrainerIdToTournamentId(gTrainerBattleOpponent_A)] = gBattleResults.lastUsedMovePlayer; + DOME_TRAINERS[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].isEliminated = TRUE; + DOME_TRAINERS[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].eliminatedAt = gSaveBlock2Ptr->frontier.curChallengeBattleNum; + gSaveBlock2Ptr->frontier.domeWinningMoves[TrainerIdToTournamentId(gTrainerBattleOpponent_A)] = gBattleResults.lastUsedMovePlayer; + + // If the player's match was the final one, no NPC vs NPC matches to decide if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < DOME_FINAL) DecideRoundWinners(gSaveBlock2Ptr->frontier.curChallengeBattleNum); } - else + else // DOME_PLAYER_LOST_MATCH or DOME_PLAYER_RETIRED { - gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].isEliminated = 1; - gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].eliminatedAt = gSaveBlock2Ptr->frontier.curChallengeBattleNum; - gSaveBlock2Ptr->frontier.field_EC0[TrainerIdToTournamentId(TRAINER_PLAYER)] = gBattleResults.lastUsedMoveOpponent; - if (gBattleOutcome == B_OUTCOME_FORFEITED || gSpecialVar_0x8005 == 9) - gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].unk3 = 1; + DOME_TRAINERS[TrainerIdToTournamentId(TRAINER_PLAYER)].isEliminated = TRUE; + DOME_TRAINERS[TrainerIdToTournamentId(TRAINER_PLAYER)].eliminatedAt = gSaveBlock2Ptr->frontier.curChallengeBattleNum; + gSaveBlock2Ptr->frontier.domeWinningMoves[TrainerIdToTournamentId(TRAINER_PLAYER)] = gBattleResults.lastUsedMoveOpponent; + + if (gBattleOutcome == B_OUTCOME_FORFEITED || gSpecialVar_0x8005 == DOME_PLAYER_RETIRED) + DOME_TRAINERS[TrainerIdToTournamentId(TRAINER_PLAYER)].forfeited = TRUE; + + // Player lost, decide remaining outcome of tournament for (i = gSaveBlock2Ptr->frontier.curChallengeBattleNum; i < DOME_ROUNDS_COUNT; i++) DecideRoundWinners(i); } } +// Decides the winning move of an NPC vs NPC match static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roundId) { int i, j, k; - int moveScores[4 * 3]; - u16 moveIds[4 * 3]; + int moveScores[MAX_MON_MOVES * FRONTIER_PARTY_SIZE]; + u16 moveIds[MAX_MON_MOVES * FRONTIER_PARTY_SIZE]; u16 bestScore = 0; u16 bestId = 0; int movePower = 0; SetFacilityPtrsGetLevel(); // Calc move points of all 4 moves for all 3 pokemon hitting all 3 target mons. - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { for (j = 0; j < MAX_MON_MOVES; j++) { - // TODO: Clean this up, looks like a different data structure - moveScores[i * 4 + j] = 0; - if (gSaveBlock2Ptr->frontier.domeTrainers[winnerTournamentId].trainerId == TRAINER_FRONTIER_BRAIN) - moveIds[i * 4 + j] = GetFrontierBrainMonMove(i, j); + // TODO: Clean this up, looks like a different data structure (2D array) + moveScores[i * MAX_MON_MOVES + j] = 0; + if (DOME_TRAINERS[winnerTournamentId].trainerId == TRAINER_FRONTIER_BRAIN) + moveIds[i * MAX_MON_MOVES + j] = GetFrontierBrainMonMove(i, j); else - moveIds[i * 4 + j] = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[winnerTournamentId][i]].moves[j]; + moveIds[i * MAX_MON_MOVES + j] = gFacilityTrainerMons[DOME_MONS[winnerTournamentId][i]].moves[j]; - movePower = gBattleMoves[moveIds[i * 4 + j]].power; + movePower = gBattleMoves[moveIds[i * MAX_MON_MOVES + j]].power; if (movePower == 0) movePower = 40; else if (movePower == 1) movePower = 60; - else if (moveIds[i * 4 + j] == MOVE_SELF_DESTRUCT || moveIds[i * 4 + j] == MOVE_EXPLOSION) + else if (moveIds[i * MAX_MON_MOVES + j] == MOVE_SELF_DESTRUCT + || moveIds[i * MAX_MON_MOVES + j] == MOVE_EXPLOSION) movePower /= 2; - for (k = 0; k < 3; k++) + for (k = 0; k < FRONTIER_PARTY_SIZE; k++) { u32 var = 0; - u32 targetSpecies = 0; - u32 targetAbility = 0; + u16 targetSpecies = SPECIES_NONE; + u16 targetAbility = ABILITY_NONE; do { var = Random32(); - } while (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[loserTournamentId][k]].nature != GetNatureFromPersonality(var)); + } while (gFacilityTrainerMons[DOME_MONS[loserTournamentId][k]].nature != GetNatureFromPersonality(var)); - targetSpecies = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[loserTournamentId][k]].species; + targetSpecies = gFacilityTrainerMons[DOME_MONS[loserTournamentId][k]].species; if (var & 1) targetAbility = gBaseStats[targetSpecies].abilities[1]; else targetAbility = gBaseStats[targetSpecies].abilities[0]; - var = AI_TypeCalc(moveIds[i * 4 + j], targetSpecies, targetAbility); + var = AI_TypeCalc(moveIds[i * MAX_MON_MOVES + j], targetSpecies, targetAbility); if (var & MOVE_RESULT_NOT_VERY_EFFECTIVE && var & MOVE_RESULT_SUPER_EFFECTIVE) - moveScores[i * 4 + j] += movePower; + moveScores[i * MAX_MON_MOVES + j] += movePower; else if (var & MOVE_RESULT_NO_EFFECT) - moveScores[i * 4 + j] += 0; + moveScores[i * MAX_MON_MOVES + j] += 0; else if (var & MOVE_RESULT_SUPER_EFFECTIVE) - moveScores[i * 4 + j] += movePower * 2; + moveScores[i * MAX_MON_MOVES + j] += movePower * 2; else if (var & MOVE_RESULT_NOT_VERY_EFFECTIVE) - moveScores[i * 4 + j] += movePower / 2; + moveScores[i * MAX_MON_MOVES + j] += movePower / 2; else - moveScores[i * 4 + j] += movePower; + moveScores[i * MAX_MON_MOVES + j] += movePower; } - if (bestScore < moveScores[i * 4 + j]) + if (bestScore < moveScores[i * MAX_MON_MOVES + j]) { - bestId = i * 4 + j; - bestScore = moveScores[i * 4 + j]; + bestId = i * MAX_MON_MOVES + j; + bestScore = moveScores[i * MAX_MON_MOVES + j]; } - else if (bestScore == moveScores[i * 4 + j]) + else if (bestScore == moveScores[i * MAX_MON_MOVES + j]) { - if (moveIds[bestId] < moveIds[i * 4 + j]) // Why not use (Random() & 1) instead of promoting moves with a higher id? - bestId = i * 4 + j; + if (moveIds[bestId] < moveIds[i * MAX_MON_MOVES + j]) // Why not use (Random() & 1) instead of promoting moves with a higher id? + bestId = i * MAX_MON_MOVES + j; } } } @@ -5481,7 +5451,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun goto LABEL; while (j != 0) { - for (j = 0, k = 0; k < MAX_MON_MOVES * 3; k++) + for (j = 0, k = 0; k < MAX_MON_MOVES * FRONTIER_PARTY_SIZE; k++) { if (bestScore < moveScores[k]) { @@ -5499,7 +5469,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun { for (i = 0; i < roundId - 1; i++) { - if (gSaveBlock2Ptr->frontier.field_EC0[sub_81953E8(winnerTournamentId, i)] == moveIds[j]) + if (gSaveBlock2Ptr->frontier.domeWinningMoves[sub_81953E8(winnerTournamentId, i)] == moveIds[j]) break; } if (i == roundId - 1) @@ -5508,7 +5478,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun moveScores[j] = 0; bestScore = 0; j = 0; - for (k = 0; k < MAX_MON_MOVES * 3; k++) + for (k = 0; k < MAX_MON_MOVES * FRONTIER_PARTY_SIZE; k++) j += moveScores[k]; } } @@ -5523,10 +5493,10 @@ static void Task_ShowTourneyTree(u8 taskId) { int i; struct TextPrinterTemplate textPrinter; - int r10 = gTasks[taskId].data[1]; + int notInteractive = gTasks[taskId].tNotInteractive; int r4 = gTasks[taskId].data[2]; - switch (gTasks[taskId].data[0]) + switch (gTasks[taskId].tState) { case 0: SetHBlankCallback(NULL); @@ -5534,8 +5504,8 @@ static void Task_ShowTourneyTree(u8 taskId) EnableInterrupts(INTR_FLAG_HBLANK | INTR_FLAG_VBLANK); CpuFill32(0, (void *)VRAM, VRAM_SIZE); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_0860CE74, ARRAY_COUNT(gUnknown_0860CE74)); - InitWindows(gUnknown_0860CE94); + InitBgsFromTemplates(0, sTourneyTreeBgTemplates, ARRAY_COUNT(sTourneyTreeBgTemplates)); + InitWindows(sTourneyTreeWindowTemplates); DeactivateAllTextPrinters(); gBattle_BG0_X = 0; gBattle_BG0_Y = 0; @@ -5545,7 +5515,7 @@ static void Task_ShowTourneyTree(u8 taskId) ChangeBgY(2, 0, 0); ChangeBgX(3, 0, 0); ChangeBgY(3, 0xB00, 0); - gTasks[taskId].data[0]++; + gTasks[taskId].tState++; break; case 1: SetGpuReg(REG_OFFSET_BLDCNT, 0); @@ -5557,45 +5527,46 @@ static void Task_ShowTourneyTree(u8 taskId) SetGpuReg(REG_OFFSET_WIN1H, 0x9098); SetGpuReg(REG_OFFSET_WIN1V, 0x9F); SetGpuReg(REG_OFFSET_WININ, 0); - SetGpuReg(REG_OFFSET_WINOUT, 0x3F); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); ResetPaletteFade(); ResetSpriteData(); FreeAllSpritePalettes(); - gTasks[taskId].data[0]++; + gTasks[taskId].tState++; break; case 2: sTilemapBuffer = AllocZeroed(0x800); - LZDecompressWram(gUnknown_08D83900, sTilemapBuffer); + LZDecompressWram(gDomeTourneyLineMask_Tilemap, sTilemapBuffer); SetBgTilemapBuffer(1, sTilemapBuffer); CopyBgTilemapBufferToVram(1); - DecompressAndLoadBgGfxUsingHeap(1, gUnknown_08D82F10, 0x2000, 0, 0); - DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D834FC, 0x2000, 0, 0); - DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D83B2C, 0x2000, 0, 1); - DecompressAndLoadBgGfxUsingHeap(3, gUnknown_08D83C3C, 0x2000, 0, 1); - LoadCompressedPalette(gUnknown_08D85358, 0, 0x200); - LoadCompressedPalette(gUnknown_08D85444, 0x100, 0x200); - LoadCompressedPalette(gUnknown_08D85600, 0xF0, 0x20); + DecompressAndLoadBgGfxUsingHeap(1, gDomeTourneyBg_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyLine_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyLineDown_Tilemap, 0x2000, 0, 1); + DecompressAndLoadBgGfxUsingHeap(3, gDomeTourneyLineUp_Tilemap, 0x2000, 0, 1); + LoadCompressedPalette(gDomeTourneyTree_Pal, 0, 0x200); + LoadCompressedPalette(gDomeTourneyTreeButtons_Pal, 0x100, 0x200); + LoadCompressedPalette(gBattleWindowTextPalette, 0xF0, 0x20); CpuFill32(0, gPlttBufferFaded, 0x400); ShowBg(0); ShowBg(1); ShowBg(2); ShowBg(3); - gTasks[taskId].data[0]++; + gTasks[taskId].tState++; break; case 3: - LoadCompressedSpriteSheet(sDomeOptionsSpriteSheet); - if (r10 == 0) + LoadCompressedSpriteSheet(sTourneyTreeButtonsSpriteSheet); + if (notInteractive == FALSE) { - for (i = 0; i < (unsigned) 31; i++) - CreateSprite(&gUnknown_0860CFA8, gUnknown_0860D411[i][0], gUnknown_0860D411[i][1], 0); - if (gTasks[taskId].data[4]) - CreateSprite(&gUnknown_0860D008, 218, 12, 0); + for (i = 0; i < ARRAY_COUNT(sTourneyTreePokeballCoords); i++) + CreateSprite(&sTourneyTreePokeballSpriteTemplate, sTourneyTreePokeballCoords[i][0], sTourneyTreePokeballCoords[i][1], 0); + + if (gTasks[taskId].tIsPrevTourneyTree) + CreateSprite(&sExitButtonSpriteTemplate, 218, 12, 0); else - CreateSprite(&gUnknown_0860CFD8, 218, 12, 0); + CreateSprite(&sCancelButtonSpriteTemplate, 218, 12, 0); } SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON | DISPCNT_OBJ_1D_MAP); - gTasks[taskId].data[0]++; + gTasks[taskId].tState++; break; case 4: textPrinter.fontId = 2; @@ -5608,94 +5579,94 @@ static void Task_ShowTourneyTree(u8 taskId) textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.currentChar, 0x70, textPrinter.letterSpacing); textPrinter.currentY = 1; textPrinter.unk = 0; - textPrinter.fgColor = 14; - textPrinter.bgColor = 0; - textPrinter.shadowColor = 13; + textPrinter.fgColor = TEXT_DYNAMIC_COLOR_5; + textPrinter.bgColor = TEXT_COLOR_TRANSPARENT; + textPrinter.shadowColor = TEXT_DYNAMIC_COLOR_4; AddTextPrinter(&textPrinter, 0, NULL); for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) { int roundId, var2; - CopyDomeTrainerName(gDisplayedStringBattle, gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId); - if (r10 == 1) + CopyDomeTrainerName(gDisplayedStringBattle, DOME_TRAINERS[i].trainerId); + if (notInteractive == TRUE) { - if (gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated) + if (DOME_TRAINERS[i].isEliminated) { - if (gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt != 0) + if (DOME_TRAINERS[i].eliminatedAt != DOME_ROUND1) { - var2 = gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt - 1; - sub_81948EC(i, var2); + var2 = DOME_TRAINERS[i].eliminatedAt - 1; + DrawTourneyAdvancementLine(i, var2); } } else if (gSaveBlock2Ptr->frontier.curChallengeBattleNum != DOME_ROUND2) { - sub_81948EC(i, gSaveBlock2Ptr->frontier.curChallengeBattleNum - 2); + DrawTourneyAdvancementLine(i, gSaveBlock2Ptr->frontier.curChallengeBattleNum - 2); } } - else if (r10 == 0) + else if (notInteractive == FALSE) { - if (gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated) + if (DOME_TRAINERS[i].isEliminated) { - if (gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt != 0) + if (DOME_TRAINERS[i].eliminatedAt != DOME_ROUND1) { - var2 = gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt - 1; - sub_81948EC(i, var2); + var2 = DOME_TRAINERS[i].eliminatedAt - 1; + DrawTourneyAdvancementLine(i, var2); } } else if (gSaveBlock2Ptr->frontier.curChallengeBattleNum != DOME_ROUND1) { - if (gTasks[taskId].data[4]) + if (gTasks[taskId].tIsPrevTourneyTree) var2 = gSaveBlock2Ptr->frontier.curChallengeBattleNum; else var2 = gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1; - sub_81948EC(i, var2); + DrawTourneyAdvancementLine(i, var2); } } - if (gTasks[taskId].data[4]) + if (gTasks[taskId].tIsPrevTourneyTree) roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum; else roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1; - if ( ((r10 == 1 && gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt < gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1) - || (r10 == 0 && gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt <= roundId)) - && gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated) + if ( ((notInteractive == TRUE && DOME_TRAINERS[i].eliminatedAt < gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1) + || (notInteractive == FALSE && DOME_TRAINERS[i].eliminatedAt <= roundId)) + && DOME_TRAINERS[i].isEliminated) { - if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == TRAINER_PLAYER) + if (DOME_TRAINERS[i].trainerId == TRAINER_PLAYER) { - textPrinter.fgColor = 3; - textPrinter.shadowColor = 4; + textPrinter.fgColor = TEXT_COLOR_LIGHT_GREY; + textPrinter.shadowColor = TEXT_COLOR_RED; } else { - textPrinter.fgColor = 11; - textPrinter.shadowColor = 13; + textPrinter.fgColor = TEXT_DYNAMIC_COLOR_2; + textPrinter.shadowColor = TEXT_DYNAMIC_COLOR_4; } } else { - if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == TRAINER_PLAYER) + if (DOME_TRAINERS[i].trainerId == TRAINER_PLAYER) { - textPrinter.fgColor = 3; - textPrinter.shadowColor = 4; + textPrinter.fgColor = TEXT_COLOR_LIGHT_GREY; + textPrinter.shadowColor = TEXT_COLOR_RED; } else { - textPrinter.fgColor = 14; - textPrinter.shadowColor = 13; + textPrinter.fgColor = TEXT_DYNAMIC_COLOR_5; + textPrinter.shadowColor = TEXT_DYNAMIC_COLOR_4; } } - if (gUnknown_0860D3F1[i][0] == 0) + if (sTrainerNamePositions[i][0] == 0) textPrinter.currentX = GetStringWidthDifference(textPrinter.fontId, gDisplayedStringBattle, 0x3D, textPrinter.letterSpacing); else textPrinter.currentX = 3; textPrinter.currentChar = gDisplayedStringBattle; - textPrinter.windowId = gUnknown_0860D3F1[i][0]; - textPrinter.currentY = gUnknown_0860D3F1[i][1]; + textPrinter.windowId = sTrainerNamePositions[i][0]; + textPrinter.currentY = sTrainerNamePositions[i][1]; AddTextPrinter(&textPrinter, 0, NULL); } - gTasks[taskId].data[0]++; + gTasks[taskId].tState++; break; case 5: PutWindowTilemap(0); @@ -5704,27 +5675,27 @@ static void Task_ShowTourneyTree(u8 taskId) CopyWindowToVram(0, 3); CopyWindowToVram(1, 3); CopyWindowToVram(2, 3); - SetHBlankCallback(HblankCb_BattleDome); - SetVBlankCallback(VblankCb1_BattleDome); + SetHBlankCallback(HblankCb_TourneyTree); + SetVBlankCallback(VblankCb_TourneyTree); if (r4 == 2) { - if (r10 == 0) + if (notInteractive == FALSE) { - i = CreateTask(sub_819395C, 0); - gTasks[i].data[0] = r10; - gTasks[i].data[1] = r10; - gTasks[i].data[6] = gTasks[taskId].data[4]; + i = CreateTask(Task_HandleTourneyTreeInput, 0); + gTasks[i].data[0] = notInteractive; + gTasks[i].data[1] = notInteractive; + gTasks[i].data[6] = gTasks[taskId].tIsPrevTourneyTree; } else { - i = CreateTask(sub_8194950, 0); + i = CreateTask(Task_HandleStaticTourneyTreeInput, 0); gTasks[i].data[0] = 0; } } else { i = gTasks[taskId].data[3]; - gTasks[i].data[0] = 0; + gTasks[i].tState = 0; } ScanlineEffect_Clear(); @@ -5749,32 +5720,39 @@ static void Task_ShowTourneyTree(u8 taskId) } } -static void sub_81948EC(u8 tournamentId, u8 arg1) +static void DrawTourneyAdvancementLine(u8 tournamentId, u8 roundId) { int i; - const struct UnkStruct_860DD10 *structPtr = gUnknown_0860DD10[tournamentId][arg1]; + const struct TourneyTreeLineSection *lineSection = sTourneyTreeLineSections[tournamentId][roundId]; - for (i = 0; i < gUnknown_0860DE10[tournamentId][arg1]; i++) - CopyToBgTilemapBufferRect_ChangePalette(1, &structPtr[i].src, structPtr[i].x, structPtr[i].y, 1, 1, 0x11); + for (i = 0; i < sTourneyTreeLineSectionArrayCounts[tournamentId][roundId]; i++) + CopyToBgTilemapBufferRect_ChangePalette(1, &lineSection[i].src, lineSection[i].x, lineSection[i].y, 1, 1, 17); CopyBgTilemapBufferToVram(1); } -static void sub_8194950(u8 taskId) +#define STATE_FADE_IN 0 +#define STATE_SHOW_RESULTS 1 +#define STATE_DELAY 2 +#define STATE_WAIT_FOR_INPUT 3 +#define STATE_CLOSE_TOURNEY_TREE 4 + +// The non-interactive tourney tree that's shown when a round is completed +static void Task_HandleStaticTourneyTreeInput(u8 taskId) { int i; struct TextPrinterTemplate textPrinter; - switch (gTasks[taskId].data[0]) + switch (gTasks[taskId].tState) { - case 0: + case STATE_FADE_IN: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); - gTasks[taskId].data[0] = 1; + gTasks[taskId].tState = STATE_SHOW_RESULTS; break; - case 1: + case STATE_SHOW_RESULTS: if (!gPaletteFade.active) { - gTasks[taskId].data[0] = 2; + gTasks[taskId].tState = STATE_DELAY; gTasks[taskId].data[3] = 64; textPrinter.fontId = 2; textPrinter.x = 0; @@ -5782,45 +5760,47 @@ static void sub_8194950(u8 taskId) textPrinter.letterSpacing = 2; textPrinter.lineSpacing = 0; textPrinter.unk = 0; - textPrinter.fgColor = 11; - textPrinter.bgColor = 0; - textPrinter.shadowColor = 13; + textPrinter.fgColor = TEXT_DYNAMIC_COLOR_2; + textPrinter.bgColor = TEXT_COLOR_TRANSPARENT; + textPrinter.shadowColor = TEXT_DYNAMIC_COLOR_4; + + // Update the advancement lines and gray out eliminated trainer names for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) { - CopyDomeTrainerName(gDisplayedStringBattle, gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId); - if (gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt == gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1 - && gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated) + CopyDomeTrainerName(gDisplayedStringBattle, DOME_TRAINERS[i].trainerId); + if (DOME_TRAINERS[i].eliminatedAt == gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1 + && DOME_TRAINERS[i].isEliminated) { - if (gUnknown_0860D3F1[i][0] == 0) + if (sTrainerNamePositions[i][0] == 0) textPrinter.currentX = GetStringWidthDifference(textPrinter.fontId, gDisplayedStringBattle, 0x3D, textPrinter.letterSpacing); else textPrinter.currentX = 3; textPrinter.currentChar = gDisplayedStringBattle; - textPrinter.windowId = gUnknown_0860D3F1[i][0]; - textPrinter.currentY = gUnknown_0860D3F1[i][1]; + textPrinter.windowId = sTrainerNamePositions[i][0]; + textPrinter.currentY = sTrainerNamePositions[i][1]; AddTextPrinter(&textPrinter, 0, NULL); } - if (!gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated) + if (!DOME_TRAINERS[i].isEliminated) { int roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1; - sub_81948EC(i, roundId); + DrawTourneyAdvancementLine(i, roundId); } } } break; - case 2: + case STATE_DELAY: if (--gTasks[taskId].data[3] == 0) - gTasks[taskId].data[0] = 3; + gTasks[taskId].tState = STATE_WAIT_FOR_INPUT; break; - case 3: + case STATE_WAIT_FOR_INPUT: if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); - gTasks[taskId].data[0] = 4; + gTasks[taskId].tState = STATE_CLOSE_TOURNEY_TREE; } break; - case 4: + case STATE_CLOSE_TOURNEY_TREE: if (!gPaletteFade.active) { SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); @@ -5830,7 +5810,13 @@ static void sub_8194950(u8 taskId) } } -static void CB2_BattleDome(void) +#undef STATE_FADE_IN +#undef STATE_SHOW_RESULTS +#undef STATE_DELAY +#undef STATE_WAIT_FOR_INPUT +#undef STATE_CLOSE_TOURNEY_TREE + +static void CB2_TourneyTree(void) { AnimateSprites(); BuildOamBuffer(); @@ -5839,7 +5825,7 @@ static void CB2_BattleDome(void) RunTasks(); } -static void VblankCb0_BattleDome(void) +static void VblankCb_TourneyInfoCard(void) { ChangeBgX(3, 0x80, 1); ChangeBgY(3, 0x80, 2); @@ -5859,7 +5845,7 @@ static void VblankCb0_BattleDome(void) *(vu32*)(REG_ADDR_WIN0H) = ((win0H << 16) | (win1H)); \ } -static void HblankCb_BattleDome(void) +static void HblankCb_TourneyTree(void) { register u32 vCount asm("r0") = REG_VCOUNT; register u32 vCount_ asm("r1") = vCount; @@ -5867,7 +5853,8 @@ static void HblankCb_BattleDome(void) { if (vCount < 50) { - REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR; + REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR + | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR; SET_WIN0H_WIN1H(WIN_RANGE(152, 155), WIN_RANGE(85, 88)); return; } @@ -5875,13 +5862,15 @@ static void HblankCb_BattleDome(void) { if (vCount < 75) { - REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR; + REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR + | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR; SET_WIN0H_WIN1H(WIN_RANGE(144, 152), WIN_RANGE(88, 96)); return; } else if (vCount < 82) { - REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR; + REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR + | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR; SET_WIN0H_WIN1H(WIN_RANGE(152, 155), WIN_RANGE(85, 88)); return; } @@ -5889,13 +5878,15 @@ static void HblankCb_BattleDome(void) { if (vCount < 103) { - REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR; + REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR + | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR; SET_WIN0H_WIN1H(WIN_RANGE(152, 155), WIN_RANGE(85, 88)); return; } else if (vCount < 119) { - REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR; + REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR + | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR; SET_WIN0H_WIN1H(WIN_RANGE(144, 152), WIN_RANGE(88, 96)); return; } @@ -5903,7 +5894,8 @@ static void HblankCb_BattleDome(void) { if (vCount_ < 135) { - REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR; + REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR + | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR; SET_WIN0H_WIN1H(WIN_RANGE(152, 155), WIN_RANGE(85, 88)); return; } @@ -5912,11 +5904,12 @@ static void HblankCb_BattleDome(void) } } - REG_WININ = WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ | WININ_WIN1_BG_ALL | WININ_WIN1_CLR | WININ_WIN1_OBJ; + REG_WININ = WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ + | WININ_WIN1_BG_ALL | WININ_WIN1_CLR | WININ_WIN1_OBJ; SET_WIN0H_WIN1H(0, 0); } -static void VblankCb1_BattleDome(void) +static void VblankCb_TourneyTree(void) { SetGpuReg(REG_OFFSET_BG0HOFS, gBattle_BG0_X); SetGpuReg(REG_OFFSET_BG0VOFS, gBattle_BG0_Y); @@ -5930,17 +5923,17 @@ static void VblankCb1_BattleDome(void) ScanlineEffect_InitHBlankDmaTransfer(); } -static void InitDomeFacilityTrainersAndMons(void) +static void SetFacilityTrainerAndMonPtrs(void) { gFacilityTrainerMons = gBattleFrontierMons; gFacilityTrainers = gBattleFrontierTrainers; } -static void RestoreDomePlayerParty(void) +static void ResetSketchedMoves(void) { int i, moveSlot; - for (i = 0; i < 2; i++) + for (i = 0; i < DOME_BATTLE_PARTY_SIZE; i++) { int playerMonId = gSaveBlock2Ptr->frontier.selectedPartyMons[gSelectedOrderFromParty[i] - 1] - 1; int count; @@ -5966,7 +5959,7 @@ static void RestoreDomePlayerPartyHeldItems(void) { int i; - for (i = 0; i < 2; i++) + for (i = 0; i < DOME_BATTLE_PARTY_SIZE; i++) { int playerMonId = gSaveBlock2Ptr->frontier.selectedPartyMons[gSelectedOrderFromParty[i] - 1] - 1; u16 item = GetMonData(&gSaveBlock1Ptr->playerParty[playerMonId], MON_DATA_HELD_ITEM, NULL); @@ -5974,13 +5967,14 @@ static void RestoreDomePlayerPartyHeldItems(void) } } -static void ReduceDomePlayerPartyTo3Mons(void) +static void ReduceDomePlayerPartyToSelectedMons(void) { ReducePlayerPartyToSelectedMons(); } static void GetPlayerSeededBeforeOpponent(void) { + // A higher tournament ID is a worse seed if (TrainerIdToTournamentId(gTrainerBattleOpponent_A) > TrainerIdToTournamentId(TRAINER_PLAYER)) gSpecialVar_Result = 1; else @@ -5991,23 +5985,24 @@ static void BufferLastDomeWinnerName(void) { int i; - InitDomeFacilityTrainersAndMons(); + SetFacilityTrainerAndMonPtrs(); for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) { - if (!gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated) + if (!DOME_TRAINERS[i].isEliminated) break; } - CopyDomeTrainerName(gStringVar1, gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId); + CopyDomeTrainerName(gStringVar1, DOME_TRAINERS[i].trainerId); } -static void sub_8194F58(void) +// For showing the previous tourney results before the player has entered a challenge +static void InitRandomTourneyTreeResults(void) { int i, j, k; int monLevel; - int species[3]; + int species[FRONTIER_PARTY_SIZE]; int monTypesBits; int trainerId; - int monSetId; + int monId; u8 lvlMode; u16 *statSums; int *statValues; @@ -6016,18 +6011,18 @@ static void sub_8194F58(void) species[0] = 0; species[1] = 0; species[2] = 0; - if ((gSaveBlock2Ptr->frontier.field_D0A != -gSaveBlock2Ptr->frontier.field_D0B) && gSaveBlock2Ptr->frontier.field_CA8 != 1) + if ((gSaveBlock2Ptr->frontier.domeLvlMode != -gSaveBlock2Ptr->frontier.domeBattleMode) && gSaveBlock2Ptr->frontier.challengeStatus != CHALLENGE_STATUS_SAVING) return; statSums = AllocZeroed(sizeof(u16) * DOME_TOURNAMENT_TRAINERS_COUNT); - statValues = AllocZeroed(sizeof(int) * 6); + statValues = AllocZeroed(sizeof(int) * NUM_STATS); lvlMode = gSaveBlock2Ptr->frontier.lvlMode; - gSaveBlock2Ptr->frontier.lvlMode = 0; + gSaveBlock2Ptr->frontier.lvlMode = FRONTIER_LVL_50; // This one, I'd like to call a 'C fakematching'. { u8 one; - gSaveBlock2Ptr->frontier.field_D0A = (one = 1); - gSaveBlock2Ptr->frontier.field_D0B = one; + gSaveBlock2Ptr->frontier.domeLvlMode = (one = 1); + gSaveBlock2Ptr->frontier.domeBattleMode = one; } for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) @@ -6043,35 +6038,35 @@ static void sub_8194F58(void) for (j = 0; j < i; j++) { - if (gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId == trainerId) + if (DOME_TRAINERS[j].trainerId == trainerId) break; } } while (j != i); - gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId = trainerId; - for (j = 0; j < 3; j++) + DOME_TRAINERS[i].trainerId = trainerId; + for (j = 0; j < FRONTIER_PARTY_SIZE; j++) { - // Make sure the mon is valid. do { - monSetId = RandomizeFacilityTrainerMonSet(trainerId); + monId = GetRandomFrontierMonFromSet(trainerId); for (k = 0; k < j; k++) { - int checkingMonId = gSaveBlock2Ptr->frontier.domeMonIds[i][k]; - if (checkingMonId == monSetId - || species[0] == gFacilityTrainerMons[monSetId].species - || species[1] == gFacilityTrainerMons[monSetId].species - || gFacilityTrainerMons[checkingMonId].itemTableId == gFacilityTrainerMons[monSetId].itemTableId) + // Make sure the mon is valid. + int alreadySelectedMonId = DOME_MONS[i][k]; + if (alreadySelectedMonId == monId + || species[0] == gFacilityTrainerMons[monId].species + || species[1] == gFacilityTrainerMons[monId].species + || gFacilityTrainerMons[alreadySelectedMonId].itemTableId == gFacilityTrainerMons[monId].itemTableId) break; } } while (k != j); - gSaveBlock2Ptr->frontier.domeMonIds[i][j] = monSetId; - species[j] = gFacilityTrainerMons[monSetId].species; + DOME_MONS[i][j] = monId; + species[j] = gFacilityTrainerMons[monId].species; } - gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated = 0; - gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt = 0; - gSaveBlock2Ptr->frontier.domeTrainers[i].unk3 = 0; + DOME_TRAINERS[i].isEliminated = FALSE; + DOME_TRAINERS[i].eliminatedAt = 0; + DOME_TRAINERS[i].forfeited = FALSE; } monLevel = 50; @@ -6079,13 +6074,13 @@ static void sub_8194F58(void) { monTypesBits = 0; statSums[i] = 0; - ivs = GetDomeTrainerMonIvs(gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId); - for (j = 0; j < 3; j++) + ivs = GetDomeTrainerMonIvs(DOME_TRAINERS[i].trainerId); + for (j = 0; j < FRONTIER_PARTY_SIZE; j++) { - CalcDomeMonStats(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species, + CalcDomeMonStats(gFacilityTrainerMons[DOME_MONS[i][j]].species, monLevel, ivs, - gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].evSpread, - gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].nature, + gFacilityTrainerMons[DOME_MONS[i][j]].evSpread, + gFacilityTrainerMons[DOME_MONS[i][j]].nature, statValues); statSums[i] += statValues[STAT_ATK]; @@ -6094,8 +6089,8 @@ static void sub_8194F58(void) statSums[i] += statValues[STAT_SPDEF]; statSums[i] += statValues[STAT_SPEED]; statSums[i] += statValues[STAT_HP]; - monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species].type1]; - monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species].type2]; + monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[DOME_MONS[i][j]].species].type1]; + monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[DOME_MONS[i][j]].species].type2]; } // Because GF hates temporary vars, trainerId acts like monTypesCount here. @@ -6118,7 +6113,7 @@ static void sub_8194F58(void) } else if (statSums[i] == statSums[j]) { - if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId > gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId) + if (DOME_TRAINERS[i].trainerId > DOME_TRAINERS[j].trainerId) SwapDomeTrainers(i, j, statSums); } } @@ -6127,7 +6122,7 @@ static void sub_8194F58(void) Free(statSums); Free(statValues); - for (i = 0; i < 4; i++) + for (i = 0; i < DOME_ROUNDS_COUNT; i++) DecideRoundWinners(i); gSaveBlock2Ptr->frontier.lvlMode = lvlMode; @@ -6139,7 +6134,7 @@ static int TrainerIdToTournamentId(u16 trainerId) for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) { - if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == trainerId) + if (DOME_TRAINERS[i].trainerId == trainerId) break; } @@ -6153,7 +6148,7 @@ int TrainerIdToDomeTournamentId(u16 trainerId) for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) { - if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == trainerId) + if (DOME_TRAINERS[i].trainerId == trainerId) break; } @@ -6162,14 +6157,15 @@ int TrainerIdToDomeTournamentId(u16 trainerId) static u8 sub_81953E8(u8 tournamentId, u8 round) { - u8 arr[2]; - sub_8192F08(gUnknown_0860D1A0[gUnknown_0860D1C0[tournamentId] / 2][round] - 16, arr); - if (tournamentId == arr[0]) - return arr[1]; + u8 tournamentIds[2]; + BufferDomeWinString(gUnknown_0860D1A0[gUnknown_0860D1C0[tournamentId] / 2][round] - 16, tournamentIds); + if (tournamentId == tournamentIds[0]) + return tournamentIds[1]; else - return arr[0]; + return tournamentIds[0]; } +// Determines which trainers won in the NPC vs NPC battles static void DecideRoundWinners(u8 roundId) { int i; @@ -6180,24 +6176,24 @@ static void DecideRoundWinners(u8 roundId) for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) { - if (gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated || gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == TRAINER_PLAYER) + if (DOME_TRAINERS[i].isEliminated || DOME_TRAINERS[i].trainerId == TRAINER_PLAYER) continue; tournamentId1 = i; - tournamentId2 = TournamentIdOfOpponent(roundId, gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].trainerId); + tournamentId2 = TournamentIdOfOpponent(roundId, DOME_TRAINERS[tournamentId1].trainerId); // Frontier Brain always wins, check tournamentId1. - if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].trainerId == TRAINER_FRONTIER_BRAIN && tournamentId2 != 0xFF) + if (DOME_TRAINERS[tournamentId1].trainerId == TRAINER_FRONTIER_BRAIN && tournamentId2 != 0xFF) { - gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].isEliminated = 1; - gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].eliminatedAt = roundId; - gSaveBlock2Ptr->frontier.field_EC0[tournamentId2] = GetWinningMove(tournamentId1, tournamentId2, roundId); + DOME_TRAINERS[tournamentId2].isEliminated = TRUE; + DOME_TRAINERS[tournamentId2].eliminatedAt = roundId; + gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId2] = GetWinningMove(tournamentId1, tournamentId2, roundId); } // Frontier Brain always wins, check tournamentId2. - else if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].trainerId == TRAINER_FRONTIER_BRAIN && tournamentId1 != 0xFF) + else if (DOME_TRAINERS[tournamentId2].trainerId == TRAINER_FRONTIER_BRAIN && tournamentId1 != 0xFF) { - gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].isEliminated = 1; - gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].eliminatedAt = roundId; - gSaveBlock2Ptr->frontier.field_EC0[tournamentId1] = GetWinningMove(tournamentId2, tournamentId1, roundId); + DOME_TRAINERS[tournamentId1].isEliminated = TRUE; + DOME_TRAINERS[tournamentId1].eliminatedAt = roundId; + gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId1] = GetWinningMove(tournamentId2, tournamentId1, roundId); } // Decide which one of two trainers wins! else if (tournamentId2 != 0xFF) @@ -6205,17 +6201,17 @@ static void DecideRoundWinners(u8 roundId) // BUG: points1 and points2 are not cleared at the beginning of the loop resulting in not fair results. // Calculate points for both trainers. - for (monId1 = 0; monId1 < 3; monId1++) + for (monId1 = 0; monId1 < FRONTIER_PARTY_SIZE; monId1++) { for (moveSlot = 0; moveSlot < MAX_MON_MOVES; moveSlot++) { - for (monId2 = 0; monId2 < 3; monId2++) + for (monId2 = 0; monId2 < FRONTIER_PARTY_SIZE; monId2++) { - points1 += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId1][monId1]].moves[moveSlot], - gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId2][monId2]].species, 2); + points1 += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentId1][monId1]].moves[moveSlot], + gFacilityTrainerMons[DOME_MONS[tournamentId2][monId2]].species, 2); } } - species = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId1][monId1]].species; + species = gFacilityTrainerMons[DOME_MONS[tournamentId1][monId1]].species; points1 += ( gBaseStats[species].baseHP + gBaseStats[species].baseAttack + gBaseStats[species].baseDefense @@ -6228,17 +6224,17 @@ static void DecideRoundWinners(u8 roundId) // Favor trainers with higher id; points1 += tournamentId1; - for (monId1 = 0; monId1 < 3; monId1++) + for (monId1 = 0; monId1 < FRONTIER_PARTY_SIZE; monId1++) { for (moveSlot = 0; moveSlot < MAX_MON_MOVES; moveSlot++) { - for (monId2 = 0; monId2 < 3; monId2++) + for (monId2 = 0; monId2 < FRONTIER_PARTY_SIZE; monId2++) { - points2 += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId2][monId1]].moves[moveSlot], - gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId1][monId2]].species, 2); + points2 += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentId2][monId1]].moves[moveSlot], + gFacilityTrainerMons[DOME_MONS[tournamentId1][monId2]].species, 2); } } - species = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId2][monId1]].species; + species = gFacilityTrainerMons[DOME_MONS[tournamentId2][monId1]].species; points2 += ( gBaseStats[species].baseHP + gBaseStats[species].baseAttack + gBaseStats[species].baseDefense @@ -6253,28 +6249,28 @@ static void DecideRoundWinners(u8 roundId) if (points1 > points2) { - gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].isEliminated = 1; - gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].eliminatedAt = roundId; - gSaveBlock2Ptr->frontier.field_EC0[tournamentId2] = GetWinningMove(tournamentId1, tournamentId2, roundId); + DOME_TRAINERS[tournamentId2].isEliminated = TRUE; + DOME_TRAINERS[tournamentId2].eliminatedAt = roundId; + gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId2] = GetWinningMove(tournamentId1, tournamentId2, roundId); } else if (points1 < points2) { - gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].isEliminated = 1; - gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].eliminatedAt = roundId; - gSaveBlock2Ptr->frontier.field_EC0[tournamentId1] = GetWinningMove(tournamentId2, tournamentId1, roundId); + DOME_TRAINERS[tournamentId1].isEliminated = TRUE; + DOME_TRAINERS[tournamentId1].eliminatedAt = roundId; + gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId1] = GetWinningMove(tournamentId2, tournamentId1, roundId); } // Points are the same, so we favor the one with the higher id. else if (tournamentId1 > tournamentId2) { - gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].isEliminated = 1; - gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].eliminatedAt = roundId; - gSaveBlock2Ptr->frontier.field_EC0[tournamentId2] = GetWinningMove(tournamentId1, tournamentId2, roundId); + DOME_TRAINERS[tournamentId2].isEliminated = TRUE; + DOME_TRAINERS[tournamentId2].eliminatedAt = roundId; + gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId2] = GetWinningMove(tournamentId1, tournamentId2, roundId); } else { - gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].isEliminated = 1; - gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].eliminatedAt = roundId; - gSaveBlock2Ptr->frontier.field_EC0[tournamentId1] = GetWinningMove(tournamentId2, tournamentId1, roundId); + DOME_TRAINERS[tournamentId1].isEliminated = TRUE; + DOME_TRAINERS[tournamentId1].eliminatedAt = roundId; + gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId1] = GetWinningMove(tournamentId2, tournamentId1, roundId); } } } @@ -6296,7 +6292,7 @@ static void CopyDomeTrainerName(u8 *str, u16 trainerId) for (i = 0; i < PLAYER_NAME_LENGTH; i++) str[i] = gSaveBlock2Ptr->playerName[i]; } - else if (trainerId < 300) + else if (trainerId < FRONTIER_TRAINERS_COUNT) { for (i = 0; i < PLAYER_NAME_LENGTH; i++) str[i] = gFacilityTrainers[trainerId].trainerName[i]; diff --git a/src/battle_factory.c b/src/battle_factory.c index bc47b1fda3..913b1b1a0f 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -10,7 +10,10 @@ #include "random.h" #include "constants/species.h" #include "constants/battle_ai.h" +#include "constants/battle_factory.h" #include "constants/battle_frontier.h" +#include "constants/battle_frontier_mons.h" +#include "constants/frontier_util.h" #include "constants/layouts.h" #include "constants/trainers.h" #include "constants/moves.h" @@ -22,7 +25,7 @@ static bool8 sPerformedRentalSwap; static void InitFactoryChallenge(void); static void GetBattleFactoryData(void); static void SetBattleFactoryData(void); -static void sub_81A613C(void); +static void SaveFactoryChallenge(void); static void nullsub_75(void); static void nullsub_123(void); static void SelectInitialRentalMons(void); @@ -48,14 +51,14 @@ static const u16 sMoves_TotalPreparation[] = MOVE_MINIMIZE, MOVE_WITHDRAW, MOVE_DEFENSE_CURL, MOVE_BARRIER, MOVE_FOCUS_ENERGY, MOVE_AMNESIA, MOVE_ACID_ARMOR, MOVE_SHARPEN, MOVE_CONVERSION, MOVE_CONVERSION_2, MOVE_BELLY_DRUM, MOVE_PSYCH_UP, MOVE_CHARGE, MOVE_SNATCH, MOVE_TAIL_GLOW, MOVE_COSMIC_POWER, MOVE_IRON_DEFENSE, MOVE_HOWL, MOVE_BULK_UP, MOVE_CALM_MIND, MOVE_DRAGON_DANCE, - 0 + MOVE_NONE }; static const u16 sMoves_ImpossibleToPredict[] = { MOVE_MIMIC, MOVE_METRONOME, MOVE_MIRROR_MOVE, MOVE_TRANSFORM, MOVE_SUBSTITUTE, MOVE_SKETCH, MOVE_CURSE, MOVE_PRESENT, MOVE_FOLLOW_ME, MOVE_TRICK, MOVE_ROLE_PLAY, MOVE_ASSIST, MOVE_SKILL_SWAP, MOVE_CAMOUFLAGE, - 0 + MOVE_NONE }; static const u16 sMoves_WeakeningTheFoe[] = @@ -63,7 +66,7 @@ static const u16 sMoves_WeakeningTheFoe[] = MOVE_SAND_ATTACK, MOVE_TAIL_WHIP, MOVE_LEER, MOVE_GROWL, MOVE_STRING_SHOT, MOVE_SCREECH, MOVE_SMOKESCREEN, MOVE_KINESIS, MOVE_FLASH, MOVE_COTTON_SPORE, MOVE_SPITE, MOVE_SCARY_FACE, MOVE_CHARM, MOVE_KNOCK_OFF, MOVE_SWEET_SCENT, MOVE_FEATHER_DANCE, MOVE_FAKE_TEARS, MOVE_METAL_SOUND, MOVE_TICKLE, - 0 + MOVE_NONE }; static const u16 sMoves_HighRiskHighReturn[] = @@ -72,7 +75,7 @@ static const u16 sMoves_HighRiskHighReturn[] = MOVE_BIDE, MOVE_SELF_DESTRUCT, MOVE_SKY_ATTACK, MOVE_EXPLOSION, MOVE_FLAIL, MOVE_REVERSAL, MOVE_DESTINY_BOND, MOVE_PERISH_SONG, MOVE_PAIN_SPLIT, MOVE_MIRROR_COAT, MOVE_MEMENTO, MOVE_GRUDGE, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_BLAST_BURN, MOVE_HYDRO_CANNON, MOVE_OVERHEAT, MOVE_FRENZY_PLANT, MOVE_PSYCHO_BOOST, MOVE_VOLT_TACKLE, - 0 + MOVE_NONE }; static const u16 sMoves_Endurance[] = @@ -81,7 +84,7 @@ static const u16 sMoves_Endurance[] = MOVE_DETECT, MOVE_ENDURE, MOVE_MILK_DRINK, MOVE_HEAL_BELL, MOVE_SAFEGUARD, MOVE_BATON_PASS, MOVE_MORNING_SUN, MOVE_SYNTHESIS, MOVE_MOONLIGHT, MOVE_SWALLOW, MOVE_WISH, MOVE_INGRAIN, MOVE_MAGIC_COAT, MOVE_RECYCLE, MOVE_REFRESH, MOVE_MUD_SPORT, MOVE_SLACK_OFF, MOVE_AROMATHERAPY, MOVE_WATER_SPORT, - 0 + MOVE_NONE }; static const u16 sMoves_SlowAndSteady[] = @@ -90,57 +93,58 @@ static const u16 sMoves_SlowAndSteady[] = MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_CONFUSE_RAY, MOVE_GLARE, MOVE_POISON_GAS, MOVE_LOVELY_KISS, MOVE_SPORE, MOVE_SPIDER_WEB, MOVE_SWEET_KISS, MOVE_SPIKES, MOVE_SWAGGER, MOVE_MEAN_LOOK, MOVE_ATTRACT, MOVE_ENCORE, MOVE_TORMENT, MOVE_FLATTER, MOVE_WILL_O_WISP, MOVE_TAUNT, MOVE_YAWN, MOVE_IMPRISON, MOVE_SNATCH, MOVE_TEETER_DANCE, MOVE_GRASS_WHISTLE, MOVE_BLOCK, - 0 + MOVE_NONE }; static const u16 sMoves_DependsOnTheBattlesFlow[] = { MOVE_SANDSTORM, MOVE_RAIN_DANCE, MOVE_SUNNY_DAY, MOVE_HAIL, MOVE_WEATHER_BALL, - 0 + MOVE_NONE }; -static const u16 *const sMoveStyles[] = +// Excludes FACTORY_STYLE_NONE +static const u16 *const sMoveStyles[FACTORY_NUM_STYLES - 1] = { - sMoves_TotalPreparation, - sMoves_SlowAndSteady, - sMoves_Endurance, - sMoves_HighRiskHighReturn, - sMoves_WeakeningTheFoe, - sMoves_ImpossibleToPredict, - sMoves_DependsOnTheBattlesFlow, + [FACTORY_STYLE_PREPARATION - 1] = sMoves_TotalPreparation, + [FACTORY_STYLE_SLOW_STEADY - 1] = sMoves_SlowAndSteady, + [FACTORY_STYLE_ENDURANCE - 1] = sMoves_Endurance, + [FACTORY_STYLE_HIGH_RISK - 1] = sMoves_HighRiskHighReturn, + [FACTORY_STYLE_WEAKENING - 1] = sMoves_WeakeningTheFoe, + [FACTORY_STYLE_UNPREDICTABLE - 1] = sMoves_ImpossibleToPredict, + [FACTORY_STYLE_WEATHER - 1] = sMoves_DependsOnTheBattlesFlow, }; static void (* const sBattleFactoryFunctions[])(void) = { - InitFactoryChallenge, - GetBattleFactoryData, - SetBattleFactoryData, - sub_81A613C, - nullsub_75, - nullsub_123, - SelectInitialRentalMons, - SwapRentalMons, - SetPerformedRentalSwap, - SetRentalsToOpponentParty, - SetPlayerAndOpponentParties, - SetOpponentGfxVar, - GenerateOpponentMons, - GenerateInitialRentalMons, - GetOpponentMostCommonMonType, - GetOpponentBattleStyle, - RestorePlayerPartyHeldItems, + [BATTLE_FACTORY_FUNC_INIT] = InitFactoryChallenge, + [BATTLE_FACTORY_FUNC_GET_DATA] = GetBattleFactoryData, + [BATTLE_FACTORY_FUNC_SET_DATA] = SetBattleFactoryData, + [BATTLE_FACTORY_FUNC_SAVE] = SaveFactoryChallenge, + [BATTLE_FACTORY_FUNC_NULL] = nullsub_75, + [BATTLE_FACTORY_FUNC_NULL2] = nullsub_123, + [BATTLE_FACTORY_FUNC_SELECT_RENT_MONS] = SelectInitialRentalMons, + [BATTLE_FACTORY_FUNC_SWAP_RENT_MONS] = SwapRentalMons, + [BATTLE_FACTORY_FUNC_SET_SWAPPED] = SetPerformedRentalSwap, + [BATTLE_FACTORY_FUNC_SET_OPPONENT_MONS] = SetRentalsToOpponentParty, + [BATTLE_FACTORY_FUNC_SET_PARTIES] = SetPlayerAndOpponentParties, + [BATTLE_FACTORY_FUNC_SET_OPPONENT_GFX] = SetOpponentGfxVar, + [BATTLE_FACTORY_FUNC_GENERATE_OPPONENT_MONS] = GenerateOpponentMons, + [BATTLE_FACTORY_FUNC_GENERATE_RENTAL_MONS] = GenerateInitialRentalMons, + [BATTLE_FACTORY_FUNC_GET_OPPONENT_MON_TYPE] = GetOpponentMostCommonMonType, + [BATTLE_FACTORY_FUNC_GET_OPPONENT_STYLE] = GetOpponentBattleStyle, + [BATTLE_FACTORY_FUNC_RESET_HELD_ITEMS] = RestorePlayerPartyHeldItems, }; -static const u32 gUnknown_08612164[][2] = +static const u32 sWinStreakFlags[][2] = { - {0x100, 0x200}, - {0x1000000, 0x2000000}, + {STREAK_FACTORY_SINGLES_50, STREAK_FACTORY_SINGLES_OPEN}, + {STREAK_FACTORY_DOUBLES_50, STREAK_FACTORY_DOUBLES_OPEN}, }; -static const u32 gUnknown_08612174[][2] = +static const u32 sWinStreakMasks[][2] = { - {0xfffffeff, 0xfffffdff}, - {0xfeffffff, 0xfdffffff}, + {~(STREAK_FACTORY_SINGLES_50), ~(STREAK_FACTORY_SINGLES_OPEN)}, + {~(STREAK_FACTORY_DOUBLES_50), ~(STREAK_FACTORY_DOUBLES_OPEN)}, }; static const u8 sFixedIVTable[][2] = @@ -187,11 +191,11 @@ static void InitFactoryChallenge(void) u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); - gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.challengeStatus = 0; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; - gSaveBlock2Ptr->frontier.field_CA9_a = 0; - gSaveBlock2Ptr->frontier.field_CA9_b = 0; - if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_08612164[battleMode][lvlMode])) + gSaveBlock2Ptr->frontier.challengePaused = FALSE; + gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE; + if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode])) { gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] = 0; gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode] = 0; @@ -200,7 +204,7 @@ static void InitFactoryChallenge(void) sPerformedRentalSwap = FALSE; for (i = 0; i < 6; i++) gSaveBlock2Ptr->frontier.rentalMons[i].monId = 0xFFFF; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) gUnknown_03006298[i] = 0xFFFF; SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); @@ -214,13 +218,13 @@ static void GetBattleFactoryData(void) switch (gSpecialVar_0x8005) { - case 1: + case FACTORY_DATA_WIN_STREAK: gSpecialVar_Result = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode]; break; - case 2: - gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_08612164[battleMode][lvlMode]) != 0); + case FACTORY_DATA_WIN_STREAK_ACTIVE: + gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0); break; - case 3: + case FACTORY_DATA_WIN_STREAK_SWAPS: gSpecialVar_Result = gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode]; break; } @@ -233,16 +237,16 @@ static void SetBattleFactoryData(void) switch (gSpecialVar_0x8005) { - case 1: + case FACTORY_DATA_WIN_STREAK: gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006; break; - case 2: + case FACTORY_DATA_WIN_STREAK_ACTIVE: if (gSpecialVar_0x8006) - gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_08612164[battleMode][lvlMode]; + gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode]; else - gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_08612174[battleMode][lvlMode]; + gSaveBlock2Ptr->frontier.winStreakActiveFlags &= sWinStreakMasks[battleMode][lvlMode]; break; - case 3: + case FACTORY_DATA_WIN_STREAK_SWAPS: if (sPerformedRentalSwap == TRUE) { gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode] = gSpecialVar_0x8006; @@ -252,12 +256,12 @@ static void SetBattleFactoryData(void) } } -static void sub_81A613C(void) +static void SaveFactoryChallenge(void) { - gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; + gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_0, 0); - gSaveBlock2Ptr->frontier.field_CA9_a = 1; - sub_81A4C30(); + gSaveBlock2Ptr->frontier.challengePaused = TRUE; + SaveGameFrontier(); } static void nullsub_75(void) @@ -289,8 +293,8 @@ static void SetPerformedRentalSwap(void) static void GenerateOpponentMons(void) { int i, j, k; - u16 species[3]; - u16 heldItems[3]; + u16 species[FRONTIER_PARTY_SIZE]; + u16 heldItems[FRONTIER_PARTY_SIZE]; int firstMonId = 0; u16 trainerId = 0; u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; @@ -301,7 +305,7 @@ static void GenerateOpponentMons(void) do { - trainerId = sub_8162548(challengeNum, gSaveBlock2Ptr->frontier.curChallengeBattleNum); + trainerId = GetRandomScaledFrontierTrainerId(challengeNum, gSaveBlock2Ptr->frontier.curChallengeBattleNum); for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++) { if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId) @@ -314,7 +318,7 @@ static void GenerateOpponentMons(void) gSaveBlock2Ptr->frontier.trainerIds[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = trainerId; i = 0; - while (i != 3) + while (i != FRONTIER_PARTY_SIZE) { u16 monSetId = GetMonSetId(lvlMode, challengeNum, FALSE); if (gFacilityTrainerMons[monSetId].species == SPECIES_UNOWN) @@ -328,7 +332,7 @@ static void GenerateOpponentMons(void) if (j != 6) continue; - if (lvlMode == FRONTIER_LVL_50 && monSetId > 849) + if (lvlMode == FRONTIER_LVL_50 && monSetId > FRONTIER_MONS_HIGH_TIER) continue; for (k = firstMonId; k < firstMonId + i; k++) @@ -368,7 +372,7 @@ static void SetRentalsToOpponentParty(void) else gFacilityTrainerMons = gSlateportBattleTentMons; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { gSaveBlock2Ptr->frontier.rentalMons[i + 3].monId = gUnknown_03006298[i]; gSaveBlock2Ptr->frontier.rentalMons[i + 3].ivs = GetBoxMonData(&gEnemyParty[i].box, MON_DATA_ATK_IV, NULL); @@ -406,7 +410,7 @@ static void SetPlayerAndOpponentParties(void) if (gSpecialVar_0x8005 < 2) { ZeroPlayerPartyMons(); - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { monSetId = gSaveBlock2Ptr->frontier.rentalMons[i].monId; ivs = gSaveBlock2Ptr->frontier.rentalMons[i].ivs; @@ -447,7 +451,7 @@ static void SetPlayerAndOpponentParties(void) { case 0: case 2: - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { monSetId = gSaveBlock2Ptr->frontier.rentalMons[i + 3].monId; ivs = gSaveBlock2Ptr->frontier.rentalMons[i + 3].ivs; @@ -587,7 +591,7 @@ static void GetOpponentMostCommonMonType(void) gFacilityTrainerMons = gBattleFrontierMons; for (i = 0; i < NUMBER_OF_MON_TYPES; i++) typesCount[i] = 0; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { u32 species = gFacilityTrainerMons[gUnknown_03006298[i]].species; @@ -616,14 +620,14 @@ static void GetOpponentMostCommonMonType(void) static void GetOpponentBattleStyle(void) { u8 i, j, count; - u8 stylePoints[8]; + u8 stylePoints[FACTORY_NUM_STYLES]; count = 0; gFacilityTrainerMons = gBattleFrontierMons; - for (i = 0; i < 8; i++) + for (i = 0; i < FACTORY_NUM_STYLES; i++) stylePoints[i] = 0; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { u16 monSetId = gUnknown_03006298[i]; for (j = 0; j < MAX_MON_MOVES; j++) @@ -634,7 +638,7 @@ static void GetOpponentBattleStyle(void) } gSpecialVar_Result = 0; - for (i = 1; i < 8; i++) + for (i = 1; i < FACTORY_NUM_STYLES; i++) { if (stylePoints[i] >= sRequiredMoveCounts[i - 1]) { @@ -643,8 +647,9 @@ static void GetOpponentBattleStyle(void) } } + // Has no singular style if (count > 2) - gSpecialVar_Result = 8; + gSpecialVar_Result = FACTORY_NUM_STYLES; } static u8 GetMoveBattleStyle(u16 move) @@ -654,13 +659,13 @@ static u8 GetMoveBattleStyle(u16 move) for (i = 0; i < ARRAY_COUNT(sMoveStyles); i++) { - for (j = 0, moves = sMoveStyles[i]; moves[j] != 0; j++) + for (j = 0, moves = sMoveStyles[i]; moves[j] != MOVE_NONE; j++) { if (moves[j] == move) return i + 1; } } - return 0; + return FACTORY_STYLE_NONE; } bool8 InBattleFactory(void) @@ -678,7 +683,7 @@ static void RestorePlayerPartyHeldItems(void) else gFacilityTrainerMons = gSlateportBattleTentMons; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, @@ -702,8 +707,8 @@ u8 GetFactoryMonFixedIV(u8 arg0, u8 arg1) void FillFactoryBrainParty(void) { int i, j, k; - u16 species[3]; - u16 heldItems[3]; + u16 species[FRONTIER_PARTY_SIZE]; + u16 heldItems[FRONTIER_PARTY_SIZE]; u8 friendship; int monLevel; u8 fixedIV; @@ -717,13 +722,13 @@ void FillFactoryBrainParty(void) i = 0; otId = T1_READ_32(gSaveBlock2Ptr->playerTrainerId); - while (i != 3) + while (i != FRONTIER_PARTY_SIZE) { u16 monSetId = GetMonSetId(lvlMode, challengeNum, FALSE); if (gFacilityTrainerMons[monSetId].species == SPECIES_UNOWN) continue; - if (monLevel == 50 && monSetId > 849) + if (monLevel == 50 && monSetId > FRONTIER_MONS_HIGH_TIER) continue; for (j = 0; j < 6; j++) diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c index f564424329..de2f3a10c8 100644 --- a/src/battle_factory_screen.c +++ b/src/battle_factory_screen.c @@ -11,7 +11,7 @@ #include "palette.h" #include "task.h" #include "main.h" -#include "alloc.h" +#include "malloc.h" #include "bg.h" #include "gpu_regs.h" #include "string_util.h" @@ -375,16 +375,16 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = static const u16 gUnknown_0861046C[] = INCBIN_U16("graphics/unknown/unknown_61046C.gbapal"); -static const u8 gUnknown_08610476[] = {0x00, 0x02, 0x00}; -static const u8 gUnknown_08610479[] = {0x00, 0x04, 0x00}; +static const u8 sMenuOptionTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_TRANSPARENT}; +static const u8 sSpeciesNameTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_TRANSPARENT}; static const struct OamData gUnknown_0861047C = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, @@ -398,10 +398,10 @@ static const struct OamData gUnknown_0861047C = static const struct OamData gUnknown_08610484 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, @@ -415,10 +415,10 @@ static const struct OamData gUnknown_08610484 = static const struct OamData gUnknown_0861048C = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, @@ -432,10 +432,10 @@ static const struct OamData gUnknown_0861048C = static const struct OamData gUnknown_08610494 = { .y = 0, - .affineMode = 3, - .objMode = 1, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_BLEND, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -632,14 +632,14 @@ static const struct SpritePalette gUnknown_086106B0[] = static const struct OamData gUnknown_086106D8 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, - .shape = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 3, .paletteNum = 0, @@ -649,14 +649,14 @@ static const struct OamData gUnknown_086106D8 = static const struct OamData gUnknown_086106E0 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, - .shape = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 3, .paletteNum = 0, @@ -666,14 +666,14 @@ static const struct OamData gUnknown_086106E0 = static const struct OamData gUnknown_086106E8 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, - .shape = 1, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x16), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -683,14 +683,14 @@ static const struct OamData gUnknown_086106E8 = static const struct OamData gUnknown_086106F0 = { .y = 0, - .affineMode = 3, - .objMode = 1, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_BLEND, .mosaic = 0, - .bpp = 0, - .shape = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -985,8 +985,8 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = }; static const u16 gUnknown_08610918[] = {RGB_BLACK, RGB_BLACK, RGB_WHITE, RGB_BLACK, RGB_RED}; // Palette. -static const u8 gUnknown_08610922[] = {0x0, 0x02, 0x0}; -static const u8 gUnknown_08610925[] = {0x0, 0x04, 0x0}; +static const u8 sSwapMenuOptionsTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_TRANSPARENT}; +static const u8 sSwapSpeciesNameTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_TRANSPARENT}; static const struct SwapActionIdAndFunc sSwap_PlayerScreenActions[] = { @@ -1808,7 +1808,7 @@ static void Select_PrintMonSpecies(void) species = GetMonData(&sFactorySelectScreen->mons[monId].monData, MON_DATA_SPECIES, NULL); StringCopy(gStringVar4, gSpeciesNames[species]); x = GetStringRightAlignXOffset(1, gStringVar4, 86); - AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610479, 0, gStringVar4); + AddTextPrinterParameterized3(1, 1, x, 1, sSpeciesNameTextColors, 0, gStringVar4); CopyWindowToVram(1, 2); } @@ -1843,13 +1843,13 @@ static void Select_PrintMenuOptions(void) PutWindowTilemap(3); FillWindowPixelBuffer(3, PIXEL_FILL(0)); - AddTextPrinterParameterized3(3, 1, 7, 1, gUnknown_08610476, 0, gText_Summary); + AddTextPrinterParameterized3(3, 1, 7, 1, sMenuOptionTextColors, 0, gText_Summary); if (selectedId != 0) - AddTextPrinterParameterized3(3, 1, 7, 17, gUnknown_08610476, 0, gText_Deselect); + AddTextPrinterParameterized3(3, 1, 7, 17, sMenuOptionTextColors, 0, gText_Deselect); else - AddTextPrinterParameterized3(3, 1, 7, 17, gUnknown_08610476, 0, gText_Rent); + AddTextPrinterParameterized3(3, 1, 7, 17, sMenuOptionTextColors, 0, gText_Rent); - AddTextPrinterParameterized3(3, 1, 7, 33, gUnknown_08610476, 0, gText_Others2); + AddTextPrinterParameterized3(3, 1, 7, 33, sMenuOptionTextColors, 0, gText_Others2); CopyWindowToVram(3, 3); } @@ -1857,8 +1857,8 @@ static void Select_PrintYesNoOptions(void) { PutWindowTilemap(4); FillWindowPixelBuffer(4, PIXEL_FILL(0)); - AddTextPrinterParameterized3(4, 1, 7, 1, gUnknown_08610476, 0, gText_Yes2); - AddTextPrinterParameterized3(4, 1, 7, 17, gUnknown_08610476, 0, gText_No2); + AddTextPrinterParameterized3(4, 1, 7, 1, sMenuOptionTextColors, 0, gText_Yes2); + AddTextPrinterParameterized3(4, 1, 7, 17, sMenuOptionTextColors, 0, gText_No2); CopyWindowToVram(4, 3); } @@ -3599,7 +3599,7 @@ static void Swap_PrintMonSpecies(void) species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL); StringCopy(gStringVar4, gSpeciesNames[species]); x = GetStringRightAlignXOffset(1, gStringVar4, 86); - AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610925, 0, gStringVar4); + AddTextPrinterParameterized3(1, 1, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4); CopyWindowToVram(1, 3); } } @@ -3615,9 +3615,9 @@ static void Swap_PrintMenuOptions(void) { PutWindowTilemap(3); FillWindowPixelBuffer(3, PIXEL_FILL(0)); - AddTextPrinterParameterized3(3, 1, 15, 1, gUnknown_08610922, 0, gText_Summary2); - AddTextPrinterParameterized3(3, 1, 15, 17, gUnknown_08610922, 0, gText_Swap); - AddTextPrinterParameterized3(3, 1, 15, 33, gUnknown_08610922, 0, gText_Rechoose); + AddTextPrinterParameterized3(3, 1, 15, 1, sSwapMenuOptionsTextColors, 0, gText_Summary2); + AddTextPrinterParameterized3(3, 1, 15, 17, sSwapMenuOptionsTextColors, 0, gText_Swap); + AddTextPrinterParameterized3(3, 1, 15, 33, sSwapMenuOptionsTextColors, 0, gText_Rechoose); CopyWindowToVram(3, 3); } @@ -3625,15 +3625,15 @@ static void Swap_PrintYesNoOptions(void) { PutWindowTilemap(4); FillWindowPixelBuffer(4, PIXEL_FILL(0)); - AddTextPrinterParameterized3(4, 1, 7, 1, gUnknown_08610922, 0, gText_Yes3); - AddTextPrinterParameterized3(4, 1, 7, 17, gUnknown_08610922, 0, gText_No3); + AddTextPrinterParameterized3(4, 1, 7, 1, sSwapMenuOptionsTextColors, 0, gText_Yes3); + AddTextPrinterParameterized3(4, 1, 7, 17, sSwapMenuOptionsTextColors, 0, gText_No3); CopyWindowToVram(4, 3); } static void Swap_PrintActionString(const u8 *str, u32 y, u32 windowId) { s32 x = GetStringRightAlignXOffset(0, str, 0x46); - AddTextPrinterParameterized3(windowId, 0, x, y, gUnknown_08610922, 0, str); + AddTextPrinterParameterized3(windowId, 0, x, y, sSwapMenuOptionsTextColors, 0, str); } static void Swap_PrintActionStrings(void) @@ -3707,7 +3707,7 @@ static void Swap_PrintMonSpecies2(void) species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL); StringCopy(gStringVar4, gSpeciesNames[species]); x = GetStringRightAlignXOffset(1, gStringVar4, 86); - AddTextPrinterParameterized3(7, 1, x, 1, gUnknown_08610925, 0, gStringVar4); + AddTextPrinterParameterized3(7, 1, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4); CopyWindowToVram(7, 3); } } @@ -3733,7 +3733,7 @@ static void Swap_PrintMonSpecies3(void) species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL); StringCopy(gStringVar4, gSpeciesNames[species]); x = GetStringRightAlignXOffset(1, gStringVar4, 86); - AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610925, 0, gStringVar4); + AddTextPrinterParameterized3(1, 1, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4); CopyWindowToVram(1, 3); } } diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index de403aec7c..341cd4a6a8 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -6,7 +6,7 @@ #include "constants/battle_anim.h" #include "battle_interface.h" #include "main.h" -#include "alloc.h" +#include "malloc.h" #include "graphics.h" #include "random.h" #include "util.h" @@ -811,7 +811,7 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId) break; case 6: LoadAndCreateEnemyShadowSprites(); - sub_81B8C68(); + BufferBattlePartyCurrentOrder(); retVal = TRUE; break; } @@ -1061,8 +1061,8 @@ void HandleBattleLowHpMusicChange(void) { u8 playerBattler1 = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); u8 playerBattler2 = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); - u8 battler1PartyId = pokemon_order_func(gBattlerPartyIndexes[playerBattler1]); - u8 battler2PartyId = pokemon_order_func(gBattlerPartyIndexes[playerBattler2]); + u8 battler1PartyId = GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[playerBattler1]); + u8 battler2PartyId = GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[playerBattler2]); if (GetMonData(&gPlayerParty[battler1PartyId], MON_DATA_HP) != 0) HandleLowHpMusicChange(&gPlayerParty[battler1PartyId], playerBattler1); diff --git a/src/battle_interface.c b/src/battle_interface.c index 8fabfed689..12273addb1 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -202,10 +202,10 @@ static void sub_8074F88(struct TestingBar *barInfo, s32 *arg1, u16 *arg2); static const struct OamData sUnknown_0832C138 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, @@ -274,10 +274,10 @@ static const struct SpriteTemplate sHealthboxSafariSpriteTemplate = static const struct OamData sOamData_Healthbar = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), .x = 0, .matrixNum = 0, @@ -330,45 +330,178 @@ static const struct SpriteTemplate sHealthbarSpriteTemplates[MAX_BATTLERS_COUNT] static const struct Subsprite sUnknown_0832C220[] = { - {240, 0, 1, 3, 0, 1}, - {48, 0, 0, 2, 32, 1}, - {240, 32, 1, 1, 48, 1}, - {16, 32, 1, 1, 52, 1}, - {48, 32, 1, 1, 56, 1} + { + .x = 240, + .y = 0, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 48, + .y = 0, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .tileOffset = 32, + .priority = 1 + }, + { + .x = 240, + .y = 32, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 48, + .priority = 1 + }, + { + .x = 16, + .y = 32, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 52, + .priority = 1 + }, + { + .x = 48, + .y = 32, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 56, + .priority = 1 + } }; static const struct Subsprite sUnknown_0832C234[] = { - {240, 0, 1, 3, 64, 1}, - {48, 0, 0, 2, 96, 1}, - {240, 32, 1, 1, 112, 1}, - {16, 32, 1, 1, 116, 1}, - {48, 32, 1, 1, 120, 1} + { + .x = 240, + .y = 0, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .tileOffset = 64, + .priority = 1 + }, + { + .x = 48, + .y = 0, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .tileOffset = 96, + .priority = 1 + }, + { + .x = 240, + .y = 32, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 112, + .priority = 1 + }, + { + .x = 16, + .y = 32, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 116, + .priority = 1 + }, + { + .x = 48, + .y = 32, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 120, + .priority = 1 + } }; static const struct Subsprite sUnknown_0832C248[] = { - {240, 0, 1, 3, 0, 1}, - {48, 0, 0, 2, 32, 1} + { + .x = 240, + .y = 0, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 48, + .y = 0, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .tileOffset = 32, + .priority = 1 + } }; static const struct Subsprite sUnknown_0832C250[] = { - {240, 0, 1, 3, 0, 1}, - {48, 0, 0, 2, 32, 1} + { + .x = 240, + .y = 0, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 48, + .y = 0, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .tileOffset = 32, + .priority = 1 + } }; static const struct Subsprite sUnknown_0832C258[] = { - {240, 0, 1, 1, 0, 1}, - {16, 0, 1, 1, 4, 1} + { + .x = 240, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 16, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 1 + } }; static const struct Subsprite sUnknown_0832C260[] = { - {240, 0, 1, 1, 0, 1}, - {16, 0, 1, 1, 4, 1}, - {224, 0, 0, 0, 8, 1} + { + .x = 240, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 16, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 1 + }, + { + .x = 224, + .y = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 8, + .priority = 1 + } }; // unused subsprite table @@ -388,20 +521,90 @@ static const struct SubspriteTable sUnknown_0832C28C[] = static const struct Subsprite sStatusSummaryBar_Subsprites_0[] = { - {160, 0, 1, 1, 0, 1}, - {192, 0, 1, 1, 4, 1}, - {224, 0, 1, 1, 8, 1}, - {0, 0, 1, 1, 12, 1} + { + .x = 160, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 192, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 1 + }, + { + .x = 224, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 1 + }, + { + .x = 0, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 1 + } }; static const struct Subsprite sUnknown_0832C2AC[] = { - {160, 0, 1, 1, 0, 1}, - {192, 0, 1, 1, 4, 1}, - {224, 0, 1, 1, 8, 1}, - {0, 0, 1, 1, 8, 1}, - {32, 0, 1, 1, 8, 1}, - {64, 0, 1, 1, 12, 1} + { + .x = 160, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 192, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 1 + }, + { + .x = 224, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 1 + }, + { + .x = 0, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 1 + }, + { + .x = 32, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 1 + }, + { + .x = 64, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 1 + } }; static const struct SubspriteTable sStatusSummaryBar_SubspriteTable[] = @@ -441,10 +644,10 @@ static const struct SpriteSheet sStatusSummaryBallsSpriteSheet = static const struct OamData sUnknown_0832C354 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, @@ -458,10 +661,10 @@ static const struct OamData sUnknown_0832C354 = static const struct OamData sOamData_StatusSummaryBalls = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, @@ -558,62 +761,52 @@ static s32 DummiedOutFunction(s16 unused1, s16 unused2, s32 unused3) { return 9; } - -#ifdef NONMATCHING -static void sub_8072308(s16 arg0, u16 *arg1, u8 arg2) +void sub_8072308(s16 number, u16 *dest, bool8 unk) { s8 i, j; - u8 array[4]; - u8 *arrayPtr; - s32 r9, vaaa; + u8 buff[4]; for (i = 0; i < 4; i++) - array[i] = 0; - - i = 3; - r9 = -1; - arrayPtr = array; - while (1) { - if (arg0 > 0) + buff[i] = 0; + } + + for (i = 3; ; i--) + { + if (number > 0) { - array[i] = arg0 % 10; - arg0 = arg0 / 10; - i--; + buff[i] = number % 10; + number /= 10; } else { + for (; i > -1; i--) + { + buff[i] = 0xFF; + } + if (buff[3] == 0xFF) + buff[3] = 0; break; } } - for (; i > -1; i--) - { - array[i] = 0xFF; - } - - if (arrayPtr[3] == 0xFF) - arrayPtr[3] = 0; - - if (arg2 == 0) + if (!unk) { for (i = 0, j = 0; i < 4; i++) { - if (array[j] == 0xFF) + if (buff[j] == 0xFF) { - arg1[j] &= 0xFC00; - arg1[j] |= 0x1E; - - arg1[i + 0x20] &= 0xFC00; - arg1[i + 0x20] |= 0x1E; + dest[j + 0x00] &= 0xFC00; + dest[j + 0x00] |= 0x1E; + dest[i + 0x20] &= 0xFC00; + dest[i + 0x20] |= 0x1E; } else { - arg1[j] &= 0xFC00; - arg1[j] |= array[j] + 0x14; - - arg1[i + 0x20] &= 0xFC00; - arg1[i + 0x20] |= array[i] + 0x34; + dest[j + 0x00] &= 0xFC00; + dest[j + 0x00] |= 0x14 + buff[j]; + dest[i + 0x20] &= 0xFC00; + dest[i + 0x20] |= 0x34 + buff[i]; } j++; } @@ -622,254 +815,24 @@ static void sub_8072308(s16 arg0, u16 *arg1, u8 arg2) { for (i = 0; i < 4; i++) { - if (array[i] == 0xFF) + if (buff[i] == 0xFF) { - arg1[i] &= 0xFC00; - arg1[i] |= 0x1E; - - arg1[i + 0x20] &= 0xFC00; - arg1[i + 0x20] |= 0x1E; + dest[i + 0x00] &= 0xFC00; + dest[i + 0x00] |= 0x1E; + dest[i + 0x20] &= 0xFC00; + dest[i + 0x20] |= 0x1E; } else { - arg1[i] &= 0xFC00; - arg1[i] |= array[i] + 0x14; - - arg1[i + 0x20] &= 0xFC00; - arg1[i + 0x20] |= array[i] + 0x34; + dest[i + 0x00] &= 0xFC00; + dest[i + 0x00] |= 0x14 + buff[i]; + dest[i + 0x20] &= 0xFC00; + dest[i + 0x20] |= 0x34 + buff[i]; } } } } -#else -NAKED -static void sub_8072308(s16 arg0, u16 *arg1, u8 arg2) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x4\n\ - adds r7, r1, 0\n\ - lsls r0, 16\n\ - lsrs r5, r0, 16\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - mov r10, r2\n\ - movs r3, 0\n\ - movs r2, 0\n\ -_08072324:\n\ - lsls r0, r3, 24\n\ - asrs r0, 24\n\ - mov r3, sp\n\ - adds r1, r3, r0\n\ - strb r2, [r1]\n\ - adds r0, 0x1\n\ - lsls r0, 24\n\ - lsrs r3, r0, 24\n\ - asrs r0, 24\n\ - cmp r0, 0x3\n\ - ble _08072324\n\ - movs r3, 0x3\n\ - movs r0, 0x1\n\ - negs r0, r0\n\ - mov r9, r0\n\ - mov r8, sp\n\ -_08072344:\n\ - lsls r0, r5, 16\n\ - asrs r6, r0, 16\n\ - cmp r6, 0\n\ - ble _08072372\n\ - lsls r4, r3, 24\n\ - asrs r4, 24\n\ - mov r1, sp\n\ - adds r5, r1, r4\n\ - adds r0, r6, 0\n\ - movs r1, 0xA\n\ - bl __modsi3\n\ - strb r0, [r5]\n\ - adds r0, r6, 0\n\ - movs r1, 0xA\n\ - bl __divsi3\n\ - lsls r0, 16\n\ - lsrs r5, r0, 16\n\ - subs r4, 0x1\n\ - lsls r4, 24\n\ - lsrs r3, r4, 24\n\ - b _08072344\n\ -_08072372:\n\ - lsls r1, r3, 24\n\ - asrs r0, r1, 24\n\ - cmp r0, r9\n\ - ble _08072396\n\ - movs r4, 0xFF\n\ - movs r3, 0x1\n\ - negs r3, r3\n\ -_08072380:\n\ - asrs r2, r1, 24\n\ - mov r5, sp\n\ - adds r1, r5, r2\n\ - ldrb r0, [r1]\n\ - orrs r0, r4\n\ - strb r0, [r1]\n\ - subs r2, 0x1\n\ - lsls r1, r2, 24\n\ - asrs r0, r1, 24\n\ - cmp r0, r3\n\ - bgt _08072380\n\ -_08072396:\n\ - mov r1, r8\n\ - ldrb r0, [r1, 0x3]\n\ - cmp r0, 0xFF\n\ - bne _080723A2\n\ - movs r0, 0\n\ - strb r0, [r1, 0x3]\n\ -_080723A2:\n\ - mov r2, r10\n\ - cmp r2, 0\n\ - bne _08072432\n\ - movs r3, 0\n\ - movs r1, 0\n\ - movs r6, 0xFC\n\ - lsls r6, 8\n\ - movs r5, 0x1E\n\ - mov r12, r5\n\ -_080723B4:\n\ - lsls r1, 24\n\ - asrs r2, r1, 24\n\ - mov r0, sp\n\ - adds r5, r0, r2\n\ - ldrb r0, [r5]\n\ - mov r8, r1\n\ - cmp r0, 0xFF\n\ - bne _080723EA\n\ - lsls r1, r2, 1\n\ - adds r1, r7\n\ - ldrh r2, [r1]\n\ - adds r0, r6, 0\n\ - ands r0, r2\n\ - mov r2, r12\n\ - orrs r0, r2\n\ - strh r0, [r1]\n\ - lsls r3, 24\n\ - asrs r1, r3, 23\n\ - adds r1, r7\n\ - adds r1, 0x40\n\ - ldrh r2, [r1]\n\ - adds r0, r6, 0\n\ - ands r0, r2\n\ - mov r5, r12\n\ - orrs r0, r5\n\ - strh r0, [r1]\n\ - b _0807241A\n\ -_080723EA:\n\ - lsls r2, 1\n\ - adds r2, r7\n\ - ldrh r0, [r2]\n\ - adds r1, r6, 0\n\ - ands r1, r0\n\ - ldrb r0, [r5]\n\ - adds r0, 0x14\n\ - orrs r1, r0\n\ - strh r1, [r2]\n\ - lsls r4, r3, 24\n\ - asrs r3, r4, 24\n\ - lsls r2, r3, 1\n\ - adds r2, r7\n\ - adds r2, 0x40\n\ - ldrh r0, [r2]\n\ - adds r1, r6, 0\n\ - ands r1, r0\n\ - mov r5, sp\n\ - adds r0, r5, r3\n\ - ldrb r0, [r0]\n\ - adds r0, 0x34\n\ - orrs r1, r0\n\ - strh r1, [r2]\n\ - adds r3, r4, 0\n\ -_0807241A:\n\ - movs r0, 0x80\n\ - lsls r0, 17\n\ - add r0, r8\n\ - lsrs r1, r0, 24\n\ - movs r2, 0x80\n\ - lsls r2, 17\n\ - adds r0, r3, r2\n\ - lsrs r3, r0, 24\n\ - asrs r0, 24\n\ - cmp r0, 0x3\n\ - ble _080723B4\n\ - b _08072496\n\ -_08072432:\n\ - movs r3, 0\n\ - movs r4, 0xFC\n\ - lsls r4, 8\n\ - movs r6, 0x1E\n\ -_0807243A:\n\ - lsls r1, r3, 24\n\ - asrs r2, r1, 24\n\ - mov r3, sp\n\ - adds r5, r3, r2\n\ - ldrb r0, [r5]\n\ - adds r3, r1, 0\n\ - cmp r0, 0xFF\n\ - bne _08072466\n\ - lsls r1, r2, 1\n\ - adds r1, r7\n\ - ldrh r2, [r1]\n\ - adds r0, r4, 0\n\ - ands r0, r2\n\ - orrs r0, r6\n\ - strh r0, [r1]\n\ - adds r1, 0x40\n\ - ldrh r2, [r1]\n\ - adds r0, r4, 0\n\ - ands r0, r2\n\ - orrs r0, r6\n\ - strh r0, [r1]\n\ - b _08072488\n\ -_08072466:\n\ - lsls r2, 1\n\ - adds r2, r7\n\ - ldrh r0, [r2]\n\ - adds r1, r4, 0\n\ - ands r1, r0\n\ - ldrb r0, [r5]\n\ - adds r0, 0x14\n\ - orrs r1, r0\n\ - strh r1, [r2]\n\ - adds r2, 0x40\n\ - ldrh r0, [r2]\n\ - adds r1, r4, 0\n\ - ands r1, r0\n\ - ldrb r0, [r5]\n\ - adds r0, 0x34\n\ - orrs r1, r0\n\ - strh r1, [r2]\n\ -_08072488:\n\ - movs r5, 0x80\n\ - lsls r5, 17\n\ - adds r0, r3, r5\n\ - lsrs r3, r0, 24\n\ - asrs r0, 24\n\ - cmp r0, 0x3\n\ - ble _0807243A\n\ -_08072496:\n\ - add sp, 0x4\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided"); -} - -#endif // NONMATCHING void sub_80724A8(s16 arg0, s16 arg1, u16 *arg2) { @@ -910,9 +873,9 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId) healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[0], 240, 160, 1); healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[0], 240, 160, 1); - gSprites[healthboxLeftSpriteId].oam.shape = 0; + gSprites[healthboxLeftSpriteId].oam.shape = ST_OAM_SQUARE; - gSprites[healthboxRightSpriteId].oam.shape = 0; + gSprites[healthboxRightSpriteId].oam.shape = ST_OAM_SQUARE; gSprites[healthboxRightSpriteId].oam.tileNum += 64; } else @@ -962,7 +925,7 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId) healthbarSpriteId = CreateSpriteAtEnd(&sHealthbarSpriteTemplates[gBattlerPositions[battlerId]], 140, 60, 0); healthBarSpritePtr = &gSprites[healthbarSpriteId]; SetSubspriteTables(healthBarSpritePtr, &sUnknown_0832C28C[GetBattlerSide(battlerId)]); - healthBarSpritePtr->subspriteMode = 2; + healthBarSpritePtr->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; healthBarSpritePtr->oam.priority = 1; CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void*)(OBJ_VRAM0 + healthBarSpritePtr->oam.tileNum * TILE_SIZE_4BPP), 64); @@ -987,8 +950,8 @@ u8 CreateSafariPlayerHealthboxSprites(void) healthboxLeftSpriteId = CreateSprite(&sHealthboxSafariSpriteTemplate, 240, 160, 1); healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxSafariSpriteTemplate, 240, 160, 1); - gSprites[healthboxLeftSpriteId].oam.shape = 0; - gSprites[healthboxRightSpriteId].oam.shape = 0; + gSprites[healthboxLeftSpriteId].oam.shape = ST_OAM_SQUARE; + gSprites[healthboxRightSpriteId].oam.shape = ST_OAM_SQUARE; gSprites[healthboxRightSpriteId].oam.tileNum += 64; @@ -1711,9 +1674,9 @@ void Task_HidePartyStatusSummary(u8 taskId) gTasks[taskId].tData15 = 16; for (i = 0; i < PARTY_SIZE; i++) - gSprites[ballIconSpriteIds[i]].oam.objMode = 1; + gSprites[ballIconSpriteIds[i]].oam.objMode = ST_OAM_OBJ_BLEND; - gSprites[summaryBarSpriteId].oam.objMode = 1; + gSprites[summaryBarSpriteId].oam.objMode = ST_OAM_OBJ_BLEND; if (isBattleStart) { diff --git a/src/battle_main.c b/src/battle_main.c index 87e29dd576..bcef3b286a 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -26,7 +26,7 @@ #include "link_rfu.h" #include "load_save.h" #include "main.h" -#include "alloc.h" +#include "malloc.h" #include "m4a.h" #include "palette.h" #include "party_menu.h" @@ -54,6 +54,7 @@ #include "constants/hold_effects.h" #include "constants/items.h" #include "constants/moves.h" +#include "constants/party_menu.h" #include "constants/rgb.h" #include "constants/songs.h" #include "constants/species.h" @@ -166,8 +167,8 @@ EWRAM_DATA static u32 sUnusedUnknownArray[25] = {0}; EWRAM_DATA u32 gBattleTypeFlags = 0; EWRAM_DATA u8 gBattleTerrain = 0; EWRAM_DATA u32 gUnknown_02022FF4 = 0; -EWRAM_DATA struct UnknownPokemonStruct4 gUnknown_02022FF8[3] = {0}; // what is it used for? -EWRAM_DATA struct UnknownPokemonStruct4* gUnknown_02023058 = NULL; // what is it used for? +EWRAM_DATA struct UnknownPokemonStruct4 gMultiPartnerParty[MULTI_PARTY_SIZE] = {0}; +EWRAM_DATA static struct UnknownPokemonStruct4* sMultiPartnerPartyBuffer = NULL; EWRAM_DATA u8 *gUnknown_0202305C = NULL; EWRAM_DATA u8 *gUnknown_02023060 = NULL; EWRAM_DATA u8 gBattleBufferA[MAX_BATTLERS_COUNT][0x200] = {0}; @@ -453,7 +454,7 @@ const u8 gTypeEffectiveness[336] = TYPE_ENDTABLE, TYPE_ENDTABLE, TYPE_MUL_NO_EFFECT }; -const u8 gTypeNames[][TYPE_NAME_LENGTH + 1] = +const u8 gTypeNames[NUMBER_OF_MON_TYPES][TYPE_NAME_LENGTH + 1] = { _("NORMAL"), _("FIGHT"), @@ -686,7 +687,7 @@ static void CB2_InitBattleInternal(void) if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) gBattleTerrain = BATTLE_TERRAIN_BUILDING; - sub_80356D0(); + InitBattleBgsVideo(); LoadBattleTextboxAndBackground(); ResetSpriteData(); ResetTasks(); @@ -714,7 +715,7 @@ static void CB2_InitBattleInternal(void) } gMain.inBattle = TRUE; - gSaveBlock2Ptr->frontier.field_CA9_b = 0; + gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE; for (i = 0; i < PARTY_SIZE; i++) AdjustFriendship(&gPlayerParty[i], 3); @@ -1023,7 +1024,7 @@ static void CB2_HandleStartBattle(void) ResetBlockReceivedFlags(); sub_8036EB8(2, playerMultiplayerId); SetAllPlayersBerryData(); - taskId = CreateTask(sub_8035D74, 0); + taskId = CreateTask(InitLinkBattleVsScreen, 0); gTasks[taskId].data[1] = 0x10E; gTasks[taskId].data[2] = 0x5A; gTasks[taskId].data[5] = 0; @@ -1225,7 +1226,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) ResetBlockReceivedFlags(); sub_8036EB8(2, playerMultiplayerId); SetAllPlayersBerryData(); - taskId = CreateTask(sub_8035D74, 0); + taskId = CreateTask(InitLinkBattleVsScreen, 0); gTasks[taskId].data[1] = 0x10E; gTasks[taskId].data[2] = 0x5A; gTasks[taskId].data[5] = 0; @@ -1248,12 +1249,12 @@ static void CB2_HandleStartMultiPartnerBattle(void) if (gLinkPlayers[playerMultiplayerId].id != 0) { memcpy(gPlayerParty, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); - memcpy(gPlayerParty + 3, gBlockRecvBuffer[playerMultiplayerId], sizeof(struct Pokemon) * 2); + memcpy(gPlayerParty + MULTI_PARTY_SIZE, gBlockRecvBuffer[playerMultiplayerId], sizeof(struct Pokemon) * 2); } else { memcpy(gPlayerParty, gBlockRecvBuffer[playerMultiplayerId], sizeof(struct Pokemon) * 2); - memcpy(gPlayerParty + 3, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); + memcpy(gPlayerParty + MULTI_PARTY_SIZE, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); } gBattleCommunication[MULTIUSE_STATE]++; } @@ -1396,22 +1397,22 @@ static void sub_80379F8(u8 arrayIdPlus) { s32 i; - for (i = 0; i < 3; i++) + for (i = 0; i < (int)ARRAY_COUNT(gMultiPartnerParty); i++) { - gUnknown_02022FF8[i].species = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_SPECIES); - gUnknown_02022FF8[i].heldItem = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_HELD_ITEM); - GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_NICKNAME, gUnknown_02022FF8[i].nickname); - gUnknown_02022FF8[i].level = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_LEVEL); - gUnknown_02022FF8[i].hp = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_HP); - gUnknown_02022FF8[i].maxhp = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_MAX_HP); - gUnknown_02022FF8[i].status = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_STATUS); - gUnknown_02022FF8[i].personality = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_PERSONALITY); - gUnknown_02022FF8[i].gender = GetMonGender(&gPlayerParty[arrayIdPlus + i]); - StripExtCtrlCodes(gUnknown_02022FF8[i].nickname); + gMultiPartnerParty[i].species = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_SPECIES); + gMultiPartnerParty[i].heldItem = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_HELD_ITEM); + GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_NICKNAME, gMultiPartnerParty[i].nickname); + gMultiPartnerParty[i].level = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_LEVEL); + gMultiPartnerParty[i].hp = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_HP); + gMultiPartnerParty[i].maxhp = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_MAX_HP); + gMultiPartnerParty[i].status = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_STATUS); + gMultiPartnerParty[i].personality = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_PERSONALITY); + gMultiPartnerParty[i].gender = GetMonGender(&gPlayerParty[arrayIdPlus + i]); + StripExtCtrlCodes(gMultiPartnerParty[i].nickname); if (GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_LANGUAGE) != LANGUAGE_JAPANESE) - PadNameString(gUnknown_02022FF8[i].nickname, CHAR_SPACE); + PadNameString(gMultiPartnerParty[i].nickname, CHAR_SPACE); } - memcpy(gUnknown_02023058, gUnknown_02022FF8, sizeof(gUnknown_02022FF8)); + memcpy(sMultiPartnerPartyBuffer, gMultiPartnerParty, sizeof(gMultiPartnerParty)); } static void CB2_PreInitMultiBattle(void) @@ -1443,9 +1444,9 @@ static void CB2_PreInitMultiBattle(void) case 0: if (gReceivedRemoteLinkPlayers != 0 && IsLinkTaskFinished()) { - gUnknown_02023058 = Alloc(sizeof(struct UnknownPokemonStruct4) * 3); + sMultiPartnerPartyBuffer = Alloc(sizeof(struct UnknownPokemonStruct4) * ARRAY_COUNT(gMultiPartnerParty)); sub_80379F8(0); - SendBlock(bitmask_all_link_players_but_self(), gUnknown_02023058, sizeof(struct UnknownPokemonStruct4) * 3); + SendBlock(bitmask_all_link_players_but_self(), sMultiPartnerPartyBuffer, sizeof(struct UnknownPokemonStruct4) * ARRAY_COUNT(gMultiPartnerParty)); gBattleCommunication[MULTIUSE_STATE]++; } break; @@ -1458,24 +1459,24 @@ static void CB2_PreInitMultiBattle(void) if (i == playerMultiplierId) continue; - if (numPlayers == 4) + if (numPlayers == MAX_LINK_PLAYERS) { if ((!(gLinkPlayers[i].id & 1) && !(gLinkPlayers[playerMultiplierId].id & 1)) || (gLinkPlayers[i].id & 1 && gLinkPlayers[playerMultiplierId].id & 1)) { - memcpy(gUnknown_02022FF8, gBlockRecvBuffer[i], sizeof(struct UnknownPokemonStruct4) * 3); + memcpy(gMultiPartnerParty, gBlockRecvBuffer[i], sizeof(struct UnknownPokemonStruct4) * ARRAY_COUNT(gMultiPartnerParty)); } } else { - memcpy(gUnknown_02022FF8, gBlockRecvBuffer[i], sizeof(struct UnknownPokemonStruct4) * 3); + memcpy(gMultiPartnerParty, gBlockRecvBuffer[i], sizeof(struct UnknownPokemonStruct4) * ARRAY_COUNT(gMultiPartnerParty)); } } gBattleCommunication[MULTIUSE_STATE]++; *savedCallback = gMain.savedCallback; *savedBattleTypeFlags = gBattleTypeFlags; gMain.savedCallback = CB2_PreInitMultiBattle; - sub_81B9150(); + ShowPartyMenuToShowcaseMultiBattleParty(); } break; case 2: @@ -1491,13 +1492,13 @@ static void CB2_PreInitMultiBattle(void) case 3: if (gWirelessCommType) { - if (sub_8010500()) + if (IsLinkRfuTaskFinished()) { gBattleTypeFlags = *savedBattleTypeFlags; gMain.savedCallback = *savedCallback; SetMainCallback2(CB2_InitBattleInternal); - Free(gUnknown_02023058); - gUnknown_02023058 = NULL; + Free(sMultiPartnerPartyBuffer); + sMultiPartnerPartyBuffer = NULL; } } else if (gReceivedRemoteLinkPlayers == 0) @@ -1505,8 +1506,8 @@ static void CB2_PreInitMultiBattle(void) gBattleTypeFlags = *savedBattleTypeFlags; gMain.savedCallback = *savedCallback; SetMainCallback2(CB2_InitBattleInternal); - Free(gUnknown_02023058); - gUnknown_02023058 = NULL; + Free(sMultiPartnerPartyBuffer); + sMultiPartnerPartyBuffer = NULL; } break; } @@ -1527,13 +1528,13 @@ static void CB2_PreInitIngamePlayerPartnerBattle(void) switch (gBattleCommunication[MULTIUSE_STATE]) { case 0: - gUnknown_02023058 = Alloc(sizeof(struct UnknownPokemonStruct4) * 3); + sMultiPartnerPartyBuffer = Alloc(sizeof(struct UnknownPokemonStruct4) * ARRAY_COUNT(gMultiPartnerParty)); sub_80379F8(3); gBattleCommunication[MULTIUSE_STATE]++; *savedCallback = gMain.savedCallback; *savedBattleTypeFlags = gBattleTypeFlags; gMain.savedCallback = CB2_PreInitIngamePlayerPartnerBattle; - sub_81B9150(); + ShowPartyMenuToShowcaseMultiBattleParty(); break; case 1: if (!gPaletteFade.active) @@ -1542,8 +1543,8 @@ static void CB2_PreInitIngamePlayerPartnerBattle(void) gBattleTypeFlags = *savedBattleTypeFlags; gMain.savedCallback = *savedCallback; SetMainCallback2(CB2_InitBattleInternal); - Free(gUnknown_02023058); - gUnknown_02023058 = NULL; + Free(sMultiPartnerPartyBuffer); + sMultiPartnerPartyBuffer = NULL; } break; } @@ -1611,7 +1612,7 @@ static void CB2_HandleStartMultiBattle(void) sub_8036EB8(4, playerMultiplayerId); SetAllPlayersBerryData(); SetDeoxysStats(); - var = CreateTask(sub_8035D74, 0); + var = CreateTask(InitLinkBattleVsScreen, 0); gTasks[var].data[1] = 0x10E; gTasks[var].data[2] = 0x5A; gTasks[var].data[5] = 0; @@ -1666,7 +1667,7 @@ static void CB2_HandleStartMultiBattle(void) break; case 1: case 2: - memcpy(gPlayerParty + 3, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); + memcpy(gPlayerParty + MULTI_PARTY_SIZE, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); break; } } @@ -1683,7 +1684,7 @@ static void CB2_HandleStartMultiBattle(void) break; case 1: case 2: - memcpy(gPlayerParty + 3, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); + memcpy(gPlayerParty + MULTI_PARTY_SIZE, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); break; } } @@ -1697,7 +1698,7 @@ static void CB2_HandleStartMultiBattle(void) break; case 1: case 2: - memcpy(gEnemyParty + 3, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); + memcpy(gEnemyParty + MULTI_PARTY_SIZE, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); break; } } @@ -1790,9 +1791,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; @@ -2249,7 +2250,7 @@ void sub_8038D64(void) gBattle_BG3_X = 0; gBattle_BG3_Y = 0; - sub_80356D0(); + InitBattleBgsVideo(); LoadCompressedPalette(gBattleTextboxPalette, 0, 64); LoadBattleMenuWindowGfx(); ResetSpriteData(); @@ -2260,7 +2261,7 @@ void sub_8038D64(void) gReservedSpritePaletteCount = 4; SetVBlankCallback(VBlankCB_Battle); - taskId = CreateTask(sub_8035D74, 0); + taskId = CreateTask(InitLinkBattleVsScreen, 0); gTasks[taskId].data[1] = 0x10E; gTasks[taskId].data[2] = 0x5A; gTasks[taskId].data[5] = 1; @@ -2314,7 +2315,7 @@ static void sub_8038F34(void) for (i = 0; i < monsCount && (gLinkPlayers[i].version & 0xFF) == VERSION_EMERALD; i++); - if (!gSaveBlock2Ptr->frontier.field_CA9_b && i == monsCount) + if (!gSaveBlock2Ptr->frontier.disableRecordBattle && i == monsCount) { if (FlagGet(FLAG_SYS_FRONTIER_PASS)) { @@ -2445,7 +2446,7 @@ static void sub_80392A8(void) gBattle_BG2_Y = 0; gBattle_BG3_X = 0; gBattle_BG3_Y = 0; - sub_80356D0(); + InitBattleBgsVideo(); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); LoadBattleMenuWindowGfx(); @@ -2593,7 +2594,7 @@ static void sub_803939C(void) } else { - BattleStringExpandPlaceholdersToDisplayedString(gText_BattleRecordCouldntBeSaved); + BattleStringExpandPlaceholdersToDisplayedString(BattleFrontier_BattleTowerBattleRoom_Text_RecordCouldntBeSaved); BattlePutTextOnWindow(gDisplayedStringBattle, 0); gBattleCommunication[1] = 0x80; gBattleCommunication[MULTIUSE_STATE]++; @@ -3953,7 +3954,7 @@ static void TryDoEventsBeforeFirstTurn(void) *(&gBattleStruct->turnEffectsBattlerId) = 0; *(&gBattleStruct->wishPerishSongState) = 0; *(&gBattleStruct->wishPerishSongBattlerId) = 0; - gBattleScripting.atk49_state = 0; + gBattleScripting.moveendState = 0; gBattleStruct->faintedActionsState = 0; gBattleStruct->turnCountersTracker = 0; gMoveResultFlags = 0; @@ -4016,7 +4017,7 @@ void BattleTurnPassed(void) gHitMarker &= ~(HITMARKER_x100000); gBattleScripting.animTurn = 0; gBattleScripting.animTargetsHit = 0; - gBattleScripting.atk49_state = 0; + gBattleScripting.moveendState = 0; gBattleMoveDamage = 0; gMoveResultFlags = 0; @@ -4121,34 +4122,34 @@ u8 IsRunningFromBattleImpossible(void) return 0; } -void sub_803BDA0(u8 battler) +void SwitchPartyOrder(u8 battler) { s32 i; - u8 r4; - u8 r1; + u8 partyId1; + u8 partyId2; // gBattleStruct->field_60[battler][i] - for (i = 0; i < 3; i++) - gUnknown_0203CF00[i] = *(battler * 3 + i + (u8*)(gBattleStruct->field_60)); + for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) + gBattlePartyCurrentOrder[i] = *(battler * 3 + i + (u8*)(gBattleStruct->field_60)); - r4 = pokemon_order_func(gBattlerPartyIndexes[battler]); - r1 = pokemon_order_func(*(gBattleStruct->monToSwitchIntoId + battler)); - sub_81B8FB0(r4, r1); + partyId1 = GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battler]); + partyId2 = GetPartyIdFromBattlePartyId(*(gBattleStruct->monToSwitchIntoId + battler)); + SwitchPartyMonSlots(partyId1, partyId2); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - for (i = 0; i < 3; i++) + for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) { - *(battler * 3 + i + (u8*)(gBattleStruct->field_60)) = gUnknown_0203CF00[i]; - *(BATTLE_PARTNER(battler) * 3 + i + (u8*)(gBattleStruct->field_60)) = gUnknown_0203CF00[i]; + *(battler * 3 + i + (u8*)(gBattleStruct->field_60)) = gBattlePartyCurrentOrder[i]; + *(BATTLE_PARTNER(battler) * 3 + i + (u8*)(gBattleStruct->field_60)) = gBattlePartyCurrentOrder[i]; } } else { - for (i = 0; i < 3; i++) + for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) { - *(battler * 3 + i + (u8*)(gBattleStruct->field_60)) = gUnknown_0203CF00[i]; + *(battler * 3 + i + (u8*)(gBattleStruct->field_60)) = gBattlePartyCurrentOrder[i]; } } } @@ -4244,7 +4245,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]; @@ -4283,7 +4284,7 @@ static void HandleTurnActionSelectionState(void) || gBattleTypeFlags & BATTLE_TYPE_ARENA || gStatuses3[gActiveBattler] & STATUS3_ROOTED) { - BtlController_EmitChoosePokemon(0, PARTY_CANT_SWITCH, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); + BtlController_EmitChoosePokemon(0, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); } else if ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG)) || ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP)) @@ -4292,16 +4293,16 @@ static void HandleTurnActionSelectionState(void) || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0)) && IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL))) { - BtlController_EmitChoosePokemon(0, ((i - 1) << 4) | PARTY_ABILITY_PREVENTS, 6, gLastUsedAbility, gBattleStruct->field_60[gActiveBattler]); + BtlController_EmitChoosePokemon(0, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gLastUsedAbility, gBattleStruct->field_60[gActiveBattler]); } else { if (gActiveBattler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); + BtlController_EmitChoosePokemon(0, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); else if (gActiveBattler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); + BtlController_EmitChoosePokemon(0, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); else - BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); + BtlController_EmitChoosePokemon(0, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); } MarkBattlerForControllerExec(gActiveBattler); break; @@ -4589,7 +4590,7 @@ static void HandleTurnActionSelectionState(void) for (i = 0; i < gBattlersCount; i++) { if (gChosenActionByBattler[i] == B_ACTION_SWITCH) - sub_80571DC(i, *(gBattleStruct->monToSwitchIntoId + i)); + SwitchPartyOrderInGameMulti(i, *(gBattleStruct->monToSwitchIntoId + i)); } } } @@ -5069,7 +5070,7 @@ static void HandleEndTurn_BattleLost(void) { gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeitedLinkBattle; gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN); - gSaveBlock2Ptr->frontier.field_CA9_b = 1; + gSaveBlock2Ptr->frontier.disableRecordBattle = TRUE; } else { @@ -5101,7 +5102,7 @@ static void HandleEndTurn_RanFromBattle(void) { gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeited; gBattleOutcome = B_OUTCOME_FORFEITED; - gSaveBlock2Ptr->frontier.field_CA9_b = 1; + gSaveBlock2Ptr->frontier.disableRecordBattle = TRUE; } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) { @@ -5720,7 +5721,7 @@ static void HandleAction_Run(void) } gBattleOutcome |= B_OUTCOME_LINK_BATTLE_RAN; - gSaveBlock2Ptr->frontier.field_CA9_b = 1; + gSaveBlock2Ptr->frontier.disableRecordBattle = TRUE; } else { @@ -5884,7 +5885,7 @@ static void HandleAction_ActionFinished(void) gLastHitByType[gBattlerAttacker] = 0; gBattleStruct->dynamicMoveType = 0; gDynamicBasePower = 0; - gBattleScripting.atk49_state = 0; + gBattleScripting.moveendState = 0; gBattleCommunication[3] = 0; gBattleCommunication[4] = 0; gBattleScripting.multihitMoveEffect = 0; diff --git a/src/battle_message.c b/src/battle_message.c index 3fec571f45..f60527d7a6 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -20,9 +20,11 @@ #include "trainer_hill.h" #include "window.h" #include "constants/battle_string_ids.h" +#include "constants/frontier_util.h" #include "constants/items.h" #include "constants/moves.h" #include "constants/trainers.h" +#include "constants/trainer_hill.h" struct BattleWindowText { @@ -874,8 +876,8 @@ const u8 * const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_FORFEITEDMATCH - 12] = sText_ForfeitedMatch, [STRINGID_PKMNTRANSFERREDSOMEONESPC - 12] = gText_PkmnTransferredSomeonesPC, [STRINGID_PKMNTRANSFERREDLANETTESPC - 12] = gText_PkmnTransferredLanettesPC, - [STRINGID_PKMNBOXSOMEONESPCFULL - 12] = gText_PkmnBoxSomeonesPCFull, - [STRINGID_PKMNBOXLANETTESPCFULL - 12] = gText_PkmnBoxLanettesPCFull, + [STRINGID_PKMNBOXSOMEONESPCFULL - 12] = gText_PkmnTransferredSomeonesPCBoxFull, + [STRINGID_PKMNBOXLANETTESPCFULL - 12] = gText_PkmnTransferredLanettesPCBoxFull, [STRINGID_TRAINER1WINTEXT - 12] = sText_Trainer1WinText, [STRINGID_TRAINER2WINTEXT - 12] = sText_Trainer2WinText, }; @@ -1193,7 +1195,7 @@ const u8 gText_Love[] = _("love"); const u8 gText_SpaceAndSpace[] = _(" and "); const u8 gText_CommaSpace[] = _(", "); const u8 gText_Space2[] = _(" "); -const u8 gText_ScrollTextUp[] = _("\l"); +const u8 gText_LineBreak[] = _("\l"); const u8 gText_NewLine[] = _("\n"); const u8 gText_Are[] = _("are"); const u8 gText_Are2[] = _("are"); @@ -2573,7 +2575,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) { - CopyTrainerHillTrainerText(4, gTrainerBattleOpponent_A); + CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_PLAYER_WON, gTrainerBattleOpponent_A); toCpy = gStringVar4; } else @@ -2589,7 +2591,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) { - CopyTrainerHillTrainerText(3, gTrainerBattleOpponent_A); + CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_PLAYER_LOST, gTrainerBattleOpponent_A); toCpy = gStringVar4; } break; @@ -2670,7 +2672,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) { - CopyTrainerHillTrainerText(4, gTrainerBattleOpponent_B); + CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_PLAYER_WON, gTrainerBattleOpponent_B); toCpy = gStringVar4; } else @@ -2686,7 +2688,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) { - CopyTrainerHillTrainerText(3, gTrainerBattleOpponent_B); + CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_PLAYER_LOST, gTrainerBattleOpponent_B); toCpy = gStringVar4; } break; @@ -2759,7 +2761,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) value = T1_READ_32(&src[srcID + 3]); break; } - ConvertIntToDecimalStringN(dst, value, 0, src[srcID + 2]); + ConvertIntToDecimalStringN(dst, value, STR_CONV_MODE_LEFT_ALIGN, src[srcID + 2]); srcID += src[srcID + 1] + 3; break; case B_BUFF_MOVE: // move name diff --git a/src/battle_palace.c b/src/battle_palace.c index fb8cc0729a..6336662546 100644 --- a/src/battle_palace.c +++ b/src/battle_palace.c @@ -8,47 +8,71 @@ #include "item.h" #include "string_util.h" #include "constants/items.h" +#include "constants/battle_frontier.h" +#include "constants/battle_palace.h" +#include "constants/frontier_util.h" +#include "constants/trainers.h" // This file's functions. -static void sub_8195980(void); -static void sub_8195A38(void); -static void sub_8195AE4(void); -static void sub_8195BB0(void); -static void sub_8195C20(void); -static void sub_8195C50(void); -static void sub_8195C7C(void); -static void sub_8195CE4(void); -static void sub_8195D28(void); -static void sub_8195DB8(void); +static void InitPalaceChallenge(void); +static void GetPalaceData(void); +static void SetPalaceData(void); +static void GetPalaceCommentId(void); +static void SetPalaceOpponent(void); +static void BufferOpponentIntroSpeech(void); +static void IncrementPalaceStreak(void); +static void SavePalaceChallenge(void); +static void SetRandomPalacePrize(void); +static void GivePalacePrize(void); // Const rom data. static void (* const sBattlePalaceFunctions[])(void) = { - sub_8195980, - sub_8195A38, - sub_8195AE4, - sub_8195BB0, - sub_8195C20, - sub_8195C50, - sub_8195C7C, - sub_8195CE4, - sub_8195D28, - sub_8195DB8, + [BATTLE_PALACE_FUNC_INIT] = InitPalaceChallenge, + [BATTLE_PALACE_FUNC_GET_DATA] = GetPalaceData, + [BATTLE_PALACE_FUNC_SET_DATA] = SetPalaceData, + [BATTLE_PALACE_FUNC_GET_COMMENT_ID] = GetPalaceCommentId, + [BATTLE_PALACE_FUNC_SET_OPPONENT] = SetPalaceOpponent, + [BATTLE_PALACE_FUNC_GET_OPPONENT_INTRO] = BufferOpponentIntroSpeech, + [BATTLE_PALACE_FUNC_INCREMENT_STREAK] = IncrementPalaceStreak, + [BATTLE_PALACE_FUNC_SAVE] = SavePalaceChallenge, + [BATTLE_PALACE_FUNC_SET_PRIZE] = SetRandomPalacePrize, + [BATTLE_PALACE_FUNC_GIVE_PRIZE] = GivePalacePrize, }; -static const u16 gUnknown_0860DE78[] = {ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, ITEM_CALCIUM, ITEM_CARBOS, ITEM_ZINC}; -static const u16 gUnknown_0860DE84[] = {ITEM_BRIGHT_POWDER, ITEM_WHITE_HERB, ITEM_QUICK_CLAW, ITEM_LEFTOVERS, ITEM_MENTAL_HERB, ITEM_KINGS_ROCK, ITEM_FOCUS_BAND, ITEM_SCOPE_LENS, ITEM_CHOICE_BAND}; - -static const u32 gUnknown_0860DE98[][2] = +static const u16 sBattlePalaceEarlyPrizes[] = { - {0x10, 0x20}, - {0x400000, 0x800000}, + ITEM_HP_UP, + ITEM_PROTEIN, + ITEM_IRON, + ITEM_CALCIUM, + ITEM_CARBOS, + ITEM_ZINC }; -static const u32 gUnknown_0860DEA8[][2] = +static const u16 sBattlePalaceLatePrizes[] = { - {~0x10, ~0x20}, - {~0x400000, ~0x800000}, + ITEM_BRIGHT_POWDER, + ITEM_WHITE_HERB, + ITEM_QUICK_CLAW, + ITEM_LEFTOVERS, + ITEM_MENTAL_HERB, + ITEM_KINGS_ROCK, + ITEM_FOCUS_BAND, + ITEM_SCOPE_LENS, + ITEM_CHOICE_BAND +}; + +static const u32 sWinStreakFlags[][2] = +{ + {STREAK_PALACE_SINGLES_50, STREAK_PALACE_SINGLES_OPEN}, + {STREAK_PALACE_DOUBLES_50, STREAK_PALACE_DOUBLES_OPEN}, +}; + +static const u32 sWinStreakMasks[][2] = +{ + {~(STREAK_PALACE_SINGLES_50), ~(STREAK_PALACE_SINGLES_OPEN)}, + {~(STREAK_PALACE_DOUBLES_50), ~(STREAK_PALACE_DOUBLES_OPEN)}, }; // code @@ -57,64 +81,64 @@ void CallBattlePalaceFunction(void) sBattlePalaceFunctions[gSpecialVar_0x8004](); } -static void sub_8195980(void) +static void InitPalaceChallenge(void) { u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); - gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.challengeStatus = 0; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; - gSaveBlock2Ptr->frontier.field_CA9_a = 0; - gSaveBlock2Ptr->frontier.field_CA9_b = 0; - if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode])) + gSaveBlock2Ptr->frontier.challengePaused = FALSE; + gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE; + if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode])) gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = 0; SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); gTrainerBattleOpponent_A = 0; } -static void sub_8195A38(void) +static void GetPalaceData(void) { u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); switch (gSpecialVar_0x8005) { - case 0: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DC6; + case PALACE_DATA_PRIZE: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.palacePrize; break; - case 1: + case PALACE_DATA_WIN_STREAK: gSpecialVar_Result = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode]; break; - case 2: - gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]) != 0); + case PALACE_DATA_WIN_STREAK_ACTIVE: + gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0); break; } } -static void sub_8195AE4(void) +static void SetPalaceData(void) { u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); switch (gSpecialVar_0x8005) { - case 0: - gSaveBlock2Ptr->frontier.field_DC6 = gSpecialVar_0x8006; + case PALACE_DATA_PRIZE: + gSaveBlock2Ptr->frontier.palacePrize = gSpecialVar_0x8006; break; - case 1: + case PALACE_DATA_WIN_STREAK: gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006; break; - case 2: + case PALACE_DATA_WIN_STREAK_ACTIVE: if (gSpecialVar_0x8006) - gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860DE98[battleMode][lvlMode]; + gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode]; else - gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860DEA8[battleMode][lvlMode]; + gSaveBlock2Ptr->frontier.winStreakActiveFlags &= sWinStreakMasks[battleMode][lvlMode]; break; } } -static void sub_8195BB0(void) +static void GetPalaceCommentId(void) { u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; @@ -127,24 +151,24 @@ static void sub_8195BB0(void) gSpecialVar_Result = 4; } -static void sub_8195C20(void) +static void SetPalaceOpponent(void) { gTrainerBattleOpponent_A = 5 *(Random() % 255) / 64u; SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0); } -static void sub_8195C50(void) +static void BufferOpponentIntroSpeech(void) { - if (gTrainerBattleOpponent_A < 300) + if (gTrainerBattleOpponent_A < FRONTIER_TRAINERS_COUNT) FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore); } -static void sub_8195C7C(void) +static void IncrementPalaceStreak(void) { u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); - if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 9999) + if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < MAX_STREAK) { gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode]++; @@ -154,31 +178,31 @@ static void sub_8195C7C(void) } } -static void sub_8195CE4(void) +static void SavePalaceChallenge(void) { - gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; + gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_0, 0); - gSaveBlock2Ptr->frontier.field_CA9_a = 1; - sub_81A4C30(); + gSaveBlock2Ptr->frontier.challengePaused = TRUE; + SaveGameFrontier(); } -static void sub_8195D28(void) +static void SetRandomPalacePrize(void) { u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] > 41) - gSaveBlock2Ptr->frontier.field_DC6 = gUnknown_0860DE84[Random() % ARRAY_COUNT(gUnknown_0860DE84)]; + gSaveBlock2Ptr->frontier.palacePrize = sBattlePalaceLatePrizes[Random() % ARRAY_COUNT(sBattlePalaceLatePrizes)]; else - gSaveBlock2Ptr->frontier.field_DC6 = gUnknown_0860DE78[Random() % ARRAY_COUNT(gUnknown_0860DE78)]; + gSaveBlock2Ptr->frontier.palacePrize = sBattlePalaceEarlyPrizes[Random() % ARRAY_COUNT(sBattlePalaceEarlyPrizes)]; } -static void sub_8195DB8(void) +static void GivePalacePrize(void) { - if (AddBagItem(gSaveBlock2Ptr->frontier.field_DC6, 1) == TRUE) + if (AddBagItem(gSaveBlock2Ptr->frontier.palacePrize, 1) == TRUE) { - CopyItemName(gSaveBlock2Ptr->frontier.field_DC6, gStringVar1); - gSaveBlock2Ptr->frontier.field_DC6 = 0; + CopyItemName(gSaveBlock2Ptr->frontier.palacePrize, gStringVar1); + gSaveBlock2Ptr->frontier.palacePrize = 0; gSpecialVar_Result = TRUE; } else diff --git a/src/battle_pike.c b/src/battle_pike.c index 8846e2d1a8..1c05d12cfa 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -9,12 +9,13 @@ #include "task.h" #include "battle_tower.h" #include "party_menu.h" -#include "alloc.h" +#include "malloc.h" #include "palette.h" #include "script.h" #include "battle_setup.h" #include "constants/event_objects.h" #include "constants/battle_frontier.h" +#include "constants/frontier_util.h" #include "constants/abilities.h" #include "constants/easy_chat.h" #include "constants/layouts.h" @@ -22,20 +23,8 @@ #include "constants/trainers.h" #include "constants/species.h" #include "constants/moves.h" - -#define PIKE_ROOM_SINGLE_BATTLE 0 -#define PIKE_ROOM_HEAL_FULL 1 -#define PIKE_ROOM_NPC 2 -#define PIKE_ROOM_STATUS 3 -#define PIKE_ROOM_HEAL_PART 4 -#define PIKE_ROOM_WILD_MONS 5 -#define PIKE_ROOM_HARD_BATTLE 6 -#define PIKE_ROOM_DOUBLE_BATTLE 7 -#define PIKE_ROOM_BRAIN 8 - -// For the room with a status effect. -#define PIKE_STATUS_KIRLIA 0 -#define PIKE_STATUS_DUSCLOPS 1 +#include "constants/party_menu.h" +#include "constants/battle_pike.h" struct PikeRoomNPC { @@ -49,13 +38,13 @@ struct PikeWildMon { u16 species; u8 levelDelta; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; }; // IWRAM bss static u8 sRoomType; static u8 sStatusMon; -static bool8 sUnknown_0300128E; +static bool8 sInWildMonRoom; static u32 sStatusFlags; static u8 sNpcId; @@ -63,30 +52,30 @@ static u8 sNpcId; static void SetRoomType(void); static void GetBattlePikeData(void); static void SetBattlePikeData(void); -static void GetInFinalRoom(void); +static void IsNextRoomFinal(void); static void SetupRoomEventObjects(void); static void GetRoomType(void); -static void sub_81A7400(void); -static void sub_81A740C(void); -static void sub_81A7418(void); +static void SetInWildMonRoom(void); +static void ClearInWildMonRoom(void); +static void SavePikeChallenge(void); static void nullsub_76(void); static void nullsub_124(void); static void GetRoomInflictedStatus(void); static void GetRoomInflictedStatusMon(void); static void HealOneOrTwoMons(void); static void BufferNPCMessage(void); -static void StatusInflictionScreenFade(void); +static void StatusInflictionScreenFlash(void); static void GetInBattlePike(void); static void SetHintedRoom(void); static void GetHintedRoomIndex(void); static void GetRoomTypeHint(void); static void ClearPikeTrainerIds(void); -static void BufferRecordMixingTrainerMessage(void); +static void BufferTrainerIntro(void); static void GetCurrentRoomPikeQueenFightType(void); static void HealSomeMonsBeforePikeQueen(void); -static void SetHealingRoomsDisabled(void); -static void CanAnyPartyMonsBeHealed(void); -static void BackupMonHeldItems(void); +static void SetHealingroomTypesDisabled(void); +static void IsPartyFullHealed(void); +static void SaveMonHeldItems(void); static void RestoreMonHeldItems(void); static void InitPikeChallenge(void); static u8 GetNextRoomType(void); @@ -94,7 +83,7 @@ static void PrepareOneTrainer(bool8 difficult); static u16 GetNPCRoomGraphicsId(void); static void PrepareTwoTrainers(void); static void TryHealMons(u8 healCount); -static void Task_DoStatusInflictionScreenFade(u8 taskId); +static void Task_DoStatusInflictionScreenFlash(u8 taskId); static bool8 AtLeastTwoAliveMons(void); static u8 SpeciesToPikeMonId(u16 species); static bool8 CanEncounterWildMon(u8 monLevel); @@ -431,7 +420,7 @@ static const struct PikeRoomNPC sNPCTable[] = } }; -static const u16 sNPCSpeeches[][6] = +static const u16 sNPCSpeeches[][EASY_CHAT_BATTLE_WORDS_COUNT] = { {EC_WORD_I_AM, EC_WORD_LOST, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_MOVE2(HELPING_HAND)}, {EC_WORD_I_VE, EC_WORD_NO, EC_WORD_SENSE, EC_WORD_OF, EC_WORD_WHERE, EC_WORD_I_AM}, @@ -477,61 +466,61 @@ static const u16 sNPCSpeeches[][6] = {EC_MOVE2(TOXIC), EC_WORD_IS, EC_WORD_A, EC_WORD_TERRIBLE, EC_WORD_THING, EC_WORD_ISN_T_IT_QUES}, }; -// Only the 5th array in this data is used by the code. -static const u8 sPikeQueenWinStreakAppearances[][4] = +// Table duplicated from frontier_util, only Battle Pike entry used +static const u8 sFrontierBrainStreakAppearances[NUM_FRONTIER_FACILITIES][4] = { - {35, 70, 35, 1}, - { 4, 9, 5, 0}, - {21, 42, 21, 1}, - {28, 56, 28, 1}, - {21, 42, 21, 1}, - {28, 140, 56, 1}, - {21, 70, 35, 0}, + [FRONTIER_FACILITY_TOWER] = {35, 70, 35, 1}, + [FRONTIER_FACILITY_DOME] = { 4, 9, 5, 0}, + [FRONTIER_FACILITY_PALACE] = {21, 42, 21, 1}, + [FRONTIER_FACILITY_ARENA] = {28, 56, 28, 1}, + [FRONTIER_FACILITY_FACTORY] = {21, 42, 21, 1}, + [FRONTIER_FACILITY_PIKE] = {28, 140, 56, 1}, + [FRONTIER_FACILITY_PYRAMID] = {21, 70, 35, 0}, }; static void (* const sBattlePikeFunctions[])(void) = { - SetRoomType, - GetBattlePikeData, - SetBattlePikeData, - GetInFinalRoom, - SetupRoomEventObjects, - GetRoomType, - sub_81A7400, - sub_81A740C, - sub_81A7418, - nullsub_76, - nullsub_124, - GetRoomInflictedStatus, - GetRoomInflictedStatusMon, - HealOneOrTwoMons, - BufferNPCMessage, - StatusInflictionScreenFade, - GetInBattlePike, - SetHintedRoom, - GetHintedRoomIndex, - GetRoomTypeHint, - ClearPikeTrainerIds, - BufferRecordMixingTrainerMessage, - GetCurrentRoomPikeQueenFightType, - HealSomeMonsBeforePikeQueen, - SetHealingRoomsDisabled, - CanAnyPartyMonsBeHealed, - BackupMonHeldItems, - RestoreMonHeldItems, - InitPikeChallenge + [BATTLE_PIKE_FUNC_SET_ROOM_TYPE] = SetRoomType, + [BATTLE_PIKE_FUNC_GET_DATA] = GetBattlePikeData, + [BATTLE_PIKE_FUNC_SET_DATA] = SetBattlePikeData, + [BATTLE_PIKE_FUNC_IS_FINAL_ROOM] = IsNextRoomFinal, + [BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS] = SetupRoomEventObjects, + [BATTLE_PIKE_FUNC_GET_ROOM_TYPE] = GetRoomType, + [BATTLE_PIKE_FUNC_SET_IN_WILD_MON_ROOM] = SetInWildMonRoom, + [BATTLE_PIKE_FUNC_CLEAR_IN_WILD_MON_ROOM] = ClearInWildMonRoom, + [BATTLE_PIKE_FUNC_SAVE] = SavePikeChallenge, + [BATTLE_PIKE_FUNC_NULL_9] = nullsub_76, + [BATTLE_PIKE_FUNC_NULL_10] = nullsub_124, + [BATTLE_PIKE_FUNC_GET_ROOM_STATUS] = GetRoomInflictedStatus, + [BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON] = GetRoomInflictedStatusMon, + [BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS] = HealOneOrTwoMons, + [BATTLE_PIKE_FUNC_BUFFER_NPC_MSG] = BufferNPCMessage, + [BATTLE_PIKE_FUNC_STATUS_SCREEN_FLASH] = StatusInflictionScreenFlash, + [BATTLE_PIKE_FUNC_IS_IN] = GetInBattlePike, + [BATTLE_PIKE_FUNC_SET_HINT_ROOM] = SetHintedRoom, + [BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID] = GetHintedRoomIndex, + [BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT] = GetRoomTypeHint, + [BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS] = ClearPikeTrainerIds, + [BATTLE_PIKE_FUNC_GET_TRAINER_INTRO] = BufferTrainerIntro, + [BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE] = GetCurrentRoomPikeQueenFightType, + [BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN] = HealSomeMonsBeforePikeQueen, + [BATTLE_PIKE_FUNC_SET_HEAL_ROOMS_DISABLED] = SetHealingroomTypesDisabled, + [BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH] = IsPartyFullHealed, + [BATTLE_PIKE_FUNC_SAVE_HELD_ITEMS] = SaveMonHeldItems, + [BATTLE_PIKE_FUNC_RESET_HELD_ITEMS] = RestoreMonHeldItems, + [BATTLE_PIKE_FUNC_INIT] = InitPikeChallenge }; static const u8 sRoomTypeHints[] = { - 3, // PIKE_ROOM_SINGLE_BATTLE - 3, // PIKE_ROOM_HEAL_FULL - 1, // PIKE_ROOM_NPC - 0, // PIKE_ROOM_STATUS - 0, // PIKE_ROOM_HEAL_PART - 2, // PIKE_ROOM_WILD_MONS - 2, // PIKE_ROOM_HARD_BATTLE - 1, // PIKE_ROOM_DOUBLE_BATTLE - 4, // PIKE_ROOM_BRAIN + PIKE_HINT_PEOPLE, // PIKE_ROOM_SINGLE_BATTLE + PIKE_HINT_PEOPLE, // PIKE_ROOM_HEAL_FULL + PIKE_HINT_WHISPERING, // PIKE_ROOM_NPC + PIKE_HINT_NOSTALGIA, // PIKE_ROOM_STATUS + PIKE_HINT_NOSTALGIA, // PIKE_ROOM_HEAL_PART + PIKE_HINT_POKEMON, // PIKE_ROOM_WILD_MONS + PIKE_HINT_POKEMON, // PIKE_ROOM_HARD_BATTLE + PIKE_HINT_WHISPERING, // PIKE_ROOM_DOUBLE_BATTLE + PIKE_HINT_BRAIN, // PIKE_ROOM_BRAIN }; static const u8 sNumMonsToHealBeforePikeQueen[][3] = @@ -544,12 +533,12 @@ static const u8 sNumMonsToHealBeforePikeQueen[][3] = {0, 1, 2}, }; -static bool8 (* const sStatusInflictionScreenFadeFuncs[])(struct Task *) = +static bool8 (* const sStatusInflictionScreenFlashFuncs[])(struct Task *) = { StatusInflictionFadeOut, StatusInflictionFadeIn }; -static const u32 gUnknown_08612690[] = {0x400, 0x800}; +static const u32 sWinStreakFlags[] = {STREAK_PIKE_50, STREAK_PIKE_OPEN}; // code void CallBattlePikeFunction(void) @@ -590,7 +579,7 @@ static void SetupRoomEventObjects(void) break; case PIKE_ROOM_STATUS: objGfx1 = EVENT_OBJ_GFX_GENTLEMAN; - if (sStatusMon == PIKE_STATUS_DUSCLOPS) + if (sStatusMon == PIKE_STATUSMON_DUSCLOPS) objGfx2 = EVENT_OBJ_GFX_DUSCLOPS; else objGfx2 = EVENT_OBJ_GFX_KIRLIA; @@ -634,23 +623,23 @@ static void GetBattlePikeData(void) switch (gSpecialVar_0x8005) { - case 0: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E02; + case PIKE_DATA_PRIZE: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikePrize; break; - case 1: + case PIKE_DATA_WIN_STREAK: gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeWinStreaks[gSaveBlock2Ptr->frontier.lvlMode]; break; - case 2: + case PIKE_DATA_RECORD_STREAK: gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode]; break; - case 3: + case PIKE_DATA_TOTAL_STREAKS: gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeTotalStreaks[gSaveBlock2Ptr->frontier.lvlMode]; break; - case 4: + case PIKE_DATA_WIN_STREAK_ACTIVE: if (lvlMode != FRONTIER_LVL_50) - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x800; + gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PIKE_OPEN; else - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x400; + gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PIKE_50; break; } } @@ -661,41 +650,41 @@ static void SetBattlePikeData(void) switch (gSpecialVar_0x8005) { - case 0: - gSaveBlock2Ptr->frontier.field_E02 = gSpecialVar_0x8006; + case PIKE_DATA_PRIZE: + gSaveBlock2Ptr->frontier.pikePrize = gSpecialVar_0x8006; break; - case 1: - if (gSpecialVar_0x8006 <= 9999) + case PIKE_DATA_WIN_STREAK: + if (gSpecialVar_0x8006 <= MAX_STREAK) gSaveBlock2Ptr->frontier.pikeWinStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006; break; - case 2: - if (gSpecialVar_0x8006 <= 9999 && gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode] < gSpecialVar_0x8006) + case PIKE_DATA_RECORD_STREAK: + if (gSpecialVar_0x8006 <= MAX_STREAK && gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode] < gSpecialVar_0x8006) gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006; break; - case 3: - if (gSpecialVar_0x8006 <= 9999) + case PIKE_DATA_TOTAL_STREAKS: + if (gSpecialVar_0x8006 <= MAX_STREAK) gSaveBlock2Ptr->frontier.pikeTotalStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006; break; - case 4: + case PIKE_DATA_WIN_STREAK_ACTIVE: if (lvlMode != FRONTIER_LVL_50) { if (gSpecialVar_0x8006) - gSaveBlock2Ptr->frontier.field_CDC |= 0x800; + gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_PIKE_OPEN; else - gSaveBlock2Ptr->frontier.field_CDC &= ~(0x800); + gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_PIKE_OPEN); } else { if (gSpecialVar_0x8006) - gSaveBlock2Ptr->frontier.field_CDC |= 0x400; + gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_PIKE_50; else - gSaveBlock2Ptr->frontier.field_CDC &= ~(0x400); + gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_PIKE_50); } break; } } -static void GetInFinalRoom(void) +static void IsNextRoomFinal(void) { if (gSaveBlock2Ptr->frontier.curChallengeBattleNum > 14) gSpecialVar_Result = TRUE; @@ -708,21 +697,21 @@ static void GetRoomType(void) gSpecialVar_Result = sRoomType; } -static void sub_81A7400(void) +static void SetInWildMonRoom(void) { - sUnknown_0300128E = TRUE; + sInWildMonRoom = TRUE; } -static void sub_81A740C(void) +static void ClearInWildMonRoom(void) { - sUnknown_0300128E = FALSE; + sInWildMonRoom = FALSE; } -static void sub_81A7418(void) +static void SavePikeChallenge(void) { - gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; + gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_0, 0); - gSaveBlock2Ptr->frontier.field_CA9_a = 1; + gSaveBlock2Ptr->frontier.challengePaused = TRUE; save_serialize_map(); TrySavingData(SAVE_LINK); } @@ -742,19 +731,19 @@ static void GetRoomInflictedStatus(void) switch (sStatusFlags) { case STATUS1_FREEZE: - gSpecialVar_Result = 0; + gSpecialVar_Result = PIKE_STATUS_FREEZE; break; case STATUS1_BURN: - gSpecialVar_Result = 1; + gSpecialVar_Result = PIKE_STATUS_BURN; break; case STATUS1_TOXIC_POISON: - gSpecialVar_Result = 2; + gSpecialVar_Result = PIKE_STATUS_TOXIC; break; case STATUS1_PARALYSIS: - gSpecialVar_Result = 3; + gSpecialVar_Result = PIKE_STATUS_PARALYSIS; break; case STATUS1_SLEEP: - gSpecialVar_Result = 4; + gSpecialVar_Result = PIKE_STATUS_SLEEP; break; } } @@ -785,9 +774,9 @@ static void BufferNPCMessage(void) FrontierSpeechToString(sNPCSpeeches[speechId]); } -static void StatusInflictionScreenFade(void) +static void StatusInflictionScreenFlash(void) { - CreateTask(Task_DoStatusInflictionScreenFade, 2); + CreateTask(Task_DoStatusInflictionScreenFlash, 2); } static void HealMon(struct Pokemon *mon) @@ -935,7 +924,7 @@ static bool8 TryInflictRandomStatus(void) for (i = 0; i < 3; i++) { mon = &gPlayerParty[indices[i]]; - if (pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)) == 0 + if (GetAilmentFromStatus(GetMonData(mon, MON_DATA_STATUS)) == AILMENT_NONE && GetMonData(mon, MON_DATA_HP) != 0) { j++; @@ -957,19 +946,19 @@ static bool8 TryInflictRandomStatus(void) switch (sStatusFlags) { case STATUS1_FREEZE: - sStatusMon = PIKE_STATUS_DUSCLOPS; + sStatusMon = PIKE_STATUSMON_DUSCLOPS; break; case STATUS1_BURN: if (Random() % 2 != 0) - sStatusMon = PIKE_STATUS_DUSCLOPS; + sStatusMon = PIKE_STATUSMON_DUSCLOPS; else - sStatusMon = PIKE_STATUS_KIRLIA; + sStatusMon = PIKE_STATUSMON_KIRLIA; break; case STATUS1_PARALYSIS: case STATUS1_SLEEP: case STATUS1_TOXIC_POISON: default: - sStatusMon = PIKE_STATUS_KIRLIA; + sStatusMon = PIKE_STATUSMON_KIRLIA; break; } @@ -977,7 +966,7 @@ static bool8 TryInflictRandomStatus(void) for (i = 0; i < 3; i++) { mon = &gPlayerParty[indices[i]]; - if (pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)) == 0 + if (GetAilmentFromStatus(GetMonData(mon, MON_DATA_STATUS)) == AILMENT_NONE && GetMonData(mon, MON_DATA_HP) != 0) { j++; @@ -1009,7 +998,7 @@ static bool8 AtLeastOneHealthyMon(void) for (i = 0; i < 3; i++) { struct Pokemon *mon = &gPlayerParty[i]; - if (pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)) == 0 + if (GetAilmentFromStatus(GetMonData(mon, MON_DATA_STATUS)) == AILMENT_NONE && GetMonData(mon, MON_DATA_HP) != 0) { healthyMonsCount++; @@ -1026,10 +1015,10 @@ static bool8 AtLeastOneHealthyMon(void) static u8 GetNextRoomType(void) { - u8 roomTypesAvailability[8]; + bool8 roomTypesDisabled[NUM_PIKE_ROOM_TYPES - 1]; // excludes Brain room, which cant be disabled u8 i; u8 nextRoomType; - u8 roomTypeGroup; + u8 roomHint; u8 numRoomCandidates; u8 *roomCandidates; u8 id; @@ -1045,54 +1034,54 @@ static u8 GetNextRoomType(void) return gSaveBlock2Ptr->frontier.pikeHintedRoomType; } - for (i = 0; i < 8; i++) - roomTypesAvailability[i] = 0; + for (i = 0; i < ARRAY_COUNT(roomTypesDisabled); i++) + roomTypesDisabled[i] = FALSE; - numRoomCandidates = 8; + numRoomCandidates = NUM_PIKE_ROOM_TYPES - 1; - // The room types associated with the lady's hint cannot be in the other two rooms. - roomTypeGroup = sRoomTypeHints[gSaveBlock2Ptr->frontier.pikeHintedRoomType]; - for (i = 0; i < 8; i++) + // The other two room types cannot be the same type as the one associated with the lady's hint + roomHint = sRoomTypeHints[gSaveBlock2Ptr->frontier.pikeHintedRoomType]; + for (i = 0; i < ARRAY_COUNT(roomTypesDisabled); i++) { - if (sRoomTypeHints[i] == roomTypeGroup) + if (sRoomTypeHints[i] == roomHint) { - roomTypesAvailability[i] = 1; + roomTypesDisabled[i] = TRUE; numRoomCandidates--; } } // Remove room type candidates that would have no effect on the player's party. - if (roomTypesAvailability[PIKE_ROOM_DOUBLE_BATTLE] != 1 && !AtLeastTwoAliveMons()) + if (roomTypesDisabled[PIKE_ROOM_DOUBLE_BATTLE] != TRUE && !AtLeastTwoAliveMons()) { - roomTypesAvailability[PIKE_ROOM_DOUBLE_BATTLE] = 1; + roomTypesDisabled[PIKE_ROOM_DOUBLE_BATTLE] = TRUE; numRoomCandidates--; } - if (roomTypesAvailability[PIKE_ROOM_STATUS] != 1 && !AtLeastOneHealthyMon()) + if (roomTypesDisabled[PIKE_ROOM_STATUS] != TRUE && !AtLeastOneHealthyMon()) { - roomTypesAvailability[PIKE_ROOM_STATUS] = 1; + roomTypesDisabled[PIKE_ROOM_STATUS] = TRUE; numRoomCandidates--; } // Remove healing room type candidates if healing rooms are disabled. if (gSaveBlock2Ptr->frontier.pikeHealingRoomsDisabled) { - if (roomTypesAvailability[PIKE_ROOM_HEAL_FULL] != 1) + if (roomTypesDisabled[PIKE_ROOM_HEAL_FULL] != TRUE) { - roomTypesAvailability[PIKE_ROOM_HEAL_FULL] = 1; + roomTypesDisabled[PIKE_ROOM_HEAL_FULL] = TRUE; numRoomCandidates--; } - if (roomTypesAvailability[PIKE_ROOM_HEAL_PART] != 1) + if (roomTypesDisabled[PIKE_ROOM_HEAL_PART] != TRUE) { - roomTypesAvailability[PIKE_ROOM_HEAL_PART] = 1; + roomTypesDisabled[PIKE_ROOM_HEAL_PART] = TRUE; numRoomCandidates--; } } roomCandidates = AllocZeroed(numRoomCandidates); id = 0; - for (i = 0; i < 8; i++) + for (i = 0; i < ARRAY_COUNT(roomTypesDisabled); i++) { - if (roomTypesAvailability[i] == 0) + if (roomTypesDisabled[i] == FALSE) roomCandidates[id++] = i; } @@ -1110,9 +1099,10 @@ static u16 GetNPCRoomGraphicsId(void) return sNPCTable[sNpcId].graphicsId; } -static u8 sub_81A7B84(void) +// Unused +static u8 GetInWildMonRoom(void) { - return sUnknown_0300128E; + return sInWildMonRoom; } bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate) @@ -1182,9 +1172,9 @@ u8 GetBattlePikeWildMonHeaderId(void) return headerId; } -static void DoStatusInflictionScreenFade(u8 taskId) +static void DoStatusInflictionScreenFlash(u8 taskId) { - while (sStatusInflictionScreenFadeFuncs[gTasks[taskId].data[0]](&gTasks[taskId])); + while (sStatusInflictionScreenFlashFuncs[gTasks[taskId].data[0]](&gTasks[taskId])); } static bool8 StatusInflictionFadeOut(struct Task *task) @@ -1221,7 +1211,7 @@ static bool8 StatusInflictionFadeIn(struct Task *task) { if (--task->data[3] == 0) { - DestroyTask(FindTaskIdByFunc(DoStatusInflictionScreenFade)); + DestroyTask(FindTaskIdByFunc(DoStatusInflictionScreenFlash)); } else { @@ -1232,9 +1222,9 @@ static bool8 StatusInflictionFadeIn(struct Task *task) return FALSE; } -static void StartStatusInflictionScreenFade(s16 fadeOutDelay, s16 fadeInDelay, s16 numFades, s16 fadeOutSpeed, s16 fadeInSpped) +static void StartStatusInflictionScreenFlash(s16 fadeOutDelay, s16 fadeInDelay, s16 numFades, s16 fadeOutSpeed, s16 fadeInSpped) { - u8 taskId = CreateTask(DoStatusInflictionScreenFade, 3); + u8 taskId = CreateTask(DoStatusInflictionScreenFlash, 3); gTasks[taskId].data[1] = fadeOutDelay; gTasks[taskId].data[2] = fadeInDelay; @@ -1244,24 +1234,24 @@ static void StartStatusInflictionScreenFade(s16 fadeOutDelay, s16 fadeInDelay, s gTasks[taskId].data[6] = fadeOutDelay; } -static bool8 IsStatusInflictionScreenFadeTaskFinished(void) +static bool8 IsStatusInflictionScreenFlashTaskFinished(void) { - if (FindTaskIdByFunc(DoStatusInflictionScreenFade) == 0xFF) + if (FindTaskIdByFunc(DoStatusInflictionScreenFlash) == 0xFF) return TRUE; else return FALSE; } -static void Task_DoStatusInflictionScreenFade(u8 taskId) +static void Task_DoStatusInflictionScreenFlash(u8 taskId) { if (gTasks[taskId].data[0] == 0) { gTasks[taskId].data[0]++; - StartStatusInflictionScreenFade(0, 0, 3, 2, 2); + StartStatusInflictionScreenFlash(0, 0, 3, 2, 2); } else { - if (IsStatusInflictionScreenFadeTaskFinished()) + if (IsStatusInflictionScreenFlashTaskFinished()) { EnableBothScriptContexts(); DestroyTask(taskId); @@ -1298,7 +1288,7 @@ static void TryHealMons(u8 healCount) { canBeHealed = TRUE; } - else if (pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)) != 0) + else if (GetAilmentFromStatus(GetMonData(mon, MON_DATA_STATUS)) != AILMENT_NONE) { canBeHealed = TRUE; } @@ -1335,8 +1325,8 @@ static void GetInBattlePike(void) bool8 InBattlePike(void) { return gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM - || gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 - || gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3 + || gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL + || gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS || gMapHeader.mapLayoutId == LAYOUT_UNKNOWN_084693AC; } @@ -1345,10 +1335,10 @@ static void SetHintedRoom(void) u8 i, count, id; u8 *roomCandidates; - gSpecialVar_Result = 0; + gSpecialVar_Result = FALSE; if (GetPikeQueenFightType(1)) { - gSpecialVar_Result = 1; + gSpecialVar_Result = TRUE; gSaveBlock2Ptr->frontier.pikeHintedRoomIndex = Random() % 6; gSaveBlock2Ptr->frontier.pikeHintedRoomType = PIKE_ROOM_BRAIN; } @@ -1356,9 +1346,9 @@ static void SetHintedRoom(void) { gSaveBlock2Ptr->frontier.pikeHintedRoomIndex = Random() % 3; if (gSaveBlock2Ptr->frontier.pikeHealingRoomsDisabled) - count = 6; + count = NUM_PIKE_ROOM_TYPES - 3; // exclude healing rooms and Brain room else - count = 8; + count = NUM_PIKE_ROOM_TYPES - 1; // exclude Brain room roomCandidates = AllocZeroed(count); for (i = 0, id = 0; i < count; i++) @@ -1385,9 +1375,6 @@ static void SetHintedRoom(void) static void GetHintedRoomIndex(void) { - // 0 = left room - // 1 = center room - // 2 = right room gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeHintedRoomIndex; } @@ -1413,7 +1400,7 @@ static void PrepareOneTrainer(bool8 difficult) challengeNum = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] / 14; do { - trainerId = sub_8162548(challengeNum, battleNum); + trainerId = GetRandomScaledFrontierTrainerId(challengeNum, battleNum); for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1; i++) { if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId) @@ -1438,7 +1425,7 @@ static void PrepareTwoTrainers(void) gFacilityTrainers = gBattleFrontierTrainers; do { - trainerId = sub_8162548(challengeNum, 1); + trainerId = GetRandomScaledFrontierTrainerId(challengeNum, 1); for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1; i++) { if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId) @@ -1453,7 +1440,7 @@ static void PrepareTwoTrainers(void) do { - trainerId = sub_8162548(challengeNum, 1); + trainerId = GetRandomScaledFrontierTrainerId(challengeNum, 1); for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++) { if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId) @@ -1475,16 +1462,16 @@ static void ClearPikeTrainerIds(void) gSaveBlock2Ptr->frontier.trainerIds[i] = 0xFFFF; } -static void BufferRecordMixingTrainerMessage(void) +static void BufferTrainerIntro(void) { if (gSpecialVar_0x8005 == 0) { - if (gTrainerBattleOpponent_A < TRAINER_RECORD_MIXING_FRIEND) + if (gTrainerBattleOpponent_A < FRONTIER_TRAINERS_COUNT) FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore); } else if (gSpecialVar_0x8005 == 1) { - if (gTrainerBattleOpponent_B < TRAINER_RECORD_MIXING_FRIEND) + if (gTrainerBattleOpponent_B < FRONTIER_TRAINERS_COUNT) FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_B].speechBefore); } } @@ -1512,8 +1499,8 @@ static u8 GetPikeQueenFightType(u8 nextRoom) { u8 numPikeSymbols; - u8 var = 5; - u8 ret = 0; + u8 facility = FRONTIER_FACILITY_PIKE; + u8 ret = FRONTIER_BRAIN_NOT_READY; u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u16 winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode]; winStreak += nextRoom; @@ -1523,17 +1510,17 @@ static u8 GetPikeQueenFightType(u8 nextRoom) { case 0: case 1: - if (winStreak == sPikeQueenWinStreakAppearances[var][numPikeSymbols] - sPikeQueenWinStreakAppearances[var][3]) - ret = numPikeSymbols + 1; + if (winStreak == sFrontierBrainStreakAppearances[facility][numPikeSymbols] - sFrontierBrainStreakAppearances[facility][3]) + ret = numPikeSymbols + 1; // FRONTIER_BRAIN_SILVER and FRONTIER_BRAIN_GOLD break; case 2: default: - if (winStreak == sPikeQueenWinStreakAppearances[var][0] - sPikeQueenWinStreakAppearances[var][3]) - ret = 3; - else if (winStreak == sPikeQueenWinStreakAppearances[var][1] - sPikeQueenWinStreakAppearances[var][3] - || (winStreak > sPikeQueenWinStreakAppearances[var][1] - && (winStreak - sPikeQueenWinStreakAppearances[var][1] + sPikeQueenWinStreakAppearances[var][3]) % sPikeQueenWinStreakAppearances[var][2] == 0)) - ret = 4; + if (winStreak == sFrontierBrainStreakAppearances[facility][0] - sFrontierBrainStreakAppearances[facility][3]) + ret = FRONTIER_BRAIN_STREAK; + else if (winStreak == sFrontierBrainStreakAppearances[facility][1] - sFrontierBrainStreakAppearances[facility][3] + || (winStreak > sFrontierBrainStreakAppearances[facility][1] + && (winStreak - sFrontierBrainStreakAppearances[facility][1] + sFrontierBrainStreakAppearances[facility][3]) % sFrontierBrainStreakAppearances[facility][2] == 0)) + ret = FRONTIER_BRAIN_STREAK_LONG; break; } @@ -1553,23 +1540,23 @@ static void HealSomeMonsBeforePikeQueen(void) gSpecialVar_Result = toHealCount; } -static void SetHealingRoomsDisabled(void) +static void SetHealingroomTypesDisabled(void) { gSaveBlock2Ptr->frontier.pikeHealingRoomsDisabled = gSpecialVar_0x8005; } -static void CanAnyPartyMonsBeHealed(void) +static void IsPartyFullHealed(void) { u8 i, j; gSpecialVar_Result = TRUE; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { bool32 canBeHealed = FALSE; struct Pokemon *mon = &gPlayerParty[i]; u16 curr = GetMonData(mon, MON_DATA_HP); u16 max = GetMonData(mon, MON_DATA_MAX_HP); - if (curr >= max && pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)) == 0) + if (curr >= max && GetAilmentFromStatus(GetMonData(mon, MON_DATA_STATUS)) == AILMENT_NONE) { u8 ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES); for (j = 0; j < MAX_MON_MOVES; j++) @@ -1597,11 +1584,11 @@ static void CanAnyPartyMonsBeHealed(void) } } -static void BackupMonHeldItems(void) +static void SaveMonHeldItems(void) { u8 i; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { int heldItem = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_HELD_ITEM); @@ -1613,7 +1600,7 @@ static void RestoreMonHeldItems(void) { u8 i; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { SetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_HELD_ITEM, @@ -1625,10 +1612,10 @@ static void InitPikeChallenge(void) { u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; - gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.challengeStatus = 0; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; - gSaveBlock2Ptr->frontier.field_CA9_a = 0; - if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_08612690[lvlMode])) + gSaveBlock2Ptr->frontier.challengePaused = FALSE; + if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[lvlMode])) gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] = 0; gTrainerBattleOpponent_A = 0; diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index cc722da8d4..9fa6beb1db 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -23,12 +23,14 @@ #include "main.h" #include "load_save.h" #include "script.h" -#include "alloc.h" +#include "malloc.h" #include "overworld.h" #include "event_scripts.h" #include "constants/battle_frontier.h" +#include "constants/battle_pyramid.h" #include "constants/event_objects.h" #include "constants/event_object_movement_constants.h" +#include "constants/frontier_util.h" #include "constants/items.h" #include "constants/layouts.h" #include "constants/maps.h" @@ -39,45 +41,14 @@ extern const struct MapLayout *const gMapLayouts[]; extern const u16 gUnknown_08D856C8[][16]; -#define TOTAL_ROUNDS 20 -#define PICKUP_ITEMS_PER_ROUND 10 -#define FLOOR_WALKABLE_METATILE 0x28D -#define FLOOR_EXIT_METATILE 0x28E -enum -{ - HINT_EXIT_DIRECTION, - HINT_REMAINING_ITEMS, - HINT_REMAINING_TRAINERS, - HINT_EXIT_SHORT_REMAINING_TRAINERS, - HINT_EXIT_SHORT_REMAINING_ITEMS, - HINT_EXIT_MEDIUM_REMAINING_TRAINERS, - HINT_EXIT_MEDIUM_REMAINING_ITEMS, - HINT_EXIT_FAR_REMAINING_TRAINERS, - HINT_EXIT_FAR_REMAINING_ITEMS, -}; - -enum -{ - OBJ_TRAINERS, - OBJ_ITEMS, -}; - -enum -{ - OBJ_POSITIONS_UNIFORM, - OBJ_POSITIONS_IN_AND_NEAR_ENTRANCE, - OBJ_POSITIONS_IN_AND_NEAR_EXIT, - OBJ_POSITIONS_NEAR_ENTRANCE, - OBJ_POSITIONS_NEAR_EXIT, -}; struct PyramidWildMon { u16 species; u8 lvl; u8 abilityNum; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; }; struct PyramidFloorTemplate @@ -100,20 +71,20 @@ struct PyramidTrainerEncounterMusic static void InitPyramidChallenge(void); static void GetBattlePyramidData(void); static void SetBattlePyramidData(void); -static void sub_81A9134(void); -static void SetBattlePyramidRewardItem(void); -static void GiveBattlePyramidRewardItem(void); +static void SavePyramidChallenge(void); +static void SetBattlePyramidPrize(void); +static void GiveBattlePyramidPrize(void); static void SeedPyramidFloor(void); static void SetPickupItem(void); static void HidePyramidItem(void); -static void InitPyramidFacilityTrainers(void); +static void SetPyramidFacilityTrainers(void); static void ShowPostBattleHintText(void); static void UpdatePyramidWinStreak(void); static void GetInBattlePyramid(void); static void UpdatePyramidLightRadius(void); static void ClearPyramidPartyHeldItems(void); static void SetPyramidFloorPalette(void); -static void sub_81A9828(void); +static void BattlePyramidStartMenu(void); static void RestorePyramidPlayerParty(void); static void InitPyramidBagItems(u8 lvlMode); static u8 GetPyramidFloorTemplateId(void); @@ -544,7 +515,7 @@ static const u8 sTrainerTextGroups[50][2] = {FACILITY_CLASS_SAILOR, 2}, {FACILITY_CLASS_COLLECTOR, 2}, {FACILITY_CLASS_PKMN_BREEDER_M, 2}, - {FACILITY_CLASS_POKEMON_BREEDER_F, 3}, + {FACILITY_CLASS_PKMN_BREEDER_F, 3}, {FACILITY_CLASS_PKMN_RANGER_M, 2}, {FACILITY_CLASS_PKMN_RANGER_F, 3}, {FACILITY_CLASS_LASS, 3}, @@ -554,200 +525,200 @@ static const u8 sTrainerTextGroups[50][2] = static const u8 *const sExitDirectionHintTexts1[] = { - BattlePyramid_ExitHintUp_Text1, - BattlePyramid_ExitHintLeft_Text1, - BattlePyramid_ExitHintRight_Text1, - BattlePyramid_ExitHintDown_Text1, + BattlePyramid_Text_ExitHintUp1, + BattlePyramid_Text_ExitHintLeft1, + BattlePyramid_Text_ExitHintRight1, + BattlePyramid_Text_ExitHintDown1, }; static const u8 *const sRemainingItemsHintTexts1[] = { - BattlePyramid_ZeroItemsRemaining_Text1, - BattlePyramid_OneItemRemaining_Text1, - BattlePyramid_TwoItemsRemaining_Text1, - BattlePyramid_ThreeItemsRemaining_Text1, - BattlePyramid_FourItemsRemaining_Text1, - BattlePyramid_FiveItemsRemaining_Text1, - BattlePyramid_SixItemsRemaining_Text1, - BattlePyramid_SevenItemsRemaining_Text1, - BattlePyramid_EightItemsRemaining_Text1, + BattlePyramid_Text_ZeroItemsRemaining1, + BattlePyramid_Text_OneItemRemaining1, + BattlePyramid_Text_TwoItemsRemaining1, + BattlePyramid_Text_ThreeItemsRemaining1, + BattlePyramid_Text_FourItemsRemaining1, + BattlePyramid_Text_FiveItemsRemaining1, + BattlePyramid_Text_SixItemsRemaining1, + BattlePyramid_Text_SevenItemsRemaining1, + BattlePyramid_Text_EightItemsRemaining1, }; static const u8 *const sRemainingTrainersHintTexts1[] = { - BattlePyramid_ZeroTrainersRemaining_Text1, - BattlePyramid_OneTrainersRemaining_Text1, - BattlePyramid_TwoTrainersRemaining_Text1, - BattlePyramid_ThreeTrainersRemaining_Text1, - BattlePyramid_FourTrainersRemaining_Text1, - BattlePyramid_FiveTrainersRemaining_Text1, - BattlePyramid_SixTrainersRemaining_Text1, - BattlePyramid_SevenTrainersRemaining_Text1, + BattlePyramid_Text_ZeroTrainersRemaining1, + BattlePyramid_Text_OneTrainersRemaining1, + BattlePyramid_Text_TwoTrainersRemaining1, + BattlePyramid_Text_ThreeTrainersRemaining1, + BattlePyramid_Text_FourTrainersRemaining1, + BattlePyramid_Text_FiveTrainersRemaining1, + BattlePyramid_Text_SixTrainersRemaining1, + BattlePyramid_Text_SevenTrainersRemaining1, }; static const u8 *const sExitDirectionHintTexts2[] = { - BattlePyramid_ExitHintUp_Text2, - BattlePyramid_ExitHintLeft_Text2, - BattlePyramid_ExitHintRight_Text2, - BattlePyramid_ExitHintDown_Text2, + BattlePyramid_Text_ExitHintUp2, + BattlePyramid_Text_ExitHintLeft2, + BattlePyramid_Text_ExitHintRight2, + BattlePyramid_Text_ExitHintDown2, }; static const u8 *const sRemainingItemsHintTexts2[] = { - BattlePyramid_ZeroItemsRemaining_Text2, - BattlePyramid_OneItemRemaining_Text2, - BattlePyramid_TwoItemsRemaining_Text2, - BattlePyramid_ThreeItemsRemaining_Text2, - BattlePyramid_FourItemsRemaining_Text2, - BattlePyramid_FiveItemsRemaining_Text2, - BattlePyramid_SixItemsRemaining_Text2, - BattlePyramid_SevenItemsRemaining_Text2, - BattlePyramid_EightItemsRemaining_Text2, + BattlePyramid_Text_ZeroItemsRemaining2, + BattlePyramid_Text_OneItemRemaining2, + BattlePyramid_Text_TwoItemsRemaining2, + BattlePyramid_Text_ThreeItemsRemaining2, + BattlePyramid_Text_FourItemsRemaining2, + BattlePyramid_Text_FiveItemsRemaining2, + BattlePyramid_Text_SixItemsRemaining2, + BattlePyramid_Text_SevenItemsRemaining2, + BattlePyramid_Text_EightItemsRemaining2, }; static const u8 *const sRemainingTrainersHintTexts2[] = { - BattlePyramid_ZeroTrainersRemaining_Text2, - BattlePyramid_OneTrainersRemaining_Text2, - BattlePyramid_TwoTrainersRemaining_Text2, - BattlePyramid_ThreeTrainersRemaining_Text2, - BattlePyramid_FourTrainersRemaining_Text2, - BattlePyramid_FiveTrainersRemaining_Text2, - BattlePyramid_SixTrainersRemaining_Text2, - BattlePyramid_SevenTrainersRemaining_Text2, + BattlePyramid_Text_ZeroTrainersRemaining2, + BattlePyramid_Text_OneTrainersRemaining2, + BattlePyramid_Text_TwoTrainersRemaining2, + BattlePyramid_Text_ThreeTrainersRemaining2, + BattlePyramid_Text_FourTrainersRemaining2, + BattlePyramid_Text_FiveTrainersRemaining2, + BattlePyramid_Text_SixTrainersRemaining2, + BattlePyramid_Text_SevenTrainersRemaining2, }; static const u8 *const sExitDirectionHintTexts3[] = { - BattlePyramid_ExitHintUp_Text3, - BattlePyramid_ExitHintLeft_Text3, - BattlePyramid_ExitHintRight_Text3, - BattlePyramid_ExitHintDown_Text3, + BattlePyramid_Text_ExitHintUp3, + BattlePyramid_Text_ExitHintLeft3, + BattlePyramid_Text_ExitHintRight3, + BattlePyramid_Text_ExitHintDown3, }; static const u8 *const sRemainingItemsHintTexts3[] = { - BattlePyramid_ZeroItemsRemaining_Text3, - BattlePyramid_OneItemRemaining_Text3, - BattlePyramid_TwoItemsRemaining_Text3, - BattlePyramid_ThreeItemsRemaining_Text3, - BattlePyramid_FourItemsRemaining_Text3, - BattlePyramid_FiveItemsRemaining_Text3, - BattlePyramid_SixItemsRemaining_Text3, - BattlePyramid_SevenItemsRemaining_Text3, - BattlePyramid_EightItemsRemaining_Text3, + BattlePyramid_Text_ZeroItemsRemaining3, + BattlePyramid_Text_OneItemRemaining3, + BattlePyramid_Text_TwoItemsRemaining3, + BattlePyramid_Text_ThreeItemsRemaining3, + BattlePyramid_Text_FourItemsRemaining3, + BattlePyramid_Text_FiveItemsRemaining3, + BattlePyramid_Text_SixItemsRemaining3, + BattlePyramid_Text_SevenItemsRemaining3, + BattlePyramid_Text_EightItemsRemaining3, }; static const u8 *const sRemainingTrainersHintTexts3[] = { - BattlePyramid_ZeroTrainersRemaining_Text3, - BattlePyramid_OneTrainersRemaining_Text3, - BattlePyramid_TwoTrainersRemaining_Text3, - BattlePyramid_ThreeTrainersRemaining_Text3, - BattlePyramid_FourTrainersRemaining_Text3, - BattlePyramid_FiveTrainersRemaining_Text3, - BattlePyramid_SixTrainersRemaining_Text3, - BattlePyramid_SevenTrainersRemaining_Text3, + BattlePyramid_Text_ZeroTrainersRemaining3, + BattlePyramid_Text_OneTrainersRemaining3, + BattlePyramid_Text_TwoTrainersRemaining3, + BattlePyramid_Text_ThreeTrainersRemaining3, + BattlePyramid_Text_FourTrainersRemaining3, + BattlePyramid_Text_FiveTrainersRemaining3, + BattlePyramid_Text_SixTrainersRemaining3, + BattlePyramid_Text_SevenTrainersRemaining3, }; static const u8 *const sExitDirectionHintTexts4[] = { - BattlePyramid_ExitHintUp_Text4, - BattlePyramid_ExitHintLeft_Text4, - BattlePyramid_ExitHintRight_Text4, - BattlePyramid_ExitHintDown_Text4, + BattlePyramid_Text_ExitHintUp4, + BattlePyramid_Text_ExitHintLeft4, + BattlePyramid_Text_ExitHintRight4, + BattlePyramid_Text_ExitHintDown4, }; static const u8 *const sRemainingItemsHintTexts4[] = { - BattlePyramid_ZeroItemsRemaining_Text4, - BattlePyramid_OneItemRemaining_Text4, - BattlePyramid_TwoItemsRemaining_Text4, - BattlePyramid_ThreeItemsRemaining_Text4, - BattlePyramid_FourItemsRemaining_Text4, - BattlePyramid_FiveItemsRemaining_Text4, - BattlePyramid_SixItemsRemaining_Text4, - BattlePyramid_SevenItemsRemaining_Text4, - BattlePyramid_EightItemsRemaining_Text4, + BattlePyramid_Text_ZeroItemsRemaining4, + BattlePyramid_Text_OneItemRemaining4, + BattlePyramid_Text_TwoItemsRemaining4, + BattlePyramid_Text_ThreeItemsRemaining4, + BattlePyramid_Text_FourItemsRemaining4, + BattlePyramid_Text_FiveItemsRemaining4, + BattlePyramid_Text_SixItemsRemaining4, + BattlePyramid_Text_SevenItemsRemaining4, + BattlePyramid_Text_EightItemsRemaining4, }; static const u8 *const sRemainingTrainersHintTexts4[] = { - BattlePyramid_ZeroTrainersRemaining_Text4, - BattlePyramid_OneTrainersRemaining_Text4, - BattlePyramid_TwoTrainersRemaining_Text4, - BattlePyramid_ThreeTrainersRemaining_Text4, - BattlePyramid_FourTrainersRemaining_Text4, - BattlePyramid_FiveTrainersRemaining_Text4, - BattlePyramid_SixTrainersRemaining_Text4, - BattlePyramid_SevenTrainersRemaining_Text4, + BattlePyramid_Text_ZeroTrainersRemaining4, + BattlePyramid_Text_OneTrainersRemaining4, + BattlePyramid_Text_TwoTrainersRemaining4, + BattlePyramid_Text_ThreeTrainersRemaining4, + BattlePyramid_Text_FourTrainersRemaining4, + BattlePyramid_Text_FiveTrainersRemaining4, + BattlePyramid_Text_SixTrainersRemaining4, + BattlePyramid_Text_SevenTrainersRemaining4, }; static const u8 *const sExitDirectionHintTexts5[] = { - BattlePyramid_ExitHintUp_Text5, - BattlePyramid_ExitHintLeft_Text5, - BattlePyramid_ExitHintRight_Text5, - BattlePyramid_ExitHintDown_Text5, + BattlePyramid_Text_ExitHintUp5, + BattlePyramid_Text_ExitHintLeft5, + BattlePyramid_Text_ExitHintRight5, + BattlePyramid_Text_ExitHintDown5, }; static const u8 *const sRemainingItemsHintTexts5[] = { - BattlePyramid_ZeroItemsRemaining_Text5, - BattlePyramid_OneItemRemaining_Text5, - BattlePyramid_TwoItemsRemaining_Text5, - BattlePyramid_ThreeItemsRemaining_Text5, - BattlePyramid_FourItemsRemaining_Text5, - BattlePyramid_FiveItemsRemaining_Text5, - BattlePyramid_SixItemsRemaining_Text5, - BattlePyramid_SevenItemsRemaining_Text5, - BattlePyramid_EightItemsRemaining_Text5, + BattlePyramid_Text_ZeroItemsRemaining5, + BattlePyramid_Text_OneItemRemaining5, + BattlePyramid_Text_TwoItemsRemaining5, + BattlePyramid_Text_ThreeItemsRemaining5, + BattlePyramid_Text_FourItemsRemaining5, + BattlePyramid_Text_FiveItemsRemaining5, + BattlePyramid_Text_SixItemsRemaining5, + BattlePyramid_Text_SevenItemsRemaining5, + BattlePyramid_Text_EightItemsRemaining5, }; static const u8 *const sRemainingTrainersHintTexts5[] = { - BattlePyramid_ZeroTrainersRemaining_Text5, - BattlePyramid_OneTrainersRemaining_Text5, - BattlePyramid_TwoTrainersRemaining_Text5, - BattlePyramid_ThreeTrainersRemaining_Text5, - BattlePyramid_FourTrainersRemaining_Text5, - BattlePyramid_FiveTrainersRemaining_Text5, - BattlePyramid_SixTrainersRemaining_Text5, - BattlePyramid_SevenTrainersRemaining_Text5, + BattlePyramid_Text_ZeroTrainersRemaining5, + BattlePyramid_Text_OneTrainersRemaining5, + BattlePyramid_Text_TwoTrainersRemaining5, + BattlePyramid_Text_ThreeTrainersRemaining5, + BattlePyramid_Text_FourTrainersRemaining5, + BattlePyramid_Text_FiveTrainersRemaining5, + BattlePyramid_Text_SixTrainersRemaining5, + BattlePyramid_Text_SevenTrainersRemaining5, }; static const u8 *const sExitDirectionHintTexts6[] = { - BattlePyramid_ExitHintUp_Text6, - BattlePyramid_ExitHintLeft_Text6, - BattlePyramid_ExitHintRight_Text6, - BattlePyramid_ExitHintDown_Text6, + BattlePyramid_Text_ExitHintUp6, + BattlePyramid_Text_ExitHintLeft6, + BattlePyramid_Text_ExitHintRight6, + BattlePyramid_Text_ExitHintDown6, }; static const u8 *const sRemainingItemsHintTexts6[] = { - BattlePyramid_ZeroItemsRemaining_Text6, - BattlePyramid_OneItemRemaining_Text6, - BattlePyramid_TwoItemsRemaining_Text6, - BattlePyramid_ThreeItemsRemaining_Text6, - BattlePyramid_FourItemsRemaining_Text6, - BattlePyramid_FiveItemsRemaining_Text6, - BattlePyramid_SixItemsRemaining_Text6, - BattlePyramid_SevenItemsRemaining_Text6, - BattlePyramid_EightItemsRemaining_Text6, + BattlePyramid_Text_ZeroItemsRemaining6, + BattlePyramid_Text_OneItemRemaining6, + BattlePyramid_Text_TwoItemsRemaining6, + BattlePyramid_Text_ThreeItemsRemaining6, + BattlePyramid_Text_FourItemsRemaining6, + BattlePyramid_Text_FiveItemsRemaining6, + BattlePyramid_Text_SixItemsRemaining6, + BattlePyramid_Text_SevenItemsRemaining6, + BattlePyramid_Text_EightItemsRemaining6, }; static const u8 *const sRemainingTrainersHintTexts6[] = { - BattlePyramid_ZeroTrainersRemaining_Text6, - BattlePyramid_OneTrainersRemaining_Text6, - BattlePyramid_TwoTrainersRemaining_Text6, - BattlePyramid_ThreeTrainersRemaining_Text6, - BattlePyramid_FourTrainersRemaining_Text6, - BattlePyramid_FiveTrainersRemaining_Text6, - BattlePyramid_SixTrainersRemaining_Text6, - BattlePyramid_SevenTrainersRemaining_Text6, + BattlePyramid_Text_ZeroTrainersRemaining6, + BattlePyramid_Text_OneTrainersRemaining6, + BattlePyramid_Text_TwoTrainersRemaining6, + BattlePyramid_Text_ThreeTrainersRemaining6, + BattlePyramid_Text_FourTrainersRemaining6, + BattlePyramid_Text_FiveTrainersRemaining6, + BattlePyramid_Text_SixTrainersRemaining6, + BattlePyramid_Text_SevenTrainersRemaining6, }; static const u8 *const *const sPostBattleHintTexts1[] = @@ -816,24 +787,24 @@ static const u8 sHintTextTypes[] = static void (* const sBattlePyramidFunctions[])(void) = { - InitPyramidChallenge, - GetBattlePyramidData, - SetBattlePyramidData, - sub_81A9134, - SetBattlePyramidRewardItem, - GiveBattlePyramidRewardItem, - SeedPyramidFloor, - SetPickupItem, - HidePyramidItem, - InitPyramidFacilityTrainers, - ShowPostBattleHintText, - UpdatePyramidWinStreak, - GetInBattlePyramid, - UpdatePyramidLightRadius, - ClearPyramidPartyHeldItems, - SetPyramidFloorPalette, - sub_81A9828, - RestorePyramidPlayerParty, + [BATTLE_PYRAMID_FUNC_INIT] = InitPyramidChallenge, + [BATTLE_PYRAMID_FUNC_GET_DATA] = GetBattlePyramidData, + [BATTLE_PYRAMID_FUNC_SET_DATA] = SetBattlePyramidData, + [BATTLE_PYRAMID_FUNC_SAVE] = SavePyramidChallenge, + [BATTLE_PYRAMID_FUNC_SET_PRIZE] = SetBattlePyramidPrize, + [BATTLE_PYRAMID_FUNC_GIVE_PRIZE] = GiveBattlePyramidPrize, + [BATTLE_PYRAMID_FUNC_SEED_FLOOR] = SeedPyramidFloor, + [BATTLE_PYRAMID_FUNC_SET_ITEM] = SetPickupItem, + [BATTLE_PYRAMID_FUNC_HIDE_ITEM] = HidePyramidItem, + [BATTLE_PYRAMID_FUNC_SET_TRAINERS] = SetPyramidFacilityTrainers, + [BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT] = ShowPostBattleHintText, + [BATTLE_PYRAMID_FUNC_UPDATE_STREAK] = UpdatePyramidWinStreak, + [BATTLE_PYRAMID_FUNC_IS_IN] = GetInBattlePyramid, + [BATTLE_PYRAMID_FUNC_UPDATE_LIGHT] = UpdatePyramidLightRadius, + [BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS] = ClearPyramidPartyHeldItems, + [BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE] = SetPyramidFloorPalette, + [BATTLE_PYRAMID_FUNC_START_MENU] = BattlePyramidStartMenu, + [BATTLE_PYRAMID_FUNC_RESTORE_PARTY] = RestorePyramidPlayerParty, }; static const u16 sShortStreakRewardItems[] = {ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, ITEM_CALCIUM, ITEM_CARBOS, ITEM_ZINC}; @@ -872,13 +843,13 @@ static void InitPyramidChallenge(void) bool32 isCurrent; u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; - gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.challengeStatus = 0; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; - gSaveBlock2Ptr->frontier.field_CA9_a = 0; + gSaveBlock2Ptr->frontier.challengePaused = FALSE; if (lvlMode != FRONTIER_LVL_50) - isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x2000; + isCurrent = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_OPEN; else - isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x1000; + isCurrent = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_50; if (!isCurrent) { @@ -897,29 +868,29 @@ static void GetBattlePyramidData(void) switch (gSpecialVar_0x8005) { - case 0: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidRewardItem; + case PYRAMID_DATA_PRIZE: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidPrize; break; - case 1: + case PYRAMID_DATA_WIN_STREAK: gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode]; break; - case 2: + case PYRAMID_DATA_WIN_STREAK_ACTIVE: if (lvlMode != FRONTIER_LVL_50) - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x2000; + gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_OPEN; else - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x1000; + gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_50; break; - case 3: + case PYRAMID_DATA_WIN_STREAK_50: gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50]; break; - case 4: + case PYRAMID_DATA_WIN_STREAK_OPEN: gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN]; break; - case 5: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x1000; + case PYRAMID_DATA_WIN_STREAK_ACTIVE_50: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_50; break; - case 6: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x2000; + case PYRAMID_DATA_WIN_STREAK_ACTIVE_OPEN: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_OPEN; break; } } @@ -930,59 +901,59 @@ static void SetBattlePyramidData(void) switch (gSpecialVar_0x8005) { - case 0: - gSaveBlock2Ptr->frontier.pyramidRewardItem = gSpecialVar_0x8006; + case PYRAMID_DATA_PRIZE: + gSaveBlock2Ptr->frontier.pyramidPrize = gSpecialVar_0x8006; break; - case 1: + case PYRAMID_DATA_WIN_STREAK: gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] = gSpecialVar_0x8006; break; - case 2: + case PYRAMID_DATA_WIN_STREAK_ACTIVE: if (lvlMode != FRONTIER_LVL_50) { if (gSpecialVar_0x8006) - gSaveBlock2Ptr->frontier.field_CDC |= 0x2000; + gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_PYRAMID_OPEN; else - gSaveBlock2Ptr->frontier.field_CDC &= ~(0x2000); + gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_PYRAMID_OPEN); } else { if (gSpecialVar_0x8006) - gSaveBlock2Ptr->frontier.field_CDC |= 0x1000; + gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_PYRAMID_50; else - gSaveBlock2Ptr->frontier.field_CDC &= ~(0x1000); + gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_PYRAMID_50); } break; - case 7: + case PYRAMID_DATA_TRAINER_FLAGS: gSaveBlock2Ptr->frontier.pyramidTrainerFlags = gSpecialVar_0x8006; break; } } -static void sub_81A9134(void) +static void SavePyramidChallenge(void) { - gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; + gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_0, 0); - gSaveBlock2Ptr->frontier.field_CA9_a = 1; + gSaveBlock2Ptr->frontier.challengePaused = TRUE; save_serialize_map(); TrySavingData(SAVE_LINK); } -static void SetBattlePyramidRewardItem(void) +static void SetBattlePyramidPrize(void) { u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] > 41) - gSaveBlock2Ptr->frontier.pyramidRewardItem = sLongStreakRewardItems[Random() % ARRAY_COUNT(sLongStreakRewardItems)]; + gSaveBlock2Ptr->frontier.pyramidPrize = sLongStreakRewardItems[Random() % ARRAY_COUNT(sLongStreakRewardItems)]; else - gSaveBlock2Ptr->frontier.pyramidRewardItem = sShortStreakRewardItems[Random() % ARRAY_COUNT(sShortStreakRewardItems)]; + gSaveBlock2Ptr->frontier.pyramidPrize = sShortStreakRewardItems[Random() % ARRAY_COUNT(sShortStreakRewardItems)]; } -static void GiveBattlePyramidRewardItem(void) +static void GiveBattlePyramidPrize(void) { - if (AddBagItem(gSaveBlock2Ptr->frontier.pyramidRewardItem, 1) == TRUE) + if (AddBagItem(gSaveBlock2Ptr->frontier.pyramidPrize, 1) == TRUE) { - CopyItemName(gSaveBlock2Ptr->frontier.pyramidRewardItem, gStringVar1); - gSaveBlock2Ptr->frontier.pyramidRewardItem = 0; + CopyItemName(gSaveBlock2Ptr->frontier.pyramidPrize, gStringVar1); + gSaveBlock2Ptr->frontier.pyramidPrize = 0; gSpecialVar_Result = TRUE; } else @@ -1033,6 +1004,7 @@ static void SetPickupItem(void) else gSpecialVar_0x8000 = sPickupItemsLvl50[round][sPickupItemSlots[i][1]]; + // Quantity of item to give gSpecialVar_0x8001 = 1; } @@ -1057,7 +1029,7 @@ static void HidePyramidItem(void) } } -static void InitPyramidFacilityTrainers(void) +static void SetPyramidFacilityTrainers(void) { gFacilityTrainers = gBattleFrontierTrainers; } @@ -1151,10 +1123,10 @@ static void UpdatePyramidLightRadius(void) { switch (gSpecialVar_0x8006) { - case 0: + case PYRAMID_LIGHT_SET_RADIUS: gSaveBlock2Ptr->frontier.pyramidLightRadius = gSpecialVar_0x8005; break; - case 1: + case PYRAMID_LIGHT_INCR_RADIUS: switch (gSpecialVar_Result) { case 0: @@ -1199,7 +1171,7 @@ static void ClearPyramidPartyHeldItems(void) for (i = 0; i < PARTY_SIZE; i++) { - for (j = 0; j < 4; j++) + for (j = 0; j < MAX_FRONTIER_PARTY_SIZE; j++) { if (gSaveBlock2Ptr->frontier.selectedPartyMons[j] != 0 && gSaveBlock2Ptr->frontier.selectedPartyMons[j] - 1 == i) SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &item); @@ -1221,19 +1193,20 @@ static void Task_SetPyramidFloorPalette(u8 taskId) } } -static void sub_81A9828(void) +// Unused. Handled by BuildStartMenuActions +static void BattlePyramidStartMenu(void) { - sub_809FDD4(); + ShowBattlePyramidStartMenu(); } static void RestorePyramidPlayerParty(void) { int i, j, k, l; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { int partyIndex = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1; - for (j = 0; j < 3; j++) + for (j = 0; j < FRONTIER_PARTY_SIZE; j++) { if (GetMonData(&gSaveBlock1Ptr->playerParty[partyIndex], MON_DATA_SPECIES, NULL) == GetMonData(&gPlayerParty[j], MON_DATA_SPECIES, NULL)) { @@ -1254,7 +1227,7 @@ static void RestorePyramidPlayerParty(void) } } - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) gSaveBlock2Ptr->frontier.selectedPartyMons[i] = gSelectedOrderFromParty[i]; } @@ -1445,7 +1418,7 @@ u8 GetPyramidRunMultiplier(void) u8 InBattlePyramid(void) { - if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE) + if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) return 1; else if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP) return 2; @@ -1455,16 +1428,16 @@ u8 InBattlePyramid(void) bool8 InBattlePyramid_(void) { - return gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE + return gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR || gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP; } -void sub_81A9E90(void) +void PausePyramidChallenge(void) { if (InBattlePyramid()) { RestorePyramidPlayerParty(); - gSaveBlock2Ptr->frontier.field_CA8 = 2; + gSaveBlock2Ptr->frontier.challengeStatus = CHALLENGE_STATUS_PAUSED; VarSet(VAR_TEMP_E, 0); LoadPlayerParty(); } @@ -1503,9 +1476,10 @@ u8 GetBattlePyramindTrainerEncounterMusicId(u16 trainerId) return TRAINER_ENCOUNTER_MUSIC_MALE; } -void sub_81A9F80(void) +// Unused +static void BattlePyramidRetireChallenge(void) { - ScriptContext1_SetupScript(BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88); + ScriptContext1_SetupScript(BattlePyramid_Retire); } static u16 GetUniqueTrainerId(u8 eventObjectId) @@ -1519,7 +1493,7 @@ static u16 GetUniqueTrainerId(u8 eventObjectId) { do { - trainerId = sub_8162548(challengeNum + 1, battleNum); + trainerId = GetRandomScaledFrontierTrainerId(challengeNum + 1, battleNum); for (i = 0; i < eventObjectId; i++) { if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId) @@ -1531,7 +1505,7 @@ static u16 GetUniqueTrainerId(u8 eventObjectId) { do { - trainerId = sub_8162548(challengeNum, battleNum); + trainerId = GetRandomScaledFrontierTrainerId(challengeNum, battleNum); for (i = 0; i < eventObjectId; i++) { if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId) @@ -1556,7 +1530,7 @@ void GenerateBattlePyramidFloorLayout(u16 *backupMapData, bool8 setPlayerPositio { u16 *map; int yOffset, xOffset; - const struct MapLayout *mapLayout = gMapLayouts[floorLayoutOffsets[i] + LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE]; + const struct MapLayout *mapLayout = gMapLayouts[floorLayoutOffsets[i] + LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR]; const u16 *layoutMap = mapLayout->map; gBackupMapLayout.map = backupMapData; diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index b4ec6cd627..7c650800b9 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -17,7 +17,7 @@ #include "list_menu.h" #include "mail.h" #include "main.h" -#include "alloc.h" +#include "malloc.h" #include "menu.h" #include "menu_helpers.h" #include "overworld.h" @@ -39,7 +39,7 @@ EWRAM_DATA struct PyramidBagCursorData gPyramidBagCursorData = {0}; // This file's functions. static void Task_HandlePyramidBagInput(u8 taskId); -static void sub_81C4F44(u8 taskId); +static void Task_ChooseItemsToTossFromPyramidBag(u8 taskId); static void sub_81C5B4C(u8 taskId); static void Task_BeginItemSwap(u8 taskId); static void sub_81C5D20(u8 taskId); @@ -67,7 +67,7 @@ static void sub_81C700C(void); static void sub_81C6E98(void); static void sub_81C6F20(void); static void sub_81C6404(void); -static void sub_81C6E1C(void); +static void CloseBattlePyramidBagTextWindow(void); static bool8 sub_81C5238(void); static bool8 sub_81C5078(void); static void ShowItemImage(u16 itemId, u8 itemSpriteArrayId); @@ -278,10 +278,10 @@ static const struct WindowTemplate gUnknown_0861F350[] = static const struct OamData gOamData_861F378 = { .y = 0, - .affineMode = 1, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -346,38 +346,38 @@ void InitBattlePyramidBagCursorPosition(void) void CB2_PyramidBagMenuFromStartMenu(void) { - sub_81C4F98(0, CB2_ReturnToFieldWithOpenMenu); + GoToBattlePyramidBagMenu(0, CB2_ReturnToFieldWithOpenMenu); } static void sub_81C4F10(void) { - sub_81C4F98(1, SetCB2ToReshowScreenAfterMenu2); + GoToBattlePyramidBagMenu(1, CB2_SetUpReshowBattleScreenAfterMenu2); } -void sub_81C4F24(void) +void ChooseItemsToTossFromPyramidBag(void) { ScriptContext2_Enable(); - FadeScreen(1, 0); - CreateTask(sub_81C4F44, 10); + FadeScreen(FADE_TO_BLACK, 0); + CreateTask(Task_ChooseItemsToTossFromPyramidBag, 10); } -static void sub_81C4F44(u8 taskId) +static void Task_ChooseItemsToTossFromPyramidBag(u8 taskId) { if (!gPaletteFade.active) { CleanupOverworldWindowsAndTilemaps(); - gFieldCallback2 = hm_add_c3_without_phase_2; - sub_81C4F98(3, CB2_ReturnToField); + gFieldCallback2 = CB2_FadeFromPartyMenu; + GoToBattlePyramidBagMenu(3, CB2_ReturnToField); DestroyTask(taskId); } } -void sub_81C4F84(void) +void CB2_ReturnToPyramidBagMenu(void) { - sub_81C4F98(4, gPyramidBagCursorData.callback); + GoToBattlePyramidBagMenu(4, gPyramidBagCursorData.callback); } -void sub_81C4F98(u8 a0, void (*callback)(void)) +void GoToBattlePyramidBagMenu(u8 a0, void (*callback)(void)) { gPyramidBagResources = AllocZeroed(sizeof(*gPyramidBagResources)); @@ -589,7 +589,7 @@ static void PyramidBag_CopyItemName(u8 *dst, u16 itemId) { ConvertIntToDecimalStringN(gStringVar1, ITEM_TO_BERRY(itemId), STR_CONV_MODE_LEADING_ZEROS, 2); CopyItemName(itemId, gStringVar2); - StringExpandPlaceholders(dst, gText_UnkF908Var1Clear7Var2); + StringExpandPlaceholders(dst, gText_NumberVar1Clear7Var2); } else { @@ -809,7 +809,7 @@ static void sub_81C5AB8(u8 y, u8 arg1) PrintOnWindow_Font1(0, gText_SelectorArrow2, 0, y, 0, 0, 0, arg1); } -void sub_81C5B14(u8 taskId) +void CloseBattlePyramidBagAndSetCallback(u8 taskId) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = sub_81C5B4C; @@ -862,7 +862,7 @@ static void Task_HandlePyramidBagInput(u8 taskId) case LIST_CANCEL: PlaySE(SE_SELECT); gSpecialVar_ItemId = 0; - sub_81C5B14(taskId); + CloseBattlePyramidBagAndSetCallback(taskId); break; default: PlaySE(SE_SELECT); @@ -981,7 +981,7 @@ static void HandleMenuActionInput(u8 taskId) sub_8199134(0, 1); } } - else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) + else if (gMain.newKeys & DPAD_LEFT || GetLRKeysPressed() == MENU_L_PRESSED) { if (id & 1 && IsValidMenuAction(id - 1)) { @@ -989,7 +989,7 @@ static void HandleMenuActionInput(u8 taskId) sub_8199134(-1, 0); } } - else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) + else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysPressed() == MENU_R_PRESSED) { if (!(id & 1) && IsValidMenuAction(id + 1)) { @@ -1043,7 +1043,7 @@ static void BagAction_UseOnField(u8 taskId) || ItemIsMail(gSpecialVar_ItemId) == TRUE) { sub_81C61A8(); - DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, sub_81C6714); + DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, Task_CloseBattlePyramidBagMessage); } else if (ItemId_GetFieldFunc(gSpecialVar_ItemId) != NULL) { @@ -1202,8 +1202,8 @@ static void BagAction_Give(u8 taskId) } else if (!ItemId_GetImportance(gSpecialVar_ItemId)) { - gPyramidBagResources->callback2 = sub_81B7F60; - sub_81C5B14(taskId); + gPyramidBagResources->callback2 = CB2_ChooseMonToGiveItem; + CloseBattlePyramidBagAndSetCallback(taskId); } else { @@ -1223,15 +1223,15 @@ static void sub_81C66EC(u8 taskId) if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - sub_81C6714(taskId); + Task_CloseBattlePyramidBagMessage(taskId); } } -void sub_81C6714(u8 taskId) +void Task_CloseBattlePyramidBagMessage(u8 taskId) { s16 *data = gTasks[taskId].data; - sub_81C6E1C(); + CloseBattlePyramidBagTextWindow(); PrintItemDescription(data[1]); sub_81C5A98(data[0], 0); SetTaskToMainPyramidBagInputHandler(taskId); @@ -1242,7 +1242,7 @@ static void sub_81C674C(u8 taskId) if (!itemid_80BF6D8_mail_related(gSpecialVar_ItemId)) DisplayItemMessageInBattlePyramid(taskId, gText_CantWriteMail, sub_81C66EC); else if (!ItemId_GetImportance(gSpecialVar_ItemId)) - sub_81C5B14(taskId); + CloseBattlePyramidBagAndSetCallback(taskId); else sub_81C66AC(taskId); } @@ -1350,7 +1350,7 @@ static void sub_81C6A14(u8 taskId) SetTaskToMainPyramidBagInputHandler(taskId); } -void sub_81C6A94(void) +void TryStoreHeldItemsInPyramidBag(void) { u8 i; struct Pokemon *party = gPlayerParty; @@ -1363,8 +1363,9 @@ void sub_81C6A94(void) for (i = 0; i < 3; i++) { heldItem = GetMonData(&party[i], MON_DATA_HELD_ITEM); - if (heldItem != 0 && !AddBagItem(heldItem, 1)) + if (heldItem != ITEM_NONE && !AddBagItem(heldItem, 1)) { + // Cant store party held items in pyramid bag because bag is full memcpy(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode], newItems, PYRAMID_BAG_ITEMS_COUNT * sizeof(u16)); memcpy(gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode], newQuantities, PYRAMID_BAG_ITEMS_COUNT * sizeof(u8)); Free(newItems); @@ -1374,7 +1375,7 @@ void sub_81C6A94(void) } } - heldItem = 0; + heldItem = ITEM_NONE; for (i = 0; i < 3; i++) { SetMonData(&party[i], MON_DATA_HELD_ITEM, &heldItem); @@ -1461,7 +1462,7 @@ void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback schedule_bg_copy_tilemap_to_vram(1); } -static void sub_81C6E1C(void) +static void CloseBattlePyramidBagTextWindow(void) { ClearDialogWindowAndFrameToTransparent(2, FALSE); // This ClearWindowTilemap call is redundant, since ClearDialogWindowAndFrameToTransparent already calls it. diff --git a/src/battle_records.c b/src/battle_records.c index 3d4cabcb06..ccd16e2193 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -18,7 +18,7 @@ #include "international_string_util.h" #include "sound.h" #include "constants/songs.h" -#include "alloc.h" +#include "malloc.h" #include "gpu_regs.h" #include "constants/game_stat.h" #include "trainer_hill.h" diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 5016a3a58a..8924c67296 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -52,6 +52,7 @@ #include "menu_specialized.h" #include "constants/rgb.h" #include "data.h" +#include "constants/party_menu.h" extern struct MusicPlayerInfo gMPlayInfo_BGM; @@ -76,507 +77,507 @@ static void PutLevelAndGenderOnLvlUpBox(void); static void SpriteCB_MonIconOnLvlUpBox(struct Sprite* sprite); -static void atk00_attackcanceler(void); -static void atk01_accuracycheck(void); -static void atk02_attackstring(void); -static void atk03_ppreduce(void); -static void atk04_critcalc(void); -static void atk05_damagecalc(void); -static void atk06_typecalc(void); -static void atk07_adjustnormaldamage(void); -static void atk08_adjustnormaldamage2(void); -static void atk09_attackanimation(void); -static void atk0A_waitanimation(void); -static void atk0B_healthbarupdate(void); -static void atk0C_datahpupdate(void); -static void atk0D_critmessage(void); -static void atk0E_effectivenesssound(void); -static void atk0F_resultmessage(void); -static void atk10_printstring(void); -static void atk11_printselectionstring(void); -static void atk12_waitmessage(void); -static void atk13_printfromtable(void); -static void atk14_printselectionstringfromtable(void); -static void atk15_seteffectwithchance(void); -static void atk16_seteffectprimary(void); -static void atk17_seteffectsecondary(void); -static void atk18_clearstatusfromeffect(void); -static void atk19_tryfaintmon(void); -static void atk1A_dofaintanimation(void); -static void atk1B_cleareffectsonfaint(void); -static void atk1C_jumpifstatus(void); -static void atk1D_jumpifstatus2(void); -static void atk1E_jumpifability(void); -static void atk1F_jumpifsideaffecting(void); -static void atk20_jumpifstat(void); -static void atk21_jumpifstatus3condition(void); -static void atk22_jumpiftype(void); -static void atk23_getexp(void); -static void atk24(void); -static void atk25_movevaluescleanup(void); -static void atk26_setmultihit(void); -static void atk27_decrementmultihit(void); -static void atk28_goto(void); -static void atk29_jumpifbyte(void); -static void atk2A_jumpifhalfword(void); -static void atk2B_jumpifword(void); -static void atk2C_jumpifarrayequal(void); -static void atk2D_jumpifarraynotequal(void); -static void atk2E_setbyte(void); -static void atk2F_addbyte(void); -static void atk30_subbyte(void); -static void atk31_copyarray(void); -static void atk32_copyarraywithindex(void); -static void atk33_orbyte(void); -static void atk34_orhalfword(void); -static void atk35_orword(void); -static void atk36_bicbyte(void); -static void atk37_bichalfword(void); -static void atk38_bicword(void); -static void atk39_pause(void); -static void atk3A_waitstate(void); -static void atk3B_healthbar_update(void); -static void atk3C_return(void); -static void atk3D_end(void); -static void atk3E_end2(void); -static void atk3F_end3(void); -static void atk40_jumpifaffectedbyprotect(void); -static void atk41_call(void); -static void atk42_jumpiftype2(void); -static void atk43_jumpifabilitypresent(void); -static void atk44_endselectionscript(void); -static void atk45_playanimation(void); -static void atk46_playanimation2(void); -static void atk47_setgraphicalstatchangevalues(void); -static void atk48_playstatchangeanimation(void); -static void atk49_moveend(void); -static void atk4A_typecalc2(void); -static void atk4B_returnatktoball(void); -static void atk4C_getswitchedmondata(void); -static void atk4D_switchindataupdate(void); -static void atk4E_switchinanim(void); -static void atk4F_jumpifcantswitch(void); -static void atk50_openpartyscreen(void); -static void atk51_switchhandleorder(void); -static void atk52_switchineffects(void); -static void atk53_trainerslidein(void); -static void atk54_playse(void); -static void atk55_fanfare(void); -static void atk56_playfaintcry(void); -static void atk57(void); -static void atk58_returntoball(void); -static void atk59_handlelearnnewmove(void); -static void atk5A_yesnoboxlearnmove(void); -static void atk5B_yesnoboxstoplearningmove(void); -static void atk5C_hitanimation(void); -static void atk5D_getmoneyreward(void); -static void atk5E(void); -static void atk5F_swapattackerwithtarget(void); -static void atk60_incrementgamestat(void); -static void atk61_drawpartystatussummary(void); -static void atk62_hidepartystatussummary(void); -static void atk63_jumptocalledmove(void); -static void atk64_statusanimation(void); -static void atk65_status2animation(void); -static void atk66_chosenstatusanimation(void); -static void atk67_yesnobox(void); -static void atk68_cancelallactions(void); -static void atk69_adjustsetdamage(void); -static void atk6A_removeitem(void); -static void atk6B_atknameinbuff1(void); -static void atk6C_drawlvlupbox(void); -static void atk6D_resetsentmonsvalue(void); -static void atk6E_setatktoplayer0(void); -static void atk6F_makevisible(void); -static void atk70_recordlastability(void); -static void atk71_buffermovetolearn(void); -static void atk72_jumpifplayerran(void); -static void atk73_hpthresholds(void); -static void atk74_hpthresholds2(void); -static void atk75_useitemonopponent(void); -static void atk76_various(void); -static void atk77_setprotectlike(void); -static void atk78_faintifabilitynotdamp(void); -static void atk79_setatkhptozero(void); -static void atk7A_jumpifnexttargetvalid(void); -static void atk7B_tryhealhalfhealth(void); -static void atk7C_trymirrormove(void); -static void atk7D_setrain(void); -static void atk7E_setreflect(void); -static void atk7F_setseeded(void); -static void atk80_manipulatedamage(void); -static void atk81_trysetrest(void); -static void atk82_jumpifnotfirstturn(void); -static void atk83_nop(void); -static void atk84_jumpifcantmakeasleep(void); -static void atk85_stockpile(void); -static void atk86_stockpiletobasedamage(void); -static void atk87_stockpiletohpheal(void); -static void atk88_negativedamage(void); -static void atk89_statbuffchange(void); -static void atk8A_normalisebuffs(void); -static void atk8B_setbide(void); -static void atk8C_confuseifrepeatingattackends(void); -static void atk8D_setmultihitcounter(void); -static void atk8E_initmultihitstring(void); -static void atk8F_forcerandomswitch(void); -static void atk90_tryconversiontypechange(void); -static void atk91_givepaydaymoney(void); -static void atk92_setlightscreen(void); -static void atk93_tryKO(void); -static void atk94_damagetohalftargethp(void); -static void atk95_setsandstorm(void); -static void atk96_weatherdamage(void); -static void atk97_tryinfatuating(void); -static void atk98_updatestatusicon(void); -static void atk99_setmist(void); -static void atk9A_setfocusenergy(void); -static void atk9B_transformdataexecution(void); -static void atk9C_setsubstitute(void); -static void atk9D_mimicattackcopy(void); -static void atk9E_metronome(void); -static void atk9F_dmgtolevel(void); -static void atkA0_psywavedamageeffect(void); -static void atkA1_counterdamagecalculator(void); -static void atkA2_mirrorcoatdamagecalculator(void); -static void atkA3_disablelastusedattack(void); -static void atkA4_trysetencore(void); -static void atkA5_painsplitdmgcalc(void); -static void atkA6_settypetorandomresistance(void); -static void atkA7_setalwayshitflag(void); -static void atkA8_copymovepermanently(void); -static void atkA9_trychoosesleeptalkmove(void); -static void atkAA_setdestinybond(void); -static void atkAB_trysetdestinybondtohappen(void); -static void atkAC_remaininghptopower(void); -static void atkAD_tryspiteppreduce(void); -static void atkAE_healpartystatus(void); -static void atkAF_cursetarget(void); -static void atkB0_trysetspikes(void); -static void atkB1_setforesight(void); -static void atkB2_trysetperishsong(void); -static void atkB3_rolloutdamagecalculation(void); -static void atkB4_jumpifconfusedandstatmaxed(void); -static void atkB5_furycuttercalc(void); -static void atkB6_happinesstodamagecalculation(void); -static void atkB7_presentdamagecalculation(void); -static void atkB8_setsafeguard(void); -static void atkB9_magnitudedamagecalculation(void); -static void atkBA_jumpifnopursuitswitchdmg(void); -static void atkBB_setsunny(void); -static void atkBC_maxattackhalvehp(void); -static void atkBD_copyfoestats(void); -static void atkBE_rapidspinfree(void); -static void atkBF_setdefensecurlbit(void); -static void atkC0_recoverbasedonsunlight(void); -static void atkC1_hiddenpowercalc(void); -static void atkC2_selectfirstvalidtarget(void); -static void atkC3_trysetfutureattack(void); -static void atkC4_trydobeatup(void); -static void atkC5_setsemiinvulnerablebit(void); -static void atkC6_clearsemiinvulnerablebit(void); -static void atkC7_setminimize(void); -static void atkC8_sethail(void); -static void atkC9_jumpifattackandspecialattackcannotfall(void); -static void atkCA_setforcedtarget(void); -static void atkCB_setcharge(void); -static void atkCC_callterrainattack(void); -static void atkCD_cureifburnedparalysedorpoisoned(void); -static void atkCE_settorment(void); -static void atkCF_jumpifnodamage(void); -static void atkD0_settaunt(void); -static void atkD1_trysethelpinghand(void); -static void atkD2_tryswapitems(void); -static void atkD3_trycopyability(void); -static void atkD4_trywish(void); -static void atkD5_trysetroots(void); -static void atkD6_doubledamagedealtifdamaged(void); -static void atkD7_setyawn(void); -static void atkD8_setdamagetohealthdifference(void); -static void atkD9_scaledamagebyhealthratio(void); -static void atkDA_tryswapabilities(void); -static void atkDB_tryimprison(void); -static void atkDC_trysetgrudge(void); -static void atkDD_weightdamagecalculation(void); -static void atkDE_assistattackselect(void); -static void atkDF_trysetmagiccoat(void); -static void atkE0_trysetsnatch(void); -static void atkE1_trygetintimidatetarget(void); -static void atkE2_switchoutabilities(void); -static void atkE3_jumpifhasnohp(void); -static void atkE4_getsecretpowereffect(void); -static void atkE5_pickup(void); -static void atkE6_docastformchangeanimation(void); -static void atkE7_trycastformdatachange(void); -static void atkE8_settypebasedhalvers(void); -static void atkE9_setweatherballtype(void); -static void atkEA_tryrecycleitem(void); -static void atkEB_settypetoterrain(void); -static void atkEC_pursuitrelated(void); -static void atkEF_snatchsetbattlers(void); -static void atkEE_removelightscreenreflect(void); -static void atkEF_handleballthrow(void); -static void atkF0_givecaughtmon(void); -static void atkF1_trysetcaughtmondexflags(void); -static void atkF2_displaydexinfo(void); -static void atkF3_trygivecaughtmonnick(void); -static void atkF4_subattackerhpbydmg(void); -static void atkF5_removeattackerstatus1(void); -static void atkF6_finishaction(void); -static void atkF7_finishturn(void); -static void atkF8_trainerslideout(void); +static void Cmd_attackcanceler(void); +static void Cmd_accuracycheck(void); +static void Cmd_attackstring(void); +static void Cmd_ppreduce(void); +static void Cmd_critcalc(void); +static void Cmd_damagecalc(void); +static void Cmd_typecalc(void); +static void Cmd_adjustnormaldamage(void); +static void Cmd_adjustnormaldamage2(void); +static void Cmd_attackanimation(void); +static void Cmd_waitanimation(void); +static void Cmd_healthbarupdate(void); +static void Cmd_datahpupdate(void); +static void Cmd_critmessage(void); +static void Cmd_effectivenesssound(void); +static void Cmd_resultmessage(void); +static void Cmd_printstring(void); +static void Cmd_printselectionstring(void); +static void Cmd_waitmessage(void); +static void Cmd_printfromtable(void); +static void Cmd_printselectionstringfromtable(void); +static void Cmd_seteffectwithchance(void); +static void Cmd_seteffectprimary(void); +static void Cmd_seteffectsecondary(void); +static void Cmd_clearstatusfromeffect(void); +static void Cmd_tryfaintmon(void); +static void Cmd_dofaintanimation(void); +static void Cmd_cleareffectsonfaint(void); +static void Cmd_jumpifstatus(void); +static void Cmd_jumpifstatus2(void); +static void Cmd_jumpifability(void); +static void Cmd_jumpifsideaffecting(void); +static void Cmd_jumpifstat(void); +static void Cmd_jumpifstatus3condition(void); +static void Cmd_jumpiftype(void); +static void Cmd_getexp(void); +static void Cmd_unknown_24(void); +static void Cmd_movevaluescleanup(void); +static void Cmd_setmultihit(void); +static void Cmd_decrementmultihit(void); +static void Cmd_goto(void); +static void Cmd_jumpifbyte(void); +static void Cmd_jumpifhalfword(void); +static void Cmd_jumpifword(void); +static void Cmd_jumpifarrayequal(void); +static void Cmd_jumpifarraynotequal(void); +static void Cmd_setbyte(void); +static void Cmd_addbyte(void); +static void Cmd_subbyte(void); +static void Cmd_copyarray(void); +static void Cmd_copyarraywithindex(void); +static void Cmd_orbyte(void); +static void Cmd_orhalfword(void); +static void Cmd_orword(void); +static void Cmd_bicbyte(void); +static void Cmd_bichalfword(void); +static void Cmd_bicword(void); +static void Cmd_pause(void); +static void Cmd_waitstate(void); +static void Cmd_healthbar_update(void); +static void Cmd_return(void); +static void Cmd_end(void); +static void Cmd_end2(void); +static void Cmd_end3(void); +static void Cmd_jumpifaffectedbyprotect(void); +static void Cmd_call(void); +static void Cmd_jumpiftype2(void); +static void Cmd_jumpifabilitypresent(void); +static void Cmd_endselectionscript(void); +static void Cmd_playanimation(void); +static void Cmd_playanimation2(void); +static void Cmd_setgraphicalstatchangevalues(void); +static void Cmd_playstatchangeanimation(void); +static void Cmd_moveend(void); +static void Cmd_typecalc2(void); +static void Cmd_returnatktoball(void); +static void Cmd_getswitchedmondata(void); +static void Cmd_switchindataupdate(void); +static void Cmd_switchinanim(void); +static void Cmd_jumpifcantswitch(void); +static void Cmd_openpartyscreen(void); +static void Cmd_switchhandleorder(void); +static void Cmd_switchineffects(void); +static void Cmd_trainerslidein(void); +static void Cmd_playse(void); +static void Cmd_fanfare(void); +static void Cmd_playfaintcry(void); +static void Cmd_unknown_57(void); +static void Cmd_returntoball(void); +static void Cmd_handlelearnnewmove(void); +static void Cmd_yesnoboxlearnmove(void); +static void Cmd_yesnoboxstoplearningmove(void); +static void Cmd_hitanimation(void); +static void Cmd_getmoneyreward(void); +static void Cmd_unknown_5E(void); +static void Cmd_swapattackerwithtarget(void); +static void Cmd_incrementgamestat(void); +static void Cmd_drawpartystatussummary(void); +static void Cmd_hidepartystatussummary(void); +static void Cmd_jumptocalledmove(void); +static void Cmd_statusanimation(void); +static void Cmd_status2animation(void); +static void Cmd_chosenstatusanimation(void); +static void Cmd_yesnobox(void); +static void Cmd_cancelallactions(void); +static void Cmd_adjustsetdamage(void); +static void Cmd_removeitem(void); +static void Cmd_atknameinbuff1(void); +static void Cmd_drawlvlupbox(void); +static void Cmd_resetsentmonsvalue(void); +static void Cmd_setatktoplayer0(void); +static void Cmd_makevisible(void); +static void Cmd_recordlastability(void); +static void Cmd_buffermovetolearn(void); +static void Cmd_jumpifplayerran(void); +static void Cmd_hpthresholds(void); +static void Cmd_hpthresholds2(void); +static void Cmd_useitemonopponent(void); +static void Cmd_various(void); +static void Cmd_setprotectlike(void); +static void Cmd_faintifabilitynotdamp(void); +static void Cmd_setatkhptozero(void); +static void Cmd_jumpifnexttargetvalid(void); +static void Cmd_tryhealhalfhealth(void); +static void Cmd_trymirrormove(void); +static void Cmd_setrain(void); +static void Cmd_setreflect(void); +static void Cmd_setseeded(void); +static void Cmd_manipulatedamage(void); +static void Cmd_trysetrest(void); +static void Cmd_jumpifnotfirstturn(void); +static void Cmd_nop(void); +static void Cmd_jumpifcantmakeasleep(void); +static void Cmd_stockpile(void); +static void Cmd_stockpiletobasedamage(void); +static void Cmd_stockpiletohpheal(void); +static void Cmd_negativedamage(void); +static void Cmd_statbuffchange(void); +static void Cmd_normalisebuffs(void); +static void Cmd_setbide(void); +static void Cmd_confuseifrepeatingattackends(void); +static void Cmd_setmultihitcounter(void); +static void Cmd_initmultihitstring(void); +static void Cmd_forcerandomswitch(void); +static void Cmd_tryconversiontypechange(void); +static void Cmd_givepaydaymoney(void); +static void Cmd_setlightscreen(void); +static void Cmd_tryKO(void); +static void Cmd_damagetohalftargethp(void); +static void Cmd_setsandstorm(void); +static void Cmd_weatherdamage(void); +static void Cmd_tryinfatuating(void); +static void Cmd_updatestatusicon(void); +static void Cmd_setmist(void); +static void Cmd_setfocusenergy(void); +static void Cmd_transformdataexecution(void); +static void Cmd_setsubstitute(void); +static void Cmd_mimicattackcopy(void); +static void Cmd_metronome(void); +static void Cmd_dmgtolevel(void); +static void Cmd_psywavedamageeffect(void); +static void Cmd_counterdamagecalculator(void); +static void Cmd_mirrorcoatdamagecalculator(void); +static void Cmd_disablelastusedattack(void); +static void Cmd_trysetencore(void); +static void Cmd_painsplitdmgcalc(void); +static void Cmd_settypetorandomresistance(void); +static void Cmd_setalwayshitflag(void); +static void Cmd_copymovepermanently(void); +static void Cmd_trychoosesleeptalkmove(void); +static void Cmd_setdestinybond(void); +static void Cmd_trysetdestinybondtohappen(void); +static void Cmd_remaininghptopower(void); +static void Cmd_tryspiteppreduce(void); +static void Cmd_healpartystatus(void); +static void Cmd_cursetarget(void); +static void Cmd_trysetspikes(void); +static void Cmd_setforesight(void); +static void Cmd_trysetperishsong(void); +static void Cmd_rolloutdamagecalculation(void); +static void Cmd_jumpifconfusedandstatmaxed(void); +static void Cmd_furycuttercalc(void); +static void Cmd_happinesstodamagecalculation(void); +static void Cmd_presentdamagecalculation(void); +static void Cmd_setsafeguard(void); +static void Cmd_magnitudedamagecalculation(void); +static void Cmd_jumpifnopursuitswitchdmg(void); +static void Cmd_setsunny(void); +static void Cmd_maxattackhalvehp(void); +static void Cmd_copyfoestats(void); +static void Cmd_rapidspinfree(void); +static void Cmd_setdefensecurlbit(void); +static void Cmd_recoverbasedonsunlight(void); +static void Cmd_hiddenpowercalc(void); +static void Cmd_selectfirstvalidtarget(void); +static void Cmd_trysetfutureattack(void); +static void Cmd_trydobeatup(void); +static void Cmd_setsemiinvulnerablebit(void); +static void Cmd_clearsemiinvulnerablebit(void); +static void Cmd_setminimize(void); +static void Cmd_sethail(void); +static void Cmd_jumpifattackandspecialattackcannotfall(void); +static void Cmd_setforcedtarget(void); +static void Cmd_setcharge(void); +static void Cmd_callterrainattack(void); +static void Cmd_cureifburnedparalysedorpoisoned(void); +static void Cmd_settorment(void); +static void Cmd_jumpifnodamage(void); +static void Cmd_settaunt(void); +static void Cmd_trysethelpinghand(void); +static void Cmd_tryswapitems(void); +static void Cmd_trycopyability(void); +static void Cmd_trywish(void); +static void Cmd_trysetroots(void); +static void Cmd_doubledamagedealtifdamaged(void); +static void Cmd_setyawn(void); +static void Cmd_setdamagetohealthdifference(void); +static void Cmd_scaledamagebyhealthratio(void); +static void Cmd_tryswapabilities(void); +static void Cmd_tryimprison(void); +static void Cmd_trysetgrudge(void); +static void Cmd_weightdamagecalculation(void); +static void Cmd_assistattackselect(void); +static void Cmd_trysetmagiccoat(void); +static void Cmd_trysetsnatch(void); +static void Cmd_trygetintimidatetarget(void); +static void Cmd_switchoutabilities(void); +static void Cmd_jumpifhasnohp(void); +static void Cmd_getsecretpowereffect(void); +static void Cmd_pickup(void); +static void Cmd_docastformchangeanimation(void); +static void Cmd_trycastformdatachange(void); +static void Cmd_settypebasedhalvers(void); +static void Cmd_setweatherballtype(void); +static void Cmd_tryrecycleitem(void); +static void Cmd_settypetoterrain(void); +static void Cmd_pursuitrelated(void); +static void Cmd_snatchsetbattlers(void); +static void Cmd_removelightscreenreflect(void); +static void Cmd_handleballthrow(void); +static void Cmd_givecaughtmon(void); +static void Cmd_trysetcaughtmondexflags(void); +static void Cmd_displaydexinfo(void); +static void Cmd_trygivecaughtmonnick(void); +static void Cmd_subattackerhpbydmg(void); +static void Cmd_removeattackerstatus1(void); +static void Cmd_finishaction(void); +static void Cmd_finishturn(void); +static void Cmd_trainerslideout(void); void (* const gBattleScriptingCommandsTable[])(void) = { - atk00_attackcanceler, - atk01_accuracycheck, - atk02_attackstring, - atk03_ppreduce, - atk04_critcalc, - atk05_damagecalc, - atk06_typecalc, - atk07_adjustnormaldamage, - atk08_adjustnormaldamage2, - atk09_attackanimation, - atk0A_waitanimation, - atk0B_healthbarupdate, - atk0C_datahpupdate, - atk0D_critmessage, - atk0E_effectivenesssound, - atk0F_resultmessage, - atk10_printstring, - atk11_printselectionstring, - atk12_waitmessage, - atk13_printfromtable, - atk14_printselectionstringfromtable, - atk15_seteffectwithchance, - atk16_seteffectprimary, - atk17_seteffectsecondary, - atk18_clearstatusfromeffect, - atk19_tryfaintmon, - atk1A_dofaintanimation, - atk1B_cleareffectsonfaint, - atk1C_jumpifstatus, - atk1D_jumpifstatus2, - atk1E_jumpifability, - atk1F_jumpifsideaffecting, - atk20_jumpifstat, - atk21_jumpifstatus3condition, - atk22_jumpiftype, - atk23_getexp, - atk24, - atk25_movevaluescleanup, - atk26_setmultihit, - atk27_decrementmultihit, - atk28_goto, - atk29_jumpifbyte, - atk2A_jumpifhalfword, - atk2B_jumpifword, - atk2C_jumpifarrayequal, - atk2D_jumpifarraynotequal, - atk2E_setbyte, - atk2F_addbyte, - atk30_subbyte, - atk31_copyarray, - atk32_copyarraywithindex, - atk33_orbyte, - atk34_orhalfword, - atk35_orword, - atk36_bicbyte, - atk37_bichalfword, - atk38_bicword, - atk39_pause, - atk3A_waitstate, - atk3B_healthbar_update, - atk3C_return, - atk3D_end, - atk3E_end2, - atk3F_end3, - atk40_jumpifaffectedbyprotect, - atk41_call, - atk42_jumpiftype2, - atk43_jumpifabilitypresent, - atk44_endselectionscript, - atk45_playanimation, - atk46_playanimation2, - atk47_setgraphicalstatchangevalues, - atk48_playstatchangeanimation, - atk49_moveend, - atk4A_typecalc2, - atk4B_returnatktoball, - atk4C_getswitchedmondata, - atk4D_switchindataupdate, - atk4E_switchinanim, - atk4F_jumpifcantswitch, - atk50_openpartyscreen, - atk51_switchhandleorder, - atk52_switchineffects, - atk53_trainerslidein, - atk54_playse, - atk55_fanfare, - atk56_playfaintcry, - atk57, - atk58_returntoball, - atk59_handlelearnnewmove, - atk5A_yesnoboxlearnmove, - atk5B_yesnoboxstoplearningmove, - atk5C_hitanimation, - atk5D_getmoneyreward, - atk5E, - atk5F_swapattackerwithtarget, - atk60_incrementgamestat, - atk61_drawpartystatussummary, - atk62_hidepartystatussummary, - atk63_jumptocalledmove, - atk64_statusanimation, - atk65_status2animation, - atk66_chosenstatusanimation, - atk67_yesnobox, - atk68_cancelallactions, - atk69_adjustsetdamage, - atk6A_removeitem, - atk6B_atknameinbuff1, - atk6C_drawlvlupbox, - atk6D_resetsentmonsvalue, - atk6E_setatktoplayer0, - atk6F_makevisible, - atk70_recordlastability, - atk71_buffermovetolearn, - atk72_jumpifplayerran, - atk73_hpthresholds, - atk74_hpthresholds2, - atk75_useitemonopponent, - atk76_various, - atk77_setprotectlike, - atk78_faintifabilitynotdamp, - atk79_setatkhptozero, - atk7A_jumpifnexttargetvalid, - atk7B_tryhealhalfhealth, - atk7C_trymirrormove, - atk7D_setrain, - atk7E_setreflect, - atk7F_setseeded, - atk80_manipulatedamage, - atk81_trysetrest, - atk82_jumpifnotfirstturn, - atk83_nop, - atk84_jumpifcantmakeasleep, - atk85_stockpile, - atk86_stockpiletobasedamage, - atk87_stockpiletohpheal, - atk88_negativedamage, - atk89_statbuffchange, - atk8A_normalisebuffs, - atk8B_setbide, - atk8C_confuseifrepeatingattackends, - atk8D_setmultihitcounter, - atk8E_initmultihitstring, - atk8F_forcerandomswitch, - atk90_tryconversiontypechange, - atk91_givepaydaymoney, - atk92_setlightscreen, - atk93_tryKO, - atk94_damagetohalftargethp, - atk95_setsandstorm, - atk96_weatherdamage, - atk97_tryinfatuating, - atk98_updatestatusicon, - atk99_setmist, - atk9A_setfocusenergy, - atk9B_transformdataexecution, - atk9C_setsubstitute, - atk9D_mimicattackcopy, - atk9E_metronome, - atk9F_dmgtolevel, - atkA0_psywavedamageeffect, - atkA1_counterdamagecalculator, - atkA2_mirrorcoatdamagecalculator, - atkA3_disablelastusedattack, - atkA4_trysetencore, - atkA5_painsplitdmgcalc, - atkA6_settypetorandomresistance, - atkA7_setalwayshitflag, - atkA8_copymovepermanently, - atkA9_trychoosesleeptalkmove, - atkAA_setdestinybond, - atkAB_trysetdestinybondtohappen, - atkAC_remaininghptopower, - atkAD_tryspiteppreduce, - atkAE_healpartystatus, - atkAF_cursetarget, - atkB0_trysetspikes, - atkB1_setforesight, - atkB2_trysetperishsong, - atkB3_rolloutdamagecalculation, - atkB4_jumpifconfusedandstatmaxed, - atkB5_furycuttercalc, - atkB6_happinesstodamagecalculation, - atkB7_presentdamagecalculation, - atkB8_setsafeguard, - atkB9_magnitudedamagecalculation, - atkBA_jumpifnopursuitswitchdmg, - atkBB_setsunny, - atkBC_maxattackhalvehp, - atkBD_copyfoestats, - atkBE_rapidspinfree, - atkBF_setdefensecurlbit, - atkC0_recoverbasedonsunlight, - atkC1_hiddenpowercalc, - atkC2_selectfirstvalidtarget, - atkC3_trysetfutureattack, - atkC4_trydobeatup, - atkC5_setsemiinvulnerablebit, - atkC6_clearsemiinvulnerablebit, - atkC7_setminimize, - atkC8_sethail, - atkC9_jumpifattackandspecialattackcannotfall, - atkCA_setforcedtarget, - atkCB_setcharge, - atkCC_callterrainattack, - atkCD_cureifburnedparalysedorpoisoned, - atkCE_settorment, - atkCF_jumpifnodamage, - atkD0_settaunt, - atkD1_trysethelpinghand, - atkD2_tryswapitems, - atkD3_trycopyability, - atkD4_trywish, - atkD5_trysetroots, - atkD6_doubledamagedealtifdamaged, - atkD7_setyawn, - atkD8_setdamagetohealthdifference, - atkD9_scaledamagebyhealthratio, - atkDA_tryswapabilities, - atkDB_tryimprison, - atkDC_trysetgrudge, - atkDD_weightdamagecalculation, - atkDE_assistattackselect, - atkDF_trysetmagiccoat, - atkE0_trysetsnatch, - atkE1_trygetintimidatetarget, - atkE2_switchoutabilities, - atkE3_jumpifhasnohp, - atkE4_getsecretpowereffect, - atkE5_pickup, - atkE6_docastformchangeanimation, - atkE7_trycastformdatachange, - atkE8_settypebasedhalvers, - atkE9_setweatherballtype, - atkEA_tryrecycleitem, - atkEB_settypetoterrain, - atkEC_pursuitrelated, - atkEF_snatchsetbattlers, - atkEE_removelightscreenreflect, - atkEF_handleballthrow, - atkF0_givecaughtmon, - atkF1_trysetcaughtmondexflags, - atkF2_displaydexinfo, - atkF3_trygivecaughtmonnick, - atkF4_subattackerhpbydmg, - atkF5_removeattackerstatus1, - atkF6_finishaction, - atkF7_finishturn, - atkF8_trainerslideout + Cmd_attackcanceler, //0x0 + Cmd_accuracycheck, //0x1 + Cmd_attackstring, //0x2 + Cmd_ppreduce, //0x3 + Cmd_critcalc, //0x4 + Cmd_damagecalc, //0x5 + Cmd_typecalc, //0x6 + Cmd_adjustnormaldamage, //0x7 + Cmd_adjustnormaldamage2, //0x8 + Cmd_attackanimation, //0x9 + Cmd_waitanimation, //0xA + Cmd_healthbarupdate, //0xB + Cmd_datahpupdate, //0xC + Cmd_critmessage, //0xD + Cmd_effectivenesssound, //0xE + Cmd_resultmessage, //0xF + Cmd_printstring, //0x10 + Cmd_printselectionstring, //0x11 + Cmd_waitmessage, //0x12 + Cmd_printfromtable, //0x13 + Cmd_printselectionstringfromtable, //0x14 + Cmd_seteffectwithchance, //0x15 + Cmd_seteffectprimary, //0x16 + Cmd_seteffectsecondary, //0x17 + Cmd_clearstatusfromeffect, //0x18 + Cmd_tryfaintmon, //0x19 + Cmd_dofaintanimation, //0x1A + Cmd_cleareffectsonfaint, //0x1B + Cmd_jumpifstatus, //0x1C + Cmd_jumpifstatus2, //0x1D + Cmd_jumpifability, //0x1E + Cmd_jumpifsideaffecting, //0x1F + Cmd_jumpifstat, //0x20 + Cmd_jumpifstatus3condition, //0x21 + Cmd_jumpiftype, //0x22 + Cmd_getexp, //0x23 + Cmd_unknown_24, //0x24 + Cmd_movevaluescleanup, //0x25 + Cmd_setmultihit, //0x26 + Cmd_decrementmultihit, //0x27 + Cmd_goto, //0x28 + Cmd_jumpifbyte, //0x29 + Cmd_jumpifhalfword, //0x2A + Cmd_jumpifword, //0x2B + Cmd_jumpifarrayequal, //0x2C + Cmd_jumpifarraynotequal, //0x2D + Cmd_setbyte, //0x2E + Cmd_addbyte, //0x2F + Cmd_subbyte, //0x30 + Cmd_copyarray, //0x31 + Cmd_copyarraywithindex, //0x32 + Cmd_orbyte, //0x33 + Cmd_orhalfword, //0x34 + Cmd_orword, //0x35 + Cmd_bicbyte, //0x36 + Cmd_bichalfword, //0x37 + Cmd_bicword, //0x38 + Cmd_pause, //0x39 + Cmd_waitstate, //0x3A + Cmd_healthbar_update, //0x3B + Cmd_return, //0x3C + Cmd_end, //0x3D + Cmd_end2, //0x3E + Cmd_end3, //0x3F + Cmd_jumpifaffectedbyprotect, //0x40 + Cmd_call, //0x41 + Cmd_jumpiftype2, //0x42 + Cmd_jumpifabilitypresent, //0x43 + Cmd_endselectionscript, //0x44 + Cmd_playanimation, //0x45 + Cmd_playanimation2, //0x46 + Cmd_setgraphicalstatchangevalues, //0x47 + Cmd_playstatchangeanimation, //0x48 + Cmd_moveend, //0x49 + Cmd_typecalc2, //0x4A + Cmd_returnatktoball, //0x4B + Cmd_getswitchedmondata, //0x4C + Cmd_switchindataupdate, //0x4D + Cmd_switchinanim, //0x4E + Cmd_jumpifcantswitch, //0x4F + Cmd_openpartyscreen, //0x50 + Cmd_switchhandleorder, //0x51 + Cmd_switchineffects, //0x52 + Cmd_trainerslidein, //0x53 + Cmd_playse, //0x54 + Cmd_fanfare, //0x55 + Cmd_playfaintcry, //0x56 + Cmd_unknown_57, //0x57 + Cmd_returntoball, //0x58 + Cmd_handlelearnnewmove, //0x59 + Cmd_yesnoboxlearnmove, //0x5A + Cmd_yesnoboxstoplearningmove, //0x5B + Cmd_hitanimation, //0x5C + Cmd_getmoneyreward, //0x5D + Cmd_unknown_5E, //0x5E + Cmd_swapattackerwithtarget, //0x5F + Cmd_incrementgamestat, //0x60 + Cmd_drawpartystatussummary, //0x61 + Cmd_hidepartystatussummary, //0x62 + Cmd_jumptocalledmove, //0x63 + Cmd_statusanimation, //0x64 + Cmd_status2animation, //0x65 + Cmd_chosenstatusanimation, //0x66 + Cmd_yesnobox, //0x67 + Cmd_cancelallactions, //0x68 + Cmd_adjustsetdamage, //0x69 + Cmd_removeitem, //0x6A + Cmd_atknameinbuff1, //0x6B + Cmd_drawlvlupbox, //0x6C + Cmd_resetsentmonsvalue, //0x6D + Cmd_setatktoplayer0, //0x6E + Cmd_makevisible, //0x6F + Cmd_recordlastability, //0x70 + Cmd_buffermovetolearn, //0x71 + Cmd_jumpifplayerran, //0x72 + Cmd_hpthresholds, //0x73 + Cmd_hpthresholds2, //0x74 + Cmd_useitemonopponent, //0x75 + Cmd_various, //0x76 + Cmd_setprotectlike, //0x77 + Cmd_faintifabilitynotdamp, //0x78 + Cmd_setatkhptozero, //0x79 + Cmd_jumpifnexttargetvalid, //0x7A + Cmd_tryhealhalfhealth, //0x7B + Cmd_trymirrormove, //0x7C + Cmd_setrain, //0x7D + Cmd_setreflect, //0x7E + Cmd_setseeded, //0x7F + Cmd_manipulatedamage, //0x80 + Cmd_trysetrest, //0x81 + Cmd_jumpifnotfirstturn, //0x82 + Cmd_nop, //0x83 + Cmd_jumpifcantmakeasleep, //0x84 + Cmd_stockpile, //0x85 + Cmd_stockpiletobasedamage, //0x86 + Cmd_stockpiletohpheal, //0x87 + Cmd_negativedamage, //0x88 + Cmd_statbuffchange, //0x89 + Cmd_normalisebuffs, //0x8A + Cmd_setbide, //0x8B + Cmd_confuseifrepeatingattackends, //0x8C + Cmd_setmultihitcounter, //0x8D + Cmd_initmultihitstring, //0x8E + Cmd_forcerandomswitch, //0x8F + Cmd_tryconversiontypechange, //0x90 + Cmd_givepaydaymoney, //0x91 + Cmd_setlightscreen, //0x92 + Cmd_tryKO, //0x93 + Cmd_damagetohalftargethp, //0x94 + Cmd_setsandstorm, //0x95 + Cmd_weatherdamage, //0x96 + Cmd_tryinfatuating, //0x97 + Cmd_updatestatusicon, //0x98 + Cmd_setmist, //0x99 + Cmd_setfocusenergy, //0x9A + Cmd_transformdataexecution, //0x9B + Cmd_setsubstitute, //0x9C + Cmd_mimicattackcopy, //0x9D + Cmd_metronome, //0x9E + Cmd_dmgtolevel, //0x9F + Cmd_psywavedamageeffect, //0xA0 + Cmd_counterdamagecalculator, //0xA1 + Cmd_mirrorcoatdamagecalculator, //0xA2 + Cmd_disablelastusedattack, //0xA3 + Cmd_trysetencore, //0xA4 + Cmd_painsplitdmgcalc, //0xA5 + Cmd_settypetorandomresistance, //0xA6 + Cmd_setalwayshitflag, //0xA7 + Cmd_copymovepermanently, //0xA8 + Cmd_trychoosesleeptalkmove, //0xA9 + Cmd_setdestinybond, //0xAA + Cmd_trysetdestinybondtohappen, //0xAB + Cmd_remaininghptopower, //0xAC + Cmd_tryspiteppreduce, //0xAD + Cmd_healpartystatus, //0xAE + Cmd_cursetarget, //0xAF + Cmd_trysetspikes, //0xB0 + Cmd_setforesight, //0xB1 + Cmd_trysetperishsong, //0xB2 + Cmd_rolloutdamagecalculation, //0xB3 + Cmd_jumpifconfusedandstatmaxed, //0xB4 + Cmd_furycuttercalc, //0xB5 + Cmd_happinesstodamagecalculation, //0xB6 + Cmd_presentdamagecalculation, //0xB7 + Cmd_setsafeguard, //0xB8 + Cmd_magnitudedamagecalculation, //0xB9 + Cmd_jumpifnopursuitswitchdmg, //0xBA + Cmd_setsunny, //0xBB + Cmd_maxattackhalvehp, //0xBC + Cmd_copyfoestats, //0xBD + Cmd_rapidspinfree, //0xBE + Cmd_setdefensecurlbit, //0xBF + Cmd_recoverbasedonsunlight, //0xC0 + Cmd_hiddenpowercalc, //0xC1 + Cmd_selectfirstvalidtarget, //0xC2 + Cmd_trysetfutureattack, //0xC3 + Cmd_trydobeatup, //0xC4 + Cmd_setsemiinvulnerablebit, //0xC5 + Cmd_clearsemiinvulnerablebit, //0xC6 + Cmd_setminimize, //0xC7 + Cmd_sethail, //0xC8 + Cmd_jumpifattackandspecialattackcannotfall, //0xC9 + Cmd_setforcedtarget, //0xCA + Cmd_setcharge, //0xCB + Cmd_callterrainattack, //0xCC + Cmd_cureifburnedparalysedorpoisoned, //0xCD + Cmd_settorment, //0xCE + Cmd_jumpifnodamage, //0xCF + Cmd_settaunt, //0xD0 + Cmd_trysethelpinghand, //0xD1 + Cmd_tryswapitems, //0xD2 + Cmd_trycopyability, //0xD3 + Cmd_trywish, //0xD4 + Cmd_trysetroots, //0xD5 + Cmd_doubledamagedealtifdamaged, //0xD6 + Cmd_setyawn, //0xD7 + Cmd_setdamagetohealthdifference, //0xD8 + Cmd_scaledamagebyhealthratio, //0xD9 + Cmd_tryswapabilities, //0xDA + Cmd_tryimprison, //0xDB + Cmd_trysetgrudge, //0xDC + Cmd_weightdamagecalculation, //0xDD + Cmd_assistattackselect, //0xDE + Cmd_trysetmagiccoat, //0xDF + Cmd_trysetsnatch, //0xE0 + Cmd_trygetintimidatetarget, //0xE1 + Cmd_switchoutabilities, //0xE2 + Cmd_jumpifhasnohp, //0xE3 + Cmd_getsecretpowereffect, //0xE4 + Cmd_pickup, //0xE5 + Cmd_docastformchangeanimation, //0xE6 + Cmd_trycastformdatachange, //0xE7 + Cmd_settypebasedhalvers, //0xE8 + Cmd_setweatherballtype, //0xE9 + Cmd_tryrecycleitem, //0xEA + Cmd_settypetoterrain, //0xEB + Cmd_pursuitrelated, //0xEC + Cmd_snatchsetbattlers, //0xED + Cmd_removelightscreenreflect, //0xEE + Cmd_handleballthrow, //0xEF + Cmd_givecaughtmon, //0xF0 + Cmd_trysetcaughtmondexflags, //0xF1 + Cmd_displaydexinfo, //0xF2 + Cmd_trygivecaughtmonnick, //0xF3 + Cmd_subattackerhpbydmg, //0xF4 + Cmd_removeattackerstatus1, //0xF5 + Cmd_finishaction, //0xF6 + Cmd_finishturn, //0xF7 + Cmd_trainerslideout //0xF8 }; struct StatFractions @@ -729,10 +730,10 @@ static const u8 sRubyLevelUpStatBoxStats[] = static const struct OamData sOamData_MonIconOnLvlUpBox = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, @@ -917,7 +918,7 @@ static const u8 sUnknown_0831C4F8[] = 0x03, 0x00, 0x00, 0x00 }; -static void atk00_attackcanceler(void) +static void Cmd_attackcanceler(void) { s32 i; @@ -1029,7 +1030,7 @@ static void JumpIfMoveFailed(u8 adder, u16 move) gBattlescriptCurrInstr = BS_ptr; } -static void atk40_jumpifaffectedbyprotect(void) +static void Cmd_jumpifaffectedbyprotect(void) { if (DEFENDER_IS_PROTECTED) { @@ -1101,7 +1102,7 @@ static bool8 AccuracyCalcHelper(u16 move) return FALSE; } -static void atk01_accuracycheck(void) +static void Cmd_accuracycheck(void) { u16 move = T2_READ_16(gBattlescriptCurrInstr + 5); @@ -1193,7 +1194,7 @@ static void atk01_accuracycheck(void) } } -static void atk02_attackstring(void) +static void Cmd_attackstring(void) { if (gBattleControllerExecFlags) return; @@ -1206,7 +1207,7 @@ static void atk02_attackstring(void) gBattleCommunication[MSG_DISPLAY] = 0; } -static void atk03_ppreduce(void) +static void Cmd_ppreduce(void) { s32 ppToDeduct = 1; @@ -1253,7 +1254,7 @@ static void atk03_ppreduce(void) gBattlescriptCurrInstr++; } -static void atk04_critcalc(void) +static void Cmd_critcalc(void) { u8 holdEffect; u16 item, critChance; @@ -1290,7 +1291,7 @@ static void atk04_critcalc(void) gBattlescriptCurrInstr++; } -static void atk05_damagecalc(void) +static void Cmd_damagecalc(void) { u16 sideStatus = gSideStatuses[GET_BATTLER_SIDE(gBattlerTarget)]; gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerTarget], gCurrentMove, @@ -1355,7 +1356,7 @@ static void ModulateDmgByType(u8 multiplier) } } -static void atk06_typecalc(void) +static void Cmd_typecalc(void) { s32 i = 0; u8 moveType; @@ -1657,7 +1658,7 @@ static void Unused_ApplyRandomDmgMultiplier(void) ApplyRandomDmgMultiplier(); } -static void atk07_adjustnormaldamage(void) +static void Cmd_adjustnormaldamage(void) { u8 holdEffect, param; @@ -1681,32 +1682,25 @@ static void atk07_adjustnormaldamage(void) RecordItemEffectBattle(gBattlerTarget, holdEffect); gSpecialStatuses[gBattlerTarget].focusBanded = 1; } - if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) - goto END; - if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBattlerTarget].endured - && !gSpecialStatuses[gBattlerTarget].focusBanded) - goto END; - - if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage) - goto END; - - gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; - - if (gProtectStructs[gBattlerTarget].endured) + if (!(gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) + && (gBattleMoves[gCurrentMove].effect == EFFECT_FALSE_SWIPE || gProtectStructs[gBattlerTarget].endured || gSpecialStatuses[gBattlerTarget].focusBanded) + && gBattleMons[gBattlerTarget].hp <= gBattleMoveDamage) { - gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; + if (gProtectStructs[gBattlerTarget].endured) + { + gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; + } + else if (gSpecialStatuses[gBattlerTarget].focusBanded) + { + gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; + gLastUsedItem = gBattleMons[gBattlerTarget].item; + } } - else if (gSpecialStatuses[gBattlerTarget].focusBanded) - { - gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; - gLastUsedItem = gBattleMons[gBattlerTarget].item; - } - - END: - gBattlescriptCurrInstr++; + gBattlescriptCurrInstr++; } -static void atk08_adjustnormaldamage2(void) // The same as 0x7 except it doesn't check for false swipe move effect. +static void Cmd_adjustnormaldamage2(void) // The same as adjustnormaldamage except it doesn't check for false swipe move effect. { u8 holdEffect, param; @@ -1730,30 +1724,25 @@ static void atk08_adjustnormaldamage2(void) // The same as 0x7 except it doesn't RecordItemEffectBattle(gBattlerTarget, holdEffect); gSpecialStatuses[gBattlerTarget].focusBanded = 1; } - if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) - goto END; - if (!gProtectStructs[gBattlerTarget].endured && !gSpecialStatuses[gBattlerTarget].focusBanded) - goto END; - if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage) - goto END; - - gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; - - if (gProtectStructs[gBattlerTarget].endured) + if (!(gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) + && (gProtectStructs[gBattlerTarget].endured || gSpecialStatuses[gBattlerTarget].focusBanded) + && gBattleMons[gBattlerTarget].hp <= gBattleMoveDamage) { - gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; + if (gProtectStructs[gBattlerTarget].endured) + { + gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; + } + else if (gSpecialStatuses[gBattlerTarget].focusBanded) + { + gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; + gLastUsedItem = gBattleMons[gBattlerTarget].item; + } } - else if (gSpecialStatuses[gBattlerTarget].focusBanded) - { - gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; - gLastUsedItem = gBattleMons[gBattlerTarget].item; - } - - END: - gBattlescriptCurrInstr++; + gBattlescriptCurrInstr++; } -static void atk09_attackanimation(void) +static void Cmd_attackanimation(void) { if (gBattleControllerExecFlags) return; @@ -1807,13 +1796,13 @@ static void atk09_attackanimation(void) } } -static void atk0A_waitanimation(void) +static void Cmd_waitanimation(void) { if (gBattleControllerExecFlags == 0) gBattlescriptCurrInstr++; } -static void atk0B_healthbarupdate(void) +static void Cmd_healthbarupdate(void) { if (gBattleControllerExecFlags) return; @@ -1849,7 +1838,7 @@ static void atk0B_healthbarupdate(void) gBattlescriptCurrInstr += 2; } -static void atk0C_datahpupdate(void) +static void Cmd_datahpupdate(void) { u32 moveType; @@ -1975,7 +1964,7 @@ static void atk0C_datahpupdate(void) gBattlescriptCurrInstr += 2; } -static void atk0D_critmessage(void) +static void Cmd_critmessage(void) { if (gBattleControllerExecFlags == 0) { @@ -1988,7 +1977,7 @@ static void atk0D_critmessage(void) } } -static void atk0E_effectivenesssound(void) +static void Cmd_effectivenesssound(void) { if (gBattleControllerExecFlags) return; @@ -2035,7 +2024,7 @@ static void atk0E_effectivenesssound(void) gBattlescriptCurrInstr++; } -static void atk0F_resultmessage(void) +static void Cmd_resultmessage(void) { u32 stringId = 0; @@ -2124,7 +2113,7 @@ static void atk0F_resultmessage(void) gBattlescriptCurrInstr++; } -static void atk10_printstring(void) +static void Cmd_printstring(void) { if (gBattleControllerExecFlags == 0) { @@ -2135,7 +2124,7 @@ static void atk10_printstring(void) } } -static void atk11_printselectionstring(void) +static void Cmd_printselectionstring(void) { gActiveBattler = gBattlerAttacker; @@ -2146,7 +2135,7 @@ static void atk11_printselectionstring(void) gBattleCommunication[MSG_DISPLAY] = 1; } -static void atk12_waitmessage(void) +static void Cmd_waitmessage(void) { if (gBattleControllerExecFlags == 0) { @@ -2167,7 +2156,7 @@ static void atk12_waitmessage(void) } } -static void atk13_printfromtable(void) +static void Cmd_printfromtable(void) { if (gBattleControllerExecFlags == 0) { @@ -2181,7 +2170,7 @@ static void atk13_printfromtable(void) } } -static void atk14_printselectionstringfromtable(void) +static void Cmd_printselectionstringfromtable(void) { if (gBattleControllerExecFlags == 0) { @@ -2893,7 +2882,7 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattleCommunication[MOVE_EFFECT_BYTE] = 0; } -static void atk15_seteffectwithchance(void) +static void Cmd_seteffectwithchance(void) { u32 percentChance; @@ -2926,17 +2915,17 @@ static void atk15_seteffectwithchance(void) gBattleScripting.multihitMoveEffect = 0; } -static void atk16_seteffectprimary(void) +static void Cmd_seteffectprimary(void) { SetMoveEffect(TRUE, 0); } -static void atk17_seteffectsecondary(void) +static void Cmd_seteffectsecondary(void) { SetMoveEffect(FALSE, 0); } -static void atk18_clearstatusfromeffect(void) +static void Cmd_clearstatusfromeffect(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); @@ -2950,7 +2939,7 @@ static void atk18_clearstatusfromeffect(void) gBattleScripting.multihitMoveEffect = 0; } -static void atk19_tryfaintmon(void) +static void Cmd_tryfaintmon(void) { const u8 *BS_ptr; @@ -3037,7 +3026,7 @@ static void atk19_tryfaintmon(void) } } -static void atk1A_dofaintanimation(void) +static void Cmd_dofaintanimation(void) { if (gBattleControllerExecFlags == 0) { @@ -3048,7 +3037,7 @@ static void atk1A_dofaintanimation(void) } } -static void atk1B_cleareffectsonfaint(void) +static void Cmd_cleareffectsonfaint(void) { if (gBattleControllerExecFlags == 0) { @@ -3066,7 +3055,7 @@ static void atk1B_cleareffectsonfaint(void) } } -static void atk1C_jumpifstatus(void) +static void Cmd_jumpifstatus(void) { u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2); @@ -3078,7 +3067,7 @@ static void atk1C_jumpifstatus(void) gBattlescriptCurrInstr += 10; } -static void atk1D_jumpifstatus2(void) +static void Cmd_jumpifstatus2(void) { u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2); @@ -3090,7 +3079,7 @@ static void atk1D_jumpifstatus2(void) gBattlescriptCurrInstr += 10; } -static void atk1E_jumpifability(void) +static void Cmd_jumpifability(void) { u8 battlerId; u8 ability = gBattlescriptCurrInstr[2]; @@ -3137,7 +3126,7 @@ static void atk1E_jumpifability(void) } } -static void atk1F_jumpifsideaffecting(void) +static void Cmd_jumpifsideaffecting(void) { u8 side; u16 flags; @@ -3157,7 +3146,7 @@ static void atk1F_jumpifsideaffecting(void) gBattlescriptCurrInstr += 8; } -static void atk20_jumpifstat(void) +static void Cmd_jumpifstat(void) { u8 ret = 0; u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); @@ -3197,7 +3186,7 @@ static void atk20_jumpifstat(void) gBattlescriptCurrInstr += 9; } -static void atk21_jumpifstatus3condition(void) +static void Cmd_jumpifstatus3condition(void) { u32 flags; const u8 *jumpPtr; @@ -3222,7 +3211,7 @@ static void atk21_jumpifstatus3condition(void) } } -static void atk22_jumpiftype(void) +static void Cmd_jumpiftype(void) { u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); u8 type = gBattlescriptCurrInstr[2]; @@ -3234,7 +3223,7 @@ static void atk22_jumpiftype(void) gBattlescriptCurrInstr += 7; } -static void atk23_getexp(void) +static void Cmd_getexp(void) { u16 item; s32 i; // also used as stringId @@ -3246,7 +3235,7 @@ static void atk23_getexp(void) gBattlerFainted = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); sentIn = gSentPokesToOpponent[(gBattlerFainted & 2) >> 1]; - switch (gBattleScripting.atk23_state) + switch (gBattleScripting.getexpState) { case 0: // check if should receive exp at all if (GetBattlerSide(gBattlerFainted) != B_SIDE_OPPONENT || (gBattleTypeFlags & @@ -3258,11 +3247,11 @@ static void atk23_getexp(void) | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER))) { - gBattleScripting.atk23_state = 6; // goto last case + gBattleScripting.getexpState = 6; // goto last case } else { - gBattleScripting.atk23_state++; + gBattleScripting.getexpState++; gBattleStruct->givenExpMons |= gBitTable[gBattlerPartyIndexes[gBattlerFainted]]; } break; @@ -3309,7 +3298,7 @@ static void atk23_getexp(void) gExpShareExp = 0; } - gBattleScripting.atk23_state++; + gBattleScripting.getexpState++; gBattleStruct->expGetterMonId = 0; gBattleStruct->sentInPokes = sentIn; } @@ -3327,13 +3316,13 @@ static void atk23_getexp(void) if (holdEffect != HOLD_EFFECT_EXP_SHARE && !(gBattleStruct->sentInPokes & 1)) { *(&gBattleStruct->sentInPokes) >>= 1; - gBattleScripting.atk23_state = 5; + gBattleScripting.getexpState = 5; gBattleMoveDamage = 0; // used for exp } else if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) == MAX_LEVEL) { *(&gBattleStruct->sentInPokes) >>= 1; - gBattleScripting.atk23_state = 5; + gBattleScripting.getexpState = 5; gBattleMoveDamage = 0; // used for exp } else @@ -3405,7 +3394,7 @@ static void atk23_getexp(void) MonGainEVs(&gPlayerParty[gBattleStruct->expGetterMonId], gBattleMons[gBattlerFainted].species); } gBattleStruct->sentInPokes >>= 1; - gBattleScripting.atk23_state++; + gBattleScripting.getexpState++; } } break; @@ -3426,7 +3415,7 @@ static void atk23_getexp(void) BtlController_EmitExpUpdate(0, gBattleStruct->expGetterMonId, gBattleMoveDamage); MarkBattlerForControllerExec(gActiveBattler); } - gBattleScripting.atk23_state++; + gBattleScripting.getexpState++; } break; case 4: // lvl up if necessary @@ -3476,27 +3465,27 @@ static void atk23_getexp(void) gBattleMons[2].spAttack = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPATK); } - gBattleScripting.atk23_state = 5; + gBattleScripting.getexpState = 5; } else { gBattleMoveDamage = 0; - gBattleScripting.atk23_state = 5; + gBattleScripting.getexpState = 5; } } break; case 5: // looper increment if (gBattleMoveDamage) // there is exp to give, goto case 3 that gives exp { - gBattleScripting.atk23_state = 3; + gBattleScripting.getexpState = 3; } else { gBattleStruct->expGetterMonId++; if (gBattleStruct->expGetterMonId <= 5) - gBattleScripting.atk23_state = 2; // loop again + gBattleScripting.getexpState = 2; // loop again else - gBattleScripting.atk23_state = 6; // we're done + gBattleScripting.getexpState = 6; // we're done } break; case 6: // increment instruction @@ -3512,7 +3501,7 @@ static void atk23_getexp(void) } #ifdef NONMATCHING -static void atk24(void) +static void Cmd_unknown_24(void) { u16 HP_count = 0; s32 i; @@ -3595,7 +3584,7 @@ static void atk24(void) } #else NAKED -static void atk24(void) +static void Cmd_unknown_24(void) { asm("\n\ .syntax unified\n\ @@ -3900,19 +3889,19 @@ static void MoveValuesCleanUp(void) gHitMarker &= ~(HITMARKER_SYNCHRONISE_EFFECT); } -static void atk25_movevaluescleanup(void) +static void Cmd_movevaluescleanup(void) { MoveValuesCleanUp(); gBattlescriptCurrInstr += 1; } -static void atk26_setmultihit(void) +static void Cmd_setmultihit(void) { gMultiHitCounter = gBattlescriptCurrInstr[1]; gBattlescriptCurrInstr += 2; } -static void atk27_decrementmultihit(void) +static void Cmd_decrementmultihit(void) { if (--gMultiHitCounter == 0) gBattlescriptCurrInstr += 5; @@ -3920,12 +3909,12 @@ static void atk27_decrementmultihit(void) gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1); } -static void atk28_goto(void) +static void Cmd_goto(void) { gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1); } -static void atk29_jumpifbyte(void) +static void Cmd_jumpifbyte(void) { u8 caseID = gBattlescriptCurrInstr[1]; const u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 2); @@ -3963,7 +3952,7 @@ static void atk29_jumpifbyte(void) } } -static void atk2A_jumpifhalfword(void) +static void Cmd_jumpifhalfword(void) { u8 caseID = gBattlescriptCurrInstr[1]; const u16* memHword = T2_READ_PTR(gBattlescriptCurrInstr + 2); @@ -4001,7 +3990,7 @@ static void atk2A_jumpifhalfword(void) } } -static void atk2B_jumpifword(void) +static void Cmd_jumpifword(void) { u8 caseID = gBattlescriptCurrInstr[1]; const u32* memWord = T2_READ_PTR(gBattlescriptCurrInstr + 2); @@ -4039,7 +4028,7 @@ static void atk2B_jumpifword(void) } } -static void atk2C_jumpifarrayequal(void) +static void Cmd_jumpifarrayequal(void) { const u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1); const u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5); @@ -4061,7 +4050,7 @@ static void atk2C_jumpifarrayequal(void) gBattlescriptCurrInstr = jumpPtr; } -static void atk2D_jumpifarraynotequal(void) +static void Cmd_jumpifarraynotequal(void) { u8 equalBytes = 0; const u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1); @@ -4085,7 +4074,7 @@ static void atk2D_jumpifarraynotequal(void) gBattlescriptCurrInstr += 14; } -static void atk2E_setbyte(void) +static void Cmd_setbyte(void) { u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1); *memByte = gBattlescriptCurrInstr[5]; @@ -4093,21 +4082,21 @@ static void atk2E_setbyte(void) gBattlescriptCurrInstr += 6; } -static void atk2F_addbyte(void) +static void Cmd_addbyte(void) { u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1); *memByte += gBattlescriptCurrInstr[5]; gBattlescriptCurrInstr += 6; } -static void atk30_subbyte(void) +static void Cmd_subbyte(void) { u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1); *memByte -= gBattlescriptCurrInstr[5]; gBattlescriptCurrInstr += 6; } -static void atk31_copyarray(void) +static void Cmd_copyarray(void) { u8* dest = T2_READ_PTR(gBattlescriptCurrInstr + 1); const u8* src = T2_READ_PTR(gBattlescriptCurrInstr + 5); @@ -4122,7 +4111,7 @@ static void atk31_copyarray(void) gBattlescriptCurrInstr += 10; } -static void atk32_copyarraywithindex(void) +static void Cmd_copyarraywithindex(void) { u8* dest = T2_READ_PTR(gBattlescriptCurrInstr + 1); const u8* src = T2_READ_PTR(gBattlescriptCurrInstr + 5); @@ -4138,14 +4127,14 @@ static void atk32_copyarraywithindex(void) gBattlescriptCurrInstr += 14; } -static void atk33_orbyte(void) +static void Cmd_orbyte(void) { u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1); *memByte |= gBattlescriptCurrInstr[5]; gBattlescriptCurrInstr += 6; } -static void atk34_orhalfword(void) +static void Cmd_orhalfword(void) { u16* memHword = T2_READ_PTR(gBattlescriptCurrInstr + 1); u16 val = T2_READ_16(gBattlescriptCurrInstr + 5); @@ -4154,7 +4143,7 @@ static void atk34_orhalfword(void) gBattlescriptCurrInstr += 7; } -static void atk35_orword(void) +static void Cmd_orword(void) { u32* memWord = T2_READ_PTR(gBattlescriptCurrInstr + 1); u32 val = T2_READ_32(gBattlescriptCurrInstr + 5); @@ -4163,14 +4152,14 @@ static void atk35_orword(void) gBattlescriptCurrInstr += 9; } -static void atk36_bicbyte(void) +static void Cmd_bicbyte(void) { u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1); *memByte &= ~(gBattlescriptCurrInstr[5]); gBattlescriptCurrInstr += 6; } -static void atk37_bichalfword(void) +static void Cmd_bichalfword(void) { u16* memHword = T2_READ_PTR(gBattlescriptCurrInstr + 1); u16 val = T2_READ_16(gBattlescriptCurrInstr + 5); @@ -4179,7 +4168,7 @@ static void atk37_bichalfword(void) gBattlescriptCurrInstr += 7; } -static void atk38_bicword(void) +static void Cmd_bicword(void) { u32* memWord = T2_READ_PTR(gBattlescriptCurrInstr + 1); u32 val = T2_READ_32(gBattlescriptCurrInstr + 5); @@ -4188,7 +4177,7 @@ static void atk38_bicword(void) gBattlescriptCurrInstr += 9; } -static void atk39_pause(void) +static void Cmd_pause(void) { if (gBattleControllerExecFlags == 0) { @@ -4201,13 +4190,13 @@ static void atk39_pause(void) } } -static void atk3A_waitstate(void) +static void Cmd_waitstate(void) { if (gBattleControllerExecFlags == 0) gBattlescriptCurrInstr++; } -static void atk3B_healthbar_update(void) +static void Cmd_healthbar_update(void) { if (gBattlescriptCurrInstr[1] == BS_TARGET) gActiveBattler = gBattlerTarget; @@ -4219,12 +4208,12 @@ static void atk3B_healthbar_update(void) gBattlescriptCurrInstr += 2; } -static void atk3C_return(void) +static void Cmd_return(void) { BattleScriptPop(); } -static void atk3D_end(void) +static void Cmd_end(void) { if (gBattleTypeFlags & BATTLE_TYPE_ARENA) BattleArena_AddSkillPoints(gBattlerAttacker); @@ -4234,13 +4223,13 @@ static void atk3D_end(void) gCurrentActionFuncId = B_ACTION_TRY_FINISH; } -static void atk3E_end2(void) +static void Cmd_end2(void) { gActiveBattler = 0; gCurrentActionFuncId = B_ACTION_TRY_FINISH; } -static void atk3F_end3(void) // pops the main function stack +static void Cmd_end3(void) // pops the main function stack { BattleScriptPop(); if (gBattleResources->battleCallbackStack->size != 0) @@ -4248,13 +4237,13 @@ static void atk3F_end3(void) // pops the main function stack gBattleMainFunc = gBattleResources->battleCallbackStack->function[gBattleResources->battleCallbackStack->size]; } -static void atk41_call(void) +static void Cmd_call(void) { BattleScriptPush(gBattlescriptCurrInstr + 5); gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } -static void atk42_jumpiftype2(void) +static void Cmd_jumpiftype2(void) { u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); @@ -4264,7 +4253,7 @@ static void atk42_jumpiftype2(void) gBattlescriptCurrInstr += 7; } -static void atk43_jumpifabilitypresent(void) +static void Cmd_jumpifabilitypresent(void) { if (AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, gBattlescriptCurrInstr[1], 0, 0)) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); @@ -4272,12 +4261,12 @@ static void atk43_jumpifabilitypresent(void) gBattlescriptCurrInstr += 6; } -static void atk44_endselectionscript(void) +static void Cmd_endselectionscript(void) { *(gBattlerAttacker + gBattleStruct->selectionScriptFinished) = TRUE; } -static void atk45_playanimation(void) +static void Cmd_playanimation(void) { const u16* argumentPtr; @@ -4318,7 +4307,7 @@ static void atk45_playanimation(void) } } -static void atk46_playanimation2(void) // animation Id is stored in the first pointer +static void Cmd_playanimation2(void) // animation Id is stored in the first pointer { const u16* argumentPtr; const u8* animationIdPtr; @@ -4360,7 +4349,7 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po } } -static void atk47_setgraphicalstatchangevalues(void) +static void Cmd_setgraphicalstatchangevalues(void) { u8 value = 0; switch (GET_STAT_BUFF_VALUE2(gBattleScripting.statChanger)) @@ -4383,7 +4372,7 @@ static void atk47_setgraphicalstatchangevalues(void) gBattlescriptCurrInstr++; } -static void atk48_playstatchangeanimation(void) +static void Cmd_playstatchangeanimation(void) { u32 currStat = 0; u16 statAnimId = 0; @@ -4393,10 +4382,10 @@ static void atk48_playstatchangeanimation(void) gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); statsToCheck = gBattlescriptCurrInstr[2]; - if (gBattlescriptCurrInstr[3] & ATK48_STAT_NEGATIVE) // goes down + if (gBattlescriptCurrInstr[3] & STAT_CHANGE_NEGATIVE) // goes down { s16 startingStatAnimId; - if (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO) + if (gBattlescriptCurrInstr[3] & STAT_CHANGE_BY_TWO) startingStatAnimId = STAT_ANIM_MINUS2 - 1; else startingStatAnimId = STAT_ANIM_MINUS1 - 1; @@ -4405,7 +4394,7 @@ static void atk48_playstatchangeanimation(void) { if (statsToCheck & 1) { - if (gBattlescriptCurrInstr[3] & ATK48_DONT_CHECK_LOWER) + if (gBattlescriptCurrInstr[3] & STAT_CHANGE_CANT_PREVENT) { if (gBattleMons[gActiveBattler].statStages[currStat] > 0) { @@ -4431,7 +4420,7 @@ static void atk48_playstatchangeanimation(void) if (changeableStatsCount > 1) // more than one stat, so the color is gray { - if (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO) + if (gBattlescriptCurrInstr[3] & STAT_CHANGE_BY_TWO) statAnimId = STAT_ANIM_MULTIPLE_MINUS2; else statAnimId = STAT_ANIM_MULTIPLE_MINUS1; @@ -4440,7 +4429,7 @@ static void atk48_playstatchangeanimation(void) else // goes up { s16 startingStatAnimId; - if (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO) + if (gBattlescriptCurrInstr[3] & STAT_CHANGE_BY_TWO) startingStatAnimId = STAT_ANIM_PLUS2 - 1; else startingStatAnimId = STAT_ANIM_PLUS1 - 1; @@ -4457,14 +4446,14 @@ static void atk48_playstatchangeanimation(void) if (changeableStatsCount > 1) // more than one stat, so the color is gray { - if (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO) + if (gBattlescriptCurrInstr[3] & STAT_CHANGE_BY_TWO) statAnimId = STAT_ANIM_MULTIPLE_PLUS2; else statAnimId = STAT_ANIM_MULTIPLE_PLUS1; } } - if (gBattlescriptCurrInstr[3] & ATK48_ONLY_MULTIPLE && changeableStatsCount < 2) + if (gBattlescriptCurrInstr[3] & STAT_CHANGE_MULTIPLE_STATS && changeableStatsCount < 2) { gBattlescriptCurrInstr += 4; } @@ -4472,7 +4461,7 @@ static void atk48_playstatchangeanimation(void) { BtlController_EmitBattleAnimation(0, B_ANIM_STATS_CHANGE, statAnimId); MarkBattlerForControllerExec(gActiveBattler); - if (gBattlescriptCurrInstr[3] & ATK48_ONLY_MULTIPLE && changeableStatsCount > 1) + if (gBattlescriptCurrInstr[3] & STAT_CHANGE_MULTIPLE_STATS && changeableStatsCount > 1) gBattleScripting.statAnimPlayed = TRUE; gBattlescriptCurrInstr += 4; } @@ -4482,7 +4471,7 @@ static void atk48_playstatchangeanimation(void) } } -static void atk49_moveend(void) +static void Cmd_moveend(void) { s32 i; bool32 effect = FALSE; @@ -4510,9 +4499,9 @@ static void atk49_moveend(void) do { - switch (gBattleScripting.atk49_state) + switch (gBattleScripting.moveendState) { - case ATK49_RAGE: // rage check + case MOVEEND_RAGE: // rage check if (gBattleMons[gBattlerTarget].status2 & STATUS2_RAGE && gBattleMons[gBattlerTarget].hp != 0 && gBattlerAttacker != gBattlerTarget && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget) @@ -4524,9 +4513,9 @@ static void atk49_moveend(void) gBattlescriptCurrInstr = BattleScript_RageIsBuilding; effect = TRUE; } - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; break; - case ATK49_DEFROST: // defrosting check + case MOVEEND_DEFROST: // defrosting check if (gBattleMons[gBattlerTarget].status1 & STATUS1_FREEZE && gBattleMons[gBattlerTarget].hp != 0 && gBattlerAttacker != gBattlerTarget && gSpecialStatuses[gBattlerTarget].specialDmg @@ -4540,53 +4529,52 @@ static void atk49_moveend(void) gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; effect = TRUE; } - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; break; - case ATK49_SYNCHRONIZE_TARGET: // target synchronize + case MOVEEND_SYNCHRONIZE_TARGET: // target synchronize if (AbilityBattleEffects(ABILITYEFFECT_SYNCHRONIZE, gBattlerTarget, 0, 0, 0)) effect = TRUE; - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; break; - case ATK49_MOVE_END_ABILITIES: // Such as abilities activating on contact(Poison Spore, Rough Skin, etc.). - if (AbilityBattleEffects(ABILITYEFFECT_MOVE_END, gBattlerTarget, 0, 0, 0)) + case MOVEEND_ON_DAMAGE_ABILITIES: // Contact abilities and Color Change + if (AbilityBattleEffects(ABILITYEFFECT_ON_DAMAGE, gBattlerTarget, 0, 0, 0)) effect = TRUE; - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; break; - case ATK49_STATUS_IMMUNITY_ABILITIES: // status immunities + case MOVEEND_IMMUNITY_ABILITIES: // status immunities if (AbilityBattleEffects(ABILITYEFFECT_IMMUNITY, 0, 0, 0, 0)) effect = TRUE; // it loops through all battlers, so we increment after its done with all battlers else - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; break; - case ATK49_SYNCHRONIZE_ATTACKER: // attacker synchronize + case MOVEEND_SYNCHRONIZE_ATTACKER: // attacker synchronize if (AbilityBattleEffects(ABILITYEFFECT_ATK_SYNCHRONIZE, gBattlerAttacker, 0, 0, 0)) effect = TRUE; - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; break; - case ATK49_CHOICE_MOVE: // update choice band move - if (!(gHitMarker & HITMARKER_OBEYS) || holdEffectAtk != HOLD_EFFECT_CHOICE_BAND - || gChosenMove == MOVE_STRUGGLE || (*choicedMoveAtk != 0 && *choicedMoveAtk != 0xFFFF)) - goto LOOP; - if (gChosenMove == MOVE_BATON_PASS && !(gMoveResultFlags & MOVE_RESULT_FAILED)) + case MOVEEND_CHOICE_MOVE: // update choice band move + if (gHitMarker & HITMARKER_OBEYS + && holdEffectAtk == HOLD_EFFECT_CHOICE_BAND + && gChosenMove != MOVE_STRUGGLE + && (*choicedMoveAtk == 0 || *choicedMoveAtk == 0xFFFF)) { - gBattleScripting.atk49_state++; - break; - } - *choicedMoveAtk = gChosenMove; - LOOP: - { - for (i = 0; i < MAX_MON_MOVES; i++) + if (gChosenMove == MOVE_BATON_PASS && !(gMoveResultFlags & MOVE_RESULT_FAILED)) { - if (gBattleMons[gBattlerAttacker].moves[i] == *choicedMoveAtk) - break; + ++gBattleScripting.moveendState; + break; } - if (i == MAX_MON_MOVES) - *choicedMoveAtk = 0; - - gBattleScripting.atk49_state++; + *choicedMoveAtk = gChosenMove; } + for (i = 0; i < MAX_MON_MOVES; ++i) + { + if (gBattleMons[gBattlerAttacker].moves[i] == *choicedMoveAtk) + break; + } + if (i == MAX_MON_MOVES) + *choicedMoveAtk = 0; + ++gBattleScripting.moveendState; break; - case ATK49_CHANGED_ITEMS: // changed held items + case MOVEEND_CHANGED_ITEMS: // changed held items for (i = 0; i < gBattlersCount; i++) { u16* changedItem = &gBattleStruct->changedItems[i]; @@ -4596,32 +4584,32 @@ static void atk49_moveend(void) *changedItem = 0; } } - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; break; - case ATK49_ITEM_EFFECTS_ALL: // item effects for all battlers + case MOVEEND_ITEM_EFFECTS_ALL: // item effects for all battlers if (ItemBattleEffects(ITEMEFFECT_MOVE_END, 0, FALSE)) effect = TRUE; else - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; break; - case ATK49_KINGSROCK_SHELLBELL: // king's rock and shell bell + case MOVEEND_KINGSROCK_SHELLBELL: // king's rock and shell bell if (ItemBattleEffects(ITEMEFFECT_KINGSROCK_SHELLBELL, 0, FALSE)) effect = TRUE; - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; break; - case ATK49_ATTACKER_INVISIBLE: // make attacker sprite invisible + case MOVEEND_ATTACKER_INVISIBLE: // make attacker sprite invisible if (gStatuses3[gBattlerAttacker] & (STATUS3_SEMI_INVULNERABLE) && gHitMarker & HITMARKER_NO_ANIMATIONS) { gActiveBattler = gBattlerAttacker; BtlController_EmitSpriteInvisibility(0, TRUE); MarkBattlerForControllerExec(gActiveBattler); - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; return; } - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; break; - case ATK49_ATTACKER_VISIBLE: // make attacker sprite visible + case MOVEEND_ATTACKER_VISIBLE: // make attacker sprite visible if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT || !(gStatuses3[gBattlerAttacker] & (STATUS3_SEMI_INVULNERABLE)) || WasUnableToUseMove(gBattlerAttacker)) @@ -4631,12 +4619,12 @@ static void atk49_moveend(void) MarkBattlerForControllerExec(gActiveBattler); gStatuses3[gBattlerAttacker] &= ~(STATUS3_SEMI_INVULNERABLE); gSpecialStatuses[gBattlerAttacker].restoredBattlerSprite = 1; - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; return; } - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; break; - case ATK49_TARGET_VISIBLE: // make target sprite visible + case MOVEEND_TARGET_VISIBLE: // make target sprite visible if (!gSpecialStatuses[gBattlerTarget].restoredBattlerSprite && gBattlerTarget < gBattlersCount && !(gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE)) { @@ -4644,20 +4632,20 @@ static void atk49_moveend(void) BtlController_EmitSpriteInvisibility(0, FALSE); MarkBattlerForControllerExec(gActiveBattler); gStatuses3[gBattlerTarget] &= ~(STATUS3_SEMI_INVULNERABLE); - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; return; } - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; break; - case ATK49_SUBSTITUTE: // update substitute + case MOVEEND_SUBSTITUTE: // update substitute for (i = 0; i < gBattlersCount; i++) { if (gDisableStructs[i].substituteHP == 0) gBattleMons[i].status2 &= ~(STATUS2_SUBSTITUTE); } - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; break; - case ATK49_UPDATE_LAST_MOVES: + case MOVEEND_UPDATE_LAST_MOVES: if (gHitMarker & HITMARKER_SWAP_ATTACKER_TARGET) { gActiveBattler = gBattlerAttacker; @@ -4704,9 +4692,9 @@ static void atk49_moveend(void) gLastLandedMoves[gBattlerTarget] = 0xFFFF; } } - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; break; - case ATK49_MIRROR_MOVE: // mirror move + case MOVEEND_MIRROR_MOVE: // mirror move if (!(gAbsentBattlerFlags & gBitTable[gBattlerAttacker]) && !(gBattleStruct->field_91 & gBitTable[gBattlerAttacker]) && gBattleMoves[originallyUsedMove].flags & FLAG_MIRROR_MOVE_AFFECTED && gHitMarker & HITMARKER_OBEYS && gBattlerAttacker != gBattlerTarget && !(gHitMarker & HITMARKER_FAINTED(gBattlerTarget)) @@ -4725,9 +4713,9 @@ static void atk49_moveend(void) attacker = gBattlerAttacker; *(attacker * 2 + target * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = gChosenMove >> 8; } - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; break; - case ATK49_NEXT_TARGET: // For moves hitting two opposing Pokemon. + case MOVEEND_NEXT_TARGET: // For moves hitting two opposing Pokemon. if (!(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) && gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !gProtectStructs[gBattlerAttacker].chargingTurn && gBattleMoves[gCurrentMove].target == MOVE_TARGET_BOTH && !(gHitMarker & HITMARKER_NO_ATTACKSTRING)) @@ -4737,7 +4725,7 @@ static void atk49_moveend(void) { gBattlerTarget = battlerId; gHitMarker |= HITMARKER_NO_ATTACKSTRING; - gBattleScripting.atk49_state = 0; + gBattleScripting.moveendState = 0; MoveValuesCleanUp(); BattleScriptPush(gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]); gBattlescriptCurrInstr = BattleScript_FlushMessageBox; @@ -4748,24 +4736,24 @@ static void atk49_moveend(void) gHitMarker |= HITMARKER_NO_ATTACKSTRING; } } - gBattleScripting.atk49_state++; + gBattleScripting.moveendState++; break; - case ATK49_COUNT: + case MOVEEND_COUNT: break; } if (arg1 == 1 && effect == FALSE) - gBattleScripting.atk49_state = ATK49_COUNT; - if (arg1 == 2 && arg2 == gBattleScripting.atk49_state) - gBattleScripting.atk49_state = ATK49_COUNT; + gBattleScripting.moveendState = MOVEEND_COUNT; + if (arg1 == 2 && arg2 == gBattleScripting.moveendState) + gBattleScripting.moveendState = MOVEEND_COUNT; - } while (gBattleScripting.atk49_state != ATK49_COUNT && effect == FALSE); + } while (gBattleScripting.moveendState != MOVEEND_COUNT && effect == FALSE); - if (gBattleScripting.atk49_state == ATK49_COUNT && effect == FALSE) + if (gBattleScripting.moveendState == MOVEEND_COUNT && effect == FALSE) gBattlescriptCurrInstr += 3; } -static void atk4A_typecalc2(void) +static void Cmd_typecalc2(void) { u8 flags = 0; s32 i = 0; @@ -4860,7 +4848,7 @@ static void atk4A_typecalc2(void) gBattlescriptCurrInstr++; } -static void atk4B_returnatktoball(void) +static void Cmd_returnatktoball(void) { gActiveBattler = gBattlerAttacker; if (!(gHitMarker & HITMARKER_FAINTED(gActiveBattler))) @@ -4871,7 +4859,7 @@ static void atk4B_returnatktoball(void) gBattlescriptCurrInstr++; } -static void atk4C_getswitchedmondata(void) +static void Cmd_getswitchedmondata(void) { if (gBattleControllerExecFlags) return; @@ -4886,7 +4874,7 @@ static void atk4C_getswitchedmondata(void) gBattlescriptCurrInstr += 2; } -static void atk4D_switchindataupdate(void) +static void Cmd_switchindataupdate(void) { struct BattlePokemon oldData; s32 i; @@ -4939,7 +4927,7 @@ static void atk4D_switchindataupdate(void) gBattlescriptCurrInstr += 2; } -static void atk4E_switchinanim(void) +static void Cmd_switchinanim(void) { if (gBattleControllerExecFlags) return; @@ -4965,15 +4953,15 @@ static void atk4E_switchinanim(void) BattleArena_InitPoints(); } -static void atk4F_jumpifcantswitch(void) +static void Cmd_jumpifcantswitch(void) { s32 i; s32 lastMonId; struct Pokemon *party; - gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(ATK4F_DONT_CHECK_STATUSES)); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(SWITCH_IGNORE_ESCAPE_PREVENTION)); - if (!(gBattlescriptCurrInstr[1] & ATK4F_DONT_CHECK_STATUSES) + if (!(gBattlescriptCurrInstr[1] & SWITCH_IGNORE_ESCAPE_PREVENTION) && ((gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) || (gStatuses3[gActiveBattler] & STATUS3_ROOTED))) { @@ -5120,17 +5108,17 @@ static void atk4F_jumpifcantswitch(void) } } -static void sub_804CF10(u8 arg0) +static void sub_804CF10(u8 slotId) { *(gBattleStruct->field_58 + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler]; - *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = 6; + *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); - BtlController_EmitChoosePokemon(0, PARTY_MUST_CHOOSE_MON, arg0, 0, gBattleStruct->field_60[gActiveBattler]); + BtlController_EmitChoosePokemon(0, PARTY_ACTION_SEND_OUT, slotId, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); } -static void atk50_openpartyscreen(void) +static void Cmd_openpartyscreen(void) { u32 flags; u8 hitmarkerFaintBits; @@ -5158,7 +5146,7 @@ static void atk50_openpartyscreen(void) } else if (!gSpecialStatuses[gActiveBattler].flag40) { - sub_804CF10(6); + sub_804CF10(PARTY_SIZE); gSpecialStatuses[gActiveBattler].flag40 = 1; } } @@ -5365,9 +5353,9 @@ static void atk50_openpartyscreen(void) else { if (gBattlescriptCurrInstr[1] & 0x80) - hitmarkerFaintBits = PARTY_CHOOSE_MON; // Used here as the caseId for the EmitChoose function. + hitmarkerFaintBits = PARTY_ACTION_CHOOSE_MON; // Used here as the caseId for the EmitChoose function. else - hitmarkerFaintBits = PARTY_MUST_CHOOSE_MON; + hitmarkerFaintBits = PARTY_ACTION_SEND_OUT; battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(0x80)); if (gSpecialStatuses[battlerId].flag40) @@ -5388,7 +5376,7 @@ static void atk50_openpartyscreen(void) *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = 6; gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); - BtlController_EmitChoosePokemon(0, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + (gActiveBattler ^ 2)), 0, gBattleStruct->field_60[gActiveBattler]); + BtlController_EmitChoosePokemon(0, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + (gActiveBattler ^ 2)), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 6; @@ -5420,7 +5408,7 @@ static void atk50_openpartyscreen(void) } } -static void atk51_switchhandleorder(void) +static void Cmd_switchhandleorder(void) { s32 i; if (gBattleControllerExecFlags) @@ -5446,7 +5434,7 @@ static void atk51_switchhandleorder(void) break; case 1: if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - sub_803BDA0(gActiveBattler); + SwitchPartyOrder(gActiveBattler); break; case 2: if (!(gBattleStruct->field_93 & gBitTable[gActiveBattler])) @@ -5471,11 +5459,11 @@ static void atk51_switchhandleorder(void) } else if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) { - sub_80571DC(gActiveBattler, *(gBattleStruct->monToSwitchIntoId + gActiveBattler)); + SwitchPartyOrderInGameMulti(gActiveBattler, *(gBattleStruct->monToSwitchIntoId + gActiveBattler)); } else { - sub_803BDA0(gActiveBattler); + SwitchPartyOrder(gActiveBattler); } PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerAttacker].species) @@ -5487,7 +5475,7 @@ static void atk51_switchhandleorder(void) gBattlescriptCurrInstr += 3; } -static void atk52_switchineffects(void) +static void Cmd_switchineffects(void) { s32 i; @@ -5569,7 +5557,7 @@ static void atk52_switchineffects(void) } } -static void atk53_trainerslidein(void) +static void Cmd_trainerslidein(void) { gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]); BtlController_EmitTrainerSlide(0); @@ -5578,7 +5566,7 @@ static void atk53_trainerslidein(void) gBattlescriptCurrInstr += 2; } -static void atk54_playse(void) +static void Cmd_playse(void) { gActiveBattler = gBattlerAttacker; BtlController_EmitPlaySE(0, T2_READ_16(gBattlescriptCurrInstr + 1)); @@ -5587,7 +5575,7 @@ static void atk54_playse(void) gBattlescriptCurrInstr += 3; } -static void atk55_fanfare(void) +static void Cmd_fanfare(void) { gActiveBattler = gBattlerAttacker; BtlController_EmitPlayFanfareOrBGM(0, T2_READ_16(gBattlescriptCurrInstr + 1), FALSE); @@ -5596,7 +5584,7 @@ static void atk55_fanfare(void) gBattlescriptCurrInstr += 3; } -static void atk56_playfaintcry(void) +static void Cmd_playfaintcry(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); BtlController_EmitFaintingCry(0); @@ -5605,7 +5593,7 @@ static void atk56_playfaintcry(void) gBattlescriptCurrInstr += 2; } -static void atk57(void) +static void Cmd_unknown_57(void) { gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); BtlController_EmitCmd55(0, gBattleOutcome); @@ -5614,7 +5602,7 @@ static void atk57(void) gBattlescriptCurrInstr += 1; } -static void atk58_returntoball(void) +static void Cmd_returntoball(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); BtlController_EmitReturnMonToBall(0, 1); @@ -5623,20 +5611,20 @@ static void atk58_returntoball(void) gBattlescriptCurrInstr += 2; } -static void atk59_handlelearnnewmove(void) +static void Cmd_handlelearnnewmove(void) { const u8 *jumpPtr1 = T1_READ_PTR(gBattlescriptCurrInstr + 1); const u8 *jumpPtr2 = T1_READ_PTR(gBattlescriptCurrInstr + 5); - u16 ret = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterMonId], gBattlescriptCurrInstr[9]); - while (ret == 0xFFFE) - ret = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterMonId], 0); + u16 learnMove = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterMonId], gBattlescriptCurrInstr[9]); + while (learnMove == MON_ALREADY_KNOWS_MOVE) + learnMove = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterMonId], FALSE); - if (ret == 0) + if (learnMove == 0) { gBattlescriptCurrInstr = jumpPtr2; } - else if (ret == 0xFFFF) + else if (learnMove == MON_HAS_MAX_MOVES) { gBattlescriptCurrInstr += 10; } @@ -5647,7 +5635,7 @@ static void atk59_handlelearnnewmove(void) if (gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterMonId && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) { - GiveMoveToBattleMon(&gBattleMons[gActiveBattler], ret); + GiveMoveToBattleMon(&gBattleMons[gActiveBattler], learnMove); } if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { @@ -5655,7 +5643,7 @@ static void atk59_handlelearnnewmove(void) if (gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterMonId && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) { - GiveMoveToBattleMon(&gBattleMons[gActiveBattler], ret); + GiveMoveToBattleMon(&gBattleMons[gActiveBattler], learnMove); } } @@ -5663,7 +5651,7 @@ static void atk59_handlelearnnewmove(void) } } -static void atk5A_yesnoboxlearnmove(void) +static void Cmd_yesnoboxlearnmove(void) { gActiveBattler = 0; @@ -5728,8 +5716,8 @@ static void atk5A_yesnoboxlearnmove(void) case 4: if (!gPaletteFade.active && gMain.callback2 == BattleMainCB2) { - u8 movePosition = sub_81C1B94(); - if (movePosition == 4) + u8 movePosition = GetMoveSlotToReplace(); + if (movePosition == MAX_MON_MOVES) { gBattleScripting.learnMoveState = 5; } @@ -5782,7 +5770,7 @@ static void atk5A_yesnoboxlearnmove(void) } } -static void atk5B_yesnoboxstoplearningmove(void) +static void Cmd_yesnoboxstoplearningmove(void) { switch (gBattleScripting.learnMoveState) { @@ -5829,7 +5817,7 @@ static void atk5B_yesnoboxstoplearningmove(void) } } -static void atk5C_hitanimation(void) +static void Cmd_hitanimation(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); @@ -5906,7 +5894,7 @@ static u32 GetTrainerMoneyToGive(u16 trainerId) return moneyReward; } -static void atk5D_getmoneyreward(void) +static void Cmd_getmoneyreward(void) { u32 moneyReward = GetTrainerMoneyToGive(gTrainerBattleOpponent_A); if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) @@ -5918,7 +5906,7 @@ static void atk5D_getmoneyreward(void) gBattlescriptCurrInstr++; } -static void atk5E(void) +static void Cmd_unknown_5E(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); @@ -5945,7 +5933,7 @@ static void atk5E(void) } } -static void atk5F_swapattackerwithtarget(void) +static void Cmd_swapattackerwithtarget(void) { gActiveBattler = gBattlerAttacker; gBattlerAttacker = gBattlerTarget; @@ -5959,7 +5947,7 @@ static void atk5F_swapattackerwithtarget(void) gBattlescriptCurrInstr++; } -static void atk60_incrementgamestat(void) +static void Cmd_incrementgamestat(void) { if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) IncrementGameStat(gBattlescriptCurrInstr[1]); @@ -5967,7 +5955,7 @@ static void atk60_incrementgamestat(void) gBattlescriptCurrInstr += 2; } -static void atk61_drawpartystatussummary(void) +static void Cmd_drawpartystatussummary(void) { s32 i; struct Pokemon *party; @@ -6004,7 +5992,7 @@ static void atk61_drawpartystatussummary(void) gBattlescriptCurrInstr += 2; } -static void atk62_hidepartystatussummary(void) +static void Cmd_hidepartystatussummary(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); BtlController_EmitHidePartyStatusSummary(0); @@ -6013,7 +6001,7 @@ static void atk62_hidepartystatussummary(void) gBattlescriptCurrInstr += 2; } -static void atk63_jumptocalledmove(void) +static void Cmd_jumptocalledmove(void) { if (gBattlescriptCurrInstr[1]) gCurrentMove = gCalledMove; @@ -6023,7 +6011,7 @@ static void atk63_jumptocalledmove(void) gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; } -static void atk64_statusanimation(void) +static void Cmd_statusanimation(void) { if (gBattleControllerExecFlags == 0) { @@ -6039,7 +6027,7 @@ static void atk64_statusanimation(void) } } -static void atk65_status2animation(void) +static void Cmd_status2animation(void) { u32 wantedToAnimate; @@ -6058,7 +6046,7 @@ static void atk65_status2animation(void) } } -static void atk66_chosenstatusanimation(void) +static void Cmd_chosenstatusanimation(void) { u32 wantedStatus; @@ -6077,7 +6065,7 @@ static void atk66_chosenstatusanimation(void) } } -static void atk67_yesnobox(void) +static void Cmd_yesnobox(void) { switch (gBattleCommunication[0]) { @@ -6120,7 +6108,7 @@ static void atk67_yesnobox(void) } } -static void atk68_cancelallactions(void) +static void Cmd_cancelallactions(void) { s32 i; @@ -6130,7 +6118,7 @@ static void atk68_cancelallactions(void) gBattlescriptCurrInstr++; } -static void atk69_adjustsetdamage(void) // The same as 0x7, except there's no random damage multiplier. +static void Cmd_adjustsetdamage(void) // The same as adjustnormaldamage, except there's no random damage multiplier. { u8 holdEffect, param; @@ -6152,32 +6140,25 @@ static void atk69_adjustsetdamage(void) // The same as 0x7, except there's no ra RecordItemEffectBattle(gBattlerTarget, holdEffect); gSpecialStatuses[gBattlerTarget].focusBanded = 1; } - if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) - goto END; - if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBattlerTarget].endured - && !gSpecialStatuses[gBattlerTarget].focusBanded) - goto END; - - if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage) - goto END; - - gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; - - if (gProtectStructs[gBattlerTarget].endured) + if (!(gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) + && (gBattleMoves[gCurrentMove].effect == EFFECT_FALSE_SWIPE || gProtectStructs[gBattlerTarget].endured || gSpecialStatuses[gBattlerTarget].focusBanded) + && gBattleMons[gBattlerTarget].hp <= gBattleMoveDamage) { - gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; + if (gProtectStructs[gBattlerTarget].endured) + { + gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; + } + else if (gSpecialStatuses[gBattlerTarget].focusBanded) + { + gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; + gLastUsedItem = gBattleMons[gBattlerTarget].item; + } } - else if (gSpecialStatuses[gBattlerTarget].focusBanded) - { - gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; - gLastUsedItem = gBattleMons[gBattlerTarget].item; - } - - END: - gBattlescriptCurrInstr++; + gBattlescriptCurrInstr++; } -static void atk6A_removeitem(void) +static void Cmd_removeitem(void) { u16* usedHeldItem; @@ -6193,35 +6174,35 @@ static void atk6A_removeitem(void) gBattlescriptCurrInstr += 2; } -static void atk6B_atknameinbuff1(void) +static void Cmd_atknameinbuff1(void) { PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBattlerAttacker, gBattlerPartyIndexes[gBattlerAttacker]) gBattlescriptCurrInstr++; } -static void atk6C_drawlvlupbox(void) +static void Cmd_drawlvlupbox(void) { - if (gBattleScripting.atk6C_state == 0) + if (gBattleScripting.drawlvlupboxState == 0) { if (IsMonGettingExpSentOut()) - gBattleScripting.atk6C_state = 3; + gBattleScripting.drawlvlupboxState = 3; else - gBattleScripting.atk6C_state = 1; + gBattleScripting.drawlvlupboxState = 1; } - switch (gBattleScripting.atk6C_state) + switch (gBattleScripting.drawlvlupboxState) { case 1: gBattle_BG2_Y = 0x60; SetBgAttribute(2, BG_ATTR_PRIORITY, 0); ShowBg(2); sub_804F17C(); - gBattleScripting.atk6C_state = 2; + gBattleScripting.drawlvlupboxState = 2; break; case 2: if (!sub_804F1CC()) - gBattleScripting.atk6C_state = 3; + gBattleScripting.drawlvlupboxState = 3; break; case 3: gBattle_BG1_X = 0; @@ -6231,20 +6212,20 @@ static void atk6C_drawlvlupbox(void) ShowBg(0); ShowBg(1); HandleBattleWindow(0x12, 7, 0x1D, 0x13, WINDOW_x80); - gBattleScripting.atk6C_state = 4; + gBattleScripting.drawlvlupboxState = 4; break; case 4: DrawLevelUpWindow1(); PutWindowTilemap(13); CopyWindowToVram(13, 3); - gBattleScripting.atk6C_state++; + gBattleScripting.drawlvlupboxState++; break; case 5: case 7: if (!IsDma3ManagerBusyWithBgCopy()) { gBattle_BG1_Y = 0; - gBattleScripting.atk6C_state++; + gBattleScripting.drawlvlupboxState++; } break; case 6: @@ -6253,7 +6234,7 @@ static void atk6C_drawlvlupbox(void) PlaySE(SE_SELECT); DrawLevelUpWindow2(); CopyWindowToVram(13, 2); - gBattleScripting.atk6C_state++; + gBattleScripting.drawlvlupboxState++; } break; case 8: @@ -6261,7 +6242,7 @@ static void atk6C_drawlvlupbox(void) { PlaySE(SE_SELECT); HandleBattleWindow(0x12, 7, 0x1D, 0x13, WINDOW_x80 | WINDOW_CLEAR); - gBattleScripting.atk6C_state++; + gBattleScripting.drawlvlupboxState++; } break; case 9: @@ -6276,7 +6257,7 @@ static void atk6C_drawlvlupbox(void) SetBgAttribute(2, BG_ATTR_PRIORITY, 2); ShowBg(2); - gBattleScripting.atk6C_state = 10; + gBattleScripting.drawlvlupboxState = 10; } break; case 10: @@ -6297,7 +6278,7 @@ static void DrawLevelUpWindow1(void) u16 currStats[NUM_STATS]; GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], currStats); - DrawLevelUpWindowPg1(0xD, gBattleResources->beforeLvlUp->stats, currStats, 0xE, 0xD, 0xF); + DrawLevelUpWindowPg1(0xD, gBattleResources->beforeLvlUp->stats, currStats, TEXT_DYNAMIC_COLOR_5, TEXT_DYNAMIC_COLOR_4, TEXT_DYNAMIC_COLOR_6); } static void DrawLevelUpWindow2(void) @@ -6305,7 +6286,7 @@ static void DrawLevelUpWindow2(void) u16 currStats[NUM_STATS]; GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], currStats); - DrawLevelUpWindowPg2(0xD, currStats, 0xE, 0xD, 0xF); + DrawLevelUpWindowPg2(0xD, currStats, TEXT_DYNAMIC_COLOR_5, TEXT_DYNAMIC_COLOR_4, TEXT_DYNAMIC_COLOR_6); } static void sub_804F17C(void) @@ -6474,19 +6455,19 @@ static bool32 IsMonGettingExpSentOut(void) return FALSE; } -static void atk6D_resetsentmonsvalue(void) +static void Cmd_resetsentmonsvalue(void) { ResetSentPokesToOpponentValue(); gBattlescriptCurrInstr++; } -static void atk6E_setatktoplayer0(void) +static void Cmd_setatktoplayer0(void) { gBattlerAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); gBattlescriptCurrInstr++; } -static void atk6F_makevisible(void) +static void Cmd_makevisible(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); BtlController_EmitSpriteInvisibility(0, FALSE); @@ -6495,7 +6476,7 @@ static void atk6F_makevisible(void) gBattlescriptCurrInstr += 2; } -static void atk70_recordlastability(void) +static void Cmd_recordlastability(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); RecordAbilityBattle(gActiveBattler, gLastUsedAbility); @@ -6507,13 +6488,13 @@ void BufferMoveToLearnIntoBattleTextBuff2(void) PREPARE_MOVE_BUFFER(gBattleTextBuff2, gMoveToLearn); } -static void atk71_buffermovetolearn(void) +static void Cmd_buffermovetolearn(void) { BufferMoveToLearnIntoBattleTextBuff2(); gBattlescriptCurrInstr++; } -static void atk72_jumpifplayerran(void) +static void Cmd_jumpifplayerran(void) { if (TryRunFromBattle(gBattlerFainted)) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -6521,7 +6502,7 @@ static void atk72_jumpifplayerran(void) gBattlescriptCurrInstr += 5; } -static void atk73_hpthresholds(void) +static void Cmd_hpthresholds(void) { u8 opposingBank; s32 result; @@ -6548,7 +6529,7 @@ static void atk73_hpthresholds(void) gBattlescriptCurrInstr += 2; } -static void atk74_hpthresholds2(void) +static void Cmd_hpthresholds2(void) { u8 opposingBank; s32 result; @@ -6574,14 +6555,14 @@ static void atk74_hpthresholds2(void) gBattlescriptCurrInstr += 2; } -static void atk75_useitemonopponent(void) +static void Cmd_useitemonopponent(void) { gBattlerInMenuId = gBattlerAttacker; PokemonUseItemEffects(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker]], gLastUsedItem, gBattlerPartyIndexes[gBattlerAttacker], 0, 1); gBattlescriptCurrInstr += 1; } -static void atk76_various(void) +static void Cmd_various(void) { u8 side; s32 i; @@ -6760,7 +6741,7 @@ static void atk76_various(void) gBattlescriptCurrInstr += 3; } -static void atk77_setprotectlike(void) // protect and endure +static void Cmd_setprotectlike(void) // protect and endure { bool8 notLastTurn = TRUE; u16 lastMove = gLastResultingMoves[gBattlerAttacker]; @@ -6795,7 +6776,7 @@ static void atk77_setprotectlike(void) // protect and endure gBattlescriptCurrInstr++; } -static void atk78_faintifabilitynotdamp(void) +static void Cmd_faintifabilitynotdamp(void) { if (gBattleControllerExecFlags) return; @@ -6830,7 +6811,7 @@ static void atk78_faintifabilitynotdamp(void) } } -static void atk79_setatkhptozero(void) +static void Cmd_setatkhptozero(void) { if (gBattleControllerExecFlags) return; @@ -6843,7 +6824,7 @@ static void atk79_setatkhptozero(void) gBattlescriptCurrInstr++; } -static void atk7A_jumpifnexttargetvalid(void) +static void Cmd_jumpifnexttargetvalid(void) { const u8 *jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -6868,7 +6849,7 @@ static void atk7A_jumpifnexttargetvalid(void) } } -static void atk7B_tryhealhalfhealth(void) +static void Cmd_tryhealhalfhealth(void) { const u8* failPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -6886,7 +6867,7 @@ static void atk7B_tryhealhalfhealth(void) gBattlescriptCurrInstr += 6; } -static void atk7C_trymirrormove(void) +static void Cmd_trymirrormove(void) { s32 validMovesCount; s32 i; @@ -6936,7 +6917,7 @@ static void atk7C_trymirrormove(void) } } -static void atk7D_setrain(void) +static void Cmd_setrain(void) { if (gBattleWeather & WEATHER_RAIN_ANY) { @@ -6952,7 +6933,7 @@ static void atk7D_setrain(void) gBattlescriptCurrInstr++; } -static void atk7E_setreflect(void) +static void Cmd_setreflect(void) { if (gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] & SIDE_STATUS_REFLECT) { @@ -6973,7 +6954,7 @@ static void atk7E_setreflect(void) gBattlescriptCurrInstr++; } -static void atk7F_setseeded(void) +static void Cmd_setseeded(void) { if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT || gStatuses3[gBattlerTarget] & STATUS3_LEECHSEED) { @@ -6995,21 +6976,21 @@ static void atk7F_setseeded(void) gBattlescriptCurrInstr++; } -static void atk80_manipulatedamage(void) +static void Cmd_manipulatedamage(void) { switch (gBattlescriptCurrInstr[1]) { - case ATK80_DMG_CHANGE_SIGN: + case DMG_CHANGE_SIGN: gBattleMoveDamage *= -1; break; - case ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP: + case DMG_RECOIL_FROM_MISS: gBattleMoveDamage /= 2; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; if ((gBattleMons[gBattlerTarget].maxHP / 2) < gBattleMoveDamage) gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 2; break; - case ATK80_DMG_DOUBLED: + case DMG_DOUBLED: gBattleMoveDamage *= 2; break; } @@ -7017,7 +6998,7 @@ static void atk80_manipulatedamage(void) gBattlescriptCurrInstr += 2; } -static void atk81_trysetrest(void) +static void Cmd_trysetrest(void) { const u8 *failJump = T1_READ_PTR(gBattlescriptCurrInstr + 1); gActiveBattler = gBattlerTarget = gBattlerAttacker; @@ -7041,7 +7022,7 @@ static void atk81_trysetrest(void) } } -static void atk82_jumpifnotfirstturn(void) +static void Cmd_jumpifnotfirstturn(void) { const u8* failJump = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -7051,7 +7032,7 @@ static void atk82_jumpifnotfirstturn(void) gBattlescriptCurrInstr = failJump; } -static void atk83_nop(void) +static void Cmd_nop(void) { gBattlescriptCurrInstr++; } @@ -7083,7 +7064,7 @@ bool8 UproarWakeUpCheck(u8 battlerId) return TRUE; } -static void atk84_jumpifcantmakeasleep(void) +static void Cmd_jumpifcantmakeasleep(void) { const u8 *jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -7105,7 +7086,7 @@ static void atk84_jumpifcantmakeasleep(void) } } -static void atk85_stockpile(void) +static void Cmd_stockpile(void) { if (gDisableStructs[gBattlerAttacker].stockpileCounter == 3) { @@ -7123,7 +7104,7 @@ static void atk85_stockpile(void) gBattlescriptCurrInstr++; } -static void atk86_stockpiletobasedamage(void) +static void Cmd_stockpiletobasedamage(void) { const u8* jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (gDisableStructs[gBattlerAttacker].stockpileCounter == 0) @@ -7149,7 +7130,7 @@ static void atk86_stockpiletobasedamage(void) } } -static void atk87_stockpiletohpheal(void) +static void Cmd_stockpiletohpheal(void) { const u8* jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -7180,7 +7161,7 @@ static void atk87_stockpiletohpheal(void) } } -static void atk88_negativedamage(void) +static void Cmd_negativedamage(void) { gBattleMoveDamage = -(gHpDealt / 2); if (gBattleMoveDamage == 0) @@ -7189,8 +7170,8 @@ static void atk88_negativedamage(void) gBattlescriptCurrInstr++; } -#define STAT_CHANGE_WORKED 0 -#define STAT_CHANGE_DIDNT_WORK 1 +#define STAT_BUFF_WORKED 0 +#define STAT_BUFF_DIDNT_WORK 1 static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) { @@ -7209,9 +7190,9 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) certain++; flags &= ~(MOVE_EFFECT_CERTAIN); - if (flags & STAT_CHANGE_NOT_PROTECT_AFFECTED) + if (flags & STAT_BUFF_NOT_PROTECT_AFFECTED) notProtectAffected++; - flags &= ~(STAT_CHANGE_NOT_PROTECT_AFFECTED); + flags &= ~(STAT_BUFF_NOT_PROTECT_AFFECTED); PREPARE_STAT_BUFFER(gBattleTextBuff1, statId) @@ -7220,7 +7201,7 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) if (gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].mistTimer && !certain && gCurrentMove != MOVE_CURSE) { - if (flags == STAT_CHANGE_BS_PTR) + if (flags == STAT_BUFF_ALLOW_PTR) { if (gSpecialStatuses[gActiveBattler].statLowered) { @@ -7234,19 +7215,19 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) gSpecialStatuses[gActiveBattler].statLowered = 1; } } - return STAT_CHANGE_DIDNT_WORK; + return STAT_BUFF_DIDNT_WORK; } else if (gCurrentMove != MOVE_CURSE && notProtectAffected != TRUE && JumpIfMoveAffectedByProtect(0)) { gBattlescriptCurrInstr = BattleScript_ButItFailed; - return STAT_CHANGE_DIDNT_WORK; + return STAT_BUFF_DIDNT_WORK; } else if ((gBattleMons[gActiveBattler].ability == ABILITY_CLEAR_BODY || gBattleMons[gActiveBattler].ability == ABILITY_WHITE_SMOKE) && !certain && gCurrentMove != MOVE_CURSE) { - if (flags == STAT_CHANGE_BS_PTR) + if (flags == STAT_BUFF_ALLOW_PTR) { if (gSpecialStatuses[gActiveBattler].statLowered) { @@ -7262,12 +7243,12 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) gSpecialStatuses[gActiveBattler].statLowered = 1; } } - return STAT_CHANGE_DIDNT_WORK; + return STAT_BUFF_DIDNT_WORK; } else if (gBattleMons[gActiveBattler].ability == ABILITY_KEEN_EYE && !certain && statId == STAT_ACC) { - if (flags == STAT_CHANGE_BS_PTR) + if (flags == STAT_BUFF_ALLOW_PTR) { BattleScriptPush(BS_ptr); gBattleScripting.battler = gActiveBattler; @@ -7275,12 +7256,12 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) gLastUsedAbility = gBattleMons[gActiveBattler].ability; RecordAbilityBattle(gActiveBattler, gLastUsedAbility); } - return STAT_CHANGE_DIDNT_WORK; + return STAT_BUFF_DIDNT_WORK; } else if (gBattleMons[gActiveBattler].ability == ABILITY_HYPER_CUTTER && !certain && statId == STAT_ATK) { - if (flags == STAT_CHANGE_BS_PTR) + if (flags == STAT_BUFF_ALLOW_PTR) { BattleScriptPush(BS_ptr); gBattleScripting.battler = gActiveBattler; @@ -7288,11 +7269,11 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) gLastUsedAbility = gBattleMons[gActiveBattler].ability; RecordAbilityBattle(gActiveBattler, gLastUsedAbility); } - return STAT_CHANGE_DIDNT_WORK; + return STAT_BUFF_DIDNT_WORK; } else if (gBattleMons[gActiveBattler].ability == ABILITY_SHIELD_DUST && flags == 0) { - return STAT_CHANGE_DIDNT_WORK; + return STAT_BUFF_DIDNT_WORK; } else // try to decrease { @@ -7353,23 +7334,23 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) if (gBattleMons[gActiveBattler].statStages[statId] > 0xC) gBattleMons[gActiveBattler].statStages[statId] = 0xC; - if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && flags & STAT_CHANGE_BS_PTR) + if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && flags & STAT_BUFF_ALLOW_PTR) gMoveResultFlags |= MOVE_RESULT_MISSED; - if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && !(flags & STAT_CHANGE_BS_PTR)) - return STAT_CHANGE_DIDNT_WORK; + if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && !(flags & STAT_BUFF_ALLOW_PTR)) + return STAT_BUFF_DIDNT_WORK; - return STAT_CHANGE_WORKED; + return STAT_BUFF_WORKED; } -static void atk89_statbuffchange(void) +static void Cmd_statbuffchange(void) { const u8* jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 2); - if (ChangeStatBuffs(gBattleScripting.statChanger & 0xF0, GET_STAT_BUFF_ID(gBattleScripting.statChanger), gBattlescriptCurrInstr[1], jumpPtr) == STAT_CHANGE_WORKED) + if (ChangeStatBuffs(gBattleScripting.statChanger & 0xF0, GET_STAT_BUFF_ID(gBattleScripting.statChanger), gBattlescriptCurrInstr[1], jumpPtr) == STAT_BUFF_WORKED) gBattlescriptCurrInstr += 6; } -static void atk8A_normalisebuffs(void) // haze +static void Cmd_normalisebuffs(void) // haze { s32 i, j; @@ -7382,7 +7363,7 @@ static void atk8A_normalisebuffs(void) // haze gBattlescriptCurrInstr++; } -static void atk8B_setbide(void) +static void Cmd_setbide(void) { gBattleMons[gBattlerAttacker].status2 |= STATUS2_MULTIPLETURNS; gLockedMoves[gBattlerAttacker] = gCurrentMove; @@ -7392,7 +7373,7 @@ static void atk8B_setbide(void) gBattlescriptCurrInstr++; } -static void atk8C_confuseifrepeatingattackends(void) +static void Cmd_confuseifrepeatingattackends(void) { if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_LOCK_CONFUSE)) gBattleCommunication[MOVE_EFFECT_BYTE] = (MOVE_EFFECT_THRASH | MOVE_EFFECT_AFFECTS_USER); @@ -7400,7 +7381,7 @@ static void atk8C_confuseifrepeatingattackends(void) gBattlescriptCurrInstr++; } -static void atk8D_setmultihitcounter(void) +static void Cmd_setmultihitcounter(void) { if (gBattlescriptCurrInstr[1]) { @@ -7418,7 +7399,7 @@ static void atk8D_setmultihitcounter(void) gBattlescriptCurrInstr += 2; } -static void atk8E_initmultihitstring(void) +static void Cmd_initmultihitstring(void) { PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) @@ -7446,7 +7427,7 @@ static bool8 TryDoForceSwitchOut(void) return TRUE; } -static void atk8F_forcerandomswitch(void) +static void Cmd_forcerandomswitch(void) { s32 i; s32 battler1PartyId = 0; @@ -7586,19 +7567,19 @@ static void atk8F_forcerandomswitch(void) *(gBattleStruct->monToSwitchIntoId + gBattlerTarget) = i; if (!IsMultiBattle()) - sub_803BDA0(gBattlerTarget); + SwitchPartyOrder(gBattlerTarget); if ((gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) || (gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI) || (gBattleTypeFlags & BATTLE_TYPE_x2000000 && gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) || (gBattleTypeFlags & BATTLE_TYPE_x2000000 && gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - sub_81B8E80(gBattlerTarget, i, 0); - sub_81B8E80(gBattlerTarget ^ BIT_FLANK, i, 1); + SwitchPartyOrderLinkMulti(gBattlerTarget, i, 0); + SwitchPartyOrderLinkMulti(gBattlerTarget ^ BIT_FLANK, i, 1); } if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) - sub_80571DC(gBattlerTarget, i); + SwitchPartyOrderInGameMulti(gBattlerTarget, i); } } else @@ -7607,7 +7588,7 @@ static void atk8F_forcerandomswitch(void) } } -static void atk90_tryconversiontypechange(void) // randomly changes user's type to one of its moves' type +static void Cmd_tryconversiontypechange(void) // randomly changes user's type to one of its moves' type { u8 validMoves = 0; u8 moveChecked; @@ -7669,7 +7650,7 @@ static void atk90_tryconversiontypechange(void) // randomly changes user's type } } -static void atk91_givepaydaymoney(void) +static void Cmd_givepaydaymoney(void) { if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) && gPaydayMoney != 0) { @@ -7687,7 +7668,7 @@ static void atk91_givepaydaymoney(void) } } -static void atk92_setlightscreen(void) +static void Cmd_setlightscreen(void) { if (gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] & SIDE_STATUS_LIGHTSCREEN) { @@ -7709,7 +7690,7 @@ static void atk92_setlightscreen(void) gBattlescriptCurrInstr++; } -static void atk93_tryKO(void) +static void Cmd_tryKO(void) { u8 holdEffect, param; @@ -7795,7 +7776,7 @@ static void atk93_tryKO(void) } } -static void atk94_damagetohalftargethp(void) // super fang +static void Cmd_damagetohalftargethp(void) // super fang { gBattleMoveDamage = gBattleMons[gBattlerTarget].hp / 2; if (gBattleMoveDamage == 0) @@ -7804,7 +7785,7 @@ static void atk94_damagetohalftargethp(void) // super fang gBattlescriptCurrInstr++; } -static void atk95_setsandstorm(void) +static void Cmd_setsandstorm(void) { if (gBattleWeather & WEATHER_SANDSTORM_ANY) { @@ -7820,7 +7801,7 @@ static void atk95_setsandstorm(void) gBattlescriptCurrInstr++; } -static void atk96_weatherdamage(void) +static void Cmd_weatherdamage(void) { if (WEATHER_HAS_EFFECT) { @@ -7845,7 +7826,7 @@ static void atk96_weatherdamage(void) gBattleMoveDamage = 0; } } - if (gBattleWeather & WEATHER_HAIL) + if (gBattleWeather & WEATHER_HAIL_ANY) { if (!IS_BATTLER_OF_TYPE(gBattlerAttacker, TYPE_ICE) && !(gStatuses3[gBattlerAttacker] & STATUS3_UNDERGROUND) @@ -7872,7 +7853,7 @@ static void atk96_weatherdamage(void) gBattlescriptCurrInstr++; } -static void atk97_tryinfatuating(void) +static void Cmd_tryinfatuating(void) { struct Pokemon *monAttacker, *monTarget; u16 speciesAttacker, speciesTarget; @@ -7917,7 +7898,7 @@ static void atk97_tryinfatuating(void) } } -static void atk98_updatestatusicon(void) +static void Cmd_updatestatusicon(void) { if (gBattleControllerExecFlags) return; @@ -7950,7 +7931,7 @@ static void atk98_updatestatusicon(void) } } -static void atk99_setmist(void) +static void Cmd_setmist(void) { if (gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].mistTimer) { @@ -7967,7 +7948,7 @@ static void atk99_setmist(void) gBattlescriptCurrInstr++; } -static void atk9A_setfocusenergy(void) +static void Cmd_setfocusenergy(void) { if (gBattleMons[gBattlerAttacker].status2 & STATUS2_FOCUS_ENERGY) { @@ -7982,7 +7963,7 @@ static void atk9A_setfocusenergy(void) gBattlescriptCurrInstr++; } -static void atk9B_transformdataexecution(void) +static void Cmd_transformdataexecution(void) { gChosenMove = 0xFFFF; gBattlescriptCurrInstr++; @@ -8026,7 +8007,7 @@ static void atk9B_transformdataexecution(void) } } -static void atk9C_setsubstitute(void) +static void Cmd_setsubstitute(void) { u32 hp = gBattleMons[gBattlerAttacker].maxHP / 4; if (gBattleMons[gBattlerAttacker].maxHP / 4 == 0) @@ -8062,7 +8043,7 @@ static bool8 IsMoveUncopyableByMimic(u16 move) return (sMovesForbiddenToCopy[i] != MIMIC_FORBIDDEN_END); } -static void atk9D_mimicattackcopy(void) +static void Cmd_mimicattackcopy(void) { gChosenMove = 0xFFFF; @@ -8104,7 +8085,7 @@ static void atk9D_mimicattackcopy(void) } } -static void atk9E_metronome(void) +static void Cmd_metronome(void) { while (1) { @@ -8136,13 +8117,13 @@ static void atk9E_metronome(void) } } -static void atk9F_dmgtolevel(void) +static void Cmd_dmgtolevel(void) { gBattleMoveDamage = gBattleMons[gBattlerAttacker].level; gBattlescriptCurrInstr++; } -static void atkA0_psywavedamageeffect(void) +static void Cmd_psywavedamageeffect(void) { s32 randDamage; @@ -8153,7 +8134,7 @@ static void atkA0_psywavedamageeffect(void) gBattlescriptCurrInstr++; } -static void atkA1_counterdamagecalculator(void) +static void Cmd_counterdamagecalculator(void) { u8 sideAttacker = GetBattlerSide(gBattlerAttacker); u8 sideTarget = GetBattlerSide(gProtectStructs[gBattlerAttacker].physicalBattlerId); @@ -8178,7 +8159,7 @@ static void atkA1_counterdamagecalculator(void) } } -static void atkA2_mirrorcoatdamagecalculator(void) // a copy of atkA1 with the physical -> special field changes +static void Cmd_mirrorcoatdamagecalculator(void) // a copy of Cmd with the physical -> special field changes { u8 sideAttacker = GetBattlerSide(gBattlerAttacker); u8 sideTarget = GetBattlerSide(gProtectStructs[gBattlerAttacker].specialBattlerId); @@ -8201,7 +8182,7 @@ static void atkA2_mirrorcoatdamagecalculator(void) // a copy of atkA1 with the p } } -static void atkA3_disablelastusedattack(void) +static void Cmd_disablelastusedattack(void) { s32 i; @@ -8226,7 +8207,7 @@ static void atkA3_disablelastusedattack(void) } } -static void atkA4_trysetencore(void) +static void Cmd_trysetencore(void) { s32 i; @@ -8258,7 +8239,7 @@ static void atkA4_trysetencore(void) } } -static void atkA5_painsplitdmgcalc(void) +static void Cmd_painsplitdmgcalc(void) { if (!(gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE)) { @@ -8282,7 +8263,7 @@ static void atkA5_painsplitdmgcalc(void) } } -static void atkA6_settypetorandomresistance(void) // conversion 2 +static void Cmd_settypetorandomresistance(void) // conversion 2 { if (gLastLandedMoves[gBattlerAttacker] == 0 || gLastLandedMoves[gBattlerAttacker] == 0xFFFF) @@ -8342,7 +8323,7 @@ static void atkA6_settypetorandomresistance(void) // conversion 2 } } -static void atkA7_setalwayshitflag(void) +static void Cmd_setalwayshitflag(void) { gStatuses3[gBattlerTarget] &= ~(STATUS3_ALWAYS_HITS); gStatuses3[gBattlerTarget] |= 0x10; @@ -8350,7 +8331,7 @@ static void atkA7_setalwayshitflag(void) gBattlescriptCurrInstr++; } -static void atkA8_copymovepermanently(void) // sketch +static void Cmd_copymovepermanently(void) // sketch { gChosenMove = 0xFFFF; @@ -8445,7 +8426,7 @@ static u8 AttacksThisTurn(u8 battlerId, u16 move) // Note: returns 1 if it's a c return 2; } -static void atkA9_trychoosesleeptalkmove(void) +static void Cmd_trychoosesleeptalkmove(void) { s32 i; u8 unusableMovesBits = 0; @@ -8484,7 +8465,7 @@ static void atkA9_trychoosesleeptalkmove(void) } } -static void atkAA_setdestinybond(void) +static void Cmd_setdestinybond(void) { gBattleMons[gBattlerAttacker].status2 |= STATUS2_DESTINY_BOND; gBattlescriptCurrInstr++; @@ -8502,13 +8483,13 @@ static void TrySetDestinyBondToHappen(void) } } -static void atkAB_trysetdestinybondtohappen(void) +static void Cmd_trysetdestinybondtohappen(void) { TrySetDestinyBondToHappen(); gBattlescriptCurrInstr++; } -static void atkAC_remaininghptopower(void) +static void Cmd_remaininghptopower(void) { s32 i; s32 hpFraction = GetScaledHPFraction(gBattleMons[gBattlerAttacker].hp, gBattleMons[gBattlerAttacker].maxHP, 48); @@ -8523,7 +8504,7 @@ static void atkAC_remaininghptopower(void) gBattlescriptCurrInstr++; } -static void atkAD_tryspiteppreduce(void) +static void Cmd_tryspiteppreduce(void) { if (gLastMoves[gBattlerTarget] != 0 && gLastMoves[gBattlerTarget] != 0xFFFF) @@ -8544,7 +8525,7 @@ static void atkAD_tryspiteppreduce(void) PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastMoves[gBattlerTarget]) - ConvertIntToDecimalStringN(gBattleTextBuff2, ppToDeduct, 0, 1); + ConvertIntToDecimalStringN(gBattleTextBuff2, ppToDeduct, STR_CONV_MODE_LEFT_ALIGN, 1); PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 1, ppToDeduct) @@ -8574,7 +8555,7 @@ static void atkAD_tryspiteppreduce(void) } } -static void atkAE_healpartystatus(void) +static void Cmd_healpartystatus(void) { u32 zero = 0; u8 toHeal = 0; @@ -8670,7 +8651,7 @@ static void atkAE_healpartystatus(void) gBattlescriptCurrInstr++; } -static void atkAF_cursetarget(void) +static void Cmd_cursetarget(void) { if (gBattleMons[gBattlerTarget].status2 & STATUS2_CURSED) { @@ -8687,7 +8668,7 @@ static void atkAF_cursetarget(void) } } -static void atkB0_trysetspikes(void) +static void Cmd_trysetspikes(void) { u8 targetSide = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; @@ -8704,13 +8685,13 @@ static void atkB0_trysetspikes(void) } } -static void atkB1_setforesight(void) +static void Cmd_setforesight(void) { gBattleMons[gBattlerTarget].status2 |= STATUS2_FORESIGHT; gBattlescriptCurrInstr++; } -static void atkB2_trysetperishsong(void) +static void Cmd_trysetperishsong(void) { s32 i; s32 notAffectedCount = 0; @@ -8738,7 +8719,7 @@ static void atkB2_trysetperishsong(void) gBattlescriptCurrInstr += 5; } -static void atkB3_rolloutdamagecalculation(void) +static void Cmd_rolloutdamagecalculation(void) { if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { @@ -8773,7 +8754,7 @@ static void atkB3_rolloutdamagecalculation(void) } } -static void atkB4_jumpifconfusedandstatmaxed(void) +static void Cmd_jumpifconfusedandstatmaxed(void) { if (gBattleMons[gBattlerTarget].status2 & STATUS2_CONFUSION && gBattleMons[gBattlerTarget].statStages[gBattlescriptCurrInstr[1]] == 0xC) @@ -8782,7 +8763,7 @@ static void atkB4_jumpifconfusedandstatmaxed(void) gBattlescriptCurrInstr += 6; } -static void atkB5_furycuttercalc(void) +static void Cmd_furycuttercalc(void) { if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { @@ -8805,7 +8786,7 @@ static void atkB5_furycuttercalc(void) } } -static void atkB6_happinesstodamagecalculation(void) +static void Cmd_happinesstodamagecalculation(void) { if (gBattleMoves[gCurrentMove].effect == EFFECT_RETURN) gDynamicBasePower = 10 * (gBattleMons[gBattlerAttacker].friendship) / 25; @@ -8815,7 +8796,7 @@ static void atkB6_happinesstodamagecalculation(void) gBattlescriptCurrInstr++; } -static void atkB7_presentdamagecalculation(void) +static void Cmd_presentdamagecalculation(void) { s32 rand = Random() & 0xFF; @@ -8843,7 +8824,7 @@ static void atkB7_presentdamagecalculation(void) } } -static void atkB8_setsafeguard(void) +static void Cmd_setsafeguard(void) { if (gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] & SIDE_STATUS_SAFEGUARD) { @@ -8861,7 +8842,7 @@ static void atkB8_setsafeguard(void) gBattlescriptCurrInstr++; } -static void atkB9_magnitudedamagecalculation(void) +static void Cmd_magnitudedamagecalculation(void) { s32 magnitude = Random() % 100; @@ -8915,7 +8896,7 @@ static void atkB9_magnitudedamagecalculation(void) gBattlescriptCurrInstr++; } -static void atkBA_jumpifnopursuitswitchdmg(void) +static void Cmd_jumpifnopursuitswitchdmg(void) { if (gMultiHitCounter == 1) { @@ -8959,7 +8940,7 @@ static void atkBA_jumpifnopursuitswitchdmg(void) } } -static void atkBB_setsunny(void) +static void Cmd_setsunny(void) { if (gBattleWeather & WEATHER_SUN_ANY) { @@ -8976,7 +8957,7 @@ static void atkBB_setsunny(void) gBattlescriptCurrInstr++; } -static void atkBC_maxattackhalvehp(void) // belly drum +static void Cmd_maxattackhalvehp(void) // belly drum { u32 halfHp = gBattleMons[gBattlerAttacker].maxHP / 2; @@ -8999,7 +8980,7 @@ static void atkBC_maxattackhalvehp(void) // belly drum } } -static void atkBD_copyfoestats(void) // psych up +static void Cmd_copyfoestats(void) // psych up { s32 i; @@ -9011,7 +8992,7 @@ static void atkBD_copyfoestats(void) // psych up gBattlescriptCurrInstr += 5; // Has an unused jump ptr(possibly for a failed attempt) parameter. } -static void atkBE_rapidspinfree(void) +static void Cmd_rapidspinfree(void) { if (gBattleMons[gBattlerAttacker].status2 & STATUS2_WRAPPED) { @@ -9048,13 +9029,13 @@ static void atkBE_rapidspinfree(void) } } -static void atkBF_setdefensecurlbit(void) +static void Cmd_setdefensecurlbit(void) { gBattleMons[gBattlerAttacker].status2 |= STATUS2_DEFENSE_CURL; gBattlescriptCurrInstr++; } -static void atkC0_recoverbasedonsunlight(void) +static void Cmd_recoverbasedonsunlight(void) { gBattlerTarget = gBattlerAttacker; @@ -9079,7 +9060,7 @@ static void atkC0_recoverbasedonsunlight(void) } } -static void atkC1_hiddenpowercalc(void) +static void Cmd_hiddenpowercalc(void) { u8 powerBits; u8 typeBits; @@ -9108,7 +9089,7 @@ static void atkC1_hiddenpowercalc(void) gBattlescriptCurrInstr++; } -static void atkC2_selectfirstvalidtarget(void) +static void Cmd_selectfirstvalidtarget(void) { for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++) { @@ -9120,7 +9101,7 @@ static void atkC2_selectfirstvalidtarget(void) gBattlescriptCurrInstr++; } -static void atkC3_trysetfutureattack(void) +static void Cmd_trysetfutureattack(void) { if (gWishFutureKnock.futureSightCounter[gBattlerTarget] != 0) { @@ -9148,7 +9129,7 @@ static void atkC3_trysetfutureattack(void) } } -static void atkC4_trydobeatup(void) +static void Cmd_trydobeatup(void) { struct Pokemon *party; @@ -9195,7 +9176,7 @@ static void atkC4_trydobeatup(void) } } -static void atkC5_setsemiinvulnerablebit(void) +static void Cmd_setsemiinvulnerablebit(void) { switch (gCurrentMove) { @@ -9214,7 +9195,7 @@ static void atkC5_setsemiinvulnerablebit(void) gBattlescriptCurrInstr++; } -static void atkC6_clearsemiinvulnerablebit(void) +static void Cmd_clearsemiinvulnerablebit(void) { switch (gCurrentMove) { @@ -9233,7 +9214,7 @@ static void atkC6_clearsemiinvulnerablebit(void) gBattlescriptCurrInstr++; } -static void atkC7_setminimize(void) +static void Cmd_setminimize(void) { if (gHitMarker & HITMARKER_OBEYS) gStatuses3[gBattlerAttacker] |= STATUS3_MINIMIZED; @@ -9241,7 +9222,7 @@ static void atkC7_setminimize(void) gBattlescriptCurrInstr++; } -static void atkC8_sethail(void) +static void Cmd_sethail(void) { if (gBattleWeather & WEATHER_HAIL_ANY) { @@ -9258,7 +9239,7 @@ static void atkC8_sethail(void) gBattlescriptCurrInstr++; } -static void atkC9_jumpifattackandspecialattackcannotfall(void) // memento +static void Cmd_jumpifattackandspecialattackcannotfall(void) // memento { if (gBattleMons[gBattlerTarget].statStages[STAT_ATK] == 0 && gBattleMons[gBattlerTarget].statStages[STAT_SPATK] == 0 @@ -9276,14 +9257,14 @@ static void atkC9_jumpifattackandspecialattackcannotfall(void) // memento } } -static void atkCA_setforcedtarget(void) // follow me +static void Cmd_setforcedtarget(void) // follow me { gSideTimers[GetBattlerSide(gBattlerAttacker)].followmeTimer = 1; gSideTimers[GetBattlerSide(gBattlerAttacker)].followmeTarget = gBattlerAttacker; gBattlescriptCurrInstr++; } -static void atkCB_setcharge(void) +static void Cmd_setcharge(void) { gStatuses3[gBattlerAttacker] |= STATUS3_CHARGED_UP; gDisableStructs[gBattlerAttacker].chargeTimer = 2; @@ -9291,7 +9272,7 @@ static void atkCB_setcharge(void) gBattlescriptCurrInstr++; } -static void atkCC_callterrainattack(void) // nature power +static void Cmd_callterrainattack(void) // nature power { gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); gCurrentMove = sNaturePowerMoves[gBattleTerrain]; @@ -9300,7 +9281,7 @@ static void atkCC_callterrainattack(void) // nature power gBattlescriptCurrInstr++; } -static void atkCD_cureifburnedparalysedorpoisoned(void) // refresh +static void Cmd_cureifburnedparalysedorpoisoned(void) // refresh { if (gBattleMons[gBattlerAttacker].status1 & (STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON)) { @@ -9316,7 +9297,7 @@ static void atkCD_cureifburnedparalysedorpoisoned(void) // refresh } } -static void atkCE_settorment(void) +static void Cmd_settorment(void) { if (gBattleMons[gBattlerTarget].status2 & STATUS2_TORMENT) { @@ -9329,7 +9310,7 @@ static void atkCE_settorment(void) } } -static void atkCF_jumpifnodamage(void) +static void Cmd_jumpifnodamage(void) { if (gProtectStructs[gBattlerAttacker].physicalDmg || gProtectStructs[gBattlerAttacker].specialDmg) gBattlescriptCurrInstr += 5; @@ -9337,7 +9318,7 @@ static void atkCF_jumpifnodamage(void) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } -static void atkD0_settaunt(void) +static void Cmd_settaunt(void) { if (gDisableStructs[gBattlerTarget].tauntTimer == 0) { @@ -9351,7 +9332,7 @@ static void atkD0_settaunt(void) } } -static void atkD1_trysethelpinghand(void) +static void Cmd_trysethelpinghand(void) { gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_FLANK); @@ -9369,7 +9350,7 @@ static void atkD1_trysethelpinghand(void) } } -static void atkD2_tryswapitems(void) // trick +static void Cmd_tryswapitems(void) // trick { // opponent can't swap items with player in regular battles if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL @@ -9456,7 +9437,7 @@ static void atkD2_tryswapitems(void) // trick } } -static void atkD3_trycopyability(void) // role play +static void Cmd_trycopyability(void) // role play { if (gBattleMons[gBattlerTarget].ability != 0 && gBattleMons[gBattlerTarget].ability != ABILITY_WONDER_GUARD) @@ -9471,7 +9452,7 @@ static void atkD3_trycopyability(void) // role play } } -static void atkD4_trywish(void) +static void Cmd_trywish(void) { switch (gBattlescriptCurrInstr[1]) { @@ -9504,7 +9485,7 @@ static void atkD4_trywish(void) } } -static void atkD5_trysetroots(void) // ingrain +static void Cmd_trysetroots(void) // ingrain { if (gStatuses3[gBattlerAttacker] & STATUS3_ROOTED) { @@ -9517,7 +9498,7 @@ static void atkD5_trysetroots(void) // ingrain } } -static void atkD6_doubledamagedealtifdamaged(void) +static void Cmd_doubledamagedealtifdamaged(void) { if ((gProtectStructs[gBattlerAttacker].physicalDmg && gProtectStructs[gBattlerAttacker].physicalBattlerId == gBattlerTarget) @@ -9530,7 +9511,7 @@ static void atkD6_doubledamagedealtifdamaged(void) gBattlescriptCurrInstr++; } -static void atkD7_setyawn(void) +static void Cmd_setyawn(void) { if (gStatuses3[gBattlerTarget] & STATUS3_YAWN || gBattleMons[gBattlerTarget].status1 & STATUS1_ANY) @@ -9544,7 +9525,7 @@ static void atkD7_setyawn(void) } } -static void atkD8_setdamagetohealthdifference(void) +static void Cmd_setdamagetohealthdifference(void) { if (gBattleMons[gBattlerTarget].hp <= gBattleMons[gBattlerAttacker].hp) { @@ -9557,7 +9538,7 @@ static void atkD8_setdamagetohealthdifference(void) } } -static void atkD9_scaledamagebyhealthratio(void) +static void Cmd_scaledamagebyhealthratio(void) { if (gDynamicBasePower == 0) { @@ -9569,7 +9550,7 @@ static void atkD9_scaledamagebyhealthratio(void) gBattlescriptCurrInstr++; } -static void atkDA_tryswapabilities(void) // skill swap +static void Cmd_tryswapabilities(void) // skill swap { if ((gBattleMons[gBattlerAttacker].ability == 0 && gBattleMons[gBattlerTarget].ability == 0) @@ -9589,7 +9570,7 @@ static void atkDA_tryswapabilities(void) // skill swap } } -static void atkDB_tryimprison(void) +static void Cmd_tryimprison(void) { if ((gStatuses3[gBattlerAttacker] & STATUS3_IMPRISONED_OTHERS)) { @@ -9631,7 +9612,7 @@ static void atkDB_tryimprison(void) } } -static void atkDC_trysetgrudge(void) +static void Cmd_trysetgrudge(void) { if (gStatuses3[gBattlerAttacker] & STATUS3_GRUDGE) { @@ -9644,7 +9625,7 @@ static void atkDC_trysetgrudge(void) } } -static void atkDD_weightdamagecalculation(void) +static void Cmd_weightdamagecalculation(void) { s32 i; for (i = 0; sWeightToDamageTable[i] != 0xFFFF; i += 2) @@ -9661,7 +9642,7 @@ static void atkDD_weightdamagecalculation(void) gBattlescriptCurrInstr++; } -static void atkDE_assistattackselect(void) +static void Cmd_assistattackselect(void) { s32 chooseableMovesNo = 0; struct Pokemon* party; @@ -9714,7 +9695,7 @@ static void atkDE_assistattackselect(void) } } -static void atkDF_trysetmagiccoat(void) +static void Cmd_trysetmagiccoat(void) { gBattlerTarget = gBattlerAttacker; gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1; @@ -9729,7 +9710,7 @@ static void atkDF_trysetmagiccoat(void) } } -static void atkE0_trysetsnatch(void) // snatch +static void Cmd_trysetsnatch(void) // snatch { gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1; if (gCurrentTurnActionNumber == gBattlersCount - 1) // moves last turn @@ -9743,7 +9724,7 @@ static void atkE0_trysetsnatch(void) // snatch } } -static void atkE1_trygetintimidatetarget(void) +static void Cmd_trygetintimidatetarget(void) { u8 side; @@ -9766,7 +9747,7 @@ static void atkE1_trygetintimidatetarget(void) gBattlescriptCurrInstr += 5; } -static void atkE2_switchoutabilities(void) +static void Cmd_switchoutabilities(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); @@ -9782,7 +9763,7 @@ static void atkE2_switchoutabilities(void) gBattlescriptCurrInstr += 2; } -static void atkE3_jumpifhasnohp(void) +static void Cmd_jumpifhasnohp(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); @@ -9792,7 +9773,7 @@ static void atkE3_jumpifhasnohp(void) gBattlescriptCurrInstr += 6; } -static void atkE4_getsecretpowereffect(void) +static void Cmd_getsecretpowereffect(void) { switch (gBattleTerrain) { @@ -9827,7 +9808,7 @@ static void atkE4_getsecretpowereffect(void) gBattlescriptCurrInstr++; } -static void atkE5_pickup(void) +static void Cmd_pickup(void) { s32 i; u16 species, heldItem; @@ -9904,7 +9885,7 @@ static void atkE5_pickup(void) gBattlescriptCurrInstr++; } -static void atkE6_docastformchangeanimation(void) +static void Cmd_docastformchangeanimation(void) { gActiveBattler = gBattleScripting.battler; @@ -9917,7 +9898,7 @@ static void atkE6_docastformchangeanimation(void) gBattlescriptCurrInstr++; } -static void atkE7_trycastformdatachange(void) +static void Cmd_trycastformdatachange(void) { u8 form; @@ -9930,7 +9911,7 @@ static void atkE7_trycastformdatachange(void) } } -static void atkE8_settypebasedhalvers(void) // water and mud sport +static void Cmd_settypebasedhalvers(void) // water and mud sport { bool8 worked = FALSE; @@ -9959,7 +9940,7 @@ static void atkE8_settypebasedhalvers(void) // water and mud sport gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } -static void atkE9_setweatherballtype(void) +static void Cmd_setweatherballtype(void) { if (WEATHER_HAS_EFFECT) { @@ -9980,7 +9961,7 @@ static void atkE9_setweatherballtype(void) gBattlescriptCurrInstr++; } -static void atkEA_tryrecycleitem(void) +static void Cmd_tryrecycleitem(void) { u16 *usedHeldItem; @@ -10003,7 +9984,7 @@ static void atkEA_tryrecycleitem(void) } } -static void atkEB_settypetoterrain(void) +static void Cmd_settypetoterrain(void) { if (!IS_BATTLER_OF_TYPE(gBattlerAttacker, sTerrainToType[gBattleTerrain])) { @@ -10018,7 +9999,7 @@ static void atkEB_settypetoterrain(void) } } -static void atkEC_pursuitrelated(void) +static void Cmd_pursuitrelated(void) { gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_FLANK); @@ -10040,7 +10021,7 @@ static void atkEC_pursuitrelated(void) } } -static void atkEF_snatchsetbattlers(void) +static void Cmd_snatchsetbattlers(void) { gEffectBattler = gBattlerAttacker; @@ -10053,7 +10034,7 @@ static void atkEF_snatchsetbattlers(void) gBattlescriptCurrInstr++; } -static void atkEE_removelightscreenreflect(void) // brick break +static void Cmd_removelightscreenreflect(void) // brick break { u8 opposingSide = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; @@ -10075,7 +10056,7 @@ static void atkEE_removelightscreenreflect(void) // brick break gBattlescriptCurrInstr++; } -static void atkEF_handleballthrow(void) +static void Cmd_handleballthrow(void) { u8 ballMultiplier = 0; @@ -10184,7 +10165,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 +10177,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 +10190,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; @@ -10223,21 +10204,21 @@ static void atkEF_handleballthrow(void) } } -static void atkF0_givecaughtmon(void) +static void Cmd_givecaughtmon(void) { if (GiveMonToPlayer(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]]) != MON_GIVEN_TO_PARTY) { - if (!sub_813B21C()) + if (!ShouldShowBoxWasFullMessage()) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; - StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN))); + StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON))); GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2); } else { - StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN))); + StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON))); // box the mon was sent to GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2); - StringCopy(gStringVar3, GetBoxNamePtr(get_unknown_box_id())); + StringCopy(gStringVar3, GetBoxNamePtr(GetPCBoxToSendMon())); //box the mon was going to be sent to gBattleCommunication[MULTISTRING_CHOOSER] = 2; } @@ -10252,7 +10233,7 @@ static void atkF0_givecaughtmon(void) gBattlescriptCurrInstr++; } -static void atkF1_trysetcaughtmondexflags(void) +static void Cmd_trysetcaughtmondexflags(void) { u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL); u32 personality = GetMonData(&gEnemyParty[0], MON_DATA_PERSONALITY, NULL); @@ -10268,7 +10249,7 @@ static void atkF1_trysetcaughtmondexflags(void) } } -static void atkF2_displaydexinfo(void) +static void Cmd_displaydexinfo(void) { u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL); @@ -10298,7 +10279,7 @@ static void atkF2_displaydexinfo(void) } break; case 3: - sub_80356D0(); + InitBattleBgsVideo(); LoadBattleTextboxAndBackground(); gBattle_BG3_X = 0x100; gBattleCommunication[0]++; @@ -10387,7 +10368,7 @@ void BattleDestroyYesNoCursorAt(u8 cursorPosition) CopyBgTilemapBufferToVram(0); } -static void atkF3_trygivecaughtmonnick(void) +static void Cmd_trygivecaughtmonnick(void) { switch (gBattleCommunication[MULTIUSE_STATE]) { @@ -10463,30 +10444,30 @@ static void atkF3_trygivecaughtmonnick(void) } } -static void atkF4_subattackerhpbydmg(void) +static void Cmd_subattackerhpbydmg(void) { gBattleMons[gBattlerAttacker].hp -= gBattleMoveDamage; gBattlescriptCurrInstr++; } -static void atkF5_removeattackerstatus1(void) +static void Cmd_removeattackerstatus1(void) { gBattleMons[gBattlerAttacker].status1 = 0; gBattlescriptCurrInstr++; } -static void atkF6_finishaction(void) +static void Cmd_finishaction(void) { gCurrentActionFuncId = B_ACTION_FINISHED; } -static void atkF7_finishturn(void) +static void Cmd_finishturn(void) { gCurrentActionFuncId = B_ACTION_FINISHED; gCurrentTurnActionNumber = gBattlersCount; } -static void atkF8_trainerslideout(void) +static void Cmd_trainerslideout(void) { gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]); BtlController_EmitTrainerSlideBack(0); diff --git a/src/battle_setup.c b/src/battle_setup.c index c2d7cb6c6a..33d50807fb 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -1,25 +1,18 @@ #include "global.h" -#include "constants/trainers.h" #include "battle.h" -#include "constants/battle_setup.h" #include "battle_setup.h" #include "battle_transition.h" #include "main.h" #include "task.h" #include "safari_zone.h" #include "script.h" -#include "constants/game_stat.h" #include "event_data.h" -#include "constants/species.h" -#include "constants/songs.h" #include "metatile_behavior.h" -#include "constants/maps.h" #include "field_player_avatar.h" #include "fieldmap.h" #include "random.h" #include "starter_choose.h" #include "script_pokemon_80F8.h" -#include "constants/items.h" #include "palette.h" #include "window.h" #include "event_object_movement.h" @@ -42,10 +35,18 @@ #include "fldeff_misc.h" #include "field_control_avatar.h" #include "mirage_tower.h" -#include "constants/map_types.h" -#include "constants/battle_frontier.h" #include "field_screen_effect.h" #include "data.h" +#include "constants/battle_frontier.h" +#include "constants/battle_setup.h" +#include "constants/game_stat.h" +#include "constants/items.h" +#include "constants/songs.h" +#include "constants/map_types.h" +#include "constants/maps.h" +#include "constants/species.h" +#include "constants/trainers.h" +#include "constants/trainer_hill.h" enum { @@ -72,8 +73,8 @@ static void CB2_EndWildBattle(void); static void CB2_EndScriptedWildBattle(void); static u8 GetWildBattleTransition(void); static u8 GetTrainerBattleTransition(void); -static void sub_80B1218(void); -static void sub_80B1234(void); +static void TryUpdateGymLeaderRematchFromWild(void); +static void TryUpdateGymLeaderRematchFromTrainer(void); static void CB2_GiveStarter(void); static void CB2_StartFirstBattle(void); static void CB2_EndFirstBattle(void); @@ -304,7 +305,7 @@ const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] = [REMATCH_TRENT] = REMATCH(TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5, ROUTE112), [REMATCH_SAWYER] = REMATCH(TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5, MT_CHIMNEY), [REMATCH_KIRA_AND_DAN] = REMATCH(TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5, ABANDONED_SHIP_ROOMS2_1F), - [REMATCH_WALLY_3] = REMATCH(TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6, VICTORY_ROAD_1F), + [REMATCH_WALLY_3] = REMATCH(TRAINER_WALLY_VR_2, TRAINER_WALLY_VR_3, TRAINER_WALLY_VR_4, TRAINER_WALLY_VR_5, TRAINER_WALLY_VR_5, VICTORY_ROAD_1F), [REMATCH_ROXANNE] = REMATCH(TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5, RUSTBORO_CITY), [REMATCH_BRAWLY] = REMATCH(TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5, DEWFORD_TOWN), [REMATCH_WATTSON] = REMATCH(TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5, MAUVILLE_CITY), @@ -395,8 +396,8 @@ static void DoStandardWildBattle(void) CreateBattleStartTask(GetWildBattleTransition(), 0); IncrementGameStat(GAME_STAT_TOTAL_BATTLES); IncrementGameStat(GAME_STAT_WILD_BATTLES); - sub_80EECC8(); - sub_80B1218(); + IncrementDailyWildBattles(); + TryUpdateGymLeaderRematchFromWild(); } void BattleSetup_StartRoamerBattle(void) @@ -409,8 +410,8 @@ void BattleSetup_StartRoamerBattle(void) CreateBattleStartTask(GetWildBattleTransition(), 0); IncrementGameStat(GAME_STAT_TOTAL_BATTLES); IncrementGameStat(GAME_STAT_WILD_BATTLES); - sub_80EECC8(); - sub_80B1218(); + IncrementDailyWildBattles(); + TryUpdateGymLeaderRematchFromWild(); } static void DoSafariBattle(void) @@ -433,8 +434,8 @@ static void DoBattlePikeWildBattle(void) CreateBattleStartTask(GetWildBattleTransition(), 0); IncrementGameStat(GAME_STAT_TOTAL_BATTLES); IncrementGameStat(GAME_STAT_WILD_BATTLES); - sub_80EECC8(); - sub_80B1218(); + IncrementDailyWildBattles(); + TryUpdateGymLeaderRematchFromWild(); } static void DoTrainerBattle(void) @@ -442,7 +443,7 @@ static void DoTrainerBattle(void) CreateBattleStartTask(GetTrainerBattleTransition(), 0); IncrementGameStat(GAME_STAT_TOTAL_BATTLES); IncrementGameStat(GAME_STAT_TRAINER_BATTLES); - sub_80B1234(); + TryUpdateGymLeaderRematchFromTrainer(); } static void sub_80B0828(void) @@ -454,7 +455,7 @@ static void sub_80B0828(void) IncrementGameStat(GAME_STAT_TOTAL_BATTLES); IncrementGameStat(GAME_STAT_TRAINER_BATTLES); - sub_80B1234(); + TryUpdateGymLeaderRematchFromTrainer(); } // Initiates battle where Wally catches Ralts @@ -475,8 +476,8 @@ void BattleSetup_StartScriptedWildBattle(void) CreateBattleStartTask(GetWildBattleTransition(), 0); IncrementGameStat(GAME_STAT_TOTAL_BATTLES); IncrementGameStat(GAME_STAT_WILD_BATTLES); - sub_80EECC8(); - sub_80B1218(); + IncrementDailyWildBattles(); + TryUpdateGymLeaderRematchFromWild(); } void BattleSetup_StartLatiBattle(void) @@ -487,8 +488,8 @@ void BattleSetup_StartLatiBattle(void) CreateBattleStartTask(GetWildBattleTransition(), 0); IncrementGameStat(GAME_STAT_TOTAL_BATTLES); IncrementGameStat(GAME_STAT_WILD_BATTLES); - sub_80EECC8(); - sub_80B1218(); + IncrementDailyWildBattles(); + TryUpdateGymLeaderRematchFromWild(); } void BattleSetup_StartLegendaryBattle(void) @@ -526,8 +527,8 @@ void BattleSetup_StartLegendaryBattle(void) IncrementGameStat(GAME_STAT_TOTAL_BATTLES); IncrementGameStat(GAME_STAT_WILD_BATTLES); - sub_80EECC8(); - sub_80B1218(); + IncrementDailyWildBattles(); + TryUpdateGymLeaderRematchFromWild(); } void StartGroudonKyogreBattle(void) @@ -543,8 +544,8 @@ void StartGroudonKyogreBattle(void) IncrementGameStat(GAME_STAT_TOTAL_BATTLES); IncrementGameStat(GAME_STAT_WILD_BATTLES); - sub_80EECC8(); - sub_80B1218(); + IncrementDailyWildBattles(); + TryUpdateGymLeaderRematchFromWild(); } void StartRegiBattle(void) @@ -576,8 +577,8 @@ void StartRegiBattle(void) IncrementGameStat(GAME_STAT_TOTAL_BATTLES); IncrementGameStat(GAME_STAT_WILD_BATTLES); - sub_80EECC8(); - sub_80B1218(); + IncrementDailyWildBattles(); + TryUpdateGymLeaderRematchFromWild(); } static void CB2_EndWildBattle(void) @@ -897,7 +898,7 @@ static void CB2_GiveStarter(void) *GetVarPointer(VAR_STARTER_MON) = gSpecialVar_Result; starterMon = GetStarterPokemon(gSpecialVar_Result); - ScriptGiveMon(starterMon, 5, 0, 0, 0, 0); + ScriptGiveMon(starterMon, 5, ITEM_NONE, 0, 0, 0); ResetTasks(); PlayBattleBGM(); SetMainCallback2(CB2_StartFirstBattle); @@ -919,8 +920,8 @@ static void CB2_StartFirstBattle(void) ClearPoisonStepCounter(); IncrementGameStat(GAME_STAT_TOTAL_BATTLES); IncrementGameStat(GAME_STAT_WILD_BATTLES); - sub_80EECC8(); - sub_80B1218(); + IncrementDailyWildBattles(); + TryUpdateGymLeaderRematchFromWild(); } } @@ -930,13 +931,13 @@ static void CB2_EndFirstBattle(void) SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } -static void sub_80B1218(void) +static void TryUpdateGymLeaderRematchFromWild(void) { if (GetGameStat(GAME_STAT_WILD_BATTLES) % 60 == 0) UpdateGymLeaderRematch(); } -static void sub_80B1234(void) +static void TryUpdateGymLeaderRematchFromTrainer(void) { if (GetGameStat(GAME_STAT_TRAINER_BATTLES) % 20 == 0) UpdateGymLeaderRematch(); @@ -960,12 +961,12 @@ static u8 TrainerBattleLoadArg8(const u8 *ptr) static u16 GetTrainerAFlag(void) { - return FLAG_TRAINER_FLAG_START + gTrainerBattleOpponent_A; + return TRAINER_FLAGS_START + gTrainerBattleOpponent_A; } static u16 GetTrainerBFlag(void) { - return FLAG_TRAINER_FLAG_START + gTrainerBattleOpponent_B; + return TRAINER_FLAGS_START + gTrainerBattleOpponent_B; } static bool32 IsPlayerDefeated(u32 battleOutcome) @@ -1140,7 +1141,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data) case TRAINER_BATTLE_SET_TRAINER_B: TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data); return NULL; - case TRAINER_BATTLE_12: + case TRAINER_BATTLE_HILL: if (gApproachingTrainerId == 0) { TrainerBattleLoadArgs(sOrdinaryBattleParams, data); @@ -1192,7 +1193,7 @@ void SetUpTwoTrainersBattle(void) bool32 GetTrainerFlagFromScriptPointer(const u8 *data) { u32 flag = TrainerBattleLoadArg16(data + 2); - return FlagGet(FLAG_TRAINER_FLAG_START + flag); + return FlagGet(TRAINER_FLAGS_START + flag); } void SetUpTrainerMovement(void) @@ -1231,17 +1232,17 @@ static void SetBattledTrainerFlag(void) bool8 HasTrainerBeenFought(u16 trainerId) { - return FlagGet(FLAG_TRAINER_FLAG_START + trainerId); + return FlagGet(TRAINER_FLAGS_START + trainerId); } void SetTrainerFlag(u16 trainerId) { - FlagSet(FLAG_TRAINER_FLAG_START + trainerId); + FlagSet(TRAINER_FLAGS_START + trainerId); } void ClearTrainerFlag(u16 trainerId) { - FlagClear(FLAG_TRAINER_FLAG_START + trainerId); + FlagClear(TRAINER_FLAGS_START + trainerId); } void BattleSetup_StartTrainerBattle(void) @@ -1273,7 +1274,7 @@ void BattleSetup_StartTrainerBattle(void) MarkApproachingPyramidTrainersAsBattled(); } - else if (sub_81D5C18()) + else if (InTrainerHillChallenge()) { gBattleTypeFlags |= BATTLE_TYPE_TRAINER_HILL; @@ -1288,10 +1289,10 @@ void BattleSetup_StartTrainerBattle(void) sNoOfPossibleTrainerRetScripts = gNoOfApproachingTrainers; gNoOfApproachingTrainers = 0; sShouldCheckTrainerBScript = FALSE; - gUnknown_03006080 = 0; + gWhichTrainerToFaceAfterBattle = 0; gMain.savedCallback = CB2_EndTrainerBattle; - if (InBattlePyramid() || sub_81D5C18()) + if (InBattlePyramid() || InTrainerHillChallenge()) sub_80B0828(); else DoTrainerBattle(); @@ -1307,7 +1308,7 @@ static void CB2_EndTrainerBattle(void) } else if (IsPlayerDefeated(gBattleOutcome) == TRUE) { - if (InBattlePyramid() || sub_81D5C18()) + if (InBattlePyramid() || InTrainerHillChallenge()) SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); else SetMainCallback2(CB2_WhiteOut); @@ -1315,7 +1316,7 @@ static void CB2_EndTrainerBattle(void) else { SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); - if (!InBattlePyramid() && !sub_81D5C18()) + if (!InBattlePyramid() && !InTrainerHillChallenge()) { RegisterTrainerInMatchCall(); SetBattledTrainersFlags(); @@ -1361,12 +1362,12 @@ void ShowTrainerIntroSpeech(void) sub_80982B8(); } - else if (sub_81D5C18()) + else if (InTrainerHillChallenge()) { if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1) - CopyTrainerHillTrainerText(2, LocalIdToHillTrainerId(gSpecialVar_LastTalked)); + CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_INTRO, LocalIdToHillTrainerId(gSpecialVar_LastTalked)); else - CopyTrainerHillTrainerText(2, LocalIdToHillTrainerId(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId)); + CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_INTRO, LocalIdToHillTrainerId(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId)); sub_80982B8(); } @@ -1391,7 +1392,7 @@ const u8 *BattleSetup_GetTrainerPostBattleScript(void) sShouldCheckTrainerBScript = FALSE; if (sTrainerBBattleScriptRetAddr != NULL) { - gUnknown_03006080 = 1; + gWhichTrainerToFaceAfterBattle = 1; return sTrainerBBattleScriptRetAddr; } } @@ -1399,7 +1400,7 @@ const u8 *BattleSetup_GetTrainerPostBattleScript(void) { if (sTrainerABattleScriptRetAddr != NULL) { - gUnknown_03006080 = 0; + gWhichTrainerToFaceAfterBattle = 0; return sTrainerABattleScriptRetAddr; } } @@ -1581,7 +1582,7 @@ static bool32 UpdateRandomTrainerRematches(const struct RematchTrainer *table, u s32 i; bool32 ret = FALSE; - for (i = 0; i <= REMATCH_WALLY_3; i++) + for (i = 0; i <= REMATCH_SPECIAL_TRAINER_START; i++) { if (table[i].mapGroup == mapGroup && table[i].mapNum == mapNum && !sub_80B1D94(i)) { @@ -1640,7 +1641,7 @@ static bool8 IsFirstTrainerIdReadyForRematch(const struct RematchTrainer *table, if (tableId == -1) return FALSE; - if (tableId >= 100) + if (tableId >= MAX_REMATCH_ENTRIES) return FALSE; if (gSaveBlock1Ptr->trainerRematches[tableId] == 0) return FALSE; @@ -1654,7 +1655,7 @@ static bool8 IsTrainerReadyForRematch_(const struct RematchTrainer *table, u16 t if (tableId == -1) return FALSE; - if (tableId >= 100) + if (tableId >= MAX_REMATCH_ENTRIES) return FALSE; if (gSaveBlock1Ptr->trainerRematches[tableId] == 0) return FALSE; diff --git a/src/battle_tent.c b/src/battle_tent.c index 34e3e9628a..b2db0e39cf 100644 --- a/src/battle_tent.c +++ b/src/battle_tent.c @@ -11,140 +11,154 @@ #include "battle_factory_screen.h" #include "frontier_util.h" #include "string_util.h" +#include "constants/battle_tent.h" +#include "constants/battle_tent_trainers.h" +#include "constants/battle_tent_mons.h" #include "constants/items.h" #include "constants/layouts.h" #include "constants/region_map_sections.h" #include "constants/species.h" +#include "constants/trainers.h" // This file's functions. -static void sub_81B99D4(void); -static void sub_81B9A28(void); -static void sub_81B9A44(void); -static void sub_81B9A60(void); -static void sub_81B9A90(void); -static void sub_81B9ABC(void); -static void sub_81B9B00(void); -static void sub_81B9B28(void); -static void sub_81B9BA0(void); -static void sub_81B9BF4(void); -static void sub_81B9C10(void); -static void sub_81B9C2C(void); -static void sub_81B9C70(void); -static void sub_81B9C98(void); -static void sub_81B9CF0(void); -static void sub_81B9D28(void); -static void sub_81B9D7C(void); -static void sub_81B9D98(void); -static void sub_81B9DB4(void); -static void sub_81B9DF8(void); -static void sub_81B9E20(void); -static void sub_81B9E78(void); -static void sub_81B9E88(void); -static void sub_81BA040(void); -static void sub_81B9EC0(void); +static void InitVerdanturfTentChallenge(void); +static void GetVerdanturfTentPrize(void); +static void SetVerdanturfTentPrize(void); +static void SetVerdanturfTentTrainerGfx(void); +static void BufferVerdanturfTentTrainerIntro(void); +static void SaveVerdanturfTentChallenge(void); +static void SetRandomVerdanturfTentPrize(void); +static void GiveVerdanturfTentPrize(void); +static void InitFallarborTentChallenge(void); +static void GetFallarborTentPrize(void); +static void SetFallarborTentPrize(void); +static void SaveFallarborTentChallenge(void); +static void SetRandomFallarborTentPrize(void); +static void GiveFallarborTentPrize(void); +static void BufferFallarborTentTrainerName(void); +static void InitSlateportTentChallenge(void); +static void GetSlateportTentPrize(void); +static void SetSlateportTentPrize(void); +static void SaveSlateportTentChallenge(void); +static void SetRandomSlateportTentPrize(void); +static void GiveSlateportTentPrize(void); +static void SelectInitialRentalMons(void); +static void SwapRentalMons(void); +static void GenerateOpponentMons(void); +static void GenerateInitialRentalMons(void); + +/* + * Battle Tents are mini versions of particular Battle Frontier facilities + * As such they each share some scripts and functions with their counterpart + * + * Verdanturf Battle Tent: Battle Palace + * Fallarbor Battle Tent: Battle Arena + * Slateport Battle Tent: Battle Factory + * + */ // IWRAM bss static u16 sRandMonSetId; // const rom data -void static (*const gUnknown_086160B4[])(void) = +void static (*const sVerdanturfTentFuncs[])(void) = { - sub_81B99D4, - sub_81B9A28, - sub_81B9A44, - sub_81B9A60, - sub_81B9A90, - sub_81B9ABC, - sub_81B9B00, - sub_81B9B28 + [VERDANTURF_TENT_FUNC_INIT] = InitVerdanturfTentChallenge, + [VERDANTURF_TENT_FUNC_GET_PRIZE] = GetVerdanturfTentPrize, + [VERDANTURF_TENT_FUNC_SET_PRIZE] = SetVerdanturfTentPrize, + [VERDANTURF_TENT_FUNC_SET_OPPONENT_GFX] = SetVerdanturfTentTrainerGfx, + [VERDANTURF_TENT_FUNC_GET_OPPONENT_INTRO] = BufferVerdanturfTentTrainerIntro, + [VERDANTURF_TENT_FUNC_SAVE] = SaveVerdanturfTentChallenge, + [VERDANTURF_TENT_FUNC_SET_RANDOM_PRIZE] = SetRandomVerdanturfTentPrize, + [VERDANTURF_TENT_FUNC_GIVE_PRIZE] = GiveVerdanturfTentPrize }; static const u16 sVerdanturfTentRewards[] = {ITEM_NEST_BALL}; -void static (*const gUnknown_086160D8[])(void) = +void static (*const sFallarborTentFuncs[])(void) = { - sub_81B9BA0, - sub_81B9BF4, - sub_81B9C10, - sub_81B9C2C, - sub_81B9C70, - sub_81B9C98, - sub_81B9CF0 + [FALLARBOR_TENT_FUNC_INIT] = InitFallarborTentChallenge, + [FALLARBOR_TENT_FUNC_GET_PRIZE] = GetFallarborTentPrize, + [FALLARBOR_TENT_FUNC_SET_PRIZE] = SetFallarborTentPrize, + [FALLARBOR_TENT_FUNC_SAVE] = SaveFallarborTentChallenge, + [FALLARBOR_TENT_FUNC_SET_RANDOM_PRIZE] = SetRandomFallarborTentPrize, + [FALLARBOR_TENT_FUNC_GIVE_PRIZE] = GiveFallarborTentPrize, + [FALLARBOR_TENT_FUNC_GET_OPPONENT_NAME] = BufferFallarborTentTrainerName }; static const u16 sFallarborTentRewards[] = {ITEM_HYPER_POTION}; -void static (*const gUnknown_086160F8[])(void) = +void static (*const sSlateportTentFuncs[])(void) = { - sub_81B9D28, - sub_81B9D7C, - sub_81B9D98, - sub_81B9DB4, - sub_81B9DF8, - sub_81B9E20, - sub_81B9E78, - sub_81B9E88, - sub_81BA040, - sub_81B9EC0 + [SLATEPORT_TENT_FUNC_INIT] = InitSlateportTentChallenge, + [SLATEPORT_TENT_FUNC_GET_PRIZE] = GetSlateportTentPrize, + [SLATEPORT_TENT_FUNC_SET_PRIZE] = SetSlateportTentPrize, + [SLATEPORT_TENT_FUNC_SAVE] = SaveSlateportTentChallenge, + [SLATEPORT_TENT_FUNC_SET_RANDOM_PRIZE] = SetRandomSlateportTentPrize, + [SLATEPORT_TENT_FUNC_GIVE_PRIZE] = GiveSlateportTentPrize, + [SLATEPORT_TENT_FUNC_SELECT_RENT_MONS] = SelectInitialRentalMons, + [SLATEPORT_TENT_FUNC_SWAP_RENT_MONS] = SwapRentalMons, + [SLATEPORT_TENT_FUNC_GENERATE_OPPONENT_MONS] = GenerateOpponentMons, + [SLATEPORT_TENT_FUNC_GENERATE_RENTAL_MONS] = GenerateInitialRentalMons }; static const u16 sSlateportTentRewards[] = {ITEM_FULL_HEAL}; // code -void sub_81B99B4(void) +void CallVerdanturfTentFunction(void) { - gUnknown_086160B4[gSpecialVar_0x8004](); + sVerdanturfTentFuncs[gSpecialVar_0x8004](); } -static void sub_81B99D4(void) +static void InitVerdanturfTentChallenge(void) { - gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.challengeStatus = 0; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; - gSaveBlock2Ptr->frontier.field_CA9_a = FALSE; + gSaveBlock2Ptr->frontier.challengePaused = FALSE; SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); } -static void sub_81B9A28(void) +static void GetVerdanturfTentPrize(void) { - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6A; + gSpecialVar_Result = gSaveBlock2Ptr->frontier.verdanturfTentPrize; } -static void sub_81B9A44(void) +static void SetVerdanturfTentPrize(void) { - gSaveBlock2Ptr->frontier.field_E6A = gSpecialVar_0x8006; + gSaveBlock2Ptr->frontier.verdanturfTentPrize = gSpecialVar_0x8006; } -static void sub_81B9A60(void) +static void SetVerdanturfTentTrainerGfx(void) { gTrainerBattleOpponent_A = (u32)((Random() % 255) * 5) / 64; SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0); } -static void sub_81B9A90(void) +static void BufferVerdanturfTentTrainerIntro(void) { - if (gTrainerBattleOpponent_A < 300) + if (gTrainerBattleOpponent_A < FRONTIER_TRAINERS_COUNT) FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore); } -static void sub_81B9ABC(void) +static void SaveVerdanturfTentChallenge(void) { - gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; + gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_0, 0); - gSaveBlock2Ptr->frontier.field_CA9_a = TRUE; - sub_81A4C30(); + gSaveBlock2Ptr->frontier.challengePaused = TRUE; + SaveGameFrontier(); } -static void sub_81B9B00(void) +static void SetRandomVerdanturfTentPrize(void) { - gSaveBlock2Ptr->frontier.field_E6A = sVerdanturfTentRewards[Random() % ARRAY_COUNT(sVerdanturfTentRewards)]; + gSaveBlock2Ptr->frontier.verdanturfTentPrize = sVerdanturfTentRewards[Random() % ARRAY_COUNT(sVerdanturfTentRewards)]; } -static void sub_81B9B28(void) +static void GiveVerdanturfTentPrize(void) { - if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6A, 1) == TRUE) + if (AddBagItem(gSaveBlock2Ptr->frontier.verdanturfTentPrize, 1) == TRUE) { - CopyItemName(gSaveBlock2Ptr->frontier.field_E6A, gStringVar1); - gSaveBlock2Ptr->frontier.field_E6A = ITEM_NONE; + CopyItemName(gSaveBlock2Ptr->frontier.verdanturfTentPrize, gStringVar1); + gSaveBlock2Ptr->frontier.verdanturfTentPrize = ITEM_NONE; gSpecialVar_Result = TRUE; } else @@ -153,48 +167,48 @@ static void sub_81B9B28(void) } } -void sub_81B9B80(void) +void CallFallarborTentFunction(void) { - gUnknown_086160D8[gSpecialVar_0x8004](); + sFallarborTentFuncs[gSpecialVar_0x8004](); } -static void sub_81B9BA0(void) +static void InitFallarborTentChallenge(void) { - gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.challengeStatus = 0; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; - gSaveBlock2Ptr->frontier.field_CA9_a = FALSE; + gSaveBlock2Ptr->frontier.challengePaused = FALSE; SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); } -static void sub_81B9BF4(void) +static void GetFallarborTentPrize(void) { - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6C; + gSpecialVar_Result = gSaveBlock2Ptr->frontier.fallarborTentPrize; } -static void sub_81B9C10(void) +static void SetFallarborTentPrize(void) { - gSaveBlock2Ptr->frontier.field_E6C = gSpecialVar_0x8006; + gSaveBlock2Ptr->frontier.fallarborTentPrize = gSpecialVar_0x8006; } -static void sub_81B9C2C(void) +static void SaveFallarborTentChallenge(void) { - gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; + gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_0, 0); - gSaveBlock2Ptr->frontier.field_CA9_a = TRUE; - sub_81A4C30(); + gSaveBlock2Ptr->frontier.challengePaused = TRUE; + SaveGameFrontier(); } -static void sub_81B9C70(void) +static void SetRandomFallarborTentPrize(void) { - gSaveBlock2Ptr->frontier.field_E6C = sFallarborTentRewards[Random() % ARRAY_COUNT(sFallarborTentRewards)]; + gSaveBlock2Ptr->frontier.fallarborTentPrize = sFallarborTentRewards[Random() % ARRAY_COUNT(sFallarborTentRewards)]; } -static void sub_81B9C98(void) +static void GiveFallarborTentPrize(void) { - if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6C, 1) == TRUE) + if (AddBagItem(gSaveBlock2Ptr->frontier.fallarborTentPrize, 1) == TRUE) { - CopyItemName(gSaveBlock2Ptr->frontier.field_E6C, gStringVar1); - gSaveBlock2Ptr->frontier.field_E6C = ITEM_NONE; + CopyItemName(gSaveBlock2Ptr->frontier.fallarborTentPrize, gStringVar1); + gSaveBlock2Ptr->frontier.fallarborTentPrize = ITEM_NONE; gSpecialVar_Result = TRUE; } else @@ -203,53 +217,53 @@ static void sub_81B9C98(void) } } -static void sub_81B9CF0(void) +static void BufferFallarborTentTrainerName(void) { GetFrontierTrainerName(gStringVar1, gTrainerBattleOpponent_A); } -void sub_81B9D08(void) +void CallSlateportTentFunction(void) { - gUnknown_086160F8[gSpecialVar_0x8004](); + sSlateportTentFuncs[gSpecialVar_0x8004](); } -static void sub_81B9D28(void) +static void InitSlateportTentChallenge(void) { - gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.challengeStatus = 0; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; - gSaveBlock2Ptr->frontier.field_CA9_a = FALSE; + gSaveBlock2Ptr->frontier.challengePaused = FALSE; SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); } -static void sub_81B9D7C(void) +static void GetSlateportTentPrize(void) { - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6E; + gSpecialVar_Result = gSaveBlock2Ptr->frontier.slateportTentPrize; } -static void sub_81B9D98(void) +static void SetSlateportTentPrize(void) { - gSaveBlock2Ptr->frontier.field_E6E = gSpecialVar_0x8006; + gSaveBlock2Ptr->frontier.slateportTentPrize = gSpecialVar_0x8006; } -static void sub_81B9DB4(void) +static void SaveSlateportTentChallenge(void) { - gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; + gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_0, 0); - gSaveBlock2Ptr->frontier.field_CA9_a = TRUE; - sub_81A4C30(); + gSaveBlock2Ptr->frontier.challengePaused = TRUE; + SaveGameFrontier(); } -static void sub_81B9DF8(void) +static void SetRandomSlateportTentPrize(void) { - gSaveBlock2Ptr->frontier.field_E6E = sSlateportTentRewards[Random() % ARRAY_COUNT(sSlateportTentRewards)]; + gSaveBlock2Ptr->frontier.slateportTentPrize = sSlateportTentRewards[Random() % ARRAY_COUNT(sSlateportTentRewards)]; } -static void sub_81B9E20(void) +static void GiveSlateportTentPrize(void) { - if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6E, 1) == TRUE) + if (AddBagItem(gSaveBlock2Ptr->frontier.slateportTentPrize, 1) == TRUE) { - CopyItemName(gSaveBlock2Ptr->frontier.field_E6E, gStringVar1); - gSaveBlock2Ptr->frontier.field_E6E = ITEM_NONE; + CopyItemName(gSaveBlock2Ptr->frontier.slateportTentPrize, gStringVar1); + gSaveBlock2Ptr->frontier.slateportTentPrize = ITEM_NONE; gSpecialVar_Result = TRUE; } else @@ -258,13 +272,13 @@ static void sub_81B9E20(void) } } -static void sub_81B9E78(void) +static void SelectInitialRentalMons(void) { ZeroPlayerPartyMons(); DoBattleFactorySelectScreen(); } -static void sub_81B9E88(void) +static void SwapRentalMons(void) { DoBattleFactorySwapScreen(); } @@ -275,7 +289,7 @@ bool8 InSlateportBattleTent(void) && (gMapHeader.mapLayoutId == LAYOUT_BATTLE_TENT_CORRIDOR || gMapHeader.mapLayoutId == LAYOUT_BATTLE_TENT_BATTLE_ROOM); } -static void sub_81B9EC0(void) +static void GenerateInitialRentalMons(void) { s32 i, j; u8 firstMonId; @@ -299,7 +313,7 @@ static void sub_81B9EC0(void) while (i != PARTY_SIZE) { // Cannot have two pokemon of the same species. - monSetId = Random() % 70; + monSetId = Random() % NUM_SLATEPORT_TENT_MONS; for (j = firstMonId; j < firstMonId + i; j++) { u16 monId = monIds[j]; @@ -337,14 +351,14 @@ static void sub_81B9EC0(void) } } -static void sub_81BA040(void) +static void GenerateOpponentMons(void) { u16 trainerId; s32 i, j, k; - register const u16 *monSets asm("r9"); // Fix me. Compiler insists on moving that variable into stack. - u16 species[3]; - u16 heldItems[3]; - s32 setsCount = 0; + register const u16 *monSet asm("r9"); // Fix me. Compiler insists on moving that variable into stack. + u16 species[FRONTIER_PARTY_SIZE]; + u16 heldItems[FRONTIER_PARTY_SIZE]; + s32 monId = 0; gFacilityTrainers = gSlateportBattleTentTrainers; gFacilityTrainerMons = gSlateportBattleTentMons; @@ -353,7 +367,7 @@ static void sub_81BA040(void) { do { - trainerId = Random() % 30; + trainerId = Random() % NUM_BATTLE_TENT_TRAINERS; for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++) { if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId) @@ -362,21 +376,21 @@ static void sub_81BA040(void) } while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum); gTrainerBattleOpponent_A = trainerId; - while (gFacilityTrainers[gTrainerBattleOpponent_A].monSets[setsCount] != 0xFFFF) - setsCount++; - if (setsCount > 8) + while (gFacilityTrainers[gTrainerBattleOpponent_A].monSet[monId] != 0xFFFF) + monId++; + if (monId > 8) break; - setsCount = 0; + monId = 0; } if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 2) gSaveBlock2Ptr->frontier.trainerIds[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A; - monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets; + monSet = gFacilityTrainers[gTrainerBattleOpponent_A].monSet; i = 0; - while (i != 3) + while (i != FRONTIER_PARTY_SIZE) { - sRandMonSetId = monSets[Random() % setsCount]; + sRandMonSetId = monSet[Random() % monId]; for (j = 0; j < 6; j++) { if (gFacilityTrainerMons[sRandMonSetId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.rentalMons[j].monId].species) diff --git a/src/battle_tower.c b/src/battle_tower.c index 8ef848e39c..8f6393cbf5 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -23,45 +23,52 @@ #include "field_message_box.h" #include "tv.h" #include "battle_factory.h" +#include "constants/apprentice.h" #include "constants/battle_frontier.h" +#include "constants/battle_frontier_mons.h" +#include "constants/battle_tent_mons.h" +#include "constants/battle_tent_trainers.h" +#include "constants/battle_tower.h" +#include "constants/frontier_util.h" #include "constants/items.h" #include "constants/trainers.h" #include "constants/event_objects.h" #include "constants/moves.h" #include "constants/species.h" #include "constants/easy_chat.h" +#include "constants/tv.h" -extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224157[]; -extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224166[]; +extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_MaxieTrainer[]; +extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_TabithaTrainer[]; // EWRAM vars. EWRAM_DATA const struct BattleFrontierTrainer *gFacilityTrainers = NULL; EWRAM_DATA const struct FacilityMon *gFacilityTrainerMons = NULL; // IWRAM common -u16 gUnknown_03006298[4]; +u16 gUnknown_03006298[MAX_FRONTIER_PARTY_SIZE]; // This file's functions. -static void sub_8161F94(void); -static void sub_8162054(void); -static void sub_81620F4(void); -static void ChooseNextBattleTowerTrainer(void); -static void sub_81621C0(void); +static void InitTowerChallenge(void); +static void GetTowerData(void); +static void SetTowerData(void); +static void SetNextFacilityOpponent(void); +static void SetTowerBattleWon(void); static void AwardBattleTowerRibbons(void); -static void SaveBattleTowerProgress(void); -static void sub_8163914(void); +static void SaveTowerChallenge(void); +static void GetOpponentIntroSpeech(void); static void nullsub_61(void); -static void SpriteCB_Null6(void); -static void sub_81642A0(void); -static void sub_8164828(void); -static void sub_8164B74(void); +static void nullsub_116(void); +static void LoadMultiPartnerCandidatesData(void); +static void ShowPartnerCandidateMessage(void); +static void LoadLinkMultiOpponentsData(void); static void sub_8164DCC(void); -static void sub_8164DE4(void); -static void sub_8164E04(void); +static void SetMultiPartnerGfx(void); +static void SetTowerInterviewData(void); static void ValidateBattleTowerRecordChecksums(void); static void SaveCurrentWinStreak(void); static void ValidateApprenticesChecksums(void); -static void sub_8165E18(void); +static void SetNextBattleTentOpponent(void); static void CopyEReaderTrainerFarewellMessage(void); static void ClearBattleTowerRecord(struct EmeraldBattleTowerRecord *record); static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount); @@ -198,7 +205,7 @@ const u8 gTowerFemaleFacilityClasses[20] = FACILITY_CLASS_PARASOL_LADY, FACILITY_CLASS_SWIMMER_F, FACILITY_CLASS_PICNICKER, - FACILITY_CLASS_POKEMON_BREEDER_F, + FACILITY_CLASS_PKMN_BREEDER_F, FACILITY_CLASS_PKMN_RANGER_F, FACILITY_CLASS_LASS }; @@ -261,755 +268,499 @@ const u8 gTowerFemaleTrainerGfxIds[20] = EVENT_OBJ_GFX_LASS }; -static const u8 sRubyFacilityClassToEmerald[][2] = -{ - {0x00, FACILITY_CLASS_AQUA_LEADER_ARCHIE}, - {0x01, FACILITY_CLASS_AQUA_GRUNT_M}, - {0x02, FACILITY_CLASS_AQUA_GRUNT_F}, - {0x03, FACILITY_CLASS_AROMA_LADY}, - {0x04, FACILITY_CLASS_RUIN_MANIAC}, - {0x05, FACILITY_CLASS_INTERVIEWER}, - {0x06, FACILITY_CLASS_TUBER_F}, - {0x07, FACILITY_CLASS_TUBER_M}, - {0x08, FACILITY_CLASS_COOLTRAINER_M}, - {0x09, FACILITY_CLASS_COOLTRAINER_F}, - {0x0a, FACILITY_CLASS_HEX_MANIAC}, - {0x0b, FACILITY_CLASS_LADY}, - {0x0c, FACILITY_CLASS_BEAUTY}, - {0x0d, FACILITY_CLASS_RICH_BOY}, - {0x0e, FACILITY_CLASS_POKEMANIAC}, - {0x0f, FACILITY_CLASS_SWIMMER_M}, - {0x10, FACILITY_CLASS_BLACK_BELT}, - {0x11, FACILITY_CLASS_GUITARIST}, - {0x12, FACILITY_CLASS_KINDLER}, - {0x13, FACILITY_CLASS_CAMPER}, - {0x14, FACILITY_CLASS_BUG_MANIAC}, - {0x15, FACILITY_CLASS_PSYCHIC_M}, - {0x16, FACILITY_CLASS_PSYCHIC_F}, - {0x17, FACILITY_CLASS_GENTLEMAN}, - {0x18, FACILITY_CLASS_ELITE_FOUR_SIDNEY}, - {0x19, FACILITY_CLASS_ELITE_FOUR_PHOEBE}, - {0x1a, FACILITY_CLASS_LEADER_ROXANNE}, - {0x1b, FACILITY_CLASS_LEADER_BRAWLY}, - {0x1c, FACILITY_CLASS_LEADER_TATE_AND_LIZA}, - {0x1d, FACILITY_CLASS_SCHOOL_KID_M}, - {0x1e, FACILITY_CLASS_SCHOOL_KID_F}, - {0x1f, FACILITY_CLASS_SR_AND_JR}, - {0x20, FACILITY_CLASS_POKEFAN_M}, - {0x21, FACILITY_CLASS_POKEFAN_F}, - {0x22, FACILITY_CLASS_EXPERT_M}, - {0x23, FACILITY_CLASS_EXPERT_F}, - {0x24, FACILITY_CLASS_YOUNGSTER}, - {0x25, FACILITY_CLASS_CHAMPION_WALLACE}, - {0x26, FACILITY_CLASS_FISHERMAN}, - {0x27, FACILITY_CLASS_CYCLING_TRIATHLETE_M}, - {0x28, FACILITY_CLASS_CYCLING_TRIATHLETE_F}, - {0x29, FACILITY_CLASS_RUNNING_TRIATHLETE_M}, - {0x2a, FACILITY_CLASS_RUNNING_TRIATHLETE_F}, - {0x2b, FACILITY_CLASS_SWIMMING_TRIATHLETE_M}, - {0x2c, FACILITY_CLASS_SWIMMING_TRIATHLETE_F}, - {0x2d, FACILITY_CLASS_DRAGON_TAMER}, - {0x2e, FACILITY_CLASS_BIRD_KEEPER}, - {0x2f, FACILITY_CLASS_NINJA_BOY}, - {0x30, FACILITY_CLASS_BATTLE_GIRL}, - {0x31, FACILITY_CLASS_PARASOL_LADY}, - {0x32, FACILITY_CLASS_SWIMMER_F}, - {0x33, FACILITY_CLASS_PICNICKER}, - {0x34, FACILITY_CLASS_TWINS}, - {0x35, FACILITY_CLASS_SAILOR}, - {0x38, FACILITY_CLASS_COLLECTOR}, - {0x39, FACILITY_CLASS_WALLY}, - {0x3a, FACILITY_CLASS_BRENDAN}, - {0x3b, FACILITY_CLASS_BRENDAN_2}, - {0x3c, FACILITY_CLASS_BRENDAN_3}, - {0x3d, FACILITY_CLASS_MAY}, - {0x3e, FACILITY_CLASS_MAY_2}, - {0x3f, FACILITY_CLASS_MAY_3}, - {0x40, FACILITY_CLASS_PKMN_BREEDER_M}, - {0x41, FACILITY_CLASS_POKEMON_BREEDER_F}, - {0x42, FACILITY_CLASS_PKMN_RANGER_M}, - {0x43, FACILITY_CLASS_PKMN_RANGER_F}, - {0x44, FACILITY_CLASS_MAGMA_LEADER_MAXIE}, - {0x45, FACILITY_CLASS_MAGMA_GRUNT_M}, - {0x46, FACILITY_CLASS_MAGMA_GRUNT_F}, - {0x47, FACILITY_CLASS_LASS}, - {0x48, FACILITY_CLASS_BUG_CATCHER}, - {0x49, FACILITY_CLASS_HIKER}, - {0x4a, FACILITY_CLASS_YOUNG_COUPLE}, - {0x4b, FACILITY_CLASS_OLD_COUPLE}, - {0x4c, FACILITY_CLASS_SIS_AND_BRO}, -}; - -static const u8 *const gUnknown_085DCFD8[] = -{ - BattleFrontier_BattleTowerMultiBattleRoom_Text_244383, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2443E7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244413, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24444B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2444D6 -}; - -static const u8 *const gUnknown_085DCFEC[] = -{ - BattleFrontier_BattleTowerMultiBattleRoom_Text_2444EF, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24451E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244549, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24459B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2445C5 -}; - -static const u8 *const gUnknown_085DD000[] = -{ - BattleFrontier_BattleTowerMultiBattleRoom_Text_2445E8, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244618, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244643, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24468F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2446B4 -}; - -static const u8 *const gUnknown_085DD014[] = -{ - BattleFrontier_BattleTowerMultiBattleRoom_Text_2446E5, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24474D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24479E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24480C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2448A7 -}; - -static const u8 *const gUnknown_085DD028[] = -{ - BattleFrontier_BattleTowerMultiBattleRoom_Text_2448CD, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2448F5, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244939, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244989, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2449E6 +// Excludes the unused RS_FACILITY_CLASS_BOARDER_1 and _2 +static const u8 sRubyFacilityClassToEmerald[RS_FACILITY_CLASSES_COUNT - 2][2] = +{ + {RS_FACILITY_CLASS_AQUA_LEADER_ARCHIE, FACILITY_CLASS_AQUA_LEADER_ARCHIE}, + {RS_FACILITY_CLASS_AQUA_GRUNT_M, FACILITY_CLASS_AQUA_GRUNT_M}, + {RS_FACILITY_CLASS_AQUA_GRUNT_F, FACILITY_CLASS_AQUA_GRUNT_F}, + {RS_FACILITY_CLASS_AROMA_LADY, FACILITY_CLASS_AROMA_LADY}, + {RS_FACILITY_CLASS_RUIN_MANIAC, FACILITY_CLASS_RUIN_MANIAC}, + {RS_FACILITY_CLASS_INTERVIEWER, FACILITY_CLASS_INTERVIEWER}, + {RS_FACILITY_CLASS_TUBER_F, FACILITY_CLASS_TUBER_F}, + {RS_FACILITY_CLASS_TUBER_M, FACILITY_CLASS_TUBER_M}, + {RS_FACILITY_CLASS_COOLTRAINER_M, FACILITY_CLASS_COOLTRAINER_M}, + {RS_FACILITY_CLASS_COOLTRAINER_F, FACILITY_CLASS_COOLTRAINER_F}, + {RS_FACILITY_CLASS_HEX_MANIAC, FACILITY_CLASS_HEX_MANIAC}, + {RS_FACILITY_CLASS_LADY, FACILITY_CLASS_LADY}, + {RS_FACILITY_CLASS_BEAUTY, FACILITY_CLASS_BEAUTY}, + {RS_FACILITY_CLASS_RICH_BOY, FACILITY_CLASS_RICH_BOY}, + {RS_FACILITY_CLASS_POKEMANIAC, FACILITY_CLASS_POKEMANIAC}, + {RS_FACILITY_CLASS_SWIMMER_M, FACILITY_CLASS_SWIMMER_M}, + {RS_FACILITY_CLASS_BLACK_BELT, FACILITY_CLASS_BLACK_BELT}, + {RS_FACILITY_CLASS_GUITARIST, FACILITY_CLASS_GUITARIST}, + {RS_FACILITY_CLASS_KINDLER, FACILITY_CLASS_KINDLER}, + {RS_FACILITY_CLASS_CAMPER, FACILITY_CLASS_CAMPER}, + {RS_FACILITY_CLASS_BUG_MANIAC, FACILITY_CLASS_BUG_MANIAC}, + {RS_FACILITY_CLASS_PSYCHIC_M, FACILITY_CLASS_PSYCHIC_M}, + {RS_FACILITY_CLASS_PSYCHIC_F, FACILITY_CLASS_PSYCHIC_F}, + {RS_FACILITY_CLASS_GENTLEMAN, FACILITY_CLASS_GENTLEMAN}, + {RS_FACILITY_CLASS_ELITE_FOUR_M, FACILITY_CLASS_ELITE_FOUR_SIDNEY}, + {RS_FACILITY_CLASS_ELITE_FOUR_F, FACILITY_CLASS_ELITE_FOUR_PHOEBE}, + {RS_FACILITY_CLASS_LEADER_F, FACILITY_CLASS_LEADER_ROXANNE}, + {RS_FACILITY_CLASS_LEADER_M, FACILITY_CLASS_LEADER_BRAWLY}, + {RS_FACILITY_CLASS_LEADER_MF, FACILITY_CLASS_LEADER_TATE_AND_LIZA}, + {RS_FACILITY_CLASS_SCHOOL_KID_M, FACILITY_CLASS_SCHOOL_KID_M}, + {RS_FACILITY_CLASS_SCHOOL_KID_F, FACILITY_CLASS_SCHOOL_KID_F}, + {RS_FACILITY_CLASS_SR_AND_JR, FACILITY_CLASS_SR_AND_JR}, + {RS_FACILITY_CLASS_POKEFAN_M, FACILITY_CLASS_POKEFAN_M}, + {RS_FACILITY_CLASS_POKEFAN_F, FACILITY_CLASS_POKEFAN_F}, + {RS_FACILITY_CLASS_EXPERT_M, FACILITY_CLASS_EXPERT_M}, + {RS_FACILITY_CLASS_EXPERT_F, FACILITY_CLASS_EXPERT_F}, + {RS_FACILITY_CLASS_YOUNGSTER, FACILITY_CLASS_YOUNGSTER}, + {RS_FACILITY_CLASS_CHAMPION, FACILITY_CLASS_CHAMPION_WALLACE}, + {RS_FACILITY_CLASS_FISHERMAN, FACILITY_CLASS_FISHERMAN}, + {RS_FACILITY_CLASS_CYCLING_TRIATHLETE_M, FACILITY_CLASS_CYCLING_TRIATHLETE_M}, + {RS_FACILITY_CLASS_CYCLING_TRIATHLETE_F, FACILITY_CLASS_CYCLING_TRIATHLETE_F}, + {RS_FACILITY_CLASS_RUNNING_TRIATHLETE_M, FACILITY_CLASS_RUNNING_TRIATHLETE_M}, + {RS_FACILITY_CLASS_RUNNING_TRIATHLETE_F, FACILITY_CLASS_RUNNING_TRIATHLETE_F}, + {RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_M, FACILITY_CLASS_SWIMMING_TRIATHLETE_M}, + {RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_F, FACILITY_CLASS_SWIMMING_TRIATHLETE_F}, + {RS_FACILITY_CLASS_DRAGON_TAMER, FACILITY_CLASS_DRAGON_TAMER}, + {RS_FACILITY_CLASS_BIRD_KEEPER, FACILITY_CLASS_BIRD_KEEPER}, + {RS_FACILITY_CLASS_NINJA_BOY, FACILITY_CLASS_NINJA_BOY}, + {RS_FACILITY_CLASS_BATTLE_GIRL, FACILITY_CLASS_BATTLE_GIRL}, + {RS_FACILITY_CLASS_PARASOL_LADY, FACILITY_CLASS_PARASOL_LADY}, + {RS_FACILITY_CLASS_SWIMMER_F, FACILITY_CLASS_SWIMMER_F}, + {RS_FACILITY_CLASS_PICNICKER, FACILITY_CLASS_PICNICKER}, + {RS_FACILITY_CLASS_TWINS, FACILITY_CLASS_TWINS}, + {RS_FACILITY_CLASS_SAILOR, FACILITY_CLASS_SAILOR}, + {RS_FACILITY_CLASS_COLLECTOR, FACILITY_CLASS_COLLECTOR}, + {RS_FACILITY_CLASS_WALLY, FACILITY_CLASS_WALLY}, + {RS_FACILITY_CLASS_BRENDAN_1, FACILITY_CLASS_BRENDAN}, + {RS_FACILITY_CLASS_BRENDAN_2, FACILITY_CLASS_BRENDAN_2}, + {RS_FACILITY_CLASS_BRENDAN_3, FACILITY_CLASS_BRENDAN_3}, + {RS_FACILITY_CLASS_MAY_1, FACILITY_CLASS_MAY}, + {RS_FACILITY_CLASS_MAY_2, FACILITY_CLASS_MAY_2}, + {RS_FACILITY_CLASS_MAY_3, FACILITY_CLASS_MAY_3}, + {RS_FACILITY_CLASS_PKMN_BREEDER_M, FACILITY_CLASS_PKMN_BREEDER_M}, + {RS_FACILITY_CLASS_PKMN_BREEDER_F, FACILITY_CLASS_PKMN_BREEDER_F}, + {RS_FACILITY_CLASS_PKMN_RANGER_M, FACILITY_CLASS_PKMN_RANGER_M}, + {RS_FACILITY_CLASS_PKMN_RANGER_F, FACILITY_CLASS_PKMN_RANGER_F}, + {RS_FACILITY_CLASS_MAGMA_LEADER, FACILITY_CLASS_MAGMA_LEADER_MAXIE}, + {RS_FACILITY_CLASS_MAGMA_GRUNT_M, FACILITY_CLASS_MAGMA_GRUNT_M}, + {RS_FACILITY_CLASS_MAGMA_GRUNT_F, FACILITY_CLASS_MAGMA_GRUNT_F}, + {RS_FACILITY_CLASS_LASS, FACILITY_CLASS_LASS}, + {RS_FACILITY_CLASS_BUG_CATCHER, FACILITY_CLASS_BUG_CATCHER}, + {RS_FACILITY_CLASS_HIKER, FACILITY_CLASS_HIKER}, + {RS_FACILITY_CLASS_YOUNG_COUPLE, FACILITY_CLASS_YOUNG_COUPLE}, + {RS_FACILITY_CLASS_OLD_COUPLE, FACILITY_CLASS_OLD_COUPLE}, + {RS_FACILITY_CLASS_SIS_AND_BRO, FACILITY_CLASS_SIS_AND_BRO}, }; -static const u8 *const gUnknown_085DD03C[] = +#define PARTNER_TEXTS(name) \ + BattleFrontier_BattleTowerMultiPartnerRoom_Text_##name##Intro, \ + BattleFrontier_BattleTowerMultiPartnerRoom_Text_##name##Mon1, \ + BattleFrontier_BattleTowerMultiPartnerRoom_Text_##name##Mon2Ask, \ + BattleFrontier_BattleTowerMultiPartnerRoom_Text_##name##Accept, \ + BattleFrontier_BattleTowerMultiPartnerRoom_Text_##name##Reject + +static const u8 *const sPartnerApprenticeTexts1[] = +{ + PARTNER_TEXTS(Apprentice1) +}; + +static const u8 *const sPartnerApprenticeTexts2[] = +{ + PARTNER_TEXTS(Apprentice2) +}; + +static const u8 *const sPartnerApprenticeTexts3[] = +{ + PARTNER_TEXTS(Apprentice3) +}; + +static const u8 *const sPartnerApprenticeTexts4[] = +{ + PARTNER_TEXTS(Apprentice4) +}; + +static const u8 *const sPartnerApprenticeTexts5[] = +{ + PARTNER_TEXTS(Apprentice5) +}; + +static const u8 *const sPartnerApprenticeTexts6[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_244A23, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244AA9, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244AD6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244B52, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244B93 + PARTNER_TEXTS(Apprentice6) }; -static const u8 *const gUnknown_085DD050[] = +static const u8 *const sPartnerApprenticeTexts7[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_244BD2, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244C18, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244C6E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244CD6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244D07 + PARTNER_TEXTS(Apprentice7) }; -static const u8 *const gUnknown_085DD064[] = +static const u8 *const sPartnerApprenticeTexts8[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_244D36, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244D82, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244DC6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244DFE, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244E5B + PARTNER_TEXTS(Apprentice8) }; -static const u8 *const gUnknown_085DD078[] = +static const u8 *const sPartnerApprenticeTexts9[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_244E7E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244ECA, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244EF4, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244F4F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244F98 + PARTNER_TEXTS(Apprentice9) }; -static const u8 *const gUnknown_085DD08C[] = +static const u8 *const sPartnerApprenticeTexts10[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_244FD3, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245013, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24503D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245087, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2450C0 + PARTNER_TEXTS(Apprentice10) }; -static const u8 *const gUnknown_085DD0A0[] = +static const u8 *const sPartnerApprenticeTexts11[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_2450E6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245196, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2451BD, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24522F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24529A + PARTNER_TEXTS(Apprentice11) }; -static const u8 *const gUnknown_085DD0B4[] = +static const u8 *const sPartnerApprenticeTexts12[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_2452EF, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2453B4, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245406, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245464, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2454A3 + PARTNER_TEXTS(Apprentice12) }; -static const u8 *const gUnknown_085DD0C8[] = +static const u8 *const sPartnerApprenticeTexts13[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_2454D6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245535, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24555F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2455EC, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245656 + PARTNER_TEXTS(Apprentice13) }; -static const u8 *const gUnknown_085DD0DC[] = +static const u8 *const sPartnerApprenticeTexts14[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24568A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2456F5, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245740, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2457D9, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24581F + PARTNER_TEXTS(Apprentice14) }; -static const u8 *const gUnknown_085DD0F0[] = +static const u8 *const sPartnerApprenticeTexts15[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_245851, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24589C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2458CE, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245923, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24597F + PARTNER_TEXTS(Apprentice15) }; -static const u8 *const gUnknown_085DD104[] = +static const u8 *const sPartnerApprenticeTexts16[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_2459BE, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2459F7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245A5F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245AB4, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245B3E + PARTNER_TEXTS(Apprentice16) }; -static const u8 *const gUnknown_085DD118[] = +static const u8 *const sPartnerTextsLass[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_245B79, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245B91, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245BBD, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245C05, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245C2D + PARTNER_TEXTS(Lass) }; -static const u8 *const gUnknown_085DD12C[] = +static const u8 *const sPartnerTextsYoungster[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_245C66, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245C7F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245CAC, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245CE6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245D07 + PARTNER_TEXTS(Youngster) }; -static const u8 *const gUnknown_085DD140[] = +static const u8 *const sPartnerTextsHiker[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_245D4B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245D60, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245D8D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245DC7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245DF0 + PARTNER_TEXTS(Hiker) }; -static const u8 *const gUnknown_085DD154[] = +static const u8 *const sPartnerTextsBeauty[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_245E20, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245E41, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245E78, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245EBD, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245EEC + PARTNER_TEXTS(Beauty) }; -static const u8 *const gUnknown_085DD168[] = +static const u8 *const sPartnerTextsFisherman[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_245F2B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245F58, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245F87, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245FC6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246002 + PARTNER_TEXTS(Fisherman) }; -static const u8 *const gUnknown_085DD17C[] = +static const u8 *const sPartnerTextsLady[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246020, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246051, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246082, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2460D5, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24610D + PARTNER_TEXTS(Lady) }; -static const u8 *const gUnknown_085DD190[] = +static const u8 *const sPartnerTextsCyclingTriathleteF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24614A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24615D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24617D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2461C7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2461F5 + PARTNER_TEXTS(CyclingTriathleteF) }; -static const u8 *const gUnknown_085DD1A4[] = +static const u8 *const sPartnerTextsBugCatcher[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24622A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246244, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24626E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2462AA, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2462E4 + PARTNER_TEXTS(BugCatcher) }; -static const u8 *const gUnknown_085DD1B8[] = +static const u8 *const sPartnerTextsSchoolKidM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24631F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24633C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24636B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2463C5, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2463FF + PARTNER_TEXTS(SchoolKidM) }; -static const u8 *const gUnknown_085DD1CC[] = +static const u8 *const sPartnerTextsRichBoy[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246449, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246478, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24649D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2464EE, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246529 + PARTNER_TEXTS(RichBoy) }; -static const u8 *const gUnknown_085DD1E0[] = +static const u8 *const sPartnerTextsBlackBelt[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246571, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24658C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2465B5, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246605, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24662A + PARTNER_TEXTS(BlackBelt) }; -static const u8 *const gUnknown_085DD1F4[] = +static const u8 *const sPartnerTextsTuberF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246662, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246686, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2466B4, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2466E6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24670A + PARTNER_TEXTS(TuberF) }; -static const u8 *const gUnknown_085DD208[] = +static const u8 *const sPartnerTextsHexManiac[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246741, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246760, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246791, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2467C4, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2467E6 + PARTNER_TEXTS(HexManiac) }; -static const u8 *const gUnknown_085DD21C[] = +static const u8 *const sPartnerTextsPkmnBreederM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_2467FF, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246831, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246864, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2468A7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2468FE + PARTNER_TEXTS(PkmnBreederM) }; -static const u8 *const gUnknown_085DD230[] = +static const u8 *const sPartnerTextsRunningTriathleteF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24692B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24694B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24697C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2469B4, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2469F1 + PARTNER_TEXTS(RunningTriathleteF) }; -static const u8 *const gUnknown_085DD244[] = +static const u8 *const sPartnerTextsRunningTriathleteM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246A22, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246A4E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246A85, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246ACF, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246AF7 + PARTNER_TEXTS(RunningTriathleteM) }; -static const u8 *const gUnknown_085DD258[] = +static const u8 *const sPartnerTextsBattleGirl[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246B2B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246B3F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246B6B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246BB2, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246BE9 + PARTNER_TEXTS(BattleGirl) }; -static const u8 *const gUnknown_085DD26C[] = +static const u8 *const sPartnerTextsCyclingTriathleteM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246C22, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246C35, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246C6C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246CB3, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246CE9 + PARTNER_TEXTS(CyclingTriathleteM) }; -static const u8 *const gUnknown_085DD280[] = +static const u8 *const sPartnerTextsTuberM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246D2D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246D3F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246D6A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246D9E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246DD3 + PARTNER_TEXTS(TuberM) }; -static const u8 *const gUnknown_085DD294[] = +static const u8 *const sPartnerTextsGuitarist[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246E1A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246E39, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246E64, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246EB6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246EEE + PARTNER_TEXTS(Guitarist) }; -static const u8 *const gUnknown_085DD2A8[] = +static const u8 *const sPartnerTextsGentleman[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246F21, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246F4C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246F7B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246FCC, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247013 + PARTNER_TEXTS(Gentleman) }; -static const u8 *const gUnknown_085DD2BC[] = +static const u8 *const sPartnerTextsPokefanM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24705B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24707D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2470B2, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2470FD, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24712A + PARTNER_TEXTS(PokefanM) }; -static const u8 *const gUnknown_085DD2D0[] = +static const u8 *const sPartnerTextsExpertM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24716C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24718D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2471C7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2471FB, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247238 + PARTNER_TEXTS(ExpertM) }; -static const u8 *const gUnknown_085DD2E4[] = +static const u8 *const sPartnerTextsExpertF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247268, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247291, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2472C7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247313, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247348 + PARTNER_TEXTS(ExpertF) }; -static const u8 *const gUnknown_085DD2F8[] = +static const u8 *const sPartnerTextsDragonTamer[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24737A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24738F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2473C6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2473FB, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247438 + PARTNER_TEXTS(DragonTamer) }; -static const u8 *const gUnknown_085DD30C[] = +static const u8 *const sPartnerTextsBirdKeeper[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247470, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247484, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2474AF, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2474EC, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24751D + PARTNER_TEXTS(BirdKeeper) }; -static const u8 *const gUnknown_085DD320[] = +static const u8 *const sPartnerTextsNinjaBoy[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24754A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24755C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24758B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2475BC, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2475D5 + PARTNER_TEXTS(NinjaBoy) }; -static const u8 *const gUnknown_085DD334[] = +static const u8 *const sPartnerTextsParasolLady[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24760D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247629, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247655, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24769B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2476ED + PARTNER_TEXTS(ParasolLady) }; -static const u8 *const gUnknown_085DD348[] = +static const u8 *const sPartnerTextsBugManiac[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247724, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247749, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24777A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2477CE, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247807 + PARTNER_TEXTS(BugManiac) }; -static const u8 *const gUnknown_085DD35C[] = +static const u8 *const sPartnerTextsSailor[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247838, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247854, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247889, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2478DD, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24790D + PARTNER_TEXTS(Sailor) }; -static const u8 *const gUnknown_085DD370[] = +static const u8 *const sPartnerTextsCollector[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247942, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24795F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247991, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2479CE, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247A18 + PARTNER_TEXTS(Collector) }; -static const u8 *const gUnknown_085DD384[] = +static const u8 *const sPartnerTextsPkmnRangerM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247A51, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247A76, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247AA1, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247AE3, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247B16 + PARTNER_TEXTS(PkmnRangerM) }; -static const u8 *const gUnknown_085DD398[] = +static const u8 *const sPartnerTextsPkmnRangerF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247B3E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247B62, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247B9B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247BE7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247C23 + PARTNER_TEXTS(PkmnRangerF) }; -static const u8 *const gUnknown_085DD3AC[] = +static const u8 *const sPartnerTextsAromaLady[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247C4E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247C8C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247CB2, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247D07, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247D4E + PARTNER_TEXTS(AromaLady) }; -static const u8 *const gUnknown_085DD3C0[] = +static const u8 *const sPartnerTextsRuinManiac[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247D97, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247DC7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247DFE, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247E3E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247E7E + PARTNER_TEXTS(RuinManiac) }; -static const u8 *const gUnknown_085DD3D4[] = +static const u8 *const sPartnerTextsCoolTrainerM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247EA1, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247EB5, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247EE9, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247F3F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247F6D + PARTNER_TEXTS(CoolTrainerM) }; -static const u8 *const gUnknown_085DD3E8[] = +static const u8 *const sPartnerTextsCoolTrainerF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247FA3, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247FB7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247FE9, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248031, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24805E + PARTNER_TEXTS(CoolTrainerF) }; -static const u8 *const gUnknown_085DD3FC[] = +static const u8 *const sPartnerTextsPokemaniac[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24808D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2480AB, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2480DC, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248128, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248151 + PARTNER_TEXTS(Pokemaniac) }; -static const u8 *const gUnknown_085DD410[] = +static const u8 *const sPartnerTextsKindler[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24818E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2481A9, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2481E1, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248221, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24824F + PARTNER_TEXTS(Kindler) }; -static const u8 *const gUnknown_085DD424[] = +static const u8 *const sPartnerTextsCamper[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248297, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2482B1, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2482DC, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248321, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24833D + PARTNER_TEXTS(Camper) }; -static const u8 *const gUnknown_085DD438[] = +static const u8 *const sPartnerTextsPicnicker[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248369, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24838D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2483C1, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248401, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248431 + PARTNER_TEXTS(Picnicker) }; -static const u8 *const gUnknown_085DD44C[] = +static const u8 *const sPartnerTextsPsychicM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248467, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248477, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2484AC, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2484E7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248517 + PARTNER_TEXTS(PsychicM) }; -static const u8 *const gUnknown_085DD460[] = +static const u8 *const sPartnerTextsPsychicF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248553, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24856A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24857D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2485E5, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248614 + PARTNER_TEXTS(PsychicF) }; -static const u8 *const gUnknown_085DD474[] = +static const u8 *const sPartnerTextsSchoolKidF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24864E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248661, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248671, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2486C6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2486FF + PARTNER_TEXTS(SchoolKidF) }; -static const u8 *const gUnknown_085DD488[] = +static const u8 *const sPartnerTextsPkmnBreederF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248725, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248751, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248781, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2487C9, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2487F7 + PARTNER_TEXTS(PkmnBreederF) }; -static const u8 *const gUnknown_085DD49C[] = +static const u8 *const sPartnerTextsPokefanF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248829, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24885B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248892, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2488D8, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248908 + PARTNER_TEXTS(PokefanF) }; -static const u8 *const gUnknown_085DD4B0[] = +static const u8 *const sPartnerTextsSwimmerF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24894B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24895F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24896F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2489BD, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2489E7 + PARTNER_TEXTS(SwimmerF) }; -static const u8 *const gUnknown_085DD4C4[] = +static const u8 *const sPartnerTextsSwimmingTriathleteM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248A10, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248A40, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248A72, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248AC0, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248AEB + PARTNER_TEXTS(SwimmingTriathleteM) }; -static const u8 *const gUnknown_085DD4D8[] = +static const u8 *const sPartnerTextsSwimmingTriathleteF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248B22, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248B39, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248B4C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248BB4, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248BEE + PARTNER_TEXTS(SwimmingTriathleteF) }; -static const u8 *const gUnknown_085DD4EC[] = +static const u8 *const sPartnerTextsSwimmerM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248C2E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248C5B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248C90, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248CCF, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248D04 + PARTNER_TEXTS(SwimmerM) }; struct { u32 facilityClass; const u8 *const *strings; -} const gUnknown_085DD500[] = +} const sPartnerTrainerTextTables[] = { - {FACILITY_CLASS_LASS, gUnknown_085DD118}, - {FACILITY_CLASS_YOUNGSTER, gUnknown_085DD12C}, - {FACILITY_CLASS_HIKER, gUnknown_085DD140}, - {FACILITY_CLASS_BEAUTY, gUnknown_085DD154}, - {FACILITY_CLASS_FISHERMAN, gUnknown_085DD168}, - {FACILITY_CLASS_LADY, gUnknown_085DD17C}, - {FACILITY_CLASS_CYCLING_TRIATHLETE_F, gUnknown_085DD190}, - {FACILITY_CLASS_BUG_CATCHER, gUnknown_085DD1A4}, - {FACILITY_CLASS_SCHOOL_KID_M, gUnknown_085DD1B8}, - {FACILITY_CLASS_RICH_BOY, gUnknown_085DD1CC}, - {FACILITY_CLASS_BLACK_BELT, gUnknown_085DD1E0}, - {FACILITY_CLASS_TUBER_F, gUnknown_085DD1F4}, - {FACILITY_CLASS_HEX_MANIAC, gUnknown_085DD208}, - {FACILITY_CLASS_PKMN_BREEDER_M, gUnknown_085DD21C}, - {FACILITY_CLASS_RUNNING_TRIATHLETE_F, gUnknown_085DD230}, - {FACILITY_CLASS_RUNNING_TRIATHLETE_M, gUnknown_085DD244}, - {FACILITY_CLASS_BATTLE_GIRL, gUnknown_085DD258}, - {FACILITY_CLASS_CYCLING_TRIATHLETE_M, gUnknown_085DD26C}, - {FACILITY_CLASS_TUBER_M, gUnknown_085DD280}, - {FACILITY_CLASS_GUITARIST, gUnknown_085DD294}, - {FACILITY_CLASS_GENTLEMAN, gUnknown_085DD2A8}, - {FACILITY_CLASS_POKEFAN_M, gUnknown_085DD2BC}, - {FACILITY_CLASS_EXPERT_M, gUnknown_085DD2D0}, - {FACILITY_CLASS_EXPERT_F, gUnknown_085DD2E4}, - {FACILITY_CLASS_DRAGON_TAMER, gUnknown_085DD2F8}, - {FACILITY_CLASS_BIRD_KEEPER, gUnknown_085DD30C}, - {FACILITY_CLASS_NINJA_BOY, gUnknown_085DD320}, - {FACILITY_CLASS_PARASOL_LADY, gUnknown_085DD334}, - {FACILITY_CLASS_BUG_MANIAC, gUnknown_085DD348}, - {FACILITY_CLASS_SAILOR, gUnknown_085DD35C}, - {FACILITY_CLASS_COLLECTOR, gUnknown_085DD370}, - {FACILITY_CLASS_PKMN_RANGER_M, gUnknown_085DD384}, - {FACILITY_CLASS_PKMN_RANGER_F, gUnknown_085DD398}, - {FACILITY_CLASS_AROMA_LADY, gUnknown_085DD3AC}, - {FACILITY_CLASS_RUIN_MANIAC, gUnknown_085DD3C0}, - {FACILITY_CLASS_COOLTRAINER_M, gUnknown_085DD3D4}, - {FACILITY_CLASS_COOLTRAINER_F, gUnknown_085DD3E8}, - {FACILITY_CLASS_POKEMANIAC, gUnknown_085DD3FC}, - {FACILITY_CLASS_KINDLER, gUnknown_085DD410}, - {FACILITY_CLASS_CAMPER, gUnknown_085DD424}, - {FACILITY_CLASS_PICNICKER, gUnknown_085DD438}, - {FACILITY_CLASS_PSYCHIC_M, gUnknown_085DD44C}, - {FACILITY_CLASS_PSYCHIC_F, gUnknown_085DD460}, - {FACILITY_CLASS_SCHOOL_KID_F, gUnknown_085DD474}, - {FACILITY_CLASS_POKEMON_BREEDER_F, gUnknown_085DD488}, - {FACILITY_CLASS_POKEFAN_F, gUnknown_085DD49C}, - {FACILITY_CLASS_SWIMMER_F, gUnknown_085DD4B0}, - {FACILITY_CLASS_SWIMMING_TRIATHLETE_M, gUnknown_085DD4C4}, - {FACILITY_CLASS_SWIMMING_TRIATHLETE_F, gUnknown_085DD4D8}, - {FACILITY_CLASS_SWIMMER_M, gUnknown_085DD4EC} + {FACILITY_CLASS_LASS, sPartnerTextsLass}, + {FACILITY_CLASS_YOUNGSTER, sPartnerTextsYoungster}, + {FACILITY_CLASS_HIKER, sPartnerTextsHiker}, + {FACILITY_CLASS_BEAUTY, sPartnerTextsBeauty}, + {FACILITY_CLASS_FISHERMAN, sPartnerTextsFisherman}, + {FACILITY_CLASS_LADY, sPartnerTextsLady}, + {FACILITY_CLASS_CYCLING_TRIATHLETE_F, sPartnerTextsCyclingTriathleteF}, + {FACILITY_CLASS_BUG_CATCHER, sPartnerTextsBugCatcher}, + {FACILITY_CLASS_SCHOOL_KID_M, sPartnerTextsSchoolKidM}, + {FACILITY_CLASS_RICH_BOY, sPartnerTextsRichBoy}, + {FACILITY_CLASS_BLACK_BELT, sPartnerTextsBlackBelt}, + {FACILITY_CLASS_TUBER_F, sPartnerTextsTuberF}, + {FACILITY_CLASS_HEX_MANIAC, sPartnerTextsHexManiac}, + {FACILITY_CLASS_PKMN_BREEDER_M, sPartnerTextsPkmnBreederM}, + {FACILITY_CLASS_RUNNING_TRIATHLETE_F, sPartnerTextsRunningTriathleteF}, + {FACILITY_CLASS_RUNNING_TRIATHLETE_M, sPartnerTextsRunningTriathleteM}, + {FACILITY_CLASS_BATTLE_GIRL, sPartnerTextsBattleGirl}, + {FACILITY_CLASS_CYCLING_TRIATHLETE_M, sPartnerTextsCyclingTriathleteM}, + {FACILITY_CLASS_TUBER_M, sPartnerTextsTuberM}, + {FACILITY_CLASS_GUITARIST, sPartnerTextsGuitarist}, + {FACILITY_CLASS_GENTLEMAN, sPartnerTextsGentleman}, + {FACILITY_CLASS_POKEFAN_M, sPartnerTextsPokefanM}, + {FACILITY_CLASS_EXPERT_M, sPartnerTextsExpertM}, + {FACILITY_CLASS_EXPERT_F, sPartnerTextsExpertF}, + {FACILITY_CLASS_DRAGON_TAMER, sPartnerTextsDragonTamer}, + {FACILITY_CLASS_BIRD_KEEPER, sPartnerTextsBirdKeeper}, + {FACILITY_CLASS_NINJA_BOY, sPartnerTextsNinjaBoy}, + {FACILITY_CLASS_PARASOL_LADY, sPartnerTextsParasolLady}, + {FACILITY_CLASS_BUG_MANIAC, sPartnerTextsBugManiac}, + {FACILITY_CLASS_SAILOR, sPartnerTextsSailor}, + {FACILITY_CLASS_COLLECTOR, sPartnerTextsCollector}, + {FACILITY_CLASS_PKMN_RANGER_M, sPartnerTextsPkmnRangerM}, + {FACILITY_CLASS_PKMN_RANGER_F, sPartnerTextsPkmnRangerF}, + {FACILITY_CLASS_AROMA_LADY, sPartnerTextsAromaLady}, + {FACILITY_CLASS_RUIN_MANIAC, sPartnerTextsRuinManiac}, + {FACILITY_CLASS_COOLTRAINER_M, sPartnerTextsCoolTrainerM}, + {FACILITY_CLASS_COOLTRAINER_F, sPartnerTextsCoolTrainerF}, + {FACILITY_CLASS_POKEMANIAC, sPartnerTextsPokemaniac}, + {FACILITY_CLASS_KINDLER, sPartnerTextsKindler}, + {FACILITY_CLASS_CAMPER, sPartnerTextsCamper}, + {FACILITY_CLASS_PICNICKER, sPartnerTextsPicnicker}, + {FACILITY_CLASS_PSYCHIC_M, sPartnerTextsPsychicM}, + {FACILITY_CLASS_PSYCHIC_F, sPartnerTextsPsychicF}, + {FACILITY_CLASS_SCHOOL_KID_F, sPartnerTextsSchoolKidF}, + {FACILITY_CLASS_PKMN_BREEDER_F, sPartnerTextsPkmnBreederF}, + {FACILITY_CLASS_POKEFAN_F, sPartnerTextsPokefanF}, + {FACILITY_CLASS_SWIMMER_F, sPartnerTextsSwimmerF}, + {FACILITY_CLASS_SWIMMING_TRIATHLETE_M, sPartnerTextsSwimmingTriathleteM}, + {FACILITY_CLASS_SWIMMING_TRIATHLETE_F, sPartnerTextsSwimmingTriathleteF}, + {FACILITY_CLASS_SWIMMER_M, sPartnerTextsSwimmerM} }; -static const u8 *const *const gUnknown_085DD690[] = +static const u8 *const *const sPartnerApprenticeTextTables[NUM_APPRENTICES] = { - gUnknown_085DCFD8, - gUnknown_085DCFEC, - gUnknown_085DD000, - gUnknown_085DD014, - gUnknown_085DD028, - gUnknown_085DD03C, - gUnknown_085DD050, - gUnknown_085DD064, - gUnknown_085DD078, - gUnknown_085DD08C, - gUnknown_085DD0A0, - gUnknown_085DD0B4, - gUnknown_085DD0C8, - gUnknown_085DD0DC, - gUnknown_085DD0F0, - gUnknown_085DD104 + sPartnerApprenticeTexts1, + sPartnerApprenticeTexts2, + sPartnerApprenticeTexts3, + sPartnerApprenticeTexts4, + sPartnerApprenticeTexts5, + sPartnerApprenticeTexts6, + sPartnerApprenticeTexts7, + sPartnerApprenticeTexts8, + sPartnerApprenticeTexts9, + sPartnerApprenticeTexts10, + sPartnerApprenticeTexts11, + sPartnerApprenticeTexts12, + sPartnerApprenticeTexts13, + sPartnerApprenticeTexts14, + sPartnerApprenticeTexts15, + sPartnerApprenticeTexts16 }; struct @@ -1018,9 +769,9 @@ struct u8 fixedIV; u8 level; u8 nature; - u8 evs[6]; - u16 moves[4]; -} const sStevenMons[3] = + u8 evs[NUM_STATS]; + u16 moves[MAX_MON_MOVES]; +} const sStevenMons[MULTI_PARTY_SIZE] = { { .species = SPECIES_METANG, @@ -1050,116 +801,125 @@ struct #include "data/battle_frontier/battle_tent.h" -static void (* const gUnknown_085DF96C[])(void) = +static void (* const sBattleTowerFuncs[])(void) = { - sub_8161F94, - sub_8162054, - sub_81620F4, - ChooseNextBattleTowerTrainer, - sub_81621C0, - AwardBattleTowerRibbons, - SaveBattleTowerProgress, - sub_8163914, - nullsub_61, - SpriteCB_Null6, - sub_81642A0, - sub_8164828, - sub_8164B74, - sub_8164DCC, - sub_8164DE4, - sub_8164E04, + [BATTLE_TOWER_FUNC_INIT] = InitTowerChallenge, + [BATTLE_TOWER_FUNC_GET_DATA] = GetTowerData, + [BATTLE_TOWER_FUNC_SET_DATA] = SetTowerData, + [BATTLE_TOWER_FUNC_SET_OPPONENT] = SetNextFacilityOpponent, + [BATTLE_TOWER_FUNC_SET_BATTLE_WON] = SetTowerBattleWon, + [BATTLE_TOWER_FUNC_GIVE_RIBBONS] = AwardBattleTowerRibbons, + [BATTLE_TOWER_FUNC_SAVE] = SaveTowerChallenge, + [BATTLE_TOWER_FUNC_GET_OPPONENT_INTRO] = GetOpponentIntroSpeech, + [BATTLE_TOWER_FUNC_NOP] = nullsub_61, + [BATTLE_TOWER_FUNC_NOP2] = nullsub_116, + [BATTLE_TOWER_FUNC_LOAD_PARTNERS] = LoadMultiPartnerCandidatesData, + [BATTLE_TOWER_FUNC_PARTNER_MSG] = ShowPartnerCandidateMessage, + [BATTLE_TOWER_FUNC_LOAD_LINK_OPPONENTS] = LoadLinkMultiOpponentsData, + [BATTLE_TOWER_FUNC_13] = sub_8164DCC, + [BATTLE_TOWER_FUNC_SET_PARTNER_GFX] = SetMultiPartnerGfx, + [BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA] = SetTowerInterviewData, }; -static const u32 gUnknown_085DF9AC[][2] = +static const u32 sWinStreakFlags[][2] = { - {0x00000001, 0x00000002}, - {0x00004000, 0x00008000}, - {0x00010000, 0x00020000}, - {0x00040000, 0x00080000}, + {STREAK_TOWER_SINGLES_50, STREAK_TOWER_SINGLES_OPEN}, + {STREAK_TOWER_DOUBLES_50, STREAK_TOWER_DOUBLES_OPEN}, + {STREAK_TOWER_MULTIS_50, STREAK_TOWER_MULTIS_OPEN}, + {STREAK_TOWER_LINK_MULTIS_50, STREAK_TOWER_LINK_MULTIS_OPEN}, }; -static const u32 gUnknown_085DF9CC[][2] = +static const u32 sWinStreakMasks[][2] = { - {0xfffffffe, 0xfffffffd}, - {0xffffbfff, 0xffff7fff}, - {0xfffeffff, 0xfffdffff}, - {0xfffbffff, 0xfff7ffff}, + {~(STREAK_TOWER_SINGLES_50), ~(STREAK_TOWER_SINGLES_OPEN)}, + {~(STREAK_TOWER_DOUBLES_50), ~(STREAK_TOWER_DOUBLES_OPEN)}, + {~(STREAK_TOWER_MULTIS_50), ~(STREAK_TOWER_MULTIS_OPEN)}, + {~(STREAK_TOWER_LINK_MULTIS_50), ~(STREAK_TOWER_LINK_MULTIS_OPEN)}, }; -static const u8 gUnknown_085DF9EC[] = +// The challenge number at which an Apprentice can appear, depending on how many of their questions were answered +static const u8 sApprenticeChallengeThreshold[MAX_APPRENTICE_QUESTIONS] = { - 0x01, 0x02, 0x03, 0x04, 0x05, 0x08, 0x09, 0x0a, 0x0b, 0x0c + 1, 2, 3, 4, 5, 8, 9, 10, 11, 12 }; -static const u8 gUnknown_085DF9F6[] = +// Unclear why this was duplicated +static const u8 sBattleTowerPartySizes2[] = { - [FRONTIER_MODE_SINGLES] = 3, - [FRONTIER_MODE_DOUBLES] = 4, - [FRONTIER_MODE_MULTIS] = 2, - [FRONTIER_MODE_LINK_MULTIS] = 2, + [FRONTIER_MODE_SINGLES] = FRONTIER_PARTY_SIZE, + [FRONTIER_MODE_DOUBLES] = FRONTIER_DOUBLES_PARTY_SIZE, + [FRONTIER_MODE_MULTIS] = FRONTIER_MULTI_PARTY_SIZE, + [FRONTIER_MODE_LINK_MULTIS] = FRONTIER_MULTI_PARTY_SIZE, }; -static const u16 gUnknown_085DF9FA[][2] = +// Trainer ID ranges for possible frontier trainers to encounter on particular challenges +// Trainers are scaled by difficulty, so higher trainer IDs have better teams +static const u16 sFrontierTrainerIdRanges[][2] = { - {0x0000, 0x0063}, - {0x0050, 0x0077}, - {0x0064, 0x008b}, - {0x0078, 0x009f}, - {0x008c, 0x00b3}, - {0x00a0, 0x00c7}, - {0x00b4, 0x00db}, - {0x00c8, 0x012b}, + {FRONTIER_TRAINER_BRADY, FRONTIER_TRAINER_JILL}, // 0 - 99 + {FRONTIER_TRAINER_TREVIN, FRONTIER_TRAINER_CHLOE}, // 80 - 119 + {FRONTIER_TRAINER_ERIK, FRONTIER_TRAINER_SOFIA}, // 100 - 139 + {FRONTIER_TRAINER_NORTON, FRONTIER_TRAINER_JAZLYN}, // 120 - 159 + {FRONTIER_TRAINER_BRADEN, FRONTIER_TRAINER_ALISON}, // 140 - 179 + {FRONTIER_TRAINER_ZACHERY, FRONTIER_TRAINER_LAMAR}, // 160 - 199 + {FRONTIER_TRAINER_HANK, FRONTIER_TRAINER_TESS}, // 180 - 219 + {FRONTIER_TRAINER_JAXON, FRONTIER_TRAINER_GRETEL}, // 200 - 299 }; -static const u16 gUnknown_085DFA1A[][2] = +static const u16 sFrontierTrainerIdRangesHard[][2] = { - {0x0064, 0x0077}, - {0x0078, 0x008b}, - {0x008c, 0x009f}, - {0x00a0, 0x00b3}, - {0x00b4, 0x00c7}, - {0x00c8, 0x00db}, - {0x00dc, 0x00ef}, - {0x00c8, 0x012b}, - {0x00b3, 0x008d}, - {0x00c8, 0x00b7}, + {FRONTIER_TRAINER_ERIK, FRONTIER_TRAINER_CHLOE}, // 100 - 119 + {FRONTIER_TRAINER_NORTON, FRONTIER_TRAINER_SOFIA}, // 120 - 139 + {FRONTIER_TRAINER_BRADEN, FRONTIER_TRAINER_JAZLYN}, // 140 - 159 + {FRONTIER_TRAINER_ZACHERY, FRONTIER_TRAINER_ALISON}, // 160 - 179 + {FRONTIER_TRAINER_HANK, FRONTIER_TRAINER_LAMAR}, // 180 - 199 + {FRONTIER_TRAINER_JAXON, FRONTIER_TRAINER_TESS}, // 200 - 219 + {FRONTIER_TRAINER_LEON, FRONTIER_TRAINER_RAUL}, // 220 - 239 + {FRONTIER_TRAINER_JAXON, FRONTIER_TRAINER_GRETEL}, // 200 - 299 }; -static const u8 gUnknown_085DFA42[4] = +// Trainer IDs? Don't make sense as part of previous array, min/max relationship reversed and never accessed +static const u16 sUnused_085DFA1A[][2] = { - [FRONTIER_MODE_SINGLES] = 3, - [FRONTIER_MODE_DOUBLES] = 4, - [FRONTIER_MODE_MULTIS] = 2, - [FRONTIER_MODE_LINK_MULTIS] = 2, + {179, 141}, // FRONTIER_TRAINER_ALISON - FRONTIER_TRAINER_KAYDEN + {200, 183}, // FRONTIER_TRAINER_JAXON - FRONTIER_TRAINER_HUNTER }; -static const u16 gUnknown_085DFA46[] = +static const u8 sBattleTowerPartySizes[FRONTIER_MODE_COUNT] = { - 0x0c3a, 0x0c3a, 0x0c01, 0x0a2a, 0x0607, 0x0c01 + [FRONTIER_MODE_SINGLES] = FRONTIER_PARTY_SIZE, + [FRONTIER_MODE_DOUBLES] = FRONTIER_DOUBLES_PARTY_SIZE, + [FRONTIER_MODE_MULTIS] = FRONTIER_MULTI_PARTY_SIZE, + [FRONTIER_MODE_LINK_MULTIS] = FRONTIER_MULTI_PARTY_SIZE, }; -static const u16 gUnknown_085DFA52[] = +static const u16 sRecordTrainerSpeechWon[] = { - 0x1039, 0x122e, 0x0c04, 0x0a3d, 0x0630, 0x0c04 + EC_WORD_YAY, EC_WORD_YAY, EC_WORD_EXCL_EXCL, EC_WORD_I_VE, EC_WORD_WON, EC_WORD_EXCL_EXCL +}; + +static const u16 sRecordTrainerSpeechLost[] = +{ + EC_WORD_TOO, EC_WORD_BAD, EC_WORD_ELLIPSIS, EC_WORD_WE, EC_WORD_LOST, EC_WORD_ELLIPSIS }; // code -void sub_8161F74(void) +void CallBattleTowerFunc(void) { - gUnknown_085DF96C[gSpecialVar_0x8004](); + sBattleTowerFuncs[gSpecialVar_0x8004](); } -static void sub_8161F94(void) +static void InitTowerChallenge(void) { u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); - gSaveBlock2Ptr->frontier.field_CA8 = 1; + gSaveBlock2Ptr->frontier.challengeStatus = CHALLENGE_STATUS_SAVING; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; - gSaveBlock2Ptr->frontier.field_CA9_a = 0; - gSaveBlock2Ptr->frontier.field_CA9_b = 0; - sub_81A3ACC(); - if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_085DF9AC[battleMode][lvlMode])) + gSaveBlock2Ptr->frontier.challengePaused = FALSE; + gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE; + ResetFrontierTrainerIds(); + if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode])) gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] = 0; ValidateBattleTowerRecordChecksums(); @@ -1167,7 +927,7 @@ static void sub_8161F94(void) gTrainerBattleOpponent_A = 0; } -static void sub_8162054(void) +static void GetTowerData(void) { u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); @@ -1176,19 +936,19 @@ static void sub_8162054(void) { case 0: break; - case 1: + case TOWER_DATA_WIN_STREAK: gSpecialVar_Result = GetCurrentBattleTowerWinStreak(lvlMode, battleMode); break; - case 2: - gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_085DF9AC[battleMode][lvlMode]) != 0); + case TOWER_DATA_WIN_STREAK_ACTIVE: + gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0); break; - case 3: - gSaveBlock2Ptr->frontier.field_D07 = gSaveBlock2Ptr->frontier.lvlMode; + case TOWER_DATA_LVL_MODE: + gSaveBlock2Ptr->frontier.towerLvlMode = gSaveBlock2Ptr->frontier.lvlMode; break; } } -static void sub_81620F4(void) +static void SetTowerData(void) { u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); @@ -1197,28 +957,29 @@ static void sub_81620F4(void) { case 0: break; - case 1: + case TOWER_DATA_WIN_STREAK: gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006; break; - case 2: + case TOWER_DATA_WIN_STREAK_ACTIVE: if (gSpecialVar_0x8006) - gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_085DF9AC[battleMode][lvlMode]; + gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode]; else - gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_085DF9CC[battleMode][lvlMode]; + gSaveBlock2Ptr->frontier.winStreakActiveFlags &= sWinStreakMasks[battleMode][lvlMode]; break; - case 3: - gSaveBlock2Ptr->frontier.field_D07 = gSaveBlock2Ptr->frontier.lvlMode; + case TOWER_DATA_LVL_MODE: + gSaveBlock2Ptr->frontier.towerLvlMode = gSaveBlock2Ptr->frontier.lvlMode; break; } } -static void sub_81621C0(void) +static void SetTowerBattleWon(void) { if (gTrainerBattleOpponent_A == TRAINER_EREADER) ClearEReaderTrainer(&gSaveBlock2Ptr->frontier.ereaderTrainer); - if (gSaveBlock2Ptr->frontier.field_D04 < 9999) - gSaveBlock2Ptr->frontier.field_D04++; + // towerNumWins is never read outside this conditional + if (gSaveBlock2Ptr->frontier.towerNumWins < MAX_STREAK) + gSaveBlock2Ptr->frontier.towerNumWins++; gSaveBlock2Ptr->frontier.curChallengeBattleNum++; SaveCurrentWinStreak(); @@ -1256,7 +1017,7 @@ static bool8 ChooseSpecialBattleTowerTrainer(void) validMons++; } - if (validMons >= gUnknown_085DF9F6[battleMode] + if (validMons >= sBattleTowerPartySizes2[battleMode] && gSaveBlock2Ptr->frontier.towerRecords[i].winStreak == winStreak && gSaveBlock2Ptr->frontier.towerRecords[i].lvlMode == lvlMode && recordHasData @@ -1270,10 +1031,10 @@ static bool8 ChooseSpecialBattleTowerTrainer(void) if (battleMode == FRONTIER_MODE_SINGLES) { ValidateApprenticesChecksums(); - for (i = 0; i < 4; i++) + for (i = 0; i < APPRENTICE_COUNT; i++) { if (gSaveBlock2Ptr->apprentices[i].lvlMode != 0 - && gUnknown_085DF9EC[gSaveBlock2Ptr->apprentices[i].field_1] == winStreak + && sApprenticeChallengeThreshold[gSaveBlock2Ptr->apprentices[i].numQuestions] == winStreak && gSaveBlock2Ptr->apprentices[i].lvlMode - 1 == lvlMode) { trainerIds[idsCount] = i + TRAINER_RECORD_MIXING_APPRENTICE; @@ -1293,12 +1054,12 @@ static bool8 ChooseSpecialBattleTowerTrainer(void) } } -static void ChooseNextBattleTowerTrainer(void) +static void SetNextFacilityOpponent(void) { u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; if (lvlMode == FRONTIER_LVL_TENT) { - sub_8165E18(); + SetNextBattleTentOpponent(); } else { @@ -1326,7 +1087,7 @@ static void ChooseNextBattleTowerTrainer(void) s32 i; while (1) { - id = sub_8162548(challengeNum, gSaveBlock2Ptr->frontier.curChallengeBattleNum); + id = GetRandomScaledFrontierTrainerId(challengeNum, gSaveBlock2Ptr->frontier.curChallengeBattleNum); // Ensure trainer wasn't previously fought in this challenge. for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++) @@ -1346,7 +1107,7 @@ static void ChooseNextBattleTowerTrainer(void) } } -u16 sub_8162548(u8 challengeNum, u8 battleNum) +u16 GetRandomScaledFrontierTrainerId(u8 challengeNum, u8 battleNum) { u16 trainerId; @@ -1354,49 +1115,54 @@ u16 sub_8162548(u8 challengeNum, u8 battleNum) { if (battleNum == 6) { - trainerId = (gUnknown_085DFA1A[challengeNum][1] - gUnknown_085DFA1A[challengeNum][0]) + 1; - trainerId = gUnknown_085DFA1A[challengeNum][0] + (Random() % trainerId); + // The last battle in each challenge has a jump in difficulty, pulls from a table with higher ranges + trainerId = (sFrontierTrainerIdRangesHard[challengeNum][1] - sFrontierTrainerIdRangesHard[challengeNum][0]) + 1; + trainerId = sFrontierTrainerIdRangesHard[challengeNum][0] + (Random() % trainerId); } else { - trainerId = (gUnknown_085DF9FA[challengeNum][1] - gUnknown_085DF9FA[challengeNum][0]) + 1; - trainerId = gUnknown_085DF9FA[challengeNum][0] + (Random() % trainerId); + trainerId = (sFrontierTrainerIdRanges[challengeNum][1] - sFrontierTrainerIdRanges[challengeNum][0]) + 1; + trainerId = sFrontierTrainerIdRanges[challengeNum][0] + (Random() % trainerId); } } else { - trainerId = (gUnknown_085DF9FA[7][1] - gUnknown_085DF9FA[7][0]) + 1; - trainerId = gUnknown_085DF9FA[7][0] + (Random() % trainerId); + // After challenge 7, trainer IDs always come from the last, hardest range, which is the same for both trainer ID tables + trainerId = (sFrontierTrainerIdRanges[7][1] - sFrontierTrainerIdRanges[7][0]) + 1; + trainerId = sFrontierTrainerIdRanges[7][0] + (Random() % trainerId); } return trainerId; } -static void sub_81625B4(u8 challengeNum, u8 battleNum, u16 *trainerIdPtr, u8 *arg3) // Unused +// Unused +static void GetRandomScaledFrontierTrainerIdRange(u8 challengeNum, u8 battleNum, u16 *trainerIdPtr, u8 *rangePtr) { - u16 trainerId, count; + u16 trainerId, range; if (challengeNum <= 7) { if (battleNum == 6) { - count = (gUnknown_085DFA1A[challengeNum][1] - gUnknown_085DFA1A[challengeNum][0]) + 1; - trainerId = gUnknown_085DFA1A[challengeNum][0]; + // The last battle in each challenge has a jump in difficulty, pulls from a table with higher ranges + range = (sFrontierTrainerIdRangesHard[challengeNum][1] - sFrontierTrainerIdRangesHard[challengeNum][0]) + 1; + trainerId = sFrontierTrainerIdRangesHard[challengeNum][0]; } else { - count = (gUnknown_085DF9FA[challengeNum][1] - gUnknown_085DF9FA[challengeNum][0]) + 1; - trainerId = gUnknown_085DF9FA[challengeNum][0]; + range = (sFrontierTrainerIdRanges[challengeNum][1] - sFrontierTrainerIdRanges[challengeNum][0]) + 1; + trainerId = sFrontierTrainerIdRanges[challengeNum][0]; } } else { - count = (gUnknown_085DF9FA[7][1] - gUnknown_085DF9FA[7][0]) + 1; - trainerId = gUnknown_085DF9FA[7][0]; + // After challenge 7, trainer IDs always come from the last, hardest range, which is the same for both trainer ID tables + range = (sFrontierTrainerIdRanges[7][1] - sFrontierTrainerIdRanges[7][0]) + 1; + trainerId = sFrontierTrainerIdRanges[7][0]; } *trainerIdPtr = trainerId; - *arg3 = count; + *rangePtr = range; } void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId) @@ -1415,7 +1181,7 @@ void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId) SetFrontierBrainEventObjGfx_2(); return; } - else if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + else if (trainerId < FRONTIER_TRAINERS_COUNT) { facilityClass = gFacilityTrainers[trainerId].facilityClass; } @@ -1507,7 +1273,7 @@ u8 GetBattleFacilityTrainerGfxId(u16 trainerId) { facilityClass = gSaveBlock2Ptr->frontier.ereaderTrainer.facilityClass; } - else if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + else if (trainerId < FRONTIER_TRAINERS_COUNT) { facilityClass = gFacilityTrainers[trainerId].facilityClass; } @@ -1561,7 +1327,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; @@ -1649,7 +1415,7 @@ u8 GetFrontierTrainerFrontSpriteId(u16 trainerId) { return GetFrontierBrainTrainerPicIndex(); } - else if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + else if (trainerId < FRONTIER_TRAINERS_COUNT) { return gFacilityClassToPicIndex[gFacilityTrainers[trainerId].facilityClass]; } @@ -1686,7 +1452,7 @@ u8 GetFrontierOpponentClass(u16 trainerId) { trainerClass = gTrainers[TRAINER_STEVEN].trainerClass; } - else if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + else if (trainerId < FRONTIER_TRAINERS_COUNT) { trainerClass = gFacilityClassToTrainerClass[gFacilityTrainers[trainerId].facilityClass]; } @@ -1727,7 +1493,7 @@ static u8 GetFrontierTrainerFacilityClass(u16 trainerId) { facilityClass = gSaveBlock2Ptr->frontier.ereaderTrainer.facilityClass; } - else if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + else if (trainerId < FRONTIER_TRAINERS_COUNT) { facilityClass = gFacilityTrainers[trainerId].facilityClass; } @@ -1769,7 +1535,7 @@ void GetFrontierTrainerName(u8 *dst, u16 trainerId) for (i = 0; i < PLAYER_NAME_LENGTH; i++) dst[i] = gTrainers[TRAINER_STEVEN].trainerName[i]; } - else if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + else if (trainerId < FRONTIER_TRAINERS_COUNT) { for (i = 0; i < PLAYER_NAME_LENGTH; i++) dst[i] = gFacilityTrainers[trainerId].trainerName[i]; @@ -1824,7 +1590,7 @@ static bool8 IsFrontierTrainerFemale(u16 trainerId) { return IsFrontierBrainFemale(); } - else if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + else if (trainerId < FRONTIER_TRAINERS_COUNT) { facilityClass = gFacilityTrainers[trainerId].facilityClass; } @@ -1872,18 +1638,18 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount) { s32 i, j; u16 chosenMonIndices[4]; - u8 friendship = 0xFF; + u8 friendship = MAX_FRIENDSHIP; u8 level = SetFacilityPtrsGetLevel(); u8 fixedIV = 0; u8 bfMonCount; - const u16 *monSets = NULL; + const u16 *monSet = NULL; u32 otID = 0; - if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + if (trainerId < FRONTIER_TRAINERS_COUNT) { // Normal battle frontier trainer. fixedIV = GetFrontierTrainerFixedIvs(trainerId); - monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets; + monSet = gFacilityTrainers[gTrainerBattleOpponent_A].monSet; } else if (trainerId == TRAINER_EREADER) { @@ -1921,20 +1687,20 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount) // Attempt to fill the trainer's party with random Pokemon until 3 have been // successfully chosen. The trainer's party may not have duplicate pokemon species // or duplicate held items. - for (bfMonCount = 0; monSets[bfMonCount] != 0xFFFF; bfMonCount++) + for (bfMonCount = 0; monSet[bfMonCount] != 0xFFFF; bfMonCount++) ; i = 0; otID = Random32(); while (i != monCount) { - u16 monSetId = monSets[Random() % bfMonCount]; - if ((level == 50 || level == 20) && monSetId > 849) + u16 monId = monSet[Random() % bfMonCount]; + if ((level == 50 || level == 20) && monId > FRONTIER_MONS_HIGH_TIER) continue; // Ensure this pokemon species isn't a duplicate. for (j = 0; j < i + firstMonId; j++) { - if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monSetId].species) + if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monId].species) break; } if (j != i + firstMonId) @@ -1944,7 +1710,7 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount) for (j = 0; j < i + firstMonId; j++) { if (GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) != 0 - && GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]) + && GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]) break; } if (j != i + firstMonId) @@ -1954,34 +1720,34 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount) // because the species and held items were already checked directly above. for (j = 0; j < i; j++) { - if (chosenMonIndices[j] == monSetId) + if (chosenMonIndices[j] == monId) break; } if (j != i) continue; - chosenMonIndices[i] = monSetId; + chosenMonIndices[i] = monId; // Place the chosen pokemon into the trainer's party. CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i + firstMonId], - gFacilityTrainerMons[monSetId].species, + gFacilityTrainerMons[monId].species, level, - gFacilityTrainerMons[monSetId].nature, + gFacilityTrainerMons[monId].nature, fixedIV, - gFacilityTrainerMons[monSetId].evSpread, + gFacilityTrainerMons[monId].evSpread, otID); - friendship = 255; + friendship = MAX_FRIENDSHIP; // Give the chosen pokemon its specified moves. for (j = 0; j < MAX_MON_MOVES; j++) { - SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monSetId].moves[j], j); - if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION) + SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monId].moves[j], j); + if (gFacilityTrainerMons[monId].moves[j] == MOVE_FRUSTRATION) friendship = 0; // Frustration is more powerful the lower the pokemon's friendship is. } SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship); - SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]); + SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]); // The pokemon was successfully added to the trainer's party, so it's safe to move on to // the next party slot. @@ -1993,12 +1759,12 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount) static void Unused_CreateApprenticeMons(u16 trainerId, u8 firstMonId) { s32 i, j; - u8 friendship = 0xFF; + u8 friendship = MAX_FRIENDSHIP; u8 level = 0; u8 fixedIV = 0; struct Apprentice *apprentice = &gSaveBlock2Ptr->apprentices[0]; - if (apprentice->field_1 < 5) + if (apprentice->numQuestions < 5) fixedIV = 6; else fixedIV = 9; @@ -2011,7 +1777,7 @@ static void Unused_CreateApprenticeMons(u16 trainerId, u8 firstMonId) for (i = 0; i != 3; i++) { CreateMonWithEVSpread(&gEnemyParty[firstMonId + i], apprentice->party[i].species, level, fixedIV, 8); - friendship = 0xFF; + friendship = MAX_FRIENDSHIP; for (j = 0; j < MAX_MON_MOVES; j++) { if (apprentice->party[i].moves[j] == MOVE_FRUSTRATION) @@ -2022,27 +1788,27 @@ static void Unused_CreateApprenticeMons(u16 trainerId, u8 firstMonId) } } -u16 RandomizeFacilityTrainerMonSet(u16 trainerId) +u16 GetRandomFrontierMonFromSet(u16 trainerId) { u8 level = SetFacilityPtrsGetLevel(); - const u16 *monSets = gFacilityTrainers[trainerId].monSets; - u8 bfMonCount = 0; - u32 monSetId = monSets[bfMonCount]; + const u16 *monSet = gFacilityTrainers[trainerId].monSet; + u8 numMons = 0; + u32 monId = monSet[numMons]; - while (monSetId != 0xFFFF) + while (monId != 0xFFFF) { - bfMonCount++; - monSetId = monSets[bfMonCount]; - if (monSetId == 0xFFFF) + numMons++; + monId = monSet[numMons]; + if (monId == 0xFFFF) break; } do { - monSetId = monSets[Random() % bfMonCount]; - } while((level == 50 || level == 20) && monSetId > 849); + monId = monSet[Random() % numMons]; + } while((level == 50 || level == 20) && monId > FRONTIER_MONS_HIGH_TIER); - return monSetId; + return monId; } static void FillFactoryTrainerParty(void) @@ -2062,7 +1828,7 @@ static void FillFactoryFrontierTrainerParty(u16 trainerId, u8 firstMonId) u8 fixedIV; u32 otID; - if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + if (trainerId < FRONTIER_TRAINERS_COUNT) { u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; // Unused variable. u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); @@ -2090,23 +1856,23 @@ static void FillFactoryFrontierTrainerParty(u16 trainerId, u8 firstMonId) level = SetFacilityPtrsGetLevel(); otID = T1_READ_32(gSaveBlock2Ptr->playerTrainerId); - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { - u16 monSetId = gUnknown_03006298[i]; + u16 monId = gUnknown_03006298[i]; CreateMonWithEVSpreadNatureOTID(&gEnemyParty[firstMonId + i], - gFacilityTrainerMons[monSetId].species, + gFacilityTrainerMons[monId].species, level, - gFacilityTrainerMons[monSetId].nature, + gFacilityTrainerMons[monId].nature, fixedIV, - gFacilityTrainerMons[monSetId].evSpread, + gFacilityTrainerMons[monId].evSpread, otID); friendship = 0; for (j = 0; j < MAX_MON_MOVES; j++) - SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[monSetId].moves[j], j); + SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[monId].moves[j], j); SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_FRIENDSHIP, &friendship); - SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]); + SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]); } } @@ -2118,27 +1884,27 @@ static void FillFactoryTentTrainerParty(u16 trainerId, u8 firstMonId) u8 fixedIV = 0; u32 otID = T1_READ_32(gSaveBlock2Ptr->playerTrainerId); - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { - u16 monSetId = gUnknown_03006298[i]; + u16 monId = gUnknown_03006298[i]; CreateMonWithEVSpreadNatureOTID(&gEnemyParty[firstMonId + i], - gFacilityTrainerMons[monSetId].species, + gFacilityTrainerMons[monId].species, level, - gFacilityTrainerMons[monSetId].nature, + gFacilityTrainerMons[monId].nature, fixedIV, - gFacilityTrainerMons[monSetId].evSpread, + gFacilityTrainerMons[monId].evSpread, otID); friendship = 0; for (j = 0; j < MAX_MON_MOVES; j++) { - SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[monSetId].moves[j], j); - if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION) + SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[monId].moves[j], j); + if (gFacilityTrainerMons[monId].moves[j] == MOVE_FRUSTRATION) friendship = 0; } SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_FRIENDSHIP, &friendship); - SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]); + SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]); } } @@ -2159,7 +1925,7 @@ void FrontierSpeechToString(const u16 *words) } } -static void sub_8163914(void) +static void GetOpponentIntroSpeech(void) { u16 trainerId; SetFacilityPtrsGetLevel(); @@ -2171,12 +1937,12 @@ static void sub_8163914(void) if (trainerId == TRAINER_EREADER) FrontierSpeechToString(gSaveBlock2Ptr->frontier.ereaderTrainer.greeting); - else if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + else if (trainerId < FRONTIER_TRAINERS_COUNT) FrontierSpeechToString(gFacilityTrainers[trainerId].speechBefore); else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE) FrontierSpeechToString(gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].greeting); else - CopyFriendsApprenticeChallengeText(trainerId - TRAINER_RECORD_MIXING_APPRENTICE); + BufferApprenticeChallengeText(trainerId - TRAINER_RECORD_MIXING_APPRENTICE); } static void HandleSpecialTrainerBattleEnd(void) @@ -2242,21 +2008,21 @@ void DoSpecialTrainerBattle(void) switch (VarGet(VAR_FRONTIER_BATTLE_MODE)) { case FRONTIER_MODE_SINGLES: - FillFrontierTrainerParty(3); + FillFrontierTrainerParty(FRONTIER_PARTY_SIZE); break; case FRONTIER_MODE_DOUBLES: - FillFrontierTrainerParty(4); + FillFrontierTrainerParty(FRONTIER_DOUBLES_PARTY_SIZE); gBattleTypeFlags |= BATTLE_TYPE_DOUBLE; break; case FRONTIER_MODE_MULTIS: - FillFrontierTrainersParties(2); + FillFrontierTrainersParties(FRONTIER_MULTI_PARTY_SIZE); gPartnerTrainerId = gSaveBlock2Ptr->frontier.trainerIds[17]; FillPartnerParty(gPartnerTrainerId); gBattleTypeFlags |= BATTLE_TYPE_DOUBLE | BATTLE_TYPE_INGAME_PARTNER | BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS; break; case FRONTIER_MODE_LINK_MULTIS: gBattleTypeFlags |= BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_MULTI | BATTLE_TYPE_x800000; - FillFrontierTrainersParties(2); + FillFrontierTrainersParties(FRONTIER_MULTI_PARTY_SIZE); break; } CreateTask(Task_StartBattleAfterTransition, 1); @@ -2298,9 +2064,9 @@ void DoSpecialTrainerBattle(void) if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES) gBattleTypeFlags |= BATTLE_TYPE_DOUBLE; if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT) - FillFrontierTrainerParty(3); + FillFrontierTrainerParty(FRONTIER_PARTY_SIZE); else - FillTentTrainerParty(3); + FillTentTrainerParty(FRONTIER_PARTY_SIZE); CreateTask(Task_StartBattleAfterTransition, 1); PlayMapChosenOrBattleBGM(0); BattleTransition_StartOnField(sub_80B100C(4)); @@ -2308,9 +2074,9 @@ void DoSpecialTrainerBattle(void) case SPECIAL_BATTLE_ARENA: gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_ARENA; if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT) - FillFrontierTrainerParty(3); + FillFrontierTrainerParty(FRONTIER_PARTY_SIZE); else - FillTentTrainerParty(3); + FillTentTrainerParty(FRONTIER_PARTY_SIZE); CreateTask(Task_StartBattleAfterTransition, 1); PlayMapChosenOrBattleBGM(0); BattleTransition_StartOnField(sub_80B100C(5)); @@ -2326,14 +2092,14 @@ void DoSpecialTrainerBattle(void) break; case SPECIAL_BATTLE_PIKE_SINGLE: gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_BATTLE_TOWER; - FillFrontierTrainerParty(3); + FillFrontierTrainerParty(FRONTIER_PARTY_SIZE); CreateTask(Task_StartBattleAfterTransition, 1); PlayMapChosenOrBattleBGM(0); BattleTransition_StartOnField(sub_80B100C(7)); break; case SPECIAL_BATTLE_PYRAMID: gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_PYRAMID; - FillFrontierTrainerParty(3); + FillFrontierTrainerParty(FRONTIER_PARTY_SIZE); CreateTask(Task_StartBattleAfterTransition, 1); PlayMapChosenOrBattleBGM(0); BattleTransition_StartOnField(sub_80B100C(10)); @@ -2349,9 +2115,9 @@ void DoSpecialTrainerBattle(void) gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_DOUBLE | BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_MULTI | BATTLE_TYPE_INGAME_PARTNER; FillPartnerParty(TRAINER_STEVEN_PARTNER); gApproachingTrainerId = 0; - BattleSetup_ConfigureTrainerBattle(MossdeepCity_SpaceCenter_2F_EventScript_224157 + 1); + BattleSetup_ConfigureTrainerBattle(MossdeepCity_SpaceCenter_2F_EventScript_MaxieTrainer + 1); gApproachingTrainerId = 1; - BattleSetup_ConfigureTrainerBattle(MossdeepCity_SpaceCenter_2F_EventScript_224166 + 1); + BattleSetup_ConfigureTrainerBattle(MossdeepCity_SpaceCenter_2F_EventScript_TabithaTrainer + 1); gPartnerTrainerId = TRAINER_STEVEN_PARTNER; CreateTask(Task_StartBattleAfterTransition, 1); PlayMapChosenOrBattleBGM(0); @@ -2399,14 +2165,14 @@ static void sub_8163EE4(void) StringCopy7(playerRecord->name, gSaveBlock2Ptr->playerName); playerRecord->winStreak = GetCurrentBattleTowerWinStreak(lvlMode, battleMode); - for (i = 0; i < 6; i++) + for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++) { playerRecord->greeting[i] = gSaveBlock1Ptr->easyChatBattleStart[i]; playerRecord->speechWon[i] = gSaveBlock1Ptr->easyChatBattleWon[i]; playerRecord->speechLost[i] = gSaveBlock1Ptr->easyChatBattleLost[i]; } - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++) { if (gSaveBlock2Ptr->frontier.selectedPartyMons[i] != 0) sub_80686FC(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], &playerRecord->party[i]); @@ -2417,7 +2183,7 @@ static void sub_8163EE4(void) SaveCurrentWinStreak(); } -static void SaveBattleTowerProgress(void) +static void SaveTowerChallenge(void) { u16 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); @@ -2426,10 +2192,10 @@ static void SaveBattleTowerProgress(void) if (gSpecialVar_0x8005 == 0 && (challengeNum > 1 || gSaveBlock2Ptr->frontier.curChallengeBattleNum != 0)) sub_8163EE4(); - gSaveBlock2Ptr->frontier.field_CA8 =gSpecialVar_0x8005; + gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_0, 0); - gSaveBlock2Ptr->frontier.field_CA9_a = 1; - sub_81A4C30(); + gSaveBlock2Ptr->frontier.challengePaused = TRUE; + SaveGameFrontier(); } static void nullsub_61(void) @@ -2437,12 +2203,12 @@ static void nullsub_61(void) } -static void SpriteCB_Null6(void) +static void nullsub_116(void) { } -static void sub_81640E0(u16 trainerId) +static void GetApprenticeMultiPartnerParty(u16 trainerId) { s32 i, count; u32 validSpecies[3]; @@ -2467,7 +2233,7 @@ static void sub_81640E0(u16 trainerId) } while (gUnknown_03006298[0] == gUnknown_03006298[1]); } -static void sub_8164188(u16 trainerId) +static void GetRecordMixFriendMultiPartnerParty(u16 trainerId) { s32 i, count; u32 validSpecies[3]; @@ -2495,13 +2261,13 @@ static void sub_8164188(u16 trainerId) } while (gUnknown_03006298[2] == gUnknown_03006298[3]); } -static void sub_81642A0(void) +static void LoadMultiPartnerCandidatesData(void) { s32 i, j, k; u32 spArray[5]; s32 r10; u16 trainerId; - u16 monSetId; + u16 monId; u32 lvlMode, battleMode; s32 challengeNum; u32 species1, species2; @@ -2521,7 +2287,7 @@ static void sub_81642A0(void) { do { - trainerId = sub_8162548(challengeNum, 0); + trainerId = GetRandomScaledFrontierTrainerId(challengeNum, 0); for (i = 0; i < j; i++) { if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId) @@ -2543,34 +2309,34 @@ static void sub_81642A0(void) { while (1) { - monSetId = RandomizeFacilityTrainerMonSet(trainerId); - if (j % 2 != 0 && gFacilityTrainerMons[gSaveBlock2Ptr->frontier.trainerIds[r10 - 1]].itemTableId == gFacilityTrainerMons[monSetId].itemTableId) + monId = GetRandomFrontierMonFromSet(trainerId); + if (j % 2 != 0 && gFacilityTrainerMons[gSaveBlock2Ptr->frontier.trainerIds[r10 - 1]].itemTableId == gFacilityTrainerMons[monId].itemTableId) continue; for (k = 8; k < r10; k++) { - if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.trainerIds[k]].species == gFacilityTrainerMons[monSetId].species) + if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.trainerIds[k]].species == gFacilityTrainerMons[monId].species) break; - if (species1 == gFacilityTrainerMons[monSetId].species) + if (species1 == gFacilityTrainerMons[monId].species) break; - if (species2 == gFacilityTrainerMons[monSetId].species) + if (species2 == gFacilityTrainerMons[monId].species) break; } if (k == r10) break; } - gSaveBlock2Ptr->frontier.trainerIds[r10] = monSetId; + gSaveBlock2Ptr->frontier.trainerIds[r10] = monId; r10++; } } r10 = 0; ValidateApprenticesChecksums(); - for (i = 0; i < 4; i++) + for (i = 0; i < APPRENTICE_COUNT; i++) { if (gSaveBlock2Ptr->apprentices[i].lvlMode != 0 - && gUnknown_085DF9EC[gSaveBlock2Ptr->apprentices[i].field_1] / 7 <= challengeNum + && sApprenticeChallengeThreshold[gSaveBlock2Ptr->apprentices[i].numQuestions] / 7 <= challengeNum && gSaveBlock2Ptr->apprentices[i].lvlMode - 1 == lvlMode) { k = 0; @@ -2594,7 +2360,7 @@ static void sub_81642A0(void) gSaveBlock2Ptr->frontier.trainerIds[6] = spArray[Random() % r10]; eventObjTemplates[7].graphicsId = GetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[6]); FlagClear(FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1); - sub_81640E0(gSaveBlock2Ptr->frontier.trainerIds[6]); + GetApprenticeMultiPartnerParty(gSaveBlock2Ptr->frontier.trainerIds[6]); } r10 = 0; @@ -2637,11 +2403,11 @@ static void sub_81642A0(void) gSaveBlock2Ptr->frontier.trainerIds[7] = spArray[Random() % r10]; eventObjTemplates[8].graphicsId = GetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[7]); FlagClear(FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2); - sub_8164188(gSaveBlock2Ptr->frontier.trainerIds[7]); + GetRecordMixFriendMultiPartnerParty(gSaveBlock2Ptr->frontier.trainerIds[7]); } } -static void sub_81646BC(u16 trainerId, u16 monSetId) +static void sub_81646BC(u16 trainerId, u16 monId) { u16 move = 0; u16 species = 0; @@ -2649,10 +2415,10 @@ static void sub_81646BC(u16 trainerId, u16 monSetId) if (trainerId != TRAINER_EREADER) { - if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + if (trainerId < FRONTIER_TRAINERS_COUNT) { - move = gFacilityTrainerMons[monSetId].moves[0]; - species = gFacilityTrainerMons[monSetId].species; + move = gFacilityTrainerMons[monId].moves[0]; + species = gFacilityTrainerMons[monId].species; } else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE) { @@ -2676,28 +2442,28 @@ static void sub_81646BC(u16 trainerId, u16 monSetId) StringCopy(gStringVar2, gSpeciesNames[species]); } -static void sub_8164828(void) +static void ShowPartnerCandidateMessage(void) { - s32 i, j, arrId; - s32 monSetId; + s32 i, j, partnerId; + s32 monId; s32 level = SetFacilityPtrsGetLevel(); u16 winStreak = GetCurrentFacilityWinStreak(); s32 challengeNum = winStreak / 7; s32 k = gSpecialVar_LastTalked - 2; s32 trainerId = gSaveBlock2Ptr->frontier.trainerIds[k]; - for (arrId = 0; arrId < ARRAY_COUNT(gUnknown_085DD500); arrId++) + for (partnerId = 0; partnerId < ARRAY_COUNT(sPartnerTrainerTextTables); partnerId++) { - if (gUnknown_085DD500[arrId].facilityClass == GetFrontierTrainerFacilityClass(trainerId)) + if (sPartnerTrainerTextTables[partnerId].facilityClass == GetFrontierTrainerFacilityClass(trainerId)) break; } switch (gSpecialVar_0x8005) { - case 0: + case PARTNER_MSGID_INTRO: if (trainerId == TRAINER_EREADER) return; - if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + if (trainerId < FRONTIER_TRAINERS_COUNT) { GetFrontierTrainerName(gStringVar1, trainerId); } @@ -2716,17 +2482,17 @@ static void sub_8164828(void) GetFrontierTrainerName(gStringVar3, trainerId); } break; - case 1: - monSetId = gSaveBlock2Ptr->frontier.trainerIds[8 + k * 2]; - sub_81646BC(trainerId, monSetId); + case PARTNER_MSGID_MON1: + monId = gSaveBlock2Ptr->frontier.trainerIds[8 + k * 2]; + sub_81646BC(trainerId, monId); break; - case 2: - monSetId = gSaveBlock2Ptr->frontier.trainerIds[9 + k * 2]; - sub_81646BC(trainerId, monSetId); + case PARTNER_MSGID_MON2_ASK: + monId = gSaveBlock2Ptr->frontier.trainerIds[9 + k * 2]; + sub_81646BC(trainerId, monId); break; - case 3: + case PARTNER_MSGID_ACCEPT: gPartnerTrainerId = trainerId; - if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + if (trainerId < FRONTIER_TRAINERS_COUNT) { gSaveBlock2Ptr->frontier.trainerIds[18] = gSaveBlock2Ptr->frontier.trainerIds[8 + k * 2]; gSaveBlock2Ptr->frontier.trainerIds[19] = gSaveBlock2Ptr->frontier.trainerIds[9 + k * 2]; @@ -2745,7 +2511,7 @@ static void sub_8164828(void) { while (1) { - i = sub_8162548(challengeNum, k / 2); + i = GetRandomScaledFrontierTrainerId(challengeNum, k / 2); if (gPartnerTrainerId == i) continue; @@ -2761,29 +2527,31 @@ static void sub_8164828(void) } gSaveBlock2Ptr->frontier.trainerIds[17] = trainerId; break; - case 4: + case PARTNER_MSGID_REJECT: break; } if (trainerId == TRAINER_EREADER) return; - if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + // First check is redundant, only needs to make sure it's not an Apprentice + if (trainerId < FRONTIER_TRAINERS_COUNT) { - ShowFieldMessage(gUnknown_085DD500[arrId].strings[gSpecialVar_0x8005]); + ShowFieldMessage(sPartnerTrainerTextTables[partnerId].strings[gSpecialVar_0x8005]); } else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE) { - ShowFieldMessage(gUnknown_085DD500[arrId].strings[gSpecialVar_0x8005]); + ShowFieldMessage(sPartnerTrainerTextTables[partnerId].strings[gSpecialVar_0x8005]); } + // Trainer is a former/record-mixed Apprentice, do Apprentice message else { - u8 id = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].id; - ShowFieldMessage(gUnknown_085DD690[id][gSpecialVar_0x8005]); + u8 apprenticeId = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].id; + ShowFieldMessage(sPartnerApprenticeTextTables[apprenticeId][gSpecialVar_0x8005]); } } -static void sub_8164B74(void) +static void LoadLinkMultiOpponentsData(void) { s32 challengeNum; s32 i, j; @@ -2822,7 +2590,7 @@ static void sub_8164B74(void) { do { - trainerId = sub_8162548(challengeNum, i / 2); + trainerId = GetRandomScaledFrontierTrainerId(challengeNum, i / 2); for (j = 0; j < i; j++) { if (gSaveBlock2Ptr->frontier.trainerIds[j] == trainerId) @@ -2878,12 +2646,13 @@ static void sub_8164DCC(void) sub_800AC34(); } -static void sub_8164DE4(void) +static void SetMultiPartnerGfx(void) { - SetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[17], 0xF); + // 0xF below means use VAR_OBJ_GFX_ID_E + SetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[17], 0xF); } -static void sub_8164E04(void) +static void SetTowerInterviewData(void) { s32 i; u8 text[32]; @@ -2893,13 +2662,13 @@ static void sub_8164E04(void) GetFrontierTrainerName(text, gTrainerBattleOpponent_A); StripExtCtrlCodes(text); - StringCopy(gSaveBlock2Ptr->frontier.field_BD8, text); - GetBattleTowerTrainerLanguage(&gSaveBlock2Ptr->frontier.field_BEB, gTrainerBattleOpponent_A); - gSaveBlock2Ptr->frontier.field_BD6 = GetMonData(&gEnemyParty[gBattlerPartyIndexes[1]], MON_DATA_SPECIES, NULL); - gSaveBlock2Ptr->frontier.field_BD4 = GetMonData(&gPlayerParty[gBattlerPartyIndexes[0]], MON_DATA_SPECIES, NULL); + StringCopy(gSaveBlock2Ptr->frontier.towerInterview.opponentName, text); + GetBattleTowerTrainerLanguage(&gSaveBlock2Ptr->frontier.towerInterview.opponentLanguage, gTrainerBattleOpponent_A); + gSaveBlock2Ptr->frontier.towerInterview.opponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[1]], MON_DATA_SPECIES, NULL); + gSaveBlock2Ptr->frontier.towerInterview.playerSpecies = GetMonData(&gPlayerParty[gBattlerPartyIndexes[0]], MON_DATA_SPECIES, NULL); for (i = 0; i < POKEMON_NAME_LENGTH + 1; i++) - gSaveBlock2Ptr->frontier.field_BE0[i] = gBattleMons[0].nickname[i]; - gSaveBlock2Ptr->frontier.field_D06 = gBattleOutcome; + gSaveBlock2Ptr->frontier.towerInterview.opponentMonNickname[i] = gBattleMons[0].nickname[i]; + gSaveBlock2Ptr->frontier.towerBattleOutcome = gBattleOutcome; } static void ValidateBattleTowerRecordChecksums(void) @@ -2966,13 +2735,13 @@ u16 GetCurrentBattleTowerWinStreak(u8 lvlMode, u8 battleMode) static u8 GetMonCountForBattleMode(u8 battleMode) { - u8 sp[ARRAY_COUNT(gUnknown_085DFA42)]; - memcpy(sp, gUnknown_085DFA42, sizeof(gUnknown_085DFA42)); + u8 partySizes[ARRAY_COUNT(sBattleTowerPartySizes)]; + memcpy(partySizes, sBattleTowerPartySizes, sizeof(sBattleTowerPartySizes)); - if (battleMode < ARRAY_COUNT(gUnknown_085DFA42)) - return sp[battleMode]; + if (battleMode < ARRAY_COUNT(sBattleTowerPartySizes)) + return partySizes[battleMode]; else - return 3; + return FRONTIER_PARTY_SIZE; } struct RibbonCounter @@ -3026,9 +2795,9 @@ static void AwardBattleTowerRibbons(void) ribbons[i] = prevBest; } } - if (ribbons[0].count > 4) + if (ribbons[0].count > NUM_CUTIES_RIBBONS) { - sub_80EE4DC(&gSaveBlock1Ptr->playerParty[ribbons[0].partyIndex], ribbonType); + TryPutSpotTheCutiesOnAir(&gSaveBlock1Ptr->playerParty[ribbons[0].partyIndex], ribbonType); } } } @@ -3154,13 +2923,13 @@ static void CopyEReaderTrainerFarewellMessage(void) FrontierSpeechToString(gSaveBlock2Ptr->frontier.ereaderTrainer.farewellPlayerLost); } -void sub_81653CC(void) +void TryHideBattleTowerReporter(void) { - if (gSaveBlock2Ptr->frontier.field_CA8 == 1) - sub_80F01B8(); + if (gSaveBlock2Ptr->frontier.challengeStatus == CHALLENGE_STATUS_SAVING) + HideBattleTowerReporter(); if (FlagGet(FLAG_CANCEL_BATTLE_ROOM_CHALLENGE) == TRUE) { - sub_80F01B8(); + HideBattleTowerReporter(); FlagClear(FLAG_CANCEL_BATTLE_ROOM_CHALLENGE); } } @@ -3172,7 +2941,7 @@ static void FillPartnerParty(u16 trainerId) s32 i, j; u32 ivs, level; u32 friendship; - u16 monSetId; + u16 monId; u32 otID; u8 trainerName[PLAYER_NAME_LENGTH + 1]; SetFacilityPtrsGetLevel(); @@ -3191,7 +2960,7 @@ static void FillPartnerParty(u16 trainerId) sStevenMons[i].fixedIV, TRUE, i, // BUG: personality was stored in the 'j' variable. As a result, Steven's pokemon do not have the intended natures. OT_ID_PRESET, STEVEN_OTID); - for (j = 0; j < 6; j++) + for (j = 0; j < PARTY_SIZE; j++) SetMonData(&gPlayerParty[3 + i], MON_DATA_HP_EV + j, &sStevenMons[i].evs[j]); for (j = 0; j < MAX_MON_MOVES; j++) SetMonMoveSlot(&gPlayerParty[3 + i], sStevenMons[i].moves[j], j); @@ -3206,30 +2975,30 @@ static void FillPartnerParty(u16 trainerId) // Scrapped, lol. trainerName[0] = gGameLanguage; } - else if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + else if (trainerId < FRONTIER_TRAINERS_COUNT) { level = SetFacilityPtrsGetLevel(); ivs = GetFrontierTrainerFixedIvs(trainerId); otID = Random32(); for (i = 0; i < 2; i++) { - monSetId = gSaveBlock2Ptr->frontier.trainerIds[i + 18]; + monId = gSaveBlock2Ptr->frontier.trainerIds[i + 18]; CreateMonWithEVSpreadNatureOTID(&gPlayerParty[3 + i], - gFacilityTrainerMons[monSetId].species, + gFacilityTrainerMons[monId].species, level, - gFacilityTrainerMons[monSetId].nature, + gFacilityTrainerMons[monId].nature, ivs, - gFacilityTrainerMons[monSetId].evSpread, + gFacilityTrainerMons[monId].evSpread, otID); - friendship = 0xFF; + friendship = MAX_FRIENDSHIP; for (j = 0; j < MAX_MON_MOVES; j++) { - SetMonMoveSlot(&gPlayerParty[3 + i], gFacilityTrainerMons[monSetId].moves[j], j); - if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION) + SetMonMoveSlot(&gPlayerParty[3 + i], gFacilityTrainerMons[monId].moves[j], j); + if (gFacilityTrainerMons[monId].moves[j] == MOVE_FRUSTRATION) friendship = 0; } SetMonData(&gPlayerParty[3 + i], MON_DATA_FRIENDSHIP, &friendship); - SetMonData(&gPlayerParty[3 + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]); + SetMonData(&gPlayerParty[3 + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]); for (j = 0; j < PLAYER_NAME_LENGTH + 1; j++) trainerName[j] = gFacilityTrainers[trainerId].trainerName[j]; SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_NAME, &trainerName); @@ -3280,13 +3049,13 @@ bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct Em { s32 i, validMons = 0; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { if (src->party[i].species) validMons++; } - if (validMons != 3) + if (validMons != FRONTIER_PARTY_SIZE) { memset(dst, 0, sizeof(*dst)); return FALSE; @@ -3296,6 +3065,7 @@ bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct Em dst->lvlMode = src->lvlMode; dst->winStreak = src->winStreak; // BUG: Reading outside the array. sRubyFacilityClassToEmerald has less than FACILITY_CLASSES_COUNT entries. + // Fix by using ARRAY_COUNT(sRubyFacilityClassToEmerald) for (i = 0; i < FACILITY_CLASSES_COUNT; i++) { if (sRubyFacilityClassToEmerald[i][0] == src->facilityClass) @@ -3308,18 +3078,18 @@ 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++) + for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++) dst->greeting[i] = src->greeting[i]; - for (i = 0; i < 6; i++) - dst->speechWon[i] = gUnknown_085DFA46[i]; - for (i = 0; i < 6; i++) - dst->speechLost[i] = gUnknown_085DFA52[i]; - for (i = 0; i < 3; i++) + for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++) + dst->speechWon[i] = sRecordTrainerSpeechWon[i]; + for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++) + dst->speechLost[i] = sRecordTrainerSpeechLost[i]; + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) dst->party[i] = src->party[i]; - CpuFill32(0, &dst->party[3], sizeof(dst->party[3])); + CpuFill32(0, &dst->party[FRONTIER_PARTY_SIZE], sizeof(dst->party[FRONTIER_PARTY_SIZE])); CalcEmeraldBattleTowerChecksum(dst); return TRUE; } @@ -3329,13 +3099,13 @@ bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, stru { s32 i, validMons = 0; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { if (src->party[i].species) validMons++; } - if (validMons != 3) + if (validMons != FRONTIER_PARTY_SIZE) { memset(dst, 0, sizeof(*dst)); return FALSE; @@ -3345,6 +3115,7 @@ bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, stru dst->lvlMode = src->lvlMode; dst->winStreak = src->winStreak; // BUG: Reading outside the array. sRubyFacilityClassToEmerald has less than FACILITY_CLASSES_COUNT entries. + // Fix by using ARRAY_COUNT(sRubyFacilityClassToEmerald) instead for (i = 0; i < FACILITY_CLASSES_COUNT; i++) { if (sRubyFacilityClassToEmerald[i][1] == src->facilityClass) @@ -3353,15 +3124,15 @@ bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, stru if (i != FACILITY_CLASSES_COUNT) dst->facilityClass = sRubyFacilityClassToEmerald[i][0]; else - dst->facilityClass = 0x24; // FACILITY_CLASS_YOUNGSTER in Ruby/Sapphire. + dst->facilityClass = RS_FACILITY_CLASS_YOUNGSTER; 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++) + for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++) dst->greeting[i] = src->greeting[i]; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) dst->party[i] = src->party[i]; CalcRubyBattleTowerChecksum(dst); @@ -3391,7 +3162,7 @@ static void ValidateApprenticesChecksums(void) { s32 i, j; - for (i = 0; i < 4; i++) + for (i = 0; i < APPRENTICE_COUNT; i++) { u32 *data = (u32*) &gSaveBlock2Ptr->apprentices[i]; u32 checksum = 0; @@ -3408,7 +3179,7 @@ void GetBattleTowerTrainerLanguage(u8 *dst, u16 trainerId) { *dst = gGameLanguage; } - else if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + else if (trainerId < FRONTIER_TRAINERS_COUNT) { *dst = gGameLanguage; } @@ -3481,28 +3252,30 @@ s32 GetHighestLevelInPlayerParty(void) return highestLevel; } +// Frontier Trainer parties are roughly scaled in difficulty with higher trainer IDs, so scale IVs as well +// Duplicated in Battle Dome as GetDomeTrainerMonIvs static u8 GetFrontierTrainerFixedIvs(u16 trainerId) { - u8 fixedIV = 0; + u8 fixedIv; - if (trainerId < 100) - fixedIV = 3; - else if (trainerId < 120) - fixedIV = 6; - else if (trainerId < 140) - fixedIV = 9; - else if (trainerId < 160) - fixedIV = 12; - else if (trainerId < 180) - fixedIV = 15; - else if (trainerId < 200) - fixedIV = 18; - else if (trainerId < 220) - fixedIV = 21; - else - fixedIV = 31; + if (trainerId <= FRONTIER_TRAINER_JILL) // 0 - 99 + fixedIv = 3; + else if (trainerId <= FRONTIER_TRAINER_CHLOE) // 100 - 119 + fixedIv = 6; + else if (trainerId <= FRONTIER_TRAINER_SOFIA) // 120 - 139 + fixedIv = 9; + else if (trainerId <= FRONTIER_TRAINER_JAZLYN) // 140 - 159 + fixedIv = 12; + else if (trainerId <= FRONTIER_TRAINER_ALISON) // 160 - 179 + fixedIv = 15; + else if (trainerId <= FRONTIER_TRAINER_LAMAR) // 180 - 199 + fixedIv = 18; + else if (trainerId <= FRONTIER_TRAINER_TESS) // 200 - 219 + fixedIv = 21; + else // 220+ (- 299) + fixedIv = 31; - return fixedIV; + return fixedIv; } static u16 sub_8165D40(void) @@ -3524,19 +3297,19 @@ static u16 sub_8165D40(void) static u8 SetTentPtrsGetLevel(void) { u8 level = 30; - u32 tentFacility = VarGet(VAR_FRONTIER_FACILITY); + u32 facility = VarGet(VAR_FRONTIER_FACILITY); - if (tentFacility == TENT_SLATEPORT) + if (facility == FRONTIER_FACILITY_FACTORY) { gFacilityTrainers = gSlateportBattleTentTrainers; gFacilityTrainerMons = gSlateportBattleTentMons; } - else if (tentFacility == TENT_VERDANTURF) + else if (facility == FRONTIER_FACILITY_PALACE) { gFacilityTrainers = gVerdanturfBattleTentTrainers; gFacilityTrainerMons = gVerdanturfBattleTentMons; } - else if (tentFacility == TENT_FALLARBOR) + else if (facility == FRONTIER_FACILITY_ARENA) { gFacilityTrainers = gFallarborBattleTentTrainers; gFacilityTrainerMons = gFallarborBattleTentMons; @@ -3554,7 +3327,7 @@ static u8 SetTentPtrsGetLevel(void) return level; } -static void sub_8165E18(void) +static void SetNextBattleTentOpponent(void) { s32 i; u16 trainerId; @@ -3583,19 +3356,19 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount) u8 level = SetTentPtrsGetLevel(); u8 fixedIV = 0; u8 bfMonCount; - const u16 *monSets = NULL; + const u16 *monSet = NULL; u32 otID = 0; - u16 monSetId; + u16 monId; - monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets; + monSet = gFacilityTrainers[gTrainerBattleOpponent_A].monSet; bfMonCount = 0; - monSetId = monSets[bfMonCount]; - while (monSetId != 0xFFFF) + monId = monSet[bfMonCount]; + while (monId != 0xFFFF) { bfMonCount++; - monSetId = monSets[bfMonCount]; - if (monSetId == 0xFFFF) + monId = monSet[bfMonCount]; + if (monId == 0xFFFF) break; } @@ -3603,12 +3376,12 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount) otID = Random32(); while (i != monCount) { - u16 monSetId = monSets[Random() % bfMonCount]; + u16 monId = monSet[Random() % bfMonCount]; // Ensure this pokemon species isn't a duplicate. for (j = 0; j < i + firstMonId; j++) { - if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monSetId].species) + if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monId].species) break; } if (j != i + firstMonId) @@ -3618,7 +3391,7 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount) for (j = 0; j < i + firstMonId; j++) { if (GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) != 0 - && GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]) + && GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]) break; } if (j != i + firstMonId) @@ -3628,34 +3401,34 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount) // because the species and held items were already checked directly above. for (j = 0; j < i; j++) { - if (chosenMonIndices[j] == monSetId) + if (chosenMonIndices[j] == monId) break; } if (j != i) continue; - chosenMonIndices[i] = monSetId; + chosenMonIndices[i] = monId; // Place the chosen pokemon into the trainer's party. CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i + firstMonId], - gFacilityTrainerMons[monSetId].species, + gFacilityTrainerMons[monId].species, level, - gFacilityTrainerMons[monSetId].nature, + gFacilityTrainerMons[monId].nature, fixedIV, - gFacilityTrainerMons[monSetId].evSpread, + gFacilityTrainerMons[monId].evSpread, otID); - friendship = 255; + friendship = MAX_FRIENDSHIP; // Give the chosen pokemon its specified moves. for (j = 0; j < MAX_MON_MOVES; j++) { - SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monSetId].moves[j], j); - if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION) + SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monId].moves[j], j); + if (gFacilityTrainerMons[monId].moves[j] == MOVE_FRUSTRATION) friendship = 0; // Frustration is more powerful the lower the pokemon's friendship is. } SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship); - SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]); + SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]); // The pokemon was successfully added to the trainer's party, so it's safe to move on to // the next party slot. diff --git a/src/battle_transition.c b/src/battle_transition.c index 3e86fcf513..9e66b8938f 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -9,7 +9,7 @@ #include "field_weather.h" #include "gpu_regs.h" #include "main.h" -#include "alloc.h" +#include "malloc.h" #include "overworld.h" #include "palette.h" #include "random.h" @@ -760,10 +760,10 @@ static const struct SpriteTemplate gUnknown_085C8E68 = static const struct OamData gOamData_85C8E80 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -1672,7 +1672,7 @@ bool8 FldEff_Pokeball(void) { u8 spriteId = CreateSpriteAtEnd(&gUnknown_085C8E68, gFieldEffectArguments[0], gFieldEffectArguments[1], 0); gSprites[spriteId].oam.priority = 0; - gSprites[spriteId].oam.affineMode = 1; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteId].data[0] = gFieldEffectArguments[2]; gSprites[spriteId].data[1] = gFieldEffectArguments[3]; gSprites[spriteId].data[2] = -1; @@ -1961,9 +1961,10 @@ static bool8 Phase2_Ripple_Func2(struct Task *task) for (i = 0; i < 160; i++, r4 += r8) { - // todo: fix the asm s16 var = r4 >> 8; - asm(""); + + var++; + var--; gScanlineEffectRegBuffers[0][i] = sTransitionStructPtr->field_16 + Sin(var, r3); } @@ -2393,20 +2394,20 @@ static void Mugshots_CreateOpponentPlayerSprites(struct Task *task) opponentSprite->callback = sub_8148380; playerSprite->callback = sub_8148380; - opponentSprite->oam.affineMode = 3; - playerSprite->oam.affineMode = 3; + opponentSprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; + playerSprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; opponentSprite->oam.matrixNum = AllocOamMatrix(); playerSprite->oam.matrixNum = AllocOamMatrix(); - opponentSprite->oam.shape = 1; - playerSprite->oam.shape = 1; + opponentSprite->oam.shape = SPRITE_SHAPE(64x32); + playerSprite->oam.shape = SPRITE_SHAPE(64x32); - opponentSprite->oam.size = 3; - playerSprite->oam.size = 3; + opponentSprite->oam.size = SPRITE_SIZE(64x32); + playerSprite->oam.size = SPRITE_SIZE(64x32); - CalcCenterToCornerVec(opponentSprite, 1, 3, 3); - CalcCenterToCornerVec(playerSprite, 1, 3, 3); + CalcCenterToCornerVec(opponentSprite, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), ST_OAM_AFFINE_DOUBLE); + CalcCenterToCornerVec(playerSprite, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), ST_OAM_AFFINE_DOUBLE); SetOamMatrixRotationScaling(opponentSprite->oam.matrixNum, sMugshotsOpponentRotationScales[mugshotId][0], sMugshotsOpponentRotationScales[mugshotId][1], 0); SetOamMatrixRotationScaling(playerSprite->oam.matrixNum, -512, 512, 0); diff --git a/src/battle_util.c b/src/battle_util.c index 03f1482da4..4352a02c25 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[] = @@ -1830,9 +1830,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA { switch (GetCurrentWeather()) { - case WEATHER_RAIN_LIGHT: - case WEATHER_RAIN_MED: - case WEATHER_RAIN_HEAVY: + case WEATHER_RAIN: + case WEATHER_RAIN_THUNDERSTORM: + case WEATHER_DOWNPOUR: if (!(gBattleWeather & WEATHER_RAIN_ANY)) { gBattleWeather = (WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_PERMANENT); @@ -2084,7 +2084,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA } } break; - case ABILITYEFFECT_MOVE_END: // Think contact abilities. + case ABILITYEFFECT_ON_DAMAGE: // Contact abilities and Color Change switch (gLastUsedAbility) { case ABILITY_COLOR_CHANGE: diff --git a/src/battle_util2.c b/src/battle_util2.c index f840cd58b9..fd0dda76b9 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -2,7 +2,7 @@ #include "battle.h" #include "battle_anim.h" #include "battle_controllers.h" -#include "alloc.h" +#include "malloc.h" #include "pokemon.h" #include "trainer_hill.h" #include "party_menu.h" @@ -102,7 +102,7 @@ void AdjustFriendshipOnBattleFaint(u8 battlerId) } } -void sub_80571DC(u8 battlerId, u8 arg1) +void SwitchPartyOrderInGameMulti(u8 battlerId, u8 arg1) { if (GetBattlerSide(battlerId) != B_SIDE_OPPONENT) { @@ -110,13 +110,13 @@ void sub_80571DC(u8 battlerId, u8 arg1) // gBattleStruct->field_60[0][i] - for (i = 0; i < 3; i++) - gUnknown_0203CF00[i] = *(0 * 3 + i + (u8*)(gBattleStruct->field_60)); + for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) + gBattlePartyCurrentOrder[i] = *(0 * 3 + i + (u8*)(gBattleStruct->field_60)); - sub_81B8FB0(pokemon_order_func(gBattlerPartyIndexes[battlerId]), pokemon_order_func(arg1)); + SwitchPartyMonSlots(GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battlerId]), GetPartyIdFromBattlePartyId(arg1)); - for (i = 0; i < 3; i++) - *(0 * 3 + i + (u8*)(gBattleStruct->field_60)) = gUnknown_0203CF00[i]; + for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) + *(0 * 3 + i + (u8*)(gBattleStruct->field_60)) = gBattlePartyCurrentOrder[i]; } } diff --git a/src/berry.c b/src/berry.c index 49acb7d101..bbaa2b03ba 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 03764b2f8c..2a122541d4 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -12,7 +12,7 @@ #include "bg.h" #include "palette.h" #include "decompress.h" -#include "alloc.h" +#include "malloc.h" #include "gpu_regs.h" #include "text.h" #include "text_window.h" @@ -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 @@ -401,10 +402,10 @@ static const TaskFunc sUnknown_083399EC[] = static const struct OamData sOamData_8216314 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, @@ -544,10 +545,10 @@ static const struct SpriteTemplate sBlenderSyncArrow_SpriteTemplate = static const struct OamData sOamData_821640C = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, @@ -613,10 +614,10 @@ static const struct SpriteTemplate sUnknown_08339B40 = static const struct OamData sOamData_8216474 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, @@ -700,10 +701,10 @@ static const struct SpriteTemplate sUnknown_08339BE0 = static const struct OamData sOamData_8216514 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, @@ -758,10 +759,10 @@ static const struct SpriteTemplate sUnknown_08339C2C = static const struct OamData sOamData_8216560 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, @@ -1029,7 +1030,7 @@ static void sub_807FAC8(void) UnsetBgTilemapBuffer(2); UnsetBgTilemapBuffer(1); SetVBlankCallback(NULL); - sub_81AABF0(sub_807FFA4); + ChooseBerrySetCallback(sub_807FFA4); sBerryBlenderData->mainState = 0; } @@ -1108,7 +1109,7 @@ static void Blender_SetPlayerNamesLocal(u8 opponentsNum) sBerryBlenderData->playersNo = 2; StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName); - if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS)) + if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER)) StringCopy(gLinkPlayers[1].name, sBlenderOpponentsNames[BLENDER_MASTER]); else StringCopy(gLinkPlayers[1].name, sBlenderOpponentsNames[BLENDER_MISTER]); @@ -1173,7 +1174,7 @@ static void sub_8080018(void) { case 0: sub_8080588(); - gLinkType = 0x4422; + gLinkType = LINKTYPE_BERRY_BLENDER; sBerryBlenderData->field_72 = 0; for (i = 0; i < BLENDER_MAX_PLAYERS; i++) { @@ -1431,7 +1432,7 @@ static void Blender_SetOpponentsBerryData(u16 playerBerryItemId, u8 playersNum, { opponentBerryId = sOpponentBerrySets[opponentSetId][i]; var = playerBerryItemId - 163; - if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS) && gSpecialVar_0x8004 == 1) + if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER) && gSpecialVar_0x8004 == 1) { opponentSetId %= 5; opponentBerryId = sSpecialOpponentBerrySets[opponentSetId]; @@ -1516,7 +1517,7 @@ static void sub_80808D4(void) sBerryBlenderData->playAgainState = 0; sBerryBlenderData->loadGfxState = 0; - gLinkType = 0x4422; + gLinkType = LINKTYPE_BERRY_BLENDER; sBerryBlenderData->mainState++; break; case 1: @@ -1631,7 +1632,7 @@ static void sub_80808D4(void) if (gSpecialVar_0x8004 == 1) { - if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS)) + if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER)) sBerryBlenderData->field_120[0] = CreateTask(sub_8081224, 10); else sBerryBlenderData->field_120[0] = CreateTask(sUnknown_083399EC[0], 10); @@ -3338,7 +3339,7 @@ static bool8 Blender_PrintBlendingResults(void) TryAddContestLinkTvShow(&pokeblock, &sBerryBlenderData->tvBlender); CreateTask(sub_8083F3C, 6); - sub_80EECEC(); + IncrementDailyBerryBlender(); RemoveBagItem(gSpecialVar_ItemId, 1); AddPokeblock(&pokeblock); diff --git a/src/berry_crush.c b/src/berry_crush.c index 6259e0a419..f0987c9538 100755 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -1,26 +1,36 @@ #include "global.h" -#include "alloc.h" +#include "berry.h" #include "berry_powder.h" #include "bg.h" +#include "decompress.h" +#include "dynamic_placeholder_text_util.h" #include "event_data.h" #include "gpu_regs.h" #include "graphics.h" +#include "international_string_util.h" #include "item_icon.h" #include "item_menu.h" #include "link.h" #include "link_rfu.h" #include "main.h" +#include "malloc.h" #include "math_util.h" #include "menu.h" #include "overworld.h" #include "palette.h" +#include "pokemon_jump.h" +#include "random.h" #include "rom_8034C54.h" +#include "save.h" #include "scanline_effect.h" +#include "script.h" #include "sound.h" #include "sprite.h" #include "string_util.h" +#include "strings.h" #include "task.h" #include "text.h" +#include "text_window.h" #include "trig.h" #include "window.h" #include "constants/items.h" @@ -30,96 +40,146 @@ struct BerryCrushGame_Player { u16 unk0; - u8 filler2[0x12]; - u8 unk14[0xC]; + u16 unk2; + union + { + u8 as_2d_bytes[2][8]; + u16 as_hwords[8]; + } unk4; + u8 unk14[12]; }; -struct BerryCrushGame_PlayersSeparate +struct __attribute__((packed, aligned(2))) BerryCrushGame_4E { - struct BerryCrushGame_Player player; - struct BerryCrushGame_Player others[4]; -}; - -typedef union BerryCrushGame_Players -{ - struct BerryCrushGame_Player players[5]; - struct BerryCrushGame_PlayersSeparate separate; -} BerryCrushGame_Players; - -struct BerryCrushGame_138_C -{ - u8 filler0[0x8]; - s16 unk8; - u16 unkA; -}; - -struct BerryCrushGame_138 -{ - u8 filler0[0x4]; - u16 unk4; + u16 unk0; + u16 filler2; + u8 unk4_0:1; + u8 unk4_1:1; + s8 unk5; u16 unk6; u16 unk8; - struct BerryCrushGame_138_C *unkC[5]; - u8 filler1C[0x4]; - struct Sprite *unk24[5]; - struct Sprite *unk38[5]; - struct Sprite *unk4C[5]; - struct Sprite *unk60[5]; - struct Sprite *unk74[5]; -}; - -struct BerryCrushGame_4E -{ - u8 filler0[0x4]; - u8 unk4; - u8 filler5[0x5]; u16 unkA; u16 unkC; }; struct __attribute__((packed)) BerryCrushGame_40 { - u8 filler0[0xE]; + u8 unk0[2]; + u16 unk2[6]; struct BerryCrushGame_4E unkE; }; +struct BerryCrushGame_5C +{ + u16 unk00; + u8 unk02_0:1; + u8 unk02_1:1; + u8 unk02_2:1; + u8 unk02_3:5; + u8 unk03; + u16 unk04; + u16 unk06; + u16 unk08; + u16 unk0A; +}; + +union BerryCrushGame_68 +{ + struct BerryCrushGame_68_x + { + struct BerryCrushGame_68_x_SubStruct + { + s32 unk00; + u16 unk04; + s16 unk06; + u16 unk08; + u16 unk0A; + u16 unk0C[2][5]; + u8 filler20[16]; + } unk00; + u8 unk30[12]; + struct BerryCrushGame_Player others[4]; + u8 fillerBC[20]; + } as_four_players; + struct BerryCrushGame_68_y + { + u8 filler00[28]; + struct BerryCrushGame_Player unk1C[5]; + u8 fillerBC[20]; + } as_five_players; +}; + +struct BerryCrushGame_138_C +{ + u8 unk0; + u8 unk1; + u8 unk2; + u16 unk4; + u16 unk6; + s16 unk8; + u16 unkA; +}; + +struct BerryCrushGame_138 +{ + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; + s16 unk4; + s16 unk6; + s16 unk8; + const struct BerryCrushGame_138_C *unkC[5]; + struct Sprite *unk20; + struct Sprite *unk24[5]; + struct Sprite *unk38[5]; + struct Sprite *unk4C[11]; + struct Sprite *unk78[2]; + u8 unk80; + u8 filler81; + u8 unk82; + u8 unk83[5]; +}; + struct BerryCrushGame { MainCallback unk0; - void (* unk4)(struct BerryCrushGame *, u8 *); + u32 (* unk4)(struct BerryCrushGame *, u8 *); u8 unk8; u8 unk9; u8 unkA; u8 unkB; u8 unkC; - u8 fillerD[0x1]; + u8 unkD; u8 unkE; u8 unkF; - u8 filler10[0x2]; + u16 unk10; u16 unk12; - u8 filler14[0x2]; + u16 unk14; u16 unk16; - u8 filler18[0x4]; + s16 unk18; + s16 unk1A; int unk1C; - u8 filler20[0x5]; + s32 unk20; + u8 unk24; u8 unk25_0:1; u8 unk25_1:1; u8 unk25_2:1; - u8 filler26[0x2]; + u8 unk25_3:1; + u8 unk25_4:1; + u8 unk25_5:3; + u16 unk26; u16 unk28; - u16 unk2A; + s16 unk2A; s16 unk2C; - u8 filler2E[0x8]; + s16 unk2E; + s16 unk30; + s16 unk32; + s16 unk34; u8 unk36[0xA]; struct BerryCrushGame_40 unk40; - u8 filler60[0x8]; - int unk68; - u16 unk6C; - u8 filler6E[0x4]; - u16 unk72; - u8 filler74[0x10]; - BerryCrushGame_Players unk84; - u8 filler124[0x14]; + struct BerryCrushGame_5C unk5C; + union BerryCrushGame_68 unk68; struct BerryCrushGame_138 unk138; u8 unk1C0[0x1000]; u8 unk11C0[0x1000]; @@ -132,7 +192,7 @@ static void sub_8020F88(void); static void sub_8020FA0(u8); void sub_8020FC4(struct BerryCrushGame *); void sub_8022BEC(u16, u8, u8 *); -void sub_8024604(u8 *, u8, s8, u8, u8, u8, u8); +void sub_8024604(u8 *, u32, s32, u32, u32, u32, u32); static int sub_8021450(struct BerryCrushGame *); void sub_8022588(struct BerryCrushGame *); void sub_8022600(struct BerryCrushGame *); @@ -141,6 +201,9 @@ void sub_8022730(struct BerryCrushGame *); void sub_8022960(struct BerryCrushGame *); void sub_8022524(struct BerryCrushGame_138 *, u16); void sub_8022B28(struct Sprite *); +void sub_8022554(struct BerryCrushGame_138 *r0); +void sub_8024578(struct BerryCrushGame *); +void sub_8024644(u8 *, u32, u32, u32, u32); static EWRAM_DATA struct BerryCrushGame *gUnknown_02022C90 = NULL; @@ -153,14 +216,42 @@ extern const u16 gUnknown_082F41E8[]; extern const s8 gUnknown_082F41CC[][2]; extern const s8 gUnknown_082F41D2[][2]; extern const u32 gUnknown_082F334C[]; -extern const u8 gUnknown_082F32D8[][3]; +extern const u8 sBerryCrushTextColors1[][3]; +extern const u8 *gUnknown_082F43B4[]; +extern const u8 sBerryCrushTextColors4[]; +extern const struct WindowTemplate gUnknown_082F32CC[]; +extern const u8 gUnknown_082F3344[][4]; +extern const struct WindowTemplate gUnknown_082F32EC; +extern const u8 sBerryCrushTextColorTable[][3]; +extern const struct WindowTemplate gUnknown_082F32F4[]; +extern const u8 gUnknown_082F417C[][5]; +extern const struct BerryCrushGame_138_C gUnknown_082F4190[]; +extern const u8 sBerryCrushTextColors2[][3]; +extern const u8 sBerryCrushTextColors3[][3]; +extern const u32 gUnknown_08DE3FD4[]; +extern const struct CompressedSpriteSheet gUnknown_082F41F4[]; +extern const struct SpritePalette gUnknown_082F421C; +extern const struct SpriteTemplate gUnknown_082F430C; +extern const struct SpriteTemplate gUnknown_082F4324; +extern const struct SpriteTemplate gUnknown_082F433C; +extern const struct SpriteTemplate gUnknown_082F4354; +extern const struct UnkStruct3 gUnknown_082F4384[]; +extern u32 (*const gUnknown_082F43CC[])(struct BerryCrushGame *, u8 *); +extern const u8 *const gUnknown_082F32A4[]; +extern const u8 gUnknown_082F4448[]; +extern const s8 gUnknown_082F326C[][7]; +extern const u8 gUnknown_082F325C[]; +extern const u8 gUnknown_082F3264[]; +extern const u8 gUnknown_082F3290[][4]; +extern const u8 gUnknown_082F4434[][4]; +extern const u8 gUnknown_082F4444[]; struct BerryCrushGame *sub_8020C00(void) { return gUnknown_02022C90; } -int sub_8020C0C(MainCallback callback) +u32 sub_8020C0C(MainCallback callback) { if (!gUnknown_02022C90) return 2; @@ -173,7 +264,7 @@ int sub_8020C0C(MainCallback callback) SetMainCallback2(callback); if (callback == CB2_ReturnToField) { - gTextFlags.autoScroll = 1; + gTextFlags.autoScroll = TRUE; PlayNewMapMusic(MUS_POKECEN); SetMainCallback1(CB1_Overworld); } @@ -237,7 +328,7 @@ static void sub_8020D8C(void) else RemoveBagItem(gSpecialVar_ItemId, 1); - gUnknown_02022C90->unk84.separate.others[gUnknown_02022C90->unk8].unk0 = gSpecialVar_ItemId - FIRST_BERRY_INDEX; + gUnknown_02022C90->unk68.as_four_players.others[gUnknown_02022C90->unk8].unk0 = gSpecialVar_ItemId - FIRST_BERRY_INDEX; gUnknown_02022C90->unkE = 1; gUnknown_02022C90->unkF = 9; sub_8024604(gUnknown_02022C90->unk36, 0, -1, 0, 16, 0, 0); @@ -249,7 +340,7 @@ static void sub_8020D8C(void) void sub_8020E1C(void) { DestroyTask(gUnknown_02022C90->unkA); - sub_81AABF0(sub_8020D8C); + ChooseBerrySetCallback(sub_8020D8C); } static void sub_8020E3C(void) @@ -266,10 +357,10 @@ void sub_8020E58(void) { u32 var0, var1; - var0 = gUnknown_02022C90->unk6C; + var0 = gUnknown_02022C90->unk68.as_four_players.unk00.unk04; var0 <<= 8; var0 = sub_81515FC(var0, 60 << 8); - var1 = gUnknown_02022C90->unk72; + var1 = gUnknown_02022C90->unk68.as_four_players.unk00.unk0A; var1 <<= 8; var1 = sub_81515FC(var1, var0) & 0xFFFF; gUnknown_02022C90->unk16 = var1; @@ -305,7 +396,7 @@ void sub_8020E58(void) break; } - gUnknown_02022C90->unk1C = gUnknown_02022C90->unk68; + gUnknown_02022C90->unk1C = gUnknown_02022C90->unk68.as_four_players.unk00.unk00; if (GiveBerryPowder(gUnknown_02022C90->unk1C)) return; @@ -335,18 +426,22 @@ static void sub_8020FA0(u8 taskId) sub_8021450(gUnknown_02022C90); } -#ifdef NONMATCHING +#define PLAYER_UNK14(game, i) \ + ((u8 *)(game) \ + + offsetof(struct BerryCrushGame, unk68) \ + + offsetof(struct BerryCrushGame_68_x, unk30) \ + + sizeof(struct BerryCrushGame_Player) * (i)) + void sub_8020FC4(struct BerryCrushGame *arg0) { u8 i; for (i = 0; i < arg0->unk9; i++) - StringCopy(arg0->unk84.players[i].unk14, gLinkPlayers[i].name); - + StringCopy(PLAYER_UNK14(arg0, i), gLinkPlayers[i].name); for (; i < 5; i++) { - memset(arg0->unk84.players[i].unk14, 1, PLAYER_NAME_LENGTH); - arg0->unk84.players[i].unk14[PLAYER_NAME_LENGTH] = EOS; + memset(PLAYER_UNK14(arg0, i), 1, PLAYER_NAME_LENGTH); + arg0->unk68.as_five_players.unk1C[i].unk14[PLAYER_NAME_LENGTH] = EOS; } switch (gSaveBlock2Ptr->optionsTextSpeed) @@ -362,85 +457,6 @@ void sub_8020FC4(struct BerryCrushGame *arg0) break; } } -#else -NAKED -void sub_8020FC4(struct BerryCrushGame *arg0) -{ - asm_unified("\n\ - push {r4-r6,lr}\n\ - adds r6, r0, 0\n\ - movs r5, 0\n\ - b _08020FE6\n\ -LOOP_1:\n\ - lsls r0, r5, 5\n\ - adds r0, 0x98\n\ - adds r0, r6, r0\n\ - lsls r1, r5, 3\n\ - subs r1, r5\n\ - lsls r1, 2\n\ - ldr r2, =gLinkPlayers + 8\n\ - adds r1, r2\n\ - bl StringCopy\n\ - adds r0, r5, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ -_08020FE6:\n\ - ldrb r0, [r6, 0x9]\n\ - cmp r5, r0\n\ - bcc LOOP_1\n\ - cmp r5, 0x4\n\ - bhi _08021012\n\ -_08020FF0:\n\ - lsls r4, r5, 5\n\ - adds r0, r4, 0\n\ - adds r0, 0x98\n\ - adds r0, r6, r0\n\ - movs r1, 0x1\n\ - movs r2, 0x7\n\ - bl memset\n\ - adds r4, r6, r4\n\ - adds r4, 0x9F\n\ - movs r0, 0xFF\n\ - strb r0, [r4]\n\ - adds r0, r5, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - cmp r5, 0x4\n\ - bls _08020FF0\n\ -_08021012:\n\ - ldr r0, =gSaveBlock2Ptr\n\ - ldr r0, [r0]\n\ - ldrb r0, [r0, 0x14]\n\ - lsls r0, 29\n\ - lsrs r0, 29\n\ - cmp r0, 0x1\n\ - beq _0802103E\n\ - cmp r0, 0x1\n\ - bgt _08021034\n\ - cmp r0, 0\n\ - beq _0802103A\n\ - b _08021046\n\ - .pool\n\ -_08021034:\n\ - cmp r0, 0x2\n\ - beq _08021042\n\ - b _08021046\n\ -_0802103A:\n\ - movs r0, 0x8\n\ - b _08021044\n\ -_0802103E:\n\ - movs r0, 0x4\n\ - b _08021044\n\ -_08021042:\n\ - movs r0, 0x1\n\ -_08021044:\n\ - strb r0, [r6, 0xB]\n\ -_08021046:\n\ - pop {r4-r6}\n\ - pop {r0}\n\ - bx r0"); -} -#endif // NONMATCHING int sub_802104C(void) { @@ -503,7 +519,7 @@ int sub_802104C(void) sub_8197200(); sub_8022588(var0); sub_8022600(var0); - gPaletteFade.bufferTransferDisabled = 1; + gPaletteFade.bufferTransferDisabled = TRUE; break; case 7: LoadPalette(gUnknown_08DE3398, 0, 0x180); @@ -524,7 +540,7 @@ int sub_802104C(void) ChangeBgY(1, 0, 0); break; case 9: - gPaletteFade.bufferTransferDisabled = 0; + gPaletteFade.bufferTransferDisabled = FALSE; BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK); ShowBg(0); ShowBg(1); @@ -636,10 +652,10 @@ void sub_80214A8(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1) &gUnknown_082F436C, gUnknown_082F41E8[i], gUnknown_082F41E8[i], - arg0->unk84.separate.others[i].unk0 + 133); + arg0->unk68.as_four_players.others[i].unk0 + 133); arg1->unk38[i] = &gSprites[spriteId]; arg1->unk38[i]->oam.priority = 3; - arg1->unk38[i]->affineAnimPaused = 1; + arg1->unk38[i]->affineAnimPaused = TRUE; arg1->unk38[i]->pos1.x = arg1->unkC[i]->unk8 + 120; arg1->unk38[i]->pos1.y = -16; data = arg1->unk38[i]->data; @@ -695,7 +711,7 @@ void sub_8021608(struct Sprite *sprite) } } -void sub_80216A8(struct BerryCrushGame *arg0) +void sub_80216A8(struct BerryCrushGame *arg0, __attribute__((unused)) struct BerryCrushGame_138 *arg1) { u8 i; for (i = 0; i < arg0->unk9; i++) @@ -726,8 +742,8 @@ void sub_80216E0(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1) else StartSpriteAnim(arg1->unk24[i], 0); - arg1->unk24[i]->invisible = 0; - arg1->unk24[i]->animPaused = 0; + arg1->unk24[i]->invisible = FALSE; + arg1->unk24[i]->animPaused = FALSE; arg1->unk24[i]->pos2.x = gUnknown_082F41CC[(var % 4) - 1][0]; arg1->unk24[i]->pos2.y = gUnknown_082F41CC[(var % 4) - 1][1]; } @@ -750,7 +766,7 @@ void sub_80216E0(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1) arg1->unk4C[i]->pos1.y = gUnknown_082F41D2[i][1] + 136 - (var * 4); arg1->unk4C[i]->pos2.x = gUnknown_082F41D2[i][0] + (gUnknown_082F41D2[i][0] / (var2 * 4)); arg1->unk4C[i]->pos2.y = gUnknown_082F41D2[i][1]; - if (var4E->unk4 & 0x2) + if (var4E->unk4_1) StartSpriteAnim(arg1->unk4C[i], 1); else StartSpriteAnim(arg1->unk4C[i], 0); @@ -821,5 +837,2347 @@ void sub_8021944(struct BerryCrushGame_138 *arg0, u16 arg1) void sub_80219C8(u8 windowId, u8 left, u8 colorId, const u8 *string) { left = (left * 4) - (GetStringWidth(2, string, -1) / 2u); - AddTextPrinterParameterized3(windowId, 2, left, 0, gUnknown_082F32D8[colorId], 0, string); + AddTextPrinterParameterized3(windowId, 2, left, 0, sBerryCrushTextColors1[colorId], 0, string); +} + +#ifdef NONMATCHING +void sub_8021A28(struct BerryCrushGame *sp0C, u8 sp10, u8 sp14, u8 r3) +{ + s32 r6; + u8 i, j; + u8 sp18 = 0; + u8 sp1C = 0; + union BerryCrushGame_68 *sp20 = &sp0C->unk68; + u32 xOffset; + u32 r8, r9, r4, r7, r3_; + u8 r10, r2; + + r3 -= 16; + if (sp10 == 2) + r3 -= 42; + r6 = r3 - 14 * sp0C->unk9; + if (r6 > 0) + r6 = r6 / 2 + 16; + else + r6 = 16; + i = 0; + while (i < sp0C->unk9) + { + DynamicPlaceholderTextUtil_Reset(); + switch (sp10) + { + default: // how can you write this twice?????? + r4 = sp14 - 4; + r10 = r6; + r9 = sp1C + 0xA2; + r8 = sp18; + r6 += 14; + ++i; + break; + case 0: + sp18 = sp20->as_five_players.unk1C[0].unk4.as_2d_bytes[0][i]; + if (i != 0 && sp20->as_four_players.unk00.unk0C[0][i] != sp20->as_four_players.unk00.unk0C[0][i - 1]) + sp1C = i; + ConvertIntToDecimalStringN( + gStringVar4, + sp20->as_four_players.unk00.unk0C[sp10][i], + STR_CONV_MODE_RIGHT_ALIGN, + 4 + ); + StringAppend(gStringVar4, gUnknown_082F43B4[sp10]); + r4 = sp14 - 4; + r10 = r6; + r9 = sp1C + 0xA2; + r8 = sp18; + r6 += 14; + ++i; + break; + case 1: + sp18 = sp20->as_five_players.unk1C[0].unk4.as_2d_bytes[1][i]; + if (i != 0 && sp20->as_four_players.unk00.unk0C[1][i] != sp20->as_four_players.unk00.unk0C[1][i - 1]) + sp1C = i; + ConvertIntToDecimalStringN( + gStringVar1, + sp20->as_four_players.unk00.unk0C[sp10][i] >> 4, + STR_CONV_MODE_RIGHT_ALIGN, + 3 + ); + j = 0; + r3_ = 15 & (u8)sp20->as_four_players.unk00.unk0C[sp10][i]; + r4 = sp14 - 4; + r10 = r6; + r9 = sp1C + 0xA2; + r8 = sp18; + r6 += 14; + ++i; + for (; j < 4; ++j) + if (((r3_ >> (3 - j)) & 1) != 0) // why does it load constant 1 into r10? + r7 += gUnknown_082F334C[j]; + ConvertIntToDecimalStringN( + gStringVar2, + (u8)(r7 / 1000000), + STR_CONV_MODE_LEADING_ZEROS, + 2 + ); + StringExpandPlaceholders(gStringVar4, gText_XDotY); + break; + case 2: + sp18 = i; + sp1C = i; + r2 = sp0C->unk68.as_four_players.others[i].unk0; + if (r2 > 43) + r2 = 0; + StringCopy(gStringVar1,gBerries[r2].name); + StringExpandPlaceholders(gStringVar4, gText_Var1Berry); + r4 = sp14 - 4; + r10 = r6; + r9 = sp1C + 0xA2; + r8 = i; + r6 += 14; + ++i; + break; + } + xOffset = GetStringRightAlignXOffset(2, gStringVar4, r4); + AddTextPrinterParameterized3( + sp0C->unk138.unk82, + 2, + xOffset, + r10, + sBerryCrushTextColors1[0], + 0, + gStringVar4 + ); + if (sp18 == sp0C->unk8) + StringCopy(gStringVar3, gText_1DotBlueF700); + else + StringCopy(gStringVar3, gText_1DotF700); + gStringVar3[0] = r9; + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, PLAYER_UNK14(sp0C, r8)); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gStringVar3); + AddTextPrinterParameterized3( + sp0C->unk138.unk82, + 2, + 4, + r10, + sBerryCrushTextColors1[0], + 0, + gStringVar4 + ); + } +} +#else +NAKED +void sub_8021A28(struct BerryCrushGame *sp0C, u8 sp10, u8 sp14, u8 r3) +{ + asm_unified("\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x2C\n\ + str r0, [sp, 0xC]\n\ + lsls r1, 24\n\ + lsrs r1, 24\n\ + str r1, [sp, 0x10]\n\ + lsls r2, 24\n\ + lsrs r2, 24\n\ + str r2, [sp, 0x14]\n\ + lsls r3, 24\n\ + movs r0, 0\n\ + str r0, [sp, 0x18]\n\ + movs r1, 0\n\ + str r1, [sp, 0x1C]\n\ + ldr r2, [sp, 0xC]\n\ + adds r2, 0x68\n\ + str r2, [sp, 0x20]\n\ + movs r4, 0xF0\n\ + lsls r4, 24\n\ + adds r3, r4\n\ + lsrs r3, 24\n\ + ldr r0, [sp, 0x10]\n\ + cmp r0, 0x2\n\ + bne _08021A68\n\ + adds r0, r3, 0\n\ + subs r0, 0x2A\n\ + lsls r0, 24\n\ + lsrs r3, r0, 24\n\ + _08021A68:\n\ + ldr r2, [sp, 0xC]\n\ + ldrb r1, [r2, 0x9]\n\ + lsls r0, r1, 3\n\ + subs r0, r1\n\ + lsls r0, 1\n\ + subs r6, r3, r0\n\ + cmp r6, 0\n\ + ble _08021A84\n\ + lsrs r0, r6, 31\n\ + adds r0, r6, r0\n\ + asrs r0, 1\n\ + adds r6, r0, 0\n\ + adds r6, 0x10\n\ + b _08021A86\n\ + _08021A84:\n\ + movs r6, 0x10\n\ + _08021A86:\n\ + movs r5, 0\n\ + ldr r3, [sp, 0xC]\n\ + ldrb r3, [r3, 0x9]\n\ + cmp r5, r3\n\ + bcc _08021A92\n\ + b _08021D14\n\ + _08021A92:\n\ + ldr r4, [sp, 0x10]\n\ + lsls r4, 2\n\ + str r4, [sp, 0x24]\n\ + _08021A98:\n\ + bl DynamicPlaceholderTextUtil_Reset\n\ + ldr r0, [sp, 0x10]\n\ + cmp r0, 0x1\n\ + beq _08021B48\n\ + cmp r0, 0x1\n\ + bgt _08021AC0\n\ + cmp r0, 0\n\ + beq _08021ADE\n\ + ldr r4, [sp, 0x14]\n\ + subs r4, 0x4\n\ + lsls r1, r6, 24\n\ + mov r10, r1\n\ + ldr r2, [sp, 0x1C]\n\ + adds r2, 0xA2\n\ + mov r9, r2\n\ + ldr r3, [sp, 0x18]\n\ + lsls r3, 5\n\ + mov r8, r3\n\ + b _08021C5A\n\ + _08021AC0:\n\ + ldr r4, [sp, 0x10]\n\ + cmp r4, 0x2\n\ + bne _08021AC8\n\ + b _08021C1C\n\ + _08021AC8:\n\ + ldr r4, [sp, 0x14]\n\ + subs r4, 0x4\n\ + lsls r0, r6, 24\n\ + mov r10, r0\n\ + ldr r1, [sp, 0x1C]\n\ + adds r1, 0xA2\n\ + mov r9, r1\n\ + ldr r2, [sp, 0x18]\n\ + lsls r2, 5\n\ + mov r8, r2\n\ + b _08021C5A\n\ + _08021ADE:\n\ + ldr r0, [sp, 0x20]\n\ + adds r0, 0x20\n\ + adds r0, r5\n\ + ldrb r0, [r0]\n\ + str r0, [sp, 0x18]\n\ + lsls r3, r5, 1\n\ + ldr r2, [sp, 0x20]\n\ + adds r2, 0xC\n\ + cmp r5, 0\n\ + beq _08021B04\n\ + adds r0, r2, r3\n\ + subs r1, r5, 0x1\n\ + lsls r1, 1\n\ + adds r1, r2, r1\n\ + ldrh r0, [r0]\n\ + ldrh r1, [r1]\n\ + cmp r0, r1\n\ + beq _08021B04\n\ + str r5, [sp, 0x1C]\n\ + _08021B04:\n\ + ldr r4, [sp, 0x24]\n\ + ldr r1, [sp, 0x10]\n\ + adds r0, r4, r1\n\ + lsls r0, 1\n\ + adds r0, r3, r0\n\ + adds r0, r2, r0\n\ + ldrh r1, [r0]\n\ + ldr r0, =gStringVar4\n\ + movs r2, 0x1\n\ + movs r3, 0x4\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r0, =gUnknown_082F43B4\n\ + adds r0, r4, r0\n\ + ldr r1, [r0]\n\ + ldr r0, =gStringVar4\n\ + bl StringAppend\n\ + ldr r4, [sp, 0x14]\n\ + subs r4, 0x4\n\ + lsls r2, r6, 24\n\ + mov r10, r2\n\ + ldr r3, [sp, 0x1C]\n\ + adds r3, 0xA2\n\ + mov r9, r3\n\ + ldr r0, [sp, 0x18]\n\ + lsls r0, 5\n\ + mov r8, r0\n\ + b _08021C5A\n\ + .pool\n\ + _08021B48:\n\ + ldr r1, [sp, 0x20]\n\ + adds r0, r1, r5\n\ + adds r0, 0x28\n\ + ldrb r0, [r0]\n\ + str r0, [sp, 0x18]\n\ + lsls r3, r5, 1\n\ + adds r2, r1, 0\n\ + adds r2, 0xC\n\ + cmp r5, 0\n\ + beq _08021B72\n\ + adds r0, r3, 0\n\ + adds r0, 0xA\n\ + adds r0, r2, r0\n\ + adds r1, r3, 0\n\ + adds r1, 0x8\n\ + adds r1, r2, r1\n\ + ldrh r0, [r0]\n\ + ldrh r1, [r1]\n\ + cmp r0, r1\n\ + beq _08021B72\n\ + str r5, [sp, 0x1C]\n\ + _08021B72:\n\ + ldr r0, [sp, 0x24]\n\ + ldr r1, [sp, 0x10]\n\ + adds r4, r0, r1\n\ + lsls r4, 1\n\ + adds r4, r3, r4\n\ + adds r4, r2, r4\n\ + ldrh r1, [r4]\n\ + lsrs r1, 4\n\ + ldr r0, =gStringVar1\n\ + movs r2, 0x1\n\ + movs r3, 0x3\n\ + bl ConvertIntToDecimalStringN\n\ + movs r7, 0\n\ + ldrb r0, [r4]\n\ + movs r3, 0xF\n\ + ands r3, r0\n\ + movs r2, 0\n\ + ldr r4, [sp, 0x10]\n\ + lsls r4, 2\n\ + str r4, [sp, 0x28]\n\ + ldr r4, [sp, 0x14]\n\ + subs r4, 0x4\n\ + lsls r0, r6, 24\n\ + mov r10, r0\n\ + ldr r1, [sp, 0x1C]\n\ + adds r1, 0xA2\n\ + mov r9, r1\n\ + ldr r0, [sp, 0x18]\n\ + lsls r0, 5\n\ + mov r8, r0\n\ + adds r6, 0xE\n\ + adds r5, 0x1\n\ + ldr r1, =gUnknown_082F334C\n\ + mov r12, r1\n\ + _08021BB8:\n\ + movs r0, 0x3\n\ + subs r1, r0, r2\n\ + adds r0, r3, 0\n\ + asrs r0, r1\n\ + movs r1, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _08021BD0\n\ + lsls r0, r2, 2\n\ + add r0, r12\n\ + ldr r0, [r0]\n\ + adds r7, r0\n\ + _08021BD0:\n\ + adds r0, r2, 0x1\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + cmp r2, 0x3\n\ + bls _08021BB8\n\ + adds r0, r7, 0\n\ + ldr r1, =0x000f4240\n\ + bl __udivsi3\n\ + lsls r0, 24\n\ + lsrs r3, r0, 24\n\ + ldr r0, =gStringVar2\n\ + adds r1, r3, 0\n\ + movs r2, 0x2\n\ + movs r3, 0x2\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r0, =gUnknown_082F43B4\n\ + ldr r2, [sp, 0x28]\n\ + adds r0, r2, r0\n\ + ldr r1, [r0]\n\ + ldr r0, =gStringVar4\n\ + bl StringExpandPlaceholders\n\ + b _08021C5E\n\ + .pool\n\ + _08021C1C:\n\ + str r5, [sp, 0x18]\n\ + str r5, [sp, 0x1C]\n\ + lsls r7, r5, 5\n\ + ldr r3, [sp, 0xC]\n\ + adds r0, r3, r7\n\ + adds r0, 0xA4\n\ + ldrb r2, [r0]\n\ + cmp r2, 0x2B\n\ + bls _08021C30\n\ + movs r2, 0\n\ + _08021C30:\n\ + lsls r1, r2, 3\n\ + subs r1, r2\n\ + lsls r1, 2\n\ + ldr r0, =gBerries\n\ + adds r1, r0\n\ + ldr r0, =gStringVar1\n\ + bl StringCopy\n\ + ldr r0, =gUnknown_082F43B4\n\ + ldr r1, [r0, 0x8]\n\ + ldr r0, =gStringVar4\n\ + bl StringExpandPlaceholders\n\ + ldr r4, [sp, 0x14]\n\ + subs r4, 0x4\n\ + lsls r0, r6, 24\n\ + mov r10, r0\n\ + movs r1, 0xA2\n\ + adds r1, r5\n\ + mov r9, r1\n\ + mov r8, r7\n\ + _08021C5A:\n\ + adds r6, 0xE\n\ + adds r5, 0x1\n\ + _08021C5E:\n\ + movs r0, 0x2\n\ + ldr r1, =gStringVar4\n\ + adds r2, r4, 0\n\ + bl GetStringRightAlignXOffset\n\ + adds r2, r0, 0\n\ + ldr r3, [sp, 0xC]\n\ + movs r4, 0xDD\n\ + lsls r4, 1\n\ + adds r0, r3, r4\n\ + ldrb r0, [r0]\n\ + lsls r2, 24\n\ + lsrs r2, 24\n\ + mov r1, r10\n\ + lsrs r3, r1, 24\n\ + ldr r1, =sBerryCrushTextColors1\n\ + str r1, [sp]\n\ + movs r4, 0\n\ + str r4, [sp, 0x4]\n\ + ldr r1, =gStringVar4\n\ + str r1, [sp, 0x8]\n\ + movs r1, 0x2\n\ + bl AddTextPrinterParameterized3\n\ + ldr r3, [sp, 0x18]\n\ + ldr r2, [sp, 0xC]\n\ + ldrb r2, [r2, 0x8]\n\ + cmp r3, r2\n\ + bne _08021CC0\n\ + ldr r0, =gStringVar3\n\ + ldr r1, =gText_1DotBlueF700\n\ + bl StringCopy\n\ + b _08021CC8\n\ + .pool\n\ + _08021CC0:\n\ + ldr r0, =gStringVar3\n\ + ldr r1, =gText_1DotF700\n\ + bl StringCopy\n\ + _08021CC8:\n\ + ldr r4, =gStringVar3\n\ + mov r3, r9\n\ + strb r3, [r4]\n\ + mov r1, r8\n\ + adds r1, 0x98\n\ + ldr r0, [sp, 0xC]\n\ + adds r1, r0, r1\n\ + movs r0, 0\n\ + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr\n\ + ldr r0, =gStringVar4\n\ + adds r1, r4, 0\n\ + bl DynamicPlaceholderTextUtil_ExpandPlaceholders\n\ + ldr r1, [sp, 0xC]\n\ + movs r2, 0xDD\n\ + lsls r2, 1\n\ + adds r0, r1, r2\n\ + ldrb r0, [r0]\n\ + mov r4, r10\n\ + lsrs r3, r4, 24\n\ + ldr r1, =sBerryCrushTextColors1\n\ + str r1, [sp]\n\ + movs r1, 0\n\ + str r1, [sp, 0x4]\n\ + ldr r2, =gStringVar4\n\ + str r2, [sp, 0x8]\n\ + movs r1, 0x2\n\ + movs r2, 0x4\n\ + bl AddTextPrinterParameterized3\n\ + lsls r0, r5, 24\n\ + lsrs r5, r0, 24\n\ + ldr r3, [sp, 0xC]\n\ + ldrb r3, [r3, 0x9]\n\ + cmp r5, r3\n\ + bcs _08021D14\n\ + b _08021A98\n\ + _08021D14:\n\ + add sp, 0x2C\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); +} +#endif + +void sub_8021D34(struct BerryCrushGame *r8) +{ + u8 r10 = 0; + u8 r6 = 0; + u32 sp0C = 0; + union BerryCrushGame_68 *sp10 = &r8->unk68; + u8 r7 = GetWindowAttribute(r8->unk138.unk82, WINDOW_HEIGHT) * 8 - 42; + + sub_8021944(&r8->unk138, sp10->as_four_players.unk00.unk04); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gText_TimeColon); + r6 = 176 - (u8)GetStringWidth(2, gText_SpaceSec, -1); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gText_SpaceSec); + ConvertIntToDecimalStringN(gStringVar1, r8->unk138.unk6, STR_CONV_MODE_LEADING_ZEROS, 2); + ConvertIntToDecimalStringN(gStringVar2, r8->unk138.unk8, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gText_XDotY2); + r6 -= GetStringWidth(2, gStringVar4, -1); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gStringVar4); + r6 -= GetStringWidth(2, gText_SpaceMin, -1); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gText_SpaceMin); + ConvertIntToDecimalStringN(gStringVar1, r8->unk138.unk4, STR_CONV_MODE_LEADING_ZEROS, 1); + StringExpandPlaceholders(gStringVar4, gText_StrVar1); + r6 -= GetStringWidth(2, gStringVar4, -1); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gStringVar4); + r7 += 14; + AddTextPrinterParameterized3(r8->unk138.unk82, 2, 0, r7, sBerryCrushTextColors1[0], 0, gText_PressingSpeed); + r6 = 176 - (u8)GetStringWidth(2, gText_TimesPerSec, -1); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gText_TimesPerSec); + for (; r10 < 8; ++r10) + if (((u8)r8->unk16 >> (7 - r10)) & 1) + sp0C += *(r10 + gUnknown_082F334C); // It's accessed in a different way here for unknown reason + ConvertIntToDecimalStringN(gStringVar1, r8->unk16 >> 8, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar2, sp0C / 1000000, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gText_XDotY3); + r6 -= GetStringWidth(2, gStringVar4, -1); + if (r8->unk25_1) + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors4, 0, gStringVar4); + else + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gStringVar4); + r7 += 14; + AddTextPrinterParameterized3(r8->unk138.unk82, 2, 0, r7, sBerryCrushTextColors1[0], 0, gText_Silkiness); + ConvertIntToDecimalStringN(gStringVar1, sp10->as_four_players.unk00.unk08, STR_CONV_MODE_RIGHT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gText_Var1Percent); + r6 = 176 - (u8)GetStringWidth(2, gStringVar4, -1); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gStringVar4); +} + +bool32 sub_8022070(struct BerryCrushGame *r4, struct BerryCrushGame_138 *r6) +{ + u8 r5; + struct WindowTemplate template; + + switch (r6->unk80) + { + case 0: + r5 = r4->unk9 - 2; + sub_8022554(r6); + memcpy(&template, &gUnknown_082F32CC[r4->unk12], sizeof(struct WindowTemplate)); + if (r4->unk12 == 13) + template.height = gUnknown_082F3344[1][r5]; + else + template.height = gUnknown_082F3344[0][r5]; + r6->unk82 = AddWindow(&template); + break; + case 1: + PutWindowTilemap(r6->unk82); + FillWindowPixelBuffer(r6->unk82, PIXEL_FILL(0)); + break; + case 2: + LoadUserWindowBorderGfx_(r6->unk82, 541, 208); + DrawStdFrameWithCustomTileAndPalette(r6->unk82, 0, 541, 13); + break; + case 3: + r5 = r4->unk9 - 2; + switch (r4->unk12) + { + case 11: + sub_80219C8(r6->unk82, 20, 3, gText_PressesRankings); + sub_8021A28(r4, 0, 0xA0, 8 * gUnknown_082F3344[0][r5]); + r6->unk80 = 5; + return FALSE; + case 12: + sub_80219C8(r6->unk82, 20, 4, gUnknown_082F43B4[r4->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[0][7] + 3]); + sub_8021A28(r4, 1, 0xA0, 8 * gUnknown_082F3344[0][r5]); + r6->unk80 = 5; + return FALSE; + case 13: + sub_80219C8(r6->unk82, 22, 3, gText_CrushingResults); + sub_8021A28(r4, 2, 0xB0, 8 * gUnknown_082F3344[1][r5]); + break; + } + break; + case 4: + sub_8021D34(r4); + break; + case 5: + CopyWindowToVram(r6->unk82, 3); + r6->unk80 = 0; + return TRUE; + } + ++r6->unk80; + return FALSE; +} + +void sub_802222C(struct BerryCrushGame *r4) +{ + ClearStdWindowAndFrameToTransparent(r4->unk138.unk82, 1); + RemoveWindow(r4->unk138.unk82); + sub_8022600(r4); +} + +void sub_8022250(u8 r4) +{ + u8 r9 = 0, r2, r7, r10; + u32 sp0C = 0; + s16 *r6 = gTasks[r4].data; + const u8 *r10_; // turn r5/sl register swap into r8/sl + + switch (r6[0]) + { + case 0: + r6[1] = AddWindow(&gUnknown_082F32EC); + PutWindowTilemap((u8)r6[1]); + FillWindowPixelBuffer((u8)r6[1], PIXEL_FILL(0)); + LoadUserWindowBorderGfx_((u8)r6[1], 541, 208); + DrawStdFrameWithCustomTileAndPalette((u8)r6[1], 0, 541, 13); + break; + case 1: + r10_ = gText_BerryCrush2; + ++r10_; --r10_; // swap sb/sl + #ifndef NONMATCHING + asm("":::"r8"); // turn r8/sl register swap into sb/sl + #endif + r7 = 96 - GetStringWidth(1, r10_, -1) / 2u; + AddTextPrinterParameterized3( + (u8)r6[1], + 1, + r7, + 1, + sBerryCrushTextColorTable[0], + 0, + r10_ + ); + r10_ = gText_PressingSpeedRankings; + r7 = 96 - GetStringWidth(1, r10_, -1) / 2u; + AddTextPrinterParameterized3( + (u8)r6[1], + 1, + r7, + 17, + sBerryCrushTextColorTable[0], + 0, + r10_ + ); + r10 = 41; + for (; r9 < 4; ++r9) + { + ConvertIntToDecimalStringN(gStringVar1, r9 + 2, STR_CONV_MODE_LEFT_ALIGN, 1); + StringExpandPlaceholders(gStringVar4, gText_Var1Players); + AddTextPrinterParameterized3( + (u8)r6[1], + 1, + 0, + r10, + sBerryCrushTextColors1[0], + 0, + gStringVar4 + ); + r7 = 192 - (u8)GetStringWidth(1, gText_TimesPerSec, -1); + AddTextPrinterParameterized3( + (u8)r6[1], + 1, + r7, + r10, + sBerryCrushTextColors1[0], + 0, + gText_TimesPerSec + ); + for (r2 = 0; r2 < 8; ++r2) + if (((u8)r6[r9 + 2] >> (7 - r2)) & 1) + sp0C += gUnknown_082F334C[r2]; + ConvertIntToDecimalStringN(gStringVar1, (u16)r6[r9 + 2] >> 8, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar2, sp0C / 1000000, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gText_XDotY3); + r7 -= GetStringWidth(1, gStringVar4, -1); + AddTextPrinterParameterized3( + (u8)r6[1], + 1, + r7, + r10, + sBerryCrushTextColors1[0], + 0, + gStringVar4 + ); + r10 += 16; + sp0C = 0; + } + CopyWindowToVram((u8)r6[1], 3); + break; + case 2: + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + break; + else + return; + case 3: + ClearStdWindowAndFrameToTransparent((u8)r6[1], 1); + ClearWindowTilemap((u8)r6[1]); + RemoveWindow((u8)r6[1]); + DestroyTask(r4); + EnableBothScriptContexts(); + ScriptContext2_Disable(); + r6[0] = 0; + return; + } + ++r6[0]; +} + +void ShowBerryCrushRankings(void) +{ + u8 taskId; + + ScriptContext2_Enable(); + taskId = CreateTask(sub_8022250, 0); + gTasks[taskId].data[2] = gSaveBlock2Ptr->berryCrush.berryCrushResults[0]; + gTasks[taskId].data[3] = gSaveBlock2Ptr->berryCrush.berryCrushResults[1]; + gTasks[taskId].data[4] = gSaveBlock2Ptr->berryCrush.berryCrushResults[2]; + gTasks[taskId].data[5] = gSaveBlock2Ptr->berryCrush.berryCrushResults[3]; +} + +void sub_8022524(struct BerryCrushGame_138 *r4, u16 r1) +{ + sub_8021944(r4, r1); + sub_8035044(0, r4->unk4); + sub_8035044(1, r4->unk6); + sub_8035044(2, r4->unk8); +} + +void sub_8022554(struct BerryCrushGame_138 *r0) +{ + r0->unk78[0]->invisible = TRUE; + r0->unk78[1]->invisible = TRUE; + sub_803547C(2, 1); + sub_803547C(1, 1); + sub_803547C(0, 1); +} + +void sub_8022588(struct BerryCrushGame *r5) +{ + u8 r6; + + for (r6 = 0; r6 < r5->unk9; ++r6) + { + r5->unk138.unkC[r6] = &gUnknown_082F4190[gUnknown_082F417C[r5->unk9 - 2][r6]]; + r5->unk138.unk83[r6] = AddWindow(&gUnknown_082F32F4[r5->unk138.unkC[r6]->unk0]); + PutWindowTilemap(r5->unk138.unk83[r6]); + FillWindowPixelBuffer(r5->unk138.unk83[r6], 0); + } +} + +void sub_8022600(struct BerryCrushGame *r6) +{ + u8 r7, r2; + u8 *r4; + + for (r7 = 0; r7 < r6->unk9; ++r7) + { + PutWindowTilemap(r6->unk138.unk83[r7]); + if (r7 == r6->unk8) + { + AddTextPrinterParameterized4( + r6->unk138.unk83[r7], + 2, + 36 - GetStringWidth(2, PLAYER_UNK14(r6, r7), 0) / 2u, + 1, + 0, + 0, + sBerryCrushTextColors2[0], + 0, + PLAYER_UNK14(r6, r7) + ); + } + else + { + AddTextPrinterParameterized4( + r6->unk138.unk83[r7], + 2, + 36 - GetStringWidth(2, PLAYER_UNK14(r6, r7), 0) / 2u, + 1, + 0, + 0, + sBerryCrushTextColors3[0], + 0, + PLAYER_UNK14(r6, r7) + ); + } + CopyWindowToVram(r6->unk138.unk83[r7], 3); + } + CopyBgTilemapBufferToVram(0); +} + +void sub_80226D0(struct BerryCrushGame *r6) +{ + u8 r5 = 0; + const u32 *r0 = gUnknown_08DE3FD4; +#ifndef NONMATCHING // r4, r5, r6 register roulette + register u8 *r4 asm("r4") = gDecompressionBuffer; + register u32 r0_ asm("r0"); +#else + u8 *r4 = gDecompressionBuffer; + u32 r0_; +#endif + + LZ77UnCompWram(r0, r4); + for (; r5 < r6->unk9; ++r5) + { + r0_ = r6->unk138.unkC[r5]->unk0; + CopyToBgTilemapBufferRect( + 3, + &r4[r0_ * 40], + r6->unk138.unkC[r5]->unk1, + r6->unk138.unkC[r5]->unk2, + 10, + 2 + ); + } + CopyBgTilemapBufferToVram(3); +} + +void sub_8022730(struct BerryCrushGame *r6) +{ + u8 r5 = 0; + u8 r2; + + r6->unk2A = -104; + r6->unk2C = 0; + gSpriteCoordOffsetX = 0; + gSpriteCoordOffsetY = -104; + for (; r5 < 4; ++r5) + LoadCompressedSpriteSheet(&gUnknown_082F41F4[r5]); + LoadSpritePalettes(&gUnknown_082F421C); + r2 = CreateSprite(&gUnknown_082F430C, 120, 88, 5); + r6->unk138.unk20 = &gSprites[r2]; + r6->unk138.unk20->oam.priority = 3; + r6->unk138.unk20->coordOffsetEnabled = TRUE; + r6->unk138.unk20->animPaused = TRUE; + for (r5 = 0; r5 < r6->unk9; ++r5) + { + r2 = CreateSprite( + &gUnknown_082F4324, + r6->unk138.unkC[r5]->unk4 + 120, + r6->unk138.unkC[r5]->unk6 + 32, + 0 + ); + r6->unk138.unk24[r5] = &gSprites[r2]; + r6->unk138.unk24[r5]->oam.priority = 1; + r6->unk138.unk24[r5]->invisible = TRUE; + r6->unk138.unk24[r5]->coordOffsetEnabled = TRUE; + r6->unk138.unk24[r5]->animPaused = TRUE; + } + for (r5 = 0; r5 < ARRAY_COUNT(r6->unk138.unk4C); ++r5) + { + r2 = CreateSprite( + &gUnknown_082F433C, + gUnknown_082F41D2[r5][0] + 120, + gUnknown_082F41D2[r5][1] + 136, + 6 + ); + r6->unk138.unk4C[r5] = &gSprites[r2]; + r6->unk138.unk4C[r5]->oam.priority = 3; + r6->unk138.unk4C[r5]->invisible = TRUE; + r6->unk138.unk4C[r5]->animPaused = TRUE; + r6->unk138.unk4C[r5]->data[0] = r5; + } + for (r5 = 0; r5 < ARRAY_COUNT(r6->unk138.unk78); ++r5) + { + r2 = CreateSprite( + &gUnknown_082F4354, + 24 * r5 + 176, + 8, + 0 + ); + r6->unk138.unk78[r5] = &gSprites[r2]; + r6->unk138.unk78[r5]->oam.priority = 0; + r6->unk138.unk78[r5]->invisible = FALSE; + r6->unk138.unk78[r5]->animPaused = FALSE; + } + sub_8034D14(0, 0, &gUnknown_082F4384[0]); + sub_8034D14(1, 0, &gUnknown_082F4384[1]); + sub_8034D14(2, 0, &gUnknown_082F4384[2]); + if (r6->unk12 == 1) + sub_8022554(&r6->unk138); +} + +void sub_8022960(struct BerryCrushGame *r5) +{ + u8 r4 = 0; + + FreeSpriteTilesByTag(4); + FreeSpriteTilesByTag(3); + FreeSpriteTilesByTag(2); + FreeSpriteTilesByTag(1); + FreeSpritePaletteByTag(4); + FreeSpritePaletteByTag(2); + FreeSpritePaletteByTag(1); + for (; r4 < ARRAY_COUNT(r5->unk138.unk78); ++r4) + DestroySprite(r5->unk138.unk78[r4]); + sub_80353DC(2); + sub_80353DC(1); + sub_80353DC(0); + for (r4 = 0; r4 < ARRAY_COUNT(r5->unk138.unk4C); ++r4) + DestroySprite(r5->unk138.unk4C[r4]); + for (r4 = 0; r4 < r5->unk9; ++r4) + DestroySprite(r5->unk138.unk24[r4]); + if (r5->unk138.unk20->inUse) + DestroySprite(r5->unk138.unk20); +} + +void sub_8022A20(struct Sprite *sprite) +{ + if (sprite->animEnded) + { + sprite->invisible = TRUE; + sprite->animPaused = TRUE; + } +} + +void sub_8022A4C(struct Sprite *sprite) +{ + u8 r1 = 0; + SpriteCallback r5 = SpriteCallbackDummy; + + for (; r1 < ARRAY_COUNT(sprite->data); ++r1) + sprite->data[r1] = 0; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sprite->invisible = TRUE; + sprite->animPaused = TRUE; + sprite->callback = r5; +} + +void sub_8022A94(struct Sprite *sprite) +{ + s16 *r4 = sprite->data; + + r4[1] += r4[2]; + sprite->pos2.y += r4[1] >> 8; + if (r4[7] & 0x8000) + { + sprite->data[0] += r4[3]; + r4[4] += r4[5]; + sprite->pos2.x = Sin(r4[4] >> 7, r4[6]); + if (r4[7] & 0x8000 && r4[4] >> 7 > 126) + { + sprite->pos2.x = 0; + r4[7] &= 0x7FFF; + } + } + sprite->pos1.x = r4[0] >> 7; + if (sprite->pos1.y + sprite->pos2.y > (r4[7] & 0x7FFF)) + sprite->callback = sub_8022A4C; +} + +void sub_8022B28(struct Sprite *sprite) +{ + s16 *r7 = sprite->data; + s16 r4, r5; + s32 r2; + u32 r8 = 0; + + r2 = 640; + r7[1] = r2; + r7[2] = 32; + r7[7] = 168; + r4 = sprite->pos2.x * 128; + r5 = sub_81515D4(7, (168 - sprite->pos1.y) << 7, (r2 + 32) >> 1); + sprite->data[0] = sprite->pos1.x << 7; + r7[3] = sub_81515D4(7, r4, r5); + r2 = sub_8151550(7, r5, 85); + r7[4] = r8; + r7[5] = sub_81515D4(7, 0x3F80, r2); + r7[6] = sprite->pos2.x / 4; + r7[7] |= 0x8000; + sprite->pos2.y = r8; + sprite->pos2.x = r8; + sprite->callback = sub_8022A94; + sprite->animPaused = FALSE; + sprite->invisible = FALSE; +} + +void sub_8022BEC(u16 r5, u8 r4, u8 *r7) +{ + struct BerryCrushGame *r6 = sub_8020C00(); + + if (r5 > 25) + r5 = 0; + switch (r4) + { + case 0: + if (r5 != 0) + gUnknown_082F43CC[r5](r6, r7); + if (r6->unkE > 25) + r6->unkE = r4; + r6->unk4 = gUnknown_082F43CC[r6->unkE]; + break; + case 1: + r6->unk4 = gUnknown_082F43CC[r5]; + break; + } +} + +u32 sub_8022C58(struct BerryCrushGame *r6, u8 *r1) +{ + u16 r4; + u32 r0; +#ifndef NONMATCHING // fake match, nobody can write such code + register u32 r2 asm("r2"); + register u32 r3 asm("r3"); + + r2 = r1[0]; + r3 = r1[1]; + r3 <<= 8; + r2 |= r3; + r3 = r1[2]; + r3 <<= 16; + r2 |= r3; + r3 = r1[3]; + r3 <<= 24; + r0 = r2; + r0 |= r3; +#else + u32 r2; + + r0 = T1_READ_32(r1); +#endif + r2 = r1[9]; + r1[0] = r2; + r4 = r1[8] << 8; + r2 = r1[7]; + r4 |= r2; + gPaletteFade.bufferTransferDisabled = FALSE; + BeginNormalPaletteFade(r0, r1[4], r1[5], r1[6], r4); + UpdatePaletteFade(); + r6->unkE = 2; + return 0; +} + +u32 sub_8022CB0(struct BerryCrushGame *r4, u8 *r5) +{ + switch (r4->unkC) + { + case 0: + if (UpdatePaletteFade()) + return 0; + if(r5[0] != 0) + ++r4->unkC; + else + r4->unkC = 3; + return 0; + case 1: + sub_8010434(); + ++r4->unkC; + return 0; + case 2: + if (IsLinkTaskFinished()) + { + ++r4->unkC; + return 0; + } + return 0; + case 3: + sub_8022BEC(r4->unkF, 1, NULL); + r4->unkC = 0; + return 0; + default: + ++r4->unkC; + return 0; + } +} + +u32 sub_8022D14(struct BerryCrushGame *r7, u8 *r5) +{ + u16 r4 = r5[3]; + + r4 <<= 8; + r4 |= r5[2]; + switch (r7->unkC) + { + case 0: + DrawDialogueFrame(0, 0); + if (r5[1] & 2) + { + StringExpandPlaceholders(gStringVar4, gUnknown_082F32A4[r5[0]]); + AddTextPrinterParameterized2(0, 1, gStringVar4, r7->unkB, 0, 2, 1, 3); + } + else + { + AddTextPrinterParameterized2(0, 1, gUnknown_082F32A4[r5[0]], r7->unkB, 0, 2, 1, 3); + } + CopyWindowToVram(0, 3); + break; + case 1: + if (!IsTextPrinterActive(0)) + { + if (r4 == 0) + ++r7->unkC; + break; + } + return 0; + case 2: + if (!(r4 & gMain.newKeys)) + return 0; + break; + case 3: + if (r5[1] & 1) + ClearDialogWindowAndFrame(0, 1); + sub_8022BEC(r7->unkE, 1, NULL); + r7->unkC = r5[4]; + return 0; + } + ++r7->unkC; + return 0; +} + +u32 sub_8022E1C(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +{ + if (sub_802104C() != 0) + sub_8022BEC(r4->unkE, 0, r4->unk36); + return 0; +} + +u32 sub_8022E3C(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +{ + if (sub_802130C() != 0) + sub_8022BEC(r4->unkE, 0, r4->unk36); + return 0; +} + +u32 sub_8022E5C(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +{ + switch (r4->unkC) + { + case 0: + sub_8010434(); + break; + case 1: + if (IsLinkTaskFinished()) + { + PlayNewMapMusic(MUS_RG_SLOT); + sub_8022BEC(7, 1, NULL); + r4->unk12 = 3; + r4->unkC = 0; + } + return 0; + } + ++r4->unkC; + return 0; +} + +u32 sub_8022EAC(struct BerryCrushGame *r4, u8 *r5) +{ + switch (r4->unkC) + { + default: + ++r4->unkC; + break; + case 0: + sub_8024578(r4); + sub_8024644(r5, 0, 1, 0, 1); + r4->unkE = 7; + sub_8022BEC(3, 1, NULL); + break; + case 1: + r4->unkE = 8; + sub_8022BEC(5, 1, NULL); + r4->unkC = 2; + break; + } + return 0; +} + +u32 sub_8022F04(struct BerryCrushGame *r0, __attribute__((unused)) u8 *r1) +{ + r0->unk4 = NULL; + SetMainCallback2(sub_8020E1C); + return 0; +} + +u32 sub_8022F1C(struct BerryCrushGame *r5, u8 *r2) +{ + u8 r3; + + switch (r5->unkC) + { + case 0: + sub_8024644(r2, 1, 0, 0, 1); + r5->unkE = 9; + sub_8022BEC(3, 1, NULL); + return 0; + case 1: + sub_8010434(); + break; + case 2: + if (!IsLinkTaskFinished()) + return 0; + memset(r5->unk40.unk2, 0, sizeof(r5->unk40.unk2)); + r5->unk40.unk2[0] = r5->unk68.as_four_players.others[r5->unk8].unk0; + SendBlock(0, r5->unk40.unk2, 2); + break; + case 3: + if (!IsLinkTaskFinished()) + return 0; + r5->unk10 = 0; + break; + case 4: + if (GetBlockReceivedStatus() != gUnknown_082F4448[r5->unk9 - 2]) + return 0; + for (r3 = 0; r3 < r5->unk9; ++r3) + { + r5->unk68.as_four_players.others[r3].unk0 = gBlockRecvBuffer[r3][0]; + if (r5->unk68.as_four_players.others[r3].unk0 > 0xB0) + r5->unk68.as_four_players.others[r3].unk0 = 0; + r5->unk18 += gUnknown_0858AB24[r5->unk68.as_four_players.others[r3].unk0].unk0; + r5->unk1C += gUnknown_0858AB24[r5->unk68.as_four_players.others[r3].unk0].unk1; + } + r5->unk10 = 0; + ResetBlockReceivedFlags(); + r5->unk20 = sub_81515FC(r5->unk18 << 8, 0x2000); + break; + case 5: + ClearDialogWindowAndFrame(0, 1); + sub_8022BEC(10, 1, NULL); + r5->unk12 = 4; + r5->unkC = 0; + return 0; + } + ++r5->unkC; + return 0; +} + +u32 sub_8023070(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +{ + switch (r4->unkC) + { + case 0: + sub_80214A8(r4, &r4->unk138); + sub_8010434(); + break; + case 1: + if (!IsLinkTaskFinished()) + return 0; + r4->unk138.unk0 = 0; + r4->unk138.unk1 = 0; + r4->unk138.unk2 = 0; + r4->unk138.unk3 = 0; + break; + case 2: + r4->unk138.unk38[r4->unk138.unk0]->callback = sub_8021608; + r4->unk138.unk38[r4->unk138.unk0]->affineAnimPaused = FALSE; + PlaySE(SE_NAGERU); + break; + case 3: + if (r4->unk138.unk38[r4->unk138.unk0]->callback == sub_8021608) + return 0; + r4->unk138.unk38[r4->unk138.unk0] = NULL; + ++r4->unk138.unk0; + sub_8010434(); + break; + case 4: + if (!IsLinkTaskFinished()) + return 0; + if (r4->unk138.unk0 < r4->unk9) + { + r4->unkC = 2; + return 0; + } + r4->unk138.unk0 = 0; + break; + case 5: + sub_80216A8(r4, &r4->unk138); + sub_8010434(); + break; + case 6: + if (!IsLinkTaskFinished()) + return 0; + PlaySE(SE_RU_HYUU); + sub_8022BEC(11, 1, NULL); + r4->unk12 = 5; + r4->unkC = 0; + return 0; + } + ++r4->unkC; + return 0; +} + +u32 sub_80231B8(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +{ + switch (r4->unkC) + { + case 0: + r4->unk2A += 4; + if (r4->unk2A < 0) + return 0; + r4->unk2A = 0; + r4->unk138.unk1 = 4; + r4->unk138.unk0 = 0; + r4->unk138.unk2 = gUnknown_082F326C[r4->unk138.unk1][0]; + PlaySE(SE_W070); + break; + case 1: + r4->unk2C = gUnknown_082F326C[r4->unk138.unk1][r4->unk138.unk0]; + SetGpuReg(REG_OFFSET_BG0VOFS, -r4->unk2C); + SetGpuReg(REG_OFFSET_BG2VOFS, -r4->unk2C); + SetGpuReg(REG_OFFSET_BG3VOFS, -r4->unk2C); + ++r4->unk138.unk0; + if (r4->unk138.unk0 < r4->unk138.unk2) + return 0; + if (r4->unk138.unk1 == 0) + break; + --r4->unk138.unk1; + r4->unk138.unk2 = gUnknown_082F326C[r4->unk138.unk1][0]; + r4->unk138.unk0 = 0; + return 0; + case 2: + r4->unk2C = 0; + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG3VOFS, 0); + sub_8010434(); + break; + case 3: + if (!IsLinkTaskFinished()) + return 0; + sub_8022BEC(12, 1, NULL); + r4->unk12 = 6; + r4->unkC = 0; + return 0; + } + ++r4->unkC; + return 0; +} + +u32 sub_80232EC(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +{ + switch (r4-> unkC) + { + case 1: + if (!IsLinkTaskFinished()) + return 0; + sub_802EB24(0x1000, 0x1000, 120, 80, 0); + break; + case 2: + if (sub_802EB84()) + return 0; + // fallthrough + case 0: + sub_8010434(); + break; + case 3: + if (!IsLinkTaskFinished()) + return 0; + r4->unk138.unk0 = 0; + r4->unk138.unk1 = 0; + r4->unk138.unk2 = 0; + r4->unk138.unk3 = 0; + r4->unk10 = 0; + if (r4->unk8 == 0) + sub_8022BEC(13, 1, NULL); + else + sub_8022BEC(14, 1, NULL); + r4->unk12 = 7; + r4->unkC = 0; + return 0; + } + ++r4->unkC; + return 0; +} + +void sub_802339C(struct BerryCrushGame *r4) +{ + u8 r8 = 0; + u16 r3; + u16 *r2; + u8 r7 = 0; + s32 r2_ = 0; + s32 r0; + + for (r7 = 0; r7 < r4->unk9; ++r7) + { + r2 = gRecvCmds[r7]; + if ((r2[0] & 0xFF00) == 0x2F00 + && r2[1] == 2) + { + if ((u8)r2[2] & 4) + { + r4->unk5C.unk02_3 |= gUnknown_082F325C[r7]; + r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][5] = 1; + ++r4->unk68.as_four_players.others[r7].unk4.as_hwords[3]; + ++r8; + r3 = r4->unk28 - r4->unk68.as_four_players.others[r7].unk2; + if (r3 >= r4->unk68.as_four_players.others[r7].unk4.as_hwords[1] - 1 + && r3 <= r4->unk68.as_four_players.others[r7].unk4.as_hwords[1] + 1) + { + ++r4->unk68.as_four_players.others[r7].unk4.as_hwords[0]; + r4->unk68.as_four_players.others[r7].unk4.as_hwords[1] = r3; + if (r4->unk68.as_four_players.others[r7].unk4.as_hwords[0] > r4->unk68.as_four_players.others[r7].unk4.as_hwords[2]) + r4->unk68.as_four_players.others[r7].unk4.as_hwords[2] = r4->unk68.as_four_players.others[r7].unk4.as_hwords[0]; + } + else + { + r4->unk68.as_four_players.others[r7].unk4.as_hwords[0] = 0; + r4->unk68.as_four_players.others[r7].unk4.as_hwords[1] = r3; + } + r4->unk68.as_four_players.others[r7].unk2 = r4->unk28; + if (++r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][4] > 2) + r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][4] = 0; + } + else + { + r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][5] = 0; + } + } + } + if (r8 > 1) + { + for (r7 = 0; r7 < r4->unk9; ++r7) + { + if (r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][5] != 0) + { + r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][5] |= 2; + ++r4->unk68.as_four_players.others[r7].unk4.as_hwords[4]; + } + } + } + if (r8 != 0) + { + r4->unk2E += r8; + r8 += gUnknown_082F3264[r8 - 1]; + r4->unk34 += r8; + r4->unk1A += r8; + r0 = r4->unk18; + r2_ = r4->unk1A; + if (r0 - r2_ > 0) + { + r2_ <<= 8; + r2_ = sub_81515FC(r2_, r4->unk20); + r2_ >>= 8; + r4->unk24 = r2_; + } + else + { + r4->unk24 = 32; + r4->unk5C.unk02_0 = 1; + } + } +} + +void sub_8023558(struct BerryCrushGame *r3) +{ + u8 r6 = 0; + u16 r1 = 0; + u8 r4 = 0; + + for (r4 = 0; r4 < r3->unk9; ++r4) + { + if (r3->unk68.as_four_players.others[r4].unk4.as_2d_bytes[1][5] != 0) + { + ++r6; + r1 = r3->unk68.as_four_players.others[r4].unk4.as_2d_bytes[1][4] + 1; + if (r3->unk68.as_four_players.others[r4].unk4.as_2d_bytes[1][5] & 2) + r1 |= 4; + r1 <<= 3 * r4; + r3->unk5C.unk08 |= r1; + } + } + r3->unk5C.unk04 = r3->unk24; + if (r6 == 0) + { + if (r3->unk138.unk3 != 0) + ++r3->unk138.unk0; + else + goto SET_UNK5F_0; + } + else + { + if (r3->unk138.unk3 != 0) + { + if (r6 != r3->unk138.unk1) + { + r3->unk138.unk1 = r6 - 1; + r3->unk138.unk2 = gUnknown_082F3290[r6 - 1][0]; + } + else + { + ++r3->unk138.unk0; + } + } + else + { + r3->unk138.unk0 = 0; + r3->unk138.unk1 = r6 - 1; + r3->unk138.unk2 = gUnknown_082F3290[r6 - 1][0]; + r3->unk138.unk3 = 1; + } + } + if (r3->unk138.unk3 != 0) + { + if (r3->unk138.unk0 >= r3->unk138.unk2) + { + r3->unk138.unk0 = 0; + r3->unk138.unk1 = 0; + r3->unk138.unk2 = 0; + r3->unk138.unk3 = 0; + r1 = 0; + } + else + { + r1 = gUnknown_082F3290[r3->unk138.unk1][r3->unk138.unk0 + 1]; + } + r3->unk5C.unk03 = r1; + } + else + { + SET_UNK5F_0: + r3->unk5C.unk03 = 0; + } + r3->unk5C.unk06 = r3->unk26; +} + +void sub_80236B8(struct BerryCrushGame *r5) +{ + if (gMain.newKeys & A_BUTTON) + r5->unk5C.unk02_2 = 1; + if (gMain.heldKeys & A_BUTTON) + { + if (r5->unk68.as_four_players.others[r5->unk8].unk4.as_hwords[5] < r5->unk28) + ++r5->unk68.as_four_players.others[r5->unk8].unk4.as_hwords[5]; + } + if (r5->unk8 != 0 && r5->unk5C.unk02_2 == 0) + return; + r5->unk5C.unk00 = 2; + if (r5->unk28 % 30 == 0) + { + if (r5->unk2E > gUnknown_082F4444[r5->unk9 - 2]) + { + ++r5->unk30; + r5->unk25_4 = 1; + } + else + { + r5->unk25_4 = 0; + } + r5->unk2E = 0; + ++r5->unk32; + } + if (r5->unk28 % 15 == 0) + { + if (r5->unk34 < gUnknown_082F4434[r5->unk9 - 2][0]) + r5->unk25_5 = 0; + else if (r5->unk34 < gUnknown_082F4434[r5->unk9 - 2][1]) + r5->unk25_5 = 1; + else if (r5->unk34 < gUnknown_082F4434[r5->unk9 - 2][2]) + r5->unk34 = 2; // typo since r5->unk34 will be reset? + else if (r5->unk34 < gUnknown_082F4434[r5->unk9 - 2][3]) + r5->unk34 = 3; // typo since r5->unk34 will be reset? + else + r5->unk25_5 = 4; + r5->unk34 = 0; + } + else + { + ++r5->unk10; + if (r5->unk10 > 60) + { + if (r5->unk10 > 70) + { + sub_8011AC8(); + r5->unk10 = 0; + } + else if (r5->unk5C.unk02_3 == 0) + { + sub_8011AC8(); + r5->unk10 = 0; + } + } + + } + if (r5->unk28 >= 36000) + r5->unk5C.unk02_0 = 1; + r5->unk5C.unk02_1 = r5->unk25_4; + r5->unk5C.unk0A = r5->unk25_5; + memcpy(r5->unk40.unk2, &r5->unk5C, sizeof(r5->unk40.unk2)); + sub_800FE50(r5->unk40.unk2); +} + +void sub_802385C(struct BerryCrushGame *r5) +{ + struct BerryCrushGame_4E *r4_; +#ifndef NONMATCHING + register u32 r4 asm("r4"); + register u32 r0 asm("r0"); + + for (r4 = 0; r4 < r5->unk9; r4 = (u8)r0) + { + r5->unk68.as_four_players.others[r4].unk4.as_2d_bytes[1][5] = 0; + r0 = r4 + 1; + } +#else + u8 r4; + + for (r4 = 0; r4 < r5->unk9; ++r4) + r5->unk68.as_four_players.others[r4].unk4.as_2d_bytes[1][5] = 0; +#endif + if ((gRecvCmds[0][0] & 0xFF00) != 0x2F00 + || gRecvCmds[0][1] != 2) + { + r5->unk25_2 = 0; + } + else + { + r4_ = &r5->unk40.unkE; + memcpy(r4_, gRecvCmds, sizeof(struct BerryCrushGame_4E)); + r5->unk2A = r4_->unk6; + r5->unk2C = r4_->unk5; + r5->unk28 = r4_->unk8; + sub_80216E0(r5, &r5->unk138); + if (r4_->unk4_0) + r5->unk25_3 = 1; + } +} + +u32 sub_80238F0(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +{ + memset(&r4->unk5C, 0, sizeof(r4->unk5C)); + memset(&r4->unk40.unkE, 0, sizeof(r4->unk40.unkE)); + sub_802385C(r4); + SetGpuReg(REG_OFFSET_BG0VOFS, -r4->unk2C); + SetGpuReg(REG_OFFSET_BG2VOFS, -r4->unk2C); + SetGpuReg(REG_OFFSET_BG3VOFS, -r4->unk2C); + if (r4->unk25_3) + { + if (r4->unk28 >= 36000) + { + r4->unk28 = 36000; + sub_8022BEC(16, 1, NULL); + } + else + { + sub_8022BEC(15, 1, NULL); + } + r4->unk10 = 0; + r4->unkC = 0; + return 0; + } + else + { + ++r4->unk26; + sub_802339C(r4); + sub_8023558(r4); + sub_80236B8(r4); + return 0; + } +} + +u32 sub_8023998(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +{ + memset(&r4->unk5C, 0, sizeof(r4->unk5C)); + memset(&r4->unk40.unkE, 0, sizeof(r4->unk40.unkE)); + sub_802385C(r4); + SetGpuReg(REG_OFFSET_BG0VOFS, -r4->unk2C); + SetGpuReg(REG_OFFSET_BG2VOFS, -r4->unk2C); + SetGpuReg(REG_OFFSET_BG3VOFS, -r4->unk2C); + if (r4->unk25_3) + { + if (r4->unk28 >= 36000) + { + r4->unk28 = 36000; + sub_8022BEC(16, 1, NULL); + } + else + { + sub_8022BEC(15, 1, NULL); + } + r4->unk10 = 0; + r4->unkC = 0; + return 0; + } + else + { + sub_80236B8(r4); + return 0; + } +} + +u32 sub_8023A30(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +{ + switch (r4->unkC) + { + case 0: + r4->unk12 = 8; + PlaySE(SE_W070); + BlendPalettes(0xFFFFFFFF, 8, RGB(31, 31, 0)); + r4->unk138.unk0 = 2; + break; + case 1: + if (--r4->unk138.unk0 != 255) + return 0; + BlendPalettes(0xFFFFFFFF, 0, RGB(31, 31, 0)); + r4->unk138.unk1 = 4; + r4->unk138.unk0 = 0; + r4->unk138.unk2 = gUnknown_082F326C[r4->unk138.unk1][0]; + break; + case 2: + r4->unk2C = gUnknown_082F326C[r4->unk138.unk1][r4->unk138.unk0]; + SetGpuReg(REG_OFFSET_BG0VOFS, -r4->unk2C); + SetGpuReg(REG_OFFSET_BG2VOFS, -r4->unk2C); + SetGpuReg(REG_OFFSET_BG3VOFS, -r4->unk2C); + if (++r4->unk138.unk0 < r4->unk138.unk2) + return 0; + if (r4->unk138.unk1 != 0) + { + --r4->unk138.unk1; + r4->unk138.unk2 = gUnknown_082F326C[r4->unk138.unk1][0]; + r4->unk138.unk0 = 0; + return 0; + } + break; + case 3: + r4->unk2C = 0; + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG3VOFS, 0); + break; + case 4: + if (!sub_80218D4(r4, &r4->unk138)) + return 0; + sub_8010434(); + r4->unk10 = 0; + break; + case 5: + if (!IsLinkTaskFinished()) + return 0; + sub_8022BEC(17, 1, NULL); + r4->unk10 = 0; + r4->unkC = 0; + return 0; + } + ++r4->unkC; + return 0; +} + +u32 sub_8023BC0(struct BerryCrushGame *r5, u8 *r6) +{ + switch (r5->unkC) + { + case 0: + r5->unk12 = 9; + PlaySE(SE_HAZURE); + BlendPalettes(0xFFFFFFFF, 8, RGB(31, 0, 0)); + r5->unk138.unk0 = 4; + break; + case 1: + if (--r5->unk138.unk0 != 255) + return 0; + BlendPalettes(0xFFFFFFFF, 0, RGB(31, 0, 0)); + r5->unk138.unk0 = 0; + break; + case 2: + if (!sub_80218D4(r5, &r5->unk138)) + return 0; + sub_8010434(); + r5->unk10 = 0; + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG3VOFS, 0); + break; + case 3: + if (!IsLinkTaskFinished()) + return 0; + ConvertIntToDecimalStringN(gStringVar1, r5->unk1C, STR_CONV_MODE_LEFT_ALIGN, 6); + sub_8024644(r6, 7, 1, 0, 0); + r5->unkE = 19; + sub_8022BEC(3, 1, NULL); + r5->unk10 = 0; + r5->unkC = 0; + return 0; + } + ++r5->unkC; + return 0; +} + +u32 sub_8023CAC(struct BerryCrushGame *r7, __attribute__((unused)) u8 *r1) +{ + u8 r8, r4_; + s32 r2; + s32 r4; + u8 r6; // ??? + + switch (r7->unkC) + { + case 0: + memset(r7->unk40.unk2, 0, 2 * sizeof(u16)); + if (r7->unk68.as_four_players.others[r7->unk8].unk4.as_hwords[5] > r7->unk28) + r7->unk68.as_four_players.others[r7->unk8].unk4.as_hwords[5] = r7->unk28; + r7->unk40.unk2[0] = r7->unk68.as_four_players.others[r7->unk8].unk4.as_hwords[5]; + SendBlock(0, r7->unk40.unk2, 2); + break; + case 1: + if (!IsLinkTaskFinished()) + return 0; + r7->unk10 = 0; + break; + case 2: + if (GetBlockReceivedStatus() != gUnknown_082F4448[r7->unk9 - 2]) + return 0; + for (r8 = 0; r8 < r7->unk9; ++r8) + r7->unk68.as_four_players.others[r8].unk4.as_hwords[5] = gBlockRecvBuffer[r8][0]; + r7->unk10 = 0; + r7->unk40.unk2[0] = 0; + ResetBlockReceivedFlags(); + if (r7->unk8 == 0) + r7->unkC = 3; + else + r7->unkC = 6; + return 0; + case 3: + memset( + &r7->unk68, + 0, + sizeof(struct BerryCrushGame_68_x_SubStruct) + ); + r7->unk68.as_four_players.unk00.unk04 = r7->unk28; + r7->unk68.as_four_players.unk00.unk06 = r7->unk18 / (r7->unk28 / 60); + r2 = sub_8151574(r7->unk30 << 8, 0x3200); + r2 = sub_81515FC(r2, r7->unk32 << 8) + 0x3200; + r2 >>= 8; + r7->unk68.as_four_players.unk00.unk08 = r2 & 0x7F; + r2 <<= 8; + r2 = sub_81515FC(r2, 0x6400); + r4 = (r7->unk1C * r7->unk9) << 8; + r4 = sub_8151574(r4, r2); + r7->unk68.as_four_players.unk00.unk00 = r4 >> 8; + r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[0][7] = Random() % 3; + for (r6 = 0, r8 = 0; r8 < r7->unk9; ++r8) + { + r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[0][r8] = r8; + r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[1][r8] = r8; + r7->unk68.as_four_players.unk00.unk0C[0][r8] = r7->unk68.as_four_players.others[r8].unk4.as_hwords[3]; + r7->unk68.as_four_players.unk00.unk0A += r7->unk68.as_four_players.unk00.unk0C[0][r8]; + switch (r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[0][7]) + { + case 0: + if (r7->unk68.as_four_players.others[r8].unk4.as_hwords[3] != 0) + { + r2 = r7->unk68.as_four_players.others[r8].unk4.as_hwords[2]; + r2 <<= 8; + r2 = sub_8151574(r2, 0x6400); + r4 = r7->unk68.as_four_players.others[r8].unk4.as_hwords[3]; + r4 <<= 8; + r4 = sub_81515FC(r2, r4); + } + else + { + r4 = 0; + } + break; + case 1: + if (r7->unk68.as_four_players.others[r8].unk4.as_hwords[3] != 0) + { + r2 = r7->unk68.as_four_players.others[r8].unk4.as_hwords[4]; + r2 <<= 8; + r2 = sub_8151574(r2, 0x6400); + r4 = r7->unk68.as_four_players.others[r8].unk4.as_hwords[3]; + r4 <<= 8; + r4 = sub_81515FC(r2, r4); + } + else + { + r4 = 0; + } + break; + case 2: + if (r7->unk68.as_four_players.others[r8].unk4.as_hwords[3] == 0) + { + r4 = 0; + } + else if (r7->unk68.as_four_players.others[r8].unk4.as_hwords[5] >= r7->unk28) + { + r4 = 0x6400; + } + else + { + r2 = r7->unk68.as_four_players.others[r8].unk4.as_hwords[5]; + r2 <<= 8; + r2 = sub_8151574(r2, 0x6400); + r4 = r7->unk28; + r4 <<= 8; + r4 = sub_81515FC(r2, r4); + } + break; + } + r4 >>= 4; + r7->unk68.as_four_players.unk00.unk0C[1][r8] = r4; + } + break; + case 4: + for (r6 = 0, r8 = 0; r8 < r7->unk9 - 1; ++r8) + { + for (r4_ = r7->unk9 - 1; r4_ > r8; --r4_) + { + u16 r0; + u8 r3; + u16 *sp00 = r7->unk68.as_four_players.unk00.unk0C[0]; + u8 *sp04 = r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[0]; + u8 *r10 = r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[1]; + u16 *r9 = r7->unk68.as_four_players.unk00.unk0C[1]; + s32 r12 = r4_ - 1; + u16 *p1 = sp00 + r12; // these have to be here + u16 *p2 = sp00 + r4_; // to swap operands. macro? + + if (*p1 < *p2) + { + r0 = sp00[r4_]; + sp00[r4_] = sp00[r12]; + sp00[r12] = r0; + r3 = sp04[r4_]; + sp04[r4_] = sp04[r12]; + sp04[r12] = r3; + } + p1 = r9 + r12; + p2 = r9 + r4_; + if (*p1 < *p2) + { + r0 = r9[r4_]; + r9[r4_] = r9[r12]; + r9[r12] = r0; + r3 = r10[r4_]; + r10[r4_] = r10[r12]; + r10[r12] = r3; + } + } + } + SendBlock( + 0, + &r7->unk68, + sizeof(struct BerryCrushGame_68_x_SubStruct) + ); + break; + case 5: + if (!IsLinkTaskFinished()) + return 0; + r7->unk10 = 0; + break; + case 6: + if (GetBlockReceivedStatus() != 1) + return 0; + memset( + &r7->unk68, + 0, + sizeof(struct BerryCrushGame_68_x_SubStruct) + ); + memcpy( + &r7->unk68, + gBlockRecvBuffer, + sizeof(struct BerryCrushGame_68_x_SubStruct) + ); + ResetBlockReceivedFlags(); + r7->unk10 = 0; + break; + case 7: + sub_8020E58(); + sub_8022BEC(18, 1, NULL); + r7->unk12 = 11; + r7->unkC = 0; + r7->unk24 = 0; + return 0; + } + ++r7->unkC; + return 0; +} + +u32 sub_8024048(struct BerryCrushGame *r5, u8 *r6) +{ + switch (r5->unkC) + { + case 0: + if (!sub_8022070(r5, &r5->unk138)) + return 0; + break; + case 1: + CopyBgTilemapBufferToVram(0); + r5->unk138.unk0 = 30; + break; + case 2: + if (r5->unk138.unk0 != 0) + { + --r5->unk138.unk0; + return 0; + } + if (!(gMain.newKeys & A_BUTTON)) + return 0; + PlaySE(SE_SELECT); + sub_802222C(r5); + break; + case 3: + if (r5->unk12 <= 12) + { + ++r5->unk12; + r5->unkC = 0; + return 0; + } + break; + case 4: + ConvertIntToDecimalStringN(gStringVar1, r5->unk1C, STR_CONV_MODE_LEFT_ALIGN, 6); + ConvertIntToDecimalStringN(gStringVar2, GetBerryPowder(), STR_CONV_MODE_LEFT_ALIGN, 6); + sub_8024644(r6, 2, 3, 0, 0); + r5->unkE = 19; + sub_8022BEC(3, 1, NULL); + r5->unkC = 0; + return 0; + } + ++r5->unkC; + return 0; +} + +u32 sub_8024134(struct BerryCrushGame *r5, u8 *r4) +{ + switch (r5->unkC) + { + case 0: + if (r5->unk28 >= 36000) + sub_8022554(&r5->unk138); + sub_8024644(r4, 8, 0, 0, 1); + r5->unkE = 19; + sub_8022BEC(3, 1, NULL); + r5->unkC = 0; + return 0; + case 1: + sub_8010434(); + break; + case 2: + if (!IsLinkTaskFinished()) + return 0; + DrawDialogueFrame(0, 0); + AddTextPrinterParameterized2(0, 1, gText_SavingDontTurnOffPower, 0, 0, 2, 1, 3); + CopyWindowToVram(0, 3); + CreateTask(sub_8153688, 0); + break; + case 3: + if (FuncIsActiveTask(sub_8153688)) + return 0; + break; + case 4: + sub_8022BEC(20, 1, NULL); + r5->unk12 = 15; + r5->unkC = 0; + return 0; + } + ++r5->unkC; + return 0; +} + +u32 sub_8024228(struct BerryCrushGame *r5, u8 *r6) +{ + s32 r4; +#ifndef NONMATCHING + register s32 r0 asm("r0"); +#else + s32 r0; +#endif + + switch (r5->unkC) + { + case 0: + sub_8024644(r6, 4, 0, 0, 1); + r5->unkE = 20; + sub_8022BEC(3, 1, NULL); + r0 = 0; + r5->unkC = r0; // dunno what it's doing because it's already in case 0 + return 0; + case 1: + DisplayYesNoMenuDefaultYes(); + break; + case 2: + if ((r4 = Menu_ProcessInputNoWrapClearOnChoose()) != -2) + { + memset(r5->unk40.unk2, 0, sizeof(r5->unk40.unk2)); + if (r4 == 0) + { + if (HasAtLeastOneBerry()) + r5->unk14 = 0; + else + r5->unk14 = 3; + } + else + { + r5->unk14 = 1; + } + ClearDialogWindowAndFrame(0, 1); + sub_8024644(r6, 8, 0, 0, 0); + r5->unkE = 21; + sub_8022BEC(3, 1, NULL); + r5->unkC = 0; + } + return 0; + } + ++r5->unkC; + return 0; +} + +u32 sub_80242E0(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +{ + u8 r5 = 0; + + switch (r4->unkC) + { + case 0: + sub_8010434(); + break; + case 1: + if (!IsLinkTaskFinished()) + return 0; + r4->unk40.unk2[0] = r4->unk14; + r4->unk40.unkE.unk0 = 0; + SendBlock(0, r4->unk40.unk2, sizeof(u16)); + break; + case 2: + if (!IsLinkTaskFinished()) + return 0; + r4->unk10 = 0; + break; + case 3: + if (GetBlockReceivedStatus() != gUnknown_082F4448[r4->unk9 - 2]) + return 0; + for (; r5 < r4->unk9; ++r5) + r4->unk40.unkE.unk0 += gBlockRecvBuffer[r5][0]; + if (r4->unk40.unkE.unk0 != 0) + sub_8022BEC(23, 1, NULL); + else + sub_8022BEC(22, 1, NULL); + ResetBlockReceivedFlags(); + r4->unk40.unk2[0] = 0; + r4->unk40.unkE.unk0 = 0; + r4->unk10 = 0; + r4->unkC = 0; + return 0; + } + ++r4->unkC; + return 0; +} + +u32 sub_80243BC(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1) +{ + switch (r5->unkC) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0, 0x10, RGB_BLACK); + UpdatePaletteFade(); + break; + case 1: + if (UpdatePaletteFade()) + return 0; + break; + case 2: + ClearDialogWindowAndFrame(0, 1); + sub_8021488(r5); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); + UpdatePaletteFade(); + break; + case 3: + if (UpdatePaletteFade()) + return 0; + sub_8022BEC(7, 1, NULL); + r5->unk12 = 3; + r5->unkC = 0; + return 0; + } + ++r5->unkC; + return 0; +} + +u32 sub_8024444(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1) +{ + switch (r5->unkC) + { + case 0: + DrawDialogueFrame(0, 0); + if (r5->unk14 == 3) + AddTextPrinterParameterized2(0, 1, gUnknown_082F32A4[5], r5->unkB, 0, 2, 1, 3); + else + AddTextPrinterParameterized2(0, 1, gUnknown_082F32A4[6], r5->unkB, 0, 2, 1, 3); + CopyWindowToVram(0, 3); + break; + case 1: + if (IsTextPrinterActive(0)) + return 0; + r5->unk138.unk0 = 120; + break; + case 2: + if (r5->unk138.unk0 != 0) + --r5->unk138.unk0; + else + { + sub_8022BEC(24, 1, NULL); + r5->unkC = 0; + } + return 0; + } + ++r5->unkC; + return 0; +} + +u32 sub_8024508(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1) +{ + switch (r5->unkC) + { + case 0: + sub_8010434(); + break; + case 1: + if (!IsLinkTaskFinished()) + return 0; + sub_800AC34(); + break; + case 2: + if (gReceivedRemoteLinkPlayers != 0) + return 0; + r5->unkE = 25; + sub_8022BEC(5, 1, NULL); + r5->unkC = 2; // ??? + return 0; + } + ++r5->unkC; + return 0; +} + +u32 sub_8024568(__attribute__((unused)) struct BerryCrushGame *r0, __attribute__((unused)) u8 *r1) +{ + sub_8020C0C(NULL); + return 0; +} + +void sub_8024578(struct BerryCrushGame *r4) +{ + u8 r5 = 0; + + IncrementGameStat(GAME_STAT_51); + r4->unkD = 0; + r4->unk10 = 0; + r4->unk12 = 2; + r4->unk14 = 0; + r4->unk1C = 0; + r4->unk18 = 0; + r4->unk1A = 0; + r4->unk20 = 0; + r4->unk24 = 0; + r4->unk25_0 = 0; + r4->unk25_1 = 0; + r4->unk25_2 = 0; + r4->unk25_3 = 0; + r4->unk25_4 = 0; + r4->unk25_5 = 0; + r4->unk26 = 0; + r4->unk28 = 0; + r4->unk2E = 0; + r4->unk32 = -1; + r4->unk30 = 0; + r4->unk34 = 0; + for (; r5 < 5; ++r5) // why is it 5 instead of 4? fillerBC isn't sufficient for one player + { + r4->unk68.as_four_players.others[r5].unk0 = -1; + r4->unk68.as_four_players.others[r5].unk2 = 0; + r4->unk68.as_four_players.others[r5].unk4.as_hwords[0] = 0; + r4->unk68.as_four_players.others[r5].unk4.as_hwords[1] = 1; + r4->unk68.as_four_players.others[r5].unk4.as_hwords[2] = 0; + r4->unk68.as_four_players.others[r5].unk4.as_hwords[3] = 0; + r4->unk68.as_four_players.others[r5].unk4.as_hwords[4] = 0; + r4->unk68.as_four_players.others[r5].unk4.as_hwords[5] = 0; + r4->unk68.as_four_players.others[r5].unk4.as_2d_bytes[1][4] = 0; + r4->unk68.as_four_players.others[r5].unk4.as_2d_bytes[1][5] = 0; + } +} + +#ifdef NONMATCHING +void sub_8024604(u8 *r0, u32 r1, s32 r2, u32 r3, u32 r5, u32 r6, u32 r4) +{ + u8 sp[8]; + u8 *p; + + 1[(u32 *)sp] = r2; + 0[(u16 *)sp] = r4; + p = &sp[4]; + r0[0] = p[0]; + r0[1] = p[1]; + r0[2] = p[2]; + r0[3] = p[3]; + r0[4] = r3; + r0[5] = r5; + r0[6] = r6; + r0[7] = sp[0]; + r0[8] = sp[1]; + r0[9] = r1; +} +#else +NAKED +void sub_8024604(u8 *r0, u32 r1, s32 r2, u32 r3, u32 r5, u32 r6, u32 r4) +{ + asm_unified("\n\ + push {r4-r6,lr}\n\ + sub sp, 0x8\n\ + str r2, [sp, 0x4]\n\ + ldr r5, [sp, 0x18]\n\ + ldr r6, [sp, 0x1C]\n\ + ldr r4, [sp, 0x20]\n\ + mov r2, sp\n\ + strh r4, [r2]\n\ + add r4, sp, 0x4\n\ + ldrb r2, [r4]\n\ + strb r2, [r0]\n\ + ldrb r2, [r4, 0x1]\n\ + strb r2, [r0, 0x1]\n\ + ldrb r2, [r4, 0x2]\n\ + strb r2, [r0, 0x2]\n\ + ldrb r2, [r4, 0x3]\n\ + strb r2, [r0, 0x3]\n\ + strb r3, [r0, 0x4]\n\ + strb r5, [r0, 0x5]\n\ + strb r6, [r0, 0x6]\n\ + mov r2, sp\n\ + ldrb r2, [r2]\n\ + strb r2, [r0, 0x7]\n\ + mov r2, sp\n\ + ldrb r2, [r2, 0x1]\n\ + strb r2, [r0, 0x8]\n\ + strb r1, [r0, 0x9]\n\ + add sp, 0x8\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0"); +} +#endif + +void sub_8024644(u8 *r0, u32 r1, u32 r2, u32 r3, u32 r5) +{ + u8 sp[4]; + + 0[(u16 *)sp] = r3; + r0[0] = r1; + r0[1] = r2; + r0[2] = sp[0]; + r0[3] = sp[1]; + r0[4] = r5; } diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index 37be569f8e..f42531f158 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -1,7 +1,7 @@ #include "global.h" #include "gpu_regs.h" #include "multiboot.h" -#include "alloc.h" +#include "malloc.h" #include "bg.h" #include "graphics.h" #include "main.h" @@ -36,16 +36,16 @@ static void berry_fix_bg_hide(void); // .rodata -static const u8 sUnknown_08617E78[] = _("Berry Program Update"); -static const u8 sUnknown_08617E8D[] = _("Ruby/Sapphire"); -static const u8 sUnknown_08617E9B[] = _("Emerald"); +static const u8 sText_BerryProgramUpdate[] = _("Berry Program Update"); +static const u8 sText_RubySapphire[] = _("Ruby/Sapphire"); +static const u8 sText_Emerald[] = _("Emerald"); -static const u8 Unknown_08617EA3[] = _("The Berry Program on your POKéMON\nRuby/Sapphire Game Pak will be updated.\n{COLOR RED}{SHADOW LIGHT_RED}Press the A Button."); -static const u8 Unknown_08617F07[] = _("Please ensure the connection of your\nGame Boy Advance system matches this.\n{COLOR RED}{SHADOW LIGHT_RED}YES: Press the A Button.\nNO: Turn off the power and try again."); -static const u8 Unknown_08617F97[] = _("Please turn on the power of POKéMON\nRuby/Sapphire while holding START and\nSELECT simultaneously. Then, ensure\nthe picture above appears."); -static const u8 Unknown_08618020[] = _("Transmitting. Please wait.\n{COLOR RED}{SHADOW LIGHT_RED}Please do not turn off the power or\nunplug the Game Boy Advance Game\nLink Cable."); -static const u8 Unknown_08618092[] = _("Please follow the instructions on your\nPOKéMON Ruby/Sapphire screen."); -static const u8 Unknown_086180D7[] = _("Transmission failure.\n{COLOR RED}{SHADOW LIGHT_RED}Please try again."); +static const u8 sText_BerryProgramWillBeUpdatedPressA[] = _("The Berry Program on your POKéMON\nRuby/Sapphire Game Pak will be updated.\n{COLOR RED}{SHADOW LIGHT_RED}Press the A Button."); +static const u8 sText_EnsureGBAConnectionMatches[] = _("Please ensure the connection of your\nGame Boy Advance system matches this.\n{COLOR RED}{SHADOW LIGHT_RED}YES: Press the A Button.\nNO: Turn off the power and try again."); +static const u8 sText_TurnOffPowerHoldingStartSelect[] = _("Please turn on the power of POKéMON\nRuby/Sapphire while holding START and\nSELECT simultaneously. Then, ensure\nthe picture above appears."); +static const u8 sText_TransmittingPleaseWait[] = _("Transmitting. Please wait.\n{COLOR RED}{SHADOW LIGHT_RED}Please do not turn off the power or\nunplug the Game Boy Advance Game\nLink Cable."); +static const u8 sText_PleaseFollowInstructionsOnScreen[] = _("Please follow the instructions on your\nPOKéMON Ruby/Sapphire screen."); +static const u8 sText_TransmissionFailureTryAgain[] = _("Transmission failure.\n{COLOR RED}{SHADOW LIGHT_RED}Please try again."); static const struct BgTemplate gUnknown_08618108[] = { { @@ -70,16 +70,16 @@ static const u16 sUnknown_08618138[] = { 0x675a, 0, 0, 0 }; -static const u8 sUnknown_08618158[] = {10, 11, 12}; -static const u8 sUnknown_0861815B[] = { 0, 10, 13}; +static const u8 sBerryProgramTextColors[] = {TEXT_DYNAMIC_COLOR_1, TEXT_DYNAMIC_COLOR_2, TEXT_DYNAMIC_COLOR_3}; +static const u8 sGameTitleTextColors[] = { TEXT_COLOR_TRANSPARENT, TEXT_DYNAMIC_COLOR_1, TEXT_DYNAMIC_COLOR_4}; -static const u8 *const gUnknown_08618160[] = { - Unknown_08617F07, - Unknown_08617F97, - Unknown_08618020, - Unknown_08618092, - Unknown_086180D7, - Unknown_08617EA3 +static const u8 *const sBerryProgramTexts[] = { + sText_EnsureGBAConnectionMatches, + sText_TurnOffPowerHoldingStartSelect, + sText_TransmittingPleaseWait, + sText_PleaseFollowInstructionsOnScreen, + sText_TransmissionFailureTryAgain, + sText_BerryProgramWillBeUpdatedPressA }; static const void *const gUnknown_08618178[][3] = { @@ -230,21 +230,21 @@ static void berry_fix_gpu_set(void) FillWindowPixelBuffer(3, PIXEL_FILL(0)); FillWindowPixelBuffer(0, PIXEL_FILL(0xA)); - width = GetStringWidth(0, sUnknown_08617E9B, 0); + width = GetStringWidth(0, sText_Emerald, 0); left = (0x78 - width) / 2; - AddTextPrinterParameterized3(2, 0, left, 3, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E9B); + AddTextPrinterParameterized3(2, 0, left, 3, sGameTitleTextColors, TEXT_SPEED_FF, sText_Emerald); - width = GetStringWidth(0, sUnknown_08617E8D, 0); + width = GetStringWidth(0, sText_RubySapphire, 0); left = (0x78 - width) / 2 + 0x78; - AddTextPrinterParameterized3(2, 0, left, 3, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E8D); + AddTextPrinterParameterized3(2, 0, left, 3, sGameTitleTextColors, TEXT_SPEED_FF, sText_RubySapphire); - width = GetStringWidth(0, sUnknown_08617E8D, 0); + width = GetStringWidth(0, sText_RubySapphire, 0); left = (0x70 - width) / 2; - AddTextPrinterParameterized3(3, 0, left, 0, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E8D); + AddTextPrinterParameterized3(3, 0, left, 0, sGameTitleTextColors, TEXT_SPEED_FF, sText_RubySapphire); - width = GetStringWidth(1, sUnknown_08617E78, 0); + width = GetStringWidth(1, sText_BerryProgramUpdate, 0); left = (0xD0 - width) / 2; - AddTextPrinterParameterized3(0, 1, left, 2, sUnknown_08618158, TEXT_SPEED_FF, sUnknown_08617E78); + AddTextPrinterParameterized3(0, 1, left, 2, sBerryProgramTextColors, TEXT_SPEED_FF, sText_BerryProgramUpdate); CopyWindowToVram(2, 2); CopyWindowToVram(3, 2); @@ -274,7 +274,7 @@ static void berry_fix_text_print(int scene) { FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); FillWindowPixelBuffer(1, PIXEL_FILL(0xA)); - AddTextPrinterParameterized3(1, 1, 0, 0, sUnknown_08618158, -1, gUnknown_08618160[scene]); + AddTextPrinterParameterized3(1, 1, 0, 0, sBerryProgramTextColors, -1, sBerryProgramTexts[scene]); PutWindowTilemap(1); CopyWindowToVram(1, 2); switch (scene) diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index c3eac783d1..89175c1bf7 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,20 +14,22 @@ #include "menu_helpers.h" #include "palette.h" #include "overworld.h" -#include "constants/songs.h" #include "sound.h" #include "sprite.h" #include "string_util.h" #include "strings.h" #include "bg.h" -#include "alloc.h" +#include "malloc.h" #include "scanline_effect.h" #include "gpu_regs.h" #include "graphics.h" #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 @@ -400,9 +401,9 @@ static void PrintAllBerryData(void) static void PrintBerryNumberAndName(void) { const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); - ConvertIntToDecimalStringN(gStringVar1, sBerryTag->berryId, 2, 2); + ConvertIntToDecimalStringN(gStringVar1, sBerryTag->berryId, STR_CONV_MODE_LEADING_ZEROS, 2); StringCopy(gStringVar2, berry->name); - StringExpandPlaceholders(gStringVar4, gText_UnkF908Var1Var2); + StringExpandPlaceholders(gStringVar4, gText_NumberVar1Var2); PrintTextInBerryTagScreen(WIN_BERRY_NAME, gStringVar4, 0, 1, 0, 0); } @@ -420,8 +421,8 @@ static void PrintBerrySize(void) fraction = (inches % 100) / 10; inches /= 100; - ConvertIntToDecimalStringN(gStringVar1, inches, 0, 2); - ConvertIntToDecimalStringN(gStringVar2, fraction, 0, 2); + ConvertIntToDecimalStringN(gStringVar1, inches, STR_CONV_MODE_LEFT_ALIGN, 2); + ConvertIntToDecimalStringN(gStringVar2, fraction, STR_CONV_MODE_LEFT_ALIGN, 2); StringExpandPlaceholders(gStringVar4, gText_Var1DotVar2); AddTextPrinterParameterized(WIN_SIZE_FIRM, 1, gStringVar4, 0x28, 1, 0, NULL); } @@ -526,7 +527,7 @@ static void Task_CloseBerryTagScreen(u8 taskId) DestroyFlavorCircleSprites(); Free(sBerryTag); FreeAllWindowBuffers(); - SetMainCallback2(bag_menu_mail_related); + SetMainCallback2(CB2_ReturnToBagMenuPocket); DestroyTask(taskId); } } diff --git a/src/bike.c b/src/bike.c index 7f84f350b7..7397fed401 100644 --- a/src/bike.c +++ b/src/bike.c @@ -45,8 +45,8 @@ static u8 AcroBike_GetJumpDirection(void); static void Bike_UpdateDirTimerHistory(u8); static void Bike_UpdateABStartSelectHistory(u8); static u8 Bike_DPadToDirection(u16); -static u8 get_some_collision(u8); -static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct EventObject *, s16, s16, u8, u8); +static u8 GetBikeCollision(u8); +static u8 GetBikeCollisionAt(struct EventObject *, s16, s16, u8, u8); static bool8 IsRunningDisallowedByMetatile(u8); static void Bike_TryAdvanceCyclingRoadCollisions(); static u8 CanBikeFaceDirOnMetatile(u8, u8); @@ -214,8 +214,8 @@ static void MachBikeTransition_TrySpeedUp(u8 direction) } else { - collision = get_some_collision(direction); - if (collision > 0 && collision < 12) + collision = GetBikeCollision(direction); + if (collision > 0 && collision < COLLISION_VERTICAL_RAIL) { // we hit a solid object, but check to see if its a ledge and then jump. if (collision == COLLISION_LEDGE_JUMP) @@ -226,9 +226,9 @@ static void MachBikeTransition_TrySpeedUp(u8 direction) { // we hit a solid object that is not a ledge, so perform the collision. Bike_SetBikeStill(); - if (collision == 4 && IsPlayerCollidingWithFarawayIslandMew(direction)) + if (collision == COLLISION_EVENT_OBJECT && IsPlayerCollidingWithFarawayIslandMew(direction)) PlayerOnBikeCollideWithFarawayIslandMew(direction); - else if (collision < 5 || collision > 8) + else if (collision < COLLISION_STOP_SURFING || collision > COLLISION_ROTATING_GATE) PlayerOnBikeCollide(direction); } } @@ -250,9 +250,9 @@ static void MachBikeTransition_TrySlowDown(u8 direction) if (gPlayerAvatar.bikeSpeed != SPEED_STANDING) gPlayerAvatar.bikeFrameCounter = --gPlayerAvatar.bikeSpeed; - collision = get_some_collision(direction); + collision = GetBikeCollision(direction); - if (collision > 0 && collision < 12) + if (collision > 0 && collision < COLLISION_VERTICAL_RAIL) { if (collision == COLLISION_LEDGE_JUMP) { @@ -261,9 +261,9 @@ static void MachBikeTransition_TrySlowDown(u8 direction) else { Bike_SetBikeStill(); - if (collision == 4 && IsPlayerCollidingWithFarawayIslandMew(direction)) + if (collision == COLLISION_EVENT_OBJECT && IsPlayerCollidingWithFarawayIslandMew(direction)) PlayerOnBikeCollideWithFarawayIslandMew(direction); - else if (collision < 5 || collision > 8) + else if (collision < COLLISION_STOP_SURFING || collision > COLLISION_ROTATING_GATE) PlayerOnBikeCollide(direction); } } @@ -552,14 +552,14 @@ static void AcroBikeTransition_Moving(u8 direction) AcroBikeTransition_FaceDirection(playerEventObj->movementDirection); return; } - collision = get_some_collision(direction); - if (collision > 0 && collision < 12) + collision = GetBikeCollision(direction); + if (collision > 0 && collision < COLLISION_VERTICAL_RAIL) { if (collision == COLLISION_LEDGE_JUMP) PlayerJumpLedge(direction); - else if (collision == 4 && IsPlayerCollidingWithFarawayIslandMew(direction)) + else if (collision == COLLISION_EVENT_OBJECT && IsPlayerCollidingWithFarawayIslandMew(direction)) PlayerOnBikeCollideWithFarawayIslandMew(direction); - else if (collision < 5 || collision > 8) + else if (collision < COLLISION_STOP_SURFING || collision > COLLISION_ROTATING_GATE) PlayerOnBikeCollide(direction); } else @@ -614,19 +614,19 @@ static void AcroBikeTransition_WheelieHoppingMoving(u8 direction) AcroBikeTransition_WheelieHoppingStanding(playerEventObj->movementDirection); return; } - collision = get_some_collision(direction); + collision = GetBikeCollision(direction); // TODO: Try to get rid of this goto - if (collision == 0 || collision == 9) + if (collision == 0 || collision == COLLISION_WHEELIE_HOP) { goto derp; } - else if (collision == 6) + else if (collision == COLLISION_LEDGE_JUMP) { PlayerLedgeHoppingWheelie(direction); } - else if (collision < 5 || collision > 8) + else if (collision < COLLISION_STOP_SURFING || collision > COLLISION_ROTATING_GATE) { - if (collision <= 11) + if (collision < COLLISION_VERTICAL_RAIL) { AcroBikeTransition_WheelieHoppingStanding(direction); } @@ -643,12 +643,12 @@ static void AcroBikeTransition_SideJump(u8 direction) u8 collision; struct EventObject *playerEventObj; - collision = get_some_collision(direction); - if (collision != 0) + collision = GetBikeCollision(direction); + if (collision) { - if (collision == 7) + if (collision == COLLISION_PUSHED_BOULDER) return; - if (collision < 10) + if (collision < COLLISION_ISOLATED_VERTICAL_RAIL) { AcroBikeTransition_TurnDirection(direction); return; @@ -680,18 +680,18 @@ static void AcroBikeTransition_WheelieMoving(u8 direction) PlayerIdleWheelie(playerEventObj->movementDirection); return; } - collision = get_some_collision(direction); - if (collision > 0 && collision < 12) + collision = GetBikeCollision(direction); + if (collision > 0 && collision < COLLISION_VERTICAL_RAIL) { - if (collision == 6) + if (collision == COLLISION_LEDGE_JUMP) { PlayerLedgeHoppingWheelie(direction); } - else if (collision == 9) + else if (collision == COLLISION_WHEELIE_HOP) { PlayerIdleWheelie(direction); } - else if (collision <= 4) + else if (collision < COLLISION_STOP_SURFING) { if (MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior)) PlayerIdleWheelie(direction); @@ -714,18 +714,18 @@ static void AcroBikeTransition_WheelieRisingMoving(u8 direction) PlayerStartWheelie(playerEventObj->movementDirection); return; } - collision = get_some_collision(direction); - if (collision > 0 && collision < 12) + collision = GetBikeCollision(direction); + if (collision > 0 && collision < COLLISION_VERTICAL_RAIL) { - if (collision == 6) + if (collision == COLLISION_LEDGE_JUMP) { PlayerLedgeHoppingWheelie(direction); } - else if (collision == 9) + else if (collision == COLLISION_WHEELIE_HOP) { PlayerIdleWheelie(direction); } - else if (collision <= 4) + else if (collision < COLLISION_STOP_SURFING) { if (MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior)) PlayerIdleWheelie(direction); @@ -748,12 +748,12 @@ static void AcroBikeTransition_WheelieLoweringMoving(u8 direction) PlayerEndWheelie(playerEventObj->movementDirection); return; } - collision = get_some_collision(direction); - if (collision > 0 && collision < 12) + collision = GetBikeCollision(direction); + if (collision > 0 && collision < COLLISION_VERTICAL_RAIL) { - if (collision == 6) + if (collision == COLLISION_LEDGE_JUMP) PlayerJumpLedge(direction); - else if (collision < 5 || collision > 8) + else if (collision < COLLISION_STOP_SURFING || collision > COLLISION_ROTATING_GATE) PlayerEndWheelie(direction); return; } @@ -865,29 +865,26 @@ static u8 Bike_DPadToDirection(u16 heldKeys) return DIR_NONE; } -static u8 get_some_collision(u8 direction) +static u8 GetBikeCollision(u8 direction) { - s16 x; - s16 y; u8 metatitleBehavior; struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - - x = playerEventObj->currentCoords.x; - y = playerEventObj->currentCoords.y; + s16 x = playerEventObj->currentCoords.x; + s16 y = playerEventObj->currentCoords.y; MoveCoords(direction, &x, &y); metatitleBehavior = MapGridGetMetatileBehaviorAt(x, y); - return Bike_CheckCollisionTryAdvanceCollisionCount(playerEventObj, x, y, direction, metatitleBehavior); + return GetBikeCollisionAt(playerEventObj, x, y, direction, metatitleBehavior); } -static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct EventObject *eventObject, s16 x, s16 y, u8 direction, u8 metatitleBehavior) +static u8 GetBikeCollisionAt(struct EventObject *eventObject, s16 x, s16 y, u8 direction, u8 metatitleBehavior) { u8 collision = CheckForEventObjectCollision(eventObject, x, y, direction, metatitleBehavior); - if (collision > 4) + if (collision > COLLISION_EVENT_OBJECT) return collision; - if (collision == 0 && IsRunningDisallowedByMetatile(metatitleBehavior)) - collision = 2; + if (collision == COLLISION_NONE && IsRunningDisallowedByMetatile(metatitleBehavior)) + collision = COLLISION_IMPASSABLE; if (collision) Bike_TryAdvanceCyclingRoadCollisions(); @@ -941,10 +938,10 @@ static bool8 WillPlayerCollideWithCollision(u8 newTileCollision, u8 direction) { if (direction == DIR_NORTH || direction == DIR_SOUTH) { - if (newTileCollision == 10 || newTileCollision == 12) + if (newTileCollision == COLLISION_ISOLATED_VERTICAL_RAIL || newTileCollision == COLLISION_VERTICAL_RAIL) return FALSE; } - else if (newTileCollision == 11 || newTileCollision == 13) + else if (newTileCollision == COLLISION_ISOLATED_HORIZONTAL_RAIL || newTileCollision == COLLISION_HORIZONTAL_RAIL) { return FALSE; } @@ -1059,7 +1056,7 @@ void Bike_HandleBumpySlopeJump(void) bool32 IsRunningDisallowed(u8 metatile) { - if (!(gMapHeader.flags & 4) || IsRunningDisallowedByMetatile(metatile) == TRUE) + if (!(gMapHeader.flags & MAP_ALLOW_RUN) || IsRunningDisallowedByMetatile(metatile) == TRUE) return TRUE; else return FALSE; diff --git a/src/birch_pc.c b/src/birch_pc.c index 5179b19209..5b574b05d7 100644 --- a/src/birch_pc.c +++ b/src/birch_pc.c @@ -9,13 +9,13 @@ bool16 ScriptGetPokedexInfo(void) { if (gSpecialVar_0x8004 == 0) // is national dex not present? { - gSpecialVar_0x8005 = GetHoennPokedexCount(0); - gSpecialVar_0x8006 = GetHoennPokedexCount(1); + gSpecialVar_0x8005 = GetHoennPokedexCount(FLAG_GET_SEEN); + gSpecialVar_0x8006 = GetHoennPokedexCount(FLAG_GET_CAUGHT); } else { - gSpecialVar_0x8005 = GetNationalPokedexCount(0); - gSpecialVar_0x8006 = GetNationalPokedexCount(1); + gSpecialVar_0x8005 = GetNationalPokedexCount(FLAG_GET_SEEN); + gSpecialVar_0x8006 = GetNationalPokedexCount(FLAG_GET_CAUGHT); } return IsNationalPokedexEnabled(); diff --git a/src/bug.c b/src/bug.c index 4fa6a5bb66..207000fb86 100644 --- a/src/bug.c +++ b/src/bug.c @@ -47,7 +47,7 @@ const struct SpriteTemplate gUnknown_08596974 = { .tileTag = ANIM_TAG_HORN_HIT_2, .paletteTag = ANIM_TAG_HORN_HIT_2, - .oam = &gUnknown_085249F4, + .oam = &gOamData_AffineDouble_ObjNormal_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596968, @@ -83,7 +83,7 @@ const struct SpriteTemplate gUnknown_085969C8 = { .tileTag = ANIM_TAG_NEEDLE, .paletteTag = ANIM_TAG_NEEDLE, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085969BC, @@ -94,7 +94,7 @@ const struct SpriteTemplate gWebThreadSpriteTemplate = { .tileTag = ANIM_TAG_WEB_THREAD, .paletteTag = ANIM_TAG_WEB_THREAD, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -105,7 +105,7 @@ const struct SpriteTemplate gUnknown_085969F8 = { .tileTag = ANIM_TAG_STRING, .paletteTag = ANIM_TAG_STRING, - .oam = &gUnknown_0852493C, + .oam = &gOamData_AffineOff_ObjNormal_64x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -128,7 +128,7 @@ const struct SpriteTemplate gSpiderWebSpriteTemplate = { .tileTag = ANIM_TAG_SPIDER_WEB, .paletteTag = ANIM_TAG_SPIDER_WEB, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596A28, @@ -139,7 +139,7 @@ const struct SpriteTemplate gLinearStingerSpriteTemplate = { .tileTag = ANIM_TAG_NEEDLE, .paletteTag = ANIM_TAG_NEEDLE, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -150,7 +150,7 @@ const struct SpriteTemplate gPinMissileSpriteTemplate = { .tileTag = ANIM_TAG_NEEDLE, .paletteTag = ANIM_TAG_NEEDLE, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -161,7 +161,7 @@ const struct SpriteTemplate gIcicleSpearSpriteTemplate = { .tileTag = ANIM_TAG_ICICLE_SPEAR, .paletteTag = ANIM_TAG_ICICLE_SPEAR, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -188,7 +188,7 @@ const struct SpriteTemplate gUnknown_08596AC8 = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596AC4, diff --git a/src/cable_car.c b/src/cable_car.c index adeee2647e..d310ae299b 100644 --- a/src/cable_car.c +++ b/src/cable_car.c @@ -6,7 +6,7 @@ #include "field_weather.h" #include "gpu_regs.h" #include "graphics.h" -#include "alloc.h" +#include "malloc.h" #include "main.h" #include "menu.h" #include "overworld.h" @@ -307,7 +307,7 @@ static void CableCarMainCallback_Setup(void) gMain.state++; break; case 5: - if (sCableCar->weather == WEATHER_ASH) + if (sCableCar->weather == WEATHER_VOLCANIC_ASH) { gMain.state++; } @@ -425,7 +425,7 @@ static void sub_81503E4(u8 taskId) case 1: switch (sCableCar->weather) { - case WEATHER_ASH: + case WEATHER_VOLCANIC_ASH: if (gWeatherPtr->sprites.s2.ashSprites[0] != NULL && gWeatherPtr->sprites.s2.ashSprites[0]->oam.priority != 0) { for (; i < NUM_ASH_SPRITES; i++) @@ -815,7 +815,7 @@ static void LoadCableCarSprites(void) gSprites[spriteId].pos2.y = 4; gSprites[spriteId].data[0] = 200; gSprites[spriteId].data[1] = 99; - sCableCar->weather = WEATHER_ASH; + sCableCar->weather = WEATHER_VOLCANIC_ASH; sCableCar->unk4 = 0x15e; SetCurrentAndNextWeatherNoDelay(WEATHER_SUNNY); break; @@ -841,7 +841,7 @@ static void LoadCableCarSprites(void) gSprites[spriteId].data[1] = 0x41; sCableCar->weather = WEATHER_SUNNY; sCableCar->unk4 = 0x109; - SetCurrentAndNextWeatherNoDelay(WEATHER_ASH); + SetCurrentAndNextWeatherNoDelay(WEATHER_VOLCANIC_ASH); break; } for (i = 0; i < 9; i++) diff --git a/src/cable_club.c b/src/cable_club.c index 303cc76d1e..11920bea98 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -30,6 +30,8 @@ #include "trainer_card.h" #include "party_menu.h" #include "window.h" +#include "constants/battle_frontier.h" +#include "constants/cable_club.h" #include "constants/songs.h" static const struct WindowTemplate gUnknown_08550594 = { @@ -123,9 +125,9 @@ static u32 sub_80B2478(u8 lower, u8 upper) return 1; case EXCHANGE_IN_PROGRESS: return 3; - case EXCHANGE_STAT_4: + case EXCHANGE_PLAYER_NOT_READY: return 7; - case EXCHANGE_STAT_5: + case EXCHANGE_PARTNER_NOT_READY: return 9; case EXCHANGE_STAT_6: ConvertIntToDecimalStringN(gStringVar1, GetLinkPlayerCount_2(), STR_CONV_MODE_LEFT_ALIGN, 1); @@ -201,7 +203,7 @@ static void sub_80B2634(u8 taskId) if (data[0] == 0) { OpenLinkTimed(); - sub_800AB98(); + ResetLinkPlayerCount(); ResetLinkPlayers(); data[5] = AddWindow(&gUnknown_08550594); } @@ -457,7 +459,7 @@ static void task_map_chg_seq_0807EC34(u16 *a0, u32 taskId) if (*a0 == 1) { - if (gLinkType == 0x2266 || gLinkType == 0x2277) + if (gLinkType == LINKTYPE_BATTLE_TOWER_50 || gLinkType == LINKTYPE_BATTLE_TOWER_OPEN) { if (sub_80B2AF4(trainerCards[0].monSpecies, trainerCards[1].monSpecies)) { @@ -550,53 +552,50 @@ static bool8 sub_80B2D6C(u8 taskId) return FALSE; } -void sub_80B2DA4(u8 arg0) +void TryBattleLinkup(u8 arg0) { u8 r3 = 2; u8 r2 = 2; switch (gSpecialVar_0x8004) { - case 1: + case USING_SINGLE_BATTLE: r3 = 2; - gLinkType = 0x2233; + gLinkType = LINKTYPE_SINGLE_BATTLE; break; - case 2: + case USING_DOUBLE_BATTLE: r3 = 2; - gLinkType = 0x2244; + gLinkType = LINKTYPE_DOUBLE_BATTLE; break; - case 5: + case USING_MULTI_BATTLE: r3 = 4; r2 = 4; - gLinkType = 0x2255; + gLinkType = LINKTYPE_MULTI_BATTLE; break; - case 9: + case USING_BATTLE_TOWER: r3 = 2; - if (gSaveBlock2Ptr->frontier.lvlMode == 0) - { - gLinkType = 0x2266; - } + if (gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_50) + gLinkType = LINKTYPE_BATTLE_TOWER_50; else - { - gLinkType = 0x2277; - } + gLinkType = LINKTYPE_BATTLE_TOWER_OPEN; + break; } sub_80B236C(r3, r2); } -void sub_80B2E4C(void) +void TryTradeLinkup(void) { - gLinkType = 0x1133; + gLinkType = LINKTYPE_0x1133; gBattleTypeFlags = 0; sub_80B236C(2, 2); } -void sub_80B2E74(void) +void TryRecordMixLinkup(void) { gSpecialVar_Result = 0; - gLinkType = 0x3311; + gLinkType = LINKTYPE_0x3311; gBattleTypeFlags = 0; sub_80B236C(2, 4); } @@ -679,23 +678,23 @@ static void sub_80B2EE4(u8 taskId) } } -void sub_80B2FD8(void) +void TryBerryBlenderLinkup(void) { - gLinkType = 0x4411; + gLinkType = LINKTYPE_BERRY_BLENDER_SETUP; gBattleTypeFlags = 0; sub_80B236C(2, 4); } -void sub_80B3000(void) +void TryContestGModeLinkup(void) { - gLinkType = 0x6601; + gLinkType = LINKTYPE_CONTEST_GMODE; gBattleTypeFlags = 0; sub_80B236C(4, 4); } -void sub_80B3028(void) +void TryContestEModeLinkup(void) { - gLinkType = 0x6602; + gLinkType = LINKTYPE_CONTEST_EMODE; gBattleTypeFlags = 0; sub_80B236C(2, 4); } @@ -707,30 +706,30 @@ u8 sub_80B3050(void) switch (gSpecialVar_0x8004) { - case 1: - gLinkType = 0x2233; + case USING_SINGLE_BATTLE: + gLinkType = LINKTYPE_SINGLE_BATTLE; break; - case 2: - gLinkType = 0x2244; + case USING_DOUBLE_BATTLE: + gLinkType = LINKTYPE_DOUBLE_BATTLE; break; - case 5: - gLinkType = 0x2255; + case USING_MULTI_BATTLE: + gLinkType = LINKTYPE_MULTI_BATTLE; break; - case 9: - if (gSaveBlock2Ptr->frontier.lvlMode == 0) + case USING_BATTLE_TOWER: + if (gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_50) { - gLinkType = 0x2266; + gLinkType = LINKTYPE_BATTLE_TOWER_50; } else { - gLinkType = 0x2277; + gLinkType = LINKTYPE_BATTLE_TOWER_OPEN; } break; - case 3: - gLinkType = 0x1111; + case USING_TRADE_CENTER: + gLinkType = LINKTYPE_0x1111; break; - case 4: - gLinkType = 0x3322; + case USING_RECORD_CORNER: + gLinkType = LINKTYPE_0x3322; break; } @@ -785,26 +784,27 @@ static void sub_80B3220(u8 taskId) } } -void sub_80B3254(void) +// Unused +void CableClubSaveGame(void) { SaveGame(); } -static void sub_80B3260(int a0) +static void SetLinkBattleTypeFlags(int linkService) { - switch (a0) + switch (linkService) { - case 1: + case USING_SINGLE_BATTLE: gBattleTypeFlags = BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER; break; - case 2: + case USING_DOUBLE_BATTLE: gBattleTypeFlags = BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER; break; - case 5: + case USING_MULTI_BATTLE: ReducePlayerPartyToSelectedMons(); gBattleTypeFlags = BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER | BATTLE_TYPE_MULTI; break; - case 9: + case USING_BATTLE_TOWER: gBattleTypeFlags = BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER | BATTLE_TYPE_MULTI; break; } @@ -817,8 +817,8 @@ static void sub_80B32B4(u8 taskId) switch (task->data[0]) { case 0: - FadeScreen(1, 0); - gLinkType = 0x2211; + FadeScreen(FADE_TO_BLACK, 0); + gLinkType = LINKTYPE_BATTLE; ClearLinkCallback_2(); task->data[0]++; break; @@ -845,7 +845,7 @@ static void sub_80B32B4(u8 taskId) else PlayMapChosenOrBattleBGM(MUS_BATTLE20); - sub_80B3260(gSpecialVar_0x8004); + SetLinkBattleTypeFlags(gSpecialVar_0x8004); CleanupOverworldWindowsAndTilemaps(); gTrainerBattleOpponent_A = 0x800; SetMainCallback2(CB2_InitBattle); @@ -863,8 +863,8 @@ static void sub_80B33BC(u8 taskId) switch (data[0]) { case 0: - FadeScreen(1, 0); - gLinkType = 0x2211; + FadeScreen(FADE_TO_BLACK, 0); + gLinkType = LINKTYPE_BATTLE; ClearLinkCallback_2(); data[0] = 1; break; @@ -910,8 +910,8 @@ static void sub_80B33BC(u8 taskId) else PlayMapChosenOrBattleBGM(MUS_BATTLE20); - gLinkPlayers[0].linkType = 0x2211; - sub_80B3260(gSpecialVar_0x8004); + gLinkPlayers[0].linkType = LINKTYPE_BATTLE; + SetLinkBattleTypeFlags(gSpecialVar_0x8004); CleanupOverworldWindowsAndTilemaps(); gTrainerBattleOpponent_A = 0x800; SetMainCallback2(CB2_InitBattle); @@ -971,9 +971,9 @@ void sub_80B360C(void) Overworld_ResetMapMusic(); LoadPlayerParty(); SavePlayerBag(); - sub_813BF10(); + UpdateTrainerFansAfterLinkBattle(); - if (gSpecialVar_0x8004 == 1 || gSpecialVar_0x8004 == 2) + if (gSpecialVar_0x8004 == USING_SINGLE_BATTLE || gSpecialVar_0x8004 == USING_DOUBLE_BATTLE) { UpdatePlayerLinkBattleRecords(gLocalLinkPlayerId ^ 1); if (gWirelessCommType) @@ -1004,7 +1004,10 @@ void sub_80B360C(void) void CleanupLinkRoomState(void) { - if (gSpecialVar_0x8004 == 1 || gSpecialVar_0x8004 == 2 || gSpecialVar_0x8004 == 5 || gSpecialVar_0x8004 == 9) + if (gSpecialVar_0x8004 == USING_SINGLE_BATTLE + || gSpecialVar_0x8004 == USING_DOUBLE_BATTLE + || gSpecialVar_0x8004 == USING_MULTI_BATTLE + || gSpecialVar_0x8004 == USING_BATTLE_TOWER) { LoadPlayerParty(); SavePlayerBag(); @@ -1075,7 +1078,7 @@ static void sub_80B37FC(u8 taskId) { case 0: ScriptContext2_Enable(); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); ClearLinkCallback_2(); task->data[0]++; break; @@ -1084,8 +1087,8 @@ static void sub_80B37FC(u8 taskId) task->data[0]++; break; case 2: - gUnknown_02032298[0] = 0; - gUnknown_02032298[1] = 0; + gSelectedTradeMonPositions[TRADE_PLAYER] = 0; + gSelectedTradeMonPositions[TRADE_PARTNER] = 0; m4aMPlayAllStop(); sub_800AC34(); task->data[0]++; @@ -1093,7 +1096,7 @@ static void sub_80B37FC(u8 taskId) case 3: if (!gReceivedRemoteLinkPlayers) { - SetMainCallback2(sub_80773AC); + SetMainCallback2(CB2_StartCreateTradeMenu); DestroyTask(taskId); } break; @@ -1108,8 +1111,8 @@ static void sub_80B3894(u8 taskId) { case 0: ScriptContext2_Enable(); - FadeScreen(1, 0); - Rfu_set_zero(); + FadeScreen(FADE_TO_BLACK, 0); + ClearLinkRfuCallback(); data[0]++; break; case 1: @@ -1117,8 +1120,8 @@ static void sub_80B3894(u8 taskId) data[0]++; break; case 2: - gUnknown_02032298[0] = 0; - gUnknown_02032298[1] = 0; + gSelectedTradeMonPositions[TRADE_PLAYER] = 0; + gSelectedTradeMonPositions[TRADE_PARTNER] = 0; m4aMPlayAllStop(); sub_800ADF8(); data[0]++; @@ -1159,7 +1162,7 @@ void nullsub_37(void) // Note: VAR_0x8005 is set to the ID of the player spot. void ColosseumPlayerSpotTriggered(void) { - gLinkType = 0x2211; + gLinkType = LINKTYPE_BATTLE; if (gWirelessCommType != 0) { @@ -1178,7 +1181,7 @@ static void sub_80B39A4(void) ScriptContext1_Stop(); } -void sp02A_crash_sound(void) +void Script_ShowLinkTrainerCard(void) { ShowTrainerCardInLink(gSpecialVar_0x8006, CB2_ReturnToFieldContinueScriptPlayMapMusic); } @@ -1296,10 +1299,10 @@ void sub_80B3AF8(u8 taskId) } } -void sub_80B3BC4(void) +void TrySetBattleTowerLinkType(void) { if (gWirelessCommType == 0) { - gLinkType = 0x2288; + gLinkType = LINKTYPE_BATTLE_TOWER; } } diff --git a/src/clock.c b/src/clock.c index 1e7c5f83e9..125d403bb3 100644 --- a/src/clock.c +++ b/src/clock.c @@ -25,7 +25,7 @@ static void InitTimeBasedEvents(void) void DoTimeBasedEvents(void) { - if (FlagGet(FLAG_SYS_CLOCK_SET) && !sub_813B9C0()) + if (FlagGet(FLAG_SYS_CLOCK_SET) && !InPokemonCenter()) { RtcCalcLocalTime(); UpdatePerDay(&gLocalTime); diff --git a/src/coins.c b/src/coins.c index b838c303ee..302817f8db 100644 --- a/src/coins.c +++ b/src/coins.c @@ -6,8 +6,7 @@ #include "string_util.h" #include "menu.h" #include "international_string_util.h" - -#define MAX_COINS 9999 +#include "constants/coins.h" EWRAM_DATA u8 sCoinsWindowId = 0; @@ -49,7 +48,7 @@ void SetCoins(u16 coinAmount) gSaveBlock1Ptr->coins = coinAmount ^ gSaveBlock2Ptr->encryptionKey; } -bool8 GiveCoins(u16 toAdd) +bool8 AddCoins(u16 toAdd) { u16 newAmount; u16 ownedCoins = GetCoins(); @@ -71,7 +70,7 @@ bool8 GiveCoins(u16 toAdd) return TRUE; } -bool8 TakeCoins(u16 toSub) +bool8 RemoveCoins(u16 toSub) { u16 ownedCoins = GetCoins(); if (ownedCoins >= toSub) diff --git a/src/contest.c b/src/contest.c index 79c1616c2e..66dbdb6f11 100644 --- a/src/contest.c +++ b/src/contest.c @@ -1,7 +1,7 @@ #include "global.h" #include "gpu_regs.h" #include "bg.h" -#include "alloc.h" +#include "malloc.h" #include "constants/items.h" #include "constants/event_objects.h" #include "constants/moves.h" @@ -219,15 +219,15 @@ static void sub_80DF9E0(u8 *, s32); static void SwapMoveDescAndContestTilemaps(void); // EWRAM vars. -EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; -EWRAM_DATA s16 gContestMonConditions[4] = {0}; -EWRAM_DATA s16 gUnknown_02039F08[4] = {0}; -EWRAM_DATA s16 gUnknown_02039F10[4] = {0}; -EWRAM_DATA s16 gUnknown_02039F18[4] = {0}; -EWRAM_DATA u8 gContestFinalStandings[4] = {0}; +EWRAM_DATA struct ContestPokemon gContestMons[CONTESTANT_COUNT] = {0}; +EWRAM_DATA s16 gContestMonConditions[CONTESTANT_COUNT] = {0}; +EWRAM_DATA s16 gUnknown_02039F08[CONTESTANT_COUNT] = {0}; +EWRAM_DATA s16 gUnknown_02039F10[CONTESTANT_COUNT] = {0}; +EWRAM_DATA s16 gUnknown_02039F18[CONTESTANT_COUNT] = {0}; +EWRAM_DATA u8 gContestFinalStandings[CONTESTANT_COUNT] = {0}; EWRAM_DATA u8 gContestMonPartyIndex = 0; EWRAM_DATA u8 gContestPlayerMonIndex = 0; -EWRAM_DATA u8 gContestantTurnOrder[4] = {0}; +EWRAM_DATA u8 gContestantTurnOrder[CONTESTANT_COUNT] = {0}; EWRAM_DATA u8 gLinkContestFlags = 0; // Bit 0: Is a link contest // Bit 1: Link contest uses wireless adapter @@ -238,7 +238,7 @@ EWRAM_DATA u8 gNumLinkContestPlayers = 0; EWRAM_DATA u8 gHighestRibbonRank = 0; EWRAM_DATA struct ContestResources *gContestResources = NULL; EWRAM_DATA u8 sContestBgCopyFlags = 0; -EWRAM_DATA struct ContestWinner gUnknown_02039F3C = {0}; +EWRAM_DATA struct ContestWinner gCurContestWinner = {0}; EWRAM_DATA u8 gUnknown_02039F5C = 0; EWRAM_DATA u8 gUnknown_02039F5D = 0; @@ -246,29 +246,8 @@ EWRAM_DATA u8 gUnknown_02039F5D = 0; u32 gContestRngValue; extern const u8 gText_LinkStandby4[]; -extern const u8 gText_0827D55A[]; -extern const u8 gText_0827E793[]; -extern const u8 gText_0827E32E[]; -extern const u8 gText_0827E35B[]; -extern const u8 gText_0827E38D[]; -extern const u8 gText_0827E2FE[]; -extern const u8 gText_RepeatedAppeal[]; -extern const u8 gText_0827E73C[]; -extern const u8 gText_0827E717[]; -extern const u8 gText_0827E76A[]; -extern const u8 gText_0827E7EA[]; -extern const u8 gText_0827E817[]; -extern const u8 gText_0827E58A[]; -extern const u8 gText_0827D56F[]; -extern const u8 gText_0827D597[]; -extern const u8 gText_Contest_Shyness[]; -extern const u8 gText_Contest_Anxiety[]; -extern const u8 gText_Contest_Laziness[]; -extern const u8 gText_Contest_Hesitancy[]; -extern const u8 gText_Contest_Fear[]; extern const u8 gText_BDot[]; extern const u8 gText_CDot[]; -extern const u8 *const gUnknown_08587E10[]; extern void (*const gContestEffectFuncs[])(void); static const u8 gUnknown_08587A6C[] = @@ -291,10 +270,10 @@ static const struct SpriteSheet gUnknown_08587A74 = static const struct OamData gOamData_8587A7C = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, @@ -376,10 +355,10 @@ static const struct SpritePalette gUnknown_08587B08 = static const struct OamData gOamData_8587B10 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), .x = 0, .matrixNum = 0, @@ -435,16 +414,16 @@ const struct Subsprite gSubspriteTable_8587B78[] = { .x = -28, .y = -4, - .shape = ST_OAM_H_RECTANGLE, - .size = 1, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), .tileOffset = 0, .priority = 0 }, { .x = 4, .y = -4, - .shape = ST_OAM_H_RECTANGLE, - .size = 1, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), .tileOffset = 4, .priority = 0 } @@ -577,7 +556,7 @@ const struct SpriteTemplate gSpriteTemplate_8587C18 = { .tileTag = 0xABE0, .paletteTag = 0xABE0, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1345,9 +1324,9 @@ static void sub_80D833C(u8 taskId) DmaCopy32Defvars(3, gPlttBufferUnfaded, eUnknownHeap1A004.unk18204, PLTT_BUFFER_SIZE * 2); ConvertIntToDecimalStringN(gStringVar1, eContest.turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) - StringCopy(gDisplayedStringBattle, gText_0827D507); + StringCopy(gDisplayedStringBattle, gText_AppealNumWhichMoveWillBePlayed); else - StringCopy(gDisplayedStringBattle, gText_0827D531); + StringCopy(gDisplayedStringBattle, gText_AppealNumButItCantParticipate); ContestClearGeneralTextWindow(); StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle); Contest_StartTextPrinter(gStringVar4, TRUE); @@ -1443,9 +1422,9 @@ static void sub_80D8610(u8 taskId) sub_80DC490(FALSE); ConvertIntToDecimalStringN(gStringVar1, eContest.turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) - StringCopy(gDisplayedStringBattle, gText_0827D507); + StringCopy(gDisplayedStringBattle, gText_AppealNumWhichMoveWillBePlayed); else - StringCopy(gDisplayedStringBattle, gText_0827D531); + StringCopy(gDisplayedStringBattle, gText_AppealNumButItCantParticipate); ContestClearGeneralTextWindow(); StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle); Contest_StartTextPrinter(gStringVar4, 0); @@ -1574,7 +1553,7 @@ static void sub_80D8A88(u8 taskId) { s32 i; - for (i = 0; i + gNumLinkContestPlayers < 4; i++) + for (i = 0; i + gNumLinkContestPlayers < CONTESTANT_COUNT; i++) { eContestantStatus[gNumLinkContestPlayers + i].currMove = GetChosenMove(gNumLinkContestPlayers + i); } @@ -1673,8 +1652,8 @@ static void sub_80D8B38(u8 taskId) if (eContestantStatus[r6].currMove < MOVES_COUNT) StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]); else - StringCopy(gStringVar2, gUnknown_08587F1C[eContestantStatus[r6].moveCategory]); - StringExpandPlaceholders(gStringVar4, gText_0827D55A); + StringCopy(gStringVar2, sInvalidContestMoveNames[eContestantStatus[r6].moveCategory]); + StringExpandPlaceholders(gStringVar4, gText_MonAppealedWithMove); Contest_StartTextPrinter(gStringVar4, 1); gTasks[taskId].data[0] = 6; } @@ -1735,7 +1714,7 @@ static void sub_80D8B38(u8 taskId) { if (eContestantStatus[r6].effectStringId2 != CONTEST_STRING_NONE) { - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (i != r6 && eContestantStatus[i].effectStringId != CONTEST_STRING_NONE) break; @@ -1838,10 +1817,10 @@ static void sub_80D8B38(u8 taskId) s32 r2 = 0; r3 = 0; - for (i = gTasks[taskId].data[1]; i < 4; i++) + for (i = gTasks[taskId].data[1]; i < CONTESTANT_COUNT; i++) { r3 = 0; - for (r2 = 0; r2 < 4; r2++) + for (r2 = 0; r2 < CONTESTANT_COUNT; r2++) { if (r2 != r6 && gContestantTurnOrder[r2] == i && eContestantStatus[r2].effectStringId != CONTEST_STRING_NONE) @@ -1906,7 +1885,7 @@ static void sub_80D8B38(u8 taskId) } return; case 30: - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (gContestantTurnOrder[i] == gTasks[taskId].data[1]) break; @@ -1932,7 +1911,7 @@ static void sub_80D8B38(u8 taskId) { ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[r6].nickname); - StringExpandPlaceholders(gStringVar4, gText_0827E793); + StringExpandPlaceholders(gStringVar4, gText_MonCantAppealNextTurn); Contest_StartTextPrinter(gStringVar4, 1); } gTasks[taskId].data[0] = 52; @@ -1953,11 +1932,11 @@ static void sub_80D8B38(u8 taskId) { ContestClearGeneralTextWindow(); if (r3 == 1) - Contest_StartTextPrinter(gText_0827E32E, TRUE); + Contest_StartTextPrinter(gText_AppealComboWentOverWell, TRUE); else if (r3 == 2) - Contest_StartTextPrinter(gText_0827E35B, TRUE); + Contest_StartTextPrinter(gText_AppealComboWentOverVeryWell, TRUE); else - Contest_StartTextPrinter(gText_0827E38D, TRUE); + Contest_StartTextPrinter(gText_AppealComboWentOverExcellently, TRUE); sub_80DD720(3); gTasks[taskId].data[10] = 0; gTasks[taskId].data[0] = 45; @@ -1966,7 +1945,7 @@ static void sub_80D8B38(u8 taskId) { ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[r6].nickname); - StringExpandPlaceholders(gStringVar4, gText_0827E2FE); + StringExpandPlaceholders(gStringVar4, gText_JudgeLookedAtMonExpectantly); Contest_StartTextPrinter(gStringVar4, 1); sub_80DD720(2); gTasks[taskId].data[10] = 0; @@ -2056,7 +2035,7 @@ static void sub_80D8B38(u8 taskId) } else { - StringCopy(gStringVar3, gUnknown_08587F08[gContestMoves[eContestantStatus[r6].currMove].contestCategory]); + StringCopy(gStringVar3, sContestConditions[gContestMoves[eContestantStatus[r6].currMove].contestCategory]); } if (r3 > 0) { @@ -2075,11 +2054,11 @@ static void sub_80D8B38(u8 taskId) else { if (r3 < 0) - StringExpandPlaceholders(gStringVar4, gText_0827E73C); + StringExpandPlaceholders(gStringVar4, gText_MonsXDidntGoOverWell); else if (r3 > 0 && eContest.applauseLevel <= 4) - StringExpandPlaceholders(gStringVar4, gText_0827E717); + StringExpandPlaceholders(gStringVar4, gText_MonsXWentOverGreat); else - StringExpandPlaceholders(gStringVar4, gText_0827E76A); + StringExpandPlaceholders(gStringVar4, gText_MonsXGotTheCrowdGoing); Contest_StartTextPrinter(gStringVar4, 1); gTasks[taskId].data[10] = 0; gTasks[taskId].data[11] = 0; @@ -2189,7 +2168,7 @@ static void sub_80D8B38(u8 taskId) StringCopy(gStringVar3, gContestMons[gContestResources->field_10->excitementFreezer].nickname); StringCopy(gStringVar1, gContestMons[r6].nickname); StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]); - StringExpandPlaceholders(gStringVar4, gText_0827E7EA); + StringExpandPlaceholders(gStringVar4, gText_CrowdContinuesToWatchMon); Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0] = 58; return; @@ -2197,7 +2176,7 @@ static void sub_80D8B38(u8 taskId) if (!Contest_RunTextPrinters()) { ContestClearGeneralTextWindow(); - StringExpandPlaceholders(gStringVar4, gText_0827E817); + StringExpandPlaceholders(gStringVar4, gText_MonsMoveIsIgnored); Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0] = 59; } @@ -2215,7 +2194,7 @@ static void sub_80D8B38(u8 taskId) sub_80DC9B4(r6); StringCopy(gStringVar1, gContestMons[r6].nickname); StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]); - StringExpandPlaceholders(gStringVar4, gText_0827E58A); + StringExpandPlaceholders(gStringVar4, gText_MonWasTooNervousToMove); Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0] = 34; return; @@ -2259,7 +2238,7 @@ static void sub_80D8B38(u8 taskId) case 31: ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[r6].nickname); - StringExpandPlaceholders(gStringVar4, gText_0827D56F); + StringExpandPlaceholders(gStringVar4, gText_MonWasWatchingOthers); Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0] = 32; return; @@ -2427,11 +2406,11 @@ static void sub_80DA3CC(u8 taskId) { if (gTasks[taskId].data[0] == 0) { - u8 r4 = eContestantStatus[gContestPlayerMonIndex].attentionLevel; + u8 attention = eContestantStatus[gContestPlayerMonIndex].attentionLevel; ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[gContestPlayerMonIndex].nickname); - StringExpandPlaceholders(gStringVar4, gUnknown_08587D90[r4]); + StringExpandPlaceholders(gStringVar4, sRoundResultTexts[attention]); Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0]++; } @@ -2509,7 +2488,7 @@ static void sub_80DA5E8(u8 taskId) gBattle_BG0_Y = 0; gBattle_BG2_Y = 0; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) gUnknown_02039F10[i] = eContestantStatus[i].pointTotal; sub_80DBD18(); ContestClearGeneralTextWindow(); @@ -2522,7 +2501,7 @@ static void sub_80DA5E8(u8 taskId) ContestDebugPrintBitStrings(); } gContestRngValue = gRngValue; - StringExpandPlaceholders(gStringVar4, gText_0827D597); + StringExpandPlaceholders(gStringVar4, gText_AllOutOfAppealTime); Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[2] = 0; gTasks[taskId].func = sub_80DA6B4; @@ -2786,9 +2765,9 @@ void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame) opponents[opponentsCount++] = i; } opponents[opponentsCount] = 0xFF; - for (i = 0; i < 4 - gNumLinkContestPlayers; i++) + for (i = 0; i < CONTESTANT_COUNT - gNumLinkContestPlayers; i++) { - u16 rnd = sub_80F903C() % opponentsCount; + u16 rnd = GetContestRand() % opponentsCount; gContestMons[gNumLinkContestPlayers + i] = gContestOpponents[opponents[rnd]]; sub_80DF9D4(gContestMons[gNumLinkContestPlayers + i].trainerName); @@ -2799,16 +2778,15 @@ void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame) } } -// GetContestAvailability? -u8 sub_80DAE0C(struct Pokemon *pkmn) +u8 GetContestEntryEligibility(struct Pokemon *pkmn) { u8 ribbon; - u8 retVal; + u8 eligibility; if (GetMonData(pkmn, MON_DATA_IS_EGG)) - return 3; + return CANT_ENTER_CONTEST_EGG; if (GetMonData(pkmn, MON_DATA_HP) == 0) - return 4; + return CANT_ENTER_CONTEST_FAINTED; switch (gSpecialVar_ContestCategory) { case CONTEST_CATEGORY_COOL: @@ -2827,19 +2805,19 @@ u8 sub_80DAE0C(struct Pokemon *pkmn) ribbon = GetMonData(pkmn, MON_DATA_TOUGH_RIBBON); break; default: - return 0; + return CANT_ENTER_CONTEST; } // Couldn't get this to match any other way. // Returns 2, 1, or 0 respectively if ribbon's rank is above, equal, or below // the current contest rank. if (ribbon > gSpecialVar_ContestRank) - retVal = 2; + eligibility = CAN_ENTER_CONTEST_HIGH_RANK; else if (ribbon >= gSpecialVar_ContestRank) - retVal = 1; + eligibility = CAN_ENTER_CONTEST_EQUAL_RANK; else - retVal = 0; - return retVal; + eligibility = CANT_ENTER_CONTEST; + return eligibility; } static void DrawContestantWindowText(void) @@ -2935,7 +2913,7 @@ void sub_80DB09C(u8 contestCategory) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) gContestMonConditions[i] = sub_80DAFE0(i, contestCategory); } @@ -3102,7 +3080,7 @@ static void sub_80DB584(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) sub_80DB4E0(eContestantStatus[i].currMove, i); } @@ -3213,7 +3191,7 @@ static void sub_80DB884(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) sub_80DB798(i); } @@ -3863,7 +3841,7 @@ static void sub_80DC864(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) sub_80DC87C(i); } @@ -4260,7 +4238,7 @@ static void sub_80DD080(u8 contestant) eContestResources8.jam2 = eContestResources8.jam; eContestResources8.contestant = contestant; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { eContestantStatus[i].jam = 0; eContestResources8.unnervedPokes[i] = 0; @@ -4382,7 +4360,7 @@ static void sub_80DD45C(u8 contestant, u8 stringId) StringCopy(gStringVar3, gText_Contest_Hesitancy); else StringCopy(gStringVar3, gText_Contest_Fear); - StringExpandPlaceholders(gStringVar4, gUnknown_08587E10[stringId]); + StringExpandPlaceholders(gStringVar4, sAppealResultTexts[stringId]); ContestClearGeneralTextWindow(); Contest_StartTextPrinter(gStringVar4, 1); } @@ -4797,7 +4775,7 @@ static void sub_80DE008(bool8 a) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (eContestantStatus[i].turnOrderMod != 0 && a) { @@ -5043,7 +5021,7 @@ static void sub_80DE69C(u8 a) for (i = 0; i < CONTESTANT_COUNT; i++) { gSprites[gContestResources->field_14[i].unk0].oam.matrixNum = AllocOamMatrix(); - gSprites[gContestResources->field_14[i].unk0].oam.affineMode = 1; + gSprites[gContestResources->field_14[i].unk0].oam.affineMode = ST_OAM_AFFINE_NORMAL; StartSpriteAffineAnim(&gSprites[gContestResources->field_14[i].unk0], a); if (a == 2) { @@ -5115,7 +5093,7 @@ static void sub_80DE864(u8 a) gContestResources->field_18->unk4_0 = 1; break; case MOVE_RETURN: - gAnimFriendship = 0xFF; + gAnimFriendship = MAX_FRIENDSHIP; break; case MOVE_FRUSTRATION: gAnimFriendship = 0; @@ -5303,7 +5281,7 @@ void ResetContestLinkResults(void) gSaveBlock2Ptr->contestLinkResults[i][j] = 0; } -bool8 sub_80DEDA8(u8 a) +bool8 sub_80DEDA8(u8 rank) { s32 i; u8 r7 = Random() % 3; @@ -5313,7 +5291,7 @@ bool8 sub_80DEDA8(u8 a) if (gContestFinalStandings[i] == 0) break; } - if (a == 0xFF && i != gContestPlayerMonIndex) + if (rank == 0xFF && i != gContestPlayerMonIndex) return FALSE; switch (gSpecialVar_ContestCategory) { @@ -5333,9 +5311,9 @@ bool8 sub_80DEDA8(u8 a) r7 += 12; break; } - if (a != 0xFE) + if (rank != 0xFE) { - u8 r4 = sub_80DEFA8(a, 1); + u8 r4 = sub_80DEFA8(rank, 1); gSaveBlock1Ptr->contestWinners[r4].personality = gContestMons[i].personality; gSaveBlock1Ptr->contestWinners[r4].species = gContestMons[i].species; @@ -5343,44 +5321,44 @@ bool8 sub_80DEDA8(u8 a) StringCopy(gSaveBlock1Ptr->contestWinners[r4].monName, gContestMons[i].nickname); StringCopy(gSaveBlock1Ptr->contestWinners[r4].trainerName, gContestMons[i].trainerName); if(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) - gSaveBlock1Ptr->contestWinners[r4].contestRank = 4; + gSaveBlock1Ptr->contestWinners[r4].contestRank = CONTEST_RANK_LINK; else gSaveBlock1Ptr->contestWinners[r4].contestRank = gSpecialVar_ContestRank; - if (a != 0xFF) + if (rank != 0xFF) gSaveBlock1Ptr->contestWinners[r4].contestCategory = gSpecialVar_ContestCategory; else gSaveBlock1Ptr->contestWinners[r4].contestCategory = r7; } else { - gUnknown_02039F3C.personality = gContestMons[i].personality; - gUnknown_02039F3C.trainerId = gContestMons[i].otId; - gUnknown_02039F3C.species = gContestMons[i].species; - StringCopy(gUnknown_02039F3C.monName, gContestMons[i].nickname); - StringCopy(gUnknown_02039F3C.trainerName, gContestMons[i].trainerName); - gUnknown_02039F3C.contestCategory = r7; + gCurContestWinner.personality = gContestMons[i].personality; + gCurContestWinner.trainerId = gContestMons[i].otId; + gCurContestWinner.species = gContestMons[i].species; + StringCopy(gCurContestWinner.monName, gContestMons[i].nickname); + StringCopy(gCurContestWinner.trainerName, gContestMons[i].trainerName); + gCurContestWinner.contestCategory = r7; } return TRUE; } -u8 sub_80DEFA8(u8 a, u8 b) +u8 sub_80DEFA8(u8 rank, u8 b) { s32 i; - switch (a) + switch (rank) { - case 0: - case 1: - case 2: - case 3: + case CONTEST_RANK_NORMAL: + case CONTEST_RANK_SUPER: + case CONTEST_RANK_HYPER: + case CONTEST_RANK_MASTER: if (b != 0) { for (i = 5; i >= 1; i--) memcpy(&gSaveBlock1Ptr->contestWinners[i], &gSaveBlock1Ptr->contestWinners[i - 1], sizeof(struct ContestWinner)); } return 0; - default: + default: // CONTEST_RANK_LINK switch (gSpecialVar_ContestCategory) { case CONTEST_CATEGORY_COOL: @@ -5435,7 +5413,7 @@ static void sub_80DF080(u8 contestant) gContestResources->field_1c[contestant].unkC |= 8; } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (i != contestant && eContestantStatus[i].jam != 0) { @@ -5482,7 +5460,7 @@ static void sub_80DF250(void) r1 = 0; var_38 = 0; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (gContestFinalStandings[i] == 0) var_38 = i; @@ -5509,7 +5487,7 @@ static void sub_80DF250(void) r12 = FALSE; r8 = FALSE; - for (j = 0; j < 4; j++) + for (j = 0; j < CONTESTANT_COUNT; j++) { if (gContestMonConditions[i] > gContestMonConditions[j]) r12 = TRUE; diff --git a/src/contest_link_80F57C4.c b/src/contest_link_80F57C4.c index a0a29f0ad4..8a1fce64b2 100644 --- a/src/contest_link_80F57C4.c +++ b/src/contest_link_80F57C4.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle.h" #include "battle_gfx_sfx_util.h" #include "bg.h" @@ -39,6 +39,7 @@ #include "constants/game_stat.h" #include "constants/rgb.h" #include "constants/songs.h" +#include "constants/tv.h" #include "constants/vars.h" #include "contest.h" @@ -88,7 +89,7 @@ extern const struct CompressedSpriteSheet gUnknown_0858D878[]; extern const struct CompressedSpritePalette gUnknown_0858D880[]; extern const struct SpriteSheet gUnknown_0858D8E0; extern const struct SpriteTemplate gSpriteTemplate_858D8C8; -extern const u8 gUnknown_0858D8E8[]; +extern const u8 sContestLinkTextColors[]; extern const u8 gUnknown_0858D6D0[]; extern const struct SpriteTemplate gSpriteTemplate_858D7F8; extern const struct SpriteSheet gUnknown_0858D810[]; @@ -265,7 +266,7 @@ void sub_80F5AE0(void) { int i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) sub_80F5A74(i); CopyBgTilemapBufferToVram(1); @@ -355,17 +356,17 @@ static void sub_80F5CE4(u8 taskId) InterviewAfter(); } - sub_813BADC(2); + TryGainNewFanFromCounter(2); sub_80DEDA8(gSpecialVar_ContestRank); sub_80DEDA8(0xFE); gUnknown_02039F5C = 1; gUnknown_02039F5D = sub_80DEFA8(0xFE, 0); - var = VarGet(VAR_LINK_CONTEST_ROOM_STATE); - VarSet(VAR_LINK_CONTEST_ROOM_STATE, 0); + var = VarGet(VAR_CONTEST_HALL_STATE); + VarSet(VAR_CONTEST_HALL_STATE, 0); SetContinueGameWarpStatusToDynamicWarp(); TrySavingData(SAVE_LINK); ClearContinueGameWarpStatus2(); - VarSet(VAR_LINK_CONTEST_ROOM_STATE, var); + VarSet(VAR_CONTEST_HALL_STATE, var); gTasks[taskId].data[0]++; break; case 1: @@ -410,7 +411,7 @@ static void sub_80F5CE4(u8 taskId) sub_80DEDA8(0xFE); gUnknown_02039F5C = 1; gUnknown_02039F5D = sub_80DEFA8(0xFE, 0); - sub_813BADC(2); + TryGainNewFanFromCounter(2); gTasks[taskId].func = sub_80F5F74; } } @@ -576,7 +577,7 @@ static void sub_80F6204(u8 taskId) } break; case 2: - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { newTaskId = CreateTask(sub_80F73DC, 10); gTasks[newTaskId].data[0] = gContestFinalStandings[i]; @@ -592,7 +593,7 @@ static void sub_80F6204(u8 taskId) gTasks[taskId].data[1] = 0; CreateTask(sub_80F74BC, 10); gTasks[taskId].data[0]++; - for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++) + for (i = 0; i < CONTESTANT_COUNT && gContestFinalStandings[i] != 0; i++) ; sub_80F77E0(i, 14); @@ -603,7 +604,7 @@ static void sub_80F6204(u8 taskId) if (++gTasks[taskId].data[1] == 21) { gTasks[taskId].data[1] = 0; - for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++) + for (i = 0; i < CONTESTANT_COUNT && gContestFinalStandings[i] != 0; i++) ; StringCopy(gStringVar1, gContestMons[i].trainerName); @@ -636,7 +637,7 @@ static void sub_80F6404(u8 taskId) case 0: gBattle_WIN0H = 0x00F0; gBattle_WIN0V = 0x5050; - for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++) + for (i = 0; i < CONTESTANT_COUNT && gContestFinalStandings[i] != 0; i++) ; species = gContestMons[i].species; @@ -732,7 +733,7 @@ static void sub_80F66B4(u8 taskId) { if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)) { - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { nationalDexNum = SpeciesToNationalPokedexNum(gContestMons[i].species); GetSetPokedexFlag(nationalDexNum, FLAG_SET_SEEN); @@ -874,7 +875,7 @@ static void LoadAllContestMonIcons(u8 srcOffset, u8 useDmaNow) { int i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) sub_80F69B8(gContestMons[i].species, i, srcOffset, useDmaNow, gContestMons[i].personality); } @@ -882,7 +883,7 @@ static void sub_80F6A9C(void) { int i, species; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { species = gContestMons[i].species; LoadPalette(gMonIconPalettes[gMonIconPaletteIndices[GetIconSpecies(species, 0)]], i * 0x10 + 0xA0, 0x20); @@ -934,7 +935,7 @@ s32 sub_80F6B78(const u8 *text, u8 spriteId) if (strWidth > 30) strWidth = 30; - AddTextPrinterParameterized3(windowId, 1, (strWidth * 8 - origWidth) / 2, 1, gUnknown_0858D8E8, -1, text); + AddTextPrinterParameterized3(windowId, 1, (strWidth * 8 - origWidth) / 2, 1, sContestLinkTextColors, -1, text); windowTilesPtr = (u8 *)(GetWindowAttribute(windowId, WINDOW_TILE_DATA)); src = (u8 *)(gUnknown_0858D6D0); @@ -1028,7 +1029,7 @@ _080F6BD0:\n\ asrs r2, 1\n\ lsls r2, 24\n\ lsrs r2, 24\n\ - ldr r0, =gUnknown_0858D8E8\n\ + ldr r0, =sContestLinkTextColors\n\ str r0, [sp]\n\ movs r0, 0x1\n\ negs r0, r0\n\ @@ -1423,48 +1424,48 @@ static void sub_80F71C8(void) CopyToBgTilemapBufferRect(2, gUnknown_08DC6498, 5, 1, 5, 2); x = 10; } - else if (gSpecialVar_ContestRank == 0) + else if (gSpecialVar_ContestRank == CONTEST_RANK_NORMAL) { CopyToBgTilemapBufferRect(2, gUnknown_08DC63F8, 5, 1, 10, 2); x = 15; } - else if (gSpecialVar_ContestRank == 1) + else if (gSpecialVar_ContestRank == CONTEST_RANK_SUPER) { CopyToBgTilemapBufferRect(2, gUnknown_08DC6420, 5, 1, 10, 2); x = 15; } - else if (gSpecialVar_ContestRank == 2) + else if (gSpecialVar_ContestRank == CONTEST_RANK_HYPER) { CopyToBgTilemapBufferRect(2, gUnknown_08DC6448, 5, 1, 10, 2); x = 15; } - else + else // CONTEST_RANK_MASTER { CopyToBgTilemapBufferRect(2, gUnknown_08DC6470, 5, 1, 10, 2); x = 15; } - if (gSpecialVar_ContestCategory == 0) + if (gSpecialVar_ContestCategory == CONTEST_CATEGORY_COOL) { palette = 0; CopyToBgTilemapBufferRect(2, gUnknown_08DC64AC, x, y, 5, 2); } - else if (gSpecialVar_ContestCategory == 1) + else if (gSpecialVar_ContestCategory == CONTEST_CATEGORY_BEAUTY) { palette = 1; CopyToBgTilemapBufferRect(2, gUnknown_08DC64C0, x, y, 5, 2); } - else if (gSpecialVar_ContestCategory == 2) + else if (gSpecialVar_ContestCategory == CONTEST_CATEGORY_CUTE) { palette = 2; CopyToBgTilemapBufferRect(2, gUnknown_08DC64D4, x, y, 5, 2); } - else if (gSpecialVar_ContestCategory == 3) + else if (gSpecialVar_ContestCategory == CONTEST_CATEGORY_SMART) { palette = 3; CopyToBgTilemapBufferRect(2, gUnknown_08DC64E8, x, y, 5, 2); } - else + else // CONTEST_CATEGORY_TOUGH { palette = 4; CopyToBgTilemapBufferRect(2, gUnknown_08DC64FC, x, y, 5, 2); @@ -1550,7 +1551,7 @@ static void sub_80F73DC(u8 taskId) static void sub_80F74BC(u8 taskId) { int i; - for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++) + for (i = 0; i < CONTESTANT_COUNT && gContestFinalStandings[i] != 0; i++) ; CopyToBgTilemapBufferRect_ChangePalette(2, i * 0xC0 + 0x100 + gUnknown_0203A034->unkC[2], 0, i * 3 + 4, 32, 3, 9); @@ -1706,7 +1707,7 @@ static void sub_80F7880(void) } } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { r4 = (gContestMonConditions[i] * 1000) / abs(r2); if (r4 % 10 > 4) @@ -1933,50 +1934,52 @@ static void sub_80F7ED0(int windowId, u8 *str, int arg2) PutWindowTilemap(windowId); } -void sub_80F7F30(void) +void TryEnterContestMon(void) { - u8 result = sub_80DAE0C(&gPlayerParty[gContestMonPartyIndex]); - if (result) + u8 eligibility = GetContestEntryEligibility(&gPlayerParty[gContestMonPartyIndex]); + + // Nonzero eligibility can still be non-eligibile, if mon is fainted or egg + if (eligibility) { sub_80DAB8C(gSpecialVar_ContestCategory, gSpecialVar_ContestRank); sub_80DB09C(gSpecialVar_ContestCategory); } - gSpecialVar_Result = result; + gSpecialVar_Result = eligibility; } -u16 sub_80F7F7C(void) +u16 HasMonWonThisContestBefore(void) { - u16 result = 0; + u16 hasRankRibbon = FALSE; struct Pokemon *mon = &gPlayerParty[gContestMonPartyIndex]; switch (gSpecialVar_ContestCategory) { case CONTEST_CATEGORY_COOL: if (GetMonData(mon, MON_DATA_COOL_RIBBON) > gSpecialVar_ContestRank) - result = 1; + hasRankRibbon = TRUE; break; case CONTEST_CATEGORY_BEAUTY: if (GetMonData(mon, MON_DATA_BEAUTY_RIBBON) > gSpecialVar_ContestRank) - result = 1; + hasRankRibbon = TRUE; break; case CONTEST_CATEGORY_CUTE: if (GetMonData(mon, MON_DATA_CUTE_RIBBON) > gSpecialVar_ContestRank) - result = 1; + hasRankRibbon = TRUE; break; case CONTEST_CATEGORY_SMART: if (GetMonData(mon, MON_DATA_SMART_RIBBON) > gSpecialVar_ContestRank) - result = 1; + hasRankRibbon = TRUE; break; case CONTEST_CATEGORY_TOUGH: if (GetMonData(mon, MON_DATA_TOUGH_RIBBON) > gSpecialVar_ContestRank) - result = 1; + hasRankRibbon = TRUE; break; } - return result; + return hasRankRibbon; } -void sub_80F7FFC(void) +void GiveMonContestRibbon(void) { u8 ribbonData; @@ -1991,8 +1994,8 @@ void sub_80F7FFC(void) { ribbonData++; SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_COOL_RIBBON, &ribbonData); - if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > 4) - sub_80EE4DC(&gPlayerParty[gContestMonPartyIndex], MON_DATA_COOL_RIBBON); + if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > NUM_CUTIES_RIBBONS) + TryPutSpotTheCutiesOnAir(&gPlayerParty[gContestMonPartyIndex], MON_DATA_COOL_RIBBON); } break; case CONTEST_CATEGORY_BEAUTY: @@ -2001,8 +2004,8 @@ void sub_80F7FFC(void) { ribbonData++; SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_BEAUTY_RIBBON, &ribbonData); - if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > 4) - sub_80EE4DC(&gPlayerParty[gContestMonPartyIndex], MON_DATA_BEAUTY_RIBBON); + if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > NUM_CUTIES_RIBBONS) + TryPutSpotTheCutiesOnAir(&gPlayerParty[gContestMonPartyIndex], MON_DATA_BEAUTY_RIBBON); } break; case CONTEST_CATEGORY_CUTE: @@ -2011,8 +2014,8 @@ void sub_80F7FFC(void) { ribbonData++; SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_CUTE_RIBBON, &ribbonData); - if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > 4) - sub_80EE4DC(&gPlayerParty[gContestMonPartyIndex], MON_DATA_CUTE_RIBBON); + if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > NUM_CUTIES_RIBBONS) + TryPutSpotTheCutiesOnAir(&gPlayerParty[gContestMonPartyIndex], MON_DATA_CUTE_RIBBON); } break; case CONTEST_CATEGORY_SMART: @@ -2021,8 +2024,8 @@ void sub_80F7FFC(void) { ribbonData++; SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_SMART_RIBBON, &ribbonData); - if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > 4) - sub_80EE4DC(&gPlayerParty[gContestMonPartyIndex], MON_DATA_SMART_RIBBON); + if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > NUM_CUTIES_RIBBONS) + TryPutSpotTheCutiesOnAir(&gPlayerParty[gContestMonPartyIndex], MON_DATA_SMART_RIBBON); } break; case CONTEST_CATEGORY_TOUGH: @@ -2031,95 +2034,96 @@ void sub_80F7FFC(void) { ribbonData++; SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_TOUGH_RIBBON, &ribbonData); - if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > 4) - sub_80EE4DC(&gPlayerParty[gContestMonPartyIndex], MON_DATA_TOUGH_RIBBON); + if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > NUM_CUTIES_RIBBONS) + TryPutSpotTheCutiesOnAir(&gPlayerParty[gContestMonPartyIndex], MON_DATA_TOUGH_RIBBON); } break; } } -void sub_80F8264(void) +void BufferContestantTrainerName(void) { StringCopy(gStringVar1, gContestMons[gSpecialVar_0x8006].trainerName); sub_81DB5AC(gStringVar1); } -void sub_80F8290(void) +void BufferContestantMonNickname(void) { StringCopy(gStringVar3, gContestMons[gSpecialVar_0x8006].nickname); } -void sub_80F82B4(void) +// Unused script special +void GetContestMonConditionRanking(void) { - u8 i, count; + u8 i, rank; - for (i = 0, count = 0; i < 4; i++) + for (i = 0, rank = 0; i < CONTESTANT_COUNT; i++) { if (gContestMonConditions[gSpecialVar_0x8006] < gContestMonConditions[i]) - count++; + rank++; } - gSpecialVar_0x8004 = count; + gSpecialVar_0x8004 = rank; } -void sub_80F82FC(void) +void GetContestMonCondition(void) { gSpecialVar_0x8004 = gContestMonConditions[gSpecialVar_0x8006]; } -void sub_80F831C(void) +void GetContestWinnerId(void) { u8 i; - for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++) + for (i = 0; i < CONTESTANT_COUNT && gContestFinalStandings[i] != 0; i++) ; gSpecialVar_0x8005 = i; } -void sub_80F834C(void) +void BufferContestWinnerTrainerName(void) { u8 i; - for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++) + for (i = 0; i < CONTESTANT_COUNT && gContestFinalStandings[i] != 0; i++) ; StringCopy(gStringVar3, gContestMons[i].trainerName); sub_81DB5AC(gStringVar3); } -void sub_80F8390(void) +void BufferContestWinnerMonName(void) { u8 i; - for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++) + for (i = 0; i < CONTESTANT_COUNT && gContestFinalStandings[i] != 0; i++) ; StringCopy(gStringVar1, gContestMons[i].nickname); } -void sub_80F83D0(void) +void CB2_SetStartContestCallback(void) { SetMainCallback2(CB2_StartContest); } -static void sub_80F83E0(u8 taskId) +static void Task_StartContest(u8 taskId) { if (!gPaletteFade.active) { DestroyTask(taskId); - SetMainCallback2(sub_80F83D0); + SetMainCallback2(CB2_SetStartContestCallback); } } -void sub_80F840C(void) +void StartContest(void) { ScriptContext2_Enable(); - CreateTask(sub_80F83E0, 10); + CreateTask(Task_StartContest, 10); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); } -void sub_80F8438(void) +void BufferContestantMonSpecies(void) { gSpecialVar_0x8004 = gContestMons[gSpecialVar_0x8006].species; } @@ -2140,7 +2144,7 @@ void sub_80F8484(void) BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); } -void sub_80F84B0(void) +void GetContestPlayerId(void) { gSpecialVar_0x8004 = gContestPlayerMonIndex; } @@ -2246,7 +2250,7 @@ void sub_80F8714(u8 taskId) } else { - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) StringGetEnd10(gContestMons[i].nickname); DestroyTask(taskId); diff --git a/src/contest_painting.c b/src/contest_painting.c index 1b95e1ed99..7f33cac09f 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -1,14 +1,14 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle.h" #include "battle_gfx_sfx_util.h" #include "bg.h" #include "contest.h" #include "contest_painting.h" -#include "contest_painting_effects.h" #include "data.h" #include "decompress.h" #include "gpu_regs.h" +#include "image_processing_effects.h" #include "international_string_util.h" #include "main.h" #include "lilycove_lady.h" @@ -22,9 +22,9 @@ #include "constants/rgb.h" // IWRAM common -u16 (*gUnknown_03006190)[][32]; -struct Unk030061A0 gUnknown_030061A0; -struct ContestWinner *gUnknown_030061C0; +u16 (*gContestMonPixels)[][32]; +struct ImageProcessingContext gImageProcessingContext; +struct ContestWinner *gContestPaintingWinner; u16 *gContestPaintingMonPalette; // IWRAM bss @@ -39,10 +39,10 @@ static void HoldContestPainting(void); static void InitContestPaintingWindow(void); static void InitContestPaintingBg(void); static void InitContestPaintingVars(bool8); -static void sub_8130884(u8, u8); +static void CreateContestPaintingPicture(u8, u8); static void PrintContestPaintingCaption(u8, u8); static void VBlankCB_ContestPainting(void); -static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[64][64]); +static void _InitContestMonPixels(u8 *spriteGfx, u16 *palette, u16 (*destPixels)[64][64]); extern const u8 gUnknown_0827EA0C[]; extern const u8 gContestCoolness[]; @@ -85,7 +85,7 @@ const u8 gPictureFrameTilemap_3[] = INCBIN_U8("graphics/picture_frame/frame3_map const u8 gPictureFrameTilemap_4[] = INCBIN_U8("graphics/picture_frame/frame4_map.bin.rl"); const u8 gPictureFrameTilemap_5[] = INCBIN_U8("graphics/picture_frame/frame5_map.bin.rl"); -const u8 *const gUnknown_085B07C0[] = +static const u8 *const sContestCategoryNames_Unused[] = { gContestCoolness, gContestBeauty, @@ -94,7 +94,7 @@ const u8 *const gUnknown_085B07C0[] = gContestToughness, }; -const u8 *const gContestRankTextPointers[] = +static const u8 *const sContestRankNames[] = { gContestRankNormal, gContestRankSuper, @@ -103,7 +103,7 @@ const u8 *const gContestRankTextPointers[] = gContestLink, }; -const struct BgTemplate gUnknown_085B07E8[] = +static const struct BgTemplate sContestPaintingBgTemplates[] = { { .bg = 1, @@ -116,7 +116,7 @@ const struct BgTemplate gUnknown_085B07E8[] = }, }; -const struct WindowTemplate gUnknown_085B07EC = +static const struct WindowTemplate sContestPaintingWindowTemplate = { .bg = 1, .tilemapLeft = 2, @@ -127,7 +127,7 @@ const struct WindowTemplate gUnknown_085B07EC = .baseBlock = 1, }; -const u8 *const gContestPaintingDescriptionPointers[] = +static const u8 *const sContestPaintingDescriptionPointers[] = { gContestPaintingCool1, gContestPaintingCool2, @@ -146,7 +146,7 @@ const u8 *const gContestPaintingDescriptionPointers[] = gContestPaintingTough3, }; -const struct OamData gUnknown_085B0830 = +static const struct OamData sContestPaintingMonOamData = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -163,13 +163,13 @@ const struct OamData gUnknown_085B0830 = const u16 gUnknown_085B0838[] = {RGB(0, 0, 0), RGB(0, 0, 0)}; -void sub_812FDA8(int contestWinner) +void SetContestWinnerForPainting(int contestWinnerId) { // probably fakematching u8 *ptr1 = &gUnknown_02039F5D; u8 *ptr2 = &gUnknown_02039F5C; - gUnknown_02039F3C = gSaveBlock1Ptr->contestWinners[contestWinner - 1]; - *ptr1 = contestWinner - 1; + gCurContestWinner = gSaveBlock1Ptr->contestWinners[contestWinnerId - 1]; + *ptr1 = contestWinnerId - 1; *ptr2 = 0; } @@ -189,7 +189,7 @@ static void CB2_QuitContestPainting(void) { SetMainCallback2(gMain.savedCallback); FREE_AND_SET_NULL(gContestPaintingMonPalette); - FREE_AND_SET_NULL(gUnknown_03006190); + FREE_AND_SET_NULL(gContestMonPixels); RemoveWindow(gContestPaintingWindowId); Free(GetBgTilemapBuffer(1)); FreeMonSpritesGfx(); @@ -203,7 +203,7 @@ static void ShowContestPainting(void) ScanlineEffect_Stop(); SetVBlankCallback(NULL); AllocateMonSpritesGfx(); - gUnknown_030061C0 = &gUnknown_02039F3C; + gContestPaintingWinner = &gCurContestWinner; InitContestPaintingVars(1); InitContestPaintingBg(); gMain.state++; @@ -221,7 +221,7 @@ static void ShowContestPainting(void) gMain.state++; break; case 3: - sub_8130884(gUnknown_02039F5D, gUnknown_02039F5C); + CreateContestPaintingPicture(gUnknown_02039F5D, gUnknown_02039F5C); gMain.state++; break; case 4: @@ -269,11 +269,11 @@ static void HoldContestPainting(void) static void InitContestPaintingWindow(void) { ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_085B07E8, ARRAY_COUNT(gUnknown_085B07E8)); + InitBgsFromTemplates(0, sContestPaintingBgTemplates, ARRAY_COUNT(sContestPaintingBgTemplates)); ChangeBgX(1, 0, 0); ChangeBgY(1, 0, 0); SetBgTilemapBuffer(1, AllocZeroed(BG_SCREEN_SIZE)); - gContestPaintingWindowId = AddWindow(&gUnknown_085B07EC); + gContestPaintingWindowId = AddWindow(&sContestPaintingWindowTemplate); DeactivateAllTextPrinters(); FillWindowPixelBuffer(gContestPaintingWindowId, PIXEL_FILL(0)); PutWindowTilemap(gContestPaintingWindowId); @@ -289,21 +289,21 @@ static void PrintContestPaintingCaption(u8 contestType, u8 arg1) if (arg1 == TRUE) return; - category = gUnknown_030061C0->contestCategory; + category = gContestPaintingWinner->contestCategory; if (contestType < 8) { BufferContestName(gStringVar1, category); StringAppend(gStringVar1, gText_Space); - StringAppend(gStringVar1, gContestRankTextPointers[gUnknown_030061C0->contestRank]); - StringCopy(gStringVar2, gUnknown_030061C0->trainerName); + StringAppend(gStringVar1, sContestRankNames[gContestPaintingWinner->contestRank]); + StringCopy(gStringVar2, gContestPaintingWinner->trainerName); sub_81DB5AC(gStringVar2); - StringCopy(gStringVar3, gUnknown_030061C0->monName); + StringCopy(gStringVar3, gContestPaintingWinner->monName); StringExpandPlaceholders(gStringVar4, gUnknown_0827EA0C); } else { - StringCopy(gStringVar1, gUnknown_030061C0->monName); - StringExpandPlaceholders(gStringVar4, gContestPaintingDescriptionPointers[category]); + StringCopy(gStringVar1, gContestPaintingWinner->monName); + StringExpandPlaceholders(gStringVar4, sContestPaintingDescriptionPointers[category]); } x = GetStringCenterAlignXOffset(1, gStringVar4, 208); @@ -360,18 +360,18 @@ static void VBlankCB_ContestPainting(void) TransferPlttBuffer(); } -void sub_81302E8(u16 species, u8 arg1) +static void InitContestMonPixels(u16 species, u8 whichSprite) { - const void *pal = GetMonSpritePalFromSpeciesAndPersonality(species, gUnknown_030061C0->trainerId, gUnknown_030061C0->personality); + const void *pal = GetMonSpritePalFromSpeciesAndPersonality(species, gContestPaintingWinner->trainerId, gContestPaintingWinner->personality); LZDecompressVram(pal, gContestPaintingMonPalette); - if (!arg1) + if (whichSprite == 0) { HandleLoadSpecialPokePic_DontHandleDeoxys( &gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[1], species, - gUnknown_030061C0->personality); - sub_8130380(gMonSpritesGfxPtr->sprites[1], gContestPaintingMonPalette, (void *)gUnknown_03006190); + gContestPaintingWinner->personality); + _InitContestMonPixels(gMonSpritesGfxPtr->sprites[1], gContestPaintingMonPalette, (void *)gContestMonPixels); } else { @@ -379,14 +379,14 @@ void sub_81302E8(u16 species, u8 arg1) &gMonBackPicTable[species], gMonSpritesGfxPtr->sprites[0], species, - gUnknown_030061C0->personality); - sub_8130380(gMonSpritesGfxPtr->sprites[0], gContestPaintingMonPalette, (void *)gUnknown_03006190); + gContestPaintingWinner->personality); + _InitContestMonPixels(gMonSpritesGfxPtr->sprites[0], gContestPaintingMonPalette, (void *)gContestMonPixels); } } #ifdef NONMATCHING // functionally equivalent. -static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[64][64]) +static void _InitContestMonPixels(u8 *spriteGfx, u16 *palette, u16 (*destPixels)[64][64]) { u16 tileY, tileX, pixelY, pixelX; u8 colorIndex; @@ -400,16 +400,16 @@ static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[6 for (pixelX = 0; pixelX < 8; pixelX++) { int offset = 32 * (8 * tileY + tileX) + (pixelY * 4 + pixelX / 2); - colorIndex = spritePixels[offset]; + colorIndex = spriteGfx[offset]; if (pixelX & 1) colorIndex >>= 4; else colorIndex &= 0xF; if (colorIndex == 0) // transparent pixel - (*destColorBuffer)[8 * tileY + pixelY][tileX * 8 + pixelX] = 0x8000; + (*destPixels)[8 * tileY + pixelY][tileX * 8 + pixelX] = 0x8000; else - (*destColorBuffer)[8 * tileY + pixelY][tileX * 8 + pixelX] = palette[colorIndex]; + (*destPixels)[8 * tileY + pixelY][tileX * 8 + pixelX] = palette[colorIndex]; } } } @@ -417,7 +417,7 @@ static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[6 } #else NAKED -static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[64][64]) +static void _InitContestMonPixels(u8 *spriteGfx, u16 *palette, u16 (*destPixels)[64][64]) { asm_unified("\n\ push {r4-r7,lr}\n\ @@ -519,34 +519,34 @@ _081303F8:\n\ } #endif -static void sub_8130430(u8 arg0, u8 arg1) +static void LoadContestPaintingFrame(u8 contestWinnerId, u8 arg1) { u8 x, y; LoadPalette(gPictureFramePalettes, 0, 0x100); if (arg1 == 1) { - switch (gUnknown_030061C0->contestCategory / 3) + switch (gContestPaintingWinner->contestCategory / 3) { case CONTEST_CATEGORY_COOL: RLUnCompVram(gPictureFrameTiles_0, (void *)VRAM); - RLUnCompWram(gPictureFrameTilemap_0, gUnknown_03006190); + RLUnCompWram(gPictureFrameTilemap_0, gContestMonPixels); break; case CONTEST_CATEGORY_BEAUTY: RLUnCompVram(gPictureFrameTiles_1, (void *)VRAM); - RLUnCompWram(gPictureFrameTilemap_1, gUnknown_03006190); + RLUnCompWram(gPictureFrameTilemap_1, gContestMonPixels); break; case CONTEST_CATEGORY_CUTE: RLUnCompVram(gPictureFrameTiles_2, (void *)VRAM); - RLUnCompWram(gPictureFrameTilemap_2, gUnknown_03006190); + RLUnCompWram(gPictureFrameTilemap_2, gContestMonPixels); break; case CONTEST_CATEGORY_SMART: RLUnCompVram(gPictureFrameTiles_3, (void *)VRAM); - RLUnCompWram(gPictureFrameTilemap_3, gUnknown_03006190); + RLUnCompWram(gPictureFrameTilemap_3, gContestMonPixels); break; case CONTEST_CATEGORY_TOUGH: RLUnCompVram(gPictureFrameTiles_4, (void *)VRAM); - RLUnCompWram(gPictureFrameTilemap_4, gUnknown_03006190); + RLUnCompWram(gPictureFrameTilemap_4, gContestMonPixels); break; } @@ -563,23 +563,23 @@ static void sub_8130430(u8 arg0, u8 arg1) for (y = 0; y < 10; y++) { for (x = 0; x < 18; x++) - VRAM_PICTURE_DATA(x + 6, y + 2) = (*gUnknown_03006190)[y + 2][x + 6]; + VRAM_PICTURE_DATA(x + 6, y + 2) = (*gContestMonPixels)[y + 2][x + 6]; } // Re-set the entire top row to the first top frame part for (x = 0; x < 16; x++) - VRAM_PICTURE_DATA(x + 7, 2) = (*gUnknown_03006190)[2][7]; + VRAM_PICTURE_DATA(x + 7, 2) = (*gContestMonPixels)[2][7]; #undef VRAM_PICTURE_DATA } - else if (arg0 < 8) + else if (contestWinnerId < 8) { RLUnCompVram(gPictureFrameTiles_5, (void *)VRAM); RLUnCompVram(gPictureFrameTilemap_5, (void *)(BG_SCREEN_ADDR(12))); } else { - switch (gUnknown_030061C0->contestCategory / 3) + switch (gContestPaintingWinner->contestCategory / 3) { case CONTEST_CATEGORY_COOL: RLUnCompVram(gPictureFrameTiles_0, (void *)VRAM); @@ -605,100 +605,99 @@ static void sub_8130430(u8 arg0, u8 arg1) } } -static void sub_8130688(u8 arg0) +static void InitPaintingMonOamData(u8 contestWinnerId) { //Some hacks just to get the asm to match #ifndef NONMATCHING - asm(""::"r"(arg0)); + asm(""::"r"(contestWinnerId)); #endif - gMain.oamBuffer[0] = gUnknown_085B0830; + gMain.oamBuffer[0] = sContestPaintingMonOamData; gMain.oamBuffer[0].tileNum = 0; #ifndef NONMATCHING - if (arg0) arg0 = gMain.oamBuffer[0].tileNum; + if (contestWinnerId) contestWinnerId = gMain.oamBuffer[0].tileNum; #endif gMain.oamBuffer[0].x = 88; gMain.oamBuffer[0].y = 24; } -static u8 sub_81306CC(u8 arg0) +static u8 GetImageEffectForContestWinner(u8 contestWinnerId) { u8 contestCategory; - if (arg0 < 8) - contestCategory = gUnknown_030061C0->contestCategory; + if (contestWinnerId < 8) + contestCategory = gContestPaintingWinner->contestCategory; else - contestCategory = gUnknown_030061C0->contestCategory / 3; + contestCategory = gContestPaintingWinner->contestCategory / 3; switch (contestCategory) { case CONTEST_CATEGORY_COOL: - return CONTESTRESULT_COOL; + return IMAGE_EFFECT_OUTLINE_COLORED; case CONTEST_CATEGORY_BEAUTY: - return CONTESTRESULT_BEAUTY; + return IMAGE_EFFECT_SHIMMER; case CONTEST_CATEGORY_CUTE: - return CONTESTRESULT_CUTE; + return IMAGE_EFFECT_POINTILLISM; case CONTEST_CATEGORY_SMART: - return CONTESTRESULT_SMART; + return IMAGE_EFFECT_CHARCOAL; case CONTEST_CATEGORY_TOUGH: - return CONTESTRESULT_TOUGH; + return IMAGE_EFFECT_GRAYSCALE_LIGHT; } return contestCategory; } -static void sub_8130738(void) +static void AllocPaintingResources(void) { - gContestPaintingMonPalette = AllocZeroed(0x200); - gUnknown_03006190 = AllocZeroed(0x2000); + gContestPaintingMonPalette = AllocZeroed(OBJ_PLTT_SIZE); + gContestMonPixels = AllocZeroed(0x2000); } -static void sub_8130760(u8 contestResult) +static void DoContestPaintingImageProcessing(u8 imageEffect) { - gUnknown_030061A0.var_4 = gUnknown_03006190; - gUnknown_030061A0.var_8 = gContestPaintingMonPalette; - gUnknown_030061A0.var_18 = 0; - gUnknown_030061A0.var_1F = gUnknown_030061C0->personality % 256; - gUnknown_030061A0.var_19 = 0; - gUnknown_030061A0.var_1A = 0; - gUnknown_030061A0.var_1B = 64; - gUnknown_030061A0.var_1C = 64; - gUnknown_030061A0.var_1D = 64; - gUnknown_030061A0.var_1E = 64; + gImageProcessingContext.canvasPixels = gContestMonPixels; + gImageProcessingContext.canvasPalette = gContestPaintingMonPalette; + gImageProcessingContext.paletteStart = 0; + gImageProcessingContext.personality = gContestPaintingWinner->personality % 256; + gImageProcessingContext.columnStart = 0; + gImageProcessingContext.rowStart = 0; + gImageProcessingContext.columnEnd = 64; + gImageProcessingContext.rowEnd = 64; + gImageProcessingContext.canvasWidth = 64; + gImageProcessingContext.canvasHeight = 64; - switch (contestResult) + switch (imageEffect) { - case CONTESTRESULT_SMART: - case CONTESTRESULT_TOUGH: - gUnknown_030061A0.var_14 = 3; + case IMAGE_EFFECT_CHARCOAL: + case IMAGE_EFFECT_GRAYSCALE_LIGHT: + gImageProcessingContext.quantizeEffect = QUANTIZE_EFFECT_GRAYSCALE; break; - case CONTESTRESULT_COOL: - case CONTESTRESULT_BEAUTY: - case CONTESTRESULT_CUTE: + case IMAGE_EFFECT_OUTLINE_COLORED: + case IMAGE_EFFECT_SHIMMER: + case IMAGE_EFFECT_POINTILLISM: default: - gUnknown_030061A0.var_14 = 1; + gImageProcessingContext.quantizeEffect = QUANTIZE_EFFECT_STANDARD_LIMITED_COLORS; break; } - gUnknown_030061A0.var_16 = 2; - gUnknown_030061A0.var_0 = contestResult; - gUnknown_030061A0.var_10 = OBJ_VRAM0; - - sub_8124F2C(&gUnknown_030061A0); - sub_81261A4(&gUnknown_030061A0); - sub_8126058(&gUnknown_030061A0); + gImageProcessingContext.var_16 = 2; + gImageProcessingContext.effect = imageEffect; + gImageProcessingContext.dest = (void *)OBJ_VRAM0; + ApplyImageProcessingEffects(&gImageProcessingContext); + ApplyImageProcessingQuantization(&gImageProcessingContext); + ConvertImageProcessingToGBA(&gImageProcessingContext); LoadPalette(gContestPaintingMonPalette, 0x100, 0x200); } -static void sub_8130884(u8 arg0, u8 arg1) +static void CreateContestPaintingPicture(u8 contestWinnerId, u8 arg1) { - sub_8130738(); - sub_81302E8(gUnknown_030061C0->species, 0); - sub_8130760(sub_81306CC(arg0)); - sub_8130688(arg0); - sub_8130430(arg0, arg1); + AllocPaintingResources(); + InitContestMonPixels(gContestPaintingWinner->species, 0); + DoContestPaintingImageProcessing(GetImageEffectForContestWinner(contestWinnerId)); + InitPaintingMonOamData(contestWinnerId); + LoadContestPaintingFrame(contestWinnerId, arg1); } diff --git a/src/contest_painting_effects.c b/src/contest_painting_effects.c deleted file mode 100644 index a791df65c6..0000000000 --- a/src/contest_painting_effects.c +++ /dev/null @@ -1,1365 +0,0 @@ -#include "global.h" -#include "contest_painting_effects.h" -#include "contest_painting.h" -#include "constants/rgb.h" - -struct Unk8125954 -{ - u8 unk0; - u8 unk1; - u16 unk2; -}; - -// IWRAM common -u8 gUnknown_03006164; -u16 (*gUnknown_03006168)[][32]; -u8 gUnknown_0300616C; -u8 gUnknown_03006170; -u8 gUnknown_03006174; -u8 gUnknown_03006178; -u8 gUnknown_0300617C; -u8 gUnknown_03006180; -u16 *gUnknown_03006184; -u16 gUnknown_03006188; - -static void sub_8125230(void); -static void sub_81252E8(void); -static void sub_81254E0(void); -static void sub_8125630(void); -static void sub_8125448(void); -static void sub_81257F8(void); -static void sub_81258A0(void); -static void sub_81256C8(void); -static void sub_8125250(void); -static void sub_81253A4(u8); -static void sub_81250B8(u8); -static void sub_8125170(u8); -static void sub_8125954(u16); -static u16 ConvertColorToGrayscale(u16*); -static u16 sub_8125E18(u16*, u16*, u16*); -static u16 ConvertCoolColor(u16*, u8); -static u16 ConvertToBlackOrWhite(u16*); -static u16 sub_8125C98(u16*, u16*); -static u16 InvertColor(u16*); -static u16 sub_8125F38(u16*, u16*, u16*); -static u16 sub_8125CF4(u16*, u16*); -static u16 GetCoolColorFromPersonality(u8); -static void sub_81263A4(bool8); -static void sub_8126270(void); -static void sub_8126714(void); -static void sub_8126370(void); -static void sub_8126664(void); -static void sub_8126334(void); -static void sub_81265B4(void); -static void sub_8126318(void); -static void sub_81264FC(void); -static u16 sub_81267C4(u16*); -static u16 sub_8126908(u16*); -static u16 sub_812693C(u16*); -static u16 sub_8126838(u16*); - -extern const u8 gUnknown_085A1F94[][3]; - -void sub_8124F2C(struct Unk030061A0 *info) -{ - gUnknown_03006168 = info->var_4; - gUnknown_0300617C = info->var_1F; - gUnknown_03006164 = info->var_19; - gUnknown_03006178 = info->var_1A; - gUnknown_03006174 = info->var_1B; - gUnknown_0300616C = info->var_1C; - gUnknown_03006180 = info->var_1D; - gUnknown_03006170 = info->var_1E; - switch (info->var_0) - { - case 2: - sub_8125230(); - break; - case 8: - sub_81252E8(); - break; - case 9: - sub_81254E0(); - sub_81253A4(gUnknown_0300617C); - break; - case 10: - sub_81254E0(); - sub_8125630(); - sub_8125448(); - case 31: - sub_8125630(); - break; - case 11: - sub_81254E0(); - sub_81257F8(); - sub_81257F8(); - sub_81258A0(); - sub_8125448(); - break; - case 13: - sub_81256C8(); - break; - case 30: - sub_81254E0(); - break; - case 32: - sub_81257F8(); - break; - case 33: - sub_81258A0(); - break; - case 6: - sub_8125250(); - sub_81250B8(3); - break; - case 36: - sub_81254E0(); - sub_81257F8(); - sub_81258A0(); - sub_8125448(); - sub_81252E8(); - sub_81252E8(); - sub_81250B8(2); - sub_8125170(4); - break; - } -} - -static void sub_81250B8(u8 a0) // it changes palette someway somehow... .__. -{ - u8 i, j; - - for (i = 0; i < gUnknown_0300616C; i++) - { - u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; - u16* pal = &var2[gUnknown_03006164]; - for (j = 0; j < gUnknown_03006174; j++, pal++) - { - if (!(0x8000 & *pal)) - { - u8 val = (31 & *pal); - val += a0; - if (val > 31) - val = 31; - - *pal = RGB2(val, val, val); - } - } - } -} - -static void sub_8125170(u8 a0) -{ - u8 i, j; - - for (i = 0; i < gUnknown_0300616C; i++) - { - u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; - u16* pal = &var2[gUnknown_03006164]; - for (j = 0; j < gUnknown_03006174; j++, pal++) - { - if (!(0x8000 & *pal)) - { - u8 val = (31 & *pal); - if (val > 31 - a0) - val = 31 - (a0 >> 1); - - *pal = RGB2(val, val, val); - } - } - } -} - -static void sub_8125230(void) -{ - u32 i; - for (i = 0; i < 3200; i++) - sub_8125954(i); -} - -static void sub_8125250(void) -{ - u8 i, j; - - for (i = 0; i < gUnknown_0300616C; i++) - { - u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; - u16* color = &var2[gUnknown_03006164]; - for (j = 0; j < gUnknown_03006174; j++, color++) - { - if (!(0x8000 & *color)) - { - *color = ConvertColorToGrayscale(color); - } - } - } -} - -static void sub_81252E8(void) -{ - u8 i, j; - - for (i = 0; i < gUnknown_03006174; i++) - { - u16* var0 = &(*gUnknown_03006168)[0][gUnknown_03006178 * gUnknown_03006180]; - u16* palette = &var0[gUnknown_03006164 + i]; - u16 color = *palette; - - j = 1; - palette += gUnknown_03006180; - while (j < gUnknown_0300616C - 1) - { - if (!(0x8000 & *palette)) - { - *palette = sub_8125E18(&color, palette, palette + gUnknown_03006180); - color = *palette; - } - - j++; - palette += gUnknown_03006180; - } - } -} - -static void sub_81253A4(u8 arg0) -{ - u8 i, j; - - for (i = 0; i < gUnknown_0300616C; i++) - { - u16* var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; - u16* color = &var0[gUnknown_03006164]; - for (j = 0; j < gUnknown_03006174; j++, color++) - { - if (!(0x8000 & *color)) - { - *color = ConvertCoolColor(color, arg0); - } - } - } -} - -static void sub_8125448(void) -{ - u8 i, j; - - for (i = 0; i < gUnknown_0300616C; i++) - { - u16* var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; - u16* color = &var0[gUnknown_03006164]; - for (j = 0; j < gUnknown_03006174; j++, color++) - { - if (!(0x8000 & *color)) - { - *color = ConvertToBlackOrWhite(color); - } - } - } -} - -static void sub_81254E0(void) -{ - u8 i, j; - u16 *palette; - - for (i = 0; i < gUnknown_0300616C; i++) - { - u16 *var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; - palette = &var0[gUnknown_03006164]; - *palette = sub_8125C98(palette, palette + 1); - for (j = 1, palette = palette + 1; j < gUnknown_03006174 - 1; j++, palette++) - { - *palette = sub_8125C98(palette, palette + 1); - *palette = sub_8125C98(palette, palette - 1); - } - - *palette = sub_8125C98(palette, palette - 1); - } - - for (j = 0; j < gUnknown_03006174; j++) - { - u16 *var0 = &(*gUnknown_03006168)[0][gUnknown_03006178 * gUnknown_03006180]; - palette = &var0[gUnknown_03006164 + j]; - *palette = sub_8125C98(palette, palette + gUnknown_03006180); - for (i = 1, palette = palette + gUnknown_03006180; i < gUnknown_0300616C - 1; i++, palette += gUnknown_03006180) - { - *palette = sub_8125C98(palette, palette + gUnknown_03006180); - *palette = sub_8125C98(palette, palette - gUnknown_03006180); - } - - *palette = sub_8125C98(palette, palette - gUnknown_03006180); - } -} - -static void sub_8125630(void) -{ - u8 i, j; - - for (i = 0; i < gUnknown_0300616C; i++) - { - u16 *var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; - u16 *color = &var0[gUnknown_03006164]; - for (j = 0; j < gUnknown_03006174; j++, color++) - { - if (!(0x8000 & *color)) - { - *color = InvertColor(color); - } - } - } -} - -static void sub_81256C8(void) -{ - u8 i, j; - u16 *palette; - u16 color; - - palette = (*gUnknown_03006168)[0]; - for (i = 0; i < 64; i++) - { - for (j = 0; j < 64; j++, palette++) - { - if (!(0x8000 & *palette)) - { - *palette = InvertColor(palette); - } - } - } - - for (j = 0; j < 64; j++) - { - palette = &(*gUnknown_03006168)[0][j]; - color = *palette; - *palette = 0x8000; - for (i = 1, palette += 64; i < 63; i++, palette += 64) - { - if (!(0x8000 & *palette)) - { - *palette = sub_8125F38(&color, palette, palette + 64); - color = *palette; - } - } - - *palette = 0x8000; - palette = &(*gUnknown_03006168)[0][j]; - color = *palette; - *palette = 0x8000; - for (i = 1, palette += 64; i < 63; i++, palette += 64) - { - if (!(0x8000 & *palette)) - { - *palette = sub_8125F38(&color, palette, palette + 64); - color = *palette; - } - } - - *palette = 0x8000; - } - - palette = (*gUnknown_03006168)[0]; - for (i = 0; i < 64; i++) - { - for (j = 0; j < 64; j++, palette++) - { - if (!(0x8000 & *palette)) - { - *palette = InvertColor(palette); - } - } - } -} - -static void sub_81257F8(void) -{ - u8 i, j; - - for (i = 0; i < gUnknown_0300616C; i++) - { - u16 *var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; - u16 *palette = &var0[gUnknown_03006164]; - u16 color = *palette; - for (j = 1, palette++; j < gUnknown_03006174 - 1; j++, palette++) - { - if (!(0x8000 & *palette)) - { - *palette = sub_8125CF4(&color, palette); - color = *palette; - } - } - } -} - -static void sub_81258A0(void) -{ - u8 i, j; - - for (i = 0; i < gUnknown_03006174; i++) - { - u16* var0 = &(*gUnknown_03006168)[0][gUnknown_03006178 * gUnknown_03006180]; - u16* palette = &var0[gUnknown_03006164 + i]; - u16 color = *palette; - for (j = 1, palette += gUnknown_03006180; j < gUnknown_0300616C - 1; j++, palette += gUnknown_03006180) - { - if (!(0x8000 & *palette)) - { - *palette = sub_8125CF4(&color, palette); - color = *palette; - } - } - } -} - -static void sub_8125954(u16 arg0) -{ - u8 i; - u8 r5, r9; - struct Unk8125954 unkStruct[6]; - - unkStruct[0].unk0 = gUnknown_085A1F94[arg0][0]; - unkStruct[0].unk1 = gUnknown_085A1F94[arg0][1]; - unkStruct[0].unk2 = (gUnknown_085A1F94[arg0][2] >> 3) & 7; - - r9 = (gUnknown_085A1F94[arg0][2] >> 1) & 3; - r5 = gUnknown_085A1F94[arg0][2] & 1; - for (i = 1; i < unkStruct[0].unk2; i++) - { - if (!r5) - { - unkStruct[i].unk0 = unkStruct[0].unk0 - i; - unkStruct[i].unk1 = unkStruct[0].unk1 + i; - } - else - { - unkStruct[i].unk0 = unkStruct[0].unk0 + 1; - unkStruct[i].unk1 = unkStruct[0].unk1 - 1; - } - - if (unkStruct[i].unk0 > 63 || unkStruct[i].unk1 > 63) - { - unkStruct[0].unk2 = i - 1; - break; - } - - unkStruct[i].unk2 = unkStruct[0].unk2 - i; - } - - for (i = 0; i < unkStruct[0].unk2; i++) - { - u16 *pal = &(*gUnknown_03006168)[unkStruct[i].unk1 * 2][unkStruct[i].unk0]; - - if (!(0x8000 & *pal)) - { - u16 r = (*pal) & 0x1F; - u16 g = (*pal >> 5) & 0x1F; - u16 b = (*pal >> 10) & 0x1F; - - switch (r9) - { - case 0: - case 1: - switch (((gUnknown_085A1F94[arg0][2] >> 3) & 7) % 3) - { - case 0: - if (r >= unkStruct[i].unk2) - r -= unkStruct[i].unk2; - else - r = 0; - break; - case 1: - if (g >= unkStruct[i].unk2) - g -= unkStruct[i].unk2; - else - g = 0; - break; - case 2: - if (b >= unkStruct[i].unk2) - b -= unkStruct[i].unk2; - else - b = 0; - break; - } - break; - case 2: - case 3: - r += unkStruct[i].unk2; - g += unkStruct[i].unk2; - b += unkStruct[i].unk2; - if (r > 31) - r = 31; - if (g > 31) - g = 31; - if (b > 31) - b = 31; - break; - } - - *pal = RGB2(r, g, b); - } - } -} - -static u16 ConvertColorToGrayscale(u16 *color) -{ - s32 clr = *color; - s32 r = clr & 0x1F; - s32 g = (clr >> 5) & 0x1F; - s32 b = (clr >> 10) & 0x1F; - s32 gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; - return RGB2(gray, gray, gray); -} - -// The dark colors are the colored edges of the Cool painting effect. -// Everything else is white. -static u16 ConvertCoolColor(u16 *color, u8 personality) -{ - u16 red = *color & 0x1F; - u16 green = (*color >> 5) & 0x1F; - u16 blue = (*color >> 10) & 0x1F; - - if (red < 17 && green < 17 && blue < 17) - return GetCoolColorFromPersonality(personality); - else - return RGB_WHITE; -} - -// Based on the given value, which comes from the first 8 bits of -// the mon's personality value, return a color. -static u16 GetCoolColorFromPersonality(u8 personality) -{ - u16 red = 0; - u16 green = 0; - u16 blue = 0; - u8 strength = (personality / 6) % 3; - u8 colorType = personality % 6; - - switch (colorType) - { - case 0: - // Teal color - green = 21 - strength; - blue = green; - red = 0; - break; - case 1: - // Yellow color - blue = 0; - red = 21 - strength; - green = red; - break; - case 2: - // Purple color - blue = 21 - strength; - green = 0; - red = blue; - break; - case 3: - // Red color - blue = 0; - green = 0; - red = 23 - strength; - break; - case 4: - // Blue color - blue = 23 - strength; - green = 0; - red = 0; - break; - case 5: - // Green color - blue = 0; - green = 23 - strength; - red = 0; - break; - } - - return RGB2(red, green, blue); -} - -static u16 ConvertToBlackOrWhite(u16 *color) -{ - u16 red = *color & 0x1F; - u16 green = (*color >> 5) & 0x1F; - u16 blue = (*color >> 10) & 0x1F; - - if (red < 17 && green < 17 && blue < 17) - return RGB_BLACK; - else - return RGB_WHITE; -} - -static u16 sub_8125C98(u16 *colorA, u16 *colorB) -{ - if (*colorA) - { - if (*colorA & 0x8000) - return 0x8000; - if (*colorB & 0x8000) - return RGB_BLACK; - - return *colorA; - } - - return RGB_BLACK; -} - -static u16 InvertColor(u16 *color) -{ - u16 red = *color & 0x1F; - u16 green = (*color >> 5) & 0x1F; - u16 blue = (*color >> 10) & 0x1F; - - red = 31 - red; - green = 31 - green; - blue = 31 - blue; - - return RGB2(red, green, blue); -} - -static u16 sub_8125CF4(u16 *a0, u16 *a1) -{ - u16 sp0[2][3]; - u16 spC[3]; - u8 r4; - u16 r2; - u16 r, g, b; - - if (*a0 == *a1) - return *a1; - - sp0[0][0] = (*a0 >> 0) & 0x1F; - sp0[0][1] = (*a0 >> 5) & 0x1F; - sp0[0][2] = (*a0 >> 10) & 0x1F; - sp0[1][0] = (*a1 >> 0) & 0x1F; - sp0[1][1] = (*a1 >> 5) & 0x1F; - sp0[1][2] = (*a1 >> 10) & 0x1F; - - if (sp0[0][0] > 25 && sp0[0][1] > 25 && sp0[0][2] > 25) - return *a1; - if (sp0[1][0] > 25 && sp0[1][1] > 25 && sp0[1][2] > 25) - return *a1; - - for (r4 = 0; r4 < 3; r4++) - { - if (sp0[0][r4] > sp0[1][r4]) - spC[r4] = sp0[0][r4] - sp0[1][r4]; - else - spC[r4] = sp0[1][r4] - sp0[0][r4]; - } - - if (spC[0] >= spC[1]) - { - if (spC[0] >= spC[2]) - r2 = spC[0]; - else if (spC[1] >= spC[2]) - r2 = spC[1]; - else - r2 = spC[2]; - } - else - { - if (spC[1] >= spC[2]) - r2 = spC[1]; - else if (spC[2] >= spC[0]) - r2 = spC[2]; - else - r2 = spC[0]; - } - - r = (sp0[1][0] * (31 - r2 / 2)) / 31; - g = (sp0[1][1] * (31 - r2 / 2)) / 31; - b = (sp0[1][2] * (31 - r2 / 2)) / 31; - return RGB2(r, g, b); -} - -static u16 sub_8125E18(u16 * a0, u16 * a1, u16 * a2) -{ - u16 red, green, blue; - u16 avg0, avg1, avg2; - u16 diff1, diff2; - u32 minimum; - u16 factor; - - if (*a0 == *a1 && *a2 == *a1) - return *a1; - - red = (*a1 >> 0) & 0x1F; - green = (*a1 >> 5) & 0x1F; - blue = (*a1 >> 10) & 0x1F; - - avg0 = (((*a0 >> 0) & 0x1F) + ((*a0 >> 5) & 0x1F) + ((*a0 >> 10) & 0x1F)) / 3; - avg1 = (((*a1 >> 0) & 0x1F) + ((*a1 >> 5) & 0x1F) + ((*a1 >> 10) & 0x1F)) / 3; - avg2 = (((*a2 >> 0) & 0x1F) + ((*a2 >> 5) & 0x1F) + ((*a2 >> 10) & 0x1F)) / 3; - - if (avg0 == avg1 && avg2 == avg1) - return *a1; - - if (avg0 > avg1) - diff1 = avg0 - avg1; - else - diff1 = avg1 - avg0; - - if (avg2 > avg1) - diff2 = avg2 - avg1; - else - diff2 = avg1 - avg2; - - if (diff1 >= diff2) - minimum = diff1; - else - minimum = diff2; - - factor = 31 - minimum / 2; - red = red * factor / 31; - green = green * factor / 31; - blue = blue * factor / 31; - return RGB2(red, green, blue); -} - -static u16 sub_8125F38(u16 *a0, u16 *a1, u16 *a2) -{ - u16 red, green, blue; - u16 avg0, avg1, avg2; - u16 diff1, diff2; - u32 minimum; - u16 factor; - - if (*a0 == *a1 && *a2 == *a1) - return *a1; - - red = (*a1 >> 0) & 0x1F; - green = (*a1 >> 5) & 0x1F; - blue = (*a1 >> 10) & 0x1F; - - avg0 = (((*a0 >> 0) & 0x1F) + ((*a0 >> 5) & 0x1F) + ((*a0 >> 10) & 0x1F)) / 3; - avg1 = (((*a1 >> 0) & 0x1F) + ((*a1 >> 5) & 0x1F) + ((*a1 >> 10) & 0x1F)) / 3; - avg2 = (((*a2 >> 0) & 0x1F) + ((*a2 >> 5) & 0x1F) + ((*a2 >> 10) & 0x1F)) / 3; - - if (avg0 == avg1 && avg2 == avg1) - return *a1; - - if (avg0 > avg1) - diff1 = avg0 - avg1; - else - diff1 = avg1 - avg0; - - if (avg2 > avg1) - diff2 = avg2 - avg1; - else - diff2 = avg1 - avg2; - - if (diff1 >= diff2) - minimum = diff1; - else - minimum = diff2; - - factor = 31 - minimum; - red = red * factor / 31; - green = green * factor / 31; - blue = blue * factor / 31; - return RGB2(red, green, blue); -} - -/* -void sub_8126058(struct Unk030061A0 *arg0) -{ - u16 i, j, k; - u8 r5 = arg0->var_1D >> 3; - u8 var_24 = arg0->var_1E >> 3; - u16 (*var_2C)[][32] = arg0->var_4; - u32 var_28 = arg0->var_10; - - if (arg0->var_16 == 2) - { - for (i = 0; i < var_24; i++) - { - for (j = 0; j < r5; j++) - { - for (k = 0; k < 8; k++) - { - (*var_2C)[][]; - } - } - } - } -} -*/ - -NAKED -void sub_8126058(struct Unk030061A0 *arg0) -{ - asm_unified("\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0xC\n\ - ldrb r1, [r0, 0x1D]\n\ - lsrs r5, r1, 3\n\ - ldrb r1, [r0, 0x1E]\n\ - lsrs r1, 3\n\ - str r1, [sp, 0x8]\n\ - ldr r1, [r0, 0x4]\n\ - str r1, [sp]\n\ - ldr r2, [r0, 0x10]\n\ - str r2, [sp, 0x4]\n\ - ldrh r0, [r0, 0x16]\n\ - cmp r0, 0x2\n\ - bne _08126108\n\ - movs r1, 0\n\ - ldr r0, [sp, 0x8]\n\ - cmp r1, r0\n\ - bcc _08126086\n\ - b _08126194\n\ -_08126086:\n\ - movs r0, 0\n\ - adds r2, r1, 0x1\n\ - mov r10, r2\n\ - cmp r0, r5\n\ - bcs _081260FA\n\ - adds r2, r1, 0\n\ - muls r2, r5\n\ - mov r9, r2\n\ - lsls r1, 3\n\ - mov r8, r1\n\ -_0812609A:\n\ - movs r4, 0\n\ - lsls r6, r0, 4\n\ - adds r7, r0, 0x1\n\ - add r0, r9\n\ - lsls r0, 6\n\ - ldr r1, [sp, 0x4]\n\ - adds r1, r0\n\ - mov r12, r1\n\ -_081260AA:\n\ - lsls r0, r4, 3\n\ - mov r2, r12\n\ - adds r3, r2, r0\n\ - mov r1, r8\n\ - adds r0, r1, r4\n\ - lsls r0, 3\n\ - muls r0, r5\n\ - lsls r0, 1\n\ - ldr r2, [sp]\n\ - adds r0, r2, r0\n\ - adds r2, r0, r6\n\ - ldrh r0, [r2, 0x2]\n\ - lsls r0, 8\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - ldrh r0, [r2, 0x6]\n\ - lsls r0, 8\n\ - ldrh r1, [r2, 0x4]\n\ - orrs r0, r1\n\ - strh r0, [r3, 0x2]\n\ - ldrh r0, [r2, 0xA]\n\ - lsls r0, 8\n\ - ldrh r1, [r2, 0x8]\n\ - orrs r0, r1\n\ - strh r0, [r3, 0x4]\n\ - ldrh r0, [r2, 0xE]\n\ - lsls r0, 8\n\ - ldrh r1, [r2, 0xC]\n\ - orrs r0, r1\n\ - strh r0, [r3, 0x6]\n\ - adds r0, r4, 0x1\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - cmp r4, 0x7\n\ - bls _081260AA\n\ - lsls r0, r7, 16\n\ - lsrs r0, 16\n\ - cmp r0, r5\n\ - bcc _0812609A\n\ -_081260FA:\n\ - mov r1, r10\n\ - lsls r0, r1, 16\n\ - lsrs r1, r0, 16\n\ - ldr r2, [sp, 0x8]\n\ - cmp r1, r2\n\ - bcc _08126086\n\ - b _08126194\n\ -_08126108:\n\ - movs r1, 0\n\ - ldr r0, [sp, 0x8]\n\ - cmp r1, r0\n\ - bcs _08126194\n\ -_08126110:\n\ - movs r0, 0\n\ - adds r2, r1, 0x1\n\ - mov r10, r2\n\ - cmp r0, r5\n\ - bcs _08126188\n\ - adds r2, r1, 0\n\ - muls r2, r5\n\ - mov r9, r2\n\ - lsls r1, 3\n\ - mov r8, r1\n\ -_08126124:\n\ - movs r4, 0\n\ - lsls r6, r0, 4\n\ - adds r7, r0, 0x1\n\ - add r0, r9\n\ - lsls r0, 5\n\ - ldr r1, [sp, 0x4]\n\ - adds r1, r0\n\ - mov r12, r1\n\ -_08126134:\n\ - lsls r0, r4, 2\n\ - mov r2, r12\n\ - adds r3, r2, r0\n\ - mov r1, r8\n\ - adds r0, r1, r4\n\ - lsls r0, 3\n\ - muls r0, r5\n\ - lsls r0, 1\n\ - ldr r2, [sp]\n\ - adds r0, r2, r0\n\ - adds r2, r0, r6\n\ - ldrh r1, [r2, 0x2]\n\ - lsls r1, 4\n\ - ldrh r0, [r2]\n\ - orrs r1, r0\n\ - ldrh r0, [r2, 0x4]\n\ - lsls r0, 8\n\ - orrs r1, r0\n\ - ldrh r0, [r2, 0x6]\n\ - lsls r0, 12\n\ - orrs r1, r0\n\ - strh r1, [r3]\n\ - ldrh r1, [r2, 0xA]\n\ - lsls r1, 4\n\ - ldrh r0, [r2, 0x8]\n\ - orrs r1, r0\n\ - ldrh r0, [r2, 0xC]\n\ - lsls r0, 8\n\ - orrs r1, r0\n\ - ldrh r0, [r2, 0xE]\n\ - lsls r0, 12\n\ - orrs r1, r0\n\ - strh r1, [r3, 0x2]\n\ - adds r0, r4, 0x1\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - cmp r4, 0x7\n\ - bls _08126134\n\ - lsls r0, r7, 16\n\ - lsrs r0, 16\n\ - cmp r0, r5\n\ - bcc _08126124\n\ -_08126188:\n\ - mov r1, r10\n\ - lsls r0, r1, 16\n\ - lsrs r1, r0, 16\n\ - ldr r2, [sp, 0x8]\n\ - cmp r1, r2\n\ - bcc _08126110\n\ -_08126194:\n\ - add sp, 0xC\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0"); -} - -void sub_81261A4(struct Unk030061A0 *arg0) -{ - gUnknown_03006188 = arg0->var_18 * 16; - gUnknown_03006184 = &arg0->var_8[gUnknown_03006188]; - gUnknown_03006168 = arg0->var_4; - gUnknown_03006164 = arg0->var_19; - gUnknown_03006178 = arg0->var_1A; - gUnknown_03006174 = arg0->var_1B; - gUnknown_0300616C = arg0->var_1C; - gUnknown_03006180 = arg0->var_1D; - gUnknown_03006170 = arg0->var_1E; - - switch (arg0->var_14) - { - case 0: - sub_81263A4(FALSE); - break; - case 1: - sub_81263A4(TRUE); - break; - case 2: - sub_8126270(); - sub_8126714(); - break; - case 3: - sub_8126370(); - sub_8126664(); - break; - case 4: - sub_8126334(); - sub_81265B4(); - break; - case 5: - sub_8126318(); - sub_81264FC(); - break; - } -} - -static void sub_8126270(void) -{ - gUnknown_03006184[0] = RGB2(0, 0, 0); - gUnknown_03006184[1] = RGB2(6, 6, 6); - gUnknown_03006184[2] = RGB2(29, 29, 29); - gUnknown_03006184[3] = RGB2(11, 11, 11); - gUnknown_03006184[4] = RGB2(29, 6, 6); - gUnknown_03006184[5] = RGB2(6, 29, 6); - gUnknown_03006184[6] = RGB2(6, 6, 29); - gUnknown_03006184[7] = RGB2(29, 29, 6); - gUnknown_03006184[8] = RGB2(29, 6, 29); - gUnknown_03006184[9] = RGB2(6, 29, 29); - gUnknown_03006184[10] = RGB2(29, 11, 6); - gUnknown_03006184[11] = RGB2(11, 29, 6); - gUnknown_03006184[12] = RGB2(6, 11, 29); - gUnknown_03006184[13] = RGB2(29, 6, 11); - gUnknown_03006184[14] = RGB2(6, 29, 11); - gUnknown_03006184[15] = RGB2(11, 6, 29); -} - -static void sub_8126318(void) -{ - gUnknown_03006184[0] = RGB2(0, 0, 0); - gUnknown_03006184[1] = RGB2(0, 0, 0); - gUnknown_03006184[2] = RGB2(31, 31, 31); -} - -static void sub_8126334(void) -{ - u8 i; - - gUnknown_03006184[0] = RGB2(0, 0, 0); - gUnknown_03006184[1] = RGB2(0, 0, 0); - for (i = 0; i < 14; i++) - gUnknown_03006184[i + 2] = RGB2(2 * (i + 2), 2 * (i + 2), 2 * (i + 2)); -} - -static void sub_8126370(void) -{ - u8 i; - - gUnknown_03006184[0] = RGB2(0, 0, 0); - for (i = 0; i < 32; i++) - gUnknown_03006184[i + 1] = RGB2(i, i, i); -} - -static void sub_81263A4(bool8 arg0) -{ - u8 i, j; - u16 maxIndex; - - maxIndex = 0xDF; - if (!arg0) - maxIndex = 0xFF; - - for (j = 0; j < maxIndex; j++) - gUnknown_03006184[j] = 0; - - gUnknown_03006184[maxIndex] = RGB2(15, 15, 15); - for (i = 0; i < gUnknown_0300616C; i++) - { - u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; - u16* pal = &var2[gUnknown_03006164]; - for (j = 0; j < gUnknown_03006174; j++, pal++) - { - if (*pal & 0x8000) - { - *pal = gUnknown_03006188; - } - else - { - u16 color = sub_81267C4(pal); - u8 curIndex = 1; - if (curIndex < maxIndex) - { - if (gUnknown_03006184[curIndex] == RGB_BLACK) - { - gUnknown_03006184[curIndex] = color; - *pal = gUnknown_03006188 + curIndex; - } - else - { - while (curIndex < maxIndex) - { - if (gUnknown_03006184[curIndex] == RGB_BLACK) - { - gUnknown_03006184[curIndex] = color; - *pal = gUnknown_03006188 + curIndex; - break; - } - - if (gUnknown_03006184[curIndex] == color) - { - *pal = gUnknown_03006188 + curIndex; - break; - } - - curIndex++; - } - } - } - - if (curIndex == maxIndex) - { - curIndex = maxIndex; - *pal = curIndex; - } - } - } - } -} - -static void sub_81264FC(void) -{ - u8 i, j; - - for (i = 0; i < gUnknown_0300616C; i++) - { - u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; - u16* pal = &var2[gUnknown_03006164]; - for (j = 0; j < gUnknown_03006174; j++, pal++) - { - if (*pal & 0x8000) - { - *pal = gUnknown_03006188; - } - else - { - if (ConvertToBlackOrWhite(pal) == RGB_BLACK) - *pal = gUnknown_03006188 + 1; - else - *pal = gUnknown_03006188 + 2; - } - } - } -} - -static void sub_81265B4(void) -{ - u8 i, j; - - for (i = 0; i < gUnknown_0300616C; i++) - { - u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; - u16* pal = &var2[gUnknown_03006164]; - for (j = 0; j < gUnknown_03006174; j++, pal++) - { - if (*pal & 0x8000) - *pal = gUnknown_03006188; - else - *pal = sub_8126908(pal) + gUnknown_03006188; - } - } -} - -static void sub_8126664(void) -{ - u8 i, j; - - for (i = 0; i < gUnknown_0300616C; i++) - { - u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; - u16* pal = &var2[gUnknown_03006164]; - for (j = 0; j < gUnknown_03006174; j++, pal++) - { - if (*pal & 0x8000) - *pal = gUnknown_03006188; - else - *pal = sub_812693C(pal) + gUnknown_03006188; - } - } -} - -static void sub_8126714(void) -{ - u8 i, j; - - for (i = 0; i < gUnknown_0300616C; i++) - { - u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; - u16* pal = &var2[gUnknown_03006164]; - for (j = 0; j < gUnknown_03006174; j++, pal++) - { - if (*pal & 0x8000) - *pal = gUnknown_03006188; - else - *pal = sub_8126838(pal) + gUnknown_03006188; - } - } -} - -static u16 sub_81267C4(u16 *color) -{ - u16 red = *color & 0x1F; - u16 green = (*color >> 5) & 0x1F; - u16 blue = (*color >> 10) & 0x1F; - - if (red & 3) - red = (red & 0x1C) + 4; - if (green & 3) - green = (green & 0x1C) + 4; - if (blue & 3) - blue = (blue & 0x1C) + 4; - - if (red < 6) - red = 6; - if (red > 30) - red = 30; - - if (green < 6) - green = 6; - if (green > 30) - green = 30; - - if (blue < 6) - blue = 6; - if (blue > 30) - blue = 30; - - return RGB2(red, green, blue); -} - -static u16 sub_8126838(u16* color) -{ - u16 red = *color & 0x1F; - u16 green = (*color >> 5) & 0x1F; - u16 blue = (*color >> 10) & 0x1F; - - if (red < 12 && green < 11 && blue < 11) - return 1; - - if (red > 19 && green > 19 && blue > 19) - return 2; - - if (red > 19) - { - if (green > 19) - { - if (blue > 14) - return 2; - else - return 7; - } - else if (blue > 19) - { - if (green > 14) - return 2; - else - return 8; - } - } - - if (green > 19 && blue > 19) - { - if (red > 14) - return 2; - else - return 9; - } - - if (red > 19) - { - if (green > 11) - { - if (blue > 11) - { - if (green < blue) - return 8; - else - return 7; - } - else - { - return 10; - } - } - else if (blue > 11) - { - return 13; - } - else - { - return 4; - } - } - - if (green > 19) - { - if (red > 11) - { - if (blue > 11) - { - if (red < blue) - return 9; - else - return 7; - } - else - { - return 11; - } - } - else - { - if (blue > 11) - return 14; - else - return 5; - } - } - - if (blue > 19) - { - if (red > 11) - { - if (green > 11) - { - if (red < green) - return 9; - else - return 8; - } - } - else if (green > 11) - { - return 12; - } - - if (blue > 11) - return 15; - else - return 6; - } - - return 3; -} - -static u16 sub_8126908(u16 *color) -{ - u16 red = *color & 0x1F; - u16 green = (*color >> 5) & 0x1F; - u16 blue = (*color >> 10) & 0x1F; - u16 average = ((red + green + blue) / 3) & 0x1E; - if (average == 0) - return 1; - else - return average / 2; -} - -static u16 sub_812693C(u16 *color) -{ - u16 red = *color & 0x1F; - u16 green = (*color >> 5) & 0x1F; - u16 blue = (*color >> 10) & 0x1F; - u16 average = (red + green + blue) / 3; - return average + 1; -} diff --git a/src/coord_event_weather.c b/src/coord_event_weather.c index 60b87fa30f..85f22a8b74 100644 --- a/src/coord_event_weather.c +++ b/src/coord_event_weather.c @@ -11,38 +11,38 @@ struct CoordEventWeather static void CoordEventWeather_Clouds(void); static void CoordEventWeather_Sunny(void); -static void CoordEventWeather_LightRain(void); +static void CoordEventWeather_Rain(void); static void CoordEventWeather_Snow(void); static void CoordEventWeather_Thunderstorm(void); -static void CoordEventWeather_Fog(void); +static void CoordEventWeather_HorizontalFog(void); static void CoordEventWeather_DiagonalFog(void); static void CoordEventWeather_Ash(void); static void CoordEventWeather_Sandstorm(void); -static void CoordEventWeather_Dark(void); +static void CoordEventWeather_Shade(void); static void CoordEventWeather_Drought(void); static void CoordEventWeather_Route119Cycle(void); static void CoordEventWeather_Route123Cycle(void); static const struct CoordEventWeather sCoordEventWeatherFuncs[] = { - { COORD_EVENT_WEATHER_CLOUDS, CoordEventWeather_Clouds }, - { COORD_EVENT_WEATHER_SUNNY, CoordEventWeather_Sunny }, - { COORD_EVENT_WEATHER_RAIN_LIGHT, CoordEventWeather_LightRain }, - { COORD_EVENT_WEATHER_SNOW, CoordEventWeather_Snow }, - { COORD_EVENT_WEATHER_RAIN_MED, CoordEventWeather_Thunderstorm }, - { COORD_EVENT_WEATHER_FOG_1, CoordEventWeather_Fog }, - { COORD_EVENT_WEATHER_FOG_2, CoordEventWeather_DiagonalFog }, - { COORD_EVENT_WEATHER_ASH, CoordEventWeather_Ash }, - { COORD_EVENT_WEATHER_SANDSTORM, CoordEventWeather_Sandstorm }, - { COORD_EVENT_WEATHER_SHADE, CoordEventWeather_Dark }, - { COORD_EVENT_WEATHER_DROUGHT, CoordEventWeather_Drought }, - { COORD_EVENT_WEATHER_ROUTE119_CYCLE, CoordEventWeather_Route119Cycle }, - { COORD_EVENT_WEATHER_ROUTE123_CYCLE, CoordEventWeather_Route123Cycle }, + { COORD_EVENT_WEATHER_SUNNY_CLOUDS, CoordEventWeather_Clouds }, + { COORD_EVENT_WEATHER_SUNNY, CoordEventWeather_Sunny }, + { COORD_EVENT_WEATHER_RAIN, CoordEventWeather_Rain }, + { COORD_EVENT_WEATHER_SNOW, CoordEventWeather_Snow }, + { COORD_EVENT_WEATHER_RAIN_THUNDERSTORM, CoordEventWeather_Thunderstorm }, + { COORD_EVENT_WEATHER_FOG_HORIZONTAL, CoordEventWeather_HorizontalFog }, + { COORD_EVENT_WEATHER_FOG_DIAGONAL, CoordEventWeather_DiagonalFog }, + { COORD_EVENT_WEATHER_VOLCANIC_ASH, CoordEventWeather_Ash }, + { COORD_EVENT_WEATHER_SANDSTORM, CoordEventWeather_Sandstorm }, + { COORD_EVENT_WEATHER_SHADE, CoordEventWeather_Shade }, + { COORD_EVENT_WEATHER_DROUGHT, CoordEventWeather_Drought }, + { COORD_EVENT_WEATHER_ROUTE119_CYCLE, CoordEventWeather_Route119Cycle }, + { COORD_EVENT_WEATHER_ROUTE123_CYCLE, CoordEventWeather_Route123Cycle }, }; static void CoordEventWeather_Clouds(void) { - SetWeather(WEATHER_CLOUDS); + SetWeather(WEATHER_SUNNY_CLOUDS); } static void CoordEventWeather_Sunny(void) @@ -50,9 +50,9 @@ static void CoordEventWeather_Sunny(void) SetWeather(WEATHER_SUNNY); } -static void CoordEventWeather_LightRain(void) +static void CoordEventWeather_Rain(void) { - SetWeather(WEATHER_RAIN_LIGHT); + SetWeather(WEATHER_RAIN); } static void CoordEventWeather_Snow(void) @@ -62,22 +62,22 @@ static void CoordEventWeather_Snow(void) static void CoordEventWeather_Thunderstorm(void) { - SetWeather(WEATHER_RAIN_MED); + SetWeather(WEATHER_RAIN_THUNDERSTORM); } -static void CoordEventWeather_Fog(void) +static void CoordEventWeather_HorizontalFog(void) { - SetWeather(WEATHER_FOG_1); + SetWeather(WEATHER_FOG_HORIZONTAL); } static void CoordEventWeather_DiagonalFog(void) { - SetWeather(WEATHER_FOG_2); + SetWeather(WEATHER_FOG_DIAGONAL); } static void CoordEventWeather_Ash(void) { - SetWeather(WEATHER_ASH); + SetWeather(WEATHER_VOLCANIC_ASH); } static void CoordEventWeather_Sandstorm(void) @@ -85,7 +85,7 @@ static void CoordEventWeather_Sandstorm(void) SetWeather(WEATHER_SANDSTORM); } -static void CoordEventWeather_Dark(void) +static void CoordEventWeather_Shade(void) { SetWeather(WEATHER_SHADE); } diff --git a/src/credits.c b/src/credits.c index 44fa2002c7..a8bed9a3f4 100644 --- a/src/credits.c +++ b/src/credits.c @@ -3,7 +3,7 @@ #include "main.h" #include "task.h" #include "bg.h" -#include "alloc.h" +#include "malloc.h" #include "window.h" #include "text.h" #include "menu.h" @@ -128,16 +128,17 @@ enum TDE_TASK_A_ID = 2, }; -struct Unk201C000 +#define NUM_MON_SLIDES 71 +struct CreditsData { - u16 unk0[71]; - u16 unk8E; - u16 unk90; - u16 unk92; - u16 unk94; - u16 unk96[NATIONAL_DEX_COUNT]; - u16 unk39A; - u16 unk39C[7]; + u16 monToShow[NUM_MON_SLIDES]; // List of Pokemon species ids that will show during the credits + u16 imgCounter; //how many mon images have been shown + u16 nextImgPos; //if the next image spawns left/center/right + u16 currShownMon; //index into monToShow + u16 numMonToShow; //number of pokemon to show, always NUM_MON_SLIDES after determine function + u16 caughtMonIds[NATIONAL_DEX_COUNT]; //temporary location to hold a condensed array of all caught pokemon + u16 numCaughtMon; //count of filled spaces in caughtMonIds + u16 unk39C[7]; // unused padding? }; struct CreditsEntry @@ -151,7 +152,7 @@ static EWRAM_DATA s16 gUnknown_0203BCE0 = 0; static EWRAM_DATA u16 gUnknown_0203BCE2 = 0; // TASK A EWRAM_DATA bool8 gHasHallOfFameRecords = 0; static EWRAM_DATA u8 gUnknown_0203BCE5 = 0; -static EWRAM_DATA struct Unk201C000 *gUnknown_0203BCE8 = {0}; +static EWRAM_DATA struct CreditsData *sCreditsData = {0}; static const u16 gUnknown_085E56F0[][16] = { @@ -959,7 +960,7 @@ static const struct WindowTemplate sWindowTemplates[] = }, DUMMY_WIN_TEMPLATE, }; -static const u8 gUnknown_085E6F7C[][2] = +static const u8 sMonSpritePos[][2] = { {104, 36}, {120, 36}, @@ -1052,10 +1053,10 @@ static const struct SpritePalette gUnknown_085E702C[] = { static const struct OamData gUnknown_085E703C = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -1127,8 +1128,8 @@ static void LoadTheEndScreen(u16, u16, u16); static void sub_8176E40(u16 arg0, u16 palette); static void sub_8176EE8(struct Sprite *sprite); static void sub_8176F90(struct Sprite *sprite); -static u8 sub_8177224(u16 species, s16 x, s16 y, u16 position); -static void sub_8177388(void); +static u8 MakeMonSprite(u16 species, s16 x, s16 y, u16 position); +static void DeterminePokemonToShow(void); static void CreditsVBlankCallback(void) { @@ -1241,13 +1242,13 @@ void CB2_StartCreditsSequence(void) m4aSongNumStart(MUS_THANKFOR); SetMainCallback2(CB2_RunCreditsSequence); gUnknown_0203BCE5 = 0; - gUnknown_0203BCE8 = AllocZeroed(sizeof(struct Unk201C000)); + sCreditsData = AllocZeroed(sizeof(struct CreditsData)); - sub_8177388(); + DeterminePokemonToShow(); - gUnknown_0203BCE8->unk8E = 0; - gUnknown_0203BCE8->unk90 = 0; - gUnknown_0203BCE8->unk92 = 0; + sCreditsData->imgCounter = 0; + sCreditsData->nextImgPos = 0; + sCreditsData->currShownMon = 0; gUnknown_0203BCE2 = taskIdA; } @@ -1604,7 +1605,7 @@ static void sub_8175DA0(u8 taskIdB) gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].data[TDA_4] = 1; DestroyTask(taskIdB); sub_81755A4(); - FREE_AND_SET_NULL(gUnknown_0203BCE8); + FREE_AND_SET_NULL(sCreditsData); return; } } @@ -1683,29 +1684,29 @@ static void sub_81760FC(u8 taskIdD) case 0: break; case 1: - if (gUnknown_0203BCE8->unk90 == 0 && gTasks[gTasks[taskIdD].data[TDD_TASK_A_ID]].data[TDA_14] == 0) + if (sCreditsData->nextImgPos == 0 && gTasks[gTasks[taskIdD].data[TDD_TASK_A_ID]].data[TDA_14] == 0) break; gTasks[taskIdD].data[TDD_STATE]++; break; case 2: - if (gUnknown_0203BCE8->unk8E == 71 || gTasks[gTasks[taskIdD].data[TDD_TASK_A_ID]].func != Task_ProgressCreditTasks) + if (sCreditsData->imgCounter == NUM_MON_SLIDES || gTasks[gTasks[taskIdD].data[TDD_TASK_A_ID]].func != Task_ProgressCreditTasks) break; - r2 = sub_8177224(gUnknown_0203BCE8->unk0[gUnknown_0203BCE8->unk92], gUnknown_085E6F7C[gUnknown_0203BCE8->unk90][0], gUnknown_085E6F7C[gUnknown_0203BCE8->unk90][1], gUnknown_0203BCE8->unk90); - if (gUnknown_0203BCE8->unk92 < gUnknown_0203BCE8->unk94 - 1) + r2 = MakeMonSprite(sCreditsData->monToShow[sCreditsData->currShownMon], sMonSpritePos[sCreditsData->nextImgPos][0], sMonSpritePos[sCreditsData->nextImgPos][1], sCreditsData->nextImgPos); + if (sCreditsData->currShownMon < sCreditsData->numMonToShow - 1) { - gUnknown_0203BCE8->unk92++; + sCreditsData->currShownMon++; gSprites[r2].data[3] = 50; } else { - gUnknown_0203BCE8->unk92 = 0; + sCreditsData->currShownMon = 0; gSprites[r2].data[3] = 512; } - gUnknown_0203BCE8->unk8E++; - if (gUnknown_0203BCE8->unk90 == 2) - gUnknown_0203BCE8->unk90 = 0; + sCreditsData->imgCounter++; + if (sCreditsData->nextImgPos == 2) + sCreditsData->nextImgPos = 0; else - gUnknown_0203BCE8->unk90++; + sCreditsData->nextImgPos++; gTasks[taskIdD].data[TDD_3] = 50; gTasks[taskIdD].data[TDD_STATE]++; break; @@ -2182,7 +2183,7 @@ static void sub_8177050(struct Sprite *sprite) { case 0: default: - sprite->oam.affineMode = 1; + sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; sprite->oam.matrixNum = sprite->data[1]; sprite->data[2] = 16; SetOamMatrix(sprite->data[1], 0x10000 / sprite->data[2], 0, 0, 0x10000 / sprite->data[2]); @@ -2224,7 +2225,7 @@ static void sub_8177050(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); - sprite->oam.objMode = 1; + sprite->oam.objMode = ST_OAM_OBJ_BLEND; sprite->data[3] = 16; sprite->data[0] += 1; } @@ -2256,7 +2257,7 @@ static void sub_8177050(struct Sprite *sprite) } } -static u8 sub_8177224(u16 nationalDexNum, s16 x, s16 y, u16 position) +static u8 MakeMonSprite(u16 nationalDexNum, s16 x, s16 y, u16 position) { u8 spriteId; u8 spriteId2; @@ -2292,73 +2293,86 @@ static void sub_81772B8(struct Sprite *sprite) sprite->pos1.y = gSprites[sprite->data[0]].pos1.y; } -static void sub_8177388(void) +static void DeterminePokemonToShow(void) { u16 starter = SpeciesToNationalPokedexNum(GetStarterPokemon(VarGet(VAR_STARTER_MON))); u16 page; u16 dexNum; u16 j; - + + // Go through the Pokedex, and anything that has gotten caught we put into our massive array. + // This basically packs all of the caught pokemon into the front of the array for (dexNum = 1, j = 0; dexNum < NATIONAL_DEX_COUNT; dexNum++) { if (GetSetPokedexFlag(dexNum, FLAG_GET_CAUGHT)) { - gUnknown_0203BCE8->unk96[j] = dexNum; + sCreditsData->caughtMonIds[j] = dexNum; j++; } } + // Fill the rest of the array with zeroes for (dexNum = j; dexNum < NATIONAL_DEX_COUNT; dexNum++) - gUnknown_0203BCE8->unk96[dexNum] = 0; + sCreditsData->caughtMonIds[dexNum] = 0; - gUnknown_0203BCE8->unk39A = j; - if (gUnknown_0203BCE8->unk39A < 71) - gUnknown_0203BCE8->unk94 = j; + // Cap the number of pokemon we care about to NUM_MON_SLIDES, the max we show in the credits scene (-1 for the starter) + sCreditsData->numCaughtMon = j; + if (sCreditsData->numCaughtMon < NUM_MON_SLIDES) + sCreditsData->numMonToShow = j; else - gUnknown_0203BCE8->unk94 = 71; + sCreditsData->numMonToShow = NUM_MON_SLIDES; + // Loop through our list of caught pokemon and select randomly from it to fill the images to show j = 0; do { - page = Random() % gUnknown_0203BCE8->unk39A; - gUnknown_0203BCE8->unk0[j] = gUnknown_0203BCE8->unk96[page]; - + // Select a random mon, insert into array + page = Random() % sCreditsData->numCaughtMon; + sCreditsData->monToShow[j] = sCreditsData->caughtMonIds[page]; + + // Remove the select mon from the array, and condense array entries j++; - gUnknown_0203BCE8->unk96[page] = 0; - gUnknown_0203BCE8->unk39A--; - if (page != gUnknown_0203BCE8->unk39A) + sCreditsData->caughtMonIds[page] = 0; + sCreditsData->numCaughtMon--; + if (page != sCreditsData->numCaughtMon) { - gUnknown_0203BCE8->unk96[page] = gUnknown_0203BCE8->unk96[gUnknown_0203BCE8->unk39A]; - gUnknown_0203BCE8->unk96[gUnknown_0203BCE8->unk39A] = 0; + // Instead of looping through and moving everything down, just take from the end. Order doesn't matter after all. + sCreditsData->caughtMonIds[page] = sCreditsData->caughtMonIds[sCreditsData->numCaughtMon]; + sCreditsData->caughtMonIds[sCreditsData->numCaughtMon] = 0; } } - while (gUnknown_0203BCE8->unk39A != 0 && j < 71); + while (sCreditsData->numCaughtMon != 0 && j < NUM_MON_SLIDES); - if (gUnknown_0203BCE8->unk94 < 71) + // If we don't have enough pokemon in the dex to fill everything, copy the selected mon into the end of the array, so it loops + if (sCreditsData->numMonToShow < NUM_MON_SLIDES) { - for (j = gUnknown_0203BCE8->unk94, page = 0; j < 71; j++) + for (j = sCreditsData->numMonToShow, page = 0; j < NUM_MON_SLIDES; j++) { - gUnknown_0203BCE8->unk0[j] = gUnknown_0203BCE8->unk0[page]; + sCreditsData->monToShow[j] = sCreditsData->monToShow[page]; page++; - if (page == gUnknown_0203BCE8->unk94) + if (page == sCreditsData->numMonToShow) page = 0; } - gUnknown_0203BCE8->unk0[70] = starter; + // Ensure the last pokemon is our starter + sCreditsData->monToShow[NUM_MON_SLIDES-1] = starter; } else { - for (dexNum = 0; gUnknown_0203BCE8->unk0[dexNum] != starter && dexNum < 71; dexNum++); + // Check to see if our starter has already appeared in this list, break if it has + for (dexNum = 0; sCreditsData->monToShow[dexNum] != starter && dexNum < NUM_MON_SLIDES; dexNum++); - if (dexNum < gUnknown_0203BCE8->unk94 - 1) + // If it has, swap it with the last pokemon, to ensure our starter is the last image + if (dexNum < sCreditsData->numMonToShow - 1) { - gUnknown_0203BCE8->unk0[dexNum] = gUnknown_0203BCE8->unk0[70]; - gUnknown_0203BCE8->unk0[70] = starter; + sCreditsData->monToShow[dexNum] = sCreditsData->monToShow[NUM_MON_SLIDES-1]; + sCreditsData->monToShow[NUM_MON_SLIDES-1] = starter; } else { - gUnknown_0203BCE8->unk0[70] = starter; + // Ensure the last pokemon is our starter + sCreditsData->monToShow[NUM_MON_SLIDES-1] = starter; } } - gUnknown_0203BCE8->unk94 = 71; + sCreditsData->numMonToShow = NUM_MON_SLIDES; } diff --git a/src/dark.c b/src/dark.c index 482c09c04b..63a893b672 100644 --- a/src/dark.c +++ b/src/dark.c @@ -29,7 +29,7 @@ const struct SpriteTemplate gUnknown_08596FC8 = { .tileTag = ANIM_TAG_TIED_BAG, .paletteTag = ANIM_TAG_TIED_BAG, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -100,7 +100,7 @@ const struct SpriteTemplate gUnknown_08597080 = { .tileTag = ANIM_TAG_SHARP_TEETH, .paletteTag = ANIM_TAG_SHARP_TEETH, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597060, @@ -111,7 +111,7 @@ const struct SpriteTemplate gUnknown_08597098 = { .tileTag = ANIM_TAG_CLAMP, .paletteTag = ANIM_TAG_CLAMP, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597060, @@ -142,7 +142,7 @@ const struct SpriteTemplate gUnknown_085970E8 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085970E0, @@ -179,7 +179,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 = { .tileTag = ANIM_TAG_CLAW_SLASH, .paletteTag = ANIM_TAG_CLAW_SLASH, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08597130, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/data.c b/src/data.c index 7aebd63ede..8d6640223c 100644 --- a/src/data.c +++ b/src/data.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle.h" #include "data.h" #include "graphics.h" diff --git a/src/data/battle_frontier/apprentice.h b/src/data/battle_frontier/apprentice.h new file mode 100644 index 0000000000..349dc96196 --- /dev/null +++ b/src/data/battle_frontier/apprentice.h @@ -0,0 +1,982 @@ +// data/text/apprentice.inc +extern const u8 gText_ApprenticePleaseTeach0[]; +extern const u8 gText_ApprenticePleaseTeach1[]; +extern const u8 gText_ApprenticePleaseTeach2[]; +extern const u8 gText_ApprenticePleaseTeach3[]; +extern const u8 gText_ApprenticePleaseTeach4[]; +extern const u8 gText_ApprenticePleaseTeach5[]; +extern const u8 gText_ApprenticePleaseTeach6[]; +extern const u8 gText_ApprenticePleaseTeach7[]; +extern const u8 gText_ApprenticePleaseTeach8[]; +extern const u8 gText_ApprenticePleaseTeach9[]; +extern const u8 gText_ApprenticePleaseTeach10[]; +extern const u8 gText_ApprenticePleaseTeach11[]; +extern const u8 gText_ApprenticePleaseTeach12[]; +extern const u8 gText_ApprenticePleaseTeach13[]; +extern const u8 gText_ApprenticePleaseTeach14[]; +extern const u8 gText_ApprenticePleaseTeach15[]; +extern const u8 gText_ApprenticeRejectTeaching0[]; +extern const u8 gText_ApprenticeRejectTeaching1[]; +extern const u8 gText_ApprenticeRejectTeaching2[]; +extern const u8 gText_ApprenticeRejectTeaching3[]; +extern const u8 gText_ApprenticeRejectTeaching4[]; +extern const u8 gText_ApprenticeRejectTeaching5[]; +extern const u8 gText_ApprenticeRejectTeaching6[]; +extern const u8 gText_ApprenticeRejectTeaching7[]; +extern const u8 gText_ApprenticeRejectTeaching8[]; +extern const u8 gText_ApprenticeRejectTeaching9[]; +extern const u8 gText_ApprenticeRejectTeaching10[]; +extern const u8 gText_ApprenticeRejectTeaching11[]; +extern const u8 gText_ApprenticeRejectTeaching12[]; +extern const u8 gText_ApprenticeRejectTeaching13[]; +extern const u8 gText_ApprenticeRejectTeaching14[]; +extern const u8 gText_ApprenticeRejectTeaching15[]; +extern const u8 gText_ApprenticeWhichLevelMode0[]; +extern const u8 gText_ApprenticeWhichLevelMode1[]; +extern const u8 gText_ApprenticeWhichLevelMode2[]; +extern const u8 gText_ApprenticeWhichLevelMode3[]; +extern const u8 gText_ApprenticeWhichLevelMode4[]; +extern const u8 gText_ApprenticeWhichLevelMode5[]; +extern const u8 gText_ApprenticeWhichLevelMode6[]; +extern const u8 gText_ApprenticeWhichLevelMode7[]; +extern const u8 gText_ApprenticeWhichLevelMode8[]; +extern const u8 gText_ApprenticeWhichLevelMode9[]; +extern const u8 gText_ApprenticeWhichLevelMode10[]; +extern const u8 gText_ApprenticeWhichLevelMode11[]; +extern const u8 gText_ApprenticeWhichLevelMode12[]; +extern const u8 gText_ApprenticeWhichLevelMode13[]; +extern const u8 gText_ApprenticeWhichLevelMode14[]; +extern const u8 gText_ApprenticeWhichLevelMode15[]; +extern const u8 gText_ApprenticeLevelModeThanks0[]; +extern const u8 gText_ApprenticeLevelModeThanks1[]; +extern const u8 gText_ApprenticeLevelModeThanks2[]; +extern const u8 gText_ApprenticeLevelModeThanks3[]; +extern const u8 gText_ApprenticeLevelModeThanks4[]; +extern const u8 gText_ApprenticeLevelModeThanks5[]; +extern const u8 gText_ApprenticeLevelModeThanks6[]; +extern const u8 gText_ApprenticeLevelModeThanks7[]; +extern const u8 gText_ApprenticeLevelModeThanks8[]; +extern const u8 gText_ApprenticeLevelModeThanks9[]; +extern const u8 gText_ApprenticeLevelModeThanks10[]; +extern const u8 gText_ApprenticeLevelModeThanks11[]; +extern const u8 gText_ApprenticeLevelModeThanks12[]; +extern const u8 gText_ApprenticeLevelModeThanks13[]; +extern const u8 gText_ApprenticeLevelModeThanks14[]; +extern const u8 gText_ApprenticeLevelModeThanks15[]; + +extern const u8 gText_ApprenticeWhichMon0[]; +extern const u8 gText_ApprenticeWhichMon1[]; +extern const u8 gText_ApprenticeWhichMon2[]; +extern const u8 gText_ApprenticeWhichMon3[]; +extern const u8 gText_ApprenticeWhichMon4[]; +extern const u8 gText_ApprenticeWhichMon5[]; +extern const u8 gText_ApprenticeWhichMon6[]; +extern const u8 gText_ApprenticeWhichMon7[]; +extern const u8 gText_ApprenticeWhichMon8[]; +extern const u8 gText_ApprenticeWhichMon9[]; +extern const u8 gText_ApprenticeWhichMon10[]; +extern const u8 gText_ApprenticeWhichMon11[]; +extern const u8 gText_ApprenticeWhichMon12[]; +extern const u8 gText_ApprenticeWhichMon13[]; +extern const u8 gText_ApprenticeWhichMon14[]; +extern const u8 gText_ApprenticeWhichMon15[]; +extern const u8 gText_ApprenticeMonThanks0[]; +extern const u8 gText_ApprenticeMonThanks1[]; +extern const u8 gText_ApprenticeMonThanks2[]; +extern const u8 gText_ApprenticeMonThanks3[]; +extern const u8 gText_ApprenticeMonThanks4[]; +extern const u8 gText_ApprenticeMonThanks5[]; +extern const u8 gText_ApprenticeMonThanks6[]; +extern const u8 gText_ApprenticeMonThanks7[]; +extern const u8 gText_ApprenticeMonThanks8[]; +extern const u8 gText_ApprenticeMonThanks9[]; +extern const u8 gText_ApprenticeMonThanks10[]; +extern const u8 gText_ApprenticeMonThanks11[]; +extern const u8 gText_ApprenticeMonThanks12[]; +extern const u8 gText_ApprenticeMonThanks13[]; +extern const u8 gText_ApprenticeMonThanks14[]; +extern const u8 gText_ApprenticeMonThanks15[]; + +extern const u8 gText_ApprenticeWhatHeldItem0[]; +extern const u8 gText_ApprenticeWhatHeldItem1[]; +extern const u8 gText_ApprenticeWhatHeldItem2[]; +extern const u8 gText_ApprenticeWhatHeldItem3[]; +extern const u8 gText_ApprenticeWhatHeldItem4[]; +extern const u8 gText_ApprenticeWhatHeldItem5[]; +extern const u8 gText_ApprenticeWhatHeldItem6[]; +extern const u8 gText_ApprenticeWhatHeldItem7[]; +extern const u8 gText_ApprenticeWhatHeldItem8[]; +extern const u8 gText_ApprenticeWhatHeldItem9[]; +extern const u8 gText_ApprenticeWhatHeldItem10[]; +extern const u8 gText_ApprenticeWhatHeldItem11[]; +extern const u8 gText_ApprenticeWhatHeldItem12[]; +extern const u8 gText_ApprenticeWhatHeldItem13[]; +extern const u8 gText_ApprenticeWhatHeldItem14[]; +extern const u8 gText_ApprenticeWhatHeldItem15[]; +extern const u8 gText_ApprenticeHoldNothing0[]; +extern const u8 gText_ApprenticeHoldNothing1[]; +extern const u8 gText_ApprenticeHoldNothing2[]; +extern const u8 gText_ApprenticeHoldNothing3[]; +extern const u8 gText_ApprenticeHoldNothing4[]; +extern const u8 gText_ApprenticeHoldNothing5[]; +extern const u8 gText_ApprenticeHoldNothing6[]; +extern const u8 gText_ApprenticeHoldNothing7[]; +extern const u8 gText_ApprenticeHoldNothing8[]; +extern const u8 gText_ApprenticeHoldNothing9[]; +extern const u8 gText_ApprenticeHoldNothing10[]; +extern const u8 gText_ApprenticeHoldNothing11[]; +extern const u8 gText_ApprenticeHoldNothing12[]; +extern const u8 gText_ApprenticeHoldNothing13[]; +extern const u8 gText_ApprenticeHoldNothing14[]; +extern const u8 gText_ApprenticeHoldNothing15[]; +extern const u8 gText_ApprenticeThanksNoHeldItem0[]; +extern const u8 gText_ApprenticeThanksNoHeldItem1[]; +extern const u8 gText_ApprenticeThanksNoHeldItem2[]; +extern const u8 gText_ApprenticeThanksNoHeldItem3[]; +extern const u8 gText_ApprenticeThanksNoHeldItem4[]; +extern const u8 gText_ApprenticeThanksNoHeldItem5[]; +extern const u8 gText_ApprenticeThanksNoHeldItem6[]; +extern const u8 gText_ApprenticeThanksNoHeldItem7[]; +extern const u8 gText_ApprenticeThanksNoHeldItem8[]; +extern const u8 gText_ApprenticeThanksNoHeldItem9[]; +extern const u8 gText_ApprenticeThanksNoHeldItem10[]; +extern const u8 gText_ApprenticeThanksNoHeldItem11[]; +extern const u8 gText_ApprenticeThanksNoHeldItem12[]; +extern const u8 gText_ApprenticeThanksNoHeldItem13[]; +extern const u8 gText_ApprenticeThanksNoHeldItem14[]; +extern const u8 gText_ApprenticeThanksNoHeldItem15[]; +extern const u8 gText_ApprenticeThanksHeldItem0[]; +extern const u8 gText_ApprenticeThanksHeldItem1[]; +extern const u8 gText_ApprenticeThanksHeldItem2[]; +extern const u8 gText_ApprenticeThanksHeldItem3[]; +extern const u8 gText_ApprenticeThanksHeldItem4[]; +extern const u8 gText_ApprenticeThanksHeldItem5[]; +extern const u8 gText_ApprenticeThanksHeldItem6[]; +extern const u8 gText_ApprenticeThanksHeldItem7[]; +extern const u8 gText_ApprenticeThanksHeldItem8[]; +extern const u8 gText_ApprenticeThanksHeldItem9[]; +extern const u8 gText_ApprenticeThanksHeldItem10[]; +extern const u8 gText_ApprenticeThanksHeldItem11[]; +extern const u8 gText_ApprenticeThanksHeldItem12[]; +extern const u8 gText_ApprenticeThanksHeldItem13[]; +extern const u8 gText_ApprenticeThanksHeldItem14[]; +extern const u8 gText_ApprenticeThanksHeldItem15[]; +extern const u8 gText_ApprenticeItemAlreadyRecommended0[]; +extern const u8 gText_ApprenticeItemAlreadyRecommended1[]; +extern const u8 gText_ApprenticeItemAlreadyRecommended2[]; +extern const u8 gText_ApprenticeItemAlreadyRecommended3[]; +extern const u8 gText_ApprenticeItemAlreadyRecommended4[]; +extern const u8 gText_ApprenticeItemAlreadyRecommended5[]; +extern const u8 gText_ApprenticeItemAlreadyRecommended6[]; +extern const u8 gText_ApprenticeItemAlreadyRecommended7[]; +extern const u8 gText_ApprenticeItemAlreadyRecommended8[]; +extern const u8 gText_ApprenticeItemAlreadyRecommended9[]; +extern const u8 gText_ApprenticeItemAlreadyRecommended10[]; +extern const u8 gText_ApprenticeItemAlreadyRecommended11[]; +extern const u8 gText_ApprenticeItemAlreadyRecommended12[]; +extern const u8 gText_ApprenticeItemAlreadyRecommended13[]; +extern const u8 gText_ApprenticeItemAlreadyRecommended14[]; +extern const u8 gText_ApprenticeItemAlreadyRecommended15[]; + +extern const u8 gText_ApprenticeWhichMove0[]; +extern const u8 gText_ApprenticeWhichMove1[]; +extern const u8 gText_ApprenticeWhichMove2[]; +extern const u8 gText_ApprenticeWhichMove3[]; +extern const u8 gText_ApprenticeWhichMove4[]; +extern const u8 gText_ApprenticeWhichMove5[]; +extern const u8 gText_ApprenticeWhichMove6[]; +extern const u8 gText_ApprenticeWhichMove7[]; +extern const u8 gText_ApprenticeWhichMove8[]; +extern const u8 gText_ApprenticeWhichMove9[]; +extern const u8 gText_ApprenticeWhichMove10[]; +extern const u8 gText_ApprenticeWhichMove11[]; +extern const u8 gText_ApprenticeWhichMove12[]; +extern const u8 gText_ApprenticeWhichMove13[]; +extern const u8 gText_ApprenticeWhichMove14[]; +extern const u8 gText_ApprenticeWhichMove15[]; +extern const u8 gText_ApprenticeMoveThanks0[]; +extern const u8 gText_ApprenticeMoveThanks1[]; +extern const u8 gText_ApprenticeMoveThanks2[]; +extern const u8 gText_ApprenticeMoveThanks3[]; +extern const u8 gText_ApprenticeMoveThanks4[]; +extern const u8 gText_ApprenticeMoveThanks5[]; +extern const u8 gText_ApprenticeMoveThanks6[]; +extern const u8 gText_ApprenticeMoveThanks7[]; +extern const u8 gText_ApprenticeMoveThanks8[]; +extern const u8 gText_ApprenticeMoveThanks9[]; +extern const u8 gText_ApprenticeMoveThanks10[]; +extern const u8 gText_ApprenticeMoveThanks11[]; +extern const u8 gText_ApprenticeMoveThanks12[]; +extern const u8 gText_ApprenticeMoveThanks13[]; +extern const u8 gText_ApprenticeMoveThanks14[]; +extern const u8 gText_ApprenticeMoveThanks15[]; + +extern const u8 gText_ApprenticeWhichMonFirst0[]; +extern const u8 gText_ApprenticeWhichMonFirst1[]; +extern const u8 gText_ApprenticeWhichMonFirst2[]; +extern const u8 gText_ApprenticeWhichMonFirst3[]; +extern const u8 gText_ApprenticeWhichMonFirst4[]; +extern const u8 gText_ApprenticeWhichMonFirst5[]; +extern const u8 gText_ApprenticeWhichMonFirst6[]; +extern const u8 gText_ApprenticeWhichMonFirst7[]; +extern const u8 gText_ApprenticeWhichMonFirst8[]; +extern const u8 gText_ApprenticeWhichMonFirst9[]; +extern const u8 gText_ApprenticeWhichMonFirst10[]; +extern const u8 gText_ApprenticeWhichMonFirst11[]; +extern const u8 gText_ApprenticeWhichMonFirst12[]; +extern const u8 gText_ApprenticeWhichMonFirst13[]; +extern const u8 gText_ApprenticeWhichMonFirst14[]; +extern const u8 gText_ApprenticeWhichMonFirst15[]; +extern const u8 gText_ApprenticeMonFirstThanks0[]; +extern const u8 gText_ApprenticeMonFirstThanks1[]; +extern const u8 gText_ApprenticeMonFirstThanks2[]; +extern const u8 gText_ApprenticeMonFirstThanks3[]; +extern const u8 gText_ApprenticeMonFirstThanks4[]; +extern const u8 gText_ApprenticeMonFirstThanks5[]; +extern const u8 gText_ApprenticeMonFirstThanks6[]; +extern const u8 gText_ApprenticeMonFirstThanks7[]; +extern const u8 gText_ApprenticeMonFirstThanks8[]; +extern const u8 gText_ApprenticeMonFirstThanks9[]; +extern const u8 gText_ApprenticeMonFirstThanks10[]; +extern const u8 gText_ApprenticeMonFirstThanks11[]; +extern const u8 gText_ApprenticeMonFirstThanks12[]; +extern const u8 gText_ApprenticeMonFirstThanks13[]; +extern const u8 gText_ApprenticeMonFirstThanks14[]; +extern const u8 gText_ApprenticeMonFirstThanks15[]; + +extern const u8 gText_ApprenticePickWinSpeech0[]; +extern const u8 gText_ApprenticePickWinSpeech1[]; +extern const u8 gText_ApprenticePickWinSpeech2[]; +extern const u8 gText_ApprenticePickWinSpeech3[]; +extern const u8 gText_ApprenticePickWinSpeech4[]; +extern const u8 gText_ApprenticePickWinSpeech5[]; +extern const u8 gText_ApprenticePickWinSpeech6[]; +extern const u8 gText_ApprenticePickWinSpeech7[]; +extern const u8 gText_ApprenticePickWinSpeech8[]; +extern const u8 gText_ApprenticePickWinSpeech9[]; +extern const u8 gText_ApprenticePickWinSpeech10[]; +extern const u8 gText_ApprenticePickWinSpeech11[]; +extern const u8 gText_ApprenticePickWinSpeech12[]; +extern const u8 gText_ApprenticePickWinSpeech13[]; +extern const u8 gText_ApprenticePickWinSpeech14[]; +extern const u8 gText_ApprenticePickWinSpeech15[]; +extern const u8 gText_ApprenticeWinSpeechThanks0[]; +extern const u8 gText_ApprenticeWinSpeechThanks1[]; +extern const u8 gText_ApprenticeWinSpeechThanks2[]; +extern const u8 gText_ApprenticeWinSpeechThanks3[]; +extern const u8 gText_ApprenticeWinSpeechThanks4[]; +extern const u8 gText_ApprenticeWinSpeechThanks5[]; +extern const u8 gText_ApprenticeWinSpeechThanks6[]; +extern const u8 gText_ApprenticeWinSpeechThanks7[]; +extern const u8 gText_ApprenticeWinSpeechThanks8[]; +extern const u8 gText_ApprenticeWinSpeechThanks9[]; +extern const u8 gText_ApprenticeWinSpeechThanks10[]; +extern const u8 gText_ApprenticeWinSpeechThanks11[]; +extern const u8 gText_ApprenticeWinSpeechThanks12[]; +extern const u8 gText_ApprenticeWinSpeechThanks13[]; +extern const u8 gText_ApprenticeWinSpeechThanks14[]; +extern const u8 gText_ApprenticeWinSpeechThanks15[]; + +extern const u8 gText_ApprenticeChallenge0[]; +extern const u8 gText_ApprenticeChallenge1[]; +extern const u8 gText_ApprenticeChallenge2[]; +extern const u8 gText_ApprenticeChallenge3[]; +extern const u8 gText_ApprenticeChallenge4[]; +extern const u8 gText_ApprenticeChallenge5[]; +extern const u8 gText_ApprenticeChallenge6[]; +extern const u8 gText_ApprenticeChallenge7[]; +extern const u8 gText_ApprenticeChallenge8[]; +extern const u8 gText_ApprenticeChallenge9[]; +extern const u8 gText_ApprenticeChallenge10[]; +extern const u8 gText_ApprenticeChallenge11[]; +extern const u8 gText_ApprenticeChallenge12[]; +extern const u8 gText_ApprenticeChallenge13[]; +extern const u8 gText_ApprenticeChallenge14[]; +extern const u8 gText_ApprenticeChallenge15[]; + +const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = +{ + { + .name = {_("サダヒロ"), _("ALANN"), _("ALAIN"), _("ADELFO"), _("CLAUS"), _("TEO")}, + .otId = 0xBDC9, + .facilityClass = FACILITY_CLASS_BUG_CATCHER, + .species = {SPECIES_BEAUTIFLY, SPECIES_DUSTOX, SPECIES_ILLUMISE, SPECIES_SHIFTRY, SPECIES_BRELOOM, SPECIES_NINJASK, SPECIES_SHEDINJA, SPECIES_PINSIR, SPECIES_HERACROSS, SPECIES_VOLBEAT}, + .id = 0, + .speechLost = {EC_WORD_NO, EC_WORD_MISTAKE, EC_WORD_EXCL, EC_WORD_I, EC_WORD_LOST, EC_WORD_BADLY}, + }, + { + .name = {_("ヒロオ"), _("LIONEL"), _("LIONEL"), _("CAIO"), _("LUDWIG"), _("LEO")}, + .otId = 0xCF09, + .facilityClass = FACILITY_CLASS_YOUNGSTER, + .species = {SPECIES_SWELLOW, SPECIES_SWALOT, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_TORKOAL, SPECIES_HARIYAMA, SPECIES_MIGHTYENA, SPECIES_LUDICOLO, SPECIES_CRAWDAUNT, SPECIES_WHISCASH}, + .id = 1, + .speechLost = {EC_WORD_OKAY, EC_WORD_I, EC_WORD_LOST, EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_MASTER}, + }, + { + .name = {_("ケイジ"), _("SONNY"), _("HERVE"), _("FEDRO"), _("WENZEL"), _("SANTI")}, + .otId = 0x2E34, + .facilityClass = FACILITY_CLASS_SCHOOL_KID_M, + .species = {SPECIES_LINOONE, SPECIES_MIGHTYENA, SPECIES_WHISCASH, SPECIES_ZANGOOSE, SPECIES_SEVIPER, SPECIES_NINETALES, SPECIES_KECLEON, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_MACHAMP}, + .id = 2, + .speechLost = {EC_WORD_I, EC_WORD_WENT, EC_WORD_AND, EC_WORD_LOST, EC_WORD_AWW, EC_WORD_ELLIPSIS}, + }, + { + .name = {_("ユラ"), _("LAYLA"), _("LAYLA"), _("ASTRID"), _("SONJA"), _("LOLA")}, + .otId = 0x84EF, + .facilityClass = FACILITY_CLASS_LASS, + .species = {SPECIES_SWALOT, SPECIES_XATU, SPECIES_ALTARIA, SPECIES_GOLDUCK, SPECIES_FLYGON, SPECIES_ALAKAZAM, SPECIES_GARDEVOIR, SPECIES_WAILORD, SPECIES_GRUMPIG, SPECIES_MIGHTYENA}, + .id = 3, + .speechLost = {EC_WORD_IS, EC_WORD_THIS, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_QUES, 0xFFFF}, + }, + { + .name = {_("ヨウカ"), _("MACY"), _("AMELIE"), _("CLEO"), _("MARIA"), _("ELISA")}, + .otId = 0x1E43, + .facilityClass = FACILITY_CLASS_SCHOOL_KID_F, + .species = {SPECIES_WIGGLYTUFF, SPECIES_LINOONE, SPECIES_KINGDRA, SPECIES_DELCATTY, SPECIES_RAICHU, SPECIES_FEAROW, SPECIES_STARMIE, SPECIES_MEDICHAM, SPECIES_SHIFTRY, SPECIES_BEAUTIFLY}, + .id = 4, + .speechLost = {EC_WORD_THIS, EC_WORD_WON_T, EC_WORD_BE, EC_WORD_HAPPENING, EC_WORD_NEXT, EC_WORD_TIME}, + }, + { + .name = {_("ヤスシ"), _("DONTE"), _("BRAHIM"), _("GLAUCO"), _("JOSEF"), _("ROQUE")}, + .otId = 0x379F, + .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M, + .species = {SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_AGGRON, SPECIES_MAGNETON, SPECIES_MACHAMP, SPECIES_ARMALDO, SPECIES_HERACROSS, SPECIES_NOSEPASS, SPECIES_EXPLOUD, SPECIES_MIGHTYENA}, + .id = 5, + .speechLost = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_RUN, EC_WORD_BYE_BYE, EC_WORD_EXCL}, + }, + { + .name = {_("ミサオ"), _("AMIRA"), _("LAURE"), _("DAFNE"), _("AMELIE"), _("LARA")}, + .otId = 0xF555, + .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F, + .species = {SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_MAGNETON, SPECIES_MEDICHAM, SPECIES_MIGHTYENA, SPECIES_GLALIE, SPECIES_GOLEM, SPECIES_ELECTRODE, SPECIES_PELIPPER, SPECIES_SHARPEDO}, + .id = 6, + .speechLost = {EC_WORD_AHAHA, EC_WORD_DEFEATED, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_NOTHING, EC_WORD_EXCL}, + }, + { + .name = {_("カズサ"), _("KALI"), _("JODIE"), _("ILENIA"), _("KARO"), _("ELSA")}, + .otId = 0x8D26, + .facilityClass = FACILITY_CLASS_BEAUTY, + .species = {SPECIES_NINETALES, SPECIES_ALAKAZAM, SPECIES_SCEPTILE, SPECIES_SALAMENCE, SPECIES_GOLDUCK, SPECIES_MAWILE, SPECIES_WEEZING, SPECIES_LANTURN, SPECIES_GARDEVOIR, SPECIES_MILOTIC}, + .id = 7, + .speechLost = {EC_WORD_YOU_RE, EC_WORD_STRONG, EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_QUES, 0xFFFF}, + }, + { + .name = {_("スミレ"), _("ANNIE"), _("ANNIE"), _("IMELDA"), _("INES"), _("ROSA")}, + .otId = 0x800C, + .facilityClass = FACILITY_CLASS_AROMA_LADY, + .species = {SPECIES_SCEPTILE, SPECIES_VILEPLUME, SPECIES_BELLOSSOM, SPECIES_ROSELIA, SPECIES_CORSOLA, SPECIES_FLYGON, SPECIES_BRELOOM, SPECIES_MILOTIC, SPECIES_ALTARIA, SPECIES_CRADILY}, + .id = 8, + .speechLost = {EC_WORD_WHAT, EC_WORD_TOUGH, EC_WORD_POKEMON, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_EXCL}, + }, + { + .name = {_("アキノリ"), _("DILLEN"), _("RENE"), _("INDRO"), _("DETLEF"), _("PEDRO")}, + .otId = 0x469f, + .facilityClass = FACILITY_CLASS_HIKER, + .species = {SPECIES_SKARMORY, SPECIES_GOLEM, SPECIES_BLAZIKEN, SPECIES_CAMERUPT, SPECIES_DONPHAN, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_TROPIUS, SPECIES_SOLROCK, SPECIES_RHYDON}, + .id = 9, + .speechLost = {EC_WORD_WE, EC_WORD_WERE, EC_WORD_JUST, EC_WORD_SHREDDED, EC_WORD_ELLIPSIS, 0xFFFF}, + }, + { + .name = {_("トウゾウ"), _("DALLAS"), _("BRUNO"), _("LEARCO"), _("ANSGAR"), _("MANOLO")}, + .otId = 0x71FC, + .facilityClass = FACILITY_CLASS_FISHERMAN, + .species = {SPECIES_SEAKING, SPECIES_STARMIE, SPECIES_GOLDUCK, SPECIES_TENTACRUEL, SPECIES_OCTILLERY, SPECIES_GOREBYSS, SPECIES_GLALIE, SPECIES_WAILORD, SPECIES_SHARPEDO, SPECIES_KINGDRA}, + .id = 10, + .speechLost = {EC_WORD_YOUR, EC_WORD_WIN, EC_WORD_ANGERS, EC_WORD_ME, EC_WORD_EXCL, 0xFFFF}, + }, + { + .name = {_("セイヤ"), _("FRANK"), _("FRANK"), _("OLINDO"), _("FRANK"), _("MAURO")}, + .otId = 0xA39E, + .facilityClass = FACILITY_CLASS_SAILOR, + .species = {SPECIES_QUAGSIRE, SPECIES_STARMIE, SPECIES_PELIPPER, SPECIES_CRAWDAUNT, SPECIES_WAILORD, SPECIES_GYARADOS, SPECIES_SWAMPERT, SPECIES_LANTURN, SPECIES_WHISCASH, SPECIES_SHUCKLE}, + .id = 11, + .speechLost = {EC_WORD_LOSING, EC_WORD_DOESN_T, EC_MOVE(CUT), EC_WORD_ME, EC_WORD_DEEP, EC_WORD_OK_QUES}, + }, + { + .name = {_("リュウジ"), _("LAMONT"), _("XAV"), _("ORFEO"), _("JÜRGEN"), _("JORGE")}, + .otId = 0xE590, + .facilityClass = FACILITY_CLASS_GUITARIST, + .species = {SPECIES_ABSOL, SPECIES_CROBAT, SPECIES_EXPLOUD, SPECIES_MAGNETON, SPECIES_SHARPEDO, SPECIES_MANECTRIC, SPECIES_METAGROSS, SPECIES_ELECTRODE, SPECIES_NOSEPASS, SPECIES_WEEZING}, + .id = 12, + .speechLost = {EC_WORD_A, EC_WORD_LOSS, EC_WORD_IS, EC_WORD_WHAT, EC_WORD_THIS, EC_WORD_IS}, + }, + { + .name = {_("カツアキ"), _("TYRESE"), _("ANDY"), _("PARIDE"), _("DAVID"), _("CHICHO")}, + .otId = 0xD018, + .facilityClass = FACILITY_CLASS_BLACK_BELT, + .species = {SPECIES_BLAZIKEN, SPECIES_GOLEM, SPECIES_MACHAMP, SPECIES_RHYDON, SPECIES_HARIYAMA, SPECIES_AGGRON, SPECIES_MEDICHAM, SPECIES_ZANGOOSE, SPECIES_VIGOROTH, SPECIES_SLAKING}, + .id = 13, + .speechLost = {EC_WORD_I_AM, EC_WORD_TOO_WEAK, EC_WORD_AND, EC_WORD_LOW, EC_WORD_OF, EC_WORD_POWER}, + }, + { + .name = {_("トシミツ"), _("DANTE"), _("DANTE"), _("RAOUL"), _("LOTHAR"), _("PABLO")}, + .otId = 0xBC75, + .facilityClass = FACILITY_CLASS_RUIN_MANIAC, + .species = {SPECIES_SCEPTILE, SPECIES_SANDSLASH, SPECIES_FLYGON, SPECIES_CLAYDOL, SPECIES_ARMALDO, SPECIES_CROBAT, SPECIES_CRADILY, SPECIES_SOLROCK, SPECIES_LUNATONE, SPECIES_GOLEM}, + .id = 14, + .speechLost = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_UNDERSTAND, EC_WORD_WHAT, EC_WORD_IS, EC_WORD_HAPPENING}, + }, + { + .name = {_("ローウェン"), _("ARTURO"), _("ARTURO"), _("ROMOLO"), _("BRIAN"), _("ARTURO")}, + .otId = 0xFA02, + .facilityClass = FACILITY_CLASS_GENTLEMAN, + .species = {SPECIES_ABSOL, SPECIES_MIGHTYENA, SPECIES_ALAKAZAM, SPECIES_BANETTE, SPECIES_NINETALES, SPECIES_CLAYDOL, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_WALREIN, SPECIES_DUSCLOPS}, + .id = 15, + .speechLost = {EC_WORD_THIS, EC_WORD_HAS, EC_WORD_TO, EC_WORD_BE, EC_WORD_A, EC_WORD_LIE}, + }, +}; + +// Sequence of 4 messages for the first meeting with the apprentice +static const u8 *const sApprenticeFirstMeetingTexts[NUM_APPRENTICES][4] = +{ + {gText_ApprenticePleaseTeach0, gText_ApprenticeRejectTeaching0, gText_ApprenticeWhichLevelMode0, gText_ApprenticeLevelModeThanks0}, + {gText_ApprenticePleaseTeach1, gText_ApprenticeRejectTeaching1, gText_ApprenticeWhichLevelMode1, gText_ApprenticeLevelModeThanks1}, + {gText_ApprenticePleaseTeach2, gText_ApprenticeRejectTeaching2, gText_ApprenticeWhichLevelMode2, gText_ApprenticeLevelModeThanks2}, + {gText_ApprenticePleaseTeach3, gText_ApprenticeRejectTeaching3, gText_ApprenticeWhichLevelMode3, gText_ApprenticeLevelModeThanks3}, + {gText_ApprenticePleaseTeach4, gText_ApprenticeRejectTeaching4, gText_ApprenticeWhichLevelMode4, gText_ApprenticeLevelModeThanks4}, + {gText_ApprenticePleaseTeach5, gText_ApprenticeRejectTeaching5, gText_ApprenticeWhichLevelMode5, gText_ApprenticeLevelModeThanks5}, + {gText_ApprenticePleaseTeach6, gText_ApprenticeRejectTeaching6, gText_ApprenticeWhichLevelMode6, gText_ApprenticeLevelModeThanks6}, + {gText_ApprenticePleaseTeach7, gText_ApprenticeRejectTeaching7, gText_ApprenticeWhichLevelMode7, gText_ApprenticeLevelModeThanks7}, + {gText_ApprenticePleaseTeach8, gText_ApprenticeRejectTeaching8, gText_ApprenticeWhichLevelMode8, gText_ApprenticeLevelModeThanks8}, + {gText_ApprenticePleaseTeach9, gText_ApprenticeRejectTeaching9, gText_ApprenticeWhichLevelMode9, gText_ApprenticeLevelModeThanks9}, + {gText_ApprenticePleaseTeach10, gText_ApprenticeRejectTeaching10, gText_ApprenticeWhichLevelMode10, gText_ApprenticeLevelModeThanks10}, + {gText_ApprenticePleaseTeach11, gText_ApprenticeRejectTeaching11, gText_ApprenticeWhichLevelMode11, gText_ApprenticeLevelModeThanks11}, + {gText_ApprenticePleaseTeach12, gText_ApprenticeRejectTeaching12, gText_ApprenticeWhichLevelMode12, gText_ApprenticeLevelModeThanks12}, + {gText_ApprenticePleaseTeach13, gText_ApprenticeRejectTeaching13, gText_ApprenticeWhichLevelMode13, gText_ApprenticeLevelModeThanks13}, + {gText_ApprenticePleaseTeach14, gText_ApprenticeRejectTeaching14, gText_ApprenticeWhichLevelMode14, gText_ApprenticeLevelModeThanks14}, + {gText_ApprenticePleaseTeach15, gText_ApprenticeRejectTeaching15, gText_ApprenticeWhichLevelMode15, gText_ApprenticeLevelModeThanks15}, +}; + +static const u8 *const sApprenticeWhichMonTexts[NUM_APPRENTICES][2] = +{ + {gText_ApprenticeWhichMon0, gText_ApprenticeMonThanks0}, + {gText_ApprenticeWhichMon1, gText_ApprenticeMonThanks1}, + {gText_ApprenticeWhichMon2, gText_ApprenticeMonThanks2}, + {gText_ApprenticeWhichMon3, gText_ApprenticeMonThanks3}, + {gText_ApprenticeWhichMon4, gText_ApprenticeMonThanks4}, + {gText_ApprenticeWhichMon5, gText_ApprenticeMonThanks5}, + {gText_ApprenticeWhichMon6, gText_ApprenticeMonThanks6}, + {gText_ApprenticeWhichMon7, gText_ApprenticeMonThanks7}, + {gText_ApprenticeWhichMon8, gText_ApprenticeMonThanks8}, + {gText_ApprenticeWhichMon9, gText_ApprenticeMonThanks9}, + {gText_ApprenticeWhichMon10, gText_ApprenticeMonThanks10}, + {gText_ApprenticeWhichMon11, gText_ApprenticeMonThanks11}, + {gText_ApprenticeWhichMon12, gText_ApprenticeMonThanks12}, + {gText_ApprenticeWhichMon13, gText_ApprenticeMonThanks13}, + {gText_ApprenticeWhichMon14, gText_ApprenticeMonThanks14}, + {gText_ApprenticeWhichMon15, gText_ApprenticeMonThanks15}, +}; + +// Sequence of 5 messages for suggesting a held item to the apprentice +static const u8 *const sApprenticeHeldItemTexts[NUM_APPRENTICES][5] = +{ + {gText_ApprenticeWhatHeldItem0, gText_ApprenticeHoldNothing0, gText_ApprenticeThanksNoHeldItem0, gText_ApprenticeThanksHeldItem0, gText_ApprenticeItemAlreadyRecommended0}, + {gText_ApprenticeWhatHeldItem1, gText_ApprenticeHoldNothing1, gText_ApprenticeThanksNoHeldItem1, gText_ApprenticeThanksHeldItem1, gText_ApprenticeItemAlreadyRecommended1}, + {gText_ApprenticeWhatHeldItem2, gText_ApprenticeHoldNothing2, gText_ApprenticeThanksNoHeldItem2, gText_ApprenticeThanksHeldItem2, gText_ApprenticeItemAlreadyRecommended2}, + {gText_ApprenticeWhatHeldItem3, gText_ApprenticeHoldNothing3, gText_ApprenticeThanksNoHeldItem3, gText_ApprenticeThanksHeldItem3, gText_ApprenticeItemAlreadyRecommended3}, + {gText_ApprenticeWhatHeldItem4, gText_ApprenticeHoldNothing4, gText_ApprenticeThanksNoHeldItem4, gText_ApprenticeThanksHeldItem4, gText_ApprenticeItemAlreadyRecommended4}, + {gText_ApprenticeWhatHeldItem5, gText_ApprenticeHoldNothing5, gText_ApprenticeThanksNoHeldItem5, gText_ApprenticeThanksHeldItem5, gText_ApprenticeItemAlreadyRecommended5}, + {gText_ApprenticeWhatHeldItem6, gText_ApprenticeHoldNothing6, gText_ApprenticeThanksNoHeldItem6, gText_ApprenticeThanksHeldItem6, gText_ApprenticeItemAlreadyRecommended6}, + {gText_ApprenticeWhatHeldItem7, gText_ApprenticeHoldNothing7, gText_ApprenticeThanksNoHeldItem7, gText_ApprenticeThanksHeldItem7, gText_ApprenticeItemAlreadyRecommended7}, + {gText_ApprenticeWhatHeldItem8, gText_ApprenticeHoldNothing8, gText_ApprenticeThanksNoHeldItem8, gText_ApprenticeThanksHeldItem8, gText_ApprenticeItemAlreadyRecommended8}, + {gText_ApprenticeWhatHeldItem9, gText_ApprenticeHoldNothing9, gText_ApprenticeThanksNoHeldItem9, gText_ApprenticeThanksHeldItem9, gText_ApprenticeItemAlreadyRecommended9}, + {gText_ApprenticeWhatHeldItem10, gText_ApprenticeHoldNothing10, gText_ApprenticeThanksNoHeldItem10, gText_ApprenticeThanksHeldItem10, gText_ApprenticeItemAlreadyRecommended10}, + {gText_ApprenticeWhatHeldItem11, gText_ApprenticeHoldNothing11, gText_ApprenticeThanksNoHeldItem11, gText_ApprenticeThanksHeldItem11, gText_ApprenticeItemAlreadyRecommended11}, + {gText_ApprenticeWhatHeldItem12, gText_ApprenticeHoldNothing12, gText_ApprenticeThanksNoHeldItem12, gText_ApprenticeThanksHeldItem12, gText_ApprenticeItemAlreadyRecommended12}, + {gText_ApprenticeWhatHeldItem13, gText_ApprenticeHoldNothing13, gText_ApprenticeThanksNoHeldItem13, gText_ApprenticeThanksHeldItem13, gText_ApprenticeItemAlreadyRecommended13}, + {gText_ApprenticeWhatHeldItem14, gText_ApprenticeHoldNothing14, gText_ApprenticeThanksNoHeldItem14, gText_ApprenticeThanksHeldItem14, gText_ApprenticeItemAlreadyRecommended14}, + {gText_ApprenticeWhatHeldItem15, gText_ApprenticeHoldNothing15, gText_ApprenticeThanksNoHeldItem15, gText_ApprenticeThanksHeldItem15, gText_ApprenticeItemAlreadyRecommended15}, +}; + +static const u8 *const sApprenticeWhichMoveTexts[NUM_APPRENTICES][2] = +{ + {gText_ApprenticeWhichMove0, gText_ApprenticeMoveThanks0}, + {gText_ApprenticeWhichMove1, gText_ApprenticeMoveThanks1}, + {gText_ApprenticeWhichMove2, gText_ApprenticeMoveThanks2}, + {gText_ApprenticeWhichMove3, gText_ApprenticeMoveThanks3}, + {gText_ApprenticeWhichMove4, gText_ApprenticeMoveThanks4}, + {gText_ApprenticeWhichMove5, gText_ApprenticeMoveThanks5}, + {gText_ApprenticeWhichMove6, gText_ApprenticeMoveThanks6}, + {gText_ApprenticeWhichMove7, gText_ApprenticeMoveThanks7}, + {gText_ApprenticeWhichMove8, gText_ApprenticeMoveThanks8}, + {gText_ApprenticeWhichMove9, gText_ApprenticeMoveThanks9}, + {gText_ApprenticeWhichMove10, gText_ApprenticeMoveThanks10}, + {gText_ApprenticeWhichMove11, gText_ApprenticeMoveThanks11}, + {gText_ApprenticeWhichMove12, gText_ApprenticeMoveThanks12}, + {gText_ApprenticeWhichMove13, gText_ApprenticeMoveThanks13}, + {gText_ApprenticeWhichMove14, gText_ApprenticeMoveThanks14}, + {gText_ApprenticeWhichMove15, gText_ApprenticeMoveThanks15}, +}; + +static const u8 *const sApprenticeWhichMonFirstTexts[NUM_APPRENTICES][2] = +{ + {gText_ApprenticeWhichMonFirst0, gText_ApprenticeMonFirstThanks0}, + {gText_ApprenticeWhichMonFirst1, gText_ApprenticeMonFirstThanks1}, + {gText_ApprenticeWhichMonFirst2, gText_ApprenticeMonFirstThanks2}, + {gText_ApprenticeWhichMonFirst3, gText_ApprenticeMonFirstThanks3}, + {gText_ApprenticeWhichMonFirst4, gText_ApprenticeMonFirstThanks4}, + {gText_ApprenticeWhichMonFirst5, gText_ApprenticeMonFirstThanks5}, + {gText_ApprenticeWhichMonFirst6, gText_ApprenticeMonFirstThanks6}, + {gText_ApprenticeWhichMonFirst7, gText_ApprenticeMonFirstThanks7}, + {gText_ApprenticeWhichMonFirst8, gText_ApprenticeMonFirstThanks8}, + {gText_ApprenticeWhichMonFirst9, gText_ApprenticeMonFirstThanks9}, + {gText_ApprenticeWhichMonFirst10, gText_ApprenticeMonFirstThanks10}, + {gText_ApprenticeWhichMonFirst11, gText_ApprenticeMonFirstThanks11}, + {gText_ApprenticeWhichMonFirst12, gText_ApprenticeMonFirstThanks12}, + {gText_ApprenticeWhichMonFirst13, gText_ApprenticeMonFirstThanks13}, + {gText_ApprenticeWhichMonFirst14, gText_ApprenticeMonFirstThanks14}, + {gText_ApprenticeWhichMonFirst15, gText_ApprenticeMonFirstThanks15}, +}; + +static const u8 *const sApprenticePickWinSpeechTexts[NUM_APPRENTICES][2] = +{ + {gText_ApprenticePickWinSpeech0, gText_ApprenticeWinSpeechThanks0}, + {gText_ApprenticePickWinSpeech1, gText_ApprenticeWinSpeechThanks1}, + {gText_ApprenticePickWinSpeech2, gText_ApprenticeWinSpeechThanks2}, + {gText_ApprenticePickWinSpeech3, gText_ApprenticeWinSpeechThanks3}, + {gText_ApprenticePickWinSpeech4, gText_ApprenticeWinSpeechThanks4}, + {gText_ApprenticePickWinSpeech5, gText_ApprenticeWinSpeechThanks5}, + {gText_ApprenticePickWinSpeech6, gText_ApprenticeWinSpeechThanks6}, + {gText_ApprenticePickWinSpeech7, gText_ApprenticeWinSpeechThanks7}, + {gText_ApprenticePickWinSpeech8, gText_ApprenticeWinSpeechThanks8}, + {gText_ApprenticePickWinSpeech9, gText_ApprenticeWinSpeechThanks9}, + {gText_ApprenticePickWinSpeech10, gText_ApprenticeWinSpeechThanks10}, + {gText_ApprenticePickWinSpeech11, gText_ApprenticeWinSpeechThanks11}, + {gText_ApprenticePickWinSpeech12, gText_ApprenticeWinSpeechThanks12}, + {gText_ApprenticePickWinSpeech13, gText_ApprenticeWinSpeechThanks13}, + {gText_ApprenticePickWinSpeech14, gText_ApprenticeWinSpeechThanks14}, + {gText_ApprenticePickWinSpeech15, gText_ApprenticeWinSpeechThanks15}, +}; + +static const u8 *const sApprenticeChallengeTexts[NUM_APPRENTICES] = +{ + gText_ApprenticeChallenge0, + gText_ApprenticeChallenge1, + gText_ApprenticeChallenge2, + gText_ApprenticeChallenge3, + gText_ApprenticeChallenge4, + gText_ApprenticeChallenge5, + gText_ApprenticeChallenge6, + gText_ApprenticeChallenge7, + gText_ApprenticeChallenge8, + gText_ApprenticeChallenge9, + gText_ApprenticeChallenge10, + gText_ApprenticeChallenge11, + gText_ApprenticeChallenge12, + gText_ApprenticeChallenge13, + gText_ApprenticeChallenge14, + gText_ApprenticeChallenge15, +}; + +// Unclear what the criteria are for valid moves +// Notably, a large percentage of multi-strike moves are not valid +static const bool8 sValidApprenticeMoves[MOVES_COUNT] = +{ + [MOVE_NONE] = FALSE, + [MOVE_POUND] = FALSE, + [MOVE_KARATE_CHOP] = TRUE, + [MOVE_DOUBLE_SLAP] = TRUE, + [MOVE_COMET_PUNCH] = FALSE, + [MOVE_MEGA_PUNCH] = TRUE, + [MOVE_PAY_DAY] = FALSE, + [MOVE_FIRE_PUNCH] = TRUE, + [MOVE_ICE_PUNCH] = TRUE, + [MOVE_THUNDER_PUNCH] = TRUE, + [MOVE_SCRATCH] = FALSE, + [MOVE_VICE_GRIP] = FALSE, + [MOVE_GUILLOTINE] = TRUE, + [MOVE_RAZOR_WIND] = FALSE, + [MOVE_SWORDS_DANCE] = TRUE, + [MOVE_CUT] = FALSE, + [MOVE_GUST] = FALSE, + [MOVE_WING_ATTACK] = FALSE, + [MOVE_WHIRLWIND] = TRUE, + [MOVE_FLY] = TRUE, + [MOVE_BIND] = TRUE, + [MOVE_SLAM] = TRUE, + [MOVE_VINE_WHIP] = FALSE, + [MOVE_STOMP] = TRUE, + [MOVE_DOUBLE_KICK] = TRUE, + [MOVE_MEGA_KICK] = TRUE, + [MOVE_JUMP_KICK] = TRUE, + [MOVE_ROLLING_KICK] = TRUE, + [MOVE_SAND_ATTACK] = TRUE, + [MOVE_HEADBUTT] = TRUE, + [MOVE_HORN_ATTACK] = FALSE, + [MOVE_FURY_ATTACK] = FALSE, + [MOVE_HORN_DRILL] = TRUE, + [MOVE_TACKLE] = FALSE, + [MOVE_BODY_SLAM] = TRUE, + [MOVE_WRAP] = TRUE, + [MOVE_TAKE_DOWN] = TRUE, + [MOVE_THRASH] = TRUE, + [MOVE_DOUBLE_EDGE] = TRUE, + [MOVE_TAIL_WHIP] = FALSE, + [MOVE_POISON_STING] = FALSE, + [MOVE_TWINEEDLE] = TRUE, + [MOVE_PIN_MISSILE] = FALSE, + [MOVE_LEER] = FALSE, + [MOVE_BITE] = TRUE, + [MOVE_GROWL] = FALSE, + [MOVE_ROAR] = TRUE, + [MOVE_SING] = TRUE, + [MOVE_SUPERSONIC] = TRUE, + [MOVE_SONIC_BOOM] = TRUE, + [MOVE_DISABLE] = TRUE, + [MOVE_ACID] = FALSE, + [MOVE_EMBER] = FALSE, + [MOVE_FLAMETHROWER] = TRUE, + [MOVE_MIST] = TRUE, + [MOVE_WATER_GUN] = FALSE, + [MOVE_HYDRO_PUMP] = TRUE, + [MOVE_SURF] = TRUE, + [MOVE_ICE_BEAM] = TRUE, + [MOVE_BLIZZARD] = TRUE, + [MOVE_PSYBEAM] = TRUE, + [MOVE_BUBBLE_BEAM] = FALSE, + [MOVE_AURORA_BEAM] = FALSE, + [MOVE_HYPER_BEAM] = TRUE, + [MOVE_PECK] = FALSE, + [MOVE_DRILL_PECK] = TRUE, + [MOVE_SUBMISSION] = TRUE, + [MOVE_LOW_KICK] = TRUE, + [MOVE_COUNTER] = TRUE, + [MOVE_SEISMIC_TOSS] = TRUE, + [MOVE_STRENGTH] = TRUE, + [MOVE_ABSORB] = FALSE, + [MOVE_MEGA_DRAIN] = FALSE, + [MOVE_LEECH_SEED] = TRUE, + [MOVE_GROWTH] = TRUE, + [MOVE_RAZOR_LEAF] = TRUE, + [MOVE_SOLAR_BEAM] = TRUE, + [MOVE_POISON_POWDER] = TRUE, + [MOVE_STUN_SPORE] = TRUE, + [MOVE_SLEEP_POWDER] = TRUE, + [MOVE_PETAL_DANCE] = TRUE, + [MOVE_STRING_SHOT] = FALSE, + [MOVE_DRAGON_RAGE] = TRUE, + [MOVE_FIRE_SPIN] = TRUE, + [MOVE_THUNDER_SHOCK] = FALSE, + [MOVE_THUNDERBOLT] = TRUE, + [MOVE_THUNDER_WAVE] = TRUE, + [MOVE_THUNDER] = TRUE, + [MOVE_ROCK_THROW] = FALSE, + [MOVE_EARTHQUAKE] = TRUE, + [MOVE_FISSURE] = TRUE, + [MOVE_DIG] = TRUE, + [MOVE_TOXIC] = TRUE, + [MOVE_CONFUSION] = FALSE, + [MOVE_PSYCHIC] = TRUE, + [MOVE_HYPNOSIS] = TRUE, + [MOVE_MEDITATE] = TRUE, + [MOVE_AGILITY] = TRUE, + [MOVE_QUICK_ATTACK] = TRUE, + [MOVE_RAGE] = FALSE, + [MOVE_TELEPORT] = FALSE, + [MOVE_NIGHT_SHADE] = TRUE, + [MOVE_MIMIC] = TRUE, + [MOVE_SCREECH] = TRUE, + [MOVE_DOUBLE_TEAM] = TRUE, + [MOVE_RECOVER] = TRUE, + [MOVE_HARDEN] = TRUE, + [MOVE_MINIMIZE] = TRUE, + [MOVE_SMOKESCREEN] = TRUE, + [MOVE_CONFUSE_RAY] = TRUE, + [MOVE_WITHDRAW] = TRUE, + [MOVE_DEFENSE_CURL] = TRUE, + [MOVE_BARRIER] = TRUE, + [MOVE_LIGHT_SCREEN] = TRUE, + [MOVE_HAZE] = TRUE, + [MOVE_REFLECT] = TRUE, + [MOVE_FOCUS_ENERGY] = TRUE, + [MOVE_BIDE] = FALSE, + [MOVE_METRONOME] = TRUE, + [MOVE_MIRROR_MOVE] = TRUE, + [MOVE_SELF_DESTRUCT] = TRUE, + [MOVE_EGG_BOMB] = TRUE, + [MOVE_LICK] = TRUE, + [MOVE_SMOG] = FALSE, + [MOVE_SLUDGE] = FALSE, + [MOVE_BONE_CLUB] = FALSE, + [MOVE_FIRE_BLAST] = TRUE, + [MOVE_WATERFALL] = TRUE, + [MOVE_CLAMP] = TRUE, + [MOVE_SWIFT] = TRUE, + [MOVE_SKULL_BASH] = TRUE, + [MOVE_SPIKE_CANNON] = FALSE, + [MOVE_CONSTRICT] = FALSE, + [MOVE_AMNESIA] = TRUE, + [MOVE_KINESIS] = TRUE, + [MOVE_SOFT_BOILED] = TRUE, + [MOVE_HI_JUMP_KICK] = TRUE, + [MOVE_GLARE] = TRUE, + [MOVE_DREAM_EATER] = TRUE, + [MOVE_POISON_GAS] = FALSE, + [MOVE_BARRAGE] = FALSE, + [MOVE_LEECH_LIFE] = FALSE, + [MOVE_LOVELY_KISS] = TRUE, + [MOVE_SKY_ATTACK] = TRUE, + [MOVE_TRANSFORM] = TRUE, + [MOVE_BUBBLE] = FALSE, + [MOVE_DIZZY_PUNCH] = TRUE, + [MOVE_SPORE] = TRUE, + [MOVE_FLASH] = TRUE, + [MOVE_PSYWAVE] = TRUE, + [MOVE_SPLASH] = FALSE, + [MOVE_ACID_ARMOR] = TRUE, + [MOVE_CRABHAMMER] = TRUE, + [MOVE_EXPLOSION] = TRUE, + [MOVE_FURY_SWIPES] = FALSE, + [MOVE_BONEMERANG] = TRUE, + [MOVE_REST] = TRUE, + [MOVE_ROCK_SLIDE] = TRUE, + [MOVE_HYPER_FANG] = TRUE, + [MOVE_SHARPEN] = TRUE, + [MOVE_CONVERSION] = TRUE, + [MOVE_TRI_ATTACK] = TRUE, + [MOVE_SUPER_FANG] = TRUE, + [MOVE_SLASH] = TRUE, + [MOVE_SUBSTITUTE] = TRUE, + [MOVE_STRUGGLE] = TRUE, + [MOVE_SKETCH] = TRUE, + [MOVE_TRIPLE_KICK] = TRUE, + [MOVE_THIEF] = TRUE, + [MOVE_SPIDER_WEB] = TRUE, + [MOVE_MIND_READER] = TRUE, + [MOVE_NIGHTMARE] = TRUE, + [MOVE_FLAME_WHEEL] = FALSE, + [MOVE_SNORE] = TRUE, + [MOVE_CURSE] = TRUE, + [MOVE_FLAIL] = TRUE, + [MOVE_CONVERSION_2] = TRUE, + [MOVE_AEROBLAST] = TRUE, + [MOVE_COTTON_SPORE] = TRUE, + [MOVE_REVERSAL] = TRUE, + [MOVE_SPITE] = TRUE, + [MOVE_POWDER_SNOW] = FALSE, + [MOVE_PROTECT] = TRUE, + [MOVE_MACH_PUNCH] = TRUE, + [MOVE_SCARY_FACE] = TRUE, + [MOVE_FAINT_ATTACK] = TRUE, + [MOVE_SWEET_KISS] = TRUE, + [MOVE_BELLY_DRUM] = TRUE, + [MOVE_SLUDGE_BOMB] = TRUE, + [MOVE_MUD_SLAP] = TRUE, + [MOVE_OCTAZOOKA] = TRUE, + [MOVE_SPIKES] = TRUE, + [MOVE_ZAP_CANNON] = TRUE, + [MOVE_FORESIGHT] = TRUE, + [MOVE_DESTINY_BOND] = TRUE, + [MOVE_PERISH_SONG] = TRUE, + [MOVE_ICY_WIND] = TRUE, + [MOVE_DETECT] = TRUE, + [MOVE_BONE_RUSH] = FALSE, + [MOVE_LOCK_ON] = TRUE, + [MOVE_OUTRAGE] = TRUE, + [MOVE_SANDSTORM] = TRUE, + [MOVE_GIGA_DRAIN] = TRUE, + [MOVE_ENDURE] = TRUE, + [MOVE_CHARM] = TRUE, + [MOVE_ROLLOUT] = TRUE, + [MOVE_FALSE_SWIPE] = TRUE, + [MOVE_SWAGGER] = TRUE, + [MOVE_MILK_DRINK] = TRUE, + [MOVE_SPARK] = FALSE, + [MOVE_FURY_CUTTER] = TRUE, + [MOVE_STEEL_WING] = TRUE, + [MOVE_MEAN_LOOK] = TRUE, + [MOVE_ATTRACT] = TRUE, + [MOVE_SLEEP_TALK] = TRUE, + [MOVE_HEAL_BELL] = TRUE, + [MOVE_RETURN] = TRUE, + [MOVE_PRESENT] = TRUE, + [MOVE_FRUSTRATION] = TRUE, + [MOVE_SAFEGUARD] = TRUE, + [MOVE_PAIN_SPLIT] = TRUE, + [MOVE_SACRED_FIRE] = TRUE, + [MOVE_MAGNITUDE] = FALSE, + [MOVE_DYNAMIC_PUNCH] = TRUE, + [MOVE_MEGAHORN] = TRUE, + [MOVE_DRAGON_BREATH] = TRUE, + [MOVE_BATON_PASS] = TRUE, + [MOVE_ENCORE] = TRUE, + [MOVE_PURSUIT] = TRUE, + [MOVE_RAPID_SPIN] = TRUE, + [MOVE_SWEET_SCENT] = TRUE, + [MOVE_IRON_TAIL] = TRUE, + [MOVE_METAL_CLAW] = TRUE, + [MOVE_VITAL_THROW] = TRUE, + [MOVE_MORNING_SUN] = TRUE, + [MOVE_SYNTHESIS] = TRUE, + [MOVE_MOONLIGHT] = TRUE, + [MOVE_HIDDEN_POWER] = TRUE, + [MOVE_CROSS_CHOP] = TRUE, + [MOVE_TWISTER] = FALSE, + [MOVE_RAIN_DANCE] = TRUE, + [MOVE_SUNNY_DAY] = TRUE, + [MOVE_CRUNCH] = TRUE, + [MOVE_MIRROR_COAT] = TRUE, + [MOVE_PSYCH_UP] = TRUE, + [MOVE_EXTREME_SPEED] = TRUE, + [MOVE_ANCIENT_POWER] = TRUE, + [MOVE_SHADOW_BALL] = TRUE, + [MOVE_FUTURE_SIGHT] = TRUE, + [MOVE_ROCK_SMASH] = TRUE, + [MOVE_WHIRLPOOL] = TRUE, + [MOVE_BEAT_UP] = TRUE, + [MOVE_FAKE_OUT] = TRUE, + [MOVE_UPROAR] = TRUE, + [MOVE_STOCKPILE] = TRUE, + [MOVE_SPIT_UP] = TRUE, + [MOVE_SWALLOW] = TRUE, + [MOVE_HEAT_WAVE] = TRUE, + [MOVE_HAIL] = TRUE, + [MOVE_TORMENT] = TRUE, + [MOVE_FLATTER] = TRUE, + [MOVE_WILL_O_WISP] = TRUE, + [MOVE_MEMENTO] = TRUE, + [MOVE_FACADE] = TRUE, + [MOVE_FOCUS_PUNCH] = TRUE, + [MOVE_SMELLING_SALT] = TRUE, + [MOVE_FOLLOW_ME] = TRUE, + [MOVE_NATURE_POWER] = TRUE, + [MOVE_CHARGE] = TRUE, + [MOVE_TAUNT] = TRUE, + [MOVE_HELPING_HAND] = TRUE, + [MOVE_TRICK] = TRUE, + [MOVE_ROLE_PLAY] = TRUE, + [MOVE_WISH] = TRUE, + [MOVE_ASSIST] = TRUE, + [MOVE_INGRAIN] = TRUE, + [MOVE_SUPERPOWER] = TRUE, + [MOVE_MAGIC_COAT] = TRUE, + [MOVE_RECYCLE] = TRUE, + [MOVE_REVENGE] = TRUE, + [MOVE_BRICK_BREAK] = TRUE, + [MOVE_YAWN] = TRUE, + [MOVE_KNOCK_OFF] = TRUE, + [MOVE_ENDEAVOR] = TRUE, + [MOVE_ERUPTION] = TRUE, + [MOVE_SKILL_SWAP] = TRUE, + [MOVE_IMPRISON] = TRUE, + [MOVE_REFRESH] = TRUE, + [MOVE_GRUDGE] = TRUE, + [MOVE_SNATCH] = TRUE, + [MOVE_SECRET_POWER] = TRUE, + [MOVE_DIVE] = TRUE, + [MOVE_ARM_THRUST] = FALSE, + [MOVE_CAMOUFLAGE] = TRUE, + [MOVE_TAIL_GLOW] = TRUE, + [MOVE_LUSTER_PURGE] = TRUE, + [MOVE_MIST_BALL] = TRUE, + [MOVE_FEATHER_DANCE] = TRUE, + [MOVE_TEETER_DANCE] = TRUE, + [MOVE_BLAZE_KICK] = TRUE, + [MOVE_MUD_SPORT] = TRUE, + [MOVE_ICE_BALL] = FALSE, + [MOVE_NEEDLE_ARM] = TRUE, + [MOVE_SLACK_OFF] = TRUE, + [MOVE_HYPER_VOICE] = TRUE, + [MOVE_POISON_FANG] = FALSE, + [MOVE_CRUSH_CLAW] = TRUE, + [MOVE_BLAST_BURN] = TRUE, + [MOVE_HYDRO_CANNON] = TRUE, + [MOVE_METEOR_MASH] = TRUE, + [MOVE_ASTONISH] = TRUE, + [MOVE_WEATHER_BALL] = TRUE, + [MOVE_AROMATHERAPY] = TRUE, + [MOVE_FAKE_TEARS] = TRUE, + [MOVE_AIR_CUTTER] = TRUE, + [MOVE_OVERHEAT] = TRUE, + [MOVE_ODOR_SLEUTH] = TRUE, + [MOVE_ROCK_TOMB] = TRUE, + [MOVE_SILVER_WIND] = TRUE, + [MOVE_METAL_SOUND] = TRUE, + [MOVE_GRASS_WHISTLE] = TRUE, + [MOVE_TICKLE] = TRUE, + [MOVE_COSMIC_POWER] = TRUE, + [MOVE_WATER_SPOUT] = TRUE, + [MOVE_SIGNAL_BEAM] = TRUE, + [MOVE_SHADOW_PUNCH] = TRUE, + [MOVE_EXTRASENSORY] = TRUE, + [MOVE_SKY_UPPERCUT] = TRUE, + [MOVE_SAND_TOMB] = TRUE, + [MOVE_SHEER_COLD] = TRUE, + [MOVE_MUDDY_WATER] = TRUE, + [MOVE_BULLET_SEED] = FALSE, + [MOVE_AERIAL_ACE] = TRUE, + [MOVE_ICICLE_SPEAR] = FALSE, + [MOVE_IRON_DEFENSE] = TRUE, + [MOVE_BLOCK] = TRUE, + [MOVE_HOWL] = TRUE, + [MOVE_DRAGON_CLAW] = TRUE, + [MOVE_FRENZY_PLANT] = TRUE, + [MOVE_BULK_UP] = TRUE, + [MOVE_BOUNCE] = TRUE, + [MOVE_MUD_SHOT] = FALSE, + [MOVE_POISON_TAIL] = TRUE, + [MOVE_COVET] = TRUE, + [MOVE_VOLT_TACKLE] = TRUE, + [MOVE_MAGICAL_LEAF] = TRUE, + [MOVE_WATER_SPORT] = TRUE, + [MOVE_CALM_MIND] = TRUE, + [MOVE_LEAF_BLADE] = TRUE, + [MOVE_DRAGON_DANCE] = TRUE, + [MOVE_ROCK_BLAST] = FALSE, + [MOVE_SHOCK_WAVE] = TRUE, + [MOVE_WATER_PULSE] = TRUE, + [MOVE_DOOM_DESIRE] = TRUE, + [MOVE_PSYCHO_BOOST] = TRUE, +}; + +// The possible questions to ask after the initial 3 WHICH MON questions. Retrieved from here and shuffled +// WHAT_ITEM has max 3 occurrences, one for each party member +// WHICH_MOVE has max 5 occurrences, defined as NUM_WHICH_MOVE_QUESTIONS +// WHICH_FIRST has max 1 occurrence, lead mon should only be chosen once +// WHICH_SPEECH has max 1 occurrence, as the apprentice leaves after its asked +static const u8 sQuestionPossibilities[MAX_APPRENTICE_QUESTIONS] = +{ + QUESTION_ID_WHAT_ITEM, + QUESTION_ID_WHAT_ITEM, + QUESTION_ID_WHAT_ITEM, + QUESTION_ID_WHICH_MOVE, + QUESTION_ID_WHICH_MOVE, + QUESTION_ID_WHICH_MOVE, + QUESTION_ID_WHICH_MOVE, + QUESTION_ID_WHICH_MOVE, + QUESTION_ID_WHICH_FIRST, + QUESTION_ID_WIN_SPEECH +}; + +static void (* const sApprenticeFunctions[])(void) = +{ + [APPRENTICE_FUNC_GAVE_LVLMODE] = Script_GivenApprenticeLvlMode, + [APPRENTICE_FUNC_SET_LVLMODE] = Script_SetApprenticeLvlMode, + [APPRENTICE_FUNC_SET_ID] = Script_SetApprenticeId, + [APPRENTICE_FUNC_SHUFFLE_SPECIES] = ShuffleApprenticeSpecies, + [APPRENTICE_FUNC_RANDOMIZE_QUESTIONS] = Script_SetRandomQuestionData, + [APPRENTICE_FUNC_ANSWERED_QUESTION] = IncrementQuestionsAnswered, + [APPRENTICE_FUNC_IS_FINAL_QUESTION] = IsFinalQuestion, + [APPRENTICE_FUNC_MENU] = Script_CreateApprenticeMenu, + [APPRENTICE_FUNC_PRINT_MSG] = Script_PrintApprenticeMessage, + [APPRENTICE_FUNC_RESET] = Script_ResetPlayerApprentice, + [APPRENTICE_FUNC_CHECK_GONE] = GetShouldCheckApprenticeGone, + [APPRENTICE_FUNC_GET_QUESTION] = ApprenticeGetQuestion, + [APPRENTICE_FUNC_GET_NUM_PARTY_MONS] = GetNumApprenticePartyMonsAssigned, + [APPRENTICE_FUNC_SET_PARTY_MON] = SetApprenticePartyMon, + [APPRENTICE_FUNC_INIT_QUESTION_DATA] = InitQuestionData, + [APPRENTICE_FUNC_FREE_QUESTION_DATA] = FreeQuestionData, + [APPRENTICE_FUNC_BUFFER_STRING] = ApprenticeBufferString, + [APPRENTICE_FUNC_SET_MOVE] = SetApprenticeMonMove, + [APPRENTICE_FUNC_SET_LEAD_MON] = SetLeadApprenticeMon, + [APPRENTICE_FUNC_OPEN_BAG] = Script_ApprenticeOpenBagMenu, + [APPRENTICE_FUNC_TRY_SET_HELD_ITEM] = TrySetApprenticeHeldItem, + [APPRENTICE_FUNC_SAVE] = SaveApprentice, + [APPRENTICE_FUNC_SET_GFX_SAVED] = SetSavedApprenticeTrainerGfxId, + [APPRENTICE_FUNC_SET_GFX] = SetPlayerApprenticeTrainerGfxId, + [APPRENTICE_FUNC_SHOULD_LEAVE] = GetShouldApprenticeLeave, + [APPRENTICE_FUNC_SHIFT_SAVED] = ShiftSavedApprentices, +}; + +// The first Apprentice can only be one of these +static const u8 sInitialApprenticeIds[8] = {0, 1, 2, 3, 6, 7, 8, 9}; diff --git a/src/data/battle_frontier/battle_frontier_exchange_corner.h b/src/data/battle_frontier/battle_frontier_exchange_corner.h new file mode 100644 index 0000000000..d29dbdc445 --- /dev/null +++ b/src/data/battle_frontier/battle_frontier_exchange_corner.h @@ -0,0 +1,99 @@ +static const u16 sFrontierExchangeCorner_Decor1[] = +{ + DECOR_KISS_POSTER, + DECOR_KISS_CUSHION, + DECOR_SMOOCHUM_DOLL, + DECOR_TOGEPI_DOLL, + DECOR_MEOWTH_DOLL, + DECOR_CLEFAIRY_DOLL, + DECOR_DITTO_DOLL, + DECOR_CYNDAQUIL_DOLL, + DECOR_CHIKORITA_DOLL, + DECOR_TOTODILE_DOLL, + 0xFFFF +}; + +static const u16 sFrontierExchangeCorner_Decor2[] = +{ + DECOR_LAPRAS_DOLL, + DECOR_SNORLAX_DOLL, + DECOR_VENUSAUR_DOLL, + DECOR_CHARIZARD_DOLL, + DECOR_BLASTOISE_DOLL, + 0xFFFF +}; + +static const u16 sFrontierExchangeCorner_Vitamins[] = +{ + ITEM_PROTEIN, + ITEM_CALCIUM, + ITEM_IRON, + ITEM_ZINC, + ITEM_CARBOS, + ITEM_HP_UP, + 0xFFFF +}; + +static const u16 sFrontierExchangeCorner_HoldItems[] = +{ + ITEM_LEFTOVERS, + ITEM_WHITE_HERB, + ITEM_QUICK_CLAW, + ITEM_MENTAL_HERB, + ITEM_BRIGHT_POWDER, + ITEM_CHOICE_BAND, + ITEM_KINGS_ROCK, + ITEM_FOCUS_BAND, + ITEM_SCOPE_LENS, + 0xFFFF +}; + +static const u8 *const sFrontierExchangeCorner_Decor1Descriptions[] = +{ + BattleFrontier_ExchangeServiceCorner_Text_KissPosterDesc, + BattleFrontier_ExchangeServiceCorner_Text_KissCushionDesc, + BattleFrontier_ExchangeServiceCorner_Text_SmoochumDollDesc, + BattleFrontier_ExchangeServiceCorner_Text_TogepiDollDesc, + BattleFrontier_ExchangeServiceCorner_Text_MeowthDollDesc, + BattleFrontier_ExchangeServiceCorner_Text_ClefairyDollDesc, + BattleFrontier_ExchangeServiceCorner_Text_DittoDollDesc, + BattleFrontier_ExchangeServiceCorner_Text_CyndaquilDollDesc, + BattleFrontier_ExchangeServiceCorner_Text_ChikoritaDollDesc, + BattleFrontier_ExchangeServiceCorner_Text_TotodileDollDesc, + gText_Exit, +}; + +static const u8 *const sFrontierExchangeCorner_Decor2Descriptions[] = +{ + BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc, + BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc, + BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc, + BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc, + BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc, + gText_Exit +}; + +static const u8 *const sFrontierExchangeCorner_VitaminsDescriptions[] = +{ + BattleFrontier_ExchangeServiceCorner_Text_ProteinDesc, + BattleFrontier_ExchangeServiceCorner_Text_CalciumDesc, + BattleFrontier_ExchangeServiceCorner_Text_IronDesc, + BattleFrontier_ExchangeServiceCorner_Text_ZincDesc, + BattleFrontier_ExchangeServiceCorner_Text_CarbosDesc, + BattleFrontier_ExchangeServiceCorner_Text_HPUpDesc, + gText_Exit +}; + +static const u8 *const sFrontierExchangeCorner_HoldItemsDescriptions[] = +{ + BattleFrontier_ExchangeServiceCorner_Text_LeftoversDesc, + BattleFrontier_ExchangeServiceCorner_Text_WhiteHerbDesc, + BattleFrontier_ExchangeServiceCorner_Text_QuickClawDesc, + BattleFrontier_ExchangeServiceCorner_Text_MentalHerbDesc, + BattleFrontier_ExchangeServiceCorner_Text_BrightpowderDesc, + BattleFrontier_ExchangeServiceCorner_Text_ChoiceBandDesc, + BattleFrontier_ExchangeServiceCorner_Text_KingsRockDesc, + BattleFrontier_ExchangeServiceCorner_Text_FocusBandDesc, + BattleFrontier_ExchangeServiceCorner_Text_ScopeLensDesc, + gText_Exit +}; diff --git a/src/data/battle_frontier/battle_frontier_mons.h b/src/data/battle_frontier/battle_frontier_mons.h index 44cfb80363..d94d6acaf3 100644 --- a/src/data/battle_frontier/battle_frontier_mons.h +++ b/src/data/battle_frontier/battle_frontier_mons.h @@ -1,6173 +1,6173 @@ -const struct FacilityMon gBattleFrontierMons[] = +const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] = { - [0] = { + [FRONTIER_MON_SUNKERN] = { .species = SPECIES_SUNKERN, .moves = {MOVE_MEGA_DRAIN, MOVE_HELPING_HAND, MOVE_SUNNY_DAY, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [1] = { + [FRONTIER_MON_AZURILL] = { .species = SPECIES_AZURILL, .moves = {MOVE_WATER_PULSE, MOVE_ATTRACT, MOVE_SING, MOVE_CHARM}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RASH }, - [2] = { + [FRONTIER_MON_CATERPIE] = { .species = SPECIES_CATERPIE, .moves = {MOVE_TACKLE, MOVE_STRING_SHOT, MOVE_NONE, MOVE_NONE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [3] = { + [FRONTIER_MON_WEEDLE] = { .species = SPECIES_WEEDLE, .moves = {MOVE_POISON_STING, MOVE_STRING_SHOT, MOVE_NONE, MOVE_NONE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [4] = { + [FRONTIER_MON_WURMPLE] = { .species = SPECIES_WURMPLE, .moves = {MOVE_TACKLE, MOVE_STRING_SHOT, MOVE_POISON_STING, MOVE_NONE}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [5] = { + [FRONTIER_MON_RALTS] = { .species = SPECIES_RALTS, .moves = {MOVE_CONFUSION, MOVE_IMPRISON, MOVE_DOUBLE_TEAM, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [6] = { + [FRONTIER_MON_MAGIKARP] = { .species = SPECIES_MAGIKARP, .moves = {MOVE_FLAIL, MOVE_NONE, MOVE_NONE, MOVE_NONE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [7] = { + [FRONTIER_MON_FEEBAS] = { .species = SPECIES_FEEBAS, .moves = {MOVE_FLAIL, MOVE_MIRROR_COAT, MOVE_NONE, MOVE_NONE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_LONELY }, - [8] = { + [FRONTIER_MON_METAPOD] = { .species = SPECIES_METAPOD, .moves = {MOVE_HARDEN, MOVE_NONE, MOVE_NONE, MOVE_NONE}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BASHFUL }, - [9] = { + [FRONTIER_MON_KAKUNA] = { .species = SPECIES_KAKUNA, .moves = {MOVE_HARDEN, MOVE_NONE, MOVE_NONE, MOVE_NONE}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BASHFUL }, - [10] = { + [FRONTIER_MON_PICHU] = { .species = SPECIES_PICHU, .moves = {MOVE_SWEET_KISS, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_SHOCK_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RASH }, - [11] = { + [FRONTIER_MON_SILCOON] = { .species = SPECIES_SILCOON, .moves = {MOVE_HARDEN, MOVE_NONE, MOVE_NONE, MOVE_NONE}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BASHFUL }, - [12] = { + [FRONTIER_MON_CASCOON] = { .species = SPECIES_CASCOON, .moves = {MOVE_HARDEN, MOVE_NONE, MOVE_NONE, MOVE_NONE}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BASHFUL }, - [13] = { + [FRONTIER_MON_IGGLYBUFF] = { .species = SPECIES_IGGLYBUFF, .moves = {MOVE_SWEET_KISS, MOVE_SING, MOVE_ATTRACT, MOVE_SEISMIC_TOSS}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [14] = { + [FRONTIER_MON_WOOPER] = { .species = SPECIES_WOOPER, .moves = {MOVE_YAWN, MOVE_DIG, MOVE_WATER_PULSE, MOVE_RAIN_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [15] = { + [FRONTIER_MON_TYROGUE] = { .species = SPECIES_TYROGUE, .moves = {MOVE_MACH_PUNCH, MOVE_PROTECT, MOVE_DOUBLE_TEAM, MOVE_FACADE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [16] = { + [FRONTIER_MON_SENTRET] = { .species = SPECIES_SENTRET, .moves = {MOVE_QUICK_ATTACK, MOVE_FOLLOW_ME, MOVE_HELPING_HAND, MOVE_ASSIST}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [17] = { + [FRONTIER_MON_CLEFFA] = { .species = SPECIES_CLEFFA, .moves = {MOVE_SWEET_KISS, MOVE_SING, MOVE_ATTRACT, MOVE_METRONOME}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_SERIOUS }, - [18] = { + [FRONTIER_MON_SEEDOT] = { .species = SPECIES_SEEDOT, .moves = {MOVE_BULLET_SEED, MOVE_BIDE, MOVE_DEFENSE_CURL, MOVE_ROLLOUT}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [19] = { + [FRONTIER_MON_LOTAD] = { .species = SPECIES_LOTAD, .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_SUNNY_DAY, MOVE_MEGA_DRAIN}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [20] = { + [FRONTIER_MON_POOCHYENA] = { .species = SPECIES_POOCHYENA, .moves = {MOVE_CRUNCH, MOVE_SWAGGER, MOVE_ROAR, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [21] = { + [FRONTIER_MON_SHEDINJA] = { .species = SPECIES_SHEDINJA, .moves = {MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY, MOVE_SILVER_WIND, MOVE_GRUDGE}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_NAIVE }, - [22] = { + [FRONTIER_MON_MAKUHITA] = { .species = SPECIES_MAKUHITA, .moves = {MOVE_FAKE_OUT, MOVE_SEISMIC_TOSS, MOVE_DETECT, MOVE_WHIRLWIND}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [23] = { + [FRONTIER_MON_WHISMUR] = { .species = SPECIES_WHISMUR, .moves = {MOVE_UPROAR, MOVE_SWAGGER, MOVE_BODY_SLAM, MOVE_SMELLING_SALT}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [24] = { + [FRONTIER_MON_ZIGZAGOON] = { .species = SPECIES_ZIGZAGOON, .moves = {MOVE_HEADBUTT, MOVE_PIN_MISSILE, MOVE_SWIFT, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_TIMID }, - [25] = { + [FRONTIER_MON_ZUBAT] = { .species = SPECIES_ZUBAT, .moves = {MOVE_POISON_FANG, MOVE_WHIRLWIND, MOVE_CONFUSE_RAY, MOVE_AERIAL_ACE}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_SASSY }, - [26] = { + [FRONTIER_MON_TOGEPI] = { .species = SPECIES_TOGEPI, .moves = {MOVE_RETURN, MOVE_YAWN, MOVE_WISH, MOVE_SWEET_KISS}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [27] = { + [FRONTIER_MON_SPINARAK] = { .species = SPECIES_SPINARAK, .moves = {MOVE_SIGNAL_BEAM, MOVE_NIGHT_SHADE, MOVE_SPIDER_WEB, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [28] = { + [FRONTIER_MON_MARILL] = { .species = SPECIES_MARILL, .moves = {MOVE_WATER_PULSE, MOVE_RAIN_DANCE, MOVE_LIGHT_SCREEN, MOVE_RETURN}, .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_GENTLE }, - [29] = { + [FRONTIER_MON_HOPPIP] = { .species = SPECIES_HOPPIP, .moves = {MOVE_MEGA_DRAIN, MOVE_LEECH_SEED, MOVE_SLEEP_POWDER, MOVE_STUN_SPORE}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_LAX }, - [30] = { + [FRONTIER_MON_SLUGMA] = { .species = SPECIES_SLUGMA, .moves = {MOVE_EMBER, MOVE_ROCK_SLIDE, MOVE_YAWN, MOVE_BODY_SLAM}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_SASSY }, - [31] = { + [FRONTIER_MON_SWINUB] = { .species = SPECIES_SWINUB, .moves = {MOVE_ICY_WIND, MOVE_DIG, MOVE_ROCK_TOMB, MOVE_ENDURE}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_GENTLE }, - [32] = { + [FRONTIER_MON_SMEARGLE] = { .species = SPECIES_SMEARGLE, .moves = {MOVE_EXTREME_SPEED, MOVE_FAKE_OUT, MOVE_QUICK_ATTACK, MOVE_MACH_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [33] = { + [FRONTIER_MON_PIDGEY] = { .species = SPECIES_PIDGEY, .moves = {MOVE_GUST, MOVE_SAND_ATTACK, MOVE_WHIRLWIND, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_LONELY }, - [34] = { + [FRONTIER_MON_RATTATA] = { .species = SPECIES_RATTATA, .moves = {MOVE_HYPER_FANG, MOVE_PURSUIT, MOVE_QUICK_ATTACK, MOVE_SWAGGER}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [35] = { + [FRONTIER_MON_WYNAUT] = { .species = SPECIES_WYNAUT, .moves = {MOVE_ENCORE, MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_CHARM}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_JOLLY }, - [36] = { + [FRONTIER_MON_SKITTY] = { .species = SPECIES_SKITTY, .moves = {MOVE_SING, MOVE_ATTRACT, MOVE_CHARM, MOVE_DOUBLE_SLAP}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [37] = { + [FRONTIER_MON_SPEAROW] = { .species = SPECIES_SPEAROW, .moves = {MOVE_FURY_ATTACK, MOVE_PURSUIT, MOVE_MIRROR_MOVE, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [38] = { + [FRONTIER_MON_HOOTHOOT] = { .species = SPECIES_HOOTHOOT, .moves = {MOVE_CONFUSION, MOVE_HYPNOSIS, MOVE_SUPERSONIC, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [39] = { + [FRONTIER_MON_DIGLETT] = { .species = SPECIES_DIGLETT, .moves = {MOVE_MAGNITUDE, MOVE_SLASH, MOVE_ROCK_TOMB, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_NAIVE }, - [40] = { + [FRONTIER_MON_LEDYBA] = { .species = SPECIES_LEDYBA, .moves = {MOVE_PSYBEAM, MOVE_AGILITY, MOVE_BATON_PASS, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_BASHFUL }, - [41] = { + [FRONTIER_MON_NINCADA] = { .species = SPECIES_NINCADA, .moves = {MOVE_MUD_SLAP, MOVE_DIG, MOVE_TOXIC, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_CALM }, - [42] = { + [FRONTIER_MON_SURSKIT] = { .species = SPECIES_SURSKIT, .moves = {MOVE_BUBBLE_BEAM, MOVE_RAIN_DANCE, MOVE_SWEET_SCENT, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [43] = { + [FRONTIER_MON_JIGGLYPUFF] = { .species = SPECIES_JIGGLYPUFF, .moves = {MOVE_SING, MOVE_WISH, MOVE_MIMIC, MOVE_DOUBLE_SLAP}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [44] = { + [FRONTIER_MON_TAILLOW] = { .species = SPECIES_TAILLOW, .moves = {MOVE_FLY, MOVE_QUICK_ATTACK, MOVE_ENDEAVOR, MOVE_FOCUS_ENERGY}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_GENTLE }, - [45] = { + [FRONTIER_MON_WINGULL] = { .species = SPECIES_WINGULL, .moves = {MOVE_WATER_PULSE, MOVE_FLY, MOVE_QUICK_ATTACK, MOVE_STEEL_WING}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [46] = { + [FRONTIER_MON_NIDORAN_M] = { .species = SPECIES_NIDORAN_M, .moves = {MOVE_DOUBLE_KICK, MOVE_POISON_STING, MOVE_DISABLE, MOVE_HELPING_HAND}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [47] = { + [FRONTIER_MON_NIDORAN_F] = { .species = SPECIES_NIDORAN_F, .moves = {MOVE_CRUNCH, MOVE_DOUBLE_KICK, MOVE_FLATTER, MOVE_HELPING_HAND}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [48] = { + [FRONTIER_MON_KIRLIA] = { .species = SPECIES_KIRLIA, .moves = {MOVE_CONFUSION, MOVE_WILL_O_WISP, MOVE_FUTURE_SIGHT, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [49] = { + [FRONTIER_MON_MAREEP] = { .species = SPECIES_MAREEP, .moves = {MOVE_SHOCK_WAVE, MOVE_FLASH, MOVE_REFLECT, MOVE_COTTON_SPORE}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [50] = { + [FRONTIER_MON_MEDITITE] = { .species = SPECIES_MEDITITE, .moves = {MOVE_HI_JUMP_KICK, MOVE_MEDITATE, MOVE_SWAGGER, MOVE_PSYCH_UP}, .itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_NAUGHTY }, - [51] = { + [FRONTIER_MON_SLAKOTH] = { .species = SPECIES_SLAKOTH, .moves = {MOVE_YAWN, MOVE_SCRATCH, MOVE_ENCORE, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [52] = { + [FRONTIER_MON_PARAS] = { .species = SPECIES_PARAS, .moves = {MOVE_SPORE, MOVE_LEECH_LIFE, MOVE_SLASH, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [53] = { + [FRONTIER_MON_EKANS] = { .species = SPECIES_EKANS, .moves = {MOVE_ACID, MOVE_DIG, MOVE_SCREECH, MOVE_TORMENT}, .itemTableId = BATTLE_FRONTIER_ITEM_POISON_BARB, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [54] = { + [FRONTIER_MON_DITTO] = { .species = SPECIES_DITTO, .moves = {MOVE_TRANSFORM, MOVE_NONE, MOVE_NONE, MOVE_NONE}, .itemTableId = BATTLE_FRONTIER_ITEM_METAL_POWDER, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [55] = { + [FRONTIER_MON_BARBOACH] = { .species = SPECIES_BARBOACH, .moves = {MOVE_MAGNITUDE, MOVE_WATER_PULSE, MOVE_SPARK, MOVE_FUTURE_SIGHT}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_BASHFUL }, - [56] = { + [FRONTIER_MON_MEOWTH] = { .species = SPECIES_MEOWTH, .moves = {MOVE_SLASH, MOVE_BITE, MOVE_SCREECH, MOVE_FAKE_OUT}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [57] = { + [FRONTIER_MON_PINECO] = { .species = SPECIES_PINECO, .moves = {MOVE_SELF_DESTRUCT, MOVE_TAKE_DOWN, MOVE_REFLECT, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [58] = { + [FRONTIER_MON_TRAPINCH] = { .species = SPECIES_TRAPINCH, .moves = {MOVE_TOXIC, MOVE_DIG, MOVE_SANDSTORM, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_SERIOUS }, - [59] = { + [FRONTIER_MON_SPHEAL] = { .species = SPECIES_SPHEAL, .moves = {MOVE_ICE_BALL, MOVE_WATER_PULSE, MOVE_HAIL, MOVE_MUD_SLAP}, .itemTableId = BATTLE_FRONTIER_ITEM_NEVER_MELT_ICE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [60] = { + [FRONTIER_MON_HORSEA] = { .species = SPECIES_HORSEA, .moves = {MOVE_WATER_GUN, MOVE_AGILITY, MOVE_ICY_WIND, MOVE_TWISTER}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [61] = { + [FRONTIER_MON_SHROOMISH] = { .species = SPECIES_SHROOMISH, .moves = {MOVE_SPORE, MOVE_BULLET_SEED, MOVE_LEECH_SEED, MOVE_HEADBUTT}, .itemTableId = BATTLE_FRONTIER_ITEM_MIRACLE_SEED, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [62] = { + [FRONTIER_MON_SHUPPET] = { .species = SPECIES_SHUPPET, .moves = {MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_GRUDGE, MOVE_KNOCK_OFF}, .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RASH }, - [63] = { + [FRONTIER_MON_DUSKULL] = { .species = SPECIES_DUSKULL, .moves = {MOVE_SKILL_SWAP, MOVE_NIGHT_SHADE, MOVE_DISABLE, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [64] = { + [FRONTIER_MON_ELECTRIKE] = { .species = SPECIES_ELECTRIKE, .moves = {MOVE_SPARK, MOVE_THUNDER_WAVE, MOVE_ROAR, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [65] = { + [FRONTIER_MON_VULPIX] = { .species = SPECIES_VULPIX, .moves = {MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_FIRE_SPIN, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [66] = { + [FRONTIER_MON_PIKACHU] = { .species = SPECIES_PIKACHU, .moves = {MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, MOVE_DOUBLE_TEAM, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_LIGHT_BALL, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [67] = { + [FRONTIER_MON_SANDSHREW] = { .species = SPECIES_SANDSHREW, .moves = {MOVE_DIG, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [68] = { + [FRONTIER_MON_POLIWAG] = { .species = SPECIES_POLIWAG, .moves = {MOVE_HYPNOSIS, MOVE_ICY_WIND, MOVE_WATER_GUN, MOVE_RAIN_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [69] = { + [FRONTIER_MON_BELLSPROUT] = { .species = SPECIES_BELLSPROUT, .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_STUN_SPORE, MOVE_WRAP}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_LAX }, - [70] = { + [FRONTIER_MON_GEODUDE] = { .species = SPECIES_GEODUDE, .moves = {MOVE_MAGNITUDE, MOVE_ROCK_BLAST, MOVE_STRENGTH, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_BRAVE }, - [71] = { + [FRONTIER_MON_DRATINI] = { .species = SPECIES_DRATINI, .moves = {MOVE_OUTRAGE, MOVE_THUNDER_WAVE, MOVE_SUPERSONIC, MOVE_WATER_PULSE}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [72] = { + [FRONTIER_MON_SNUBBULL] = { .species = SPECIES_SNUBBULL, .moves = {MOVE_BITE, MOVE_CHARM, MOVE_SWAGGER, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [73] = { + [FRONTIER_MON_REMORAID] = { .species = SPECIES_REMORAID, .moves = {MOVE_BUBBLE_BEAM, MOVE_AURORA_BEAM, MOVE_PSYBEAM, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_QUIRKY }, - [74] = { + [FRONTIER_MON_LARVITAR] = { .species = SPECIES_LARVITAR, .moves = {MOVE_THRASH, MOVE_ROCK_SLIDE, MOVE_DIG, MOVE_DRAGON_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_NAUGHTY }, - [75] = { + [FRONTIER_MON_BALTOY] = { .species = SPECIES_BALTOY, .moves = {MOVE_PSYBEAM, MOVE_ANCIENT_POWER, MOVE_LIGHT_SCREEN, MOVE_MUD_SLAP}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_NAUGHTY }, - [76] = { + [FRONTIER_MON_SNORUNT] = { .species = SPECIES_SNORUNT, .moves = {MOVE_ICY_WIND, MOVE_HEADBUTT, MOVE_LEER, MOVE_BITE}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_BRAVE }, - [77] = { + [FRONTIER_MON_BAGON] = { .species = SPECIES_BAGON, .moves = {MOVE_DRAGON_BREATH, MOVE_HEADBUTT, MOVE_BRICK_BREAK, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_NAUGHTY }, - [78] = { + [FRONTIER_MON_BELDUM] = { .species = SPECIES_BELDUM, .moves = {MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE, MOVE_NONE}, .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [79] = { + [FRONTIER_MON_GULPIN] = { .species = SPECIES_GULPIN, .moves = {MOVE_TOXIC, MOVE_YAWN, MOVE_PAIN_SPLIT, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_SERIOUS }, - [80] = { + [FRONTIER_MON_VENONAT] = { .species = SPECIES_VENONAT, .moves = {MOVE_PSYBEAM, MOVE_SUPERSONIC, MOVE_STUN_SPORE, MOVE_SKILL_SWAP}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [81] = { + [FRONTIER_MON_MANKEY] = { .species = SPECIES_MANKEY, .moves = {MOVE_KARATE_CHOP, MOVE_LOW_KICK, MOVE_SCREECH, MOVE_SWAGGER}, .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_NAUGHTY }, - [82] = { + [FRONTIER_MON_MACHOP] = { .species = SPECIES_MACHOP, .moves = {MOVE_SEISMIC_TOSS, MOVE_REVENGE, MOVE_ROCK_TOMB, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [83] = { + [FRONTIER_MON_SHELLDER] = { .species = SPECIES_SHELLDER, .moves = {MOVE_ICICLE_SPEAR, MOVE_SUPERSONIC, MOVE_CLAMP, MOVE_WITHDRAW}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [84] = { + [FRONTIER_MON_SMOOCHUM] = { .species = SPECIES_SMOOCHUM, .moves = {MOVE_SWEET_KISS, MOVE_SING, MOVE_MUD_SLAP, MOVE_FAKE_OUT}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [85] = { + [FRONTIER_MON_NUMEL] = { .species = SPECIES_NUMEL, .moves = {MOVE_EMBER, MOVE_MAGNITUDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [86] = { + [FRONTIER_MON_CARVANHA] = { .species = SPECIES_CARVANHA, .moves = {MOVE_BITE, MOVE_SCREECH, MOVE_SCARY_FACE, MOVE_SWAGGER}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [87] = { + [FRONTIER_MON_CORPHISH] = { .species = SPECIES_CORPHISH, .moves = {MOVE_CRABHAMMER, MOVE_WATER_PULSE, MOVE_MUD_SLAP, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_BRAVE }, - [88] = { + [FRONTIER_MON_CHARMANDER] = { .species = SPECIES_CHARMANDER, .moves = {MOVE_FIRE_SPIN, MOVE_METAL_CLAW, MOVE_SMOKESCREEN, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [89] = { + [FRONTIER_MON_CYNDAQUIL] = { .species = SPECIES_CYNDAQUIL, .moves = {MOVE_EMBER, MOVE_SWIFT, MOVE_QUICK_ATTACK, MOVE_SMOKESCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [90] = { + [FRONTIER_MON_ABRA] = { .species = SPECIES_ABRA, .moves = {MOVE_MIMIC, MOVE_METRONOME, MOVE_FLASH, MOVE_SEISMIC_TOSS}, .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_LONELY }, - [91] = { + [FRONTIER_MON_DODUO] = { .species = SPECIES_DODUO, .moves = {MOVE_FURY_ATTACK, MOVE_UPROAR, MOVE_MUD_SLAP, MOVE_FAINT_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_LONELY }, - [92] = { + [FRONTIER_MON_GASTLY] = { .species = SPECIES_GASTLY, .moves = {MOVE_DREAM_EATER, MOVE_HYPNOSIS, MOVE_NIGHT_SHADE, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_LONELY }, - [93] = { + [FRONTIER_MON_SWABLU] = { .species = SPECIES_SWABLU, .moves = {MOVE_TAKE_DOWN, MOVE_DREAM_EATER, MOVE_SING, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_LONELY }, - [94] = { + [FRONTIER_MON_TREECKO] = { .species = SPECIES_TREECKO, .moves = {MOVE_BULLET_SEED, MOVE_AERIAL_ACE, MOVE_QUICK_ATTACK, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_LONELY }, - [95] = { + [FRONTIER_MON_TORCHIC] = { .species = SPECIES_TORCHIC, .moves = {MOVE_FIRE_SPIN, MOVE_QUICK_ATTACK, MOVE_SAND_ATTACK, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_LONELY }, - [96] = { + [FRONTIER_MON_MUDKIP] = { .species = SPECIES_MUDKIP, .moves = {MOVE_WHIRLPOOL, MOVE_ENDEAVOR, MOVE_MUD_SPORT, MOVE_MUD_SLAP}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [97] = { + [FRONTIER_MON_SQUIRTLE] = { .species = SPECIES_SQUIRTLE, .moves = {MOVE_WATER_PULSE, MOVE_BITE, MOVE_WITHDRAW, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [98] = { + [FRONTIER_MON_TOTODILE] = { .species = SPECIES_TOTODILE, .moves = {MOVE_SLASH, MOVE_WATER_PULSE, MOVE_SCREECH, MOVE_ICY_WIND}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [99] = { + [FRONTIER_MON_SLOWPOKE] = { .species = SPECIES_SLOWPOKE, .moves = {MOVE_CONFUSION, MOVE_DISABLE, MOVE_WATER_PULSE, MOVE_YAWN}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_BRAVE }, - [100] = { + [FRONTIER_MON_BULBASAUR] = { .species = SPECIES_BULBASAUR, .moves = {MOVE_RAZOR_LEAF, MOVE_SWEET_SCENT, MOVE_SLEEP_POWDER, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [101] = { + [FRONTIER_MON_CHIKORITA] = { .species = SPECIES_CHIKORITA, .moves = {MOVE_SECRET_POWER, MOVE_BULLET_SEED, MOVE_MUD_SLAP, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [102] = { + [FRONTIER_MON_ODDISH] = { .species = SPECIES_ODDISH, .moves = {MOVE_ACID, MOVE_STUN_SPORE, MOVE_SWEET_SCENT, MOVE_MOONLIGHT}, .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [103] = { + [FRONTIER_MON_PSYDUCK] = { .species = SPECIES_PSYDUCK, .moves = {MOVE_CONFUSION, MOVE_FURY_SWIPES, MOVE_AERIAL_ACE, MOVE_DISABLE}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HASTY }, - [104] = { + [FRONTIER_MON_CUBONE] = { .species = SPECIES_CUBONE, .moves = {MOVE_BONE_CLUB, MOVE_HEADBUTT, MOVE_BRICK_BREAK, MOVE_AERIAL_ACE}, .itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [105] = { + [FRONTIER_MON_GOLDEEN] = { .species = SPECIES_GOLDEEN, .moves = {MOVE_WATERFALL, MOVE_FURY_ATTACK, MOVE_AGILITY, MOVE_PSYBEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [106] = { + [FRONTIER_MON_NATU] = { .species = SPECIES_NATU, .moves = {MOVE_NIGHT_SHADE, MOVE_FUTURE_SIGHT, MOVE_CONFUSE_RAY, MOVE_FLASH}, .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [107] = { + [FRONTIER_MON_CLEFAIRY] = { .species = SPECIES_CLEFAIRY, .moves = {MOVE_FOLLOW_ME, MOVE_RETURN, MOVE_ENCORE, MOVE_SING}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_LONELY }, - [108] = { + [FRONTIER_MON_MAGNEMITE] = { .species = SPECIES_MAGNEMITE, .moves = {MOVE_SHOCK_WAVE, MOVE_SUPERSONIC, MOVE_METAL_SOUND, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_GENTLE }, - [109] = { + [FRONTIER_MON_SEEL] = { .species = SPECIES_SEEL, .moves = {MOVE_AURORA_BEAM, MOVE_DIVE, MOVE_BODY_SLAM, MOVE_FAKE_OUT}, .itemTableId = BATTLE_FRONTIER_ITEM_ASPEAR_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [110] = { + [FRONTIER_MON_GRIMER] = { .species = SPECIES_GRIMER, .moves = {MOVE_SLUDGE, MOVE_ROCK_TOMB, MOVE_ACID_ARMOR, MOVE_MINIMIZE}, .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [111] = { + [FRONTIER_MON_KRABBY] = { .species = SPECIES_KRABBY, .moves = {MOVE_CRABHAMMER, MOVE_MUD_SHOT, MOVE_FLAIL, MOVE_KNOCK_OFF}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [112] = { + [FRONTIER_MON_EXEGGCUTE] = { .species = SPECIES_EXEGGCUTE, .moves = {MOVE_CONFUSION, MOVE_ANCIENT_POWER, MOVE_LEECH_SEED, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_NAUGHTY }, - [113] = { + [FRONTIER_MON_EEVEE] = { .species = SPECIES_EEVEE, .moves = {MOVE_CHARM, MOVE_ATTRACT, MOVE_FLAIL, MOVE_ENDURE}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [114] = { + [FRONTIER_MON_DROWZEE] = { .species = SPECIES_DROWZEE, .moves = {MOVE_CONFUSION, MOVE_HEADBUTT, MOVE_DISABLE, MOVE_BARRIER}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [115] = { + [FRONTIER_MON_VOLTORB] = { .species = SPECIES_VOLTORB, .moves = {MOVE_SPARK, MOVE_SCREECH, MOVE_ROLLOUT, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [116] = { + [FRONTIER_MON_CHINCHOU] = { .species = SPECIES_CHINCHOU, .moves = {MOVE_SPARK, MOVE_DIVE, MOVE_CONFUSE_RAY, MOVE_TAKE_DOWN}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [117] = { + [FRONTIER_MON_TEDDIURSA] = { .species = SPECIES_TEDDIURSA, .moves = {MOVE_SECRET_POWER, MOVE_FAKE_TEARS, MOVE_FAINT_ATTACK, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [118] = { + [FRONTIER_MON_DELIBIRD] = { .species = SPECIES_DELIBIRD, .moves = {MOVE_PRESENT, MOVE_ICE_BALL, MOVE_AERIAL_ACE, MOVE_HAIL}, .itemTableId = BATTLE_FRONTIER_ITEM_NEVER_MELT_ICE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [119] = { + [FRONTIER_MON_HOUNDOUR] = { .species = SPECIES_HOUNDOUR, .moves = {MOVE_CRUNCH, MOVE_EMBER, MOVE_ROAR, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [120] = { + [FRONTIER_MON_PHANPY] = { .species = SPECIES_PHANPY, .moves = {MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_ROCK_TOMB, MOVE_SANDSTORM}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_NAUGHTY }, - [121] = { + [FRONTIER_MON_SPOINK] = { .species = SPECIES_SPOINK, .moves = {MOVE_PSYWAVE, MOVE_BOUNCE, MOVE_MAGIC_COAT, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [122] = { + [FRONTIER_MON_ARON] = { .species = SPECIES_ARON, .moves = {MOVE_METAL_CLAW, MOVE_AERIAL_ACE, MOVE_METAL_SOUND, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [123] = { + [FRONTIER_MON_LUVDISC] = { .species = SPECIES_LUVDISC, .moves = {MOVE_SWEET_KISS, MOVE_ATTRACT, MOVE_DIVE, MOVE_RAIN_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [124] = { + [FRONTIER_MON_TENTACOOL] = { .species = SPECIES_TENTACOOL, .moves = {MOVE_BUBBLE_BEAM, MOVE_ACID, MOVE_BARRIER, MOVE_WRAP}, .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [125] = { + [FRONTIER_MON_CACNEA] = { .species = SPECIES_CACNEA, .moves = {MOVE_NEEDLE_ARM, MOVE_FAINT_ATTACK, MOVE_COTTON_SPORE, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [126] = { + [FRONTIER_MON_UNOWN] = { .species = SPECIES_UNOWN, .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [127] = { + [FRONTIER_MON_KOFFING] = { .species = SPECIES_KOFFING, .moves = {MOVE_SLUDGE, MOVE_SMOKESCREEN, MOVE_TORMENT, MOVE_HAZE}, .itemTableId = BATTLE_FRONTIER_ITEM_POISON_BARB, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [128] = { + [FRONTIER_MON_STARYU] = { .species = SPECIES_STARYU, .moves = {MOVE_BUBBLE_BEAM, MOVE_MINIMIZE, MOVE_SWIFT, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [129] = { + [FRONTIER_MON_SKIPLOOM] = { .species = SPECIES_SKIPLOOM, .moves = {MOVE_MEGA_DRAIN, MOVE_CONFUSION, MOVE_COTTON_SPORE, MOVE_SYNTHESIS}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [130] = { + [FRONTIER_MON_NUZLEAF] = { .species = SPECIES_NUZLEAF, .moves = {MOVE_EXTRASENSORY, MOVE_FAKE_OUT, MOVE_RAZOR_WIND, MOVE_FAINT_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [131] = { + [FRONTIER_MON_LOMBRE] = { .species = SPECIES_LOMBRE, .moves = {MOVE_WATER_PULSE, MOVE_FAKE_OUT, MOVE_BRICK_BREAK, MOVE_ABSORB}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [132] = { + [FRONTIER_MON_VIBRAVA] = { .species = SPECIES_VIBRAVA, .moves = {MOVE_DRAGON_BREATH, MOVE_DIG, MOVE_SCREECH, MOVE_ROCK_TOMB}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [133] = { + [FRONTIER_MON_RHYHORN] = { .species = SPECIES_RHYHORN, .moves = {MOVE_ROCK_BLAST, MOVE_DIG, MOVE_SCARY_FACE, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [134] = { + [FRONTIER_MON_CLAMPERL] = { .species = SPECIES_CLAMPERL, .moves = {MOVE_DIVE, MOVE_TOXIC, MOVE_IRON_DEFENSE, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_DEEP_SEA_SCALE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [135] = { + [FRONTIER_MON_PIDGEOTTO] = { .species = SPECIES_PIDGEOTTO, .moves = {MOVE_AERIAL_ACE, MOVE_QUICK_ATTACK, MOVE_FEATHER_DANCE, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [136] = { + [FRONTIER_MON_GROWLITHE] = { .species = SPECIES_GROWLITHE, .moves = {MOVE_FLAME_WHEEL, MOVE_BITE, MOVE_ROAR, MOVE_AGILITY}, .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [137] = { + [FRONTIER_MON_FARFETCHD] = { .species = SPECIES_FARFETCHD, .moves = {MOVE_SLASH, MOVE_KNOCK_OFF, MOVE_SWORDS_DANCE, MOVE_AGILITY}, .itemTableId = BATTLE_FRONTIER_ITEM_STICK, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [138] = { + [FRONTIER_MON_OMANYTE] = { .species = SPECIES_OMANYTE, .moves = {MOVE_MUD_SHOT, MOVE_WATER_GUN, MOVE_ANCIENT_POWER, MOVE_TICKLE}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [139] = { + [FRONTIER_MON_KABUTO] = { .species = SPECIES_KABUTO, .moves = {MOVE_MEGA_DRAIN, MOVE_ANCIENT_POWER, MOVE_SAND_ATTACK, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [140] = { + [FRONTIER_MON_LILEEP] = { .species = SPECIES_LILEEP, .moves = {MOVE_ANCIENT_POWER, MOVE_ACID, MOVE_INGRAIN, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [141] = { + [FRONTIER_MON_ANORITH] = { .species = SPECIES_ANORITH, .moves = {MOVE_METAL_CLAW, MOVE_FURY_CUTTER, MOVE_ANCIENT_POWER, MOVE_WATER_GUN}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [142] = { + [FRONTIER_MON_AIPOM] = { .species = SPECIES_AIPOM, .moves = {MOVE_FURY_SWIPES, MOVE_SAND_ATTACK, MOVE_BATON_PASS, MOVE_AGILITY}, .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [143] = { + [FRONTIER_MON_ELEKID] = { .species = SPECIES_ELEKID, .moves = {MOVE_THUNDER_PUNCH, MOVE_QUICK_ATTACK, MOVE_SWIFT, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_NAIVE }, - [144] = { + [FRONTIER_MON_LOUDRED] = { .species = SPECIES_LOUDRED, .moves = {MOVE_STOMP, MOVE_HOWL, MOVE_ASTONISH, MOVE_SUPERSONIC}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [145] = { + [FRONTIER_MON_SPINDA] = { .species = SPECIES_SPINDA, .moves = {MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE, MOVE_PSYBEAM, MOVE_FAINT_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [146] = { + [FRONTIER_MON_NIDORINA] = { .species = SPECIES_NIDORINA, .moves = {MOVE_DOUBLE_KICK, MOVE_BITE, MOVE_AERIAL_ACE, MOVE_FLATTER}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [147] = { + [FRONTIER_MON_NIDORINO] = { .species = SPECIES_NIDORINO, .moves = {MOVE_DOUBLE_KICK, MOVE_WATER_PULSE, MOVE_MUD_SLAP, MOVE_FLATTER}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [148] = { + [FRONTIER_MON_FLAAFFY] = { .species = SPECIES_FLAAFFY, .moves = {MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE, MOVE_COTTON_SPORE, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_MAGNET, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MILD }, - [149] = { + [FRONTIER_MON_MAGBY] = { .species = SPECIES_MAGBY, .moves = {MOVE_FIRE_PUNCH, MOVE_SMOKESCREEN, MOVE_CONFUSE_RAY, MOVE_SMOG}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [150] = { + [FRONTIER_MON_NOSEPASS] = { .species = SPECIES_NOSEPASS, .moves = {MOVE_ROCK_SLIDE, MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE, MOVE_SANDSTORM}, .itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_SASSY }, - [151] = { + [FRONTIER_MON_CORSOLA] = { .species = SPECIES_CORSOLA, .moves = {MOVE_BUBBLE_BEAM, MOVE_MIRROR_COAT, MOVE_ATTRACT, MOVE_ANCIENT_POWER}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_IMPISH }, - [152] = { + [FRONTIER_MON_MAWILE] = { .species = SPECIES_MAWILE, .moves = {MOVE_CRUNCH, MOVE_FAKE_TEARS, MOVE_IRON_DEFENSE, MOVE_BATON_PASS}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [153] = { + [FRONTIER_MON_BUTTERFREE] = { .species = SPECIES_BUTTERFREE, .moves = {MOVE_SILVER_WIND, MOVE_PSYBEAM, MOVE_TOXIC, MOVE_WHIRLWIND}, .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [154] = { + [FRONTIER_MON_BEEDRILL] = { .species = SPECIES_BEEDRILL, .moves = {MOVE_TWINEEDLE, MOVE_PURSUIT, MOVE_ENDEAVOR, MOVE_AGILITY}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_NAUGHTY }, - [155] = { + [FRONTIER_MON_POLIWHIRL] = { .species = SPECIES_POLIWHIRL, .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_SLAP, MOVE_ICY_WIND, MOVE_RAIN_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [156] = { + [FRONTIER_MON_ONIX] = { .species = SPECIES_ONIX, .moves = {MOVE_ROCK_SLIDE, MOVE_BIND, MOVE_DRAGON_BREATH, MOVE_SANDSTORM}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [157] = { + [FRONTIER_MON_BEAUTIFLY] = { .species = SPECIES_BEAUTIFLY, .moves = {MOVE_SILVER_WIND, MOVE_MEGA_DRAIN, MOVE_ATTRACT, MOVE_WHIRLWIND}, .itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [158] = { + [FRONTIER_MON_DUSTOX] = { .species = SPECIES_DUSTOX, .moves = {MOVE_SILVER_WIND, MOVE_TOXIC, MOVE_PSYBEAM, MOVE_WHIRLWIND}, .itemTableId = BATTLE_FRONTIER_ITEM_SILVER_POWDER, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [159] = { + [FRONTIER_MON_LEDIAN] = { .species = SPECIES_LEDIAN, .moves = {MOVE_COMET_PUNCH, MOVE_BATON_PASS, MOVE_SWORDS_DANCE, MOVE_AGILITY}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_BASHFUL }, - [160] = { + [FRONTIER_MON_ARIADOS] = { .species = SPECIES_ARIADOS, .moves = {MOVE_SIGNAL_BEAM, MOVE_SPIDER_WEB, MOVE_NIGHT_SHADE, MOVE_TOXIC}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_SERIOUS }, - [161] = { + [FRONTIER_MON_YANMA] = { .species = SPECIES_YANMA, .moves = {MOVE_SIGNAL_BEAM, MOVE_AERIAL_ACE, MOVE_DOUBLE_TEAM, MOVE_DETECT}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_RELAXED }, - [162] = { + [FRONTIER_MON_DELCATTY_1] = { .species = SPECIES_DELCATTY, .moves = {MOVE_SECRET_POWER, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_HEAL_BELL}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_LONELY }, - [163] = { + [FRONTIER_MON_SABLEYE_1] = { .species = SPECIES_SABLEYE, .moves = {MOVE_FAINT_ATTACK, MOVE_CONFUSE_RAY, MOVE_KNOCK_OFF, MOVE_FAKE_OUT}, .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_GLASSES, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_LONELY }, - [164] = { + [FRONTIER_MON_LICKITUNG_1] = { .species = SPECIES_LICKITUNG, .moves = {MOVE_SLAM, MOVE_BRICK_BREAK, MOVE_LICK, MOVE_MUD_SLAP}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [165] = { + [FRONTIER_MON_WEEPINBELL_1] = { .species = SPECIES_WEEPINBELL, .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_WRAP, MOVE_SWEET_SCENT}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [166] = { + [FRONTIER_MON_GRAVELER_1] = { .species = SPECIES_GRAVELER, .moves = {MOVE_MAGNITUDE, MOVE_ROCK_THROW, MOVE_DEFENSE_CURL, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [167] = { + [FRONTIER_MON_GLOOM_1] = { .species = SPECIES_GLOOM, .moves = {MOVE_PETAL_DANCE, MOVE_ACID, MOVE_STUN_SPORE, MOVE_MOONLIGHT}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [168] = { + [FRONTIER_MON_PORYGON_1] = { .species = SPECIES_PORYGON, .moves = {MOVE_PSYBEAM, MOVE_ICY_WIND, MOVE_RECYCLE, MOVE_AGILITY}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [169] = { + [FRONTIER_MON_KADABRA_1] = { .species = SPECIES_KADABRA, .moves = {MOVE_CONFUSION, MOVE_ROLE_PLAY, MOVE_FUTURE_SIGHT, MOVE_DISABLE}, .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_IMPISH }, - [170] = { + [FRONTIER_MON_WAILMER_1] = { .species = SPECIES_WAILMER, .moves = {MOVE_WHIRLPOOL, MOVE_ROAR, MOVE_DEFENSE_CURL, MOVE_ROLLOUT}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_DOCILE }, - [171] = { + [FRONTIER_MON_ROSELIA_1] = { .species = SPECIES_ROSELIA, .moves = {MOVE_MAGICAL_LEAF, MOVE_TOXIC, MOVE_GRASS_WHISTLE, MOVE_COTTON_SPORE}, .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [172] = { + [FRONTIER_MON_VOLBEAT_1] = { .species = SPECIES_VOLBEAT, .moves = {MOVE_SILVER_WIND, MOVE_CONFUSE_RAY, MOVE_QUICK_ATTACK, MOVE_HELPING_HAND}, .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [173] = { + [FRONTIER_MON_ILLUMISE_1] = { .species = SPECIES_ILLUMISE, .moves = {MOVE_SILVER_WIND, MOVE_WISH, MOVE_QUICK_ATTACK, MOVE_HELPING_HAND}, .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [174] = { + [FRONTIER_MON_IVYSAUR_1] = { .species = SPECIES_IVYSAUR, .moves = {MOVE_PETAL_DANCE, MOVE_GROWTH, MOVE_SWEET_SCENT, MOVE_FURY_CUTTER}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_GENTLE }, - [175] = { + [FRONTIER_MON_CHARMELEON_1] = { .species = SPECIES_CHARMELEON, .moves = {MOVE_SLASH, MOVE_FIRE_SPIN, MOVE_SWORDS_DANCE, MOVE_AERIAL_ACE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_NAUGHTY }, - [176] = { + [FRONTIER_MON_WARTORTLE_1] = { .species = SPECIES_WARTORTLE, .moves = {MOVE_WATER_PULSE, MOVE_BITE, MOVE_MUD_SLAP, MOVE_YAWN}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [177] = { + [FRONTIER_MON_PARASECT_1] = { .species = SPECIES_PARASECT, .moves = {MOVE_SLASH, MOVE_PSYBEAM, MOVE_STUN_SPORE, MOVE_FLASH}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_RASH }, - [178] = { + [FRONTIER_MON_MACHOKE_1] = { .species = SPECIES_MACHOKE, .moves = {MOVE_LOW_KICK, MOVE_ROCK_TOMB, MOVE_FORESIGHT, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [179] = { + [FRONTIER_MON_HAUNTER_1] = { .species = SPECIES_HAUNTER, .moves = {MOVE_SHADOW_PUNCH, MOVE_CONFUSE_RAY, MOVE_SPITE, MOVE_GRUDGE}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RASH }, - [180] = { + [FRONTIER_MON_BAYLEEF_1] = { .species = SPECIES_BAYLEEF, .moves = {MOVE_RAZOR_LEAF, MOVE_TOXIC, MOVE_SAFEGUARD, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [181] = { + [FRONTIER_MON_QUILAVA_1] = { .species = SPECIES_QUILAVA, .moves = {MOVE_FLAME_WHEEL, MOVE_FURY_SWIPES, MOVE_SWIFT, MOVE_SMOKESCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [182] = { + [FRONTIER_MON_CROCONAW_1] = { .species = SPECIES_CROCONAW, .moves = {MOVE_SLASH, MOVE_WATER_PULSE, MOVE_BITE, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [183] = { + [FRONTIER_MON_TOGETIC_1] = { .species = SPECIES_TOGETIC, .moves = {MOVE_AERIAL_ACE, MOVE_MAGICAL_LEAF, MOVE_WISH, MOVE_FOLLOW_ME}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [184] = { + [FRONTIER_MON_MURKROW_1] = { .species = SPECIES_MURKROW, .moves = {MOVE_FAINT_ATTACK, MOVE_FLY, MOVE_TORMENT, MOVE_TAUNT}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [185] = { + [FRONTIER_MON_WOBBUFFET_1] = { .species = SPECIES_WOBBUFFET, .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_CHARM, MOVE_SAFEGUARD}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CAREFUL }, - [186] = { + [FRONTIER_MON_PLUSLE_1] = { .species = SPECIES_PLUSLE, .moves = {MOVE_SPARK, MOVE_FAKE_TEARS, MOVE_QUICK_ATTACK, MOVE_HELPING_HAND}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [187] = { + [FRONTIER_MON_MINUN_1] = { .species = SPECIES_MINUN, .moves = {MOVE_SPARK, MOVE_CHARM, MOVE_ENCORE, MOVE_HELPING_HAND}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [188] = { + [FRONTIER_MON_GROVYLE_1] = { .species = SPECIES_GROVYLE, .moves = {MOVE_FURY_CUTTER, MOVE_ENDEAVOR, MOVE_BRICK_BREAK, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [189] = { + [FRONTIER_MON_COMBUSKEN_1] = { .species = SPECIES_COMBUSKEN, .moves = {MOVE_EMBER, MOVE_DOUBLE_KICK, MOVE_QUICK_ATTACK, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [190] = { + [FRONTIER_MON_MARSHTOMP_1] = { .species = SPECIES_MARSHTOMP, .moves = {MOVE_MUD_SHOT, MOVE_WATER_GUN, MOVE_ROCK_TOMB, MOVE_MUD_SLAP}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [191] = { + [FRONTIER_MON_PONYTA_1] = { .species = SPECIES_PONYTA, .moves = {MOVE_FIRE_SPIN, MOVE_BOUNCE, MOVE_QUICK_ATTACK, MOVE_TAIL_WHIP}, .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [192] = { + [FRONTIER_MON_AZUMARILL_1] = { .species = SPECIES_AZUMARILL, .moves = {MOVE_BUBBLE_BEAM, MOVE_FACADE, MOVE_DIG, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_DOCILE }, - [193] = { + [FRONTIER_MON_SUDOWOODO_1] = { .species = SPECIES_SUDOWOODO, .moves = {MOVE_ROCK_SLIDE, MOVE_FAINT_ATTACK, MOVE_SANDSTORM, MOVE_BLOCK}, .itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [194] = { + [FRONTIER_MON_MAGCARGO_1] = { .species = SPECIES_MAGCARGO, .moves = {MOVE_ROCK_SLIDE, MOVE_EMBER, MOVE_ACID_ARMOR, MOVE_SANDSTORM}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_GENTLE }, - [195] = { + [FRONTIER_MON_PUPITAR_1] = { .species = SPECIES_PUPITAR, .moves = {MOVE_DIG, MOVE_BITE, MOVE_SCARY_FACE, MOVE_SANDSTORM}, .itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [196] = { + [FRONTIER_MON_SEALEO_1] = { .species = SPECIES_SEALEO, .moves = {MOVE_ICE_BALL, MOVE_HAIL, MOVE_SNORE, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [197] = { + [FRONTIER_MON_RATICATE_1] = { .species = SPECIES_RATICATE, .moves = {MOVE_ENDEAVOR, MOVE_PURSUIT, MOVE_SCARY_FACE, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_NAIVE }, - [198] = { + [FRONTIER_MON_MASQUERAIN_1] = { .species = SPECIES_MASQUERAIN, .moves = {MOVE_SILVER_WIND, MOVE_AERIAL_ACE, MOVE_ICY_WIND, MOVE_STUN_SPORE}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_RELAXED }, - [199] = { + [FRONTIER_MON_FURRET_1] = { .species = SPECIES_FURRET, .moves = {MOVE_SLAM, MOVE_PROTECT, MOVE_HELPING_HAND, MOVE_FOLLOW_ME}, .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_SERIOUS }, - [200] = { + [FRONTIER_MON_DUNSPARCE_1] = { .species = SPECIES_DUNSPARCE, .moves = {MOVE_HEADBUTT, MOVE_GLARE, MOVE_DEFENSE_CURL, MOVE_ROLLOUT}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [201] = { + [FRONTIER_MON_DRAGONAIR_1] = { .species = SPECIES_DRAGONAIR, .moves = {MOVE_DRAGON_BREATH, MOVE_LEER, MOVE_WRAP, MOVE_SAFEGUARD}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [202] = { + [FRONTIER_MON_MIGHTYENA_1] = { .species = SPECIES_MIGHTYENA, .moves = {MOVE_BITE, MOVE_POISON_FANG, MOVE_TAUNT, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_TIMID }, - [203] = { + [FRONTIER_MON_LINOONE_1] = { .species = SPECIES_LINOONE, .moves = {MOVE_SECRET_POWER, MOVE_SAND_ATTACK, MOVE_COVET, MOVE_TICKLE}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [204] = { + [FRONTIER_MON_CASTFORM_1] = { .species = SPECIES_CASTFORM, .moves = {MOVE_EMBER, MOVE_WATER_PULSE, MOVE_SHOCK_WAVE, MOVE_ICY_WIND}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HASTY }, - [205] = { + [FRONTIER_MON_SHELGON_1] = { .species = SPECIES_SHELGON, .moves = {MOVE_HEADBUTT, MOVE_DRAGON_BREATH, MOVE_PROTECT, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [206] = { + [FRONTIER_MON_METANG_1] = { .species = SPECIES_METANG, .moves = {MOVE_METAL_CLAW, MOVE_CONFUSION, MOVE_PURSUIT, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [207] = { + [FRONTIER_MON_WIGGLYTUFF_1] = { .species = SPECIES_WIGGLYTUFF, .moves = {MOVE_SING, MOVE_DISABLE, MOVE_WISH, MOVE_SECRET_POWER}, .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_RELAXED }, - [208] = { + [FRONTIER_MON_SUNFLORA_1] = { .species = SPECIES_SUNFLORA, .moves = {MOVE_PETAL_DANCE, MOVE_INGRAIN, MOVE_LEECH_SEED, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [209] = { + [FRONTIER_MON_CHIMECHO_1] = { .species = SPECIES_CHIMECHO, .moves = {MOVE_PSYWAVE, MOVE_TAKE_DOWN, MOVE_HEAL_BELL, MOVE_SAFEGUARD}, .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_SASSY }, - [210] = { + [FRONTIER_MON_GLIGAR_1] = { .species = SPECIES_GLIGAR, .moves = {MOVE_METAL_CLAW, MOVE_DIG, MOVE_AERIAL_ACE, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_HASTY }, - [211] = { + [FRONTIER_MON_QWILFISH_1] = { .species = SPECIES_QWILFISH, .moves = {MOVE_BUBBLE_BEAM, MOVE_PIN_MISSILE, MOVE_SPIKES, MOVE_MINIMIZE}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, .nature = NATURE_IMPISH }, - [212] = { + [FRONTIER_MON_SNEASEL_1] = { .species = SPECIES_SNEASEL, .moves = {MOVE_FAINT_ATTACK, MOVE_FAKE_OUT, MOVE_ICY_WIND, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [213] = { + [FRONTIER_MON_PELIPPER_1] = { .species = SPECIES_PELIPPER, .moves = {MOVE_WATER_PULSE, MOVE_AERIAL_ACE, MOVE_STOCKPILE, MOVE_SWALLOW}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [214] = { + [FRONTIER_MON_SWELLOW_1] = { .species = SPECIES_SWELLOW, .moves = {MOVE_FLY, MOVE_ENDEAVOR, MOVE_FACADE, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [215] = { + [FRONTIER_MON_LAIRON_1] = { .species = SPECIES_LAIRON, .moves = {MOVE_METAL_CLAW, MOVE_ROCK_TOMB, MOVE_IRON_DEFENSE, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_METAL_COAT, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_SASSY }, - [216] = { + [FRONTIER_MON_TANGELA_1] = { .species = SPECIES_TANGELA, .moves = {MOVE_MEGA_DRAIN, MOVE_SLAM, MOVE_TOXIC, MOVE_BIND}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [217] = { + [FRONTIER_MON_ARBOK_1] = { .species = SPECIES_ARBOK, .moves = {MOVE_POISON_FANG, MOVE_DIG, MOVE_BITE, MOVE_GLARE}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [218] = { + [FRONTIER_MON_PERSIAN_1] = { .species = SPECIES_PERSIAN, .moves = {MOVE_FAKE_OUT, MOVE_SLASH, MOVE_TORMENT, MOVE_SWAGGER}, .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [219] = { + [FRONTIER_MON_SEADRA_1] = { .species = SPECIES_SEADRA, .moves = {MOVE_AURORA_BEAM, MOVE_SMOKESCREEN, MOVE_WATER_GUN, MOVE_RAIN_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_SASSY }, - [220] = { + [FRONTIER_MON_KECLEON_1] = { .species = SPECIES_KECLEON, .moves = {MOVE_SECRET_POWER, MOVE_PSYBEAM, MOVE_MAGIC_COAT, MOVE_SEISMIC_TOSS}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_NAIVE }, - [221] = { + [FRONTIER_MON_VIGOROTH_1] = { .species = SPECIES_VIGOROTH, .moves = {MOVE_SLASH, MOVE_COUNTER, MOVE_ENCORE, MOVE_UPROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_LONELY }, - [222] = { + [FRONTIER_MON_LUNATONE_1] = { .species = SPECIES_LUNATONE, .moves = {MOVE_CONFUSION, MOVE_COSMIC_POWER, MOVE_LIGHT_SCREEN, MOVE_SANDSTORM}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [223] = { + [FRONTIER_MON_SOLROCK_1] = { .species = SPECIES_SOLROCK, .moves = {MOVE_CONFUSION, MOVE_FIRE_SPIN, MOVE_LIGHT_SCREEN, MOVE_SANDSTORM}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [224] = { + [FRONTIER_MON_NOCTOWL_1] = { .species = SPECIES_NOCTOWL, .moves = {MOVE_CONFUSION, MOVE_AERIAL_ACE, MOVE_FAINT_ATTACK, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [225] = { + [FRONTIER_MON_SANDSLASH_1] = { .species = SPECIES_SANDSLASH, .moves = {MOVE_CRUSH_CLAW, MOVE_ROCK_SLIDE, MOVE_SWIFT, MOVE_SANDSTORM}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [226] = { + [FRONTIER_MON_VENOMOTH_1] = { .species = SPECIES_VENOMOTH, .moves = {MOVE_SILVER_WIND, MOVE_PSYBEAM, MOVE_SLEEP_POWDER, MOVE_SKILL_SWAP}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [227] = { + [FRONTIER_MON_CHANSEY_1] = { .species = SPECIES_CHANSEY, .moves = {MOVE_METRONOME, MOVE_REFRESH, MOVE_DEFENSE_CURL, MOVE_MINIMIZE}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_RELAXED }, - [228] = { + [FRONTIER_MON_SEAKING_1] = { .species = SPECIES_SEAKING, .moves = {MOVE_WATER_PULSE, MOVE_PSYBEAM, MOVE_SWIFT, MOVE_AGILITY}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [229] = { + [FRONTIER_MON_JUMPLUFF_1] = { .species = SPECIES_JUMPLUFF, .moves = {MOVE_AERIAL_ACE, MOVE_SWAGGER, MOVE_PSYCH_UP, MOVE_SYNTHESIS}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [230] = { + [FRONTIER_MON_PILOSWINE_1] = { .species = SPECIES_PILOSWINE, .moves = {MOVE_DIG, MOVE_ANCIENT_POWER, MOVE_HAIL, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [231] = { + [FRONTIER_MON_GOLBAT_1] = { .species = SPECIES_GOLBAT, .moves = {MOVE_AIR_CUTTER, MOVE_CONFUSE_RAY, MOVE_TOXIC, MOVE_STEEL_WING}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [232] = { + [FRONTIER_MON_PRIMEAPE_1] = { .species = SPECIES_PRIMEAPE, .moves = {MOVE_KARATE_CHOP, MOVE_COUNTER, MOVE_SWAGGER, MOVE_SCREECH}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [233] = { + [FRONTIER_MON_HITMONLEE_1] = { .species = SPECIES_HITMONLEE, .moves = {MOVE_ROLLING_KICK, MOVE_BRICK_BREAK, MOVE_FOCUS_ENERGY, MOVE_FACADE}, .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [234] = { + [FRONTIER_MON_HITMONCHAN_1] = { .species = SPECIES_HITMONCHAN, .moves = {MOVE_MACH_PUNCH, MOVE_SKY_UPPERCUT, MOVE_DETECT, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [235] = { + [FRONTIER_MON_GIRAFARIG_1] = { .species = SPECIES_GIRAFARIG, .moves = {MOVE_PSYBEAM, MOVE_STOMP, MOVE_WISH, MOVE_SKILL_SWAP}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [236] = { + [FRONTIER_MON_HITMONTOP_1] = { .species = SPECIES_HITMONTOP, .moves = {MOVE_TRIPLE_KICK, MOVE_DIG, MOVE_MACH_PUNCH, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [237] = { + [FRONTIER_MON_BANETTE_1] = { .species = SPECIES_BANETTE, .moves = {MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SPITE, MOVE_KNOCK_OFF}, .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_SASSY }, - [238] = { + [FRONTIER_MON_NINJASK_1] = { .species = SPECIES_NINJASK, .moves = {MOVE_BATON_PASS, MOVE_SWORDS_DANCE, MOVE_ENDURE, MOVE_DIG}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_MILD }, - [239] = { + [FRONTIER_MON_SEVIPER_1] = { .species = SPECIES_SEVIPER, .moves = {MOVE_POISON_TAIL, MOVE_BITE, MOVE_GLARE, MOVE_SCREECH}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [240] = { + [FRONTIER_MON_ZANGOOSE_1] = { .species = SPECIES_ZANGOOSE, .moves = {MOVE_SLASH, MOVE_DOUBLE_KICK, MOVE_ROAR, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [241] = { + [FRONTIER_MON_CAMERUPT_1] = { .species = SPECIES_CAMERUPT, .moves = {MOVE_MAGNITUDE, MOVE_PROTECT, MOVE_SANDSTORM, MOVE_ROCK_SLIDE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [242] = { + [FRONTIER_MON_SHARPEDO_1] = { .species = SPECIES_SHARPEDO, .moves = {MOVE_SLASH, MOVE_BITE, MOVE_WATER_PULSE, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [243] = { + [FRONTIER_MON_TROPIUS_1] = { .species = SPECIES_TROPIUS, .moves = {MOVE_MAGICAL_LEAF, MOVE_WHIRLWIND, MOVE_AERIAL_ACE, MOVE_STEEL_WING}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [244] = { + [FRONTIER_MON_MAGNETON_1] = { .species = SPECIES_MAGNETON, .moves = {MOVE_SHOCK_WAVE, MOVE_SONIC_BOOM, MOVE_THUNDER_WAVE, MOVE_SUPERSONIC}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_LONELY }, - [245] = { + [FRONTIER_MON_MANTINE_1] = { .species = SPECIES_MANTINE, .moves = {MOVE_BUBBLE_BEAM, MOVE_AERIAL_ACE, MOVE_RAIN_DANCE, MOVE_ICY_WIND}, .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [246] = { + [FRONTIER_MON_STANTLER_1] = { .species = SPECIES_STANTLER, .moves = {MOVE_EXTRASENSORY, MOVE_CONFUSE_RAY, MOVE_STOMP, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_GENTLE }, - [247] = { + [FRONTIER_MON_ABSOL_1] = { .species = SPECIES_ABSOL, .moves = {MOVE_BITE, MOVE_RAZOR_WIND, MOVE_FUTURE_SIGHT, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [248] = { + [FRONTIER_MON_SWALOT_1] = { .species = SPECIES_SWALOT, .moves = {MOVE_STOCKPILE, MOVE_SWALLOW, MOVE_SPIT_UP, MOVE_SLUDGE}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_QUIRKY }, - [249] = { + [FRONTIER_MON_CRAWDAUNT_1] = { .species = SPECIES_CRAWDAUNT, .moves = {MOVE_BUBBLE_BEAM, MOVE_VICE_GRIP, MOVE_KNOCK_OFF, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [250] = { + [FRONTIER_MON_PIDGEOT_1] = { .species = SPECIES_PIDGEOT, .moves = {MOVE_AERIAL_ACE, MOVE_FEATHER_DANCE, MOVE_MUD_SLAP, MOVE_FAINT_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [251] = { + [FRONTIER_MON_GRUMPIG_1] = { .species = SPECIES_GRUMPIG, .moves = {MOVE_PSYBEAM, MOVE_CONFUSE_RAY, MOVE_FUTURE_SIGHT, MOVE_MAGIC_COAT}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [252] = { + [FRONTIER_MON_TORKOAL_1] = { .species = SPECIES_TORKOAL, .moves = {MOVE_EMBER, MOVE_FIRE_SPIN, MOVE_SMOKESCREEN, MOVE_AMNESIA}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [253] = { + [FRONTIER_MON_KINGLER_1] = { .species = SPECIES_KINGLER, .moves = {MOVE_CRABHAMMER, MOVE_METAL_CLAW, MOVE_MUD_SHOT, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [254] = { + [FRONTIER_MON_CACTURNE_1] = { .species = SPECIES_CACTURNE, .moves = {MOVE_NEEDLE_ARM, MOVE_FAINT_ATTACK, MOVE_ACID, MOVE_MEGA_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_HASTY }, - [255] = { + [FRONTIER_MON_BELLOSSOM_1] = { .species = SPECIES_BELLOSSOM, .moves = {MOVE_PETAL_DANCE, MOVE_SAFEGUARD, MOVE_SUNNY_DAY, MOVE_SYNTHESIS}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [256] = { + [FRONTIER_MON_OCTILLERY_1] = { .species = SPECIES_OCTILLERY, .moves = {MOVE_OCTAZOOKA, MOVE_AURORA_BEAM, MOVE_PSYBEAM, MOVE_ROCK_BLAST}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [257] = { + [FRONTIER_MON_HUNTAIL_1] = { .species = SPECIES_HUNTAIL, .moves = {MOVE_WHIRLPOOL, MOVE_SCARY_FACE, MOVE_MUD_SLAP, MOVE_BITE}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [258] = { + [FRONTIER_MON_GOREBYSS_1] = { .species = SPECIES_GOREBYSS, .moves = {MOVE_WHIRLPOOL, MOVE_AMNESIA, MOVE_ICY_WIND, MOVE_CONFUSION}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_BRAVE }, - [259] = { + [FRONTIER_MON_RELICANTH_1] = { .species = SPECIES_RELICANTH, .moves = {MOVE_ANCIENT_POWER, MOVE_WATER_PULSE, MOVE_HARDEN, MOVE_AMNESIA}, .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_SASSY }, - [260] = { + [FRONTIER_MON_OMASTAR_1] = { .species = SPECIES_OMASTAR, .moves = {MOVE_BUBBLE_BEAM, MOVE_SPIKE_CANNON, MOVE_TICKLE, MOVE_ANCIENT_POWER}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [261] = { + [FRONTIER_MON_KABUTOPS_1] = { .species = SPECIES_KABUTOPS, .moves = {MOVE_SLASH, MOVE_DIG, MOVE_FURY_CUTTER, MOVE_KNOCK_OFF}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [262] = { + [FRONTIER_MON_POLIWRATH_1] = { .species = SPECIES_POLIWRATH, .moves = {MOVE_SUBMISSION, MOVE_DIG, MOVE_ROCK_TOMB, MOVE_BUBBLE_BEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [263] = { + [FRONTIER_MON_SCYTHER_1] = { .species = SPECIES_SCYTHER, .moves = {MOVE_FURY_CUTTER, MOVE_AERIAL_ACE, MOVE_LIGHT_SCREEN, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [264] = { + [FRONTIER_MON_PINSIR_1] = { .species = SPECIES_PINSIR, .moves = {MOVE_SUBMISSION, MOVE_FOCUS_ENERGY, MOVE_SWORDS_DANCE, MOVE_REVENGE}, .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_NAUGHTY }, - [265] = { + [FRONTIER_MON_POLITOED_1] = { .species = SPECIES_POLITOED, .moves = {MOVE_DIVE, MOVE_DIG, MOVE_HYPNOSIS, MOVE_SWAGGER}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_RELAXED }, - [266] = { + [FRONTIER_MON_CLOYSTER_1] = { .species = SPECIES_CLOYSTER, .moves = {MOVE_AURORA_BEAM, MOVE_SPIKE_CANNON, MOVE_SUPERSONIC, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_NEVER_MELT_ICE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_SASSY }, - [267] = { + [FRONTIER_MON_DELCATTY_2] = { .species = SPECIES_DELCATTY, .moves = {MOVE_FAKE_TEARS, MOVE_SING, MOVE_THUNDERBOLT, MOVE_ICE_BEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [268] = { + [FRONTIER_MON_SABLEYE_2] = { .species = SPECIES_SABLEYE, .moves = {MOVE_SHADOW_BALL, MOVE_FAINT_ATTACK, MOVE_CONFUSE_RAY, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [269] = { + [FRONTIER_MON_LICKITUNG_2] = { .species = SPECIES_LICKITUNG, .moves = {MOVE_EARTHQUAKE, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_ROCK_SLIDE}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [270] = { + [FRONTIER_MON_WEEPINBELL_2] = { .species = SPECIES_WEEPINBELL, .moves = {MOVE_SLUDGE_BOMB, MOVE_RAZOR_LEAF, MOVE_SLEEP_POWDER, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_QUIRKY }, - [271] = { + [FRONTIER_MON_GRAVELER_2] = { .species = SPECIES_GRAVELER, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [272] = { + [FRONTIER_MON_GLOOM_2] = { .species = SPECIES_GLOOM, .moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SLUDGE_BOMB, MOVE_MOONLIGHT}, .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [273] = { + [FRONTIER_MON_PORYGON_2] = { .species = SPECIES_PORYGON, .moves = {MOVE_TRI_ATTACK, MOVE_PSYCHIC, MOVE_THUNDER_WAVE, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIET }, - [274] = { + [FRONTIER_MON_KADABRA_2] = { .species = SPECIES_KADABRA, .moves = {MOVE_PSYCHIC, MOVE_THUNDER_WAVE, MOVE_REFLECT, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [275] = { + [FRONTIER_MON_WAILMER_2] = { .species = SPECIES_WAILMER, .moves = {MOVE_WATER_SPOUT, MOVE_EARTHQUAKE, MOVE_BODY_SLAM, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_DOCILE }, - [276] = { + [FRONTIER_MON_ROSELIA_2] = { .species = SPECIES_ROSELIA, .moves = {MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB, MOVE_GRASS_WHISTLE, MOVE_SYNTHESIS}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [277] = { + [FRONTIER_MON_VOLBEAT_2] = { .species = SPECIES_VOLBEAT, .moves = {MOVE_SIGNAL_BEAM, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_TAIL_GLOW}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_QUIRKY }, - [278] = { + [FRONTIER_MON_ILLUMISE_2] = { .species = SPECIES_ILLUMISE, .moves = {MOVE_SILVER_WIND, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_GIGA_DRAIN}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_QUIRKY }, - [279] = { + [FRONTIER_MON_IVYSAUR_2] = { .species = SPECIES_IVYSAUR, .moves = {MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB, MOVE_SLEEP_POWDER, MOVE_LEECH_SEED}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [280] = { + [FRONTIER_MON_CHARMELEON_2] = { .species = SPECIES_CHARMELEON, .moves = {MOVE_FLAMETHROWER, MOVE_SLASH, MOVE_ANCIENT_POWER, MOVE_DRAGON_RAGE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [281] = { + [FRONTIER_MON_WARTORTLE_2] = { .species = SPECIES_WARTORTLE, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_RAPID_SPIN, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [282] = { + [FRONTIER_MON_PARASECT_2] = { .species = SPECIES_PARASECT, .moves = {MOVE_SPORE, MOVE_GIGA_DRAIN, MOVE_DIG, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CALM }, - [283] = { + [FRONTIER_MON_MACHOKE_2] = { .species = SPECIES_MACHOKE, .moves = {MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_FORESIGHT, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [284] = { + [FRONTIER_MON_HAUNTER_2] = { .species = SPECIES_HAUNTER, .moves = {MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_NIGHTMARE, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [285] = { + [FRONTIER_MON_BAYLEEF_2] = { .species = SPECIES_BAYLEEF, .moves = {MOVE_GIGA_DRAIN, MOVE_BODY_SLAM, MOVE_GRASS_WHISTLE, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [286] = { + [FRONTIER_MON_QUILAVA_2] = { .species = SPECIES_QUILAVA, .moves = {MOVE_FLAMETHROWER, MOVE_CRUSH_CLAW, MOVE_BODY_SLAM, MOVE_SMOKESCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [287] = { + [FRONTIER_MON_CROCONAW_2] = { .species = SPECIES_CROCONAW, .moves = {MOVE_MEGA_KICK, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE, MOVE_DIG}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [288] = { + [FRONTIER_MON_TOGETIC_2] = { .species = SPECIES_TOGETIC, .moves = {MOVE_RETURN, MOVE_SWEET_KISS, MOVE_AERIAL_ACE, MOVE_YAWN}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [289] = { + [FRONTIER_MON_MURKROW_2] = { .species = SPECIES_MURKROW, .moves = {MOVE_PERISH_SONG, MOVE_MEAN_LOOK, MOVE_DOUBLE_TEAM, MOVE_THUNDER_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [290] = { + [FRONTIER_MON_WOBBUFFET_2] = { .species = SPECIES_WOBBUFFET, .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_ENCORE, MOVE_DESTINY_BOND}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_CAREFUL }, - [291] = { + [FRONTIER_MON_PLUSLE_2] = { .species = SPECIES_PLUSLE, .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_SEISMIC_TOSS, MOVE_WISH}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_DOCILE }, - [292] = { + [FRONTIER_MON_MINUN_2] = { .species = SPECIES_MINUN, .moves = {MOVE_THUNDERBOLT, MOVE_ATTRACT, MOVE_CHARM, MOVE_WISH}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_DOCILE }, - [293] = { + [FRONTIER_MON_GROVYLE_2] = { .species = SPECIES_GROVYLE, .moves = {MOVE_GIGA_DRAIN, MOVE_CRUSH_CLAW, MOVE_SCREECH, MOVE_ROCK_TOMB}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [294] = { + [FRONTIER_MON_COMBUSKEN_2] = { .species = SPECIES_COMBUSKEN, .moves = {MOVE_FLAMETHROWER, MOVE_SKY_UPPERCUT, MOVE_SLASH, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [295] = { + [FRONTIER_MON_MARSHTOMP_2] = { .species = SPECIES_MARSHTOMP, .moves = {MOVE_MUDDY_WATER, MOVE_EARTHQUAKE, MOVE_MUD_SLAP, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [296] = { + [FRONTIER_MON_PONYTA_2] = { .species = SPECIES_PONYTA, .moves = {MOVE_FLAMETHROWER, MOVE_BODY_SLAM, MOVE_DOUBLE_KICK, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_QUIRKY }, - [297] = { + [FRONTIER_MON_AZUMARILL_2] = { .species = SPECIES_AZUMARILL, .moves = {MOVE_MEGA_KICK, MOVE_BRICK_BREAK, MOVE_IRON_TAIL, MOVE_DIG}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [298] = { + [FRONTIER_MON_SUDOWOODO_2] = { .species = SPECIES_SUDOWOODO, .moves = {MOVE_MEGA_KICK, MOVE_EARTHQUAKE, MOVE_LOW_KICK, MOVE_SELF_DESTRUCT}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [299] = { + [FRONTIER_MON_MAGCARGO_2] = { .species = SPECIES_MAGCARGO, .moves = {MOVE_OVERHEAT, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BODY_SLAM}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [300] = { + [FRONTIER_MON_PUPITAR_2] = { .species = SPECIES_PUPITAR, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_CRUNCH, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [301] = { + [FRONTIER_MON_SEALEO_2] = { .species = SPECIES_SEALEO, .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_BODY_SLAM, MOVE_HAIL}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [302] = { + [FRONTIER_MON_RATICATE_2] = { .species = SPECIES_RATICATE, .moves = {MOVE_SUPER_FANG, MOVE_HYPER_FANG, MOVE_SHADOW_BALL, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [303] = { + [FRONTIER_MON_MASQUERAIN_2] = { .species = SPECIES_MASQUERAIN, .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_GIGA_DRAIN, MOVE_STUN_SPORE}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_QUIET }, - [304] = { + [FRONTIER_MON_FURRET_2] = { .species = SPECIES_FURRET, .moves = {MOVE_TRICK, MOVE_FRUSTRATION, MOVE_SHADOW_BALL, MOVE_FOLLOW_ME}, .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [305] = { + [FRONTIER_MON_DUNSPARCE_2] = { .species = SPECIES_DUNSPARCE, .moves = {MOVE_ICE_BEAM, MOVE_ROCK_TOMB, MOVE_BITE, MOVE_SHADOW_BALL}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_QUIET }, - [306] = { + [FRONTIER_MON_DRAGONAIR_2] = { .species = SPECIES_DRAGONAIR, .moves = {MOVE_RETURN, MOVE_REST, MOVE_THUNDER_WAVE, MOVE_DRAGON_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [307] = { + [FRONTIER_MON_MIGHTYENA_2] = { .species = SPECIES_MIGHTYENA, .moves = {MOVE_CRUNCH, MOVE_SHADOW_BALL, MOVE_FRUSTRATION, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_QUIRKY }, - [308] = { + [FRONTIER_MON_LINOONE_2] = { .species = SPECIES_LINOONE, .moves = {MOVE_TRICK, MOVE_FRUSTRATION, MOVE_THUNDER_WAVE, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_JOLLY }, - [309] = { + [FRONTIER_MON_CASTFORM_2] = { .species = SPECIES_CASTFORM, .moves = {MOVE_THUNDERBOLT, MOVE_FLAMETHROWER, MOVE_ICE_BEAM, MOVE_WATER_PULSE}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [310] = { + [FRONTIER_MON_SHELGON_2] = { .species = SPECIES_SHELGON, .moves = {MOVE_FRUSTRATION, MOVE_DRAGON_DANCE, MOVE_CRUNCH, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [311] = { + [FRONTIER_MON_METANG_2] = { .species = SPECIES_METANG, .moves = {MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_BODY_SLAM, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [312] = { + [FRONTIER_MON_WIGGLYTUFF_2] = { .species = SPECIES_WIGGLYTUFF, .moves = {MOVE_FAKE_TEARS, MOVE_SING, MOVE_DREAM_EATER, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_DOCILE }, - [313] = { + [FRONTIER_MON_SUNFLORA_2] = { .species = SPECIES_SUNFLORA, .moves = {MOVE_GIGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_GROWTH, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [314] = { + [FRONTIER_MON_CHIMECHO_2] = { .species = SPECIES_CHIMECHO, .moves = {MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEAL_BELL}, .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [315] = { + [FRONTIER_MON_GLIGAR_2] = { .species = SPECIES_GLIGAR, .moves = {MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_GUILLOTINE, MOVE_SCREECH}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [316] = { + [FRONTIER_MON_QWILFISH_2] = { .species = SPECIES_QWILFISH, .moves = {MOVE_REVENGE, MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_DESTINY_BOND}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [317] = { + [FRONTIER_MON_SNEASEL_2] = { .species = SPECIES_SNEASEL, .moves = {MOVE_CRUSH_CLAW, MOVE_BRICK_BREAK, MOVE_AERIAL_ACE, MOVE_SCREECH}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_JOLLY }, - [318] = { + [FRONTIER_MON_PELIPPER_2] = { .species = SPECIES_PELIPPER, .moves = {MOVE_SURF, MOVE_BLIZZARD, MOVE_AERIAL_ACE, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [319] = { + [FRONTIER_MON_SWELLOW_2] = { .species = SPECIES_SWELLOW, .moves = {MOVE_FACADE, MOVE_AERIAL_ACE, MOVE_PURSUIT, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [320] = { + [FRONTIER_MON_LAIRON_2] = { .species = SPECIES_LAIRON, .moves = {MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_ROAR, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_SASSY }, - [321] = { + [FRONTIER_MON_TANGELA_2] = { .species = SPECIES_TANGELA, .moves = {MOVE_GIGA_DRAIN, MOVE_STUN_SPORE, MOVE_REST, MOVE_AMNESIA}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CALM }, - [322] = { + [FRONTIER_MON_ARBOK_2] = { .species = SPECIES_ARBOK, .moves = {MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_GLARE}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [323] = { + [FRONTIER_MON_PERSIAN_2] = { .species = SPECIES_PERSIAN, .moves = {MOVE_FRUSTRATION, MOVE_SHADOW_BALL, MOVE_ROAR, MOVE_FAKE_OUT}, .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [324] = { + [FRONTIER_MON_SEADRA_2] = { .species = SPECIES_SEADRA, .moves = {MOVE_HYDRO_PUMP, MOVE_FRUSTRATION, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [325] = { + [FRONTIER_MON_KECLEON_2] = { .species = SPECIES_KECLEON, .moves = {MOVE_TRICK, MOVE_BRICK_BREAK, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP}, .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [326] = { + [FRONTIER_MON_VIGOROTH_2] = { .species = SPECIES_VIGOROTH, .moves = {MOVE_CRUSH_CLAW, MOVE_REVERSAL, MOVE_ENDURE, MOVE_SHADOW_BALL}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [327] = { + [FRONTIER_MON_LUNATONE_2] = { .species = SPECIES_LUNATONE, .moves = {MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_COSMIC_POWER, MOVE_CALM_MIND}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [328] = { + [FRONTIER_MON_SOLROCK_2] = { .species = SPECIES_SOLROCK, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_COSMIC_POWER, MOVE_OVERHEAT}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [329] = { + [FRONTIER_MON_NOCTOWL_2] = { .species = SPECIES_NOCTOWL, .moves = {MOVE_PSYCHIC, MOVE_FAINT_ATTACK, MOVE_AERIAL_ACE, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_QUIET }, - [330] = { + [FRONTIER_MON_SANDSLASH_2] = { .species = SPECIES_SANDSLASH, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_CRUSH_CLAW, MOVE_SANDSTORM}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [331] = { + [FRONTIER_MON_VENOMOTH_2] = { .species = SPECIES_VENOMOTH, .moves = {MOVE_SIGNAL_BEAM, MOVE_PSYCHIC, MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [332] = { + [FRONTIER_MON_CHANSEY_2] = { .species = SPECIES_CHANSEY, .moves = {MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_SOFT_BOILED}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_RELAXED }, - [333] = { + [FRONTIER_MON_SEAKING_2] = { .species = SPECIES_SEAKING, .moves = {MOVE_HORN_DRILL, MOVE_MEGAHORN, MOVE_SLEEP_TALK, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_IMPISH }, - [334] = { + [FRONTIER_MON_JUMPLUFF_2] = { .species = SPECIES_JUMPLUFF, .moves = {MOVE_LEECH_SEED, MOVE_SLEEP_POWDER, MOVE_GIGA_DRAIN, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_BOLD }, - [335] = { + [FRONTIER_MON_PILOSWINE_2] = { .species = SPECIES_PILOSWINE, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BODY_SLAM, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_ADAMANT }, - [336] = { + [FRONTIER_MON_GOLBAT_2] = { .species = SPECIES_GOLBAT, .moves = {MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY, MOVE_AIR_CUTTER}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [337] = { + [FRONTIER_MON_PRIMEAPE_2] = { .species = SPECIES_PRIMEAPE, .moves = {MOVE_CROSS_CHOP, MOVE_ROCK_TOMB, MOVE_OVERHEAT, MOVE_BULK_UP}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [338] = { + [FRONTIER_MON_HITMONLEE_2] = { .species = SPECIES_HITMONLEE, .moves = {MOVE_MEGA_KICK, MOVE_BRICK_BREAK, MOVE_FORESIGHT, MOVE_ROCK_TOMB}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [339] = { + [FRONTIER_MON_HITMONCHAN_2] = { .species = SPECIES_HITMONCHAN, .moves = {MOVE_DYNAMIC_PUNCH, MOVE_MACH_PUNCH, MOVE_DETECT, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [340] = { + [FRONTIER_MON_GIRAFARIG_2] = { .species = SPECIES_GIRAFARIG, .moves = {MOVE_PSYCHIC, MOVE_CRUNCH, MOVE_BATON_PASS, MOVE_AGILITY}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [341] = { + [FRONTIER_MON_HITMONTOP_2] = { .species = SPECIES_HITMONTOP, .moves = {MOVE_DOUBLE_EDGE, MOVE_SEISMIC_TOSS, MOVE_ROCK_SLIDE, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [342] = { + [FRONTIER_MON_BANETTE_2] = { .species = SPECIES_BANETTE, .moves = {MOVE_SHADOW_BALL, MOVE_FRUSTRATION, MOVE_SCREECH, MOVE_WILL_O_WISP}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_ADAMANT }, - [343] = { + [FRONTIER_MON_NINJASK_2] = { .species = SPECIES_NINJASK, .moves = {MOVE_SLASH, MOVE_SHADOW_BALL, MOVE_SWORDS_DANCE, MOVE_BATON_PASS}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [344] = { + [FRONTIER_MON_SEVIPER_2] = { .species = SPECIES_SEVIPER, .moves = {MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_GIGA_DRAIN}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [345] = { + [FRONTIER_MON_ZANGOOSE_2] = { .species = SPECIES_ZANGOOSE, .moves = {MOVE_CRUSH_CLAW, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_AERIAL_ACE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [346] = { + [FRONTIER_MON_CAMERUPT_2] = { .species = SPECIES_CAMERUPT, .moves = {MOVE_EARTHQUAKE, MOVE_ERUPTION, MOVE_BODY_SLAM, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [347] = { + [FRONTIER_MON_SHARPEDO_2] = { .species = SPECIES_SHARPEDO, .moves = {MOVE_DOUBLE_EDGE, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_SURF}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [348] = { + [FRONTIER_MON_TROPIUS_2] = { .species = SPECIES_TROPIUS, .moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SYNTHESIS, MOVE_BODY_SLAM}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIET }, - [349] = { + [FRONTIER_MON_MAGNETON_2] = { .species = SPECIES_MAGNETON, .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_THUNDER_WAVE, MOVE_METAL_SOUND}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [350] = { + [FRONTIER_MON_MANTINE_2] = { .species = SPECIES_MANTINE, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_RAIN_DANCE, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [351] = { + [FRONTIER_MON_STANTLER_2] = { .species = SPECIES_STANTLER, .moves = {MOVE_FRUSTRATION, MOVE_SHADOW_BALL, MOVE_THUNDER_WAVE, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [352] = { + [FRONTIER_MON_ABSOL_2] = { .species = SPECIES_ABSOL, .moves = {MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_IRON_TAIL}, .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [353] = { + [FRONTIER_MON_SWALOT_2] = { .species = SPECIES_SWALOT, .moves = {MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_BODY_SLAM, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [354] = { + [FRONTIER_MON_CRAWDAUNT_2] = { .species = SPECIES_CRAWDAUNT, .moves = {MOVE_GUILLOTINE, MOVE_FRUSTRATION, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [355] = { + [FRONTIER_MON_PIDGEOT_2] = { .species = SPECIES_PIDGEOT, .moves = {MOVE_RETURN, MOVE_AERIAL_ACE, MOVE_STEEL_WING, MOVE_MUD_SLAP}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [356] = { + [FRONTIER_MON_GRUMPIG_2] = { .species = SPECIES_GRUMPIG, .moves = {MOVE_PSYCHIC, MOVE_ICE_PUNCH, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [357] = { + [FRONTIER_MON_TORKOAL_2] = { .species = SPECIES_TORKOAL, .moves = {MOVE_OVERHEAT, MOVE_BODY_SLAM, MOVE_SMOKESCREEN, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_SASSY }, - [358] = { + [FRONTIER_MON_KINGLER_2] = { .species = SPECIES_KINGLER, .moves = {MOVE_GUILLOTINE, MOVE_ROCK_TOMB, MOVE_FLAIL, MOVE_ENDURE}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [359] = { + [FRONTIER_MON_CACTURNE_2] = { .species = SPECIES_CACTURNE, .moves = {MOVE_MEGA_KICK, MOVE_TEETER_DANCE, MOVE_FAINT_ATTACK, MOVE_SANDSTORM}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_HARDY }, - [360] = { + [FRONTIER_MON_BELLOSSOM_2] = { .species = SPECIES_BELLOSSOM, .moves = {MOVE_SOLAR_BEAM, MOVE_ATTRACT, MOVE_SUNNY_DAY, MOVE_SYNTHESIS}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [361] = { + [FRONTIER_MON_OCTILLERY_2] = { .species = SPECIES_OCTILLERY, .moves = {MOVE_OCTAZOOKA, MOVE_FIRE_BLAST, MOVE_THUNDER_WAVE, MOVE_MUD_SLAP}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [362] = { + [FRONTIER_MON_HUNTAIL_2] = { .species = SPECIES_HUNTAIL, .moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_CRUNCH, MOVE_BODY_SLAM}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [363] = { + [FRONTIER_MON_GOREBYSS_2] = { .species = SPECIES_GOREBYSS, .moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_PSYCHIC, MOVE_BODY_SLAM}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [364] = { + [FRONTIER_MON_RELICANTH_2] = { .species = SPECIES_RELICANTH, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_AMNESIA, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_SASSY }, - [365] = { + [FRONTIER_MON_OMASTAR_2] = { .species = SPECIES_OMASTAR, .moves = {MOVE_HYDRO_PUMP, MOVE_RAIN_DANCE, MOVE_ICE_BEAM, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [366] = { + [FRONTIER_MON_KABUTOPS_2] = { .species = SPECIES_KABUTOPS, .moves = {MOVE_SLASH, MOVE_ROCK_SLIDE, MOVE_FLAIL, MOVE_ENDURE}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [367] = { + [FRONTIER_MON_POLIWRATH_2] = { .species = SPECIES_POLIWRATH, .moves = {MOVE_BRICK_BREAK, MOVE_HYPNOSIS, MOVE_REST, MOVE_BELLY_DRUM}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [368] = { + [FRONTIER_MON_SCYTHER_2] = { .species = SPECIES_SCYTHER, .moves = {MOVE_SILVER_WIND, MOVE_AERIAL_ACE, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [369] = { + [FRONTIER_MON_PINSIR_2] = { .species = SPECIES_PINSIR, .moves = {MOVE_GUILLOTINE, MOVE_SWORDS_DANCE, MOVE_FLAIL, MOVE_ENDURE}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_JOLLY }, - [370] = { + [FRONTIER_MON_POLITOED_2] = { .species = SPECIES_POLITOED, .moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_MUD_SLAP, MOVE_SWAGGER}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [371] = { + [FRONTIER_MON_CLOYSTER_2] = { .species = SPECIES_CLOYSTER, .moves = {MOVE_DIVE, MOVE_TOXIC, MOVE_DOUBLE_TEAM, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CAREFUL }, - [372] = { + [FRONTIER_MON_DUGTRIO_1] = { .species = SPECIES_DUGTRIO, .moves = {MOVE_EARTHQUAKE, MOVE_TRI_ATTACK, MOVE_SLASH, MOVE_SAND_TOMB}, .itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [373] = { + [FRONTIER_MON_MEDICHAM_1] = { .species = SPECIES_MEDICHAM, .moves = {MOVE_PSYCHIC, MOVE_HI_JUMP_KICK, MOVE_CALM_MIND, MOVE_BATON_PASS}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [374] = { + [FRONTIER_MON_MISDREAVUS_1] = { .species = SPECIES_MISDREAVUS, .moves = {MOVE_PAIN_SPLIT, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY, MOVE_THUNDER_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_IMPISH }, - [375] = { + [FRONTIER_MON_FEAROW_1] = { .species = SPECIES_FEAROW, .moves = {MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_FACADE, MOVE_MUD_SLAP}, .itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [376] = { + [FRONTIER_MON_GRANBULL_1] = { .species = SPECIES_GRANBULL, .moves = {MOVE_MEGA_KICK, MOVE_SMELLING_SALT, MOVE_THUNDER_WAVE, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [377] = { + [FRONTIER_MON_JYNX_1] = { .species = SPECIES_JYNX, .moves = {MOVE_ICE_BEAM, MOVE_FAKE_OUT, MOVE_LOVELY_KISS, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [378] = { + [FRONTIER_MON_DUSCLOPS_1] = { .species = SPECIES_DUSCLOPS, .moves = {MOVE_WILL_O_WISP, MOVE_SEISMIC_TOSS, MOVE_PAIN_SPLIT, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_IMPISH }, - [379] = { + [FRONTIER_MON_DODRIO_1] = { .species = SPECIES_DODRIO, .moves = {MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_SLEEP_TALK, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [380] = { + [FRONTIER_MON_MR_MIME_1] = { .species = SPECIES_MR_MIME, .moves = {MOVE_PSYCHIC, MOVE_MAGICAL_LEAF, MOVE_FAKE_OUT, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [381] = { + [FRONTIER_MON_LANTURN_1] = { .species = SPECIES_LANTURN, .moves = {MOVE_SURF, MOVE_CONFUSE_RAY, MOVE_ATTRACT, MOVE_THUNDER_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_QUIET }, - [382] = { + [FRONTIER_MON_BRELOOM_1] = { .species = SPECIES_BRELOOM, .moves = {MOVE_SKY_UPPERCUT, MOVE_MACH_PUNCH, MOVE_HEADBUTT, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_JOLLY }, - [383] = { + [FRONTIER_MON_FORRETRESS_1] = { .species = SPECIES_FORRETRESS, .moves = {MOVE_DOUBLE_EDGE, MOVE_ROCK_SLIDE, MOVE_LIGHT_SCREEN, MOVE_SPIKES}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [384] = { + [FRONTIER_MON_WHISCASH_1] = { .species = SPECIES_WHISCASH, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_AMNESIA, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [385] = { + [FRONTIER_MON_XATU_1] = { .species = SPECIES_XATU, .moves = {MOVE_DRILL_PECK, MOVE_NIGHT_SHADE, MOVE_WISH, MOVE_FUTURE_SIGHT}, .itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [386] = { + [FRONTIER_MON_SKARMORY_1] = { .species = SPECIES_SKARMORY, .moves = {MOVE_STEEL_WING, MOVE_AIR_CUTTER, MOVE_COUNTER, MOVE_AGILITY}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [387] = { + [FRONTIER_MON_MAROWAK_1] = { .species = SPECIES_MAROWAK, .moves = {MOVE_BONEMERANG, MOVE_ROCK_SLIDE, MOVE_ICY_WIND, MOVE_HEADBUTT}, .itemTableId = BATTLE_FRONTIER_ITEM_THICK_CLUB, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [388] = { + [FRONTIER_MON_QUAGSIRE_1] = { .species = SPECIES_QUAGSIRE, .moves = {MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_COUNTER, MOVE_MUD_SLAP}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [389] = { + [FRONTIER_MON_CLEFABLE_1] = { .species = SPECIES_CLEFABLE, .moves = {MOVE_METRONOME, MOVE_DOUBLE_TEAM, MOVE_REFLECT, MOVE_FOLLOW_ME}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_BRAVE }, - [390] = { + [FRONTIER_MON_HARIYAMA_1] = { .species = SPECIES_HARIYAMA, .moves = {MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_COUNTER, MOVE_FAKE_OUT}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [391] = { + [FRONTIER_MON_RAICHU_1] = { .species = SPECIES_RAICHU, .moves = {MOVE_THUNDERBOLT, MOVE_QUICK_ATTACK, MOVE_LIGHT_SCREEN, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [392] = { + [FRONTIER_MON_DEWGONG_1] = { .species = SPECIES_DEWGONG, .moves = {MOVE_ICE_BEAM, MOVE_ICY_WIND, MOVE_HEADBUTT, MOVE_FAKE_OUT}, .itemTableId = BATTLE_FRONTIER_ITEM_NEVER_MELT_ICE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [393] = { + [FRONTIER_MON_MANECTRIC_1] = { .species = SPECIES_MANECTRIC, .moves = {MOVE_THUNDERBOLT, MOVE_FLASH, MOVE_QUICK_ATTACK, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_MAGNET, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [394] = { + [FRONTIER_MON_VILEPLUME_1] = { .species = SPECIES_VILEPLUME, .moves = {MOVE_SLUDGE_BOMB, MOVE_PETAL_DANCE, MOVE_MOONLIGHT, MOVE_AROMATHERAPY}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_IMPISH }, - [395] = { + [FRONTIER_MON_VICTREEBEL_1] = { .species = SPECIES_VICTREEBEL, .moves = {MOVE_GIGA_DRAIN, MOVE_SLEEP_POWDER, MOVE_SWEET_SCENT, MOVE_SYNTHESIS}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_QUIET }, - [396] = { + [FRONTIER_MON_ELECTRODE_1] = { .species = SPECIES_ELECTRODE, .moves = {MOVE_THUNDERBOLT, MOVE_SWIFT, MOVE_LIGHT_SCREEN, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [397] = { + [FRONTIER_MON_EXPLOUD_1] = { .species = SPECIES_EXPLOUD, .moves = {MOVE_HYPER_VOICE, MOVE_SHADOW_BALL, MOVE_SLEEP_TALK, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_IMPISH }, - [398] = { + [FRONTIER_MON_SHIFTRY_1] = { .species = SPECIES_SHIFTRY, .moves = {MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK, MOVE_FAKE_OUT}, .itemTableId = BATTLE_FRONTIER_ITEM_MIRACLE_SEED, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_QUIET }, - [399] = { + [FRONTIER_MON_GLALIE_1] = { .species = SPECIES_GLALIE, .moves = {MOVE_ICE_BEAM, MOVE_CRUNCH, MOVE_HAIL, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [400] = { + [FRONTIER_MON_LUDICOLO_1] = { .species = SPECIES_LUDICOLO, .moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [401] = { + [FRONTIER_MON_HYPNO_1] = { .species = SPECIES_HYPNO, .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_HYPNOSIS}, .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_QUIET }, - [402] = { + [FRONTIER_MON_GOLEM_1] = { .species = SPECIES_GOLEM, .moves = {MOVE_EARTHQUAKE, MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_ROCK_TOMB}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [403] = { + [FRONTIER_MON_RHYDON_1] = { .species = SPECIES_RHYDON, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SCARY_FACE, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [404] = { + [FRONTIER_MON_ALAKAZAM_1] = { .species = SPECIES_ALAKAZAM, .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_THUNDER_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [405] = { + [FRONTIER_MON_WEEZING_1] = { .species = SPECIES_WEEZING, .moves = {MOVE_SLUDGE_BOMB, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL, MOVE_SMOKESCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [406] = { + [FRONTIER_MON_KANGASKHAN_1] = { .species = SPECIES_KANGASKHAN, .moves = {MOVE_DIZZY_PUNCH, MOVE_BRICK_BREAK, MOVE_COUNTER, MOVE_FAKE_OUT}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [407] = { + [FRONTIER_MON_ELECTABUZZ_1] = { .species = SPECIES_ELECTABUZZ, .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_BRICK_BREAK, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [408] = { + [FRONTIER_MON_TAUROS_1] = { .species = SPECIES_TAUROS, .moves = {MOVE_EARTHQUAKE, MOVE_THRASH, MOVE_SWAGGER, MOVE_FACADE}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [409] = { + [FRONTIER_MON_SLOWBRO_1] = { .species = SPECIES_SLOWBRO, .moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_HEADBUTT, MOVE_ICE_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [410] = { + [FRONTIER_MON_SLOWKING_1] = { .species = SPECIES_SLOWKING, .moves = {MOVE_PSYCHIC, MOVE_BRICK_BREAK, MOVE_AMNESIA, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [411] = { + [FRONTIER_MON_MILTANK_1] = { .species = SPECIES_MILTANK, .moves = {MOVE_FACADE, MOVE_SHADOW_BALL, MOVE_COUNTER, MOVE_MILK_DRINK}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CAREFUL }, - [412] = { + [FRONTIER_MON_ALTARIA_1] = { .species = SPECIES_ALTARIA, .moves = {MOVE_DRAGON_CLAW, MOVE_AERIAL_ACE, MOVE_REFRESH, MOVE_BODY_SLAM}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [413] = { + [FRONTIER_MON_NIDOQUEEN_1] = { .species = SPECIES_NIDOQUEEN, .moves = {MOVE_SLUDGE_BOMB, MOVE_DOUBLE_KICK, MOVE_BODY_SLAM, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [414] = { + [FRONTIER_MON_NIDOKING_1] = { .species = SPECIES_NIDOKING, .moves = {MOVE_HORN_DRILL, MOVE_DOUBLE_KICK, MOVE_BODY_SLAM, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [415] = { + [FRONTIER_MON_MAGMAR_1] = { .species = SPECIES_MAGMAR, .moves = {MOVE_FLAMETHROWER, MOVE_SMOKESCREEN, MOVE_BRICK_BREAK, MOVE_BARRIER}, .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [416] = { + [FRONTIER_MON_CRADILY_1] = { .species = SPECIES_CRADILY, .moves = {MOVE_GIGA_DRAIN, MOVE_ROCK_SLIDE, MOVE_BARRIER, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [417] = { + [FRONTIER_MON_ARMALDO_1] = { .species = SPECIES_ARMALDO, .moves = {MOVE_SLASH, MOVE_AERIAL_ACE, MOVE_ANCIENT_POWER, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [418] = { + [FRONTIER_MON_GOLDUCK_1] = { .species = SPECIES_GOLDUCK, .moves = {MOVE_HYDRO_PUMP, MOVE_DIG, MOVE_BRICK_BREAK, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIET }, - [419] = { + [FRONTIER_MON_RAPIDASH_1] = { .species = SPECIES_RAPIDASH, .moves = {MOVE_FLAMETHROWER, MOVE_DOUBLE_KICK, MOVE_QUICK_ATTACK, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_QUIET }, - [420] = { + [FRONTIER_MON_MUK_1] = { .species = SPECIES_MUK, .moves = {MOVE_SLUDGE_BOMB, MOVE_BODY_SLAM, MOVE_SCREECH, MOVE_MINIMIZE}, .itemTableId = BATTLE_FRONTIER_ITEM_POISON_BARB, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [421] = { + [FRONTIER_MON_GENGAR_1] = { .species = SPECIES_GENGAR, .moves = {MOVE_DREAM_EATER, MOVE_HYPNOSIS, MOVE_CONFUSE_RAY, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_TIMID }, - [422] = { + [FRONTIER_MON_AMPHAROS_1] = { .species = SPECIES_AMPHAROS, .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_THUNDER_WAVE, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_MAGNET, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [423] = { + [FRONTIER_MON_SCIZOR_1] = { .species = SPECIES_SCIZOR, .moves = {MOVE_METAL_CLAW, MOVE_AERIAL_ACE, MOVE_COUNTER, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [424] = { + [FRONTIER_MON_HERACROSS_1] = { .species = SPECIES_HERACROSS, .moves = {MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_ROCK_TOMB, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [425] = { + [FRONTIER_MON_URSARING_1] = { .species = SPECIES_URSARING, .moves = {MOVE_MEGA_KICK, MOVE_CRUNCH, MOVE_AERIAL_ACE, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [426] = { + [FRONTIER_MON_HOUNDOOM_1] = { .species = SPECIES_HOUNDOOM, .moves = {MOVE_FLAMETHROWER, MOVE_SHADOW_BALL, MOVE_COUNTER, MOVE_WILL_O_WISP}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [427] = { + [FRONTIER_MON_DONPHAN_1] = { .species = SPECIES_DONPHAN, .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SWAGGER, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [428] = { + [FRONTIER_MON_CLAYDOL_1] = { .species = SPECIES_CLAYDOL, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SWAGGER, MOVE_PSYCH_UP}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [429] = { + [FRONTIER_MON_WAILORD_1] = { .species = SPECIES_WAILORD, .moves = {MOVE_SURF, MOVE_ICY_WIND, MOVE_BODY_SLAM, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_SASSY }, - [430] = { + [FRONTIER_MON_NINETALES_1] = { .species = SPECIES_NINETALES, .moves = {MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP}, .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [431] = { + [FRONTIER_MON_MACHAMP_1] = { .species = SPECIES_MACHAMP, .moves = {MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_COUNTER, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [432] = { + [FRONTIER_MON_SHUCKLE_1] = { .species = SPECIES_SHUCKLE, .moves = {MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_SLEEP_TALK, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_BRAVE }, - [433] = { + [FRONTIER_MON_STEELIX_1] = { .species = SPECIES_STEELIX, .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_ROCK_TOMB, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [434] = { + [FRONTIER_MON_TENTACRUEL_1] = { .species = SPECIES_TENTACRUEL, .moves = {MOVE_SLUDGE_BOMB, MOVE_ICY_WIND, MOVE_BARRIER, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_IMPISH }, - [435] = { + [FRONTIER_MON_AERODACTYL_1] = { .species = SPECIES_AERODACTYL, .moves = {MOVE_ANCIENT_POWER, MOVE_DRAGON_BREATH, MOVE_AERIAL_ACE, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [436] = { + [FRONTIER_MON_PORYGON2_1] = { .species = SPECIES_PORYGON2, .moves = {MOVE_TRI_ATTACK, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [437] = { + [FRONTIER_MON_GARDEVOIR_1] = { .species = SPECIES_GARDEVOIR, .moves = {MOVE_DREAM_EATER, MOVE_HYPNOSIS, MOVE_MAGICAL_LEAF, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_TIMID }, - [438] = { + [FRONTIER_MON_EXEGGUTOR_1] = { .species = SPECIES_EXEGGUTOR, .moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SYNTHESIS, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_QUIET }, - [439] = { + [FRONTIER_MON_STARMIE_1] = { .species = SPECIES_STARMIE, .moves = {MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_THUNDER_WAVE, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [440] = { + [FRONTIER_MON_FLYGON_1] = { .species = SPECIES_FLYGON, .moves = {MOVE_EARTHQUAKE, MOVE_STEEL_WING, MOVE_FAINT_ATTACK, MOVE_FACADE}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [441] = { + [FRONTIER_MON_VENUSAUR_1] = { .species = SPECIES_VENUSAUR, .moves = {MOVE_GIGA_DRAIN, MOVE_SUNNY_DAY, MOVE_SYNTHESIS, MOVE_SLEEP_POWDER}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [442] = { + [FRONTIER_MON_VAPOREON_1] = { .species = SPECIES_VAPOREON, .moves = {MOVE_SURF, MOVE_ROAR, MOVE_BITE, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [443] = { + [FRONTIER_MON_JOLTEON_1] = { .species = SPECIES_JOLTEON, .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [444] = { + [FRONTIER_MON_FLAREON_1] = { .species = SPECIES_FLAREON, .moves = {MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_BITE, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [445] = { + [FRONTIER_MON_MEGANIUM_1] = { .species = SPECIES_MEGANIUM, .moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_LIGHT_SCREEN, MOVE_SYNTHESIS}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [446] = { + [FRONTIER_MON_ESPEON_1] = { .species = SPECIES_ESPEON, .moves = {MOVE_PSYCHIC, MOVE_CHARM, MOVE_CALM_MIND, MOVE_BATON_PASS}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [447] = { + [FRONTIER_MON_UMBREON_1] = { .species = SPECIES_UMBREON, .moves = {MOVE_CONFUSE_RAY, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_BATON_PASS}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [448] = { + [FRONTIER_MON_BLASTOISE_1] = { .species = SPECIES_BLASTOISE, .moves = {MOVE_HYDRO_PUMP, MOVE_RAIN_DANCE, MOVE_BITE, MOVE_SEISMIC_TOSS}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [449] = { + [FRONTIER_MON_FERALIGATR_1] = { .species = SPECIES_FERALIGATR, .moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_AERIAL_ACE, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [450] = { + [FRONTIER_MON_AGGRON_1] = { .species = SPECIES_AGGRON, .moves = {MOVE_IRON_TAIL, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [451] = { + [FRONTIER_MON_BLAZIKEN_1] = { .species = SPECIES_BLAZIKEN, .moves = {MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_DOUBLE_KICK, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [452] = { + [FRONTIER_MON_WALREIN_1] = { .species = SPECIES_WALREIN, .moves = {MOVE_BLIZZARD, MOVE_HAIL, MOVE_YAWN, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [453] = { + [FRONTIER_MON_SCEPTILE_1] = { .species = SPECIES_SCEPTILE, .moves = {MOVE_LEAF_BLADE, MOVE_LEECH_SEED, MOVE_AERIAL_ACE, MOVE_DETECT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [454] = { + [FRONTIER_MON_CHARIZARD_1] = { .species = SPECIES_CHARIZARD, .moves = {MOVE_FIRE_BLAST, MOVE_SUNNY_DAY, MOVE_ROAR, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [455] = { + [FRONTIER_MON_TYPHLOSION_1] = { .species = SPECIES_TYPHLOSION, .moves = {MOVE_FIRE_BLAST, MOVE_SUNNY_DAY, MOVE_SMOKESCREEN, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [456] = { + [FRONTIER_MON_LAPRAS_1] = { .species = SPECIES_LAPRAS, .moves = {MOVE_SURF, MOVE_ATTRACT, MOVE_CONFUSE_RAY, MOVE_SING}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_BOLD }, - [457] = { + [FRONTIER_MON_CROBAT_1] = { .species = SPECIES_CROBAT, .moves = {MOVE_SLUDGE_BOMB, MOVE_BITE, MOVE_ASTONISH, MOVE_SCREECH}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [458] = { + [FRONTIER_MON_SWAMPERT_1] = { .species = SPECIES_SWAMPERT, .moves = {MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_REST, MOVE_CURSE}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [459] = { + [FRONTIER_MON_GYARADOS_1] = { .species = SPECIES_GYARADOS, .moves = {MOVE_RETURN, MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_DRAGON_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CAREFUL }, - [460] = { + [FRONTIER_MON_SNORLAX_1] = { .species = SPECIES_SNORLAX, .moves = {MOVE_FACADE, MOVE_SHADOW_BALL, MOVE_ATTRACT, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [461] = { + [FRONTIER_MON_KINGDRA_1] = { .species = SPECIES_KINGDRA, .moves = {MOVE_HYDRO_PUMP, MOVE_DRAGON_BREATH, MOVE_ICY_WIND, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [462] = { + [FRONTIER_MON_BLISSEY_1] = { .species = SPECIES_BLISSEY, .moves = {MOVE_TOXIC, MOVE_DOUBLE_TEAM, MOVE_SING, MOVE_SOFT_BOILED}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_BOLD }, - [463] = { + [FRONTIER_MON_MILOTIC_1] = { .species = SPECIES_MILOTIC, .moves = {MOVE_HYDRO_PUMP, MOVE_ICY_WIND, MOVE_RECOVER, MOVE_MIRROR_COAT}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [464] = { + [FRONTIER_MON_ARCANINE_1] = { .species = SPECIES_ARCANINE, .moves = {MOVE_FLAMETHROWER, MOVE_EXTREME_SPEED, MOVE_CRUNCH, MOVE_BODY_SLAM}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [465] = { + [FRONTIER_MON_SALAMENCE_1] = { .species = SPECIES_SALAMENCE, .moves = {MOVE_DRAGON_CLAW, MOVE_AERIAL_ACE, MOVE_HEADBUTT, MOVE_ROCK_SLIDE}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [466] = { + [FRONTIER_MON_METAGROSS_1] = { .species = SPECIES_METAGROSS, .moves = {MOVE_METEOR_MASH, MOVE_AERIAL_ACE, MOVE_FACADE, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [467] = { + [FRONTIER_MON_SLAKING_1] = { .species = SPECIES_SLAKING, .moves = {MOVE_YAWN, MOVE_BULK_UP, MOVE_SWAGGER, MOVE_AERIAL_ACE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [468] = { + [FRONTIER_MON_DUGTRIO_2] = { .species = SPECIES_DUGTRIO, .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE, MOVE_TRI_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [469] = { + [FRONTIER_MON_MEDICHAM_2] = { .species = SPECIES_MEDICHAM, .moves = {MOVE_REVERSAL, MOVE_ENDURE, MOVE_PSYCHIC, MOVE_FAKE_OUT}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [470] = { + [FRONTIER_MON_MAROWAK_2] = { .species = SPECIES_MAROWAK, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_ICY_WIND}, .itemTableId = BATTLE_FRONTIER_ITEM_THICK_CLUB, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [471] = { + [FRONTIER_MON_QUAGSIRE_2] = { .species = SPECIES_QUAGSIRE, .moves = {MOVE_CURSE, MOVE_ATTRACT, MOVE_YAWN, MOVE_ANCIENT_POWER}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_SASSY }, - [472] = { + [FRONTIER_MON_MISDREAVUS_2] = { .species = SPECIES_MISDREAVUS, .moves = {MOVE_PSYCHIC, MOVE_ATTRACT, MOVE_THUNDER_WAVE, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_BOLD }, - [473] = { + [FRONTIER_MON_FEAROW_2] = { .species = SPECIES_FEAROW, .moves = {MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_ATTRACT, MOVE_PURSUIT}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [474] = { + [FRONTIER_MON_GRANBULL_2] = { .species = SPECIES_GRANBULL, .moves = {MOVE_OVERHEAT, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_FACADE}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, .nature = NATURE_QUIET }, - [475] = { + [FRONTIER_MON_JYNX_2] = { .species = SPECIES_JYNX, .moves = {MOVE_PERISH_SONG, MOVE_MEAN_LOOK, MOVE_LOVELY_KISS, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_IMPISH }, - [476] = { + [FRONTIER_MON_DUSCLOPS_2] = { .species = SPECIES_DUSCLOPS, .moves = {MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_DOUBLE_TEAM, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_IMPISH }, - [477] = { + [FRONTIER_MON_DODRIO_2] = { .species = SPECIES_DODRIO, .moves = {MOVE_DRILL_PECK, MOVE_DOUBLE_EDGE, MOVE_FAINT_ATTACK, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [478] = { + [FRONTIER_MON_MR_MIME_2] = { .species = SPECIES_MR_MIME, .moves = {MOVE_BATON_PASS, MOVE_SWAGGER, MOVE_PSYCH_UP, MOVE_PSYCHIC}, .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [479] = { + [FRONTIER_MON_LANTURN_2] = { .species = SPECIES_LANTURN, .moves = {MOVE_FLAIL, MOVE_ENDURE, MOVE_THUNDERBOLT, MOVE_SURF}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [480] = { + [FRONTIER_MON_BRELOOM_2] = { .species = SPECIES_BRELOOM, .moves = {MOVE_GIGA_DRAIN, MOVE_LEECH_SEED, MOVE_FOCUS_PUNCH, MOVE_SPORE}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_DOCILE }, - [481] = { + [FRONTIER_MON_FORRETRESS_2] = { .species = SPECIES_FORRETRESS, .moves = {MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_COUNTER, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [482] = { + [FRONTIER_MON_SKARMORY_2] = { .species = SPECIES_SKARMORY, .moves = {MOVE_SPIKES, MOVE_ROAR, MOVE_DRILL_PECK, MOVE_TOXIC}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_CAREFUL }, - [483] = { + [FRONTIER_MON_WHISCASH_2] = { .species = SPECIES_WHISCASH, .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_SPARK, MOVE_FUTURE_SIGHT}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [484] = { + [FRONTIER_MON_XATU_2] = { .species = SPECIES_XATU, .moves = {MOVE_FLY, MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_IMPISH }, - [485] = { + [FRONTIER_MON_CLEFABLE_2] = { .species = SPECIES_CLEFABLE, .moves = {MOVE_METEOR_MASH, MOVE_COSMIC_POWER, MOVE_DOUBLE_TEAM, MOVE_FOLLOW_ME}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [486] = { + [FRONTIER_MON_HARIYAMA_2] = { .species = SPECIES_HARIYAMA, .moves = {MOVE_CROSS_CHOP, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_THUNDER_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIET }, - [487] = { + [FRONTIER_MON_RAICHU_2] = { .species = SPECIES_RAICHU, .moves = {MOVE_THUNDERBOLT, MOVE_REVERSAL, MOVE_ENDURE, MOVE_AGILITY}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [488] = { + [FRONTIER_MON_DEWGONG_2] = { .species = SPECIES_DEWGONG, .moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_ENCORE, MOVE_DISABLE}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [489] = { + [FRONTIER_MON_MANECTRIC_2] = { .species = SPECIES_MANECTRIC, .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_CRUNCH, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [490] = { + [FRONTIER_MON_VILEPLUME_2] = { .species = SPECIES_VILEPLUME, .moves = {MOVE_INGRAIN, MOVE_DOUBLE_TEAM, MOVE_TOXIC, MOVE_GIGA_DRAIN}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [491] = { + [FRONTIER_MON_VICTREEBEL_2] = { .species = SPECIES_VICTREEBEL, .moves = {MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB, MOVE_SLEEP_POWDER, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_SERIOUS }, - [492] = { + [FRONTIER_MON_ELECTRODE_2] = { .species = SPECIES_ELECTRODE, .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_DOUBLE_TEAM, MOVE_SWAGGER}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [493] = { + [FRONTIER_MON_EXPLOUD_2] = { .species = SPECIES_EXPLOUD, .moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [494] = { + [FRONTIER_MON_SHIFTRY_2] = { .species = SPECIES_SHIFTRY, .moves = {MOVE_LEECH_SEED, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_IMPISH }, - [495] = { + [FRONTIER_MON_GLALIE_2] = { .species = SPECIES_GLALIE, .moves = {MOVE_EXPLOSION, MOVE_ENDURE, MOVE_BODY_SLAM, MOVE_ICY_WIND}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [496] = { + [FRONTIER_MON_LUDICOLO_2] = { .species = SPECIES_LUDICOLO, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [497] = { + [FRONTIER_MON_HYPNO_2] = { .species = SPECIES_HYPNO, .moves = {MOVE_HYPNOSIS, MOVE_NIGHTMARE, MOVE_DREAM_EATER, MOVE_PSYCHIC}, .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [498] = { + [FRONTIER_MON_GOLEM_2] = { .species = SPECIES_GOLEM, .moves = {MOVE_FOCUS_PUNCH, MOVE_SUBSTITUTE, MOVE_DOUBLE_TEAM, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [499] = { + [FRONTIER_MON_RHYDON_2] = { .species = SPECIES_RHYDON, .moves = {MOVE_EARTHQUAKE, MOVE_HORN_DRILL, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [500] = { + [FRONTIER_MON_ALAKAZAM_2] = { .species = SPECIES_ALAKAZAM, .moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_THUNDER_WAVE, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [501] = { + [FRONTIER_MON_WEEZING_2] = { .species = SPECIES_WEEZING, .moves = {MOVE_MEMENTO, MOVE_SLUDGE_BOMB, MOVE_FACADE, MOVE_DESTINY_BOND}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [502] = { + [FRONTIER_MON_KANGASKHAN_2] = { .species = SPECIES_KANGASKHAN, .moves = {MOVE_CRUSH_CLAW, MOVE_SHADOW_BALL, MOVE_ATTRACT, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [503] = { + [FRONTIER_MON_ELECTABUZZ_2] = { .species = SPECIES_ELECTABUZZ, .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_ATTRACT, MOVE_FOCUS_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [504] = { + [FRONTIER_MON_TAUROS_2] = { .species = SPECIES_TAUROS, .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_DOUBLE_TEAM, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [505] = { + [FRONTIER_MON_SLOWBRO_2] = { .species = SPECIES_SLOWBRO, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_CALM_MIND, MOVE_YAWN}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_MODEST }, - [506] = { + [FRONTIER_MON_SLOWKING_2] = { .species = SPECIES_SLOWKING, .moves = {MOVE_YAWN, MOVE_THUNDER_WAVE, MOVE_SURF, MOVE_PSYCHIC}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [507] = { + [FRONTIER_MON_MILTANK_2] = { .species = SPECIES_MILTANK, .moves = {MOVE_FOCUS_PUNCH, MOVE_SHADOW_BALL, MOVE_ATTRACT, MOVE_THUNDER_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_CAREFUL }, - [508] = { + [FRONTIER_MON_ALTARIA_2] = { .species = SPECIES_ALTARIA, .moves = {MOVE_PERISH_SONG, MOVE_DRAGON_BREATH, MOVE_PURSUIT, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [509] = { + [FRONTIER_MON_NIDOQUEEN_2] = { .species = SPECIES_NIDOQUEEN, .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [510] = { + [FRONTIER_MON_NIDOKING_2] = { .species = SPECIES_NIDOKING, .moves = {MOVE_MEGA_KICK, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [511] = { + [FRONTIER_MON_MAGMAR_2] = { .species = SPECIES_MAGMAR, .moves = {MOVE_FIRE_BLAST, MOVE_SMOKESCREEN, MOVE_THUNDER_PUNCH, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [512] = { + [FRONTIER_MON_CRADILY_2] = { .species = SPECIES_CRADILY, .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SWAGGER, MOVE_PSYCH_UP}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [513] = { + [FRONTIER_MON_ARMALDO_2] = { .species = SPECIES_ARMALDO, .moves = {MOVE_IRON_TAIL, MOVE_ANCIENT_POWER, MOVE_BRICK_BREAK, MOVE_KNOCK_OFF}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [514] = { + [FRONTIER_MON_GOLDUCK_2] = { .species = SPECIES_GOLDUCK, .moves = {MOVE_CROSS_CHOP, MOVE_SURF, MOVE_SWAGGER, MOVE_PSYCH_UP}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [515] = { + [FRONTIER_MON_RAPIDASH_2] = { .species = SPECIES_RAPIDASH, .moves = {MOVE_FIRE_BLAST, MOVE_BOUNCE, MOVE_DOUBLE_TEAM, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [516] = { + [FRONTIER_MON_MUK_2] = { .species = SPECIES_MUK, .moves = {MOVE_CURSE, MOVE_REST, MOVE_SLUDGE_BOMB, MOVE_DYNAMIC_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [517] = { + [FRONTIER_MON_GENGAR_2] = { .species = SPECIES_GENGAR, .moves = {MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [518] = { + [FRONTIER_MON_AMPHAROS_2] = { .species = SPECIES_AMPHAROS, .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, MOVE_THUNDER_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [519] = { + [FRONTIER_MON_SCIZOR_2] = { .species = SPECIES_SCIZOR, .moves = {MOVE_SILVER_WIND, MOVE_STEEL_WING, MOVE_SWORDS_DANCE, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [520] = { + [FRONTIER_MON_HERACROSS_2] = { .species = SPECIES_HERACROSS, .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_ATTRACT, MOVE_BULK_UP}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_JOLLY }, - [521] = { + [FRONTIER_MON_URSARING_2] = { .species = SPECIES_URSARING, .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [522] = { + [FRONTIER_MON_HOUNDOOM_2] = { .species = SPECIES_HOUNDOOM, .moves = {MOVE_FIRE_BLAST, MOVE_CRUNCH, MOVE_ROAR, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [523] = { + [FRONTIER_MON_DONPHAN_2] = { .species = SPECIES_DONPHAN, .moves = {MOVE_FLAIL, MOVE_ENDURE, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_JOLLY }, - [524] = { + [FRONTIER_MON_CLAYDOL_2] = { .species = SPECIES_CLAYDOL, .moves = {MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_DOUBLE_TEAM, MOVE_COSMIC_POWER}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CALM }, - [525] = { + [FRONTIER_MON_WAILORD_2] = { .species = SPECIES_WAILORD, .moves = {MOVE_DOUBLE_EDGE, MOVE_REST, MOVE_CURSE, MOVE_AMNESIA}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [526] = { + [FRONTIER_MON_NINETALES_2] = { .species = SPECIES_NINETALES, .moves = {MOVE_HEAT_WAVE, MOVE_BODY_SLAM, MOVE_GRUDGE, MOVE_SUNNY_DAY}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_QUIRKY }, - [527] = { + [FRONTIER_MON_MACHAMP_2] = { .species = SPECIES_MACHAMP, .moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_BULK_UP, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [528] = { + [FRONTIER_MON_SHUCKLE_2] = { .species = SPECIES_SHUCKLE, .moves = {MOVE_SANDSTORM, MOVE_DIG, MOVE_FLASH, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_CAREFUL }, - [529] = { + [FRONTIER_MON_STEELIX_2] = { .species = SPECIES_STEELIX, .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_SANDSTORM, MOVE_BLOCK}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [530] = { + [FRONTIER_MON_TENTACRUEL_2] = { .species = SPECIES_TENTACRUEL, .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_SURF}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [531] = { + [FRONTIER_MON_AERODACTYL_2] = { .species = SPECIES_AERODACTYL, .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ANCIENT_POWER}, .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [532] = { + [FRONTIER_MON_PORYGON2_2] = { .species = SPECIES_PORYGON2, .moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_THUNDER_WAVE, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [533] = { + [FRONTIER_MON_GARDEVOIR_2] = { .species = SPECIES_GARDEVOIR, .moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [534] = { + [FRONTIER_MON_EXEGGUTOR_2] = { .species = SPECIES_EXEGGUTOR, .moves = {MOVE_RETURN, MOVE_CURSE, MOVE_SLEEP_POWDER, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [535] = { + [FRONTIER_MON_STARMIE_2] = { .species = SPECIES_STARMIE, .moves = {MOVE_HYDRO_PUMP, MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [536] = { + [FRONTIER_MON_FLYGON_2] = { .species = SPECIES_FLYGON, .moves = {MOVE_SOLAR_BEAM, MOVE_FIRE_BLAST, MOVE_CRUNCH, MOVE_SUNNY_DAY}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [537] = { + [FRONTIER_MON_VENUSAUR_2] = { .species = SPECIES_VENUSAUR, .moves = {MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_DOUBLE_TEAM, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [538] = { + [FRONTIER_MON_VAPOREON_2] = { .species = SPECIES_VAPOREON, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_BODY_SLAM, MOVE_SHADOW_BALL}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [539] = { + [FRONTIER_MON_JOLTEON_2] = { .species = SPECIES_JOLTEON, .moves = {MOVE_THUNDERBOLT, MOVE_DIG, MOVE_DOUBLE_KICK, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [540] = { + [FRONTIER_MON_FLAREON_2] = { .species = SPECIES_FLAREON, .moves = {MOVE_CURSE, MOVE_ATTRACT, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [541] = { + [FRONTIER_MON_MEGANIUM_2] = { .species = SPECIES_MEGANIUM, .moves = {MOVE_LEECH_SEED, MOVE_SUBSTITUTE, MOVE_DOUBLE_TEAM, MOVE_GRASS_WHISTLE}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CALM }, - [542] = { + [FRONTIER_MON_ESPEON_2] = { .species = SPECIES_ESPEON, .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_CALM_MIND, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [543] = { + [FRONTIER_MON_UMBREON_2] = { .species = SPECIES_UMBREON, .moves = {MOVE_CURSE, MOVE_SCREECH, MOVE_DOUBLE_TEAM, MOVE_DOUBLE_EDGE}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [544] = { + [FRONTIER_MON_BLASTOISE_2] = { .species = SPECIES_BLASTOISE, .moves = {MOVE_HYDRO_PUMP, MOVE_MEGA_KICK, MOVE_BRICK_BREAK, MOVE_MIRROR_COAT}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_BRAVE }, - [545] = { + [FRONTIER_MON_FERALIGATR_2] = { .species = SPECIES_FERALIGATR, .moves = {MOVE_SURF, MOVE_DRAGON_CLAW, MOVE_BRICK_BREAK, MOVE_SCARY_FACE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_SASSY }, - [546] = { + [FRONTIER_MON_AGGRON_2] = { .species = SPECIES_AGGRON, .moves = {MOVE_FOCUS_PUNCH, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [547] = { + [FRONTIER_MON_BLAZIKEN_2] = { .species = SPECIES_BLAZIKEN, .moves = {MOVE_BLAZE_KICK, MOVE_MEGA_KICK, MOVE_THUNDER_PUNCH, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [548] = { + [FRONTIER_MON_WALREIN_2] = { .species = SPECIES_WALREIN, .moves = {MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_CURSE, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [549] = { + [FRONTIER_MON_SCEPTILE_2] = { .species = SPECIES_SCEPTILE, .moves = {MOVE_LEAF_BLADE, MOVE_THUNDER_PUNCH, MOVE_ATTRACT, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [550] = { + [FRONTIER_MON_CHARIZARD_2] = { .species = SPECIES_CHARIZARD, .moves = {MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_DRAGON_DANCE, MOVE_SMOKESCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [551] = { + [FRONTIER_MON_TYPHLOSION_2] = { .species = SPECIES_TYPHLOSION, .moves = {MOVE_FLAMETHROWER, MOVE_THUNDER_PUNCH, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [552] = { + [FRONTIER_MON_LAPRAS_2] = { .species = SPECIES_LAPRAS, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_BODY_SLAM, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_TIMID }, - [553] = { + [FRONTIER_MON_CROBAT_2] = { .species = SPECIES_CROBAT, .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CALM }, - [554] = { + [FRONTIER_MON_SWAMPERT_2] = { .species = SPECIES_SWAMPERT, .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_MIRROR_COAT}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [555] = { + [FRONTIER_MON_GYARADOS_2] = { .species = SPECIES_GYARADOS, .moves = {MOVE_HYDRO_PUMP, MOVE_THUNDERBOLT, MOVE_FIRE_BLAST, MOVE_BLIZZARD}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [556] = { + [FRONTIER_MON_SNORLAX_2] = { .species = SPECIES_SNORLAX, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_CURSE, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [557] = { + [FRONTIER_MON_KINGDRA_2] = { .species = SPECIES_KINGDRA, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_DRAGON_BREATH, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [558] = { + [FRONTIER_MON_BLISSEY_2] = { .species = SPECIES_BLISSEY, .moves = {MOVE_SEISMIC_TOSS, MOVE_SING, MOVE_ATTRACT, MOVE_SUBSTITUTE}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_BOLD }, - [559] = { + [FRONTIER_MON_MILOTIC_2] = { .species = SPECIES_MILOTIC, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_SAFEGUARD, MOVE_MIRROR_COAT}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [560] = { + [FRONTIER_MON_ARCANINE_2] = { .species = SPECIES_ARCANINE, .moves = {MOVE_FIRE_BLAST, MOVE_SUNNY_DAY, MOVE_CRUNCH, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_DOCILE }, - [561] = { + [FRONTIER_MON_SALAMENCE_2] = { .species = SPECIES_SALAMENCE, .moves = {MOVE_DOUBLE_EDGE, MOVE_CRUNCH, MOVE_SWAGGER, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [562] = { + [FRONTIER_MON_METAGROSS_2] = { .species = SPECIES_METAGROSS, .moves = {MOVE_EARTHQUAKE, MOVE_METEOR_MASH, MOVE_PSYCH_UP, MOVE_SWAGGER}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [563] = { + [FRONTIER_MON_SLAKING_2] = { .species = SPECIES_SLAKING, .moves = {MOVE_MEGA_KICK, MOVE_SHADOW_BALL, MOVE_YAWN, MOVE_AMNESIA}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_ADAMANT }, - [564] = { + [FRONTIER_MON_DUGTRIO_3] = { .species = SPECIES_DUGTRIO, .moves = {MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_SLUDGE_BOMB, MOVE_FISSURE}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [565] = { + [FRONTIER_MON_MEDICHAM_3] = { .species = SPECIES_MEDICHAM, .moves = {MOVE_DYNAMIC_PUNCH, MOVE_THUNDER_PUNCH, MOVE_ICE_PUNCH, MOVE_FIRE_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_HARDY }, - [566] = { + [FRONTIER_MON_MISDREAVUS_3] = { .species = SPECIES_MISDREAVUS, .moves = {MOVE_PERISH_SONG, MOVE_MEAN_LOOK, MOVE_THUNDER_WAVE, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [567] = { + [FRONTIER_MON_FEAROW_3] = { .species = SPECIES_FEAROW, .moves = {MOVE_DRILL_PECK, MOVE_RETURN, MOVE_STEEL_WING, MOVE_FAINT_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [568] = { + [FRONTIER_MON_GRANBULL_3] = { .species = SPECIES_GRANBULL, .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_SLUDGE_BOMB, MOVE_ROCK_SLIDE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [569] = { + [FRONTIER_MON_JYNX_3] = { .species = SPECIES_JYNX, .moves = {MOVE_DREAM_EATER, MOVE_LOVELY_KISS, MOVE_ATTRACT, MOVE_SUBSTITUTE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [570] = { + [FRONTIER_MON_DUSCLOPS_3] = { .species = SPECIES_DUSCLOPS, .moves = {MOVE_PSYCH_UP, MOVE_SWAGGER, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [571] = { + [FRONTIER_MON_DODRIO_3] = { .species = SPECIES_DODRIO, .moves = {MOVE_DOUBLE_EDGE, MOVE_DRILL_PECK, MOVE_STEEL_WING, MOVE_FAINT_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [572] = { + [FRONTIER_MON_MR_MIME_3] = { .species = SPECIES_MR_MIME, .moves = {MOVE_TRICK, MOVE_TORMENT, MOVE_PSYCHIC, MOVE_THUNDERBOLT}, .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [573] = { + [FRONTIER_MON_LANTURN_3] = { .species = SPECIES_LANTURN, .moves = {MOVE_HYDRO_PUMP, MOVE_THUNDER, MOVE_CONFUSE_RAY, MOVE_RAIN_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [574] = { + [FRONTIER_MON_BRELOOM_3] = { .species = SPECIES_BRELOOM, .moves = {MOVE_IRON_TAIL, MOVE_FOCUS_PUNCH, MOVE_ATTRACT, MOVE_SPORE}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [575] = { + [FRONTIER_MON_FORRETRESS_3] = { .species = SPECIES_FORRETRESS, .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_ZAP_CANNON}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIET }, - [576] = { + [FRONTIER_MON_WHISCASH_3] = { .species = SPECIES_WHISCASH, .moves = {MOVE_SLEEP_TALK, MOVE_REST, MOVE_SURF, MOVE_FISSURE}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_HARDY }, - [577] = { + [FRONTIER_MON_XATU_3] = { .species = SPECIES_XATU, .moves = {MOVE_DRILL_PECK, MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_STEEL_WING}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_JOLLY }, - [578] = { + [FRONTIER_MON_SKARMORY_3] = { .species = SPECIES_SKARMORY, .moves = {MOVE_TOXIC, MOVE_CURSE, MOVE_REST, MOVE_FLY}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CAREFUL }, - [579] = { + [FRONTIER_MON_MAROWAK_3] = { .species = SPECIES_MAROWAK, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_THICK_CLUB, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [580] = { + [FRONTIER_MON_QUAGSIRE_3] = { .species = SPECIES_QUAGSIRE, .moves = {MOVE_EARTHQUAKE, MOVE_SLUDGE_BOMB, MOVE_DOUBLE_EDGE, MOVE_CURSE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [581] = { + [FRONTIER_MON_CLEFABLE_3] = { .species = SPECIES_CLEFABLE, .moves = {MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_FLAMETHROWER, MOVE_MAGICAL_LEAF}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [582] = { + [FRONTIER_MON_HARIYAMA_3] = { .species = SPECIES_HARIYAMA, .moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FACADE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [583] = { + [FRONTIER_MON_RAICHU_3] = { .species = SPECIES_RAICHU, .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_IRON_TAIL, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_DOCILE }, - [584] = { + [FRONTIER_MON_DEWGONG_3] = { .species = SPECIES_DEWGONG, .moves = {MOVE_HORN_DRILL, MOVE_SHEER_COLD, MOVE_SLEEP_TALK, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [585] = { + [FRONTIER_MON_MANECTRIC_3] = { .species = SPECIES_MANECTRIC, .moves = {MOVE_THUNDERBOLT, MOVE_IRON_TAIL, MOVE_THUNDER_WAVE, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_QUIRKY }, - [586] = { + [FRONTIER_MON_VILEPLUME_3] = { .species = SPECIES_VILEPLUME, .moves = {MOVE_ATTRACT, MOVE_STUN_SPORE, MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [587] = { + [FRONTIER_MON_VICTREEBEL_3] = { .species = SPECIES_VICTREEBEL, .moves = {MOVE_STUN_SPORE, MOVE_INGRAIN, MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [588] = { + [FRONTIER_MON_ELECTRODE_3] = { .species = SPECIES_ELECTRODE, .moves = {MOVE_EXPLOSION, MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ENDURE}, .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_NAUGHTY }, - [589] = { + [FRONTIER_MON_EXPLOUD_3] = { .species = SPECIES_EXPLOUD, .moves = {MOVE_OVERHEAT, MOVE_ICE_BEAM, MOVE_THUNDER_PUNCH, MOVE_EXTRASENSORY}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [590] = { + [FRONTIER_MON_SHIFTRY_3] = { .species = SPECIES_SHIFTRY, .moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_SYNTHESIS}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [591] = { + [FRONTIER_MON_GLALIE_3] = { .species = SPECIES_GLALIE, .moves = {MOVE_BLIZZARD, MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [592] = { + [FRONTIER_MON_LUDICOLO_3] = { .species = SPECIES_LUDICOLO, .moves = {MOVE_LEECH_SEED, MOVE_RAIN_DANCE, MOVE_DOUBLE_TEAM, MOVE_GIGA_DRAIN}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [593] = { + [FRONTIER_MON_HYPNO_3] = { .species = SPECIES_HYPNO, .moves = {MOVE_PSYCH_UP, MOVE_SWAGGER, MOVE_MEGA_KICK, MOVE_SHADOW_BALL}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [594] = { + [FRONTIER_MON_GOLEM_3] = { .species = SPECIES_GOLEM, .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [595] = { + [FRONTIER_MON_RHYDON_3] = { .species = SPECIES_RHYDON, .moves = {MOVE_MEGAHORN, MOVE_CRUSH_CLAW, MOVE_EARTHQUAKE, MOVE_HORN_DRILL}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [596] = { + [FRONTIER_MON_ALAKAZAM_3] = { .species = SPECIES_ALAKAZAM, .moves = {MOVE_TRICK, MOVE_DISABLE, MOVE_PSYCHIC, MOVE_SKILL_SWAP}, .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [597] = { + [FRONTIER_MON_WEEZING_3] = { .species = SPECIES_WEEZING, .moves = {MOVE_EXPLOSION, MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [598] = { + [FRONTIER_MON_KANGASKHAN_3] = { .species = SPECIES_KANGASKHAN, .moves = {MOVE_REVERSAL, MOVE_ENDURE, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_JOLLY }, - [599] = { + [FRONTIER_MON_ELECTABUZZ_3] = { .species = SPECIES_ELECTABUZZ, .moves = {MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_THUNDERBOLT, MOVE_CROSS_CHOP}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_QUIRKY }, - [600] = { + [FRONTIER_MON_TAUROS_3] = { .species = SPECIES_TAUROS, .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_ICE_BEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [601] = { + [FRONTIER_MON_SLOWBRO_3] = { .species = SPECIES_SLOWBRO, .moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, .nature = NATURE_QUIET }, - [602] = { + [FRONTIER_MON_SLOWKING_3] = { .species = SPECIES_SLOWKING, .moves = {MOVE_PSYCHIC, MOVE_SURF, MOVE_ICE_BEAM, MOVE_EARTHQUAKE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIET }, - [603] = { + [FRONTIER_MON_MILTANK_3] = { .species = SPECIES_MILTANK, .moves = {MOVE_REVERSAL, MOVE_ENDURE, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [604] = { + [FRONTIER_MON_ALTARIA_3] = { .species = SPECIES_ALTARIA, .moves = {MOVE_SING, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [605] = { + [FRONTIER_MON_NIDOQUEEN_3] = { .species = SPECIES_NIDOQUEEN, .moves = {MOVE_THUNDERBOLT, MOVE_FLAMETHROWER, MOVE_ICE_BEAM, MOVE_CRUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [606] = { + [FRONTIER_MON_NIDOKING_3] = { .species = SPECIES_NIDOKING, .moves = {MOVE_HORN_DRILL, MOVE_FIRE_BLAST, MOVE_BLIZZARD, MOVE_SURF}, .itemTableId = BATTLE_FRONTIER_ITEM_LEPPA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [607] = { + [FRONTIER_MON_MAGMAR_3] = { .species = SPECIES_MAGMAR, .moves = {MOVE_MEGA_KICK, MOVE_CROSS_CHOP, MOVE_IRON_TAIL, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_IMPISH }, - [608] = { + [FRONTIER_MON_CRADILY_3] = { .species = SPECIES_CRADILY, .moves = {MOVE_SUBSTITUTE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [609] = { + [FRONTIER_MON_ARMALDO_3] = { .species = SPECIES_ARMALDO, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK, MOVE_SWORDS_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [610] = { + [FRONTIER_MON_GOLDUCK_3] = { .species = SPECIES_GOLDUCK, .moves = {MOVE_HYDRO_PUMP, MOVE_CROSS_CHOP, MOVE_BLIZZARD, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [611] = { + [FRONTIER_MON_RAPIDASH_3] = { .species = SPECIES_RAPIDASH, .moves = {MOVE_OVERHEAT, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_HYPNOSIS}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [612] = { + [FRONTIER_MON_MUK_3] = { .species = SPECIES_MUK, .moves = {MOVE_SLUDGE_BOMB, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER, MOVE_ICE_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_QUIET }, - [613] = { + [FRONTIER_MON_GENGAR_3] = { .species = SPECIES_GENGAR, .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_GIGA_DRAIN, MOVE_SKILL_SWAP}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [614] = { + [FRONTIER_MON_AMPHAROS_3] = { .species = SPECIES_AMPHAROS, .moves = {MOVE_THUNDERBOLT, MOVE_MEGA_KICK, MOVE_IRON_TAIL, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [615] = { + [FRONTIER_MON_SCIZOR_3] = { .species = SPECIES_SCIZOR, .moves = {MOVE_REVERSAL, MOVE_ENDURE, MOVE_AGILITY, MOVE_SLASH}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_CAREFUL }, - [616] = { + [FRONTIER_MON_HERACROSS_3] = { .species = SPECIES_HERACROSS, .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [617] = { + [FRONTIER_MON_URSARING_3] = { .species = SPECIES_URSARING, .moves = {MOVE_FIRE_PUNCH, MOVE_THUNDER_PUNCH, MOVE_ICE_PUNCH, MOVE_CRUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [618] = { + [FRONTIER_MON_HOUNDOOM_3] = { .species = SPECIES_HOUNDOOM, .moves = {MOVE_OVERHEAT, MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB, MOVE_DOUBLE_EDGE}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [619] = { + [FRONTIER_MON_DONPHAN_3] = { .species = SPECIES_DONPHAN, .moves = {MOVE_FISSURE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SECRET_POWER}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [620] = { + [FRONTIER_MON_CLAYDOL_3] = { .species = SPECIES_CLAYDOL, .moves = {MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [621] = { + [FRONTIER_MON_WAILORD_3] = { .species = SPECIES_WAILORD, .moves = {MOVE_HYDRO_PUMP, MOVE_FISSURE, MOVE_DOUBLE_TEAM, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [622] = { + [FRONTIER_MON_NINETALES_3] = { .species = SPECIES_NINETALES, .moves = {MOVE_FIRE_BLAST, MOVE_IRON_TAIL, MOVE_CONFUSE_RAY, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_QUIRKY }, - [623] = { + [FRONTIER_MON_MACHAMP_3] = { .species = SPECIES_MACHAMP, .moves = {MOVE_CROSS_CHOP, MOVE_FIRE_BLAST, MOVE_THUNDER_PUNCH, MOVE_ICE_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [624] = { + [FRONTIER_MON_SHUCKLE_3] = { .species = SPECIES_SHUCKLE, .moves = {MOVE_SUBSTITUTE, MOVE_ATTRACT, MOVE_TOXIC, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_CAREFUL }, - [625] = { + [FRONTIER_MON_STEELIX_3] = { .species = SPECIES_STEELIX, .moves = {MOVE_EARTHQUAKE, MOVE_BODY_SLAM, MOVE_ROCK_SLIDE, MOVE_EXPLOSION}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [626] = { + [FRONTIER_MON_TENTACRUEL_3] = { .species = SPECIES_TENTACRUEL, .moves = {MOVE_SURF, MOVE_GIGA_DRAIN, MOVE_ICE_BEAM, MOVE_MIRROR_COAT}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [627] = { + [FRONTIER_MON_AERODACTYL_3] = { .species = SPECIES_AERODACTYL, .moves = {MOVE_DOUBLE_EDGE, MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_DRAGON_CLAW}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [628] = { + [FRONTIER_MON_PORYGON2_3] = { .species = SPECIES_PORYGON2, .moves = {MOVE_PSYCHIC, MOVE_TRI_ATTACK, MOVE_THUNDER_WAVE, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [629] = { + [FRONTIER_MON_GARDEVOIR_3] = { .species = SPECIES_GARDEVOIR, .moves = {MOVE_PSYCHIC, MOVE_ICE_PUNCH, MOVE_FIRE_PUNCH, MOVE_MAGICAL_LEAF}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [630] = { + [FRONTIER_MON_EXEGGUTOR_3] = { .species = SPECIES_EXEGGUTOR, .moves = {MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC, MOVE_EXPLOSION}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [631] = { + [FRONTIER_MON_STARMIE_3] = { .species = SPECIES_STARMIE, .moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [632] = { + [FRONTIER_MON_FLYGON_3] = { .species = SPECIES_FLYGON, .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FLAMETHROWER, MOVE_GIGA_DRAIN}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [633] = { + [FRONTIER_MON_VENUSAUR_3] = { .species = SPECIES_VENUSAUR, .moves = {MOVE_DOUBLE_EDGE, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_SLEEP_POWDER}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [634] = { + [FRONTIER_MON_VAPOREON_3] = { .species = SPECIES_VAPOREON, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_ACID_ARMOR, MOVE_BATON_PASS}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CALM }, - [635] = { + [FRONTIER_MON_JOLTEON_3] = { .species = SPECIES_JOLTEON, .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_AGILITY, MOVE_BATON_PASS}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [636] = { + [FRONTIER_MON_FLAREON_3] = { .species = SPECIES_FLAREON, .moves = {MOVE_SHADOW_BALL, MOVE_FLAIL, MOVE_ENDURE, MOVE_OVERHEAT}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_JOLLY }, - [637] = { + [FRONTIER_MON_MEGANIUM_3] = { .species = SPECIES_MEGANIUM, .moves = {MOVE_EARTHQUAKE, MOVE_FLAIL, MOVE_ENDURE, MOVE_GIGA_DRAIN}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_JOLLY }, - [638] = { + [FRONTIER_MON_ESPEON_3] = { .species = SPECIES_ESPEON, .moves = {MOVE_PSYCHIC, MOVE_BITE, MOVE_WISH, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [639] = { + [FRONTIER_MON_UMBREON_3] = { .species = SPECIES_UMBREON, .moves = {MOVE_SWAGGER, MOVE_PSYCH_UP, MOVE_ATTRACT, MOVE_SHADOW_BALL}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [640] = { + [FRONTIER_MON_BLASTOISE_3] = { .species = SPECIES_BLASTOISE, .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [641] = { + [FRONTIER_MON_FERALIGATR_3] = { .species = SPECIES_FERALIGATR, .moves = {MOVE_HYDRO_PUMP, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [642] = { + [FRONTIER_MON_AGGRON_3] = { .species = SPECIES_AGGRON, .moves = {MOVE_SURF, MOVE_THUNDER, MOVE_FIRE_BLAST, MOVE_BLIZZARD}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [643] = { + [FRONTIER_MON_BLAZIKEN_3] = { .species = SPECIES_BLAZIKEN, .moves = {MOVE_OVERHEAT, MOVE_EARTHQUAKE, MOVE_ENDURE, MOVE_REVERSAL}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [644] = { + [FRONTIER_MON_WALREIN_3] = { .species = SPECIES_WALREIN, .moves = {MOVE_SHEER_COLD, MOVE_FISSURE, MOVE_SURF, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [645] = { + [FRONTIER_MON_SCEPTILE_3] = { .species = SPECIES_SCEPTILE, .moves = {MOVE_LEAF_BLADE, MOVE_EARTHQUAKE, MOVE_CRUSH_CLAW, MOVE_AERIAL_ACE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [646] = { + [FRONTIER_MON_CHARIZARD_3] = { .species = SPECIES_CHARIZARD, .moves = {MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_BITE, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [647] = { + [FRONTIER_MON_TYPHLOSION_3] = { .species = SPECIES_TYPHLOSION, .moves = {MOVE_EARTHQUAKE, MOVE_OVERHEAT, MOVE_ENDURE, MOVE_REVERSAL}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [648] = { + [FRONTIER_MON_LAPRAS_3] = { .species = SPECIES_LAPRAS, .moves = {MOVE_DOUBLE_EDGE, MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_DRAGON_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [649] = { + [FRONTIER_MON_CROBAT_3] = { .species = SPECIES_CROBAT, .moves = {MOVE_AIR_CUTTER, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_SCREECH}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [650] = { + [FRONTIER_MON_SWAMPERT_3] = { .species = SPECIES_SWAMPERT, .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_BRAVE }, - [651] = { + [FRONTIER_MON_GYARADOS_3] = { .species = SPECIES_GYARADOS, .moves = {MOVE_SURF, MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_EARTHQUAKE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [652] = { + [FRONTIER_MON_SNORLAX_3] = { .species = SPECIES_SNORLAX, .moves = {MOVE_MEGA_KICK, MOVE_SHADOW_BALL, MOVE_SWAGGER, MOVE_PSYCH_UP}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_ADAMANT }, - [653] = { + [FRONTIER_MON_KINGDRA_3] = { .species = SPECIES_KINGDRA, .moves = {MOVE_FLAIL, MOVE_HYDRO_PUMP, MOVE_DRAGON_DANCE, MOVE_ENDURE}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [654] = { + [FRONTIER_MON_BLISSEY_3] = { .species = SPECIES_BLISSEY, .moves = {MOVE_FIRE_BLAST, MOVE_BLIZZARD, MOVE_CALM_MIND, MOVE_SOFT_BOILED}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_BOLD }, - [655] = { + [FRONTIER_MON_MILOTIC_3] = { .species = SPECIES_MILOTIC, .moves = {MOVE_SURF, MOVE_BLIZZARD, MOVE_ATTRACT, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [656] = { + [FRONTIER_MON_ARCANINE_3] = { .species = SPECIES_ARCANINE, .moves = {MOVE_OVERHEAT, MOVE_EXTREME_SPEED, MOVE_CRUNCH, MOVE_AERIAL_ACE}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [657] = { + [FRONTIER_MON_SALAMENCE_3] = { .species = SPECIES_SALAMENCE, .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_ENDURE}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [658] = { + [FRONTIER_MON_METAGROSS_3] = { .species = SPECIES_METAGROSS, .moves = {MOVE_EARTHQUAKE, MOVE_METEOR_MASH, MOVE_DOUBLE_TEAM, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [659] = { + [FRONTIER_MON_SLAKING_3] = { .species = SPECIES_SLAKING, .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_ADAMANT }, - [660] = { + [FRONTIER_MON_DUGTRIO_4] = { .species = SPECIES_DUGTRIO, .moves = {MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_ROCK_SLIDE, MOVE_FISSURE}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [661] = { + [FRONTIER_MON_MEDICHAM_4] = { .species = SPECIES_MEDICHAM, .moves = {MOVE_MEGA_KICK, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_ROCK_SLIDE}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [662] = { + [FRONTIER_MON_MISDREAVUS_4] = { .species = SPECIES_MISDREAVUS, .moves = {MOVE_DESTINY_BOND, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_THUNDERBOLT}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_TIMID }, - [663] = { + [FRONTIER_MON_FEAROW_4] = { .species = SPECIES_FEAROW, .moves = {MOVE_DRILL_PECK, MOVE_DOUBLE_EDGE, MOVE_STEEL_WING, MOVE_SKY_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [664] = { + [FRONTIER_MON_GRANBULL_4] = { .species = SPECIES_GRANBULL, .moves = {MOVE_MEGA_KICK, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_SHADOW_BALL}, .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_BRAVE }, - [665] = { + [FRONTIER_MON_JYNX_4] = { .species = SPECIES_JYNX, .moves = {MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_LOVELY_KISS, MOVE_FAKE_TEARS}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [666] = { + [FRONTIER_MON_DUSCLOPS_4] = { .species = SPECIES_DUSCLOPS, .moves = {MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_CURSE, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [667] = { + [FRONTIER_MON_DODRIO_4] = { .species = SPECIES_DODRIO, .moves = {MOVE_FLAIL, MOVE_ENDURE, MOVE_DRILL_PECK, MOVE_FACADE}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [668] = { + [FRONTIER_MON_MR_MIME_4] = { .species = SPECIES_MR_MIME, .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_FIRE_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [669] = { + [FRONTIER_MON_LANTURN_4] = { .species = SPECIES_LANTURN, .moves = {MOVE_SURF, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [670] = { + [FRONTIER_MON_BRELOOM_4] = { .species = SPECIES_BRELOOM, .moves = {MOVE_FOCUS_PUNCH, MOVE_SLUDGE_BOMB, MOVE_SPORE, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [671] = { + [FRONTIER_MON_FORRETRESS_4] = { .species = SPECIES_FORRETRESS, .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DOUBLE_EDGE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [672] = { + [FRONTIER_MON_WHISCASH_4] = { .species = SPECIES_WHISCASH, .moves = {MOVE_FISSURE, MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIET }, - [673] = { + [FRONTIER_MON_XATU_4] = { .species = SPECIES_XATU, .moves = {MOVE_PSYCHIC, MOVE_DRILL_PECK, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [674] = { + [FRONTIER_MON_SKARMORY_4] = { .species = SPECIES_SKARMORY, .moves = {MOVE_DRILL_PECK, MOVE_STEEL_WING, MOVE_COUNTER, MOVE_ROCK_SLIDE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [675] = { + [FRONTIER_MON_MAROWAK_4] = { .species = SPECIES_MAROWAK, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_MEGA_KICK}, .itemTableId = BATTLE_FRONTIER_ITEM_THICK_CLUB, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [676] = { + [FRONTIER_MON_QUAGSIRE_4] = { .species = SPECIES_QUAGSIRE, .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_AMNESIA}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_SASSY }, - [677] = { + [FRONTIER_MON_CLEFABLE_4] = { .species = SPECIES_CLEFABLE, .moves = {MOVE_MEGA_KICK, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_SOFT_BOILED}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [678] = { + [FRONTIER_MON_HARIYAMA_4] = { .species = SPECIES_HARIYAMA, .moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FAKE_OUT}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [679] = { + [FRONTIER_MON_RAICHU_4] = { .species = SPECIES_RAICHU, .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_PROTECT, MOVE_MEGA_KICK}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [680] = { + [FRONTIER_MON_DEWGONG_4] = { .species = SPECIES_DEWGONG, .moves = {MOVE_SHEER_COLD, MOVE_ICE_BEAM, MOVE_SURF, MOVE_SIGNAL_BEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [681] = { + [FRONTIER_MON_MANECTRIC_4] = { .species = SPECIES_MANECTRIC, .moves = {MOVE_THUNDERBOLT, MOVE_CRUNCH, MOVE_THUNDER_WAVE, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [682] = { + [FRONTIER_MON_VILEPLUME_4] = { .species = SPECIES_VILEPLUME, .moves = {MOVE_SOLAR_BEAM, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_SYNTHESIS}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIET }, - [683] = { + [FRONTIER_MON_VICTREEBEL_4] = { .species = SPECIES_VICTREEBEL, .moves = {MOVE_GIGA_DRAIN, MOVE_DOUBLE_EDGE, MOVE_SLUDGE_BOMB, MOVE_SYNTHESIS}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [684] = { + [FRONTIER_MON_ELECTRODE_4] = { .species = SPECIES_ELECTRODE, .moves = {MOVE_EXPLOSION, MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_MIRROR_COAT}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_NAUGHTY }, - [685] = { + [FRONTIER_MON_EXPLOUD_4] = { .species = SPECIES_EXPLOUD, .moves = {MOVE_MEGA_KICK, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_OVERHEAT}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [686] = { + [FRONTIER_MON_SHIFTRY_4] = { .species = SPECIES_SHIFTRY, .moves = {MOVE_EXPLOSION, MOVE_GIGA_DRAIN, MOVE_MEGA_KICK, MOVE_FAKE_OUT}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [687] = { + [FRONTIER_MON_GLALIE_4] = { .species = SPECIES_GLALIE, .moves = {MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_SHADOW_BALL}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [688] = { + [FRONTIER_MON_LUDICOLO_4] = { .species = SPECIES_LUDICOLO, .moves = {MOVE_LEECH_SEED, MOVE_RAIN_DANCE, MOVE_DOUBLE_TEAM, MOVE_TOXIC}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [689] = { + [FRONTIER_MON_HYPNO_4] = { .species = SPECIES_HYPNO, .moves = {MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [690] = { + [FRONTIER_MON_GOLEM_4] = { .species = SPECIES_GOLEM, .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DOUBLE_EDGE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [691] = { + [FRONTIER_MON_RHYDON_4] = { .species = SPECIES_RHYDON, .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_HORN_DRILL}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [692] = { + [FRONTIER_MON_ALAKAZAM_4] = { .species = SPECIES_ALAKAZAM, .moves = {MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [693] = { + [FRONTIER_MON_WEEZING_4] = { .species = SPECIES_WEEZING, .moves = {MOVE_EXPLOSION, MOVE_SLUDGE_BOMB, MOVE_FRUSTRATION, MOVE_SHADOW_BALL}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [694] = { + [FRONTIER_MON_KANGASKHAN_4] = { .species = SPECIES_KANGASKHAN, .moves = {MOVE_MEGA_KICK, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [695] = { + [FRONTIER_MON_ELECTABUZZ_4] = { .species = SPECIES_ELECTABUZZ, .moves = {MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_MEGA_KICK, MOVE_CROSS_CHOP}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [696] = { + [FRONTIER_MON_TAUROS_4] = { .species = SPECIES_TAUROS, .moves = {MOVE_DOUBLE_EDGE, MOVE_ROCK_TOMB, MOVE_THUNDERBOLT, MOVE_SURF}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [697] = { + [FRONTIER_MON_SLOWBRO_4] = { .species = SPECIES_SLOWBRO, .moves = {MOVE_PSYCHIC, MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, .nature = NATURE_SASSY }, - [698] = { + [FRONTIER_MON_SLOWKING_4] = { .species = SPECIES_SLOWKING, .moves = {MOVE_PSYCHIC, MOVE_SURF, MOVE_ICE_BEAM, MOVE_FLAMETHROWER}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [699] = { + [FRONTIER_MON_MILTANK_4] = { .species = SPECIES_MILTANK, .moves = {MOVE_DOUBLE_EDGE, MOVE_CURSE, MOVE_DOUBLE_TEAM, MOVE_MILK_DRINK}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [700] = { + [FRONTIER_MON_ALTARIA_4] = { .species = SPECIES_ALTARIA, .moves = {MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_ICE_BEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [701] = { + [FRONTIER_MON_NIDOQUEEN_4] = { .species = SPECIES_NIDOQUEEN, .moves = {MOVE_SUPERPOWER, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [702] = { + [FRONTIER_MON_NIDOKING_4] = { .species = SPECIES_NIDOKING, .moves = {MOVE_MEGAHORN, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_THUNDER}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [703] = { + [FRONTIER_MON_MAGMAR_4] = { .species = SPECIES_MAGMAR, .moves = {MOVE_FLAMETHROWER, MOVE_PSYCHIC, MOVE_CROSS_CHOP, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [704] = { + [FRONTIER_MON_CRADILY_4] = { .species = SPECIES_CRADILY, .moves = {MOVE_TOXIC, MOVE_INGRAIN, MOVE_MIRROR_COAT, MOVE_GIGA_DRAIN}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [705] = { + [FRONTIER_MON_ARMALDO_4] = { .species = SPECIES_ARMALDO, .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE}, .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [706] = { + [FRONTIER_MON_GOLDUCK_4] = { .species = SPECIES_GOLDUCK, .moves = {MOVE_SURF, MOVE_CROSS_CHOP, MOVE_ICE_BEAM, MOVE_AERIAL_ACE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [707] = { + [FRONTIER_MON_RAPIDASH_4] = { .species = SPECIES_RAPIDASH, .moves = {MOVE_OVERHEAT, MOVE_DOUBLE_EDGE, MOVE_IRON_TAIL, MOVE_DOUBLE_KICK}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [708] = { + [FRONTIER_MON_MUK_4] = { .species = SPECIES_MUK, .moves = {MOVE_SLUDGE_BOMB, MOVE_BRICK_BREAK, MOVE_GIGA_DRAIN, MOVE_EXPLOSION}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_BRAVE }, - [709] = { + [FRONTIER_MON_GENGAR_4] = { .species = SPECIES_GENGAR, .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_DESTINY_BOND}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [710] = { + [FRONTIER_MON_AMPHAROS_4] = { .species = SPECIES_AMPHAROS, .moves = {MOVE_THUNDERBOLT, MOVE_FIRE_PUNCH, MOVE_THUNDER_WAVE, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [711] = { + [FRONTIER_MON_SCIZOR_4] = { .species = SPECIES_SCIZOR, .moves = {MOVE_SILVER_WIND, MOVE_SWORDS_DANCE, MOVE_AGILITY, MOVE_BATON_PASS}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CAREFUL }, - [712] = { + [FRONTIER_MON_HERACROSS_4] = { .species = SPECIES_HERACROSS, .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_REVERSAL, MOVE_ENDURE}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [713] = { + [FRONTIER_MON_URSARING_4] = { .species = SPECIES_URSARING, .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_AERIAL_ACE}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [714] = { + [FRONTIER_MON_HOUNDOOM_4] = { .species = SPECIES_HOUNDOOM, .moves = {MOVE_OVERHEAT, MOVE_SOLAR_BEAM, MOVE_CRUNCH, MOVE_SUNNY_DAY}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [715] = { + [FRONTIER_MON_DONPHAN_4] = { .species = SPECIES_DONPHAN, .moves = {MOVE_FISSURE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_IRON_TAIL}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [716] = { + [FRONTIER_MON_CLAYDOL_4] = { .species = SPECIES_CLAYDOL, .moves = {MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_EXPLOSION}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [717] = { + [FRONTIER_MON_WAILORD_4] = { .species = SPECIES_WAILORD, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_FISSURE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [718] = { + [FRONTIER_MON_NINETALES_4] = { .species = SPECIES_NINETALES, .moves = {MOVE_OVERHEAT, MOVE_DOUBLE_EDGE, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_QUIRKY }, - [719] = { + [FRONTIER_MON_MACHAMP_4] = { .species = SPECIES_MACHAMP, .moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [720] = { + [FRONTIER_MON_SHUCKLE_4] = { .species = SPECIES_SHUCKLE, .moves = {MOVE_TOXIC, MOVE_DOUBLE_TEAM, MOVE_WRAP, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_CAREFUL }, - [721] = { + [FRONTIER_MON_STEELIX_4] = { .species = SPECIES_STEELIX, .moves = {MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_DOUBLE_EDGE, MOVE_EXPLOSION}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [722] = { + [FRONTIER_MON_TENTACRUEL_4] = { .species = SPECIES_TENTACRUEL, .moves = {MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_ICE_BEAM, MOVE_MIRROR_COAT}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [723] = { + [FRONTIER_MON_AERODACTYL_4] = { .species = SPECIES_AERODACTYL, .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FIRE_BLAST, MOVE_BITE}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [724] = { + [FRONTIER_MON_PORYGON2_4] = { .species = SPECIES_PORYGON2, .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [725] = { + [FRONTIER_MON_GARDEVOIR_4] = { .species = SPECIES_GARDEVOIR, .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_FIRE_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [726] = { + [FRONTIER_MON_EXEGGUTOR_4] = { .species = SPECIES_EXEGGUTOR, .moves = {MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB, MOVE_EXPLOSION}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [727] = { + [FRONTIER_MON_STARMIE_4] = { .species = SPECIES_STARMIE, .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [728] = { + [FRONTIER_MON_FLYGON_4] = { .species = SPECIES_FLYGON, .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_DOUBLE_EDGE, MOVE_CRUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [729] = { + [FRONTIER_MON_VENUSAUR_4] = { .species = SPECIES_VENUSAUR, .moves = {MOVE_SOLAR_BEAM, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [730] = { + [FRONTIER_MON_VAPOREON_4] = { .species = SPECIES_VAPOREON, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_ACID_ARMOR, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_CALM }, - [731] = { + [FRONTIER_MON_JOLTEON_4] = { .species = SPECIES_JOLTEON, .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_BITE, MOVE_SHADOW_BALL}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_TIMID }, - [732] = { + [FRONTIER_MON_FLAREON_4] = { .species = SPECIES_FLAREON, .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIET }, - [733] = { + [FRONTIER_MON_MEGANIUM_4] = { .species = SPECIES_MEGANIUM, .moves = {MOVE_GIGA_DRAIN, MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_BODY_SLAM}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [734] = { + [FRONTIER_MON_ESPEON_4] = { .species = SPECIES_ESPEON, .moves = {MOVE_PSYCHIC, MOVE_BITE, MOVE_ATTRACT, MOVE_CALM_MIND}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [735] = { + [FRONTIER_MON_UMBREON_4] = { .species = SPECIES_UMBREON, .moves = {MOVE_CONFUSE_RAY, MOVE_TOXIC, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [736] = { + [FRONTIER_MON_BLASTOISE_4] = { .species = SPECIES_BLASTOISE, .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_MIRROR_COAT}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [737] = { + [FRONTIER_MON_FERALIGATR_4] = { .species = SPECIES_FERALIGATR, .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [738] = { + [FRONTIER_MON_AGGRON_4] = { .species = SPECIES_AGGRON, .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_AERIAL_ACE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [739] = { + [FRONTIER_MON_BLAZIKEN_4] = { .species = SPECIES_BLAZIKEN, .moves = {MOVE_OVERHEAT, MOVE_EARTHQUAKE, MOVE_THUNDER_PUNCH, MOVE_ROCK_SLIDE}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [740] = { + [FRONTIER_MON_WALREIN_4] = { .species = SPECIES_WALREIN, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_SHEER_COLD}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIET }, - [741] = { + [FRONTIER_MON_SCEPTILE_4] = { .species = SPECIES_SCEPTILE, .moves = {MOVE_LEAF_BLADE, MOVE_DRAGON_CLAW, MOVE_CRUNCH, MOVE_THUNDER_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [742] = { + [FRONTIER_MON_CHARIZARD_4] = { .species = SPECIES_CHARIZARD, .moves = {MOVE_OVERHEAT, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [743] = { + [FRONTIER_MON_TYPHLOSION_4] = { .species = SPECIES_TYPHLOSION, .moves = {MOVE_OVERHEAT, MOVE_THUNDER_PUNCH, MOVE_EARTHQUAKE, MOVE_CRUSH_CLAW}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [744] = { + [FRONTIER_MON_LAPRAS_4] = { .species = SPECIES_LAPRAS, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_PSYCHIC}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [745] = { + [FRONTIER_MON_CROBAT_4] = { .species = SPECIES_CROBAT, .moves = {MOVE_SLUDGE_BOMB, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [746] = { + [FRONTIER_MON_SWAMPERT_4] = { .species = SPECIES_SWAMPERT, .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_MIRROR_COAT}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIET }, - [747] = { + [FRONTIER_MON_GYARADOS_4] = { .species = SPECIES_GYARADOS, .moves = {MOVE_RETURN, MOVE_EARTHQUAKE, MOVE_DRAGON_DANCE, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [748] = { + [FRONTIER_MON_SNORLAX_4] = { .species = SPECIES_SNORLAX, .moves = {MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_CURSE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [749] = { + [FRONTIER_MON_KINGDRA_4] = { .species = SPECIES_KINGDRA, .moves = {MOVE_DOUBLE_EDGE, MOVE_ICE_BEAM, MOVE_DRAGON_DANCE, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [750] = { + [FRONTIER_MON_BLISSEY_4] = { .species = SPECIES_BLISSEY, .moves = {MOVE_ICE_BEAM, MOVE_CALM_MIND, MOVE_COUNTER, MOVE_SOFT_BOILED}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_BOLD }, - [751] = { + [FRONTIER_MON_MILOTIC_4] = { .species = SPECIES_MILOTIC, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_MIRROR_COAT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [752] = { + [FRONTIER_MON_ARCANINE_4] = { .species = SPECIES_ARCANINE, .moves = {MOVE_OVERHEAT, MOVE_EXTREME_SPEED, MOVE_CRUNCH, MOVE_DOUBLE_EDGE}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_DOCILE }, - [753] = { + [FRONTIER_MON_SALAMENCE_4] = { .species = SPECIES_SALAMENCE, .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_DRAGON_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [754] = { + [FRONTIER_MON_METAGROSS_4] = { .species = SPECIES_METAGROSS, .moves = {MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [755] = { + [FRONTIER_MON_SLAKING_4] = { .species = SPECIES_SLAKING, .moves = {MOVE_THUNDERBOLT, MOVE_FLAMETHROWER, MOVE_ICE_BEAM, MOVE_YAWN}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, .nature = NATURE_MODEST }, - [756] = { + [FRONTIER_MON_ARTICUNO_1] = { .species = SPECIES_ARTICUNO, .moves = {MOVE_ICE_BEAM, MOVE_WATER_PULSE, MOVE_ICY_WIND, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [757] = { + [FRONTIER_MON_ZAPDOS_1] = { .species = SPECIES_ZAPDOS, .moves = {MOVE_THUNDERBOLT, MOVE_DRILL_PECK, MOVE_THUNDER_WAVE, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_DOCILE }, - [758] = { + [FRONTIER_MON_MOLTRES_1] = { .species = SPECIES_MOLTRES, .moves = {MOVE_FLAMETHROWER, MOVE_AERIAL_ACE, MOVE_MUD_SLAP, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [759] = { + [FRONTIER_MON_RAIKOU_1] = { .species = SPECIES_RAIKOU, .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_CALM_MIND, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [760] = { + [FRONTIER_MON_ENTEI_1] = { .species = SPECIES_ENTEI, .moves = {MOVE_FLAMETHROWER, MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [761] = { + [FRONTIER_MON_SUICUNE_1] = { .species = SPECIES_SUICUNE, .moves = {MOVE_SURF, MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [762] = { + [FRONTIER_MON_REGIROCK_1] = { .species = SPECIES_REGIROCK, .moves = {MOVE_SUPERPOWER, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_EXPLOSION}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [763] = { + [FRONTIER_MON_REGICE_1] = { .species = SPECIES_REGICE, .moves = {MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_AMNESIA, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [764] = { + [FRONTIER_MON_REGISTEEL_1] = { .species = SPECIES_REGISTEEL, .moves = {MOVE_METAL_CLAW, MOVE_CURSE, MOVE_AMNESIA, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [765] = { + [FRONTIER_MON_LATIAS_1] = { .species = SPECIES_LATIAS, .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [766] = { + [FRONTIER_MON_LATIOS_1] = { .species = SPECIES_LATIOS, .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [767] = { + [FRONTIER_MON_ARTICUNO_2] = { .species = SPECIES_ARTICUNO, .moves = {MOVE_SUBSTITUTE, MOVE_TOXIC, MOVE_BLIZZARD, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_IMPISH }, - [768] = { + [FRONTIER_MON_ZAPDOS_2] = { .species = SPECIES_ZAPDOS, .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_DRILL_PECK, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [769] = { + [FRONTIER_MON_MOLTRES_2] = { .species = SPECIES_MOLTRES, .moves = {MOVE_OVERHEAT, MOVE_AERIAL_ACE, MOVE_DOUBLE_TEAM, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [770] = { + [FRONTIER_MON_RAIKOU_2] = { .species = SPECIES_RAIKOU, .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_DOUBLE_TEAM, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [771] = { + [FRONTIER_MON_ENTEI_2] = { .species = SPECIES_ENTEI, .moves = {MOVE_FIRE_BLAST, MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [772] = { + [FRONTIER_MON_SUICUNE_2] = { .species = SPECIES_SUICUNE, .moves = {MOVE_TOXIC, MOVE_DIVE, MOVE_DOUBLE_TEAM, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CALM }, - [773] = { + [FRONTIER_MON_REGIROCK_2] = { .species = SPECIES_REGIROCK, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_COUNTER, MOVE_EXPLOSION}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [774] = { + [FRONTIER_MON_REGICE_2] = { .species = SPECIES_REGICE, .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_BLIZZARD, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [775] = { + [FRONTIER_MON_REGISTEEL_2] = { .species = SPECIES_REGISTEEL, .moves = {MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [776] = { + [FRONTIER_MON_LATIAS_2] = { .species = SPECIES_LATIAS, .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_EARTHQUAKE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [777] = { + [FRONTIER_MON_LATIOS_2] = { .species = SPECIES_LATIOS, .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_EARTHQUAKE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [778] = { + [FRONTIER_MON_ARTICUNO_3] = { .species = SPECIES_ARTICUNO, .moves = {MOVE_ICE_BEAM, MOVE_FACADE, MOVE_AERIAL_ACE, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [779] = { + [FRONTIER_MON_ZAPDOS_3] = { .species = SPECIES_ZAPDOS, .moves = {MOVE_THUNDERBOLT, MOVE_DRILL_PECK, MOVE_THUNDER_WAVE, MOVE_SUBSTITUTE}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [780] = { + [FRONTIER_MON_MOLTRES_3] = { .species = SPECIES_MOLTRES, .moves = {MOVE_FIRE_BLAST, MOVE_SUNNY_DAY, MOVE_DOUBLE_TEAM, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [781] = { + [FRONTIER_MON_RAIKOU_3] = { .species = SPECIES_RAIKOU, .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [782] = { + [FRONTIER_MON_ENTEI_3] = { .species = SPECIES_ENTEI, .moves = {MOVE_FLAMETHROWER, MOVE_DOUBLE_EDGE, MOVE_SWAGGER, MOVE_PSYCH_UP}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [783] = { + [FRONTIER_MON_SUICUNE_3] = { .species = SPECIES_SUICUNE, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_RAIN_DANCE, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [784] = { + [FRONTIER_MON_REGIROCK_3] = { .species = SPECIES_REGIROCK, .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_CURSE, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [785] = { + [FRONTIER_MON_REGICE_3] = { .species = SPECIES_REGICE, .moves = {MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_EXPLOSION}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [786] = { + [FRONTIER_MON_REGISTEEL_3] = { .species = SPECIES_REGISTEEL, .moves = {MOVE_ANCIENT_POWER, MOVE_AMNESIA, MOVE_COUNTER, MOVE_EXPLOSION}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [787] = { + [FRONTIER_MON_LATIAS_3] = { .species = SPECIES_LATIAS, .moves = {MOVE_DRAGON_CLAW, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_EARTHQUAKE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [788] = { + [FRONTIER_MON_LATIOS_3] = { .species = SPECIES_LATIOS, .moves = {MOVE_DRAGON_CLAW, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_EARTHQUAKE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [789] = { + [FRONTIER_MON_ARTICUNO_4] = { .species = SPECIES_ARTICUNO, .moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_REST, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [790] = { + [FRONTIER_MON_ZAPDOS_4] = { .species = SPECIES_ZAPDOS, .moves = {MOVE_THUNDERBOLT, MOVE_DRILL_PECK, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [791] = { + [FRONTIER_MON_MOLTRES_4] = { .species = SPECIES_MOLTRES, .moves = {MOVE_OVERHEAT, MOVE_DOUBLE_EDGE, MOVE_STEEL_WING, MOVE_SAFEGUARD}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIET }, - [792] = { + [FRONTIER_MON_RAIKOU_4] = { .species = SPECIES_RAIKOU, .moves = {MOVE_THUNDERBOLT, MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [793] = { + [FRONTIER_MON_ENTEI_4] = { .species = SPECIES_ENTEI, .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_DOUBLE_TEAM, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [794] = { + [FRONTIER_MON_SUICUNE_4] = { .species = SPECIES_SUICUNE, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_BITE, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [795] = { + [FRONTIER_MON_REGIROCK_4] = { .species = SPECIES_REGIROCK, .moves = {MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK, MOVE_DOUBLE_TEAM, MOVE_THUNDER_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_CAREFUL }, - [796] = { + [FRONTIER_MON_REGICE_4] = { .species = SPECIES_REGICE, .moves = {MOVE_ICE_BEAM, MOVE_HAIL, MOVE_DOUBLE_TEAM, MOVE_THUNDER_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [797] = { + [FRONTIER_MON_REGISTEEL_4] = { .species = SPECIES_REGISTEEL, .moves = {MOVE_ANCIENT_POWER, MOVE_EARTHQUAKE, MOVE_DOUBLE_TEAM, MOVE_THUNDER_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_IMPISH }, - [798] = { + [FRONTIER_MON_LATIAS_4] = { .species = SPECIES_LATIAS, .moves = {MOVE_MIST_BALL, MOVE_SHADOW_BALL, MOVE_CHARM, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [799] = { + [FRONTIER_MON_LATIOS_4] = { .species = SPECIES_LATIOS, .moves = {MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [800] = { + [FRONTIER_MON_GENGAR_5] = { .species = SPECIES_GENGAR, .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_THUNDERBOLT, MOVE_FIRE_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [801] = { + [FRONTIER_MON_GENGAR_6] = { .species = SPECIES_GENGAR, .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [802] = { + [FRONTIER_MON_GENGAR_7] = { .species = SPECIES_GENGAR, .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_FIRE_PUNCH, MOVE_DESTINY_BOND}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [803] = { + [FRONTIER_MON_GENGAR_8] = { .species = SPECIES_GENGAR, .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_DESTINY_BOND}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [804] = { + [FRONTIER_MON_URSARING_5] = { .species = SPECIES_URSARING, .moves = {MOVE_MEGA_KICK, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [805] = { + [FRONTIER_MON_URSARING_6] = { .species = SPECIES_URSARING, .moves = {MOVE_HYPER_BEAM, MOVE_YAWN, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [806] = { + [FRONTIER_MON_URSARING_7] = { .species = SPECIES_URSARING, .moves = {MOVE_FACADE, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_BULK_UP}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [807] = { + [FRONTIER_MON_URSARING_8] = { .species = SPECIES_URSARING, .moves = {MOVE_FACADE, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [808] = { + [FRONTIER_MON_MACHAMP_5] = { .species = SPECIES_MACHAMP, .moves = {MOVE_CROSS_CHOP, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [809] = { + [FRONTIER_MON_MACHAMP_6] = { .species = SPECIES_MACHAMP, .moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_ROCK_TOMB}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [810] = { + [FRONTIER_MON_MACHAMP_7] = { .species = SPECIES_MACHAMP, .moves = {MOVE_FOCUS_PUNCH, MOVE_SUBSTITUTE, MOVE_ATTRACT, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [811] = { + [FRONTIER_MON_MACHAMP_8] = { .species = SPECIES_MACHAMP, .moves = {MOVE_REVENGE, MOVE_ROCK_SLIDE, MOVE_FACADE, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [812] = { + [FRONTIER_MON_GARDEVOIR_5] = { .species = SPECIES_GARDEVOIR, .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_ENDURE, MOVE_DESTINY_BOND}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [813] = { + [FRONTIER_MON_GARDEVOIR_6] = { .species = SPECIES_GARDEVOIR, .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_WILL_O_WISP, MOVE_DESTINY_BOND}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_TIMID }, - [814] = { + [FRONTIER_MON_GARDEVOIR_7] = { .species = SPECIES_GARDEVOIR, .moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_WILL_O_WISP, MOVE_DESTINY_BOND}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [815] = { + [FRONTIER_MON_GARDEVOIR_8] = { .species = SPECIES_GARDEVOIR, .moves = {MOVE_PSYCHIC, MOVE_MAGICAL_LEAF, MOVE_ATTRACT, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [816] = { + [FRONTIER_MON_STARMIE_5] = { .species = SPECIES_STARMIE, .moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_RECOVER, MOVE_LIGHT_SCREEN}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [817] = { + [FRONTIER_MON_STARMIE_6] = { .species = SPECIES_STARMIE, .moves = {MOVE_SURF, MOVE_CONFUSE_RAY, MOVE_THUNDER_WAVE, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CALM }, - [818] = { + [FRONTIER_MON_STARMIE_7] = { .species = SPECIES_STARMIE, .moves = {MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_COSMIC_POWER, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [819] = { + [FRONTIER_MON_STARMIE_8] = { .species = SPECIES_STARMIE, .moves = {MOVE_SURF, MOVE_THUNDERBOLT, MOVE_COSMIC_POWER, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [820] = { + [FRONTIER_MON_LAPRAS_5] = { .species = SPECIES_LAPRAS, .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_IRON_TAIL, MOVE_DOUBLE_EDGE}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [821] = { + [FRONTIER_MON_LAPRAS_6] = { .species = SPECIES_LAPRAS, .moves = {MOVE_HYDRO_PUMP, MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_BLIZZARD}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [822] = { + [FRONTIER_MON_LAPRAS_7] = { .species = SPECIES_LAPRAS, .moves = {MOVE_SHEER_COLD, MOVE_HORN_DRILL, MOVE_REST, MOVE_SLEEP_TALK}, .itemTableId = BATTLE_FRONTIER_ITEM_LEPPA_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CALM }, - [823] = { + [FRONTIER_MON_LAPRAS_8] = { .species = SPECIES_LAPRAS, .moves = {MOVE_SHEER_COLD, MOVE_HORN_DRILL, MOVE_SING, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CALM }, - [824] = { + [FRONTIER_MON_SNORLAX_5] = { .species = SPECIES_SNORLAX, .moves = {MOVE_MEGA_KICK, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [825] = { + [FRONTIER_MON_SNORLAX_6] = { .species = SPECIES_SNORLAX, .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [826] = { + [FRONTIER_MON_SNORLAX_7] = { .species = SPECIES_SNORLAX, .moves = {MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE, MOVE_CURSE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [827] = { + [FRONTIER_MON_SNORLAX_8] = { .species = SPECIES_SNORLAX, .moves = {MOVE_RETURN, MOVE_SHADOW_BALL, MOVE_BELLY_DRUM, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [828] = { + [FRONTIER_MON_SALAMENCE_5] = { .species = SPECIES_SALAMENCE, .moves = {MOVE_FACADE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [829] = { + [FRONTIER_MON_SALAMENCE_6] = { .species = SPECIES_SALAMENCE, .moves = {MOVE_HEADBUTT, MOVE_AERIAL_ACE, MOVE_CRUNCH, MOVE_DRAGON_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [830] = { + [FRONTIER_MON_SALAMENCE_7] = { .species = SPECIES_SALAMENCE, .moves = {MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_CRUNCH, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [831] = { + [FRONTIER_MON_SALAMENCE_8] = { .species = SPECIES_SALAMENCE, .moves = {MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_CRUNCH, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [832] = { + [FRONTIER_MON_METAGROSS_5] = { .species = SPECIES_METAGROSS, .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_JOLLY }, - [833] = { + [FRONTIER_MON_METAGROSS_6] = { .species = SPECIES_METAGROSS, .moves = {MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_ICE_PUNCH, MOVE_THUNDER_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [834] = { + [FRONTIER_MON_METAGROSS_7] = { .species = SPECIES_METAGROSS, .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_ICE_PUNCH, MOVE_THUNDER_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [835] = { + [FRONTIER_MON_METAGROSS_8] = { .species = SPECIES_METAGROSS, .moves = {MOVE_METEOR_MASH, MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_EXPLOSION}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [836] = { + [FRONTIER_MON_REGIROCK_5] = { .species = SPECIES_REGIROCK, .moves = {MOVE_HYPER_BEAM, MOVE_FOCUS_PUNCH, MOVE_ROCK_SLIDE, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [837] = { + [FRONTIER_MON_REGIROCK_6] = { .species = SPECIES_REGIROCK, .moves = {MOVE_SWAGGER, MOVE_PSYCH_UP, MOVE_ROCK_SLIDE, MOVE_EXPLOSION}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [838] = { + [FRONTIER_MON_REGICE_5] = { .species = SPECIES_REGICE, .moves = {MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_CURSE, MOVE_COUNTER}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BRAVE }, - [839] = { + [FRONTIER_MON_REGICE_6] = { .species = SPECIES_REGICE, .moves = {MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_SLEEP_TALK, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [840] = { + [FRONTIER_MON_REGISTEEL_5] = { .species = SPECIES_REGISTEEL, .moves = {MOVE_FOCUS_PUNCH, MOVE_SUBSTITUTE, MOVE_TOXIC, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [841] = { + [FRONTIER_MON_REGISTEEL_6] = { .species = SPECIES_REGISTEEL, .moves = {MOVE_SUPERPOWER, MOVE_AERIAL_ACE, MOVE_SWAGGER, MOVE_PSYCH_UP}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [842] = { + [FRONTIER_MON_LATIAS_5] = { .species = SPECIES_LATIAS, .moves = {MOVE_DRAGON_CLAW, MOVE_THUNDER_WAVE, MOVE_CALM_MIND, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [843] = { + [FRONTIER_MON_LATIAS_6] = { .species = SPECIES_LATIAS, .moves = {MOVE_MIST_BALL, MOVE_DRAGON_CLAW, MOVE_ATTRACT, MOVE_THUNDER_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [844] = { + [FRONTIER_MON_LATIAS_7] = { .species = SPECIES_LATIAS, .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_SWAGGER, MOVE_PSYCH_UP}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [845] = { + [FRONTIER_MON_LATIAS_8] = { .species = SPECIES_LATIAS, .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [846] = { + [FRONTIER_MON_LATIOS_5] = { .species = SPECIES_LATIOS, .moves = {MOVE_DRAGON_CLAW, MOVE_THUNDER_WAVE, MOVE_CALM_MIND, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [847] = { + [FRONTIER_MON_LATIOS_6] = { .species = SPECIES_LATIOS, .moves = {MOVE_LUSTER_PURGE, MOVE_SHADOW_BALL, MOVE_DRAGON_CLAW, MOVE_THUNDER_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [848] = { + [FRONTIER_MON_LATIOS_7] = { .species = SPECIES_LATIOS, .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_DRAGON_DANCE, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [849] = { + [FRONTIER_MON_LATIOS_8] = { .species = SPECIES_LATIOS, .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [850] = { + [FRONTIER_MON_DRAGONITE_1] = { .species = SPECIES_DRAGONITE, .moves = {MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_DRAGON_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [851] = { + [FRONTIER_MON_DRAGONITE_2] = { .species = SPECIES_DRAGONITE, .moves = {MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_AERIAL_ACE, MOVE_DRAGON_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [852] = { + [FRONTIER_MON_DRAGONITE_3] = { .species = SPECIES_DRAGONITE, .moves = {MOVE_HYPER_BEAM, MOVE_ATTRACT, MOVE_DOUBLE_TEAM, MOVE_THUNDER_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [853] = { + [FRONTIER_MON_DRAGONITE_4] = { .species = SPECIES_DRAGONITE, .moves = {MOVE_HYPER_BEAM, MOVE_THUNDER_WAVE, MOVE_DRAGON_DANCE, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [854] = { + [FRONTIER_MON_DRAGONITE_5] = { .species = SPECIES_DRAGONITE, .moves = {MOVE_OUTRAGE, MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [855] = { + [FRONTIER_MON_DRAGONITE_6] = { .species = SPECIES_DRAGONITE, .moves = {MOVE_DRAGON_CLAW, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_FLAMETHROWER}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [856] = { + [FRONTIER_MON_DRAGONITE_7] = { .species = SPECIES_DRAGONITE, .moves = {MOVE_DRAGON_CLAW, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_ICE_BEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [857] = { + [FRONTIER_MON_DRAGONITE_8] = { .species = SPECIES_DRAGONITE, .moves = {MOVE_DRAGON_CLAW, MOVE_FLAMETHROWER, MOVE_ICE_BEAM, MOVE_BRICK_BREAK}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [858] = { + [FRONTIER_MON_DRAGONITE_9] = { .species = SPECIES_DRAGONITE, .moves = {MOVE_THUNDER, MOVE_SURF, MOVE_RAIN_DANCE, MOVE_EARTHQUAKE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [859] = { + [FRONTIER_MON_DRAGONITE_10] = { .species = SPECIES_DRAGONITE, .moves = {MOVE_FIRE_BLAST, MOVE_BLIZZARD, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [860] = { + [FRONTIER_MON_TYRANITAR_1] = { .species = SPECIES_TYRANITAR, .moves = {MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_THUNDERBOLT, MOVE_SURF}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [861] = { + [FRONTIER_MON_TYRANITAR_2] = { .species = SPECIES_TYRANITAR, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_CRUNCH, MOVE_THUNDERBOLT}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [862] = { + [FRONTIER_MON_TYRANITAR_3] = { .species = SPECIES_TYRANITAR, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_COUNTER, MOVE_DRAGON_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [863] = { + [FRONTIER_MON_TYRANITAR_4] = { .species = SPECIES_TYRANITAR, .moves = {MOVE_CRUNCH, MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [864] = { + [FRONTIER_MON_TYRANITAR_5] = { .species = SPECIES_TYRANITAR, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_DANCE, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [865] = { + [FRONTIER_MON_TYRANITAR_6] = { .species = SPECIES_TYRANITAR, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_CURSE, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [866] = { + [FRONTIER_MON_TYRANITAR_7] = { .species = SPECIES_TYRANITAR, .moves = {MOVE_ROCK_SLIDE, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_CURSE}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [867] = { + [FRONTIER_MON_TYRANITAR_8] = { .species = SPECIES_TYRANITAR, .moves = {MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, MOVE_DRAGON_DANCE, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [868] = { + [FRONTIER_MON_TYRANITAR_9] = { .species = SPECIES_TYRANITAR, .moves = {MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [869] = { + [FRONTIER_MON_TYRANITAR_10] = { .species = SPECIES_TYRANITAR, .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [870] = { + [FRONTIER_MON_ARTICUNO_5] = { .species = SPECIES_ARTICUNO, .moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_AGILITY, MOVE_SWAGGER}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [871] = { + [FRONTIER_MON_ARTICUNO_6] = { .species = SPECIES_ARTICUNO, .moves = {MOVE_ICE_BEAM, MOVE_AERIAL_ACE, MOVE_REFLECT, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [872] = { + [FRONTIER_MON_ZAPDOS_5] = { .species = SPECIES_ZAPDOS, .moves = {MOVE_THUNDERBOLT, MOVE_DRILL_PECK, MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [873] = { + [FRONTIER_MON_ZAPDOS_6] = { .species = SPECIES_ZAPDOS, .moves = {MOVE_THUNDER, MOVE_DRILL_PECK, MOVE_RAIN_DANCE, MOVE_DOUBLE_EDGE}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [874] = { + [FRONTIER_MON_MOLTRES_5] = { .species = SPECIES_MOLTRES, .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_SWAGGER, MOVE_FACADE}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_DOCILE }, - [875] = { + [FRONTIER_MON_MOLTRES_6] = { .species = SPECIES_MOLTRES, .moves = {MOVE_OVERHEAT, MOVE_DOUBLE_EDGE, MOVE_AERIAL_ACE, MOVE_STEEL_WING}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_DOCILE }, - [876] = { + [FRONTIER_MON_RAIKOU_5] = { .species = SPECIES_RAIKOU, .moves = {MOVE_THUNDERBOLT, MOVE_DOUBLE_EDGE, MOVE_ROAR, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [877] = { + [FRONTIER_MON_RAIKOU_6] = { .species = SPECIES_RAIKOU, .moves = {MOVE_THUNDERBOLT, MOVE_CALM_MIND, MOVE_SUBSTITUTE, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [878] = { + [FRONTIER_MON_ENTEI_5] = { .species = SPECIES_ENTEI, .moves = {MOVE_FIRE_BLAST, MOVE_DOUBLE_EDGE, MOVE_ENDURE, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_DOCILE }, - [879] = { + [FRONTIER_MON_ENTEI_6] = { .species = SPECIES_ENTEI, .moves = {MOVE_FLAMETHROWER, MOVE_CALM_MIND, MOVE_ROAR, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [880] = { + [FRONTIER_MON_SUICUNE_5] = { .species = SPECIES_SUICUNE, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_CALM_MIND, MOVE_ICY_WIND}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [881] = { + [FRONTIER_MON_SUICUNE_6] = { .species = SPECIES_SUICUNE, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_CALM_MIND, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, diff --git a/src/data/battle_frontier/battle_frontier_trainer_mons.h b/src/data/battle_frontier/battle_frontier_trainer_mons.h index d0e21172b7..183964f2d9 100644 --- a/src/data/battle_frontier/battle_frontier_trainer_mons.h +++ b/src/data/battle_frontier/battle_frontier_trainer_mons.h @@ -1,15229 +1,7369 @@ +// Also used by early Pkmn Breeder, Collector, and Beauty trainers +#define FRONTIER_MONS_YOUNGSTER_LASS_1 \ + FRONTIER_MON_SUNKERN, \ + FRONTIER_MON_AZURILL, \ + FRONTIER_MON_CATERPIE, \ + FRONTIER_MON_WEEDLE, \ + FRONTIER_MON_WURMPLE, \ + FRONTIER_MON_RALTS, \ + FRONTIER_MON_MAGIKARP, \ + FRONTIER_MON_FEEBAS, \ + FRONTIER_MON_PICHU, \ + FRONTIER_MON_IGGLYBUFF, \ + FRONTIER_MON_WOOPER, \ + FRONTIER_MON_TYROGUE, \ + FRONTIER_MON_SENTRET, \ + FRONTIER_MON_CLEFFA, \ + FRONTIER_MON_SEEDOT, \ + FRONTIER_MON_LOTAD, \ + FRONTIER_MON_POOCHYENA, \ + FRONTIER_MON_SHEDINJA, \ + FRONTIER_MON_MAKUHITA, \ + FRONTIER_MON_WHISMUR, \ + FRONTIER_MON_ZIGZAGOON, \ + FRONTIER_MON_ZUBAT, \ + FRONTIER_MON_TOGEPI, \ + FRONTIER_MON_SPINARAK, \ + FRONTIER_MON_MARILL, \ + FRONTIER_MON_HOPPIP, \ + FRONTIER_MON_SLUGMA, \ + FRONTIER_MON_SWINUB, \ + FRONTIER_MON_SMEARGLE, \ + FRONTIER_MON_PIDGEY, \ + FRONTIER_MON_RATTATA, \ + FRONTIER_MON_WYNAUT, \ + FRONTIER_MON_SKITTY, \ + FRONTIER_MON_SPEAROW, \ + FRONTIER_MON_HOOTHOOT, \ + FRONTIER_MON_DIGLETT, \ + FRONTIER_MON_LEDYBA, \ + FRONTIER_MON_NINCADA, \ + FRONTIER_MON_SURSKIT, \ + FRONTIER_MON_JIGGLYPUFF, \ + FRONTIER_MON_TAILLOW, \ + FRONTIER_MON_WINGULL, \ + FRONTIER_MON_NIDORAN_M, \ + FRONTIER_MON_NIDORAN_F, \ + FRONTIER_MON_KIRLIA, \ + FRONTIER_MON_MAREEP, \ + FRONTIER_MON_MEDITITE, \ + FRONTIER_MON_SLAKOTH, \ + FRONTIER_MON_PARAS, \ + FRONTIER_MON_EKANS, \ + FRONTIER_MON_DITTO, \ + FRONTIER_MON_BARBOACH, \ + FRONTIER_MON_MEOWTH, \ + FRONTIER_MON_PINECO, \ + FRONTIER_MON_TRAPINCH, \ + FRONTIER_MON_SPHEAL, \ + FRONTIER_MON_HORSEA, \ + FRONTIER_MON_SHROOMISH, \ + FRONTIER_MON_SHUPPET, \ + FRONTIER_MON_DUSKULL, \ + FRONTIER_MON_ELECTRIKE, \ + FRONTIER_MON_VULPIX, \ + -1 + +// Also used by early Pkmn Breeder, Collector, and Beauty trainers +#define FRONTIER_MONS_SCHOOL_KID_1 \ + FRONTIER_MON_PIKACHU, \ + FRONTIER_MON_SANDSHREW, \ + FRONTIER_MON_POLIWAG, \ + FRONTIER_MON_BELLSPROUT, \ + FRONTIER_MON_GEODUDE, \ + FRONTIER_MON_DRATINI, \ + FRONTIER_MON_SNUBBULL, \ + FRONTIER_MON_REMORAID, \ + FRONTIER_MON_LARVITAR, \ + FRONTIER_MON_BALTOY, \ + FRONTIER_MON_SNORUNT, \ + FRONTIER_MON_BAGON, \ + FRONTIER_MON_BELDUM, \ + FRONTIER_MON_GULPIN, \ + FRONTIER_MON_VENONAT, \ + FRONTIER_MON_MANKEY, \ + FRONTIER_MON_MACHOP, \ + FRONTIER_MON_SHELLDER, \ + FRONTIER_MON_SMOOCHUM, \ + FRONTIER_MON_NUMEL, \ + FRONTIER_MON_CARVANHA, \ + FRONTIER_MON_CORPHISH, \ + FRONTIER_MON_CHARMANDER, \ + FRONTIER_MON_CYNDAQUIL, \ + FRONTIER_MON_ABRA, \ + FRONTIER_MON_DODUO, \ + FRONTIER_MON_GASTLY, \ + FRONTIER_MON_SWABLU, \ + FRONTIER_MON_TREECKO, \ + FRONTIER_MON_TORCHIC, \ + FRONTIER_MON_MUDKIP, \ + FRONTIER_MON_SQUIRTLE, \ + FRONTIER_MON_TOTODILE, \ + FRONTIER_MON_SLOWPOKE, \ + FRONTIER_MON_BULBASAUR, \ + FRONTIER_MON_CHIKORITA, \ + FRONTIER_MON_ODDISH, \ + FRONTIER_MON_PSYDUCK, \ + FRONTIER_MON_CUBONE, \ + FRONTIER_MON_GOLDEEN, \ + FRONTIER_MON_NATU, \ + FRONTIER_MON_CLEFAIRY, \ + FRONTIER_MON_MAGNEMITE, \ + FRONTIER_MON_SEEL, \ + -1 + +#define FRONTIER_MONS_RICH_BOY_LADY_1 \ + FRONTIER_MON_RALTS, \ + FRONTIER_MON_POOCHYENA, \ + FRONTIER_MON_SHEDINJA, \ + FRONTIER_MON_ZUBAT, \ + FRONTIER_MON_SPINARAK, \ + FRONTIER_MON_WYNAUT, \ + FRONTIER_MON_NIDORAN_M, \ + FRONTIER_MON_NIDORAN_F, \ + FRONTIER_MON_KIRLIA, \ + FRONTIER_MON_MEDITITE, \ + FRONTIER_MON_EKANS, \ + FRONTIER_MON_SHUPPET, \ + FRONTIER_MON_DUSKULL, \ + FRONTIER_MON_BELLSPROUT, \ + FRONTIER_MON_BALTOY, \ + FRONTIER_MON_BELDUM, \ + FRONTIER_MON_GULPIN, \ + FRONTIER_MON_VENONAT, \ + FRONTIER_MON_SMOOCHUM, \ + FRONTIER_MON_ABRA, \ + FRONTIER_MON_GASTLY, \ + FRONTIER_MON_SLOWPOKE, \ + FRONTIER_MON_BULBASAUR, \ + FRONTIER_MON_ODDISH, \ + FRONTIER_MON_NATU, \ + FRONTIER_MON_GRIMER, \ + FRONTIER_MON_EXEGGCUTE, \ + FRONTIER_MON_DROWZEE, \ + FRONTIER_MON_HOUNDOUR, \ + FRONTIER_MON_SPOINK, \ + FRONTIER_MON_TENTACOOL, \ + FRONTIER_MON_KOFFING, \ + FRONTIER_MON_NIDORINA, \ + FRONTIER_MON_NIDORINO, \ + FRONTIER_MON_BEEDRILL, \ + FRONTIER_MON_DUSTOX, \ + FRONTIER_MON_ARIADOS, \ + -1 + +// Also used by early Pkmn Breeder, Collector, and Beauty trainers +#define FRONTIER_MONS_CAMPER_PICNICKER_1 \ + FRONTIER_MON_GRIMER, \ + FRONTIER_MON_KRABBY, \ + FRONTIER_MON_EXEGGCUTE, \ + FRONTIER_MON_EEVEE, \ + FRONTIER_MON_DROWZEE, \ + FRONTIER_MON_VOLTORB, \ + FRONTIER_MON_CHINCHOU, \ + FRONTIER_MON_TEDDIURSA, \ + FRONTIER_MON_DELIBIRD, \ + FRONTIER_MON_HOUNDOUR, \ + FRONTIER_MON_PHANPY, \ + FRONTIER_MON_SPOINK, \ + FRONTIER_MON_ARON, \ + FRONTIER_MON_LUVDISC, \ + FRONTIER_MON_TENTACOOL, \ + FRONTIER_MON_CACNEA, \ + FRONTIER_MON_KOFFING, \ + FRONTIER_MON_STARYU, \ + FRONTIER_MON_SKIPLOOM, \ + FRONTIER_MON_NUZLEAF, \ + FRONTIER_MON_LOMBRE, \ + FRONTIER_MON_VIBRAVA, \ + FRONTIER_MON_RHYHORN, \ + FRONTIER_MON_CLAMPERL, \ + FRONTIER_MON_PIDGEOTTO, \ + FRONTIER_MON_GROWLITHE, \ + FRONTIER_MON_FARFETCHD, \ + FRONTIER_MON_OMANYTE, \ + FRONTIER_MON_KABUTO, \ + FRONTIER_MON_LILEEP, \ + FRONTIER_MON_ANORITH, \ + FRONTIER_MON_AIPOM, \ + FRONTIER_MON_ELEKID, \ + FRONTIER_MON_LOUDRED, \ + FRONTIER_MON_SPINDA, \ + FRONTIER_MON_NIDORINA, \ + FRONTIER_MON_NIDORINO, \ + FRONTIER_MON_FLAAFFY, \ + FRONTIER_MON_MAGBY, \ + FRONTIER_MON_NOSEPASS, \ + FRONTIER_MON_CORSOLA, \ + FRONTIER_MON_MAWILE, \ + FRONTIER_MON_BUTTERFREE, \ + FRONTIER_MON_BEEDRILL, \ + FRONTIER_MON_POLIWHIRL, \ + FRONTIER_MON_ONIX, \ + FRONTIER_MON_BEAUTIFLY, \ + FRONTIER_MON_DUSTOX, \ + FRONTIER_MON_LEDIAN, \ + FRONTIER_MON_ARIADOS, \ + FRONTIER_MON_YANMA, \ + -1 + +#define FRONTIER_MONS_TUBER_1 \ + FRONTIER_MON_RALTS, \ + FRONTIER_MON_MAGIKARP, \ + FRONTIER_MON_FEEBAS, \ + FRONTIER_MON_WOOPER, \ + FRONTIER_MON_LOTAD, \ + FRONTIER_MON_MARILL, \ + FRONTIER_MON_WYNAUT, \ + FRONTIER_MON_SURSKIT, \ + FRONTIER_MON_WINGULL, \ + FRONTIER_MON_KIRLIA, \ + FRONTIER_MON_MEDITITE, \ + FRONTIER_MON_BARBOACH, \ + FRONTIER_MON_SPHEAL, \ + FRONTIER_MON_HORSEA, \ + FRONTIER_MON_POLIWAG, \ + FRONTIER_MON_REMORAID, \ + FRONTIER_MON_SHELLDER, \ + FRONTIER_MON_SMOOCHUM, \ + FRONTIER_MON_CARVANHA, \ + FRONTIER_MON_CORPHISH, \ + FRONTIER_MON_ABRA, \ + FRONTIER_MON_MUDKIP, \ + FRONTIER_MON_SQUIRTLE, \ + FRONTIER_MON_TOTODILE, \ + FRONTIER_MON_SLOWPOKE, \ + FRONTIER_MON_PSYDUCK, \ + FRONTIER_MON_GOLDEEN, \ + FRONTIER_MON_NATU, \ + FRONTIER_MON_SEEL, \ + FRONTIER_MON_EXEGGCUTE, \ + FRONTIER_MON_DROWZEE, \ + FRONTIER_MON_SPOINK, \ + -1 + +#define FRONTIER_MONS_SWIMMER_M_1 \ + FRONTIER_MON_AZURILL, \ + FRONTIER_MON_IGGLYBUFF, \ + FRONTIER_MON_TYROGUE, \ + FRONTIER_MON_SENTRET, \ + FRONTIER_MON_CLEFFA, \ + FRONTIER_MON_MAKUHITA, \ + FRONTIER_MON_WHISMUR, \ + FRONTIER_MON_ZIGZAGOON, \ + FRONTIER_MON_TOGEPI, \ + FRONTIER_MON_SMEARGLE, \ + FRONTIER_MON_RATTATA, \ + FRONTIER_MON_SKITTY, \ + FRONTIER_MON_JIGGLYPUFF, \ + FRONTIER_MON_MEDITITE, \ + FRONTIER_MON_SLAKOTH, \ + FRONTIER_MON_DITTO, \ + FRONTIER_MON_MEOWTH, \ + FRONTIER_MON_POLIWAG, \ + FRONTIER_MON_SNUBBULL, \ + FRONTIER_MON_REMORAID, \ + FRONTIER_MON_MANKEY, \ + FRONTIER_MON_MACHOP, \ + FRONTIER_MON_SHELLDER, \ + FRONTIER_MON_CARVANHA, \ + FRONTIER_MON_CORPHISH, \ + FRONTIER_MON_MUDKIP, \ + FRONTIER_MON_SQUIRTLE, \ + FRONTIER_MON_TOTODILE, \ + FRONTIER_MON_SLOWPOKE, \ + FRONTIER_MON_PSYDUCK, \ + FRONTIER_MON_GOLDEEN, \ + FRONTIER_MON_CLEFAIRY, \ + FRONTIER_MON_SEEL, \ + FRONTIER_MON_KRABBY, \ + FRONTIER_MON_EEVEE, \ + FRONTIER_MON_CHINCHOU, \ + FRONTIER_MON_TEDDIURSA, \ + FRONTIER_MON_LUVDISC, \ + FRONTIER_MON_TENTACOOL, \ + FRONTIER_MON_STARYU, \ + FRONTIER_MON_LOMBRE, \ + FRONTIER_MON_CLAMPERL, \ + FRONTIER_MON_OMANYTE, \ + FRONTIER_MON_KABUTO, \ + FRONTIER_MON_AIPOM, \ + FRONTIER_MON_LOUDRED, \ + FRONTIER_MON_SPINDA, \ + FRONTIER_MON_CORSOLA, \ + FRONTIER_MON_MAWILE, \ + FRONTIER_MON_POLIWHIRL, \ + -1 + +#define FRONTIER_MONS_SWIMMER_F_1 \ + FRONTIER_MON_AZURILL, \ + FRONTIER_MON_IGGLYBUFF, \ + FRONTIER_MON_SENTRET, \ + FRONTIER_MON_CLEFFA, \ + FRONTIER_MON_WHISMUR, \ + FRONTIER_MON_ZIGZAGOON, \ + FRONTIER_MON_TOGEPI, \ + FRONTIER_MON_SMEARGLE, \ + FRONTIER_MON_RATTATA, \ + FRONTIER_MON_SKITTY, \ + FRONTIER_MON_JIGGLYPUFF, \ + FRONTIER_MON_SLAKOTH, \ + FRONTIER_MON_DITTO, \ + FRONTIER_MON_MEOWTH, \ + FRONTIER_MON_POLIWAG, \ + FRONTIER_MON_SNUBBULL, \ + FRONTIER_MON_REMORAID, \ + FRONTIER_MON_SNORUNT, \ + FRONTIER_MON_SHELLDER, \ + FRONTIER_MON_SMOOCHUM, \ + FRONTIER_MON_CARVANHA, \ + FRONTIER_MON_CORPHISH, \ + FRONTIER_MON_MUDKIP, \ + FRONTIER_MON_SQUIRTLE, \ + FRONTIER_MON_TOTODILE, \ + FRONTIER_MON_SLOWPOKE, \ + FRONTIER_MON_PSYDUCK, \ + FRONTIER_MON_GOLDEEN, \ + FRONTIER_MON_CLEFAIRY, \ + FRONTIER_MON_SEEL, \ + FRONTIER_MON_KRABBY, \ + FRONTIER_MON_EEVEE, \ + FRONTIER_MON_CHINCHOU, \ + FRONTIER_MON_TEDDIURSA, \ + FRONTIER_MON_DELIBIRD, \ + FRONTIER_MON_LUVDISC, \ + FRONTIER_MON_TENTACOOL, \ + FRONTIER_MON_STARYU, \ + FRONTIER_MON_LOMBRE, \ + FRONTIER_MON_CLAMPERL, \ + FRONTIER_MON_OMANYTE, \ + FRONTIER_MON_KABUTO, \ + FRONTIER_MON_AIPOM, \ + FRONTIER_MON_LOUDRED, \ + FRONTIER_MON_SPINDA, \ + FRONTIER_MON_CORSOLA, \ + FRONTIER_MON_POLIWHIRL, \ + -1 + +#define FRONTIER_MONS_POKEFAN_M_1 \ + FRONTIER_MON_SMOOCHUM, \ + FRONTIER_MON_NUMEL, \ + FRONTIER_MON_CORPHISH, \ + FRONTIER_MON_CHARMANDER, \ + FRONTIER_MON_CYNDAQUIL, \ + FRONTIER_MON_SWABLU, \ + FRONTIER_MON_TREECKO, \ + FRONTIER_MON_TORCHIC, \ + FRONTIER_MON_MUDKIP, \ + FRONTIER_MON_SQUIRTLE, \ + FRONTIER_MON_TOTODILE, \ + FRONTIER_MON_SLOWPOKE, \ + FRONTIER_MON_BULBASAUR, \ + FRONTIER_MON_CHIKORITA, \ + FRONTIER_MON_ODDISH, \ + FRONTIER_MON_PSYDUCK, \ + FRONTIER_MON_GOLDEEN, \ + FRONTIER_MON_NATU, \ + FRONTIER_MON_CLEFAIRY, \ + FRONTIER_MON_SEEL, \ + FRONTIER_MON_EXEGGCUTE, \ + FRONTIER_MON_EEVEE, \ + FRONTIER_MON_TEDDIURSA, \ + FRONTIER_MON_PHANPY, \ + FRONTIER_MON_SPOINK, \ + FRONTIER_MON_LUVDISC, \ + FRONTIER_MON_SKIPLOOM, \ + FRONTIER_MON_CLAMPERL, \ + FRONTIER_MON_AIPOM, \ + FRONTIER_MON_ELEKID, \ + FRONTIER_MON_SPINDA, \ + FRONTIER_MON_FLAAFFY, \ + FRONTIER_MON_MAGBY, \ + FRONTIER_MON_CORSOLA, \ + FRONTIER_MON_MAWILE, \ + FRONTIER_MON_POLIWHIRL, \ + -1 + +#define FRONTIER_MONS_POKEFAN_F_1 \ + FRONTIER_MON_AZURILL, \ + FRONTIER_MON_RALTS, \ + FRONTIER_MON_MAGIKARP, \ + FRONTIER_MON_PICHU, \ + FRONTIER_MON_IGGLYBUFF, \ + FRONTIER_MON_WOOPER, \ + FRONTIER_MON_SENTRET, \ + FRONTIER_MON_CLEFFA, \ + FRONTIER_MON_SEEDOT, \ + FRONTIER_MON_LOTAD, \ + FRONTIER_MON_POOCHYENA, \ + FRONTIER_MON_WHISMUR, \ + FRONTIER_MON_ZIGZAGOON, \ + FRONTIER_MON_TOGEPI, \ + FRONTIER_MON_MARILL, \ + FRONTIER_MON_HOPPIP, \ + FRONTIER_MON_SWINUB, \ + FRONTIER_MON_SMEARGLE, \ + FRONTIER_MON_PIDGEY, \ + FRONTIER_MON_RATTATA, \ + FRONTIER_MON_WYNAUT, \ + FRONTIER_MON_SKITTY, \ + FRONTIER_MON_SURSKIT, \ + FRONTIER_MON_JIGGLYPUFF, \ + FRONTIER_MON_TAILLOW, \ + FRONTIER_MON_WINGULL, \ + FRONTIER_MON_NIDORAN_M, \ + FRONTIER_MON_NIDORAN_F, \ + FRONTIER_MON_KIRLIA, \ + FRONTIER_MON_MAREEP, \ + FRONTIER_MON_DITTO, \ + FRONTIER_MON_MEOWTH, \ + FRONTIER_MON_SPHEAL, \ + FRONTIER_MON_SHROOMISH, \ + FRONTIER_MON_VULPIX, \ + FRONTIER_MON_PIKACHU, \ + FRONTIER_MON_SANDSHREW, \ + FRONTIER_MON_POLIWAG, \ + FRONTIER_MON_DRATINI, \ + FRONTIER_MON_SNUBBULL, \ + FRONTIER_MON_GULPIN, \ + -1 + +#define FRONTIER_MONS_BUG_CATCHER_1 \ + FRONTIER_MON_CATERPIE, \ + FRONTIER_MON_WEEDLE, \ + FRONTIER_MON_WURMPLE, \ + FRONTIER_MON_SHEDINJA, \ + FRONTIER_MON_SPINARAK, \ + FRONTIER_MON_DIGLETT, \ + FRONTIER_MON_LEDYBA, \ + FRONTIER_MON_NINCADA, \ + FRONTIER_MON_SURSKIT, \ + FRONTIER_MON_PARAS, \ + FRONTIER_MON_PINECO, \ + FRONTIER_MON_TRAPINCH, \ + FRONTIER_MON_VENONAT, \ + FRONTIER_MON_EXEGGCUTE, \ + FRONTIER_MON_VIBRAVA, \ + FRONTIER_MON_ANORITH, \ + FRONTIER_MON_BUTTERFREE, \ + FRONTIER_MON_BEEDRILL, \ + FRONTIER_MON_BEAUTIFLY, \ + FRONTIER_MON_DUSTOX, \ + FRONTIER_MON_LEDIAN, \ + FRONTIER_MON_ARIADOS, \ + FRONTIER_MON_YANMA, \ + -1 + +// Identical to above with 2 additions. Might be possible to merge the two +#define FRONTIER_MONS_BUG_CATCHER_1_EXTRA(species1, species2) \ + FRONTIER_MON_CATERPIE, \ + FRONTIER_MON_WEEDLE, \ + FRONTIER_MON_WURMPLE, \ + FRONTIER_MON_##species1, \ + FRONTIER_MON_##species2, \ + FRONTIER_MON_SHEDINJA, \ + FRONTIER_MON_SPINARAK, \ + FRONTIER_MON_DIGLETT, \ + FRONTIER_MON_LEDYBA, \ + FRONTIER_MON_NINCADA, \ + FRONTIER_MON_SURSKIT, \ + FRONTIER_MON_PARAS, \ + FRONTIER_MON_PINECO, \ + FRONTIER_MON_TRAPINCH, \ + FRONTIER_MON_VENONAT, \ + FRONTIER_MON_EXEGGCUTE, \ + FRONTIER_MON_VIBRAVA, \ + FRONTIER_MON_ANORITH, \ + FRONTIER_MON_BUTTERFREE, \ + FRONTIER_MON_BEEDRILL, \ + FRONTIER_MON_BEAUTIFLY, \ + FRONTIER_MON_DUSTOX, \ + FRONTIER_MON_LEDIAN, \ + FRONTIER_MON_ARIADOS, \ + FRONTIER_MON_YANMA, \ + -1 + +#define FRONTIER_MONS_NINJA_BOY_1 \ + FRONTIER_MON_RALTS, \ + FRONTIER_MON_SHEDINJA, \ + FRONTIER_MON_ZUBAT, \ + FRONTIER_MON_SPINARAK, \ + FRONTIER_MON_WYNAUT, \ + FRONTIER_MON_DIGLETT, \ + FRONTIER_MON_LEDYBA, \ + FRONTIER_MON_NINCADA, \ + FRONTIER_MON_SURSKIT, \ + FRONTIER_MON_NIDORAN_M, \ + FRONTIER_MON_NIDORAN_F, \ + FRONTIER_MON_KIRLIA, \ + FRONTIER_MON_MEDITITE, \ + FRONTIER_MON_PARAS, \ + FRONTIER_MON_EKANS, \ + FRONTIER_MON_PINECO, \ + FRONTIER_MON_TRAPINCH, \ + FRONTIER_MON_SHUPPET, \ + FRONTIER_MON_DUSKULL, \ + FRONTIER_MON_BELLSPROUT, \ + FRONTIER_MON_BALTOY, \ + FRONTIER_MON_BELDUM, \ + FRONTIER_MON_GULPIN, \ + FRONTIER_MON_VENONAT, \ + FRONTIER_MON_SMOOCHUM, \ + FRONTIER_MON_ABRA, \ + FRONTIER_MON_GASTLY, \ + FRONTIER_MON_SLOWPOKE, \ + FRONTIER_MON_BULBASAUR, \ + FRONTIER_MON_ODDISH, \ + FRONTIER_MON_NATU, \ + FRONTIER_MON_GRIMER, \ + FRONTIER_MON_EXEGGCUTE, \ + FRONTIER_MON_DROWZEE, \ + FRONTIER_MON_SPOINK, \ + FRONTIER_MON_TENTACOOL, \ + FRONTIER_MON_KOFFING, \ + FRONTIER_MON_VIBRAVA, \ + FRONTIER_MON_ANORITH, \ + FRONTIER_MON_NIDORINA, \ + FRONTIER_MON_NIDORINO, \ + FRONTIER_MON_BUTTERFREE, \ + FRONTIER_MON_BEEDRILL, \ + FRONTIER_MON_BEAUTIFLY, \ + FRONTIER_MON_DUSTOX, \ + FRONTIER_MON_LEDIAN, \ + FRONTIER_MON_ARIADOS, \ + FRONTIER_MON_YANMA, \ + -1 + +#define FRONTIER_MONS_BUG_MANIAC_1 \ + FRONTIER_MON_SHEDINJA, \ + FRONTIER_MON_SPINARAK, \ + FRONTIER_MON_HOPPIP, \ + FRONTIER_MON_DIGLETT, \ + FRONTIER_MON_LEDYBA, \ + FRONTIER_MON_NINCADA, \ + FRONTIER_MON_SURSKIT, \ + FRONTIER_MON_PARAS, \ + FRONTIER_MON_PINECO, \ + FRONTIER_MON_TRAPINCH, \ + FRONTIER_MON_SHROOMISH, \ + FRONTIER_MON_SHUPPET, \ + FRONTIER_MON_DUSKULL, \ + FRONTIER_MON_BELLSPROUT, \ + FRONTIER_MON_VENONAT, \ + FRONTIER_MON_GASTLY, \ + FRONTIER_MON_ODDISH, \ + FRONTIER_MON_EXEGGCUTE, \ + FRONTIER_MON_CACNEA, \ + FRONTIER_MON_SKIPLOOM, \ + FRONTIER_MON_VIBRAVA, \ + FRONTIER_MON_LILEEP, \ + FRONTIER_MON_ANORITH, \ + FRONTIER_MON_BUTTERFREE, \ + FRONTIER_MON_BEEDRILL, \ + FRONTIER_MON_BEAUTIFLY, \ + FRONTIER_MON_DUSTOX, \ + FRONTIER_MON_LEDIAN, \ + FRONTIER_MON_ARIADOS, \ + FRONTIER_MON_YANMA, \ + -1 + +#define FRONTIER_MONS_FISHERMAN_1 \ + FRONTIER_MON_MAGIKARP, \ + FRONTIER_MON_FEEBAS, \ + FRONTIER_MON_BARBOACH, \ + FRONTIER_MON_HORSEA, \ + FRONTIER_MON_POLIWAG, \ + FRONTIER_MON_REMORAID, \ + FRONTIER_MON_SHELLDER, \ + FRONTIER_MON_CARVANHA, \ + FRONTIER_MON_CORPHISH, \ + FRONTIER_MON_GOLDEEN, \ + FRONTIER_MON_KRABBY, \ + FRONTIER_MON_CHINCHOU, \ + FRONTIER_MON_LUVDISC, \ + FRONTIER_MON_TENTACOOL, \ + FRONTIER_MON_STARYU, \ + FRONTIER_MON_CLAMPERL, \ + FRONTIER_MON_OMANYTE, \ + FRONTIER_MON_KABUTO, \ + FRONTIER_MON_CORSOLA, \ + -1 + +#define FRONTIER_MONS_RUIN_MANIAC_1 \ + FRONTIER_MON_SWINUB, \ + FRONTIER_MON_DIGLETT, \ + FRONTIER_MON_TRAPINCH, \ + FRONTIER_MON_SANDSHREW, \ + FRONTIER_MON_GEODUDE, \ + FRONTIER_MON_LARVITAR, \ + FRONTIER_MON_BALTOY, \ + FRONTIER_MON_BELDUM, \ + FRONTIER_MON_NUMEL, \ + FRONTIER_MON_CUBONE, \ + FRONTIER_MON_MAGNEMITE, \ + FRONTIER_MON_PHANPY, \ + FRONTIER_MON_ARON, \ + FRONTIER_MON_RHYHORN, \ + FRONTIER_MON_OMANYTE, \ + FRONTIER_MON_KABUTO, \ + FRONTIER_MON_LILEEP, \ + FRONTIER_MON_ANORITH, \ + FRONTIER_MON_NOSEPASS, \ + FRONTIER_MON_CORSOLA, \ + FRONTIER_MON_MAWILE, \ + FRONTIER_MON_ONIX, \ + -1 + +#define FRONTIER_MONS_PARASOL_LADY_1 \ + FRONTIER_MON_SUNKERN, \ + FRONTIER_MON_WOOPER, \ + FRONTIER_MON_LOTAD, \ + FRONTIER_MON_MARILL, \ + FRONTIER_MON_SURSKIT, \ + FRONTIER_MON_TRAPINCH, \ + FRONTIER_MON_SPHEAL, \ + FRONTIER_MON_SANDSHREW, \ + FRONTIER_MON_POLIWAG, \ + FRONTIER_MON_NUMEL, \ + FRONTIER_MON_DELIBIRD, \ + FRONTIER_MON_PHANPY, \ + FRONTIER_MON_LUVDISC, \ + FRONTIER_MON_POLIWHIRL, \ + FRONTIER_MON_ONIX, \ + FRONTIER_MON_SUDOWOODO_1, \ + -1 + +#define FRONTIER_MONS_AROMA_LADY_1 \ + FRONTIER_MON_SUNKERN, \ + FRONTIER_MON_RALTS, \ + FRONTIER_MON_SEEDOT, \ + FRONTIER_MON_LOTAD, \ + FRONTIER_MON_HOPPIP, \ + FRONTIER_MON_WYNAUT, \ + FRONTIER_MON_KIRLIA, \ + FRONTIER_MON_MEDITITE, \ + FRONTIER_MON_PARAS, \ + FRONTIER_MON_SHROOMISH, \ + FRONTIER_MON_BELLSPROUT, \ + FRONTIER_MON_BALTOY, \ + FRONTIER_MON_BELDUM, \ + FRONTIER_MON_SMOOCHUM, \ + FRONTIER_MON_ABRA, \ + FRONTIER_MON_TREECKO, \ + FRONTIER_MON_SLOWPOKE, \ + FRONTIER_MON_BULBASAUR, \ + FRONTIER_MON_CHIKORITA, \ + FRONTIER_MON_ODDISH, \ + FRONTIER_MON_NATU, \ + FRONTIER_MON_EXEGGCUTE, \ + FRONTIER_MON_DROWZEE, \ + FRONTIER_MON_SPOINK, \ + FRONTIER_MON_CACNEA, \ + FRONTIER_MON_SKIPLOOM, \ + FRONTIER_MON_NUZLEAF, \ + FRONTIER_MON_LOMBRE, \ + FRONTIER_MON_LILEEP, \ + -1 + +#define FRONTIER_MONS_GUITARIST_1 \ + FRONTIER_MON_RALTS, \ + FRONTIER_MON_PICHU, \ + FRONTIER_MON_POOCHYENA, \ + FRONTIER_MON_WYNAUT, \ + FRONTIER_MON_KIRLIA, \ + FRONTIER_MON_MAREEP, \ + FRONTIER_MON_MEDITITE, \ + FRONTIER_MON_SHUPPET, \ + FRONTIER_MON_DUSKULL, \ + FRONTIER_MON_ELECTRIKE, \ + FRONTIER_MON_PIKACHU, \ + FRONTIER_MON_DRATINI, \ + FRONTIER_MON_BALTOY, \ + FRONTIER_MON_BAGON, \ + FRONTIER_MON_BELDUM, \ + FRONTIER_MON_SMOOCHUM, \ + FRONTIER_MON_ABRA, \ + FRONTIER_MON_GASTLY, \ + FRONTIER_MON_SLOWPOKE, \ + FRONTIER_MON_NATU, \ + FRONTIER_MON_MAGNEMITE, \ + FRONTIER_MON_EXEGGCUTE, \ + FRONTIER_MON_DROWZEE, \ + FRONTIER_MON_VOLTORB, \ + FRONTIER_MON_CHINCHOU, \ + FRONTIER_MON_HOUNDOUR, \ + FRONTIER_MON_SPOINK, \ + FRONTIER_MON_ARON, \ + FRONTIER_MON_ELEKID, \ + FRONTIER_MON_FLAAFFY, \ + FRONTIER_MON_MAWILE, \ + -1 + +#define FRONTIER_MONS_BIRD_KEEPER_1 \ + FRONTIER_MON_AZURILL, \ + FRONTIER_MON_IGGLYBUFF, \ + FRONTIER_MON_SENTRET, \ + FRONTIER_MON_CLEFFA, \ + FRONTIER_MON_WHISMUR, \ + FRONTIER_MON_ZIGZAGOON, \ + FRONTIER_MON_ZUBAT, \ + FRONTIER_MON_TOGEPI, \ + FRONTIER_MON_SMEARGLE, \ + FRONTIER_MON_PIDGEY, \ + FRONTIER_MON_RATTATA, \ + FRONTIER_MON_SKITTY, \ + FRONTIER_MON_SPEAROW, \ + FRONTIER_MON_HOOTHOOT, \ + FRONTIER_MON_JIGGLYPUFF, \ + FRONTIER_MON_TAILLOW, \ + FRONTIER_MON_WINGULL, \ + FRONTIER_MON_SLAKOTH, \ + FRONTIER_MON_DITTO, \ + FRONTIER_MON_MEOWTH, \ + FRONTIER_MON_SNUBBULL, \ + FRONTIER_MON_DODUO, \ + FRONTIER_MON_SWABLU, \ + FRONTIER_MON_TORCHIC, \ + FRONTIER_MON_NATU, \ + FRONTIER_MON_CLEFAIRY, \ + FRONTIER_MON_EEVEE, \ + FRONTIER_MON_TEDDIURSA, \ + FRONTIER_MON_DELIBIRD, \ + FRONTIER_MON_PIDGEOTTO, \ + FRONTIER_MON_FARFETCHD, \ + FRONTIER_MON_AIPOM, \ + FRONTIER_MON_LOUDRED, \ + FRONTIER_MON_SPINDA, \ + -1 + +#define FRONTIER_MONS_SAILOR_1 \ + FRONTIER_MON_TYROGUE, \ + FRONTIER_MON_MAKUHITA, \ + FRONTIER_MON_MEDITITE, \ + FRONTIER_MON_SANDSHREW, \ + FRONTIER_MON_GEODUDE, \ + FRONTIER_MON_DRATINI, \ + FRONTIER_MON_LARVITAR, \ + FRONTIER_MON_BAGON, \ + FRONTIER_MON_MANKEY, \ + FRONTIER_MON_MACHOP, \ + FRONTIER_MON_SHELLDER, \ + FRONTIER_MON_CARVANHA, \ + FRONTIER_MON_CORPHISH, \ + FRONTIER_MON_MUDKIP, \ + FRONTIER_MON_SQUIRTLE, \ + FRONTIER_MON_TOTODILE, \ + FRONTIER_MON_SLOWPOKE, \ + FRONTIER_MON_PSYDUCK, \ + FRONTIER_MON_CUBONE, \ + FRONTIER_MON_SEEL, \ + FRONTIER_MON_KRABBY, \ + FRONTIER_MON_PHANPY, \ + FRONTIER_MON_TENTACOOL, \ + FRONTIER_MON_STARYU, \ + FRONTIER_MON_LOMBRE, \ + FRONTIER_MON_RHYHORN, \ + FRONTIER_MON_CLAMPERL, \ + FRONTIER_MON_OMANYTE, \ + FRONTIER_MON_KABUTO, \ + FRONTIER_MON_CORSOLA, \ + FRONTIER_MON_POLIWHIRL, \ + FRONTIER_MON_ONIX, \ + -1 + +#define FRONTIER_MONS_HIKER_1 \ + FRONTIER_MON_TYROGUE, \ + FRONTIER_MON_MAKUHITA, \ + FRONTIER_MON_SWINUB, \ + FRONTIER_MON_DIGLETT, \ + FRONTIER_MON_MEDITITE, \ + FRONTIER_MON_SLAKOTH, \ + FRONTIER_MON_TRAPINCH, \ + FRONTIER_MON_SANDSHREW, \ + FRONTIER_MON_GEODUDE, \ + FRONTIER_MON_LARVITAR, \ + FRONTIER_MON_BALTOY, \ + FRONTIER_MON_MANKEY, \ + FRONTIER_MON_MACHOP, \ + FRONTIER_MON_NUMEL, \ + FRONTIER_MON_CUBONE, \ + FRONTIER_MON_PHANPY, \ + FRONTIER_MON_ARON, \ + FRONTIER_MON_VIBRAVA, \ + FRONTIER_MON_RHYHORN, \ + FRONTIER_MON_OMANYTE, \ + FRONTIER_MON_KABUTO, \ + FRONTIER_MON_LILEEP, \ + FRONTIER_MON_ANORITH, \ + FRONTIER_MON_AIPOM, \ + FRONTIER_MON_LOUDRED, \ + FRONTIER_MON_NOSEPASS, \ + FRONTIER_MON_ONIX, \ + -1 + +#define FRONTIER_MONS_KINDLER_1 \ + FRONTIER_MON_SLUGMA, \ + FRONTIER_MON_SHUPPET, \ + FRONTIER_MON_DUSKULL, \ + FRONTIER_MON_VULPIX, \ + FRONTIER_MON_GEODUDE, \ + FRONTIER_MON_LARVITAR, \ + FRONTIER_MON_BAGON, \ + FRONTIER_MON_BELDUM, \ + FRONTIER_MON_NUMEL, \ + FRONTIER_MON_CHARMANDER, \ + FRONTIER_MON_CYNDAQUIL, \ + FRONTIER_MON_TORCHIC, \ + FRONTIER_MON_MAGNEMITE, \ + FRONTIER_MON_HOUNDOUR, \ + FRONTIER_MON_ARON, \ + FRONTIER_MON_RHYHORN, \ + FRONTIER_MON_GROWLITHE, \ + FRONTIER_MON_MAGBY, \ + FRONTIER_MON_NOSEPASS, \ + FRONTIER_MON_MAWILE, \ + FRONTIER_MON_ONIX, \ + -1 + +#define FRONTIER_MONS_RUNNING_TRIATHLETE_1 \ + FRONTIER_MON_AZURILL, \ + FRONTIER_MON_IGGLYBUFF, \ + FRONTIER_MON_TYROGUE, \ + FRONTIER_MON_SENTRET, \ + FRONTIER_MON_CLEFFA, \ + FRONTIER_MON_MAKUHITA, \ + FRONTIER_MON_WHISMUR, \ + FRONTIER_MON_ZIGZAGOON, \ + FRONTIER_MON_TOGEPI, \ + FRONTIER_MON_SMEARGLE, \ + FRONTIER_MON_PIDGEY, \ + FRONTIER_MON_RATTATA, \ + FRONTIER_MON_SKITTY, \ + FRONTIER_MON_SPEAROW, \ + FRONTIER_MON_HOOTHOOT, \ + FRONTIER_MON_JIGGLYPUFF, \ + FRONTIER_MON_TAILLOW, \ + FRONTIER_MON_MEDITITE, \ + FRONTIER_MON_SLAKOTH, \ + FRONTIER_MON_DITTO, \ + FRONTIER_MON_MEOWTH, \ + FRONTIER_MON_SANDSHREW, \ + FRONTIER_MON_GEODUDE, \ + FRONTIER_MON_SNUBBULL, \ + FRONTIER_MON_LARVITAR, \ + FRONTIER_MON_BALTOY, \ + FRONTIER_MON_MANKEY, \ + FRONTIER_MON_MACHOP, \ + FRONTIER_MON_NUMEL, \ + FRONTIER_MON_DODUO, \ + FRONTIER_MON_SWABLU, \ + FRONTIER_MON_CUBONE, \ + FRONTIER_MON_CLEFAIRY, \ + FRONTIER_MON_EEVEE, \ + FRONTIER_MON_TEDDIURSA, \ + FRONTIER_MON_PHANPY, \ + FRONTIER_MON_VIBRAVA, \ + FRONTIER_MON_RHYHORN, \ + FRONTIER_MON_PIDGEOTTO, \ + FRONTIER_MON_FARFETCHD, \ + FRONTIER_MON_AIPOM, \ + FRONTIER_MON_LOUDRED, \ + FRONTIER_MON_SPINDA, \ + FRONTIER_MON_ONIX, \ + -1 + +#define FRONTIER_MONS_SWIMMING_TRIATHLETE_1 \ + FRONTIER_MON_TYROGUE, \ + FRONTIER_MON_MAKUHITA, \ + FRONTIER_MON_MEDITITE, \ + FRONTIER_MON_DRATINI, \ + FRONTIER_MON_SNUBBULL, \ + FRONTIER_MON_SNORUNT, \ + FRONTIER_MON_BAGON, \ + FRONTIER_MON_MANKEY, \ + FRONTIER_MON_MACHOP, \ + FRONTIER_MON_SHELLDER, \ + FRONTIER_MON_SMOOCHUM, \ + FRONTIER_MON_CORPHISH, \ + FRONTIER_MON_MUDKIP, \ + FRONTIER_MON_SQUIRTLE, \ + FRONTIER_MON_TOTODILE, \ + FRONTIER_MON_SLOWPOKE, \ + FRONTIER_MON_PSYDUCK, \ + FRONTIER_MON_CLEFAIRY, \ + FRONTIER_MON_SEEL, \ + FRONTIER_MON_KRABBY, \ + FRONTIER_MON_EEVEE, \ + FRONTIER_MON_TEDDIURSA, \ + FRONTIER_MON_DELIBIRD, \ + FRONTIER_MON_LOMBRE, \ + FRONTIER_MON_CLAMPERL, \ + FRONTIER_MON_OMANYTE, \ + FRONTIER_MON_KABUTO, \ + FRONTIER_MON_AIPOM, \ + FRONTIER_MON_LOUDRED, \ + FRONTIER_MON_SPINDA, \ + FRONTIER_MON_CORSOLA, \ + FRONTIER_MON_POLIWHIRL, \ + -1 + +#define FRONTIER_MONS_CYCLING_TRIATHLETE_1 \ + FRONTIER_MON_PICHU, \ + FRONTIER_MON_TYROGUE, \ + FRONTIER_MON_MAKUHITA, \ + FRONTIER_MON_MAREEP, \ + FRONTIER_MON_MEDITITE, \ + FRONTIER_MON_ELECTRIKE, \ + FRONTIER_MON_PIKACHU, \ + FRONTIER_MON_DRATINI, \ + FRONTIER_MON_SNUBBULL, \ + FRONTIER_MON_BAGON, \ + FRONTIER_MON_BELDUM, \ + FRONTIER_MON_MANKEY, \ + FRONTIER_MON_MACHOP, \ + FRONTIER_MON_DODUO, \ + FRONTIER_MON_SWABLU, \ + FRONTIER_MON_CLEFAIRY, \ + FRONTIER_MON_MAGNEMITE, \ + FRONTIER_MON_EEVEE, \ + FRONTIER_MON_VOLTORB, \ + FRONTIER_MON_TEDDIURSA, \ + FRONTIER_MON_ARON, \ + FRONTIER_MON_PIDGEOTTO, \ + FRONTIER_MON_FARFETCHD, \ + FRONTIER_MON_AIPOM, \ + FRONTIER_MON_ELEKID, \ + FRONTIER_MON_LOUDRED, \ + FRONTIER_MON_SPINDA, \ + FRONTIER_MON_FLAAFFY, \ + FRONTIER_MON_MAWILE, \ + -1 + +#define FRONTIER_MONS_RUNNING_TRIATHLETE_2 \ + FRONTIER_MON_DELCATTY_1, \ + FRONTIER_MON_LICKITUNG_1, \ + FRONTIER_MON_PORYGON_1, \ + FRONTIER_MON_MACHOKE_1, \ + FRONTIER_MON_TOGETIC_1, \ + FRONTIER_MON_MURKROW_1, \ + FRONTIER_MON_COMBUSKEN_1, \ + FRONTIER_MON_RATICATE_1, \ + FRONTIER_MON_FURRET_1, \ + FRONTIER_MON_DUNSPARCE_1, \ + FRONTIER_MON_LINOONE_1, \ + FRONTIER_MON_CASTFORM_1, \ + FRONTIER_MON_WIGGLYTUFF_1, \ + FRONTIER_MON_GLIGAR_1, \ + FRONTIER_MON_PELIPPER_1, \ + FRONTIER_MON_SWELLOW_1, \ + FRONTIER_MON_PERSIAN_1, \ + FRONTIER_MON_KECLEON_1, \ + FRONTIER_MON_VIGOROTH_1, \ + FRONTIER_MON_NOCTOWL_1, \ + FRONTIER_MON_CHANSEY_1, \ + FRONTIER_MON_GOLBAT_1, \ + FRONTIER_MON_PRIMEAPE_1, \ + FRONTIER_MON_HITMONLEE_1, \ + FRONTIER_MON_HITMONCHAN_1, \ + FRONTIER_MON_GIRAFARIG_1, \ + FRONTIER_MON_HITMONTOP_1, \ + FRONTIER_MON_NINJASK_1, \ + FRONTIER_MON_ZANGOOSE_1, \ + FRONTIER_MON_TROPIUS_1, \ + FRONTIER_MON_MANTINE_1, \ + FRONTIER_MON_STANTLER_1, \ + FRONTIER_MON_PIDGEOT_1, \ + FRONTIER_MON_SCYTHER_1, \ + -1 + +#define FRONTIER_MONS_SWIMMING_TRIATHLETE_2 \ + FRONTIER_MON_WAILMER_1, \ + FRONTIER_MON_WARTORTLE_1, \ + FRONTIER_MON_MACHOKE_1, \ + FRONTIER_MON_CROCONAW_1, \ + FRONTIER_MON_COMBUSKEN_1, \ + FRONTIER_MON_MARSHTOMP_1, \ + FRONTIER_MON_AZUMARILL_1, \ + FRONTIER_MON_SEALEO_1, \ + FRONTIER_MON_QWILFISH_1, \ + FRONTIER_MON_SNEASEL_1, \ + FRONTIER_MON_PELIPPER_1, \ + FRONTIER_MON_SEADRA_1, \ + FRONTIER_MON_SEAKING_1, \ + FRONTIER_MON_PILOSWINE_1, \ + FRONTIER_MON_PRIMEAPE_1, \ + FRONTIER_MON_HITMONLEE_1, \ + FRONTIER_MON_HITMONCHAN_1, \ + FRONTIER_MON_HITMONTOP_1, \ + FRONTIER_MON_SHARPEDO_1, \ + FRONTIER_MON_MANTINE_1, \ + FRONTIER_MON_CRAWDAUNT_1, \ + FRONTIER_MON_KINGLER_1, \ + FRONTIER_MON_OCTILLERY_1, \ + FRONTIER_MON_HUNTAIL_1, \ + FRONTIER_MON_GOREBYSS_1, \ + FRONTIER_MON_RELICANTH_1, \ + FRONTIER_MON_OMASTAR_1, \ + FRONTIER_MON_KABUTOPS_1, \ + FRONTIER_MON_POLIWRATH_1, \ + FRONTIER_MON_POLITOED_1, \ + FRONTIER_MON_CLOYSTER_1, \ + -1 + +#define FRONTIER_MONS_CYCLING_TRIATHLETE_2 \ + FRONTIER_MON_DELCATTY_1, \ + FRONTIER_MON_LICKITUNG_1, \ + FRONTIER_MON_PORYGON_1, \ + FRONTIER_MON_MACHOKE_1, \ + FRONTIER_MON_TOGETIC_1, \ + FRONTIER_MON_PLUSLE_1, \ + FRONTIER_MON_MINUN_1, \ + FRONTIER_MON_COMBUSKEN_1, \ + FRONTIER_MON_RATICATE_1, \ + FRONTIER_MON_FURRET_1, \ + FRONTIER_MON_DUNSPARCE_1, \ + FRONTIER_MON_LINOONE_1, \ + FRONTIER_MON_CASTFORM_1, \ + FRONTIER_MON_METANG_1, \ + FRONTIER_MON_WIGGLYTUFF_1, \ + FRONTIER_MON_SWELLOW_1, \ + FRONTIER_MON_LAIRON_1, \ + FRONTIER_MON_PERSIAN_1, \ + FRONTIER_MON_KECLEON_1, \ + FRONTIER_MON_VIGOROTH_1, \ + FRONTIER_MON_NOCTOWL_1, \ + FRONTIER_MON_CHANSEY_1, \ + FRONTIER_MON_PRIMEAPE_1, \ + FRONTIER_MON_HITMONLEE_1, \ + FRONTIER_MON_HITMONCHAN_1, \ + FRONTIER_MON_GIRAFARIG_1, \ + FRONTIER_MON_HITMONTOP_1, \ + FRONTIER_MON_ZANGOOSE_1, \ + FRONTIER_MON_MAGNETON_1, \ + FRONTIER_MON_STANTLER_1, \ + FRONTIER_MON_PIDGEOT_1, \ + -1 + +#define FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1 \ + FRONTIER_MON_LICKITUNG_1, \ + FRONTIER_MON_GRAVELER_1, \ + FRONTIER_MON_CHARMELEON_1, \ + FRONTIER_MON_MACHOKE_1, \ + FRONTIER_MON_QUILAVA_1, \ + FRONTIER_MON_COMBUSKEN_1, \ + FRONTIER_MON_PONYTA_1, \ + FRONTIER_MON_SUDOWOODO_1, \ + FRONTIER_MON_MAGCARGO_1, \ + FRONTIER_MON_PUPITAR_1, \ + FRONTIER_MON_RATICATE_1, \ + FRONTIER_MON_FURRET_1, \ + FRONTIER_MON_DUNSPARCE_1, \ + FRONTIER_MON_MIGHTYENA_1, \ + FRONTIER_MON_LINOONE_1, \ + FRONTIER_MON_SHELGON_1, \ + FRONTIER_MON_METANG_1, \ + FRONTIER_MON_WIGGLYTUFF_1, \ + FRONTIER_MON_GLIGAR_1, \ + FRONTIER_MON_LAIRON_1, \ + FRONTIER_MON_PERSIAN_1, \ + FRONTIER_MON_KECLEON_1, \ + FRONTIER_MON_VIGOROTH_1, \ + FRONTIER_MON_LUNATONE_1, \ + FRONTIER_MON_SOLROCK_1, \ + FRONTIER_MON_SANDSLASH_1, \ + FRONTIER_MON_CHANSEY_1, \ + FRONTIER_MON_PILOSWINE_1, \ + FRONTIER_MON_PRIMEAPE_1, \ + FRONTIER_MON_HITMONLEE_1, \ + FRONTIER_MON_HITMONCHAN_1, \ + FRONTIER_MON_GIRAFARIG_1, \ + FRONTIER_MON_HITMONTOP_1, \ + FRONTIER_MON_ZANGOOSE_1, \ + FRONTIER_MON_CAMERUPT_1, \ + FRONTIER_MON_STANTLER_1, \ + FRONTIER_MON_ABSOL_1, \ + FRONTIER_MON_TORKOAL_1, \ + FRONTIER_MON_CACTURNE_1, \ + FRONTIER_MON_POLIWRATH_1, \ + -1 + +#define FRONTIER_MONS_EXPERT_1A \ + FRONTIER_MON_DELCATTY_1, \ + FRONTIER_MON_SABLEYE_1, \ + FRONTIER_MON_LICKITUNG_1, \ + FRONTIER_MON_WEEPINBELL_1, \ + FRONTIER_MON_GRAVELER_1, \ + FRONTIER_MON_GLOOM_1, \ + FRONTIER_MON_PORYGON_1, \ + FRONTIER_MON_KADABRA_1, \ + FRONTIER_MON_WAILMER_1, \ + FRONTIER_MON_ROSELIA_1, \ + FRONTIER_MON_VOLBEAT_1, \ + FRONTIER_MON_ILLUMISE_1, \ + FRONTIER_MON_IVYSAUR_1, \ + FRONTIER_MON_CHARMELEON_1, \ + FRONTIER_MON_WARTORTLE_1, \ + FRONTIER_MON_PARASECT_1, \ + FRONTIER_MON_MACHOKE_1, \ + FRONTIER_MON_HAUNTER_1, \ + FRONTIER_MON_BAYLEEF_1, \ + FRONTIER_MON_QUILAVA_1, \ + FRONTIER_MON_CROCONAW_1, \ + FRONTIER_MON_TOGETIC_1, \ + FRONTIER_MON_MURKROW_1, \ + FRONTIER_MON_WOBBUFFET_1, \ + FRONTIER_MON_PLUSLE_1, \ + FRONTIER_MON_MINUN_1, \ + FRONTIER_MON_GROVYLE_1, \ + FRONTIER_MON_COMBUSKEN_1, \ + FRONTIER_MON_MARSHTOMP_1, \ + FRONTIER_MON_PONYTA_1, \ + FRONTIER_MON_AZUMARILL_1, \ + FRONTIER_MON_SUDOWOODO_1, \ + FRONTIER_MON_MAGCARGO_1, \ + FRONTIER_MON_PUPITAR_1, \ + FRONTIER_MON_SEALEO_1, \ + FRONTIER_MON_RATICATE_1, \ + FRONTIER_MON_MASQUERAIN_1, \ + FRONTIER_MON_FURRET_1, \ + -1 + +#define FRONTIER_MONS_EXPERT_1B \ + FRONTIER_MON_DUNSPARCE_1, \ + FRONTIER_MON_DRAGONAIR_1, \ + FRONTIER_MON_MIGHTYENA_1, \ + FRONTIER_MON_LINOONE_1, \ + FRONTIER_MON_CASTFORM_1, \ + FRONTIER_MON_SHELGON_1, \ + FRONTIER_MON_METANG_1, \ + FRONTIER_MON_WIGGLYTUFF_1, \ + FRONTIER_MON_SUNFLORA_1, \ + FRONTIER_MON_CHIMECHO_1, \ + FRONTIER_MON_GLIGAR_1, \ + FRONTIER_MON_QWILFISH_1, \ + FRONTIER_MON_SNEASEL_1, \ + FRONTIER_MON_PELIPPER_1, \ + FRONTIER_MON_SWELLOW_1, \ + FRONTIER_MON_LAIRON_1, \ + FRONTIER_MON_TANGELA_1, \ + FRONTIER_MON_ARBOK_1, \ + FRONTIER_MON_PERSIAN_1, \ + FRONTIER_MON_SEADRA_1, \ + FRONTIER_MON_KECLEON_1, \ + FRONTIER_MON_VIGOROTH_1, \ + FRONTIER_MON_LUNATONE_1, \ + FRONTIER_MON_SOLROCK_1, \ + FRONTIER_MON_NOCTOWL_1, \ + FRONTIER_MON_SANDSLASH_1, \ + FRONTIER_MON_VENOMOTH_1, \ + FRONTIER_MON_CHANSEY_1, \ + FRONTIER_MON_SEAKING_1, \ + FRONTIER_MON_JUMPLUFF_1, \ + FRONTIER_MON_PILOSWINE_1, \ + FRONTIER_MON_GOLBAT_1, \ + FRONTIER_MON_PRIMEAPE_1, \ + FRONTIER_MON_HITMONLEE_1, \ + FRONTIER_MON_HITMONCHAN_1, \ + FRONTIER_MON_GIRAFARIG_1, \ + FRONTIER_MON_HITMONTOP_1, \ + -1 + +#define FRONTIER_MONS_EXPERT_1C \ + FRONTIER_MON_BANETTE_1, \ + FRONTIER_MON_NINJASK_1, \ + FRONTIER_MON_SEVIPER_1, \ + FRONTIER_MON_ZANGOOSE_1, \ + FRONTIER_MON_CAMERUPT_1, \ + FRONTIER_MON_SHARPEDO_1, \ + FRONTIER_MON_TROPIUS_1, \ + FRONTIER_MON_MAGNETON_1, \ + FRONTIER_MON_MANTINE_1, \ + FRONTIER_MON_STANTLER_1, \ + FRONTIER_MON_ABSOL_1, \ + FRONTIER_MON_SWALOT_1, \ + FRONTIER_MON_CRAWDAUNT_1, \ + FRONTIER_MON_PIDGEOT_1, \ + FRONTIER_MON_GRUMPIG_1, \ + FRONTIER_MON_TORKOAL_1, \ + FRONTIER_MON_KINGLER_1, \ + FRONTIER_MON_CACTURNE_1, \ + FRONTIER_MON_BELLOSSOM_1, \ + FRONTIER_MON_OCTILLERY_1, \ + FRONTIER_MON_HUNTAIL_1, \ + FRONTIER_MON_GOREBYSS_1, \ + FRONTIER_MON_RELICANTH_1, \ + FRONTIER_MON_OMASTAR_1, \ + FRONTIER_MON_KABUTOPS_1, \ + FRONTIER_MON_POLIWRATH_1, \ + FRONTIER_MON_SCYTHER_1, \ + FRONTIER_MON_PINSIR_1, \ + FRONTIER_MON_POLITOED_1, \ + FRONTIER_MON_CLOYSTER_1, \ + -1 + +#define FRONTIER_MONS_PSYCHIC_1 \ + FRONTIER_MON_DELCATTY_2, \ + FRONTIER_MON_SABLEYE_2, \ + FRONTIER_MON_PORYGON_2, \ + FRONTIER_MON_KADABRA_2, \ + FRONTIER_MON_ROSELIA_2, \ + FRONTIER_MON_HAUNTER_2, \ + FRONTIER_MON_MURKROW_2, \ + FRONTIER_MON_WOBBUFFET_2, \ + FRONTIER_MON_PLUSLE_2, \ + FRONTIER_MON_MINUN_2, \ + FRONTIER_MON_MIGHTYENA_2, \ + FRONTIER_MON_LINOONE_2, \ + FRONTIER_MON_METANG_2, \ + FRONTIER_MON_WIGGLYTUFF_2, \ + FRONTIER_MON_CHIMECHO_2, \ + FRONTIER_MON_SNEASEL_2, \ + FRONTIER_MON_KECLEON_2, \ + FRONTIER_MON_LUNATONE_2, \ + FRONTIER_MON_SOLROCK_2, \ + FRONTIER_MON_NOCTOWL_2, \ + FRONTIER_MON_VENOMOTH_2, \ + FRONTIER_MON_CHANSEY_2, \ + FRONTIER_MON_GIRAFARIG_2, \ + FRONTIER_MON_BANETTE_2, \ + FRONTIER_MON_SHARPEDO_2, \ + FRONTIER_MON_MAGNETON_2, \ + FRONTIER_MON_STANTLER_2, \ + FRONTIER_MON_ABSOL_2, \ + FRONTIER_MON_CRAWDAUNT_2, \ + FRONTIER_MON_GRUMPIG_2, \ + FRONTIER_MON_CACTURNE_2, \ + FRONTIER_MON_GOREBYSS_2, \ + FRONTIER_MON_POLITOED_2, \ + -1 + +#define FRONTIER_MONS_HEX_MANIAC_1 \ + FRONTIER_MON_SABLEYE_2, \ + FRONTIER_MON_WEEPINBELL_2, \ + FRONTIER_MON_GLOOM_2, \ + FRONTIER_MON_KADABRA_2, \ + FRONTIER_MON_PARASECT_2, \ + FRONTIER_MON_HAUNTER_2, \ + FRONTIER_MON_MURKROW_2, \ + FRONTIER_MON_WOBBUFFET_2, \ + FRONTIER_MON_MASQUERAIN_2, \ + FRONTIER_MON_MIGHTYENA_2, \ + FRONTIER_MON_METANG_2, \ + FRONTIER_MON_CHIMECHO_2, \ + FRONTIER_MON_SNEASEL_2, \ + FRONTIER_MON_ARBOK_2, \ + FRONTIER_MON_LUNATONE_2, \ + FRONTIER_MON_SOLROCK_2, \ + FRONTIER_MON_VENOMOTH_2, \ + FRONTIER_MON_GOLBAT_2, \ + FRONTIER_MON_GIRAFARIG_2, \ + FRONTIER_MON_BANETTE_2, \ + FRONTIER_MON_SEVIPER_2, \ + FRONTIER_MON_SHARPEDO_2, \ + FRONTIER_MON_ABSOL_2, \ + FRONTIER_MON_SWALOT_2, \ + FRONTIER_MON_CRAWDAUNT_2, \ + FRONTIER_MON_GRUMPIG_2, \ + FRONTIER_MON_CACTURNE_2, \ + -1 + +#define FRONTIER_MONS_POKEMANIAC_1 \ + FRONTIER_MON_LICKITUNG_2, \ + FRONTIER_MON_GRAVELER_2, \ + FRONTIER_MON_WAILMER_2, \ + FRONTIER_MON_IVYSAUR_2, \ + FRONTIER_MON_CHARMELEON_2, \ + FRONTIER_MON_WARTORTLE_2, \ + FRONTIER_MON_MACHOKE_2, \ + FRONTIER_MON_BAYLEEF_2, \ + FRONTIER_MON_QUILAVA_2, \ + FRONTIER_MON_CROCONAW_2, \ + FRONTIER_MON_GROVYLE_2, \ + FRONTIER_MON_COMBUSKEN_2, \ + FRONTIER_MON_MARSHTOMP_2, \ + FRONTIER_MON_PUPITAR_2, \ + FRONTIER_MON_RATICATE_2, \ + FRONTIER_MON_MIGHTYENA_2, \ + FRONTIER_MON_SHELGON_2, \ + FRONTIER_MON_METANG_2, \ + FRONTIER_MON_LAIRON_2, \ + FRONTIER_MON_ARBOK_2, \ + FRONTIER_MON_VIGOROTH_2, \ + FRONTIER_MON_SANDSLASH_2, \ + FRONTIER_MON_CHANSEY_2, \ + FRONTIER_MON_PILOSWINE_2, \ + FRONTIER_MON_SEVIPER_2, \ + FRONTIER_MON_ZANGOOSE_2, \ + FRONTIER_MON_CAMERUPT_2, \ + FRONTIER_MON_TROPIUS_2, \ + FRONTIER_MON_MANTINE_2, \ + FRONTIER_MON_SWALOT_2, \ + FRONTIER_MON_TORKOAL_2, \ + -1 + +#define FRONTIER_MONS_GENTLEMAN_1A \ + FRONTIER_MON_DELCATTY_2, \ + FRONTIER_MON_SABLEYE_2, \ + FRONTIER_MON_LICKITUNG_2, \ + FRONTIER_MON_WEEPINBELL_2, \ + FRONTIER_MON_GRAVELER_2, \ + FRONTIER_MON_GLOOM_2, \ + FRONTIER_MON_PORYGON_2, \ + FRONTIER_MON_KADABRA_2, \ + FRONTIER_MON_WAILMER_2, \ + FRONTIER_MON_ROSELIA_2, \ + FRONTIER_MON_VOLBEAT_2, \ + FRONTIER_MON_ILLUMISE_2, \ + FRONTIER_MON_IVYSAUR_2, \ + FRONTIER_MON_CHARMELEON_2, \ + FRONTIER_MON_WARTORTLE_2, \ + FRONTIER_MON_PARASECT_2, \ + FRONTIER_MON_MACHOKE_2, \ + FRONTIER_MON_HAUNTER_2, \ + FRONTIER_MON_BAYLEEF_2, \ + FRONTIER_MON_QUILAVA_2, \ + FRONTIER_MON_CROCONAW_2, \ + FRONTIER_MON_TOGETIC_2, \ + FRONTIER_MON_MURKROW_2, \ + FRONTIER_MON_WOBBUFFET_2, \ + FRONTIER_MON_PLUSLE_2, \ + FRONTIER_MON_MINUN_2, \ + FRONTIER_MON_GROVYLE_2, \ + FRONTIER_MON_COMBUSKEN_2, \ + FRONTIER_MON_MARSHTOMP_2, \ + FRONTIER_MON_PONYTA_2, \ + FRONTIER_MON_AZUMARILL_2, \ + FRONTIER_MON_SUDOWOODO_2, \ + FRONTIER_MON_MAGCARGO_2, \ + FRONTIER_MON_PUPITAR_2, \ + FRONTIER_MON_SEALEO_2, \ + FRONTIER_MON_RATICATE_2, \ + FRONTIER_MON_MASQUERAIN_2, \ + FRONTIER_MON_FURRET_2, \ + -1 + +#define FRONTIER_MONS_GENTLEMAN_1B \ + FRONTIER_MON_DUNSPARCE_2, \ + FRONTIER_MON_DRAGONAIR_2, \ + FRONTIER_MON_MIGHTYENA_2, \ + FRONTIER_MON_LINOONE_2, \ + FRONTIER_MON_CASTFORM_2, \ + FRONTIER_MON_SHELGON_2, \ + FRONTIER_MON_METANG_2, \ + FRONTIER_MON_WIGGLYTUFF_2, \ + FRONTIER_MON_SUNFLORA_2, \ + FRONTIER_MON_CHIMECHO_2, \ + FRONTIER_MON_GLIGAR_2, \ + FRONTIER_MON_QWILFISH_2, \ + FRONTIER_MON_SNEASEL_2, \ + FRONTIER_MON_PELIPPER_2, \ + FRONTIER_MON_SWELLOW_2, \ + FRONTIER_MON_LAIRON_2, \ + FRONTIER_MON_TANGELA_2, \ + FRONTIER_MON_ARBOK_2, \ + FRONTIER_MON_PERSIAN_2, \ + FRONTIER_MON_SEADRA_2, \ + FRONTIER_MON_KECLEON_2, \ + FRONTIER_MON_VIGOROTH_2, \ + FRONTIER_MON_LUNATONE_2, \ + FRONTIER_MON_SOLROCK_2, \ + FRONTIER_MON_NOCTOWL_2, \ + FRONTIER_MON_SANDSLASH_2, \ + FRONTIER_MON_VENOMOTH_2, \ + FRONTIER_MON_CHANSEY_2, \ + FRONTIER_MON_SEAKING_2, \ + FRONTIER_MON_JUMPLUFF_2, \ + FRONTIER_MON_PILOSWINE_2, \ + FRONTIER_MON_GOLBAT_2, \ + FRONTIER_MON_PRIMEAPE_2, \ + FRONTIER_MON_HITMONLEE_2, \ + FRONTIER_MON_HITMONCHAN_2, \ + FRONTIER_MON_GIRAFARIG_2, \ + FRONTIER_MON_HITMONTOP_2, \ + -1 + +#define FRONTIER_MONS_BUG_MANIAC_2 \ + FRONTIER_MON_LEDIAN, \ + FRONTIER_MON_ARIADOS, \ + FRONTIER_MON_YANMA, \ + FRONTIER_MON_VOLBEAT_1, \ + FRONTIER_MON_ILLUMISE_1, \ + FRONTIER_MON_PARASECT_1, \ + FRONTIER_MON_MASQUERAIN_1, \ + FRONTIER_MON_VENOMOTH_1, \ + FRONTIER_MON_NINJASK_1, \ + FRONTIER_MON_SCYTHER_1, \ + FRONTIER_MON_PINSIR_1, \ + FRONTIER_MON_VOLBEAT_2, \ + FRONTIER_MON_ILLUMISE_2, \ + FRONTIER_MON_PARASECT_2, \ + FRONTIER_MON_MASQUERAIN_2, \ + FRONTIER_MON_VENOMOTH_2, \ + FRONTIER_MON_NINJASK_2, \ + FRONTIER_MON_SCYTHER_2, \ + FRONTIER_MON_PINSIR_2, \ + -1 + +#define FRONTIER_MONS_RUIN_MANIAC_2 \ + FRONTIER_MON_GRAVELER_2, \ + FRONTIER_MON_MACHOKE_2, \ + FRONTIER_MON_COMBUSKEN_2, \ + FRONTIER_MON_MARSHTOMP_2, \ + FRONTIER_MON_SUDOWOODO_2, \ + FRONTIER_MON_MAGCARGO_2, \ + FRONTIER_MON_PUPITAR_2, \ + FRONTIER_MON_METANG_2, \ + FRONTIER_MON_GLIGAR_2, \ + FRONTIER_MON_LAIRON_2, \ + FRONTIER_MON_LUNATONE_2, \ + FRONTIER_MON_SOLROCK_2, \ + FRONTIER_MON_SANDSLASH_2, \ + FRONTIER_MON_PILOSWINE_2, \ + FRONTIER_MON_PRIMEAPE_2, \ + FRONTIER_MON_HITMONLEE_2, \ + FRONTIER_MON_HITMONCHAN_2, \ + FRONTIER_MON_HITMONTOP_2, \ + FRONTIER_MON_CAMERUPT_2, \ + FRONTIER_MON_RELICANTH_2, \ + FRONTIER_MON_OMASTAR_2, \ + FRONTIER_MON_KABUTOPS_2, \ + -1 + +#define FRONTIER_MONS_COLLECTOR_1 \ + FRONTIER_MON_BANETTE_2, \ + FRONTIER_MON_NINJASK_2, \ + FRONTIER_MON_SEVIPER_2, \ + FRONTIER_MON_ZANGOOSE_2, \ + FRONTIER_MON_CAMERUPT_2, \ + FRONTIER_MON_SHARPEDO_2, \ + FRONTIER_MON_TROPIUS_2, \ + FRONTIER_MON_MAGNETON_2, \ + FRONTIER_MON_MANTINE_2, \ + FRONTIER_MON_STANTLER_2, \ + FRONTIER_MON_ABSOL_2, \ + FRONTIER_MON_SWALOT_2, \ + FRONTIER_MON_CRAWDAUNT_2, \ + FRONTIER_MON_PIDGEOT_2, \ + FRONTIER_MON_GRUMPIG_2, \ + FRONTIER_MON_TORKOAL_2, \ + FRONTIER_MON_KINGLER_2, \ + FRONTIER_MON_CACTURNE_2, \ + FRONTIER_MON_BELLOSSOM_2, \ + FRONTIER_MON_OCTILLERY_2, \ + FRONTIER_MON_HUNTAIL_2, \ + FRONTIER_MON_GOREBYSS_2, \ + FRONTIER_MON_RELICANTH_2, \ + FRONTIER_MON_OMASTAR_2, \ + FRONTIER_MON_KABUTOPS_2, \ + FRONTIER_MON_POLIWRATH_2, \ + FRONTIER_MON_SCYTHER_2, \ + FRONTIER_MON_PINSIR_2, \ + FRONTIER_MON_POLITOED_2, \ + FRONTIER_MON_CLOYSTER_2, \ + -1 + +#define FRONTIER_MONS_PARASOL_LADY_2 \ + FRONTIER_MON_GLOOM_2, \ + FRONTIER_MON_SEALEO_2, \ + FRONTIER_MON_CASTFORM_2, \ + FRONTIER_MON_SANDSLASH_2, \ + FRONTIER_MON_TROPIUS_2, \ + FRONTIER_MON_MAGNETON_2, \ + FRONTIER_MON_MANTINE_2, \ + FRONTIER_MON_CACTURNE_2, \ + FRONTIER_MON_BELLOSSOM_2, \ + FRONTIER_MON_HUNTAIL_2, \ + FRONTIER_MON_GOREBYSS_2, \ + FRONTIER_MON_OMASTAR_2, \ + -1 + +#define FRONTIER_MONS_BEAUTY_1 \ + FRONTIER_MON_DELCATTY_2, \ + FRONTIER_MON_LICKITUNG_2, \ + FRONTIER_MON_WEEPINBELL_2, \ + FRONTIER_MON_GLOOM_2, \ + FRONTIER_MON_PORYGON_2, \ + FRONTIER_MON_ROSELIA_2, \ + FRONTIER_MON_IVYSAUR_2, \ + FRONTIER_MON_HAUNTER_2, \ + FRONTIER_MON_TOGETIC_2, \ + FRONTIER_MON_RATICATE_2, \ + FRONTIER_MON_FURRET_2, \ + FRONTIER_MON_DUNSPARCE_2, \ + FRONTIER_MON_LINOONE_2, \ + FRONTIER_MON_CASTFORM_2, \ + FRONTIER_MON_WIGGLYTUFF_2, \ + FRONTIER_MON_QWILFISH_2, \ + FRONTIER_MON_SWELLOW_2, \ + FRONTIER_MON_ARBOK_2, \ + FRONTIER_MON_PERSIAN_2, \ + FRONTIER_MON_KECLEON_2, \ + FRONTIER_MON_VIGOROTH_2, \ + FRONTIER_MON_NOCTOWL_2, \ + FRONTIER_MON_VENOMOTH_2, \ + FRONTIER_MON_CHANSEY_2, \ + FRONTIER_MON_GOLBAT_2, \ + FRONTIER_MON_GIRAFARIG_2, \ + FRONTIER_MON_SEVIPER_2, \ + FRONTIER_MON_ZANGOOSE_2, \ + FRONTIER_MON_STANTLER_2, \ + FRONTIER_MON_SWALOT_2, \ + FRONTIER_MON_PIDGEOT_2, \ + -1 + +#define FRONTIER_MONS_AROMA_LADY_2 \ + FRONTIER_MON_WEEPINBELL_2, \ + FRONTIER_MON_GLOOM_2, \ + FRONTIER_MON_KADABRA_2, \ + FRONTIER_MON_ROSELIA_2, \ + FRONTIER_MON_IVYSAUR_2, \ + FRONTIER_MON_PARASECT_2, \ + FRONTIER_MON_BAYLEEF_2, \ + FRONTIER_MON_WOBBUFFET_2, \ + FRONTIER_MON_GROVYLE_2, \ + FRONTIER_MON_SUNFLORA_2, \ + FRONTIER_MON_CHIMECHO_2, \ + FRONTIER_MON_TANGELA_2, \ + FRONTIER_MON_JUMPLUFF_2, \ + FRONTIER_MON_GIRAFARIG_2, \ + FRONTIER_MON_TROPIUS_2, \ + FRONTIER_MON_GRUMPIG_2, \ + FRONTIER_MON_CACTURNE_2, \ + FRONTIER_MON_BELLOSSOM_2, \ + -1 + +#define FRONTIER_MONS_COOLTRAINER_1A \ + FRONTIER_MON_DUGTRIO_1, \ + FRONTIER_MON_MEDICHAM_1, \ + FRONTIER_MON_MISDREAVUS_1, \ + FRONTIER_MON_FEAROW_1, \ + FRONTIER_MON_GRANBULL_1, \ + FRONTIER_MON_JYNX_1, \ + FRONTIER_MON_DUSCLOPS_1, \ + FRONTIER_MON_DODRIO_1, \ + FRONTIER_MON_MR_MIME_1, \ + FRONTIER_MON_LANTURN_1, \ + FRONTIER_MON_BRELOOM_1, \ + FRONTIER_MON_FORRETRESS_1, \ + FRONTIER_MON_WHISCASH_1, \ + FRONTIER_MON_XATU_1, \ + FRONTIER_MON_SKARMORY_1, \ + FRONTIER_MON_MAROWAK_1, \ + FRONTIER_MON_QUAGSIRE_1, \ + FRONTIER_MON_CLEFABLE_1, \ + FRONTIER_MON_HARIYAMA_1, \ + FRONTIER_MON_RAICHU_1, \ + FRONTIER_MON_DEWGONG_1, \ + FRONTIER_MON_MANECTRIC_1, \ + FRONTIER_MON_VILEPLUME_1, \ + FRONTIER_MON_VICTREEBEL_1, \ + FRONTIER_MON_ELECTRODE_1, \ + FRONTIER_MON_EXPLOUD_1, \ + FRONTIER_MON_SHIFTRY_1, \ + FRONTIER_MON_GLALIE_1, \ + FRONTIER_MON_LUDICOLO_1, \ + FRONTIER_MON_HYPNO_1, \ + FRONTIER_MON_GOLEM_1, \ + FRONTIER_MON_RHYDON_1, \ + FRONTIER_MON_ALAKAZAM_1, \ + -1 + +#define FRONTIER_MONS_COOLTRAINER_1B \ + FRONTIER_MON_WEEZING_1, \ + FRONTIER_MON_KANGASKHAN_1, \ + FRONTIER_MON_ELECTABUZZ_1, \ + FRONTIER_MON_TAUROS_1, \ + FRONTIER_MON_SLOWBRO_1, \ + FRONTIER_MON_SLOWKING_1, \ + FRONTIER_MON_MILTANK_1, \ + FRONTIER_MON_ALTARIA_1, \ + FRONTIER_MON_NIDOQUEEN_1, \ + FRONTIER_MON_NIDOKING_1, \ + FRONTIER_MON_MAGMAR_1, \ + FRONTIER_MON_CRADILY_1, \ + FRONTIER_MON_ARMALDO_1, \ + FRONTIER_MON_GOLDUCK_1, \ + FRONTIER_MON_RAPIDASH_1, \ + FRONTIER_MON_MUK_1, \ + FRONTIER_MON_GENGAR_1, \ + FRONTIER_MON_AMPHAROS_1, \ + FRONTIER_MON_SCIZOR_1, \ + FRONTIER_MON_HERACROSS_1, \ + FRONTIER_MON_URSARING_1, \ + FRONTIER_MON_HOUNDOOM_1, \ + FRONTIER_MON_DONPHAN_1, \ + FRONTIER_MON_CLAYDOL_1, \ + FRONTIER_MON_WAILORD_1, \ + FRONTIER_MON_NINETALES_1, \ + FRONTIER_MON_MACHAMP_1, \ + FRONTIER_MON_SHUCKLE_1, \ + FRONTIER_MON_STEELIX_1, \ + FRONTIER_MON_TENTACRUEL_1, \ + FRONTIER_MON_AERODACTYL_1, \ + FRONTIER_MON_PORYGON2_1, \ + FRONTIER_MON_GARDEVOIR_1, \ + -1 + +#define FRONTIER_MONS_COOLTRAINER_1C \ + FRONTIER_MON_EXEGGUTOR_1, \ + FRONTIER_MON_STARMIE_1, \ + FRONTIER_MON_FLYGON_1, \ + FRONTIER_MON_VENUSAUR_1, \ + FRONTIER_MON_VAPOREON_1, \ + FRONTIER_MON_JOLTEON_1, \ + FRONTIER_MON_FLAREON_1, \ + FRONTIER_MON_MEGANIUM_1, \ + FRONTIER_MON_ESPEON_1, \ + FRONTIER_MON_UMBREON_1, \ + FRONTIER_MON_BLASTOISE_1, \ + FRONTIER_MON_FERALIGATR_1, \ + FRONTIER_MON_AGGRON_1, \ + FRONTIER_MON_BLAZIKEN_1, \ + FRONTIER_MON_WALREIN_1, \ + FRONTIER_MON_SCEPTILE_1, \ + FRONTIER_MON_CHARIZARD_1, \ + FRONTIER_MON_TYPHLOSION_1, \ + FRONTIER_MON_LAPRAS_1, \ + FRONTIER_MON_CROBAT_1, \ + FRONTIER_MON_SWAMPERT_1, \ + FRONTIER_MON_GYARADOS_1, \ + FRONTIER_MON_SNORLAX_1, \ + FRONTIER_MON_KINGDRA_1, \ + FRONTIER_MON_BLISSEY_1, \ + FRONTIER_MON_MILOTIC_1, \ + FRONTIER_MON_ARCANINE_1, \ + FRONTIER_MON_SALAMENCE_1, \ + FRONTIER_MON_METAGROSS_1, \ + FRONTIER_MON_SLAKING_1, \ + -1 + +#define FRONTIER_MONS_PKMN_RANGER_1 \ + FRONTIER_MON_NINJASK_1, \ + FRONTIER_MON_VENOMOTH_2, \ + FRONTIER_MON_NINJASK_2, \ + FRONTIER_MON_SCYTHER_2, \ + FRONTIER_MON_PINSIR_2, \ + FRONTIER_MON_FEAROW_1, \ + FRONTIER_MON_GRANBULL_1, \ + FRONTIER_MON_DODRIO_1, \ + FRONTIER_MON_BRELOOM_1, \ + FRONTIER_MON_FORRETRESS_1, \ + FRONTIER_MON_CLEFABLE_1, \ + FRONTIER_MON_VILEPLUME_1, \ + FRONTIER_MON_VICTREEBEL_1, \ + FRONTIER_MON_EXPLOUD_1, \ + FRONTIER_MON_SHIFTRY_1, \ + FRONTIER_MON_LUDICOLO_1, \ + FRONTIER_MON_KANGASKHAN_1, \ + FRONTIER_MON_TAUROS_1, \ + FRONTIER_MON_MILTANK_1, \ + FRONTIER_MON_CRADILY_1, \ + FRONTIER_MON_ARMALDO_1, \ + FRONTIER_MON_SCIZOR_1, \ + FRONTIER_MON_HERACROSS_1, \ + FRONTIER_MON_URSARING_1, \ + FRONTIER_MON_SHUCKLE_1, \ + FRONTIER_MON_PORYGON2_1, \ + FRONTIER_MON_EXEGGUTOR_1, \ + FRONTIER_MON_VENUSAUR_1, \ + FRONTIER_MON_MEGANIUM_1, \ + FRONTIER_MON_SCEPTILE_1, \ + FRONTIER_MON_SNORLAX_1, \ + FRONTIER_MON_BLISSEY_1, \ + FRONTIER_MON_SLAKING_1, \ + -1 + +#define FRONTIER_MONS_DRAGON_TAMER_1 \ + FRONTIER_MON_SKARMORY_1, \ + FRONTIER_MON_RHYDON_1, \ + FRONTIER_MON_ALTARIA_1, \ + FRONTIER_MON_NIDOQUEEN_1, \ + FRONTIER_MON_NIDOKING_1, \ + FRONTIER_MON_STEELIX_1, \ + FRONTIER_MON_AERODACTYL_1, \ + FRONTIER_MON_FLYGON_1, \ + FRONTIER_MON_AGGRON_1, \ + FRONTIER_MON_SCEPTILE_1, \ + FRONTIER_MON_CHARIZARD_1, \ + FRONTIER_MON_LAPRAS_1, \ + FRONTIER_MON_GYARADOS_1, \ + FRONTIER_MON_KINGDRA_1, \ + FRONTIER_MON_MILOTIC_1, \ + FRONTIER_MON_ARCANINE_1, \ + FRONTIER_MON_SALAMENCE_1, \ + -1 + +#define FRONTIER_MONS_POKEFAN_2 \ + FRONTIER_MON_MISDREAVUS_1, \ + FRONTIER_MON_LANTURN_1, \ + FRONTIER_MON_BRELOOM_1, \ + FRONTIER_MON_XATU_1, \ + FRONTIER_MON_QUAGSIRE_1, \ + FRONTIER_MON_CLEFABLE_1, \ + FRONTIER_MON_RAICHU_1, \ + FRONTIER_MON_DEWGONG_1, \ + FRONTIER_MON_VILEPLUME_1, \ + FRONTIER_MON_SLOWBRO_1, \ + FRONTIER_MON_MILTANK_1, \ + FRONTIER_MON_ALTARIA_1, \ + FRONTIER_MON_RAPIDASH_1, \ + FRONTIER_MON_NINETALES_1, \ + FRONTIER_MON_SHUCKLE_1, \ + FRONTIER_MON_PORYGON2_1, \ + FRONTIER_MON_FLYGON_1, \ + FRONTIER_MON_LAPRAS_1, \ + FRONTIER_MON_SNORLAX_1, \ + FRONTIER_MON_BLISSEY_1, \ + FRONTIER_MON_MILOTIC_1, \ + FRONTIER_MON_SLAKING_1, \ + -1 + +#define FRONTIER_MONS_PKMN_BREEDER_M_1 \ + FRONTIER_MON_MUK_1, \ + FRONTIER_MON_GENGAR_1, \ + FRONTIER_MON_AMPHAROS_1, \ + FRONTIER_MON_SCIZOR_1, \ + FRONTIER_MON_HERACROSS_1, \ + FRONTIER_MON_URSARING_1, \ + FRONTIER_MON_HOUNDOOM_1, \ + FRONTIER_MON_DONPHAN_1, \ + FRONTIER_MON_CLAYDOL_1, \ + FRONTIER_MON_WAILORD_1, \ + FRONTIER_MON_NINETALES_1, \ + FRONTIER_MON_MACHAMP_1, \ + FRONTIER_MON_SHUCKLE_1, \ + FRONTIER_MON_STEELIX_1, \ + FRONTIER_MON_TENTACRUEL_1, \ + FRONTIER_MON_AERODACTYL_1, \ + FRONTIER_MON_PORYGON2_1, \ + FRONTIER_MON_GARDEVOIR_1, \ + FRONTIER_MON_EXEGGUTOR_1, \ + FRONTIER_MON_STARMIE_1, \ + FRONTIER_MON_FLYGON_1, \ + FRONTIER_MON_VENUSAUR_1, \ + FRONTIER_MON_VAPOREON_1, \ + FRONTIER_MON_JOLTEON_1, \ + FRONTIER_MON_FLAREON_1, \ + FRONTIER_MON_MEGANIUM_1, \ + FRONTIER_MON_ESPEON_1, \ + FRONTIER_MON_UMBREON_1, \ + FRONTIER_MON_BLASTOISE_1, \ + FRONTIER_MON_FERALIGATR_1, \ + FRONTIER_MON_AGGRON_1, \ + FRONTIER_MON_BLAZIKEN_1, \ + FRONTIER_MON_WALREIN_1, \ + FRONTIER_MON_SCEPTILE_1, \ + FRONTIER_MON_CHARIZARD_1, \ + FRONTIER_MON_TYPHLOSION_1, \ + FRONTIER_MON_LAPRAS_1, \ + FRONTIER_MON_CROBAT_1, \ + FRONTIER_MON_SWAMPERT_1, \ + FRONTIER_MON_GYARADOS_1, \ + FRONTIER_MON_SNORLAX_1, \ + FRONTIER_MON_KINGDRA_1, \ + FRONTIER_MON_BLISSEY_1, \ + FRONTIER_MON_MILOTIC_1, \ + FRONTIER_MON_ARCANINE_1, \ + FRONTIER_MON_SALAMENCE_1, \ + FRONTIER_MON_METAGROSS_1, \ + FRONTIER_MON_SLAKING_1, \ + -1 + +#define FRONTIER_MONS_PKMN_BREEDER_F_1 \ + FRONTIER_MON_DUGTRIO_1, \ + FRONTIER_MON_MEDICHAM_1, \ + FRONTIER_MON_MISDREAVUS_1, \ + FRONTIER_MON_FEAROW_1, \ + FRONTIER_MON_GRANBULL_1, \ + FRONTIER_MON_JYNX_1, \ + FRONTIER_MON_DUSCLOPS_1, \ + FRONTIER_MON_DODRIO_1, \ + FRONTIER_MON_MR_MIME_1, \ + FRONTIER_MON_LANTURN_1, \ + FRONTIER_MON_BRELOOM_1, \ + FRONTIER_MON_FORRETRESS_1, \ + FRONTIER_MON_WHISCASH_1, \ + FRONTIER_MON_XATU_1, \ + FRONTIER_MON_SKARMORY_1, \ + FRONTIER_MON_MAROWAK_1, \ + FRONTIER_MON_QUAGSIRE_1, \ + FRONTIER_MON_CLEFABLE_1, \ + FRONTIER_MON_HARIYAMA_1, \ + FRONTIER_MON_RAICHU_1, \ + FRONTIER_MON_DEWGONG_1, \ + FRONTIER_MON_MANECTRIC_1, \ + FRONTIER_MON_VILEPLUME_1, \ + FRONTIER_MON_VICTREEBEL_1, \ + FRONTIER_MON_ELECTRODE_1, \ + FRONTIER_MON_EXPLOUD_1, \ + FRONTIER_MON_SHIFTRY_1, \ + FRONTIER_MON_GLALIE_1, \ + FRONTIER_MON_LUDICOLO_1, \ + FRONTIER_MON_HYPNO_1, \ + FRONTIER_MON_GOLEM_1, \ + FRONTIER_MON_RHYDON_1, \ + FRONTIER_MON_ALAKAZAM_1, \ + FRONTIER_MON_WEEZING_1, \ + FRONTIER_MON_KANGASKHAN_1, \ + FRONTIER_MON_ELECTABUZZ_1, \ + FRONTIER_MON_TAUROS_1, \ + FRONTIER_MON_SLOWBRO_1, \ + FRONTIER_MON_SLOWKING_1, \ + FRONTIER_MON_MILTANK_1, \ + FRONTIER_MON_ALTARIA_1, \ + FRONTIER_MON_NIDOQUEEN_1, \ + FRONTIER_MON_NIDOKING_1, \ + FRONTIER_MON_MAGMAR_1, \ + FRONTIER_MON_CRADILY_1, \ + FRONTIER_MON_ARMALDO_1, \ + FRONTIER_MON_GOLDUCK_1, \ + FRONTIER_MON_RAPIDASH_1, \ + -1 + +// Odd, all the other Youngster/Lass trainers of this group have Dugtrio, but one does not +#define FRONTIER_MONS_YOUNGSTER_LASS_2_NO_DUGTRIO \ + FRONTIER_MON_MEDICHAM_2, \ + FRONTIER_MON_MAROWAK_2, \ + FRONTIER_MON_QUAGSIRE_2, \ + FRONTIER_MON_MISDREAVUS_2, \ + FRONTIER_MON_FEAROW_2, \ + FRONTIER_MON_GRANBULL_2, \ + FRONTIER_MON_JYNX_2, \ + FRONTIER_MON_DUSCLOPS_2, \ + FRONTIER_MON_DODRIO_2, \ + FRONTIER_MON_MR_MIME_2, \ + FRONTIER_MON_LANTURN_2, \ + FRONTIER_MON_BRELOOM_2, \ + FRONTIER_MON_FORRETRESS_2, \ + FRONTIER_MON_SKARMORY_2, \ + FRONTIER_MON_WHISCASH_2, \ + FRONTIER_MON_XATU_2, \ + FRONTIER_MON_CLEFABLE_2, \ + FRONTIER_MON_HARIYAMA_2, \ + FRONTIER_MON_RAICHU_2, \ + FRONTIER_MON_DEWGONG_2, \ + FRONTIER_MON_MANECTRIC_2, \ + FRONTIER_MON_VILEPLUME_2, \ + FRONTIER_MON_VICTREEBEL_2, \ + FRONTIER_MON_ELECTRODE_2, \ + FRONTIER_MON_EXPLOUD_2, \ + FRONTIER_MON_SHIFTRY_2, \ + FRONTIER_MON_GLALIE_2, \ + FRONTIER_MON_LUDICOLO_2, \ + FRONTIER_MON_HYPNO_2, \ + FRONTIER_MON_GOLEM_2, \ + FRONTIER_MON_RHYDON_2, \ + FRONTIER_MON_ALAKAZAM_2, \ + -1 + +#define FRONTIER_MONS_YOUNGSTER_LASS_2 \ + FRONTIER_MON_DUGTRIO_2, \ + FRONTIER_MONS_YOUNGSTER_LASS_2_NO_DUGTRIO + +#define FRONTIER_MONS_SCHOOL_KID_2 \ + FRONTIER_MON_WEEZING_2, \ + FRONTIER_MON_KANGASKHAN_2, \ + FRONTIER_MON_ELECTABUZZ_2, \ + FRONTIER_MON_TAUROS_2, \ + FRONTIER_MON_SLOWBRO_2, \ + FRONTIER_MON_SLOWKING_2, \ + FRONTIER_MON_MILTANK_2, \ + FRONTIER_MON_ALTARIA_2, \ + FRONTIER_MON_NIDOQUEEN_2, \ + FRONTIER_MON_NIDOKING_2, \ + FRONTIER_MON_MAGMAR_2, \ + FRONTIER_MON_CRADILY_2, \ + FRONTIER_MON_ARMALDO_2, \ + FRONTIER_MON_GOLDUCK_2, \ + FRONTIER_MON_RAPIDASH_2, \ + FRONTIER_MON_MUK_2, \ + FRONTIER_MON_GENGAR_2, \ + FRONTIER_MON_AMPHAROS_2, \ + FRONTIER_MON_SCIZOR_2, \ + FRONTIER_MON_HERACROSS_2, \ + FRONTIER_MON_URSARING_2, \ + FRONTIER_MON_HOUNDOOM_2, \ + FRONTIER_MON_DONPHAN_2, \ + FRONTIER_MON_CLAYDOL_2, \ + FRONTIER_MON_WAILORD_2, \ + FRONTIER_MON_NINETALES_2, \ + FRONTIER_MON_MACHAMP_2, \ + FRONTIER_MON_SHUCKLE_2, \ + FRONTIER_MON_STEELIX_2, \ + FRONTIER_MON_TENTACRUEL_2, \ + FRONTIER_MON_AERODACTYL_2, \ + FRONTIER_MON_PORYGON2_2, \ + FRONTIER_MON_GARDEVOIR_2, \ + -1 + +#define FRONTIER_MONS_RICH_BOY_LADY_2 \ + FRONTIER_MON_EXEGGUTOR_2, \ + FRONTIER_MON_STARMIE_2, \ + FRONTIER_MON_FLYGON_2, \ + FRONTIER_MON_VENUSAUR_2, \ + FRONTIER_MON_VAPOREON_2, \ + FRONTIER_MON_JOLTEON_2, \ + FRONTIER_MON_FLAREON_2, \ + FRONTIER_MON_MEGANIUM_2, \ + FRONTIER_MON_ESPEON_2, \ + FRONTIER_MON_UMBREON_2, \ + FRONTIER_MON_BLASTOISE_2, \ + FRONTIER_MON_FERALIGATR_2, \ + FRONTIER_MON_AGGRON_2, \ + FRONTIER_MON_BLAZIKEN_2, \ + FRONTIER_MON_WALREIN_2, \ + FRONTIER_MON_SCEPTILE_2, \ + FRONTIER_MON_CHARIZARD_2, \ + FRONTIER_MON_TYPHLOSION_2, \ + FRONTIER_MON_LAPRAS_2, \ + FRONTIER_MON_CROBAT_2, \ + FRONTIER_MON_SWAMPERT_2, \ + FRONTIER_MON_GYARADOS_2, \ + FRONTIER_MON_SNORLAX_2, \ + FRONTIER_MON_KINGDRA_2, \ + FRONTIER_MON_BLISSEY_2, \ + FRONTIER_MON_MILOTIC_2, \ + FRONTIER_MON_ARCANINE_2, \ + FRONTIER_MON_SALAMENCE_2, \ + FRONTIER_MON_METAGROSS_2, \ + FRONTIER_MON_SLAKING_2, \ + -1 + +#define FRONTIER_MONS_BUG_CATCHER_2 \ + FRONTIER_MON_NINJASK_2, \ + FRONTIER_MON_SCYTHER_2, \ + FRONTIER_MON_PINSIR_2, \ + FRONTIER_MON_FORRETRESS_1, \ + FRONTIER_MON_ARMALDO_1, \ + FRONTIER_MON_SCIZOR_1, \ + FRONTIER_MON_HERACROSS_1, \ + FRONTIER_MON_SHUCKLE_1, \ + FRONTIER_MON_BRELOOM_2, \ + FRONTIER_MON_FORRETRESS_2, \ + FRONTIER_MON_VILEPLUME_2, \ + FRONTIER_MON_VICTREEBEL_2, \ + FRONTIER_MON_SHIFTRY_2, \ + FRONTIER_MON_LUDICOLO_2, \ + FRONTIER_MON_CRADILY_2, \ + FRONTIER_MON_ARMALDO_2, \ + FRONTIER_MON_SCIZOR_2, \ + FRONTIER_MON_HERACROSS_2, \ + FRONTIER_MON_SHUCKLE_2, \ + FRONTIER_MON_EXEGGUTOR_2, \ + FRONTIER_MON_VENUSAUR_2, \ + FRONTIER_MON_MEGANIUM_2, \ + FRONTIER_MON_SCEPTILE_2, \ + -1 + +#define FRONTIER_MONS_NINJA_BOY_2 \ + FRONTIER_MON_PARASECT_2, \ + FRONTIER_MON_VENOMOTH_2, \ + FRONTIER_MON_NINJASK_2, \ + FRONTIER_MON_SCYTHER_2, \ + FRONTIER_MON_PINSIR_2, \ + FRONTIER_MON_MEDICHAM_2, \ + FRONTIER_MON_MISDREAVUS_2, \ + FRONTIER_MON_JYNX_2, \ + FRONTIER_MON_DUSCLOPS_2, \ + FRONTIER_MON_MR_MIME_2, \ + FRONTIER_MON_FORRETRESS_2, \ + FRONTIER_MON_XATU_2, \ + FRONTIER_MON_VILEPLUME_2, \ + FRONTIER_MON_VICTREEBEL_2, \ + FRONTIER_MON_HYPNO_2, \ + FRONTIER_MON_ALAKAZAM_2, \ + FRONTIER_MON_WEEZING_2, \ + FRONTIER_MON_NIDOQUEEN_2, \ + FRONTIER_MON_NIDOKING_2, \ + FRONTIER_MON_ARMALDO_2, \ + FRONTIER_MON_MUK_2, \ + FRONTIER_MON_GENGAR_2, \ + FRONTIER_MON_SCIZOR_2, \ + FRONTIER_MON_HERACROSS_2, \ + FRONTIER_MON_CLAYDOL_2, \ + FRONTIER_MON_SHUCKLE_2, \ + FRONTIER_MON_TENTACRUEL_2, \ + FRONTIER_MON_GARDEVOIR_2, \ + FRONTIER_MON_EXEGGUTOR_2, \ + FRONTIER_MON_VENUSAUR_2, \ + FRONTIER_MON_ESPEON_2, \ + FRONTIER_MON_CROBAT_2, \ + -1 + +#define FRONTIER_MONS_TUBER_2 \ + FRONTIER_MON_QUAGSIRE_2, \ + FRONTIER_MON_GRANBULL_2, \ + FRONTIER_MON_JYNX_2, \ + FRONTIER_MON_LANTURN_2, \ + FRONTIER_MON_WHISCASH_2, \ + FRONTIER_MON_CLEFABLE_2, \ + FRONTIER_MON_DEWGONG_2, \ + FRONTIER_MON_EXPLOUD_2, \ + FRONTIER_MON_GLALIE_2, \ + FRONTIER_MON_LUDICOLO_2, \ + FRONTIER_MON_KANGASKHAN_2, \ + FRONTIER_MON_TAUROS_2, \ + FRONTIER_MON_SLOWBRO_2, \ + FRONTIER_MON_SLOWKING_2, \ + FRONTIER_MON_MILTANK_2, \ + FRONTIER_MON_GOLDUCK_2, \ + FRONTIER_MON_URSARING_2, \ + FRONTIER_MON_WAILORD_2, \ + FRONTIER_MON_TENTACRUEL_2, \ + FRONTIER_MON_PORYGON2_2, \ + FRONTIER_MON_STARMIE_2, \ + FRONTIER_MON_VAPOREON_2, \ + FRONTIER_MON_BLASTOISE_2, \ + FRONTIER_MON_FERALIGATR_2, \ + FRONTIER_MON_WALREIN_2, \ + FRONTIER_MON_LAPRAS_2, \ + FRONTIER_MON_SWAMPERT_2, \ + FRONTIER_MON_GYARADOS_2, \ + FRONTIER_MON_SNORLAX_2, \ + FRONTIER_MON_KINGDRA_2, \ + FRONTIER_MON_BLISSEY_2, \ + FRONTIER_MON_MILOTIC_2, \ + FRONTIER_MON_SLAKING_2, \ + -1 + +#define FRONTIER_MONS_BUG_MANIAC_3 \ + FRONTIER_MON_VOLBEAT_2, \ + FRONTIER_MON_ILLUMISE_2, \ + FRONTIER_MON_PARASECT_2, \ + FRONTIER_MON_MASQUERAIN_2, \ + FRONTIER_MON_VENOMOTH_2, \ + FRONTIER_MON_NINJASK_2, \ + FRONTIER_MON_SCYTHER_2, \ + FRONTIER_MON_PINSIR_2, \ + FRONTIER_MON_FORRETRESS_1, \ + FRONTIER_MON_ARMALDO_1, \ + FRONTIER_MON_SCIZOR_1, \ + FRONTIER_MON_HERACROSS_1, \ + FRONTIER_MON_SHUCKLE_1, \ + FRONTIER_MON_FORRETRESS_2, \ + FRONTIER_MON_ARMALDO_2, \ + FRONTIER_MON_SCIZOR_2, \ + FRONTIER_MON_HERACROSS_2, \ + FRONTIER_MON_SHUCKLE_2, \ + FRONTIER_MON_FORRETRESS_3, \ + FRONTIER_MON_ARMALDO_3, \ + FRONTIER_MON_SCIZOR_3, \ + FRONTIER_MON_HERACROSS_3, \ + FRONTIER_MON_SHUCKLE_3, \ + -1 + +#define FRONTIER_MONS_FISHERMAN_2 \ + FRONTIER_MON_QWILFISH_2, \ + FRONTIER_MON_SEAKING_2, \ + FRONTIER_MON_SHARPEDO_2, \ + FRONTIER_MON_MANTINE_2, \ + FRONTIER_MON_CRAWDAUNT_2, \ + FRONTIER_MON_KINGLER_2, \ + FRONTIER_MON_OCTILLERY_2, \ + FRONTIER_MON_HUNTAIL_2, \ + FRONTIER_MON_GOREBYSS_2, \ + FRONTIER_MON_RELICANTH_2, \ + FRONTIER_MON_LANTURN_3, \ + FRONTIER_MON_WHISCASH_3, \ + FRONTIER_MON_WAILORD_3, \ + FRONTIER_MON_TENTACRUEL_3, \ + FRONTIER_MON_STARMIE_3, \ + -1 + +#define FRONTIER_MONS_RUIN_MANIAC_3 \ + FRONTIER_MON_DUGTRIO_3, \ + FRONTIER_MON_FORRETRESS_3, \ + FRONTIER_MON_WHISCASH_3, \ + FRONTIER_MON_SKARMORY_3, \ + FRONTIER_MON_MAROWAK_3, \ + FRONTIER_MON_QUAGSIRE_3, \ + FRONTIER_MON_GOLEM_3, \ + FRONTIER_MON_RHYDON_3, \ + FRONTIER_MON_NIDOQUEEN_3, \ + FRONTIER_MON_NIDOKING_3, \ + FRONTIER_MON_CRADILY_3, \ + FRONTIER_MON_ARMALDO_3, \ + FRONTIER_MON_SCIZOR_3, \ + FRONTIER_MON_DONPHAN_3, \ + FRONTIER_MON_CLAYDOL_3, \ + FRONTIER_MON_SHUCKLE_3, \ + FRONTIER_MON_STEELIX_3, \ + FRONTIER_MON_AERODACTYL_3, \ + FRONTIER_MON_FLYGON_3, \ + FRONTIER_MON_AGGRON_3, \ + FRONTIER_MON_SWAMPERT_3, \ + FRONTIER_MON_METAGROSS_3, \ + -1 + +#define FRONTIER_MONS_COLLECTOR_2 \ + FRONTIER_MON_DUGTRIO_3, \ + FRONTIER_MON_MEDICHAM_3, \ + FRONTIER_MON_MISDREAVUS_3, \ + FRONTIER_MON_FEAROW_3, \ + FRONTIER_MON_GRANBULL_3, \ + FRONTIER_MON_JYNX_3, \ + FRONTIER_MON_DUSCLOPS_3, \ + FRONTIER_MON_DODRIO_3, \ + FRONTIER_MON_MR_MIME_3, \ + FRONTIER_MON_LANTURN_3, \ + FRONTIER_MON_BRELOOM_3, \ + FRONTIER_MON_FORRETRESS_3, \ + FRONTIER_MON_WHISCASH_3, \ + FRONTIER_MON_XATU_3, \ + FRONTIER_MON_SKARMORY_3, \ + FRONTIER_MON_MAROWAK_3, \ + FRONTIER_MON_QUAGSIRE_3, \ + FRONTIER_MON_CLEFABLE_3, \ + FRONTIER_MON_HARIYAMA_3, \ + FRONTIER_MON_RAICHU_3, \ + FRONTIER_MON_DEWGONG_3, \ + FRONTIER_MON_MANECTRIC_3, \ + FRONTIER_MON_VILEPLUME_3, \ + FRONTIER_MON_VICTREEBEL_3, \ + FRONTIER_MON_ELECTRODE_3, \ + FRONTIER_MON_EXPLOUD_3, \ + FRONTIER_MON_SHIFTRY_3, \ + FRONTIER_MON_GLALIE_3, \ + FRONTIER_MON_LUDICOLO_3, \ + FRONTIER_MON_HYPNO_3, \ + FRONTIER_MON_GOLEM_3, \ + FRONTIER_MON_RHYDON_3, \ + FRONTIER_MON_ALAKAZAM_3, \ + FRONTIER_MON_WEEZING_3, \ + FRONTIER_MON_KANGASKHAN_3, \ + FRONTIER_MON_ELECTABUZZ_3, \ + FRONTIER_MON_TAUROS_3, \ + FRONTIER_MON_SLOWBRO_3, \ + FRONTIER_MON_SLOWKING_3, \ + FRONTIER_MON_MILTANK_3, \ + FRONTIER_MON_ALTARIA_3, \ + FRONTIER_MON_NIDOQUEEN_3, \ + FRONTIER_MON_NIDOKING_3, \ + FRONTIER_MON_MAGMAR_3, \ + FRONTIER_MON_CRADILY_3, \ + FRONTIER_MON_ARMALDO_3, \ + FRONTIER_MON_GOLDUCK_3, \ + FRONTIER_MON_RAPIDASH_3, \ + -1 + +#define FRONTIER_MONS_GUITARIST_2 \ + FRONTIER_MON_SABLEYE_2, \ + FRONTIER_MON_MIGHTYENA_2, \ + FRONTIER_MON_SNEASEL_2, \ + FRONTIER_MON_MAGNETON_2, \ + FRONTIER_MON_ABSOL_2, \ + FRONTIER_MON_LANTURN_3, \ + FRONTIER_MON_RAICHU_3, \ + FRONTIER_MON_MANECTRIC_3, \ + FRONTIER_MON_ELECTRODE_3, \ + FRONTIER_MON_SHIFTRY_3, \ + FRONTIER_MON_ELECTABUZZ_3, \ + FRONTIER_MON_AMPHAROS_3, \ + FRONTIER_MON_HOUNDOOM_3, \ + FRONTIER_MON_JOLTEON_3, \ + FRONTIER_MON_UMBREON_3, \ + -1 + +#define FRONTIER_MONS_BIRD_KEEPER_2 \ + FRONTIER_MON_MURKROW_2, \ + FRONTIER_MON_PELIPPER_2, \ + FRONTIER_MON_SWELLOW_2, \ + FRONTIER_MON_NOCTOWL_2, \ + FRONTIER_MON_PIDGEOT_2, \ + FRONTIER_MON_FEAROW_1, \ + FRONTIER_MON_DODRIO_1, \ + FRONTIER_MON_XATU_1, \ + FRONTIER_MON_SKARMORY_1, \ + FRONTIER_MON_CROBAT_1, \ + FRONTIER_MON_FEAROW_2, \ + FRONTIER_MON_DODRIO_2, \ + FRONTIER_MON_SKARMORY_2, \ + FRONTIER_MON_XATU_2, \ + FRONTIER_MON_CROBAT_2, \ + FRONTIER_MON_FEAROW_3, \ + FRONTIER_MON_DODRIO_3, \ + FRONTIER_MON_XATU_3, \ + FRONTIER_MON_SKARMORY_3, \ + FRONTIER_MON_CROBAT_3, \ + -1 + +#define FRONTIER_MONS_SAILOR_2 \ + FRONTIER_MON_MEDICHAM_3, \ + FRONTIER_MON_LANTURN_3, \ + FRONTIER_MON_WHISCASH_3, \ + FRONTIER_MON_QUAGSIRE_3, \ + FRONTIER_MON_HARIYAMA_3, \ + FRONTIER_MON_DEWGONG_3, \ + FRONTIER_MON_LUDICOLO_3, \ + FRONTIER_MON_SLOWBRO_3, \ + FRONTIER_MON_SLOWKING_3, \ + FRONTIER_MON_GOLDUCK_3, \ + FRONTIER_MON_WAILORD_3, \ + FRONTIER_MON_MACHAMP_3, \ + FRONTIER_MON_TENTACRUEL_3, \ + FRONTIER_MON_STARMIE_3, \ + FRONTIER_MON_VAPOREON_3, \ + FRONTIER_MON_BLASTOISE_3, \ + FRONTIER_MON_FERALIGATR_3, \ + FRONTIER_MON_WALREIN_3, \ + FRONTIER_MON_LAPRAS_3, \ + FRONTIER_MON_SWAMPERT_3, \ + FRONTIER_MON_GYARADOS_3, \ + FRONTIER_MON_KINGDRA_3, \ + FRONTIER_MON_MILOTIC_3, \ + -1 + +#define FRONTIER_MONS_HIKER_2 \ + FRONTIER_MON_DUGTRIO_3, \ + FRONTIER_MON_MEDICHAM_3, \ + FRONTIER_MON_BRELOOM_3, \ + FRONTIER_MON_MAROWAK_3, \ + FRONTIER_MON_HARIYAMA_3, \ + FRONTIER_MON_GOLEM_3, \ + FRONTIER_MON_RHYDON_3, \ + FRONTIER_MON_NIDOQUEEN_3, \ + FRONTIER_MON_NIDOKING_3, \ + FRONTIER_MON_CRADILY_3, \ + FRONTIER_MON_ARMALDO_3, \ + FRONTIER_MON_HERACROSS_3, \ + FRONTIER_MON_DONPHAN_3, \ + FRONTIER_MON_CLAYDOL_3, \ + FRONTIER_MON_MACHAMP_3, \ + FRONTIER_MON_SHUCKLE_3, \ + FRONTIER_MON_STEELIX_3, \ + FRONTIER_MON_AERODACTYL_3, \ + FRONTIER_MON_AGGRON_3, \ + FRONTIER_MON_BLAZIKEN_3, \ + -1 + +#define FRONTIER_MONS_KINDLER_2 \ + FRONTIER_MON_GRANBULL_3, \ + FRONTIER_MON_CLEFABLE_3, \ + FRONTIER_MON_EXPLOUD_3, \ + FRONTIER_MON_KANGASKHAN_3, \ + FRONTIER_MON_TAUROS_3, \ + FRONTIER_MON_MILTANK_3, \ + FRONTIER_MON_MAGMAR_3, \ + FRONTIER_MON_RAPIDASH_3, \ + FRONTIER_MON_URSARING_3, \ + FRONTIER_MON_HOUNDOOM_3, \ + FRONTIER_MON_NINETALES_3, \ + FRONTIER_MON_FLAREON_3, \ + FRONTIER_MON_BLAZIKEN_3, \ + FRONTIER_MON_CHARIZARD_3, \ + FRONTIER_MON_TYPHLOSION_3, \ + FRONTIER_MON_SNORLAX_3, \ + FRONTIER_MON_BLISSEY_3, \ + FRONTIER_MON_ARCANINE_3, \ + FRONTIER_MON_SLAKING_3, \ + -1 + +#define FRONTIER_MONS_GENTLEMAN_2 \ + FRONTIER_MON_MUK_3, \ + FRONTIER_MON_GENGAR_3, \ + FRONTIER_MON_AMPHAROS_3, \ + FRONTIER_MON_SCIZOR_3, \ + FRONTIER_MON_HERACROSS_3, \ + FRONTIER_MON_URSARING_3, \ + FRONTIER_MON_HOUNDOOM_3, \ + FRONTIER_MON_DONPHAN_3, \ + FRONTIER_MON_CLAYDOL_3, \ + FRONTIER_MON_WAILORD_3, \ + FRONTIER_MON_NINETALES_3, \ + FRONTIER_MON_MACHAMP_3, \ + FRONTIER_MON_SHUCKLE_3, \ + FRONTIER_MON_STEELIX_3, \ + FRONTIER_MON_TENTACRUEL_3, \ + FRONTIER_MON_AERODACTYL_3, \ + FRONTIER_MON_PORYGON2_3, \ + FRONTIER_MON_GARDEVOIR_3, \ + FRONTIER_MON_EXEGGUTOR_3, \ + FRONTIER_MON_STARMIE_3, \ + FRONTIER_MON_FLYGON_3, \ + FRONTIER_MON_VENUSAUR_3, \ + FRONTIER_MON_VAPOREON_3, \ + FRONTIER_MON_JOLTEON_3, \ + FRONTIER_MON_FLAREON_3, \ + FRONTIER_MON_MEGANIUM_3, \ + FRONTIER_MON_ESPEON_3, \ + FRONTIER_MON_UMBREON_3, \ + FRONTIER_MON_BLASTOISE_3, \ + FRONTIER_MON_FERALIGATR_3, \ + FRONTIER_MON_AGGRON_3, \ + FRONTIER_MON_BLAZIKEN_3, \ + FRONTIER_MON_WALREIN_3, \ + FRONTIER_MON_SCEPTILE_3, \ + FRONTIER_MON_CHARIZARD_3, \ + FRONTIER_MON_TYPHLOSION_3, \ + FRONTIER_MON_LAPRAS_3, \ + FRONTIER_MON_CROBAT_3, \ + FRONTIER_MON_SWAMPERT_3, \ + FRONTIER_MON_GYARADOS_3, \ + FRONTIER_MON_SNORLAX_3, \ + FRONTIER_MON_KINGDRA_3, \ + FRONTIER_MON_BLISSEY_3, \ + FRONTIER_MON_MILOTIC_3, \ + FRONTIER_MON_ARCANINE_3, \ + FRONTIER_MON_SALAMENCE_3, \ + FRONTIER_MON_METAGROSS_3, \ + FRONTIER_MON_SLAKING_3, \ + -1 + +#define FRONTIER_MONS_YOUNGSTER_LASS_3 \ + FRONTIER_MON_DUGTRIO_4, \ + FRONTIER_MON_MEDICHAM_4, \ + FRONTIER_MON_MISDREAVUS_4, \ + FRONTIER_MON_FEAROW_4, \ + FRONTIER_MON_GRANBULL_4, \ + FRONTIER_MON_JYNX_4, \ + FRONTIER_MON_DUSCLOPS_4, \ + FRONTIER_MON_DODRIO_4, \ + FRONTIER_MON_MR_MIME_4, \ + FRONTIER_MON_LANTURN_4, \ + FRONTIER_MON_BRELOOM_4, \ + FRONTIER_MON_FORRETRESS_4, \ + FRONTIER_MON_WHISCASH_4, \ + FRONTIER_MON_XATU_4, \ + FRONTIER_MON_SKARMORY_4, \ + FRONTIER_MON_MAROWAK_4, \ + FRONTIER_MON_QUAGSIRE_4, \ + FRONTIER_MON_CLEFABLE_4, \ + FRONTIER_MON_HARIYAMA_4, \ + FRONTIER_MON_RAICHU_4, \ + FRONTIER_MON_DEWGONG_4, \ + FRONTIER_MON_MANECTRIC_4, \ + FRONTIER_MON_VILEPLUME_4, \ + FRONTIER_MON_VICTREEBEL_4, \ + FRONTIER_MON_ELECTRODE_4, \ + FRONTIER_MON_EXPLOUD_4, \ + FRONTIER_MON_SHIFTRY_4, \ + FRONTIER_MON_GLALIE_4, \ + FRONTIER_MON_LUDICOLO_4, \ + FRONTIER_MON_HYPNO_4, \ + FRONTIER_MON_GOLEM_4, \ + FRONTIER_MON_RHYDON_4, \ + FRONTIER_MON_ALAKAZAM_4, \ + -1 + +#define FRONTIER_MONS_CAMPER_PICNICKER_2 \ + FRONTIER_MON_WEEZING_4, \ + FRONTIER_MON_KANGASKHAN_4, \ + FRONTIER_MON_ELECTABUZZ_4, \ + FRONTIER_MON_TAUROS_4, \ + FRONTIER_MON_SLOWBRO_4, \ + FRONTIER_MON_SLOWKING_4, \ + FRONTIER_MON_MILTANK_4, \ + FRONTIER_MON_ALTARIA_4, \ + FRONTIER_MON_NIDOQUEEN_4, \ + FRONTIER_MON_NIDOKING_4, \ + FRONTIER_MON_MAGMAR_4, \ + FRONTIER_MON_CRADILY_4, \ + FRONTIER_MON_ARMALDO_4, \ + FRONTIER_MON_GOLDUCK_4, \ + FRONTIER_MON_RAPIDASH_4, \ + FRONTIER_MON_MUK_4, \ + FRONTIER_MON_GENGAR_4, \ + FRONTIER_MON_AMPHAROS_4, \ + FRONTIER_MON_SCIZOR_4, \ + FRONTIER_MON_HERACROSS_4, \ + FRONTIER_MON_URSARING_4, \ + FRONTIER_MON_HOUNDOOM_4, \ + FRONTIER_MON_DONPHAN_4, \ + FRONTIER_MON_CLAYDOL_4, \ + FRONTIER_MON_WAILORD_4, \ + FRONTIER_MON_NINETALES_4, \ + FRONTIER_MON_MACHAMP_4, \ + FRONTIER_MON_SHUCKLE_4, \ + FRONTIER_MON_STEELIX_4, \ + FRONTIER_MON_TENTACRUEL_4, \ + FRONTIER_MON_AERODACTYL_4, \ + FRONTIER_MON_PORYGON2_4, \ + FRONTIER_MON_GARDEVOIR_4, \ + -1 + +#define FRONTIER_MONS_SWIMMER_M_2 \ + FRONTIER_MON_SHARPEDO_2, \ + FRONTIER_MON_MEDICHAM_4, \ + FRONTIER_MON_GRANBULL_4, \ + FRONTIER_MON_LANTURN_4, \ + FRONTIER_MON_WHISCASH_4, \ + FRONTIER_MON_QUAGSIRE_4, \ + FRONTIER_MON_CLEFABLE_4, \ + FRONTIER_MON_HARIYAMA_4, \ + FRONTIER_MON_DEWGONG_4, \ + FRONTIER_MON_EXPLOUD_4, \ + FRONTIER_MON_LUDICOLO_4, \ + FRONTIER_MON_KANGASKHAN_4, \ + FRONTIER_MON_TAUROS_4, \ + FRONTIER_MON_SLOWBRO_4, \ + FRONTIER_MON_SLOWKING_4, \ + FRONTIER_MON_MILTANK_4, \ + FRONTIER_MON_GOLDUCK_4, \ + FRONTIER_MON_URSARING_4, \ + FRONTIER_MON_WAILORD_4, \ + FRONTIER_MON_MACHAMP_4, \ + FRONTIER_MON_TENTACRUEL_4, \ + FRONTIER_MON_PORYGON2_4, \ + FRONTIER_MON_STARMIE_4, \ + FRONTIER_MON_VAPOREON_4, \ + FRONTIER_MON_BLASTOISE_4, \ + FRONTIER_MON_FERALIGATR_4, \ + FRONTIER_MON_WALREIN_4, \ + FRONTIER_MON_LAPRAS_4, \ + FRONTIER_MON_SWAMPERT_4, \ + FRONTIER_MON_GYARADOS_4, \ + FRONTIER_MON_SNORLAX_4, \ + FRONTIER_MON_KINGDRA_4, \ + FRONTIER_MON_BLISSEY_4, \ + FRONTIER_MON_MILOTIC_4, \ + FRONTIER_MON_SLAKING_4, \ + -1 + +#define FRONTIER_MONS_SWIMMER_F_2 \ + FRONTIER_MON_GRANBULL_4, \ + FRONTIER_MON_JYNX_4, \ + FRONTIER_MON_LANTURN_4, \ + FRONTIER_MON_WHISCASH_4, \ + FRONTIER_MON_QUAGSIRE_4, \ + FRONTIER_MON_CLEFABLE_4, \ + FRONTIER_MON_DEWGONG_4, \ + FRONTIER_MON_EXPLOUD_4, \ + FRONTIER_MON_GLALIE_4, \ + FRONTIER_MON_LUDICOLO_4, \ + FRONTIER_MON_KANGASKHAN_4, \ + FRONTIER_MON_TAUROS_4, \ + FRONTIER_MON_SLOWBRO_4, \ + FRONTIER_MON_SLOWKING_4, \ + FRONTIER_MON_MILTANK_4, \ + FRONTIER_MON_GOLDUCK_4, \ + FRONTIER_MON_URSARING_4, \ + FRONTIER_MON_WAILORD_4, \ + FRONTIER_MON_TENTACRUEL_4, \ + FRONTIER_MON_PORYGON2_4, \ + FRONTIER_MON_STARMIE_4, \ + FRONTIER_MON_VAPOREON_4, \ + FRONTIER_MON_BLASTOISE_4, \ + FRONTIER_MON_FERALIGATR_4, \ + FRONTIER_MON_WALREIN_4, \ + FRONTIER_MON_LAPRAS_4, \ + FRONTIER_MON_SWAMPERT_4, \ + FRONTIER_MON_GYARADOS_4, \ + FRONTIER_MON_SNORLAX_4, \ + FRONTIER_MON_KINGDRA_4, \ + FRONTIER_MON_BLISSEY_4, \ + FRONTIER_MON_MILOTIC_4, \ + FRONTIER_MON_SLAKING_4, \ + -1 + +#define FRONTIER_MONS_POKEFAN_3 \ + FRONTIER_MON_DELCATTY_2, \ + FRONTIER_MON_PORYGON_2, \ + FRONTIER_MON_DUNSPARCE_2, \ + FRONTIER_MON_WIGGLYTUFF_2, \ + FRONTIER_MON_KECLEON_2, \ + FRONTIER_MON_CHANSEY_2, \ + FRONTIER_MON_ABSOL_2, \ + FRONTIER_MON_MISDREAVUS_4, \ + FRONTIER_MON_JYNX_4, \ + FRONTIER_MON_MR_MIME_4, \ + FRONTIER_MON_LANTURN_4, \ + FRONTIER_MON_BRELOOM_4, \ + FRONTIER_MON_WHISCASH_4, \ + FRONTIER_MON_XATU_4, \ + FRONTIER_MON_QUAGSIRE_4, \ + FRONTIER_MON_CLEFABLE_4, \ + FRONTIER_MON_RAICHU_4, \ + FRONTIER_MON_DEWGONG_4, \ + FRONTIER_MON_VILEPLUME_4, \ + FRONTIER_MON_LUDICOLO_4, \ + FRONTIER_MON_SLOWBRO_4, \ + FRONTIER_MON_SLOWKING_4, \ + FRONTIER_MON_MILTANK_4, \ + FRONTIER_MON_ALTARIA_4, \ + FRONTIER_MON_RAPIDASH_4, \ + FRONTIER_MON_AMPHAROS_4, \ + FRONTIER_MON_NINETALES_4, \ + FRONTIER_MON_SHUCKLE_4, \ + FRONTIER_MON_PORYGON2_4, \ + FRONTIER_MON_GARDEVOIR_4, \ + FRONTIER_MON_FLYGON_4, \ + FRONTIER_MON_VAPOREON_4, \ + FRONTIER_MON_JOLTEON_4, \ + FRONTIER_MON_FLAREON_4, \ + FRONTIER_MON_ESPEON_4, \ + FRONTIER_MON_UMBREON_4, \ + FRONTIER_MON_LAPRAS_4, \ + FRONTIER_MON_SNORLAX_4, \ + FRONTIER_MON_BLISSEY_4, \ + FRONTIER_MON_MILOTIC_4, \ + -1 + +#define FRONTIER_MONS_PKMN_BREEDER_2 \ + FRONTIER_MON_EXEGGUTOR_4, \ + FRONTIER_MON_STARMIE_4, \ + FRONTIER_MON_FLYGON_4, \ + FRONTIER_MON_VENUSAUR_4, \ + FRONTIER_MON_VAPOREON_4, \ + FRONTIER_MON_JOLTEON_4, \ + FRONTIER_MON_FLAREON_4, \ + FRONTIER_MON_MEGANIUM_4, \ + FRONTIER_MON_ESPEON_4, \ + FRONTIER_MON_UMBREON_4, \ + FRONTIER_MON_BLASTOISE_4, \ + FRONTIER_MON_FERALIGATR_4, \ + FRONTIER_MON_AGGRON_4, \ + FRONTIER_MON_BLAZIKEN_4, \ + FRONTIER_MON_WALREIN_4, \ + FRONTIER_MON_SCEPTILE_4, \ + FRONTIER_MON_CHARIZARD_4, \ + FRONTIER_MON_TYPHLOSION_4, \ + FRONTIER_MON_LAPRAS_4, \ + FRONTIER_MON_CROBAT_4, \ + FRONTIER_MON_SWAMPERT_4, \ + FRONTIER_MON_GYARADOS_4, \ + FRONTIER_MON_SNORLAX_4, \ + FRONTIER_MON_KINGDRA_4, \ + FRONTIER_MON_BLISSEY_4, \ + FRONTIER_MON_MILOTIC_4, \ + FRONTIER_MON_ARCANINE_4, \ + FRONTIER_MON_SALAMENCE_4, \ + FRONTIER_MON_METAGROSS_4, \ + FRONTIER_MON_SLAKING_4, \ + -1 + +#define FRONTIER_MONS_COOLTRAINER_M_2A \ + FRONTIER_MON_MUK_1, \ + FRONTIER_MON_GENGAR_1, \ + FRONTIER_MON_AMPHAROS_1, \ + FRONTIER_MON_SCIZOR_1, \ + FRONTIER_MON_HERACROSS_1, \ + FRONTIER_MON_URSARING_1, \ + FRONTIER_MON_HOUNDOOM_1, \ + FRONTIER_MON_DONPHAN_1, \ + FRONTIER_MON_CLAYDOL_1, \ + FRONTIER_MON_WAILORD_1, \ + FRONTIER_MON_NINETALES_1, \ + FRONTIER_MON_MACHAMP_1, \ + FRONTIER_MON_SHUCKLE_1, \ + FRONTIER_MON_STEELIX_1, \ + FRONTIER_MON_TENTACRUEL_1, \ + FRONTIER_MON_AERODACTYL_1, \ + FRONTIER_MON_PORYGON2_1, \ + FRONTIER_MON_GARDEVOIR_1, \ + FRONTIER_MON_EXEGGUTOR_1, \ + FRONTIER_MON_STARMIE_1, \ + FRONTIER_MON_FLYGON_1, \ + FRONTIER_MON_VENUSAUR_1, \ + FRONTIER_MON_VAPOREON_1, \ + FRONTIER_MON_JOLTEON_1, \ + FRONTIER_MON_MUK_2, \ + FRONTIER_MON_GENGAR_2, \ + FRONTIER_MON_AMPHAROS_2, \ + FRONTIER_MON_SCIZOR_2, \ + FRONTIER_MON_HERACROSS_2, \ + FRONTIER_MON_URSARING_2, \ + FRONTIER_MON_HOUNDOOM_2, \ + FRONTIER_MON_DONPHAN_2, \ + FRONTIER_MON_CLAYDOL_2, \ + FRONTIER_MON_WAILORD_2, \ + FRONTIER_MON_NINETALES_2, \ + FRONTIER_MON_MACHAMP_2, \ + FRONTIER_MON_SHUCKLE_2, \ + FRONTIER_MON_STEELIX_2, \ + FRONTIER_MON_TENTACRUEL_2, \ + FRONTIER_MON_AERODACTYL_2, \ + FRONTIER_MON_PORYGON2_2, \ + FRONTIER_MON_GARDEVOIR_2, \ + FRONTIER_MON_EXEGGUTOR_2, \ + FRONTIER_MON_STARMIE_2, \ + FRONTIER_MON_FLYGON_2, \ + FRONTIER_MON_VENUSAUR_2, \ + FRONTIER_MON_VAPOREON_2, \ + FRONTIER_MON_JOLTEON_2, \ + FRONTIER_MON_MUK_3, \ + FRONTIER_MON_GENGAR_3, \ + FRONTIER_MON_AMPHAROS_3, \ + FRONTIER_MON_SCIZOR_3, \ + FRONTIER_MON_HERACROSS_3, \ + FRONTIER_MON_URSARING_3, \ + FRONTIER_MON_HOUNDOOM_3, \ + FRONTIER_MON_DONPHAN_3, \ + FRONTIER_MON_CLAYDOL_3, \ + FRONTIER_MON_WAILORD_3, \ + FRONTIER_MON_NINETALES_3, \ + FRONTIER_MON_MACHAMP_3, \ + FRONTIER_MON_SHUCKLE_3, \ + FRONTIER_MON_STEELIX_3, \ + FRONTIER_MON_TENTACRUEL_3, \ + FRONTIER_MON_AERODACTYL_3, \ + FRONTIER_MON_PORYGON2_3, \ + FRONTIER_MON_GARDEVOIR_3, \ + FRONTIER_MON_EXEGGUTOR_3, \ + FRONTIER_MON_STARMIE_3, \ + FRONTIER_MON_FLYGON_3, \ + FRONTIER_MON_VENUSAUR_3, \ + FRONTIER_MON_VAPOREON_3, \ + FRONTIER_MON_JOLTEON_3, \ + FRONTIER_MON_MUK_4, \ + FRONTIER_MON_GENGAR_4, \ + FRONTIER_MON_AMPHAROS_4, \ + FRONTIER_MON_SCIZOR_4, \ + FRONTIER_MON_HERACROSS_4, \ + FRONTIER_MON_URSARING_4, \ + FRONTIER_MON_HOUNDOOM_4, \ + FRONTIER_MON_DONPHAN_4, \ + FRONTIER_MON_CLAYDOL_4, \ + FRONTIER_MON_WAILORD_4, \ + FRONTIER_MON_NINETALES_4, \ + FRONTIER_MON_MACHAMP_4, \ + FRONTIER_MON_SHUCKLE_4, \ + FRONTIER_MON_STEELIX_4, \ + FRONTIER_MON_TENTACRUEL_4, \ + FRONTIER_MON_AERODACTYL_4, \ + FRONTIER_MON_PORYGON2_4, \ + FRONTIER_MON_GARDEVOIR_4, \ + FRONTIER_MON_EXEGGUTOR_4, \ + FRONTIER_MON_STARMIE_4, \ + FRONTIER_MON_FLYGON_4, \ + FRONTIER_MON_VENUSAUR_4, \ + FRONTIER_MON_VAPOREON_4, \ + FRONTIER_MON_JOLTEON_4, \ + -1 + +#define FRONTIER_MONS_COOLTRAINER_M_2B \ + FRONTIER_MON_FLAREON_1, \ + FRONTIER_MON_MEGANIUM_1, \ + FRONTIER_MON_ESPEON_1, \ + FRONTIER_MON_UMBREON_1, \ + FRONTIER_MON_BLASTOISE_1, \ + FRONTIER_MON_FERALIGATR_1, \ + FRONTIER_MON_AGGRON_1, \ + FRONTIER_MON_BLAZIKEN_1, \ + FRONTIER_MON_WALREIN_1, \ + FRONTIER_MON_SCEPTILE_1, \ + FRONTIER_MON_CHARIZARD_1, \ + FRONTIER_MON_TYPHLOSION_1, \ + FRONTIER_MON_LAPRAS_1, \ + FRONTIER_MON_CROBAT_1, \ + FRONTIER_MON_SWAMPERT_1, \ + FRONTIER_MON_GYARADOS_1, \ + FRONTIER_MON_SNORLAX_1, \ + FRONTIER_MON_KINGDRA_1, \ + FRONTIER_MON_BLISSEY_1, \ + FRONTIER_MON_MILOTIC_1, \ + FRONTIER_MON_ARCANINE_1, \ + FRONTIER_MON_SALAMENCE_1, \ + FRONTIER_MON_METAGROSS_1, \ + FRONTIER_MON_SLAKING_1, \ + FRONTIER_MON_FLAREON_2, \ + FRONTIER_MON_MEGANIUM_2, \ + FRONTIER_MON_ESPEON_2, \ + FRONTIER_MON_UMBREON_2, \ + FRONTIER_MON_BLASTOISE_2, \ + FRONTIER_MON_FERALIGATR_2, \ + FRONTIER_MON_AGGRON_2, \ + FRONTIER_MON_BLAZIKEN_2, \ + FRONTIER_MON_WALREIN_2, \ + FRONTIER_MON_SCEPTILE_2, \ + FRONTIER_MON_CHARIZARD_2, \ + FRONTIER_MON_TYPHLOSION_2, \ + FRONTIER_MON_LAPRAS_2, \ + FRONTIER_MON_CROBAT_2, \ + FRONTIER_MON_SWAMPERT_2, \ + FRONTIER_MON_GYARADOS_2, \ + FRONTIER_MON_SNORLAX_2, \ + FRONTIER_MON_KINGDRA_2, \ + FRONTIER_MON_BLISSEY_2, \ + FRONTIER_MON_MILOTIC_2, \ + FRONTIER_MON_ARCANINE_2, \ + FRONTIER_MON_SALAMENCE_2, \ + FRONTIER_MON_METAGROSS_2, \ + FRONTIER_MON_SLAKING_2, \ + FRONTIER_MON_FLAREON_3, \ + FRONTIER_MON_MEGANIUM_3, \ + FRONTIER_MON_ESPEON_3, \ + FRONTIER_MON_UMBREON_3, \ + FRONTIER_MON_BLASTOISE_3, \ + FRONTIER_MON_FERALIGATR_3, \ + FRONTIER_MON_AGGRON_3, \ + FRONTIER_MON_BLAZIKEN_3, \ + FRONTIER_MON_WALREIN_3, \ + FRONTIER_MON_SCEPTILE_3, \ + FRONTIER_MON_CHARIZARD_3, \ + FRONTIER_MON_TYPHLOSION_3, \ + FRONTIER_MON_LAPRAS_3, \ + FRONTIER_MON_CROBAT_3, \ + FRONTIER_MON_SWAMPERT_3, \ + FRONTIER_MON_GYARADOS_3, \ + FRONTIER_MON_SNORLAX_3, \ + FRONTIER_MON_KINGDRA_3, \ + FRONTIER_MON_BLISSEY_3, \ + FRONTIER_MON_MILOTIC_3, \ + FRONTIER_MON_ARCANINE_3, \ + FRONTIER_MON_SALAMENCE_3, \ + FRONTIER_MON_METAGROSS_3, \ + FRONTIER_MON_SLAKING_3, \ + FRONTIER_MON_FLAREON_4, \ + FRONTIER_MON_MEGANIUM_4, \ + FRONTIER_MON_ESPEON_4, \ + FRONTIER_MON_UMBREON_4, \ + FRONTIER_MON_BLASTOISE_4, \ + FRONTIER_MON_FERALIGATR_4, \ + FRONTIER_MON_AGGRON_4, \ + FRONTIER_MON_BLAZIKEN_4, \ + FRONTIER_MON_WALREIN_4, \ + FRONTIER_MON_SCEPTILE_4, \ + FRONTIER_MON_CHARIZARD_4, \ + FRONTIER_MON_TYPHLOSION_4, \ + FRONTIER_MON_LAPRAS_4, \ + FRONTIER_MON_CROBAT_4, \ + FRONTIER_MON_SWAMPERT_4, \ + FRONTIER_MON_GYARADOS_4, \ + FRONTIER_MON_SNORLAX_4, \ + FRONTIER_MON_KINGDRA_4, \ + FRONTIER_MON_BLISSEY_4, \ + FRONTIER_MON_MILOTIC_4, \ + FRONTIER_MON_ARCANINE_4, \ + FRONTIER_MON_SALAMENCE_4, \ + FRONTIER_MON_METAGROSS_4, \ + FRONTIER_MON_SLAKING_4, \ + -1 + +// Cooltrainer M uses Latios, Cooltrainer F uses Latias +#define FRONTIER_MONS_COOLTRAINER_2C(lati) \ + FRONTIER_MON_GENGAR_1, \ + FRONTIER_MON_URSARING_1, \ + FRONTIER_MON_MACHAMP_1, \ + FRONTIER_MON_GARDEVOIR_1, \ + FRONTIER_MON_STARMIE_1, \ + FRONTIER_MON_LAPRAS_1, \ + FRONTIER_MON_SNORLAX_1, \ + FRONTIER_MON_SALAMENCE_1, \ + FRONTIER_MON_METAGROSS_1, \ + FRONTIER_MON_GENGAR_2, \ + FRONTIER_MON_URSARING_2, \ + FRONTIER_MON_MACHAMP_2, \ + FRONTIER_MON_GARDEVOIR_2, \ + FRONTIER_MON_STARMIE_2, \ + FRONTIER_MON_LAPRAS_2, \ + FRONTIER_MON_SNORLAX_2, \ + FRONTIER_MON_SALAMENCE_2, \ + FRONTIER_MON_METAGROSS_2, \ + FRONTIER_MON_GENGAR_3, \ + FRONTIER_MON_URSARING_3, \ + FRONTIER_MON_MACHAMP_3, \ + FRONTIER_MON_GARDEVOIR_3, \ + FRONTIER_MON_STARMIE_3, \ + FRONTIER_MON_LAPRAS_3, \ + FRONTIER_MON_SNORLAX_3, \ + FRONTIER_MON_SALAMENCE_3, \ + FRONTIER_MON_METAGROSS_3, \ + FRONTIER_MON_GENGAR_4, \ + FRONTIER_MON_URSARING_4, \ + FRONTIER_MON_MACHAMP_4, \ + FRONTIER_MON_GARDEVOIR_4, \ + FRONTIER_MON_STARMIE_4, \ + FRONTIER_MON_LAPRAS_4, \ + FRONTIER_MON_SNORLAX_4, \ + FRONTIER_MON_SALAMENCE_4, \ + FRONTIER_MON_METAGROSS_4, \ + FRONTIER_MON_##lati##_1, \ + FRONTIER_MON_##lati##_2, \ + FRONTIER_MON_##lati##_3, \ + FRONTIER_MON_##lati##_4, \ + FRONTIER_MON_GENGAR_5, \ + FRONTIER_MON_GENGAR_6, \ + FRONTIER_MON_GENGAR_7, \ + FRONTIER_MON_GENGAR_8, \ + FRONTIER_MON_URSARING_5, \ + FRONTIER_MON_URSARING_6, \ + FRONTIER_MON_URSARING_7, \ + FRONTIER_MON_URSARING_8, \ + FRONTIER_MON_MACHAMP_5, \ + FRONTIER_MON_MACHAMP_6, \ + FRONTIER_MON_MACHAMP_7, \ + FRONTIER_MON_MACHAMP_8, \ + FRONTIER_MON_GARDEVOIR_5, \ + FRONTIER_MON_GARDEVOIR_6, \ + FRONTIER_MON_GARDEVOIR_7, \ + FRONTIER_MON_GARDEVOIR_8, \ + FRONTIER_MON_STARMIE_5, \ + FRONTIER_MON_STARMIE_6, \ + FRONTIER_MON_STARMIE_7, \ + FRONTIER_MON_STARMIE_8, \ + FRONTIER_MON_LAPRAS_5, \ + FRONTIER_MON_LAPRAS_6, \ + FRONTIER_MON_LAPRAS_7, \ + FRONTIER_MON_LAPRAS_8, \ + FRONTIER_MON_SNORLAX_5, \ + FRONTIER_MON_SNORLAX_6, \ + FRONTIER_MON_SNORLAX_7, \ + FRONTIER_MON_SNORLAX_8, \ + FRONTIER_MON_SALAMENCE_5, \ + FRONTIER_MON_SALAMENCE_6, \ + FRONTIER_MON_SALAMENCE_7, \ + FRONTIER_MON_SALAMENCE_8, \ + FRONTIER_MON_METAGROSS_5, \ + FRONTIER_MON_METAGROSS_6, \ + FRONTIER_MON_METAGROSS_7, \ + FRONTIER_MON_METAGROSS_8, \ + FRONTIER_MON_##lati##_5, \ + FRONTIER_MON_##lati##_6, \ + FRONTIER_MON_##lati##_7, \ + FRONTIER_MON_##lati##_8, \ + FRONTIER_MON_DRAGONITE_1, \ + FRONTIER_MON_DRAGONITE_2, \ + FRONTIER_MON_DRAGONITE_3, \ + FRONTIER_MON_DRAGONITE_4, \ + FRONTIER_MON_DRAGONITE_5, \ + FRONTIER_MON_DRAGONITE_6, \ + FRONTIER_MON_DRAGONITE_7, \ + FRONTIER_MON_DRAGONITE_8, \ + FRONTIER_MON_DRAGONITE_9, \ + FRONTIER_MON_DRAGONITE_10, \ + FRONTIER_MON_TYRANITAR_1, \ + FRONTIER_MON_TYRANITAR_2, \ + FRONTIER_MON_TYRANITAR_3, \ + FRONTIER_MON_TYRANITAR_4, \ + FRONTIER_MON_TYRANITAR_5, \ + FRONTIER_MON_TYRANITAR_6, \ + FRONTIER_MON_TYRANITAR_7, \ + FRONTIER_MON_TYRANITAR_8, \ + FRONTIER_MON_TYRANITAR_9, \ + FRONTIER_MON_TYRANITAR_10, \ + -1 + +// Also used by Pkmn Ranger M/F +// For both classes, M uses Latios and F uses Latias +#define FRONTIER_MONS_COOLTRAINER_2D(lati) \ + FRONTIER_MON_ARTICUNO_1, \ + FRONTIER_MON_ZAPDOS_1, \ + FRONTIER_MON_MOLTRES_1, \ + FRONTIER_MON_RAIKOU_1, \ + FRONTIER_MON_ENTEI_1, \ + FRONTIER_MON_SUICUNE_1, \ + FRONTIER_MON_REGIROCK_1, \ + FRONTIER_MON_REGICE_1, \ + FRONTIER_MON_REGISTEEL_1, \ + FRONTIER_MON_##lati##_1, \ + FRONTIER_MON_ARTICUNO_2, \ + FRONTIER_MON_ZAPDOS_2, \ + FRONTIER_MON_MOLTRES_2, \ + FRONTIER_MON_RAIKOU_2, \ + FRONTIER_MON_ENTEI_2, \ + FRONTIER_MON_SUICUNE_2, \ + FRONTIER_MON_REGIROCK_2, \ + FRONTIER_MON_REGICE_2, \ + FRONTIER_MON_REGISTEEL_2, \ + FRONTIER_MON_##lati##_2, \ + FRONTIER_MON_ARTICUNO_3, \ + FRONTIER_MON_ZAPDOS_3, \ + FRONTIER_MON_MOLTRES_3, \ + FRONTIER_MON_RAIKOU_3, \ + FRONTIER_MON_ENTEI_3, \ + FRONTIER_MON_SUICUNE_3, \ + FRONTIER_MON_REGIROCK_3, \ + FRONTIER_MON_REGICE_3, \ + FRONTIER_MON_REGISTEEL_3, \ + FRONTIER_MON_##lati##_3, \ + FRONTIER_MON_ARTICUNO_4, \ + FRONTIER_MON_ZAPDOS_4, \ + FRONTIER_MON_MOLTRES_4, \ + FRONTIER_MON_RAIKOU_4, \ + FRONTIER_MON_ENTEI_4, \ + FRONTIER_MON_SUICUNE_4, \ + FRONTIER_MON_REGIROCK_4, \ + FRONTIER_MON_REGICE_4, \ + FRONTIER_MON_REGISTEEL_4, \ + FRONTIER_MON_##lati##_4, \ + FRONTIER_MON_REGIROCK_5, \ + FRONTIER_MON_REGIROCK_6, \ + FRONTIER_MON_REGICE_5, \ + FRONTIER_MON_REGICE_6, \ + FRONTIER_MON_REGISTEEL_5, \ + FRONTIER_MON_REGISTEEL_6, \ + FRONTIER_MON_##lati##_5, \ + FRONTIER_MON_##lati##_6, \ + FRONTIER_MON_##lati##_7, \ + FRONTIER_MON_##lati##_8, \ + FRONTIER_MON_DRAGONITE_1, \ + FRONTIER_MON_DRAGONITE_2, \ + FRONTIER_MON_DRAGONITE_3, \ + FRONTIER_MON_DRAGONITE_4, \ + FRONTIER_MON_DRAGONITE_5, \ + FRONTIER_MON_DRAGONITE_6, \ + FRONTIER_MON_DRAGONITE_7, \ + FRONTIER_MON_DRAGONITE_8, \ + FRONTIER_MON_DRAGONITE_9, \ + FRONTIER_MON_DRAGONITE_10, \ + FRONTIER_MON_TYRANITAR_1, \ + FRONTIER_MON_TYRANITAR_2, \ + FRONTIER_MON_TYRANITAR_3, \ + FRONTIER_MON_TYRANITAR_4, \ + FRONTIER_MON_TYRANITAR_5, \ + FRONTIER_MON_TYRANITAR_6, \ + FRONTIER_MON_TYRANITAR_7, \ + FRONTIER_MON_TYRANITAR_8, \ + FRONTIER_MON_TYRANITAR_9, \ + FRONTIER_MON_TYRANITAR_10, \ + FRONTIER_MON_ARTICUNO_5, \ + FRONTIER_MON_ARTICUNO_6, \ + FRONTIER_MON_ZAPDOS_5, \ + FRONTIER_MON_ZAPDOS_6, \ + FRONTIER_MON_MOLTRES_5, \ + FRONTIER_MON_MOLTRES_6, \ + FRONTIER_MON_RAIKOU_5, \ + FRONTIER_MON_RAIKOU_6, \ + FRONTIER_MON_ENTEI_5, \ + FRONTIER_MON_ENTEI_6, \ + FRONTIER_MON_SUICUNE_5, \ + FRONTIER_MON_SUICUNE_6, \ + -1 + +#define FRONTIER_MONS_COOLTRAINER_F_2A \ + FRONTIER_MON_DUGTRIO_1, \ + FRONTIER_MON_MEDICHAM_1, \ + FRONTIER_MON_MISDREAVUS_1, \ + FRONTIER_MON_FEAROW_1, \ + FRONTIER_MON_GRANBULL_1, \ + FRONTIER_MON_JYNX_1, \ + FRONTIER_MON_DUSCLOPS_1, \ + FRONTIER_MON_DODRIO_1, \ + FRONTIER_MON_MR_MIME_1, \ + FRONTIER_MON_LANTURN_1, \ + FRONTIER_MON_BRELOOM_1, \ + FRONTIER_MON_FORRETRESS_1, \ + FRONTIER_MON_WHISCASH_1, \ + FRONTIER_MON_XATU_1, \ + FRONTIER_MON_SKARMORY_1, \ + FRONTIER_MON_MAROWAK_1, \ + FRONTIER_MON_QUAGSIRE_1, \ + FRONTIER_MON_CLEFABLE_1, \ + FRONTIER_MON_HARIYAMA_1, \ + FRONTIER_MON_RAICHU_1, \ + FRONTIER_MON_DEWGONG_1, \ + FRONTIER_MON_MANECTRIC_1, \ + FRONTIER_MON_VILEPLUME_1, \ + FRONTIER_MON_VICTREEBEL_1, \ + FRONTIER_MON_DUGTRIO_2, \ + FRONTIER_MON_MEDICHAM_2, \ + FRONTIER_MON_MAROWAK_2, \ + FRONTIER_MON_QUAGSIRE_2, \ + FRONTIER_MON_MISDREAVUS_2, \ + FRONTIER_MON_FEAROW_2, \ + FRONTIER_MON_GRANBULL_2, \ + FRONTIER_MON_JYNX_2, \ + FRONTIER_MON_DUSCLOPS_2, \ + FRONTIER_MON_DODRIO_2, \ + FRONTIER_MON_MR_MIME_2, \ + FRONTIER_MON_LANTURN_2, \ + FRONTIER_MON_BRELOOM_2, \ + FRONTIER_MON_FORRETRESS_2, \ + FRONTIER_MON_SKARMORY_2, \ + FRONTIER_MON_WHISCASH_2, \ + FRONTIER_MON_XATU_2, \ + FRONTIER_MON_CLEFABLE_2, \ + FRONTIER_MON_HARIYAMA_2, \ + FRONTIER_MON_RAICHU_2, \ + FRONTIER_MON_DEWGONG_2, \ + FRONTIER_MON_MANECTRIC_2, \ + FRONTIER_MON_VILEPLUME_2, \ + FRONTIER_MON_VICTREEBEL_2, \ + FRONTIER_MON_DUGTRIO_3, \ + FRONTIER_MON_MEDICHAM_3, \ + FRONTIER_MON_MISDREAVUS_3, \ + FRONTIER_MON_FEAROW_3, \ + FRONTIER_MON_GRANBULL_3, \ + FRONTIER_MON_JYNX_3, \ + FRONTIER_MON_DUSCLOPS_3, \ + FRONTIER_MON_DODRIO_3, \ + FRONTIER_MON_MR_MIME_3, \ + FRONTIER_MON_LANTURN_3, \ + FRONTIER_MON_BRELOOM_3, \ + FRONTIER_MON_FORRETRESS_3, \ + FRONTIER_MON_WHISCASH_3, \ + FRONTIER_MON_XATU_3, \ + FRONTIER_MON_SKARMORY_3, \ + FRONTIER_MON_MAROWAK_3, \ + FRONTIER_MON_QUAGSIRE_3, \ + FRONTIER_MON_CLEFABLE_3, \ + FRONTIER_MON_HARIYAMA_3, \ + FRONTIER_MON_RAICHU_3, \ + FRONTIER_MON_DEWGONG_3, \ + FRONTIER_MON_MANECTRIC_3, \ + FRONTIER_MON_VILEPLUME_3, \ + FRONTIER_MON_VICTREEBEL_3, \ + FRONTIER_MON_DUGTRIO_4, \ + FRONTIER_MON_MEDICHAM_4, \ + FRONTIER_MON_MISDREAVUS_4, \ + FRONTIER_MON_FEAROW_4, \ + FRONTIER_MON_GRANBULL_4, \ + FRONTIER_MON_JYNX_4, \ + FRONTIER_MON_DUSCLOPS_4, \ + FRONTIER_MON_DODRIO_4, \ + FRONTIER_MON_MR_MIME_4, \ + FRONTIER_MON_LANTURN_4, \ + FRONTIER_MON_BRELOOM_4, \ + FRONTIER_MON_FORRETRESS_4, \ + FRONTIER_MON_WHISCASH_4, \ + FRONTIER_MON_XATU_4, \ + FRONTIER_MON_SKARMORY_4, \ + FRONTIER_MON_MAROWAK_4, \ + FRONTIER_MON_QUAGSIRE_4, \ + FRONTIER_MON_CLEFABLE_4, \ + FRONTIER_MON_HARIYAMA_4, \ + FRONTIER_MON_RAICHU_4, \ + FRONTIER_MON_DEWGONG_4, \ + FRONTIER_MON_MANECTRIC_4, \ + FRONTIER_MON_VILEPLUME_4, \ + FRONTIER_MON_VICTREEBEL_4, \ + -1 + +#define FRONTIER_MONS_COOLTRAINER_F_2B \ + FRONTIER_MON_ELECTRODE_1, \ + FRONTIER_MON_EXPLOUD_1, \ + FRONTIER_MON_SHIFTRY_1, \ + FRONTIER_MON_GLALIE_1, \ + FRONTIER_MON_LUDICOLO_1, \ + FRONTIER_MON_HYPNO_1, \ + FRONTIER_MON_GOLEM_1, \ + FRONTIER_MON_RHYDON_1, \ + FRONTIER_MON_ALAKAZAM_1, \ + FRONTIER_MON_WEEZING_1, \ + FRONTIER_MON_KANGASKHAN_1, \ + FRONTIER_MON_ELECTABUZZ_1, \ + FRONTIER_MON_TAUROS_1, \ + FRONTIER_MON_SLOWBRO_1, \ + FRONTIER_MON_SLOWKING_1, \ + FRONTIER_MON_MILTANK_1, \ + FRONTIER_MON_ALTARIA_1, \ + FRONTIER_MON_NIDOQUEEN_1, \ + FRONTIER_MON_NIDOKING_1, \ + FRONTIER_MON_MAGMAR_1, \ + FRONTIER_MON_CRADILY_1, \ + FRONTIER_MON_ARMALDO_1, \ + FRONTIER_MON_GOLDUCK_1, \ + FRONTIER_MON_RAPIDASH_1, \ + FRONTIER_MON_ELECTRODE_2, \ + FRONTIER_MON_EXPLOUD_2, \ + FRONTIER_MON_SHIFTRY_2, \ + FRONTIER_MON_GLALIE_2, \ + FRONTIER_MON_LUDICOLO_2, \ + FRONTIER_MON_HYPNO_2, \ + FRONTIER_MON_GOLEM_2, \ + FRONTIER_MON_RHYDON_2, \ + FRONTIER_MON_ALAKAZAM_2, \ + FRONTIER_MON_WEEZING_2, \ + FRONTIER_MON_KANGASKHAN_2, \ + FRONTIER_MON_ELECTABUZZ_2, \ + FRONTIER_MON_TAUROS_2, \ + FRONTIER_MON_SLOWBRO_2, \ + FRONTIER_MON_SLOWKING_2, \ + FRONTIER_MON_MILTANK_2, \ + FRONTIER_MON_ALTARIA_2, \ + FRONTIER_MON_NIDOQUEEN_2, \ + FRONTIER_MON_NIDOKING_2, \ + FRONTIER_MON_MAGMAR_2, \ + FRONTIER_MON_CRADILY_2, \ + FRONTIER_MON_ARMALDO_2, \ + FRONTIER_MON_GOLDUCK_2, \ + FRONTIER_MON_RAPIDASH_2, \ + FRONTIER_MON_ELECTRODE_3, \ + FRONTIER_MON_EXPLOUD_3, \ + FRONTIER_MON_SHIFTRY_3, \ + FRONTIER_MON_GLALIE_3, \ + FRONTIER_MON_LUDICOLO_3, \ + FRONTIER_MON_HYPNO_3, \ + FRONTIER_MON_GOLEM_3, \ + FRONTIER_MON_RHYDON_3, \ + FRONTIER_MON_ALAKAZAM_3, \ + FRONTIER_MON_WEEZING_3, \ + FRONTIER_MON_KANGASKHAN_3, \ + FRONTIER_MON_ELECTABUZZ_3, \ + FRONTIER_MON_TAUROS_3, \ + FRONTIER_MON_SLOWBRO_3, \ + FRONTIER_MON_SLOWKING_3, \ + FRONTIER_MON_MILTANK_3, \ + FRONTIER_MON_ALTARIA_3, \ + FRONTIER_MON_NIDOQUEEN_3, \ + FRONTIER_MON_NIDOKING_3, \ + FRONTIER_MON_MAGMAR_3, \ + FRONTIER_MON_CRADILY_3, \ + FRONTIER_MON_ARMALDO_3, \ + FRONTIER_MON_GOLDUCK_3, \ + FRONTIER_MON_RAPIDASH_3, \ + FRONTIER_MON_ELECTRODE_4, \ + FRONTIER_MON_EXPLOUD_4, \ + FRONTIER_MON_SHIFTRY_4, \ + FRONTIER_MON_GLALIE_4, \ + FRONTIER_MON_LUDICOLO_4, \ + FRONTIER_MON_HYPNO_4, \ + FRONTIER_MON_GOLEM_4, \ + FRONTIER_MON_RHYDON_4, \ + FRONTIER_MON_ALAKAZAM_4, \ + FRONTIER_MON_WEEZING_4, \ + FRONTIER_MON_KANGASKHAN_4, \ + FRONTIER_MON_ELECTABUZZ_4, \ + FRONTIER_MON_TAUROS_4, \ + FRONTIER_MON_SLOWBRO_4, \ + FRONTIER_MON_SLOWKING_4, \ + FRONTIER_MON_MILTANK_4, \ + FRONTIER_MON_ALTARIA_4, \ + FRONTIER_MON_NIDOQUEEN_4, \ + FRONTIER_MON_NIDOKING_4, \ + FRONTIER_MON_MAGMAR_4, \ + FRONTIER_MON_CRADILY_4, \ + FRONTIER_MON_ARMALDO_4, \ + FRONTIER_MON_GOLDUCK_4, \ + FRONTIER_MON_RAPIDASH_4, \ + -1 + +// Used by Pkmn Ranger M, Gentleman, Running Triathlete, and Cycling Triathlete +#define FRONTIER_MONS_GENERAL_A \ + FRONTIER_MON_DUGTRIO_4, \ + FRONTIER_MON_MEDICHAM_4, \ + FRONTIER_MON_MISDREAVUS_4, \ + FRONTIER_MON_FEAROW_4, \ + FRONTIER_MON_GRANBULL_4, \ + FRONTIER_MON_JYNX_4, \ + FRONTIER_MON_DUSCLOPS_4, \ + FRONTIER_MON_DODRIO_4, \ + FRONTIER_MON_MR_MIME_4, \ + FRONTIER_MON_LANTURN_4, \ + FRONTIER_MON_BRELOOM_4, \ + FRONTIER_MON_FORRETRESS_4, \ + FRONTIER_MON_WHISCASH_4, \ + FRONTIER_MON_XATU_4, \ + FRONTIER_MON_SKARMORY_4, \ + FRONTIER_MON_MAROWAK_4, \ + FRONTIER_MON_QUAGSIRE_4, \ + FRONTIER_MON_CLEFABLE_4, \ + FRONTIER_MON_HARIYAMA_4, \ + FRONTIER_MON_RAICHU_4, \ + FRONTIER_MON_DEWGONG_4, \ + FRONTIER_MON_MANECTRIC_4, \ + FRONTIER_MON_VILEPLUME_4, \ + FRONTIER_MON_VICTREEBEL_4, \ + FRONTIER_MON_ELECTRODE_4, \ + FRONTIER_MON_EXPLOUD_4, \ + FRONTIER_MON_SHIFTRY_4, \ + FRONTIER_MON_GLALIE_4, \ + FRONTIER_MON_LUDICOLO_4, \ + FRONTIER_MON_HYPNO_4, \ + FRONTIER_MON_GOLEM_4, \ + FRONTIER_MON_RHYDON_4, \ + FRONTIER_MON_ALAKAZAM_4, \ + FRONTIER_MON_WEEZING_4, \ + FRONTIER_MON_KANGASKHAN_4, \ + FRONTIER_MON_ELECTABUZZ_4, \ + FRONTIER_MON_TAUROS_4, \ + FRONTIER_MON_SLOWBRO_4, \ + FRONTIER_MON_SLOWKING_4, \ + FRONTIER_MON_MILTANK_4, \ + FRONTIER_MON_ALTARIA_4, \ + FRONTIER_MON_NIDOQUEEN_4, \ + FRONTIER_MON_NIDOKING_4, \ + FRONTIER_MON_MAGMAR_4, \ + FRONTIER_MON_CRADILY_4, \ + FRONTIER_MON_ARMALDO_4, \ + FRONTIER_MON_GOLDUCK_4, \ + FRONTIER_MON_RAPIDASH_4, \ + FRONTIER_MON_MUK_4, \ + FRONTIER_MON_GENGAR_4, \ + FRONTIER_MON_AMPHAROS_4, \ + FRONTIER_MON_SCIZOR_4, \ + FRONTIER_MON_HERACROSS_4, \ + FRONTIER_MON_URSARING_4, \ + FRONTIER_MON_HOUNDOOM_4, \ + FRONTIER_MON_DONPHAN_4, \ + FRONTIER_MON_CLAYDOL_4, \ + FRONTIER_MON_WAILORD_4, \ + FRONTIER_MON_NINETALES_4, \ + FRONTIER_MON_MACHAMP_4, \ + FRONTIER_MON_SHUCKLE_4, \ + FRONTIER_MON_STEELIX_4, \ + FRONTIER_MON_TENTACRUEL_4, \ + FRONTIER_MON_AERODACTYL_4, \ + FRONTIER_MON_PORYGON2_4, \ + FRONTIER_MON_GARDEVOIR_4, \ + FRONTIER_MON_EXEGGUTOR_4, \ + FRONTIER_MON_STARMIE_4, \ + FRONTIER_MON_FLYGON_4, \ + FRONTIER_MON_VENUSAUR_4, \ + FRONTIER_MON_VAPOREON_4, \ + FRONTIER_MON_JOLTEON_4, \ + FRONTIER_MON_FLAREON_4, \ + FRONTIER_MON_MEGANIUM_4, \ + FRONTIER_MON_ESPEON_4, \ + FRONTIER_MON_UMBREON_4, \ + FRONTIER_MON_BLASTOISE_4, \ + FRONTIER_MON_FERALIGATR_4, \ + FRONTIER_MON_AGGRON_4, \ + FRONTIER_MON_BLAZIKEN_4, \ + FRONTIER_MON_WALREIN_4, \ + FRONTIER_MON_SCEPTILE_4, \ + FRONTIER_MON_CHARIZARD_4, \ + FRONTIER_MON_TYPHLOSION_4, \ + FRONTIER_MON_LAPRAS_4, \ + FRONTIER_MON_CROBAT_4, \ + FRONTIER_MON_SWAMPERT_4, \ + FRONTIER_MON_GYARADOS_4, \ + FRONTIER_MON_SNORLAX_4, \ + FRONTIER_MON_KINGDRA_4, \ + FRONTIER_MON_BLISSEY_4, \ + FRONTIER_MON_MILOTIC_4, \ + FRONTIER_MON_ARCANINE_4, \ + FRONTIER_MON_SALAMENCE_4, \ + FRONTIER_MON_METAGROSS_4, \ + FRONTIER_MON_SLAKING_4, \ + -1 + +// Identical to FRONTIER_MONS_GENERAL_A but _3 +// Used by Pkmn Ranger, Running Triathlete, and Cycling Triathlete +#define FRONTIER_MONS_GENERAL_B \ + FRONTIER_MON_DUGTRIO_3, \ + FRONTIER_MON_MEDICHAM_3, \ + FRONTIER_MON_MISDREAVUS_3, \ + FRONTIER_MON_FEAROW_3, \ + FRONTIER_MON_GRANBULL_3, \ + FRONTIER_MON_JYNX_3, \ + FRONTIER_MON_DUSCLOPS_3, \ + FRONTIER_MON_DODRIO_3, \ + FRONTIER_MON_MR_MIME_3, \ + FRONTIER_MON_LANTURN_3, \ + FRONTIER_MON_BRELOOM_3, \ + FRONTIER_MON_FORRETRESS_3, \ + FRONTIER_MON_WHISCASH_3, \ + FRONTIER_MON_XATU_3, \ + FRONTIER_MON_SKARMORY_3, \ + FRONTIER_MON_MAROWAK_3, \ + FRONTIER_MON_QUAGSIRE_3, \ + FRONTIER_MON_CLEFABLE_3, \ + FRONTIER_MON_HARIYAMA_3, \ + FRONTIER_MON_RAICHU_3, \ + FRONTIER_MON_DEWGONG_3, \ + FRONTIER_MON_MANECTRIC_3, \ + FRONTIER_MON_VILEPLUME_3, \ + FRONTIER_MON_VICTREEBEL_3, \ + FRONTIER_MON_ELECTRODE_3, \ + FRONTIER_MON_EXPLOUD_3, \ + FRONTIER_MON_SHIFTRY_3, \ + FRONTIER_MON_GLALIE_3, \ + FRONTIER_MON_LUDICOLO_3, \ + FRONTIER_MON_HYPNO_3, \ + FRONTIER_MON_GOLEM_3, \ + FRONTIER_MON_RHYDON_3, \ + FRONTIER_MON_ALAKAZAM_3, \ + FRONTIER_MON_WEEZING_3, \ + FRONTIER_MON_KANGASKHAN_3, \ + FRONTIER_MON_ELECTABUZZ_3, \ + FRONTIER_MON_TAUROS_3, \ + FRONTIER_MON_SLOWBRO_3, \ + FRONTIER_MON_SLOWKING_3, \ + FRONTIER_MON_MILTANK_3, \ + FRONTIER_MON_ALTARIA_3, \ + FRONTIER_MON_NIDOQUEEN_3, \ + FRONTIER_MON_NIDOKING_3, \ + FRONTIER_MON_MAGMAR_3, \ + FRONTIER_MON_CRADILY_3, \ + FRONTIER_MON_ARMALDO_3, \ + FRONTIER_MON_GOLDUCK_3, \ + FRONTIER_MON_RAPIDASH_3, \ + FRONTIER_MON_MUK_3, \ + FRONTIER_MON_GENGAR_3, \ + FRONTIER_MON_AMPHAROS_3, \ + FRONTIER_MON_SCIZOR_3, \ + FRONTIER_MON_HERACROSS_3, \ + FRONTIER_MON_URSARING_3, \ + FRONTIER_MON_HOUNDOOM_3, \ + FRONTIER_MON_DONPHAN_3, \ + FRONTIER_MON_CLAYDOL_3, \ + FRONTIER_MON_WAILORD_3, \ + FRONTIER_MON_NINETALES_3, \ + FRONTIER_MON_MACHAMP_3, \ + FRONTIER_MON_SHUCKLE_3, \ + FRONTIER_MON_STEELIX_3, \ + FRONTIER_MON_TENTACRUEL_3, \ + FRONTIER_MON_AERODACTYL_3, \ + FRONTIER_MON_PORYGON2_3, \ + FRONTIER_MON_GARDEVOIR_3, \ + FRONTIER_MON_EXEGGUTOR_3, \ + FRONTIER_MON_STARMIE_3, \ + FRONTIER_MON_FLYGON_3, \ + FRONTIER_MON_VENUSAUR_3, \ + FRONTIER_MON_VAPOREON_3, \ + FRONTIER_MON_JOLTEON_3, \ + FRONTIER_MON_FLAREON_3, \ + FRONTIER_MON_MEGANIUM_3, \ + FRONTIER_MON_ESPEON_3, \ + FRONTIER_MON_UMBREON_3, \ + FRONTIER_MON_BLASTOISE_3, \ + FRONTIER_MON_FERALIGATR_3, \ + FRONTIER_MON_AGGRON_3, \ + FRONTIER_MON_BLAZIKEN_3, \ + FRONTIER_MON_WALREIN_3, \ + FRONTIER_MON_SCEPTILE_3, \ + FRONTIER_MON_CHARIZARD_3, \ + FRONTIER_MON_TYPHLOSION_3, \ + FRONTIER_MON_LAPRAS_3, \ + FRONTIER_MON_CROBAT_3, \ + FRONTIER_MON_SWAMPERT_3, \ + FRONTIER_MON_GYARADOS_3, \ + FRONTIER_MON_SNORLAX_3, \ + FRONTIER_MON_KINGDRA_3, \ + FRONTIER_MON_BLISSEY_3, \ + FRONTIER_MON_MILOTIC_3, \ + FRONTIER_MON_ARCANINE_3, \ + FRONTIER_MON_SALAMENCE_3, \ + FRONTIER_MON_METAGROSS_3, \ + FRONTIER_MON_SLAKING_3, \ + -1 + +// Similar to FRONTIER_MONS_GENERAL_A/B but _2 +// Used by Pkmn Ranger, Running Triathlete, and Cycling Triathlete +#define FRONTIER_MONS_GENERAL_C \ + FRONTIER_MON_DUGTRIO_2, \ + FRONTIER_MON_MEDICHAM_2, \ + FRONTIER_MON_MAROWAK_2, \ + FRONTIER_MON_QUAGSIRE_2, \ + FRONTIER_MON_MISDREAVUS_2, \ + FRONTIER_MON_FEAROW_2, \ + FRONTIER_MON_GRANBULL_2, \ + FRONTIER_MON_JYNX_2, \ + FRONTIER_MON_DUSCLOPS_2, \ + FRONTIER_MON_DODRIO_2, \ + FRONTIER_MON_MR_MIME_2, \ + FRONTIER_MON_LANTURN_2, \ + FRONTIER_MON_BRELOOM_2, \ + FRONTIER_MON_FORRETRESS_2, \ + FRONTIER_MON_SKARMORY_2, \ + FRONTIER_MON_WHISCASH_2, \ + FRONTIER_MON_XATU_2, \ + FRONTIER_MON_CLEFABLE_2, \ + FRONTIER_MON_HARIYAMA_2, \ + FRONTIER_MON_RAICHU_2, \ + FRONTIER_MON_DEWGONG_2, \ + FRONTIER_MON_MANECTRIC_2, \ + FRONTIER_MON_VILEPLUME_2, \ + FRONTIER_MON_VICTREEBEL_2, \ + FRONTIER_MON_ELECTRODE_2, \ + FRONTIER_MON_EXPLOUD_2, \ + FRONTIER_MON_SHIFTRY_2, \ + FRONTIER_MON_GLALIE_2, \ + FRONTIER_MON_LUDICOLO_2, \ + FRONTIER_MON_HYPNO_2, \ + FRONTIER_MON_GOLEM_2, \ + FRONTIER_MON_RHYDON_2, \ + FRONTIER_MON_ALAKAZAM_2, \ + FRONTIER_MON_WEEZING_2, \ + FRONTIER_MON_KANGASKHAN_2, \ + FRONTIER_MON_ELECTABUZZ_2, \ + FRONTIER_MON_TAUROS_2, \ + FRONTIER_MON_SLOWBRO_2, \ + FRONTIER_MON_SLOWKING_2, \ + FRONTIER_MON_MILTANK_2, \ + FRONTIER_MON_ALTARIA_2, \ + FRONTIER_MON_NIDOQUEEN_2, \ + FRONTIER_MON_NIDOKING_2, \ + FRONTIER_MON_MAGMAR_2, \ + FRONTIER_MON_CRADILY_2, \ + FRONTIER_MON_ARMALDO_2, \ + FRONTIER_MON_GOLDUCK_2, \ + FRONTIER_MON_RAPIDASH_2, \ + FRONTIER_MON_MUK_2, \ + FRONTIER_MON_GENGAR_2, \ + FRONTIER_MON_AMPHAROS_2, \ + FRONTIER_MON_SCIZOR_2, \ + FRONTIER_MON_HERACROSS_2, \ + FRONTIER_MON_URSARING_2, \ + FRONTIER_MON_HOUNDOOM_2, \ + FRONTIER_MON_DONPHAN_2, \ + FRONTIER_MON_CLAYDOL_2, \ + FRONTIER_MON_WAILORD_2, \ + FRONTIER_MON_NINETALES_2, \ + FRONTIER_MON_MACHAMP_2, \ + FRONTIER_MON_SHUCKLE_2, \ + FRONTIER_MON_STEELIX_2, \ + FRONTIER_MON_TENTACRUEL_2, \ + FRONTIER_MON_AERODACTYL_2, \ + FRONTIER_MON_PORYGON2_2, \ + FRONTIER_MON_GARDEVOIR_2, \ + FRONTIER_MON_EXEGGUTOR_2, \ + FRONTIER_MON_STARMIE_2, \ + FRONTIER_MON_FLYGON_2, \ + FRONTIER_MON_VENUSAUR_2, \ + FRONTIER_MON_VAPOREON_2, \ + FRONTIER_MON_JOLTEON_2, \ + FRONTIER_MON_FLAREON_2, \ + FRONTIER_MON_MEGANIUM_2, \ + FRONTIER_MON_ESPEON_2, \ + FRONTIER_MON_UMBREON_2, \ + FRONTIER_MON_BLASTOISE_2, \ + FRONTIER_MON_FERALIGATR_2, \ + FRONTIER_MON_AGGRON_2, \ + FRONTIER_MON_BLAZIKEN_2, \ + FRONTIER_MON_WALREIN_2, \ + FRONTIER_MON_SCEPTILE_2, \ + FRONTIER_MON_CHARIZARD_2, \ + FRONTIER_MON_TYPHLOSION_2, \ + FRONTIER_MON_LAPRAS_2, \ + FRONTIER_MON_CROBAT_2, \ + FRONTIER_MON_SWAMPERT_2, \ + FRONTIER_MON_GYARADOS_2, \ + FRONTIER_MON_SNORLAX_2, \ + FRONTIER_MON_KINGDRA_2, \ + FRONTIER_MON_BLISSEY_2, \ + FRONTIER_MON_MILOTIC_2, \ + FRONTIER_MON_ARCANINE_2, \ + FRONTIER_MON_SALAMENCE_2, \ + FRONTIER_MON_METAGROSS_2, \ + FRONTIER_MON_SLAKING_2, \ + -1 + +// Similar to FRONTIER_MONS_GENERAL_C but _1 (would be identical if not for re-ordering) +// Used by Pkmn Ranger, Running Triathlete, Cycling Triathlete +#define FRONTIER_MONS_GENERAL_D \ + FRONTIER_MON_DUGTRIO_1, \ + FRONTIER_MON_MEDICHAM_1, \ + FRONTIER_MON_MISDREAVUS_1, \ + FRONTIER_MON_FEAROW_1, \ + FRONTIER_MON_GRANBULL_1, \ + FRONTIER_MON_JYNX_1, \ + FRONTIER_MON_DUSCLOPS_1, \ + FRONTIER_MON_DODRIO_1, \ + FRONTIER_MON_MR_MIME_1, \ + FRONTIER_MON_LANTURN_1, \ + FRONTIER_MON_BRELOOM_1, \ + FRONTIER_MON_FORRETRESS_1, \ + FRONTIER_MON_WHISCASH_1, \ + FRONTIER_MON_XATU_1, \ + FRONTIER_MON_SKARMORY_1, \ + FRONTIER_MON_MAROWAK_1, \ + FRONTIER_MON_QUAGSIRE_1, \ + FRONTIER_MON_CLEFABLE_1, \ + FRONTIER_MON_HARIYAMA_1, \ + FRONTIER_MON_RAICHU_1, \ + FRONTIER_MON_DEWGONG_1, \ + FRONTIER_MON_MANECTRIC_1, \ + FRONTIER_MON_VILEPLUME_1, \ + FRONTIER_MON_VICTREEBEL_1, \ + FRONTIER_MON_ELECTRODE_1, \ + FRONTIER_MON_EXPLOUD_1, \ + FRONTIER_MON_SHIFTRY_1, \ + FRONTIER_MON_GLALIE_1, \ + FRONTIER_MON_LUDICOLO_1, \ + FRONTIER_MON_HYPNO_1, \ + FRONTIER_MON_GOLEM_1, \ + FRONTIER_MON_RHYDON_1, \ + FRONTIER_MON_ALAKAZAM_1, \ + FRONTIER_MON_WEEZING_1, \ + FRONTIER_MON_KANGASKHAN_1, \ + FRONTIER_MON_ELECTABUZZ_1, \ + FRONTIER_MON_TAUROS_1, \ + FRONTIER_MON_SLOWBRO_1, \ + FRONTIER_MON_SLOWKING_1, \ + FRONTIER_MON_MILTANK_1, \ + FRONTIER_MON_ALTARIA_1, \ + FRONTIER_MON_NIDOQUEEN_1, \ + FRONTIER_MON_NIDOKING_1, \ + FRONTIER_MON_MAGMAR_1, \ + FRONTIER_MON_CRADILY_1, \ + FRONTIER_MON_ARMALDO_1, \ + FRONTIER_MON_GOLDUCK_1, \ + FRONTIER_MON_RAPIDASH_1, \ + FRONTIER_MON_MUK_1, \ + FRONTIER_MON_GENGAR_1, \ + FRONTIER_MON_AMPHAROS_1, \ + FRONTIER_MON_SCIZOR_1, \ + FRONTIER_MON_HERACROSS_1, \ + FRONTIER_MON_URSARING_1, \ + FRONTIER_MON_HOUNDOOM_1, \ + FRONTIER_MON_DONPHAN_1, \ + FRONTIER_MON_CLAYDOL_1, \ + FRONTIER_MON_WAILORD_1, \ + FRONTIER_MON_NINETALES_1, \ + FRONTIER_MON_MACHAMP_1, \ + FRONTIER_MON_SHUCKLE_1, \ + FRONTIER_MON_STEELIX_1, \ + FRONTIER_MON_TENTACRUEL_1, \ + FRONTIER_MON_AERODACTYL_1, \ + FRONTIER_MON_PORYGON2_1, \ + FRONTIER_MON_GARDEVOIR_1, \ + FRONTIER_MON_EXEGGUTOR_1, \ + FRONTIER_MON_STARMIE_1, \ + FRONTIER_MON_FLYGON_1, \ + FRONTIER_MON_VENUSAUR_1, \ + FRONTIER_MON_VAPOREON_1, \ + FRONTIER_MON_JOLTEON_1, \ + FRONTIER_MON_FLAREON_1, \ + FRONTIER_MON_MEGANIUM_1, \ + FRONTIER_MON_ESPEON_1, \ + FRONTIER_MON_UMBREON_1, \ + FRONTIER_MON_BLASTOISE_1, \ + FRONTIER_MON_FERALIGATR_1, \ + FRONTIER_MON_AGGRON_1, \ + FRONTIER_MON_BLAZIKEN_1, \ + FRONTIER_MON_WALREIN_1, \ + FRONTIER_MON_SCEPTILE_1, \ + FRONTIER_MON_CHARIZARD_1, \ + FRONTIER_MON_TYPHLOSION_1, \ + FRONTIER_MON_LAPRAS_1, \ + FRONTIER_MON_CROBAT_1, \ + FRONTIER_MON_SWAMPERT_1, \ + FRONTIER_MON_GYARADOS_1, \ + FRONTIER_MON_SNORLAX_1, \ + FRONTIER_MON_KINGDRA_1, \ + FRONTIER_MON_BLISSEY_1, \ + FRONTIER_MON_MILOTIC_1, \ + FRONTIER_MON_ARCANINE_1, \ + FRONTIER_MON_SALAMENCE_1, \ + FRONTIER_MON_METAGROSS_1, \ + FRONTIER_MON_SLAKING_1, \ + -1 + +#define FRONTIER_MONS_DRAGON_TAMER_2 \ + FRONTIER_MON_RHYDON_1, \ + FRONTIER_MON_ALTARIA_1, \ + FRONTIER_MON_NIDOQUEEN_1, \ + FRONTIER_MON_NIDOKING_1, \ + FRONTIER_MON_STEELIX_1, \ + FRONTIER_MON_AERODACTYL_1, \ + FRONTIER_MON_FLYGON_1, \ + FRONTIER_MON_AGGRON_1, \ + FRONTIER_MON_CHARIZARD_1, \ + FRONTIER_MON_LAPRAS_1, \ + FRONTIER_MON_GYARADOS_1, \ + FRONTIER_MON_KINGDRA_1, \ + FRONTIER_MON_MILOTIC_1, \ + FRONTIER_MON_SALAMENCE_1, \ + FRONTIER_MON_RHYDON_2, \ + FRONTIER_MON_ALTARIA_2, \ + FRONTIER_MON_NIDOQUEEN_2, \ + FRONTIER_MON_NIDOKING_2, \ + FRONTIER_MON_STEELIX_2, \ + FRONTIER_MON_AERODACTYL_2, \ + FRONTIER_MON_FLYGON_2, \ + FRONTIER_MON_AGGRON_2, \ + FRONTIER_MON_CHARIZARD_2, \ + FRONTIER_MON_LAPRAS_2, \ + FRONTIER_MON_GYARADOS_2, \ + FRONTIER_MON_KINGDRA_2, \ + FRONTIER_MON_MILOTIC_2, \ + FRONTIER_MON_SALAMENCE_2, \ + FRONTIER_MON_RHYDON_3, \ + FRONTIER_MON_ALTARIA_3, \ + FRONTIER_MON_NIDOQUEEN_3, \ + FRONTIER_MON_NIDOKING_3, \ + FRONTIER_MON_STEELIX_3, \ + FRONTIER_MON_AERODACTYL_3, \ + FRONTIER_MON_FLYGON_3, \ + FRONTIER_MON_AGGRON_3, \ + FRONTIER_MON_CHARIZARD_3, \ + FRONTIER_MON_LAPRAS_3, \ + FRONTIER_MON_GYARADOS_3, \ + FRONTIER_MON_KINGDRA_3, \ + FRONTIER_MON_MILOTIC_3, \ + FRONTIER_MON_SALAMENCE_3, \ + FRONTIER_MON_RHYDON_4, \ + FRONTIER_MON_ALTARIA_4, \ + FRONTIER_MON_NIDOQUEEN_4, \ + FRONTIER_MON_NIDOKING_4, \ + FRONTIER_MON_STEELIX_4, \ + FRONTIER_MON_AERODACTYL_4, \ + FRONTIER_MON_FLYGON_4, \ + FRONTIER_MON_AGGRON_4, \ + FRONTIER_MON_CHARIZARD_4, \ + FRONTIER_MON_LAPRAS_4, \ + FRONTIER_MON_GYARADOS_4, \ + FRONTIER_MON_KINGDRA_4, \ + FRONTIER_MON_MILOTIC_4, \ + FRONTIER_MON_SALAMENCE_4, \ + FRONTIER_MON_LATIAS_1, \ + FRONTIER_MON_LATIOS_1, \ + FRONTIER_MON_LATIAS_2, \ + FRONTIER_MON_LATIOS_2, \ + FRONTIER_MON_LATIAS_3, \ + FRONTIER_MON_LATIOS_3, \ + FRONTIER_MON_LATIAS_4, \ + FRONTIER_MON_LATIOS_4, \ + FRONTIER_MON_SALAMENCE_5, \ + FRONTIER_MON_SALAMENCE_6, \ + FRONTIER_MON_SALAMENCE_7, \ + FRONTIER_MON_SALAMENCE_8, \ + FRONTIER_MON_LATIAS_5, \ + FRONTIER_MON_LATIAS_6, \ + FRONTIER_MON_LATIAS_7, \ + FRONTIER_MON_LATIAS_8, \ + FRONTIER_MON_LATIOS_5, \ + FRONTIER_MON_LATIOS_6, \ + FRONTIER_MON_LATIOS_7, \ + FRONTIER_MON_LATIOS_8, \ + FRONTIER_MON_DRAGONITE_1, \ + FRONTIER_MON_DRAGONITE_2, \ + FRONTIER_MON_DRAGONITE_3, \ + FRONTIER_MON_DRAGONITE_4, \ + FRONTIER_MON_DRAGONITE_5, \ + FRONTIER_MON_DRAGONITE_6, \ + FRONTIER_MON_DRAGONITE_7, \ + FRONTIER_MON_DRAGONITE_8, \ + FRONTIER_MON_DRAGONITE_9, \ + FRONTIER_MON_DRAGONITE_10, \ + FRONTIER_MON_TYRANITAR_1, \ + FRONTIER_MON_TYRANITAR_2, \ + FRONTIER_MON_TYRANITAR_3, \ + FRONTIER_MON_TYRANITAR_4, \ + FRONTIER_MON_TYRANITAR_5, \ + FRONTIER_MON_TYRANITAR_6, \ + FRONTIER_MON_TYRANITAR_7, \ + FRONTIER_MON_TYRANITAR_8, \ + FRONTIER_MON_TYRANITAR_9, \ + FRONTIER_MON_TYRANITAR_10, \ + -1 + +#define FRONTIER_MONS_BLACK_BELT_2A \ + FRONTIER_MON_MEDICHAM_1, \ + FRONTIER_MON_BRELOOM_1, \ + FRONTIER_MON_HARIYAMA_1, \ + FRONTIER_MON_GOLEM_1, \ + FRONTIER_MON_RHYDON_1, \ + FRONTIER_MON_CRADILY_1, \ + FRONTIER_MON_ARMALDO_1, \ + FRONTIER_MON_HERACROSS_1, \ + FRONTIER_MON_MACHAMP_1, \ + FRONTIER_MON_SHUCKLE_1, \ + FRONTIER_MON_AERODACTYL_1, \ + FRONTIER_MON_AGGRON_1, \ + FRONTIER_MON_BLAZIKEN_1, \ + FRONTIER_MON_MEDICHAM_2, \ + FRONTIER_MON_BRELOOM_2, \ + FRONTIER_MON_HARIYAMA_2, \ + FRONTIER_MON_GOLEM_2, \ + FRONTIER_MON_RHYDON_2, \ + FRONTIER_MON_CRADILY_2, \ + FRONTIER_MON_ARMALDO_2, \ + FRONTIER_MON_HERACROSS_2, \ + FRONTIER_MON_MACHAMP_2, \ + FRONTIER_MON_SHUCKLE_2, \ + FRONTIER_MON_AERODACTYL_2, \ + FRONTIER_MON_AGGRON_2, \ + FRONTIER_MON_BLAZIKEN_2, \ + FRONTIER_MON_MEDICHAM_3, \ + FRONTIER_MON_BRELOOM_3, \ + FRONTIER_MON_HARIYAMA_3, \ + FRONTIER_MON_GOLEM_3, \ + FRONTIER_MON_RHYDON_3, \ + FRONTIER_MON_CRADILY_3, \ + FRONTIER_MON_ARMALDO_3, \ + FRONTIER_MON_HERACROSS_3, \ + FRONTIER_MON_MACHAMP_3, \ + FRONTIER_MON_SHUCKLE_3, \ + FRONTIER_MON_AERODACTYL_3, \ + FRONTIER_MON_AGGRON_3, \ + FRONTIER_MON_BLAZIKEN_3, \ + FRONTIER_MON_MEDICHAM_4, \ + FRONTIER_MON_BRELOOM_4, \ + FRONTIER_MON_HARIYAMA_4, \ + FRONTIER_MON_GOLEM_4, \ + FRONTIER_MON_RHYDON_4, \ + FRONTIER_MON_CRADILY_4, \ + FRONTIER_MON_ARMALDO_4, \ + FRONTIER_MON_HERACROSS_4, \ + FRONTIER_MON_MACHAMP_4, \ + FRONTIER_MON_SHUCKLE_4, \ + FRONTIER_MON_AERODACTYL_4, \ + FRONTIER_MON_AGGRON_4, \ + FRONTIER_MON_BLAZIKEN_4, \ + FRONTIER_MON_MACHAMP_5, \ + FRONTIER_MON_MACHAMP_6, \ + FRONTIER_MON_MACHAMP_7, \ + FRONTIER_MON_MACHAMP_8, \ + -1 + +#define FRONTIER_MONS_BATTLE_GIRL_2A \ + FRONTIER_MON_MEDICHAM_1, \ + FRONTIER_MON_BRELOOM_1, \ + FRONTIER_MON_MAROWAK_1, \ + FRONTIER_MON_HARIYAMA_1, \ + FRONTIER_MON_GOLEM_1, \ + FRONTIER_MON_RHYDON_1, \ + FRONTIER_MON_NIDOQUEEN_1, \ + FRONTIER_MON_NIDOKING_1, \ + FRONTIER_MON_HERACROSS_1, \ + FRONTIER_MON_DONPHAN_1, \ + FRONTIER_MON_MACHAMP_1, \ + FRONTIER_MON_STEELIX_1, \ + FRONTIER_MON_BLAZIKEN_1, \ + FRONTIER_MON_MEDICHAM_2, \ + FRONTIER_MON_MAROWAK_2, \ + FRONTIER_MON_BRELOOM_2, \ + FRONTIER_MON_HARIYAMA_2, \ + FRONTIER_MON_GOLEM_2, \ + FRONTIER_MON_RHYDON_2, \ + FRONTIER_MON_NIDOQUEEN_2, \ + FRONTIER_MON_NIDOKING_2, \ + FRONTIER_MON_HERACROSS_2, \ + FRONTIER_MON_DONPHAN_2, \ + FRONTIER_MON_MACHAMP_2, \ + FRONTIER_MON_STEELIX_2, \ + FRONTIER_MON_BLAZIKEN_2, \ + FRONTIER_MON_MEDICHAM_3, \ + FRONTIER_MON_BRELOOM_3, \ + FRONTIER_MON_MAROWAK_3, \ + FRONTIER_MON_HARIYAMA_3, \ + FRONTIER_MON_GOLEM_3, \ + FRONTIER_MON_RHYDON_3, \ + FRONTIER_MON_NIDOQUEEN_3, \ + FRONTIER_MON_NIDOKING_3, \ + FRONTIER_MON_HERACROSS_3, \ + FRONTIER_MON_DONPHAN_3, \ + FRONTIER_MON_MACHAMP_3, \ + FRONTIER_MON_STEELIX_3, \ + FRONTIER_MON_BLAZIKEN_3, \ + FRONTIER_MON_MEDICHAM_4, \ + FRONTIER_MON_BRELOOM_4, \ + FRONTIER_MON_MAROWAK_4, \ + FRONTIER_MON_HARIYAMA_4, \ + FRONTIER_MON_GOLEM_4, \ + FRONTIER_MON_RHYDON_4, \ + FRONTIER_MON_NIDOQUEEN_4, \ + FRONTIER_MON_NIDOKING_4, \ + FRONTIER_MON_HERACROSS_4, \ + FRONTIER_MON_DONPHAN_4, \ + FRONTIER_MON_MACHAMP_4, \ + FRONTIER_MON_STEELIX_4, \ + FRONTIER_MON_BLAZIKEN_4, \ + FRONTIER_MON_MACHAMP_5, \ + FRONTIER_MON_MACHAMP_6, \ + FRONTIER_MON_MACHAMP_7, \ + FRONTIER_MON_MACHAMP_8, \ + -1 + +#define FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2B \ + FRONTIER_MON_MEDICHAM_1, \ + FRONTIER_MON_BRELOOM_1, \ + FRONTIER_MON_HARIYAMA_1, \ + FRONTIER_MON_MAGMAR_1, \ + FRONTIER_MON_RAPIDASH_1, \ + FRONTIER_MON_HERACROSS_1, \ + FRONTIER_MON_HOUNDOOM_1, \ + FRONTIER_MON_NINETALES_1, \ + FRONTIER_MON_MACHAMP_1, \ + FRONTIER_MON_FLAREON_1, \ + FRONTIER_MON_BLAZIKEN_1, \ + FRONTIER_MON_CHARIZARD_1, \ + FRONTIER_MON_TYPHLOSION_1, \ + FRONTIER_MON_ARCANINE_1, \ + FRONTIER_MON_MEDICHAM_2, \ + FRONTIER_MON_BRELOOM_2, \ + FRONTIER_MON_HARIYAMA_2, \ + FRONTIER_MON_MAGMAR_2, \ + FRONTIER_MON_RAPIDASH_2, \ + FRONTIER_MON_HERACROSS_2, \ + FRONTIER_MON_HOUNDOOM_2, \ + FRONTIER_MON_NINETALES_2, \ + FRONTIER_MON_MACHAMP_2, \ + FRONTIER_MON_FLAREON_2, \ + FRONTIER_MON_BLAZIKEN_2, \ + FRONTIER_MON_CHARIZARD_2, \ + FRONTIER_MON_TYPHLOSION_2, \ + FRONTIER_MON_ARCANINE_2, \ + FRONTIER_MON_MEDICHAM_3, \ + FRONTIER_MON_BRELOOM_3, \ + FRONTIER_MON_HARIYAMA_3, \ + FRONTIER_MON_MAGMAR_3, \ + FRONTIER_MON_RAPIDASH_3, \ + FRONTIER_MON_HERACROSS_3, \ + FRONTIER_MON_HOUNDOOM_3, \ + FRONTIER_MON_NINETALES_3, \ + FRONTIER_MON_MACHAMP_3, \ + FRONTIER_MON_FLAREON_3, \ + FRONTIER_MON_BLAZIKEN_3, \ + FRONTIER_MON_CHARIZARD_3, \ + FRONTIER_MON_TYPHLOSION_3, \ + FRONTIER_MON_ARCANINE_3, \ + FRONTIER_MON_MEDICHAM_4, \ + FRONTIER_MON_BRELOOM_4, \ + FRONTIER_MON_HARIYAMA_4, \ + FRONTIER_MON_MAGMAR_4, \ + FRONTIER_MON_RAPIDASH_4, \ + FRONTIER_MON_HERACROSS_4, \ + FRONTIER_MON_HOUNDOOM_4, \ + FRONTIER_MON_NINETALES_4, \ + FRONTIER_MON_MACHAMP_4, \ + FRONTIER_MON_FLAREON_4, \ + FRONTIER_MON_BLAZIKEN_4, \ + FRONTIER_MON_CHARIZARD_4, \ + FRONTIER_MON_TYPHLOSION_4, \ + FRONTIER_MON_ARCANINE_4, \ + FRONTIER_MON_MACHAMP_5, \ + FRONTIER_MON_MACHAMP_6, \ + FRONTIER_MON_MACHAMP_7, \ + FRONTIER_MON_MACHAMP_8, \ + -1 + +#define FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2C \ + FRONTIER_MON_MEDICHAM_1, \ + FRONTIER_MON_BRELOOM_1, \ + FRONTIER_MON_FORRETRESS_1, \ + FRONTIER_MON_SKARMORY_1, \ + FRONTIER_MON_HARIYAMA_1, \ + FRONTIER_MON_SCIZOR_1, \ + FRONTIER_MON_HERACROSS_1, \ + FRONTIER_MON_MACHAMP_1, \ + FRONTIER_MON_STEELIX_1, \ + FRONTIER_MON_AGGRON_1, \ + FRONTIER_MON_BLAZIKEN_1, \ + FRONTIER_MON_METAGROSS_1, \ + FRONTIER_MON_MEDICHAM_2, \ + FRONTIER_MON_BRELOOM_2, \ + FRONTIER_MON_FORRETRESS_2, \ + FRONTIER_MON_SKARMORY_2, \ + FRONTIER_MON_HARIYAMA_2, \ + FRONTIER_MON_SCIZOR_2, \ + FRONTIER_MON_HERACROSS_2, \ + FRONTIER_MON_MACHAMP_2, \ + FRONTIER_MON_STEELIX_2, \ + FRONTIER_MON_AGGRON_2, \ + FRONTIER_MON_BLAZIKEN_2, \ + FRONTIER_MON_METAGROSS_2, \ + FRONTIER_MON_MEDICHAM_3, \ + FRONTIER_MON_BRELOOM_3, \ + FRONTIER_MON_FORRETRESS_3, \ + FRONTIER_MON_SKARMORY_3, \ + FRONTIER_MON_HARIYAMA_3, \ + FRONTIER_MON_SCIZOR_3, \ + FRONTIER_MON_HERACROSS_3, \ + FRONTIER_MON_MACHAMP_3, \ + FRONTIER_MON_STEELIX_3, \ + FRONTIER_MON_AGGRON_3, \ + FRONTIER_MON_BLAZIKEN_3, \ + FRONTIER_MON_METAGROSS_3, \ + FRONTIER_MON_MEDICHAM_4, \ + FRONTIER_MON_BRELOOM_4, \ + FRONTIER_MON_FORRETRESS_4, \ + FRONTIER_MON_SKARMORY_4, \ + FRONTIER_MON_HARIYAMA_4, \ + FRONTIER_MON_SCIZOR_4, \ + FRONTIER_MON_HERACROSS_4, \ + FRONTIER_MON_MACHAMP_4, \ + FRONTIER_MON_STEELIX_4, \ + FRONTIER_MON_AGGRON_4, \ + FRONTIER_MON_BLAZIKEN_4, \ + FRONTIER_MON_METAGROSS_4, \ + FRONTIER_MON_MACHAMP_5, \ + FRONTIER_MON_MACHAMP_6, \ + FRONTIER_MON_MACHAMP_7, \ + FRONTIER_MON_MACHAMP_8, \ + FRONTIER_MON_METAGROSS_5, \ + FRONTIER_MON_METAGROSS_6, \ + FRONTIER_MON_METAGROSS_7, \ + FRONTIER_MON_METAGROSS_8, \ + -1 + +// For this group, Expert M uses Tyranitar, Expert F uses Dragonite +#define FRONTIER_MONS_EXPERT_2A(lastmon) \ + FRONTIER_MON_BRELOOM_1, \ + FRONTIER_MON_MAROWAK_1, \ + FRONTIER_MON_RHYDON_1, \ + FRONTIER_MON_SCIZOR_1, \ + FRONTIER_MON_HERACROSS_1, \ + FRONTIER_MON_URSARING_1, \ + FRONTIER_MON_MACHAMP_1, \ + FRONTIER_MON_STEELIX_1, \ + FRONTIER_MON_AERODACTYL_1, \ + FRONTIER_MON_AGGRON_1, \ + FRONTIER_MON_GYARADOS_1, \ + FRONTIER_MON_KINGDRA_1, \ + FRONTIER_MON_SALAMENCE_1, \ + FRONTIER_MON_METAGROSS_1, \ + FRONTIER_MON_MAROWAK_2, \ + FRONTIER_MON_BRELOOM_2, \ + FRONTIER_MON_RHYDON_2, \ + FRONTIER_MON_SCIZOR_2, \ + FRONTIER_MON_HERACROSS_2, \ + FRONTIER_MON_URSARING_2, \ + FRONTIER_MON_MACHAMP_2, \ + FRONTIER_MON_STEELIX_2, \ + FRONTIER_MON_AERODACTYL_2, \ + FRONTIER_MON_AGGRON_2, \ + FRONTIER_MON_GYARADOS_2, \ + FRONTIER_MON_KINGDRA_2, \ + FRONTIER_MON_SALAMENCE_2, \ + FRONTIER_MON_METAGROSS_2, \ + FRONTIER_MON_BRELOOM_3, \ + FRONTIER_MON_MAROWAK_3, \ + FRONTIER_MON_RHYDON_3, \ + FRONTIER_MON_SCIZOR_3, \ + FRONTIER_MON_HERACROSS_3, \ + FRONTIER_MON_URSARING_3, \ + FRONTIER_MON_MACHAMP_3, \ + FRONTIER_MON_STEELIX_3, \ + FRONTIER_MON_AERODACTYL_3, \ + FRONTIER_MON_AGGRON_3, \ + FRONTIER_MON_GYARADOS_3, \ + FRONTIER_MON_KINGDRA_3, \ + FRONTIER_MON_SALAMENCE_3, \ + FRONTIER_MON_METAGROSS_3, \ + FRONTIER_MON_BRELOOM_4, \ + FRONTIER_MON_MAROWAK_4, \ + FRONTIER_MON_RHYDON_4, \ + FRONTIER_MON_SCIZOR_4, \ + FRONTIER_MON_HERACROSS_4, \ + FRONTIER_MON_URSARING_4, \ + FRONTIER_MON_MACHAMP_4, \ + FRONTIER_MON_STEELIX_4, \ + FRONTIER_MON_AERODACTYL_4, \ + FRONTIER_MON_AGGRON_4, \ + FRONTIER_MON_GYARADOS_4, \ + FRONTIER_MON_KINGDRA_4, \ + FRONTIER_MON_SALAMENCE_4, \ + FRONTIER_MON_METAGROSS_4, \ + FRONTIER_MON_REGIROCK_1, \ + FRONTIER_MON_REGICE_1, \ + FRONTIER_MON_REGISTEEL_1, \ + FRONTIER_MON_REGIROCK_2, \ + FRONTIER_MON_REGICE_2, \ + FRONTIER_MON_REGISTEEL_2, \ + FRONTIER_MON_REGIROCK_3, \ + FRONTIER_MON_REGICE_3, \ + FRONTIER_MON_REGISTEEL_3, \ + FRONTIER_MON_REGIROCK_4, \ + FRONTIER_MON_REGICE_4, \ + FRONTIER_MON_REGISTEEL_4, \ + FRONTIER_MON_URSARING_5, \ + FRONTIER_MON_URSARING_6, \ + FRONTIER_MON_URSARING_7, \ + FRONTIER_MON_URSARING_8, \ + FRONTIER_MON_MACHAMP_5, \ + FRONTIER_MON_MACHAMP_6, \ + FRONTIER_MON_MACHAMP_7, \ + FRONTIER_MON_MACHAMP_8, \ + FRONTIER_MON_SALAMENCE_5, \ + FRONTIER_MON_SALAMENCE_6, \ + FRONTIER_MON_SALAMENCE_7, \ + FRONTIER_MON_SALAMENCE_8, \ + FRONTIER_MON_METAGROSS_5, \ + FRONTIER_MON_METAGROSS_6, \ + FRONTIER_MON_METAGROSS_7, \ + FRONTIER_MON_METAGROSS_8, \ + FRONTIER_MON_REGIROCK_5, \ + FRONTIER_MON_REGIROCK_6, \ + FRONTIER_MON_REGICE_5, \ + FRONTIER_MON_REGICE_6, \ + FRONTIER_MON_REGISTEEL_5, \ + FRONTIER_MON_REGISTEEL_6, \ + FRONTIER_MON_##lastmon##_1, \ + FRONTIER_MON_##lastmon##_2, \ + FRONTIER_MON_##lastmon##_3, \ + FRONTIER_MON_##lastmon##_4, \ + FRONTIER_MON_##lastmon##_5, \ + FRONTIER_MON_##lastmon##_6, \ + FRONTIER_MON_##lastmon##_7, \ + FRONTIER_MON_##lastmon##_8, \ + FRONTIER_MON_##lastmon##_9, \ + FRONTIER_MON_##lastmon##_10,\ + -1 + +// For this group, Expert M uses Latios, Expert F uses Latias +#define FRONTIER_MONS_EXPERT_2B(lati) \ + FRONTIER_MON_MISDREAVUS_1, \ + FRONTIER_MON_JYNX_1, \ + FRONTIER_MON_ALAKAZAM_1, \ + FRONTIER_MON_GENGAR_1, \ + FRONTIER_MON_AMPHAROS_1, \ + FRONTIER_MON_HOUNDOOM_1, \ + FRONTIER_MON_GARDEVOIR_1, \ + FRONTIER_MON_STARMIE_1, \ + FRONTIER_MON_ESPEON_1, \ + FRONTIER_MON_BLAZIKEN_1, \ + FRONTIER_MON_SCEPTILE_1, \ + FRONTIER_MON_CROBAT_1, \ + FRONTIER_MON_SWAMPERT_1, \ + FRONTIER_MON_MISDREAVUS_2, \ + FRONTIER_MON_JYNX_2, \ + FRONTIER_MON_ALAKAZAM_2, \ + FRONTIER_MON_GENGAR_2, \ + FRONTIER_MON_AMPHAROS_2, \ + FRONTIER_MON_HOUNDOOM_2, \ + FRONTIER_MON_GARDEVOIR_2, \ + FRONTIER_MON_STARMIE_2, \ + FRONTIER_MON_ESPEON_2, \ + FRONTIER_MON_BLAZIKEN_2, \ + FRONTIER_MON_SCEPTILE_2, \ + FRONTIER_MON_CROBAT_2, \ + FRONTIER_MON_SWAMPERT_2, \ + FRONTIER_MON_MISDREAVUS_3, \ + FRONTIER_MON_JYNX_3, \ + FRONTIER_MON_ALAKAZAM_3, \ + FRONTIER_MON_GENGAR_3, \ + FRONTIER_MON_AMPHAROS_3, \ + FRONTIER_MON_HOUNDOOM_3, \ + FRONTIER_MON_GARDEVOIR_3, \ + FRONTIER_MON_STARMIE_3, \ + FRONTIER_MON_ESPEON_3, \ + FRONTIER_MON_BLAZIKEN_3, \ + FRONTIER_MON_SCEPTILE_3, \ + FRONTIER_MON_CROBAT_3, \ + FRONTIER_MON_SWAMPERT_3, \ + FRONTIER_MON_MISDREAVUS_4, \ + FRONTIER_MON_JYNX_4, \ + FRONTIER_MON_ALAKAZAM_4, \ + FRONTIER_MON_GENGAR_4, \ + FRONTIER_MON_AMPHAROS_4, \ + FRONTIER_MON_HOUNDOOM_4, \ + FRONTIER_MON_GARDEVOIR_4, \ + FRONTIER_MON_STARMIE_4, \ + FRONTIER_MON_ESPEON_4, \ + FRONTIER_MON_BLAZIKEN_4, \ + FRONTIER_MON_SCEPTILE_4, \ + FRONTIER_MON_CROBAT_4, \ + FRONTIER_MON_SWAMPERT_4, \ + FRONTIER_MON_REGIROCK_1, \ + FRONTIER_MON_REGICE_1, \ + FRONTIER_MON_REGISTEEL_1, \ + FRONTIER_MON_##lati##_1, \ + FRONTIER_MON_REGIROCK_2, \ + FRONTIER_MON_REGICE_2, \ + FRONTIER_MON_REGISTEEL_2, \ + FRONTIER_MON_##lati##_2, \ + FRONTIER_MON_REGIROCK_3, \ + FRONTIER_MON_REGICE_3, \ + FRONTIER_MON_REGISTEEL_3, \ + FRONTIER_MON_##lati##_3, \ + FRONTIER_MON_REGIROCK_4, \ + FRONTIER_MON_REGICE_4, \ + FRONTIER_MON_REGISTEEL_4, \ + FRONTIER_MON_##lati##_4, \ + FRONTIER_MON_GENGAR_5, \ + FRONTIER_MON_GENGAR_6, \ + FRONTIER_MON_GENGAR_7, \ + FRONTIER_MON_GENGAR_8, \ + FRONTIER_MON_GARDEVOIR_5, \ + FRONTIER_MON_GARDEVOIR_6, \ + FRONTIER_MON_GARDEVOIR_7, \ + FRONTIER_MON_GARDEVOIR_8, \ + FRONTIER_MON_STARMIE_5, \ + FRONTIER_MON_STARMIE_6, \ + FRONTIER_MON_STARMIE_7, \ + FRONTIER_MON_STARMIE_8, \ + FRONTIER_MON_REGIROCK_5, \ + FRONTIER_MON_REGIROCK_6, \ + FRONTIER_MON_REGICE_5, \ + FRONTIER_MON_REGICE_6, \ + FRONTIER_MON_REGISTEEL_5, \ + FRONTIER_MON_REGISTEEL_6, \ + FRONTIER_MON_##lati##_5, \ + FRONTIER_MON_##lati##_6, \ + FRONTIER_MON_##lati##_7, \ + FRONTIER_MON_##lati##_8, \ + FRONTIER_MON_TYRANITAR_1, \ + FRONTIER_MON_TYRANITAR_2, \ + FRONTIER_MON_TYRANITAR_3, \ + FRONTIER_MON_TYRANITAR_4, \ + FRONTIER_MON_TYRANITAR_5, \ + FRONTIER_MON_TYRANITAR_6, \ + FRONTIER_MON_TYRANITAR_7, \ + FRONTIER_MON_TYRANITAR_8, \ + FRONTIER_MON_TYRANITAR_9, \ + FRONTIER_MON_TYRANITAR_10, \ + -1 + +// For this group, Expert M uses Tyranitar, Expert F uses Dragonite +#define FRONTIER_MONS_EXPERT_2C(lastmon) \ + FRONTIER_MON_DUSCLOPS_1, \ + FRONTIER_MON_QUAGSIRE_1, \ + FRONTIER_MON_LUDICOLO_1, \ + FRONTIER_MON_SLOWBRO_1, \ + FRONTIER_MON_SLOWKING_1, \ + FRONTIER_MON_MILTANK_1, \ + FRONTIER_MON_CRADILY_1, \ + FRONTIER_MON_WAILORD_1, \ + FRONTIER_MON_SHUCKLE_1, \ + FRONTIER_MON_EXEGGUTOR_1, \ + FRONTIER_MON_UMBREON_1, \ + FRONTIER_MON_WALREIN_1, \ + FRONTIER_MON_LAPRAS_1, \ + FRONTIER_MON_SNORLAX_1, \ + FRONTIER_MON_BLISSEY_1, \ + FRONTIER_MON_MILOTIC_1, \ + FRONTIER_MON_QUAGSIRE_2, \ + FRONTIER_MON_DUSCLOPS_2, \ + FRONTIER_MON_LUDICOLO_2, \ + FRONTIER_MON_SLOWBRO_2, \ + FRONTIER_MON_SLOWKING_2, \ + FRONTIER_MON_MILTANK_2, \ + FRONTIER_MON_CRADILY_2, \ + FRONTIER_MON_WAILORD_2, \ + FRONTIER_MON_SHUCKLE_2, \ + FRONTIER_MON_EXEGGUTOR_2, \ + FRONTIER_MON_UMBREON_2, \ + FRONTIER_MON_WALREIN_2, \ + FRONTIER_MON_LAPRAS_2, \ + FRONTIER_MON_SNORLAX_2, \ + FRONTIER_MON_BLISSEY_2, \ + FRONTIER_MON_MILOTIC_2, \ + FRONTIER_MON_DUSCLOPS_3, \ + FRONTIER_MON_QUAGSIRE_3, \ + FRONTIER_MON_LUDICOLO_3, \ + FRONTIER_MON_SLOWBRO_3, \ + FRONTIER_MON_SLOWKING_3, \ + FRONTIER_MON_MILTANK_3, \ + FRONTIER_MON_CRADILY_3, \ + FRONTIER_MON_WAILORD_3, \ + FRONTIER_MON_SHUCKLE_3, \ + FRONTIER_MON_EXEGGUTOR_3, \ + FRONTIER_MON_UMBREON_3, \ + FRONTIER_MON_WALREIN_3, \ + FRONTIER_MON_LAPRAS_3, \ + FRONTIER_MON_SNORLAX_3, \ + FRONTIER_MON_BLISSEY_3, \ + FRONTIER_MON_MILOTIC_3, \ + FRONTIER_MON_DUSCLOPS_4, \ + FRONTIER_MON_QUAGSIRE_4, \ + FRONTIER_MON_LUDICOLO_4, \ + FRONTIER_MON_SLOWBRO_4, \ + FRONTIER_MON_SLOWKING_4, \ + FRONTIER_MON_MILTANK_4, \ + FRONTIER_MON_CRADILY_4, \ + FRONTIER_MON_WAILORD_4, \ + FRONTIER_MON_SHUCKLE_4, \ + FRONTIER_MON_EXEGGUTOR_4, \ + FRONTIER_MON_UMBREON_4, \ + FRONTIER_MON_WALREIN_4, \ + FRONTIER_MON_LAPRAS_4, \ + FRONTIER_MON_SNORLAX_4, \ + FRONTIER_MON_BLISSEY_4, \ + FRONTIER_MON_MILOTIC_4, \ + FRONTIER_MON_REGIROCK_1, \ + FRONTIER_MON_REGICE_1, \ + FRONTIER_MON_REGISTEEL_1, \ + FRONTIER_MON_REGIROCK_2, \ + FRONTIER_MON_REGICE_2, \ + FRONTIER_MON_REGISTEEL_2, \ + FRONTIER_MON_REGIROCK_3, \ + FRONTIER_MON_REGICE_3, \ + FRONTIER_MON_REGISTEEL_3, \ + FRONTIER_MON_REGIROCK_4, \ + FRONTIER_MON_REGICE_4, \ + FRONTIER_MON_REGISTEEL_4, \ + FRONTIER_MON_LAPRAS_5, \ + FRONTIER_MON_LAPRAS_6, \ + FRONTIER_MON_LAPRAS_7, \ + FRONTIER_MON_LAPRAS_8, \ + FRONTIER_MON_SNORLAX_5, \ + FRONTIER_MON_SNORLAX_6, \ + FRONTIER_MON_SNORLAX_7, \ + FRONTIER_MON_SNORLAX_8, \ + FRONTIER_MON_REGIROCK_5, \ + FRONTIER_MON_REGIROCK_6, \ + FRONTIER_MON_REGICE_5, \ + FRONTIER_MON_REGICE_6, \ + FRONTIER_MON_REGISTEEL_5, \ + FRONTIER_MON_REGISTEEL_6, \ + FRONTIER_MON_##lastmon##_1, \ + FRONTIER_MON_##lastmon##_2, \ + FRONTIER_MON_##lastmon##_3, \ + FRONTIER_MON_##lastmon##_4, \ + FRONTIER_MON_##lastmon##_5, \ + FRONTIER_MON_##lastmon##_6, \ + FRONTIER_MON_##lastmon##_7, \ + FRONTIER_MON_##lastmon##_8, \ + FRONTIER_MON_##lastmon##_9, \ + FRONTIER_MON_##lastmon##_10,\ + -1 + +// The strong Psychic M/F trainers all use the below pokemon +// Additionally they use 1 of 3 legendary trios, and Latios or Latias depending on gender +#define FRONTIER_MONS_PSYCHIC_2(lati, legend1, legend2, legend3) \ + FRONTIER_MON_WOBBUFFET_1, \ + FRONTIER_MON_WOBBUFFET_2, \ + FRONTIER_MON_JYNX_1, \ + FRONTIER_MON_MR_MIME_1, \ + FRONTIER_MON_XATU_1, \ + FRONTIER_MON_HYPNO_1, \ + FRONTIER_MON_ALAKAZAM_1, \ + FRONTIER_MON_SLOWBRO_1, \ + FRONTIER_MON_SLOWKING_1, \ + FRONTIER_MON_CLAYDOL_1, \ + FRONTIER_MON_GARDEVOIR_1, \ + FRONTIER_MON_EXEGGUTOR_1, \ + FRONTIER_MON_STARMIE_1, \ + FRONTIER_MON_ESPEON_1, \ + FRONTIER_MON_METAGROSS_1, \ + FRONTIER_MON_JYNX_2, \ + FRONTIER_MON_MR_MIME_2, \ + FRONTIER_MON_XATU_2, \ + FRONTIER_MON_HYPNO_2, \ + FRONTIER_MON_ALAKAZAM_2, \ + FRONTIER_MON_SLOWBRO_2, \ + FRONTIER_MON_SLOWKING_2, \ + FRONTIER_MON_CLAYDOL_2, \ + FRONTIER_MON_GARDEVOIR_2, \ + FRONTIER_MON_EXEGGUTOR_2, \ + FRONTIER_MON_STARMIE_2, \ + FRONTIER_MON_ESPEON_2, \ + FRONTIER_MON_METAGROSS_2, \ + FRONTIER_MON_JYNX_3, \ + FRONTIER_MON_MR_MIME_3, \ + FRONTIER_MON_XATU_3, \ + FRONTIER_MON_HYPNO_3, \ + FRONTIER_MON_ALAKAZAM_3, \ + FRONTIER_MON_SLOWBRO_3, \ + FRONTIER_MON_SLOWKING_3, \ + FRONTIER_MON_CLAYDOL_3, \ + FRONTIER_MON_GARDEVOIR_3, \ + FRONTIER_MON_EXEGGUTOR_3, \ + FRONTIER_MON_STARMIE_3, \ + FRONTIER_MON_ESPEON_3, \ + FRONTIER_MON_METAGROSS_3, \ + FRONTIER_MON_JYNX_4, \ + FRONTIER_MON_MR_MIME_4, \ + FRONTIER_MON_XATU_4, \ + FRONTIER_MON_HYPNO_4, \ + FRONTIER_MON_ALAKAZAM_4, \ + FRONTIER_MON_SLOWBRO_4, \ + FRONTIER_MON_SLOWKING_4, \ + FRONTIER_MON_CLAYDOL_4, \ + FRONTIER_MON_GARDEVOIR_4, \ + FRONTIER_MON_EXEGGUTOR_4, \ + FRONTIER_MON_STARMIE_4, \ + FRONTIER_MON_ESPEON_4, \ + FRONTIER_MON_METAGROSS_4, \ + FRONTIER_MON_##legend1##_1, \ + FRONTIER_MON_##legend2##_1, \ + FRONTIER_MON_##legend3##_1, \ + FRONTIER_MON_##lati##_1, \ + FRONTIER_MON_##legend1##_2, \ + FRONTIER_MON_##legend2##_2, \ + FRONTIER_MON_##legend3##_2, \ + FRONTIER_MON_##lati##_2, \ + FRONTIER_MON_##legend1##_3, \ + FRONTIER_MON_##legend2##_3, \ + FRONTIER_MON_##legend3##_3, \ + FRONTIER_MON_##lati##_3, \ + FRONTIER_MON_##legend1##_4, \ + FRONTIER_MON_##legend2##_4, \ + FRONTIER_MON_##legend3##_4, \ + FRONTIER_MON_##lati##_4, \ + FRONTIER_MON_GARDEVOIR_5, \ + FRONTIER_MON_GARDEVOIR_6, \ + FRONTIER_MON_GARDEVOIR_7, \ + FRONTIER_MON_GARDEVOIR_8, \ + FRONTIER_MON_STARMIE_5, \ + FRONTIER_MON_STARMIE_6, \ + FRONTIER_MON_STARMIE_7, \ + FRONTIER_MON_STARMIE_8, \ + FRONTIER_MON_METAGROSS_5, \ + FRONTIER_MON_METAGROSS_6, \ + FRONTIER_MON_METAGROSS_7, \ + FRONTIER_MON_METAGROSS_8, + +#define FRONTIER_MONS_PSYCHIC_2A(lati) \ + FRONTIER_MONS_PSYCHIC_2(lati, ARTICUNO, ZAPDOS, MOLTRES) \ + FRONTIER_MON_##lati##_5, \ + FRONTIER_MON_##lati##_6, \ + FRONTIER_MON_##lati##_7, \ + FRONTIER_MON_##lati##_8, \ + FRONTIER_MON_ARTICUNO_5, \ + FRONTIER_MON_ARTICUNO_6, \ + FRONTIER_MON_ZAPDOS_5, \ + FRONTIER_MON_ZAPDOS_6, \ + FRONTIER_MON_MOLTRES_5, \ + FRONTIER_MON_MOLTRES_6, \ + -1 + +#define FRONTIER_MONS_PSYCHIC_2B(lati) \ + FRONTIER_MONS_PSYCHIC_2(lati, RAIKOU, ENTEI, SUICUNE) \ + FRONTIER_MON_##lati##_5, \ + FRONTIER_MON_##lati##_6, \ + FRONTIER_MON_##lati##_7, \ + FRONTIER_MON_##lati##_8, \ + FRONTIER_MON_RAIKOU_5, \ + FRONTIER_MON_RAIKOU_6, \ + FRONTIER_MON_ENTEI_5, \ + FRONTIER_MON_ENTEI_6, \ + FRONTIER_MON_SUICUNE_5, \ + FRONTIER_MON_SUICUNE_6, \ + -1 + +// Because the regis/latis are swapped here they cant all be merged into the same macro and match +#define FRONTIER_MONS_PSYCHIC_2C(lati) \ + FRONTIER_MONS_PSYCHIC_2(lati, REGIROCK, REGICE, REGISTEEL) \ + FRONTIER_MON_REGIROCK_5, \ + FRONTIER_MON_REGIROCK_6, \ + FRONTIER_MON_REGICE_5, \ + FRONTIER_MON_REGICE_6, \ + FRONTIER_MON_REGISTEEL_5, \ + FRONTIER_MON_REGISTEEL_6, \ + FRONTIER_MON_##lati##_5, \ + FRONTIER_MON_##lati##_6, \ + FRONTIER_MON_##lati##_7, \ + FRONTIER_MON_##lati##_8, \ + -1 + +#define FRONTIER_MONS_HEX_MANIAC_2A \ + FRONTIER_MON_SHARPEDO_2, \ + FRONTIER_MON_ABSOL_2, \ + FRONTIER_MON_MISDREAVUS_1, \ + FRONTIER_MON_DUSCLOPS_1, \ + FRONTIER_MON_SHIFTRY_1, \ + FRONTIER_MON_GENGAR_1, \ + FRONTIER_MON_HOUNDOOM_1, \ + FRONTIER_MON_UMBREON_1, \ + FRONTIER_MON_MISDREAVUS_2, \ + FRONTIER_MON_DUSCLOPS_2, \ + FRONTIER_MON_SHIFTRY_2, \ + FRONTIER_MON_GENGAR_2, \ + FRONTIER_MON_HOUNDOOM_2, \ + FRONTIER_MON_UMBREON_2, \ + FRONTIER_MON_MISDREAVUS_3, \ + FRONTIER_MON_DUSCLOPS_3, \ + FRONTIER_MON_SHIFTRY_3, \ + FRONTIER_MON_GENGAR_3, \ + FRONTIER_MON_HOUNDOOM_3, \ + FRONTIER_MON_UMBREON_3, \ + FRONTIER_MON_MISDREAVUS_4, \ + FRONTIER_MON_DUSCLOPS_4, \ + FRONTIER_MON_SHIFTRY_4, \ + FRONTIER_MON_GENGAR_4, \ + FRONTIER_MON_HOUNDOOM_4, \ + FRONTIER_MON_UMBREON_4, \ + FRONTIER_MON_GENGAR_5, \ + FRONTIER_MON_GENGAR_6, \ + FRONTIER_MON_GENGAR_7, \ + FRONTIER_MON_GENGAR_8, \ + -1 + +#define FRONTIER_MONS_HEX_MANIAC_2B \ + FRONTIER_MON_SEVIPER_2, \ + FRONTIER_MON_MISDREAVUS_1, \ + FRONTIER_MON_DUSCLOPS_1, \ + FRONTIER_MON_VILEPLUME_1, \ + FRONTIER_MON_VICTREEBEL_1, \ + FRONTIER_MON_WEEZING_1, \ + FRONTIER_MON_NIDOQUEEN_1, \ + FRONTIER_MON_NIDOKING_1, \ + FRONTIER_MON_MUK_1, \ + FRONTIER_MON_GENGAR_1, \ + FRONTIER_MON_TENTACRUEL_1, \ + FRONTIER_MON_VENUSAUR_1, \ + FRONTIER_MON_CROBAT_1, \ + FRONTIER_MON_MISDREAVUS_2, \ + FRONTIER_MON_DUSCLOPS_2, \ + FRONTIER_MON_VILEPLUME_2, \ + FRONTIER_MON_VICTREEBEL_2, \ + FRONTIER_MON_WEEZING_2, \ + FRONTIER_MON_NIDOQUEEN_2, \ + FRONTIER_MON_NIDOKING_2, \ + FRONTIER_MON_MUK_2, \ + FRONTIER_MON_GENGAR_2, \ + FRONTIER_MON_TENTACRUEL_2, \ + FRONTIER_MON_VENUSAUR_2, \ + FRONTIER_MON_CROBAT_2, \ + FRONTIER_MON_MISDREAVUS_3, \ + FRONTIER_MON_DUSCLOPS_3, \ + FRONTIER_MON_VILEPLUME_3, \ + FRONTIER_MON_VICTREEBEL_3, \ + FRONTIER_MON_WEEZING_3, \ + FRONTIER_MON_NIDOQUEEN_3, \ + FRONTIER_MON_NIDOKING_3, \ + FRONTIER_MON_MUK_3, \ + FRONTIER_MON_GENGAR_3, \ + FRONTIER_MON_TENTACRUEL_3, \ + FRONTIER_MON_VENUSAUR_3, \ + FRONTIER_MON_CROBAT_3, \ + FRONTIER_MON_MISDREAVUS_4, \ + FRONTIER_MON_DUSCLOPS_4, \ + FRONTIER_MON_VILEPLUME_4, \ + FRONTIER_MON_VICTREEBEL_4, \ + FRONTIER_MON_WEEZING_4, \ + FRONTIER_MON_NIDOQUEEN_4, \ + FRONTIER_MON_NIDOKING_4, \ + FRONTIER_MON_MUK_4, \ + FRONTIER_MON_GENGAR_4, \ + FRONTIER_MON_TENTACRUEL_4, \ + FRONTIER_MON_VENUSAUR_4, \ + FRONTIER_MON_CROBAT_4, \ + FRONTIER_MON_GENGAR_5, \ + FRONTIER_MON_GENGAR_6, \ + FRONTIER_MON_GENGAR_7, \ + FRONTIER_MON_GENGAR_8, \ + -1 + +#define FRONTIER_MONS_HEX_MANIAC_2C \ + FRONTIER_MON_SEVIPER_2, \ + FRONTIER_MON_SHARPEDO_2, \ + FRONTIER_MON_ABSOL_2, \ + FRONTIER_MON_VILEPLUME_1, \ + FRONTIER_MON_VICTREEBEL_1, \ + FRONTIER_MON_SHIFTRY_1, \ + FRONTIER_MON_WEEZING_1, \ + FRONTIER_MON_NIDOQUEEN_1, \ + FRONTIER_MON_NIDOKING_1, \ + FRONTIER_MON_MUK_1, \ + FRONTIER_MON_GENGAR_1, \ + FRONTIER_MON_HOUNDOOM_1, \ + FRONTIER_MON_TENTACRUEL_1, \ + FRONTIER_MON_VENUSAUR_1, \ + FRONTIER_MON_UMBREON_1, \ + FRONTIER_MON_CROBAT_1, \ + FRONTIER_MON_VILEPLUME_2, \ + FRONTIER_MON_VICTREEBEL_2, \ + FRONTIER_MON_SHIFTRY_2, \ + FRONTIER_MON_WEEZING_2, \ + FRONTIER_MON_NIDOQUEEN_2, \ + FRONTIER_MON_NIDOKING_2, \ + FRONTIER_MON_MUK_2, \ + FRONTIER_MON_GENGAR_2, \ + FRONTIER_MON_HOUNDOOM_2, \ + FRONTIER_MON_TENTACRUEL_2, \ + FRONTIER_MON_VENUSAUR_2, \ + FRONTIER_MON_UMBREON_2, \ + FRONTIER_MON_CROBAT_2, \ + FRONTIER_MON_VILEPLUME_3, \ + FRONTIER_MON_VICTREEBEL_3, \ + FRONTIER_MON_SHIFTRY_3, \ + FRONTIER_MON_WEEZING_3, \ + FRONTIER_MON_NIDOQUEEN_3, \ + FRONTIER_MON_NIDOKING_3, \ + FRONTIER_MON_MUK_3, \ + FRONTIER_MON_GENGAR_3, \ + FRONTIER_MON_HOUNDOOM_3, \ + FRONTIER_MON_TENTACRUEL_3, \ + FRONTIER_MON_VENUSAUR_3, \ + FRONTIER_MON_UMBREON_3, \ + FRONTIER_MON_CROBAT_3, \ + FRONTIER_MON_VILEPLUME_4, \ + FRONTIER_MON_VICTREEBEL_4, \ + FRONTIER_MON_SHIFTRY_4, \ + FRONTIER_MON_WEEZING_4, \ + FRONTIER_MON_NIDOQUEEN_4, \ + FRONTIER_MON_NIDOKING_4, \ + FRONTIER_MON_MUK_4, \ + FRONTIER_MON_GENGAR_4, \ + FRONTIER_MON_HOUNDOOM_4, \ + FRONTIER_MON_TENTACRUEL_4, \ + FRONTIER_MON_VENUSAUR_4, \ + FRONTIER_MON_UMBREON_4, \ + FRONTIER_MON_CROBAT_4, \ + FRONTIER_MON_GENGAR_5, \ + FRONTIER_MON_GENGAR_6, \ + FRONTIER_MON_GENGAR_7, \ + FRONTIER_MON_GENGAR_8, \ + -1 + +// For whatever reason FRONTIER_MON_MAROWAK_2 is in a different order than _1 _3 and _4 +// This order change is the only difference btween FRONITER_MONS_POKEMANIAC_2A and FRONTIER_MONS_POKEMANIAC_2B other than the numbered suffixes +#define FRONTIER_MONS_POKEMANIAC_2A \ + FRONTIER_MON_ZANGOOSE_2, \ + FRONTIER_MON_GRANBULL_1, \ + FRONTIER_MON_SKARMORY_1, \ + FRONTIER_MON_MAROWAK_1, \ + FRONTIER_MON_EXPLOUD_1, \ + FRONTIER_MON_GLALIE_1, \ + FRONTIER_MON_GOLEM_1, \ + FRONTIER_MON_RHYDON_1, \ + FRONTIER_MON_KANGASKHAN_1, \ + FRONTIER_MON_TAUROS_1, \ + FRONTIER_MON_MILTANK_1, \ + FRONTIER_MON_NIDOQUEEN_1, \ + FRONTIER_MON_NIDOKING_1, \ + FRONTIER_MON_URSARING_1, \ + FRONTIER_MON_DONPHAN_1, \ + FRONTIER_MON_WAILORD_1, \ + FRONTIER_MON_STEELIX_1, \ + FRONTIER_MON_AERODACTYL_1, \ + FRONTIER_MON_FLYGON_1, \ + FRONTIER_MON_VENUSAUR_1, \ + FRONTIER_MON_MEGANIUM_1, \ + FRONTIER_MON_BLASTOISE_1, \ + FRONTIER_MON_FERALIGATR_1, \ + FRONTIER_MON_AGGRON_1, \ + FRONTIER_MON_WALREIN_1, \ + FRONTIER_MON_CHARIZARD_1, \ + FRONTIER_MON_LAPRAS_1, \ + FRONTIER_MON_SWAMPERT_1, \ + FRONTIER_MON_GYARADOS_1, \ + FRONTIER_MON_SNORLAX_1, \ + FRONTIER_MON_BLISSEY_1, \ + FRONTIER_MON_SALAMENCE_1, \ + FRONTIER_MON_METAGROSS_1, \ + FRONTIER_MON_SLAKING_1, \ + FRONTIER_MON_MAROWAK_2, \ + FRONTIER_MON_GRANBULL_2, \ + FRONTIER_MON_SKARMORY_2, \ + FRONTIER_MON_EXPLOUD_2, \ + FRONTIER_MON_GLALIE_2, \ + FRONTIER_MON_GOLEM_2, \ + FRONTIER_MON_RHYDON_2, \ + FRONTIER_MON_KANGASKHAN_2, \ + FRONTIER_MON_TAUROS_2, \ + FRONTIER_MON_MILTANK_2, \ + FRONTIER_MON_NIDOQUEEN_2, \ + FRONTIER_MON_NIDOKING_2, \ + FRONTIER_MON_URSARING_2, \ + FRONTIER_MON_DONPHAN_2, \ + FRONTIER_MON_WAILORD_2, \ + FRONTIER_MON_STEELIX_2, \ + FRONTIER_MON_AERODACTYL_2, \ + FRONTIER_MON_FLYGON_2, \ + FRONTIER_MON_VENUSAUR_2, \ + FRONTIER_MON_MEGANIUM_2, \ + FRONTIER_MON_BLASTOISE_2, \ + FRONTIER_MON_FERALIGATR_2, \ + FRONTIER_MON_AGGRON_2, \ + FRONTIER_MON_WALREIN_2, \ + FRONTIER_MON_CHARIZARD_2, \ + FRONTIER_MON_LAPRAS_2, \ + FRONTIER_MON_SWAMPERT_2, \ + FRONTIER_MON_GYARADOS_2, \ + FRONTIER_MON_SNORLAX_2, \ + FRONTIER_MON_BLISSEY_2, \ + FRONTIER_MON_SALAMENCE_2, \ + FRONTIER_MON_METAGROSS_2, \ + FRONTIER_MON_SLAKING_2, \ + FRONTIER_MON_DRAGONITE_1, \ + FRONTIER_MON_DRAGONITE_2, \ + FRONTIER_MON_DRAGONITE_3, \ + FRONTIER_MON_DRAGONITE_4, \ + FRONTIER_MON_DRAGONITE_5, \ + FRONTIER_MON_DRAGONITE_6, \ + FRONTIER_MON_DRAGONITE_7, \ + FRONTIER_MON_DRAGONITE_8, \ + FRONTIER_MON_DRAGONITE_9, \ + FRONTIER_MON_DRAGONITE_10, \ + FRONTIER_MON_TYRANITAR_1, \ + FRONTIER_MON_TYRANITAR_2, \ + FRONTIER_MON_TYRANITAR_3, \ + FRONTIER_MON_TYRANITAR_4, \ + FRONTIER_MON_TYRANITAR_5, \ + FRONTIER_MON_TYRANITAR_6, \ + FRONTIER_MON_TYRANITAR_7, \ + FRONTIER_MON_TYRANITAR_8, \ + FRONTIER_MON_TYRANITAR_9, \ + FRONTIER_MON_TYRANITAR_10, \ + -1 + +#define FRONTIER_MONS_POKEMANIAC_2B \ + FRONTIER_MON_ZANGOOSE_2, \ + FRONTIER_MON_GRANBULL_3, \ + FRONTIER_MON_SKARMORY_3, \ + FRONTIER_MON_MAROWAK_3, \ + FRONTIER_MON_EXPLOUD_3, \ + FRONTIER_MON_GLALIE_3, \ + FRONTIER_MON_GOLEM_3, \ + FRONTIER_MON_RHYDON_3, \ + FRONTIER_MON_KANGASKHAN_3, \ + FRONTIER_MON_TAUROS_3, \ + FRONTIER_MON_MILTANK_3, \ + FRONTIER_MON_NIDOQUEEN_3, \ + FRONTIER_MON_NIDOKING_3, \ + FRONTIER_MON_URSARING_3, \ + FRONTIER_MON_DONPHAN_3, \ + FRONTIER_MON_WAILORD_3, \ + FRONTIER_MON_STEELIX_3, \ + FRONTIER_MON_AERODACTYL_3, \ + FRONTIER_MON_FLYGON_3, \ + FRONTIER_MON_VENUSAUR_3, \ + FRONTIER_MON_MEGANIUM_3, \ + FRONTIER_MON_BLASTOISE_3, \ + FRONTIER_MON_FERALIGATR_3, \ + FRONTIER_MON_AGGRON_3, \ + FRONTIER_MON_WALREIN_3, \ + FRONTIER_MON_CHARIZARD_3, \ + FRONTIER_MON_LAPRAS_3, \ + FRONTIER_MON_SWAMPERT_3, \ + FRONTIER_MON_GYARADOS_3, \ + FRONTIER_MON_SNORLAX_3, \ + FRONTIER_MON_BLISSEY_3, \ + FRONTIER_MON_SALAMENCE_3, \ + FRONTIER_MON_METAGROSS_3, \ + FRONTIER_MON_SLAKING_3, \ + FRONTIER_MON_GRANBULL_4, \ + FRONTIER_MON_SKARMORY_4, \ + FRONTIER_MON_MAROWAK_4, \ + FRONTIER_MON_EXPLOUD_4, \ + FRONTIER_MON_GLALIE_4, \ + FRONTIER_MON_GOLEM_4, \ + FRONTIER_MON_RHYDON_4, \ + FRONTIER_MON_KANGASKHAN_4, \ + FRONTIER_MON_TAUROS_4, \ + FRONTIER_MON_MILTANK_4, \ + FRONTIER_MON_NIDOQUEEN_4, \ + FRONTIER_MON_NIDOKING_4, \ + FRONTIER_MON_URSARING_4, \ + FRONTIER_MON_DONPHAN_4, \ + FRONTIER_MON_WAILORD_4, \ + FRONTIER_MON_STEELIX_4, \ + FRONTIER_MON_AERODACTYL_4, \ + FRONTIER_MON_FLYGON_4, \ + FRONTIER_MON_VENUSAUR_4, \ + FRONTIER_MON_MEGANIUM_4, \ + FRONTIER_MON_BLASTOISE_4, \ + FRONTIER_MON_FERALIGATR_4, \ + FRONTIER_MON_AGGRON_4, \ + FRONTIER_MON_WALREIN_4, \ + FRONTIER_MON_CHARIZARD_4, \ + FRONTIER_MON_LAPRAS_4, \ + FRONTIER_MON_SWAMPERT_4, \ + FRONTIER_MON_GYARADOS_4, \ + FRONTIER_MON_SNORLAX_4, \ + FRONTIER_MON_BLISSEY_4, \ + FRONTIER_MON_SALAMENCE_4, \ + FRONTIER_MON_METAGROSS_4, \ + FRONTIER_MON_SLAKING_4, \ + FRONTIER_MON_DRAGONITE_1, \ + FRONTIER_MON_DRAGONITE_2, \ + FRONTIER_MON_DRAGONITE_3, \ + FRONTIER_MON_DRAGONITE_4, \ + FRONTIER_MON_DRAGONITE_5, \ + FRONTIER_MON_DRAGONITE_6, \ + FRONTIER_MON_DRAGONITE_7, \ + FRONTIER_MON_DRAGONITE_8, \ + FRONTIER_MON_DRAGONITE_9, \ + FRONTIER_MON_DRAGONITE_10, \ + FRONTIER_MON_TYRANITAR_1, \ + FRONTIER_MON_TYRANITAR_2, \ + FRONTIER_MON_TYRANITAR_3, \ + FRONTIER_MON_TYRANITAR_4, \ + FRONTIER_MON_TYRANITAR_5, \ + FRONTIER_MON_TYRANITAR_6, \ + FRONTIER_MON_TYRANITAR_7, \ + FRONTIER_MON_TYRANITAR_8, \ + FRONTIER_MON_TYRANITAR_9, \ + FRONTIER_MON_TYRANITAR_10, \ + -1 + +#define FRONTIER_MONS_POKEMANIAC_2C \ + FRONTIER_MON_ZANGOOSE_2, \ + FRONTIER_MON_URSARING_1, \ + FRONTIER_MON_STEELIX_1, \ + FRONTIER_MON_AERODACTYL_1, \ + FRONTIER_MON_MEGANIUM_1, \ + FRONTIER_MON_AGGRON_1, \ + FRONTIER_MON_CHARIZARD_1, \ + FRONTIER_MON_LAPRAS_1, \ + FRONTIER_MON_SWAMPERT_1, \ + FRONTIER_MON_GYARADOS_1, \ + FRONTIER_MON_SNORLAX_1, \ + FRONTIER_MON_SALAMENCE_1, \ + FRONTIER_MON_METAGROSS_1, \ + FRONTIER_MON_URSARING_2, \ + FRONTIER_MON_STEELIX_2, \ + FRONTIER_MON_AERODACTYL_2, \ + FRONTIER_MON_MEGANIUM_2, \ + FRONTIER_MON_AGGRON_2, \ + FRONTIER_MON_CHARIZARD_2, \ + FRONTIER_MON_LAPRAS_2, \ + FRONTIER_MON_SWAMPERT_2, \ + FRONTIER_MON_GYARADOS_2, \ + FRONTIER_MON_SNORLAX_2, \ + FRONTIER_MON_SALAMENCE_2, \ + FRONTIER_MON_METAGROSS_2, \ + FRONTIER_MON_URSARING_3, \ + FRONTIER_MON_STEELIX_3, \ + FRONTIER_MON_AERODACTYL_3, \ + FRONTIER_MON_MEGANIUM_3, \ + FRONTIER_MON_AGGRON_3, \ + FRONTIER_MON_CHARIZARD_3, \ + FRONTIER_MON_LAPRAS_3, \ + FRONTIER_MON_SWAMPERT_3, \ + FRONTIER_MON_GYARADOS_3, \ + FRONTIER_MON_SNORLAX_3, \ + FRONTIER_MON_SALAMENCE_3, \ + FRONTIER_MON_METAGROSS_3, \ + FRONTIER_MON_URSARING_4, \ + FRONTIER_MON_STEELIX_4, \ + FRONTIER_MON_AERODACTYL_4, \ + FRONTIER_MON_MEGANIUM_4, \ + FRONTIER_MON_AGGRON_4, \ + FRONTIER_MON_CHARIZARD_4, \ + FRONTIER_MON_LAPRAS_4, \ + FRONTIER_MON_SWAMPERT_4, \ + FRONTIER_MON_GYARADOS_4, \ + FRONTIER_MON_SNORLAX_4, \ + FRONTIER_MON_SALAMENCE_4, \ + FRONTIER_MON_METAGROSS_4, \ + FRONTIER_MON_URSARING_5, \ + FRONTIER_MON_URSARING_6, \ + FRONTIER_MON_URSARING_7, \ + FRONTIER_MON_URSARING_8, \ + FRONTIER_MON_LAPRAS_5, \ + FRONTIER_MON_LAPRAS_6, \ + FRONTIER_MON_LAPRAS_7, \ + FRONTIER_MON_LAPRAS_8, \ + FRONTIER_MON_SNORLAX_5, \ + FRONTIER_MON_SNORLAX_6, \ + FRONTIER_MON_SNORLAX_7, \ + FRONTIER_MON_SNORLAX_8, \ + FRONTIER_MON_SALAMENCE_5, \ + FRONTIER_MON_SALAMENCE_6, \ + FRONTIER_MON_SALAMENCE_7, \ + FRONTIER_MON_SALAMENCE_8, \ + FRONTIER_MON_METAGROSS_5, \ + FRONTIER_MON_METAGROSS_6, \ + FRONTIER_MON_METAGROSS_7, \ + FRONTIER_MON_METAGROSS_8, \ + FRONTIER_MON_DRAGONITE_1, \ + FRONTIER_MON_DRAGONITE_2, \ + FRONTIER_MON_DRAGONITE_3, \ + FRONTIER_MON_DRAGONITE_4, \ + FRONTIER_MON_DRAGONITE_5, \ + FRONTIER_MON_DRAGONITE_6, \ + FRONTIER_MON_DRAGONITE_7, \ + FRONTIER_MON_DRAGONITE_8, \ + FRONTIER_MON_DRAGONITE_9, \ + FRONTIER_MON_DRAGONITE_10, \ + FRONTIER_MON_TYRANITAR_1, \ + FRONTIER_MON_TYRANITAR_2, \ + FRONTIER_MON_TYRANITAR_3, \ + FRONTIER_MON_TYRANITAR_4, \ + FRONTIER_MON_TYRANITAR_5, \ + FRONTIER_MON_TYRANITAR_6, \ + FRONTIER_MON_TYRANITAR_7, \ + FRONTIER_MON_TYRANITAR_8, \ + FRONTIER_MON_TYRANITAR_9, \ + FRONTIER_MON_TYRANITAR_10, \ + -1 + +// Identical to FRONTIER_MONS_COOLTRAINER_2C but with both latias and latios +#define FRONTIER_MONS_GENTLEMAN_3A \ + FRONTIER_MON_GENGAR_1, \ + FRONTIER_MON_URSARING_1, \ + FRONTIER_MON_MACHAMP_1, \ + FRONTIER_MON_GARDEVOIR_1, \ + FRONTIER_MON_STARMIE_1, \ + FRONTIER_MON_LAPRAS_1, \ + FRONTIER_MON_SNORLAX_1, \ + FRONTIER_MON_SALAMENCE_1, \ + FRONTIER_MON_METAGROSS_1, \ + FRONTIER_MON_GENGAR_2, \ + FRONTIER_MON_URSARING_2, \ + FRONTIER_MON_MACHAMP_2, \ + FRONTIER_MON_GARDEVOIR_2, \ + FRONTIER_MON_STARMIE_2, \ + FRONTIER_MON_LAPRAS_2, \ + FRONTIER_MON_SNORLAX_2, \ + FRONTIER_MON_SALAMENCE_2, \ + FRONTIER_MON_METAGROSS_2, \ + FRONTIER_MON_GENGAR_3, \ + FRONTIER_MON_URSARING_3, \ + FRONTIER_MON_MACHAMP_3, \ + FRONTIER_MON_GARDEVOIR_3, \ + FRONTIER_MON_STARMIE_3, \ + FRONTIER_MON_LAPRAS_3, \ + FRONTIER_MON_SNORLAX_3, \ + FRONTIER_MON_SALAMENCE_3, \ + FRONTIER_MON_METAGROSS_3, \ + FRONTIER_MON_GENGAR_4, \ + FRONTIER_MON_URSARING_4, \ + FRONTIER_MON_MACHAMP_4, \ + FRONTIER_MON_GARDEVOIR_4, \ + FRONTIER_MON_STARMIE_4, \ + FRONTIER_MON_LAPRAS_4, \ + FRONTIER_MON_SNORLAX_4, \ + FRONTIER_MON_SALAMENCE_4, \ + FRONTIER_MON_METAGROSS_4, \ + FRONTIER_MON_LATIAS_1, \ + FRONTIER_MON_LATIOS_1, \ + FRONTIER_MON_LATIAS_2, \ + FRONTIER_MON_LATIOS_2, \ + FRONTIER_MON_LATIAS_3, \ + FRONTIER_MON_LATIOS_3, \ + FRONTIER_MON_LATIAS_4, \ + FRONTIER_MON_LATIOS_4, \ + FRONTIER_MON_GENGAR_5, \ + FRONTIER_MON_GENGAR_6, \ + FRONTIER_MON_GENGAR_7, \ + FRONTIER_MON_GENGAR_8, \ + FRONTIER_MON_URSARING_5, \ + FRONTIER_MON_URSARING_6, \ + FRONTIER_MON_URSARING_7, \ + FRONTIER_MON_URSARING_8, \ + FRONTIER_MON_MACHAMP_5, \ + FRONTIER_MON_MACHAMP_6, \ + FRONTIER_MON_MACHAMP_7, \ + FRONTIER_MON_MACHAMP_8, \ + FRONTIER_MON_GARDEVOIR_5, \ + FRONTIER_MON_GARDEVOIR_6, \ + FRONTIER_MON_GARDEVOIR_7, \ + FRONTIER_MON_GARDEVOIR_8, \ + FRONTIER_MON_STARMIE_5, \ + FRONTIER_MON_STARMIE_6, \ + FRONTIER_MON_STARMIE_7, \ + FRONTIER_MON_STARMIE_8, \ + FRONTIER_MON_LAPRAS_5, \ + FRONTIER_MON_LAPRAS_6, \ + FRONTIER_MON_LAPRAS_7, \ + FRONTIER_MON_LAPRAS_8, \ + FRONTIER_MON_SNORLAX_5, \ + FRONTIER_MON_SNORLAX_6, \ + FRONTIER_MON_SNORLAX_7, \ + FRONTIER_MON_SNORLAX_8, \ + FRONTIER_MON_SALAMENCE_5, \ + FRONTIER_MON_SALAMENCE_6, \ + FRONTIER_MON_SALAMENCE_7, \ + FRONTIER_MON_SALAMENCE_8, \ + FRONTIER_MON_METAGROSS_5, \ + FRONTIER_MON_METAGROSS_6, \ + FRONTIER_MON_METAGROSS_7, \ + FRONTIER_MON_METAGROSS_8, \ + FRONTIER_MON_DRAGONITE_1, \ + FRONTIER_MON_DRAGONITE_2, \ + FRONTIER_MON_DRAGONITE_3, \ + FRONTIER_MON_DRAGONITE_4, \ + FRONTIER_MON_DRAGONITE_5, \ + FRONTIER_MON_DRAGONITE_6, \ + FRONTIER_MON_DRAGONITE_7, \ + FRONTIER_MON_DRAGONITE_8, \ + FRONTIER_MON_DRAGONITE_9, \ + FRONTIER_MON_DRAGONITE_10, \ + FRONTIER_MON_TYRANITAR_1, \ + FRONTIER_MON_TYRANITAR_2, \ + FRONTIER_MON_TYRANITAR_3, \ + FRONTIER_MON_TYRANITAR_4, \ + FRONTIER_MON_TYRANITAR_5, \ + FRONTIER_MON_TYRANITAR_6, \ + FRONTIER_MON_TYRANITAR_7, \ + FRONTIER_MON_TYRANITAR_8, \ + FRONTIER_MON_TYRANITAR_9, \ + FRONTIER_MON_TYRANITAR_10, \ + -1 + +// Identical to FRONTIER_MONS_COOLTRAINER_2D but with both latias and latios +#define FRONTIER_MONS_GENTLEMAN_3B \ + FRONTIER_MON_ARTICUNO_1, \ + FRONTIER_MON_ZAPDOS_1, \ + FRONTIER_MON_MOLTRES_1, \ + FRONTIER_MON_RAIKOU_1, \ + FRONTIER_MON_ENTEI_1, \ + FRONTIER_MON_SUICUNE_1, \ + FRONTIER_MON_REGIROCK_1, \ + FRONTIER_MON_REGICE_1, \ + FRONTIER_MON_REGISTEEL_1, \ + FRONTIER_MON_LATIAS_1, \ + FRONTIER_MON_LATIOS_1, \ + FRONTIER_MON_ARTICUNO_2, \ + FRONTIER_MON_ZAPDOS_2, \ + FRONTIER_MON_MOLTRES_2, \ + FRONTIER_MON_RAIKOU_2, \ + FRONTIER_MON_ENTEI_2, \ + FRONTIER_MON_SUICUNE_2, \ + FRONTIER_MON_REGIROCK_2, \ + FRONTIER_MON_REGICE_2, \ + FRONTIER_MON_REGISTEEL_2, \ + FRONTIER_MON_LATIAS_2, \ + FRONTIER_MON_LATIOS_2, \ + FRONTIER_MON_ARTICUNO_3, \ + FRONTIER_MON_ZAPDOS_3, \ + FRONTIER_MON_MOLTRES_3, \ + FRONTIER_MON_RAIKOU_3, \ + FRONTIER_MON_ENTEI_3, \ + FRONTIER_MON_SUICUNE_3, \ + FRONTIER_MON_REGIROCK_3, \ + FRONTIER_MON_REGICE_3, \ + FRONTIER_MON_REGISTEEL_3, \ + FRONTIER_MON_LATIAS_3, \ + FRONTIER_MON_LATIOS_3, \ + FRONTIER_MON_ARTICUNO_4, \ + FRONTIER_MON_ZAPDOS_4, \ + FRONTIER_MON_MOLTRES_4, \ + FRONTIER_MON_RAIKOU_4, \ + FRONTIER_MON_ENTEI_4, \ + FRONTIER_MON_SUICUNE_4, \ + FRONTIER_MON_REGIROCK_4, \ + FRONTIER_MON_REGICE_4, \ + FRONTIER_MON_REGISTEEL_4, \ + FRONTIER_MON_LATIAS_4, \ + FRONTIER_MON_LATIOS_4, \ + FRONTIER_MON_REGIROCK_5, \ + FRONTIER_MON_REGIROCK_6, \ + FRONTIER_MON_REGICE_5, \ + FRONTIER_MON_REGICE_6, \ + FRONTIER_MON_REGISTEEL_5, \ + FRONTIER_MON_REGISTEEL_6, \ + FRONTIER_MON_LATIAS_5, \ + FRONTIER_MON_LATIAS_6, \ + FRONTIER_MON_LATIAS_7, \ + FRONTIER_MON_LATIAS_8, \ + FRONTIER_MON_LATIOS_5, \ + FRONTIER_MON_LATIOS_6, \ + FRONTIER_MON_LATIOS_7, \ + FRONTIER_MON_LATIOS_8, \ + FRONTIER_MON_DRAGONITE_1, \ + FRONTIER_MON_DRAGONITE_2, \ + FRONTIER_MON_DRAGONITE_3, \ + FRONTIER_MON_DRAGONITE_4, \ + FRONTIER_MON_DRAGONITE_5, \ + FRONTIER_MON_DRAGONITE_6, \ + FRONTIER_MON_DRAGONITE_7, \ + FRONTIER_MON_DRAGONITE_8, \ + FRONTIER_MON_DRAGONITE_9, \ + FRONTIER_MON_DRAGONITE_10, \ + FRONTIER_MON_TYRANITAR_1, \ + FRONTIER_MON_TYRANITAR_2, \ + FRONTIER_MON_TYRANITAR_3, \ + FRONTIER_MON_TYRANITAR_4, \ + FRONTIER_MON_TYRANITAR_5, \ + FRONTIER_MON_TYRANITAR_6, \ + FRONTIER_MON_TYRANITAR_7, \ + FRONTIER_MON_TYRANITAR_8, \ + FRONTIER_MON_TYRANITAR_9, \ + FRONTIER_MON_TYRANITAR_10, \ + FRONTIER_MON_ARTICUNO_5, \ + FRONTIER_MON_ARTICUNO_6, \ + FRONTIER_MON_ZAPDOS_5, \ + FRONTIER_MON_ZAPDOS_6, \ + FRONTIER_MON_MOLTRES_5, \ + FRONTIER_MON_MOLTRES_6, \ + FRONTIER_MON_RAIKOU_5, \ + FRONTIER_MON_RAIKOU_6, \ + FRONTIER_MON_ENTEI_5, \ + FRONTIER_MON_ENTEI_6, \ + FRONTIER_MON_SUICUNE_5, \ + FRONTIER_MON_SUICUNE_6, \ + -1 + +#define FRONTIER_MONS_SWIMMING_TRIATHLETE_M_3 \ + FRONTIER_MON_SNEASEL_2, \ + FRONTIER_MON_CLOYSTER_2, \ + FRONTIER_MON_MEDICHAM_1, \ + FRONTIER_MON_JYNX_1, \ + FRONTIER_MON_HARIYAMA_1, \ + FRONTIER_MON_DEWGONG_1, \ + FRONTIER_MON_GLALIE_1, \ + FRONTIER_MON_MACHAMP_1, \ + FRONTIER_MON_WALREIN_1, \ + FRONTIER_MON_LAPRAS_1, \ + FRONTIER_MON_MEDICHAM_2, \ + FRONTIER_MON_JYNX_2, \ + FRONTIER_MON_HARIYAMA_2, \ + FRONTIER_MON_DEWGONG_2, \ + FRONTIER_MON_GLALIE_2, \ + FRONTIER_MON_MACHAMP_2, \ + FRONTIER_MON_WALREIN_2, \ + FRONTIER_MON_LAPRAS_2, \ + FRONTIER_MON_MEDICHAM_3, \ + FRONTIER_MON_JYNX_3, \ + FRONTIER_MON_LANTURN_3, \ + FRONTIER_MON_WHISCASH_3, \ + FRONTIER_MON_QUAGSIRE_3, \ + FRONTIER_MON_HARIYAMA_3, \ + FRONTIER_MON_DEWGONG_3, \ + FRONTIER_MON_GLALIE_3, \ + FRONTIER_MON_LUDICOLO_3, \ + FRONTIER_MON_SLOWBRO_3, \ + FRONTIER_MON_SLOWKING_3, \ + FRONTIER_MON_GOLDUCK_3, \ + FRONTIER_MON_WAILORD_3, \ + FRONTIER_MON_MACHAMP_3, \ + FRONTIER_MON_TENTACRUEL_3, \ + FRONTIER_MON_STARMIE_3, \ + FRONTIER_MON_VAPOREON_3, \ + FRONTIER_MON_BLASTOISE_3, \ + FRONTIER_MON_FERALIGATR_3, \ + FRONTIER_MON_WALREIN_3, \ + FRONTIER_MON_LAPRAS_3, \ + FRONTIER_MON_SWAMPERT_3, \ + FRONTIER_MON_GYARADOS_3, \ + FRONTIER_MON_KINGDRA_3, \ + FRONTIER_MON_MILOTIC_3, \ + FRONTIER_MON_MEDICHAM_4, \ + FRONTIER_MON_JYNX_4, \ + FRONTIER_MON_LANTURN_4, \ + FRONTIER_MON_WHISCASH_4, \ + FRONTIER_MON_QUAGSIRE_4, \ + FRONTIER_MON_HARIYAMA_4, \ + FRONTIER_MON_DEWGONG_4, \ + FRONTIER_MON_GLALIE_4, \ + FRONTIER_MON_LUDICOLO_4, \ + FRONTIER_MON_SLOWBRO_4, \ + FRONTIER_MON_SLOWKING_4, \ + FRONTIER_MON_GOLDUCK_4, \ + FRONTIER_MON_WAILORD_4, \ + FRONTIER_MON_MACHAMP_4, \ + FRONTIER_MON_TENTACRUEL_4, \ + FRONTIER_MON_STARMIE_4, \ + FRONTIER_MON_VAPOREON_4, \ + FRONTIER_MON_BLASTOISE_4, \ + FRONTIER_MON_FERALIGATR_4, \ + FRONTIER_MON_WALREIN_4, \ + FRONTIER_MON_LAPRAS_4, \ + FRONTIER_MON_SWAMPERT_4, \ + FRONTIER_MON_GYARADOS_4, \ + FRONTIER_MON_KINGDRA_4, \ + FRONTIER_MON_MILOTIC_4, \ + FRONTIER_MON_MACHAMP_5, \ + FRONTIER_MON_MACHAMP_6, \ + FRONTIER_MON_MACHAMP_7, \ + FRONTIER_MON_MACHAMP_8, \ + FRONTIER_MON_STARMIE_5, \ + FRONTIER_MON_STARMIE_6, \ + FRONTIER_MON_STARMIE_7, \ + FRONTIER_MON_STARMIE_8, \ + FRONTIER_MON_LAPRAS_5, \ + FRONTIER_MON_LAPRAS_6, \ + FRONTIER_MON_LAPRAS_7, \ + FRONTIER_MON_LAPRAS_8, \ + -1 + +#define FRONTIER_MONS_SWIMMING_TRIATHLETE_F_3 \ + FRONTIER_MON_SNEASEL_2, \ + FRONTIER_MON_CLOYSTER_2, \ + FRONTIER_MON_MEDICHAM_1, \ + FRONTIER_MON_JYNX_1, \ + FRONTIER_MON_LANTURN_1, \ + FRONTIER_MON_WHISCASH_1, \ + FRONTIER_MON_QUAGSIRE_1, \ + FRONTIER_MON_HARIYAMA_1, \ + FRONTIER_MON_DEWGONG_1, \ + FRONTIER_MON_GLALIE_1, \ + FRONTIER_MON_LUDICOLO_1, \ + FRONTIER_MON_SLOWBRO_1, \ + FRONTIER_MON_SLOWKING_1, \ + FRONTIER_MON_GOLDUCK_1, \ + FRONTIER_MON_WAILORD_1, \ + FRONTIER_MON_MACHAMP_1, \ + FRONTIER_MON_TENTACRUEL_1, \ + FRONTIER_MON_STARMIE_1, \ + FRONTIER_MON_VAPOREON_1, \ + FRONTIER_MON_BLASTOISE_1, \ + FRONTIER_MON_FERALIGATR_1, \ + FRONTIER_MON_WALREIN_1, \ + FRONTIER_MON_LAPRAS_1, \ + FRONTIER_MON_SWAMPERT_1, \ + FRONTIER_MON_GYARADOS_1, \ + FRONTIER_MON_KINGDRA_1, \ + FRONTIER_MON_MILOTIC_1, \ + FRONTIER_MON_MEDICHAM_2, \ + FRONTIER_MON_QUAGSIRE_2, \ + FRONTIER_MON_JYNX_2, \ + FRONTIER_MON_LANTURN_2, \ + FRONTIER_MON_WHISCASH_2, \ + FRONTIER_MON_HARIYAMA_2, \ + FRONTIER_MON_DEWGONG_2, \ + FRONTIER_MON_GLALIE_2, \ + FRONTIER_MON_LUDICOLO_2, \ + FRONTIER_MON_SLOWBRO_2, \ + FRONTIER_MON_SLOWKING_2, \ + FRONTIER_MON_GOLDUCK_2, \ + FRONTIER_MON_WAILORD_2, \ + FRONTIER_MON_MACHAMP_2, \ + FRONTIER_MON_TENTACRUEL_2, \ + FRONTIER_MON_STARMIE_2, \ + FRONTIER_MON_VAPOREON_2, \ + FRONTIER_MON_BLASTOISE_2, \ + FRONTIER_MON_FERALIGATR_2, \ + FRONTIER_MON_WALREIN_2, \ + FRONTIER_MON_LAPRAS_2, \ + FRONTIER_MON_SWAMPERT_2, \ + FRONTIER_MON_GYARADOS_2, \ + FRONTIER_MON_KINGDRA_2, \ + FRONTIER_MON_MILOTIC_2, \ + FRONTIER_MON_MEDICHAM_3, \ + FRONTIER_MON_JYNX_3, \ + FRONTIER_MON_HARIYAMA_3, \ + FRONTIER_MON_DEWGONG_3, \ + FRONTIER_MON_GLALIE_3, \ + FRONTIER_MON_MACHAMP_3, \ + FRONTIER_MON_WALREIN_3, \ + FRONTIER_MON_LAPRAS_3, \ + FRONTIER_MON_MEDICHAM_4, \ + FRONTIER_MON_JYNX_4, \ + FRONTIER_MON_HARIYAMA_4, \ + FRONTIER_MON_DEWGONG_4, \ + FRONTIER_MON_GLALIE_4, \ + FRONTIER_MON_MACHAMP_4, \ + FRONTIER_MON_WALREIN_4, \ + FRONTIER_MON_LAPRAS_4, \ + FRONTIER_MON_MACHAMP_5, \ + FRONTIER_MON_MACHAMP_6, \ + FRONTIER_MON_MACHAMP_7, \ + FRONTIER_MON_MACHAMP_8, \ + FRONTIER_MON_STARMIE_5, \ + FRONTIER_MON_STARMIE_6, \ + FRONTIER_MON_STARMIE_7, \ + FRONTIER_MON_STARMIE_8, \ + FRONTIER_MON_LAPRAS_5, \ + FRONTIER_MON_LAPRAS_6, \ + FRONTIER_MON_LAPRAS_7, \ + FRONTIER_MON_LAPRAS_8, \ + -1 + +#define FRONTIER_MONS_BUG_MANIAC_4 \ + FRONTIER_MON_SHEDINJA, \ + FRONTIER_MON_NINJASK_1, \ + FRONTIER_MON_PARASECT_2, \ + FRONTIER_MON_MASQUERAIN_2, \ + FRONTIER_MON_VENOMOTH_2, \ + FRONTIER_MON_NINJASK_2, \ + FRONTIER_MON_SCYTHER_2, \ + FRONTIER_MON_PINSIR_2, \ + FRONTIER_MON_FORRETRESS_1, \ + FRONTIER_MON_ARMALDO_1, \ + FRONTIER_MON_SCIZOR_1, \ + FRONTIER_MON_HERACROSS_1, \ + FRONTIER_MON_SHUCKLE_1, \ + FRONTIER_MON_FORRETRESS_2, \ + FRONTIER_MON_ARMALDO_2, \ + FRONTIER_MON_SCIZOR_2, \ + FRONTIER_MON_HERACROSS_2, \ + FRONTIER_MON_SHUCKLE_2, \ + FRONTIER_MON_FORRETRESS_3, \ + FRONTIER_MON_ARMALDO_3, \ + FRONTIER_MON_SCIZOR_3, \ + FRONTIER_MON_HERACROSS_3, \ + FRONTIER_MON_SHUCKLE_3, \ + FRONTIER_MON_FORRETRESS_4, \ + FRONTIER_MON_ARMALDO_4, \ + FRONTIER_MON_SCIZOR_4, \ + FRONTIER_MON_HERACROSS_4, \ + FRONTIER_MON_SHUCKLE_4, \ + -1 + +#define FRONTIER_MONS_FISHERMAN_3 \ + FRONTIER_MON_SEAKING_2, \ + FRONTIER_MON_SHARPEDO_2, \ + FRONTIER_MON_MANTINE_2, \ + FRONTIER_MON_CRAWDAUNT_2, \ + FRONTIER_MON_KINGLER_2, \ + FRONTIER_MON_OCTILLERY_2, \ + FRONTIER_MON_HUNTAIL_2, \ + FRONTIER_MON_GOREBYSS_2, \ + FRONTIER_MON_RELICANTH_2, \ + FRONTIER_MON_CLOYSTER_2, \ + FRONTIER_MON_LANTURN_1, \ + FRONTIER_MON_WHISCASH_1, \ + FRONTIER_MON_WAILORD_1, \ + FRONTIER_MON_TENTACRUEL_1, \ + FRONTIER_MON_STARMIE_1, \ + FRONTIER_MON_LANTURN_2, \ + FRONTIER_MON_WHISCASH_2, \ + FRONTIER_MON_WAILORD_2, \ + FRONTIER_MON_TENTACRUEL_2, \ + FRONTIER_MON_STARMIE_2, \ + FRONTIER_MON_LANTURN_3, \ + FRONTIER_MON_WHISCASH_3, \ + FRONTIER_MON_WAILORD_3, \ + FRONTIER_MON_TENTACRUEL_3, \ + FRONTIER_MON_STARMIE_3, \ + FRONTIER_MON_LANTURN_4, \ + FRONTIER_MON_WHISCASH_4, \ + FRONTIER_MON_WAILORD_4, \ + FRONTIER_MON_TENTACRUEL_4, \ + FRONTIER_MON_STARMIE_4, \ + FRONTIER_MON_STARMIE_5, \ + FRONTIER_MON_STARMIE_6, \ + FRONTIER_MON_STARMIE_7, \ + FRONTIER_MON_STARMIE_8, \ + -1 + +#define FRONTIER_MONS_RUIN_MANIAC_4 \ + FRONTIER_MON_FORRETRESS_1, \ + FRONTIER_MON_SKARMORY_1, \ + FRONTIER_MON_GOLEM_1, \ + FRONTIER_MON_RHYDON_1, \ + FRONTIER_MON_CRADILY_1, \ + FRONTIER_MON_ARMALDO_1, \ + FRONTIER_MON_SCIZOR_1, \ + FRONTIER_MON_SHUCKLE_1, \ + FRONTIER_MON_STEELIX_1, \ + FRONTIER_MON_AERODACTYL_1, \ + FRONTIER_MON_AGGRON_1, \ + FRONTIER_MON_METAGROSS_1, \ + FRONTIER_MON_FORRETRESS_2, \ + FRONTIER_MON_SKARMORY_2, \ + FRONTIER_MON_GOLEM_2, \ + FRONTIER_MON_RHYDON_2, \ + FRONTIER_MON_CRADILY_2, \ + FRONTIER_MON_ARMALDO_2, \ + FRONTIER_MON_SCIZOR_2, \ + FRONTIER_MON_SHUCKLE_2, \ + FRONTIER_MON_STEELIX_2, \ + FRONTIER_MON_AERODACTYL_2, \ + FRONTIER_MON_AGGRON_2, \ + FRONTIER_MON_METAGROSS_2, \ + FRONTIER_MON_FORRETRESS_3, \ + FRONTIER_MON_SKARMORY_3, \ + FRONTIER_MON_GOLEM_3, \ + FRONTIER_MON_RHYDON_3, \ + FRONTIER_MON_CRADILY_3, \ + FRONTIER_MON_ARMALDO_3, \ + FRONTIER_MON_SCIZOR_3, \ + FRONTIER_MON_SHUCKLE_3, \ + FRONTIER_MON_STEELIX_3, \ + FRONTIER_MON_AERODACTYL_3, \ + FRONTIER_MON_AGGRON_3, \ + FRONTIER_MON_METAGROSS_3, \ + FRONTIER_MON_FORRETRESS_4, \ + FRONTIER_MON_SKARMORY_4, \ + FRONTIER_MON_GOLEM_4, \ + FRONTIER_MON_RHYDON_4, \ + FRONTIER_MON_CRADILY_4, \ + FRONTIER_MON_ARMALDO_4, \ + FRONTIER_MON_SCIZOR_4, \ + FRONTIER_MON_SHUCKLE_4, \ + FRONTIER_MON_STEELIX_4, \ + FRONTIER_MON_AERODACTYL_4, \ + FRONTIER_MON_AGGRON_4, \ + FRONTIER_MON_METAGROSS_4, \ + FRONTIER_MON_REGIROCK_1, \ + FRONTIER_MON_REGICE_1, \ + FRONTIER_MON_REGISTEEL_1, \ + FRONTIER_MON_REGIROCK_2, \ + FRONTIER_MON_REGICE_2, \ + FRONTIER_MON_REGISTEEL_2, \ + FRONTIER_MON_REGIROCK_3, \ + FRONTIER_MON_REGICE_3, \ + FRONTIER_MON_REGISTEEL_3, \ + FRONTIER_MON_REGIROCK_4, \ + FRONTIER_MON_REGICE_4, \ + FRONTIER_MON_REGISTEEL_4, \ + FRONTIER_MON_METAGROSS_5, \ + FRONTIER_MON_METAGROSS_6, \ + FRONTIER_MON_METAGROSS_7, \ + FRONTIER_MON_METAGROSS_8, \ + FRONTIER_MON_REGIROCK_5, \ + FRONTIER_MON_REGIROCK_6, \ + FRONTIER_MON_REGICE_5, \ + FRONTIER_MON_REGICE_6, \ + FRONTIER_MON_REGISTEEL_5, \ + FRONTIER_MON_REGISTEEL_6, \ + -1 + +#define FRONTIER_MONS_COLLECTOR_3 \ + FRONTIER_MON_VENUSAUR_1, \ + FRONTIER_MON_MEGANIUM_1, \ + FRONTIER_MON_BLASTOISE_1, \ + FRONTIER_MON_FERALIGATR_1, \ + FRONTIER_MON_BLAZIKEN_1, \ + FRONTIER_MON_SCEPTILE_1, \ + FRONTIER_MON_CHARIZARD_1, \ + FRONTIER_MON_TYPHLOSION_1, \ + FRONTIER_MON_SWAMPERT_1, \ + FRONTIER_MON_VENUSAUR_2, \ + FRONTIER_MON_MEGANIUM_2, \ + FRONTIER_MON_BLASTOISE_2, \ + FRONTIER_MON_FERALIGATR_2, \ + FRONTIER_MON_BLAZIKEN_2, \ + FRONTIER_MON_SCEPTILE_2, \ + FRONTIER_MON_CHARIZARD_2, \ + FRONTIER_MON_TYPHLOSION_2, \ + FRONTIER_MON_SWAMPERT_2, \ + FRONTIER_MON_VENUSAUR_3, \ + FRONTIER_MON_MEGANIUM_3, \ + FRONTIER_MON_BLASTOISE_3, \ + FRONTIER_MON_FERALIGATR_3, \ + FRONTIER_MON_BLAZIKEN_3, \ + FRONTIER_MON_SCEPTILE_3, \ + FRONTIER_MON_CHARIZARD_3, \ + FRONTIER_MON_TYPHLOSION_3, \ + FRONTIER_MON_SWAMPERT_3, \ + FRONTIER_MON_VENUSAUR_4, \ + FRONTIER_MON_MEGANIUM_4, \ + FRONTIER_MON_BLASTOISE_4, \ + FRONTIER_MON_FERALIGATR_4, \ + FRONTIER_MON_BLAZIKEN_4, \ + FRONTIER_MON_SCEPTILE_4, \ + FRONTIER_MON_CHARIZARD_4, \ + FRONTIER_MON_TYPHLOSION_4, \ + FRONTIER_MON_SWAMPERT_4, \ + -1 + +#define FRONTIER_MONS_GUITARIST_3A \ + FRONTIER_MON_ABSOL_2, \ + FRONTIER_MON_LANTURN_1, \ + FRONTIER_MON_RAICHU_1, \ + FRONTIER_MON_MANECTRIC_1, \ + FRONTIER_MON_ELECTRODE_1, \ + FRONTIER_MON_SHIFTRY_1, \ + FRONTIER_MON_ELECTABUZZ_1, \ + FRONTIER_MON_AMPHAROS_1, \ + FRONTIER_MON_HOUNDOOM_1, \ + FRONTIER_MON_JOLTEON_1, \ + FRONTIER_MON_UMBREON_1, \ + FRONTIER_MON_LANTURN_2, \ + FRONTIER_MON_RAICHU_2, \ + FRONTIER_MON_MANECTRIC_2, \ + FRONTIER_MON_ELECTRODE_2, \ + FRONTIER_MON_SHIFTRY_2, \ + FRONTIER_MON_ELECTABUZZ_2, \ + FRONTIER_MON_AMPHAROS_2, \ + FRONTIER_MON_HOUNDOOM_2, \ + FRONTIER_MON_JOLTEON_2, \ + FRONTIER_MON_UMBREON_2, \ + FRONTIER_MON_LANTURN_3, \ + FRONTIER_MON_RAICHU_3, \ + FRONTIER_MON_MANECTRIC_3, \ + FRONTIER_MON_ELECTRODE_3, \ + FRONTIER_MON_SHIFTRY_3, \ + FRONTIER_MON_ELECTABUZZ_3, \ + FRONTIER_MON_AMPHAROS_3, \ + FRONTIER_MON_HOUNDOOM_3, \ + FRONTIER_MON_JOLTEON_3, \ + FRONTIER_MON_UMBREON_3, \ + FRONTIER_MON_LANTURN_4, \ + FRONTIER_MON_RAICHU_4, \ + FRONTIER_MON_MANECTRIC_4, \ + FRONTIER_MON_ELECTRODE_4, \ + FRONTIER_MON_SHIFTRY_4, \ + FRONTIER_MON_ELECTABUZZ_4, \ + FRONTIER_MON_AMPHAROS_4, \ + FRONTIER_MON_HOUNDOOM_4, \ + FRONTIER_MON_JOLTEON_4, \ + FRONTIER_MON_UMBREON_4, \ + FRONTIER_MON_ARTICUNO_1, \ + FRONTIER_MON_ZAPDOS_1, \ + FRONTIER_MON_MOLTRES_1, \ + FRONTIER_MON_ARTICUNO_2, \ + FRONTIER_MON_ZAPDOS_2, \ + FRONTIER_MON_MOLTRES_2, \ + FRONTIER_MON_ARTICUNO_3, \ + FRONTIER_MON_ZAPDOS_3, \ + FRONTIER_MON_MOLTRES_3, \ + FRONTIER_MON_ARTICUNO_4, \ + FRONTIER_MON_ZAPDOS_4, \ + FRONTIER_MON_MOLTRES_4, \ + FRONTIER_MON_ARTICUNO_5, \ + FRONTIER_MON_ARTICUNO_6, \ + FRONTIER_MON_ZAPDOS_5, \ + FRONTIER_MON_ZAPDOS_6, \ + FRONTIER_MON_MOLTRES_5, \ + FRONTIER_MON_MOLTRES_6, \ + -1 + +#define FRONTIER_MONS_GUITARIST_3B \ + FRONTIER_MON_MISDREAVUS_1, \ + FRONTIER_MON_GRANBULL_1, \ + FRONTIER_MON_LANTURN_1, \ + FRONTIER_MON_ALAKAZAM_1, \ + FRONTIER_MON_ELECTABUZZ_1, \ + FRONTIER_MON_AMPHAROS_1, \ + FRONTIER_MON_STARMIE_1, \ + FRONTIER_MON_JOLTEON_1, \ + FRONTIER_MON_GYARADOS_1, \ + FRONTIER_MON_MISDREAVUS_2, \ + FRONTIER_MON_ALAKAZAM_2, \ + FRONTIER_MON_SLOWKING_2, \ + FRONTIER_MON_MILTANK_2, \ + FRONTIER_MON_AMPHAROS_2, \ + FRONTIER_MON_PORYGON2_2, \ + FRONTIER_MON_AGGRON_2, \ + FRONTIER_MON_MISDREAVUS_3, \ + FRONTIER_MON_MANECTRIC_3, \ + FRONTIER_MON_ELECTRODE_3, \ + FRONTIER_MON_PORYGON2_3, \ + FRONTIER_MON_JOLTEON_3, \ + FRONTIER_MON_RAICHU_4, \ + FRONTIER_MON_MANECTRIC_4, \ + FRONTIER_MON_ELECTRODE_4, \ + FRONTIER_MON_AMPHAROS_4, \ + FRONTIER_MON_JOLTEON_4, \ + FRONTIER_MON_REGICE_3, \ + FRONTIER_MON_REGIROCK_4, \ + FRONTIER_MON_REGICE_4, \ + FRONTIER_MON_REGISTEEL_4, \ + FRONTIER_MON_STARMIE_6, \ + FRONTIER_MON_LATIAS_5, \ + FRONTIER_MON_LATIAS_6, \ + FRONTIER_MON_LATIOS_5, \ + FRONTIER_MON_LATIOS_6, \ + -1 + +#define FRONTIER_MONS_BIRD_KEEPER_3 \ + FRONTIER_MON_PIDGEOT_2, \ + FRONTIER_MON_FEAROW_1, \ + FRONTIER_MON_DODRIO_1, \ + FRONTIER_MON_XATU_1, \ + FRONTIER_MON_SKARMORY_1, \ + FRONTIER_MON_ALTARIA_1, \ + FRONTIER_MON_AERODACTYL_1, \ + FRONTIER_MON_FLYGON_1, \ + FRONTIER_MON_CHARIZARD_1, \ + FRONTIER_MON_CROBAT_1, \ + FRONTIER_MON_GYARADOS_1, \ + FRONTIER_MON_SALAMENCE_1, \ + FRONTIER_MON_FEAROW_2, \ + FRONTIER_MON_DODRIO_2, \ + FRONTIER_MON_SKARMORY_2, \ + FRONTIER_MON_XATU_2, \ + FRONTIER_MON_ALTARIA_2, \ + FRONTIER_MON_AERODACTYL_2, \ + FRONTIER_MON_FLYGON_2, \ + FRONTIER_MON_CHARIZARD_2, \ + FRONTIER_MON_CROBAT_2, \ + FRONTIER_MON_GYARADOS_2, \ + FRONTIER_MON_SALAMENCE_2, \ + FRONTIER_MON_FEAROW_3, \ + FRONTIER_MON_DODRIO_3, \ + FRONTIER_MON_XATU_3, \ + FRONTIER_MON_SKARMORY_3, \ + FRONTIER_MON_ALTARIA_3, \ + FRONTIER_MON_AERODACTYL_3, \ + FRONTIER_MON_FLYGON_3, \ + FRONTIER_MON_CHARIZARD_3, \ + FRONTIER_MON_CROBAT_3, \ + FRONTIER_MON_GYARADOS_3, \ + FRONTIER_MON_SALAMENCE_3, \ + FRONTIER_MON_FEAROW_4, \ + FRONTIER_MON_DODRIO_4, \ + FRONTIER_MON_XATU_4, \ + FRONTIER_MON_SKARMORY_4, \ + FRONTIER_MON_ALTARIA_4, \ + FRONTIER_MON_AERODACTYL_4, \ + FRONTIER_MON_FLYGON_4, \ + FRONTIER_MON_CHARIZARD_4, \ + FRONTIER_MON_CROBAT_4, \ + FRONTIER_MON_GYARADOS_4, \ + FRONTIER_MON_SALAMENCE_4, \ + FRONTIER_MON_ARTICUNO_1, \ + FRONTIER_MON_ZAPDOS_1, \ + FRONTIER_MON_MOLTRES_1, \ + FRONTIER_MON_ARTICUNO_2, \ + FRONTIER_MON_ZAPDOS_2, \ + FRONTIER_MON_MOLTRES_2, \ + FRONTIER_MON_ARTICUNO_3, \ + FRONTIER_MON_ZAPDOS_3, \ + FRONTIER_MON_MOLTRES_3, \ + FRONTIER_MON_ARTICUNO_4, \ + FRONTIER_MON_ZAPDOS_4, \ + FRONTIER_MON_MOLTRES_4, \ + FRONTIER_MON_SALAMENCE_5, \ + FRONTIER_MON_SALAMENCE_6, \ + FRONTIER_MON_SALAMENCE_7, \ + FRONTIER_MON_SALAMENCE_8, \ + -1 + +#define FRONTIER_MONS_SAILOR_3 \ + FRONTIER_MON_MEDICHAM_1, \ + FRONTIER_MON_QUAGSIRE_1, \ + FRONTIER_MON_HARIYAMA_1, \ + FRONTIER_MON_DEWGONG_1, \ + FRONTIER_MON_LUDICOLO_1, \ + FRONTIER_MON_SLOWBRO_1, \ + FRONTIER_MON_SLOWKING_1, \ + FRONTIER_MON_GOLDUCK_1, \ + FRONTIER_MON_MACHAMP_1, \ + FRONTIER_MON_VAPOREON_1, \ + FRONTIER_MON_BLASTOISE_1, \ + FRONTIER_MON_FERALIGATR_1, \ + FRONTIER_MON_WALREIN_1, \ + FRONTIER_MON_LAPRAS_1, \ + FRONTIER_MON_SWAMPERT_1, \ + FRONTIER_MON_GYARADOS_1, \ + FRONTIER_MON_KINGDRA_1, \ + FRONTIER_MON_MILOTIC_1, \ + FRONTIER_MON_MEDICHAM_2, \ + FRONTIER_MON_QUAGSIRE_2, \ + FRONTIER_MON_HARIYAMA_2, \ + FRONTIER_MON_DEWGONG_2, \ + FRONTIER_MON_LUDICOLO_2, \ + FRONTIER_MON_SLOWBRO_2, \ + FRONTIER_MON_SLOWKING_2, \ + FRONTIER_MON_GOLDUCK_2, \ + FRONTIER_MON_MACHAMP_2, \ + FRONTIER_MON_VAPOREON_2, \ + FRONTIER_MON_BLASTOISE_2, \ + FRONTIER_MON_FERALIGATR_2, \ + FRONTIER_MON_WALREIN_2, \ + FRONTIER_MON_LAPRAS_2, \ + FRONTIER_MON_SWAMPERT_2, \ + FRONTIER_MON_GYARADOS_2, \ + FRONTIER_MON_KINGDRA_2, \ + FRONTIER_MON_MILOTIC_2, \ + FRONTIER_MON_MEDICHAM_3, \ + FRONTIER_MON_QUAGSIRE_3, \ + FRONTIER_MON_HARIYAMA_3, \ + FRONTIER_MON_DEWGONG_3, \ + FRONTIER_MON_LUDICOLO_3, \ + FRONTIER_MON_SLOWBRO_3, \ + FRONTIER_MON_SLOWKING_3, \ + FRONTIER_MON_GOLDUCK_3, \ + FRONTIER_MON_MACHAMP_3, \ + FRONTIER_MON_VAPOREON_3, \ + FRONTIER_MON_BLASTOISE_3, \ + FRONTIER_MON_FERALIGATR_3, \ + FRONTIER_MON_WALREIN_3, \ + FRONTIER_MON_LAPRAS_3, \ + FRONTIER_MON_SWAMPERT_3, \ + FRONTIER_MON_GYARADOS_3, \ + FRONTIER_MON_KINGDRA_3, \ + FRONTIER_MON_MILOTIC_3, \ + FRONTIER_MON_MEDICHAM_4, \ + FRONTIER_MON_QUAGSIRE_4, \ + FRONTIER_MON_HARIYAMA_4, \ + FRONTIER_MON_DEWGONG_4, \ + FRONTIER_MON_LUDICOLO_4, \ + FRONTIER_MON_SLOWBRO_4, \ + FRONTIER_MON_SLOWKING_4, \ + FRONTIER_MON_GOLDUCK_4, \ + FRONTIER_MON_MACHAMP_4, \ + FRONTIER_MON_VAPOREON_4, \ + FRONTIER_MON_BLASTOISE_4, \ + FRONTIER_MON_FERALIGATR_4, \ + FRONTIER_MON_WALREIN_4, \ + FRONTIER_MON_LAPRAS_4, \ + FRONTIER_MON_SWAMPERT_4, \ + FRONTIER_MON_GYARADOS_4, \ + FRONTIER_MON_KINGDRA_4, \ + FRONTIER_MON_MILOTIC_4, \ + FRONTIER_MON_MACHAMP_5, \ + FRONTIER_MON_MACHAMP_6, \ + FRONTIER_MON_MACHAMP_7, \ + FRONTIER_MON_MACHAMP_8, \ + FRONTIER_MON_LAPRAS_5, \ + FRONTIER_MON_LAPRAS_6, \ + FRONTIER_MON_LAPRAS_7, \ + FRONTIER_MON_LAPRAS_8, \ + -1 + +#define FRONTIER_MONS_HIKER_3 \ + FRONTIER_MON_DUGTRIO_1, \ + FRONTIER_MON_MAROWAK_1, \ + FRONTIER_MON_GOLEM_1, \ + FRONTIER_MON_RHYDON_1, \ + FRONTIER_MON_NIDOQUEEN_1, \ + FRONTIER_MON_NIDOKING_1, \ + FRONTIER_MON_CRADILY_1, \ + FRONTIER_MON_ARMALDO_1, \ + FRONTIER_MON_DONPHAN_1, \ + FRONTIER_MON_CLAYDOL_1, \ + FRONTIER_MON_SHUCKLE_1, \ + FRONTIER_MON_STEELIX_1, \ + FRONTIER_MON_AERODACTYL_1, \ + FRONTIER_MON_FLYGON_1, \ + FRONTIER_MON_AGGRON_1, \ + FRONTIER_MON_METAGROSS_1, \ + FRONTIER_MON_DUGTRIO_2, \ + FRONTIER_MON_MAROWAK_2, \ + FRONTIER_MON_GOLEM_2, \ + FRONTIER_MON_RHYDON_2, \ + FRONTIER_MON_NIDOQUEEN_2, \ + FRONTIER_MON_NIDOKING_2, \ + FRONTIER_MON_CRADILY_2, \ + FRONTIER_MON_ARMALDO_2, \ + FRONTIER_MON_DONPHAN_2, \ + FRONTIER_MON_CLAYDOL_2, \ + FRONTIER_MON_SHUCKLE_2, \ + FRONTIER_MON_STEELIX_2, \ + FRONTIER_MON_AERODACTYL_2, \ + FRONTIER_MON_FLYGON_2, \ + FRONTIER_MON_AGGRON_2, \ + FRONTIER_MON_METAGROSS_2, \ + FRONTIER_MON_DUGTRIO_3, \ + FRONTIER_MON_MAROWAK_3, \ + FRONTIER_MON_GOLEM_3, \ + FRONTIER_MON_RHYDON_3, \ + FRONTIER_MON_NIDOQUEEN_3, \ + FRONTIER_MON_NIDOKING_3, \ + FRONTIER_MON_CRADILY_3, \ + FRONTIER_MON_ARMALDO_3, \ + FRONTIER_MON_DONPHAN_3, \ + FRONTIER_MON_CLAYDOL_3, \ + FRONTIER_MON_SHUCKLE_3, \ + FRONTIER_MON_STEELIX_3, \ + FRONTIER_MON_AERODACTYL_3, \ + FRONTIER_MON_FLYGON_3, \ + FRONTIER_MON_AGGRON_3, \ + FRONTIER_MON_METAGROSS_3, \ + FRONTIER_MON_DUGTRIO_4, \ + FRONTIER_MON_MAROWAK_4, \ + FRONTIER_MON_GOLEM_4, \ + FRONTIER_MON_RHYDON_4, \ + FRONTIER_MON_NIDOQUEEN_4, \ + FRONTIER_MON_NIDOKING_4, \ + FRONTIER_MON_CRADILY_4, \ + FRONTIER_MON_ARMALDO_4, \ + FRONTIER_MON_DONPHAN_4, \ + FRONTIER_MON_CLAYDOL_4, \ + FRONTIER_MON_SHUCKLE_4, \ + FRONTIER_MON_STEELIX_4, \ + FRONTIER_MON_AERODACTYL_4, \ + FRONTIER_MON_FLYGON_4, \ + FRONTIER_MON_AGGRON_4, \ + FRONTIER_MON_METAGROSS_4, \ + FRONTIER_MON_METAGROSS_5, \ + FRONTIER_MON_METAGROSS_6, \ + FRONTIER_MON_METAGROSS_7, \ + FRONTIER_MON_METAGROSS_8, \ + FRONTIER_MON_TYRANITAR_1, \ + FRONTIER_MON_TYRANITAR_2, \ + FRONTIER_MON_TYRANITAR_3, \ + FRONTIER_MON_TYRANITAR_4, \ + FRONTIER_MON_TYRANITAR_5, \ + FRONTIER_MON_TYRANITAR_6, \ + FRONTIER_MON_TYRANITAR_7, \ + FRONTIER_MON_TYRANITAR_8, \ + FRONTIER_MON_TYRANITAR_9, \ + FRONTIER_MON_TYRANITAR_10, \ + -1 + +#define FRONTIER_MONS_KINDLER_3 \ + FRONTIER_MON_MISDREAVUS_1, \ + FRONTIER_MON_DUSCLOPS_1, \ + FRONTIER_MON_MAGMAR_1, \ + FRONTIER_MON_RAPIDASH_1, \ + FRONTIER_MON_GENGAR_1, \ + FRONTIER_MON_HOUNDOOM_1, \ + FRONTIER_MON_NINETALES_1, \ + FRONTIER_MON_FLAREON_1, \ + FRONTIER_MON_BLAZIKEN_1, \ + FRONTIER_MON_CHARIZARD_1, \ + FRONTIER_MON_TYPHLOSION_1, \ + FRONTIER_MON_ARCANINE_1, \ + FRONTIER_MON_MISDREAVUS_2, \ + FRONTIER_MON_DUSCLOPS_2, \ + FRONTIER_MON_MAGMAR_2, \ + FRONTIER_MON_RAPIDASH_2, \ + FRONTIER_MON_GENGAR_2, \ + FRONTIER_MON_HOUNDOOM_2, \ + FRONTIER_MON_NINETALES_2, \ + FRONTIER_MON_FLAREON_2, \ + FRONTIER_MON_BLAZIKEN_2, \ + FRONTIER_MON_CHARIZARD_2, \ + FRONTIER_MON_TYPHLOSION_2, \ + FRONTIER_MON_ARCANINE_2, \ + FRONTIER_MON_MISDREAVUS_3, \ + FRONTIER_MON_DUSCLOPS_3, \ + FRONTIER_MON_MAGMAR_3, \ + FRONTIER_MON_RAPIDASH_3, \ + FRONTIER_MON_GENGAR_3, \ + FRONTIER_MON_HOUNDOOM_3, \ + FRONTIER_MON_NINETALES_3, \ + FRONTIER_MON_FLAREON_3, \ + FRONTIER_MON_BLAZIKEN_3, \ + FRONTIER_MON_CHARIZARD_3, \ + FRONTIER_MON_TYPHLOSION_3, \ + FRONTIER_MON_ARCANINE_3, \ + FRONTIER_MON_MISDREAVUS_4, \ + FRONTIER_MON_DUSCLOPS_4, \ + FRONTIER_MON_MAGMAR_4, \ + FRONTIER_MON_RAPIDASH_4, \ + FRONTIER_MON_GENGAR_4, \ + FRONTIER_MON_HOUNDOOM_4, \ + FRONTIER_MON_NINETALES_4, \ + FRONTIER_MON_FLAREON_4, \ + FRONTIER_MON_BLAZIKEN_4, \ + FRONTIER_MON_CHARIZARD_4, \ + FRONTIER_MON_TYPHLOSION_4, \ + FRONTIER_MON_ARCANINE_4, \ + FRONTIER_MON_GENGAR_5, \ + FRONTIER_MON_GENGAR_6, \ + FRONTIER_MON_GENGAR_7, \ + FRONTIER_MON_GENGAR_8, \ + FRONTIER_MON_DRAGONITE_1, \ + FRONTIER_MON_DRAGONITE_2, \ + FRONTIER_MON_DRAGONITE_3, \ + FRONTIER_MON_DRAGONITE_4, \ + FRONTIER_MON_DRAGONITE_5, \ + FRONTIER_MON_DRAGONITE_6, \ + FRONTIER_MON_DRAGONITE_7, \ + FRONTIER_MON_DRAGONITE_8, \ + FRONTIER_MON_DRAGONITE_9, \ + FRONTIER_MON_DRAGONITE_10, \ + -1 + +#define FRONTIER_MONS_PARASOL_LADY_3 \ + FRONTIER_MON_GLALIE_1, \ + FRONTIER_MON_LUDICOLO_1, \ + FRONTIER_MON_SLOWBRO_1, \ + FRONTIER_MON_AMPHAROS_1, \ + FRONTIER_MON_EXEGGUTOR_1, \ + FRONTIER_MON_VENUSAUR_1, \ + FRONTIER_MON_MEGANIUM_1, \ + FRONTIER_MON_BLASTOISE_1, \ + FRONTIER_MON_FERALIGATR_1, \ + FRONTIER_MON_BLAZIKEN_1, \ + FRONTIER_MON_WALREIN_1, \ + FRONTIER_MON_CHARIZARD_1, \ + FRONTIER_MON_TYPHLOSION_1, \ + FRONTIER_MON_MANECTRIC_2, \ + FRONTIER_MON_ELECTRODE_2, \ + FRONTIER_MON_EXPLOUD_2, \ + FRONTIER_MON_ELECTABUZZ_2, \ + FRONTIER_MON_NINETALES_2, \ + FRONTIER_MON_PORYGON2_2, \ + FRONTIER_MON_STARMIE_2, \ + FRONTIER_MON_FLYGON_2, \ + FRONTIER_MON_ARCANINE_2, \ + FRONTIER_MON_LANTURN_3, \ + FRONTIER_MON_RAICHU_3, \ + FRONTIER_MON_SHIFTRY_3, \ + FRONTIER_MON_LUDICOLO_3, \ + FRONTIER_MON_CRADILY_3, \ + FRONTIER_MON_RAPIDASH_3, \ + FRONTIER_MON_CLAYDOL_3, \ + FRONTIER_MON_GYARADOS_3, \ + FRONTIER_MON_VILEPLUME_4, \ + FRONTIER_MON_LUDICOLO_4, \ + FRONTIER_MON_HOUNDOOM_4, \ + FRONTIER_MON_VENUSAUR_4, \ + FRONTIER_MON_FLAREON_4, \ + -1 + +// Only used by one Beauty +#define FRONTIER_MONS_EEVEELUTIONS \ + FRONTIER_MON_VAPOREON_1, \ + FRONTIER_MON_JOLTEON_1, \ + FRONTIER_MON_FLAREON_1, \ + FRONTIER_MON_ESPEON_1, \ + FRONTIER_MON_UMBREON_1, \ + FRONTIER_MON_VAPOREON_2, \ + FRONTIER_MON_JOLTEON_2, \ + FRONTIER_MON_FLAREON_2, \ + FRONTIER_MON_ESPEON_2, \ + FRONTIER_MON_UMBREON_2, \ + FRONTIER_MON_VAPOREON_3, \ + FRONTIER_MON_JOLTEON_3, \ + FRONTIER_MON_FLAREON_3, \ + FRONTIER_MON_ESPEON_3, \ + FRONTIER_MON_UMBREON_3, \ + FRONTIER_MON_VAPOREON_4, \ + FRONTIER_MON_JOLTEON_4, \ + FRONTIER_MON_FLAREON_4, \ + FRONTIER_MON_ESPEON_4, \ + FRONTIER_MON_UMBREON_4, \ + -1 + +#define FRONTIER_MONS_BEAUTY_2 \ + FRONTIER_MON_JYNX_1, \ + FRONTIER_MON_LANTURN_1, \ + FRONTIER_MON_SLOWKING_1, \ + FRONTIER_MON_GENGAR_1, \ + FRONTIER_MON_AMPHAROS_1, \ + FRONTIER_MON_JOLTEON_1, \ + FRONTIER_MON_LAPRAS_1, \ + FRONTIER_MON_SNORLAX_1, \ + FRONTIER_MON_KINGDRA_1, \ + FRONTIER_MON_QUAGSIRE_2, \ + FRONTIER_MON_MISDREAVUS_2, \ + FRONTIER_MON_FEAROW_2, \ + FRONTIER_MON_XATU_2, \ + FRONTIER_MON_VICTREEBEL_2, \ + FRONTIER_MON_KANGASKHAN_2, \ + FRONTIER_MON_ELECTABUZZ_2, \ + FRONTIER_MON_MILTANK_2, \ + FRONTIER_MON_ALTARIA_2, \ + FRONTIER_MON_RAPIDASH_2, \ + FRONTIER_MON_HERACROSS_2, \ + FRONTIER_MON_FLAREON_2, \ + FRONTIER_MON_SCEPTILE_2, \ + FRONTIER_MON_JYNX_3, \ + FRONTIER_MON_BRELOOM_3, \ + FRONTIER_MON_RAICHU_3, \ + FRONTIER_MON_VILEPLUME_3, \ + FRONTIER_MON_SLOWBRO_3, \ + FRONTIER_MON_NINETALES_3, \ + FRONTIER_MON_SHUCKLE_3, \ + FRONTIER_MON_UMBREON_3, \ + FRONTIER_MON_WALREIN_3, \ + FRONTIER_MON_MILOTIC_3, \ + FRONTIER_MON_ESPEON_4, \ + FRONTIER_MON_URSARING_5, \ + FRONTIER_MON_MACHAMP_7, \ + FRONTIER_MON_GARDEVOIR_8, \ + FRONTIER_MON_LAPRAS_8, \ + FRONTIER_MON_SALAMENCE_8, \ + FRONTIER_MON_LATIAS_6, \ + -1 + +#define FRONTIER_MONS_AROMA_LADY_3 \ + FRONTIER_MON_WOBBUFFET_1, \ + FRONTIER_MON_WOBBUFFET_2, \ + FRONTIER_MON_SUNFLORA_2, \ + FRONTIER_MON_JUMPLUFF_2, \ + FRONTIER_MON_TROPIUS_2, \ + FRONTIER_MON_CACTURNE_2, \ + FRONTIER_MON_BELLOSSOM_2, \ + FRONTIER_MON_JYNX_1, \ + FRONTIER_MON_MR_MIME_1, \ + FRONTIER_MON_BRELOOM_1, \ + FRONTIER_MON_XATU_1, \ + FRONTIER_MON_VILEPLUME_1, \ + FRONTIER_MON_VICTREEBEL_1, \ + FRONTIER_MON_SHIFTRY_1, \ + FRONTIER_MON_LUDICOLO_1, \ + FRONTIER_MON_HYPNO_1, \ + FRONTIER_MON_ALAKAZAM_1, \ + FRONTIER_MON_SLOWBRO_1, \ + FRONTIER_MON_SLOWKING_1, \ + FRONTIER_MON_CRADILY_1, \ + FRONTIER_MON_GARDEVOIR_1, \ + FRONTIER_MON_EXEGGUTOR_1, \ + FRONTIER_MON_STARMIE_1, \ + FRONTIER_MON_VENUSAUR_1, \ + FRONTIER_MON_MEGANIUM_1, \ + FRONTIER_MON_ESPEON_1, \ + FRONTIER_MON_SCEPTILE_1, \ + FRONTIER_MON_JYNX_2, \ + FRONTIER_MON_MR_MIME_2, \ + FRONTIER_MON_BRELOOM_2, \ + FRONTIER_MON_XATU_2, \ + FRONTIER_MON_VILEPLUME_2, \ + FRONTIER_MON_VICTREEBEL_2, \ + FRONTIER_MON_SHIFTRY_2, \ + FRONTIER_MON_LUDICOLO_2, \ + FRONTIER_MON_HYPNO_2, \ + FRONTIER_MON_ALAKAZAM_2, \ + FRONTIER_MON_SLOWBRO_2, \ + FRONTIER_MON_SLOWKING_2, \ + FRONTIER_MON_CRADILY_2, \ + FRONTIER_MON_GARDEVOIR_2, \ + FRONTIER_MON_EXEGGUTOR_2, \ + FRONTIER_MON_STARMIE_2, \ + FRONTIER_MON_VENUSAUR_2, \ + FRONTIER_MON_MEGANIUM_2, \ + FRONTIER_MON_ESPEON_2, \ + FRONTIER_MON_SCEPTILE_2, \ + FRONTIER_MON_JYNX_3, \ + FRONTIER_MON_MR_MIME_3, \ + FRONTIER_MON_BRELOOM_3, \ + FRONTIER_MON_XATU_3, \ + FRONTIER_MON_VILEPLUME_3, \ + FRONTIER_MON_VICTREEBEL_3, \ + FRONTIER_MON_SHIFTRY_3, \ + FRONTIER_MON_LUDICOLO_3, \ + FRONTIER_MON_HYPNO_3, \ + FRONTIER_MON_ALAKAZAM_3, \ + FRONTIER_MON_SLOWBRO_3, \ + FRONTIER_MON_SLOWKING_3, \ + FRONTIER_MON_CRADILY_3, \ + FRONTIER_MON_GARDEVOIR_3, \ + FRONTIER_MON_EXEGGUTOR_3, \ + FRONTIER_MON_STARMIE_3, \ + FRONTIER_MON_VENUSAUR_3, \ + FRONTIER_MON_MEGANIUM_3, \ + FRONTIER_MON_ESPEON_3, \ + FRONTIER_MON_SCEPTILE_3, \ + FRONTIER_MON_JYNX_4, \ + FRONTIER_MON_MR_MIME_4, \ + FRONTIER_MON_BRELOOM_4, \ + FRONTIER_MON_XATU_4, \ + FRONTIER_MON_VILEPLUME_4, \ + FRONTIER_MON_VICTREEBEL_4, \ + FRONTIER_MON_SHIFTRY_4, \ + FRONTIER_MON_LUDICOLO_4, \ + FRONTIER_MON_HYPNO_4, \ + FRONTIER_MON_ALAKAZAM_4, \ + FRONTIER_MON_SLOWBRO_4, \ + FRONTIER_MON_SLOWKING_4, \ + FRONTIER_MON_CRADILY_4, \ + FRONTIER_MON_GARDEVOIR_4, \ + FRONTIER_MON_EXEGGUTOR_4, \ + FRONTIER_MON_STARMIE_4, \ + FRONTIER_MON_VENUSAUR_4, \ + FRONTIER_MON_MEGANIUM_4, \ + FRONTIER_MON_ESPEON_4, \ + FRONTIER_MON_SCEPTILE_4, \ + FRONTIER_MON_GARDEVOIR_5, \ + FRONTIER_MON_GARDEVOIR_6, \ + FRONTIER_MON_GARDEVOIR_7, \ + FRONTIER_MON_GARDEVOIR_8, \ + FRONTIER_MON_STARMIE_5, \ + FRONTIER_MON_STARMIE_6, \ + FRONTIER_MON_STARMIE_7, \ + FRONTIER_MON_STARMIE_8, \ + -1 + const u16 gBattleFrontierTrainerMons_Brady[] = { - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 10, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_1 }; const u16 gBattleFrontierTrainerMons_Conner[] = { - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 10, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_1 }; const u16 gBattleFrontierTrainerMons_Bradley[] = { - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 10, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_1 }; const u16 gBattleFrontierTrainerMons_Cybil[] = { - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 10, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_1 }; const u16 gBattleFrontierTrainerMons_Rodette[] = { - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 10, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_1 }; const u16 gBattleFrontierTrainerMons_Peggy[] = { - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 10, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_1 }; const u16 gBattleFrontierTrainerMons_Keith[] = { - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - -1 + FRONTIER_MONS_SCHOOL_KID_1 }; const u16 gBattleFrontierTrainerMons_Grayson[] = { - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - -1 + FRONTIER_MONS_SCHOOL_KID_1 }; const u16 gBattleFrontierTrainerMons_Glenn[] = { - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - -1 + FRONTIER_MONS_SCHOOL_KID_1 }; const u16 gBattleFrontierTrainerMons_Liliana[] = { - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - -1 + FRONTIER_MONS_SCHOOL_KID_1 }; const u16 gBattleFrontierTrainerMons_Elise[] = { - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - -1 + FRONTIER_MONS_SCHOOL_KID_1 }; const u16 gBattleFrontierTrainerMons_Zoey[] = { - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - -1 + FRONTIER_MONS_SCHOOL_KID_1 }; const u16 gBattleFrontierTrainerMons_Manuel[] = { - 5, - 20, - 21, - 25, - 27, - 35, - 46, - 47, - 48, - 50, - 53, - 62, - 63, - 69, - 75, - 78, - 79, - 80, - 84, - 90, - 92, - 99, - 100, - 102, - 106, - 110, - 112, - 114, - 119, - 121, - 124, - 127, - 146, - 147, - 154, - 158, - 160, - -1 + FRONTIER_MONS_RICH_BOY_LADY_1 }; const u16 gBattleFrontierTrainerMons_Russ[] = { - 5, - 20, - 21, - 25, - 27, - 35, - 46, - 47, - 48, - 50, - 53, - 62, - 63, - 69, - 75, - 78, - 79, - 80, - 84, - 90, - 92, - 99, - 100, - 102, - 106, - 110, - 112, - 114, - 119, - 121, - 124, - 127, - 146, - 147, - 154, - 158, - 160, - -1 + FRONTIER_MONS_RICH_BOY_LADY_1 }; const u16 gBattleFrontierTrainerMons_Dustin[] = { - 5, - 20, - 21, - 25, - 27, - 35, - 46, - 47, - 48, - 50, - 53, - 62, - 63, - 69, - 75, - 78, - 79, - 80, - 84, - 90, - 92, - 99, - 100, - 102, - 106, - 110, - 112, - 114, - 119, - 121, - 124, - 127, - 146, - 147, - 154, - 158, - 160, - -1 + FRONTIER_MONS_RICH_BOY_LADY_1 }; const u16 gBattleFrontierTrainerMons_Tina[] = { - 5, - 20, - 21, - 25, - 27, - 35, - 46, - 47, - 48, - 50, - 53, - 62, - 63, - 69, - 75, - 78, - 79, - 80, - 84, - 90, - 92, - 99, - 100, - 102, - 106, - 110, - 112, - 114, - 119, - 121, - 124, - 127, - 146, - 147, - 154, - 158, - 160, - -1 + FRONTIER_MONS_RICH_BOY_LADY_1 }; const u16 gBattleFrontierTrainerMons_Gillian[] = { - 5, - 20, - 21, - 25, - 27, - 35, - 46, - 47, - 48, - 50, - 53, - 62, - 63, - 69, - 75, - 78, - 79, - 80, - 84, - 90, - 92, - 99, - 100, - 102, - 106, - 110, - 112, - 114, - 119, - 121, - 124, - 127, - 146, - 147, - 154, - 158, - 160, - -1 + FRONTIER_MONS_RICH_BOY_LADY_1 }; const u16 gBattleFrontierTrainerMons_Zoe[] = { - 5, - 20, - 21, - 25, - 27, - 35, - 46, - 47, - 48, - 50, - 53, - 62, - 63, - 69, - 75, - 78, - 79, - 80, - 84, - 90, - 92, - 99, - 100, - 102, - 106, - 110, - 112, - 114, - 119, - 121, - 124, - 127, - 146, - 147, - 154, - 158, - 160, - -1 + FRONTIER_MONS_RICH_BOY_LADY_1 }; const u16 gBattleFrontierTrainerMons_Chen[] = { - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_CAMPER_PICNICKER_1 }; const u16 gBattleFrontierTrainerMons_Al[] = { - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_CAMPER_PICNICKER_1 }; const u16 gBattleFrontierTrainerMons_Mitch[] = { - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_CAMPER_PICNICKER_1 }; const u16 gBattleFrontierTrainerMons_Anne[] = { - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_CAMPER_PICNICKER_1 }; const u16 gBattleFrontierTrainerMons_Alize[] = { - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_CAMPER_PICNICKER_1 }; const u16 gBattleFrontierTrainerMons_Lauren[] = { - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_CAMPER_PICNICKER_1 }; const u16 gBattleFrontierTrainerMons_Kipp[] = { - 5, - 6, - 7, - 14, - 19, - 28, - 35, - 42, - 45, - 48, - 50, - 55, - 59, - 60, - 68, - 73, - 83, - 84, - 86, - 87, - 90, - 96, - 97, - 98, - 99, - 103, - 105, - 106, - 109, - 112, - 114, - 121, - -1 + FRONTIER_MONS_TUBER_1 }; const u16 gBattleFrontierTrainerMons_Jason[] = { - 5, - 6, - 7, - 14, - 19, - 28, - 35, - 42, - 45, - 48, - 50, - 55, - 59, - 60, - 68, - 73, - 83, - 84, - 86, - 87, - 90, - 96, - 97, - 98, - 99, - 103, - 105, - 106, - 109, - 112, - 114, - 121, - -1 + FRONTIER_MONS_TUBER_1 }; const u16 gBattleFrontierTrainerMons_John[] = { - 5, - 6, - 7, - 14, - 19, - 28, - 35, - 42, - 45, - 48, - 50, - 55, - 59, - 60, - 68, - 73, - 83, - 84, - 86, - 87, - 90, - 96, - 97, - 98, - 99, - 103, - 105, - 106, - 109, - 112, - 114, - 121, - -1 + FRONTIER_MONS_TUBER_1 }; const u16 gBattleFrontierTrainerMons_Ann[] = { - 5, - 6, - 7, - 14, - 19, - 28, - 35, - 42, - 45, - 48, - 50, - 55, - 59, - 60, - 68, - 73, - 83, - 84, - 86, - 87, - 90, - 96, - 97, - 98, - 99, - 103, - 105, - 106, - 109, - 112, - 114, - 121, - -1 + FRONTIER_MONS_TUBER_1 }; const u16 gBattleFrontierTrainerMons_Eileen[] = { - 5, - 6, - 7, - 14, - 19, - 28, - 35, - 42, - 45, - 48, - 50, - 55, - 59, - 60, - 68, - 73, - 83, - 84, - 86, - 87, - 90, - 96, - 97, - 98, - 99, - 103, - 105, - 106, - 109, - 112, - 114, - 121, - -1 + FRONTIER_MONS_TUBER_1 }; const u16 gBattleFrontierTrainerMons_Carlie[] = { - 5, - 6, - 7, - 14, - 19, - 28, - 35, - 42, - 45, - 48, - 50, - 55, - 59, - 60, - 68, - 73, - 83, - 84, - 86, - 87, - 90, - 96, - 97, - 98, - 99, - 103, - 105, - 106, - 109, - 112, - 114, - 121, - -1 + FRONTIER_MONS_TUBER_1 }; const u16 gBattleFrontierTrainerMons_Gordon[] = { - 1, - 13, - 15, - 16, - 17, - 22, - 23, - 24, - 26, - 32, - 34, - 36, - 43, - 50, - 51, - 54, - 56, - 68, - 72, - 73, - 81, - 82, - 83, - 86, - 87, - 96, - 97, - 98, - 99, - 103, - 105, - 107, - 109, - 111, - 113, - 116, - 117, - 123, - 124, - 128, - 131, - 134, - 138, - 139, - 142, - 144, - 145, - 151, - 152, - 155, - -1 + FRONTIER_MONS_SWIMMER_M_1 }; const u16 gBattleFrontierTrainerMons_Ayden[] = { - 1, - 13, - 15, - 16, - 17, - 22, - 23, - 24, - 26, - 32, - 34, - 36, - 43, - 50, - 51, - 54, - 56, - 68, - 72, - 73, - 81, - 82, - 83, - 86, - 87, - 96, - 97, - 98, - 99, - 103, - 105, - 107, - 109, - 111, - 113, - 116, - 117, - 123, - 124, - 128, - 131, - 134, - 138, - 139, - 142, - 144, - 145, - 151, - 152, - 155, - -1 + FRONTIER_MONS_SWIMMER_M_1 }; const u16 gBattleFrontierTrainerMons_Marco[] = { - 1, - 13, - 15, - 16, - 17, - 22, - 23, - 24, - 26, - 32, - 34, - 36, - 43, - 50, - 51, - 54, - 56, - 68, - 72, - 73, - 81, - 82, - 83, - 86, - 87, - 96, - 97, - 98, - 99, - 103, - 105, - 107, - 109, - 111, - 113, - 116, - 117, - 123, - 124, - 128, - 131, - 134, - 138, - 139, - 142, - 144, - 145, - 151, - 152, - 155, - -1 + FRONTIER_MONS_SWIMMER_M_1 }; const u16 gBattleFrontierTrainerMons_Cierra[] = { - 1, - 13, - 16, - 17, - 23, - 24, - 26, - 32, - 34, - 36, - 43, - 51, - 54, - 56, - 68, - 72, - 73, - 76, - 83, - 84, - 86, - 87, - 96, - 97, - 98, - 99, - 103, - 105, - 107, - 109, - 111, - 113, - 116, - 117, - 118, - 123, - 124, - 128, - 131, - 134, - 138, - 139, - 142, - 144, - 145, - 151, - 155, - -1 + FRONTIER_MONS_SWIMMER_F_1 }; const u16 gBattleFrontierTrainerMons_Marcy[] = { - 1, - 13, - 16, - 17, - 23, - 24, - 26, - 32, - 34, - 36, - 43, - 51, - 54, - 56, - 68, - 72, - 73, - 76, - 83, - 84, - 86, - 87, - 96, - 97, - 98, - 99, - 103, - 105, - 107, - 109, - 111, - 113, - 116, - 117, - 118, - 123, - 124, - 128, - 131, - 134, - 138, - 139, - 142, - 144, - 145, - 151, - 155, - -1 + FRONTIER_MONS_SWIMMER_F_1 }; const u16 gBattleFrontierTrainerMons_Kathy[] = { - 1, - 13, - 16, - 17, - 23, - 24, - 26, - 32, - 34, - 36, - 43, - 51, - 54, - 56, - 68, - 72, - 73, - 76, - 83, - 84, - 86, - 87, - 96, - 97, - 98, - 99, - 103, - 105, - 107, - 109, - 111, - 113, - 116, - 117, - 118, - 123, - 124, - 128, - 131, - 134, - 138, - 139, - 142, - 144, - 145, - 151, - 155, - -1 + FRONTIER_MONS_SWIMMER_F_1 }; const u16 gBattleFrontierTrainerMons_Peyton[] = { - 84, - 85, - 87, - 88, - 89, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 105, - 106, - 107, - 109, - 112, - 113, - 117, - 120, - 121, - 123, - 129, - 134, - 142, - 143, - 145, - 148, - 149, - 151, - 152, - 155, - -1 + FRONTIER_MONS_POKEFAN_M_1 }; const u16 gBattleFrontierTrainerMons_Julian[] = { - 84, - 85, - 87, - 88, - 89, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 105, - 106, - 107, - 109, - 112, - 113, - 117, - 120, - 121, - 123, - 129, - 134, - 142, - 143, - 145, - 148, - 149, - 151, - 152, - 155, - -1 + FRONTIER_MONS_POKEFAN_M_1 }; const u16 gBattleFrontierTrainerMons_Quinn[] = { - 84, - 85, - 87, - 88, - 89, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 105, - 106, - 107, - 109, - 112, - 113, - 117, - 120, - 121, - 123, - 129, - 134, - 142, - 143, - 145, - 148, - 149, - 151, - 152, - 155, - -1 + FRONTIER_MONS_POKEFAN_M_1 }; const u16 gBattleFrontierTrainerMons_Haylee[] = { - 1, - 5, - 6, - 10, - 13, - 14, - 16, - 17, - 18, - 19, - 20, - 23, - 24, - 26, - 28, - 29, - 31, - 32, - 33, - 34, - 35, - 36, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 54, - 56, - 59, - 61, - 65, - 66, - 67, - 68, - 71, - 72, - 79, - -1 + FRONTIER_MONS_POKEFAN_F_1 }; const u16 gBattleFrontierTrainerMons_Amanda[] = { - 1, - 5, - 6, - 10, - 13, - 14, - 16, - 17, - 18, - 19, - 20, - 23, - 24, - 26, - 28, - 29, - 31, - 32, - 33, - 34, - 35, - 36, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 54, - 56, - 59, - 61, - 65, - 66, - 67, - 68, - 71, - 72, - 79, - -1 + FRONTIER_MONS_POKEFAN_F_1 }; const u16 gBattleFrontierTrainerMons_Stacy[] = { - 1, - 5, - 6, - 10, - 13, - 14, - 16, - 17, - 18, - 19, - 20, - 23, - 24, - 26, - 28, - 29, - 31, - 32, - 33, - 34, - 35, - 36, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 54, - 56, - 59, - 61, - 65, - 66, - 67, - 68, - 71, - 72, - 79, - -1 + FRONTIER_MONS_POKEFAN_F_1 }; +// The below 6 are the early Pkmn Breeder class trainers, which use groups from other general classes const u16 gBattleFrontierTrainerMons_Rafael[] = { - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 10, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_1 }; const u16 gBattleFrontierTrainerMons_Oliver[] = { - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - -1 + FRONTIER_MONS_SCHOOL_KID_1 }; const u16 gBattleFrontierTrainerMons_Payton[] = { - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_CAMPER_PICNICKER_1 }; const u16 gBattleFrontierTrainerMons_Pamela[] = { - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 10, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_1 }; const u16 gBattleFrontierTrainerMons_Eliza[] = { - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - -1 + FRONTIER_MONS_SCHOOL_KID_1 }; const u16 gBattleFrontierTrainerMons_Marisa[] = { - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_CAMPER_PICNICKER_1 }; const u16 gBattleFrontierTrainerMons_Lewis[] = { - 2, - 3, - 4, - 8, - 9, - 21, - 27, - 39, - 40, - 41, - 42, - 52, - 57, - 58, - 80, - 112, - 132, - 141, - 153, - 154, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_BUG_CATCHER_1_EXTRA(METAPOD, KAKUNA) }; const u16 gBattleFrontierTrainerMons_Yoshi[] = { - 2, - 3, - 4, - 11, - 12, - 21, - 27, - 39, - 40, - 41, - 42, - 52, - 57, - 58, - 80, - 112, - 132, - 141, - 153, - 154, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_BUG_CATCHER_1_EXTRA(SILCOON, CASCOON) }; const u16 gBattleFrontierTrainerMons_Destin[] = { - 2, - 3, - 4, - 21, - 27, - 39, - 40, - 41, - 42, - 52, - 57, - 58, - 80, - 112, - 132, - 141, - 153, - 154, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_BUG_CATCHER_1 }; const u16 gBattleFrontierTrainerMons_Keon[] = { - 5, - 21, - 25, - 27, - 35, - 39, - 40, - 41, - 42, - 46, - 47, - 48, - 50, - 52, - 53, - 57, - 58, - 62, - 63, - 69, - 75, - 78, - 79, - 80, - 84, - 90, - 92, - 99, - 100, - 102, - 106, - 110, - 112, - 114, - 121, - 124, - 127, - 132, - 141, - 146, - 147, - 153, - 154, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_NINJA_BOY_1 }; const u16 gBattleFrontierTrainerMons_Stuart[] = { - 5, - 21, - 25, - 27, - 35, - 39, - 40, - 41, - 42, - 46, - 47, - 48, - 50, - 52, - 53, - 57, - 58, - 62, - 63, - 69, - 75, - 78, - 79, - 80, - 84, - 90, - 92, - 99, - 100, - 102, - 106, - 110, - 112, - 114, - 121, - 124, - 127, - 132, - 141, - 146, - 147, - 153, - 154, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_NINJA_BOY_1 }; const u16 gBattleFrontierTrainerMons_Nestor[] = { - 5, - 21, - 25, - 27, - 35, - 39, - 40, - 41, - 42, - 46, - 47, - 48, - 50, - 52, - 53, - 57, - 58, - 62, - 63, - 69, - 75, - 78, - 79, - 80, - 84, - 90, - 92, - 99, - 100, - 102, - 106, - 110, - 112, - 114, - 121, - 124, - 127, - 132, - 141, - 146, - 147, - 153, - 154, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_NINJA_BOY_1 }; const u16 gBattleFrontierTrainerMons_Derrick[] = { - 21, - 27, - 29, - 39, - 40, - 41, - 42, - 52, - 57, - 58, - 61, - 62, - 63, - 69, - 80, - 92, - 102, - 112, - 125, - 129, - 132, - 140, - 141, - 153, - 154, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_BUG_MANIAC_1 }; const u16 gBattleFrontierTrainerMons_Bryson[] = { - 21, - 27, - 29, - 39, - 40, - 41, - 42, - 52, - 57, - 58, - 61, - 62, - 63, - 69, - 80, - 92, - 102, - 112, - 125, - 129, - 132, - 140, - 141, - 153, - 154, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_BUG_MANIAC_1 }; const u16 gBattleFrontierTrainerMons_Clayton[] = { - 21, - 27, - 29, - 39, - 40, - 41, - 42, - 52, - 57, - 58, - 61, - 62, - 63, - 69, - 80, - 92, - 102, - 112, - 125, - 129, - 132, - 140, - 141, - 153, - 154, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_BUG_MANIAC_1 }; const u16 gBattleFrontierTrainerMons_Trenton[] = { - 6, - 7, - 55, - 60, - 68, - 73, - 83, - 86, - 87, - 105, - 111, - 116, - 123, - 124, - 128, - 134, - 138, - 139, - 151, - -1 + FRONTIER_MONS_FISHERMAN_1 }; const u16 gBattleFrontierTrainerMons_Jenson[] = { - 6, - 7, - 55, - 60, - 68, - 73, - 83, - 86, - 87, - 105, - 111, - 116, - 123, - 124, - 128, - 134, - 138, - 139, - 151, - -1 + FRONTIER_MONS_FISHERMAN_1 }; const u16 gBattleFrontierTrainerMons_Wesley[] = { - 6, - 7, - 55, - 60, - 68, - 73, - 83, - 86, - 87, - 105, - 111, - 116, - 123, - 124, - 128, - 134, - 138, - 139, - 151, - -1 + FRONTIER_MONS_FISHERMAN_1 }; const u16 gBattleFrontierTrainerMons_Anton[] = { - 31, - 39, - 58, - 67, - 70, - 74, - 75, - 78, - 85, - 104, - 108, - 120, - 122, - 133, - 138, - 139, - 140, - 141, - 150, - 151, - 152, - 156, - -1 + FRONTIER_MONS_RUIN_MANIAC_1 }; const u16 gBattleFrontierTrainerMons_Lawson[] = { - 31, - 39, - 58, - 67, - 70, - 74, - 75, - 78, - 85, - 104, - 108, - 120, - 122, - 133, - 138, - 139, - 140, - 141, - 150, - 151, - 152, - 156, - -1 + FRONTIER_MONS_RUIN_MANIAC_1 }; const u16 gBattleFrontierTrainerMons_Sammy[] = { - 31, - 39, - 58, - 67, - 70, - 74, - 75, - 78, - 85, - 104, - 108, - 120, - 122, - 133, - 138, - 139, - 140, - 141, - 150, - 151, - 152, - 156, - -1 + FRONTIER_MONS_RUIN_MANIAC_1 }; +// The below 3 are the early Collector class trainers, which use groups from other general classes const u16 gBattleFrontierTrainerMons_Arnie[] = { - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 10, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_1 }; const u16 gBattleFrontierTrainerMons_Adrian[] = { - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - -1 + FRONTIER_MONS_SCHOOL_KID_1 }; const u16 gBattleFrontierTrainerMons_Tristan[] = { - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_CAMPER_PICNICKER_1 }; const u16 gBattleFrontierTrainerMons_Juliana[] = { - 0, - 14, - 19, - 28, - 42, - 58, - 59, - 67, - 68, - 85, - 118, - 120, - 123, - 155, - 156, - 193, - -1 + FRONTIER_MONS_PARASOL_LADY_1 }; const u16 gBattleFrontierTrainerMons_Rylee[] = { - 0, - 14, - 19, - 28, - 42, - 58, - 59, - 67, - 68, - 85, - 118, - 120, - 123, - 155, - 156, - 193, - -1 + FRONTIER_MONS_PARASOL_LADY_1 }; const u16 gBattleFrontierTrainerMons_Chelsea[] = { - 0, - 14, - 19, - 28, - 42, - 58, - 59, - 67, - 68, - 85, - 118, - 120, - 123, - 155, - 156, - 193, - -1 + FRONTIER_MONS_PARASOL_LADY_1 }; +// The below 3 are the early Beauty class trainers, which use groups from other general classes const u16 gBattleFrontierTrainerMons_Danela[] = { - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 10, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_1 }; const u16 gBattleFrontierTrainerMons_Lizbeth[] = { - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - -1 + FRONTIER_MONS_SCHOOL_KID_1 }; const u16 gBattleFrontierTrainerMons_Amelia[] = { - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - -1 + FRONTIER_MONS_CAMPER_PICNICKER_1 }; const u16 gBattleFrontierTrainerMons_Jillian[] = { - 0, - 5, - 18, - 19, - 29, - 35, - 48, - 50, - 52, - 61, - 69, - 75, - 78, - 84, - 90, - 94, - 99, - 100, - 101, - 102, - 106, - 112, - 114, - 121, - 125, - 129, - 130, - 131, - 140, - -1 + FRONTIER_MONS_AROMA_LADY_1 }; const u16 gBattleFrontierTrainerMons_Abbie[] = { - 0, - 5, - 18, - 19, - 29, - 35, - 48, - 50, - 52, - 61, - 69, - 75, - 78, - 84, - 90, - 94, - 99, - 100, - 101, - 102, - 106, - 112, - 114, - 121, - 125, - 129, - 130, - 131, - 140, - -1 + FRONTIER_MONS_AROMA_LADY_1 }; const u16 gBattleFrontierTrainerMons_Briana[] = { - 0, - 5, - 18, - 19, - 29, - 35, - 48, - 50, - 52, - 61, - 69, - 75, - 78, - 84, - 90, - 94, - 99, - 100, - 101, - 102, - 106, - 112, - 114, - 121, - 125, - 129, - 130, - 131, - 140, - -1 + FRONTIER_MONS_AROMA_LADY_1 }; const u16 gBattleFrontierTrainerMons_Antonio[] = { - 5, - 10, - 20, - 35, - 48, - 49, - 50, - 62, - 63, - 64, - 66, - 71, - 75, - 77, - 78, - 84, - 90, - 92, - 99, - 106, - 108, - 112, - 114, - 115, - 116, - 119, - 121, - 122, - 143, - 148, - 152, - -1 + FRONTIER_MONS_GUITARIST_1 }; const u16 gBattleFrontierTrainerMons_Jaden[] = { - 5, - 10, - 20, - 35, - 48, - 49, - 50, - 62, - 63, - 64, - 66, - 71, - 75, - 77, - 78, - 84, - 90, - 92, - 99, - 106, - 108, - 112, - 114, - 115, - 116, - 119, - 121, - 122, - 143, - 148, - 152, - -1 + FRONTIER_MONS_GUITARIST_1 }; const u16 gBattleFrontierTrainerMons_Dakota[] = { - 5, - 10, - 20, - 35, - 48, - 49, - 50, - 62, - 63, - 64, - 66, - 71, - 75, - 77, - 78, - 84, - 90, - 92, - 99, - 106, - 108, - 112, - 114, - 115, - 116, - 119, - 121, - 122, - 143, - 148, - 152, - -1 + FRONTIER_MONS_GUITARIST_1 }; const u16 gBattleFrontierTrainerMons_Brayden[] = { - 1, - 13, - 16, - 17, - 23, - 24, - 25, - 26, - 32, - 33, - 34, - 36, - 37, - 38, - 43, - 44, - 45, - 51, - 54, - 56, - 72, - 91, - 93, - 95, - 106, - 107, - 113, - 117, - 118, - 135, - 137, - 142, - 144, - 145, - -1 + FRONTIER_MONS_BIRD_KEEPER_1 }; const u16 gBattleFrontierTrainerMons_Corson[] = { - 1, - 13, - 16, - 17, - 23, - 24, - 25, - 26, - 32, - 33, - 34, - 36, - 37, - 38, - 43, - 44, - 45, - 51, - 54, - 56, - 72, - 91, - 93, - 95, - 106, - 107, - 113, - 117, - 118, - 135, - 137, - 142, - 144, - 145, - -1 + FRONTIER_MONS_BIRD_KEEPER_1 }; const u16 gBattleFrontierTrainerMons_Trevin[] = { - 1, - 13, - 16, - 17, - 23, - 24, - 25, - 26, - 32, - 33, - 34, - 36, - 37, - 38, - 43, - 44, - 45, - 51, - 54, - 56, - 72, - 91, - 93, - 95, - 106, - 107, - 113, - 117, - 118, - 135, - 137, - 142, - 144, - 145, - -1 + FRONTIER_MONS_BIRD_KEEPER_1 }; const u16 gBattleFrontierTrainerMons_Patrick[] = { - 15, - 22, - 50, - 67, - 70, - 71, - 74, - 77, - 81, - 82, - 83, - 86, - 87, - 96, - 97, - 98, - 99, - 103, - 104, - 109, - 111, - 120, - 124, - 128, - 131, - 133, - 134, - 138, - 139, - 151, - 155, - 156, - -1 + FRONTIER_MONS_SAILOR_1 }; const u16 gBattleFrontierTrainerMons_Kaden[] = { - 15, - 22, - 50, - 67, - 70, - 71, - 74, - 77, - 81, - 82, - 83, - 86, - 87, - 96, - 97, - 98, - 99, - 103, - 104, - 109, - 111, - 120, - 124, - 128, - 131, - 133, - 134, - 138, - 139, - 151, - 155, - 156, - -1 + FRONTIER_MONS_SAILOR_1 }; const u16 gBattleFrontierTrainerMons_Maxwell[] = { - 15, - 22, - 50, - 67, - 70, - 71, - 74, - 77, - 81, - 82, - 83, - 86, - 87, - 96, - 97, - 98, - 99, - 103, - 104, - 109, - 111, - 120, - 124, - 128, - 131, - 133, - 134, - 138, - 139, - 151, - 155, - 156, - -1 + FRONTIER_MONS_SAILOR_1 }; const u16 gBattleFrontierTrainerMons_Daryl[] = { - 15, - 22, - 31, - 39, - 50, - 51, - 58, - 67, - 70, - 74, - 75, - 81, - 82, - 85, - 104, - 120, - 122, - 132, - 133, - 138, - 139, - 140, - 141, - 142, - 144, - 150, - 156, - -1 + FRONTIER_MONS_HIKER_1 }; const u16 gBattleFrontierTrainerMons_Kenneth[] = { - 15, - 22, - 31, - 39, - 50, - 51, - 58, - 67, - 70, - 74, - 75, - 81, - 82, - 85, - 104, - 120, - 122, - 132, - 133, - 138, - 139, - 140, - 141, - 142, - 144, - 150, - 156, - -1 + FRONTIER_MONS_HIKER_1 }; const u16 gBattleFrontierTrainerMons_Rich[] = { - 15, - 22, - 31, - 39, - 50, - 51, - 58, - 67, - 70, - 74, - 75, - 81, - 82, - 85, - 104, - 120, - 122, - 132, - 133, - 138, - 139, - 140, - 141, - 142, - 144, - 150, - 156, - -1 + FRONTIER_MONS_HIKER_1 }; const u16 gBattleFrontierTrainerMons_Caden[] = { - 30, - 62, - 63, - 65, - 70, - 74, - 77, - 78, - 85, - 88, - 89, - 95, - 108, - 119, - 122, - 133, - 136, - 149, - 150, - 152, - 156, - -1 + FRONTIER_MONS_KINDLER_1 }; const u16 gBattleFrontierTrainerMons_Marlon[] = { - 30, - 62, - 63, - 65, - 70, - 74, - 77, - 78, - 85, - 88, - 89, - 95, - 108, - 119, - 122, - 133, - 136, - 149, - 150, - 152, - 156, - -1 + FRONTIER_MONS_KINDLER_1 }; const u16 gBattleFrontierTrainerMons_Nash[] = { - 30, - 62, - 63, - 65, - 70, - 74, - 77, - 78, - 85, - 88, - 89, - 95, - 108, - 119, - 122, - 133, - 136, - 149, - 150, - 152, - 156, - -1 + FRONTIER_MONS_KINDLER_1 }; const u16 gBattleFrontierTrainerMons_Robby[] = { - 1, - 13, - 15, - 16, - 17, - 22, - 23, - 24, - 26, - 32, - 33, - 34, - 36, - 37, - 38, - 43, - 44, - 50, - 51, - 54, - 56, - 67, - 70, - 72, - 74, - 75, - 81, - 82, - 85, - 91, - 93, - 104, - 107, - 113, - 117, - 120, - 132, - 133, - 135, - 137, - 142, - 144, - 145, - 156, - -1 + FRONTIER_MONS_RUNNING_TRIATHLETE_1 }; const u16 gBattleFrontierTrainerMons_Reece[] = { - 1, - 13, - 15, - 16, - 17, - 22, - 23, - 24, - 26, - 32, - 33, - 34, - 36, - 37, - 38, - 43, - 44, - 50, - 51, - 54, - 56, - 67, - 70, - 72, - 74, - 75, - 81, - 82, - 85, - 91, - 93, - 104, - 107, - 113, - 117, - 120, - 132, - 133, - 135, - 137, - 142, - 144, - 145, - 156, - -1 + FRONTIER_MONS_RUNNING_TRIATHLETE_1 }; const u16 gBattleFrontierTrainerMons_Kathryn[] = { - 1, - 13, - 15, - 16, - 17, - 22, - 23, - 24, - 26, - 32, - 33, - 34, - 36, - 37, - 38, - 43, - 44, - 50, - 51, - 54, - 56, - 67, - 70, - 72, - 74, - 75, - 81, - 82, - 85, - 91, - 93, - 104, - 107, - 113, - 117, - 120, - 132, - 133, - 135, - 137, - 142, - 144, - 145, - 156, - -1 + FRONTIER_MONS_RUNNING_TRIATHLETE_1 }; const u16 gBattleFrontierTrainerMons_Ellen[] = { - 1, - 13, - 15, - 16, - 17, - 22, - 23, - 24, - 26, - 32, - 33, - 34, - 36, - 37, - 38, - 43, - 44, - 50, - 51, - 54, - 56, - 67, - 70, - 72, - 74, - 75, - 81, - 82, - 85, - 91, - 93, - 104, - 107, - 113, - 117, - 120, - 132, - 133, - 135, - 137, - 142, - 144, - 145, - 156, - -1 + FRONTIER_MONS_RUNNING_TRIATHLETE_1 }; const u16 gBattleFrontierTrainerMons_Ramon[] = { - 15, - 22, - 50, - 71, - 72, - 76, - 77, - 81, - 82, - 83, - 84, - 87, - 96, - 97, - 98, - 99, - 103, - 107, - 109, - 111, - 113, - 117, - 118, - 131, - 134, - 138, - 139, - 142, - 144, - 145, - 151, - 155, - -1 + FRONTIER_MONS_SWIMMING_TRIATHLETE_1 }; const u16 gBattleFrontierTrainerMons_Arthur[] = { - 15, - 22, - 50, - 71, - 72, - 76, - 77, - 81, - 82, - 83, - 84, - 87, - 96, - 97, - 98, - 99, - 103, - 107, - 109, - 111, - 113, - 117, - 118, - 131, - 134, - 138, - 139, - 142, - 144, - 145, - 151, - 155, - -1 + FRONTIER_MONS_SWIMMING_TRIATHLETE_1 }; const u16 gBattleFrontierTrainerMons_Alondra[] = { - 15, - 22, - 50, - 71, - 72, - 76, - 77, - 81, - 82, - 83, - 84, - 87, - 96, - 97, - 98, - 99, - 103, - 107, - 109, - 111, - 113, - 117, - 118, - 131, - 134, - 138, - 139, - 142, - 144, - 145, - 151, - 155, - -1 + FRONTIER_MONS_SWIMMING_TRIATHLETE_1 }; const u16 gBattleFrontierTrainerMons_Adriana[] = { - 15, - 22, - 50, - 71, - 72, - 76, - 77, - 81, - 82, - 83, - 84, - 87, - 96, - 97, - 98, - 99, - 103, - 107, - 109, - 111, - 113, - 117, - 118, - 131, - 134, - 138, - 139, - 142, - 144, - 145, - 151, - 155, - -1 + FRONTIER_MONS_SWIMMING_TRIATHLETE_1 }; const u16 gBattleFrontierTrainerMons_Malik[] = { - 10, - 15, - 22, - 49, - 50, - 64, - 66, - 71, - 72, - 77, - 78, - 81, - 82, - 91, - 93, - 107, - 108, - 113, - 115, - 117, - 122, - 135, - 137, - 142, - 143, - 144, - 145, - 148, - 152, - -1 + FRONTIER_MONS_CYCLING_TRIATHLETE_1 }; const u16 gBattleFrontierTrainerMons_Jill[] = { - 10, - 15, - 22, - 49, - 50, - 64, - 66, - 71, - 72, - 77, - 78, - 81, - 82, - 91, - 93, - 107, - 108, - 113, - 115, - 117, - 122, - 135, - 137, - 142, - 143, - 144, - 145, - 148, - 152, - -1 + FRONTIER_MONS_CYCLING_TRIATHLETE_1 }; const u16 gBattleFrontierTrainerMons_Erik[] = { - 162, - 164, - 168, - 178, - 183, - 184, - 189, - 197, - 199, - 200, - 203, - 204, - 207, - 210, - 213, - 214, - 218, - 220, - 221, - 224, - 227, - 231, - 232, - 233, - 234, - 235, - 236, - 238, - 240, - 243, - 245, - 246, - 250, - 263, - -1 + FRONTIER_MONS_RUNNING_TRIATHLETE_2 }; const u16 gBattleFrontierTrainerMons_Yazmin[] = { - 162, - 164, - 168, - 178, - 183, - 184, - 189, - 197, - 199, - 200, - 203, - 204, - 207, - 210, - 213, - 214, - 218, - 220, - 221, - 224, - 227, - 231, - 232, - 233, - 234, - 235, - 236, - 238, - 240, - 243, - 245, - 246, - 250, - 263, - -1 + FRONTIER_MONS_RUNNING_TRIATHLETE_2 }; const u16 gBattleFrontierTrainerMons_Jamal[] = { - 170, - 176, - 178, - 182, - 189, - 190, - 192, - 196, - 211, - 212, - 213, - 219, - 228, - 230, - 232, - 233, - 234, - 236, - 242, - 245, - 249, - 253, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 265, - 266, - -1 + FRONTIER_MONS_SWIMMING_TRIATHLETE_2 }; const u16 gBattleFrontierTrainerMons_Leslie[] = { - 170, - 176, - 178, - 182, - 189, - 190, - 192, - 196, - 211, - 212, - 213, - 219, - 228, - 230, - 232, - 233, - 234, - 236, - 242, - 245, - 249, - 253, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 265, - 266, - -1 + FRONTIER_MONS_SWIMMING_TRIATHLETE_2 }; const u16 gBattleFrontierTrainerMons_Dave[] = { - 162, - 164, - 168, - 178, - 183, - 186, - 187, - 189, - 197, - 199, - 200, - 203, - 204, - 206, - 207, - 214, - 215, - 218, - 220, - 221, - 224, - 227, - 232, - 233, - 234, - 235, - 236, - 240, - 244, - 246, - 250, - -1 + FRONTIER_MONS_CYCLING_TRIATHLETE_2 }; const u16 gBattleFrontierTrainerMons_Carlo[] = { - 162, - 164, - 168, - 178, - 183, - 186, - 187, - 189, - 197, - 199, - 200, - 203, - 204, - 206, - 207, - 214, - 215, - 218, - 220, - 221, - 224, - 227, - 232, - 233, - 234, - 235, - 236, - 240, - 244, - 246, - 250, - -1 + FRONTIER_MONS_CYCLING_TRIATHLETE_2 }; const u16 gBattleFrontierTrainerMons_Emilia[] = { - 162, - 164, - 168, - 178, - 183, - 186, - 187, - 189, - 197, - 199, - 200, - 203, - 204, - 206, - 207, - 214, - 215, - 218, - 220, - 221, - 224, - 227, - 232, - 233, - 234, - 235, - 236, - 240, - 244, - 246, - 250, - -1 + FRONTIER_MONS_CYCLING_TRIATHLETE_2 }; const u16 gBattleFrontierTrainerMons_Dalia[] = { - 162, - 164, - 168, - 178, - 183, - 186, - 187, - 189, - 197, - 199, - 200, - 203, - 204, - 206, - 207, - 214, - 215, - 218, - 220, - 221, - 224, - 227, - 232, - 233, - 234, - 235, - 236, - 240, - 244, - 246, - 250, - -1 + FRONTIER_MONS_CYCLING_TRIATHLETE_2 }; const u16 gBattleFrontierTrainerMons_Hitomi[] = { - 164, - 166, - 175, - 178, - 181, - 189, - 191, - 193, - 194, - 195, - 197, - 199, - 200, - 202, - 203, - 205, - 206, - 207, - 210, - 215, - 218, - 220, - 221, - 222, - 223, - 225, - 227, - 230, - 232, - 233, - 234, - 235, - 236, - 240, - 241, - 246, - 247, - 252, - 254, - 262, - -1 + FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1 }; const u16 gBattleFrontierTrainerMons_Ricardo[] = { - 164, - 166, - 175, - 178, - 181, - 189, - 191, - 193, - 194, - 195, - 197, - 199, - 200, - 202, - 203, - 205, - 206, - 207, - 210, - 215, - 218, - 220, - 221, - 222, - 223, - 225, - 227, - 230, - 232, - 233, - 234, - 235, - 236, - 240, - 241, - 246, - 247, - 252, - 254, - 262, - -1 + FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1 }; const u16 gBattleFrontierTrainerMons_Shizuka[] = { - 164, - 166, - 175, - 178, - 181, - 189, - 191, - 193, - 194, - 195, - 197, - 199, - 200, - 202, - 203, - 205, - 206, - 207, - 210, - 215, - 218, - 220, - 221, - 222, - 223, - 225, - 227, - 230, - 232, - 233, - 234, - 235, - 236, - 240, - 241, - 246, - 247, - 252, - 254, - 262, - -1 + FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1 }; const u16 gBattleFrontierTrainerMons_Joana[] = { - 164, - 166, - 175, - 178, - 181, - 189, - 191, - 193, - 194, - 195, - 197, - 199, - 200, - 202, - 203, - 205, - 206, - 207, - 210, - 215, - 218, - 220, - 221, - 222, - 223, - 225, - 227, - 230, - 232, - 233, - 234, - 235, - 236, - 240, - 241, - 246, - 247, - 252, - 254, - 262, - -1 + FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1 }; const u16 gBattleFrontierTrainerMons_Kelly[] = { - 164, - 166, - 175, - 178, - 181, - 189, - 191, - 193, - 194, - 195, - 197, - 199, - 200, - 202, - 203, - 205, - 206, - 207, - 210, - 215, - 218, - 220, - 221, - 222, - 223, - 225, - 227, - 230, - 232, - 233, - 234, - 235, - 236, - 240, - 241, - 246, - 247, - 252, - 254, - 262, - -1 + FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1 }; const u16 gBattleFrontierTrainerMons_Rayna[] = { - 164, - 166, - 175, - 178, - 181, - 189, - 191, - 193, - 194, - 195, - 197, - 199, - 200, - 202, - 203, - 205, - 206, - 207, - 210, - 215, - 218, - 220, - 221, - 222, - 223, - 225, - 227, - 230, - 232, - 233, - 234, - 235, - 236, - 240, - 241, - 246, - 247, - 252, - 254, - 262, - -1 + FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1 }; const u16 gBattleFrontierTrainerMons_Evan[] = { - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - -1 + FRONTIER_MONS_EXPERT_1A }; const u16 gBattleFrontierTrainerMons_Jordan[] = { - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - -1 + FRONTIER_MONS_EXPERT_1B }; const u16 gBattleFrontierTrainerMons_Joel[] = { - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - -1 + FRONTIER_MONS_EXPERT_1C }; const u16 gBattleFrontierTrainerMons_Kristen[] = { - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - -1 + FRONTIER_MONS_EXPERT_1A }; const u16 gBattleFrontierTrainerMons_Selphy[] = { - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - -1 + FRONTIER_MONS_EXPERT_1B }; const u16 gBattleFrontierTrainerMons_Chloe[] = { - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - -1 + FRONTIER_MONS_EXPERT_1C }; const u16 gBattleFrontierTrainerMons_Norton[] = { - 267, - 268, - 273, - 274, - 276, - 284, - 289, - 290, - 291, - 292, - 307, - 308, - 311, - 312, - 314, - 317, - 325, - 327, - 328, - 329, - 331, - 332, - 340, - 342, - 347, - 349, - 351, - 352, - 354, - 356, - 359, - 363, - 370, - -1 + FRONTIER_MONS_PSYCHIC_1 }; const u16 gBattleFrontierTrainerMons_Lukas[] = { - 267, - 268, - 273, - 274, - 276, - 284, - 289, - 290, - 291, - 292, - 307, - 308, - 311, - 312, - 314, - 317, - 325, - 327, - 328, - 329, - 331, - 332, - 340, - 342, - 347, - 349, - 351, - 352, - 354, - 356, - 359, - 363, - 370, - -1 + FRONTIER_MONS_PSYCHIC_1 }; const u16 gBattleFrontierTrainerMons_Zach[] = { - 267, - 268, - 273, - 274, - 276, - 284, - 289, - 290, - 291, - 292, - 307, - 308, - 311, - 312, - 314, - 317, - 325, - 327, - 328, - 329, - 331, - 332, - 340, - 342, - 347, - 349, - 351, - 352, - 354, - 356, - 359, - 363, - 370, - -1 + FRONTIER_MONS_PSYCHIC_1 }; const u16 gBattleFrontierTrainerMons_Kaitlyn[] = { - 267, - 268, - 273, - 274, - 276, - 284, - 289, - 290, - 291, - 292, - 307, - 308, - 311, - 312, - 314, - 317, - 325, - 327, - 328, - 329, - 331, - 332, - 340, - 342, - 347, - 349, - 351, - 352, - 354, - 356, - 359, - 363, - 370, - -1 + FRONTIER_MONS_PSYCHIC_1 }; const u16 gBattleFrontierTrainerMons_Breanna[] = { - 267, - 268, - 273, - 274, - 276, - 284, - 289, - 290, - 291, - 292, - 307, - 308, - 311, - 312, - 314, - 317, - 325, - 327, - 328, - 329, - 331, - 332, - 340, - 342, - 347, - 349, - 351, - 352, - 354, - 356, - 359, - 363, - 370, - -1 + FRONTIER_MONS_PSYCHIC_1 }; const u16 gBattleFrontierTrainerMons_Kendra[] = { - 267, - 268, - 273, - 274, - 276, - 284, - 289, - 290, - 291, - 292, - 307, - 308, - 311, - 312, - 314, - 317, - 325, - 327, - 328, - 329, - 331, - 332, - 340, - 342, - 347, - 349, - 351, - 352, - 354, - 356, - 359, - 363, - 370, - -1 + FRONTIER_MONS_PSYCHIC_1 }; const u16 gBattleFrontierTrainerMons_Molly[] = { - 268, - 270, - 272, - 274, - 282, - 284, - 289, - 290, - 303, - 307, - 311, - 314, - 317, - 322, - 327, - 328, - 331, - 336, - 340, - 342, - 344, - 347, - 352, - 353, - 354, - 356, - 359, - -1 + FRONTIER_MONS_HEX_MANIAC_1 }; const u16 gBattleFrontierTrainerMons_Jazmin[] = { - 268, - 270, - 272, - 274, - 282, - 284, - 289, - 290, - 303, - 307, - 311, - 314, - 317, - 322, - 327, - 328, - 331, - 336, - 340, - 342, - 344, - 347, - 352, - 353, - 354, - 356, - 359, - -1 + FRONTIER_MONS_HEX_MANIAC_1 }; const u16 gBattleFrontierTrainerMons_Kelsey[] = { - 268, - 270, - 272, - 274, - 282, - 284, - 289, - 290, - 303, - 307, - 311, - 314, - 317, - 322, - 327, - 328, - 331, - 336, - 340, - 342, - 344, - 347, - 352, - 353, - 354, - 356, - 359, - -1 + FRONTIER_MONS_HEX_MANIAC_1 }; const u16 gBattleFrontierTrainerMons_Jalen[] = { - 269, - 271, - 275, - 279, - 280, - 281, - 283, - 285, - 286, - 287, - 293, - 294, - 295, - 300, - 302, - 307, - 310, - 311, - 320, - 322, - 326, - 330, - 332, - 335, - 344, - 345, - 346, - 348, - 350, - 353, - 357, - -1 + FRONTIER_MONS_POKEMANIAC_1 }; const u16 gBattleFrontierTrainerMons_Griffen[] = { - 269, - 271, - 275, - 279, - 280, - 281, - 283, - 285, - 286, - 287, - 293, - 294, - 295, - 300, - 302, - 307, - 310, - 311, - 320, - 322, - 326, - 330, - 332, - 335, - 344, - 345, - 346, - 348, - 350, - 353, - 357, - -1 + FRONTIER_MONS_POKEMANIAC_1 }; const u16 gBattleFrontierTrainerMons_Xander[] = { - 269, - 271, - 275, - 279, - 280, - 281, - 283, - 285, - 286, - 287, - 293, - 294, - 295, - 300, - 302, - 307, - 310, - 311, - 320, - 322, - 326, - 330, - 332, - 335, - 344, - 345, - 346, - 348, - 350, - 353, - 357, - -1 + FRONTIER_MONS_POKEMANIAC_1 }; const u16 gBattleFrontierTrainerMons_Marvin[] = { - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - -1 + FRONTIER_MONS_GENTLEMAN_1A }; const u16 gBattleFrontierTrainerMons_Brennan[] = { - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - -1 + FRONTIER_MONS_GENTLEMAN_1B }; const u16 gBattleFrontierTrainerMons_Baley[] = { - 159, - 160, - 161, - 172, - 173, - 177, - 198, - 226, - 238, - 263, - 264, - 277, - 278, - 282, - 303, - 331, - 343, - 368, - 369, - -1 + FRONTIER_MONS_BUG_MANIAC_2 }; const u16 gBattleFrontierTrainerMons_Zackary[] = { - 271, - 283, - 294, - 295, - 298, - 299, - 300, - 311, - 315, - 320, - 327, - 328, - 330, - 335, - 337, - 338, - 339, - 341, - 346, - 364, - 365, - 366, - -1 + FRONTIER_MONS_RUIN_MANIAC_2 }; const u16 gBattleFrontierTrainerMons_Gabriel[] = { - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - -1 + FRONTIER_MONS_COLLECTOR_1 }; const u16 gBattleFrontierTrainerMons_Emily[] = { - 272, - 301, - 309, - 330, - 348, - 349, - 350, - 359, - 360, - 362, - 363, - 365, - -1 + FRONTIER_MONS_PARASOL_LADY_2 }; const u16 gBattleFrontierTrainerMons_Jordyn[] = { - 267, - 269, - 270, - 272, - 273, - 276, - 279, - 284, - 288, - 302, - 304, - 305, - 308, - 309, - 312, - 316, - 319, - 322, - 323, - 325, - 326, - 329, - 331, - 332, - 336, - 340, - 344, - 345, - 351, - 353, - 355, - -1 + FRONTIER_MONS_BEAUTY_1 }; const u16 gBattleFrontierTrainerMons_Sofia[] = { - 270, - 272, - 274, - 276, - 279, - 282, - 285, - 290, - 293, - 313, - 314, - 321, - 334, - 340, - 348, - 356, - 359, - 360, - -1 + FRONTIER_MONS_AROMA_LADY_2 }; const u16 gBattleFrontierTrainerMons_Braden[] = { - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - -1 + FRONTIER_MONS_COOLTRAINER_1A }; const u16 gBattleFrontierTrainerMons_Kayden[] = { - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - -1 + FRONTIER_MONS_COOLTRAINER_1B }; const u16 gBattleFrontierTrainerMons_Cooper[] = { - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - -1 + FRONTIER_MONS_COOLTRAINER_1C }; const u16 gBattleFrontierTrainerMons_Julia[] = { - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - -1 + FRONTIER_MONS_COOLTRAINER_1A }; const u16 gBattleFrontierTrainerMons_Amara[] = { - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - -1 + FRONTIER_MONS_COOLTRAINER_1B }; const u16 gBattleFrontierTrainerMons_Lynn[] = { - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - -1 + FRONTIER_MONS_COOLTRAINER_1C }; const u16 gBattleFrontierTrainerMons_Jovan[] = { - 238, - 331, - 343, - 368, - 369, - 375, - 376, - 379, - 382, - 383, - 389, - 394, - 395, - 397, - 398, - 400, - 406, - 408, - 411, - 416, - 417, - 423, - 424, - 425, - 432, - 436, - 438, - 441, - 445, - 453, - 460, - 462, - 467, - -1 + FRONTIER_MONS_PKMN_RANGER_1 }; const u16 gBattleFrontierTrainerMons_Dominic[] = { - 238, - 331, - 343, - 368, - 369, - 375, - 376, - 379, - 382, - 383, - 389, - 394, - 395, - 397, - 398, - 400, - 406, - 408, - 411, - 416, - 417, - 423, - 424, - 425, - 432, - 436, - 438, - 441, - 445, - 453, - 460, - 462, - 467, - -1 + FRONTIER_MONS_PKMN_RANGER_1 }; const u16 gBattleFrontierTrainerMons_Nikolas[] = { - 238, - 331, - 343, - 368, - 369, - 375, - 376, - 379, - 382, - 383, - 389, - 394, - 395, - 397, - 398, - 400, - 406, - 408, - 411, - 416, - 417, - 423, - 424, - 425, - 432, - 436, - 438, - 441, - 445, - 453, - 460, - 462, - 467, - -1 + FRONTIER_MONS_PKMN_RANGER_1 }; const u16 gBattleFrontierTrainerMons_Valeria[] = { - 238, - 331, - 343, - 368, - 369, - 375, - 376, - 379, - 382, - 383, - 389, - 394, - 395, - 397, - 398, - 400, - 406, - 408, - 411, - 416, - 417, - 423, - 424, - 425, - 432, - 436, - 438, - 441, - 445, - 453, - 460, - 462, - 467, - -1 + FRONTIER_MONS_PKMN_RANGER_1 }; const u16 gBattleFrontierTrainerMons_Delaney[] = { - 238, - 331, - 343, - 368, - 369, - 375, - 376, - 379, - 382, - 383, - 389, - 394, - 395, - 397, - 398, - 400, - 406, - 408, - 411, - 416, - 417, - 423, - 424, - 425, - 432, - 436, - 438, - 441, - 445, - 453, - 460, - 462, - 467, - -1 + FRONTIER_MONS_PKMN_RANGER_1 }; const u16 gBattleFrontierTrainerMons_Meghan[] = { - 238, - 331, - 343, - 368, - 369, - 375, - 376, - 379, - 382, - 383, - 389, - 394, - 395, - 397, - 398, - 400, - 406, - 408, - 411, - 416, - 417, - 423, - 424, - 425, - 432, - 436, - 438, - 441, - 445, - 453, - 460, - 462, - 467, - -1 + FRONTIER_MONS_PKMN_RANGER_1 }; const u16 gBattleFrontierTrainerMons_Roberto[] = { - 386, - 403, - 412, - 413, - 414, - 433, - 435, - 440, - 450, - 453, - 454, - 456, - 459, - 461, - 463, - 464, - 465, - -1 + FRONTIER_MONS_DRAGON_TAMER_1 }; const u16 gBattleFrontierTrainerMons_Damian[] = { - 386, - 403, - 412, - 413, - 414, - 433, - 435, - 440, - 450, - 453, - 454, - 456, - 459, - 461, - 463, - 464, - 465, - -1 + FRONTIER_MONS_DRAGON_TAMER_1 }; const u16 gBattleFrontierTrainerMons_Brody[] = { - 386, - 403, - 412, - 413, - 414, - 433, - 435, - 440, - 450, - 453, - 454, - 456, - 459, - 461, - 463, - 464, - 465, - -1 + FRONTIER_MONS_DRAGON_TAMER_1 }; const u16 gBattleFrontierTrainerMons_Graham[] = { - 386, - 403, - 412, - 413, - 414, - 433, - 435, - 440, - 450, - 453, - 454, - 456, - 459, - 461, - 463, - 464, - 465, - -1 + FRONTIER_MONS_DRAGON_TAMER_1 }; const u16 gBattleFrontierTrainerMons_Tylor[] = { - 374, - 381, - 382, - 385, - 388, - 389, - 391, - 392, - 394, - 409, - 411, - 412, - 419, - 430, - 432, - 436, - 440, - 456, - 460, - 462, - 463, - 467, - -1 + FRONTIER_MONS_POKEFAN_2 }; const u16 gBattleFrontierTrainerMons_Jaren[] = { - 374, - 381, - 382, - 385, - 388, - 389, - 391, - 392, - 394, - 409, - 411, - 412, - 419, - 430, - 432, - 436, - 440, - 456, - 460, - 462, - 463, - 467, - -1 + FRONTIER_MONS_POKEFAN_2 }; const u16 gBattleFrontierTrainerMons_Cordell[] = { - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - -1 + FRONTIER_MONS_PKMN_BREEDER_M_1 }; const u16 gBattleFrontierTrainerMons_Jazlyn[] = { - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - -1 + FRONTIER_MONS_PKMN_BREEDER_F_1 }; const u16 gBattleFrontierTrainerMons_Zachery[] = { - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_2 }; const u16 gBattleFrontierTrainerMons_Johan[] = { - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_2_NO_DUGTRIO }; const u16 gBattleFrontierTrainerMons_Shea[] = { - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_2 }; const u16 gBattleFrontierTrainerMons_Kaila[] = { - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_2 }; const u16 gBattleFrontierTrainerMons_Isiah[] = { - 501, - 502, - 503, - 504, - 505, - 506, - 507, - 508, - 509, - 510, - 511, - 512, - 513, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 531, - 532, - 533, - -1 + FRONTIER_MONS_SCHOOL_KID_2 }; const u16 gBattleFrontierTrainerMons_Garrett[] = { - 501, - 502, - 503, - 504, - 505, - 506, - 507, - 508, - 509, - 510, - 511, - 512, - 513, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 531, - 532, - 533, - -1 + FRONTIER_MONS_SCHOOL_KID_2 }; const u16 gBattleFrontierTrainerMons_Haylie[] = { - 501, - 502, - 503, - 504, - 505, - 506, - 507, - 508, - 509, - 510, - 511, - 512, - 513, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 531, - 532, - 533, - -1 + FRONTIER_MONS_SCHOOL_KID_2 }; const u16 gBattleFrontierTrainerMons_Megan[] = { - 501, - 502, - 503, - 504, - 505, - 506, - 507, - 508, - 509, - 510, - 511, - 512, - 513, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 531, - 532, - 533, - -1 + FRONTIER_MONS_SCHOOL_KID_2 }; const u16 gBattleFrontierTrainerMons_Issac[] = { - 534, - 535, - 536, - 537, - 538, - 539, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - -1 + FRONTIER_MONS_RICH_BOY_LADY_2 }; const u16 gBattleFrontierTrainerMons_Quinton[] = { - 534, - 535, - 536, - 537, - 538, - 539, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - -1 + FRONTIER_MONS_RICH_BOY_LADY_2 }; const u16 gBattleFrontierTrainerMons_Salma[] = { - 534, - 535, - 536, - 537, - 538, - 539, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - -1 + FRONTIER_MONS_RICH_BOY_LADY_2 }; const u16 gBattleFrontierTrainerMons_Ansley[] = { - 534, - 535, - 536, - 537, - 538, - 539, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - -1 + FRONTIER_MONS_RICH_BOY_LADY_2 }; const u16 gBattleFrontierTrainerMons_Holden[] = { - 343, - 368, - 369, - 383, - 417, - 423, - 424, - 432, - 480, - 481, - 490, - 491, - 494, - 496, - 512, - 513, - 519, - 520, - 528, - 534, - 537, - 541, - 549, - -1 + FRONTIER_MONS_BUG_CATCHER_2 }; const u16 gBattleFrontierTrainerMons_Luca[] = { - 343, - 368, - 369, - 383, - 417, - 423, - 424, - 432, - 480, - 481, - 490, - 491, - 494, - 496, - 512, - 513, - 519, - 520, - 528, - 534, - 537, - 541, - 549, - -1 + FRONTIER_MONS_BUG_CATCHER_2 }; const u16 gBattleFrontierTrainerMons_Jamison[] = { - 282, - 331, - 343, - 368, - 369, - 469, - 472, - 475, - 476, - 478, - 481, - 484, - 490, - 491, - 497, - 500, - 501, - 509, - 510, - 513, - 516, - 517, - 519, - 520, - 524, - 528, - 530, - 533, - 534, - 537, - 542, - 553, - -1 + FRONTIER_MONS_NINJA_BOY_2 }; const u16 gBattleFrontierTrainerMons_Gunnar[] = { - 282, - 331, - 343, - 368, - 369, - 469, - 472, - 475, - 476, - 478, - 481, - 484, - 490, - 491, - 497, - 500, - 501, - 509, - 510, - 513, - 516, - 517, - 519, - 520, - 524, - 528, - 530, - 533, - 534, - 537, - 542, - 553, - -1 + FRONTIER_MONS_NINJA_BOY_2 }; const u16 gBattleFrontierTrainerMons_Craig[] = { - 471, - 474, - 475, - 479, - 483, - 485, - 488, - 493, - 495, - 496, - 502, - 504, - 505, - 506, - 507, - 514, - 521, - 525, - 530, - 532, - 535, - 538, - 544, - 545, - 548, - 552, - 554, - 555, - 556, - 557, - 558, - 559, - 563, - -1 + FRONTIER_MONS_TUBER_2 }; const u16 gBattleFrontierTrainerMons_Pierce[] = { - 471, - 474, - 475, - 479, - 483, - 485, - 488, - 493, - 495, - 496, - 502, - 504, - 505, - 506, - 507, - 514, - 521, - 525, - 530, - 532, - 535, - 538, - 544, - 545, - 548, - 552, - 554, - 555, - 556, - 557, - 558, - 559, - 563, - -1 + FRONTIER_MONS_TUBER_2 }; const u16 gBattleFrontierTrainerMons_Regina[] = { - 471, - 474, - 475, - 479, - 483, - 485, - 488, - 493, - 495, - 496, - 502, - 504, - 505, - 506, - 507, - 514, - 521, - 525, - 530, - 532, - 535, - 538, - 544, - 545, - 548, - 552, - 554, - 555, - 556, - 557, - 558, - 559, - 563, - -1 + FRONTIER_MONS_TUBER_2 }; const u16 gBattleFrontierTrainerMons_Alison[] = { - 471, - 474, - 475, - 479, - 483, - 485, - 488, - 493, - 495, - 496, - 502, - 504, - 505, - 506, - 507, - 514, - 521, - 525, - 530, - 532, - 535, - 538, - 544, - 545, - 548, - 552, - 554, - 555, - 556, - 557, - 558, - 559, - 563, - -1 + FRONTIER_MONS_TUBER_2 }; const u16 gBattleFrontierTrainerMons_Hank[] = { - 277, - 278, - 282, - 303, - 331, - 343, - 368, - 369, - 383, - 417, - 423, - 424, - 432, - 481, - 513, - 519, - 520, - 528, - 575, - 609, - 615, - 616, - 624, - -1 + FRONTIER_MONS_BUG_MANIAC_3 }; const u16 gBattleFrontierTrainerMons_Earl[] = { - 277, - 278, - 282, - 303, - 331, - 343, - 368, - 369, - 383, - 417, - 423, - 424, - 432, - 481, - 513, - 519, - 520, - 528, - 575, - 609, - 615, - 616, - 624, - -1 + FRONTIER_MONS_BUG_MANIAC_3 }; const u16 gBattleFrontierTrainerMons_Ramiro[] = { - 316, - 333, - 347, - 350, - 354, - 358, - 361, - 362, - 363, - 364, - 573, - 576, - 621, - 626, - 631, - -1 + FRONTIER_MONS_FISHERMAN_2 }; const u16 gBattleFrontierTrainerMons_Hunter[] = { - 316, - 333, - 347, - 350, - 354, - 358, - 361, - 362, - 363, - 364, - 573, - 576, - 621, - 626, - 631, - -1 + FRONTIER_MONS_FISHERMAN_2 }; const u16 gBattleFrontierTrainerMons_Aiden[] = { - 564, - 575, - 576, - 578, - 579, - 580, - 594, - 595, - 605, - 606, - 608, - 609, - 615, - 619, - 620, - 624, - 625, - 627, - 632, - 642, - 650, - 658, - -1 + FRONTIER_MONS_RUIN_MANIAC_3 }; const u16 gBattleFrontierTrainerMons_Xavier[] = { - 564, - 575, - 576, - 578, - 579, - 580, - 594, - 595, - 605, - 606, - 608, - 609, - 615, - 619, - 620, - 624, - 625, - 627, - 632, - 642, - 650, - 658, - -1 + FRONTIER_MONS_RUIN_MANIAC_3 }; const u16 gBattleFrontierTrainerMons_Clinton[] = { - 564, - 565, - 566, - 567, - 568, - 569, - 570, - 571, - 572, - 573, - 574, - 575, - 576, - 577, - 578, - 579, - 580, - 581, - 582, - 583, - 584, - 585, - 586, - 587, - 588, - 589, - 590, - 591, - 592, - 593, - 594, - 595, - 596, - 597, - 598, - 599, - 600, - 601, - 602, - 603, - 604, - 605, - 606, - 607, - 608, - 609, - 610, - 611, - -1 + FRONTIER_MONS_COLLECTOR_2 }; const u16 gBattleFrontierTrainerMons_Jesse[] = { - 564, - 565, - 566, - 567, - 568, - 569, - 570, - 571, - 572, - 573, - 574, - 575, - 576, - 577, - 578, - 579, - 580, - 581, - 582, - 583, - 584, - 585, - 586, - 587, - 588, - 589, - 590, - 591, - 592, - 593, - 594, - 595, - 596, - 597, - 598, - 599, - 600, - 601, - 602, - 603, - 604, - 605, - 606, - 607, - 608, - 609, - 610, - 611, - -1 + FRONTIER_MONS_COLLECTOR_2 }; const u16 gBattleFrontierTrainerMons_Eduardo[] = { - 268, - 307, - 317, - 349, - 352, - 573, - 583, - 585, - 588, - 590, - 599, - 614, - 618, - 635, - 639, - -1 + FRONTIER_MONS_GUITARIST_2 }; const u16 gBattleFrontierTrainerMons_Hal[] = { - 268, - 307, - 317, - 349, - 352, - 573, - 583, - 585, - 588, - 590, - 599, - 614, - 618, - 635, - 639, - -1 + FRONTIER_MONS_GUITARIST_2 }; const u16 gBattleFrontierTrainerMons_Gage[] = { - 289, - 318, - 319, - 329, - 355, - 375, - 379, - 385, - 386, - 457, - 473, - 477, - 482, - 484, - 553, - 567, - 571, - 577, - 578, - 649, - -1 + FRONTIER_MONS_BIRD_KEEPER_2 }; const u16 gBattleFrontierTrainerMons_Arnold[] = { - 289, - 318, - 319, - 329, - 355, - 375, - 379, - 385, - 386, - 457, - 473, - 477, - 482, - 484, - 553, - 567, - 571, - 577, - 578, - 649, - -1 + FRONTIER_MONS_BIRD_KEEPER_2 }; const u16 gBattleFrontierTrainerMons_Jarrett[] = { - 565, - 573, - 576, - 580, - 582, - 584, - 592, - 601, - 602, - 610, - 621, - 623, - 626, - 631, - 634, - 640, - 641, - 644, - 648, - 650, - 651, - 653, - 655, - -1 + FRONTIER_MONS_SAILOR_2 }; const u16 gBattleFrontierTrainerMons_Garett[] = { - 565, - 573, - 576, - 580, - 582, - 584, - 592, - 601, - 602, - 610, - 621, - 623, - 626, - 631, - 634, - 640, - 641, - 644, - 648, - 650, - 651, - 653, - 655, - -1 + FRONTIER_MONS_SAILOR_2 }; const u16 gBattleFrontierTrainerMons_Emanuel[] = { - 564, - 565, - 574, - 579, - 582, - 594, - 595, - 605, - 606, - 608, - 609, - 616, - 619, - 620, - 623, - 624, - 625, - 627, - 642, - 643, - -1 + FRONTIER_MONS_HIKER_2 }; const u16 gBattleFrontierTrainerMons_Gustavo[] = { - 564, - 565, - 574, - 579, - 582, - 594, - 595, - 605, - 606, - 608, - 609, - 616, - 619, - 620, - 623, - 624, - 625, - 627, - 642, - 643, - -1 + FRONTIER_MONS_HIKER_2 }; const u16 gBattleFrontierTrainerMons_Kameron[] = { - 568, - 581, - 589, - 598, - 600, - 603, - 607, - 611, - 617, - 618, - 622, - 636, - 643, - 646, - 647, - 652, - 654, - 656, - 659, - -1 + FRONTIER_MONS_KINDLER_2 }; const u16 gBattleFrontierTrainerMons_Alfredo[] = { - 568, - 581, - 589, - 598, - 600, - 603, - 607, - 611, - 617, - 618, - 622, - 636, - 643, - 646, - 647, - 652, - 654, - 656, - 659, - -1 + FRONTIER_MONS_KINDLER_2 }; const u16 gBattleFrontierTrainerMons_Ruben[] = { - 612, - 613, - 614, - 615, - 616, - 617, - 618, - 619, - 620, - 621, - 622, - 623, - 624, - 625, - 626, - 627, - 628, - 629, - 630, - 631, - 632, - 633, - 634, - 635, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648, - 649, - 650, - 651, - 652, - 653, - 654, - 655, - 656, - 657, - 658, - 659, - -1 + FRONTIER_MONS_GENTLEMAN_2 }; const u16 gBattleFrontierTrainerMons_Lamar[] = { - 612, - 613, - 614, - 615, - 616, - 617, - 618, - 619, - 620, - 621, - 622, - 623, - 624, - 625, - 626, - 627, - 628, - 629, - 630, - 631, - 632, - 633, - 634, - 635, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648, - 649, - 650, - 651, - 652, - 653, - 654, - 655, - 656, - 657, - 658, - 659, - -1 + FRONTIER_MONS_GENTLEMAN_2 }; const u16 gBattleFrontierTrainerMons_Jaxon[] = { - 660, - 661, - 662, - 663, - 664, - 665, - 666, - 667, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 683, - 684, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_3 }; const u16 gBattleFrontierTrainerMons_Logan[] = { - 660, - 661, - 662, - 663, - 664, - 665, - 666, - 667, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 683, - 684, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_3 }; const u16 gBattleFrontierTrainerMons_Emilee[] = { - 660, - 661, - 662, - 663, - 664, - 665, - 666, - 667, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 683, - 684, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_3 }; const u16 gBattleFrontierTrainerMons_Josie[] = { - 660, - 661, - 662, - 663, - 664, - 665, - 666, - 667, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 683, - 684, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - -1 + FRONTIER_MONS_YOUNGSTER_LASS_3 }; const u16 gBattleFrontierTrainerMons_Armando[] = { - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - -1 + FRONTIER_MONS_CAMPER_PICNICKER_2 }; const u16 gBattleFrontierTrainerMons_Skyler[] = { - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - -1 + FRONTIER_MONS_CAMPER_PICNICKER_2 }; const u16 gBattleFrontierTrainerMons_Ruth[] = { - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - -1 + FRONTIER_MONS_CAMPER_PICNICKER_2 }; const u16 gBattleFrontierTrainerMons_Melody[] = { - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - -1 + FRONTIER_MONS_CAMPER_PICNICKER_2 }; const u16 gBattleFrontierTrainerMons_Pedro[] = { - 347, - 661, - 664, - 669, - 672, - 676, - 677, - 678, - 680, - 685, - 688, - 694, - 696, - 697, - 698, - 699, - 706, - 713, - 717, - 719, - 722, - 724, - 727, - 730, - 736, - 737, - 740, - 744, - 746, - 747, - 748, - 749, - 750, - 751, - 755, - -1 + FRONTIER_MONS_SWIMMER_M_2 }; const u16 gBattleFrontierTrainerMons_Erick[] = { - 347, - 661, - 664, - 669, - 672, - 676, - 677, - 678, - 680, - 685, - 688, - 694, - 696, - 697, - 698, - 699, - 706, - 713, - 717, - 719, - 722, - 724, - 727, - 730, - 736, - 737, - 740, - 744, - 746, - 747, - 748, - 749, - 750, - 751, - 755, - -1 + FRONTIER_MONS_SWIMMER_M_2 }; const u16 gBattleFrontierTrainerMons_Elaine[] = { - 664, - 665, - 669, - 672, - 676, - 677, - 680, - 685, - 687, - 688, - 694, - 696, - 697, - 698, - 699, - 706, - 713, - 717, - 722, - 724, - 727, - 730, - 736, - 737, - 740, - 744, - 746, - 747, - 748, - 749, - 750, - 751, - 755, - -1 + FRONTIER_MONS_SWIMMER_F_2 }; const u16 gBattleFrontierTrainerMons_Joyce[] = { - 664, - 665, - 669, - 672, - 676, - 677, - 680, - 685, - 687, - 688, - 694, - 696, - 697, - 698, - 699, - 706, - 713, - 717, - 722, - 724, - 727, - 730, - 736, - 737, - 740, - 744, - 746, - 747, - 748, - 749, - 750, - 751, - 755, - -1 + FRONTIER_MONS_SWIMMER_F_2 }; const u16 gBattleFrontierTrainerMons_Todd[] = { - 267, - 273, - 305, - 312, - 325, - 332, - 352, - 662, - 665, - 668, - 669, - 670, - 672, - 673, - 676, - 677, - 679, - 680, - 682, - 688, - 697, - 698, - 699, - 700, - 707, - 710, - 718, - 720, - 724, - 725, - 728, - 730, - 731, - 732, - 734, - 735, - 744, - 748, - 750, - 751, - -1 + FRONTIER_MONS_POKEFAN_3 }; const u16 gBattleFrontierTrainerMons_Gavin[] = { - 267, - 273, - 305, - 312, - 325, - 332, - 352, - 662, - 665, - 668, - 669, - 670, - 672, - 673, - 676, - 677, - 679, - 680, - 682, - 688, - 697, - 698, - 699, - 700, - 707, - 710, - 718, - 720, - 724, - 725, - 728, - 730, - 731, - 732, - 734, - 735, - 744, - 748, - 750, - 751, - -1 + FRONTIER_MONS_POKEFAN_3 }; const u16 gBattleFrontierTrainerMons_Malory[] = { - 267, - 273, - 305, - 312, - 325, - 332, - 352, - 662, - 665, - 668, - 669, - 670, - 672, - 673, - 676, - 677, - 679, - 680, - 682, - 688, - 697, - 698, - 699, - 700, - 707, - 710, - 718, - 720, - 724, - 725, - 728, - 730, - 731, - 732, - 734, - 735, - 744, - 748, - 750, - 751, - -1 + FRONTIER_MONS_POKEFAN_3 }; const u16 gBattleFrontierTrainerMons_Esther[] = { - 267, - 273, - 305, - 312, - 325, - 332, - 352, - 662, - 665, - 668, - 669, - 670, - 672, - 673, - 676, - 677, - 679, - 680, - 682, - 688, - 697, - 698, - 699, - 700, - 707, - 710, - 718, - 720, - 724, - 725, - 728, - 730, - 731, - 732, - 734, - 735, - 744, - 748, - 750, - 751, - -1 + FRONTIER_MONS_POKEFAN_3 }; const u16 gBattleFrontierTrainerMons_Oscar[] = { - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - -1 + FRONTIER_MONS_PKMN_BREEDER_2 }; const u16 gBattleFrontierTrainerMons_Wilson[] = { - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - -1 + FRONTIER_MONS_PKMN_BREEDER_2 }; const u16 gBattleFrontierTrainerMons_Clare[] = { - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - -1 + FRONTIER_MONS_PKMN_BREEDER_2 }; const u16 gBattleFrontierTrainerMons_Tess[] = { - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - -1 + FRONTIER_MONS_PKMN_BREEDER_2 }; const u16 gBattleFrontierTrainerMons_Leon[] = { - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 531, - 532, - 533, - 534, - 535, - 536, - 537, - 538, - 539, - 612, - 613, - 614, - 615, - 616, - 617, - 618, - 619, - 620, - 621, - 622, - 623, - 624, - 625, - 626, - 627, - 628, - 629, - 630, - 631, - 632, - 633, - 634, - 635, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - -1 + FRONTIER_MONS_COOLTRAINER_M_2A }; const u16 gBattleFrontierTrainerMons_Alonzo[] = { - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648, - 649, - 650, - 651, - 652, - 653, - 654, - 655, - 656, - 657, - 658, - 659, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - -1 + FRONTIER_MONS_COOLTRAINER_M_2B }; const u16 gBattleFrontierTrainerMons_Vince[] = { - 421, - 425, - 431, - 437, - 439, - 456, - 460, - 465, - 466, - 517, - 521, - 527, - 533, - 535, - 552, - 556, - 561, - 562, - 613, - 617, - 623, - 629, - 631, - 648, - 652, - 657, - 658, - 709, - 713, - 719, - 725, - 727, - 744, - 748, - 753, - 754, - 766, - 777, - 788, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - -1 + FRONTIER_MONS_COOLTRAINER_2C(LATIOS) }; const u16 gBattleFrontierTrainerMons_Bryon[] = { - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 799, - 836, - 837, - 838, - 839, - 840, - 841, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - -1 + FRONTIER_MONS_COOLTRAINER_2D(LATIOS) }; const u16 gBattleFrontierTrainerMons_Ava[] = { - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 564, - 565, - 566, - 567, - 568, - 569, - 570, - 571, - 572, - 573, - 574, - 575, - 576, - 577, - 578, - 579, - 580, - 581, - 582, - 583, - 584, - 585, - 586, - 587, - 660, - 661, - 662, - 663, - 664, - 665, - 666, - 667, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 683, - -1 + FRONTIER_MONS_COOLTRAINER_F_2A }; const u16 gBattleFrontierTrainerMons_Miriam[] = { - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - 501, - 502, - 503, - 504, - 505, - 506, - 507, - 508, - 509, - 510, - 511, - 512, - 513, - 514, - 515, - 588, - 589, - 590, - 591, - 592, - 593, - 594, - 595, - 596, - 597, - 598, - 599, - 600, - 601, - 602, - 603, - 604, - 605, - 606, - 607, - 608, - 609, - 610, - 611, - 684, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - -1 + FRONTIER_MONS_COOLTRAINER_F_2B }; const u16 gBattleFrontierTrainerMons_Carrie[] = { - 421, - 425, - 431, - 437, - 439, - 456, - 460, - 465, - 466, - 517, - 521, - 527, - 533, - 535, - 552, - 556, - 561, - 562, - 613, - 617, - 623, - 629, - 631, - 648, - 652, - 657, - 658, - 709, - 713, - 719, - 725, - 727, - 744, - 748, - 753, - 754, - 765, - 776, - 787, - 798, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 842, - 843, - 844, - 845, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - -1 + FRONTIER_MONS_COOLTRAINER_2C(LATIAS) }; const u16 gBattleFrontierTrainerMons_Gillian2[] = { - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - -1 + FRONTIER_MONS_COOLTRAINER_2D(LATIAS) }; const u16 gBattleFrontierTrainerMons_Tyler[] = { - 660, - 661, - 662, - 663, - 664, - 665, - 666, - 667, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 683, - 684, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - -1 + FRONTIER_MONS_GENERAL_A }; const u16 gBattleFrontierTrainerMons_Chaz[] = { - 564, - 565, - 566, - 567, - 568, - 569, - 570, - 571, - 572, - 573, - 574, - 575, - 576, - 577, - 578, - 579, - 580, - 581, - 582, - 583, - 584, - 585, - 586, - 587, - 588, - 589, - 590, - 591, - 592, - 593, - 594, - 595, - 596, - 597, - 598, - 599, - 600, - 601, - 602, - 603, - 604, - 605, - 606, - 607, - 608, - 609, - 610, - 611, - 612, - 613, - 614, - 615, - 616, - 617, - 618, - 619, - 620, - 621, - 622, - 623, - 624, - 625, - 626, - 627, - 628, - 629, - 630, - 631, - 632, - 633, - 634, - 635, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648, - 649, - 650, - 651, - 652, - 653, - 654, - 655, - 656, - 657, - 658, - 659, - -1 + FRONTIER_MONS_GENERAL_B }; const u16 gBattleFrontierTrainerMons_Nelson[] = { - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 799, - 836, - 837, - 838, - 839, - 840, - 841, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - -1 + FRONTIER_MONS_COOLTRAINER_2D(LATIOS) }; const u16 gBattleFrontierTrainerMons_Shania[] = { - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - 501, - 502, - 503, - 504, - 505, - 506, - 507, - 508, - 509, - 510, - 511, - 512, - 513, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 531, - 532, - 533, - 534, - 535, - 536, - 537, - 538, - 539, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - -1 + FRONTIER_MONS_GENERAL_C }; const u16 gBattleFrontierTrainerMons_Stella[] = { - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - -1 + FRONTIER_MONS_GENERAL_D }; const u16 gBattleFrontierTrainerMons_Dorine[] = { - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - -1 + FRONTIER_MONS_COOLTRAINER_2D(LATIAS) }; const u16 gBattleFrontierTrainerMons_Maddox[] = { - 403, - 412, - 413, - 414, - 433, - 435, - 440, - 450, - 454, - 456, - 459, - 461, - 463, - 465, - 499, - 508, - 509, - 510, - 529, - 531, - 536, - 546, - 550, - 552, - 555, - 557, - 559, - 561, - 595, - 604, - 605, - 606, - 625, - 627, - 632, - 642, - 646, - 648, - 651, - 653, - 655, - 657, - 691, - 700, - 701, - 702, - 721, - 723, - 728, - 738, - 742, - 744, - 747, - 749, - 751, - 753, - 765, - 766, - 776, - 777, - 787, - 788, - 798, - 799, - 828, - 829, - 830, - 831, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - -1 + FRONTIER_MONS_DRAGON_TAMER_2 }; const u16 gBattleFrontierTrainerMons_Davin[] = { - 403, - 412, - 413, - 414, - 433, - 435, - 440, - 450, - 454, - 456, - 459, - 461, - 463, - 465, - 499, - 508, - 509, - 510, - 529, - 531, - 536, - 546, - 550, - 552, - 555, - 557, - 559, - 561, - 595, - 604, - 605, - 606, - 625, - 627, - 632, - 642, - 646, - 648, - 651, - 653, - 655, - 657, - 691, - 700, - 701, - 702, - 721, - 723, - 728, - 738, - 742, - 744, - 747, - 749, - 751, - 753, - 765, - 766, - 776, - 777, - 787, - 788, - 798, - 799, - 828, - 829, - 830, - 831, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - -1 + FRONTIER_MONS_DRAGON_TAMER_2 }; const u16 gBattleFrontierTrainerMons_Trevon[] = { - 403, - 412, - 413, - 414, - 433, - 435, - 440, - 450, - 454, - 456, - 459, - 461, - 463, - 465, - 499, - 508, - 509, - 510, - 529, - 531, - 536, - 546, - 550, - 552, - 555, - 557, - 559, - 561, - 595, - 604, - 605, - 606, - 625, - 627, - 632, - 642, - 646, - 648, - 651, - 653, - 655, - 657, - 691, - 700, - 701, - 702, - 721, - 723, - 728, - 738, - 742, - 744, - 747, - 749, - 751, - 753, - 765, - 766, - 776, - 777, - 787, - 788, - 798, - 799, - 828, - 829, - 830, - 831, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - -1 + FRONTIER_MONS_DRAGON_TAMER_2 }; const u16 gBattleFrontierTrainerMons_Mateo[] = { - 373, - 382, - 390, - 402, - 403, - 416, - 417, - 424, - 431, - 432, - 435, - 450, - 451, - 469, - 480, - 486, - 498, - 499, - 512, - 513, - 520, - 527, - 528, - 531, - 546, - 547, - 565, - 574, - 582, - 594, - 595, - 608, - 609, - 616, - 623, - 624, - 627, - 642, - 643, - 661, - 670, - 678, - 690, - 691, - 704, - 705, - 712, - 719, - 720, - 723, - 738, - 739, - 808, - 809, - 810, - 811, - -1 + FRONTIER_MONS_BLACK_BELT_2A }; const u16 gBattleFrontierTrainerMons_Bret[] = { - 373, - 382, - 390, - 415, - 419, - 424, - 426, - 430, - 431, - 444, - 451, - 454, - 455, - 464, - 469, - 480, - 486, - 511, - 515, - 520, - 522, - 526, - 527, - 540, - 547, - 550, - 551, - 560, - 565, - 574, - 582, - 607, - 611, - 616, - 618, - 622, - 623, - 636, - 643, - 646, - 647, - 656, - 661, - 670, - 678, - 703, - 707, - 712, - 714, - 718, - 719, - 732, - 739, - 742, - 743, - 752, - 808, - 809, - 810, - 811, - -1 + FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2B }; const u16 gBattleFrontierTrainerMons_Raul[] = { - 373, - 382, - 383, - 386, - 390, - 423, - 424, - 431, - 433, - 450, - 451, - 466, - 469, - 480, - 481, - 482, - 486, - 519, - 520, - 527, - 529, - 546, - 547, - 562, - 565, - 574, - 575, - 578, - 582, - 615, - 616, - 623, - 625, - 642, - 643, - 658, - 661, - 670, - 671, - 674, - 678, - 711, - 712, - 719, - 721, - 738, - 739, - 754, - 808, - 809, - 810, - 811, - 832, - 833, - 834, - 835, - -1 + FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2C }; const u16 gBattleFrontierTrainerMons_Kay[] = { - 373, - 382, - 387, - 390, - 402, - 403, - 413, - 414, - 424, - 427, - 431, - 433, - 451, - 469, - 470, - 480, - 486, - 498, - 499, - 509, - 510, - 520, - 523, - 527, - 529, - 547, - 565, - 574, - 579, - 582, - 594, - 595, - 605, - 606, - 616, - 619, - 623, - 625, - 643, - 661, - 670, - 675, - 678, - 690, - 691, - 701, - 702, - 712, - 715, - 719, - 721, - 739, - 808, - 809, - 810, - 811, - -1 + FRONTIER_MONS_BATTLE_GIRL_2A }; const u16 gBattleFrontierTrainerMons_Elena[] = { - 373, - 382, - 390, - 415, - 419, - 424, - 426, - 430, - 431, - 444, - 451, - 454, - 455, - 464, - 469, - 480, - 486, - 511, - 515, - 520, - 522, - 526, - 527, - 540, - 547, - 550, - 551, - 560, - 565, - 574, - 582, - 607, - 611, - 616, - 618, - 622, - 623, - 636, - 643, - 646, - 647, - 656, - 661, - 670, - 678, - 703, - 707, - 712, - 714, - 718, - 719, - 732, - 739, - 742, - 743, - 752, - 808, - 809, - 810, - 811, - -1 + FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2B }; const u16 gBattleFrontierTrainerMons_Alana[] = { - 373, - 382, - 383, - 386, - 390, - 423, - 424, - 431, - 433, - 450, - 451, - 466, - 469, - 480, - 481, - 482, - 486, - 519, - 520, - 527, - 529, - 546, - 547, - 562, - 565, - 574, - 575, - 578, - 582, - 615, - 616, - 623, - 625, - 642, - 643, - 658, - 661, - 670, - 671, - 674, - 678, - 711, - 712, - 719, - 721, - 738, - 739, - 754, - 808, - 809, - 810, - 811, - 832, - 833, - 834, - 835, - -1 + FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2C }; const u16 gBattleFrontierTrainerMons_Alexas[] = { - 382, - 387, - 403, - 423, - 424, - 425, - 431, - 433, - 435, - 450, - 459, - 461, - 465, - 466, - 470, - 480, - 499, - 519, - 520, - 521, - 527, - 529, - 531, - 546, - 555, - 557, - 561, - 562, - 574, - 579, - 595, - 615, - 616, - 617, - 623, - 625, - 627, - 642, - 651, - 653, - 657, - 658, - 670, - 675, - 691, - 711, - 712, - 713, - 719, - 721, - 723, - 738, - 747, - 749, - 753, - 754, - 762, - 763, - 764, - 773, - 774, - 775, - 784, - 785, - 786, - 795, - 796, - 797, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - -1 + FRONTIER_MONS_EXPERT_2A(TYRANITAR) }; const u16 gBattleFrontierTrainerMons_Weston[] = { - 374, - 377, - 404, - 421, - 422, - 426, - 437, - 439, - 446, - 451, - 453, - 457, - 458, - 472, - 475, - 500, - 517, - 518, - 522, - 533, - 535, - 542, - 547, - 549, - 553, - 554, - 566, - 569, - 596, - 613, - 614, - 618, - 629, - 631, - 638, - 643, - 645, - 649, - 650, - 662, - 665, - 692, - 709, - 710, - 714, - 725, - 727, - 734, - 739, - 741, - 745, - 746, - 762, - 763, - 764, - 766, - 773, - 774, - 775, - 777, - 784, - 785, - 786, - 788, - 795, - 796, - 797, - 799, - 800, - 801, - 802, - 803, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 836, - 837, - 838, - 839, - 840, - 841, - 846, - 847, - 848, - 849, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - -1 + FRONTIER_MONS_EXPERT_2B(LATIOS) }; const u16 gBattleFrontierTrainerMons_Jasper[] = { - 378, - 388, - 400, - 409, - 410, - 411, - 416, - 429, - 432, - 438, - 447, - 452, - 456, - 460, - 462, - 463, - 471, - 476, - 496, - 505, - 506, - 507, - 512, - 525, - 528, - 534, - 543, - 548, - 552, - 556, - 558, - 559, - 570, - 580, - 592, - 601, - 602, - 603, - 608, - 621, - 624, - 630, - 639, - 644, - 648, - 652, - 654, - 655, - 666, - 676, - 688, - 697, - 698, - 699, - 704, - 717, - 720, - 726, - 735, - 740, - 744, - 748, - 750, - 751, - 762, - 763, - 764, - 773, - 774, - 775, - 784, - 785, - 786, - 795, - 796, - 797, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 836, - 837, - 838, - 839, - 840, - 841, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - -1 + FRONTIER_MONS_EXPERT_2C(TYRANITAR) }; const u16 gBattleFrontierTrainerMons_Nadia[] = { - 382, - 387, - 403, - 423, - 424, - 425, - 431, - 433, - 435, - 450, - 459, - 461, - 465, - 466, - 470, - 480, - 499, - 519, - 520, - 521, - 527, - 529, - 531, - 546, - 555, - 557, - 561, - 562, - 574, - 579, - 595, - 615, - 616, - 617, - 623, - 625, - 627, - 642, - 651, - 653, - 657, - 658, - 670, - 675, - 691, - 711, - 712, - 713, - 719, - 721, - 723, - 738, - 747, - 749, - 753, - 754, - 762, - 763, - 764, - 773, - 774, - 775, - 784, - 785, - 786, - 795, - 796, - 797, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - -1 + FRONTIER_MONS_EXPERT_2A(DRAGONITE) }; const u16 gBattleFrontierTrainerMons_Miranda[] = { - 374, - 377, - 404, - 421, - 422, - 426, - 437, - 439, - 446, - 451, - 453, - 457, - 458, - 472, - 475, - 500, - 517, - 518, - 522, - 533, - 535, - 542, - 547, - 549, - 553, - 554, - 566, - 569, - 596, - 613, - 614, - 618, - 629, - 631, - 638, - 643, - 645, - 649, - 650, - 662, - 665, - 692, - 709, - 710, - 714, - 725, - 727, - 734, - 739, - 741, - 745, - 746, - 762, - 763, - 764, - 765, - 773, - 774, - 775, - 776, - 784, - 785, - 786, - 787, - 795, - 796, - 797, - 798, - 800, - 801, - 802, - 803, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - -1 + FRONTIER_MONS_EXPERT_2B(LATIAS) }; const u16 gBattleFrontierTrainerMons_Emma[] = { - 378, - 388, - 400, - 409, - 410, - 411, - 416, - 429, - 432, - 438, - 447, - 452, - 456, - 460, - 462, - 463, - 471, - 476, - 496, - 505, - 506, - 507, - 512, - 525, - 528, - 534, - 543, - 548, - 552, - 556, - 558, - 559, - 570, - 580, - 592, - 601, - 602, - 603, - 608, - 621, - 624, - 630, - 639, - 644, - 648, - 652, - 654, - 655, - 666, - 676, - 688, - 697, - 698, - 699, - 704, - 717, - 720, - 726, - 735, - 740, - 744, - 748, - 750, - 751, - 762, - 763, - 764, - 773, - 774, - 775, - 784, - 785, - 786, - 795, - 796, - 797, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 836, - 837, - 838, - 839, - 840, - 841, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - -1 + FRONTIER_MONS_EXPERT_2C(DRAGONITE) }; const u16 gBattleFrontierTrainerMons_Rolando[] = { - 185, - 290, - 377, - 380, - 385, - 401, - 404, - 409, - 410, - 428, - 437, - 438, - 439, - 446, - 466, - 475, - 478, - 484, - 497, - 500, - 505, - 506, - 524, - 533, - 534, - 535, - 542, - 562, - 569, - 572, - 577, - 593, - 596, - 601, - 602, - 620, - 629, - 630, - 631, - 638, - 658, - 665, - 668, - 673, - 689, - 692, - 697, - 698, - 716, - 725, - 726, - 727, - 734, - 754, - 756, - 757, - 758, - 766, - 767, - 768, - 769, - 777, - 778, - 779, - 780, - 788, - 789, - 790, - 791, - 799, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 832, - 833, - 834, - 835, - 846, - 847, - 848, - 849, - 870, - 871, - 872, - 873, - 874, - 875, - -1 + FRONTIER_MONS_PSYCHIC_2A(LATIOS) }; const u16 gBattleFrontierTrainerMons_Stanly[] = { - 185, - 290, - 377, - 380, - 385, - 401, - 404, - 409, - 410, - 428, - 437, - 438, - 439, - 446, - 466, - 475, - 478, - 484, - 497, - 500, - 505, - 506, - 524, - 533, - 534, - 535, - 542, - 562, - 569, - 572, - 577, - 593, - 596, - 601, - 602, - 620, - 629, - 630, - 631, - 638, - 658, - 665, - 668, - 673, - 689, - 692, - 697, - 698, - 716, - 725, - 726, - 727, - 734, - 754, - 759, - 760, - 761, - 766, - 770, - 771, - 772, - 777, - 781, - 782, - 783, - 788, - 792, - 793, - 794, - 799, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 832, - 833, - 834, - 835, - 846, - 847, - 848, - 849, - 876, - 877, - 878, - 879, - 880, - 881, - -1 + FRONTIER_MONS_PSYCHIC_2B(LATIOS) }; const u16 gBattleFrontierTrainerMons_Dario[] = { - 185, - 290, - 377, - 380, - 385, - 401, - 404, - 409, - 410, - 428, - 437, - 438, - 439, - 446, - 466, - 475, - 478, - 484, - 497, - 500, - 505, - 506, - 524, - 533, - 534, - 535, - 542, - 562, - 569, - 572, - 577, - 593, - 596, - 601, - 602, - 620, - 629, - 630, - 631, - 638, - 658, - 665, - 668, - 673, - 689, - 692, - 697, - 698, - 716, - 725, - 726, - 727, - 734, - 754, - 762, - 763, - 764, - 766, - 773, - 774, - 775, - 777, - 784, - 785, - 786, - 788, - 795, - 796, - 797, - 799, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 846, - 847, - 848, - 849, - -1 + FRONTIER_MONS_PSYCHIC_2C(LATIOS) }; const u16 gBattleFrontierTrainerMons_Karlee[] = { - 185, - 290, - 377, - 380, - 385, - 401, - 404, - 409, - 410, - 428, - 437, - 438, - 439, - 446, - 466, - 475, - 478, - 484, - 497, - 500, - 505, - 506, - 524, - 533, - 534, - 535, - 542, - 562, - 569, - 572, - 577, - 593, - 596, - 601, - 602, - 620, - 629, - 630, - 631, - 638, - 658, - 665, - 668, - 673, - 689, - 692, - 697, - 698, - 716, - 725, - 726, - 727, - 734, - 754, - 756, - 757, - 758, - 765, - 767, - 768, - 769, - 776, - 778, - 779, - 780, - 787, - 789, - 790, - 791, - 798, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 832, - 833, - 834, - 835, - 842, - 843, - 844, - 845, - 870, - 871, - 872, - 873, - 874, - 875, - -1 + FRONTIER_MONS_PSYCHIC_2A(LATIAS) }; const u16 gBattleFrontierTrainerMons_Jaylin[] = { - 185, - 290, - 377, - 380, - 385, - 401, - 404, - 409, - 410, - 428, - 437, - 438, - 439, - 446, - 466, - 475, - 478, - 484, - 497, - 500, - 505, - 506, - 524, - 533, - 534, - 535, - 542, - 562, - 569, - 572, - 577, - 593, - 596, - 601, - 602, - 620, - 629, - 630, - 631, - 638, - 658, - 665, - 668, - 673, - 689, - 692, - 697, - 698, - 716, - 725, - 726, - 727, - 734, - 754, - 759, - 760, - 761, - 765, - 770, - 771, - 772, - 776, - 781, - 782, - 783, - 787, - 792, - 793, - 794, - 798, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 832, - 833, - 834, - 835, - 842, - 843, - 844, - 845, - 876, - 877, - 878, - 879, - 880, - 881, - -1 + FRONTIER_MONS_PSYCHIC_2B(LATIAS) }; const u16 gBattleFrontierTrainerMons_Ingrid[] = { - 185, - 290, - 377, - 380, - 385, - 401, - 404, - 409, - 410, - 428, - 437, - 438, - 439, - 446, - 466, - 475, - 478, - 484, - 497, - 500, - 505, - 506, - 524, - 533, - 534, - 535, - 542, - 562, - 569, - 572, - 577, - 593, - 596, - 601, - 602, - 620, - 629, - 630, - 631, - 638, - 658, - 665, - 668, - 673, - 689, - 692, - 697, - 698, - 716, - 725, - 726, - 727, - 734, - 754, - 762, - 763, - 764, - 765, - 773, - 774, - 775, - 776, - 784, - 785, - 786, - 787, - 795, - 796, - 797, - 798, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - -1 + FRONTIER_MONS_PSYCHIC_2C(LATIAS) }; const u16 gBattleFrontierTrainerMons_Delilah[] = { - 347, - 352, - 374, - 378, - 398, - 421, - 426, - 447, - 472, - 476, - 494, - 517, - 522, - 543, - 566, - 570, - 590, - 613, - 618, - 639, - 662, - 666, - 686, - 709, - 714, - 735, - 800, - 801, - 802, - 803, - -1 + FRONTIER_MONS_HEX_MANIAC_2A }; const u16 gBattleFrontierTrainerMons_Carly[] = { - 344, - 374, - 378, - 394, - 395, - 405, - 413, - 414, - 420, - 421, - 434, - 441, - 457, - 472, - 476, - 490, - 491, - 501, - 509, - 510, - 516, - 517, - 530, - 537, - 553, - 566, - 570, - 586, - 587, - 597, - 605, - 606, - 612, - 613, - 626, - 633, - 649, - 662, - 666, - 682, - 683, - 693, - 701, - 702, - 708, - 709, - 722, - 729, - 745, - 800, - 801, - 802, - 803, - -1 + FRONTIER_MONS_HEX_MANIAC_2B }; const u16 gBattleFrontierTrainerMons_Lexie[] = { - 344, - 347, - 352, - 394, - 395, - 398, - 405, - 413, - 414, - 420, - 421, - 426, - 434, - 441, - 447, - 457, - 490, - 491, - 494, - 501, - 509, - 510, - 516, - 517, - 522, - 530, - 537, - 543, - 553, - 586, - 587, - 590, - 597, - 605, - 606, - 612, - 613, - 618, - 626, - 633, - 639, - 649, - 682, - 683, - 686, - 693, - 701, - 702, - 708, - 709, - 714, - 722, - 729, - 735, - 745, - 800, - 801, - 802, - 803, - -1 + FRONTIER_MONS_HEX_MANIAC_2C }; const u16 gBattleFrontierTrainerMons_Miller[] = { - 345, - 376, - 386, - 387, - 397, - 399, - 402, - 403, - 406, - 408, - 411, - 413, - 414, - 425, - 427, - 429, - 433, - 435, - 440, - 441, - 445, - 448, - 449, - 450, - 452, - 454, - 456, - 458, - 459, - 460, - 462, - 465, - 466, - 467, - 470, - 474, - 482, - 493, - 495, - 498, - 499, - 502, - 504, - 507, - 509, - 510, - 521, - 523, - 525, - 529, - 531, - 536, - 537, - 541, - 544, - 545, - 546, - 548, - 550, - 552, - 554, - 555, - 556, - 558, - 561, - 562, - 563, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - -1 + FRONTIER_MONS_POKEMANIAC_2A }; const u16 gBattleFrontierTrainerMons_Marv[] = { - 345, - 568, - 578, - 579, - 589, - 591, - 594, - 595, - 598, - 600, - 603, - 605, - 606, - 617, - 619, - 621, - 625, - 627, - 632, - 633, - 637, - 640, - 641, - 642, - 644, - 646, - 648, - 650, - 651, - 652, - 654, - 657, - 658, - 659, - 664, - 674, - 675, - 685, - 687, - 690, - 691, - 694, - 696, - 699, - 701, - 702, - 713, - 715, - 717, - 721, - 723, - 728, - 729, - 733, - 736, - 737, - 738, - 740, - 742, - 744, - 746, - 747, - 748, - 750, - 753, - 754, - 755, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - -1 + FRONTIER_MONS_POKEMANIAC_2B }; const u16 gBattleFrontierTrainerMons_Layton[] = { - 345, - 425, - 433, - 435, - 445, - 450, - 454, - 456, - 458, - 459, - 460, - 465, - 466, - 521, - 529, - 531, - 541, - 546, - 550, - 552, - 554, - 555, - 556, - 561, - 562, - 617, - 625, - 627, - 637, - 642, - 646, - 648, - 650, - 651, - 652, - 657, - 658, - 713, - 721, - 723, - 733, - 738, - 742, - 744, - 746, - 747, - 748, - 753, - 754, - 804, - 805, - 806, - 807, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - -1 + FRONTIER_MONS_POKEMANIAC_2C }; const u16 gBattleFrontierTrainerMons_Brooks[] = { - 660, - 661, - 662, - 663, - 664, - 665, - 666, - 667, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 683, - 684, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - -1 + FRONTIER_MONS_GENERAL_A }; const u16 gBattleFrontierTrainerMons_Gregory[] = { - 421, - 425, - 431, - 437, - 439, - 456, - 460, - 465, - 466, - 517, - 521, - 527, - 533, - 535, - 552, - 556, - 561, - 562, - 613, - 617, - 623, - 629, - 631, - 648, - 652, - 657, - 658, - 709, - 713, - 719, - 725, - 727, - 744, - 748, - 753, - 754, - 765, - 766, - 776, - 777, - 787, - 788, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - -1 + FRONTIER_MONS_GENTLEMAN_3A }; const u16 gBattleFrontierTrainerMons_Reese[] = { - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - -1 + FRONTIER_MONS_GENTLEMAN_3B }; const u16 gBattleFrontierTrainerMons_Mason[] = { - 660, - 661, - 662, - 663, - 664, - 665, - 666, - 667, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 683, - 684, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - -1 + FRONTIER_MONS_GENERAL_A }; const u16 gBattleFrontierTrainerMons_Toby[] = { - 564, - 565, - 566, - 567, - 568, - 569, - 570, - 571, - 572, - 573, - 574, - 575, - 576, - 577, - 578, - 579, - 580, - 581, - 582, - 583, - 584, - 585, - 586, - 587, - 588, - 589, - 590, - 591, - 592, - 593, - 594, - 595, - 596, - 597, - 598, - 599, - 600, - 601, - 602, - 603, - 604, - 605, - 606, - 607, - 608, - 609, - 610, - 611, - 612, - 613, - 614, - 615, - 616, - 617, - 618, - 619, - 620, - 621, - 622, - 623, - 624, - 625, - 626, - 627, - 628, - 629, - 630, - 631, - 632, - 633, - 634, - 635, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648, - 649, - 650, - 651, - 652, - 653, - 654, - 655, - 656, - 657, - 658, - 659, - -1 + FRONTIER_MONS_GENERAL_B }; const u16 gBattleFrontierTrainerMons_Dorothy[] = { - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - 501, - 502, - 503, - 504, - 505, - 506, - 507, - 508, - 509, - 510, - 511, - 512, - 513, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 531, - 532, - 533, - 534, - 535, - 536, - 537, - 538, - 539, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - -1 + FRONTIER_MONS_GENERAL_C }; const u16 gBattleFrontierTrainerMons_Piper[] = { - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - -1 + FRONTIER_MONS_GENERAL_D }; const u16 gBattleFrontierTrainerMons_Finn[] = { - 317, - 371, - 373, - 377, - 390, - 392, - 399, - 431, - 452, - 456, - 469, - 475, - 486, - 488, - 495, - 527, - 548, - 552, - 565, - 569, - 573, - 576, - 580, - 582, - 584, - 591, - 592, - 601, - 602, - 610, - 621, - 623, - 626, - 631, - 634, - 640, - 641, - 644, - 648, - 650, - 651, - 653, - 655, - 661, - 665, - 669, - 672, - 676, - 678, - 680, - 687, - 688, - 697, - 698, - 706, - 717, - 719, - 722, - 727, - 730, - 736, - 737, - 740, - 744, - 746, - 747, - 749, - 751, - 808, - 809, - 810, - 811, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - -1 + FRONTIER_MONS_SWIMMING_TRIATHLETE_M_3 }; const u16 gBattleFrontierTrainerMons_Samir[] = { - 317, - 371, - 373, - 377, - 390, - 392, - 399, - 431, - 452, - 456, - 469, - 475, - 486, - 488, - 495, - 527, - 548, - 552, - 565, - 569, - 573, - 576, - 580, - 582, - 584, - 591, - 592, - 601, - 602, - 610, - 621, - 623, - 626, - 631, - 634, - 640, - 641, - 644, - 648, - 650, - 651, - 653, - 655, - 661, - 665, - 669, - 672, - 676, - 678, - 680, - 687, - 688, - 697, - 698, - 706, - 717, - 719, - 722, - 727, - 730, - 736, - 737, - 740, - 744, - 746, - 747, - 749, - 751, - 808, - 809, - 810, - 811, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - -1 + FRONTIER_MONS_SWIMMING_TRIATHLETE_M_3 }; const u16 gBattleFrontierTrainerMons_Fiona[] = { - 317, - 371, - 373, - 377, - 381, - 384, - 388, - 390, - 392, - 399, - 400, - 409, - 410, - 418, - 429, - 431, - 434, - 439, - 442, - 448, - 449, - 452, - 456, - 458, - 459, - 461, - 463, - 469, - 471, - 475, - 479, - 483, - 486, - 488, - 495, - 496, - 505, - 506, - 514, - 525, - 527, - 530, - 535, - 538, - 544, - 545, - 548, - 552, - 554, - 555, - 557, - 559, - 565, - 569, - 582, - 584, - 591, - 623, - 644, - 648, - 661, - 665, - 678, - 680, - 687, - 719, - 740, - 744, - 808, - 809, - 810, - 811, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - -1 + FRONTIER_MONS_SWIMMING_TRIATHLETE_F_3 }; const u16 gBattleFrontierTrainerMons_Gloria[] = { - 317, - 371, - 373, - 377, - 381, - 384, - 388, - 390, - 392, - 399, - 400, - 409, - 410, - 418, - 429, - 431, - 434, - 439, - 442, - 448, - 449, - 452, - 456, - 458, - 459, - 461, - 463, - 469, - 471, - 475, - 479, - 483, - 486, - 488, - 495, - 496, - 505, - 506, - 514, - 525, - 527, - 530, - 535, - 538, - 544, - 545, - 548, - 552, - 554, - 555, - 557, - 559, - 565, - 569, - 582, - 584, - 591, - 623, - 644, - 648, - 661, - 665, - 678, - 680, - 687, - 719, - 740, - 744, - 808, - 809, - 810, - 811, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - -1 + FRONTIER_MONS_SWIMMING_TRIATHLETE_F_3 }; const u16 gBattleFrontierTrainerMons_Nico[] = { - 660, - 661, - 662, - 663, - 664, - 665, - 666, - 667, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 683, - 684, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - -1 + FRONTIER_MONS_GENERAL_A }; const u16 gBattleFrontierTrainerMons_Jeremy[] = { - 564, - 565, - 566, - 567, - 568, - 569, - 570, - 571, - 572, - 573, - 574, - 575, - 576, - 577, - 578, - 579, - 580, - 581, - 582, - 583, - 584, - 585, - 586, - 587, - 588, - 589, - 590, - 591, - 592, - 593, - 594, - 595, - 596, - 597, - 598, - 599, - 600, - 601, - 602, - 603, - 604, - 605, - 606, - 607, - 608, - 609, - 610, - 611, - 612, - 613, - 614, - 615, - 616, - 617, - 618, - 619, - 620, - 621, - 622, - 623, - 624, - 625, - 626, - 627, - 628, - 629, - 630, - 631, - 632, - 633, - 634, - 635, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648, - 649, - 650, - 651, - 652, - 653, - 654, - 655, - 656, - 657, - 658, - 659, - -1 + FRONTIER_MONS_GENERAL_B }; const u16 gBattleFrontierTrainerMons_Caitlin[] = { - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - 501, - 502, - 503, - 504, - 505, - 506, - 507, - 508, - 509, - 510, - 511, - 512, - 513, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 531, - 532, - 533, - 534, - 535, - 536, - 537, - 538, - 539, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - -1 + FRONTIER_MONS_GENERAL_C }; const u16 gBattleFrontierTrainerMons_Reena[] = { - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - -1 + FRONTIER_MONS_GENERAL_D }; const u16 gBattleFrontierTrainerMons_Avery[] = { - 21, - 238, - 282, - 303, - 331, - 343, - 368, - 369, - 383, - 417, - 423, - 424, - 432, - 481, - 513, - 519, - 520, - 528, - 575, - 609, - 615, - 616, - 624, - 671, - 705, - 711, - 712, - 720, - -1 + FRONTIER_MONS_BUG_MANIAC_4 }; const u16 gBattleFrontierTrainerMons_Liam[] = { - 21, - 238, - 282, - 303, - 331, - 343, - 368, - 369, - 383, - 417, - 423, - 424, - 432, - 481, - 513, - 519, - 520, - 528, - 575, - 609, - 615, - 616, - 624, - 671, - 705, - 711, - 712, - 720, - -1 + FRONTIER_MONS_BUG_MANIAC_4 }; const u16 gBattleFrontierTrainerMons_Theo[] = { - 333, - 347, - 350, - 354, - 358, - 361, - 362, - 363, - 364, - 371, - 381, - 384, - 429, - 434, - 439, - 479, - 483, - 525, - 530, - 535, - 573, - 576, - 621, - 626, - 631, - 669, - 672, - 717, - 722, - 727, - 816, - 817, - 818, - 819, - -1 + FRONTIER_MONS_FISHERMAN_3 }; const u16 gBattleFrontierTrainerMons_Bailey[] = { - 333, - 347, - 350, - 354, - 358, - 361, - 362, - 363, - 364, - 371, - 381, - 384, - 429, - 434, - 439, - 479, - 483, - 525, - 530, - 535, - 573, - 576, - 621, - 626, - 631, - 669, - 672, - 717, - 722, - 727, - 816, - 817, - 818, - 819, - -1 + FRONTIER_MONS_FISHERMAN_3 }; const u16 gBattleFrontierTrainerMons_Hugo[] = { - 383, - 386, - 402, - 403, - 416, - 417, - 423, - 432, - 433, - 435, - 450, - 466, - 481, - 482, - 498, - 499, - 512, - 513, - 519, - 528, - 529, - 531, - 546, - 562, - 575, - 578, - 594, - 595, - 608, - 609, - 615, - 624, - 625, - 627, - 642, - 658, - 671, - 674, - 690, - 691, - 704, - 705, - 711, - 720, - 721, - 723, - 738, - 754, - 762, - 763, - 764, - 773, - 774, - 775, - 784, - 785, - 786, - 795, - 796, - 797, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - -1 + FRONTIER_MONS_RUIN_MANIAC_4 }; const u16 gBattleFrontierTrainerMons_Bryce[] = { - 383, - 386, - 402, - 403, - 416, - 417, - 423, - 432, - 433, - 435, - 450, - 466, - 481, - 482, - 498, - 499, - 512, - 513, - 519, - 528, - 529, - 531, - 546, - 562, - 575, - 578, - 594, - 595, - 608, - 609, - 615, - 624, - 625, - 627, - 642, - 658, - 671, - 674, - 690, - 691, - 704, - 705, - 711, - 720, - 721, - 723, - 738, - 754, - 762, - 763, - 764, - 773, - 774, - 775, - 784, - 785, - 786, - 795, - 796, - 797, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - -1 + FRONTIER_MONS_RUIN_MANIAC_4 }; const u16 gBattleFrontierTrainerMons_Gideon[] = { - 441, - 445, - 448, - 449, - 451, - 453, - 454, - 455, - 458, - 537, - 541, - 544, - 545, - 547, - 549, - 550, - 551, - 554, - 633, - 637, - 640, - 641, - 643, - 645, - 646, - 647, - 650, - 729, - 733, - 736, - 737, - 739, - 741, - 742, - 743, - 746, - -1 + FRONTIER_MONS_COLLECTOR_3 }; const u16 gBattleFrontierTrainerMons_Triston[] = { - 441, - 445, - 448, - 449, - 451, - 453, - 454, - 455, - 458, - 537, - 541, - 544, - 545, - 547, - 549, - 550, - 551, - 554, - 633, - 637, - 640, - 641, - 643, - 645, - 646, - 647, - 650, - 729, - 733, - 736, - 737, - 739, - 741, - 742, - 743, - 746, - -1 + FRONTIER_MONS_COLLECTOR_3 }; const u16 gBattleFrontierTrainerMons_Charles[] = { - 352, - 381, - 391, - 393, - 396, - 398, - 407, - 422, - 426, - 443, - 447, - 479, - 487, - 489, - 492, - 494, - 503, - 518, - 522, - 539, - 543, - 573, - 583, - 585, - 588, - 590, - 599, - 614, - 618, - 635, - 639, - 669, - 679, - 681, - 684, - 686, - 695, - 710, - 714, - 731, - 735, - 756, - 757, - 758, - 767, - 768, - 769, - 778, - 779, - 780, - 789, - 790, - 791, - 870, - 871, - 872, - 873, - 874, - 875, - -1 + FRONTIER_MONS_GUITARIST_3A }; const u16 gBattleFrontierTrainerMons_Raymond[] = { - 374, - 376, - 381, - 404, - 407, - 422, - 439, - 443, - 459, - 472, - 500, - 506, - 507, - 518, - 532, - 546, - 566, - 585, - 588, - 628, - 635, - 679, - 681, - 684, - 710, - 731, - 785, - 795, - 796, - 797, - 817, - 842, - 843, - 846, - 847, - -1 + FRONTIER_MONS_GUITARIST_3B }; const u16 gBattleFrontierTrainerMons_Dirk[] = { - 355, - 375, - 379, - 385, - 386, - 412, - 435, - 440, - 454, - 457, - 459, - 465, - 473, - 477, - 482, - 484, - 508, - 531, - 536, - 550, - 553, - 555, - 561, - 567, - 571, - 577, - 578, - 604, - 627, - 632, - 646, - 649, - 651, - 657, - 663, - 667, - 673, - 674, - 700, - 723, - 728, - 742, - 745, - 747, - 753, - 756, - 757, - 758, - 767, - 768, - 769, - 778, - 779, - 780, - 789, - 790, - 791, - 828, - 829, - 830, - 831, - -1 + FRONTIER_MONS_BIRD_KEEPER_3 }; const u16 gBattleFrontierTrainerMons_Harold[] = { - 355, - 375, - 379, - 385, - 386, - 412, - 435, - 440, - 454, - 457, - 459, - 465, - 473, - 477, - 482, - 484, - 508, - 531, - 536, - 550, - 553, - 555, - 561, - 567, - 571, - 577, - 578, - 604, - 627, - 632, - 646, - 649, - 651, - 657, - 663, - 667, - 673, - 674, - 700, - 723, - 728, - 742, - 745, - 747, - 753, - 756, - 757, - 758, - 767, - 768, - 769, - 778, - 779, - 780, - 789, - 790, - 791, - 828, - 829, - 830, - 831, - -1 + FRONTIER_MONS_BIRD_KEEPER_3 }; const u16 gBattleFrontierTrainerMons_Omar[] = { - 373, - 388, - 390, - 392, - 400, - 409, - 410, - 418, - 431, - 442, - 448, - 449, - 452, - 456, - 458, - 459, - 461, - 463, - 469, - 471, - 486, - 488, - 496, - 505, - 506, - 514, - 527, - 538, - 544, - 545, - 548, - 552, - 554, - 555, - 557, - 559, - 565, - 580, - 582, - 584, - 592, - 601, - 602, - 610, - 623, - 634, - 640, - 641, - 644, - 648, - 650, - 651, - 653, - 655, - 661, - 676, - 678, - 680, - 688, - 697, - 698, - 706, - 719, - 730, - 736, - 737, - 740, - 744, - 746, - 747, - 749, - 751, - 808, - 809, - 810, - 811, - 820, - 821, - 822, - 823, - -1 + FRONTIER_MONS_SAILOR_3 }; const u16 gBattleFrontierTrainerMons_Peter[] = { - 373, - 388, - 390, - 392, - 400, - 409, - 410, - 418, - 431, - 442, - 448, - 449, - 452, - 456, - 458, - 459, - 461, - 463, - 469, - 471, - 486, - 488, - 496, - 505, - 506, - 514, - 527, - 538, - 544, - 545, - 548, - 552, - 554, - 555, - 557, - 559, - 565, - 580, - 582, - 584, - 592, - 601, - 602, - 610, - 623, - 634, - 640, - 641, - 644, - 648, - 650, - 651, - 653, - 655, - 661, - 676, - 678, - 680, - 688, - 697, - 698, - 706, - 719, - 730, - 736, - 737, - 740, - 744, - 746, - 747, - 749, - 751, - 808, - 809, - 810, - 811, - 820, - 821, - 822, - 823, - -1 + FRONTIER_MONS_SAILOR_3 }; const u16 gBattleFrontierTrainerMons_Dev[] = { - 372, - 387, - 402, - 403, - 413, - 414, - 416, - 417, - 427, - 428, - 432, - 433, - 435, - 440, - 450, - 466, - 468, - 470, - 498, - 499, - 509, - 510, - 512, - 513, - 523, - 524, - 528, - 529, - 531, - 536, - 546, - 562, - 564, - 579, - 594, - 595, - 605, - 606, - 608, - 609, - 619, - 620, - 624, - 625, - 627, - 632, - 642, - 658, - 660, - 675, - 690, - 691, - 701, - 702, - 704, - 705, - 715, - 716, - 720, - 721, - 723, - 728, - 738, - 754, - 832, - 833, - 834, - 835, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - -1 + FRONTIER_MONS_HIKER_3 }; const u16 gBattleFrontierTrainerMons_Corey[] = { - 372, - 387, - 402, - 403, - 413, - 414, - 416, - 417, - 427, - 428, - 432, - 433, - 435, - 440, - 450, - 466, - 468, - 470, - 498, - 499, - 509, - 510, - 512, - 513, - 523, - 524, - 528, - 529, - 531, - 536, - 546, - 562, - 564, - 579, - 594, - 595, - 605, - 606, - 608, - 609, - 619, - 620, - 624, - 625, - 627, - 632, - 642, - 658, - 660, - 675, - 690, - 691, - 701, - 702, - 704, - 705, - 715, - 716, - 720, - 721, - 723, - 728, - 738, - 754, - 832, - 833, - 834, - 835, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - -1 + FRONTIER_MONS_HIKER_3 }; const u16 gBattleFrontierTrainerMons_Andre[] = { - 374, - 378, - 415, - 419, - 421, - 426, - 430, - 444, - 451, - 454, - 455, - 464, - 472, - 476, - 511, - 515, - 517, - 522, - 526, - 540, - 547, - 550, - 551, - 560, - 566, - 570, - 607, - 611, - 613, - 618, - 622, - 636, - 643, - 646, - 647, - 656, - 662, - 666, - 703, - 707, - 709, - 714, - 718, - 732, - 739, - 742, - 743, - 752, - 800, - 801, - 802, - 803, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - -1 + FRONTIER_MONS_KINDLER_3 }; const u16 gBattleFrontierTrainerMons_Ferris[] = { - 374, - 378, - 415, - 419, - 421, - 426, - 430, - 444, - 451, - 454, - 455, - 464, - 472, - 476, - 511, - 515, - 517, - 522, - 526, - 540, - 547, - 550, - 551, - 560, - 566, - 570, - 607, - 611, - 613, - 618, - 622, - 636, - 643, - 646, - 647, - 656, - 662, - 666, - 703, - 707, - 709, - 714, - 718, - 732, - 739, - 742, - 743, - 752, - 800, - 801, - 802, - 803, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - -1 + FRONTIER_MONS_KINDLER_3 }; const u16 gBattleFrontierTrainerMons_Alivia[] = { - 399, - 400, - 409, - 422, - 438, - 441, - 445, - 448, - 449, - 451, - 452, - 454, - 455, - 489, - 492, - 493, - 503, - 526, - 532, - 535, - 536, - 560, - 573, - 583, - 590, - 592, - 608, - 611, - 620, - 651, - 682, - 688, - 714, - 729, - 732, - -1 + FRONTIER_MONS_PARASOL_LADY_3 }; const u16 gBattleFrontierTrainerMons_Paige[] = { - 399, - 400, - 409, - 422, - 438, - 441, - 445, - 448, - 449, - 451, - 452, - 454, - 455, - 489, - 492, - 493, - 503, - 526, - 532, - 535, - 536, - 560, - 573, - 583, - 590, - 592, - 608, - 611, - 620, - 651, - 682, - 688, - 714, - 729, - 732, - -1 + FRONTIER_MONS_PARASOL_LADY_3 }; const u16 gBattleFrontierTrainerMons_Anya[] = { - 442, - 443, - 444, - 446, - 447, - 538, - 539, - 540, - 542, - 543, - 634, - 635, - 636, - 638, - 639, - 730, - 731, - 732, - 734, - 735, - -1 + FRONTIER_MONS_EEVEELUTIONS }; const u16 gBattleFrontierTrainerMons_Dawn[] = { - 377, - 381, - 410, - 421, - 422, - 443, - 456, - 460, - 461, - 471, - 472, - 473, - 484, - 491, - 502, - 503, - 507, - 508, - 515, - 520, - 540, - 549, - 569, - 574, - 583, - 586, - 601, - 622, - 624, - 639, - 644, - 655, - 734, - 804, - 810, - 815, - 823, - 831, - 843, - -1 + FRONTIER_MONS_BEAUTY_2 }; const u16 gBattleFrontierTrainerMons_Abby[] = { - 185, - 290, - 313, - 334, - 348, - 359, - 360, - 377, - 380, - 382, - 385, - 394, - 395, - 398, - 400, - 401, - 404, - 409, - 410, - 416, - 437, - 438, - 439, - 441, - 445, - 446, - 453, - 475, - 478, - 480, - 484, - 490, - 491, - 494, - 496, - 497, - 500, - 505, - 506, - 512, - 533, - 534, - 535, - 537, - 541, - 542, - 549, - 569, - 572, - 574, - 577, - 586, - 587, - 590, - 592, - 593, - 596, - 601, - 602, - 608, - 629, - 630, - 631, - 633, - 637, - 638, - 645, - 665, - 668, - 670, - 673, - 682, - 683, - 686, - 688, - 689, - 692, - 697, - 698, - 704, - 725, - 726, - 727, - 729, - 733, - 734, - 741, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - -1 + FRONTIER_MONS_AROMA_LADY_3 }; const u16 gBattleFrontierTrainerMons_Gretel[] = { - 185, - 290, - 313, - 334, - 348, - 359, - 360, - 377, - 380, - 382, - 385, - 394, - 395, - 398, - 400, - 401, - 404, - 409, - 410, - 416, - 437, - 438, - 439, - 441, - 445, - 446, - 453, - 475, - 478, - 480, - 484, - 490, - 491, - 494, - 496, - 497, - 500, - 505, - 506, - 512, - 533, - 534, - 535, - 537, - 541, - 542, - 549, - 569, - 572, - 574, - 577, - 586, - 587, - 590, - 592, - 593, - 596, - 601, - 602, - 608, - 629, - 630, - 631, - 633, - 637, - 638, - 645, - 665, - 668, - 670, - 673, - 682, - 683, - 686, - 688, - 689, - 692, - 697, - 698, - 704, - 725, - 726, - 727, - 729, - 733, - 734, - 741, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - -1 + FRONTIER_MONS_AROMA_LADY_3 }; diff --git a/src/data/battle_frontier/battle_frontier_trainers.h b/src/data/battle_frontier/battle_frontier_trainers.h index faef406567..bbd88d76f0 100644 --- a/src/data/battle_frontier/battle_frontier_trainers.h +++ b/src/data/battle_frontier/battle_frontier_trainers.h @@ -1,2403 +1,2403 @@ -const struct BattleFrontierTrainer gBattleFrontierTrainers[] = +const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COUNT] = { - [0] = { + [FRONTIER_TRAINER_BRADY] = { .facilityClass = FACILITY_CLASS_YOUNGSTER, .trainerName = _("BRADY"), .speechBefore = {EC_WORD_I_AM, EC_WORD_NEVER, EC_WORD_GOING, EC_WORD_TO, EC_WORD_LOSE, EC_WORD_EXCL}, .speechWin = {EC_WORD_I_AM, EC_WORD_STRONG, EC_WORD_AREN_T, EC_WORD_I, EC_WORD_QUES, 0xFFFF}, .speechLose = {EC_WORD_WHAT, EC_WORD_QUES, 0xFFFF, EC_WORD_BUT, EC_WORD_HOW, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Brady + .monSet = gBattleFrontierTrainerMons_Brady }, - [1] = { + [FRONTIER_TRAINER_CONNER] = { .facilityClass = FACILITY_CLASS_YOUNGSTER, .trainerName = _("CONNER"), .speechBefore = {EC_WORD_LOSING, EC_WORD_DOESN_T, EC_WORD_BUG, EC_WORD_ME, 0xFFFF, 0xFFFF}, .speechWin = {EC_WORD_A, EC_WORD_WIN, EC_WORD_IS, EC_WORD_JUST, EC_WORD_AWESOME, 0xFFFF}, .speechLose = {EC_WORD_DARN, EC_WORD_ELLIPSIS, EC_WORD_LOSING, EC_WORD_DOES, EC_WORD_BUG, EC_WORD_ME}, - .monSets = gBattleFrontierTrainerMons_Conner + .monSet = gBattleFrontierTrainerMons_Conner }, - [2] = { + [FRONTIER_TRAINER_BRADLEY] = { .facilityClass = FACILITY_CLASS_YOUNGSTER, .trainerName = _("BRADLEY"), .speechBefore = {EC_WORD_HEY_THERE, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_MY, EC_WORD_OPPONENT, EC_WORD_TODAY}, .speechWin = {EC_WORD_HAHAHA, EC_WORD_EXCL, 0xFFFF, EC_WORD_SEE_YA, EC_WORD_LATER, EC_WORD_EXCL}, .speechLose = {EC_WORD_TOMORROW, EC_WORD_IS, EC_WORD_WHEN, EC_WORD_WE, EC_WORD_REALLY, EC_WORD_BATTLE}, - .monSets = gBattleFrontierTrainerMons_Bradley + .monSet = gBattleFrontierTrainerMons_Bradley }, - [3] = { + [FRONTIER_TRAINER_CYBIL] = { .facilityClass = FACILITY_CLASS_LASS, .trainerName = _("CYBIL"), .speechBefore = {EC_WORD_YOU_RE, EC_WORD_REALLY, EC_WORD_NOT_VERY, EC_WORD_SCARY, EC_WORD_AT, EC_WORD_ALL}, .speechWin = {EC_WORD_IT_S, EC_WORD_SAD, EC_WORD_TO, EC_WORD_SEE, EC_WORD_YOU, EC_MOVE2(STRUGGLE)}, .speechLose = {EC_WORD_THIS, EC_WORD_CAN_T, EC_WORD_BE, EC_WORD_HAPPENING, EC_WORD_TO_ME, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Cybil + .monSet = gBattleFrontierTrainerMons_Cybil }, - [4] = { + [FRONTIER_TRAINER_RODETTE] = { .facilityClass = FACILITY_CLASS_LASS, .trainerName = _("RODETTE"), .speechBefore = {EC_WORD_OH, EC_WORD_THIS, EC_WORD_IS, EC_WORD_SO, EC_WORD_EXCITING, EC_WORD_EXCL}, .speechWin = {EC_WORD_IT_S, EC_WORD_INCREDIBLE, EC_WORD_HOW, EC_WORD_STRONG, EC_WORD_I_AM, EC_WORD_EXCL}, .speechLose = {EC_WORD_OH_DEAR, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_JUST, EC_WORD_NO, EC_WORD_GOOD}, - .monSets = gBattleFrontierTrainerMons_Rodette + .monSet = gBattleFrontierTrainerMons_Rodette }, - [5] = { + [FRONTIER_TRAINER_PEGGY] = { .facilityClass = FACILITY_CLASS_LASS, .trainerName = _("PEGGY"), .speechBefore = {EC_WORD_GET, EC_WORD_READY, EC_WORD_TO, EC_WORD_BE, EC_WORD_DESTROYED, EC_WORD_EXCL}, .speechWin = {EC_WORD_HAHAHA, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_I_AM, EC_WORD_LOLLING, EC_WORD_EXCL}, .speechLose = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_SAD, EC_WORD_THANKS, EC_WORD_TO, EC_WORD_YOU}, - .monSets = gBattleFrontierTrainerMons_Peggy + .monSet = gBattleFrontierTrainerMons_Peggy }, - [6] = { + [FRONTIER_TRAINER_KEITH] = { .facilityClass = FACILITY_CLASS_SCHOOL_KID_M, .trainerName = _("KEITH"), .speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_JUST, EC_WORD_STUDY, EC_WORD_YOU, EC_WORD_KNOW}, .speechWin = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_STUDY, EC_WORD_ENOUGH, EC_WORD_ELLIPSIS, 0xFFFF}, .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_MORE, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Keith + .monSet = gBattleFrontierTrainerMons_Keith }, - [7] = { + [FRONTIER_TRAINER_GRAYSON] = { .facilityClass = FACILITY_CLASS_SCHOOL_KID_M, .trainerName = _("GRAYSON"), .speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_BATTLE, EC_WORD_ISN_T, EC_WORD_CHILD_S_PLAY, EC_WORD_EXCL}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_DONE, EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_QUES, 0xFFFF}, .speechLose = {EC_WORD_WE, EC_WORD_WERE, EC_WORD_LIKE, EC_WORD_TOYS, EC_WORD_TO, EC_WORD_YOU}, - .monSets = gBattleFrontierTrainerMons_Grayson + .monSet = gBattleFrontierTrainerMons_Grayson }, - [8] = { + [FRONTIER_TRAINER_GLENN] = { .facilityClass = FACILITY_CLASS_SCHOOL_KID_M, .trainerName = _("GLENN"), .speechBefore = {EC_WORD_I, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_COOL, EC_WORD_IF_I_WIN, 0xFFFF}, .speechWin = {EC_WORD_COOL, EC_WORD_EXCL, 0xFFFF, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM}, .speechLose = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_GOING, EC_WORD_TO, EC_WORD_BE, EC_WORD_COOL}, - .monSets = gBattleFrontierTrainerMons_Glenn + .monSet = gBattleFrontierTrainerMons_Glenn }, - [9] = { + [FRONTIER_TRAINER_LILIANA] = { .facilityClass = FACILITY_CLASS_SCHOOL_KID_F, .trainerName = _("LILIANA"), .speechBefore = {EC_WORD_I, EC_WORD_WON_T, EC_WORD_GIVE_UP, EC_WORD_UNTIL, EC_WORD_I, EC_WORD_WIN}, .speechWin = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NO, EC_WORD_SURRENDER, EC_WORD_IN, EC_WORD_ME}, .speechLose = {EC_WORD_THAT_S, EC_WORD_IT, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_GIVE_UP, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Liliana + .monSet = gBattleFrontierTrainerMons_Liliana }, - [10] = { + [FRONTIER_TRAINER_ELISE] = { .facilityClass = FACILITY_CLASS_SCHOOL_KID_F, .trainerName = _("ELISE"), .speechBefore = {EC_WORD_MY, EC_WORD_STRATEGY, EC_WORD_IS, EC_WORD_FROM, EC_WORD_MY, EC_WORD_FATHER}, .speechWin = {EC_WORD_I, EC_WORD_WIN, EC_WORD_EXCL, EC_WORD_FATHER, EC_WORD_I_VE, EC_WORD_WON}, .speechLose = {EC_WORD_FORGIVE, EC_WORD_ME, EC_WORD_FATHER, EC_WORD_FOR, EC_WORD_I_VE, EC_WORD_LOST}, - .monSets = gBattleFrontierTrainerMons_Elise + .monSet = gBattleFrontierTrainerMons_Elise }, - [11] = { + [FRONTIER_TRAINER_ZOEY] = { .facilityClass = FACILITY_CLASS_SCHOOL_KID_F, .trainerName = _("ZOEY"), .speechBefore = {EC_WORD_PLEASE, EC_WORD_BATTLE, EC_WORD_LIKE, EC_WORD_YOU, EC_WORD_MEAN, EC_WORD_IT}, .speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_THANK_YOU, EC_WORD_SO, EC_WORD_MUCH}, .speechLose = {EC_WORD_WERE, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_BEING, EC_WORD_SERIOUS, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Zoey + .monSet = gBattleFrontierTrainerMons_Zoey }, - [12] = { + [FRONTIER_TRAINER_MANUEL] = { .facilityClass = FACILITY_CLASS_RICH_BOY, .trainerName = _("MANUEL"), .speechBefore = {EC_WORD_ME, EC_WORD_LOSE, EC_WORD_QUES, EC_WORD_THAT_S, EC_WORD_PREPOSTEROUS, EC_WORD_EXCL}, .speechWin = {EC_WORD_NATURALLY, EC_WORD_I, EC_WORD_WIN, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_LOST, EC_WORD_MOTHER}, - .monSets = gBattleFrontierTrainerMons_Manuel + .monSet = gBattleFrontierTrainerMons_Manuel }, - [13] = { + [FRONTIER_TRAINER_RUSS] = { .facilityClass = FACILITY_CLASS_RICH_BOY, .trainerName = _("RUSS"), .speechBefore = {EC_WORD_THEY, EC_WORD_ALL, EC_WORD_WANT, EC_WORD_MY, EC_WORD_FABULOUS, EC_WORD_POKEMON}, .speechWin = {EC_WORD_I, EC_WORD_WILL, EC_WORD_HAVE, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_PARTY}, .speechLose = {EC_WORD_HOW, EC_WORD_COULD, EC_WORD_YOU, EC_WORD_DO, EC_WORD_THAT, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Russ + .monSet = gBattleFrontierTrainerMons_Russ }, - [14] = { + [FRONTIER_TRAINER_DUSTIN] = { .facilityClass = FACILITY_CLASS_RICH_BOY, .trainerName = _("DUSTIN"), .speechBefore = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_LIKE, EC_WORD_COOL, EC_WORD_POKEMON, 0xFFFF}, .speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_MYSELF, EC_WORD_WHEN_I_WIN, EC_WORD_EXCL, 0xFFFF}, .speechLose = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_MYSELF, EC_WORD_IF_I_LOSE, EC_WORD_TOO, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Dustin + .monSet = gBattleFrontierTrainerMons_Dustin }, - [15] = { + [FRONTIER_TRAINER_TINA] = { .facilityClass = FACILITY_CLASS_LADY, .trainerName = _("TINA"), .speechBefore = {EC_WORD_IF_I_WIN, EC_WORD_YOU, EC_WORD_CAN, EC_WORD_HAVE, EC_WORD_A, EC_MOVE2(SWEET_KISS)}, .speechWin = {EC_WORD_HERE_IT_IS, EC_WORD_YOUR, EC_MOVE2(SWEET_KISS), EC_WORD_FROM, EC_WORD_MY, EC_POKEMON2(JYNX)}, .speechLose = {EC_WORD_YOU, EC_WORD_WANT, EC_WORD_A, EC_MOVE(SWIFT), EC_MOVE2(MEGA_KICK), EC_WORD_INSTEAD}, - .monSets = gBattleFrontierTrainerMons_Tina + .monSet = gBattleFrontierTrainerMons_Tina }, - [16] = { + [FRONTIER_TRAINER_GILLIAN1] = { .facilityClass = FACILITY_CLASS_LADY, .trainerName = _("GILLIAN"), .speechBefore = {EC_WORD_THE, EC_WORD_GOURMET, EC_WORD_THING, EC_WORD_IS, EC_WORD_SO, EC_WORD_YESTERDAY}, .speechWin = {EC_WORD_POKEMON, EC_WORD_NEVER, EC_WORD_GO, EC_WORD_OUT, EC_WORD_OF, EC_WORD_FASHION}, .speechLose = {EC_WORD_LOSING, EC_WORD_DOESN_T, EC_WORD_DISAPPOINT, EC_WORD_ME, 0xFFFF, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Gillian + .monSet = gBattleFrontierTrainerMons_Gillian }, - [17] = { + [FRONTIER_TRAINER_ZOE] = { .facilityClass = FACILITY_CLASS_LADY, .trainerName = _("ZOE"), .speechBefore = {EC_WORD_I, EC_WORD_HAVEN_T, EC_WORD_A, EC_WORD_WORRY, EC_WORD_AT, EC_WORD_ALL}, .speechWin = {EC_WORD_LIFE, EC_WORD_IS, EC_WORD_ALWAYS, EC_WORD_GOOD, EC_WORD_TO_ME, 0xFFFF}, .speechLose = {EC_WORD_I, EC_WORD_WORRY, EC_WORD_ABOUT, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_SKILL}, - .monSets = gBattleFrontierTrainerMons_Zoe + .monSet = gBattleFrontierTrainerMons_Zoe }, - [18] = { + [FRONTIER_TRAINER_CHEN] = { .facilityClass = FACILITY_CLASS_CAMPER, .trainerName = _("CHEN"), .speechBefore = {EC_WORD_I_AM, EC_WORD_TOTALLY, EC_WORD_READY, EC_WORD_TO, EC_WORD_ROCK, EC_WORD_TODAY}, .speechWin = {EC_WORD_I_AM, EC_WORD_READY, EC_WORD_TO, EC_WORD_GO, EC_WORD_ON, EC_WORD_EXCL}, .speechLose = {EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_MY, EC_MOVE(FOCUS_ENERGY), EC_WORD_AND, EC_WORD_TOUGHNESS}, - .monSets = gBattleFrontierTrainerMons_Chen + .monSet = gBattleFrontierTrainerMons_Chen }, - [19] = { + [FRONTIER_TRAINER_AL] = { .facilityClass = FACILITY_CLASS_CAMPER, .trainerName = _("AL"), .speechBefore = {EC_WORD_YOUR, EC_WORD_LOOK, EC_WORD_SAYS, EC_WORD_YOU_RE, EC_WORD_REALLY, EC_WORD_TOUGH}, .speechWin = {EC_WORD_IT_S, EC_WORD_ME, EC_WORD_WHO_IS, EC_WORD_REALLY, EC_WORD_TOUGH, 0xFFFF}, .speechLose = {EC_WORD_I_AM, EC_WORD_RIGHT, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_REALLY, EC_WORD_TOUGH}, - .monSets = gBattleFrontierTrainerMons_Al + .monSet = gBattleFrontierTrainerMons_Al }, - [20] = { + [FRONTIER_TRAINER_MITCH] = { .facilityClass = FACILITY_CLASS_CAMPER, .trainerName = _("MITCH"), .speechBefore = {EC_WORD_MOTHER, EC_WORD_NATURE, EC_WORD_IS, EC_WORD_MY, EC_WORD_ALLY, EC_WORD_EXCL}, .speechWin = {EC_WORD_WAS, EC_WORD_THAT, EC_WORD_ENOUGH, EC_WORD_FOR, EC_WORD_YOU, EC_WORD_QUES}, .speechLose = {EC_WORD_MOTHER, EC_WORD_NATURE, EC_WORD_DIDN_T, EC_WORD_LET_ME_WIN, EC_WORD_QUES, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Mitch + .monSet = gBattleFrontierTrainerMons_Mitch }, - [21] = { + [FRONTIER_TRAINER_ANNE] = { .facilityClass = FACILITY_CLASS_PICNICKER, .trainerName = _("ANNE"), .speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_WAIT, EC_WORD_LET_S, EC_WORD_BATTLE, EC_WORD_NOW}, .speechWin = {EC_WORD_MY, EC_WORD_HAPPINESS, EC_WORD_IS, EC_WORD_OVERWHELMING, EC_WORD_EXCL, 0xFFFF}, .speechLose = {EC_WORD_YOU_VE, EC_WORD_DESTROYED, EC_WORD_MY, EC_WORD_HAPPINESS, EC_WORD_ELLIPSIS, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Anne + .monSet = gBattleFrontierTrainerMons_Anne }, - [22] = { + [FRONTIER_TRAINER_ALIZE] = { .facilityClass = FACILITY_CLASS_PICNICKER, .trainerName = _("ALIZE"), .speechBefore = {EC_WORD_CUTE, EC_WORD_AND, EC_WORD_AWFULLY, EC_WORD_STRONG, EC_WORD_THAT_S, EC_WORD_ME}, .speechWin = {EC_WORD_YUP, EC_WORD_I_AM, EC_WORD_CUTE, EC_WORD_AND, EC_WORD_AWFULLY, EC_WORD_STRONG}, .speechLose = {EC_WORD_I_AM, EC_WORD_WEAK, EC_WORD_ELLIPSIS, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_CUTE}, - .monSets = gBattleFrontierTrainerMons_Alize + .monSet = gBattleFrontierTrainerMons_Alize }, - [23] = { + [FRONTIER_TRAINER_LAUREN] = { .facilityClass = FACILITY_CLASS_PICNICKER, .trainerName = _("LAUREN"), .speechBefore = {EC_WORD_I_AM, EC_WORD_OLD, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_ALSO, EC_WORD_GOOD}, .speechWin = {EC_WORD_I, EC_WORD_SAID, EC_WORD_I_WAS, EC_WORD_OLD, EC_WORD_BUT, EC_WORD_GOOD}, .speechLose = {EC_WORD_WHAT, EC_WORD_A, EC_WORD_WEIRD, EC_WORD_DREAM, EC_WORD_THAT_WAS, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Lauren + .monSet = gBattleFrontierTrainerMons_Lauren }, - [24] = { + [FRONTIER_TRAINER_KIPP] = { .facilityClass = FACILITY_CLASS_TUBER_M, .trainerName = _("KIPP"), .speechBefore = {EC_WORD_IF_I_WIN, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_GO, EC_MOVE2(SURF)}, .speechWin = {EC_WORD_YEAH, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_OFF, EC_WORD_TO, EC_MOVE2(SURF)}, .speechLose = {EC_WORD_OH, EC_WORD_NO, EC_WORD_EXCL, EC_WORD_A, EC_MOVE(WHIRLPOOL), EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Kipp + .monSet = gBattleFrontierTrainerMons_Kipp }, - [25] = { + [FRONTIER_TRAINER_JASON] = { .facilityClass = FACILITY_CLASS_TUBER_M, .trainerName = _("JASON"), .speechBefore = {EC_WORD_TEACH, EC_WORD_ME, EC_WORD_A, EC_WORD_GOOD, EC_WORD_STRATEGY, 0xFFFF}, .speechWin = {EC_WORD_THAT_WAS, EC_WORD_YOUR, EC_WORD_GOOD, EC_WORD_STRATEGY, EC_WORD_QUES_EXCL, 0xFFFF}, .speechLose = {EC_WORD_WOW, EC_WORD_THAT, EC_WORD_IS, EC_WORD_AN, EC_WORD_AWESOME, EC_WORD_STRATEGY}, - .monSets = gBattleFrontierTrainerMons_Jason + .monSet = gBattleFrontierTrainerMons_Jason }, - [26] = { + [FRONTIER_TRAINER_JOHN] = { .facilityClass = FACILITY_CLASS_TUBER_M, .trainerName = _("JOHN"), .speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_PRETTY, EC_WORD_NEW, EC_WORD_TRAINER, 0xFFFF}, .speechWin = {EC_WORD_I_AM, EC_WORD_NEW, EC_WORD_BUT, EC_WORD_I, EC_WORD_WON, EC_WORD_EXCL}, .speechLose = {EC_WORD_I_AM, EC_WORD_NEW, EC_WORD_SO, EC_WORD_WHAT, EC_WORD_IF_I_LOSE, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_John + .monSet = gBattleFrontierTrainerMons_John }, - [27] = { + [FRONTIER_TRAINER_ANN] = { .facilityClass = FACILITY_CLASS_TUBER_F, .trainerName = _("ANN"), .speechBefore = {EC_WORD_IT_S, EC_WORD_SO, EC_WORD_EXCITING, EC_WORD_IT, EC_WORD_REALLY, EC_WORD_IS}, .speechWin = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_HAPPY, EC_WORD_I, EC_WORD_CAN, EC_WORD_CRY}, .speechLose = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SAD, EC_WORD_I, EC_WORD_WILL, EC_WORD_CRY}, - .monSets = gBattleFrontierTrainerMons_Ann + .monSet = gBattleFrontierTrainerMons_Ann }, - [28] = { + [FRONTIER_TRAINER_EILEEN] = { .facilityClass = FACILITY_CLASS_TUBER_F, .trainerName = _("EILEEN"), .speechBefore = {EC_WORD_LET_S, EC_WORD_PRETEND, EC_WORD_I_AM, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_OK_QUES}, .speechWin = {EC_WORD_SO, EC_WORD_THIS, EC_WORD_IS, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_FEELING}, .speechLose = {EC_WORD_AN, EC_WORD_ADULT, EC_WORD_CAN_T, EC_WORD_BEAT, EC_WORD_YOU, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Eileen + .monSet = gBattleFrontierTrainerMons_Eileen }, - [29] = { + [FRONTIER_TRAINER_CARLIE] = { .facilityClass = FACILITY_CLASS_TUBER_F, .trainerName = _("CARLIE"), .speechBefore = {EC_WORD_MY, EC_WORD_SUMMER, EC_WORD_VACATION, EC_WORD_IS, EC_WORD_FOR, EC_WORD_POKEMON}, .speechWin = {EC_WORD_MY, EC_WORD_SUMMER, EC_WORD_VACATION, EC_WORD_WILL, EC_WORD_BE, EC_WORD_AWESOME}, .speechLose = {EC_WORD_I, EC_WORD_CAN_T_WIN, EC_WORD_LIKE, EC_WORD_THIS, EC_WORD_ELLIPSIS, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Carlie + .monSet = gBattleFrontierTrainerMons_Carlie }, - [30] = { + [FRONTIER_TRAINER_GORDON] = { .facilityClass = FACILITY_CLASS_SWIMMER_M, .trainerName = _("GORDON"), .speechBefore = {EC_WORD_VICTORY, EC_WORD_WILL, EC_WORD_COME, EC_WORD_TO_ME, EC_WORD_EXCL, 0xFFFF}, .speechWin = {EC_WORD_OH_YEAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_REALLY, EC_WORD_WON}, .speechLose = {EC_WORD_NOTHING, EC_WORD_IS, EC_WORD_WORKING, EC_WORD_OUT, EC_WORD_FOR, EC_WORD_ME}, - .monSets = gBattleFrontierTrainerMons_Gordon + .monSet = gBattleFrontierTrainerMons_Gordon }, - [31] = { + [FRONTIER_TRAINER_AYDEN] = { .facilityClass = FACILITY_CLASS_SWIMMER_M, .trainerName = _("AYDEN"), .speechBefore = {EC_WORD_COME_ON, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_HOT, EC_WORD_BATTLE}, .speechWin = {EC_WORD_I, EC_WORD_NEED, EC_WORD_WATER, EC_WORD_TO, EC_WORD_COOL, EC_WORD_DOWN}, .speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_ICE, EC_WORD_COLD}, - .monSets = gBattleFrontierTrainerMons_Ayden + .monSet = gBattleFrontierTrainerMons_Ayden }, - [32] = { + [FRONTIER_TRAINER_MARCO] = { .facilityClass = FACILITY_CLASS_SWIMMER_M, .trainerName = _("MARCO"), .speechBefore = {EC_WORD_I, EC_MOVE2(SURF), EC_WORD_IN, EC_WORD_THE, EC_WORD_WINTER, EC_WORD_TOO}, .speechWin = {EC_WORD_I, EC_WORD_WILL, EC_WORD_GO, EC_MOVE2(SURF), EC_WORD_RIGHT, EC_WORD_NOW}, .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_MOVE2(BEAT_UP), EC_WORD_MY, EC_MOVE2(SURF), EC_WORD_BOARD}, - .monSets = gBattleFrontierTrainerMons_Marco + .monSet = gBattleFrontierTrainerMons_Marco }, - [33] = { + [FRONTIER_TRAINER_CIERRA] = { .facilityClass = FACILITY_CLASS_SWIMMER_F, .trainerName = _("CIERRA"), .speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_SYNCHRONIZE, EC_WORD_MY, EC_WORD_SWIFT_SWIM}, .speechWin = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_SYNCHRONIZE, EC_WORD_WITH, EC_WORD_ME, 0xFFFF}, .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_SYNCHRONIZE, EC_WORD_BETTER, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Cierra + .monSet = gBattleFrontierTrainerMons_Cierra }, - [34] = { + [FRONTIER_TRAINER_MARCY] = { .facilityClass = FACILITY_CLASS_SWIMMER_F, .trainerName = _("MARCY"), .speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_KNOCKOUT, EC_WORD_YOU, EC_WORD_CAN_T_WIN, EC_WORD_EXCL}, .speechWin = {EC_WORD_AFTER, EC_WORD_ALL, EC_WORD_I_AM, EC_WORD_A, EC_WORD_KNOCKOUT, EC_WORD_EXCL}, .speechLose = {EC_WORD_THAT_S, EC_WORD_NOT, EC_WORD_THE, EC_WORD_KNOCKOUT, EC_WORD_I, EC_WORD_MEAN}, - .monSets = gBattleFrontierTrainerMons_Marcy + .monSet = gBattleFrontierTrainerMons_Marcy }, - [35] = { + [FRONTIER_TRAINER_KATHY] = { .facilityClass = FACILITY_CLASS_SWIMMER_F, .trainerName = _("KATHY"), .speechBefore = {EC_WORD_I_VE, EC_WORD_WON, EC_WORD_EVERY, EC_WORD_MATCH, EC_WORD_TODAY, EC_WORD_EXCL}, .speechWin = {EC_WORD_IT_S, EC_WORD_SO, EC_WORD_GREAT, EC_WORD_TO, EC_WORD_WIN, EC_WORD_EXCL}, .speechLose = {EC_WORD_HUH_QUES, EC_WORD_I, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_HAVE, EC_WORD_LOST}, - .monSets = gBattleFrontierTrainerMons_Kathy + .monSet = gBattleFrontierTrainerMons_Kathy }, - [36] = { + [FRONTIER_TRAINER_PEYTON] = { .facilityClass = FACILITY_CLASS_POKEFAN_M, .trainerName = _("PEYTON"), .speechBefore = {EC_WORD_I_AM, EC_WORD_NEVER, EC_WORD_DISAPPOINTED, EC_WORD_WITH, EC_WORD_MY, EC_WORD_POKEMON}, .speechWin = {EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_IF, EC_WORD_WE, EC_WORD_WIN, EC_WORD_TOGETHER}, .speechLose = {EC_WORD_I, EC_WORD_ADORE, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_MORE, EC_WORD_IF_I_LOSE}, - .monSets = gBattleFrontierTrainerMons_Peyton + .monSet = gBattleFrontierTrainerMons_Peyton }, - [37] = { + [FRONTIER_TRAINER_JULIAN] = { .facilityClass = FACILITY_CLASS_POKEFAN_M, .trainerName = _("JULIAN"), .speechBefore = {EC_WORD_YOU, EC_WORD_ADORE, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_RIGHT, EC_WORD_QUES}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_TOTALLY, EC_WORD_OUT, EC_WORD_OF, EC_WORD_THE, EC_WORD_QUESTION}, .speechLose = {EC_WORD_YOU, EC_WORD_DO, EC_WORD_ADORE, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Julian + .monSet = gBattleFrontierTrainerMons_Julian }, - [38] = { + [FRONTIER_TRAINER_QUINN] = { .facilityClass = FACILITY_CLASS_POKEFAN_M, .trainerName = _("QUINN"), .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_BUT, EC_WORD_A, EC_WORD_DREAM}, .speechWin = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_WORD_BEAUTIFUL, EC_WORD_DREAM, EC_WORD_EXCL}, .speechLose = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_AN, EC_WORD_AWFUL, EC_MOVE(NIGHTMARE), EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Quinn + .monSet = gBattleFrontierTrainerMons_Quinn }, - [39] = { + [FRONTIER_TRAINER_HAYLEE] = { .facilityClass = FACILITY_CLASS_POKEFAN_F, .trainerName = _("HAYLEE"), .speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_HOW, EC_WORD_I_AM, EC_WORD_FEELING}, .speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_OVERWHELMING, EC_WORD_JOY, EC_WORD_OVER, EC_WORD_THIS}, .speechLose = {EC_WORD_DESTROYED, EC_WORD_IS, EC_WORD_THE, EC_WORD_WAY, EC_WORD_I_AM, EC_WORD_FEELING}, - .monSets = gBattleFrontierTrainerMons_Haylee + .monSet = gBattleFrontierTrainerMons_Haylee }, - [40] = { + [FRONTIER_TRAINER_AMANDA] = { .facilityClass = FACILITY_CLASS_POKEFAN_F, .trainerName = _("AMANDA"), .speechBefore = {EC_WORD_I, EC_WORD_COME, EC_WORD_FROM, EC_WORD_A, EC_WORD_TRAINER, EC_WORD_FAMILY}, .speechWin = {EC_WORD_I, EC_WORD_WILL, EC_WORD_TREASURE, EC_WORD_THIS, EC_WORD_WIN, 0xFFFF}, .speechLose = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO_HOME, EC_WORD_RIGHT, EC_WORD_NOW}, - .monSets = gBattleFrontierTrainerMons_Amanda + .monSet = gBattleFrontierTrainerMons_Amanda }, - [41] = { + [FRONTIER_TRAINER_STACY] = { .facilityClass = FACILITY_CLASS_POKEFAN_F, .trainerName = _("STACY"), .speechBefore = {EC_WORD_ALL, EC_WORD_POKEMON, EC_WORD_HAVE, EC_WORD_THEIR, EC_WORD_OWN, EC_WORD_CUTE_CHARM}, .speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_WHAT, EC_WORD_I, EC_WORD_MEAN, EC_WORD_QUES}, .speechLose = {EC_WORD_SHOULD, EC_WORD_I, EC_WORD_NOT, EC_WORD_ADORE, EC_WORD_POKEMON, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Stacy + .monSet = gBattleFrontierTrainerMons_Stacy }, - [42] = { + [FRONTIER_TRAINER_RAFAEL] = { .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M, .trainerName = _("RAFAEL"), .speechBefore = {EC_WORD_COME_ON, EC_WORD_EXCL, EC_WORD_LET_S, EC_WORD_SEE, EC_WORD_SOME, EC_WORD_SPIRIT}, .speechWin = {EC_WORD_THAT_S_IT_EXCL, EC_WORD_THAT_S, EC_WORD_THE, EC_WORD_SPIRIT, EC_WORD_EXCL, 0xFFFF}, .speechLose = {EC_WORD_WELL, EC_WORD_SO, EC_WORD_MUCH, EC_WORD_FOR, EC_WORD_OUR, EC_WORD_SPIRIT}, - .monSets = gBattleFrontierTrainerMons_Rafael + .monSet = gBattleFrontierTrainerMons_Rafael }, - [43] = { + [FRONTIER_TRAINER_OLIVER] = { .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M, .trainerName = _("OLIVER"), .speechBefore = {EC_WORD_A, EC_WORD_GENIUS, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_EXCL}, .speechWin = {EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_WORKS, EC_WORD_EXCL}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_MORE, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_THAN, EC_WORD_I_AM}, - .monSets = gBattleFrontierTrainerMons_Oliver + .monSet = gBattleFrontierTrainerMons_Oliver }, - [44] = { + [FRONTIER_TRAINER_PAYTON] = { .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M, .trainerName = _("PAYTON"), .speechBefore = {EC_WORD_I, EC_WORD_TRAIN, EC_WORD_FROM, EC_WORD_THE, EC_WORD_EGG, EC_WORD_UP}, .speechWin = {EC_WORD_WELL, EC_WORD_DONE, EC_WORD_EXCL, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_THAT_WAS, EC_WORD_A, EC_MOVE2(SOFT_BOILED), EC_WORD_LOSS, EC_WORD_ELLIPSIS, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Payton + .monSet = gBattleFrontierTrainerMons_Payton }, - [45] = { - .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F, + [FRONTIER_TRAINER_PAMELA] = { + .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F, .trainerName = _("PAMELA"), .speechBefore = {EC_WORD_ALL, EC_WORD_POKEMON, EC_WORD_ADORE, EC_WORD_A, EC_WORD_KIND, EC_WORD_TRAINER}, .speechWin = {EC_WORD_IT_S, EC_WORD_TOO, EC_WORD_BAD, EC_WORD_YOU, EC_WORD_LOST, 0xFFFF}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_KIND, EC_WORD_AND, EC_WORD_YOU_RE, EC_WORD_ALSO, EC_WORD_STRONG}, - .monSets = gBattleFrontierTrainerMons_Pamela + .monSet = gBattleFrontierTrainerMons_Pamela }, - [46] = { - .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F, + [FRONTIER_TRAINER_ELIZA] = { + .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F, .trainerName = _("ELIZA"), .speechBefore = {EC_WORD_I, EC_WORD_ADORE, EC_WORD_POKEMON, EC_WORD_LIKE, EC_WORD_MY, EC_WORD_CHILDREN}, .speechWin = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_HAPPY, EC_WORD_FOR, EC_WORD_MY, EC_WORD_POKEMON}, .speechLose = {EC_WORD_OH_DEAR, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SORRY, EC_WORD_ABOUT, EC_WORD_THIS}, - .monSets = gBattleFrontierTrainerMons_Eliza + .monSet = gBattleFrontierTrainerMons_Eliza }, - [47] = { - .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F, + [FRONTIER_TRAINER_MARISA] = { + .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F, .trainerName = _("MARISA"), .speechBefore = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_TO, EC_WORD_BATTLE, EC_WORD_SERIOUSLY, 0xFFFF}, .speechWin = {EC_WORD_PROMISE, EC_WORD_ME, EC_WORD_YOU, EC_WORD_WILL, EC_WORD_DO, EC_WORD_BETTER}, .speechLose = {EC_WORD_PROMISE, EC_WORD_ME, EC_WORD_ANOTHER, EC_WORD_BATTLE, EC_WORD_PLEASE, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Marisa + .monSet = gBattleFrontierTrainerMons_Marisa }, - [48] = { + [FRONTIER_TRAINER_LEWIS] = { .facilityClass = FACILITY_CLASS_BUG_CATCHER, .trainerName = _("LEWIS"), .speechBefore = {EC_WORD_A_LITTLE, EC_WORD_BUG, EC_WORD_IS, EC_WORD_SCARY, EC_WORD_QUES, EC_WORD_HAHAHA}, .speechWin = {EC_WORD_LOOK, EC_WORD_LOOK, EC_WORD_EXCL, EC_WORD_A, EC_WORD_SCARY, EC_WORD_BUG}, .speechLose = {EC_WORD_OH, EC_WORD_A, EC_WORD_BUG, EC_WORD_ISN_T, EC_WORD_SCARY, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Lewis + .monSet = gBattleFrontierTrainerMons_Lewis }, - [49] = { + [FRONTIER_TRAINER_YOSHI] = { .facilityClass = FACILITY_CLASS_BUG_CATCHER, .trainerName = _("YOSHI"), .speechBefore = {EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_LOVEY_DOVEY}, .speechWin = {EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_THE, EC_WORD_BEST, EC_WORD_EXCL}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_IGNORANT, EC_WORD_ABOUT, EC_WORD_BUG, EC_WORD_POKEMON, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Yoshi + .monSet = gBattleFrontierTrainerMons_Yoshi }, - [50] = { + [FRONTIER_TRAINER_DESTIN] = { .facilityClass = FACILITY_CLASS_BUG_CATCHER, .trainerName = _("DESTIN"), .speechBefore = {EC_WORD_IT_S, EC_WORD_WAY, EC_WORD_TOO, EC_WORD_HOT, EC_WORD_HERE, 0xFFFF}, .speechWin = {EC_WORD_I_AM, EC_WORD_ABOUT, EC_WORD_TO, EC_MOVE(OVERHEAT), 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_PLEASE, EC_WORD_I, EC_WORD_NEED, EC_WORD_SOME, EC_WORD_WATER, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Destin + .monSet = gBattleFrontierTrainerMons_Destin }, - [51] = { + [FRONTIER_TRAINER_KEON] = { .facilityClass = FACILITY_CLASS_NINJA_BOY, .trainerName = _("KEON"), .speechBefore = {EC_WORD_FORGIVE, EC_WORD_ME, EC_WORD_BUT, EC_WORD_HERE_I_COME, EC_WORD_EXCL, 0xFFFF}, .speechWin = {EC_WORD_FORGIVE, EC_WORD_ME, EC_WORD_FOR, EC_WORD_MY, EC_WORD_OVERWHELMING, EC_WORD_POWER}, .speechLose = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Keon + .monSet = gBattleFrontierTrainerMons_Keon }, - [52] = { + [FRONTIER_TRAINER_STUART] = { .facilityClass = FACILITY_CLASS_NINJA_BOY, .trainerName = _("STUART"), .speechBefore = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_YOU, EC_WORD_A, EC_WORD_HOT, EC_WORD_BATTLE}, .speechWin = {EC_WORD_THE, EC_WORD_MASTER, EC_WORD_OF, EC_WORD_COOL, EC_WORD_THAT_S, EC_WORD_ME}, .speechLose = {EC_WORD_I, EC_WORD_SEE, EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_SO, EC_WORD_COOL}, - .monSets = gBattleFrontierTrainerMons_Stuart + .monSet = gBattleFrontierTrainerMons_Stuart }, - [53] = { + [FRONTIER_TRAINER_NESTOR] = { .facilityClass = FACILITY_CLASS_NINJA_BOY, .trainerName = _("NESTOR"), .speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_A, EC_WORD_REALLY, EC_WORD_SMOOTH, EC_WORD_MOVE}, .speechWin = {EC_WORD_THERE, EC_WORD_WAS, EC_WORD_NOTHING, EC_WORD_SMOOTH, EC_WORD_ABOUT, EC_WORD_THAT}, .speechLose = {EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_ARE, EC_WORD_SMOOTH, EC_WORD_EXCL, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Nestor + .monSet = gBattleFrontierTrainerMons_Nestor }, - [54] = { + [FRONTIER_TRAINER_DERRICK] = { .facilityClass = FACILITY_CLASS_BUG_MANIAC, .trainerName = _("DERRICK"), .speechBefore = {EC_WORD_LET_S, EC_WORD_SEE, EC_WORD_YOU, EC_MOVE2(MEDITATE), EC_WORD_LIKE, EC_WORD_ME}, .speechWin = {EC_WORD_HOW, EC_WORD_I, EC_MOVE2(MEDITATE), EC_WORD_IS, EC_WORD_JUST, EC_WORD_BEAUTIFUL}, .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_MOVE2(MEDITATE), EC_WORD_FOR, EC_WORD_A, EC_MOVE2(CALM_MIND)}, - .monSets = gBattleFrontierTrainerMons_Derrick + .monSet = gBattleFrontierTrainerMons_Derrick }, - [55] = { + [FRONTIER_TRAINER_BRYSON] = { .facilityClass = FACILITY_CLASS_BUG_MANIAC, .trainerName = _("BRYSON"), .speechBefore = {EC_MOVE2(POISON_POWDER), EC_WORD_IS, EC_WORD_IN, EC_WORD_OUR, EC_MOVE2(COTTON_SPORE), EC_WORD_MOVE}, .speechWin = {EC_WORD_HOW_DO, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_OUR, EC_MOVE2(POISON_POWDER), EC_WORD_QUES}, .speechLose = {EC_WORD_MY, EC_MOVE2(COTTON_SPORE), EC_WORD_WAS, EC_WORD_USELESS, 0xFFFF, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Bryson + .monSet = gBattleFrontierTrainerMons_Bryson }, - [56] = { + [FRONTIER_TRAINER_CLAYTON] = { .facilityClass = FACILITY_CLASS_BUG_MANIAC, .trainerName = _("CLAYTON"), .speechBefore = {EC_WORD_HUH_QUES, 0xFFFF, 0xFFFF, EC_WORD_WHERE, EC_WORD_IS_IT_QUES, 0xFFFF}, .speechWin = {EC_WORD_WHERE, EC_WORD_IS_IT_QUES, EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_MY, EC_WORD_POKENAV}, .speechLose = {EC_WORD_WHERE, EC_WORD_IS_IT_QUES, EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_MY, EC_WORD_SENSE}, - .monSets = gBattleFrontierTrainerMons_Clayton + .monSet = gBattleFrontierTrainerMons_Clayton }, - [57] = { + [FRONTIER_TRAINER_TRENTON] = { .facilityClass = FACILITY_CLASS_FISHERMAN, .trainerName = _("TRENTON"), .speechBefore = {EC_WORD_COME_OVER, EC_WORD_FOR, EC_WORD_SOME, EC_WORD_TASTY, EC_WORD_WATER, 0xFFFF}, .speechWin = {EC_WORD_MMM, EC_WORD_DO, EC_WORD_YOU, EC_WORD_WANT, EC_WORD_SOME, EC_WORD_QUES}, .speechLose = {EC_WORD_I, EC_WORD_GOT, EC_WORD_THIS, EC_WORD_TASTY, EC_WORD_WATER, EC_WORD_SHOPPING}, - .monSets = gBattleFrontierTrainerMons_Trenton + .monSet = gBattleFrontierTrainerMons_Trenton }, - [58] = { + [FRONTIER_TRAINER_JENSON] = { .facilityClass = FACILITY_CLASS_FISHERMAN, .trainerName = _("JENSON"), .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_DOWNCAST}, .speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_DON_T, EC_WORD_MAKE, EC_WORD_THE, EC_MOVE(CUT)}, .speechLose = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_TRAINER, EC_WORD_WHO_IS, EC_WORD_FEELING, EC_WORD_DOWNCAST}, - .monSets = gBattleFrontierTrainerMons_Jenson + .monSet = gBattleFrontierTrainerMons_Jenson }, - [59] = { + [FRONTIER_TRAINER_WESLEY] = { .facilityClass = FACILITY_CLASS_FISHERMAN, .trainerName = _("WESLEY"), .speechBefore = {EC_POKEMON2(MEW), EC_POKEMON2(MEW), EC_WORD_IS, EC_WORD_HOW, EC_WORD_I, EC_WORD_CRY}, .speechWin = {EC_WORD_YES, EC_WORD_I, EC_WORD_KNOW, EC_WORD_I_AM, EC_WORD_CUTE, EC_WORD_EXCL}, .speechLose = {EC_POKEMON2(MEW), EC_POKEMON2(MEW), EC_WORD_EXCL, EC_POKEMON2(MEW), EC_WORD_EXCL_EXCL, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Wesley + .monSet = gBattleFrontierTrainerMons_Wesley }, - [60] = { + [FRONTIER_TRAINER_ANTON] = { .facilityClass = FACILITY_CLASS_RUIN_MANIAC, .trainerName = _("ANTON"), .speechBefore = {EC_WORD_GET, EC_WORD_READY, EC_WORD_FOR, EC_WORD_ME, EC_WORD_TO, EC_MOVE(THRASH)}, .speechWin = {EC_WORD_WAHAHAHA, EC_WORD_EXCL, EC_WORD_SORRY, EC_WORD_ABOUT, EC_WORD_THAT, EC_WORD_EXCL}, .speechLose = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_TOUGH, EC_WORD_LOSS, EC_WORD_TO, EC_MOVE2(SWALLOW)}, - .monSets = gBattleFrontierTrainerMons_Anton + .monSet = gBattleFrontierTrainerMons_Anton }, - [61] = { + [FRONTIER_TRAINER_LAWSON] = { .facilityClass = FACILITY_CLASS_RUIN_MANIAC, .trainerName = _("LAWSON"), .speechBefore = {EC_WORD_I_AM, EC_WORD_YOUNG, EC_WORD_AT, EC_WORD_HEART, EC_WORD_EXCL, 0xFFFF}, .speechWin = {EC_WORD_NOT, EC_WORD_COOL, EC_WORD_EXCL, EC_WORD_NOT, EC_WORD_AT, EC_WORD_ALL}, .speechLose = {EC_WORD_I_AM, EC_WORD_OLD, EC_WORD_AND, EC_WORD_FEELING, EC_WORD_SHAKY, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Lawson + .monSet = gBattleFrontierTrainerMons_Lawson }, - [62] = { + [FRONTIER_TRAINER_SAMMY] = { .facilityClass = FACILITY_CLASS_RUIN_MANIAC, .trainerName = _("SAMMY"), .speechBefore = {EC_WORD_MY, EC_WORD_PARTY, EC_WORD_IS, EC_WORD_READY, EC_WORD_TO, EC_WORD_ROCK}, .speechWin = {EC_WORD_MY, EC_WORD_PARTY, EC_WORD_IS, EC_WORD_JUST, EC_WORD_INCREDIBLE, EC_WORD_EXCL}, .speechLose = {EC_WORD_I, EC_WORD_CRY, EC_WORD_FOR, EC_WORD_MY, EC_WORD_PARTY, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Sammy + .monSet = gBattleFrontierTrainerMons_Sammy }, - [63] = { + [FRONTIER_TRAINER_ARNIE] = { .facilityClass = FACILITY_CLASS_COLLECTOR, .trainerName = _("ARNIE"), .speechBefore = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_I, EC_WORD_HAVE, EC_WORD_NO, EC_WORD_RIVAL}, .speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_I, EC_WORD_CAN_T, EC_WORD_LOSE}, .speechLose = {EC_WORD_NO, EC_WORD_EXCL, EC_WORD_I, EC_WORD_WON_T, EC_WORD_ACCEPT, EC_WORD_THIS}, - .monSets = gBattleFrontierTrainerMons_Arnie + .monSet = gBattleFrontierTrainerMons_Arnie }, - [64] = { + [FRONTIER_TRAINER_ADRIAN] = { .facilityClass = FACILITY_CLASS_COLLECTOR, .trainerName = _("ADRIAN"), .speechBefore = {EC_WORD_YAHOO, EC_WORD_EXCL, 0xFFFF, EC_WORD_YAHOO, EC_WORD_EXCL_EXCL, 0xFFFF}, .speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL, 0xFFFF, EC_WORD_THANK_YOU, EC_WORD_EXCL_EXCL, 0xFFFF}, .speechLose = {EC_WORD_GOOD_BYE, EC_WORD_EXCL, 0xFFFF, EC_WORD_GOOD_BYE, EC_WORD_EXCL_EXCL, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Adrian + .monSet = gBattleFrontierTrainerMons_Adrian }, - [65] = { + [FRONTIER_TRAINER_TRISTAN] = { .facilityClass = FACILITY_CLASS_COLLECTOR, .trainerName = _("TRISTAN"), .speechBefore = {EC_WORD_CONFUSED, EC_WORD_QUES, 0xFFFF, EC_WORD_I_AM, EC_WORD_A, EC_WORD_GENIUS}, .speechWin = {EC_WORD_SEE, EC_WORD_QUES, 0xFFFF, EC_WORD_I_AM, EC_WORD_A, EC_WORD_GENIUS}, .speechLose = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_IN, EC_WORD_BATTLE}, - .monSets = gBattleFrontierTrainerMons_Tristan + .monSet = gBattleFrontierTrainerMons_Tristan }, - [66] = { + [FRONTIER_TRAINER_JULIANA] = { .facilityClass = FACILITY_CLASS_PARASOL_LADY, .trainerName = _("JULIANA"), .speechBefore = {EC_WORD_I, EC_WORD_THINK, EC_WORD_I_AM, EC_WORD_SHOPPING, EC_WORD_TOO, EC_WORD_MUCH}, .speechWin = {EC_WORD_BUT, EC_WORD_I, EC_WORD_WANT, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_PLUSH_DOLL}, .speechLose = {EC_WORD_I, EC_WORD_SO, EC_WORD_WANT, EC_WORD_ANOTHER, EC_WORD_POKEMON, EC_WORD_PLUSH_DOLL}, - .monSets = gBattleFrontierTrainerMons_Juliana + .monSet = gBattleFrontierTrainerMons_Juliana }, - [67] = { + [FRONTIER_TRAINER_RYLEE] = { .facilityClass = FACILITY_CLASS_PARASOL_LADY, .trainerName = _("RYLEE"), .speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_THAT, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_GUTS}, .speechWin = {EC_WORD_BYE_BYE, EC_WORD_EXCL, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_NO, EC_WORD_GUTS}, .speechLose = {EC_WORD_THAT_WAS, EC_WORD_GUTSY, EC_WORD_ELLIPSIS, EC_WORD_YOU_RE, EC_WORD_QUITE, EC_WORD_SUPER}, - .monSets = gBattleFrontierTrainerMons_Rylee + .monSet = gBattleFrontierTrainerMons_Rylee }, - [68] = { + [FRONTIER_TRAINER_CHELSEA] = { .facilityClass = FACILITY_CLASS_PARASOL_LADY, .trainerName = _("CHELSEA"), .speechBefore = {EC_WORD_I, EC_WORD_SERIOUSLY, EC_WORD_MEAN, EC_WORD_TO, EC_WORD_WIN, EC_WORD_EXCL}, .speechWin = {EC_WORD_THAT_WAS, EC_WORD_MY, EC_WORD_WILL, EC_WORD_TO, EC_WORD_WIN, 0xFFFF}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_FAR, EC_WORD_TOO_STRONG, EC_WORD_FOR, EC_WORD_ME, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Chelsea + .monSet = gBattleFrontierTrainerMons_Chelsea }, - [69] = { + [FRONTIER_TRAINER_DANELA] = { .facilityClass = FACILITY_CLASS_BEAUTY, .trainerName = _("DANELA"), .speechBefore = {EC_WORD_YOU, EC_WORD_MUST_BE, EC_WORD_MY, EC_WORD_OPPONENT, EC_WORD_NOW, EC_WORD_EXCL}, .speechWin = {EC_WORD_OH_DEAR, EC_WORD_TOO_WEAK, EC_WORD_EXCL, EC_WORD_DON_T, EC_WORD_GIVE_UP, EC_WORD_EXCL}, .speechLose = {EC_WORD_THAT_WAS, EC_WORD_GOOD, EC_WORD_AND, EC_WORD_THIS, EC_WORD_IS, EC_WORD_GOOD_BYE}, - .monSets = gBattleFrontierTrainerMons_Danela + .monSet = gBattleFrontierTrainerMons_Danela }, - [70] = { + [FRONTIER_TRAINER_LIZBETH] = { .facilityClass = FACILITY_CLASS_BEAUTY, .trainerName = _("LIZBETH"), .speechBefore = {EC_WORD_IF_I_LOSE, EC_WORD_YOU, EC_WORD_CAN, EC_WORD_HAVE, EC_WORD_A, EC_MOVE2(PRESENT)}, .speechWin = {EC_WORD_HERE_IT_IS, EC_WORD_A_LITTLE, EC_WORD_PRAISE, EC_WORD_AS, EC_WORD_YOUR, EC_MOVE2(PRESENT)}, .speechLose = {EC_WORD_YOUR, EC_MOVE2(PRESENT), EC_WORD_QUES_EXCL, EC_WORD_HERE_IT_IS, EC_WORD_A, EC_MOVE(DOUBLE_SLAP)}, - .monSets = gBattleFrontierTrainerMons_Lizbeth + .monSet = gBattleFrontierTrainerMons_Lizbeth }, - [71] = { + [FRONTIER_TRAINER_AMELIA] = { .facilityClass = FACILITY_CLASS_BEAUTY, .trainerName = _("AMELIA"), .speechBefore = {EC_WORD_I, EC_WORD_BELIEVE, EC_WORD_IN, EC_WORD_CUTE, EC_WORD_FASHION, EC_WORD_APPEAL}, .speechWin = {EC_WORD_YOUR, EC_WORD_FASHION, EC_WORD_SENSE, EC_WORD_IS, EC_WORD_A, EC_WORD_DISASTER}, .speechLose = {EC_WORD_THAT_WAS, EC_WORD_AWFUL, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_HOME}, - .monSets = gBattleFrontierTrainerMons_Amelia + .monSet = gBattleFrontierTrainerMons_Amelia }, - [72] = { + [FRONTIER_TRAINER_JILLIAN] = { .facilityClass = FACILITY_CLASS_AROMA_LADY, .trainerName = _("JILLIAN"), .speechBefore = {EC_WORD_WHAT, EC_WORD_IS, EC_WORD_THAT, EC_WORD_I, EC_WORD_SMELL, EC_WORD_QUES}, .speechWin = {EC_WORD_IT_S, EC_WORD_THE, EC_MOVE(SWEET_SCENT), EC_WORD_OF, EC_WORD_TASTY, EC_WORD_WATER}, .speechLose = {EC_WORD_IT_S, EC_WORD_YOUR, EC_WORD_OFFENSIVE, EC_WORD_STENCH, EC_WORD_THAT_S, EC_WORD_WHAT}, - .monSets = gBattleFrontierTrainerMons_Jillian + .monSet = gBattleFrontierTrainerMons_Jillian }, - [73] = { + [FRONTIER_TRAINER_ABBIE] = { .facilityClass = FACILITY_CLASS_AROMA_LADY, .trainerName = _("ABBIE"), .speechBefore = {EC_WORD_YOU, EC_WORD_TRY, EC_WORD_MY, EC_WORD_SECRET, EC_MOVE(AROMATHERAPY), EC_WORD_OK_QUES}, .speechWin = {EC_WORD_MY, EC_MOVE(AROMATHERAPY), EC_WORD_IS, EC_WORD_TERRIBLE, EC_WORD_FOR, EC_WORD_YOU}, .speechLose = {EC_WORD_DIDN_T, EC_WORD_YOU, EC_WORD_SMELL, EC_WORD_A, EC_WORD_THING, EC_WORD_QUES_EXCL}, - .monSets = gBattleFrontierTrainerMons_Abbie + .monSet = gBattleFrontierTrainerMons_Abbie }, - [74] = { + [FRONTIER_TRAINER_BRIANA] = { .facilityClass = FACILITY_CLASS_AROMA_LADY, .trainerName = _("BRIANA"), .speechBefore = {EC_WORD_MY, EC_WORD_BOY, EC_WORD_FRIEND, EC_WORD_WORKS, EC_WORD_TOO, EC_WORD_MUCH}, .speechWin = {EC_WORD_I, EC_WORD_ONLY, EC_WORD_MISS, EC_WORD_HIM, EC_WORD_MORE, EC_WORD_ELLIPSIS}, .speechLose = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_LONESOME, EC_WORD_WITHOUT, EC_WORD_HIM, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Briana + .monSet = gBattleFrontierTrainerMons_Briana }, - [75] = { + [FRONTIER_TRAINER_ANTONIO] = { .facilityClass = FACILITY_CLASS_GUITARIST, .trainerName = _("ANTONIO"), .speechBefore = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_HOW, EC_WORD_TO, EC_WORD_GO, EC_WORD_GO}, .speechWin = {EC_WORD_BUT, EC_WORD_I, EC_WORD_DON_T, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_DANCE}, .speechLose = {EC_WORD_GO, EC_WORD_GO, EC_WORD_ELLIPSIS, EC_WORD_JUST, EC_MOVE(FLAIL), EC_WORD_ABOUT}, - .monSets = gBattleFrontierTrainerMons_Antonio + .monSet = gBattleFrontierTrainerMons_Antonio }, - [76] = { + [FRONTIER_TRAINER_JADEN] = { .facilityClass = FACILITY_CLASS_GUITARIST, .trainerName = _("JADEN"), .speechBefore = {EC_WORD_HELLO, EC_WORD_I, EC_WORD_THINK, EC_WORD_I, EC_WORD_ADORE, EC_WORD_YOU}, .speechWin = {EC_WORD_YOU, EC_WORD_MAKE, EC_WORD_ME, EC_MOVE(THRASH), EC_WORD_IN, EC_MOVE2(FRUSTRATION)}, .speechLose = {EC_WORD_THIS_IS_IT_EXCL, 0xFFFF, 0xFFFF, EC_WORD_GOOD_BYE, EC_WORD_FOREVER, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Jaden + .monSet = gBattleFrontierTrainerMons_Jaden }, - [77] = { + [FRONTIER_TRAINER_DAKOTA] = { .facilityClass = FACILITY_CLASS_GUITARIST, .trainerName = _("DAKOTA"), .speechBefore = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_DANCE, EC_WORD_WITH, EC_WORD_POWER}, .speechWin = {EC_WORD_GOT, EC_WORD_IT, EC_WORD_QUES, EC_WORD_DANCE, EC_WORD_WITH, EC_WORD_POWER}, .speechLose = {EC_WORD_OKAY, EC_WORD_YOU, EC_WORD_UNDERSTAND, EC_WORD_ALL_RIGHT, EC_WORD_EXCL, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Dakota + .monSet = gBattleFrontierTrainerMons_Dakota }, - [78] = { + [FRONTIER_TRAINER_BRAYDEN] = { .facilityClass = FACILITY_CLASS_BIRD_KEEPER, .trainerName = _("BRAYDEN"), .speechBefore = {EC_WORD_COLOR_CHANGE, EC_WORD_VERSION, EC_WORD_TOYS, EC_WORD_ARE, EC_WORD_USELESS, EC_WORD_EXCL}, .speechWin = {EC_WORD_I, EC_WORD_ONLY, EC_WORD_COLLECT, EC_WORD_NORMAL, EC_WORD_VERSION, EC_WORD_TOYS}, .speechLose = {EC_WORD_I, EC_MOVE2(ATTRACT), EC_WORD_COLOR_CHANGE, EC_WORD_VERSION, EC_WORD_TOYS, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Brayden + .monSet = gBattleFrontierTrainerMons_Brayden }, - [79] = { + [FRONTIER_TRAINER_CORSON] = { .facilityClass = FACILITY_CLASS_BIRD_KEEPER, .trainerName = _("CORSON"), .speechBefore = {EC_WORD_I, EC_WORD_GET, EC_WORD_TO, EC_MOVE2(BEAT_UP), EC_WORD_ON, EC_WORD_YOU}, .speechWin = {EC_WORD_TOO, EC_WORD_EASY, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_COOL}, .speechLose = {EC_WORD_WHY, EC_WORD_QUES_EXCL, 0xFFFF, EC_WORD_I, EC_MOVE2(CURSE), EC_WORD_YOU}, - .monSets = gBattleFrontierTrainerMons_Corson + .monSet = gBattleFrontierTrainerMons_Corson }, - [80] = { + [FRONTIER_TRAINER_TREVIN] = { .facilityClass = FACILITY_CLASS_BIRD_KEEPER, .trainerName = _("TREVIN"), .speechBefore = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NONE, EC_WORD_BETTER, EC_WORD_THAN, EC_WORD_ME}, .speechWin = {EC_WORD_YES_SIR_EXCL, 0xFFFF, 0xFFFF, EC_WORD_I_AM, EC_WORD_THE, EC_WORD_BEST}, .speechLose = {EC_WORD_SERIOUS, EC_WORD_QUES_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Trevin + .monSet = gBattleFrontierTrainerMons_Trevin }, - [81] = { + [FRONTIER_TRAINER_PATRICK] = { .facilityClass = FACILITY_CLASS_SAILOR, .trainerName = _("PATRICK"), .speechBefore = {EC_WORD_I_AM, EC_WORD_PERFECT, EC_WORD_EXCL, EC_WORD_GIVE_UP, EC_WORD_NOW, 0xFFFF}, .speechWin = {EC_WORD_DON_T, EC_WORD_BE, EC_WORD_DISAPPOINTED, EC_WORD_I_AM, EC_WORD_PERFECT, 0xFFFF}, .speechLose = {EC_WORD_BUT, EC_WORD_HOW, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_PERFECT, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Patrick + .monSet = gBattleFrontierTrainerMons_Patrick }, - [82] = { + [FRONTIER_TRAINER_KADEN] = { .facilityClass = FACILITY_CLASS_SAILOR, .trainerName = _("KADEN"), .speechBefore = {EC_WORD_WHAT, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_UP, EC_WORD_TO, EC_WORD_QUES}, .speechWin = {EC_WORD_YOU, EC_WORD_WERE, EC_WORD_A, EC_WORD_SURPRISE, EC_WORD_TO_ME, EC_WORD_EXCL}, .speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_WHO, EC_WORD_I_AM, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Kaden + .monSet = gBattleFrontierTrainerMons_Kaden }, - [83] = { + [FRONTIER_TRAINER_MAXWELL] = { .facilityClass = FACILITY_CLASS_SAILOR, .trainerName = _("MAXWELL"), .speechBefore = {EC_WORD_HEY_THERE, EC_WORD_WHO_IS, EC_WORD_YOUR, EC_WORD_RIVAL, EC_WORD_QUES, 0xFFFF}, .speechWin = {EC_WORD_MY, EC_WORD_RIVAL, EC_WORD_IS, EC_WORD_MY, EC_WORD_GIRL, EC_WORD_FRIEND}, .speechLose = {EC_WORD_I_AM, EC_WORD_MAKING, EC_WORD_YOU, EC_WORD_MY, EC_WORD_RIVAL, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Maxwell + .monSet = gBattleFrontierTrainerMons_Maxwell }, - [84] = { + [FRONTIER_TRAINER_DARYL] = { .facilityClass = FACILITY_CLASS_HIKER, .trainerName = _("DARYL"), .speechBefore = {EC_WORD_I, EC_WORD_ONLY, EC_WORD_KNOW, EC_WORD_HOW, EC_WORD_TO, EC_MOVE(CHARGE)}, .speechWin = {EC_WORD_AM, EC_WORD_I, EC_WORD_OVERWHELMING, EC_WORD_OR, EC_WORD_WHAT, EC_WORD_QUES}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_A, EC_WORD_LEGEND, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Daryl + .monSet = gBattleFrontierTrainerMons_Daryl }, - [85] = { + [FRONTIER_TRAINER_KENNETH] = { .facilityClass = FACILITY_CLASS_HIKER, .trainerName = _("KENNETH"), .speechBefore = {EC_WORD_YOU, EC_WORD_BETTER, EC_WORD_NOT, EC_MOVE2(SLACK_OFF), EC_WORD_WITH, EC_WORD_ME}, .speechWin = {EC_WORD_DID, EC_WORD_MY, EC_MOVE2(TAUNT), EC_WORD_INTIMIDATE, EC_WORD_YOU, EC_WORD_QUES}, .speechLose = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Kenneth + .monSet = gBattleFrontierTrainerMons_Kenneth }, - [86] = { + [FRONTIER_TRAINER_RICH] = { .facilityClass = FACILITY_CLASS_HIKER, .trainerName = _("RICH"), .speechBefore = {EC_WORD_YOUR, EC_MOVE(FACADE), EC_WORD_DOESN_T, EC_MOVE2(TRICK), EC_WORD_ME, 0xFFFF}, .speechWin = {EC_WORD_SERIOUSLY, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_OK_QUES, 0xFFFF}, .speechLose = {EC_WORD_THAT_WAS, EC_WORD_REALLY, EC_WORD_TOUGH, EC_WORD_ON, EC_WORD_ME, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Rich + .monSet = gBattleFrontierTrainerMons_Rich }, - [87] = { + [FRONTIER_TRAINER_CADEN] = { .facilityClass = FACILITY_CLASS_KINDLER, .trainerName = _("CADEN"), .speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_BE, EC_WORD_DEFEATED, EC_WORD_EXCL, 0xFFFF}, .speechWin = {EC_WORD_FIRE, EC_WORD_EXCL, 0xFFFF, EC_WORD_FIRE, EC_WORD_EXCL_EXCL, 0xFFFF}, .speechLose = {EC_WORD_I_AM, EC_WORD_TIRED, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_SO, EC_WORD_HOT}, - .monSets = gBattleFrontierTrainerMons_Caden + .monSet = gBattleFrontierTrainerMons_Caden }, - [88] = { + [FRONTIER_TRAINER_MARLON] = { .facilityClass = FACILITY_CLASS_KINDLER, .trainerName = _("MARLON"), .speechBefore = {EC_WORD_A, EC_WORD_POKEDEX, EC_WORD_IS, EC_WORD_A_LITTLE, EC_WORD_RADIO, EC_WORD_QUES}, .speechWin = {EC_WORD_A_LITTLE, EC_WORD_RADIO, EC_WORD_HUH_QUES, EC_WORD_THAT_S, EC_WORD_TOTALLY, EC_WORD_COOL}, .speechLose = {EC_WORD_IT_S, EC_WORD_NOT, EC_WORD_QUES, EC_WORD_IS, EC_WORD_POKENAV, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Marlon + .monSet = gBattleFrontierTrainerMons_Marlon }, - [89] = { + [FRONTIER_TRAINER_NASH] = { .facilityClass = FACILITY_CLASS_KINDLER, .trainerName = _("NASH"), .speechBefore = {EC_WORD_I_AM, EC_WORD_ON, EC_WORD_FIRE, EC_WORD_BABY, EC_WORD_EXCL, 0xFFFF}, .speechWin = {EC_WORD_I, EC_WORD_LEFT, EC_WORD_YOU, EC_WORD_JUST, EC_WORD_AN, EC_MOVE2(EMBER)}, .speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_NO, EC_WORD_WATER, EC_WORD_PLEASE}, - .monSets = gBattleFrontierTrainerMons_Nash + .monSet = gBattleFrontierTrainerMons_Nash }, - [90] = { + [FRONTIER_TRAINER_ROBBY] = { .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M, .trainerName = _("ROBBY"), .speechBefore = {EC_WORD_HAHAHA, EC_WORD_EXCL, EC_WORD_HAPPY, EC_WORD_TO, EC_WORD_MEET_YOU, EC_WORD_EXCL}, .speechWin = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_LEADER, EC_WORD_WITH, EC_WORD_REFRESHING, EC_WORD_SERENE_GRACE}, .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_MOVE(THRASH), EC_WORD_MY, EC_WORD_TOYS, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Robby + .monSet = gBattleFrontierTrainerMons_Robby }, - [91] = { + [FRONTIER_TRAINER_REECE] = { .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M, .trainerName = _("REECE"), .speechBefore = {EC_WORD_MY, EC_MOVE2(QUICK_ATTACK), EC_WORD_CAN, EC_WORD_BEAT, EC_WORD_A, EC_MOVE2(TELEPORT)}, .speechWin = {EC_WORD_LIKE, EC_WORD_I, EC_WORD_SAID, EC_WORD_I_AM, EC_WORD_DARN, EC_WORD_FAST}, .speechLose = {EC_WORD_I_WAS, EC_WORD_KIDDING, EC_WORD_ABOUT, EC_WORD_THAT, EC_MOVE2(TELEPORT), EC_WORD_THING}, - .monSets = gBattleFrontierTrainerMons_Reece + .monSet = gBattleFrontierTrainerMons_Reece }, - [92] = { + [FRONTIER_TRAINER_KATHRYN] = { .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F, .trainerName = _("KATHRYN"), .speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_TRAIN, EC_WORD_GOOD, EC_WORD_ENOUGH, EC_WORD_QUES}, .speechWin = {EC_WORD_DON_T, EC_MOVE2(TAUNT), EC_WORD_ME, EC_WORD_LIKE, EC_WORD_THAT, EC_WORD_OK_QUES}, .speechLose = {EC_WORD_WHY, EC_WORD_COULDN_T, EC_WORD_I, EC_WORD_WIN, EC_WORD_THIS, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Kathryn + .monSet = gBattleFrontierTrainerMons_Kathryn }, - [93] = { + [FRONTIER_TRAINER_ELLEN] = { .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F, .trainerName = _("ELLEN"), .speechBefore = {EC_WORD_CRUSH, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_AN, EC_WORD_EGG, EC_WORD_EXCL}, .speechWin = {EC_WORD_THAT_WAS, EC_WORD_A, EC_WORD_TASTY, EC_WORD_VICTORY, EC_WORD_FOR, EC_WORD_ME}, .speechLose = {EC_WORD_TOO, EC_WORD_TOUGH, EC_WORD_TO, EC_WORD_CRUSH, EC_WORD_EXCL, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Ellen + .monSet = gBattleFrontierTrainerMons_Ellen }, - [94] = { + [FRONTIER_TRAINER_RAMON] = { .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M, .trainerName = _("RAMON"), .speechBefore = {EC_WORD_OKAY, EC_WORD_EXCL, 0xFFFF, EC_WORD_THIS, EC_WORD_IS, EC_WORD_PERFECTION}, .speechWin = {EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_THAT, EC_WORD_I, EC_WORD_WON, EC_WORD_EXCL}, .speechLose = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_SECRET, EC_WORD_WHY, EC_WORD_I_AM, EC_WORD_HAPPY}, - .monSets = gBattleFrontierTrainerMons_Ramon + .monSet = gBattleFrontierTrainerMons_Ramon }, - [95] = { + [FRONTIER_TRAINER_ARTHUR] = { .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M, .trainerName = _("ARTHUR"), .speechBefore = {EC_WORD_HERE_I_COME, EC_WORD_FEELING, EC_WORD_READY, EC_WORD_FOR, EC_WORD_IT, EC_WORD_ALL}, .speechWin = {EC_WORD_THAT_S_IT_EXCL, 0xFFFF, 0xFFFF, EC_WORD_THAT_WAS, EC_WORD_FABULOUS, EC_WORD_EXCL}, .speechLose = {EC_WORD_THAT_WAS, EC_WORD_NOT, EC_WORD_WHAT, EC_WORD_I, EC_WORD_NEED, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Arthur + .monSet = gBattleFrontierTrainerMons_Arthur }, - [96] = { + [FRONTIER_TRAINER_ALONDRA] = { .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F, .trainerName = _("ALONDRA"), .speechBefore = {EC_WORD_EVERY, EC_WORD_DAY, EC_WORD_IS, EC_WORD_A, EC_WORD_GREAT, EC_WORD_DAY}, .speechWin = {EC_WORD_MY, EC_MOVE2(DIVE), EC_WORD_WILL, EC_WORD_BE, EC_WORD_A, EC_WORD_LEGEND}, .speechLose = {EC_WORD_MY, EC_MOVE2(DIVE), EC_WORD_LEFT, EC_WORD_ME, EC_WORD_COLD, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Alondra + .monSet = gBattleFrontierTrainerMons_Alondra }, - [97] = { + [FRONTIER_TRAINER_ADRIANA] = { .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F, .trainerName = _("ADRIANA"), .speechBefore = {EC_WORD_COME, EC_WORD_SEE, EC_WORD_AN, EC_WORD_INCREDIBLE, EC_WORD_SWIFT_SWIM, EC_WORD_EXCL}, .speechWin = {EC_WORD_I, EC_WORD_MAKE, EC_WORD_IT, EC_WORD_LOOK, EC_WORD_SO, EC_WORD_EASY}, .speechLose = {EC_WORD_I_AM, EC_WORD_FEELING, EC_MOVE2(BEAT_UP), EC_WORD_AND, EC_WORD_TIRED, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Adriana + .monSet = gBattleFrontierTrainerMons_Adriana }, - [98] = { + [FRONTIER_TRAINER_MALIK] = { .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M, .trainerName = _("MALIK"), .speechBefore = {EC_WORD_OH, EC_WORD_NOT, EC_WORD_ANOTHER, EC_WORD_BATTLE, EC_WORD_PLEASE, EC_WORD_ELLIPSIS}, .speechWin = {EC_WORD_I, EC_WORD_FINALLY, EC_WORD_WON, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_TIRED}, .speechLose = {EC_WORD_I, EC_WORD_FINALLY, EC_WORD_LOST, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_TIRED}, - .monSets = gBattleFrontierTrainerMons_Malik + .monSet = gBattleFrontierTrainerMons_Malik }, - [99] = { + [FRONTIER_TRAINER_JILL] = { .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F, .trainerName = _("JILL"), .speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_MOVE2(QUICK_ATTACK), EC_WORD_TRAINER, EC_WORD_EXCL, 0xFFFF}, .speechWin = {EC_WORD_THE, EC_MOVE2(QUICK_ATTACK), EC_WORD_TRAINER, EC_WORD_WINS, EC_WORD_EXCL, 0xFFFF}, .speechLose = {EC_WORD_THE, EC_MOVE2(QUICK_ATTACK), EC_WORD_TRAINER, EC_WORD_GIVES, EC_WORD_UP, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Jill + .monSet = gBattleFrontierTrainerMons_Jill }, - [100] = { + [FRONTIER_TRAINER_ERIK] = { .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M, .trainerName = _("ERIK"), .speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_SPEED_BOOST, EC_WORD_HERO, EC_WORD_EXCL, 0xFFFF}, .speechWin = {EC_WORD_THANK_YOU, EC_WORD_FROM, EC_WORD_THE, EC_WORD_SPEED_BOOST, EC_WORD_HERO, EC_WORD_EXCL}, .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_NO, EC_WORD_NO, EC_WORD_EXCL_EXCL}, - .monSets = gBattleFrontierTrainerMons_Erik + .monSet = gBattleFrontierTrainerMons_Erik }, - [101] = { + [FRONTIER_TRAINER_YAZMIN] = { .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F, .trainerName = _("YAZMIN"), .speechBefore = {EC_WORD_I, EC_WORD_WOULD, EC_WORD_RATHER, EC_WORD_RUN, EC_WORD_THAN, EC_WORD_BIKE}, .speechWin = {EC_WORD_YES, EC_WORD_I, EC_WORD_WOULD, EC_WORD_MUCH, EC_WORD_RATHER, EC_WORD_RUN}, .speechLose = {EC_WORD_BYE_BYE, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_RUN_AWAY}, - .monSets = gBattleFrontierTrainerMons_Yazmin + .monSet = gBattleFrontierTrainerMons_Yazmin }, - [102] = { + [FRONTIER_TRAINER_JAMAL] = { .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M, .trainerName = _("JAMAL"), .speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_BE, EC_WORD_A, EC_WORD_FATHER}, .speechWin = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_WAIT, EC_WORD_FOR, EC_WORD_MY, EC_WORD_BABY}, .speechLose = {EC_WORD_MY, EC_WORD_BABY, EC_WORD_WILL, EC_WORD_BE, EC_WORD_TOTALLY, EC_WORD_AWESOME}, - .monSets = gBattleFrontierTrainerMons_Jamal + .monSet = gBattleFrontierTrainerMons_Jamal }, - [103] = { + [FRONTIER_TRAINER_LESLIE] = { .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F, .trainerName = _("LESLIE"), .speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_BE, EC_WORD_A, EC_WORD_MOTHER}, .speechWin = {EC_WORD_A, EC_WORD_BABY, EC_WORD_WILL, EC_WORD_BE, EC_WORD_A_LITTLE, EC_WORD_CHALLENGE}, .speechLose = {EC_WORD_I_AM, EC_WORD_TOO, EC_WORD_HAPPY, EC_WORD_TO, EC_WORD_BE, EC_WORD_ANGRY}, - .monSets = gBattleFrontierTrainerMons_Leslie + .monSet = gBattleFrontierTrainerMons_Leslie }, - [104] = { + [FRONTIER_TRAINER_DAVE] = { .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M, .trainerName = _("DAVE"), .speechBefore = {EC_WORD_WHAT, EC_WORD_SHOULD, EC_WORD_I, EC_WORD_DO, EC_WORD_TODAY, EC_WORD_QUES}, .speechWin = {EC_WORD_I, EC_WORD_SHOULD, EC_WORD_ENJOY, EC_WORD_SOME, EC_WORD_SPORTS, EC_WORD_EXCL}, .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_GO, EC_WORD_PLAY, EC_WORD_A, EC_WORD_GAME}, - .monSets = gBattleFrontierTrainerMons_Dave + .monSet = gBattleFrontierTrainerMons_Dave }, - [105] = { + [FRONTIER_TRAINER_CARLO] = { .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M, .trainerName = _("CARLO"), .speechBefore = {EC_WORD_HAH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_YEAH, EC_WORD_EXCL_EXCL, 0xFFFF}, .speechWin = {EC_WORD_I, EC_WORD_DO, EC_WORD_THINGS, EC_WORD_AT, EC_MOVE(EXTREME_SPEED), EC_WORD_EXCL}, .speechLose = {EC_WORD_I, EC_WORD_LOST, EC_WORD_AT, EC_MOVE(EXTREME_SPEED), EC_WORD_ELLIPSIS, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Carlo + .monSet = gBattleFrontierTrainerMons_Carlo }, - [106] = { + [FRONTIER_TRAINER_EMILIA] = { .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F, .trainerName = _("EMILIA"), .speechBefore = {EC_WORD_ME, EC_WORD_WORRY, EC_WORD_QUES, EC_WORD_I, EC_WORD_HAVE, EC_WORD_NONE}, .speechWin = {EC_WORD_AHAHA, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_THAT_WAS, EC_WORD_FANTASTIC, EC_WORD_EXCL}, .speechLose = {EC_WORD_AHAHA, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_THAT_WAS, EC_WORD_ENTERTAINING, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Emilia + .monSet = gBattleFrontierTrainerMons_Emilia }, - [107] = { + [FRONTIER_TRAINER_DALIA] = { .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F, .trainerName = _("DALIA"), .speechBefore = {EC_WORD_MY, EC_WORD_BIKE, EC_WORD_IS, EC_WORD_VERY, EC_WORD_EXPENSIVE, 0xFFFF}, .speechWin = {EC_WORD_DON_T, EC_WORD_COME, EC_WORD_NEAR, EC_WORD_MY, EC_WORD_BIKE, EC_WORD_EXCL}, .speechLose = {EC_WORD_MY, EC_WORD_BIKE, EC_WORD_IS, EC_WORD_MY, EC_WORD_BEST, EC_WORD_FRIEND}, - .monSets = gBattleFrontierTrainerMons_Dalia + .monSet = gBattleFrontierTrainerMons_Dalia }, - [108] = { + [FRONTIER_TRAINER_HITOMI] = { .facilityClass = FACILITY_CLASS_BLACK_BELT, .trainerName = _("HITOMI"), .speechBefore = {EC_WORD_YEAH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_HAH, EC_WORD_EXCL_EXCL, 0xFFFF}, .speechWin = {EC_WORD_WHAT, EC_WORD_QUES_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_WON, EC_WORD_QUES_EXCL}, .speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_EXCL_EXCL}, - .monSets = gBattleFrontierTrainerMons_Hitomi + .monSet = gBattleFrontierTrainerMons_Hitomi }, - [109] = { + [FRONTIER_TRAINER_RICARDO] = { .facilityClass = FACILITY_CLASS_BLACK_BELT, .trainerName = _("RICARDO"), .speechBefore = {EC_WORD_COME_ON, EC_WORD_EXCL, EC_WORD_PLAY, EC_WORD_TIME, EC_WORD_IS, EC_WORD_OVER}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_OUT, EC_WORD_OF, EC_WORD_HERE, EC_WORD_EXCL, 0xFFFF}, .speechLose = {EC_WORD_PLEASE, EC_WORD_DON_T, EC_WORD_HIT, EC_WORD_ME, EC_WORD_EXCL, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Ricardo + .monSet = gBattleFrontierTrainerMons_Ricardo }, - [110] = { + [FRONTIER_TRAINER_SHIZUKA] = { .facilityClass = FACILITY_CLASS_BLACK_BELT, .trainerName = _("SHIZUKA"), .speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_THAT, EC_WORD_YOU_RE, EC_WORD_SERIOUS, EC_WORD_EXCL}, .speechWin = {EC_WORD_I, EC_WORD_WON_T, EC_WORD_FORGET, EC_WORD_ABOUT, EC_WORD_YOU, 0xFFFF}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_PERFECT, EC_WORD_IN, EC_WORD_EVERY, EC_WORD_WAY, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Shizuka + .monSet = gBattleFrontierTrainerMons_Shizuka }, - [111] = { + [FRONTIER_TRAINER_JOANA] = { .facilityClass = FACILITY_CLASS_BATTLE_GIRL, .trainerName = _("JOANA"), .speechBefore = {EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_LOSE, EC_WORD_RIGHT, EC_WORD_AWAY}, .speechWin = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_WINNER, EC_WORD_HEAR, EC_WORD_ME, EC_MOVE2(ROAR)}, .speechLose = {EC_WORD_I, EC_WORD_REFUSE, EC_WORD_TO, EC_WORD_ACCEPT, EC_WORD_THAT, EC_MOVE(OUTRAGE)}, - .monSets = gBattleFrontierTrainerMons_Joana + .monSet = gBattleFrontierTrainerMons_Joana }, - [112] = { + [FRONTIER_TRAINER_KELLY] = { .facilityClass = FACILITY_CLASS_BATTLE_GIRL, .trainerName = _("KELLY"), .speechBefore = {EC_WORD_MY, EC_WORD_NIGHT, EC_WORD_SCHOOL, EC_WORD_IS, EC_WORD_REALLY, EC_WORD_SCARY}, .speechWin = {EC_WORD_A, EC_WORD_LADY, EC_WORD_GHOST, EC_WORD_APPEARS, EC_WORD_THERE, 0xFFFF}, .speechLose = {EC_WORD_THE, EC_WORD_HOME, EC_WORD_WORK, EC_WORD_IS, EC_WORD_AWFULLY, EC_WORD_SCARY}, - .monSets = gBattleFrontierTrainerMons_Kelly + .monSet = gBattleFrontierTrainerMons_Kelly }, - [113] = { + [FRONTIER_TRAINER_RAYNA] = { .facilityClass = FACILITY_CLASS_BATTLE_GIRL, .trainerName = _("RAYNA"), .speechBefore = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_WHEN, EC_WORD_IT_S, EC_WORD_ABOUT, EC_WORD_POWER}, .speechWin = {EC_WORD_UNDERSTAND, EC_WORD_MY, EC_WORD_POWER, EC_WORD_NOW, EC_WORD_QUES, 0xFFFF}, .speechLose = {EC_WORD_TERRIBLE, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I_AM, EC_WORD_TERRIBLE, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Rayna + .monSet = gBattleFrontierTrainerMons_Rayna }, - [114] = { + [FRONTIER_TRAINER_EVAN] = { .facilityClass = FACILITY_CLASS_EXPERT_M, .trainerName = _("EVAN"), .speechBefore = {EC_WORD_EVERY, EC_WORD_BATTLE, EC_WORD_HAS, EC_WORD_A, EC_WORD_SMELL, 0xFFFF}, .speechWin = {EC_WORD_OH, EC_WORD_EXCL, EC_WORD_THE, EC_MOVE(SWEET_SCENT), EC_WORD_OF, EC_WORD_VICTORY}, .speechLose = {EC_WORD_THE, EC_WORD_AWFUL, EC_WORD_STENCH, EC_WORD_OF, EC_WORD_A, EC_WORD_LOSS}, - .monSets = gBattleFrontierTrainerMons_Evan + .monSet = gBattleFrontierTrainerMons_Evan }, - [115] = { + [FRONTIER_TRAINER_JORDAN] = { .facilityClass = FACILITY_CLASS_EXPERT_M, .trainerName = _("JORDAN"), .speechBefore = {EC_WORD_GOOD, EC_WORD_EXCL, 0xFFFF, EC_WORD_COME_ON, EC_WORD_EXCL_EXCL, 0xFFFF}, .speechWin = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_BEAT, EC_WORD_ME, EC_WORD_EXCL, 0xFFFF}, .speechLose = {EC_WORD_WHAT, EC_WORD_QUES_EXCL, 0xFFFF, EC_WORD_BUT, EC_WORD_HOW, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Jordan + .monSet = gBattleFrontierTrainerMons_Jordan }, - [116] = { + [FRONTIER_TRAINER_JOEL] = { .facilityClass = FACILITY_CLASS_EXPERT_M, .trainerName = _("JOEL"), .speechBefore = {EC_WORD_FUFUFU, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_HAHAHA, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Joel + .monSet = gBattleFrontierTrainerMons_Joel }, - [117] = { + [FRONTIER_TRAINER_KRISTEN] = { .facilityClass = FACILITY_CLASS_EXPERT_F, .trainerName = _("KRISTEN"), .speechBefore = {EC_WORD_HAHAHA, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_A, EC_WORD_KID, EC_WORD_ELLIPSIS}, .speechWin = {EC_WORD_JUST, EC_WORD_A_LITTLE, EC_WORD_KID, EC_WORD_AFTER, EC_WORD_ALL, EC_WORD_EXCL}, .speechLose = {EC_WORD_A, EC_WORD_TOUGH, EC_WORD_KID, EC_WORD_HUH_QUES, EC_WORD_HUMPH, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Kristen + .monSet = gBattleFrontierTrainerMons_Kristen }, - [118] = { + [FRONTIER_TRAINER_SELPHY] = { .facilityClass = FACILITY_CLASS_EXPERT_F, .trainerName = _("SELPHY"), .speechBefore = {EC_WORD_HUH_QUES, EC_WORD_WHAT, EC_WORD_IS_IT_QUES, 0xFFFF, 0xFFFF, 0xFFFF}, .speechWin = {EC_WORD_OH, EC_WORD_YES, EC_WORD_EXCL, EC_WORD_WHY, EC_WORD_NOT, EC_WORD_QUES}, .speechLose = {EC_WORD_OH, EC_WORD_NO, EC_WORD_EXCL, EC_WORD_WHY, EC_WORD_NOT, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Selphy + .monSet = gBattleFrontierTrainerMons_Selphy }, - [119] = { + [FRONTIER_TRAINER_CHLOE] = { .facilityClass = FACILITY_CLASS_EXPERT_F, .trainerName = _("CHLOE"), .speechBefore = {EC_WORD_COME, EC_WORD_WE, EC_WORD_WILL, EC_WORD_DO, EC_WORD_BATTLE, EC_WORD_NOW}, .speechWin = {EC_WORD_MORE, EC_WORD_EXCL, 0xFFFF, EC_WORD_ANOTHER, EC_WORD_BATTLE, EC_WORD_EXCL}, .speechLose = {EC_WORD_OH, EC_WORD_EXCL, 0xFFFF, EC_WORD_STRONG, EC_WORD_YOU, EC_WORD_ARE}, - .monSets = gBattleFrontierTrainerMons_Chloe + .monSet = gBattleFrontierTrainerMons_Chloe }, - [120] = { + [FRONTIER_TRAINER_NORTON] = { .facilityClass = FACILITY_CLASS_PSYCHIC_M, .trainerName = _("NORTON"), .speechBefore = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_ONLY, EC_WORD_YOU, 0xFFFF, 0xFFFF}, .speechWin = {EC_WORD_EXCUSE_ME, EC_WORD_BUT, EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_PUSHOVER, EC_WORD_EXCL}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_SOME, EC_WORD_KIND, EC_WORD_OF, EC_WORD_AWESOME, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Norton + .monSet = gBattleFrontierTrainerMons_Norton }, - [121] = { + [FRONTIER_TRAINER_LUKAS] = { .facilityClass = FACILITY_CLASS_PSYCHIC_M, .trainerName = _("LUKAS"), .speechBefore = {EC_WORD_MY, EC_WORD_JOKING, EC_WORD_IS, EC_WORD_PRETTY, EC_WORD_TERRIBLE, EC_WORD_ELLIPSIS}, .speechWin = {EC_WORD_YOUR, EC_WORD_ROCK_HEAD, EC_WORD_EXISTS, EC_WORD_TO, EC_WORD_SHINE, EC_WORD_EXCL}, .speechLose = {EC_WORD_YOUR, EC_WORD_ROCK_HEAD, EC_WORD_COME, EC_WORD_TO, EC_WORD_SHINE, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Lukas + .monSet = gBattleFrontierTrainerMons_Lukas }, - [122] = { + [FRONTIER_TRAINER_ZACH] = { .facilityClass = FACILITY_CLASS_PSYCHIC_M, .trainerName = _("ZACH"), .speechBefore = {EC_WORD_I_AM, EC_WORD_AN, EC_WORD_EXCELLENT, EC_MOVE2(MIMIC), EC_WORD_OF, EC_WORD_POKEMON}, .speechWin = {EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_LIKE, EC_WORD_A_LITTLE, EC_POKEMON2(TOGEPI), EC_WORD_EXCL}, .speechLose = {EC_WORD_I_AM, EC_WORD_ANGRY, EC_WORD_LIKE, EC_WORD_A, EC_POKEMON2(MANKEY), EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Zach + .monSet = gBattleFrontierTrainerMons_Zach }, - [123] = { + [FRONTIER_TRAINER_KAITLYN] = { .facilityClass = FACILITY_CLASS_PSYCHIC_F, .trainerName = _("KAITLYN"), .speechBefore = {EC_WORD_I, EC_WORD_CRUSH, EC_WORD_THINGS, EC_WORD_WITH, EC_WORD_PSYCHIC, EC_WORD_POWER}, .speechWin = {EC_WORD_MY, EC_WORD_VICTORY, EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_THE, EC_WORD_NEWS}, .speechLose = {EC_WORD_NO, EC_WORD_NO, EC_WORD_ELLIPSIS, EC_WORD_THIS, EC_WORD_WON_T, EC_WORD_DO}, - .monSets = gBattleFrontierTrainerMons_Kaitlyn + .monSet = gBattleFrontierTrainerMons_Kaitlyn }, - [124] = { + [FRONTIER_TRAINER_BREANNA] = { .facilityClass = FACILITY_CLASS_PSYCHIC_F, .trainerName = _("BREANNA"), .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_WILL, EC_WORD_CRUSH, EC_WORD_YOU, EC_WORD_EXCL}, .speechWin = {EC_WORD_HAVE, EC_WORD_SOME, EC_WORD_MORE, EC_WORD_OF, EC_WORD_THIS, EC_WORD_EXCL}, .speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_GUTS, EC_WORD_AND, EC_WORD_SKILL, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Breanna + .monSet = gBattleFrontierTrainerMons_Breanna }, - [125] = { + [FRONTIER_TRAINER_KENDRA] = { .facilityClass = FACILITY_CLASS_PSYCHIC_F, .trainerName = _("KENDRA"), .speechBefore = {EC_WORD_IF, EC_WORD_YOU_RE, EC_WORD_SMART, EC_WORD_STOP, EC_WORD_RIGHT, EC_WORD_NOW}, .speechWin = {EC_WORD_I, EC_WORD_SAID, EC_WORD_THAT, EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_STOP}, .speechLose = {EC_WORD_WHY, EC_WORD_DIDN_T, EC_WORD_YOU, EC_WORD_STOP, EC_WORD_QUES, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Kendra + .monSet = gBattleFrontierTrainerMons_Kendra }, - [126] = { + [FRONTIER_TRAINER_MOLLY] = { .facilityClass = FACILITY_CLASS_HEX_MANIAC, .trainerName = _("MOLLY"), .speechBefore = {EC_WORD_WILL, EC_WORD_MY, EC_WORD_CUTE_CHARM, EC_MOVE2(ATTRACT), EC_WORD_YOU, EC_WORD_QUES}, .speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_MY, EC_WORD_TOYS, EC_WORD_NOW}, .speechLose = {EC_WORD_OH, EC_WORD_HOW, EC_WORD_COULD, EC_WORD_YOU, EC_WORD_QUES, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Molly + .monSet = gBattleFrontierTrainerMons_Molly }, - [127] = { + [FRONTIER_TRAINER_JAZMIN] = { .facilityClass = FACILITY_CLASS_HEX_MANIAC, .trainerName = _("JAZMIN"), .speechBefore = {EC_WORD_I, EC_WORD_FORECAST, EC_WORD_TERRIBLE, EC_WORD_THINGS, EC_WORD_FOR, EC_WORD_YOU}, .speechWin = {EC_WORD_THERE, EC_WORD_WASN_T, EC_WORD_MY, EC_WORD_FORECAST, EC_WORD_RIGHT, EC_WORD_QUES}, .speechLose = {EC_WORD_MY, EC_MOVE2(FORESIGHT), EC_WORD_DIDN_T, EC_WORD_SHOW, EC_WORD_ME, EC_WORD_THIS}, - .monSets = gBattleFrontierTrainerMons_Jazmin + .monSet = gBattleFrontierTrainerMons_Jazmin }, - [128] = { + [FRONTIER_TRAINER_KELSEY] = { .facilityClass = FACILITY_CLASS_HEX_MANIAC, .trainerName = _("KELSEY"), .speechBefore = {EC_WORD_I, EC_WORD_HAVEN_T, EC_WORD_SLEPT, EC_WORD_IN, EC_WORD_DAYS, EC_WORD_ELLIPSIS}, .speechWin = {EC_WORD_MY, EC_WORD_SLEEP, EC_WORD_WILL, EC_WORD_BE, EC_WORD_EXCELLENT, EC_WORD_NOW}, .speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_DESTROYED, EC_WORD_MY, EC_WORD_SLEEP, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Kelsey + .monSet = gBattleFrontierTrainerMons_Kelsey }, - [129] = { + [FRONTIER_TRAINER_JALEN] = { .facilityClass = FACILITY_CLASS_POKEMANIAC, .trainerName = _("JALEN"), .speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_ALLOW, EC_WORD_POKEMON, EC_WORD_TO, EC_MOVE(THRASH)}, .speechWin = {EC_WORD_HAHAHA, EC_WORD_EXCL, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_ANGRY, EC_WORD_QUES}, .speechLose = {EC_WORD_WHY, EC_WORD_IS, EC_WORD_THIS, EC_WORD_SO, EC_WORD_HARD, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Jalen + .monSet = gBattleFrontierTrainerMons_Jalen }, - [130] = { + [FRONTIER_TRAINER_GRIFFEN] = { .facilityClass = FACILITY_CLASS_POKEMANIAC, .trainerName = _("GRIFFEN"), .speechBefore = {EC_WORD_I, EC_MOVE2(SWALLOW), EC_MOVE2(SLUDGE), EC_WORD_TO, EC_MOVE2(TRANSFORM), EC_WORD_MYSELF}, .speechWin = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_A, EC_MOVE(GROWTH), EC_WORD_OF, EC_MOVE2(ACID_ARMOR)}, .speechLose = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_A, EC_MOVE(GROWTH), EC_WORD_OF, EC_WORD_SUCTION_CUPS}, - .monSets = gBattleFrontierTrainerMons_Griffen + .monSet = gBattleFrontierTrainerMons_Griffen }, - [131] = { + [FRONTIER_TRAINER_XANDER] = { .facilityClass = FACILITY_CLASS_POKEMANIAC, .trainerName = _("XANDER"), .speechBefore = {EC_WORD_I, EC_WORD_GOT, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ON, EC_WORD_RENTAL}, .speechWin = {EC_WORD_IT_S, EC_WORD_INCREDIBLE, EC_WORD_MY, EC_WORD_RENTAL, EC_WORD_POKEMON, EC_WORD_WON}, .speechLose = {EC_WORD_RENTAL, EC_WORD_POKEMON, EC_WORD_AREN_T, EC_WORD_UP, EC_WORD_TO, EC_MOVE2(SCRATCH)}, - .monSets = gBattleFrontierTrainerMons_Xander + .monSet = gBattleFrontierTrainerMons_Xander }, - [132] = { + [FRONTIER_TRAINER_MARVIN] = { .facilityClass = FACILITY_CLASS_GENTLEMAN, .trainerName = _("MARVIN"), .speechBefore = {EC_WORD_YOU_RE, EC_WORD_UP, EC_WORD_TO, EC_WORD_THE, EC_WORD_CHALLENGE, EC_WORD_QUES}, .speechWin = {EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_THINK, EC_WORD_YOU_RE, EC_WORD_GOOD, EC_WORD_ENOUGH}, .speechLose = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_PERFECT, EC_WORD_THANK_YOU, EC_WORD_SO, EC_WORD_MUCH}, - .monSets = gBattleFrontierTrainerMons_Marvin + .monSet = gBattleFrontierTrainerMons_Marvin }, - [133] = { + [FRONTIER_TRAINER_BRENNAN] = { .facilityClass = FACILITY_CLASS_GENTLEMAN, .trainerName = _("BRENNAN"), .speechBefore = {EC_WORD_I, EC_MOVE2(WISH), EC_WORD_TO, EC_WORD_SEE, EC_WORD_THE, EC_WORD_NEWS}, .speechWin = {EC_WORD_COMICS, EC_WORD_GET, EC_WORD_DAMP, EC_WORD_FROM, EC_WORD_DRIZZLE, EC_WORD_QUES}, .speechLose = {EC_WORD_THE, EC_WORD_TIGHT, EC_WORD_MONEY, EC_WORD_LIVING, EC_WORD_CHANNEL, EC_WORD_QUES_EXCL}, - .monSets = gBattleFrontierTrainerMons_Brennan + .monSet = gBattleFrontierTrainerMons_Brennan }, - [134] = { + [FRONTIER_TRAINER_BALEY] = { .facilityClass = FACILITY_CLASS_BUG_MANIAC, .trainerName = _("BALEY"), .speechBefore = {EC_MOVE(SCREECH), EC_WORD_IS, EC_WORD_LIKE, EC_WORD_MUSIC, EC_WORD_TO_ME, EC_WORD_EXCL}, .speechWin = {EC_WORD_MY, EC_MOVE(SCREECH), EC_WORD_STRATEGY, EC_WORD_IS, EC_WORD_THE, EC_WORD_BEST}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_SOUNDPROOF, EC_WORD_QUES, 0xFFFF, 0xFFFF, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Baley + .monSet = gBattleFrontierTrainerMons_Baley }, - [135] = { + [FRONTIER_TRAINER_ZACKARY] = { .facilityClass = FACILITY_CLASS_RUIN_MANIAC, .trainerName = _("ZACKARY"), .speechBefore = {EC_WORD_CAN, EC_WORD_YOU, EC_MOVE(DIG), EC_WORD_IT, EC_WORD_YO, EC_WORD_QUES}, .speechWin = {EC_MOVE2(TAKE_DOWN), EC_WORD_TAKE, EC_WORD_A, EC_MOVE2(DIVE), EC_WORD_YO, EC_WORD_YO}, .speechLose = {EC_WORD_BREAK, EC_WORD_DOWN, EC_MOVE2(DIVE), EC_WORD_TIME, EC_WORD_FOR, EC_WORD_ME}, - .monSets = gBattleFrontierTrainerMons_Zackary + .monSet = gBattleFrontierTrainerMons_Zackary }, - [136] = { + [FRONTIER_TRAINER_GABRIEL] = { .facilityClass = FACILITY_CLASS_COLLECTOR, .trainerName = _("GABRIEL"), .speechBefore = {EC_MOVE2(POUND), EC_WORD_THE, EC_WORD_THICK_FAT, EC_WORD_ON, EC_WORD_MY, EC_MOVE2(BELLY_DRUM)}, .speechWin = {EC_MOVE2(POUND), EC_WORD_MY, EC_MOVE2(BELLY_DRUM), EC_MOVE2(POUND), EC_WORD_MY, EC_MOVE2(BELLY_DRUM)}, .speechLose = {EC_WORD_MY, EC_MOVE2(BELLY_DRUM), EC_WORD_WAS, EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Gabriel + .monSet = gBattleFrontierTrainerMons_Gabriel }, - [137] = { + [FRONTIER_TRAINER_EMILY] = { .facilityClass = FACILITY_CLASS_PARASOL_LADY, .trainerName = _("EMILY"), .speechBefore = {EC_WORD_HOW, EC_WORD_ABOUT, EC_WORD_A_TINY_BIT, EC_WORD_OF, EC_MOVE(HYPNOSIS), EC_WORD_QUES}, .speechWin = {EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_STRATEGY, EC_WORD_WORKS, EC_WORD_TO, EC_WORD_PERFECTION}, .speechLose = {EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_STRATEGY, EC_WORD_WENT, EC_WORD_BADLY, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Emily + .monSet = gBattleFrontierTrainerMons_Emily }, - [138] = { + [FRONTIER_TRAINER_JORDYN] = { .facilityClass = FACILITY_CLASS_BEAUTY, .trainerName = _("JORDYN"), .speechBefore = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_MY, EC_WORD_SECRET, EC_WORD_ELLIPSIS}, .speechWin = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_AS, EC_WORD_I, EC_WORD_APPEAR, EC_WORD_ELLIPSIS}, .speechLose = {EC_WORD_BUT, EC_WORD_HOW, EC_WORD_DID, EC_WORD_YOU, EC_WORD_KNOW, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Jordyn + .monSet = gBattleFrontierTrainerMons_Jordyn }, - [139] = { + [FRONTIER_TRAINER_SOFIA] = { .facilityClass = FACILITY_CLASS_AROMA_LADY, .trainerName = _("SOFIA"), .speechBefore = {EC_POKEMON(LOUDRED), EC_WORD_PROBABLY, EC_WORD_HAS, EC_WORD_A, EC_MOVE(SWEET_SCENT), 0xFFFF}, .speechWin = {EC_WORD_THAT_S, EC_WORD_THE, EC_WORD_FEELING, EC_WORD_THAT, EC_WORD_I, EC_WORD_GET}, .speechLose = {EC_WORD_I, EC_WORD_WORK, EC_WORD_AT, EC_WORD_THE, EC_WORD_DEPT_STORE, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Sofia + .monSet = gBattleFrontierTrainerMons_Sofia }, - [140] = { + [FRONTIER_TRAINER_BRADEN] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_M, .trainerName = _("BRADEN"), .speechBefore = {EC_WORD_I_CHOOSE_YOU, EC_WORD_EXCL, 0xFFFF, EC_WORD_THIS_IS_IT_EXCL, 0xFFFF, 0xFFFF}, .speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_PRETTY, EC_WORD_AWESOME, EC_WORD_ABOUT, EC_WORD_MYSELF}, .speechLose = {EC_WORD_ALL_RIGHT, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_SURRENDER, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Braden + .monSet = gBattleFrontierTrainerMons_Braden }, - [141] = { + [FRONTIER_TRAINER_KAYDEN] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_M, .trainerName = _("KAYDEN"), .speechBefore = {EC_WORD_THEY, EC_WORD_OVERDO, EC_WORD_THAT, EC_WORD_GOURMET, EC_WORD_THING, EC_WORD_ELLIPSIS}, .speechWin = {EC_WORD_THAT, EC_WORD_GOURMET, EC_WORD_THING, EC_WORD_ISN_T, EC_WORD_FOR, EC_WORD_ME}, .speechLose = {EC_WORD_HEY, EC_WORD_THIS, EC_WORD_IS, EC_WORD_PRETTY, EC_WORD_TASTY, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Kayden + .monSet = gBattleFrontierTrainerMons_Kayden }, - [142] = { + [FRONTIER_TRAINER_COOPER] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_M, .trainerName = _("COOPER"), .speechBefore = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_ABSOLUTELY, EC_WORD_BE, EC_WORD_A, EC_WORD_PUSHOVER}, .speechWin = {EC_WORD_THAT_WAS, EC_WORD_TOO, EC_WORD_EXCITING, EC_WORD_FOR, EC_WORD_ME, EC_WORD_ELLIPSIS}, .speechLose = {EC_WORD_PLEASE, EC_WORD_EXCL, 0xFFFF, EC_WORD_SORRY, EC_WORD_I_AM, EC_WORD_SORRY}, - .monSets = gBattleFrontierTrainerMons_Cooper + .monSet = gBattleFrontierTrainerMons_Cooper }, - [143] = { + [FRONTIER_TRAINER_JULIA] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_F, .trainerName = _("JULIA"), .speechBefore = {EC_WORD_SPIRIT, EC_WORD_ALONE, EC_WORD_WON_T, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_WIN}, .speechWin = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_ACCEPT, EC_WORD_THIS, EC_WORD_WITH, EC_WORD_SERENE_GRACE}, .speechLose = {EC_WORD_FOR_NOW, EC_WORD_GOOD_BYE, EC_WORD_BUT, EC_WORD_IT_S, EC_WORD_NOT, EC_WORD_OVER}, - .monSets = gBattleFrontierTrainerMons_Julia + .monSet = gBattleFrontierTrainerMons_Julia }, - [144] = { + [FRONTIER_TRAINER_AMARA] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_F, .trainerName = _("AMARA"), .speechBefore = {EC_WORD_WROOOAAR_EXCL, EC_WORD_EXCL_EXCL, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_READY, EC_WORD_EXCL_EXCL}, .speechWin = {EC_WORD_I, EC_WORD_LOSE, EC_WORD_MYSELF, EC_WORD_IF, EC_WORD_IT_S, EC_WORD_EXCITING}, .speechLose = {EC_WORD_THAT_S, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_TO, EC_MOVE2(TACKLE), EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Amara + .monSet = gBattleFrontierTrainerMons_Amara }, - [145] = { + [FRONTIER_TRAINER_LYNN] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_F, .trainerName = _("LYNN"), .speechBefore = {EC_WORD_YOUR, EC_WORD_SECRET, EC_WORD_CAN_T, EC_WORD_BE, EC_WORD_HIDDEN, EC_WORD_FOREVER}, .speechWin = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_YOUR, EC_WORD_SECRET, EC_WORD_NOW, EC_WORD_EXCL}, .speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_MOVE(SAFEGUARD), EC_WORD_YOUR, EC_WORD_OWN, EC_WORD_SECRET}, - .monSets = gBattleFrontierTrainerMons_Lynn + .monSet = gBattleFrontierTrainerMons_Lynn }, - [146] = { + [FRONTIER_TRAINER_JOVAN] = { .facilityClass = FACILITY_CLASS_PKMN_RANGER_M, .trainerName = _("JOVAN"), .speechBefore = {EC_WORD_YOUR, EC_WORD_BATTLE, EC_WORD_SENSE, EC_WORD_IS, EC_WORD_SADLY, EC_WORD_LACKING}, .speechWin = {EC_WORD_MY, EC_WORD_BATTLE, EC_WORD_SENSE, EC_WORD_IS, EC_WORD_COOL, EC_WORD_ISN_T_IT_QUES}, .speechLose = {EC_WORD_I_WAS, EC_WORD_MINUS, EC_WORD_MY, EC_WORD_NORMAL, EC_WORD_POWER, EC_WORD_TODAY}, - .monSets = gBattleFrontierTrainerMons_Jovan + .monSet = gBattleFrontierTrainerMons_Jovan }, - [147] = { + [FRONTIER_TRAINER_DOMINIC] = { .facilityClass = FACILITY_CLASS_PKMN_RANGER_M, .trainerName = _("DOMINIC"), .speechBefore = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_THIS, EC_WORD_EXCELLENT, EC_WORD_CAMERA, 0xFFFF}, .speechWin = {EC_WORD_MY, EC_WORD_CAMERA, EC_WORD_WAS, EC_WORD_AWFULLY, EC_WORD_EXPENSIVE, 0xFFFF}, .speechLose = {EC_WORD_MY, EC_WORD_CAMERA, EC_WORD_DOESN_T, EC_WORD_MISS, EC_WORD_A, EC_WORD_THING}, - .monSets = gBattleFrontierTrainerMons_Dominic + .monSet = gBattleFrontierTrainerMons_Dominic }, - [148] = { + [FRONTIER_TRAINER_NIKOLAS] = { .facilityClass = FACILITY_CLASS_PKMN_RANGER_M, .trainerName = _("NIKOLAS"), .speechBefore = {EC_WORD_I, EC_MOVE2(MIMIC), EC_WORD_POKEMON, EC_WORD_AFTER, EC_WORD_EVERY, EC_WORD_BATTLE}, .speechWin = {EC_WORD_IF_I_WIN, EC_WORD_I, EC_WORD_PRETEND, EC_WORD_I_AM, EC_WORD_A, EC_POKEMON2(TAUROS)}, .speechLose = {EC_WORD_IF_I_LOSE, EC_WORD_I, EC_WORD_PRETEND, EC_WORD_I_AM, EC_WORD_A, EC_POKEMON2(MILTANK)}, - .monSets = gBattleFrontierTrainerMons_Nikolas + .monSet = gBattleFrontierTrainerMons_Nikolas }, - [149] = { + [FRONTIER_TRAINER_VALERIA] = { .facilityClass = FACILITY_CLASS_PKMN_RANGER_F, .trainerName = _("VALERIA"), .speechBefore = {EC_WORD_I, EC_MOVE2(WISH), EC_WORD_YOU, EC_WORD_WOULD, EC_WORD_NOT, EC_MOVE2(GLARE)}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_MEAN, EC_WORD_EXCL, EC_WORD_I, EC_WORD_MEAN, EC_WORD_REALLY}, .speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_A, EC_WORD_REALLY, EC_MOVE(SCARY_FACE), EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Valeria + .monSet = gBattleFrontierTrainerMons_Valeria }, - [150] = { + [FRONTIER_TRAINER_DELANEY] = { .facilityClass = FACILITY_CLASS_PKMN_RANGER_F, .trainerName = _("DELANEY"), .speechBefore = {EC_WORD_SCHOOL, EC_WORD_IS, EC_WORD_OVER, EC_WORD_TIME, EC_WORD_TO, EC_WORD_PLAY}, .speechWin = {EC_WORD_MY, EC_WORD_BOY, EC_WORD_FRIEND, EC_WORD_IS, EC_WORD_FROM, EC_WORD_SCHOOL}, .speechLose = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_WORK, EC_WORD_NEXT, EC_WORD_WEEK}, - .monSets = gBattleFrontierTrainerMons_Delaney + .monSet = gBattleFrontierTrainerMons_Delaney }, - [151] = { + [FRONTIER_TRAINER_MEGHAN] = { .facilityClass = FACILITY_CLASS_PKMN_RANGER_F, .trainerName = _("MEGHAN"), .speechBefore = {EC_WORD_SCHOOL, EC_WORD_IS, EC_WORD_OUT, EC_WORD_TIME, EC_WORD_TO, EC_WORD_PLAY}, .speechWin = {EC_WORD_MY, EC_WORD_BOY, EC_WORD_FRIEND, EC_WORD_LIKES, EC_WORD_COMICS, 0xFFFF}, .speechLose = {EC_WORD_IT_S, EC_WORD_BACK, EC_WORD_TO, EC_WORD_SCHOOL, EC_WORD_SOON, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Meghan + .monSet = gBattleFrontierTrainerMons_Meghan }, - [152] = { + [FRONTIER_TRAINER_ROBERTO] = { .facilityClass = FACILITY_CLASS_DRAGON_TAMER, .trainerName = _("ROBERTO"), .speechBefore = {EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_INVINCIBLE, EC_WORD_EXCL, 0xFFFF}, .speechWin = {EC_WORD_YOU, EC_WORD_WEREN_T, EC_WORD_BAD, EC_WORD_I_WAS, EC_WORD_JUST, EC_WORD_BETTER}, .speechLose = {EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_SATISFIED, EC_WORD_YET, EC_WORD_QUES, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Roberto + .monSet = gBattleFrontierTrainerMons_Roberto }, - [153] = { + [FRONTIER_TRAINER_DAMIAN] = { .facilityClass = FACILITY_CLASS_DRAGON_TAMER, .trainerName = _("DAMIAN"), .speechBefore = {EC_WORD_MY, EC_WORD_PURE_POWER, EC_WORD_IS, EC_WORD_MACHINE, EC_WORD_LIKE, EC_WORD_EXCL}, .speechWin = {EC_WORD_MY, EC_MOVE2(MACH_PUNCH), EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_A, EC_MOVE(BRICK_BREAK)}, .speechLose = {EC_WORD_ARRGH, EC_WORD_EXCL, 0xFFFF, EC_WORD_NO, EC_WORD_EXCL_EXCL, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Damian + .monSet = gBattleFrontierTrainerMons_Damian }, - [154] = { + [FRONTIER_TRAINER_BRODY] = { .facilityClass = FACILITY_CLASS_DRAGON_TAMER, .trainerName = _("BRODY"), .speechBefore = {EC_WORD_MY, EC_WORD_FASHION, EC_WORD_SENSE, EC_WORD_SEEMS, EC_POKEMON(ODDISH), EC_WORD_QUES}, .speechWin = {EC_WORD_IT_S, EC_WORD_MY, EC_WORD_FAMILY, EC_WORD_STAY_AT_HOME, EC_WORD_LOOK, EC_WORD_EXCL}, .speechLose = {EC_WORD_I, EC_WORD_QUESTION, EC_WORD_YOUR, EC_WORD_FASHION, EC_WORD_SENSE, EC_WORD_SERIOUSLY}, - .monSets = gBattleFrontierTrainerMons_Brody + .monSet = gBattleFrontierTrainerMons_Brody }, - [155] = { + [FRONTIER_TRAINER_GRAHAM] = { .facilityClass = FACILITY_CLASS_DRAGON_TAMER, .trainerName = _("GRAHAM"), .speechBefore = {EC_WORD_YEAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL, 0xFFFF}, .speechWin = {EC_WORD_WAHAHAHA, EC_WORD_WAHAHAHA, EC_WORD_EXCL, EC_WORD_WAHAHAHA, EC_WORD_WAHAHAHA, EC_WORD_EXCL_EXCL}, .speechLose = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_MY, EC_WORD_BAD}, - .monSets = gBattleFrontierTrainerMons_Graham + .monSet = gBattleFrontierTrainerMons_Graham }, - [156] = { + [FRONTIER_TRAINER_TYLOR] = { .facilityClass = FACILITY_CLASS_POKEFAN_M, .trainerName = _("TYLOR"), .speechBefore = {EC_WORD_ARE, EC_WORD_YOU, EC_WORD_FEELING, EC_WORD_MY, EC_MOVE2(HEAT_WAVE), EC_WORD_QUES}, .speechWin = {EC_WORD_YES, EC_WORD_I_AM, EC_WORD_ON, EC_WORD_FIRE, EC_WORD_EXCL, 0xFFFF}, .speechLose = {EC_WORD_BUT, EC_WORD_I_WAS, EC_WORD_ON, EC_WORD_FIRE, EC_WORD_FOR, EC_WORD_YOU}, - .monSets = gBattleFrontierTrainerMons_Tylor + .monSet = gBattleFrontierTrainerMons_Tylor }, - [157] = { + [FRONTIER_TRAINER_JAREN] = { .facilityClass = FACILITY_CLASS_POKEFAN_F, .trainerName = _("JAREN"), .speechBefore = {EC_WORD_FIGHTING, EC_WORD_SPIRIT, EC_WORD_QUES, EC_WORD_ME, EC_WORD_QUES, 0xFFFF}, .speechWin = {EC_WORD_I, EC_WORD_WANT, EC_WORD_MORE, EC_WORD_CUTE, EC_WORD_POKEMON, 0xFFFF}, .speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_LOOK, EC_WORD_QUITE, EC_WORD_CUTE, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Jaren + .monSet = gBattleFrontierTrainerMons_Jaren }, - [158] = { + [FRONTIER_TRAINER_CORDELL] = { .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M, .trainerName = _("CORDELL"), .speechBefore = {EC_WORD_A, EC_WORD_BATTLE, EC_WORD_IS, EC_WORD_DECIDED, EC_WORD_ON, EC_WORD_SPIRIT}, .speechWin = {EC_WORD_CAN_T, EC_WORD_YOU, EC_WORD_ACCEPT, EC_WORD_THAT, EC_WORD_QUES, 0xFFFF}, .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_BE, EC_WORD_ON, EC_WORD_MY, EC_WORD_WAY}, - .monSets = gBattleFrontierTrainerMons_Cordell + .monSet = gBattleFrontierTrainerMons_Cordell }, - [159] = { - .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F, + [FRONTIER_TRAINER_JAZLYN] = { + .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F, .trainerName = _("JAZLYN"), .speechBefore = {EC_WORD_IS, EC_WORD_YOUR, EC_WORD_POKEDEX, EC_WORD_REALLY, EC_WORD_AWESOME, EC_WORD_QUES}, .speechWin = {EC_WORD_OH_YEAH, EC_WORD_WOW, EC_WORD_YOUR, EC_WORD_POKEDEX, EC_WORD_IS, EC_WORD_SUPER}, .speechLose = {EC_WORD_AN, EC_WORD_AVANT_GARDE, EC_WORD_POKEDEX, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_AWESOME}, - .monSets = gBattleFrontierTrainerMons_Jazlyn + .monSet = gBattleFrontierTrainerMons_Jazlyn }, - [160] = { + [FRONTIER_TRAINER_ZACHERY] = { .facilityClass = FACILITY_CLASS_YOUNGSTER, .trainerName = _("ZACHERY"), .speechBefore = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_MY, EC_WORD_OWN, EC_WORD_PLACE, EC_WORD_YEEHAW_EXCL}, .speechWin = {EC_WORD_IT_S, EC_WORD_AN, EC_WORD_EXCITING, EC_WORD_TIME, EC_WORD_FOR, EC_WORD_ME}, .speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_FLATTEN, EC_WORD_MY, EC_WORD_HAPPINESS, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Zachery + .monSet = gBattleFrontierTrainerMons_Zachery }, - [161] = { + [FRONTIER_TRAINER_JOHAN] = { .facilityClass = FACILITY_CLASS_YOUNGSTER, .trainerName = _("JOHAN"), .speechBefore = {EC_WORD_WINTER, EC_WORD_WILL, EC_WORD_SOON, EC_WORD_BE, EC_WORD_HERE, 0xFFFF}, .speechWin = {EC_WORD_MY, EC_WORD_ALLOWANCE, EC_WORD_COULD, EC_WORD_USE, EC_WORD_A, EC_MOVE2(HELPING_HAND)}, .speechLose = {EC_WORD_I, EC_WORD_ALWAYS, EC_WORD_USE, EC_WORD_MY, EC_WORD_ALLOWANCE, EC_WORD_UP}, - .monSets = gBattleFrontierTrainerMons_Johan + .monSet = gBattleFrontierTrainerMons_Johan }, - [162] = { + [FRONTIER_TRAINER_SHEA] = { .facilityClass = FACILITY_CLASS_LASS, .trainerName = _("SHEA"), .speechBefore = {EC_WORD_DO, EC_WORD_YOU, EC_WORD_BATTLE, EC_WORD_WITH, EC_WORD_BEAUTY, EC_WORD_QUES}, .speechWin = {EC_WORD_YOU, EC_WORD_BATTLE, EC_WORD_IN, EC_WORD_AN, EC_WORD_UGLY, EC_WORD_WAY}, .speechLose = {EC_WORD_WHAT, EC_WORD_IS, EC_WORD_BEAUTY, EC_WORD_TO, EC_WORD_YOU, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Shea + .monSet = gBattleFrontierTrainerMons_Shea }, - [163] = { + [FRONTIER_TRAINER_KAILA] = { .facilityClass = FACILITY_CLASS_LASS, .trainerName = _("KAILA"), .speechBefore = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_THIRSTY, EC_WORD_RIGHT, EC_WORD_NOW, EC_WORD_ELLIPSIS}, .speechWin = {EC_WORD_I, EC_WORD_COULD, EC_WORD_USE, EC_WORD_A, EC_WORD_COLD, EC_WORD_DRINK}, .speechLose = {EC_WORD_THAT, EC_WORD_LOSS, EC_WORD_IS, EC_WORD_HARD, EC_WORD_TO, EC_MOVE2(SWALLOW)}, - .monSets = gBattleFrontierTrainerMons_Kaila + .monSet = gBattleFrontierTrainerMons_Kaila }, - [164] = { + [FRONTIER_TRAINER_ISIAH] = { .facilityClass = FACILITY_CLASS_SCHOOL_KID_M, .trainerName = _("ISIAH"), .speechBefore = {EC_WORD_I, EC_WORD_PRETEND, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_A_LOT, 0xFFFF}, .speechWin = {EC_WORD_I, EC_MOVE2(TRICK), EC_WORD_MOTHER, EC_WORD_FOR, EC_WORD_MY, EC_WORD_ALLOWANCE}, .speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_WANT, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_MORE}, - .monSets = gBattleFrontierTrainerMons_Isiah + .monSet = gBattleFrontierTrainerMons_Isiah }, - [165] = { + [FRONTIER_TRAINER_GARRETT] = { .facilityClass = FACILITY_CLASS_SCHOOL_KID_M, .trainerName = _("GARRETT"), .speechBefore = {EC_WORD_I, EC_WORD_ENJOY, EC_WORD_COMICS, EC_WORD_AND, EC_WORD_THIS, EC_WORD_GAME}, .speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_THIS, EC_WORD_MUSIC, EC_WORD_IDOL, EC_WORD_TOO}, .speechLose = {EC_WORD_BUT, EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_MORE}, - .monSets = gBattleFrontierTrainerMons_Garrett + .monSet = gBattleFrontierTrainerMons_Garrett }, - [166] = { + [FRONTIER_TRAINER_HAYLIE] = { .facilityClass = FACILITY_CLASS_SCHOOL_KID_F, .trainerName = _("HAYLIE"), .speechBefore = {EC_WORD_I, EC_WORD_WORRY, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_TO, EC_WORD_SLEEP}, .speechWin = {EC_WORD_A, EC_WORD_WIN, EC_WORD_GIVES, EC_WORD_ME, EC_WORD_A, EC_MOVE2(CALM_MIND)}, .speechLose = {EC_WORD_MY, EC_WORD_INSOMNIA, EC_WORD_WILL, EC_WORD_GET, EC_WORD_BAD, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Haylie + .monSet = gBattleFrontierTrainerMons_Haylie }, - [167] = { + [FRONTIER_TRAINER_MEGAN] = { .facilityClass = FACILITY_CLASS_SCHOOL_KID_F, .trainerName = _("MEGAN"), .speechBefore = {EC_WORD_I, EC_WORD_BELIEVE, EC_WORD_IN, EC_WORD_AN, EC_MOVE(AROMATHERAPY), EC_WORD_BATH}, .speechWin = {EC_WORD_I, EC_WORD_WANT, EC_WORD_A, EC_WORD_HEALTHY, EC_WORD_CLEAR_BODY, 0xFFFF}, .speechLose = {EC_WORD_IF, EC_WORD_ONLY, EC_MOVE(AROMATHERAPY), EC_WORD_WERE, EC_WORD_LESS, EC_WORD_EXPENSIVE}, - .monSets = gBattleFrontierTrainerMons_Megan + .monSet = gBattleFrontierTrainerMons_Megan }, - [168] = { + [FRONTIER_TRAINER_ISSAC] = { .facilityClass = FACILITY_CLASS_RICH_BOY, .trainerName = _("ISSAC"), .speechBefore = {EC_WORD_MY, EC_WORD_HOBBY, EC_WORD_QUES, 0xFFFF, 0xFFFF, 0xFFFF}, .speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_ANY, EC_WORD_KIND, EC_WORD_OF, EC_MOVE2(WATER_SPORT)}, .speechLose = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_ANY, EC_WORD_KIND, EC_WORD_OF, EC_MOVE2(MUD_SPORT)}, - .monSets = gBattleFrontierTrainerMons_Issac + .monSet = gBattleFrontierTrainerMons_Issac }, - [169] = { + [FRONTIER_TRAINER_QUINTON] = { .facilityClass = FACILITY_CLASS_RICH_BOY, .trainerName = _("QUINTON"), .speechBefore = {EC_WORD_I_AM, EC_WORD_SAD, EC_WORD_CAUSE, EC_WORD_I_AM, EC_WORD_TOO_WEAK, 0xFFFF}, .speechWin = {EC_WORD_YOU, EC_WORD_AREN_T, EC_WORD_TOO_STRONG, EC_WORD_FOR, EC_WORD_ME, 0xFFFF}, .speechLose = {EC_WORD_HEY, EC_WORD_WHAT, EC_WORD_DID, EC_WORD_I, EC_WORD_DO, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Quinton + .monSet = gBattleFrontierTrainerMons_Quinton }, - [170] = { + [FRONTIER_TRAINER_SALMA] = { .facilityClass = FACILITY_CLASS_LADY, .trainerName = _("SALMA"), .speechBefore = {EC_WORD_YOU_VE, EC_WORD_GOT, EC_WORD_YOUR, EC_WORD_HUSTLE, EC_WORD_ON, EC_WORD_EXCL}, .speechWin = {EC_WORD_I, EC_WORD_WIN, EC_WORD_YOU, EC_WORD_HUSTLE, EC_WORD_ON, EC_WORD_OUT}, .speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_GET, EC_WORD_HOW, EC_WORD_I, EC_WORD_LOST}, - .monSets = gBattleFrontierTrainerMons_Salma + .monSet = gBattleFrontierTrainerMons_Salma }, - [171] = { + [FRONTIER_TRAINER_ANSLEY] = { .facilityClass = FACILITY_CLASS_LADY, .trainerName = _("ANSLEY"), .speechBefore = {EC_WORD_I_AM, EC_WORD_BORED, EC_WORD_ELLIPSIS, EC_WORD_DANCE, EC_WORD_FOR, EC_WORD_ME}, .speechWin = {EC_WORD_YOU_VE, EC_WORD_BORED, EC_WORD_ME, EC_WORD_SOME, EC_WORD_MORE, 0xFFFF}, .speechLose = {EC_WORD_TAKE, EC_WORD_YOUR, EC_MOVE2(FRUSTRATION), EC_WORD_SOME, EC_WORD_OTHER, EC_WORD_PLACE}, - .monSets = gBattleFrontierTrainerMons_Ansley + .monSet = gBattleFrontierTrainerMons_Ansley }, - [172] = { + [FRONTIER_TRAINER_HOLDEN] = { .facilityClass = FACILITY_CLASS_BUG_CATCHER, .trainerName = _("HOLDEN"), .speechBefore = {EC_WORD_LET_S, EC_WORD_COMMEMORATE, EC_WORD_MY, EC_WORD_COOLNESS, EC_WORD_IN, EC_WORD_BATTLE}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_FOR, EC_WORD_ANY, EC_WORD_PRAISE, 0xFFFF}, .speechLose = {EC_WORD_YOUR, EC_WORD_BATTLE, EC_WORD_SENSE, EC_WORD_IS, EC_WORD_AMUSING, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Holden + .monSet = gBattleFrontierTrainerMons_Holden }, - [173] = { + [FRONTIER_TRAINER_LUCA] = { .facilityClass = FACILITY_CLASS_BUG_CATCHER, .trainerName = _("LUCA"), .speechBefore = {EC_WORD_WE, EC_WORD_WILL, EC_WORD_HAVE, EC_WORD_A, EC_WORD_COOL, EC_WORD_BATTLE}, .speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_IN, EC_WORD_A, EC_WORD_COOL, EC_WORD_WAY}, .speechLose = {EC_WORD_HELLO, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_JUST, EC_WORD_A, EC_WORD_KID}, - .monSets = gBattleFrontierTrainerMons_Luca + .monSet = gBattleFrontierTrainerMons_Luca }, - [174] = { + [FRONTIER_TRAINER_JAMISON] = { .facilityClass = FACILITY_CLASS_NINJA_BOY, .trainerName = _("JAMISON"), .speechBefore = {EC_WORD_MY, EC_MOVE2(SECRET_POWER), EC_WORD_IS, EC_WORD_OVERWHELMING, EC_WORD_TO, EC_WORD_POKEMON}, .speechWin = {EC_WORD_DID, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_QUES, 0xFFFF}, .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_USE, EC_MOVE(SMOKESCREEN), EC_WORD_TO, EC_WORD_ESCAPE}, - .monSets = gBattleFrontierTrainerMons_Jamison + .monSet = gBattleFrontierTrainerMons_Jamison }, - [175] = { + [FRONTIER_TRAINER_GUNNAR] = { .facilityClass = FACILITY_CLASS_NINJA_BOY, .trainerName = _("GUNNAR"), .speechBefore = {EC_WORD_I, EC_MOVE(CUT), EC_WORD_DOWN, EC_WORD_EVERY, EC_WORD_OPPONENT, 0xFFFF}, .speechWin = {EC_WORD_DON_T, EC_MOVE(GRUDGE), EC_WORD_ME, EC_WORD_FOR, EC_WORD_YOUR, EC_WORD_LOSS}, .speechLose = {EC_WORD_PLEASE, EC_WORD_LOSE, EC_WORD_THAT, EC_MOVE(SCARY_FACE), EC_WORD_OF, EC_WORD_YOURS}, - .monSets = gBattleFrontierTrainerMons_Gunnar + .monSet = gBattleFrontierTrainerMons_Gunnar }, - [176] = { + [FRONTIER_TRAINER_CRAIG] = { .facilityClass = FACILITY_CLASS_TUBER_M, .trainerName = _("CRAIG"), .speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_WAIT, EC_WORD_FOR, EC_WORD_MY, EC_WORD_TRAIN}, .speechWin = {EC_WORD_MY, EC_WORD_TRAIN, EC_WORD_ISN_T, EC_WORD_HERE, EC_WORD_YET, EC_WORD_ELLIPSIS}, .speechLose = {EC_WORD_HERE_IT_IS, EC_WORD_MY, EC_WORD_TRAIN, EC_WORD_SEE_YA, EC_WORD_EXCL, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Craig + .monSet = gBattleFrontierTrainerMons_Craig }, - [177] = { + [FRONTIER_TRAINER_PIERCE] = { .facilityClass = FACILITY_CLASS_TUBER_M, .trainerName = _("PIERCE"), .speechBefore = {EC_WORD_THERE, EC_WORD_WAS, EC_WORD_A, EC_MOVE2(HEAT_WAVE), EC_WORD_LAST, EC_WORD_WEEK}, .speechWin = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_TAKE, EC_WORD_A, EC_MOVE2(HEAT_WAVE), 0xFFFF}, .speechLose = {EC_WORD_DIDN_T, EC_WORD_IT, EC_MOVE(HAIL), EC_WORD_TOO, EC_WORD_QUES, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Pierce + .monSet = gBattleFrontierTrainerMons_Pierce }, - [178] = { + [FRONTIER_TRAINER_REGINA] = { .facilityClass = FACILITY_CLASS_TUBER_F, .trainerName = _("REGINA"), .speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_PLAY, EC_WORD_IN, EC_WORD_WATER}, .speechWin = {EC_WORD_I, EC_WORD_REFUSE, EC_WORD_TO, EC_WORD_COME, EC_WORD_OUT, 0xFFFF}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_MUCH, EC_WORD_GOOD, EC_WORD_IN, EC_WORD_WATER}, - .monSets = gBattleFrontierTrainerMons_Regina + .monSet = gBattleFrontierTrainerMons_Regina }, - [179] = { + [FRONTIER_TRAINER_ALISON] = { .facilityClass = FACILITY_CLASS_TUBER_F, .trainerName = _("ALISON"), .speechBefore = {EC_WORD_THIS, EC_WORD_KINDERGARTEN, EC_WORD_MAGAZINE, EC_WORD_IS, EC_WORD_TOO, EC_WORD_MUCH}, .speechWin = {EC_WORD_HOW, EC_WORD_TO, EC_WORD_BUG, EC_WORD_YOUR, EC_WORD_TEACHER, EC_WORD_QUES}, .speechLose = {EC_WORD_ENJOY, EC_WORD_A, EC_WORD_TASTY, EC_WORD_SCHOOL, EC_WORD_DIET, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Alison + .monSet = gBattleFrontierTrainerMons_Alison }, - [180] = { + [FRONTIER_TRAINER_HANK] = { .facilityClass = FACILITY_CLASS_BUG_MANIAC, .trainerName = _("HANK"), .speechBefore = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_A, EC_WORD_BUG, EC_WORD_EVENT, EC_WORD_SOON}, .speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_BUG, EC_WORD_FASHION, EC_WORD_SHOW, EC_WORD_EXCL}, .speechLose = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Hank + .monSet = gBattleFrontierTrainerMons_Hank }, - [181] = { + [FRONTIER_TRAINER_EARL] = { .facilityClass = FACILITY_CLASS_BUG_MANIAC, .trainerName = _("EARL"), .speechBefore = {EC_WORD_THE, EC_WORD_INVINCIBLE, EC_WORD_BUG, EC_WORD_TRAINER, EC_WORD_IS, EC_WORD_HERE}, .speechWin = {EC_WORD_THE, EC_WORD_INVINCIBLE, EC_WORD_BUG, EC_WORD_TRAINER, EC_WORD_AM, EC_WORD_I}, .speechLose = {EC_WORD_SEE, EC_WORD_HOW, EC_WORD_FAST, EC_WORD_I, EC_WORD_RUN_AWAY, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Earl + .monSet = gBattleFrontierTrainerMons_Earl }, - [182] = { + [FRONTIER_TRAINER_RAMIRO] = { .facilityClass = FACILITY_CLASS_FISHERMAN, .trainerName = _("RAMIRO"), .speechBefore = {EC_WORD_I, EC_WORD_WENT, EC_WORD_TO, EC_WORD_A, EC_WORD_FISHING, EC_WORD_SCHOOL}, .speechWin = {EC_WORD_SERIOUSLY, EC_WORD_I_AM, EC_WORD_IN, EC_WORD_THE, EC_WORD_FISHING, EC_WORD_HALL_OF_FAME}, .speechLose = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_BACK, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Ramiro + .monSet = gBattleFrontierTrainerMons_Ramiro }, - [183] = { + [FRONTIER_TRAINER_HUNTER] = { .facilityClass = FACILITY_CLASS_FISHERMAN, .trainerName = _("HUNTER"), .speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_A, EC_WORD_TOTALLY, EC_WORD_COOL, EC_MOVE(CROSS_CHOP)}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_TO, EC_WORD_DO, EC_WORD_A, EC_MOVE(CROSS_CHOP)}, .speechLose = {EC_WORD_WAS, EC_WORD_IT, EC_WORD_A, EC_WORD_MISTAKE, EC_WORD_QUES, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Hunter + .monSet = gBattleFrontierTrainerMons_Hunter }, - [184] = { + [FRONTIER_TRAINER_AIDEN] = { .facilityClass = FACILITY_CLASS_RUIN_MANIAC, .trainerName = _("AIDEN"), .speechBefore = {EC_WORD_MY, EC_WORD_WORK, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_ME, EC_WORD_HEALTHY}, .speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_HEALTHY, EC_WORD_EXCL}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_MORE, EC_WORD_HEALTHY, EC_WORD_THAN, EC_WORD_I_AM, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Aiden + .monSet = gBattleFrontierTrainerMons_Aiden }, - [185] = { + [FRONTIER_TRAINER_XAVIER] = { .facilityClass = FACILITY_CLASS_RUIN_MANIAC, .trainerName = _("XAVIER"), .speechBefore = {EC_WORD_HEY_THERE, EC_WORD_EXCL, 0xFFFF, EC_WORD_LOOK, EC_WORD_LOOK, EC_WORD_EXCL_EXCL}, .speechWin = {EC_WORD_GOOD_BYE, EC_WORD_AND, EC_WORD_THANK_YOU, EC_WORD_THAT_WAS, EC_WORD_FUNNY, 0xFFFF}, .speechLose = {EC_WORD_WOWEE, EC_WORD_EXCL, 0xFFFF, EC_WORD_NO, EC_WORD_NO, EC_WORD_EXCL_EXCL}, - .monSets = gBattleFrontierTrainerMons_Xavier + .monSet = gBattleFrontierTrainerMons_Xavier }, - [186] = { + [FRONTIER_TRAINER_CLINTON] = { .facilityClass = FACILITY_CLASS_COLLECTOR, .trainerName = _("CLINTON"), .speechBefore = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_SEE, EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_QUES}, .speechWin = {EC_WORD_YOUR, EC_MOVE2(FURY_SWIPES), EC_WORD_YOUR, EC_MOVE(STRENGTH), EC_WORD_YOUNG, EC_WORD_TRAINER}, .speechLose = {EC_WORD_TCH, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I_AM, EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Clinton + .monSet = gBattleFrontierTrainerMons_Clinton }, - [187] = { + [FRONTIER_TRAINER_JESSE] = { .facilityClass = FACILITY_CLASS_COLLECTOR, .trainerName = _("JESSE"), .speechBefore = {EC_WORD_THIS, EC_WORD_BATTLE, EC_WORD_IS, EC_WORD_FOR, EC_WORD_MY, EC_WORD_MOTHER}, .speechWin = {EC_WORD_MOTHER, EC_WORD_WILL, EC_WORD_BE, EC_WORD_HAPPY, EC_WORD_FOR, EC_WORD_ME}, .speechLose = {EC_WORD_I, EC_WORD_WANT, EC_WORD_MY, EC_WORD_MOTHER, EC_WORD_EXCL, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Jesse + .monSet = gBattleFrontierTrainerMons_Jesse }, - [188] = { + [FRONTIER_TRAINER_EDUARDO] = { .facilityClass = FACILITY_CLASS_GUITARIST, .trainerName = _("EDUARDO"), .speechBefore = {EC_WORD_OUR, EC_WORD_MUSIC, EC_WORD_WILL, EC_WORD_PLAY, EC_WORD_ALL, EC_WORD_NIGHT}, .speechWin = {EC_WORD_NIGHTTIME, EC_WORD_IS, EC_WORD_WHEN, EC_WORD_I, EC_WORD_PLAY, EC_WORD_BEST}, .speechLose = {EC_WORD_LET_S, EC_WORD_PARTY, EC_WORD_UNTIL, EC_WORD_THE, EC_MOVE(MORNING_SUN), EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Eduardo + .monSet = gBattleFrontierTrainerMons_Eduardo }, - [189] = { + [FRONTIER_TRAINER_HAL] = { .facilityClass = FACILITY_CLASS_GUITARIST, .trainerName = _("HAL"), .speechBefore = {EC_WORD_I_AM, EC_WORD_TRENDY, EC_WORD_AREN_T, EC_WORD_I, EC_WORD_QUES, 0xFFFF}, .speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_HIP_AND, EC_WORD_HAPPENING, EC_WORD_OH_YEAH, EC_WORD_EXCL}, .speechLose = {EC_WORD_I_AM, EC_WORD_ALWAYS, EC_WORD_TRENDY, EC_WORD_THANK_YOU, EC_WORD_VERY, EC_WORD_MUCH}, - .monSets = gBattleFrontierTrainerMons_Hal + .monSet = gBattleFrontierTrainerMons_Hal }, - [190] = { + [FRONTIER_TRAINER_GAGE] = { .facilityClass = FACILITY_CLASS_BIRD_KEEPER, .trainerName = _("GAGE"), .speechBefore = {EC_WORD_HERE_IT_IS, EC_WORD_A, EC_WORD_FLYING, EC_WORD_TYPE, EC_WORD_HIDDEN, EC_WORD_MOVE}, .speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_FLYING, EC_WORD_TYPE, EC_WORD_VICTORY, EC_WORD_EXCL}, .speechLose = {EC_WORD_IF_I_LOSE, EC_WORD_I, EC_WORD_JUST, EC_MOVE(FLY), EC_WORD_AWAY, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Gage + .monSet = gBattleFrontierTrainerMons_Gage }, - [191] = { + [FRONTIER_TRAINER_ARNOLD] = { .facilityClass = FACILITY_CLASS_BIRD_KEEPER, .trainerName = _("ARNOLD"), .speechBefore = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_WEIRD, EC_WORD_FROM, EC_WORD_A, EC_WORD_DREAM}, .speechWin = {EC_WORD_YOUR, EC_MOVE(SCARY_FACE), EC_WORD_WAS, EC_WORD_IN, EC_WORD_MY, EC_WORD_DREAM}, .speechLose = {EC_WORD_MY, EC_WORD_INCREDIBLE, EC_WORD_DREAM, EC_WORD_WAS, EC_WORD_SO, EC_WORD_WEIRD}, - .monSets = gBattleFrontierTrainerMons_Arnold + .monSet = gBattleFrontierTrainerMons_Arnold }, - [192] = { + [FRONTIER_TRAINER_JARRETT] = { .facilityClass = FACILITY_CLASS_SAILOR, .trainerName = _("JARRETT"), .speechBefore = {EC_WORD_COME_ON, EC_WORD_LET_S, EC_WORD_DANCE, EC_WORD_LIKE, EC_WORD_IT_S, EC_WORD_YESTERDAY}, .speechWin = {EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_HOW, EC_WORD_I, EC_WORD_DANCE, EC_WORD_QUES}, .speechLose = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_APPRECIATE, EC_WORD_HOW, EC_WORD_I, EC_WORD_DANCE}, - .monSets = gBattleFrontierTrainerMons_Jarrett + .monSet = gBattleFrontierTrainerMons_Jarrett }, - [193] = { + [FRONTIER_TRAINER_GARETT] = { .facilityClass = FACILITY_CLASS_SAILOR, .trainerName = _("GARETT"), .speechBefore = {EC_WORD_MY, EC_WORD_GIRL, EC_WORD_GIVES, EC_WORD_ME, EC_WORD_A_LITTLE, EC_MOVE2(SWEET_KISS)}, .speechWin = {EC_WORD_MY, EC_WORD_GIRL, EC_WORD_FRIEND, EC_WORD_IS, EC_WORD_MY, EC_WORD_TREASURE}, .speechLose = {EC_WORD_A, EC_WORD_TREASURE, EC_WORD_ISN_T, EC_WORD_ALWAYS, EC_WORD_ABOUT, EC_WORD_MONEY}, - .monSets = gBattleFrontierTrainerMons_Garett + .monSet = gBattleFrontierTrainerMons_Garett }, - [194] = { + [FRONTIER_TRAINER_EMANUEL] = { .facilityClass = FACILITY_CLASS_HIKER, .trainerName = _("EMANUEL"), .speechBefore = {EC_WORD_SMARTNESS, EC_WORD_ALONE, EC_WORD_WON_T, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_WIN}, .speechWin = {EC_WORD_I_AM, EC_WORD_NOT_VERY, EC_WORD_SMART, EC_WORD_BUT, EC_WORD_I, EC_WORD_WON}, .speechLose = {EC_WORD_HOW, EC_WORD_DID, EC_WORD_YOU, EC_MOVE2(FAKE_OUT), EC_WORD_ME, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Emanuel + .monSet = gBattleFrontierTrainerMons_Emanuel }, - [195] = { + [FRONTIER_TRAINER_GUSTAVO] = { .facilityClass = FACILITY_CLASS_HIKER, .trainerName = _("GUSTAVO"), .speechBefore = {EC_MOVE(CHARGE), EC_WORD_EXCL, 0xFFFF, EC_MOVE(CHARGE), EC_WORD_EXCL_EXCL, 0xFFFF}, .speechWin = {EC_WORD_SURRENDER, EC_WORD_QUES, 0xFFFF, EC_WORD_SO, EC_WORD_SOON, EC_WORD_QUES}, .speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_SURRENDER, EC_WORD_YET}, - .monSets = gBattleFrontierTrainerMons_Gustavo + .monSet = gBattleFrontierTrainerMons_Gustavo }, - [196] = { + [FRONTIER_TRAINER_KAMERON] = { .facilityClass = FACILITY_CLASS_KINDLER, .trainerName = _("KAMERON"), .speechBefore = {EC_WORD_TAKE_THAT, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_MY, EC_WORD_FIERY, EC_MOVE2(TRICK)}, .speechWin = {EC_WORD_DID, EC_WORD_MY, EC_WORD_FIERY, EC_MOVE2(TRICK), EC_MOVE(ASTONISH), EC_WORD_QUES}, .speechLose = {EC_WORD_YOU, EC_WORD_DIDN_T, EC_WORD_FALL, EC_WORD_FOR, EC_WORD_MY, EC_MOVE2(TRICK)}, - .monSets = gBattleFrontierTrainerMons_Kameron + .monSet = gBattleFrontierTrainerMons_Kameron }, - [197] = { + [FRONTIER_TRAINER_ALFREDO] = { .facilityClass = FACILITY_CLASS_KINDLER, .trainerName = _("ALFREDO"), .speechBefore = {EC_WORD_A, EC_WORD_FIERY, EC_WORD_GOURMET, EC_WORD_AM, EC_WORD_I, EC_WORD_EXCL}, .speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_TASTY, EC_WORD_GOURMET, EC_WORD_VICTORY, EC_WORD_EXCL}, .speechLose = {EC_WORD_WHAT, EC_WORD_A, EC_WORD_DISASTER, EC_WORD_THAT_WAS, EC_WORD_EXCL, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Alfredo + .monSet = gBattleFrontierTrainerMons_Alfredo }, - [198] = { + [FRONTIER_TRAINER_RUBEN] = { .facilityClass = FACILITY_CLASS_GENTLEMAN, .trainerName = _("RUBEN"), .speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_WAIT, EC_WORD_TO, EC_WORD_GET, EC_WORD_GOING}, .speechWin = {EC_WORD_GET, EC_WORD_GOING, EC_WORD_EXCL, EC_WORD_THIS, EC_WORD_IS, EC_WORD_GOOD_BYE}, .speechLose = {EC_WORD_I_VE, EC_WORD_GOT, EC_WORD_TO, EC_WORD_GET, EC_WORD_GOING, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Ruben + .monSet = gBattleFrontierTrainerMons_Ruben }, - [199] = { + [FRONTIER_TRAINER_LAMAR] = { .facilityClass = FACILITY_CLASS_GENTLEMAN, .trainerName = _("LAMAR"), .speechBefore = {EC_WORD_A, EC_MOVE2(PRESENT), EC_WORD_FOR, EC_WORD_ME, EC_WORD_QUES, 0xFFFF}, .speechWin = {EC_WORD_MMM, EC_WORD_THIS, EC_WORD_IS, EC_WORD_QUITE, EC_WORD_TASTY, EC_WORD_ELLIPSIS}, .speechLose = {EC_WORD_OH, EC_WORD_IT_S, EC_WORD_A, EC_WORD_GAME, EC_WORD_IS_IT_QUES, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Lamar + .monSet = gBattleFrontierTrainerMons_Lamar }, - [200] = { + [FRONTIER_TRAINER_JAXON] = { .facilityClass = FACILITY_CLASS_YOUNGSTER, .trainerName = _("JAXON"), .speechBefore = {EC_WORD_A, EC_WORD_SHELL_ARMOR, EC_WORD_IS, EC_WORD_WHAT, EC_WORD_I, EC_WORD_WANT}, .speechWin = {EC_WORD_MY, EC_WORD_FATHER, EC_WORD_AND, EC_WORD_MOTHER, EC_WORD_WON_T, EC_WORD_ACCEPT}, .speechLose = {EC_WORD_PLEASE, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_SHELL_ARMOR, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Jaxon + .monSet = gBattleFrontierTrainerMons_Jaxon }, - [201] = { + [FRONTIER_TRAINER_LOGAN] = { .facilityClass = FACILITY_CLASS_YOUNGSTER, .trainerName = _("LOGAN"), .speechBefore = {EC_WORD_IF_I_LOSE, EC_WORD_I, EC_WORD_WILL, EC_WORD_STUDY, EC_WORD_FOR, EC_WORD_SCHOOL}, .speechWin = {EC_WORD_ME, EC_WORD_STUDY, EC_WORD_QUES, EC_WORD_NOT_VERY, EC_WORD_LIKELY_TO, EC_WORD_SEE}, .speechLose = {EC_WORD_NO, EC_WORD_THANKS, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_SLEEP}, - .monSets = gBattleFrontierTrainerMons_Logan + .monSet = gBattleFrontierTrainerMons_Logan }, - [202] = { + [FRONTIER_TRAINER_EMILEE] = { .facilityClass = FACILITY_CLASS_LASS, .trainerName = _("EMILEE"), .speechBefore = {EC_WORD_IS, EC_WORD_THIS, EC_WORD_KIND, EC_WORD_OF, EC_WORD_BATTLE, EC_WORD_OK_QUES}, .speechWin = {EC_WORD_LET_S, EC_WORD_GO, EC_WORD_FOR, EC_WORD_AN, EC_MOVE(ICY_WIND), EC_MOVE2(SURF)}, .speechLose = {EC_WORD_HOW, EC_WORD_ABOUT, EC_WORD_A, EC_MOVE(ROCK_SLIDE), EC_WORD_SHOW, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Emilee + .monSet = gBattleFrontierTrainerMons_Emilee }, - [203] = { + [FRONTIER_TRAINER_JOSIE] = { .facilityClass = FACILITY_CLASS_LASS, .trainerName = _("JOSIE"), .speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_FASHION, EC_WORD_CONTEST, EC_WORD_IS, EC_WORD_PRETTY}, .speechWin = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_LIKE, EC_WORD_MODE, EC_WORD_FASHION, EC_WORD_THINGS}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_TOTALLY, EC_WORD_LACKING, EC_WORD_IN, EC_WORD_FASHION, EC_WORD_SENSE}, - .monSets = gBattleFrontierTrainerMons_Josie + .monSet = gBattleFrontierTrainerMons_Josie }, - [204] = { + [FRONTIER_TRAINER_ARMANDO] = { .facilityClass = FACILITY_CLASS_CAMPER, .trainerName = _("ARMANDO"), .speechBefore = {EC_WORD_I, EC_WORD_NEED, EC_WORD_MORE, EC_WORD_GRASS, EC_WORD_TYPE, EC_WORD_POKEMON}, .speechWin = {EC_WORD_TRADE, EC_WORD_ME, EC_WORD_A, EC_WORD_GRASS, EC_WORD_POKEMON, EC_WORD_PLEASE}, .speechLose = {EC_WORD_THERE, EC_WORD_AREN_T, EC_WORD_ENOUGH, EC_WORD_GRASS, EC_WORD_TYPE, EC_WORD_POKEMON}, - .monSets = gBattleFrontierTrainerMons_Armando + .monSet = gBattleFrontierTrainerMons_Armando }, - [205] = { + [FRONTIER_TRAINER_SKYLER] = { .facilityClass = FACILITY_CLASS_CAMPER, .trainerName = _("SKYLER"), .speechBefore = {EC_MOVE2(INGRAIN), EC_WORD_IS, EC_WORD_MY, EC_WORD_CHOICE, EC_WORD_BATTLE, EC_WORD_MOVE}, .speechWin = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_MOVE, EC_WORD_ME, EC_WORD_NOW, EC_WORD_EXCL}, .speechLose = {EC_WORD_YOU, EC_MOVE(CUT), EC_WORD_ME, EC_WORD_DOWN, EC_WORD_ELLIPSIS, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Skyler + .monSet = gBattleFrontierTrainerMons_Skyler }, - [206] = { + [FRONTIER_TRAINER_RUTH] = { .facilityClass = FACILITY_CLASS_PICNICKER, .trainerName = _("RUTH"), .speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_ENJOY, EC_WORD_THIS, EC_WORD_BATTLE}, .speechWin = {EC_WORD_THAT_WAS, EC_WORD_MUCH, EC_WORD_TOO, EC_WORD_EASY, EC_WORD_EXCL, 0xFFFF}, .speechLose = {EC_WORD_PLEASE, EC_WORD_STOP, EC_WORD_I, EC_WORD_DON_T, EC_WORD_ENJOY, EC_WORD_THIS}, - .monSets = gBattleFrontierTrainerMons_Ruth + .monSet = gBattleFrontierTrainerMons_Ruth }, - [207] = { + [FRONTIER_TRAINER_MELODY] = { .facilityClass = FACILITY_CLASS_PICNICKER, .trainerName = _("MELODY"), .speechBefore = {EC_WORD_I, EC_MOVE2(WISH), EC_WORD_SUNDAY, EC_WORD_IS, EC_WORD_A, EC_MOVE2(SUNNY_DAY)}, .speechWin = {EC_WORD_SUNDAY, EC_WORD_SEEMS, EC_WORD_FOREVER, EC_WORD_TO, EC_WORD_COME, EC_WORD_ELLIPSIS}, .speechLose = {EC_WORD_THE, EC_WORD_FORECAST, EC_WORD_SAYS, EC_WORD_IT, EC_WORD_WILL, EC_MOVE(HAIL)}, - .monSets = gBattleFrontierTrainerMons_Melody + .monSet = gBattleFrontierTrainerMons_Melody }, - [208] = { + [FRONTIER_TRAINER_PEDRO] = { .facilityClass = FACILITY_CLASS_SWIMMER_M, .trainerName = _("PEDRO"), .speechBefore = {EC_WORD_A, EC_WORD_SWIFT_SWIM, EC_WORD_WILL, EC_WORD_DO, EC_WORD_YOU, EC_WORD_GOOD}, .speechWin = {EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_I, EC_WORD_SINK, EC_WORD_AN, EC_WORD_OPPONENT}, .speechLose = {EC_WORD_UH_OH, EC_WORD_EXCL, 0xFFFF, EC_WORD_A, EC_MOVE(WHIRLPOOL), EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Pedro + .monSet = gBattleFrontierTrainerMons_Pedro }, - [209] = { + [FRONTIER_TRAINER_ERICK] = { .facilityClass = FACILITY_CLASS_SWIMMER_M, .trainerName = _("ERICK"), .speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_MOVE2(TACKLE), EC_WORD_YOU, EC_WORD_DOWN, EC_WORD_EXCL}, .speechWin = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_RUN_AWAY, EC_WORD_YOU, EC_WORD_LOSER, EC_WORD_EXCL}, .speechLose = {EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_THINK, EC_WORD_YOU, EC_WORD_WOULD, EC_MOVE(COUNTER)}, - .monSets = gBattleFrontierTrainerMons_Erick + .monSet = gBattleFrontierTrainerMons_Erick }, - [210] = { + [FRONTIER_TRAINER_ELAINE] = { .facilityClass = FACILITY_CLASS_SWIMMER_F, .trainerName = _("ELAINE"), .speechBefore = {EC_WORD_MY, EC_WORD_HEROINE, EC_WORD_ADVENTURE, EC_WORD_ISN_T, EC_WORD_GOING, EC_WORD_WELL}, .speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I, EC_WORD_NEED}, .speechLose = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_A, EC_WORD_HEROINE}, - .monSets = gBattleFrontierTrainerMons_Elaine + .monSet = gBattleFrontierTrainerMons_Elaine }, - [211] = { + [FRONTIER_TRAINER_JOYCE] = { .facilityClass = FACILITY_CLASS_SWIMMER_F, .trainerName = _("JOYCE"), .speechBefore = {EC_WORD_YOU, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_GO, EC_WORD_AHAHA, EC_WORD_EXCL}, .speechWin = {EC_WORD_LALALA, EC_WORD_NO, EC_WORD_LOSING, EC_WORD_FOR, EC_WORD_ME, EC_WORD_EXCL}, .speechLose = {EC_WORD_LALALA, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_HUH_QUES, 0xFFFF, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Joyce + .monSet = gBattleFrontierTrainerMons_Joyce }, - [212] = { + [FRONTIER_TRAINER_TODD] = { .facilityClass = FACILITY_CLASS_POKEFAN_M, .trainerName = _("TODD"), .speechBefore = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_LIGHTNINGROD, EC_WORD_FOR, EC_WORD_MY, EC_WORD_POWER}, .speechWin = {EC_WORD_THAT_S, EC_WORD_ALL, EC_WORD_YOU, EC_WORD_COULD, EC_MOVE(ABSORB), EC_WORD_QUES}, .speechLose = {EC_WORD_YOU, EC_MOVE2(REFLECT), EC_WORD_MY, EC_WORD_POWER, EC_WORD_BACK, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Todd + .monSet = gBattleFrontierTrainerMons_Todd }, - [213] = { + [FRONTIER_TRAINER_GAVIN] = { .facilityClass = FACILITY_CLASS_POKEFAN_M, .trainerName = _("GAVIN"), .speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_MOVE(BIDE), EC_WORD_MY, EC_WORD_TIME, 0xFFFF}, .speechWin = {EC_WORD_IT_S, EC_WORD_OVER, EC_WORD_SO, EC_WORD_SOON, EC_WORD_QUES, 0xFFFF}, .speechLose = {EC_WORD_MY, EC_WORD_MISTAKE, EC_WORD_WAS, EC_WORD_TOO, EC_WORD_EXPENSIVE, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Gavin + .monSet = gBattleFrontierTrainerMons_Gavin }, - [214] = { + [FRONTIER_TRAINER_MALORY] = { .facilityClass = FACILITY_CLASS_POKEFAN_F, .trainerName = _("MALORY"), .speechBefore = {EC_WORD_PROMISE, EC_WORD_TO, EC_WORD_SHOW, EC_WORD_ME, EC_WORD_CUTE, EC_WORD_POKEMON}, .speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_THANK_YOU, EC_WORD_SO, EC_WORD_MUCH}, .speechLose = {EC_WORD_TCH, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_AREN_T, EC_WORD_VERY, EC_WORD_NICE}, - .monSets = gBattleFrontierTrainerMons_Malory + .monSet = gBattleFrontierTrainerMons_Malory }, - [215] = { + [FRONTIER_TRAINER_ESTHER] = { .facilityClass = FACILITY_CLASS_POKEFAN_F, .trainerName = _("ESTHER"), .speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_A, EC_WORD_NICE, EC_MOVE2(PRESENT), EC_WORD_ELLIPSIS}, .speechWin = {EC_WORD_PLEASE, EC_WORD_GET, EC_WORD_ME, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_GAME}, .speechLose = {EC_WORD_MESSAGE, EC_WORD_CARDS, EC_WORD_MAKE, EC_WORD_A, EC_WORD_WEAK, EC_MOVE2(PRESENT)}, - .monSets = gBattleFrontierTrainerMons_Esther + .monSet = gBattleFrontierTrainerMons_Esther }, - [216] = { + [FRONTIER_TRAINER_OSCAR] = { .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M, .trainerName = _("OSCAR"), .speechBefore = {EC_WORD_LET_S, EC_WORD_SEE, EC_WORD_YOUR, EC_WORD_POWER, EC_WORD_IN, EC_WORD_FULL}, .speechWin = {EC_WORD_THAT_WAS, EC_WORD_NOT, EC_WORD_YOUR, EC_WORD_FULL, EC_WORD_POWER, EC_WORD_EXCL}, .speechLose = {EC_WORD_NOT, EC_WORD_FUNNY, EC_WORD_ELLIPSIS, EC_WORD_YOU_RE, EC_WORD_TOO_STRONG, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Oscar + .monSet = gBattleFrontierTrainerMons_Oscar }, - [217] = { + [FRONTIER_TRAINER_WILSON] = { .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M, .trainerName = _("WILSON"), .speechBefore = {EC_WORD_WORK, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_ME, EC_WORD_AN, EC_WORD_EARLY_BIRD}, .speechWin = {EC_WORD_ALL, EC_WORD_WORK, EC_WORD_AND, EC_WORD_NO, EC_WORD_PLAY, EC_WORD_ELLIPSIS}, .speechLose = {EC_MOVE(ENDURE), EC_WORD_IS, EC_WORD_ALL, EC_WORD_I, EC_WORD_CAN, EC_WORD_DO}, - .monSets = gBattleFrontierTrainerMons_Wilson + .monSet = gBattleFrontierTrainerMons_Wilson }, - [218] = { - .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F, + [FRONTIER_TRAINER_CLARE] = { + .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F, .trainerName = _("CLARE"), .speechBefore = {EC_WORD_YAY, EC_WORD_EXCL, EC_WORD_A, EC_WORD_TOUGH, EC_WORD_TRAINER, EC_WORD_EXCL}, .speechWin = {EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_A, EC_WORD_WIMPY, EC_WORD_TRAINER, EC_WORD_EXCL}, .speechLose = {EC_WORD_COOL, EC_WORD_EXCL, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_TRAINER, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Clare + .monSet = gBattleFrontierTrainerMons_Clare }, - [219] = { - .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F, + [FRONTIER_TRAINER_TESS] = { + .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F, .trainerName = _("TESS"), .speechBefore = {EC_WORD_WANT, EC_WORD_SOME, EC_POKEMON(GULPIN), EC_WORD_DESIGN, EC_WORD_SWEETS, EC_WORD_QUES}, .speechWin = {EC_WORD_THEY_RE, EC_WORD_A, EC_WORD_SECRET, EC_WORD_POKEMON, EC_WORD_GOURMET, EC_WORD_ITEM}, .speechLose = {EC_WORD_THEY_RE, EC_WORD_TASTY, EC_WORD_EXCL, EC_WORD_REFRESHING, EC_WORD_TOO, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Tess + .monSet = gBattleFrontierTrainerMons_Tess }, - [220] = { + [FRONTIER_TRAINER_LEON] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_M, .trainerName = _("LEON"), .speechBefore = {EC_WORD_I_AM, EC_WORD_BETTER, EC_WORD_THAN, EC_WORD_ANY, EC_WORD_OTHER, EC_WORD_TRAINER}, .speechWin = {EC_WORD_I, EC_WORD_DID, EC_WORD_IT, EC_MOVE2(JUMP_KICK), EC_WORD_FOR, EC_WORD_JOY}, .speechLose = {EC_WORD_BACK, EC_WORD_HOME, EC_WORD_I, EC_WORD_WILL, EC_WORD_GO, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Leon + .monSet = gBattleFrontierTrainerMons_Leon }, - [221] = { + [FRONTIER_TRAINER_ALONZO] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_M, .trainerName = _("ALONZO"), .speechBefore = {EC_WORD_I_VE, EC_WORD_NOT, EC_WORD_LOST, EC_WORD_ONCE, EC_WORD_YET, EC_WORD_EXCL}, .speechWin = {EC_WORD_YOUR, EC_WORD_SAD, EC_WORD_LOOK, EC_WORD_BECOMES, EC_WORD_YOU, 0xFFFF}, .speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_BELIEVE, EC_WORD_THIS, EC_WORD_ELLIPSIS, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Alonzo + .monSet = gBattleFrontierTrainerMons_Alonzo }, - [222] = { + [FRONTIER_TRAINER_VINCE] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_M, .trainerName = _("VINCE"), .speechBefore = {EC_WORD_THE, EC_WORD_TOP, EC_WORD_TRAINER, EC_WORD_THAT_S, EC_WORD_ME, EC_WORD_EXCL}, .speechWin = {EC_WORD_THE, EC_WORD_TOP, EC_WORD_RANK, EC_WORD_BELONGS_TO, EC_WORD_ME, EC_WORD_EXCL}, .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_APPEAL, EC_WORD_THIS, EC_MOVE(OUTRAGE), EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Vince + .monSet = gBattleFrontierTrainerMons_Vince }, - [223] = { + [FRONTIER_TRAINER_BRYON] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_M, .trainerName = _("BRYON"), .speechBefore = {EC_WORD_MY, EC_MOVE2(BARRAGE), EC_WORD_WILL, EC_MOVE2(SLAM), EC_WORD_YOU, EC_WORD_EXCL}, .speechWin = {EC_WORD_YOU, EC_WORD_DIDN_T, EC_WORD_COUNT_ON, EC_WORD_ANY, EC_WORD_LESS, EC_WORD_QUES}, .speechLose = {EC_WORD_I, EC_WORD_JUST, EC_WORD_DON_T, EC_WORD_GET, EC_WORD_IT, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Bryon + .monSet = gBattleFrontierTrainerMons_Bryon }, - [224] = { + [FRONTIER_TRAINER_AVA] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_F, .trainerName = _("AVA"), .speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_TREASURE, EC_WORD_OF, EC_WORD_THIS, EC_WORD_WORLD}, .speechWin = {EC_WORD_MY, EC_WORD_WORLD, EC_WORD_IS, EC_WORD_FULL, EC_WORD_OF, EC_WORD_WONDER}, .speechLose = {EC_WORD_WHY, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_SO, EC_WORD_TERRIBLE, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Ava + .monSet = gBattleFrontierTrainerMons_Ava }, - [225] = { + [FRONTIER_TRAINER_MIRIAM] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_F, .trainerName = _("MIRIAM"), .speechBefore = {EC_WORD_OH, EC_WORD_A, EC_WORD_TRAINER, EC_WORD_WITH, EC_WORD_A, EC_MOVE(SCARY_FACE)}, .speechWin = {EC_WORD_AHAHA, EC_WORD_YOU, EC_WORD_ONLY, EC_WORD_LOOK, EC_WORD_SCARY, EC_WORD_EXCL}, .speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_ARE, EC_WORD_SCARY}, - .monSets = gBattleFrontierTrainerMons_Miriam + .monSet = gBattleFrontierTrainerMons_Miriam }, - [226] = { + [FRONTIER_TRAINER_CARRIE] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_F, .trainerName = _("CARRIE"), .speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_WORD_SHOW, EC_WORD_YOU, EC_WORD_GUTSY, EC_WORD_EXCL}, .speechWin = {EC_WORD_IT_S, EC_WORD_ALL, EC_WORD_ABOUT, EC_WORD_GUTS, EC_WORD_EXCL, 0xFFFF}, .speechLose = {EC_WORD_OH, EC_WORD_NO, EC_WORD_ELLIPSIS, EC_MOVE(SELF_DESTRUCT), EC_WORD_MODE, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Carrie + .monSet = gBattleFrontierTrainerMons_Carrie }, - [227] = { + [FRONTIER_TRAINER_GILLIAN2] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_F, .trainerName = _("GILLIAN"), .speechBefore = {EC_WORD_I, EC_WORD_SEEK, EC_WORD_A, EC_WORD_TRULY, EC_WORD_GREAT, EC_WORD_BATTLE}, .speechWin = {EC_WORD_I, EC_WORD_NEED, EC_WORD_A_LOT, EC_WORD_BETTER, EC_WORD_BATTLE, EC_WORD_ELLIPSIS}, .speechLose = {EC_WORD_THAT_WAS, EC_WORD_A_LITTLE, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_TO, EC_WORD_TAKE}, - .monSets = gBattleFrontierTrainerMons_Gillian2 + .monSet = gBattleFrontierTrainerMons_Gillian2 }, - [228] = { + [FRONTIER_TRAINER_TYLER] = { .facilityClass = FACILITY_CLASS_PKMN_RANGER_M, .trainerName = _("TYLER"), .speechBefore = {EC_WORD_YO, EC_WORD_EXCL, 0xFFFF, EC_WORD_LET_S, EC_WORD_GO, EC_WORD_EXCL_EXCL}, .speechWin = {EC_WORD_YO, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_WON, EC_WORD_YO}, .speechLose = {EC_WORD_YO, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_LOST, EC_WORD_YO}, - .monSets = gBattleFrontierTrainerMons_Tyler + .monSet = gBattleFrontierTrainerMons_Tyler }, - [229] = { + [FRONTIER_TRAINER_CHAZ] = { .facilityClass = FACILITY_CLASS_PKMN_RANGER_M, .trainerName = _("CHAZ"), .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_HAVE, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_POWER}, .speechWin = {EC_WORD_THEY, EC_WORD_HAVE, EC_WORD_MORE, EC_WORD_POWER, EC_WORD_NOW, EC_WORD_EXCL}, .speechLose = {EC_WORD_YEAH, EC_MOVE2(TAKE_DOWN), EC_WORD_THEIR, EC_WORD_POWER, EC_WORD_A_TINY_BIT, EC_WORD_PLEASE}, - .monSets = gBattleFrontierTrainerMons_Chaz + .monSet = gBattleFrontierTrainerMons_Chaz }, - [230] = { + [FRONTIER_TRAINER_NELSON] = { .facilityClass = FACILITY_CLASS_PKMN_RANGER_M, .trainerName = _("NELSON"), .speechBefore = {EC_WORD_WELL_THEN, EC_WORD_WILL, EC_WORD_THIS, EC_WORD_POKEMON, EC_WORD_WORK, EC_WORD_QUES}, .speechWin = {EC_WORD_I, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_IT, EC_WORD_WAS, EC_WORD_TOO_STRONG}, .speechLose = {EC_WORD_IT, EC_WORD_DIDN_T, EC_WORD_MATCH_UP, EC_WORD_WELL, EC_WORD_I, EC_WORD_THINK}, - .monSets = gBattleFrontierTrainerMons_Nelson + .monSet = gBattleFrontierTrainerMons_Nelson }, - [231] = { + [FRONTIER_TRAINER_SHANIA] = { .facilityClass = FACILITY_CLASS_PKMN_RANGER_F, .trainerName = _("SHANIA"), .speechBefore = {EC_WORD_ALL, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ABSOLUTELY, EC_WORD_ADORE, EC_WORD_ME}, .speechWin = {EC_WORD_HAPPINESS, EC_WORD_IS, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_WITH, EC_WORD_CUTE_CHARM}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_SO, EC_WORD_MEAN, EC_WORD_TO, EC_WORD_CUTE, EC_WORD_POKEMON}, - .monSets = gBattleFrontierTrainerMons_Shania + .monSet = gBattleFrontierTrainerMons_Shania }, - [232] = { + [FRONTIER_TRAINER_STELLA] = { .facilityClass = FACILITY_CLASS_PKMN_RANGER_F, .trainerName = _("STELLA"), .speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_SEE, EC_WORD_YOUR, EC_WORD_POKEMON}, .speechWin = {EC_WORD_WELL, EC_WORD_AREN_T, EC_WORD_THEY, EC_WORD_BORING, EC_WORD_QUES, EC_WORD_AHAHA}, .speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_SOMETHING, EC_WORD_ELSE, EC_WORD_ALL_RIGHT}, - .monSets = gBattleFrontierTrainerMons_Stella + .monSet = gBattleFrontierTrainerMons_Stella }, - [233] = { + [FRONTIER_TRAINER_DORINE] = { .facilityClass = FACILITY_CLASS_PKMN_RANGER_F, .trainerName = _("DORINE"), .speechBefore = {EC_WORD_I_AM, EC_WORD_YOUNG, EC_WORD_AND, EC_WORD_STRONG, EC_WORD_EXCL, 0xFFFF}, .speechWin = {EC_WORD_SEE, EC_WORD_QUES, EC_WORD_AREN_T, EC_WORD_I, EC_WORD_GOOD, EC_WORD_QUES}, .speechLose = {EC_WORD_THIS, EC_WORD_ISN_T, EC_WORD_WORKING, EC_WORD_OUT, EC_WORD_AT, EC_WORD_ALL}, - .monSets = gBattleFrontierTrainerMons_Dorine + .monSet = gBattleFrontierTrainerMons_Dorine }, - [234] = { + [FRONTIER_TRAINER_MADDOX] = { .facilityClass = FACILITY_CLASS_DRAGON_TAMER, .trainerName = _("MADDOX"), .speechBefore = {EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_MY, EC_WORD_NO_1, EC_WORD_CHOICE}, .speechWin = {EC_WORD_IT_S, EC_WORD_NO, EC_WORD_SECRET, EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_WIN}, .speechLose = {EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_LOSE, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Maddox + .monSet = gBattleFrontierTrainerMons_Maddox }, - [235] = { + [FRONTIER_TRAINER_DAVIN] = { .facilityClass = FACILITY_CLASS_DRAGON_TAMER, .trainerName = _("DAVIN"), .speechBefore = {EC_WORD_LET_S, EC_WORD_HEAR, EC_WORD_YOU, EC_MOVE2(ROAR), EC_WORD_EXCL, 0xFFFF}, .speechWin = {EC_WORD_WROOOAAR_EXCL, 0xFFFF, 0xFFFF, EC_WORD_VICTORY, EC_WORD_EXCL_EXCL, 0xFFFF}, .speechLose = {EC_WORD_WROOOAAR_EXCL, 0xFFFF, 0xFFFF, EC_WORD_WHY, EC_WORD_QUES_EXCL, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Davin + .monSet = gBattleFrontierTrainerMons_Davin }, - [236] = { + [FRONTIER_TRAINER_TREVON] = { .facilityClass = FACILITY_CLASS_DRAGON_TAMER, .trainerName = _("TREVON"), .speechBefore = {EC_WORD_I_AM, EC_WORD_LIVING, EC_WORD_ONLY, EC_WORD_WITH, EC_WORD_DRAGON, EC_WORD_POKEMON}, .speechWin = {EC_WORD_THE, EC_WORD_WAY, EC_WORD_I_AM, EC_WORD_LIVING, EC_WORD_IS, EC_WORD_PERFECT}, .speechLose = {EC_WORD_YOU_VE, EC_WORD_DESTROYED, EC_WORD_THE, EC_WORD_WAY, EC_WORD_I_AM, EC_WORD_LIVING}, - .monSets = gBattleFrontierTrainerMons_Trevon + .monSet = gBattleFrontierTrainerMons_Trevon }, - [237] = { + [FRONTIER_TRAINER_MATEO] = { .facilityClass = FACILITY_CLASS_BLACK_BELT, .trainerName = _("MATEO"), .speechBefore = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_BE, EC_WORD_OVER, EC_WORD_SOON, EC_WORD_ENOUGH}, .speechWin = {EC_WORD_WELL, EC_WORD_THAT, EC_WORD_DIDN_T, EC_WORD_TAKE, EC_WORD_VERY, EC_WORD_MUCH}, .speechLose = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_LOSE, EC_WORD_SO, EC_WORD_SOON, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Mateo + .monSet = gBattleFrontierTrainerMons_Mateo }, - [238] = { + [FRONTIER_TRAINER_BRET] = { .facilityClass = FACILITY_CLASS_BLACK_BELT, .trainerName = _("BRET"), .speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_ROCK_SOLID, EC_WORD_POKEMON, EC_WORD_THE, EC_WORD_BEST}, .speechWin = {EC_WORD_TOUGHNESS, EC_WORD_IS, EC_WORD_THE, EC_WORD_WAY, EC_WORD_TO, EC_WORD_GO}, .speechLose = {EC_WORD_I, EC_WORD_ALSO, EC_WORD_HAVE, EC_WORD_A, EC_WORD_PLUSH_DOLL, EC_WORD_COLLECTION}, - .monSets = gBattleFrontierTrainerMons_Bret + .monSet = gBattleFrontierTrainerMons_Bret }, - [239] = { + [FRONTIER_TRAINER_RAUL] = { .facilityClass = FACILITY_CLASS_BLACK_BELT, .trainerName = _("RAUL"), .speechBefore = {EC_WORD_I, EC_WORD_REJECT, EC_WORD_EVERY, EC_WORD_WEAK, EC_WORD_TRAINER, 0xFFFF}, .speechWin = {EC_WORD_HUMPH, EC_WORD_EXCL, EC_WORD_ANOTHER, EC_WORD_WEAK, EC_WORD_TRAINER, EC_WORD_ELLIPSIS}, .speechLose = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NOTHING, EC_WORD_WEAK, EC_WORD_ABOUT, EC_WORD_YOU}, - .monSets = gBattleFrontierTrainerMons_Raul + .monSet = gBattleFrontierTrainerMons_Raul }, - [240] = { + [FRONTIER_TRAINER_KAY] = { .facilityClass = FACILITY_CLASS_BATTLE_GIRL, .trainerName = _("KAY"), .speechBefore = {EC_WORD_AND, EC_WORD_YET, EC_WORD_ANOTHER, EC_WORD_BATTLE, EC_WORD_QUES, 0xFFFF}, .speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_TIRED, EC_WORD_ELLIPSIS}, .speechLose = {EC_WORD_GOOD, EC_WORD_IT_S, EC_WORD_OVER, EC_WORD_AT, EC_WORD_LAST, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Kay + .monSet = gBattleFrontierTrainerMons_Kay }, - [241] = { + [FRONTIER_TRAINER_ELENA] = { .facilityClass = FACILITY_CLASS_BATTLE_GIRL, .trainerName = _("ELENA"), .speechBefore = {EC_WORD_A, EC_WORD_BATTLE, EC_WORD_GIRL, EC_WORD_THAT_S, EC_WORD_ME, EC_WORD_EXCL}, .speechWin = {EC_WORD_ISN_T, EC_WORD_A, EC_WORD_BATTLE, EC_WORD_GIRL, EC_WORD_AWESOME, EC_WORD_QUES}, .speechLose = {EC_WORD_YOU, EC_WORD_DISLIKE, EC_WORD_A, EC_WORD_BATTLE, EC_WORD_GIRL, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Elena + .monSet = gBattleFrontierTrainerMons_Elena }, - [242] = { + [FRONTIER_TRAINER_ALANA] = { .facilityClass = FACILITY_CLASS_BATTLE_GIRL, .trainerName = _("ALANA"), .speechBefore = {EC_WORD_EAT, EC_WORD_MY, EC_WORD_INVINCIBLE, EC_WORD_ATTACK, EC_WORD_YOU, EC_WORD_EXCL}, .speechWin = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_MUCH, EC_WORD_TO, EC_WORD_LEARN, 0xFFFF}, .speechLose = {EC_WORD_SO, EC_WORD_MUCH, EC_WORD_FOR, EC_WORD_MY, EC_WORD_INVINCIBLE, EC_WORD_ATTACK}, - .monSets = gBattleFrontierTrainerMons_Alana + .monSet = gBattleFrontierTrainerMons_Alana }, - [243] = { + [FRONTIER_TRAINER_ALEXAS] = { .facilityClass = FACILITY_CLASS_EXPERT_M, .trainerName = _("ALEXAS"), .speechBefore = {EC_WORD_GOOD, EC_WORD_TO, EC_WORD_MEET_YOU, EC_WORD_YOUNG, EC_WORD_TRAINER, EC_WORD_EXCL}, .speechWin = {EC_WORD_WAHAHAHA, EC_WORD_EXCL, 0xFFFF, EC_WORD_GIVE, EC_WORD_IT, EC_WORD_UP}, .speechLose = {EC_WORD_YOU, EC_WORD_ARE, EC_WORD_A, EC_WORD_STRONG, EC_WORD_TRAINER, EC_WORD_KID}, - .monSets = gBattleFrontierTrainerMons_Alexas + .monSet = gBattleFrontierTrainerMons_Alexas }, - [244] = { + [FRONTIER_TRAINER_WESTON] = { .facilityClass = FACILITY_CLASS_EXPERT_M, .trainerName = _("WESTON"), .speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_PLAY, EC_WORD_DOWN, EC_WORD_ALL_RIGHT, EC_WORD_QUES}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_FAR, EC_WORD_TOO, EC_WORD_EASY, EC_WORD_TO, EC_WORD_ATTACK}, .speechLose = {EC_WORD_WELL, EC_WORD_WELL, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_SURRENDER, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Weston + .monSet = gBattleFrontierTrainerMons_Weston }, - [245] = { + [FRONTIER_TRAINER_JASPER] = { .facilityClass = FACILITY_CLASS_EXPERT_M, .trainerName = _("JASPER"), .speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_OLD, EC_WORD_I_AM, EC_WORD_SKILLED, EC_WORD_EXCL}, .speechWin = {EC_WORD_SKILLED, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_EXCL, 0xFFFF}, .speechLose = {EC_WORD_I_AM, EC_WORD_SHOCKED, EC_WORD_EXCL, EC_WORD_DOWN, EC_WORD_I, EC_WORD_GO}, - .monSets = gBattleFrontierTrainerMons_Jasper + .monSet = gBattleFrontierTrainerMons_Jasper }, - [246] = { + [FRONTIER_TRAINER_NADIA] = { .facilityClass = FACILITY_CLASS_EXPERT_F, .trainerName = _("NADIA"), .speechBefore = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_BEAT, EC_WORD_ME, EC_WORD_DOWN, EC_WORD_EXCL}, .speechWin = {EC_WORD_HAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_BEAT, EC_WORD_YOU}, .speechLose = {EC_WORD_I_AM, EC_MOVE2(BEAT_UP), EC_WORD_AND, EC_WORD_DOWNCAST, EC_WORD_ELLIPSIS, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Nadia + .monSet = gBattleFrontierTrainerMons_Nadia }, - [247] = { + [FRONTIER_TRAINER_MIRANDA] = { .facilityClass = FACILITY_CLASS_EXPERT_F, .trainerName = _("MIRANDA"), .speechBefore = {EC_WORD_WELL, EC_WORD_WELL, 0xFFFF, EC_WORD_LET_S, EC_WORD_START, 0xFFFF}, .speechWin = {EC_WORD_WHAT, EC_WORD_QUES, EC_WORD_DONE, EC_WORD_SO, EC_WORD_SOON, EC_WORD_QUES}, .speechLose = {EC_WORD_WELL, EC_WORD_I, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_I_AM, EC_WORD_TOO_WEAK}, - .monSets = gBattleFrontierTrainerMons_Miranda + .monSet = gBattleFrontierTrainerMons_Miranda }, - [248] = { + [FRONTIER_TRAINER_EMMA] = { .facilityClass = FACILITY_CLASS_EXPERT_F, .trainerName = _("EMMA"), .speechBefore = {EC_WORD_I_VE, EC_WORD_BEEN, EC_WORD_HEARING, EC_WORD_ABOUT, EC_WORD_YOU, 0xFFFF}, .speechWin = {EC_WORD_I, EC_WORD_THINK, EC_WORD_I_VE, EC_WORD_MISHEARD, EC_WORD_THINGS, 0xFFFF}, .speechLose = {EC_WORD_WHAT, EC_WORD_I_VE, EC_WORD_BEEN, EC_WORD_HEARING, EC_WORD_IS, EC_WORD_RIGHT}, - .monSets = gBattleFrontierTrainerMons_Emma + .monSet = gBattleFrontierTrainerMons_Emma }, - [249] = { + [FRONTIER_TRAINER_ROLANDO] = { .facilityClass = FACILITY_CLASS_PSYCHIC_M, .trainerName = _("ROLANDO"), .speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_SUPER, EC_WORD_POKEMON, EC_WORD_HERO, EC_WORD_EXCL}, .speechWin = {EC_WORD_WAS, EC_WORD_THAT, EC_WORD_ENOUGH, EC_WORD_FOR, EC_WORD_YOU, EC_WORD_QUES}, .speechLose = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_BEAT, EC_WORD_A, EC_WORD_HERO}, - .monSets = gBattleFrontierTrainerMons_Rolando + .monSet = gBattleFrontierTrainerMons_Rolando }, - [250] = { + [FRONTIER_TRAINER_STANLY] = { .facilityClass = FACILITY_CLASS_PSYCHIC_M, .trainerName = _("STANLY"), .speechBefore = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_BE, EC_WORD_AN, EC_WORD_EASY, EC_WORD_MATCH}, .speechWin = {EC_WORD_IT, EC_WORD_REALLY, EC_WORD_WAS, EC_WORD_EASY, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_ARE, EC_WORD_YOU, EC_WORD_HAPPY, EC_WORD_NOW, EC_WORD_QUES, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Stanly + .monSet = gBattleFrontierTrainerMons_Stanly }, - [251] = { + [FRONTIER_TRAINER_DARIO] = { .facilityClass = FACILITY_CLASS_PSYCHIC_M, .trainerName = _("DARIO"), .speechBefore = {EC_WORD_MY, EC_MOVE2(FORESIGHT), EC_WORD_SAYS, EC_WORD_I, EC_WORD_WILL, EC_WORD_WIN}, .speechWin = {EC_WORD_MY, EC_MOVE2(FORESIGHT), EC_WORD_HAS, EC_WORD_BEEN, EC_WORD_PERFECT, 0xFFFF}, .speechLose = {EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_SEE, EC_WORD_THIS, EC_MOVE(REVERSAL), EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Dario + .monSet = gBattleFrontierTrainerMons_Dario }, - [252] = { + [FRONTIER_TRAINER_KARLEE] = { .facilityClass = FACILITY_CLASS_PSYCHIC_F, .trainerName = _("KARLEE"), .speechBefore = {EC_WORD_SOMETHING, EC_WORD_GOOD, EC_WORD_WILL, EC_WORD_COME, EC_WORD_OF, EC_WORD_THIS}, .speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_FANTASTIC, EC_WORD_EXCL, 0xFFFF}, .speechLose = {EC_WORD_THAT, EC_WORD_SOMETHING, EC_WORD_GOOD, EC_WORD_WENT, EC_WORD_TO, EC_WORD_YOU}, - .monSets = gBattleFrontierTrainerMons_Karlee + .monSet = gBattleFrontierTrainerMons_Karlee }, - [253] = { + [FRONTIER_TRAINER_JAYLIN] = { .facilityClass = FACILITY_CLASS_PSYCHIC_F, .trainerName = _("JAYLIN"), .speechBefore = {EC_WORD_EVERY, EC_WORD_TRAINER, EC_WORD_HAS, EC_WORD_BEEN, EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS}, .speechWin = {EC_WORD_IT_S, EC_WORD_MAKING, EC_WORD_ME, EC_MOVE(YAWN), EC_WORD_THAT, EC_WORD_BATTLE}, .speechLose = {EC_WORD_I, EC_WORD_SLEPT, EC_WORD_AND, EC_WORD_SO, EC_WORD_I, EC_WORD_LOST}, - .monSets = gBattleFrontierTrainerMons_Jaylin + .monSet = gBattleFrontierTrainerMons_Jaylin }, - [254] = { + [FRONTIER_TRAINER_INGRID] = { .facilityClass = FACILITY_CLASS_PSYCHIC_F, .trainerName = _("INGRID"), .speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_A, EC_WORD_VERY, EC_WORD_MEAN, EC_WORD_TRAINER}, .speechWin = {EC_WORD_WASN_T, EC_WORD_THAT, EC_WORD_A, EC_WORD_GOOD, EC_WORD_MATCH, EC_WORD_QUES}, .speechLose = {EC_WORD_I, EC_WORD_LOST, EC_WORD_CAUSE, EC_WORD_YOU_RE, EC_WORD_MEAN, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Ingrid + .monSet = gBattleFrontierTrainerMons_Ingrid }, - [255] = { + [FRONTIER_TRAINER_DELILAH] = { .facilityClass = FACILITY_CLASS_HEX_MANIAC, .trainerName = _("DELILAH"), .speechBefore = {EC_WORD_DON_T, EC_MOVE(GRUDGE), EC_WORD_ME, EC_WORD_IF_I_WIN, EC_WORD_OK_QUES, 0xFFFF}, .speechWin = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_TO, EC_WORD_SEE, EC_WORD_YOU, EC_WORD_ANGRY}, .speechLose = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_A, EC_MOVE(GRUDGE), EC_WORD_WITH, EC_WORD_YOU}, - .monSets = gBattleFrontierTrainerMons_Delilah + .monSet = gBattleFrontierTrainerMons_Delilah }, - [256] = { + [FRONTIER_TRAINER_CARLY] = { .facilityClass = FACILITY_CLASS_HEX_MANIAC, .trainerName = _("CARLY"), .speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_WORD_SCATTER, EC_WORD_SOME, EC_MOVE2(POISON_POWDER), EC_WORD_ABOUT}, .speechWin = {EC_WORD_IT_S, EC_WORD_SCARY, EC_WORD_HOW, EC_WORD_MY, EC_WORD_STRATEGY, EC_WORD_WORKS}, .speechLose = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_YOU, EC_WORD_AND, EC_WORD_YOUR, EC_WORD_POKEMON}, - .monSets = gBattleFrontierTrainerMons_Carly + .monSet = gBattleFrontierTrainerMons_Carly }, - [257] = { + [FRONTIER_TRAINER_LEXIE] = { .facilityClass = FACILITY_CLASS_HEX_MANIAC, .trainerName = _("LEXIE"), .speechBefore = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_SEE, EC_WORD_SCARY, EC_WORD_POKEMON, EC_WORD_QUES}, .speechWin = {EC_WORD_WASN_T, EC_WORD_THAT, EC_WORD_SCARY, EC_WORD_EH_QUES, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_MORE, EC_WORD_SCARY, EC_WORD_THAN, EC_WORD_MY, EC_WORD_POKEMON}, - .monSets = gBattleFrontierTrainerMons_Lexie + .monSet = gBattleFrontierTrainerMons_Lexie }, - [258] = { + [FRONTIER_TRAINER_MILLER] = { .facilityClass = FACILITY_CLASS_POKEMANIAC, .trainerName = _("MILLER"), .speechBefore = {EC_WORD_HELLO, EC_WORD_QUES, 0xFFFF, EC_WORD_HELLO, EC_WORD_QUES_EXCL, 0xFFFF}, .speechWin = {EC_WORD_HELLO, EC_WORD_MOTHER, EC_WORD_EXCL, EC_WORD_I, EC_WORD_WON, EC_WORD_EXCL}, .speechLose = {EC_WORD_MY, EC_WORD_PHONE, EC_WORD_ISN_T, EC_WORD_WORKING, EC_WORD_ELLIPSIS, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Miller + .monSet = gBattleFrontierTrainerMons_Miller }, - [259] = { + [FRONTIER_TRAINER_MARV] = { .facilityClass = FACILITY_CLASS_POKEMANIAC, .trainerName = _("MARV"), .speechBefore = {EC_WORD_YOU, EC_WORD_CAN, EC_WORD_LOSE, EC_WORD_YOUR, EC_MOVE(SWAGGER), EC_WORD_NOW}, .speechWin = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NO, EC_MOVE(SWAGGER), EC_WORD_LEFT, EC_WORD_EH_QUES}, .speechLose = {EC_WORD_GO, EC_WORD_ON, EC_MOVE(SWAGGER), EC_WORD_ALL, EC_WORD_YOU, EC_WORD_WANT}, - .monSets = gBattleFrontierTrainerMons_Marv + .monSet = gBattleFrontierTrainerMons_Marv }, - [260] = { + [FRONTIER_TRAINER_LAYTON] = { .facilityClass = FACILITY_CLASS_POKEMANIAC, .trainerName = _("LAYTON"), .speechBefore = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_I_AM, EC_WORD_TOTALLY, EC_WORD_COOL, EC_WORD_EXCL}, .speechWin = {EC_WORD_YOU, EC_WORD_CAN, EC_WORD_LOOK, EC_WORD_UP, EC_WORD_TO, EC_WORD_ME}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_COOL, EC_WORD_EXCL, EC_WORD_NO, EC_WORD_REALLY, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Layton + .monSet = gBattleFrontierTrainerMons_Layton }, - [261] = { + [FRONTIER_TRAINER_BROOKS] = { .facilityClass = FACILITY_CLASS_GENTLEMAN, .trainerName = _("BROOKS"), .speechBefore = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_WORD_HIGH, EC_WORD_LEVEL, EC_WORD_BATTLE}, .speechWin = {EC_WORD_THAT_WAS, EC_WORD_HIGH, EC_WORD_LEVEL, EC_WORD_AND, EC_WORD_EXCITING, EC_WORD_TOO}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_TOO, EC_WORD_HIGH, EC_WORD_IN, EC_WORD_LEVEL, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Brooks + .monSet = gBattleFrontierTrainerMons_Brooks }, - [262] = { + [FRONTIER_TRAINER_GREGORY] = { .facilityClass = FACILITY_CLASS_GENTLEMAN, .trainerName = _("GREGORY"), .speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_THAT, EC_WORD_OLD, EC_WORD_YET, 0xFFFF}, .speechWin = {EC_WORD_WHO, EC_WORD_SAYS, EC_WORD_I_AM, EC_WORD_TOO, EC_WORD_OLD, EC_WORD_QUES}, .speechLose = {EC_WORD_PLEASE, EC_WORD_I_AM, EC_WORD_REALLY, EC_WORD_NOT, EC_WORD_THAT, EC_WORD_OLD}, - .monSets = gBattleFrontierTrainerMons_Gregory + .monSet = gBattleFrontierTrainerMons_Gregory }, - [263] = { + [FRONTIER_TRAINER_REESE] = { .facilityClass = FACILITY_CLASS_GENTLEMAN, .trainerName = _("REESE"), .speechBefore = {EC_WORD_I_VE, EC_WORD_A, EC_WORD_COUPLE, EC_WORD_THINGS, 0xFFFF, 0xFFFF}, .speechWin = {EC_WORD_DON_T, EC_WORD_DIET, EC_WORD_PLAY, EC_WORD_SPORTS, EC_WORD_INSTEAD, 0xFFFF}, .speechLose = {EC_WORD_INSTEAD, EC_WORD_OF, EC_WORD_TELEVISION, EC_WORD_GET, EC_WORD_A, EC_WORD_BOOK}, - .monSets = gBattleFrontierTrainerMons_Reese + .monSet = gBattleFrontierTrainerMons_Reese }, - [264] = { + [FRONTIER_TRAINER_MASON] = { .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M, .trainerName = _("MASON"), .speechBefore = {EC_WORD_PLEASE, EC_WORD_DON_T, EC_WORD_MAKE, EC_WORD_THIS, EC_WORD_SCARY, 0xFFFF}, .speechWin = {EC_WORD_THANK_YOU, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_NOW}, .speechLose = {EC_WORD_I_AM, EC_WORD_DISAPPOINTED, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Mason + .monSet = gBattleFrontierTrainerMons_Mason }, - [265] = { + [FRONTIER_TRAINER_TOBY] = { .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M, .trainerName = _("TOBY"), .speechBefore = {EC_WORD_LISTEN, EC_WORD_UP, 0xFFFF, EC_WORD_I, EC_WORD_ALWAYS, EC_WORD_WIN}, .speechWin = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_OR, EC_WORD_WHAT, EC_WORD_QUES}, .speechLose = {EC_WORD_I, EC_WORD_CAN, EC_WORD_BEAT, EC_WORD_YOU, EC_WORD_AT, EC_WORD_SMARTNESS}, - .monSets = gBattleFrontierTrainerMons_Toby + .monSet = gBattleFrontierTrainerMons_Toby }, - [266] = { + [FRONTIER_TRAINER_DOROTHY] = { .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F, .trainerName = _("DOROTHY"), .speechBefore = {EC_WORD_THE, EC_WORD_SPORTS, EC_WORD_WORLD, EC_WORD_SHOULD, EC_WORD_ACCEPT, EC_WORD_POKEMON}, .speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL, EC_WORD_THAT, EC_WORD_WIN, EC_WORD_WAS, EC_WORD_REFRESHING}, .speechLose = {EC_WORD_THANK_YOU, EC_WORD_EXCL, EC_WORD_THAT, EC_WORD_LOSS, EC_WORD_WAS, EC_WORD_REFRESHING}, - .monSets = gBattleFrontierTrainerMons_Dorothy + .monSet = gBattleFrontierTrainerMons_Dorothy }, - [267] = { + [FRONTIER_TRAINER_PIPER] = { .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F, .trainerName = _("PIPER"), .speechBefore = {EC_WORD_COME_ON, EC_WORD_YOU, EC_WORD_NEED, EC_WORD_A, EC_WORD_SPEED_BOOST, EC_WORD_QUES}, .speechWin = {EC_WORD_YOU, EC_WORD_NEED, EC_WORD_TO, EC_WORD_SHOW, EC_WORD_MORE, EC_WORD_GUTS}, .speechLose = {EC_WORD_OH, EC_WORD_YOU, EC_WORD_EXCL, 0xFFFF, 0xFFFF, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Piper + .monSet = gBattleFrontierTrainerMons_Piper }, - [268] = { + [FRONTIER_TRAINER_FINN] = { .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M, .trainerName = _("FINN"), .speechBefore = {EC_WORD_NOT, EC_WORD_ANOTHER, EC_WORD_TRAINER, EC_WORD_BATTLE, EC_WORD_ELLIPSIS, 0xFFFF}, .speechWin = {EC_WORD_WON_T, EC_WORD_THIS, EC_WORD_EVER, EC_WORD_END, EC_WORD_QUES, 0xFFFF}, .speechLose = {EC_WORD_I, EC_WORD_FINALLY, EC_WORD_GET, EC_WORD_TO, EC_MOVE2(REST), EC_WORD_A_LITTLE}, - .monSets = gBattleFrontierTrainerMons_Finn + .monSet = gBattleFrontierTrainerMons_Finn }, - [269] = { + [FRONTIER_TRAINER_SAMIR] = { .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M, .trainerName = _("SAMIR"), .speechBefore = {EC_WORD_I, EC_MOVE2(DIVE), EC_WORD_BELOW, EC_WORD_THE, EC_MOVE2(SURF), EC_WORD_EXCL}, .speechWin = {EC_WORD_YAHOO, EC_WORD_TAKE, EC_WORD_A, EC_MOVE2(DIVE), EC_WORD_YOU, EC_WORD_EXCL}, .speechLose = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_SINK, EC_WORD_ELLIPSIS, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Samir + .monSet = gBattleFrontierTrainerMons_Samir }, - [270] = { + [FRONTIER_TRAINER_FIONA] = { .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F, .trainerName = _("FIONA"), .speechBefore = {EC_WORD_DID, EC_WORD_YOU, EC_WORD_LIMBER, EC_WORD_UP, EC_WORD_BEFORE, EC_WORD_QUES}, .speechWin = {EC_WORD_YOU, EC_WORD_NEED, EC_WORD_TO, EC_WORD_BE, EC_WORD_MORE, EC_WORD_READY}, .speechLose = {EC_WORD_BEING, EC_WORD_LIMBER, EC_WORD_DIDN_T, EC_WORD_WORK, EC_WORD_FOR, EC_WORD_ME}, - .monSets = gBattleFrontierTrainerMons_Fiona + .monSet = gBattleFrontierTrainerMons_Fiona }, - [271] = { + [FRONTIER_TRAINER_GLORIA] = { .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F, .trainerName = _("GLORIA"), .speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_ATTACK, EC_WORD_WITH, EC_WORD_SUCTION_CUPS}, .speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_OVER, EC_WORD_FOR, EC_WORD_YOU}, .speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_GET, EC_WORD_HOW, EC_WORD_SUCTION_CUPS, EC_WORD_WORK}, - .monSets = gBattleFrontierTrainerMons_Gloria + .monSet = gBattleFrontierTrainerMons_Gloria }, - [272] = { + [FRONTIER_TRAINER_NICO] = { .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M, .trainerName = _("NICO"), .speechBefore = {EC_WORD_LIKE, EC_WORD_A, EC_MOVE(SONIC_BOOM), EC_WORD_I_VE_ARRIVED, 0xFFFF, 0xFFFF}, .speechWin = {EC_WORD_SORRY, EC_WORD_TO, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_SO, EC_WORD_DOWNCAST}, .speechLose = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_WITH, EC_WORD_A, EC_MOVE2(SUPERSONIC), EC_WORD_SPEED_BOOST}, - .monSets = gBattleFrontierTrainerMons_Nico + .monSet = gBattleFrontierTrainerMons_Nico }, - [273] = { + [FRONTIER_TRAINER_JEREMY] = { .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M, .trainerName = _("JEREMY"), .speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_MASTER, EC_WORD_THAT_S, EC_WORD_MY, EC_WORD_DREAM}, .speechWin = {EC_WORD_MY, EC_WORD_DREAM, EC_WORD_ISN_T, EC_WORD_FAR, EC_WORD_OFF, EC_WORD_EXCL}, .speechLose = {EC_WORD_WHAT, EC_WORD_I, EC_WORD_DREAM, EC_WORD_ISN_T, EC_WORD_HAPPENING, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Jeremy + .monSet = gBattleFrontierTrainerMons_Jeremy }, - [274] = { + [FRONTIER_TRAINER_CAITLIN] = { .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F, .trainerName = _("CAITLIN"), .speechBefore = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_THINK, EC_WORD_I_AM, EC_WORD_CUTE, EC_WORD_QUES}, .speechWin = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_MORE, EC_WORD_TO_ME, EC_WORD_THAN, EC_WORD_CUTENESS}, .speechLose = {EC_WORD_MY, EC_WORD_CUTE_CHARM, EC_WORD_DOESN_T, EC_MOVE2(ATTRACT), EC_WORD_YOU, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Caitlin + .monSet = gBattleFrontierTrainerMons_Caitlin }, - [275] = { + [FRONTIER_TRAINER_REENA] = { .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F, .trainerName = _("REENA"), .speechBefore = {EC_WORD_I_AM, EC_WORD_ALWAYS, EC_WORD_HAPPY, EC_WORD_HAPPY, EC_WORD_HAPPY, EC_WORD_EXCL}, .speechWin = {EC_WORD_OH, EC_WORD_YAY, EC_WORD_EXCL, EC_WORD_YAHOO, EC_WORD_FOR, EC_WORD_ME}, .speechLose = {EC_WORD_YAHOO, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_FOR, EC_WORD_YOU}, - .monSets = gBattleFrontierTrainerMons_Reena + .monSet = gBattleFrontierTrainerMons_Reena }, - [276] = { + [FRONTIER_TRAINER_AVERY] = { .facilityClass = FACILITY_CLASS_BUG_MANIAC, .trainerName = _("AVERY"), .speechBefore = {EC_WORD_I_VE, EC_WORD_GOT, EC_WORD_A_LOT, EC_WORD_OF, EC_WORD_BUG, EC_WORD_POKEMON}, .speechWin = {EC_WORD_MY, EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_ALL, EC_WORD_UNBELIEVABLE}, .speechLose = {EC_WORD_MY, EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_ALL, EC_WORD_UPSIDE_DOWN}, - .monSets = gBattleFrontierTrainerMons_Avery + .monSet = gBattleFrontierTrainerMons_Avery }, - [277] = { + [FRONTIER_TRAINER_LIAM] = { .facilityClass = FACILITY_CLASS_BUG_MANIAC, .trainerName = _("LIAM"), .speechBefore = {EC_WORD_WE, EC_WORD_REALLY, EC_WORD_DISLIKE, EC_WORD_FIRE, EC_WORD_AND, EC_WORD_FLYING}, .speechWin = {EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_AREN_T, EC_WORD_BAD, EC_WORD_HEY_QUES, 0xFFFF}, .speechLose = {EC_WORD_YOU, EC_WORD_KNOW, EC_WORD_WHAT, EC_WORD_WE, EC_WORD_DISLIKE, EC_WORD_HEY_QUES}, - .monSets = gBattleFrontierTrainerMons_Liam + .monSet = gBattleFrontierTrainerMons_Liam }, - [278] = { + [FRONTIER_TRAINER_THEO] = { .facilityClass = FACILITY_CLASS_FISHERMAN, .trainerName = _("THEO"), .speechBefore = {EC_WORD_FISHING, EC_WORD_IS, EC_WORD_MY, EC_WORD_CHOICE, EC_WORD_IN, EC_WORD_LIFE}, .speechWin = {EC_WORD_WATER, EC_WORD_POKEMON, EC_MOVE2(ATTRACT), EC_WORD_ME, EC_WORD_WITHOUT, EC_WORD_END}, .speechLose = {EC_WORD_DON_T, EC_WORD_COUNT_ON, EC_WORD_THAT, EC_WORD_HAPPENING, EC_WORD_ANOTHER, EC_WORD_TIME}, - .monSets = gBattleFrontierTrainerMons_Theo + .monSet = gBattleFrontierTrainerMons_Theo }, - [279] = { + [FRONTIER_TRAINER_BAILEY] = { .facilityClass = FACILITY_CLASS_FISHERMAN, .trainerName = _("BAILEY"), .speechBefore = {EC_WORD_I_AM, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_I, EC_WORD_BATTLE, EC_WORD_EASY}, .speechWin = {EC_WORD_I_AM, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_I, EC_MOVE2(SWALLOW), EC_WORD_JOY}, .speechLose = {EC_WORD_I_AM, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_I, EC_MOVE2(SWALLOW), EC_MOVE2(FRUSTRATION)}, - .monSets = gBattleFrontierTrainerMons_Bailey + .monSet = gBattleFrontierTrainerMons_Bailey }, - [280] = { + [FRONTIER_TRAINER_HUGO] = { .facilityClass = FACILITY_CLASS_RUIN_MANIAC, .trainerName = _("HUGO"), .speechBefore = {EC_WORD_I, EC_WORD_TRY, EC_WORD_THE, EC_WORD_BEST, EC_WORD_I, EC_WORD_CAN}, .speechWin = {EC_WORD_I, EC_WORD_CAN_WIN, EC_WORD_IF, EC_WORD_I, EC_WORD_TRY, EC_WORD_ENOUGH}, .speechLose = {EC_WORD_I, EC_WORD_DID, EC_WORD_TRY, EC_WORD_DIDN_T, EC_WORD_I, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Hugo + .monSet = gBattleFrontierTrainerMons_Hugo }, - [281] = { + [FRONTIER_TRAINER_BRYCE] = { .facilityClass = FACILITY_CLASS_RUIN_MANIAC, .trainerName = _("BRYCE"), .speechBefore = {EC_WORD_I_WAS, EC_WORD_ON, EC_WORD_VACATION, EC_WORD_UNTIL, EC_WORD_ONLY, EC_WORD_YESTERDAY}, .speechWin = {EC_WORD_I, EC_WORD_HAVEN_T, EC_WORD_LOST, EC_WORD_MY, EC_WORD_SKILL, EC_WORD_YET}, .speechLose = {EC_WORD_THAT_S, EC_WORD_IT, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_NEED, EC_WORD_SLEEP}, - .monSets = gBattleFrontierTrainerMons_Bryce + .monSet = gBattleFrontierTrainerMons_Bryce }, - [282] = { + [FRONTIER_TRAINER_GIDEON] = { .facilityClass = FACILITY_CLASS_COLLECTOR, .trainerName = _("GIDEON"), .speechBefore = {EC_WORD_WHAT_S_UP_QUES, EC_WORD_YOU, EC_WORD_THINK, EC_WORD_I_AM, EC_WORD_SCARY, EC_WORD_QUES}, .speechWin = {EC_WORD_I_AM, EC_WORD_COOL, EC_WORD_BUT, EC_WORD_NOT, EC_WORD_SCARY, EC_WORD_EXCL}, .speechLose = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_WORD_FABULOUS, EC_WORD_FASHION, EC_WORD_SENSE}, - .monSets = gBattleFrontierTrainerMons_Gideon + .monSet = gBattleFrontierTrainerMons_Gideon }, - [283] = { + [FRONTIER_TRAINER_TRISTON] = { .facilityClass = FACILITY_CLASS_COLLECTOR, .trainerName = _("TRISTON"), .speechBefore = {EC_WORD_I, EC_WORD_WOULD, EC_WORD_RATHER, EC_WORD_LOOK, EC_WORD_AT, EC_WORD_POKEMON}, .speechWin = {EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_MEAN, EC_WORD_I, EC_WORD_WON, EC_WORD_QUES_EXCL}, .speechLose = {EC_WORD_SEE, EC_WORD_QUES, 0xFFFF, EC_WORD_I, EC_WORD_ALWAYS, EC_WORD_LOSE}, - .monSets = gBattleFrontierTrainerMons_Triston + .monSet = gBattleFrontierTrainerMons_Triston }, - [284] = { + [FRONTIER_TRAINER_CHARLES] = { .facilityClass = FACILITY_CLASS_GUITARIST, .trainerName = _("CHARLES"), .speechBefore = {EC_WORD_IT_S, EC_WORD_HOPELESS, EC_WORD_TO, EC_MOVE2(STRUGGLE), EC_WORD_WITH, EC_WORD_ME}, .speechWin = {EC_MOVE(SUBMISSION), EC_WORD_WAS, EC_WORD_YOUR, EC_WORD_ONLY, EC_WORD_CHOICE, 0xFFFF}, .speechLose = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_DOWN, EC_WORD_DOWN, EC_WORD_DOWN, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Charles + .monSet = gBattleFrontierTrainerMons_Charles }, - [285] = { + [FRONTIER_TRAINER_RAYMOND] = { .facilityClass = FACILITY_CLASS_GUITARIST, .trainerName = _("RAYMOND"), .speechBefore = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_HEAR, EC_WORD_MY, EC_WORD_SONG, EC_WORD_QUES}, .speechWin = {EC_WORD_SATISFIED, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_EXCL, 0xFFFF}, .speechLose = {EC_WORD_SATISFIED, EC_WORD_IS, EC_WORD_WHAT, EC_WORD_I, EC_WORD_CAN_T, EC_WORD_BE}, - .monSets = gBattleFrontierTrainerMons_Raymond + .monSet = gBattleFrontierTrainerMons_Raymond }, - [286] = { + [FRONTIER_TRAINER_DIRK] = { .facilityClass = FACILITY_CLASS_BIRD_KEEPER, .trainerName = _("DIRK"), .speechBefore = {EC_WORD_FLYING, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_ABOVE, EC_WORD_THE, EC_MOVE2(REST)}, .speechWin = {EC_WORD_YOU, EC_WORD_CAN_T_WIN, EC_WORD_EXCL, EC_WORD_FLYING, EC_WORD_POKEMON, EC_WORD_RULE}, .speechLose = {EC_WORD_AREN_T, EC_WORD_THERE, EC_WORD_MORE, EC_WORD_FLYING, EC_WORD_POKEMON, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Dirk + .monSet = gBattleFrontierTrainerMons_Dirk }, - [287] = { + [FRONTIER_TRAINER_HAROLD] = { .facilityClass = FACILITY_CLASS_BIRD_KEEPER, .trainerName = _("HAROLD"), .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_APPEAL, EC_WORD_TO, EC_WORD_YOU, EC_WORD_QUES}, .speechWin = {EC_WORD_YOU, EC_WORD_DO, EC_WORD_LIKE, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_QUES}, .speechLose = {EC_WORD_SO, EC_WORD_YOU, EC_WORD_DISLIKE, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Harold + .monSet = gBattleFrontierTrainerMons_Harold }, - [288] = { + [FRONTIER_TRAINER_OMAR] = { .facilityClass = FACILITY_CLASS_SAILOR, .trainerName = _("OMAR"), .speechBefore = {EC_WORD_LET_ME_WIN, EC_WORD_IN, EC_MOVE(RETURN), EC_WORD_FOR, EC_WORD_A, EC_MOVE2(PRESENT)}, .speechWin = {EC_WORD_HERE, EC_WORD_YOU, EC_WORD_ARE, EC_WORD_SOME, EC_MOVE2(TOXIC), EC_WORD_SWEETS}, .speechLose = {EC_WORD_YOUR, EC_MOVE2(PRESENT), EC_WORD_QUES, EC_WORD_WHAT, EC_WORD_FOR, EC_WORD_QUES_EXCL}, - .monSets = gBattleFrontierTrainerMons_Omar + .monSet = gBattleFrontierTrainerMons_Omar }, - [289] = { + [FRONTIER_TRAINER_PETER] = { .facilityClass = FACILITY_CLASS_SAILOR, .trainerName = _("PETER"), .speechBefore = {EC_WORD_I, EC_WORD_BRAG, EC_WORD_ABOUT, EC_WORD_MY, EC_WORD_HAPPINESS, EC_WORD_OK_QUES}, .speechWin = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_LISTEN, EC_WORD_TO_ME, EC_WORD_BRAG}, .speechLose = {EC_WORD_I_AM, EC_WORD_DISAPPOINTED, EC_WORD_YOU, EC_WORD_WON_T, EC_WORD_LISTEN, EC_WORD_TO_ME}, - .monSets = gBattleFrontierTrainerMons_Peter + .monSet = gBattleFrontierTrainerMons_Peter }, - [290] = { + [FRONTIER_TRAINER_DEV] = { .facilityClass = FACILITY_CLASS_HIKER, .trainerName = _("DEV"), .speechBefore = {EC_WORD_COME_ON, EC_WORD_LET_S, EC_WORD_GET, EC_WORD_A, EC_WORD_MOVE, EC_WORD_ON}, .speechWin = {EC_WORD_I, EC_WORD_GET, EC_WORD_TO, EC_WORD_NAP, EC_WORD_AFTER, EC_WORD_THAT}, .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_NAP, EC_WORD_AFTER, EC_WORD_THAT}, - .monSets = gBattleFrontierTrainerMons_Dev + .monSet = gBattleFrontierTrainerMons_Dev }, - [291] = { + [FRONTIER_TRAINER_COREY] = { .facilityClass = FACILITY_CLASS_HIKER, .trainerName = _("COREY"), .speechBefore = {EC_WORD_LET_S, EC_WORD_TEACH, EC_WORD_YOU, EC_WORD_HOW, EC_WORD_TOUGH, EC_WORD_I_AM}, .speechWin = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_ME, EC_WORD_MAKE, EC_WORD_A, EC_MOVE(BRICK_BREAK)}, .speechLose = {EC_WORD_MY, EC_MOVE2(FRUSTRATION), EC_WORD_IS, EC_WORD_CLOSE, EC_WORD_TO, EC_MOVE2(ERUPTION)}, - .monSets = gBattleFrontierTrainerMons_Corey + .monSet = gBattleFrontierTrainerMons_Corey }, - [292] = { + [FRONTIER_TRAINER_ANDRE] = { .facilityClass = FACILITY_CLASS_KINDLER, .trainerName = _("ANDRE"), .speechBefore = {EC_WORD_NOW, EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_WORD_PERFECT, EC_WORD_FLAME_BODY}, .speechWin = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_WORD_FIERY, EC_WORD_DANCE, EC_WORD_EXCL}, .speechLose = {EC_WORD_YOU, EC_WORD_WANT, EC_WORD_AN, EC_MOVE2(EXPLOSION), EC_WORD_HERE, EC_WORD_QUES}, - .monSets = gBattleFrontierTrainerMons_Andre + .monSet = gBattleFrontierTrainerMons_Andre }, - [293] = { + [FRONTIER_TRAINER_FERRIS] = { .facilityClass = FACILITY_CLASS_KINDLER, .trainerName = _("FERRIS"), .speechBefore = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_IN, EC_WORD_THE, EC_WORD_OLD, EC_WORD_CLASS}, .speechWin = {EC_WORD_NO_1, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_EXCL, 0xFFFF}, .speechLose = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_NO_1, EC_WORD_ANY, EC_WORD_MORE, EC_WORD_ELLIPSIS}, - .monSets = gBattleFrontierTrainerMons_Ferris + .monSet = gBattleFrontierTrainerMons_Ferris }, - [294] = { + [FRONTIER_TRAINER_ALIVIA] = { .facilityClass = FACILITY_CLASS_PARASOL_LADY, .trainerName = _("ALIVIA"), .speechBefore = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_GIDDY, EC_WORD_SO, EC_WORD_SHOULD, EC_WORD_YOU}, .speechWin = {EC_WORD_IT, EC_WORD_WAS, EC_WORD_ALL, EC_WORD_TOGETHER, EC_WORD_TOO, EC_WORD_EASY}, .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_GIDDY, EC_WORD_UP, EC_WORD_AND, EC_WORD_AWAY}, - .monSets = gBattleFrontierTrainerMons_Alivia + .monSet = gBattleFrontierTrainerMons_Alivia }, - [295] = { + [FRONTIER_TRAINER_PAIGE] = { .facilityClass = FACILITY_CLASS_PARASOL_LADY, .trainerName = _("PAIGE"), .speechBefore = {EC_WORD_LET_S, EC_WORD_ENJOY, EC_WORD_OUR, EC_WORD_BATTLE, EC_WORD_TOGETHER, 0xFFFF}, .speechWin = {EC_WORD_THAT_S_IT_EXCL, 0xFFFF, 0xFFFF, EC_WORD_THANK_YOU, EC_WORD_VERY, EC_WORD_MUCH}, .speechLose = {EC_WORD_THAT_S_IT_EXCL, 0xFFFF, 0xFFFF, EC_WORD_DO, EC_WORD_GO, EC_WORD_ON}, - .monSets = gBattleFrontierTrainerMons_Paige + .monSet = gBattleFrontierTrainerMons_Paige }, - [296] = { + [FRONTIER_TRAINER_ANYA] = { .facilityClass = FACILITY_CLASS_BEAUTY, .trainerName = _("ANYA"), .speechBefore = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_OH, EC_WORD_SO, EC_WORD_PRETTY, EC_WORD_FASHION}, .speechWin = {EC_WORD_FASHION, EC_WORD_SHOULD, EC_WORD_MATCH, EC_WORD_THE, EC_WORD_PERSON, 0xFFFF}, .speechLose = {EC_WORD_PRETTY, EC_WORD_COULD, EC_WORD_BE, EC_WORD_GOOD, 0xFFFF, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Anya + .monSet = gBattleFrontierTrainerMons_Anya }, - [297] = { + [FRONTIER_TRAINER_DAWN] = { .facilityClass = FACILITY_CLASS_BEAUTY, .trainerName = _("DAWN"), .speechBefore = {EC_WORD_I, EC_WORD_GO, EC_WORD_ALL, EC_WORD_OUT, EC_WORD_EXCL, 0xFFFF}, .speechWin = {EC_WORD_DON_T, EC_WORD_BE, EC_WORD_A, EC_WORD_BABY, EC_WORD_EXCL, 0xFFFF}, .speechLose = {EC_WORD_YOU, EC_WORD_WON, EC_WORD_EXCL, EC_WORD_MOVE, EC_WORD_ON, EC_WORD_EXCL}, - .monSets = gBattleFrontierTrainerMons_Dawn + .monSet = gBattleFrontierTrainerMons_Dawn }, - [298] = { + [FRONTIER_TRAINER_ABBY] = { .facilityClass = FACILITY_CLASS_AROMA_LADY, .trainerName = _("ABBY"), .speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_A, EC_WORD_TRAINER, EC_WORD_THAT_S, EC_WORD_REFRESHING}, .speechWin = {EC_WORD_VICTORY, EC_WORD_HAS, EC_WORD_A, EC_MOVE(SWEET_SCENT), EC_WORD_EXCL, 0xFFFF}, .speechLose = {EC_WORD_WHAT, EC_WORD_AN, EC_WORD_AWFUL, EC_WORD_STENCH, EC_WORD_EXCL, 0xFFFF}, - .monSets = gBattleFrontierTrainerMons_Abby + .monSet = gBattleFrontierTrainerMons_Abby }, - [299] = { + [FRONTIER_TRAINER_GRETEL] = { .facilityClass = FACILITY_CLASS_AROMA_LADY, .trainerName = _("GRETEL"), .speechBefore = {EC_WORD_I, EC_WORD_CAUSE, EC_MOVE(OUTRAGE), EC_WORD_AS, EC_WORD_A, EC_WORD_TRAINER}, .speechWin = {EC_WORD_IT_S, EC_WORD_ONLY, EC_WORD_NATURAL, EC_WORD_SEE_YA, EC_WORD_BYE_BYE, EC_WORD_EXCL}, .speechLose = {EC_WORD_IT_S, EC_WORD_HARD, EC_WORD_TO, EC_WORD_BELIEVE, EC_WORD_BUT, EC_WORD_CONGRATS}, - .monSets = gBattleFrontierTrainerMons_Gretel + .monSet = gBattleFrontierTrainerMons_Gretel } }; diff --git a/src/data/battle_frontier/battle_tent.h b/src/data/battle_frontier/battle_tent.h index 946ca01875..bf89c5bc38 100644 --- a/src/data/battle_frontier/battle_tent.h +++ b/src/data/battle_frontier/battle_tent.h @@ -1,1242 +1,1242 @@ // Slateport Battle Tent. const u16 gSlateportBattleTentTrainerMons_Jolie[] = { - 9, - 10, - 13, - 27, - 35, - 37, - 42, - 44, - 45, - 46, - 63, + SLATEPORT_TENT_MON_CACNEA_1, + SLATEPORT_TENT_MON_LOMBRE_1, + SLATEPORT_TENT_MON_NUZLEAF, + SLATEPORT_TENT_MON_CACNEA_2, + SLATEPORT_TENT_MON_MAKUHITA, + SLATEPORT_TENT_MON_BARBOACH, + SLATEPORT_TENT_MON_SOLROCK, + SLATEPORT_TENT_MON_KECLEON_2, + SLATEPORT_TENT_MON_SHROOMISH_1, + SLATEPORT_TENT_MON_SHROOMISH_2, + SLATEPORT_TENT_MON_BRELOOM, -1 }; const u16 gSlateportBattleTentTrainerMons_Malachi[] = { - 9, - 16, - 17, - 27, - 36, - 39, - 42, - 45, - 48, - 49, - 53, + SLATEPORT_TENT_MON_CACNEA_1, + SLATEPORT_TENT_MON_GRAVELER, + SLATEPORT_TENT_MON_BALTOY, + SLATEPORT_TENT_MON_CACNEA_2, + SLATEPORT_TENT_MON_NUMEL_1, + SLATEPORT_TENT_MON_VIGOROTH, + SLATEPORT_TENT_MON_SOLROCK, + SLATEPORT_TENT_MON_SHROOMISH_1, + SLATEPORT_TENT_MON_NUMEL_2, + SLATEPORT_TENT_MON_TRAPINCH_2, + SLATEPORT_TENT_MON_SKITTY, -1 }; const u16 gSlateportBattleTentTrainerMons_Kelsie[] = { - 4, - 5, - 6, - 11, - 28, - 34, - 35, - 37, - 43, - 51, - 53, + SLATEPORT_TENT_MON_WAILMER_1, + SLATEPORT_TENT_MON_WAILMER_2, + SLATEPORT_TENT_MON_MARILL_1, + SLATEPORT_TENT_MON_LOTAD, + SLATEPORT_TENT_MON_TAILLOW, + SLATEPORT_TENT_MON_WHISMUR, + SLATEPORT_TENT_MON_MAKUHITA, + SLATEPORT_TENT_MON_BARBOACH, + SLATEPORT_TENT_MON_KECLEON_1, + SLATEPORT_TENT_MON_WINGULL_2, + SLATEPORT_TENT_MON_SKITTY, -1 }; const u16 gSlateportBattleTentTrainerMons_Davon[] = { - 4, - 5, - 6, - 12, - 26, - 36, - 37, - 38, - 40, - 44, - 46, - 50, + SLATEPORT_TENT_MON_WAILMER_1, + SLATEPORT_TENT_MON_WAILMER_2, + SLATEPORT_TENT_MON_MARILL_1, + SLATEPORT_TENT_MON_SEEDOT, + SLATEPORT_TENT_MON_TRAPINCH_1, + SLATEPORT_TENT_MON_NUMEL_1, + SLATEPORT_TENT_MON_BARBOACH, + SLATEPORT_TENT_MON_TENTACOOL, + SLATEPORT_TENT_MON_MAGIKARP, + SLATEPORT_TENT_MON_KECLEON_2, + SLATEPORT_TENT_MON_SHROOMISH_2, + SLATEPORT_TENT_MON_PELIPPER_2, -1 }; const u16 gSlateportBattleTentTrainerMons_Glenda[] = { - 0, - 1, - 17, - 18, - 19, - 22, - 23, - 33, - 42, - 61, - 64, - 65, - 66, + SLATEPORT_TENT_MON_ZIGZAGOON_1, + SLATEPORT_TENT_MON_ZIGZAGOON_2, + SLATEPORT_TENT_MON_BALTOY, + SLATEPORT_TENT_MON_MIGHTYENA_1, + SLATEPORT_TENT_MON_MIGHTYENA_2, + SLATEPORT_TENT_MON_ELECTRIKE_1, + SLATEPORT_TENT_MON_VOLTORB, + SLATEPORT_TENT_MON_MAGNEMITE, + SLATEPORT_TENT_MON_SOLROCK, + SLATEPORT_TENT_MON_KADABRA, + SLATEPORT_TENT_MON_PLUSLE_1, + SLATEPORT_TENT_MON_PLUSLE_2, + SLATEPORT_TENT_MON_ELECTRIKE_2, -1 }; const u16 gSlateportBattleTentTrainerMons_Helena[] = { - 18, - 19, - 21, - 38, - 39, - 41, - 42, - 52, - 54, - 58, - 63, + SLATEPORT_TENT_MON_MIGHTYENA_1, + SLATEPORT_TENT_MON_MIGHTYENA_2, + SLATEPORT_TENT_MON_GOLDEEN, + SLATEPORT_TENT_MON_TENTACOOL, + SLATEPORT_TENT_MON_VIGOROTH, + SLATEPORT_TENT_MON_SEVIPER_1, + SLATEPORT_TENT_MON_SOLROCK, + SLATEPORT_TENT_MON_MARILL_2, + SLATEPORT_TENT_MON_SEVIPER_2, + SLATEPORT_TENT_MON_SWALOT, + SLATEPORT_TENT_MON_BRELOOM, -1 }; const u16 gSlateportBattleTentTrainerMons_Rodolfo[] = { - 0, - 1, - 4, - 5, - 7, - 8, - 18, - 20, - 21, - 37, - 38, - 40, - 62, + SLATEPORT_TENT_MON_ZIGZAGOON_1, + SLATEPORT_TENT_MON_ZIGZAGOON_2, + SLATEPORT_TENT_MON_WAILMER_1, + SLATEPORT_TENT_MON_WAILMER_2, + SLATEPORT_TENT_MON_WINGULL_1, + SLATEPORT_TENT_MON_PELIPPER_1, + SLATEPORT_TENT_MON_MIGHTYENA_1, + SLATEPORT_TENT_MON_LINOONE, + SLATEPORT_TENT_MON_GOLDEEN, + SLATEPORT_TENT_MON_BARBOACH, + SLATEPORT_TENT_MON_TENTACOOL, + SLATEPORT_TENT_MON_MAGIKARP, + SLATEPORT_TENT_MON_KIRLIA, -1 }; const u16 gSlateportBattleTentTrainerMons_Davion[] = { - 17, - 23, - 24, - 25, - 31, - 32, - 33, - 34, - 39, - 43, - 44, - 49, - 57, - 69, + SLATEPORT_TENT_MON_BALTOY, + SLATEPORT_TENT_MON_VOLTORB, + SLATEPORT_TENT_MON_ARON_1, + SLATEPORT_TENT_MON_ARON_2, + SLATEPORT_TENT_MON_LOUDRED, + SLATEPORT_TENT_MON_SPINDA, + SLATEPORT_TENT_MON_MAGNEMITE, + SLATEPORT_TENT_MON_WHISMUR, + SLATEPORT_TENT_MON_VIGOROTH, + SLATEPORT_TENT_MON_KECLEON_1, + SLATEPORT_TENT_MON_KECLEON_2, + SLATEPORT_TENT_MON_TRAPINCH_2, + SLATEPORT_TENT_MON_SANDSHREW, + SLATEPORT_TENT_MON_MACHOKE, -1 }; const u16 gSlateportBattleTentTrainerMons_Kendall[] = { - 4, - 7, - 8, - 9, - 11, - 12, - 13, - 27, - 38, - 40, - 45, - 46, - 47, - 63, + SLATEPORT_TENT_MON_WAILMER_1, + SLATEPORT_TENT_MON_WINGULL_1, + SLATEPORT_TENT_MON_PELIPPER_1, + SLATEPORT_TENT_MON_CACNEA_1, + SLATEPORT_TENT_MON_LOTAD, + SLATEPORT_TENT_MON_SEEDOT, + SLATEPORT_TENT_MON_NUZLEAF, + SLATEPORT_TENT_MON_CACNEA_2, + SLATEPORT_TENT_MON_TENTACOOL, + SLATEPORT_TENT_MON_MAGIKARP, + SLATEPORT_TENT_MON_SHROOMISH_1, + SLATEPORT_TENT_MON_SHROOMISH_2, + SLATEPORT_TENT_MON_LOMBRE_2, + SLATEPORT_TENT_MON_BRELOOM, -1 }; const u16 gSlateportBattleTentTrainerMons_Colten[] = { - 0, - 2, - 12, - 22, - 28, - 30, - 35, - 38, - 43, - 44, - 56, - 57, + SLATEPORT_TENT_MON_ZIGZAGOON_1, + SLATEPORT_TENT_MON_BEAUTIFLY, + SLATEPORT_TENT_MON_SEEDOT, + SLATEPORT_TENT_MON_ELECTRIKE_1, + SLATEPORT_TENT_MON_TAILLOW, + SLATEPORT_TENT_MON_GOLBAT_1, + SLATEPORT_TENT_MON_MAKUHITA, + SLATEPORT_TENT_MON_TENTACOOL, + SLATEPORT_TENT_MON_KECLEON_1, + SLATEPORT_TENT_MON_KECLEON_2, + SLATEPORT_TENT_MON_RALTS, + SLATEPORT_TENT_MON_SANDSHREW, -1 }; const u16 gSlateportBattleTentTrainerMons_Irvin[] = { - 0, - 1, - 2, - 3, - 14, - 15, - 24, - 25, - 32, - 34, - 39, - 59, - 60, + SLATEPORT_TENT_MON_ZIGZAGOON_1, + SLATEPORT_TENT_MON_ZIGZAGOON_2, + SLATEPORT_TENT_MON_BEAUTIFLY, + SLATEPORT_TENT_MON_DUSTOX, + SLATEPORT_TENT_MON_NINJASK_1, + SLATEPORT_TENT_MON_NINJASK_2, + SLATEPORT_TENT_MON_ARON_1, + SLATEPORT_TENT_MON_ARON_2, + SLATEPORT_TENT_MON_SPINDA, + SLATEPORT_TENT_MON_WHISMUR, + SLATEPORT_TENT_MON_VIGOROTH, + SLATEPORT_TENT_MON_VOLBEAT, + SLATEPORT_TENT_MON_ILLUMISE, -1 }; const u16 gSlateportBattleTentTrainerMons_Shaun[] = { - 17, - 18, - 19, - 22, - 29, - 36, - 42, - 48, - 61, - 62, - 66, - 68, - 69, + SLATEPORT_TENT_MON_BALTOY, + SLATEPORT_TENT_MON_MIGHTYENA_1, + SLATEPORT_TENT_MON_MIGHTYENA_2, + SLATEPORT_TENT_MON_ELECTRIKE_1, + SLATEPORT_TENT_MON_SWELLOW, + SLATEPORT_TENT_MON_NUMEL_1, + SLATEPORT_TENT_MON_SOLROCK, + SLATEPORT_TENT_MON_NUMEL_2, + SLATEPORT_TENT_MON_KADABRA, + SLATEPORT_TENT_MON_KIRLIA, + SLATEPORT_TENT_MON_ELECTRIKE_2, + SLATEPORT_TENT_MON_MACHOP, + SLATEPORT_TENT_MON_MACHOKE, -1 }; const u16 gSlateportBattleTentTrainerMons_Kyler[] = { - 22, - 23, - 28, - 29, - 31, - 32, - 34, - 39, - 55, - 64, - 65, - 67, + SLATEPORT_TENT_MON_ELECTRIKE_1, + SLATEPORT_TENT_MON_VOLTORB, + SLATEPORT_TENT_MON_TAILLOW, + SLATEPORT_TENT_MON_SWELLOW, + SLATEPORT_TENT_MON_LOUDRED, + SLATEPORT_TENT_MON_SPINDA, + SLATEPORT_TENT_MON_WHISMUR, + SLATEPORT_TENT_MON_VIGOROTH, + SLATEPORT_TENT_MON_GOLBAT_2, + SLATEPORT_TENT_MON_PLUSLE_1, + SLATEPORT_TENT_MON_PLUSLE_2, + SLATEPORT_TENT_MON_SWABLU, -1 }; const u16 gSlateportBattleTentTrainerMons_Maggie[] = { - 10, - 13, - 17, - 27, - 45, - 46, - 53, - 56, - 61, - 62, - 63, + SLATEPORT_TENT_MON_LOMBRE_1, + SLATEPORT_TENT_MON_NUZLEAF, + SLATEPORT_TENT_MON_BALTOY, + SLATEPORT_TENT_MON_CACNEA_2, + SLATEPORT_TENT_MON_SHROOMISH_1, + SLATEPORT_TENT_MON_SHROOMISH_2, + SLATEPORT_TENT_MON_SKITTY, + SLATEPORT_TENT_MON_RALTS, + SLATEPORT_TENT_MON_KADABRA, + SLATEPORT_TENT_MON_KIRLIA, + SLATEPORT_TENT_MON_BRELOOM, -1 }; const u16 gSlateportBattleTentTrainerMons_Stephon[] = { - 8, - 10, - 16, - 23, - 29, - 43, - 44, - 60, - 62, - 63, - 68, + SLATEPORT_TENT_MON_PELIPPER_1, + SLATEPORT_TENT_MON_LOMBRE_1, + SLATEPORT_TENT_MON_GRAVELER, + SLATEPORT_TENT_MON_VOLTORB, + SLATEPORT_TENT_MON_SWELLOW, + SLATEPORT_TENT_MON_KECLEON_1, + SLATEPORT_TENT_MON_KECLEON_2, + SLATEPORT_TENT_MON_ILLUMISE, + SLATEPORT_TENT_MON_KIRLIA, + SLATEPORT_TENT_MON_BRELOOM, + SLATEPORT_TENT_MON_MACHOP, -1 }; const u16 gSlateportBattleTentTrainerMons_Rebecca[] = { - 8, - 13, - 21, - 29, - 33, - 41, - 48, - 54, - 59, - 61, - 68, + SLATEPORT_TENT_MON_PELIPPER_1, + SLATEPORT_TENT_MON_NUZLEAF, + SLATEPORT_TENT_MON_GOLDEEN, + SLATEPORT_TENT_MON_SWELLOW, + SLATEPORT_TENT_MON_MAGNEMITE, + SLATEPORT_TENT_MON_SEVIPER_1, + SLATEPORT_TENT_MON_NUMEL_2, + SLATEPORT_TENT_MON_SEVIPER_2, + SLATEPORT_TENT_MON_VOLBEAT, + SLATEPORT_TENT_MON_KADABRA, + SLATEPORT_TENT_MON_MACHOP, -1 }; const u16 gSlateportBattleTentTrainerMons_Reggie[] = { - 6, - 7, - 17, - 23, - 24, - 26, - 32, - 36, - 52, - 53, - 57, - 65, + SLATEPORT_TENT_MON_MARILL_1, + SLATEPORT_TENT_MON_WINGULL_1, + SLATEPORT_TENT_MON_BALTOY, + SLATEPORT_TENT_MON_VOLTORB, + SLATEPORT_TENT_MON_ARON_1, + SLATEPORT_TENT_MON_TRAPINCH_1, + SLATEPORT_TENT_MON_SPINDA, + SLATEPORT_TENT_MON_NUMEL_1, + SLATEPORT_TENT_MON_MARILL_2, + SLATEPORT_TENT_MON_SKITTY, + SLATEPORT_TENT_MON_SANDSHREW, + SLATEPORT_TENT_MON_PLUSLE_2, -1 }; const u16 gSlateportBattleTentTrainerMons_Janae[] = { - 0, - 1, - 27, - 28, - 32, - 34, - 36, - 37, - 52, - 53, - 57, - 65, + SLATEPORT_TENT_MON_ZIGZAGOON_1, + SLATEPORT_TENT_MON_ZIGZAGOON_2, + SLATEPORT_TENT_MON_CACNEA_2, + SLATEPORT_TENT_MON_TAILLOW, + SLATEPORT_TENT_MON_SPINDA, + SLATEPORT_TENT_MON_WHISMUR, + SLATEPORT_TENT_MON_NUMEL_1, + SLATEPORT_TENT_MON_BARBOACH, + SLATEPORT_TENT_MON_MARILL_2, + SLATEPORT_TENT_MON_SKITTY, + SLATEPORT_TENT_MON_SANDSHREW, + SLATEPORT_TENT_MON_PLUSLE_2, -1 }; const u16 gSlateportBattleTentTrainerMons_Caiden[] = { - 10, - 14, - 15, - 16, - 20, - 21, - 25, - 30, - 35, - 47, - 48, - 50, - 69, + SLATEPORT_TENT_MON_LOMBRE_1, + SLATEPORT_TENT_MON_NINJASK_1, + SLATEPORT_TENT_MON_NINJASK_2, + SLATEPORT_TENT_MON_GRAVELER, + SLATEPORT_TENT_MON_LINOONE, + SLATEPORT_TENT_MON_GOLDEEN, + SLATEPORT_TENT_MON_ARON_2, + SLATEPORT_TENT_MON_GOLBAT_1, + SLATEPORT_TENT_MON_MAKUHITA, + SLATEPORT_TENT_MON_LOMBRE_2, + SLATEPORT_TENT_MON_NUMEL_2, + SLATEPORT_TENT_MON_PELIPPER_2, + SLATEPORT_TENT_MON_MACHOKE, -1 }; const u16 gSlateportBattleTentTrainerMons_Kirsten[] = { - 10, - 16, - 18, - 19, - 20, - 21, - 25, - 30, - 35, - 39, - 41, - 48, - 69, + SLATEPORT_TENT_MON_LOMBRE_1, + SLATEPORT_TENT_MON_GRAVELER, + SLATEPORT_TENT_MON_MIGHTYENA_1, + SLATEPORT_TENT_MON_MIGHTYENA_2, + SLATEPORT_TENT_MON_LINOONE, + SLATEPORT_TENT_MON_GOLDEEN, + SLATEPORT_TENT_MON_ARON_2, + SLATEPORT_TENT_MON_GOLBAT_1, + SLATEPORT_TENT_MON_MAKUHITA, + SLATEPORT_TENT_MON_VIGOROTH, + SLATEPORT_TENT_MON_SEVIPER_1, + SLATEPORT_TENT_MON_NUMEL_2, + SLATEPORT_TENT_MON_MACHOKE, -1 }; const u16 gSlateportBattleTentTrainerMons_Kurtis[] = { - 0, - 1, - 36, - 37, - 40, - 46, - 49, - 51, - 64, - 67, - 68, + SLATEPORT_TENT_MON_ZIGZAGOON_1, + SLATEPORT_TENT_MON_ZIGZAGOON_2, + SLATEPORT_TENT_MON_NUMEL_1, + SLATEPORT_TENT_MON_BARBOACH, + SLATEPORT_TENT_MON_MAGIKARP, + SLATEPORT_TENT_MON_SHROOMISH_2, + SLATEPORT_TENT_MON_TRAPINCH_2, + SLATEPORT_TENT_MON_WINGULL_2, + SLATEPORT_TENT_MON_PLUSLE_1, + SLATEPORT_TENT_MON_SWABLU, + SLATEPORT_TENT_MON_MACHOP, -1 }; const u16 gSlateportBattleTentTrainerMons_Stefan[] = { - 4, - 5, - 21, - 33, - 37, - 38, - 40, - 51, - 52, - 64, - 65, + SLATEPORT_TENT_MON_WAILMER_1, + SLATEPORT_TENT_MON_WAILMER_2, + SLATEPORT_TENT_MON_GOLDEEN, + SLATEPORT_TENT_MON_MAGNEMITE, + SLATEPORT_TENT_MON_BARBOACH, + SLATEPORT_TENT_MON_TENTACOOL, + SLATEPORT_TENT_MON_MAGIKARP, + SLATEPORT_TENT_MON_WINGULL_2, + SLATEPORT_TENT_MON_MARILL_2, + SLATEPORT_TENT_MON_PLUSLE_1, + SLATEPORT_TENT_MON_PLUSLE_2, -1 }; const u16 gSlateportBattleTentTrainerMons_Avery[] = { - 2, - 3, - 7, - 8, - 22, - 23, - 28, - 29, - 30, - 51, - 67, + SLATEPORT_TENT_MON_BEAUTIFLY, + SLATEPORT_TENT_MON_DUSTOX, + SLATEPORT_TENT_MON_WINGULL_1, + SLATEPORT_TENT_MON_PELIPPER_1, + SLATEPORT_TENT_MON_ELECTRIKE_1, + SLATEPORT_TENT_MON_VOLTORB, + SLATEPORT_TENT_MON_TAILLOW, + SLATEPORT_TENT_MON_SWELLOW, + SLATEPORT_TENT_MON_GOLBAT_1, + SLATEPORT_TENT_MON_WINGULL_2, + SLATEPORT_TENT_MON_SWABLU, -1 }; const u16 gSlateportBattleTentTrainerMons_Dwane[] = { - 14, - 15, - 30, - 43, - 44, - 45, - 46, - 55, - 58, - 59, - 63, + SLATEPORT_TENT_MON_NINJASK_1, + SLATEPORT_TENT_MON_NINJASK_2, + SLATEPORT_TENT_MON_GOLBAT_1, + SLATEPORT_TENT_MON_KECLEON_1, + SLATEPORT_TENT_MON_KECLEON_2, + SLATEPORT_TENT_MON_SHROOMISH_1, + SLATEPORT_TENT_MON_SHROOMISH_2, + SLATEPORT_TENT_MON_GOLBAT_2, + SLATEPORT_TENT_MON_SWALOT, + SLATEPORT_TENT_MON_VOLBEAT, + SLATEPORT_TENT_MON_BRELOOM, -1 }; const u16 gSlateportBattleTentTrainerMons_Mckenna[] = { - 27, - 29, - 30, - 32, - 36, - 48, - 51, - 52, - 53, - 57, - 67, + SLATEPORT_TENT_MON_CACNEA_2, + SLATEPORT_TENT_MON_SWELLOW, + SLATEPORT_TENT_MON_GOLBAT_1, + SLATEPORT_TENT_MON_SPINDA, + SLATEPORT_TENT_MON_NUMEL_1, + SLATEPORT_TENT_MON_NUMEL_2, + SLATEPORT_TENT_MON_WINGULL_2, + SLATEPORT_TENT_MON_MARILL_2, + SLATEPORT_TENT_MON_SKITTY, + SLATEPORT_TENT_MON_SANDSHREW, + SLATEPORT_TENT_MON_SWABLU, -1 }; const u16 gSlateportBattleTentTrainerMons_Camryn[] = { - 5, - 6, - 7, - 8, - 10, - 16, - 17, - 20, - 21, - 37, - 43, - 44, + SLATEPORT_TENT_MON_WAILMER_2, + SLATEPORT_TENT_MON_MARILL_1, + SLATEPORT_TENT_MON_WINGULL_1, + SLATEPORT_TENT_MON_PELIPPER_1, + SLATEPORT_TENT_MON_LOMBRE_1, + SLATEPORT_TENT_MON_GRAVELER, + SLATEPORT_TENT_MON_BALTOY, + SLATEPORT_TENT_MON_LINOONE, + SLATEPORT_TENT_MON_GOLDEEN, + SLATEPORT_TENT_MON_BARBOACH, + SLATEPORT_TENT_MON_KECLEON_1, + SLATEPORT_TENT_MON_KECLEON_2, -1 }; const u16 gSlateportBattleTentTrainerMons_Natasha[] = { - 1, - 3, - 4, - 5, - 9, - 11, - 12, - 20, - 21, - 22, - 51, + SLATEPORT_TENT_MON_ZIGZAGOON_2, + SLATEPORT_TENT_MON_DUSTOX, + SLATEPORT_TENT_MON_WAILMER_1, + SLATEPORT_TENT_MON_WAILMER_2, + SLATEPORT_TENT_MON_CACNEA_1, + SLATEPORT_TENT_MON_LOTAD, + SLATEPORT_TENT_MON_SEEDOT, + SLATEPORT_TENT_MON_LINOONE, + SLATEPORT_TENT_MON_GOLDEEN, + SLATEPORT_TENT_MON_ELECTRIKE_1, + SLATEPORT_TENT_MON_WINGULL_2, -1 }; const u16 gSlateportBattleTentTrainerMons_Austyn[] = { - 25, - 31, - 35, - 37, - 38, - 39, - 50, - 51, - 52, - 58, - 68, - 69, + SLATEPORT_TENT_MON_ARON_2, + SLATEPORT_TENT_MON_LOUDRED, + SLATEPORT_TENT_MON_MAKUHITA, + SLATEPORT_TENT_MON_BARBOACH, + SLATEPORT_TENT_MON_TENTACOOL, + SLATEPORT_TENT_MON_VIGOROTH, + SLATEPORT_TENT_MON_PELIPPER_2, + SLATEPORT_TENT_MON_WINGULL_2, + SLATEPORT_TENT_MON_MARILL_2, + SLATEPORT_TENT_MON_SWALOT, + SLATEPORT_TENT_MON_MACHOP, + SLATEPORT_TENT_MON_MACHOKE, -1 }; const u16 gSlateportBattleTentTrainerMons_Donovan[] = { - 10, - 16, - 17, - 24, - 25, - 43, - 44, - 47, - 49, - 53, - 59, - 60, - 64, - 65, + SLATEPORT_TENT_MON_LOMBRE_1, + SLATEPORT_TENT_MON_GRAVELER, + SLATEPORT_TENT_MON_BALTOY, + SLATEPORT_TENT_MON_ARON_1, + SLATEPORT_TENT_MON_ARON_2, + SLATEPORT_TENT_MON_KECLEON_1, + SLATEPORT_TENT_MON_KECLEON_2, + SLATEPORT_TENT_MON_LOMBRE_2, + SLATEPORT_TENT_MON_TRAPINCH_2, + SLATEPORT_TENT_MON_SKITTY, + SLATEPORT_TENT_MON_VOLBEAT, + SLATEPORT_TENT_MON_ILLUMISE, + SLATEPORT_TENT_MON_PLUSLE_1, + SLATEPORT_TENT_MON_PLUSLE_2, -1 }; const u16 gSlateportBattleTentTrainerMons_Tamia[] = { - 2, - 6, - 9, - 13, - 17, - 19, - 20, - 24, - 27, - 29, - 30, + SLATEPORT_TENT_MON_BEAUTIFLY, + SLATEPORT_TENT_MON_MARILL_1, + SLATEPORT_TENT_MON_CACNEA_1, + SLATEPORT_TENT_MON_NUZLEAF, + SLATEPORT_TENT_MON_BALTOY, + SLATEPORT_TENT_MON_MIGHTYENA_2, + SLATEPORT_TENT_MON_LINOONE, + SLATEPORT_TENT_MON_ARON_1, + SLATEPORT_TENT_MON_CACNEA_2, + SLATEPORT_TENT_MON_SWELLOW, + SLATEPORT_TENT_MON_GOLBAT_1, -1 }; -const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] = +const struct BattleFrontierTrainer gSlateportBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] = { - [0] = { + [SLATEPORT_TENT_TRAINER_JOLIE] = { .facilityClass = FACILITY_CLASS_AROMA_LADY, .trainerName = _("JOLIE"), .speechBefore = {EC_WORD_WHAT, EC_WORD_WILL, EC_WORD_I, EC_WORD_BE, EC_WORD_TOMORROW, EC_WORD_QUES}, .speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_LIKE, EC_WORD_IT_S, EC_WORD_FRIDAY, EC_WORD_EXCL}, .speechLose = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_LIKE, EC_WORD_IT_S, EC_WORD_MONDAY, EC_WORD_ELLIPSIS}, - .monSets = gSlateportBattleTentTrainerMons_Jolie + .monSet = gSlateportBattleTentTrainerMons_Jolie }, - [1] = { + [SLATEPORT_TENT_TRAINER_MALACHI] = { .facilityClass = FACILITY_CLASS_RUIN_MANIAC, .trainerName = _("MALACHI"), .speechBefore = {EC_WORD_BAD, EC_WORD_NEWS, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_A, EC_MOVE(SAND_TOMB)}, .speechWin = {EC_WORD_YEEHAW_EXCL, -1, -1, EC_WORD_I_VE, EC_WORD_DONE, EC_WORD_IT}, .speechLose = {EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_IN, EC_WORD_THIS, EC_MOVE(SAND_TOMB), EC_WORD_ELLIPSIS}, - .monSets = gSlateportBattleTentTrainerMons_Malachi + .monSet = gSlateportBattleTentTrainerMons_Malachi }, - [2] = { + [SLATEPORT_TENT_TRAINER_KELSIE] = { .facilityClass = FACILITY_CLASS_TUBER_F, .trainerName = _("KELSIE"), .speechBefore = {EC_WORD_GO, EC_WORD_EXCL_EXCL, EC_WORD_MY, EC_WORD_BATH, EC_WORD_POKEMON, EC_WORD_EXCL_EXCL}, .speechWin = {EC_WORD_YAHOO, EC_WORD_EXCL_EXCL, EC_WORD_MY, EC_WORD_BATH, EC_WORD_POKEMON, EC_WORD_EXCL_EXCL}, .speechLose = {EC_WORD_GWAH, EC_WORD_EXCL_EXCL, EC_WORD_MY, EC_WORD_BATH, EC_WORD_POKEMON, EC_WORD_EXCL_EXCL}, - .monSets = gSlateportBattleTentTrainerMons_Kelsie + .monSet = gSlateportBattleTentTrainerMons_Kelsie }, - [3] = { + [SLATEPORT_TENT_TRAINER_DAVON] = { .facilityClass = FACILITY_CLASS_TUBER_M, .trainerName = _("DAVON"), .speechBefore = {EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL, -1, EC_WORD_GREAT, EC_MOVE(WHIRLPOOL), EC_WORD_ISN_T_IT_QUES}, .speechWin = {EC_WORD_THAT_WAS, EC_WORD_LIKE, EC_WORD_A, EC_MOVE(WHIRLPOOL), EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL}, .speechLose = {EC_WORD_DON_T, EC_WORD_GET, EC_MOVE2(BEAT_UP), EC_WORD_IN, EC_WORD_THAT, EC_MOVE(WHIRLPOOL)}, - .monSets = gSlateportBattleTentTrainerMons_Davon + .monSet = gSlateportBattleTentTrainerMons_Davon }, - [4] = { + [SLATEPORT_TENT_TRAINER_GLENDA] = { .facilityClass = FACILITY_CLASS_LADY, .trainerName = _("GLENDA"), .speechBefore = {EC_WORD_CONVERSATION, EC_WORD_CAN, EC_WORD_WAIT, EC_WORD_UNTIL, EC_WORD_I, EC_WORD_WIN}, .speechWin = {EC_WORD_FABULOUS, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_ROCK}, .speechLose = {EC_WORD_NO, EC_WORD_EXCL, -1, EC_WORD_I, EC_WORD_WASN_T, EC_WORD_SERIOUS}, - .monSets = gSlateportBattleTentTrainerMons_Glenda + .monSet = gSlateportBattleTentTrainerMons_Glenda }, - [5] = { + [SLATEPORT_TENT_TRAINER_HELENA] = { .facilityClass = FACILITY_CLASS_BEAUTY, .trainerName = _("HELENA"), .speechBefore = {EC_WORD_DOES, EC_WORD_MY, EC_WORD_BEAUTY, EC_WORD_INTIMIDATE, EC_WORD_YOU, EC_WORD_QUES}, .speechWin = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SORRY, EC_WORD_BUT, EC_WORD_YOU_RE, EC_WORD_BORING}, .speechLose = {EC_WORD_I, EC_WORD_DO, EC_WORD_SO, EC_WORD_ENJOY, EC_WORD_THIS, EC_WORD_EXCL}, - .monSets = gSlateportBattleTentTrainerMons_Helena + .monSet = gSlateportBattleTentTrainerMons_Helena }, - [6] = { + [SLATEPORT_TENT_TRAINER_RODOLFO] = { .facilityClass = FACILITY_CLASS_RICH_BOY, .trainerName = _("RODOLFO"), .speechBefore = {EC_WORD_GO, EC_WORD_GET, EC_WORD_A, EC_POKEMON(WHISCASH), EC_WORD_FOR, EC_WORD_ME}, .speechWin = {EC_WORD_AWW, EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_HAVE, EC_WORD_A, EC_POKEMON(WHISCASH)}, .speechLose = {EC_WORD_PLEASE, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_POKEMON(WHISCASH), EC_WORD_BADLY}, - .monSets = gSlateportBattleTentTrainerMons_Rodolfo + .monSet = gSlateportBattleTentTrainerMons_Rodolfo }, - [7] = { + [SLATEPORT_TENT_TRAINER_DAVION] = { .facilityClass = FACILITY_CLASS_POKEMANIAC, .trainerName = _("DAVION"), .speechBefore = {EC_WORD_GRAAAH, EC_WORD_GRAAAH, EC_WORD_EXCL_EXCL, EC_WORD_GRAAAH, EC_WORD_GRAAAH, EC_WORD_EXCL_EXCL}, .speechWin = {EC_MOVE2(ROAR), EC_WORD_EXCL, -1, EC_MOVE2(ROAR), EC_WORD_EXCL_EXCL, -1}, .speechLose = {EC_WORD_URGH, EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, -1, -1, -1}, - .monSets = gSlateportBattleTentTrainerMons_Davion + .monSet = gSlateportBattleTentTrainerMons_Davion }, - [8] = { + [SLATEPORT_TENT_TRAINER_KENDALL] = { .facilityClass = FACILITY_CLASS_SWIMMER_M, .trainerName = _("KENDALL"), .speechBefore = {EC_WORD_A_LITTLE, EC_MOVE2(PETAL_DANCE), EC_WORD_TO, EC_WORD_PLEASE, EC_WORD_YOU, EC_WORD_EXCL}, .speechWin = {EC_WORD_I, EC_WORD_DO, EC_WORD_THIS, EC_WORD_ONLY, EC_WORD_FOR, EC_WORD_WORK}, .speechLose = {EC_WORD_HOW, EC_WORD_COULD, EC_WORD_YOU, EC_MOVE2(POUND), EC_WORD_ME, EC_WORD_QUES}, - .monSets = gSlateportBattleTentTrainerMons_Kendall + .monSet = gSlateportBattleTentTrainerMons_Kendall }, - [9] = { + [SLATEPORT_TENT_TRAINER_COLTEN] = { .facilityClass = FACILITY_CLASS_CAMPER, .trainerName = _("COLTEN"), .speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_RUN, EC_WORD_AROUND}, .speechWin = {EC_WORD_YAY, EC_WORD_EXCL, EC_WORD_WANT, EC_WORD_TO, EC_WORD_RUN, EC_WORD_QUES}, .speechLose = {EC_WORD_A, EC_WORD_SWIFT_SWIM, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_GOOD, EC_WORD_TOO}, - .monSets = gSlateportBattleTentTrainerMons_Colten + .monSet = gSlateportBattleTentTrainerMons_Colten }, - [10] = { + [SLATEPORT_TENT_TRAINER_IRVIN] = { .facilityClass = FACILITY_CLASS_BUG_MANIAC, .trainerName = _("IRVIN"), .speechBefore = {EC_WORD_HAVE, EC_WORD_A, EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_MOVE(CONFUSE_RAY)}, .speechWin = {EC_WORD_YAHOO, EC_WORD_MY, EC_MOVE(CONFUSE_RAY), EC_WORD_IS, EC_WORD_THE, EC_WORD_BEST}, .speechLose = {EC_WORD_GWAH, EC_WORD_EXCL_EXCL, -1, EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_EXCL}, - .monSets = gSlateportBattleTentTrainerMons_Irvin + .monSet = gSlateportBattleTentTrainerMons_Irvin }, - [11] = { + [SLATEPORT_TENT_TRAINER_SHAUN] = { .facilityClass = FACILITY_CLASS_GENTLEMAN, .trainerName = _("SHAUN"), .speechBefore = {EC_WORD_LISTEN, EC_WORD_ELLIPSIS, EC_WORD_YOU, EC_WORD_AREN_T, EC_WORD_VERY, EC_WORD_GOOD}, .speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_I, EC_WORD_WAS, EC_WORD_RIGHT}, .speechLose = {EC_WORD_YES, EC_WORD_YES, EC_WORD_ELLIPSIS, EC_WORD_YOU_RE, EC_WORD_QUITE, EC_WORD_SOMETHING}, - .monSets = gSlateportBattleTentTrainerMons_Shaun + .monSet = gSlateportBattleTentTrainerMons_Shaun }, - [12] = { + [SLATEPORT_TENT_TRAINER_KYLER] = { .facilityClass = FACILITY_CLASS_GUITARIST, .trainerName = _("KYLER"), .speechBefore = {EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_QUES}, .speechWin = {EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_YAY}, .speechLose = {EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_WOW}, - .monSets = gSlateportBattleTentTrainerMons_Kyler + .monSet = gSlateportBattleTentTrainerMons_Kyler }, - [13] = { + [SLATEPORT_TENT_TRAINER_MAGGIE] = { .facilityClass = FACILITY_CLASS_SCHOOL_KID_F, .trainerName = _("MAGGIE"), .speechBefore = {EC_POKEMON(VULPIX), EC_POKEMON(XATU), EC_POKEMON2(UMBREON), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_WORD_ELLIPSIS}, .speechWin = {EC_POKEMON(NOSEPASS), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_POKEMON(SEVIPER), EC_WORD_EXCL, -1}, .speechLose = {EC_POKEMON(NOSEPASS), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_POKEMON2(SNORLAX), EC_WORD_ELLIPSIS, EC_WORD_UH_OH}, - .monSets = gSlateportBattleTentTrainerMons_Maggie + .monSet = gSlateportBattleTentTrainerMons_Maggie }, - [14] = { + [SLATEPORT_TENT_TRAINER_STEPHON] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_M, .trainerName = _("STEPHON"), .speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_ENJOY, EC_WORD_AN, EC_WORD_EGG}, .speechWin = {EC_WORD_I, EC_WORD_WILL, EC_WORD_ENJOY, EC_WORD_THIS, EC_WORD_TASTY, EC_WORD_VICTORY}, .speechLose = {EC_WORD_AWFUL, EC_WORD_EXCL_EXCL, -1, EC_WORD_JUST, EC_WORD_AWFUL, EC_WORD_EXCL_EXCL}, - .monSets = gSlateportBattleTentTrainerMons_Stephon + .monSet = gSlateportBattleTentTrainerMons_Stephon }, - [15] = { + [SLATEPORT_TENT_TRAINER_REBECCA] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_F, .trainerName = _("REBECCA"), .speechBefore = {EC_WORD_THAT, EC_WORD_EGG, EC_WORD_HAS, EC_WORD_A, EC_WORD_TASTY, EC_WORD_SHINE}, .speechWin = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_EXCL, EC_WORD_SMELL, EC_WORD_THAT, EC_WORD_STENCH}, .speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_STOP, EC_WORD_ELLIPSIS}, - .monSets = gSlateportBattleTentTrainerMons_Rebecca + .monSet = gSlateportBattleTentTrainerMons_Rebecca }, - [16] = { + [SLATEPORT_TENT_TRAINER_REGGIE] = { .facilityClass = FACILITY_CLASS_POKEFAN_M, .trainerName = _("REGGIE"), .speechBefore = {EC_WORD_POKEMON, EC_WORD_COME, EC_WORD_BEFORE, EC_WORD_MONEY, EC_WORD_OR, EC_WORD_FAMILY}, .speechWin = {EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_ME, EC_WORD_STRONG}, .speechLose = {EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_THICK, EC_WORD_ELLIPSIS}, - .monSets = gSlateportBattleTentTrainerMons_Reggie + .monSet = gSlateportBattleTentTrainerMons_Reggie }, - [17] = { + [SLATEPORT_TENT_TRAINER_JANAE] = { .facilityClass = FACILITY_CLASS_POKEFAN_F, .trainerName = _("JANAE"), .speechBefore = {EC_WORD_I, EC_WORD_JUST, EC_WORD_ADORE, EC_WORD_YOUR, EC_WORD_TOUGH, EC_WORD_LOOK}, .speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_HOW, EC_WORD_YOU, EC_MOVE2(STRUGGLE), -1}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_MEAN, EC_WORD_AND, EC_WORD_AWFUL, EC_WORD_TRAINER}, - .monSets = gSlateportBattleTentTrainerMons_Janae + .monSet = gSlateportBattleTentTrainerMons_Janae }, - [18] = { + [SLATEPORT_TENT_TRAINER_CAIDEN] = { .facilityClass = FACILITY_CLASS_EXPERT_M, .trainerName = _("CAIDEN"), .speechBefore = {EC_WORD_MY, EC_MOVE2(CURSE), EC_WORD_WILL, EC_WORD_BREAK, EC_WORD_YOUR, EC_WORD_SPIRIT}, .speechWin = {EC_MOVE2(CURSE), EC_WORD_QUES, EC_WORD_IT_S, EC_WORD_A, EC_WORD_LIE, EC_WORD_ELLIPSIS}, .speechLose = {EC_WORD_MY, EC_MOVE2(CURSE), EC_WORD_WILL, EC_WORD_LAST, EC_WORD_FOREVER, -1}, - .monSets = gSlateportBattleTentTrainerMons_Caiden + .monSet = gSlateportBattleTentTrainerMons_Caiden }, - [19] = { + [SLATEPORT_TENT_TRAINER_KIRSTEN] = { .facilityClass = FACILITY_CLASS_EXPERT_F, .trainerName = _("KIRSTEN"), .speechBefore = {EC_WORD_HUH_QUES, EC_WORD_A, EC_WORD_BATTLE, EC_WORD_YOU, EC_WORD_SAID, EC_WORD_QUES}, .speechWin = {EC_WORD_HUH_QUES, EC_WORD_STRONG, EC_WORD_BUT, EC_WORD_NOT, EC_WORD_STRONG, EC_WORD_ENOUGH}, .speechLose = {EC_WORD_HUH_QUES, EC_WORD_I, EC_WORD_SURRENDER, EC_WORD_TO, EC_WORD_YOUR, EC_MOVE(STRENGTH)}, - .monSets = gSlateportBattleTentTrainerMons_Kirsten + .monSet = gSlateportBattleTentTrainerMons_Kirsten }, - [20] = { + [SLATEPORT_TENT_TRAINER_KURTIS] = { .facilityClass = FACILITY_CLASS_YOUNGSTER, .trainerName = _("KURTIS"), .speechBefore = {EC_WORD_SORRY, EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_GET, EC_MOVE2(BEAT_UP)}, .speechWin = {EC_WORD_I, EC_WORD_SAID, EC_WORD_WE, EC_WORD_WOULD, EC_MOVE2(POUND), EC_WORD_YOU}, .speechLose = {EC_WORD_HOW, EC_WORD_DID, EC_WORD_I, EC_WORD_GET, EC_MOVE2(BEAT_UP), EC_WORD_QUES}, - .monSets = gSlateportBattleTentTrainerMons_Kurtis + .monSet = gSlateportBattleTentTrainerMons_Kurtis }, - [21] = { + [SLATEPORT_TENT_TRAINER_STEFAN] = { .facilityClass = FACILITY_CLASS_FISHERMAN, .trainerName = _("STEFAN"), .speechBefore = {EC_WORD_I, EC_WORD_ONLY, EC_WORD_WANT, EC_WORD_CUTE, EC_WORD_POKEMON, -1}, .speechWin = {EC_WORD_WHAT, EC_WORD_IS, EC_WORD_IT, EC_WORD_TO, EC_WORD_YOU, EC_WORD_QUES}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_KIND, EC_WORD_OF, EC_WORD_AWESOME, EC_WORD_ELLIPSIS, -1}, - .monSets = gSlateportBattleTentTrainerMons_Stefan + .monSet = gSlateportBattleTentTrainerMons_Stefan }, - [22] = { + [SLATEPORT_TENT_TRAINER_AVERY] = { .facilityClass = FACILITY_CLASS_BIRD_KEEPER, .trainerName = _("AVERY"), .speechBefore = {EC_WORD_TOYS, EC_WORD_EXCL, EC_WORD_I, EC_WORD_NEED, EC_WORD_MORE, EC_WORD_TOYS}, .speechWin = {EC_WORD_I, EC_WORD_NEED, EC_WORD_SOME, EC_WORD_EASY, EC_WORD_MONEY, EC_WORD_FAST}, .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_WORK, EC_WORD_FOR, EC_WORD_MONEY}, - .monSets = gSlateportBattleTentTrainerMons_Avery + .monSet = gSlateportBattleTentTrainerMons_Avery }, - [23] = { + [SLATEPORT_TENT_TRAINER_DWANE] = { .facilityClass = FACILITY_CLASS_NINJA_BOY, .trainerName = _("DWANE"), .speechBefore = {EC_WORD_MMM, EC_WORD_TASTY, EC_WORD_ELLIPSIS, EC_WORD_WONDER, EC_WORD_WHAT, EC_WORD_QUES}, .speechWin = {EC_WORD_MMM, EC_WORD_MMM, EC_WORD_ELLIPSIS, EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_KNOW}, .speechLose = {EC_WORD_MMM, EC_WORD_MMM, EC_WORD_ELLIPSIS, EC_WORD_OH_YEAH, EC_WORD_THIS_IS_IT_EXCL, -1}, - .monSets = gSlateportBattleTentTrainerMons_Dwane + .monSet = gSlateportBattleTentTrainerMons_Dwane }, - [24] = { + [SLATEPORT_TENT_TRAINER_MCKENNA] = { .facilityClass = FACILITY_CLASS_PARASOL_LADY, .trainerName = _("MCKENNA"), .speechBefore = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_SMALL, EC_WORD_TALK, EC_WORD_LET_S, EC_WORD_GO}, .speechWin = {EC_WORD_YUP, EC_WORD_THAT_S, EC_WORD_THAT, -1, -1, -1}, .speechLose = {EC_WORD_KTHX_BYE, -1, -1, -1, -1, -1}, - .monSets = gSlateportBattleTentTrainerMons_Mckenna + .monSet = gSlateportBattleTentTrainerMons_Mckenna }, - [25] = { + [SLATEPORT_TENT_TRAINER_CAMRYN] = { .facilityClass = FACILITY_CLASS_SWIMMER_F, .trainerName = _("CAMRYN"), .speechBefore = {EC_WORD_MR, EC_WORD_JUDGE, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_OUR, EC_WORD_TRUST}, .speechWin = {EC_WORD_YES_SIR_EXCL, EC_WORD_WE_RE, EC_WORD_NO_1, EC_WORD_IN, EC_WORD_THIS, EC_WORD_CONTEST}, .speechLose = {EC_WORD_I, EC_WORD_WON_T, EC_WORD_GIVE_UP, EC_WORD_MY, EC_WORD_IDOL, EC_WORD_DREAM}, - .monSets = gSlateportBattleTentTrainerMons_Camryn + .monSet = gSlateportBattleTentTrainerMons_Camryn }, - [26] = { + [SLATEPORT_TENT_TRAINER_NATASHA] = { .facilityClass = FACILITY_CLASS_PICNICKER, .trainerName = _("NATASHA"), .speechBefore = {EC_WORD_COME_OVER, EC_WORD_TO, EC_WORD_MY, EC_WORD_PLACE, EC_WORD_OK_QUES, -1}, .speechWin = {EC_WORD_COME_ON, EC_WORD_OVER, EC_WORD_IT, EC_WORD_WILL, EC_WORD_BE, EC_WORD_GREAT}, .speechLose = {EC_WORD_AWW, EC_WORD_WON_T, EC_WORD_YOU, EC_WORD_COME_OVER, EC_WORD_QUES, -1}, - .monSets = gSlateportBattleTentTrainerMons_Natasha + .monSet = gSlateportBattleTentTrainerMons_Natasha }, - [27] = { + [SLATEPORT_TENT_TRAINER_AUSTYN] = { .facilityClass = FACILITY_CLASS_SAILOR, .trainerName = _("AUSTYN"), .speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_CARE, EC_WORD_HOW, EC_WORD_WE, EC_WORD_MATCH_UP}, .speechWin = {EC_WORD_HAH, EC_WORD_BACK, EC_WORD_TO, EC_WORD_SCHOOL, EC_WORD_FOR, EC_WORD_YOU}, .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_MY, EC_WORD_LESSONS}, - .monSets = gSlateportBattleTentTrainerMons_Austyn + .monSet = gSlateportBattleTentTrainerMons_Austyn }, - [28] = { + [SLATEPORT_TENT_TRAINER_DONOVAN] = { .facilityClass = FACILITY_CLASS_COLLECTOR, .trainerName = _("DONOVAN"), .speechBefore = {EC_WORD_OH, EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_SLIMY, EC_WORD_ALL, EC_WORD_OVER}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_DOWN, EC_WORD_THE, EC_MOVE2(MEGA_DRAIN), EC_WORD_HAHAHA}, .speechLose = {EC_WORD_I_AM, EC_WORD_NATURALLY, EC_WORD_SLIMY, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM}, - .monSets = gSlateportBattleTentTrainerMons_Donovan + .monSet = gSlateportBattleTentTrainerMons_Donovan }, - [29] = { + [SLATEPORT_TENT_TRAINER_TAMIA] = { .facilityClass = FACILITY_CLASS_LASS, .trainerName = _("TAMIA"), .speechBefore = {EC_WORD_I_AM, EC_WORD_ANGRY, EC_WORD_WITH, EC_WORD_MY, EC_WORD_FATHER, EC_WORD_ELLIPSIS}, .speechWin = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_DISLIKE, EC_WORD_MY, EC_WORD_FATHER, EC_WORD_EXCL}, .speechLose = {EC_WORD_I, EC_WORD_JUST, EC_WORD_SO, EC_WORD_ADORE, EC_WORD_MY, EC_WORD_FATHER}, - .monSets = gSlateportBattleTentTrainerMons_Tamia + .monSet = gSlateportBattleTentTrainerMons_Tamia } }; -const struct FacilityMon gSlateportBattleTentMons[] = +const struct FacilityMon gSlateportBattleTentMons[NUM_SLATEPORT_TENT_MONS] = { - [0] = { + [SLATEPORT_TENT_MON_ZIGZAGOON_1] = { .species = SPECIES_ZIGZAGOON, .moves = {MOVE_TACKLE, MOVE_CHARM, MOVE_ODOR_SLEUTH, MOVE_PIN_MISSILE}, .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_JOLLY }, - [1] = { + [SLATEPORT_TENT_MON_ZIGZAGOON_2] = { .species = SPECIES_ZIGZAGOON, .moves = {MOVE_DIG, MOVE_MUD_SPORT, MOVE_TAIL_WHIP, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_JOLLY }, - [2] = { + [SLATEPORT_TENT_MON_BEAUTIFLY] = { .species = SPECIES_BEAUTIFLY, .moves = {MOVE_STUN_SPORE, MOVE_MEGA_DRAIN, MOVE_GUST, MOVE_HARDEN}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [3] = { + [SLATEPORT_TENT_MON_DUSTOX] = { .species = SPECIES_DUSTOX, .moves = {MOVE_POISON_STING, MOVE_MOONLIGHT, MOVE_PROTECT, MOVE_GUST}, .itemTableId = BATTLE_FRONTIER_ITEM_ORAN_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [4] = { + [SLATEPORT_TENT_MON_WAILMER_1] = { .species = SPECIES_WAILMER, .moves = {MOVE_ROLLOUT, MOVE_CURSE, MOVE_GROWL, MOVE_WHIRLPOOL}, .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [5] = { + [SLATEPORT_TENT_MON_WAILMER_2] = { .species = SPECIES_WAILMER, .moves = {MOVE_ROLLOUT, MOVE_GROWL, MOVE_WHIRLPOOL, MOVE_WATER_PULSE}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [6] = { + [SLATEPORT_TENT_MON_MARILL_1] = { .species = SPECIES_MARILL, .moves = {MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_TAIL_WHIP, MOVE_BUBBLE_BEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_IMPISH }, - [7] = { + [SLATEPORT_TENT_MON_WINGULL_1] = { .species = SPECIES_WINGULL, .moves = {MOVE_SUPERSONIC, MOVE_GROWL, MOVE_WING_ATTACK, MOVE_STEEL_WING}, .itemTableId = BATTLE_FRONTIER_ITEM_METAL_COAT, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_NAIVE }, - [8] = { + [SLATEPORT_TENT_MON_PELIPPER_1] = { .species = SPECIES_PELIPPER, .moves = {MOVE_TWISTER, MOVE_WATER_SPORT, MOVE_GROWL, MOVE_WING_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_DRAGON_FANG, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [9] = { + [SLATEPORT_TENT_MON_CACNEA_1] = { .species = SPECIES_CACNEA, .moves = {MOVE_SANDSTORM, MOVE_LEER, MOVE_LEECH_SEED, MOVE_PIN_MISSILE}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SPEED, .nature = NATURE_JOLLY }, - [10] = { + [SLATEPORT_TENT_MON_LOMBRE_1] = { .species = SPECIES_LOMBRE, .moves = {MOVE_ASTONISH, MOVE_WATER_GUN, MOVE_FAKE_OUT, MOVE_ABSORB}, .itemTableId = BATTLE_FRONTIER_ITEM_MIRACLE_SEED, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [11] = { + [SLATEPORT_TENT_MON_LOTAD] = { .species = SPECIES_LOTAD, .moves = {MOVE_SYNTHESIS, MOVE_NATURE_POWER, MOVE_RAIN_DANCE, MOVE_MEGA_DRAIN}, .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_DOCILE }, - [12] = { + [SLATEPORT_TENT_MON_SEEDOT] = { .species = SPECIES_SEEDOT, .moves = {MOVE_SUNNY_DAY, MOVE_SYNTHESIS, MOVE_LEECH_SEED, MOVE_BIDE}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_TIMID }, - [13] = { + [SLATEPORT_TENT_MON_NUZLEAF] = { .species = SPECIES_NUZLEAF, .moves = {MOVE_FAKE_OUT, MOVE_NATURE_POWER, MOVE_HARDEN, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_LONELY }, - [14] = { + [SLATEPORT_TENT_MON_NINJASK_1] = { .species = SPECIES_NINJASK, .moves = {MOVE_FURY_CUTTER, MOVE_SCREECH, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [15] = { + [SLATEPORT_TENT_MON_NINJASK_2] = { .species = SPECIES_NINJASK, .moves = {MOVE_FURY_CUTTER, MOVE_DOUBLE_TEAM, MOVE_SCREECH, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_SILVER_POWDER, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_NAUGHTY }, - [16] = { + [SLATEPORT_TENT_MON_GRAVELER] = { .species = SPECIES_GRAVELER, .moves = {MOVE_MUD_SPORT, MOVE_BLOCK, MOVE_ROCK_TOMB, MOVE_MAGNITUDE}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_BRAVE }, - [17] = { + [SLATEPORT_TENT_MON_BALTOY] = { .species = SPECIES_BALTOY, .moves = {MOVE_SELF_DESTRUCT, MOVE_ANCIENT_POWER, MOVE_PSYBEAM, MOVE_REFLECT}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_NAIVE }, - [18] = { + [SLATEPORT_TENT_MON_MIGHTYENA_1] = { .species = SPECIES_MIGHTYENA, .moves = {MOVE_BITE, MOVE_ROAR, MOVE_SWAGGER, MOVE_TACKLE}, .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_GLASSES, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_CALM }, - [19] = { + [SLATEPORT_TENT_MON_MIGHTYENA_2] = { .species = SPECIES_MIGHTYENA, .moves = {MOVE_ODOR_SLEUTH, MOVE_HOWL, MOVE_SAND_ATTACK, MOVE_POISON_FANG}, .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_LONELY }, - [20] = { + [SLATEPORT_TENT_MON_LINOONE] = { .species = SPECIES_LINOONE, .moves = {MOVE_HEADBUTT, MOVE_TICKLE, MOVE_TAIL_WHIP, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_JOLLY }, - [21] = { + [SLATEPORT_TENT_MON_GOLDEEN] = { .species = SPECIES_GOLDEEN, .moves = {MOVE_WATER_SPORT, MOVE_HORN_ATTACK, MOVE_WATERFALL, MOVE_SUPERSONIC}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_CALM }, - [22] = { + [SLATEPORT_TENT_MON_ELECTRIKE_1] = { .species = SPECIES_ELECTRIKE, .moves = {MOVE_BITE, MOVE_SPARK, MOVE_ROAR, MOVE_FLASH}, .itemTableId = BATTLE_FRONTIER_ITEM_MAGNET, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_MODEST }, - [23] = { + [SLATEPORT_TENT_MON_VOLTORB] = { .species = SPECIES_VOLTORB, .moves = {MOVE_SPARK, MOVE_ROLLOUT, MOVE_CHARGE, MOVE_SCREECH}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, .nature = NATURE_MILD }, - [24] = { + [SLATEPORT_TENT_MON_ARON_1] = { .species = SPECIES_ARON, .moves = {MOVE_DIG, MOVE_METAL_CLAW, MOVE_IRON_DEFENSE, MOVE_ENDEAVOR}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_NAUGHTY }, - [25] = { + [SLATEPORT_TENT_MON_ARON_2] = { .species = SPECIES_ARON, .moves = {MOVE_MUD_SLAP, MOVE_IRON_TAIL, MOVE_HARDEN, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_LEPPA_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [26] = { + [SLATEPORT_TENT_MON_TRAPINCH_1] = { .species = SPECIES_TRAPINCH, .moves = {MOVE_BODY_SLAM, MOVE_FOCUS_ENERGY, MOVE_SAND_TOMB, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_BRAVE }, - [27] = { + [SLATEPORT_TENT_MON_CACNEA_2] = { .species = SPECIES_CACNEA, .moves = {MOVE_INGRAIN, MOVE_SANDSTORM, MOVE_POISON_STING, MOVE_DESTINY_BOND}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_TIMID }, - [28] = { + [SLATEPORT_TENT_MON_TAILLOW] = { .species = SPECIES_TAILLOW, .moves = {MOVE_GROWL, MOVE_AERIAL_ACE, MOVE_AGILITY, MOVE_ENDEAVOR}, .itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [29] = { + [SLATEPORT_TENT_MON_SWELLOW] = { .species = SPECIES_SWELLOW, .moves = {MOVE_SUPERSONIC, MOVE_GROWL, MOVE_FOCUS_ENERGY, MOVE_PECK}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_IMPISH }, - [30] = { + [SLATEPORT_TENT_MON_GOLBAT_1] = { .species = SPECIES_GOLBAT, .moves = {MOVE_ASTONISH, MOVE_GUST, MOVE_MEAN_LOOK, MOVE_CONFUSE_RAY}, .itemTableId = BATTLE_FRONTIER_ITEM_SPELL_TAG, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, .nature = NATURE_TIMID }, - [31] = { + [SLATEPORT_TENT_MON_LOUDRED] = { .species = SPECIES_LOUDRED, .moves = {MOVE_ASTONISH, MOVE_SCREECH, MOVE_UPROAR, MOVE_SUPERSONIC}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [32] = { + [SLATEPORT_TENT_MON_SPINDA] = { .species = SPECIES_SPINDA, .moves = {MOVE_DIZZY_PUNCH, MOVE_FAINT_ATTACK, MOVE_HYPNOSIS, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [33] = { + [SLATEPORT_TENT_MON_MAGNEMITE] = { .species = SPECIES_MAGNEMITE, .moves = {MOVE_METAL_SOUND, MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SPARK}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_SERIOUS }, - [34] = { + [SLATEPORT_TENT_MON_WHISMUR] = { .species = SPECIES_WHISMUR, .moves = {MOVE_REST, MOVE_SLEEP_TALK, MOVE_HOWL, MOVE_BODY_SLAM}, .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [35] = { + [SLATEPORT_TENT_MON_MAKUHITA] = { .species = SPECIES_MAKUHITA, .moves = {MOVE_SAND_ATTACK, MOVE_KNOCK_OFF, MOVE_ARM_THRUST, MOVE_BELLY_DRUM}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [36] = { + [SLATEPORT_TENT_MON_NUMEL_1] = { .species = SPECIES_NUMEL, .moves = {MOVE_EMBER, MOVE_TAKE_DOWN, MOVE_GROWL, MOVE_FOCUS_ENERGY}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_MODEST }, - [37] = { + [SLATEPORT_TENT_MON_BARBOACH] = { .species = SPECIES_BARBOACH, .moves = {MOVE_MAGNITUDE, MOVE_MUD_SPORT, MOVE_WATER_SPORT, MOVE_WATER_GUN}, .itemTableId = BATTLE_FRONTIER_ITEM_SEA_INCENSE, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_JOLLY }, - [38] = { + [SLATEPORT_TENT_MON_TENTACOOL] = { .species = SPECIES_TENTACOOL, .moves = {MOVE_SCREECH, MOVE_BUBBLE_BEAM, MOVE_ACID, MOVE_BARRIER}, .itemTableId = BATTLE_FRONTIER_ITEM_POISON_BARB, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [39] = { + [SLATEPORT_TENT_MON_VIGOROTH] = { .species = SPECIES_VIGOROTH, .moves = {MOVE_FOCUS_ENERGY, MOVE_FURY_SWIPES, MOVE_ENDURE, MOVE_YAWN}, .itemTableId = BATTLE_FRONTIER_ITEM_AGUAV_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [40] = { + [SLATEPORT_TENT_MON_MAGIKARP] = { .species = SPECIES_MAGIKARP, .moves = {MOVE_TACKLE, MOVE_FLAIL, MOVE_SPLASH, MOVE_NONE}, .itemTableId = BATTLE_FRONTIER_ITEM_DRAGON_SCALE, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [41] = { + [SLATEPORT_TENT_MON_SEVIPER_1] = { .species = SPECIES_SEVIPER, .moves = {MOVE_LICK, MOVE_POISON_FANG, MOVE_GLARE, MOVE_WRAP}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [42] = { + [SLATEPORT_TENT_MON_SOLROCK] = { .species = SPECIES_SOLROCK, .moves = {MOVE_ROCK_THROW, MOVE_HARDEN, MOVE_PSYWAVE, MOVE_TACKLE}, .itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [43] = { + [SLATEPORT_TENT_MON_KECLEON_1] = { .species = SPECIES_KECLEON, .moves = {MOVE_PSYBEAM, MOVE_SUBSTITUTE, MOVE_THIEF, MOVE_TAIL_WHIP}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [44] = { + [SLATEPORT_TENT_MON_KECLEON_2] = { .species = SPECIES_KECLEON, .moves = {MOVE_FAINT_ATTACK, MOVE_ASTONISH, MOVE_LICK, MOVE_SCREECH}, .itemTableId = BATTLE_FRONTIER_ITEM_IAPAPA_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CALM }, - [45] = { + [SLATEPORT_TENT_MON_SHROOMISH_1] = { .species = SPECIES_SHROOMISH, .moves = {MOVE_STUN_SPORE, MOVE_TACKLE, MOVE_LEECH_SEED, MOVE_MEGA_DRAIN}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [46] = { + [SLATEPORT_TENT_MON_SHROOMISH_2] = { .species = SPECIES_SHROOMISH, .moves = {MOVE_ABSORB, MOVE_STUN_SPORE, MOVE_SPORE, MOVE_LEECH_SEED}, .itemTableId = BATTLE_FRONTIER_ITEM_FIGY_BERRY, .evSpread = F_EV_SPREAD_ATTACK, .nature = NATURE_BRAVE }, - [47] = { + [SLATEPORT_TENT_MON_LOMBRE_2] = { .species = SPECIES_LOMBRE, .moves = {MOVE_NATURE_POWER, MOVE_ASTONISH, MOVE_GROWL, MOVE_ABSORB}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_LONELY }, - [48] = { + [SLATEPORT_TENT_MON_NUMEL_2] = { .species = SPECIES_NUMEL, .moves = {MOVE_EMBER, MOVE_GROWL, MOVE_EARTHQUAKE, MOVE_SUNNY_DAY}, .itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [49] = { + [SLATEPORT_TENT_MON_TRAPINCH_2] = { .species = SPECIES_TRAPINCH, .moves = {MOVE_FAINT_ATTACK, MOVE_DIG, MOVE_BITE, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_ASPEAR_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_BRAVE }, - [50] = { + [SLATEPORT_TENT_MON_PELIPPER_2] = { .species = SPECIES_PELIPPER, .moves = {MOVE_WING_ATTACK, MOVE_SUPERSONIC, MOVE_MIST, MOVE_AGILITY}, .itemTableId = BATTLE_FRONTIER_ITEM_WIKI_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [51] = { + [SLATEPORT_TENT_MON_WINGULL_2] = { .species = SPECIES_WINGULL, .moves = {MOVE_WATER_GUN, MOVE_SUPERSONIC, MOVE_GROWL, MOVE_ICY_WIND}, .itemTableId = BATTLE_FRONTIER_ITEM_NEVER_MELT_ICE, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [52] = { + [SLATEPORT_TENT_MON_MARILL_2] = { .species = SPECIES_MARILL, .moves = {MOVE_DOUBLE_EDGE, MOVE_RAIN_DANCE, MOVE_TAIL_WHIP, MOVE_WATER_GUN}, .itemTableId = BATTLE_FRONTIER_ITEM_GANLON_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [53] = { + [SLATEPORT_TENT_MON_SKITTY] = { .species = SPECIES_SKITTY, .moves = {MOVE_ASSIST, MOVE_ATTRACT, MOVE_SING, MOVE_CHARM}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_CAREFUL }, - [54] = { + [SLATEPORT_TENT_MON_SEVIPER_2] = { .species = SPECIES_SEVIPER, .moves = {MOVE_SWAGGER, MOVE_WRAP, MOVE_POISON_TAIL, MOVE_HAZE}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, .nature = NATURE_BRAVE }, - [55] = { + [SLATEPORT_TENT_MON_GOLBAT_2] = { .species = SPECIES_GOLBAT, .moves = {MOVE_BITE, MOVE_TORMENT, MOVE_SCREECH, MOVE_POISON_FANG}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_HARDY }, - [56] = { + [SLATEPORT_TENT_MON_RALTS] = { .species = SPECIES_RALTS, .moves = {MOVE_HYPNOSIS, MOVE_IMPRISON, MOVE_PSYCHIC, MOVE_DREAM_EATER}, .itemTableId = BATTLE_FRONTIER_ITEM_MAGO_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_TIMID }, - [57] = { + [SLATEPORT_TENT_MON_SANDSHREW] = { .species = SPECIES_SANDSHREW, .moves = {MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_SAND_TOMB, MOVE_DEFENSE_CURL}, .itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND, .evSpread = 0, .nature = NATURE_HARDY }, - [58] = { + [SLATEPORT_TENT_MON_SWALOT] = { .species = SPECIES_SWALOT, .moves = {MOVE_YAWN, MOVE_SLUDGE, MOVE_ENCORE, MOVE_POUND}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_IMPISH }, - [59] = { + [SLATEPORT_TENT_MON_VOLBEAT] = { .species = SPECIES_VOLBEAT, .moves = {MOVE_TACKLE, MOVE_CONFUSE_RAY, MOVE_QUICK_ATTACK, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [60] = { + [SLATEPORT_TENT_MON_ILLUMISE] = { .species = SPECIES_ILLUMISE, .moves = {MOVE_CHARM, MOVE_TACKLE, MOVE_ENCORE, MOVE_MOONLIGHT}, .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [61] = { + [SLATEPORT_TENT_MON_KADABRA] = { .species = SPECIES_KADABRA, .moves = {MOVE_DISABLE, MOVE_CONFUSION, MOVE_REFLECT, MOVE_RECOVER}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_QUIRKY }, - [62] = { + [SLATEPORT_TENT_MON_KIRLIA] = { .species = SPECIES_KIRLIA, .moves = {MOVE_CALM_MIND, MOVE_CONFUSION, MOVE_DOUBLE_TEAM, MOVE_GROWL}, .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_CAREFUL }, - [63] = { + [SLATEPORT_TENT_MON_BRELOOM] = { .species = SPECIES_BRELOOM, .moves = {MOVE_ABSORB, MOVE_TACKLE, MOVE_STUN_SPORE, MOVE_MEGA_DRAIN}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_NAIVE }, - [64] = { + [SLATEPORT_TENT_MON_PLUSLE_1] = { .species = SPECIES_PLUSLE, .moves = {MOVE_SPARK, MOVE_ENCORE, MOVE_THUNDER_WAVE, MOVE_GROWL}, .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_LONELY }, - [65] = { + [SLATEPORT_TENT_MON_PLUSLE_2] = { .species = SPECIES_PLUSLE, .moves = {MOVE_SPARK, MOVE_FAKE_TEARS, MOVE_SUBSTITUTE, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MILD }, - [66] = { + [SLATEPORT_TENT_MON_ELECTRIKE_2] = { .species = SPECIES_ELECTRIKE, .moves = {MOVE_SPARK, MOVE_CHARGE, MOVE_ROAR, MOVE_THUNDER_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_APICOT_BERRY, .evSpread = F_EV_SPREAD_SPEED, .nature = NATURE_TIMID }, - [67] = { + [SLATEPORT_TENT_MON_SWABLU] = { .species = SPECIES_SWABLU, .moves = {MOVE_SING, MOVE_PECK, MOVE_STEEL_WING, MOVE_SAFEGUARD}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_JOLLY }, - [68] = { + [SLATEPORT_TENT_MON_MACHOP] = { .species = SPECIES_MACHOP, .moves = {MOVE_FOCUS_ENERGY, MOVE_VITAL_THROW, MOVE_SEISMIC_TOSS, MOVE_FORESIGHT}, .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [69] = { + [SLATEPORT_TENT_MON_MACHOKE] = { .species = SPECIES_MACHOKE, .moves = {MOVE_FOCUS_ENERGY, MOVE_LEER, MOVE_KARATE_CHOP, MOVE_FORESIGHT}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, @@ -1248,873 +1248,873 @@ const struct FacilityMon gSlateportBattleTentMons[] = // Verdanturf Battle Tent. const u16 gVerdanturfBattleTentTrainerMons_Brenna[] = { - 4, - 11, - 13, - 18, - 26, + VERDANTURF_TENT_MON_SHROOMISH, + VERDANTURF_TENT_MON_SWALOT, + VERDANTURF_TENT_MON_BALTOY, + VERDANTURF_TENT_MON_LOTAD, + VERDANTURF_TENT_MON_NUZLEAF, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Dilan[] = { - 30, - 37, - 13, - 29, - 42, + VERDANTURF_TENT_MON_GRAVELER, + VERDANTURF_TENT_MON_TRAPINCH, + VERDANTURF_TENT_MON_BALTOY, + VERDANTURF_TENT_MON_SOLROCK, + VERDANTURF_TENT_MON_MACHOKE, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Eliana[] = { - 6, - 7, - 17, - 18, - 40, + VERDANTURF_TENT_MON_MAGIKARP, + VERDANTURF_TENT_MON_BARBOACH, + VERDANTURF_TENT_MON_GOLDEEN_1, + VERDANTURF_TENT_MON_LOTAD, + VERDANTURF_TENT_MON_WAILMER, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Markus[] = { - 6, - 7, - 18, - 24, - 38, + VERDANTURF_TENT_MON_MAGIKARP, + VERDANTURF_TENT_MON_BARBOACH, + VERDANTURF_TENT_MON_LOTAD, + VERDANTURF_TENT_MON_GOLDEEN_2, + VERDANTURF_TENT_MON_TENTACOOL, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Caitlyn[] = { - 0, - 12, - 25, - 28, - 22, - 44, + VERDANTURF_TENT_MON_POOCHYENA, + VERDANTURF_TENT_MON_KECLEON, + VERDANTURF_TENT_MON_ELECTRIKE, + VERDANTURF_TENT_MON_MIGHTYENA, + VERDANTURF_TENT_MON_SKARMORY, + VERDANTURF_TENT_MON_CACNEA, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Desiree[] = { - 8, - 12, - 21, - 22, - 31, + VERDANTURF_TENT_MON_WINGULL, + VERDANTURF_TENT_MON_KECLEON, + VERDANTURF_TENT_MON_SEVIPER, + VERDANTURF_TENT_MON_SKARMORY, + VERDANTURF_TENT_MON_KADABRA, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Ronald[] = { - 1, - 20, - 23, - 25, - 32, + VERDANTURF_TENT_MON_ZIGZAGOON, + VERDANTURF_TENT_MON_LINOONE, + VERDANTURF_TENT_MON_SWELLOW, + VERDANTURF_TENT_MON_ELECTRIKE, + VERDANTURF_TENT_MON_VOLTORB, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Ashten[] = { - 9, - 12, - 27, - 37, - 43, + VERDANTURF_TENT_MON_ARON_1, + VERDANTURF_TENT_MON_KECLEON, + VERDANTURF_TENT_MON_ARON_2, + VERDANTURF_TENT_MON_TRAPINCH, + VERDANTURF_TENT_MON_WHISMUR, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Gerard[] = { - 36, - 7, - 34, - 6, - 40, + VERDANTURF_TENT_MON_MARILL, + VERDANTURF_TENT_MON_BARBOACH, + VERDANTURF_TENT_MON_PELIPPER, + VERDANTURF_TENT_MON_MAGIKARP, + VERDANTURF_TENT_MON_WAILMER, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Bradly[] = { - 26, - 3, - 0, - 2, - 17, + VERDANTURF_TENT_MON_NUZLEAF, + VERDANTURF_TENT_MON_TAILLOW, + VERDANTURF_TENT_MON_POOCHYENA, + VERDANTURF_TENT_MON_DUSTOX, + VERDANTURF_TENT_MON_GOLDEEN_1, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Dennis[] = { - 14, - 37, - 2, - 38, - 27, + VERDANTURF_TENT_MON_NINJASK, + VERDANTURF_TENT_MON_TRAPINCH, + VERDANTURF_TENT_MON_DUSTOX, + VERDANTURF_TENT_MON_TENTACOOL, + VERDANTURF_TENT_MON_ARON_2, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Prestin[] = { - 31, - 28, - 22, - 25, - 44, - 43, - 41, + VERDANTURF_TENT_MON_KADABRA, + VERDANTURF_TENT_MON_MIGHTYENA, + VERDANTURF_TENT_MON_SKARMORY, + VERDANTURF_TENT_MON_ELECTRIKE, + VERDANTURF_TENT_MON_CACNEA, + VERDANTURF_TENT_MON_WHISMUR, + VERDANTURF_TENT_MON_ILLUMISE, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Ernesto[] = { - 33, - 32, - 25, - 35, - 34, + VERDANTURF_TENT_MON_MAGNEMITE, + VERDANTURF_TENT_MON_VOLTORB, + VERDANTURF_TENT_MON_ELECTRIKE, + VERDANTURF_TENT_MON_LOUDRED, + VERDANTURF_TENT_MON_PELIPPER, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Nala[] = { - 1, - 4, - 8, - 11, - 17, - 40, - 34, + VERDANTURF_TENT_MON_ZIGZAGOON, + VERDANTURF_TENT_MON_SHROOMISH, + VERDANTURF_TENT_MON_WINGULL, + VERDANTURF_TENT_MON_SWALOT, + VERDANTURF_TENT_MON_GOLDEEN_1, + VERDANTURF_TENT_MON_WAILMER, + VERDANTURF_TENT_MON_PELIPPER, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Darnell[] = { - 0, - 29, - 35, - 37, - 39, - 43, + VERDANTURF_TENT_MON_POOCHYENA, + VERDANTURF_TENT_MON_SOLROCK, + VERDANTURF_TENT_MON_LOUDRED, + VERDANTURF_TENT_MON_TRAPINCH, + VERDANTURF_TENT_MON_VIGOROTH, + VERDANTURF_TENT_MON_WHISMUR, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Ashlyn[] = { - 29, - 36, - 32, - 30, - 17, - 6, - 44, + VERDANTURF_TENT_MON_SOLROCK, + VERDANTURF_TENT_MON_MARILL, + VERDANTURF_TENT_MON_VOLTORB, + VERDANTURF_TENT_MON_GRAVELER, + VERDANTURF_TENT_MON_GOLDEEN_1, + VERDANTURF_TENT_MON_MAGIKARP, + VERDANTURF_TENT_MON_CACNEA, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Addison[] = { - 0, - 1, - 16, - 31, - 6, + VERDANTURF_TENT_MON_POOCHYENA, + VERDANTURF_TENT_MON_ZIGZAGOON, + VERDANTURF_TENT_MON_SWABLU, + VERDANTURF_TENT_MON_KADABRA, + VERDANTURF_TENT_MON_MAGIKARP, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Justine[] = { - 0, - 1, - 16, - 36, - 18, + VERDANTURF_TENT_MON_POOCHYENA, + VERDANTURF_TENT_MON_ZIGZAGOON, + VERDANTURF_TENT_MON_SWABLU, + VERDANTURF_TENT_MON_MARILL, + VERDANTURF_TENT_MON_LOTAD, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Tyson[] = { - 5, - 15, - 22, - 30, - 16, - 39, - 43, + VERDANTURF_TENT_MON_MACHOP, + VERDANTURF_TENT_MON_MAKUHITA, + VERDANTURF_TENT_MON_SKARMORY, + VERDANTURF_TENT_MON_GRAVELER, + VERDANTURF_TENT_MON_SWABLU, + VERDANTURF_TENT_MON_VIGOROTH, + VERDANTURF_TENT_MON_WHISMUR, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Laila[] = { - 5, - 15, - 19, - 24, - 41, - 43, + VERDANTURF_TENT_MON_MACHOP, + VERDANTURF_TENT_MON_MAKUHITA, + VERDANTURF_TENT_MON_NUMEL_2, + VERDANTURF_TENT_MON_GOLDEEN_2, + VERDANTURF_TENT_MON_ILLUMISE, + VERDANTURF_TENT_MON_WHISMUR, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Waren[] = { - 0, - 9, - 10, - 11, - 23, + VERDANTURF_TENT_MON_POOCHYENA, + VERDANTURF_TENT_MON_ARON_1, + VERDANTURF_TENT_MON_NUMEL_1, + VERDANTURF_TENT_MON_SWALOT, + VERDANTURF_TENT_MON_SWELLOW, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Tobias[] = { - 6, - 7, - 24, - 38, - 40, + VERDANTURF_TENT_MON_MAGIKARP, + VERDANTURF_TENT_MON_BARBOACH, + VERDANTURF_TENT_MON_GOLDEEN_2, + VERDANTURF_TENT_MON_TENTACOOL, + VERDANTURF_TENT_MON_WAILMER, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Josiah[] = { - 8, - 16, - 23, - 34, - 3, + VERDANTURF_TENT_MON_WINGULL, + VERDANTURF_TENT_MON_SWABLU, + VERDANTURF_TENT_MON_SWELLOW, + VERDANTURF_TENT_MON_PELIPPER, + VERDANTURF_TENT_MON_TAILLOW, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Dion[] = { - 14, - 2, - 11, - 39, - 21, - 38, + VERDANTURF_TENT_MON_NINJASK, + VERDANTURF_TENT_MON_DUSTOX, + VERDANTURF_TENT_MON_SWALOT, + VERDANTURF_TENT_MON_VIGOROTH, + VERDANTURF_TENT_MON_SEVIPER, + VERDANTURF_TENT_MON_TENTACOOL, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Kenzie[] = { - 18, - 10, - 16, - 26, - 25, - 27, + VERDANTURF_TENT_MON_LOTAD, + VERDANTURF_TENT_MON_NUMEL_1, + VERDANTURF_TENT_MON_SWABLU, + VERDANTURF_TENT_MON_NUZLEAF, + VERDANTURF_TENT_MON_ELECTRIKE, + VERDANTURF_TENT_MON_ARON_2, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Lillian[] = { - 24, - 34, - 36, - 38, - 5, + VERDANTURF_TENT_MON_GOLDEEN_2, + VERDANTURF_TENT_MON_PELIPPER, + VERDANTURF_TENT_MON_MARILL, + VERDANTURF_TENT_MON_TENTACOOL, + VERDANTURF_TENT_MON_MACHOP, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Lesley[] = { - 26, - 0, - 18, - 13, - 25, + VERDANTURF_TENT_MON_NUZLEAF, + VERDANTURF_TENT_MON_POOCHYENA, + VERDANTURF_TENT_MON_LOTAD, + VERDANTURF_TENT_MON_BALTOY, + VERDANTURF_TENT_MON_ELECTRIKE, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Marquis[] = { - 24, - 34, - 5, - 15, - 7, - 42, + VERDANTURF_TENT_MON_GOLDEEN_2, + VERDANTURF_TENT_MON_PELIPPER, + VERDANTURF_TENT_MON_MACHOP, + VERDANTURF_TENT_MON_MAKUHITA, + VERDANTURF_TENT_MON_BARBOACH, + VERDANTURF_TENT_MON_MACHOKE, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Freddy[] = { - 18, - 21, - 26, - 29, - 41, + VERDANTURF_TENT_MON_LOTAD, + VERDANTURF_TENT_MON_SEVIPER, + VERDANTURF_TENT_MON_NUZLEAF, + VERDANTURF_TENT_MON_SOLROCK, + VERDANTURF_TENT_MON_ILLUMISE, -1 }; const u16 gVerdanturfBattleTentTrainerMons_Cecilia[] = { - 23, - 26, - 27, - 28, - 31, + VERDANTURF_TENT_MON_SWELLOW, + VERDANTURF_TENT_MON_NUZLEAF, + VERDANTURF_TENT_MON_ARON_2, + VERDANTURF_TENT_MON_MIGHTYENA, + VERDANTURF_TENT_MON_KADABRA, -1 }; -const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] = +const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] = { - [0] = { + [VERDANTURF_TENT_TRAINER_BRENNA] = { .facilityClass = FACILITY_CLASS_AROMA_LADY, .trainerName = _("BRENNA"), .speechBefore = {EC_WORD_NO, EC_WORD_DAYS, EC_WORD_GO, EC_WORD_WITHOUT, EC_WORD_MY, EC_MOVE(FAKE_TEARS)}, .speechWin = {EC_WORD_OH, EC_WORD_THAT_WAS, EC_WORD_SO, EC_WORD_REFRESHING, EC_WORD_EXCL, -1}, .speechLose = {EC_WORD_ALL, EC_WORD_I, EC_WORD_EVER, EC_WORD_GET, EC_WORD_IS, EC_MOVE(TORMENT)}, - .monSets = gVerdanturfBattleTentTrainerMons_Brenna + .monSet = gVerdanturfBattleTentTrainerMons_Brenna }, - [1] = { + [VERDANTURF_TENT_TRAINER_DILAN] = { .facilityClass = FACILITY_CLASS_RUIN_MANIAC, .trainerName = _("DILAN"), .speechBefore = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_HOW, EC_WORD_BORED, EC_WORD_I_AM}, .speechWin = {EC_WORD_LOSING, EC_WORD_ISN_T, EC_WORD_EXCITING, EC_WORD_AT, EC_WORD_ALL, EC_WORD_ELLIPSIS}, .speechLose = {EC_WORD_EXCITING, EC_WORD_EXCL_EXCL, EC_WORD_BYE_BYE, EC_WORD_TO, EC_WORD_BEING, EC_WORD_BORED}, - .monSets = gVerdanturfBattleTentTrainerMons_Dilan + .monSet = gVerdanturfBattleTentTrainerMons_Dilan }, - [2] = { + [VERDANTURF_TENT_TRAINER_ELIANA] = { .facilityClass = FACILITY_CLASS_TUBER_F, .trainerName = _("ELIANA"), .speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_ON, EC_WORD_A, EC_WORD_VACATION, EC_WORD_SOON}, .speechWin = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_GET, EC_WORD_SOME, EC_WORD_MONEY}, .speechLose = {EC_WORD_NO, EC_WORD_SLEEP, EC_WORD_UNTIL, EC_WORD_I, EC_WORD_GET, EC_WORD_HOME}, - .monSets = gVerdanturfBattleTentTrainerMons_Eliana + .monSet = gVerdanturfBattleTentTrainerMons_Eliana }, - [3] = { + [VERDANTURF_TENT_TRAINER_MARKUS] = { .facilityClass = FACILITY_CLASS_TUBER_M, .trainerName = _("MARKUS"), .speechBefore = {EC_WORD_I_AM, EC_WORD_SMART, EC_WORD_EXCL, EC_WORD_IF_I_LOSE, EC_WORD_I, EC_MOVE(SELF_DESTRUCT)}, .speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_NON_STOP, EC_MOVE2(EXPLOSION), EC_WORD_OF, EC_WORD_JOY}, .speechLose = {EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_ELLIPSIS, EC_WORD_TIME, EC_WORD_TO, EC_MOVE(SELF_DESTRUCT)}, - .monSets = gVerdanturfBattleTentTrainerMons_Markus + .monSet = gVerdanturfBattleTentTrainerMons_Markus }, - [4] = { + [VERDANTURF_TENT_TRAINER_CAITLYN] = { .facilityClass = FACILITY_CLASS_LADY, .trainerName = _("CAITLYN"), .speechBefore = {EC_WORD_I_AM, EC_WORD_BORED, EC_WORD_OF, EC_WORD_BEING, EC_WORD_AN, EC_WORD_IDOL}, .speechWin = {EC_WORD_A, EC_WORD_BATTLE, EC_WORD_IS, EC_WORD_BEST, EC_WORD_FOR, EC_WORD_HAPPINESS}, .speechLose = {EC_WORD_LOSING, EC_WORD_DOESN_T, EC_WORD_BUG, EC_WORD_ME, EC_WORD_AT, EC_WORD_ALL}, - .monSets = gVerdanturfBattleTentTrainerMons_Caitlyn + .monSet = gVerdanturfBattleTentTrainerMons_Caitlyn }, - [5] = { + [VERDANTURF_TENT_TRAINER_DESIREE] = { .facilityClass = FACILITY_CLASS_BEAUTY, .trainerName = _("DESIREE"), .speechBefore = {EC_WORD_DOESN_T, EC_WORD_MY, EC_WORD_BEAUTY, EC_MOVE(ASTONISH), EC_WORD_YOU, EC_WORD_QUES}, .speechWin = {EC_WORD_DID, EC_WORD_I, EC_WORD_INTIMIDATE, EC_WORD_YOU, EC_WORD_QUES, -1}, .speechLose = {EC_WORD_MY, EC_WORD_BEAUTY, EC_WORD_DID, EC_WORD_NOTHING, EC_WORD_FOR, EC_WORD_YOU}, - .monSets = gVerdanturfBattleTentTrainerMons_Desiree + .monSet = gVerdanturfBattleTentTrainerMons_Desiree }, - [6] = { + [VERDANTURF_TENT_TRAINER_RONALD] = { .facilityClass = FACILITY_CLASS_RICH_BOY, .trainerName = _("RONALD"), .speechBefore = {EC_WORD_COME_ON, EC_WORD_I, EC_WORD_WILL, EC_WORD_BATTLE, EC_WORD_SERIOUSLY, -1}, .speechWin = {EC_WORD_GIVE_UP, EC_WORD_QUES, -1, EC_WORD_THAT_S, EC_WORD_REALLY, EC_WORD_WEAK}, .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_DO, EC_WORD_A, EC_MOVE2(BATON_PASS)}, - .monSets = gVerdanturfBattleTentTrainerMons_Ronald + .monSet = gVerdanturfBattleTentTrainerMons_Ronald }, - [7] = { + [VERDANTURF_TENT_TRAINER_ASHTEN] = { .facilityClass = FACILITY_CLASS_POKEMANIAC, .trainerName = _("ASHTEN"), .speechBefore = {EC_WORD_OH_YEAH, EC_WORD_ANOTHER, EC_WORD_EXCITING, EC_WORD_BATTLE, EC_WORD_EXCL, -1}, .speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_WIMPY, EC_WORD_AND, EC_WORD_BORING}, .speechLose = {EC_WORD_THAT_WAS, EC_WORD_AN, EC_WORD_EXCITING, EC_WORD_LOSS, EC_WORD_WOW, EC_WORD_EXCL}, - .monSets = gVerdanturfBattleTentTrainerMons_Ashten + .monSet = gVerdanturfBattleTentTrainerMons_Ashten }, - [8] = { + [VERDANTURF_TENT_TRAINER_GERARD] = { .facilityClass = FACILITY_CLASS_SWIMMER_M, .trainerName = _("GERARD"), .speechBefore = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_WORD_SUPER, EC_MOVE2(TEETER_DANCE), EC_WORD_EXCL}, .speechWin = {EC_WORD_THAT_WAS, EC_WORD_HARD, EC_WORD_ELLIPSIS, EC_WORD_AM, EC_WORD_I, EC_WORD_OK_QUES}, .speechLose = {EC_WORD_I, EC_WORD_WON_T, EC_WORD_FORGIVE, EC_WORD_YOU, EC_WORD_FOR, EC_WORD_THAT}, - .monSets = gVerdanturfBattleTentTrainerMons_Gerard + .monSet = gVerdanturfBattleTentTrainerMons_Gerard }, - [9] = { + [VERDANTURF_TENT_TRAINER_BRADLY] = { .facilityClass = FACILITY_CLASS_CAMPER, .trainerName = _("BRADLY"), .speechBefore = {EC_WORD_IT_S, EC_WORD_LONESOME, EC_WORD_BUT, EC_WORD_I, EC_WORD_VACATION, EC_WORD_ALONE}, .speechWin = {EC_WORD_I, EC_WORD_WILL, EC_MOVE(WITHDRAW), EC_WORD_INSIDE, EC_WORD_MY, EC_WORD_SHELL_ARMOR}, .speechLose = {EC_WORD_OH, EC_WORD_ELLIPSIS, -1, EC_WORD_ALONE, EC_WORD_AS, EC_WORD_ALWAYS}, - .monSets = gVerdanturfBattleTentTrainerMons_Bradly + .monSet = gVerdanturfBattleTentTrainerMons_Bradly }, - [10] = { + [VERDANTURF_TENT_TRAINER_DENNIS] = { .facilityClass = FACILITY_CLASS_BUG_MANIAC, .trainerName = _("DENNIS"), .speechBefore = {EC_WORD_ARE, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_STRONG, EC_WORD_QUES, -1}, .speechWin = {EC_WORD_WAHAHAHA, EC_WORD_EXCL, -1, EC_WORD_WAHAHAHA, EC_WORD_EXCL_EXCL, -1}, .speechLose = {EC_WORD_NICE, EC_WORD_GOING, EC_WORD_EXCL, EC_WORD_I, EC_WORD_WAS, EC_WORD_CHILD_S_PLAY}, - .monSets = gVerdanturfBattleTentTrainerMons_Dennis + .monSet = gVerdanturfBattleTentTrainerMons_Dennis }, - [11] = { + [VERDANTURF_TENT_TRAINER_PRESTIN] = { .facilityClass = FACILITY_CLASS_GENTLEMAN, .trainerName = _("PRESTIN"), .speechBefore = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_MOVE(NIGHTMARE), EC_WORD_FOR, EC_WORD_YOU}, .speechWin = {EC_WORD_FORGIVE, EC_WORD_ME, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_A, EC_WORD_DREAM}, .speechLose = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_WAKE_UP, EC_WORD_FROM, EC_WORD_THIS}, - .monSets = gVerdanturfBattleTentTrainerMons_Prestin + .monSet = gVerdanturfBattleTentTrainerMons_Prestin }, - [12] = { + [VERDANTURF_TENT_TRAINER_ERNESTO] = { .facilityClass = FACILITY_CLASS_GUITARIST, .trainerName = _("ERNESTO"), .speechBefore = {EC_WORD_THIS, EC_WORD_PARTY, EC_WORD_GOES, EC_WORD_ON, EC_WORD_FOREVER, EC_WORD_EXCL}, .speechWin = {EC_WORD_THE, EC_WORD_MUSIC, EC_WORD_PLAYS, EC_WORD_ON, EC_WORD_WITHOUT, EC_WORD_END}, .speechLose = {EC_WORD_NO, EC_WORD_EXCL, EC_WORD_THE, EC_WORD_MUSIC, EC_WORD_CAN_T, EC_WORD_STOP}, - .monSets = gVerdanturfBattleTentTrainerMons_Ernesto + .monSet = gVerdanturfBattleTentTrainerMons_Ernesto }, - [13] = { + [VERDANTURF_TENT_TRAINER_NALA] = { .facilityClass = FACILITY_CLASS_SCHOOL_KID_F, .trainerName = _("NALA"), .speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_THE, EC_WORD_WORLD, EC_WORD_MOVIE, EC_WORD_COLLECTION}, .speechWin = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_LIKE, EC_WORD_RADIO, EC_WORD_VERY, EC_WORD_MUCH}, .speechLose = {EC_WORD_I, EC_WORD_REFUSE, EC_WORD_TO, EC_WORD_BELIEVE, EC_WORD_THIS, EC_WORD_EXCL}, - .monSets = gVerdanturfBattleTentTrainerMons_Nala + .monSet = gVerdanturfBattleTentTrainerMons_Nala }, - [14] = { + [VERDANTURF_TENT_TRAINER_DARNELL] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_M, .trainerName = _("DARNELL"), .speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_WORD_GO_EASY, EC_WORD_ON, EC_WORD_YOU, -1}, .speechWin = {EC_WORD_YOUR, EC_MOVE2(FRUSTRATION), EC_WORD_SHOULD, EC_WORD_BE, EC_WORD_HIDDEN, EC_WORD_AWAY}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_TO, EC_WORD_TAKE, EC_WORD_ELLIPSIS}, - .monSets = gVerdanturfBattleTentTrainerMons_Darnell + .monSet = gVerdanturfBattleTentTrainerMons_Darnell }, - [15] = { + [VERDANTURF_TENT_TRAINER_ASHLYN] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_F, .trainerName = _("ASHLYN"), .speechBefore = {EC_WORD_I, EC_WORD_LOOK, EC_WORD_TOUGH, EC_WORD_DO, EC_WORD_I, EC_WORD_QUES}, .speechWin = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_OVER, EC_WORD_YOUR, EC_MOVE2(TAUNT), EC_WORD_YET}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_MEAN, EC_WORD_EXCL_EXCL, -1, -1, -1}, - .monSets = gVerdanturfBattleTentTrainerMons_Ashlyn + .monSet = gVerdanturfBattleTentTrainerMons_Ashlyn }, - [16] = { + [VERDANTURF_TENT_TRAINER_ADDISON] = { .facilityClass = FACILITY_CLASS_POKEFAN_M, .trainerName = _("ADDISON"), .speechBefore = {EC_WORD_YES, EC_WORD_EXCL, -1, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_EXCL}, .speechWin = {EC_WORD_WELL, EC_WORD_WASN_T, EC_WORD_THAT, EC_WORD_EASY, EC_WORD_QUES, -1}, .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, -1, EC_WORD_BUT, EC_WORD_WHY, EC_WORD_QUES}, - .monSets = gVerdanturfBattleTentTrainerMons_Addison + .monSet = gVerdanturfBattleTentTrainerMons_Addison }, - [17] = { + [VERDANTURF_TENT_TRAINER_JUSTINE] = { .facilityClass = FACILITY_CLASS_POKEFAN_F, .trainerName = _("JUSTINE"), .speechBefore = {EC_WORD_YES, EC_WORD_EXCL, -1, EC_WORD_COME_ON, EC_WORD_I_AM, EC_WORD_READY}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_JUST, EC_WORD_NOT, EC_WORD_GOOD, EC_WORD_ENOUGH, EC_WORD_EXCL}, .speechLose = {EC_WORD_WOWEE, EC_WORD_EXCL_EXCL, -1, -1, -1, -1}, - .monSets = gVerdanturfBattleTentTrainerMons_Justine + .monSet = gVerdanturfBattleTentTrainerMons_Justine }, - [18] = { + [VERDANTURF_TENT_TRAINER_TYSON] = { .facilityClass = FACILITY_CLASS_EXPERT_M, .trainerName = _("TYSON"), .speechBefore = {EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_PRESSURE, EC_WORD_ME, EC_WORD_QUES}, .speechWin = {EC_WORD_WHAT, EC_WORD_QUES, EC_WORD_YOU_RE, EC_WORD_MUCH, EC_WORD_TOO_WEAK, EC_WORD_EXCL}, .speechLose = {EC_WORD_THIS, EC_WORD_DOESN_T, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_HAPPY, EC_WORD_EXCL}, - .monSets = gVerdanturfBattleTentTrainerMons_Tyson + .monSet = gVerdanturfBattleTentTrainerMons_Tyson }, - [19] = { + [VERDANTURF_TENT_TRAINER_LAILA] = { .facilityClass = FACILITY_CLASS_EXPERT_F, .trainerName = _("LAILA"), .speechBefore = {EC_WORD_A, EC_MOVE2(STRUGGLE), EC_WORD_ISN_T, EC_WORD_VERY, EC_WORD_COOL, -1}, .speechWin = {EC_WORD_NOPE, EC_WORD_NOT_VERY, EC_WORD_COOL, EC_WORD_AT, EC_WORD_ALL, EC_WORD_EXCL}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_COOL, EC_WORD_BUT, EC_WORD_YOU, EC_WORD_WON}, - .monSets = gVerdanturfBattleTentTrainerMons_Laila + .monSet = gVerdanturfBattleTentTrainerMons_Laila }, - [20] = { + [VERDANTURF_TENT_TRAINER_WAREN] = { .facilityClass = FACILITY_CLASS_YOUNGSTER, .trainerName = _("WAREN"), .speechBefore = {EC_WORD_DANGER, EC_WORD_EXCL, -1, EC_WORD_I, EC_WORD_SENSE, EC_WORD_DANGER}, .speechWin = {EC_WORD_DID, EC_WORD_YOU, EC_WORD_BELIEVE, EC_WORD_MY, EC_WORD_LIE, EC_WORD_QUES_EXCL}, .speechLose = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_DID, EC_WORD_SENSE, EC_WORD_DANGER, EC_WORD_ELLIPSIS}, - .monSets = gVerdanturfBattleTentTrainerMons_Waren + .monSet = gVerdanturfBattleTentTrainerMons_Waren }, - [21] = { + [VERDANTURF_TENT_TRAINER_TOBIAS] = { .facilityClass = FACILITY_CLASS_FISHERMAN, .trainerName = _("TOBIAS"), .speechBefore = {EC_MOVE2(BARRIER), EC_WORD_EXCL_EXCL, -1, EC_WORD_NOW, EC_WORD_COME_ON, EC_WORD_EXCL}, .speechWin = {EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_MEAN, EC_WORD_I, EC_WORD_WON, EC_WORD_QUES}, .speechLose = {EC_WORD_I, EC_WORD_SHOULD, EC_WORD_KNOW, EC_WORD_THAT, EC_WORD_IT_S, EC_WORD_HOPELESS}, - .monSets = gVerdanturfBattleTentTrainerMons_Tobias + .monSet = gVerdanturfBattleTentTrainerMons_Tobias }, - [22] = { + [VERDANTURF_TENT_TRAINER_JOSIAH] = { .facilityClass = FACILITY_CLASS_BIRD_KEEPER, .trainerName = _("JOSIAH"), .speechBefore = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_TO, EC_MOVE(FLY), EC_WORD_IF_I_LOSE, -1}, .speechWin = {EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS, -1, EC_WORD_YOU, EC_MOVE(FLY), EC_WORD_INSTEAD}, .speechLose = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_TO, EC_MOVE(FLY), EC_WORD_SOMETIME, EC_WORD_SOON}, - .monSets = gVerdanturfBattleTentTrainerMons_Josiah + .monSet = gVerdanturfBattleTentTrainerMons_Josiah }, - [23] = { + [VERDANTURF_TENT_TRAINER_DION] = { .facilityClass = FACILITY_CLASS_NINJA_BOY, .trainerName = _("DION"), .speechBefore = {EC_WORD_IT_S, EC_WORD_TRENDY, EC_WORD_UM, EC_WORD_BATTLE, EC_WORD_SOMETHING, -1}, .speechWin = {EC_WORD_WAS, EC_WORD_IT, EC_WORD_ELLIPSIS, EC_WORD_BATTLE, EC_WORD_DATE, EC_WORD_QUES}, .speechLose = {EC_WORD_WAS, EC_WORD_IT, EC_WORD_ELLIPSIS, EC_WORD_BATTLE, EC_WORD_GOURMET, EC_WORD_QUES}, - .monSets = gVerdanturfBattleTentTrainerMons_Dion + .monSet = gVerdanturfBattleTentTrainerMons_Dion }, - [24] = { + [VERDANTURF_TENT_TRAINER_KENZIE] = { .facilityClass = FACILITY_CLASS_PARASOL_LADY, .trainerName = _("KENZIE"), .speechBefore = {EC_WORD_THE, EC_MOVE(MORNING_SUN), EC_WORD_GIVES, EC_WORD_ME, EC_MOVE(STRENGTH), -1}, .speechWin = {EC_WORD_BUT, EC_WORD_I, EC_WORD_LIKE, EC_MOVE2(MOONLIGHT), EC_WORD_TOO, -1}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_LIKE, EC_WORD_A, EC_WORD_TERRIBLE, EC_MOVE(SANDSTORM), EC_WORD_ELLIPSIS}, - .monSets = gVerdanturfBattleTentTrainerMons_Kenzie + .monSet = gVerdanturfBattleTentTrainerMons_Kenzie }, - [25] = { + [VERDANTURF_TENT_TRAINER_LILLIAN] = { .facilityClass = FACILITY_CLASS_SWIMMER_F, .trainerName = _("LILLIAN"), .speechBefore = {EC_WORD_I, EC_WORD_DO, EC_WORD_THINGS, EC_WORD_AT, EC_WORD_MY, EC_WORD_OWN_TEMPO}, .speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_QUES, EC_WORD_WHAT, EC_WORD_A, EC_WORD_SURPRISE}, .speechLose = {EC_WORD_AWW, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_NAP}, - .monSets = gVerdanturfBattleTentTrainerMons_Lillian + .monSet = gVerdanturfBattleTentTrainerMons_Lillian }, - [26] = { + [VERDANTURF_TENT_TRAINER_LESLEY] = { .facilityClass = FACILITY_CLASS_PICNICKER, .trainerName = _("LESLEY"), .speechBefore = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_BE, EC_WORD_LOLLING, EC_WORD_ABOUT}, .speechWin = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_GET, EC_WORD_UP, EC_WORD_EARLIER, -1}, .speechLose = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_BE, EC_WORD_HAPPENING, EC_WORD_EXCL}, - .monSets = gVerdanturfBattleTentTrainerMons_Lesley + .monSet = gVerdanturfBattleTentTrainerMons_Lesley }, - [27] = { + [VERDANTURF_TENT_TRAINER_MARQUIS] = { .facilityClass = FACILITY_CLASS_SAILOR, .trainerName = _("MARQUIS"), .speechBefore = {EC_WORD_NONE, EC_WORD_OF, EC_WORD_THIS, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_SENSE}, .speechWin = {EC_WORD_SEE, EC_WORD_QUES, EC_WORD_THIS, EC_WORD_JUST, EC_WORD_ISN_T, EC_WORD_NORMAL}, .speechLose = {EC_WORD_SHOULD, EC_WORD_I, EC_WORD_CAUSE, EC_WORD_AN, EC_MOVE(UPROAR), EC_WORD_QUES}, - .monSets = gVerdanturfBattleTentTrainerMons_Marquis + .monSet = gVerdanturfBattleTentTrainerMons_Marquis }, - [28] = { + [VERDANTURF_TENT_TRAINER_FREDDY] = { .facilityClass = FACILITY_CLASS_COLLECTOR, .trainerName = _("FREDDY"), .speechBefore = {EC_WORD_I, EC_WORD_ADORE, EC_WORD_THIS, EC_WORD_CUTE, EC_WORD_TELEVISION, EC_WORD_IDOL}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_SO, EC_WORD_FUNNY, EC_WORD_WHEN, EC_WORD_YOU_RE, EC_WORD_ANGRY}, .speechLose = {EC_WORD_LATE, EC_WORD_NIGHT, EC_WORD_TELEVISION, EC_WORD_IS, EC_WORD_MY, EC_WORD_LIFE}, - .monSets = gVerdanturfBattleTentTrainerMons_Freddy + .monSet = gVerdanturfBattleTentTrainerMons_Freddy }, - [29] = { + [VERDANTURF_TENT_TRAINER_CECILIA] = { .facilityClass = FACILITY_CLASS_LASS, .trainerName = _("CECILIA"), .speechBefore = {EC_WORD_MY, EC_WORD_FABULOUS, EC_WORD_CUTENESS, EC_WORD_IS, EC_WORD_IN, EC_WORD_FASHION}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_NO, EC_WORD_MATCH, EC_WORD_FOR, EC_WORD_MY, EC_WORD_CUTE_CHARM}, .speechLose = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_FASHION, EC_WORD_SENSE, EC_WORD_QUES}, - .monSets = gVerdanturfBattleTentTrainerMons_Cecilia + .monSet = gVerdanturfBattleTentTrainerMons_Cecilia } }; -const struct FacilityMon gVerdanturfBattleTentMons[] = +const struct FacilityMon gVerdanturfBattleTentMons[NUM_VERDANTURF_TENT_MONS] = { - [0] = { + [VERDANTURF_TENT_MON_POOCHYENA] = { .species = SPECIES_POOCHYENA, .moves = {MOVE_ROAR, MOVE_THIEF, MOVE_BITE, MOVE_HOWL}, .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_GLASSES, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_NAUGHTY }, - [1] = { + [VERDANTURF_TENT_MON_ZIGZAGOON] = { .species = SPECIES_ZIGZAGOON, .moves = {MOVE_COVET, MOVE_GROWL, MOVE_PIN_MISSILE, MOVE_MUD_SPORT}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [2] = { + [VERDANTURF_TENT_MON_DUSTOX] = { .species = SPECIES_DUSTOX, .moves = {MOVE_CONFUSION, MOVE_MOONLIGHT, MOVE_PROTECT, MOVE_FLASH}, .itemTableId = BATTLE_FRONTIER_ITEM_SILVER_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, .nature = NATURE_MODEST }, - [3] = { + [VERDANTURF_TENT_MON_TAILLOW] = { .species = SPECIES_TAILLOW, .moves = {MOVE_AGILITY, MOVE_DOUBLE_TEAM, MOVE_WING_ATTACK, MOVE_GROWL}, .itemTableId = BATTLE_FRONTIER_ITEM_ORAN_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [4] = { + [VERDANTURF_TENT_MON_SHROOMISH] = { .species = SPECIES_SHROOMISH, .moves = {MOVE_HEADBUTT, MOVE_STUN_SPORE, MOVE_LEECH_SEED, MOVE_FLASH}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_RASH }, - [5] = { + [VERDANTURF_TENT_MON_MACHOP] = { .species = SPECIES_MACHOP, .moves = {MOVE_LOW_KICK, MOVE_LEER, MOVE_FOCUS_ENERGY, MOVE_ENCORE}, .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_LONELY }, - [6] = { + [VERDANTURF_TENT_MON_MAGIKARP] = { .species = SPECIES_MAGIKARP, .moves = {MOVE_SPLASH, MOVE_FLAIL, MOVE_TACKLE, MOVE_NONE}, .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF, .evSpread = F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [7] = { + [VERDANTURF_TENT_MON_BARBOACH] = { .species = SPECIES_BARBOACH, .moves = {MOVE_MUD_SLAP, MOVE_WATER_GUN, MOVE_RAIN_DANCE, MOVE_SPARK}, .itemTableId = BATTLE_FRONTIER_ITEM_ASPEAR_BERRY, .evSpread = F_EV_SPREAD_SPEED, .nature = NATURE_HASTY }, - [8] = { + [VERDANTURF_TENT_MON_WINGULL] = { .species = SPECIES_WINGULL, .moves = {MOVE_ATTRACT, MOVE_TWISTER, MOVE_WING_ATTACK, MOVE_SUPERSONIC}, .itemTableId = BATTLE_FRONTIER_ITEM_DRAGON_FANG, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_IMPISH }, - [9] = { + [VERDANTURF_TENT_MON_ARON_1] = { .species = SPECIES_ARON, .moves = {MOVE_ENDEAVOR, MOVE_METAL_CLAW, MOVE_TACKLE, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_HARDY }, - [10] = { + [VERDANTURF_TENT_MON_NUMEL_1] = { .species = SPECIES_NUMEL, .moves = {MOVE_EMBER, MOVE_ROCK_SLIDE, MOVE_ROLLOUT, MOVE_GROWL}, .itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_SASSY }, - [11] = { + [VERDANTURF_TENT_MON_SWALOT] = { .species = SPECIES_SWALOT, .moves = {MOVE_YAWN, MOVE_SLUDGE, MOVE_ACID_ARMOR, MOVE_AMNESIA}, .itemTableId = BATTLE_FRONTIER_ITEM_POISON_BARB, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [12] = { + [VERDANTURF_TENT_MON_KECLEON] = { .species = SPECIES_KECLEON, .moves = {MOVE_SUBSTITUTE, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_BIND}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_QUIET }, - [13] = { + [VERDANTURF_TENT_MON_BALTOY] = { .species = SPECIES_BALTOY, .moves = {MOVE_SANDSTORM, MOVE_FLASH, MOVE_SELF_DESTRUCT, MOVE_HARDEN}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_NAUGHTY }, - [14] = { + [VERDANTURF_TENT_MON_NINJASK] = { .species = SPECIES_NINJASK, .moves = {MOVE_DIG, MOVE_SCREECH, MOVE_SWORDS_DANCE, MOVE_LEECH_LIFE}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_SASSY }, - [15] = { + [VERDANTURF_TENT_MON_MAKUHITA] = { .species = SPECIES_MAKUHITA, .moves = {MOVE_BULK_UP, MOVE_ARM_THRUST, MOVE_SMELLING_SALT, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_NAUGHTY }, - [16] = { + [VERDANTURF_TENT_MON_SWABLU] = { .species = SPECIES_SWABLU, .moves = {MOVE_REFRESH, MOVE_SAFEGUARD, MOVE_ATTRACT, MOVE_MIRROR_MOVE}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MILD }, - [17] = { + [VERDANTURF_TENT_MON_GOLDEEN_1] = { .species = SPECIES_GOLDEEN, .moves = {MOVE_WATERFALL, MOVE_MUD_SPORT, MOVE_SUPERSONIC, MOVE_DOUBLE_TEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_GENTLE }, - [18] = { + [VERDANTURF_TENT_MON_LOTAD] = { .species = SPECIES_LOTAD, .moves = {MOVE_GROWL, MOVE_WATER_GUN, MOVE_MEGA_DRAIN, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_IAPAPA_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [19] = { + [VERDANTURF_TENT_MON_NUMEL_2] = { .species = SPECIES_NUMEL, .moves = {MOVE_MAGNITUDE, MOVE_EMBER, MOVE_GROWL, MOVE_DEFENSE_CURL}, .itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_RELAXED }, - [20] = { + [VERDANTURF_TENT_MON_LINOONE] = { .species = SPECIES_LINOONE, .moves = {MOVE_HEADBUTT, MOVE_TICKLE, MOVE_PROTECT, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_IMPISH }, - [21] = { + [VERDANTURF_TENT_MON_SEVIPER] = { .species = SPECIES_SEVIPER, .moves = {MOVE_WRAP, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SWAGGER}, .itemTableId = BATTLE_FRONTIER_ITEM_ASPEAR_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_LONELY }, - [22] = { + [VERDANTURF_TENT_MON_SKARMORY] = { .species = SPECIES_SKARMORY, .moves = {MOVE_AIR_CUTTER, MOVE_SANDSTORM, MOVE_LEER, MOVE_AGILITY}, .itemTableId = BATTLE_FRONTIER_ITEM_MACHO_BRACE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_BASHFUL }, - [23] = { + [VERDANTURF_TENT_MON_SWELLOW] = { .species = SPECIES_SWELLOW, .moves = {MOVE_AGILITY, MOVE_WING_ATTACK, MOVE_DOUBLE_TEAM, MOVE_SUPERSONIC}, .itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_NAUGHTY }, - [24] = { + [VERDANTURF_TENT_MON_GOLDEEN_2] = { .species = SPECIES_GOLDEEN, .moves = {MOVE_PECK, MOVE_SUPERSONIC, MOVE_PSYBEAM, MOVE_RAIN_DANCE}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_GENTLE }, - [25] = { + [VERDANTURF_TENT_MON_ELECTRIKE] = { .species = SPECIES_ELECTRIKE, .moves = {MOVE_SHOCK_WAVE, MOVE_TACKLE, MOVE_CHARGE, MOVE_THUNDER_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_MILD }, - [26] = { + [VERDANTURF_TENT_MON_NUZLEAF] = { .species = SPECIES_NUZLEAF, .moves = {MOVE_SUNNY_DAY, MOVE_TORMENT, MOVE_FAKE_OUT, MOVE_THIEF}, .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_GLASSES, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [27] = { + [VERDANTURF_TENT_MON_ARON_2] = { .species = SPECIES_ARON, .moves = {MOVE_TAKE_DOWN, MOVE_METAL_CLAW, MOVE_IRON_DEFENSE, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [28] = { + [VERDANTURF_TENT_MON_MIGHTYENA] = { .species = SPECIES_MIGHTYENA, .moves = {MOVE_HOWL, MOVE_TAKE_DOWN, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [29] = { + [VERDANTURF_TENT_MON_SOLROCK] = { .species = SPECIES_SOLROCK, .moves = {MOVE_HARDEN, MOVE_FIRE_SPIN, MOVE_MIMIC, MOVE_PSYWAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [30] = { + [VERDANTURF_TENT_MON_GRAVELER] = { .species = SPECIES_GRAVELER, .moves = {MOVE_ROLLOUT, MOVE_ROCK_SMASH, MOVE_SANDSTORM, MOVE_BLOCK}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_IMPISH }, - [31] = { + [VERDANTURF_TENT_MON_KADABRA] = { .species = SPECIES_KADABRA, .moves = {MOVE_ENCORE, MOVE_PSYBEAM, MOVE_DISABLE, MOVE_KINESIS}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [32] = { + [VERDANTURF_TENT_MON_VOLTORB] = { .species = SPECIES_VOLTORB, .moves = {MOVE_PROTECT, MOVE_SELF_DESTRUCT, MOVE_SPARK, MOVE_SCREECH}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_BASHFUL }, - [33] = { + [VERDANTURF_TENT_MON_MAGNEMITE] = { .species = SPECIES_MAGNEMITE, .moves = {MOVE_METAL_SOUND, MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SHOCK_WAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_MAGNET, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_SERIOUS }, - [34] = { + [VERDANTURF_TENT_MON_PELIPPER] = { .species = SPECIES_PELIPPER, .moves = {MOVE_WING_ATTACK, MOVE_MIST, MOVE_AGILITY, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_FIGY_BERRY, .evSpread = 0, .nature = NATURE_BRAVE }, - [35] = { + [VERDANTURF_TENT_MON_LOUDRED] = { .species = SPECIES_LOUDRED, .moves = {MOVE_HOWL, MOVE_UPROAR, MOVE_REST, MOVE_SCREECH}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CALM }, - [36] = { + [VERDANTURF_TENT_MON_MARILL] = { .species = SPECIES_MARILL, .moves = {MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_TAIL_WHIP, MOVE_BUBBLE_BEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_JOLLY }, - [37] = { + [VERDANTURF_TENT_MON_TRAPINCH] = { .species = SPECIES_TRAPINCH, .moves = {MOVE_DIG, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_FAINT_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_NONE, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_NAUGHTY }, - [38] = { + [VERDANTURF_TENT_MON_TENTACOOL] = { .species = SPECIES_TENTACOOL, .moves = {MOVE_SCREECH, MOVE_CONFUSE_RAY, MOVE_WRAP, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [39] = { + [VERDANTURF_TENT_MON_VIGOROTH] = { .species = SPECIES_VIGOROTH, .moves = {MOVE_ENCORE, MOVE_SLACK_OFF, MOVE_YAWN, MOVE_SECRET_POWER}, .itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [40] = { + [VERDANTURF_TENT_MON_WAILMER] = { .species = SPECIES_WAILMER, .moves = {MOVE_WATER_PULSE, MOVE_ROLLOUT, MOVE_CURSE, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB, .evSpread = F_EV_SPREAD_HP, .nature = NATURE_RELAXED }, - [41] = { + [VERDANTURF_TENT_MON_ILLUMISE] = { .species = SPECIES_ILLUMISE, .moves = {MOVE_TACKLE, MOVE_SWEET_SCENT, MOVE_WISH, MOVE_ENCORE}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [42] = { + [VERDANTURF_TENT_MON_MACHOKE] = { .species = SPECIES_MACHOKE, .moves = {MOVE_LEER, MOVE_KARATE_CHOP, MOVE_BULK_UP, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_CALM }, - [43] = { + [VERDANTURF_TENT_MON_WHISMUR] = { .species = SPECIES_WHISMUR, .moves = {MOVE_SECRET_POWER, MOVE_SUPERSONIC, MOVE_STOMP, MOVE_ROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_QUIRKY }, - [44] = { + [VERDANTURF_TENT_MON_CACNEA] = { .species = SPECIES_CACNEA, .moves = {MOVE_INGRAIN, MOVE_LEECH_SEED, MOVE_NEEDLE_ARM, MOVE_GROWTH}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, @@ -2126,876 +2126,876 @@ const struct FacilityMon gVerdanturfBattleTentMons[] = // Fallarbor Battle Tent. const u16 gFallarborBattleTentTrainerMons_Amber[] = { - 39, - 40, - 41, - 42, - 43, - 44, + FALLARBOR_TENT_MON_SWALOT, + FALLARBOR_TENT_MON_SHROOMISH, + FALLARBOR_TENT_MON_KIRLIA, + FALLARBOR_TENT_MON_LOMBRE, + FALLARBOR_TENT_MON_NUZLEAF, + FALLARBOR_TENT_MON_CACNEA, -1 }; const u16 gFallarborBattleTentTrainerMons_Javier[] = { - 6, - 35, - 36, - 37, - 38, - 44, + FALLARBOR_TENT_MON_SOLROCK, + FALLARBOR_TENT_MON_TRAPINCH, + FALLARBOR_TENT_MON_BALTOY, + FALLARBOR_TENT_MON_GRAVELER, + FALLARBOR_TENT_MON_SANDSHREW, + FALLARBOR_TENT_MON_CACNEA, -1 }; const u16 gFallarborBattleTentTrainerMons_Natalie[] = { - 5, - 29, - 30, - 32, - 34, + FALLARBOR_TENT_MON_MAGIKARP, + FALLARBOR_TENT_MON_PELIPPER, + FALLARBOR_TENT_MON_BARBOACH, + FALLARBOR_TENT_MON_MARILL, + FALLARBOR_TENT_MON_GOLDEEN_2, -1 }; const u16 gFallarborBattleTentTrainerMons_Treve[] = { - 28, - 29, - 30, - 32, - 33, + FALLARBOR_TENT_MON_WINGULL, + FALLARBOR_TENT_MON_PELIPPER, + FALLARBOR_TENT_MON_BARBOACH, + FALLARBOR_TENT_MON_MARILL, + FALLARBOR_TENT_MON_GOLDEEN_1, -1 }; const u16 gFallarborBattleTentTrainerMons_Arianna[] = { - 18, - 23, - 24, - 27, - 44, + FALLARBOR_TENT_MON_ELECTRIKE, + FALLARBOR_TENT_MON_LINOONE_2, + FALLARBOR_TENT_MON_MIGHTYENA, + FALLARBOR_TENT_MON_GOLBAT, + FALLARBOR_TENT_MON_CACNEA, -1 }; const u16 gFallarborBattleTentTrainerMons_Jadyn[] = { - 0, - 22, - 24, - 27, - 32, - 39, + FALLARBOR_TENT_MON_NUMEL, + FALLARBOR_TENT_MON_LOUDRED, + FALLARBOR_TENT_MON_MIGHTYENA, + FALLARBOR_TENT_MON_GOLBAT, + FALLARBOR_TENT_MON_MARILL, + FALLARBOR_TENT_MON_SWALOT, -1 }; const u16 gFallarborBattleTentTrainerMons_Gerardo[] = { - 6, - 18, - 23, - 24, - 29, + FALLARBOR_TENT_MON_SOLROCK, + FALLARBOR_TENT_MON_ELECTRIKE, + FALLARBOR_TENT_MON_LINOONE_2, + FALLARBOR_TENT_MON_MIGHTYENA, + FALLARBOR_TENT_MON_PELIPPER, -1 }; const u16 gFallarborBattleTentTrainerMons_Jonn[] = { - 16, - 17, - 21, - 22, - 37, + FALLARBOR_TENT_MON_ARON_1, + FALLARBOR_TENT_MON_ARON_2, + FALLARBOR_TENT_MON_WHISMUR, + FALLARBOR_TENT_MON_LOUDRED, + FALLARBOR_TENT_MON_GRAVELER, -1 }; const u16 gFallarborBattleTentTrainerMons_Esteban[] = { - 5, - 28, - 30, - 33, - 42, + FALLARBOR_TENT_MON_MAGIKARP, + FALLARBOR_TENT_MON_WINGULL, + FALLARBOR_TENT_MON_BARBOACH, + FALLARBOR_TENT_MON_GOLDEEN_1, + FALLARBOR_TENT_MON_LOMBRE, -1 }; const u16 gFallarborBattleTentTrainerMons_Jameson[] = { - 1, - 2, - 3, - 5, - 9, + FALLARBOR_TENT_MON_LINOONE_1, + FALLARBOR_TENT_MON_PLUSLE, + FALLARBOR_TENT_MON_POOCHYENA, + FALLARBOR_TENT_MON_MAGIKARP, + FALLARBOR_TENT_MON_NINCADA, -1 }; const u16 gFallarborBattleTentTrainerMons_Alanzo[] = { - 9, - 10, - 11, - 12, - 13, - 14, - 15, + FALLARBOR_TENT_MON_NINCADA, + FALLARBOR_TENT_MON_BEAUTIFLY, + FALLARBOR_TENT_MON_DUSTOX, + FALLARBOR_TENT_MON_ILLUMISE, + FALLARBOR_TENT_MON_VOLBEAT, + FALLARBOR_TENT_MON_NINJASK_1, + FALLARBOR_TENT_MON_NINJASK_2, -1 }; const u16 gFallarborBattleTentTrainerMons_Howard[] = { - 18, - 23, - 31, - 38, - 43, + FALLARBOR_TENT_MON_ELECTRIKE, + FALLARBOR_TENT_MON_LINOONE_2, + FALLARBOR_TENT_MON_WAILMER, + FALLARBOR_TENT_MON_SANDSHREW, + FALLARBOR_TENT_MON_NUZLEAF, -1 }; const u16 gFallarborBattleTentTrainerMons_Conrad[] = { - 18, - 19, - 20, - 21, - 22, + FALLARBOR_TENT_MON_ELECTRIKE, + FALLARBOR_TENT_MON_MAGNEMITE, + FALLARBOR_TENT_MON_VOLTORB, + FALLARBOR_TENT_MON_WHISMUR, + FALLARBOR_TENT_MON_LOUDRED, -1 }; const u16 gFallarborBattleTentTrainerMons_Makenna[] = { - 4, - 21, - 25, - 36, - 40, + FALLARBOR_TENT_MON_KECLEON, + FALLARBOR_TENT_MON_WHISMUR, + FALLARBOR_TENT_MON_SWABLU, + FALLARBOR_TENT_MON_BALTOY, + FALLARBOR_TENT_MON_SHROOMISH, -1 }; const u16 gFallarborBattleTentTrainerMons_Brayan[] = { - 0, - 4, - 6, - 12, - 19, - 23, - 28, + FALLARBOR_TENT_MON_NUMEL, + FALLARBOR_TENT_MON_KECLEON, + FALLARBOR_TENT_MON_SOLROCK, + FALLARBOR_TENT_MON_ILLUMISE, + FALLARBOR_TENT_MON_MAGNEMITE, + FALLARBOR_TENT_MON_LINOONE_2, + FALLARBOR_TENT_MON_WINGULL, -1 }; const u16 gFallarborBattleTentTrainerMons_Mariana[] = { - 0, - 4, - 13, - 19, - 28, - 30, - 37, + FALLARBOR_TENT_MON_NUMEL, + FALLARBOR_TENT_MON_KECLEON, + FALLARBOR_TENT_MON_VOLBEAT, + FALLARBOR_TENT_MON_MAGNEMITE, + FALLARBOR_TENT_MON_WINGULL, + FALLARBOR_TENT_MON_BARBOACH, + FALLARBOR_TENT_MON_GRAVELER, -1 }; const u16 gFallarborBattleTentTrainerMons_Sheldon[] = { - 2, - 3, - 21, - 31, - 39, + FALLARBOR_TENT_MON_PLUSLE, + FALLARBOR_TENT_MON_POOCHYENA, + FALLARBOR_TENT_MON_WHISMUR, + FALLARBOR_TENT_MON_WAILMER, + FALLARBOR_TENT_MON_SWALOT, -1 }; const u16 gFallarborBattleTentTrainerMons_Gianna[] = { - 1, - 2, - 30, - 32, - 41, + FALLARBOR_TENT_MON_LINOONE_1, + FALLARBOR_TENT_MON_PLUSLE, + FALLARBOR_TENT_MON_BARBOACH, + FALLARBOR_TENT_MON_MARILL, + FALLARBOR_TENT_MON_KIRLIA, -1 }; const u16 gFallarborBattleTentTrainerMons_Yahir[] = { - 4, - 8, - 15, - 17, - 22, - 24, + FALLARBOR_TENT_MON_KECLEON, + FALLARBOR_TENT_MON_MACHOKE, + FALLARBOR_TENT_MON_NINJASK_2, + FALLARBOR_TENT_MON_ARON_2, + FALLARBOR_TENT_MON_LOUDRED, + FALLARBOR_TENT_MON_MIGHTYENA, -1 }; const u16 gFallarborBattleTentTrainerMons_Britney[] = { - 4, - 7, - 14, - 20, - 23, - 43, + FALLARBOR_TENT_MON_KECLEON, + FALLARBOR_TENT_MON_MAKUHITA, + FALLARBOR_TENT_MON_NINJASK_1, + FALLARBOR_TENT_MON_VOLTORB, + FALLARBOR_TENT_MON_LINOONE_2, + FALLARBOR_TENT_MON_NUZLEAF, -1 }; const u16 gFallarborBattleTentTrainerMons_Hecter[] = { - 0, - 1, - 2, - 5, - 9, - 35, + FALLARBOR_TENT_MON_NUMEL, + FALLARBOR_TENT_MON_LINOONE_1, + FALLARBOR_TENT_MON_PLUSLE, + FALLARBOR_TENT_MON_MAGIKARP, + FALLARBOR_TENT_MON_NINCADA, + FALLARBOR_TENT_MON_TRAPINCH, -1 }; const u16 gFallarborBattleTentTrainerMons_Tannor[] = { - 5, - 30, - 31, - 33, - 34, + FALLARBOR_TENT_MON_MAGIKARP, + FALLARBOR_TENT_MON_BARBOACH, + FALLARBOR_TENT_MON_WAILMER, + FALLARBOR_TENT_MON_GOLDEEN_1, + FALLARBOR_TENT_MON_GOLDEEN_2, -1 }; const u16 gFallarborBattleTentTrainerMons_Benji[] = { - 25, - 26, - 27, - 28, - 29, + FALLARBOR_TENT_MON_SWABLU, + FALLARBOR_TENT_MON_SKARMORY, + FALLARBOR_TENT_MON_GOLBAT, + FALLARBOR_TENT_MON_WINGULL, + FALLARBOR_TENT_MON_PELIPPER, -1 }; const u16 gFallarborBattleTentTrainerMons_Rory[] = { - 9, - 11, - 14, - 15, - 27, - 39, + FALLARBOR_TENT_MON_NINCADA, + FALLARBOR_TENT_MON_DUSTOX, + FALLARBOR_TENT_MON_NINJASK_1, + FALLARBOR_TENT_MON_NINJASK_2, + FALLARBOR_TENT_MON_GOLBAT, + FALLARBOR_TENT_MON_SWALOT, -1 }; const u16 gFallarborBattleTentTrainerMons_Eleanor[] = { - 23, - 28, - 31, - 36, - 38, - 42, - 44, + FALLARBOR_TENT_MON_LINOONE_2, + FALLARBOR_TENT_MON_WINGULL, + FALLARBOR_TENT_MON_WAILMER, + FALLARBOR_TENT_MON_BALTOY, + FALLARBOR_TENT_MON_SANDSHREW, + FALLARBOR_TENT_MON_LOMBRE, + FALLARBOR_TENT_MON_CACNEA, -1 }; const u16 gFallarborBattleTentTrainerMons_Evelyn[] = { - 29, - 31, - 32, - 33, - 34, + FALLARBOR_TENT_MON_PELIPPER, + FALLARBOR_TENT_MON_WAILMER, + FALLARBOR_TENT_MON_MARILL, + FALLARBOR_TENT_MON_GOLDEEN_1, + FALLARBOR_TENT_MON_GOLDEEN_2, -1 }; const u16 gFallarborBattleTentTrainerMons_Arielle[] = { - 1, - 3, - 38, - 39, - 41, + FALLARBOR_TENT_MON_LINOONE_1, + FALLARBOR_TENT_MON_POOCHYENA, + FALLARBOR_TENT_MON_SANDSHREW, + FALLARBOR_TENT_MON_SWALOT, + FALLARBOR_TENT_MON_KIRLIA, -1 }; const u16 gFallarborBattleTentTrainerMons_Connar[] = { - 7, - 8, - 28, - 29, - 31, - 32, + FALLARBOR_TENT_MON_MAKUHITA, + FALLARBOR_TENT_MON_MACHOKE, + FALLARBOR_TENT_MON_WINGULL, + FALLARBOR_TENT_MON_PELIPPER, + FALLARBOR_TENT_MON_WAILMER, + FALLARBOR_TENT_MON_MARILL, -1 }; const u16 gFallarborBattleTentTrainerMons_Maurice[] = { - 4, - 5, - 6, - 12, - 13, + FALLARBOR_TENT_MON_KECLEON, + FALLARBOR_TENT_MON_MAGIKARP, + FALLARBOR_TENT_MON_SOLROCK, + FALLARBOR_TENT_MON_ILLUMISE, + FALLARBOR_TENT_MON_VOLBEAT, -1 }; const u16 gFallarborBattleTentTrainerMons_Kianna[] = { - 22, - 24, - 26, - 27, - 34, - 37, + FALLARBOR_TENT_MON_LOUDRED, + FALLARBOR_TENT_MON_MIGHTYENA, + FALLARBOR_TENT_MON_SKARMORY, + FALLARBOR_TENT_MON_GOLBAT, + FALLARBOR_TENT_MON_GOLDEEN_2, + FALLARBOR_TENT_MON_GRAVELER, -1 }; -const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] = +const struct BattleFrontierTrainer gFallarborBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] = { - [0] = { + [FALLARBOR_TENT_TRAINER_AMBER] = { .facilityClass = FACILITY_CLASS_AROMA_LADY, .trainerName = _("AMBER"), .speechBefore = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_DIET, EC_WORD_EVERY, EC_WORD_DAY}, .speechWin = {EC_WORD_A, EC_MOVE(NIGHTMARE), EC_WORD_OF, EC_WORD_SWEETS, EC_WORD_SHOCKED, EC_WORD_ME}, .speechLose = {EC_WORD_IF, EC_WORD_YOU, EC_WORD_GIVE_UP, EC_WORD_YOU, EC_WORD_WILL, EC_WORD_LOSE}, - .monSets = gFallarborBattleTentTrainerMons_Amber + .monSet = gFallarborBattleTentTrainerMons_Amber }, - [1] = { + [FALLARBOR_TENT_TRAINER_JAVIER] = { .facilityClass = FACILITY_CLASS_RUIN_MANIAC, .trainerName = _("JAVIER"), .speechBefore = {EC_WORD_I, EC_WORD_NEVER, EC_WORD_EVER, EC_WORD_HAVE, EC_WORD_ENOUGH, EC_WORD_MONEY}, .speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_BUT, EC_WORD_I, EC_WORD_NEED, EC_WORD_MONEY}, .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_MONEY, EC_WORD_FOR, EC_WORD_A, EC_WORD_BIKE}, - .monSets = gFallarborBattleTentTrainerMons_Javier + .monSet = gFallarborBattleTentTrainerMons_Javier }, - [2] = { + [FALLARBOR_TENT_TRAINER_NATALIA] = { .facilityClass = FACILITY_CLASS_TUBER_F, .trainerName = _("NATALIE"), .speechBefore = {EC_WORD_THE, EC_WORD_WAY, EC_WORD_I, EC_WORD_BATTLE, EC_WORD_IS, EC_WORD_WEIRD}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_MUCH, EC_WORD_TOO_WEAK, EC_WORD_FOR, EC_WORD_THIS, EC_WORD_PLACE}, .speechLose = {EC_WORD_GIVE_ME, EC_WORD_AN, EC_WORD_EASY, EC_WORD_MATCH, EC_WORD_NEXT, EC_WORD_TIME}, - .monSets = gFallarborBattleTentTrainerMons_Natalie + .monSet = gFallarborBattleTentTrainerMons_Natalie }, - [3] = { + [FALLARBOR_TENT_TRAINER_TREVE] = { .facilityClass = FACILITY_CLASS_TUBER_M, .trainerName = _("TREVE"), .speechBefore = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_MOVE2(METRONOME), EC_WORD_AND, EC_WORD_SLEEP}, .speechWin = {EC_WORD_YEAH, EC_WORD_EXCL, EC_MOVE(HYPNOSIS), EC_WORD_IS, EC_WORD_TOTALLY, EC_WORD_GREAT}, .speechLose = {EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_DIDN_T, EC_WORD_WORK, EC_WORD_ELLIPSIS, -1}, - .monSets = gFallarborBattleTentTrainerMons_Treve + .monSet = gFallarborBattleTentTrainerMons_Treve }, - [4] = { + [FALLARBOR_TENT_TRAINER_ARIANNA] = { .facilityClass = FACILITY_CLASS_LADY, .trainerName = _("ARIANNA"), .speechBefore = {EC_WORD_IF_I_WIN, EC_WORD_GIVE_ME, EC_WORD_POKEMON, EC_WORD_FOR, EC_WORD_MY, EC_WORD_COLLECTION}, .speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_TOO_WEAK, EC_WORD_TO, EC_WORD_COLLECT}, .speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_SOMETHING, EC_WORD_ELSE, EC_WORD_ELLIPSIS}, - .monSets = gFallarborBattleTentTrainerMons_Arianna + .monSet = gFallarborBattleTentTrainerMons_Arianna }, - [5] = { + [FALLARBOR_TENT_TRAINER_JADYN] = { .facilityClass = FACILITY_CLASS_BEAUTY, .trainerName = _("JADYN"), .speechBefore = {EC_WORD_MY, EC_WORD_NAME, EC_WORD_IS, EC_WORD_REALLY, EC_WORD_A, EC_WORD_MYSTERY}, .speechWin = {EC_WORD_MY, EC_WORD_NAME, EC_WORD_GOES, EC_WORD_ON, EC_WORD_A, EC_WORD_MYSTERY}, .speechLose = {EC_WORD_MY, EC_WORD_NAME, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_YOUR, EC_WORD_MOTHER}, - .monSets = gFallarborBattleTentTrainerMons_Jadyn + .monSet = gFallarborBattleTentTrainerMons_Jadyn }, - [6] = { + [FALLARBOR_TENT_TRAINER_GERARDO] = { .facilityClass = FACILITY_CLASS_RICH_BOY, .trainerName = _("GERARDO"), .speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_BEST, EC_WORD_HERO, EC_WORD_EVER, EC_WORD_EXCL}, .speechWin = {EC_WORD_SEE, EC_WORD_WHAT, EC_WORD_I, EC_WORD_MEAN, EC_WORD_QUES, -1}, .speechLose = {EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_WERE, EC_WORD_RIGHT, EC_WORD_QUES, -1}, - .monSets = gFallarborBattleTentTrainerMons_Gerardo + .monSet = gFallarborBattleTentTrainerMons_Gerardo }, - [7] = { + [FALLARBOR_TENT_TRAINER_JONN] = { .facilityClass = FACILITY_CLASS_POKEMANIAC, .trainerName = _("JONN"), .speechBefore = {EC_WORD_THE, EC_WORD_WORLD, EC_MOVE2(SUPERPOWER), EC_MOVE2(STOMP), EC_WORD_CONTEST, EC_WORD_EXCL_EXCL}, .speechWin = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_EXCL_EXCL, EC_WORD_HEAR, EC_WORD_ME, EC_MOVE2(ROAR)}, .speechLose = {EC_WORD_I, EC_WORD_GIVE_UP, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_NO_1, EC_WORD_EXCL}, - .monSets = gFallarborBattleTentTrainerMons_Jonn + .monSet = gFallarborBattleTentTrainerMons_Jonn }, - [8] = { + [FALLARBOR_TENT_TRAINER_ESTEBAN] = { .facilityClass = FACILITY_CLASS_SWIMMER_M, .trainerName = _("ESTEBAN"), .speechBefore = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_GOOD, EC_WORD_TRAINER, EC_WORD_QUES, EC_WORD_UNBELIEVABLE}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_SOME, EC_WORD_PUSHOVER, EC_WORD_OF, EC_WORD_A, EC_WORD_TRAINER}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_MUCH, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_FOR, EC_WORD_ME}, - .monSets = gFallarborBattleTentTrainerMons_Esteban + .monSet = gFallarborBattleTentTrainerMons_Esteban }, - [9] = { + [FALLARBOR_TENT_TRAINER_JAMESON] = { .facilityClass = FACILITY_CLASS_CAMPER, .trainerName = _("JAMESON"), .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_SILKY, EC_WORD_SMOOTH, EC_WORD_EXCL}, .speechWin = {EC_WORD_MY, EC_WORD_SILKY, EC_WORD_SMOOTH, EC_WORD_POKEMON, EC_WORD_RULE, EC_WORD_EXCL}, .speechLose = {EC_WORD_MY, EC_WORD_POKEMON, EC_MOVE2(STRUGGLE), EC_WORD_IN, EC_WORD_YOUR, EC_WORD_STICKY_HOLD}, - .monSets = gFallarborBattleTentTrainerMons_Jameson + .monSet = gFallarborBattleTentTrainerMons_Jameson }, - [10] = { + [FALLARBOR_TENT_TRAINER_ALANZO] = { .facilityClass = FACILITY_CLASS_BUG_MANIAC, .trainerName = _("ALANZO"), .speechBefore = {EC_MOVE2(FORESIGHT), EC_WORD_IS, EC_WORD_A, EC_WORD_POWER, EC_WORD_I, EC_WORD_HAVE}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_OBLIVIOUS, EC_WORD_ABOUT, EC_MOVE2(FORESIGHT), EC_WORD_EXCL, -1}, .speechLose = {EC_WORD_MY, EC_MOVE2(FORESIGHT), EC_WORD_IS, EC_WORD_ALWAYS, EC_WORD_RIGHT, EC_WORD_EXCL}, - .monSets = gFallarborBattleTentTrainerMons_Alanzo + .monSet = gFallarborBattleTentTrainerMons_Alanzo }, - [11] = { + [FALLARBOR_TENT_TRAINER_HOWARD] = { .facilityClass = FACILITY_CLASS_GENTLEMAN, .trainerName = _("HOWARD"), .speechBefore = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_CAN_T, EC_WORD_BEAT, EC_WORD_ME, -1}, .speechWin = {EC_WORD_YOU, EC_WORD_COULDN_T, EC_WORD_WIN, EC_WORD_COULD, EC_WORD_YOU, EC_WORD_QUES}, .speechLose = {EC_WORD_YOU, EC_WORD_WOULD, EC_WORD_GO, EC_WORD_ALL, EC_WORD_OUT, EC_WORD_ELLIPSIS}, - .monSets = gFallarborBattleTentTrainerMons_Howard + .monSet = gFallarborBattleTentTrainerMons_Howard }, - [12] = { + [FALLARBOR_TENT_TRAINER_CONRAD] = { .facilityClass = FACILITY_CLASS_GUITARIST, .trainerName = _("CONRAD"), .speechBefore = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_PRETTY, EC_WORD_WILD, EC_WORD_EXCL}, .speechWin = {EC_WORD_WHOAH, EC_WORD_EXCL_EXCL, -1, EC_WORD_LET_S, EC_WORD_DANCE, EC_WORD_EXCL}, .speechLose = {EC_WORD_MY, EC_WORD_MUSIC, EC_WORD_WILL, EC_WORD_PLAY, EC_WORD_ON, EC_WORD_ELLIPSIS}, - .monSets = gFallarborBattleTentTrainerMons_Conrad + .monSet = gFallarborBattleTentTrainerMons_Conrad }, - [13] = { + [FALLARBOR_TENT_TRAINER_MAKENNA] = { .facilityClass = FACILITY_CLASS_SCHOOL_KID_F, .trainerName = _("MAKENNA"), .speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_THAT, EC_WORD_YOU, EC_WORD_MEAN, EC_WORD_IT}, .speechWin = {EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_I, EC_WORD_STUDY, EC_WORD_EVERY, EC_WORD_DAY}, .speechLose = {EC_WORD_AWW, EC_WORD_I, EC_WORD_STUDY, EC_WORD_EVERY, EC_WORD_DAY, EC_WORD_TOO}, - .monSets = gFallarborBattleTentTrainerMons_Makenna + .monSet = gFallarborBattleTentTrainerMons_Makenna }, - [14] = { + [FALLARBOR_TENT_TRAINER_BRAYAN] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_M, .trainerName = _("BRAYAN"), .speechBefore = {EC_WORD_CAN, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_MY, EC_WORD_POWER, EC_WORD_QUES}, .speechWin = {EC_WORD_HOW, EC_WORD_BORING, EC_WORD_ELLIPSIS, EC_WORD_THIS, EC_WORD_IS, EC_WORD_GOOD_BYE}, .speechLose = {EC_WORD_AM, EC_WORD_I, EC_WORD_THE, EC_WORD_WEAK, EC_WORD_TRAINER, EC_WORD_QUES}, - .monSets = gFallarborBattleTentTrainerMons_Brayan + .monSet = gFallarborBattleTentTrainerMons_Brayan }, - [15] = { + [FALLARBOR_TENT_TRAINER_MARIANA] = { .facilityClass = FACILITY_CLASS_COOLTRAINER_F, .trainerName = _("MARIANA"), .speechBefore = {EC_WORD_A, EC_WORD_LIE, EC_WORD_CAN, EC_WORD_BE, EC_WORD_KIND, EC_WORD_ELLIPSIS}, .speechWin = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_LIKE, EC_WORD_THE, EC_WORD_SUNDAY, EC_WORD_COMICS}, .speechLose = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_LIKE, EC_WORD_FROM, EC_WORD_A, EC_WORD_MOVIE}, - .monSets = gFallarborBattleTentTrainerMons_Mariana + .monSet = gFallarborBattleTentTrainerMons_Mariana }, - [16] = { + [FALLARBOR_TENT_TRAINER_SHELDON] = { .facilityClass = FACILITY_CLASS_POKEFAN_M, .trainerName = _("SHELDON"), .speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_TEACHER, EC_WORD_GETS, EC_WORD_NO, EC_MOVE2(REST)}, .speechWin = {EC_WORD_MY, EC_WORD_SMARTNESS, EC_WORD_GETS, EC_WORD_ME, EC_WORD_EASY, EC_WORD_WINS}, .speechLose = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_GO, EC_WORD_WORK, EC_WORD_BYE_BYE}, - .monSets = gFallarborBattleTentTrainerMons_Sheldon + .monSet = gFallarborBattleTentTrainerMons_Sheldon }, - [17] = { + [FALLARBOR_TENT_TRAINER_GIANNA] = { .facilityClass = FACILITY_CLASS_POKEFAN_F, .trainerName = _("GIANNA"), .speechBefore = {EC_WORD_AHAHA, EC_WORD_YES, EC_WORD_EXCL, EC_WORD_LOVEY_DOVEY, EC_WORD_POKEMON, EC_WORD_WORLD}, .speechWin = {EC_WORD_MY, EC_WORD_SHINE, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_THINGS, EC_WORD_BETTER}, .speechLose = {EC_WORD_DO, EC_WORD_YOU, EC_WORD_DISLIKE, EC_WORD_POKEMON, EC_WORD_QUES, -1}, - .monSets = gFallarborBattleTentTrainerMons_Gianna + .monSet = gFallarborBattleTentTrainerMons_Gianna }, - [18] = { + [FALLARBOR_TENT_TRAINER_YAHIR] = { .facilityClass = FACILITY_CLASS_EXPERT_M, .trainerName = _("YAHIR"), .speechBefore = {EC_WORD_YOU, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_COME_ON, EC_WORD_EXCL}, .speechWin = {EC_WORD_YOU, EC_WORD_NEED, EC_WORD_TO, EC_WORD_TRAIN, EC_WORD_A_LOT, EC_WORD_MORE}, .speechLose = {EC_WORD_NOT, EC_WORD_ENOUGH, EC_WORD_ELLIPSIS, EC_WORD_JUST, EC_WORD_NOT, EC_WORD_ENOUGH}, - .monSets = gFallarborBattleTentTrainerMons_Yahir + .monSet = gFallarborBattleTentTrainerMons_Yahir }, - [19] = { + [FALLARBOR_TENT_TRAINER_BRITNEY] = { .facilityClass = FACILITY_CLASS_EXPERT_F, .trainerName = _("BRITNEY"), .speechBefore = {EC_WORD_IT, EC_WORD_SEEMS, EC_WORD_THAT, EC_WORD_YOU_RE, EC_WORD_QUITE, EC_WORD_GOOD}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_LUKEWARM, EC_WORD_TALENT, EC_WORD_AT, EC_WORD_BEST}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_COOL, EC_WORD_HERO, EC_WORD_AT, EC_WORD_THIS}, - .monSets = gFallarborBattleTentTrainerMons_Britney + .monSet = gFallarborBattleTentTrainerMons_Britney }, - [20] = { + [FALLARBOR_TENT_TRAINER_HECTER] = { .facilityClass = FACILITY_CLASS_YOUNGSTER, .trainerName = _("HECTER"), .speechBefore = {EC_WORD_MY, EC_MOVE2(HIDDEN_POWER), EC_WORD_IS, EC_WORD_EXCITING, EC_WORD_ME, EC_WORD_EXCL}, .speechWin = {EC_WORD_YEEHAW_EXCL, EC_WORD_LET_S, EC_WORD_HAVE, EC_WORD_A, EC_MOVE2(HIDDEN_POWER), EC_WORD_PARTY}, .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, EC_WORD_DON_T, EC_WORD_YOU, EC_MOVE2(MIMIC), EC_WORD_ME}, - .monSets = gFallarborBattleTentTrainerMons_Hecter + .monSet = gFallarborBattleTentTrainerMons_Hecter }, - [21] = { + [FALLARBOR_TENT_TRAINER_TANNOR] = { .facilityClass = FACILITY_CLASS_FISHERMAN, .trainerName = _("TANNOR"), .speechBefore = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_GOT, EC_WORD_TO, EC_WORD_BE, EC_WORD_JOKING}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_THE, EC_WORD_BEST, EC_WORD_AT, EC_WORD_BEING, EC_WORD_FUNNY}, .speechLose = {EC_WORD_YOU, EC_WORD_WEREN_T, EC_WORD_BEING, EC_WORD_FUNNY, EC_WORD_AT, EC_WORD_ALL}, - .monSets = gFallarborBattleTentTrainerMons_Tannor + .monSet = gFallarborBattleTentTrainerMons_Tannor }, - [22] = { + [FALLARBOR_TENT_TRAINER_BENJI] = { .facilityClass = FACILITY_CLASS_BIRD_KEEPER, .trainerName = _("BENJI"), .speechBefore = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_THINK, EC_WORD_VERY, EC_WORD_FAST, EC_WORD_HUH_QUES}, .speechWin = {EC_WORD_SORRY, EC_WORD_EXCL, EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_MEAN, EC_WORD_YOU}, .speechLose = {EC_WORD_YOU, EC_WORD_LEFT, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_SAD, EC_WORD_ELLIPSIS}, - .monSets = gFallarborBattleTentTrainerMons_Benji + .monSet = gFallarborBattleTentTrainerMons_Benji }, - [23] = { + [FALLARBOR_TENT_TRAINER_RORY] = { .facilityClass = FACILITY_CLASS_NINJA_BOY, .trainerName = _("RORY"), .speechBefore = {EC_WORD_DON_T, EC_WORD_CAUSE, EC_WORD_AN, EC_MOVE(UPROAR), EC_WORD_YOU, EC_WORD_EXCL}, .speechWin = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_NEED, EC_WORD_AN, EC_MOVE(UPROAR), EC_WORD_EXCL}, .speechLose = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_CAUSE, EC_WORD_AN, EC_MOVE(UPROAR)}, - .monSets = gFallarborBattleTentTrainerMons_Rory + .monSet = gFallarborBattleTentTrainerMons_Rory }, - [24] = { + [FALLARBOR_TENT_TRAINER_ELEANOR] = { .facilityClass = FACILITY_CLASS_PARASOL_LADY, .trainerName = _("ELEANOR"), .speechBefore = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_WANT, EC_WORD_TO, EC_WORD_PARTY, -1}, .speechWin = {EC_WORD_A, EC_WORD_TRENDY, EC_WORD_PARTY, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_REFRESHING}, .speechLose = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_PARTY, EC_WORD_QUES}, - .monSets = gFallarborBattleTentTrainerMons_Eleanor + .monSet = gFallarborBattleTentTrainerMons_Eleanor }, - [25] = { + [FALLARBOR_TENT_TRAINER_EVELYN] = { .facilityClass = FACILITY_CLASS_SWIMMER_F, .trainerName = _("EVELYN"), .speechBefore = {EC_WORD_MY, EC_WORD_PC, EC_WORD_IS, EC_WORD_MY, EC_WORD_SECRET_BASE, EC_WORD_EXCL}, .speechWin = {EC_WORD_IT_S, EC_WORD_ALL, EC_WORD_SECRET, EC_WORD_ON, EC_WORD_MY, EC_WORD_PC}, .speechLose = {EC_WORD_NO, EC_WORD_EXCL, -1, EC_WORD_I, EC_WORD_REJECT, EC_WORD_THIS}, - .monSets = gFallarborBattleTentTrainerMons_Evelyn + .monSet = gFallarborBattleTentTrainerMons_Evelyn }, - [26] = { + [FALLARBOR_TENT_TRAINER_ARIELLE] = { .facilityClass = FACILITY_CLASS_PICNICKER, .trainerName = _("ARIELLE"), .speechBefore = {EC_WORD_IT_S, EC_WORD_NOT_VERY, EC_WORD_PRETTY, EC_WORD_BUT, EC_WORD_I, EC_WORD_TRY}, .speechWin = {EC_WORD_WE_RE, EC_WORD_NOT_VERY, EC_WORD_PRETTY, EC_WORD_BUT, EC_WORD_WE_RE, EC_WORD_GREAT}, .speechLose = {EC_WORD_THAT_WAS, EC_WORD_PRETTY, EC_WORD_MEAN, EC_WORD_OF, EC_WORD_YOU, EC_WORD_EXCL}, - .monSets = gFallarborBattleTentTrainerMons_Arielle + .monSet = gFallarborBattleTentTrainerMons_Arielle }, - [27] = { + [FALLARBOR_TENT_TRAINER_CONNAR] = { .facilityClass = FACILITY_CLASS_SAILOR, .trainerName = _("CONNAR"), .speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_STRONG, EC_WORD_ENOUGH, EC_WORD_FOR, EC_WORD_THIS}, .speechWin = {EC_WORD_DO, EC_WORD_YOU, EC_WORD_THINK, EC_WORD_YOU_RE, EC_WORD_OK_QUES, -1}, .speechLose = {EC_WORD_GOOD_BYE, EC_WORD_AND, EC_WORD_THANK_YOU, -1, -1, -1}, - .monSets = gFallarborBattleTentTrainerMons_Connar + .monSet = gFallarborBattleTentTrainerMons_Connar }, - [28] = { + [FALLARBOR_TENT_TRAINER_MAURICE] = { .facilityClass = FACILITY_CLASS_COLLECTOR, .trainerName = _("MAURICE"), .speechBefore = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NO, EC_WORD_RADIO, EC_WORD_OR, EC_WORD_TELEVISION}, .speechWin = {EC_WORD_BUT, EC_WORD_THERE, EC_WORD_IS, EC_WORD_A_LOT, EC_WORD_OF, EC_WORD_POKEMON}, .speechLose = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_ENJOY, EC_WORD_MYSELF, EC_WORD_WITHOUT, EC_WORD_MONEY}, - .monSets = gFallarborBattleTentTrainerMons_Maurice + .monSet = gFallarborBattleTentTrainerMons_Maurice }, - [29] = { + [FALLARBOR_TENT_TRAINER_KIANNA] = { .facilityClass = FACILITY_CLASS_LASS, .trainerName = _("KIANNA"), .speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_DEPT_STORE, EC_WORD_SHOPPING}, .speechWin = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_SHOPPING, EC_WORD_ALONE, -1, -1}, .speechLose = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_SHOPPING, EC_WORD_TOGETHER, EC_WORD_QUES}, - .monSets = gFallarborBattleTentTrainerMons_Kianna + .monSet = gFallarborBattleTentTrainerMons_Kianna } }; -const struct FacilityMon gFallarborBattleTentMons[] = +const struct FacilityMon gFallarborBattleTentMons[NUM_FALLARBOR_TENT_MONS] = { - [0] = { + [FALLARBOR_TENT_MON_NUMEL] = { .species = SPECIES_NUMEL, .moves = {MOVE_GROWL, MOVE_FLAMETHROWER, MOVE_TACKLE, MOVE_SUNNY_DAY}, .itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [1] = { + [FALLARBOR_TENT_MON_LINOONE_1] = { .species = SPECIES_LINOONE, .moves = {MOVE_ODOR_SLEUTH, MOVE_COVET, MOVE_ROCK_SMASH, MOVE_CHARM}, .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, .nature = NATURE_SASSY }, - [2] = { + [FALLARBOR_TENT_MON_PLUSLE] = { .species = SPECIES_PLUSLE, .moves = {MOVE_SPARK, MOVE_GROWL, MOVE_QUICK_ATTACK, MOVE_FAKE_TEARS}, .itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [3] = { + [FALLARBOR_TENT_MON_POOCHYENA] = { .species = SPECIES_POOCHYENA, .moves = {MOVE_YAWN, MOVE_ODOR_SLEUTH, MOVE_HOWL, MOVE_FRUSTRATION}, .itemTableId = BATTLE_FRONTIER_ITEM_LEPPA_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_NAUGHTY }, - [4] = { + [FALLARBOR_TENT_MON_KECLEON] = { .species = SPECIES_KECLEON, .moves = {MOVE_LICK, MOVE_SLASH, MOVE_FAINT_ATTACK, MOVE_PSYBEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_WIKI_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_MODEST }, - [5] = { + [FALLARBOR_TENT_MON_MAGIKARP] = { .species = SPECIES_MAGIKARP, .moves = {MOVE_SPLASH, MOVE_TACKLE, MOVE_FLAIL, MOVE_NONE}, .itemTableId = BATTLE_FRONTIER_ITEM_DRAGON_SCALE, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [6] = { + [FALLARBOR_TENT_MON_SOLROCK] = { .species = SPECIES_SOLROCK, .moves = {MOVE_ROCK_THROW, MOVE_FLASH, MOVE_SANDSTORM, MOVE_PSYWAVE}, .itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_SASSY }, - [7] = { + [FALLARBOR_TENT_MON_MAKUHITA] = { .species = SPECIES_MAKUHITA, .moves = {MOVE_DETECT, MOVE_ARM_THRUST, MOVE_FAKE_OUT, MOVE_SMELLING_SALT}, .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [8] = { + [FALLARBOR_TENT_MON_MACHOKE] = { .species = SPECIES_MACHOKE, .moves = {MOVE_COUNTER, MOVE_REVENGE, MOVE_BULK_UP, MOVE_FOCUS_ENERGY}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_NAIVE }, - [9] = { + [FALLARBOR_TENT_MON_NINCADA] = { .species = SPECIES_NINCADA, .moves = {MOVE_FURY_SWIPES, MOVE_ENDURE, MOVE_MUD_SLAP, MOVE_DIG}, .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_SERIOUS }, - [10] = { + [FALLARBOR_TENT_MON_BEAUTIFLY] = { .species = SPECIES_BEAUTIFLY, .moves = {MOVE_FLASH, MOVE_MORNING_SUN, MOVE_HARDEN, MOVE_MEGA_DRAIN}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIRKY }, - [11] = { + [FALLARBOR_TENT_MON_DUSTOX] = { .species = SPECIES_DUSTOX, .moves = {MOVE_MOONLIGHT, MOVE_HARDEN, MOVE_POISON_STING, MOVE_PSYBEAM}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, .nature = NATURE_DOCILE }, - [12] = { + [FALLARBOR_TENT_MON_ILLUMISE] = { .species = SPECIES_ILLUMISE, .moves = {MOVE_METRONOME, MOVE_FLATTER, MOVE_WISH, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY, .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [13] = { + [FALLARBOR_TENT_MON_VOLBEAT] = { .species = SPECIES_VOLBEAT, .moves = {MOVE_TACKLE, MOVE_MOONLIGHT, MOVE_SIGNAL_BEAM, MOVE_TAIL_GLOW}, .itemTableId = BATTLE_FRONTIER_ITEM_LEPPA_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [14] = { + [FALLARBOR_TENT_MON_NINJASK_1] = { .species = SPECIES_NINJASK, .moves = {MOVE_DOUBLE_TEAM, MOVE_PROTECT, MOVE_DIG, MOVE_SAND_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_TIMID }, - [15] = { + [FALLARBOR_TENT_MON_NINJASK_2] = { .species = SPECIES_NINJASK, .moves = {MOVE_SWORDS_DANCE, MOVE_CUT, MOVE_FURY_CUTTER, MOVE_LEECH_LIFE}, .itemTableId = BATTLE_FRONTIER_ITEM_SILVER_POWDER, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [16] = { + [FALLARBOR_TENT_MON_ARON_1] = { .species = SPECIES_ARON, .moves = {MOVE_METAL_CLAW, MOVE_PROTECT, MOVE_SHOCK_WAVE, MOVE_METAL_SOUND}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_LONELY }, - [17] = { + [FALLARBOR_TENT_MON_ARON_2] = { .species = SPECIES_ARON, .moves = {MOVE_SECRET_POWER, MOVE_METAL_CLAW, MOVE_IRON_DEFENSE, MOVE_MUD_SLAP}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_GENTLE }, - [18] = { + [FALLARBOR_TENT_MON_ELECTRIKE] = { .species = SPECIES_ELECTRIKE, .moves = {MOVE_CRUNCH, MOVE_THUNDER_WAVE, MOVE_HOWL, MOVE_QUICK_ATTACK}, .itemTableId = BATTLE_FRONTIER_ITEM_SEA_INCENSE, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_HASTY }, - [19] = { + [FALLARBOR_TENT_MON_MAGNEMITE] = { .species = SPECIES_MAGNEMITE, .moves = {MOVE_THUNDER_WAVE, MOVE_SUPERSONIC, MOVE_ENDURE, MOVE_SPARK}, .itemTableId = BATTLE_FRONTIER_ITEM_MAGNET, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_QUIET }, - [20] = { + [FALLARBOR_TENT_MON_VOLTORB] = { .species = SPECIES_VOLTORB, .moves = {MOVE_CHARGE, MOVE_SPARK, MOVE_SCREECH, MOVE_SONIC_BOOM}, .itemTableId = BATTLE_FRONTIER_ITEM_ASPEAR_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [21] = { + [FALLARBOR_TENT_MON_WHISMUR] = { .species = SPECIES_WHISMUR, .moves = {MOVE_REST, MOVE_SLEEP_TALK, MOVE_HYPER_VOICE, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [22] = { + [FALLARBOR_TENT_MON_LOUDRED] = { .species = SPECIES_LOUDRED, .moves = {MOVE_STOMP, MOVE_REST, MOVE_SCREECH, MOVE_UPROAR}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [23] = { + [FALLARBOR_TENT_MON_LINOONE_2] = { .species = SPECIES_LINOONE, .moves = {MOVE_FURY_SWIPES, MOVE_SAND_ATTACK, MOVE_SHOCK_WAVE, MOVE_GROWL}, .itemTableId = BATTLE_FRONTIER_ITEM_MAGNET, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [24] = { + [FALLARBOR_TENT_MON_MIGHTYENA] = { .species = SPECIES_MIGHTYENA, .moves = {MOVE_SAND_ATTACK, MOVE_HOWL, MOVE_SWAGGER, MOVE_SECRET_POWER}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_JOLLY }, - [25] = { + [FALLARBOR_TENT_MON_SWABLU] = { .species = SPECIES_SWABLU, .moves = {MOVE_TAKE_DOWN, MOVE_SING, MOVE_GROWL, MOVE_SAFEGUARD}, .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_QUIRKY }, - [26] = { + [FALLARBOR_TENT_MON_SKARMORY] = { .species = SPECIES_SKARMORY, .moves = {MOVE_AGILITY, MOVE_STEEL_WING, MOVE_SAND_ATTACK, MOVE_TORMENT}, .itemTableId = BATTLE_FRONTIER_ITEM_METAL_COAT, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [27] = { + [FALLARBOR_TENT_MON_GOLBAT] = { .species = SPECIES_GOLBAT, .moves = {MOVE_CONFUSE_RAY, MOVE_BITE, MOVE_DOUBLE_TEAM, MOVE_SUBSTITUTE}, .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BOLD }, - [28] = { + [FALLARBOR_TENT_MON_WINGULL] = { .species = SPECIES_WINGULL, .moves = {MOVE_WING_ATTACK, MOVE_HAIL, MOVE_DOUBLE_TEAM, MOVE_SUPERSONIC}, .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, .nature = NATURE_MODEST }, - [29] = { + [FALLARBOR_TENT_MON_PELIPPER] = { .species = SPECIES_PELIPPER, .moves = {MOVE_TWISTER, MOVE_ICY_WIND, MOVE_DOUBLE_TEAM, MOVE_WATER_GUN}, .itemTableId = BATTLE_FRONTIER_ITEM_DRAGON_FANG, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [30] = { + [FALLARBOR_TENT_MON_BARBOACH] = { .species = SPECIES_BARBOACH, .moves = {MOVE_SPARK, MOVE_WATER_GUN, MOVE_EARTHQUAKE, MOVE_WATER_SPORT}, .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_MODEST }, - [31] = { + [FALLARBOR_TENT_MON_WAILMER] = { .species = SPECIES_WAILMER, .moves = {MOVE_WATER_PULSE, MOVE_RAIN_DANCE, MOVE_SPLASH, MOVE_CURSE}, .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_QUIET }, - [32] = { + [FALLARBOR_TENT_MON_MARILL] = { .species = SPECIES_MARILL, .moves = {MOVE_DEFENSE_CURL, MOVE_ROLLOUT, MOVE_BUBBLE_BEAM, MOVE_ATTRACT}, .itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [33] = { + [FALLARBOR_TENT_MON_GOLDEEN_1] = { .species = SPECIES_GOLDEEN, .moves = {MOVE_WATERFALL, MOVE_RAIN_DANCE, MOVE_FLAIL, MOVE_PROTECT}, .itemTableId = BATTLE_FRONTIER_ITEM_GANLON_BERRY, .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, .nature = NATURE_HASTY }, - [34] = { + [FALLARBOR_TENT_MON_GOLDEEN_2] = { .species = SPECIES_GOLDEEN, .moves = {MOVE_SLEEP_TALK, MOVE_HORN_DRILL, MOVE_REST, MOVE_SUPERSONIC}, .itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_CAREFUL }, - [35] = { + [FALLARBOR_TENT_MON_TRAPINCH] = { .species = SPECIES_TRAPINCH, .moves = {MOVE_RETURN, MOVE_SAND_ATTACK, MOVE_ATTRACT, MOVE_STRENGTH}, .itemTableId = BATTLE_FRONTIER_ITEM_MAGO_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [36] = { + [FALLARBOR_TENT_MON_BALTOY] = { .species = SPECIES_BALTOY, .moves = {MOVE_SELF_DESTRUCT, MOVE_SANDSTORM, MOVE_RAPID_SPIN, MOVE_MIMIC}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_JOLLY }, - [37] = { + [FALLARBOR_TENT_MON_GRAVELER] = { .species = SPECIES_GRAVELER, .moves = {MOVE_ROCK_BLAST, MOVE_DEFENSE_CURL, MOVE_MAGNITUDE, MOVE_MUD_SPORT}, .itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_ADAMANT }, - [38] = { + [FALLARBOR_TENT_MON_SANDSHREW] = { .species = SPECIES_SANDSHREW, .moves = {MOVE_SAND_TOMB, MOVE_SANDSTORM, MOVE_DOUBLE_TEAM, MOVE_FOCUS_PUNCH}, .itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_JOLLY }, - [39] = { + [FALLARBOR_TENT_MON_SWALOT] = { .species = SPECIES_SWALOT, .moves = {MOVE_YAWN, MOVE_ENCORE, MOVE_BULLET_SEED, MOVE_SLUDGE}, .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS, .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, .nature = NATURE_BRAVE }, - [40] = { + [FALLARBOR_TENT_MON_SHROOMISH] = { .species = SPECIES_SHROOMISH, .moves = {MOVE_HEADBUTT, MOVE_SPORE, MOVE_SWAGGER, MOVE_LEECH_SEED}, .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_IMPISH }, - [41] = { + [FALLARBOR_TENT_MON_KIRLIA] = { .species = SPECIES_KIRLIA, .moves = {MOVE_HYPNOSIS, MOVE_GROWL, MOVE_ATTRACT, MOVE_DREAM_EATER}, .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [42] = { + [FALLARBOR_TENT_MON_LOMBRE] = { .species = SPECIES_LOMBRE, .moves = {MOVE_NATURE_POWER, MOVE_WATER_GUN, MOVE_RAIN_DANCE, MOVE_FLASH}, .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS, .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, .nature = NATURE_BASHFUL }, - [43] = { + [FALLARBOR_TENT_MON_NUZLEAF] = { .species = SPECIES_NUZLEAF, .moves = {MOVE_NATURE_POWER, MOVE_TORMENT, MOVE_SWAGGER, MOVE_REST}, .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY, .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, .nature = NATURE_ADAMANT }, - [44] = { + [FALLARBOR_TENT_MON_CACNEA] = { .species = SPECIES_CACNEA, .moves = {MOVE_SANDSTORM, MOVE_NEEDLE_ARM, MOVE_TEETER_DANCE, MOVE_LEECH_SEED}, .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER, diff --git a/src/data/battle_frontier/trainer_hill.h b/src/data/battle_frontier/trainer_hill.h index 54d49422af..cfd5dd9940 100644 --- a/src/data/battle_frontier/trainer_hill.h +++ b/src/data/battle_frontier/trainer_hill.h @@ -1,16 +1,17 @@ #define TRAINER_HILL_OTID 0x10000000 -static const struct TrHillTag gUnknown_0862609C = { - .unkField_0 = 4, +static const struct TrHillTag sDataTagJPDefault = { + .numTrainers = NUM_TRAINER_HILL_TRAINERS_JP, .unused1 = 1, - .numFloors = 2, + .numFloors = NUM_TRAINER_HILL_FLOORS_JP, .checksum = 0x0 }; -static const struct TrHillFloor gUnknown_0862609C_floors[] = { + +static const struct TrHillFloor sDataTagJPDefault_Floors[] = { [0] = { - .unk0 = 0, - .unk1 = 0, + .trainerNum1 = 0, + .trainerNum2 = 0, .trainers = { [0] = { .name = __("シゲノブ$$$$ "), @@ -33,7 +34,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = { .speedEV = 100, .spAttackEV = 0, .spDefenseEV = 100, - .otId = 0x10000000, + .otId = TRAINER_HILL_OTID, .hpIV = 5, .attackIV = 5, .defenseIV = 5, @@ -57,7 +58,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = { .speedEV = 0, .spAttackEV = 150, .spDefenseEV = 120, - .otId = 0x10000000, + .otId = TRAINER_HILL_OTID, .hpIV = 5, .attackIV = 5, .defenseIV = 5, @@ -81,7 +82,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = { .speedEV = 0, .spAttackEV = 0, .spDefenseEV = 200, - .otId = 0x10000000, + .otId = TRAINER_HILL_OTID, .hpIV = 5, .attackIV = 5, .defenseIV = 5, @@ -122,7 +123,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = { .speedEV = 0, .spAttackEV = 100, .spDefenseEV = 100, - .otId = 0x10000000, + .otId = TRAINER_HILL_OTID, .hpIV = 5, .attackIV = 5, .defenseIV = 5, @@ -146,7 +147,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = { .speedEV = 0, .spAttackEV = 100, .spDefenseEV = 100, - .otId = 0x10000000, + .otId = TRAINER_HILL_OTID, .hpIV = 5, .attackIV = 5, .defenseIV = 5, @@ -170,7 +171,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = { .speedEV = 0, .spAttackEV = 100, .spDefenseEV = 100, - .otId = 0x10000000, + .otId = TRAINER_HILL_OTID, .hpIV = 5, .attackIV = 5, .defenseIV = 5, @@ -194,8 +195,8 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = { } }, [1] = { - .unk0 = 0, - .unk1 = 0, + .trainerNum1 = 0, + .trainerNum2 = 0, .trainers = { [0] = { .name = __("シゲゾウ$$$$ "), @@ -218,7 +219,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = { .speedEV = 120, .spAttackEV = 150, .spDefenseEV = 0, - .otId = 0x10000000, + .otId = TRAINER_HILL_OTID, .hpIV = 5, .attackIV = 5, .defenseIV = 5, @@ -242,7 +243,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = { .speedEV = 0, .spAttackEV = 100, .spDefenseEV = 100, - .otId = 0x10000000, + .otId = TRAINER_HILL_OTID, .hpIV = 5, .attackIV = 5, .defenseIV = 5, @@ -266,7 +267,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = { .speedEV = 0, .spAttackEV = 110, .spDefenseEV = 100, - .otId = 0x10000000, + .otId = TRAINER_HILL_OTID, .hpIV = 5, .attackIV = 5, .defenseIV = 5, @@ -307,7 +308,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = { .speedEV = 0, .spAttackEV = 110, .spDefenseEV = 100, - .otId = 0x10000000, + .otId = TRAINER_HILL_OTID, .hpIV = 5, .attackIV = 5, .defenseIV = 5, @@ -331,7 +332,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = { .speedEV = 100, .spAttackEV = 110, .spDefenseEV = 100, - .otId = 0x10000000, + .otId = TRAINER_HILL_OTID, .hpIV = 5, .attackIV = 5, .defenseIV = 5, @@ -355,7 +356,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = { .speedEV = 80, .spAttackEV = 80, .spDefenseEV = 80, - .otId = 0x10000000, + .otId = TRAINER_HILL_OTID, .hpIV = 5, .attackIV = 5, .defenseIV = 5, @@ -382,18 +383,18 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = { static const struct TrHillTag sDataTagNormal = { - .unkField_0 = 8, + .numTrainers = NUM_TRAINER_HILL_TRAINERS, .unused1 = 2, - .numFloors = 4, + .numFloors = NUM_TRAINER_HILL_FLOORS, .checksum = 0x00051E05 }; -static const struct TrHillFloor sDataTagNormal_floors[] = +static const struct TrHillFloor sDataTagNormal_Floors[] = { [0] = { - .unk0 = 0x11, - .unk1 = 0x12, + .trainerNum1 = 17, + .trainerNum2 = 18, .trainers = { [0] = @@ -694,8 +695,8 @@ static const struct TrHillFloor sDataTagNormal_floors[] = }, [1] = { - .unk0 = 0x13, - .unk1 = 0x14, + .trainerNum1 = 19, + .trainerNum2 = 20, .trainers = { [0] = @@ -846,7 +847,7 @@ static const struct TrHillFloor sDataTagNormal_floors[] = [1] = { .name = _("JAYDEN"), - .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F, + .facilityClass = FACILITY_CLASS_PKMN_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}, @@ -999,8 +1000,8 @@ static const struct TrHillFloor sDataTagNormal_floors[] = }, [2] = { - .unk0 = 0x15, - .unk1 = 0x16, + .trainerNum1 = 21, + .trainerNum2 = 22, .trainers = { [0] = @@ -1151,7 +1152,7 @@ static const struct TrHillFloor sDataTagNormal_floors[] = [1] = { .name = _("VERONICA"), - .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F, + .facilityClass = FACILITY_CLASS_PKMN_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}, @@ -1303,8 +1304,8 @@ static const struct TrHillFloor sDataTagNormal_floors[] = }, [3] = { - .unk0 = 0x17, - .unk1 = 0x18, + .trainerNum1 = 23, + .trainerNum2 = 24, .trainers = { [0] = @@ -1602,17 +1603,17 @@ static const struct TrHillFloor sDataTagNormal_floors[] = static const struct TrHillTag sDataTagVariety = { - .unkField_0 = 8, + .numTrainers = NUM_TRAINER_HILL_TRAINERS, .unused1 = 1, - .numFloors = 4, + .numFloors = NUM_TRAINER_HILL_FLOORS, .checksum = 0x00054C15 }; -static const struct TrHillFloor sDataTagVariety_floors[] = { +static const struct TrHillFloor sDataTagVariety_Floors[] = { [0] = { - .unk0 = 0x29, - .unk1 = 0x2A, + .trainerNum1 = 41, + .trainerNum2 = 42, .trainers = { [0] = @@ -1904,8 +1905,8 @@ static const struct TrHillFloor sDataTagVariety_floors[] = { }, [1] = { - .unk0 = 0x2B, - .unk1 = 0x2C, + .trainerNum1 = 43, + .trainerNum2 = 44, .trainers = { [0] = @@ -2227,8 +2228,8 @@ static const struct TrHillFloor sDataTagVariety_floors[] = { }, [2] = { - .unk0 = 0x2D, - .unk1 = 0x2E, + .trainerNum1 = 45, + .trainerNum2 = 46, .trainers = { [0] = @@ -2531,8 +2532,8 @@ static const struct TrHillFloor sDataTagVariety_floors[] = { }, [3] = { - .unk0 = 0x2F, - .unk1 = 0x30, + .trainerNum1 = 47, + .trainerNum2 = 48, .trainers = { [0] = @@ -2828,17 +2829,17 @@ static const struct TrHillFloor sDataTagVariety_floors[] = { static const struct TrHillTag sDataTagUnique = { - .unkField_0 = 8, + .numTrainers = NUM_TRAINER_HILL_TRAINERS, .unused1 = 3, - .numFloors = 4, + .numFloors = NUM_TRAINER_HILL_FLOORS, .checksum = 0x000652F3 }; -static const struct TrHillFloor sDataTagUnique_floors[] = { +static const struct TrHillFloor sDataTagUnique_Floors[] = { [0] = { - .unk0 = 0x31, - .unk1 = 0x32, + .trainerNum1 = 49, + .trainerNum2 = 50, .trainers = { [0] = @@ -3135,8 +3136,8 @@ static const struct TrHillFloor sDataTagUnique_floors[] = { }, [1] = { - .unk0 = 0x33, - .unk1 = 0x34, + .trainerNum1 = 51, + .trainerNum2 = 52, .trainers = { [0] = @@ -3439,8 +3440,8 @@ static const struct TrHillFloor sDataTagUnique_floors[] = { }, [2] = { - .unk0 = 0x35, - .unk1 = 0x36, + .trainerNum1 = 53, + .trainerNum2 = 54, .trainers = { [0] = @@ -3743,8 +3744,8 @@ static const struct TrHillFloor sDataTagUnique_floors[] = { }, [3] = { - .unk0 = 0x38, - .unk1 = 0x37, + .trainerNum1 = 56, + .trainerNum2 = 55, .trainers = { [0] = @@ -4039,17 +4040,17 @@ static const struct TrHillFloor sDataTagUnique_floors[] = { static const struct TrHillTag sDataTagExpert = { - .unkField_0 = 8, + .numTrainers = NUM_TRAINER_HILL_TRAINERS, .unused1 = 1, - .numFloors = 4, + .numFloors = NUM_TRAINER_HILL_FLOORS, .checksum = 0x00061F3F }; -static const struct TrHillFloor sDataTagExpert_floors[] = { +static const struct TrHillFloor sDataTagExpert_Floors[] = { [0] = { - .unk0 = 0x39, - .unk1 = 0x3A, + .trainerNum1 = 57, + .trainerNum2 = 58, .trainers = { [0] = @@ -4353,8 +4354,8 @@ static const struct TrHillFloor sDataTagExpert_floors[] = { }, [1] = { - .unk0 = 0x3B, - .unk1 = 0x3C, + .trainerNum1 = 59, + .trainerNum2 = 60, .trainers = { [0] = @@ -4658,8 +4659,8 @@ static const struct TrHillFloor sDataTagExpert_floors[] = { }, [2] = { - .unk0 = 0x3D, - .unk1 = 0x3E, + .trainerNum1 = 61, + .trainerNum2 = 62, .trainers = { [0] = @@ -4963,8 +4964,8 @@ static const struct TrHillFloor sDataTagExpert_floors[] = { }, [3] = { - .unk0 = 0x3F, - .unk1 = 0x40, + .trainerNum1 = 63, + .trainerNum2 = 64, .trainers = { [0] = diff --git a/src/data/contest_text_tables.h b/src/data/contest_text_tables.h index 8375520d13..f893bc66a6 100644 --- a/src/data/contest_text_tables.h +++ b/src/data/contest_text_tables.h @@ -1,414 +1,439 @@ #include "global.h" -extern const u8 gContestEffect00hDescription[]; -extern const u8 gContestEffect01hDescription[]; -extern const u8 gContestEffect02hDescription[]; -extern const u8 gContestEffect03hDescription[]; -extern const u8 gContestEffect04hDescription[]; -extern const u8 gContestEffect05hDescription[]; -extern const u8 gContestEffect06hDescription[]; -extern const u8 gContestEffect07hDescription[]; -extern const u8 gContestEffect08hDescription[]; -extern const u8 gContestEffect09hDescription[]; -extern const u8 gContestEffect0AhDescription[]; -extern const u8 gContestEffect0BhDescription[]; -extern const u8 gContestEffect0ChDescription[]; -extern const u8 gContestEffect0DhDescription[]; -extern const u8 gContestEffect0EhDescription[]; -extern const u8 gContestEffect0FhDescription[]; -extern const u8 gContestEffect10hDescription[]; -extern const u8 gContestEffect11hDescription[]; -extern const u8 gContestEffect12hDescription[]; -extern const u8 gContestEffect13hDescription[]; -extern const u8 gContestEffect14hDescription[]; -extern const u8 gContestEffect15hDescription[]; -extern const u8 gContestEffect16hDescription[]; -extern const u8 gContestEffect17hDescription[]; -extern const u8 gContestEffect18hDescription[]; -extern const u8 gContestEffect19hDescription[]; -extern const u8 gContestEffect1AhDescription[]; -extern const u8 gContestEffect1BhDescription[]; -extern const u8 gContestEffect1ChDescription[]; -extern const u8 gContestEffect1DhDescription[]; -extern const u8 gContestEffect1EhDescription[]; -extern const u8 gContestEffect1FhDescription[]; -extern const u8 gContestEffect20hDescription[]; -extern const u8 gContestEffect21hDescription[]; -extern const u8 gContestEffect22hDescription[]; -extern const u8 gContestEffect23hDescription[]; -extern const u8 gContestEffect24hDescription[]; -extern const u8 gContestEffect25hDescription[]; -extern const u8 gContestEffect26hDescription[]; -extern const u8 gContestEffect27hDescription[]; -extern const u8 gContestEffect28hDescription[]; -extern const u8 gContestEffect29hDescription[]; -extern const u8 gContestEffect2AhDescription[]; -extern const u8 gContestEffect2BhDescription[]; -extern const u8 gContestEffect2ChDescription[]; -extern const u8 gContestEffect2DhDescription[]; -extern const u8 gContestEffect2EhDescription[]; -extern const u8 gContestEffect2FhDescription[]; +// gContestEffectDescriptionPointers +extern const u8 gText_HighlyAppealingMove[]; +extern const u8 gText_UserMoreEasilyStartled[]; +extern const u8 gText_GreatAppealButNoMoreToEnd[]; +extern const u8 gText_UsedRepeatedlyWithoutBoringJudge[]; +extern const u8 gText_AvoidStartledByOthersOnce[]; +extern const u8 gText_AvoidStartledByOthers[]; +extern const u8 gText_AvoidStartledByOthersLittle[]; +extern const u8 gText_UserLessLikelyStartled[]; +extern const u8 gText_SlightlyStartleFrontMon[]; +extern const u8 gText_SlightlyStartleAppealed[]; +extern const u8 gText_StartleAppealedBeforeUser[]; +extern const u8 gText_StartleAllAppealed[]; +extern const u8 gText_BadlyStartleFrontMon[]; +extern const u8 gText_BadlyStartleAppealed[]; +extern const u8 gText_StartleAppealedBeforeUser2[]; +extern const u8 gText_StartleAllAppealed2[]; +extern const u8 gText_ShiftJudgesAttentionFromOthers[]; +extern const u8 gText_StartleMonHasJudgesAttention[]; +extern const u8 gText_JamOthersMissesTurn[]; +extern const u8 gText_StartleMonsMadeSameTypeAppeal[]; +extern const u8 gText_BadlyStartleCoolAppeals[]; +extern const u8 gText_BadlyStartleBeautyAppeals[]; +extern const u8 gText_BadlyStartleCuteAppeals[]; +extern const u8 gText_BadlyStartleSmartAppeals[]; +extern const u8 gText_BadlyStartleToughAppeals[]; +extern const u8 gText_MakeMonAfterUserNervous[]; +extern const u8 gText_MakeAllMonsAfterUserNervous[]; +extern const u8 gText_WorsenConditionOfThoseMadeAppeals[]; +extern const u8 gText_BadlyStartleMonsGoodCondition[]; +extern const u8 gText_AppealGreatIfPerformedFirst[]; +extern const u8 gText_AppealGreatIfPerformedLast[]; +extern const u8 gText_AppealAsGoodAsThoseBeforeIt[]; +extern const u8 gText_AppealAsGoodAsOneBeforeIt[]; +extern const u8 gText_AppealBetterLaterItsPerformed[]; +extern const u8 gText_AppealVariesDependingOnTiming[]; +extern const u8 gText_WorksWellIfSameTypeAsBefore[]; +extern const u8 gText_WorksWellIfDifferentTypeAsBefore[]; +extern const u8 gText_AffectedByAppealInFront[]; +extern const u8 gText_UpsConditionHelpsPreventNervousness[]; +extern const u8 gText_AppealWorksWellIfConditionGood[]; +extern const u8 gText_NextAppealMadeEarlier[]; +extern const u8 gText_NextAppealMadeLater[]; +extern const u8 gText_TurnOrderMoreEasilyScrambled[]; +extern const u8 gText_ScrambleOrderOfNextAppeals[]; +extern const u8 gText_AppealExcitesAudienceInAnyContest[]; +extern const u8 gText_BadlyStartlesMonsGoodAppeals[]; +extern const u8 gText_AppealBestMoreCrowdExcited[]; +extern const u8 gText_TemporarilyStopCrowdExcited[]; -extern const u8 gUnusedContestMoveName0[]; -extern const u8 gUnusedContestMoveName1[]; -extern const u8 gUnusedContestMoveName2[]; -extern const u8 gUnusedContestMoveName3[]; -extern const u8 gUnusedContestMoveName4[]; -extern const u8 gUnusedContestMoveName5[]; -extern const u8 gUnusedContestMoveName6[]; -extern const u8 gUnusedContestMoveName7[]; -extern const u8 gUnusedContestMoveName8[]; -extern const u8 gUnusedContestMoveName9[]; -extern const u8 gUnusedContestMoveName10[]; -extern const u8 gUnusedContestMoveName11[]; -extern const u8 gUnusedContestMoveName12[]; +// sUnusedComboMoveNameTexts +extern const u8 gText_RainDance[]; +extern const u8 gText_Rage[]; +extern const u8 gText_FocusEnergy[]; +extern const u8 gText_Hypnosis[]; +extern const u8 gText_Softboiled[]; +extern const u8 gText_HornAttack[]; +extern const u8 gText_SwordsDance[]; +extern const u8 gText_Conversion[]; +extern const u8 gText_SunnyDay[]; +extern const u8 gText_Rest2[]; +extern const u8 gText_Vicegrip[]; +extern const u8 gText_DefenseCurl[]; +extern const u8 gText_LockOn[]; +// gContestMoveTypeTextPointers extern const u8 gContestMoveTypeCoolText[]; extern const u8 gContestMoveTypeBeautyText[]; extern const u8 gContestMoveTypeCuteText[]; extern const u8 gContestMoveTypeSmartText[]; extern const u8 gContestMoveTypeToughText[]; -extern const u8 gText_0827D5C1[]; -extern const u8 gText_0827D5DC[]; -extern const u8 gText_0827D600[]; -extern const u8 gText_0827D612[]; -extern const u8 gText_0827D612[]; -extern const u8 gText_0827D62D[]; -extern const u8 gText_0827D654[]; -extern const u8 gText_0827D67E[]; -extern const u8 gText_0827D69C[]; -extern const u8 gText_0827D6BA[]; -extern const u8 gText_0827D6E5[]; -extern const u8 gText_0827D706[]; -extern const u8 gText_0827D71D[]; +// sUnusedAppealResultTexts +extern const u8 gText_ButAppealWasJammed[]; +extern const u8 gText_FollowedAnotherMonsLead[]; +extern const u8 gText_ButItMessedUp[]; +extern const u8 gText_WentBetterThanUsual[]; +extern const u8 gText_JudgeLookedAwayForSomeReason[]; +extern const u8 gText_WorkedHardToBuildOnPastMistakes[]; +extern const u8 gText_CantMakeAnyMoreMoves[]; +extern const u8 gText_WorkedFrighteninglyWell[]; +extern const u8 gText_WorkedHardAsStandoutMon[]; +extern const u8 gText_JudgedLookedOnExpectantly[]; +extern const u8 gText_WorkedRatherWell[]; +extern const u8 gText_WorkedLittleBetterThanUsual[]; -extern const u8 gText_0827D743[]; -extern const u8 gText_0827D764[]; -extern const u8 gText_0827D785[]; -extern const u8 gText_0827D7A5[]; -extern const u8 gText_0827D7C8[]; -extern const u8 gText_0827D7E8[]; -extern const u8 gText_0827D831[]; -extern const u8 gText_0827D855[]; -extern const u8 gText_0827D830[]; -extern const u8 gText_0827D872[]; -extern const u8 gText_0827D88F[]; -extern const u8 gText_0827D8B5[]; -extern const u8 gText_0827D8E4[]; -extern const u8 gText_0827D8FE[]; -extern const u8 gText_0827D926[]; -extern const u8 gText_0827D947[]; -extern const u8 gText_0827D961[]; -extern const u8 gText_0827D986[]; -extern const u8 gText_0827D9B1[]; -extern const u8 gText_0827D9D9[]; -extern const u8 gText_0827DA03[]; -extern const u8 gText_0827DA31[]; -extern const u8 gText_0827DA5B[]; -extern const u8 gText_0827DA85[]; -extern const u8 gText_0827DAB2[]; -extern const u8 gText_0827DADA[]; -extern const u8 gText_0827DB03[]; -extern const u8 gText_0827D830[]; -extern const u8 gText_0827D830[]; -extern const u8 gText_0827D830[]; -extern const u8 gText_0827DB1F[]; -extern const u8 gText_0827DB4E[]; +// sRoundResultTexts +extern const u8 gText_MonFailedToStandOutAtAll[]; +extern const u8 gText_MonDidntStandOutVeryMuch[]; +extern const u8 gText_MonCaughtALittleAttention[]; +extern const u8 gText_MonAttractedALotOfAttention[]; +extern const u8 gText_MonCommandedTotalAttention[]; +extern const u8 gText_MonHasntMadeItsAppeal[]; +extern const u8 gText_JudgesViewsOnMonHeldFirm[]; +extern const u8 gText_MonsXChangedPerceptions[]; +extern const u8 gText_EmptyContestString[]; +extern const u8 gText_MonsAppealEffectWoreOff[]; +extern const u8 gText_SpecialAppealsEffectWoreOff[]; +extern const u8 gText_EveryonesAppealsMadeToLookSame[]; +extern const u8 gText_CheapenedMonsAppeal[]; +extern const u8 gText_CheapenedMonsAppeal2[]; +extern const u8 gText_CheapenedAppealOfThoseAhead[]; +extern const u8 gText_CheapenedAppealOfThoseAhead2[]; +extern const u8 gText_StoleAttentionAwayFromMon[]; +extern const u8 gText_SeverelyCheapenedOtherAppeals[]; +extern const u8 gText_AnticipationSwelledForMonsAppealNext[]; +extern const u8 gText_CheapenedJudgesFavoriteAppeal[]; +extern const u8 gText_AppealsOfOthersCheapenedByHalf[]; +extern const u8 gText_StoodOutToMakeUpForBeingJammed[]; +extern const u8 gText_CantParticipateInAppealsAnyMore[]; +extern const u8 gText_TouchedJudgeForFantasticAppeal[]; +extern const u8 gText_AnticipationRoseForUpcomingAppeals[]; +extern const u8 gText_StoodOutAsMuchAsSpecialAppeals[]; +extern const u8 gText_StoodOutAsMuchAsMon[]; +extern const u8 gText_JammedAppealsMadeEvenLessNoticeable[]; +extern const u8 gText_EveryonesAppealsMadeSame[]; -extern const u8 gText_827DB75[]; -extern const u8 gText_827DBB0[]; -extern const u8 gText_827DBE0[]; -extern const u8 gText_827DC0F[]; -extern const u8 gText_827DC45[]; -extern const u8 gText_827DC7C[]; -extern const u8 gText_827DCB4[]; -extern const u8 gText_827DCE7[]; -extern const u8 gText_827DD12[]; -extern const u8 gText_827DD3D[]; -extern const u8 gText_827DD6F[]; -extern const u8 gText_827DD8E[]; -extern const u8 gText_827DDC7[]; -extern const u8 gText_827DDF2[]; -extern const u8 gText_827DE14[]; -extern const u8 gText_827DE44[]; -extern const u8 gText_827DE73[]; -extern const u8 gText_827DEA5[]; -extern const u8 gText_827DED9[]; -extern const u8 gText_827DF02[]; -extern const u8 gText_827DF3A[]; -extern const u8 gText_827DF63[]; -extern const u8 gText_827DF8C[]; -extern const u8 gText_827DFB8[]; -extern const u8 gText_827DFE2[]; -extern const u8 gText_827E00C[]; -extern const u8 gText_827E02F[]; -extern const u8 gText_827E05F[]; -extern const u8 gText_827E08B[]; -extern const u8 gText_827E0B5[]; -extern const u8 gText_827E0DD[]; -extern const u8 gText_827E107[]; -extern const u8 gText_827E143[]; -extern const u8 gText_827E17F[]; -extern const u8 gText_827E1BB[]; -extern const u8 gText_827E1F3[]; -extern const u8 gText_827E220[]; -extern const u8 gText_827E254[]; -extern const u8 gText_827E289[]; -extern const u8 gText_827E2C5[]; -extern const u8 gText_0827E2FE[]; -extern const u8 gText_0827E32E[]; -extern const u8 gText_0827E35B[]; -extern const u8 gText_0827E38D[]; -extern const u8 gText_0827E3C1[]; -extern const u8 gText_0827E3EB[]; -extern const u8 gText_0827E416[]; -extern const u8 gText_0827E448[]; -extern const u8 gText_0827E473[]; -extern const u8 gText_0827E4A6[]; -extern const u8 gText_0827E4D5[]; -extern const u8 gText_0827E504[]; -extern const u8 gText_0827E531[]; -extern const u8 gText_0827E55A[]; -extern const u8 gText_0827E5B2[]; -extern const u8 gText_0827E5D0[]; -extern const u8 gText_0827E606[]; -extern const u8 gText_0827E638[]; -extern const u8 gText_0827E658[]; -extern const u8 gText_0827E68B[]; -extern const u8 gText_0827E6C4[]; -extern const u8 gText_0827E7BA[]; +// sAppealResultTexts +extern const u8 gText_BecameMoreConsciousOfOtherMons[]; +extern const u8 gText_MonCantMakeAnAppealAfterThis[]; +extern const u8 gText_SettledDownJustLittleBit[]; +extern const u8 gText_BecameObliviousToOtherMons[]; +extern const u8 gText_BecameLessAwareOfOtherMons[]; +extern const u8 gText_StoppedCaringAboutOtherMons[]; +extern const u8 gText_TriedToStartleOtherMons[]; +extern const u8 gText_TriedToDazzleOthers[]; +extern const u8 gText_JudgeLookedAwayFromMon[]; +extern const u8 gText_TriedToUnnerveNextMon[]; +extern const u8 gText_MonBecameNervous[]; +extern const u8 gText_AppealTriedToUnnerveWaitingMons[]; +extern const u8 gText_TauntedMonsDoingWell[]; +extern const u8 gText_MonRegainedItsForm[]; +extern const u8 gText_TriedToJamMonDoingWell[]; +extern const u8 gText_StandoutMonHustledEvenMore[]; +extern const u8 gText_LargelyUnnoticedMonWorkedHard[]; +extern const u8 gText_WorkedAsMuchAsMonBefore[]; +extern const u8 gText_WorkedAsMuchAsPrecedingMon[]; +extern const u8 gText_MonsAppealWasDud[]; +extern const u8 gText_MonsAppealDidNotGoWell[]; +extern const u8 gText_MonsAppealDidNotGoWell2[]; +extern const u8 gText_MonsAppealDidNotGoWell3[]; +extern const u8 gText_MonsAppealDidNotWorkVeryWell[]; +extern const u8 gText_MonsAppealWentSlightlyWell[]; +extern const u8 gText_MonsAppealWentSlightlyWell2[]; +extern const u8 gText_MonsAppealWentPrettyWell[]; +extern const u8 gText_MonsAppealWentPrettyWell2[]; +extern const u8 gText_MonsAppealWentVeryWell[]; +extern const u8 gText_MonsAppealWentExcellently[]; +extern const u8 gText_MonsAppealWentExcellently2[]; +extern const u8 gText_SameTypeAsOneBeforeGood[]; +extern const u8 gText_NotSameTypeAsOneBeforeGood[]; +extern const u8 gText_StoodOutMuchMoreThanMonBefore[]; +extern const u8 gText_DidntDoAsWellAsMonBefore[]; +extern const u8 gText_MonsConditionRoseAboveUsual[]; +extern const u8 gText_MonsHotStatusMadeGreatAppeal[]; +extern const u8 gText_MovedUpInLineForNextAppeal[]; +extern const u8 gText_MovedBackInLineForNextAppeal[]; +extern const u8 gText_ScrambledUpOrderForNextTurn[]; +extern const u8 gText_JudgeLookedAtMonExpectantly[]; +extern const u8 gText_AppealComboWentOverWell[]; +extern const u8 gText_AppealComboWentOverVeryWell[]; +extern const u8 gText_AppealComboWentOverExcellently[]; +extern const u8 gText_MonManagedToAvertGaze[]; +extern const u8 gText_MonManagedToAvoidSeeingIt[]; +extern const u8 gText_MonIsntFazedByThatSortOfThing[]; +extern const u8 gText_MonBecameALittleDistracted[]; +extern const u8 gText_TriedToStartleOtherPokemon[]; +extern const u8 gText_MonLookedDownOutOfDistraction[]; +extern const u8 gText_MonTurnedBackOutOfDistraction[]; +extern const u8 gText_MonCouldntHelpUtteringCry[]; +extern const u8 gText_MonCouldntHelpLeapingUp[]; +extern const u8 gText_MonTrippedOutOfDistraction[]; +extern const u8 gText_ButItMessedUp2[]; +extern const u8 gText_ButItFailedToMakeTargetNervous[]; +extern const u8 gText_ButItFailedToMakeAnyoneNervous[]; +extern const u8 gText_ButItWasIgnored[]; +extern const u8 gText_CouldntImproveItsCondition[]; +extern const u8 gText_BadConditionResultedInWeakAppeal[]; +extern const u8 gText_MonWasUnaffected[]; +extern const u8 gText_AttractedCrowdsAttention[]; + +// sContestConditions +extern const u8 gText_Contest_Coolness[]; +extern const u8 gText_Contest_Beauty[]; +extern const u8 gText_Contest_Cuteness[]; +extern const u8 gText_Contest_Smartness[]; +extern const u8 gText_Contest_Toughness[]; -extern const u8 gText_0827E85F[]; -extern const u8 gText_0827E868[]; -extern const u8 gText_0827E86F[]; -extern const u8 gText_0827E878[]; -extern const u8 gText_0827E882[]; +// sInvalidContestMoveNames +extern const u8 gText_CoolMove[]; +extern const u8 gText_BeautyMove[]; +extern const u8 gText_CuteMove[]; +extern const u8 gText_SmartMove[]; +extern const u8 gText_ToughMove[]; +extern const u8 gText_3QuestionMarks[]; -extern const u8 gText_0827E894[]; -extern const u8 gText_0827E89E[]; -extern const u8 gText_0827E8AA[]; -extern const u8 gText_0827E8B4[]; -extern const u8 gText_0827E8BF[]; -extern const u8 gText_0827E8CA[]; +// Misc, used directly +extern const u8 gText_MonAppealedWithMove[]; +extern const u8 gText_MonCantAppealNextTurn[]; +extern const u8 gText_RepeatedAppeal[]; +extern const u8 gText_MonsXDidntGoOverWell[]; +extern const u8 gText_MonsXWentOverGreat[]; +extern const u8 gText_MonsXGotTheCrowdGoing[]; +extern const u8 gText_CrowdContinuesToWatchMon[]; +extern const u8 gText_MonsMoveIsIgnored[]; +extern const u8 gText_MonWasTooNervousToMove[]; +extern const u8 gText_MonWasWatchingOthers[]; +extern const u8 gText_AllOutOfAppealTime[]; +extern const u8 gText_Contest_Shyness[]; +extern const u8 gText_Contest_Anxiety[]; +extern const u8 gText_Contest_Laziness[]; +extern const u8 gText_Contest_Hesitancy[]; +extern const u8 gText_Contest_Fear[]; +extern const u8 gText_AppealNumWhichMoveWillBePlayed[]; +extern const u8 gText_AppealNumButItCantParticipate[]; const u8 *const gContestEffectDescriptionPointers[] = { - gContestEffect00hDescription, - gContestEffect01hDescription, - gContestEffect02hDescription, - gContestEffect03hDescription, - gContestEffect04hDescription, - gContestEffect05hDescription, - gContestEffect06hDescription, - gContestEffect07hDescription, - gContestEffect08hDescription, - gContestEffect09hDescription, - gContestEffect0AhDescription, - gContestEffect0BhDescription, - gContestEffect0ChDescription, - gContestEffect0DhDescription, - gContestEffect0EhDescription, - gContestEffect0FhDescription, - gContestEffect10hDescription, - gContestEffect11hDescription, - gContestEffect12hDescription, - gContestEffect13hDescription, - gContestEffect14hDescription, - gContestEffect15hDescription, - gContestEffect16hDescription, - gContestEffect17hDescription, - gContestEffect18hDescription, - gContestEffect19hDescription, - gContestEffect1AhDescription, - gContestEffect1BhDescription, - gContestEffect1ChDescription, - gContestEffect1DhDescription, - gContestEffect1EhDescription, - gContestEffect1FhDescription, - gContestEffect20hDescription, - gContestEffect21hDescription, - gContestEffect22hDescription, - gContestEffect23hDescription, - gContestEffect24hDescription, - gContestEffect25hDescription, - gContestEffect26hDescription, - gContestEffect27hDescription, - gContestEffect28hDescription, - gContestEffect29hDescription, - gContestEffect2AhDescription, - gContestEffect2BhDescription, - gContestEffect2ChDescription, - gContestEffect2DhDescription, - gContestEffect2EhDescription, - gContestEffect2FhDescription + [CONTEST_EFFECT_HIGHLY_APPEALING] = gText_HighlyAppealingMove, + [CONTEST_EFFECT_USER_MORE_EASILY_STARTLED] = gText_UserMoreEasilyStartled, + [CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES] = gText_GreatAppealButNoMoreToEnd, + [CONTEST_EFFECT_REPETITION_NOT_BORING] = gText_UsedRepeatedlyWithoutBoringJudge, + [CONTEST_EFFECT_AVOID_STARTLE_ONCE] = gText_AvoidStartledByOthersOnce, + [CONTEST_EFFECT_AVOID_STARTLE] = gText_AvoidStartledByOthers, + [CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY] = gText_AvoidStartledByOthersLittle, + [CONTEST_EFFECT_USER_LESS_EASILY_STARTLED] = gText_UserLessLikelyStartled, + [CONTEST_EFFECT_STARTLE_FRONT_MON] = gText_SlightlyStartleFrontMon, + [CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS] = gText_SlightlyStartleAppealed, + [CONTEST_EFFECT_STARTLE_PREV_MON] = gText_StartleAppealedBeforeUser, + [CONTEST_EFFECT_STARTLE_PREV_MONS] = gText_StartleAllAppealed, + [CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON] = gText_BadlyStartleFrontMon, + [CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS] = gText_BadlyStartleAppealed, + [CONTEST_EFFECT_STARTLE_PREV_MON_2] = gText_StartleAppealedBeforeUser2, + [CONTEST_EFFECT_STARTLE_PREV_MONS_2] = gText_StartleAllAppealed2, + [CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION] = gText_ShiftJudgesAttentionFromOthers, + [CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION] = gText_StartleMonHasJudgesAttention, + [CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN] = gText_JamOthersMissesTurn, + [CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL] = gText_StartleMonsMadeSameTypeAppeal, + [CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL] = gText_BadlyStartleCoolAppeals, + [CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL] = gText_BadlyStartleBeautyAppeals, + [CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL] = gText_BadlyStartleCuteAppeals, + [CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL] = gText_BadlyStartleSmartAppeals, + [CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL] = gText_BadlyStartleToughAppeals, + [CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS] = gText_MakeMonAfterUserNervous, + [CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS] = gText_MakeAllMonsAfterUserNervous, + [CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS] = gText_WorsenConditionOfThoseMadeAppeals, + [CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION] = gText_BadlyStartleMonsGoodCondition, + [CONTEST_EFFECT_BETTER_IF_FIRST] = gText_AppealGreatIfPerformedFirst, + [CONTEST_EFFECT_BETTER_IF_LAST] = gText_AppealGreatIfPerformedLast, + [CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES] = gText_AppealAsGoodAsThoseBeforeIt, + [CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE] = gText_AppealAsGoodAsOneBeforeIt, + [CONTEST_EFFECT_BETTER_WHEN_LATER] = gText_AppealBetterLaterItsPerformed, + [CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING] = gText_AppealVariesDependingOnTiming, + [CONTEST_EFFECT_BETTER_IF_SAME_TYPE] = gText_WorksWellIfSameTypeAsBefore, + [CONTEST_EFFECT_BETTER_IF_DIFF_TYPE] = gText_WorksWellIfDifferentTypeAsBefore, + [CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL] = gText_AffectedByAppealInFront, + [CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS] = gText_UpsConditionHelpsPreventNervousness, + [CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION] = gText_AppealWorksWellIfConditionGood, + [CONTEST_EFFECT_NEXT_APPEAL_EARLIER] = gText_NextAppealMadeEarlier, + [CONTEST_EFFECT_NEXT_APPEAL_LATER] = gText_NextAppealMadeLater, + [CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER] = gText_TurnOrderMoreEasilyScrambled, + [CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER] = gText_ScrambleOrderOfNextAppeals, + [CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST] = gText_AppealExcitesAudienceInAnyContest, + [CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS] = gText_BadlyStartlesMonsGoodAppeals, + [CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED] = gText_AppealBestMoreCrowdExcited, + [CONTEST_EFFECT_DONT_EXCITE_AUDIENCE] = gText_TemporarilyStopCrowdExcited }; // Unreferenced array of pointers to move names. // All of the moves except Conversion are combo starters, so this may have // been an early list of combo starters. -const u8 *const gUnknown_8587D10[] = +static const u8 *const sUnusedComboMoveNameTexts[] = { - gUnusedContestMoveName0, - gUnusedContestMoveName0, - gUnusedContestMoveName1, - gUnusedContestMoveName2, - gUnusedContestMoveName3, - gUnusedContestMoveName4, - gUnusedContestMoveName5, - gUnusedContestMoveName6, - gUnusedContestMoveName7, - gUnusedContestMoveName8, - gUnusedContestMoveName9, - gUnusedContestMoveName10, - gUnusedContestMoveName11, - gUnusedContestMoveName12 + gText_RainDance, + gText_RainDance, + gText_Rage, + gText_FocusEnergy, + gText_Hypnosis, + gText_Softboiled, + gText_HornAttack, + gText_SwordsDance, + gText_Conversion, + gText_SunnyDay, + gText_Rest2, + gText_Vicegrip, + gText_DefenseCurl, + gText_LockOn }; const u8 *const gContestMoveTypeTextPointers[] = { - gContestMoveTypeCoolText, - gContestMoveTypeBeautyText, - gContestMoveTypeCuteText, - gContestMoveTypeSmartText, - gContestMoveTypeToughText + [CONTEST_CATEGORY_COOL] = gContestMoveTypeCoolText, + [CONTEST_CATEGORY_BEAUTY] = gContestMoveTypeBeautyText, + [CONTEST_CATEGORY_CUTE] = gContestMoveTypeCuteText, + [CONTEST_CATEGORY_SMART] = gContestMoveTypeSmartText, + [CONTEST_CATEGORY_TOUGH] = gContestMoveTypeToughText }; -const u8 *const gUnknown_08587D5C[] = +static const u8 *const sUnusedAppealResultTexts[] = { - gText_0827D5C1, - gText_0827D5DC, - gText_0827D600, - gText_0827D612, - gText_0827D612, - gText_0827D62D, - gText_0827D654, - gText_0827D67E, - gText_0827D69C, - gText_0827D6BA, - gText_0827D6E5, - gText_0827D706, - gText_0827D71D + gText_ButAppealWasJammed, + gText_FollowedAnotherMonsLead, + gText_ButItMessedUp, + gText_WentBetterThanUsual, + gText_WentBetterThanUsual, + gText_JudgeLookedAwayForSomeReason, + gText_WorkedHardToBuildOnPastMistakes, + gText_CantMakeAnyMoreMoves, + gText_WorkedFrighteninglyWell, + gText_WorkedHardAsStandoutMon, + gText_JudgedLookedOnExpectantly, + gText_WorkedRatherWell, + gText_WorkedLittleBetterThanUsual }; -const u8 *const gUnknown_08587D90[] = +// Takes the .attentionLevel of a contestant as an index. Only 0-5 are used +static const u8 *const sRoundResultTexts[] = { - gText_0827D743, - gText_0827D764, - gText_0827D785, - gText_0827D7A5, - gText_0827D7C8, - gText_0827D7E8, - gText_0827D831, - gText_0827D855, - gText_0827D830, - gText_0827D872, - gText_0827D88F, - gText_0827D8B5, - gText_0827D8E4, - gText_0827D8FE, - gText_0827D926, - gText_0827D947, - gText_0827D961, - gText_0827D986, - gText_0827D9B1, - gText_0827D9D9, - gText_0827DA03, - gText_0827DA31, - gText_0827DA5B, - gText_0827DA85, - gText_0827DAB2, - gText_0827DADA, - gText_0827DB03, - gText_0827D830, - gText_0827D830, - gText_0827D830, - gText_0827DB1F, - gText_0827DB4E + gText_MonFailedToStandOutAtAll, + gText_MonDidntStandOutVeryMuch, + gText_MonCaughtALittleAttention, + gText_MonAttractedALotOfAttention, + gText_MonCommandedTotalAttention, + gText_MonHasntMadeItsAppeal, + gText_JudgesViewsOnMonHeldFirm, // here below unused + gText_MonsXChangedPerceptions, + gText_EmptyContestString, + gText_MonsAppealEffectWoreOff, + gText_SpecialAppealsEffectWoreOff, + gText_EveryonesAppealsMadeToLookSame, + gText_CheapenedMonsAppeal, + gText_CheapenedAppealOfThoseAhead, + gText_StoleAttentionAwayFromMon, + gText_CheapenedMonsAppeal2, + gText_SeverelyCheapenedOtherAppeals, + gText_AnticipationSwelledForMonsAppealNext, + gText_CheapenedAppealOfThoseAhead2, + gText_CheapenedJudgesFavoriteAppeal, + gText_AppealsOfOthersCheapenedByHalf, + gText_StoodOutToMakeUpForBeingJammed, + gText_CantParticipateInAppealsAnyMore, + gText_TouchedJudgeForFantasticAppeal, + gText_AnticipationRoseForUpcomingAppeals, + gText_StoodOutAsMuchAsSpecialAppeals, + gText_StoodOutAsMuchAsMon, + gText_EmptyContestString, + gText_EmptyContestString, + gText_EmptyContestString, + gText_JammedAppealsMadeEvenLessNoticeable, + gText_EveryonesAppealsMadeSame }; -const u8 *const gUnknown_08587E10[] = +static const u8 *const sAppealResultTexts[] = { - gText_827DB75, - gText_827DBB0, - gText_827DBE0, - gText_827DC0F, - gText_827DC45, - gText_827DC7C, - gText_827DCB4, - gText_827DCE7, - gText_827DD12, - gText_827DD3D, - gText_827DD6F, - gText_827DD8E, - gText_827DDC7, - gText_827DDF2, - gText_827DE14, - gText_827DE44, - gText_827DE73, - gText_827DEA5, - gText_827DED9, - gText_827DF02, - gText_827DF3A, - gText_827DF63, - gText_827DF8C, - gText_827DFB8, - gText_827DFE2, - gText_827E00C, - gText_827E02F, - gText_827E05F, - gText_827E08B, - gText_827E0B5, - gText_827E0DD, - gText_827E107, - gText_827E143, - gText_827E17F, - gText_827E1BB, - gText_827E1F3, - gText_827E220, - gText_827E254, - gText_827E289, - gText_827E2C5, - gText_0827E2FE, - gText_0827E32E, - gText_0827E35B, - gText_0827E38D, - gText_0827E3C1, - gText_0827E3EB, - gText_0827E416, - gText_0827E448, - gText_0827E473, - gText_0827E4A6, - gText_0827E4D5, - gText_0827E504, - gText_0827E531, - gText_0827E55A, - gText_0827E5B2, - gText_0827E5D0, - gText_0827E606, - gText_0827E638, - gText_0827E658, - gText_0827E68B, - gText_0827E6C4, - gText_0827E7BA + [CONTEST_STRING_MORE_CONSCIOUS] = gText_BecameMoreConsciousOfOtherMons, + [CONTEST_STRING_NO_APPEAL] = gText_MonCantMakeAnAppealAfterThis, + [CONTEST_STRING_SETTLE_DOWN] = gText_SettledDownJustLittleBit, + [CONTEST_STRING_OBLIVIOUS_TO_OTHERS] = gText_BecameObliviousToOtherMons, + [CONTEST_STRING_LESS_AWARE] = gText_BecameLessAwareOfOtherMons, + [CONTEST_STRING_STOPPED_CARING] = gText_StoppedCaringAboutOtherMons, + [CONTEST_STRING_STARTLE_ATTEMPT] = gText_TriedToStartleOtherMons, + [CONTEST_STRING_DAZZLE_ATTEMPT] = gText_TriedToDazzleOthers, + [CONTEST_STRING_JUDGE_LOOK_AWAY2] = gText_JudgeLookedAwayFromMon, + [CONTEST_STRING_UNNERVE_ATTEMPT] = gText_TriedToUnnerveNextMon, + [CONTEST_STRING_NERVOUS] = gText_MonBecameNervous, + [CONTEST_STRING_UNNERVE_WAITING] = gText_AppealTriedToUnnerveWaitingMons, + [CONTEST_STRING_TAUNT_WELL] = gText_TauntedMonsDoingWell, + [CONTEST_STRING_REGAINED_FORM] = gText_MonRegainedItsForm, + [CONTEST_STRING_JAM_WELL] = gText_TriedToJamMonDoingWell, + [CONTEST_STRING_HUSTLE_STANDOUT] = gText_StandoutMonHustledEvenMore, + [CONTEST_STRING_WORK_HARD_UNNOTICED] = gText_LargelyUnnoticedMonWorkedHard, + [CONTEST_STRING_WORK_BEFORE] = gText_WorkedAsMuchAsMonBefore, + [CONTEST_STRING_APPEAL_NOT_WELL] = gText_MonsAppealDidNotGoWell, + [CONTEST_STRING_WORK_PRECEDING] = gText_WorkedAsMuchAsPrecedingMon, + [CONTEST_STRING_APPEAL_NOT_WELL2] = gText_MonsAppealDidNotGoWell2, + [CONTEST_STRING_APPEAL_NOT_SHOWN_WELL] = gText_MonsAppealDidNotGoWell3, + [CONTEST_STRING_APPEAL_SLIGHTLY_WELL] = gText_MonsAppealWentSlightlyWell, + [CONTEST_STRING_APPEAL_PRETTY_WELL] = gText_MonsAppealWentPrettyWell, + [CONTEST_STRING_APPEAL_EXCELLENTLY] = gText_MonsAppealWentExcellently, + [CONTEST_STRING_APPEAL_DUD] = gText_MonsAppealWasDud, + [CONTEST_STRING_APPEAL_NOT_VERY_WELL] = gText_MonsAppealDidNotWorkVeryWell, + [CONTEST_STRING_APPEAL_SLIGHTLY_WELL2] = gText_MonsAppealWentSlightlyWell2, + [CONTEST_STRING_APPEAL_PRETTY_WELL2] = gText_MonsAppealWentPrettyWell2, + [CONTEST_STRING_APPEAL_VERY_WELL] = gText_MonsAppealWentVeryWell, + [CONTEST_STRING_APPEAL_EXCELLENTLY2] = gText_MonsAppealWentExcellently2, + [CONTEST_STRING_SAME_TYPE_GOOD] = gText_SameTypeAsOneBeforeGood, + [CONTEST_STRING_DIFF_TYPE_GOOD] = gText_NotSameTypeAsOneBeforeGood, + [CONTEST_STRING_STOOD_OUT_AS_MUCH] = gText_StoodOutMuchMoreThanMonBefore, + [CONTEST_STRING_NOT_AS_WELL] = gText_DidntDoAsWellAsMonBefore, + [CONTEST_STRING_CONDITION_ROSE] = gText_MonsConditionRoseAboveUsual, + [CONTEST_STRING_HOT_STATUS] = gText_MonsHotStatusMadeGreatAppeal, + [CONTEST_STRING_MOVE_UP_LINE] = gText_MovedUpInLineForNextAppeal, + [CONTEST_STRING_MOVE_BACK_LINE] = gText_MovedBackInLineForNextAppeal, + [CONTEST_STRING_SCRAMBLE_ORDER] = gText_ScrambledUpOrderForNextTurn, + [CONTEST_STRING_JUDGE_EXPECTANTLY2] = gText_JudgeLookedAtMonExpectantly, + [CONTEST_STRING_WENT_OVER_WELL] = gText_AppealComboWentOverWell, + [CONTEST_STRING_WENT_OVER_VERY_WELL] = gText_AppealComboWentOverVeryWell, + [CONTEST_STRING_APPEAL_COMBO_EXCELLENTLY] = gText_AppealComboWentOverExcellently, + [CONTEST_STRING_AVERT_GAZE] = gText_MonManagedToAvertGaze, + [CONTEST_STRING_AVOID_SEEING] = gText_MonManagedToAvoidSeeingIt, + [CONTEST_STRING_NOT_FAZED] = gText_MonIsntFazedByThatSortOfThing, + [CONTEST_STRING_LITTLE_DISTRACTED] = gText_MonBecameALittleDistracted, + [CONTEST_STRING_ATTEMPT_STARTLE] = gText_TriedToStartleOtherPokemon, + [CONTEST_STRING_LOOKED_DOWN] = gText_MonLookedDownOutOfDistraction, + [CONTEST_STRING_TURNED_BACK] = gText_MonTurnedBackOutOfDistraction, + [CONTEST_STRING_UTTER_CRY] = gText_MonCouldntHelpUtteringCry, + [CONTEST_STRING_LEAPT_UP] = gText_MonCouldntHelpLeapingUp, + [CONTEST_STRING_TRIPPED_OVER] = gText_MonTrippedOutOfDistraction, + [CONTEST_STRING_MESSED_UP2] = gText_ButItMessedUp2, + [CONTEST_STRING_FAILED_TARGET_NERVOUS] = gText_ButItFailedToMakeTargetNervous, + [CONTEST_STRING_FAILED_ANYONE_NERVOUS] = gText_ButItFailedToMakeAnyoneNervous, + [CONTEST_STRING_IGNORED] = gText_ButItWasIgnored, + [CONTEST_STRING_NO_CONDITION_IMPROVE] = gText_CouldntImproveItsCondition, + [CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL] = gText_BadConditionResultedInWeakAppeal, + [CONTEST_STRING_UNAFFECTED] = gText_MonWasUnaffected, + [CONTEST_STRING_ATTRACTED_ATTENTION] = gText_AttractedCrowdsAttention }; -const u8 *const gUnknown_08587F08[] = +static const u8 *const sContestConditions[] = { - gText_0827E85F, - gText_0827E868, - gText_0827E86F, - gText_0827E878, - gText_0827E882 + [CONTEST_CATEGORY_COOL] = gText_Contest_Coolness, + [CONTEST_CATEGORY_BEAUTY] = gText_Contest_Beauty, + [CONTEST_CATEGORY_CUTE] = gText_Contest_Cuteness, + [CONTEST_CATEGORY_SMART] = gText_Contest_Smartness, + [CONTEST_CATEGORY_TOUGH] = gText_Contest_Toughness }; -const u8 *const gUnknown_08587F1C[] = +static const u8 *const sInvalidContestMoveNames[] = { - gText_0827E894, - gText_0827E89E, - gText_0827E8AA, - gText_0827E8B4, - gText_0827E8BF, - gText_0827E8CA + [CONTEST_CATEGORY_COOL] = gText_CoolMove, + [CONTEST_CATEGORY_BEAUTY] = gText_BeautyMove, + [CONTEST_CATEGORY_CUTE] = gText_CuteMove, + [CONTEST_CATEGORY_SMART] = gText_SmartMove, + [CONTEST_CATEGORY_TOUGH] = gText_ToughMove, + [CONTEST_CATEGORIES_COUNT] = gText_3QuestionMarks }; diff --git a/src/data/decoration/icon.h b/src/data/decoration/icon.h index 58d9cea7bb..b29dab20f3 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/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h index f7f1f33ba4..1702392cac 100755 --- a/src/data/field_event_obj/event_object_graphics.h +++ b/src/data/field_event_obj/event_object_graphics.h @@ -326,7 +326,7 @@ const u32 gFieldEffectObjectPic_SandDisguisePlaceholder[] = INCBIN_U32("graphics const u32 gFieldEffectObjectPic_HotSpringsWater[] = INCBIN_U32("graphics/event_objects/pics/effects/hot_springs_water.4bpp"); const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_02.gbapal"); const u32 gFieldEffectObjectPic_JumpOutOfAsh[] = INCBIN_U32("graphics/event_objects/pics/effects/jump_out_of_ash.4bpp"); -const u32 gFieldEffectObjectPic_Unknown33[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_33.4bpp"); +const u32 gFieldEffectObjectPic_LavaridgeGymWarp[] = INCBIN_U32("graphics/event_objects/pics/effects/lavaridge_gym_warp.4bpp"); const u32 gFieldEffectObjectPic_Bubbles[] = INCBIN_U32("graphics/event_objects/pics/effects/bubbles.4bpp"); const u32 gFieldEffectObjectPic_Unknown35[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_35.4bpp"); const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_03.gbapal"); diff --git a/src/data/field_event_obj/event_object_graphics_info_pointers.h b/src/data/field_event_obj/event_object_graphics_info_pointers.h index 0b8aa79b24..661539d579 100755 --- a/src/data/field_event_obj/event_object_graphics_info_pointers.h +++ b/src/data/field_event_obj/event_object_graphics_info_pointers.h @@ -489,11 +489,11 @@ const struct EventObjectGraphicsInfo *const gEventObjectGraphicsInfoPointers[] = }; const struct EventObjectGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[] = { - &gEventObjectGraphicsInfo_Bard, - &gEventObjectGraphicsInfo_Hipster, - &gEventObjectGraphicsInfo_Trader, - &gEventObjectGraphicsInfo_Storyteller, - &gEventObjectGraphicsInfo_Giddy, - &gEventObjectGraphicsInfo_UnusedMauvilleOldMan1, - &gEventObjectGraphicsInfo_UnusedMauvilleOldMan2, + [MAUVILLE_MAN_BARD] = &gEventObjectGraphicsInfo_Bard, + [MAUVILLE_MAN_HIPSTER] = &gEventObjectGraphicsInfo_Hipster, + [MAUVILLE_MAN_TRADER] = &gEventObjectGraphicsInfo_Trader, + [MAUVILLE_MAN_STORYTELLER] = &gEventObjectGraphicsInfo_Storyteller, + [MAUVILLE_MAN_GIDDY] = &gEventObjectGraphicsInfo_Giddy, + [MAUVILLE_MAN_UNUSED1] = &gEventObjectGraphicsInfo_UnusedMauvilleOldMan1, + [MAUVILLE_MAN_UNUSED2] = &gEventObjectGraphicsInfo_UnusedMauvilleOldMan2, }; diff --git a/src/data/field_event_obj/event_object_subsprites.h b/src/data/field_event_obj/event_object_subsprites.h index 5da2627319..0b4a80f727 100755 --- a/src/data/field_event_obj/event_object_subsprites.h +++ b/src/data/field_event_obj/event_object_subsprites.h @@ -1,24 +1,80 @@ const struct Subsprite gEventObjectSpriteOamTable_16x16_0[] = { - { -8, -8, 0, 1, 0, 2} + { + .x = -8, + .y = -8, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .tileOffset = 0, + .priority = 2 + } }; const struct Subsprite gEventObjectSpriteOamTable_16x16_1[] = { - { -8, -8, 0, 1, 0, 1} + { + .x = -8, + .y = -8, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .tileOffset = 0, + .priority = 1 + } }; const struct Subsprite gEventObjectSpriteOamTable_16x16_2[] = { - { -8, -8, 1, 0, 0, 2}, - { -8, 0, 1, 0, 2, 3} + { + .x = -8, + .y = -8, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -8, + .y = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 2, + .priority = 3 + } }; const struct Subsprite gEventObjectSpriteOamTable_16x16_3[] = { - { -8, -8, 0, 1, 0, 2}, - { -8, -8, 0, 1, 0, 3} + { + .x = -8, + .y = -8, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -8, + .y = -8, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .tileOffset = 0, + .priority = 3 + } }; const struct Subsprite gEventObjectSpriteOamTable_16x16_4[] = { - { -8, -8, 0, 1, 0, 1}, - { -8, -8, 0, 1, 0, 3} + { + .x = -8, + .y = -8, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .tileOffset = 0, + .priority = 1 + }, + { + .x = -8, + .y = -8, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .tileOffset = 0, + .priority = 3 + } }; const struct SubspriteTable gEventObjectSpriteOamTables_16x16[] = { @@ -31,27 +87,90 @@ const struct SubspriteTable gEventObjectSpriteOamTables_16x16[] = { }; const struct Subsprite gEventObjectSpriteOamTable_16x32_0[] = { - { -8, -16, 2, 2, 0, 2} + { + .x = -8, + .y = -16, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), + .tileOffset = 0, + .priority = 2 + } }; const struct Subsprite gEventObjectSpriteOamTable_16x32_1[] = { - { -8, -16, 2, 2, 0, 1} + { + .x = -8, + .y = -16, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), + .tileOffset = 0, + .priority = 1 + } }; const struct Subsprite gEventObjectSpriteOamTable_16x32_2[] = { - { -8, -16, 0, 1, 0, 2}, - { -8, 0, 1, 0, 4, 2}, - { -8, 8, 1, 0, 6, 3} + { + .x = -8, + .y = -16, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -8, + .y = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 4, + .priority = 2 + }, + { + .x = -8, + .y = 8, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 6, + .priority = 3 + } }; const struct Subsprite gEventObjectSpriteOamTable_16x32_3[] = { - { -8, -16, 0, 1, 0, 2}, - { -8, 0, 0, 1, 4, 3} + { + .x = -8, + .y = -16, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -8, + .y = 0, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .tileOffset = 4, + .priority = 3 + } }; const struct Subsprite gEventObjectSpriteOamTable_16x32_4[] = { - { -8, -16, 0, 1, 0, 1}, - { -8, 0, 0, 1, 4, 3} + { + .x = -8, + .y = -16, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .tileOffset = 0, + .priority = 1 + }, + { + .x = -8, + .y = 0, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .tileOffset = 4, + .priority = 3 + } }; const struct SubspriteTable gEventObjectSpriteOamTables_16x32[] = { @@ -64,27 +183,90 @@ const struct SubspriteTable gEventObjectSpriteOamTables_16x32[] = { }; const struct Subsprite gEventObjectSpriteOamTable_32x32_0[] = { - {-16, -16, 0, 2, 0, 2} + { + .x = -16, + .y = -16, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .tileOffset = 0, + .priority = 2 + } }; const struct Subsprite gEventObjectSpriteOamTable_32x32_1[] = { - {-16, -16, 0, 2, 0, 1} + { + .x = -16, + .y = -16, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .tileOffset = 0, + .priority = 1 + } }; const struct Subsprite gEventObjectSpriteOamTable_32x32_2[] = { - {-16, -16, 1, 2, 0, 2}, - {-16, 0, 1, 1, 8, 2}, - {-16, 8, 1, 1, 12, 3} + { + .x = -16, + .y = -16, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -16, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 2 + }, + { + .x = -16, + .y = 8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 3 + } }; const struct Subsprite gEventObjectSpriteOamTable_32x32_3[] = { - {-16, -16, 1, 2, 0, 2}, - {-16, 0, 1, 2, 8, 3} + { + .x = -16, + .y = -16, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -16, + .y = 0, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), + .tileOffset = 8, + .priority = 3 + } }; const struct Subsprite gEventObjectSpriteOamTable_32x32_4[] = { - {-16, -16, 1, 2, 0, 1}, - {-16, 0, 1, 2, 8, 3} + { + .x = -16, + .y = -16, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), + .tileOffset = 0, + .priority = 1 + }, + { + .x = -16, + .y = 0, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), + .tileOffset = 8, + .priority = 3 + } }; const struct SubspriteTable gEventObjectSpriteOamTables_32x32[] = { @@ -97,18 +279,102 @@ const struct SubspriteTable gEventObjectSpriteOamTables_32x32[] = { }; const struct Subsprite gEventObjectSpriteOamTable_Truck_0[] = { - {-24, -24, 1, 1, 0, 2}, - { 8, -24, 1, 0, 4, 2}, - {-24, -16, 1, 1, 6, 2}, - { 8, -16, 1, 0, 10, 2}, - {-24, -8, 1, 1, 12, 2}, - { 8, -8, 1, 0, 16, 2}, - {-24, 0, 1, 1, 18, 2}, - { 8, 0, 1, 0, 22, 2}, - {-24, 8, 1, 1, 24, 2}, - { 8, 8, 1, 0, 28, 2}, - {-24, 16, 1, 1, 30, 2}, - { 8, 16, 1, 0, 34, 2} + { + .x = -24, + .y = -24, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = 8, + .y = -24, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 4, + .priority = 2 + }, + { + .x = -24, + .y = -16, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 6, + .priority = 2 + }, + { + .x = 8, + .y = -16, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 10, + .priority = 2 + }, + { + .x = -24, + .y = -8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 2 + }, + { + .x = 8, + .y = -8, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 16, + .priority = 2 + }, + { + .x = -24, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 18, + .priority = 2 + }, + { + .x = 8, + .y = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 22, + .priority = 2 + }, + { + .x = -24, + .y = 8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 24, + .priority = 2 + }, + { + .x = 8, + .y = 8, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 28, + .priority = 2 + }, + { + .x = -24, + .y = 16, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 30, + .priority = 2 + }, + { + .x = 8, + .y = 16, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 34, + .priority = 2 + } }; const struct SubspriteTable gEventObjectSpriteOamTables_Truck[] = { @@ -121,19 +387,47 @@ const struct SubspriteTable gEventObjectSpriteOamTables_Truck[] = { }; const struct Subsprite gEventObjectSpriteOamTable_Unused_0[] = { - {-32, -16, 1, 3, 0, 2} + { + .x = -32, + .y = -16, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .tileOffset = 0, + .priority = 2 + } }; const struct Subsprite gEventObjectSpriteOamTable_Unused_1[] = { - {-32, -16, 1, 3, 0, 1} + { + .x = -32, + .y = -16, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .tileOffset = 0, + .priority = 1 + } }; const struct Subsprite gEventObjectSpriteOamTable_Unused_2[] = { - {-32, -16, 1, 3, 0, 2} + { + .x = -32, + .y = -16, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .tileOffset = 0, + .priority = 2 + } }; const struct Subsprite gEventObjectSpriteOamTable_Unused_3[] = { - {-32, -16, 1, 3, 0, 2} + { + .x = -32, + .y = -16, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .tileOffset = 0, + .priority = 2 + } }; const struct SubspriteTable gEventObjectSpriteOamTables_Unused[] = { @@ -146,19 +440,47 @@ const struct SubspriteTable gEventObjectSpriteOamTables_Unused[] = { }; const struct Subsprite gEventObjectSpriteOamTable_64x64_0[] = { - {-32, -32, 0, 3, 0, 2} + { + .x = -32, + .y = -32, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), + .tileOffset = 0, + .priority = 2 + } }; const struct Subsprite gEventObjectSpriteOamTable_64x64_1[] = { - {-32, -32, 0, 3, 0, 1} + { + .x = -32, + .y = -32, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), + .tileOffset = 0, + .priority = 1 + } }; const struct Subsprite gEventObjectSpriteOamTable_64x64_2[] = { - {-32, -32, 0, 3, 0, 2} + { + .x = -32, + .y = -32, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), + .tileOffset = 0, + .priority = 2 + } }; const struct Subsprite gEventObjectSpriteOamTable_64x64_3[] = { - {-32, -32, 0, 3, 0, 2} + { + .x = -32, + .y = -32, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), + .tileOffset = 0, + .priority = 2 + } }; const struct SubspriteTable gEventObjectSpriteOamTables_64x64[] = { @@ -171,75 +493,495 @@ const struct SubspriteTable gEventObjectSpriteOamTables_64x64[] = { }; const struct Subsprite gEventObjectSpriteOamTable_SSTidal_0[] = { - {-48, -20, 1, 1, 0, 2}, - {-16, -20, 1, 1, 4, 2}, - { 16, -20, 1, 1, 8, 2}, - {-48, -12, 1, 1, 12, 2}, - {-16, -12, 1, 1, 16, 2}, - { 16, -12, 1, 1, 20, 2}, - {-48, -4, 1, 1, 24, 2}, - {-16, -4, 1, 1, 28, 2}, - { 16, -4, 1, 1, 32, 2}, - {-48, 4, 1, 1, 36, 2}, - {-16, 4, 1, 1, 40, 2}, - { 16, 4, 1, 1, 44, 2}, - {-48, 12, 1, 1, 48, 2}, - {-16, 12, 1, 1, 52, 2}, - { 16, 12, 1, 1, 56, 2} + { + .x = -48, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -16, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 2 + }, + { + .x = 16, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 2 + }, + { + .x = -48, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 2 + }, + { + .x = -16, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 16, + .priority = 2 + }, + { + .x = 16, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 20, + .priority = 2 + }, + { + .x = -48, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 24, + .priority = 2 + }, + { + .x = -16, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 28, + .priority = 2 + }, + { + .x = 16, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 32, + .priority = 2 + }, + { + .x = -48, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 36, + .priority = 2 + }, + { + .x = -16, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 40, + .priority = 2 + }, + { + .x = 16, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 44, + .priority = 2 + }, + { + .x = -48, + .y = 12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 48, + .priority = 2 + }, + { + .x = -16, + .y = 12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 52, + .priority = 2 + }, + { + .x = 16, + .y = 12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 56, + .priority = 2 + } }; const struct Subsprite gEventObjectSpriteOamTable_SSTidal_1[] = { - {-48, -20, 1, 1, 0, 1}, - {-16, -20, 1, 1, 4, 1}, - { 16, -20, 1, 1, 8, 1}, - {-48, -12, 1, 1, 12, 1}, - {-16, -12, 1, 1, 16, 1}, - { 16, -12, 1, 1, 20, 1}, - {-48, -4, 1, 1, 24, 1}, - {-16, -4, 1, 1, 28, 1}, - { 16, -4, 1, 1, 32, 1}, - {-48, 4, 1, 1, 36, 1}, - {-16, 4, 1, 1, 40, 1}, - { 16, 4, 1, 1, 44, 1}, - {-48, 12, 1, 1, 48, 1}, - {-16, 12, 1, 1, 52, 1}, - { 16, 12, 1, 1, 56, 1} + { + .x = -48, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = -16, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 1 + }, + { + .x = 16, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 1 + }, + { + .x = -48, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 1 + }, + { + .x = -16, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 16, + .priority = 1 + }, + { + .x = 16, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 20, + .priority = 1 + }, + { + .x = -48, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 24, + .priority = 1 + }, + { + .x = -16, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 28, + .priority = 1 + }, + { + .x = 16, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 32, + .priority = 1 + }, + { + .x = -48, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 36, + .priority = 1 + }, + { + .x = -16, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 40, + .priority = 1 + }, + { + .x = 16, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 44, + .priority = 1 + }, + { + .x = -48, + .y = 12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 48, + .priority = 1 + }, + { + .x = -16, + .y = 12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 52, + .priority = 1 + }, + { + .x = 16, + .y = 12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 56, + .priority = 1 + } }; const struct Subsprite gEventObjectSpriteOamTable_SSTidal_2[] = { - {-48, -20, 1, 1, 0, 2}, - {-16, -20, 1, 1, 4, 2}, - { 16, -20, 1, 1, 8, 2}, - {-48, -12, 1, 1, 12, 2}, - {-16, -12, 1, 1, 16, 2}, - { 16, -12, 1, 1, 20, 2}, - {-48, -4, 1, 1, 24, 2}, - {-16, -4, 1, 1, 28, 2}, - { 16, -4, 1, 1, 32, 2}, - {-48, 4, 1, 1, 36, 2}, - {-16, 4, 1, 1, 40, 2}, - { 16, 4, 1, 1, 44, 2}, - {-48, 12, 1, 1, 48, 2}, - {-16, 12, 1, 1, 52, 2}, - { 16, 12, 1, 1, 56, 2} + { + .x = -48, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -16, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 2 + }, + { + .x = 16, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 2 + }, + { + .x = -48, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 2 + }, + { + .x = -16, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 16, + .priority = 2 + }, + { + .x = 16, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 20, + .priority = 2 + }, + { + .x = -48, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 24, + .priority = 2 + }, + { + .x = -16, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 28, + .priority = 2 + }, + { + .x = 16, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 32, + .priority = 2 + }, + { + .x = -48, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 36, + .priority = 2 + }, + { + .x = -16, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 40, + .priority = 2 + }, + { + .x = 16, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 44, + .priority = 2 + }, + { + .x = -48, + .y = 12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 48, + .priority = 2 + }, + { + .x = -16, + .y = 12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 52, + .priority = 2 + }, + { + .x = 16, + .y = 12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 56, + .priority = 2 + } }; const struct Subsprite gEventObjectSpriteOamTable_SSTidal_3[] = { - {-48, -20, 1, 1, 0, 1}, - {-16, -20, 1, 1, 4, 1}, - { 16, -20, 1, 1, 8, 1}, - {-48, -12, 1, 1, 12, 1}, - {-16, -12, 1, 1, 16, 1}, - { 16, -12, 1, 1, 20, 1}, - {-48, -4, 1, 1, 24, 2}, - {-16, -4, 1, 1, 28, 2}, - { 16, -4, 1, 1, 32, 2}, - {-48, 4, 1, 1, 36, 2}, - {-16, 4, 1, 1, 40, 2}, - { 16, 4, 1, 1, 44, 2}, - {-48, 12, 1, 1, 48, 2}, - {-16, 12, 1, 1, 52, 2}, - { 16, 12, 1, 1, 56, 2} + { + .x = -48, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = -16, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 1 + }, + { + .x = 16, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 1 + }, + { + .x = -48, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 1 + }, + { + .x = -16, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 16, + .priority = 1 + }, + { + .x = 16, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 20, + .priority = 1 + }, + { + .x = -48, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 24, + .priority = 2 + }, + { + .x = -16, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 28, + .priority = 2 + }, + { + .x = 16, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 32, + .priority = 2 + }, + { + .x = -48, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 36, + .priority = 2 + }, + { + .x = -16, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 40, + .priority = 2 + }, + { + .x = 16, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 44, + .priority = 2 + }, + { + .x = -48, + .y = 12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 48, + .priority = 2 + }, + { + .x = -16, + .y = 12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 52, + .priority = 2 + }, + { + .x = 16, + .y = 12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 56, + .priority = 2 + } }; const struct SubspriteTable gEventObjectSpriteOamTables_SSTidal[] = { @@ -252,79 +994,527 @@ const struct SubspriteTable gEventObjectSpriteOamTables_SSTidal[] = { }; const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_0[] = { - {-48, -20, 1, 1, 0, 2}, - {-16, -20, 1, 1, 4, 2}, - { 16, -20, 1, 0, 8, 2}, - { 32, -20, 0, 0, 10, 2}, - {-48, -12, 1, 1, 11, 2}, - {-16, -12, 1, 1, 15, 2}, - { 16, -12, 1, 0, 19, 2}, - { 32, -12, 0, 0, 21, 2}, - {-48, -4, 1, 1, 22, 2}, - {-16, -4, 1, 1, 26, 2}, - { 16, -4, 1, 0, 30, 2}, - { 32, -4, 0, 0, 32, 2}, - {-48, 4, 1, 1, 33, 2}, - {-16, 4, 1, 1, 37, 2}, - { 16, 4, 1, 0, 41, 2}, - { 32, 4, 0, 0, 43, 2} + { + .x = -48, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -16, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 2 + }, + { + .x = 16, + .y = -20, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 8, + .priority = 2 + }, + { + .x = 32, + .y = -20, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 10, + .priority = 2 + }, + { + .x = -48, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 11, + .priority = 2 + }, + { + .x = -16, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 15, + .priority = 2 + }, + { + .x = 16, + .y = -12, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 19, + .priority = 2 + }, + { + .x = 32, + .y = -12, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 21, + .priority = 2 + }, + { + .x = -48, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 22, + .priority = 2 + }, + { + .x = -16, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 26, + .priority = 2 + }, + { + .x = 16, + .y = -4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 30, + .priority = 2 + }, + { + .x = 32, + .y = -4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 32, + .priority = 2 + }, + { + .x = -48, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 33, + .priority = 2 + }, + { + .x = -16, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 37, + .priority = 2 + }, + { + .x = 16, + .y = 4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 41, + .priority = 2 + }, + { + .x = 32, + .y = 4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 43, + .priority = 2 + } }; const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_1[] = { - {-48, -20, 1, 1, 0, 1}, - {-16, -20, 1, 1, 4, 1}, - { 16, -20, 1, 0, 8, 1}, - { 32, -20, 0, 0, 10, 1}, - {-48, -12, 1, 1, 11, 1}, - {-16, -12, 1, 1, 15, 1}, - { 16, -12, 1, 0, 19, 1}, - { 32, -12, 0, 0, 21, 1}, - {-48, -4, 1, 1, 22, 1}, - {-16, -4, 1, 1, 26, 1}, - { 16, -4, 1, 0, 30, 1}, - { 32, -4, 0, 0, 32, 1}, - {-48, 4, 1, 1, 33, 1}, - {-16, 4, 1, 1, 37, 1}, - { 16, 4, 1, 0, 41, 1}, - { 32, 4, 0, 0, 43, 1} + { + .x = -48, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = -16, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 1 + }, + { + .x = 16, + .y = -20, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 8, + .priority = 1 + }, + { + .x = 32, + .y = -20, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 10, + .priority = 1 + }, + { + .x = -48, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 11, + .priority = 1 + }, + { + .x = -16, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 15, + .priority = 1 + }, + { + .x = 16, + .y = -12, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 19, + .priority = 1 + }, + { + .x = 32, + .y = -12, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 21, + .priority = 1 + }, + { + .x = -48, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 22, + .priority = 1 + }, + { + .x = -16, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 26, + .priority = 1 + }, + { + .x = 16, + .y = -4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 30, + .priority = 1 + }, + { + .x = 32, + .y = -4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 32, + .priority = 1 + }, + { + .x = -48, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 33, + .priority = 1 + }, + { + .x = -16, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 37, + .priority = 1 + }, + { + .x = 16, + .y = 4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 41, + .priority = 1 + }, + { + .x = 32, + .y = 4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 43, + .priority = 1 + } }; const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_2[] = { - {-48, -20, 1, 1, 0, 2}, - {-16, -20, 1, 1, 4, 2}, - { 16, -20, 1, 0, 8, 2}, - { 32, -20, 0, 0, 10, 2}, - {-48, -12, 1, 1, 11, 2}, - {-16, -12, 1, 1, 15, 2}, - { 16, -12, 1, 0, 19, 2}, - { 32, -12, 0, 0, 21, 2}, - {-48, -4, 1, 1, 22, 2}, - {-16, -4, 1, 1, 26, 2}, - { 16, -4, 1, 0, 30, 2}, - { 32, -4, 0, 0, 32, 2}, - {-48, 4, 1, 1, 33, 2}, - {-16, 4, 1, 1, 37, 2}, - { 16, 4, 1, 0, 41, 2}, - { 32, 4, 0, 0, 43, 2} + { + .x = -48, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = -16, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 2 + }, + { + .x = 16, + .y = -20, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 8, + .priority = 2 + }, + { + .x = 32, + .y = -20, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 10, + .priority = 2 + }, + { + .x = -48, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 11, + .priority = 2 + }, + { + .x = -16, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 15, + .priority = 2 + }, + { + .x = 16, + .y = -12, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 19, + .priority = 2 + }, + { + .x = 32, + .y = -12, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 21, + .priority = 2 + }, + { + .x = -48, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 22, + .priority = 2 + }, + { + .x = -16, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 26, + .priority = 2 + }, + { + .x = 16, + .y = -4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 30, + .priority = 2 + }, + { + .x = 32, + .y = -4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 32, + .priority = 2 + }, + { + .x = -48, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 33, + .priority = 2 + }, + { + .x = -16, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 37, + .priority = 2 + }, + { + .x = 16, + .y = 4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 41, + .priority = 2 + }, + { + .x = 32, + .y = 4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 43, + .priority = 2 + } }; const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_3[] = { - {-48, -20, 1, 1, 0, 1}, - {-16, -20, 1, 1, 4, 1}, - { 16, -20, 1, 0, 8, 1}, - { 32, -20, 0, 0, 10, 1}, - {-48, -12, 1, 1, 11, 1}, - {-16, -12, 1, 1, 15, 1}, - { 16, -12, 1, 0, 19, 1}, - { 32, -12, 0, 0, 21, 1}, - {-48, -4, 1, 1, 22, 2}, - {-16, -4, 1, 1, 26, 2}, - { 16, -4, 1, 0, 30, 2}, - { 32, -4, 0, 0, 32, 2}, - {-48, 4, 1, 1, 33, 2}, - {-16, 4, 1, 1, 37, 2}, - { 16, 4, 1, 0, 41, 2}, - { 32, 4, 0, 0, 43, 2} + { + .x = -48, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = -16, + .y = -20, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 1 + }, + { + .x = 16, + .y = -20, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 8, + .priority = 1 + }, + { + .x = 32, + .y = -20, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 10, + .priority = 1 + }, + { + .x = -48, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 11, + .priority = 1 + }, + { + .x = -16, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 15, + .priority = 1 + }, + { + .x = 16, + .y = -12, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 19, + .priority = 1 + }, + { + .x = 32, + .y = -12, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 21, + .priority = 1 + }, + { + .x = -48, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 22, + .priority = 2 + }, + { + .x = -16, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 26, + .priority = 2 + }, + { + .x = 16, + .y = -4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 30, + .priority = 2 + }, + { + .x = 32, + .y = -4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 32, + .priority = 2 + }, + { + .x = -48, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 33, + .priority = 2 + }, + { + .x = -16, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 37, + .priority = 2 + }, + { + .x = 16, + .y = 4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 41, + .priority = 2 + }, + { + .x = 32, + .y = 4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 43, + .priority = 2 + } }; const struct SubspriteTable gEventObjectSpriteOamTables_SubmarineShadow[] = { diff --git a/src/data/field_event_obj/field_effect_object_template_pointers.h b/src/data/field_event_obj/field_effect_object_template_pointers.h index 32d2b069a6..de39e6db34 100755 --- a/src/data/field_event_obj/field_effect_object_template_pointers.h +++ b/src/data/field_event_obj/field_effect_object_template_pointers.h @@ -31,7 +31,7 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown29; const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass; const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater; const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown33; +const struct SpriteTemplate gFieldEffectObjectTemplate_LavaridgeGymWarp; const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles; const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown35; const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza; @@ -70,7 +70,7 @@ const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = { &gFieldEffectObjectTemplate_ShortGrass, &gFieldEffectObjectTemplate_HotSpringsWater, &gFieldEffectObjectTemplate_JumpOutOfAsh, - &gFieldEffectObjectTemplate_Unknown33, + &gFieldEffectObjectTemplate_LavaridgeGymWarp, &gFieldEffectObjectTemplate_Bubbles, &gFieldEffectObjectTemplate_Unknown35, &gFieldEffectObjectTemplate_Rayquaza, diff --git a/src/data/field_event_obj/field_effect_objects.h b/src/data/field_event_obj/field_effect_objects.h index a3944de361..d283577654 100755 --- a/src/data/field_event_obj/field_effect_objects.h +++ b/src/data/field_event_obj/field_effect_objects.h @@ -892,19 +892,28 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_JumpOutOfAsh[] = gFieldEffectObjectImageAnim_850D54C, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh = {0xFFFF, 0x100D, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_JumpOutOfAsh, gFieldEffectObjectPicTable_JumpOutOfAsh, gDummySpriteAffineAnimTable, sub_80B7CAC}; +const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh = +{ + .tileTag = 0xFFFF, + .paletteTag = 0x100D, + .oam = &gEventObjectBaseOam_16x16, + .anims = gFieldEffectObjectImageAnimTable_JumpOutOfAsh, + .images = gFieldEffectObjectPicTable_JumpOutOfAsh, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_PopOutOfAsh +}; const struct SpritePalette gFieldEffectObjectPaletteInfo2 = {gFieldEffectObjectPalette2, 0x100D}; -const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown33[] = { - overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 0), - overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 1), - overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 2), - overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 3), - overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 4), +const struct SpriteFrameImage gFieldEffectObjectPicTable_LavaridgeGymWarp[] = { + overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 3), + overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 4), }; -const union AnimCmd gFieldEffectObjectImageAnim_850D5B0[] = +const union AnimCmd gFieldEffectObjectImageAnim_LavaridgeGymWarp[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -914,12 +923,21 @@ const union AnimCmd gFieldEffectObjectImageAnim_850D5B0[] = ANIMCMD_END, }; -const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown33[] = +const union AnimCmd *const gFieldEffectObjectImageAnimTable_LavaridgeGymWarp[] = { - gFieldEffectObjectImageAnim_850D5B0, + gFieldEffectObjectImageAnim_LavaridgeGymWarp, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown33 = {0xFFFF, 0x100D, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown33, gFieldEffectObjectPicTable_Unknown33, gDummySpriteAffineAnimTable, sub_80B7A58}; +const struct SpriteTemplate gFieldEffectObjectTemplate_LavaridgeGymWarp = +{ + .tileTag = 0xFFFF, + .paletteTag = 0x100D, + .oam = &gEventObjectBaseOam_16x16, + .anims = gFieldEffectObjectImageAnimTable_LavaridgeGymWarp, + .images = gFieldEffectObjectPicTable_LavaridgeGymWarp, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_LavaridgeGymWarp +}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Bubbles[] = { overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 0), diff --git a/src/data/field_event_obj/movement_action_func_tables.h b/src/data/field_event_obj/movement_action_func_tables.h index 712988f5e9..8e136b58ba 100755 --- a/src/data/field_event_obj/movement_action_func_tables.h +++ b/src/data/field_event_obj/movement_action_func_tables.h @@ -170,8 +170,8 @@ u8 MovementAction_SetFixedPriority_Step0(struct EventObject *, struct Sprite *); u8 MovementAction_ClearFixedPriority_Step0(struct EventObject *, struct Sprite *); u8 MovementAction_InitAffineAnim_Step0(struct EventObject *, struct Sprite *); u8 MovementAction_ClearAffineAnim_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_Unknown1_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_Unknown2_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_HideReflection_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_ShowReflection_Step0(struct EventObject *, struct Sprite *); u8 MovementAction_WalkDownStartAffine_Step0(struct EventObject *, struct Sprite *); u8 MovementAction_WalkDownStartAffine_Step1(struct EventObject *, struct Sprite *); u8 MovementAction_WalkDownAffine_Step0(struct EventObject *, struct Sprite *); @@ -358,8 +358,8 @@ u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct EventObject *, struct u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct EventObject *, struct Sprite *); u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct EventObject *, struct Sprite *); u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Unknown1[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Unknown2[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_HideReflection[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_ShowReflection[])(struct EventObject *, struct Sprite *); u8 (*const gMovementActionFuncs_WalkDownStartAffine[])(struct EventObject *, struct Sprite *); u8 (*const gMovementActionFuncs_WalkDownAffine[])(struct EventObject *, struct Sprite *); u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct EventObject *, struct Sprite *); @@ -518,8 +518,8 @@ u8 (*const *const gMovementActionFuncs[])(struct EventObject *, struct Sprite *) [MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY] = gMovementActionFuncs_ClearFixedPriority, [MOVEMENT_ACTION_INIT_AFFINE_ANIM] = gMovementActionFuncs_InitAffineAnim, [MOVEMENT_ACTION_CLEAR_AFFINE_ANIM] = gMovementActionFuncs_ClearAffineAnim, - [MOVEMENT_ACTION_UNKNOWN1] = gMovementActionFuncs_Unknown1, - [MOVEMENT_ACTION_UNKNOWN2] = gMovementActionFuncs_Unknown2, + [MOVEMENT_ACTION_HIDE_REFLECTION] = gMovementActionFuncs_HideReflection, + [MOVEMENT_ACTION_SHOW_REFLECTION] = gMovementActionFuncs_ShowReflection, [MOVEMENT_ACTION_WALK_DOWN_START_AFFINE] = gMovementActionFuncs_WalkDownStartAffine, [MOVEMENT_ACTION_WALK_DOWN_AFFINE] = gMovementActionFuncs_WalkDownAffine, [MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN] = gMovementActionFuncs_AcroWheelieFaceDown, @@ -1197,13 +1197,13 @@ u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct EventObject *, struct MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_Unknown1[])(struct EventObject *, struct Sprite *) = { - MovementAction_Unknown1_Step0, +u8 (*const gMovementActionFuncs_HideReflection[])(struct EventObject *, struct Sprite *) = { + MovementAction_HideReflection_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_Unknown2[])(struct EventObject *, struct Sprite *) = { - MovementAction_Unknown2_Step0, +u8 (*const gMovementActionFuncs_ShowReflection[])(struct EventObject *, struct Sprite *) = { + MovementAction_ShowReflection_Step0, MovementAction_Finish, }; diff --git a/src/data/graphics/decorations.h b/src/data/graphics/decorations.h index 62d86d48eb..d8b865fcf7 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/graphics/pokemon.h b/src/data/graphics/pokemon.h index 07415949d9..45e34030fd 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -572,12 +572,12 @@ const u32 gMonShinyPalette_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/sh const u8 gMonIcon_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/icon.4bpp"); const u8 gMonFootprint_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/footprint.1bpp"); -const u32 gMonStillFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/front.4bpp.lz"); -const u32 gMonPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/normal.gbapal.lz"); -const u32 gMonBackPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/back.4bpp.lz"); -const u32 gMonShinyPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/shiny.gbapal.lz"); -const u8 gMonIcon_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetch_d/icon.4bpp"); -const u8 gMonFootprint_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetch_d/footprint.1bpp"); +const u32 gMonStillFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/front.4bpp.lz"); +const u32 gMonPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/normal.gbapal.lz"); +const u32 gMonBackPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/back.4bpp.lz"); +const u32 gMonShinyPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/shiny.gbapal.lz"); +const u8 gMonIcon_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetchd/icon.4bpp"); +const u8 gMonFootprint_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetchd/footprint.1bpp"); const u32 gMonStillFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/front.4bpp.lz"); const u32 gMonPalette_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/normal.gbapal.lz"); diff --git a/src/data/party_menu.h b/src/data/party_menu.h new file mode 100644 index 0000000000..3c3a3e1ce3 --- /dev/null +++ b/src/data/party_menu.h @@ -0,0 +1,1255 @@ +static const struct BgTemplate sPartyMenuBgTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 28, + .screenSize = 1, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, +}; + +enum +{ + PARTY_BOX_LEFT_COLUMN, + PARTY_BOX_RIGHT_COLUMN +}; + +static const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] = +{ + [PARTY_BOX_LEFT_COLUMN] = + { + BlitBitmapToPartyWindow_LeftColumn, + { + //The below are the x, y, width, and height for each of the following info + 24, 11, 40, 13, // Nickname + 32, 20, 32, 8, // Level + 64, 20, 8, 8, // Gender + 38, 37, 24, 8, // HP + 53, 37, 24, 8, // Max HP + 24, 35, 48, 3 // HP bar + }, + 12, 34, 64, 16 // Description text (e.g. NO USE) + }, + [PARTY_BOX_RIGHT_COLUMN] = + { + BlitBitmapToPartyWindow_RightColumn, + { + // See above comment + 22, 3, 40, 13, // Nickname + 30, 12, 32, 8, // Level + 62, 12, 8, 8, // Gender + 102, 12, 24, 8, // HP + 117, 12, 24, 8, // Max HP + 88, 10, 48, 3 // HP bar + }, + 77, 4, 64, 16 // Description text + }, +}; + + +// Each layout array has an array for each of the 6 party slots +// The array for each slot has the sprite coords of its various sprites in the following order +// Pokemon icon (x, y), held item (x, y), status condition (x, y), menu pokeball (x, y) +static const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] = +{ + [PARTY_LAYOUT_SINGLE] = + { + { 16, 40, 20, 50, 50, 52, 16, 34}, + {104, 18, 108, 28, 136, 27, 102, 25}, + {104, 42, 108, 52, 136, 51, 102, 49}, + {104, 66, 108, 76, 136, 75, 102, 73}, + {104, 90, 108, 100, 136, 99, 102, 97}, + {104, 114, 108, 124, 136, 123, 102, 121}, + }, + [PARTY_LAYOUT_DOUBLE] = + { + {16, 24, 20, 34, 50, 36, 16, 18}, + {16, 80, 20, 90, 50, 92, 16, 74}, + {104, 18, 108, 28, 136, 27, 102, 25}, + {104, 50, 108, 60, 136, 59, 102, 57}, + {104, 82, 108, 92, 136, 91, 102, 89}, + {104, 114, 108, 124, 136, 123, 102, 121}, + }, + [PARTY_LAYOUT_MULTI] = + { + {16, 24, 20, 34, 50, 36, 16, 18}, + {16, 80, 20, 90, 50, 92, 16, 74}, + {104, 26, 106, 36, 136, 35, 102, 33}, + {104, 50, 106, 60, 136, 59, 102, 57}, + {104, 82, 106, 92, 136, 91, 102, 89}, + {104, 106, 106, 116, 136, 115, 102, 113}, + }, + [PARTY_LAYOUT_MULTI_SHOWCASE] = + { + {16, 32, 20, 42, 50, 44, 16, 26}, + {104, 34, 106, 44, 136, 43, 102, 41}, + {104, 58, 106, 68, 136, 67, 102, 65}, + {16, 104, 20, 114, 50, 116, 16, 98}, + {104, 106, 106, 116, 136, 115, 102, 113}, + {104, 130, 106, 140, 136, 139, 102, 137}, + }, +}; + +// Used only when both Cancel and Confirm are present +static const u32 sConfirmButton_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_confirm_button.bin"); +static const u32 sCancelButton_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_cancel_button.bin"); + +// Text colors for BG, FG, and Shadow in that order +static const u8 sFontColorTable[][3] = +{ + {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GREY, TEXT_COLOR_DARK_GREY}, // Default + {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_GREEN}, // Unused + {TEXT_COLOR_TRANSPARENT, TEXT_DYNAMIC_COLOR_2, TEXT_DYNAMIC_COLOR_3}, // Gender symbol + {TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}, // Selection actions + {TEXT_COLOR_WHITE, TEXT_COLOR_BLUE, TEXT_COLOR_LIGHT_BLUE}, // Field moves + {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}, // Unused +}; + +static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] = +{ + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 3, + .width = 10, + .height = 7, + .paletteNum = 3, + .baseBlock = 0x63, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 1, + .width = 18, + .height = 3, + .paletteNum = 4, + .baseBlock = 0xA9, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 4, + .width = 18, + .height = 3, + .paletteNum = 5, + .baseBlock = 0xDF, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 7, + .width = 18, + .height = 3, + .paletteNum = 6, + .baseBlock = 0x115, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 10, + .width = 18, + .height = 3, + .paletteNum = 7, + .baseBlock = 0x14B, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 13, + .width = 18, + .height = 3, + .paletteNum = 8, + .baseBlock = 0x181, + }, + { + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 28, + .height = 4, + .paletteNum = 14, + .baseBlock = 0x1DF, + }, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] = +{ + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 10, + .height = 7, + .paletteNum = 3, + .baseBlock = 0x63, + }, + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 8, + .width = 10, + .height = 7, + .paletteNum = 4, + .baseBlock = 0xA9, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 1, + .width = 18, + .height = 3, + .paletteNum = 5, + .baseBlock = 0xEF, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 5, + .width = 18, + .height = 3, + .paletteNum = 6, + .baseBlock = 0x125, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 9, + .width = 18, + .height = 3, + .paletteNum = 7, + .baseBlock = 0x15B, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 13, + .width = 18, + .height = 3, + .paletteNum = 8, + .baseBlock = 0x191, + }, + { + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 28, + .height = 4, + .paletteNum = 14, + .baseBlock = 0x1DF, + }, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] = +{ + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 10, + .height = 7, + .paletteNum = 3, + .baseBlock = 0x63, + }, + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 8, + .width = 10, + .height = 7, + .paletteNum = 4, + .baseBlock = 0xA9, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 2, + .width = 18, + .height = 3, + .paletteNum = 5, + .baseBlock = 0xEF, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 5, + .width = 18, + .height = 3, + .paletteNum = 6, + .baseBlock = 0x125, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 9, + .width = 18, + .height = 3, + .paletteNum = 7, + .baseBlock = 0x15B, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 12, + .width = 18, + .height = 3, + .paletteNum = 8, + .baseBlock = 0x191, + }, + { + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 28, + .height = 4, + .paletteNum = 14, + .baseBlock = 0x1DF, + }, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] = +{ + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 2, + .width = 10, + .height = 7, + .paletteNum = 3, + .baseBlock = 0x63, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 3, + .width = 18, + .height = 3, + .paletteNum = 5, + .baseBlock = 0xA9, + }, + { + .bg = 0, + .tilemapLeft = 12, + .tilemapTop = 6, + .width = 18, + .height = 3, + .paletteNum = 6, + .baseBlock = 0xDF, + }, + { + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 11, + .width = 10, + .height = 7, + .paletteNum = 4, + .baseBlock = 0x115, + }, + { + .bg = 2, + .tilemapLeft = 12, + .tilemapTop = 12, + .width = 18, + .height = 3, + .paletteNum = 7, + .baseBlock = 0x16B, + }, + { + .bg = 2, + .tilemapLeft = 12, + .tilemapTop = 15, + .width = 18, + .height = 3, + .paletteNum = 8, + .baseBlock = 0x1A1, + }, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate sCancelButtonWindowTemplate = +{ + .bg = 0, + .tilemapLeft = 24, + .tilemapTop = 17, + .width = 6, + .height = 2, + .paletteNum = 3, + .baseBlock = 0x1C7, +}; + +static const struct WindowTemplate sMultiCancelButtonWindowTemplate = +{ + .bg = 0, + .tilemapLeft = 24, + .tilemapTop = 18, + .width = 6, + .height = 2, + .paletteNum = 3, + .baseBlock = 0x1C7, +}; + +static const struct WindowTemplate sConfirmButtonWindowTemplate = +{ + .bg = 0, + .tilemapLeft = 24, + .tilemapTop = 16, + .width = 6, + .height = 2, + .paletteNum = 3, + .baseBlock = 0x1D3, +}; + +static const struct WindowTemplate sDefaultPartyMsgWindowTemplate = +{ + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 17, + .width = 21, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x24F, +}; + +static const struct WindowTemplate sDoWhatWithMonMsgWindowTemplate = +{ + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 17, + .width = 16, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x279, +}; + +static const struct WindowTemplate sDoWhatWithItemMsgWindowTemplate = +{ + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 17, + .width = 20, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x299, +}; + +static const struct WindowTemplate sDoWhatWithMailMsgWindowTemplate = +{ + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 17, + .width = 18, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x299, +}; + +static const struct WindowTemplate sWhichMoveMsgWindowTemplate = +{ + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 17, + .width = 16, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x299, +}; + +static const struct WindowTemplate sAlreadyHoldingOneMsgWindowTemplate = +{ + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 20, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x299, +}; + +static const struct WindowTemplate sItemGiveTakeWindowTemplate = +{ + .bg = 2, + .tilemapLeft = 23, + .tilemapTop = 13, + .width = 6, + .height = 6, + .paletteNum = 14, + .baseBlock = 0x39D, +}; + +static const struct WindowTemplate sMailReadTakeWindowTemplate = +{ + .bg = 2, + .tilemapLeft = 21, + .tilemapTop = 13, + .width = 8, + .height = 6, + .paletteNum = 14, + .baseBlock = 0x39D, +}; + +static const struct WindowTemplate sMoveSelectWindowTemplate = +{ + .bg = 2, + .tilemapLeft = 19, + .tilemapTop = 11, + .width = 10, + .height = 8, + .paletteNum = 14, + .baseBlock = 0x2E9, +}; + +static const struct WindowTemplate sPartyMenuYesNoWindowTemplate = +{ + .bg = 2, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 5, + .height = 4, + .paletteNum = 14, + .baseBlock = 0x2E9, +}; + +static const struct WindowTemplate sLevelUpStatsWindowTemplate = +{ + .bg = 2, + .tilemapLeft = 19, + .tilemapTop = 1, + .width = 10, + .height = 11, + .paletteNum = 14, + .baseBlock = 0x2E9, +}; + +static const struct WindowTemplate sUnusedWindowTemplate_08615978 = +{ + .bg = 2, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 27, + .height = 4, + .paletteNum = 14, + .baseBlock = 0x1DF, +}; + +static const struct WindowTemplate sUnusedWindowTemplate_08615980 = +{ + .bg = 2, + .tilemapLeft = 0, + .tilemapTop = 13, + .width = 18, + .height = 3, + .paletteNum = 12, + .baseBlock = 0x39D, +}; + +// Tile nums +static const u8 sMainSlotTileNums[] = {24, 25, 25, 25, 25, 25, 25, 25, 25, 26, + 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, + 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, + 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, + 40, 59, 60, 58, 58, 58, 58, 58, 58, 61, + 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, + 46, 47, 47, 47, 47, 47, 47, 47, 47, 48}; + +static const u8 sMainSlotTileNums_Egg[] = {24, 25, 25, 25, 25, 25, 25, 25, 25, 26, + 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, + 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, + 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, + 40, 41, 41, 41, 41, 41, 41, 41, 41, 42, + 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, + 46, 47, 47, 47, 47, 47, 47, 47, 47, 48}; + +static const u8 sOtherSlotsTileNums[] = {43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, + 49, 33, 33, 33, 33, 33, 33, 33, 33, 52, 53, 51, 51, 51, 51, 51, 51, 54, + 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57}; + +static const u8 sOtherSlotsTileNums_Egg[] = {43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, + 49, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 50, + 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57}; + +static const u8 sEmptySlotTileNums[] = {21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, + 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, + 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39}; + +// Palette offsets +static const u8 sGenderPalOffsets[] = {11, 12}; +static const u8 sHPBarPalOffsets[] = {9, 10}; +static const u8 sPartyBoxPalOffsets1[] = {4, 5, 6}; +static const u8 sPartyBoxPalOffsets2[] = {1, 7, 8}; +static const u8 sPartyBoxNoMonPalOffsets[] = {1, 11, 12}; + +// Palette ids +static const u8 sGenderMalePalIds[] = {59, 60}; +static const u8 sGenderFemalePalIds[] = {75, 76}; +static const u8 sHPBarGreenPalIds[] = {57, 58}; +static const u8 sHPBarYellowPalIds[] = {73, 74}; +static const u8 sHPBarRedPalIds[] = {89, 90}; +static const u8 sPartyBoxEmptySlotPalIds1[] = {52, 53, 54}; +static const u8 sPartyBoxMultiPalIds1[] = {68, 69, 70}; +static const u8 sPartyBoxFaintedPalIds1[] = {84, 85, 86}; +static const u8 sPartyBoxCurrSelectionPalIds1[] = {116, 117, 118}; +static const u8 sPartyBoxCurrSelectionMultiPalIds[] = {132, 133, 134}; +static const u8 sPartyBoxCurrSelectionFaintedPalIds[] = {148, 149, 150}; +static const u8 sPartyBoxSelectedForActionPalIds1[] = {100, 101, 102}; +static const u8 sPartyBoxEmptySlotPalIds2[] = {49, 55, 56}; +static const u8 sPartyBoxMultiPalIds2[] = {65, 71, 72}; +static const u8 sPartyBoxFaintedPalIds2[] = {81, 87, 88}; +static const u8 sPartyBoxCurrSelectionPalIds2[] = {97, 103, 104}; +static const u8 sPartyBoxSelectedForActionPalIds2[] = {161, 167, 168}; +static const u8 sPartyBoxNoMonPalIds[] = {17, 27, 28}; + +static const u8 *const sActionStringTable[] = +{ + [PARTY_MSG_CHOOSE_MON] = gText_ChoosePokemon, + [PARTY_MSG_CHOOSE_MON_OR_CANCEL] = gText_ChoosePokemonCancel, + [PARTY_MSG_CHOOSE_MON_AND_CONFIRM] = gText_ChoosePokemonConfirm, + [PARTY_MSG_MOVE_TO_WHERE] = gText_MoveToWhere, + [PARTY_MSG_TEACH_WHICH_MON] = gText_TeachWhichPokemon, + [PARTY_MSG_USE_ON_WHICH_MON] = gText_UseOnWhichPokemon, + [PARTY_MSG_GIVE_TO_WHICH_MON] = gText_GiveToWhichPokemon, + [PARTY_MSG_NOTHING_TO_CUT] = gText_NothingToCut, + [PARTY_MSG_CANT_SURF_HERE] = gText_CantSurfHere, + [PARTY_MSG_ALREADY_SURFING] = gText_AlreadySurfing, + [PARTY_MSG_CURRENT_TOO_FAST] = gText_CurrentIsTooFast, + [PARTY_MSG_ENJOY_CYCLING] = gText_EnjoyCycling, + [PARTY_MSG_ALREADY_IN_USE] = gText_InUseAlready_PM, + [PARTY_MSG_CANT_USE_HERE] = gText_CantUseHere, + [PARTY_MSG_NO_MON_FOR_BATTLE] = gText_NoPokemonForBattle, + [PARTY_MSG_CHOOSE_MON_2] = gText_ChoosePokemon2, + [PARTY_MSG_NOT_ENOUGH_HP] = gText_NotEnoughHp, + [PARTY_MSG_X_MONS_ARE_NEEDED] = gText_PokemonAreNeeded, + [PARTY_MSG_MONS_CANT_BE_SAME] = gText_PokemonCantBeSame, + [PARTY_MSG_NO_SAME_HOLD_ITEMS] = gText_NoIdenticalHoldItems, + [PARTY_MSG_UNUSED] = gText_EmptyString2, + [PARTY_MSG_DO_WHAT_WITH_MON] = gText_DoWhatWithPokemon, + [PARTY_MSG_RESTORE_WHICH_MOVE] = gText_RestoreWhichMove, + [PARTY_MSG_BOOST_PP_WHICH_MOVE] = gText_BoostPp, + [PARTY_MSG_DO_WHAT_WITH_ITEM] = gText_DoWhatWithItem, + [PARTY_MSG_DO_WHAT_WITH_MAIL] = gText_DoWhatWithMail, + [PARTY_MSG_ALREADY_HOLDING_ONE] = gText_AlreadyHoldingOne, +}; + +static const u8 *const sDescriptionStringTable[] = +{ + [PARTYBOX_DESC_NO_USE] = gText_NoUse, + [PARTYBOX_DESC_ABLE_3] = gText_Able, + [PARTYBOX_DESC_FIRST] = gText_First_PM, + [PARTYBOX_DESC_SECOND] = gText_Second_PM, + [PARTYBOX_DESC_THIRD] = gText_Third_PM, + [PARTYBOX_DESC_FOURTH] = gText_Fourth, + [PARTYBOX_DESC_ABLE] = gText_Able2, + [PARTYBOX_DESC_NOT_ABLE] = gText_NotAble, + [PARTYBOX_DESC_ABLE_2] = gText_Able3, + [PARTYBOX_DESC_NOT_ABLE_2] = gText_NotAble2, + [PARTYBOX_DESC_LEARNED] = gText_Learned, + [PARTYBOX_DESC_HAVE] = gText_Have, + [PARTYBOX_DESC_DONT_HAVE] = gText_DontHave, +}; + +static const u16 sUnused_08615B94[] = +{ + 0x0108, 0x0151, 0x0160, 0x015b, 0x002e, 0x005c, 0x0102, 0x0153, 0x014b, 0x00ed, 0x00f1, 0x010d, 0x003a, 0x003b, 0x003f, 0x0071, + 0x00b6, 0x00f0, 0x00ca, 0x00db, 0x00da, 0x004c, 0x00e7, 0x0055, 0x0057, 0x0059, 0x00d8, 0x005b, 0x005e, 0x00f7, 0x0118, 0x0068, + 0x0073, 0x015f, 0x0035, 0x00bc, 0x00c9, 0x007e, 0x013d, 0x014c, 0x0103, 0x0107, 0x0122, 0x009c, 0x00d5, 0x00a8, 0x00d3, 0x011d, + 0x0121, 0x013b, 0x000f, 0x0013, 0x0039, 0x0046, 0x0094, 0x00f9, 0x007f, 0x0123, +}; + +enum +{ + MENU_SUMMARY, + MENU_SWITCH, + MENU_CANCEL1, + MENU_ITEM, + MENU_GIVE, + MENU_TAKE_ITEM, + MENU_MAIL, + MENU_TAKE_MAIL, + MENU_READ, + MENU_CANCEL2, + MENU_SHIFT, + MENU_SEND_OUT, + MENU_ENTER, + MENU_NO_ENTRY, + MENU_STORE, + MENU_REGISTER, + MENU_TRADE1, + MENU_TRADE2, + MENU_TOSS, + MENU_FIELD_MOVES, +}; + +enum +{ + FIELD_MOVE_CUT, + FIELD_MOVE_FLASH, + FIELD_MOVE_ROCK_SMASH, + FIELD_MOVE_STRENGTH, + FIELD_MOVE_SURF, + FIELD_MOVE_FLY, + FIELD_MOVE_DIVE, + FIELD_MOVE_WATERFALL, + FIELD_MOVE_TELEPORT, + FIELD_MOVE_DIG, + FIELD_MOVE_SECRET_POWER, + FIELD_MOVE_MILK_DRINK, + FIELD_MOVE_SOFT_BOILED, + FIELD_MOVE_SWEET_SCENT, +}; + +// What a weird choice of table termination; +#define FIELD_MOVE_TERMINATOR MOVE_SWORDS_DANCE + +struct +{ + const u8 *text; + TaskFunc func; +} static const sCursorOptions[] = +{ + [MENU_SUMMARY] = {gText_Summary5, CursorCb_Summary}, + [MENU_SWITCH] = {gText_Switch2, CursorCb_Switch}, + [MENU_CANCEL1] = {gText_Cancel2, CursorCb_Cancel1}, + [MENU_ITEM] = {gText_Item, CursorCb_Item}, + [MENU_GIVE] = {gMenuText_Give, CursorCb_Give}, + [MENU_TAKE_ITEM] = {gText_Take, CursorCb_TakeItem}, + [MENU_MAIL] = {gText_Mail, CursorCb_Mail}, + [MENU_TAKE_MAIL] = {gText_Take2, CursorCb_TakeMail}, + [MENU_READ] = {gText_Read2, CursorCb_Read}, + [MENU_CANCEL2] = {gText_Cancel2, CursorCb_Cancel2}, + [MENU_SHIFT] = {gText_Shift, CursorCb_SendMon}, + [MENU_SEND_OUT] = {gText_SendOut, CursorCb_SendMon}, + [MENU_ENTER] = {gText_Enter, CursorCb_Enter}, + [MENU_NO_ENTRY] = {gText_NoEntry, CursorCb_NoEntry}, + [MENU_STORE] = {gText_Store, CursorCb_Store}, + [MENU_REGISTER] = {gText_Register, CursorCb_Register}, + [MENU_TRADE1] = {gText_Trade4, CursorCb_Trade1}, + [MENU_TRADE2] = {gText_Trade4, CursorCb_Trade2}, + [MENU_TOSS] = {gMenuText_Toss, CursorCb_Toss}, + [MENU_FIELD_MOVES + FIELD_MOVE_CUT] = {gMoveNames[MOVE_CUT], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_FLASH] = {gMoveNames[MOVE_FLASH], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_ROCK_SMASH] = {gMoveNames[MOVE_ROCK_SMASH], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_STRENGTH] = {gMoveNames[MOVE_STRENGTH], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_SURF] = {gMoveNames[MOVE_SURF], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_FLY] = {gMoveNames[MOVE_FLY], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_DIVE] = {gMoveNames[MOVE_DIVE], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_WATERFALL] = {gMoveNames[MOVE_WATERFALL], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_TELEPORT] = {gMoveNames[MOVE_TELEPORT], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_DIG] = {gMoveNames[MOVE_DIG], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_SECRET_POWER] = {gMoveNames[MOVE_SECRET_POWER], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_MILK_DRINK] = {gMoveNames[MOVE_MILK_DRINK], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_SOFT_BOILED] = {gMoveNames[MOVE_SOFT_BOILED], CursorCb_FieldMove}, + [MENU_FIELD_MOVES + FIELD_MOVE_SWEET_SCENT] = {gMoveNames[MOVE_SWEET_SCENT], CursorCb_FieldMove}, +}; + +static const u8 sPartyMenuAction_SummarySwitchCancel[] = {MENU_SUMMARY, MENU_SWITCH, MENU_CANCEL1}; +static const u8 sPartyMenuAction_ShiftSummaryCancel[] = {MENU_SHIFT, MENU_SUMMARY, MENU_CANCEL1}; +static const u8 sPartyMenuAction_SendOutSummaryCancel[] = {MENU_SEND_OUT, MENU_SUMMARY, MENU_CANCEL1}; +static const u8 sPartyMenuAction_SummaryCancel[] = {MENU_SUMMARY, MENU_CANCEL1}; +static const u8 sPartyMenuAction_EnterSummaryCancel[] = {MENU_ENTER, MENU_SUMMARY, MENU_CANCEL1}; +static const u8 sPartyMenuAction_NoEntrySummaryCancel[] = {MENU_NO_ENTRY, MENU_SUMMARY, MENU_CANCEL1}; +static const u8 sPartyMenuAction_StoreSummaryCancel[] = {MENU_STORE, MENU_SUMMARY, MENU_CANCEL1}; +static const u8 sPartyMenuAction_GiveTakeItemCancel[] = {MENU_GIVE, MENU_TAKE_ITEM, MENU_CANCEL2}; +static const u8 sPartyMenuAction_ReadTakeMailCancel[] = {MENU_READ, MENU_TAKE_MAIL, MENU_CANCEL2}; +static const u8 sPartyMenuAction_RegisterSummaryCancel[] = {MENU_REGISTER, MENU_SUMMARY, MENU_CANCEL1}; +static const u8 sPartyMenuAction_TradeSummaryCancel1[] = {MENU_TRADE1, MENU_SUMMARY, MENU_CANCEL1}; +static const u8 sPartyMenuAction_TradeSummaryCancel2[] = {MENU_TRADE2, MENU_SUMMARY, MENU_CANCEL1}; +static const u8 sPartyMenuAction_TakeItemTossCancel[] = {MENU_TAKE_ITEM, MENU_TOSS, MENU_CANCEL1}; + +// IDs for the action lists that appear when a party mon is selected +enum +{ + ACTIONS_NONE, + ACTIONS_SWITCH, + ACTIONS_SHIFT, + ACTIONS_SEND_OUT, + ACTIONS_ENTER, + ACTIONS_NO_ENTRY, + ACTIONS_STORE, + ACTIONS_SUMMARY_ONLY, + ACTIONS_ITEM, + ACTIONS_MAIL, + ACTIONS_REGISTER, + ACTIONS_TRADE, + ACTIONS_SPIN_TRADE, + ACTIONS_TAKEITEM_TOSS +}; + +static const u8 *const sPartyMenuActions[] = +{ + [ACTIONS_NONE] = NULL, + [ACTIONS_SWITCH] = sPartyMenuAction_SummarySwitchCancel, + [ACTIONS_SHIFT] = sPartyMenuAction_ShiftSummaryCancel, + [ACTIONS_SEND_OUT] = sPartyMenuAction_SendOutSummaryCancel, + [ACTIONS_ENTER] = sPartyMenuAction_EnterSummaryCancel, + [ACTIONS_NO_ENTRY] = sPartyMenuAction_NoEntrySummaryCancel, + [ACTIONS_STORE] = sPartyMenuAction_StoreSummaryCancel, + [ACTIONS_SUMMARY_ONLY] = sPartyMenuAction_SummaryCancel, + [ACTIONS_ITEM] = sPartyMenuAction_GiveTakeItemCancel, + [ACTIONS_MAIL] = sPartyMenuAction_ReadTakeMailCancel, + [ACTIONS_REGISTER] = sPartyMenuAction_RegisterSummaryCancel, + [ACTIONS_TRADE] = sPartyMenuAction_TradeSummaryCancel1, + [ACTIONS_SPIN_TRADE] = sPartyMenuAction_TradeSummaryCancel2, + [ACTIONS_TAKEITEM_TOSS] = sPartyMenuAction_TakeItemTossCancel, +}; + +static const u8 sPartyMenuActionCounts[] = +{ + [ACTIONS_NONE] = 0, + [ACTIONS_SWITCH] = ARRAY_COUNT(sPartyMenuAction_SummarySwitchCancel), + [ACTIONS_SHIFT] = ARRAY_COUNT(sPartyMenuAction_ShiftSummaryCancel), + [ACTIONS_SEND_OUT] = ARRAY_COUNT(sPartyMenuAction_SendOutSummaryCancel), + [ACTIONS_ENTER] = ARRAY_COUNT(sPartyMenuAction_EnterSummaryCancel), + [ACTIONS_NO_ENTRY] = ARRAY_COUNT(sPartyMenuAction_NoEntrySummaryCancel), + [ACTIONS_STORE] = ARRAY_COUNT(sPartyMenuAction_StoreSummaryCancel), + [ACTIONS_SUMMARY_ONLY] = ARRAY_COUNT(sPartyMenuAction_SummaryCancel), + [ACTIONS_ITEM] = ARRAY_COUNT(sPartyMenuAction_GiveTakeItemCancel), + [ACTIONS_MAIL] = ARRAY_COUNT(sPartyMenuAction_ReadTakeMailCancel), + [ACTIONS_REGISTER] = ARRAY_COUNT(sPartyMenuAction_RegisterSummaryCancel), + [ACTIONS_TRADE] = ARRAY_COUNT(sPartyMenuAction_TradeSummaryCancel1), + [ACTIONS_SPIN_TRADE] = ARRAY_COUNT(sPartyMenuAction_TradeSummaryCancel2), + [ACTIONS_TAKEITEM_TOSS] = ARRAY_COUNT(sPartyMenuAction_TakeItemTossCancel) +}; + +static const u16 sFieldMoves[] = +{ + MOVE_CUT, MOVE_FLASH, MOVE_ROCK_SMASH, MOVE_STRENGTH, MOVE_SURF, MOVE_FLY, MOVE_DIVE, MOVE_WATERFALL, MOVE_TELEPORT, + MOVE_DIG, MOVE_SECRET_POWER, MOVE_MILK_DRINK, MOVE_SOFT_BOILED, MOVE_SWEET_SCENT, FIELD_MOVE_TERMINATOR +}; + +struct +{ + bool8 (*fieldMoveFunc)(void); + u8 msgId; +} static const sFieldMoveCursorCallbacks[] = +{ + [FIELD_MOVE_CUT] = {SetUpFieldMove_Cut, PARTY_MSG_NOTHING_TO_CUT}, + [FIELD_MOVE_FLASH] = {SetUpFieldMove_Flash, PARTY_MSG_CANT_USE_HERE}, + [FIELD_MOVE_ROCK_SMASH] = {SetUpFieldMove_RockSmash, PARTY_MSG_CANT_USE_HERE}, + [FIELD_MOVE_STRENGTH] = {SetUpFieldMove_Strength, PARTY_MSG_CANT_USE_HERE}, + [FIELD_MOVE_SURF] = {SetUpFieldMove_Surf, PARTY_MSG_CANT_SURF_HERE}, + [FIELD_MOVE_FLY] = {SetUpFieldMove_Fly, PARTY_MSG_CANT_USE_HERE}, + [FIELD_MOVE_DIVE] = {SetUpFieldMove_Dive, PARTY_MSG_CANT_USE_HERE}, + [FIELD_MOVE_WATERFALL] = {SetUpFieldMove_Waterfall, PARTY_MSG_CANT_USE_HERE}, + [FIELD_MOVE_TELEPORT] = {SetUpFieldMove_Teleport, PARTY_MSG_CANT_USE_HERE}, + [FIELD_MOVE_DIG] = {SetUpFieldMove_Dig, PARTY_MSG_CANT_USE_HERE}, + [FIELD_MOVE_SECRET_POWER] = {SetUpFieldMove_SecretPower, PARTY_MSG_CANT_USE_HERE}, + [FIELD_MOVE_MILK_DRINK] = {SetUpFieldMove_SoftBoiled, PARTY_MSG_NOT_ENOUGH_HP}, + [FIELD_MOVE_SOFT_BOILED] = {SetUpFieldMove_SoftBoiled, PARTY_MSG_NOT_ENOUGH_HP}, + [FIELD_MOVE_SWEET_SCENT] = {SetUpFieldMove_SweetScent, PARTY_MSG_CANT_USE_HERE}, +}; + +static const u8 *const sUnionRoomTradeMessages[] = +{ + [UR_TRADE_MSG_NOT_MON_PARTNER_WANTS - 1] = gText_NotPkmnOtherTrainerWants, + [UR_TRADE_MSG_NOT_EGG - 1] = gText_ThatIsntAnEgg, + [UR_TRADE_MSG_MON_CANT_BE_TRADED_1 - 1] = gText_PkmnCantBeTradedNow, + [UR_TRADE_MSG_MON_CANT_BE_TRADED_2 - 1] = gText_PkmnCantBeTradedNow, + [UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED - 1] = gText_OtherTrainersPkmnCantBeTraded, + [UR_TRADE_MSG_EGG_CANT_BE_TRADED -1] = gText_EggCantBeTradedNow, + [UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON - 1] = gText_OtherTrainerCantAcceptPkmn, + [UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_1 - 1] = gText_CantTradeWithTrainer, + [UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2 - 1] = gText_CantTradeWithTrainer, +}; + +static const u32 sHeldItemGfx[] = INCBIN_U32("graphics/interface/hold_icons.4bpp"); +static const u16 sHeldItemPalette[] = INCBIN_U16("graphics/interface/hold_icons.gbapal"); + +static const struct OamData sOamData_HeldItem = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x8), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd sSpriteAnim_HeldItem[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_HeldMail[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_HeldItem[] = +{ + sSpriteAnim_HeldItem, + sSpriteAnim_HeldMail, +}; + +static const struct SpriteSheet sSpriteSheet_HeldItem = +{ + sHeldItemGfx, sizeof(sHeldItemGfx), 0xd750 +}; + +static const struct SpritePalette sSpritePalette_HeldItem = +{ + sHeldItemPalette, 0xd750 +}; + +static const struct SpriteTemplate sSpriteTemplate_HeldItem = +{ + 0xd750, + 0xd750, + &sOamData_HeldItem, + sSpriteAnimTable_HeldItem, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallbackDummy +}; + +static const struct OamData sOamData_MenuPokeball = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x32), + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sPokeballAnim_Closed[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sPokeballAnim_Open[] = +{ + ANIMCMD_FRAME(16, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_MenuPokeball[] = +{ + sPokeballAnim_Closed, + sPokeballAnim_Open +}; + +static const struct CompressedSpriteSheet sSpriteSheet_MenuPokeball = +{ + gPartyMenuPokeball_Gfx, 0x400, 0x04b0 +}; + +static const struct CompressedSpritePalette sSpritePalette_MenuPokeball = +{ + gPartyMenuPokeball_Pal, 0x04b0 +}; + +// Used for the pokeball sprite on each party slot / Cancel button +static const struct SpriteTemplate sSpriteTemplate_MenuPokeball = +{ + .tileTag = 0x04b0, + .paletteTag = 0x04b0, + .oam = &sOamData_MenuPokeball, + .anims = sSpriteAnimTable_MenuPokeball, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct OamData sOamData_MenuPokeballSmall = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSmallPokeballAnim_Closed[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSmallPokeballAnim_Open[] = +{ + ANIMCMD_FRAME(4, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSmallPokeballAnim_Blank1[] = +{ + ANIMCMD_FRAME(8, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSmallPokeballAnim_Blank2[] = +{ + ANIMCMD_FRAME(12, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSmallPokeballAnim_Blank3[] = +{ + ANIMCMD_FRAME(16, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSmallPokeballAnim_Blank4[] = +{ + ANIMCMD_FRAME(20, 0), + ANIMCMD_END +}; + +// The blanks below are never used. See SpriteCB_BounceConfirmCancelButton, where they were intended to be used +static const union AnimCmd *const sSpriteAnimTable_MenuPokeballSmall[] = +{ + sSmallPokeballAnim_Closed, + sSmallPokeballAnim_Open, + sSmallPokeballAnim_Blank1, + sSmallPokeballAnim_Blank2, + sSmallPokeballAnim_Blank3, + sSmallPokeballAnim_Blank4 +}; + +static const struct CompressedSpriteSheet sSpriteSheet_MenuPokeballSmall = +{ + gPartyMenuPokeballSmall_Gfx, 0x0300, 0x04b1 +}; + +// Used for the pokeball sprite next to Cancel and Confirm when both are present, otherwise sSpriteTemplate_MenuPokeball is used +static const struct SpriteTemplate sSpriteTemplate_MenuPokeballSmall = +{ + .tileTag = 1201, + .paletteTag = 1200, + .oam = &sOamData_MenuPokeballSmall, + .anims = sSpriteAnimTable_MenuPokeballSmall, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct OamData sOamData_StatusCondition = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x8), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x8), + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_StatusPoison[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_StatusParalyzed[] = +{ + ANIMCMD_FRAME(4, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_StatusSleep[] = +{ + ANIMCMD_FRAME(8, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_StatusFrozen[] = +{ + ANIMCMD_FRAME(12, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_StatusBurn[] = +{ + ANIMCMD_FRAME(16, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_StatusPokerus[] = +{ + ANIMCMD_FRAME(20, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_StatusFaint[] = +{ + ANIMCMD_FRAME(24, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_Blank[] = +{ + ANIMCMD_FRAME(28, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteTemplate_StatusCondition[] = +{ + sSpriteAnim_StatusPoison, + sSpriteAnim_StatusParalyzed, + sSpriteAnim_StatusSleep, + sSpriteAnim_StatusFrozen, + sSpriteAnim_StatusBurn, + sSpriteAnim_StatusPokerus, + sSpriteAnim_StatusFaint, + sSpriteAnim_Blank +}; + +static const struct CompressedSpriteSheet sSpriteSheet_StatusIcons = +{ + gStatusGfx_Icons, 0x400, 1202 +}; + +static const struct CompressedSpritePalette sSpritePalette_StatusIcons = +{ + gStatusPal_Icons, 1202 +}; + +static const struct SpriteTemplate sSpriteTemplate_StatusIcons = +{ + .tileTag = 1202, + .paletteTag = 1202, + .oam = &sOamData_StatusCondition, + .anims = sSpriteTemplate_StatusCondition, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +// Mask for the partners party in a multi battle. TRUE if in the partners party, FALSE otherwise +// The 7th slot is Cancel, and the 8th slot is unreachable +// Used only to determine whether or not to show the Deoxys form icon sprite +static const bool8 sMultiBattlePartnersPartyMask[PARTY_SIZE + 2] = +{ + FALSE, + TRUE, + FALSE, + FALSE, + TRUE, + TRUE, + FALSE +}; + +static const u8 *const sUnused_StatStrings[] = +{ + gText_HP4, + gText_Attack3, + gText_Defense3, + gText_SpAtk4, + gText_SpDef4, + gText_Speed2 +}; + +static const u16 sTMHMMoves[] = +{ + MOVE_FOCUS_PUNCH, + MOVE_DRAGON_CLAW, + MOVE_WATER_PULSE, + MOVE_CALM_MIND, + MOVE_ROAR, + MOVE_TOXIC, + MOVE_HAIL, + MOVE_BULK_UP, + MOVE_BULLET_SEED, + MOVE_HIDDEN_POWER, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_ICE_BEAM, + MOVE_BLIZZARD, + MOVE_HYPER_BEAM, + MOVE_LIGHT_SCREEN, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_GIGA_DRAIN, + MOVE_SAFEGUARD, + MOVE_FRUSTRATION, + MOVE_SOLAR_BEAM, + MOVE_IRON_TAIL, + MOVE_THUNDERBOLT, + MOVE_THUNDER, + MOVE_EARTHQUAKE, + MOVE_RETURN, + MOVE_DIG, + MOVE_PSYCHIC, + MOVE_SHADOW_BALL, + MOVE_BRICK_BREAK, + MOVE_DOUBLE_TEAM, + MOVE_REFLECT, + MOVE_SHOCK_WAVE, + MOVE_FLAMETHROWER, + MOVE_SLUDGE_BOMB, + MOVE_SANDSTORM, + MOVE_FIRE_BLAST, + MOVE_ROCK_TOMB, + MOVE_AERIAL_ACE, + MOVE_TORMENT, + MOVE_FACADE, + MOVE_SECRET_POWER, + MOVE_REST, + MOVE_ATTRACT, + MOVE_THIEF, + MOVE_STEEL_WING, + MOVE_SKILL_SWAP, + MOVE_SNATCH, + MOVE_OVERHEAT, + MOVE_CUT, + MOVE_FLY, + MOVE_SURF, + MOVE_STRENGTH, + MOVE_FLASH, + MOVE_ROCK_SMASH, + MOVE_WATERFALL, + MOVE_DIVE, +}; diff --git a/src/data/pokemon/item_effects.h b/src/data/pokemon/item_effects.h index 1697a1e7eb..698d97a436 100644 --- a/src/data/pokemon/item_effects.h +++ b/src/data/pokemon/item_effects.h @@ -236,7 +236,7 @@ const u8 gItemEffect_PPMax[9] = { }; const u8 gItemEffect_GuardSpec[8] = { - [3] = ITEM3_MIST, + [3] = ITEM3_GUARD_SPEC, [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID, [6] = 1, [7] = 1, @@ -377,7 +377,7 @@ const u8 gItemEffect_QualotBerry[10] = { [9] = 2, }; -const u8 gItemEffect_HondrewBerry[10] = { +const u8 gItemEffect_HondewBerry[10] = { [5] = ITEM5_EV_SPATK | ITEM5_FRIENDSHIP_ALL, [6] = -10, [7] = 10, @@ -469,7 +469,7 @@ const u8 *const gItemEffectTable[] = [ITEM_POMEG_BERRY - ITEM_POTION] = gItemEffect_PomegBerry, [ITEM_KELPSY_BERRY - ITEM_POTION] = gItemEffect_KelpsyBerry, [ITEM_QUALOT_BERRY - ITEM_POTION] = gItemEffect_QualotBerry, - [ITEM_HONDEW_BERRY - ITEM_POTION] = gItemEffect_HondrewBerry, + [ITEM_HONDEW_BERRY - ITEM_POTION] = gItemEffect_HondewBerry, [ITEM_GREPA_BERRY - ITEM_POTION] = gItemEffect_GrepaBerry, [ITEM_TAMATO_BERRY - ITEM_POTION] = gItemEffect_TamatoBerry, [LAST_BERRY_INDEX - ITEM_POTION] = NULL diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h index 727cc09593..c78b9ef0a7 100644 --- a/src/data/pokemon/level_up_learnsets.h +++ b/src/data/pokemon/level_up_learnsets.h @@ -1,5 +1,4 @@ #define LEVEL_UP_MOVE(lvl, move) ((lvl << 9) | move) -#define LEVEL_UP_END 0xffff static const u16 sBulbasaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), diff --git a/src/data/pokemon/trainer_class_lookups.h b/src/data/pokemon/trainer_class_lookups.h index 0f2b53a18e..2edefb274c 100644 --- a/src/data/pokemon/trainer_class_lookups.h +++ b/src/data/pokemon/trainer_class_lookups.h @@ -2,7 +2,7 @@ const u8 gFacilityClassToPicIndex[] = { [FACILITY_CLASS_HIKER] = TRAINER_PIC_HIKER, [FACILITY_CLASS_AQUA_GRUNT_M] = TRAINER_PIC_AQUA_GRUNT_M, - [FACILITY_CLASS_POKEMON_BREEDER_F] = TRAINER_PIC_POKEMON_BREEDER_F, + [FACILITY_CLASS_PKMN_BREEDER_F] = TRAINER_PIC_POKEMON_BREEDER_F, [FACILITY_CLASS_COOLTRAINER_M] = TRAINER_PIC_COOLTRAINER_M, [FACILITY_CLASS_BIRD_KEEPER] = TRAINER_PIC_BIRD_KEEPER, [FACILITY_CLASS_COLLECTOR] = TRAINER_PIC_COLLECTOR, @@ -88,7 +88,7 @@ const u8 gFacilityClassToTrainerClass[] = { [FACILITY_CLASS_HIKER] = TRAINER_CLASS_HIKER, [FACILITY_CLASS_AQUA_GRUNT_M] = TRAINER_CLASS_TEAM_AQUA, - [FACILITY_CLASS_POKEMON_BREEDER_F] = TRAINER_CLASS_PKMN_BREEDER, + [FACILITY_CLASS_PKMN_BREEDER_F] = TRAINER_CLASS_PKMN_BREEDER, [FACILITY_CLASS_COOLTRAINER_M] = TRAINER_CLASS_COOLTRAINER, [FACILITY_CLASS_BIRD_KEEPER] = TRAINER_CLASS_BIRD_KEEPER, [FACILITY_CLASS_COLLECTOR] = TRAINER_CLASS_COLLECTOR, diff --git a/src/data/pokemon/tutor_learnsets.h b/src/data/pokemon/tutor_learnsets.h index 0a930e9938..2c8c3b3622 100644 --- a/src/data/pokemon/tutor_learnsets.h +++ b/src/data/pokemon/tutor_learnsets.h @@ -1,35 +1,4 @@ -#define TUTOR_MOVE_MEGA_PUNCH 0 -#define TUTOR_MOVE_SWORDS_DANCE 1 -#define TUTOR_MOVE_MEGA_KICK 2 -#define TUTOR_MOVE_BODY_SLAM 3 -#define TUTOR_MOVE_DOUBLE_EDGE 4 -#define TUTOR_MOVE_COUNTER 5 -#define TUTOR_MOVE_SEISMIC_TOSS 6 -#define TUTOR_MOVE_MIMIC 7 -#define TUTOR_MOVE_METRONOME 8 -#define TUTOR_MOVE_SOFT_BOILED 9 -#define TUTOR_MOVE_DREAM_EATER 10 -#define TUTOR_MOVE_THUNDER_WAVE 11 -#define TUTOR_MOVE_EXPLOSION 12 -#define TUTOR_MOVE_ROCK_SLIDE 13 -#define TUTOR_MOVE_SUBSTITUTE 14 -#define TUTOR_MOVE_DYNAMIC_PUNCH 15 -#define TUTOR_MOVE_ROLLOUT 16 -#define TUTOR_MOVE_PSYCH_UP 17 -#define TUTOR_MOVE_SNORE 18 -#define TUTOR_MOVE_ICY_WIND 19 -#define TUTOR_MOVE_ENDURE 20 -#define TUTOR_MOVE_MUD_SLAP 21 -#define TUTOR_MOVE_ICE_PUNCH 22 -#define TUTOR_MOVE_SWAGGER 23 -#define TUTOR_MOVE_SLEEP_TALK 24 -#define TUTOR_MOVE_SWIFT 25 -#define TUTOR_MOVE_DEFENSE_CURL 26 -#define TUTOR_MOVE_THUNDER_PUNCH 27 -#define TUTOR_MOVE_FIRE_PUNCH 28 -#define TUTOR_MOVE_FURY_CUTTER 29 - -const u16 gTutorMoves[] = +const u16 gTutorMoves[TUTOR_MOVE_COUNT] = { [TUTOR_MOVE_MEGA_PUNCH] = MOVE_MEGA_PUNCH, [TUTOR_MOVE_SWORDS_DANCE] = MOVE_SWORDS_DANCE, diff --git a/src/data/script_menu.h b/src/data/script_menu.h new file mode 100644 index 0000000000..3880c3c0c8 --- /dev/null +++ b/src/data/script_menu.h @@ -0,0 +1,1006 @@ +// multichoice lists +static const struct MenuAction MultichoiceList_BrineyOnDewford[] = +{ + {gText_Petalburg}, + {gText_Slateport}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_EnterInfo[] = +{ + {gText_Enter2}, + {gText_Info2}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ContestInfo[] = +{ + {gText_WhatsAContest}, + {gText_TypesOfContests}, + {gText_Ranks}, + {gText_Cancel2}, +}; + +static const struct MenuAction MultichoiceList_ContestType[] = +{ + {gText_CoolnessContest}, + {gText_BeautyContest}, + {gText_CutenessContest}, + {gText_SmartnessContest}, + {gText_ToughnessContest}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_BasePCWithRegistry[] = +{ + {gText_Decoration2}, + {gText_PackUp}, + {gText_Registry}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_BasePCNoRegistry[] = +{ + {gText_Decoration2}, + {gText_PackUp}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_RegisterMenu[] = +{ + {gMenuText_Register}, + {gText_Registry}, + {gText_Information}, + {gText_Cancel2}, +}; + +static const struct MenuAction MultichoiceList_Bike[] = +{ + {gText_Mach}, + {gText_Acro}, +}; + +static const struct MenuAction MultichoiceList_StatusInfo[] = +{ + {gText_Psn}, + {gText_Par}, + {gText_Slp}, + {gText_Brn}, + {gText_Frz}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_BrineyOffDewford[] = +{ + {gText_Dewford}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ViewedPaintings[] = +{ + {gText_SawIt}, + {gText_NotYet}, +}; + +static const struct MenuAction MultichoiceList_YesNoInfo2[] = +{ + {gText_Yes}, + {gText_No}, + {gText_Info2}, +}; + +static const struct MenuAction MultichoiceList_ChallengeInfo[] = +{ + {gText_Challenge}, + {gText_Info3}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_LevelMode[] = +{ + {gText_Lv50}, + {gText_OpenLevel}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_Mechadoll1_Q1[] = +{ + {gTrickHouse_Mechadoll_Oddish}, + {gTrickHouse_Mechadoll_Poochyena}, + {gTrickHouse_Mechadoll_Taillow}, +}; + +static const struct MenuAction MultichoiceList_Mechadoll1_Q2[] = +{ + {gTrickHouse_Mechadoll_Azurill}, + {gTrickHouse_Mechadoll_Lotad}, + {gTrickHouse_Mechadoll_Wingull}, +}; + +static const struct MenuAction MultichoiceList_Mechadoll1_Q3[] = +{ + {gTrickHouse_Mechadoll_Dustox}, + {gTrickHouse_Mechadoll_Zubat}, + {gTrickHouse_Mechadoll_Nincada}, +}; + +static const struct MenuAction MultichoiceList_Mechadoll2_Q1[] = +{ + {gTrickHouse_Mechadoll_Ralts}, + {gTrickHouse_Mechadoll_Zigzagoon}, + {gTrickHouse_Mechadoll_Slakoth}, +}; + +static const struct MenuAction MultichoiceList_Mechadoll2_Q2[] = +{ + {gTrickHouse_Mechadoll_Poochyena2}, + {gTrickHouse_Mechadoll_Shroomish}, + {gTrickHouse_Mechadoll_Zigzagoon2}, +}; + +static const struct MenuAction MultichoiceList_Mechadoll2_Q3[] = +{ + {gTrickHouse_Mechadoll_Poochyena3}, + {gTrickHouse_Mechadoll_Zubat2}, + {gTrickHouse_Mechadoll_Carvanha}, +}; + +static const struct MenuAction MultichoiceList_Mechadoll3_Q1[] = +{ + {gTrickHouse_Mechadoll_BurnHeal}, + {gTrickHouse_Mechadoll_HarborMail}, + {gTrickHouse_Mechadoll_SamePrice}, +}; + +static const struct MenuAction MultichoiceList_Mechadoll3_Q2[] = +{ + {gTrickHouse_Mechadoll_60Yen}, + {gTrickHouse_Mechadoll_55Yen}, + {gTrickHouse_Mechadoll_Nothing}, +}; + +static const struct MenuAction MultichoiceList_Mechadoll3_Q3[] = +{ + {gTrickHouse_Mechadoll_CostMore}, + {gTrickHouse_Mechadoll_CostLess}, + {gTrickHouse_Mechadoll_SamePrice2}, +}; + +static const struct MenuAction MultichoiceList_Mechadoll4_Q1[] = +{ + {gTrickHouse_Mechadoll_Male}, + {gTrickHouse_Mechadoll_Female}, + {gTrickHouse_Mechadoll_Neither}, +}; + +static const struct MenuAction MultichoiceList_Mechadoll4_Q2[] = +{ + {gTrickHouse_Mechadoll_ElderlyMen}, + {gTrickHouse_Mechadoll_ElderlyLadies}, + {gTrickHouse_Mechadoll_SameNumber}, +}; + +static const struct MenuAction MultichoiceList_Mechadoll4_Q3[] = +{ + {gTrickHouse_Mechadoll_None}, + {gTrickHouse_Mechadoll_One}, + {gTrickHouse_Mechadoll_Two}, +}; + +static const struct MenuAction MultichoiceList_Mechadoll5_Q1[] = +{ + {gTrickHouse_Mechadoll_Two2}, + {gTrickHouse_Mechadoll_Three}, + {gTrickHouse_Mechadoll_Four}, +}; + +static const struct MenuAction MultichoiceList_Mechadoll5_Q2[] = +{ + {gTrickHouse_Mechadoll_Six}, + {gTrickHouse_Mechadoll_Seven}, + {gTrickHouse_Mechadoll_Eight}, +}; + +static const struct MenuAction MultichoiceList_Mechadoll5_Q3[] = +{ + {gTrickHouse_Mechadoll_Six2}, + {gTrickHouse_Mechadoll_Seven2}, + {gTrickHouse_Mechadoll_Eight2}, +}; + +static const struct MenuAction MultichoiceList_VendingMachine[] = +{ + {gText_FreshWaterAndPrice}, + {gText_SodaPopAndPrice}, + {gText_LemonadeAndPrice}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_MachBikeInfo[] = +{ + {gText_HowToRide}, + {gText_HowToTurn}, + {gText_SandySlopes}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_AcroBikeInfo[] = +{ + {gText_Wheelies}, + {gText_BunnyHops}, + {gText_Jump}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_Satisfaction[] = +{ + {gText_Satisfied}, + {gText_Dissatisfied}, +}; + +static const struct MenuAction MultichoiceList_SternDeepSea[] = +{ + {gText_DeepSeaTooth}, + {gText_DeepSeaScale}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_UnusedAshVendor[] = +{ + {gText_BlueFlute2}, + {gText_YellowFlute2}, + {gText_RedFlute2}, + {gText_WhiteFlute2}, + {gText_BlackFlute2}, + {gText_GlassChair}, + {gText_GlassDesk}, + {gText_Cancel2}, +}; + +static const struct MenuAction MultichoiceList_GameCornerDolls[] = +{ + {gText_TreeckoDollAndPrice}, + {gText_TorchicDollAndPrice}, + {gText_MudkipDollAndPrice}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_GameCornerTMs[] = +{ + {gText_TM32AndPrice}, + {gText_TM29AndPrice}, + {gText_TM35AndPrice}, + {gText_TM24AndPrice}, + {gText_TM13AndPrice}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_GameCornerCoins[] = +{ + {gText_50CoinsAndPrice}, + {gText_500CoinsAndPrice}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_HowsFishing[] = +{ + {gText_Excellent2}, + {gText_NotSoGood}, +}; + +static const struct MenuAction MultichoiceList_SSTidalSlateportWithBF[] = +{ + {gText_LilycoveCity}, + {gText_BattleFrontier}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_SSTidalBattleFrontier[] = +{ + {gText_SlateportCity}, + {gText_LilycoveCity}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_RightLeft[] = +{ + {gText_Right}, + {gText_Left}, +}; + +static const struct MenuAction MultichoiceList_SSTidalSlateportNoBF[] = +{ + {gText_LilycoveCity}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_Floors[] = +{ + {gText_5F}, + {gText_4F}, + {gText_3F}, + {gText_2F}, + {gText_1F}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ShardsR[] = +{ + {gText_RedShard}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ShardsY[] = +{ + {gText_YellowShard}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ShardsRY[] = +{ + {gText_RedShard}, + {gText_YellowShard}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ShardsB[] = +{ + {gText_BlueShard}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ShardsRB[] = +{ + {gText_RedShard}, + {gText_BlueShard}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ShardsYB[] = +{ + {gText_YellowShard}, + {gText_BlueShard}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ShardsRYB[] = +{ + {gText_RedShard}, + {gText_YellowShard}, + {gText_BlueShard}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ShardsG[] = +{ + {gText_GreenShard}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ShardsRG[] = +{ + {gText_RedShard}, + {gText_GreenShard}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ShardsYG[] = +{ + {gText_YellowShard}, + {gText_GreenShard}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ShardsRYG[] = +{ + {gText_RedShard}, + {gText_YellowShard}, + {gText_GreenShard}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ShardsBG[] = +{ + {gText_BlueShard}, + {gText_GreenShard}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ShardsRBG[] = +{ + {gText_RedShard}, + {gText_BlueShard}, + {gText_GreenShard}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ShardsYBG[] = +{ + {gText_YellowShard}, + {gText_BlueShard}, + {gText_GreenShard}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ShardsRYBG[] = +{ + {gText_RedShard}, + {gText_YellowShard}, + {gText_BlueShard}, + {gText_GreenShard}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_TourneyWithRecord[] = +{ + {gText_Opponent}, + {gText_Tourney_Tree}, + {gText_ReadyToStart}, + {gText_Record2}, + {gText_Rest}, + {gText_Retire}, +}; + +static const struct MenuAction MultichoiceList_TourneyNoRecord[] = +{ + {gText_Opponent}, + {gText_Tourney_Tree}, + {gText_ReadyToStart}, + {gText_Rest}, + {gText_Retire}, +}; + +static const struct MenuAction MultichoiceList_Tent[] = +{ + {gText_RedTent}, + {gText_BlueTent}, +}; + +static const struct MenuAction MultichoiceList_LinkServicesNoBerry[] = +{ + {gText_TradeCenter}, + {gText_Colosseum}, + {gText_RecordCorner}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_YesNoInfo[] = +{ + {gText_Yes}, + {gText_No}, + {gText_Info2}, +}; + +static const struct MenuAction MultichoiceList_BattleMode[] = +{ + {gText_SingleBattle}, + {gText_DoubleBattle}, + {gText_MultiBattle}, + {gText_Info2}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_LinkServicesNoRecord[] = +{ + {gText_TradeCenter}, + {gText_Colosseum}, + {gText_BerryCrush3}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_LinkServicesAll[] = +{ + {gText_TradeCenter}, + {gText_Colosseum}, + {gText_RecordCorner}, + {gText_BerryCrush3}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_LinkServicesNoRecordBerry[] = +{ + {gText_TradeCenter}, + {gText_Colosseum}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_WirelessMinigame[] = +{ + {gText_PokemonJump}, + {gText_DodrioBerryPicking}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_LinkLeader[] = +{ + {gText_JoinGroup}, + {gText_BecomeLeader}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ContestRank[] = +{ + {gText_NormalRank}, + {gText_SuperRank}, + {gText_HyperRank}, + {gText_MasterRank}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_FrontierItemChoose[] = +{ + {gText_BattleBag}, + {gText_HeldItem}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_LinkContestInfo[] = +{ + {gText_LinkContest}, + {gText_AboutE_Mode}, + {gText_AboutG_Mode}, + {gText_Cancel2}, +}; + +static const struct MenuAction MultichoiceList_LinkContestMode[] = +{ + {gText_E_Mode}, + {gText_G_Mode}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_ForcedStartMenu[] = +{ + {gText_MenuOptionPokedex}, + {gText_MenuOptionPokemon}, + {gText_MenuOptionBag}, + {gText_MenuOptionPokenav}, + {gText_Blank}, // blank because it's filled by the player's name + {gText_MenuOptionSave}, + {gText_MenuOptionOption}, + {gText_MenuOptionExit}, +}; + +static const struct MenuAction MultichoiceList_FrontierGamblerBet[] = +{ + {gText_5BP}, + {gText_10BP}, + {gText_15BP}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_UnusedSSTidal1[] = +{ + {gText_SouthernIsland}, + {gText_BirthIsland}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_UnusedSSTidal2[] = +{ + {gText_SouthernIsland}, + {gText_FarawayIsland}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_UnusedSSTidal3[] = +{ + {gText_BirthIsland}, + {gText_FarawayIsland}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_UnusedSSTidal4[] = +{ + {gText_SouthernIsland}, + {gText_BirthIsland}, + {gText_FarawayIsland}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_Fossil[] = +{ + {gText_ClawFossil}, + {gText_RootFossil}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_YesNo[] = +{ + {gText_Yes}, + {gText_No4}, +}; + +static const struct MenuAction MultichoiceList_FrontierRules[] = +{ + {gText_TwoStyles}, + {gText_Lv50_3}, + {gText_OpenLevel2}, + {gText_MonTypeAndNo}, + {gText_HoldItems}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_FrontierPassInfo[] = +{ + {gText_Symbols2}, + {gText_Record3}, + {gText_BattlePts}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_BattleArenaRules[] = +{ + {gText_BattleRules}, + {gText_JudgeMind}, + {gText_JudgeSkill}, + {gText_JudgeBody}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_BattleTowerRules[] = +{ + {gText_TowerInfo}, + {gText_BattleMon}, + {gText_BattleSalon}, + {gText_MultiLink2}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_BattleDomeRules[] = +{ + {gText_Matchup}, + {gText_TourneyTree}, + {gText_DoubleKO}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_BattleFactoryRules[] = +{ + {gText_BasicRules}, + {gText_SwapPartners}, + {gText_SwapNumber}, + {gText_SwapNotes}, + {gText_OpenLevel3}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_BattlePalaceRules[] = +{ + {gText_BattleBasics}, + {gText_PokemonNature}, + {gText_PokemonMoves}, + {gText_Underpowered}, + {gText_WhenInDanger}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_BattlePyramidRules[] = +{ + {gText_PyramidPokemon}, + {gText_PyramidTrainers}, + {gText_PyramidMaze}, + {gText_BattleBag2}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_BattlePikeRules[] = +{ + {gText_PokenavAndBag}, + {gText_HeldItems}, + {gText_PokemonOrder}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_GoOnRecordRestRetire[] = +{ + {gText_GoOn}, + {gText_Record2}, + {gText_Rest}, + {gText_Retire}, +}; + +static const struct MenuAction MultichoiceList_GoOnRestRetire[] = +{ + {gText_GoOn}, + {gText_Rest}, + {gText_Retire}, +}; + +static const struct MenuAction MultichoiceList_GoOnRecordRetire[] = +{ + {gText_GoOn}, + {gText_Record2}, + {gText_Retire}, +}; + +static const struct MenuAction MultichoiceList_GoOnRetire[] = +{ + {gText_GoOn}, + {gText_Retire}, +}; + +static const struct MenuAction MultichoiceList_TVLati[] = +{ + {gText_Red}, + {gText_Blue}, +}; + +static const struct MenuAction MultichoiceList_BattleTowerFeelings[] = +{ + {gText_IllBattleNow}, + {gText_IWon}, + {gText_ILost}, + {gText_IWontTell}, +}; + +static const struct MenuAction MultichoiceList_WheresRayquaza[] = +{ + {gText_CaveOfOrigin}, + {gText_MtPyre}, + {gText_SkyPillar}, + {gText_DontRemember}, +}; + +static const struct MenuAction MultichoiceList_SlateportTentRules[] = +{ + {gText_BasicRules}, + {gText_SwapPartners}, + {gText_SwapNumber}, + {gText_SwapNotes}, + {gText_BattlePokemon}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_FallarborTentRules[] = +{ + {gText_BattleTrainers}, + {gText_BattleRules}, + {gText_JudgeMind}, + {gText_JudgeSkill}, + {gText_JudgeBody}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_TagMatchType[] = +{ + {gText_NormalTagMatch}, + {gText_VarietyTagMatch}, + {gText_UniqueTagMatch}, + {gText_ExpertTagMatch}, + {gText_Exit}, +}; + +static const struct MenuAction MultichoiceList_Exit[] = +{ + {gText_Exit}, +}; + +struct MultichoiceListStruct +{ + const struct MenuAction *list; + u8 count; +}; + +static const struct MultichoiceListStruct sMultichoiceLists[] = +{ + [MULTI_BRINEY_ON_DEWFORD] = MULTICHOICE(MultichoiceList_BrineyOnDewford), + [MULTI_PC] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_ENTERINFO] = MULTICHOICE(MultichoiceList_EnterInfo), + [MULTI_CONTEST_INFO] = MULTICHOICE(MultichoiceList_ContestInfo), + [MULTI_CONTEST_TYPE] = MULTICHOICE(MultichoiceList_ContestType), + [MULTI_BASE_PC_NO_REGISTRY] = MULTICHOICE(MultichoiceList_BasePCNoRegistry), + [MULTI_BASE_PC_WITH_REGISTRY] = MULTICHOICE(MultichoiceList_BasePCWithRegistry), + [MULTI_REGISTER_MENU] = MULTICHOICE(MultichoiceList_RegisterMenu), + [MULTI_SSTIDAL_LILYCOVE] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_9] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_10] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_FRONTIER_PASS_INFO] = MULTICHOICE(MultichoiceList_FrontierPassInfo), + [MULTI_BIKE] = MULTICHOICE(MultichoiceList_Bike), + [MULTI_STATUS_INFO] = MULTICHOICE(MultichoiceList_StatusInfo), + [MULTI_BRINEY_OFF_DEWFORD] = MULTICHOICE(MultichoiceList_BrineyOffDewford), + [MULTI_UNUSED_15] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_VIEWED_PAINTINGS] = MULTICHOICE(MultichoiceList_ViewedPaintings), + [MULTI_YESNOINFO] = MULTICHOICE(MultichoiceList_YesNoInfo), + [MULTI_BATTLE_MODE] = MULTICHOICE(MultichoiceList_BattleMode), + [MULTI_UNUSED_19] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_YESNOINFO_2] = MULTICHOICE(MultichoiceList_YesNoInfo2), + [MULTI_UNUSED_21] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_22] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_CHALLENGEINFO] = MULTICHOICE(MultichoiceList_ChallengeInfo), + [MULTI_LEVEL_MODE] = MULTICHOICE(MultichoiceList_LevelMode), + [MULTI_MECHADOLL1_Q1] = MULTICHOICE(MultichoiceList_Mechadoll1_Q1), + [MULTI_MECHADOLL1_Q2] = MULTICHOICE(MultichoiceList_Mechadoll1_Q2), + [MULTI_MECHADOLL1_Q3] = MULTICHOICE(MultichoiceList_Mechadoll1_Q3), + [MULTI_MECHADOLL2_Q1] = MULTICHOICE(MultichoiceList_Mechadoll2_Q1), + [MULTI_MECHADOLL2_Q2] = MULTICHOICE(MultichoiceList_Mechadoll2_Q2), + [MULTI_MECHADOLL2_Q3] = MULTICHOICE(MultichoiceList_Mechadoll2_Q3), + [MULTI_MECHADOLL3_Q1] = MULTICHOICE(MultichoiceList_Mechadoll3_Q1), + [MULTI_MECHADOLL3_Q2] = MULTICHOICE(MultichoiceList_Mechadoll3_Q2), + [MULTI_MECHADOLL3_Q3] = MULTICHOICE(MultichoiceList_Mechadoll3_Q3), + [MULTI_MECHADOLL4_Q1] = MULTICHOICE(MultichoiceList_Mechadoll4_Q1), + [MULTI_MECHADOLL4_Q2] = MULTICHOICE(MultichoiceList_Mechadoll4_Q2), + [MULTI_MECHADOLL4_Q3] = MULTICHOICE(MultichoiceList_Mechadoll4_Q3), + [MULTI_MECHADOLL5_Q1] = MULTICHOICE(MultichoiceList_Mechadoll5_Q1), + [MULTI_MECHADOLL5_Q2] = MULTICHOICE(MultichoiceList_Mechadoll5_Q2), + [MULTI_MECHADOLL5_Q3] = MULTICHOICE(MultichoiceList_Mechadoll5_Q3), + [MULTI_UNUSED_40] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_UNUSED_41] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_VENDING_MACHINE] = MULTICHOICE(MultichoiceList_VendingMachine), + [MULTI_MACH_BIKE_INFO] = MULTICHOICE(MultichoiceList_MachBikeInfo), + [MULTI_ACRO_BIKE_INFO] = MULTICHOICE(MultichoiceList_AcroBikeInfo), + [MULTI_SATISFACTION] = MULTICHOICE(MultichoiceList_Satisfaction), + [MULTI_STERN_DEEPSEA] = MULTICHOICE(MultichoiceList_SternDeepSea), + [MULTI_UNUSED_ASH_VENDOR] = MULTICHOICE(MultichoiceList_UnusedAshVendor), + [MULTI_GAME_CORNER_DOLLS] = MULTICHOICE(MultichoiceList_GameCornerDolls), + [MULTI_GAME_CORNER_COINS] = MULTICHOICE(MultichoiceList_GameCornerCoins), + [MULTI_HOWS_FISHING] = MULTICHOICE(MultichoiceList_HowsFishing), + [MULTI_UNUSED_51] = MULTICHOICE(MultichoiceList_Exit), + [MULTI_SSTIDAL_SLATEPORT_WITH_BF] = MULTICHOICE(MultichoiceList_SSTidalSlateportWithBF), + [MULTI_SSTIDAL_BATTLE_FRONTIER] = MULTICHOICE(MultichoiceList_SSTidalBattleFrontier), + [MULTI_RIGHTLEFT] = MULTICHOICE(MultichoiceList_RightLeft), + [MULTI_GAME_CORNER_TMS] = MULTICHOICE(MultichoiceList_GameCornerTMs), + [MULTI_SSTIDAL_SLATEPORT_NO_BF] = MULTICHOICE(MultichoiceList_SSTidalSlateportNoBF), + [MULTI_FLOORS] = MULTICHOICE(MultichoiceList_Floors), + [MULTI_SHARDS_R] = MULTICHOICE(MultichoiceList_ShardsR), + [MULTI_SHARDS_Y] = MULTICHOICE(MultichoiceList_ShardsY), + [MULTI_SHARDS_RY] = MULTICHOICE(MultichoiceList_ShardsRY), + [MULTI_SHARDS_B] = MULTICHOICE(MultichoiceList_ShardsB), + [MULTI_SHARDS_RB] = MULTICHOICE(MultichoiceList_ShardsRB), + [MULTI_SHARDS_YB] = MULTICHOICE(MultichoiceList_ShardsYB), + [MULTI_SHARDS_RYB] = MULTICHOICE(MultichoiceList_ShardsRYB), + [MULTI_SHARDS_G] = MULTICHOICE(MultichoiceList_ShardsG), + [MULTI_SHARDS_RG] = MULTICHOICE(MultichoiceList_ShardsRG), + [MULTI_SHARDS_YG] = MULTICHOICE(MultichoiceList_ShardsYG), + [MULTI_SHARDS_RYG] = MULTICHOICE(MultichoiceList_ShardsRYG), + [MULTI_SHARDS_BG] = MULTICHOICE(MultichoiceList_ShardsBG), + [MULTI_SHARDS_RBG] = MULTICHOICE(MultichoiceList_ShardsRBG), + [MULTI_SHARDS_YBG] = MULTICHOICE(MultichoiceList_ShardsYBG), + [MULTI_SHARDS_RYBG] = MULTICHOICE(MultichoiceList_ShardsRYBG), + [MULTI_TOURNEY_WITH_RECORD] = MULTICHOICE(MultichoiceList_TourneyWithRecord), + [MULTI_CABLE_CLUB_NO_RECORD_MIX] = MULTICHOICE(MultichoiceList_LinkServicesNoRecordBerry), + [MULTI_WIRELESS_NO_RECORD_BERRY] = MULTICHOICE(MultichoiceList_LinkServicesNoRecordBerry), + [MULTI_CABLE_CLUB_WITH_RECORD_MIX] = MULTICHOICE(MultichoiceList_LinkServicesNoBerry), + [MULTI_WIRELESS_NO_BERRY] = MULTICHOICE(MultichoiceList_LinkServicesNoBerry), + [MULTI_WIRELESS_NO_RECORD] = MULTICHOICE(MultichoiceList_LinkServicesNoRecord), + [MULTI_WIRELESS_ALL_SERVICES] = MULTICHOICE(MultichoiceList_LinkServicesAll), + [MULTI_WIRELESS_MINIGAME] = MULTICHOICE(MultichoiceList_WirelessMinigame), + [MULTI_LINK_LEADER] = MULTICHOICE(MultichoiceList_LinkLeader), + [MULTI_CONTEST_RANK] = MULTICHOICE(MultichoiceList_ContestRank), + [MULTI_FRONTIER_ITEM_CHOOSE] = MULTICHOICE(MultichoiceList_FrontierItemChoose), + [MULTI_LINK_CONTEST_INFO] = MULTICHOICE(MultichoiceList_LinkContestInfo), + [MULTI_LINK_CONTEST_MODE] = MULTICHOICE(MultichoiceList_LinkContestMode), + [MULTI_FORCED_START_MENU] = MULTICHOICE(MultichoiceList_ForcedStartMenu), + [MULTI_FRONTIER_GAMBLER_BET] = MULTICHOICE(MultichoiceList_FrontierGamblerBet), + [MULTI_TENT] = MULTICHOICE(MultichoiceList_Tent), + [MULTI_UNUSED_SSTIDAL_1] = MULTICHOICE(MultichoiceList_UnusedSSTidal1), + [MULTI_UNUSED_SSTIDAL_2] = MULTICHOICE(MultichoiceList_UnusedSSTidal2), + [MULTI_UNUSED_SSTIDAL_3] = MULTICHOICE(MultichoiceList_UnusedSSTidal3), + [MULTI_UNUSED_SSTIDAL_4] = MULTICHOICE(MultichoiceList_UnusedSSTidal4), + [MULTI_FOSSIL] = MULTICHOICE(MultichoiceList_Fossil), + [MULTI_YESNO] = MULTICHOICE(MultichoiceList_YesNo), + [MULTI_FRONTIER_RULES] = MULTICHOICE(MultichoiceList_FrontierRules), + [MULTI_BATTLE_ARENA_RULES] = MULTICHOICE(MultichoiceList_BattleArenaRules), + [MULTI_BATTLE_TOWER_RULES] = MULTICHOICE(MultichoiceList_BattleTowerRules), + [MULTI_BATTLE_DOME_RULES] = MULTICHOICE(MultichoiceList_BattleDomeRules), + [MULTI_BATTLE_FACTORY_RULES] = MULTICHOICE(MultichoiceList_BattleFactoryRules), + [MULTI_BATTLE_PALACE_RULES] = MULTICHOICE(MultichoiceList_BattlePalaceRules), + [MULTI_BATTLE_PYRAMID_RULES] = MULTICHOICE(MultichoiceList_BattlePyramidRules), + [MULTI_BATTLE_PIKE_RULES] = MULTICHOICE(MultichoiceList_BattlePikeRules), + [MULTI_GO_ON_RECORD_REST_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRecordRestRetire), + [MULTI_GO_ON_REST_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRestRetire), + [MULTI_GO_ON_RECORD_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRecordRetire), + [MULTI_GO_ON_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRetire), + [MULTI_TOURNEY_NO_RECORD] = MULTICHOICE(MultichoiceList_TourneyNoRecord), + [MULTI_TV_LATI] = MULTICHOICE(MultichoiceList_TVLati), + [MULTI_BATTLE_TOWER_FEELINGS] = MULTICHOICE(MultichoiceList_BattleTowerFeelings), + [MULTI_WHERES_RAYQUAZA] = MULTICHOICE(MultichoiceList_WheresRayquaza), + [MULTI_SLATEPORT_TENT_RULES] = MULTICHOICE(MultichoiceList_SlateportTentRules), + [MULTI_FALLARBOR_TENT_RULES] = MULTICHOICE(MultichoiceList_FallarborTentRules), + [MULTI_TAG_MATCH_TYPE] = MULTICHOICE(MultichoiceList_TagMatchType), +}; + +const u8 *const gStdStrings[] = +{ + [STDSTRING_COOL] = gText_Cool, + [STDSTRING_BEAUTY] = gText_Beauty, + [STDSTRING_CUTE] = gText_Cute, + [STDSTRING_SMART] = gText_Smart, + [STDSTRING_TOUGH] = gText_Tough, + [STDSTRING_NORMAL] = gText_Normal, + [STDSTRING_SUPER] = gText_Super, + [STDSTRING_HYPER] = gText_Hyper, + [STDSTRING_MASTER] = gText_Master, + [STDSTRING_COOL2] = gText_Cool2, + [STDSTRING_BEAUTY2] = gText_Beauty2, + [STDSTRING_CUTE2] = gText_Cute2, + [STDSTRING_SMART2] = gText_Smart2, + [STDSTRING_TOUGH2] = gText_Tough2, + [STDSTRING_ITEMS] = gText_Items, + [STDSTRING_KEYITEMS] = gText_Key_Items, + [STDSTRING_POKEBALLS] = gText_Poke_Balls, + [STDSTRING_TMHMS] = gText_TMs_Hms, + [STDSTRING_BERRIES] = gText_Berries2, + [STDSTRING_SINGLE] = gText_Single2, + [STDSTRING_DOUBLE] = gText_Double2, + [STDSTRING_MULTI] = gText_Multi, + [STDSTRING_MULTI_LINK] = gText_MultiLink, + [STDSTRING_BATTLE_TOWER] = gText_BattleTower2, + [STDSTRING_BATTLE_DOME] = gText_BattleDome, + [STDSTRING_BATTLE_FACTORY] = gText_BattleFactory, + [STDSTRING_BATTLE_PALACE] = gText_BattlePalace, + [STDSTRING_BATTLE_ARENA] = gText_BattleArena, + [STDSTRING_BATTLE_PIKE] = gText_BattlePike, + [STDSTRING_BATTLE_PYRAMID] = gText_BattlePyramid, +}; + +static const u8 sLinkServicesMultichoiceIds[] = +{ + MULTI_CABLE_CLUB_NO_RECORD_MIX, + MULTI_WIRELESS_NO_RECORD_BERRY, + MULTI_CABLE_CLUB_WITH_RECORD_MIX, + MULTI_WIRELESS_NO_BERRY, + MULTI_WIRELESS_NO_RECORD, + MULTI_WIRELESS_ALL_SERVICES +}; + +static const u8 *const sPCNameStrings[] = +{ + gText_SomeonesPC, + gText_LanettesPC, + gText_PlayersPC, + gText_LogOff, +}; + +static const u8 *const sLilycoveSSTidalDestinations[SSTIDAL_SELECTION_COUNT] = +{ + [SSTIDAL_SELECTION_SLATEPORT] = gText_SlateportCity, + [SSTIDAL_SELECTION_BATTLE_FRONTIER] = gText_BattleFrontier, + [SSTIDAL_SELECTION_SOUTHERN_ISLAND] = gText_SouthernIsland, + [SSTIDAL_SELECTION_NAVEL_ROCK] = gText_NavelRock, + [SSTIDAL_SELECTION_BIRTH_ISLAND] = gText_BirthIsland, + [SSTIDAL_SELECTION_FARAWAY_ISLAND] = gText_FarawayIsland, + [SSTIDAL_SELECTION_EXIT] = gText_Exit, +}; + +static const u8 *const sCableClubOptions_WithRecordMix[] = +{ + CableClub_Text_TradeUsingLinkCable, + CableClub_Text_BattleUsingLinkCable, + CableClub_Text_RecordCornerUsingLinkCable, + CableClub_Text_CancelSelectedItem, +}; +static const u8 *const sWirelessOptionsNoBerryCrush[] = +{ + CableClub_Text_YouMayTradeHere, + CableClub_Text_YouMayBattleHere, + CableClub_Text_CanMixRecords, + CableClub_Text_CancelSelectedItem, +}; +static const u8 *const sWirelessOptions_NoRecordMix[] = +{ + CableClub_Text_YouMayTradeHere, + CableClub_Text_YouMayBattleHere, + CableClub_Text_CanMakeBerryPowder, + CableClub_Text_CancelSelectedItem, +}; +static const u8 *const sWirelessOptions_AllServices[] = +{ + CableClub_Text_YouMayTradeHere, + CableClub_Text_YouMayBattleHere, + CableClub_Text_CanMixRecords, + CableClub_Text_CanMakeBerryPowder, + CableClub_Text_CancelSelectedItem, +}; +static const u8 *const sCableClubOptions_NoRecordMix[] = +{ + CableClub_Text_TradeUsingLinkCable, + CableClub_Text_BattleUsingLinkCable, + CableClub_Text_CancelSelectedItem, +}; +static const u8 *const sWirelessOptions_NoRecordMixBerryCrush[] = +{ + CableClub_Text_YouMayTradeHere, + CableClub_Text_YouMayBattleHere, + CableClub_Text_CancelSelectedItem, +}; diff --git a/src/data/text/match_call_messages.h b/src/data/text/match_call_messages.h index c3015b5a75..6ea3b549f0 100644 --- a/src/data/text/match_call_messages.h +++ b/src/data/text/match_call_messages.h @@ -1,399 +1,394 @@ -#define MCFLAVOR(name) {gMatchCallFlavorText_##name##_Strategy, \ - gMatchCallFlavorText_##name##_Pokemon, \ - gMatchCallFlavorText_##name##_Intro1, \ - gMatchCallFlavorText_##name##_Intro2} - -const u8 gMatchCallFlavorText_AromaLady_Rose_Strategy[] = _("Becalm fighting emotions."); -const u8 gMatchCallFlavorText_AromaLady_Rose_Pokemon[] = _("Fragrant GRASS POKéMON."); -const u8 gMatchCallFlavorText_AromaLady_Rose_Intro1[] = _("Soothing aromas make the"); -const u8 gMatchCallFlavorText_AromaLady_Rose_Intro2[] = _("body and mind healthy."); - -const u8 gMatchCallFlavorText_RuinManiac_Andres_Strategy[] = _("I'm not very good at this."); -const u8 gMatchCallFlavorText_RuinManiac_Andres_Pokemon[] = _("Ruin-exploration partners."); -const u8 gMatchCallFlavorText_RuinManiac_Andres_Intro1[] = _("I am searching for undersea"); -const u8 gMatchCallFlavorText_RuinManiac_Andres_Intro2[] = _("ruins and relics."); - -const u8 gMatchCallFlavorText_RuinManiac_Dusty_Strategy[] = _("Overwhelm with power!"); -const u8 gMatchCallFlavorText_RuinManiac_Dusty_Pokemon[] = _("Craggy ROCK POKéMON."); -const u8 gMatchCallFlavorText_RuinManiac_Dusty_Intro1[] = _("In search of ancient lore,"); -const u8 gMatchCallFlavorText_RuinManiac_Dusty_Intro2[] = _("I travel the world."); - -const u8 gMatchCallFlavorText_Tuber_Lola_Strategy[] = _("I'm going to try hard!"); -const u8 gMatchCallFlavorText_Tuber_Lola_Pokemon[] = _("Good swimmer POKéMON."); -const u8 gMatchCallFlavorText_Tuber_Lola_Intro1[] = _("I wish I could swim without"); -const u8 gMatchCallFlavorText_Tuber_Lola_Intro2[] = _("using an inner tube."); - -const u8 gMatchCallFlavorText_Tuber_Ricky_Strategy[] = _("I don't know. I'll try hard."); -const u8 gMatchCallFlavorText_Tuber_Ricky_Pokemon[] = _("WATER POKéMON are buddies."); -const u8 gMatchCallFlavorText_Tuber_Ricky_Intro1[] = _("It's not like I can't swim."); -const u8 gMatchCallFlavorText_Tuber_Ricky_Intro2[] = _("I just like my inner tube."); - -const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Strategy[] = _("We split our duties."); -const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Pokemon[] = _("We like friendly POKéMON."); -const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Intro1[] = _("We enjoy POKéMON together"); -const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Intro2[] = _("as sister and brother."); - -const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Strategy[] = _("I finish with power moves!"); -const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Pokemon[] = _("A mix of different types."); -const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Intro1[] = _("I aim to become the ultimate"); -const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Intro2[] = _("TRAINER!"); - -const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Strategy[] = _("Exploit the foe's weakness."); -const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Pokemon[] = _("Balance is crucial."); -const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Intro1[] = _("My goal is to become the"); -const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Intro2[] = _("POKéMON CHAMPION."); - -const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Strategy[] = _("Upset the opponent."); -const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Pokemon[] = _("Type doesn't matter."); -const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Intro1[] = _("I'm a top student at the"); -const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Intro2[] = _("TRAINER'S SCHOOL."); - -const u8 gMatchCallFlavorText_HexManiac_Valerie_Strategy[] = _("Slow, steady suffering."); -const u8 gMatchCallFlavorText_HexManiac_Valerie_Pokemon[] = _("Scary to meet at night."); -const u8 gMatchCallFlavorText_HexManiac_Valerie_Intro1[] = _("I see things that others"); -const u8 gMatchCallFlavorText_HexManiac_Valerie_Intro2[] = _("can't see..."); - -const u8 gMatchCallFlavorText_Lady_Cindy_Strategy[] = _("Anything to win."); -const u8 gMatchCallFlavorText_Lady_Cindy_Pokemon[] = _("Gorgeous type!"); -const u8 gMatchCallFlavorText_Lady_Cindy_Intro1[] = _("I have a pool specially for"); -const u8 gMatchCallFlavorText_Lady_Cindy_Intro2[] = _("my POKéMON at home."); - -const u8 gMatchCallFlavorText_Beauty_Thalia_Strategy[] = _("You'll fall under my spell!"); -const u8 gMatchCallFlavorText_Beauty_Thalia_Pokemon[] = _("Mature WATER type."); -const u8 gMatchCallFlavorText_Beauty_Thalia_Intro1[] = _("I dream of cruising around"); -const u8 gMatchCallFlavorText_Beauty_Thalia_Intro2[] = _("the world on a luxury liner."); - -const u8 gMatchCallFlavorText_Beauty_Jessica_Strategy[] = _("I'll lead you astray."); -const u8 gMatchCallFlavorText_Beauty_Jessica_Pokemon[] = _("Cute, of course."); -const u8 gMatchCallFlavorText_Beauty_Jessica_Intro1[] = _("I love the SAFARI ZONE."); -const u8 gMatchCallFlavorText_Beauty_Jessica_Intro2[] = _("I seem to end up there."); - -const u8 gMatchCallFlavorText_RichBoy_Winston_Strategy[] = _("Strategy? Who needs it?"); -const u8 gMatchCallFlavorText_RichBoy_Winston_Pokemon[] = _("I spent big money on it!"); -const u8 gMatchCallFlavorText_RichBoy_Winston_Intro1[] = _("I, being rich, sleep in a"); -const u8 gMatchCallFlavorText_RichBoy_Winston_Intro2[] = _("custom POKéMON bed."); - -const u8 gMatchCallFlavorText_PokeManiac_Steve_Strategy[] = _("Wrestle down with power."); -const u8 gMatchCallFlavorText_PokeManiac_Steve_Pokemon[] = _("Took all night to catch."); -const u8 gMatchCallFlavorText_PokeManiac_Steve_Intro1[] = _("Big, burly, and buff"); -const u8 gMatchCallFlavorText_PokeManiac_Steve_Intro2[] = _("POKéMON are the best..."); - -const u8 gMatchCallFlavorText_Swimmer_Tony_Strategy[] = _("Ram at full speed!"); -const u8 gMatchCallFlavorText_Swimmer_Tony_Pokemon[] = _("Funky WATER type!"); -const u8 gMatchCallFlavorText_Swimmer_Tony_Intro1[] = _("If I can't be out swimming,"); -const u8 gMatchCallFlavorText_Swimmer_Tony_Intro2[] = _("I'll be pumping weights."); - -const u8 gMatchCallFlavorText_BlackBelt_Nob_Strategy[] = _("Grand slam pummeling!"); -const u8 gMatchCallFlavorText_BlackBelt_Nob_Pokemon[] = _("FIGHTING type."); -const u8 gMatchCallFlavorText_BlackBelt_Nob_Intro1[] = _("Not to brag, but I can bust"); -const u8 gMatchCallFlavorText_BlackBelt_Nob_Intro2[] = _("ten roof tiles!"); - -const u8 gMatchCallFlavorText_BlackBelt_Koji_Strategy[] = _("Witness karate power!"); -const u8 gMatchCallFlavorText_BlackBelt_Koji_Pokemon[] = _("My partners in training!"); -const u8 gMatchCallFlavorText_BlackBelt_Koji_Intro1[] = _("Let us discuss matters of"); -const u8 gMatchCallFlavorText_BlackBelt_Koji_Intro2[] = _("the world with bare fists!"); - -const u8 gMatchCallFlavorText_Guitarist_Fernando_Strategy[] = _("Rock to stunning sounds!"); -const u8 gMatchCallFlavorText_Guitarist_Fernando_Pokemon[] = _("Electric-and-sound combo!"); -const u8 gMatchCallFlavorText_Guitarist_Fernando_Intro1[] = _("My compositions will shock"); -const u8 gMatchCallFlavorText_Guitarist_Fernando_Intro2[] = _("you and stun you!"); - -const u8 gMatchCallFlavorText_Guitarist_Dalton_Strategy[] = _("I'll electrify you!"); -const u8 gMatchCallFlavorText_Guitarist_Dalton_Pokemon[] = _("They're ELECTRIC!"); -const u8 gMatchCallFlavorText_Guitarist_Dalton_Intro1[] = _("I want to make people cry"); -const u8 gMatchCallFlavorText_Guitarist_Dalton_Intro2[] = _("with songs from my heart."); - -const u8 gMatchCallFlavorText_Kindler_Bernie_Strategy[] = _("Burn it all down!"); -const u8 gMatchCallFlavorText_Kindler_Bernie_Pokemon[] = _("Burn-inducing POKéMON."); -const u8 gMatchCallFlavorText_Kindler_Bernie_Intro1[] = _("When you light a campfire,"); -const u8 gMatchCallFlavorText_Kindler_Bernie_Intro2[] = _("be sure there's some water."); - -const u8 gMatchCallFlavorText_Camper_Ethan_Strategy[] = _("Hang in and be tenacious!"); -const u8 gMatchCallFlavorText_Camper_Ethan_Pokemon[] = _("I'll raise any POKéMON."); -const u8 gMatchCallFlavorText_Camper_Ethan_Intro1[] = _("POKéMON raised in the wild"); -const u8 gMatchCallFlavorText_Camper_Ethan_Intro2[] = _("grow strong!"); - -const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Strategy[] = _("Our love lets us prevail."); -const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Pokemon[] = _("We've had them for years."); -const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Intro1[] = _("Married 50 years, we've"); -const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Intro2[] = _("devotedly raised POKéMON."); - -const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Strategy[] = _("Attack in waves!"); -const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Pokemon[] = _("BUG POKéMON are cool."); -const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Intro1[] = _("I go into the forest every"); -const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Intro2[] = _("day to catch BUG POKéMON."); - -const u8 gMatchCallFlavorText_Psychic_Cameron_Strategy[] = _("Daze and confuse!"); -const u8 gMatchCallFlavorText_Psychic_Cameron_Pokemon[] = _("Ones with weird powers."); -const u8 gMatchCallFlavorText_Psychic_Cameron_Intro1[] = _("I can see through exactly"); -const u8 gMatchCallFlavorText_Psychic_Cameron_Intro2[] = _("what you're thinking!"); - -const u8 gMatchCallFlavorText_Psychic_Jacki_Strategy[] = _("Battle at full power."); -const u8 gMatchCallFlavorText_Psychic_Jacki_Pokemon[] = _("POKéMON of many mysteries."); -const u8 gMatchCallFlavorText_Psychic_Jacki_Intro1[] = _("When we spoke, I was really"); -const u8 gMatchCallFlavorText_Psychic_Jacki_Intro2[] = _("using telepathy."); - -const u8 gMatchCallFlavorText_Gentleman_Walter_Strategy[] = _("Calm and collected."); -const u8 gMatchCallFlavorText_Gentleman_Walter_Pokemon[] = _("POKéMON of distinction."); -const u8 gMatchCallFlavorText_Gentleman_Walter_Intro1[] = _("We enjoy a spot of tea"); -const u8 gMatchCallFlavorText_Gentleman_Walter_Intro2[] = _("every day. It's imported."); - -const u8 gMatchCallFlavorText_SchoolKid_Karen_Strategy[] = _("I use my head to battle."); -const u8 gMatchCallFlavorText_SchoolKid_Karen_Pokemon[] = _("I love any kind of POKéMON!"); -const u8 gMatchCallFlavorText_SchoolKid_Karen_Intro1[] = _("My daddy gives me spending"); -const u8 gMatchCallFlavorText_SchoolKid_Karen_Intro2[] = _("money if I ace a test."); - -const u8 gMatchCallFlavorText_SchoolKid_Jerry_Strategy[] = _("My knowledge rules!"); -const u8 gMatchCallFlavorText_SchoolKid_Jerry_Pokemon[] = _("Any smart POKéMON!"); -const u8 gMatchCallFlavorText_SchoolKid_Jerry_Intro1[] = _("I want to be a POKéMON"); -const u8 gMatchCallFlavorText_SchoolKid_Jerry_Intro2[] = _("researcher in the future."); - -const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Strategy[] = _("We talk it over first."); -const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Pokemon[] = _("POKéMON that we both like."); -const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Intro1[] = _("We're senior and junior"); -const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Intro2[] = _("students into POKéMON!"); - -const u8 gMatchCallFlavorText_Pokefan_Isabel_Strategy[] = _("Go for it, my dears!"); -const u8 gMatchCallFlavorText_Pokefan_Isabel_Pokemon[] = _("I have no likes or dislikes."); -const u8 gMatchCallFlavorText_Pokefan_Isabel_Intro1[] = _("While out shopping for"); -const u8 gMatchCallFlavorText_Pokefan_Isabel_Intro2[] = _("supper, I battle too."); - -const u8 gMatchCallFlavorText_Pokefan_Miguel_Strategy[] = _("I battle with love!"); -const u8 gMatchCallFlavorText_Pokefan_Miguel_Pokemon[] = _("A POKéMON raised with love!"); -const u8 gMatchCallFlavorText_Pokefan_Miguel_Intro1[] = _("It's important to build"); -const u8 gMatchCallFlavorText_Pokefan_Miguel_Intro2[] = _("trust with your POKéMON."); - -const u8 gMatchCallFlavorText_Expert_Timothy_Strategy[] = _("I see through your moves!"); -const u8 gMatchCallFlavorText_Expert_Timothy_Pokemon[] = _("The essence of FIGHTING."); -const u8 gMatchCallFlavorText_Expert_Timothy_Intro1[] = _("I'm not ready to give way"); -const u8 gMatchCallFlavorText_Expert_Timothy_Intro2[] = _("to the young yet!"); - -const u8 gMatchCallFlavorText_Expert_Shelby_Strategy[] = _("Attack while defending."); -const u8 gMatchCallFlavorText_Expert_Shelby_Pokemon[] = _("The FIGHTING type."); -const u8 gMatchCallFlavorText_Expert_Shelby_Intro1[] = _("Being old, I have my own"); -const u8 gMatchCallFlavorText_Expert_Shelby_Intro2[] = _("style of battling."); - -const u8 gMatchCallFlavorText_Youngster_Calvin_Strategy[] = _("I do what I can."); -const u8 gMatchCallFlavorText_Youngster_Calvin_Pokemon[] = _("I use different types."); -const u8 gMatchCallFlavorText_Youngster_Calvin_Intro1[] = _("I'm going to keep working"); -const u8 gMatchCallFlavorText_Youngster_Calvin_Intro2[] = _("until I beat a GYM LEADER."); - -const u8 gMatchCallFlavorText_Fisherman_Elliot_Strategy[] = _("I battle patiently."); -const u8 gMatchCallFlavorText_Fisherman_Elliot_Pokemon[] = _("WATER POKéMON to battle!"); -const u8 gMatchCallFlavorText_Fisherman_Elliot_Intro1[] = _("I'm the world's only guy to"); -const u8 gMatchCallFlavorText_Fisherman_Elliot_Intro2[] = _("catch a huge POKéMON!"); - -const u8 gMatchCallFlavorText_Triathlete_Isaiah_Strategy[] = _("Exploit the environment!"); -const u8 gMatchCallFlavorText_Triathlete_Isaiah_Pokemon[] = _("All hail the WATER type!"); -const u8 gMatchCallFlavorText_Triathlete_Isaiah_Intro1[] = _("I won't be beaten by some"); -const u8 gMatchCallFlavorText_Triathlete_Isaiah_Intro2[] = _("beach bum SWIMMER!"); - -const u8 gMatchCallFlavorText_Triathlete_Maria_Strategy[] = _("Speed above all!"); -const u8 gMatchCallFlavorText_Triathlete_Maria_Pokemon[] = _("I use a speedy POKéMON."); -const u8 gMatchCallFlavorText_Triathlete_Maria_Intro1[] = _("A marathon is a challenge"); -const u8 gMatchCallFlavorText_Triathlete_Maria_Intro2[] = _("against your own self."); - -const u8 gMatchCallFlavorText_Triathlete_Abigail_Strategy[] = _("Defense is crucial."); -const u8 gMatchCallFlavorText_Triathlete_Abigail_Pokemon[] = _("My POKéMON is solid."); -const u8 gMatchCallFlavorText_Triathlete_Abigail_Intro1[] = _("I started this for dieting,"); -const u8 gMatchCallFlavorText_Triathlete_Abigail_Intro2[] = _("but I got right into it."); - -const u8 gMatchCallFlavorText_Triathlete_Dylan_Strategy[] = _("Strike before stricken!"); -const u8 gMatchCallFlavorText_Triathlete_Dylan_Pokemon[] = _("A fast-running POKéMON!"); -const u8 gMatchCallFlavorText_Triathlete_Dylan_Intro1[] = _("If you ran and ran, you'd"); -const u8 gMatchCallFlavorText_Triathlete_Dylan_Intro2[] = _("become one with the wind."); - -const u8 gMatchCallFlavorText_Triathlete_Katelyn_Strategy[] = _("All-out offensive!"); -const u8 gMatchCallFlavorText_Triathlete_Katelyn_Pokemon[] = _("WATER POKéMON rule!"); -const u8 gMatchCallFlavorText_Triathlete_Katelyn_Intro1[] = _("I must swim over 6 miles"); -const u8 gMatchCallFlavorText_Triathlete_Katelyn_Intro2[] = _("every day."); - -const u8 gMatchCallFlavorText_Triathlete_Benjamin_Strategy[] = _("Push and push again!"); -const u8 gMatchCallFlavorText_Triathlete_Benjamin_Pokemon[] = _("The strength of STEEL."); -const u8 gMatchCallFlavorText_Triathlete_Benjamin_Intro1[] = _("If you're sweating, get"); -const u8 gMatchCallFlavorText_Triathlete_Benjamin_Intro2[] = _("fluids into you regularly."); - -const u8 gMatchCallFlavorText_Triathlete_Pablo_Strategy[] = _("Draw the power of WATER."); -const u8 gMatchCallFlavorText_Triathlete_Pablo_Pokemon[] = _("Toughened WATER POKéMON."); -const u8 gMatchCallFlavorText_Triathlete_Pablo_Intro1[] = _("Training POKéMON is good,"); -const u8 gMatchCallFlavorText_Triathlete_Pablo_Intro2[] = _("but don't neglect yourself."); - -const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Strategy[] = _("It's about POKéMON power!"); -const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Pokemon[] = _("See the power of DRAGONS!"); -const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Intro1[] = _("I'll become legendary as the"); -const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Intro2[] = _("strongest one day!"); - -const u8 gMatchCallFlavorText_BirdKeeper_Robert_Strategy[] = _("I'll show you my technique!"); -const u8 gMatchCallFlavorText_BirdKeeper_Robert_Pokemon[] = _("Elegantly wheeling BIRDS."); -const u8 gMatchCallFlavorText_BirdKeeper_Robert_Intro1[] = _("My BIRD POKéMON, deliver my"); -const u8 gMatchCallFlavorText_BirdKeeper_Robert_Intro2[] = _("love to that girl!"); - -const u8 gMatchCallFlavorText_NinjaBoy_Lao_Strategy[] = _("You'll suffer from poison!"); -const u8 gMatchCallFlavorText_NinjaBoy_Lao_Pokemon[] = _("Poisonous POKéMON."); -const u8 gMatchCallFlavorText_NinjaBoy_Lao_Intro1[] = _("I undertake training so"); -const u8 gMatchCallFlavorText_NinjaBoy_Lao_Intro2[] = _("that I may become a ninja."); - -const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Strategy[] = _("The first strike wins!"); -const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Pokemon[] = _("Speedy FIGHTING type."); -const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Intro1[] = _("If my POKéMON lose,"); -const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Intro2[] = _("I'll carry on the fight!"); - -const u8 gMatchCallFlavorText_ParasolLady_Madeline_Strategy[] = _("Go, go, my POKéMON!"); -const u8 gMatchCallFlavorText_ParasolLady_Madeline_Pokemon[] = _("I'll raise anything."); -const u8 gMatchCallFlavorText_ParasolLady_Madeline_Intro1[] = _("UV rays are your skin's"); -const u8 gMatchCallFlavorText_ParasolLady_Madeline_Intro2[] = _("enemy. Get protected."); - -const u8 gMatchCallFlavorText_Swimmer_Jenny_Strategy[] = _("No mercy!"); -const u8 gMatchCallFlavorText_Swimmer_Jenny_Pokemon[] = _("Cute WATER POKéMON."); -const u8 gMatchCallFlavorText_Swimmer_Jenny_Intro1[] = _("I have too many fans."); -const u8 gMatchCallFlavorText_Swimmer_Jenny_Intro2[] = _("I was interviewed on TV."); - -const u8 gMatchCallFlavorText_Picnicker_Diana_Strategy[] = _("I think about this & that."); -const u8 gMatchCallFlavorText_Picnicker_Diana_Pokemon[] = _("I like all POKéMON."); -const u8 gMatchCallFlavorText_Picnicker_Diana_Intro1[] = _("What lies beyond that"); -const u8 gMatchCallFlavorText_Picnicker_Diana_Intro2[] = _("yonder hill?"); - -const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Strategy[] = _("We battle together!"); -const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Pokemon[] = _("We train together!"); -const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Intro1[] = _("We like the same POKéMON,"); -const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Intro2[] = _("but different desserts."); - -const u8 gMatchCallFlavorText_Sailor_Ernest_Strategy[] = _("I force things with power!"); -const u8 gMatchCallFlavorText_Sailor_Ernest_Pokemon[] = _("WATER and FIGHTING types."); -const u8 gMatchCallFlavorText_Sailor_Ernest_Intro1[] = _("Seamen are rough spirits!"); -const u8 gMatchCallFlavorText_Sailor_Ernest_Intro2[] = _("Any complaints?"); - -const u8 gMatchCallFlavorText_Sailor_Cory_Strategy[] = _("Up for a fight anytime!"); -const u8 gMatchCallFlavorText_Sailor_Cory_Pokemon[] = _("WATER POKéMON are my faves!"); -const u8 gMatchCallFlavorText_Sailor_Cory_Intro1[] = _("If you want to shout loud,"); -const u8 gMatchCallFlavorText_Sailor_Cory_Intro2[] = _("suck in air with your belly!"); - -const u8 gMatchCallFlavorText_Collector_Edwin_Strategy[] = _("Protect POKéMON from harm."); -const u8 gMatchCallFlavorText_Collector_Edwin_Pokemon[] = _("I love rare POKéMON."); -const u8 gMatchCallFlavorText_Collector_Edwin_Intro1[] = _("I want to collect all the"); -const u8 gMatchCallFlavorText_Collector_Edwin_Intro2[] = _("world's rare POKéMON."); - -const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Strategy[] = _("I count on power."); -const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Pokemon[] = _("POKéMON are my children."); -const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Intro1[] = _("It takes knowledge and"); -const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Intro2[] = _("love to raise POKéMON."); - -const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Strategy[] = _("Full-on attack!"); -const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Pokemon[] = _("Anything. I'll raise it."); -const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Intro1[] = _("I give them {POKEBLOCK}S for"); -const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Intro2[] = _("going after CONTEST titles."); - -const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Strategy[] = _("I raise POKéMON with care."); -const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Pokemon[] = _("Fun-to-raise POKéMON."); -const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Intro1[] = _("Treat every POKéMON you"); -const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Intro2[] = _("meet with respect."); - -const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Strategy[] = _("I believe in my POKéMON."); -const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Pokemon[] = _("I like strong POKéMON."); -const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Intro1[] = _("I'm training for rescue"); -const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Intro2[] = _("work with my POKéMON."); - -const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Strategy[] = _("Attack in waves!"); -const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Pokemon[] = _("I use different types."); -const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Intro1[] = _("Those who destroy nature"); -const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Intro2[] = _("must never be forgiven!"); - -const u8 gMatchCallFlavorText_Lass_Haley_Strategy[] = _("I'll show you some guts!"); -const u8 gMatchCallFlavorText_Lass_Haley_Pokemon[] = _("Cute POKéMON are my faves!"); -const u8 gMatchCallFlavorText_Lass_Haley_Intro1[] = _("After a battle, I always"); -const u8 gMatchCallFlavorText_Lass_Haley_Intro2[] = _("bathe with my POKéMON."); - -const u8 gMatchCallFlavorText_BugCatcher_James_Strategy[] = _("Lightning-fast attack!"); -const u8 gMatchCallFlavorText_BugCatcher_James_Pokemon[] = _("BUG POKéMON are number 1!"); -const u8 gMatchCallFlavorText_BugCatcher_James_Intro1[] = _("If you want to catch BUG"); -const u8 gMatchCallFlavorText_BugCatcher_James_Intro2[] = _("POKéMON, wake up early."); - -const u8 gMatchCallFlavorText_Hiker_Trent_Strategy[] = _("I battle with power."); -const u8 gMatchCallFlavorText_Hiker_Trent_Pokemon[] = _("Hard-bodied POKéMON."); -const u8 gMatchCallFlavorText_Hiker_Trent_Intro1[] = _("I've been planning a month"); -const u8 gMatchCallFlavorText_Hiker_Trent_Intro2[] = _("for today's hike."); - -const u8 gMatchCallFlavorText_Hiker_Sawyer_Strategy[] = _("I like it hot!"); -const u8 gMatchCallFlavorText_Hiker_Sawyer_Pokemon[] = _("Hot POKéMON!"); -const u8 gMatchCallFlavorText_Hiker_Sawyer_Intro1[] = _("As much as I love POKéMON,"); -const u8 gMatchCallFlavorText_Hiker_Sawyer_Intro2[] = _("I surely like hiking!"); - -const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Strategy[] = _("Lovey-dovey strategy!"); -const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Pokemon[] = _("Lovey-dovey POKéMON!"); -const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Intro1[] = _("We're lovey-dovey!"); -const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Intro2[] = _("Forever lovey-dovey!"); - -const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Strategy[] = _("We let it all hang out."); -const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Pokemon[] = _("The 1st POKéMON I caught."); -const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Intro1[] = _("POKéMON and I have grown"); -const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Intro2[] = _("stronger together."); - -const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Strategy[] = _("ROCK-type power attack."); -const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Pokemon[] = _("I prefer rock-hard POKéMON."); -const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Intro1[] = _("A LEADER of a big GYM bears"); -const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Intro2[] = _("a lot of responsibility."); - -const u8 gMatchCallFlavorText_TheBigHit_Brawly_Strategy[] = _("Direct physical action!"); -const u8 gMatchCallFlavorText_TheBigHit_Brawly_Pokemon[] = _("FIGHTING POKéMON rule!"); -const u8 gMatchCallFlavorText_TheBigHit_Brawly_Intro1[] = _("The world awaits me as the"); -const u8 gMatchCallFlavorText_TheBigHit_Brawly_Intro2[] = _("next big wave!"); - -const u8 gMatchCallFlavorText_SwellShock_Wattson_Strategy[] = _("I choose to electrify."); -const u8 gMatchCallFlavorText_SwellShock_Wattson_Pokemon[] = _("Get shocked by electricity!"); -const u8 gMatchCallFlavorText_SwellShock_Wattson_Intro1[] = _("One must never throw a"); -const u8 gMatchCallFlavorText_SwellShock_Wattson_Intro2[] = _("match. Even I must not."); - -const u8 gMatchCallFlavorText_PassionBurn_Flannery_Strategy[] = _("Battle aggressively."); -const u8 gMatchCallFlavorText_PassionBurn_Flannery_Pokemon[] = _("Burn with passion!"); -const u8 gMatchCallFlavorText_PassionBurn_Flannery_Intro1[] = _("Completely wash away daily"); -const u8 gMatchCallFlavorText_PassionBurn_Flannery_Intro2[] = _("fatigue in hot springs!"); - -const u8 gMatchCallFlavorText_ReliableOne_Dad_Strategy[] = _("I flexibly adapt my style."); -const u8 gMatchCallFlavorText_ReliableOne_Dad_Pokemon[] = _("Grown in a balanced manner."); -const u8 gMatchCallFlavorText_ReliableOne_Dad_Intro1[] = _("I walk the 30 minutes from"); -const u8 gMatchCallFlavorText_ReliableOne_Dad_Intro2[] = _("home to here every day."); - -const u8 gMatchCallFlavorText_SkyTamer_Winona_Strategy[] = _("I take advantage of speed."); -const u8 gMatchCallFlavorText_SkyTamer_Winona_Pokemon[] = _("Graceful sky dancers."); -const u8 gMatchCallFlavorText_SkyTamer_Winona_Intro1[] = _("The ultimate would be to"); -const u8 gMatchCallFlavorText_SkyTamer_Winona_Intro2[] = _("live as one with nature."); - -const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Strategy[] = _("We battle in cooperation."); -const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Pokemon[] = _("Always friendly POKéMON."); -const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Intro1[] = _("Papa has trouble telling"); -const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Intro2[] = _("the two of us apart!"); - -const u8 gMatchCallFlavorText_DandyCharm_Juan_Strategy[] = _("I use splendid waterpower."); -const u8 gMatchCallFlavorText_DandyCharm_Juan_Pokemon[] = _("POKéMON of elegance!"); -const u8 gMatchCallFlavorText_DandyCharm_Juan_Intro1[] = _("The adulation of beautiful"); -const u8 gMatchCallFlavorText_DandyCharm_Juan_Intro2[] = _("ladies fills me with energy!"); - -const u8 gMatchCallFlavorText_EliteFour_Sidney_Strategy[] = _("Offense over defense!"); -const u8 gMatchCallFlavorText_EliteFour_Sidney_Pokemon[] = _("The DARK side's beauties."); -const u8 gMatchCallFlavorText_EliteFour_Sidney_Intro1[] = _("They said I was a punk, but"); -const u8 gMatchCallFlavorText_EliteFour_Sidney_Intro2[] = _("I'm one of the ELITE FOUR!"); - -const u8 gMatchCallFlavorText_EliteFour_Phoebe_Strategy[] = _("Confuse and confound."); -const u8 gMatchCallFlavorText_EliteFour_Phoebe_Pokemon[] = _("There's nothing definite."); -const u8 gMatchCallFlavorText_EliteFour_Phoebe_Intro1[] = _("I wonder how my grandma at"); -const u8 gMatchCallFlavorText_EliteFour_Phoebe_Intro2[] = _("MT. PYRE is doing?"); - -const u8 gMatchCallFlavorText_EliteFour_Glacia_Strategy[] = _("I use items for help."); -const u8 gMatchCallFlavorText_EliteFour_Glacia_Pokemon[] = _("Flaming passion in icy cold!"); -const u8 gMatchCallFlavorText_EliteFour_Glacia_Intro1[] = _("The ICE type can be better"); -const u8 gMatchCallFlavorText_EliteFour_Glacia_Intro2[] = _("trained in this hot land."); - -const u8 gMatchCallFlavorText_EliteFour_Drake_Strategy[] = _("Harness strong abilities."); -const u8 gMatchCallFlavorText_EliteFour_Drake_Pokemon[] = _("The raw power of DRAGONS!"); -const u8 gMatchCallFlavorText_EliteFour_Drake_Intro1[] = _("I dedicate myself to the"); -const u8 gMatchCallFlavorText_EliteFour_Drake_Intro2[] = _("POKéMON that saved me."); - -const u8 gMatchCallFlavorText_Champion_Wallace_Strategy[] = _("Dignity and respect."); -const u8 gMatchCallFlavorText_Champion_Wallace_Pokemon[] = _("I prefer POKéMON of grace."); -const u8 gMatchCallFlavorText_Champion_Wallace_Intro1[] = _("I represent beauty as"); -const u8 gMatchCallFlavorText_Champion_Wallace_Intro2[] = _("well as intelligence."); - -const u8 *const gMatchCallMessages[][4] = +const u8 gText_MatchCallAromaLady_Rose_Strategy[] = _("Becalm fighting emotions."); +const u8 gText_MatchCallAromaLady_Rose_Pokemon[] = _("Fragrant GRASS POKéMON."); +const u8 gText_MatchCallAromaLady_Rose_Intro1[] = _("Soothing aromas make the"); +const u8 gText_MatchCallAromaLady_Rose_Intro2[] = _("body and mind healthy."); + +const u8 gText_MatchCallRuinManiac_Andres_Strategy[] = _("I'm not very good at this."); +const u8 gText_MatchCallRuinManiac_Andres_Pokemon[] = _("Ruin-exploration partners."); +const u8 gText_MatchCallRuinManiac_Andres_Intro1[] = _("I am searching for undersea"); +const u8 gText_MatchCallRuinManiac_Andres_Intro2[] = _("ruins and relics."); + +const u8 gText_MatchCallRuinManiac_Dusty_Strategy[] = _("Overwhelm with power!"); +const u8 gText_MatchCallRuinManiac_Dusty_Pokemon[] = _("Craggy ROCK POKéMON."); +const u8 gText_MatchCallRuinManiac_Dusty_Intro1[] = _("In search of ancient lore,"); +const u8 gText_MatchCallRuinManiac_Dusty_Intro2[] = _("I travel the world."); + +const u8 gText_MatchCallTuber_Lola_Strategy[] = _("I'm going to try hard!"); +const u8 gText_MatchCallTuber_Lola_Pokemon[] = _("Good swimmer POKéMON."); +const u8 gText_MatchCallTuber_Lola_Intro1[] = _("I wish I could swim without"); +const u8 gText_MatchCallTuber_Lola_Intro2[] = _("using an inner tube."); + +const u8 gText_MatchCallTuber_Ricky_Strategy[] = _("I don't know. I'll try hard."); +const u8 gText_MatchCallTuber_Ricky_Pokemon[] = _("WATER POKéMON are buddies."); +const u8 gText_MatchCallTuber_Ricky_Intro1[] = _("It's not like I can't swim."); +const u8 gText_MatchCallTuber_Ricky_Intro2[] = _("I just like my inner tube."); + +const u8 gText_MatchCallSisAndBro_LilaAndRoy_Strategy[] = _("We split our duties."); +const u8 gText_MatchCallSisAndBro_LilaAndRoy_Pokemon[] = _("We like friendly POKéMON."); +const u8 gText_MatchCallSisAndBro_LilaAndRoy_Intro1[] = _("We enjoy POKéMON together"); +const u8 gText_MatchCallSisAndBro_LilaAndRoy_Intro2[] = _("as sister and brother."); + +const u8 gText_MatchCallCooltrainer_Cristin_Strategy[] = _("I finish with power moves!"); +const u8 gText_MatchCallCooltrainer_Cristin_Pokemon[] = _("A mix of different types."); +const u8 gText_MatchCallCooltrainer_Cristin_Intro1[] = _("I aim to become the ultimate"); +const u8 gText_MatchCallCooltrainer_Cristin_Intro2[] = _("TRAINER!"); + +const u8 gText_MatchCallCooltrainer_Brooke_Strategy[] = _("Exploit the foe's weakness."); +const u8 gText_MatchCallCooltrainer_Brooke_Pokemon[] = _("Balance is crucial."); +const u8 gText_MatchCallCooltrainer_Brooke_Intro1[] = _("My goal is to become the"); +const u8 gText_MatchCallCooltrainer_Brooke_Intro2[] = _("POKéMON CHAMPION."); + +const u8 gText_MatchCallCooltrainer_Wilton_Strategy[] = _("Upset the opponent."); +const u8 gText_MatchCallCooltrainer_Wilton_Pokemon[] = _("Type doesn't matter."); +const u8 gText_MatchCallCooltrainer_Wilton_Intro1[] = _("I'm a top student at the"); +const u8 gText_MatchCallCooltrainer_Wilton_Intro2[] = _("TRAINER'S SCHOOL."); + +const u8 gText_MatchCallHexManiac_Valerie_Strategy[] = _("Slow, steady suffering."); +const u8 gText_MatchCallHexManiac_Valerie_Pokemon[] = _("Scary to meet at night."); +const u8 gText_MatchCallHexManiac_Valerie_Intro1[] = _("I see things that others"); +const u8 gText_MatchCallHexManiac_Valerie_Intro2[] = _("can't see..."); + +const u8 gText_MatchCallLady_Cindy_Strategy[] = _("Anything to win."); +const u8 gText_MatchCallLady_Cindy_Pokemon[] = _("Gorgeous type!"); +const u8 gText_MatchCallLady_Cindy_Intro1[] = _("I have a pool specially for"); +const u8 gText_MatchCallLady_Cindy_Intro2[] = _("my POKéMON at home."); + +const u8 gText_MatchCallBeauty_Thalia_Strategy[] = _("You'll fall under my spell!"); +const u8 gText_MatchCallBeauty_Thalia_Pokemon[] = _("Mature WATER type."); +const u8 gText_MatchCallBeauty_Thalia_Intro1[] = _("I dream of cruising around"); +const u8 gText_MatchCallBeauty_Thalia_Intro2[] = _("the world on a luxury liner."); + +const u8 gText_MatchCallBeauty_Jessica_Strategy[] = _("I'll lead you astray."); +const u8 gText_MatchCallBeauty_Jessica_Pokemon[] = _("Cute, of course."); +const u8 gText_MatchCallBeauty_Jessica_Intro1[] = _("I love the SAFARI ZONE."); +const u8 gText_MatchCallBeauty_Jessica_Intro2[] = _("I seem to end up there."); + +const u8 gText_MatchCallRichBoy_Winston_Strategy[] = _("Strategy? Who needs it?"); +const u8 gText_MatchCallRichBoy_Winston_Pokemon[] = _("I spent big money on it!"); +const u8 gText_MatchCallRichBoy_Winston_Intro1[] = _("I, being rich, sleep in a"); +const u8 gText_MatchCallRichBoy_Winston_Intro2[] = _("custom POKéMON bed."); + +const u8 gText_MatchCallPokeManiac_Steve_Strategy[] = _("Wrestle down with power."); +const u8 gText_MatchCallPokeManiac_Steve_Pokemon[] = _("Took all night to catch."); +const u8 gText_MatchCallPokeManiac_Steve_Intro1[] = _("Big, burly, and buff"); +const u8 gText_MatchCallPokeManiac_Steve_Intro2[] = _("POKéMON are the best..."); + +const u8 gText_MatchCallSwimmer_Tony_Strategy[] = _("Ram at full speed!"); +const u8 gText_MatchCallSwimmer_Tony_Pokemon[] = _("Funky WATER type!"); +const u8 gText_MatchCallSwimmer_Tony_Intro1[] = _("If I can't be out swimming,"); +const u8 gText_MatchCallSwimmer_Tony_Intro2[] = _("I'll be pumping weights."); + +const u8 gText_MatchCallBlackBelt_Nob_Strategy[] = _("Grand slam pummeling!"); +const u8 gText_MatchCallBlackBelt_Nob_Pokemon[] = _("FIGHTING type."); +const u8 gText_MatchCallBlackBelt_Nob_Intro1[] = _("Not to brag, but I can bust"); +const u8 gText_MatchCallBlackBelt_Nob_Intro2[] = _("ten roof tiles!"); + +const u8 gText_MatchCallBlackBelt_Koji_Strategy[] = _("Witness karate power!"); +const u8 gText_MatchCallBlackBelt_Koji_Pokemon[] = _("My partners in training!"); +const u8 gText_MatchCallBlackBelt_Koji_Intro1[] = _("Let us discuss matters of"); +const u8 gText_MatchCallBlackBelt_Koji_Intro2[] = _("the world with bare fists!"); + +const u8 gText_MatchCallGuitarist_Fernando_Strategy[] = _("Rock to stunning sounds!"); +const u8 gText_MatchCallGuitarist_Fernando_Pokemon[] = _("Electric-and-sound combo!"); +const u8 gText_MatchCallGuitarist_Fernando_Intro1[] = _("My compositions will shock"); +const u8 gText_MatchCallGuitarist_Fernando_Intro2[] = _("you and stun you!"); + +const u8 gText_MatchCallGuitarist_Dalton_Strategy[] = _("I'll electrify you!"); +const u8 gText_MatchCallGuitarist_Dalton_Pokemon[] = _("They're ELECTRIC!"); +const u8 gText_MatchCallGuitarist_Dalton_Intro1[] = _("I want to make people cry"); +const u8 gText_MatchCallGuitarist_Dalton_Intro2[] = _("with songs from my heart."); + +const u8 gText_MatchCallKindler_Bernie_Strategy[] = _("Burn it all down!"); +const u8 gText_MatchCallKindler_Bernie_Pokemon[] = _("Burn-inducing POKéMON."); +const u8 gText_MatchCallKindler_Bernie_Intro1[] = _("When you light a campfire,"); +const u8 gText_MatchCallKindler_Bernie_Intro2[] = _("be sure there's some water."); + +const u8 gText_MatchCallCamper_Ethan_Strategy[] = _("Hang in and be tenacious!"); +const u8 gText_MatchCallCamper_Ethan_Pokemon[] = _("I'll raise any POKéMON."); +const u8 gText_MatchCallCamper_Ethan_Intro1[] = _("POKéMON raised in the wild"); +const u8 gText_MatchCallCamper_Ethan_Intro2[] = _("grow strong!"); + +const u8 gText_MatchCallOldCouple_JohnAndJay_Strategy[] = _("Our love lets us prevail."); +const u8 gText_MatchCallOldCouple_JohnAndJay_Pokemon[] = _("We've had them for years."); +const u8 gText_MatchCallOldCouple_JohnAndJay_Intro1[] = _("Married 50 years, we've"); +const u8 gText_MatchCallOldCouple_JohnAndJay_Intro2[] = _("devotedly raised POKéMON."); + +const u8 gText_MatchCallBugManiac_Jeffrey_Strategy[] = _("Attack in waves!"); +const u8 gText_MatchCallBugManiac_Jeffrey_Pokemon[] = _("BUG POKéMON are cool."); +const u8 gText_MatchCallBugManiac_Jeffrey_Intro1[] = _("I go into the forest every"); +const u8 gText_MatchCallBugManiac_Jeffrey_Intro2[] = _("day to catch BUG POKéMON."); + +const u8 gText_MatchCallPsychic_Cameron_Strategy[] = _("Daze and confuse!"); +const u8 gText_MatchCallPsychic_Cameron_Pokemon[] = _("Ones with weird powers."); +const u8 gText_MatchCallPsychic_Cameron_Intro1[] = _("I can see through exactly"); +const u8 gText_MatchCallPsychic_Cameron_Intro2[] = _("what you're thinking!"); + +const u8 gText_MatchCallPsychic_Jacki_Strategy[] = _("Battle at full power."); +const u8 gText_MatchCallPsychic_Jacki_Pokemon[] = _("POKéMON of many mysteries."); +const u8 gText_MatchCallPsychic_Jacki_Intro1[] = _("When we spoke, I was really"); +const u8 gText_MatchCallPsychic_Jacki_Intro2[] = _("using telepathy."); + +const u8 gText_MatchCallGentleman_Walter_Strategy[] = _("Calm and collected."); +const u8 gText_MatchCallGentleman_Walter_Pokemon[] = _("POKéMON of distinction."); +const u8 gText_MatchCallGentleman_Walter_Intro1[] = _("We enjoy a spot of tea"); +const u8 gText_MatchCallGentleman_Walter_Intro2[] = _("every day. It's imported."); + +const u8 gText_MatchCallSchoolKid_Karen_Strategy[] = _("I use my head to battle."); +const u8 gText_MatchCallSchoolKid_Karen_Pokemon[] = _("I love any kind of POKéMON!"); +const u8 gText_MatchCallSchoolKid_Karen_Intro1[] = _("My daddy gives me spending"); +const u8 gText_MatchCallSchoolKid_Karen_Intro2[] = _("money if I ace a test."); + +const u8 gText_MatchCallSchoolKid_Jerry_Strategy[] = _("My knowledge rules!"); +const u8 gText_MatchCallSchoolKid_Jerry_Pokemon[] = _("Any smart POKéMON!"); +const u8 gText_MatchCallSchoolKid_Jerry_Intro1[] = _("I want to be a POKéMON"); +const u8 gText_MatchCallSchoolKid_Jerry_Intro2[] = _("researcher in the future."); + +const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Strategy[] = _("We talk it over first."); +const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Pokemon[] = _("POKéMON that we both like."); +const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Intro1[] = _("We're senior and junior"); +const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Intro2[] = _("students into POKéMON!"); + +const u8 gText_MatchCallPokefan_Isabel_Strategy[] = _("Go for it, my dears!"); +const u8 gText_MatchCallPokefan_Isabel_Pokemon[] = _("I have no likes or dislikes."); +const u8 gText_MatchCallPokefan_Isabel_Intro1[] = _("While out shopping for"); +const u8 gText_MatchCallPokefan_Isabel_Intro2[] = _("supper, I battle too."); + +const u8 gText_MatchCallPokefan_Miguel_Strategy[] = _("I battle with love!"); +const u8 gText_MatchCallPokefan_Miguel_Pokemon[] = _("A POKéMON raised with love!"); +const u8 gText_MatchCallPokefan_Miguel_Intro1[] = _("It's important to build"); +const u8 gText_MatchCallPokefan_Miguel_Intro2[] = _("trust with your POKéMON."); + +const u8 gText_MatchCallExpert_Timothy_Strategy[] = _("I see through your moves!"); +const u8 gText_MatchCallExpert_Timothy_Pokemon[] = _("The essence of FIGHTING."); +const u8 gText_MatchCallExpert_Timothy_Intro1[] = _("I'm not ready to give way"); +const u8 gText_MatchCallExpert_Timothy_Intro2[] = _("to the young yet!"); + +const u8 gText_MatchCallExpert_Shelby_Strategy[] = _("Attack while defending."); +const u8 gText_MatchCallExpert_Shelby_Pokemon[] = _("The FIGHTING type."); +const u8 gText_MatchCallExpert_Shelby_Intro1[] = _("Being old, I have my own"); +const u8 gText_MatchCallExpert_Shelby_Intro2[] = _("style of battling."); + +const u8 gText_MatchCallYoungster_Calvin_Strategy[] = _("I do what I can."); +const u8 gText_MatchCallYoungster_Calvin_Pokemon[] = _("I use different types."); +const u8 gText_MatchCallYoungster_Calvin_Intro1[] = _("I'm going to keep working"); +const u8 gText_MatchCallYoungster_Calvin_Intro2[] = _("until I beat a GYM LEADER."); + +const u8 gText_MatchCallFisherman_Elliot_Strategy[] = _("I battle patiently."); +const u8 gText_MatchCallFisherman_Elliot_Pokemon[] = _("WATER POKéMON to battle!"); +const u8 gText_MatchCallFisherman_Elliot_Intro1[] = _("I'm the world's only guy to"); +const u8 gText_MatchCallFisherman_Elliot_Intro2[] = _("catch a huge POKéMON!"); + +const u8 gText_MatchCallTriathlete_Isaiah_Strategy[] = _("Exploit the environment!"); +const u8 gText_MatchCallTriathlete_Isaiah_Pokemon[] = _("All hail the WATER type!"); +const u8 gText_MatchCallTriathlete_Isaiah_Intro1[] = _("I won't be beaten by some"); +const u8 gText_MatchCallTriathlete_Isaiah_Intro2[] = _("beach bum SWIMMER!"); + +const u8 gText_MatchCallTriathlete_Maria_Strategy[] = _("Speed above all!"); +const u8 gText_MatchCallTriathlete_Maria_Pokemon[] = _("I use a speedy POKéMON."); +const u8 gText_MatchCallTriathlete_Maria_Intro1[] = _("A marathon is a challenge"); +const u8 gText_MatchCallTriathlete_Maria_Intro2[] = _("against your own self."); + +const u8 gText_MatchCallTriathlete_Abigail_Strategy[] = _("Defense is crucial."); +const u8 gText_MatchCallTriathlete_Abigail_Pokemon[] = _("My POKéMON is solid."); +const u8 gText_MatchCallTriathlete_Abigail_Intro1[] = _("I started this for dieting,"); +const u8 gText_MatchCallTriathlete_Abigail_Intro2[] = _("but I got right into it."); + +const u8 gText_MatchCallTriathlete_Dylan_Strategy[] = _("Strike before stricken!"); +const u8 gText_MatchCallTriathlete_Dylan_Pokemon[] = _("A fast-running POKéMON!"); +const u8 gText_MatchCallTriathlete_Dylan_Intro1[] = _("If you ran and ran, you'd"); +const u8 gText_MatchCallTriathlete_Dylan_Intro2[] = _("become one with the wind."); + +const u8 gText_MatchCallTriathlete_Katelyn_Strategy[] = _("All-out offensive!"); +const u8 gText_MatchCallTriathlete_Katelyn_Pokemon[] = _("WATER POKéMON rule!"); +const u8 gText_MatchCallTriathlete_Katelyn_Intro1[] = _("I must swim over 6 miles"); +const u8 gText_MatchCallTriathlete_Katelyn_Intro2[] = _("every day."); + +const u8 gText_MatchCallTriathlete_Benjamin_Strategy[] = _("Push and push again!"); +const u8 gText_MatchCallTriathlete_Benjamin_Pokemon[] = _("The strength of STEEL."); +const u8 gText_MatchCallTriathlete_Benjamin_Intro1[] = _("If you're sweating, get"); +const u8 gText_MatchCallTriathlete_Benjamin_Intro2[] = _("fluids into you regularly."); + +const u8 gText_MatchCallTriathlete_Pablo_Strategy[] = _("Draw the power of WATER."); +const u8 gText_MatchCallTriathlete_Pablo_Pokemon[] = _("Toughened WATER POKéMON."); +const u8 gText_MatchCallTriathlete_Pablo_Intro1[] = _("Training POKéMON is good,"); +const u8 gText_MatchCallTriathlete_Pablo_Intro2[] = _("but don't neglect yourself."); + +const u8 gText_MatchCallDragonTamer_Nicolas_Strategy[] = _("It's about POKéMON power!"); +const u8 gText_MatchCallDragonTamer_Nicolas_Pokemon[] = _("See the power of DRAGONS!"); +const u8 gText_MatchCallDragonTamer_Nicolas_Intro1[] = _("I'll become legendary as the"); +const u8 gText_MatchCallDragonTamer_Nicolas_Intro2[] = _("strongest one day!"); + +const u8 gText_MatchCallBirdKeeper_Robert_Strategy[] = _("I'll show you my technique!"); +const u8 gText_MatchCallBirdKeeper_Robert_Pokemon[] = _("Elegantly wheeling BIRDS."); +const u8 gText_MatchCallBirdKeeper_Robert_Intro1[] = _("My BIRD POKéMON, deliver my"); +const u8 gText_MatchCallBirdKeeper_Robert_Intro2[] = _("love to that girl!"); + +const u8 gText_MatchCallNinjaBoy_Lao_Strategy[] = _("You'll suffer from poison!"); +const u8 gText_MatchCallNinjaBoy_Lao_Pokemon[] = _("Poisonous POKéMON."); +const u8 gText_MatchCallNinjaBoy_Lao_Intro1[] = _("I undertake training so"); +const u8 gText_MatchCallNinjaBoy_Lao_Intro2[] = _("that I may become a ninja."); + +const u8 gText_MatchCallBattleGirl_Cyndy_Strategy[] = _("The first strike wins!"); +const u8 gText_MatchCallBattleGirl_Cyndy_Pokemon[] = _("Speedy FIGHTING type."); +const u8 gText_MatchCallBattleGirl_Cyndy_Intro1[] = _("If my POKéMON lose,"); +const u8 gText_MatchCallBattleGirl_Cyndy_Intro2[] = _("I'll carry on the fight!"); + +const u8 gText_MatchCallParasolLady_Madeline_Strategy[] = _("Go, go, my POKéMON!"); +const u8 gText_MatchCallParasolLady_Madeline_Pokemon[] = _("I'll raise anything."); +const u8 gText_MatchCallParasolLady_Madeline_Intro1[] = _("UV rays are your skin's"); +const u8 gText_MatchCallParasolLady_Madeline_Intro2[] = _("enemy. Get protected."); + +const u8 gText_MatchCallSwimmer_Jenny_Strategy[] = _("No mercy!"); +const u8 gText_MatchCallSwimmer_Jenny_Pokemon[] = _("Cute WATER POKéMON."); +const u8 gText_MatchCallSwimmer_Jenny_Intro1[] = _("I have too many fans."); +const u8 gText_MatchCallSwimmer_Jenny_Intro2[] = _("I was interviewed on TV."); + +const u8 gText_MatchCallPicnicker_Diana_Strategy[] = _("I think about this & that."); +const u8 gText_MatchCallPicnicker_Diana_Pokemon[] = _("I like all POKéMON."); +const u8 gText_MatchCallPicnicker_Diana_Intro1[] = _("What lies beyond that"); +const u8 gText_MatchCallPicnicker_Diana_Intro2[] = _("yonder hill?"); + +const u8 gText_MatchCallTwins_AmyAndLiv_Strategy[] = _("We battle together!"); +const u8 gText_MatchCallTwins_AmyAndLiv_Pokemon[] = _("We train together!"); +const u8 gText_MatchCallTwins_AmyAndLiv_Intro1[] = _("We like the same POKéMON,"); +const u8 gText_MatchCallTwins_AmyAndLiv_Intro2[] = _("but different desserts."); + +const u8 gText_MatchCallSailor_Ernest_Strategy[] = _("I force things with power!"); +const u8 gText_MatchCallSailor_Ernest_Pokemon[] = _("WATER and FIGHTING types."); +const u8 gText_MatchCallSailor_Ernest_Intro1[] = _("Seamen are rough spirits!"); +const u8 gText_MatchCallSailor_Ernest_Intro2[] = _("Any complaints?"); + +const u8 gText_MatchCallSailor_Cory_Strategy[] = _("Up for a fight anytime!"); +const u8 gText_MatchCallSailor_Cory_Pokemon[] = _("WATER POKéMON are my faves!"); +const u8 gText_MatchCallSailor_Cory_Intro1[] = _("If you want to shout loud,"); +const u8 gText_MatchCallSailor_Cory_Intro2[] = _("suck in air with your belly!"); + +const u8 gText_MatchCallCollector_Edwin_Strategy[] = _("Protect POKéMON from harm."); +const u8 gText_MatchCallCollector_Edwin_Pokemon[] = _("I love rare POKéMON."); +const u8 gText_MatchCallCollector_Edwin_Intro1[] = _("I want to collect all the"); +const u8 gText_MatchCallCollector_Edwin_Intro2[] = _("world's rare POKéMON."); + +const u8 gText_MatchCallPkmnBreeder_Lydia_Strategy[] = _("I count on power."); +const u8 gText_MatchCallPkmnBreeder_Lydia_Pokemon[] = _("POKéMON are my children."); +const u8 gText_MatchCallPkmnBreeder_Lydia_Intro1[] = _("It takes knowledge and"); +const u8 gText_MatchCallPkmnBreeder_Lydia_Intro2[] = _("love to raise POKéMON."); + +const u8 gText_MatchCallPkmnBreeder_Isaac_Strategy[] = _("Full-on attack!"); +const u8 gText_MatchCallPkmnBreeder_Isaac_Pokemon[] = _("Anything. I'll raise it."); +const u8 gText_MatchCallPkmnBreeder_Isaac_Intro1[] = _("I give them {POKEBLOCK}S for"); +const u8 gText_MatchCallPkmnBreeder_Isaac_Intro2[] = _("going after CONTEST titles."); + +const u8 gText_MatchCallPkmnBreeder_Gabrielle_Strategy[] = _("I raise POKéMON with care."); +const u8 gText_MatchCallPkmnBreeder_Gabrielle_Pokemon[] = _("Fun-to-raise POKéMON."); +const u8 gText_MatchCallPkmnBreeder_Gabrielle_Intro1[] = _("Treat every POKéMON you"); +const u8 gText_MatchCallPkmnBreeder_Gabrielle_Intro2[] = _("meet with respect."); + +const u8 gText_MatchCallPkmnRanger_Catherine_Strategy[] = _("I believe in my POKéMON."); +const u8 gText_MatchCallPkmnRanger_Catherine_Pokemon[] = _("I like strong POKéMON."); +const u8 gText_MatchCallPkmnRanger_Catherine_Intro1[] = _("I'm training for rescue"); +const u8 gText_MatchCallPkmnRanger_Catherine_Intro2[] = _("work with my POKéMON."); + +const u8 gText_MatchCallPkmnRanger_Jackson_Strategy[] = _("Attack in waves!"); +const u8 gText_MatchCallPkmnRanger_Jackson_Pokemon[] = _("I use different types."); +const u8 gText_MatchCallPkmnRanger_Jackson_Intro1[] = _("Those who destroy nature"); +const u8 gText_MatchCallPkmnRanger_Jackson_Intro2[] = _("must never be forgiven!"); + +const u8 gText_MatchCallLass_Haley_Strategy[] = _("I'll show you some guts!"); +const u8 gText_MatchCallLass_Haley_Pokemon[] = _("Cute POKéMON are my faves!"); +const u8 gText_MatchCallLass_Haley_Intro1[] = _("After a battle, I always"); +const u8 gText_MatchCallLass_Haley_Intro2[] = _("bathe with my POKéMON."); + +const u8 gText_MatchCallBugCatcher_James_Strategy[] = _("Lightning-fast attack!"); +const u8 gText_MatchCallBugCatcher_James_Pokemon[] = _("BUG POKéMON are number 1!"); +const u8 gText_MatchCallBugCatcher_James_Intro1[] = _("If you want to catch BUG"); +const u8 gText_MatchCallBugCatcher_James_Intro2[] = _("POKéMON, wake up early."); + +const u8 gText_MatchCallHiker_Trent_Strategy[] = _("I battle with power."); +const u8 gText_MatchCallHiker_Trent_Pokemon[] = _("Hard-bodied POKéMON."); +const u8 gText_MatchCallHiker_Trent_Intro1[] = _("I've been planning a month"); +const u8 gText_MatchCallHiker_Trent_Intro2[] = _("for today's hike."); + +const u8 gText_MatchCallHiker_Sawyer_Strategy[] = _("I like it hot!"); +const u8 gText_MatchCallHiker_Sawyer_Pokemon[] = _("Hot POKéMON!"); +const u8 gText_MatchCallHiker_Sawyer_Intro1[] = _("As much as I love POKéMON,"); +const u8 gText_MatchCallHiker_Sawyer_Intro2[] = _("I surely like hiking!"); + +const u8 gText_MatchCallYoungCouple_LoisAndHal_Strategy[] = _("Lovey-dovey strategy!"); +const u8 gText_MatchCallYoungCouple_LoisAndHal_Pokemon[] = _("Lovey-dovey POKéMON!"); +const u8 gText_MatchCallYoungCouple_LoisAndHal_Intro1[] = _("We're lovey-dovey!"); +const u8 gText_MatchCallYoungCouple_LoisAndHal_Intro2[] = _("Forever lovey-dovey!"); + +const u8 gText_MatchCallPkmnTrainer_Wally_Strategy[] = _("We let it all hang out."); +const u8 gText_MatchCallPkmnTrainer_Wally_Pokemon[] = _("The 1st POKéMON I caught."); +const u8 gText_MatchCallPkmnTrainer_Wally_Intro1[] = _("POKéMON and I have grown"); +const u8 gText_MatchCallPkmnTrainer_Wally_Intro2[] = _("stronger together."); + +const u8 gText_MatchCallRockinWhiz_Roxanne_Strategy[] = _("ROCK-type power attack."); +const u8 gText_MatchCallRockinWhiz_Roxanne_Pokemon[] = _("I prefer rock-hard POKéMON."); +const u8 gText_MatchCallRockinWhiz_Roxanne_Intro1[] = _("A LEADER of a big GYM bears"); +const u8 gText_MatchCallRockinWhiz_Roxanne_Intro2[] = _("a lot of responsibility."); + +const u8 gText_MatchCallTheBigHit_Brawly_Strategy[] = _("Direct physical action!"); +const u8 gText_MatchCallTheBigHit_Brawly_Pokemon[] = _("FIGHTING POKéMON rule!"); +const u8 gText_MatchCallTheBigHit_Brawly_Intro1[] = _("The world awaits me as the"); +const u8 gText_MatchCallTheBigHit_Brawly_Intro2[] = _("next big wave!"); + +const u8 gText_MatchCallSwellShock_Wattson_Strategy[] = _("I choose to electrify."); +const u8 gText_MatchCallSwellShock_Wattson_Pokemon[] = _("Get shocked by electricity!"); +const u8 gText_MatchCallSwellShock_Wattson_Intro1[] = _("One must never throw a"); +const u8 gText_MatchCallSwellShock_Wattson_Intro2[] = _("match. Even I must not."); + +const u8 gText_MatchCallPassionBurn_Flannery_Strategy[] = _("Battle aggressively."); +const u8 gText_MatchCallPassionBurn_Flannery_Pokemon[] = _("Burn with passion!"); +const u8 gText_MatchCallPassionBurn_Flannery_Intro1[] = _("Completely wash away daily"); +const u8 gText_MatchCallPassionBurn_Flannery_Intro2[] = _("fatigue in hot springs!"); + +const u8 gText_MatchCallReliableOne_Dad_Strategy[] = _("I flexibly adapt my style."); +const u8 gText_MatchCallReliableOne_Dad_Pokemon[] = _("Grown in a balanced manner."); +const u8 gText_MatchCallReliableOne_Dad_Intro1[] = _("I walk the 30 minutes from"); +const u8 gText_MatchCallReliableOne_Dad_Intro2[] = _("home to here every day."); + +const u8 gText_MatchCallSkyTamer_Winona_Strategy[] = _("I take advantage of speed."); +const u8 gText_MatchCallSkyTamer_Winona_Pokemon[] = _("Graceful sky dancers."); +const u8 gText_MatchCallSkyTamer_Winona_Intro1[] = _("The ultimate would be to"); +const u8 gText_MatchCallSkyTamer_Winona_Intro2[] = _("live as one with nature."); + +const u8 gText_MatchCallMysticDuo_TateAndLiza_Strategy[] = _("We battle in cooperation."); +const u8 gText_MatchCallMysticDuo_TateAndLiza_Pokemon[] = _("Always friendly POKéMON."); +const u8 gText_MatchCallMysticDuo_TateAndLiza_Intro1[] = _("Papa has trouble telling"); +const u8 gText_MatchCallMysticDuo_TateAndLiza_Intro2[] = _("the two of us apart!"); + +const u8 gText_MatchCallDandyCharm_Juan_Strategy[] = _("I use splendid waterpower."); +const u8 gText_MatchCallDandyCharm_Juan_Pokemon[] = _("POKéMON of elegance!"); +const u8 gText_MatchCallDandyCharm_Juan_Intro1[] = _("The adulation of beautiful"); +const u8 gText_MatchCallDandyCharm_Juan_Intro2[] = _("ladies fills me with energy!"); + +const u8 gText_MatchCallEliteFour_Sidney_Strategy[] = _("Offense over defense!"); +const u8 gText_MatchCallEliteFour_Sidney_Pokemon[] = _("The DARK side's beauties."); +const u8 gText_MatchCallEliteFour_Sidney_Intro1[] = _("They said I was a punk, but"); +const u8 gText_MatchCallEliteFour_Sidney_Intro2[] = _("I'm one of the ELITE FOUR!"); + +const u8 gText_MatchCallEliteFour_Phoebe_Strategy[] = _("Confuse and confound."); +const u8 gText_MatchCallEliteFour_Phoebe_Pokemon[] = _("There's nothing definite."); +const u8 gText_MatchCallEliteFour_Phoebe_Intro1[] = _("I wonder how my grandma at"); +const u8 gText_MatchCallEliteFour_Phoebe_Intro2[] = _("MT. PYRE is doing?"); + +const u8 gText_MatchCallEliteFour_Glacia_Strategy[] = _("I use items for help."); +const u8 gText_MatchCallEliteFour_Glacia_Pokemon[] = _("Flaming passion in icy cold!"); +const u8 gText_MatchCallEliteFour_Glacia_Intro1[] = _("The ICE type can be better"); +const u8 gText_MatchCallEliteFour_Glacia_Intro2[] = _("trained in this hot land."); + +const u8 gText_MatchCallEliteFour_Drake_Strategy[] = _("Harness strong abilities."); +const u8 gText_MatchCallEliteFour_Drake_Pokemon[] = _("The raw power of DRAGONS!"); +const u8 gText_MatchCallEliteFour_Drake_Intro1[] = _("I dedicate myself to the"); +const u8 gText_MatchCallEliteFour_Drake_Intro2[] = _("POKéMON that saved me."); + +const u8 gText_MatchCallChampion_Wallace_Strategy[] = _("Dignity and respect."); +const u8 gText_MatchCallChampion_Wallace_Pokemon[] = _("I prefer POKéMON of grace."); +const u8 gText_MatchCallChampion_Wallace_Intro1[] = _("I represent beauty as"); +const u8 gText_MatchCallChampion_Wallace_Intro2[] = _("well as intelligence."); + +const u8 *const gMatchCallFlavorTexts[REMATCH_TABLE_ENTRIES][CHECK_PAGE_ENTRY_COUNT] = { [REMATCH_ROSE] = MCFLAVOR(AromaLady_Rose), [REMATCH_ANDRES] = MCFLAVOR(RuinManiac_Andres), diff --git a/src/data/trade.h b/src/data/trade.h new file mode 100644 index 0000000000..8601af2a85 --- /dev/null +++ b/src/data/trade.h @@ -0,0 +1,1214 @@ +// Exists unused in RS as well +static const u32 sUnusedStructSizes[] = +{ + sizeof(struct SaveBlock2), + sizeof(struct SaveBlock1), + sizeof(struct MapHeader), + // 0x00000530, in RS + sizeof(struct MailStruct), //or EventObject / EventObjectGraphicsInfo + sizeof(struct Pokemon), //or TrainerCard + 0x00000528 // 0x000004D8, in RS +}; + +static const u16 sTradeMovesBoxTilemap[] = INCBIN_U16("graphics/trade/moves_box_map.bin"); +static const u16 sTradePartyBoxTilemap[] = INCBIN_U16("graphics/trade/party_box_map.bin"); +static const u8 sTradeStripesBG2Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg2_map.bin"); +static const u8 sTradeStripesBG3Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg3_map.bin"); +static const u8 sText_EmptyString[] = _(""); +static const u8 sText_UnusedTextFormat[] = _("{COLOR WHITE}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}"); +const u8 gText_MaleSymbol4[] = _("♂"); +const u8 gText_FemaleSymbol4[] = _("♀"); +const u8 gText_GenderlessSymbol[] = _(""); +static const u8 sText_SpaceMove[] = _(" MOVE"); // unused +static const u8 sText_NewLine[] = _("\n"); +static const u8 sText_Slash[] = _("/"); +static const u8 sText_Lv[] = _("Lv. "); +static const u8 sText_ThreeDashes[] = _("---"); +static const u8 sText_FourQuestionMarks[] = _("????"); +static const u8 sText_832DAE4[] = _(""); +static const u8 sText_IsThisTradeOkay[] = _("Is this trade okay?"); +static const u8 sText_Cancel[] = _("CANCEL"); +static const u8 sText_ChooseAPkmn[] = _("Choose a POKéMON."); +static const u8 sText_Summary[] = _("SUMMARY"); +static const u8 sText_Trade[] = _("TRADE"); +static const u8 sText_CancelTrade[] = _("Cancel trade?"); +static const u8 sJPText_PressBButtonToQuit[] = _("Bボタン で もどります"); +static const u8 sText_Summary2[] = _("SUMMARY"); +static const u8 sText_Trade2[] = _("TRADE"); +static const u8 sText_CommunicationStandby[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Communication standby…\nPlease wait."); +static const u8 sText_TheTradeHasBeenCanceled[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}The trade has\nbeen canceled."); +static const u8 sText_OnlyPkmnForBattle[] = _("That's your only\nPOKéMON for battle."); +static const u8 sText_WaitingForYourFriend[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Waiting for your friend\nto finish…"); +static const u8 sText_YourFriendWantsToTrade[] = _("Your friend wants\nto trade POKéMON."); + +static const struct OamData sTradeOamData_32x16 = +{ + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), + .priority = 1 +}; + +static const struct OamData sTradeOamData_64x32 = +{ + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_832DC24[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC2C[] = +{ + ANIMCMD_FRAME(32, 5), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_832DC34[] = +{ + gSpriteAnim_832DC24, + gSpriteAnim_832DC2C +}; + +static const struct SpriteSheet sTradeButtonsSpriteSheet = +{ + .data = gTradeButtons_Gfx, + .size = 0x800, + .tag = 300 +}; + +static const struct SpritePalette gUnknown_0832DC44 = +{ + .data = gUnknown_08DDB444, + .tag = 2345 +}; + +static const union AnimCmd gSpriteAnim_832DC4C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC54[] = +{ + ANIMCMD_FRAME(8, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC5C[] = +{ + ANIMCMD_FRAME(16, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC64[] = +{ + ANIMCMD_FRAME(24, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC6C[] = +{ + ANIMCMD_FRAME(32, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC74[] = +{ + ANIMCMD_FRAME(40, 5), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_832DC7C[] = +{ + gSpriteAnim_832DC4C, + gSpriteAnim_832DC54, + gSpriteAnim_832DC5C, + gSpriteAnim_832DC64, + gSpriteAnim_832DC6C, + gSpriteAnim_832DC74 +}; + +static const struct SpriteTemplate gSpriteTemplate_832DC94 = +{ + .tileTag = 300, + .paletteTag = 2345, + .oam = &sTradeOamData_64x32, + .anims = gSpriteAnimTable_832DC34, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate gSpriteTemplate_832DCAC = +{ + .tileTag = 200, + .paletteTag = 4925, + .oam = &sTradeOamData_32x16, + .anims = gSpriteAnimTable_832DC7C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const u16 TradeScreenTextPalette[] = INCBIN_U16("graphics/trade/text.gbapal"); +static const struct SpritePalette gSpritePalette_TradeScreenText = +{ + .data = TradeScreenTextPalette, + .tag = 4925 +}; + +// This is used to determine the next mon to select when the D-Pad is +// pressed in a given direction. +// Note that the mons are laid out like this. +// 0-5 are the player's party and 6-11 are the trading partner's party. +// 12 is the cancel button. +// 0 1 6 7 +// 2 3 8 9 +// 4 5 10 11 +// 12 +// 1st array is the current positions +// 2nd array is directions of input +// 3rd array is the next positions to go to (unoccupied spaces are skipped over) +static const u8 sTradeNextSelectedMonTable[(PARTY_SIZE * 2) + 1][4][PARTY_SIZE] = +{ + { + {4, 2, 12, 12, 0, 0}, // UP + {2, 4, 12, 12, 0, 0}, // DOWN + {7, 6, 1, 0, 0, 0}, // LEFT + {1, 6, 7, 0, 0, 0} // RIGHT + }, + { + {5, 3, 12, 12, 0, 0}, + {3, 5, 12, 12, 0, 0}, + {0, 7, 6, 1, 0, 0}, + {6, 7, 0, 1, 0, 0} + }, + { + {0, 0, 0, 0, 0, 0}, + {4, 0, 0, 0, 0, 0}, + {9, 8, 7, 6, 0, 0}, + {3, 1, 0, 0, 0, 0} + }, + { + {1, 1, 1, 1, 0, 0}, + {5, 1, 1, 1, 0, 0}, + {2, 9, 8, 7, 0, 0}, + {8, 9, 6, 6, 0, 0} + }, + { + {2, 2, 2, 2, 0, 0}, + {0, 0, 0, 0, 0, 0}, + {11, 10, 9, 8, 7, 6}, + {5, 3, 1, 0, 0, 0} + }, + { + {3, 3, 3, 3, 0, 0}, + {1, 1, 1, 1, 0, 0}, + {4, 4, 4, 4, 0, 0}, + {10, 8, 6, 0, 0, 0} + }, + { + {10, 8, 12, 0, 0, 0}, + {8, 10, 12, 0, 0, 0}, + {1, 0, 0, 0, 0, 0}, + {7, 0, 1, 0, 0, 0} + }, + { + {12, 0, 0, 0, 0, 0}, + {9, 12, 0, 0, 0, 0}, + {6, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0} + }, + { + {6, 0, 0, 0, 0, 0}, + {10, 6, 0, 0, 0, 0}, + {3, 2, 1, 0, 0, 0}, + {9, 7, 0, 0, 0, 0} + }, + { + {7, 0, 0, 0, 0, 0}, + {11, 12, 0, 0, 0, 0}, + {8, 0, 0, 0, 0, 0}, + {2, 1, 0, 0, 0, 0} + }, + { + {8, 0, 0, 0, 0, 0}, + {6, 0, 0, 0, 0, 0}, + {5, 4, 3, 2, 1, 0}, + {11, 9, 7, 0, 0, 0} + }, + { + {9, 0, 0, 0, 0, 0}, + {12, 0, 0, 0, 0, 0}, + {10, 0, 0, 0, 0, 0}, + {4, 2, 0, 0, 0, 0} + }, + { + {11, 9, 7, 6, 0, 0}, + {7, 6, 0, 0, 0, 0}, + {12, 0, 0, 0, 0, 0}, + {12, 0, 0, 0, 0, 0} + } +}; + +static const u8 sTradeMonSpriteCoords[(PARTY_SIZE * 2) + 1][2] = +{ + // Your party + {1, 5 }, + {8, 5 }, + {1, 10}, + {8, 10}, + {1, 15}, + {8, 15}, + + // Friend's party + {16, 5 }, + {23, 5 }, + {16, 10}, + {23, 10}, + {16, 15}, + {23, 15}, + + {23, 18} // CANCEL +}; + +static const u8 sTradeMonLevelCoords[][2][2] = +{ + // Your party + { + {5, 4}, + {12, 4}, + }, + { + {5, 9}, + {12, 9}, + }, + { + {5, 14}, + {12, 14}, + }, + // Friend's party + { + + {20, 4}, + {27, 4}, + }, + { + {20, 9}, + {27, 9}, + }, + { + {20, 14}, + {27, 14}, + }, +}; + +static const u8 sTradeMonBoxCoords[][2][2] = +{ + // Your party + { + {1, 3}, + {8, 3}, + }, + { + {1, 8}, + {8, 8}, + }, + { + {1, 13}, + {8, 13}, + }, + // Friend's party + { + {16, 3}, + {23, 3}, + }, + { + {16, 8}, + {23, 8}, + }, + { + {16, 13}, + {23, 13}, + }, +}; + +static const u8 sUnref_0832DE6E[] = +{ + 0x00, 0x0e, + 0x0f, 0x1d, + 0x03, 0x05, + 0x03, 0x07, + 0x12, 0x05, + 0x12, 0x07, + 0x08, 0x07, + 0x16, 0x0c, + 0x08, 0x07, + 0x16, 0x0c, + 0x06, 0x07, + 0x18, 0x0c, + 0x06, 0x07, + 0x18, 0x0c, + 0x08, 0x07, + 0x16, 0x0c, + 0x07, 0x07, + 0x17, 0x0c +}; + +static const u8 *const sTradeActionTexts[] = +{ + [TRADE_TEXT_CANCEL] = sText_Cancel, + [TRADE_TEXT_CHOOSE_MON] = sText_ChooseAPkmn, + [TRADE_TEXT_SUMMARY] = sText_Summary, + [TRADE_TEXT_TRADE] = sText_Trade, + [TRADE_TEXT_CANCEL_TRADE] = sText_CancelTrade, + [TRADE_TEXT_JP_QUIT] = sJPText_PressBButtonToQuit +}; + +static const struct MenuAction sSelectTradeMonActions[] = +{ + {sText_Summary2, Task_DrawSelectionSummary}, + {sText_Trade2, Task_DrawSelectionTrade} +}; + +static const u8 *const sTradeMessages[] = +{ + [TRADE_MSG_STANDBY] = sText_CommunicationStandby, + [TRADE_MSG_CANCELED] = sText_TheTradeHasBeenCanceled, + [TRADE_MSG_ONLY_MON1] = sText_OnlyPkmnForBattle, + [TRADE_MSG_ONLY_MON2] = gText_OnlyPkmnForBattle, //identical text to above + [TRADE_MSG_WAITING_FOR_FRIEND] = sText_WaitingForYourFriend, + [TRADE_MSG_FRIEND_WANTS_TO_TRADE] = sText_YourFriendWantsToTrade, + [TRADE_MSG_MON_CANT_BE_TRADED] = gText_PkmnCantBeTradedNow, + [TRADE_MSG_EGG_CANT_BE_TRADED] = gText_EggCantBeTradedNow, + [TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED] = gText_OtherTrainersPkmnCantBeTraded +}; + +static const u8 sTradeTextColors[] = +{ + TEXT_COLOR_TRANSPARENT, //bg color + TEXT_COLOR_WHITE, //fg color + TEXT_COLOR_DARK_GREY //shadow color +}; + +static const struct BgTemplate sTradeMenuBgTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 5, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 6, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 7, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, +}; + +static const struct WindowTemplate sTradeMenuWindowTemplates[] = +{ + { + .bg = 0, + .tilemapLeft = 4, + .tilemapTop = 7, + .width = 22, + .height = 4, + .paletteNum = 15, + .baseBlock = 30 + }, + { + .bg = 0, + .tilemapLeft = 19, + .tilemapTop = 15, + .width = 10, + .height = 4, + .paletteNum = 15, + .baseBlock = 118 + }, + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 158 + }, + { + .bg = 0, + .tilemapLeft = 7, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 174 + }, + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 190 + }, + { + .bg = 0, + .tilemapLeft = 7, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 206 + }, + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 15, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 222 + }, + { + .bg = 0, + .tilemapLeft = 7, + .tilemapTop = 15, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 238 + }, + { + .bg = 0, + .tilemapLeft = 15, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 254 + }, + { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 270 + }, + { + .bg = 0, + .tilemapLeft = 15, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 286 + }, + { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 302 + }, + { + .bg = 0, + .tilemapLeft = 15, + .tilemapTop = 15, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 318 + }, + { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 15, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 334 + }, + { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 5, + .width = 14, + .height = 2, + .paletteNum = 13, + .baseBlock = 350 + }, + { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 8, + .width = 11, + .height = 8, + .paletteNum = 15, + .baseBlock = 378 + }, + { + .bg = 0, + .tilemapLeft = 17, + .tilemapTop = 5, + .width = 14, + .height = 2, + .paletteNum = 15, + .baseBlock = 466 + }, + { + .bg = 0, + .tilemapLeft = 18, + .tilemapTop = 8, + .width = 11, + .height = 8, + .paletteNum = 15, + .baseBlock = 494 + }, + DUMMY_WIN_TEMPLATE, +}; + +static const struct WindowTemplate sTradeYesNoWindowTemplate = +{ + .bg = 0, + .tilemapLeft = 23, + .tilemapTop = 13, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 582 +}; + +static const u8 sJPText_Shedinja[] = _("ヌケニン"); +static const u8 sTradeMenuPartyMonBoxDimensions[3][2] = +{ + [TRADE_PLAYER] = {4, 3}, + [TRADE_PARTNER] = {19, 3} +}; + +static const u16 sTradePal_PokeBall[] = INCBIN_U16("graphics/trade/pokeball.gbapal"); +static const u8 sTradeGfx_PokeBall[] = INCBIN_U8("graphics/trade/pokeball.4bpp"); +static const u8 sTradeGfx_PokeBallSymbol[] = INCBIN_U8("graphics/trade/pokeball_symbol.8bpp"); // unused? +static const u16 sTradeTilemap_Cable[] = INCBIN_U16("graphics/trade/cable_closeup_map.bin"); +static const u16 sTradeTilemap_PokeBallSymbol[] = INCBIN_U16("graphics/trade/pokeball_symbol_map.bin"); // unused? +static const u16 sUnref_083308C0[] = INCBIN_U16("graphics/trade/unknown_3308C0.gbapal"); +static const u16 sTradePal_Gba[] = INCBIN_U16("graphics/trade/gba.gbapal"); +static const u16 sTradePal_ShadowUnused[] = INCBIN_U16("graphics/trade/shadow.gbapal"); +static const u16 sTradePal_BlackUnused[] = INCBIN_U16("graphics/trade/black.gbapal"); +static const u16 sTradePal_Misc[] = INCBIN_U16("graphics/trade/misc.gbapal"); +static const u8 sTradeGfx_Glow1[] = INCBIN_U8("graphics/trade/glow1.4bpp"); +static const u8 sTradeGfx_Glow2[] = INCBIN_U8("graphics/trade/glow2.4bpp"); +static const u8 sTradeGfx_CableEnd[] = INCBIN_U8("graphics/trade/cable_end.4bpp"); +static const u8 sTradeGfx_GbaScreen[] = INCBIN_U8("graphics/trade/gba_screen.4bpp"); +const u16 gUnknown_08331F60[] = INCBIN_U16("graphics/trade/shadow_map.bin"); +static const u8 sTradeAffine_Gba[] = INCBIN_U8("graphics/trade/gba_affine.8bpp"); +static const u8 sFiller_08335760[64] = {}; +static const u8 sTradeAffineMap_GbaCable[] = INCBIN_U8("graphics/trade/gba_affine_map_cable.bin"); +static const u8 sTradeAffineMap_GbaWireless[] = INCBIN_U8("graphics/trade/gba_affine_map_wireless.bin"); +static const u16 sTradeTilemap_GbaWireless[] = INCBIN_U16("graphics/trade/gba_map_wireless.bin"); +static const u16 sTradeTilemap_GbaCable[] = INCBIN_U16("graphics/trade/gba_map_cable.bin"); +static const u32 gUnknown_083379A0[] = INCBIN_U32("graphics/trade/unknown_3379A0.bin.lz"); //some wireless tilemap +static const u16 sTradePal_WirelessSignalSend[] = INCBIN_U16("graphics/trade/wireless_signal_send.gbapal"); +static const u16 sTradePal_WirelessSignalReceive[] = INCBIN_U16("graphics/trade/wireless_signal_receive.gbapal"); +static const u16 sTradePal_Black[] = INCBIN_U16("graphics/trade/black.gbapal"); +static const u32 sTradeGfx_WirelessSignal[] = INCBIN_U32("graphics/trade/wireless_signal.4bpp.lz"); +static const u32 sTradeTilemap_WirelessSignal[] = INCBIN_U32("graphics/trade/wireless_signal.bin.lz"); + +static const struct OamData sTradeOamData_16x16 = +{ + .affineMode = ST_OAM_AFFINE_NORMAL, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16) +}; + +static const union AnimCmd gSpriteAnim_8338C4C[] = +{ + ANIMCMD_FRAME( 0, 3), + ANIMCMD_FRAME( 4, 3), + ANIMCMD_FRAME( 8, 3), + ANIMCMD_FRAME(12, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(20, 3), + ANIMCMD_FRAME(24, 3), + ANIMCMD_FRAME(28, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(36, 3), + ANIMCMD_FRAME(40, 3), + ANIMCMD_FRAME(44, 3), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME( 0, 3), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_8338C88[] = +{ + ANIMCMD_FRAME( 0, 3), + ANIMCMD_FRAME( 4, 3), + ANIMCMD_FRAME( 8, 3), + ANIMCMD_FRAME(12, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(20, 3), + ANIMCMD_FRAME(24, 3), + ANIMCMD_FRAME(28, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(36, 3), + ANIMCMD_FRAME(40, 3), + ANIMCMD_FRAME(44, 3), + ANIMCMD_LOOP(2), + ANIMCMD_FRAME( 0, 3), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338C88[] = +{ + gSpriteAnim_8338C4C, + gSpriteAnim_8338C88 +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8338CCC[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8338CDC[] = +{ + AFFINEANIMCMD_FRAME(-8, 0, 0, 20), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8338CEC[] = +{ + AFFINEANIMCMD_FRAME(0x60, 0x100, 0, 0), + AFFINEANIMCMD_FRAME( 0, 0, 0, 5), + AFFINEANIMCMD_FRAME( 8, 0, 0, 20), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D0C[] = +{ + gSpriteAffineAnim_8338CCC, + gSpriteAffineAnim_8338CDC, + gSpriteAffineAnim_8338CEC +}; + +static const struct SpriteSheet sPokeBallSpriteSheet = +{ + .data = sTradeGfx_PokeBall, + .size = 0x600, + .tag = 5557 +}; + +static const struct SpritePalette sPokeBallSpritePalette = +{ + .data = sTradePal_PokeBall, + .tag = 5558 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338D28 = +{ + .tileTag = 5557, + .paletteTag = 5558, + .oam = &sTradeOamData_16x16, + .anims = gSpriteAnimTable_8338C88, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_8338D0C, + .callback = sub_807E55C +}; + +static const struct OamData sTradeOamData_32x32 = +{ + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_BLEND, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_8338D48[] = +{ + ANIMCMD_FRAME(0, 5, .hFlip = TRUE, .vFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338D50[] = +{ + gSpriteAnim_8338D48 +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8338D54[] = +{ + AFFINEANIMCMD_FRAME(-10, -10, 0, 5), + AFFINEANIMCMD_FRAME(10, 10, 0, 5), + AFFINEANIMCMD_JUMP(0) +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D6C[] = +{ + gSpriteAffineAnim_8338D54 +}; + +static const struct SpriteSheet sGlow1SpriteSheet = +{ + .data = sTradeGfx_Glow1, + .size = 0x200, + .tag = 5550 +}; + +static const struct SpritePalette sMiscTradeSpritePalette = +{ + .data = sTradePal_Misc, + .tag = 5551 +}; + +static const struct SpritePalette sGbaSpritePalette = +{ + .data = sTradePal_Gba, + .tag = 5555 +}; + +static const struct SpriteTemplate gUnknown_08338D88 = +{ + .tileTag = 5550, + .paletteTag = 5551, + .oam = &sTradeOamData_32x32, + .anims = gSpriteAnimTable_8338D50, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_8338D6C, + .callback = sub_807AA28 +}; + +static const struct OamData sTradeOamData_16x32 = +{ + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_8338DA8[] = +{ + ANIMCMD_FRAME(0, 5, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_8338DB0[] = +{ + ANIMCMD_FRAME(8, 5, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338DB8[] = +{ + gSpriteAnim_8338DA8, + gSpriteAnim_8338DB0 +}; + +static const struct SpriteSheet sGlow2SpriteSheet = +{ + .data = sTradeGfx_Glow2, + .size = 0x300, + .tag = 5552 +}; + +static const struct SpriteTemplate sGlowBallSpriteTemplate = +{ + .tileTag = 5552, + .paletteTag = 5551, + .oam = &sTradeOamData_16x32, + .anims = gSpriteAnimTable_8338DB8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_807AA7C +}; + +static const struct OamData sTradeOamData_16x32_2 = +{ + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_8338DE8[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338DF0[] = +{ + gSpriteAnim_8338DE8 +}; + +static const struct SpriteSheet sCableEndSpriteSheet = +{ + .data = sTradeGfx_CableEnd, + .size = 0x100, + .tag = 5554 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338DFC = +{ + .tileTag = 5554, + .paletteTag = 5555, + .oam = &sTradeOamData_16x32_2, + .anims = gSpriteAnimTable_8338DF0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_807AABC +}; + +static const struct OamData sTradeOamData_64x32_2 = +{ + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_8338E1C[] = +{ + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_LOOP(8), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_8338E40[] = +{ + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_LOOP(2), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338E64[] = +{ + gSpriteAnim_8338E1C +}; + +static const union AnimCmd *const gSpriteAnimTable_8338E68[] = +{ + gSpriteAnim_8338E40 +}; + +static const struct SpriteSheet sGbaScreenSpriteSheet = +{ + .data = sTradeGfx_GbaScreen, + .size = 0x1000, + .tag = 5556 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338E74 = +{ + .tileTag = 5556, + .paletteTag = 5555, + .oam = &sTradeOamData_64x32_2, + .anims = gSpriteAnimTable_8338E64, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_807AB04 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338E8C = +{ + .tileTag = 5556, + .paletteTag = 5555, + .oam = &sTradeOamData_64x32_2, + .anims = gSpriteAnimTable_8338E68, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_807AB04 +}; + +static const u16 gUnknown_08338EA4[] = INCBIN_U16("graphics/trade/unknown_338EA4.gbapal"); + +static const union AffineAnimCmd gSpriteAffineAnim_8338EBC[] = +{ + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_JUMP(0) +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[] = +{ + gSpriteAffineAnim_8338EBC +}; + +static const struct InGameTrade sIngameTrades[] = +{ + [INGAME_TRADE_SEEDOT] = + { + .nickname = _("DOTS"), + .species = SPECIES_SEEDOT, + .ivs = {5, 4, 5, 4, 4, 4}, + .abilityNum = 1, + .otId = 38726, + .conditions = {30, 5, 5, 5, 5}, + .personality = 0x84, + .heldItem = ITEM_CHESTO_BERRY, + .mailNum = -1, + .otName = _("KOBE"), + .otGender = MALE, + .sheen = 10, + .requestedSpecies = SPECIES_RALTS + }, + [INGAME_TRADE_PLUSLE] = + { + .nickname = _("PLUSES"), + .species = SPECIES_PLUSLE, + .ivs = {4, 4, 4, 5, 5, 4}, + .abilityNum = 0, + .otId = 73996, + .conditions = {5, 5, 30, 5, 5}, + .personality = 0x6F, + .heldItem = ITEM_WOOD_MAIL, + .mailNum = 0, + .otName = _("ROMAN"), + .otGender = MALE, + .sheen = 10, + .requestedSpecies = SPECIES_VOLBEAT + }, + [INGAME_TRADE_HORSEA] = + { + .nickname = _("SEASOR"), + .species = SPECIES_HORSEA, + .ivs = {5, 4, 4, 4, 5, 4}, + .abilityNum = 0, + .otId = 46285, + .conditions = {5, 5, 5, 5, 30}, + .personality = 0x7F, + .heldItem = ITEM_WAVE_MAIL, + .mailNum = 1, + .otName = _("SKYLAR"), + .otGender = MALE, + .sheen = 10, + .requestedSpecies = SPECIES_BAGON + }, + [INGAME_TRADE_MEOWTH] = + { + .nickname = _("MEOWOW"), + .species = SPECIES_MEOWTH, + .ivs = {4, 5, 4, 5, 4, 4}, + .abilityNum = 0, + .otId = 91481, + .conditions = {5, 5, 5, 30, 5}, + .personality = 0x8B, + .heldItem = ITEM_RETRO_MAIL, + .mailNum = 2, + .otName = _("ISIS"), + .otGender = FEMALE, + .sheen = 10, + .requestedSpecies = SPECIES_SKITTY + } +}; + +static const u16 sIngameTradeMail[][MAIL_WORDS_COUNT + 1] = +{ + { + EC_WORD_BE, + EC_WORD_NICE, + EC_WORD_TO, + EC_POKEMON(PLUSLE), + EC_WORD_EXCL, + EC_POKEMON(VOLBEAT), + EC_WORD_WILL, + EC_WORD_BE, + EC_WORD_FANTASTIC + }, { + EC_WORD_I, + EC_WORD_WILL, + EC_WORD_MAKE, + EC_POKEMON(BAGON), + EC_WORD_TOUGH, + EC_WORD_PLEASE, + EC_WORD_TRAIN, + EC_POKEMON(HORSEA), + EC_WORD_WELL + }, { + EC_WORD_THANK_YOU, + EC_WORD_FOR, + EC_POKEMON(SKITTY), + EC_POKEMON2(MEOWTH), + EC_WORD_CRIES, + EC_WORD_IN, + EC_WORD_A, + EC_WORD_CUTE, + EC_WORD_WAY + } +}; + +static const struct WindowTemplate sTradeSequenceWindowTemplates[] = +{ + { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 0, + .baseBlock = 64 + }, + DUMMY_WIN_TEMPLATE +}; + +const struct WindowTemplate gTradeEvolutionSceneYesNoWindowTemplate = +{ + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 188 +}; + +static const struct BgTemplate sTradeSequenceBgTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 3, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 5, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 18, + .screenSize = 1, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 6, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, +}; + +static const s8 sTradeBallVerticalVelocityTable[] = +{ + 0, 0, 1, 0, + 1, 0, 1, 1, + 1, 1, 2, 2, + 2, 2, 3, 3, + 3, 3, 4, 4, + 4, 4, -4, -4, + -4, -3, -3, -3, + -3, -2, -2, -2, + -2, -1, -1, -1, + -1, 0, -1, 0, + -1, 0, 0, 0, + 0, 0, 1, 0, + 1, 0, 1, 1, + 1, 1, 2, 2, + 2, 2, 3, 3, + 3, 3, 4, 4, + 4, 4, -4, -3, + -3, -2, -2, -1, + -1, -1, 0, -1, + 0, 0, 0, 0, + 0, 0, 1, 0, + 1, 1, 1, 2, + 2, 3, 3, 4, + -4, -3, -2, -1, + -1, -1, 0, 0, + 0, 0, 1, 0, + 1, 1, 2, 3 +}; + +static const u8 sWirelessSignalTiming[][2] = +{ + {0, 1}, + {1, 1}, + {2, 1}, + {3, 1}, + {4, 1}, + {5, 2}, + {6, 2}, + {7, 2}, + {8, 2}, + {9, 2}, + {10, 3}, + {11, 3}, + {12, 3}, + {13, 4}, + {14, 5}, + {15, 2}, + {0, 1}, + {1, 1}, + {2, 1}, + {3, 1}, + {4, 1}, + {5, 2}, + {6, 2}, + {7, 2}, + {8, 2}, + {9, 2}, + {10, 3}, + {11, 3}, + {12, 3}, + {13, 4}, + {14, 5}, + {16, 1}, + {16, 255}, + {0, 0} +}; diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h index 252eed760d..824a49dc3e 100644 --- a/src/data/trainer_parties.h +++ b/src/data/trainer_parties.h @@ -6,7 +6,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout1[] = { { .iv = 0, .lvl = 32, @@ -14,7 +14,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout2[] = { { .iv = 0, .lvl = 31, @@ -27,7 +27,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout3[] = { { .iv = 0, .lvl = 32, @@ -35,7 +35,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout4[] = { { .iv = 0, .lvl = 32, @@ -43,7 +43,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern1[] = { { .iv = 0, .lvl = 36, @@ -51,7 +51,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt6[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern2[] = { { .iv = 0, .lvl = 36, @@ -59,7 +59,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt6[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt7[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern3[] = { { .iv = 0, .lvl = 36, @@ -100,7 +100,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt8[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntPetalburgWoods[] = { { .iv = 0, .lvl = 9, @@ -147,7 +147,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ed[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt9[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern4[] = { { .iv = 0, .lvl = 36, @@ -163,7 +163,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Declan[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt10[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntRusturfTunnel[] = { { .iv = 0, .lvl = 11, @@ -171,7 +171,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt10[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt11[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst1[] = { { .iv = 0, .lvl = 27, @@ -184,7 +184,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt11[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt12[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst2[] = { { .iv = 0, .lvl = 27, @@ -197,7 +197,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt12[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt13[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst3[] = { { .iv = 0, .lvl = 26, @@ -215,7 +215,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt13[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt14[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMuseum1[] = { { .iv = 0, .lvl = 15, @@ -223,7 +223,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt14[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt15[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMuseum2[] = { { .iv = 0, .lvl = 14, @@ -236,7 +236,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt15[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt16[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter1[] = { { .iv = 0, .lvl = 32, @@ -244,7 +244,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt16[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt17[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtPyre1[] = { { .iv = 0, .lvl = 32, @@ -252,7 +252,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt17[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt18[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtPyre2[] = { { .iv = 0, .lvl = 32, @@ -260,7 +260,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt18[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt19[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtPyre3[] = { { .iv = 0, .lvl = 30, @@ -273,7 +273,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt19[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt20[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst4[] = { { .iv = 0, .lvl = 28, @@ -281,7 +281,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt20[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt21[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout5[] = { { .iv = 0, .lvl = 32, @@ -289,7 +289,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt21[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt22[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout6[] = { { .iv = 0, .lvl = 32, @@ -331,7 +331,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Zander[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Shelly1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_ShellyWeatherInstitute[] = { { .iv = 50, .lvl = 28, @@ -344,7 +344,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Shelly1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Shelly2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_ShellySeafloorCavern[] = { { .iv = 100, .lvl = 37, @@ -419,13 +419,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Felix[] = { .iv = 0, .lvl = 43, .species = SPECIES_MEDICHAM, - .moves = MOVE_PSYCHIC, MOVE_NONE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_PSYCHIC, MOVE_NONE, MOVE_NONE, MOVE_NONE} }, { .iv = 0, .lvl = 43, .species = SPECIES_CLAYDOL, - .moves = MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE} } }; @@ -514,7 +514,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty1[] = { .iv = 50, .lvl = 23, .species = SPECIES_SANDSLASH, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} } }; @@ -523,19 +523,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Chip[] = { .iv = 50, .lvl = 27, .species = SPECIES_BALTOY, - .moves = MOVE_PSYBEAM, MOVE_SELF_DESTRUCT, MOVE_SANDSTORM, MOVE_ANCIENT_POWER + .moves = {MOVE_PSYBEAM, MOVE_SELF_DESTRUCT, MOVE_SANDSTORM, MOVE_ANCIENT_POWER} }, { .iv = 50, .lvl = 27, .species = SPECIES_SANDSHREW, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} }, { .iv = 50, .lvl = 27, .species = SPECIES_SANDSLASH, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} } }; @@ -544,13 +544,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Foster[] = { .iv = 100, .lvl = 25, .species = SPECIES_SANDSHREW, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} }, { .iv = 100, .lvl = 25, .species = SPECIES_SANDSLASH, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} } }; @@ -559,7 +559,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty2[] = { .iv = 60, .lvl = 27, .species = SPECIES_SANDSLASH, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} } }; @@ -568,7 +568,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty3[] = { .iv = 70, .lvl = 30, .species = SPECIES_SANDSLASH, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} } }; @@ -577,7 +577,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty4[] = { .iv = 80, .lvl = 33, .species = SPECIES_SANDSLASH, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} } }; @@ -586,7 +586,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty5[] = { .iv = 90, .lvl = 36, .species = SPECIES_SANDSLASH, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} } }; @@ -660,13 +660,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_GabbyAndTy6[] = { .iv = 250, .lvl = 39, .species = SPECIES_MAGNETON, - .moves = MOVE_SONIC_BOOM, MOVE_THUNDER_WAVE, MOVE_METAL_SOUND, MOVE_THUNDERBOLT + .moves = {MOVE_SONIC_BOOM, MOVE_THUNDER_WAVE, MOVE_METAL_SOUND, MOVE_THUNDERBOLT} }, { .iv = 250, .lvl = 39, .species = SPECIES_EXPLOUD, - .moves = MOVE_ASTONISH, MOVE_STOMP, MOVE_SUPERSONIC, MOVE_HYPER_VOICE + .moves = {MOVE_ASTONISH, MOVE_STOMP, MOVE_SUPERSONIC, MOVE_HYPER_VOICE} } }; @@ -756,7 +756,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky1[] = { .iv = 10, .lvl = 13, .species = SPECIES_ZIGZAGOON, - .moves = MOVE_SAND_ATTACK, MOVE_HEADBUTT, MOVE_TAIL_WHIP, MOVE_SURF + .moves = {MOVE_SAND_ATTACK, MOVE_HEADBUTT, MOVE_TAIL_WHIP, MOVE_SURF} } }; @@ -786,7 +786,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky2[] = { .iv = 10, .lvl = 27, .species = SPECIES_LINOONE, - .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF + .moves = {MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF} } }; @@ -795,7 +795,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky3[] = { .iv = 20, .lvl = 30, .species = SPECIES_LINOONE, - .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF + .moves = {MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF} } }; @@ -804,7 +804,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky4[] = { .iv = 30, .lvl = 33, .species = SPECIES_LINOONE, - .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF + .moves = {MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF} } }; @@ -813,7 +813,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky5[] = { .iv = 40, .lvl = 36, .species = SPECIES_LINOONE, - .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF + .moves = {MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF} } }; @@ -823,7 +823,7 @@ static const struct TrainerMonItemCustomMoves sParty_Randall[] = { .lvl = 26, .species = SPECIES_SWELLOW, .heldItem = ITEM_NONE, - .moves = MOVE_QUICK_ATTACK, MOVE_AGILITY, MOVE_WING_ATTACK, MOVE_NONE + .moves = {MOVE_QUICK_ATTACK, MOVE_AGILITY, MOVE_WING_ATTACK, MOVE_NONE} } }; @@ -833,7 +833,7 @@ static const struct TrainerMonItemCustomMoves sParty_Parker[] = { .lvl = 26, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, - .moves = MOVE_TEETER_DANCE, MOVE_DIZZY_PUNCH, MOVE_FOCUS_PUNCH, MOVE_NONE + .moves = {MOVE_TEETER_DANCE, MOVE_DIZZY_PUNCH, MOVE_FOCUS_PUNCH, MOVE_NONE} } }; @@ -843,7 +843,7 @@ static const struct TrainerMonItemCustomMoves sParty_George[] = { .lvl = 26, .species = SPECIES_SLAKOTH, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SLACK_OFF, MOVE_COUNTER, MOVE_SHADOW_BALL, MOVE_NONE + .moves = {MOVE_SLACK_OFF, MOVE_COUNTER, MOVE_SHADOW_BALL, MOVE_NONE} } }; @@ -853,7 +853,7 @@ static const struct TrainerMonItemCustomMoves sParty_Berke[] = { .lvl = 26, .species = SPECIES_VIGOROTH, .heldItem = ITEM_NONE, - .moves = MOVE_FOCUS_ENERGY, MOVE_SLASH, MOVE_NONE, MOVE_NONE + .moves = {MOVE_FOCUS_ENERGY, MOVE_SLASH, MOVE_NONE, MOVE_NONE} } }; @@ -862,31 +862,31 @@ static const struct TrainerMonNoItemCustomMoves sParty_Braxton[] = { .iv = 100, .lvl = 28, .species = SPECIES_SWELLOW, - .moves = MOVE_FOCUS_ENERGY, MOVE_QUICK_ATTACK, MOVE_WING_ATTACK, MOVE_ENDEAVOR + .moves = {MOVE_FOCUS_ENERGY, MOVE_QUICK_ATTACK, MOVE_WING_ATTACK, MOVE_ENDEAVOR} }, { .iv = 100, .lvl = 28, .species = SPECIES_TRAPINCH, - .moves = MOVE_BITE, MOVE_DIG, MOVE_FAINT_ATTACK, MOVE_SAND_TOMB + .moves = {MOVE_BITE, MOVE_DIG, MOVE_FAINT_ATTACK, MOVE_SAND_TOMB} }, { .iv = 100, .lvl = 28, .species = SPECIES_WAILMER, - .moves = MOVE_ROLLOUT, MOVE_WHIRLPOOL, MOVE_ASTONISH, MOVE_WATER_PULSE + .moves = {MOVE_ROLLOUT, MOVE_WHIRLPOOL, MOVE_ASTONISH, MOVE_WATER_PULSE} }, { .iv = 100, .lvl = 28, .species = SPECIES_MAGNETON, - .moves = MOVE_THUNDERBOLT, MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM + .moves = {MOVE_THUNDERBOLT, MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM} }, { .iv = 100, .lvl = 28, .species = SPECIES_SHIFTRY, - .moves = MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_SWAGGER + .moves = {MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_SWAGGER} } }; @@ -1115,7 +1115,7 @@ static const struct TrainerMonItemCustomMoves sParty_Mary[] = { .lvl = 26, .species = SPECIES_DELCATTY, .heldItem = ITEM_NONE, - .moves = MOVE_FAINT_ATTACK, MOVE_SHOCK_WAVE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_FAINT_ATTACK, MOVE_SHOCK_WAVE, MOVE_NONE, MOVE_NONE} } }; @@ -1125,7 +1125,7 @@ static const struct TrainerMonItemCustomMoves sParty_Alexia[] = { .lvl = 26, .species = SPECIES_WIGGLYTUFF, .heldItem = ITEM_NONE, - .moves = MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_NONE + .moves = {MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_NONE} } }; @@ -1135,7 +1135,7 @@ static const struct TrainerMonItemCustomMoves sParty_Jody[] = { .lvl = 26, .species = SPECIES_ZANGOOSE, .heldItem = ITEM_NONE, - .moves = MOVE_SWORDS_DANCE, MOVE_SLASH, MOVE_NONE, MOVE_NONE + .moves = {MOVE_SWORDS_DANCE, MOVE_SLASH, MOVE_NONE, MOVE_NONE} } }; @@ -1144,19 +1144,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Wendy[] = { .iv = 100, .lvl = 29, .species = SPECIES_MAWILE, - .moves = MOVE_BATON_PASS, MOVE_FAINT_ATTACK, MOVE_FAKE_TEARS, MOVE_BITE + .moves = {MOVE_BATON_PASS, MOVE_FAINT_ATTACK, MOVE_FAKE_TEARS, MOVE_BITE} }, { .iv = 100, .lvl = 29, .species = SPECIES_ROSELIA, - .moves = MOVE_MEGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_GRASS_WHISTLE, MOVE_LEECH_SEED + .moves = {MOVE_MEGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_GRASS_WHISTLE, MOVE_LEECH_SEED} }, { .iv = 100, .lvl = 29, .species = SPECIES_PELIPPER, - .moves = MOVE_FLY, MOVE_WATER_GUN, MOVE_MIST, MOVE_PROTECT + .moves = {MOVE_FLY, MOVE_WATER_GUN, MOVE_MIST, MOVE_PROTECT} } }; @@ -1463,18 +1463,18 @@ static const struct TrainerMonItemCustomMoves sParty_Daphne[] = { .lvl = 39, .species = SPECIES_LUVDISC, .heldItem = ITEM_NUGGET, - .moves = MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL, MOVE_WATER_PULSE + .moves = {MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL, MOVE_WATER_PULSE} }, { .iv = 100, .lvl = 39, .species = SPECIES_LUVDISC, .heldItem = ITEM_NUGGET, - .moves = MOVE_ATTRACT, MOVE_SAFEGUARD, MOVE_TAKE_DOWN, MOVE_WATER_PULSE + .moves = {MOVE_ATTRACT, MOVE_SAFEGUARD, MOVE_TAKE_DOWN, MOVE_WATER_PULSE} } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt23[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter2[] = { { .iv = 0, .lvl = 26, @@ -1498,7 +1498,7 @@ static const struct TrainerMonItemCustomMoves sParty_Cindy2[] = { .lvl = 11, .species = SPECIES_ZIGZAGOON, .heldItem = ITEM_NUGGET, - .moves = MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_NONE, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_NONE, MOVE_NONE} } }; @@ -1553,7 +1553,7 @@ static const struct TrainerMonItemCustomMoves sParty_Cindy6[] = { .lvl = 36, .species = SPECIES_LINOONE, .heldItem = ITEM_NUGGET, - .moves = MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK + .moves = {MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK} } }; @@ -1586,13 +1586,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica1[] = { .iv = 0, .lvl = 29, .species = SPECIES_KECLEON, - .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK} }, { .iv = 0, .lvl = 29, .species = SPECIES_SEVIPER, - .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH} } }; @@ -1617,19 +1617,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Olivia[] = { .iv = 100, .lvl = 35, .species = SPECIES_CLAMPERL, - .moves = MOVE_IRON_DEFENSE, MOVE_WHIRLPOOL, MOVE_RAIN_DANCE, MOVE_WATER_PULSE + .moves = {MOVE_IRON_DEFENSE, MOVE_WHIRLPOOL, MOVE_RAIN_DANCE, MOVE_WATER_PULSE} }, { .iv = 100, .lvl = 37, .species = SPECIES_CORPHISH, - .moves = MOVE_TAUNT, MOVE_CRABHAMMER, MOVE_WATER_PULSE, MOVE_NONE + .moves = {MOVE_TAUNT, MOVE_CRABHAMMER, MOVE_WATER_PULSE, MOVE_NONE} }, { .iv = 100, .lvl = 39, .species = SPECIES_LOMBRE, - .moves = MOVE_UPROAR, MOVE_FURY_SWIPES, MOVE_FAKE_OUT, MOVE_WATER_PULSE + .moves = {MOVE_UPROAR, MOVE_FURY_SWIPES, MOVE_FAKE_OUT, MOVE_WATER_PULSE} } }; @@ -1651,13 +1651,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica2[] = { .iv = 10, .lvl = 35, .species = SPECIES_KECLEON, - .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK} }, { .iv = 10, .lvl = 35, .species = SPECIES_SEVIPER, - .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH} } }; @@ -1666,13 +1666,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica3[] = { .iv = 20, .lvl = 38, .species = SPECIES_KECLEON, - .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK} }, { .iv = 20, .lvl = 38, .species = SPECIES_SEVIPER, - .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH} } }; @@ -1681,13 +1681,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica4[] = { .iv = 30, .lvl = 41, .species = SPECIES_KECLEON, - .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK} }, { .iv = 30, .lvl = 41, .species = SPECIES_SEVIPER, - .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH} } }; @@ -1696,13 +1696,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica5[] = { .iv = 40, .lvl = 44, .species = SPECIES_KECLEON, - .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK} }, { .iv = 40, .lvl = 44, .species = SPECIES_SEVIPER, - .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH} } }; @@ -1770,7 +1770,7 @@ static const struct TrainerMonItemCustomMoves sParty_Winston5[] = { .lvl = 36, .species = SPECIES_LINOONE, .heldItem = ITEM_NUGGET, - .moves = MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK + .moves = {MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK} } }; @@ -1803,7 +1803,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Mark[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt24[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtChimney1[] = { { .iv = 0, .lvl = 20, @@ -2302,17 +2302,17 @@ static const struct TrainerMonNoItemCustomMoves sParty_Kirk[] = { .iv = 100, .lvl = 17, .species = SPECIES_ELECTRIKE, - .moves = MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_LEER + .moves = {MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_LEER} }, { .iv = 100, .lvl = 17, .species = SPECIES_VOLTORB, - .moves = MOVE_CHARGE, MOVE_SHOCK_WAVE, MOVE_SCREECH, MOVE_NONE + .moves = {MOVE_CHARGE, MOVE_SHOCK_WAVE, MOVE_SCREECH, MOVE_NONE} } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt25[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout7[] = { { .iv = 0, .lvl = 31, @@ -2325,7 +2325,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt25[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt26[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout8[] = { { .iv = 0, .lvl = 32, @@ -2559,7 +2559,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Drew[] = { .iv = 0, .lvl = 23, .species = SPECIES_SANDSHREW, - .moves = MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH + .moves = {MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH} } }; @@ -2568,19 +2568,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Beau[] = { .iv = 0, .lvl = 21, .species = SPECIES_BALTOY, - .moves = MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB + .moves = {MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB} }, { .iv = 0, .lvl = 21, .species = SPECIES_SANDSHREW, - .moves = MOVE_POISON_STING, MOVE_SAND_ATTACK, MOVE_SCRATCH, MOVE_DIG + .moves = {MOVE_POISON_STING, MOVE_SAND_ATTACK, MOVE_SCRATCH, MOVE_DIG} }, { .iv = 0, .lvl = 21, .species = SPECIES_BALTOY, - .moves = MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB + .moves = {MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB} } }; @@ -2876,7 +2876,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Edward[] = { .iv = 0, .lvl = 15, .species = SPECIES_ABRA, - .moves = MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE} } }; @@ -3000,7 +3000,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jaclyn[] = { .iv = 0, .lvl = 16, .species = SPECIES_ABRA, - .moves = MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE} } }; @@ -3166,13 +3166,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Walter3[] = { .iv = 20, .lvl = 36, .species = SPECIES_LINOONE, - .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES + .moves = {MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES} }, { .iv = 20, .lvl = 36, .species = SPECIES_MANECTRIC, - .moves = MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR + .moves = {MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR} } }; @@ -3181,13 +3181,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Walter4[] = { .iv = 30, .lvl = 39, .species = SPECIES_LINOONE, - .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES + .moves = {MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES} }, { .iv = 30, .lvl = 39, .species = SPECIES_MANECTRIC, - .moves = MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_NONE + .moves = {MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_NONE} } }; @@ -3196,19 +3196,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Walter5[] = { .iv = 40, .lvl = 41, .species = SPECIES_LINOONE, - .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES + .moves = {MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES} }, { .iv = 40, .lvl = 41, .species = SPECIES_GOLDUCK, - .moves = MOVE_FURY_SWIPES, MOVE_DISABLE, MOVE_CONFUSION, MOVE_PSYCH_UP + .moves = {MOVE_FURY_SWIPES, MOVE_DISABLE, MOVE_CONFUSION, MOVE_PSYCH_UP} }, { .iv = 40, .lvl = 41, .species = SPECIES_MANECTRIC, - .moves = MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR + .moves = {MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR} } }; @@ -3218,35 +3218,35 @@ static const struct TrainerMonItemCustomMoves sParty_Sidney[] = { .lvl = 46, .species = SPECIES_MIGHTYENA, .heldItem = ITEM_NONE, - .moves = MOVE_ROAR, MOVE_DOUBLE_EDGE, MOVE_SAND_ATTACK, MOVE_CRUNCH + .moves = {MOVE_ROAR, MOVE_DOUBLE_EDGE, MOVE_SAND_ATTACK, MOVE_CRUNCH} }, { .iv = 250, .lvl = 48, .species = SPECIES_SHIFTRY, .heldItem = ITEM_NONE, - .moves = MOVE_TORMENT, MOVE_DOUBLE_TEAM, MOVE_SWAGGER, MOVE_EXTRASENSORY + .moves = {MOVE_TORMENT, MOVE_DOUBLE_TEAM, MOVE_SWAGGER, MOVE_EXTRASENSORY} }, { .iv = 250, .lvl = 46, .species = SPECIES_CACTURNE, .heldItem = ITEM_NONE, - .moves = MOVE_LEECH_SEED, MOVE_FAINT_ATTACK, MOVE_NEEDLE_ARM, MOVE_COTTON_SPORE + .moves = {MOVE_LEECH_SEED, MOVE_FAINT_ATTACK, MOVE_NEEDLE_ARM, MOVE_COTTON_SPORE} }, { .iv = 250, .lvl = 48, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_NONE, - .moves = MOVE_SURF, MOVE_SWORDS_DANCE, MOVE_STRENGTH, MOVE_FACADE + .moves = {MOVE_SURF, MOVE_SWORDS_DANCE, MOVE_STRENGTH, MOVE_FACADE} }, { .iv = 255, .lvl = 49, .species = SPECIES_ABSOL, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_SLASH + .moves = {MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_SLASH} } }; @@ -3256,35 +3256,35 @@ static const struct TrainerMonItemCustomMoves sParty_Phoebe[] = { .lvl = 48, .species = SPECIES_DUSCLOPS, .heldItem = ITEM_NONE, - .moves = MOVE_SHADOW_PUNCH, MOVE_CONFUSE_RAY, MOVE_CURSE, MOVE_PROTECT + .moves = {MOVE_SHADOW_PUNCH, MOVE_CONFUSE_RAY, MOVE_CURSE, MOVE_PROTECT} }, { .iv = 250, .lvl = 49, .species = SPECIES_BANETTE, .heldItem = ITEM_NONE, - .moves = MOVE_SHADOW_BALL, MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_FAINT_ATTACK + .moves = {MOVE_SHADOW_BALL, MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_FAINT_ATTACK} }, { .iv = 250, .lvl = 50, .species = SPECIES_SABLEYE, .heldItem = ITEM_NONE, - .moves = MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_NIGHT_SHADE, MOVE_FAINT_ATTACK + .moves = {MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_NIGHT_SHADE, MOVE_FAINT_ATTACK} }, { .iv = 250, .lvl = 49, .species = SPECIES_BANETTE, .heldItem = ITEM_NONE, - .moves = MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_FACADE + .moves = {MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_FACADE} }, { .iv = 255, .lvl = 51, .species = SPECIES_DUSCLOPS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SHADOW_BALL, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE + .moves = {MOVE_SHADOW_BALL, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE} } }; @@ -3294,35 +3294,35 @@ static const struct TrainerMonItemCustomMoves sParty_Glacia[] = { .lvl = 50, .species = SPECIES_SEALEO, .heldItem = ITEM_NONE, - .moves = MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_HAIL, MOVE_ICE_BALL + .moves = {MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_HAIL, MOVE_ICE_BALL} }, { .iv = 250, .lvl = 50, .species = SPECIES_GLALIE, .heldItem = ITEM_NONE, - .moves = MOVE_LIGHT_SCREEN, MOVE_CRUNCH, MOVE_ICY_WIND, MOVE_ICE_BEAM + .moves = {MOVE_LIGHT_SCREEN, MOVE_CRUNCH, MOVE_ICY_WIND, MOVE_ICE_BEAM} }, { .iv = 250, .lvl = 52, .species = SPECIES_SEALEO, .heldItem = ITEM_NONE, - .moves = MOVE_ATTRACT, MOVE_DOUBLE_EDGE, MOVE_HAIL, MOVE_BLIZZARD + .moves = {MOVE_ATTRACT, MOVE_DOUBLE_EDGE, MOVE_HAIL, MOVE_BLIZZARD} }, { .iv = 250, .lvl = 52, .species = SPECIES_GLALIE, .heldItem = ITEM_NONE, - .moves = MOVE_SHADOW_BALL, MOVE_EXPLOSION, MOVE_HAIL, MOVE_ICE_BEAM + .moves = {MOVE_SHADOW_BALL, MOVE_EXPLOSION, MOVE_HAIL, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 53, .species = SPECIES_WALREIN, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SURF, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_SHEER_COLD + .moves = {MOVE_SURF, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_SHEER_COLD} } }; @@ -3332,35 +3332,35 @@ static const struct TrainerMonItemCustomMoves sParty_Drake[] = { .lvl = 52, .species = SPECIES_SHELGON, .heldItem = ITEM_NONE, - .moves = MOVE_ROCK_TOMB, MOVE_DRAGON_CLAW, MOVE_PROTECT, MOVE_DOUBLE_EDGE + .moves = {MOVE_ROCK_TOMB, MOVE_DRAGON_CLAW, MOVE_PROTECT, MOVE_DOUBLE_EDGE} }, { .iv = 250, .lvl = 54, .species = SPECIES_ALTARIA, .heldItem = ITEM_NONE, - .moves = MOVE_DOUBLE_EDGE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE + .moves = {MOVE_DOUBLE_EDGE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE} }, { .iv = 250, .lvl = 53, .species = SPECIES_KINGDRA, .heldItem = ITEM_NONE, - .moves = MOVE_SMOKESCREEN, MOVE_DRAGON_DANCE, MOVE_SURF, MOVE_BODY_SLAM + .moves = {MOVE_SMOKESCREEN, MOVE_DRAGON_DANCE, MOVE_SURF, MOVE_BODY_SLAM} }, { .iv = 250, .lvl = 53, .species = SPECIES_FLYGON, .heldItem = ITEM_NONE, - .moves = MOVE_FLAMETHROWER, MOVE_CRUNCH, MOVE_DRAGON_BREATH, MOVE_EARTHQUAKE + .moves = {MOVE_FLAMETHROWER, MOVE_CRUNCH, MOVE_DRAGON_BREATH, MOVE_EARTHQUAKE} }, { .iv = 255, .lvl = 55, .species = SPECIES_SALAMENCE, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_ROCK_SLIDE, MOVE_CRUNCH + .moves = {MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_ROCK_SLIDE, MOVE_CRUNCH} } }; @@ -3370,21 +3370,21 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne1[] = { .lvl = 12, .species = SPECIES_GEODUDE, .heldItem = ITEM_NONE, - .moves = MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB + .moves = {MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB} }, { .iv = 100, .lvl = 12, .species = SPECIES_GEODUDE, .heldItem = ITEM_NONE, - .moves = MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB + .moves = {MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB} }, { .iv = 200, .lvl = 15, .species = SPECIES_NOSEPASS, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_BLOCK, MOVE_HARDEN, MOVE_TACKLE, MOVE_ROCK_TOMB + .moves = {MOVE_BLOCK, MOVE_HARDEN, MOVE_TACKLE, MOVE_ROCK_TOMB} } }; @@ -3394,21 +3394,21 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly1[] = { .lvl = 16, .species = SPECIES_MACHOP, .heldItem = ITEM_NONE, - .moves = MOVE_KARATE_CHOP, MOVE_LOW_KICK, MOVE_SEISMIC_TOSS, MOVE_BULK_UP + .moves = {MOVE_KARATE_CHOP, MOVE_LOW_KICK, MOVE_SEISMIC_TOSS, MOVE_BULK_UP} }, { .iv = 100, .lvl = 16, .species = SPECIES_MEDITITE, .heldItem = ITEM_NONE, - .moves = MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_BULK_UP + .moves = {MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_BULK_UP} }, { .iv = 200, .lvl = 19, .species = SPECIES_MAKUHITA, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_ARM_THRUST, MOVE_VITAL_THROW, MOVE_REVERSAL, MOVE_BULK_UP + .moves = {MOVE_ARM_THRUST, MOVE_VITAL_THROW, MOVE_REVERSAL, MOVE_BULK_UP} } }; @@ -3418,28 +3418,28 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson1[] = { .lvl = 20, .species = SPECIES_VOLTORB, .heldItem = ITEM_NONE, - .moves = MOVE_ROLLOUT, MOVE_SPARK, MOVE_SELF_DESTRUCT, MOVE_SHOCK_WAVE + .moves = {MOVE_ROLLOUT, MOVE_SPARK, MOVE_SELF_DESTRUCT, MOVE_SHOCK_WAVE} }, { .iv = 200, .lvl = 20, .species = SPECIES_ELECTRIKE, .heldItem = ITEM_NONE, - .moves = MOVE_SHOCK_WAVE, MOVE_LEER, MOVE_QUICK_ATTACK, MOVE_HOWL + .moves = {MOVE_SHOCK_WAVE, MOVE_LEER, MOVE_QUICK_ATTACK, MOVE_HOWL} }, { .iv = 220, .lvl = 22, .species = SPECIES_MAGNETON, .heldItem = ITEM_NONE, - .moves = MOVE_SUPERSONIC, MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM + .moves = {MOVE_SUPERSONIC, MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM} }, { .iv = 250, .lvl = 24, .species = SPECIES_MANECTRIC, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SHOCK_WAVE, MOVE_HOWL + .moves = {MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SHOCK_WAVE, MOVE_HOWL} } }; @@ -3449,28 +3449,28 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery1[] = { .lvl = 24, .species = SPECIES_NUMEL, .heldItem = ITEM_NONE, - .moves = MOVE_OVERHEAT, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + .moves = {MOVE_OVERHEAT, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY} }, { .iv = 200, .lvl = 24, .species = SPECIES_SLUGMA, .heldItem = ITEM_NONE, - .moves = MOVE_OVERHEAT, MOVE_SMOG, MOVE_LIGHT_SCREEN, MOVE_SUNNY_DAY + .moves = {MOVE_OVERHEAT, MOVE_SMOG, MOVE_LIGHT_SCREEN, MOVE_SUNNY_DAY} }, { .iv = 250, .lvl = 26, .species = SPECIES_CAMERUPT, .heldItem = ITEM_NONE, - .moves = MOVE_OVERHEAT, MOVE_TACKLE, MOVE_SUNNY_DAY, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_TACKLE, MOVE_SUNNY_DAY, MOVE_ATTRACT} }, { .iv = 250, .lvl = 29, .species = SPECIES_TORKOAL, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_BODY_SLAM, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_BODY_SLAM, MOVE_ATTRACT} } }; @@ -3480,28 +3480,28 @@ static const struct TrainerMonItemCustomMoves sParty_Norman1[] = { .lvl = 27, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, - .moves = MOVE_TEETER_DANCE, MOVE_PSYBEAM, MOVE_FACADE, MOVE_ENCORE + .moves = {MOVE_TEETER_DANCE, MOVE_PSYBEAM, MOVE_FACADE, MOVE_ENCORE} }, { .iv = 200, .lvl = 27, .species = SPECIES_VIGOROTH, .heldItem = ITEM_NONE, - .moves = MOVE_SLASH, MOVE_FACADE, MOVE_ENCORE, MOVE_FAINT_ATTACK + .moves = {MOVE_SLASH, MOVE_FACADE, MOVE_ENCORE, MOVE_FAINT_ATTACK} }, { .iv = 200, .lvl = 29, .species = SPECIES_LINOONE, .heldItem = ITEM_NONE, - .moves = MOVE_SLASH, MOVE_BELLY_DRUM, MOVE_FACADE, MOVE_HEADBUTT + .moves = {MOVE_SLASH, MOVE_BELLY_DRUM, MOVE_FACADE, MOVE_HEADBUTT} }, { .iv = 250, .lvl = 31, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_COUNTER, MOVE_YAWN, MOVE_FACADE, MOVE_FAINT_ATTACK + .moves = {MOVE_COUNTER, MOVE_YAWN, MOVE_FACADE, MOVE_FAINT_ATTACK} } }; @@ -3511,35 +3511,35 @@ static const struct TrainerMonItemCustomMoves sParty_Winona1[] = { .lvl = 29, .species = SPECIES_SWABLU, .heldItem = ITEM_NONE, - .moves = MOVE_PERISH_SONG, MOVE_MIRROR_MOVE, MOVE_SAFEGUARD, MOVE_AERIAL_ACE + .moves = {MOVE_PERISH_SONG, MOVE_MIRROR_MOVE, MOVE_SAFEGUARD, MOVE_AERIAL_ACE} }, { .iv = 210, .lvl = 29, .species = SPECIES_TROPIUS, .heldItem = ITEM_NONE, - .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_SYNTHESIS + .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_SYNTHESIS} }, { .iv = 210, .lvl = 30, .species = SPECIES_PELIPPER, .heldItem = ITEM_NONE, - .moves = MOVE_WATER_GUN, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE + .moves = {MOVE_WATER_GUN, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE} }, { .iv = 220, .lvl = 31, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, - .moves = MOVE_SAND_ATTACK, MOVE_FURY_ATTACK, MOVE_STEEL_WING, MOVE_AERIAL_ACE + .moves = {MOVE_SAND_ATTACK, MOVE_FURY_ATTACK, MOVE_STEEL_WING, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 33, .species = SPECIES_ALTARIA, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE + .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE} } }; @@ -3549,28 +3549,28 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza1[] = { .lvl = 41, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, - .moves = MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN + .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN} }, { .iv = 250, .lvl = 41, .species = SPECIES_XATU, .heldItem = ITEM_NONE, - .moves = MOVE_PSYCHIC, MOVE_SUNNY_DAY, MOVE_CONFUSE_RAY, MOVE_CALM_MIND + .moves = {MOVE_PSYCHIC, MOVE_SUNNY_DAY, MOVE_CONFUSE_RAY, MOVE_CALM_MIND} }, { .iv = 250, .lvl = 42, .species = SPECIES_LUNATONE, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_CALM_MIND + .moves = {MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_CALM_MIND} }, { .iv = 250, .lvl = 42, .species = SPECIES_SOLROCK, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER + .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER} } }; @@ -3580,35 +3580,35 @@ static const struct TrainerMonItemCustomMoves sParty_Juan1[] = { .lvl = 41, .species = SPECIES_LUVDISC, .heldItem = ITEM_NONE, - .moves = MOVE_WATER_PULSE, MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL + .moves = {MOVE_WATER_PULSE, MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL} }, { .iv = 200, .lvl = 41, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, - .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_AMNESIA, MOVE_EARTHQUAKE + .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_AMNESIA, MOVE_EARTHQUAKE} }, { .iv = 200, .lvl = 43, .species = SPECIES_SEALEO, .heldItem = ITEM_NONE, - .moves = MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_AURORA_BEAM, MOVE_WATER_PULSE + .moves = {MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_AURORA_BEAM, MOVE_WATER_PULSE} }, { .iv = 200, .lvl = 43, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_NONE, - .moves = MOVE_WATER_PULSE, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_LEER + .moves = {MOVE_WATER_PULSE, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_LEER} }, { .iv = 250, .lvl = 46, .species = SPECIES_KINGDRA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST + .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST} } }; @@ -3781,13 +3781,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_KateAndJoy[] = { .iv = 0, .lvl = 30, .species = SPECIES_SPINDA, - .moves = MOVE_HYPNOSIS, MOVE_PSYBEAM, MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE + .moves = {MOVE_HYPNOSIS, MOVE_PSYBEAM, MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE} }, { .iv = 0, .lvl = 32, .species = SPECIES_SLAKING, - .moves = MOVE_FOCUS_PUNCH, MOVE_YAWN, MOVE_SLACK_OFF, MOVE_FAINT_ATTACK + .moves = {MOVE_FOCUS_PUNCH, MOVE_YAWN, MOVE_SLACK_OFF, MOVE_FAINT_ATTACK} } }; @@ -3796,13 +3796,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg1[] = { .iv = 0, .lvl = 15, .species = SPECIES_ZIGZAGOON, - .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH} }, { .iv = 0, .lvl = 17, .species = SPECIES_MAKUHITA, - .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE} } }; @@ -3811,13 +3811,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg2[] = { .iv = 10, .lvl = 28, .species = SPECIES_ZIGZAGOON, - .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH} }, { .iv = 10, .lvl = 30, .species = SPECIES_MAKUHITA, - .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE} } }; @@ -3826,13 +3826,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg3[] = { .iv = 20, .lvl = 31, .species = SPECIES_ZIGZAGOON, - .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH} }, { .iv = 20, .lvl = 33, .species = SPECIES_MAKUHITA, - .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE} } }; @@ -3841,13 +3841,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg4[] = { .iv = 30, .lvl = 34, .species = SPECIES_LINOONE, - .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH} }, { .iv = 30, .lvl = 36, .species = SPECIES_MAKUHITA, - .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE} } }; @@ -3856,13 +3856,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg5[] = { .iv = 40, .lvl = 36, .species = SPECIES_LINOONE, - .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH} }, { .iv = 40, .lvl = 38, .species = SPECIES_HARIYAMA, - .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE} } }; @@ -3896,42 +3896,42 @@ static const struct TrainerMonItemCustomMoves sParty_Colton[] = { .lvl = 22, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL} }, { .iv = 0, .lvl = 36, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL} }, { .iv = 0, .lvl = 40, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL} }, { .iv = 0, .lvl = 12, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL} }, { .iv = 0, .lvl = 30, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL} }, { .iv = 0, .lvl = 42, .species = SPECIES_DELCATTY, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL} } }; @@ -4098,7 +4098,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Timothy2[] = { .iv = 210, .lvl = 33, .species = SPECIES_HARIYAMA, - .moves = MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG + .moves = {MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG} } }; @@ -4107,7 +4107,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Timothy3[] = { .iv = 220, .lvl = 36, .species = SPECIES_HARIYAMA, - .moves = MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG + .moves = {MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG} } }; @@ -4116,7 +4116,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Timothy4[] = { .iv = 230, .lvl = 39, .species = SPECIES_HARIYAMA, - .moves = MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG + .moves = {MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG} } }; @@ -4125,7 +4125,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Timothy5[] = { .iv = 240, .lvl = 42, .species = SPECIES_HARIYAMA, - .moves = MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG + .moves = {MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG} } }; @@ -4134,7 +4134,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Vicky[] = { .iv = 200, .lvl = 18, .species = SPECIES_MEDITITE, - .moves = MOVE_HI_JUMP_KICK, MOVE_MEDITATE, MOVE_CONFUSION, MOVE_DETECT + .moves = {MOVE_HI_JUMP_KICK, MOVE_MEDITATE, MOVE_CONFUSION, MOVE_DETECT} } }; @@ -4229,7 +4229,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Josh[] = { .iv = 100, .lvl = 10, .species = SPECIES_GEODUDE, - .moves = MOVE_TACKLE, MOVE_NONE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_NONE, MOVE_NONE, MOVE_NONE} } }; @@ -4259,13 +4259,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ben[] = { .iv = 150, .lvl = 17, .species = SPECIES_ZIGZAGOON, - .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_GROWL, MOVE_THUNDERBOLT + .moves = {MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_GROWL, MOVE_THUNDERBOLT} }, { .iv = 150, .lvl = 17, .species = SPECIES_GULPIN, - .moves = MOVE_AMNESIA, MOVE_SLUDGE, MOVE_YAWN, MOVE_POUND + .moves = {MOVE_AMNESIA, MOVE_SLUDGE, MOVE_YAWN, MOVE_POUND} } }; @@ -4274,13 +4274,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Quincy[] = { .iv = 100, .lvl = 43, .species = SPECIES_SLAKING, - .moves = MOVE_ATTRACT, MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER + .moves = {MOVE_ATTRACT, MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER} }, { .iv = 100, .lvl = 43, .species = SPECIES_DUSCLOPS, - .moves = MOVE_SKILL_SWAP, MOVE_PROTECT, MOVE_WILL_O_WISP, MOVE_TOXIC + .moves = {MOVE_SKILL_SWAP, MOVE_PROTECT, MOVE_WILL_O_WISP, MOVE_TOXIC} } }; @@ -4289,13 +4289,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Katelynn[] = { .iv = 100, .lvl = 43, .species = SPECIES_GARDEVOIR, - .moves = MOVE_SKILL_SWAP, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_CALM_MIND + .moves = {MOVE_SKILL_SWAP, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_CALM_MIND} }, { .iv = 100, .lvl = 43, .species = SPECIES_SLAKING, - .moves = MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK + .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK} } }; @@ -4417,42 +4417,42 @@ static const struct TrainerMonItemCustomMoves sParty_Wallace[] = { .lvl = 57, .species = SPECIES_WAILORD, .heldItem = ITEM_NONE, - .moves = MOVE_RAIN_DANCE, MOVE_WATER_SPOUT, MOVE_DOUBLE_EDGE, MOVE_BLIZZARD + .moves = {MOVE_RAIN_DANCE, MOVE_WATER_SPOUT, MOVE_DOUBLE_EDGE, MOVE_BLIZZARD} }, { .iv = 255, .lvl = 55, .species = SPECIES_TENTACRUEL, .heldItem = ITEM_NONE, - .moves = MOVE_TOXIC, MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_ICE_BEAM + .moves = {MOVE_TOXIC, MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 56, .species = SPECIES_LUDICOLO, .heldItem = ITEM_NONE, - .moves = MOVE_GIGA_DRAIN, MOVE_SURF, MOVE_LEECH_SEED, MOVE_DOUBLE_TEAM + .moves = {MOVE_GIGA_DRAIN, MOVE_SURF, MOVE_LEECH_SEED, MOVE_DOUBLE_TEAM} }, { .iv = 255, .lvl = 56, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, - .moves = MOVE_EARTHQUAKE, MOVE_SURF, MOVE_AMNESIA, MOVE_HYPER_BEAM + .moves = {MOVE_EARTHQUAKE, MOVE_SURF, MOVE_AMNESIA, MOVE_HYPER_BEAM} }, { .iv = 255, .lvl = 56, .species = SPECIES_GYARADOS, .heldItem = ITEM_NONE, - .moves = MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF + .moves = {MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF} }, { .iv = 255, .lvl = 58, .species = SPECIES_MILOTIC, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_RECOVER, MOVE_SURF, MOVE_ICE_BEAM, MOVE_TOXIC + .moves = {MOVE_RECOVER, MOVE_SURF, MOVE_ICE_BEAM, MOVE_TOXIC} } }; @@ -5187,7 +5187,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Aaron[] = { .iv = 255, .lvl = 34, .species = SPECIES_BAGON, - .moves = MOVE_DRAGON_BREATH, MOVE_HEADBUTT, MOVE_FOCUS_ENERGY, MOVE_EMBER + .moves = {MOVE_DRAGON_BREATH, MOVE_HEADBUTT, MOVE_FOCUS_ENERGY, MOVE_EMBER} } }; @@ -5424,14 +5424,14 @@ static const struct TrainerMonItemCustomMoves sParty_Dianne[] = { .lvl = 43, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, - .moves = MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE} }, { .iv = 0, .lvl = 43, .species = SPECIES_LANTURN, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE} } }; @@ -5448,19 +5448,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lao1[] = { .iv = 0, .lvl = 17, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT} }, { .iv = 0, .lvl = 17, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT} }, { .iv = 0, .lvl = 17, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} } }; @@ -5482,25 +5482,25 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lao2[] = { .iv = 0, .lvl = 24, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { .iv = 0, .lvl = 24, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { .iv = 0, .lvl = 24, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { .iv = 0, .lvl = 26, .species = SPECIES_KOFFING, - .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE} } }; @@ -5509,25 +5509,25 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lao3[] = { .iv = 20, .lvl = 27, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { .iv = 20, .lvl = 27, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { .iv = 20, .lvl = 27, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { .iv = 20, .lvl = 29, .species = SPECIES_KOFFING, - .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE} } }; @@ -5536,25 +5536,25 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lao4[] = { .iv = 30, .lvl = 30, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { .iv = 30, .lvl = 30, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { .iv = 30, .lvl = 30, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { .iv = 30, .lvl = 32, .species = SPECIES_KOFFING, - .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE} } }; @@ -5564,28 +5564,28 @@ static const struct TrainerMonItemCustomMoves sParty_Lao5[] = { .lvl = 33, .species = SPECIES_KOFFING, .heldItem = ITEM_NONE, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { .iv = 40, .lvl = 33, .species = SPECIES_KOFFING, .heldItem = ITEM_NONE, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { .iv = 40, .lvl = 33, .species = SPECIES_KOFFING, .heldItem = ITEM_NONE, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { .iv = 40, .lvl = 35, .species = SPECIES_WEEZING, .heldItem = ITEM_SMOKE_BALL, - .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE} } }; @@ -5691,7 +5691,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline1[] = { .iv = 0, .lvl = 19, .species = SPECIES_NUMEL, - .moves = MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + .moves = {MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY} } }; @@ -5713,7 +5713,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Angelica[] = { .iv = 50, .lvl = 30, .species = SPECIES_CASTFORM, - .moves = MOVE_RAIN_DANCE, MOVE_WEATHER_BALL, MOVE_THUNDER, MOVE_WATER_PULSE + .moves = {MOVE_RAIN_DANCE, MOVE_WEATHER_BALL, MOVE_THUNDER, MOVE_WATER_PULSE} } }; @@ -5722,7 +5722,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline2[] = { .iv = 10, .lvl = 29, .species = SPECIES_NUMEL, - .moves = MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + .moves = {MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY} } }; @@ -5731,7 +5731,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline3[] = { .iv = 20, .lvl = 32, .species = SPECIES_NUMEL, - .moves = MOVE_EMBER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + .moves = {MOVE_EMBER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY} } }; @@ -5740,13 +5740,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline4[] = { .iv = 30, .lvl = 34, .species = SPECIES_ROSELIA, - .moves = MOVE_LEECH_SEED, MOVE_MEGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_SUNNY_DAY + .moves = {MOVE_LEECH_SEED, MOVE_MEGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_SUNNY_DAY} }, { .iv = 30, .lvl = 34, .species = SPECIES_NUMEL, - .moves = MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + .moves = {MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY} } }; @@ -5755,13 +5755,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline5[] = { .iv = 40, .lvl = 37, .species = SPECIES_ROSELIA, - .moves = MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY + .moves = {MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY} }, { .iv = 40, .lvl = 37, .species = SPECIES_CAMERUPT, - .moves = MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_SUNNY_DAY + .moves = {MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_SUNNY_DAY} } }; @@ -6064,13 +6064,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Heidi[] = { .iv = 0, .lvl = 22, .species = SPECIES_SANDSHREW, - .moves = MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH + .moves = {MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH} }, { .iv = 0, .lvl = 22, .species = SPECIES_BALTOY, - .moves = MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB + .moves = {MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB} } }; @@ -6079,13 +6079,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Becky[] = { .iv = 0, .lvl = 22, .species = SPECIES_SANDSHREW, - .moves = MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH, MOVE_DIG + .moves = {MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH, MOVE_DIG} }, { .iv = 0, .lvl = 22, .species = SPECIES_MARILL, - .moves = MOVE_ROLLOUT, MOVE_BUBBLE_BEAM, MOVE_TAIL_WHIP, MOVE_DEFENSE_CURL + .moves = {MOVE_ROLLOUT, MOVE_BUBBLE_BEAM, MOVE_TAIL_WHIP, MOVE_DEFENSE_CURL} } }; @@ -6151,7 +6151,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Cedric[] = { .iv = 0, .lvl = 32, .species = SPECIES_WOBBUFFET, - .moves = MOVE_DESTINY_BOND, MOVE_SAFEGUARD, MOVE_COUNTER, MOVE_MIRROR_COAT + .moves = {MOVE_DESTINY_BOND, MOVE_SAFEGUARD, MOVE_COUNTER, MOVE_MIRROR_COAT} } }; @@ -6310,13 +6310,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_GinaAndMia2[] = { .iv = 0, .lvl = 10, .species = SPECIES_DUSKULL, - .moves = MOVE_NIGHT_SHADE, MOVE_DISABLE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_NIGHT_SHADE, MOVE_DISABLE, MOVE_NONE, MOVE_NONE} }, { .iv = 0, .lvl = 10, .species = SPECIES_SHROOMISH, - .moves = MOVE_ABSORB, MOVE_LEECH_SEED, MOVE_NONE, MOVE_NONE + .moves = {MOVE_ABSORB, MOVE_LEECH_SEED, MOVE_NONE, MOVE_NONE} } }; @@ -6338,13 +6338,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv5[] = { .iv = 30, .lvl = 33, .species = SPECIES_PLUSLE, - .moves = MOVE_SPARK, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND + .moves = {MOVE_SPARK, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND} }, { .iv = 30, .lvl = 33, .species = SPECIES_MINUN, - .moves = MOVE_SPARK, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND + .moves = {MOVE_SPARK, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND} } }; @@ -6353,13 +6353,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv6[] = { .iv = 40, .lvl = 36, .species = SPECIES_PLUSLE, - .moves = MOVE_THUNDER, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND + .moves = {MOVE_THUNDER, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND} }, { .iv = 40, .lvl = 36, .species = SPECIES_MINUN, - .moves = MOVE_THUNDER, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND + .moves = {MOVE_THUNDER, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND} } }; @@ -6545,14 +6545,14 @@ static const struct TrainerMonItemCustomMoves sParty_Annika[] = { .lvl = 39, .species = SPECIES_FEEBAS, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT + .moves = {MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT} }, { .iv = 100, .lvl = 39, .species = SPECIES_FEEBAS, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT + .moves = {MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT} } }; @@ -6569,7 +6569,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jonas[] = { .iv = 0, .lvl = 31, .species = SPECIES_KOFFING, - .moves = MOVE_TOXIC, MOVE_THUNDER, MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB + .moves = {MOVE_TOXIC, MOVE_THUNDER, MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB} } }; @@ -6578,7 +6578,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Kayley[] = { .iv = 0, .lvl = 31, .species = SPECIES_CASTFORM, - .moves = MOVE_SUNNY_DAY, MOVE_WEATHER_BALL, MOVE_FLAMETHROWER, MOVE_SOLAR_BEAM + .moves = {MOVE_SUNNY_DAY, MOVE_WEATHER_BALL, MOVE_FLAMETHROWER, MOVE_SOLAR_BEAM} } }; @@ -6614,7 +6614,7 @@ static const struct TrainerMonItemCustomMoves sParty_Marley[] = { .lvl = 34, .species = SPECIES_MANECTRIC, .heldItem = ITEM_NONE, - .moves = MOVE_BITE, MOVE_ROAR, MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT + .moves = {MOVE_BITE, MOVE_ROAR, MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT} } }; @@ -6678,7 +6678,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Hector[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_TabithaMossdeep[] = { { .iv = 100, .lvl = 36, @@ -6748,40 +6748,40 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Edwin5[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Wally1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_WallyVR1[] = { { .iv = 150, .lvl = 44, .species = SPECIES_ALTARIA, - .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE} }, { .iv = 150, .lvl = 43, .species = SPECIES_DELCATTY, - .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK} }, { .iv = 150, .lvl = 44, .species = SPECIES_ROSELIA, - .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC} }, { .iv = 150, .lvl = 41, .species = SPECIES_MAGNETON, - .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH} }, { .iv = 250, .lvl = 45, .species = SPECIES_GARDEVOIR, - .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT} } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute103Mudkip[] = { { .iv = 0, .lvl = 5, @@ -6789,7 +6789,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute110Mudkip[] = { { .iv = 50, .lvl = 18, @@ -6807,7 +6807,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute119Mudkip[] = { { .iv = 100, .lvl = 29, @@ -6825,7 +6825,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute103Treecko[] = { { .iv = 0, .lvl = 5, @@ -6833,7 +6833,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute110Treecko[] = { { .iv = 50, .lvl = 18, @@ -6851,7 +6851,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan6[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute119Treecko[] = { { .iv = 100, .lvl = 29, @@ -6869,7 +6869,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan6[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan7[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute103Torchic[] = { { .iv = 0, .lvl = 5, @@ -6877,7 +6877,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan7[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan8[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute110Torchic[] = { { .iv = 50, .lvl = 18, @@ -6895,7 +6895,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan8[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan9[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute119Torchic[] = { { .iv = 100, .lvl = 29, @@ -6913,7 +6913,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan9[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute103Mudkip[] = { { .iv = 0, .lvl = 5, @@ -6921,7 +6921,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute110Mudkip[] = { { .iv = 50, .lvl = 18, @@ -6939,7 +6939,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute119Mudkip[] = { { .iv = 100, .lvl = 29, @@ -6957,7 +6957,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute103Treecko[] = { { .iv = 0, .lvl = 5, @@ -6965,7 +6965,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute110Treecko[] = { { .iv = 50, .lvl = 18, @@ -6983,7 +6983,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May6[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute119Treecko[] = { { .iv = 100, .lvl = 29, @@ -7001,7 +7001,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May6[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May7[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute103Torchic[] = { { .iv = 0, .lvl = 5, @@ -7009,7 +7009,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May7[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May8[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute110Torchic[] = { { .iv = 50, .lvl = 18, @@ -7027,7 +7027,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May8[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May9[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute119Torchic[] = { { .iv = 100, .lvl = 29, @@ -7091,13 +7091,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Mitchell[] = { .iv = 0, .lvl = 43, .species = SPECIES_LUNATONE, - .moves = MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_PSYCHIC + .moves = {MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_PSYCHIC} }, { .iv = 0, .lvl = 43, .species = SPECIES_SOLROCK, - .moves = MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_SHADOW_BALL + .moves = {MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_SHADOW_BALL} } }; @@ -7594,7 +7594,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Julio[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt27[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern5[] = { { .iv = 50, .lvl = 35, @@ -7607,7 +7607,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt27[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt28[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntUnused[] = { { .iv = 0, .lvl = 31, @@ -7620,7 +7620,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt28[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt29[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtPyre4[] = { { .iv = 0, .lvl = 30, @@ -7633,7 +7633,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt29[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt30[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntJaggedPass[] = { { .iv = 50, .lvl = 22, @@ -7705,14 +7705,14 @@ static const struct TrainerMonItemCustomMoves sParty_Athena[] = { .lvl = 32, .species = SPECIES_MANECTRIC, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK, MOVE_NONE + .moves = {MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK, MOVE_NONE} }, { .iv = 100, .lvl = 32, .species = SPECIES_LINOONE, .heldItem = ITEM_NONE, - .moves = MOVE_SURF, MOVE_THIEF, MOVE_NONE, MOVE_NONE + .moves = {MOVE_SURF, MOVE_THIEF, MOVE_NONE, MOVE_NONE} } }; @@ -7724,7 +7724,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Harrison[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt31[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtChimney2[] = { { .iv = 0, .lvl = 20, @@ -7780,7 +7780,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Nicholas[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt32[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter3[] = { { .iv = 0, .lvl = 31, @@ -7793,7 +7793,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt32[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt33[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter4[] = { { .iv = 0, .lvl = 32, @@ -7801,7 +7801,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt33[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt34[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter5[] = { { .iv = 0, .lvl = 32, @@ -7809,7 +7809,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt34[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt35[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter6[] = { { .iv = 0, .lvl = 32, @@ -7817,7 +7817,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt35[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt36[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter7[] = { { .iv = 0, .lvl = 32, @@ -7833,7 +7833,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Macey[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan10[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRustboroTreecko[] = { { .iv = 25, .lvl = 13, @@ -7846,7 +7846,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan10[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan11[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRustboroMudkip[] = { { .iv = 25, .lvl = 13, @@ -7880,7 +7880,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Isabella[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt37[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst5[] = { { .iv = 0, .lvl = 27, @@ -7893,7 +7893,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt37[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_TabithaMtChimney[] = { { .iv = 50, .lvl = 18, @@ -7929,7 +7929,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jonathan[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan12[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRustboroTorchic[] = { { .iv = 25, .lvl = 13, @@ -7942,7 +7942,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan12[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May10[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRustboroMudkip[] = { { .iv = 25, .lvl = 13, @@ -7955,7 +7955,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May10[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Maxie1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MaxieMagmaHideout[] = { { .iv = 150, .lvl = 37, @@ -7973,7 +7973,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Maxie1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Maxie2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MaxieMtChimney[] = { { .iv = 150, .lvl = 24, @@ -8406,7 +8406,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lucas2[] = { .iv = 0, .lvl = 9, .species = SPECIES_WAILMER, - .moves = MOVE_SPLASH, MOVE_WATER_GUN, MOVE_NONE, MOVE_NONE + .moves = {MOVE_SPLASH, MOVE_WATER_GUN, MOVE_NONE, MOVE_NONE} } }; @@ -8415,13 +8415,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Mike1[] = { .iv = 0, .lvl = 10, .species = SPECIES_PELIPPER, - .moves = MOVE_GUST, MOVE_GROWL, MOVE_NONE, MOVE_NONE + .moves = {MOVE_GUST, MOVE_GROWL, MOVE_NONE, MOVE_NONE} }, { .iv = 0, .lvl = 10, .species = SPECIES_POOCHYENA, - .moves = MOVE_BITE, MOVE_SCARY_FACE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_BITE, MOVE_SCARY_FACE, MOVE_NONE, MOVE_NONE} } }; @@ -8639,7 +8639,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Gerald[] = { .iv = 100, .lvl = 23, .species = SPECIES_KECLEON, - .moves = MOVE_FLAMETHROWER, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK, MOVE_BIND + .moves = {MOVE_FLAMETHROWER, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK, MOVE_BIND} } }; @@ -8648,13 +8648,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Vivian[] = { .iv = 100, .lvl = 17, .species = SPECIES_MEDITITE, - .moves = MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_THUNDER_PUNCH + .moves = {MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_THUNDER_PUNCH} }, { .iv = 100, .lvl = 17, .species = SPECIES_MEDITITE, - .moves = MOVE_THUNDER_PUNCH, MOVE_DETECT, MOVE_CONFUSION, MOVE_MEDITATE + .moves = {MOVE_THUNDER_PUNCH, MOVE_DETECT, MOVE_CONFUSION, MOVE_MEDITATE} } }; @@ -8663,7 +8663,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Danielle[] = { .iv = 100, .lvl = 23, .species = SPECIES_MEDITITE, - .moves = MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_FIRE_PUNCH + .moves = {MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_FIRE_PUNCH} } }; @@ -8672,13 +8672,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Hideo[] = { .iv = 0, .lvl = 25, .species = SPECIES_KOFFING, - .moves = MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN + .moves = {MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN} }, { .iv = 0, .lvl = 25, .species = SPECIES_KOFFING, - .moves = MOVE_TACKLE, MOVE_POISON_GAS, MOVE_SLUDGE, MOVE_SMOKESCREEN + .moves = {MOVE_TACKLE, MOVE_POISON_GAS, MOVE_SLUDGE, MOVE_SMOKESCREEN} } }; @@ -8687,13 +8687,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Keigo[] = { .iv = 0, .lvl = 28, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN + .moves = {MOVE_POISON_GAS, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN} }, { .iv = 0, .lvl = 28, .species = SPECIES_NINJASK, - .moves = MOVE_SAND_ATTACK, MOVE_DOUBLE_TEAM, MOVE_FURY_CUTTER, MOVE_SWORDS_DANCE + .moves = {MOVE_SAND_ATTACK, MOVE_DOUBLE_TEAM, MOVE_FURY_CUTTER, MOVE_SWORDS_DANCE} } }; @@ -8702,13 +8702,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Riley[] = { .iv = 0, .lvl = 28, .species = SPECIES_NINCADA, - .moves = MOVE_LEECH_LIFE, MOVE_FURY_SWIPES, MOVE_MIND_READER, MOVE_DIG + .moves = {MOVE_LEECH_LIFE, MOVE_FURY_SWIPES, MOVE_MIND_READER, MOVE_DIG} }, { .iv = 0, .lvl = 28, .species = SPECIES_KOFFING, - .moves = MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN + .moves = {MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN} } }; @@ -8743,7 +8743,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ashley[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Wally2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_WallyMauville[] = { { .iv = 30, .lvl = 16, @@ -8751,139 +8751,139 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Wally2[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Wally3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_WallyVR2[] = { { .iv = 150, .lvl = 47, .species = SPECIES_ALTARIA, - .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE} }, { .iv = 150, .lvl = 46, .species = SPECIES_DELCATTY, - .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK} }, { .iv = 150, .lvl = 47, .species = SPECIES_ROSELIA, - .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC} }, { .iv = 150, .lvl = 44, .species = SPECIES_MAGNETON, - .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH} }, { .iv = 250, .lvl = 48, .species = SPECIES_GARDEVOIR, - .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT} } }; -static const struct TrainerMonNoItemCustomMoves sParty_Wally4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_WallyVR3[] = { { .iv = 150, .lvl = 50, .species = SPECIES_ALTARIA, - .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE} }, { .iv = 150, .lvl = 49, .species = SPECIES_DELCATTY, - .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK} }, { .iv = 150, .lvl = 50, .species = SPECIES_ROSELIA, - .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC} }, { .iv = 150, .lvl = 47, .species = SPECIES_MAGNETON, - .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH} }, { .iv = 250, .lvl = 51, .species = SPECIES_GARDEVOIR, - .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT} } }; -static const struct TrainerMonNoItemCustomMoves sParty_Wally5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_WallyVR4[] = { { .iv = 150, .lvl = 53, .species = SPECIES_ALTARIA, - .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE} }, { .iv = 150, .lvl = 52, .species = SPECIES_DELCATTY, - .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK} }, { .iv = 150, .lvl = 53, .species = SPECIES_ROSELIA, - .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC} }, { .iv = 150, .lvl = 50, .species = SPECIES_MAGNETON, - .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH} }, { .iv = 250, .lvl = 54, .species = SPECIES_GARDEVOIR, - .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT} } }; -static const struct TrainerMonNoItemCustomMoves sParty_Wally6[] = { +static const struct TrainerMonNoItemCustomMoves sParty_WallyVR5[] = { { .iv = 150, .lvl = 56, .species = SPECIES_ALTARIA, - .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE} }, { .iv = 150, .lvl = 55, .species = SPECIES_DELCATTY, - .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK} }, { .iv = 150, .lvl = 56, .species = SPECIES_ROSELIA, - .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC} }, { .iv = 150, .lvl = 53, .species = SPECIES_MAGNETON, - .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH} }, { .iv = 250, .lvl = 57, .species = SPECIES_GARDEVOIR, - .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT} } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan13[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLilycoveMudkip[] = { { .iv = 150, .lvl = 31, @@ -8906,7 +8906,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan13[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan14[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLilycoveTreecko[] = { { .iv = 150, .lvl = 31, @@ -8929,7 +8929,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan14[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan15[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLilycoveTorchic[] = { { .iv = 150, .lvl = 31, @@ -8952,7 +8952,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan15[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May11[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayLilycoveMudkip[] = { { .iv = 150, .lvl = 31, @@ -8975,7 +8975,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May11[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May12[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayLilycoveTreecko[] = { { .iv = 150, .lvl = 31, @@ -8998,7 +8998,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May12[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May13[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayLilycoveTorchic[] = { { .iv = 150, .lvl = 31, @@ -9174,13 +9174,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_KimAndIris[] = { .iv = 0, .lvl = 32, .species = SPECIES_SWABLU, - .moves = MOVE_SING, MOVE_FURY_ATTACK, MOVE_SAFEGUARD, MOVE_AERIAL_ACE + .moves = {MOVE_SING, MOVE_FURY_ATTACK, MOVE_SAFEGUARD, MOVE_AERIAL_ACE} }, { .iv = 0, .lvl = 35, .species = SPECIES_NUMEL, - .moves = MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_REST, MOVE_EARTHQUAKE + .moves = {MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_REST, MOVE_EARTHQUAKE} } }; @@ -9189,13 +9189,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_TyraAndIvy[] = { .iv = 0, .lvl = 18, .species = SPECIES_ROSELIA, - .moves = MOVE_GROWTH, MOVE_STUN_SPORE, MOVE_MEGA_DRAIN, MOVE_LEECH_SEED + .moves = {MOVE_GROWTH, MOVE_STUN_SPORE, MOVE_MEGA_DRAIN, MOVE_LEECH_SEED} }, { .iv = 0, .lvl = 20, .species = SPECIES_GRAVELER, - .moves = MOVE_DEFENSE_CURL, MOVE_ROLLOUT, MOVE_MUD_SPORT, MOVE_ROCK_THROW + .moves = {MOVE_DEFENSE_CURL, MOVE_ROLLOUT, MOVE_MUD_SPORT, MOVE_ROCK_THROW} } }; @@ -9204,13 +9204,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_MelAndPaul[] = { .iv = 0, .lvl = 27, .species = SPECIES_DUSTOX, - .moves = MOVE_GUST, MOVE_PSYBEAM, MOVE_TOXIC, MOVE_PROTECT + .moves = {MOVE_GUST, MOVE_PSYBEAM, MOVE_TOXIC, MOVE_PROTECT} }, { .iv = 0, .lvl = 27, .species = SPECIES_BEAUTIFLY, - .moves = MOVE_GUST, MOVE_MEGA_DRAIN, MOVE_ATTRACT, MOVE_STUN_SPORE + .moves = {MOVE_GUST, MOVE_MEGA_DRAIN, MOVE_ATTRACT, MOVE_STUN_SPORE} } }; @@ -9219,13 +9219,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay1[] = { .iv = 200, .lvl = 39, .species = SPECIES_MEDICHAM, - .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT} }, { .iv = 200, .lvl = 39, .species = SPECIES_HARIYAMA, - .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM} } }; @@ -9234,13 +9234,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay2[] = { .iv = 210, .lvl = 43, .species = SPECIES_MEDICHAM, - .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT} }, { .iv = 210, .lvl = 43, .species = SPECIES_HARIYAMA, - .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM} } }; @@ -9249,13 +9249,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay3[] = { .iv = 220, .lvl = 46, .species = SPECIES_MEDICHAM, - .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT} }, { .iv = 220, .lvl = 46, .species = SPECIES_HARIYAMA, - .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM} } }; @@ -9264,13 +9264,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay4[] = { .iv = 230, .lvl = 49, .species = SPECIES_MEDICHAM, - .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT} }, { .iv = 230, .lvl = 49, .species = SPECIES_HARIYAMA, - .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM} } }; @@ -9279,13 +9279,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay5[] = { .iv = 240, .lvl = 52, .species = SPECIES_MEDICHAM, - .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT} }, { .iv = 240, .lvl = 52, .species = SPECIES_HARIYAMA, - .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM} } }; @@ -9645,7 +9645,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Deandre[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt38[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout1[] = { { .iv = 0, .lvl = 29, @@ -9653,7 +9653,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt38[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt39[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout2[] = { { .iv = 0, .lvl = 29, @@ -9661,7 +9661,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt39[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt40[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout3[] = { { .iv = 0, .lvl = 29, @@ -9669,7 +9669,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt40[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt41[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout4[] = { { .iv = 0, .lvl = 28, @@ -9682,7 +9682,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt41[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt42[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout5[] = { { .iv = 0, .lvl = 28, @@ -9695,7 +9695,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt42[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt43[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout6[] = { { .iv = 0, .lvl = 29, @@ -9703,7 +9703,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt43[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt44[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout7[] = { { .iv = 0, .lvl = 29, @@ -9711,7 +9711,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt44[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt45[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout8[] = { { .iv = 0, .lvl = 29, @@ -9719,7 +9719,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt45[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt46[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout9[] = { { .iv = 0, .lvl = 29, @@ -9727,7 +9727,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt46[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt47[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout10[] = { { .iv = 0, .lvl = 29, @@ -9735,7 +9735,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt47[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt48[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout11[] = { { .iv = 0, .lvl = 29, @@ -9743,7 +9743,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt48[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt49[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout12[] = { { .iv = 0, .lvl = 29, @@ -9751,7 +9751,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt49[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt50[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout13[] = { { .iv = 0, .lvl = 29, @@ -9759,7 +9759,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt50[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt51[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout14[] = { { .iv = 0, .lvl = 29, @@ -9767,7 +9767,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt51[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt52[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout15[] = { { .iv = 0, .lvl = 29, @@ -9775,7 +9775,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt52[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grunt53[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout16[] = { { .iv = 0, .lvl = 29, @@ -9783,7 +9783,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt53[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_TabithaMagmaHideout[] = { { .iv = 75, .lvl = 26, @@ -9819,7 +9819,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Darcy[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Maxie3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MaxieMossdeep[] = { { .iv = 150, .lvl = 42, @@ -10163,7 +10163,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Leonel[] = { .iv = 100, .lvl = 30, .species = SPECIES_MANECTRIC, - .moves = MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_NONE + .moves = {MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_NONE} } }; @@ -10272,7 +10272,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cristin1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May14[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRustboroTreecko[] = { { .iv = 25, .lvl = 13, @@ -10285,7 +10285,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May14[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May15[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRustboroTorchic[] = { { .iv = 25, .lvl = 13, @@ -10304,28 +10304,28 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne2[] = { .lvl = 32, .species = SPECIES_GOLEM, .heldItem = ITEM_NONE, - .moves = MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION + .moves = {MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION} }, { .iv = 255, .lvl = 35, .species = SPECIES_KABUTO, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE + .moves = {MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 35, .species = SPECIES_ONIX, .heldItem = ITEM_NONE, - .moves = MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE + .moves = {MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 37, .species = SPECIES_NOSEPASS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE + .moves = {MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE} } }; @@ -10335,35 +10335,35 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne3[] = { .lvl = 37, .species = SPECIES_OMANYTE, .heldItem = ITEM_NONE, - .moves = MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF + .moves = {MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF} }, { .iv = 255, .lvl = 37, .species = SPECIES_GOLEM, .heldItem = ITEM_NONE, - .moves = MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION + .moves = {MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION} }, { .iv = 255, .lvl = 40, .species = SPECIES_KABUTOPS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE + .moves = {MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 40, .species = SPECIES_ONIX, .heldItem = ITEM_NONE, - .moves = MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE + .moves = {MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 42, .species = SPECIES_NOSEPASS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE + .moves = {MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE} } }; @@ -10373,35 +10373,35 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne4[] = { .lvl = 42, .species = SPECIES_OMASTAR, .heldItem = ITEM_NONE, - .moves = MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF + .moves = {MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF} }, { .iv = 255, .lvl = 42, .species = SPECIES_GOLEM, .heldItem = ITEM_NONE, - .moves = MOVE_PROTECT, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION + .moves = {MOVE_PROTECT, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION} }, { .iv = 255, .lvl = 45, .species = SPECIES_KABUTOPS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE + .moves = {MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 45, .species = SPECIES_ONIX, .heldItem = ITEM_NONE, - .moves = MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE + .moves = {MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 47, .species = SPECIES_NOSEPASS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE + .moves = {MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE} } }; @@ -10411,42 +10411,42 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne5[] = { .lvl = 47, .species = SPECIES_AERODACTYL, .heldItem = ITEM_NONE, - .moves = MOVE_ROCK_SLIDE, MOVE_HYPER_BEAM, MOVE_SUPERSONIC, MOVE_PROTECT + .moves = {MOVE_ROCK_SLIDE, MOVE_HYPER_BEAM, MOVE_SUPERSONIC, MOVE_PROTECT} }, { .iv = 255, .lvl = 47, .species = SPECIES_GOLEM, .heldItem = ITEM_NONE, - .moves = MOVE_FOCUS_PUNCH, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION + .moves = {MOVE_FOCUS_PUNCH, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION} }, { .iv = 255, .lvl = 47, .species = SPECIES_OMASTAR, .heldItem = ITEM_NONE, - .moves = MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF + .moves = {MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF} }, { .iv = 255, .lvl = 50, .species = SPECIES_KABUTOPS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE + .moves = {MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 50, .species = SPECIES_STEELIX, .heldItem = ITEM_NONE, - .moves = MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE + .moves = {MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 52, .species = SPECIES_NOSEPASS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE + .moves = {MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE} } }; @@ -10456,28 +10456,28 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly2[] = { .lvl = 33, .species = SPECIES_MACHAMP, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP + .moves = {MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP} }, { .iv = 255, .lvl = 33, .species = SPECIES_MEDITITE, .heldItem = ITEM_NONE, - .moves = MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH + .moves = {MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH} }, { .iv = 255, .lvl = 35, .species = SPECIES_HITMONTOP, .heldItem = ITEM_NONE, - .moves = MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK + .moves = {MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK} }, { .iv = 255, .lvl = 37, .species = SPECIES_HARIYAMA, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE + .moves = {MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE} } }; @@ -10487,28 +10487,28 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly3[] = { .lvl = 38, .species = SPECIES_MACHAMP, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP + .moves = {MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP} }, { .iv = 255, .lvl = 38, .species = SPECIES_MEDICHAM, .heldItem = ITEM_NONE, - .moves = MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH + .moves = {MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH} }, { .iv = 255, .lvl = 40, .species = SPECIES_HITMONTOP, .heldItem = ITEM_NONE, - .moves = MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK + .moves = {MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK} }, { .iv = 255, .lvl = 42, .species = SPECIES_HARIYAMA, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE + .moves = {MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE} } }; @@ -10518,35 +10518,35 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly4[] = { .lvl = 40, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_NONE, - .moves = MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH + .moves = {MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH} }, { .iv = 255, .lvl = 43, .species = SPECIES_MACHAMP, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP + .moves = {MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP} }, { .iv = 255, .lvl = 43, .species = SPECIES_MEDICHAM, .heldItem = ITEM_NONE, - .moves = MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC + .moves = {MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC} }, { .iv = 255, .lvl = 45, .species = SPECIES_HITMONTOP, .heldItem = ITEM_NONE, - .moves = MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK + .moves = {MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK} }, { .iv = 255, .lvl = 47, .species = SPECIES_HARIYAMA, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE + .moves = {MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE} } }; @@ -10556,42 +10556,42 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly5[] = { .lvl = 46, .species = SPECIES_HITMONLEE, .heldItem = ITEM_NONE, - .moves = MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_EARTHQUAKE, MOVE_BULK_UP + .moves = {MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_EARTHQUAKE, MOVE_BULK_UP} }, { .iv = 255, .lvl = 46, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_NONE, - .moves = MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH + .moves = {MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH} }, { .iv = 255, .lvl = 48, .species = SPECIES_MACHAMP, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP + .moves = {MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP} }, { .iv = 255, .lvl = 48, .species = SPECIES_MEDICHAM, .heldItem = ITEM_NONE, - .moves = MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC + .moves = {MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC} }, { .iv = 255, .lvl = 50, .species = SPECIES_HITMONTOP, .heldItem = ITEM_NONE, - .moves = MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK + .moves = {MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK} }, { .iv = 255, .lvl = 52, .species = SPECIES_HARIYAMA, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE + .moves = {MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE} } }; @@ -10601,28 +10601,28 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson2[] = { .lvl = 36, .species = SPECIES_MAREEP, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN + .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 36, .species = SPECIES_ELECTRODE, .heldItem = ITEM_NONE, - .moves = MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE + .moves = {MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE} }, { .iv = 255, .lvl = 38, .species = SPECIES_MAGNETON, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE + .moves = {MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE} }, { .iv = 255, .lvl = 40, .species = SPECIES_MANECTRIC, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT + .moves = {MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT} } }; @@ -10632,35 +10632,35 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson3[] = { .lvl = 39, .species = SPECIES_PIKACHU, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_SHOCK_WAVE + .moves = {MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_SHOCK_WAVE} }, { .iv = 255, .lvl = 41, .species = SPECIES_FLAAFFY, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN + .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 41, .species = SPECIES_ELECTRODE, .heldItem = ITEM_NONE, - .moves = MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE + .moves = {MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE} }, { .iv = 255, .lvl = 43, .species = SPECIES_MAGNETON, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE + .moves = {MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE} }, { .iv = 255, .lvl = 45, .species = SPECIES_MANECTRIC, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT + .moves = {MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT} } }; @@ -10670,35 +10670,35 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson4[] = { .lvl = 44, .species = SPECIES_RAICHU, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT + .moves = {MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT} }, { .iv = 255, .lvl = 46, .species = SPECIES_AMPHAROS, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN + .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 46, .species = SPECIES_ELECTRODE, .heldItem = ITEM_NONE, - .moves = MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE + .moves = {MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE} }, { .iv = 255, .lvl = 48, .species = SPECIES_MAGNETON, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE + .moves = {MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE} }, { .iv = 255, .lvl = 50, .species = SPECIES_MANECTRIC, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT + .moves = {MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT} } }; @@ -10708,42 +10708,42 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson5[] = { .lvl = 50, .species = SPECIES_ELECTABUZZ, .heldItem = ITEM_NONE, - .moves = MOVE_SWIFT, MOVE_FOCUS_PUNCH, MOVE_THUNDER_PUNCH, MOVE_LIGHT_SCREEN + .moves = {MOVE_SWIFT, MOVE_FOCUS_PUNCH, MOVE_THUNDER_PUNCH, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 51, .species = SPECIES_RAICHU, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT + .moves = {MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT} }, { .iv = 255, .lvl = 51, .species = SPECIES_AMPHAROS, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN + .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 53, .species = SPECIES_ELECTRODE, .heldItem = ITEM_NONE, - .moves = MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE + .moves = {MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE} }, { .iv = 255, .lvl = 53, .species = SPECIES_MAGNETON, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE + .moves = {MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE} }, { .iv = 255, .lvl = 55, .species = SPECIES_MANECTRIC, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT + .moves = {MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT} } }; @@ -10753,28 +10753,28 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery2[] = { .lvl = 38, .species = SPECIES_MAGCARGO, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE + .moves = {MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 36, .species = SPECIES_PONYTA, .heldItem = ITEM_NONE, - .moves = MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE + .moves = {MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE} }, { .iv = 255, .lvl = 38, .species = SPECIES_CAMERUPT, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT} }, { .iv = 255, .lvl = 40, .species = SPECIES_TORKOAL, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT} } }; @@ -10784,35 +10784,35 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery3[] = { .lvl = 41, .species = SPECIES_GROWLITHE, .heldItem = ITEM_NONE, - .moves = MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_SUNNY_DAY + .moves = {MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_SUNNY_DAY} }, { .iv = 255, .lvl = 43, .species = SPECIES_MAGCARGO, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE + .moves = {MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 41, .species = SPECIES_PONYTA, .heldItem = ITEM_NONE, - .moves = MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE + .moves = {MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE} }, { .iv = 255, .lvl = 43, .species = SPECIES_CAMERUPT, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT} }, { .iv = 255, .lvl = 45, .species = SPECIES_TORKOAL, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT} } }; @@ -10822,42 +10822,42 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery4[] = { .lvl = 46, .species = SPECIES_HOUNDOUR, .heldItem = ITEM_NONE, - .moves = MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY + .moves = {MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY} }, { .iv = 255, .lvl = 46, .species = SPECIES_GROWLITHE, .heldItem = ITEM_NONE, - .moves = MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR + .moves = {MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR} }, { .iv = 255, .lvl = 48, .species = SPECIES_MAGCARGO, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE + .moves = {MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 46, .species = SPECIES_RAPIDASH, .heldItem = ITEM_NONE, - .moves = MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE + .moves = {MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE} }, { .iv = 255, .lvl = 48, .species = SPECIES_CAMERUPT, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT} }, { .iv = 255, .lvl = 50, .species = SPECIES_TORKOAL, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT} } }; @@ -10867,42 +10867,42 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery5[] = { .lvl = 51, .species = SPECIES_ARCANINE, .heldItem = ITEM_NONE, - .moves = MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR + .moves = {MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR} }, { .iv = 255, .lvl = 53, .species = SPECIES_MAGCARGO, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE + .moves = {MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 51, .species = SPECIES_HOUNDOOM, .heldItem = ITEM_NONE, - .moves = MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY + .moves = {MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY} }, { .iv = 255, .lvl = 51, .species = SPECIES_RAPIDASH, .heldItem = ITEM_NONE, - .moves = MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE + .moves = {MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE} }, { .iv = 255, .lvl = 53, .species = SPECIES_CAMERUPT, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT} }, { .iv = 255, .lvl = 55, .species = SPECIES_TORKOAL, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT} } }; @@ -10912,28 +10912,28 @@ static const struct TrainerMonItemCustomMoves sParty_Norman2[] = { .lvl = 42, .species = SPECIES_CHANSEY, .heldItem = ITEM_NONE, - .moves = MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH + .moves = {MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH} }, { .iv = 255, .lvl = 42, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST + .moves = {MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST} }, { .iv = 255, .lvl = 43, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, - .moves = MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS + .moves = {MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS} }, { .iv = 255, .lvl = 45, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL + .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL} } }; @@ -10943,35 +10943,35 @@ static const struct TrainerMonItemCustomMoves sParty_Norman3[] = { .lvl = 47, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST + .moves = {MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST} }, { .iv = 255, .lvl = 47, .species = SPECIES_CHANSEY, .heldItem = ITEM_NONE, - .moves = MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH + .moves = {MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH} }, { .iv = 255, .lvl = 45, .species = SPECIES_KANGASKHAN, .heldItem = ITEM_NONE, - .moves = MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL + .moves = {MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL} }, { .iv = 255, .lvl = 48, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, - .moves = MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS + .moves = {MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS} }, { .iv = 255, .lvl = 50, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL + .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL} } }; @@ -10981,35 +10981,35 @@ static const struct TrainerMonItemCustomMoves sParty_Norman4[] = { .lvl = 52, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST + .moves = {MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST} }, { .iv = 255, .lvl = 52, .species = SPECIES_BLISSEY, .heldItem = ITEM_NONE, - .moves = MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH + .moves = {MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH} }, { .iv = 255, .lvl = 50, .species = SPECIES_KANGASKHAN, .heldItem = ITEM_NONE, - .moves = MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL + .moves = {MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL} }, { .iv = 255, .lvl = 53, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, - .moves = MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS + .moves = {MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS} }, { .iv = 255, .lvl = 55, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL + .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL} } }; @@ -11019,42 +11019,42 @@ static const struct TrainerMonItemCustomMoves sParty_Norman5[] = { .lvl = 57, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST + .moves = {MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST} }, { .iv = 255, .lvl = 57, .species = SPECIES_BLISSEY, .heldItem = ITEM_NONE, - .moves = MOVE_PROTECT, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH + .moves = {MOVE_PROTECT, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH} }, { .iv = 255, .lvl = 55, .species = SPECIES_KANGASKHAN, .heldItem = ITEM_NONE, - .moves = MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL + .moves = {MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL} }, { .iv = 255, .lvl = 57, .species = SPECIES_TAUROS, .heldItem = ITEM_NONE, - .moves = MOVE_TAKE_DOWN, MOVE_PROTECT, MOVE_FIRE_BLAST, MOVE_EARTHQUAKE + .moves = {MOVE_TAKE_DOWN, MOVE_PROTECT, MOVE_FIRE_BLAST, MOVE_EARTHQUAKE} }, { .iv = 255, .lvl = 58, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, - .moves = MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS + .moves = {MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS} }, { .iv = 255, .lvl = 60, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL + .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL} } }; @@ -11064,35 +11064,35 @@ static const struct TrainerMonItemCustomMoves sParty_Winona2[] = { .lvl = 40, .species = SPECIES_DRATINI, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM + .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 38, .species = SPECIES_TROPIUS, .heldItem = ITEM_NONE, - .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE + .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE} }, { .iv = 255, .lvl = 41, .species = SPECIES_PELIPPER, .heldItem = ITEM_NONE, - .moves = MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE + .moves = {MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 43, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, - .moves = MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE + .moves = {MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 45, .species = SPECIES_ALTARIA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE + .moves = {MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE} } }; @@ -11102,42 +11102,42 @@ static const struct TrainerMonItemCustomMoves sParty_Winona3[] = { .lvl = 43, .species = SPECIES_HOOTHOOT, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER + .moves = {MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER} }, { .iv = 255, .lvl = 43, .species = SPECIES_TROPIUS, .heldItem = ITEM_NONE, - .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE + .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE} }, { .iv = 255, .lvl = 45, .species = SPECIES_DRAGONAIR, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM + .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 46, .species = SPECIES_PELIPPER, .heldItem = ITEM_NONE, - .moves = MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE + .moves = {MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 48, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, - .moves = MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE + .moves = {MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 50, .species = SPECIES_ALTARIA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE + .moves = {MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE} } }; @@ -11147,42 +11147,42 @@ static const struct TrainerMonItemCustomMoves sParty_Winona4[] = { .lvl = 48, .species = SPECIES_NOCTOWL, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER + .moves = {MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER} }, { .iv = 255, .lvl = 49, .species = SPECIES_TROPIUS, .heldItem = ITEM_NONE, - .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE + .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE} }, { .iv = 255, .lvl = 50, .species = SPECIES_DRAGONAIR, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM + .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 51, .species = SPECIES_PELIPPER, .heldItem = ITEM_NONE, - .moves = MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE + .moves = {MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 53, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, - .moves = MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE + .moves = {MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 55, .species = SPECIES_ALTARIA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE + .moves = {MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE} } }; @@ -11192,42 +11192,42 @@ static const struct TrainerMonItemCustomMoves sParty_Winona5[] = { .lvl = 53, .species = SPECIES_NOCTOWL, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER + .moves = {MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER} }, { .iv = 255, .lvl = 54, .species = SPECIES_TROPIUS, .heldItem = ITEM_NONE, - .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE + .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE} }, { .iv = 255, .lvl = 55, .species = SPECIES_PELIPPER, .heldItem = ITEM_NONE, - .moves = MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE + .moves = {MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 55, .species = SPECIES_DRAGONITE, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM + .moves = {MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 58, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, - .moves = MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE + .moves = {MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 60, .species = SPECIES_ALTARIA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_SKY_ATTACK, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE + .moves = {MOVE_SKY_ATTACK, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE} } }; @@ -11237,35 +11237,35 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza2[] = { .lvl = 48, .species = SPECIES_SLOWPOKE, .heldItem = ITEM_NONE, - .moves = MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT + .moves = {MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT} }, { .iv = 255, .lvl = 49, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, - .moves = MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN + .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 49, .species = SPECIES_XATU, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND + .moves = {MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND} }, { .iv = 255, .lvl = 50, .species = SPECIES_LUNATONE, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND + .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND} }, { .iv = 255, .lvl = 50, .species = SPECIES_SOLROCK, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER + .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER} } }; @@ -11275,42 +11275,42 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza3[] = { .lvl = 53, .species = SPECIES_DROWZEE, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT + .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT} }, { .iv = 255, .lvl = 53, .species = SPECIES_SLOWPOKE, .heldItem = ITEM_NONE, - .moves = MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT + .moves = {MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT} }, { .iv = 255, .lvl = 54, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, - .moves = MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN + .moves = {MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 54, .species = SPECIES_XATU, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND + .moves = {MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND} }, { .iv = 255, .lvl = 55, .species = SPECIES_LUNATONE, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND + .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND} }, { .iv = 255, .lvl = 55, .species = SPECIES_SOLROCK, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER + .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER} } }; @@ -11320,42 +11320,42 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza4[] = { .lvl = 58, .species = SPECIES_HYPNO, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT + .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT} }, { .iv = 255, .lvl = 59, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, - .moves = MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN + .moves = {MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 58, .species = SPECIES_SLOWPOKE, .heldItem = ITEM_NONE, - .moves = MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT + .moves = {MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT} }, { .iv = 255, .lvl = 59, .species = SPECIES_XATU, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND + .moves = {MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND} }, { .iv = 255, .lvl = 60, .species = SPECIES_LUNATONE, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND + .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND} }, { .iv = 255, .lvl = 60, .species = SPECIES_SOLROCK, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER + .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER} } }; @@ -11365,42 +11365,42 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza5[] = { .lvl = 63, .species = SPECIES_HYPNO, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT + .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT} }, { .iv = 255, .lvl = 64, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, - .moves = MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN + .moves = {MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 63, .species = SPECIES_SLOWKING, .heldItem = ITEM_NONE, - .moves = MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT + .moves = {MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT} }, { .iv = 255, .lvl = 64, .species = SPECIES_XATU, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND + .moves = {MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND} }, { .iv = 255, .lvl = 65, .species = SPECIES_LUNATONE, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND + .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND} }, { .iv = 255, .lvl = 65, .species = SPECIES_SOLROCK, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER + .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER} } }; @@ -11410,35 +11410,35 @@ static const struct TrainerMonItemCustomMoves sParty_Juan2[] = { .lvl = 46, .species = SPECIES_POLIWAG, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP + .moves = {MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP} }, { .iv = 255, .lvl = 46, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, - .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE + .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE} }, { .iv = 255, .lvl = 48, .species = SPECIES_WALREIN, .heldItem = ITEM_NONE, - .moves = MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM + .moves = {MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 48, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_REST, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_DOUBLE_TEAM + .moves = {MOVE_REST, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_DOUBLE_TEAM} }, { .iv = 255, .lvl = 51, .species = SPECIES_KINGDRA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST + .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST} } }; @@ -11448,35 +11448,35 @@ static const struct TrainerMonItemCustomMoves sParty_Juan3[] = { .lvl = 50, .species = SPECIES_POLIWHIRL, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP + .moves = {MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP} }, { .iv = 255, .lvl = 51, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, - .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE + .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE} }, { .iv = 255, .lvl = 53, .species = SPECIES_WALREIN, .heldItem = ITEM_NONE, - .moves = MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM + .moves = {MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 53, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM + .moves = {MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM} }, { .iv = 255, .lvl = 56, .species = SPECIES_KINGDRA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST + .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST} } }; @@ -11486,42 +11486,42 @@ static const struct TrainerMonItemCustomMoves sParty_Juan4[] = { .lvl = 56, .species = SPECIES_LAPRAS, .heldItem = ITEM_NONE, - .moves = MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY + .moves = {MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY} }, { .iv = 255, .lvl = 58, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, - .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE + .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE} }, { .iv = 255, .lvl = 56, .species = SPECIES_POLIWHIRL, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP + .moves = {MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP} }, { .iv = 255, .lvl = 58, .species = SPECIES_WALREIN, .heldItem = ITEM_NONE, - .moves = MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM + .moves = {MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 58, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM + .moves = {MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM} }, { .iv = 255, .lvl = 61, .species = SPECIES_KINGDRA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST + .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST} } }; @@ -11531,42 +11531,42 @@ static const struct TrainerMonItemCustomMoves sParty_Juan5[] = { .lvl = 61, .species = SPECIES_LAPRAS, .heldItem = ITEM_NONE, - .moves = MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY + .moves = {MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY} }, { .iv = 255, .lvl = 63, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, - .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE + .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE} }, { .iv = 255, .lvl = 61, .species = SPECIES_POLITOED, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_HYDRO_PUMP, MOVE_PERISH_SONG + .moves = {MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_HYDRO_PUMP, MOVE_PERISH_SONG} }, { .iv = 255, .lvl = 63, .species = SPECIES_WALREIN, .heldItem = ITEM_NONE, - .moves = MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_SHEER_COLD + .moves = {MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_SHEER_COLD} }, { .iv = 255, .lvl = 63, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM + .moves = {MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM} }, { .iv = 255, .lvl = 66, .species = SPECIES_KINGDRA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST + .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST} } }; @@ -11576,14 +11576,14 @@ static const struct TrainerMonItemCustomMoves sParty_Angelo[] = { .lvl = 17, .species = SPECIES_ILLUMISE, .heldItem = ITEM_NONE, - .moves = MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CHARM, MOVE_NONE + .moves = {MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CHARM, MOVE_NONE} }, { .iv = 100, .lvl = 17, .species = SPECIES_VOLBEAT, .heldItem = ITEM_NONE, - .moves = MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CONFUSE_RAY, MOVE_NONE + .moves = {MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CONFUSE_RAY, MOVE_NONE} } }; @@ -11601,42 +11601,42 @@ static const struct TrainerMonItemCustomMoves sParty_Steven[] = { .lvl = 77, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, - .moves = MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_SPIKES, MOVE_STEEL_WING + .moves = {MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_SPIKES, MOVE_STEEL_WING} }, { .iv = 255, .lvl = 75, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, - .moves = MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_ANCIENT_POWER, MOVE_EARTHQUAKE + .moves = {MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_ANCIENT_POWER, MOVE_EARTHQUAKE} }, { .iv = 255, .lvl = 76, .species = SPECIES_AGGRON, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_EARTHQUAKE, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW + .moves = {MOVE_THUNDER, MOVE_EARTHQUAKE, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW} }, { .iv = 255, .lvl = 76, .species = SPECIES_CRADILY, .heldItem = ITEM_NONE, - .moves = MOVE_GIGA_DRAIN, MOVE_ANCIENT_POWER, MOVE_INGRAIN, MOVE_CONFUSE_RAY + .moves = {MOVE_GIGA_DRAIN, MOVE_ANCIENT_POWER, MOVE_INGRAIN, MOVE_CONFUSE_RAY} }, { .iv = 255, .lvl = 76, .species = SPECIES_ARMALDO, .heldItem = ITEM_NONE, - .moves = MOVE_WATER_PULSE, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE, MOVE_SLASH + .moves = {MOVE_WATER_PULSE, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE, MOVE_SLASH} }, { .iv = 255, .lvl = 78, .species = SPECIES_METAGROSS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_METEOR_MASH, MOVE_SHADOW_BALL + .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_METEOR_MASH, MOVE_SHADOW_BALL} } }; @@ -12419,7 +12419,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Leaf[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan16[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLinkPlaceholder[] = { { .iv = 0, .lvl = 5, @@ -12427,7 +12427,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan16[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May16[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayLinkPlaceholder[] = { { .iv = 0, .lvl = 5, diff --git a/src/data/trainers.h b/src/data/trainers.h index c30d21afd1..163a8296db 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -27,7 +27,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Sawyer1}, }, - [TRAINER_GRUNT_1] = + [TRAINER_GRUNT_AQUA_HIDEOUT_1] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -37,11 +37,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt1), - .party = {.NoItemDefaultMoves = sParty_Grunt1}, + .partySize = ARRAY_COUNT(sParty_GruntAquaHideout1), + .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout1}, }, - [TRAINER_GRUNT_2] = + [TRAINER_GRUNT_AQUA_HIDEOUT_2] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -51,11 +51,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt2), - .party = {.NoItemDefaultMoves = sParty_Grunt2}, + .partySize = ARRAY_COUNT(sParty_GruntAquaHideout2), + .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout2}, }, - [TRAINER_GRUNT_3] = + [TRAINER_GRUNT_AQUA_HIDEOUT_3] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -65,11 +65,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt3), - .party = {.NoItemDefaultMoves = sParty_Grunt3}, + .partySize = ARRAY_COUNT(sParty_GruntAquaHideout3), + .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout3}, }, - [TRAINER_GRUNT_4] = + [TRAINER_GRUNT_AQUA_HIDEOUT_4] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -79,11 +79,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt4), - .party = {.NoItemDefaultMoves = sParty_Grunt4}, + .partySize = ARRAY_COUNT(sParty_GruntAquaHideout4), + .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout4}, }, - [TRAINER_GRUNT_5] = + [TRAINER_GRUNT_SEAFLOOR_CAVERN_1] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -93,11 +93,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt5), - .party = {.NoItemDefaultMoves = sParty_Grunt5}, + .partySize = ARRAY_COUNT(sParty_GruntSeafloorCavern1), + .party = {.NoItemDefaultMoves = sParty_GruntSeafloorCavern1}, }, - [TRAINER_GRUNT_6] = + [TRAINER_GRUNT_SEAFLOOR_CAVERN_2] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -107,11 +107,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt6), - .party = {.NoItemDefaultMoves = sParty_Grunt6}, + .partySize = ARRAY_COUNT(sParty_GruntSeafloorCavern2), + .party = {.NoItemDefaultMoves = sParty_GruntSeafloorCavern2}, }, - [TRAINER_GRUNT_7] = + [TRAINER_GRUNT_SEAFLOOR_CAVERN_3] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -121,8 +121,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt7), - .party = {.NoItemDefaultMoves = sParty_Grunt7}, + .partySize = ARRAY_COUNT(sParty_GruntSeafloorCavern3), + .party = {.NoItemDefaultMoves = sParty_GruntSeafloorCavern3}, }, [TRAINER_GABRIELLE_1] = @@ -139,7 +139,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Gabrielle1}, }, - [TRAINER_GRUNT_8] = + [TRAINER_GRUNT_PETALBURG_WOODS] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -149,8 +149,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt8), - .party = {.NoItemDefaultMoves = sParty_Grunt8}, + .partySize = ARRAY_COUNT(sParty_GruntPetalburgWoods), + .party = {.NoItemDefaultMoves = sParty_GruntPetalburgWoods}, }, [TRAINER_MARCEL] = @@ -195,7 +195,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Ed}, }, - [TRAINER_GRUNT_9] = + [TRAINER_GRUNT_SEAFLOOR_CAVERN_4] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -205,8 +205,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt9), - .party = {.NoItemDefaultMoves = sParty_Grunt9}, + .partySize = ARRAY_COUNT(sParty_GruntSeafloorCavern4), + .party = {.NoItemDefaultMoves = sParty_GruntSeafloorCavern4}, }, [TRAINER_DECLAN] = @@ -223,7 +223,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Declan}, }, - [TRAINER_GRUNT_10] = + [TRAINER_GRUNT_RUSTURF_TUNNEL] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -233,11 +233,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt10), - .party = {.NoItemDefaultMoves = sParty_Grunt10}, + .partySize = ARRAY_COUNT(sParty_GruntRusturfTunnel), + .party = {.NoItemDefaultMoves = sParty_GruntRusturfTunnel}, }, - [TRAINER_GRUNT_11] = + [TRAINER_GRUNT_WEATHER_INST_1] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -247,11 +247,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt11), - .party = {.NoItemDefaultMoves = sParty_Grunt11}, + .partySize = ARRAY_COUNT(sParty_GruntWeatherInst1), + .party = {.NoItemDefaultMoves = sParty_GruntWeatherInst1}, }, - [TRAINER_GRUNT_12] = + [TRAINER_GRUNT_WEATHER_INST_2] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -261,11 +261,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt12), - .party = {.NoItemDefaultMoves = sParty_Grunt12}, + .partySize = ARRAY_COUNT(sParty_GruntWeatherInst2), + .party = {.NoItemDefaultMoves = sParty_GruntWeatherInst2}, }, - [TRAINER_GRUNT_13] = + [TRAINER_GRUNT_WEATHER_INST_3] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -275,11 +275,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt13), - .party = {.NoItemDefaultMoves = sParty_Grunt13}, + .partySize = ARRAY_COUNT(sParty_GruntWeatherInst3), + .party = {.NoItemDefaultMoves = sParty_GruntWeatherInst3}, }, - [TRAINER_GRUNT_14] = + [TRAINER_GRUNT_MUSEUM_1] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -289,11 +289,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt14), - .party = {.NoItemDefaultMoves = sParty_Grunt14}, + .partySize = ARRAY_COUNT(sParty_GruntMuseum1), + .party = {.NoItemDefaultMoves = sParty_GruntMuseum1}, }, - [TRAINER_GRUNT_15] = + [TRAINER_GRUNT_MUSEUM_2] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -303,11 +303,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt15), - .party = {.NoItemDefaultMoves = sParty_Grunt15}, + .partySize = ARRAY_COUNT(sParty_GruntMuseum2), + .party = {.NoItemDefaultMoves = sParty_GruntMuseum2}, }, - [TRAINER_GRUNT_16] = + [TRAINER_GRUNT_SPACE_CENTER_1] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -317,11 +317,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt16), - .party = {.NoItemDefaultMoves = sParty_Grunt16}, + .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter1), + .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter1}, }, - [TRAINER_GRUNT_17] = + [TRAINER_GRUNT_MT_PYRE_1] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -331,11 +331,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt17), - .party = {.NoItemDefaultMoves = sParty_Grunt17}, + .partySize = ARRAY_COUNT(sParty_GruntMtPyre1), + .party = {.NoItemDefaultMoves = sParty_GruntMtPyre1}, }, - [TRAINER_GRUNT_18] = + [TRAINER_GRUNT_MT_PYRE_2] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -345,11 +345,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt18), - .party = {.NoItemDefaultMoves = sParty_Grunt18}, + .partySize = ARRAY_COUNT(sParty_GruntMtPyre2), + .party = {.NoItemDefaultMoves = sParty_GruntMtPyre2}, }, - [TRAINER_GRUNT_19] = + [TRAINER_GRUNT_MT_PYRE_3] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -359,11 +359,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt19), - .party = {.NoItemDefaultMoves = sParty_Grunt19}, + .partySize = ARRAY_COUNT(sParty_GruntMtPyre3), + .party = {.NoItemDefaultMoves = sParty_GruntMtPyre3}, }, - [TRAINER_GRUNT_20] = + [TRAINER_GRUNT_WEATHER_INST_4] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -373,11 +373,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt20), - .party = {.NoItemDefaultMoves = sParty_Grunt20}, + .partySize = ARRAY_COUNT(sParty_GruntWeatherInst4), + .party = {.NoItemDefaultMoves = sParty_GruntWeatherInst4}, }, - [TRAINER_GRUNT_21] = + [TRAINER_GRUNT_AQUA_HIDEOUT_5] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -387,11 +387,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt21), - .party = {.NoItemDefaultMoves = sParty_Grunt21}, + .partySize = ARRAY_COUNT(sParty_GruntAquaHideout5), + .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout5}, }, - [TRAINER_GRUNT_22] = + [TRAINER_GRUNT_AQUA_HIDEOUT_6] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -401,8 +401,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt22), - .party = {.NoItemDefaultMoves = sParty_Grunt22}, + .partySize = ARRAY_COUNT(sParty_GruntAquaHideout6), + .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout6}, }, [TRAINER_FREDRICK] = @@ -447,7 +447,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Zander}, }, - [TRAINER_SHELLY_1] = + [TRAINER_SHELLY_WEATHER_INSTITUTE] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_AQUA_ADMIN, @@ -457,11 +457,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Shelly1), - .party = {.NoItemDefaultMoves = sParty_Shelly1}, + .partySize = ARRAY_COUNT(sParty_ShellyWeatherInstitute), + .party = {.NoItemDefaultMoves = sParty_ShellyWeatherInstitute}, }, - [TRAINER_SHELLY_2] = + [TRAINER_SHELLY_SEAFLOOR_CAVERN] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_AQUA_ADMIN, @@ -471,8 +471,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Shelly2), - .party = {.NoItemDefaultMoves = sParty_Shelly2}, + .partySize = ARRAY_COUNT(sParty_ShellySeafloorCavern), + .party = {.NoItemDefaultMoves = sParty_ShellySeafloorCavern}, }, [TRAINER_ARCHIE] = @@ -1623,7 +1623,7 @@ const struct Trainer gTrainers[] = { .party = {.ItemCustomMoves = sParty_Daphne}, }, - [TRAINER_GRUNT_23] = + [TRAINER_GRUNT_SPACE_CENTER_2] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -1633,8 +1633,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt23), - .party = {.NoItemDefaultMoves = sParty_Grunt23}, + .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter2), + .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter2}, }, [TRAINER_CINDY_2] = @@ -2043,7 +2043,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Mark}, }, - [TRAINER_GRUNT_24] = + [TRAINER_GRUNT_MT_CHIMNEY_1] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -2053,8 +2053,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt24), - .party = {.NoItemDefaultMoves = sParty_Grunt24}, + .partySize = ARRAY_COUNT(sParty_GruntMtChimney1), + .party = {.NoItemDefaultMoves = sParty_GruntMtChimney1}, }, [TRAINER_STEVE_2] = @@ -2687,7 +2687,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemCustomMoves = sParty_Kirk}, }, - [TRAINER_GRUNT_25] = + [TRAINER_GRUNT_AQUA_HIDEOUT_7] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -2697,11 +2697,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt25), - .party = {.NoItemDefaultMoves = sParty_Grunt25}, + .partySize = ARRAY_COUNT(sParty_GruntAquaHideout7), + .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout7}, }, - [TRAINER_GRUNT_26] = + [TRAINER_GRUNT_AQUA_HIDEOUT_8] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -2711,8 +2711,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt26), - .party = {.NoItemDefaultMoves = sParty_Grunt26}, + .partySize = ARRAY_COUNT(sParty_GruntAquaHideout8), + .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout8}, }, [TRAINER_SHAWN] = @@ -7195,7 +7195,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Hector}, }, - [TRAINER_TABITHA_1] = + [TRAINER_TABITHA_MOSSDEEP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, @@ -7205,8 +7205,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tabitha1), - .party = {.NoItemDefaultMoves = sParty_Tabitha1}, + .partySize = ARRAY_COUNT(sParty_TabithaMossdeep), + .party = {.NoItemDefaultMoves = sParty_TabithaMossdeep}, }, [TRAINER_EDWIN_2] = @@ -7265,7 +7265,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Edwin5}, }, - [TRAINER_WALLY_1] = + [TRAINER_WALLY_VR_1] = { .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7275,11 +7275,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wally1), - .party = {.NoItemCustomMoves = sParty_Wally1}, + .partySize = ARRAY_COUNT(sParty_WallyVR1), + .party = {.NoItemCustomMoves = sParty_WallyVR1}, }, - [TRAINER_BRENDAN_1] = + [TRAINER_BRENDAN_ROUTE_103_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7289,11 +7289,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan1), - .party = {.NoItemDefaultMoves = sParty_Brendan1}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute103Mudkip), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute103Mudkip}, }, - [TRAINER_BRENDAN_2] = + [TRAINER_BRENDAN_ROUTE_110_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7303,11 +7303,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan2), - .party = {.NoItemDefaultMoves = sParty_Brendan2}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute110Mudkip), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute110Mudkip}, }, - [TRAINER_BRENDAN_3] = + [TRAINER_BRENDAN_ROUTE_119_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7317,11 +7317,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan3), - .party = {.NoItemDefaultMoves = sParty_Brendan3}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute119Mudkip), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute119Mudkip}, }, - [TRAINER_BRENDAN_4] = + [TRAINER_BRENDAN_ROUTE_103_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7331,11 +7331,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_Brendan4), - .party = {.NoItemDefaultMoves = sParty_Brendan4}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute103Treecko), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute103Treecko}, }, - [TRAINER_BRENDAN_5] = + [TRAINER_BRENDAN_ROUTE_110_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7345,11 +7345,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan5), - .party = {.NoItemDefaultMoves = sParty_Brendan5}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute110Treecko), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute110Treecko}, }, - [TRAINER_BRENDAN_6] = + [TRAINER_BRENDAN_ROUTE_119_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7359,11 +7359,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan6), - .party = {.NoItemDefaultMoves = sParty_Brendan6}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute119Treecko), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute119Treecko}, }, - [TRAINER_BRENDAN_7] = + [TRAINER_BRENDAN_ROUTE_103_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7373,11 +7373,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan7), - .party = {.NoItemDefaultMoves = sParty_Brendan7}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute103Torchic), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute103Torchic}, }, - [TRAINER_BRENDAN_8] = + [TRAINER_BRENDAN_ROUTE_110_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7387,11 +7387,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan8), - .party = {.NoItemDefaultMoves = sParty_Brendan8}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute110Torchic), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute110Torchic}, }, - [TRAINER_BRENDAN_9] = + [TRAINER_BRENDAN_ROUTE_119_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7401,11 +7401,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan9), - .party = {.NoItemDefaultMoves = sParty_Brendan9}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute119Torchic), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute119Torchic}, }, - [TRAINER_MAY_1] = + [TRAINER_MAY_ROUTE_103_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7415,11 +7415,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May1), - .party = {.NoItemDefaultMoves = sParty_May1}, + .partySize = ARRAY_COUNT(sParty_MayRoute103Mudkip), + .party = {.NoItemDefaultMoves = sParty_MayRoute103Mudkip}, }, - [TRAINER_MAY_2] = + [TRAINER_MAY_ROUTE_110_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7429,11 +7429,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May2), - .party = {.NoItemDefaultMoves = sParty_May2}, + .partySize = ARRAY_COUNT(sParty_MayRoute110Mudkip), + .party = {.NoItemDefaultMoves = sParty_MayRoute110Mudkip}, }, - [TRAINER_MAY_3] = + [TRAINER_MAY_ROUTE_119_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7443,11 +7443,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May3), - .party = {.NoItemDefaultMoves = sParty_May3}, + .partySize = ARRAY_COUNT(sParty_MayRoute119Mudkip), + .party = {.NoItemDefaultMoves = sParty_MayRoute119Mudkip}, }, - [TRAINER_MAY_4] = + [TRAINER_MAY_ROUTE_103_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7457,11 +7457,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May4), - .party = {.NoItemDefaultMoves = sParty_May4}, + .partySize = ARRAY_COUNT(sParty_MayRoute103Treecko), + .party = {.NoItemDefaultMoves = sParty_MayRoute103Treecko}, }, - [TRAINER_MAY_5] = + [TRAINER_MAY_ROUTE_110_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7471,11 +7471,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May5), - .party = {.NoItemDefaultMoves = sParty_May5}, + .partySize = ARRAY_COUNT(sParty_MayRoute110Treecko), + .party = {.NoItemDefaultMoves = sParty_MayRoute110Treecko}, }, - [TRAINER_MAY_6] = + [TRAINER_MAY_ROUTE_119_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7485,11 +7485,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May6), - .party = {.NoItemDefaultMoves = sParty_May6}, + .partySize = ARRAY_COUNT(sParty_MayRoute119Treecko), + .party = {.NoItemDefaultMoves = sParty_MayRoute119Treecko}, }, - [TRAINER_MAY_7] = + [TRAINER_MAY_ROUTE_103_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7499,11 +7499,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May7), - .party = {.NoItemDefaultMoves = sParty_May7}, + .partySize = ARRAY_COUNT(sParty_MayRoute103Torchic), + .party = {.NoItemDefaultMoves = sParty_MayRoute103Torchic}, }, - [TRAINER_MAY_8] = + [TRAINER_MAY_ROUTE_110_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7513,11 +7513,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May8), - .party = {.NoItemDefaultMoves = sParty_May8}, + .partySize = ARRAY_COUNT(sParty_MayRoute110Torchic), + .party = {.NoItemDefaultMoves = sParty_MayRoute110Torchic}, }, - [TRAINER_MAY_9] = + [TRAINER_MAY_ROUTE_119_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7527,8 +7527,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May9), - .party = {.NoItemDefaultMoves = sParty_May9}, + .partySize = ARRAY_COUNT(sParty_MayRoute119Torchic), + .party = {.NoItemDefaultMoves = sParty_MayRoute119Torchic}, }, [TRAINER_ISAAC_1] = @@ -7937,7 +7937,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Julio}, }, - [TRAINER_GRUNT_27] = + [TRAINER_GRUNT_SEAFLOOR_CAVERN_5] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -7947,11 +7947,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt27), - .party = {.NoItemDefaultMoves = sParty_Grunt27}, + .partySize = ARRAY_COUNT(sParty_GruntSeafloorCavern5), + .party = {.NoItemDefaultMoves = sParty_GruntSeafloorCavern5}, }, - [TRAINER_GRUNT_28] = + [TRAINER_GRUNT_UNUSED] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -7961,11 +7961,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt28), - .party = {.NoItemDefaultMoves = sParty_Grunt28}, + .partySize = ARRAY_COUNT(sParty_GruntUnused), + .party = {.NoItemDefaultMoves = sParty_GruntUnused}, }, - [TRAINER_GRUNT_29] = + [TRAINER_GRUNT_MT_PYRE_4] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -7975,11 +7975,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt29), - .party = {.NoItemDefaultMoves = sParty_Grunt29}, + .partySize = ARRAY_COUNT(sParty_GruntMtPyre4), + .party = {.NoItemDefaultMoves = sParty_GruntMtPyre4}, }, - [TRAINER_GRUNT_30] = + [TRAINER_GRUNT_JAGGED_PASS] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -7989,8 +7989,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt30), - .party = {.NoItemDefaultMoves = sParty_Grunt30}, + .partySize = ARRAY_COUNT(sParty_GruntJaggedPass), + .party = {.NoItemDefaultMoves = sParty_GruntJaggedPass}, }, [TRAINER_MARC] = @@ -8105,7 +8105,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Harrison}, }, - [TRAINER_GRUNT_31] = + [TRAINER_GRUNT_MT_CHIMNEY_2] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -8115,8 +8115,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt31), - .party = {.NoItemDefaultMoves = sParty_Grunt31}, + .partySize = ARRAY_COUNT(sParty_GruntMtChimney2), + .party = {.NoItemDefaultMoves = sParty_GruntMtChimney2}, }, [TRAINER_CLARENCE] = @@ -8203,7 +8203,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Nicholas}, }, - [TRAINER_GRUNT_32] = + [TRAINER_GRUNT_SPACE_CENTER_3] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -8213,11 +8213,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt32), - .party = {.NoItemDefaultMoves = sParty_Grunt32}, + .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter3), + .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter3}, }, - [TRAINER_GRUNT_33] = + [TRAINER_GRUNT_SPACE_CENTER_4] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -8227,11 +8227,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt33), - .party = {.NoItemDefaultMoves = sParty_Grunt33}, + .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter4), + .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter4}, }, - [TRAINER_GRUNT_34] = + [TRAINER_GRUNT_SPACE_CENTER_5] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -8241,11 +8241,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt34), - .party = {.NoItemDefaultMoves = sParty_Grunt34}, + .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter5), + .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter5}, }, - [TRAINER_GRUNT_35] = + [TRAINER_GRUNT_SPACE_CENTER_6] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -8255,11 +8255,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt35), - .party = {.NoItemDefaultMoves = sParty_Grunt35}, + .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter6), + .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter6}, }, - [TRAINER_GRUNT_36] = + [TRAINER_GRUNT_SPACE_CENTER_7] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -8269,8 +8269,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt36), - .party = {.NoItemDefaultMoves = sParty_Grunt36}, + .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter7), + .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter7}, }, [TRAINER_MACEY] = @@ -8287,7 +8287,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Macey}, }, - [TRAINER_BRENDAN_10] = + [TRAINER_BRENDAN_RUSTBORO_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -8297,11 +8297,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Brendan10), - .party = {.NoItemDefaultMoves = sParty_Brendan10}, + .partySize = ARRAY_COUNT(sParty_BrendanRustboroTreecko), + .party = {.NoItemDefaultMoves = sParty_BrendanRustboroTreecko}, }, - [TRAINER_BRENDAN_11] = + [TRAINER_BRENDAN_RUSTBORO_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -8311,8 +8311,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Brendan11), - .party = {.NoItemDefaultMoves = sParty_Brendan11}, + .partySize = ARRAY_COUNT(sParty_BrendanRustboroMudkip), + .party = {.NoItemDefaultMoves = sParty_BrendanRustboroMudkip}, }, [TRAINER_PAXTON] = @@ -8343,7 +8343,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Isabella}, }, - [TRAINER_GRUNT_37] = + [TRAINER_GRUNT_WEATHER_INST_5] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -8353,11 +8353,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt37), - .party = {.NoItemDefaultMoves = sParty_Grunt37}, + .partySize = ARRAY_COUNT(sParty_GruntWeatherInst5), + .party = {.NoItemDefaultMoves = sParty_GruntWeatherInst5}, }, - [TRAINER_TABITHA_2] = + [TRAINER_TABITHA_MT_CHIMNEY] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, @@ -8367,8 +8367,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Tabitha2), - .party = {.NoItemDefaultMoves = sParty_Tabitha2}, + .partySize = ARRAY_COUNT(sParty_TabithaMtChimney), + .party = {.NoItemDefaultMoves = sParty_TabithaMtChimney}, }, [TRAINER_JONATHAN] = @@ -8385,7 +8385,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Jonathan}, }, - [TRAINER_BRENDAN_12] = + [TRAINER_BRENDAN_RUSTBORO_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -8395,11 +8395,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan12), - .party = {.NoItemDefaultMoves = sParty_Brendan12}, + .partySize = ARRAY_COUNT(sParty_BrendanRustboroTorchic), + .party = {.NoItemDefaultMoves = sParty_BrendanRustboroTorchic}, }, - [TRAINER_MAY_10] = + [TRAINER_MAY_RUSTBORO_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -8409,11 +8409,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_May10), - .party = {.NoItemDefaultMoves = sParty_May10}, + .partySize = ARRAY_COUNT(sParty_MayRustboroMudkip), + .party = {.NoItemDefaultMoves = sParty_MayRustboroMudkip}, }, - [TRAINER_MAXIE_1] = + [TRAINER_MAXIE_MAGMA_HIDEOUT] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_LEADER, @@ -8423,11 +8423,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Maxie1), - .party = {.NoItemDefaultMoves = sParty_Maxie1}, + .partySize = ARRAY_COUNT(sParty_MaxieMagmaHideout), + .party = {.NoItemDefaultMoves = sParty_MaxieMagmaHideout}, }, - [TRAINER_MAXIE_2] = + [TRAINER_MAXIE_MT_CHIMNEY] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_LEADER, @@ -8437,8 +8437,8 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Maxie2), - .party = {.NoItemDefaultMoves = sParty_Maxie2}, + .partySize = ARRAY_COUNT(sParty_MaxieMtChimney), + .party = {.NoItemDefaultMoves = sParty_MaxieMtChimney}, }, [TRAINER_TIANA] = @@ -9183,7 +9183,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Ashley}, }, - [TRAINER_WALLY_2] = + [TRAINER_WALLY_MAUVILLE] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9193,11 +9193,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wally2), - .party = {.NoItemDefaultMoves = sParty_Wally2}, + .partySize = ARRAY_COUNT(sParty_WallyMauville), + .party = {.NoItemDefaultMoves = sParty_WallyMauville}, }, - [TRAINER_WALLY_3] = + [TRAINER_WALLY_VR_2] = { .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9207,11 +9207,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wally3), - .party = {.NoItemCustomMoves = sParty_Wally3}, + .partySize = ARRAY_COUNT(sParty_WallyVR2), + .party = {.NoItemCustomMoves = sParty_WallyVR2}, }, - [TRAINER_WALLY_4] = + [TRAINER_WALLY_VR_3] = { .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9221,11 +9221,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wally4), - .party = {.NoItemCustomMoves = sParty_Wally4}, + .partySize = ARRAY_COUNT(sParty_WallyVR3), + .party = {.NoItemCustomMoves = sParty_WallyVR3}, }, - [TRAINER_WALLY_5] = + [TRAINER_WALLY_VR_4] = { .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9235,11 +9235,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wally5), - .party = {.NoItemCustomMoves = sParty_Wally5}, + .partySize = ARRAY_COUNT(sParty_WallyVR4), + .party = {.NoItemCustomMoves = sParty_WallyVR4}, }, - [TRAINER_WALLY_6] = + [TRAINER_WALLY_VR_5] = { .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9249,11 +9249,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wally6), - .party = {.NoItemCustomMoves = sParty_Wally6}, + .partySize = ARRAY_COUNT(sParty_WallyVR5), + .party = {.NoItemCustomMoves = sParty_WallyVR5}, }, - [TRAINER_BRENDAN_13] = + [TRAINER_BRENDAN_LILYCOVE_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9263,11 +9263,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan13), - .party = {.NoItemDefaultMoves = sParty_Brendan13}, + .partySize = ARRAY_COUNT(sParty_BrendanLilycoveMudkip), + .party = {.NoItemDefaultMoves = sParty_BrendanLilycoveMudkip}, }, - [TRAINER_BRENDAN_14] = + [TRAINER_BRENDAN_LILYCOVE_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9277,11 +9277,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan14), - .party = {.NoItemDefaultMoves = sParty_Brendan14}, + .partySize = ARRAY_COUNT(sParty_BrendanLilycoveTreecko), + .party = {.NoItemDefaultMoves = sParty_BrendanLilycoveTreecko}, }, - [TRAINER_BRENDAN_15] = + [TRAINER_BRENDAN_LILYCOVE_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9291,11 +9291,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan15), - .party = {.NoItemDefaultMoves = sParty_Brendan15}, + .partySize = ARRAY_COUNT(sParty_BrendanLilycoveTorchic), + .party = {.NoItemDefaultMoves = sParty_BrendanLilycoveTorchic}, }, - [TRAINER_MAY_11] = + [TRAINER_MAY_LILYCOVE_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9305,11 +9305,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May11), - .party = {.NoItemDefaultMoves = sParty_May11}, + .partySize = ARRAY_COUNT(sParty_MayLilycoveMudkip), + .party = {.NoItemDefaultMoves = sParty_MayLilycoveMudkip}, }, - [TRAINER_MAY_12] = + [TRAINER_MAY_LILYCOVE_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9319,11 +9319,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May12), - .party = {.NoItemDefaultMoves = sParty_May12}, + .partySize = ARRAY_COUNT(sParty_MayLilycoveTreecko), + .party = {.NoItemDefaultMoves = sParty_MayLilycoveTreecko}, }, - [TRAINER_MAY_13] = + [TRAINER_MAY_LILYCOVE_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9333,8 +9333,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May13), - .party = {.NoItemDefaultMoves = sParty_May13}, + .partySize = ARRAY_COUNT(sParty_MayLilycoveTorchic), + .party = {.NoItemDefaultMoves = sParty_MayLilycoveTorchic}, }, [TRAINER_JONAH] = @@ -10023,7 +10023,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Deandre}, }, - [TRAINER_GRUNT_38] = + [TRAINER_GRUNT_MAGMA_HIDEOUT_1] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -10033,11 +10033,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt38), - .party = {.NoItemDefaultMoves = sParty_Grunt38}, + .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout1), + .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout1}, }, - [TRAINER_GRUNT_39] = + [TRAINER_GRUNT_MAGMA_HIDEOUT_2] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -10047,11 +10047,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt39), - .party = {.NoItemDefaultMoves = sParty_Grunt39}, + .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout2), + .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout2}, }, - [TRAINER_GRUNT_40] = + [TRAINER_GRUNT_MAGMA_HIDEOUT_3] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -10061,11 +10061,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt40), - .party = {.NoItemDefaultMoves = sParty_Grunt40}, + .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout3), + .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout3}, }, - [TRAINER_GRUNT_41] = + [TRAINER_GRUNT_MAGMA_HIDEOUT_4] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -10075,11 +10075,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt41), - .party = {.NoItemDefaultMoves = sParty_Grunt41}, + .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout4), + .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout4}, }, - [TRAINER_GRUNT_42] = + [TRAINER_GRUNT_MAGMA_HIDEOUT_5] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -10089,11 +10089,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt42), - .party = {.NoItemDefaultMoves = sParty_Grunt42}, + .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout5), + .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout5}, }, - [TRAINER_GRUNT_43] = + [TRAINER_GRUNT_MAGMA_HIDEOUT_6] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -10103,11 +10103,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt43), - .party = {.NoItemDefaultMoves = sParty_Grunt43}, + .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout6), + .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout6}, }, - [TRAINER_GRUNT_44] = + [TRAINER_GRUNT_MAGMA_HIDEOUT_7] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -10117,11 +10117,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt44), - .party = {.NoItemDefaultMoves = sParty_Grunt44}, + .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout7), + .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout7}, }, - [TRAINER_GRUNT_45] = + [TRAINER_GRUNT_MAGMA_HIDEOUT_8] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -10131,11 +10131,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt45), - .party = {.NoItemDefaultMoves = sParty_Grunt45}, + .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout8), + .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout8}, }, - [TRAINER_GRUNT_46] = + [TRAINER_GRUNT_MAGMA_HIDEOUT_9] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -10145,11 +10145,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt46), - .party = {.NoItemDefaultMoves = sParty_Grunt46}, + .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout9), + .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout9}, }, - [TRAINER_GRUNT_47] = + [TRAINER_GRUNT_MAGMA_HIDEOUT_10] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -10159,11 +10159,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt47), - .party = {.NoItemDefaultMoves = sParty_Grunt47}, + .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout10), + .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout10}, }, - [TRAINER_GRUNT_48] = + [TRAINER_GRUNT_MAGMA_HIDEOUT_11] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -10173,11 +10173,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt48), - .party = {.NoItemDefaultMoves = sParty_Grunt48}, + .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout11), + .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout11}, }, - [TRAINER_GRUNT_49] = + [TRAINER_GRUNT_MAGMA_HIDEOUT_12] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -10187,11 +10187,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt49), - .party = {.NoItemDefaultMoves = sParty_Grunt49}, + .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout12), + .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout12}, }, - [TRAINER_GRUNT_50] = + [TRAINER_GRUNT_MAGMA_HIDEOUT_13] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -10201,11 +10201,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt50), - .party = {.NoItemDefaultMoves = sParty_Grunt50}, + .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout13), + .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout13}, }, - [TRAINER_GRUNT_51] = + [TRAINER_GRUNT_MAGMA_HIDEOUT_14] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -10215,11 +10215,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt51), - .party = {.NoItemDefaultMoves = sParty_Grunt51}, + .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout14), + .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout14}, }, - [TRAINER_GRUNT_52] = + [TRAINER_GRUNT_MAGMA_HIDEOUT_15] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -10229,11 +10229,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt52), - .party = {.NoItemDefaultMoves = sParty_Grunt52}, + .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout15), + .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout15}, }, - [TRAINER_GRUNT_53] = + [TRAINER_GRUNT_MAGMA_HIDEOUT_16] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -10243,11 +10243,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Grunt53), - .party = {.NoItemDefaultMoves = sParty_Grunt53}, + .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout16), + .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout16}, }, - [TRAINER_TABITHA_3] = + [TRAINER_TABITHA_MAGMA_HIDEOUT] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, @@ -10257,8 +10257,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tabitha3), - .party = {.NoItemDefaultMoves = sParty_Tabitha3}, + .partySize = ARRAY_COUNT(sParty_TabithaMagmaHideout), + .party = {.NoItemDefaultMoves = sParty_TabithaMagmaHideout}, }, [TRAINER_DARCY] = @@ -10275,7 +10275,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Darcy}, }, - [TRAINER_MAXIE_3] = + [TRAINER_MAXIE_MOSSDEEP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_LEADER, @@ -10285,8 +10285,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Maxie3), - .party = {.NoItemDefaultMoves = sParty_Maxie3}, + .partySize = ARRAY_COUNT(sParty_MaxieMossdeep), + .party = {.NoItemDefaultMoves = sParty_MaxieMossdeep}, }, [TRAINER_PETE] = @@ -10751,7 +10751,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Cristin1}, }, - [TRAINER_MAY_14] = + [TRAINER_MAY_RUSTBORO_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -10761,11 +10761,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May14), - .party = {.NoItemDefaultMoves = sParty_May14}, + .partySize = ARRAY_COUNT(sParty_MayRustboroTreecko), + .party = {.NoItemDefaultMoves = sParty_MayRustboroTreecko}, }, - [TRAINER_MAY_15] = + [TRAINER_MAY_RUSTBORO_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -10775,8 +10775,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May15), - .party = {.NoItemDefaultMoves = sParty_May15}, + .partySize = ARRAY_COUNT(sParty_MayRustboroTorchic), + .party = {.NoItemDefaultMoves = sParty_MayRustboroTorchic}, }, [TRAINER_ROXANNE_2] = @@ -11941,7 +11941,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Leaf}, }, - [TRAINER_BRENDAN_16] = + [TRAINER_BRENDAN_PLACEHOLDER] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_RS_PROTAG, @@ -11951,11 +11951,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_Brendan16), - .party = {.NoItemDefaultMoves = sParty_Brendan16}, + .partySize = ARRAY_COUNT(sParty_BrendanLinkPlaceholder), + .party = {.NoItemDefaultMoves = sParty_BrendanLinkPlaceholder}, }, - [TRAINER_MAY_16] = + [TRAINER_MAY_PLACEHOLDER] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_RS_PROTAG, @@ -11965,7 +11965,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_May16), - .party = {.NoItemDefaultMoves = sParty_May16}, + .partySize = ARRAY_COUNT(sParty_MayLinkPlaceholder), + .party = {.NoItemDefaultMoves = sParty_MayLinkPlaceholder}, }, }; diff --git a/src/data/union_room.h b/src/data/union_room.h new file mode 100644 index 0000000000..8cb0bc8aa2 --- /dev/null +++ b/src/data/union_room.h @@ -0,0 +1,1061 @@ +// const rom data + +ALIGNED(4) static const u8 sText_EmptyString[] = _(""); +ALIGNED(4) const u8 sText_Colon[] = _(":"); +ALIGNED(4) const u8 sText_ID[] = _("{ID}"); +ALIGNED(4) const u8 sText_PleaseStartOver[] = _("Please start over from the beginning."); +ALIGNED(4) const u8 sText_WirelessSearchCanceled[] = _("The WIRELESS COMMUNICATION\nSYSTEM search has been canceled."); +ALIGNED(4) const u8 sText_AwaitingCommunucation2[] = _("Awaiting communication\nfrom another player."); // Unused +ALIGNED(4) const u8 sText_AwaitingCommunication[] = _("{STR_VAR_1}! Awaiting\ncommunication from another player."); +ALIGNED(4) const u8 sText_AwaitingLinkPressStart[] = _("{STR_VAR_1}! Awaiting link!\nPress START when everyone's ready."); +ALIGNED(4) const u8 sJPText_SingleBattle[] = _("シングルバトルを かいさいする"); +ALIGNED(4) const u8 sJPText_DoubleBattle[] = _("ダブルバトルを かいさいする"); +ALIGNED(4) const u8 sJPText_MultiBattle[] = _("マルチバトルを かいさいする"); +ALIGNED(4) const u8 sJPText_TradePokemon[] = _("ポケモンこうかんを かいさいする"); +ALIGNED(4) const u8 sJPText_Chat[] = _("チャットを かいさいする"); +ALIGNED(4) const u8 sJPText_DistWonderCard[] = _("ふしぎなカードをくばる"); +ALIGNED(4) const u8 sJPText_DistWonderNews[] = _("ふしぎなニュースをくばる"); +ALIGNED(4) const u8 sJPText_DistMysteryEvent[] = _("ふしぎなできごとを かいさいする"); // Unused +ALIGNED(4) const u8 sJPText_HoldPokemonJump[] = _("なわとびを かいさいする"); +ALIGNED(4) const u8 sJPText_HoldBerryCrush[] = _("きのみマッシャーを かいさいする"); +ALIGNED(4) const u8 sJPText_HoldBerryPicking[] = _("きのみどりを かいさいする"); +ALIGNED(4) const u8 sJPText_HoldSpinTrade[] = _("ぐるぐるこうかんを かいさいする"); +ALIGNED(4) const u8 sJPText_HoldSpinShop[] = _("ぐるぐるショップを かいさいする"); + +// Unused +const u8 *const sJPLinkGroupActionTexts[] = { + sJPText_SingleBattle, + sJPText_DoubleBattle, + sJPText_MultiBattle, + sJPText_TradePokemon, + sJPText_Chat, + sJPText_DistWonderCard, + sJPText_DistWonderNews, + sJPText_DistWonderCard, + sJPText_HoldPokemonJump, + sJPText_HoldBerryCrush, + sJPText_HoldBerryPicking, + sJPText_HoldBerryPicking, + sJPText_HoldSpinTrade, + sJPText_HoldSpinShop +}; + +const u8 sText_1PlayerNeeded[] = _("1 player\nneeded."); +const u8 sText_2PlayersNeeded[] = _("2 players\nneeded."); +const u8 sText_3PlayersNeeded[] = _("3 players\nneeded."); +const u8 sText_4PlayersNeeded[] = _("4 players\nneeded."); +const u8 sText_2PlayerMode[] = _("2-PLAYER\nMODE"); +const u8 sText_3PlayerMode[] = _("3-PLAYER\nMODE"); +const u8 sText_4PlayerMode[] = _("4-PLAYER\nMODE"); +const u8 sText_5PlayerMode[] = _("5-PLAYER\nMODE"); + +static const u8 *const sPlayersNeededOrModeTexts[][5] = { + { + sText_1PlayerNeeded, + sText_2PlayerMode + }, { + sText_3PlayersNeeded, + sText_2PlayersNeeded, + sText_1PlayerNeeded, + sText_4PlayerMode + }, { + sText_1PlayerNeeded, + sText_2PlayerMode, + sText_3PlayerMode, + sText_4PlayerMode, + sText_5PlayerMode + }, { + sText_2PlayersNeeded, + sText_1PlayerNeeded, + sText_3PlayerMode, + sText_4PlayerMode, + sText_5PlayerMode + }, { + sText_1PlayerNeeded, + sText_2PlayerMode, + sText_3PlayerMode, + sText_4PlayerMode + } +}; + +ALIGNED(4) const u8 sText_BButtonCancel[] = _("{B_BUTTON}CANCEL"); +ALIGNED(4) const u8 sJPText_SearchingForParticipants[] = _("ため\nさんかしゃ ぼしゅうちゅう です!"); // Unused, may have been cut off +ALIGNED(4) const u8 sText_PlayerContactedYouForXAccept[] = _("{STR_VAR_2} contacted you for\n{STR_VAR_1}. Accept?"); +ALIGNED(4) const u8 sText_PlayerContactedYouShareX[] = _("{STR_VAR_2} contacted you.\nWill you share {STR_VAR_1}?"); +ALIGNED(4) const u8 sText_PlayerContactedYouAddToMembers[] = _("{STR_VAR_2} contacted you.\nAdd to the members?"); +ALIGNED(4) const u8 sText_AreTheseMembersOK[] = _("{STR_VAR_1}!\nAre these members OK?"); +ALIGNED(4) const u8 sText_CancelModeWithTheseMembers[] = _("Cancel {STR_VAR_1} MODE\nwith these members?"); +ALIGNED(4) const u8 sText_AnOKWasSentToPlayer[] = _("An “OK” was sent\nto {STR_VAR_1}."); +ALIGNED(4) const u8 sText_OtherTrainerUnavailableNow[] = _("The other TRAINER doesn't appear\nto be available now…\p"); +ALIGNED(4) const u8 sText_CantTransmitTrainerTooFar[] = _("You can't transmit with a TRAINER\nwho is too far away.\p"); +ALIGNED(4) const u8 sText_TrainersNotReadyYet[] = _("The other TRAINER(S) is/are not\nready yet.\p"); + +const u8 *const sCantTransmitToTrainerTexts[] = { + sText_CantTransmitTrainerTooFar, + sText_TrainersNotReadyYet +}; + +ALIGNED(4) const u8 sText_ModeWithTheseMembersWillBeCanceled[] = _("The {STR_VAR_1} MODE with\nthese members will be canceled.{PAUSE 60}"); +ALIGNED(4) const u8 sText_MemberNoLongerAvailable[] = _("There is a member who can no\nlonger remain available.\p"); + +const u8 *const sPlayerUnavailableTexts[] = { + sText_OtherTrainerUnavailableNow, + sText_MemberNoLongerAvailable +}; + +ALIGNED(4) const u8 sText_TrainerAppearsUnavailable[] = _("The other TRAINER appears\nunavailable…\p"); +ALIGNED(4) const u8 sText_PlayerSentBackOK[] = _("{STR_VAR_1} sent back an “OK”!"); +ALIGNED(4) const u8 sText_PlayerOKdRegistration[] = _("{STR_VAR_1} OK'd your registration as\na member."); +ALIGNED(4) const u8 sText_PlayerRepliedNo[] = _("{STR_VAR_1} replied, “No…”\p"); +ALIGNED(4) const u8 sText_AwaitingOtherMembers[] = _("{STR_VAR_1}!\nAwaiting other members!"); +ALIGNED(4) const u8 sText_QuitBeingMember[] = _("Quit being a member?"); +ALIGNED(4) const u8 sText_StoppedBeingMember[] = _("You stopped being a member.\p"); + +const u8 *const sPlayerDisconnectedTexts[] = { + NULL, + sText_MemberNoLongerAvailable, + sText_TrainerAppearsUnavailable, + NULL, + NULL, + NULL, + sText_PlayerRepliedNo, + NULL, + NULL, + sText_StoppedBeingMember +}; + +ALIGNED(4) const u8 sText_WirelessLinkEstablished[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been established."); +ALIGNED(4) const u8 sText_WirelessLinkDropped[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been dropped…"); +ALIGNED(4) const u8 sText_LinkWithFriendDropped[] = _("The link with your friend has been\ndropped…"); +ALIGNED(4) const u8 sText_PlayerRepliedNo2[] = _("{STR_VAR_1} replied, “No…”"); + +const u8 *const sLinkDroppedTexts[] = { + NULL, + sText_LinkWithFriendDropped, + sText_LinkWithFriendDropped, + NULL, + NULL, + NULL, + sText_PlayerRepliedNo2, + NULL, + NULL, + NULL +}; + +ALIGNED(4) const u8 sText_DoYouWantXMode[] = _("Do you want the {STR_VAR_2}\nMODE?"); +ALIGNED(4) const u8 sText_DoYouWantXMode2[] = _("Do you want the {STR_VAR_2}\nMODE?"); + +// Unused +static const u8 *const sDoYouWantModeTexts[] = { + sText_DoYouWantXMode, + sText_DoYouWantXMode2 +}; + +ALIGNED(4) const u8 sText_CommunicatingPleaseWait[] = _("Communicating…\nPlease wait."); // Unused +ALIGNED(4) const u8 sText_AwaitingPlayersResponseAboutTrade[] = _("Awaiting {STR_VAR_1}'s response about\nthe trade…"); +ALIGNED(4) const u8 sText_Communicating[] = _("Communicating{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); +ALIGNED(4) const u8 sText_CommunicatingWithPlayer[] = _("Communicating with {STR_VAR_1}{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); +ALIGNED(4) const u8 sText_PleaseWaitAWhile[] = _("Please wait a while{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); + +static const u8 *const sCommunicatingWaitTexts[] = { + sText_Communicating, + sText_CommunicatingWithPlayer, + sText_PleaseWaitAWhile +}; + +ALIGNED(4) const u8 sText_HiDoSomethingMale[] = _("Hiya! Is there something that you\nwanted to do?"); +ALIGNED(4) const u8 sText_HiDoSomethingFemale[] = _("Hello!\nWould you like to do something?"); +ALIGNED(4) const u8 sText_HiDoSomethingAgainMale[] = _("{STR_VAR_1}: Hiya, we meet again!\nWhat are you up for this time?"); +ALIGNED(4) const u8 sText_HiDoSomethingAgainFemale[] = _("{STR_VAR_1}: Oh! {PLAYER}, hello!\nWould you like to do something?"); + +static const u8 *const sHiDoSomethingTexts[][GENDER_COUNT] = { + { + sText_HiDoSomethingMale, + sText_HiDoSomethingFemale + }, { + sText_HiDoSomethingAgainMale, + sText_HiDoSomethingAgainFemale + } +}; + +ALIGNED(4) const u8 sText_DoSomethingMale[] = _("Want to do something?"); +ALIGNED(4) const u8 sText_DoSomethingFemale[] = _("Would you like to do something?"); +ALIGNED(4) const u8 sText_DoSomethingAgainMale[] = _("{STR_VAR_1}: What would you like to\ndo now?"); +ALIGNED(4) const u8 sText_DoSomethingAgainFemale[] = _("{STR_VAR_1}: Want to do anything else?"); // Unused + +// Unused +static const u8 *const sDoSomethingTexts[][GENDER_COUNT] = { + { + sText_DoSomethingMale, + sText_DoSomethingFemale + }, { + sText_DoSomethingAgainMale, + sText_DoSomethingAgainMale // was probably supposed to be sText_DoSomethingAgainFemale + } +}; + +ALIGNED(4) const u8 sText_SomebodyHasContactedYou[] = _("Somebody has contacted you.{PAUSE 60}"); +ALIGNED(4) const u8 sText_PlayerHasContactedYou[] = _("{STR_VAR_1} has contacted you.{PAUSE 60}"); + +static const u8 *const sPlayerContactedYouTexts[] = { + sText_SomebodyHasContactedYou, + sText_PlayerHasContactedYou +}; + +ALIGNED(4) const u8 sText_AwaitingResponseFromTrainer[] = _("Awaiting a response from\nthe other TRAINER…"); +ALIGNED(4) const u8 sText_AwaitingResponseFromPlayer[] = _("Awaiting a response from\n{STR_VAR_1}…"); + +static const u8 *const sAwaitingResponseTexts[] = { + sText_AwaitingResponseFromTrainer, + sText_AwaitingResponseFromPlayer +}; + +ALIGNED(4) const u8 sText_ShowTrainerCard[] = _("The other TRAINER showed\nyou their TRAINER CARD.\pWould you like to show your\nTRAINER CARD?"); +ALIGNED(4) const u8 sText_BattleChallenge[] = _("The other TRAINER challenges you\nto battle.\pWill you accept the battle\nchallenge?"); +ALIGNED(4) const u8 sText_ChatInvitation[] = _("The other TRAINER invites you\nto chat.\pWill you accept the chat\ninvitation?"); +ALIGNED(4) const u8 sText_OfferToTradeMon[] = _("There is an offer to trade your\nregistered Lv. {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}\pin exchange for a\nLv. {SPECIAL_F7 0x02} {SPECIAL_F7 0x03}.\pWill you accept this trade\noffer?"); +ALIGNED(4) const u8 sText_OfferToTradeEgg[] = _("There is an offer to trade your\nregistered EGG.\lWill you accept this trade offer?"); +ALIGNED(4) const u8 sText_ChatDropped[] = _("The chat has been dropped.\p"); +ALIGNED(4) const u8 sText_OfferDeclined1[] = _("You declined the offer.\p"); +ALIGNED(4) const u8 sText_OfferDeclined2[] = _("You declined the offer.\p"); +ALIGNED(4) const u8 sText_ChatEnded[] = _("The chat was ended.\p"); + +// Unused +static const u8 *const sInvitationTexts[] = { + sText_ShowTrainerCard, + sText_BattleChallenge, + sText_ChatInvitation, + sText_OfferToTradeMon +}; + +ALIGNED(4) const u8 sText_JoinChatMale[] = _("Oh, hey! We're in a chat right now.\nWant to join us?"); +ALIGNED(4) const u8 sText_PlayerJoinChatMale[] = _("{STR_VAR_1}: Hey, {PLAYER}!\nWe're having a chat right now.\lWant to join us?"); +ALIGNED(4) const u8 sText_JoinChatFemale[] = _("Oh, hi! We're having a chat now.\nWould you like to join us?"); +ALIGNED(4) const u8 sText_PlayerJoinChatFemale[] = _("{STR_VAR_1}: Oh, hi, {PLAYER}!\nWe're having a chat now.\lWould you like to join us?"); + +static const u8 *const sJoinChatTexts[][GENDER_COUNT] = { + { + sText_JoinChatMale, + sText_JoinChatFemale + }, { + sText_PlayerJoinChatMale, + sText_PlayerJoinChatFemale + } +}; + +ALIGNED(4) const u8 sText_TrainerAppearsBusy[] = _("……\nThe TRAINER appears to be busy…\p"); +ALIGNED(4) const u8 sText_WaitForBattleMale[] = _("A battle, huh?\nAll right, just give me some time."); +ALIGNED(4) const u8 sText_WaitForChatMale[] = _("You want to chat, huh?\nSure, just wait a little."); +ALIGNED(4) const u8 sText_ShowTrainerCardMale[] = _("Sure thing! As my “Greetings,”\nhere's my TRAINER CARD."); +ALIGNED(4) const u8 sText_WaitForBattleFemale[] = _("A battle? Of course, but I need\ntime to get ready."); +ALIGNED(4) const u8 sText_WaitForChatFemale[] = _("Did you want to chat?\nOkay, but please wait a moment."); +ALIGNED(4) const u8 sText_ShowTrainerCardFemale[] = _("As my introduction, I'll show you\nmy TRAINER CARD."); + +const u8 *const sText_WaitOrShowCardTexts[GENDER_COUNT][4] = { + { + sText_WaitForBattleMale, + sText_WaitForChatMale, + NULL, + sText_ShowTrainerCardMale + }, { + sText_WaitForBattleFemale, + sText_WaitForChatFemale, + NULL, + sText_ShowTrainerCardFemale + } +}; + +ALIGNED(4) const u8 sText_WaitForChatMale2[] = _("You want to chat, huh?\nSure, just wait a little."); // Unused +ALIGNED(4) const u8 sText_DoneWaitingBattleMale[] = _("Thanks for waiting!\nLet's get our battle started!{PAUSE 60}"); +ALIGNED(4) const u8 sText_DoneWaitingChatMale[] = _("All right!\nLet's chat!{PAUSE 60}"); +ALIGNED(4) const u8 sText_DoneWaitingBattleFemale[] = _("Sorry I made you wait!\nLet's get started!{PAUSE 60}"); +ALIGNED(4) const u8 sText_DoneWaitingChatFemale[] = _("Sorry I made you wait!\nLet's chat.{PAUSE 60}"); +ALIGNED(4) const u8 sText_TradeWillBeStarted[] = _("The trade will be started.{PAUSE 60}"); +ALIGNED(4) const u8 sText_BattleWillBeStarted[] = _("The battle will be started.{PAUSE 60}"); +ALIGNED(4) const u8 sText_EnteringChat[] = _("Entering the chat…{PAUSE 60}"); + +const u8 *const sStartActivityTexts[][GENDER_COUNT][3] = { + { + { + sText_BattleWillBeStarted, + sText_EnteringChat, + sText_TradeWillBeStarted + }, { + sText_BattleWillBeStarted, + sText_EnteringChat, + sText_TradeWillBeStarted + } + }, { + { + sText_DoneWaitingBattleMale, + sText_DoneWaitingChatMale, + sText_TradeWillBeStarted + }, { + sText_DoneWaitingBattleFemale, + sText_DoneWaitingChatFemale, + sText_TradeWillBeStarted + } + } +}; + +ALIGNED(4) const u8 sText_BattleDeclinedMale[] = _("Sorry! My POKéMON don't seem to\nbe feeling too well right now.\lLet me battle you another time.\p"); +ALIGNED(4) const u8 sText_BattleDeclinedFemale[] = _("I'm terribly sorry, but my POKéMON\naren't feeling well…\pLet's battle another time.\p"); + +const u8 *const sBattleDeclinedTexts[GENDER_COUNT] = { + sText_BattleDeclinedMale, + sText_BattleDeclinedFemale +}; + +ALIGNED(4) const u8 sText_ShowTrainerCardDeclinedMale[] = _("Huh? My TRAINER CARD…\nWhere'd it go now?\lSorry! I'll show you another time!\p"); +ALIGNED(4) const u8 sText_ShowTrainerCardDeclinedFemale[] = _("Oh? Now where did I put my\nTRAINER CARD?…\lSorry! I'll show you later!\p"); + +const u8 *const sShowTrainerCardDeclinedTexts[GENDER_COUNT] = { + sText_ShowTrainerCardDeclinedMale, + sText_ShowTrainerCardDeclinedFemale +}; + +ALIGNED(4) const u8 sText_IfYouWantToDoSomethingMale[] = _("If you want to do something with\nme, just give me a shout!\p"); +ALIGNED(4) const u8 sText_IfYouWantToDoSomethingFemale[] = _("If you want to do something with\nme, don't be shy.\p"); + +const u8 *const sIfYouWantToDoSomethingTexts[GENDER_COUNT] = { + sText_IfYouWantToDoSomethingMale, + sText_IfYouWantToDoSomethingFemale +}; + +ALIGNED(4) const u8 sText_TrainerBattleBusy[] = _("Whoops! Sorry, but I have to do\nsomething else.\lAnother time, okay?\p"); +ALIGNED(4) const u8 sText_NeedTwoMonsOfLevel30OrLower1[] = _("If you want to battle, you need\ntwo POKéMON that are below\lLv. 30.\p"); +ALIGNED(4) const u8 sText_NeedTwoMonsOfLevel30OrLower2[] = _("For a battle, you need two\nPOKéMON that are below Lv. 30.\p"); +ALIGNED(4) const u8 sText_DeclineBattleMale[] = _("Oh, all right.\nCome see me anytime, okay?\p"); +ALIGNED(4) const u8 stext_DeclineBattleFemale[] = _("Oh…\nPlease come by anytime.\p"); + +static const u8 *const sDeclineBattleTexts[GENDER_COUNT] = { + sText_DeclineBattleMale, + stext_DeclineBattleFemale +}; + +ALIGNED(4) const u8 sText_ChatDeclinedMale[] = _("Oh, sorry!\nI just can't right this instant.\lLet's chat another time.\p"); +ALIGNED(4) const u8 sText_ChatDeclinedFemale[] = _("Oh, I'm sorry.\nI have too much to do right now.\lLet's chat some other time.\p"); + +const u8 *const sChatDeclinedTexts[GENDER_COUNT] = { + sText_ChatDeclinedMale, + sText_ChatDeclinedFemale +}; + +ALIGNED(4) const u8 sText_YoureToughMale[] = _("Whoa!\nI can tell you're pretty tough!\p"); +ALIGNED(4) const u8 sText_UsedGoodMoveMale[] = _("You used that move?\nThat's good strategy!\p"); +ALIGNED(4) const u8 sText_BattleSurpriseMale[] = _("Way to go!\nThat was an eye-opener!\p"); +ALIGNED(4) const u8 sText_SwitchedMonsMale[] = _("Oh! How could you use that\nPOKéMON in that situation?\p"); +ALIGNED(4) const u8 sText_YoureToughFemale[] = _("That POKéMON…\nIt's been raised really well!\p"); +ALIGNED(4) const u8 sText_UsedGoodMoveFemale[] = _("That's it!\nThis is the right move now!\p"); +ALIGNED(4) const u8 sText_BattleSurpriseFemale[] = _("That's awesome!\nYou can battle that way?\p"); +ALIGNED(4) const u8 sText_SwitchedMonsFemale[] = _("You have exquisite timing for\nswitching POKéMON!\p"); + +const u8 *const sBattleReactionTexts[GENDER_COUNT][4] = { + { + sText_YoureToughMale, + sText_UsedGoodMoveMale, + sText_BattleSurpriseMale, + sText_SwitchedMonsMale + }, + { + sText_YoureToughFemale, + sText_UsedGoodMoveFemale, + sText_BattleSurpriseFemale, + sText_SwitchedMonsFemale + } +}; + +ALIGNED(4) const u8 sText_LearnedSomethingMale[] = _("Oh, I see!\nThis is educational!\p"); +ALIGNED(4) const u8 sText_ThatsFunnyMale[] = _("Don't say anything funny anymore!\nI'm sore from laughing!\p"); +ALIGNED(4) const u8 sText_RandomChatMale1[] = _("Oh?\nSomething like that happened.\p"); +ALIGNED(4) const u8 sText_RandomChatMale2[] = _("Hmhm… What?\nSo is this what you're saying?\p"); +ALIGNED(4) const u8 sText_LearnedSomethingFemale[] = _("Is that right?\nI didn't know that.\p"); +ALIGNED(4) const u8 sText_ThatsFunnyFemale[] = _("Ahaha!\nWhat is that about?\p"); +ALIGNED(4) const u8 sText_RandomChatFemale1[] = _("Yes, that's exactly it!\nThat's what I meant.\p"); +ALIGNED(4) const u8 sText_RandomChatFemale2[] = _("In other words…\nYes! That's right!\p"); + +const u8 *const sChatReactionTexts[GENDER_COUNT][4] = { + { + sText_LearnedSomethingMale, + sText_ThatsFunnyMale, + sText_RandomChatMale1, + sText_RandomChatMale2 + }, + { + sText_LearnedSomethingFemale, + sText_ThatsFunnyFemale, + sText_RandomChatFemale1, + sText_RandomChatFemale2 + } +}; + +ALIGNED(4) const u8 sText_ShowedTrainerCardMale1[] = _("I'm just showing my TRAINER CARD\nas my way of greeting.\p"); +ALIGNED(4) const u8 sText_ShowedTrainerCardMale2[] = _("I hope I get to know you better!\p"); +ALIGNED(4) const u8 sText_ShowedTrainerCardFemale1[] = _("We're showing each other our\nTRAINER CARDS to get acquainted.\p"); +ALIGNED(4) const u8 sText_ShowedTrainerCardFemale2[] = _("Glad to meet you.\nPlease don't be a stranger!\p"); + +const u8 *const sTrainerCardReactionTexts[GENDER_COUNT][2] = { + { + sText_ShowedTrainerCardMale1, + sText_ShowedTrainerCardMale2 + }, + { + sText_ShowedTrainerCardFemale1, + sText_ShowedTrainerCardFemale2 + } +}; + +ALIGNED(4) const u8 sText_MaleTraded1[] = _("Yeahah!\nI really wanted this POKéMON!\p"); +ALIGNED(4) const u8 sText_MaleTraded2[] = _("Finally, a trade got me that\nPOKéMON I'd wanted a long time.\p"); +ALIGNED(4) const u8 sText_FemaleTraded1[] = _("I'm trading POKéMON right now.\p"); +ALIGNED(4) const u8 sText_FemaleTraded2[] = _("I finally got that POKéMON I\nwanted in a trade!\p"); + +const u8 *const sTradeReactionTexts[GENDER_COUNT][4] = { + { + sText_MaleTraded1, + sText_MaleTraded2 + }, + { + sText_FemaleTraded1, + sText_FemaleTraded2 + } +}; + +ALIGNED(4) const u8 sText_XCheckedTradingBoard[] = _("{STR_VAR_1} checked the\nTRADING BOARD.\p"); +ALIGNED(4) const u8 sText_RegisterMonAtTradingBoard[] = _("Welcome to the TRADING BOARD.\pYou may register your POKéMON\nand offer it up for a trade.\pWould you like to register one of\nyour POKéMON?"); +ALIGNED(4) const u8 sText_TradingBoardInfo[] = _("This TRADING BOARD is used for\noffering a POKéMON for a trade.\pAll you need to do is register a\nPOKéMON for a trade.\pAnother TRAINER may offer a party\nPOKéMON in return for the trade.\pWe hope you will register POKéMON\nand trade them with many, many\lother TRAINERS.\pWould you like to register one of\nyour POKéMON?"); +ALIGNED(4) const u8 sText_ThankYouForRegistering[] = _("We have registered your POKéMON for\ntrade on the TRADING BOARD.\pThank you for using this service!\p"); // unused +ALIGNED(4) const u8 sText_NobodyHasRegistered[] = _("Nobody has registered any POKéMON\nfor trade on the TRADING BOARD.\p\n"); // unused +ALIGNED(4) const u8 sText_ChooseRequestedMonType[] = _("Please choose the type of POKéMON\nthat you would like in the trade.\n"); +ALIGNED(4) const u8 sText_WhichMonWillYouOffer[] = _("Which of your party POKéMON will\nyou offer in trade?\p"); +ALIGNED(4) const u8 sText_RegistrationCanceled[] = _("Registration has been canceled.\p"); +ALIGNED(4) const u8 sText_RegistraionCompleted[] = _("Registration has been completed.\p"); +ALIGNED(4) const u8 sText_TradeCanceled[] = _("The trade has been canceled.\p"); +ALIGNED(4) const u8 sText_CancelRegistrationOfMon[] = _("Cancel the registration of your\nLv. {STR_VAR_2} {STR_VAR_1}?"); +ALIGNED(4) const u8 sText_CancelRegistrationOfEgg[] = _("Cancel the registration of your\nEGG?"); +ALIGNED(4) const u8 sText_RegistrationCanceled2[] = _("The registration has been canceled.\p"); +ALIGNED(4) const u8 sText_TradeTrainersWillBeListed[] = _("TRAINERS wishing to make a trade\nwill be listed."); // unused +ALIGNED(4) const u8 sText_ChooseTrainerToTradeWith2[] = _("Please choose the TRAINER with whom\nyou would like to trade POKéMON."); // unused +ALIGNED(4) const u8 sText_AskTrainerToMakeTrade[] = _("Would you like to ask {STR_VAR_1} to\nmake a trade?"); +ALIGNED(4) const u8 sText_AwaitingResponseFromTrainer2[] = _("Awaiting a response from\nthe other TRAINER…"); // unused +ALIGNED(4) const u8 sText_NotRegisteredAMonForTrade[] = _("You have not registered a POKéMON\nfor trading.\p"); // unused +ALIGNED(4) const u8 sText_DontHaveTypeTrainerWants[] = _("You don't have a {STR_VAR_2}-type\nPOKéMON that {STR_VAR_1} wants.\p"); +ALIGNED(4) const u8 sText_DontHaveEggTrainerWants[] = _("You don't have an EGG that\n{STR_VAR_1} wants.\p"); +ALIGNED(4) const u8 sText_PlayerCantTradeForYourMon[] = _("{STR_VAR_1} can't make a trade for\nyour POKéMON right now.\p"); +ALIGNED(4) const u8 sText_CantTradeForPartnersMon[] = _("You can't make a trade for\n{STR_VAR_1}'s POKéMON right now.\p"); + +// Unused +const u8 *const sCantTradeMonTexts[] = { + sText_PlayerCantTradeForYourMon, + sText_CantTradeForPartnersMon +}; + +ALIGNED(4) const u8 sText_TradeOfferRejected[] = _("Your trade offer was rejected.\p"); +ALIGNED(4) const u8 sText_EggTrade[] = _("EGG TRADE"); +ALIGNED(4) const u8 sText_ChooseJoinCancel[] = _("{DPAD_UPDOWN}CHOOSE {A_BUTTON}JOIN {B_BUTTON}CANCEL"); +ALIGNED(4) const u8 sText_ChooseTrainer[] = _("Please choose a TRAINER."); +ALIGNED(4) const u8 sText_ChooseTrainerSingleBattle[] = _("Please choose a TRAINER for\na SINGLE BATTLE."); +ALIGNED(4) const u8 sText_ChooseTrainerDoubleBattle[] = _("Please choose a TRAINER for\na DOUBLE BATTLE."); +ALIGNED(4) const u8 sText_ChooseLeaderMultiBattle[] = _("Please choose the LEADER\nfor a MULTI BATTLE."); +ALIGNED(4) const u8 sText_ChooseTrainerToTradeWith[] = _("Please choose the TRAINER to\ntrade with."); +ALIGNED(4) const u8 sText_ChooseTrainerToShareWonderCards[] = _("Please choose the TRAINER who is\nsharing WONDER CARDS."); +ALIGNED(4) const u8 sText_ChooseTrainerToShareWonderNews[] = _("Please choose the TRAINER who is\nsharing WONDER NEWS."); +ALIGNED(4) const u8 sText_ChooseLeaderPokemonJump[] = _("Jump with mini POKéMON!\nPlease choose the LEADER."); +ALIGNED(4) const u8 sText_ChooseLeaderBerryCrush[] = _("BERRY CRUSH!\nPlease choose the LEADER."); +ALIGNED(4) const u8 sText_ChooseLeaderBerryPicking[] = _("DODRIO BERRY-PICKING!\nPlease choose the LEADER."); +ALIGNED(4) const u8 sText_ChooseLeaderBerryBlender[] = _("BERRY BLENDER!\nPlease choose the LEADER."); +ALIGNED(4) const u8 sText_ChooseLeaderRecordCorner[] = _("RECORD CORNER!\nPlease choose the LEADER."); +ALIGNED(4) const u8 sText_ChooseLeaderCoolContest[] = _("COOLNESS CONTEST!\nPlease choose the LEADER."); +ALIGNED(4) const u8 sText_ChooseLeaderBeautyContest[] = _("BEAUTY CONTEST!\nPlease choose the LEADER."); +ALIGNED(4) const u8 sText_ChooseLeaderCuteContest[] = _("CUTENESS CONTEST!\nPlease choose the LEADER."); +ALIGNED(4) const u8 sText_ChooseLeaderSmartContest[] = _("SMARTNESS CONTEST!\nPlease choose the LEADER."); +ALIGNED(4) const u8 sText_ChooseLeaderToughContest[] = _("TOUGHNESS CONTEST!\nPlease choose the LEADER."); +ALIGNED(4) const u8 sText_ChooseLeaderBattleTowerLv50[] = _("BATTLE TOWER LEVEL 50!\nPlease choose the LEADER."); +ALIGNED(4) const u8 sText_ChooseLeaderBattleTowerOpenLv[] = _("BATTLE TOWER OPEN LEVEL!\nPlease choose the LEADER."); + +static const u8 *const sChooseTrainerTexts[NUM_LINK_GROUP_TYPES] = +{ + [LINK_GROUP_SINGLE_BATTLE] = sText_ChooseTrainerSingleBattle, + [LINK_GROUP_DOUBLE_BATTLE] = sText_ChooseTrainerDoubleBattle, + [LINK_GROUP_MULTI_BATTLE] = sText_ChooseLeaderMultiBattle, + [LINK_GROUP_TRADE] = sText_ChooseTrainerToTradeWith, + [LINK_GROUP_POKEMON_JUMP] = sText_ChooseLeaderPokemonJump, + [LINK_GROUP_BERRY_CRUSH] = sText_ChooseLeaderBerryCrush, + [LINK_GROUP_BERRY_PICKING] = sText_ChooseLeaderBerryPicking, + [LINK_GROUP_WONDER_CARD] = sText_ChooseTrainerToShareWonderCards, + [LINK_GROUP_WONDER_NEWS] = sText_ChooseTrainerToShareWonderNews, + [LINK_GROUP_UNK_9] = NULL, + [LINK_GROUP_UNK_10] = NULL, + [LINK_GROUP_UNK_11] = NULL, + [LINK_GROUP_RECORD_CORNER] = sText_ChooseLeaderRecordCorner, + [LINK_GROUP_BERRY_BLENDER] = sText_ChooseLeaderBerryBlender, + [LINK_GROUP_UNK_14] = NULL, + [LINK_GROUP_COOL_CONTEST] = sText_ChooseLeaderCoolContest, + [LINK_GROUP_BEAUTY_CONTEST] = sText_ChooseLeaderBeautyContest, + [LINK_GROUP_CUTE_CONTEST] = sText_ChooseLeaderCuteContest, + [LINK_GROUP_SMART_CONTEST] = sText_ChooseLeaderSmartContest, + [LINK_GROUP_TOUGH_CONTEST] = sText_ChooseLeaderToughContest, + [LINK_GROUP_BATTLE_TOWER] = sText_ChooseLeaderBattleTowerLv50, + [LINK_GROUP_BATTLE_TOWER_OPEN] = sText_ChooseLeaderBattleTowerOpenLv +}; + +ALIGNED(4) const u8 sText_SearchingForWirelessSystemWait[] = _("Searching for a WIRELESS\nCOMMUNICATION SYSTEM. Wait..."); +ALIGNED(4) const u8 sText_MustHaveTwoMonsForDoubleBattle[] = _("For a DOUBLE BATTLE, you must have\nat least two POKéMON.\p"); // Unused +ALIGNED(4) const u8 sText_AwaitingPlayersResponse[] = _("Awaiting {STR_VAR_1}'s response…"); +ALIGNED(4) const u8 sText_PlayerHasBeenAskedToRegisterYouPleaseWait[] = _("{STR_VAR_1} has been asked to register\nyou as a member. Please wait."); +ALIGNED(4) const u8 sText_AwaitingResponseFromWirelessSystem[] = _("Awaiting a response from the\nWIRELESS COMMUNICATION SYSTEM."); +ALIGNED(4) const u8 sText_PleaseWaitForOtherTrainersToGather[] = _("Please wait for other TRAINERS to\ngather and get ready."); // Unused +ALIGNED(4) const u8 sText_NoCardsSharedRightNow[] = _("No CARDS appear to be shared \nright now."); +ALIGNED(4) const u8 sText_NoNewsSharedRightNow[] = _("No NEWS appears to be shared\nright now."); + +const u8 *const sNoWonderSharedTexts[] = { + sText_NoCardsSharedRightNow, + sText_NoNewsSharedRightNow +}; + +ALIGNED(4) const u8 sText_Battle[] = _("BATTLE"); +ALIGNED(4) const u8 sText_Chat2[] = _("CHAT"); +ALIGNED(4) const u8 sText_Greetings[] = _("GREETINGS"); +ALIGNED(4) const u8 sText_Exit[] = _("EXIT"); +ALIGNED(4) const u8 sText_Exit2[] = _("EXIT"); +ALIGNED(4) const u8 sText_Info[] = _("INFO"); +ALIGNED(4) const u8 sText_NameWantedOfferLv[] = _("NAME{CLEAR_TO 0x3C}WANTED{CLEAR_TO 0x6E}OFFER{CLEAR_TO 0xC6}LV."); +ALIGNED(4) const u8 sText_SingleBattle[] = _("SINGLE BATTLE"); +ALIGNED(4) const u8 sText_DoubleBattle[] = _("DOUBLE BATTLE"); +ALIGNED(4) const u8 sText_MultiBattle[] = _("MULTI BATTLE"); +ALIGNED(4) const u8 sText_PokemonTrades[] = _("POKéMON TRADES"); +ALIGNED(4) const u8 sText_Chat[] = _("CHAT"); +ALIGNED(4) const u8 sText_Cards[] = _("CARDS"); +ALIGNED(4) const u8 sText_WonderCards[] = _("WONDER CARDS"); +ALIGNED(4) const u8 sText_WonderNews[] = _("WONDER NEWS"); +ALIGNED(4) const u8 sText_PokemonJump[] = _("POKéMON JUMP"); +ALIGNED(4) const u8 sText_BerryCrush[] = _("BERRY CRUSH"); +ALIGNED(4) const u8 sText_BerryPicking[] = _("BERRY-PICKING"); +ALIGNED(4) const u8 sText_Search[] = _("SEARCH"); +ALIGNED(4) const u8 sText_BerryBlender[] = _("BERRY BLENDER"); +ALIGNED(4) const u8 sText_RecordCorner[] = _("RECORD CORNER"); +ALIGNED(4) const u8 sText_CoolContest[] = _("COOL CONTEST"); +ALIGNED(4) const u8 sText_BeautyContest[] = _("BEAUTY CONTEST"); +ALIGNED(4) const u8 sText_CuteContest[] = _("CUTE CONTEST"); +ALIGNED(4) const u8 sText_SmartContest[] = _("SMART CONTEST"); +ALIGNED(4) const u8 sText_ToughContest[] = _("TOUGH CONTEST"); +ALIGNED(4) const u8 sText_BattleTowerLv50[] = _("BATTLE TOWER LV. 50"); +ALIGNED(4) const u8 sText_BattleTowerOpenLv[] = _("BATTLE TOWER OPEN LEVEL"); +ALIGNED(4) const u8 sText_ItsNormalCard[] = _("It's a NORMAL CARD."); +ALIGNED(4) const u8 sText_ItsBronzeCard[] = _("It's a BRONZE CARD!"); +ALIGNED(4) const u8 sText_ItsCopperCard[] = _("It's a COPPER CARD!"); +ALIGNED(4) const u8 sText_ItsSilverCard[] = _("It's a SILVER CARD!"); +ALIGNED(4) const u8 sText_ItsGoldCard[] = _("It's a GOLD CARD!"); + +static const u8 *const sCardColorTexts[] = { + sText_ItsNormalCard, + sText_ItsBronzeCard, + sText_ItsCopperCard, + sText_ItsSilverCard, + sText_ItsGoldCard +}; + +ALIGNED(4) const u8 sText_TrainerCardInfoPage1[] = _("This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\nTRAINER CARD…\l{SPECIAL_F7 0x02}\pPOKéDEX: {SPECIAL_F7 0x03}\nTIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p"); +ALIGNED(4) const u8 sText_TrainerCardInfoPage2[] = _("BATTLES: WINS: {SPECIAL_F7 0x00} LOSSES: {SPECIAL_F7 0x02}\nTRADES: {SPECIAL_F7 0x03}\p“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p"); +ALIGNED(4) const u8 sText_GladToMeetYouMale[] = _("{SPECIAL_F7 0x01}: Glad to have met you!{PAUSE 60}"); +ALIGNED(4) const u8 sText_GladToMeetYouFemale[] = _("{SPECIAL_F7 0x01}: Glad to meet you!{PAUSE 60}"); + +const u8 *const sGladToMeetYouTexts[GENDER_COUNT] = { + sText_GladToMeetYouMale, + sText_GladToMeetYouFemale +}; + +ALIGNED(4) const u8 sText_FinishedCheckingPlayersTrainerCard[] = _("Finished checking {SPECIAL_F7 0x01}'s\nTRAINER CARD.{PAUSE 60}"); + +const u8 *const sLinkGroupActivityTexts[] = { + sText_EmptyString, + sText_SingleBattle, + sText_DoubleBattle, + sText_MultiBattle, + sText_PokemonTrades, + sText_Chat, + sText_WonderCards, + sText_WonderNews, + sText_Cards, + sText_PokemonJump, + sText_BerryCrush, + sText_BerryPicking, + sText_Search, + sText_EmptyString, + sText_BattleTowerOpenLv, + sText_RecordCorner, + sText_BerryBlender, + sText_EmptyString, + sText_EmptyString, + sText_EmptyString, + sText_EmptyString, + sText_WonderCards, + sText_WonderNews, + sText_CoolContest, + sText_BeautyContest, + sText_CuteContest, + sText_SmartContest, + sText_ToughContest, + sText_BattleTowerLv50 +}; + +const struct WindowTemplate gUnknown_082F00BC = { + .bg = 0x00, + .tilemapLeft = 0x00, + .tilemapTop = 0x00, + .width = 0x1E, + .height = 0x02, + .paletteNum = 0x0F, + .baseBlock = 0x0008 +}; + +const u32 gUnknown_082F00C4[NUM_LINK_GROUP_TYPES] = { + 0x0201, + 0x0202, + 0x0403, + 0x0204, + 0x2509, + 0x250a, + 0x350b, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x240f, + 0x2410, + 0x0000, + 0x2417, + 0x2418, + 0x2419, + 0x241a, + 0x241b, + 0x021c, + 0x020e +}; + +const struct WindowTemplate gUnknown_082F011C = { + .bg = 0x00, + .tilemapLeft = 0x01, + .tilemapTop = 0x03, + .width = 0x0d, + .height = 0x08, + .paletteNum = 0x0f, + .baseBlock = 0x0044 +}; + +const struct WindowTemplate gUnknown_082F0124 = { + .bg = 0x00, + .tilemapLeft = 0x01, + .tilemapTop = 0x03, + .width = 0x0d, + .height = 0x0a, + .paletteNum = 0x0f, + .baseBlock = 0x0044 +}; + +const struct WindowTemplate gUnknown_082F012C = { + .bg = 0x00, + .tilemapLeft = 0x10, + .tilemapTop = 0x03, + .width = 0x07, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x00c6 +}; + +const struct ListMenuItem gUnknown_082F0134[] = { + { sText_EmptyString, 0 }, + { sText_EmptyString, 1 }, + { sText_EmptyString, 2 }, + { sText_EmptyString, 3 }, + { sText_EmptyString, 4 } +}; + +const struct ListMenuTemplate gUnknown_082F015C = { + .items = gUnknown_082F0134, + .moveCursorFunc = NULL, + .itemPrintFunc = sub_8013278, + .totalItems = 5, + .maxShowed = 5, + .windowId = 0, + .header_X = 0, + .item_X = 0, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = 0, + .fontId = 1, + .cursorKind = 1 +}; + +const struct WindowTemplate gUnknown_082F0174 = { + .bg = 0x00, + .tilemapLeft = 0x01, + .tilemapTop = 0x03, + .width = 0x11, + .height = 0x0a, + .paletteNum = 0x0f, + .baseBlock = 0x0044 +}; + +const struct WindowTemplate gUnknown_082F017C = { + .bg = 0x00, + .tilemapLeft = 0x14, + .tilemapTop = 0x03, + .width = 0x07, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x00ee +}; + +const struct ListMenuItem gUnknown_082F0184[] = { + { sText_EmptyString, 0 }, + { sText_EmptyString, 1 }, + { sText_EmptyString, 2 }, + { sText_EmptyString, 3 }, + { sText_EmptyString, 4 }, + { sText_EmptyString, 5 }, + { sText_EmptyString, 6 }, + { sText_EmptyString, 7 }, + { sText_EmptyString, 8 }, + { sText_EmptyString, 9 }, + { sText_EmptyString, 10 }, + { sText_EmptyString, 11 }, + { sText_EmptyString, 12 }, + { sText_EmptyString, 13 }, + { sText_EmptyString, 14 }, + { sText_EmptyString, 15 } +}; + +const struct ListMenuTemplate gUnknown_082F0204 = { + .items = gUnknown_082F0184, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = sub_8013DF4, + .totalItems = 16, + .maxShowed = 5, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = 1, + .fontId = 1, + .cursorKind = 0 +}; + +const struct WindowTemplate gUnknown_082F021C = { + .bg = 0x00, + .tilemapLeft = 0x14, + .tilemapTop = 0x05, + .width = 0x10, + .height = 0x08, + .paletteNum = 0x0f, + .baseBlock = 0x0001 +}; + +const struct ListMenuItem gUnknown_082F0224[] = { + { sText_Greetings, 0x208 }, + { sText_Battle, 0x241 }, + { sText_Chat2, 0x245 }, + { sText_Exit, 0x040 } +}; + +const struct ListMenuTemplate gUnknown_082F0244 = { + .items = gUnknown_082F0224, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = NULL, + .totalItems = 4, + .maxShowed = 4, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = 0, + .fontId = 1, + .cursorKind = 0 +}; + +const struct WindowTemplate gUnknown_082F025C = { + .bg = 0x00, + .tilemapLeft = 0x12, + .tilemapTop = 0x07, + .width = 0x10, + .height = 0x06, + .paletteNum = 0x0f, + .baseBlock = 0x0001 +}; + +const struct ListMenuItem gUnknown_082F0264[] = { + { gText_Register, 1 }, + { sText_Info, 2 }, + { sText_Exit, 3 } +}; + +const struct ListMenuTemplate gUnknown_082F027C = { + .items = gUnknown_082F0264, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = NULL, + .totalItems = 3, + .maxShowed = 3, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = 0, + .fontId = 1, + .cursorKind = 0 +}; + +const struct WindowTemplate gUnknown_082F0294 = { + .bg = 0x00, + .tilemapLeft = 0x14, + .tilemapTop = 0x01, + .width = 0x10, + .height = 0x0c, + .paletteNum = 0x0f, + .baseBlock = 0x0001 +}; + +static const struct ListMenuItem sTradingBoardTypes[] = { + { gTypeNames[TYPE_NORMAL], TYPE_NORMAL }, + { gTypeNames[TYPE_FIRE], TYPE_FIRE }, + { gTypeNames[TYPE_WATER], TYPE_WATER }, + { gTypeNames[TYPE_ELECTRIC], TYPE_ELECTRIC }, + { gTypeNames[TYPE_GRASS], TYPE_GRASS }, + { gTypeNames[TYPE_ICE], TYPE_ICE }, + { gTypeNames[TYPE_GROUND], TYPE_GROUND }, + { gTypeNames[TYPE_ROCK], TYPE_ROCK }, + { gTypeNames[TYPE_FLYING], TYPE_FLYING }, + { gTypeNames[TYPE_PSYCHIC], TYPE_PSYCHIC }, + { gTypeNames[TYPE_FIGHTING], TYPE_FIGHTING }, + { gTypeNames[TYPE_POISON], TYPE_POISON }, + { gTypeNames[TYPE_BUG], TYPE_BUG }, + { gTypeNames[TYPE_GHOST], TYPE_GHOST }, + { gTypeNames[TYPE_DRAGON], TYPE_DRAGON }, + { gTypeNames[TYPE_STEEL], TYPE_STEEL }, + { gTypeNames[TYPE_DARK], TYPE_DARK }, + { sText_Exit, NUMBER_OF_MON_TYPES } +}; + +const struct ListMenuTemplate sMenuTemplate_TradingBoardRequestType = { + .items = sTradingBoardTypes, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = NULL, + .totalItems = NUMBER_OF_MON_TYPES, + .maxShowed = 6, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = 0, + .fontId = 1, + .cursorKind = 0 +}; + +const struct WindowTemplate gUnknown_082F0344 = { + .bg = 0x00, + .tilemapLeft = 0x01, + .tilemapTop = 0x01, + .width = 0x1c, + .height = 0x02, + .paletteNum = 0x0d, + .baseBlock = 0x0001 +}; + +const struct WindowTemplate gUnknown_082F034C = { + .bg = 0x00, + .tilemapLeft = 0x01, + .tilemapTop = 0x05, + .width = 0x1c, + .height = 0x0c, + .paletteNum = 0x0d, + .baseBlock = 0x0039 +}; + +const struct ListMenuItem gUnknown_082F0354[] = { + { sText_EmptyString, -3 }, + { sText_EmptyString, 0 }, + { sText_EmptyString, 1 }, + { sText_EmptyString, 2 }, + { sText_EmptyString, 3 }, + { sText_EmptyString, 4 }, + { sText_EmptyString, 5 }, + { sText_EmptyString, 6 }, + { sText_EmptyString, 7 }, + { sText_Exit2, 8 } +}; + +const struct ListMenuTemplate gUnknown_082F03A4 = { + .items = gUnknown_082F0354, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = sub_8017BE8, + .totalItems = 10, + .maxShowed = 6, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 14, + .fillValue = 15, + .cursorShadowPal = 13, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = 0, + .fontId = 1, + .cursorKind = 0 +}; + +const struct WindowTemplate UnrefWindowTemplate_082F03B4 = { + .bg = 0x00, + .tilemapLeft = 0x01, + .tilemapTop = 0x05, + .width = 0x1c, + .height = 0x0c, + .paletteNum = 0x0d, + .baseBlock = 0x0039 +}; + +const struct ListMenuItem gUnknown_082F03C4[] = { + { sText_EmptyString, 0 }, + { sText_EmptyString, 1 }, + { sText_EmptyString, 2 }, + { sText_EmptyString, 3 }, + { sText_EmptyString, 4 }, + { sText_EmptyString, 5 }, + { sText_EmptyString, 6 }, + { sText_EmptyString, 7 }, + { sText_EmptyString, 8 }, + { sText_EmptyString, 9 }, + { sText_EmptyString, 10 }, + { sText_EmptyString, 11 }, + { sText_EmptyString, 12 }, + { sText_EmptyString, 13 }, + { sText_EmptyString, 14 }, + { sText_EmptyString, 15 } +}; + +const struct ListMenuTemplate UnrefListMenuTemplate_082F0444 = { + .items = gUnknown_082F03C4, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = nullsub_14, + .totalItems = 16, + .maxShowed = 4, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = 1, + .fontId = 1, + .cursorKind = 0 +}; + +const struct UnkStruct_Shared gUnknown_082F045C = {0}; + +ALIGNED(4) const u8 gUnknown_082F0474[] = {0x01, 0xff}; +ALIGNED(4) const u8 gUnknown_082F0478[] = {0x02, 0xff}; +ALIGNED(4) const u8 gUnknown_082F047C[] = {0x03, 0xff}; +ALIGNED(4) const u8 gUnknown_082F0480[] = {0x04, 0xff}; +ALIGNED(4) const u8 gUnknown_082F0484[] = {0x09, 0xff}; +ALIGNED(4) const u8 gUnknown_082F0488[] = {0x0a, 0xff}; +ALIGNED(4) const u8 gUnknown_082F048C[] = {0x0b, 0xff}; +ALIGNED(4) const u8 gUnknown_082F0490[] = {0x15, 0xff}; +ALIGNED(4) const u8 gUnknown_082F0494[] = {0x16, 0xff}; +ALIGNED(4) const u8 gUnknown_082F0498[] = {0x40, 0x41, 0x44, 0x45, 0x48, 0x51, 0x52, 0x53, 0x54, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04A4[] = {0x0c, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04A8[] = {0x01, 0x02, 0x03, 0x04, 0x09, 0x0a, 0x0b, 0x15, 0x16, 0x0d, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04B4[] = {0x0f, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04B8[] = {0x10, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04BC[] = {0x17, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04C0[] = {0x18, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04C4[] = {0x19, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04C8[] = {0x1a, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04CC[] = {0x1b, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04D0[] = {0x1c, 0xff}; +ALIGNED(4) const u8 gUnknown_082F04D4[] = {0x0e, 0xff}; + +const u8 *const gUnknown_082F04D8[NUM_LINK_GROUP_TYPES] = { + gUnknown_082F0474, + gUnknown_082F0478, + gUnknown_082F047C, + gUnknown_082F0480, + gUnknown_082F0484, + gUnknown_082F0488, + gUnknown_082F048C, + gUnknown_082F0490, + gUnknown_082F0494, + gUnknown_082F0498, + gUnknown_082F04A4, + gUnknown_082F04A8, + gUnknown_082F04B4, + gUnknown_082F04B8, + NULL, + gUnknown_082F04BC, + gUnknown_082F04C0, + gUnknown_082F04C4, + gUnknown_082F04C8, + gUnknown_082F04CC, + gUnknown_082F04D0, + gUnknown_082F04D4 +}; + +// Link group type to ID for gUnknown_02022C2C +const u8 gUnknown_082F0530[NUM_LINK_GROUP_TYPES + 2] = +{ + 0x01, + 0x02, + 0x03, + 0x04, + 0x09, + 0x0a, + 0x0b, + 0x15, + 0x16, + 0x00, + 0x00, + 0x00, + 0x0f, + 0x10, + 0x00, + 0x17, + 0x18, + 0x19, + 0x1a, + 0x1b, + 0x1c, + 0x0e +}; diff --git a/src/data/wild_encounters.json b/src/data/wild_encounters.json index ea555bd326..19aa40b005 100755 --- a/src/data/wild_encounters.json +++ b/src/data/wild_encounters.json @@ -26,7 +26,12 @@ "type": "fishing_mons", "encounter_rates": [ 70, 30, 60, 20, 20, 40, 40, 15, 4, 1 - ] + ], + "groups": { + "old_rod": [0, 1], + "good_rod": [2, 3, 4], + "super_rod": [5, 6, 7, 8, 9] + } } ], "encounters": [ diff --git a/src/data/wild_encounters.json.txt b/src/data/wild_encounters.json.txt index 85755ddec5..bf848249f0 100755 --- a/src/data/wild_encounters.json.txt +++ b/src/data/wild_encounters.json.txt @@ -3,13 +3,25 @@ ## for wild_encounter_group in wild_encounter_groups {% if wild_encounter_group.for_maps %} ## for wild_encounter_field in wild_encounter_group.fields +{% if not existsIn(wild_encounter_field, "groups") %} ## for encounter_rate in wild_encounter_field.encounter_rates -{% if trackVar(encounter_rate, 100) %} +{% if loop.index == 0 %} #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) }}) +{% else %} +## for field_subgroup_key, field_subgroup_subarray in wild_encounter_field.groups +## for field_subgroup_index in field_subgroup_subarray +{% if loop.index == 0 %} +#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_SLOT_{{ field_subgroup_index }} {{ at(wild_encounter_field.encounter_rates, field_subgroup_index) }} {% else %}#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_SLOT_{{ field_subgroup_index }} ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_SLOT_{{ getVar("previous_slot") }} + {{ at(wild_encounter_field.encounter_rates, field_subgroup_index) }}{% endif %}{{ setVarInt(concat(wild_encounter_field.type, field_subgroup_key), field_subgroup_index) }}{{ setVarInt("previous_slot", field_subgroup_index) }} +## endfor +#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_TOTAL (ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_SLOT_{{ getVar(concat(wild_encounter_field.type, field_subgroup_key)) }}) ## endfor {% endif %} +## endfor +{% endif %} + + ## for encounter in wild_encounter_group.encounters {% if existsIn(encounter, "land_mons") %} diff --git a/src/daycare.c b/src/daycare.c index 2d05035d7a..dcbadeba8d 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -3,14 +3,11 @@ #include "battle.h" #include "daycare.h" #include "string_util.h" -#include "constants/species.h" -#include "constants/items.h" #include "mail.h" #include "pokemon_storage_system.h" #include "event_data.h" #include "random.h" #include "main.h" -#include "constants/moves.h" #include "egg_hatch.h" #include "text.h" #include "menu.h" @@ -22,9 +19,10 @@ #include "party_menu.h" #include "list_menu.h" #include "overworld.h" - -#define EGG_MOVES_ARRAY_COUNT 10 -#define EGG_LVL_UP_MOVES_ARRAY_COUNT 50 +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/region_map_sections.h" +#include "constants/species.h" // this file's functions static void ClearDaycareMonMail(struct DayCareMail *mail); @@ -34,10 +32,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" @@ -52,11 +50,13 @@ static const struct WindowTemplate sDaycareLevelMenuWindowTemplate = .baseBlock = 8 }; +// Indices here are assigned by Task_HandleDaycareLevelMenuInput to VAR_RESULT, +// which is copied to VAR_0x8004 and used as an index for GetDaycareCost static const struct ListMenuItem sLevelMenuItems[] = { - {gExpandedPlaceholder_Empty, 0}, - {gExpandedPlaceholder_Empty, 1}, - {gText_Exit, 5} + {gText_ExpandedPlaceholder_Empty, 0}, + {gText_ExpandedPlaceholder_Empty, 1}, + {gText_Exit, DAYCARE_LEVEL_MENU_EXIT} }; static const struct ListMenuTemplate sDaycareListMenuLevelTemplate = @@ -91,7 +91,7 @@ static const u8 *const sCompatibilityMessages[] = static const u8 sJapaneseEggNickname[] = _("タマゴ"); // "tamago" ("egg" in Japanese) -u8 *GetMonNick(struct Pokemon *mon, u8 *dest) +u8 *GetMonNickname2(struct Pokemon *mon, u8 *dest) { u8 nickname[POKEMON_NAME_LENGTH * 2]; @@ -99,7 +99,7 @@ u8 *GetMonNick(struct Pokemon *mon, u8 *dest) return StringCopy10(dest, nickname); } -u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest) +u8 *GetBoxMonNickname(struct BoxPokemon *mon, u8 *dest) { u8 nickname[POKEMON_NAME_LENGTH * 2]; @@ -169,7 +169,7 @@ static void StorePokemonInDaycare(struct Pokemon *mon, struct DaycareMon *daycar u8 mailId; StringCopy(daycareMon->mail.OT_name, gSaveBlock2Ptr->playerName); - GetMonNick(mon, daycareMon->mail.monName); + GetMonNickname2(mon, daycareMon->mail.monName); StripExtCtrlCodes(daycareMon->mail.monName); daycareMon->mail.gameLanguage = LANGUAGE_ENGLISH; daycareMon->mail.monLanguage = GetMonData(mon, MON_DATA_LANGUAGE); @@ -202,8 +202,8 @@ void StoreSelectedPokemonInDaycare(void) static void ShiftDaycareSlots(struct DayCare *daycare) { // This condition is only satisfied when the player takes out the first pokemon from the daycare. - if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != 0 - && GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) == 0) + if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != SPECIES_NONE + && GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) == SPECIES_NONE) { daycare->mons[0].mon = daycare->mons[1].mon; ZeroBoxMonData(&daycare->mons[1].mon); @@ -231,11 +231,8 @@ static void ApplyDaycareExperience(struct Pokemon *mon) while ((learnedMove = MonTryLearningNewMove(mon, firstMove)) != 0) { firstMove = FALSE; - if (learnedMove == 0xFFFF) - { - // Mon already knows 4 moves. + if (learnedMove == MON_HAS_MAX_MOVES) DeleteFirstMoveAndGiveMoveToMon(mon, gMoveToLearn); - } } } else @@ -254,7 +251,7 @@ static u16 TakeSelectedPokemonFromDaycare(struct DaycareMon *daycareMon) u32 experience; struct Pokemon pokemon; - GetBoxMonNick(&daycareMon->mon, gStringVar1); + GetBoxMonNickname(&daycareMon->mon, gStringVar1); species = GetBoxMonData(&daycareMon->mon, MON_DATA_SPECIES); BoxMonToMon(&daycareMon->mon, &pokemon); @@ -314,7 +311,7 @@ static u8 GetNumLevelsGainedForDaycareMon(struct DaycareMon *daycareMon) { u8 numLevelsGained = GetNumLevelsGainedFromSteps(daycareMon); ConvertIntToDecimalStringN(gStringVar2, numLevelsGained, STR_CONV_MODE_LEFT_ALIGN, 2); - GetBoxMonNick(&daycareMon->mon, gStringVar1); + GetBoxMonNickname(&daycareMon->mon, gStringVar1); return numLevelsGained; } @@ -323,7 +320,7 @@ static u32 GetDaycareCostForSelectedMon(struct DaycareMon *daycareMon) u32 cost; u8 numLevelsGained = GetNumLevelsGainedFromSteps(daycareMon); - GetBoxMonNick(&daycareMon->mon, gStringVar1); + GetBoxMonNickname(&daycareMon->mon, gStringVar1); cost = 100 + 100 * numLevelsGained; ConvertIntToDecimalStringN(gStringVar2, cost, STR_CONV_MODE_LEFT_ALIGN, 5); return cost; @@ -419,18 +416,18 @@ static u16 GetEggSpecies(u16 species) return species; } -static s32 GetSlotToInheritNature(struct DayCare *daycare) +static s32 GetParentToInheritNature(struct DayCare *daycare) { u32 species[DAYCARE_MON_COUNT]; s32 i; s32 dittoCount; - s32 slot = -1; + s32 parent = -1; // search for female gender for (i = 0; i < DAYCARE_MON_COUNT; i++) { if (GetBoxMonGender(&daycare->mons[i].mon) == MON_FEMALE) - slot = i; + parent = i; } // search for ditto @@ -438,50 +435,52 @@ static s32 GetSlotToInheritNature(struct DayCare *daycare) { species[i] = GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SPECIES); if (species[i] == SPECIES_DITTO) - dittoCount++, slot = i; + dittoCount++, parent = i; } // coin flip on ...two Dittos - if (dittoCount == 2) + if (dittoCount == DAYCARE_MON_COUNT) { if (Random() >= USHRT_MAX / 2) - slot = 0; + parent = 0; else - slot = 1; + parent = 1; } - // nature inheritance only if holds everstone - if (GetBoxMonData(&daycare->mons[slot].mon, MON_DATA_HELD_ITEM) != ITEM_EVERSTONE + // Don't inherit nature if not holding Everstone + if (GetBoxMonData(&daycare->mons[parent].mon, MON_DATA_HELD_ITEM) != ITEM_EVERSTONE || Random() >= USHRT_MAX / 2) { return -1; } - return slot; + return parent; } static void _TriggerPendingDaycareEgg(struct DayCare *daycare) { - s32 natureSlot; + s32 parent; s32 natureTries = 0; SeedRng2(gMain.vblankCounter2); - natureSlot = GetSlotToInheritNature(daycare); + parent = GetParentToInheritNature(daycare); - if (natureSlot < 0) + // don't inherit nature + if (parent < 0) { - daycare->offspringPersonality = (Random2() << 0x10) | ((Random() % 0xfffe) + 1); + daycare->offspringPersonality = (Random2() << 16) | ((Random() % 0xfffe) + 1); } + // inherit nature else { - u8 wantedNature = GetNatureFromPersonality(GetBoxMonData(&daycare->mons[natureSlot].mon, MON_DATA_PERSONALITY, NULL)); + u8 wantedNature = GetNatureFromPersonality(GetBoxMonData(&daycare->mons[parent].mon, MON_DATA_PERSONALITY, NULL)); u32 personality; do { - personality = (Random2() << 0x10) | (Random()); + personality = (Random2() << 16) | (Random()); if (wantedNature == GetNatureFromPersonality(personality) && personality != 0) - break; // we found a personality with the same nature + break; // found a personality with the same nature natureTries++; } while (natureTries <= 2400); @@ -492,9 +491,10 @@ static void _TriggerPendingDaycareEgg(struct DayCare *daycare) FlagSet(FLAG_PENDING_DAYCARE_EGG); } +// Functionally unused static void _TriggerPendingDaycareMaleEgg(struct DayCare *daycare) { - daycare->offspringPersonality = (Random()) | (0x8000); + daycare->offspringPersonality = (Random()) | (EGG_GENDER_MALE); FlagSet(FLAG_PENDING_DAYCARE_EGG); } @@ -503,6 +503,7 @@ void TriggerPendingDaycareEgg(void) _TriggerPendingDaycareEgg(&gSaveBlock1Ptr->daycare); } +// Unused static void TriggerPendingDaycareMaleEgg(void) { _TriggerPendingDaycareMaleEgg(&gSaveBlock1Ptr->daycare); @@ -532,9 +533,9 @@ static void RemoveIVIndexFromList(u8 *ivs, u8 selectedIv) static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare) { u8 i; - u8 selectedIvs[3]; + u8 selectedIvs[INHERITED_IV_COUNT]; u8 availableIVs[NUM_STATS]; - u8 whichParent[ARRAY_COUNT(selectedIvs)]; + u8 whichParents[INHERITED_IV_COUNT]; u8 iv; // Initialize a list of IV indices. @@ -544,48 +545,46 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare) } // Select the 3 IVs that will be inherited. - for (i = 0; i < ARRAY_COUNT(selectedIvs); i++) + for (i = 0; i < INHERITED_IV_COUNT; i++) { - // Randomly pick an IV from the available list. + // Randomly pick an IV from the available list and stop from being chosen again. selectedIvs[i] = availableIVs[Random() % (NUM_STATS - i)]; - - // Remove the selected IV index from the available IV indices. RemoveIVIndexFromList(availableIVs, i); } // Determine which parent each of the selected IVs should inherit from. - for (i = 0; i < ARRAY_COUNT(selectedIvs); i++) + for (i = 0; i < INHERITED_IV_COUNT; i++) { - whichParent[i] = Random() % 2; + whichParents[i] = Random() % DAYCARE_MON_COUNT; } // Set each of inherited IVs on the egg mon. - for (i = 0; i < ARRAY_COUNT(selectedIvs); i++) + for (i = 0; i < INHERITED_IV_COUNT; i++) { switch (selectedIvs[i]) { case 0: - iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_HP_IV); + iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_HP_IV); SetMonData(egg, MON_DATA_HP_IV, &iv); break; case 1: - iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_ATK_IV); + iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_ATK_IV); SetMonData(egg, MON_DATA_ATK_IV, &iv); break; case 2: - iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_DEF_IV); + iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_DEF_IV); SetMonData(egg, MON_DATA_DEF_IV, &iv); break; case 3: - iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_SPEED_IV); + iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_SPEED_IV); SetMonData(egg, MON_DATA_SPEED_IV, &iv); break; case 4: - iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_SPATK_IV); + iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_SPATK_IV); SetMonData(egg, MON_DATA_SPATK_IV, &iv); break; case 5: - iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_SPDEF_IV); + iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_SPDEF_IV); SetMonData(egg, MON_DATA_SPDEF_IV, &iv); break; } @@ -638,14 +637,14 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru numSharedParentMoves = 0; for (i = 0; i < MAX_MON_MOVES; i++) { - sHatchedEggMotherMoves[i] = 0; - sHatchedEggFatherMoves[i] = 0; - sHatchedEggFinalMoves[i] = 0; + sHatchedEggMotherMoves[i] = MOVE_NONE; + sHatchedEggFatherMoves[i] = MOVE_NONE; + sHatchedEggFinalMoves[i] = MOVE_NONE; } for (i = 0; i < EGG_MOVES_ARRAY_COUNT; i++) - sHatchedEggEggMoves[i] = 0; + sHatchedEggEggMoves[i] = MOVE_NONE; for (i = 0; i < EGG_LVL_UP_MOVES_ARRAY_COUNT; i++) - sHatchedEggLevelUpMoves[i] = 0; + sHatchedEggLevelUpMoves[i] = MOVE_NONE; numLevelUpMoves = GetLevelUpMovesBySpecies(GetMonData(egg, MON_DATA_SPECIES), sHatchedEggLevelUpMoves); for (i = 0; i < MAX_MON_MOVES; i++) @@ -664,7 +663,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru { if (sHatchedEggFatherMoves[i] == sHatchedEggEggMoves[j]) { - if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == 0xFFFF) + if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == MON_HAS_MAX_MOVES) DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFatherMoves[i]); break; } @@ -683,7 +682,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru { if (sHatchedEggFatherMoves[i] == ItemIdToBattleMoveId(ITEM_TM01_FOCUS_PUNCH + j) && CanMonLearnTMHM(egg, j)) { - if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == 0xFFFF) + if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == MON_HAS_MAX_MOVES) DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFatherMoves[i]); } } @@ -708,7 +707,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru { if (sHatchedEggLevelUpMoves[j] != MOVE_NONE && sHatchedEggFinalMoves[i] == sHatchedEggLevelUpMoves[j]) { - if (GiveMoveToMon(egg, sHatchedEggFinalMoves[i]) == 0xFFFF) + if (GiveMoveToMon(egg, sHatchedEggFinalMoves[i]) == MON_HAS_MAX_MOVES) DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFinalMoves[i]); break; } @@ -753,7 +752,7 @@ static void GiveVoltTackleIfLightBall(struct Pokemon *mon, struct DayCare *dayca if (motherItem == ITEM_LIGHT_BALL || fatherItem == ITEM_LIGHT_BALL) { - if (GiveMoveToMon(mon, MOVE_VOLT_TACKLE) == 0xFFFF) + if (GiveMoveToMon(mon, MOVE_VOLT_TACKLE) == MON_HAS_MAX_MOVES) DeleteFirstMoveAndGiveMoveToMon(mon, MOVE_VOLT_TACKLE); } } @@ -761,13 +760,10 @@ static void GiveVoltTackleIfLightBall(struct Pokemon *mon, struct DayCare *dayca static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parentSlots) { u16 i; - u16 species[2]; + u16 species[DAYCARE_MON_COUNT]; u16 eggSpecies; - // Determine which of the daycare mons is the mother and father of the egg. - // The 0th index of the parentSlots array is considered the mother slot, and the - // 1st index is the father slot. - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { species[i] = GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SPECIES); if (species[i] == SPECIES_DITTO) @@ -783,11 +779,11 @@ static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parent } eggSpecies = GetEggSpecies(species[parentSlots[0]]); - if (eggSpecies == SPECIES_NIDORAN_F && daycare->offspringPersonality & 0x8000) + if (eggSpecies == SPECIES_NIDORAN_F && daycare->offspringPersonality & EGG_GENDER_MALE) { eggSpecies = SPECIES_NIDORAN_M; } - if (eggSpecies == SPECIES_ILLUMISE && daycare->offspringPersonality & 0x8000) + if (eggSpecies == SPECIES_ILLUMISE && daycare->offspringPersonality & EGG_GENDER_MALE) { eggSpecies = SPECIES_VOLBEAT; } @@ -795,19 +791,19 @@ static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parent // Make Ditto the "mother" slot if the other daycare mon is male. if (species[parentSlots[1]] == SPECIES_DITTO && GetBoxMonGender(&daycare->mons[parentSlots[0]].mon) != MON_FEMALE) { - u8 temp = parentSlots[1]; + u8 ditto = parentSlots[1]; parentSlots[1] = parentSlots[0]; - parentSlots[0] = temp; + parentSlots[0] = ditto; } return eggSpecies; } -static void _GiveEggFromDaycare(struct DayCare *daycare) // give_egg +static void _GiveEggFromDaycare(struct DayCare *daycare) { struct Pokemon egg; u16 species; - u8 parentSlots[2]; // 0th index is "mother" daycare slot, 1st is "father" + u8 parentSlots[DAYCARE_MON_COUNT]; bool8 isEgg; species = DetermineEggSpeciesAndParentSlots(daycare, parentSlots); @@ -835,7 +831,7 @@ void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation) u8 metLocation; u8 isEgg; - CreateMon(mon, species, EGG_HATCH_LEVEL, 0x20, FALSE, 0, OT_ID_PLAYER_ID, 0); + CreateMon(mon, species, EGG_HATCH_LEVEL, 32, FALSE, 0, OT_ID_PLAYER_ID, 0); metLevel = 0; ball = ITEM_POKE_BALL; language = LANGUAGE_JAPANESE; @@ -846,7 +842,7 @@ void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation) SetMonData(mon, MON_DATA_LANGUAGE, &language); if (setHotSpringsLocation) { - metLocation = 253; // hot springs; see PokemonSummaryScreen_PrintEggTrainerMemo + metLocation = METLOC_SPECIAL_EGG; SetMonData(mon, MON_DATA_MET_LOCATION, &metLocation); } @@ -862,7 +858,7 @@ static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare * u8 language; personality = daycare->offspringPersonality; - CreateMon(mon, species, EGG_HATCH_LEVEL, 0x20, TRUE, personality, OT_ID_PLAYER_ID, 0); + CreateMon(mon, species, EGG_HATCH_LEVEL, 32, TRUE, personality, OT_ID_PLAYER_ID, 0); metLevel = 0; ball = ITEM_POKE_BALL; language = LANGUAGE_JAPANESE; @@ -878,7 +874,7 @@ void GiveEggFromDaycare(void) _GiveEggFromDaycare(&gSaveBlock1Ptr->daycare); } -static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) +static bool8 TryProduceOrHatchEgg(struct DayCare *daycare) { u32 i, validEggs = 0; @@ -888,15 +884,16 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) daycare->mons[i].steps++, validEggs++; } - // try to trigger poke sex - if (daycare->offspringPersonality == 0 && validEggs == 2 && (daycare->mons[1].steps & 0xFF) == 0xFF) + // Check if an egg should be produced + if (daycare->offspringPersonality == 0 && validEggs == DAYCARE_MON_COUNT && (daycare->mons[1].steps & 0xFF) == 0xFF) { - u8 loveScore = GetDaycareCompatibilityScore(daycare); - if (loveScore > (Random() * 100u) / USHRT_MAX) + u8 compatability = GetDaycareCompatibilityScore(daycare); + if (compatability > (Random() * 100u) / USHRT_MAX) TriggerPendingDaycareEgg(); } - if (++daycare->stepCounter == 255) // hatch an egg + // Hatch Egg + if (++daycare->stepCounter == 255) { u32 steps; u8 toSub = GetEggStepsToSubtract(); @@ -909,7 +906,7 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) continue; steps = GetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP); - if (steps != 0) // subtract needed steps + if (steps != 0) { if (steps >= toSub) steps -= toSub; @@ -918,7 +915,7 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) SetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP, &steps); } - else // hatch the egg + else { gSpecialVar_0x8004 = i; return TRUE; @@ -926,12 +923,12 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) } } - return FALSE; // no hatching + return FALSE; } bool8 ShouldEggHatch(void) { - return _DoEggActions_CheckHatch(&gSaveBlock1Ptr->daycare); + return TryProduceOrHatchEgg(&gSaveBlock1Ptr->daycare); } static bool8 IsEggPending(struct DayCare *daycare) @@ -947,20 +944,20 @@ static void _GetDaycareMonNicknames(struct DayCare *daycare) u8 text[12]; if (GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) != 0) { - GetBoxMonNick(&daycare->mons[0].mon, gStringVar1); + GetBoxMonNickname(&daycare->mons[0].mon, gStringVar1); GetBoxMonData(&daycare->mons[0].mon, MON_DATA_OT_NAME, text); StringCopy(gStringVar3, text); } if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != 0) { - GetBoxMonNick(&daycare->mons[1].mon, gStringVar2); + GetBoxMonNickname(&daycare->mons[1].mon, gStringVar2); } } -u16 GetSelectedMonNickAndSpecies(void) +u16 GetSelectedMonNicknameAndSpecies(void) { - GetBoxMonNick(&gPlayerParty[GetCursorSelectionMonId()].box, gStringVar1); + GetBoxMonNickname(&gPlayerParty[GetCursorSelectionMonId()].box, gStringVar1); return GetBoxMonData(&gPlayerParty[GetCursorSelectionMonId()].box, MON_DATA_SPECIES); } @@ -971,26 +968,19 @@ void GetDaycareMonNicknames(void) u8 GetDaycareState(void) { - // The daycare can be in 4 possible states: - // 0: default state--no deposited mons, no egg - // 1: there is an egg waiting for the player to pick it up - // 2: there is a single pokemon in the daycare - // 3: there are two pokemon in the daycare, no egg - u8 numMons; if (IsEggPending(&gSaveBlock1Ptr->daycare)) { - // There is an Egg waiting for the player. - return 1; + return DAYCARE_EGG_WAITING; } numMons = CountPokemonInDaycare(&gSaveBlock1Ptr->daycare); if (numMons != 0) { - return numMons + 1; + return numMons + 1; // DAYCARE_ONE_MON or DAYCARE_TWO_MONS } - return 0; + return DAYCARE_NO_MONS; } static u8 GetDaycarePokemonCount(void) @@ -1002,15 +992,15 @@ static u8 GetDaycarePokemonCount(void) return 0; } +// Determine if the two given egg group lists contain any of the +// same egg groups. static bool8 EggGroupsOverlap(u16 *eggGroups1, u16 *eggGroups2) { - // Determine if the two given egg group lists contain any of the - // same egg groups. s32 i, j; - for (i = 0; i < 2; i++) + for (i = 0; i < EGG_GROUPS_PER_MON; i++) { - for (j = 0; j < 2; j++) + for (j = 0; j < EGG_GROUPS_PER_MON; j++) { if (eggGroups1[i] == eggGroups2[j]) return TRUE; @@ -1023,12 +1013,12 @@ static bool8 EggGroupsOverlap(u16 *eggGroups1, u16 *eggGroups2) static u8 GetDaycareCompatibilityScore(struct DayCare *daycare) { u32 i; - u16 eggGroups[2][2]; - u16 species[2]; - u32 trainerIds[2]; - u32 genders[2]; + u16 eggGroups[DAYCARE_MON_COUNT][EGG_GROUPS_PER_MON]; + u16 species[DAYCARE_MON_COUNT]; + u32 trainerIds[DAYCARE_MON_COUNT]; + u32 genders[DAYCARE_MON_COUNT]; - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { u32 personality; @@ -1042,41 +1032,42 @@ static u8 GetDaycareCompatibilityScore(struct DayCare *daycare) // check unbreedable egg group if (eggGroups[0][0] == EGG_GROUP_UNDISCOVERED || eggGroups[1][0] == EGG_GROUP_UNDISCOVERED) - return 0; + return PARENTS_INCOMPATIBLE; // two Ditto can't breed if (eggGroups[0][0] == EGG_GROUP_DITTO && eggGroups[1][0] == EGG_GROUP_DITTO) - return 0; + return PARENTS_INCOMPATIBLE; - // now that we checked, one ditto can breed with any other mon + // one parent is Ditto if (eggGroups[0][0] == EGG_GROUP_DITTO || eggGroups[1][0] == EGG_GROUP_DITTO) { - if (trainerIds[0] == trainerIds[1]) // same trainer - return 20; + if (trainerIds[0] == trainerIds[1]) + return PARENTS_LOW_COMPATIBILITY; - return 50; // different trainers, more chance of poke sex + return PARENTS_MED_COMPATABILITY; } + // neither parent is Ditto else { - if (genders[0] == genders[1]) // no homo - return 0; + if (genders[0] == genders[1]) + return PARENTS_INCOMPATIBLE; if (genders[0] == MON_GENDERLESS || genders[1] == MON_GENDERLESS) - return 0; - if (!EggGroupsOverlap(eggGroups[0], eggGroups[1])) // not compatible with each other - return 0; + return PARENTS_INCOMPATIBLE; + if (!EggGroupsOverlap(eggGroups[0], eggGroups[1])) + return PARENTS_INCOMPATIBLE; - if (species[0] == species[1]) // same species + if (species[0] == species[1]) { - if (trainerIds[0] == trainerIds[1]) // same species and trainer - return 50; + if (trainerIds[0] == trainerIds[1]) + return PARENTS_MED_COMPATABILITY; // same species, same trainer - return 70; // different trainers, same species + return PARENTS_MAX_COMPATABILITY; // same species, different trainers } else { - if (trainerIds[0] != trainerIds[1]) // different trainers, different species - return 50; + if (trainerIds[0] != trainerIds[1]) + return PARENTS_MED_COMPATABILITY; // different species, different trainers - return 20; // different species, same trainer + return PARENTS_LOW_COMPATIBILITY; // different species, same trainer } } } @@ -1093,13 +1084,13 @@ void SetDaycareCompatibilityString(void) relationshipScore = GetDaycareCompatibilityScoreFromSave(); whichString = 0; - if (relationshipScore == 0) + if (relationshipScore == PARENTS_INCOMPATIBLE) whichString = 3; - if (relationshipScore == 20) + if (relationshipScore == PARENTS_LOW_COMPATIBILITY) whichString = 2; - if (relationshipScore == 50) + if (relationshipScore == PARENTS_MED_COMPATABILITY) whichString = 1; - if (relationshipScore == 70) + if (relationshipScore == PARENTS_MAX_COMPATABILITY) whichString = 0; StringCopy(gStringVar4, sCompatibilityMessages[whichString]); @@ -1108,20 +1099,20 @@ void SetDaycareCompatibilityString(void) bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio) { u8 i; - u8 symbolsCount[2]; // male, female - symbolsCount[0] = symbolsCount[1] = 0; + u8 symbolsCount[GENDER_COUNT]; + symbolsCount[MALE] = symbolsCount[FEMALE] = 0; for (i = 0; name[i] != EOS; i++) { if (name[i] == CHAR_MALE) - symbolsCount[0]++; + symbolsCount[MALE]++; if (name[i] == CHAR_FEMALE) - symbolsCount[1]++; + symbolsCount[FEMALE]++; } - if (genderRatio == MON_MALE && symbolsCount[0] != 0 && symbolsCount[1] == 0) + if (genderRatio == MON_MALE && symbolsCount[MALE] != 0 && symbolsCount[FEMALE] == 0) return TRUE; - if (genderRatio == MON_FEMALE && symbolsCount[1] != 0 && symbolsCount[0] == 0) + if (genderRatio == MON_FEMALE && symbolsCount[FEMALE] != 0 && symbolsCount[MALE] == 0) return TRUE; return FALSE; @@ -1150,13 +1141,13 @@ static u8 *AppendMonGenderSymbol(u8 *name, struct BoxPokemon *boxMon) static void GetDaycareLevelMenuText(struct DayCare *daycare, u8 *dest) { - u8 monNames[2][20]; + u8 monNames[DAYCARE_MON_COUNT][20]; u8 i; *dest = EOS; - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { - GetBoxMonNick(&daycare->mons[i].mon, monNames[i]); + GetBoxMonNickname(&daycare->mons[i].mon, monNames[i]); AppendMonGenderSymbol(monNames[i], &daycare->mons[i].mon); } @@ -1174,7 +1165,7 @@ static void GetDaycareLevelMenuLevelText(struct DayCare *daycare, u8 *dest) u8 text[20]; *dest = EOS; - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { StringAppend(dest, gText_Lv); level = GetLevelAfterDaycareSteps(&daycare->mons[i].mon, daycare->mons[i].steps); @@ -1206,13 +1197,13 @@ static void DaycareAddTextPrinter(u8 windowId, const u8 *text, u32 x, u32 y) AddTextPrinter(&printer, 0xFF, NULL); } -static void DaycarePrintMonNick(struct DayCare *daycare, u8 windowId, u32 daycareSlotId, u32 y) +static void DaycarePrintMonNickname(struct DayCare *daycare, u8 windowId, u32 daycareSlotId, u32 y) { - u8 nick[POKEMON_NAME_LENGTH * 2]; + u8 nickname[POKEMON_NAME_LENGTH * 2]; - GetBoxMonNick(&daycare->mons[daycareSlotId].mon, nick); - AppendMonGenderSymbol(nick, &daycare->mons[daycareSlotId].mon); - DaycareAddTextPrinter(windowId, nick, 8, y); + GetBoxMonNickname(&daycare->mons[daycareSlotId].mon, nickname); + AppendMonGenderSymbol(nickname, &daycare->mons[daycareSlotId].mon); + DaycareAddTextPrinter(windowId, nickname, 8, y); } static void DaycarePrintMonLvl(struct DayCare *daycare, u8 windowId, u32 daycareSlotId, u32 y) @@ -1234,7 +1225,7 @@ static void DaycarePrintMonInfo(u8 windowId, s32 daycareSlotId, u8 y) { if (daycareSlotId < (unsigned) DAYCARE_MON_COUNT) { - DaycarePrintMonNick(&gSaveBlock1Ptr->daycare, windowId, daycareSlotId, y); + DaycarePrintMonNickname(&gSaveBlock1Ptr->daycare, windowId, daycareSlotId, y); DaycarePrintMonLvl(&gSaveBlock1Ptr->daycare, windowId, daycareSlotId, y); } } @@ -1254,8 +1245,8 @@ static void Task_HandleDaycareLevelMenuInput(u8 taskId) case 1: gSpecialVar_Result = input; break; - case 5: - gSpecialVar_Result = 2; + case DAYCARE_LEVEL_MENU_EXIT: + gSpecialVar_Result = DAYCARE_EXITED_LEVEL_MENU; break; } DestroyListMenuTask(gTasks[taskId].tMenuListTaskId, NULL, NULL); @@ -1266,7 +1257,7 @@ static void Task_HandleDaycareLevelMenuInput(u8 taskId) } else if (gMain.newKeys & B_BUTTON) { - gSpecialVar_Result = 2; + gSpecialVar_Result = DAYCARE_EXITED_LEVEL_MENU; DestroyListMenuTask(gTasks[taskId].tMenuListTaskId, NULL, NULL); ClearStdWindowAndFrame(gTasks[taskId].tWindowId, TRUE); RemoveWindow(gTasks[taskId].tWindowId); @@ -1301,6 +1292,6 @@ void ShowDaycareLevelMenu(void) void ChooseSendDaycareMon(void) { - sub_81B9328(); + ChooseMonForDaycare(); gMain.savedCallback = CB2_ReturnToField; } diff --git a/src/decompress.c b/src/decompress.c index 46e4ef6149..5e85e065f0 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "data.h" #include "decompress.h" #include "pokemon.h" diff --git a/src/decoration.c b/src/decoration.c index 974859c884..2a8fe973d4 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "decompress.h" #include "decoration.h" #include "decoration_inventory.h" @@ -14,6 +14,7 @@ #include "graphics.h" #include "international_string_util.h" #include "item_icon.h" +#include "item_menu.h" #include "list_menu.h" #include "main.h" #include "menu.h" @@ -40,6 +41,7 @@ #define PLACE_DECORATION_SELECTOR_TAG 0xbe5 #define PLACE_DECORATION_PLAYER_TAG 0x008 +#define NUM_DECORATION_FLAGS (FLAG_DECORATION_14 - FLAG_DECORATION_0) struct DecorationItemsMenu { @@ -69,8 +71,8 @@ struct DecorRearrangementDataBuffer EWRAM_DATA u8 *gCurDecorationItems = NULL; EWRAM_DATA static u8 sDecorationActionsCursorPos = 0; EWRAM_DATA static u8 sNumOwnedDecorationsInCurCategory = 0; -EWRAM_DATA static u8 sSecretBaseItemsIndicesBuffer[16] = {}; -EWRAM_DATA static u8 sPlayerRoomItemsIndicesBuffer[12] = {}; +EWRAM_DATA static u8 sSecretBaseItemsIndicesBuffer[DECOR_MAX_SECRET_BASE] = {}; +EWRAM_DATA static u8 sPlayerRoomItemsIndicesBuffer[DECOR_MAX_PLAYERS_HOUSE] = {}; EWRAM_DATA static u16 sDecorationsCursorPos = 0; EWRAM_DATA static u16 sDecorationsScrollOffset = 0; EWRAM_DATA u8 gCurDecorationIndex = 0; @@ -86,7 +88,7 @@ EWRAM_DATA static u8 sDecor_CameraSpriteObjectIdx1 = 0; EWRAM_DATA static u8 sDecor_CameraSpriteObjectIdx2 = 0; EWRAM_DATA static u8 sDecorationLastDirectionMoved = 0; EWRAM_DATA static struct OamData sDecorSelectorOam = {}; -EWRAM_DATA static struct DecorRearrangementDataBuffer sDecorRearrangementDataBuffer[16] = {}; +EWRAM_DATA static struct DecorRearrangementDataBuffer sDecorRearrangementDataBuffer[DECOR_MAX_SECRET_BASE] = {}; EWRAM_DATA static u8 sCurDecorSelectedInRearrangement = 0; static void HandleDecorationActionsMenuInput(u8 taskId); @@ -128,34 +130,34 @@ void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphic void sub_812826C(u8 taskId); void sub_81283BC(u8 taskId); void sub_8128414(u8 taskId); -void sub_8128950(u8 taskId); -void sub_81289D0(u8 taskId); -void sub_81289F0(u8 taskId); +void AttemptPlaceDecoration(u8 taskId); +void PlaceDecorationPrompt(u8 taskId); +void PlaceDecoration(u8 taskId); void sub_8128AAC(u8 taskId); -void sub_8128B80(u8 taskId); -void sub_8128BA0(u8 taskId); +void CancelDecoratingPrompt(u8 taskId); +void CancelDecorating(u8 taskId); void sub_8128BBC(u8 taskId); void c1_overworld_prev_quest(u8 taskId); void sub_8128CD4(void); void sub_8128DE0(void); -void sub_8128FD8(u8 taskId); -void sub_8129020(u8 taskId); +void ContinueDecorating(u8 taskId); +void CantPlaceDecorationPrompt(u8 taskId); void sub_81292D0(struct Sprite *sprite); void sub_81292E8(struct Sprite *sprite); u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphicsDataBuffer *data, u8 decor); const u32 *GetDecorationIconPicOrPalette(u16 decor, u8 mode); bool8 sub_81299AC(u8 taskId); void sub_8129ABC(u8 taskId); -void sub_8129B34(u8 taskId); +void ContinuePuttingAwayDecorations(u8 taskId); void sub_8129BCC(u8 taskId); void sub_8129BF8(u8 taskId); void sub_8129C74(u8 taskId); -void sub_8129D64(u8 taskId); +void ContinuePuttingAwayDecorationsPrompt(u8 taskId); void sub_812A0E8(u8 taskId); -void sub_812A1A0(u8 taskId); -void sub_812A1C0(u8 taskId); -void sub_812A1F0(u8 taskId); -void sub_812A210(u8 taskId); +void ReturnDecorationPrompt(u8 taskId); +void PutAwayDecoration(u8 taskId); +void StopPuttingAwayDecorationsPrompt(u8 taskId); +void StopPuttingAwayDecorations(u8 taskId); void sub_812A22C(u8 taskId); void sub_812A25C(u8 taskId); void sub_812A334(void); @@ -163,8 +165,8 @@ void sub_812A36C(struct Sprite *sprite); void sub_812A39C(void); void sub_812A3C8(void); void sub_812A3D4(u8 taskId); -void sub_812A458(u8 taskId); -void sub_812A478(u8 taskId); +void TossDecorationPrompt(u8 taskId); +void TossDecoration(u8 taskId); #include "data/decoration/tiles.h" #include "data/decoration/description.h" @@ -344,16 +346,16 @@ const struct SpritePalette gUnknown_085A72BC = .tag = PLACE_DECORATION_SELECTOR_TAG, }; -const struct YesNoFuncTable gUnknown_085A72C4 = +const struct YesNoFuncTable sPlaceDecorationYesNoFunctions = { - .yesFunc = sub_81289F0, - .noFunc = sub_8128FD8, + .yesFunc = PlaceDecoration, + .noFunc = ContinueDecorating, }; -const struct YesNoFuncTable gUnknown_085A72CC = +const struct YesNoFuncTable sCancelDecoratingYesNoFunctions = { - .yesFunc = sub_8128BA0, - .noFunc = sub_8128FD8, + .yesFunc = CancelDecorating, + .noFunc = ContinueDecorating, }; const struct YesNoFuncTable gUnknown_085A72D4[] = @@ -390,16 +392,16 @@ const u16 gUnknown_085A7308[] = INCBIN_U16("graphics/decorations/unk_85a7308.gba const u16 gUnknown_085A7328[] = INCBIN_U16("graphics/decorations/unk_85a7328.gbapal"); -const struct YesNoFuncTable gUnknown_085A7348 = +const struct YesNoFuncTable sReturnDecorationYesNoFunctions = { - .yesFunc = sub_812A1C0, - .noFunc = sub_8129B34, + .yesFunc = PutAwayDecoration, + .noFunc = ContinuePuttingAwayDecorations, }; -const struct YesNoFuncTable gUnknown_085A7350 = +const struct YesNoFuncTable sStopPuttingAwayDecorationsYesNoFunctions = { - .yesFunc = sub_812A210, - .noFunc = sub_8129B34, + .yesFunc = StopPuttingAwayDecorations, + .noFunc = ContinuePuttingAwayDecorations, }; const u8 gUnknown_085A7358[] = INCBIN_U8("graphics/misc/decoration_unk_85a7358.4bpp"); @@ -458,9 +460,9 @@ const struct SpriteTemplate gUnknown_085A7404 = sub_812A36C }; -const struct YesNoFuncTable gUnknown_085A741C = +const struct YesNoFuncTable sTossDecorationYesNoFunctions = { - .yesFunc = sub_812A478, + .yesFunc = TossDecoration, .noFunc = sub_8127A30, }; @@ -607,7 +609,7 @@ static void DecorationMenuAction_PutAway(u8 taskId) { RemoveDecorationWindow(0); ClearDialogWindowAndFrame(0, 0); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].data[2] = 0; gTasks[taskId].func = sub_8129ABC; } @@ -633,7 +635,7 @@ static void DecorationMenuAction_Cancel(u8 taskId) RemoveDecorationWindow(0); if (!gDecorationContext.isPlayerRoom) { - ScriptContext1_SetupScript(gUnknown_0823B4E8); + ScriptContext1_SetupScript(SecretBase_EventScript_PCCancel); DestroyTask(taskId); } else @@ -1235,12 +1237,12 @@ void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decoration) } } -void sub_8127E18(void) +void SetDecoration(void) { u8 i; u8 j; - for (i = 0; i < 14; i++) + for (i = 0; i < NUM_DECORATION_FLAGS; i++) { if (FlagGet(FLAG_DECORATION_1 + i) == TRUE) { @@ -1291,7 +1293,7 @@ void sub_8127F68(u8 taskId) { if (sub_8127F38() == TRUE) { - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].data[2] = 0; gTasks[taskId].func = sub_8128060; } @@ -1331,7 +1333,7 @@ void sub_8128060(u8 taskId) ConfigureCameraObjectForPlacingDecoration(&sPlaceDecorationGraphicsDataBuffer, gCurDecorationItems[gCurDecorationIndex]); sub_812826C(taskId); SetUpPlacingDecorationPlayerAvatar(taskId, &sPlaceDecorationGraphicsDataBuffer); - pal_fill_black(); + FadeInFromBlack(); gPaletteFade.bufferTransferDisabled = FALSE; gTasks[taskId].data[2] = 2; break; @@ -1339,7 +1341,7 @@ void sub_8128060(u8 taskId) if (IsWeatherNotFadingIn() == TRUE) { gTasks[taskId].data[12] = 0; - sub_8128FD8(taskId); + ContinueDecorating(taskId); } break; } @@ -1427,7 +1429,7 @@ void sub_81283BC(u8 taskId) gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 1; gSprites[sDecor_CameraSpriteObjectIdx2].data[7] = 1; sub_8128DE0(); - sub_8128950(taskId); + AttemptPlaceDecoration(taskId); } void sub_8128414(u8 taskId) @@ -1437,7 +1439,7 @@ void sub_8128414(u8 taskId) gSprites[sDecor_CameraSpriteObjectIdx2].data[7] = 1; sub_8128DE0(); StringExpandPlaceholders(gStringVar4, gText_CancelDecorating); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8128B80); + DisplayItemMessageOnField(taskId, gStringVar4, CancelDecoratingPrompt); } bool8 sub_8128484(u8 behaviorAt, u16 behaviorBy) @@ -1472,7 +1474,7 @@ bool8 sub_81284F4(u16 behaviorAt, const struct Decoration *decoration) return FALSE; } -bool8 sub_812853C(u8 taskId, const struct Decoration *decoration) +bool8 CanPlaceDecoration(u8 taskId, const struct Decoration *decoration) { u8 i; u8 j; @@ -1586,28 +1588,28 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration) return TRUE; } -void sub_8128950(u8 taskId) +void AttemptPlaceDecoration(u8 taskId) { - if (sub_812853C(taskId, &gDecorations[gCurDecorationItems[gCurDecorationIndex]]) == TRUE) + if (CanPlaceDecoration(taskId, &gDecorations[gCurDecorationItems[gCurDecorationIndex]]) == TRUE) { StringExpandPlaceholders(gStringVar4, gText_PlaceItHere); - DisplayItemMessageOnField(taskId, gStringVar4, sub_81289D0); + DisplayItemMessageOnField(taskId, gStringVar4, PlaceDecorationPrompt); } else { PlaySE(SE_HAZURE); StringExpandPlaceholders(gStringVar4, gText_CantBePlacedHere); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8129020); + DisplayItemMessageOnField(taskId, gStringVar4, CantPlaceDecorationPrompt); } } -void sub_81289D0(u8 taskId) +void PlaceDecorationPrompt(u8 taskId) { DisplayYesNoMenuDefaultYes(); - DoYesNoFuncWithChoice(taskId, &gUnknown_085A72C4); + DoYesNoFuncWithChoice(taskId, &sPlaceDecorationYesNoFunctions); } -void sub_81289F0(u8 taskId) +void PlaceDecoration(u8 taskId) { ClearDialogWindowAndFrame(0, 0); sub_8128AAC(taskId); @@ -1619,7 +1621,7 @@ void sub_81289F0(u8 taskId) { sCurDecorMapX = gTasks[taskId].data[0] - 7; sCurDecorMapY = gTasks[taskId].data[1] - 7; - ScriptContext1_SetupScript(EventScript_275D1F); + ScriptContext1_SetupScript(SecretBase_EventScript_SetDecoration); } gSprites[sDecor_CameraSpriteObjectIdx1].pos1.y += 2; @@ -1645,7 +1647,7 @@ void sub_8128AAC(u8 taskId) if (!gDecorationContext.isPlayerRoom) { - for (i = 0; i < 16; i++) + for (i = 0; i < DECOR_MAX_SECRET_BASE; i++) { if (sSecretBaseItemsIndicesBuffer[i] == 0) { @@ -1656,7 +1658,7 @@ void sub_8128AAC(u8 taskId) } else { - for (i = 0; i < 12; i++) + for (i = 0; i < DECOR_MAX_PLAYERS_HOUSE; i++) { if (sPlayerRoomItemsIndicesBuffer[i] == 0) { @@ -1667,13 +1669,13 @@ void sub_8128AAC(u8 taskId) } } -void sub_8128B80(u8 taskId) +void CancelDecoratingPrompt(u8 taskId) { DisplayYesNoMenuDefaultYes(); - DoYesNoFuncWithChoice(taskId, &gUnknown_085A72CC); + DoYesNoFuncWithChoice(taskId, &sCancelDecoratingYesNoFunctions); } -void sub_8128BA0(u8 taskId) +void CancelDecorating(u8 taskId) { ClearDialogWindowAndFrame(0, 0); sub_8128BBC(taskId); @@ -1681,7 +1683,7 @@ void sub_8128BA0(u8 taskId) void sub_8128BBC(u8 taskId) { - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].data[2] = 0; gTasks[taskId].func = c1_overworld_prev_quest; } @@ -1718,7 +1720,7 @@ void sub_8128C64(u8 taskId) data[2]++; break; case 1: - ScriptContext1_SetupScript(EventScript_275D0C); + ScriptContext1_SetupScript(SecretBase_EventScript_InitDecorations); data[2]++; break; case 2: @@ -1737,7 +1739,7 @@ void sub_8128CD4(void) u8 taskId; ScriptContext2_Enable(); - pal_fill_black(); + FadeInFromBlack(); taskId = CreateTask(sub_8128C64, 8); sub_8127580(taskId); gTasks[taskId].data[2] = 0; @@ -1857,7 +1859,7 @@ void sub_8128E18(u8 taskId) } } -void sub_8128FD8(u8 taskId) +void ContinueDecorating(u8 taskId) { ClearDialogWindowAndFrame(0, 1); gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 0; @@ -1865,10 +1867,10 @@ void sub_8128FD8(u8 taskId) gTasks[taskId].func = sub_8128E18; } -void sub_8129020(u8 taskId) +void CantPlaceDecorationPrompt(u8 taskId) { if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) - sub_8128FD8(taskId); + ContinueDecorating(taskId); } void sub_8129048(struct PlaceDecorationGraphicsDataBuffer *data) @@ -2043,7 +2045,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) @@ -2095,7 +2097,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) @@ -2152,7 +2154,8 @@ void sub_8129708(void) } } -void sub_81297AC(void) +// Unused +void GetEventObjectLocalIdByFlag(void) { u8 i; @@ -2206,7 +2209,7 @@ void sub_81298EC(u8 taskId) case 1: if (!gPaletteFade.active) { DrawWholeMapView(); - ScriptContext1_SetupScript(EventScript_275D2E); + ScriptContext1_SetupScript(SecretBase_EventScript_PutAwayDecoration); ClearDialogWindowAndFrame(0, 1); gTasks[taskId].data[2] = 2; } @@ -2214,14 +2217,14 @@ void sub_81298EC(u8 taskId) case 2: ScriptContext2_Enable(); IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId); - pal_fill_black(); + FadeInFromBlack(); gTasks[taskId].data[2] = 3; break; case 3: if (IsWeatherNotFadingIn() == TRUE) { StringExpandPlaceholders(gStringVar4, gText_DecorationReturnedToPC); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64); + DisplayItemMessageOnField(taskId, gStringVar4, ContinuePuttingAwayDecorationsPrompt); if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE) TV_PutSecretBaseVisitOnTheAir(); } @@ -2277,20 +2280,20 @@ void sub_8129ABC(u8 taskId) break; case 1: SetUpPuttingAwayDecorationPlayerAvatar(); - pal_fill_black(); + FadeInFromBlack(); data[2] = 2; break; case 2: if (IsWeatherNotFadingIn() == TRUE) { data[12] = 1; - sub_8129B34(taskId); + ContinuePuttingAwayDecorations(taskId); } break; } } -void sub_8129B34(u8 taskId) +void ContinuePuttingAwayDecorations(u8 taskId) { ClearDialogWindowAndFrame(0, 1); gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 0; @@ -2316,7 +2319,7 @@ void sub_8129BF8(u8 taskId) gSprites[sDecor_CameraSpriteObjectIdx1].invisible = FALSE; gSprites[sDecor_CameraSpriteObjectIdx1].callback = SpriteCallbackDummy; StringExpandPlaceholders(gStringVar4, gText_StopPuttingAwayDecorations); - DisplayItemMessageOnField(taskId, gStringVar4, sub_812A1F0); + DisplayItemMessageOnField(taskId, gStringVar4, StopPuttingAwayDecorationsPrompt); } void sub_8129C74(u8 taskId) @@ -2328,7 +2331,7 @@ void sub_8129C74(u8 taskId) if (sCurDecorSelectedInRearrangement != 0) { StringExpandPlaceholders(gStringVar4, gText_ReturnDecorationToPC); - DisplayItemMessageOnField(taskId, gStringVar4, sub_812A1A0); + DisplayItemMessageOnField(taskId, gStringVar4, ReturnDecorationPrompt); } else { @@ -2339,20 +2342,20 @@ void sub_8129C74(u8 taskId) gSprites[sDecor_CameraSpriteObjectIdx1].invisible = FALSE; gSprites[sDecor_CameraSpriteObjectIdx1].callback = SpriteCallbackDummy; StringExpandPlaceholders(gStringVar4, gText_StopPuttingAwayDecorations); - DisplayItemMessageOnField(taskId, gStringVar4, sub_812A1F0); + DisplayItemMessageOnField(taskId, gStringVar4, StopPuttingAwayDecorationsPrompt); } else { StringExpandPlaceholders(gStringVar4, gText_NoDecorationHere); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64); + DisplayItemMessageOnField(taskId, gStringVar4, ContinuePuttingAwayDecorationsPrompt); } } } -void sub_8129D64(u8 taskId) +void ContinuePuttingAwayDecorationsPrompt(u8 taskId) { if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) - sub_8129B34(taskId); + ContinuePuttingAwayDecorations(taskId); } void sub_8129D8C(u8 decor, struct DecorRearrangementDataBuffer *data) @@ -2542,26 +2545,26 @@ void sub_812A0E8(u8 taskId) } } -void sub_812A1A0(u8 taskId) +void ReturnDecorationPrompt(u8 taskId) { DisplayYesNoMenuDefaultYes(); - DoYesNoFuncWithChoice(taskId, &gUnknown_085A7348); + DoYesNoFuncWithChoice(taskId, &sReturnDecorationYesNoFunctions); } -void sub_812A1C0(u8 taskId) +void PutAwayDecoration(u8 taskId) { - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].data[2] = 0; gTasks[taskId].func = sub_81298EC; } -void sub_812A1F0(u8 taskId) +void StopPuttingAwayDecorationsPrompt(u8 taskId) { DisplayYesNoMenuDefaultYes(); - DoYesNoFuncWithChoice(taskId, &gUnknown_085A7350); + DoYesNoFuncWithChoice(taskId, &sStopPuttingAwayDecorationsYesNoFunctions); } -void sub_812A210(u8 taskId) +void StopPuttingAwayDecorations(u8 taskId) { ClearDialogWindowAndFrame(0, 0); sub_812A22C(taskId); @@ -2569,7 +2572,7 @@ void sub_812A210(u8 taskId) void sub_812A22C(u8 taskId) { - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].data[2] = 0; gTasks[taskId].func = sub_812A25C; } @@ -2604,7 +2607,7 @@ void sub_812A2C4(u8 taskId) data[2]++; break; case 1: - ScriptContext1_SetupScript(EventScript_275D0C); + ScriptContext1_SetupScript(SecretBase_EventScript_InitDecorations); data[2]++; break; case 2: @@ -2622,7 +2625,7 @@ void sub_812A334(void) { u8 taskId; - pal_fill_black(); + FadeInFromBlack(); DrawDialogueFrame(0, 1); InitDecorationActionsWindow(); taskId = CreateTask(sub_812A2C4, 8); @@ -2658,7 +2661,7 @@ void sub_812A3D4(u8 taskId) { StringCopy(gStringVar1, gDecorations[gCurDecorationItems[gCurDecorationIndex]].name); StringExpandPlaceholders(gStringVar4, gText_DecorationWillBeDiscarded); - DisplayItemMessageOnField(taskId, gStringVar4, sub_812A458); + DisplayItemMessageOnField(taskId, gStringVar4, TossDecorationPrompt); } else { @@ -2667,13 +2670,13 @@ void sub_812A3D4(u8 taskId) } } -void sub_812A458(u8 taskId) +void TossDecorationPrompt(u8 taskId) { DisplayYesNoMenuDefaultYes(); - DoYesNoFuncWithChoice(taskId, &gUnknown_085A741C); + DoYesNoFuncWithChoice(taskId, &sTossDecorationYesNoFunctions); } -void sub_812A478(u8 taskId) +void TossDecoration(u8 taskId) { gCurDecorationItems[gCurDecorationIndex] = DECOR_NONE; sNumOwnedDecorationsInCurCategory = GetNumOwnedDecorationsInCategory(sCurDecorationCategory); diff --git a/src/dewford_trend.c b/src/dewford_trend.c index ee310af04a..9c5e69d993 100644 --- a/src/dewford_trend.c +++ b/src/dewford_trend.c @@ -3,7 +3,7 @@ #include "easy_chat.h" #include "event_data.h" #include "link.h" -#include "alloc.h" +#include "malloc.h" #include "random.h" #include "text.h" #include "tv.h" @@ -25,12 +25,12 @@ void InitDewfordTrend(void) for (i = 0; i < 5; i++) { - gSaveBlock1Ptr->easyChatPairs[i].words[0] = sub_811EE38(EC_GROUP_CONDITIONS); + gSaveBlock1Ptr->easyChatPairs[i].words[0] = GetRandomEasyChatWordFromGroup(EC_GROUP_CONDITIONS); if (Random() & 1) - gSaveBlock1Ptr->easyChatPairs[i].words[1] = sub_811EE38(EC_GROUP_LIFESTYLE); + gSaveBlock1Ptr->easyChatPairs[i].words[1] = GetRandomEasyChatWordFromGroup(EC_GROUP_LIFESTYLE); else - gSaveBlock1Ptr->easyChatPairs[i].words[1] = sub_811EE38(EC_GROUP_HOBBIES); + gSaveBlock1Ptr->easyChatPairs[i].words[1] = GetRandomEasyChatWordFromGroup(EC_GROUP_HOBBIES); gSaveBlock1Ptr->easyChatPairs[i].unk1_6 = Random() & 1; sub_8122B28(&(gSaveBlock1Ptr->easyChatPairs[i])); diff --git a/src/diploma.c b/src/diploma.c index 8e0901fa81..3c03c057f9 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -5,7 +5,7 @@ #include "gpu_regs.h" #include "scanline_effect.h" #include "task.h" -#include "alloc.h" +#include "malloc.h" #include "decompress.h" #include "bg.h" #include "window.h" diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index 714b10ef6b..958922067d 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "bg.h" #include "dodrio_berry_picking.h" #include "dynamic_placeholder_text_util.h" @@ -245,7 +245,7 @@ static u32 sub_8027DFC(u32 arg0); static u32 IncrementWithLimit(u32 arg0, u32 arg1); static u32 Min(u32 arg0, u32 arg1); static u32 sub_80276C0(u8 arg0); -static void sub_8027ACC(u8 taskId); +static void Task_ShowDodrioBerryPickingRecords(u8 taskId); static void sub_8029314(u8 taskId); static void sub_8027BEC(u8 windowId, s32 width); static void nullsub_15(struct Sprite *sprite); @@ -2580,7 +2580,7 @@ static u8 sub_8027A48(u8 id) return gUnknown_02022C98->unk34[id]; } -void sub_8027A5C(void) +void IsDodrioInParty(void) { int i; for (i = 0; i < PARTY_SIZE; i++) @@ -2588,18 +2588,18 @@ void sub_8027A5C(void) if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_HAS_SPECIES) && GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_DODRIO) { - gSpecialVar_Result = 1; + gSpecialVar_Result = TRUE; return; } } - gSpecialVar_Result = 0; + gSpecialVar_Result = FALSE; } -void sub_8027AAC(void) +void ShowDodrioBerryPickingRecords(void) { - u8 taskId = CreateTask(sub_8027ACC, 0); - sub_8027ACC(taskId); + u8 taskId = CreateTask(Task_ShowDodrioBerryPickingRecords, 0); + Task_ShowDodrioBerryPickingRecords(taskId); } // Data related to printing saved results. @@ -2621,7 +2621,7 @@ ALIGNED(4) static const u8 gUnknown_082F7B44[][2] = {{25}, {41}, {57}}; static const u8 gUnknown_082F7B4A[][2] = {{25}, {41}, {73}}; -static void sub_8027ACC(u8 taskId) +static void Task_ShowDodrioBerryPickingRecords(u8 taskId) { struct WindowTemplate window; s32 i, width, widthCurr; @@ -2704,17 +2704,17 @@ static const u16 gUnknown_082F7B50[][4] = {9999, 9999, 9999, 0}, }; -static const u8 gUnknown_082F7B78[] = _("あいうえおかき"); -static const u8 gUnknown_082F7B80[] = _("ABCDEFG"); -static const u8 gUnknown_082F7B88[] = _("0123456"); +static const u8 sJPText_Vowels[] = _("あいうえおかき"); +static const u8 sText_ABCDEFG[] = _("ABCDEFG"); +static const u8 sText_0123456[] = _("0123456"); -static const u8 *const gUnknown_082F7B90[] = +static const u8 *const sPlaceholderPlayerNames[] = { - gUnknown_082F7B78, - gUnknown_082F7B78, - gUnknown_082F7B78, - gUnknown_082F7B80, - gUnknown_082F7B88 + sJPText_Vowels, + sJPText_Vowels, + sJPText_Vowels, + sText_ABCDEFG, + sText_0123456 }; static void sub_8027D20(void) @@ -2726,8 +2726,8 @@ static void sub_8027D38(void) { u8 i, playerId; - for (playerId = gUnknown_02022C98->unk24; playerId < 5; playerId++) - StringCopy(gLinkPlayers[playerId].name, gUnknown_082F7B90[playerId]); + for (playerId = gUnknown_02022C98->unk24; playerId < ARRAY_COUNT(sPlaceholderPlayerNames); playerId++) + StringCopy(gLinkPlayers[playerId].name, sPlaceholderPlayerNames[playerId]); gUnknown_02022C98->unk24 = 5; for (i = 0; i < 4; i++) @@ -3555,14 +3555,14 @@ static const u32 gDodrioBerryBgTilemap2Left[] = INCBIN_U32("graphics/link_games/ static const struct OamData sOamData_82FB1E0 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, - .shape = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -3572,14 +3572,14 @@ static const struct OamData sOamData_82FB1E0 = static const struct OamData sOamData_82FB1E8 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, - .shape = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -3589,14 +3589,14 @@ static const struct OamData sOamData_82FB1E8 = static const struct OamData sOamData_82FB1F0 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, - .shape = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -3606,14 +3606,14 @@ static const struct OamData sOamData_82FB1F0 = static const struct OamData sOamData_82FB1F8 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, - .shape = 1, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x32), .tileNum = 0, .priority = 3, .paletteNum = 0, @@ -4386,12 +4386,12 @@ struct WinCoords u8 top; }; -static const u8 gUnknown_082FB380[][3] = +static const u8 sTextColorTable[][3] = { - {1, 2, 3}, - {1, 4, 5}, - {1, 8, 9}, - {1, 6, 7}, + {TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}, + {TEXT_COLOR_WHITE, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED}, + {TEXT_COLOR_WHITE, TEXT_COLOR_BLUE, TEXT_COLOR_LIGHT_BLUE}, + {TEXT_COLOR_WHITE, TEXT_COLOR_GREEN, TEXT_COLOR_LIGHT_GREEN}, }; static const struct WinCoords gUnknown_082FB38C[] = {{12, 6}}; @@ -4525,7 +4525,7 @@ static void sub_8029440(void) if (id == GetMultiplayerId()) colorsId = 2; name = sub_8027660(id); - AddTextPrinterParameterized3(gUnknown_02022CF8->unk3008[i], 1, left, 1, gUnknown_082FB380[colorsId], -1, name); + AddTextPrinterParameterized3(gUnknown_02022CF8->unk3008[i], 1, left, 1, sTextColorTable[colorsId], -1, name); CopyWindowToVram(gUnknown_02022CF8->unk3008[i], 2); window.baseBlock += 0xE; sub_8029174(&window); @@ -4609,7 +4609,7 @@ static void sub_80296A8(u8 playersCount_) if (id == GetMultiplayerId()) colorsId = 2; name = sub_8027660(id); - AddTextPrinterParameterized3(gUnknown_02022CF8->unk3008[1], 1, 28, gUnknown_082FB402[i], gUnknown_082FB380[colorsId], -1, name); + AddTextPrinterParameterized3(gUnknown_02022CF8->unk3008[1], 1, 28, gUnknown_082FB402[i], sTextColorTable[colorsId], -1, name); ConvertIntToDecimalStringN(numString, points, STR_CONV_MODE_LEFT_ALIGN, 7); numWidth = GetStringWidth(1, numString, -1); AddTextPrinterParameterized(gUnknown_02022CF8->unk3008[1], 1, numString, x - numWidth, gUnknown_082FB402[i], -1, NULL); @@ -4653,7 +4653,7 @@ static void sub_802988C(void) colorsId = 2; name = sub_8027660(i); - AddTextPrinterParameterized3(gUnknown_02022CF8->unk3008[1], 1, 0, gUnknown_082FB3F8[i], gUnknown_082FB380[colorsId], -1, name); + AddTextPrinterParameterized3(gUnknown_02022CF8->unk3008[1], 1, 0, gUnknown_082FB3F8[i], sTextColorTable[colorsId], -1, name); for (j = 0; j < 4; j++) { u32 width; @@ -4663,7 +4663,7 @@ static void sub_802988C(void) ConvertIntToDecimalStringN(gStringVar4, result1, STR_CONV_MODE_LEFT_ALIGN, 4); width = GetStringWidth(1, gStringVar4, -1); if (result2 == result1 && result2 != 0) - AddTextPrinterParameterized3(gUnknown_02022CF8->unk3008[1], 1, gUnknown_082FB3F0[j] - width, gUnknown_082FB3F8[i], gUnknown_082FB380[1], -1, gStringVar4); + AddTextPrinterParameterized3(gUnknown_02022CF8->unk3008[1], 1, gUnknown_082FB3F0[j] - width, gUnknown_082FB3F8[i], sTextColorTable[1], -1, gStringVar4); else AddTextPrinterParameterized(gUnknown_02022CF8->unk3008[1], 1, gStringVar4, gUnknown_082FB3F0[j] - width, gUnknown_082FB3F8[i], -1, NULL); } diff --git a/src/dragon.c b/src/dragon.c index befaf52e7d..fa91156d46 100644 --- a/src/dragon.c +++ b/src/dragon.c @@ -36,7 +36,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596E7C = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596E78, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -89,7 +89,7 @@ const struct SpriteTemplate gUnknown_08596EF4 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gUnknown_08596EB4, .images = NULL, .affineAnims = gUnknown_08596EEC, @@ -115,7 +115,7 @@ const struct SpriteTemplate gUnknown_08596F28 = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_FIRE_PLUME, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596F24, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -158,7 +158,7 @@ const struct SpriteTemplate gUnknown_08596F80 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gUnknown_08596F50, .images = NULL, .affineAnims = gUnknown_08596F78, @@ -169,7 +169,7 @@ const struct SpriteTemplate gUnknown_08596F98 = { .tileTag = ANIM_TAG_HOLLOW_ORB, .paletteTag = ANIM_TAG_HOLLOW_ORB, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -180,7 +180,7 @@ const struct SpriteTemplate gUnknown_08596FB0 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596E78, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/easy_chat.c b/src/easy_chat.c index ba54de783b..86349cbd61 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "bard_music.h" #include "bg.h" #include "data.h" @@ -31,6 +31,7 @@ #include "constants/event_objects.h" #include "constants/flags.h" #include "constants/lilycove_lady.h" +#include "constants/mauville_old_man.h" #include "constants/songs.h" #include "constants/species.h" #include "constants/rgb.h" @@ -121,8 +122,8 @@ static void sub_811B768(void); static u8 sub_811B960(u8); static void sub_811B9A0(void); static u8 sub_811BA1C(void); -static int sub_811BF20(void); -static u16 sub_811BF40(void); +static int DidPlayerInputMysteryGiftPhrase(void); +static u16 DidPlayerInputABerryMasterWifePhrase(void); static bool8 sub_811CE94(void); static void sub_811CF64(void); static void sub_811CF04(void); @@ -209,7 +210,7 @@ static void sub_811D830(void); static void sub_811D058(u8, u8, const u8 *, u8, u8, u8, u8, u8, u8); static void sub_811DD84(void); static void sub_811D6F4(void); -static void sub_811D758(void); +static void PrintEasyChatKeyboardText(void); static void sub_811D794(void); static const u8 *GetEasyChatWordGroupName(u8); static void sub_811D864(u8, u8); @@ -220,8 +221,8 @@ static void sub_811E0EC(s8, s8); static void sub_811E1A4(s8, s8); static void sub_811E2DC(struct Sprite *); static void sub_811E34C(u8, u8); -static bool8 sub_811F0F8(void); -static u16 sub_811F108(void); +static bool8 EasyChatIsNationalPokedexEnabled(void); +static u16 GetRandomUnlockedEasyChatPokemon(void); static void sub_811F2D4(void); static void sub_811F46C(void); static u8 *CopyEasyChatWordPadded(u8 *, u16, u16); @@ -531,11 +532,11 @@ static const u16 sMysteryGiftPhrase[] = { }; static const u16 sBerryMasterWifePhrases[][2] = { - {EC_WORD_GREAT, EC_WORD_BATTLE}, - {EC_WORD_CHALLENGE, EC_WORD_CONTEST}, - {EC_WORD_OVERWHELMING, EC_POKEMON(LATIAS)}, - {EC_WORD_COOL, EC_POKEMON(LATIOS)}, - {EC_WORD_SUPER, EC_WORD_HUSTLE}, + [PHRASE_GREAT_BATTLE - 1] = {EC_WORD_GREAT, EC_WORD_BATTLE}, + [PHRASE_CHALLENGE_CONTEST - 1] = {EC_WORD_CHALLENGE, EC_WORD_CONTEST}, + [PHRASE_OVERWHELMING_LATIAS - 1] = {EC_WORD_OVERWHELMING, EC_POKEMON(LATIAS)}, + [PHRASE_COOL_LATIOS - 1] = {EC_WORD_COOL, EC_POKEMON(LATIOS)}, + [PHRASE_SUPER_HUSTLE - 1] = {EC_WORD_SUPER, EC_WORD_HUSTLE}, }; static const u16 sEasyChatTriangleCursorPalette[] = INCBIN_U16("graphics/easy_chat/triangle_cursor.gbapal"); @@ -698,11 +699,12 @@ static const struct WindowTemplate sEasyChatYesNoWindowTemplate = { static const u8 sText_Clear17[] = _("{CLEAR 17}"); -static const u8 *const sUnknown_08597C90[] = { - gUnknown_862B810, - gUnknown_862B832, - gUnknown_862B84B, - gUnknown_862B86C, +static const u8 *const sEasyChatKeyboardText[] = +{ + gText_EasyChatKeyboard_ABCDEFothers, + gText_EasyChatKeyboard_GHIJKL, + gText_EasyChatKeyboard_MNOPQRS, + gText_EasyChatKeyboard_TUVWXYZ, }; static const struct SpriteSheet sEasyChatSpriteSheets[] = { @@ -1262,7 +1264,7 @@ void ShowEasyChatScreen(void) break; case EASY_CHAT_TYPE_BARD_SONG: bard = &gSaveBlock1Ptr->oldMan.bard; - for (i = 0; i < 6; i ++) + for (i = 0; i < BARD_SONG_LENGTH; i ++) bard->temporaryLyrics[i] = bard->songLyrics[i]; words = bard->temporaryLyrics; @@ -1318,7 +1320,7 @@ void ShowEasyChatScreen(void) words = &gSaveBlock1Ptr->lilycoveLady.quiz.correctAnswer; break; case EASY_CHAT_TYPE_APPRENTICE: - words = gSaveBlock2Ptr->apprentices[0].easyChatWords; + words = gSaveBlock2Ptr->apprentices[0].speechWon; break; case EASY_CHAT_TYPE_QUESTIONNAIRE: words = sub_801B058(); @@ -1339,7 +1341,7 @@ static void CB2_QuizLadyQuestion(void) switch (gMain.state) { case 0: - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); break; case 1: if (!gPaletteFade.active) @@ -2596,17 +2598,17 @@ static int FooterHasFourOptions_(void) return FooterHasFourOptions(); } -u8 sub_811BC7C(const u16 *arg0, u8 arg1) +static bool8 IsPhraseDifferentThanPlayerInput(const u16 *phrase, u8 phraseLength) { u8 i; - for (i = 0; i < arg1; i++) + for (i = 0; i < phraseLength; i++) { - if (arg0[i] != sEasyChatScreen->ecWordBuffer[i]) - return 1; + if (phrase[i] != sEasyChatScreen->ecWordBuffer[i]) + return TRUE; } - return 0; + return FALSE; } static u8 GetDisplayedPersonType(void) @@ -2729,7 +2731,7 @@ static void sub_811BE9C(void) FlagSet(FLAG_SYS_CHAT_USED); break; case EASY_CHAT_TYPE_QUESTIONNAIRE: - if (sub_811BF20()) + if (DidPlayerInputMysteryGiftPhrase()) gSpecialVar_0x8004 = 2; else gSpecialVar_0x8004 = 0; @@ -2739,22 +2741,22 @@ static void sub_811BE9C(void) gSpecialVar_0x8004 = sub_81226D8(sEasyChatScreen->ecWordBuffer); break; case EASY_CHAT_TYPE_GOOD_SAYING: - gSpecialVar_0x8004 = sub_811BF40(); + gSpecialVar_0x8004 = DidPlayerInputABerryMasterWifePhrase(); break; } } -static int sub_811BF20(void) +static int DidPlayerInputMysteryGiftPhrase(void) { - return sub_811BC7C(sMysteryGiftPhrase, ARRAY_COUNT(sMysteryGiftPhrase)) == 0; + return !IsPhraseDifferentThanPlayerInput(sMysteryGiftPhrase, ARRAY_COUNT(sMysteryGiftPhrase)); } -static u16 sub_811BF40(void) +static u16 DidPlayerInputABerryMasterWifePhrase(void) { int i; - for (i = 0; i < 5; i++) + for (i = 0; i < (int)ARRAY_COUNT(sBerryMasterWifePhrases); i++) { - if (!sub_811BC7C(sBerryMasterWifePhrases[i], ARRAY_COUNT(*sBerryMasterWifePhrases))) + if (!IsPhraseDifferentThanPlayerInput(sBerryMasterWifePhrases[i], ARRAY_COUNT(*sBerryMasterWifePhrases))) return i + 1; } @@ -3701,7 +3703,7 @@ static void sub_811CFCC(void) xOffset = GetStringCenterAlignXOffset(1, titleText, 144); FillWindowPixelBuffer(0, PIXEL_FILL(0)); - sub_811D058(0, 1, titleText, xOffset, 1, 0xFF, 0, 2, 3); + sub_811D058(0, 1, titleText, xOffset, 1, 0xFF, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY); PutWindowTilemap(0); CopyWindowToVram(0, 3); } @@ -3711,12 +3713,12 @@ void sub_811D028(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, vo AddTextPrinterParameterized(windowId, fontId, str, x, y, speed, callback); } -static void sub_811D058(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, u8 red, u8 green, u8 blue) +static void sub_811D058(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, u8 bg, u8 fg, u8 shadow) { u8 color[3]; - color[0] = red; - color[1] = green; - color[2] = blue; + color[0] = bg; + color[1] = fg; + color[2] = shadow; AddTextPrinterParameterized3(windowId, fontId, left, top, color, speed, str); } @@ -3967,7 +3969,7 @@ static void sub_811D698(u32 arg0) sub_811D6F4(); break; case 1: - sub_811D758(); + PrintEasyChatKeyboardText(); break; case 2: sub_811D794(); @@ -4010,12 +4012,12 @@ static void sub_811D6F4(void) } } -static void sub_811D758(void) +static void PrintEasyChatKeyboardText(void) { u32 i; - for (i = 0; i < ARRAY_COUNT(sUnknown_08597C90); i++) - sub_811D028(2, 1, sUnknown_08597C90[i], 10, 97 + i * 16, 0xFF, NULL); + for (i = 0; i < ARRAY_COUNT(sEasyChatKeyboardText); i++) + sub_811D028(2, 1, sEasyChatKeyboardText[i], 10, 97 + i * 16, 0xFF, NULL); } static void sub_811D794(void) @@ -4087,7 +4089,7 @@ static void sub_811D864(u8 arg0, u8 arg1) if (!sub_811BF88(easyChatWord)) sub_811D028(2, 1, sUnknown_0203A11C->unkCC, (j * 13 + 3) * 8, y, 0xFF, NULL); else - sub_811D058(2, 1, sUnknown_0203A11C->unkCC, (j * 13 + 3) * 8, y, 0xFF, 1, 5, 3); + sub_811D058(2, 1, sUnknown_0203A11C->unkCC, (j * 13 + 3) * 8, y, 0xFF, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_RED, TEXT_COLOR_LIGHT_GREY); } } @@ -4808,7 +4810,7 @@ static void sub_811E948(void) PutWindowTilemap(windowId); } -static bool8 sub_811EA28(u8 groupId) +static bool8 IsEasyChatGroupUnlocked(u8 groupId) { switch (groupId) { @@ -4819,7 +4821,7 @@ static bool8 sub_811EA28(u8 groupId) case EC_GROUP_MOVE_2: return FlagGet(FLAG_SYS_GAME_CLEAR); case EC_GROUP_POKEMON_2: - return sub_811F0F8(); + return EasyChatIsNationalPokedexEnabled(); default: return TRUE; } @@ -4830,7 +4832,7 @@ u16 EasyChat_GetNumWordsInGroup(u8 groupId) if (groupId == EC_GROUP_POKEMON) return GetNationalPokedexCount(FLAG_GET_SEEN); - if (sub_811EA28(groupId)) + if (IsEasyChatGroupUnlocked(groupId)) return gEasyChatGroups[groupId].numEnabledWords; return 0; @@ -5037,24 +5039,24 @@ static u16 GetEasyChatWordStringLength(u16 easyChatWord) } } -bool8 sub_811EDC4(const u16 *easyChatWords, u8 arg1, u8 arg2, u16 arg3) +static bool8 CanPhraseFitInXRowsYCols(const u16 *easyChatWords, u8 numRows, u8 numColumns, u16 maxLength) { u8 i, j; - for (i = 0; i < arg2; i++) + for (i = 0; i < numColumns; i++) { - u16 totalLength = arg1 - 1; - for (j = 0; j < arg1; j++) + u16 totalLength = numRows - 1; + for (j = 0; j < numRows; j++) totalLength += GetEasyChatWordStringLength(*(easyChatWords++)); - if (totalLength > arg3) + if (totalLength > maxLength) return TRUE; } return FALSE; } -u16 sub_811EE38(u16 groupId) +u16 GetRandomEasyChatWordFromGroup(u16 groupId) { u16 index = Random() % gEasyChatGroups[groupId].numWords; if (groupId == EC_GROUP_POKEMON @@ -5068,18 +5070,18 @@ u16 sub_811EE38(u16 groupId) return EC_WORD(groupId, index); } -u16 sub_811EE90(u16 groupId) +u16 GetRandomEasyChatWordFromUnlockedGroup(u16 groupId) { - if (!sub_811EA28(groupId)) + if (!IsEasyChatGroupUnlocked(groupId)) return 0xFFFF; if (groupId == EC_GROUP_POKEMON) - return sub_811F108(); + return GetRandomUnlockedEasyChatPokemon(); - return sub_811EE38(groupId); + return GetRandomEasyChatWordFromGroup(groupId); } -void sub_811EECC(void) +void ShowEasyChatProfile(void) { u16 *easyChatWords; int columns, rows; @@ -5092,7 +5094,7 @@ void sub_811EECC(void) break; case 1: easyChatWords = gSaveBlock1Ptr->easyChatBattleStart; - if (sub_811EDC4(gSaveBlock1Ptr->easyChatBattleStart, 3, 2, 18)) + if (CanPhraseFitInXRowsYCols(gSaveBlock1Ptr->easyChatBattleStart, 3, 2, 18)) { columns = 2; rows = 3; @@ -5121,23 +5123,24 @@ void sub_811EECC(void) ShowFieldAutoScrollMessage(gStringVar4); } -void sub_811EF6C(void) +// The phrase that a man in Dewford Hall suggests has a "deep link" to the current trendy phrase +void BufferDeepLinkPhrase(void) { int groupId = Random() & 1 ? EC_GROUP_HOBBIES : EC_GROUP_LIFESTYLE; - u16 easyChatWord = sub_811EE90(groupId); + u16 easyChatWord = GetRandomEasyChatWordFromUnlockedGroup(groupId); CopyEasyChatWord(gStringVar2, easyChatWord); } -static bool8 sub_811EF98(u8 additionalPhraseId) +static bool8 IsAdditionalPhraseUnlocked(u8 additionalPhraseId) { int byteOffset = additionalPhraseId / 8; int shift = additionalPhraseId % 8; return (gSaveBlock1Ptr->additionalPhrases[byteOffset] >> shift) & 1; } -void sub_811EFC0(u8 additionalPhraseId) +void UnlockAdditionalPhrase(u8 additionalPhraseId) { - if (additionalPhraseId < 33) + if (additionalPhraseId < NUM_ADDITIONAL_PHRASES) { int byteOffset = additionalPhraseId / 8; int shift = additionalPhraseId % 8; @@ -5145,32 +5148,32 @@ void sub_811EFC0(u8 additionalPhraseId) } } -u8 sub_811EFF0(void) +static u8 GetNumAdditionalPhrasesUnlocked(void) { u8 i; u8 numAdditionalPhrasesUnlocked; - for (i = 0, numAdditionalPhrasesUnlocked = 0; i < 33; i++) + for (i = 0, numAdditionalPhrasesUnlocked = 0; i < NUM_ADDITIONAL_PHRASES; i++) { - if (sub_811EF98(i)) + if (IsAdditionalPhraseUnlocked(i)) numAdditionalPhrasesUnlocked++; } return numAdditionalPhrasesUnlocked; } -u16 sub_811F01C(void) +u16 GetNewHipsterPhraseToTeach(void) { u16 i; u16 additionalPhraseId; - u8 numAdditionalPhrasesUnlocked = sub_811EFF0(); - if (numAdditionalPhrasesUnlocked == 33) + u8 numAdditionalPhrasesUnlocked = GetNumAdditionalPhrasesUnlocked(); + if (numAdditionalPhrasesUnlocked == NUM_ADDITIONAL_PHRASES) return 0xFFFF; - additionalPhraseId = Random() % (33 - numAdditionalPhrasesUnlocked); - for (i = 0; i < 33; i++) + additionalPhraseId = Random() % (NUM_ADDITIONAL_PHRASES - numAdditionalPhrasesUnlocked); + for (i = 0; i < NUM_ADDITIONAL_PHRASES; i++) { - if (!sub_811EF98(i)) + if (!IsAdditionalPhraseUnlocked(i)) { if (additionalPhraseId) { @@ -5178,7 +5181,7 @@ u16 sub_811F01C(void) } else { - sub_811EFC0(i); + UnlockAdditionalPhrase(i); return EC_WORD(EC_GROUP_TRENDY_SAYING, i); } } @@ -5187,17 +5190,18 @@ u16 sub_811F01C(void) return 0xFFFF; } -u16 sub_811F090(void) +// Unused +u16 GetRandomTaughtHipsterPhrase(void) { u16 i; - u16 additionalPhraseId = sub_811EFF0(); + u16 additionalPhraseId = GetNumAdditionalPhrasesUnlocked(); if (additionalPhraseId == 0) return 0xFFFF; additionalPhraseId = Random() % additionalPhraseId; - for (i = 0; i < 33; i++) + for (i = 0; i < NUM_ADDITIONAL_PHRASES; i++) { - if (sub_811EF98(i)) + if (IsAdditionalPhraseUnlocked(i)) { if (additionalPhraseId) additionalPhraseId--; @@ -5209,12 +5213,12 @@ u16 sub_811F090(void) return 0xFFFF; } -static bool8 sub_811F0F8(void) +static bool8 EasyChatIsNationalPokedexEnabled(void) { return IsNationalPokedexEnabled(); } -static u16 sub_811F108(void) +static u16 GetRandomUnlockedEasyChatPokemon(void) { u16 i; u16 numWords; @@ -5496,7 +5500,7 @@ static bool8 sub_811F764(u16 wordIndex, u8 groupId) case EC_GROUP_MOVE_2: return TRUE; case EC_GROUP_TRENDY_SAYING: - return sub_811EF98(wordIndex); + return IsAdditionalPhraseUnlocked(wordIndex); default: return gEasyChatGroups[groupId].wordData.words[wordIndex].enabled; } @@ -5544,7 +5548,7 @@ bool32 sub_811F8D8(int easyChatWord) int groupId = EC_GROUP(easyChatWord); int mask = 0x7F; int index = EC_INDEX(easyChatWord); - if (!sub_811EA28(groupId & mask)) + if (!IsEasyChatGroupUnlocked(groupId & mask)) return FALSE; else return sub_811F764(index, groupId & mask); diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 5e16f1479b..032ae67331 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -17,7 +17,7 @@ #include "menu.h" #include "trig.h" #include "random.h" -#include "alloc.h" +#include "malloc.h" #include "dma3.h" #include "gpu_regs.h" #include "bg.h" @@ -56,7 +56,7 @@ struct EggHatchData extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle extern const u8 gText_HatchedFromEgg[]; -extern const u8 gText_NickHatchPrompt[]; +extern const u8 gText_NicknameHatchPrompt[]; static void Task_EggHatch(u8 taskID); static void CB2_EggHatch_0(void); @@ -83,10 +83,10 @@ static const u8 sEggShardTiles[] = INCBIN_U8("graphics/misc/egg_shard.4bpp"); static const struct OamData sOamData_EggHatch = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, @@ -163,10 +163,10 @@ static const struct SpriteTemplate sSpriteTemplate_EggHatch = static const struct OamData sOamData_EggShard = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, @@ -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]); } @@ -368,7 +368,7 @@ static void AddHatchedMonToParty(u8 id) GetSetPokedexFlag(pokeNum, FLAG_SET_SEEN); GetSetPokedexFlag(pokeNum, FLAG_SET_CAUGHT); - GetMonNick(mon, gStringVar1); + GetMonNickname2(mon, gStringVar1); ball = ITEM_POKE_BALL; SetMonData(mon, MON_DATA_POKEBALL, &ball); @@ -388,17 +388,17 @@ void ScriptHatchMon(void) AddHatchedMonToParty(gSpecialVar_0x8004); } -static bool8 sub_807158C(struct DayCare *daycare, u8 daycareId) +static bool8 _CheckDaycareMonReceivedMail(struct DayCare *daycare, u8 daycareId) { - u8 nick[0x20]; + u8 nickname[32]; struct DaycareMon *daycareMon = &daycare->mons[daycareId]; - GetBoxMonNick(&daycareMon->mon, nick); - if (daycareMon->mail.message.itemId != 0 - && (StringCompareWithoutExtCtrlCodes(nick, daycareMon->mail.monName) != 0 + GetBoxMonNickname(&daycareMon->mon, nickname); + if (daycareMon->mail.message.itemId != ITEM_NONE + && (StringCompareWithoutExtCtrlCodes(nickname, daycareMon->mail.monName) != 0 || StringCompareWithoutExtCtrlCodes(gSaveBlock2Ptr->playerName, daycareMon->mail.OT_name) != 0)) { - StringCopy(gStringVar1, nick); + StringCopy(gStringVar1, nickname); TVShowConvertInternationalString(gStringVar2, daycareMon->mail.OT_name, daycareMon->mail.gameLanguage); TVShowConvertInternationalString(gStringVar3, daycareMon->mail.monName, daycareMon->mail.monLanguage); return TRUE; @@ -406,9 +406,9 @@ static bool8 sub_807158C(struct DayCare *daycare, u8 daycareId) return FALSE; } -bool8 sub_8071614(void) +bool8 CheckDaycareMonReceivedMail(void) { - return sub_807158C(&gSaveBlock1Ptr->daycare, gSpecialVar_0x8004); + return _CheckDaycareMonReceivedMail(&gSaveBlock1Ptr->daycare, gSpecialVar_0x8004); } static u8 EggHatchCreateMonSprite(u8 a0, u8 switchID, u8 pokeID, u16* speciesLoc) @@ -461,7 +461,7 @@ void EggHatch(void) { ScriptContext2_Enable(); CreateTask(Task_EggHatch, 10); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); } static void Task_EggHatch(u8 taskID) @@ -470,7 +470,7 @@ static void Task_EggHatch(u8 taskID) { CleanupOverworldWindowsAndTilemaps(); SetMainCallback2(CB2_EggHatch_0); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; DestroyTask(taskID); } } @@ -634,7 +634,7 @@ static void CB2_EggHatch_1(void) } break; case 5: - GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1); + GetMonNickname2(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_HatchedFromEgg); EggHatchPrintMessage(sEggHatchData->windowId, gStringVar4, 0, 3, 0xFF); PlayFanfare(MUS_FANFA5); @@ -651,8 +651,8 @@ static void CB2_EggHatch_1(void) sEggHatchData->CB2_state++; break; case 8: - GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1); - StringExpandPlaceholders(gStringVar4, gText_NickHatchPrompt); + GetMonNickname2(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_NicknameHatchPrompt); EggHatchPrintMessage(sEggHatchData->windowId, gStringVar4, 0, 2, 1); sEggHatchData->CB2_state++; break; @@ -668,7 +668,7 @@ static void CB2_EggHatch_1(void) switch (Menu_ProcessInputNoWrapClearOnChoose()) { case 0: - GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar3); + GetMonNickname2(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar3); species = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_SPECIES); gender = GetMonGender(&gPlayerParty[sEggHatchData->eggPartyID]); personality = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_PERSONALITY, 0); @@ -880,9 +880,9 @@ u8 GetEggStepsToSubtract(void) return 1; } -u16 sub_80722E0(void) +u16 CountPartyAliveNonEggMons(void) { u16 aliveNonEggMonsCount = CountStorageNonEggMons(); - aliveNonEggMonsCount += CountPartyAliveNonEggMonsExcept(6); + aliveNonEggMonsCount += CountPartyAliveNonEggMonsExcept(PARTY_SIZE); return aliveNonEggMonsCount; } diff --git a/src/electric.c b/src/electric.c index 4b93119dcf..3344db7bf2 100644 --- a/src/electric.c +++ b/src/electric.c @@ -56,7 +56,7 @@ const struct SpriteTemplate gUnknown_085956C0 = { .tileTag = ANIM_TAG_LIGHTNING, .paletteTag = ANIM_TAG_LIGHTNING, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085956BC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -80,7 +80,7 @@ const struct SpriteTemplate gUnknown_085956FC = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085956F8, @@ -107,7 +107,7 @@ const struct SpriteTemplate gUnknown_08595734 = { .tileTag = ANIM_TAG_SHOCK, .paletteTag = ANIM_TAG_SHOCK, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595730, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -118,7 +118,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_859574C = { .tileTag = ANIM_TAG_SPARK_2, .paletteTag = ANIM_TAG_SPARK_2, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -129,7 +129,7 @@ const struct SpriteTemplate gUnknown_08595764 = { .tileTag = ANIM_TAG_BLACK_BALL_2, .paletteTag = ANIM_TAG_BLACK_BALL_2, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -151,7 +151,7 @@ const struct SpriteTemplate gUnknown_08595790 = { .tileTag = ANIM_TAG_SPARK_2, .paletteTag = ANIM_TAG_SPARK_2, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_0859578C, @@ -188,7 +188,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85957E0 = { .tileTag = ANIM_TAG_SHOCK_3, .paletteTag = ANIM_TAG_SHOCK_3, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gUnknown_085957B8, .images = NULL, .affineAnims = gUnknown_085957DC, @@ -199,7 +199,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85957F8 = { .tileTag = ANIM_TAG_SPARK_2, .paletteTag = ANIM_TAG_SPARK_2, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_0859578C, @@ -210,7 +210,7 @@ const struct SpriteTemplate gElectricitySpriteTemplate = { .tileTag = ANIM_TAG_SPARK_2, .paletteTag = ANIM_TAG_SPARK_2, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -221,7 +221,7 @@ const struct SpriteTemplate gUnknown_08595828 = { .tileTag = ANIM_TAG_SPARK, .paletteTag = ANIM_TAG_SPARK, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -232,7 +232,7 @@ const struct SpriteTemplate gUnknown_08595840 = { .tileTag = ANIM_TAG_SPARK_H, .paletteTag = ANIM_TAG_SPARK_H, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -287,7 +287,7 @@ const struct SpriteTemplate gUnknown_085958A8 = { .tileTag = ANIM_TAG_ELECTRIC_ORBS, .paletteTag = ANIM_TAG_ELECTRIC_ORBS, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gUnknown_085958A0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -335,7 +335,7 @@ const struct SpriteTemplate gUnknown_0859595C = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08595950, @@ -360,7 +360,7 @@ const struct SpriteTemplate gUnknown_0859598C = { .tileTag = ANIM_TAG_ELECTRICITY, .paletteTag = ANIM_TAG_ELECTRICITY, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595988, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -371,7 +371,7 @@ const struct SpriteTemplate gUnknown_085959A4 = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08595950, @@ -425,7 +425,7 @@ const struct SpriteTemplate gUnknown_08595A00 = { .tileTag = ANIM_TAG_SPARK, .paletteTag = ANIM_TAG_SPARK, - .oam = &gUnknown_08524A04, + .oam = &gOamData_AffineDouble_ObjNormal_8x16, .anims = gUnknown_085959DC, .images = NULL, .affineAnims = gUnknown_085959FC, @@ -436,7 +436,7 @@ const struct SpriteTemplate gUnknown_08595A18 = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08595950, @@ -447,7 +447,7 @@ const struct SpriteTemplate gUnknown_08595A30 = { .tileTag = ANIM_TAG_SPARK, .paletteTag = ANIM_TAG_SPARK, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -757,13 +757,13 @@ static void sub_810A9DC(struct Sprite *sprite) { if (!sprite->data[0]) { - sprite->oam.shape = 2; - sprite->oam.size = 0; + sprite->oam.shape = SPRITE_SHAPE(8x16); + sprite->oam.size = SPRITE_SIZE(8x16); } else { - sprite->oam.shape = 0; - sprite->oam.size = 1; + sprite->oam.shape = SPRITE_SHAPE(16x16); + sprite->oam.size = SPRITE_SIZE(16x16); } if (++sprite->data[1] == 15) DestroySprite(sprite); diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index f184dea826..bdfbebf6b1 100755 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "decompress.h" #include "ereader_helpers.h" #include "link.h" @@ -448,7 +448,7 @@ static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *ttdata, struct AGB_ASSERT_EX(ttdata->id == 0, "cereader_tool.c", 452); memset(buffer2, 0, 0x1000); - buffer2->unkField_0 = ttdata->count; + buffer2->numTrainers = ttdata->count; buffer2->unused1 = sub_81D38D4(); buffer2->numFloors = (ttdata->count + 1) / 2; @@ -456,13 +456,13 @@ static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *ttdata, struct { if (!(i & 1)) { - buffer2->floors[i / 2].unk0 = ttdata->unk_8[i].unk0; + buffer2->floors[i / 2].trainerNum1 = 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->floors[i / 2].unk1 = ttdata->unk_8[i].unk0; + buffer2->floors[i / 2].trainerNum2 = ttdata->unk_8[i].unk0; buffer2->floors[i / 2].trainers[1] = ttdata->unk_8[i].unk4; } } @@ -473,7 +473,7 @@ static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *ttdata, struct } buffer2->checksum = CalcByteArraySum((u8 *)buffer2->floors, 4 * sizeof(struct TrHillFloor)); - if (TryWriteSpecialSaveSection(SECTOR_ID_TRAINER_HILL, (u8 *)buffer2) != 1) + if (TryWriteSpecialSaveSection(SECTOR_ID_TRAINER_HILL, (u8 *)buffer2) != SAVE_STATUS_OK) return FALSE; return TRUE; @@ -487,13 +487,13 @@ bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *arg0) return result; } -static bool32 TryReadTrainerHill_r(struct EReaderTrainerHillSet *arg0, u8 *arg1) +static bool32 TryReadTrainerHill_r(struct EReaderTrainerHillSet *dst, u8 *buffer) { - if (TryReadSpecialSaveSection(SECTOR_ID_TRAINER_HILL, arg1) != 1) + if (TryReadSpecialSaveSection(SECTOR_ID_TRAINER_HILL, buffer) != SAVE_STATUS_OK) return FALSE; - memcpy(arg0, arg1, sizeof(struct EReaderTrainerHillSet)); - if (!TrainerHill_VerifyChecksum(arg0)) + memcpy(dst, buffer, sizeof(struct EReaderTrainerHillSet)); + if (!TrainerHill_VerifyChecksum(dst)) return FALSE; return TRUE; diff --git a/src/ereader_screen.c b/src/ereader_screen.c index 13e9642245..754bbe4459 100755 --- a/src/ereader_screen.c +++ b/src/ereader_screen.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "decompress.h" #include "ereader_helpers.h" #include "link.h" @@ -88,7 +88,7 @@ static u8 sub_81D4DE8(struct Unk03006370 *arg0) static void sub_81D4E30(void) { memset(gDecompressionBuffer, 0, 0x2000); - gLinkType = 0x5503; + gLinkType = LINKTYPE_0x5503; OpenLink(); SetSuppressLinkErrorMessage(TRUE); } @@ -251,7 +251,7 @@ static void sub_81D5084(u8 taskId) switch (data->unk8) { case 0: - if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EDFD6)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gJPText_ReceiveMysteryGiftWithEReader)) data->unk8 = 1; break; case 1: @@ -275,9 +275,9 @@ static void sub_81D5084(u8 taskId) } break; case 4: - if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EDFF5)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gJPText_SelectConnectFromEReaderMenu)) { - AddTextPrinterToWindow1(gUnknown_085EE014); + AddTextPrinterToWindow1(gJPText_SelectConnectWithGBA); sub_81D505C(&data->unk0); data->unk8 = 5; } @@ -324,11 +324,11 @@ static void sub_81D5084(u8 taskId) } break; case 7: - if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EE05C)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gJPText_LinkIsIncorrect)) data->unk8 = 4; break; case 8: - AddTextPrinterToWindow1(gUnknown_085EE097); + AddTextPrinterToWindow1(gJPText_Connecting); // XXX: This (u32*) cast is discarding the const qualifier from gUnknown_089A3470 sub_81D4D50(&gUnknown_03006370, gMultiBootProgram_BerryGlitchFix_Start - gUnknown_089A3470, (u32*)gUnknown_089A3470); data->unk8 = 9; @@ -347,7 +347,7 @@ static void sub_81D5084(u8 taskId) else if (data->unkE == 1) { sub_81D505C(&data->unk0); - AddTextPrinterToWindow1(gUnknown_085EE120); + AddTextPrinterToWindow1(gJPText_PleaseWaitAMoment); data->unk8 = 11; } else @@ -361,7 +361,7 @@ static void sub_81D5084(u8 taskId) break; case 12: sub_81D4E30(); - AddTextPrinterToWindow1(gUnknown_085EE0DC); + AddTextPrinterToWindow1(gJPText_AllowEReaderToLoadCard); data->unk8 = 13; break; case 13: @@ -370,7 +370,7 @@ static void sub_81D5084(u8 taskId) case 0: break; case 2: - AddTextPrinterToWindow1(gUnknown_085EE097); + AddTextPrinterToWindow1(gJPText_Connecting); data->unk8 = 14; break; case 1: @@ -418,7 +418,7 @@ static void sub_81D5084(u8 taskId) case 17: if (TryWriteTrainerHill((struct EReaderTrainerHillSet *)&gDecompressionBuffer)) { - AddTextPrinterToWindow1(gUnknown_085EE0FA); + AddTextPrinterToWindow1(gJPText_ConnectionComplete); sub_81D505C(&data->unk0); data->unk8 = 18; } @@ -430,7 +430,7 @@ static void sub_81D5084(u8 taskId) case 18: if (sub_81D5064(&data->unk0, 120)) { - AddTextPrinterToWindow1(gUnknown_085EE107); + AddTextPrinterToWindow1(gJPText_NewTrainerHasComeToHoenn); PlayFanfare(MUS_FANFA4); data->unk8 = 19; } @@ -440,19 +440,19 @@ static void sub_81D5084(u8 taskId) data->unk8 = 26; break; case 23: - if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9,gUnknown_085EE06B)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gJPText_CardReadingHasBeenHalted)) data->unk8 = 26; break; case 20: - if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EE0A3)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gJPText_ConnectionErrorCheckLink)) data->unk8 = 0; break; case 21: - if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EE0BF)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gJPText_ConnectionErrorTryAgain)) data->unk8 = 0; break; case 22: - if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EE12D)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gJPText_WriteErrorUnableToSaveData)) data->unk8 = 0; break; case 26: diff --git a/src/event_data.c b/src/event_data.c index 50628f984d..15ca47f7ce 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -2,9 +2,15 @@ #include "event_data.h" #include "pokedex.h" -#define TEMP_FLAGS_SIZE 0x4 -#define DAILY_FLAGS_SIZE 0x8 -#define TEMP_VARS_SIZE 0x20 +#define NUM_SPECIAL_FLAGS (SPECIAL_FLAGS_END - SPECIAL_FLAGS_START + 1) +#define NUM_TEMP_FLAGS (TEMP_FLAGS_END - TEMP_FLAGS_START + 1) +#define NUM_DAILY_FLAGS (DAILY_FLAGS_END - DAILY_FLAGS_START + 1) +#define NUM_TEMP_VARS (TEMP_VARS_END - TEMP_VARS_START + 1) + +#define SPECIAL_FLAGS_SIZE (NUM_SPECIAL_FLAGS / 8) // 8 flags per byte +#define TEMP_FLAGS_SIZE (NUM_TEMP_FLAGS / 8) +#define DAILY_FLAGS_SIZE (NUM_DAILY_FLAGS / 8) +#define TEMP_VARS_SIZE (NUM_TEMP_VARS * 2) // 1/2 var per byte EWRAM_DATA u16 gSpecialVar_0x8000 = 0; EWRAM_DATA u16 gSpecialVar_0x8001 = 0; @@ -24,7 +30,7 @@ EWRAM_DATA u16 gSpecialVar_Facing = 0; EWRAM_DATA u16 gSpecialVar_MonBoxId = 0; EWRAM_DATA u16 gSpecialVar_MonBoxPos = 0; EWRAM_DATA u16 gSpecialVar_Unused_0x8014 = 0; -EWRAM_DATA static u8 gSpecialFlags[16] = {0}; +EWRAM_DATA static u8 gSpecialFlags[SPECIAL_FLAGS_SIZE] = {0}; extern u16 *const gSpecialVars[]; @@ -37,8 +43,8 @@ void InitEventData(void) void ClearTempFieldEventData(void) { - memset(gSaveBlock1Ptr->flags, 0, TEMP_FLAGS_SIZE); - memset(gSaveBlock1Ptr->vars, 0, TEMP_VARS_SIZE); + memset(gSaveBlock1Ptr->flags + (TEMP_FLAGS_START / 8), 0, TEMP_FLAGS_SIZE); + memset(gSaveBlock1Ptr->vars + ((TEMP_VARS_START - VARS_START) * 2), 0, TEMP_VARS_SIZE); FlagClear(FLAG_SYS_ENC_UP_ITEM); FlagClear(FLAG_SYS_ENC_DOWN_ITEM); FlagClear(FLAG_SYS_USE_STRENGTH); @@ -48,7 +54,7 @@ void ClearTempFieldEventData(void) void ClearDailyFlags(void) { - memset(gSaveBlock1Ptr->flags + 0x124, 0, DAILY_FLAGS_SIZE); + memset(gSaveBlock1Ptr->flags + (DAILY_FLAGS_START / 8), 0, DAILY_FLAGS_SIZE); } void DisableNationalPokedex(void) @@ -108,7 +114,7 @@ bool32 IsMysteryGiftEnabled(void) return FlagGet(FLAG_SYS_MYSTERY_GIFT_ENABLE); } -void sub_809D4D8(void) +void ClearMysteryEventFlags(void) { FlagClear(FLAG_MYSTERY_EVENT_DONE); FlagClear(FLAG_MYSTERY_EVENT_1); @@ -128,7 +134,7 @@ void sub_809D4D8(void) FlagClear(FLAG_MYSTERY_EVENT_15); } -void sub_809D570(void) +void ClearMysteryEventVars(void) { VarSet(VAR_EVENT_PICHU_SLOT, 0); VarSet(VAR_NEVER_READ_0x40DE, 0); diff --git a/src/event_obj_lock.c b/src/event_obj_lock.c index 566b4931df..817276694c 100644 --- a/src/event_obj_lock.c +++ b/src/event_obj_lock.c @@ -8,7 +8,7 @@ #include "trainer_see.h" #include "constants/event_objects.h" -bool8 walkrun_is_standing_still(void) +bool8 IsPlayerStandingStill(void) { if (gPlayerAvatar.tileTransitionState == T_TILE_TRANSITION) return FALSE; @@ -18,7 +18,7 @@ bool8 walkrun_is_standing_still(void) static void sub_80983A4(u8 taskId) { - if (walkrun_is_standing_still()) + if (IsPlayerStandingStill()) { sub_808B864(); DestroyTask(taskId); @@ -49,7 +49,7 @@ static void sub_8098400(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (!task->data[0] && walkrun_is_standing_still() == TRUE) + if (!task->data[0] && IsPlayerStandingStill() == TRUE) { sub_808B864(); task->data[0] = 1; @@ -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,16 +104,16 @@ void sub_8098524(void) EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - sub_80D338C(); + ScriptMovement_UnfreezeEventObjects(); UnfreezeEventObjects(); } -void sub_8098574(void) +void Script_FacePlayer(void) { EventObjectFaceOppositeDirection(&gEventObjects[gSelectedEventObject], gSpecialVar_Facing); } -void sub_809859C(void) +void Script_ClearHeldMovement(void) { EventObjectClearHeldMovementIfActive(&gEventObjects[gSelectedEventObject]); } @@ -123,7 +123,7 @@ static void sub_80985BC(u8 taskId) struct Task *task = &gTasks[taskId]; u8 eventObjectId = task->data[2]; - if (!task->data[0] && walkrun_is_standing_still() == TRUE) + if (!task->data[0] && IsPlayerStandingStill() == TRUE) { sub_808B864(); task->data[0] = 1; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 75f758a129..f84a7bedbe 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle_pyramid.h" #include "berry.h" #include "decoration.h" @@ -26,6 +26,7 @@ #include "constants/event_objects.h" #include "constants/field_effects.h" #include "constants/items.h" +#include "constants/mauville_old_man.h" // this file was known as evobjmv.c in Game Freak's original source @@ -1120,13 +1121,13 @@ void ResetEventObjects(void) static void CreateReflectionEffectSprites(void) { u8 spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31); - gSprites[spriteId].oam.affineMode = 1; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; InitSpriteAffineAnim(&gSprites[spriteId]); StartSpriteAffineAnim(&gSprites[spriteId], 0); gSprites[spriteId].invisible = TRUE; spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31); - gSprites[spriteId].oam.affineMode = 1; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; InitSpriteAffineAnim(&gSprites[spriteId]); StartSpriteAffineAnim(&gSprites[spriteId], 1); gSprites[spriteId].invisible = TRUE; @@ -1198,8 +1199,6 @@ static u8 GetEventObjectIdByLocalId(u8 localId) return EVENT_OBJECTS_COUNT; } -// This function has the same nonmatching quirk as in Ruby/Sapphire. -#ifdef NONMATCHING static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template, u8 mapNum, u8 mapGroup) { struct EventObject *eventObject; @@ -1207,11 +1206,8 @@ static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template, s16 x; s16 y; - // mapNum and mapGroup are in the wrong registers (r7/r6 instead of r6/r7) if (GetAvailableEventObjectId(template->localId, mapNum, mapGroup, &eventObjectId)) - { return EVENT_OBJECTS_COUNT; - } eventObject = &gEventObjects[eventObjectId]; ClearEventObject(eventObject); x = template->x + 7; @@ -1222,6 +1218,7 @@ static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template, eventObject->movementType = template->movementType; eventObject->localId = template->localId; eventObject->mapNum = mapNum; + eventObject++; eventObject--; eventObject->mapGroup = mapGroup; eventObject->initialCoords.x = x; eventObject->initialCoords.y = y; @@ -1231,7 +1228,6 @@ static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template, eventObject->previousCoords.y = y; eventObject->currentElevation = template->elevation; eventObject->previousElevation = template->elevation; - // For some reason, 0x0F is placed in r9, to be used later eventObject->range.as_nybbles.x = template->movementRangeX; eventObject->range.as_nybbles.y = template->movementRangeY; eventObject->trainerType = template->trainerType; @@ -1239,177 +1235,22 @@ static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template, eventObject->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType]; SetEventObjectDirection(eventObject, eventObject->previousMovementDirection); SetEventObjectDynamicGraphicsId(eventObject); - +#ifndef NONMATCHING + asm("":::"r5", "r6"); +#endif if (gRangedMovementTypes[eventObject->movementType]) { - if ((eventObject->range.as_nybbles.x) == 0) + if (eventObject->range.as_nybbles.x == 0) { - // r9 is invoked here eventObject->range.as_nybbles.x++; } - if ((eventObject->range.as_nybbles.y) == 0) + if (eventObject->range.as_nybbles.y == 0) { eventObject->range.as_nybbles.y++; } } return eventObjectId; } -#else -static NAKED u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template, u8 mapId, u8 mapGroupId) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tmov r7, r9\n" - "\tmov r6, r8\n" - "\tpush {r6,r7}\n" - "\tsub sp, 0x4\n" - "\tadds r5, r0, 0\n" - "\tlsls r1, 24\n" - "\tlsrs r6, r1, 24\n" - "\tlsls r2, 24\n" - "\tlsrs r7, r2, 24\n" - "\tldrb r0, [r5]\n" - "\tadds r1, r6, 0\n" - "\tadds r2, r7, 0\n" - "\tmov r3, sp\n" - "\tbl GetAvailableEventObjectId\n" - "\tlsls r0, 24\n" - "\tcmp r0, 0\n" - "\tbeq _0808D66E\n" - "\tmovs r0, 0x10\n" - "\tb _0808D762\n" - "_0808D66E:\n" - "\tmov r0, sp\n" - "\tldrb r1, [r0]\n" - "\tlsls r0, r1, 3\n" - "\tadds r0, r1\n" - "\tlsls r0, 2\n" - "\tldr r1, =gEventObjects\n" - "\tadds r4, r0, r1\n" - "\tadds r0, r4, 0\n" - "\tbl ClearEventObject\n" - "\tldrh r3, [r5, 0x4]\n" - "\tadds r3, 0x7\n" - "\tlsls r3, 16\n" - "\tlsrs r3, 16\n" - "\tldrh r2, [r5, 0x6]\n" - "\tadds r2, 0x7\n" - "\tlsls r2, 16\n" - "\tlsrs r2, 16\n" - "\tldrb r0, [r4]\n" - "\tmovs r1, 0x1\n" - "\torrs r0, r1\n" - "\tmovs r1, 0x4\n" - "\torrs r0, r1\n" - "\tstrb r0, [r4]\n" - "\tldrb r0, [r5, 0x1]\n" - "\tstrb r0, [r4, 0x5]\n" - "\tldrb r0, [r5, 0x9]\n" - "\tstrb r0, [r4, 0x6]\n" - "\tldrb r0, [r5]\n" - "\tstrb r0, [r4, 0x8]\n" - "\tstrb r6, [r4, 0x9]\n" - "\tstrb r7, [r4, 0xA]\n" - "\tstrh r3, [r4, 0xC]\n" - "\tstrh r2, [r4, 0xE]\n" - "\tstrh r3, [r4, 0x10]\n" - "\tstrh r2, [r4, 0x12]\n" - "\tstrh r3, [r4, 0x14]\n" - "\tstrh r2, [r4, 0x16]\n" - "\tldrb r0, [r5, 0x8]\n" - "\tmovs r7, 0xF\n" - "\tadds r1, r7, 0\n" - "\tands r1, r0\n" - "\tldrb r2, [r4, 0xB]\n" - "\tmovs r0, 0x10\n" - "\tnegs r0, r0\n" - "\tmov r8, r0\n" - "\tands r0, r2\n" - "\torrs r0, r1\n" - "\tstrb r0, [r4, 0xB]\n" - "\tldrb r1, [r5, 0x8]\n" - "\tlsls r1, 4\n" - "\tands r0, r7\n" - "\torrs r0, r1\n" - "\tstrb r0, [r4, 0xB]\n" - "\tldrb r1, [r5, 0xA]\n" - "\tlsls r1, 28\n" - "\tmovs r0, 0xF\n" - "\tmov r9, r0\n" - "\tlsrs r1, 28\n" - "\tldrb r2, [r4, 0x19]\n" - "\tmov r0, r8\n" - "\tands r0, r2\n" - "\torrs r0, r1\n" - "\tstrb r0, [r4, 0x19]\n" - "\tldrb r1, [r5, 0xA]\n" - "\tlsrs r1, 4\n" - "\tlsls r1, 4\n" - "\tands r0, r7\n" - "\torrs r0, r1\n" - "\tstrb r0, [r4, 0x19]\n" - "\tldrh r0, [r5, 0xC]\n" - "\tstrb r0, [r4, 0x7]\n" - "\tldrh r0, [r5, 0xE]\n" - "\tstrb r0, [r4, 0x1D]\n" - "\tldr r1, =gInitialMovementTypeFacingDirections\n" - "\tldrb r0, [r5, 0x9]\n" - "\tadds r0, r1\n" - "\tldrb r1, [r0]\n" - "\tadds r0, r4, 0\n" - "\tadds r0, 0x20\n" - "\tstrb r1, [r0]\n" - "\tldrb r1, [r0]\n" - "\tadds r0, r4, 0\n" - "\tbl SetEventObjectDirection\n" - "\tadds r0, r4, 0\n" - "\tbl SetEventObjectDynamicGraphicsId\n" - "\tldr r1, =gRangedMovementTypes\n" - "\tldrb r0, [r4, 0x6]\n" - "\tadds r0, r1\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbeq _0808D75E\n" - "\tldrb r2, [r4, 0x19]\n" - "\tadds r0, r7, 0\n" - "\tands r0, r2\n" - "\tcmp r0, 0\n" - "\tbne _0808D746\n" - "\tlsls r0, r2, 28\n" - "\tlsrs r0, 28\n" - "\tadds r0, 0x1\n" - "\tmov r1, r9\n" - "\tands r0, r1\n" - "\tmov r1, r8\n" - "\tands r1, r2\n" - "\torrs r1, r0\n" - "\tstrb r1, [r4, 0x19]\n" - "_0808D746:\n" - "\tldrb r2, [r4, 0x19]\n" - "\tmovs r0, 0xF0\n" - "\tands r0, r2\n" - "\tcmp r0, 0\n" - "\tbne _0808D75E\n" - "\tlsrs r1, r2, 4\n" - "\tadds r1, 0x1\n" - "\tlsls r1, 4\n" - "\tadds r0, r7, 0\n" - "\tands r0, r2\n" - "\torrs r0, r1\n" - "\tstrb r0, [r4, 0x19]\n" - "_0808D75E:\n" - "\tmov r0, sp\n" - "\tldrb r0, [r0]\n" - "_0808D762:\n" - "\tadd sp, 0x4\n" - "\tpop {r3,r4}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tpop {r4-r7}\n" - "\tpop {r1}\n" - "\tbx r1\n" - ".pool"); -} -#endif u8 Unref_TryInitLocalEventObject(u8 localId) { @@ -1675,7 +1516,7 @@ u8 AddPseudoEventObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x { sprite = &gSprites[spriteId]; SetSubspriteTables(sprite, subspriteTables); - sprite->subspriteMode = 2; + sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; } return spriteId; } @@ -1720,7 +1561,7 @@ u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction) if (subspriteTables != NULL) { SetSubspriteTables(sprite, subspriteTables); - sprite->subspriteMode = 2; + sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; } InitObjectPriorityByZCoord(sprite, z); SetObjectSubpriorityByZCoord(z, sprite, 1); @@ -2723,9 +2564,8 @@ bool8 MovementType_WanderAround_Step4(struct EventObject *eventObject, struct Sp SetEventObjectDirection(eventObject, chosenDirection); sprite->data[1] = 5; if (GetCollisionInDirection(eventObject, chosenDirection)) - { sprite->data[1] = 1; - } + return TRUE; } @@ -3093,9 +2933,8 @@ bool8 MovementType_WanderUpAndDown_Step4(struct EventObject *eventObject, struct SetEventObjectDirection(eventObject, direction); sprite->data[1] = 5; if (GetCollisionInDirection(eventObject, direction)) - { sprite->data[1] = 1; - } + return TRUE; } @@ -3163,9 +3002,8 @@ bool8 MovementType_WanderLeftAndRight_Step4(struct EventObject *eventObject, str SetEventObjectDirection(eventObject, direction); sprite->data[1] = 5; if (GetCollisionInDirection(eventObject, direction)) - { sprite->data[1] = 1; - } + return TRUE; } @@ -3952,7 +3790,7 @@ bool8 MovementType_WalkBackAndForth_Step1(struct EventObject *eventObject, struc bool8 MovementType_WalkBackAndForth_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - bool8 collisionState; + bool8 collision; u8 movementActionId; if (eventObject->directionSequenceIndex && eventObject->initialCoords.x == eventObject->currentCoords.x && eventObject->initialCoords.y == eventObject->currentCoords.y) @@ -3960,19 +3798,19 @@ bool8 MovementType_WalkBackAndForth_Step2(struct EventObject *eventObject, struc eventObject->directionSequenceIndex = 0; SetEventObjectDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); } - collisionState = GetCollisionInDirection(eventObject, eventObject->movementDirection); + collision = GetCollisionInDirection(eventObject, eventObject->movementDirection); movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection); - if (collisionState == TRUE) + if (collision == COLLISION_OUTSIDE_RANGE) { eventObject->directionSequenceIndex++; SetEventObjectDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection); - collisionState = GetCollisionInDirection(eventObject, eventObject->movementDirection); + collision = GetCollisionInDirection(eventObject, eventObject->movementDirection); } - if (collisionState) - { + + if (collision) movementActionId = GetWalkInPlaceNormalMovementAction(eventObject->facingDirection); - } + EventObjectSetSingleMovement(eventObject, sprite, movementActionId); eventObject->singleMovementActive = 1; sprite->data[1] = 3; @@ -3998,27 +3836,26 @@ bool8 MovementType_WalkSequence_Step0(struct EventObject *eventObject, struct Sp bool8 MoveNextDirectionInSequence(struct EventObject *eventObject, struct Sprite *sprite, u8 *route) { - u8 collisionState; + u8 collision; u8 movementActionId; if (eventObject->directionSequenceIndex == 3 && eventObject->initialCoords.x == eventObject->currentCoords.x && eventObject->initialCoords.y == eventObject->currentCoords.y) - { eventObject->directionSequenceIndex = 0; - } + SetEventObjectDirection(eventObject, route[eventObject->directionSequenceIndex]); movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection); - collisionState = GetCollisionInDirection(eventObject, eventObject->movementDirection); - if (collisionState == TRUE) + collision = GetCollisionInDirection(eventObject, eventObject->movementDirection); + if (collision == COLLISION_OUTSIDE_RANGE) { eventObject->directionSequenceIndex++; SetEventObjectDirection(eventObject, route[eventObject->directionSequenceIndex]); movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection); - collisionState = GetCollisionInDirection(eventObject, eventObject->movementDirection); + collision = GetCollisionInDirection(eventObject, eventObject->movementDirection); } - if (collisionState) - { + + if (collision) movementActionId = GetWalkInPlaceNormalMovementAction(eventObject->facingDirection); - } + EventObjectSetSingleMovement(eventObject, sprite, movementActionId); eventObject->singleMovementActive = 1; sprite->data[1] = 2; @@ -4589,7 +4426,7 @@ void MovementType_Hidden(struct Sprite *sprite) if (!sprite->data[7]) { gEventObjects[sprite->data[0]].fixedPriority = TRUE; - sprite->subspriteMode = 2; + sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; sprite->oam.priority = 3; sprite->data[7]++; } @@ -4868,22 +4705,20 @@ static u8 GetCollisionInDirection(struct EventObject *eventObject, u8 direction) return GetCollisionAtCoords(eventObject, x, y, direction); } -u8 GetCollisionAtCoords(struct EventObject *eventObject, s16 x, s16 y, u32 dirn) +u8 GetCollisionAtCoords(struct EventObject *eventObject, s16 x, s16 y, u32 dir) { - u8 direction; - - direction = dirn; + u8 direction = dir; if (IsCoordOutsideEventObjectMovementRange(eventObject, x, y)) - return 1; + return COLLISION_OUTSIDE_RANGE; else if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(eventObject, x, y, direction)) - return 2; + return COLLISION_IMPASSABLE; else if (eventObject->trackedByCamera && !CanCameraMoveInDirection(direction)) - return 2; + return COLLISION_IMPASSABLE; else if (IsZCoordMismatchAt(eventObject->currentElevation, x, y)) - return 3; + return COLLISION_ELEVATION_MISMATCH; else if (DoesObjectCollideWithObjectAt(eventObject, x, y)) - return 4; - return 0; + return COLLISION_EVENT_OBJECT; + return COLLISION_NONE; } u8 GetCollisionFlagsAtCoords(struct EventObject *eventObject, s16 x, s16 y, u8 direction) @@ -6819,7 +6654,7 @@ bool8 MovementAction_InitAffineAnim_Step0(struct EventObject *eventObject, struc sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; InitSpriteAffineAnim(sprite); sprite->affineAnimPaused = TRUE; - sprite->subspriteMode = 0; + sprite->subspriteMode = SUBSPRITES_OFF; return TRUE; } @@ -6831,15 +6666,15 @@ bool8 MovementAction_ClearAffineAnim_Step0(struct EventObject *eventObject, stru return TRUE; } -bool8 MovementAction_Unknown1_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_HideReflection_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->unk3_3 = TRUE; + eventObject->hideReflection = TRUE; return TRUE; } -bool8 MovementAction_Unknown2_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_ShowReflection_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->unk3_3 = FALSE; + eventObject->hideReflection = FALSE; return TRUE; } @@ -8849,12 +8684,12 @@ void sub_8097BB4(u8 var1, u8 graphicsId) { sprite->subspriteTables = NULL; sprite->subspriteTableNum = 0; - sprite->subspriteMode = 0; + sprite->subspriteMode = SUBSPRITES_OFF; } else { SetSubspriteTables(sprite, graphicsInfo->subspriteTables); - sprite->subspriteMode = 2; + sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; } StartSpriteAnim(sprite, 0); } diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c index 816929f8b4..849c676b35 100644 --- a/src/evolution_graphics.c +++ b/src/evolution_graphics.c @@ -50,10 +50,10 @@ static const struct SpritePalette sEvoSparkleSpritePals[] = static const struct OamData sOamData_EvoSparkle = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, @@ -141,7 +141,7 @@ static void CreatePreEvoSparkleSet1(u8 arg0) gSprites[spriteID].data[5] = 48; gSprites[spriteID].data[6] = arg0; gSprites[spriteID].data[7] = 0; - gSprites[spriteID].oam.affineMode = 1; + gSprites[spriteID].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteID].oam.matrixNum = 31; gSprites[spriteID].callback = SpriteCB_PreEvoSparkleSet1; } @@ -169,7 +169,7 @@ static void CreatePreEvoSparkleSet2(u8 arg0) gSprites[spriteID].data[5] = 8; gSprites[spriteID].data[6] = arg0; gSprites[spriteID].data[7] = 0; - gSprites[spriteID].oam.affineMode = 1; + gSprites[spriteID].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteID].oam.matrixNum = 25; gSprites[spriteID].subpriority = 1; gSprites[spriteID].callback = SpriteCB_PreEvoSparkleSet2; @@ -198,7 +198,7 @@ static void CreatePostEvoSparkleSet1(u8 arg0, u8 arg1) gSprites[spriteID].data[5] = 120; gSprites[spriteID].data[6] = arg0; gSprites[spriteID].data[7] = 0; - gSprites[spriteID].oam.affineMode = 1; + gSprites[spriteID].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteID].oam.matrixNum = 31; gSprites[spriteID].subpriority = 1; gSprites[spriteID].callback = SpriteCB_PostEvoSparkleSet1; @@ -243,7 +243,7 @@ static void CreatePostEvoSparkleSet2(u8 arg0) gSprites[spriteID].data[3] = 3 - (Random() % 7); gSprites[spriteID].data[5] = 48 + (Random() & 0x3F); gSprites[spriteID].data[7] = 0; - gSprites[spriteID].oam.affineMode = 1; + gSprites[spriteID].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteID].oam.matrixNum = 31; gSprites[spriteID].subpriority = 20; gSprites[spriteID].callback = SpriteCB_PostEvoSparkleSet2; @@ -497,13 +497,13 @@ u8 sub_817C3A0(u8 preEvoSpriteID, u8 postEvoSpriteID) SetOamMatrix(31, toDiv / gTasks[taskID].data[4], 0, 0, toDiv / gTasks[taskID].data[4]); gSprites[preEvoSpriteID].callback = PokeEvoSprite_DummySpriteCB; - gSprites[preEvoSpriteID].oam.affineMode = 1; + gSprites[preEvoSpriteID].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[preEvoSpriteID].oam.matrixNum = 30; gSprites[preEvoSpriteID].invisible = FALSE; CpuSet(stack, &gPlttBufferFaded[0x100 + (gSprites[preEvoSpriteID].oam.paletteNum * 16)], 16); gSprites[postEvoSpriteID].callback = PokeEvoSprite_DummySpriteCB; - gSprites[postEvoSpriteID].oam.affineMode = 1; + gSprites[postEvoSpriteID].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[postEvoSpriteID].oam.matrixNum = 31; gSprites[postEvoSpriteID].invisible = FALSE; CpuSet(stack, &gPlttBufferFaded[0x100 + (gSprites[postEvoSpriteID].oam.paletteNum * 16)], 16); @@ -587,11 +587,11 @@ static void sub_817C560(u8 taskID) static void PreEvoInvisible_PostEvoVisible_KillTask(u8 taskID) { - gSprites[gTasks[taskID].tPreEvoSpriteID].oam.affineMode = 0; + gSprites[gTasks[taskID].tPreEvoSpriteID].oam.affineMode = ST_OAM_AFFINE_OFF; gSprites[gTasks[taskID].tPreEvoSpriteID].oam.matrixNum = 0; gSprites[gTasks[taskID].tPreEvoSpriteID].invisible = TRUE; - gSprites[gTasks[taskID].tPostEvoSpriteID].oam.affineMode = 0; + gSprites[gTasks[taskID].tPostEvoSpriteID].oam.affineMode = ST_OAM_AFFINE_OFF; gSprites[gTasks[taskID].tPostEvoSpriteID].oam.matrixNum = 0; gSprites[gTasks[taskID].tPostEvoSpriteID].invisible = FALSE; @@ -600,11 +600,11 @@ static void PreEvoInvisible_PostEvoVisible_KillTask(u8 taskID) static void PreEvoVisible_PostEvoInvisible_KillTask(u8 taskID) { - gSprites[gTasks[taskID].tPreEvoSpriteID].oam.affineMode = 0; + gSprites[gTasks[taskID].tPreEvoSpriteID].oam.affineMode = ST_OAM_AFFINE_OFF; gSprites[gTasks[taskID].tPreEvoSpriteID].oam.matrixNum = 0; gSprites[gTasks[taskID].tPreEvoSpriteID].invisible = FALSE; - gSprites[gTasks[taskID].tPostEvoSpriteID].oam.affineMode = 0; + gSprites[gTasks[taskID].tPostEvoSpriteID].oam.affineMode = ST_OAM_AFFINE_OFF; gSprites[gTasks[taskID].tPostEvoSpriteID].oam.matrixNum = 0; gSprites[gTasks[taskID].tPostEvoSpriteID].invisible = TRUE; diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 96ca2ed1ca..019d48416c 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle.h" #include "battle_message.h" #include "bg.h" @@ -235,7 +235,7 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, gBattleTerrain = BATTLE_TERRAIN_PLAIN; - sub_80356D0(); + InitBattleBgsVideo(); LoadBattleTextboxAndBackground(); ResetSpriteData(); ScanlineEffect_Stop(); @@ -341,7 +341,7 @@ static void CB2_EvolutionSceneLoadGraphics(void) gBattleTerrain = BATTLE_TERRAIN_PLAIN; - sub_80356D0(); + InitBattleBgsVideo(); LoadBattleTextboxAndBackground(); ResetSpriteData(); FreeAllSpritePalettes(); @@ -406,7 +406,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) gMain.state++; break; case 2: - sub_807F19C(); + InitTradeBg(); gMain.state++; break; case 3: @@ -438,7 +438,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) gSprites[ID].callback = SpriteCallbackDummy_2; gSprites[ID].oam.paletteNum = 2; gMain.state++; - sub_807B154(); + LinkTradeDrawWindow(); } break; case 6: @@ -452,7 +452,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) break; case 7: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); - sub_807B140(); + InitTradeSequenceBgGpuRegs(); ShowBg(0); ShowBg(1); SetMainCallback2(CB2_TradeEvolutionSceneUpdate); @@ -743,12 +743,12 @@ static void Task_EvolutionScene(u8 taskID) GetMonData(mon, MON_DATA_NICKNAME, text); StringCopy10(gBattleTextBuff1, text); - if (var == 0xFFFF) // no place to learn it + if (var == MON_HAS_MAX_MOVES) gTasks[taskID].tState = 22; - else if (var == 0xFFFE) // it already knows that move + else if (var == MON_ALREADY_KNOWS_MOVE) break; else - gTasks[taskID].tState = 20; // has less than 4 moves, so it's been learned + gTasks[taskID].tState = 20; // move has been learned } else // no move to learn { @@ -909,8 +909,8 @@ static void Task_EvolutionScene(u8 taskID) case 6: if (!gPaletteFade.active && gMain.callback2 == CB2_EvolutionSceneUpdate) { - var = sub_81C1B94(); // moveID - if (var == 4) + var = GetMoveSlotToReplace(); + if (var == MAX_MON_MOVES) { gTasks[taskID].tLearnMoveState = 10; } @@ -985,7 +985,7 @@ static void Task_TradeEvolutionScene(u8 taskID) { case 0: StringExpandPlaceholders(gStringVar4, gText_PkmnIsEvolving); - sub_807F1A8(0, gStringVar4, 1); + DrawTextOnTradeWindow(0, gStringVar4, 1); gTasks[taskID].tState++; break; case 1: @@ -1075,7 +1075,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (IsCryFinished()) { StringExpandPlaceholders(gStringVar4, gText_CongratsPkmnEvolved); - sub_807F1A8(0, gStringVar4, 1); + DrawTextOnTradeWindow(0, gStringVar4, 1); PlayFanfare(MUS_FANFA5); gTasks[taskID].tState++; SetMonData(mon, MON_DATA_SPECIES, (&gTasks[taskID].tPostEvoSpecies)); @@ -1100,9 +1100,9 @@ static void Task_TradeEvolutionScene(u8 taskID) GetMonData(mon, MON_DATA_NICKNAME, text); StringCopy10(gBattleTextBuff1, text); - if (var == 0xFFFF) + if (var == MON_HAS_MAX_MOVES) gTasks[taskID].tState = 20; - else if (var == 0xFFFE) + else if (var == MON_ALREADY_KNOWS_MOVE) break; else gTasks[taskID].tState = 18; @@ -1110,7 +1110,7 @@ static void Task_TradeEvolutionScene(u8 taskID) else { PlayBGM(MUS_SHINKA); - sub_807F1A8(0, gText_CommunicationStandby5, 1); + DrawTextOnTradeWindow(0, gText_CommunicationStandby5, 1); gTasks[taskID].tState++; } } @@ -1144,7 +1144,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (EvoScene_IsMonAnimFinished(sEvoStructPtr->preEvoSpriteID)) { StringExpandPlaceholders(gStringVar4, gText_EllipsisQuestionMark); - sub_807F1A8(0, gStringVar4, 1); + DrawTextOnTradeWindow(0, gStringVar4, 1); gTasks[taskID].tEvoWasStopped = 1; gTasks[taskID].tState = 13; } @@ -1155,7 +1155,7 @@ static void Task_TradeEvolutionScene(u8 taskID) BufferMoveToLearnIntoBattleTextBuff2(); PlayFanfare(MUS_FANFA1); BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnsFirstMove = 0x40; // re-used as a counter gTasks[taskID].tState++; } @@ -1172,7 +1172,7 @@ static void Task_TradeEvolutionScene(u8 taskID) { BufferMoveToLearnIntoBattleTextBuff2(); BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState++; } break; @@ -1180,7 +1180,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState++; } break; @@ -1188,7 +1188,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tData7 = 5; gTasks[taskID].tData8 = 9; gTasks[taskID].tLearnMoveState++; @@ -1197,7 +1197,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { LoadUserWindowBorderGfx(0, 0xA8, 0xE0); - CreateYesNoMenu(&gUnknown_0833900C, 0xA8, 0xE, 0); + CreateYesNoMenu(&gTradeEvolutionSceneYesNoWindowTemplate, 0xA8, 0xE, 0); sEvoCursorPos = 0; gTasks[taskID].tLearnMoveState++; sEvoCursorPos = 0; @@ -1209,7 +1209,7 @@ static void Task_TradeEvolutionScene(u8 taskID) case 0: sEvoCursorPos = 0; BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3 - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState = gTasks[taskID].tData7; if (gTasks[taskID].tLearnMoveState == 5) BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); @@ -1218,7 +1218,7 @@ static void Task_TradeEvolutionScene(u8 taskID) case -1: sEvoCursorPos = 1; BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3 - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState = gTasks[taskID].tData8; break; } @@ -1243,8 +1243,8 @@ static void Task_TradeEvolutionScene(u8 taskID) case 6: if (!gPaletteFade.active && gMain.callback2 == CB2_TradeEvolutionSceneUpdate) { - var = sub_81C1B94(); // moveID - if (var == 4) + var = GetMoveSlotToReplace(); + if (var == MAX_MON_MOVES) { gTasks[taskID].tLearnMoveState = 9; } @@ -1254,7 +1254,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (IsHMMove2(move)) { BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState = 11; } else @@ -1264,7 +1264,7 @@ static void Task_TradeEvolutionScene(u8 taskID) RemoveMonPPBonus(mon, var); SetMonMoveSlot(mon, gMoveToLearn, var); BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState++; } } @@ -1274,7 +1274,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState++; } break; @@ -1282,20 +1282,20 @@ static void Task_TradeEvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tState = 18; } break; case 9: BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tData7 = 10; gTasks[taskID].tData8 = 0; gTasks[taskID].tLearnMoveState = 3; break; case 10: BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_ID_ADDER]); - sub_807F1A8(0, gDisplayedStringBattle, 1); + DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1); gTasks[taskID].tState = 13; break; case 11: diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 8a41087f50..4af42ca2fc 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -30,9 +30,11 @@ #include "wild_encounter.h" #include "constants/bg_event_constants.h" #include "constants/event_objects.h" +#include "constants/field_poison.h" #include "constants/map_types.h" #include "constants/maps.h" #include "constants/songs.h" +#include "constants/trainer_hill.h" static EWRAM_DATA u8 sWildEncounterImmunitySteps = 0; static EWRAM_DATA u16 sPreviousPlayerMetatileBehavior = 0; @@ -223,10 +225,10 @@ static bool8 TryStartInteractionScript(struct MapPosition *position, u16 metatil return FALSE; // Don't play interaction sound for certain scripts. - if (script != EventScript_PlayerPCMale - && script != EventScript_PlayerPCFemale - && script != EventScript_SecretBasePC - && script != EventScript_RecordMixingSecretBasePC + if (script != LittlerootTown_BrendansHouse_2F_EventScript_PC + && script != LittlerootTown_MaysHouse_2F_EventScript_PC + && script != SecretBase_EventScript_PC + && script != SecretBase_EventScript_RecordMixingPC && script != SecretBase_EventScript_DollInteract && script != SecretBase_EventScript_CushionInteract && script != EventScript_PC) @@ -355,7 +357,7 @@ static const u8 *GetInteractedBackgroundEventScript(struct MapPosition *position { gSpecialVar_0x8004 = bgEvent->bgUnion.secretBaseId; if (TrySetCurSecretBase()) - return EventScript_2759F1; + return SecretBase_EventScript_CheckEntrance; } return NULL; } @@ -373,14 +375,14 @@ static const u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 me return EventScript_PC; if (MetatileBehavior_IsClosedSootopolisDoor(metatileBehavior) == TRUE) return EventScript_ClosedSootopolisDoor; - if (MetatileBehavior_IsUnknownClosedDoor(metatileBehavior) == TRUE) - return SkyPillar_Outside_EventScript_2393F9; + if (MetatileBehavior_IsSkyPillarClosedDoor(metatileBehavior) == TRUE) + return SkyPillar_Outside_EventScript_ClosedDoor; if (MetatileBehavior_IsCableBoxResults1(metatileBehavior) == TRUE) return EventScript_CableBoxResults; if (MetatileBehavior_IsPokeblockFeeder(metatileBehavior) == TRUE) return EventScript_PokeBlockFeeder; if (MetatileBehavior_IsTrickHousePuzzleDoor(metatileBehavior) == TRUE) - return Route110_TrickHouseEntrance_EventScript_26A22A; + return Route110_TrickHousePuzzle_EventScript_Door; if (MetatileBehavior_IsRegionMap(metatileBehavior) == TRUE) return EventScript_RegionMap; if (MetatileBehavior_IsRunningShoesManual(metatileBehavior) == TRUE) @@ -412,32 +414,32 @@ static const u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 me if (height == MapGridGetZCoordAt(position->x, position->y)) { if (MetatileBehavior_IsSecretBasePC(metatileBehavior) == TRUE) - return EventScript_SecretBasePC; + return SecretBase_EventScript_PC; if (MetatileBehavior_IsRecordMixingSecretBasePC(metatileBehavior) == TRUE) - return EventScript_RecordMixingSecretBasePC; + return SecretBase_EventScript_RecordMixingPC; if (MetatileBehavior_IsSecretBaseSandOrnament(metatileBehavior) == TRUE) - return EventScript_SecretBaseSandOrnament; + return SecretBase_EventScript_SandOrnament; if (MetatileBehavior_IsSecretBaseShieldOrToyTV(metatileBehavior) == TRUE) - return EventScript_SecretBaseShieldOrToyTV; + return SecretBase_EventScript_ShieldOrToyTV; if (MetatileBehavior_IsMB_C6(metatileBehavior) == TRUE) { - SetSecretBaseSecretsTvFlags_MiscFurnature(); + CheckInteractedWithFriendsFurnitureBottom(); return NULL; } if (MetatileBehavior_HoldsLargeDecoration(metatileBehavior) == TRUE) { - SetSecretBaseSecretsTvFlags_LargeDecorationSpot(); + CheckInteractedWithFriendsFurnitureMiddle(); return NULL; } if (MetatileBehavior_HoldsSmallDecoration(metatileBehavior) == TRUE) { - SetSecretBaseSecretsTvFlags_SmallDecorationSpot(); + CheckInteractedWithFriendsFurnitureTop(); return NULL; } } else if (MetatileBehavior_IsSecretBasePoster(metatileBehavior) == TRUE) { - SetSecretBaseSecretsTvFlags_Poster(); + CheckInteractedWithFriendsPosterDecor(); return NULL; } @@ -515,7 +517,7 @@ static bool8 TryStartMiscWalkingScripts(u16 metatileBehavior) } else if (MetatileBehavior_IsBattlePyramidWarp(metatileBehavior)) { - ScriptContext1_SetupScript(BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8); + ScriptContext1_SetupScript(BattlePyramid_WarpToNextFloor); return TRUE; } else if (MetatileBehavior_IsSecretBaseGlitterMat(metatileBehavior) == TRUE) @@ -547,7 +549,7 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior) { if (UpdatePoisonStepCounter() == TRUE) { - ScriptContext1_SetupScript(EventScript_Poison); + ScriptContext1_SetupScript(EventScript_FieldPoison); return TRUE; } if (ShouldEggHatch()) @@ -556,39 +558,39 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior) ScriptContext1_SetupScript(EventScript_EggHatch); return TRUE; } - if (UnusualWeatherHasExpired() == TRUE) + if (AbnormalWeatherHasExpired() == TRUE) { - ScriptContext1_SetupScript(UnusualWeather_EventScript_EndEventAndCleanup_1); + ScriptContext1_SetupScript(AbnormalWeather_EventScript_EndEventAndCleanup_1); return TRUE; } if (ShouldDoBrailleRegicePuzzle() == TRUE) { - ScriptContext1_SetupScript(IslandCave_EventScript_238EAF); + ScriptContext1_SetupScript(IslandCave_EventScript_OpenRegiEntrance); return TRUE; } if (ShouldDoWallyCall() == TRUE) { - ScriptContext1_SetupScript(MauvilleCity_EventScript_1DF7BA); + ScriptContext1_SetupScript(MauvilleCity_EventScript_RegisterWallyCall); return TRUE; } - if (ShouldDoWinonaCall() == TRUE) + if (ShouldDoScottFortreeCall() == TRUE) { - ScriptContext1_SetupScript(Route119_EventScript_1F49EC); + ScriptContext1_SetupScript(Route119_EventScript_ScottWonAtFortreeGymCall); return TRUE; } - if (ShouldDoScottCall() == TRUE) + if (ShouldDoScottBattleFrontierCall() == TRUE) { - ScriptContext1_SetupScript(LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6); + ScriptContext1_SetupScript(LittlerootTown_ProfessorBirchsLab_EventScript_ScottAboardSSTidalCall); return TRUE; } if (ShouldDoRoxanneCall() == TRUE) { - ScriptContext1_SetupScript(RustboroCity_Gym_EventScript_21307B); + ScriptContext1_SetupScript(RustboroCity_Gym_EventScript_RegisterRoxanne); return TRUE; } if (ShouldDoRivalRayquazaCall() == TRUE) { - ScriptContext1_SetupScript(MossdeepCity_SpaceCenter_2F_EventScript_224175); + ScriptContext1_SetupScript(MossdeepCity_SpaceCenter_2F_EventScript_RivalRayquazaCall); return TRUE; } } @@ -597,7 +599,7 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior) return TRUE; if (CountSSTidalStep(1) == TRUE) { - ScriptContext1_SetupScript(SSTidalCorridor_EventScript_23C050); + ScriptContext1_SetupScript(SSTidalCorridor_EventScript_ReachedStepCount); return TRUE; } if (TryStartMatchCall()) @@ -646,11 +648,11 @@ static bool8 UpdatePoisonStepCounter(void) { switch (DoPoisonFieldEffect()) { - case 0: + case FLDPSN_NONE: return FALSE; - case 1: + case FLDPSN_PSN: return FALSE; - case 2: + case FLDPSN_FNT: return TRUE; } } @@ -708,22 +710,22 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB SetupWarp(&gMapHeader, warpEventId, position); if (MetatileBehavior_IsEscalator(metatileBehavior) == TRUE) { - sub_80AF80C(metatileBehavior); + DoEscalatorWarp(metatileBehavior); return TRUE; } if (MetatileBehavior_IsLavaridgeB1FWarp(metatileBehavior) == TRUE) { - sub_80AF828(); + DoLavaridgeGymB1FWarp(); return TRUE; } if (MetatileBehavior_IsLavaridge1FWarp(metatileBehavior) == TRUE) { - sub_80AF838(); + DoLavaridgeGym1FWarp(); return TRUE; } if (MetatileBehavior_IsAquaHideoutWarp(metatileBehavior) == TRUE) { - sub_80AF848(); + DoTeleportWarp(); return TRUE; } if (MetatileBehavior_IsWarpOrBridge(metatileBehavior) == TRUE) @@ -733,12 +735,12 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB } if (MetatileBehavior_IsMtPyreHole(metatileBehavior) == TRUE) { - ScriptContext1_SetupScript(gUnknown_082A8350); + ScriptContext1_SetupScript(EventScript_FallDownHoleMtPyre); return TRUE; } if (MetatileBehavior_IsMossdeepGymWarp(metatileBehavior) == TRUE) { - sub_80AF87C(); + DoMossdeepGymWarp(); return TRUE; } DoWarp(); @@ -792,20 +794,16 @@ static void SetupWarp(struct MapHeader *unused, s8 warpEventId, struct MapPositi if (trainerHillMapId) { - if (trainerHillMapId == sub_81D6490()) + if (trainerHillMapId == GetNumFloorsInTrainerHillChallenge()) { if (warpEventId == 0) - { warpEvent = &gMapHeader.events->warps[0]; - } else - { - warpEvent = sub_81D6120(); - } + warpEvent = SetWarpDestinationTrainerHill4F(); } - else if (trainerHillMapId == 5) + else if (trainerHillMapId == TRAINER_HILL_ROOF) { - warpEvent = sub_81D6134(warpEventId); + warpEvent = SetWarpDestinationTrainerHillFinalFloor(warpEventId); } else { diff --git a/src/field_door.c b/src/field_door.c index c197aca147..8fb5cb948b 100644 --- a/src/field_door.c +++ b/src/field_door.c @@ -9,7 +9,7 @@ #include "constants/maps.h" #include "constants/songs.h" -bool8 sub_808A964(void); +static bool8 ShouldUseMultiCorridorDoor(void); const u8 DoorAnimTiles_04[][0x100] = { @@ -698,14 +698,14 @@ static void DrawDoor(const struct DoorGraphics *gfx, const struct DoorAnimFrame if (frame->offset == 0xFFFF) { DrawClosedDoorTiles(gfx, x, y); - if (sub_808A964()) + if (ShouldUseMultiCorridorDoor()) DrawClosedDoorTiles(gfx, gSpecialVar_0x8004 + 7, gSpecialVar_0x8005 + 7); } else { CopyDoorTilesToVram(gfx, frame); DrawCurrentDoorAnimFrame(gfx, x, y, gfx->palette); - if (sub_808A964()) + if (ShouldUseMultiCorridorDoor()) DrawCurrentDoorAnimFrame(gfx, gSpecialVar_0x8004 + 7, gSpecialVar_0x8005 + 7, gfx->palette); } } @@ -885,11 +885,13 @@ u32 GetDoorSoundEffect(u32 x, u32 y) return SE_DOOR; } -bool8 sub_808A964(void) +// Opens the Battle Tower multi partner's door in sync with the player's door +static bool8 ShouldUseMultiCorridorDoor(void) { - if (FlagGet(FLAG_SPECIAL_FLAG_0x4002)) + if (FlagGet(FLAG_ENABLE_MULTI_CORRIDOR_DOOR)) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR)) { return TRUE; } diff --git a/src/field_effect.c b/src/field_effect.c index 7569bdc75d..6bbd1df3c0 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -28,6 +28,7 @@ #include "util.h" #include "constants/field_effects.h" #include "constants/event_object_movement_constants.h" +#include "constants/metatile_behaviors.h" #include "constants/rgb.h" #include "constants/songs.h" @@ -63,27 +64,27 @@ static void PokeballGlowEffect_7(struct Sprite *); static u8 PokecenterHealEffectHelper(s16, s16); static void HallOfFameRecordEffectHelper(s16, s16, s16, u8); -static void mapldr_080842E8(void); +static void FieldCallback_Fly(void); static void task00_8084310(u8); static void mapldr_08084390(void); static void c3_080843F8(u8); -static void sub_80B6B94(u8); -static bool8 sub_80B6BCC(struct Task *); -static bool8 sub_80B6C74(struct Task *); -static bool8 sub_80B6C90(struct Task *); -static bool8 sub_80B6D04(struct Task *); -static bool8 sub_80B6DBC(struct Task *); -static bool8 sub_80B6DD8(struct Task *); -static bool8 sub_80B6E18(struct Task *); +static void Task_FallWarpFieldEffect(u8); +static bool8 FallWarpEffect_1(struct Task *); +static bool8 FallWarpEffect_2(struct Task *); +static bool8 FallWarpEffect_3(struct Task *); +static bool8 FallWarpEffect_4(struct Task *); +static bool8 FallWarpEffect_5(struct Task *); +static bool8 FallWarpEffect_6(struct Task *); +static bool8 FallWarpEffect_7(struct Task *); -static void sub_80B6E88(u8); -static bool8 sub_80B6EC0(struct Task *); -static bool8 sub_80B6EE0(struct Task *); -static bool8 sub_80B6F50(struct Task *); -static bool8 sub_80B6F74(struct Task *); -static bool8 sub_80B6F84(struct Task *); -static bool8 sub_80B6FA8(struct Task *); +static void Task_EscalatorWarpFieldEffect(u8); +static bool8 EscalatorWarpEffect_1(struct Task *); +static bool8 EscalatorWarpEffect_2(struct Task *); +static bool8 EscalatorWarpEffect_3(struct Task *); +static bool8 EscalatorWarpEffect_4(struct Task *); +static bool8 EscalatorWarpEffect_5(struct Task *); +static bool8 EscalatorWarpEffect_6(struct Task *); static void sub_80B6FB8(struct Task *); static void sub_80B7004(struct Task *); @@ -112,29 +113,27 @@ static bool8 dive_1_lock(struct Task *); static bool8 dive_2_unknown(struct Task *); static bool8 dive_3_unknown(struct Task *); -static void sub_80B75F0(u8); -static bool8 sub_80B764C(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B7684(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B76B8(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B7704(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B77F8(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B7814(struct Task *, struct EventObject *, struct Sprite *); +static void Task_LavaridgeGymB1FWarp(u8); +static bool8 LavaridgeGymB1FWarpEffect_1(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpEffect_2(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpEffect_3(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpEffect_4(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpEffect_5(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpEffect_6(struct Task *, struct EventObject *, struct Sprite *); -static void mapldr_080851BC(void); -static void sub_80B7890(u8); +static void FieldCB_LavaridgeGymB1FWarpExit(void); +static void Task_LavaridgeGymB1FWarpExit(u8); +static bool8 LavaridgeGymB1FWarpExitEffect_1(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpExitEffect_3(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpExitEffect_4(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B78EC(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B791C(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B7968(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B79BC(struct Task *, struct EventObject *, struct Sprite *); - -static void sub_80B7A8C(u8); - -static bool8 sub_80B7AE8(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B7B18(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B7B94(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B7BCC(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B7BF4(struct Task *, struct EventObject *, struct Sprite *); +static void Task_LavaridgeGym1FWarp(u8); +static bool8 LavaridgeGym1FWarpEffect_1(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGym1FWarpEffect_2(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGym1FWarpEffect_3(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGym1FWarpEffect_4(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGym1FWarpEffect_5(struct Task *, struct EventObject *, struct Sprite *); static void DoEscapeRopeFieldEffect(u8); static void EscapeRopeFieldEffect_Step0(struct Task *); @@ -406,20 +405,76 @@ const struct SpriteFrameImage gSpriteImageTable_855C294[] = const struct Subsprite gSubspriteTable_855C29C[] = { - {.x = -12, .y = -8, .priority = 2, .tileOffset = 0, .shape = 1, .size = 0}, - {.x = 4, .y = -8, .priority = 2, .tileOffset = 2, .shape = 0, .size = 0}, - {.x = -12, .y = 0, .priority = 2, .tileOffset = 3, .shape = 1, .size = 0}, - {.x = 4, .y = 0, .priority = 2, .tileOffset = 5, .shape = 0, .size = 0} + { + .x = -12, + .y = -8, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = 4, + .y = -8, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 2, + .priority = 2 + }, + { + .x = -12, + .y = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 3, + .priority = 2 + }, + { + .x = 4, + .y = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 5, + .priority = 2 + } }; const struct SubspriteTable gUnknown_0855C2AC = subsprite_table(gSubspriteTable_855C29C); const struct Subsprite gSubspriteTable_855C2B4[] = { - {.x = -32, .y = -8, .priority = 2, .tileOffset = 0, .shape = 1, .size = 1}, - {.x = 0, .y = -8, .priority = 2, .tileOffset = 4, .shape = 1, .size = 1}, - {.x = -32, .y = 0, .priority = 2, .tileOffset = 8, .shape = 1, .size = 1}, - {.x = 0, .y = 0, .priority = 2, .tileOffset = 12, .shape = 1, .size = 1} + { + .x = -32, + .y = -8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 2 + }, + { + .x = 0, + .y = -8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 2 + }, + { + .x = -32, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 2 + }, + { + .x = 0, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 2 + } }; const struct SubspriteTable gUnknown_0855C2C4 = subsprite_table(gSubspriteTable_855C2B4); @@ -540,25 +595,25 @@ const u8 gUnknown_0855C3BC[] = {16, 12, 8, 0}; const u8 gUnknown_0855C3C0[] = {16, 12, 8, 0}; const u8 gUnknown_0855C3C4[] = { 0, 0, 0, 0}; -bool8 (*const gUnknown_0855C3C8[])(struct Task *) = +bool8 (*const sFallWarpFieldEffectFuncs[])(struct Task *) = { - sub_80B6BCC, - sub_80B6C74, - sub_80B6C90, - sub_80B6D04, - sub_80B6DBC, - sub_80B6DD8, - sub_80B6E18, + FallWarpEffect_1, + FallWarpEffect_2, + FallWarpEffect_3, + FallWarpEffect_4, + FallWarpEffect_5, + FallWarpEffect_6, + FallWarpEffect_7, }; -bool8 (*const gUnknown_0855C3E4[])(struct Task *) = +bool8 (*const sEscalatorWarpFieldEffectFuncs[])(struct Task *) = { - sub_80B6EC0, - sub_80B6EE0, - sub_80B6F50, - sub_80B6F74, - sub_80B6F84, - sub_80B6FA8, + EscalatorWarpEffect_1, + EscalatorWarpEffect_2, + EscalatorWarpEffect_3, + EscalatorWarpEffect_4, + EscalatorWarpEffect_5, + EscalatorWarpEffect_6, }; bool8 (*const gUnknown_0855C3FC[])(struct Task *) = @@ -588,31 +643,31 @@ bool8 (*const gUnknown_0855C42C[])(struct Task *) = dive_3_unknown, }; -bool8 (*const gUnknown_0855C438[])(struct Task *, struct EventObject *, struct Sprite *) = +bool8 (*const sLavaridgeGymB1FWarpEffectFuncs[])(struct Task *, struct EventObject *, struct Sprite *) = { - sub_80B764C, - sub_80B7684, - sub_80B76B8, - sub_80B7704, - sub_80B77F8, - sub_80B7814, + LavaridgeGymB1FWarpEffect_1, + LavaridgeGymB1FWarpEffect_2, + LavaridgeGymB1FWarpEffect_3, + LavaridgeGymB1FWarpEffect_4, + LavaridgeGymB1FWarpEffect_5, + LavaridgeGymB1FWarpEffect_6, }; -bool8 (*const gUnknown_0855C450[])(struct Task *, struct EventObject *, struct Sprite *) = +bool8 (*const sLavaridgeGymB1FWarpExitEffectFuncs[])(struct Task *, struct EventObject *, struct Sprite *) = { - sub_80B78EC, - sub_80B791C, - sub_80B7968, - sub_80B79BC, + LavaridgeGymB1FWarpExitEffect_1, + LavaridgeGymB1FWarpExitEffect_2, + LavaridgeGymB1FWarpExitEffect_3, + LavaridgeGymB1FWarpExitEffect_4, }; -bool8 (*const gUnknown_0855C460[])(struct Task *, struct EventObject *, struct Sprite *) = +bool8 (*const sLavaridgeGym1FWarpEffectFuncs[])(struct Task *, struct EventObject *, struct Sprite *) = { - sub_80B7AE8, - sub_80B7B18, - sub_80B7B94, - sub_80B7BCC, - sub_80B7BF4, + LavaridgeGym1FWarpEffect_1, + LavaridgeGym1FWarpEffect_2, + LavaridgeGym1FWarpEffect_3, + LavaridgeGym1FWarpEffect_4, + LavaridgeGym1FWarpEffect_5, }; void (*const gEscapeRopeFieldEffectFuncs[])(struct Task *) = @@ -870,7 +925,7 @@ u8 CreateMonSprite_FieldMove(u16 species, u32 d, u32 g, s16 x, s16 y, u8 subprio void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId) { ResetPreservedPalettesInWeather(); - if (sprite->oam.affineMode != 0) + if (sprite->oam.affineMode != ST_OAM_AFFINE_OFF) { FreeOamMatrix(sprite->oam.matrixNum); } @@ -1364,15 +1419,15 @@ void SpriteCB_HallOfFameMonitor(struct Sprite *sprite) } -void sub_80B69DC(void) +void ReturnToFieldFromFlyMapSelect(void) { SetMainCallback2(CB2_ReturnToField); - gFieldCallback = mapldr_080842E8; + gFieldCallback = FieldCallback_Fly; } -static void mapldr_080842E8(void) +static void FieldCallback_Fly(void) { - pal_fill_black(); + FadeInFromBlack(); CreateTask(task00_8084310, 0); ScriptContext2_Enable(); FreezeEventObjects(); @@ -1410,7 +1465,7 @@ static void task00_8084310(u8 taskId) static void mapldr_08084390(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_black(); + FadeInFromBlack(); CreateTask(c3_080843F8, 0); gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE; if (gPlayerAvatar.flags & 0x08) @@ -1443,24 +1498,24 @@ static void c3_080843F8(u8 taskId) } } -void sub_80B6B68(void) +void FieldCB_FallWarpExit(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); + WarpFadeInScreen(); ScriptContext2_Enable(); FreezeEventObjects(); - CreateTask(sub_80B6B94, 0); + CreateTask(Task_FallWarpFieldEffect, 0); gFieldCallback = NULL; } -static void sub_80B6B94(u8 taskId) +static void Task_FallWarpFieldEffect(u8 taskId) { struct Task *task; task = &gTasks[taskId]; - while (gUnknown_0855C3C8[task->data[0]](task)); // return code signifies whether to continue blocking here + while (sFallWarpFieldEffectFuncs[task->data[0]](task)); // return code signifies whether to continue blocking here } -static bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0] +static bool8 FallWarpEffect_1(struct Task *task) { struct EventObject *playerObject; struct Sprite *playerSprite; @@ -1473,12 +1528,12 @@ static bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0] task->data[4] = playerSprite->subspriteMode; playerObject->fixedPriority = 1; playerSprite->oam.priority = 1; - playerSprite->subspriteMode = 2; + playerSprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; task->data[0]++; return TRUE; } -static bool8 sub_80B6C74(struct Task *task) // gUnknown_0855C3C8[1] +static bool8 FallWarpEffect_2(struct Task *task) { if (IsWeatherNotFadingIn()) { @@ -1487,7 +1542,7 @@ static bool8 sub_80B6C74(struct Task *task) // gUnknown_0855C3C8[1] return FALSE; } -static bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2] +static bool8 FallWarpEffect_3(struct Task *task) { struct Sprite *sprite; s16 centerToCornerVecY; @@ -1502,7 +1557,7 @@ static bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2] return FALSE; } -static bool8 sub_80B6D04(struct Task *task) +static bool8 FallWarpEffect_4(struct Task *task) { struct EventObject *eventObject; struct Sprite *sprite; @@ -1536,7 +1591,7 @@ static bool8 sub_80B6D04(struct Task *task) return FALSE; } -static bool8 sub_80B6DBC(struct Task *task) +static bool8 FallWarpEffect_5(struct Task *task) { task->data[0]++; task->data[1] = 4; @@ -1545,7 +1600,7 @@ static bool8 sub_80B6DBC(struct Task *task) return TRUE; } -static bool8 sub_80B6DD8(struct Task *task) +static bool8 FallWarpEffect_6(struct Task *task) { SetCameraPanning(0, task->data[1]); task->data[1] = -task->data[1]; @@ -1561,36 +1616,36 @@ static bool8 sub_80B6DD8(struct Task *task) return FALSE; } -static bool8 sub_80B6E18(struct Task *task) +static bool8 FallWarpEffect_7(struct Task *task) { gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); CameraObjectReset1(); UnfreezeEventObjects(); InstallCameraPanAheadCallback(); - DestroyTask(FindTaskIdByFunc(sub_80B6B94)); + DestroyTask(FindTaskIdByFunc(Task_FallWarpFieldEffect)); return FALSE; } -void sub_80B6E4C(u8 a0, u8 priority) +void StartEscalatorWarp(u8 metatileBehavior, u8 priority) { u8 taskId; - taskId = CreateTask(sub_80B6E88, priority); + taskId = CreateTask(Task_EscalatorWarpFieldEffect, priority); gTasks[taskId].data[1] = 0; - if (a0 == 0x6a) + if (metatileBehavior == MB_UP_ESCALATOR) { gTasks[taskId].data[1] = 1; } } -static void sub_80B6E88(u8 taskId) +static void Task_EscalatorWarpFieldEffect(u8 taskId) { struct Task *task; task = &gTasks[taskId]; - while (gUnknown_0855C3E4[task->data[0]](task)); + while (sEscalatorWarpFieldEffectFuncs[task->data[0]](task)); } -static bool8 sub_80B6EC0(struct Task *task) +static bool8 EscalatorWarpEffect_1(struct Task *task) { FreezeEventObjects(); CameraObjectReset2(); @@ -1599,7 +1654,7 @@ static bool8 sub_80B6EC0(struct Task *task) return FALSE; } -static bool8 sub_80B6EE0(struct Task *task) +static bool8 EscalatorWarpEffect_2(struct Task *task) { struct EventObject *eventObject; eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; @@ -1618,7 +1673,7 @@ static bool8 sub_80B6EE0(struct Task *task) return FALSE; } -static bool8 sub_80B6F50(struct Task *task) +static bool8 EscalatorWarpEffect_3(struct Task *task) { sub_80B6FB8(task); if (task->data[2] > 3) @@ -1629,14 +1684,14 @@ static bool8 sub_80B6F50(struct Task *task) return FALSE; } -static bool8 sub_80B6F74(struct Task *task) +static bool8 EscalatorWarpEffect_4(struct Task *task) { sub_80B6FB8(task); sub_80B7060(); return FALSE; } -static bool8 sub_80B6F84(struct Task *task) +static bool8 EscalatorWarpEffect_5(struct Task *task) { sub_80B7004(task); if (task->data[2] > 3) @@ -1647,7 +1702,7 @@ static bool8 sub_80B6F84(struct Task *task) return FALSE; } -static bool8 sub_80B6FA8(struct Task *task) +static bool8 EscalatorWarpEffect_6(struct Task *task) { sub_80B7004(task); sub_80B7060(); @@ -1683,7 +1738,7 @@ static void sub_80B7004(struct Task *task) static void sub_80B7050(void) { TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); } static void sub_80B7060(void) @@ -1694,14 +1749,14 @@ static void sub_80B7060(void) WarpIntoMap(); gFieldCallback = sub_80B70B4; SetMainCallback2(CB2_LoadMap); - DestroyTask(FindTaskIdByFunc(sub_80B6E88)); + DestroyTask(FindTaskIdByFunc(Task_EscalatorWarpFieldEffect)); } } static void sub_80B70B4(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); + WarpFadeInScreen(); ScriptContext2_Enable(); CreateTask(sub_80B70DC, 0); gFieldCallback = NULL; @@ -1938,17 +1993,17 @@ static bool8 dive_3_unknown(struct Task *task) return FALSE; } -void sub_80B75D8(u8 priority) +void StartLavaridgeGymB1FWarp(u8 priority) { - CreateTask(sub_80B75F0, priority); + CreateTask(Task_LavaridgeGymB1FWarp, priority); } -static void sub_80B75F0(u8 taskId) +static void Task_LavaridgeGymB1FWarp(u8 taskId) { - while (gUnknown_0855C438[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); + while (sLavaridgeGymB1FWarpEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); } -static bool8 sub_80B764C(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_1(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { FreezeEventObjects(); CameraObjectReset2(); @@ -1960,7 +2015,7 @@ static bool8 sub_80B764C(struct Task *task, struct EventObject *eventObject, str return TRUE; } -static bool8 sub_80B7684(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_2(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { SetCameraPanning(0, task->data[1]); task->data[1] = -task->data[1]; @@ -1973,7 +2028,7 @@ static bool8 sub_80B7684(struct Task *task, struct EventObject *eventObject, str return FALSE; } -static bool8 sub_80B76B8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_3(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { sprite->pos2.y = 0; task->data[3] = 1; @@ -1987,7 +2042,7 @@ static bool8 sub_80B76B8(struct Task *task, struct EventObject *eventObject, str return TRUE; } -static bool8 sub_80B7704(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { s16 centerToCornerVecY; SetCameraPanning(0, task->data[1]); @@ -2021,7 +2076,7 @@ static bool8 sub_80B7704(struct Task *task, struct EventObject *eventObject, str task->data[5]++; eventObject->fixedPriority = 1; sprite->oam.priority = 1; - sprite->subspriteMode = 2; + sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; } if (task->data[1] == 0 && task->data[4] != 0) { @@ -2030,41 +2085,41 @@ static bool8 sub_80B7704(struct Task *task, struct EventObject *eventObject, str return FALSE; } -static bool8 sub_80B77F8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_5(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); task->data[0]++; return FALSE; } -static bool8 sub_80B7814(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_6(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (!gPaletteFade.active && BGMusicStopped() == TRUE) { WarpIntoMap(); - gFieldCallback = mapldr_080851BC; + gFieldCallback = FieldCB_LavaridgeGymB1FWarpExit; SetMainCallback2(CB2_LoadMap); - DestroyTask(FindTaskIdByFunc(sub_80B75F0)); + DestroyTask(FindTaskIdByFunc(Task_LavaridgeGymB1FWarp)); } return FALSE; } -static void mapldr_080851BC(void) +static void FieldCB_LavaridgeGymB1FWarpExit(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); + WarpFadeInScreen(); ScriptContext2_Enable(); gFieldCallback = NULL; - CreateTask(sub_80B7890, 0); + CreateTask(Task_LavaridgeGymB1FWarpExit, 0); } -static void sub_80B7890(u8 taskId) +static void Task_LavaridgeGymB1FWarpExit(u8 taskId) { - while (gUnknown_0855C450[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); + while (sLavaridgeGymB1FWarpExitEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); } -static bool8 sub_80B78EC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpExitEffect_1(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { CameraObjectReset2(); FreezeEventObjects(); @@ -2074,7 +2129,7 @@ static bool8 sub_80B78EC(struct Task *task, struct EventObject *eventObject, str return FALSE; } -static bool8 sub_80B791C(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (IsWeatherNotFadingIn()) { @@ -2088,7 +2143,7 @@ static bool8 sub_80B791C(struct Task *task, struct EventObject *eventObject, str return FALSE; } -static bool8 sub_80B7968(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpExitEffect_3(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { sprite = &gSprites[task->data[1]]; if (sprite->animCmdIndex > 1) @@ -2102,18 +2157,19 @@ static bool8 sub_80B7968(struct Task *task, struct EventObject *eventObject, str return FALSE; } -static bool8 sub_80B79BC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpExitEffect_4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectClearHeldMovementIfFinished(eventObject)) { gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); UnfreezeEventObjects(); - DestroyTask(FindTaskIdByFunc(sub_80B7890)); + DestroyTask(FindTaskIdByFunc(Task_LavaridgeGymB1FWarpExit)); } return FALSE; } +// For the ash puff effect when warping off the B1F ash tiles u8 FldEff_LavaridgeGymWarp(void) { u8 spriteId; @@ -2124,7 +2180,7 @@ u8 FldEff_LavaridgeGymWarp(void) return spriteId; } -void sub_80B7A58(struct Sprite *sprite) +void SpriteCB_LavaridgeGymWarp(struct Sprite *sprite) { if (sprite->animEnded) { @@ -2132,17 +2188,17 @@ void sub_80B7A58(struct Sprite *sprite) } } -void sub_80B7A74(u8 priority) +void StartLavaridgeGym1FWarp(u8 priority) { - CreateTask(sub_80B7A8C, priority); + CreateTask(Task_LavaridgeGym1FWarp, priority); } -static void sub_80B7A8C(u8 taskId) +static void Task_LavaridgeGym1FWarp(u8 taskId) { - while(gUnknown_0855C460[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); + while(sLavaridgeGym1FWarpEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); } -static bool8 sub_80B7AE8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGym1FWarpEffect_1(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { FreezeEventObjects(); CameraObjectReset2(); @@ -2152,7 +2208,7 @@ static bool8 sub_80B7AE8(struct Task *task, struct EventObject *eventObject, str return FALSE; } -static bool8 sub_80B7B18(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGym1FWarpEffect_2(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectClearHeldMovementIfFinished(eventObject)) { @@ -2174,7 +2230,7 @@ static bool8 sub_80B7B18(struct Task *task, struct EventObject *eventObject, str return FALSE; } -static bool8 sub_80B7B94(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGym1FWarpEffect_3(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (gSprites[task->data[1]].animCmdIndex == 2) { @@ -2184,25 +2240,25 @@ static bool8 sub_80B7B94(struct Task *task, struct EventObject *eventObject, str return FALSE; } -static bool8 sub_80B7BCC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGym1FWarpEffect_4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) { TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); task->data[0]++; } return FALSE; } -static bool8 sub_80B7BF4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGym1FWarpEffect_5(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (!gPaletteFade.active && BGMusicStopped() == TRUE) { WarpIntoMap(); - gFieldCallback = sub_80B6B68; + gFieldCallback = FieldCB_FallWarpExit; SetMainCallback2(CB2_LoadMap); - DestroyTask(FindTaskIdByFunc(sub_80B7A8C)); + DestroyTask(FindTaskIdByFunc(Task_LavaridgeGym1FWarp)); } return FALSE; } @@ -2217,7 +2273,7 @@ u8 FldEff_PopOutOfAsh(void) return spriteId; } -void sub_80B7CAC(struct Sprite *sprite) +void SpriteCB_PopOutOfAsh(struct Sprite *sprite) { if (sprite->animEnded) { @@ -2251,7 +2307,7 @@ static void EscapeRopeFieldEffect_Step1(struct Task *task) if (task->data[14] != 0 && (--task->data[14]) == 0) { TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); } eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) @@ -2284,7 +2340,7 @@ void (*const gUnknown_0855C484[])(struct Task *) = { static void mapldr_080859D4(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); + WarpFadeInScreen(); ScriptContext2_Enable(); FreezeEventObjects(); gFieldCallback = NULL; @@ -2396,15 +2452,15 @@ static void TeleportFieldEffectTask3(struct Task *task) { task->data[3] <<= 1; } - if (task->data[4] > 8 && (sprite->oam.priority = 1, sprite->subspriteMode != 0)) + if (task->data[4] > 8 && (sprite->oam.priority = 1, sprite->subspriteMode != SUBSPRITES_OFF)) { - sprite->subspriteMode = 2; + sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; } if (task->data[4] >= 0xa8) { task->data[0]++; TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); } } @@ -2432,7 +2488,7 @@ static void TeleportFieldEffectTask4(struct Task *task) static void mapldr_08085D88(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); + WarpFadeInScreen(); ScriptContext2_Enable(); FreezeEventObjects(); gFieldCallback = NULL; @@ -2487,9 +2543,9 @@ static void sub_80B830C(struct Task *task) } else { sprite->oam.priority = 1; - if (sprite->subspriteMode != 0) + if (sprite->subspriteMode != SUBSPRITES_OFF) { - sprite->subspriteMode = 2; + sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; } } if (sprite->pos2.y >= -0x30 && task->data[1] > 1 && !(sprite->pos2.y & 1)) @@ -3212,7 +3268,7 @@ static void sub_80B9474(struct Task *task) { if (sub_80B9508(task->data[1])) { - WarpFadeScreen(); + WarpFadeOutScreen(); task->data[0]++; } } @@ -3284,7 +3340,7 @@ static void sub_80B957C(struct Sprite *sprite) { if (sprite->data[0] == 0) { - sprite->oam.affineMode = 3; + sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; sprite->affineAnims = gSpriteAffineAnimTable_0855C548; InitSpriteAffineAnim(sprite); StartSpriteAffineAnim(sprite, 0); @@ -3304,9 +3360,9 @@ static void sub_80B957C(struct Sprite *sprite) if (sprite->data[1] > 0x81) { sprite->data[7]++; - sprite->oam.affineMode = 0; + sprite->oam.affineMode = ST_OAM_AFFINE_OFF; FreeOamMatrix(sprite->oam.matrixNum); - CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, 0); + CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, ST_OAM_AFFINE_OFF); } } } @@ -3337,7 +3393,7 @@ void sub_80B96B0(struct Sprite *sprite) { if (sprite->data[0] == 0) { - sprite->oam.affineMode = 3; + sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; sprite->affineAnims = gSpriteAffineAnimTable_0855C548; InitSpriteAffineAnim(sprite); StartSpriteAffineAnim(sprite, 1); @@ -3368,7 +3424,7 @@ void sub_80B96B0(struct Sprite *sprite) if (sprite->data[3] >= 60) { sprite->data[7]++; - sprite->oam.affineMode = 0; + sprite->oam.affineMode = ST_OAM_AFFINE_OFF; FreeOamMatrix(sprite->oam.matrixNum); sprite->invisible = TRUE; } diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index fb883b105d..547a2851b2 100755 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -129,7 +129,7 @@ static void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite) reflectionSprite->oam.paletteNum = gReflectionEffectPaletteMap[mainSprite->oam.paletteNum]; reflectionSprite->oam.shape = mainSprite->oam.shape; reflectionSprite->oam.size = mainSprite->oam.size; - reflectionSprite->oam.matrixNum = mainSprite->oam.matrixNum | 0x10; + reflectionSprite->oam.matrixNum = mainSprite->oam.matrixNum | ST_OAM_VFLIP; reflectionSprite->oam.tileNum = mainSprite->oam.tileNum; reflectionSprite->subspriteTables = mainSprite->subspriteTables; reflectionSprite->subspriteTableNum = mainSprite->subspriteTableNum; @@ -143,7 +143,7 @@ static void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite) reflectionSprite->pos2.y = -mainSprite->pos2.y; reflectionSprite->coordOffsetEnabled = mainSprite->coordOffsetEnabled; - if (eventObject->unk3_3 == TRUE) + if (eventObject->hideReflection == TRUE) reflectionSprite->invisible = TRUE; // Check if the reflection is not still. @@ -153,7 +153,7 @@ static void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite) // matrix based on whether or not the main sprite is horizontally flipped. // If the sprite is facing to the east, then it is flipped, and its matrixNum is 8. reflectionSprite->oam.matrixNum = 0; - if (mainSprite->oam.matrixNum & 0x8) + if (mainSprite->oam.matrixNum & ST_OAM_HFLIP) reflectionSprite->oam.matrixNum = 1; } } diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 6d62cdc4ab..3b89c185d6 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -71,10 +71,10 @@ static void PlayerNotOnBikeMoving(u8, u16); static u8 CheckForPlayerAvatarCollision(u8); static u8 sub_808B028(u8); static u8 sub_808B164(struct EventObject *, s16, s16, u8, u8); -static bool8 sub_808B1BC(s16, s16, u8); +static bool8 CanStopSurfing(s16, s16, u8); static bool8 ShouldJumpLedge(s16, s16, u8); -static u8 sub_808B238(s16, s16, u8); -static void check_acro_bike_metatile(s16, s16, u8, u8 *); +static bool8 TryPushBoulder(s16, s16, u8); +static void CheckAcroBikeCollision(s16, s16, u8, u8 *); static void DoPlayerAvatarTransition(void); static void PlayerAvatarTransition_Dummy(struct EventObject *a); @@ -115,9 +115,9 @@ static bool8 PlayerAvatar_SecretBaseMatSpinStep1(struct Task *task, struct Event static bool8 PlayerAvatar_SecretBaseMatSpinStep2(struct Task *task, struct EventObject *eventObject); static bool8 PlayerAvatar_SecretBaseMatSpinStep3(struct Task *task, struct EventObject *eventObject); -static void sub_808C750(u8); -static void taskFF_0805D1D4(u8 taskId); -static void sub_808C814(u8 taskId); +static void CreateStopSurfingTask(u8); +static void Task_StopSurfingInit(u8 taskId); +static void Task_WaitStopSurfing(u8 taskId); static void Task_Fishing(u8 taskId); static u8 Fishing1(struct Task *task); @@ -194,7 +194,7 @@ static void (*const gUnknown_08497490[])(u8, u16) = PlayerNotOnBikeMoving, }; -static bool8 (*const gUnknown_0849749C[])(u8) = +static bool8 (*const sAcroBikeTrickMetatiles[])(u8) = { MetatileBehavior_IsBumpySlope, MetatileBehavior_IsIsolatedVerticalRail, @@ -203,7 +203,13 @@ static bool8 (*const gUnknown_0849749C[])(u8) = MetatileBehavior_IsHorizontalRail, }; -static const u8 gUnknown_084974B0[] = {9, 10, 11, 12, 13, 0, 0, 0}; +static const u8 sAcroBikeTrickCollisionTypes[] = { + COLLISION_WHEELIE_HOP, + COLLISION_ISOLATED_VERTICAL_RAIL, + COLLISION_ISOLATED_HORIZONTAL_RAIL, + COLLISION_VERTICAL_RAIL, + COLLISION_HORIZONTAL_RAIL, +}; static void (*const gUnknown_084974B8[])(struct EventObject *) = { @@ -432,19 +438,19 @@ static bool8 ForcedMovement_None(void) static u8 DoForcedMovement(u8 direction, void (*b)(u8)) { struct PlayerAvatar *playerAvatar = &gPlayerAvatar; - u8 collisionType = CheckForPlayerAvatarCollision(direction); + u8 collision = CheckForPlayerAvatarCollision(direction); playerAvatar->flags |= PLAYER_AVATAR_FLAG_6; - if (collisionType != 0) + if (collision) { ForcedMovement_None(); - if (collisionType <= 4) + if (collision < COLLISION_STOP_SURFING) { return 0; } else { - if (collisionType == COLLISION_LEDGE_JUMP) + if (collision == COLLISION_LEDGE_JUMP) PlayerJumpLedge(direction); playerAvatar->flags |= PLAYER_AVATAR_FLAG_6; playerAvatar->runningState = MOVING; @@ -605,33 +611,26 @@ static void PlayerNotOnBikeTurningInPlace(u8 direction, u16 heldKeys) static void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) { - u8 r0 = CheckForPlayerAvatarCollision(direction); + u8 collision = CheckForPlayerAvatarCollision(direction); - if (r0 != 0) + if (collision) { - if (r0 == 6) + if (collision == COLLISION_LEDGE_JUMP) { PlayerJumpLedge(direction); return; } - else if (r0 == 4 && IsPlayerCollidingWithFarawayIslandMew(direction) != 0) + else if (collision == COLLISION_EVENT_OBJECT && IsPlayerCollidingWithFarawayIslandMew(direction)) { PlayerNotOnBikeCollideWithFarawayIslandMew(direction); return; } else { - u8 r4 = r0 - 5; - - if (r4 > 3) - { + u8 adjustedCollision = collision - COLLISION_STOP_SURFING; + if (adjustedCollision > 3) PlayerNotOnBikeCollide(direction); - return; - } - else - { - return; - } + return; } } @@ -677,50 +676,49 @@ static u8 sub_808B028(u8 direction) return sub_808B164(playerEventObj, x, y, direction, MapGridGetMetatileBehaviorAt(x, y)); } -u8 CheckForEventObjectCollision(struct EventObject *a, s16 x, s16 y, u8 direction, u8 e) +u8 CheckForEventObjectCollision(struct EventObject *eventObject, s16 x, s16 y, u8 direction, u8 metatileBehavior) { - u8 collision; + u8 collision = GetCollisionAtCoords(eventObject, x, y, direction); + if (collision == COLLISION_ELEVATION_MISMATCH && CanStopSurfing(x, y, direction)) + return COLLISION_STOP_SURFING; - collision = GetCollisionAtCoords(a, x, y, direction); - if (collision == 3 && sub_808B1BC(x, y, direction)) - return 5; if (ShouldJumpLedge(x, y, direction)) { IncrementGameStat(GAME_STAT_JUMPED_DOWN_LEDGES); return COLLISION_LEDGE_JUMP; } - if (collision == 4 && sub_808B238(x, y, direction)) - return 7; + if (collision == COLLISION_EVENT_OBJECT && TryPushBoulder(x, y, direction)) + return COLLISION_PUSHED_BOULDER; - if (collision == 0) + if (collision == COLLISION_NONE) { if (CheckForRotatingGatePuzzleCollision(direction, x, y)) - return 8; - check_acro_bike_metatile(x, y, e, &collision); + return COLLISION_ROTATING_GATE; + CheckAcroBikeCollision(x, y, metatileBehavior, &collision); } return collision; } -static u8 sub_808B164(struct EventObject *a, s16 x, s16 y, u8 direction, u8 e) +static u8 sub_808B164(struct EventObject *eventObject, s16 x, s16 y, u8 direction, u8 metatileBehavior) { - u8 collision = GetCollisionAtCoords(a, x, y, direction); + u8 collision = GetCollisionAtCoords(eventObject, x, y, direction); - if (collision == 0) + if (collision == COLLISION_NONE) { - if (CheckForRotatingGatePuzzleCollisionWithoutAnimation(direction, x, y) != 0) - return 8; - check_acro_bike_metatile(x, y, e, &collision); + if (CheckForRotatingGatePuzzleCollisionWithoutAnimation(direction, x, y)) + return COLLISION_ROTATING_GATE; + CheckAcroBikeCollision(x, y, metatileBehavior, &collision); } return collision; } -static bool8 sub_808B1BC(s16 x, s16 y, u8 direction) +static bool8 CanStopSurfing(s16 x, s16 y, u8 direction) { if ((gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) && MapGridGetZCoordAt(x, y) == 3 && GetEventObjectIdByXYZ(x, y, 3) == EVENT_OBJECTS_COUNT) { - sub_808C750(direction); + CreateStopSurfingTask(direction); return TRUE; } else @@ -737,7 +735,7 @@ static bool8 ShouldJumpLedge(s16 x, s16 y, u8 z) return FALSE; } -static u8 sub_808B238(s16 x, s16 y, u8 direction) +static bool8 TryPushBoulder(s16 x, s16 y, u8 direction) { if (FlagGet(FLAG_SYS_USE_STRENGTH)) { @@ -748,26 +746,26 @@ static u8 sub_808B238(s16 x, s16 y, u8 direction) x = gEventObjects[eventObjectId].currentCoords.x; y = gEventObjects[eventObjectId].currentCoords.y; MoveCoords(direction, &x, &y); - if (GetCollisionAtCoords(&gEventObjects[eventObjectId], x, y, direction) == 0 + if (GetCollisionAtCoords(&gEventObjects[eventObjectId], x, y, direction) == COLLISION_NONE && MetatileBehavior_IsNonAnimDoor(MapGridGetMetatileBehaviorAt(x, y)) == 0) { StartStrengthAnim(eventObjectId, direction); - return 1; + return TRUE; } } } - return 0; + return FALSE; } -static void check_acro_bike_metatile(s16 unused1, s16 unused2, u8 c, u8 *d) +static void CheckAcroBikeCollision(s16 x, s16 y, u8 metatileBehavior, u8 *collision) { u8 i; - for (i = 0; i < 5; i++) + for (i = 0; i < ARRAY_COUNT(sAcroBikeTrickMetatiles); i++) { - if (gUnknown_0849749C[i](c)) + if (sAcroBikeTrickMetatiles[i](metatileBehavior)) { - *d = gUnknown_084974B0[i]; + *collision = sAcroBikeTrickCollisionTypes[i]; return; } } @@ -1314,7 +1312,8 @@ bool8 IsPlayerFacingSurfableFishableWater(void) s16 y = playerEventObj->currentCoords.y; MoveCoords(playerEventObj->facingDirection, &x, &y); - if (GetCollisionAtCoords(playerEventObj, x, y, playerEventObj->facingDirection) == 3 && PlayerGetZCoord() == 3 + if (GetCollisionAtCoords(playerEventObj, x, y, playerEventObj->facingDirection) == COLLISION_ELEVATION_MISMATCH + && PlayerGetZCoord() == 3 && MetatileBehavior_IsSurfableFishableWater(MapGridGetMetatileBehaviorAt(x, y))) return TRUE; else @@ -1397,11 +1396,11 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_5 | PLAYER_AVATAR_FLAG_ON_FOOT); } -void sub_808C0A8(u8 a) +void SetPlayerInvisibility(bool8 invisible) { - gEventObjects[gPlayerAvatar.eventObjectId].invisible = a; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = invisible; if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) - gSprites[gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId].invisible = a; + gSprites[gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId].invisible = invisible; } void sub_808C114(void) @@ -1626,9 +1625,7 @@ static bool8 PlayerAvatar_SecretBaseMatSpinStep3(struct Task *task, struct Event return FALSE; } -/* Some Field effect */ - -static void sub_808C750(u8 a) +static void CreateStopSurfingTask(u8 direction) { u8 taskId; @@ -1638,12 +1635,12 @@ static void sub_808C750(u8 a) gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_SURFING; gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_ON_FOOT; gPlayerAvatar.preventStep = TRUE; - taskId = CreateTask(taskFF_0805D1D4, 0xFF); - gTasks[taskId].data[0] = a; - taskFF_0805D1D4(taskId); + taskId = CreateTask(Task_StopSurfingInit, 0xFF); + gTasks[taskId].data[0] = direction; + Task_StopSurfingInit(taskId); } -static void taskFF_0805D1D4(u8 taskId) +static void Task_StopSurfingInit(u8 taskId) { struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; @@ -1654,10 +1651,10 @@ static void taskFF_0805D1D4(u8 taskId) } sub_81555AC(playerEventObj->fieldEffectSpriteId, 2); EventObjectSetHeldMovement(playerEventObj, GetJumpSpecialMovementAction((u8)gTasks[taskId].data[0])); - gTasks[taskId].func = sub_808C814; + gTasks[taskId].func = Task_WaitStopSurfing; } -static void sub_808C814(u8 taskId) +static void Task_WaitStopSurfing(u8 taskId) { struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; @@ -2095,7 +2092,7 @@ static void sub_808D094(u8 taskId) object->fixedPriority = TRUE; sprite->oam.priority = 0; sprite->subpriority = 0; - sprite->subspriteMode = 0; + sprite->subspriteMode = SUBSPRITES_OFF; data[0]++; case 1: sub_808D38C(object, &data[1]); @@ -2159,7 +2156,7 @@ static void sub_808D1FC(u8 taskId) object->fixedPriority = TRUE; sprite->oam.priority = 1; sprite->subpriority = 0; - sprite->subspriteMode = 0; + sprite->subspriteMode = SUBSPRITES_OFF; data[0]++; case 1: sub_808D38C(object, &data[1]); diff --git a/src/field_poison.c b/src/field_poison.c index 532c7f0273..8385966d41 100644 --- a/src/field_poison.c +++ b/src/field_poison.c @@ -14,6 +14,8 @@ #include "strings.h" #include "task.h" #include "trainer_hill.h" +#include "constants/field_poison.h" +#include "constants/party_menu.h" #include "constants/species.h" static bool32 IsMonValidSpecies(struct Pokemon *pokemon) @@ -55,14 +57,14 @@ static void FaintFromFieldPoison(u8 partyIdx) static bool32 MonFaintedFromPoison(u8 partyIdx) { struct Pokemon *pokemon = gPlayerParty + partyIdx; - if (IsMonValidSpecies(pokemon) && GetMonData(pokemon, MON_DATA_HP) == 0 && pokemon_ailments_get_primary(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN) + if (IsMonValidSpecies(pokemon) && GetMonData(pokemon, MON_DATA_HP) == 0 && GetAilmentFromStatus(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN) { return TRUE; } return FALSE; } -static void Task_WhiteOut(u8 taskId) +static void Task_TryFieldPoisonWhiteOut(u8 taskId) { s16 *data = gTasks[taskId].data; switch (data[0]) @@ -89,18 +91,18 @@ static void Task_WhiteOut(u8 taskId) case 2: if (AllMonsFainted()) { - if (InBattlePyramid() | InBattlePike() || sub_81D5C18()) + if (InBattlePyramid() | InBattlePike() || InTrainerHillChallenge()) { - gSpecialVar_Result = 2; + gSpecialVar_Result = FLDPSN_FRONTIER_WHITEOUT; } else { - gSpecialVar_Result = 1; + gSpecialVar_Result = FLDPSN_WHITEOUT; } } else { - gSpecialVar_Result = 0; + gSpecialVar_Result = FLDPSN_NO_WHITEOUT; } EnableBothScriptContexts(); DestroyTask(taskId); @@ -108,9 +110,9 @@ static void Task_WhiteOut(u8 taskId) } } -void ExecuteWhiteOut(void) +void TryFieldPoisonWhiteOut(void) { - CreateTask(Task_WhiteOut, 80); + CreateTask(Task_TryFieldPoisonWhiteOut, 80); ScriptContext1_Stop(); } @@ -123,7 +125,7 @@ s32 DoPoisonFieldEffect(void) u32 numFainted = 0; for (i = 0; i < PARTY_SIZE; i++) { - if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) && pokemon_ailments_get_primary(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN) + if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) && GetAilmentFromStatus(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN) { hp = GetMonData(pokemon, MON_DATA_HP); if (hp == 0 || --hp == 0) diff --git a/src/field_region_map.c b/src/field_region_map.c index ac1b26154b..184c49b40c 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -3,7 +3,7 @@ #include "gpu_regs.h" #include "international_string_util.h" #include "main.h" -#include "alloc.h" +#include "malloc.h" #include "menu.h" #include "palette.h" #include "region_map.h" diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 9a5d471569..292152b112 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -28,31 +28,32 @@ #include "task.h" #include "text.h" #include "constants/event_object_movement_constants.h" +#include "constants/event_objects.h" #include "constants/songs.h" #include "constants/rgb.h" #include "trainer_hill.h" #include "event_obj_lock.h" #include "fldeff.h" -extern const u16 gUnknown_82EC7CC[]; +extern const u16 gOrbEffectBackgroundLayerFlags[]; // This file's functions. static void sub_8080B9C(u8); -static void task_map_chg_seq_0807E20C(u8); -static void task_map_chg_seq_0807E2CC(u8); +static void Task_ExitNonAnimDoor(u8); +static void Task_ExitNonDoor(u8); static void task0A_fade_n_map_maybe(u8); static void sub_808115C(u8); -static void palette_bg_faded_fill_white(void); -static void sub_80AF438(u8); +static void FillPalBufferWhite(void); +static void Task_ExitDoor(u8); static bool32 WaitForWeatherFadeIn(void); static void task0A_mpl_807E31C(u8 taskId); -static void sub_80AFA0C(u8 taskId); -static void sub_80AFA88(u8 taskId); -static void task50_0807F0C8(u8); +static void Task_WarpAndLoadMap(u8 taskId); +static void Task_DoDoorWarp(u8 taskId); +static void Task_EnableScriptAfterMusicFade(u8 taskId); // const -const u16 sFlashLevelPixelRadii[] = { 200, 72, 64, 56, 48, 40, 32, 24, 0 }; -const s32 gMaxFlashLevel = 8; +static const u16 sFlashLevelPixelRadii[] = { 200, 72, 64, 56, 48, 40, 32, 24, 0 }; +const s32 gMaxFlashLevel = ARRAY_COUNT(sFlashLevelPixelRadii) - 1; const struct ScanlineEffectParams sFlashEffectParams = { @@ -62,44 +63,44 @@ const struct ScanlineEffectParams sFlashEffectParams = }; // code -static void palette_bg_faded_fill_white(void) +static void FillPalBufferWhite(void) { CpuFastFill16(RGB_WHITE, gPlttBufferFaded, PLTT_SIZE); } -static void palette_bg_faded_fill_black(void) +static void FillPalBufferBlack(void) { CpuFastFill16(RGB_BLACK, gPlttBufferFaded, PLTT_SIZE); } -void pal_fill_for_maplights(void) +void WarpFadeInScreen(void) { u8 previousMapType = GetLastUsedWarpMapType(); switch (GetMapPairFadeFromType(previousMapType, GetCurrentMapType())) { case 0: - palette_bg_faded_fill_black(); + FillPalBufferBlack(); FadeScreen(FADE_FROM_BLACK, 0); break; case 1: - palette_bg_faded_fill_white(); + FillPalBufferWhite(); FadeScreen(FADE_FROM_WHITE, 0); } } -static void sub_80AF08C(void) +void FadeInFromWhite(void) { - palette_bg_faded_fill_white(); + FillPalBufferWhite(); FadeScreen(FADE_FROM_WHITE, 8); } -void pal_fill_black(void) +void FadeInFromBlack(void) { - palette_bg_faded_fill_black(); + FillPalBufferBlack(); FadeScreen(FADE_FROM_BLACK, 0); } -void WarpFadeScreen(void) +void WarpFadeOutScreen(void) { u8 currentMapType = GetCurrentMapType(); switch (GetMapPairFadeToType(currentMapType, GetDestinationWarpMapHeader()->mapType)) @@ -112,26 +113,26 @@ void WarpFadeScreen(void) } } -static void sub_80AF0F4(u8 arg) +static void SetPlayerVisibility(bool8 visible) { - sub_808C0A8(!arg); + SetPlayerInvisibility(!visible); } -static void task0A_nop_for_a_while(u8 taskId) +static void Task_WaitForUnionRoomFade(u8 taskId) { if (WaitForWeatherFadeIn() == TRUE) DestroyTask(taskId); } -void sub_80AF128(void) +void FieldCB_ContinueScriptUnionRoom(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - pal_fill_black(); - CreateTask(task0A_nop_for_a_while, 10); + FadeInFromBlack(); + CreateTask(Task_WaitForUnionRoomFade, 10); } -static void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskID) +static void Task_WaitForFadeAndEnableScriptCtx(u8 taskID) { if (WaitForWeatherFadeIn() == TRUE) { @@ -140,22 +141,22 @@ static void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskID) } } -void FieldCallback_ReturnToEventScript2(void) +void FieldCB_ContinueScriptHandleMusic(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - pal_fill_black(); - CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10); + FadeInFromBlack(); + CreateTask(Task_WaitForFadeAndEnableScriptCtx, 10); } -void sub_80AF188(void) +void FieldCB_ContinueScript(void) { ScriptContext2_Enable(); - pal_fill_black(); - CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10); + FadeInFromBlack(); + CreateTask(Task_WaitForFadeAndEnableScriptCtx, 10); } -static void task_mpl_807DD60(u8 taskId) +static void Task_ReturnToFieldCableLink(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -168,7 +169,7 @@ static void task_mpl_807DD60(u8 taskId) case 1: if (gTasks[task->data[1]].isActive != TRUE) { - pal_fill_for_maplights(); + WarpFadeInScreen(); task->data[0]++; } break; @@ -182,15 +183,15 @@ static void task_mpl_807DD60(u8 taskId) } } -void sub_80AF214(void) +void FieldCB_ReturnToFieldCableLink(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - palette_bg_faded_fill_black(); - CreateTask(task_mpl_807DD60, 10); + FillPalBufferBlack(); + CreateTask(Task_ReturnToFieldCableLink, 10); } -static void sub_80AF234(u8 taskId) +static void Task_ReturnToFieldWirelessLink(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -208,7 +209,7 @@ static void sub_80AF234(u8 taskId) } else { - pal_fill_for_maplights(); + WarpFadeInScreen(); task->data[0]++; } break; @@ -223,7 +224,7 @@ static void sub_80AF234(u8 taskId) } } -void sub_80AF2B4(u8 taskId) +void Task_ReturnToFieldRecordMixing(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -248,15 +249,15 @@ void sub_80AF2B4(u8 taskId) } } -void sub_80AF314(void) +void FieldCB_ReturnToFieldWirelessLink(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - palette_bg_faded_fill_black(); - CreateTask(sub_80AF234, 10); + FillPalBufferBlack(); + CreateTask(Task_ReturnToFieldWirelessLink, 10); } -static void sub_80AF334(void) +static void SetUpWarpExitTask(void) { s16 x, y; u8 behavior; @@ -265,59 +266,59 @@ static void sub_80AF334(void) PlayerGetDestCoords(&x, &y); behavior = MapGridGetMetatileBehaviorAt(x, y); if (MetatileBehavior_IsDoor(behavior) == TRUE) - func = sub_80AF438; + func = Task_ExitDoor; else if (MetatileBehavior_IsNonAnimDoor(behavior) == TRUE) - func = task_map_chg_seq_0807E20C; + func = Task_ExitNonAnimDoor; else - func = task_map_chg_seq_0807E2CC; + func = Task_ExitNonDoor; CreateTask(func, 10); } -void mapldr_default(void) +void FieldCB_DefaultWarpExit(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); - sub_80AF334(); + WarpFadeInScreen(); + SetUpWarpExitTask(); ScriptContext2_Enable(); } -void sub_80AF3B0(void) +void FieldCB_WarpExitFadeFromWhite(void) { Overworld_PlaySpecialMapMusic(); - sub_80AF08C(); - sub_80AF334(); + FadeInFromWhite(); + SetUpWarpExitTask(); ScriptContext2_Enable(); } -void sub_80AF3C8(void) +void FieldCB_WarpExitFadeFromBlack(void) { - if (!sub_81D6534()) + if (!sub_81D6534()) // sub_81D6534 always returns false Overworld_PlaySpecialMapMusic(); - pal_fill_black(); - sub_80AF334(); + FadeInFromBlack(); + SetUpWarpExitTask(); ScriptContext2_Enable(); } -void sub_80AF3E8(void) +static void FieldCB_TeleportWarpExit(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); + WarpFadeInScreen(); PlaySE(SE_TK_WARPOUT); CreateTask(task0A_mpl_807E31C, 10); ScriptContext2_Enable(); } -void sub_80AF40C(void) +static void FieldCB_MossdeepGymWarpExit(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); + WarpFadeInScreen(); PlaySE(SE_TK_WARPOUT); - CreateTask(task_map_chg_seq_0807E2CC, 10); + CreateTask(Task_ExitNonDoor, 10); ScriptContext2_Enable(); sub_8085540(0xE); } -static void sub_80AF438(u8 taskId) +static void Task_ExitDoor(u8 taskId) { struct Task *task = &gTasks[taskId]; s16 *x = &task->data[2]; @@ -326,7 +327,7 @@ static void sub_80AF438(u8 taskId) switch (task->data[0]) { case 0: - sub_80AF0F4(0); + SetPlayerVisibility(FALSE); FreezeEventObjects(); PlayerGetDestCoords(x, y); FieldSetDoorOpened(*x, *y); @@ -336,18 +337,18 @@ static void sub_80AF438(u8 taskId) if (WaitForWeatherFadeIn()) { u8 eventObjId; - sub_80AF0F4(1); - eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + SetPlayerVisibility(TRUE); + eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectSetHeldMovement(&gEventObjects[eventObjId], MOVEMENT_ACTION_WALK_NORMAL_DOWN); task->data[0] = 2; } break; case 2: - if (walkrun_is_standing_still()) + if (IsPlayerStandingStill()) { u8 eventObjId; task->data[1] = FieldAnimateDoorClose(*x, *y); - eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]); task->data[0] = 3; } @@ -366,7 +367,7 @@ static void sub_80AF438(u8 taskId) } } -static void task_map_chg_seq_0807E20C(u8 taskId) +static void Task_ExitNonAnimDoor(u8 taskId) { struct Task *task = &gTasks[taskId]; s16 *x = &task->data[2]; @@ -375,7 +376,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId) switch (task->data[0]) { case 0: - sub_80AF0F4(0); + SetPlayerVisibility(FALSE); FreezeEventObjects(); PlayerGetDestCoords(x, y); task->data[0] = 1; @@ -384,14 +385,14 @@ static void task_map_chg_seq_0807E20C(u8 taskId) if (WaitForWeatherFadeIn()) { u8 eventObjId; - sub_80AF0F4(1); - eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + SetPlayerVisibility(TRUE); + eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectSetHeldMovement(&gEventObjects[eventObjId], GetWalkNormalMovementAction(GetPlayerFacingDirection())); task->data[0] = 2; } break; case 2: - if (walkrun_is_standing_still()) + if (IsPlayerStandingStill()) { UnfreezeEventObjects(); task->data[0] = 3; @@ -404,7 +405,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId) } } -static void task_map_chg_seq_0807E2CC(u8 taskId) +static void Task_ExitNonDoor(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -424,25 +425,25 @@ static void task_map_chg_seq_0807E2CC(u8 taskId) } } -static void sub_80AF660(u8 taskId) +static void Task_WaitForFadeShowStartMenu(u8 taskId) { if (WaitForWeatherFadeIn() == TRUE) { DestroyTask(taskId); - CreateTask(sub_809FA34, 80); + CreateTask(Task_ShowStartMenu, 80); } } -void sub_80AF688(void) +void ReturnToFieldOpenStartMenu(void) { - pal_fill_black(); - CreateTask(sub_80AF660, 0x50); + FadeInFromBlack(); + CreateTask(Task_WaitForFadeShowStartMenu, 0x50); ScriptContext2_Enable(); } -bool8 sub_80AF6A4(void) +bool8 FieldCB_ReturnToFieldOpenStartMenu(void) { - sub_809FA18(); + ShowReturnToFieldStartMenu(); return FALSE; } @@ -459,7 +460,7 @@ static void task_mpl_807E3C8(u8 taskId) void sub_80AF6D4(void) { ScriptContext2_Enable(); - pal_fill_black(); + FadeInFromBlack(); CreateTask(task_mpl_807E3C8, 10); } @@ -467,7 +468,7 @@ void sub_80AF6F0(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - pal_fill_black(); + FadeInFromBlack(); CreateTask(task_mpl_807E3C8, 10); } @@ -488,92 +489,92 @@ void DoWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); PlayRainStoppingSoundEffect(); PlaySE(SE_KAIDAN); - gFieldCallback = mapldr_default; - CreateTask(sub_80AFA0C, 10); + gFieldCallback = FieldCB_DefaultWarpExit; + CreateTask(Task_WarpAndLoadMap, 10); } void DoDiveWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); PlayRainStoppingSoundEffect(); - gFieldCallback = mapldr_default; - CreateTask(sub_80AFA0C, 10); + gFieldCallback = FieldCB_DefaultWarpExit; + CreateTask(Task_WarpAndLoadMap, 10); } -void sub_80AF79C(void) +void DoSootopolisLegendWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); FadeScreen(FADE_TO_WHITE, 8); PlayRainStoppingSoundEffect(); - gFieldCallback = sub_80AF3B0; - CreateTask(sub_80AFA0C, 10); + gFieldCallback = FieldCB_WarpExitFadeFromWhite; + CreateTask(Task_WarpAndLoadMap, 10); } void DoDoorWarp(void) { ScriptContext2_Enable(); - gFieldCallback = mapldr_default; - CreateTask(sub_80AFA88, 10); + gFieldCallback = FieldCB_DefaultWarpExit; + CreateTask(Task_DoDoorWarp, 10); } void DoFallWarp(void) { DoDiveWarp(); - gFieldCallback = sub_80B6B68; + gFieldCallback = FieldCB_FallWarpExit; } -void sub_80AF80C(u8 metatileBehavior) +void DoEscalatorWarp(u8 metatileBehavior) { ScriptContext2_Enable(); - sub_80B6E4C(metatileBehavior, 10); + StartEscalatorWarp(metatileBehavior, 10); } -void sub_80AF828(void) +void DoLavaridgeGymB1FWarp(void) { ScriptContext2_Enable(); - sub_80B75D8(10); + StartLavaridgeGymB1FWarp(10); } -void sub_80AF838(void) +void DoLavaridgeGym1FWarp(void) { ScriptContext2_Enable(); - sub_80B7A74(10); + StartLavaridgeGym1FWarp(10); } -void sub_80AF848(void) +void DoTeleportWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); PlaySE(SE_TK_WARPIN); - CreateTask(sub_80AFA0C, 10); - gFieldCallback = sub_80AF3E8; + CreateTask(Task_WarpAndLoadMap, 10); + gFieldCallback = FieldCB_TeleportWarpExit; } -void sub_80AF87C(void) +void DoMossdeepGymWarp(void) { sub_8085540(1); ScriptContext2_Enable(); SaveEventObjects(); TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); PlaySE(SE_TK_WARPIN); - CreateTask(sub_80AFA0C, 10); - gFieldCallback = sub_80AF40C; + CreateTask(Task_WarpAndLoadMap, 10); + gFieldCallback = FieldCB_MossdeepGymWarpExit; } -void sub_80AF8B8(void) +void DoPortholeWarp(void) { ScriptContext2_Enable(); - WarpFadeScreen(); - CreateTask(sub_80AFA0C, 10); - gFieldCallback = sub_80FB768; + WarpFadeOutScreen(); + CreateTask(Task_WarpAndLoadMap, 10); + gFieldCallback = FieldCB_ShowPortholeView; } static void sub_80AF8E0(u8 taskId) @@ -592,17 +593,17 @@ static void sub_80AF8E0(u8 taskId) break; case 2: WarpIntoMap(); - SetMainCallback2(sub_8086074); + SetMainCallback2(CB2_ReturnToFieldCableClub); DestroyTask(taskId); break; } } -void sub_80AF948(void) +void DoCableClubWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); PlaySE(SE_KAIDAN); CreateTask(sub_80AF8E0, 10); } @@ -638,12 +639,12 @@ static void Task_ReturnToWorldFromLinkRoom(u8 taskId) } } -void sub_80AF9F8(void) +void ReturnFromLinkRoom(void) { CreateTask(Task_ReturnToWorldFromLinkRoom, 10); } -static void sub_80AFA0C(u8 taskId) +static void Task_WarpAndLoadMap(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -674,7 +675,7 @@ static void sub_80AFA0C(u8 taskId) } } -static void sub_80AFA88(u8 taskId) +static void Task_DoDoorWarp(u8 taskId) { struct Task *task = &gTasks[taskId]; s16 *x = &task->data[2]; @@ -693,21 +694,21 @@ static void sub_80AFA88(u8 taskId) if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) { u8 eventObjId; - eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfActive(&gEventObjects[eventObjId]); - eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectSetHeldMovement(&gEventObjects[eventObjId], MOVEMENT_ACTION_WALK_NORMAL_UP); task->data[0] = 2; } break; case 2: - if (walkrun_is_standing_still()) + if (IsPlayerStandingStill()) { u8 eventObjId; task->data[1] = FieldAnimateDoorClose(*x, *y - 1); - eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]); - sub_80AF0F4(0); + SetPlayerVisibility(FALSE); task->data[0] = 3; } break; @@ -719,10 +720,10 @@ static void sub_80AFA88(u8 taskId) break; case 4: TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); PlayRainStoppingSoundEffect(); task->data[0] = 0; - task->func = sub_80AFA0C; + task->func = Task_WarpAndLoadMap; break; } } @@ -752,14 +753,14 @@ static void task0A_fade_n_map_maybe(u8 taskId) } } -void sub_80AFC60(void) +void DoContestHallWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); PlayRainStoppingSoundEffect(); PlaySE(SE_KAIDAN); - gFieldCallback = sub_80AF3C8; + gFieldCallback = FieldCB_WarpExitFadeFromBlack; CreateTask(task0A_fade_n_map_maybe, 10); } @@ -800,7 +801,7 @@ static void SetFlashScanlineEffectWindowBoundaries(u16 *dest, s32 centerX, s32 c } } -static void SetFlash2ScanlineEffectWindowBoundary(u16 *dest, u32 y, s32 left, s32 right) +static void SetOrbFlashScanlineEffectWindowBoundary(u16 *dest, u32 y, s32 left, s32 right) { if (y <= 160) { @@ -816,17 +817,17 @@ static void SetFlash2ScanlineEffectWindowBoundary(u16 *dest, u32 y, s32 left, s3 } } -static void SetFlash2ScanlineEffectWindowBoundaries(u16 *dest, s32 centerX, s32 centerY, s32 radius) +static void SetOrbFlashScanlineEffectWindowBoundaries(u16 *dest, s32 centerX, s32 centerY, s32 radius) { s32 r = radius; s32 v2 = radius; s32 v3 = 0; while (r >= v3) { - SetFlash2ScanlineEffectWindowBoundary(dest, centerY - v3, centerX - r, centerX + r); - SetFlash2ScanlineEffectWindowBoundary(dest, centerY + v3, centerX - r, centerX + r); - SetFlash2ScanlineEffectWindowBoundary(dest, centerY - r, centerX - v3, centerX + v3); - SetFlash2ScanlineEffectWindowBoundary(dest, centerY + r, centerX - v3, centerX + v3); + SetOrbFlashScanlineEffectWindowBoundary(dest, centerY - v3, centerX - r, centerX + r); + SetOrbFlashScanlineEffectWindowBoundary(dest, centerY + v3, centerX - r, centerX + r); + SetOrbFlashScanlineEffectWindowBoundary(dest, centerY - r, centerX - v3, centerX + v3); + SetOrbFlashScanlineEffectWindowBoundary(dest, centerY + r, centerX - v3, centerX + v3); v2 -= (v3 * 2) - 1; v3++; if (v2 < 0) @@ -878,18 +879,18 @@ static void UpdateFlashLevelEffect(u8 taskId) } } -static void UpdateFlash2LevelEffect(u8 taskId) +static void UpdateOrbFlashEffect(u8 taskId) { s16 *data = gTasks[taskId].data; switch (data[0]) { case 0: - SetFlash2ScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius); + SetOrbFlashScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius); data[0] = 1; break; case 1: - SetFlash2ScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius); + SetOrbFlashScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius); data[0] = 0; tCurFlashRadius += tFlashRadiusDelta; if (tCurFlashRadius > tDestFlashRadius) @@ -948,7 +949,7 @@ static u8 sub_80AFFDC(s32 centerX, s32 centerY, s32 initialFlashRadius, s32 dest static u8 sub_80B003C(s32 centerX, s32 centerY, s32 initialFlashRadius, s32 destFlashRadius, s32 clearScanlineEffect, u8 delta) { - u8 taskId = CreateTask(UpdateFlash2LevelEffect, 80); + u8 taskId = CreateTask(UpdateOrbFlashEffect, 80); s16 *data = gTasks[taskId].data; tCurFlashRadius = initialFlashRadius; @@ -970,7 +971,7 @@ static u8 sub_80B003C(s32 centerX, s32 centerY, s32 initialFlashRadius, s32 dest #undef tFlashRadiusDelta #undef tClearScanlineEffect -void sub_80B009C(u8 flashLevel) +void AnimateFlash(u8 flashLevel) { u8 curFlashLevel = Overworld_GetFlashLevel(); u8 value = 0; @@ -1033,7 +1034,7 @@ static void sub_80B01BC(u8 taskId) case 1: if (!sub_808D1E8()) { - WarpFadeScreen(); + WarpFadeOutScreen(); task->data[0]++; } break; @@ -1052,23 +1053,23 @@ static void sub_80B01BC(u8 taskId) void sub_80B0244(void) { ScriptContext2_Enable(); - CreateTask(sub_80AFA0C, 10); - gFieldCallback = sub_80AF3E8; + CreateTask(Task_WarpAndLoadMap, 10); + gFieldCallback = FieldCB_TeleportWarpExit; } void sub_80B0268(void) { ScriptContext2_Enable(); - gFieldCallback = mapldr_default; + gFieldCallback = FieldCB_DefaultWarpExit; CreateTask(sub_80B01BC, 10); } -static void sub_80B028C(u8 a1) +static void LoadOrbEffectPalette(bool8 blueOrb) { int i; u16 color[1]; - if (!a1) + if (!blueOrb) color[0] = RGB_RED; else color[0] = RGB_BLUE; @@ -1079,12 +1080,12 @@ static void sub_80B028C(u8 a1) } } -static bool8 sub_80B02C8(u16 a1) +static bool8 sub_80B02C8(u16 shakeDir) { u8 lo = REG_BLDALPHA & 0xFF; u8 hi = REG_BLDALPHA >> 8; - if (a1) + if (shakeDir != 0) { if (lo) { @@ -1107,58 +1108,69 @@ static bool8 sub_80B02C8(u16 a1) return FALSE; } -static void sub_80B0318(u8 taskId) +#define tState data[0] +#define tBlueOrb data[1] +#define tCenterX data[2] +#define tCenterY data[3] +#define tShakeDelay data[4] +#define tShakeDir data[5] +#define tDispCnt data[6] +#define tBldCnt data[7] +#define tBldAlpha data[8] +#define tWinIn data[9] +#define tWinOut data[10] + +static void Task_OrbEffect(u8 taskId) { s16 *data = gTasks[taskId].data; - switch (data[0]) + switch (tState) { case 0: - data[6] = REG_DISPCNT; - data[7] = REG_BLDCNT; - data[8] = REG_BLDALPHA; - data[9] = REG_WININ; - data[10] = REG_WINOUT; + tDispCnt = REG_DISPCNT; + tBldCnt = REG_BLDCNT; + tBldAlpha = REG_BLDALPHA; + tWinIn = REG_WININ; + tWinOut = REG_WINOUT; ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN1_ON); - SetGpuRegBits(REG_OFFSET_BLDCNT, gUnknown_82EC7CC[0]); + SetGpuRegBits(REG_OFFSET_BLDCNT, gOrbEffectBackgroundLayerFlags[0]); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 7)); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR); SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ); - sub_8199C30(0, 0, 0, 0x1E, 0x14, 0xF); + SetBgTilemapPalette(0, 0, 0, 0x1E, 0x14, 0xF); schedule_bg_copy_tilemap_to_vram(0); - SetFlash2ScanlineEffectWindowBoundaries(&gScanlineEffectRegBuffers[0][0], data[2], data[3], 1); + SetOrbFlashScanlineEffectWindowBoundaries(&gScanlineEffectRegBuffers[0][0], tCenterX, tCenterY, 1); CpuFastSet(&gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 480); ScanlineEffect_SetParams(sFlashEffectParams); - data[0] = 1; + tState = 1; break; case 1: sub_8199DF0(0, PIXEL_FILL(1), 0, 1); - sub_80B028C(data[1]); - sub_80B003C(data[2], data[3], 1, 160, 1, 2); - data[0] = 2; + LoadOrbEffectPalette(tBlueOrb); + sub_80B003C(tCenterX, tCenterY, 1, 160, 1, 2); + tState = 2; break; case 2: - if (!FuncIsActiveTask(UpdateFlash2LevelEffect)) + if (!FuncIsActiveTask(UpdateOrbFlashEffect)) { EnableBothScriptContexts(); - data[0] = 3; + tState = 3; } break; case 3: InstallCameraPanAheadCallback(); SetCameraPanningCallback(NULL); - data[5] = 0; - data[4] = 4; - data[0] = 4; + tShakeDir = 0; + tShakeDelay = 4; + tState = 4; break; case 4: - data[4]--; - if (!data[4]) + if (--tShakeDelay == 0) { s32 panning; - data[4] = 4; - data[5] ^= 1; - if (data[5]) + tShakeDelay = 4; + tShakeDir ^= 1; + if (tShakeDir) panning = 4; else panning = -4; @@ -1167,77 +1179,88 @@ static void sub_80B0318(u8 taskId) break; case 6: InstallCameraPanAheadCallback(); - data[4] = 8; - data[0] = 7; + tShakeDelay = 8; + tState = 7; break; case 7: - data[4]--; - if (!data[4]) + if (--tShakeDelay == 0) { - data[4] = 8; - data[5] ^= 1; - if (sub_80B02C8(data[5]) == TRUE) + tShakeDelay = 8; + tShakeDir ^= 1; + if (sub_80B02C8(tShakeDir) == TRUE) { - data[0] = 5; + tState = 5; sub_8199DF0(0, PIXEL_FILL(0), 0, 1); } } break; case 5: SetGpuReg(REG_OFFSET_WIN0H, 255); - SetGpuReg(REG_OFFSET_DISPCNT, data[6]); - SetGpuReg(REG_OFFSET_BLDCNT, data[7]); - SetGpuReg(REG_OFFSET_BLDALPHA, data[8]); - SetGpuReg(REG_OFFSET_WININ, data[9]); - SetGpuReg(REG_OFFSET_WINOUT, data[10]); + SetGpuReg(REG_OFFSET_DISPCNT, tDispCnt); + SetGpuReg(REG_OFFSET_BLDCNT, tBldCnt); + SetGpuReg(REG_OFFSET_BLDALPHA, tBldAlpha); + SetGpuReg(REG_OFFSET_WININ, tWinIn); + SetGpuReg(REG_OFFSET_WINOUT, tWinOut); EnableBothScriptContexts(); DestroyTask(taskId); break; } } -void sub_80B0534(void) +void DoOrbEffect(void) { - u8 taskId = CreateTask(sub_80B0318, 80); + u8 taskId = CreateTask(Task_OrbEffect, 80); s16 *data = gTasks[taskId].data; if (gSpecialVar_Result == 0) { - data[1] = 0; - data[2] = 104; + tBlueOrb = FALSE; + tCenterX = 104; } else if (gSpecialVar_Result == 1) { - data[1] = 1; - data[2] = 136; + tBlueOrb = TRUE; + tCenterX = 136; } else if (gSpecialVar_Result == 2) { - data[1] = 0; - data[2] = 120; + tBlueOrb = FALSE; + tCenterX = 120; } else { - data[1] = 1; - data[2] = 120; + tBlueOrb = TRUE; + tCenterX = 120; } - data[3] = 80; + tCenterY = 80; } -void sub_80B058C(void) +void FadeOutOrbEffect(void) { - u8 taskId = FindTaskIdByFunc(sub_80B0318); - gTasks[taskId].data[0] = 6; + u8 taskId = FindTaskIdByFunc(Task_OrbEffect); + gTasks[taskId].tState = 6; } -void sub_80B05B4(void) +#undef tState +#undef tBlueOrb +#undef tCenterX +#undef tCenterY +#undef tShakeDelay +#undef tShakeDir +#undef tDispCnt +#undef tBldCnt +#undef tBldAlpha +#undef tWinIn +#undef tWinOut + +void Script_FadeOutMapMusic(void) { Overworld_FadeOutMapMusic(); - CreateTask(task50_0807F0C8, 80); + CreateTask(Task_EnableScriptAfterMusicFade, 80); } -static void task50_0807F0C8(u8 taskId) +static void Task_EnableScriptAfterMusicFade(u8 taskId) { if (BGMusicStopped() == TRUE) { diff --git a/src/field_special_scene.c b/src/field_special_scene.c index dbf68e1a2b..267198f79f 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -14,6 +14,8 @@ #include "sprite.h" #include "task.h" #include "constants/event_objects.h" +#include "constants/event_object_movement_constants.h" +#include "constants/field_specials.h" #include "constants/songs.h" #include "constants/vars.h" #include "constants/metatile_labels.h" @@ -31,8 +33,18 @@ enum //. rodata static const s8 gTruckCamera_HorizontalTable[] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, -1, -1, -1, 0}; -const u8 gUnknown_0858E8AB[] = {0x18, 0xFE}; -const u8 gUnknown_0858E8AD[] = {0x17, 0xFE}; + +static const u8 sSSTidalSailEastMovementScript[] = +{ + MOVEMENT_ACTION_WALK_FAST_RIGHT, + MOVEMENT_ACTION_STEP_END +}; + +static const u8 sSSTidalSailWestMovementScript[] = +{ + MOVEMENT_ACTION_WALK_FAST_LEFT, + MOVEMENT_ACTION_STEP_END +}; // .text static void Task_Truck3(u8); @@ -167,7 +179,7 @@ void Task_HandleTruckSequence(u8 taskId) data[1]++; if (data[1] == SECONDS(2.5)) { - pal_fill_black(); + FadeInFromBlack(); data[1] = 0; data[0] = 2; } @@ -237,12 +249,12 @@ void EndTruckSequence(u8 taskId) } } -bool8 sub_80FB59C(void) +bool8 TrySetPortholeWarpDestination(void) { s8 mapGroup, mapNum; s16 x, y; - if (GetSSTidalLocation(&mapGroup, &mapNum, &x, &y)) + if (GetSSTidalLocation(&mapGroup, &mapNum, &x, &y) != SS_TIDAL_LOCATION_CURRENTS) { return FALSE; } @@ -256,7 +268,7 @@ bool8 sub_80FB59C(void) void Task_HandlePorthole(u8 taskId) { s16 *data = gTasks[taskId].data; - u16 *var = GetVarPointer(VAR_PORTHOLE_STATE); + u16 *cruiseState = GetVarPointer(VAR_SS_TIDAL_STATE); struct WarpData *location = &gSaveBlock1Ptr->location; switch (data[0]) @@ -268,41 +280,42 @@ void Task_HandlePorthole(u8 taskId) data[0] = EXECUTE_MOVEMENT; // execute movement before checking if should be exited. strange? } break; - case IDLE_CHECK: // idle and move. + case IDLE_CHECK: if (gMain.newKeys & A_BUTTON) data[1] = 1; - if (!ScriptMovement_IsObjectMovementFinished(0xFF, location->mapNum, location->mapGroup)) + if (!ScriptMovement_IsObjectMovementFinished(EVENT_OBJ_ID_PLAYER, location->mapNum, location->mapGroup)) return; if (CountSSTidalStep(1) == TRUE) { - if (*var == 2) - *var = 9; + if (*cruiseState == SS_TIDAL_DEPART_SLATEPORT) + *cruiseState = SS_TIDAL_EXIT_CURRENTS_RIGHT; else - *var = 10; - data[0] = 3; + *cruiseState = SS_TIDAL_EXIT_CURRENTS_LEFT; + data[0] = EXIT_PORTHOLE; return; } - data[0] = 2; - case EXECUTE_MOVEMENT: // execute movement. + data[0] = EXECUTE_MOVEMENT; + //fallthrough + case EXECUTE_MOVEMENT: if (data[1]) { - data[0] = EXIT_PORTHOLE; // exit porthole. + data[0] = EXIT_PORTHOLE; return; } - // run this once. - if (*var == 2) // which direction? + + if (*cruiseState == SS_TIDAL_DEPART_SLATEPORT) { - ScriptMovement_StartObjectMovementScript(0xFF, location->mapNum, location->mapGroup, gUnknown_0858E8AB); - data[0] = IDLE_CHECK; // run case 1. + ScriptMovement_StartObjectMovementScript(EVENT_OBJ_ID_PLAYER, location->mapNum, location->mapGroup, sSSTidalSailEastMovementScript); + data[0] = IDLE_CHECK; } else { - ScriptMovement_StartObjectMovementScript(0xFF, location->mapNum, location->mapGroup, gUnknown_0858E8AD); - data[0] = IDLE_CHECK; // run case 1. + ScriptMovement_StartObjectMovementScript(EVENT_OBJ_ID_PLAYER, location->mapNum, location->mapGroup, sSSTidalSailWestMovementScript); + data[0] = IDLE_CHECK; } break; - case EXIT_PORTHOLE: // exit porthole. - FlagClear(FLAG_SPECIAL_FLAG_0x4001); + case EXIT_PORTHOLE: + FlagClear(FLAG_DONT_TRANSITION_MUSIC); FlagClear(FLAG_HIDE_MAP_NAME_POPUP); SetWarpDestinationToDynamicWarp(0); DoDiveWarp(); @@ -311,37 +324,33 @@ void Task_HandlePorthole(u8 taskId) } } -void sub_80FB6EC(void) +static void ShowSSTidalWhileSailing(void) { u8 spriteId = AddPseudoEventObject(EVENT_OBJ_GFX_SS_TIDAL, SpriteCallbackDummy, 112, 80, 0); gSprites[spriteId].coordOffsetEnabled = FALSE; - if (VarGet(VAR_PORTHOLE_STATE) == 2) - { - StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(4)); - } + if (VarGet(VAR_SS_TIDAL_STATE) == SS_TIDAL_DEPART_SLATEPORT) + StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(DIR_EAST)); else - { - StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(3)); - } + StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(DIR_WEST)); } -void sub_80FB768(void) +void FieldCB_ShowPortholeView(void) { - sub_80FB6EC(); + ShowSSTidalWhileSailing(); gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE; - pal_fill_black(); + FadeInFromBlack(); CreateTask(Task_HandlePorthole, 80); ScriptContext2_Enable(); } -void sub_80FB7A4(void) +void LookThroughPorthole(void) { FlagSet(FLAG_SYS_CRUISE_MODE); - FlagSet(FLAG_SPECIAL_FLAG_0x4001); + FlagSet(FLAG_DONT_TRANSITION_MUSIC); FlagSet(FLAG_HIDE_MAP_NAME_POPUP); SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); - sub_80FB59C(); - sub_80AF8B8(); + TrySetPortholeWarpDestination(); + DoPortholeWarp(); } diff --git a/src/field_specials.c b/src/field_specials.c index 99e8e93a95..ce3ccce953 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle.h" #include "battle_tower.h" #include "cable_club.h" @@ -35,6 +35,7 @@ #include "rtc.h" #include "script.h" #include "script_menu.h" +#include "slot_machine.h" #include "sound.h" #include "starter_choose.h" #include "string_util.h" @@ -44,14 +45,24 @@ #include "tv.h" #include "wallclock.h" #include "window.h" +#include "constants/battle_frontier.h" +#include "constants/battle_tower.h" +#include "constants/decorations.h" #include "constants/event_objects.h" +#include "constants/event_object_movement_constants.h" #include "constants/field_effects.h" +#include "constants/field_specials.h" #include "constants/items.h" +#include "constants/heal_locations.h" #include "constants/map_types.h" #include "constants/maps.h" +#include "constants/mevent.h" +#include "constants/tv.h" +#include "constants/script_menu.h" #include "constants/songs.h" #include "constants/species.h" #include "constants/moves.h" +#include "constants/party_menu.h" #include "constants/vars.h" #include "constants/battle_frontier.h" #include "constants/weather.h" @@ -60,72 +71,71 @@ EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE; EWRAM_DATA u8 gBikeCollisions = 0; -static EWRAM_DATA u32 gBikeCyclingTimer = 0; -static EWRAM_DATA u8 gUnknown_0203AB5C = 0; -static EWRAM_DATA u8 sPetalburgGymSlidingDoorFrameCounter = 0; -static EWRAM_DATA u8 gUnknown_0203AB5E = 0; -static EWRAM_DATA u16 gUnknown_0203AB60 = 0; -static EWRAM_DATA u16 gUnknown_0203AB62 = 0; -static EWRAM_DATA struct ListMenuItem *gUnknown_0203AB64 = NULL; -static EWRAM_DATA u16 gUnknown_0203AB68 = 0; -static EWRAM_DATA u16 gUnknown_0203AB6A = 0; -static EWRAM_DATA u8 gUnknown_0203AB6C = 0; -static EWRAM_DATA u8 gUnknown_0203AB6D = 0; -static EWRAM_DATA u8 gUnknown_0203AB6E = 0; -static EWRAM_DATA u8 gUnknown_0203AB6F = 0; -static EWRAM_DATA u32 gUnknown_0203AB70 = 0; +static EWRAM_DATA u32 sBikeCyclingTimer = 0; +static EWRAM_DATA u8 sSlidingDoorNextFrameCounter = 0; +static EWRAM_DATA u8 sSlidingDoorFrame = 0; +static EWRAM_DATA u8 sTutorMoveAndElevatorWindowId = 0; +static EWRAM_DATA u16 sLilycoveDeptStore_NeverRead = 0; +static EWRAM_DATA u16 sLilycoveDeptStore_DefaultFloorChoice = 0; +static EWRAM_DATA struct ListMenuItem *sScrollableMultichoice_ListMenuItem = NULL; +static EWRAM_DATA u16 sScrollableMultichoice_ScrollOffset = 0; +static EWRAM_DATA u16 sFrontierExchangeCorner_NeverRead = 0; +static EWRAM_DATA u8 sScrollableMultichoice_ItemSpriteId = 0; +static EWRAM_DATA u8 sBattlePointsWindowId = 0; +static EWRAM_DATA u8 sFrontierExchangeCorner_ItemIconWindowId = 0; +static EWRAM_DATA u8 sPCBoxToSendMon = 0; +static EWRAM_DATA u32 sBattleTowerMultiBattleTypeFlags = 0; -struct ListMenuTemplate gUnknown_030061D0; +struct ListMenuTemplate gScrollableMultichoice_ListMenuTemplate; extern const u16 gEventObjectPalette8[]; extern const u16 gEventObjectPalette17[]; extern const u16 gEventObjectPalette33[]; extern const u16 gEventObjectPalette34[]; - -void UpdateMovedLilycoveFanClubMembers(void); -void sub_813BF60(void); -u16 GetNumMovedLilycoveFanClubMembers(void); +void TryLoseFansFromPlayTime(void); +void SetPlayerGotFirstFans(void); +u16 GetNumFansOfPlayerInTrainerFanClub(void); static void RecordCyclingRoadResults(u32, u8); static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum); -static void Task_PetalburgGym(u8); -static void PetalburgGymFunc(u8, u16); +static void Task_PetalburgGymSlideOpenRoomDoors(u8 taskId); +static void PetalburgGymSetDoorMetatiles(u8 roomNumber, u16 metatileId); static void Task_PCTurnOnEffect(u8); static void PCTurnOnEffect_0(struct Task *); static void PCTurnOnEffect_1(s16, s8, s8); static void PCTurnOffEffect(void); static void Task_LotteryCornerComputerEffect(u8); static void LotteryCornerComputerEffect(struct Task *); -static void sub_81395BC(u8 taskId); -static void sub_8139620(u8 taskId); -static void sub_8139AF4(u8 taskId); -static void sub_8139C2C(u16 a1, u8 a2); -static void MoveElevatorWindowLights(u8 taskId); -static void sub_813A2DC(u8 taskId); -static void sub_813AA60(u16 a0, u16 a1); -static void sub_813ACE8(u8 a0, u16 a1); -static void sub_813A42C(void); -static void sub_813A4EC(u8 taskId); -static void sub_813A694(u8 taskId); -static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list); -static void sub_813AC44(u16 a0, u16 a1); -static void sub_813AD34(u8 a0, u16 a1); -static void sub_813A570(u8 taskId); -static void sub_813A738(u8 taskId); +static void Task_ShakeCamera(u8 taskId); +static void StopCameraShake(u8 taskId); +static void Task_MoveElevator(u8 taskId); +static void MoveElevatorWindowLights(u16 floorDelta, bool8 descending); +static void Task_MoveElevatorWindowLights(u8 taskId); +static void Task_ShowScrollableMultichoice(u8 taskId); +static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection); +static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection); +static void InitScrollableMultichoice(void); +static void ScrollableMultichoice_ProcessInput(u8 taskId); +static void ScrollableMultichoice_UpdateScrollArrows(u8 taskId); +static void ScrollableMultichoice_MoveCursor(s32 itemIndex, bool8 onInit, struct ListMenu *list); +static void HideFrontierExchangeCornerItemIcon(u16 menu, u16 unused); +static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection); +static void CloseScrollableMultichoice(u8 taskId); +static void ScrollableMultichoice_RemoveScrollArrows(u8 taskId); static void sub_813A600(u8 taskId); static void sub_813A664(u8 taskId); -static void sub_813ABD4(u16 a0); +static void ShowFrontierExchangeCornerItemIcon(u16 item); static void Task_DeoxysRockInteraction(u8 taskId); static void ChangeDeoxysRockLevel(u8 a0); static void WaitForDeoxysRockMovement(u8 taskId); -static void sub_813B57C(u8 taskId); -static void sub_813B824(u8 taskId); -static void _fwalk(u8 taskId); -static u8 sub_813BF44(void); -static void sub_813BD84(void); -static u16 sub_813BB74(void); -static void sub_813BE30(struct LinkBattleRecords *linkRecords, u8 a, u8 b); +static void Task_LinkRetireStatusWithBattleTowerPartner(u8 taskId); +static void Task_LoopWingFlapSE(u8 taskId); +static void Task_CloseBattlePikeCurtain(u8 taskId); +static u8 DidPlayerGetFirstFans(void); +static void SetInitialFansOfPlayer(void); +static u16 PlayerGainRandomTrainerFan(void); +static void BufferFanClubTrainerName_(struct LinkBattleRecords *linkRecords, u8 a, u8 b); void Special_ShowDiploma(void) { @@ -144,14 +154,14 @@ void ResetCyclingRoadChallengeData(void) { gBikeCyclingChallenge = FALSE; gBikeCollisions = 0; - gBikeCyclingTimer = 0; + sBikeCyclingTimer = 0; } void Special_BeginCyclingRoadChallenge(void) { gBikeCyclingChallenge = TRUE; gBikeCollisions = 0; - gBikeCyclingTimer = gMain.vblankCounter1; + sBikeCyclingTimer = gMain.vblankCounter1; } u16 GetPlayerAvatarBike(void) @@ -237,7 +247,7 @@ static void DetermineCyclingRoadResults(u32 numFrames, u8 numBikeCollisions) } void FinishCyclingRoadChallenge(void) { - const u32 numFrames = gMain.vblankCounter1 - gBikeCyclingTimer; + const u32 numFrames = gMain.vblankCounter1 - sBikeCyclingTimer; DetermineCyclingRoadResults(numFrames, gBikeCollisions); RecordCyclingRoadResults(numFrames, gBikeCollisions); @@ -294,9 +304,10 @@ void ResetSSTidalFlag(void) FlagClear(FLAG_SYS_CRUISE_MODE); } +// Returns TRUE if the Cruise is over bool32 CountSSTidalStep(u16 delta) { - if (!FlagGet(FLAG_SYS_CRUISE_MODE) || (*GetVarPointer(VAR_CRUISE_STEP_COUNT) += delta) <= 0xcc) + if (!FlagGet(FLAG_SYS_CRUISE_MODE) || (*GetVarPointer(VAR_CRUISE_STEP_COUNT) += delta) < SS_TIDAL_MAX_STEPS) { return FALSE; } @@ -306,21 +317,21 @@ bool32 CountSSTidalStep(u16 delta) u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y) { u16 *varCruiseStepCount = GetVarPointer(VAR_CRUISE_STEP_COUNT); - switch (*GetVarPointer(VAR_PORTHOLE_STATE)) + switch (*GetVarPointer(VAR_SS_TIDAL_STATE)) { - case 1: - case 8: - return 1; - case 3: - case 9: - return 4; - case 4: - case 5: - return 2; - case 6: - case 10: - return 3; - case 2: + case SS_TIDAL_BOARD_SLATEPORT: + case SS_TIDAL_LAND_SLATEPORT: + return SS_TIDAL_LOCATION_SLATEPORT; + case SS_TIDAL_HALFWAY_LILYCOVE: + case SS_TIDAL_EXIT_CURRENTS_RIGHT: + return SS_TIDAL_LOCATION_ROUTE131; + case SS_TIDAL_LAND_LILYCOVE: + case SS_TIDAL_BOARD_LILYCOVE: + return SS_TIDAL_LOCATION_LILYCOVE; + case SS_TIDAL_DEPART_LILYCOVE: + case SS_TIDAL_EXIT_CURRENTS_LEFT: + return SS_TIDAL_LOCATION_ROUTE124; + case SS_TIDAL_DEPART_SLATEPORT: if (*varCruiseStepCount < 60) { *mapNum = MAP_NUM(ROUTE134); @@ -337,7 +348,7 @@ u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y) *x = *varCruiseStepCount - 140; } break; - case 7: + case SS_TIDAL_HALFWAY_SLATEPORT: if (*varCruiseStepCount < 66) { *mapNum = MAP_NUM(ROUTE132); @@ -356,7 +367,7 @@ u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y) } *mapGroup = MAP_GROUP(ROUTE132); *y = 20; - return 0; + return SS_TIDAL_LOCATION_CURRENTS; } bool32 ShouldDoWallyCall(void) @@ -386,9 +397,9 @@ bool32 ShouldDoWallyCall(void) return TRUE; } -bool32 ShouldDoWinonaCall(void) +bool32 ShouldDoScottFortreeCall(void) { - if (FlagGet(FLAG_REGISTER_WINONA_POKENAV)) + if (FlagGet(FLAG_SCOTT_CALL_FORTREE_GYM)) { switch (gMapHeader.mapType) { @@ -396,7 +407,7 @@ bool32 ShouldDoWinonaCall(void) case MAP_TYPE_CITY: case MAP_TYPE_ROUTE: case MAP_TYPE_OCEAN_ROUTE: - if (++(*GetVarPointer(VAR_WINONA_CALL_STEP_COUNTER)) < 10) + if (++(*GetVarPointer(VAR_SCOTT_FORTREE_CALL_STEP_COUNTER)) < 10) { return FALSE; } @@ -413,17 +424,17 @@ bool32 ShouldDoWinonaCall(void) return TRUE; } -bool32 ShouldDoScottCall(void) +bool32 ShouldDoScottBattleFrontierCall(void) { - if (FlagGet(FLAG_SCOTT_CALL_NATIONAL_DEX)) + if (FlagGet(FLAG_SCOTT_CALL_BATTLE_FRONTIER)) { switch (gMapHeader.mapType) { - case 1: - case 2: - case 3: - case 6: - if (++(*GetVarPointer(VAR_SCOTT_CALL_STEP_COUNTER)) < 10) + case MAP_TYPE_TOWN: + case MAP_TYPE_CITY: + case MAP_TYPE_ROUTE: + case MAP_TYPE_OCEAN_ROUTE: + if (++(*GetVarPointer(VAR_SCOTT_BF_CALL_STEP_COUNTER)) < 10) { return FALSE; } @@ -446,10 +457,10 @@ bool32 ShouldDoRoxanneCall(void) { switch (gMapHeader.mapType) { - case 1: - case 2: - case 3: - case 6: + case MAP_TYPE_TOWN: + case MAP_TYPE_CITY: + case MAP_TYPE_ROUTE: + case MAP_TYPE_OCEAN_ROUTE: if (++(*GetVarPointer(VAR_ROXANNE_CALL_STEP_COUNTER)) < 250) { return FALSE; @@ -473,10 +484,10 @@ bool32 ShouldDoRivalRayquazaCall(void) { switch (gMapHeader.mapType) { - case 1: - case 2: - case 3: - case 6: + case MAP_TYPE_TOWN: + case MAP_TYPE_CITY: + case MAP_TYPE_ROUTE: + case MAP_TYPE_OCEAN_ROUTE: if (++(*GetVarPointer(VAR_RIVAL_RAYQUAZA_CALL_STEP_COUNTER)) < 250) { return FALSE; @@ -516,8 +527,13 @@ void SpawnLinkPartnerEventObject(void) u8 j = 0; s16 x = 0; s16 y = 0; - u8 gUnknown_085B2B5C[] = {7, 9, 8, 10}; - s8 gUnknown_085B2B60[][2] = { + u8 movementTypes[] = { + MOVEMENT_TYPE_FACE_UP, + MOVEMENT_TYPE_FACE_LEFT, + MOVEMENT_TYPE_FACE_DOWN, + MOVEMENT_TYPE_FACE_RIGHT + }; + s8 coordOffsets[][2] = { { 0, 1}, { 1, 0}, { 0, -1}, @@ -577,10 +593,10 @@ void SpawnLinkPartnerEventObject(void) linkSpriteId = EVENT_OBJ_GFX_RIVAL_MAY_NORMAL; break; } - SpawnSpecialEventObjectParameterized(linkSpriteId, gUnknown_085B2B5C[j], 0xf0 - i, gUnknown_085B2B60[j][0] + x + 7, gUnknown_085B2B60[j][1] + y + 7, 0); - LoadLinkPartnerEventObjectSpritePalette(linkSpriteId, 0xf0 - i, i); + SpawnSpecialEventObjectParameterized(linkSpriteId, movementTypes[j], 240 - i, coordOffsets[j][0] + x + 7, coordOffsets[j][1] + y + 7, 0); + LoadLinkPartnerEventObjectSpritePalette(linkSpriteId, 240 - i, i); j++; - if (j == 4) + if (j == MAX_LINK_PLAYERS) { j = 0; } @@ -624,33 +640,33 @@ static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEvent } } -static const struct UCoords8 sMauvilleGymSwitchCoords[] = { +// NOTE: Coordinates are +7, +7 from actual in-map coordinates +static const struct UCoords8 sMauvilleGymSwitchCoords[] = +{ { 7, 22}, {11, 19}, {10, 16}, {15, 16} }; -// Flips the switches on the ground when the player steps on them. -void MauvilleGymSpecial1(void) +// Presses the stepped-on switch and raises the rest +void MauvilleGymPressSwitch(void) { u8 i; for (i = 0; i < ARRAY_COUNT(sMauvilleGymSwitchCoords); i++) { if (i == gSpecialVar_0x8004) - { MapGridSetMetatileIdAt(sMauvilleGymSwitchCoords[i].x, sMauvilleGymSwitchCoords[i].y, METATILE_ID(MauvilleGym, PressedSwitch)); - } else - { MapGridSetMetatileIdAt(sMauvilleGymSwitchCoords[i].x, sMauvilleGymSwitchCoords[i].y, METATILE_ID(MauvilleGym, RaisedSwitch)); - } } } -void MauvilleGymSpecial2(void) +// Sets the gym barriers back to the default state; their alt state is handled by MauvilleCity_Gym_EventScript_SetAltBarriers +void MauvilleGymSetDefaultBarriers(void) { int x, y; + // All switches/barriers are within these coord ranges -7 for (y = 12; y < 24; y++) { for (x = 7; x < 16; x++) @@ -722,13 +738,9 @@ void MauvilleGymSpecial2(void) break; case METATILE_ID(MauvilleGym, FloorTile): if (MapGridGetMetatileIdAt(x, y - 1) == METATILE_ID(MauvilleGym, GreenBeamV1_On)) - { MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamV2_On) | METATILE_COLLISION_MASK); - } else - { MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamV2_On) | METATILE_COLLISION_MASK); - } break; case METATILE_ID(MauvilleGym, PoleBottom_Off): MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamV1_On) | METATILE_COLLISION_MASK); @@ -745,7 +757,7 @@ void MauvilleGymSpecial2(void) } // Presses all switches and deactivates all beams. -void MauvilleGymSpecial3(void) +void MauvilleGymDeactivatePuzzle(void) { int i, x, y; const struct UCoords8 *switchCoords = sMauvilleGymSwitchCoords; @@ -802,7 +814,7 @@ void MauvilleGymSpecial3(void) } } -static const u8 gUnknown_085B2B78[] = {0, 1, 1, 1, 1}; +static const bool8 sSlidingDoorNextFrameDelay[] = {0, 1, 1, 1, 1}; static const u16 sPetalburgGymSlidingDoorMetatiles[] = { METATILE_ID(PetalburgGym, SlidingDoor_Frame0), @@ -812,21 +824,21 @@ static const u16 sPetalburgGymSlidingDoorMetatiles[] = { METATILE_ID(PetalburgGym, SlidingDoor_Frame4), }; -void PetalburgGymSpecial1(void) +void PetalburgGymSlideOpenRoomDoors(void) { - gUnknown_0203AB5C = 0; - sPetalburgGymSlidingDoorFrameCounter = 0; + sSlidingDoorNextFrameCounter = 0; + sSlidingDoorFrame = 0; PlaySE(SE_KI_GASYAN); - CreateTask(Task_PetalburgGym, 8); + CreateTask(Task_PetalburgGymSlideOpenRoomDoors, 8); } -static void Task_PetalburgGym(u8 taskId) +static void Task_PetalburgGymSlideOpenRoomDoors(u8 taskId) { - if (gUnknown_085B2B78[sPetalburgGymSlidingDoorFrameCounter] == gUnknown_0203AB5C) + if (sSlidingDoorNextFrameDelay[sSlidingDoorFrame] == sSlidingDoorNextFrameCounter) { - PetalburgGymFunc(gSpecialVar_0x8004, sPetalburgGymSlidingDoorMetatiles[sPetalburgGymSlidingDoorFrameCounter]); - gUnknown_0203AB5C = 0; - if ((++sPetalburgGymSlidingDoorFrameCounter) == ARRAY_COUNT(sPetalburgGymSlidingDoorMetatiles)) + PetalburgGymSetDoorMetatiles(gSpecialVar_0x8004, sPetalburgGymSlidingDoorMetatiles[sSlidingDoorFrame]); + sSlidingDoorNextFrameCounter = 0; + if ((++sSlidingDoorFrame) == ARRAY_COUNT(sPetalburgGymSlidingDoorMetatiles)) { DestroyTask(taskId); EnableBothScriptContexts(); @@ -834,11 +846,11 @@ static void Task_PetalburgGym(u8 taskId) } else { - gUnknown_0203AB5C++; + sSlidingDoorNextFrameCounter++; } } -static void PetalburgGymFunc(u8 roomNumber, u16 metatileId) +static void PetalburgGymSetDoorMetatiles(u8 roomNumber, u16 metatileId) { u16 doorCoordsX[4]; u16 doorCoordsY[4]; @@ -903,9 +915,9 @@ static void PetalburgGymFunc(u8 roomNumber, u16 metatileId) DrawWholeMapView(); } -void PetalburgGymSpecial2(void) +void PetalburgGymUnlockRoomDoors(void) { - PetalburgGymFunc(gSpecialVar_0x8004, sPetalburgGymSlidingDoorMetatiles[4]); + PetalburgGymSetDoorMetatiles(gSpecialVar_0x8004, sPetalburgGymSlidingDoorMetatiles[4]); } void ShowFieldMessageStringVar4(void) @@ -965,7 +977,7 @@ void CableCarWarp(void) } } -void SetFlagInVar(void) +void SetHiddenItemFlag(void) { FlagSet(gSpecialVar_0x8004); } @@ -983,7 +995,7 @@ u16 GetWeekCount(void) u8 GetLeadMonFriendshipScore(void) { struct Pokemon *pokemon = &gPlayerParty[GetLeadMonIndex()]; - if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) == 255) + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) == MAX_FRIENDSHIP) { return 6; } @@ -1077,36 +1089,35 @@ static void PCTurnOnEffect_0(struct Task *task) task->data[3]++; } -// enum pc location, -static void PCTurnOnEffect_1(s16 flag, s8 dx, s8 dy) +static void PCTurnOnEffect_1(s16 isPcTurnedOn, s8 dx, s8 dy) { u16 tileId = 0; - if (flag != 0) + if (isPcTurnedOn) { - if (gSpecialVar_0x8004 == 0) + if (gSpecialVar_0x8004 == PC_LOCATION_OTHER) { tileId = METATILE_ID(Building, PC_Off); } - else if (gSpecialVar_0x8004 == 1) + else if (gSpecialVar_0x8004 == PC_LOCATION_BRENDANS_HOUSE) { tileId = METATILE_ID(BrendansMaysHouse, BrendanPC_Off); } - else if (gSpecialVar_0x8004 == 2) + else if (gSpecialVar_0x8004 == PC_LOCATION_MAYS_HOUSE) { tileId = METATILE_ID(BrendansMaysHouse, MayPC_Off); } } else { - if (gSpecialVar_0x8004 == 0) + if (gSpecialVar_0x8004 == PC_LOCATION_OTHER) { tileId = METATILE_ID(Building, PC_On); } - else if (gSpecialVar_0x8004 == 1) + else if (gSpecialVar_0x8004 == PC_LOCATION_BRENDANS_HOUSE) { tileId = METATILE_ID(BrendansMaysHouse, BrendanPC_On); } - else if (gSpecialVar_0x8004 == 2) + else if (gSpecialVar_0x8004 == PC_LOCATION_MAYS_HOUSE) { tileId = METATILE_ID(BrendansMaysHouse, MayPC_On); } @@ -1210,18 +1221,18 @@ void EndLotteryCornerComputerEffect(void) DrawWholeMapView(); } -void SetTrickHouseEndRoomFlag(void) +void SetTrickHouseNuggetFlag(void) { u16 *specVar = &gSpecialVar_0x8004; - u16 flag = FLAG_TRICK_HOUSE_END_ROOM; + u16 flag = FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET; *specVar = flag; FlagSet(flag); } -void ResetTrickHouseEndRoomFlag(void) +void ResetTrickHouseNuggetFlag(void) { u16 *specVar = &gSpecialVar_0x8004; - u16 flag = FLAG_TRICK_HOUSE_END_ROOM; + u16 flag = FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET; *specVar = flag; FlagClear(flag); } @@ -1294,7 +1305,7 @@ void IsGrassTypeInParty(void) void SpawnCameraObject(void) { - u8 obj = SpawnSpecialEventObjectParameterized(EVENT_OBJ_GFX_BOY_1, 8, EVENT_OBJ_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); + u8 obj = SpawnSpecialEventObjectParameterized(EVENT_OBJ_GFX_BOY_1, MOVEMENT_TYPE_FACE_DOWN, EVENT_OBJ_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); gEventObjects[obj].invisible = TRUE; CameraObjectSetFollowedObjectId(gEventObjects[obj].spriteId); } @@ -1327,16 +1338,16 @@ void BufferEReaderTrainerName(void) u16 GetSlotMachineId(void) { - static const u8 gUnknown_085B2B88[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6}; - static const u8 gUnknown_085B2B94[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5}; - static const u8 gUnknown_085B2BA0[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5}; + static const u8 sSlotMachineRandomSeeds[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6}; + static const u8 sSlotMachineIds[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5}; + static const u8 sSlotMachineServiceDayIds[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5}; - u32 v0 = gSaveBlock1Ptr->easyChatPairs[0].unk0_0 + gSaveBlock1Ptr->easyChatPairs[0].unk2 + gUnknown_085B2B88[gSpecialVar_0x8004]; - if (GetPriceReduction(2)) + u32 rnd = gSaveBlock1Ptr->easyChatPairs[0].unk0_0 + gSaveBlock1Ptr->easyChatPairs[0].unk2 + sSlotMachineRandomSeeds[gSpecialVar_0x8004]; + if (GetPriceReduction(POKENEWS_GAME_CORNER)) { - return gUnknown_085B2BA0[v0 % 12]; + return sSlotMachineServiceDayIds[rnd % SLOT_MACHINE_COUNT]; } - return gUnknown_085B2B94[v0 % 12]; + return sSlotMachineIds[rnd % SLOT_MACHINE_COUNT]; } bool8 FoundAbandonedShipRoom1Key(void) @@ -1401,9 +1412,9 @@ void GiveLeadMonEffortRibbon(void) ribbonSet = TRUE; leadMon = &gPlayerParty[GetLeadMonIndex()]; SetMonData(leadMon, MON_DATA_EFFORT_RIBBON, &ribbonSet); - if (GetRibbonCount(leadMon) > 4) + if (GetRibbonCount(leadMon) > NUM_CUTIES_RIBBONS) { - sub_80EE4DC(leadMon, 0x47); + TryPutSpotTheCutiesOnAir(leadMon, 0x47); } } @@ -1418,7 +1429,9 @@ bool8 Special_AreLeadMonEVsMaxedOut(void) u8 TryUpdateRusturfTunnelState(void) { - if (!FlagGet(FLAG_RUSTURF_TUNNEL_OPENED) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(RUSTURF_TUNNEL) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(RUSTURF_TUNNEL)) + if (!FlagGet(FLAG_RUSTURF_TUNNEL_OPENED) + && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(RUSTURF_TUNNEL) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(RUSTURF_TUNNEL)) { if (FlagGet(FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1)) { @@ -1434,7 +1447,7 @@ u8 TryUpdateRusturfTunnelState(void) return FALSE; } -void SetShoalItemFlag(u16 v0) +void SetShoalItemFlag(u16 unused) { FlagSet(FLAG_SYS_SHOAL_ITEM); } @@ -1442,7 +1455,7 @@ void SetShoalItemFlag(u16 v0) void PutZigzagoonInPlayerParty(void) { u16 monData; - CreateMon(&gPlayerParty[0], SPECIES_ZIGZAGOON, 7, 0x20, FALSE, 0, OT_ID_PLAYER_ID, 0); + CreateMon(&gPlayerParty[0], SPECIES_ZIGZAGOON, 7, 32, FALSE, 0, OT_ID_PLAYER_ID, 0); monData = TRUE; SetMonData(&gPlayerParty[0], MON_DATA_ABILITY_NUM, &monData); monData = MOVE_TACKLE; @@ -1482,44 +1495,56 @@ bool8 IsPokerusInParty(void) return TRUE; } -void sub_8139560(void) +#define horizontalPan data[0] +#define delayCounter data[1] +#define numShakes data[2] +#define delay data[3] +#define verticalPan data[4] + +void ShakeCamera(void) { - u8 taskId = CreateTask(sub_81395BC, 9); - gTasks[taskId].data[0] = gSpecialVar_0x8005; - gTasks[taskId].data[1] = 0; - gTasks[taskId].data[2] = gSpecialVar_0x8006; - gTasks[taskId].data[3] = gSpecialVar_0x8007; - gTasks[taskId].data[4] = gSpecialVar_0x8004; + u8 taskId = CreateTask(Task_ShakeCamera, 9); + gTasks[taskId].horizontalPan = gSpecialVar_0x8005; + gTasks[taskId].delayCounter = 0; + gTasks[taskId].numShakes = gSpecialVar_0x8006; + gTasks[taskId].delay = gSpecialVar_0x8007; + gTasks[taskId].verticalPan = gSpecialVar_0x8004; SetCameraPanningCallback(NULL); PlaySE(SE_W070); } -static void sub_81395BC(u8 taskId) +static void Task_ShakeCamera(u8 taskId) { s16 *data = gTasks[taskId].data; - data[1]++; - if (data[1] % data[3] == 0) + delayCounter++; + if (delayCounter % delay == 0) { - data[1] = 0; - data[2]--; - data[0] = -data[0]; - data[4] = -data[4]; - SetCameraPanning(data[0], data[4]); - if (data[2] == 0) + delayCounter = 0; + numShakes--; + horizontalPan = -horizontalPan; + verticalPan = -verticalPan; + SetCameraPanning(horizontalPan, verticalPan); + if (numShakes == 0) { - sub_8139620(taskId); + StopCameraShake(taskId); InstallCameraPanAheadCallback(); } } } -static void sub_8139620(u8 taskId) +static void StopCameraShake(u8 taskId) { DestroyTask(taskId); EnableBothScriptContexts(); } +#undef horizontalPan +#undef delayCounter +#undef numShakes +#undef delay +#undef verticalPan + bool8 FoundBlackGlasses(void) { return FlagGet(FLAG_HIDDEN_ITEM_ROUTE_116_BLACK_GLASSES); @@ -1529,7 +1554,7 @@ void SetRoute119Weather(void) { if (IsMapTypeOutdoors(GetLastUsedWarpMapType()) != TRUE) { - SetSav1Weather(20); + SetSav1Weather(WEATHER_ROUTE119_CYCLE); } } @@ -1537,7 +1562,7 @@ void SetRoute123Weather(void) { if (IsMapTypeOutdoors(GetLastUsedWarpMapType()) != TRUE) { - SetSav1Weather(21); + SetSav1Weather(WEATHER_ROUTE123_CYCLE); } } @@ -1560,9 +1585,10 @@ u16 ScriptGetPartyMonSpecies(void) return GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES2, NULL); } -void nullsub_54(void) +// Removed for Emerald +void TryInitBattleTowerAwardManEventObject(void) { - + //TryInitLocalEventObject(6); } u16 GetDaysUntilPacifidlogTMAvailable(void) @@ -1585,18 +1611,16 @@ u16 SetPacifidlogTMReceivedDay(void) return gLocalTime.days; } -bool8 MonOTNameMatchesPlayer(void) +bool8 MonOTNameNotPlayer(void) { if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_LANGUAGE) != GAME_LANGUAGE) - { - return TRUE; // huh? - } + return TRUE; GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_OT_NAME, gStringVar1); + if (!StringCompare(gSaveBlock2Ptr->playerName, gStringVar1)) - { return FALSE; - } + return TRUE; } @@ -1609,20 +1633,20 @@ void BufferLottoTicketNumber(void) else if (gSpecialVar_Result >= 1000) { gStringVar1[0] = CHAR_0; - ConvertIntToDecimalStringN(gStringVar1 + 1, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result)); + ConvertIntToDecimalStringN(gStringVar1 + 1, gSpecialVar_Result, STR_CONV_MODE_LEFT_ALIGN, CountDigits(gSpecialVar_Result)); } else if (gSpecialVar_Result >= 100) { gStringVar1[0] = CHAR_0; gStringVar1[1] = CHAR_0; - ConvertIntToDecimalStringN(gStringVar1 + 2, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result)); + ConvertIntToDecimalStringN(gStringVar1 + 2, gSpecialVar_Result, STR_CONV_MODE_LEFT_ALIGN, CountDigits(gSpecialVar_Result)); } else if (gSpecialVar_Result >= 10) { gStringVar1[0] = CHAR_0; gStringVar1[1] = CHAR_0; gStringVar1[2] = CHAR_0; - ConvertIntToDecimalStringN(gStringVar1 + 3, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result)); + ConvertIntToDecimalStringN(gStringVar1 + 3, gSpecialVar_Result, STR_CONV_MODE_LEFT_ALIGN, CountDigits(gSpecialVar_Result)); } else { @@ -1630,30 +1654,30 @@ void BufferLottoTicketNumber(void) gStringVar1[1] = CHAR_0; gStringVar1[2] = CHAR_0; gStringVar1[3] = CHAR_0; - ConvertIntToDecimalStringN(gStringVar1 + 4, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result)); + ConvertIntToDecimalStringN(gStringVar1 + 4, gSpecialVar_Result, STR_CONV_MODE_LEFT_ALIGN, CountDigits(gSpecialVar_Result)); } } -u16 sub_813986C(void) +u16 GetMysteryEventCardVal(void) { switch (gSpecialVar_Result) { - case 0: - return mevent_081445C0(3); - case 1: - return mevent_081445C0(4); - case 2: - return mevent_081445C0(0); - case 3: + case GET_NUM_STAMPS: + return mevent_081445C0(GET_NUM_STAMPS_INTERNAL); + case GET_MAX_STAMPS: + return mevent_081445C0(GET_MAX_STAMPS_INTERNAL); + case GET_CARD_BATTLES_WON: + return mevent_081445C0(GET_CARD_BATTLES_WON_INTERNAL); + case 3: // Never occurs return mevent_081445C0(1); - case 4: + case 4: // Never occurs return mevent_081445C0(2); default: return 0; } } -bool8 sub_81398C0(void) +bool8 BufferTMHMMoveName(void) { if (gSpecialVar_0x8004 >= ITEM_TM01 && gSpecialVar_0x8004 <= ITEM_HM08) { @@ -1664,36 +1688,37 @@ bool8 sub_81398C0(void) return FALSE; } -bool8 sub_813990C(void) +bool8 IsBadEggInParty(void) { u8 partyCount = CalculatePlayerPartyCount(); u8 i; for (i = 0; i < partyCount; i++) { - if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_BAD_EGG) == 1) + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_BAD_EGG) == TRUE) return TRUE; } return FALSE; } -bool8 InMultiBattleRoom(void) +bool8 InMultiPartnerRoom(void) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) && + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) && VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_MULTIS) return TRUE; return FALSE; } -void sub_8139980(void) +void OffsetCameraForBattle(void) { SetCameraPanningCallback(NULL); SetCameraPanning(8, 0); } -const struct WindowTemplate gUnknown_085B2BAC = { +const struct WindowTemplate gElevatorFloor_WindowTemplate = +{ .bg = 0, .tilemapLeft = 21, .tilemapTop = 1, @@ -1703,23 +1728,24 @@ const struct WindowTemplate gUnknown_085B2BAC = { .baseBlock = 8, }; -const u8 *const gElevatorFloorsTable[] = { - gText_B4F, - gText_B3F, - gText_B2F, - gText_B1F, - gText_1F, - gText_2F, - gText_3F, - gText_4F, - gText_5F, - gText_6F, - gText_7F, - gText_8F, - gText_9F, - gText_10F, - gText_11F, - gText_Rooftop +const u8 *const gDeptStoreFloorNames[] = +{ + [DEPT_STORE_FLOORNUM_B4F] = gText_B4F, + [DEPT_STORE_FLOORNUM_B3F] = gText_B3F, + [DEPT_STORE_FLOORNUM_B2F] = gText_B2F, + [DEPT_STORE_FLOORNUM_B1F] = gText_B1F, + [DEPT_STORE_FLOORNUM_1F] = gText_1F, + [DEPT_STORE_FLOORNUM_2F] = gText_2F, + [DEPT_STORE_FLOORNUM_3F] = gText_3F, + [DEPT_STORE_FLOORNUM_4F] = gText_4F, + [DEPT_STORE_FLOORNUM_5F] = gText_5F, + [DEPT_STORE_FLOORNUM_6F] = gText_6F, + [DEPT_STORE_FLOORNUM_7F] = gText_7F, + [DEPT_STORE_FLOORNUM_8F] = gText_8F, + [DEPT_STORE_FLOORNUM_9F] = gText_9F, + [DEPT_STORE_FLOORNUM_10F] = gText_10F, + [DEPT_STORE_FLOORNUM_11F] = gText_11F, + [DEPT_STORE_FLOORNUM_ROOFTOP] = gText_Rooftop }; static const u16 sElevatorWindowTiles_Ascending[][3] = @@ -1760,104 +1786,105 @@ static const u16 sElevatorWindowTiles_Descending[][3] = }, }; -void SetDepartmentStoreFloorVar(void) +void SetDeptStoreFloor(void) { u8 deptStoreFloor; switch (gSaveBlock1Ptr->dynamicWarp.mapNum) { case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F): - deptStoreFloor = 4; + deptStoreFloor = DEPT_STORE_FLOORNUM_1F; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F): - deptStoreFloor = 5; + deptStoreFloor = DEPT_STORE_FLOORNUM_2F; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F): - deptStoreFloor = 6; + deptStoreFloor = DEPT_STORE_FLOORNUM_3F; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F): - deptStoreFloor = 7; + deptStoreFloor = DEPT_STORE_FLOORNUM_4F; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F): - deptStoreFloor = 8; + deptStoreFloor = DEPT_STORE_FLOORNUM_5F; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP): - deptStoreFloor = 15; + deptStoreFloor = DEPT_STORE_FLOORNUM_ROOFTOP; break; default: - deptStoreFloor = 4; + deptStoreFloor = DEPT_STORE_FLOORNUM_1F; break; } VarSet(VAR_DEPT_STORE_FLOOR, deptStoreFloor); } -u16 sub_81399F4(void) +u16 GetDeptStoreDefaultFloorChoice(void) { - gUnknown_0203AB60 = 0; - gUnknown_0203AB62 = 0; + sLilycoveDeptStore_NeverRead = 0; + sLilycoveDeptStore_DefaultFloorChoice = 0; if (gSaveBlock1Ptr->dynamicWarp.mapGroup == MAP_GROUP(LILYCOVE_CITY_DEPARTMENT_STORE_1F)) { switch (gSaveBlock1Ptr->dynamicWarp.mapNum) { case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F): - gUnknown_0203AB60 = 0; - gUnknown_0203AB62 = 0; + sLilycoveDeptStore_NeverRead = 0; + sLilycoveDeptStore_DefaultFloorChoice = 0; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F): - gUnknown_0203AB60 = 0; - gUnknown_0203AB62 = 1; + sLilycoveDeptStore_NeverRead = 0; + sLilycoveDeptStore_DefaultFloorChoice = 1; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F): - gUnknown_0203AB60 = 0; - gUnknown_0203AB62 = 2; + sLilycoveDeptStore_NeverRead = 0; + sLilycoveDeptStore_DefaultFloorChoice = 2; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F): - gUnknown_0203AB60 = 0; - gUnknown_0203AB62 = 3; + sLilycoveDeptStore_NeverRead = 0; + sLilycoveDeptStore_DefaultFloorChoice = 3; break; case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F): - gUnknown_0203AB60 = 0; - gUnknown_0203AB62 = 4; + sLilycoveDeptStore_NeverRead = 0; + sLilycoveDeptStore_DefaultFloorChoice = 4; break; } } - return gUnknown_0203AB62; + return sLilycoveDeptStore_DefaultFloorChoice; } -void ShakeScreenInElevator(void) +void MoveElevator(void) { - static const u8 gUnknown_085B2C18[] = { 0x08, 0x10, 0x18, 0x20, 0x26, 0x2e, 0x34, 0x38, 0x39 }; + static const u8 sElevatorTripLength[] = { 8, 16, 24, 32, 38, 46, 52, 56, 57 }; - s16 *data = gTasks[CreateTask(sub_8139AF4, 9)].data; + s16 *data = gTasks[CreateTask(Task_MoveElevator, 9)].data; u16 floorDelta; data[1] = 0; data[2] = 0; data[4] = 1; + // descending if (gSpecialVar_0x8005 > gSpecialVar_0x8006) { floorDelta = gSpecialVar_0x8005 - gSpecialVar_0x8006; - data[6] = 1; + data[6] = TRUE; } else { floorDelta = gSpecialVar_0x8006 - gSpecialVar_0x8005; - data[6] = 0; + data[6] = FALSE; } if (floorDelta > 8) floorDelta = 8; - data[5] = gUnknown_085B2C18[floorDelta]; + data[5] = sElevatorTripLength[floorDelta]; SetCameraPanningCallback(NULL); - sub_8139C2C(floorDelta, data[6]); + MoveElevatorWindowLights(floorDelta, data[6]); PlaySE(SE_ELEBETA); } -static void sub_8139AF4(u8 taskId) +static void Task_MoveElevator(u8 taskId) { s16 *data = gTasks[taskId].data; data[1]++; @@ -1867,6 +1894,8 @@ static void sub_8139AF4(u8 taskId) data[2]++; data[4] = -data[4]; SetCameraPanning(0, data[4]); + + // arrived at floor if (data[2] == data[5]) { PlaySE(SE_PINPON); @@ -1877,44 +1906,44 @@ static void sub_8139AF4(u8 taskId) } } -void sub_8139B60(void) +void ShowDeptStoreElevatorFloorSelect(void) { int xPos; - gUnknown_0203AB5E = AddWindow(&gUnknown_085B2BAC); - SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0); + sTutorMoveAndElevatorWindowId = AddWindow(&gElevatorFloor_WindowTemplate); + SetStandardWindowBorderStyle(sTutorMoveAndElevatorWindowId, 0); xPos = GetStringCenterAlignXOffset(1, gText_ElevatorNowOn, 64); - AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL); - xPos = GetStringCenterAlignXOffset(1, gElevatorFloorsTable[gSpecialVar_0x8005], 64); - AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gElevatorFloorsTable[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL); + xPos = GetStringCenterAlignXOffset(1, gDeptStoreFloorNames[gSpecialVar_0x8005], 64); + AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, 1, gDeptStoreFloorNames[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL); - PutWindowTilemap(gUnknown_0203AB5E); - CopyWindowToVram(gUnknown_0203AB5E, 3); + PutWindowTilemap(sTutorMoveAndElevatorWindowId); + CopyWindowToVram(sTutorMoveAndElevatorWindowId, 3); } -void sub_8139C10(void) +void CloseDeptStoreElevatorWindow(void) { - ClearStdWindowAndFrameToTransparent(gUnknown_0203AB5E, TRUE); - RemoveWindow(gUnknown_0203AB5E); + ClearStdWindowAndFrameToTransparent(sTutorMoveAndElevatorWindowId, TRUE); + RemoveWindow(sTutorMoveAndElevatorWindowId); } -static void sub_8139C2C(u16 a1, bool8 descending) +static void MoveElevatorWindowLights(u16 floorDelta, bool8 descending) { - static const u8 gUnknown_085B2C21[] = { 0x03, 0x06, 0x09, 0x0c, 0x0f, 0x12, 0x15, 0x18, 0x1b }; + static const u8 sElevatorLightCycles[] = { 3, 6, 9, 12, 15, 18, 21, 24, 27 }; - if (FuncIsActiveTask(MoveElevatorWindowLights) != TRUE) + if (FuncIsActiveTask(Task_MoveElevatorWindowLights) != TRUE) { - u8 taskId = CreateTask(MoveElevatorWindowLights, 8); + u8 taskId = CreateTask(Task_MoveElevatorWindowLights, 8); gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = 0; gTasks[taskId].data[2] = descending; - gTasks[taskId].data[3] = gUnknown_085B2C21[a1]; + gTasks[taskId].data[3] = sElevatorLightCycles[floorDelta]; } } -static void MoveElevatorWindowLights(u8 taskId) +static void Task_MoveElevatorWindowLights(u8 taskId) { u8 x, y; s16 *data = gTasks[taskId].data; @@ -1922,6 +1951,8 @@ static void MoveElevatorWindowLights(u8 taskId) if (data[1] == 6) { data[0]++; + + // ascending if (data[2] == FALSE) { for (y = 0; y < 3; y++) @@ -1932,6 +1963,7 @@ static void MoveElevatorWindowLights(u8 taskId) } } } + // descending else { for (y = 0; y < 3; y++) @@ -1952,7 +1984,7 @@ static void MoveElevatorWindowLights(u8 taskId) data[1]++; } -void sub_8139D98(void) +void BufferVarsForIVRater(void) { u8 i; u32 ivStorage[NUM_STATS]; @@ -1993,23 +2025,44 @@ void sub_8139D98(void) } } -bool8 warp0_in_pokecenter(void) +bool8 UsedPokemonCenterWarp(void) { - static const u16 gUnknown_085B2C2A[] = { 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a, 0x1a35, 0x193c, 0xFFFF }; + static const u16 sPokemonCenters[] = + { + MAP_OLDALE_TOWN_POKEMON_CENTER_1F, + MAP_DEWFORD_TOWN_POKEMON_CENTER_1F, + MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F, + MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F, + MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F, + MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F, + MAP_PETALBURG_CITY_POKEMON_CENTER_1F, + MAP_SLATEPORT_CITY_POKEMON_CENTER_1F, + MAP_MAUVILLE_CITY_POKEMON_CENTER_1F, + MAP_RUSTBORO_CITY_POKEMON_CENTER_1F, + MAP_FORTREE_CITY_POKEMON_CENTER_1F, + MAP_LILYCOVE_CITY_POKEMON_CENTER_1F, + MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F, + MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F, + MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F, + MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F, + MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F, + MAP_UNION_ROOM, + 0xFFFF + }; int i; u16 map = (gLastUsedWarp.mapGroup << 8) + gLastUsedWarp.mapNum; - for (i = 0; gUnknown_085B2C2A[i] != 0xFFFF; i++) + for (i = 0; sPokemonCenters[i] != 0xFFFF; i++) { - if (gUnknown_085B2C2A[i] == map) + if (sPokemonCenters[i] == map) return TRUE; } return FALSE; } -bool32 sub_8139ED0(void) +bool32 PlayerNotAtTrainerHillEntrance(void) { if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRAINER_HILL_ENTRANCE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_HILL_ENTRANCE)) { @@ -2018,130 +2071,191 @@ bool32 sub_8139ED0(void) return TRUE; } -void UpdateFrontierManiac(u16 a0) +void UpdateFrontierManiac(u16 daysSince) { u16 *var = GetVarPointer(VAR_FRONTIER_MANIAC_FACILITY); - *var += a0; - *var %= 10; + *var += daysSince; + *var %= FRONTIER_MANIAC_FACILITY_COUNT; } -void sub_8139F20(void) +void ShowFrontierManiacMessage(void) { - static const u8 *const gUnknown_085B2C50[][3] = { - { BattleFrontier_Lounge2_Text_260971, BattleFrontier_Lounge2_Text_260A1E, BattleFrontier_Lounge2_Text_260AE7 }, - { BattleFrontier_Lounge2_Text_2619AC, BattleFrontier_Lounge2_Text_261A91, BattleFrontier_Lounge2_Text_261B0C }, - { BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95 }, - { BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A }, - { BattleFrontier_Lounge2_Text_260BC4, BattleFrontier_Lounge2_Text_260C6D, BattleFrontier_Lounge2_Text_260D3A }, - { BattleFrontier_Lounge2_Text_260E1E, BattleFrontier_Lounge2_Text_260EC7, BattleFrontier_Lounge2_Text_260F74 }, - { BattleFrontier_Lounge2_Text_2614E6, BattleFrontier_Lounge2_Text_261591, BattleFrontier_Lounge2_Text_26166F }, - { BattleFrontier_Lounge2_Text_261282, BattleFrontier_Lounge2_Text_261329, BattleFrontier_Lounge2_Text_261403 }, - { BattleFrontier_Lounge2_Text_261026, BattleFrontier_Lounge2_Text_2610CC, BattleFrontier_Lounge2_Text_261194 }, - { BattleFrontier_Lounge2_Text_26174D, BattleFrontier_Lounge2_Text_2617F9, BattleFrontier_Lounge2_Text_2618C4 }, + static const u8 *const sFrontierManiacMessages[][FRONTIER_MANIAC_MESSAGE_COUNT] = + { + [FRONTIER_MANIAC_BATTLE_TOWER_SINGLES] = + { + BattleFrontier_Lounge2_Text_SalonMaidenIsThere, + BattleFrontier_Lounge2_Text_SalonMaidenSilverMons, + BattleFrontier_Lounge2_Text_SalonMaidenGoldMons + }, + [FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES] = + { + BattleFrontier_Lounge2_Text_DoubleBattleAdvice1, + BattleFrontier_Lounge2_Text_DoubleBattleAdvice2, + BattleFrontier_Lounge2_Text_DoubleBattleAdvice3 + }, + [FRONTIER_MANIAC_BATTLE_TOWER_MULTIS] = + { + BattleFrontier_Lounge2_Text_MultiBattleAdvice, + BattleFrontier_Lounge2_Text_MultiBattleAdvice, + BattleFrontier_Lounge2_Text_MultiBattleAdvice + }, + [FRONTIER_MANIAC_BATTLE_TOWER_LINK] = + { + BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice, + BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice, + BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice + }, + [FRONTIER_MANIAC_BATTLE_DOME] = + { + BattleFrontier_Lounge2_Text_DomeAceIsThere, + BattleFrontier_Lounge2_Text_DomeAceSilverMons, + BattleFrontier_Lounge2_Text_DomeAceGoldMons + }, + [FRONTIER_MANIAC_BATTLE_FACTORY] = + { + BattleFrontier_Lounge2_Text_FactoryHeadIsThere, + BattleFrontier_Lounge2_Text_FactoryHeadSilverMons, + BattleFrontier_Lounge2_Text_FactoryHeadGoldMons + }, + [FRONTIER_MANIAC_BATTLE_PALACE] = + { + BattleFrontier_Lounge2_Text_PalaceMavenIsThere, + BattleFrontier_Lounge2_Text_PalaceMavenSilverMons, + BattleFrontier_Lounge2_Text_PalaceMavenGoldMons + }, + [FRONTIER_MANIAC_BATTLE_ARENA] = + { + BattleFrontier_Lounge2_Text_ArenaTycoonIsThere, + BattleFrontier_Lounge2_Text_ArenaTycoonSilverMons, + BattleFrontier_Lounge2_Text_ArenaTycoonGoldMons + }, + [FRONTIER_MANIAC_BATTLE_PIKE] = + { + BattleFrontier_Lounge2_Text_PikeQueenIsThere, + BattleFrontier_Lounge2_Text_PikeQueenSilverMons, + BattleFrontier_Lounge2_Text_PikeQueenGoldMons + }, + [FRONTIER_MANIAC_BATTLE_PYRAMID] = + { + BattleFrontier_Lounge2_Text_PyramidKingIsThere, + BattleFrontier_Lounge2_Text_PyramidKingSilverMons, + BattleFrontier_Lounge2_Text_PyramidKingGoldMons + }, }; - static const u8 gUnknown_085B2CC8[][2] = { - { 0x15, 0x38 }, - { 0x15, 0x23 }, - { 0xff, 0xff }, - { 0xff, 0xff }, - { 0x02, 0x04 }, - { 0x07, 0x15 }, - { 0x07, 0x15 }, - { 0x0e, 0x1c }, - { 0x0d, 0x70 }, - { 0x07, 0x38 } + static const u8 sFrontierManiacStreakThresholds[][FRONTIER_MANIAC_MESSAGE_COUNT - 1] = + { + [FRONTIER_MANIAC_BATTLE_TOWER_SINGLES] = { 21, 56 }, + [FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES] = { 21, 35 }, + [FRONTIER_MANIAC_BATTLE_TOWER_MULTIS] = { 255, 255 }, + [FRONTIER_MANIAC_BATTLE_TOWER_LINK] = { 255, 255 }, + [FRONTIER_MANIAC_BATTLE_DOME] = { 2, 4 }, + [FRONTIER_MANIAC_BATTLE_FACTORY] = { 7, 21 }, + [FRONTIER_MANIAC_BATTLE_PALACE] = { 7, 21 }, + [FRONTIER_MANIAC_BATTLE_ARENA] = { 14, 28 }, + [FRONTIER_MANIAC_BATTLE_PIKE] = { 13, 112 }, //BUG: 112 (0x70) is probably a mistake; the Pike Queen is battled twice well before that + [FRONTIER_MANIAC_BATTLE_PYRAMID] = { 7, 56 } }; u8 i; - u16 unk = 0; - u16 var = VarGet(VAR_FRONTIER_MANIAC_FACILITY); - switch (var) + u16 winStreak = 0; + u16 facility = VarGet(VAR_FRONTIER_MANIAC_FACILITY); + + switch (facility) { - case 0: - case 1: - case 2: - case 3: - if (gSaveBlock2Ptr->frontier.towerWinStreaks[var][0] >= gSaveBlock2Ptr->frontier.towerWinStreaks[var][1]) + case FRONTIER_MANIAC_BATTLE_TOWER_SINGLES: + case FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES: + case FRONTIER_MANIAC_BATTLE_TOWER_MULTIS: + case FRONTIER_MANIAC_BATTLE_TOWER_LINK: + if (gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50] + >= gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_OPEN]) { - unk = gSaveBlock2Ptr->frontier.towerWinStreaks[var][0]; + winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50]; } else { - unk = gSaveBlock2Ptr->frontier.towerWinStreaks[var][1]; + winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_OPEN]; } break; - case 4: - if (gSaveBlock2Ptr->frontier.domeWinStreaks[0][0] >= gSaveBlock2Ptr->frontier.domeWinStreaks[0][1]) + case FRONTIER_MANIAC_BATTLE_DOME: + if (gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50] + >= gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]) { - unk = gSaveBlock2Ptr->frontier.domeWinStreaks[0][0]; + winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]; } else { - unk = gSaveBlock2Ptr->frontier.domeWinStreaks[0][1]; + winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]; } break; - case 5: - if (gSaveBlock2Ptr->frontier.factoryWinStreaks[0][0] >= gSaveBlock2Ptr->frontier.factoryWinStreaks[0][1]) + case FRONTIER_MANIAC_BATTLE_FACTORY: + if (gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50] + >= gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]) { - unk = gSaveBlock2Ptr->frontier.factoryWinStreaks[0][0]; + winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]; } else { - unk = gSaveBlock2Ptr->frontier.factoryWinStreaks[0][1]; + winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]; } break; - case 6: - if (gSaveBlock2Ptr->frontier.palaceWinStreaks[0][0] >= gSaveBlock2Ptr->frontier.palaceWinStreaks[0][1]) + case FRONTIER_MANIAC_BATTLE_PALACE: + if (gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50] + >= gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]) { - unk = gSaveBlock2Ptr->frontier.palaceWinStreaks[0][0]; + winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]; } else { - unk = gSaveBlock2Ptr->frontier.palaceWinStreaks[0][1]; + winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN]; } break; - case 7: - if (gSaveBlock2Ptr->frontier.arenaWinStreaks[0] >= gSaveBlock2Ptr->frontier.arenaWinStreaks[1]) + case FRONTIER_MANIAC_BATTLE_ARENA: + if (gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50] + >= gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_OPEN]) { - unk = gSaveBlock2Ptr->frontier.arenaWinStreaks[0]; + winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50]; } else { - unk = gSaveBlock2Ptr->frontier.arenaWinStreaks[1]; + winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_OPEN]; } break; - case 8: - if (gSaveBlock2Ptr->frontier.pikeWinStreaks[0] >= gSaveBlock2Ptr->frontier.pikeWinStreaks[1]) + case FRONTIER_MANIAC_BATTLE_PIKE: + if (gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50] + >= gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_OPEN]) { - unk = gSaveBlock2Ptr->frontier.pikeWinStreaks[0]; + winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50]; } else { - unk = gSaveBlock2Ptr->frontier.pikeWinStreaks[1]; + winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_OPEN]; } break; - case 9: - if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[0] >= gSaveBlock2Ptr->frontier.pyramidWinStreaks[1]) + case FRONTIER_MANIAC_BATTLE_PYRAMID: + if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50] + >= gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN]) { - unk = gSaveBlock2Ptr->frontier.pyramidWinStreaks[0]; + winStreak = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50]; } else { - unk = gSaveBlock2Ptr->frontier.pyramidWinStreaks[1]; + winStreak = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN]; } break; } - for (i = 0; i < 2 && gUnknown_085B2CC8[var][i] < unk; i++); + for (i = 0; i < FRONTIER_MANIAC_MESSAGE_COUNT - 1 && sFrontierManiacStreakThresholds[facility][i] < winStreak; i++); - ShowFieldMessage(gUnknown_085B2C50[var][i]); + ShowFieldMessage(sFrontierManiacMessages[facility][i]); } -void sub_813A080(void) +// gSpecialVar_0x8005 and 0x8006 here are used by MoveElevator +void BufferBattleTowerElevatorFloors(void) { - static const u16 gUnknown_085B2CDC[] = { - 0x0007, 0x000e, 0x0015, 0x001c, 0x0023, 0x0031, 0x003f, 0x004d, 0x005b, 0x0000 + static const u16 sBattleTowerStreakThresholds[] = { + 7, 14, 21, 28, 35, 49, 63, 77, 91, 0 }; u8 i; @@ -2155,9 +2269,9 @@ void sub_813A080(void) return; } - for (i = 0; i < 9; i++) + for (i = 0; i < ARRAY_COUNT(sBattleTowerStreakThresholds) - 1; i++) { - if (gUnknown_085B2CDC[i] > gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]) + if (sBattleTowerStreakThresholds[i] > gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]) { gSpecialVar_0x8005 = 4; gSpecialVar_0x8006 = i + 5; @@ -2169,161 +2283,166 @@ void sub_813A080(void) gSpecialVar_0x8006 = 12; } -void sub_813A128(void) +// Scrollable Multichoice task data defines +#define tMaxItemsOnScreen data[0] +#define tNumItems data[1] +#define tLeft data[2] +#define tTop data[3] +#define tWidth data[4] +#define tHeight data[5] +#define tKeepOpenAfterSelect data[6] +#define tScrollOffset data[7] +#define tSelectedRow data[8] +#define tScrollMultiId data[11] +#define tScrollArrowId data[12] +#define tWindowId data[13] +#define tListTaskId data[14] +#define tTaskId data[15] +// data[9] and [10] unused + +void ShowScrollableMultichoice(void) { - u8 taskId = CreateTask(sub_813A2DC, 8); + u8 taskId = CreateTask(Task_ShowScrollableMultichoice, 8); struct Task *task = &gTasks[taskId]; - task->data[11] = gSpecialVar_0x8004; + task->tScrollMultiId = gSpecialVar_0x8004; switch (gSpecialVar_0x8004) { - case 0: - task->data[0] = 1; - task->data[1] = 1; - task->data[2] = 1; - task->data[3] = 1; - task->data[4] = 1; - task->data[5] = 1; - task->data[6] = 0; - task->data[15] = taskId; + case SCROLL_MULTI_NONE: + task->tMaxItemsOnScreen = 1; + task->tNumItems = 1; + task->tLeft = 1; + task->tTop = 1; + task->tWidth = 1; + task->tHeight = 1; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; - case 1: - task->data[0] = 5; - task->data[1] = 8; - task->data[2] = 1; - task->data[3] = 1; - task->data[4] = 9; - task->data[5] = 10; - task->data[6] = 0; - task->data[15] = taskId; + case SCROLL_MULTI_GLASS_WORKSHOP_VENDOR: + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN - 1; + task->tNumItems = 8; + task->tLeft = 1; + task->tTop = 1; + task->tWidth = 9; + task->tHeight = 10; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; - case 2: - task->data[0] = 6; - task->data[1] = 12; - task->data[2] = 1; - task->data[3] = 1; - task->data[4] = 7; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + case SCROLL_MULTI_POKEMON_FAN_CLUB_RATER: + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 12; + task->tLeft = 1; + task->tTop = 1; + task->tWidth = 7; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; - case 3: - task->data[0] = 6; - task->data[1] = 11; - task->data[2] = 14; - task->data[3] = 1; - task->data[4] = 15; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1: + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 11; + task->tLeft = 14; + task->tTop = 1; + task->tWidth = 15; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; - case 4: - task->data[0] = 6; - task->data[1] = 6; - task->data[2] = 14; - task->data[3] = 1; - task->data[4] = 15; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2: + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 6; + task->tLeft = 14; + task->tTop = 1; + task->tWidth = 15; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; - case 5: - task->data[0] = 6; - task->data[1] = 7; - task->data[2] = 14; - task->data[3] = 1; - task->data[4] = 15; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR: + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 7; + task->tLeft = 14; + task->tTop = 1; + task->tWidth = 15; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; - case 6: - task->data[0] = 6; - task->data[1] = 10; - task->data[2] = 14; - task->data[3] = 1; - task->data[4] = 15; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR: + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 10; + task->tLeft = 14; + task->tTop = 1; + task->tWidth = 15; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; - case 7: - task->data[0] = 6; - task->data[1] = 12; - task->data[2] = 15; - task->data[3] = 1; - task->data[4] = 14; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + case SCROLL_MULTI_BERRY_POWDER_VENDOR: + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 12; + task->tLeft = 15; + task->tTop = 1; + task->tWidth = 14; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; - case 8: - task->data[0] = 6; - task->data[1] = 10; - task->data[2] = 17; - task->data[3] = 1; - task->data[4] = 11; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + case SCROLL_MULTI_BF_RECEPTIONIST: + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 10; + task->tLeft = 17; + task->tTop = 1; + task->tWidth = 11; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; - case 9: - case 10: - task->data[0] = 6; - task->data[1] = 11; - task->data[2] = 15; - task->data[3] = 1; - task->data[4] = 14; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + case SCROLL_MULTI_BF_MOVE_TUTOR_1: + case SCROLL_MULTI_BF_MOVE_TUTOR_2: + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 11; + task->tLeft = 15; + task->tTop = 1; + task->tWidth = 14; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; - case 11: - task->data[0] = 6; - task->data[1] = 7; - task->data[2] = 19; - task->data[3] = 1; - task->data[4] = 10; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + case SCROLL_MULTI_SS_TIDAL_DESTINATION: + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 7; + task->tLeft = 19; + task->tTop = 1; + task->tWidth = 10; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; - case 12: - task->data[0] = 6; - task->data[1] = 7; - task->data[2] = 17; - task->data[3] = 1; - task->data[4] = 12; - task->data[5] = 12; - task->data[6] = 0; - task->data[15] = taskId; + case SCROLL_MULTI_BATTLE_TENT_RULES: + task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN; + task->tNumItems = 7; + task->tLeft = 17; + task->tTop = 1; + task->tWidth = 12; + task->tHeight = 12; + task->tKeepOpenAfterSelect = FALSE; + task->tTaskId = taskId; break; default: - gSpecialVar_Result = 0x7F; + gSpecialVar_Result = MULTI_B_PRESSED; DestroyTask(taskId); break; } } -static const u8 *const gUnknown_085B2CF0[][16] = { +static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH] = +{ + [SCROLL_MULTI_NONE] = { - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + [SCROLL_MULTI_GLASS_WORKSHOP_VENDOR] = { gText_BlueFlute, gText_YellowFlute, @@ -2332,16 +2451,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_BlackFlute, gText_PrettyChair, gText_PrettyDesk, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + [SCROLL_MULTI_POKEMON_FAN_CLUB_RATER] = { gText_0Pts, gText_10Pts, @@ -2354,12 +2466,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_80Pts, gText_90Pts, gText_100Pts, - gText_QuestionMark, - NULL, - NULL, - NULL, - NULL + gText_QuestionMark }, + [SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1] = { gText_KissPoster16BP, gText_KissCushion32BP, @@ -2371,31 +2480,18 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_CyndaquilDoll80BP, gText_ChikoritaDoll80BP, gText_TotodileDoll80BP, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + [SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2] = { gText_LaprasDoll128BP, gText_SnorlaxDoll128BP, gText_VenusaurDoll256BP, gText_CharizardDoll256BP, gText_BlastoiseDoll256BP, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + [SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR] = { gText_Protein1BP, gText_Calcium1BP, @@ -2403,17 +2499,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_Zinc1BP, gText_Carbos1BP, gText_HpUp1BP, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + [SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR] = { gText_Leftovers48BP, gText_WhiteHerb48BP, @@ -2424,14 +2512,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_KingsRock64BP, gText_FocusBand64BP, gText_ScopeLens64BP, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + [SCROLL_MULTI_BERRY_POWDER_VENDOR] = { gText_EnergyPowder50, gText_EnergyRoot80, @@ -2444,12 +2527,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_Zinc1000, gText_HPUp1000, gText_PPUp3000, - gText_Exit, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + [SCROLL_MULTI_BF_RECEPTIONIST] = { gText_BattleTower2, gText_BattleDome, @@ -2460,14 +2540,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_BattlePyramid, gText_RankingHall, gText_ExchangeService, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + [SCROLL_MULTI_BF_MOVE_TUTOR_1] = { gText_Softboiled16BP, gText_SeismicToss24BP, @@ -2479,13 +2554,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_Counter48BP, gText_ThunderWave48BP, gText_SwordsDance48BP, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + [SCROLL_MULTI_BF_MOVE_TUTOR_2] = { gText_DefenseCurl16BP, gText_Snore24BP, @@ -2497,13 +2568,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_IcePunch48BP, gText_ThunderPunch48BP, gText_FirePunch48BP, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + [SCROLL_MULTI_SS_TIDAL_DESTINATION] = { gText_SlateportCity, gText_BattleFrontier, @@ -2511,17 +2578,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_NavelRock, gText_BirthIsland, gText_FarawayIsland, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit }, + [SCROLL_MULTI_BATTLE_TENT_RULES] = { gText_BattleTrainers, gText_BattleBasics, @@ -2529,142 +2588,134 @@ static const u8 *const gUnknown_085B2CF0[][16] = { gText_PokemonMoves, gText_Underpowered, gText_WhenInDanger, - gText_Exit, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + gText_Exit } }; -static void sub_813A2DC(u8 taskId) +static void Task_ShowScrollableMultichoice(u8 taskId) { - u32 unk1; + u32 width; u8 i, windowId; struct WindowTemplate template; struct Task *task = &gTasks[taskId]; ScriptContext2_Enable(); - gUnknown_0203AB68 = 0; - gUnknown_0203AB6C = 0x40; - sub_813AA60(task->data[11], 0); - sub_813ACE8(task->data[11], 0); - gUnknown_0203AB64 = AllocZeroed(task->data[1] * 8); - gUnknown_0203AB6A = 0; - sub_813A42C(); + sScrollableMultichoice_ScrollOffset = 0; + sScrollableMultichoice_ItemSpriteId = MAX_SPRITES; + FillFrontierExchangeCornerWindowAndItemIcon(task->tScrollMultiId, 0); + ShowBattleFrontierTutorWindow(task->tScrollMultiId, 0); + sScrollableMultichoice_ListMenuItem = AllocZeroed(task->tNumItems * 8); + sFrontierExchangeCorner_NeverRead = 0; + InitScrollableMultichoice(); - for (unk1 = 0, i = 0; i < task->data[1]; i++) + for (width = 0, i = 0; i < task->tNumItems; i++) { - const u8 *text = gUnknown_085B2CF0[gSpecialVar_0x8004][i]; - gUnknown_0203AB64[i].name = text; - gUnknown_0203AB64[i].id = i; - unk1 = display_text_and_get_width(text, unk1); + const u8 *text = sScrollableMultichoiceOptions[gSpecialVar_0x8004][i]; + sScrollableMultichoice_ListMenuItem[i].name = text; + sScrollableMultichoice_ListMenuItem[i].id = i; + width = DisplayTextAndGetWidth(text, width); } - task->data[4] = convert_pixel_width_to_tile_width(unk1); + task->tWidth = ConvertPixelWidthToTileWidth(width); - if (task->data[2] + task->data[4] > 0x1D) + if (task->tLeft + task->tWidth > MAX_MULTICHOICE_WIDTH + 1) { - int unk2 = 0x1D - task->data[4]; - if (unk2 < 0) + int adjustedLeft = MAX_MULTICHOICE_WIDTH + 1 - task->tWidth; + if (adjustedLeft < 0) { - task->data[2] = 0; + task->tLeft = 0; } else { - task->data[2] = unk2; + task->tLeft = adjustedLeft; } } - template = CreateWindowTemplate(0, task->data[2], task->data[3], task->data[4], task->data[5], 0xF, 0x64); + template = CreateWindowTemplate(0, task->tLeft, task->tTop, task->tWidth, task->tHeight, 0xF, 0x64); windowId = AddWindow(&template); - task->data[13] = windowId; + task->tWindowId = windowId; SetStandardWindowBorderStyle(windowId, 0); - gUnknown_030061D0.totalItems = task->data[1]; - gUnknown_030061D0.maxShowed = task->data[0]; - gUnknown_030061D0.windowId = task->data[13]; + gScrollableMultichoice_ListMenuTemplate.totalItems = task->tNumItems; + gScrollableMultichoice_ListMenuTemplate.maxShowed = task->tMaxItemsOnScreen; + gScrollableMultichoice_ListMenuTemplate.windowId = task->tWindowId; - sub_813A694(taskId); - task->data[14] = ListMenuInit(&gUnknown_030061D0, task->data[7], task->data[8]); + ScrollableMultichoice_UpdateScrollArrows(taskId); + task->tListTaskId = ListMenuInit(&gScrollableMultichoice_ListMenuTemplate, task->tScrollOffset, task->tSelectedRow); schedule_bg_copy_tilemap_to_vram(0); - gTasks[taskId].func = sub_813A4EC; + gTasks[taskId].func = ScrollableMultichoice_ProcessInput; } -static void sub_813A42C(void) +static void InitScrollableMultichoice(void) { - gUnknown_030061D0.items = gUnknown_0203AB64; - gUnknown_030061D0.moveCursorFunc = sub_813A46C; - gUnknown_030061D0.itemPrintFunc = NULL; - gUnknown_030061D0.totalItems = 1; - gUnknown_030061D0.maxShowed = 1; - gUnknown_030061D0.windowId = 0; - gUnknown_030061D0.header_X = 0; - gUnknown_030061D0.item_X = 8; - gUnknown_030061D0.cursor_X = 0; - gUnknown_030061D0.upText_Y = 1; - gUnknown_030061D0.cursorPal = 2; - gUnknown_030061D0.fillValue = 1; - gUnknown_030061D0.cursorShadowPal = 3; - gUnknown_030061D0.lettersSpacing = 0; - gUnknown_030061D0.itemVerticalPadding = 0; - gUnknown_030061D0.scrollMultiple = 0; - gUnknown_030061D0.fontId = 1; - gUnknown_030061D0.cursorKind = 0; + gScrollableMultichoice_ListMenuTemplate.items = sScrollableMultichoice_ListMenuItem; + gScrollableMultichoice_ListMenuTemplate.moveCursorFunc = ScrollableMultichoice_MoveCursor; + gScrollableMultichoice_ListMenuTemplate.itemPrintFunc = NULL; + gScrollableMultichoice_ListMenuTemplate.totalItems = 1; + gScrollableMultichoice_ListMenuTemplate.maxShowed = 1; + gScrollableMultichoice_ListMenuTemplate.windowId = 0; + gScrollableMultichoice_ListMenuTemplate.header_X = 0; + gScrollableMultichoice_ListMenuTemplate.item_X = 8; + gScrollableMultichoice_ListMenuTemplate.cursor_X = 0; + gScrollableMultichoice_ListMenuTemplate.upText_Y = 1; + gScrollableMultichoice_ListMenuTemplate.cursorPal = 2; + gScrollableMultichoice_ListMenuTemplate.fillValue = 1; + gScrollableMultichoice_ListMenuTemplate.cursorShadowPal = 3; + gScrollableMultichoice_ListMenuTemplate.lettersSpacing = 0; + gScrollableMultichoice_ListMenuTemplate.itemVerticalPadding = 0; + gScrollableMultichoice_ListMenuTemplate.scrollMultiple = 0; + gScrollableMultichoice_ListMenuTemplate.fontId = 1; + gScrollableMultichoice_ListMenuTemplate.cursorKind = 0; } -static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list) +static void ScrollableMultichoice_MoveCursor(s32 itemIndex, bool8 onInit, struct ListMenu *list) { u8 taskId; PlaySE(SE_SELECT); - taskId = FindTaskIdByFunc(sub_813A4EC); + taskId = FindTaskIdByFunc(ScrollableMultichoice_ProcessInput); if (taskId != 0xFF) { - u16 misc; + u16 selection; struct Task *task = &gTasks[taskId]; - ListMenuGetScrollAndRow(task->data[14], &misc, NULL); - gUnknown_0203AB68 = misc; - ListMenuGetCurrentItemArrayId(task->data[14], &misc); - sub_813AC44(task->data[11], gUnknown_0203AB6A); - sub_813AA60(task->data[11], misc); - sub_813AD34(task->data[11], misc); - gUnknown_0203AB6A = misc; + ListMenuGetScrollAndRow(task->tListTaskId, &selection, NULL); + sScrollableMultichoice_ScrollOffset = selection; + ListMenuGetCurrentItemArrayId(task->tListTaskId, &selection); + HideFrontierExchangeCornerItemIcon(task->tScrollMultiId, sFrontierExchangeCorner_NeverRead); + FillFrontierExchangeCornerWindowAndItemIcon(task->tScrollMultiId, selection); + ShowBattleFrontierTutorMoveDescription(task->tScrollMultiId, selection); + sFrontierExchangeCorner_NeverRead = selection; } } -static void sub_813A4EC(u8 taskId) +static void ScrollableMultichoice_ProcessInput(u8 taskId) { struct Task *task = &gTasks[taskId]; - s32 input = ListMenu_ProcessInput(task->data[14]); + s32 input = ListMenu_ProcessInput(task->tListTaskId); switch (input) { case LIST_NOTHING_CHOSEN: break; case LIST_CANCEL: - gSpecialVar_Result = 0x7F; + gSpecialVar_Result = MULTI_B_PRESSED; PlaySE(SE_SELECT); - sub_813A570(taskId); + CloseScrollableMultichoice(taskId); break; default: gSpecialVar_Result = input; PlaySE(SE_SELECT); - if (!task->data[6]) + if (!task->tKeepOpenAfterSelect) { - sub_813A570(taskId); + CloseScrollableMultichoice(taskId); } - else if (input == task->data[1] - 1) + // if selected option was the last one (Exit) + else if (input == task->tNumItems - 1) { - sub_813A570(taskId); + CloseScrollableMultichoice(taskId); } else { - sub_813A738(taskId); + ScrollableMultichoice_RemoveScrollArrows(taskId); task->func = sub_813A600; EnableBothScriptContexts(); } @@ -2672,37 +2723,39 @@ static void sub_813A4EC(u8 taskId) } } -static void sub_813A570(u8 taskId) +static void CloseScrollableMultichoice(u8 taskId) { - u16 array; + u16 selection; struct Task *task = &gTasks[taskId]; - ListMenuGetCurrentItemArrayId(task->data[14], &array); - sub_813AC44(task->data[11], array); - sub_813A738(taskId); - DestroyListMenuTask(task->data[14], NULL, NULL); - Free(gUnknown_0203AB64); - ClearStdWindowAndFrameToTransparent(task->data[13], 1); - FillWindowPixelBuffer(task->data[13], PIXEL_FILL(0)); - CopyWindowToVram(task->data[13], 2); - RemoveWindow(task->data[13]); + ListMenuGetCurrentItemArrayId(task->tListTaskId, &selection); + HideFrontierExchangeCornerItemIcon(task->tScrollMultiId, selection); + ScrollableMultichoice_RemoveScrollArrows(taskId); + DestroyListMenuTask(task->tListTaskId, NULL, NULL); + Free(sScrollableMultichoice_ListMenuItem); + ClearStdWindowAndFrameToTransparent(task->tWindowId, 1); + FillWindowPixelBuffer(task->tWindowId, PIXEL_FILL(0)); + CopyWindowToVram(task->tWindowId, 2); + RemoveWindow(task->tWindowId); DestroyTask(taskId); EnableBothScriptContexts(); } +// Functionally unused; tKeepOpenAfterSelect is only != 0 in unused functions static void sub_813A600(u8 taskId) { - switch (gTasks[taskId].data[6]) + switch (gTasks[taskId].tKeepOpenAfterSelect) { case 1: default: break; case 2: - gTasks[taskId].data[6] = 1; + gTasks[taskId].tKeepOpenAfterSelect = 1; gTasks[taskId].func = sub_813A664; break; } } +// Never called void sub_813A630(void) { u8 taskId = FindTaskIdByFunc(sub_813A600); @@ -2712,20 +2765,20 @@ void sub_813A630(void) } else { - gTasks[taskId].data[6]++; + gTasks[taskId].tKeepOpenAfterSelect++; } } static void sub_813A664(u8 taskId) { ScriptContext2_Enable(); - sub_813A694(taskId); - gTasks[taskId].func = sub_813A4EC; + ScrollableMultichoice_UpdateScrollArrows(taskId); + gTasks[taskId].func = ScrollableMultichoice_ProcessInput; } -static void sub_813A694(u8 taskId) +static void ScrollableMultichoice_UpdateScrollArrows(u8 taskId) { - static const struct ScrollArrowsTemplate gUnknown_085B3030 = { + static const struct ScrollArrowsTemplate sScrollableMultichoice_ScrollArrowsTemplate = { .firstArrowType = SCROLL_ARROW_UP, .firstX = 0, .firstY = 0, @@ -2740,34 +2793,51 @@ static void sub_813A694(u8 taskId) }; struct Task *task = &gTasks[taskId]; - struct ScrollArrowsTemplate template = gUnknown_085B3030; - if (task->data[0] != task->data[1]) + struct ScrollArrowsTemplate template = sScrollableMultichoice_ScrollArrowsTemplate; + if (task->tMaxItemsOnScreen != task->data[1]) { - template.firstX = (task->data[4] / 2) * 8 + 12 + (task->data[2] - 1) * 8; + template.firstX = (task->tWidth / 2) * 8 + 12 + (task->tLeft - 1) * 8; template.firstY = 8; - template.secondX = (task->data[4] / 2) * 8 + 12 + (task->data[2] - 1) * 8; - template.secondY = task->data[5] * 8 + 10; + template.secondX = (task->tWidth / 2) * 8 + 12 + (task->tLeft - 1) * 8; + template.secondY = task->tHeight * 8 + 10; template.fullyUpThreshold = 0; - template.fullyDownThreshold = task->data[1] - task->data[0]; - task->data[12] = AddScrollIndicatorArrowPair(&template, &gUnknown_0203AB68); + template.fullyDownThreshold = task->data[1] - task->tMaxItemsOnScreen; + task->tScrollArrowId = AddScrollIndicatorArrowPair(&template, &sScrollableMultichoice_ScrollOffset); } } -static void sub_813A738(u8 taskId) +static void ScrollableMultichoice_RemoveScrollArrows(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (task->data[0] != task->data[1]) + if (task->tMaxItemsOnScreen != task->data[1]) { - RemoveScrollIndicatorArrowPair(task->data[12]); + RemoveScrollIndicatorArrowPair(task->tScrollArrowId); } } -void nullsub_55(void) +// Removed for Emerald (replaced by ShowScrollableMultichoice) +void ShowGlassWorkshopMenu(void) { - + /* + u8 i; + ScriptContext2_Enable(); + Menu_DrawStdWindowFrame(0, 0, 10, 11); + InitMenu(0, 1, 1, 5, 0, 9); + gUnknown_0203925C = 0; + ClearVerticalScrollIndicatorPalettes(); + LoadScrollIndicatorPalette(); + sub_810F2B4(); + for (i = 0; i < 5; i++) + { + Menu_PrintText(gUnknown_083F83C0[i], 1, 2 * i + 1); + } + gUnknown_0203925B = 0; + gUnknown_0203925A = ARRAY_COUNT(gUnknown_083F83C0); + CreateTask(sub_810F118, 8); + */ } -void sub_813A76C(void) +void SetBattleTowerLinkPlayerGfx(void) { u8 i; for (i = 0; i < 2; i++) @@ -2783,34 +2853,34 @@ void sub_813A76C(void) } } -void sub_813A7B8(void) +void ShowNatureGirlMessage(void) { - static const u8 *const gUnknown_085B3040[] = { - BattleFrontier_Lounge5_Text_26468D, - BattleFrontier_Lounge5_Text_2646E5, - BattleFrontier_Lounge5_Text_264741, - BattleFrontier_Lounge5_Text_2647A4, - BattleFrontier_Lounge5_Text_2647FC, - BattleFrontier_Lounge5_Text_264858, - BattleFrontier_Lounge5_Text_2648BE, - BattleFrontier_Lounge5_Text_264916, - BattleFrontier_Lounge5_Text_264972, - BattleFrontier_Lounge5_Text_2649D5, - BattleFrontier_Lounge5_Text_264A3F, - BattleFrontier_Lounge5_Text_264A9B, - BattleFrontier_Lounge5_Text_264AF3, - BattleFrontier_Lounge5_Text_264B5D, - BattleFrontier_Lounge5_Text_2648BE, - BattleFrontier_Lounge5_Text_264BC3, - BattleFrontier_Lounge5_Text_264C36, - BattleFrontier_Lounge5_Text_2648BE, - BattleFrontier_Lounge5_Text_264C95, - BattleFrontier_Lounge5_Text_264D01, - BattleFrontier_Lounge5_Text_264D6B, - BattleFrontier_Lounge5_Text_264DD7, - BattleFrontier_Lounge5_Text_264E33, - BattleFrontier_Lounge5_Text_264E8F, - BattleFrontier_Lounge5_Text_2648BE, + static const u8 *const sNatureGirlMessages[] = { + [NATURE_HARDY] = BattleFrontier_Lounge5_Text_NatureGirlHardy, + [NATURE_LONELY] = BattleFrontier_Lounge5_Text_NatureGirlLonely, + [NATURE_BRAVE] = BattleFrontier_Lounge5_Text_NatureGirlBrave, + [NATURE_ADAMANT] = BattleFrontier_Lounge5_Text_NatureGirlAdamant, + [NATURE_NAUGHTY] = BattleFrontier_Lounge5_Text_NatureGirlNaughty, + [NATURE_BOLD] = BattleFrontier_Lounge5_Text_NatureGirlBold, + [NATURE_DOCILE] = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky, + [NATURE_RELAXED] = BattleFrontier_Lounge5_Text_NatureGirlRelaxed, + [NATURE_IMPISH] = BattleFrontier_Lounge5_Text_NatureGirlImpish, + [NATURE_LAX] = BattleFrontier_Lounge5_Text_NatureGirlLax, + [NATURE_TIMID] = BattleFrontier_Lounge5_Text_NatureGirlTimid, + [NATURE_HASTY] = BattleFrontier_Lounge5_Text_NatureGirlHasty, + [NATURE_SERIOUS] = BattleFrontier_Lounge5_Text_NatureGirlSerious, + [NATURE_JOLLY] = BattleFrontier_Lounge5_Text_NatureGirlJolly, + [NATURE_NAIVE] = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky, + [NATURE_MODEST] = BattleFrontier_Lounge5_Text_NatureGirlModest, + [NATURE_MILD] = BattleFrontier_Lounge5_Text_NatureGirlMild, + [NATURE_QUIET] = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky, + [NATURE_BASHFUL] = BattleFrontier_Lounge5_Text_NatureGirlBashful, + [NATURE_RASH] = BattleFrontier_Lounge5_Text_NatureGirlRash, + [NATURE_CALM] = BattleFrontier_Lounge5_Text_NatureGirlCalm, + [NATURE_GENTLE] = BattleFrontier_Lounge5_Text_NatureGirlGentle, + [NATURE_SASSY] = BattleFrontier_Lounge5_Text_NatureGirlSassy, + [NATURE_CAREFUL] = BattleFrontier_Lounge5_Text_NatureGirlCareful, + [NATURE_QUIRKY] = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky, }; u8 nature; @@ -2821,94 +2891,110 @@ void sub_813A7B8(void) } nature = GetNature(&gPlayerParty[gSpecialVar_0x8004]); - ShowFieldMessage(gUnknown_085B3040[nature]); + ShowFieldMessage(sNatureGirlMessages[nature]); } -void UpdateFrontierGambler(u16 a0) +void UpdateFrontierGambler(u16 daysSince) { - u16 *var = GetVarPointer(VAR_FRONTIER_GAMBLER_FACILITY); - *var += a0; - *var %= 12; + u16 *var = GetVarPointer(VAR_FRONTIER_GAMBLER_CHALLENGE); + *var += daysSince; + *var %= FRONTIER_GAMBLER_CHALLENGE_COUNT; } -void sub_813A820(void) +void ShowFrontierGamblerLookingMessage(void) { - static const u8 *const gUnknown_085B30A4[] = { - BattleFrontier_Lounge3_Text_262261, - BattleFrontier_Lounge3_Text_26230D, - BattleFrontier_Lounge3_Text_2623B9, - BattleFrontier_Lounge3_Text_262464, - BattleFrontier_Lounge3_Text_26250E, - BattleFrontier_Lounge3_Text_2625B8, - BattleFrontier_Lounge3_Text_26266A, - BattleFrontier_Lounge3_Text_26271C, - BattleFrontier_Lounge3_Text_2627C9, - BattleFrontier_Lounge3_Text_262876, - BattleFrontier_Lounge3_Text_26291A, - BattleFrontier_Lounge3_Text_2629BC, + static const u8 *const sFrontierGamblerLookingMessages[] = + { + BattleFrontier_Lounge3_Text_ChallengeBattleTowerSingle, + BattleFrontier_Lounge3_Text_ChallengeBattleTowerDouble, + BattleFrontier_Lounge3_Text_ChallengeBattleTowerMulti, + BattleFrontier_Lounge3_Text_ChallengeBattleDomeSingle, + BattleFrontier_Lounge3_Text_ChallengeBattleDomeDouble, + BattleFrontier_Lounge3_Text_ChallengeBattleFactorySingle, + BattleFrontier_Lounge3_Text_ChallengeBattleFactoryDouble, + BattleFrontier_Lounge3_Text_ChallengeBattlePalaceSingle, + BattleFrontier_Lounge3_Text_ChallengeBattlePalaceDouble, + BattleFrontier_Lounge3_Text_ChallengeBattleArena, + BattleFrontier_Lounge3_Text_ChallengeBattlePike, + BattleFrontier_Lounge3_Text_ChallengeBattlePyramid, }; - u16 var = VarGet(VAR_FRONTIER_GAMBLER_FACILITY); - ShowFieldMessage(gUnknown_085B30A4[var]); - VarSet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F, var); + u16 challenge = VarGet(VAR_FRONTIER_GAMBLER_CHALLENGE); + ShowFieldMessage(sFrontierGamblerLookingMessages[challenge]); + VarSet(VAR_FRONTIER_GAMBLER_SET_CHALLENGE, challenge); } -void sub_813A854(void) +void ShowFrontierGamblerGoMessage(void) { - static const u8 *const gUnknown_085B30D4[] = { - BattleFrontier_Lounge3_Text_262C04, - BattleFrontier_Lounge3_Text_262C90, - BattleFrontier_Lounge3_Text_262D1C, - BattleFrontier_Lounge3_Text_262DA7, - BattleFrontier_Lounge3_Text_262E34, - BattleFrontier_Lounge3_Text_262EC1, - BattleFrontier_Lounge3_Text_262F56, - BattleFrontier_Lounge3_Text_262FEB, - BattleFrontier_Lounge3_Text_263078, - BattleFrontier_Lounge3_Text_263105, - BattleFrontier_Lounge3_Text_26318C, - BattleFrontier_Lounge3_Text_263211, + static const u8 *const sFrontierGamblerGoMessages[] = + { + BattleFrontier_Lounge3_Text_GetToBattleTowerSingle, + BattleFrontier_Lounge3_Text_GetToBattleTowerDouble, + BattleFrontier_Lounge3_Text_GetToBattleTowerMulti, + BattleFrontier_Lounge3_Text_GetToBattleDomeSingle, + BattleFrontier_Lounge3_Text_GetToBattleDomeDouble, + BattleFrontier_Lounge3_Text_GetToBattleFactorySingle, + BattleFrontier_Lounge3_Text_GetToBattleFactoryDouble, + BattleFrontier_Lounge3_Text_GetToBattlePalaceSingle, + BattleFrontier_Lounge3_Text_GetToBattlePalaceDouble, + BattleFrontier_Lounge3_Text_GetToBattleArena, + BattleFrontier_Lounge3_Text_GetToBattlePike, + BattleFrontier_Lounge3_Text_GetToBattlePyramid, }; - ShowFieldMessage(gUnknown_085B30D4[VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F)]); + ShowFieldMessage(sFrontierGamblerGoMessages[VarGet(VAR_FRONTIER_GAMBLER_SET_CHALLENGE)]); } -void sub_813A878(u8 a0) +void FrontierGamblerSetWonOrLost(bool8 won) { - static const u16 gUnknown_085B3104[] = {0x0000, 0x0001, 0x0002, 0x0100, 0x0101, 0x0400, 0x0401, 0x0200, 0x0201, 0x0300, 0x0500, 0x0600}; + static const u16 sFrontierChallenges[] = + { + FRONTIER_CHALLENGE(FRONTIER_FACILITY_TOWER, FRONTIER_MODE_SINGLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_TOWER, FRONTIER_MODE_DOUBLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_TOWER, FRONTIER_MODE_MULTIS), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_DOME, FRONTIER_MODE_SINGLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_DOME, FRONTIER_MODE_DOUBLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_SINGLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_DOUBLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_PALACE, FRONTIER_MODE_SINGLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_PALACE, FRONTIER_MODE_DOUBLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_ARENA, FRONTIER_MODE_SINGLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_PIKE, FRONTIER_MODE_SINGLES), + FRONTIER_CHALLENGE(FRONTIER_FACILITY_PYRAMID, FRONTIER_MODE_SINGLES) + }; u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); - u16 var2 = VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F); + u16 challenge = VarGet(VAR_FRONTIER_GAMBLER_SET_CHALLENGE); u16 frontierFacilityId = VarGet(VAR_FRONTIER_FACILITY); - if (VarGet(VAR_FRONTIER_GAMBLER_PLACED_BET_F) == 1) + if (VarGet(VAR_FRONTIER_GAMBLER_STATE) == FRONTIER_GAMBLER_PLACED_BET) { - if (gUnknown_085B3104[var2] == (frontierFacilityId << 8) + battleMode) + if (sFrontierChallenges[challenge] == FRONTIER_CHALLENGE(frontierFacilityId, battleMode)) { - if (a0 != 0) + if (won) { - VarSet(VAR_FRONTIER_GAMBLER_PLACED_BET_F, 2); + VarSet(VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WON); } else { - VarSet(VAR_FRONTIER_GAMBLER_PLACED_BET_F, 3); + VarSet(VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_LOST); } } } } -void sub_813A8FC(void) +void UpdateBattlePointsWindow(void) { u8 string[32]; u32 x; StringCopy(ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->frontier.battlePoints, STR_CONV_MODE_RIGHT_ALIGN, 4), gText_BP); x = GetStringRightAlignXOffset(1, string, 48); - AddTextPrinterParameterized(gUnknown_0203AB6D, 1, string, x, 1, 0, NULL); + AddTextPrinterParameterized(sBattlePointsWindowId, 1, string, x, 1, 0, NULL); } -void sub_813A958(void) +void ShowBattlePointsWindow(void) { - static const struct WindowTemplate gUnknown_085B311C = { + static const struct WindowTemplate sBattlePoints_WindowTemplate = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 1, @@ -2918,19 +3004,19 @@ void sub_813A958(void) .baseBlock = 8, }; - gUnknown_0203AB6D = AddWindow(&gUnknown_085B311C); - SetStandardWindowBorderStyle(gUnknown_0203AB6D, 0); - sub_813A8FC(); - CopyWindowToVram(gUnknown_0203AB6D, 2); + sBattlePointsWindowId = AddWindow(&sBattlePoints_WindowTemplate); + SetStandardWindowBorderStyle(sBattlePointsWindowId, 0); + UpdateBattlePointsWindow(); + CopyWindowToVram(sBattlePointsWindowId, 2); } -void sub_813A988(void) +void CloseBattlePointsWindow(void) { - ClearStdWindowAndFrameToTransparent(gUnknown_0203AB6D, TRUE); - RemoveWindow(gUnknown_0203AB6D); + ClearStdWindowAndFrameToTransparent(sBattlePointsWindowId, TRUE); + RemoveWindow(sBattlePointsWindowId); } -void sub_813A9A4(void) +void TakeFrontierBattlePoints(void) { if (gSaveBlock2Ptr->frontier.battlePoints < gSpecialVar_0x8004) { @@ -2942,11 +3028,11 @@ void sub_813A9A4(void) } } -void sub_813A9D0(void) +void GiveFrontierBattlePoints(void) { - if (gSaveBlock2Ptr->frontier.battlePoints + gSpecialVar_0x8004 > 9999) + if (gSaveBlock2Ptr->frontier.battlePoints + gSpecialVar_0x8004 > MAX_BATTLE_FRONTIER_POINTS) { - gSaveBlock2Ptr->frontier.battlePoints = 9999; + gSaveBlock2Ptr->frontier.battlePoints = MAX_BATTLE_FRONTIER_POINTS; } else { @@ -2954,14 +3040,14 @@ void sub_813A9D0(void) } } -u16 sub_813AA04(void) +u16 GetFrontierBattlePoints(void) { return gSaveBlock2Ptr->frontier.battlePoints; } -void sub_813AA18(void) +void ShowFrontierExchangeCornerItemIconWindow(void) { - static const struct WindowTemplate gUnknown_085B3124 = { + static const struct WindowTemplate sFrontierExchangeCorner_ItemIconWindowTemplate = { .bg = 0, .tilemapLeft = 2, .tilemapTop = 9, @@ -2971,159 +3057,139 @@ void sub_813AA18(void) .baseBlock = 20, }; - gUnknown_0203AB6E = AddWindow(&gUnknown_085B3124); - SetStandardWindowBorderStyle(gUnknown_0203AB6E, 0); - CopyWindowToVram(gUnknown_0203AB6E, 2); + sFrontierExchangeCorner_ItemIconWindowId = AddWindow(&sFrontierExchangeCorner_ItemIconWindowTemplate); + SetStandardWindowBorderStyle(sFrontierExchangeCorner_ItemIconWindowId, 0); + CopyWindowToVram(sFrontierExchangeCorner_ItemIconWindowId, 2); } -void sub_813AA44(void) +void CloseFrontierExchangeCornerItemIconWindow(void) { - ClearStdWindowAndFrameToTransparent(gUnknown_0203AB6E, TRUE); - RemoveWindow(gUnknown_0203AB6E); + ClearStdWindowAndFrameToTransparent(sFrontierExchangeCorner_ItemIconWindowId, TRUE); + RemoveWindow(sFrontierExchangeCorner_ItemIconWindowId); } -static void sub_813AA60(u16 a0, u16 a1) +static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection) { - static const u16 gUnknown_085B312C[] = { 0x004b, 0x0067, 0x0057, 0x004f, 0x0054, 0x0055, 0x0056, 0x0050, 0x0051, 0x0052, 0xFFFF }; - static const u16 gUnknown_085B3142[] = { 0x0071, 0x006f, 0x0072, 0x0073, 0x0074, 0xFFFF }; - static const u16 gUnknown_085B314E[] = { 0x0040, 0x0043, 0x0041, 0x0046, 0x0042, 0x003f, 0xFFFF }; - static const u16 gUnknown_085B315C[] = { 0x00c8, 0x00b4, 0x00b7, 0x00b9, 0x00b3, 0x00ba, 0x00bb, 0x00c4, 0x00c6, 0xFFFF }; + #include "data/battle_frontier/battle_frontier_exchange_corner.h" - static const u8 *const gUnknown_085B3170[] = { - BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260201, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260287, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E, - gText_Exit, - }; - - static const u8 *const gUnknown_085B319C[] = { - BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, - gText_Exit - }; - - static const u8 *const gUnknown_085B31B4[] = { - BattleFrontier_BattlePointExchangeServiceCorner_Text_260397, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260436, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C, - gText_Exit - }; - - static const u8 *const gUnknown_085B31D0[] = { - BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260542, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260575, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260613, - gText_Exit - }; - - if (a0 > 2 && a0 < 7) + if (menu >= SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1 && menu <= SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR) { FillWindowPixelRect(0, PIXEL_FILL(1), 0, 0, 216, 32); - switch (a0) + switch (menu) { - case 3: - AddTextPrinterParameterized2(0, 1, gUnknown_085B3170[a1], 0, NULL, 2, 1, 3); - if (gUnknown_085B312C[a1] == 0xFFFF) + case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1: + AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_Decor1Descriptions[selection], 0, NULL, 2, 1, 3); + if (sFrontierExchangeCorner_Decor1[selection] == 0xFFFF) { - sub_813ABD4(gUnknown_085B312C[a1]); + ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor1[selection]); } else { FreeSpriteTilesByTag(5500); FreeSpritePaletteByTag(5500); - gUnknown_0203AB6C = AddDecorationIconObject(gUnknown_085B312C[a1], 33, 88, 0, 5500, 5500); + sScrollableMultichoice_ItemSpriteId = AddDecorationIconObject(sFrontierExchangeCorner_Decor1[selection], 33, 88, 0, 5500, 5500); } break; - case 4: - AddTextPrinterParameterized2(0, 1, gUnknown_085B319C[a1], 0, NULL, 2, 1, 3); - if (gUnknown_085B3142[a1] == 0xFFFF) + case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2: + AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_Decor2Descriptions[selection], 0, NULL, 2, 1, 3); + if (sFrontierExchangeCorner_Decor2[selection] == 0xFFFF) { - sub_813ABD4(gUnknown_085B3142[a1]); + ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor2[selection]); } else { FreeSpriteTilesByTag(5500); FreeSpritePaletteByTag(5500); - gUnknown_0203AB6C = AddDecorationIconObject(gUnknown_085B3142[a1], 33, 88, 0, 5500, 5500); + sScrollableMultichoice_ItemSpriteId = AddDecorationIconObject(sFrontierExchangeCorner_Decor2[selection], 33, 88, 0, 5500, 5500); } break; - case 5: - AddTextPrinterParameterized2(0, 1, gUnknown_085B31B4[a1], 0, NULL, 2, 1, 3); - sub_813ABD4(gUnknown_085B314E[a1]); + case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR: + AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_VitaminsDescriptions[selection], 0, NULL, 2, 1, 3); + ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Vitamins[selection]); break; - case 6: - AddTextPrinterParameterized2(0, 1, gUnknown_085B31D0[a1], 0, NULL, 2, 1, 3); - sub_813ABD4(gUnknown_085B315C[a1]); + case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR: + AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_HoldItemsDescriptions[selection], 0, NULL, 2, 1, 3); + ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_HoldItems[selection]); break; } } } -static void sub_813ABD4(u16 a0) +static void ShowFrontierExchangeCornerItemIcon(u16 item) { FreeSpriteTilesByTag(5500); FreeSpritePaletteByTag(5500); - gUnknown_0203AB6C = AddItemIconSprite(5500, 5500, a0); + sScrollableMultichoice_ItemSpriteId = AddItemIconSprite(5500, 5500, item); - if (gUnknown_0203AB6C != MAX_SPRITES) + if (sScrollableMultichoice_ItemSpriteId != MAX_SPRITES) { - gSprites[gUnknown_0203AB6C].oam.priority = 0; - gSprites[gUnknown_0203AB6C].pos1.x = 36; - gSprites[gUnknown_0203AB6C].pos1.y = 92; + gSprites[sScrollableMultichoice_ItemSpriteId].oam.priority = 0; + gSprites[sScrollableMultichoice_ItemSpriteId].pos1.x = 36; + gSprites[sScrollableMultichoice_ItemSpriteId].pos1.y = 92; } } -static void sub_813AC44(u16 a0, u16 unused) +static void HideFrontierExchangeCornerItemIcon(u16 menu, u16 unused) { - if (gUnknown_0203AB6C != MAX_SPRITES) + if (sScrollableMultichoice_ItemSpriteId != MAX_SPRITES) { - switch (a0) + switch (menu) { - case 3 ... 6: - DestroySpriteAndFreeResources(&gSprites[gUnknown_0203AB6C]); + case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1: + case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2: + case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR: + case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR: + DestroySpriteAndFreeResources(&gSprites[sScrollableMultichoice_ItemSpriteId]); break; } - gUnknown_0203AB6C = MAX_SPRITES; + sScrollableMultichoice_ItemSpriteId = MAX_SPRITES; } } -static const u16 gUnknown_085B31F8[] = { 0x0087, 0x0045, 0x008a, 0x0005, 0x0019, 0x0022, 0x009d, 0x0044, 0x0056, 0x000e }; -static const u16 gUnknown_085B320C[] = { 0x006f, 0x00ad, 0x00bd, 0x0081, 0x00c4, 0x00cb, 0x00f4, 0x0008, 0x0009, 0x0007 }; +static const u16 sBattleFrontier_TutorMoves1[] = +{ + MOVE_SOFT_BOILED, + MOVE_SEISMIC_TOSS, + MOVE_DREAM_EATER, + MOVE_MEGA_PUNCH, + MOVE_MEGA_KICK, + MOVE_BODY_SLAM, + MOVE_ROCK_SLIDE, + MOVE_COUNTER, + MOVE_THUNDER_WAVE, + MOVE_SWORDS_DANCE +}; -void sub_813AC7C(void) +static const u16 sBattleFrontier_TutorMoves2[] = +{ + MOVE_DEFENSE_CURL, + MOVE_SNORE, + MOVE_MUD_SLAP, + MOVE_SWIFT, + MOVE_ICY_WIND, + MOVE_ENDURE, + MOVE_PSYCH_UP, + MOVE_ICE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_FIRE_PUNCH +}; + +void BufferBattleFrontierTutorMoveName(void) { if (gSpecialVar_0x8005 != 0) { - StringCopy(gStringVar1, gMoveNames[gUnknown_085B320C[gSpecialVar_0x8004]]); + StringCopy(gStringVar1, gMoveNames[sBattleFrontier_TutorMoves2[gSpecialVar_0x8004]]); } else { - StringCopy(gStringVar1, gMoveNames[gUnknown_085B31F8[gSpecialVar_0x8004]]); + StringCopy(gStringVar1, gMoveNames[sBattleFrontier_TutorMoves1[gSpecialVar_0x8004]]); } } -static void sub_813ACE8(u8 a0, u16 a1) +static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection) { - static const struct WindowTemplate gUnknown_085B3220 = { + static const struct WindowTemplate sBattleFrontierTutor_WindowTemplate = + { .bg = 0, .tilemapLeft = 1, .tilemapTop = 7, @@ -3133,67 +3199,70 @@ static void sub_813ACE8(u8 a0, u16 a1) .baseBlock = 28, }; - if (a0 == 9 || a0 == 10) + if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_1 || menu == SCROLL_MULTI_BF_MOVE_TUTOR_2) { if (gSpecialVar_0x8006 == 0) { - gUnknown_0203AB5E = AddWindow(&gUnknown_085B3220); - SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0); + sTutorMoveAndElevatorWindowId = AddWindow(&sBattleFrontierTutor_WindowTemplate); + SetStandardWindowBorderStyle(sTutorMoveAndElevatorWindowId, 0); } - sub_813AD34(a0, a1); + ShowBattleFrontierTutorMoveDescription(menu, selection); } } -static void sub_813AD34(u8 a0, u16 a1) +static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection) { - static const u8 *const gUnknown_085B3228[] = { - BattleFrontier_Lounge7_Text_265E30, - BattleFrontier_Lounge7_Text_265E5B, - BattleFrontier_Lounge7_Text_265E8A, - BattleFrontier_Lounge7_Text_265EC0, - BattleFrontier_Lounge7_Text_265EED, - BattleFrontier_Lounge7_Text_265F1C, - BattleFrontier_Lounge7_Text_265F47, - BattleFrontier_Lounge7_Text_265F77, - BattleFrontier_Lounge7_Text_265FAA, - BattleFrontier_Lounge7_Text_265FDD, - gText_Exit, - }; - - static const u8 *const gUnknown_085B3254[] = { - BattleFrontier_Lounge7_Text_26600A, - BattleFrontier_Lounge7_Text_26603E, - BattleFrontier_Lounge7_Text_266070, - BattleFrontier_Lounge7_Text_2660A6, - BattleFrontier_Lounge7_Text_2660D0, - BattleFrontier_Lounge7_Text_2660FF, - BattleFrontier_Lounge7_Text_26612D, - BattleFrontier_Lounge7_Text_26615F, - BattleFrontier_Lounge7_Text_266185, - BattleFrontier_Lounge7_Text_2661B5, - gText_Exit, - }; - - if (a0 == 9 || a0 == 10) + static const u8 *const sBattleFrontier_TutorMoveDescriptions1[] = { - FillWindowPixelRect(gUnknown_0203AB5E, PIXEL_FILL(1), 0, 0, 96, 48); - if (a0 == 10) + BattleFrontier_Lounge7_Text_SoftboiledDesc, + BattleFrontier_Lounge7_Text_SeismicTossDesc, + BattleFrontier_Lounge7_Text_DreamEaterDesc, + BattleFrontier_Lounge7_Text_MegaPunchDesc, + BattleFrontier_Lounge7_Text_MegaKickDesc, + BattleFrontier_Lounge7_Text_BodySlamDesc, + BattleFrontier_Lounge7_Text_RockSlideDesc, + BattleFrontier_Lounge7_Text_CounterDesc, + BattleFrontier_Lounge7_Text_ThunderWaveDesc, + BattleFrontier_Lounge7_Text_SwordsDanceDesc, + gText_Exit, + }; + + static const u8 *const sBattleFrontier_TutorMoveDescriptions2[] = + { + BattleFrontier_Lounge7_Text_DefenseCurlDesc, + BattleFrontier_Lounge7_Text_SnoreDesc, + BattleFrontier_Lounge7_Text_MudSlapDesc, + BattleFrontier_Lounge7_Text_SwiftDesc, + BattleFrontier_Lounge7_Text_IcyWindDesc, + BattleFrontier_Lounge7_Text_EndureDesc, + BattleFrontier_Lounge7_Text_PsychUpDesc, + BattleFrontier_Lounge7_Text_IcePunchDesc, + BattleFrontier_Lounge7_Text_ThunderPunchDesc, + BattleFrontier_Lounge7_Text_FirePunchDesc, + gText_Exit, + }; + + if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_1 || menu == SCROLL_MULTI_BF_MOVE_TUTOR_2) + { + FillWindowPixelRect(sTutorMoveAndElevatorWindowId, PIXEL_FILL(1), 0, 0, 96, 48); + if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_2) { - AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gUnknown_085B3254[a1], 0, 1, 0, NULL); + AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, 1, sBattleFrontier_TutorMoveDescriptions2[selection], 0, 1, 0, NULL); } else { - AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gUnknown_085B3228[a1], 0, 1, 0, NULL); + AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, 1, sBattleFrontier_TutorMoveDescriptions1[selection], 0, 1, 0, NULL); } } } -void sub_813ADB8(void) +void CloseBattleFrontierTutorWindow(void) { - ClearStdWindowAndFrameToTransparent(gUnknown_0203AB5E, TRUE); - RemoveWindow(gUnknown_0203AB5E); + ClearStdWindowAndFrameToTransparent(sTutorMoveAndElevatorWindowId, TRUE); + RemoveWindow(sTutorMoveAndElevatorWindowId); } +// Never called void sub_813ADD4(void) { u16 scrollOffset, selectedRow; @@ -3202,75 +3271,92 @@ void sub_813ADD4(void) if (taskId != 0xFF) { struct Task *task = &gTasks[taskId]; - ListMenuGetScrollAndRow(task->data[14], &scrollOffset, &selectedRow); - SetStandardWindowBorderStyle(task->data[13], 0); + ListMenuGetScrollAndRow(task->tListTaskId, &scrollOffset, &selectedRow); + SetStandardWindowBorderStyle(task->tWindowId, 0); - for (i = 0; i < 6; i++) + for (i = 0; i < MAX_SCROLL_MULTI_ON_SCREEN; i++) { - AddTextPrinterParameterized5(task->data[13], 1, gUnknown_085B2CF0[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0); + AddTextPrinterParameterized5(task->tWindowId, 1, sScrollableMultichoiceOptions[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0); } - AddTextPrinterParameterized(task->data[13], 1, gText_SelectorArrow, 0, selectedRow * 16, TEXT_SPEED_FF, NULL); - PutWindowTilemap(task->data[13]); - CopyWindowToVram(task->data[13], 3); + AddTextPrinterParameterized(task->tWindowId, 1, gText_SelectorArrow, 0, selectedRow * 16, TEXT_SPEED_FF, NULL); + PutWindowTilemap(task->tWindowId); + CopyWindowToVram(task->tWindowId, 3); } } -void sub_813AEB4(void) +void GetBattleFrontierTutorMoveIndex(void) { u8 i; - u16 temp1 = 0; - u16 temp2 = 0; + u16 moveTutor = 0; + u16 moveIndex = 0; gSpecialVar_0x8005 = 0; - temp1 = VarGet(VAR_TEMP_E); - temp2 = VarGet(VAR_TEMP_D); + moveTutor = VarGet(VAR_TEMP_E); + moveIndex = VarGet(VAR_TEMP_D); - if (temp1 != 0) + if (moveTutor != 0) { i = 0; do { - if (gTutorMoves[i] == gUnknown_085B320C[temp2]) + if (gTutorMoves[i] == sBattleFrontier_TutorMoves2[moveIndex]) { gSpecialVar_0x8005 = i; break; } i++; - } while (i < 30); + } while (i < TUTOR_MOVE_COUNT); } else { i = 0; do { - if (gTutorMoves[i] == gUnknown_085B31F8[temp2]) + if (gTutorMoves[i] == sBattleFrontier_TutorMoves1[moveIndex]) { gSpecialVar_0x8005 = i; break; } i++; - } while (i < 30); + } while (i < TUTOR_MOVE_COUNT); } } +// Never called void sub_813AF48(void) { u8 taskId = FindTaskIdByFunc(sub_813A600); if (taskId != 0xFF) { struct Task *task = &gTasks[taskId]; - DestroyListMenuTask(task->data[14], NULL, NULL); - Free(gUnknown_0203AB64); - ClearStdWindowAndFrameToTransparent(task->data[13], TRUE); - FillWindowPixelBuffer(task->data[13], PIXEL_FILL(0)); - ClearWindowTilemap(task->data[13]); - CopyWindowToVram(task->data[13], 2); - RemoveWindow(task->data[13]); + DestroyListMenuTask(task->tListTaskId, NULL, NULL); + Free(sScrollableMultichoice_ListMenuItem); + ClearStdWindowAndFrameToTransparent(task->tWindowId, TRUE); + FillWindowPixelBuffer(task->tWindowId, PIXEL_FILL(0)); + ClearWindowTilemap(task->tWindowId); + CopyWindowToVram(task->tWindowId, 2); + RemoveWindow(task->tWindowId); DestroyTask(taskId); } } +// Undefine Scrollable Multichoice task data macros +#undef tMaxItemsOnScreen +#undef tNumItems +#undef tLeft +#undef tTop +#undef tWidth +#undef tHeight +#undef tKeepOpenAfterSelect +#undef tScrollOffset +#undef tSelectedRow +#undef tScrollMultiId +#undef tScrollArrowId +#undef tWindowId +#undef tListTaskId +#undef tTaskId + void DoDeoxysRockInteraction(void) { CreateTask(Task_DeoxysRockInteraction, 8); @@ -3399,53 +3485,53 @@ void IncrementBirthIslandRockStepCount(void) } } -void sub_813B1D0(void) +void SetDeoxysRockPalette(void) { LoadPalette(&sDeoxysRockPalettes[(u8)VarGet(VAR_DEOXYS_ROCK_LEVEL)], 0x1A0, 8); BlendPalettes(0x04000000, 16, 0); } -void set_unknown_box_id(u8 id) +void SetPCBoxToSendMon(u8 boxId) { - gUnknown_0203AB6F = id; + sPCBoxToSendMon = boxId; } -u16 get_unknown_box_id(void) +u16 GetPCBoxToSendMon(void) { - return gUnknown_0203AB6F; + return sPCBoxToSendMon; } -bool8 sub_813B21C(void) +bool8 ShouldShowBoxWasFullMessage(void) { - if (FlagGet(FLAG_SYS_STORAGE_UNKNOWN_FLAG) == FALSE) + if (!FlagGet(FLAG_SHOWN_BOX_WAS_FULL_MESSAGE)) { - if (StorageGetCurrentBox() != VarGet(VAR_STORAGE_UNKNOWN)) + if (StorageGetCurrentBox() != VarGet(VAR_PC_BOX_TO_SEND_MON)) { - FlagSet(FLAG_SYS_STORAGE_UNKNOWN_FLAG); + FlagSet(FLAG_SHOWN_BOX_WAS_FULL_MESSAGE); return TRUE; } } return FALSE; } -bool8 sub_813B260(void) +bool8 IsDestinationBoxFull(void) { int box; int i; - set_unknown_box_id(VarGet(VAR_STORAGE_UNKNOWN)); + SetPCBoxToSendMon(VarGet(VAR_PC_BOX_TO_SEND_MON)); box = StorageGetCurrentBox(); do { for (i = 0; i < IN_BOX_COUNT; i++) { - if (GetBoxMonData(GetBoxedMonPtr(box, i), MON_DATA_SPECIES, 0) == 0) + if (GetBoxMonData(GetBoxedMonPtr(box, i), MON_DATA_SPECIES, 0) == SPECIES_NONE) { - if (get_unknown_box_id() != box) + if (GetPCBoxToSendMon() != box) { - FlagClear(FLAG_SYS_STORAGE_UNKNOWN_FLAG); + FlagClear(FLAG_SHOWN_BOX_WAS_FULL_MESSAGE); } - VarSet(VAR_STORAGE_UNKNOWN, box); - return sub_813B21C(); + VarSet(VAR_PC_BOX_TO_SEND_MON, box); + return ShouldShowBoxWasFullMessage(); } } @@ -3457,36 +3543,36 @@ bool8 sub_813B260(void) return FALSE; } -void CreateUnusualWeatherEvent(void) +void CreateAbnormalWeatherEvent(void) { u16 randomValue = Random(); - VarSet(VAR_UNUSUAL_WEATHER_STEP_COUNTER, 0); + VarSet(VAR_ABNORMAL_WEATHER_STEP_COUNTER, 0); if (FlagGet(FLAG_DEFEATED_KYOGRE) == TRUE) { - VarSet(VAR_UNUSUAL_WEATHER_LOCATION, (randomValue % UNUSUAL_WEATHER_COUNT_PER_LEGENDARY) + UNUSUAL_WEATHER_GROUDON_LOCATIONS_START); + VarSet(VAR_ABNORMAL_WEATHER_LOCATION, (randomValue % ABNORMAL_WEATHER_COUNT_PER_LEGENDARY) + ABNORMAL_WEATHER_GROUDON_LOCATIONS_START); } else if (FlagGet(FLAG_DEFEATED_GROUDON) == TRUE) { - VarSet(VAR_UNUSUAL_WEATHER_LOCATION, (randomValue % UNUSUAL_WEATHER_COUNT_PER_LEGENDARY) + UNUSUAL_WEATHER_KYOGRE_LOCATIONS_START); + VarSet(VAR_ABNORMAL_WEATHER_LOCATION, (randomValue % ABNORMAL_WEATHER_COUNT_PER_LEGENDARY) + ABNORMAL_WEATHER_KYOGRE_LOCATIONS_START); } else if ((randomValue & 1) == 0) { randomValue = Random(); - VarSet(VAR_UNUSUAL_WEATHER_LOCATION, (randomValue % UNUSUAL_WEATHER_COUNT_PER_LEGENDARY) + UNUSUAL_WEATHER_GROUDON_LOCATIONS_START); + VarSet(VAR_ABNORMAL_WEATHER_LOCATION, (randomValue % ABNORMAL_WEATHER_COUNT_PER_LEGENDARY) + ABNORMAL_WEATHER_GROUDON_LOCATIONS_START); } else { randomValue = Random(); - VarSet(VAR_UNUSUAL_WEATHER_LOCATION, (randomValue % UNUSUAL_WEATHER_COUNT_PER_LEGENDARY) + UNUSUAL_WEATHER_KYOGRE_LOCATIONS_START); + VarSet(VAR_ABNORMAL_WEATHER_LOCATION, (randomValue % ABNORMAL_WEATHER_COUNT_PER_LEGENDARY) + ABNORMAL_WEATHER_KYOGRE_LOCATIONS_START); } } -// Saves the map name for the current unusual weather location in gStringVar1, then +// Saves the map name for the current abnormal weather location in gStringVar1, then // returns TRUE if the weather is for Kyogre, and FALSE if it's for Groudon. -bool32 GetUnusualWeatherMapNameAndType(void) +bool32 GetAbnormalWeatherMapNameAndType(void) { - static const u8 sUnusualWeatherMapNumbers[] = { + static const u8 sAbnormalWeatherMapNumbers[] = { MAP_NUM(ROUTE114), MAP_NUM(ROUTE114), MAP_NUM(ROUTE115), @@ -3505,11 +3591,11 @@ bool32 GetUnusualWeatherMapNameAndType(void) MAP_NUM(ROUTE129) }; - u16 unusualWeather = VarGet(VAR_UNUSUAL_WEATHER_LOCATION); + u16 abnormalWeather = VarGet(VAR_ABNORMAL_WEATHER_LOCATION); - GetMapName(gStringVar1, sUnusualWeatherMapNumbers[unusualWeather - 1], 0); + GetMapName(gStringVar1, sAbnormalWeatherMapNumbers[abnormalWeather - 1], 0); - if (unusualWeather < UNUSUAL_WEATHER_KYOGRE_LOCATIONS_START) + if (abnormalWeather < ABNORMAL_WEATHER_KYOGRE_LOCATIONS_START) { return FALSE; } @@ -3519,10 +3605,10 @@ bool32 GetUnusualWeatherMapNameAndType(void) } } -bool8 UnusualWeatherHasExpired(void) +bool8 AbnormalWeatherHasExpired(void) { // Duplicate array. - static const u8 sUnusualWeatherMapNumbers_2[] = { + static const u8 sAbnormalWeatherMapNumbers[] = { MAP_NUM(ROUTE114), MAP_NUM(ROUTE114), MAP_NUM(ROUTE115), @@ -3541,17 +3627,17 @@ bool8 UnusualWeatherHasExpired(void) MAP_NUM(ROUTE129) }; - u16 steps = VarGet(VAR_UNUSUAL_WEATHER_STEP_COUNTER); - u16 unusualWeather = VarGet(VAR_UNUSUAL_WEATHER_LOCATION); + u16 steps = VarGet(VAR_ABNORMAL_WEATHER_STEP_COUNTER); + u16 abnormalWeather = VarGet(VAR_ABNORMAL_WEATHER_LOCATION); - if (unusualWeather == UNUSUAL_WEATHER_NONE) + if (abnormalWeather == ABNORMAL_WEATHER_NONE) { return FALSE; } if (++steps > 999) { - VarSet(VAR_UNUSUAL_WEATHER_STEP_COUNTER, 0); + VarSet(VAR_ABNORMAL_WEATHER_STEP_COUNTER, 0); if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER_MARINE_CAVE)) { switch (gSaveBlock1Ptr->location.mapNum) @@ -3561,7 +3647,7 @@ bool8 UnusualWeatherHasExpired(void) case MAP_NUM(MARINE_CAVE_END): case MAP_NUM(TERRA_CAVE_ENTRANCE): case MAP_NUM(TERRA_CAVE_END): - VarSet(VAR_SHOULD_END_UNUSUAL_WEATHER, 1); + VarSet(VAR_SHOULD_END_ABNORMAL_WEATHER, 1); return FALSE; default: break; @@ -3576,27 +3662,27 @@ bool8 UnusualWeatherHasExpired(void) case MAP_NUM(UNDERWATER5): case MAP_NUM(UNDERWATER6): case MAP_NUM(UNDERWATER7): - VarSet(VAR_SHOULD_END_UNUSUAL_WEATHER, 1); + VarSet(VAR_SHOULD_END_ABNORMAL_WEATHER, 1); return FALSE; default: break; } } - if (gSaveBlock1Ptr->location.mapNum == sUnusualWeatherMapNumbers_2[unusualWeather - 1] && + if (gSaveBlock1Ptr->location.mapNum == sAbnormalWeatherMapNumbers[abnormalWeather - 1] && gSaveBlock1Ptr->location.mapGroup == 0) { return TRUE; } else { - VarSet(VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_NONE); + VarSet(VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_NONE); return FALSE; } } else { - VarSet(VAR_UNUSUAL_WEATHER_STEP_COUNTER, steps); + VarSet(VAR_ABNORMAL_WEATHER_STEP_COUNTER, steps); return FALSE; } } @@ -3606,38 +3692,40 @@ void Unused_SetWeatherSunny(void) SetCurrentAndNextWeather(WEATHER_SUNNY); } -bool32 sub_813B490(void) +// Always returns 1 +u32 GetMartEmployeeObjectEventId(void) { - static const u8 gUnknown_085B3420[][3] = { - { 0x02, 0x04, 0x01 }, - { 0x04, 0x04, 0x01 }, - { 0x05, 0x00, 0x01 }, - { 0x06, 0x03, 0x01 }, - { 0x08, 0x06, 0x01 }, - { 0x09, 0x0d, 0x01 }, - { 0x0a, 0x07, 0x01 }, - { 0x0b, 0x07, 0x01 }, - { 0x0c, 0x04, 0x01 }, - { 0x0e, 0x05, 0x01 }, - { 0x0f, 0x04, 0x01 }, - { 0x1a, 0x37, 0x01 } + static const u8 sPokeMarts[][3] = + { + { MAP_GROUP(OLDALE_TOWN_MART), MAP_NUM(OLDALE_TOWN_MART), 1 }, + { MAP_GROUP(LAVARIDGE_TOWN_MART), MAP_NUM(LAVARIDGE_TOWN_MART), 1 }, + { MAP_GROUP(FALLARBOR_TOWN_MART), MAP_NUM(FALLARBOR_TOWN_MART), 1 }, + { MAP_GROUP(VERDANTURF_TOWN_MART), MAP_NUM(VERDANTURF_TOWN_MART), 1 }, + { MAP_GROUP(PETALBURG_CITY_MART), MAP_NUM(PETALBURG_CITY_MART), 1 }, + { MAP_GROUP(SLATEPORT_CITY_MART), MAP_NUM(SLATEPORT_CITY_MART), 1 }, + { MAP_GROUP(MAUVILLE_CITY_MART), MAP_NUM(MAUVILLE_CITY_MART), 1 }, + { MAP_GROUP(RUSTBORO_CITY_MART), MAP_NUM(RUSTBORO_CITY_MART), 1 }, + { MAP_GROUP(FORTREE_CITY_MART), MAP_NUM(FORTREE_CITY_MART), 1 }, + { MAP_GROUP(MOSSDEEP_CITY_MART), MAP_NUM(MOSSDEEP_CITY_MART), 1 }, + { MAP_GROUP(SOOTOPOLIS_CITY_MART), MAP_NUM(SOOTOPOLIS_CITY_MART), 1 }, + { MAP_GROUP(BATTLE_FRONTIER_MART), MAP_NUM(BATTLE_FRONTIER_MART), 1 } }; u8 i; - for (i = 0; i < 12; i++) + for (i = 0; i < ARRAY_COUNT(sPokeMarts); i++) { - if (gSaveBlock1Ptr->location.mapGroup == gUnknown_085B3420[i][0]) + if (gSaveBlock1Ptr->location.mapGroup == sPokeMarts[i][0]) { - if (gSaveBlock1Ptr->location.mapNum == gUnknown_085B3420[i][1]) + if (gSaveBlock1Ptr->location.mapNum == sPokeMarts[i][1]) { - return gUnknown_085B3420[i][2]; + return sPokeMarts[i][2]; } } } - return TRUE; + return 1; } -bool32 sub_813B4E0(void) +bool32 IsTrainerRegistered(void) { int index = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004); if (index >= 0) @@ -3648,18 +3736,18 @@ bool32 sub_813B4E0(void) return FALSE; } -bool32 sub_813B514(void) +// Always returns FALSE +bool32 ShouldDistributeEonTicket(void) { - if (!VarGet(VAR_ALWAYS_ZERO_0x403F)) - { + if (!VarGet(VAR_DISTRIBUTE_EON_TICKET)) return FALSE; - } + return TRUE; } void sub_813B534(void) { - gUnknown_0203AB70 = gBattleTypeFlags; + sBattleTowerMultiBattleTypeFlags = gBattleTypeFlags; gBattleTypeFlags = 0; if (!gReceivedRemoteLinkPlayers) { @@ -3667,12 +3755,12 @@ void sub_813B534(void) } } -void sub_813B568(void) +void LinkRetireStatusWithBattleTowerPartner(void) { - CreateTask(sub_813B57C, 5); + CreateTask(Task_LinkRetireStatusWithBattleTowerPartner, 5); } -static void sub_813B57C(u8 taskId) +static void Task_LinkRetireStatusWithBattleTowerPartner(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -3703,21 +3791,24 @@ static void sub_813B57C(u8 taskId) { gSpecialVar_0x8005 = gBlockRecvBuffer[1][0]; ResetBlockReceivedFlag(1); - if (gSpecialVar_0x8004 == 1 && gSpecialVar_0x8005 == 1) + if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_RETIRE + && gSpecialVar_0x8005 == BATTLE_TOWER_LINK_RETIRE) { - gSpecialVar_Result = 1; + gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_BOTH_RETIRE; } - else if (gSpecialVar_0x8004 == 0 && gSpecialVar_0x8005 == 1) + else if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_CONTINUE + && gSpecialVar_0x8005 == BATTLE_TOWER_LINK_RETIRE) { - gSpecialVar_Result = 2; + gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_PARTNER_RETIRE; } - else if (gSpecialVar_0x8004 == 1 && gSpecialVar_0x8005 == 0) + else if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_RETIRE + && gSpecialVar_0x8005 == BATTLE_TOWER_LINK_CONTINUE) { - gSpecialVar_Result = 3; + gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_PLAYER_RETIRE; } else { - gSpecialVar_Result = 0; + gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_CONTINUE; } } gTasks[taskId].data[0]++; @@ -3755,14 +3846,14 @@ static void sub_813B57C(u8 taskId) case 5: if (GetMultiplayerId() == 0) { - if (gSpecialVar_Result == 2) + if (gSpecialVar_Result == BATTLE_TOWER_LINKSTAT_PARTNER_RETIRE) { ShowFieldAutoScrollMessage(gText_YourPartnerHasRetired); } } else { - if (gSpecialVar_Result == 3) + if (gSpecialVar_Result == BATTLE_TOWER_LINKSTAT_PLAYER_RETIRE) { ShowFieldAutoScrollMessage(gText_YourPartnerHasRetired); } @@ -3793,14 +3884,14 @@ static void sub_813B57C(u8 taskId) { sub_800AC34(); } - gBattleTypeFlags = gUnknown_0203AB70; + gBattleTypeFlags = sBattleTowerMultiBattleTypeFlags; EnableBothScriptContexts(); DestroyTask(taskId); break; } } -void sub_813B7D8(void) +void Script_DoRayquazaScene(void) { if (gSpecialVar_0x8004 == 0) { @@ -3812,40 +3903,46 @@ void sub_813B7D8(void) } } -void sub_813B80C(void) +#define playCount data[0] +#define delay data[1] + +void LoopWingFlapSE(void) { - CreateTask(sub_813B824, 8); + CreateTask(Task_LoopWingFlapSE, 8); PlaySE(SE_W017); } -static void sub_813B824(u8 taskId) +static void Task_LoopWingFlapSE(u8 taskId) { s16 *data = gTasks[taskId].data; - data[1]++; - if (data[1] == gSpecialVar_0x8005) + delay++; + if (delay == gSpecialVar_0x8005) { - data[0]++; - data[1] = 0; + playCount++; + delay = 0; PlaySE(SE_W017); } - if (data[0] == gSpecialVar_0x8004 - 1) + if (playCount == gSpecialVar_0x8004 - 1) { DestroyTask(taskId); } } -void sub_813B880(void) +#undef playCount +#undef delay + +void CloseBattlePikeCurtain(void) { - u8 taskId = CreateTask(_fwalk, 8); + u8 taskId = CreateTask(Task_CloseBattlePikeCurtain, 8); gTasks[taskId].data[0] = 4; gTasks[taskId].data[1] = 4; gTasks[taskId].data[2] = 4; gTasks[taskId].data[3] = 0; } -static void _fwalk(u8 taskId) +static void Task_CloseBattlePikeCurtain(u8 taskId) { u8 x, y; s16 *data = gTasks[taskId].data; @@ -3857,7 +3954,7 @@ static void _fwalk(u8 taskId) { for (x = 0; x < 3; x++) { - MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + x + 6, gSaveBlock1Ptr->pos.y + y + 4, x + 0x201 + y * 8 + data[3] * 32); + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + x + 6, gSaveBlock1Ptr->pos.y + y + 4, x + 513 + y * 8 + data[3] * 32); } } DrawWholeMapView(); @@ -3870,23 +3967,25 @@ static void _fwalk(u8 taskId) } } -void sub_813B968(void) +void GetBattlePyramidHint(void) { gSpecialVar_Result = gSpecialVar_0x8004 / 7; gSpecialVar_Result -= (gSpecialVar_Result / 20) * 20; } -void sub_813B9A0(void) +// Used to avoid a potential softlock if the player respawns on Dewford with no way off +void ResetHealLocationFromDewford(void) { if (gSaveBlock1Ptr->lastHealLocation.mapGroup == MAP_GROUP(DEWFORD_TOWN) && gSaveBlock1Ptr->lastHealLocation.mapNum == MAP_NUM(DEWFORD_TOWN)) { - SetLastHealLocationWarp(3); + SetLastHealLocationWarp(HEAL_LOCATION_PETALBURG_CITY); } } -bool8 sub_813B9C0(void) +bool8 InPokemonCenter(void) { - static const u16 gUnknown_085B3444[] = { + static const u16 sPokemonCenters[] = + { MAP_OLDALE_TOWN_POKEMON_CENTER_1F, MAP_DEWFORD_TOWN_POKEMON_CENTER_1F, MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F, @@ -3904,19 +4003,19 @@ bool8 sub_813B9C0(void) MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F, MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F, MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F, - MAP_SINGLE_BATTLE_COLOSSEUM, + MAP_BATTLE_COLOSSEUM_2P, MAP_TRADE_CENTER, MAP_RECORD_CORNER, - MAP_DOUBLE_BATTLE_COLOSSEUM, + MAP_BATTLE_COLOSSEUM_4P, 0xFFFF }; int i; u16 map = (gSaveBlock1Ptr->location.mapGroup << 8) + gSaveBlock1Ptr->location.mapNum; - for (i = 0; gUnknown_085B3444[i] != 0xFFFF; i++) + for (i = 0; sPokemonCenters[i] != 0xFFFF; i++) { - if (gUnknown_085B3444[i] == map) + if (sPokemonCenters[i] == map) { return TRUE; } @@ -3924,28 +4023,72 @@ bool8 sub_813B9C0(void) return FALSE; } +/* Summary of the Lilycove Trainer Fan Club, because it's a little messy + + ## The Fan Club room itself + There are initially 4 members of the Fan Club (+ an interviewer), none of whom are fans of the player + After becoming the champion there will be 8 members of the Fan Club, 3 of whom are automatically fans of the player + After this point, if a club member is a fan of the player they will sit at the front table and comment on the player + If they are not fans of the player, they will sit at the far table and can make comments about a different trainer (see BufferFanClubTrainerName) + + ## Gaining/losing fans + After every link battle the player will gain a fan if they won, or lose a fan if they lost + If the player has at least 3 fans, this is the only way to gain fans + If the player has fewer than 3 fans, they may also gain fans by completing certain tasks enough times (see TryGainNewFanFromCounter) + If the player has at least 5 fans, they can lose a fan every 12 real-time hours, or more often if the timer variable is reset (see TryLoseFansFromPlayTime) + If the player has only 1 fan left it cannot be lost + + ## Variables + VAR_FANCLUB_FAN_COUNTER, a bitfield for tracking the fans + Bits 1-7: Counter for when to add new fans + Bit 8: Flag set after receiving the initial 3 fans + Bits 9-16: Flags for each of the 8 club members, set to 1 when theyre a fan of the player and 0 when theyre not + + VAR_FANCLUB_LOSE_FAN_TIMER, a timer for when to lose fans + Compared against playTimeHours. When theyre equal, a fan is ready to be lost + For every fan thats lost this way 12 hours are added to the timer + + VAR_LILYCOVE_FAN_CLUB_STATE + 0: Player is not the champion yet + 1: Player is the champion, ready to meet their initial fans + 2: Player has met their initial fans +*/ + +#define FANCLUB_BITFIELD (gSaveBlock1Ptr->vars[VAR_FANCLUB_FAN_COUNTER - VARS_START]) +#define FANCLUB_COUNTER 0x007F +#define FANCLUB_FAN_FLAGS 0xFF80 + +#define GET_TRAINER_FAN_CLUB_FLAG(flag) (FANCLUB_BITFIELD >> (flag) & 1) +#define SET_TRAINER_FAN_CLUB_FLAG(flag) (FANCLUB_BITFIELD |= 1 << (flag)) +#define FLIP_TRAINER_FAN_CLUB_FLAG(flag)(FANCLUB_BITFIELD ^= 1 << (flag)) + +#define GET_TRAINER_FAN_CLUB_COUNTER (FANCLUB_BITFIELD & FANCLUB_COUNTER) +#define SET_TRAINER_FAN_CLUB_COUNTER(count) (FANCLUB_BITFIELD = (FANCLUB_BITFIELD & FANCLUB_FAN_FLAGS) | (count)) +#define INCR_TRAINER_FAN_CLUB_COUNTER(count)(FANCLUB_BITFIELD += (count)) +#define CLEAR_TRAINER_FAN_CLUB_COUNTER (FANCLUB_BITFIELD &= ~(FANCLUB_COUNTER)) + void ResetFanClub(void) { - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] = 0; - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = 0; + gSaveBlock1Ptr->vars[VAR_FANCLUB_FAN_COUNTER - VARS_START] = 0; + gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] = 0; } -void sub_813BA30(void) +void TryLoseFansFromPlayTimeAfterLinkBattle(void) { - if (sub_813BF44() != 0) + if (DidPlayerGetFirstFans()) { - UpdateMovedLilycoveFanClubMembers(); - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours; + TryLoseFansFromPlayTime(); + gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] = gSaveBlock2Ptr->playTimeHours; } } -void sub_813BA60(void) +void UpdateTrainerFanClubGameClear(void) { - if (!((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> 7) & 1)) + if (!GET_TRAINER_FAN_CLUB_FLAG(FANCLUB_GOT_FIRST_FANS)) { - sub_813BF60(); - sub_813BD84(); - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours; + SetPlayerGotFirstFans(); + SetInitialFansOfPlayer(); + gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] = gSaveBlock2Ptr->playTimeHours; FlagClear(FLAG_HIDE_FANCLUB_OLD_LADY); FlagClear(FLAG_HIDE_FANCLUB_BOY); FlagClear(FLAG_HIDE_FANCLUB_LITTLE_BOY); @@ -3955,186 +4098,216 @@ void sub_813BA60(void) } } -u8 sub_813BADC(u8 a0) +// If the player has < 3 fans, gain a new fan whenever the counter reaches 20+ +// Defeating Drake or participating in a Link Contest increments the counter by 2 +// Participating at Battle Tower or in a Secret Base battle increments the counter by 1 +u8 TryGainNewFanFromCounter(u8 incrementId) { - static const u8 gUnknown_085B3470[] = { 0x02, 0x01, 0x02, 0x01 }; + static const u8 sCounterIncrements[] = { 2, 1, 2, 1 }; if (VarGet(VAR_LILYCOVE_FAN_CLUB_STATE) == 2) { - if ((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0x7F) + gUnknown_085B3470[a0] > 19) + if (GET_TRAINER_FAN_CLUB_COUNTER + sCounterIncrements[incrementId] > 19) { - if (GetNumMovedLilycoveFanClubMembers() < 3) + if (GetNumFansOfPlayerInTrainerFanClub() < 3) { - sub_813BB74(); - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] &= 0xFF80; + PlayerGainRandomTrainerFan(); + CLEAR_TRAINER_FAN_CLUB_COUNTER; } else { - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] = (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0xFF80) | 0x14; + SET_TRAINER_FAN_CLUB_COUNTER(20); } } else { - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] += gUnknown_085B3470[a0]; + INCR_TRAINER_FAN_CLUB_COUNTER(sCounterIncrements[incrementId]); } } - return gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0x7F; + return GET_TRAINER_FAN_CLUB_COUNTER; } -static u16 sub_813BB74(void) + +// Loop through the fan club members, and if theyre not a fan of the player there is a 50% chance for them to become a fan +// Stops when a fan is gained +// If no new fan was gained while looping, the last non-fan in the list becomes a fan +// If all the members are already fans of the player then this redundantly sets the first fan in the list to be a fan +static u16 PlayerGainRandomTrainerFan(void) { - static const u8 gUnknown_085B3474[] = { 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }; + static const u8 sFanClubMemberIds[NUM_TRAINER_FAN_CLUB_MEMBERS] = + { + FANCLUB_MEMBER1, + FANCLUB_MEMBER2, + FANCLUB_MEMBER3, + FANCLUB_MEMBER4, + FANCLUB_MEMBER5, + FANCLUB_MEMBER6, + FANCLUB_MEMBER7, + FANCLUB_MEMBER8 + }; u8 i; - u8 retVal = 0; + u8 idx = 0; - for (i = 0; i < 8; i++) + for (i = 0; i < ARRAY_COUNT(sFanClubMemberIds); i++) { - if (!((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B3474[i]) & 1)) + if (!GET_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[i])) { - retVal = i; - if ((Random() & 1) != 0) + idx = i; + if (Random() & 1) { - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 1 << gUnknown_085B3474[retVal]; - return retVal; + SET_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx]); + return idx; } } } - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 1 << gUnknown_085B3474[retVal]; - return retVal; + SET_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx]); + return idx; } -static u16 sub_813BC00(void) +// Loops through the fan club members, and if theyre a fan of the player there is a 50% chance for them to stop being a fan +// Stops if a fan is removed, or if the player has only one fan left +// If no fan was lost while looping, the last current fan in the list will stop being a fan +static u16 PlayerLoseRandomTrainerFan(void) { - static const u8 gUnknown_085B347C[] = { 0x08, 0x0d, 0x0e, 0x0b, 0x0a, 0x0c, 0x0f, 0x09 }; + static const u8 sFanClubMemberIds[NUM_TRAINER_FAN_CLUB_MEMBERS] = + { + FANCLUB_MEMBER1, + FANCLUB_MEMBER6, + FANCLUB_MEMBER7, + FANCLUB_MEMBER4, + FANCLUB_MEMBER3, + FANCLUB_MEMBER5, + FANCLUB_MEMBER8, + FANCLUB_MEMBER2 + }; u8 i; - u8 retVal = 0; + u8 idx = 0; - if (GetNumMovedLilycoveFanClubMembers() == 1) + if (GetNumFansOfPlayerInTrainerFanClub() == 1) { return 0; } - for (i = 0; i < 8; i++) + for (i = 0; i < ARRAY_COUNT(sFanClubMemberIds); i++) { - if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B347C[i]) & 1) != 0) + if (GET_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[i])) { - retVal = i; - if ((Random() & 1) != 0) + idx = i; + if (Random() & 1) { - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] ^= 1 << gUnknown_085B347C[retVal]; - return retVal; + FLIP_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx]); + return idx; } } } - if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B347C[retVal]) & 1)) + if (GET_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx])) { - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] ^= 1 << gUnknown_085B347C[retVal]; + FLIP_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx]); } - return retVal; + return idx; } -u16 GetNumMovedLilycoveFanClubMembers(void) +u16 GetNumFansOfPlayerInTrainerFanClub(void) { u8 i; - u8 retVal = 0; + u8 numFans = 0; - for (i = 0; i < 8; i++) + for (i = 0; i < NUM_TRAINER_FAN_CLUB_MEMBERS; i++) { - if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> (i + 8)) & 1) != 0) - { - retVal++; - } + if (GET_TRAINER_FAN_CLUB_FLAG(i + FANCLUB_MEMBER1)) + numFans++; } - return retVal; + return numFans; } -void UpdateMovedLilycoveFanClubMembers(void) +// If the player has > 5 fans in the Trainer Fan Club, then lose 1 fan for every 12 hours since the last fan loss / timer reset +void TryLoseFansFromPlayTime(void) { u8 i = 0; if (gSaveBlock2Ptr->playTimeHours < 999) { while (TRUE) { - if (GetNumMovedLilycoveFanClubMembers() < 5) + if (GetNumFansOfPlayerInTrainerFanClub() < 5) { - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours; + gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] = gSaveBlock2Ptr->playTimeHours; break; } - else if (i == 8) + else if (i == NUM_TRAINER_FAN_CLUB_MEMBERS) { break; } - else if (gSaveBlock2Ptr->playTimeHours - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] < 12) + else if (gSaveBlock2Ptr->playTimeHours - gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] < 12) { return; } - sub_813BC00(); - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] += 12; + PlayerLoseRandomTrainerFan(); + gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] += 12; i++; } } } -bool8 ShouldMoveLilycoveFanClubMember(void) +bool8 IsFanClubMemberFanOfPlayer(void) { - return (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gSpecialVar_0x8004) & 1; + return GET_TRAINER_FAN_CLUB_FLAG(gSpecialVar_0x8004); } -static void sub_813BD84(void) +static void SetInitialFansOfPlayer(void) { - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x2000; - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x100; - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x400; + SET_TRAINER_FAN_CLUB_FLAG(FANCLUB_MEMBER6); + SET_TRAINER_FAN_CLUB_FLAG(FANCLUB_MEMBER1); + SET_TRAINER_FAN_CLUB_FLAG(FANCLUB_MEMBER3); } -void BufferStreakTrainerText(void) +void BufferFanClubTrainerName(void) { - u8 a = 0; - u8 b = 0; + u8 whichLinkTrainer = 0; + u8 whichNPCTrainer = 0; switch (gSpecialVar_0x8004) { - case 8: + case FANCLUB_MEMBER1: break; - case 9: + case FANCLUB_MEMBER2: break; - case 10: - a = 0; - b = 3; + case FANCLUB_MEMBER3: + whichLinkTrainer = 0; + whichNPCTrainer = 3; break; - case 11: - a = 0; - b = 1; + case FANCLUB_MEMBER4: + whichLinkTrainer = 0; + whichNPCTrainer = 1; break; - case 12: - a = 1; - b = 0; + case FANCLUB_MEMBER5: + whichLinkTrainer = 1; + whichNPCTrainer = 0; break; - case 13: - a = 0; - b = 4; + case FANCLUB_MEMBER6: + whichLinkTrainer = 0; + whichNPCTrainer = 4; break; - case 14: - a = 1; - b = 5; + case FANCLUB_MEMBER7: + whichLinkTrainer = 1; + whichNPCTrainer = 5; break; - case 15: + case FANCLUB_MEMBER8: break; } - sub_813BE30(&gSaveBlock1Ptr->linkBattleRecords, a, b); + BufferFanClubTrainerName_(&gSaveBlock1Ptr->linkBattleRecords, whichLinkTrainer, whichNPCTrainer); } -static void sub_813BE30(struct LinkBattleRecords *linkRecords, u8 a, u8 b) +static void BufferFanClubTrainerName_(struct LinkBattleRecords *linkRecords, u8 whichLinkTrainer, u8 whichNPCTrainer) { - struct LinkBattleRecord *record = &linkRecords->entries[a]; + struct LinkBattleRecord *record = &linkRecords->entries[whichLinkTrainer]; if (record->name[0] == EOS) { - switch (b) + switch (whichNPCTrainer) { case 0: StringCopy(gStringVar1, gText_Wallace); @@ -4161,39 +4334,36 @@ static void sub_813BE30(struct LinkBattleRecords *linkRecords, u8 a, u8 b) } else { - StringCopyN(gStringVar1, record->name, 7); - gStringVar1[7] = EOS; - ConvertInternationalString(gStringVar1, linkRecords->languages[a]); + StringCopyN(gStringVar1, record->name, PLAYER_NAME_LENGTH); + gStringVar1[PLAYER_NAME_LENGTH] = EOS; + ConvertInternationalString(gStringVar1, linkRecords->languages[whichLinkTrainer]); } } -void sub_813BF10(void) +void UpdateTrainerFansAfterLinkBattle(void) { if (VarGet(VAR_LILYCOVE_FAN_CLUB_STATE) == 2) { - sub_813BA30(); - if (gBattleOutcome == 1) - { - sub_813BB74(); - } + TryLoseFansFromPlayTimeAfterLinkBattle(); + if (gBattleOutcome == B_OUTCOME_WON) + PlayerGainRandomTrainerFan(); else - { - sub_813BC00(); - } + PlayerLoseRandomTrainerFan(); } } -static bool8 sub_813BF44(void) +static bool8 DidPlayerGetFirstFans(void) { - return (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> 7) & 1; + return GET_TRAINER_FAN_CLUB_FLAG(FANCLUB_GOT_FIRST_FANS); } -void sub_813BF60(void) +void SetPlayerGotFirstFans(void) { - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x80; + SET_TRAINER_FAN_CLUB_FLAG(FANCLUB_GOT_FIRST_FANS); } -u8 sub_813BF7C(void) +// return value is always ignored +u8 Script_TryGainNewFanFromCounter(void) { - return sub_813BADC(gSpecialVar_0x8004); + return TryGainNewFanFromCounter(gSpecialVar_0x8004); } diff --git a/src/field_tasks.c b/src/field_tasks.c index 63539e475e..21b2732c34 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -16,6 +16,7 @@ #include "secret_base.h" #include "sound.h" #include "task.h" +#include "constants/field_tasks.h" #include "constants/items.h" #include "constants/songs.h" #include "constants/vars.h" @@ -38,14 +39,14 @@ static void Task_MuddySlope(u8 taskId); static const TaskFunc sPerStepCallbacks[] = { - DummyPerStepCallback, - AshGrassPerStepCallback, - FortreeBridgePerStepCallback, - PacifidlogBridgePerStepCallback, - SootopolisGymIcePerStepCallback, - EndTruckSequence, - SecretBasePerStepCallback, - CrackedFloorPerStepCallback + [STEP_CB_DUMMY] = DummyPerStepCallback, + [STEP_CB_ASH] = AshGrassPerStepCallback, + [STEP_CB_FORTREE_BRIDGE] = FortreeBridgePerStepCallback, + [STEP_CB_PACIFIDLOG_BRIDGE] = PacifidlogBridgePerStepCallback, + [STEP_CB_SOOTOPOLIS_ICE] = SootopolisGymIcePerStepCallback, + [STEP_CB_TRUCK] = EndTruckSequence, + [STEP_CB_SECRET_BASE] = SecretBasePerStepCallback, + [STEP_CB_CRACKED_FLOOR] = CrackedFloorPerStepCallback }; // they are in pairs but declared as 1D array diff --git a/src/field_weather.c b/src/field_weather.c index 024b6631fe..684a86479a 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -56,7 +56,7 @@ static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 bl static void ApplyFogBlend(u8 blendCoeff, u16 blendColor); static bool8 FadeInScreen_RainShowShade(void); static bool8 FadeInScreen_Drought(void); -static bool8 FadeInScreen_Fog1(void); +static bool8 FadeInScreen_FogHorizontal(void); static void FadeInScreenWithWeather(void); static void DoNothing(void); static void Task_WeatherInit(u8 taskId); @@ -89,29 +89,29 @@ struct Weather *const gWeatherPtr = &gWeather; static const struct WeatherCallbacks sWeatherFuncs[] = { - {None_Init, None_Main, None_Init, None_Finish}, - {Clouds_InitVars, Clouds_Main, Clouds_InitAll, Clouds_Finish}, - {Sunny_InitVars, Sunny_Main, Sunny_InitAll, Sunny_Finish}, - {LightRain_InitVars, LightRain_Main, LightRain_InitAll, LightRain_Finish}, - {Snow_InitVars, Snow_Main, Snow_InitAll, Snow_Finish}, - {MedRain_InitVars, Rain_Main, MedRain_InitAll, Rain_Finish}, - {Fog1_InitVars, Fog1_Main, Fog1_InitAll, Fog1_Finish}, - {Ash_InitVars, Ash_Main, Ash_InitAll, Ash_Finish}, - {Sandstorm_InitVars, Sandstorm_Main, Sandstorm_InitAll, Sandstorm_Finish}, - {Fog2_InitVars, Fog2_Main, Fog2_InitAll, Fog2_Finish}, - {Fog1_InitVars, Fog1_Main, Fog1_InitAll, Fog1_Finish}, - {Shade_InitVars, Shade_Main, Shade_InitAll, Shade_Finish}, - {Drought_InitVars, Drought_Main, Drought_InitAll, Drought_Finish}, - {HeavyRain_InitVars, Rain_Main, HeavyRain_InitAll, Rain_Finish}, - {Bubbles_InitVars, Bubbles_Main, Bubbles_InitAll, Bubbles_Finish}, + [WEATHER_NONE] = {None_Init, None_Main, None_Init, None_Finish}, + [WEATHER_SUNNY_CLOUDS] = {Clouds_InitVars, Clouds_Main, Clouds_InitAll, Clouds_Finish}, + [WEATHER_SUNNY] = {Sunny_InitVars, Sunny_Main, Sunny_InitAll, Sunny_Finish}, + [WEATHER_RAIN] = {Rain_InitVars, Rain_Main, Rain_InitAll, Rain_Finish}, + [WEATHER_SNOW] = {Snow_InitVars, Snow_Main, Snow_InitAll, Snow_Finish}, + [WEATHER_RAIN_THUNDERSTORM] = {Thunderstorm_InitVars, Thunderstorm_Main, Thunderstorm_InitAll, Thunderstorm_Finish}, + [WEATHER_FOG_HORIZONTAL] = {FogHorizontal_InitVars, FogHorizontal_Main, FogHorizontal_InitAll, FogHorizontal_Finish}, + [WEATHER_VOLCANIC_ASH] = {Ash_InitVars, Ash_Main, Ash_InitAll, Ash_Finish}, + [WEATHER_SANDSTORM] = {Sandstorm_InitVars, Sandstorm_Main, Sandstorm_InitAll, Sandstorm_Finish}, + [WEATHER_FOG_DIAGONAL] = {FogDiagonal_InitVars, FogDiagonal_Main, FogDiagonal_InitAll, FogDiagonal_Finish}, + [WEATHER_UNDERWATER] = {FogHorizontal_InitVars, FogHorizontal_Main, FogHorizontal_InitAll, FogHorizontal_Finish}, + [WEATHER_SHADE] = {Shade_InitVars, Shade_Main, Shade_InitAll, Shade_Finish}, + [WEATHER_DROUGHT] = {Drought_InitVars, Drought_Main, Drought_InitAll, Drought_Finish}, + [WEATHER_DOWNPOUR] = {Downpour_InitVars, Thunderstorm_Main, Downpour_InitAll, Thunderstorm_Finish}, + [WEATHER_UNDERWATER_BUBBLES] = {Bubbles_InitVars, Bubbles_Main, Bubbles_InitAll, Bubbles_Finish}, }; void (*const gWeatherPalStateFuncs[])(void) = { - UpdateWeatherGammaShift, // WEATHER_PAL_STATE_CHANGING_WEATHER - FadeInScreenWithWeather, // WEATHER_PAL_STATE_SCREEN_FADING_IN - DoNothing, // WEATHER_PAL_STATE_SCREEN_FADING_OUT - DoNothing, // WEATHER_PAL_STATE_IDLE + [WEATHER_PAL_STATE_CHANGING_WEATHER] = UpdateWeatherGammaShift, + [WEATHER_PAL_STATE_SCREEN_FADING_IN] = FadeInScreenWithWeather, + [WEATHER_PAL_STATE_SCREEN_FADING_OUT] = DoNothing, + [WEATHER_PAL_STATE_IDLE] = DoNothing, }; // This table specifies which of the gamma shift tables should be @@ -171,8 +171,8 @@ void StartWeather(void) gWeatherPtr->cloudSpritesCreated = 0; gWeatherPtr->snowflakeSpriteCount = 0; gWeatherPtr->ashSpritesCreated = 0; - gWeatherPtr->fog1SpritesCreated = 0; - gWeatherPtr->fog2SpritesCreated = 0; + gWeatherPtr->fogHSpritesCreated = 0; + gWeatherPtr->fogDSpritesCreated = 0; gWeatherPtr->sandstormSpritesCreated = 0; gWeatherPtr->sandstormSwirlSpritesCreated = 0; gWeatherPtr->bubblesSpritesCreated = 0; @@ -188,7 +188,7 @@ void StartWeather(void) void SetNextWeather(u8 weather) { - if (weather != WEATHER_RAIN_LIGHT && weather != WEATHER_RAIN_MED && weather != WEATHER_RAIN_HEAVY) + if (weather != WEATHER_RAIN && weather != WEATHER_RAIN_THUNDERSTORM && weather != WEATHER_DOWNPOUR) { PlayRainStoppingSoundEffect(); } @@ -371,9 +371,9 @@ static void FadeInScreenWithWeather(void) switch (gWeatherPtr->currWeather) { - case WEATHER_RAIN_LIGHT: - case WEATHER_RAIN_MED: - case WEATHER_RAIN_HEAVY: + case WEATHER_RAIN: + case WEATHER_RAIN_THUNDERSTORM: + case WEATHER_DOWNPOUR: case WEATHER_SNOW: case WEATHER_SHADE: if (FadeInScreen_RainShowShade() == FALSE) @@ -389,17 +389,17 @@ static void FadeInScreenWithWeather(void) gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE; } break; - case WEATHER_FOG_1: - if (FadeInScreen_Fog1() == FALSE) + case WEATHER_FOG_HORIZONTAL: + if (FadeInScreen_FogHorizontal() == FALSE) { gWeatherPtr->gammaIndex = 0; gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE; } break; - case WEATHER_ASH: + case WEATHER_VOLCANIC_ASH: case WEATHER_SANDSTORM: - case WEATHER_FOG_2: - case WEATHER_FOG_3: + case WEATHER_FOG_DIAGONAL: + case WEATHER_UNDERWATER: default: if (!gPaletteFade.active) { @@ -442,7 +442,7 @@ static bool8 FadeInScreen_Drought(void) return TRUE; } -static bool8 FadeInScreen_Fog1(void) +static bool8 FadeInScreen_FogHorizontal(void) { if (gWeatherPtr->fadeScreenCounter == 16) return FALSE; @@ -763,11 +763,11 @@ void FadeScreen(u8 mode, s8 delay) switch (gWeatherPtr->currWeather) { - case WEATHER_RAIN_LIGHT: - case WEATHER_RAIN_MED: - case WEATHER_RAIN_HEAVY: + case WEATHER_RAIN: + case WEATHER_RAIN_THUNDERSTORM: + case WEATHER_DOWNPOUR: case WEATHER_SNOW: - case WEATHER_FOG_1: + case WEATHER_FOG_HORIZONTAL: case WEATHER_SHADE: case WEATHER_DROUGHT: useWeatherPal = TRUE; @@ -816,7 +816,7 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex) case WEATHER_PAL_STATE_SCREEN_FADING_IN: if (gWeatherPtr->unknown_6CA != 0) { - if (gWeatherPtr->currWeather == WEATHER_FOG_1) + if (gWeatherPtr->currWeather == WEATHER_FOG_HORIZONTAL) MarkFogSpritePalToLighten(paletteIndex); paletteIndex *= 16; for (i = 0; i < 16; i++) @@ -831,7 +831,7 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex) // WEATHER_PAL_STATE_CHANGING_WEATHER // WEATHER_PAL_STATE_CHANGING_IDLE default: - if (gWeatherPtr->currWeather != WEATHER_FOG_1) + if (gWeatherPtr->currWeather != WEATHER_FOG_HORIZONTAL) { ApplyGammaShift(paletteIndex, 1, gWeatherPtr->gammaIndex); } @@ -995,28 +995,28 @@ void sub_80AC274(u8 a) switch (a) { case 1: - SetWeather(WEATHER_CLOUDS); + SetWeather(WEATHER_SUNNY_CLOUDS); break; case 2: SetWeather(WEATHER_SUNNY); break; case 3: - SetWeather(WEATHER_RAIN_LIGHT); + SetWeather(WEATHER_RAIN); break; case 4: SetWeather(WEATHER_SNOW); break; case 5: - SetWeather(WEATHER_RAIN_MED); + SetWeather(WEATHER_RAIN_THUNDERSTORM); break; case 6: - SetWeather(WEATHER_FOG_1); + SetWeather(WEATHER_FOG_HORIZONTAL); break; case 7: - SetWeather(WEATHER_FOG_2); + SetWeather(WEATHER_FOG_DIAGONAL); break; case 8: - SetWeather(WEATHER_ASH); + SetWeather(WEATHER_VOLCANIC_ASH); break; case 9: SetWeather(WEATHER_SANDSTORM); diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index 8fca027073..5a48f34344 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -14,14 +14,14 @@ #include "gpu_regs.h" // EWRAM -EWRAM_DATA static u8 gCurrentAlternatingWeather = 0; +EWRAM_DATA static u8 gCurrentAbnormalWeather = 0; EWRAM_DATA static u16 gUnusedWeatherRelated = 0; // CONST const u16 gCloudsWeatherPalette[] = INCBIN_U16("graphics/weather/cloud.gbapal"); const u16 gSandstormWeatherPalette[] = INCBIN_U16("graphics/weather/sandstorm.gbapal"); -const u8 gWeatherFog2Tiles[] = INCBIN_U8("graphics/weather/fog2.4bpp"); -const u8 gWeatherFog1Tiles[] = INCBIN_U8("graphics/weather/fog1.4bpp"); +const u8 gWeatherFogDiagonalTiles[] = INCBIN_U8("graphics/weather/fog_diagonal.4bpp"); +const u8 gWeatherFogHorizontalTiles[] = INCBIN_U8("graphics/weather/fog_horizontal.4bpp"); const u8 gWeatherCloudTiles[] = INCBIN_U8("graphics/weather/cloud.4bpp"); const u8 gWeatherSnow1Tiles[] = INCBIN_U8("graphics/weather/snow0.4bpp"); const u8 gWeatherSnow2Tiles[] = INCBIN_U8("graphics/weather/snow1.4bpp"); @@ -31,7 +31,7 @@ const u8 gWeatherRainTiles[] = INCBIN_U8("graphics/weather/rain.4bpp"); const u8 gWeatherSandstormTiles[] = INCBIN_U8("graphics/weather/sandstorm.4bpp"); //------------------------------------------------------------------------------ -// Clouds +// WEATHER_SUNNY_CLOUDS //------------------------------------------------------------------------------ static void CreateCloudSprites(void); @@ -57,10 +57,10 @@ static const struct SpriteSheet sCloudSpriteSheet = static const struct OamData sCloudSpriteOamData = { .y = 0, - .affineMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -227,7 +227,7 @@ static void UpdateCloudSprite(struct Sprite *sprite) } //------------------------------------------------------------------------------ -// Drought +// WEATHER_DROUGHT //------------------------------------------------------------------------------ static void UpdateDroughtBlend(u8); @@ -352,7 +352,7 @@ static void UpdateDroughtBlend(u8 taskId) #undef tWinRange //------------------------------------------------------------------------------ -// Light Rain +// WEATHER_RAIN //------------------------------------------------------------------------------ static void LoadRainSpriteSheet(void); @@ -392,10 +392,10 @@ static const struct Coords16 sRainSpriteCoords[] = static const struct OamData sRainSpriteOamData = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x32), .x = 0, .matrixNum = 0, @@ -469,27 +469,27 @@ static const struct SpriteSheet sRainSpriteSheet = .tag = 0x1206, }; -void LightRain_InitVars(void) +void Rain_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = FALSE; gWeatherPtr->rainSpriteVisibleCounter = 0; gWeatherPtr->rainSpriteVisibleDelay = 8; - gWeatherPtr->isHeavyRain = 0; + gWeatherPtr->isDownpour = FALSE; gWeatherPtr->targetRainSpriteCount = 10; gWeatherPtr->gammaTargetIndex = 3; gWeatherPtr->gammaStepDelay = 20; SetRainStrengthFromSoundEffect(SE_T_KOAME); } -void LightRain_InitAll(void) +void Rain_InitAll(void) { - LightRain_InitVars(); + Rain_InitVars(); while (!gWeatherPtr->weatherGfxLoaded) - LightRain_Main(); + Rain_Main(); } -void LightRain_Main(void) +void Rain_Main(void) { switch (gWeatherPtr->initStep) { @@ -511,14 +511,14 @@ void LightRain_Main(void) } } -bool8 LightRain_Finish(void) +bool8 Rain_Finish(void) { switch (gWeatherPtr->finishStep) { case 0: - if (gWeatherPtr->nextWeather == WEATHER_RAIN_LIGHT - || gWeatherPtr->nextWeather == WEATHER_RAIN_MED - || gWeatherPtr->nextWeather == WEATHER_RAIN_HEAVY) + if (gWeatherPtr->nextWeather == WEATHER_RAIN + || gWeatherPtr->nextWeather == WEATHER_RAIN_THUNDERSTORM + || gWeatherPtr->nextWeather == WEATHER_DOWNPOUR) { gWeatherPtr->finishStep = 0xFF; return FALSE; @@ -563,7 +563,7 @@ static void StartRainSpriteFall(struct Sprite *sprite) rand = sprite->tRandom * 1103515245 + 12345; sprite->tRandom = ((rand & 0x7FFF0000) >> 16) % 600; - numFallingFrames = sRainSpriteFallingDurations[gWeatherPtr->isHeavyRain][0]; + numFallingFrames = sRainSpriteFallingDurations[gWeatherPtr->isDownpour][0]; tileX = sprite->tRandom % 30; sprite->tPosX = tileX * 8; // Useless assignment, leftover from before fixed-point values were used @@ -578,8 +578,8 @@ static void StartRainSpriteFall(struct Sprite *sprite) sprite->tPosY <<= 7; // This is tileX * 8, using a fixed-point value with 4 decimal places // "Rewind" the rain sprites, from their ending position. - sprite->tPosX -= sRainSpriteMovement[gWeatherPtr->isHeavyRain][0] * numFallingFrames; - sprite->tPosY -= sRainSpriteMovement[gWeatherPtr->isHeavyRain][1] * numFallingFrames; + sprite->tPosX -= sRainSpriteMovement[gWeatherPtr->isDownpour][0] * numFallingFrames; + sprite->tPosY -= sRainSpriteMovement[gWeatherPtr->isDownpour][1] * numFallingFrames; StartSpriteAnim(sprite, 0); sprite->tState = 0; @@ -592,8 +592,8 @@ static void UpdateRainSprite(struct Sprite *sprite) if (sprite->tState == 0) { // Raindrop is in its "falling" motion. - sprite->tPosX += sRainSpriteMovement[gWeatherPtr->isHeavyRain][0]; - sprite->tPosY += sRainSpriteMovement[gWeatherPtr->isHeavyRain][1]; + sprite->tPosX += sRainSpriteMovement[gWeatherPtr->isDownpour][0]; + sprite->tPosY += sRainSpriteMovement[gWeatherPtr->isDownpour][1]; sprite->pos1.x = sprite->tPosX >> 4; sprite->pos1.y = sprite->tPosY >> 4; @@ -607,7 +607,7 @@ static void UpdateRainSprite(struct Sprite *sprite) if (--sprite->tCounter == 0) { // Make raindrop splash on the ground - StartSpriteAnim(sprite, gWeatherPtr->isHeavyRain + 1); + StartSpriteAnim(sprite, gWeatherPtr->isDownpour + 1); sprite->tState = 1; sprite->pos1.x -= gSpriteCoordOffsetX; sprite->pos1.y -= gSpriteCoordOffsetY; @@ -637,9 +637,9 @@ static void WaitRainSprite(struct Sprite *sprite) static void InitRainSpriteMovement(struct Sprite *sprite, u16 val) { - u16 numFallingFrames = sRainSpriteFallingDurations[gWeatherPtr->isHeavyRain][0]; - u16 numAdvanceRng = val / (sRainSpriteFallingDurations[gWeatherPtr->isHeavyRain][1] + numFallingFrames); - u16 frameVal = val % (sRainSpriteFallingDurations[gWeatherPtr->isHeavyRain][1] + numFallingFrames); + u16 numFallingFrames = sRainSpriteFallingDurations[gWeatherPtr->isDownpour][0]; + u16 numAdvanceRng = val / (sRainSpriteFallingDurations[gWeatherPtr->isDownpour][1] + numFallingFrames); + u16 frameVal = val % (sRainSpriteFallingDurations[gWeatherPtr->isDownpour][1] + numFallingFrames); while (--numAdvanceRng != 0xFFFF) StartRainSpriteFall(sprite); @@ -839,10 +839,10 @@ static bool8 UpdateVisibleSnowflakeSprites(void) static const struct OamData sSnowflakeSpriteOamData = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, @@ -1009,16 +1009,16 @@ static void UpdateSnowflakeSprite(struct Sprite *sprite) #undef tDeltaY2 //------------------------------------------------------------------------------ -// Medium Rain +// WEATHER_RAIN_THUNDERSTORM //------------------------------------------------------------------------------ -void MedRain_InitVars(void) +void Thunderstorm_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = FALSE; gWeatherPtr->rainSpriteVisibleCounter = 0; gWeatherPtr->rainSpriteVisibleDelay = 4; - gWeatherPtr->isHeavyRain = 0; + gWeatherPtr->isDownpour = FALSE; gWeatherPtr->targetRainSpriteCount = 16; gWeatherPtr->gammaTargetIndex = 3; gWeatherPtr->gammaStepDelay = 20; @@ -1027,27 +1027,27 @@ void MedRain_InitVars(void) SetRainStrengthFromSoundEffect(SE_T_AME); } -void MedRain_InitAll(void) +void Thunderstorm_InitAll(void) { - MedRain_InitVars(); + Thunderstorm_InitVars(); while (gWeatherPtr->weatherGfxLoaded == FALSE) - Rain_Main(); + Thunderstorm_Main(); } //------------------------------------------------------------------------------ -// Heavy Rain +// WEATHER_DOWNPOUR //------------------------------------------------------------------------------ static void UpdateThunderSound(void); static void SetThunderCounter(u16); -void HeavyRain_InitVars(void) +void Downpour_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = FALSE; gWeatherPtr->rainSpriteVisibleCounter = 0; gWeatherPtr->rainSpriteVisibleDelay = 4; - gWeatherPtr->isHeavyRain = 1; + gWeatherPtr->isDownpour = TRUE; gWeatherPtr->targetRainSpriteCount = 24; gWeatherPtr->gammaTargetIndex = 3; gWeatherPtr->gammaStepDelay = 20; @@ -1055,14 +1055,14 @@ void HeavyRain_InitVars(void) SetRainStrengthFromSoundEffect(SE_T_OOAME); } -void HeavyRain_InitAll(void) +void Downpour_InitAll(void) { - HeavyRain_InitVars(); + Downpour_InitVars(); while (gWeatherPtr->weatherGfxLoaded == FALSE) - Rain_Main(); + Thunderstorm_Main(); } -void Rain_Main(void) +void Thunderstorm_Main(void) { UpdateThunderSound(); switch (gWeatherPtr->initStep) @@ -1166,7 +1166,7 @@ void Rain_Main(void) } } -bool8 Rain_Finish(void) +bool8 Thunderstorm_Finish(void) { switch (gWeatherPtr->finishStep) { @@ -1175,12 +1175,12 @@ bool8 Rain_Finish(void) gWeatherPtr->finishStep++; // fall through case 1: - Rain_Main(); + Thunderstorm_Main(); if (gWeatherPtr->unknown_6EA) { - if (gWeatherPtr->nextWeather == WEATHER_RAIN_LIGHT - || gWeatherPtr->nextWeather == WEATHER_RAIN_MED - || gWeatherPtr->nextWeather == WEATHER_RAIN_HEAVY) + if (gWeatherPtr->nextWeather == WEATHER_RAIN + || gWeatherPtr->nextWeather == WEATHER_RAIN_THUNDERSTORM + || gWeatherPtr->nextWeather == WEATHER_DOWNPOUR) return FALSE; gWeatherPtr->targetRainSpriteCount = 0; @@ -1235,7 +1235,7 @@ static void UpdateThunderSound(void) } //------------------------------------------------------------------------------ -// Fog 1 +// WEATHER_FOG_HORIZONTAL and WEATHER_UNDERWATER //------------------------------------------------------------------------------ // unused data @@ -1244,10 +1244,10 @@ static const u16 unusedData_839AB1C[] = {0, 6, 6, 12, 18, 42, 300, 300}; static const struct OamData gOamData_839AB2C = { .y = 0, - .affineMode = 0, - .objMode = 1, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_BLEND, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -1315,8 +1315,8 @@ static const union AffineAnimCmd *const gSpriteAffineAnimTable_839AB8C[] = gSpriteAffineAnim_839AB7C, }; -static void Fog1SpriteCallback(struct Sprite *); -static const struct SpriteTemplate sFog1SpriteTemplate = +static void FogHorizontalSpriteCallback(struct Sprite *); +static const struct SpriteTemplate sFogHorizontalSpriteTemplate = { .tileTag = 0x1201, .paletteTag = 0x1200, @@ -1324,48 +1324,48 @@ static const struct SpriteTemplate sFog1SpriteTemplate = .anims = gSpriteAnimTable_839AB64, .images = NULL, .affineAnims = gSpriteAffineAnimTable_839AB8C, - .callback = Fog1SpriteCallback, + .callback = FogHorizontalSpriteCallback, }; -void Fog1_Main(void); -static void CreateFog1Sprites(void); -static void DestroyFog1Sprites(void); +void FogHorizontal_Main(void); +static void CreateFogHorizontalSprites(void); +static void DestroyFogHorizontalSprites(void); -void Fog1_InitVars(void) +void FogHorizontal_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = FALSE; gWeatherPtr->gammaTargetIndex = 0; gWeatherPtr->gammaStepDelay = 20; - if (gWeatherPtr->fog1SpritesCreated == 0) + if (gWeatherPtr->fogHSpritesCreated == 0) { - gWeatherPtr->fog1ScrollCounter = 0; - gWeatherPtr->fog1ScrollOffset = 0; - gWeatherPtr->fog1ScrollPosX = 0; + gWeatherPtr->fogHScrollCounter = 0; + gWeatherPtr->fogHScrollOffset = 0; + gWeatherPtr->fogHScrollPosX = 0; Weather_SetBlendCoeffs(0, 16); } } -void Fog1_InitAll(void) +void FogHorizontal_InitAll(void) { - Fog1_InitVars(); + FogHorizontal_InitVars(); while (gWeatherPtr->weatherGfxLoaded == FALSE) - Fog1_Main(); + FogHorizontal_Main(); } -void Fog1_Main(void) +void FogHorizontal_Main(void) { - gWeatherPtr->fog1ScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->fog1ScrollOffset) & 0xFF; - if (++gWeatherPtr->fog1ScrollCounter > 3) + gWeatherPtr->fogHScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->fogHScrollOffset) & 0xFF; + if (++gWeatherPtr->fogHScrollCounter > 3) { - gWeatherPtr->fog1ScrollCounter = 0; - gWeatherPtr->fog1ScrollOffset++; + gWeatherPtr->fogHScrollCounter = 0; + gWeatherPtr->fogHScrollOffset++; } switch (gWeatherPtr->initStep) { case 0: - CreateFog1Sprites(); - if (gWeatherPtr->currWeather == WEATHER_FOG_1) + CreateFogHorizontalSprites(); + if (gWeatherPtr->currWeather == WEATHER_FOG_HORIZONTAL) Weather_SetTargetBlendCoeffs(12, 8, 3); else Weather_SetTargetBlendCoeffs(4, 16, 0); @@ -1381,13 +1381,13 @@ void Fog1_Main(void) } } -bool8 Fog1_Finish(void) +bool8 FogHorizontal_Finish(void) { - gWeatherPtr->fog1ScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->fog1ScrollOffset) & 0xFF; - if (++gWeatherPtr->fog1ScrollCounter > 3) + gWeatherPtr->fogHScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->fogHScrollOffset) & 0xFF; + if (++gWeatherPtr->fogHScrollCounter > 3) { - gWeatherPtr->fog1ScrollCounter = 0; - gWeatherPtr->fog1ScrollOffset++; + gWeatherPtr->fogHScrollCounter = 0; + gWeatherPtr->fogHScrollOffset++; } switch (gWeatherPtr->finishStep) @@ -1401,7 +1401,7 @@ bool8 Fog1_Finish(void) gWeatherPtr->finishStep++; break; case 2: - DestroyFog1Sprites(); + DestroyFogHorizontalSprites(); gWeatherPtr->finishStep++; break; default: @@ -1412,73 +1412,73 @@ bool8 Fog1_Finish(void) #define tSpriteColumn data[0] -static void Fog1SpriteCallback(struct Sprite *sprite) +static void FogHorizontalSpriteCallback(struct Sprite *sprite) { sprite->pos2.y = (u8)gSpriteCoordOffsetY; - sprite->pos1.x = gWeatherPtr->fog1ScrollPosX + 32 + sprite->tSpriteColumn * 64; + sprite->pos1.x = gWeatherPtr->fogHScrollPosX + 32 + sprite->tSpriteColumn * 64; if (sprite->pos1.x > 271) { - sprite->pos1.x = 480 + gWeatherPtr->fog1ScrollPosX - (4 - sprite->tSpriteColumn) * 64; + sprite->pos1.x = 480 + gWeatherPtr->fogHScrollPosX - (4 - sprite->tSpriteColumn) * 64; sprite->pos1.x &= 0x1FF; } } -static void CreateFog1Sprites(void) +static void CreateFogHorizontalSprites(void) { u16 i; u8 spriteId; struct Sprite *sprite; - if (!gWeatherPtr->fog1SpritesCreated) + if (!gWeatherPtr->fogHSpritesCreated) { - struct SpriteSheet fog1SpriteSheet = { - .data = gWeatherFog1Tiles, - .size = sizeof(gWeatherFog1Tiles), + struct SpriteSheet fogHorizontalSpriteSheet = { + .data = gWeatherFogHorizontalTiles, + .size = sizeof(gWeatherFogHorizontalTiles), .tag = 0x1201, }; - LoadSpriteSheet(&fog1SpriteSheet); - for (i = 0; i < NUM_FOG1_SPRITES; i++) + LoadSpriteSheet(&fogHorizontalSpriteSheet); + for (i = 0; i < NUM_FOG_HORIZONTAL_SPRITES; i++) { - spriteId = CreateSpriteAtEnd(&sFog1SpriteTemplate, 0, 0, 0xFF); + spriteId = CreateSpriteAtEnd(&sFogHorizontalSpriteTemplate, 0, 0, 0xFF); if (spriteId != MAX_SPRITES) { sprite = &gSprites[spriteId]; sprite->tSpriteColumn = i % 5; sprite->pos1.x = (i % 5) * 64 + 32; sprite->pos1.y = (i / 5) * 64 + 32; - gWeatherPtr->sprites.s2.fog1Sprites[i] = sprite; + gWeatherPtr->sprites.s2.fogHSprites[i] = sprite; } else { - gWeatherPtr->sprites.s2.fog1Sprites[i] = NULL; + gWeatherPtr->sprites.s2.fogHSprites[i] = NULL; } } - gWeatherPtr->fog1SpritesCreated = TRUE; + gWeatherPtr->fogHSpritesCreated = TRUE; } } -static void DestroyFog1Sprites(void) +static void DestroyFogHorizontalSprites(void) { u16 i; - if (gWeatherPtr->fog1SpritesCreated) + if (gWeatherPtr->fogHSpritesCreated) { - for (i = 0; i < NUM_FOG1_SPRITES; i++) + for (i = 0; i < NUM_FOG_HORIZONTAL_SPRITES; i++) { - if (gWeatherPtr->sprites.s2.fog1Sprites[i] != NULL) - DestroySprite(gWeatherPtr->sprites.s2.fog1Sprites[i]); + if (gWeatherPtr->sprites.s2.fogHSprites[i] != NULL) + DestroySprite(gWeatherPtr->sprites.s2.fogHSprites[i]); } FreeSpriteTilesByTag(0x1201); - gWeatherPtr->fog1SpritesCreated = 0; + gWeatherPtr->fogHSpritesCreated = 0; } } #undef tSpriteColumn //------------------------------------------------------------------------------ -// Volcanic ash +// WEATHER_VOLCANIC_ASH //------------------------------------------------------------------------------ static void LoadAshSpriteSheet(void); @@ -1688,48 +1688,48 @@ static void UpdateAshSprite(struct Sprite *sprite) #undef tSpriteRow //------------------------------------------------------------------------------ -// Fog 2 +// WEATHER_FOG_DIAGONAL //------------------------------------------------------------------------------ -static void UpdateFog2Movement(void); -static void CreateFog2Sprites(void); -static void DestroyFog2Sprites(void); -static void UpdateFog2Sprite(struct Sprite *); +static void UpdateFogDiagonalMovement(void); +static void CreateFogDiagonalSprites(void); +static void DestroyFogDiagonalSprites(void); +static void UpdateFogDiagonalSprite(struct Sprite *); -void Fog2_InitVars(void) +void FogDiagonal_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = 0; gWeatherPtr->gammaTargetIndex = 0; gWeatherPtr->gammaStepDelay = 20; - gWeatherPtr->fog1ScrollCounter = 0; - gWeatherPtr->fog1ScrollOffset = 1; - if (!gWeatherPtr->fog2SpritesCreated) + gWeatherPtr->fogHScrollCounter = 0; + gWeatherPtr->fogHScrollOffset = 1; + if (!gWeatherPtr->fogDSpritesCreated) { - gWeatherPtr->fog2ScrollXCounter = 0; - gWeatherPtr->fog2ScrollYCounter = 0; - gWeatherPtr->fog2XOffset = 0; - gWeatherPtr->fog2YOffset = 0; - gWeatherPtr->fog2BaseSpritesX = 0; - gWeatherPtr->fog2PosY = 0; + gWeatherPtr->fogDScrollXCounter = 0; + gWeatherPtr->fogDScrollYCounter = 0; + gWeatherPtr->fogDXOffset = 0; + gWeatherPtr->fogDYOffset = 0; + gWeatherPtr->fogDBaseSpritesX = 0; + gWeatherPtr->fogDPosY = 0; Weather_SetBlendCoeffs(0, 16); } } -void Fog2_InitAll(void) +void FogDiagonal_InitAll(void) { - Fog2_InitVars(); + FogDiagonal_InitVars(); while (gWeatherPtr->weatherGfxLoaded == FALSE) - Fog2_Main(); + FogDiagonal_Main(); } -void Fog2_Main(void) +void FogDiagonal_Main(void) { - UpdateFog2Movement(); + UpdateFogDiagonalMovement(); switch (gWeatherPtr->initStep) { case 0: - CreateFog2Sprites(); + CreateFogDiagonalSprites(); gWeatherPtr->initStep++; break; case 1: @@ -1745,9 +1745,9 @@ void Fog2_Main(void) } } -bool8 Fog2_Finish(void) +bool8 FogDiagonal_Finish(void) { - UpdateFog2Movement(); + UpdateFogDiagonalMovement(); switch (gWeatherPtr->finishStep) { case 0: @@ -1760,7 +1760,7 @@ bool8 Fog2_Finish(void) gWeatherPtr->finishStep++; break; case 2: - DestroyFog2Sprites(); + DestroyFogDiagonalSprites(); gWeatherPtr->finishStep++; break; default: @@ -1769,32 +1769,32 @@ bool8 Fog2_Finish(void) return TRUE; } -static void UpdateFog2Movement(void) +static void UpdateFogDiagonalMovement(void) { - if (++gWeatherPtr->fog2ScrollXCounter > 2) + if (++gWeatherPtr->fogDScrollXCounter > 2) { - gWeatherPtr->fog2XOffset++; - gWeatherPtr->fog2ScrollXCounter = 0; + gWeatherPtr->fogDXOffset++; + gWeatherPtr->fogDScrollXCounter = 0; } - if (++gWeatherPtr->fog2ScrollYCounter > 4) + if (++gWeatherPtr->fogDScrollYCounter > 4) { - gWeatherPtr->fog2YOffset++; - gWeatherPtr->fog2ScrollYCounter = 0; + gWeatherPtr->fogDYOffset++; + gWeatherPtr->fogDScrollYCounter = 0; } - gWeatherPtr->fog2BaseSpritesX = (gSpriteCoordOffsetX - gWeatherPtr->fog2XOffset) & 0xFF; - gWeatherPtr->fog2PosY = gSpriteCoordOffsetY + gWeatherPtr->fog2YOffset; + gWeatherPtr->fogDBaseSpritesX = (gSpriteCoordOffsetX - gWeatherPtr->fogDXOffset) & 0xFF; + gWeatherPtr->fogDPosY = gSpriteCoordOffsetY + gWeatherPtr->fogDYOffset; } -static const struct SpriteSheet gFog2SpriteSheet = +static const struct SpriteSheet gFogDiagonalSpriteSheet = { - .data = gWeatherFog2Tiles, - .size = sizeof(gWeatherFog2Tiles), + .data = gWeatherFogDiagonalTiles, + .size = sizeof(gWeatherFogDiagonalTiles), .tag = 0x1203, }; -static const struct OamData sFog2SpriteOamData = +static const struct OamData sFogDiagonalSpriteOamData = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -1808,86 +1808,86 @@ static const struct OamData sFog2SpriteOamData = .paletteNum = 0, }; -static const union AnimCmd sFog2SpriteAnimCmd0[] = +static const union AnimCmd sFogDiagonalSpriteAnimCmd0[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_END, }; -static const union AnimCmd *const sFog2SpriteAnimCmds[] = +static const union AnimCmd *const sFogDiagonalSpriteAnimCmds[] = { - sFog2SpriteAnimCmd0, + sFogDiagonalSpriteAnimCmd0, }; -static const struct SpriteTemplate sFog2SpriteTemplate = +static const struct SpriteTemplate sFogDiagonalSpriteTemplate = { .tileTag = 0x1203, .paletteTag = 0x1200, - .oam = &sFog2SpriteOamData, - .anims = sFog2SpriteAnimCmds, + .oam = &sFogDiagonalSpriteOamData, + .anims = sFogDiagonalSpriteAnimCmds, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = UpdateFog2Sprite, + .callback = UpdateFogDiagonalSprite, }; #define tSpriteColumn data[0] #define tSpriteRow data[1] -static void CreateFog2Sprites(void) +static void CreateFogDiagonalSprites(void) { u16 i; - struct SpriteSheet fog2SpriteSheet; + struct SpriteSheet fogDiagonalSpriteSheet; u8 spriteId; struct Sprite *sprite; - if (!gWeatherPtr->fog2SpritesCreated) + if (!gWeatherPtr->fogDSpritesCreated) { - fog2SpriteSheet = gFog2SpriteSheet; - LoadSpriteSheet(&fog2SpriteSheet); - for (i = 0; i < NUM_FOG2_SPRITES; i++) + fogDiagonalSpriteSheet = gFogDiagonalSpriteSheet; + LoadSpriteSheet(&fogDiagonalSpriteSheet); + for (i = 0; i < NUM_FOG_DIAGONAL_SPRITES; i++) { - spriteId = CreateSpriteAtEnd(&sFog2SpriteTemplate, 0, (i / 5) * 64, 0xFF); + spriteId = CreateSpriteAtEnd(&sFogDiagonalSpriteTemplate, 0, (i / 5) * 64, 0xFF); if (spriteId != MAX_SPRITES) { sprite = &gSprites[spriteId]; sprite->tSpriteColumn = i % 5; sprite->tSpriteRow = i / 5; - gWeatherPtr->sprites.s2.fog2Sprites[i] = sprite; + gWeatherPtr->sprites.s2.fogDSprites[i] = sprite; } else { - gWeatherPtr->sprites.s2.fog2Sprites[i] = NULL; + gWeatherPtr->sprites.s2.fogDSprites[i] = NULL; } } - gWeatherPtr->fog2SpritesCreated = TRUE; + gWeatherPtr->fogDSpritesCreated = TRUE; } } -static void DestroyFog2Sprites(void) +static void DestroyFogDiagonalSprites(void) { u16 i; - if (gWeatherPtr->fog2SpritesCreated) + if (gWeatherPtr->fogDSpritesCreated) { - for (i = 0; i < NUM_FOG2_SPRITES; i++) + for (i = 0; i < NUM_FOG_DIAGONAL_SPRITES; i++) { - if (gWeatherPtr->sprites.s2.fog2Sprites[i]) - DestroySprite(gWeatherPtr->sprites.s2.fog2Sprites[i]); + if (gWeatherPtr->sprites.s2.fogDSprites[i]) + DestroySprite(gWeatherPtr->sprites.s2.fogDSprites[i]); } FreeSpriteTilesByTag(0x1203); - gWeatherPtr->fog2SpritesCreated = FALSE; + gWeatherPtr->fogDSpritesCreated = FALSE; } } -static void UpdateFog2Sprite(struct Sprite *sprite) +static void UpdateFogDiagonalSprite(struct Sprite *sprite) { - sprite->pos2.y = gWeatherPtr->fog2PosY; - sprite->pos1.x = gWeatherPtr->fog2BaseSpritesX + 32 + sprite->tSpriteColumn * 64; + sprite->pos2.y = gWeatherPtr->fogDPosY; + sprite->pos1.x = gWeatherPtr->fogDBaseSpritesX + 32 + sprite->tSpriteColumn * 64; if (sprite->pos1.x > 271) { - sprite->pos1.x = gWeatherPtr->fog2BaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64; + sprite->pos1.x = gWeatherPtr->fogDBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64; sprite->pos1.x &= 0x1FF; } } @@ -1896,7 +1896,7 @@ static void UpdateFog2Sprite(struct Sprite *sprite) #undef tSpriteRow //------------------------------------------------------------------------------ -// Sandstorm +// WEATHER_SANDSTORM //------------------------------------------------------------------------------ static void UpdateSandstormWaveIndex(void); @@ -2137,14 +2137,14 @@ static void CreateSwirlSandstormSprites(void) if (spriteId != MAX_SPRITES) { gWeatherPtr->sprites.s2.sandstormSprites2[i] = &gSprites[spriteId]; - gWeatherPtr->sprites.s2.sandstormSprites2[i]->oam.size = 2; + gWeatherPtr->sprites.s2.sandstormSprites2[i]->oam.size = ST_OAM_SIZE_2; gWeatherPtr->sprites.s2.sandstormSprites2[i]->tSpriteRow = i * 51; gWeatherPtr->sprites.s2.sandstormSprites2[i]->tRadius = 8; gWeatherPtr->sprites.s2.sandstormSprites2[i]->tRadiusCounter = 0; gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[4] = 0x6730; // unused value gWeatherPtr->sprites.s2.sandstormSprites2[i]->tEntranceDelay = sSwirlEntranceDelays[i]; StartSpriteAnim(gWeatherPtr->sprites.s2.sandstormSprites2[i], 1); - CalcCenterToCornerVec(gWeatherPtr->sprites.s2.sandstormSprites2[i], 0, 2, 0); + CalcCenterToCornerVec(gWeatherPtr->sprites.s2.sandstormSprites2[i], SPRITE_SHAPE(32x32), SPRITE_SIZE(32x32), ST_OAM_AFFINE_OFF); gWeatherPtr->sprites.s2.sandstormSprites2[i]->callback = WaitSandSwirlSpriteEntrance; } else @@ -2205,7 +2205,7 @@ static void UpdateSandstormSwirlSprite(struct Sprite *sprite) #undef tEntranceDelay //------------------------------------------------------------------------------ -// Shade +// WEATHER_SHADE //------------------------------------------------------------------------------ void Shade_InitVars(void) @@ -2230,7 +2230,7 @@ bool8 Shade_Finish(void) } //------------------------------------------------------------------------------ -// Bubbles +// WEATHER_UNDERWATER_BUBBLES //------------------------------------------------------------------------------ static void CreateBubbleSprite(u16); @@ -2265,7 +2265,7 @@ static const s16 sBubbleStartCoords[][2] = void Bubbles_InitVars(void) { - Fog1_InitVars(); + FogHorizontal_InitVars(); if (!gWeatherPtr->bubblesSpritesCreated) { LoadSpriteSheet(&sWeatherBubbleSpriteSheet); @@ -2285,7 +2285,7 @@ void Bubbles_InitAll(void) void Bubbles_Main(void) { - Fog1_Main(); + FogHorizontal_Main(); if (++gWeatherPtr->bubblesDelayCounter > sBubbleStartDelays[gWeatherPtr->bubblesDelayIndex]) { gWeatherPtr->bubblesDelayCounter = 0; @@ -2300,7 +2300,7 @@ void Bubbles_Main(void) bool8 Bubbles_Finish(void) { - if (!Fog1_Finish()) + if (!FogHorizontal_Finish()) { DestroyBubbleSprites(); return FALSE; @@ -2325,7 +2325,7 @@ static const struct SpriteTemplate sBubbleSpriteTemplate = { .tileTag = 0x1205, .paletteTag = 0x1200, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = sBubbleSpriteAnimCmds, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -2399,13 +2399,13 @@ static void UpdateBubbleSprite(struct Sprite *sprite) //------------------------------------------------------------------------------ // Unused function. -static void UnusedSetCurrentAlternatingWeather(u32 a0, u32 a1) +static void UnusedSetCurrentAbnormalWeather(u32 a0, u32 a1) { - gCurrentAlternatingWeather = a0; + gCurrentAbnormalWeather = a0; gUnusedWeatherRelated = a1; } -static void Task_DoAlternatingWeather(u8 taskId) +static void Task_DoAbnormalWeather(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -2415,7 +2415,7 @@ static void Task_DoAlternatingWeather(u8 taskId) if (data[15]-- <= 0) { SetNextWeather(data[1]); - gCurrentAlternatingWeather = data[1]; + gCurrentAbnormalWeather = data[1]; data[15] = 600; data[0]++; } @@ -2424,7 +2424,7 @@ static void Task_DoAlternatingWeather(u8 taskId) if (data[15]-- <= 0) { SetNextWeather(data[2]); - gCurrentAlternatingWeather = data[2]; + gCurrentAbnormalWeather = data[2]; data[15] = 600; data[0] = 0; } @@ -2432,27 +2432,27 @@ static void Task_DoAlternatingWeather(u8 taskId) } } -static void CreateAlternatingWeatherTask(void) +static void CreateAbnormalWeatherTask(void) { - u8 taskId = CreateTask(Task_DoAlternatingWeather, 0); + u8 taskId = CreateTask(Task_DoAbnormalWeather, 0); s16 *data = gTasks[taskId].data; data[15] = 600; - if (gCurrentAlternatingWeather == WEATHER_RAIN_HEAVY) + if (gCurrentAbnormalWeather == WEATHER_DOWNPOUR) { data[1] = WEATHER_DROUGHT; - data[2] = WEATHER_RAIN_HEAVY; + data[2] = WEATHER_DOWNPOUR; } - else if (gCurrentAlternatingWeather == WEATHER_DROUGHT) + else if (gCurrentAbnormalWeather == WEATHER_DROUGHT) { - data[1] = WEATHER_RAIN_HEAVY; + data[1] = WEATHER_DOWNPOUR; data[2] = WEATHER_DROUGHT; } else { - gCurrentAlternatingWeather = WEATHER_RAIN_HEAVY; + gCurrentAbnormalWeather = WEATHER_DOWNPOUR; data[1] = WEATHER_DROUGHT; - data[2] = WEATHER_RAIN_HEAVY; + data[2] = WEATHER_DOWNPOUR; } } @@ -2494,17 +2494,17 @@ void DoCurrentWeather(void) { u8 weather = GetSav1Weather(); - if (weather == WEATHER_ALTERNATING) + if (weather == WEATHER_ABNORMAL) { - if (!FuncIsActiveTask(Task_DoAlternatingWeather)) - CreateAlternatingWeatherTask(); - weather = gCurrentAlternatingWeather; + if (!FuncIsActiveTask(Task_DoAbnormalWeather)) + CreateAbnormalWeatherTask(); + weather = gCurrentAbnormalWeather; } else { - if (FuncIsActiveTask(Task_DoAlternatingWeather)) - DestroyTask(FindTaskIdByFunc(Task_DoAlternatingWeather)); - gCurrentAlternatingWeather = WEATHER_RAIN_HEAVY; + if (FuncIsActiveTask(Task_DoAbnormalWeather)) + DestroyTask(FindTaskIdByFunc(Task_DoAbnormalWeather)); + gCurrentAbnormalWeather = WEATHER_DOWNPOUR; } SetNextWeather(weather); } @@ -2513,17 +2513,17 @@ void ResumePausedWeather(void) { u8 weather = GetSav1Weather(); - if (weather == WEATHER_ALTERNATING) + if (weather == WEATHER_ABNORMAL) { - if (!FuncIsActiveTask(Task_DoAlternatingWeather)) - CreateAlternatingWeatherTask(); - weather = gCurrentAlternatingWeather; + if (!FuncIsActiveTask(Task_DoAbnormalWeather)) + CreateAbnormalWeatherTask(); + weather = gCurrentAbnormalWeather; } else { - if (FuncIsActiveTask(Task_DoAlternatingWeather)) - DestroyTask(FindTaskIdByFunc(Task_DoAlternatingWeather)); - gCurrentAlternatingWeather = WEATHER_RAIN_HEAVY; + if (FuncIsActiveTask(Task_DoAbnormalWeather)) + DestroyTask(FindTaskIdByFunc(Task_DoAbnormalWeather)); + gCurrentAbnormalWeather = WEATHER_DOWNPOUR; } SetCurrentAndNextWeather(weather); } @@ -2531,15 +2531,15 @@ void ResumePausedWeather(void) static const u8 sWeatherCycleRoute119[] = { WEATHER_SUNNY, - WEATHER_RAIN_LIGHT, - WEATHER_RAIN_MED, - WEATHER_RAIN_LIGHT, + WEATHER_RAIN, + WEATHER_RAIN_THUNDERSTORM, + WEATHER_RAIN, }; static const u8 sWeatherCycleRoute123[] = { WEATHER_SUNNY, WEATHER_SUNNY, - WEATHER_RAIN_LIGHT, + WEATHER_RAIN, WEATHER_SUNNY, }; @@ -2547,25 +2547,25 @@ static u8 TranslateWeatherNum(u8 weather) { switch (weather) { - case WEATHER_NONE: return WEATHER_NONE; - case WEATHER_CLOUDS: return WEATHER_CLOUDS; - case WEATHER_SUNNY: return WEATHER_SUNNY; - case WEATHER_RAIN_LIGHT: return WEATHER_RAIN_LIGHT; - case WEATHER_SNOW: return WEATHER_SNOW; - case WEATHER_RAIN_MED: return WEATHER_RAIN_MED; - case WEATHER_FOG_1: return WEATHER_FOG_1; - case WEATHER_ASH: return WEATHER_ASH; - case WEATHER_SANDSTORM: return WEATHER_SANDSTORM; - case WEATHER_FOG_2: return WEATHER_FOG_2; - case WEATHER_FOG_3: return WEATHER_FOG_3; - case WEATHER_SHADE: return WEATHER_SHADE; - case WEATHER_DROUGHT: return WEATHER_DROUGHT; - case WEATHER_RAIN_HEAVY: return WEATHER_RAIN_HEAVY; - case WEATHER_BUBBLES: return WEATHER_BUBBLES; - case WEATHER_ALTERNATING: return WEATHER_ALTERNATING; - case WEATHER_ROUTE119_CYCLE: return sWeatherCycleRoute119[gSaveBlock1Ptr->weatherCycleStage]; - case WEATHER_ROUTE123_CYCLE: return sWeatherCycleRoute123[gSaveBlock1Ptr->weatherCycleStage]; - default: return WEATHER_NONE; + case WEATHER_NONE: return WEATHER_NONE; + case WEATHER_SUNNY_CLOUDS: return WEATHER_SUNNY_CLOUDS; + case WEATHER_SUNNY: return WEATHER_SUNNY; + case WEATHER_RAIN: return WEATHER_RAIN; + case WEATHER_SNOW: return WEATHER_SNOW; + case WEATHER_RAIN_THUNDERSTORM: return WEATHER_RAIN_THUNDERSTORM; + case WEATHER_FOG_HORIZONTAL: return WEATHER_FOG_HORIZONTAL; + case WEATHER_VOLCANIC_ASH: return WEATHER_VOLCANIC_ASH; + case WEATHER_SANDSTORM: return WEATHER_SANDSTORM; + case WEATHER_FOG_DIAGONAL: return WEATHER_FOG_DIAGONAL; + case WEATHER_UNDERWATER: return WEATHER_UNDERWATER; + case WEATHER_SHADE: return WEATHER_SHADE; + case WEATHER_DROUGHT: return WEATHER_DROUGHT; + case WEATHER_DOWNPOUR: return WEATHER_DOWNPOUR; + case WEATHER_UNDERWATER_BUBBLES: return WEATHER_UNDERWATER_BUBBLES; + case WEATHER_ABNORMAL: return WEATHER_ABNORMAL; + case WEATHER_ROUTE119_CYCLE: return sWeatherCycleRoute119[gSaveBlock1Ptr->weatherCycleStage]; + case WEATHER_ROUTE123_CYCLE: return sWeatherCycleRoute123[gSaveBlock1Ptr->weatherCycleStage]; + default: return WEATHER_NONE; } } @@ -2579,7 +2579,7 @@ void UpdateWeatherPerDay(u16 increment) static void UpdateRainCounter(u8 newWeather, u8 oldWeather) { if (newWeather != oldWeather - && (newWeather == WEATHER_RAIN_LIGHT || newWeather == WEATHER_RAIN_MED)) + && (newWeather == WEATHER_RAIN || newWeather == WEATHER_RAIN_THUNDERSTORM)) IncrementGameStat(GAME_STAT_GOT_RAINED_ON); } diff --git a/src/fieldmap.c b/src/fieldmap.c index b2b80a2df8..21bbaa8f86 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -75,7 +75,7 @@ void InitBattlePyramidMap(bool8 setPlayerPosition) void InitTrainerHillMap(void) { CpuFastFill(0x03ff03ff, gBackupMapData, sizeof(gBackupMapData)); - sub_81D5FB4(gBackupMapData); + GenerateTrainerHillFloorLayout(gBackupMapData); } static void InitMapLayoutData(struct MapHeader *mapHeader) @@ -859,7 +859,7 @@ int sub_8088A4C(struct MapConnection *connection, int x, int y) return FALSE; } -struct MapConnection *sub_8088A8C(s16 x, s16 y) +struct MapConnection *GetConnectionAtCoords(s16 x, s16 y) { int count; struct MapConnection *connection; diff --git a/src/fight.c b/src/fight.c index 5230c2f398..0c4b5a3fae 100644 --- a/src/fight.c +++ b/src/fight.c @@ -42,7 +42,7 @@ const struct SpriteTemplate gUnknown_08595E14 = { .tileTag = ANIM_TAG_HUMANOID_FOOT, .paletteTag = ANIM_TAG_HUMANOID_FOOT, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -100,7 +100,7 @@ const struct SpriteTemplate gUnknown_08595E68 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -111,7 +111,7 @@ const struct SpriteTemplate gUnknown_08595E80 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -122,7 +122,7 @@ const struct SpriteTemplate gFistFootSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -133,7 +133,7 @@ const struct SpriteTemplate gUnknown_08595EB0 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -144,7 +144,7 @@ const struct SpriteTemplate gUnknown_08595EC8 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E60, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -155,7 +155,7 @@ const struct SpriteTemplate gUnknown_08595EE0 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E58, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -178,7 +178,7 @@ const struct SpriteTemplate gUnknown_08595F14 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gUnknown_08595F10, @@ -201,7 +201,7 @@ const struct SpriteTemplate gMegaPunchKickSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gUnknown_08595F44, @@ -212,7 +212,7 @@ const struct SpriteTemplate gUnknown_08595F60 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E58, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -223,7 +223,7 @@ const struct SpriteTemplate gUnknown_08595F78 = { .tileTag = ANIM_TAG_DUCK, .paletteTag = ANIM_TAG_DUCK, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -234,7 +234,7 @@ const struct SpriteTemplate gUnknown_08595F90 = { .tileTag = ANIM_TAG_BLUE_LIGHT_WALL, .paletteTag = ANIM_TAG_BLUE_LIGHT_WALL, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -245,7 +245,7 @@ const struct SpriteTemplate gUnknown_08595FA8 = { .tileTag = ANIM_TAG_TORN_METAL, .paletteTag = ANIM_TAG_TORN_METAL, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -270,7 +270,7 @@ const struct SpriteTemplate gUnknown_08595FEC = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08595FE8, @@ -281,7 +281,7 @@ const struct SpriteTemplate gUnknown_08596004 = { .tileTag = ANIM_TAG_FLAT_ROCK, .paletteTag = ANIM_TAG_FLAT_ROCK, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -292,7 +292,7 @@ const struct SpriteTemplate gUnknown_0859601C = { .tileTag = ANIM_TAG_METEOR, .paletteTag = ANIM_TAG_METEOR, - .oam = &gUnknown_0852491C, + .oam = &gOamData_AffineOff_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -303,7 +303,7 @@ const struct SpriteTemplate gUnknown_08596034 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -345,7 +345,7 @@ const struct SpriteTemplate gUnknown_08596088 = { .tileTag = ANIM_TAG_PURPLE_SCRATCH, .paletteTag = ANIM_TAG_PURPLE_SCRATCH, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_0859607C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -384,7 +384,7 @@ const struct SpriteTemplate gUnknown_085960D0 = { .tileTag = ANIM_TAG_PURPLE_SWIPE, .paletteTag = ANIM_TAG_PURPLE_SWIPE, - .oam = &gUnknown_0852491C, + .oam = &gOamData_AffineOff_ObjNormal_64x64, .anims = gUnknown_085960C4, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -407,7 +407,7 @@ const struct SpriteTemplate gUnknown_08596104 = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gUnknown_08596100, @@ -433,7 +433,7 @@ void sub_810CE68(struct Sprite *sprite) StartSpriteAnim(sprite, gBattleAnimArgs[6]); gBattleAnimArgs[6] = 0; - sub_80A7938(sprite); + AnimSnoreZ(sprite); } void sub_810CEB4(struct Sprite *sprite) diff --git a/src/fire.c b/src/fire.c index fdbfb234ef..2a12c26cc1 100644 --- a/src/fire.c +++ b/src/fire.c @@ -65,7 +65,7 @@ const struct SpriteTemplate gUnknown_08595368 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595360, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -76,7 +76,7 @@ const struct SpriteTemplate gUnknown_08595380 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595360, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -132,7 +132,7 @@ const struct SpriteTemplate gUnknown_085953F8 = { .tileTag = ANIM_TAG_FIRE, .paletteTag = ANIM_TAG_FIRE, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gUnknown_085953BC, .images = NULL, .affineAnims = gUnknown_085953F4, @@ -143,7 +143,7 @@ const struct SpriteTemplate gUnknown_08595410 = { .tileTag = ANIM_TAG_FIRE, .paletteTag = ANIM_TAG_FIRE, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085953BC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -154,7 +154,7 @@ const struct SpriteTemplate gUnknown_08595428 = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_FIRE_PLUME, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085953D8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -165,7 +165,7 @@ const struct SpriteTemplate gUnknown_08595440 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085953D8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -189,7 +189,7 @@ const struct SpriteTemplate gUnknown_0859546C = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595468, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -212,7 +212,7 @@ const struct SpriteTemplate gUnknown_085954A0 = { .tileTag = ANIM_TAG_SUNLIGHT, .paletteTag = ANIM_TAG_SUNLIGHT, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_0859549C, @@ -238,7 +238,7 @@ const struct SpriteTemplate gEmberSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -249,7 +249,7 @@ const struct SpriteTemplate gEmberFlareSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085954D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -260,7 +260,7 @@ const struct SpriteTemplate gUnknown_08595504 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085954D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -271,7 +271,7 @@ const struct SpriteTemplate gUnknown_0859551C = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085954D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -312,7 +312,7 @@ const struct SpriteTemplate gUnknown_0859556C = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595540, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -323,7 +323,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8595584 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085954D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -334,7 +334,7 @@ const struct SpriteTemplate gUnknown_0859559C = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085954D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -345,7 +345,7 @@ const struct SpriteTemplate gUnknown_085955B4 = { .tileTag = ANIM_TAG_WARM_ROCK, .paletteTag = ANIM_TAG_WARM_ROCK, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -368,7 +368,7 @@ const struct SpriteTemplate gUnknown_085955E8 = { .tileTag = ANIM_TAG_WARM_ROCK, .paletteTag = ANIM_TAG_WARM_ROCK, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -414,7 +414,7 @@ const struct SpriteTemplate gUnknown_0859563C = { .tileTag = ANIM_TAG_WISP_ORB, .paletteTag = ANIM_TAG_WISP_ORB, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_0859562C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -439,7 +439,7 @@ const struct SpriteTemplate gUnknown_0859566C = { .tileTag = ANIM_TAG_WISP_FIRE, .paletteTag = ANIM_TAG_WISP_FIRE, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595668, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -622,7 +622,7 @@ static void AnimEmberFlare(struct Sprite *sprite) || gBattleAnimAttacker == GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT))) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - sprite->callback = sub_80A7938; + sprite->callback = AnimSnoreZ; sprite->callback(sprite); } @@ -631,7 +631,7 @@ static void sub_8109200(struct Sprite *sprite) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - sprite->callback = sub_80A7938; + sprite->callback = AnimSnoreZ; } // Animates the a fire sprite in the first-half of the MOVE_FIRE_BLAST diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index 3115ff2318..a0160344ed 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -7,7 +7,7 @@ #include "field_player_avatar.h" #include "fieldmap.h" #include "fldeff.h" -#include "alloc.h" +#include "malloc.h" #include "metatile_behavior.h" #include "overworld.h" #include "party_menu.h" @@ -25,7 +25,7 @@ extern struct MapPosition gPlayerFacingPosition; extern const u8 EventScript_FldEffCut[]; -extern const u8 FarawayIsland_Interior_EventScript_267EDB[]; +extern const u8 FarawayIsland_Interior_EventScript_HideMewWhenGrassCut[]; extern const u8 gFieldEffectPic_CutGrass[]; extern const u16 gFieldEffectObjectPalette6[]; @@ -92,10 +92,10 @@ static const struct HyperCutterUnk sHyperCutStruct[] = static const struct OamData sOamData_CutGrass = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, @@ -584,7 +584,7 @@ static void CutGrassSpriteCallbackEnd(struct Sprite *sprite) ScriptContext2_Disable(); if (IsMewPlayingHideAndSeek() == TRUE) - ScriptContext1_SetupScript(FarawayIsland_Interior_EventScript_267EDB); + ScriptContext1_SetupScript(FarawayIsland_Interior_EventScript_HideMewWhenGrassCut); } void FixLongGrassMetatilesWindowTop(s16 x, s16 y) diff --git a/src/fldeff_dig.c b/src/fldeff_dig.c index b39d25182b..7f10e126ef 100644 --- a/src/fldeff_dig.c +++ b/src/fldeff_dig.c @@ -57,7 +57,7 @@ static void sub_8135780(void) } else { - taskId = CreateTask(task08_080A1C44, 8); + taskId = CreateTask(Task_UseDigEscapeRopeOnField, 8); gTasks[taskId].data[0] = 0; } } diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c index 46b1da6d8b..5f3dabd038 100644 --- a/src/fldeff_flash.c +++ b/src/fldeff_flash.c @@ -27,8 +27,8 @@ struct FlashStruct }; // static functions -static void hm2_flash(void); -static void sub_81371B4(void); +static void FieldCallback_Flash(void); +static void FldEff_UseFlash(void); static bool8 TryDoMapTransition(void); static void DoExitCaveTransition(void); static void Task_ExitCaveTransition1(u8 taskId); @@ -87,26 +87,26 @@ bool8 SetUpFieldMove_Flash(void) else if (gMapHeader.cave == TRUE && !FlagGet(FLAG_SYS_USE_FLASH)) { gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; - gPostMenuFieldCallback = hm2_flash; + gPostMenuFieldCallback = FieldCallback_Flash; return TRUE; } return FALSE; } -static void hm2_flash(void) +static void FieldCallback_Flash(void) { u8 taskId = oei_task_add(); gFieldEffectArguments[0] = GetCursorSelectionMonId(); - gTasks[taskId].data[8] = (uintptr_t)sub_81371B4 >> 16; - gTasks[taskId].data[9] = (uintptr_t)sub_81371B4; + gTasks[taskId].data[8] = (uintptr_t)FldEff_UseFlash >> 16; + gTasks[taskId].data[9] = (uintptr_t)FldEff_UseFlash; } -static void sub_81371B4(void) +static void FldEff_UseFlash(void) { PlaySE(SE_W115); FlagSet(FLAG_SYS_USE_FLASH); - ScriptContext1_SetupScript(EventScript_2926F8); + ScriptContext1_SetupScript(EventScript_FldEffFlash); } static void CB2_ChangeMapMain(void) diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c index c68a95d413..05fa433387 100644 --- a/src/fldeff_misc.c +++ b/src/fldeff_misc.c @@ -20,9 +20,11 @@ #include "string_util.h" #include "constants/field_effects.h" #include "constants/metatile_behaviors.h" -#include "constants/songs.h" -#include "constants/vars.h" #include "constants/metatile_labels.h" +#include "constants/songs.h" +#include "constants/tv.h" +#include "constants/vars.h" + EWRAM_DATA struct MapPosition gPlayerFacingPosition = {0}; @@ -583,7 +585,7 @@ bool8 SetUpFieldMove_SecretPower(void) static void FieldCallback_SecretBaseCave(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(EventScript_275A86); + ScriptContext1_SetupScript(SecretBase_EventScript_CaveUseSecretPower); } bool8 FldEff_UseSecretPowerCave(void) @@ -643,7 +645,7 @@ static void CaveEntranceSpriteCallbackEnd(struct Sprite *sprite) static void FieldCallback_SecretBaseTree(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(EventScript_275ADF); + ScriptContext1_SetupScript(SecretBase_EventScript_TreeUseSecretPower); } bool8 FldEff_UseSecretPowerTree(void) @@ -717,7 +719,7 @@ static void TreeEntranceSpriteCallbackEnd(struct Sprite *sprite) static void FieldCallback_SecretBaseShrub(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(EventScript_275B38); + ScriptContext1_SetupScript(SecretBase_EventScript_ShrubUseSecretPower); } bool8 FldEff_UseSecretPowerShrub(void) @@ -801,16 +803,16 @@ static void Task_SecretBasePCTurnOn(u8 taskId) { case 4: case 12: - MapGridSetMetatileIdAt(data[0], data[1], 0x224); + MapGridSetMetatileIdAt(data[0], data[1], METATILE_SecretBase_PC_On); CurrentMapDrawMetatileAt(data[0], data[1]); break; case 8: case 16: - MapGridSetMetatileIdAt(data[0], data[1], 0x220); + MapGridSetMetatileIdAt(data[0], data[1], METATILE_SecretBase_PC); CurrentMapDrawMetatileAt(data[0], data[1]); break; case 20: - MapGridSetMetatileIdAt(data[0], data[1], 0x224); + MapGridSetMetatileIdAt(data[0], data[1], METATILE_SecretBase_PC_On); CurrentMapDrawMetatileAt(data[0], data[1]); FieldEffectActiveListRemove(FLDEFF_PCTURN_ON); EnableBothScriptContexts(); @@ -829,9 +831,9 @@ void DoSecretBasePCTurnOffEffect(void) PlaySE(SE_PC_OFF); if (!VarGet(VAR_CURRENT_SECRET_BASE)) - MapGridSetMetatileIdAt(x, y, 0x220 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_PC | METATILE_COLLISION_MASK); else - MapGridSetMetatileIdAt(x, y, 0x221 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_RegisterPC | METATILE_COLLISION_MASK); CurrentMapDrawMetatileAt(x, y); } @@ -875,16 +877,16 @@ static void DoBalloonSoundEffect(s16 metatileId) { switch (metatileId) { - case 824: + case METATILE_SecretBase_RedBalloon: PlaySE(SE_FUUSEN1); break; - case 828: + case METATILE_SecretBase_BlueBalloon: PlaySE(SE_FUUSEN2); break; - case 832: + case METATILE_SecretBase_YellowBalloon: PlaySE(SE_FUUSEN3); break; - case 552: + case METATILE_SecretBase_MudBall: PlaySE(SE_TOY_DANGO); break; } @@ -903,8 +905,8 @@ bool8 FldEff_NopA700(void) static void DoSecretBaseBreakableDoorEffect(s16 x, s16 y) { PlaySE(SE_TOY_KABE); - MapGridSetMetatileIdAt(x, y, 0x276); - MapGridSetMetatileIdAt(x, y - 1, 0x26E); + MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_BreakableDoor_BottomOpen); + MapGridSetMetatileIdAt(x, y - 1, METATILE_SecretBase_BreakableDoor_TopOpen); CurrentMapDrawMetatileAt(x, y); CurrentMapDrawMetatileAt(x, y - 1); } @@ -946,28 +948,28 @@ static void Task_SecretBaseMusicNoteMatSound(u8 taskId) { switch (gTasks[taskId].tMetatileID) { - case 632: + case METATILE_SecretBase_NoteMat_C: PlaySE(SE_TOY_C); break; - case 633: + case METATILE_SecretBase_NoteMat_D: PlaySE(SE_TOY_D); break; - case 634: + case METATILE_SecretBase_NoteMat_E: PlaySE(SE_TOY_E); break; - case 635: + case METATILE_SecretBase_NoteMat_F: PlaySE(SE_TOY_F); break; - case 636: + case METATILE_SecretBase_NoteMat_G: PlaySE(SE_TOY_G); break; - case 637: + case METATILE_SecretBase_NoteMat_A: PlaySE(SE_TOY_A); break; - case 638: + case METATILE_SecretBase_NoteMat_B: PlaySE(SE_TOY_B); break; - case 691: + case METATILE_SecretBase_NoteMat_C_Sharp: PlaySE(SE_TOY_C1); break; } @@ -1071,12 +1073,12 @@ static void SpriteCB_SandPillar_0(struct Sprite *sprite) { PlaySE(SE_W088); - if (MapGridGetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1) == 646) - MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, 3586); + if (MapGridGetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1) == METATILE_SecretBase_SandOrnament_TopWall) + MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, METATILE_SecretBase_Wall_TopMid | METATILE_COLLISION_MASK); else - MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, 644); + MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, METATILE_SecretBase_SandOrnament_BrokenTop); - MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], 522); + MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], METATILE_SecretBase_Ground); CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1); CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6]); @@ -1092,7 +1094,7 @@ static void SpriteCB_SandPillar_1(struct Sprite *sprite) } else { - MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], 3724); + MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], METATILE_SecretBase_SandOrnament_BrokenBase | METATILE_COLLISION_MASK); CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6]); sprite->data[0] = 0; sprite->callback = SpriteCB_SandPillar_2; @@ -1105,7 +1107,7 @@ static void SpriteCB_SandPillar_2(struct Sprite *sprite) EnableBothScriptContexts(); } -void GetShieldToyTVDecorationInfo(void) +void InteractWithShieldOrTVDecoration(void) { s16 x, y; s32 metatileId; @@ -1116,7 +1118,7 @@ void GetShieldToyTVDecorationInfo(void) switch (metatileId) { - case 822: + case METATILE_SecretBase_GoldShield_Base1: ConvertIntToDecimalStringN(gStringVar1, 100, STR_CONV_MODE_LEFT_ALIGN, 3); StringCopy(gStringVar2, gText_Gold); @@ -1125,9 +1127,9 @@ void GetShieldToyTVDecorationInfo(void) if (!VarGet(VAR_CURRENT_SECRET_BASE)) return; - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x10); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_GOLD_SHIELD); break; - case 734: + case METATILE_SecretBase_SilverShield_Base1: ConvertIntToDecimalStringN(gStringVar1, 50, STR_CONV_MODE_LEFT_ALIGN, 2); StringCopy(gStringVar2, gText_Silver); @@ -1136,31 +1138,31 @@ void GetShieldToyTVDecorationInfo(void) if (!VarGet(VAR_CURRENT_SECRET_BASE)) return; - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x20); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_SILVER_SHIELD); break; - case 756: + case METATILE_SecretBase_TV: gSpecialVar_Result = 1; if (!VarGet(VAR_CURRENT_SECRET_BASE)) return; - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x80); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_TV); break; - case 757: + case METATILE_SecretBase_RoundTV: gSpecialVar_Result = 2; if (!VarGet(VAR_CURRENT_SECRET_BASE)) return; - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x80); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_TV); break; - case 758: + case METATILE_SecretBase_CuteTV: gSpecialVar_Result = 3; if (!VarGet(VAR_CURRENT_SECRET_BASE)) return; - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x80); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_TV); break; } } @@ -1172,16 +1174,16 @@ bool8 sub_80FADE4(u16 metatileId, u8 arg1) if (!arg1) { - if (metatileId == 0x285 || metatileId == 0x286) + if (metatileId == METATILE_SecretBase_SandOrnament_Top || metatileId == METATILE_SecretBase_SandOrnament_TopWall) return TRUE; - if (metatileId == 0x237) + if (metatileId == METATILE_SecretBase_BreakableDoor_TopClosed) return TRUE; } else { - if (metatileId == 0x28d) + if (metatileId == METATILE_SecretBase_SandOrnament_Base1) return TRUE; - if (metatileId == 0x23F) + if (metatileId == METATILE_SecretBase_BreakableDoor_BottomClosed) return TRUE; } diff --git a/src/fldeff_softboiled.c b/src/fldeff_softboiled.c index c18602c680..1a42b297da 100644 --- a/src/fldeff_softboiled.c +++ b/src/fldeff_softboiled.c @@ -7,12 +7,13 @@ #include "string_util.h" #include "strings.h" #include "task.h" +#include "constants/party_menu.h" #include "constants/songs.h" -static void sub_816166C(u8 taskId); -static void sub_81616C0(u8 taskId); -static void sub_8161724(u8 taskId); -static void sub_81617B8(u8 taskId); +static void Task_SoftboiledRestoreHealth(u8 taskId); +static void Task_DisplayHPRestoredMessage(u8 taskId); +static void Task_FinishSoftboiled(u8 taskId); +static void CantUseSoftboiledOnMon(u8 taskId); bool8 SetUpFieldMove_SoftBoiled(void) { @@ -29,81 +30,82 @@ bool8 SetUpFieldMove_SoftBoiled(void) return FALSE; } -void sub_8161560(u8 taskId) +void ChooseMonForSoftboiled(u8 taskId) { - gUnknown_0203CEC8.unkB = 0xA; - gUnknown_0203CEC8.unkA = gUnknown_0203CEC8.slotId; - sub_81B0FCC(GetCursorSelectionMonId(), 0x1); - display_pokemon_menu_message(0x5); - gTasks[taskId].func = sub_81B1370; + gPartyMenu.action = PARTY_ACTION_SOFTBOILED; + gPartyMenu.slotId2 = gPartyMenu.slotId; + AnimatePartySlot(GetCursorSelectionMonId(), 1); + DisplayPartyMenuStdMessage(PARTY_MSG_USE_ON_WHICH_MON); + gTasks[taskId].func = Task_HandleChooseMonInput; } -void sub_81615A8(u8 taskId) +void Task_TryUseSoftboiledOnPartyMon(u8 taskId) { u16 hp; - u8 slotId = gUnknown_0203CEC8.slotId; - u8 pokemonIndex = gUnknown_0203CEC8.unkA; - if(pokemonIndex > 6) + u8 userPartyId = gPartyMenu.slotId; + u8 recipientPartyId = gPartyMenu.slotId2; + if(recipientPartyId > PARTY_SIZE) { - gUnknown_0203CEC8.unkB = 0; - display_pokemon_menu_message(0x0); - gTasks[taskId].func = sub_81B1370; + gPartyMenu.action = 0; + DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON); + gTasks[taskId].func = Task_HandleChooseMonInput; return; } - hp = GetMonData(&gPlayerParty[pokemonIndex], MON_DATA_HP); - if(hp == 0 || slotId == pokemonIndex || GetMonData(&gPlayerParty[pokemonIndex], MON_DATA_MAX_HP) == hp) + hp = GetMonData(&gPlayerParty[recipientPartyId], MON_DATA_HP); + if(hp == 0 || userPartyId == recipientPartyId || GetMonData(&gPlayerParty[recipientPartyId], MON_DATA_MAX_HP) == hp) { - sub_81617B8(taskId); + CantUseSoftboiledOnMon(taskId); return; } + // Take away Softboiled user's health first (-1) PlaySE(SE_KAIFUKU); - sub_81B1F18(taskId, slotId, -1, GetMonData(&gPlayerParty[slotId], MON_DATA_MAX_HP)/5, sub_816166C); + PartyMenuModifyHP(taskId, userPartyId, -1, GetMonData(&gPlayerParty[userPartyId], MON_DATA_MAX_HP)/5, Task_SoftboiledRestoreHealth); } -static void sub_816166C(u8 taskId) +static void Task_SoftboiledRestoreHealth(u8 taskId) { PlaySE(SE_KAIFUKU); - sub_81B1F18(taskId, gUnknown_0203CEC8.unkA, 1, GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_MAX_HP)/5, sub_81616C0); + PartyMenuModifyHP(taskId, gPartyMenu.slotId2, 1, GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MAX_HP)/5, Task_DisplayHPRestoredMessage); } -static void sub_81616C0(u8 taskId) +static void Task_DisplayHPRestoredMessage(u8 taskId) { - GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unkA], gStringVar1); + GetMonNickname(&gPlayerParty[gPartyMenu.slotId2], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2); - sub_81B1B5C(gStringVar4, 0); + DisplayPartyMenuMessage(gStringVar4, FALSE); schedule_bg_copy_tilemap_to_vram(2); - gTasks[taskId].func = sub_8161724; + gTasks[taskId].func = Task_FinishSoftboiled; } -static void sub_8161724(u8 taskId) +static void Task_FinishSoftboiled(u8 taskId) { - if(sub_81B1BD4() == 1) + if(IsPartyMenuTextPrinterActive() == TRUE) return; - gUnknown_0203CEC8.unkB = 0x0; - sub_81B0FCC(gUnknown_0203CEC8.slotId, 0); - gUnknown_0203CEC8.slotId = gUnknown_0203CEC8.unkA; - sub_81B0FCC(gUnknown_0203CEC8.unkA, 1); - ClearStdWindowAndFrameToTransparent(0x6, FALSE); - ClearWindowTilemap(0x6); - display_pokemon_menu_message(0); - gTasks[taskId].func = sub_81B1370; + gPartyMenu.action = 0; + AnimatePartySlot(gPartyMenu.slotId, 0); + gPartyMenu.slotId = gPartyMenu.slotId2; + AnimatePartySlot(gPartyMenu.slotId2, 1); + ClearStdWindowAndFrameToTransparent(6, FALSE); + ClearWindowTilemap(6); + DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON); + gTasks[taskId].func = Task_HandleChooseMonInput; } -static void sub_8161784(u8 taskId) +static void Task_ChooseNewMonForSoftboiled(u8 taskId) { - if(sub_81B1BD4() == 1) + if(IsPartyMenuTextPrinterActive() == TRUE) return; - display_pokemon_menu_message(0x5); - gTasks[taskId].func = sub_81B1370; + DisplayPartyMenuStdMessage(PARTY_MSG_USE_ON_WHICH_MON); + gTasks[taskId].func = Task_HandleChooseMonInput; } -static void sub_81617B8(u8 taskId) +static void CantUseSoftboiledOnMon(u8 taskId) { PlaySE(SE_SELECT); - sub_81B1B5C(gText_CantBeUsedOnPkmn, 0); + DisplayPartyMenuMessage(gText_CantBeUsedOnPkmn, FALSE); schedule_bg_copy_tilemap_to_vram(2); - gTasks[taskId].func = sub_8161784; + gTasks[taskId].func = Task_ChooseNewMonForSoftboiled; } diff --git a/src/flying.c b/src/flying.c index 3d04a543c3..774018f0fa 100644 --- a/src/flying.c +++ b/src/flying.c @@ -42,7 +42,7 @@ const struct SpriteTemplate gUnknown_08596270 = { .tileTag = ANIM_TAG_GUST, .paletteTag = ANIM_TAG_GUST, - .oam = &gUnknown_0852495C, + .oam = &gOamData_AffineOff_ObjNormal_32x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -65,7 +65,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85962A4 = { .tileTag = ANIM_TAG_GUST, .paletteTag = ANIM_TAG_GUST, - .oam = &gUnknown_085249BC, + .oam = &gOamData_AffineNormal_ObjNormal_32x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085962A0, @@ -90,7 +90,7 @@ const struct SpriteTemplate gUnknown_085962D4 = { .tileTag = ANIM_TAG_AIR_WAVE_2, .paletteTag = ANIM_TAG_AIR_WAVE_2, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = gUnknown_085962D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -133,7 +133,7 @@ const struct SpriteTemplate gUnknown_08596340 = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596314, @@ -144,7 +144,7 @@ const struct SpriteTemplate gUnknown_08596358 = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, - .oam = &gUnknown_0852497C, + .oam = &gOamData_AffineNormal_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596338, @@ -173,7 +173,7 @@ const struct SpriteTemplate gUnknown_08596388 = { .tileTag = ANIM_TAG_WHITE_FEATHER, .paletteTag = ANIM_TAG_WHITE_FEATHER, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gUnknown_08596380, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -184,7 +184,7 @@ const struct SpriteTemplate gUnknown_085963A0 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -210,7 +210,7 @@ const struct SpriteTemplate gUnknown_085963D4 = { .tileTag = ANIM_TAG_WHIRLWIND_LINES, .paletteTag = ANIM_TAG_WHIRLWIND_LINES, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = gUnknown_085963D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -236,7 +236,7 @@ const struct SpriteTemplate gUnknown_08596420 = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_0859641C, @@ -258,7 +258,7 @@ const struct SpriteTemplate gUnknown_0859644C = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596448, @@ -283,7 +283,7 @@ const struct SpriteTemplate gUnknown_08596490 = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_0859648C, @@ -307,7 +307,7 @@ const struct SpriteTemplate gUnknown_085964CC = { .tileTag = ANIM_TAG_SPLASH, .paletteTag = ANIM_TAG_SPLASH, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -318,7 +318,7 @@ const struct SpriteTemplate gUnknown_085964E4 = { .tileTag = ANIM_TAG_SWEAT_BEAD, .paletteTag = ANIM_TAG_SWEAT_BEAD, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -329,7 +329,7 @@ const struct SpriteTemplate gUnknown_085964FC = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -340,7 +340,7 @@ const struct SpriteTemplate gUnknown_08596514 = { .tileTag = ANIM_TAG_BIRD, .paletteTag = ANIM_TAG_BIRD, - .oam = &gUnknown_085249DC, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -540,7 +540,7 @@ void sub_810E2C8(struct Sprite *sprite) if (sprite->oam.affineMode & ST_OAM_AFFINE_ON_MASK) { FreeOamMatrix(sprite->oam.matrixNum); - sprite->oam.affineMode = 0; + sprite->oam.affineMode = ST_OAM_AFFINE_OFF; } DestroySprite(sprite); @@ -550,12 +550,12 @@ void sub_810E2C8(struct Sprite *sprite) struct FeatherDanceData { - u8 unk0_0a:1; - u8 unk0_0b:1; - u8 unk0_0c:1; - u8 unk0_0d:1; - u8 unk0_1:4; - u8 unk1; + u16 unk0_0a:1; + u16 unk0_0b:1; + u16 unk0_0c:1; + u16 unk0_0d:1; + u16 unk0_1:4; + u16 unk1:8; u16 unk2; s16 unk4; u16 unk6; @@ -652,20 +652,11 @@ void sub_810E314(struct Sprite *sprite) sprite->callback = sub_810E520; } -#ifdef NONMATCHING -/* -Things I can't get to match: -1. data->unk0_1 bitfield behaviour. The way bits are read is different. -2. sprite->oam.priority--; sprite->oam.priority++; Nonmatching version tail-merges these, original does not. -3. sprite->pos2.x = (gSineTable[data->unk2] * var) >> 8; data->unk2 is very weirdly read at seemingly random moments inside the switch. -4. sinVal r6/r7 mismatch. -*/ void sub_810E520(struct Sprite *sprite) { - u8 matrixNum, sinIndex, var; + u8 matrixNum, sinIndex; s16 sinVal = 0; struct FeatherDanceData *data = (struct FeatherDanceData *)sprite->data; - if (data->unk0_0a) { if (data->unk1-- % 256 == 0) @@ -676,56 +667,69 @@ void sub_810E520(struct Sprite *sprite) } else { - switch (data->unk2 >> 6) + switch (data->unk2 / 64) { - case 0: - if (data->unk0_1 == 1) + case 0: + if (data->unk0_1 << 24 >> 24 == 1) // the shifts have to be here { data->unk0_0d = 1; data->unk0_0a = 1; data->unk1 = 0; } - else if (data->unk0_1 == 3) + else if (data->unk0_1 << 24 >> 24 == 3) { data->unk0_0b ^= 1; + data->unk0_0a = 1; data->unk1 = 0; } else if (data->unk0_0d) { sprite->hFlip ^= 1; sprite->animNum = sprite->hFlip; - sprite->animBeginning = 1; - sprite->animEnded = 0; + sprite->animBeginning = TRUE; + sprite->animEnded = FALSE; if (data->unk0_0c) { if (!IsContest()) { if (!data->unkE_0) + { sprite->oam.priority--; + data->unkE_0 ^= 1; + } else + { sprite->oam.priority++; + data->unkE_0 ^= 1; + } } else { if (!data->unkE_0) + { sprite->subpriority -= 12; + data->unkE_0 ^= 1; + } else + { sprite->subpriority += 12; + data->unkE_0 ^= 1; + } } - data->unkE_0 ^= 1; } data->unk0_0d = 0; + data->unk2; } data->unk0_1 = 0; break; case 1: - if (data->unk0_1 == 0) + if (data->unk0_1 << 24 >> 24 == 0) { data->unk0_0d = 1; data->unk0_0a = 1; data->unk1 = 0; } - else if (data->unk0_1 == 2) + else if (data->unk0_1 << 24 >> 24 == 2) { data->unk0_0a = 1; data->unk1 = 0; @@ -734,38 +738,49 @@ void sub_810E520(struct Sprite *sprite) { sprite->hFlip ^= 1; sprite->animNum = sprite->hFlip; - sprite->animBeginning = 1; - sprite->animEnded = 0; + sprite->animBeginning = TRUE; + sprite->animEnded = FALSE; if (data->unk0_0c) { if (!IsContest()) { if (!data->unkE_0) + { sprite->oam.priority--; + data->unkE_0 ^= 1; + } else + { sprite->oam.priority++; + data->unkE_0 ^= 1; + } } else { if (!data->unkE_0) + { sprite->subpriority -= 12; + data->unkE_0 ^= 1; + } else + { sprite->subpriority += 12; + data->unkE_0 ^= 1; + } } - data->unkE_0 ^= 1; } data->unk0_0d = 0; } data->unk0_1 = 1; break; case 2: - if (data->unk0_1 == 0) + if (data->unk0_1 << 24 >> 24 == 3) { data->unk0_0d = 1; data->unk0_0a = 1; data->unk1 = 0; } - else if (data->unk0_1 == 2) + else if (data->unk0_1 << 24 >> 24 == 1) { data->unk0_0a = 1; data->unk1 = 0; @@ -774,72 +789,96 @@ void sub_810E520(struct Sprite *sprite) { sprite->hFlip ^= 1; sprite->animNum = sprite->hFlip; - sprite->animBeginning = 1; - sprite->animEnded = 0; + sprite->animBeginning = TRUE; + sprite->animEnded = FALSE; if (data->unk0_0c) { if (!IsContest()) { if (!data->unkE_0) + { sprite->oam.priority--; + data->unkE_0 ^= 1; + } else + { sprite->oam.priority++; + data->unkE_0 ^= 1; + } } else { if (!data->unkE_0) + { sprite->subpriority -= 12; + data->unkE_0 ^= 1; + } else + { sprite->subpriority += 12; + data->unkE_0 ^= 1; + } } - data->unkE_0 ^= 1; } data->unk0_0d = 0; } data->unk0_1 = 2; break; case 3: - if (data->unk0_1 == 2) + if (data->unk0_1 << 24 >> 24 == 2) { data->unk0_0d = 1; } - else if (data->unk0_1 == 0) + else if (data->unk0_1 << 24 >> 24 == 0) { data->unk0_0b ^= 1; + data->unk0_0a = 1; data->unk1 = 0; } else if (data->unk0_0d) { sprite->hFlip ^= 1; sprite->animNum = sprite->hFlip; - sprite->animBeginning = 1; - sprite->animEnded = 0; + sprite->animBeginning = TRUE; + sprite->animEnded = FALSE; if (data->unk0_0c) { if (!IsContest()) { if (!data->unkE_0) + { sprite->oam.priority--; + data->unkE_0 ^= 1; + } else + { sprite->oam.priority++; + data->unkE_0 ^= 1; + } } else { if (!data->unkE_0) + { sprite->subpriority -= 12; + data->unkE_0 ^= 1; + } else + { sprite->subpriority += 12; + data->unkE_0 ^= 1; + } } - data->unkE_0 ^= 1; } data->unk0_0d = 0; } data->unk0_1 = 3; break; } - - var = data->unkC[data->unk0_0b]; - sprite->pos2.x = (gSineTable[data->unk2] * var) >> 8; + #ifndef NONMATCHING + asm("":::"r8"); + #endif + sprite->pos2.x = (data->unkC[data->unk0_0b] * gSineTable[data->unk2]) >> 8; matrixNum = sprite->oam.matrixNum; sinIndex = (-sprite->pos2.x >> 1) + data->unkA; @@ -856,723 +895,13 @@ void sub_810E520(struct Sprite *sprite) else data->unk2 = (data->unk2 + (data->unk4 & 0x7FFF)) & 0xFF; - if (sprite->pos1.y + sprite->pos2.y > data->unkE_1) + if (sprite->pos1.y + sprite->pos2.y >= data->unkE_1) { sprite->data[0] = 0; sprite->callback = sub_810E2C8; } } } -#else -NAKED -void sub_810E520(struct Sprite *sprite) -{ - asm_unified("push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - adds r5, r0, 0\n\ - movs r6, 0\n\ - adds r4, r5, 0\n\ - adds r4, 0x2E\n\ - ldrb r2, [r4]\n\ - movs r7, 0x1\n\ - movs r0, 0x1\n\ - mov r9, r0\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - beq _0810E55A\n\ - ldrb r0, [r4, 0x1]\n\ - adds r1, r0, 0\n\ - adds r1, 0xFF\n\ - strb r1, [r4, 0x1]\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _0810E54E\n\ - b _0810EA36\n\ -_0810E54E:\n\ - movs r0, 0x2\n\ - negs r0, r0\n\ - ands r0, r2\n\ - strb r0, [r4]\n\ - strb r6, [r4, 0x1]\n\ - b _0810EA36\n\ -_0810E55A:\n\ - ldrh r0, [r4, 0x2]\n\ - lsrs r1, r0, 6\n\ - mov r12, r0\n\ - cmp r1, 0x1\n\ - bne _0810E566\n\ - b _0810E68A\n\ -_0810E566:\n\ - cmp r1, 0x1\n\ - bgt _0810E570\n\ - cmp r1, 0\n\ - beq _0810E57E\n\ - b _0810E97C\n\ -_0810E570:\n\ - cmp r1, 0x2\n\ - bne _0810E576\n\ - b _0810E77E\n\ -_0810E576:\n\ - cmp r1, 0x3\n\ - bne _0810E57C\n\ - b _0810E872\n\ -_0810E57C:\n\ - b _0810E97C\n\ -_0810E57E:\n\ - lsls r1, r2, 24\n\ - lsrs r0, r1, 28\n\ - cmp r0, 0x1\n\ - bne _0810E592\n\ - movs r0, 0x8\n\ - orrs r0, r2\n\ - orrs r0, r7\n\ - strb r0, [r4]\n\ - strb r6, [r4, 0x1]\n\ - b _0810E680\n\ -_0810E592:\n\ - lsrs r0, r1, 28\n\ - cmp r0, 0x3\n\ - bne _0810E5B4\n\ - lsls r0, r2, 30\n\ - lsrs r0, 31\n\ - movs r1, 0x1\n\ - eors r0, r1\n\ - ands r0, r7\n\ - lsls r0, 1\n\ - movs r1, 0x3\n\ - negs r1, r1\n\ - ands r1, r2\n\ - orrs r1, r0\n\ - orrs r1, r7\n\ - strb r1, [r4]\n\ - strb r6, [r4, 0x1]\n\ - b _0810E680\n\ -_0810E5B4:\n\ - movs r0, 0x8\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - beq _0810E680\n\ - adds r3, r5, 0\n\ - adds r3, 0x3F\n\ - ldrb r2, [r3]\n\ - lsls r1, r2, 31\n\ - lsrs r1, 31\n\ - movs r6, 0x1\n\ - eors r1, r6\n\ - ands r1, r7\n\ - movs r0, 0x2\n\ - negs r0, r0\n\ - mov r8, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r3]\n\ - lsls r0, 31\n\ - lsrs r0, 31\n\ - adds r1, r5, 0\n\ - adds r1, 0x2A\n\ - strb r0, [r1]\n\ - ldrb r0, [r3]\n\ - movs r1, 0x4\n\ - orrs r0, r1\n\ - movs r1, 0x11\n\ - negs r1, r1\n\ - ands r0, r1\n\ - strb r0, [r3]\n\ - ldrb r1, [r4]\n\ - movs r0, 0x4\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0810E672\n\ - bl IsContest\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _0810E642\n\ - ldrb r1, [r4, 0xE]\n\ - mov r0, r9\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810E628\n\ - ldrb r2, [r5, 0x5]\n\ - lsls r1, r2, 28\n\ - lsrs r1, 30\n\ - subs r1, 0x1\n\ - movs r0, 0x3\n\ - ands r1, r0\n\ - lsls r1, 2\n\ - movs r0, 0xD\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x5]\n\ - b _0810E660\n\ -_0810E628:\n\ - ldrb r2, [r5, 0x5]\n\ - lsls r1, r2, 28\n\ - lsrs r1, 30\n\ - adds r1, 0x1\n\ - movs r0, 0x3\n\ - ands r1, r0\n\ - lsls r1, 2\n\ - movs r0, 0xD\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x5]\n\ - b _0810E660\n\ -_0810E642:\n\ - ldrb r1, [r4, 0xE]\n\ - mov r0, r9\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810E656\n\ - adds r1, r5, 0\n\ - adds r1, 0x43\n\ - ldrb r0, [r1]\n\ - subs r0, 0xC\n\ - b _0810E65E\n\ -_0810E656:\n\ - adds r1, r5, 0\n\ - adds r1, 0x43\n\ - ldrb r0, [r1]\n\ - adds r0, 0xC\n\ -_0810E65E:\n\ - strb r0, [r1]\n\ -_0810E660:\n\ - ldrb r2, [r4, 0xE]\n\ - lsls r0, r2, 31\n\ - lsrs r0, 31\n\ - eors r0, r6\n\ - ands r0, r7\n\ - mov r1, r8\n\ - ands r1, r2\n\ - orrs r1, r0\n\ - strb r1, [r4, 0xE]\n\ -_0810E672:\n\ - ldrb r1, [r4]\n\ - movs r0, 0x9\n\ - negs r0, r0\n\ - ands r0, r1\n\ - strb r0, [r4]\n\ - ldrh r1, [r4, 0x2]\n\ - mov r12, r1\n\ -_0810E680:\n\ - ldrb r1, [r4]\n\ - movs r0, 0xF\n\ - ands r0, r1\n\ - strb r0, [r4]\n\ - b _0810E97C\n\ -_0810E68A:\n\ - lsls r1, r2, 24\n\ - lsrs r0, r1, 28\n\ - cmp r0, 0\n\ - bne _0810E698\n\ - movs r0, 0x8\n\ - orrs r0, r2\n\ - b _0810E6A0\n\ -_0810E698:\n\ - lsrs r0, r1, 28\n\ - cmp r0, 0x2\n\ - bne _0810E6A8\n\ - adds r0, r2, 0\n\ -_0810E6A0:\n\ - orrs r0, r7\n\ - strb r0, [r4]\n\ - strb r6, [r4, 0x1]\n\ - b _0810E774\n\ -_0810E6A8:\n\ - movs r0, 0x8\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - beq _0810E774\n\ - adds r3, r5, 0\n\ - adds r3, 0x3F\n\ - ldrb r2, [r3]\n\ - lsls r1, r2, 31\n\ - lsrs r1, 31\n\ - movs r6, 0x1\n\ - eors r1, r6\n\ - ands r1, r7\n\ - movs r0, 0x2\n\ - negs r0, r0\n\ - mov r8, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r3]\n\ - lsls r0, 31\n\ - lsrs r0, 31\n\ - adds r1, r5, 0\n\ - adds r1, 0x2A\n\ - strb r0, [r1]\n\ - ldrb r0, [r3]\n\ - movs r1, 0x4\n\ - orrs r0, r1\n\ - movs r1, 0x11\n\ - negs r1, r1\n\ - ands r0, r1\n\ - strb r0, [r3]\n\ - ldrb r1, [r4]\n\ - movs r0, 0x4\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0810E766\n\ - bl IsContest\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _0810E736\n\ - ldrb r1, [r4, 0xE]\n\ - mov r0, r9\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810E71C\n\ - ldrb r2, [r5, 0x5]\n\ - lsls r1, r2, 28\n\ - lsrs r1, 30\n\ - subs r1, 0x1\n\ - movs r0, 0x3\n\ - ands r1, r0\n\ - lsls r1, 2\n\ - movs r0, 0xD\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x5]\n\ - b _0810E754\n\ -_0810E71C:\n\ - ldrb r2, [r5, 0x5]\n\ - lsls r1, r2, 28\n\ - lsrs r1, 30\n\ - adds r1, 0x1\n\ - movs r0, 0x3\n\ - ands r1, r0\n\ - lsls r1, 2\n\ - movs r0, 0xD\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x5]\n\ - b _0810E754\n\ -_0810E736:\n\ - ldrb r1, [r4, 0xE]\n\ - mov r0, r9\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810E74A\n\ - adds r1, r5, 0\n\ - adds r1, 0x43\n\ - ldrb r0, [r1]\n\ - subs r0, 0xC\n\ - b _0810E752\n\ -_0810E74A:\n\ - adds r1, r5, 0\n\ - adds r1, 0x43\n\ - ldrb r0, [r1]\n\ - adds r0, 0xC\n\ -_0810E752:\n\ - strb r0, [r1]\n\ -_0810E754:\n\ - ldrb r2, [r4, 0xE]\n\ - lsls r0, r2, 31\n\ - lsrs r0, 31\n\ - eors r0, r6\n\ - ands r0, r7\n\ - mov r1, r8\n\ - ands r1, r2\n\ - orrs r1, r0\n\ - strb r1, [r4, 0xE]\n\ -_0810E766:\n\ - ldrb r1, [r4]\n\ - movs r0, 0x9\n\ - negs r0, r0\n\ - ands r0, r1\n\ - strb r0, [r4]\n\ - ldrh r1, [r4, 0x2]\n\ - mov r12, r1\n\ -_0810E774:\n\ - ldrb r0, [r4]\n\ - movs r1, 0xF\n\ - ands r1, r0\n\ - movs r0, 0x10\n\ - b _0810E978\n\ -_0810E77E:\n\ - lsls r1, r2, 24\n\ - lsrs r0, r1, 28\n\ - cmp r0, 0x3\n\ - bne _0810E78C\n\ - movs r0, 0x8\n\ - orrs r0, r2\n\ - b _0810E794\n\ -_0810E78C:\n\ - lsrs r0, r1, 28\n\ - cmp r0, 0x1\n\ - bne _0810E79C\n\ - adds r0, r2, 0\n\ -_0810E794:\n\ - orrs r0, r7\n\ - strb r0, [r4]\n\ - strb r6, [r4, 0x1]\n\ - b _0810E868\n\ -_0810E79C:\n\ - movs r0, 0x8\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - beq _0810E868\n\ - adds r3, r5, 0\n\ - adds r3, 0x3F\n\ - ldrb r2, [r3]\n\ - lsls r1, r2, 31\n\ - lsrs r1, 31\n\ - movs r6, 0x1\n\ - eors r1, r6\n\ - ands r1, r7\n\ - movs r0, 0x2\n\ - negs r0, r0\n\ - mov r8, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r3]\n\ - lsls r0, 31\n\ - lsrs r0, 31\n\ - adds r1, r5, 0\n\ - adds r1, 0x2A\n\ - strb r0, [r1]\n\ - ldrb r0, [r3]\n\ - movs r1, 0x4\n\ - orrs r0, r1\n\ - movs r1, 0x11\n\ - negs r1, r1\n\ - ands r0, r1\n\ - strb r0, [r3]\n\ - ldrb r1, [r4]\n\ - movs r0, 0x4\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0810E85A\n\ - bl IsContest\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _0810E82A\n\ - ldrb r1, [r4, 0xE]\n\ - mov r0, r9\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810E810\n\ - ldrb r2, [r5, 0x5]\n\ - lsls r1, r2, 28\n\ - lsrs r1, 30\n\ - subs r1, 0x1\n\ - movs r0, 0x3\n\ - ands r1, r0\n\ - lsls r1, 2\n\ - movs r0, 0xD\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x5]\n\ - b _0810E848\n\ -_0810E810:\n\ - ldrb r2, [r5, 0x5]\n\ - lsls r1, r2, 28\n\ - lsrs r1, 30\n\ - adds r1, 0x1\n\ - movs r0, 0x3\n\ - ands r1, r0\n\ - lsls r1, 2\n\ - movs r0, 0xD\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x5]\n\ - b _0810E848\n\ -_0810E82A:\n\ - ldrb r1, [r4, 0xE]\n\ - mov r0, r9\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810E83E\n\ - adds r1, r5, 0\n\ - adds r1, 0x43\n\ - ldrb r0, [r1]\n\ - subs r0, 0xC\n\ - b _0810E846\n\ -_0810E83E:\n\ - adds r1, r5, 0\n\ - adds r1, 0x43\n\ - ldrb r0, [r1]\n\ - adds r0, 0xC\n\ -_0810E846:\n\ - strb r0, [r1]\n\ -_0810E848:\n\ - ldrb r2, [r4, 0xE]\n\ - lsls r0, r2, 31\n\ - lsrs r0, 31\n\ - eors r0, r6\n\ - ands r0, r7\n\ - mov r1, r8\n\ - ands r1, r2\n\ - orrs r1, r0\n\ - strb r1, [r4, 0xE]\n\ -_0810E85A:\n\ - ldrb r1, [r4]\n\ - movs r0, 0x9\n\ - negs r0, r0\n\ - ands r0, r1\n\ - strb r0, [r4]\n\ - ldrh r1, [r4, 0x2]\n\ - mov r12, r1\n\ -_0810E868:\n\ - ldrb r0, [r4]\n\ - movs r1, 0xF\n\ - ands r1, r0\n\ - movs r0, 0x20\n\ - b _0810E978\n\ -_0810E872:\n\ - lsls r1, r2, 24\n\ - lsrs r0, r1, 28\n\ - cmp r0, 0x2\n\ - bne _0810E882\n\ - movs r0, 0x8\n\ - orrs r0, r2\n\ - strb r0, [r4]\n\ - b _0810E970\n\ -_0810E882:\n\ - lsrs r0, r1, 28\n\ - cmp r0, 0\n\ - bne _0810E8A4\n\ - lsls r0, r2, 30\n\ - lsrs r0, 31\n\ - movs r1, 0x1\n\ - eors r0, r1\n\ - ands r0, r7\n\ - lsls r0, 1\n\ - movs r1, 0x3\n\ - negs r1, r1\n\ - ands r1, r2\n\ - orrs r1, r0\n\ - orrs r1, r7\n\ - strb r1, [r4]\n\ - strb r6, [r4, 0x1]\n\ - b _0810E970\n\ -_0810E8A4:\n\ - movs r0, 0x8\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - beq _0810E970\n\ - adds r3, r5, 0\n\ - adds r3, 0x3F\n\ - ldrb r2, [r3]\n\ - lsls r1, r2, 31\n\ - lsrs r1, 31\n\ - movs r6, 0x1\n\ - eors r1, r6\n\ - ands r1, r7\n\ - movs r0, 0x2\n\ - negs r0, r0\n\ - mov r8, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r3]\n\ - lsls r0, 31\n\ - lsrs r0, 31\n\ - adds r1, r5, 0\n\ - adds r1, 0x2A\n\ - strb r0, [r1]\n\ - ldrb r0, [r3]\n\ - movs r1, 0x4\n\ - orrs r0, r1\n\ - movs r1, 0x11\n\ - negs r1, r1\n\ - ands r0, r1\n\ - strb r0, [r3]\n\ - ldrb r1, [r4]\n\ - movs r0, 0x4\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0810E962\n\ - bl IsContest\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _0810E932\n\ - ldrb r1, [r4, 0xE]\n\ - mov r0, r9\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810E918\n\ - ldrb r2, [r5, 0x5]\n\ - lsls r1, r2, 28\n\ - lsrs r1, 30\n\ - subs r1, 0x1\n\ - movs r0, 0x3\n\ - ands r1, r0\n\ - lsls r1, 2\n\ - movs r0, 0xD\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x5]\n\ - b _0810E950\n\ -_0810E918:\n\ - ldrb r2, [r5, 0x5]\n\ - lsls r1, r2, 28\n\ - lsrs r1, 30\n\ - adds r1, 0x1\n\ - movs r0, 0x3\n\ - ands r1, r0\n\ - lsls r1, 2\n\ - movs r0, 0xD\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x5]\n\ - b _0810E950\n\ -_0810E932:\n\ - ldrb r1, [r4, 0xE]\n\ - mov r0, r9\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0810E946\n\ - adds r1, r5, 0\n\ - adds r1, 0x43\n\ - ldrb r0, [r1]\n\ - subs r0, 0xC\n\ - b _0810E94E\n\ -_0810E946:\n\ - adds r1, r5, 0\n\ - adds r1, 0x43\n\ - ldrb r0, [r1]\n\ - adds r0, 0xC\n\ -_0810E94E:\n\ - strb r0, [r1]\n\ -_0810E950:\n\ - ldrb r2, [r4, 0xE]\n\ - lsls r0, r2, 31\n\ - lsrs r0, 31\n\ - eors r0, r6\n\ - ands r0, r7\n\ - mov r1, r8\n\ - ands r1, r2\n\ - orrs r1, r0\n\ - strb r1, [r4, 0xE]\n\ -_0810E962:\n\ - ldrb r1, [r4]\n\ - movs r0, 0x9\n\ - negs r0, r0\n\ - ands r0, r1\n\ - strb r0, [r4]\n\ - ldrh r1, [r4, 0x2]\n\ - mov r12, r1\n\ -_0810E970:\n\ - ldrb r0, [r4]\n\ - movs r1, 0xF\n\ - ands r1, r0\n\ - movs r0, 0x30\n\ -_0810E978:\n\ - orrs r1, r0\n\ - strb r1, [r4]\n\ -_0810E97C:\n\ - ldrb r1, [r4]\n\ - lsls r1, 30\n\ - lsrs r1, 31\n\ - adds r0, r4, 0\n\ - adds r0, 0xC\n\ - adds r0, r1\n\ - ldrb r1, [r0]\n\ - ldr r3, =gSineTable\n\ - mov r2, r12\n\ - lsls r0, r2, 1\n\ - adds r0, r3\n\ - movs r2, 0\n\ - ldrsh r0, [r0, r2]\n\ - muls r0, r1\n\ - asrs r0, 8\n\ - strh r0, [r5, 0x24]\n\ - ldrb r2, [r5, 0x3]\n\ - lsls r2, 26\n\ - lsrs r2, 27\n\ - movs r1, 0x24\n\ - ldrsh r0, [r5, r1]\n\ - negs r0, r0\n\ - asrs r0, 1\n\ - ldrb r1, [r4, 0xA]\n\ - adds r0, r1\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - lsls r1, r0, 1\n\ - adds r1, r3\n\ - ldrh r6, [r1]\n\ - ldr r1, =gOamMatrices\n\ - lsls r2, 3\n\ - adds r2, r1\n\ - adds r0, 0x40\n\ - lsls r0, 1\n\ - adds r0, r3\n\ - ldrh r0, [r0]\n\ - strh r0, [r2, 0x6]\n\ - strh r0, [r2]\n\ - strh r6, [r2, 0x2]\n\ - lsls r0, r6, 16\n\ - asrs r0, 16\n\ - negs r0, r0\n\ - strh r0, [r2, 0x4]\n\ - ldrh r0, [r4, 0x6]\n\ - ldrh r2, [r4, 0x8]\n\ - adds r0, r2\n\ - strh r0, [r4, 0x8]\n\ - lsls r0, 16\n\ - lsrs r0, 24\n\ - strh r0, [r5, 0x22]\n\ - movs r1, 0x4\n\ - ldrsh r0, [r4, r1]\n\ - movs r1, 0x80\n\ - lsls r1, 8\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0810EA0C\n\ - ldrh r0, [r4, 0x4]\n\ - subs r1, 0x1\n\ - ands r1, r0\n\ - ldrh r0, [r4, 0x2]\n\ - subs r0, r1\n\ - movs r1, 0xFF\n\ - ands r0, r1\n\ - strh r0, [r4, 0x2]\n\ - b _0810EA1C\n\ - .pool\n\ -_0810EA0C:\n\ - ldrh r0, [r4, 0x4]\n\ - ldr r1, =0x00007fff\n\ - ands r1, r0\n\ - ldrh r2, [r4, 0x2]\n\ - adds r1, r2\n\ - movs r0, 0xFF\n\ - ands r1, r0\n\ - strh r1, [r4, 0x2]\n\ -_0810EA1C:\n\ - movs r0, 0x22\n\ - ldrsh r1, [r5, r0]\n\ - movs r2, 0x26\n\ - ldrsh r0, [r5, r2]\n\ - adds r1, r0\n\ - ldrh r0, [r4, 0xE]\n\ - lsrs r0, 1\n\ - cmp r1, r0\n\ - blt _0810EA36\n\ - movs r0, 0\n\ - strh r0, [r5, 0x2E]\n\ - ldr r0, =sub_810E2C8\n\ - str r0, [r5, 0x1C]\n\ -_0810EA36:\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - "); -} -#endif void sub_810EA4C(struct Sprite *sprite) { diff --git a/src/frontier_pass.c b/src/frontier_pass.c index fff93c3c76..42a518ed66 100644 --- a/src/frontier_pass.c +++ b/src/frontier_pass.c @@ -5,7 +5,7 @@ #include "battle_anim.h" #include "event_data.h" #include "recorded_battle.h" -#include "alloc.h" +#include "malloc.h" #include "sprite.h" #include "scanline_effect.h" #include "text_window.h" @@ -288,9 +288,9 @@ static const struct WindowTemplate sMapWindowTemplates[] = static const u8 sTextColors[][3] = { - {0, 2, 3}, - {0, 1, 9}, - {0, 4, 5}, + {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}, + {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_BLUE}, + {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED}, }; struct @@ -442,7 +442,7 @@ static const struct SpriteTemplate sSpriteTemplates_Cursors[] = { .tileTag = 0, .paletteTag = 0, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = sSpriteAnimTable_8571574, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -451,7 +451,7 @@ static const struct SpriteTemplate sSpriteTemplates_Cursors[] = { .tileTag = 1, .paletteTag = 1, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = sSpriteAnimTable_8571598, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -463,7 +463,7 @@ static const struct SpriteTemplate sSpriteTemplate_Medal = { .tileTag = 2, .paletteTag = 2, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = sSpriteAnimTable_857157C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -474,7 +474,7 @@ static const struct SpriteTemplate sSpriteTemplate_Head = { .tileTag = 4, .paletteTag = 4, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = sSpriteAnimTable_8571574, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -483,21 +483,21 @@ static const struct SpriteTemplate sSpriteTemplate_Head = static const u8 *const sPassAreaDescriptions[] = { - gUnknown_085EDA96, - gUnknown_085ED932, - gUnknown_085ED94D, - gUnknown_085ED961, - gUnknown_085ED977, - gUnknown_085ED993, - gUnknown_085ED9AF, - gUnknown_085ED9C7, - gUnknown_085ED9E5, - gUnknown_085EDA02, - gUnknown_085EDA21, - gUnknown_085EDA3C, - gUnknown_085EDA5E, - gUnknown_085EDA78, - gUnknown_085ED931, + gText_ThereIsNoBattleRecord, + gText_CheckFrontierMap, + gText_CheckTrainerCard, + gText_ViewRecordedBattle, + gText_PutAwayFrontierPass, + gText_CurrentBattlePoints, + gText_CollectedSymbols, + gText_BattleTowerAbilitySymbol, + gText_BattleDomeTacticsSymbol, + gText_BattlePalaceSpiritsSymbol, + gText_BattleArenaGutsSymbol, + gText_BattleFactoryKnowledgeSymbol, + gText_BattlePikeLuckSymbol, + gText_BattlePyramidBraveSymbol, + gText_EmptyString7, }; struct @@ -509,13 +509,13 @@ struct u8 animNum; } static const sMapLandmarks[] = { - {gUnknown_085EDAB1, gUnknown_085EDB0F, 0x59, 0x28, 1}, - {gUnknown_085EDABE, gUnknown_085EDB4E, 0x21, 0x2A, 1}, - {gUnknown_085EDACA, gUnknown_085EDB8B, 0x78, 0x56, 0}, - {gUnknown_085EDAD8, gUnknown_085EDBC2, 0x72, 0x3B, 0}, - {gUnknown_085EDAE5, gUnknown_085EDC00, 0x19, 0x43, 0}, - {gUnknown_085EDAF4, gUnknown_085EDC45, 0x39, 0x39, 1}, - {gUnknown_085EDB00, gUnknown_085EDC84, 0x86, 0x29, 1}, + {gText_BattleTower3, gText_BattleTowerDesc, 0x59, 0x28, 1}, + {gText_BattleDome2, gText_BattleDomeDesc, 0x21, 0x2A, 1}, + {gText_BattlePalace2, gText_BattlePalaceDesc, 0x78, 0x56, 0}, + {gText_BattleArena2, gText_BattleArenaDesc, 0x72, 0x3B, 0}, + {gText_BattleFactory2, gText_BattleFactoryDesc, 0x19, 0x43, 0}, + {gText_BattlePike2, gText_BattlePikeDesc, 0x39, 0x39, 1}, + {gText_BattlePyramid2, gText_BattlePyramidDesc, 0x86, 0x29, 1}, }; // code @@ -1531,7 +1531,7 @@ static void Task_HandleFrontierMap(u8 taskId) static u8 MapNumToFrontierFacilityId(u16 mapNum) // id + 1, zero means not a frontier map number { if ((mapNum >= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_LOBBY) && mapNum <= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM)) - || (mapNum >= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) && mapNum <= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2))) + || (mapNum >= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) && mapNum <= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM))) return FRONTIER_FACILITY_TOWER + 1; else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_DOME_LOBBY) || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR) @@ -1553,12 +1553,12 @@ static u8 MapNumToFrontierFacilityId(u16 mapNum) // id + 1, zero means not a fro else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_LOBBY) || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR) || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3)) + || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL) + || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL) + || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS)) return FRONTIER_FACILITY_PIKE + 1; else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE) + || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_TOP)) return FRONTIER_FACILITY_PYRAMID + 1; else diff --git a/src/frontier_util.c b/src/frontier_util.c index 536e23e307..3efbf57f99 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -24,11 +24,12 @@ #include "data.h" #include "record_mixing.h" #include "strings.h" -#include "alloc.h" +#include "malloc.h" #include "save.h" #include "load_save.h" #include "battle_dome.h" #include "constants/battle_frontier.h" +#include "constants/frontier_util.h" #include "constants/trainers.h" #include "constants/species.h" #include "constants/game_stat.h" @@ -44,33 +45,33 @@ struct FrontierBrainMon u8 fixedIV; u8 nature; u8 evs[NUM_STATS]; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; }; // This file's functions. -static void sub_81A17A0(void); -static void sub_81A1830(void); -static void sub_81A1968(void); -static void sub_81A1AD4(void); +static void GetChallengeStatus(void); +static void GetFrontierData(void); +static void SetFrontierData(void); +static void SetSelectedPartyOrder(void); static void DoSoftReset_(void); -static void sub_81A1B28(void); -static void sub_81A1B38(void); +static void SetFrontierTrainers(void); +static void SaveSelectedParty(void); static void ShowFacilityResultsWindow(void); -static void sub_81A31FC(void); -static void sub_81A35EC(void); -static void sub_81A3B00(void); -static void sub_81A3B64(void); -static void sub_81A3D30(void); -static void sub_81A3D58(void); -static void sub_81A3DA0(void); -static void sub_81A3FD4(void); -static void sub_81A4224(void); -static void sub_81A4230(void); -static void sub_81A43A8(void); -static void sub_81A4410(void); -static void sub_81A443C(void); -static void sub_81A447C(void); -static void sub_81A457C(void); +static void CheckPutFrontierTVShowOnAir(void); +static void Script_GetFrontierBrainStatus(void); +static void IsTrainerFrontierBrain(void); +static void GiveBattlePoints(void); +static void GetFacilitySymbolCount(void); +static void GiveFacilitySymbol(void); +static void CheckBattleTypeFlag(void); +static void CheckPartyIneligibility(void); +static void ValidateVisitingTrainer(void); +static void IncrementWinStreak(void); +static void RestoreHeldItems(void); +static void SaveRecordBattle(void); +static void BufferFrontierTrainerName(void); +static void ResetSketchedMoves(void); +static void SetFacilityBrainEventObject(void); static void ShowTowerResultsWindow(u8); static void ShowDomeResultsWindow(u8); static void ShowPalaceResultsWindow(u8); @@ -82,15 +83,15 @@ static void ShowLinkContestResultsWindow(void); static void CopyFrontierBrainText(bool8 playerWonText); // const rom data -static const u8 gUnknown_08611550[][4] = +static const u8 sFrontierBrainStreakAppearances[NUM_FRONTIER_FACILITIES][4] = { - [FRONTIER_FACILITY_TOWER] = {0x23, 0x46, 0x23, 0x01}, - [FRONTIER_FACILITY_DOME] = {0x04, 0x09, 0x05, 0x00}, - [FRONTIER_FACILITY_PALACE] = {0x15, 0x2a, 0x15, 0x01}, - [FRONTIER_FACILITY_ARENA] = {0x1c, 0x38, 0x1c, 0x01}, - [FRONTIER_FACILITY_FACTORY] = {0x15, 0x2a, 0x15, 0x01}, - [FRONTIER_FACILITY_PIKE] = {0x1c, 0x8c, 0x38, 0x01}, - [FRONTIER_FACILITY_PYRAMID] = {0x15, 0x46, 0x23, 0x00}, + [FRONTIER_FACILITY_TOWER] = {35, 70, 35, 1}, + [FRONTIER_FACILITY_DOME] = { 4, 9, 5, 0}, + [FRONTIER_FACILITY_PALACE] = {21, 42, 21, 1}, + [FRONTIER_FACILITY_ARENA] = {28, 56, 28, 1}, + [FRONTIER_FACILITY_FACTORY] = {21, 42, 21, 1}, + [FRONTIER_FACILITY_PIKE] = {28, 140, 56, 1}, + [FRONTIER_FACILITY_PYRAMID] = {21, 70, 35, 0}, }; static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = @@ -103,7 +104,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_ALAKAZAM, .heldItem = ITEM_BRIGHT_POWDER, .fixedIV = 24, - .nature = 15, + .nature = NATURE_MODEST, .evs = {106, 0, 152, 152, 100, 0}, .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_DISABLE}, }, @@ -111,7 +112,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_ENTEI, .heldItem = ITEM_LUM_BERRY, .fixedIV = 24, - .nature = 1, + .nature = NATURE_LONELY, .evs = {100, 152, 152, 0, 100, 6}, .moves = {MOVE_FIRE_BLAST, MOVE_CALM_MIND, MOVE_RETURN, MOVE_ROAR}, }, @@ -119,7 +120,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_SNORLAX, .heldItem = ITEM_QUICK_CLAW, .fixedIV = 24, - .nature = 3, + .nature = NATURE_ADAMANT, .evs = {152, 152, 0, 0, 106, 100}, .moves = {MOVE_BODY_SLAM, MOVE_BELLY_DRUM, MOVE_YAWN, MOVE_SHADOW_BALL}, }, @@ -130,7 +131,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_RAIKOU, .heldItem = ITEM_LUM_BERRY, .fixedIV = 31, - .nature = 15, + .nature = NATURE_MODEST, .evs = {158, 0, 252, 100, 0, 0}, .moves = {MOVE_THUNDERBOLT, MOVE_CALM_MIND, MOVE_REFLECT, MOVE_REST}, }, @@ -138,7 +139,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_LATIOS, .heldItem = ITEM_BRIGHT_POWDER, .fixedIV = 31, - .nature = 15, + .nature = NATURE_MODEST, .evs = {252, 0, 252, 6, 0, 0}, .moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_RECOVER, MOVE_DRAGON_CLAW}, }, @@ -146,7 +147,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_SNORLAX, .heldItem = ITEM_CHESTO_BERRY, .fixedIV = 31, - .nature = 3, + .nature = NATURE_ADAMANT, .evs = {252, 252, 0, 0, 6, 0}, .moves = {MOVE_CURSE, MOVE_RETURN, MOVE_REST, MOVE_SHADOW_BALL}, }, @@ -160,7 +161,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_SWAMPERT, .heldItem = ITEM_FOCUS_BAND, .fixedIV = 20, - .nature = 2, + .nature = NATURE_BRAVE, .evs = {152, 152, 106, 0, 100, 0}, .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_COUNTER}, }, @@ -168,7 +169,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_SALAMENCE, .heldItem = ITEM_LUM_BERRY, .fixedIV = 20, - .nature = 3, + .nature = NATURE_ADAMANT, .evs = {152, 152, 106, 100, 0, 0}, .moves = {MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_DRAGON_CLAW, MOVE_AERIAL_ACE}, }, @@ -176,7 +177,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_CHARIZARD, .heldItem = ITEM_WHITE_HERB, .fixedIV = 20, - .nature = 17, + .nature = NATURE_QUIET, .evs = {100, 152, 106, 152, 0, 0}, .moves = {MOVE_OVERHEAT, MOVE_ROCK_SLIDE, MOVE_AERIAL_ACE, MOVE_EARTHQUAKE}, }, @@ -187,7 +188,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_SWAMPERT, .heldItem = ITEM_LEFTOVERS, .fixedIV = 31, - .nature = 2, + .nature = NATURE_BRAVE, .evs = {252, 252, 6, 0, 0, 0}, .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_MIRROR_COAT}, }, @@ -195,7 +196,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_METAGROSS, .heldItem = ITEM_QUICK_CLAW, .fixedIV = 31, - .nature = 2, + .nature = NATURE_BRAVE, .evs = {252, 252, 6, 0, 0, 0}, .moves = {MOVE_PSYCHIC, MOVE_METEOR_MASH, MOVE_EARTHQUAKE, MOVE_PROTECT}, }, @@ -203,7 +204,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_LATIAS, .heldItem = ITEM_CHESTO_BERRY, .fixedIV = 31, - .nature = 15, + .nature = NATURE_MODEST, .evs = {252, 0, 252, 6, 0, 0}, .moves = {MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_REST}, }, @@ -217,7 +218,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_CROBAT, .heldItem = ITEM_BRIGHT_POWDER, .fixedIV = 16, - .nature = 3, + .nature = NATURE_ADAMANT, .evs = {152, 0, 0, 152, 100, 106}, .moves = {MOVE_CONFUSE_RAY, MOVE_DOUBLE_TEAM, MOVE_TOXIC, MOVE_FLY}, }, @@ -225,7 +226,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_SLAKING, .heldItem = ITEM_SCOPE_LENS, .fixedIV = 16, - .nature = 0, + .nature = NATURE_HARDY, .evs = {152, 152, 0, 106, 100, 0}, .moves = {MOVE_EARTHQUAKE, MOVE_SWAGGER, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK}, }, @@ -233,7 +234,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_LAPRAS, .heldItem = ITEM_QUICK_CLAW, .fixedIV = 16, - .nature = 17, + .nature = NATURE_QUIET, .evs = {0, 0, 252, 0, 106, 152}, .moves = {MOVE_ICE_BEAM, MOVE_HORN_DRILL, MOVE_CONFUSE_RAY, MOVE_PROTECT}, }, @@ -244,7 +245,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_ARCANINE, .heldItem = ITEM_WHITE_HERB, .fixedIV = 31, - .nature = 11, + .nature = NATURE_HASTY, .evs = {6, 252, 252, 0, 0, 0}, .moves = {MOVE_OVERHEAT, MOVE_EXTREME_SPEED, MOVE_ROAR, MOVE_PROTECT}, }, @@ -252,7 +253,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_SLAKING, .heldItem = ITEM_SCOPE_LENS, .fixedIV = 31, - .nature = 0, + .nature = NATURE_HARDY, .evs = {6, 252, 0, 252, 0, 0}, .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_YAWN}, }, @@ -260,7 +261,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_SUICUNE, .heldItem = ITEM_KINGS_ROCK, .fixedIV = 31, - .nature = 11, + .nature = NATURE_HASTY, .evs = {252, 0, 252, 6, 0, 0}, .moves = {MOVE_BLIZZARD, MOVE_SURF, MOVE_BITE, MOVE_CALM_MIND}, }, @@ -274,7 +275,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_HERACROSS, .heldItem = ITEM_SALAC_BERRY, .fixedIV = 20, - .nature = 13, + .nature = NATURE_JOLLY, .evs = {106, 152, 0, 152, 0, 100}, .moves = {MOVE_MEGAHORN, MOVE_ROCK_TOMB, MOVE_ENDURE, MOVE_REVERSAL}, }, @@ -282,7 +283,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_UMBREON, .heldItem = ITEM_LEFTOVERS, .fixedIV = 20, - .nature = 20, + .nature = NATURE_CALM, .evs = {152, 0, 100, 0, 152, 106}, .moves = {MOVE_BODY_SLAM, MOVE_CONFUSE_RAY, MOVE_PSYCHIC, MOVE_FAINT_ATTACK}, }, @@ -290,7 +291,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_SHEDINJA, .heldItem = ITEM_BRIGHT_POWDER, .fixedIV = 20, - .nature = 3, + .nature = NATURE_ADAMANT, .evs = {0, 252, 6, 252, 0, 0}, .moves = {MOVE_SHADOW_BALL, MOVE_RETURN, MOVE_CONFUSE_RAY, MOVE_AERIAL_ACE}, }, @@ -301,7 +302,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_UMBREON, .heldItem = ITEM_CHESTO_BERRY, .fixedIV = 31, - .nature = 20, + .nature = NATURE_CALM, .evs = {252, 0, 0, 0, 252, 6}, .moves = {MOVE_DOUBLE_EDGE, MOVE_CONFUSE_RAY, MOVE_REST, MOVE_PSYCHIC}, }, @@ -309,7 +310,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_GENGAR, .heldItem = ITEM_LEFTOVERS, .fixedIV = 31, - .nature = 15, + .nature = NATURE_MODEST, .evs = {252, 0, 252, 0, 6, 0}, .moves = {MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_DESTINY_BOND}, }, @@ -317,7 +318,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_BRELOOM, .heldItem = ITEM_LUM_BERRY, .fixedIV = 31, - .nature = 13, + .nature = NATURE_JOLLY, .evs = {6, 252, 0, 252, 0, 0}, .moves = {MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_HEADBUTT}, }, @@ -332,7 +333,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_METANG, .heldItem = ITEM_SITRUS_BERRY, .fixedIV = 31, - .nature = 2, + .nature = NATURE_BRAVE, .evs = {0, 252, 252, 0, 6, 0}, .moves = {MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_METAL_CLAW}, }, @@ -340,7 +341,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_SKARMORY, .heldItem = ITEM_SITRUS_BERRY, .fixedIV = 31, - .nature = 8, + .nature = NATURE_IMPISH, .evs = {252, 0, 0, 0, 6, 252}, .moves = {MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_PROTECT, MOVE_STEEL_WING}, }, @@ -348,7 +349,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_AGGRON, .heldItem = ITEM_SITRUS_BERRY, .fixedIV = 31, - .nature = 3, + .nature = NATURE_ADAMANT, .evs = {0, 252, 0, 0, 252, 6}, .moves = {MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW}, }, @@ -358,7 +359,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_METANG, .heldItem = ITEM_SITRUS_BERRY, .fixedIV = 31, - .nature = 2, + .nature = NATURE_BRAVE, .evs = {0, 252, 252, 0, 6, 0}, .moves = {MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_METAL_CLAW}, }, @@ -366,7 +367,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_SKARMORY, .heldItem = ITEM_SITRUS_BERRY, .fixedIV = 31, - .nature = 8, + .nature = NATURE_IMPISH, .evs = {252, 0, 0, 0, 6, 252}, .moves = {MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_PROTECT, MOVE_STEEL_WING}, }, @@ -374,7 +375,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_AGGRON, .heldItem = ITEM_SITRUS_BERRY, .fixedIV = 31, - .nature = 3, + .nature = NATURE_ADAMANT, .evs = {0, 252, 0, 0, 252, 6}, .moves = {MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW}, }, @@ -388,7 +389,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_SEVIPER, .heldItem = ITEM_QUICK_CLAW, .fixedIV = 16, - .nature = 2, + .nature = NATURE_BRAVE, .evs = {252, 0, 252, 0, 6, 0}, .moves = {MOVE_SWAGGER, MOVE_CRUNCH, MOVE_POISON_FANG, MOVE_GIGA_DRAIN}, }, @@ -396,7 +397,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_SHUCKLE, .heldItem = ITEM_CHESTO_BERRY, .fixedIV = 16, - .nature = 5, + .nature = NATURE_BOLD, .evs = {252, 0, 0, 0, 106, 252}, .moves = {MOVE_TOXIC, MOVE_SANDSTORM, MOVE_PROTECT, MOVE_REST}, }, @@ -404,7 +405,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_MILOTIC, .heldItem = ITEM_LEFTOVERS, .fixedIV = 16, - .nature = 15, + .nature = NATURE_MODEST, .evs = {152, 0, 100, 0, 152, 106}, .moves = {MOVE_ICE_BEAM, MOVE_MIRROR_COAT, MOVE_SURF, MOVE_RECOVER}, }, @@ -415,7 +416,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_SEVIPER, .heldItem = ITEM_FOCUS_BAND, .fixedIV = 31, - .nature = 5, + .nature = NATURE_BOLD, .evs = {252, 0, 0, 0, 252, 6}, .moves = {MOVE_SWAGGER, MOVE_CRUNCH, MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN}, }, @@ -423,7 +424,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_STEELIX, .heldItem = ITEM_BRIGHT_POWDER, .fixedIV = 31, - .nature = 2, + .nature = NATURE_BRAVE, .evs = {252, 0, 0, 0, 6, 252}, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_EXPLOSION, MOVE_SCREECH}, }, @@ -431,7 +432,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_GYARADOS, .heldItem = ITEM_CHESTO_BERRY, .fixedIV = 31, - .nature = 3, + .nature = NATURE_ADAMANT, .evs = {252, 6, 0, 0, 0, 252}, .moves = {MOVE_DRAGON_DANCE, MOVE_RETURN, MOVE_ROAR, MOVE_REST}, }, @@ -445,7 +446,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_REGIROCK, .heldItem = ITEM_QUICK_CLAW, .fixedIV = 16, - .nature = 3, + .nature = NATURE_ADAMANT, .evs = {152, 152, 0, 0, 106, 100}, .moves = {MOVE_EXPLOSION, MOVE_SUPERPOWER, MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER}, }, @@ -453,7 +454,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_REGISTEEL, .heldItem = ITEM_LEFTOVERS, .fixedIV = 16, - .nature = 3, + .nature = NATURE_ADAMANT, .evs = {152, 152, 0, 0, 6, 200}, .moves = {MOVE_EARTHQUAKE, MOVE_METAL_CLAW, MOVE_TOXIC, MOVE_IRON_DEFENSE}, }, @@ -461,7 +462,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_REGICE, .heldItem = ITEM_CHESTO_BERRY, .fixedIV = 16, - .nature = 15, + .nature = NATURE_MODEST, .evs = {106, 0, 152, 0, 100, 152}, .moves = {MOVE_ICE_BEAM, MOVE_AMNESIA, MOVE_THUNDER, MOVE_REST}, }, @@ -472,7 +473,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_ARTICUNO, .heldItem = ITEM_SCOPE_LENS, .fixedIV = 31, - .nature = 16, + .nature = NATURE_MILD, .evs = {6, 0, 252, 252, 0, 0}, .moves = {MOVE_BLIZZARD, MOVE_WATER_PULSE, MOVE_AERIAL_ACE, MOVE_REFLECT}, }, @@ -480,7 +481,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_ZAPDOS, .heldItem = ITEM_LUM_BERRY, .fixedIV = 31, - .nature = 16, + .nature = NATURE_MILD, .evs = {6, 0, 252, 252, 0, 0}, .moves = {MOVE_THUNDER, MOVE_DETECT, MOVE_DRILL_PECK, MOVE_LIGHT_SCREEN}, }, @@ -488,7 +489,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = .species = SPECIES_MOLTRES, .heldItem = ITEM_BRIGHT_POWDER, .fixedIV = 31, - .nature = 16, + .nature = NATURE_MILD, .evs = {6, 0, 252, 252, 0, 0}, .moves = {MOVE_FIRE_BLAST, MOVE_HYPER_BEAM, MOVE_AERIAL_ACE, MOVE_SAFEGUARD}, }, @@ -496,7 +497,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] = }, }; -static const u8 gUnknown_086118B4[][7][4] = +static const u8 sBattlePointAwards[][NUM_FRONTIER_FACILITIES][FRONTIER_MODE_COUNT] = { { {1, 2, 3, 3}, {1, 1, 0, 0}, {4, 5, 0, 0}, {1, 0, 0, 0}, {3, 4, 0, 0}, {1, 0, 0, 0}, {5, 0, 0, 0} @@ -590,7 +591,9 @@ static const u8 gUnknown_086118B4[][7][4] = }, }; -static const u16 gUnknown_08611BFC[][2] = +// Flags to change the conversation when the Frontier Brain is encountered for a battle +// First bit is has battled them before and not won yet, second bit is has battled them and won (obtained a Symbol) +static const u16 sBattledBrainBitFlags[NUM_FRONTIER_FACILITIES][2] = { [FRONTIER_FACILITY_TOWER] = {0x0001, 0x0002}, [FRONTIER_FACILITY_DOME] = {0x0004, 0x0008}, @@ -603,32 +606,32 @@ static const u16 gUnknown_08611BFC[][2] = static void (* const sFrontierUtilFuncs[])(void) = { - sub_81A17A0, - sub_81A1830, - sub_81A1968, - sub_81A1AD4, - DoSoftReset_, - sub_81A1B28, - sub_81A1B38, - ShowFacilityResultsWindow, - sub_81A31FC, - sub_81A35EC, - sub_81A3B00, - sub_81A3B64, - sub_81A3D30, - sub_81A3D58, - sub_81A3DA0, - sub_81A3FD4, - sub_81A4224, - sub_81A4230, - sub_81A43A8, - sub_81A4410, - sub_81A443C, - sub_81A447C, - sub_81A457C, + [FRONTIER_UTIL_FUNC_GET_STATUS] = GetChallengeStatus, + [FRONTIER_UTIL_FUNC_GET_DATA] = GetFrontierData, + [FRONTIER_UTIL_FUNC_SET_DATA] = SetFrontierData, + [FRONTIER_UTIL_FUNC_SET_PARTY_ORDER] = SetSelectedPartyOrder, + [FRONTIER_UTIL_FUNC_SOFT_RESET] = DoSoftReset_, + [FRONTIER_UTIL_FUNC_SET_TRAINERS] = SetFrontierTrainers, + [FRONTIER_UTIL_FUNC_SAVE_PARTY] = SaveSelectedParty, + [FRONTIER_UTIL_FUNC_RESULTS_WINDOW] = ShowFacilityResultsWindow, + [FRONTIER_UTIL_FUNC_CHECK_AIR_TV_SHOW] = CheckPutFrontierTVShowOnAir, + [FRONTIER_UTIL_FUNC_GET_BRAIN_STATUS] = Script_GetFrontierBrainStatus, + [FRONTIER_UTIL_FUNC_IS_BRAIN] = IsTrainerFrontierBrain, + [FRONTIER_UTIL_FUNC_GIVE_BATTLE_POINTS] = GiveBattlePoints, + [FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS] = GetFacilitySymbolCount, + [FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL] = GiveFacilitySymbol, + [FRONTIER_UTIL_FUNC_CHECK_BATTLE_TYPE] = CheckBattleTypeFlag, + [FRONTIER_UTIL_FUNC_CHECK_INELIGIBLE] = CheckPartyIneligibility, + [FRONTIER_UTIL_FUNC_CHECK_VISIT_TRAINER] = ValidateVisitingTrainer, + [FRONTIER_UTIL_FUNC_INCREMENT_STREAK] = IncrementWinStreak, + [FRONTIER_UTIL_FUNC_RESTORE_HELD_ITEMS] = RestoreHeldItems, + [FRONTIER_UTIL_FUNC_SAVE_BATTLE] = SaveRecordBattle, + [FRONTIER_UTIL_FUNC_BUFFER_TRAINER_NAME] = BufferFrontierTrainerName, + [FRONTIER_UTIL_FUNC_RESET_SKETCH_MOVES] = ResetSketchedMoves, + [FRONTIER_UTIL_FUNC_SET_BRAIN_OBJECT] = SetFacilityBrainEventObject, }; -static const struct WindowTemplate gUnknown_08611C74 = +static const struct WindowTemplate sFrontierResultsWindowTemplate = { .bg = 0, .tilemapLeft = 1, @@ -639,7 +642,7 @@ static const struct WindowTemplate gUnknown_08611C74 = .baseBlock = 1 }; -static const struct WindowTemplate gUnknown_08611C7C = +static const struct WindowTemplate sLinkContestResultsWindowTemplate = { .bg = 0, .tilemapLeft = 2, @@ -650,7 +653,7 @@ static const struct WindowTemplate gUnknown_08611C7C = .baseBlock = 1 }; -static const struct WindowTemplate gUnknown_08611C84 = +static const struct WindowTemplate sRankingHallRecordsWindowTemplate = { .bg = 0, .tilemapLeft = 2, @@ -662,7 +665,7 @@ static const struct WindowTemplate gUnknown_08611C84 = }; // Second field - whether the character is female. -static const u8 sFacilityToBrainEventObjGfx[][2] = +static const u8 sFrontierBrainObjEventGfx[NUM_FRONTIER_FACILITIES][2] = { [FRONTIER_FACILITY_TOWER] = {EVENT_OBJ_GFX_ANABEL, TRUE}, [FRONTIER_FACILITY_DOME] = {EVENT_OBJ_GFX_TUCKER, FALSE}, @@ -679,41 +682,41 @@ const u16 gFrontierBannedSpecies[] = SPECIES_KYOGRE, SPECIES_GROUDON, SPECIES_RAYQUAZA, SPECIES_JIRACHI, SPECIES_DEOXYS, 0xFFFF }; -static const u8 *const gUnknown_08611CB0[][2] = +static const u8 *const sRecordsWindowChallengeTexts[][2] = { - {gText_BattleTower2, gUnknown_085ED164}, - {gText_BattleTower2, gUnknown_085ED170}, - {gText_BattleTower2, gUnknown_085ED17C}, - {gText_BattleDome, gUnknown_085ED164}, - {gText_BattlePalace, gUnknown_085ED164}, - {gText_BattleArena, gUnknown_085ED190}, - {gText_BattleFactory, gUnknown_085ED164}, - {gText_BattlePike, gUnknown_085ED190}, - {gText_BattlePyramid, gUnknown_085ED190}, - {gText_BattleTower2, gUnknown_085ED188}, + [RANKING_HALL_BATTLE_TOWER_SINGLES] = {gText_BattleTower2, gText_FacilitySingle}, + [RANKING_HALL_BATTLE_TOWER_DOUBLES] = {gText_BattleTower2, gText_FacilityDouble}, + [RANKING_HALL_BATTLE_TOWER_MULTIS] = {gText_BattleTower2, gText_FacilityMulti}, + [RANKING_HALL_BATTLE_DOME] = {gText_BattleDome, gText_FacilitySingle}, + [RANKING_HALL_BATTLE_PALACE] = {gText_BattlePalace, gText_FacilitySingle}, + [RANKING_HALL_BATTLE_ARENA] = {gText_BattleArena, gText_Facility}, + [RANKING_HALL_BATTLE_FACTORY] = {gText_BattleFactory, gText_FacilitySingle}, + [RANKING_HALL_BATTLE_PIKE] = {gText_BattlePike, gText_Facility}, + [RANKING_HALL_BATTLE_PYRAMID] = {gText_BattlePyramid, gText_Facility}, + [RANKING_HALL_BATTLE_TOWER_LINK] = {gText_BattleTower2, gText_FacilityLink}, }; -static const u8 *const gLevelModeText[] = +static const u8 *const sLevelModeText[] = { gText_RecordsLv50, gText_RecordsOpenLevel, }; -static const u8 *const gHallFacilityToRecordsText[] = +static const u8 *const sHallFacilityToRecordsText[] = { - gText_FrontierFacilityWinStreak, - gText_FrontierFacilityWinStreak, - gText_FrontierFacilityWinStreak, - gText_FrontierFacilityClearStreak, - gText_FrontierFacilityWinStreak, - gText_FrontierFacilityKOsStreak, - gText_FrontierFacilityWinStreak, - gText_FrontierFacilityRoomsCleared, - gText_FrontierFacilityFloorsCleared, - gText_FrontierFacilityWinStreak, + [RANKING_HALL_BATTLE_TOWER_SINGLES] = gText_FrontierFacilityWinStreak, + [RANKING_HALL_BATTLE_TOWER_DOUBLES] = gText_FrontierFacilityWinStreak, + [RANKING_HALL_BATTLE_TOWER_MULTIS] = gText_FrontierFacilityWinStreak, + [RANKING_HALL_BATTLE_DOME] = gText_FrontierFacilityClearStreak, + [RANKING_HALL_BATTLE_PALACE] = gText_FrontierFacilityWinStreak, + [RANKING_HALL_BATTLE_ARENA] = gText_FrontierFacilityKOsStreak, + [RANKING_HALL_BATTLE_FACTORY] = gText_FrontierFacilityWinStreak, + [RANKING_HALL_BATTLE_PIKE] = gText_FrontierFacilityRoomsCleared, + [RANKING_HALL_BATTLE_PYRAMID] = gText_FrontierFacilityFloorsCleared, + [RANKING_HALL_BATTLE_TOWER_LINK] = gText_FrontierFacilityWinStreak, }; -static const u16 gFacilityToBrainTrainerId[] = +static const u16 sFrontierBrainTrainerIds[NUM_FRONTIER_FACILITIES] = { [FRONTIER_FACILITY_TOWER] = TRAINER_ANABEL, [FRONTIER_FACILITY_DOME] = TRAINER_TUCKER, @@ -724,60 +727,60 @@ static const u16 gFacilityToBrainTrainerId[] = [FRONTIER_FACILITY_PYRAMID] = TRAINER_BRANDON, }; -static const u8 *const gUnknown_08611D40[] = +static const u8 *const sFrontierBrainPlayerLostSilverTexts[NUM_FRONTIER_FACILITIES] = { - gText_082C843F, - gText_082C848B, - gText_082C8628, - gText_082C85B4, - gText_082C8512, - gText_082C859D, - gText_082C86C3, + [FRONTIER_FACILITY_TOWER] = gText_AnabelWonSilver, + [FRONTIER_FACILITY_DOME] = gText_TuckerWonSilver, + [FRONTIER_FACILITY_PALACE] = gText_SpenserWonSilver, + [FRONTIER_FACILITY_ARENA] = gText_GretaWonSilver, + [FRONTIER_FACILITY_FACTORY] = gText_NolandWonSilver, + [FRONTIER_FACILITY_PIKE] = gText_LucyWonSilver, + [FRONTIER_FACILITY_PYRAMID] = gText_BrandonWonSilver, }; -static const u8 *const gUnknown_08611D5C[] = +static const u8 *const sFrontierBrainPlayerWonSilverTexts[NUM_FRONTIER_FACILITIES] = { - gText_082C8458, - gText_082C84C1, - gText_082C8662, - gText_082C85E3, - gText_082C853B, - gText_082C85A4, - gText_082C86FE, + [FRONTIER_FACILITY_TOWER] = gText_AnabelDefeatSilver, + [FRONTIER_FACILITY_DOME] = gText_TuckerDefeatSilver, + [FRONTIER_FACILITY_PALACE] = gText_SpenserDefeatSilver, + [FRONTIER_FACILITY_ARENA] = gText_GretaDefeatSilver, + [FRONTIER_FACILITY_FACTORY] = gText_NolandDefeatSilver, + [FRONTIER_FACILITY_PIKE] = gText_LucyDefeatSilver, + [FRONTIER_FACILITY_PYRAMID] = gText_BrandonDefeatSilver, }; -static const u8 *const gUnknown_08611D78[] = +static const u8 *const sFrontierBrainPlayerLostGoldTexts[NUM_FRONTIER_FACILITIES] = { - gText_082C846C, - gText_082C84D0, - gText_082C8682, - gText_082C85F5, - gText_082C8561, - gText_082C85A9, - gText_082C8739, + [FRONTIER_FACILITY_TOWER] = gText_AnabelWonGold, + [FRONTIER_FACILITY_DOME] = gText_TuckerWonGold, + [FRONTIER_FACILITY_PALACE] = gText_SpenserWonGold, + [FRONTIER_FACILITY_ARENA] = gText_GretaWonGold, + [FRONTIER_FACILITY_FACTORY] = gText_NolandWonGold, + [FRONTIER_FACILITY_PIKE] = gText_LucyWonGold, + [FRONTIER_FACILITY_PYRAMID] = gText_BrandonWonGold, }; -static const u8 *const gUnknown_08611D94[] = +static const u8 *const sFrontierBrainPlayerWonGoldTexts[NUM_FRONTIER_FACILITIES] = { - gText_082C8480, - gText_082C84F7, - gText_082C86B3, - gText_082C8611, - gText_082C8589, - gText_082C85AE, - gText_082C877B, + [FRONTIER_FACILITY_TOWER] = gText_AnabelDefeatGold, + [FRONTIER_FACILITY_DOME] = gText_TuckerDefeatGold, + [FRONTIER_FACILITY_PALACE] = gText_SpenserDefeatGold, + [FRONTIER_FACILITY_ARENA] = gText_GretaDefeatGold, + [FRONTIER_FACILITY_FACTORY] = gText_NolandDefeatGold, + [FRONTIER_FACILITY_PIKE] = gText_LucyDefeatGold, + [FRONTIER_FACILITY_PYRAMID] = gText_BrandonDefeatGold, }; -static const u8 *const *const gUnknown_08611DB0[] = +static const u8 *const *const sFrontierBrainPlayerLostTexts[] = { - gUnknown_08611D40, - gUnknown_08611D78, + sFrontierBrainPlayerLostSilverTexts, + sFrontierBrainPlayerLostGoldTexts, }; -static const u8 *const *const gUnknown_08611DB8[] = +static const u8 *const *const sFrontierBrainPlayerWonTexts[] = { - gUnknown_08611D5C, - gUnknown_08611D94, + sFrontierBrainPlayerWonSilverTexts, + sFrontierBrainPlayerWonGoldTexts, }; // code @@ -786,105 +789,106 @@ void CallFrontierUtilFunc(void) sFrontierUtilFuncs[gSpecialVar_0x8004](); } -static void sub_81A17A0(void) +// Buffers into VAR_TEMP_0 specifically because this is used to react to the status in OnFrame map scripts +static void GetChallengeStatus(void) { VarSet(VAR_TEMP_0, 0xFF); - switch (gSaveBlock2Ptr->frontier.field_CA8) + switch (gSaveBlock2Ptr->frontier.challengeStatus) { case 0: break; - case 1: - sub_813A878(0); - VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8); + case CHALLENGE_STATUS_SAVING: + FrontierGamblerSetWonOrLost(FALSE); + VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeStatus); break; - case 4: - sub_813A878(0); - VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8); + case CHALLENGE_STATUS_LOST: + FrontierGamblerSetWonOrLost(FALSE); + VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeStatus); break; - case 3: - sub_813A878(1); - VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8); + case CHALLENGE_STATUS_WON: + FrontierGamblerSetWonOrLost(TRUE); + VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeStatus); break; - case 2: - VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8); + case CHALLENGE_STATUS_PAUSED: + VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeStatus); break; } } -static void sub_81A1830(void) +static void GetFrontierData(void) { u8 facility = VarGet(VAR_FRONTIER_FACILITY); - u8 currSymbol = GetPlayerSymbolCountForFacility(facility); - if (currSymbol == 2) - currSymbol = 1; + u8 hasSymbol = GetPlayerSymbolCountForFacility(facility); + if (hasSymbol == 2) + hasSymbol = 1; switch (gSpecialVar_0x8005) { - case 0: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CA8; + case FRONTIER_DATA_CHALLENGE_STATUS: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.challengeStatus; break; - case 1: + case FRONTIER_DATA_LVL_MODE: gSpecialVar_Result = gSaveBlock2Ptr->frontier.lvlMode; break; - case 2: + case FRONTIER_DATA_BATTLE_NUM: gSpecialVar_Result = gSaveBlock2Ptr->frontier.curChallengeBattleNum; break; - case 3: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CA9_a; + case FRONTIER_DATA_PAUSED: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.challengePaused; break; - case 5: + case FRONTIER_DATA_BATTLE_OUTCOME: gSpecialVar_Result = gBattleOutcome; gBattleOutcome = 0; break; - case 6: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CA9_b; + case FRONTIER_DATA_RECORD_DISABLED: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.disableRecordBattle; break; - case 7: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D00 & gUnknown_08611BFC[facility][currSymbol]; + case FRONTIER_DATA_HEARD_BRAIN_SPEECH: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.battledBrainFlags & sBattledBrainBitFlags[facility][hasSymbol]; break; } } -static void sub_81A1968(void) +static void SetFrontierData(void) { s32 i; u8 facility = VarGet(VAR_FRONTIER_FACILITY); - u8 currSymbol = GetPlayerSymbolCountForFacility(facility); - if (currSymbol == 2) - currSymbol = 1; + u8 hasSymbol = GetPlayerSymbolCountForFacility(facility); + if (hasSymbol == 2) + hasSymbol = 1; switch (gSpecialVar_0x8005) { - case 0: - gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8006; + case FRONTIER_DATA_CHALLENGE_STATUS: + gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8006; break; - case 1: + case FRONTIER_DATA_LVL_MODE: gSaveBlock2Ptr->frontier.lvlMode = gSpecialVar_0x8006; break; - case 2: + case FRONTIER_DATA_BATTLE_NUM: gSaveBlock2Ptr->frontier.curChallengeBattleNum = gSpecialVar_0x8006; break; - case 3: - gSaveBlock2Ptr->frontier.field_CA9_a = gSpecialVar_0x8006; + case FRONTIER_DATA_PAUSED: + gSaveBlock2Ptr->frontier.challengePaused = gSpecialVar_0x8006; break; - case 4: - for (i = 0; i < 4; i++) + case FRONTIER_DATA_SELECTED_MON_ORDER: + for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++) gSaveBlock2Ptr->frontier.selectedPartyMons[i] = gSelectedOrderFromParty[i]; break; - case 6: - gSaveBlock2Ptr->frontier.field_CA9_b = gSpecialVar_0x8006; + case FRONTIER_DATA_RECORD_DISABLED: + gSaveBlock2Ptr->frontier.disableRecordBattle = gSpecialVar_0x8006; break; - case 7: - gSaveBlock2Ptr->frontier.field_D00 |= gUnknown_08611BFC[facility][currSymbol]; + case FRONTIER_DATA_HEARD_BRAIN_SPEECH: + gSaveBlock2Ptr->frontier.battledBrainFlags |= sBattledBrainBitFlags[facility][hasSymbol]; break; } } -static void sub_81A1AD4(void) +static void SetSelectedPartyOrder(void) { s32 i; - sub_81B8558(); + ClearSelectedPartyOrder(); for (i = 0; i < gSpecialVar_0x8005; i++) gSelectedOrderFromParty[i] = gSaveBlock2Ptr->frontier.selectedPartyMons[i]; ReducePlayerPartyToSelectedMons(); @@ -895,16 +899,16 @@ static void DoSoftReset_(void) DoSoftReset(); } -static void sub_81A1B28(void) +static void SetFrontierTrainers(void) { gFacilityTrainers = gBattleFrontierTrainers; } -static void sub_81A1B38(void) +static void SaveSelectedParty(void) { u8 i; - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++) { u16 monId = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1; if (monId < PARTY_SIZE) @@ -914,7 +918,7 @@ static void sub_81A1B38(void) static void ShowFacilityResultsWindow(void) { - if (gSpecialVar_0x8006 > 3) + if (gSpecialVar_0x8006 >= FRONTIER_MODE_COUNT) gSpecialVar_0x8006 = 0; switch (gSpecialVar_0x8005) { @@ -939,15 +943,15 @@ static void ShowFacilityResultsWindow(void) case FRONTIER_FACILITY_PYRAMID: ShowPyramidResultsWindow(); break; - case RESULTS_LINK_CONTEST: + case FACILITY_LINK_CONTEST: ShowLinkContestResultsWindow(); break; } } -static bool8 sub_81A1C24(u32 flags) +static bool8 IsWinStreakActive(u32 challenge) { - if (gSaveBlock2Ptr->frontier.field_CDC & flags) + if (gSaveBlock2Ptr->frontier.winStreakActiveFlags & challenge) return TRUE; else return FALSE; @@ -977,8 +981,8 @@ static void PrintHyphens(s32 y) static void TowerPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y) { AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL); - if (num > 9999) - num = 9999; + if (num > MAX_STREAK) + num = MAX_STREAK; ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4); StringExpandPlaceholders(gStringVar4, gText_WinStreak); AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL); @@ -993,8 +997,8 @@ static void TowerPrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 y static u16 TowerGetWinStreak(u8 battleMode, u8 lvlMode) { u16 winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]; - if (winStreak > 9999) - return 9999; + if (winStreak > MAX_STREAK) + return MAX_STREAK; else return winStreak; } @@ -1008,27 +1012,27 @@ static void TowerPrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x default: case FRONTIER_MODE_SINGLES: if (lvlMode != FRONTIER_LVL_50) - isCurrent = sub_81A1C24(2); + isCurrent = IsWinStreakActive(STREAK_TOWER_SINGLES_OPEN); else - isCurrent = sub_81A1C24(1); + isCurrent = IsWinStreakActive(STREAK_TOWER_SINGLES_50); break; case FRONTIER_MODE_DOUBLES: if (lvlMode != FRONTIER_LVL_50) - isCurrent = sub_81A1C24(0x8000); + isCurrent = IsWinStreakActive(STREAK_TOWER_DOUBLES_OPEN); else - isCurrent = sub_81A1C24(0x4000); + isCurrent = IsWinStreakActive(STREAK_TOWER_DOUBLES_50); break; case FRONTIER_MODE_MULTIS: if (lvlMode != FRONTIER_LVL_50) - isCurrent = sub_81A1C24(0x20000); + isCurrent = IsWinStreakActive(STREAK_TOWER_MULTIS_OPEN); else - isCurrent = sub_81A1C24(0x10000); + isCurrent = IsWinStreakActive(STREAK_TOWER_MULTIS_50); break; case FRONTIER_MODE_LINK_MULTIS: if (lvlMode != FRONTIER_LVL_50) - isCurrent = sub_81A1C24(0x80000); + isCurrent = IsWinStreakActive(STREAK_TOWER_LINK_MULTIS_OPEN); else - isCurrent = sub_81A1C24(0x40000); + isCurrent = IsWinStreakActive(STREAK_TOWER_LINK_MULTIS_50); break; } @@ -1040,7 +1044,7 @@ static void TowerPrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x static void ShowTowerResultsWindow(u8 battleMode) { - gRecordsWindowId = AddWindow(&gUnknown_08611C74); + gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate); DrawStdWindowFrame(gRecordsWindowId, FALSE); FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1)); if (battleMode == FRONTIER_MODE_SINGLES) @@ -1068,8 +1072,8 @@ static void ShowTowerResultsWindow(u8 battleMode) static u16 DomeGetWinStreak(u8 battleMode, u8 lvlMode) { u16 winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode]; - if (winStreak > 9999) - return 9999; + if (winStreak > MAX_STREAK) + return MAX_STREAK; else return winStreak; } @@ -1091,15 +1095,15 @@ static void DomePrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2 default: case FRONTIER_MODE_SINGLES: if (lvlMode != FRONTIER_LVL_50) - isCurrent = sub_81A1C24(8); + isCurrent = IsWinStreakActive(STREAK_DOME_SINGLES_OPEN); else - isCurrent = sub_81A1C24(4); + isCurrent = IsWinStreakActive(STREAK_DOME_SINGLES_50); break; case FRONTIER_MODE_DOUBLES: if (lvlMode != FRONTIER_LVL_50) - isCurrent = sub_81A1C24(0x200000); + isCurrent = IsWinStreakActive(STREAK_DOME_DOUBLES_OPEN); else - isCurrent = sub_81A1C24(0x100000); + isCurrent = IsWinStreakActive(STREAK_DOME_DOUBLES_50); break; } @@ -1111,7 +1115,7 @@ static void DomePrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2 static void ShowDomeResultsWindow(u8 battleMode) { - gRecordsWindowId = AddWindow(&gUnknown_08611C74); + gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate); DrawStdWindowFrame(gRecordsWindowId, FALSE); FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1)); if (battleMode == FRONTIER_MODE_SINGLES) @@ -1137,8 +1141,8 @@ static void ShowDomeResultsWindow(u8 battleMode) static void PalacePrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y) { AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL); - if (num > 9999) - num = 9999; + if (num > MAX_STREAK) + num = MAX_STREAK; ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4); StringExpandPlaceholders(gStringVar4, gText_WinStreak); AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL); @@ -1153,8 +1157,8 @@ static void PalacePrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 static u16 PalaceGetWinStreak(u8 battleMode, u8 lvlMode) { u16 winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode]; - if (winStreak > 9999) - return 9999; + if (winStreak > MAX_STREAK) + return MAX_STREAK; else return winStreak; } @@ -1168,15 +1172,15 @@ static void PalacePrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 default: case FRONTIER_MODE_SINGLES: if (lvlMode != FRONTIER_LVL_50) - isCurrent = sub_81A1C24(0x20); + isCurrent = IsWinStreakActive(STREAK_PALACE_SINGLES_OPEN); else - isCurrent = sub_81A1C24(0x10); + isCurrent = IsWinStreakActive(STREAK_PALACE_SINGLES_50); break; case FRONTIER_MODE_DOUBLES: if (lvlMode != FRONTIER_LVL_50) - isCurrent = sub_81A1C24(0x800000); + isCurrent = IsWinStreakActive(STREAK_PALACE_DOUBLES_OPEN); else - isCurrent = sub_81A1C24(0x400000); + isCurrent = IsWinStreakActive(STREAK_PALACE_DOUBLES_50); } if (isCurrent == TRUE) @@ -1187,7 +1191,7 @@ static void PalacePrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 static void ShowPalaceResultsWindow(u8 battleMode) { - gRecordsWindowId = AddWindow(&gUnknown_08611C74); + gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate); DrawStdWindowFrame(gRecordsWindowId, FALSE); FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1)); if (battleMode == FRONTIER_MODE_SINGLES) @@ -1211,8 +1215,8 @@ static void ShowPalaceResultsWindow(u8 battleMode) static u16 PikeGetWinStreak(u8 lvlMode) { u16 winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode]; - if (winStreak > 9999) - return 9999; + if (winStreak > MAX_STREAK) + return MAX_STREAK; else return winStreak; } @@ -1231,9 +1235,9 @@ static void PikePrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y) u16 winStreak = PikeGetWinStreak(lvlMode); if (lvlMode != FRONTIER_LVL_50) - isCurrent = sub_81A1C24(0x800); + isCurrent = IsWinStreakActive(STREAK_PIKE_OPEN); else - isCurrent = sub_81A1C24(0x400); + isCurrent = IsWinStreakActive(STREAK_PIKE_50); if (isCurrent == TRUE) PrintTwoStrings(gText_Current, gText_RoomsCleared, winStreak, x1, x2, y); @@ -1243,7 +1247,7 @@ static void PikePrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y) static void ShowPikeResultsWindow(void) { - gRecordsWindowId = AddWindow(&gUnknown_08611C74); + gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate); DrawStdWindowFrame(gRecordsWindowId, FALSE); FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1)); StringExpandPlaceholders(gStringVar4, gText_BattleChoiceResults); @@ -1265,8 +1269,8 @@ static void ShowPikeResultsWindow(void) static void ArenaPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y) { AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL); - if (num > 9999) - num = 9999; + if (num > MAX_STREAK) + num = MAX_STREAK; ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4); StringExpandPlaceholders(gStringVar4, gText_KOsInARow); AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL); @@ -1281,8 +1285,8 @@ static void ArenaPrintRecordStreak(u8 lvlMode, u8 x1, u8 x2, u8 y) static u16 ArenaGetWinStreak(u8 lvlMode) { u16 winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode]; - if (winStreak > 9999) - return 9999; + if (winStreak > MAX_STREAK) + return MAX_STREAK; else return winStreak; } @@ -1293,9 +1297,9 @@ static void ArenaPrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y) u16 winStreak = ArenaGetWinStreak(lvlMode); if (lvlMode != FRONTIER_LVL_50) - isCurrent = sub_81A1C24(0x80); + isCurrent = IsWinStreakActive(STREAK_ARENA_OPEN); else - isCurrent = sub_81A1C24(0x40); + isCurrent = IsWinStreakActive(STREAK_ARENA_50); if (isCurrent == TRUE) ArenaPrintStreak(gText_Current, winStreak, x1, x2, y); @@ -1305,7 +1309,7 @@ static void ArenaPrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y) static void ShowArenaResultsWindow(void) { - gRecordsWindowId = AddWindow(&gUnknown_08611C74); + gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate); DrawStdWindowFrame(gRecordsWindowId, FALSE); FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1)); PrintHyphens(10); @@ -1325,8 +1329,8 @@ static void ShowArenaResultsWindow(void) static void FactoryPrintStreak(const u8 *str, u16 num1, u16 num2, u8 x1, u8 x2, u8 x3, u8 y) { AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL); - if (num1 > 9999) - num1 = 9999; + if (num1 > MAX_STREAK) + num1 = MAX_STREAK; ConvertIntToDecimalStringN(gStringVar1, num1, STR_CONV_MODE_RIGHT_ALIGN, 4); StringExpandPlaceholders(gStringVar4, gText_WinStreak); AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL); @@ -1346,8 +1350,8 @@ static void FactoryPrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 static u16 FactoryGetWinStreak(u8 battleMode, u8 lvlMode) { u16 winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode]; - if (winStreak > 9999) - return 9999; + if (winStreak > MAX_STREAK) + return MAX_STREAK; else return winStreak; } @@ -1355,8 +1359,8 @@ static u16 FactoryGetWinStreak(u8 battleMode, u8 lvlMode) static u16 FactoryGetRentsCount(u8 battleMode, u8 lvlMode) { u16 rents = gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode]; - if (rents > 9999) - return 9999; + if (rents > MAX_STREAK) + return MAX_STREAK; else return rents; } @@ -1371,15 +1375,15 @@ static void FactoryPrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 default: case FRONTIER_MODE_SINGLES: if (lvlMode != FRONTIER_LVL_50) - isCurrent = sub_81A1C24(0x200); + isCurrent = IsWinStreakActive(STREAK_FACTORY_SINGLES_OPEN); else - isCurrent = sub_81A1C24(0x100); + isCurrent = IsWinStreakActive(STREAK_FACTORY_SINGLES_50); break; case FRONTIER_MODE_DOUBLES: if (lvlMode != FRONTIER_LVL_50) - isCurrent = sub_81A1C24(0x2000000); + isCurrent = IsWinStreakActive(STREAK_FACTORY_DOUBLES_OPEN); else - isCurrent = sub_81A1C24(0x1000000); + isCurrent = IsWinStreakActive(STREAK_FACTORY_DOUBLES_50); break; } @@ -1391,7 +1395,7 @@ static void FactoryPrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 static void ShowFactoryResultsWindow(u8 battleMode) { - gRecordsWindowId = AddWindow(&gUnknown_08611C74); + gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate); DrawStdWindowFrame(gRecordsWindowId, FALSE); FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1)); if (battleMode == FRONTIER_MODE_SINGLES) @@ -1416,8 +1420,8 @@ static void ShowFactoryResultsWindow(u8 battleMode) static void PyramidPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y) { AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL); - if (num > 9999) - num = 9999; + if (num > MAX_STREAK) + num = MAX_STREAK; ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4); StringExpandPlaceholders(gStringVar4, gText_FloorsCleared); AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL); @@ -1432,8 +1436,8 @@ static void PyramidPrintRecordStreak(u8 lvlMode, u8 x1, u8 x2, u8 y) static u16 PyramidGetWinStreak(u8 lvlMode) { u16 winStreak = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode]; - if (winStreak > 9999) - return 9999; + if (winStreak > MAX_STREAK) + return MAX_STREAK; else return winStreak; } @@ -1444,9 +1448,9 @@ static void PyramidPrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y) u16 winStreak = PyramidGetWinStreak(lvlMode); if (lvlMode != FRONTIER_LVL_50) - isCurrent = sub_81A1C24(0x2000); + isCurrent = IsWinStreakActive(STREAK_PYRAMID_OPEN); else - isCurrent = sub_81A1C24(0x1000); + isCurrent = IsWinStreakActive(STREAK_PYRAMID_50); if (isCurrent == TRUE) PyramidPrintStreak(gText_Current, winStreak, x1, x2, y); @@ -1456,7 +1460,7 @@ static void PyramidPrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y) static void ShowPyramidResultsWindow(void) { - gRecordsWindowId = AddWindow(&gUnknown_08611C74); + gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate); DrawStdWindowFrame(gRecordsWindowId, FALSE); FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1)); StringExpandPlaceholders(gStringVar4, gText_BattleQuestResults); @@ -1479,7 +1483,7 @@ static void ShowLinkContestResultsWindow(void) s32 i, j; s32 x; - gRecordsWindowId = AddWindow(&gUnknown_08611C7C); + gRecordsWindowId = AddWindow(&sLinkContestResultsWindowTemplate); DrawStdWindowFrame(gRecordsWindowId, FALSE); FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1)); @@ -1523,7 +1527,7 @@ static void ShowLinkContestResultsWindow(void) CopyWindowToVram(gRecordsWindowId, 3); } -static void sub_81A31FC(void) +static void CheckPutFrontierTVShowOnAir(void) { u8 name[32]; s32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; @@ -1540,25 +1544,25 @@ static void sub_81A31FC(void) { StringCopy(name, gLinkPlayers[gBattleScripting.multiplayerId ^ 1].name); StripExtCtrlCodes(name); - StringCopy(gSaveBlock2Ptr->frontier.opponentName[lvlMode], name); - SetTrainerId(gLinkPlayers[gBattleScripting.multiplayerId ^ 1].trainerId, gSaveBlock2Ptr->frontier.field_EF1[lvlMode]); + StringCopy(gSaveBlock2Ptr->frontier.opponentNames[lvlMode], name); + SetTrainerId(gLinkPlayers[gBattleScripting.multiplayerId ^ 1].trainerId, gSaveBlock2Ptr->frontier.opponentTrainerIds[lvlMode]); } if (gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] > 1 - && sub_80EE818()) + && ShouldAirFrontierTVShow()) { switch (battleMode) { case FRONTIER_MODE_SINGLES: - sub_80EE8C8(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 1); + TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 1); break; case FRONTIER_MODE_DOUBLES: - sub_80EE8C8(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 2); + TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 2); break; case FRONTIER_MODE_MULTIS: - sub_80EE8C8(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 3); + TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 3); break; case FRONTIER_MODE_LINK_MULTIS: - sub_80EE8C8(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 4); + TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 4); break; } } @@ -1569,12 +1573,12 @@ static void sub_81A31FC(void) { gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode]; if (gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] > 1 - && sub_80EE818()) + && ShouldAirFrontierTVShow()) { if (battleMode == FRONTIER_MODE_SINGLES) - sub_80EE8C8(gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode], 5); + TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode], 5); else - sub_80EE8C8(gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode], 6); + TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode], 6); } } break; @@ -1583,12 +1587,12 @@ static void sub_81A31FC(void) { gSaveBlock2Ptr->frontier.palaceRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode]; if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] > 1 - && sub_80EE818()) + && ShouldAirFrontierTVShow()) { if (battleMode == FRONTIER_MODE_SINGLES) - sub_80EE8C8(gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode], 11); + TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode], 11); else - sub_80EE8C8(gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode], 12); + TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode], 12); } } break; @@ -1597,9 +1601,9 @@ static void sub_81A31FC(void) { gSaveBlock2Ptr->frontier.arenaRecordStreaks[lvlMode] = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode]; if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] > 1 - && sub_80EE818()) + && ShouldAirFrontierTVShow()) { - sub_80EE8C8(gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode], 10); + TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode], 10); } } break; @@ -1609,12 +1613,12 @@ static void sub_81A31FC(void) gSaveBlock2Ptr->frontier.factoryRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode]; gSaveBlock2Ptr->frontier.factoryRecordRentsCount[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode]; if (gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] > 1 - && sub_80EE818()) + && ShouldAirFrontierTVShow()) { if (battleMode == FRONTIER_MODE_SINGLES) - sub_80EE8C8(gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode], 7); + TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode], 7); else - sub_80EE8C8(gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode], 8); + TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode], 8); } } break; @@ -1623,9 +1627,9 @@ static void sub_81A31FC(void) { gSaveBlock2Ptr->frontier.pikeRecordStreaks[lvlMode] = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode]; if (gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] > 1 - && sub_80EE818()) + && ShouldAirFrontierTVShow()) { - sub_80EE8C8(gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode], 9); + TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode], 9); } } break; @@ -1634,53 +1638,58 @@ static void sub_81A31FC(void) { gSaveBlock2Ptr->frontier.pyramidRecordStreaks[lvlMode] = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode]; if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] > 1 - && sub_80EE818()) + && ShouldAirFrontierTVShow()) { - sub_80EE8C8(gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode], 13); + TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode], 13); } } break; } } -static void sub_81A35EC(void) +static void Script_GetFrontierBrainStatus(void) { VarGet(VAR_FRONTIER_FACILITY); // Unused return value. - gSpecialVar_Result = sub_81A3610(); + gSpecialVar_Result = GetFrontierBrainStatus(); } -u8 sub_81A3610(void) +u8 GetFrontierBrainStatus(void) { - s32 ret = 0; + s32 status = FRONTIER_BRAIN_NOT_READY; s32 facility = VarGet(VAR_FRONTIER_FACILITY); s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); - u16 val = GetCurrentFacilityWinStreak(); - s32 r5 = val + gUnknown_08611550[facility][3]; + u16 winStreakNoModifier = GetCurrentFacilityWinStreak(); + s32 winStreak = winStreakNoModifier + sFrontierBrainStreakAppearances[facility][3]; s32 symbolsCount; if (battleMode != FRONTIER_MODE_SINGLES) - return 0; + return FRONTIER_BRAIN_NOT_READY; symbolsCount = GetPlayerSymbolCountForFacility(facility); switch (symbolsCount) { + // Missing a symbol case 0: case 1: - if (r5 == gUnknown_08611550[facility][symbolsCount]) - ret = symbolsCount + 1; + if (winStreak == sFrontierBrainStreakAppearances[facility][symbolsCount]) + status = symbolsCount + 1; // FRONTIER_BRAIN_SILVER and FRONTIER_BRAIN_GOLD break; + // Already received both symbols case 2: default: - if (r5 == gUnknown_08611550[facility][0]) - ret = 3; - else if (r5 == gUnknown_08611550[facility][1]) - ret = 4; - else if (r5 > gUnknown_08611550[facility][1] && (r5 - gUnknown_08611550[facility][1]) % gUnknown_08611550[facility][2] == 0) - ret = 4; + // Silver streak is reached + if (winStreak == sFrontierBrainStreakAppearances[facility][0]) + status = FRONTIER_BRAIN_STREAK; + // Gold streak is reached + else if (winStreak == sFrontierBrainStreakAppearances[facility][1]) + status = FRONTIER_BRAIN_STREAK_LONG; + // Some increment of the gold streak is reached + else if (winStreak > sFrontierBrainStreakAppearances[facility][1] && (winStreak - sFrontierBrainStreakAppearances[facility][1]) % sFrontierBrainStreakAppearances[facility][2] == 0) + status = FRONTIER_BRAIN_STREAK_LONG; break; } - return ret; + return status; } void CopyFrontierTrainerText(u8 whichText, u16 trainerId) @@ -1692,12 +1701,12 @@ void CopyFrontierTrainerText(u8 whichText, u16 trainerId) FrontierSpeechToString(gSaveBlock2Ptr->frontier.ereaderTrainer.greeting); else if (trainerId == TRAINER_FRONTIER_BRAIN) CopyFrontierBrainText(FALSE); - else if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + else if (trainerId < FRONTIER_TRAINERS_COUNT) FrontierSpeechToString(gFacilityTrainers[trainerId].speechBefore); else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE) FrontierSpeechToString(gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].greeting); else - CopyFriendsApprenticeChallengeText(trainerId - TRAINER_RECORD_MIXING_APPRENTICE); + BufferApprenticeChallengeText(trainerId - TRAINER_RECORD_MIXING_APPRENTICE); break; case FRONTIER_PLAYER_LOST_TEXT: if (trainerId == TRAINER_EREADER) @@ -1708,7 +1717,7 @@ void CopyFrontierTrainerText(u8 whichText, u16 trainerId) { CopyFrontierBrainText(FALSE); } - else if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + else if (trainerId < FRONTIER_TRAINERS_COUNT) { FrontierSpeechToString(gFacilityTrainers[trainerId].speechWin); } @@ -1724,7 +1733,7 @@ void CopyFrontierTrainerText(u8 whichText, u16 trainerId) if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) FrontierSpeechToString(GetRecordedBattleEasyChatSpeech()); else - FrontierSpeechToString(gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].easyChatWords); + FrontierSpeechToString(gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].speechWon); } break; case FRONTIER_PLAYER_WON_TEXT: @@ -1736,7 +1745,7 @@ void CopyFrontierTrainerText(u8 whichText, u16 trainerId) { CopyFrontierBrainText(TRUE); } - else if (trainerId < TRAINER_RECORD_MIXING_FRIEND) + else if (trainerId < FRONTIER_TRAINERS_COUNT) { FrontierSpeechToString(gFacilityTrainers[trainerId].speechLose); } @@ -1752,23 +1761,23 @@ void CopyFrontierTrainerText(u8 whichText, u16 trainerId) if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) { trainerId = GetRecordedBattleApprenticeId(); - FrontierSpeechToString(gApprentices[trainerId].easyChatWords); + FrontierSpeechToString(gApprentices[trainerId].speechLost); } else { trainerId = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].id; - FrontierSpeechToString(gApprentices[trainerId].easyChatWords); + FrontierSpeechToString(gApprentices[trainerId].speechLost); } } break; } } -void sub_81A3908(void) +void ResetWinStreaks(void) { s32 battleMode, lvlMode; - gSaveBlock2Ptr->frontier.field_CDC = 0; + gSaveBlock2Ptr->frontier.winStreakActiveFlags = 0; for (battleMode = 0; battleMode < 4; battleMode++) { for (lvlMode = 0; lvlMode < 2; lvlMode++) @@ -1788,8 +1797,8 @@ void sub_81A3908(void) } } } - if (gSaveBlock2Ptr->frontier.field_CA8 != 0) - gSaveBlock2Ptr->frontier.field_CA8 = 1; + if (gSaveBlock2Ptr->frontier.challengeStatus != 0) + gSaveBlock2Ptr->frontier.challengeStatus = CHALLENGE_STATUS_SAVING; } u32 GetCurrentFacilityWinStreak(void) @@ -1819,15 +1828,15 @@ u32 GetCurrentFacilityWinStreak(void) } } -void sub_81A3ACC(void) +void ResetFrontierTrainerIds(void) { s32 i; - for (i = 0; i < 20; i++) + for (i = 0; i < (int)ARRAY_COUNT(gSaveBlock2Ptr->frontier.trainerIds); i++) gSaveBlock2Ptr->frontier.trainerIds[i] = 0xFFFF; } -static void sub_81A3B00(void) +static void IsTrainerFrontierBrain(void) { if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN) gSpecialVar_Result = TRUE; @@ -1841,7 +1850,7 @@ u8 GetPlayerSymbolCountForFacility(u8 facility) + FlagGet(FLAG_SYS_TOWER_GOLD + facility * 2); } -static void sub_81A3B64(void) +static void GiveBattlePoints(void) { s32 challengeNum = 0; s32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; @@ -1876,37 +1885,37 @@ static void sub_81A3B64(void) if (challengeNum != 0) challengeNum--; - if (challengeNum >= ARRAY_COUNT(gUnknown_086118B4)) - challengeNum = ARRAY_COUNT(gUnknown_086118B4) - 1; + if (challengeNum >= ARRAY_COUNT(sBattlePointAwards)) + challengeNum = ARRAY_COUNT(sBattlePointAwards) - 1; - points = gUnknown_086118B4[challengeNum][facility][battleMode]; + points = sBattlePointAwards[challengeNum][facility][battleMode]; if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN) points += 10; gSaveBlock2Ptr->frontier.battlePoints += points; ConvertIntToDecimalStringN(gStringVar1, points, STR_CONV_MODE_LEFT_ALIGN, 2); - if (gSaveBlock2Ptr->frontier.battlePoints > 9999) - gSaveBlock2Ptr->frontier.battlePoints = 9999; + if (gSaveBlock2Ptr->frontier.battlePoints > MAX_BATTLE_FRONTIER_POINTS) + gSaveBlock2Ptr->frontier.battlePoints = MAX_BATTLE_FRONTIER_POINTS; - points = gSaveBlock2Ptr->frontier.field_EBA; - points += gUnknown_086118B4[challengeNum][facility][battleMode]; - sub_80EED60(gUnknown_086118B4[challengeNum][facility][battleMode]); + points = gSaveBlock2Ptr->frontier.cardBattlePoints; + points += sBattlePointAwards[challengeNum][facility][battleMode]; + IncrementDailyBattlePoints(sBattlePointAwards[challengeNum][facility][battleMode]); if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN) { points += 10; - sub_80EED60(10); + IncrementDailyBattlePoints(10); } if (points > 0xFFFF) points = 0xFFFF; - gSaveBlock2Ptr->frontier.field_EBA = points; + gSaveBlock2Ptr->frontier.cardBattlePoints = points; } -static void sub_81A3D30(void) +static void GetFacilitySymbolCount(void) { s32 facility = VarGet(VAR_FRONTIER_FACILITY); gSpecialVar_Result = GetPlayerSymbolCountForFacility(facility); } -static void sub_81A3D58(void) +static void GiveFacilitySymbol(void) { s32 facility = VarGet(VAR_FRONTIER_FACILITY); if (GetPlayerSymbolCountForFacility(facility) == 0) @@ -1915,7 +1924,7 @@ static void sub_81A3D58(void) FlagSet(FLAG_SYS_TOWER_GOLD + facility * 2); } -static void sub_81A3DA0(void) +static void CheckBattleTypeFlag(void) { if (gBattleTypeFlags & gSpecialVar_0x8005) gSpecialVar_Result = TRUE; @@ -1923,12 +1932,12 @@ static void sub_81A3DA0(void) gSpecialVar_Result = FALSE; } -static u8 sub_81A3DD0(u16 species, u8 arg1, s32 arg2) +static u8 AppendCaughtBannedMonSpeciesName(u16 species, u8 count, s32 numBannedMonsCaught) { if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_CAUGHT)) { - arg1++; - switch (arg1) + count++; + switch (count) { case 1: case 3: @@ -1936,30 +1945,30 @@ static u8 sub_81A3DD0(u16 species, u8 arg1, s32 arg2) case 7: case 9: case 11: - if (arg2 == arg1) + if (numBannedMonsCaught == count) StringAppend(gStringVar1, gText_SpaceAndSpace); - else if (arg2 > arg1) + else if (numBannedMonsCaught > count) StringAppend(gStringVar1, gText_CommaSpace); break; case 2: - if (arg1 == arg2) + if (count == numBannedMonsCaught) StringAppend(gStringVar1, gText_SpaceAndSpace); else StringAppend(gStringVar1, gText_CommaSpace); StringAppend(gStringVar1, gText_NewLine); break; default: - if (arg1 == arg2) + if (count == numBannedMonsCaught) StringAppend(gStringVar1, gText_SpaceAndSpace); else StringAppend(gStringVar1, gText_CommaSpace); - StringAppend(gStringVar1, gText_ScrollTextUp); + StringAppend(gStringVar1, gText_LineBreak); break; } StringAppend(gStringVar1, gSpeciesNames[species]); } - return arg1; + return count; } static void AppendIfValid(u16 species, u16 heldItem, u16 hp, u8 lvlMode, u8 monLevel, u16 *speciesArray, u16 *itemsArray, u8 *count) @@ -1995,30 +2004,36 @@ static void AppendIfValid(u16 species, u16 heldItem, u16 hp, u8 lvlMode, u8 monL (*count)++; } -static void sub_81A3FD4(void) +// gSpecialVar_Result is the level mode before and after calls to this function +// gSpecialVar_0x8004 is used to store the return value instead (TRUE if there are insufficient eligible mons) +// The names of ineligible pokemon that have been caught are also buffered to print +static void CheckPartyIneligibility(void) { - u16 speciesArray[6]; - u16 itemArray[6]; + u16 speciesArray[PARTY_SIZE]; + u16 itemArray[PARTY_SIZE]; s32 monId = 0; s32 toChoose = 0; u8 count = 0; s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); s32 monIdLooper; + // count is re-used, define for clarity + #define numEligibleMons count + switch (battleMode) { case FRONTIER_MODE_SINGLES: - toChoose = 3; + toChoose = FRONTIER_PARTY_SIZE; break; case FRONTIER_MODE_MULTIS: case FRONTIER_MODE_LINK_MULTIS: - toChoose = 2; + toChoose = FRONTIER_MULTI_PARTY_SIZE; break; case FRONTIER_MODE_DOUBLES: if (VarGet(VAR_FRONTIER_FACILITY) == FRONTIER_FACILITY_TOWER) - toChoose = 4; + toChoose = FRONTIER_DOUBLES_PARTY_SIZE; else - toChoose = 3; + toChoose = FRONTIER_PARTY_SIZE; break; } @@ -2026,7 +2041,7 @@ static void sub_81A3FD4(void) do { monId = monIdLooper; - count = 0; + numEligibleMons = 0; do { u16 species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2); @@ -2035,12 +2050,12 @@ static void sub_81A3FD4(void) u16 hp = GetMonData(&gPlayerParty[monId], MON_DATA_HP); if (VarGet(VAR_FRONTIER_FACILITY) == FRONTIER_FACILITY_PYRAMID) { - if (heldItem == 0) - AppendIfValid(species, heldItem, hp, gSpecialVar_Result, level, speciesArray, itemArray, &count); + if (heldItem == ITEM_NONE) + AppendIfValid(species, heldItem, hp, gSpecialVar_Result, level, speciesArray, itemArray, &numEligibleMons); } else { - AppendIfValid(species, heldItem, hp, gSpecialVar_Result, level, speciesArray, itemArray, &count); + AppendIfValid(species, heldItem, hp, gSpecialVar_Result, level, speciesArray, itemArray, &numEligibleMons); } monId++; if (monId >= PARTY_SIZE) @@ -2048,9 +2063,9 @@ static void sub_81A3FD4(void) } while (monId != monIdLooper); monIdLooper++; - } while (monIdLooper < PARTY_SIZE && count < toChoose); + } while (monIdLooper < PARTY_SIZE && numEligibleMons < toChoose); - if (count < toChoose) + if (numEligibleMons < toChoose) { s32 i; s32 caughtBannedMons = 0; @@ -2061,10 +2076,10 @@ static void sub_81A3FD4(void) caughtBannedMons++; } gStringVar1[0] = EOS; - gSpecialVar_0x8004 = 1; + gSpecialVar_0x8004 = TRUE; count = 0; for (i = 0; gFrontierBannedSpecies[i] != 0xFFFF; i++) - count = sub_81A3DD0(gFrontierBannedSpecies[i], count, caughtBannedMons); + count = AppendCaughtBannedMonSpeciesName(gFrontierBannedSpecies[i], count, caughtBannedMons); if (count == 0) { @@ -2074,7 +2089,7 @@ static void sub_81A3FD4(void) else { if (count & 1) - StringAppend(gStringVar1, gText_ScrollTextUp); + StringAppend(gStringVar1, gText_LineBreak); else StringAppend(gStringVar1, gText_Space2); StringAppend(gStringVar1, gText_Are2); @@ -2082,17 +2097,18 @@ static void sub_81A3FD4(void) } else { - gSpecialVar_0x8004 = 0; + gSpecialVar_0x8004 = FALSE; gSaveBlock2Ptr->frontier.lvlMode = gSpecialVar_Result; } + #undef numEligibleMons } -static void sub_81A4224(void) +static void ValidateVisitingTrainer(void) { ValidateEReaderTrainer(); } -static void sub_81A4230(void) +static void IncrementWinStreak(void) { s32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); @@ -2101,50 +2117,50 @@ static void sub_81A4230(void) switch (facility) { case FRONTIER_FACILITY_TOWER: - if (gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] < 9999) + if (gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] < MAX_STREAK) { gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]++; if (battleMode == FRONTIER_MODE_SINGLES) { SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]); - gSaveBlock2Ptr->frontier.field_D02 = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]; + gSaveBlock2Ptr->frontier.towerSinglesStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]; } } break; case FRONTIER_FACILITY_DOME: - if (gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] < 9999) + if (gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] < MAX_STREAK) gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode]++; - if (gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][lvlMode] < 9999) + if (gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][lvlMode] < MAX_STREAK) gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][lvlMode]++; break; case FRONTIER_FACILITY_PALACE: - if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 9999) + if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < MAX_STREAK) gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode]++; break; case FRONTIER_FACILITY_ARENA: - if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] < 9999) + if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] < MAX_STREAK) gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode]++; break; case FRONTIER_FACILITY_FACTORY: - if (gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] < 9999) + if (gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] < MAX_STREAK) gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode]++; break; case FRONTIER_FACILITY_PIKE: - if (gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] < 9999) + if (gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] < MAX_STREAK) gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode]++; break; case FRONTIER_FACILITY_PYRAMID: - if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] < 9999) + if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] < MAX_STREAK) gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode]++; break; } } -static void sub_81A43A8(void) +static void RestoreHeldItems(void) { u8 i; - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++) { if (gSaveBlock2Ptr->frontier.selectedPartyMons[i] != 0) { @@ -2154,13 +2170,13 @@ static void sub_81A43A8(void) } } -static void sub_81A4410(void) +static void SaveRecordBattle(void) { gSpecialVar_Result = MoveRecordedBattleToSaveData(); - gSaveBlock2Ptr->frontier.field_CA9_b = 1; + gSaveBlock2Ptr->frontier.disableRecordBattle = TRUE; } -static void sub_81A443C(void) +static void BufferFrontierTrainerName(void) { switch (gSpecialVar_0x8005) { @@ -2173,11 +2189,11 @@ static void sub_81A443C(void) } } -static void sub_81A447C(void) +static void ResetSketchedMoves(void) { u8 i, j, k; - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++) { u16 monId = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1; if (monId < PARTY_SIZE) @@ -2198,7 +2214,7 @@ static void sub_81A447C(void) } } -static void sub_81A457C(void) +static void SetFacilityBrainEventObject(void) { SetFrontierBrainEventObjGfx(VarGet(VAR_FRONTIER_FACILITY)); } @@ -2216,11 +2232,11 @@ static void Print1PRecord(s32 position, s32 x, s32 y, struct RankingHall1P *hall TVShowConvertInternationalString(text, hallRecord->name, hallRecord->language); AddTextPrinterParameterized(gRecordsWindowId, 1, text, (x + 2) * 8, (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL); winStreak = hallRecord->winStreak; - if (winStreak > 9999) - winStreak = 9999; + if (winStreak > MAX_STREAK) + winStreak = MAX_STREAK; ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4); - StringExpandPlaceholders(gStringVar4, gHallFacilityToRecordsText[hallFacilityId]); - AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gHallFacilityToRecordsText[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL); + StringExpandPlaceholders(gStringVar4, sHallFacilityToRecordsText[hallFacilityId]); + AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, sHallFacilityToRecordsText[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL); } } @@ -2243,11 +2259,11 @@ static void Print2PRecord(s32 position, s32 x, s32 y, struct RankingHall2P *hall AddTextPrinterParameterized(gRecordsWindowId, 1, text, (x + 4) * 8, (8 * (y + 5 * position + 1)) + 1, TEXT_SPEED_FF, NULL); winStreak = hallRecord->winStreak; - if (winStreak > 9999) - winStreak = 9999; + if (winStreak > MAX_STREAK) + winStreak = MAX_STREAK; ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4); - StringExpandPlaceholders(gStringVar4, gHallFacilityToRecordsText[9]); - AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gHallFacilityToRecordsText[9], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL); + StringExpandPlaceholders(gStringVar4, sHallFacilityToRecordsText[RANKING_HALL_BATTLE_TOWER_LINK]); + AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, sHallFacilityToRecordsText[RANKING_HALL_BATTLE_TOWER_LINK], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL); } } @@ -2326,15 +2342,15 @@ static void PrintHallRecords(s32 hallFacilityId, s32 lvlMode) struct RankingHall1P records1P[3]; struct RankingHall2P records2P[3]; - StringCopy(gStringVar1, gUnknown_08611CB0[hallFacilityId][0]); - StringExpandPlaceholders(gStringVar4, gUnknown_08611CB0[hallFacilityId][1]); + StringCopy(gStringVar1, sRecordsWindowChallengeTexts[hallFacilityId][0]); + StringExpandPlaceholders(gStringVar4, sRecordsWindowChallengeTexts[hallFacilityId][1]); AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL); - x = GetStringRightAlignXOffset(1, gLevelModeText[lvlMode], 0xD0); - AddTextPrinterParameterized(gRecordsWindowId, 1, gLevelModeText[lvlMode], x, 1, TEXT_SPEED_FF, NULL); - if (hallFacilityId == HALL_FACILITIES_COUNT) + x = GetStringRightAlignXOffset(1, sLevelModeText[lvlMode], 0xD0); + AddTextPrinterParameterized(gRecordsWindowId, 1, sLevelModeText[lvlMode], x, 1, TEXT_SPEED_FF, NULL); + if (hallFacilityId == RANKING_HALL_BATTLE_TOWER_LINK) { - gSaveBlock2Ptr->frontier.opponentName[0][PLAYER_NAME_LENGTH] = EOS; - gSaveBlock2Ptr->frontier.opponentName[1][PLAYER_NAME_LENGTH] = EOS; + gSaveBlock2Ptr->frontier.opponentNames[0][PLAYER_NAME_LENGTH] = EOS; + gSaveBlock2Ptr->frontier.opponentNames[1][PLAYER_NAME_LENGTH] = EOS; Fill2PRecords(records2P, lvlMode); for (i = 0; i < 3; i++) Print2PRecord(i, 1, 4, &records2P[i]); @@ -2349,7 +2365,7 @@ static void PrintHallRecords(s32 hallFacilityId, s32 lvlMode) void ShowRankingHallRecordsWindow(void) { - gRecordsWindowId = AddWindow(&gUnknown_08611C84); + gRecordsWindowId = AddWindow(&sRankingHallRecordsWindowTemplate); DrawStdWindowFrame(gRecordsWindowId, FALSE); FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1)); PrintHallRecords(gSpecialVar_0x8005, FRONTIER_LVL_50); @@ -2394,7 +2410,7 @@ void ClearRankingHallRecords(void) } } -void sub_81A4C30(void) +void SaveGameFrontier(void) { s32 i; struct Pokemon *monsParty = calloc(PARTY_SIZE, sizeof(struct Pokemon)); @@ -2425,7 +2441,7 @@ u8 GetFrontierBrainTrainerPicIndex(void) else facility = VarGet(VAR_FRONTIER_FACILITY); - return gTrainers[gFacilityToBrainTrainerId[facility]].trainerPic; + return gTrainers[sFrontierBrainTrainerIds[facility]].trainerPic; } u8 GetFrontierBrainTrainerClass(void) @@ -2437,7 +2453,7 @@ u8 GetFrontierBrainTrainerClass(void) else facility = VarGet(VAR_FRONTIER_FACILITY); - return gTrainers[gFacilityToBrainTrainerId[facility]].trainerClass; + return gTrainers[sFrontierBrainTrainerIds[facility]].trainerClass; } void CopyFrontierBrainTrainerName(u8 *dst) @@ -2451,7 +2467,7 @@ void CopyFrontierBrainTrainerName(u8 *dst) facility = VarGet(VAR_FRONTIER_FACILITY); for (i = 0; i < PLAYER_NAME_LENGTH; i++) - dst[i] = gTrainers[gFacilityToBrainTrainerId[facility]].trainerName[i]; + dst[i] = gTrainers[sFrontierBrainTrainerIds[facility]].trainerName[i]; dst[i] = EOS; } @@ -2459,13 +2475,13 @@ void CopyFrontierBrainTrainerName(u8 *dst) bool8 IsFrontierBrainFemale(void) { s32 facility = VarGet(VAR_FRONTIER_FACILITY); - return sFacilityToBrainEventObjGfx[facility][1]; + return sFrontierBrainObjEventGfx[facility][1]; } void SetFrontierBrainEventObjGfx_2(void) { s32 facility = VarGet(VAR_FRONTIER_FACILITY); - VarSet(VAR_OBJ_GFX_ID_0, sFacilityToBrainEventObjGfx[facility][0]); + VarSet(VAR_OBJ_GFX_ID_0, sFrontierBrainObjEventGfx[facility][0]); } #define FRONTIER_BRAIN_OTID 61226 @@ -2474,7 +2490,7 @@ void SetFrontierBrainEventObjGfx_2(void) void CreateFrontierBrainPokemon(void) { s32 i, j; - s32 monCountInBits; + s32 selectedMonBits; s32 monPartyId; s32 monLevel = 0; u8 friendship; @@ -2482,16 +2498,16 @@ void CreateFrontierBrainPokemon(void) s32 symbol = GetFronterBrainSymbol(); if (facility == FRONTIER_FACILITY_DOME) - monCountInBits = GetDomeTrainerMonCountInBits(TrainerIdToDomeTournamentId(TRAINER_FRONTIER_BRAIN)); + selectedMonBits = GetDomeTrainerSelectedMons(TrainerIdToDomeTournamentId(TRAINER_FRONTIER_BRAIN)); else - monCountInBits = 7; + selectedMonBits = (1 << FRONTIER_PARTY_SIZE) - 1; // all 3 mons selected ZeroEnemyPartyMons(); monPartyId = 0; monLevel = SetFacilityPtrsGetLevel(); - for (i = 0; i < 3; monCountInBits >>= 1, i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; selectedMonBits >>= 1, i++) { - if (!(monCountInBits & 1)) + if (!(selectedMonBits & 1)) continue; do @@ -2507,7 +2523,7 @@ void CreateFrontierBrainPokemon(void) SetMonData(&gEnemyParty[monPartyId], MON_DATA_HELD_ITEM, &sFrontierBrainsMons[facility][symbol][i].heldItem); for (j = 0; j < NUM_STATS; j++) SetMonData(&gEnemyParty[monPartyId], MON_DATA_HP_EV + j, &sFrontierBrainsMons[facility][symbol][i].evs[j]); - friendship = 0xFF; + friendship = MAX_FRIENDSHIP; for (j = 0; j < MAX_MON_MOVES; j++) { SetMonMoveSlot(&gEnemyParty[monPartyId], sFrontierBrainsMons[facility][symbol][i].moves[j], j); @@ -2544,7 +2560,7 @@ void CreateFrontierBrainPokemon(void) bl TrainerIdToDomeTournamentId\n\ lsls r0, 16\n\ lsrs r0, 16\n\ - bl GetDomeTrainerMonCountInBits\n\ + bl GetDomeTrainerSelectedMons\n\ adds r4, r0, 0\n\ b _081A4E46\n\ .pool\n\ @@ -2768,7 +2784,7 @@ u16 GetFrontierBrainMonSpecies(u8 monId) void SetFrontierBrainEventObjGfx(u8 facility) { gTrainerBattleOpponent_A = TRAINER_FRONTIER_BRAIN; - VarSet(VAR_OBJ_GFX_ID_0, sFacilityToBrainEventObjGfx[facility][0]); + VarSet(VAR_OBJ_GFX_ID_0, sFrontierBrainObjEventGfx[facility][0]); } u16 GetFrontierBrainMonMove(u8 monId, u8 moveSlotId) @@ -2803,17 +2819,18 @@ s32 GetFronterBrainSymbol(void) if (symbol == 2) { u16 winStreak = GetCurrentFacilityWinStreak(); - if (winStreak + gUnknown_08611550[facility][3] == gUnknown_08611550[facility][0]) + if (winStreak + sFrontierBrainStreakAppearances[facility][3] == sFrontierBrainStreakAppearances[facility][0]) symbol = 0; - else if (winStreak + gUnknown_08611550[facility][3] == gUnknown_08611550[facility][1]) + else if (winStreak + sFrontierBrainStreakAppearances[facility][3] == sFrontierBrainStreakAppearances[facility][1]) symbol = 1; - else if (winStreak + gUnknown_08611550[facility][3] > gUnknown_08611550[facility][1] - && (winStreak + gUnknown_08611550[facility][3] - gUnknown_08611550[facility][1]) % gUnknown_08611550[facility][2] == 0) + else if (winStreak + sFrontierBrainStreakAppearances[facility][3] > sFrontierBrainStreakAppearances[facility][1] + && (winStreak + sFrontierBrainStreakAppearances[facility][3] - sFrontierBrainStreakAppearances[facility][1]) % sFrontierBrainStreakAppearances[facility][2] == 0) symbol = 1; } return symbol; } +// Called for intro speech as well despite the fact that its handled in the map scripts files instead static void CopyFrontierBrainText(bool8 playerWonText) { s32 facility; @@ -2833,10 +2850,10 @@ static void CopyFrontierBrainText(bool8 playerWonText) switch (playerWonText) { case FALSE: - StringCopy(gStringVar4, gUnknown_08611DB0[symbol][facility]); + StringCopy(gStringVar4, sFrontierBrainPlayerLostTexts[symbol][facility]); break; case TRUE: - StringCopy(gStringVar4, gUnknown_08611DB8[symbol][facility]); + StringCopy(gStringVar4, sFrontierBrainPlayerWonTexts[symbol][facility]); break; } } diff --git a/src/ghost.c b/src/ghost.c index 41621ff542..93c442b926 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -58,7 +58,7 @@ const struct SpriteTemplate gUnknown_08596D14 = { .tileTag = ANIM_TAG_YELLOW_BALL, .paletteTag = ANIM_TAG_YELLOW_BALL, - .oam = &gUnknown_085249CC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596D10, @@ -69,7 +69,7 @@ const struct SpriteTemplate gUnknown_08596D2C = { .tileTag = ANIM_TAG_YELLOW_BALL, .paletteTag = ANIM_TAG_YELLOW_BALL, - .oam = &gUnknown_08524A2C, + .oam = &gOamData_AffineOff_ObjBlend_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -91,7 +91,7 @@ const struct SpriteTemplate gShadowBallSpriteTemplate = { .tileTag = ANIM_TAG_SHADOW_BALL, .paletteTag = ANIM_TAG_SHADOW_BALL, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596D54, @@ -117,7 +117,7 @@ const struct SpriteTemplate gUnknown_08596D8C = { .tileTag = ANIM_TAG_LICK, .paletteTag = ANIM_TAG_LICK, - .oam = &gUnknown_08524954, + .oam = &gOamData_AffineOff_ObjNormal_16x32, .anims = gUnknown_08596D88, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -139,7 +139,7 @@ const struct SpriteTemplate gUnknown_08596DB8 = { .tileTag = ANIM_TAG_WHITE_SHADOW, .paletteTag = ANIM_TAG_WHITE_SHADOW, - .oam = &gUnknown_08524A5C, + .oam = &gOamData_AffineOff_ObjBlend_64x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -150,7 +150,7 @@ const struct SpriteTemplate gUnknown_08596DD0 = { .tileTag = ANIM_TAG_NAIL, .paletteTag = ANIM_TAG_NAIL, - .oam = &gUnknown_08524A54, + .oam = &gOamData_AffineOff_ObjBlend_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -161,7 +161,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596DE8 = { .tileTag = ANIM_TAG_GHOSTLY_SPIRIT, .paletteTag = ANIM_TAG_GHOSTLY_SPIRIT, - .oam = &gUnknown_08524A34, + .oam = &gOamData_AffineOff_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -172,7 +172,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596E00 = { .tileTag = ANIM_TAG_DEVIL, .paletteTag = ANIM_TAG_DEVIL, - .oam = &gUnknown_08524A34, + .oam = &gOamData_AffineOff_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -197,7 +197,7 @@ const struct SpriteTemplate gUnknown_08596E30 = { .tileTag = ANIM_TAG_PURPLE_FLAME, .paletteTag = ANIM_TAG_PURPLE_FLAME, - .oam = &gUnknown_08524A74, + .oam = &gOamData_AffineOff_ObjBlend_16x32, .anims = gUnknown_08596E2C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/graphics.c b/src/graphics.c index 679f16af1f..eeeba56c99 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -777,8 +777,8 @@ const u32 gBattleAnimSpriteGfx_Roots[] = INCBIN_U32("graphics/battle_anims/sprit const u32 gBattleAnimSpritePal_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.gbapal.lz"); const u32 gBattleAnimSpriteGfx_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.4bpp.lz"); -const u32 gBattleAnimSpritePal_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.gbapal.lz"); -const u32 gBattleAnimSpriteGfx_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.4bpp.lz"); +const u32 gBattleAnimSpritePal_TriAttackTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_attack_triangle.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_TriAttackTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_attack_triangle.4bpp.lz"); const u32 gBattleAnimSpritePal_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.gbapal.lz"); const u32 gBattleAnimSpriteGfx_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.4bpp.lz"); @@ -960,34 +960,28 @@ const u32 gUnknown_08D778F0[] = INCBIN_U32("graphics/battle_transitions/vs_frame const u32 gUnknown_08D779D8[] = INCBIN_U32("graphics/battle_transitions/vs_frame.bin.lz"); const u32 gUnknown_08D77AE4[] = INCBIN_U32("graphics/battle_transitions/vs_frame.gbapal.lz"); -const u32 gUnknown_08D77B0C[] = INCBIN_U32("graphics/battle_transitions/vs.4bpp.lz"); +const u32 gVsLettersGfx[] = INCBIN_U32("graphics/battle_transitions/vs.4bpp.lz"); #include "data/graphics/battle_terrain.h" -const u32 gUnknown_08D82F10[] = INCBIN_U32("graphics/battle_frontier/tourney_bg.4bpp.lz"); -const u32 gUnknown_08D834FC[] = INCBIN_U32("graphics/battle_frontier/tourney_line.4bpp.lz"); // the red glow mask for the tourney advancement lines - -const u32 gUnknown_08D83900[] = INCBIN_U32("graphics/unknown/unknown_D83900.bin.lz"); // tilemaps likely - -const u32 gUnknown_08D83B2C[] = INCBIN_U32("graphics/unknown/unknown_D83B2C.bin.lz"); - -const u32 gUnknown_08D83C3C[] = INCBIN_U32("graphics/unknown/unknown_D83C3C.bin.lz"); - -const u32 gUnknown_08D83D50[] = INCBIN_U32("graphics/battle_frontier/misc1.4bpp.lz"); - -const u32 gUnknown_08D84970[] = INCBIN_U32("graphics/unknown/unknown_D84970.bin.lz"); - -const u32 gUnknown_08D84F00[] = INCBIN_U32("graphics/unknown/unknown_D84F00.bin.lz"); - -const u32 gBattleFrontierGfx_DomeOptions[] = INCBIN_U32("graphics/battle_frontier/options.4bpp.lz"); -const u32 gUnknown_08D85358[] = INCBIN_U32("graphics/battle_frontier/options_pal1.gbapal.lz"); -const u32 gUnknown_08D85444[] = INCBIN_U32("graphics/battle_frontier/options_pal2.gbapal.lz"); // pokeball pal -const u32 gUnknown_08D854C8[] = INCBIN_U32("graphics/battle_frontier/options_pal3.gbapal.lz"); // arrow pal +// Battle Dome +const u32 gDomeTourneyBg_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_bg.4bpp.lz"); +const u32 gDomeTourneyLine_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_line.4bpp.lz"); // the red glow mask for the tourney advancement lines +const u32 gDomeTourneyLineMask_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_line_mask_map.bin.lz"); +const u32 gDomeTourneyLineDown_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_line_down_map.bin.lz"); +const u32 gDomeTourneyLineUp_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_line_up_map.bin.lz"); +const u32 gDomeTourneyInfoCard_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card.4bpp.lz"); +const u32 gDomeTourneyInfoCard_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card_tilemap.bin.lz"); +const u32 gDomeTourneyInfoCardBg_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card_bg.bin.lz"); +const u32 gDomeTourneyTreeButtons_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_buttons.4bpp.lz"); // exit/cancel and pokeball buttons +const u32 gDomeTourneyTree_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney.gbapal.lz"); +const u32 gDomeTourneyTreeButtons_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_buttons.gbapal.lz"); +const u32 gDomeTourneyMatchCardBg_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_match_card_bg.gbapal.lz"); const u32 gBattleArenaJudgementSymbolsGfx[] = INCBIN_U32("graphics/battle_frontier/arena_judgement_symbols.4bpp.lz"); const u32 gBattleArenaJudgementSymbolsPalette[] = INCBIN_U32("graphics/battle_frontier/arena_judgement_symbols.gbapal.lz"); -const u32 gUnknown_08D85600[] = INCBIN_U32("graphics/battle_frontier/text.gbapal.lz"); +const u32 gBattleWindowTextPalette[] = INCBIN_U32("graphics/battle_interface/text.gbapal.lz"); const u16 gUnknown_08D85620[] = INCBIN_U16("graphics/battle_frontier/text_pp.gbapal"); const u16 gTilesetAnims_BattleDomePals0_0[] = INCBIN_U16("graphics/battle_frontier/dome_anim1.gbapal"); @@ -1138,9 +1132,9 @@ const u32 gBattleAnimSpritePal_Slash2[] = INCBIN_U32("graphics/battle_anims/spri const u32 gBattleAnimSpriteGfx_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.4bpp.lz"); const u32 gBattleAnimSpritePal_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.gbapal.lz"); -const u32 gPartyMenuMisc_Gfx[] = INCBIN_U32("graphics/interface/party_menu_misc.4bpp.lz"); -const u32 gPartyMenuMisc_Pal[] = INCBIN_U32("graphics/interface/party_menu_misc.gbapal.lz"); -const u32 gPartyMenuMisc_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_misc.bin.lz"); +const u32 gPartyMenuBg_Gfx[] = INCBIN_U32("graphics/interface/party_menu_bg.4bpp.lz"); +const u32 gPartyMenuBg_Pal[] = INCBIN_U32("graphics/interface/party_menu_bg.gbapal.lz"); +const u32 gPartyMenuBg_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_bg.bin.lz"); const u32 gPartyMenuPokeball_Gfx[] = INCBIN_U32("graphics/interface/party_menu_pokeball.4bpp.lz"); const u32 gPartyMenuPokeballSmall_Gfx[] = INCBIN_U32("graphics/interface/party_menu_pokeball_small.4bpp.lz"); //unused @@ -1516,21 +1510,14 @@ asm(".space 0x20"); //blank palette?? #include "data/graphics/berry_fix.h" -// more trade stuff? - -const u16 gUnknown_08DDB3E4[] = INCBIN_U16("graphics/trade/menu.gbapal"); - -const u16 gUnknown_08DDB444[] = INCBIN_U16("graphics/unknown/unknown_DDB444.gbapal"); - -const u8 gUnknown_08DDB464[] = INCBIN_U8("graphics/trade/menu.4bpp"); - -const u8 gUnknown_08DDC6E4[] = INCBIN_U8("graphics/trade/buttons.4bpp"); - +// Trade +const u16 gTradeMenu_Pal[] = INCBIN_U16("graphics/trade/menu.gbapal"); +const u16 gUnknown_08DDB444[] = INCBIN_U16("graphics/trade/unknown_DDB444.gbapal"); +const u8 gTradeMenu_Gfx[] = INCBIN_U8("graphics/trade/menu.4bpp"); +const u8 gTradeButtons_Gfx[] = INCBIN_U8("graphics/trade/buttons.4bpp"); const u16 gUnused_DDCEE4[] = INCBIN_U16("graphics/unused/unused_DDCEE4.bin"); - -const u16 gUnknown_08DDCF04[] = INCBIN_U16("graphics/unknown/unknown_DDCF04.bin"); - -const u16 gUnknown_08DDD704[] = INCBIN_U16("graphics/unknown/unknown_DDD704.bin"); // textbox tilemap?? +const u16 gUnknown_08DDCF04[] = INCBIN_U16("graphics/trade/unknown_DDCF04.bin"); +const u16 gTradeMenuMonBox_Tilemap[] = INCBIN_U16("graphics/trade/menu_mon_box.bin"); const u16 gMessageBox_Pal[] = INCBIN_U16("graphics/text_window/message_box.gbapal"); const u8 gMessageBox_Gfx[] = INCBIN_U8("graphics/text_window/message_box.4bpp"); diff --git a/src/ground.c b/src/ground.c index ae3cf6c3e0..36dbd31f37 100644 --- a/src/ground.c +++ b/src/ground.c @@ -53,7 +53,7 @@ const struct SpriteTemplate gUnknown_08597178 = { .tileTag = ANIM_TAG_BONE, .paletteTag = ANIM_TAG_BONE, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597170, @@ -64,7 +64,7 @@ const struct SpriteTemplate gUnknown_08597190 = { .tileTag = ANIM_TAG_BONE, .paletteTag = ANIM_TAG_BONE, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597174, @@ -75,7 +75,7 @@ const struct SpriteTemplate gUnknown_085971A8 = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -97,7 +97,7 @@ const struct SpriteTemplate gUnknown_085971CC = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_085971C8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -108,7 +108,7 @@ const struct SpriteTemplate gUnknown_085971E4 = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -119,7 +119,7 @@ const struct SpriteTemplate gUnknown_085971FC = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -130,7 +130,7 @@ const struct SpriteTemplate gUnknown_08597214 = { .tileTag = ANIM_TAG_DIRT_MOUND, .paletteTag = ANIM_TAG_DIRT_MOUND, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index ac37b2ece0..065d25582c 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -6,7 +6,7 @@ #include "pokemon.h" #include "text.h" #include "text_window.h" -#include "alloc.h" +#include "malloc.h" #include "gpu_regs.h" #include "graphics.h" #include "main.h" @@ -101,7 +101,7 @@ static void SpriteCB_GetOnScreenAndAnimate(struct Sprite *sprite); static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u8 unused2); static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2); static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2); -static void sub_8175364(u8 taskId); +static void Task_DoConfettiEffect(u8 taskId); static void sub_81751A4(struct Sprite* sprite); // const rom data @@ -138,9 +138,10 @@ static const struct BgTemplate sHof_BgTemplates[] = static const struct WindowTemplate sHof_WindowTemplate = {0, 2, 2, 0xE, 6, 0xE, 1}; -static const u8 sUnknown_085E5388[] = {0, 1, 2, 0}; +static const u8 sMonInfoTextColors[4] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}; +static const u8 sPlayerInfoTextColors[4] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}; -static const u8 sUnknown_085E538C[] = {0, 2, 3, 0, 4, 5, 0, 0}; +static const u8 sUnused_085E538C[] = {4, 5, 0, 0}; static const struct CompressedSpriteSheet sHallOfFame_ConfettiSpriteSheet[] = { @@ -174,10 +175,10 @@ static const s16 sHallOfFame_MonHalfTeamPositions[3][4] = static const struct OamData sOamData_85E53FC = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, @@ -466,7 +467,7 @@ static void Task_Hof_InitTeamSaveData(u8 taskId) } else { - if (Save_LoadGameData(3) != TRUE) + if (Save_LoadGameData(SAVE_HALL_OF_FAME) != SAVE_STATUS_OK) memset(gDecompressionBuffer, 0, 0x2000); } @@ -497,7 +498,7 @@ static void Task_Hof_InitTeamSaveData(u8 taskId) static void Task_Hof_TrySaveData(u8 taskId) { gGameContinueCallback = CB2_DoHallOfFameScreenDontSaveData; - if (TrySavingData(SAVE_HALL_OF_FAME) == 0xFF && gDamagedSaveSectors != 0) + if (TrySavingData(SAVE_HALL_OF_FAME) == SAVE_STATUS_ERROR && gDamagedSaveSectors != 0) { UnsetBgTilemapBuffer(1); UnsetBgTilemapBuffer(3); @@ -580,7 +581,7 @@ static void Task_Hof_PrintMonInfoAfterAnimating(u8 taskId) if (monSprite->callback == SpriteCallbackDummy) { - monSprite->oam.affineMode = 0; + monSprite->oam.affineMode = ST_OAM_AFFINE_OFF; HallOfFame_PrintMonInfo(currMon, 0, 14); gTasks[taskId].tFrameCount = 120; gTasks[taskId].func = Task_Hof_TryDisplayAnotherMon; @@ -835,7 +836,7 @@ void CB2_DoHallOfFamePC(void) static void Task_HofPC_CopySaveData(u8 taskId) { sub_81980F0(0, 0x1E, 0, 0xC, 0x226); - if (Save_LoadGameData(3) != 1) + if (Save_LoadGameData(SAVE_HALL_OF_FAME) != SAVE_STATUS_OK) { gTasks[taskId].func = Task_HofPC_PrintDataIsCorrupted; } @@ -1063,7 +1064,7 @@ static void Task_HofPC_HandleExit(u8 taskId) static void Task_HofPC_PrintDataIsCorrupted(u8 taskId) { - sub_8198180(gText_UnkCtrlF800Exit, 8, TRUE); + sub_8198180(gText_AButtonExit, 8, TRUE); DrawDialogueFrame(0, 0); AddTextPrinterParameterized2(0, 1, gText_HOFCorrupted, 0, NULL, 2, 1, 3); CopyWindowToVram(0, 3); @@ -1086,7 +1087,7 @@ static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2) { FillWindowPixelBuffer(0, PIXEL_FILL(0)); PutWindowTilemap(0); - AddTextPrinterParameterized3(0, 1, GetStringCenterAlignXOffset(1, gText_WelcomeToHOF, 0xD0), 1, sUnknown_085E5388, 0, gText_WelcomeToHOF); + AddTextPrinterParameterized3(0, 1, GetStringCenterAlignXOffset(1, gText_WelcomeToHOF, 0xD0), 1, sMonInfoTextColors, 0, gText_WelcomeToHOF); CopyWindowToVram(0, 3); } @@ -1122,7 +1123,7 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u *(stringPtr)++ = CHAR_QUESTION_MARK; } stringPtr[0] = EOS; - AddTextPrinterParameterized3(0, 1, 0x10, 1, sUnknown_085E5388, -1, text); + AddTextPrinterParameterized3(0, 1, 0x10, 1, sMonInfoTextColors, -1, text); } // nick, species names, gender and level @@ -1131,13 +1132,13 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u if (currMon->species == SPECIES_EGG) { width = GetStringCenterAlignXOffset(1, text, 0xD0); - AddTextPrinterParameterized3(0, 1, width, 1, sUnknown_085E5388, -1, text); + AddTextPrinterParameterized3(0, 1, width, 1, sMonInfoTextColors, -1, text); CopyWindowToVram(0, 3); } else { width = GetStringRightAlignXOffset(1, text, 0x80); - AddTextPrinterParameterized3(0, 1, width, 1, sUnknown_085E5388, -1, text); + AddTextPrinterParameterized3(0, 1, width, 1, sMonInfoTextColors, -1, text); text[0] = CHAR_SLASH; stringPtr = StringCopy(text + 1, gSpeciesNames[currMon->species]); @@ -1158,15 +1159,15 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u } stringPtr[0] = EOS; - AddTextPrinterParameterized3(0, 1, 0x80, 1, sUnknown_085E5388, -1, text); + AddTextPrinterParameterized3(0, 1, 0x80, 1, sMonInfoTextColors, -1, text); stringPtr = StringCopy(text, gText_Level); ConvertIntToDecimalStringN(stringPtr, currMon->lvl, STR_CONV_MODE_LEFT_ALIGN, 3); - AddTextPrinterParameterized3(0, 1, 0x24, 0x11, sUnknown_085E5388, -1, text); + AddTextPrinterParameterized3(0, 1, 0x24, 0x11, sMonInfoTextColors, -1, text); stringPtr = StringCopy(text, gText_IDNumber); ConvertIntToDecimalStringN(stringPtr, (u16)(currMon->tid), STR_CONV_MODE_LEADING_ZEROS, 5); - AddTextPrinterParameterized3(0, 1, 0x68, 0x11, sUnknown_085E5388, -1, text); + AddTextPrinterParameterized3(0, 1, 0x68, 0x11, sMonInfoTextColors, -1, text); CopyWindowToVram(0, 3); } @@ -1181,13 +1182,13 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2) FillWindowPixelBuffer(1, PIXEL_FILL(1)); PutWindowTilemap(1); DrawStdFrameWithCustomTileAndPalette(1, FALSE, 0x21D, 0xD); - AddTextPrinterParameterized3(1, 1, 0, 1, sUnknown_085E538C, -1, gText_Name); + AddTextPrinterParameterized3(1, 1, 0, 1, sPlayerInfoTextColors, -1, gText_Name); width = GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 0x70); - AddTextPrinterParameterized3(1, 1, width, 1, sUnknown_085E538C, -1, gSaveBlock2Ptr->playerName); + AddTextPrinterParameterized3(1, 1, width, 1, sPlayerInfoTextColors, -1, gSaveBlock2Ptr->playerName); trainerId = (gSaveBlock2Ptr->playerTrainerId[0]) | (gSaveBlock2Ptr->playerTrainerId[1] << 8); - AddTextPrinterParameterized3(1, 1, 0, 0x11, sUnknown_085E538C, 0, gText_IDNumber); + AddTextPrinterParameterized3(1, 1, 0, 0x11, sPlayerInfoTextColors, 0, gText_IDNumber); text[0] = (trainerId % 100000) / 10000 + CHAR_0; text[1] = (trainerId % 10000) / 1000 + CHAR_0; text[2] = (trainerId % 1000) / 100 + CHAR_0; @@ -1195,9 +1196,9 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2) text[4] = (trainerId % 10) / 1 + CHAR_0; text[5] = EOS; width = GetStringRightAlignXOffset(1, text, 0x70); - AddTextPrinterParameterized3(1, 1, width, 0x11, sUnknown_085E538C, -1, text); + AddTextPrinterParameterized3(1, 1, width, 0x11, sPlayerInfoTextColors, -1, text); - AddTextPrinterParameterized3(1, 1, 0, 0x21, sUnknown_085E538C, -1, gText_MainMenuTime); + AddTextPrinterParameterized3(1, 1, 0, 0x21, sPlayerInfoTextColors, -1, gText_Time); text[0] = (gSaveBlock2Ptr->playTimeHours / 100) + CHAR_0; text[1] = (gSaveBlock2Ptr->playTimeHours % 100) / 10 + CHAR_0; text[2] = (gSaveBlock2Ptr->playTimeHours % 10) + CHAR_0; @@ -1213,7 +1214,7 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2) text[6] = EOS; width = GetStringRightAlignXOffset(1, text, 0x70); - AddTextPrinterParameterized3(1, 1, width, 0x21, sUnknown_085E538C, -1, text); + AddTextPrinterParameterized3(1, 1, width, 0x21, sPlayerInfoTextColors, -1, text); CopyWindowToVram(1, 3); } @@ -1386,12 +1387,13 @@ static bool8 sub_81751FC(void) return FALSE; } -void sub_8175280(void) +// Used when a Battle Dome tourney is won +void DoConfettiEffect(void) { u8 taskId; gSpecialVar_0x8004 = 180; - taskId = CreateTask(sub_8175364, 0); + taskId = CreateTask(Task_DoConfettiEffect, 0); if (taskId != 0xFF) { gTasks[taskId].data[1] = gSpecialVar_0x8004; @@ -1399,11 +1401,11 @@ void sub_8175280(void) } } -static void sub_81752C0(void) +static void StopConfettiEffect(void) { u8 taskId; - if ((taskId = FindTaskIdByFunc(sub_8175364)) != 0xFF) + if ((taskId = FindTaskIdByFunc(Task_DoConfettiEffect)) != 0xFF) DestroyTask(taskId); sub_8152254(); @@ -1436,7 +1438,7 @@ static void sub_81752F4(struct UnkStruct_81520A8 *structPtr) } } -static void sub_8175364(u8 taskId) +static void Task_DoConfettiEffect(u8 taskId) { u32 var = 0; u16 *data = gTasks[taskId].data; @@ -1474,7 +1476,7 @@ static void sub_8175364(u8 taskId) data[0] = 0xFF; break; case 0xFF: - sub_81752C0(); + StopConfettiEffect(); gSpecialVar_0x8004 = var; gSpecialVar_0x8005 = 0xFFFF; break; diff --git a/src/hof_pc.c b/src/hof_pc.c index 01015ee813..327749179d 100644 --- a/src/hof_pc.c +++ b/src/hof_pc.c @@ -27,7 +27,7 @@ static void ReshowPCMenuAfterHallOfFamePC(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - ScrSpecial_CreatePCMenu(); + ScriptMenu_CreatePCMultichoice(); ScriptMenu_DisplayPCStartupPrompt(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); CreateTask(Task_WaitForPaletteFade, 10); diff --git a/src/ice.c b/src/ice.c index 522fb1bbf1..cc8b1d333e 100644 --- a/src/ice.c +++ b/src/ice.c @@ -66,7 +66,7 @@ const struct SpriteTemplate gUnknown_08595A58 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -155,7 +155,7 @@ const struct SpriteTemplate gUnknown_08595AD0 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524B24, + .oam = &gOamData_AffineDouble_ObjBlend_8x16, .anims = gUnknown_08595AA8, .images = NULL, .affineAnims = gUnknown_08595ACC, @@ -166,7 +166,7 @@ const struct SpriteTemplate gUnknown_08595AE8 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524A24, + .oam = &gOamData_AffineOff_ObjBlend_8x8, .anims = gUnknown_08595AAC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -188,7 +188,7 @@ const struct SpriteTemplate gUnknown_08595B14 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524AC4, + .oam = &gOamData_AffineNormal_ObjBlend_8x16, .anims = gUnknown_08595AA8, .images = NULL, .affineAnims = gUnknown_08595B10, @@ -199,7 +199,7 @@ const struct SpriteTemplate gUnknown_08595B2C = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524A24, + .oam = &gOamData_AffineOff_ObjBlend_8x8, .anims = gUnknown_08595AAC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -223,7 +223,7 @@ const struct SpriteTemplate gUnknown_08595B68 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524AC4, + .oam = &gOamData_AffineNormal_ObjBlend_8x16, .anims = gUnknown_08595AA8, .images = NULL, .affineAnims = gUnknown_08595B64, @@ -234,7 +234,7 @@ const struct SpriteTemplate gUnknown_08595B80 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524A84, + .oam = &gOamData_AffineNormal_ObjBlend_8x8, .anims = gUnknown_08595AAC, .images = NULL, .affineAnims = gUnknown_08595B64, @@ -245,7 +245,7 @@ const struct SpriteTemplate gUnknown_08595B98 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gUnknown_08595AB0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -256,7 +256,7 @@ const struct SpriteTemplate gUnknown_08595BB0 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_08595AB4, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -267,7 +267,7 @@ const struct SpriteTemplate gUnknown_08595BC8 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gUnknown_08595AB0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -295,7 +295,7 @@ const struct SpriteTemplate gUnknown_08595C04 = { .tileTag = ANIM_TAG_ICE_SPIKES, .paletteTag = ANIM_TAG_ICE_SPIKES, - .oam = &gUnknown_08524A64, + .oam = &gOamData_AffineOff_ObjBlend_8x16, .anims = gUnknown_08595C00, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -318,7 +318,7 @@ const struct SpriteTemplate gUnknown_08595C2C = { .tileTag = ANIM_TAG_MIST_CLOUD, .paletteTag = ANIM_TAG_MIST_CLOUD, - .oam = &gUnknown_08524A54, + .oam = &gOamData_AffineOff_ObjBlend_32x16, .anims = gUnknown_08595C28, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -329,7 +329,7 @@ const struct SpriteTemplate gUnknown_08595C44 = { .tileTag = ANIM_TAG_PURPLE_GAS_CLOUD, .paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD, - .oam = &gUnknown_08524A54, + .oam = &gOamData_AffineOff_ObjBlend_32x16, .anims = gUnknown_08595C28, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -345,7 +345,7 @@ const struct SpriteTemplate gUnknown_08595C70 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -361,7 +361,7 @@ const struct SpriteTemplate gUnknown_08595C9C = { .tileTag = ANIM_TAG_PURPLE_GAS_CLOUD, .paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD, - .oam = &gUnknown_08524A54, + .oam = &gOamData_AffineOff_ObjBlend_32x16, .anims = gUnknown_08595C28, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -422,7 +422,7 @@ const struct SpriteTemplate gUnknown_08595D2C = { .tileTag = ANIM_TAG_HAIL, .paletteTag = ANIM_TAG_HAIL, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08595D1C, @@ -433,7 +433,7 @@ const struct SpriteTemplate gUnknown_08595D44 = { .tileTag = ANIM_TAG_HAIL, .paletteTag = ANIM_TAG_HAIL, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08595D28, @@ -504,7 +504,7 @@ const struct SpriteTemplate gUnknown_08595DE4 = { .tileTag = ANIM_TAG_ICE_CHUNK, .paletteTag = ANIM_TAG_ICE_CHUNK, - .oam = &gUnknown_085249D4, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, .anims = gUnknown_08595D78, .images = NULL, .affineAnims = gUnknown_08595DD0, @@ -515,7 +515,7 @@ const struct SpriteTemplate gUnknown_08595DFC = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gUnknown_08595AAC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -998,7 +998,7 @@ void AnimTask_Haze1(u8 taskId) SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); sub_80A6B30(&animBg); - LoadBgTiles(animBg.bgId, gWeatherFog1Tiles, 0x800, animBg.tilesOffset); + LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset); sub_80A6D60(&animBg, gBattleAnimFogTilemap, 0); LoadPalette(&gUnknown_083970E8, animBg.paletteId * 16, 32); @@ -1105,7 +1105,7 @@ void AnimTask_LoadMistTiles(u8 taskId) SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); sub_80A6B30(&animBg); - LoadBgTiles(animBg.bgId, gWeatherFog1Tiles, 0x800, animBg.tilesOffset); + LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset); sub_80A6D60(&animBg, gBattleAnimFogTilemap, 0); LoadPalette(&gUnknown_083970E8, animBg.paletteId * 16, 32); diff --git a/src/image_processing_effects.c b/src/image_processing_effects.c new file mode 100644 index 0000000000..13794faf0b --- /dev/null +++ b/src/image_processing_effects.c @@ -0,0 +1,1226 @@ +#include "global.h" +#include "image_processing_effects.h" +#include "contest_painting.h" +#include "constants/rgb.h" + +// IWRAM common +u8 gCanvasColumnStart; +u16 (*gCanvasPixels)[][32]; +u8 gCanvasRowEnd; +u8 gCanvasHeight; +u8 gCanvasColumnEnd; +u8 gCanvasRowStart; +u8 gCanvasMonPersonality; +u8 gCanvasWidth; +u16 *gCanvasPalette; +u16 gCanvasPaletteStart; + +static void ApplyImageEffect_Pointillism(void); +static void ApplyImageEffect_Blur(void); +static void ApplyImageEffect_BlackOutline(void); +static void ApplyImageEffect_Invert(void); +static void ApplyImageEffect_BlackAndWhite(void); +static void ApplyImageEffect_BlurRight(void); +static void ApplyImageEffect_BlurDown(void); +static void ApplyImageEffect_Shimmer(void); +static void ApplyImageEffect_Grayscale(void); +static void ApplyImageEffect_PersonalityColor(u8); +static void ApplyImageEffect_RedChannelGrayscale(u8); +static void ApplyImageEffect_RedChannelGrayscaleHighlight(u8); +static void AddPointillismPoints(u16); +static u16 ConvertColorToGrayscale(u16*); +static u16 QuantizePixel_Blur(u16*, u16*, u16*); +static u16 QuantizePixel_PersonalityColor(u16*, u8); +static u16 QuantizePixel_BlackAndWhite(u16*); +static u16 QuantizePixel_BlackOutline(u16*, u16*); +static u16 QuantizePixel_Invert(u16*); +static u16 QuantizePixel_BlurHard(u16*, u16*, u16*); +static u16 QuantizePixel_MotionBlur(u16*, u16*); +static u16 GetColorFromPersonality(u8); +static void QuantizePalette_Standard(bool8); +static void SetPresetPalette_PrimaryColors(void); +static void QuantizePalette_PrimaryColors(void); +static void SetPresetPalette_Grayscale(void); +static void QuantizePalette_Grayscale(void); +static void SetPresetPalette_GrayscaleSmall(void); +static void QuantizePalette_GrayscaleSmall(void); +static void SetPresetPalette_BlackAndWhite(void); +static void QuantizePalette_BlackAndWhite(void); +static u16 QuantizePixel_Standard(u16*); +static u16 QuantizePixel_GrayscaleSmall(u16*); +static u16 QuantizePixel_Grayscale(u16*); +static u16 QuantizePixel_PrimaryColors(u16*); + +extern const u8 gPointillismPoints[][3]; + +void ApplyImageProcessingEffects(struct ImageProcessingContext *context) +{ + gCanvasPixels = context->canvasPixels; + gCanvasMonPersonality = context->personality; + gCanvasColumnStart = context->columnStart; + gCanvasRowStart = context->rowStart; + gCanvasColumnEnd = context->columnEnd; + gCanvasRowEnd = context->rowEnd; + gCanvasWidth = context->canvasWidth; + gCanvasHeight = context->canvasHeight; + + switch (context->effect) + { + case IMAGE_EFFECT_POINTILLISM: + ApplyImageEffect_Pointillism(); + break; + case IMAGE_EFFECT_BLUR: + ApplyImageEffect_Blur(); + break; + case IMAGE_EFFECT_OUTLINE_COLORED: + ApplyImageEffect_BlackOutline(); + ApplyImageEffect_PersonalityColor(gCanvasMonPersonality); + break; + case IMAGE_EFFECT_INVERT_BLACK_WHITE: + ApplyImageEffect_BlackOutline(); + ApplyImageEffect_Invert(); + ApplyImageEffect_BlackAndWhite(); + case IMAGE_EFFECT_INVERT: + ApplyImageEffect_Invert(); + break; + case IMAGE_EFFECT_THICK_BLACK_WHITE: + ApplyImageEffect_BlackOutline(); + ApplyImageEffect_BlurRight(); + ApplyImageEffect_BlurRight(); + ApplyImageEffect_BlurDown(); + ApplyImageEffect_BlackAndWhite(); + break; + case IMAGE_EFFECT_SHIMMER: + ApplyImageEffect_Shimmer(); + break; + case IMAGE_EFFECT_OUTLINE: + ApplyImageEffect_BlackOutline(); + break; + case IMAGE_EFFECT_BLUR_RIGHT: + ApplyImageEffect_BlurRight(); + break; + case IMAGE_EFFECT_BLUR_DOWN: + ApplyImageEffect_BlurDown(); + break; + case IMAGE_EFFECT_GRAYSCALE_LIGHT: + ApplyImageEffect_Grayscale(); + ApplyImageEffect_RedChannelGrayscale(3); + break; + case IMAGE_EFFECT_CHARCOAL: + ApplyImageEffect_BlackOutline(); + ApplyImageEffect_BlurRight(); + ApplyImageEffect_BlurDown(); + ApplyImageEffect_BlackAndWhite(); + ApplyImageEffect_Blur(); + ApplyImageEffect_Blur(); + ApplyImageEffect_RedChannelGrayscale(2); + ApplyImageEffect_RedChannelGrayscaleHighlight(4); + break; + } +} + +static void ApplyImageEffect_RedChannelGrayscale(u8 delta) +{ + u8 i, j; + + for (j = 0; j < gCanvasRowEnd; j++) + { + u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth]; + u16 *pixel = &pixelRow[gCanvasColumnStart]; + for (i = 0; i < gCanvasColumnEnd; i++, pixel++) + { + if (!(0x8000 & *pixel)) + { + // Gets the grayscale value, based on the pixel's red channel. + // Also adds a delta to skew lighter or darker. + u8 grayValue = (31 & *pixel); + grayValue += delta; + if (grayValue > 31) + grayValue = 31; + + *pixel = RGB2(grayValue, grayValue, grayValue); + } + } + } +} + +static void ApplyImageEffect_RedChannelGrayscaleHighlight(u8 highlight) +{ + u8 i, j; + + for (j = 0; j < gCanvasRowEnd; j++) + { + u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth]; + u16 *pixel = &pixelRow[gCanvasColumnStart]; + for (i = 0; i < gCanvasColumnEnd; i++, pixel++) + { + if (!(0x8000 & *pixel)) + { + u8 grayValue = (31 & *pixel); + if (grayValue > 31 - highlight) + grayValue = 31 - (highlight >> 1); + + *pixel = RGB2(grayValue, grayValue, grayValue); + } + } + } +} + +static void ApplyImageEffect_Pointillism(void) +{ + u32 i; + for (i = 0; i < 3200; i++) + AddPointillismPoints(i); +} + +static void ApplyImageEffect_Grayscale(void) +{ + u8 i, j; + + for (j = 0; j < gCanvasRowEnd; j++) + { + u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth]; + u16 *pixel = &pixelRow[gCanvasColumnStart]; + for (i = 0; i < gCanvasColumnEnd; i++, pixel++) + { + if (!(0x8000 & *pixel)) + *pixel = ConvertColorToGrayscale(pixel); + } + } +} + +static void ApplyImageEffect_Blur(void) +{ + u8 i, j; + + for (i = 0; i < gCanvasColumnEnd; i++) + { + u16 *pixelRow = &(*gCanvasPixels)[0][gCanvasRowStart * gCanvasWidth]; + u16 *pixel = &pixelRow[gCanvasColumnStart + i]; + u16 prevPixel = *pixel; + + j = 1; + pixel += gCanvasWidth; + while (j < gCanvasRowEnd - 1) + { + if (!(0x8000 & *pixel)) + { + *pixel = QuantizePixel_Blur(&prevPixel, pixel, pixel + gCanvasWidth); + prevPixel = *pixel; + } + + j++; + pixel += gCanvasWidth; + } + } +} + +static void ApplyImageEffect_PersonalityColor(u8 personality) +{ + u8 i, j; + + for (j = 0; j < gCanvasRowEnd; j++) + { + u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth]; + u16 *pixel = &pixelRow[gCanvasColumnStart]; + for (i = 0; i < gCanvasColumnEnd; i++, pixel++) + { + if (!(0x8000 & *pixel)) + *pixel = QuantizePixel_PersonalityColor(pixel, personality); + } + } +} + +static void ApplyImageEffect_BlackAndWhite(void) +{ + u8 i, j; + + for (j = 0; j < gCanvasRowEnd; j++) + { + u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth]; + u16 *pixel = &pixelRow[gCanvasColumnStart]; + for (i = 0; i < gCanvasColumnEnd; i++, pixel++) + { + if (!(0x8000 & *pixel)) + *pixel = QuantizePixel_BlackAndWhite(pixel); + } + } +} + +static void ApplyImageEffect_BlackOutline(void) +{ + u8 i, j; + u16 *pixel; + + // Handle top row of pixels first. + for (j = 0; j < gCanvasRowEnd; j++) + { + u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth]; + pixel = &pixelRow[gCanvasColumnStart]; + *pixel = QuantizePixel_BlackOutline(pixel, pixel + 1); + for (i = 1, pixel++; i < gCanvasColumnEnd - 1; i++, pixel++) + { + *pixel = QuantizePixel_BlackOutline(pixel, pixel + 1); + *pixel = QuantizePixel_BlackOutline(pixel, pixel - 1); + } + + *pixel = QuantizePixel_BlackOutline(pixel, pixel - 1); + } + + // Handle each column from left to right. + for (i = 0; i < gCanvasColumnEnd; i++) + { + u16 *pixelRow = &(*gCanvasPixels)[0][gCanvasRowStart * gCanvasWidth]; + pixel = &pixelRow[gCanvasColumnStart + i]; + *pixel = QuantizePixel_BlackOutline(pixel, pixel + gCanvasWidth); + for (j = 1, pixel += gCanvasWidth; j < gCanvasRowEnd - 1; j++, pixel += gCanvasWidth) + { + *pixel = QuantizePixel_BlackOutline(pixel, pixel + gCanvasWidth); + *pixel = QuantizePixel_BlackOutline(pixel, pixel - gCanvasWidth); + } + + *pixel = QuantizePixel_BlackOutline(pixel, pixel - gCanvasWidth); + } +} + +static void ApplyImageEffect_Invert(void) +{ + u8 i, j; + + for (j = 0; j < gCanvasRowEnd; j++) + { + u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth]; + u16 *pixel = &pixelRow[gCanvasColumnStart]; + for (i = 0; i < gCanvasColumnEnd; i++, pixel++) + { + if (!(0x8000 & *pixel)) + *pixel = QuantizePixel_Invert(pixel); + } + } +} + +static void ApplyImageEffect_Shimmer(void) +{ + u8 i, j; + u16 *pixel; + u16 prevPixel; + + // First, invert all of the colors. + pixel = (*gCanvasPixels)[0]; + for (i = 0; i < 64; i++) + { + for (j = 0; j < 64; j++, pixel++) + { + if (!(0x8000 & *pixel)) + *pixel = QuantizePixel_Invert(pixel); + } + } + + // Blur the pixels twice. + for (j = 0; j < 64; j++) + { + pixel = &(*gCanvasPixels)[0][j]; + prevPixel = *pixel; + *pixel = 0x8000; + for (i = 1, pixel += 64; i < 63; i++, pixel += 64) + { + if (!(0x8000 & *pixel)) + { + *pixel = QuantizePixel_BlurHard(&prevPixel, pixel, pixel + 64); + prevPixel = *pixel; + } + } + + *pixel = 0x8000; + pixel = &(*gCanvasPixels)[0][j]; + prevPixel = *pixel; + *pixel = 0x8000; + for (i = 1, pixel += 64; i < 63; i++, pixel += 64) + { + if (!(0x8000 & *pixel)) + { + *pixel = QuantizePixel_BlurHard(&prevPixel, pixel, pixel + 64); + prevPixel = *pixel; + } + } + + *pixel = 0x8000; + } + + // Finally, invert colors back to the original color space. + // The above blur causes the outline areas to darken, which makes + // this inversion give the effect of light outlines. + pixel = (*gCanvasPixels)[0]; + for (i = 0; i < 64; i++) + { + for (j = 0; j < 64; j++, pixel++) + { + if (!(0x8000 & *pixel)) + *pixel = QuantizePixel_Invert(pixel); + } + } +} + +static void ApplyImageEffect_BlurRight(void) +{ + u8 i, j; + + for (j = 0; j < gCanvasRowEnd; j++) + { + u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth]; + u16 *pixel = &pixelRow[gCanvasColumnStart]; + u16 prevPixel = *pixel; + for (i = 1, pixel++; i < gCanvasColumnEnd - 1; i++, pixel++) + { + if (!(0x8000 & *pixel)) + { + *pixel = QuantizePixel_MotionBlur(&prevPixel, pixel); + prevPixel = *pixel; + } + } + } +} + +static void ApplyImageEffect_BlurDown(void) +{ + u8 i, j; + + for (i = 0; i < gCanvasColumnEnd; i++) + { + u16 *pixelRow = &(*gCanvasPixels)[0][gCanvasRowStart * gCanvasWidth]; + u16 *pixel = &pixelRow[gCanvasColumnStart + i]; + u16 prevPixel = *pixel; + for (j = 1, pixel += gCanvasWidth; j < gCanvasRowEnd - 1; j++, pixel += gCanvasWidth) + { + if (!(0x8000 & *pixel)) + { + *pixel = QuantizePixel_MotionBlur(&prevPixel, pixel); + prevPixel = *pixel; + } + } + } +} + +struct PointillismPoint +{ + u8 column; + u8 row; + u16 delta; +}; + +static void AddPointillismPoints(u16 arg0) +{ + u8 i; + bool8 offsetDownLeft; + u8 colorType; + struct PointillismPoint points[6]; + + points[0].column = gPointillismPoints[arg0][0]; + points[0].row = gPointillismPoints[arg0][1]; + points[0].delta = (gPointillismPoints[arg0][2] >> 3) & 7; + + colorType = (gPointillismPoints[arg0][2] >> 1) & 3; + offsetDownLeft = gPointillismPoints[arg0][2] & 1; + for (i = 1; i < points[0].delta; i++) + { + if (!offsetDownLeft) + { + points[i].column = points[0].column - i; + points[i].row = points[0].row + i; + } + else + { + points[i].column = points[0].column + 1; + points[i].row = points[0].row - 1; + } + + if (points[i].column > 63 || points[i].row > 63) + { + points[0].delta = i - 1; + break; + } + + points[i].delta = points[0].delta - i; + } + + for (i = 0; i < points[0].delta; i++) + { + u16 *pixel = &(*gCanvasPixels)[points[i].row * 2][points[i].column]; + + if (!(0x8000 & *pixel)) + { + u16 red = (*pixel) & 0x1F; + u16 green = (*pixel >> 5) & 0x1F; + u16 blue = (*pixel >> 10) & 0x1F; + + switch (colorType) + { + case 0: + case 1: + switch (((gPointillismPoints[arg0][2] >> 3) & 7) % 3) + { + case 0: + if (red >= points[i].delta) + red -= points[i].delta; + else + red = 0; + break; + case 1: + if (green >= points[i].delta) + green -= points[i].delta; + else + green = 0; + break; + case 2: + if (blue >= points[i].delta) + blue -= points[i].delta; + else + blue = 0; + break; + } + break; + case 2: + case 3: + red += points[i].delta; + green += points[i].delta; + blue += points[i].delta; + if (red > 31) + red = 31; + if (green > 31) + green = 31; + if (blue > 31) + blue = 31; + break; + } + + *pixel = RGB2(red, green, blue); + } + } +} + +static u16 ConvertColorToGrayscale(u16 *color) +{ + s32 clr = *color; + s32 r = clr & 0x1F; + s32 g = (clr >> 5) & 0x1F; + s32 b = (clr >> 10) & 0x1F; + s32 gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; + return RGB2(gray, gray, gray); +} + +// The dark colors are the colored edges of the Cool painting effect. +// Everything else is white. +static u16 QuantizePixel_PersonalityColor(u16 *color, u8 personality) +{ + u16 red = *color & 0x1F; + u16 green = (*color >> 5) & 0x1F; + u16 blue = (*color >> 10) & 0x1F; + + if (red < 17 && green < 17 && blue < 17) + return GetColorFromPersonality(personality); + else + return RGB_WHITE; +} + +// Based on the given value, which comes from the first 8 bits of +// the mon's personality value, return a color. +static u16 GetColorFromPersonality(u8 personality) +{ + u16 red = 0; + u16 green = 0; + u16 blue = 0; + u8 strength = (personality / 6) % 3; + u8 colorType = personality % 6; + + switch (colorType) + { + case 0: + // Teal color + green = 21 - strength; + blue = green; + red = 0; + break; + case 1: + // Yellow color + blue = 0; + red = 21 - strength; + green = red; + break; + case 2: + // Purple color + blue = 21 - strength; + green = 0; + red = blue; + break; + case 3: + // Red color + blue = 0; + green = 0; + red = 23 - strength; + break; + case 4: + // Blue color + blue = 23 - strength; + green = 0; + red = 0; + break; + case 5: + // Green color + blue = 0; + green = 23 - strength; + red = 0; + break; + } + + return RGB2(red, green, blue); +} + +static u16 QuantizePixel_BlackAndWhite(u16 *color) +{ + u16 red = *color & 0x1F; + u16 green = (*color >> 5) & 0x1F; + u16 blue = (*color >> 10) & 0x1F; + + if (red < 17 && green < 17 && blue < 17) + return RGB_BLACK; + else + return RGB_WHITE; +} + +static u16 QuantizePixel_BlackOutline(u16 *pixelA, u16 *pixelB) +{ + if (*pixelA != RGB_BLACK) + { + if (*pixelA & 0x8000) + return 0x8000; + if (*pixelB & 0x8000) + return RGB_BLACK; + + return *pixelA; + } + + return RGB_BLACK; +} + +static u16 QuantizePixel_Invert(u16 *color) +{ + u16 red = *color & 0x1F; + u16 green = (*color >> 5) & 0x1F; + u16 blue = (*color >> 10) & 0x1F; + + red = 31 - red; + green = 31 - green; + blue = 31 - blue; + + return RGB2(red, green, blue); +} + +static u16 QuantizePixel_MotionBlur(u16 *prevPixel, u16 *curPixel) +{ + u16 pixelChannels[2][3]; + u16 diffs[3]; + u8 i; + u16 largestDiff; + u16 red, green, blue; + + if (*prevPixel == *curPixel) + return *curPixel; + + pixelChannels[0][0] = (*prevPixel >> 0) & 0x1F; + pixelChannels[0][1] = (*prevPixel >> 5) & 0x1F; + pixelChannels[0][2] = (*prevPixel >> 10) & 0x1F; + pixelChannels[1][0] = (*curPixel >> 0) & 0x1F; + pixelChannels[1][1] = (*curPixel >> 5) & 0x1F; + pixelChannels[1][2] = (*curPixel >> 10) & 0x1F; + + // Don't blur light colors. + if (pixelChannels[0][0] > 25 && pixelChannels[0][1] > 25 && pixelChannels[0][2] > 25) + return *curPixel; + if (pixelChannels[1][0] > 25 && pixelChannels[1][1] > 25 && pixelChannels[1][2] > 25) + return *curPixel; + + for (i = 0; i < 3; i++) + { + if (pixelChannels[0][i] > pixelChannels[1][i]) + diffs[i] = pixelChannels[0][i] - pixelChannels[1][i]; + else + diffs[i] = pixelChannels[1][i] - pixelChannels[0][i]; + } + + // Find the largest diff of any of the color channels. + if (diffs[0] >= diffs[1]) + { + if (diffs[0] >= diffs[2]) + largestDiff = diffs[0]; + else if (diffs[1] >= diffs[2]) + largestDiff = diffs[1]; + else + largestDiff = diffs[2]; + } + else + { + if (diffs[1] >= diffs[2]) + largestDiff = diffs[1]; + else if (diffs[2] >= diffs[0]) + largestDiff = diffs[2]; + else + largestDiff = diffs[0]; + } + + red = (pixelChannels[1][0] * (31 - largestDiff / 2)) / 31; + green = (pixelChannels[1][1] * (31 - largestDiff / 2)) / 31; + blue = (pixelChannels[1][2] * (31 - largestDiff / 2)) / 31; + return RGB2(red, green, blue); +} + +static u16 QuantizePixel_Blur(u16 *prevPixel, u16 *curPixel, u16 *nextPixel) +{ + u16 red, green, blue; + u16 prevAvg, curAvg, nextAvg; + u16 prevDiff, nextDiff; + u32 diff; + u16 factor; + + if (*prevPixel == *curPixel && *nextPixel == *curPixel) + return *curPixel; + + red = (*curPixel >> 0) & 0x1F; + green = (*curPixel >> 5) & 0x1F; + blue = (*curPixel >> 10) & 0x1F; + + prevAvg = (((*prevPixel >> 0) & 0x1F) + ((*prevPixel >> 5) & 0x1F) + ((*prevPixel >> 10) & 0x1F)) / 3; + curAvg = (((*curPixel >> 0) & 0x1F) + ((*curPixel >> 5) & 0x1F) + ((*curPixel >> 10) & 0x1F)) / 3; + nextAvg = (((*nextPixel >> 0) & 0x1F) + ((*nextPixel >> 5) & 0x1F) + ((*nextPixel >> 10) & 0x1F)) / 3; + + if (prevAvg == curAvg && nextAvg == curAvg) + return *curPixel; + + if (prevAvg > curAvg) + prevDiff = prevAvg - curAvg; + else + prevDiff = curAvg - prevAvg; + + if (nextAvg > curAvg) + nextDiff = nextAvg - curAvg; + else + nextDiff = curAvg - nextAvg; + + if (prevDiff >= nextDiff) + diff = prevDiff; + else + diff = nextDiff; + + factor = 31 - diff / 2; + red = (red * factor) / 31; + green = (green * factor) / 31; + blue = (blue * factor) / 31; + return RGB2(red, green, blue); +} + +static u16 QuantizePixel_BlurHard(u16 *prevPixel, u16 *curPixel, u16 *nextPixel) +{ + u16 red, green, blue; + u16 prevAvg, curAvg, nextAvg; + u16 prevDiff, nextDiff; + u32 diff; + u16 factor; + + if (*prevPixel == *curPixel && *nextPixel == *curPixel) + return *curPixel; + + red = (*curPixel >> 0) & 0x1F; + green = (*curPixel >> 5) & 0x1F; + blue = (*curPixel >> 10) & 0x1F; + + prevAvg = (((*prevPixel >> 0) & 0x1F) + ((*prevPixel >> 5) & 0x1F) + ((*prevPixel >> 10) & 0x1F)) / 3; + curAvg = (((*curPixel >> 0) & 0x1F) + ((*curPixel >> 5) & 0x1F) + ((*curPixel >> 10) & 0x1F)) / 3; + nextAvg = (((*nextPixel >> 0) & 0x1F) + ((*nextPixel >> 5) & 0x1F) + ((*nextPixel >> 10) & 0x1F)) / 3; + + if (prevAvg == curAvg && nextAvg == curAvg) + return *curPixel; + + if (prevAvg > curAvg) + prevDiff = prevAvg - curAvg; + else + prevDiff = curAvg - prevAvg; + + if (nextAvg > curAvg) + nextDiff = nextAvg - curAvg; + else + nextDiff = curAvg - nextAvg; + + if (prevDiff >= nextDiff) + diff = prevDiff; + else + diff = nextDiff; + + factor = 31 - diff; + red = (red * factor) / 31; + green = (green * factor) / 31; + blue = (blue * factor) / 31; + return RGB2(red, green, blue); +} + +void ConvertImageProcessingToGBA(struct ImageProcessingContext *context) +{ + u16 i, j, k; + u16 *src, *dest, *src_, *dest_; + u16 width, height; + + width = context->canvasWidth >> 3; + height = context->canvasHeight >> 3; + src_ = context->canvasPixels; + dest_ = context->dest; + + if (context->var_16 == 2) + { + for (i = 0; i < height; i++) + { + for (j = 0; j < width; j++) + { + for (k = 0; k < 8; k++) + { + dest = dest_ + ((i * width + j) << 5) + (k << 2); + src = src_ + ((((i << 3) + k) << 3) * width) + (j << 3); + + dest[0] = src[0] | (src[1] << 8); + dest[1] = src[2] | (src[3] << 8); + dest[2] = src[4] | (src[5] << 8); + dest[3] = src[6] | (src[7] << 8); + } + } + } + } + else + { + for (i = 0; i < height; i++) + { + for (j = 0; j < width; j++) + { + for (k = 0; k < 8; k++) + { + dest = dest_ + ((i * width + j) << 4) + (k << 1); + src = src_ + ((((i << 3) + k) << 3) * width) + (j << 3); + + dest[0] = src[0] | (src[1] << 4) | (src[2] << 8) | (src[3] << 0xC); + dest[1] = src[4] | (src[5] << 4) | (src[6] << 8) | (src[7] << 0xC); + } + } + } + } +} + +void ApplyImageProcessingQuantization(struct ImageProcessingContext *context) +{ + gCanvasPaletteStart = context->paletteStart * 16; + gCanvasPalette = &context->canvasPalette[gCanvasPaletteStart]; + gCanvasPixels = context->canvasPixels; + gCanvasColumnStart = context->columnStart; + gCanvasRowStart = context->rowStart; + gCanvasColumnEnd = context->columnEnd; + gCanvasRowEnd = context->rowEnd; + gCanvasWidth = context->canvasWidth; + gCanvasHeight = context->canvasHeight; + + switch (context->quantizeEffect) + { + case QUANTIZE_EFFECT_STANDARD: + QuantizePalette_Standard(FALSE); + break; + case QUANTIZE_EFFECT_STANDARD_LIMITED_COLORS: + QuantizePalette_Standard(TRUE); + break; + case QUANTIZE_EFFECT_PRIMARY_COLORS: + SetPresetPalette_PrimaryColors(); + QuantizePalette_PrimaryColors(); + break; + case QUANTIZE_EFFECT_GRAYSCALE: + SetPresetPalette_Grayscale(); + QuantizePalette_Grayscale(); + break; + case QUANTIZE_EFFECT_GRAYSCALE_SMALL: + SetPresetPalette_GrayscaleSmall(); + QuantizePalette_GrayscaleSmall(); + break; + case QUANTIZE_EFFECT_BLACK_WHITE: + SetPresetPalette_BlackAndWhite(); + QuantizePalette_BlackAndWhite(); + break; + } +} + +static void SetPresetPalette_PrimaryColors(void) +{ + gCanvasPalette[0] = RGB2(0, 0, 0); + gCanvasPalette[1] = RGB2(6, 6, 6); + gCanvasPalette[2] = RGB2(29, 29, 29); + gCanvasPalette[3] = RGB2(11, 11, 11); + gCanvasPalette[4] = RGB2(29, 6, 6); + gCanvasPalette[5] = RGB2(6, 29, 6); + gCanvasPalette[6] = RGB2(6, 6, 29); + gCanvasPalette[7] = RGB2(29, 29, 6); + gCanvasPalette[8] = RGB2(29, 6, 29); + gCanvasPalette[9] = RGB2(6, 29, 29); + gCanvasPalette[10] = RGB2(29, 11, 6); + gCanvasPalette[11] = RGB2(11, 29, 6); + gCanvasPalette[12] = RGB2(6, 11, 29); + gCanvasPalette[13] = RGB2(29, 6, 11); + gCanvasPalette[14] = RGB2(6, 29, 11); + gCanvasPalette[15] = RGB2(11, 6, 29); +} + +static void SetPresetPalette_BlackAndWhite(void) +{ + gCanvasPalette[0] = RGB2(0, 0, 0); + gCanvasPalette[1] = RGB2(0, 0, 0); + gCanvasPalette[2] = RGB2(31, 31, 31); +} + +static void SetPresetPalette_GrayscaleSmall(void) +{ + u8 i; + + gCanvasPalette[0] = RGB2(0, 0, 0); + gCanvasPalette[1] = RGB2(0, 0, 0); + for (i = 0; i < 14; i++) + gCanvasPalette[i + 2] = RGB2(2 * (i + 2), 2 * (i + 2), 2 * (i + 2)); +} + +static void SetPresetPalette_Grayscale(void) +{ + u8 i; + + gCanvasPalette[0] = RGB2(0, 0, 0); + for (i = 0; i < 32; i++) + gCanvasPalette[i + 1] = RGB2(i, i, i); +} + +static void QuantizePalette_Standard(bool8 useLimitedPalette) +{ + u8 i, j; + u16 maxIndex; + + maxIndex = 0xDF; + if (!useLimitedPalette) + maxIndex = 0xFF; + + for (i = 0; i < maxIndex; i++) + gCanvasPalette[i] = RGB_BLACK; + + gCanvasPalette[maxIndex] = RGB2(15, 15, 15); + for (j = 0; j < gCanvasRowEnd; j++) + { + u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth]; + u16 *pixel = &pixelRow[gCanvasColumnStart]; + for (i = 0; i < gCanvasColumnEnd; i++, pixel++) + { + if (*pixel & 0x8000) + { + *pixel = gCanvasPaletteStart; + } + else + { + u16 quantizedColor = QuantizePixel_Standard(pixel); + u8 curIndex = 1; + if (curIndex < maxIndex) + { + if (gCanvasPalette[curIndex] == RGB_BLACK) + { + // The quantized color does not match any existing color in the + // palette, so we add it to the palette. + // This if block seems pointless because the below while loop handles + // this same logic. + gCanvasPalette[curIndex] = quantizedColor; + *pixel = gCanvasPaletteStart + curIndex; + } + else + { + while (curIndex < maxIndex) + { + if (gCanvasPalette[curIndex] == RGB_BLACK) + { + // The quantized color does not match any existing color in the + // palette, so we add it to the palette. + gCanvasPalette[curIndex] = quantizedColor; + *pixel = gCanvasPaletteStart + curIndex; + break; + } + + if (gCanvasPalette[curIndex] == quantizedColor) + { + // The quantized color matches this existing color in the + // palette, so we use this existing color for the pixel. + *pixel = gCanvasPaletteStart + curIndex; + break; + } + + curIndex++; + } + } + } + + if (curIndex == maxIndex) + { + // The entire palette's colors are already in use, which means + // the base image has too many colors to handle. This error is handled + // by marking such pixels as gray color. + curIndex = maxIndex; + *pixel = curIndex; + } + } + } + } +} + +static void QuantizePalette_BlackAndWhite(void) +{ + u8 i, j; + + for (j = 0; j < gCanvasRowEnd; j++) + { + u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth]; + u16 *pixel = &pixelRow[gCanvasColumnStart]; + for (i = 0; i < gCanvasColumnEnd; i++, pixel++) + { + if (*pixel & 0x8000) + { + *pixel = gCanvasPaletteStart; + } + else + { + if (QuantizePixel_BlackAndWhite(pixel) == RGB_BLACK) + { + // Black is the first color in the quantized palette. + *pixel = gCanvasPaletteStart + 1; + } + else + { + // White is the second color in the quantized palette. + *pixel = gCanvasPaletteStart + 2; + } + } + } + } +} + +static void QuantizePalette_GrayscaleSmall(void) +{ + u8 i, j; + + for (j = 0; j < gCanvasRowEnd; j++) + { + u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth]; + u16 *pixel = &pixelRow[gCanvasColumnStart]; + for (i = 0; i < gCanvasColumnEnd; i++, pixel++) + { + if (*pixel & 0x8000) + *pixel = gCanvasPaletteStart; + else + *pixel = QuantizePixel_GrayscaleSmall(pixel) + gCanvasPaletteStart; + } + } +} + +static void QuantizePalette_Grayscale(void) +{ + u8 i, j; + + for (j = 0; j < gCanvasRowEnd; j++) + { + u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth]; + u16 *pixel = &pixelRow[gCanvasColumnStart]; + for (i = 0; i < gCanvasColumnEnd; i++, pixel++) + { + if (*pixel & 0x8000) + *pixel = gCanvasPaletteStart; + else + *pixel = QuantizePixel_Grayscale(pixel) + gCanvasPaletteStart; + } + } +} + +static void QuantizePalette_PrimaryColors(void) +{ + u8 i, j; + + for (j = 0; j < gCanvasRowEnd; j++) + { + u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth]; + u16 *pixel = &pixelRow[gCanvasColumnStart]; + for (i = 0; i < gCanvasColumnEnd; i++, pixel++) + { + if (*pixel & 0x8000) + *pixel = gCanvasPaletteStart; + else + *pixel = QuantizePixel_PrimaryColors(pixel) + gCanvasPaletteStart; + } + } +} + +// Quantizes the pixel's color channels to nearest multiple of 4, and clamps to [6, 30]. +static u16 QuantizePixel_Standard(u16 *pixel) +{ + u16 red = *pixel & 0x1F; + u16 green = (*pixel >> 5) & 0x1F; + u16 blue = (*pixel >> 10) & 0x1F; + + // Quantize color channels to muliples of 4, rounding up. + if (red & 3) + red = (red & 0x1C) + 4; + if (green & 3) + green = (green & 0x1C) + 4; + if (blue & 3) + blue = (blue & 0x1C) + 4; + + // Clamp channels to [6, 30]. + if (red < 6) + red = 6; + if (red > 30) + red = 30; + if (green < 6) + green = 6; + if (green > 30) + green = 30; + if (blue < 6) + blue = 6; + if (blue > 30) + blue = 30; + + return RGB2(red, green, blue); +} + +static u16 QuantizePixel_PrimaryColors(u16* color) +{ + u16 red = *color & 0x1F; + u16 green = (*color >> 5) & 0x1F; + u16 blue = (*color >> 10) & 0x1F; + + if (red < 12 && green < 11 && blue < 11) + return 1; + + if (red > 19 && green > 19 && blue > 19) + return 2; + + if (red > 19) + { + if (green > 19) + { + if (blue > 14) + return 2; + else + return 7; + } + else if (blue > 19) + { + if (green > 14) + return 2; + else + return 8; + } + } + + if (green > 19 && blue > 19) + { + if (red > 14) + return 2; + else + return 9; + } + + if (red > 19) + { + if (green > 11) + { + if (blue > 11) + { + if (green < blue) + return 8; + else + return 7; + } + else + { + return 10; + } + } + else if (blue > 11) + { + return 13; + } + else + { + return 4; + } + } + + if (green > 19) + { + if (red > 11) + { + if (blue > 11) + { + if (red < blue) + return 9; + else + return 7; + } + else + { + return 11; + } + } + else + { + if (blue > 11) + return 14; + else + return 5; + } + } + + if (blue > 19) + { + if (red > 11) + { + if (green > 11) + { + if (red < green) + return 9; + else + return 8; + } + } + else if (green > 11) + { + return 12; + } + + if (blue > 11) + return 15; + else + return 6; + } + + return 3; +} + +static u16 QuantizePixel_GrayscaleSmall(u16 *color) +{ + u16 red = *color & 0x1F; + u16 green = (*color >> 5) & 0x1F; + u16 blue = (*color >> 10) & 0x1F; + u16 average = ((red + green + blue) / 3) & 0x1E; + if (average == 0) + return 1; + else + return average / 2; +} + +static u16 QuantizePixel_Grayscale(u16 *color) +{ + u16 red = *color & 0x1F; + u16 green = (*color >> 5) & 0x1F; + u16 blue = (*color >> 10) & 0x1F; + u16 average = (red + green + blue) / 3; + return average + 1; +} diff --git a/src/international_string_util.c b/src/international_string_util.c index 9dc795dd04..ec5057359f 100644 --- a/src/international_string_util.c +++ b/src/international_string_util.c @@ -45,7 +45,7 @@ int GetMaxWidthInMenuTable(const struct MenuAction *str, int arg1) var = stringWidth; } - return convert_pixel_width_to_tile_width(var); + return ConvertPixelWidthToTileWidth(var); } int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2) @@ -59,7 +59,7 @@ int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2) var = stringWidth; } - return convert_pixel_width_to_tile_width(var); + return ConvertPixelWidthToTileWidth(var); } int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu) diff --git a/src/intro.c b/src/intro.c index e97fbedb0a..7c2303dcce 100644 --- a/src/intro.c +++ b/src/intro.c @@ -5,7 +5,7 @@ #include "task.h" #include "title_screen.h" #include "libgcnmultiboot.h" -#include "alloc.h" +#include "malloc.h" #include "gpu_regs.h" #include "link.h" #include "multiboot_pokemon_colosseum.h" @@ -141,10 +141,10 @@ static const struct SpritePalette gIntroPalette_Lightning[] = static const struct OamData gUnknown_085E4A94 = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, @@ -210,10 +210,10 @@ static const struct SpritePalette gIntroPokemonRunningPalette[] = static const struct OamData gUnknown_085E4B28 = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, @@ -247,10 +247,10 @@ static const struct SpriteTemplate gUnknown_085E4B40 = static const struct OamData gUnknown_085E4B58 = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, @@ -303,10 +303,10 @@ static const struct SpriteTemplate gUnknown_085E4BA4 = static const struct OamData gUnknown_085E4BBC = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -352,10 +352,10 @@ static const struct SpritePalette gIntroRayquazaLightningPalette[] = static const struct OamData gUnknown_085E4C14 = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, @@ -437,10 +437,10 @@ static const s16 gIntroKyogreBubbleData[][3] = static const struct OamData gUnknown_085E4CF0 = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x32), .x = 0, .matrixNum = 0, @@ -477,10 +477,10 @@ static const struct SpriteTemplate gUnknown_085E4D14 = static const struct OamData gUnknown_085E4D2C = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, @@ -568,10 +568,10 @@ static const union AnimCmd *const gIntroBicycleAnimationCommands[] = static const struct OamData gUnknown_085E4DD4 = { .y = 160, - .affineMode = 3, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, @@ -584,10 +584,10 @@ static const struct OamData gUnknown_085E4DD4 = static const struct OamData gUnknown_085E4DDC = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, @@ -600,10 +600,10 @@ static const struct OamData gUnknown_085E4DDC = static const struct OamData gUnknown_085E4DE4 = { .y = 160, - .affineMode = 3, - .objMode = 1, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_BLEND, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x64), .x = 0, .matrixNum = 0, @@ -800,10 +800,10 @@ static const u8 gUnknown_085E4FA4[] = static const struct OamData gUnknown_085E4FB0 = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, @@ -853,10 +853,10 @@ static const struct SpritePalette gIntroPalette_DropLogoFlygon[] = static const struct OamData gUnknown_085E501C = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -1070,7 +1070,7 @@ void CB2_InitCopyrightScreenAfterBootup(void) ResetMenuAndMonGlobals(); Save_ResetSaveCounters(); Save_LoadGameData(SAVE_NORMAL); - if (gSaveFileStatus == 0 || gSaveFileStatus == 2) + if (gSaveFileStatus == SAVE_STATUS_EMPTY || gSaveFileStatus == SAVE_STATUS_CORRUPT) Sav2_ClearSetDefault(); SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound); InitHeap(gHeap, HEAP_SIZE); @@ -2568,9 +2568,9 @@ static void sub_816F3A4(struct Sprite *sprite) sprite->data[2] = 1024; sprite->data[3] = 8 * (sprite->data[1] & 3); sprite->callback = sub_816F318; - sprite->oam.shape = 1; - sprite->oam.size = 3; - CalcCenterToCornerVec(sprite, 1, 3, 2); + sprite->oam.shape = SPRITE_SHAPE(64x32); + sprite->oam.size = SPRITE_SIZE(64x32); + CalcCenterToCornerVec(sprite, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), ST_OAM_AFFINE_ERASE); } else { @@ -2690,9 +2690,9 @@ static void SpriteCB_WaterDropFall(struct Sprite *sprite) sprite->data[2] = 1024; sprite->data[3] = 8 * (sprite->data[1] & 3); sprite->callback = sub_816F318; - sprite->oam.shape = 1; - sprite->oam.size = 3; - CalcCenterToCornerVec(sprite, 1, 3, 2); + sprite->oam.shape = SPRITE_SHAPE(64x32); + sprite->oam.size = SPRITE_SIZE(64x32); + CalcCenterToCornerVec(sprite, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), ST_OAM_AFFINE_ERASE); } } @@ -2713,9 +2713,9 @@ static void SpriteCB_WaterDropFall_2(struct Sprite *sprite) sprite->data[2] = 1024; sprite->data[3] = 8 * (sprite->data[1] & 3); sprite->callback = sub_816F318; - sprite->oam.shape = 1; - sprite->oam.size = 3; - CalcCenterToCornerVec(sprite, 1, 3, 2); + sprite->oam.shape = SPRITE_SHAPE(64x32); + sprite->oam.size = SPRITE_SIZE(64x32); + CalcCenterToCornerVec(sprite, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), ST_OAM_AFFINE_ERASE); } } @@ -2732,9 +2732,9 @@ static u8 CreateWaterDrop(s16 x, s16 y, u16 c, u16 d, u16 e, u8 fallImmediately) gSprites[spriteId].data[3] = c; gSprites[spriteId].data[5] = e; gSprites[spriteId].data[6] = c; - gSprites[spriteId].oam.affineMode = 3; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE; gSprites[spriteId].oam.matrixNum = d; - CalcCenterToCornerVec(&gSprites[spriteId], 0, 2, 2); + CalcCenterToCornerVec(&gSprites[spriteId], SPRITE_SHAPE(32x32), SPRITE_SIZE(32x32), ST_OAM_AFFINE_ERASE); StartSpriteAnim(&gSprites[spriteId], 2); if (!fallImmediately) gSprites[spriteId].callback = sub_816F454; @@ -2745,18 +2745,18 @@ static u8 CreateWaterDrop(s16 x, s16 y, u16 c, u16 d, u16 e, u8 fallImmediately) spriteId = CreateSprite(&gIntroWaterDropSprite, x, y, 1); gSprites[spriteId].data[7] = oldSpriteId; gSprites[spriteId].data[1] = d + 1; - gSprites[spriteId].oam.affineMode = 3; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE; gSprites[spriteId].oam.matrixNum = d + 1; - CalcCenterToCornerVec(&gSprites[spriteId], 0, 2, 2); + CalcCenterToCornerVec(&gSprites[spriteId], SPRITE_SHAPE(32x32), SPRITE_SIZE(32x32), ST_OAM_AFFINE_ERASE); gSprites[spriteId].callback = sub_816F3A4; spriteId = CreateSprite(&gIntroWaterDropSprite, x, y, 1); gSprites[spriteId].data[7] = oldSpriteId; gSprites[spriteId].data[1] = d + 2; StartSpriteAnim(&gSprites[spriteId], 1); - gSprites[spriteId].oam.affineMode = 3; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE; gSprites[spriteId].oam.matrixNum = d + 2; - CalcCenterToCornerVec(&gSprites[spriteId], 0, 2, 2); + CalcCenterToCornerVec(&gSprites[spriteId], SPRITE_SHAPE(32x32), SPRITE_SIZE(32x32), ST_OAM_AFFINE_ERASE); gSprites[spriteId].callback = sub_816F3A4; SetOamMatrix(d, c + 32, 0, 0, c + 32); @@ -2915,7 +2915,7 @@ static void sub_816FB38(struct Sprite *sprite) if (gIntroFrameCounter == 0x110) { StartSpriteAffineAnim(sprite, 2); - sprite->oam.objMode = 1; + sprite->oam.objMode = ST_OAM_OBJ_BLEND; sprite->data[0]++; } break; @@ -3008,9 +3008,9 @@ static void sub_816FEDC(struct Sprite *sprite) { case 0: default: - sprite->oam.affineMode = 3; + sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; sprite->oam.matrixNum = 1; - CalcCenterToCornerVec(sprite, 1, 3, 3); + CalcCenterToCornerVec(sprite, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), ST_OAM_AFFINE_DOUBLE); sprite->invisible = FALSE; sprite->data[0] = 1; sprite->data[1] = 0x80; @@ -3054,9 +3054,9 @@ static void SpriteCB_IntroRayquazaHyperbeam(struct Sprite *sprite) case 0: default: sprite->invisible = FALSE; - sprite->oam.affineMode = 3; + sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; sprite->oam.matrixNum = 18; - CalcCenterToCornerVec(sprite, 0, 3, 3); + CalcCenterToCornerVec(sprite, SPRITE_SHAPE(64x64), SPRITE_SIZE(64x64), ST_OAM_AFFINE_DOUBLE); sprite->data[1] = 0; sprite->data[0] = 1; //fall through diff --git a/src/intro_credits_graphics.c b/src/intro_credits_graphics.c index 059c1079ec..04e2216f64 100644 --- a/src/intro_credits_graphics.c +++ b/src/intro_credits_graphics.c @@ -1026,7 +1026,7 @@ static void sub_817B698(u8 a, const struct IntroCreditsSpriteMetadata *b, const for(i = 0; i < d; i++) { u8 sprite = CreateSprite(&gUnknown_085F504C, b[i].x, b[i].y, b[i].subpriority); - CalcCenterToCornerVec(&gSprites[sprite], b[i].shape, b[i].size, 0); + CalcCenterToCornerVec(&gSprites[sprite], b[i].shape, b[i].size, ST_OAM_AFFINE_OFF); gSprites[sprite].oam.priority = 3; gSprites[sprite].oam.shape = b[i].shape; gSprites[sprite].oam.size = b[i].size; diff --git a/src/item.c b/src/item.c index 5e505724c9..61069ca736 100644 --- a/src/item.c +++ b/src/item.c @@ -4,7 +4,7 @@ #include "string_util.h" #include "text.h" #include "event_data.h" -#include "alloc.h" +#include "malloc.h" #include "secret_base.h" #include "item_menu.h" #include "strings.h" @@ -14,6 +14,7 @@ #include "battle_pyramid_bag.h" #include "constants/items.h" #include "constants/hold_effects.h" +#include "constants/tv.h" extern u16 gUnknown_0203CF30[]; @@ -142,7 +143,7 @@ bool8 CheckBagHasItem(u16 itemId, u16 count) if (ItemId_GetPocket(itemId) == 0) return FALSE; - if (InBattlePyramid() || FlagGet(FLAG_SPECIAL_FLAG_0x4004) == TRUE) + if (InBattlePyramid() || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE) return CheckPyramidBagHasItem(itemId, count); pocket = ItemId_GetPocket(itemId) - 1; // Check for item slots that contain the item @@ -189,7 +190,7 @@ bool8 CheckBagHasSpace(u16 itemId, u16 count) if (ItemId_GetPocket(itemId) == POCKET_NONE) return FALSE; - if (InBattlePyramid() || FlagGet(FLAG_SPECIAL_FLAG_0x4004) == TRUE) + if (InBattlePyramid() || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE) { return CheckPyramidBagHasSpace(itemId, count); } @@ -404,7 +405,7 @@ bool8 AddBagItem(u16 itemId, u16 count) return FALSE; // check Battle Pyramid Bag - if (InBattlePyramid() || FlagGet(FLAG_SPECIAL_FLAG_0x4004) == TRUE) + if (InBattlePyramid() || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE) { return AddPyramidBagItem(itemId, count); } @@ -517,7 +518,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count) return FALSE; // check Battle Pyramid Bag - if (InBattlePyramid() || FlagGet(FLAG_SPECIAL_FLAG_0x4004) == TRUE) + if (InBattlePyramid() || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE) { return RemovePyramidBagItem(itemId, count); } @@ -542,7 +543,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count) if (CurMapIsSecretBase() == TRUE) { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x200); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_BAG); VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, itemId); } diff --git a/src/item_icon.c b/src/item_icon.c index 91c32951ab..487b89b713 100644 --- a/src/item_icon.c +++ b/src/item_icon.c @@ -2,7 +2,7 @@ #include "decompress.h" #include "graphics.h" #include "item_icon.h" -#include "alloc.h" +#include "malloc.h" #include "sprite.h" #include "constants/items.h" @@ -16,10 +16,10 @@ EWRAM_DATA void *gItemIcon4x4Buffer = NULL; static const struct OamData sOamData_ItemIcon = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, diff --git a/src/item_menu.c b/src/item_menu.c index 12f03b3283..eef006545d 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -4,6 +4,7 @@ #include "battle_controllers.h" #include "battle_pyramid.h" #include "frontier_util.h" +#include "battle_pyramid_bag.h" #include "berry_tag_screen.h" #include "bg.h" #include "constants/items.h" @@ -25,7 +26,7 @@ #include "link.h" #include "mail.h" #include "main.h" -#include "alloc.h" +#include "malloc.h" #include "map_name_popup.h" #include "menu.h" #include "money.h" @@ -118,7 +119,7 @@ void sub_81AD9C0(u8); void sub_81ADB14(u8); void sub_81ADA7C(u8); void sub_81ADC0C(u8); -void bag_menu_leave_maybe(void); +void CB2_ApprenticeExitBagMenu(void); void CB2_FavorLadyExitBagMenu(void); void CB2_QuizLadyExitBagMenu(void); void sub_81ABA6C(void); @@ -135,7 +136,7 @@ void ItemMenu_Give(u8 taskId); void ItemMenu_Cancel(u8 taskId); void ItemMenu_UseInBattle(u8 taskId); void ItemMenu_CheckTag(u8 taskId); -void unknown_ItemMenu_Confirm(u8 taskId); +void Task_FadeAndCloseBagMenu(u8 taskId); void unknown_ItemMenu_Show(u8 taskId); void unknown_ItemMenu_Give2(u8 taskId); void unknown_ItemMenu_Confirm2(u8 taskId); @@ -215,7 +216,7 @@ const struct MenuAction sItemMenuActions[] = { {gMenuText_Walk, ItemMenu_UseOutOfBattle}, {gMenuText_Deselect, ItemMenu_Register}, {gMenuText_CheckTag, ItemMenu_CheckTag}, - {gMenuText_Confirm, unknown_ItemMenu_Confirm}, + {gMenuText_Confirm, Task_FadeAndCloseBagMenu}, {gMenuText_Show, unknown_ItemMenu_Show}, {gMenuText_Give2, unknown_ItemMenu_Give2}, {gMenuText_Confirm, unknown_ItemMenu_Confirm2}, @@ -240,7 +241,7 @@ const TaskFunc gUnknown_08614054[] = { unknown_item_menu_type, item_menu_type_2, DisplaySellItemAskString, - unknown_ItemMenu_Confirm, + Task_FadeAndCloseBagMenu, unknown_item_menu_type, DisplayDepositItemAskString, unknown_item_menu_type, @@ -466,9 +467,9 @@ void CB2_BagMenuFromStartMenu(void) void sub_81AABB0(void) { if (!InBattlePyramid()) - GoToBagMenu(RETURN_LOCATION_BATTLE, POCKETS_COUNT, SetCB2ToReshowScreenAfterMenu2); + GoToBagMenu(RETURN_LOCATION_BATTLE, POCKETS_COUNT, CB2_SetUpReshowBattleScreenAfterMenu2); else - sub_81C4F98(1, SetCB2ToReshowScreenAfterMenu2); + GoToBattlePyramidBagMenu(1, CB2_SetUpReshowBattleScreenAfterMenu2); } void CB2_ChooseBerry(void) @@ -476,7 +477,7 @@ void CB2_ChooseBerry(void) GoToBagMenu(RETURN_LOCATION_FIELD_2, BERRIES_POCKET, CB2_ReturnToFieldContinueScript); } -void sub_81AABF0(void (*callback)(void)) +void ChooseBerrySetCallback(void (*callback)(void)) { GoToBagMenu(RETURN_LOCATION_FIELD_3, BERRIES_POCKET, callback); } @@ -491,23 +492,23 @@ void sub_81AAC14(void) GoToBagMenu(RETURN_LOCATION_PC, POCKETS_COUNT, sub_816B31C); } -void sub_81AAC28(void) +void ApprenticeOpenBagMenu(void) { - GoToBagMenu(RETURN_LOCATION_FIELD_6, POCKETS_COUNT, bag_menu_leave_maybe); - gSpecialVar_0x8005 = 0; - gSpecialVar_Result = 0; + GoToBagMenu(RETURN_LOCATION_FIELD_6, POCKETS_COUNT, CB2_ApprenticeExitBagMenu); + gSpecialVar_0x8005 = ITEM_NONE; + gSpecialVar_Result = FALSE; } void FavorLadyOpenBagMenu(void) { GoToBagMenu(RETURN_LOCATION_FIELD_4, POCKETS_COUNT, CB2_FavorLadyExitBagMenu); - gSpecialVar_Result = 0; + gSpecialVar_Result = FALSE; } void QuizLadyOpenBagMenu(void) { GoToBagMenu(RETURN_LOCATION_FIELD_5, POCKETS_COUNT, CB2_QuizLadyExitBagMenu); - gSpecialVar_Result = 0; + gSpecialVar_Result = FALSE; } void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)()) @@ -790,19 +791,19 @@ void GetItemName(s8 *dest, u16 itemId) StringCopy(gStringVar2, gMoveNames[ItemIdToBattleMoveId(itemId)]); if (itemId >= ITEM_HM01) { - ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_HM01 + 1, 2, 1); + ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_HM01 + 1, STR_CONV_MODE_LEADING_ZEROS, 1); StringExpandPlaceholders(dest, gText_ClearTo11Var1Clear5Var2); } else { - ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_TM01 + 1, 2, 2); - StringExpandPlaceholders(dest, gText_UnkF908Var1Clear7Var2); + ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_TM01 + 1, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(dest, gText_NumberVar1Clear7Var2); } break; case BERRIES_POCKET: - ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_CHERI_BERRY + 1, 2, 2); + ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_CHERI_BERRY + 1, STR_CONV_MODE_LEADING_ZEROS, 2); CopyItemName(itemId, gStringVar2); - StringExpandPlaceholders(dest, gText_UnkF908Var1Clear7Var2); + StringExpandPlaceholders(dest, gText_NumberVar1Clear7Var2); break; default: CopyItemName(itemId, dest); @@ -851,14 +852,14 @@ void PrintItemQuantityPlusGFX(u8 rboxId, s32 item_index_in_pocket, u8 a) BlitBitmapToWindow(rboxId, gBagMenuHMIcon_Gfx, 8, a - 1, 16, 16); if (gBagPositionStruct.pocket == BERRIES_POCKET) { - ConvertIntToDecimalStringN(gStringVar1, itemQuantity, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, itemQuantity, STR_CONV_MODE_RIGHT_ALIGN, 3); StringExpandPlaceholders(gStringVar4, gText_xVar1); offset = GetStringRightAlignXOffset(7, gStringVar4, 0x77); BagMenu_Print(rboxId, 7, gStringVar4, offset, a, 0, 0, -1, 0); } else if (gBagPositionStruct.pocket != KEYITEMS_POCKET && (unique = ItemId_GetImportance(itemId)) == FALSE) { - ConvertIntToDecimalStringN(gStringVar1, itemQuantity, 1, 2); + ConvertIntToDecimalStringN(gStringVar1, itemQuantity, STR_CONV_MODE_RIGHT_ALIGN, 2); StringExpandPlaceholders(gStringVar4, gText_xVar1); offset = GetStringRightAlignXOffset(7, gStringVar4, 0x77); BagMenu_Print(rboxId, 7, gStringVar4, offset, a, unique, unique, -1, unique); @@ -941,7 +942,7 @@ void FreeBagItemListBuffers(void) Free(gBagMenu); } -void unknown_ItemMenu_Confirm(u8 taskId) +void Task_FadeAndCloseBagMenu(u8 taskId) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = TaskCloseBagMenu_2; @@ -965,7 +966,7 @@ void TaskCloseBagMenu_2(u8 taskId) } } -void sub_81AB9A8(u8 pocketId) +void UpdatePocketItemList(u8 pocketId) { u16 i; struct BagPocket *pocket = &gBagPockets[pocketId]; @@ -996,7 +997,7 @@ void sub_81ABA6C(void) { u8 i; for (i = 0; i < POCKETS_COUNT; i++) - sub_81AB9A8(i); + UpdatePocketItemList(i); } void SetInitialScrollAndCursorPositions(u8 pocketId) @@ -1040,7 +1041,7 @@ void BagMenu_InitListsMenu(u8 taskId) u16* cursorPos = &gBagPositionStruct.cursorPosition[gBagPositionStruct.pocket]; bag_menu_RemoveBagItem_message_window(4); DestroyListMenuTask(data[0], scrollPos, cursorPos); - sub_81AB9A8(gBagPositionStruct.pocket); + UpdatePocketItemList(gBagPositionStruct.pocket); SetInitialScrollAndCursorPositions(gBagPositionStruct.pocket); LoadBagItemListBuffers(gBagPositionStruct.pocket); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollPos, *cursorPos); @@ -1053,21 +1054,21 @@ void sub_81ABC3C(u8 a) PrintItemDepositAmount(BagMenu_AddWindow(a), 1); } -void PrintItemDepositAmount(u8 a, s16 b) +void PrintItemDepositAmount(u8 windowId, s16 numDeposited) { - u8 r3 = (gBagPositionStruct.pocket == BERRIES_POCKET) ? 3 : 2; - ConvertIntToDecimalStringN(gStringVar1, b, 2, r3); + u8 numDigits = (gBagPositionStruct.pocket == BERRIES_POCKET) ? 3 : 2; + ConvertIntToDecimalStringN(gStringVar1, numDeposited, STR_CONV_MODE_LEADING_ZEROS, numDigits); StringExpandPlaceholders(gStringVar4, gText_xVar1); - AddTextPrinterParameterized(a, 1, gStringVar4, GetStringCenterAlignXOffset(1, gStringVar4, 0x28), 2, 0, 0); + AddTextPrinterParameterized(windowId, 1, gStringVar4, GetStringCenterAlignXOffset(1, gStringVar4, 0x28), 2, 0, 0); } -void sub_81ABCC0(int a, int b, int c) +void PrintItemSoldAmount(int windowId, int numSold, int moneyEarned) { - u8 r3 = (gBagPositionStruct.pocket == BERRIES_POCKET) ? 3 : 2; - ConvertIntToDecimalStringN(gStringVar1, b, 2, r3); + u8 numDigits = (gBagPositionStruct.pocket == BERRIES_POCKET) ? 3 : 2; + ConvertIntToDecimalStringN(gStringVar1, numSold, STR_CONV_MODE_LEADING_ZEROS, numDigits); StringExpandPlaceholders(gStringVar4, gText_xVar1); - AddTextPrinterParameterized(a, 1, gStringVar4, 0, 1, -1, 0); - PrintMoneyAmount(a, 0x26, 1, c, 0); + AddTextPrinterParameterized(windowId, 1, gStringVar4, 0, 1, -1, 0); + PrintMoneyAmount(windowId, 38, 1, moneyEarned, 0); } void Task_BagMenu(u8 taskId) @@ -1116,7 +1117,7 @@ void Task_BagMenu(u8 taskId) } PlaySE(SE_SELECT); gSpecialVar_ItemId = select; - gTasks[taskId].func = unknown_ItemMenu_Confirm; + gTasks[taskId].func = Task_FadeAndCloseBagMenu; break; default: // A_BUTTON PlaySE(SE_SELECT); @@ -1148,13 +1149,13 @@ u8 GetSwitchBagPocketDirection(void) u8 LRKeys; if (gBagMenu->unk81B != 0) return 0; - LRKeys = GetLRKeysState(); - if ((gMain.newKeys & DPAD_LEFT) || LRKeys == 1) + LRKeys = GetLRKeysPressed(); + if ((gMain.newKeys & DPAD_LEFT) || LRKeys == MENU_L_PRESSED) { PlaySE(SE_SELECT); return 1; } - if ((gMain.newKeys & DPAD_RIGHT) || LRKeys == 2) + if ((gMain.newKeys & DPAD_RIGHT) || LRKeys == MENU_R_PRESSED) { PlaySE(SE_SELECT); return 2; @@ -1581,7 +1582,7 @@ void Task_HandleOutOfBattleItemMenuInput(u8 taskId) sub_8199134(0, 1); } } - else if ((gMain.newKeys & DPAD_LEFT) || GetLRKeysState() == 1) + else if ((gMain.newKeys & DPAD_LEFT) || GetLRKeysPressed() == MENU_L_PRESSED) { if ((cursorPos & 1) && sub_81ACDFC(cursorPos - 1)) { @@ -1589,7 +1590,7 @@ void Task_HandleOutOfBattleItemMenuInput(u8 taskId) sub_8199134(-1, 0); } } - else if ((gMain.newKeys & DPAD_RIGHT) || GetLRKeysState() == 2) + else if ((gMain.newKeys & DPAD_RIGHT) || GetLRKeysPressed() == MENU_R_PRESSED) { if (!(cursorPos & 1) && sub_81ACDFC(cursorPos + 1)) { @@ -1651,7 +1652,7 @@ void ItemMenu_UseOutOfBattle(u8 taskId) if (gBagPositionStruct.pocket != BERRIES_POCKET) ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId); else - sub_80FDD10(taskId); + ItemUseOutOfBattle_Berry(taskId); } } } @@ -1682,7 +1683,7 @@ void BagMenu_TossItems(u8 taskId) s16* data = gTasks[taskId].data; CopyItemName(gSpecialVar_ItemId, gStringVar1); - ConvertIntToDecimalStringN(gStringVar2, data[8], 0, 3); + ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 3); StringExpandPlaceholders(gStringVar4, gText_ConfirmTossItems); FillWindowPixelBuffer(1, PIXEL_FILL(0)); BagMenu_Print(1, 1, gStringVar4, 3, 1, 0, 0, 0, 0); @@ -1725,7 +1726,7 @@ void BagMenu_ConfirmToss(u8 taskId) s16* data = gTasks[taskId].data; CopyItemName(gSpecialVar_ItemId, gStringVar1); - ConvertIntToDecimalStringN(gStringVar2, data[8], 0, 3); + ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 3); StringExpandPlaceholders(gStringVar4, gText_ThrewAwayVar2Var1s); FillWindowPixelBuffer(1, PIXEL_FILL(0)); BagMenu_Print(1, 1, gStringVar4, 3, 1, 0, 0, 0, 0); @@ -1743,7 +1744,7 @@ void Task_ActuallyToss(u8 taskId) PlaySE(SE_SELECT); RemoveBagItem(gSpecialVar_ItemId, data[8]); DestroyListMenuTask(data[0], scrollPos, cursorPos); - sub_81AB9A8(gBagPositionStruct.pocket); + UpdatePocketItemList(gBagPositionStruct.pocket); SetInitialScrollAndCursorPositions(gBagPositionStruct.pocket); LoadBagItemListBuffers(gBagPositionStruct.pocket); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollPos, *cursorPos); @@ -1782,8 +1783,8 @@ void ItemMenu_Give(u8 taskId) BagMenu_PrintThereIsNoPokemon(taskId); else { - gBagMenu->mainCallback2 = sub_81B7F60; - unknown_ItemMenu_Confirm(taskId); + gBagMenu->mainCallback2 = CB2_ChooseMonToGiveItem; + Task_FadeAndCloseBagMenu(taskId); } } else @@ -1816,7 +1817,7 @@ void sub_81AD350(u8 taskId) void ItemMenu_CheckTag(u8 taskId) { gBagMenu->mainCallback2 = DoBerryTagScreen; - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); } void ItemMenu_Cancel(u8 taskId) @@ -1840,7 +1841,7 @@ void ItemMenu_UseInBattle(u8 taskId) } } -void bag_menu_mail_related(void) +void CB2_ReturnToBagMenuPocket(void) { GoToBagMenu(RETURN_LOCATION_UNCHANGED, POCKETS_COUNT, NULL); } @@ -1859,7 +1860,7 @@ void item_menu_type_2(u8 taskId) } else if (gBagPositionStruct.pocket != KEYITEMS_POCKET && !ItemId_GetImportance(gSpecialVar_ItemId)) { - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); } else { @@ -1872,16 +1873,18 @@ void item_menu_type_b(u8 taskId) if (ItemIsMail(gSpecialVar_ItemId) == TRUE) DisplayItemMessage(taskId, 1, gText_CantWriteMail, sub_81AD350); else if (gBagPositionStruct.pocket != KEYITEMS_POCKET && !ItemId_GetImportance(gSpecialVar_ItemId)) - gTasks[taskId].func = unknown_ItemMenu_Confirm; + gTasks[taskId].func = Task_FadeAndCloseBagMenu; else BagMenu_PrintItemCantBeHeld(taskId); } +#define tUsingRegisteredKeyItem data[3] + bool8 UseRegisteredKeyItemOnField(void) { u8 taskId; - if (InUnionRoom() == TRUE || InBattlePyramid() || InBattlePike() || InMultiBattleRoom() == TRUE) + if (InUnionRoom() == TRUE || InBattlePyramid() || InBattlePike() || InMultiPartnerRoom() == TRUE) return FALSE; HideMapNamePopUpWindow(); ChangeBgY_ScreenOff(0, 0, 0); @@ -1895,16 +1898,20 @@ bool8 UseRegisteredKeyItemOnField(void) sub_808BCF4(); gSpecialVar_ItemId = gSaveBlock1Ptr->registeredItem; taskId = CreateTask(ItemId_GetFieldFunc(gSaveBlock1Ptr->registeredItem), 8); - gTasks[taskId].data[3] = 1; + gTasks[taskId].tUsingRegisteredKeyItem = TRUE; return TRUE; } else + { gSaveBlock1Ptr->registeredItem = ITEM_NONE; + } } ScriptContext1_SetupScript(EventScript_SelectWithoutRegisteredItem); return TRUE; } +#undef tUsingRegisteredKeyItem + void DisplaySellItemAskString(u8 taskId) { s16* data = gTasks[taskId].data; @@ -1936,7 +1943,7 @@ void sub_81AD680(u8 taskId) { s16* data = gTasks[taskId].data; - ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8], 0, 6); + ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8], STR_CONV_MODE_LEFT_ALIGN, 6); StringExpandPlaceholders(gStringVar4, gText_ICanPayVar1); DisplayItemMessage(taskId, 1, gStringVar4, sub_81AD6E4); } @@ -1961,7 +1968,7 @@ void sub_81AD730(u8 taskId) s16* data = gTasks[taskId].data; u8 windowId = BagMenu_AddWindow(8); - sub_81ABCC0(windowId, 1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]); + PrintItemSoldAmount(windowId, 1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]); bag_menu_AddMoney_window(); gTasks[taskId].func = sub_81AD794; } @@ -1972,7 +1979,7 @@ void sub_81AD794(u8 taskId) if (AdjustQuantityAccordingToDPadInput(&data[8], data[2]) == TRUE) { - sub_81ABCC0(gBagMenu->unk818, data[8], (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]); + PrintItemSoldAmount(gBagMenu->unk818, data[8], (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]); } else if (gMain.newKeys & A_BUTTON) { @@ -1996,7 +2003,7 @@ void BagMenu_ConfirmSell(u8 taskId) s16* data = gTasks[taskId].data; CopyItemName(gSpecialVar_ItemId, gStringVar2); - ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8], 0, 6); + ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8], STR_CONV_MODE_LEFT_ALIGN, 6); StringExpandPlaceholders(gStringVar4, gText_TurnedOverVar1ForVar2); DisplayItemMessage(taskId, 1, gStringVar4, sub_81AD8C8); } @@ -2011,7 +2018,7 @@ void sub_81AD8C8(u8 taskId) RemoveBagItem(gSpecialVar_ItemId, data[8]); AddMoney(&gSaveBlock1Ptr->money, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]); DestroyListMenuTask(data[0], scrollPos, cursorPos); - sub_81AB9A8(gBagPositionStruct.pocket); + UpdatePocketItemList(gBagPositionStruct.pocket); SetInitialScrollAndCursorPositions(gBagPositionStruct.pocket); LoadBagItemListBuffers(gBagPositionStruct.pocket); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollPos, *cursorPos); @@ -2087,7 +2094,7 @@ void sub_81ADB14(u8 taskId) else if (AddPCItem(gSpecialVar_ItemId, data[8]) == TRUE) { CopyItemName(gSpecialVar_ItemId, gStringVar1); - ConvertIntToDecimalStringN(gStringVar2, data[8], 0, 3); + ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 3); StringExpandPlaceholders(gStringVar4, gText_DepositedVar2Var1s); BagMenu_Print(1, 1, gStringVar4, 3, 1, 0, 0, 0, 0); gTasks[taskId].func = Task_ActuallyToss; @@ -2157,7 +2164,7 @@ void DoWallyTutorialBagMenu(void) PrepareBagForWallyTutorial(); AddBagItem(ITEM_POTION, 1); AddBagItem(ITEM_POKE_BALL, 1); - GoToBagMenu(RETURN_LOCATION_BATTLE_2, ITEMS_POCKET, SetCB2ToReshowScreenAfterMenu2); + GoToBagMenu(RETURN_LOCATION_BATTLE_2, ITEMS_POCKET, CB2_SetUpReshowBattleScreenAfterMenu2); } void Task_WallyTutorialBagMenu(u8 taskId) @@ -2185,7 +2192,7 @@ void Task_WallyTutorialBagMenu(u8 taskId) BagMenu_RemoveSomeWindow(); DestroyListMenuTask(data[0], 0, 0); RestoreBagAfterWallyTutorial(); - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); break; default: data[8]++; @@ -2199,10 +2206,10 @@ void unknown_ItemMenu_Show(u8 taskId) gSpecialVar_0x8005 = gSpecialVar_ItemId; gSpecialVar_Result = 1; BagMenu_RemoveSomeWindow(); - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); } -void bag_menu_leave_maybe(void) +void CB2_ApprenticeExitBagMenu(void) { gFieldCallback = Apprentice_EnableBothScriptContexts; SetMainCallback2(CB2_ReturnToField); @@ -2213,7 +2220,7 @@ void unknown_ItemMenu_Give2(u8 taskId) RemoveBagItem(gSpecialVar_ItemId, 1); gSpecialVar_Result = 1; BagMenu_RemoveSomeWindow(); - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); } void CB2_FavorLadyExitBagMenu(void) @@ -2226,7 +2233,7 @@ void unknown_ItemMenu_Confirm2(u8 taskId) { gSpecialVar_Result = 1; BagMenu_RemoveSomeWindow(); - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); } void CB2_QuizLadyExitBagMenu(void) @@ -2398,7 +2405,7 @@ void PrintTMHMMoveData(u16 itemId) } else { - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].power, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].power, STR_CONV_MODE_RIGHT_ALIGN, 3); text = gStringVar1; } BagMenu_Print(4, 1, text, 7, 12, 0, 0, -1, 4); @@ -2408,11 +2415,11 @@ void PrintTMHMMoveData(u16 itemId) } else { - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].accuracy, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3); text = gStringVar1; } BagMenu_Print(4, 1, text, 7, 24, 0, 0, -1, 4); - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].pp, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].pp, STR_CONV_MODE_RIGHT_ALIGN, 3); BagMenu_Print(4, 1, gStringVar1, 7, 36, 0, 0, -1, 4); CopyWindowToVram(4, 2); } diff --git a/src/item_menu_icons.c b/src/item_menu_icons.c index 780a501603..cbc038d8c7 100644 --- a/src/item_menu_icons.c +++ b/src/item_menu_icons.c @@ -32,10 +32,10 @@ static const u16 gCherryUnused_Pal[] = INCBIN_U16("graphics/unused/cherry.gbapal static const struct OamData sBagOamData = { .y = 0, - .affineMode = 1, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -142,10 +142,10 @@ static const struct SpriteTemplate gBagSpriteTemplate = static const struct OamData sRotatingBallOamData = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 4, @@ -213,10 +213,10 @@ static const struct SpriteTemplate gRotatingBallSpriteTemplate = static const struct OamData sBerryPicOamData = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -230,10 +230,10 @@ static const struct OamData sBerryPicOamData = static const struct OamData sBerryPicRotatingOamData = { .y = 0, - .affineMode = 3, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -370,10 +370,10 @@ const struct CompressedSpritePalette gBerryCheckCirclePaletteTable = static const struct OamData sBerryCheckCircleOamData = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -492,7 +492,7 @@ static void UpdateSwitchPocketRotatingBallCoords(struct Sprite *sprite) static void SpriteCB_SwitchPocketRotatingBallInit(struct Sprite *sprite) { - sprite->oam.affineMode = 1; + sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; if (sprite->data[0] == -1) sprite->affineAnims = sRotatingBallAnimCmds; else diff --git a/src/item_use.c b/src/item_use.c index 2f43744238..b352079cf8 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -10,6 +10,7 @@ #include "data.h" #include "event_data.h" #include "event_object_movement.h" +#include "event_scripts.h" #include "fieldmap.h" #include "field_effect.h" #include "field_player_avatar.h" @@ -43,70 +44,61 @@ #include "constants/vars.h" #include "event_obj_lock.h" -extern u8 BerryTree_EventScript_274482[]; -extern u8 BerryTree_EventScript_2744C0[]; -extern u8 BattleFrontier_OutsideEast_EventScript_242CFC[]; - -void SetUpItemUseCallback(u8 taskId); -void MapPostLoadHook_UseItem(void); -void sub_80AF6D4(void); -void Task_CallItemUseOnFieldCallback(u8 taskId); -void BagMenu_InitListsMenu(u8 taskId); -void ItemUseOnFieldCB_Bike(u8 taskId); -void ItemUseOnFieldCB_Rod(u8 taskId); -void ItemUseOnFieldCB_Itemfinder(u8 taskId); -void sub_80FD504(u8 taskId); -void sub_80FD5CC(u8 taskId); -void sub_80FDA94(u8 taskId); -void sub_80FDADC(u8 taskId); -void sub_80FD7C8(u8 taskId); -void sub_80FDC00(u8 taskId); -void sub_80FDD74(u8 taskId); -void sub_80FDE08(u8 taskId); -void sub_80FDE7C(u8 taskId); -void sub_80FDF90(u8 taskId); -void task08_0809AD8C(u8 taskId); -void sub_80FE024(u8 taskId); -void sub_80FE03C(u8 taskId); -void sub_80FE124(u8 taskId); -void sub_80FE164(u8 taskId); - -void DisplayItemMessage(u8 taskId, u8 a, const u8* str, void(*callback)(u8 taskId)); -void DisplayItemMessageOnField(u8 taskId, const u8* str, void(*callback)(u8 taskId)); -void sub_81C6714(u8 taskId); -void CleanUpAfterFailingToUseRegisteredKeyItemOnField(u8 taskId); -void StartFishing(u8 a); -bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *, u8); -u8 sub_80FD9B0(s16 a, s16 b); -void sub_80FDA24(u8 a); -void sub_80FD8E0(u8 taskId, s16 x, s16 y); -void sub_80FDBEC(void); -bool8 sub_80FDE2C(void); -void ItemUseOutOfBattle_CannotUse(u8 taskId); +static void SetUpItemUseCallback(u8 taskId); +static void FieldCB_UseItemOnField(void); +static void Task_CallItemUseOnFieldCallback(u8 taskId); +static void Task_UseItemfinder(u8 taskId); +static void Task_CloseItemfinderMessage(u8 taskId); +static void Task_HiddenItemNearby(u8 taskId); +static void Task_StandingOnHiddenItem(u8 taskId); +static bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *, u8); +static u8 GetDirectionToHiddenItem(s16 distanceX, s16 distanceY); +static void PlayerFaceHiddenItem(u8 a); +static void CheckForHiddenItemsInMapConnection(u8 taskId); +static void sub_80FDC00(u8 taskId); +static void ItemUseOnFieldCB_Bike(u8 taskId); +static void ItemUseOnFieldCB_Rod(u8); +static void ItemUseOnFieldCB_Itemfinder(u8); +static void ItemUseOnFieldCB_Berry(u8 taskId); +static void ItemUseOnFieldCB_WailmerPailBerry(u8 taskId); +static void ItemUseOnFieldCB_WailmerPailSudowoodo(u8 taskId); +static bool8 TryToWaterSudowoodo(void); +static void BootUpSoundTMHM(u8 taskId); +static void Task_ShowTMHMContainedMessage(u8 taskId); +static void UseTMHMYesNo(u8 taskId); +static void UseTMHM(u8 taskId); +static void Task_StartUseRepel(u8 taskId); +static void Task_UseRepel(u8 taskId); +static void Task_CloseCantUseKeyItemMessage(u8 taskId); +static void SetDistanceOfClosestHiddenItem(u8 taskId, s16 x, s16 y); +static void CB2_OpenPokeblockCaseOnField(void); // EWRAM variables -EWRAM_DATA static void(*gUnknown_0203A0F4)(u8 taskId) = NULL; +EWRAM_DATA static void(*sItemUseOnFieldCB)(u8 taskId) = NULL; + +// Below is set TRUE by UseRegisteredKeyItemOnField +#define tUsingRegisteredKeyItem data[3] // .rodata -static const MainCallback gUnknown_085920D8[] = +static const MainCallback sItemUseCallbacks[] = { - sub_81B617C, + CB2_ShowPartyMenuForItemUse, CB2_ReturnToField, NULL, }; -static const u8 gUnknown_085920E4[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; +static const u8 sClockwiseDirections[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; -static const struct YesNoFuncTable gUnknown_085920E8 = +static const struct YesNoFuncTable sUseTMHMYesNoFuncTable = { - .yesFunc = sub_80FE03C, + .yesFunc = UseTMHM, .noFunc = BagMenu_InitListsMenu, }; // .text -void SetUpItemUseCallback(u8 taskId) +static void SetUpItemUseCallback(u8 taskId) { u8 type; if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY) @@ -115,40 +107,40 @@ void SetUpItemUseCallback(u8 taskId) type = ItemId_GetType(gSpecialVar_ItemId) - 1; if (!InBattlePyramid()) { - gBagMenu->mainCallback2 = gUnknown_085920D8[type]; - unknown_ItemMenu_Confirm(taskId); + gBagMenu->mainCallback2 = sItemUseCallbacks[type]; + Task_FadeAndCloseBagMenu(taskId); } else { - gPyramidBagResources->callback2 = gUnknown_085920D8[type]; - sub_81C5B14(taskId); + gPyramidBagResources->callback2 = sItemUseCallbacks[type]; + CloseBattlePyramidBagAndSetCallback(taskId); } } -void SetUpItemUseOnFieldCallback(u8 taskId) +static void SetUpItemUseOnFieldCallback(u8 taskId) { - if (gTasks[taskId].data[3] != 1) + if (gTasks[taskId].tUsingRegisteredKeyItem != TRUE) { - gFieldCallback = MapPostLoadHook_UseItem; + gFieldCallback = FieldCB_UseItemOnField; SetUpItemUseCallback(taskId); } else - gUnknown_0203A0F4(taskId); + sItemUseOnFieldCB(taskId); } -void MapPostLoadHook_UseItem(void) +static void FieldCB_UseItemOnField(void) { - pal_fill_black(); + FadeInFromBlack(); CreateTask(Task_CallItemUseOnFieldCallback, 8); } -void Task_CallItemUseOnFieldCallback(u8 taskId) +static void Task_CallItemUseOnFieldCallback(u8 taskId) { if (IsWeatherNotFadingIn() == 1) - gUnknown_0203A0F4(taskId); + sItemUseOnFieldCB(taskId); } -void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField, const u8 *str) +static void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField, const u8 *str) { StringExpandPlaceholders(gStringVar4, str); if (!isUsingRegisteredKeyItemOnField) @@ -156,23 +148,23 @@ void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnFiel if (!InBattlePyramid()) DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu); else - DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, sub_81C6714); + DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, Task_CloseBattlePyramidBagMessage); } else - DisplayItemMessageOnField(taskId, gStringVar4, CleanUpAfterFailingToUseRegisteredKeyItemOnField); + DisplayItemMessageOnField(taskId, gStringVar4, Task_CloseCantUseKeyItemMessage); } -void DisplayDadsAdviceCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField) +static void DisplayDadsAdviceCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField) { DisplayCannotUseItemMessage(taskId, isUsingRegisteredKeyItemOnField, gText_DadsAdvice); } -void DisplayCannotDismountBikeMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField) +static void DisplayCannotDismountBikeMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField) { DisplayCannotUseItemMessage(taskId, isUsingRegisteredKeyItemOnField, gText_CantDismountBike); } -void CleanUpAfterFailingToUseRegisteredKeyItemOnField(u8 taskId) +static void Task_CloseCantUseKeyItemMessage(u8 taskId) { ClearDialogWindowAndFrame(0, 1); DestroyTask(taskId); @@ -190,17 +182,18 @@ u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId) return 0; } -void sub_80FD254(void) +// Mail in the bag menu can't have a message but it can be checked (view the mail background, no message) +static void CB2_CheckMail(void) { struct MailStruct mail; mail.itemId = gSpecialVar_ItemId; - ReadMail(&mail, bag_menu_mail_related, 0); + ReadMail(&mail, CB2_ReturnToBagMenuPocket, 0); } void ItemUseOutOfBattle_Mail(u8 taskId) { - gBagMenu->mainCallback2 = sub_80FD254; - unknown_ItemMenu_Confirm(taskId); + gBagMenu->mainCallback2 = CB2_CheckMail; + Task_FadeAndCloseBagMenu(taskId); } void ItemUseOutOfBattle_Bike(u8 taskId) @@ -212,20 +205,20 @@ void ItemUseOutOfBattle_Bike(u8 taskId) PlayerGetDestCoords(&coordsX, &coordsY); behavior = MapGridGetMetatileBehaviorAt(coordsX, coordsY); if (FlagGet(FLAG_SYS_CYCLING_ROAD) == TRUE || MetatileBehavior_IsVerticalRail(behavior) == TRUE || MetatileBehavior_IsHorizontalRail(behavior) == TRUE || MetatileBehavior_IsIsolatedVerticalRail(behavior) == TRUE || MetatileBehavior_IsIsolatedHorizontalRail(behavior) == TRUE) - DisplayCannotDismountBikeMessage(taskId, data[3]); + DisplayCannotDismountBikeMessage(taskId, tUsingRegisteredKeyItem); else { if (Overworld_IsBikingAllowed() == TRUE && IsBikingDisallowedByPlayer() == 0) { - gUnknown_0203A0F4 = ItemUseOnFieldCB_Bike; + sItemUseOnFieldCB = ItemUseOnFieldCB_Bike; SetUpItemUseOnFieldCallback(taskId); } else - DisplayDadsAdviceCannotUseItemMessage(taskId, data[3]); + DisplayDadsAdviceCannotUseItemMessage(taskId, tUsingRegisteredKeyItem); } } -void ItemUseOnFieldCB_Bike(u8 taskId) +static void ItemUseOnFieldCB_Bike(u8 taskId) { if (!ItemId_GetSecondaryId(gSpecialVar_ItemId)) GetOnOffBike(2); @@ -236,7 +229,7 @@ void ItemUseOnFieldCB_Bike(u8 taskId) DestroyTask(taskId); } -bool32 CanFish(void) +static bool32 CanFish(void) { s16 x, y; u16 tileBehavior; @@ -270,14 +263,14 @@ void ItemUseOutOfBattle_Rod(u8 taskId) { if (CanFish() == TRUE) { - gUnknown_0203A0F4 = ItemUseOnFieldCB_Rod; + sItemUseOnFieldCB = ItemUseOnFieldCB_Rod; SetUpItemUseOnFieldCallback(taskId); } else - DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem); } -void ItemUseOnFieldCB_Rod(u8 taskId) +static void ItemUseOnFieldCB_Rod(u8 taskId) { StartFishing(ItemId_GetSecondaryId(gSpecialVar_ItemId)); DestroyTask(taskId); @@ -285,56 +278,65 @@ void ItemUseOnFieldCB_Rod(u8 taskId) void ItemUseOutOfBattle_Itemfinder(u8 var) { - IncrementGameStat(0x27); - gUnknown_0203A0F4 = ItemUseOnFieldCB_Itemfinder; + IncrementGameStat(GAME_STAT_USED_ITEMFINDER); + sItemUseOnFieldCB = ItemUseOnFieldCB_Itemfinder; SetUpItemUseOnFieldCallback(var); } -void ItemUseOnFieldCB_Itemfinder(u8 taskId) +static void ItemUseOnFieldCB_Itemfinder(u8 taskId) { if (ItemfinderCheckForHiddenItems(gMapHeader.events, taskId) == TRUE) - gTasks[taskId].func = sub_80FD504; + gTasks[taskId].func = Task_UseItemfinder; else - DisplayItemMessageOnField(taskId, gText_ItemFinderNothing, sub_80FD5CC); + DisplayItemMessageOnField(taskId, gText_ItemFinderNothing, Task_CloseItemfinderMessage); } -void sub_80FD504(u8 taskId) +// Define itemfinder task data +#define tItemDistanceX data[0] +#define tItemDistanceY data[1] +#define tItemFound data[2] +#define tCounter data[3] // Used to count delay between beeps and rotations during player spin +#define tItemfinderBeeps data[4] +#define tFacingDir data[5] + +static void Task_UseItemfinder(u8 taskId) { u8 playerDir; u8 playerDirToItem; u8 i; s16* data = gTasks[taskId].data; - if (!data[3]) + if (tCounter == 0) { - if (data[4] == 4) + if (tItemfinderBeeps == 4) { - playerDirToItem = sub_80FD9B0(data[0], data[1]); - if (playerDirToItem) + playerDirToItem = GetDirectionToHiddenItem(tItemDistanceX, tItemDistanceY); + if (playerDirToItem != DIR_NONE) { - sub_80FDA24(gUnknown_085920E4[playerDirToItem - 1]); - gTasks[taskId].func = sub_80FDA94; + PlayerFaceHiddenItem(sClockwiseDirections[playerDirToItem - 1]); + gTasks[taskId].func = Task_HiddenItemNearby; } else { + // Player is standing on hidden item playerDir = GetPlayerFacingDirection(); - for (i = 0; i < 4; i++) + for (i = 0; i < ARRAY_COUNT(sClockwiseDirections); i++) { - if (playerDir == gUnknown_085920E4[i]) - data[5] = (i + 1) & 3; + if (playerDir == sClockwiseDirections[i]) + tFacingDir = (i + 1) & 3; } - gTasks[taskId].func = sub_80FDADC; - data[3] = 0; - data[2] = 0; + gTasks[taskId].func = Task_StandingOnHiddenItem; + tCounter = 0; + tItemFound = 0; } return; } PlaySE(SE_DAUGI); - data[4]++; + tItemfinderBeeps++; } - data[3] = (data[3] + 1) & 0x1F; + tCounter = (tCounter + 1) & 0x1F; } -void sub_80FD5CC(u8 taskId) +static void Task_CloseItemfinderMessage(u8 taskId) { ClearDialogWindowAndFrame(0, 1); ScriptUnfreezeEventObjects(); @@ -342,34 +344,36 @@ void sub_80FD5CC(u8 taskId) DestroyTask(taskId); } -bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *events, u8 taskId) +static bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *events, u8 taskId) { - int distanceX, distanceY; - s16 x, y, i, newDistanceX, newDistanceY; - PlayerGetDestCoords(&x, &y); - gTasks[taskId].data[2] = FALSE; + int itemX, itemY; + s16 playerX, playerY, i, distanceX, distanceY; + PlayerGetDestCoords(&playerX, &playerY); + gTasks[taskId].tItemFound = FALSE; + for (i = 0; i < events->bgEventCount; i++) { - if (events->bgEvents[i].kind == BG_EVENT_HIDDEN_ITEM && !FlagGet(events->bgEvents[i].bgUnion.hiddenItem.hiddenItemId + 0x1F4)) + // Check if there are any hidden items on the current map that haven't been picked up + if (events->bgEvents[i].kind == BG_EVENT_HIDDEN_ITEM && !FlagGet(events->bgEvents[i].bgUnion.hiddenItem.hiddenItemId + FLAG_HIDDEN_ITEMS_START)) { - distanceX = (u16)events->bgEvents[i].x + 7; - newDistanceX = distanceX - x; - distanceY = (u16)events->bgEvents[i].y + 7; - newDistanceY = distanceY - y; + itemX = (u16)events->bgEvents[i].x + 7; + distanceX = itemX - playerX; + itemY = (u16)events->bgEvents[i].y + 7; + distanceY = itemY - playerY; - if ((u16)(newDistanceX + 7) < 15 && (newDistanceY >= -5) && (newDistanceY < 6)) - sub_80FD8E0(taskId, newDistanceX, newDistanceY); + if ((u16)(distanceX + 7) < 15 && (distanceY >= -5) && (distanceY < 6)) + SetDistanceOfClosestHiddenItem(taskId, distanceX, distanceY); } } - sub_80FD7C8(taskId); - if (gTasks[taskId].data[2] == TRUE) + CheckForHiddenItemsInMapConnection(taskId); + if (gTasks[taskId].tItemFound == TRUE) return TRUE; else return FALSE; } -bool8 sub_80FD6D4(const struct MapEvents *events, s16 x, s16 y) +static bool8 IsHiddenItemPresentAtCoords(const struct MapEvents *events, s16 x, s16 y) { u8 bgEventCount = events->bgEventCount; struct BgEvent *bgEvent = events->bgEvents; @@ -379,7 +383,7 @@ bool8 sub_80FD6D4(const struct MapEvents *events, s16 x, s16 y) { if (bgEvent[i].kind == BG_EVENT_HIDDEN_ITEM && x == (u16)bgEvent[i].x && y == (u16)bgEvent[i].y) // hidden item and coordinates matches x and y passed? { - if (!FlagGet(bgEvent[i].bgUnion.hiddenItem.hiddenItemId + 0x1F4)) + if (!FlagGet(bgEvent[i].bgUnion.hiddenItem.hiddenItemId + FLAG_HIDDEN_ITEMS_START)) return TRUE; else return FALSE; @@ -388,7 +392,7 @@ bool8 sub_80FD6D4(const struct MapEvents *events, s16 x, s16 y) return FALSE; } -bool8 sub_80FD730(struct MapConnection *connection, int x, int y) +static bool8 IsHiddenItemPresentInConnection(struct MapConnection *connection, int x, int y) { u16 localX, localY; @@ -399,7 +403,7 @@ bool8 sub_80FD730(struct MapConnection *connection, int x, int y) switch (connection->direction) { - // same weird temp variable behavior seen in sub_80FD6D4 + // same weird temp variable behavior seen in IsHiddenItemPresentAtCoords case 2: localOffset = connection->offset + 7; localX = x - localOffset; @@ -427,136 +431,145 @@ bool8 sub_80FD730(struct MapConnection *connection, int x, int y) default: return FALSE; } - return sub_80FD6D4(mapHeader->events, localX, localY); + return IsHiddenItemPresentAtCoords(mapHeader->events, localX, localY); } -void sub_80FD7C8(u8 taskId) +static void CheckForHiddenItemsInMapConnection(u8 taskId) { + s16 playerX, playerY; s16 x, y; - s16 curX, curY; s16 width = gMapHeader.mapLayout->width + 7; s16 height = gMapHeader.mapLayout->height + 7; s16 var1 = 7; s16 var2 = 7; - PlayerGetDestCoords(&x, &y); + PlayerGetDestCoords(&playerX, &playerY); - for (curX = x - 7; curX <= x + 7; curX++) + for (x = playerX - 7; x <= playerX + 7; x++) { - for (curY = y - 5; curY <= y + 5; curY++) + for (y = playerY - 5; y <= playerY + 5; y++) { - if (var1 > curX - || curX >= width - || var2 > curY - || curY >= height) + if (var1 > x + || x >= width + || var2 > y + || y >= height) { - struct MapConnection *conn = sub_8088A8C(curX, curY); - if (conn && sub_80FD730(conn, curX, curY) == TRUE) - sub_80FD8E0(taskId, curX - x, curY - y); + struct MapConnection *conn = GetConnectionAtCoords(x, y); + if (conn && IsHiddenItemPresentInConnection(conn, x, y) == TRUE) + SetDistanceOfClosestHiddenItem(taskId, x - playerX, y - playerY); } } } } -void sub_80FD8E0(u8 taskId, s16 x, s16 y) +static void SetDistanceOfClosestHiddenItem(u8 taskId, s16 itemDistanceX, s16 itemDistanceY) { s16 *data = gTasks[taskId].data; - s16 var1, var2, var3, var4; + s16 oldItemAbsX, oldItemAbsY, newItemAbsX, newItemAbsY; - if (data[2] == FALSE) + if (tItemFound == FALSE) { - data[0] = x; - data[1] = y; - data[2] = TRUE; + // No other items found yet, set this one + tItemDistanceX = itemDistanceX; + tItemDistanceY = itemDistanceY; + tItemFound = TRUE; } else { - // data[0] and data[1] contain the player's coordinates. - // x and y contain the item's coordinates. - if (data[0] < 0) - var1 = data[0] * -1; // item is to the left - else - var1 = data[0]; // item is to the right + // Other items have been found, check if this one is closer - if (data[1] < 0) - var2 = data[1] * -1; // item is to the north + // Get absolute x distance of the already-found item + if (tItemDistanceX < 0) + oldItemAbsX = tItemDistanceX * -1; // WEST else - var2 = data[1]; // item is to the south + oldItemAbsX = tItemDistanceX; // EAST - if (x < 0) - var3 = x * -1; + // Get absolute y distance of the already-found item + if (tItemDistanceY < 0) + oldItemAbsY = tItemDistanceY * -1; // NORTH else - var3 = x; + oldItemAbsY = tItemDistanceY; // SOUTH - if (y < 0) - var4 = y * -1; + // Get absolute x distance of the newly-found item + if (itemDistanceX < 0) + newItemAbsX = itemDistanceX * -1; else - var4 = y; + newItemAbsX = itemDistanceX; - if (var1 + var2 > var3 + var4) + // Get absolute y distance of the newly-found item + if (itemDistanceY < 0) + newItemAbsY = itemDistanceY * -1; + else + newItemAbsY = itemDistanceY; + + + if (oldItemAbsX + oldItemAbsY > newItemAbsX + newItemAbsY) { - data[0] = x; - data[1] = y; + // New item is closer + tItemDistanceX = itemDistanceX; + tItemDistanceY = itemDistanceY; } else { - if (var1 + var2 == var3 + var4 && (var2 > var4 || (var2 == var4 && data[1] < y))) + if (oldItemAbsX + oldItemAbsY == newItemAbsX + newItemAbsY + && (oldItemAbsY > newItemAbsY || (oldItemAbsY == newItemAbsY && tItemDistanceY < itemDistanceY))) { - data[0] = x; - data[1] = y; + // If items are equal distance, use whichever is closer on the Y axis or further south + tItemDistanceX = itemDistanceX; + tItemDistanceY = itemDistanceY; } } } } -u8 sub_80FD9B0(s16 itemX, s16 itemY) +static u8 GetDirectionToHiddenItem(s16 itemDistanceX, s16 itemDistanceY) { - s16 abX, abY; + s16 absX, absY; - if (itemX == 0 && itemY == 0) + if (itemDistanceX == 0 && itemDistanceY == 0) return DIR_NONE; // player is standing on the item. - // get absolute X distance. - if (itemX < 0) - abX = itemX * -1; + // Get absolute X distance. + if (itemDistanceX < 0) + absX = itemDistanceX * -1; else - abX = itemX; + absX = itemDistanceX; - // get absolute Y distance. - if (itemY < 0) - abY = itemY * -1; + // Get absolute Y distance. + if (itemDistanceY < 0) + absY = itemDistanceY * -1; else - abY = itemY; + absY = itemDistanceY; - if (abX > abY) + if (absX > absY) { - if (itemX < 0) + if (itemDistanceX < 0) return DIR_EAST; else return DIR_NORTH; } else { - if (abX < abY) + if (absX < absY) { - if (itemY < 0) + if (itemDistanceY < 0) return DIR_SOUTH; else return DIR_WEST; } - if (abX == abY) + if (absX == absY) { - if (itemY < 0) + if (itemDistanceY < 0) return DIR_SOUTH; else return DIR_WEST; } - return DIR_NONE; // should never get here. return something so it doesnt crash. + return DIR_NONE; // Unreachable } } -void sub_80FDA24(u8 direction) +static void PlayerFaceHiddenItem(u8 direction) { EventObjectClearHeldMovementIfFinished(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]); EventObjectClearHeldMovement(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]); @@ -564,101 +577,110 @@ void sub_80FDA24(u8 direction) PlayerTurnInPlace(direction); } -void sub_80FDA94(u8 taskId) +static void Task_HiddenItemNearby(u8 taskId) { if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]) == TRUE) - DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, sub_80FD5CC); + DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, Task_CloseItemfinderMessage); } -void sub_80FDADC(u8 taskId) +static void Task_StandingOnHiddenItem(u8 taskId) { s16 *data = gTasks[taskId].data; if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]) == TRUE - || data[2] == FALSE) + || tItemFound == FALSE) { - sub_80FDA24(gUnknown_085920E4[data[5]]); - data[2] = 1; - data[5] = (data[5] + 1) & 3; - data[3]++; + // Spin player around on item + PlayerFaceHiddenItem(sClockwiseDirections[tFacingDir]); + tItemFound = TRUE; + tFacingDir = (tFacingDir + 1) & 3; + tCounter++; - if (data[3] == 4) - DisplayItemMessageOnField(taskId, gText_ItemFinderOnTop, sub_80FD5CC); + if (tCounter == 4) + DisplayItemMessageOnField(taskId, gText_ItemFinderOnTop, Task_CloseItemfinderMessage); } } +// Undefine itemfinder task data +#undef tItemDistanceX +#undef tItemDistanceY +#undef tItemFound +#undef tCounter +#undef tItemfinderBeeps +#undef tFacingDir + void ItemUseOutOfBattle_PokeblockCase(u8 taskId) { - if (sub_81221AC() == TRUE) + if (sub_81221AC() == TRUE) // link func { - DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem); } - else if (gTasks[taskId].data[3] != TRUE) + else if (gTasks[taskId].tUsingRegisteredKeyItem != TRUE) { - gBagMenu->mainCallback2 = sub_80FDBEC; - unknown_ItemMenu_Confirm(taskId); + gBagMenu->mainCallback2 = CB2_OpenPokeblockCaseOnField; + Task_FadeAndCloseBagMenu(taskId); } else { gFieldCallback = sub_80AF6D4; - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = sub_80FDC00; } } -void sub_80FDBEC(void) +static void CB2_OpenPokeblockCaseOnField(void) { - OpenPokeblockCase(0, bag_menu_mail_related); + OpenPokeblockCase(PBLOCK_CASE_FIELD, CB2_ReturnToBagMenuPocket); } -void sub_80FDC00(u8 taskId) +static void sub_80FDC00(u8 taskId) { if (!gPaletteFade.active) { CleanupOverworldWindowsAndTilemaps(); - OpenPokeblockCase(0, CB2_ReturnToField); + OpenPokeblockCase(PBLOCK_CASE_FIELD, CB2_ReturnToField); DestroyTask(taskId); } } void ItemUseOutOfBattle_CoinCase(u8 taskId) { - ConvertIntToDecimalStringN(gStringVar1, GetCoins(), 0, 4); + ConvertIntToDecimalStringN(gStringVar1, GetCoins(), STR_CONV_MODE_LEFT_ALIGN, 4); StringExpandPlaceholders(gStringVar4, gText_CoinCase); - if (!gTasks[taskId].data[3]) + if (!gTasks[taskId].tUsingRegisteredKeyItem) { DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu); } else { - DisplayItemMessageOnField(taskId, gStringVar4, CleanUpAfterFailingToUseRegisteredKeyItemOnField); + DisplayItemMessageOnField(taskId, gStringVar4, Task_CloseCantUseKeyItemMessage); } } void ItemUseOutOfBattle_PowderJar(u8 taskId) { - ConvertIntToDecimalStringN(gStringVar1, GetBerryPowder(), 0, 5); + ConvertIntToDecimalStringN(gStringVar1, GetBerryPowder(), STR_CONV_MODE_LEFT_ALIGN, 5); StringExpandPlaceholders(gStringVar4, gText_PowderQty); - if (!gTasks[taskId].data[3]) + if (!gTasks[taskId].tUsingRegisteredKeyItem) { DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu); } else { - DisplayItemMessageOnField(taskId, gStringVar4, CleanUpAfterFailingToUseRegisteredKeyItemOnField); + DisplayItemMessageOnField(taskId, gStringVar4, Task_CloseCantUseKeyItemMessage); } } -void sub_80FDD10(u8 taskId) +void ItemUseOutOfBattle_Berry(u8 taskId) { if (IsPlayerFacingEmptyBerryTreePatch() == TRUE) { - gUnknown_0203A0F4 = sub_80FDD74; - gFieldCallback = MapPostLoadHook_UseItem; + sItemUseOnFieldCB = ItemUseOnFieldCB_Berry; + gFieldCallback = FieldCB_UseItemOnField; gBagMenu->mainCallback2 = CB2_ReturnToField; - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); } else { @@ -666,40 +688,40 @@ void sub_80FDD10(u8 taskId) } } -void sub_80FDD74(u8 taskId) +static void ItemUseOnFieldCB_Berry(u8 taskId) { RemoveBagItem(gSpecialVar_ItemId, 1); ScriptContext2_Enable(); - ScriptContext1_SetupScript(BerryTree_EventScript_274482); + ScriptContext1_SetupScript(BerryTree_EventScript_ItemUsePlantBerry); DestroyTask(taskId); } void ItemUseOutOfBattle_WailmerPail(u8 taskId) { - if (sub_80FDE2C() == TRUE) + if (TryToWaterSudowoodo() == TRUE) { - gUnknown_0203A0F4 = sub_80FDE7C; + sItemUseOnFieldCB = ItemUseOnFieldCB_WailmerPailSudowoodo; SetUpItemUseOnFieldCallback(taskId); } else if (TryToWaterBerryTree() == TRUE) { - gUnknown_0203A0F4 = sub_80FDE08; + sItemUseOnFieldCB = ItemUseOnFieldCB_WailmerPailBerry; SetUpItemUseOnFieldCallback(taskId); } else { - DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem); } } -void sub_80FDE08(u8 taskId) +static void ItemUseOnFieldCB_WailmerPailBerry(u8 taskId) { ScriptContext2_Enable(); - ScriptContext1_SetupScript(BerryTree_EventScript_2744C0); + ScriptContext1_SetupScript(BerryTree_EventScript_ItemUseWailmerPail); DestroyTask(taskId); } -bool8 sub_80FDE2C(void) +static bool8 TryToWaterSudowoodo(void) { u16 x, y; u8 z; @@ -707,98 +729,98 @@ bool8 sub_80FDE2C(void) GetXYCoordsOneStepInFrontOfPlayer(&x, &y); z = PlayerGetZCoord(); objId = GetEventObjectIdByXYZ(x, y, z); - if (objId == 16 || gEventObjects[objId].graphicsId != 0xE4) + if (objId == EVENT_OBJECTS_COUNT || gEventObjects[objId].graphicsId != EVENT_OBJ_GFX_SUDOWOODO) return FALSE; else return TRUE; } -void sub_80FDE7C(u8 taskId) +static void ItemUseOnFieldCB_WailmerPailSudowoodo(u8 taskId) { ScriptContext2_Enable(); - ScriptContext1_SetupScript(BattleFrontier_OutsideEast_EventScript_242CFC); + ScriptContext1_SetupScript(BattleFrontier_OutsideEast_EventScript_WaterSudowoodo); DestroyTask(taskId); } void ItemUseOutOfBattle_Medicine(u8 taskId) { - gUnknown_03006328 = ItemUseCB_Medicine; + gItemUseCB = ItemUseCB_Medicine; SetUpItemUseCallback(taskId); } void ItemUseOutOfBattle_ReduceEV(u8 taskId) { - gUnknown_03006328 = sub_81B67C8; + gItemUseCB = ItemUseCB_ReduceEV; SetUpItemUseCallback(taskId); } void ItemUseOutOfBattle_SacredAsh(u8 taskId) { - gUnknown_03006328 = sub_81B79E8; + gItemUseCB = ItemUseCB_SacredAsh; SetUpItemUseCallback(taskId); } void ItemUseOutOfBattle_PPRecovery(u8 taskId) { - gUnknown_03006328 = dp05_ether; + gItemUseCB = ItemUseCB_PPRecovery; SetUpItemUseCallback(taskId); } void ItemUseOutOfBattle_PPUp(u8 taskId) { - gUnknown_03006328 = dp05_pp_up; + gItemUseCB = ItemUseCB_PPUp; SetUpItemUseCallback(taskId); } void ItemUseOutOfBattle_RareCandy(u8 taskId) { - gUnknown_03006328 = dp05_rare_candy; + gItemUseCB = ItemUseCB_RareCandy; SetUpItemUseCallback(taskId); } void ItemUseOutOfBattle_TMHM(u8 taskId) { if (gSpecialVar_ItemId >= ITEM_HM01_CUT) - DisplayItemMessage(taskId, 1, gText_BootedUpHM, sub_80FDF90); // HM + DisplayItemMessage(taskId, 1, gText_BootedUpHM, BootUpSoundTMHM); // HM else - DisplayItemMessage(taskId, 1, gText_BootedUpTM, sub_80FDF90); // TM + DisplayItemMessage(taskId, 1, gText_BootedUpTM, BootUpSoundTMHM); // TM } -void sub_80FDF90(u8 taskId) +static void BootUpSoundTMHM(u8 taskId) { PlaySE(SE_PC_LOGIN); - gTasks[taskId].func = task08_0809AD8C; + gTasks[taskId].func = Task_ShowTMHMContainedMessage; } -void task08_0809AD8C(u8 taskId) +static void Task_ShowTMHMContainedMessage(u8 taskId) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { StringCopy(gStringVar1, gMoveNames[ItemIdToBattleMoveId(gSpecialVar_ItemId)]); StringExpandPlaceholders(gStringVar4, gText_TMHMContainedVar1); - DisplayItemMessage(taskId, 1, gStringVar4, sub_80FE024); + DisplayItemMessage(taskId, 1, gStringVar4, UseTMHMYesNo); } } -void sub_80FE024(u8 taskId) +static void UseTMHMYesNo(u8 taskId) { - BagMenu_YesNo(taskId, 6, &gUnknown_085920E8); + BagMenu_YesNo(taskId, 6, &sUseTMHMYesNoFuncTable); } -void sub_80FE03C(u8 taskId) +static void UseTMHM(u8 taskId) { - gUnknown_03006328 = sub_81B6DC4; + gItemUseCB = ItemUseCB_TMHM; SetUpItemUseCallback(taskId); } -void sub_80FE058(void) +static void RemoveUsedItem(void) { RemoveBagItem(gSpecialVar_ItemId, 1); CopyItemName(gSpecialVar_ItemId, gStringVar2); StringExpandPlaceholders(gStringVar4, gText_PlayerUsedVar2); if (!InBattlePyramid()) { - sub_81AB9A8(ItemId_GetPocket(gSpecialVar_ItemId)); + UpdatePocketItemList(ItemId_GetPocket(gSpecialVar_ItemId)); SetInitialScrollAndCursorPositions(ItemId_GetPocket(gSpecialVar_ItemId)); } else @@ -811,14 +833,14 @@ void sub_80FE058(void) void ItemUseOutOfBattle_Repel(u8 taskId) { if (VarGet(VAR_REPEL_STEP_COUNT) == 0) - gTasks[taskId].func = sub_80FE124; + gTasks[taskId].func = Task_StartUseRepel; else if (!InBattlePyramid()) DisplayItemMessage(taskId, 1, gText_RepelEffectsLingered, BagMenu_InitListsMenu); else - DisplayItemMessageInBattlePyramid(taskId, gText_RepelEffectsLingered, sub_81C6714); + DisplayItemMessageInBattlePyramid(taskId, gText_RepelEffectsLingered, Task_CloseBattlePyramidBagMessage); } -void sub_80FE124(u8 taskId) +static void Task_StartUseRepel(u8 taskId) { s16* data = gTasks[taskId].data; @@ -826,24 +848,24 @@ void sub_80FE124(u8 taskId) { data[8] = 0; PlaySE(SE_TU_SAA); - gTasks[taskId].func = sub_80FE164; + gTasks[taskId].func = Task_UseRepel; } } -void sub_80FE164(u8 taskId) +static void Task_UseRepel(u8 taskId) { if (!IsSEPlaying()) { VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId)); - sub_80FE058(); + RemoveUsedItem(); if (!InBattlePyramid()) DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu); else - DisplayItemMessageInBattlePyramid(taskId, gStringVar4, sub_81C6714); + DisplayItemMessageInBattlePyramid(taskId, gStringVar4, Task_CloseBattlePyramidBagMessage); } } -void sub_80FE1D0(u8 taskId) +static void Task_UsedBlackWhiteFlute(u8 taskId) { if(++gTasks[taskId].data[8] > 7) { @@ -851,7 +873,7 @@ void sub_80FE1D0(u8 taskId) if (!InBattlePyramid()) DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu); else - DisplayItemMessageInBattlePyramid(taskId, gStringVar4, sub_81C6714); + DisplayItemMessageInBattlePyramid(taskId, gStringVar4, Task_CloseBattlePyramidBagMessage); } } @@ -871,27 +893,27 @@ void ItemUseOutOfBattle_BlackWhiteFlute(u8 taskId) StringExpandPlaceholders(gStringVar4, gText_UsedVar2WildRepelled); } gTasks[taskId].data[8] = 0; - gTasks[taskId].func = sub_80FE1D0; + gTasks[taskId].func = Task_UsedBlackWhiteFlute; } -void task08_080A1C44(u8 taskId) +void Task_UseDigEscapeRopeOnField(u8 taskId) { ResetInitialPlayerAvatarState(); StartEscapeRopeFieldEffect(); DestroyTask(taskId); } -void re_escape_rope(u8 taskId) +static void ItemUseOnFieldCB_EscapeRope(u8 taskId) { Overworld_ResetStateAfterDigEscRope(); - sub_80FE058(); + RemoveUsedItem(); gTasks[taskId].data[0] = 0; - DisplayItemMessageOnField(taskId, gStringVar4, task08_080A1C44); + DisplayItemMessageOnField(taskId, gStringVar4, Task_UseDigEscapeRopeOnField); } bool8 CanUseEscapeRopeOnCurrMap(void) { - if (gMapHeader.flags & 2) + if (gMapHeader.flags & MAP_ALLOW_ESCAPE_ROPE) return TRUE; else return FALSE; @@ -901,18 +923,18 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId) { if (CanUseEscapeRopeOnCurrMap() == TRUE) { - gUnknown_0203A0F4 = re_escape_rope; + sItemUseOnFieldCB = ItemUseOnFieldCB_EscapeRope; SetUpItemUseOnFieldCallback(taskId); } else { - DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem); } } void ItemUseOutOfBattle_EvolutionStone(u8 taskId) { - gUnknown_03006328 = sub_81B7C74; + gItemUseCB = ItemUseCB_EvolutionStone; SetUpItemUseCallback(taskId); } @@ -922,42 +944,43 @@ void ItemUseInBattle_PokeBall(u8 taskId) { RemoveBagItem(gSpecialVar_ItemId, 1); if (!InBattlePyramid()) - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); else - sub_81C5B14(taskId); + CloseBattlePyramidBagAndSetCallback(taskId); } else if (!InBattlePyramid()) { DisplayItemMessage(taskId, 1, gText_BoxFull, BagMenu_InitListsMenu); } else - DisplayItemMessageInBattlePyramid(taskId, gText_BoxFull, sub_81C6714); + DisplayItemMessageInBattlePyramid(taskId, gText_BoxFull, Task_CloseBattlePyramidBagMessage); } -void sub_80FE408(u8 taskId) +static void Task_CloseStatIncreaseMessage(u8 taskId) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { if (!InBattlePyramid()) - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); else - sub_81C5B14(taskId); + CloseBattlePyramidBagAndSetCallback(taskId); } } -void sub_80FE440(u8 taskId) +static void Task_UseStatIncreaseItem(u8 taskId) { if(++gTasks[taskId].data[8] > 7) { PlaySE(SE_KAIFUKU); RemoveBagItem(gSpecialVar_ItemId, 1); if (!InBattlePyramid()) - DisplayItemMessage(taskId, 1, sub_806CF78(gSpecialVar_ItemId), sub_80FE408); + DisplayItemMessage(taskId, 1, UseStatIncreaseItem(gSpecialVar_ItemId), Task_CloseStatIncreaseMessage); else - DisplayItemMessageInBattlePyramid(taskId, sub_806CF78(gSpecialVar_ItemId), sub_80FE408); + DisplayItemMessageInBattlePyramid(taskId, UseStatIncreaseItem(gSpecialVar_ItemId), Task_CloseStatIncreaseMessage); } } +// e.g. X Attack, Guard Spec void ItemUseInBattle_StatIncrease(u8 taskId) { u16 partyId = gBattlerPartyIndexes[gBattlerInMenuId]; @@ -967,61 +990,63 @@ void ItemUseInBattle_StatIncrease(u8 taskId) if (!InBattlePyramid()) DisplayItemMessage(taskId, 1, gText_WontHaveEffect, BagMenu_InitListsMenu); else - DisplayItemMessageInBattlePyramid(taskId, gText_WontHaveEffect, sub_81C6714); + DisplayItemMessageInBattlePyramid(taskId, gText_WontHaveEffect, Task_CloseBattlePyramidBagMessage); } else { - gTasks[taskId].func = sub_80FE440; + gTasks[taskId].func = Task_UseStatIncreaseItem; gTasks[taskId].data[8] = 0; } } -void sub_80FE54C(u8 taskId) +static void ItemUseInBattle_ShowPartyMenu(u8 taskId) { if (!InBattlePyramid()) { - gBagMenu->mainCallback2 = sub_81B89F0; - unknown_ItemMenu_Confirm(taskId); + gBagMenu->mainCallback2 = ChooseMonForInBattleItem; + Task_FadeAndCloseBagMenu(taskId); } else { - gPyramidBagResources->callback2 = sub_81B89F0; - sub_81C5B14(taskId); + gPyramidBagResources->callback2 = ChooseMonForInBattleItem; + CloseBattlePyramidBagAndSetCallback(taskId); } } void ItemUseInBattle_Medicine(u8 taskId) { - gUnknown_03006328 = ItemUseCB_Medicine; - sub_80FE54C(taskId); + gItemUseCB = ItemUseCB_Medicine; + ItemUseInBattle_ShowPartyMenu(taskId); } -void sub_80FE5AC(u8 taskId) +// Unused. Sacred Ash cannot be used in battle +void ItemUseInBattle_SacredAsh(u8 taskId) { - gUnknown_03006328 = sub_81B79E8; - sub_80FE54C(taskId); + gItemUseCB = ItemUseCB_SacredAsh; + ItemUseInBattle_ShowPartyMenu(taskId); } void ItemUseInBattle_PPRecovery(u8 taskId) { - gUnknown_03006328 = dp05_ether; - sub_80FE54C(taskId); + gItemUseCB = ItemUseCB_PPRecovery; + ItemUseInBattle_ShowPartyMenu(taskId); } +// Fluffy Tail / Poke Doll void ItemUseInBattle_Escape(u8 taskId) { if((gBattleTypeFlags & BATTLE_TYPE_TRAINER) == FALSE) { - sub_80FE058(); + RemoveUsedItem(); if (!InBattlePyramid()) - DisplayItemMessage(taskId, 1, gStringVar4, unknown_ItemMenu_Confirm); + DisplayItemMessage(taskId, 1, gStringVar4, Task_FadeAndCloseBagMenu); else - DisplayItemMessageInBattlePyramid(taskId, gStringVar4, sub_81C5B14); + DisplayItemMessageInBattlePyramid(taskId, gStringVar4, CloseBattlePyramidBagAndSetCallback); } else { - DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem); } } @@ -1098,5 +1123,7 @@ void ItemUseInBattle_EnigmaBerry(u8 taskId) void ItemUseOutOfBattle_CannotUse(u8 taskId) { - DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem); } + +#undef tUsingRegisteredKeyItem diff --git a/src/libagbsyscall.s b/src/libagbsyscall.s deleted file mode 100644 index d5639f6893..0000000000 --- a/src/libagbsyscall.s +++ /dev/null @@ -1,116 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start ArcTan2 -ArcTan2: @ 82E7078 - swi 0xA - bx lr - thumb_func_end ArcTan2 - - thumb_func_start BgAffineSet -@ void BgAffineSet(BgAffineSet_src_data *src, BgAffineSet_dest_data *dest, int entry_count) -BgAffineSet: @ 82E707C - swi 0xE - bx lr - thumb_func_end BgAffineSet - - thumb_func_start CpuFastSet -@ void CpuFastSet(void *src, void *dest, unsigned int mode) -CpuFastSet: @ 82E7080 - swi 0xC - bx lr - thumb_func_end CpuFastSet - - thumb_func_start CpuSet -@ void CpuSet(void *src, void *dest, unsigned int mode) -CpuSet: @ 82E7084 - swi 0xB - bx lr - thumb_func_end CpuSet - - thumb_func_start Div -Div: @ 82E7088 - swi 0x6 - bx lr - thumb_func_end Div - - thumb_func_start LZ77UnCompVram -@ void LZ77UnCompVram(void *src, void *dest) -LZ77UnCompVram: @ 82E708C - swi 0x12 - bx lr - thumb_func_end LZ77UnCompVram - - thumb_func_start LZ77UnCompWram -@ void LZ77UnCompWram(void *src, void *dest) -LZ77UnCompWram: @ 82E7090 - swi 0x11 - bx lr - thumb_func_end LZ77UnCompWram - - thumb_func_start MultiBoot -@ s32 MultiBoot(struct MultiBootParam *mp) -MultiBoot: @ 82E7094 - movs r1, 0x1 - swi 0x25 - bx lr - thumb_func_end MultiBoot - - thumb_func_start ObjAffineSet -ObjAffineSet: @ 82E709C - swi 0xF - bx lr - thumb_func_end ObjAffineSet - - thumb_func_start RLUnCompVram -RLUnCompVram: @ 82E70A0 - swi 0x15 - bx lr - thumb_func_end RLUnCompVram - - thumb_func_start RLUnCompWram -RLUnCompWram: @ 82E70A4 - swi 0x14 - bx lr - thumb_func_end RLUnCompWram - - thumb_func_start RegisterRamReset -@ void RegisterRamReset(int ResetFlags) -RegisterRamReset: @ 82E70A8 - swi 0x1 - bx lr - thumb_func_end RegisterRamReset - - thumb_func_start SoftReset -@ void SoftReset() -SoftReset: @ 82E70AC - ldr r3, =REG_IME - movs r2, 0 - strb r2, [r3] - ldr r1, =0x3007F00 - mov sp, r1 - swi 0x1 - swi 0 - .pool - thumb_func_end SoftReset - - thumb_func_start Sqrt -@ s16 Sqrt(int) -Sqrt: @ 82E70C4 - swi 0x8 - bx lr - thumb_func_end Sqrt - - thumb_func_start VBlankIntrWait -@ void VBlankIntrWait() -VBlankIntrWait: @ 82E70C8 - movs r2, 0 - swi 0x5 - bx lr - thumb_func_end VBlankIntrWait - - .align 2, 0 @ Don't pad with nop. diff --git a/src/link.c b/src/link.c index 9928b48da5..939a4afc8b 100644 --- a/src/link.c +++ b/src/link.c @@ -2,7 +2,7 @@ // Includes #include "global.h" #include "m4a.h" -#include "alloc.h" +#include "malloc.h" #include "reset_save_heap.h" #include "save.h" #include "bg.h" @@ -28,6 +28,7 @@ #include "link.h" #include "link_rfu.h" #include "constants/rgb.h" +#include "constants/trade.h" extern u16 gHeldKeyCodeToSend; @@ -212,10 +213,9 @@ const struct WindowTemplate gUnknown_082ED204[] = { {0x00, 0x00, 0x0D, 0x1E, 0x07, 0x0F, 0x016A}, DUMMY_WIN_TEMPLATE }; -const u8 gUnknown_082ED224[] = { - 0x00, 0x01, 0x02, 0x00, - 0xff, 0xfe, 0xff, 0x00 -}; + +static const u8 sTextColors[] = { TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY }; +static const u8 sUnused_082ED224[] = {0x00, 0xff, 0xfe, 0xff, 0x00}; // .text @@ -282,7 +282,7 @@ void LinkTestScreen(void) ResetTasks(); SetVBlankCallback(sub_80096BC); ResetBlockSend(); - gLinkType = 0x1111; + gLinkType = LINKTYPE_0x1111; OpenLink(); SeedRng(gMain.vblankCounter2); for (i = 0; i < MAX_LINK_PLAYERS; i++) @@ -316,10 +316,10 @@ static void InitLocalLinkPlayer(void) gLocalLinkPlayer.language = gGameLanguage; gLocalLinkPlayer.version = gGameVersion + 0x4000; gLocalLinkPlayer.lp_field_2 = 0x8000; - gLocalLinkPlayer.name[8] = IsNationalPokedexEnabled(); + gLocalLinkPlayer.progressFlags = IsNationalPokedexEnabled(); if (FlagGet(FLAG_IS_CHAMPION)) { - gLocalLinkPlayer.name[8] |= 0x10; + gLocalLinkPlayer.progressFlags |= 0x10; } } @@ -452,7 +452,7 @@ static void LinkTestProcessKeyInput(void) } if (gMain.newKeys & R_BUTTON) { - TrySavingData(1); + TrySavingData(SAVE_LINK); } if (gMain.newKeys & SELECT_BUTTON) { @@ -597,9 +597,9 @@ static void ProcessRecvCmds(u8 unused) *linkPlayer = block->linkPlayer; if ((linkPlayer->version & 0xFF) == VERSION_RUBY || (linkPlayer->version & 0xFF) == VERSION_SAPPHIRE) { - linkPlayer->name[10] = 0; - linkPlayer->name[9] = 0; - linkPlayer->name[8] = 0; + linkPlayer->progressFlagsCopy = 0; + linkPlayer->neverRead = 0; + linkPlayer->progressFlags = 0; } sub_800B524(linkPlayer); if (strcmp(block->magic1, gASCIIGameFreakInc) != 0 @@ -739,7 +739,7 @@ void ClearLinkCallback(void) { if (gWirelessCommType) { - Rfu_set_zero(); + ClearLinkRfuCallback(); } else { @@ -751,7 +751,7 @@ void ClearLinkCallback_2(void) { if (gWirelessCommType) { - Rfu_set_zero(); + ClearLinkRfuCallback(); } else { @@ -862,15 +862,15 @@ u8 GetLinkPlayerDataExchangeStatusTimed(int lower, int upper) { if (gLinkPlayers[0].linkType == 0x1133) { - switch (sub_807A728()) + switch (GetGameProgressForLinkTrade()) { - case 1: - sPlayerDataExchangeStatus = EXCHANGE_STAT_4; + case TRADE_PLAYER_NOT_READY: + sPlayerDataExchangeStatus = EXCHANGE_PLAYER_NOT_READY; break; - case 2: - sPlayerDataExchangeStatus = EXCHANGE_STAT_5; + case TRADE_PARTNER_NOT_READY: + sPlayerDataExchangeStatus = EXCHANGE_PARTNER_NOT_READY; break; - case 0: + case TRADE_BOTH_PLAYERS_READY: sPlayerDataExchangeStatus = EXCHANGE_COMPLETE; break; } @@ -1084,7 +1084,7 @@ bool8 IsLinkTaskFinished(void) { if (gWirelessCommType == TRUE) { - return sub_8010500(); + return IsLinkRfuTaskFinished(); } return gLinkCallback == NULL; } @@ -1349,7 +1349,7 @@ bool8 sub_800AA60(void) { if (gLinkPlayers[i].trainerId == gSavedLinkPlayers[i].trainerId) { - if (gLinkType == 0x2288) + if (gLinkType == LINKTYPE_BATTLE_TOWER) { if (gLinkType == gLinkPlayers[i].linkType) { @@ -1398,7 +1398,7 @@ void sub_800AB18(void) } } -void sub_800AB98(void) +void ResetLinkPlayerCount(void) { gSavedLinkPlayerCount = 0; gSavedMultiplayerId = 0; @@ -1687,8 +1687,8 @@ static void sub_800B080(void) LoadPalette(gWirelessLinkDisplayPal, 0, 0x20); FillWindowPixelBuffer(0, PIXEL_FILL(0)); FillWindowPixelBuffer(2, PIXEL_FILL(0)); - AddTextPrinterParameterized3(0, 3, 2, 6, gUnknown_082ED224, 0, gText_CommErrorEllipsis); - AddTextPrinterParameterized3(2, 3, 2, 1, gUnknown_082ED224, 0, gText_MoveCloserToLinkPartner); + AddTextPrinterParameterized3(0, 3, 2, 6, sTextColors, 0, gText_CommErrorEllipsis); + AddTextPrinterParameterized3(2, 3, 2, 1, sTextColors, 0, gText_MoveCloserToLinkPartner); PutWindowTilemap(0); PutWindowTilemap(2); CopyWindowToVram(0, 0); @@ -1700,7 +1700,7 @@ static void sub_800B138(void) LoadBgTiles(0, g2BlankTilesGfx, 0x20, 0); FillWindowPixelBuffer(1, PIXEL_FILL(0)); FillWindowPixelBuffer(2, PIXEL_FILL(0)); - AddTextPrinterParameterized3(1, 3, 2, 0, gUnknown_082ED224, 0, gText_CommErrorCheckConnections); + AddTextPrinterParameterized3(1, 3, 2, 0, sTextColors, 0, gText_CommErrorCheckConnections); PutWindowTilemap(1); PutWindowTilemap(2); CopyWindowToVram(1, 0); @@ -1740,11 +1740,11 @@ static void CB2_PrintErrorMessage(void) case 130: if (gWirelessCommType == 2) { - AddTextPrinterParameterized3(0, 3, 2, 20, gUnknown_082ED224, 0, gText_ABtnTitleScreen); + AddTextPrinterParameterized3(0, 3, 2, 20, sTextColors, 0, gText_ABtnTitleScreen); } else if (gWirelessCommType == 1) { - AddTextPrinterParameterized3(0, 3, 2, 20, gUnknown_082ED224, 0, gText_ABtnRegistrationCounter); + AddTextPrinterParameterized3(0, 3, 2, 20, sTextColors, 0, gText_ABtnRegistrationCounter); } break; } @@ -1902,14 +1902,15 @@ bool32 sub_800B504(void) return FALSE; } -u8 sub_800B518(void) +// Unused +u8 GetWirelessCommType(void) { return gWirelessCommType; } void sub_800B524(struct LinkPlayer *player) { - player->name[10] = player->name[8]; + player->progressFlagsCopy = player->progressFlags; ConvertInternationalString(player->name, player->language); } diff --git a/src/link_rfu.c b/src/link_rfu.c index 4b0b0a2a51..cedc6b2fba 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle.h" #include "berry_blender.h" #include "decompress.h" @@ -2165,9 +2165,9 @@ void sub_800DD94(struct UnkLinkRfuStruct_02022B14 *data, u8 r9, bool32 r2, s32 r data->unk_00.unk_00_4 = 0; data->unk_00.unk_00_5 = 0; data->unk_00.unk_00_6 = 0; - data->unk_00.unk_00_7 = FlagGet(FLAG_IS_CHAMPION); - data->unk_00.unk_01_0 = IsNationalPokedexEnabled(); - data->unk_00.unk_01_1 = FlagGet(FLAG_SYS_GAME_CLEAR); + data->unk_00.isChampion = FlagGet(FLAG_IS_CHAMPION); + data->unk_00.hasNationalDex = IsNationalPokedexEnabled(); + data->unk_00.gameClear = FlagGet(FLAG_SYS_GAME_CLEAR); } bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx) @@ -3169,7 +3169,7 @@ bool32 sub_800F4F0(void) sub_8011A64(2, 0x9000); rfu_clearAllSlot(); gReceivedRemoteLinkPlayers = FALSE; - gUnknown_03005000.unk_00 = 0; + gUnknown_03005000.linkRfuCallback = NULL; if (gUnknown_03005000.unk_ce4 == 1) { sub_8011A64(2, 0x9000); @@ -3264,17 +3264,17 @@ struct UnkLinkRfuStruct_02022B14 *sub_800F7DC(void) bool32 IsSendingKeysToRfu(void) { - return gUnknown_03005000.unk_00 == rfu_func_080F97B8; + return gUnknown_03005000.linkRfuCallback == rfu_func_080F97B8; } void sub_800F804(void) { - gUnknown_03005000.unk_00 = rfu_func_080F97B8; + gUnknown_03005000.linkRfuCallback = rfu_func_080F97B8; } -void Rfu_set_zero(void) +void ClearLinkRfuCallback(void) { - gUnknown_03005000.unk_00 = NULL; + gUnknown_03005000.linkRfuCallback = NULL; } void sub_800F820(void) @@ -3287,8 +3287,8 @@ void sub_800F820(void) void sub_800F850(void) { - if (gUnknown_03005000.unk_00 == NULL) - gUnknown_03005000.unk_00 = sub_800F820; + if (gUnknown_03005000.linkRfuCallback == NULL) + gUnknown_03005000.linkRfuCallback = sub_800F820; } static void sub_800F86C(u8 unused) @@ -3507,7 +3507,7 @@ void sub_800FE50(void *a0) bool32 sub_800FE84(const u8 *src, size_t size) { bool8 r4; - if (gUnknown_03005000.unk_00 != NULL) + if (gUnknown_03005000.linkRfuCallback != NULL) return FALSE; if (gSendCmd[0] != 0) return FALSE; @@ -3530,7 +3530,7 @@ bool32 sub_800FE84(const u8 *src, size_t size) gUnknown_03005000.unk_6c.unk_04 = gBlockSendBuffer; } sub_800FD14(0x8800); - gUnknown_03005000.unk_00 = rfufunc_80F9F44; + gUnknown_03005000.linkRfuCallback = rfufunc_80F9F44; gUnknown_03005000.unk_5b = 0; return TRUE; } @@ -3543,12 +3543,12 @@ static void rfufunc_80F9F44(void) if (gUnknown_03005000.unk_0c == 1) { if (++gUnknown_03005000.unk_5b > 2) - gUnknown_03005000.unk_00 = sub_800FFB0; + gUnknown_03005000.linkRfuCallback = sub_800FFB0; } else { if ((gRecvCmds[GetMultiplayerId()][0] & 0xff00) == 0x8800) - gUnknown_03005000.unk_00 = sub_800FFB0; + gUnknown_03005000.linkRfuCallback = sub_800FFB0; } } } @@ -3564,7 +3564,7 @@ static void sub_800FFB0(void) if (gUnknown_03005000.unk_6c.unk_02 <= gUnknown_03005000.unk_6c.unk_00) { gUnknown_03005000.unk_6c.unk_10 = 0; - gUnknown_03005000.unk_00 = rfufunc_80FA020; + gUnknown_03005000.linkRfuCallback = rfufunc_80FA020; } } @@ -3586,11 +3586,11 @@ static void rfufunc_80FA020(void) gUnknown_02022B44.unk_64++; } else - gUnknown_03005000.unk_00 = NULL; + gUnknown_03005000.linkRfuCallback = NULL; } } else - gUnknown_03005000.unk_00 = NULL; + gUnknown_03005000.linkRfuCallback = NULL; } bool8 sub_8010100(u8 a0) @@ -3606,7 +3606,7 @@ void sub_801011C(void) sub_800C048(); gReceivedRemoteLinkPlayers = 0; gUnknown_03005000.unk_ef = 1; - gUnknown_03005000.unk_00 = NULL; + gUnknown_03005000.linkRfuCallback = NULL; } void sub_8010148(void) @@ -3624,7 +3624,7 @@ void sub_8010168(void) gUnknown_03005000.unk_ce4 = 2; } else - gUnknown_03005000.unk_00 = sub_8010148; + gUnknown_03005000.linkRfuCallback = sub_8010148; } void LinkRfu_FatalError(void) @@ -3654,7 +3654,7 @@ void sub_80101CC(void) sub_8010168(); } else - gUnknown_03005000.unk_00 = sub_8010168; + gUnknown_03005000.linkRfuCallback = sub_8010168; } } @@ -3663,16 +3663,16 @@ void sub_801022C(void) if (gSendCmd[0] == 0 && gUnknown_03005000.unk_ce8 == 0) { sub_800FD14(0x5f00); - gUnknown_03005000.unk_00 = sub_80101CC; + gUnknown_03005000.linkRfuCallback = sub_80101CC; } } void sub_8010264(u8 taskId) { - if (gUnknown_03005000.unk_00 == NULL) + if (gUnknown_03005000.linkRfuCallback == NULL) { gUnknown_03005000.unk_cd9 = 1; - gUnknown_03005000.unk_00 = sub_801022C; + gUnknown_03005000.linkRfuCallback = sub_801022C; DestroyTask(taskId); } } @@ -3708,7 +3708,7 @@ void sub_80102B8(void) for (i = 0; i < MAX_RFU_PLAYERS; i++) gUnknown_03005000.unk_e9[i] = 0; gUnknown_03005000.unk_100++; - gUnknown_03005000.unk_00 = NULL; + gUnknown_03005000.linkRfuCallback = NULL; } gUnknown_03005000.unk_fe++; } @@ -3718,7 +3718,7 @@ void sub_8010358(void) if (gUnknown_03005000.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0) { sub_800FD14(0x6600); - gUnknown_03005000.unk_00 = sub_80102B8; + gUnknown_03005000.linkRfuCallback = sub_80102B8; } } @@ -3732,7 +3732,7 @@ void sub_8010390(void) if (gUnknown_03005000.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0) { sub_800FD14(0x6600); - gUnknown_03005000.unk_00 = sub_80102B8; + gUnknown_03005000.linkRfuCallback = sub_80102B8; } } else @@ -3748,7 +3748,7 @@ void sub_8010390(void) if (gUnknown_03005000.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0) { sub_800FD14(0x6600); - gUnknown_03005000.unk_00 = sub_8010358; + gUnknown_03005000.linkRfuCallback = sub_8010358; } } } @@ -3756,9 +3756,9 @@ void sub_8010390(void) void sub_8010434(void) { - if (gUnknown_03005000.unk_00 == NULL) + if (gUnknown_03005000.linkRfuCallback == NULL) { - gUnknown_03005000.unk_00 = sub_8010390; + gUnknown_03005000.linkRfuCallback = sub_8010390; gUnknown_03005000.unk_fe = 0; } } @@ -3800,17 +3800,17 @@ u8 sub_80104F4(void) return gUnknown_03005000.playerCount; } -bool8 sub_8010500(void) +bool8 IsLinkRfuTaskFinished(void) { if (gUnknown_03005000.unk_f1 == 2) return FALSE; - return gUnknown_03005000.unk_00 ? FALSE : TRUE; + return gUnknown_03005000.linkRfuCallback ? FALSE : TRUE; } static void sub_8010528(void) { - if (gUnknown_03005000.unk_00) - gUnknown_03005000.unk_00(); + if (gUnknown_03005000.linkRfuCallback) + gUnknown_03005000.linkRfuCallback(); } bool8 sub_8010540(void) @@ -4255,11 +4255,11 @@ void sub_8010FA0(bool32 a0, bool32 a1) gUnknown_02022B14.unk_00.unk_00_5 = a1; } -void sub_8010FCC(u32 a0, u32 a1, u32 a2) +void sub_8010FCC(u32 type, u32 species, u32 level) { - gUnknown_02022B14.type = a0; - gUnknown_02022B14.species = a1; - gUnknown_02022B14.unk_0b_1 = a2; + gUnknown_02022B14.type = type; + gUnknown_02022B14.species = species; + gUnknown_02022B14.level = level; } u8 sub_801100C(s32 a0) @@ -4345,12 +4345,12 @@ void sub_80111B0(bool32 a0) void sub_80111DC(void) { sub_8011E94(gUnknown_03004140.unk_00, 1); - gUnknown_03005000.unk_00 = NULL; + gUnknown_03005000.linkRfuCallback = NULL; } void sub_80111FC(void) { - gUnknown_03005000.unk_00 = sub_80111DC; + gUnknown_03005000.linkRfuCallback = sub_80111DC; } void sub_801120C(u8 a0, u8 unused1) @@ -4741,7 +4741,7 @@ void sub_8011AFC(void) SetVBlankCallback(sub_8011AE8); if (IsWirelessAdapterConnected()) { - gLinkType = 0x1111; + gLinkType = LINKTYPE_0x1111; sub_800B488(); OpenLink(); SeedRng(gMain.vblankCounter2); @@ -4979,7 +4979,7 @@ bool32 sub_801200C(s16 a1, struct UnkLinkRfuStruct_02022B14 *structPtr) return TRUE; } else if (structPtr->species != structPtr2->species - || structPtr->unk_0b_1 != structPtr2->unk_0b_1 + || structPtr->level != structPtr2->level || structPtr->type != structPtr2->type) { return TRUE; diff --git a/src/list_menu.c b/src/list_menu.c index 6d51559f7f..ddcad0fe9c 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -8,7 +8,7 @@ #include "trig.h" #include "decompress.h" #include "palette.h" -#include "alloc.h" +#include "malloc.h" #include "strings.h" #include "sound.h" #include "constants/songs.h" @@ -125,10 +125,10 @@ static const struct static const struct OamData sOamData_ScrollArrowIndicator = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, @@ -265,10 +265,10 @@ static const struct Subsprite sSubsprite_RedOutline8 = static const struct OamData sOamData_RedArrowCursor = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, diff --git a/src/load_save.c b/src/load_save.c index 5857f2b463..24dfda20cb 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "berry_powder.h" #include "item.h" #include "load_save.h" diff --git a/src/mail.c b/src/mail.c index 0078bc4fc6..f6f96b0124 100644 --- a/src/mail.c +++ b/src/mail.c @@ -17,7 +17,7 @@ #include "bg.h" #include "pokemon_icon.h" #include "constants/species.h" -#include "alloc.h" +#include "malloc.h" #include "easy_chat.h" #include "constants/rgb.h" @@ -158,10 +158,10 @@ static const struct WindowTemplate sUnknown_0859F29C[] = { DUMMY_WIN_TEMPLATE }; -static const u8 sUnknown_0859F2AC[] = { - 0, - 10, - 11 +static const u8 sTextColors[] = { + TEXT_COLOR_TRANSPARENT, + TEXT_DYNAMIC_COLOR_1, + TEXT_DYNAMIC_COLOR_2 }; static const u16 sUnknown_0859F2B0[][2] = { @@ -486,14 +486,14 @@ static void sub_8121B1C(void) { continue; } - AddTextPrinterParameterized3(0, 1, sMailRead->layout->var8[i].xOffset + sMailRead->layout->wordsYPos, y + sMailRead->layout->wordsXPos, sUnknown_0859F2AC, 0, sMailRead->strbuf[i]); + AddTextPrinterParameterized3(0, 1, sMailRead->layout->var8[i].xOffset + sMailRead->layout->wordsYPos, y + sMailRead->layout->wordsXPos, sTextColors, 0, sMailRead->strbuf[i]); y += sMailRead->layout->var8[i].lineHeight; } bufptr = StringCopy(strbuf, gText_FromSpace); StringCopy(bufptr, sMailRead->playerName); box_x = GetStringCenterAlignXOffset(1, strbuf, sMailRead->signatureWidth) + 0x68; box_y = sMailRead->layout->signatureYPos + 0x58; - AddTextPrinterParameterized3(0, 1, box_x, box_y, sUnknown_0859F2AC, 0, strbuf); + AddTextPrinterParameterized3(0, 1, box_x, box_y, sTextColors, 0, strbuf); CopyWindowToVram(0, 3); CopyWindowToVram(1, 3); } @@ -542,7 +542,7 @@ static void CB2_ExitMailReadFreeVars(void) case 1: case 2: FreeMonIconPalette(sub_80D2E84(sMailRead->mail->species)); - sub_80D2EF8(&gSprites[sMailRead->monIconSprite]); + FreeAndDestroyMonIconSprite(&gSprites[sMailRead->monIconSprite]); } memset(sMailRead, 0, sizeof(*sMailRead)); ResetPaletteFade(); diff --git a/src/mail_data.c b/src/mail_data.c index 809dcc2a8f..b0b05e8fe0 100644 --- a/src/mail_data.c +++ b/src/mail_data.c @@ -63,7 +63,7 @@ u8 GiveMailToMon(struct Pokemon *mon, u16 itemId) gSaveBlock1Ptr->mail[id].playerName[i] = EOS; PadNameString(gSaveBlock1Ptr->mail[id].playerName, CHAR_SPACE); - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) gSaveBlock1Ptr->mail[id].trainerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; species = GetBoxMonData(&mon->box, MON_DATA_SPECIES); diff --git a/src/main.c b/src/main.c index 06425e661d..f488e7f6d8 100644 --- a/src/main.c +++ b/src/main.c @@ -1,6 +1,6 @@ #include "global.h" #include "crt0.h" -#include "alloc.h" +#include "malloc.h" #include "link.h" #include "link_rfu.h" #include "librfu.h" diff --git a/src/main_menu.c b/src/main_menu.c index 6a0bd9e2dc..7c4e82c765 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -412,8 +412,8 @@ static const struct WindowTemplate gNewGameBirchSpeechTextWindows[] = static const u16 sMainMenuBgPal[] = INCBIN_U16("graphics/misc/main_menu_bg.gbapal"); static const u16 sMainMenuTextPal[] = INCBIN_U16("graphics/misc/main_menu_text.gbapal"); -static const u8 sTextColor_Headers[] = {10, 11, 12}; -static const u8 sTextColor_PlayerGenderColor[] = {10, 1, 12}; +static const u8 sTextColor_Headers[] = {TEXT_DYNAMIC_COLOR_1, TEXT_DYNAMIC_COLOR_2, TEXT_DYNAMIC_COLOR_3}; +static const u8 sTextColor_MenuInfo[] = {TEXT_DYNAMIC_COLOR_1, TEXT_COLOR_WHITE, TEXT_DYNAMIC_COLOR_3}; static const struct BgTemplate sMainMenuBgTemplates[] = { { @@ -643,30 +643,30 @@ static void Task_MainMenuCheckSaveFile(u8 taskId) tWirelessAdapterConnected = TRUE; switch (gSaveFileStatus) { - case 1: + case SAVE_STATUS_OK: tMenuType = HAS_SAVED_GAME; if (IsMysteryGiftEnabled()) tMenuType++; gTasks[taskId].func = Task_MainMenuCheckBattery; break; - case 2: + case SAVE_STATUS_CORRUPT: CreateMainMenuErrorWindow(gText_SaveFileErased); tMenuType = HAS_NO_SAVED_GAME; gTasks[taskId].func = Task_WaitForSaveFileErrorWindow; break; - case 0xFF: + case SAVE_STATUS_ERROR: CreateMainMenuErrorWindow(gText_SaveFileCorrupted); gTasks[taskId].func = Task_WaitForSaveFileErrorWindow; tMenuType = HAS_SAVED_GAME; if (IsMysteryGiftEnabled() == TRUE) tMenuType++; break; - case 0: + case SAVE_STATUS_EMPTY: default: tMenuType = HAS_NO_SAVED_GAME; gTasks[taskId].func = Task_MainMenuCheckBattery; break; - case 4: + case SAVE_STATUS_NO_FLASH: CreateMainMenuErrorWindow(gJPText_No1MSubCircuit); gTasks[taskId].tMenuType = HAS_NO_SAVED_GAME; gTasks[taskId].func = Task_WaitForSaveFileErrorWindow; @@ -1312,7 +1312,7 @@ static void Task_NewGameBirchSpeech_WaitToShowBirch(u8 taskId) gSprites[spriteId].pos1.x = 136; gSprites[spriteId].pos1.y = 60; gSprites[spriteId].invisible = FALSE; - gSprites[spriteId].oam.objMode = 1; + gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND; NewGameBirchSpeech_StartFadeInTarget1OutTarget2(taskId, 10); NewGameBirchSpeech_StartFadePlatformOut(taskId, 20); gTasks[taskId].tTimer = 80; @@ -1324,7 +1324,7 @@ static void Task_NewGameBirchSpeech_WaitForSpriteFadeInWelcome(u8 taskId) { if (gTasks[taskId].tIsDoneFadingSprites) { - gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = 0; + gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = ST_OAM_OBJ_NORMAL; if (gTasks[taskId].tTimer) { gTasks[taskId].tTimer--; @@ -1392,7 +1392,7 @@ static void Task_NewGameBirchSpeechSub_WaitForLotad(u8 taskId) case 0: if (sprite->callback == SpriteCallbackDummy) { - sprite->oam.affineMode = 0; + sprite->oam.affineMode = ST_OAM_AFFINE_OFF; goto incrementStateAndTimer; } break; @@ -1430,8 +1430,8 @@ static void Task_NewGameBirchSpeech_StartBirchLotadPlatformFade(u8 taskId) { if (!RunTextPrintersAndIsPrinter0Active()) { - gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = 1; - gSprites[gTasks[taskId].tLotadSpriteId].oam.objMode = 1; + gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = ST_OAM_OBJ_BLEND; + gSprites[gTasks[taskId].tLotadSpriteId].oam.objMode = ST_OAM_OBJ_BLEND; NewGameBirchSpeech_StartFadeOutTarget1InTarget2(taskId, 2); NewGameBirchSpeech_StartFadePlatformIn(taskId, 1); gTasks[taskId].tTimer = 64; @@ -1470,7 +1470,7 @@ static void Task_NewGameBirchSpeech_StartPlayerFadeIn(u8 taskId) gSprites[spriteId].pos1.x = 180; gSprites[spriteId].pos1.y = 60; gSprites[spriteId].invisible = FALSE; - gSprites[spriteId].oam.objMode = 1; + gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND; gTasks[taskId].tPlayerSpriteId = spriteId; gTasks[taskId].tPlayerGender = MALE; NewGameBirchSpeech_StartFadeInTarget1OutTarget2(taskId, 2); @@ -1484,7 +1484,7 @@ static void Task_NewGameBirchSpeech_WaitForPlayerFadeIn(u8 taskId) { if (gTasks[taskId].tIsDoneFadingSprites) { - gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = 0; + gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = ST_OAM_OBJ_NORMAL; gTasks[taskId].func = Task_NewGameBirchSpeech_BoyOrGirl; } } @@ -1530,7 +1530,7 @@ static void Task_NewGameBirchSpeech_ChooseGender(u8 taskId) if (gender2 != gTasks[taskId].tPlayerGender) { gTasks[taskId].tPlayerGender = gender2; - gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = 1; + gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = ST_OAM_OBJ_BLEND; NewGameBirchSpeech_StartFadeOutTarget1InTarget2(taskId, 0); gTasks[taskId].func = Task_NewGameBirchSpeech_SlideOutOldGenderSprite; } @@ -1554,7 +1554,7 @@ static void Task_NewGameBirchSpeech_SlideOutOldGenderSprite(u8 taskId) gSprites[spriteId].pos1.y = 60; gSprites[spriteId].invisible = FALSE; gTasks[taskId].tPlayerSpriteId = spriteId; - gSprites[spriteId].oam.objMode = 1; + gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND; NewGameBirchSpeech_StartFadeInTarget1OutTarget2(taskId, 0); gTasks[taskId].func = Task_NewGameBirchSpeech_SlideInNewGenderSprite; } @@ -1573,7 +1573,7 @@ static void Task_NewGameBirchSpeech_SlideInNewGenderSprite(u8 taskId) gSprites[spriteId].pos1.x = 180; if (gTasks[taskId].tIsDoneFadingSprites) { - gSprites[spriteId].oam.objMode = 0; + gSprites[spriteId].oam.objMode = ST_OAM_OBJ_NORMAL; gTasks[taskId].func = Task_NewGameBirchSpeech_ChooseGender; } } @@ -1637,7 +1637,7 @@ static void Task_NewGameBirchSpeech_ProcessNameYesNoMenu(u8 taskId) { case 0: PlaySE(SE_SELECT); - gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = 1; + gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = ST_OAM_OBJ_BLEND; NewGameBirchSpeech_StartFadeOutTarget1InTarget2(taskId, 2); NewGameBirchSpeech_StartFadePlatformIn(taskId, 1); gTasks[taskId].func = Task_NewGameBirchSpeech_SlidePlatformAway2; @@ -1674,12 +1674,12 @@ static void Task_NewGameBirchSpeech_ReshowBirchLotad(u8 taskId) gSprites[spriteId].pos1.x = 136; gSprites[spriteId].pos1.y = 60; gSprites[spriteId].invisible = FALSE; - gSprites[spriteId].oam.objMode = 1; + gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND; spriteId = gTasks[taskId].tLotadSpriteId; gSprites[spriteId].pos1.x = 100; gSprites[spriteId].pos1.y = 75; gSprites[spriteId].invisible = FALSE; - gSprites[spriteId].oam.objMode = 1; + gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND; NewGameBirchSpeech_StartFadeInTarget1OutTarget2(taskId, 2); NewGameBirchSpeech_StartFadePlatformOut(taskId, 1); NewGameBirchSpeech_ClearWindow(0); @@ -1693,12 +1693,12 @@ static void Task_NewGameBirchSpeech_WaitForSpriteFadeInAndTextPrinter(u8 taskId) { if (gTasks[taskId].tIsDoneFadingSprites) { - gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = 0; - gSprites[gTasks[taskId].tLotadSpriteId].oam.objMode = 0; + gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = ST_OAM_OBJ_NORMAL; + gSprites[gTasks[taskId].tLotadSpriteId].oam.objMode = ST_OAM_OBJ_NORMAL; if (!RunTextPrintersAndIsPrinter0Active()) { - gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = 1; - gSprites[gTasks[taskId].tLotadSpriteId].oam.objMode = 1; + gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = ST_OAM_OBJ_BLEND; + gSprites[gTasks[taskId].tLotadSpriteId].oam.objMode = ST_OAM_OBJ_BLEND; NewGameBirchSpeech_StartFadeOutTarget1InTarget2(taskId, 2); NewGameBirchSpeech_StartFadePlatformIn(taskId, 1); gTasks[taskId].tTimer = 64; @@ -1727,7 +1727,7 @@ static void Task_NewGameBirchSpeech_AreYouReady(u8 taskId) gSprites[spriteId].pos1.x = 120; gSprites[spriteId].pos1.y = 60; gSprites[spriteId].invisible = FALSE; - gSprites[spriteId].oam.objMode = 1; + gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND; gTasks[taskId].tPlayerSpriteId = spriteId; NewGameBirchSpeech_StartFadeInTarget1OutTarget2(taskId, 2); NewGameBirchSpeech_StartFadePlatformOut(taskId, 1); @@ -1743,11 +1743,11 @@ static void Task_NewGameBirchSpeech_ShrinkPlayer(u8 taskId) if (gTasks[taskId].tIsDoneFadingSprites) { - gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = 0; + gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = ST_OAM_OBJ_NORMAL; if (!RunTextPrintersAndIsPrinter0Active()) { spriteId = gTasks[taskId].tPlayerSpriteId; - gSprites[spriteId].oam.affineMode = 1; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteId].affineAnims = sSpriteAffineAnimTable_PlayerShrink; InitSpriteAffineAnim(&gSprites[spriteId]); StartSpriteAffineAnim(&gSprites[spriteId], 0); @@ -2147,8 +2147,8 @@ static void MainMenu_FormatSavegameText(void) static void MainMenu_FormatSavegamePlayer(void) { StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPlayer); - AddTextPrinterParameterized3(2, 1, 0, 17, sTextColor_PlayerGenderColor, -1, gStringVar4); - AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 100), 17, sTextColor_PlayerGenderColor, -1, gSaveBlock2Ptr->playerName); + AddTextPrinterParameterized3(2, 1, 0, 17, sTextColor_MenuInfo, -1, gStringVar4); + AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 100), 17, sTextColor_MenuInfo, -1, gSaveBlock2Ptr->playerName); } static void MainMenu_FormatSavegameTime(void) @@ -2157,11 +2157,11 @@ static void MainMenu_FormatSavegameTime(void) u8* ptr; StringExpandPlaceholders(gStringVar4, gText_ContinueMenuTime); - AddTextPrinterParameterized3(2, 1, 0x6C, 17, sTextColor_PlayerGenderColor, -1, gStringVar4); - ptr = ConvertIntToDecimalStringN(str, gSaveBlock2Ptr->playTimeHours, 0, 3); + AddTextPrinterParameterized3(2, 1, 0x6C, 17, sTextColor_MenuInfo, -1, gStringVar4); + ptr = ConvertIntToDecimalStringN(str, gSaveBlock2Ptr->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3); *ptr = 0xF0; - ConvertIntToDecimalStringN(ptr + 1, gSaveBlock2Ptr->playTimeMinutes, 2, 2); - AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 17, sTextColor_PlayerGenderColor, -1, str); + ConvertIntToDecimalStringN(ptr + 1, gSaveBlock2Ptr->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2); + AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 17, sTextColor_MenuInfo, -1, str); } static void MainMenu_FormatSavegamePokedex(void) @@ -2172,13 +2172,13 @@ static void MainMenu_FormatSavegamePokedex(void) if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE) { if (IsNationalPokedexEnabled()) - dexCount = GetNationalPokedexCount(1); + dexCount = GetNationalPokedexCount(FLAG_GET_CAUGHT); else - dexCount = GetHoennPokedexCount(1); + dexCount = GetHoennPokedexCount(FLAG_GET_CAUGHT); StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPokedex); - AddTextPrinterParameterized3(2, 1, 0, 33, sTextColor_PlayerGenderColor, -1, gStringVar4); - ConvertIntToDecimalStringN(str, dexCount, 0, 3); - AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 100), 33, sTextColor_PlayerGenderColor, -1, str); + AddTextPrinterParameterized3(2, 1, 0, 33, sTextColor_MenuInfo, -1, gStringVar4); + ConvertIntToDecimalStringN(str, dexCount, STR_CONV_MODE_LEFT_ALIGN, 3); + AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 100), 33, sTextColor_MenuInfo, -1, str); } } @@ -2194,9 +2194,9 @@ static void MainMenu_FormatSavegameBadges(void) badgeCount++; } StringExpandPlaceholders(gStringVar4, gText_ContinueMenuBadges); - AddTextPrinterParameterized3(2, 1, 0x6C, 33, sTextColor_PlayerGenderColor, -1, gStringVar4); - ConvertIntToDecimalStringN(str, badgeCount, 2, 1); - AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 33, sTextColor_PlayerGenderColor, -1, str); + AddTextPrinterParameterized3(2, 1, 0x6C, 33, sTextColor_MenuInfo, -1, gStringVar4); + ConvertIntToDecimalStringN(str, badgeCount, STR_CONV_MODE_LEADING_ZEROS, 1); + AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 33, sTextColor_MenuInfo, -1, str); } static void LoadMainMenuWindowFrameTiles(u8 bgId, u16 tileOffset) diff --git a/src/map_name_popup.c b/src/map_name_popup.c index d95b808e92..b84489a176 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -371,7 +371,7 @@ static void LoadMapNamePopUpWindowBg(void) LoadBgTiles(GetWindowAttribute(popupWindowId, WINDOW_BG), gMapPopUp_Outline_Table[popUpThemeId], 0x400, 0x21D); CallWindowFunction(popupWindowId, sub_80D4A78); PutWindowTilemap(popupWindowId); - if(gMapHeader.weather == WEATHER_BUBBLES) + if (gMapHeader.weather == WEATHER_UNDERWATER_BUBBLES) LoadPalette(&gUnknown_0857F444, 0xE0, 0x20); else LoadPalette(gMapPopUp_Palette_Table[popUpThemeId], 0xE0, 0x20); diff --git a/src/match_call.c b/src/match_call.c index b02af99774..dac98e5590 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle.h" #include "battle_setup.h" #include "bg.h" @@ -965,9 +965,9 @@ static const struct MatchCallText *const sMatchCallGeneralTopics[] = sMatchCallBattlePyramidTexts, }; -extern const u8 gUnknown_082A5C9C[]; -extern const u8 gUnknown_082A5D2C[]; -extern const u8 gUnknown_082A633D[]; +extern const u8 gBirchDexRatingText_AreYouCurious[]; +extern const u8 gBirchDexRatingText_SoYouveSeenAndCaught[]; +extern const u8 gBirchDexRatingText_OnANationwideBasis[]; void InitMatchCallCounters(void) { @@ -1060,7 +1060,7 @@ static bool32 SelectMatchCallTrainer(void) static u32 GetNumRegisteredNPCs(void) { u32 i, count; - for (i = 0, count = 0; i < 64; i++) + for (i = 0, count = 0; i < REMATCH_SPECIAL_TRAINER_START; i++) { if (FlagGet(FLAG_MATCH_CALL_REGISTERED + i)) count++; @@ -1072,7 +1072,7 @@ static u32 GetNumRegisteredNPCs(void) static u32 GetActiveMatchCallTrainerId(u32 activeMatchCallId) { u32 i; - for (i = 0; i < 64; i++) + for (i = 0; i < REMATCH_SPECIAL_TRAINER_START; i++) { if (FlagGet(FLAG_MATCH_CALL_REGISTERED + i)) { @@ -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(); } @@ -1384,7 +1384,7 @@ static u16 GetRematchTrainerLocation(int matchCallId) static u32 GetNumRematchTrainersFought(void) { u32 i, count; - for (i = 0, count = 0; i < 64; i++) + for (i = 0, count = 0; i < REMATCH_SPECIAL_TRAINER_START; i++) { if (HasTrainerBeenFought(gRematchTable[i].trainerIds[0])) count++; @@ -1743,7 +1743,7 @@ static void PopulateBattleFrontierStreak(int matchCallId, u8 *destStr) i++; } - ConvertIntToDecimalStringN(destStr, gBattleFrontierStreakInfo.streak, 0, i); + ConvertIntToDecimalStringN(destStr, gBattleFrontierStreakInfo.streak, STR_CONV_MODE_LEFT_ALIGN, i); } static const u16 sBadgeFlags[] = @@ -1961,7 +1961,7 @@ static const u8 *const sBirchDexRatingTexts[] = gBirchDexRatingText_DexCompleted, }; -void sub_8197080(u8 *destStr) +void BufferPokedexRatingForMatchCall(u8 *destStr) { int numSeen, numCaught; u8 *str; @@ -1976,13 +1976,13 @@ void sub_8197080(u8 *destStr) numSeen = GetHoennPokedexCount(FLAG_GET_SEEN); numCaught = GetHoennPokedexCount(FLAG_GET_CAUGHT); - ConvertIntToDecimalStringN(gStringVar1, numSeen, 0, 3); - ConvertIntToDecimalStringN(gStringVar2, numCaught, 0, 3); + ConvertIntToDecimalStringN(gStringVar1, numSeen, STR_CONV_MODE_LEFT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar2, numCaught, STR_CONV_MODE_LEFT_ALIGN, 3); dexRatingLevel = GetPokedexRatingLevel(numCaught); - str = StringCopy(buffer, gUnknown_082A5C9C); + str = StringCopy(buffer, gBirchDexRatingText_AreYouCurious); str[0] = CHAR_PROMPT_CLEAR; str++; - str = StringCopy(str, gUnknown_082A5D2C); + str = StringCopy(str, gBirchDexRatingText_SoYouveSeenAndCaught); str[0] = CHAR_PROMPT_CLEAR; str++; StringCopy(str, sBirchDexRatingTexts[dexRatingLevel]); @@ -1994,9 +1994,9 @@ void sub_8197080(u8 *destStr) str++; numSeen = GetNationalPokedexCount(FLAG_GET_SEEN); numCaught = GetNationalPokedexCount(FLAG_GET_CAUGHT); - ConvertIntToDecimalStringN(gStringVar1, numSeen, 0, 3); - ConvertIntToDecimalStringN(gStringVar2, numCaught, 0, 3); - StringExpandPlaceholders(str, gUnknown_082A633D); + ConvertIntToDecimalStringN(gStringVar1, numSeen, STR_CONV_MODE_LEFT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar2, numCaught, STR_CONV_MODE_LEFT_ALIGN, 3); + StringExpandPlaceholders(str, gBirchDexRatingText_OnANationwideBasis); } Free(buffer); diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index 64f04f3bca..8fe233fc1c 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -22,6 +22,7 @@ #include "field_message_box.h" #include "script_menu.h" #include "trader.h" +#include "constants/mauville_old_man.h" #define CHAR_SONG_WORD_SEPARATOR 0x37 @@ -41,7 +42,7 @@ static EWRAM_DATA u16 sUnknownBardRelated = 0; static EWRAM_DATA struct MauvilleManStoryteller * sStorytellerPtr = NULL; static EWRAM_DATA u8 sStorytellerWindowId = 0; -static const u16 sDefaultBardSongLyrics[6] = { +static const u16 sDefaultBardSongLyrics[BARD_SONG_LENGTH] = { EC_WORD_SHAKE, EC_WORD_IT, EC_WORD_DO, @@ -80,7 +81,7 @@ static void SetupBard(void) bard->id = MAUVILLE_MAN_BARD; bard->hasChangedSong = FALSE; bard->language = gGameLanguage; - for (i = 0; i < 6; i++) + for (i = 0; i < BARD_SONG_LENGTH; i++) bard->songLyrics[i] = sDefaultBardSongLyrics[i]; } @@ -166,10 +167,10 @@ void ScrSpecial_SaveBardSongLyrics(void) StringCopy(bard->playerName, gSaveBlock2Ptr->playerName); - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) bard->playerTrainerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; - for (i = 0; i < 6; i++) + for (i = 0; i < BARD_SONG_LENGTH; i++) bard->songLyrics[i] = bard->temporaryLyrics[i]; bard->hasChangedSong = TRUE; @@ -248,15 +249,15 @@ void ScrSpecial_SetHipsterSpokenFlag(void) void ScrSpecial_HipsterTeachWord(void) { - u16 var = sub_811F01C(); + u16 phrase = GetNewHipsterPhraseToTeach(); - if (var == 0xFFFF) + if (phrase == 0xFFFF) { gSpecialVar_Result = FALSE; } else { - CopyEasyChatWord(gStringVar1, var); + CopyEasyChatWord(gStringVar1, phrase); gSpecialVar_Result = TRUE; } } @@ -359,7 +360,7 @@ static void InitGiddyTaleList(void) break; if (r1 == 6) r1 = 0; - giddy->randomWords[i] = sub_811EE90(arr[r1][0]); + giddy->randomWords[i] = GetRandomEasyChatWordFromUnlockedGroup(arr[r1][0]); } } } @@ -458,7 +459,7 @@ static void BardSing(struct Task *task, struct BardSong *song) lyrics = bard->songLyrics; else lyrics = bard->temporaryLyrics; - for (i = 0; i < 6; i++) + for (i = 0; i < BARD_SONG_LENGTH; i++) song->lyrics[i] = lyrics[i]; song->currWord = 0; } @@ -683,14 +684,14 @@ void ScrSpecial_SetMauvilleOldManEventObjGfx(void) void sub_8120B70(union OldMan * oldMan) { s32 i; - u8 sp00[8]; + u8 playerName[PLAYER_NAME_LENGTH + 1]; switch (oldMan->common.id) { case MAUVILLE_MAN_TRADER: { struct MauvilleOldManTrader * trader = &oldMan->trader; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_TRADER_ITEMS; i++) { if (trader->language[i] == LANGUAGE_JAPANESE) { @@ -702,17 +703,17 @@ void sub_8120B70(union OldMan * oldMan) case MAUVILLE_MAN_STORYTELLER: { struct MauvilleManStoryteller * storyteller = &oldMan->storyteller; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_STORYTELLER_TALES; i++) { if (storyteller->gameStatIDs[i] != 0) { - memcpy(sp00, storyteller->trainerNames[i], 7); - sp00[7] = EOS; - if (IsStringJapanese(sp00)) + memcpy(playerName, storyteller->trainerNames[i], PLAYER_NAME_LENGTH); + playerName[PLAYER_NAME_LENGTH] = EOS; + if (IsStringJapanese(playerName)) { - memset(sp00, CHAR_SPACE, 8); - StringCopy(sp00, gText_Friend); - memcpy(storyteller->trainerNames[i], sp00, 7); + memset(playerName, CHAR_SPACE, PLAYER_NAME_LENGTH + 1); + StringCopy(playerName, gText_Friend); + memcpy(storyteller->trainerNames[i], playerName, PLAYER_NAME_LENGTH); storyteller->language[i] = GAME_LANGUAGE; } } @@ -732,7 +733,7 @@ void sub_8120C0C(union OldMan * oldMan, u32 r8, u32 r7, u32 r3) { struct MauvilleOldManTrader * trader = &oldMan->trader; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_TRADER_ITEMS; i++) { if (IsStringJapanese(trader->playerNames[i])) { @@ -749,7 +750,7 @@ void sub_8120C0C(union OldMan * oldMan, u32 r8, u32 r7, u32 r3) { struct MauvilleManStoryteller * storyteller = &oldMan->storyteller; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_STORYTELLER_TALES; i++) { if (IsStringJapanese(storyteller->trainerNames[i])) { @@ -797,19 +798,19 @@ void sub_8120C0C(union OldMan * oldMan, u32 r8, u32 r7, u32 r3) void SanitizeReceivedEmeraldOldMan(union OldMan * oldMan, u32 version, u32 language) { - u8 sp00[8]; + u8 playerName[PLAYER_NAME_LENGTH + 1]; s32 i; if (oldMan->common.id == MAUVILLE_MAN_STORYTELLER && language == LANGUAGE_JAPANESE) { struct MauvilleManStoryteller * storyteller = &oldMan->storyteller; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_STORYTELLER_TALES; i++) { if (storyteller->gameStatIDs[i] != 0) { - memcpy(sp00, storyteller->trainerNames[i], 7); - sp00[7] = EOS; - if (IsStringJapanese(sp00)) + memcpy(playerName, storyteller->trainerNames[i], PLAYER_NAME_LENGTH); + playerName[PLAYER_NAME_LENGTH] = EOS; + if (IsStringJapanese(playerName)) storyteller->language[i] = LANGUAGE_JAPANESE; else storyteller->language[i] = GAME_LANGUAGE; @@ -831,7 +832,7 @@ void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language if (isRuby) { - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_TRADER_ITEMS; i++) { u8 * str = trader->playerNames[i]; if (str[0] == EXT_CTRL_CODE_BEGIN && str[1] == EXT_CTRL_CODE_JPN) @@ -845,7 +846,7 @@ void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language } else { - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_TRADER_ITEMS; i++) { if (trader->language[i] == LANGUAGE_JAPANESE) { @@ -863,7 +864,7 @@ void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language if (isRuby) { - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_STORYTELLER_TALES; i++) { if (storyteller->gameStatIDs[i] != 0) storyteller->language[i] = language; @@ -914,42 +915,223 @@ struct Story }; static const struct Story sStorytellerStories[] = { - {GAME_STAT_NUM_UNION_ROOM_BATTLES, 1, MauvilleCity_PokemonCenter_1F_Text_28E930, MauvilleCity_PokemonCenter_1F_Text_28E947, MauvilleCity_PokemonCenter_1F_Text_28E956}, - {GAME_STAT_STARTED_TRENDS, 1, MauvilleCity_PokemonCenter_1F_Text_28E9D7, MauvilleCity_PokemonCenter_1F_Text_28E9EF, MauvilleCity_PokemonCenter_1F_Text_28E9FE}, - {GAME_STAT_PLANTED_BERRIES, 1, MauvilleCity_PokemonCenter_1F_Text_28EA7D, MauvilleCity_PokemonCenter_1F_Text_28EA98, MauvilleCity_PokemonCenter_1F_Text_28EAA8}, - {GAME_STAT_TRADED_BIKES, 1, MauvilleCity_PokemonCenter_1F_Text_28EB19, MauvilleCity_PokemonCenter_1F_Text_28EB31, MauvilleCity_PokemonCenter_1F_Text_28EB3E}, - {GAME_STAT_GOT_INTERVIEWED, 1, MauvilleCity_PokemonCenter_1F_Text_28EBB5, MauvilleCity_PokemonCenter_1F_Text_28EBCD, MauvilleCity_PokemonCenter_1F_Text_28EBDD}, - {GAME_STAT_TRAINER_BATTLES, 1, MauvilleCity_PokemonCenter_1F_Text_28EC60, MauvilleCity_PokemonCenter_1F_Text_28EC79, MauvilleCity_PokemonCenter_1F_Text_28EC81}, - {GAME_STAT_POKEMON_CAPTURES, 1, MauvilleCity_PokemonCenter_1F_Text_28ED04, MauvilleCity_PokemonCenter_1F_Text_28ED21, MauvilleCity_PokemonCenter_1F_Text_28ED30}, - {GAME_STAT_FISHING_CAPTURES, 1, MauvilleCity_PokemonCenter_1F_Text_28EDA1, MauvilleCity_PokemonCenter_1F_Text_28EDB5, MauvilleCity_PokemonCenter_1F_Text_28EDCF}, - {GAME_STAT_HATCHED_EGGS, 1, MauvilleCity_PokemonCenter_1F_Text_28EE45, MauvilleCity_PokemonCenter_1F_Text_28EE5D, MauvilleCity_PokemonCenter_1F_Text_28EE6A}, - {GAME_STAT_EVOLVED_POKEMON, 1, MauvilleCity_PokemonCenter_1F_Text_28EEDD, MauvilleCity_PokemonCenter_1F_Text_28EEF1, MauvilleCity_PokemonCenter_1F_Text_28EF01}, - {GAME_STAT_USED_POKECENTER, 1, MauvilleCity_PokemonCenter_1F_Text_28EF73, MauvilleCity_PokemonCenter_1F_Text_28EF95, MauvilleCity_PokemonCenter_1F_Text_28EFAA}, - {GAME_STAT_RESTED_AT_HOME, 1, MauvilleCity_PokemonCenter_1F_Text_28F045, MauvilleCity_PokemonCenter_1F_Text_28F05A, MauvilleCity_PokemonCenter_1F_Text_28F071}, - {GAME_STAT_ENTERED_SAFARI_ZONE, 1, MauvilleCity_PokemonCenter_1F_Text_28F0F3, MauvilleCity_PokemonCenter_1F_Text_28F10D, MauvilleCity_PokemonCenter_1F_Text_28F125}, - {GAME_STAT_USED_CUT, 1, MauvilleCity_PokemonCenter_1F_Text_28F1BE, MauvilleCity_PokemonCenter_1F_Text_28F1D5, MauvilleCity_PokemonCenter_1F_Text_28F1DE}, - {GAME_STAT_USED_ROCK_SMASH, 1, MauvilleCity_PokemonCenter_1F_Text_28F24F, MauvilleCity_PokemonCenter_1F_Text_28F269, MauvilleCity_PokemonCenter_1F_Text_28F277}, - {GAME_STAT_MOVED_SECRET_BASE, 1, MauvilleCity_PokemonCenter_1F_Text_28F2FC, MauvilleCity_PokemonCenter_1F_Text_28F314, MauvilleCity_PokemonCenter_1F_Text_28F32A}, - {GAME_STAT_USED_SPLASH, 1, MauvilleCity_PokemonCenter_1F_Text_28F3AD, MauvilleCity_PokemonCenter_1F_Text_28F3C6, MauvilleCity_PokemonCenter_1F_Text_28F3D2}, - {GAME_STAT_USED_STRUGGLE, 1, MauvilleCity_PokemonCenter_1F_Text_28F44B, MauvilleCity_PokemonCenter_1F_Text_28F461, MauvilleCity_PokemonCenter_1F_Text_28F47C}, - {GAME_STAT_SLOT_JACKPOTS, 1, MauvilleCity_PokemonCenter_1F_Text_28F50C, MauvilleCity_PokemonCenter_1F_Text_28F51B, MauvilleCity_PokemonCenter_1F_Text_28F538}, - {GAME_STAT_CONSECUTIVE_ROULETTE_WINS, 2, MauvilleCity_PokemonCenter_1F_Text_28F5BE, MauvilleCity_PokemonCenter_1F_Text_28F5D1, MauvilleCity_PokemonCenter_1F_Text_28F5F2}, - {GAME_STAT_ENTERED_BATTLE_TOWER, 1, MauvilleCity_PokemonCenter_1F_Text_28F678, MauvilleCity_PokemonCenter_1F_Text_28F694, MauvilleCity_PokemonCenter_1F_Text_28F6B4}, - {GAME_STAT_POKEBLOCKS, 1, MauvilleCity_PokemonCenter_1F_Text_28F751, MauvilleCity_PokemonCenter_1F_Text_28F76A, MauvilleCity_PokemonCenter_1F_Text_28F776}, - {GAME_STAT_ENTERED_CONTEST, 1, MauvilleCity_PokemonCenter_1F_Text_28F7F6, MauvilleCity_PokemonCenter_1F_Text_28F811, MauvilleCity_PokemonCenter_1F_Text_28F822}, - {GAME_STAT_WON_CONTEST, 1, MauvilleCity_PokemonCenter_1F_Text_28F89C, MauvilleCity_PokemonCenter_1F_Text_28F8AF, MauvilleCity_PokemonCenter_1F_Text_28F8BC}, - {GAME_STAT_SHOPPED, 1, MauvilleCity_PokemonCenter_1F_Text_28F92F, MauvilleCity_PokemonCenter_1F_Text_28F941, MauvilleCity_PokemonCenter_1F_Text_28F949}, - {GAME_STAT_USED_ITEMFINDER, 1, MauvilleCity_PokemonCenter_1F_Text_28F9D1, MauvilleCity_PokemonCenter_1F_Text_28F9EA, MauvilleCity_PokemonCenter_1F_Text_28F9FD}, - {GAME_STAT_GOT_RAINED_ON, 1, MauvilleCity_PokemonCenter_1F_Text_28FA81, MauvilleCity_PokemonCenter_1F_Text_28FA99, MauvilleCity_PokemonCenter_1F_Text_28FAA7}, - {GAME_STAT_CHECKED_POKEDEX, 1, MauvilleCity_PokemonCenter_1F_Text_28FB1D, MauvilleCity_PokemonCenter_1F_Text_28FB35, MauvilleCity_PokemonCenter_1F_Text_28FB47}, - {GAME_STAT_RECEIVED_RIBBONS, 1, MauvilleCity_PokemonCenter_1F_Text_28FBC4, MauvilleCity_PokemonCenter_1F_Text_28FBD9, MauvilleCity_PokemonCenter_1F_Text_28FBEA}, - {GAME_STAT_JUMPED_DOWN_LEDGES, 1, MauvilleCity_PokemonCenter_1F_Text_28FC6B, MauvilleCity_PokemonCenter_1F_Text_28FC85, MauvilleCity_PokemonCenter_1F_Text_28FC98}, - {GAME_STAT_WATCHED_TV, 1, MauvilleCity_PokemonCenter_1F_Text_28FD1D, MauvilleCity_PokemonCenter_1F_Text_28FD35, MauvilleCity_PokemonCenter_1F_Text_28FD40}, - {GAME_STAT_CHECKED_CLOCK, 1, MauvilleCity_PokemonCenter_1F_Text_28FDA2, MauvilleCity_PokemonCenter_1F_Text_28FDBD, MauvilleCity_PokemonCenter_1F_Text_28FDCE}, - {GAME_STAT_WON_POKEMON_LOTTERY, 1, MauvilleCity_PokemonCenter_1F_Text_28FE57, MauvilleCity_PokemonCenter_1F_Text_28FE72, MauvilleCity_PokemonCenter_1F_Text_28FE88}, - {GAME_STAT_USED_DAYCARE, 1, MauvilleCity_PokemonCenter_1F_Text_28FF0C, MauvilleCity_PokemonCenter_1F_Text_28FF27, MauvilleCity_PokemonCenter_1F_Text_28FF44}, - {GAME_STAT_RODE_CABLE_CAR, 1, MauvilleCity_PokemonCenter_1F_Text_28FFDD, MauvilleCity_PokemonCenter_1F_Text_28FFFA, MauvilleCity_PokemonCenter_1F_Text_29000D}, - {GAME_STAT_ENTERED_HOT_SPRINGS, 1, MauvilleCity_PokemonCenter_1F_Text_290097, MauvilleCity_PokemonCenter_1F_Text_2900B5, MauvilleCity_PokemonCenter_1F_Text_2900CB} + // The 50 below is replaced with GAME_STAT_SAVED_GAME + { + 50, 1, + MauvilleCity_PokemonCenter_1F_Text_SavedGameTitle, + MauvilleCity_PokemonCenter_1F_Text_SavedGameAction, + MauvilleCity_PokemonCenter_1F_Text_SavedGameStory + }, + { + GAME_STAT_STARTED_TRENDS, 1, + MauvilleCity_PokemonCenter_1F_Text_TrendsStartedTitle, + MauvilleCity_PokemonCenter_1F_Text_TrendsStartedAction, + MauvilleCity_PokemonCenter_1F_Text_TrendsStartedStory + }, + { + GAME_STAT_PLANTED_BERRIES, 1, + MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedTitle, + MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedAction, + MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedStory + }, + { + GAME_STAT_TRADED_BIKES, 1, + MauvilleCity_PokemonCenter_1F_Text_BikeTradesTitle, + MauvilleCity_PokemonCenter_1F_Text_BikeTradesAction, + MauvilleCity_PokemonCenter_1F_Text_BikeTradesStory + }, + { + GAME_STAT_GOT_INTERVIEWED, 1, + MauvilleCity_PokemonCenter_1F_Text_InterviewsTitle, + MauvilleCity_PokemonCenter_1F_Text_InterviewsAction, + MauvilleCity_PokemonCenter_1F_Text_InterviewsStory + }, + { + GAME_STAT_TRAINER_BATTLES, 1, + MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesTitle, + MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesAction, + MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesStory + }, + { + GAME_STAT_POKEMON_CAPTURES, 1, + MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtTitle, + MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtAction, + MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtStory + }, + { + GAME_STAT_FISHING_CAPTURES, 1, + MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtTitle, + MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtAction, + MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtStory + }, + { + GAME_STAT_HATCHED_EGGS, 1, + MauvilleCity_PokemonCenter_1F_Text_EggsHatchedTitle, + MauvilleCity_PokemonCenter_1F_Text_EggsHatchedAction, + MauvilleCity_PokemonCenter_1F_Text_EggsHatchedStory + }, + { + GAME_STAT_EVOLVED_POKEMON, 1, + MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedTitle, + MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedAction, + MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedStory + }, + { + GAME_STAT_USED_POKECENTER, 1, + MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterTitle, + MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterAction, + MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterStory + }, + { + GAME_STAT_RESTED_AT_HOME, 1, + MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeTitle, + MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeAction, + MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeStory + }, + { + GAME_STAT_ENTERED_SAFARI_ZONE, 1, + MauvilleCity_PokemonCenter_1F_Text_SafariGamesTitle, + MauvilleCity_PokemonCenter_1F_Text_SafariGamesAction, + MauvilleCity_PokemonCenter_1F_Text_SafariGamesStory + }, + { + GAME_STAT_USED_CUT, 1, + MauvilleCity_PokemonCenter_1F_Text_UsedCutTitle, + MauvilleCity_PokemonCenter_1F_Text_UsedCutAction, + MauvilleCity_PokemonCenter_1F_Text_UsedCutStory + }, + { + GAME_STAT_USED_ROCK_SMASH, 1, + MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashTitle, + MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashAction, + MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashStory + }, + { + GAME_STAT_MOVED_SECRET_BASE, 1, + MauvilleCity_PokemonCenter_1F_Text_MovedBasesTitle, + MauvilleCity_PokemonCenter_1F_Text_MovedBasesAction, + MauvilleCity_PokemonCenter_1F_Text_MovedBasesStory + }, + { + GAME_STAT_USED_SPLASH, 1, + MauvilleCity_PokemonCenter_1F_Text_UsedSplashTitle, + MauvilleCity_PokemonCenter_1F_Text_UsedSplashAction, + MauvilleCity_PokemonCenter_1F_Text_UsedSplashStory + }, + { + GAME_STAT_USED_STRUGGLE, 1, + MauvilleCity_PokemonCenter_1F_Text_UsedStruggleTitle, + MauvilleCity_PokemonCenter_1F_Text_UsedStruggleAction, + MauvilleCity_PokemonCenter_1F_Text_UsedStruggleStory + }, + { + GAME_STAT_SLOT_JACKPOTS, 1, + MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsTitle, + MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsAction, + MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsStory + }, + { + GAME_STAT_CONSECUTIVE_ROULETTE_WINS, 2, + MauvilleCity_PokemonCenter_1F_Text_RouletteWinsTitle, + MauvilleCity_PokemonCenter_1F_Text_RouletteWinsAction, + MauvilleCity_PokemonCenter_1F_Text_RouletteWinsStory + }, + { + GAME_STAT_ENTERED_BATTLE_TOWER, 1, + MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesTitle, + MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesAction, + MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesStory + }, + { + GAME_STAT_POKEBLOCKS, 1, + MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksTitle, + MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksAction, + MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksStory + }, + { + GAME_STAT_ENTERED_CONTEST, 1, + MauvilleCity_PokemonCenter_1F_Text_EnteredContestsTitle, + MauvilleCity_PokemonCenter_1F_Text_EnteredContestsAction, + MauvilleCity_PokemonCenter_1F_Text_EnteredContestsStory + }, + { + GAME_STAT_WON_CONTEST, 1, + MauvilleCity_PokemonCenter_1F_Text_WonContestsTitle, + MauvilleCity_PokemonCenter_1F_Text_WonContestsAction, + MauvilleCity_PokemonCenter_1F_Text_WonContestsStory + }, + { + GAME_STAT_SHOPPED, 1, + MauvilleCity_PokemonCenter_1F_Text_TimesShoppedTitle, + MauvilleCity_PokemonCenter_1F_Text_TimesShoppedAction, + MauvilleCity_PokemonCenter_1F_Text_TimesShoppedStory + }, + { + GAME_STAT_USED_ITEMFINDER, 1, + MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderTitle, + MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderAction, + MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderStory + }, + { + GAME_STAT_GOT_RAINED_ON, 1, + MauvilleCity_PokemonCenter_1F_Text_TimesRainedTitle, + MauvilleCity_PokemonCenter_1F_Text_TimesRainedAction, + MauvilleCity_PokemonCenter_1F_Text_TimesRainedStory + }, + { + GAME_STAT_CHECKED_POKEDEX, 1, + MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexTitle, + MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexAction, + MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexStory + }, + { + GAME_STAT_RECEIVED_RIBBONS, 1, + MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsTitle, + MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsAction, + MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsStory + }, + { + GAME_STAT_JUMPED_DOWN_LEDGES, 1, + MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedTitle, + MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedAction, + MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedStory + }, + { + GAME_STAT_WATCHED_TV, 1, + MauvilleCity_PokemonCenter_1F_Text_TVWatchedTitle, + MauvilleCity_PokemonCenter_1F_Text_TVWatchedAction, + MauvilleCity_PokemonCenter_1F_Text_TVWatchedStory + }, + { + GAME_STAT_CHECKED_CLOCK, 1, + MauvilleCity_PokemonCenter_1F_Text_CheckedClockTitle, + MauvilleCity_PokemonCenter_1F_Text_CheckedClockAction, + MauvilleCity_PokemonCenter_1F_Text_CheckedClockStory + }, + { + GAME_STAT_WON_POKEMON_LOTTERY, 1, + MauvilleCity_PokemonCenter_1F_Text_WonLotteryTitle, + MauvilleCity_PokemonCenter_1F_Text_WonLotteryAction, + MauvilleCity_PokemonCenter_1F_Text_WonLotteryStory + }, + { + GAME_STAT_USED_DAYCARE, 1, + MauvilleCity_PokemonCenter_1F_Text_UsedDaycareTitle, + MauvilleCity_PokemonCenter_1F_Text_UsedDaycareAction, + MauvilleCity_PokemonCenter_1F_Text_UsedDaycareStory + }, + { + GAME_STAT_RODE_CABLE_CAR, 1, + MauvilleCity_PokemonCenter_1F_Text_RodeCableCarTitle, + MauvilleCity_PokemonCenter_1F_Text_RodeCableCarAction, + MauvilleCity_PokemonCenter_1F_Text_RodeCableCarStory + }, + { + GAME_STAT_ENTERED_HOT_SPRINGS, 1, + MauvilleCity_PokemonCenter_1F_Text_HotSpringsTitle, + MauvilleCity_PokemonCenter_1F_Text_HotSpringsAction, + MauvilleCity_PokemonCenter_1F_Text_HotSpringsStory + } }; static void StorytellerSetup(void) @@ -959,7 +1141,7 @@ static void StorytellerSetup(void) sStorytellerPtr->id = MAUVILLE_MAN_STORYTELLER; sStorytellerPtr->alreadyRecorded = FALSE; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_STORYTELLER_TALES; i++) { sStorytellerPtr->gameStatIDs[i] = 0; sStorytellerPtr->trainerNames[0][i] = EOS; // Maybe they meant storyteller->trainerNames[i][0] instead? @@ -977,7 +1159,7 @@ static void Storyteller_ResetFlag(void) static u32 StorytellerGetGameStat(u8 stat) { if (stat == 50) - stat = 0; + stat = GAME_STAT_SAVED_GAME; return GetGameStat(stat); } @@ -985,12 +1167,12 @@ static const struct Story *GetStoryByStat(u32 stat) { s32 i; - for (i = 0; i < 36; i++) + for (i = 0; i < (int)ARRAY_COUNT(sStorytellerStories); i++) { if (sStorytellerStories[i].stat == stat) return &sStorytellerStories[i]; } - return &sStorytellerStories[35]; + return &sStorytellerStories[ARRAY_COUNT(sStorytellerStories) - 1]; } static const u8 *GetStoryTitleByStat(u32 stat) @@ -1012,7 +1194,7 @@ static u8 GetFreeStorySlot(void) { u8 i; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_STORYTELLER_TALES; i++) { if (sStorytellerPtr->gameStatIDs[i] == 0) break; @@ -1049,15 +1231,15 @@ static void GetStoryByStattellerPlayerName(u32 player, void *dst) { u8 *name = sStorytellerPtr->trainerNames[player]; - memset(dst, EOS, 8); - memcpy(dst, name, 7); + memset(dst, EOS, PLAYER_NAME_LENGTH + 1); + memcpy(dst, name, PLAYER_NAME_LENGTH); } static void StorytellerSetPlayerName(u32 player, const u8 * src) { u8 * name = sStorytellerPtr->trainerNames[player]; - memset(name, EOS, 7); - memcpy(name, src, 7); + memset(name, EOS, PLAYER_NAME_LENGTH); + memcpy(name, src, PLAYER_NAME_LENGTH); } @@ -1110,15 +1292,15 @@ static bool8 StorytellerInitializeRandomStat(void) u8 stat = sStorytellerStories[arr[i]].stat; u8 minVal = sStorytellerStories[arr[i]].minVal; - for (j = 0; j < 4; j++) + for (j = 0; j < NUM_STORYTELLER_TALES; j++) { if (sStorytellerPtr->gameStatIDs[j] == stat) break; } - if (j == 4 && StorytellerGetGameStat(stat) >= minVal) + if (j == NUM_STORYTELLER_TALES && StorytellerGetGameStat(stat) >= minVal) { sStorytellerPtr->alreadyRecorded = TRUE; - if (GetFreeStorySlot() == 4) + if (GetFreeStorySlot() == NUM_STORYTELLER_TALES) StorytellerRecordNewStat(sSelectedStory, stat); else StorytellerRecordNewStat(GetFreeStorySlot(), stat); @@ -1132,7 +1314,7 @@ static void StorytellerDisplayStory(u32 player) { u8 stat = sStorytellerPtr->gameStatIDs[player]; - ConvertIntToDecimalStringN(gStringVar1, StorytellerGetRecordedTrainerStat(player), 0, 10); + ConvertIntToDecimalStringN(gStringVar1, StorytellerGetRecordedTrainerStat(player), STR_CONV_MODE_LEFT_ALIGN, 10); StringCopy(gStringVar2, GetStoryActionByStat(stat)); GetStoryByStattellerPlayerName(player, gStringVar3); ConvertInternationalString(gStringVar3, sStorytellerPtr->language[player]); @@ -1144,7 +1326,7 @@ static void PrintStoryList(void) s32 i; s32 width = GetStringWidth(1, gText_Exit, 0); u8 tileWidth; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_STORYTELLER_TALES; i++) { s32 curWidth; u16 gameStatID = sStorytellerPtr->gameStatIDs[i]; @@ -1155,9 +1337,9 @@ static void PrintStoryList(void) if (curWidth > width) width = curWidth; } - sStorytellerWindowId = CreateWindowFromRect(0, 0, convert_pixel_width_to_tile_width(width), GetFreeStorySlot() * 2 + 2); + sStorytellerWindowId = CreateWindowFromRect(0, 0, ConvertPixelWidthToTileWidth(width), GetFreeStorySlot() * 2 + 2); SetStandardWindowBorderStyle(sStorytellerWindowId, 0); - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_STORYTELLER_TALES; i++) { u16 gameStatID = sStorytellerPtr->gameStatIDs[i]; if (gameStatID == 0) @@ -1169,7 +1351,7 @@ static void PrintStoryList(void) CopyWindowToVram(sStorytellerWindowId, 3); } -static void Task_StoryListMenu(u8 taskId) // Task_StoryListMenu +static void Task_StoryListMenu(u8 taskId) { struct Task *task = &gTasks[taskId]; s32 selection; diff --git a/src/menu.c b/src/menu.c index 8d50d4dccf..fb7f44cebd 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "bg.h" #include "blit.h" #include "dma3.h" @@ -62,7 +62,13 @@ static EWRAM_DATA u16 gUnknown_0203CDA8 = 0; static EWRAM_DATA void *gUnknown_0203CDAC[0x20] = {NULL}; const u16 gUnknown_0860F074[] = INCBIN_U16("graphics/interface/860F074.gbapal"); -static const u8 gUnknown_0860F094[] = { 8, 4, 1 }; + +static const u8 sTextSpeedFrameDelays[] = +{ + [OPTIONS_TEXT_SPEED_SLOW] = 8, + [OPTIONS_TEXT_SPEED_MID] = 4, + [OPTIONS_TEXT_SPEED_FAST] = 1 +}; static const struct WindowTemplate sStandardTextBox_WindowTemplates[] = { @@ -90,7 +96,7 @@ static const struct WindowTemplate sYesNo_WindowTemplates = }; const u16 gUnknown_0860F0B0[] = INCBIN_U16("graphics/interface/860F0B0.gbapal"); -const u8 gUnknown_0860F0D0[] = { 15, 1, 2 }; +const u8 sTextColors[] = { TEXT_DYNAMIC_COLOR_6, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY }; // Table of move info icon offsets in graphics/interface_fr/menu.png const struct MoveMenuInfoIcon gMoveMenuInfoIcons[] = @@ -480,7 +486,7 @@ u8 GetPlayerTextSpeedDelay(void) if (gSaveBlock2Ptr->optionsTextSpeed > OPTIONS_TEXT_SPEED_FAST) gSaveBlock2Ptr->optionsTextSpeed = OPTIONS_TEXT_SPEED_MID; speed = GetPlayerTextSpeed(); - return gUnknown_0860F094[speed]; + return sTextSpeedFrameDelays[speed]; } u8 sub_81979C4(u8 a1) @@ -819,7 +825,7 @@ void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram) 0, 0xEC - (GetWindowAttribute(sWindowId, WINDOW_TILEMAP_LEFT) * 8) - a2 - width, 1, - gUnknown_0860F0D0, + sTextColors, 0, string); if (copyToVram) @@ -836,15 +842,15 @@ void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyTo { if (a3 != 0) { - color[0] = 0; - color[1] = 1; - color[2] = 2; + color[0] = TEXT_COLOR_TRANSPARENT; + color[1] = TEXT_COLOR_WHITE; + color[2] = TEXT_COLOR_DARK_GREY; } else { - color[0] = 15; - color[1] = 1; - color[2] = 2; + color[0] = TEXT_DYNAMIC_COLOR_6; + color[1] = TEXT_COLOR_WHITE; + color[2] = TEXT_COLOR_DARK_GREY; } PutWindowTilemap(sWindowId); FillWindowPixelBuffer(sWindowId, PIXEL_FILL(15)); @@ -1433,13 +1439,13 @@ s8 sub_8199284(void) sub_8199134(0, 1); return MENU_NOTHING_CHOSEN; } - else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) + else if (gMain.newKeys & DPAD_LEFT || GetLRKeysPressed() == MENU_L_PRESSED) { PlaySE(SE_SELECT); sub_8199134(-1, 0); return MENU_NOTHING_CHOSEN; } - else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) + else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysPressed() == MENU_R_PRESSED) { PlaySE(SE_SELECT); sub_8199134(1, 0); @@ -1474,13 +1480,13 @@ s8 Menu_ProcessInputGridLayout(void) PlaySE(SE_SELECT); return MENU_NOTHING_CHOSEN; } - else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) + else if (gMain.newKeys & DPAD_LEFT || GetLRKeysPressed() == MENU_L_PRESSED) { if (oldPos != sub_81991F8(-1, 0)) PlaySE(SE_SELECT); return MENU_NOTHING_CHOSEN; } - else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) + else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysPressed() == MENU_R_PRESSED) { if (oldPos != sub_81991F8(1, 0)) PlaySE(SE_SELECT); @@ -1513,13 +1519,13 @@ s8 sub_81993D8(void) sub_8199134(0, 1); return MENU_NOTHING_CHOSEN; } - else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_LEFT || sub_812210C() == 1) + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_LEFT || GetLRKeysPressedAndHeld() == MENU_L_PRESSED) { PlaySE(SE_SELECT); sub_8199134(-1, 0); return MENU_NOTHING_CHOSEN; } - else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_RIGHT || sub_812210C() == 2) + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_RIGHT || GetLRKeysPressedAndHeld() == MENU_R_PRESSED) { PlaySE(SE_SELECT); sub_8199134(1, 0); @@ -1554,13 +1560,13 @@ s8 sub_8199484(void) PlaySE(SE_SELECT); return MENU_NOTHING_CHOSEN; } - else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_LEFT || sub_812210C() == 1) + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_LEFT || GetLRKeysPressedAndHeld() == MENU_L_PRESSED) { if (oldPos != sub_81991F8(-1, 0)) PlaySE(SE_SELECT); return MENU_NOTHING_CHOSEN; } - else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_RIGHT || sub_812210C() == 2) + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_RIGHT || GetLRKeysPressedAndHeld() == MENU_R_PRESSED) { if (oldPos != sub_81991F8(1, 0)) PlaySE(SE_SELECT); @@ -1868,7 +1874,7 @@ u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 } } -void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette) +void SetBgTilemapPalette(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette) { u8 i; u8 j; @@ -1883,7 +1889,7 @@ void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette) } } -void sub_8199CBC(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height) +void CopyToBufferFromBgTilemap(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height) { u8 i; u8 j; @@ -2148,18 +2154,18 @@ void sub_819A344(u8 a0, u8 *dest, u8 color) break; case 1: if (IsNationalPokedexEnabled()) - string = ConvertIntToDecimalStringN(string, GetNationalPokedexCount(1), 0, 3); + string = ConvertIntToDecimalStringN(string, GetNationalPokedexCount(FLAG_GET_CAUGHT), STR_CONV_MODE_LEFT_ALIGN, 3); else - string = ConvertIntToDecimalStringN(string, GetHoennPokedexCount(1), 0, 3); + string = ConvertIntToDecimalStringN(string, GetHoennPokedexCount(FLAG_GET_CAUGHT), STR_CONV_MODE_LEFT_ALIGN, 3); *string = EOS; break; case 2: - string = ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->playTimeHours, 0, 3); + string = ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3); *(string++) = CHAR_COLON; - ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->playTimeMinutes, 2, 2); + ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2); break; case 3: - sub_81245DC(string, gMapHeader.regionMapSectionId); + GetMapNameGeneric(string, gMapHeader.regionMapSectionId); break; case 4: for (curFlag = FLAG_BADGE01_GET, flagCount = 0, endOfString = string + 1; curFlag <= FLAG_BADGE08_GET; curFlag++) diff --git a/src/menu_helpers.c b/src/menu_helpers.c index cb0d621c6f..5b68828c80 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -33,10 +33,10 @@ static TaskFunc gUnknown_0300117C; static const struct OamData sOamData_859F4E8 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, @@ -251,27 +251,27 @@ bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1) return FALSE; } -u8 GetLRKeysState(void) +u8 GetLRKeysPressed(void) { if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR) { if (gMain.newKeys & L_BUTTON) - return 1; + return MENU_L_PRESSED; if (gMain.newKeys & R_BUTTON) - return 2; + return MENU_R_PRESSED; } return 0; } -u8 sub_812210C(void) +u8 GetLRKeysPressedAndHeld(void) { if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR) { if (gMain.newAndRepeatedKeys & L_BUTTON) - return 1; + return MENU_L_PRESSED; if (gMain.newAndRepeatedKeys & R_BUTTON) - return 2; + return MENU_R_PRESSED; } return 0; diff --git a/src/menu_specialized.c b/src/menu_specialized.c index 1536cf4137..252bb76049 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle_main.h" #include "contest_effect.h" #include "data.h" @@ -72,9 +72,9 @@ static const struct WindowTemplate sUnknown_086253E8[] = } }; -static const u8 sUnknown_08625400[] = +static const u8 sPlayerNameTextColors[] = { - 1, 2, 3 + TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY }; static const u8 sEmptyItemName[] = _(""); @@ -267,7 +267,7 @@ static void sub_81D1D44(u8 windowId, s32 itemId, u8 y) length = StringLength(buffer); if (length <= 5) ConvertInternationalString(buffer, LANGUAGE_JAPANESE); - AddTextPrinterParameterized4(windowId, 1, 8, y, 0, 0, sUnknown_08625400, -1, buffer); + AddTextPrinterParameterized4(windowId, 1, 8, y, 0, 0, sPlayerNameTextColors, -1, buffer); } u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page) @@ -761,7 +761,7 @@ static void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove) AddTextPrinterParameterized(0, 1, str, 4, 0x19, TEXT_SPEED_FF, NULL); x = 4 + GetStringWidth(1, gText_MoveRelearnerPP, 0); - ConvertIntToDecimalStringN(buffer, move->pp, 0, 2); + ConvertIntToDecimalStringN(buffer, move->pp, STR_CONV_MODE_LEFT_ALIGN, 2); AddTextPrinterParameterized(0, 1, buffer, x, 0x29, TEXT_SPEED_FF, NULL); if (move->power < 2) @@ -770,7 +770,7 @@ static void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove) } else { - ConvertIntToDecimalStringN(buffer, move->power, 0, 3); + ConvertIntToDecimalStringN(buffer, move->power, STR_CONV_MODE_LEFT_ALIGN, 3); str = buffer; } AddTextPrinterParameterized(0, 1, str, 0x6A, 0x19, TEXT_SPEED_FF, NULL); @@ -781,7 +781,7 @@ static void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove) } else { - ConvertIntToDecimalStringN(buffer, move->accuracy, 0, 3); + ConvertIntToDecimalStringN(buffer, move->accuracy, STR_CONV_MODE_LEFT_ALIGN, 3); str = buffer; } AddTextPrinterParameterized(0, 1, str, 0x6A, 0x29, TEXT_SPEED_FF, NULL); @@ -1104,14 +1104,14 @@ static const u32 gUnknown_086256A0[] = INCBIN_U32("graphics/pokenav/sparkle.4bpp static const struct OamData sOamData_8625A20 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, - .shape = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -1121,14 +1121,14 @@ static const struct OamData sOamData_8625A20 = static const struct OamData sOamData_8625A28 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, - .shape = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -1476,14 +1476,14 @@ static void sub_81D35E8(struct Sprite *sprite) } } -static const u8 *const sLvlUpStatStrings[] = +static const u8 *const sLvlUpStatStrings[NUM_STATS] = { - gUnknown_085EEA46, - gUnknown_085EEA4E, - gUnknown_085EEA55, - gUnknown_085EEA63, - gUnknown_085EEA6B, - gUnknown_085EEA5D + gText_MaxHP, + gText_Attack, + gText_Defense, + gText_SpAtk, + gText_SpDef, + gText_Speed }; void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bgClr, u8 fgClr, u8 shadowClr) @@ -1517,7 +1517,7 @@ void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bg -1, sLvlUpStatStrings[i]); - StringCopy(text, (statsDiff[i] >= 0) ? gText_UnkCtrlF904 : gText_Dash); + StringCopy(text, (statsDiff[i] >= 0) ? gText_Plus : gText_Dash); AddTextPrinterParameterized3(windowId, 1, 56, diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index 16298183b5..435ad72336 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -244,7 +244,7 @@ static const u8 sTileBitAttributes[] = [MB_CABLE_BOX_RESULTS_2] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), [MB_WIRELESS_BOX_RESULTS] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), [MB_TRAINER_HILL_TIMER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - [MB_UNKNOWN_CLOSED_DOOR] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), + [MB_SKY_PILLAR_CLOSED_DOOR] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), [MB_UNUSED_EB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), [MB_UNUSED_EC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), [MB_UNUSED_ED] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), @@ -1172,9 +1172,9 @@ bool8 MetatileBehavior_IsClosedSootopolisDoor(u8 metatileBehavior) return FALSE; } -bool8 MetatileBehavior_IsUnknownClosedDoor(u8 metatileBehavior) +bool8 MetatileBehavior_IsSkyPillarClosedDoor(u8 metatileBehavior) { - if (metatileBehavior == MB_UNKNOWN_CLOSED_DOOR) + if (metatileBehavior == MB_SKY_PILLAR_CLOSED_DOOR) return TRUE; else return FALSE; diff --git a/src/mevent2.c b/src/mevent2.c index f36e5d06bf..0bbaf6db82 100755 --- a/src/mevent2.c +++ b/src/mevent2.c @@ -9,6 +9,7 @@ #include "string_util.h" #include "new_game.h" #include "mevent.h" +#include "constants/mevent.h" #include "constants/species.h" static EWRAM_DATA bool32 gUnknown_02022C70 = FALSE; @@ -131,8 +132,8 @@ void DestroyWonderCard(void) sub_801B368(); sub_801B9F8(); ClearRamScript(); - sub_809D4D8(); - sub_809D570(); + ClearMysteryEventFlags(); + ClearMysteryEventVars(); ClearEReaderTrainer(&gSaveBlock2Ptr->frontier.ereaderTrainer); } @@ -493,7 +494,7 @@ u16 mevent_081445C0(u32 command) { switch (command) { - case 0: + case GET_CARD_BATTLES_WON_INTERNAL: { struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data; if (data->unk_08_0 == 2) @@ -503,7 +504,7 @@ u16 mevent_081445C0(u32 command) } break; } - case 1: + case 1: // Never occurs { struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data; if (data->unk_08_0 == 2) @@ -513,7 +514,7 @@ u16 mevent_081445C0(u32 command) } break; } - case 2: + case 2: // Never occurs { struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data; if (data->unk_08_0 == 2) @@ -523,14 +524,14 @@ u16 mevent_081445C0(u32 command) } break; } - case 3: + case GET_NUM_STAMPS_INTERNAL: { struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data; if (data->unk_08_0 == 1) return sub_801B4CC(); break; } - case 4: + case GET_MAX_STAMPS_INTERNAL: { struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data; if (data->unk_08_0 == 1) diff --git a/src/mevent_801BAAC.c b/src/mevent_801BAAC.c index 8f5b2d6361..8596b43cdd 100644 --- a/src/mevent_801BAAC.c +++ b/src/mevent_801BAAC.c @@ -4,7 +4,7 @@ #include "gpu_regs.h" #include "palette.h" #include "decompress.h" -#include "alloc.h" +#include "malloc.h" #include "menu.h" #include "pokemon_icon.h" #include "union_room.h" @@ -61,11 +61,11 @@ void sub_801C178(u8 whichWindow); void sub_801C4C0(void); void sub_801C61C(void); -extern const struct OamData gUnknown_08524934; +extern const struct OamData gOamData_AffineOff_ObjNormal_32x16; -const u8 gUnknown_082F0E10[][3] = { - {0, 2, 3}, - {0, 1, 2} +const u8 sTextColorTable[][3] = { + {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}, + {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY} }; const u8 ALIGNED(4) gUnknown_082F0E18[3] = {7, 4, 7}; const struct WindowTemplate gUnknown_082F0E1C[] = { @@ -138,7 +138,7 @@ const struct SpritePalette gUnknown_082F1D08[] = { {gWonderCardShadowPal8, 0x8000} }; const struct SpriteTemplate gUnknown_082F1D48 = { - 0x8000, 0x8000, &gUnknown_08524934, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + 0x8000, 0x8000, &gOamData_AffineOff_ObjNormal_32x16, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; const struct UnkStruct_8467FB8 gUnknown_082F1D60[8] = { {1, 0, 0, 0, gWonderCardBgGfx1, gWonderCardBgTilemap1, gWonderCardBgPal1}, @@ -371,28 +371,28 @@ void sub_801C178(u8 whichWindow) case 0: { s32 x; - AddTextPrinterParameterized3(windowId, 3, 0, 1, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_018B); + AddTextPrinterParameterized3(windowId, 3, 0, 1, sTextColorTable[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_018B); x = 160 - GetStringWidth(3, sWonderCardData->unk_01B4, GetFontAttribute(3, 2)); if (x < 0) x = 0; - AddTextPrinterParameterized3(windowId, 3, x, 17, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_01B4); + AddTextPrinterParameterized3(windowId, 3, x, 17, sTextColorTable[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_01B4); if (sWonderCardData->unk_0000.unk_04 != 0) { - AddTextPrinterParameterized3(windowId, 1, 166, 17, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_01DD); + AddTextPrinterParameterized3(windowId, 1, 166, 17, sTextColorTable[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_01DD); } break; } case 1: for (; sp0C < 4; sp0C++) { - AddTextPrinterParameterized3(windowId, 3, 0, 16 * sp0C + 2, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal2], 0, sWonderCardData->unk_01E4[sp0C]); + AddTextPrinterParameterized3(windowId, 3, 0, 16 * sp0C + 2, sTextColorTable[sWonderCardData->unk_0170->textPal2], 0, sWonderCardData->unk_01E4[sp0C]); } break; case 2: - AddTextPrinterParameterized3(windowId, 3, 0, gUnknown_082F0E18[sWonderCardData->unk_0000.unk_08_0], gUnknown_082F0E10[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_0288); + AddTextPrinterParameterized3(windowId, 3, 0, gUnknown_082F0E18[sWonderCardData->unk_0000.unk_08_0], sTextColorTable[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_0288); if (sWonderCardData->unk_0000.unk_08_0 != 2) { - AddTextPrinterParameterized3(windowId, 3, 0, 16 + gUnknown_082F0E18[sWonderCardData->unk_0000.unk_08_0], gUnknown_082F0E10[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02B1); + AddTextPrinterParameterized3(windowId, 3, 0, 16 + gUnknown_082F0E18[sWonderCardData->unk_0000.unk_08_0], sTextColorTable[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02B1); } else { @@ -401,11 +401,11 @@ void sub_801C178(u8 whichWindow) s32 spacing = GetFontAttribute(3, 2); for (; sp0C < sWonderCardData->unk_0175; sp0C++) { - AddTextPrinterParameterized3(windowId, 3, x, y, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02DC[sp0C].unk_01); + AddTextPrinterParameterized3(windowId, 3, x, y, sTextColorTable[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02DC[sp0C].unk_01); if (sWonderCardData->unk_02DC[sp0C].unk_42[0] != EOS) { x += GetStringWidth(3, sWonderCardData->unk_02DC[sp0C].unk_01, spacing); - AddTextPrinterParameterized3(windowId, 3, x, y, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02DC[sp0C].unk_42); + AddTextPrinterParameterized3(windowId, 3, x, y, sTextColorTable[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02DC[sp0C].unk_42); x += GetStringWidth(3, sWonderCardData->unk_02DC[sp0C].unk_42, spacing) + sWonderCardData->unk_02DC[sp0C].unk_00; } } @@ -445,7 +445,7 @@ void sub_801C61C(void) { u8 r6 = 0; if (sWonderCardData->unk_017C != 0xFF) - sub_80D2EF8(&gSprites[sWonderCardData->unk_017C]); + FreeAndDestroyMonIconSprite(&gSprites[sWonderCardData->unk_017C]); if (sWonderCardData->unk_0000.unk_09 != 0 && sWonderCardData->unk_0000.unk_08_0 == 1) { for (; r6 < sWonderCardData->unk_0000.unk_09; r6++) @@ -456,7 +456,7 @@ void sub_801C61C(void) } if (sWonderCardData->unk_017D[r6][1] != 0xFF) { - sub_80D2EF8(&gSprites[sWonderCardData->unk_017D[r6][1]]); + FreeAndDestroyMonIconSprite(&gSprites[sWonderCardData->unk_017D[r6][1]]); } } FreeSpriteTilesByTag(0x8000); diff --git a/src/mevent_client.c b/src/mevent_client.c index ec8908af28..659b772df4 100644 --- a/src/mevent_client.c +++ b/src/mevent_client.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "decompress.h" #include "overworld.h" #include "script.h" diff --git a/src/mevent_news.c b/src/mevent_news.c index 192bb0fc7a..9e78cf406b 100644 --- a/src/mevent_news.c +++ b/src/mevent_news.c @@ -53,6 +53,7 @@ void sub_801DBDC(void) } } +// Unused u16 sub_801DC20(void) { u16 *r6 = &gSpecialVar_Result; diff --git a/src/mevent_server.c b/src/mevent_server.c index 06b10dd957..0d3afea304 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "script.h" #include "mevent.h" #include "mevent_server.h" diff --git a/src/mevent_server_helpers.c b/src/mevent_server_helpers.c index 9d47ba7459..616f394f71 100644 --- a/src/mevent_server_helpers.c +++ b/src/mevent_server_helpers.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "decompress.h" #include "util.h" #include "link.h" diff --git a/src/mirage_tower.c b/src/mirage_tower.c index bb9c6e9586..bb93bb4972 100644 --- a/src/mirage_tower.c +++ b/src/mirage_tower.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "bg.h" #include "event_data.h" #include "event_object_movement.h" @@ -139,10 +139,10 @@ static const union AnimCmd gSpriteAnim_8617DEC[] = static const struct OamData gOamData_8617DF4 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, diff --git a/src/mon_markings.c b/src/mon_markings.c index f8b1280455..db5df07e82 100644 --- a/src/mon_markings.c +++ b/src/mon_markings.c @@ -26,10 +26,10 @@ static const u8 gUnknown_0859E67C[] = INCBIN_U8("graphics/misc/mon_markings.4bpp static const struct OamData gUnknown_0859EE7C = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -43,10 +43,10 @@ static const struct OamData gUnknown_0859EE7C = static const struct OamData gUnknown_0859EE84 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, @@ -152,10 +152,10 @@ static const union AnimCmd *const gUnknown_0859EF14[] = static const struct OamData gUnknown_0859EF1C = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), .x = 0, .matrixNum = 0, @@ -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) @@ -520,12 +520,12 @@ static void sub_811FC80(s16 x, s16 y, u16 baseTileTag, u16 basePaletteTag) if (spriteId != MAX_SPRITES) { sMenu->menuTextSprite = &gSprites[spriteId]; - sMenu->menuTextSprite->oam.shape = ST_OAM_SQUARE; - sMenu->menuTextSprite->oam.size = 2; + sMenu->menuTextSprite->oam.shape = SPRITE_SHAPE(32x32); + sMenu->menuTextSprite->oam.size = SPRITE_SIZE(32x32); StartSpriteAnim(sMenu->menuTextSprite, 9); sMenu->menuTextSprite->pos1.x = x + MENU_TEXT_SPRITE_X_OFFSET; sMenu->menuTextSprite->pos1.y = y + 80; - CalcCenterToCornerVec(sMenu->menuTextSprite, 1, 2, 0); + CalcCenterToCornerVec(sMenu->menuTextSprite, SPRITE_SHAPE(32x16), SPRITE_SIZE(32x16), ST_OAM_AFFINE_OFF); } else { diff --git a/src/money.c b/src/money.c index 7b95a75aba..6213f2dd00 100644 --- a/src/money.c +++ b/src/money.c @@ -20,10 +20,10 @@ EWRAM_DATA static u8 sMoneyLabelSpriteId = 0; static const struct OamData sOamData_MoneyLabel = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, diff --git a/src/mossdeep_gym.c b/src/mossdeep_gym.c deleted file mode 100644 index d8adbe0c61..0000000000 --- a/src/mossdeep_gym.c +++ /dev/null @@ -1,314 +0,0 @@ -#include "global.h" -#include "event_object_movement.h" -#include "fieldmap.h" -#include "alloc.h" -#include "mossdeep_gym.h" -#include "script_movement.h" -#include "constants/event_object_movement_constants.h" -#include "constants/event_objects.h" - -// Movement scripts. -extern const u8 gUnknown_08612698[]; -extern const u8 gUnknown_0861269C[]; -extern const u8 gUnknown_086126A0[]; -extern const u8 gUnknown_086126A4[]; -extern const u8 gUnknown_086126A8[]; -extern const u8 gUnknown_086126AA[]; -extern const u8 gUnknown_086126AC[]; -extern const u8 gUnknown_086126AE[]; - -struct MossdeepSubStruct -{ - u8 unk0; - u8 eventTemplateId; -}; - -struct MossdeepStruct -{ - struct MossdeepSubStruct objects[EVENT_OBJECTS_COUNT]; - u8 count; - bool8 unk41; -}; - -// This file's functions. -static void AddEventObject(u8 eventTemplateId, u8 arg1); -static void sub_81A8D94(u8 eventTemplateId, u8 arg1); - -// EWRAM vars -EWRAM_DATA static struct MossdeepStruct *gUnknown_0203CE50 = NULL; - -// code -void InitMossdeepGymTiles(bool8 arg0) -{ - if (gUnknown_0203CE50 == NULL) - gUnknown_0203CE50 = AllocZeroed(sizeof(*gUnknown_0203CE50)); - - gUnknown_0203CE50->unk41 = arg0; -} - -void FinishMossdeepGymTiles(void) -{ - u8 id; - - if (gUnknown_0203CE50 != NULL) - FREE_AND_SET_NULL(gUnknown_0203CE50); - - id = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[id]); - sub_80D338C(); -} - -u16 MossdeepGym_MoveEvents(u8 arg0) -{ - u8 i; - struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates; - u16 localId = 0; - - for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++) - { - s32 var; - u8 r5; - s16 x = events[i].x + 7; - s16 y = events[i].y + 7; - u16 metatile = MapGridGetMetatileIdAt(x, y); - - if (!gUnknown_0203CE50->unk41) - var = 0x250; - else - var = 0x298; - - if (metatile < 0x250) - continue; - - if ((u8)((metatile - var) / 8) >= 5) - continue; - if ((u8)((metatile - var) / 8) != arg0) - continue; - - r5 = (u8)((metatile - var) % 8); - if (r5 < 4) - { - s8 x = 0; - s8 y = 0; - const u8 *movementScript; - - switch (r5) - { - case 0: - movementScript = gUnknown_08612698; - x = 1; - break; - case 1: - movementScript = gUnknown_0861269C; - y = 1; - break; - case 2: - movementScript = gUnknown_086126A0; - x = -1; - break; - case 3: - movementScript = gUnknown_086126A4; - y = -1; - break; - default: - continue; - } - - events[i].x += x; - events[i].y += y; - if (GetEventObjectIdByLocalIdAndMap(events[i].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup) != EVENT_OBJECTS_COUNT) - { - AddEventObject(i, r5); - localId = events[i].localId; - ScriptMovement_StartObjectMovementScript(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, movementScript); - } - else - { - sub_81A8D94(i, r5); - } - } - } - - return localId; -} - -void MossdeepGym_TurnEvents(void) -{ - u8 i; - s32 var; - struct EventObjectTemplate *events; - - if (gUnknown_0203CE50 == NULL) - return; - - if (!gUnknown_0203CE50->unk41) - var = 0x250; - else - var = 0x298; - - events = gSaveBlock1Ptr->eventObjectTemplates; - for (i = 0; i < gUnknown_0203CE50->count; i++) - { - s32 r6; - s8 r0; - u8 eventObjectId; - s16 x = events[gUnknown_0203CE50->objects[i].eventTemplateId].x + 7; - s16 y = events[gUnknown_0203CE50->objects[i].eventTemplateId].y + 7; - u16 metatile = MapGridGetMetatileIdAt(x, y); - - r0 = (u8)((metatile - var) % 8); - r0 -= (gUnknown_0203CE50->objects[i].unk0); - if (r0 < 0 || r0 == 3) - { - if (r0 == -3) - r6 = 1; - else - r6 = 0; - } - else - { - if (r0 > 0) - r6 = 1; - else - r6 = 2; - } - - eventObjectId = GetEventObjectIdByLocalIdAndMap(events[gUnknown_0203CE50->objects[i].eventTemplateId].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - if (eventObjectId != EVENT_OBJECTS_COUNT) - { - const u8 *movementScript; - u8 direction = gEventObjects[eventObjectId].facingDirection; - if (r6 == 0) - { - switch (direction) - { - case DIR_EAST: - movementScript = gUnknown_086126AE; - events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; - break; - case DIR_SOUTH: - movementScript = gUnknown_086126A8; - events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; - break; - case DIR_WEST: - movementScript = gUnknown_086126AA; - events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; - break; - case DIR_NORTH: - movementScript = gUnknown_086126AC; - events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; - break; - default: - continue; - } - ScriptMovement_StartObjectMovementScript(events[gUnknown_0203CE50->objects[i].eventTemplateId].localId, - gSaveBlock1Ptr->location.mapNum, - gSaveBlock1Ptr->location.mapGroup, - movementScript); - } - else if (r6 == 1) - { - switch (direction) - { - case DIR_EAST: - movementScript = gUnknown_086126AA; - events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; - break; - case DIR_SOUTH: - movementScript = gUnknown_086126AC; - events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; - break; - case DIR_WEST: - movementScript = gUnknown_086126AE; - events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; - break; - case DIR_NORTH: - movementScript = gUnknown_086126A8; - events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; - break; - default: - continue; - } - ScriptMovement_StartObjectMovementScript(events[gUnknown_0203CE50->objects[i].eventTemplateId].localId, - gSaveBlock1Ptr->location.mapNum, - gSaveBlock1Ptr->location.mapGroup, - movementScript); - } - } - } -} - -static void AddEventObject(u8 eventTemplateId, u8 arg1) -{ - gUnknown_0203CE50->objects[gUnknown_0203CE50->count].eventTemplateId = eventTemplateId; - gUnknown_0203CE50->objects[gUnknown_0203CE50->count].unk0 = arg1; - gUnknown_0203CE50->count++; -} - -static void sub_81A8D94(u8 eventTemplateId, u8 arg1) -{ - s8 r0; - s32 r6; - s32 var; - u16 movementType; - struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates; - s16 x = events[eventTemplateId].x + 7; - s16 y = events[eventTemplateId].y + 7; - u16 metatile = MapGridGetMetatileIdAt(x, y); - - if (!gUnknown_0203CE50->unk41) - var = 0x250; - else - var = 0x298; - - r0 = (u8)((metatile - var) % 8); - r0 -= arg1; - if (r0 < 0 || r0 == 3) - r6 = 0; - else if (r0 > 0 || r0 == -3) - r6 = 1; - else - r6 = 2; - - movementType = events[eventTemplateId].movementType; - if (r6 == 0) - { - switch (movementType) - { - case MOVEMENT_TYPE_FACE_RIGHT: - events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; - break; - case MOVEMENT_TYPE_FACE_DOWN: - events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; - break; - case MOVEMENT_TYPE_FACE_LEFT: - events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; - break; - case MOVEMENT_TYPE_FACE_UP: - events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; - break; - default: - break; - } - } - else if (r6 == 1) - { - switch (movementType) - { - case MOVEMENT_TYPE_FACE_RIGHT: - events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; - break; - case MOVEMENT_TYPE_FACE_DOWN: - events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; - break; - case MOVEMENT_TYPE_FACE_LEFT: - events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; - break; - case MOVEMENT_TYPE_FACE_UP: - events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; - break; - default: - break; - } - } -} diff --git a/src/move_relearner.c b/src/move_relearner.c index 0b0b4a5aa5..e880086897 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -9,7 +9,7 @@ #include "gpu_regs.h" #include "move_relearner.h" #include "list_menu.h" -#include "alloc.h" +#include "malloc.h" #include "menu.h" #include "menu_helpers.h" #include "menu_specialized.h" @@ -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*/ @@ -183,14 +183,14 @@ static const u8 sMoveRelearnerSpriteSheetData[] = INCBIN_U8("graphics/interface/ static const struct OamData sHeartSpriteOamData = { .y = 0, - .affineMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -200,14 +200,14 @@ static const struct OamData sHeartSpriteOamData = static const struct OamData sUnusedOam1 = { .y = 0, - .affineMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_V_RECTANGLE, + .shape = SPRITE_SHAPE(8x16), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x16), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -217,14 +217,14 @@ static const struct OamData sUnusedOam1 = static const struct OamData sUnusedOam2 = { .y = 0, - .affineMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_H_RECTANGLE, + .shape = SPRITE_SHAPE(16x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(16x8), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -376,7 +376,7 @@ static void Task_WaitForFadeOut(u8 taskId) if (!gPaletteFade.active) { SetMainCallback2(CB2_InitLearnMove); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; DestroyTask(taskId); } } @@ -513,7 +513,7 @@ static void DoMoveRelearnerMain(void) if (selection == 0) { - if (GiveMoveToMon(&gPlayerParty[sMoveRelearnerStruct->partyMon], GetCurrentSelectedMove()) != 0xFFFF) + if (GiveMoveToMon(&gPlayerParty[sMoveRelearnerStruct->partyMon], GetCurrentSelectedMove()) != MON_HAS_MAX_MOVES) { FormatAndPrintText(gText_MoveRelearnerPkmnLearnedMove); gSpecialVar_0x8004 = TRUE; @@ -778,7 +778,7 @@ static void HandleInput(bool8 showContest) switch (itemId) { case LIST_NOTHING_CHOSEN: - if (!(gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT)) && !GetLRKeysState()) + if (!(gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT)) && !GetLRKeysPressed()) { break; } diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index c77a486155..14c00fd96d 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -152,7 +152,7 @@ static void CB2_MysteryEventMenu(void) if (!IsTextPrinterActive(0)) { gMain.state++; - gLinkType = 0x5501; + gLinkType = LINKTYPE_0x5501; OpenLink(); } break; diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c index dba914b512..76f340c605 100644 --- a/src/mystery_event_script.c +++ b/src/mystery_event_script.c @@ -286,7 +286,7 @@ bool8 MEScrCmd_givenationaldex(struct ScriptContext *ctx) bool8 MEScrCmd_addrareword(struct ScriptContext *ctx) { - sub_811EFC0(ScriptReadByte(ctx)); + UnlockAdditionalPhrase(ScriptReadByte(ctx)); StringExpandPlaceholders(gStringVar4, gText_MysteryGiftRareWord); ctx->data[2] = 2; return FALSE; diff --git a/src/mystery_gift.c b/src/mystery_gift.c index ab3df9020c..9da5f060af 100644 --- a/src/mystery_gift.c +++ b/src/mystery_gift.c @@ -2,7 +2,7 @@ #include "main.h" #include "text.h" #include "task.h" -#include "alloc.h" +#include "malloc.h" #include "gpu_regs.h" #include "scanline_effect.h" #include "text_window.h" @@ -921,7 +921,7 @@ static bool32 mevent_save_game(u8 * state) (*state)++; break; case 1: - TrySavingData(0); + TrySavingData(SAVE_NORMAL); (*state)++; break; case 2: diff --git a/src/naming_screen.c b/src/naming_screen.c index 7da7d99b02..68eeded915 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -1,6 +1,6 @@ #include "global.h" #include "naming_screen.h" -#include "alloc.h" +#include "malloc.h" #include "palette.h" #include "task.h" #include "sprite.h" @@ -33,28 +33,11 @@ EWRAM_DATA static struct NamingScreenData *gNamingScreenData = NULL; extern u16 gKeyRepeatStartDelay; // extern text -extern const u8 gExpandedPlaceholder_Empty[]; -extern const u8 gText_PkmnTransferredSomeonesPC[]; -extern const u8 gText_PkmnTransferredLanettesPC[]; -extern const u8 gText_PkmnBoxSomeonesPCFull[]; -extern const u8 gText_PkmnBoxLanettesPCFull[]; extern const u8 gText_MoveOkBack[]; extern const u8 gText_YourName[]; extern const u8 gText_BoxName[]; extern const u8 gText_PkmnsNickname[]; extern const u8 gText_TellHimTheWords[]; -extern const u8 gUnknown_0862B88D[]; -extern const u8 gUnknown_0862B8AE[]; -extern const u8 gUnknown_0862B8CF[]; -extern const u8 gUnknown_0862B8F0[]; -extern const u8 gUnknown_0862B911[]; -extern const u8 gUnknown_0862B932[]; -extern const u8 gUnknown_0862B953[]; -extern const u8 gUnknown_0862B974[]; -extern const u8 gUnknown_0862B995[]; -extern const u8 gUnknown_0862B9AE[]; -extern const u8 gUnknown_0862B9C7[]; -extern const u8 gUnknown_0862B9E0[]; // start of .rodata @@ -63,15 +46,15 @@ static const u8 gSpriteImage_858BCB8[] = INCBIN_U8("graphics/naming_screen/pc_ic static const u16 gUnknown_0858BD78[] = INCBIN_U16("graphics/naming_screen/0.gbapal"); static const u16 gUnknown_0858BD98[] = INCBIN_U16("graphics/naming_screen/1.gbapal"); -static const u8 *const gUnknown_0858BDB8[] = +static const u8 *const sTransferredToPCMessages[] = { gText_PkmnTransferredSomeonesPC, gText_PkmnTransferredLanettesPC, - gText_PkmnBoxSomeonesPCFull, - gText_PkmnBoxLanettesPCFull + gText_PkmnTransferredSomeonesPCBoxFull, + gText_PkmnTransferredLanettesPCBoxFull }; -static const u8 gUnknown_0858BDC8[] = _("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!"); +static const u8 sText_AlphabetUpperLower[] = _("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!"); static const struct BgTemplate gUnknown_0858BE00[] = { @@ -171,7 +154,7 @@ static const struct SpriteTemplate gUnknown_0858C138; static const struct SpriteTemplate sSpriteTemplate_InputArrow; static const struct SpriteTemplate sSpriteTemplate_Underscore; static const struct SpriteTemplate gUnknown_0858C180; -static const u8* const gUnknown_0858C198[][4]; +static const u8* const sNamingScreenKeyboardText[KBPAGE_COUNT][KBROW_COUNT]; static const struct SpriteSheet gUnknown_0858C1C8[]; static const struct SpritePalette gUnknown_0858C230[]; @@ -238,7 +221,7 @@ static void NamingScreen_TurnOffScreen(void); static void NamingScreen_InitDisplayMode(void); static void VBlankCB_NamingScreen(void); static void sub_80E501C(void); -static bool8 sub_80E503C(u8); +static bool8 IsLetter(u8); void DoNamingScreen(u8 templateNum, u8 *destBuffer, u16 monSpecies, u16 monGender, u32 monPersonality, MainCallback returnCallback) { @@ -428,35 +411,52 @@ static void sub_80E31B0(u8 taskId) } } -static const u8 gUnknown_0858BEBB[] = { 0, 2, 1 }; -static const u8 gUnknown_0858BEBE[] = { 1, 0, 2 }; -static const u8 gUnknown_0858BEC1[] = { 2, 1, 0 }; +static const u8 sPageOrderLowerFirst[] = +{ + KBPAGE_LETTERS_LOWER, + KBPAGE_SYMBOLS, + KBPAGE_LETTERS_UPPER +}; + +static const u8 sPageOrderUpperFirst[] = +{ + KBPAGE_LETTERS_UPPER, + KBPAGE_LETTERS_LOWER, + KBPAGE_SYMBOLS +}; + +static const u8 sPageOrderSymbolsFirst[] = +{ + KBPAGE_SYMBOLS, + KBPAGE_LETTERS_UPPER, + KBPAGE_LETTERS_LOWER +}; static u8 sub_80E3244(u8 a1) { - return gUnknown_0858BEBB[a1]; + return sPageOrderLowerFirst[a1]; } static u8 sub_80E3254(void) { - return gUnknown_0858BEBE[gNamingScreenData->currentPage]; + return sPageOrderUpperFirst[gNamingScreenData->currentPage]; } static u8 sub_80E3274(void) { - return gUnknown_0858BEC1[gNamingScreenData->currentPage]; + return sPageOrderSymbolsFirst[gNamingScreenData->currentPage]; } static bool8 MainState_BeginFadeIn(void) { sub_80E4CF8(3, gUnknown_08DD4544); - gNamingScreenData->currentPage = PAGE_UPPER; + gNamingScreenData->currentPage = KBPAGE_LETTERS_UPPER; sub_80E4CF8(2, gUnknown_08DD46E0); sub_80E4CF8(1, gUnknown_08DD4620); - sub_80E4DE4(gNamingScreenData->windows[1], 0); - sub_80E4DE4(gNamingScreenData->windows[0], 1); - nullsub_10(2, 0); - nullsub_10(1, 1); + sub_80E4DE4(gNamingScreenData->windows[1], KBPAGE_LETTERS_LOWER); + sub_80E4DE4(gNamingScreenData->windows[0], KBPAGE_LETTERS_UPPER); + nullsub_10(2, KBPAGE_LETTERS_LOWER); + nullsub_10(1, KBPAGE_LETTERS_UPPER); sub_80E4D10(); sub_80E4964(); sub_80E4EF0(); @@ -541,23 +541,23 @@ static void DisplaySentToPCMessage(void) { u8 stringToDisplay = 0; - if (!sub_813B260()) + if (!IsDestinationBoxFull()) { - StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN))); + StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON))); StringCopy(gStringVar2, gNamingScreenData->destBuffer); } else { - StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN))); + StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON))); StringCopy(gStringVar2, gNamingScreenData->destBuffer); - StringCopy(gStringVar3, GetBoxNamePtr(get_unknown_box_id())); + StringCopy(gStringVar3, GetBoxNamePtr(GetPCBoxToSendMon())); stringToDisplay = 2; } if (FlagGet(FLAG_SYS_PC_LANETTE)) stringToDisplay++; - StringExpandPlaceholders(gStringVar4, gUnknown_0858BDB8[stringToDisplay]); + StringExpandPlaceholders(gStringVar4, sTransferredToPCMessages[stringToDisplay]); DrawDialogueFrame(0, 0); gTextFlags.canABSpeedUpPrint = TRUE; AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeedDelay(), 0, 2, 1, 3); @@ -913,7 +913,7 @@ static void CursorInit(void) gNamingScreenData->cursorSpriteId = CreateSprite(&gUnknown_0858C138, 38, 88, 1); sub_80E3E3C(1); gSprites[gNamingScreenData->cursorSpriteId].oam.priority = 1; - gSprites[gNamingScreenData->cursorSpriteId].oam.objMode = 1; + gSprites[gNamingScreenData->cursorSpriteId].oam.objMode = ST_OAM_OBJ_BLEND; gSprites[gNamingScreenData->cursorSpriteId].data[6] = 1; gSprites[gNamingScreenData->cursorSpriteId].data[6] = 2; SetCursorPos(0, 0); @@ -1526,8 +1526,8 @@ static void TaskDummy3(void) static const u8 sGenderColors[2][3] = { - {0, 9, 8}, - {0, 5, 4} + {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_BLUE, TEXT_COLOR_BLUE}, + {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_RED, TEXT_COLOR_RED} }; static void sub_80E49BC(void) @@ -1660,7 +1660,7 @@ static void sub_80E4CF8(u8 bg, const void *src) CopyToBgTilemapBuffer(bg, src, 0, 0); } -static void nullsub_10(u8 a1, u8 a2) +static void nullsub_10(u8 a1, u8 page) { } @@ -1678,8 +1678,8 @@ static void sub_80E4D10(void) for (i = 0; i < maxChars; i++) { temp[0] = gNamingScreenData->textBuffer[i]; - temp[1] = gExpandedPlaceholder_Empty[0]; - unk2 = (sub_80E503C(temp[0]) == 1) ? 2 : 0; + temp[1] = gText_ExpandedPlaceholder_Empty[0]; + unk2 = (IsLetter(temp[0]) == TRUE) ? 2 : 0; AddTextPrinterParameterized(gNamingScreenData->windows[2], 1, temp, i * 8 + unk + unk2, 1, 0xFF, NULL); } @@ -1689,43 +1689,43 @@ static void sub_80E4D10(void) PutWindowTilemap(gNamingScreenData->windows[2]); } -struct TextColorThing // needed because of alignment... it's so stupid +struct TextColor // Needed because of alignment { u8 colors[3][4]; }; -static const struct TextColorThing sUnkColorStruct = +static const struct TextColor sTextColorStruct = { { - {13, 1, 2}, - {14, 1, 2}, - {15, 1, 2} + {TEXT_DYNAMIC_COLOR_4, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}, + {TEXT_DYNAMIC_COLOR_5, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}, + {TEXT_DYNAMIC_COLOR_6, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY} } }; -static const u8 sFillValues[3] = +static const u8 sFillValues[KBPAGE_COUNT] = { - PIXEL_FILL(0xE), - PIXEL_FILL(0xD), - PIXEL_FILL(0xF) + [KBPAGE_LETTERS_LOWER] = PIXEL_FILL(0xE), + [KBPAGE_LETTERS_UPPER] = PIXEL_FILL(0xD), + [KBPAGE_SYMBOLS] = PIXEL_FILL(0xF) }; -static const u8 *const sUnkColors[3] = +static const u8 *const sKeyboardTextColors[KBPAGE_COUNT] = { - sUnkColorStruct.colors[1], - sUnkColorStruct.colors[0], - sUnkColorStruct.colors[2] + [KBPAGE_LETTERS_LOWER] = sTextColorStruct.colors[1], + [KBPAGE_LETTERS_UPPER] = sTextColorStruct.colors[0], + [KBPAGE_SYMBOLS] = sTextColorStruct.colors[2] }; -static void sub_80E4DE4(u8 window, u8 a1) +static void sub_80E4DE4(u8 window, u8 page) { u8 i; - FillWindowPixelBuffer(window, sFillValues[a1]); + FillWindowPixelBuffer(window, sFillValues[page]); - for (i = 0; i < 4; i++) + for (i = 0; i < KBROW_COUNT; i++) { - AddTextPrinterParameterized3(window, 1, 0, i * 16 + 1, sUnkColors[a1], 0, gUnknown_0858C198[a1][i]); + AddTextPrinterParameterized3(window, 1, 0, i * 16 + 1, sKeyboardTextColors[page], 0, sNamingScreenKeyboardText[page][i]); } PutWindowTilemap(window); @@ -1767,7 +1767,7 @@ static void sub_80E4E5C(void) static void sub_80E4EF0(void) { - const u8 color[3] = { 15, 1, 2 }; + const u8 color[3] = { TEXT_DYNAMIC_COLOR_6, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY }; FillWindowPixelBuffer(gNamingScreenData->windows[4], PIXEL_FILL(15)); AddTextPrinterParameterized3(gNamingScreenData->windows[4], 0, 2, 1, color, 0, gText_MoveOkBack); @@ -1815,13 +1815,13 @@ static void sub_80E501C(void) ShowBg(3); } -static bool8 sub_80E503C(u8 character) +static bool8 IsLetter(u8 character) { u8 i; - for (i = 0; gUnknown_0858BDC8[i] != EOS; i++) + for (i = 0; sText_AlphabetUpperLower[i] != EOS; i++) { - if (character == gUnknown_0858BDC8[i]) + if (character == sText_AlphabetUpperLower[i]) return FALSE; } return FALSE; @@ -1857,7 +1857,7 @@ static const struct NamingScreenTemplate playerNamingScreenTemplate = .maxChars = 7, .iconFunction = 1, .addGenderIcon = 0, - .initialPage = PAGE_UPPER, + .initialPage = KBPAGE_LETTERS_UPPER, .unused = 35, .title = gText_YourName, }; @@ -1868,7 +1868,7 @@ static const struct NamingScreenTemplate pcBoxNamingTemplate = .maxChars = 8, .iconFunction = 2, .addGenderIcon = 0, - .initialPage = PAGE_UPPER, + .initialPage = KBPAGE_LETTERS_UPPER, .unused = 19, .title = gText_BoxName, }; @@ -1879,7 +1879,7 @@ static const struct NamingScreenTemplate monNamingScreenTemplate = .maxChars = 10, .iconFunction = 3, .addGenderIcon = 1, - .initialPage = PAGE_UPPER, + .initialPage = KBPAGE_LETTERS_UPPER, .unused = 35, .title = gText_PkmnsNickname, }; @@ -1890,7 +1890,7 @@ static const struct NamingScreenTemplate wandaWordsScreenTemplate = .maxChars = 15, .iconFunction = 4, .addGenderIcon = 0, - .initialPage = PAGE_UPPER, + .initialPage = KBPAGE_LETTERS_UPPER, .unused = 11, .title = gText_TellHimTheWords, }; @@ -1948,37 +1948,170 @@ const struct OamData gOamData_858BFFC = static const struct Subsprite gUnknown_0858C004[] = { - {-20, -16, 1, 1, 0, 1}, - { 12, -16, 0, 0, 4, 1}, - {-20, -8, 1, 1, 5, 1}, - { 12, -8, 0, 0, 9, 1}, - {-20, 0, 1, 1, 10, 1}, - { 12, 0, 0, 0, 14, 1}, - {-20, 8, 1, 1, 15, 1}, - { 12, 8, 0, 0, 19, 1} + { + .x = -20, + .y = -16, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 12, + .y = -16, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 4, + .priority = 1 + }, + { + .x = -20, + .y = -8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 5, + .priority = 1 + }, + { + .x = 12, + .y = -8, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 9, + .priority = 1 + }, + { + .x = -20, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 10, + .priority = 1 + }, + { + .x = 12, + .y = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 14, + .priority = 1 + }, + { + .x = -20, + .y = 8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 15, + .priority = 1 + }, + { + .x = 12, + .y = 8, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 19, + .priority = 1 + } }; static const struct Subsprite gUnknown_0858C024[] = { - {-12, -4, 1, 0, 0, 1}, - { 4, -4, 0, 0, 2, 1} + { + .x = -12, + .y = -4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 4, + .y = -4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 2, + .priority = 1 + } }; static const struct Subsprite gUnknown_0858C02C[] = { - {-20, -12, 1, 1, 0, 1}, - { 12, -12, 0, 0, 4, 1}, - {-20, -4, 1, 1, 5, 1}, - { 12, -4, 0, 0, 9, 1}, - {-20, 4, 1, 1, 10, 1}, - { 12, 4, 0, 0, 14, 1} + { + .x = -20, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 1 + }, + { + .x = 12, + .y = -12, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 4, + .priority = 1 + }, + { + .x = -20, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 5, + .priority = 1 + }, + { + .x = 12, + .y = -4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 9, + .priority = 1 + }, + { + .x = -20, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 10, + .priority = 1 + }, + { + .x = 12, + .y = 4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 14, + .priority = 1 + } }; static const struct Subsprite gUnknown_0858C044[] = { - {-8, -12, 1, 0, 0, 3}, - {-8, -4, 1, 0, 2, 3}, - {-8, 4, 1, 0, 4, 3} + { + .x = -8, + .y = -12, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 0, + .priority = 3 + }, + { + .x = -8, + .y = -4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 2, + .priority = 3 + }, + { + .x = -8, + .y = 4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 4, + .priority = 3 + } }; static const struct SubspriteTable gUnknown_0858C050[] = @@ -2144,25 +2277,28 @@ static const struct SpriteTemplate gUnknown_0858C180 = .callback = SpriteCallbackDummy }; -static const u8* const gUnknown_0858C198[][4] = +static const u8* const sNamingScreenKeyboardText[KBPAGE_COUNT][KBROW_COUNT] = { + [KBPAGE_LETTERS_LOWER] = { - gUnknown_0862B88D, - gUnknown_0862B8AE, - gUnknown_0862B8CF, - gUnknown_0862B8F0 + gText_NamingScreenKeyboard_abcdef, + gText_NamingScreenKeyboard_ghijkl, + gText_NamingScreenKeyboard_mnopqrs, + gText_NamingScreenKeyboard_tuvwxyz }, + [KBPAGE_LETTERS_UPPER] = { - gUnknown_0862B911, - gUnknown_0862B932, - gUnknown_0862B953, - gUnknown_0862B974 + gText_NamingScreenKeyboard_ABCDEF, + gText_NamingScreenKeyboard_GHIJKL, + gText_NamingScreenKeyboard_MNOPQRS, + gText_NamingScreenKeyboard_TUVWXYZ }, + [KBPAGE_SYMBOLS] = { - gUnknown_0862B995, - gUnknown_0862B9AE, - gUnknown_0862B9C7, - gUnknown_0862B9E0 + gText_NamingScreenKeyboard_01234, + gText_NamingScreenKeyboard_56789, + gText_NamingScreenKeyboard_Symbols1, + gText_NamingScreenKeyboard_Symbols2 }, }; diff --git a/src/new_game.c b/src/new_game.c index b4d9ba9b39..464da64146 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]; } @@ -122,8 +122,8 @@ static void ClearFrontierRecord(void) { CpuFill32(0, &gSaveBlock2Ptr->frontier, sizeof(gSaveBlock2Ptr->frontier)); - gSaveBlock2Ptr->frontier.opponentName[0][0] = EOS; - gSaveBlock2Ptr->frontier.opponentName[1][0] = EOS; + gSaveBlock2Ptr->frontier.opponentNames[0][0] = EOS; + gSaveBlock2Ptr->frontier.opponentNames[1][0] = EOS; } static void WarpToTruck(void) @@ -150,7 +150,7 @@ void ResetMenuAndMonGlobals(void) void NewGameInitData(void) { - if (gSaveFileStatus == 0 || gSaveFileStatus == 2) + if (gSaveFileStatus == SAVE_STATUS_EMPTY || gSaveFileStatus == SAVE_STATUS_CORRUPT) RtcReset(); gDifferentSaveFile = 1; diff --git a/src/normal.c b/src/normal.c index 2b592e1998..7864dd9a36 100644 --- a/src/normal.c +++ b/src/normal.c @@ -64,7 +64,7 @@ const struct SpriteTemplate gConfusionDuckSpriteTemplate = { .tileTag = ANIM_TAG_DUCK, .paletteTag = ANIM_TAG_DUCK, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_08597254, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -112,7 +112,7 @@ const struct SpriteTemplate gUnknown_085972C0 = { .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085972BC, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -169,7 +169,7 @@ const struct SpriteTemplate gBasicHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, @@ -180,7 +180,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597370 = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, @@ -191,7 +191,7 @@ const struct SpriteTemplate gUnknown_08597388 = { .tileTag = ANIM_TAG_WATER_IMPACT, .paletteTag = ANIM_TAG_WATER_IMPACT, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, @@ -202,7 +202,7 @@ const struct SpriteTemplate gUnknown_085973A0 = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, @@ -213,7 +213,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85973B8 = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, @@ -224,7 +224,7 @@ const struct SpriteTemplate gUnknown_085973D0 = { .tileTag = ANIM_TAG_CROSS_IMPACT, .paletteTag = ANIM_TAG_CROSS_IMPACT, - .oam = &gUnknown_08524A34, + .oam = &gOamData_AffineOff_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -235,7 +235,7 @@ const struct SpriteTemplate gUnknown_085973E8 = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, @@ -246,7 +246,7 @@ const struct SpriteTemplate gUnknown_08597400 = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, - .oam = &gUnknown_08524A94, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597348, diff --git a/src/option_menu.c b/src/option_menu.c index 3ffb2738fd..e0473b5c30 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -48,6 +48,13 @@ enum WIN_OPTIONS }; +#define YPOS_TEXTSPEED (MENUITEM_TEXTSPEED * 16) +#define YPOS_BATTLESCENE (MENUITEM_BATTLESCENE * 16) +#define YPOS_BATTLESTYLE (MENUITEM_BATTLESTYLE * 16) +#define YPOS_SOUND (MENUITEM_SOUND * 16) +#define YPOS_BUTTONMODE (MENUITEM_BUTTONMODE * 16) +#define YPOS_FRAMETYPE (MENUITEM_FRAMETYPE * 16) + // this file's functions static void Task_OptionMenuFadeIn(u8 taskId); static void Task_OptionMenuProcessInput(u8 taskId); @@ -80,13 +87,13 @@ static const u8 sEqualSignGfx[] = INCBIN_U8("graphics/misc/option_menu_equals_si static const u8 *const sOptionMenuItemsNames[MENUITEM_COUNT] = { - gText_TextSpeed, - gText_BattleScene, - gText_BattleStyle, - gText_Sound, - gText_ButtonMode, - gText_Frame, - gText_OptionMenuCancel, + [MENUITEM_TEXTSPEED] = gText_TextSpeed, + [MENUITEM_BATTLESCENE] = gText_BattleScene, + [MENUITEM_BATTLESTYLE] = gText_BattleStyle, + [MENUITEM_SOUND] = gText_Sound, + [MENUITEM_BUTTONMODE] = gText_ButtonMode, + [MENUITEM_FRAMETYPE] = gText_Frame, + [MENUITEM_CANCEL] = gText_OptionMenuCancel, }; static const struct WindowTemplate sOptionMenuWinTemplates[] = @@ -280,12 +287,12 @@ static void Task_OptionMenuProcessInput(u8 taskId) if (gTasks[taskId].data[TD_MENUSELECTION] > 0) gTasks[taskId].data[TD_MENUSELECTION]--; else - gTasks[taskId].data[TD_MENUSELECTION] = 6; + gTasks[taskId].data[TD_MENUSELECTION] = MENUITEM_CANCEL; HighlightOptionMenuItem(gTasks[taskId].data[TD_MENUSELECTION]); } else if (gMain.newKeys & DPAD_DOWN) { - if (gTasks[taskId].data[TD_MENUSELECTION] <= 5) + if (gTasks[taskId].data[TD_MENUSELECTION] < MENUITEM_CANCEL) gTasks[taskId].data[TD_MENUSELECTION]++; else gTasks[taskId].data[TD_MENUSELECTION] = 0; @@ -431,7 +438,7 @@ static void TextSpeed_DrawChoices(u8 selection) styles[2] = 0; styles[selection] = 1; - DrawOptionMenuChoice(gText_TextSpeedSlow, 104, 0, styles[0]); + DrawOptionMenuChoice(gText_TextSpeedSlow, 104, YPOS_TEXTSPEED, styles[0]); widthSlow = GetStringWidth(1, gText_TextSpeedSlow, 0); widthMid = GetStringWidth(1, gText_TextSpeedMid, 0); @@ -439,9 +446,9 @@ static void TextSpeed_DrawChoices(u8 selection) widthMid -= 94; xMid = (widthSlow - widthMid - widthFast) / 2 + 104; - DrawOptionMenuChoice(gText_TextSpeedMid, xMid, 0, styles[1]); + DrawOptionMenuChoice(gText_TextSpeedMid, xMid, YPOS_TEXTSPEED, styles[1]); - DrawOptionMenuChoice(gText_TextSpeedFast, GetStringRightAlignXOffset(1, gText_TextSpeedFast, 198), 0, styles[2]); + DrawOptionMenuChoice(gText_TextSpeedFast, GetStringRightAlignXOffset(1, gText_TextSpeedFast, 198), YPOS_TEXTSPEED, styles[2]); } static u8 BattleScene_ProcessInput(u8 selection) @@ -463,8 +470,8 @@ static void BattleScene_DrawChoices(u8 selection) styles[1] = 0; styles[selection] = 1; - DrawOptionMenuChoice(gText_BattleSceneOn, 104, 16, styles[0]); - DrawOptionMenuChoice(gText_BattleSceneOff, GetStringRightAlignXOffset(1, gText_BattleSceneOff, 198), 16, styles[1]); + DrawOptionMenuChoice(gText_BattleSceneOn, 104, YPOS_BATTLESCENE, styles[0]); + DrawOptionMenuChoice(gText_BattleSceneOff, GetStringRightAlignXOffset(1, gText_BattleSceneOff, 198), YPOS_BATTLESCENE, styles[1]); } static u8 BattleStyle_ProcessInput(u8 selection) @@ -486,8 +493,8 @@ static void BattleStyle_DrawChoices(u8 selection) styles[1] = 0; styles[selection] = 1; - DrawOptionMenuChoice(gText_BattleStyleShift, 104, 32, styles[0]); - DrawOptionMenuChoice(gText_BattleStyleSet, GetStringRightAlignXOffset(1, gText_BattleStyleSet, 198), 32, styles[1]); + DrawOptionMenuChoice(gText_BattleStyleShift, 104, YPOS_BATTLESTYLE, styles[0]); + DrawOptionMenuChoice(gText_BattleStyleSet, GetStringRightAlignXOffset(1, gText_BattleStyleSet, 198), YPOS_BATTLESTYLE, styles[1]); } static u8 Sound_ProcessInput(u8 selection) @@ -510,8 +517,8 @@ static void Sound_DrawChoices(u8 selection) styles[1] = 0; styles[selection] = 1; - DrawOptionMenuChoice(gText_SoundMono, 104, 48, styles[0]); - DrawOptionMenuChoice(gText_SoundStereo, GetStringRightAlignXOffset(1, gText_SoundStereo, 198), 48, styles[1]); + DrawOptionMenuChoice(gText_SoundMono, 104, YPOS_SOUND, styles[0]); + DrawOptionMenuChoice(gText_SoundStereo, GetStringRightAlignXOffset(1, gText_SoundStereo, 198), YPOS_SOUND, styles[1]); } static u8 FrameType_ProcessInput(u8 selection) @@ -568,8 +575,8 @@ static void FrameType_DrawChoices(u8 selection) text[i] = EOS; - DrawOptionMenuChoice(gText_FrameType, 104, 80, 0); - DrawOptionMenuChoice(text, 128, 80, 1); + DrawOptionMenuChoice(gText_FrameType, 104, YPOS_FRAMETYPE, 0); + DrawOptionMenuChoice(text, 128, YPOS_FRAMETYPE, 1); } static u8 ButtonMode_ProcessInput(u8 selection) @@ -605,7 +612,7 @@ static void ButtonMode_DrawChoices(u8 selection) styles[2] = 0; styles[selection] = 1; - DrawOptionMenuChoice(gText_ButtonTypeNormal, 104, 64, styles[0]); + DrawOptionMenuChoice(gText_ButtonTypeNormal, 104, YPOS_BUTTONMODE, styles[0]); widthNormal = GetStringWidth(1, gText_ButtonTypeNormal, 0); widthLR = GetStringWidth(1, gText_ButtonTypeLR, 0); @@ -613,9 +620,9 @@ static void ButtonMode_DrawChoices(u8 selection) widthLR -= 94; xLR = (widthNormal - widthLR - widthLA) / 2 + 104; - DrawOptionMenuChoice(gText_ButtonTypeLR, xLR, 64, styles[1]); + DrawOptionMenuChoice(gText_ButtonTypeLR, xLR, YPOS_BUTTONMODE, styles[1]); - DrawOptionMenuChoice(gText_ButtonTypeLEqualsA, GetStringRightAlignXOffset(1, gText_ButtonTypeLEqualsA, 198), 64, styles[2]); + DrawOptionMenuChoice(gText_ButtonTypeLEqualsA, GetStringRightAlignXOffset(1, gText_ButtonTypeLEqualsA, 198), YPOS_BUTTONMODE, styles[2]); } static void DrawTextOption(void) diff --git a/src/overworld.c b/src/overworld.c index 819f9ac4e0..e11dbbfda5 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -26,7 +26,7 @@ #include "link_rfu.h" #include "load_save.h" #include "main.h" -#include "alloc.h" +#include "malloc.h" #include "m4a.h" #include "map_name_popup.h" #include "match_call.h" @@ -64,6 +64,7 @@ #include "constants/region_map_sections.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/trainer_hill.h" #include "constants/weather.h" #define PLAYER_TRADING_STATE_IDLE 0x80 @@ -85,19 +86,19 @@ extern const u8 EventScript_WhiteOut[]; extern const u8 EventScript_ResetMrBriney[]; extern const u8 EventScript_DoLinkRoomExit[]; -extern const u8 gEventScript_TradeRoom_TooBusyToNotice[]; -extern const u8 gEventScript_TradeRoom_ReadTrainerCard_NoColor[]; -extern const u8 gEventScript_TradeRoom_ReadTrainerCard_Normal[]; -extern const u8 EventScript_DoubleBattleColosseum_PlayerSpot0[]; -extern const u8 EventScript_DoubleBattleColosseum_PlayerSpot1[]; -extern const u8 EventScript_DoubleBattleColosseum_PlayerSpot2[]; -extern const u8 EventScript_DoubleBattleColosseum_PlayerSpot3[]; +extern const u8 CableClub_EventScript_TooBusyToNotice[]; +extern const u8 CableClub_EventScript_ReadTrainerCard[]; +extern const u8 CableClub_EventScript_ReadTrainerCardColored[]; +extern const u8 EventScript_BattleColosseum_4P_PlayerSpot0[]; +extern const u8 EventScript_BattleColosseum_4P_PlayerSpot1[]; +extern const u8 EventScript_BattleColosseum_4P_PlayerSpot2[]; +extern const u8 EventScript_BattleColosseum_4P_PlayerSpot3[]; extern const u8 EventScript_RecordCenter_Spot0[]; extern const u8 EventScript_RecordCenter_Spot1[]; extern const u8 EventScript_RecordCenter_Spot2[]; extern const u8 EventScript_RecordCenter_Spot3[]; -extern const u8 EventScript_SingleBattleColosseum_PlayerSpot0[]; -extern const u8 EventScript_SingleBattleColosseum_PlayerSpot1[]; +extern const u8 EventScript_BattleColosseum_2P_PlayerSpot0[]; +extern const u8 EventScript_BattleColosseum_2P_PlayerSpot1[]; extern const u8 EventScript_TradeCenter_Chair1[]; extern const u8 EventScript_TradeCenter_Chair0[]; extern const u8 EventScript_ConfirmLeaveTradeRoom[]; @@ -431,11 +432,11 @@ static void Overworld_ResetStateAfterWhiteOut(void) FlagClear(FLAG_SYS_USE_STRENGTH); FlagClear(FLAG_SYS_USE_FLASH); // If you were defeated by Kyogre/Groudon and the step counter has - // maxed out, end the unusual weather. - if (VarGet(VAR_SHOULD_END_UNUSUAL_WEATHER) == 1) + // maxed out, end the abnormal weather. + if (VarGet(VAR_SHOULD_END_ABNORMAL_WEATHER) == 1) { - VarSet(VAR_SHOULD_END_UNUSUAL_WEATHER, 0); - VarSet(VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_NONE); + VarSet(VAR_SHOULD_END_ABNORMAL_WEATHER, 0); + VarSet(VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_NONE); } } @@ -851,10 +852,10 @@ static void mli0_load_map(u32 a1) LoadCurrentMapData(); if (!(sUnknown_020322D8 & 1)) { - if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE) + if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) LoadBattlePyramidEventObjectTemplates(); else if (InTrainerHill()) - sub_81D5DF8(); + LoadTrainerHillEventObjectTemplates(); else LoadEventObjTemplatesFromHeader(); } @@ -862,7 +863,7 @@ static void mli0_load_map(u32 a1) isOutdoors = IsMapTypeOutdoors(gMapHeader.mapType); isIndoors = IsMapTypeIndoors(gMapHeader.mapType); - sub_80EB218(); + CheckLeftFriendsSecretBase(); TrySetMapSaveWarpStatus(); ClearTempFieldEventData(); ResetCyclingRoadChallengeData(); @@ -879,7 +880,7 @@ static void mli0_load_map(u32 a1) RunOnTransitionMapScript(); UpdateLocationHistoryForRoamer(); RoamerMoveToOtherLocationSet(); - if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE) + if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) InitBattlePyramidMap(FALSE); else if (InTrainerHill()) InitTrainerHillMap(); @@ -977,7 +978,7 @@ static u16 GetCenterScreenMetatileBehavior(void) bool32 Overworld_IsBikingAllowed(void) { - if (!(gMapHeader.flags & 1)) + if (!(gMapHeader.flags & MAP_ALLOW_BIKE)) return FALSE; else return TRUE; @@ -1183,7 +1184,7 @@ void Overworld_ClearSavedMusic(void) static void sub_8085810(void) { - if (FlagGet(FLAG_SPECIAL_FLAG_0x4001) != TRUE) + if (FlagGet(FLAG_DONT_TRANSITION_MUSIC) != TRUE) { u16 newMusic = GetWarpDestinationMusic(); u16 currentMusic = GetCurrentMapMusic(); @@ -1231,7 +1232,7 @@ void TryFadeOutOldMapMusic(void) { u16 currentMusic = GetCurrentMapMusic(); u16 warpMusic = GetWarpDestinationMusic(); - if (FlagGet(FLAG_SPECIAL_FLAG_0x4001) != TRUE && warpMusic != GetCurrentMapMusic()) + if (FlagGet(FLAG_DONT_TRANSITION_MUSIC) != TRUE && warpMusic != GetCurrentMapMusic()) { if (currentMusic == MUS_NAMINORI && VarGet(VAR_SKY_PILLAR_STATE) == 2 @@ -1525,7 +1526,7 @@ static bool8 map_post_load_hook_exec(void) if (gFieldCallback) gFieldCallback(); else - mapldr_default(); + FieldCB_DefaultWarpExit(); gFieldCallback = NULL; } @@ -1564,7 +1565,7 @@ void CB2_WhiteOut(void) ResetInitialPlayerAvatarState(); ScriptContext1_Init(); ScriptContext2_Disable(); - gFieldCallback = sub_80AF3C8; + gFieldCallback = FieldCB_WarpExitFadeFromBlack; val = 0; do_load_map_stuff_loop(&val); SetFieldVBlankCallback(); @@ -1608,10 +1609,10 @@ void sub_8086024(void) } } -void sub_8086074(void) +void CB2_ReturnToFieldCableClub(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback = sub_80AF314; + gFieldCallback = FieldCB_ReturnToFieldWirelessLink; SetMainCallback2(c2_80567AC); } @@ -1662,9 +1663,9 @@ void CB2_ReturnToFieldFromMultiplayer(void) ResetAllMultiplayerState(); if (gWirelessCommType != 0) - gFieldCallback = sub_80AF314; + gFieldCallback = FieldCB_ReturnToFieldWirelessLink; else - gFieldCallback = sub_80AF214; + gFieldCallback = FieldCB_ReturnToFieldCableLink; ScriptContext1_Init(); ScriptContext2_Disable(); @@ -1674,36 +1675,36 @@ void CB2_ReturnToFieldFromMultiplayer(void) void CB2_ReturnToFieldWithOpenMenu(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback2 = sub_80AF6A4; + gFieldCallback2 = FieldCB_ReturnToFieldOpenStartMenu; CB2_ReturnToField(); } void CB2_ReturnToFieldContinueScript(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback = sub_80AF188; + gFieldCallback = FieldCB_ContinueScript; CB2_ReturnToField(); } void CB2_ReturnToFieldContinueScriptPlayMapMusic(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; CB2_ReturnToField(); } void sub_80861E8(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback = sub_80AF3C8; + gFieldCallback = FieldCB_WarpExitFadeFromBlack; CB2_ReturnToField(); } static void sub_8086204(void) { - if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE) + if (SHOW_MAP_NAME_ENABLED && SecretBaseMapPopupEnabled() == TRUE) ShowMapNamePopup(); - sub_80AF3C8(); + FieldCB_WarpExitFadeFromBlack(); } void CB2_ContinueSavedGame(void) @@ -1713,23 +1714,23 @@ void CB2_ContinueSavedGame(void) FieldClearVBlankHBlankCallbacks(); StopMapMusic(); ResetSafariZoneFlag_(); - if (gSaveFileStatus == 0xFF) - sub_81A3908(); + if (gSaveFileStatus == SAVE_STATUS_ERROR) + ResetWinStreaks(); LoadSaveblockMapHeader(); ClearDiveAndHoleWarps(); trainerHillMapId = GetCurrentTrainerHillMapId(); - if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE) + if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) LoadBattlePyramidFloorEventObjectScripts(); - else if (trainerHillMapId != 0 && trainerHillMapId != 6) - sub_81D5F48(); + else if (trainerHillMapId != 0 && trainerHillMapId != TRAINER_HILL_ENTRANCE) + LoadTrainerHillFloorEventObjectScripts(); else LoadSaveblockEventObjScripts(); UnfreezeEventObjects(); DoTimeBasedEvents(); sub_8084788(); - if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE) + if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) InitBattlePyramidMap(TRUE); else if (trainerHillMapId != 0) InitTrainerHillMap(); @@ -1759,7 +1760,7 @@ void CB2_ContinueSavedGame(void) static void FieldClearVBlankHBlankCallbacks(void) { - if (warp0_in_pokecenter() == TRUE) + if (UsedPokemonCenterWarp() == TRUE) CloseLink(); if (gWirelessCommType != 0) @@ -1947,7 +1948,7 @@ static bool32 load_map_stuff(u8 *state, u32 a2) (*state)++; break; case 11: - if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE) + if (SHOW_MAP_NAME_ENABLED && SecretBaseMapPopupEnabled() == TRUE) ShowMapNamePopup(); (*state)++; break; @@ -2435,7 +2436,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; @@ -2742,7 +2743,7 @@ static bool32 PlayerIsAtSouthExit(struct TradeRoomPlayer *player) return FALSE; else if (!MetatileBehavior_IsSouthArrowWarp(player->field_C)) return FALSE; - else if (player->facing != 1) + else if (player->facing != DIR_SOUTH) return FALSE; else return TRUE; @@ -2765,13 +2766,13 @@ static const u8 *TryInteractWithPlayer(struct TradeRoomPlayer *player) if (linkPlayerId != 4) { if (!player->isLocalPlayer) - return gEventScript_TradeRoom_TooBusyToNotice; + return CableClub_EventScript_TooBusyToNotice; else if (sPlayerTradingStates[linkPlayerId] != PLAYER_TRADING_STATE_IDLE) - return gEventScript_TradeRoom_TooBusyToNotice; + return CableClub_EventScript_TooBusyToNotice; else if (!GetLinkTrainerCardColor(linkPlayerId)) - return gEventScript_TradeRoom_ReadTrainerCard_NoColor; + return CableClub_EventScript_ReadTrainerCard; else - return gEventScript_TradeRoom_ReadTrainerCard_Normal; + return CableClub_EventScript_ReadTrainerCardColored; } return GetInteractedLinkPlayerScript(&otherPlayerPos, player->field_C, player->facing); @@ -2781,13 +2782,13 @@ static const u8 *TryInteractWithPlayer(struct TradeRoomPlayer *player) // these event scripts runs. static u16 GetDirectionForEventScript(const u8 *script) { - if (script == EventScript_DoubleBattleColosseum_PlayerSpot0) + if (script == EventScript_BattleColosseum_4P_PlayerSpot0) return FACING_FORCED_RIGHT; - else if (script == EventScript_DoubleBattleColosseum_PlayerSpot1) + else if (script == EventScript_BattleColosseum_4P_PlayerSpot1) return FACING_FORCED_LEFT; - else if (script == EventScript_DoubleBattleColosseum_PlayerSpot2) + else if (script == EventScript_BattleColosseum_4P_PlayerSpot2) return FACING_FORCED_RIGHT; - else if (script == EventScript_DoubleBattleColosseum_PlayerSpot3) + else if (script == EventScript_BattleColosseum_4P_PlayerSpot3) return FACING_FORCED_LEFT; else if (script == EventScript_RecordCenter_Spot0) return FACING_FORCED_RIGHT; @@ -2797,9 +2798,9 @@ static u16 GetDirectionForEventScript(const u8 *script) return FACING_FORCED_RIGHT; else if (script == EventScript_RecordCenter_Spot3) return FACING_FORCED_LEFT; - else if (script == EventScript_SingleBattleColosseum_PlayerSpot0) + else if (script == EventScript_BattleColosseum_2P_PlayerSpot0) return FACING_FORCED_RIGHT; - else if (script == EventScript_SingleBattleColosseum_PlayerSpot1) + else if (script == EventScript_BattleColosseum_2P_PlayerSpot1) return FACING_FORCED_LEFT; else if (script == EventScript_TradeCenter_Chair0) return FACING_FORCED_RIGHT; @@ -3026,7 +3027,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/party_menu.c b/src/party_menu.c index f4b749bde7..bc4cf8c0bc 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle.h" #include "battle_anim.h" #include "battle_controllers.h" @@ -72,11 +72,26 @@ #include "constants/items.h" #include "constants/maps.h" #include "constants/moves.h" +#include "constants/party_menu.h" #include "constants/rgb.h" #include "constants/songs.h" #include "constants/species.h" #include "constants/vars.h" +#define PARTY_PAL_SELECTED (1 << 0) +#define PARTY_PAL_FAINTED (1 << 1) +#define PARTY_PAL_TO_SWITCH (1 << 2) +#define PARTY_PAL_MULTI_ALT (1 << 3) +#define PARTY_PAL_SWITCHING (1 << 4) +#define PARTY_PAL_TO_SOFTBOIL (1 << 5) +#define PARTY_PAL_NO_MON (1 << 6) +#define PARTY_PAL_UNUSED (1 << 7) + +#define MENU_DIR_DOWN 1 +#define MENU_DIR_UP -1 +#define MENU_DIR_RIGHT 2 +#define MENU_DIR_LEFT -2 + enum { CAN_LEARN_MOVE, @@ -85,28 +100,28 @@ enum CANNOT_LEARN_MOVE_IS_EGG }; -struct Unk_Rodata1 +struct PartyMenuBoxInfoRects { - void (*unk0)(u8, u8, u8, u8, u8, u8); - u8 unk4[24]; - u8 unk1C; - u8 unk1D; - u8 unk1E; - u8 unk1F; + void (*blitFunc)(u8, u8, u8, u8, u8, u8); + u8 dimensions[24]; + u8 descTextLeft; + u8 descTextTop; + u8 descTextWidth; + u8 descTextHeight; }; -struct Struct203CEC4 +struct PartyMenuInternal { TaskFunc task; MainCallback exitCallback; - u32 unk8_0:1; - u32 unk8_1:3; - u32 unk8_2:7; - u32 unk9_0:7; + u32 chooseHalf:1; + u32 lastSelectedSlot:3; // Used to return to same slot when going left/right bewtween columns + u32 spriteIdConfirmPokeball:7; + u32 spriteIdCancelPokeball:7; u32 messageId:14; u8 windowId[3]; u8 actions[8]; - u8 listSize; + u8 numActions; // In vanilla Emerald, only the first 0xB0 hwords (0x160 bytes) are actually used. // However, a full 0x100 hwords (0x200 bytes) are allocated. // It is likely that the 0x160 value used below is a constant defined by @@ -115,10 +130,10 @@ struct Struct203CEC4 s16 data[16]; }; -struct Struct203CEDC +struct PartyMenuBox { - const struct Unk_Rodata1 *unk0; - const u8 *unk4; + const struct PartyMenuBoxInfoRects *infoRects; + const u8 *spriteCoords; u8 windowId; u8 monSpriteId; u8 itemSpriteId; @@ -127,268 +142,267 @@ struct Struct203CEDC }; // EWRAM vars -static EWRAM_DATA struct Struct203CEC4 *gUnknown_0203CEC4 = NULL; -EWRAM_DATA struct Struct203CEC8 gUnknown_0203CEC8 = {0}; -static EWRAM_DATA struct Struct203CEDC *gUnknown_0203CEDC = NULL; -static EWRAM_DATA u8 *gUnknown_0203CEE0 = NULL; -static EWRAM_DATA u8 *gUnknown_0203CEE4 = NULL; -EWRAM_DATA u8 gUnknown_0203CEE8 = 0; -EWRAM_DATA u8 gUnknown_0203CEE9 = 0; +static EWRAM_DATA struct PartyMenuInternal *sPartyMenuInternal = NULL; +EWRAM_DATA struct PartyMenu gPartyMenu = {0}; +static EWRAM_DATA struct PartyMenuBox *sPartyMenuBoxes = NULL; +static EWRAM_DATA u8 *sPartyBgGfxTilemap = NULL; +static EWRAM_DATA u8 *sPartyBgTilemapBuffer = NULL; +EWRAM_DATA bool8 gPartyMenuUseExitCallback = 0; +EWRAM_DATA u8 gSelectedMonPartyId = 0; EWRAM_DATA MainCallback gPostMenuFieldCallback = NULL; -static EWRAM_DATA u16 *gUnknown_0203CEF0 = 0; -static EWRAM_DATA u16 *gUnknown_0203CEF4 = 0; +static EWRAM_DATA u16 *sSlot1TilemapBuffer = 0; // for switching party slots +static EWRAM_DATA u16 *sSlot2TilemapBuffer = 0; // EWRAM_DATA u8 gSelectedOrderFromParty[4] = {0}; -static EWRAM_DATA u16 gUnknown_0203CEFC = 0; -static EWRAM_DATA u16 gUnknown_0203CEFE = 0; // unused -EWRAM_DATA u8 gUnknown_0203CF00[3] = {0}; +static EWRAM_DATA u16 sPartyMenuItemId = 0; +static EWRAM_DATA u16 sUnused_0203CEFE = 0; +EWRAM_DATA u8 gBattlePartyCurrentOrder[PARTY_SIZE / 2] = {0}; // bits 0-3 are the current pos of Slot 1, 4-7 are Slot 2, and so on // IWRAM common -void (*gUnknown_03006328)(u8, TaskFunc); +void (*gItemUseCB)(u8, TaskFunc); -static void reset_brm(void); -static void PartyMenuInitCallback(void); -static bool8 PartyMenuSetup(void); -static void sub_81B209C(void); -static void PartyMenuExit(void); +static void ResetPartyMenu(void); +static void CB2_InitPartyMenu(void); +static bool8 ShowPartyMenu(void); +static void SetPartyMonsAllowedInMinigame(void); +static void ExitPartyMenu(void); static bool8 AllocPartyMenuBg(void); -static bool8 AllocPartyMiscGfx(void); -static void sub_81B239C(u8); -static void PartyMenuInitHelperStructs(u8); +static bool8 AllocPartyMenuBgGfx(void); +static void InitPartyMenuWindows(u8); +static void InitPartyMenuBoxes(u8); static void LoadPartyMenuPokeballGfx(void); static void LoadPartyMenuAilmentGfx(void); -static bool8 party_menu_add_per_mon_objects(void); +static bool8 CreatePartyMonSpritesLoop(void); static bool8 RenderPartyMenuBoxes(void); -static void sub_81B0F28(void); -static void sub_81B2428(u8); -static void PartyMenuExitTask(u8); +static void CreateCancelConfirmPokeballSprites(void); +static void CreateCancelConfirmWindows(u8); +static void Task_ExitPartyMenu(u8); static void FreePartyPointers(void); static void PartyPaletteBufferCopy(u8); -static void sub_81B0CEC(u8); -static void UpdateSelectedPartyBox(struct Struct203CEDC *, u8); +static void DisplayPartyPokemonDataForMultiBattle(u8); +static void LoadPartyBoxPalette(struct PartyMenuBox *, u8); static void DrawEmptySlot(u8 windowId); -static void DisplayPartyPokemonSelectForRelearner(u8); -static void DisplayPartyPokemonSelectForContest(u8); -static void DisplayPartyPokemonSelectForBattle(u8); -static void sub_81B0B98(u8); -static void DisplayPartyPokemonSelectHeldItemRelated(u8); -static bool8 sub_81B0BFC(u8); +static void DisplayPartyPokemonDataForRelearner(u8); +static void DisplayPartyPokemonDataForContest(u8); +static void DisplayPartyPokemonDataForChooseHalf(u8); +static void DisplayPartyPokemonDataForWirelessMinigame(u8); +static void DisplayPartyPokemonDataForBattlePyramidHeldItem(u8); +static bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8); static void DisplayPartyPokemonData(u8); -static void DisplayPartyPokemonNickname(struct Pokemon *, struct Struct203CEDC *, u8); -static void DisplayPartyPokemonLevelCheck(struct Pokemon *, struct Struct203CEDC *, u8); -static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *, struct Struct203CEDC *, u8); -static void DisplayPartyPokemonHPCheck(struct Pokemon *, struct Struct203CEDC *, u8); -static void DisplayPartyPokemonMaxHPCheck(struct Pokemon *, struct Struct203CEDC *, u8); -static void DisplayPartyPokemonHPBarCheck(struct Pokemon *, struct Struct203CEDC *); -static void DisplayPartyPokemonOtherText(u8, struct Struct203CEDC *, u8); -static u8 sub_81B8830(void); -static bool8 GetBattleEntryEligibility(struct Pokemon *); -static bool8 sub_81B218C(u8); -static void DisplayPartyPokemonSelectToTeachMove(u8, u16, u8); +static void DisplayPartyPokemonNickname(struct Pokemon *, struct PartyMenuBox *, u8); +static void DisplayPartyPokemonLevelCheck(struct Pokemon *, struct PartyMenuBox *, u8); +static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *, struct PartyMenuBox *, u8); +static void DisplayPartyPokemonHPCheck(struct Pokemon *, struct PartyMenuBox *, u8); +static void DisplayPartyPokemonMaxHPCheck(struct Pokemon *, struct PartyMenuBox *, u8); +static void DisplayPartyPokemonHPBarCheck(struct Pokemon *, struct PartyMenuBox *); +static void DisplayPartyPokemonDescriptionText(u8, struct PartyMenuBox *, u8); +static bool8 IsMonAllowedInMinigame(u8); +static void DisplayPartyPokemonDataToTeachMove(u8, u16, u8); static u8 CanMonLearnTMTutor(struct Pokemon *, u16, u8); static void DisplayPartyPokemonBarDetail(u8, const u8*, u8, const u8*); -static void DisplayPartyPokemonLevel(u8, struct Struct203CEDC *); -static void DisplayPartyPokemonGender(u8, u16, u8*, struct Struct203CEDC *); -static void DisplayPartyPokemonHP(u16, struct Struct203CEDC *); -static void DisplayPartyPokemonMaxHP(u16, struct Struct203CEDC *); -static void DisplayPartyPokemonHPBar(u16, u16, struct Struct203CEDC *); -static void party_menu_link_mon_icon_anim(u16, u32, struct Struct203CEDC *, u8, u32); -static void party_menu_link_mon_held_item_object(u16, u16, struct Struct203CEDC *); -static void party_menu_link_mon_pokeball_object(u16, struct Struct203CEDC *); -static void party_menu_link_mon_status_condition_object(u16, u8, struct Struct203CEDC *); -static void party_menu_held_item_object(struct Pokemon *, struct Struct203CEDC *); -static void party_menu_pokeball_object(struct Pokemon *, struct Struct203CEDC *); -static void party_menu_icon_anim(struct Pokemon *, struct Struct203CEDC *, u32); -static void party_menu_status_condition_object(struct Pokemon *, struct Struct203CEDC *); -static u8 sub_81B5F74(u8, u8); -static void sub_81B120C(void); -static u8 sub_81B5F34(u8, u8); +static void DisplayPartyPokemonLevel(u8, struct PartyMenuBox *); +static void DisplayPartyPokemonGender(u8, u16, u8*, struct PartyMenuBox *); +static void DisplayPartyPokemonHP(u16, struct PartyMenuBox *); +static void DisplayPartyPokemonMaxHP(u16, struct PartyMenuBox *); +static void DisplayPartyPokemonHPBar(u16, u16, struct PartyMenuBox *); +static void CreatePartyMonIconSpriteParameterized(u16, u32, struct PartyMenuBox *, u8, u32); +static void CreatePartyMonHeldItemSpriteParameterized(u16, u16, struct PartyMenuBox *); +static void CreatePartyMonPokeballSpriteParameterized(u16, struct PartyMenuBox *); +static void CreatePartyMonStatusSpriteParameterized(u16, u8, struct PartyMenuBox *); +// These next 4 functions are essentially redundant with the above 4 +// The only difference is that rather than receive the data directly they retrieve it from the mon struct +static void CreatePartyMonHeldItemSprite(struct Pokemon *, struct PartyMenuBox *); +static void CreatePartyMonPokeballSprite(struct Pokemon *, struct PartyMenuBox *); +static void CreatePartyMonIconSprite(struct Pokemon *, struct PartyMenuBox *, u32); +static void CreatePartyMonStatusSprite(struct Pokemon *, struct PartyMenuBox *); +static u8 CreateSmallPokeballButtonSprite(u8, u8); +static void DrawCancelConfirmButtons(void); +static u8 CreatePokeballButtonSprite(u8, u8); static void AnimateSelectedPartyIcon(u8, u8); -static void sub_81B5F98(u8, u8); -static u8 GetPartyBoxPalBitfield(u8, u8); +static void PartyMenuStartSpriteAnim(u8, u8); +static u8 GetPartyBoxPaletteFlags(u8, u8); static bool8 PartyBoxPal_ParnterOrDisqualifiedInArena(u8); -static u8 sub_81B8F38(u8); -static void c3_0811FAB4(u8); -static void sub_81B9080(void); -static void sub_81B4F88(void); -static void sub_81B15D0(u8, s8*); -static void sub_81B140C(u8, s8*); +static u8 GetPartyIdFromBattleSlot(u8); +static void Task_ClosePartyMenuAndSetCB2(u8); +static void UpdatePartyToFieldOrder(void); +static void MoveCursorToConfirm(void); +static void HandleChooseMonCancel(u8, s8*); +static void HandleChooseMonSelection(u8, s8*); static u16 PartyMenuButtonHandler(s8*); -static s8* sub_81B13EC(void); -static bool8 sub_81B15A4(u8*); -static void sub_81B302C(u8*); -static void sub_81B9140(void); -static void sub_81B6794(u8); -static void sub_81B7E4C(u8); -static void sub_81B8474(u8); -static void sub_81B7FAC(u8); -static void sub_81B3938(u8); -static void sub_81B21AC(u8, u8); -static void sub_81B36FC(u8); -static void sub_81B407C(u8); -static void sub_81B2210(u8); -static bool8 sub_81B1660(u8); -static const u8* sub_81B88BC(void); -static void sub_81B16D4(u8); -static void sub_81B334C(void); -static void sub_81B1708(u8); -static void sub_81B1C1C(u8); +static s8* GetCurrentPartySlotPtr(void); +static bool8 IsSelectedMonNotEgg(u8*); +static void PartyMenuRemoveWindow(u8*); +static void CB2_SetUpExitToBattleScreen(void); +static void Task_ClosePartyMenuAfterText(u8); +static void TryTutorSelectedMon(u8); +static void TryGiveMailToSelectedMon(u8); +static void TryGiveItemOrMailToSelectedMon(u8); +static void SwitchSelectedMons(u8); +static void TryEnterMonForMinigame(u8, u8); +static void Task_TryCreateSelectionWindow(u8); +static void FinishTwoMonAction(u8); +static void CancelParticipationPrompt(u8); +static bool8 DisplayCancelChooseMonYesNo(u8); +static const u8* GetFacilityCancelString(void); +static void Task_CancelChooseMonYesNo(u8); +static void PartyMenuDisplayYesNoMenu(void); +static void Task_HandleCancelChooseMonYesNoInput(u8); +static void Task_ReturnToChooseMonAfterText(u8); static void UpdateCurrentPartySelection(s8*, s8); -static void SetNewPartySelectTarget1(s8*, s8); -static void SetNewPartySelectTarget2(s8*, s8); -static s8 sub_81B1B00(s8, s8); -static void sub_81B3300(const u8*); -static void sub_81B1B8C(u8); -static void DisplayPartyPokemonHPCheck(struct Pokemon*, struct Struct203CEDC*, u8); -static void DisplayPartyPokemonHPBarCheck(struct Pokemon*, struct Struct203CEDC*); -static bool16 sub_81B2134(struct Pokemon*); -static bool16 sub_81B2164(struct Pokemon*); -static void sub_81B2248(u8); -static void sub_81B227C(u8); +static void UpdatePartySelectionSingleLayout(s8*, s8); +static void UpdatePartySelectionDoubleLayout(s8*, s8); +static s8 GetNewSlotDoubleLayout(s8, s8); +static void PartyMenuPrintText(const u8*); +static void Task_PrintAndWaitForText(u8); +static bool16 IsMonAllowedInPokemonJump(struct Pokemon*); +static bool16 IsMonAllowedInDodrioBerryPicking(struct Pokemon*); +static void Task_CancelParticipationYesNo(u8); +static void Task_HandleCancelParticipationYesNoInput(u8); static bool8 CanLearnTutorMove(u16, u8); static u16 GetTutorMove(u8); -static bool8 sub_81B314C(void); -static void CreateActionList(struct Pokemon*, u8); -static u8 sub_81B8A2C(struct Pokemon*); -static u8 sub_81B856C(s8); -static void sub_81B469C(u8); -static void HandleMenuInput(u8); -static void sub_81B3828(void); -static void pokemon_change_order(void); -static void sub_81B3894(void); -static void sub_81B3CC0(u8); -static void sub_81B3D48(u8); -static void swap_pokemon_and_oams(void); -static void sub_81B3E60(u8); -static void sub_81B41C4(void); -static void c2_8123744(void); -static void sub_81B452C(void); -static void sub_81B4350(u8); -static void sub_81B42D0(u8); -static void sub_81B43A8(u8); -static void sub_81B43DC(u8); -static void sub_81B44FC(u8); -static void sub_81B4578(void); -static void sub_81B4624(u8); -static void sub_81B5C94(struct Pokemon*, struct Struct203CEDC*); -static void sub_81B48A8(u8); -static void sub_81B48DC(u8); -static void sub_81B4988(u8); -static void sub_81B4A98(void); -static void sub_81B4AE0(void); -static void sub_81B4B6C(u8); -static void sub_81B4BA0(u8); -static void sub_81B4C60(u8); -static void sub_81B4C94(u8); -static bool8 sub_81B8A7C(void); -static void sub_81B53FC(u8); -static void sub_81B5430(u8); -static void task_brm_cancel_1_on_keypad_a_or_b(u8); -static void sub_81B5674(u8); -static void sub_81B57DC(void); -static void sub_81B5864(void); -static void sub_81B56A4(u8); -static void sub_81B56D8(u8); -static void task_launch_hm_phase_2(u8); -static u16 brm_get_selected_species(void); -static void sub_81B5B38(u8, struct Pokemon*); -static void UpdatePartyMonIconFrame(struct Sprite*); -static void UpdatePartyMonIconFrameAndBounce(struct Sprite*); -static void sub_81B5CB0(u16, struct Struct203CEDC*); -static void sub_81B5DF0(u8, u8); +static bool8 ShouldUseChooseMonText(void); +static void SetPartyMonFieldSelectionActions(struct Pokemon*, u8); +static u8 GetPartyMenuActionsTypeInBattle(struct Pokemon*); +static u8 GetPartySlotEntryStatus(s8); +static void Task_UpdateHeldItemSprite(u8); +static void Task_HandleSelectionMenuInput(u8); +static void CB2_ShowPokemonSummaryScreen(void); +static void UpdatePartyToBattleOrder(void); +static void CB2_ReturnToPartyMenuFromSummaryScreen(void); +static void SlidePartyMenuBoxOneStep(u8); +static void Task_SlideSelectedSlotsOffscreen(u8); +static void SwitchPartyMon(void); +static void Task_SlideSelectedSlotsOnscreen(u8); +static void CB2_SelectBagItemToGive(void); +static void CB2_GiveHoldItem(void); +static void CB2_WriteMailToGiveMon(void); +static void Task_SwitchHoldItemsPrompt(u8); +static void Task_GiveHoldItem(u8); +static void Task_SwitchItemsYesNo(u8); +static void Task_HandleSwitchItemsYesNoInput(u8); +static void Task_WriteMailToGiveMonAfterText(u8); +static void CB2_ReturnToPartyMenuFromWritingMail(void); +static void Task_DisplayGaveMailFromPartyMessage(u8); +static void UpdatePartyMonHeldItemSprite(struct Pokemon*, struct PartyMenuBox*); +static void Task_TossHeldItemYesNo(u8 taskId); +static void Task_HandleTossHeldItemYesNoInput(u8); +static void Task_TossHeldItem(u8); +static void CB2_ReadHeldMail(void); +static void CB2_ReturnToPartyMenuFromReadingMail(void); +static void Task_SendMailToPCYesNo(u8); +static void Task_HandleSendMailToPCYesNoInput(u8); +static void Task_LoseMailMessageYesNo(u8); +static void Task_HandleLoseMailMessageYesNoInput(u8); +static bool8 TrySwitchInPokemon(void); +static void Task_SpinTradeYesNo(u8); +static void Task_HandleSpinTradeYesNoInput(u8); +static void Task_CancelAfterAorBPress(u8); +static void DisplayFieldMoveExitAreaMessage(u8); +static void DisplayCantUseFlashMessage(void); +static void DisplayCantUseSurfMessage(void); +static void Task_FieldMoveExitAreaYesNo(u8); +static void Task_HandleFieldMoveExitAreaYesNoInput(u8); +static void Task_FieldMoveWaitForFade(u8); +static u16 GetFieldMoveMonSpecies(void); +static void UpdatePartyMonHPBar(u8, struct Pokemon*); +static void SpriteCB_UpdatePartyMonIcon(struct Sprite*); +static void SpriteCB_BouncePartyMonIcon(struct Sprite*); +static void ShowOrHideHeldItemSprite(u16, struct PartyMenuBox*); +static void CreateHeldItemSpriteForTrade(u8, bool8); static void SpriteCB_HeldItem(struct Sprite*); -static void party_menu_get_status_condition_and_update_object(struct Pokemon*, struct Struct203CEDC*); -static void party_menu_update_status_condition_object(u8, struct Struct203CEDC*); -static u8 sub_81B8984(void); -static void sub_81B6280(u8); -static void c2_815ABFC(void); -static void sub_81B672C(u8); +static void SetPartyMonAilmentGfx(struct Pokemon*, struct PartyMenuBox*); +static void UpdatePartyMonAilmentGfx(u8, struct PartyMenuBox*); +static u8 GetPartyLayoutFromBattleType(void); +static void Task_SetSacredAshCB(u8); +static void CB2_ReturnToBagMenu(void); +static void Task_DisplayHPRestoredMessage(u8); static u16 ItemEffectToMonEv(struct Pokemon*, u8); static void ItemEffectToStatString(u8, u8*); -static void sub_81B6BB4(u8); -static void ether_effect_related_2(u8); -static void ether_effect_related(u8); -static void sub_81B6EB4(u8); -static void sub_81B6FF4(u8); -static void sub_81B6F60(u8); -static void sub_81B6F98(u8); -static void sub_81B77AC(u8); -static void sub_81B7028(u8); -static void sub_81B7088(u8); -static void sub_81B7230(u8); -static void sub_81B70B8(void); -static void sub_81B70F0(void); -static void sub_81B711C(u8); -static void sub_81B7154(u8); -static void sub_81B71D4(u8); -static void sub_81B7294(u8); -static void sub_81B72C8(u8); -static void sub_81B73E4(u8); -static void sub_81B79A0(struct Pokemon*, s16*); -static void sub_81B754C(u8, struct Pokemon*); -static void sub_81B75D4(u8); -static void sub_81B767C(u8); -static void sub_81B7634(u8); -static void sub_81B76C8(u8); -static void sub_81B7704(u8); -static void sub_81B7810(u8); -static void sub_81B787C(u8); -static void sub_81B7910(u8, u16); -static void sub_81B7A28(u8); -static void task_sacred_ash_party_loop(u8); -static void sub_81B7C10(u8); -static void sub_81B8044(u8); -static void sub_81B83B8(u8); -static void sub_81B82A0(u8); -static void sub_81B83F0(u16); -static void sub_81B814C(void); -static void sub_81B8088(u8); -static void sub_81B8104(u8); -static void sub_81B81A8(void); -static bool8 sub_81B841C(u16); -static void sub_81B8230(u8); -static void sub_81B82D4(u8); -static void sub_81B879C(u8); +static void ReturnToUseOnWhichMon(u8); +static void SetSelectedMoveForPPItem(u8); +static void TryUsePPItem(u8); +static void Task_LearnedMove(u8); +static void Task_ReplaceMoveYesNo(u8); +static void Task_DoLearnedMoveFanfareAfterText(u8); +static void Task_LearnNextMoveOrClosePartyMenu(u8); +static void Task_TryLearningNextMove(u8); +static void Task_HandleReplaceMoveYesNoInput(u8); +static void Task_ShowSummaryScreenToForgetMove(u8); +static void StopLearningMovePrompt(u8); +static void CB2_ShowSummaryScreenToForgetMove(void); +static void CB2_ReturnToPartyMenuWhileLearningMove(void); +static void Task_ReturnToPartyMenuWhileLearningMove(u8); +static void DisplayPartyMenuForgotMoveMessage(u8); +static void Task_PartyMenuReplaceMove(u8); +static void Task_StopLearningMoveYesNo(u8); +static void Task_HandleStopLearningMoveYesNoInput(u8); +static void Task_TryLearningNextMoveAfterText(u8); +static void BufferMonStatsToTaskData(struct Pokemon*, s16*); +static void UpdateMonDisplayInfoAfterRareCandy(u8, struct Pokemon*); +static void Task_DisplayLevelUpStatsPg1(u8); +static void DisplayLevelUpStatsPg1(u8); +static void Task_DisplayLevelUpStatsPg2(u8); +static void DisplayLevelUpStatsPg2(u8); +static void Task_TryLearnNewMoves(u8); +static void PartyMenuTryEvolution(u8); +static void DisplayMonNeedsToReplaceMove(u8); +static void DisplayMonLearnedMove(u8, u16); +static void UseSacredAsh(u8); +static void Task_SacredAshLoop(u8); +static void Task_SacredAshDisplayHPRestored(u8); +static void GiveItemOrMailToSelectedMon(u8); +static void DisplayItemMustBeRemovedFirstMessage(u8); +static void Task_SwitchItemsFromBagYesNo(u8); +static void RemoveItemToGiveFromBag(u16); +static void CB2_WriteMailToGiveMonFromBag(void); +static void GiveItemToSelectedMon(u8); +static void Task_UpdateHeldItemSpriteAndClosePartyMenu(u8); +static void CB2_ReturnToPartyOrBagMenuFromWritingMail(void); +static bool8 ReturnGiveItemToBagOrPC(u16); +static void Task_DisplayGaveMailFromBagMessage(u8); +static void Task_HandleSwitchItemsFromBagYesNoInput(u8); +static void Task_ValidateChosenHalfParty(u8); static bool8 GetBattleEntryEligibility(struct Pokemon*); -static bool8 sub_81B8770(u8); -static u8 sub_81B8888(void); -static u8 sub_81B885C(void); -static void sub_81B87E8(u8); -static void sub_81B8C88(u8*, bool8); -static void sub_81B8D88(u8*, u8, u8); -static void sub_81B917C(u8); -static void sub_81B91B4(u8); -static void sub_81B9294(u8); -static void sub_81B9240(u8); -static void sub_81B9390(void); -static void task_hm_without_phase_2(u8); -static void sub_81B9424(u8); -static void sub_81B9470(void); -static void sub_81B94D0(u8); -static void sub_81B953C(u8); -static void sub_81B9588(void); -static void sub_81B9640(u8); -static void sub_81B97DC(struct Pokemon*, u8, u8); -static void BlitBitmapToPartyWindow_Default1(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 f); -static void BlitBitmapToPartyWindow_Default2(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 f); -static void CursorCb_Summary(u8 taskId); -static void CursorCb_Switch(u8 taskId); -static void CursorCb_Cancel1(u8 taskId); -static void CursorCb_Item(u8 taskId); -static void CursorCb_Give(u8 taskId); -static void CursorCb_TakeItem(u8 taskId); -static void CursorCb_Mail(u8 taskId); -static void CursorCb_Read(u8 taskId); -static void CursorCb_TakeMail(u8 taskId); -static void CursorCb_Cancel2(u8 taskId); -static void CursorCb_SendMon(u8 taskId); -static void CursorCb_Enter(u8 taskId); -static void CursorCb_NoEntry(u8 taskId); -static void CursorCb_Store(u8 taskId); -static void CursorCb_Register(u8 taskId); -static void CursorCb_Trade1(u8 taskId); -static void CursorCb_Trade2(u8 taskId); -static void CursorCb_Toss(u8 taskId); -static void CursorCb_FieldMove(u8 taskId); +static bool8 HasPartySlotAlreadyBeenSelected(u8); +static u8 GetBattleEntryLevelCap(void); +static u8 GetMaxBattleEntries(void); +static u8 GetMinBattleEntries(void); +static void Task_ContinueChoosingHalfParty(u8); +static void BufferBattlePartyOrder(u8*, bool8); +static void BufferBattlePartyOrderBySide(u8*, u8, u8); +static void Task_InitMultiPartnerPartySlideIn(u8); +static void Task_MultiPartnerPartySlideIn(u8); +static void SlideMultiPartyMenuBoxSpritesOneStep(u8); +static void Task_WaitAfterMultiPartnerPartySlideIn(u8); +static void BufferMonSelection(void); +static void Task_PartyMenuWaitForFade(u8 taskId); +static void Task_ChooseContestMon(u8 taskId); +static void CB2_ChooseContestMon(void); +static void Task_ChoosePartyMon(u8 taskId); +static void Task_ChooseMonForMoveRelearner(u8); +static void CB2_ChooseMonForMoveRelearner(void); +static void Task_BattlePyramidChooseMonHeldItems(u8); +static void ShiftMoveSlot(struct Pokemon*, u8, u8); +static void BlitBitmapToPartyWindow_LeftColumn(u8, u8, u8, u8, u8, u8); +static void BlitBitmapToPartyWindow_RightColumn(u8, u8, u8, u8, u8, u8); +static void CursorCb_Summary(u8); +static void CursorCb_Switch(u8); +static void CursorCb_Cancel1(u8); +static void CursorCb_Item(u8); +static void CursorCb_Give(u8); +static void CursorCb_TakeItem(u8); +static void CursorCb_Mail(u8); +static void CursorCb_Read(u8); +static void CursorCb_TakeMail(u8); +static void CursorCb_Cancel2(u8); +static void CursorCb_SendMon(u8); +static void CursorCb_Enter(u8); +static void CursorCb_NoEntry(u8); +static void CursorCb_Store(u8); +static void CursorCb_Register(u8); +static void CursorCb_Trade1(u8); +static void CursorCb_Trade2(u8); +static void CursorCb_Toss(u8); +static void CursorCb_FieldMove(u8); static bool8 SetUpFieldMove_Surf(void); static bool8 SetUpFieldMove_Fly(void); static bool8 SetUpFieldMove_Waterfall(void); @@ -396,1234 +410,56 @@ static bool8 SetUpFieldMove_Dive(void); // static const data #include "data/pokemon/tutor_learnsets.h" - -static const struct BgTemplate gUnknown_086156B8[] = -{ - { - .bg = 0, - .charBaseIndex = 0, - .mapBaseIndex = 31, - .screenSize = 0, - .paletteMode = 0, - .priority = 1, - .baseTile = 0 - }, - { - .bg = 1, - .charBaseIndex = 0, - .mapBaseIndex = 30, - .screenSize = 0, - .paletteMode = 0, - .priority = 2, - .baseTile = 0 - }, - { - .bg = 2, - .charBaseIndex = 0, - .mapBaseIndex = 28, - .screenSize = 1, - .paletteMode = 0, - .priority = 0, - .baseTile = 0 - }, -}; - -static const struct Unk_Rodata1 gUnknown_086156C4[] = -{ - {BlitBitmapToPartyWindow_Default1, {0x18, 0xB, 0x28, 0xD, 0x20, 0x14, 0x20, 8, 0x40, 0x14, 8, 8, 0x26, 0x25, 0x18, 8, 0x35, 0x25, 0x18, 8, 0x18, 0x23, 0x30, 3}, 0xC, 0x22, 0x40, 0x10}, - {BlitBitmapToPartyWindow_Default2, {0x16, 3, 0x28, 0xD, 0x1E, 0xC, 0x20, 8, 0x3E, 0xC, 8, 8, 0x66, 0xC, 0x18, 8, 0x75, 0xC, 0x18, 8, 0x58, 0xA, 0x30, 3}, 0x4D, 4, 0x40, 0x10}, -}; - -static const u8 gUnknown_08615704[][6][8] = -{ - { - {16, 40, 20, 50, 50, 52, 16, 34}, - {104, 18, 108, 28, 136, 27, 102, 25}, - {104, 42, 108, 52, 136, 51, 102, 49}, - {104, 66, 108, 76, 136, 75, 102, 73}, - {104, 90, 108, 100, 136, 99, 102, 97}, - {104, 114, 108, 124, 136, 123, 102, 121}, - }, - { - {16, 24, 20, 34, 50, 36, 16, 18}, - {16, 80, 20, 90, 50, 92, 16, 74}, - {104, 18, 108, 28, 136, 27, 102, 25}, - {104, 50, 108, 60, 136, 59, 102, 57}, - {104, 82, 108, 92, 136, 91, 102, 89}, - {104, 114, 108, 124, 136, 123, 102, 121}, - }, - { - {16, 24, 20, 34, 50, 36, 16, 18}, - {16, 80, 20, 90, 50, 92, 16, 74}, - {104, 26, 106, 36, 136, 35, 102, 33}, - {104, 50, 106, 60, 136, 59, 102, 57}, - {104, 82, 106, 92, 136, 91, 102, 89}, - {104, 106, 106, 116, 136, 115, 102, 113}, - }, - { - {16, 32, 20, 42, 50, 44, 16, 26}, - {104, 34, 106, 44, 136, 43, 102, 41}, - {104, 58, 106, 68, 136, 67, 102, 65}, - {16, 104, 20, 114, 50, 116, 16, 98}, - {104, 106, 106, 116, 136, 115, 102, 113}, - {104, 130, 106, 140, 136, 139, 102, 137}, - }, -}; - -static const u32 gUnknown_086157C4[] = INCBIN_U32("graphics/interface/unknown_6157C4.bin"); -static const u32 gUnknown_086157E0[] = INCBIN_U32("graphics/interface/unknown_6157E0.bin"); - -static const u8 sFontColorTable[][3] = -{ - {0, 3, 2}, - {0, 1, 6}, - {0, 11, 12}, - {1, 2, 3}, - {1, 8, 9}, - {0, 1, 2}, -}; - -static const struct WindowTemplate gUnknown_08615810[] = -{ - { - .bg = 0, - .tilemapLeft = 1, - .tilemapTop = 3, - .width = 10, - .height = 7, - .paletteNum = 3, - .baseBlock = 0x63, - }, - { - .bg = 0, - .tilemapLeft = 12, - .tilemapTop = 1, - .width = 18, - .height = 3, - .paletteNum = 4, - .baseBlock = 0xA9, - }, - { - .bg = 0, - .tilemapLeft = 12, - .tilemapTop = 4, - .width = 18, - .height = 3, - .paletteNum = 5, - .baseBlock = 0xDF, - }, - { - .bg = 0, - .tilemapLeft = 12, - .tilemapTop = 7, - .width = 18, - .height = 3, - .paletteNum = 6, - .baseBlock = 0x115, - }, - { - .bg = 0, - .tilemapLeft = 12, - .tilemapTop = 10, - .width = 18, - .height = 3, - .paletteNum = 7, - .baseBlock = 0x14B, - }, - { - .bg = 0, - .tilemapLeft = 12, - .tilemapTop = 13, - .width = 18, - .height = 3, - .paletteNum = 8, - .baseBlock = 0x181, - }, - { - .bg = 2, - .tilemapLeft = 1, - .tilemapTop = 15, - .width = 28, - .height = 4, - .paletteNum = 14, - .baseBlock = 0x1DF, - }, - DUMMY_WIN_TEMPLATE -}; - -static const struct WindowTemplate gUnknown_08615850[] = -{ - { - .bg = 0, - .tilemapLeft = 1, - .tilemapTop = 1, - .width = 10, - .height = 7, - .paletteNum = 3, - .baseBlock = 0x63, - }, - { - .bg = 0, - .tilemapLeft = 1, - .tilemapTop = 8, - .width = 10, - .height = 7, - .paletteNum = 4, - .baseBlock = 0xA9, - }, - { - .bg = 0, - .tilemapLeft = 12, - .tilemapTop = 1, - .width = 18, - .height = 3, - .paletteNum = 5, - .baseBlock = 0xEF, - }, - { - .bg = 0, - .tilemapLeft = 12, - .tilemapTop = 5, - .width = 18, - .height = 3, - .paletteNum = 6, - .baseBlock = 0x125, - }, - { - .bg = 0, - .tilemapLeft = 12, - .tilemapTop = 9, - .width = 18, - .height = 3, - .paletteNum = 7, - .baseBlock = 0x15B, - }, - { - .bg = 0, - .tilemapLeft = 12, - .tilemapTop = 13, - .width = 18, - .height = 3, - .paletteNum = 8, - .baseBlock = 0x191, - }, - { - .bg = 2, - .tilemapLeft = 1, - .tilemapTop = 15, - .width = 28, - .height = 4, - .paletteNum = 14, - .baseBlock = 0x1DF, - }, - DUMMY_WIN_TEMPLATE -}; - -static const struct WindowTemplate gUnknown_08615890[] = -{ - { - .bg = 0, - .tilemapLeft = 1, - .tilemapTop = 1, - .width = 10, - .height = 7, - .paletteNum = 3, - .baseBlock = 0x63, - }, - { - .bg = 0, - .tilemapLeft = 1, - .tilemapTop = 8, - .width = 10, - .height = 7, - .paletteNum = 4, - .baseBlock = 0xA9, - }, - { - .bg = 0, - .tilemapLeft = 12, - .tilemapTop = 2, - .width = 18, - .height = 3, - .paletteNum = 5, - .baseBlock = 0xEF, - }, - { - .bg = 0, - .tilemapLeft = 12, - .tilemapTop = 5, - .width = 18, - .height = 3, - .paletteNum = 6, - .baseBlock = 0x125, - }, - { - .bg = 0, - .tilemapLeft = 12, - .tilemapTop = 9, - .width = 18, - .height = 3, - .paletteNum = 7, - .baseBlock = 0x15B, - }, - { - .bg = 0, - .tilemapLeft = 12, - .tilemapTop = 12, - .width = 18, - .height = 3, - .paletteNum = 8, - .baseBlock = 0x191, - }, - { - .bg = 2, - .tilemapLeft = 1, - .tilemapTop = 15, - .width = 28, - .height = 4, - .paletteNum = 14, - .baseBlock = 0x1DF, - }, - DUMMY_WIN_TEMPLATE -}; - -static const struct WindowTemplate gUnknown_086158D0[] = -{ - { - .bg = 0, - .tilemapLeft = 1, - .tilemapTop = 2, - .width = 10, - .height = 7, - .paletteNum = 3, - .baseBlock = 0x63, - }, - { - .bg = 0, - .tilemapLeft = 12, - .tilemapTop = 3, - .width = 18, - .height = 3, - .paletteNum = 5, - .baseBlock = 0xA9, - }, - { - .bg = 0, - .tilemapLeft = 12, - .tilemapTop = 6, - .width = 18, - .height = 3, - .paletteNum = 6, - .baseBlock = 0xDF, - }, - { - .bg = 2, - .tilemapLeft = 1, - .tilemapTop = 11, - .width = 10, - .height = 7, - .paletteNum = 4, - .baseBlock = 0x115, - }, - { - .bg = 2, - .tilemapLeft = 12, - .tilemapTop = 12, - .width = 18, - .height = 3, - .paletteNum = 7, - .baseBlock = 0x16B, - }, - { - .bg = 2, - .tilemapLeft = 12, - .tilemapTop = 15, - .width = 18, - .height = 3, - .paletteNum = 8, - .baseBlock = 0x1A1, - }, - DUMMY_WIN_TEMPLATE -}; - -static const struct WindowTemplate gUnknown_08615908 = -{ - .bg = 0, - .tilemapLeft = 24, - .tilemapTop = 17, - .width = 6, - .height = 2, - .paletteNum = 3, - .baseBlock = 0x1C7, -}; - -static const struct WindowTemplate gUnknown_08615910 = -{ - .bg = 0, - .tilemapLeft = 24, - .tilemapTop = 18, - .width = 6, - .height = 2, - .paletteNum = 3, - .baseBlock = 0x1C7, -}; - -static const struct WindowTemplate gUnknown_08615918 = -{ - .bg = 0, - .tilemapLeft = 24, - .tilemapTop = 16, - .width = 6, - .height = 2, - .paletteNum = 3, - .baseBlock = 0x1D3, -}; - -static const struct WindowTemplate gUnknown_08615920 = -{ - .bg = 2, - .tilemapLeft = 1, - .tilemapTop = 17, - .width = 21, - .height = 2, - .paletteNum = 15, - .baseBlock = 0x24F, -}; - -static const struct WindowTemplate gUnknown_08615928 = -{ - .bg = 2, - .tilemapLeft = 1, - .tilemapTop = 17, - .width = 16, - .height = 2, - .paletteNum = 15, - .baseBlock = 0x279, -}; - -static const struct WindowTemplate gUnknown_08615930 = -{ - .bg = 2, - .tilemapLeft = 1, - .tilemapTop = 17, - .width = 20, - .height = 2, - .paletteNum = 15, - .baseBlock = 0x299, -}; - -static const struct WindowTemplate gUnknown_08615938 = -{ - .bg = 2, - .tilemapLeft = 1, - .tilemapTop = 17, - .width = 18, - .height = 2, - .paletteNum = 15, - .baseBlock = 0x299, -}; - -static const struct WindowTemplate gUnknown_08615940 = -{ - .bg = 2, - .tilemapLeft = 1, - .tilemapTop = 17, - .width = 16, - .height = 2, - .paletteNum = 15, - .baseBlock = 0x299, -}; - -static const struct WindowTemplate gUnknown_08615948 = -{ - .bg = 2, - .tilemapLeft = 1, - .tilemapTop = 15, - .width = 20, - .height = 4, - .paletteNum = 15, - .baseBlock = 0x299, -}; - -static const struct WindowTemplate gUnknown_08615950 = -{ - .bg = 2, - .tilemapLeft = 23, - .tilemapTop = 13, - .width = 6, - .height = 6, - .paletteNum = 14, - .baseBlock = 0x39D, -}; - -static const struct WindowTemplate gUnknown_08615958 = -{ - .bg = 2, - .tilemapLeft = 21, - .tilemapTop = 13, - .width = 8, - .height = 6, - .paletteNum = 14, - .baseBlock = 0x39D, -}; - -static const struct WindowTemplate gUnknown_08615960 = -{ - .bg = 2, - .tilemapLeft = 19, - .tilemapTop = 11, - .width = 10, - .height = 8, - .paletteNum = 14, - .baseBlock = 0x2E9, -}; - -static const struct WindowTemplate gUnknown_08615968 = -{ - .bg = 2, - .tilemapLeft = 21, - .tilemapTop = 9, - .width = 5, - .height = 4, - .paletteNum = 14, - .baseBlock = 0x2E9, -}; - -static const struct WindowTemplate gUnknown_08615970 = -{ - .bg = 2, - .tilemapLeft = 19, - .tilemapTop = 1, - .width = 10, - .height = 11, - .paletteNum = 14, - .baseBlock = 0x2E9, -}; - -// Unused. -static const struct WindowTemplate gUnknown_08615978 = -{ - .bg = 2, - .tilemapLeft = 2, - .tilemapTop = 15, - .width = 27, - .height = 4, - .paletteNum = 14, - .baseBlock = 0x1DF, -}; - -// Unused. -static const struct WindowTemplate gUnknown_08615980 = -{ - .bg = 2, - .tilemapLeft = 0, - .tilemapTop = 13, - .width = 18, - .height = 3, - .paletteNum = 12, - .baseBlock = 0x39D, -}; - -static const u8 sMainSlotTileNums[] = {24, 25, 25, 25, 25, 25, 25, 25, 25, 26, - 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, - 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, - 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, - 40, 59, 60, 58, 58, 58, 58, 58, 58, 61, - 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, - 46, 47, 47, 47, 47, 47, 47, 47, 47, 48}; - -static const u8 sMainSlotTileNums_Egg[] = {24, 25, 25, 25, 25, 25, 25, 25, 25, 26, - 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, - 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, - 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, - 40, 41, 41, 41, 41, 41, 41, 41, 41, 42, - 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, - 46, 47, 47, 47, 47, 47, 47, 47, 47, 48}; - -static const u8 sOtherSlotsTileNums[] = {43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, - 49, 33, 33, 33, 33, 33, 33, 33, 33, 52, 53, 51, 51, 51, 51, 51, 51, 54, - 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57}; - -static const u8 sOtherSlotsTileNums_Egg[] = {43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, - 49, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 50, - 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57}; - -static const u8 sEmptySlotTileNums[] = {21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, - 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, - 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39}; -static const u8 gUnknown_08615AB6[] = {11, 12}; -static const u8 gUnknown_08615AB8[] = {9, 10}; -static const u8 gUnknown_08615ABA[] = {4, 5, 6}; -static const u8 gUnknown_08615ABD[] = {1, 7, 8}; -static const u8 gUnknown_08615AC0[] = {1, 11, 12}; -static const u8 gUnknown_08615AC3[] = {59, 60}; -static const u8 gUnknown_08615AC5[] = {75, 76}; -static const u8 gUnknown_08615AC7[] = {57, 58}; -static const u8 gUnknown_08615AC9[] = {73, 74}; -static const u8 gUnknown_08615ACB[] = {89, 90}; -static const u8 gUnknown_08615ACD[] = {52, 53, 54}; -static const u8 gUnknown_08615AD0[] = {68, 69, 70}; -static const u8 gUnknown_08615AD3[] = {84, 85, 86}; -static const u8 gUnknown_08615AD6[] = {116, 117, 118}; -static const u8 gUnknown_08615AD9[] = {132, 133, 134}; -static const u8 gUnknown_08615ADC[] = {148, 149, 150}; -static const u8 gUnknown_08615ADF[] = {100, 101, 102}; -static const u8 gUnknown_08615AE2[] = {49, 55, 56}; -static const u8 gUnknown_08615AE5[] = {65, 71, 72}; -static const u8 gUnknown_08615AE8[] = {81, 87, 88}; -static const u8 gUnknown_08615AEB[] = {97, 103, 104}; -static const u8 gUnknown_08615AEE[] = {161, 167, 168}; -static const u8 gUnknown_08615AF1[] = {17, 27, 28}; - -static const u8 *const sActionStringTable[] = -{ - gText_ChoosePokemon, - gText_ChoosePokemonCancel, - gText_ChoosePokemonConfirm, - gText_MoveToWhere, - gText_TeachWhichPokemon, - gText_UseOnWhichPokemon, - gText_GiveToWhichPokemon, - gText_NothingToCut, - gText_CantSurfHere, - gText_AlreadySurfing, - gText_CurrentIsTooFast, - gText_EnjoyCycling, - gText_InUseAlready_PM, - gText_CantUseHere, - gText_NoPokemonForBattle, - gText_ChoosePokemon2, - gText_NotEnoughHp, - gText_PokemonAreNeeded, - gText_PokemonCantBeSame, - gText_NoIdenticalHoldItems, - gText_EmptyString2, - gText_DoWhatWithPokemon, - gText_RestoreWhichMove, - gText_BoostPp, - gText_DoWhatWithItem, - gText_DoWhatWithMail, - gText_AlreadyHoldingOne, -}; - -static const u8 *const sSelectionStringTable[] = -{ - gText_NoUse, - gText_Able, - gText_First_PM, - gText_Second_PM, - gText_Third_PM, - gText_Fourth, - gText_Able2, - gText_NotAble, - gText_Able3, - gText_NotAble2, - gText_Learned, - gText_Have, - gText_DontHave, -}; - -// Unknown unused data. Feel free to remove. -static const u16 gUnknown_08615B94[] = -{ - 0x0108, 0x0151, 0x0160, 0x015b, 0x002e, 0x005c, 0x0102, 0x0153, 0x014b, 0x00ed, 0x00f1, 0x010d, 0x003a, 0x003b, 0x003f, 0x0071, - 0x00b6, 0x00f0, 0x00ca, 0x00db, 0x00da, 0x004c, 0x00e7, 0x0055, 0x0057, 0x0059, 0x00d8, 0x005b, 0x005e, 0x00f7, 0x0118, 0x0068, - 0x0073, 0x015f, 0x0035, 0x00bc, 0x00c9, 0x007e, 0x013d, 0x014c, 0x0103, 0x0107, 0x0122, 0x009c, 0x00d5, 0x00a8, 0x00d3, 0x011d, - 0x0121, 0x013b, 0x000f, 0x0013, 0x0039, 0x0046, 0x0094, 0x00f9, 0x007f, 0x0123, -}; - -enum -{ - MENU_SUMMARY, - MENU_SWITCH, - MENU_CANCEL1, - MENU_ITEM, - MENU_GIVE, - MENU_TAKE_ITEM, - MENU_MAIL, - MENU_TAKE_MAIL, - MENU_READ, - MENU_CANCEL2, - MENU_SHIFT, - MENU_SEND_OUT, - MENU_ENTER, - MENU_NO_ENTRY, - MENU_STORE, - MENU_REGISTER, - MENU_TRADE1, - MENU_TRADE2, - MENU_TOSS, - MENU_FIELD_MOVES, -}; - -enum -{ - FIELD_MOVE_CUT, - FIELD_MOVE_FLASH, - FIELD_MOVE_ROCK_SMASH, - FIELD_MOVE_STRENGTH, - FIELD_MOVE_SURF, - FIELD_MOVE_FLY, - FIELD_MOVE_DIVE, - FIELD_MOVE_WATERFALL, - FIELD_MOVE_TELEPORT, - FIELD_MOVE_DIG, - FIELD_MOVE_SECRET_POWER, - FIELD_MOVE_MILK_DRINK, - FIELD_MOVE_SOFT_BOILED, - FIELD_MOVE_SWEET_SCENT, -}; - -// What a weird choice of table termination; -#define FIELD_MOVE_TERMINATOR MOVE_SWORDS_DANCE - -struct -{ - const u8 *text; - TaskFunc func; -} static const sCursorOptions[] = -{ - [MENU_SUMMARY] = {gText_Summary5, CursorCb_Summary}, - [MENU_SWITCH] = {gText_Switch2, CursorCb_Switch}, - [MENU_CANCEL1] = {gText_Cancel2, CursorCb_Cancel1}, - [MENU_ITEM] = {gText_Item, CursorCb_Item}, - [MENU_GIVE] = {gMenuText_Give, CursorCb_Give}, - [MENU_TAKE_ITEM] = {gText_Take, CursorCb_TakeItem}, - [MENU_MAIL] = {gText_Mail, CursorCb_Mail}, - [MENU_TAKE_MAIL] = {gText_Take2, CursorCb_TakeMail}, - [MENU_READ] = {gText_Read2, CursorCb_Read}, - [MENU_CANCEL2] = {gText_Cancel2, CursorCb_Cancel2}, - [MENU_SHIFT] = {gText_Shift, CursorCb_SendMon}, - [MENU_SEND_OUT] = {gText_SendOut, CursorCb_SendMon}, - [MENU_ENTER] = {gText_Enter, CursorCb_Enter}, - [MENU_NO_ENTRY] = {gText_NoEntry, CursorCb_NoEntry}, - [MENU_STORE] = {gText_Store, CursorCb_Store}, - [MENU_REGISTER] = {gText_Register, CursorCb_Register}, - [MENU_TRADE1] = {gText_Trade4, CursorCb_Trade1}, - [MENU_TRADE2] = {gText_Trade4, CursorCb_Trade2}, - [MENU_TOSS] = {gMenuText_Toss, CursorCb_Toss}, - [MENU_FIELD_MOVES + FIELD_MOVE_CUT] = {gMoveNames[MOVE_CUT], CursorCb_FieldMove}, - [MENU_FIELD_MOVES + FIELD_MOVE_FLASH] = {gMoveNames[MOVE_FLASH], CursorCb_FieldMove}, - [MENU_FIELD_MOVES + FIELD_MOVE_ROCK_SMASH] = {gMoveNames[MOVE_ROCK_SMASH], CursorCb_FieldMove}, - [MENU_FIELD_MOVES + FIELD_MOVE_STRENGTH] = {gMoveNames[MOVE_STRENGTH], CursorCb_FieldMove}, - [MENU_FIELD_MOVES + FIELD_MOVE_SURF] = {gMoveNames[MOVE_SURF], CursorCb_FieldMove}, - [MENU_FIELD_MOVES + FIELD_MOVE_FLY] = {gMoveNames[MOVE_FLY], CursorCb_FieldMove}, - [MENU_FIELD_MOVES + FIELD_MOVE_DIVE] = {gMoveNames[MOVE_DIVE], CursorCb_FieldMove}, - [MENU_FIELD_MOVES + FIELD_MOVE_WATERFALL] = {gMoveNames[MOVE_WATERFALL], CursorCb_FieldMove}, - [MENU_FIELD_MOVES + FIELD_MOVE_TELEPORT] = {gMoveNames[MOVE_TELEPORT], CursorCb_FieldMove}, - [MENU_FIELD_MOVES + FIELD_MOVE_DIG] = {gMoveNames[MOVE_DIG], CursorCb_FieldMove}, - [MENU_FIELD_MOVES + FIELD_MOVE_SECRET_POWER] = {gMoveNames[MOVE_SECRET_POWER], CursorCb_FieldMove}, - [MENU_FIELD_MOVES + FIELD_MOVE_MILK_DRINK] = {gMoveNames[MOVE_MILK_DRINK], CursorCb_FieldMove}, - [MENU_FIELD_MOVES + FIELD_MOVE_SOFT_BOILED] = {gMoveNames[MOVE_SOFT_BOILED], CursorCb_FieldMove}, - [MENU_FIELD_MOVES + FIELD_MOVE_SWEET_SCENT] = {gMoveNames[MOVE_SWEET_SCENT], CursorCb_FieldMove}, -}; - -static const u8 gUnknown_08615D10[] = {MENU_SUMMARY, MENU_SWITCH, MENU_CANCEL1}; -static const u8 gUnknown_08615D13[] = {MENU_SHIFT, MENU_SUMMARY, MENU_CANCEL1}; -static const u8 gUnknown_08615D16[] = {MENU_SEND_OUT, MENU_SUMMARY, MENU_CANCEL1}; -static const u8 gUnknown_08615D19[] = {MENU_SUMMARY, MENU_CANCEL1}; -static const u8 gUnknown_08615D1B[] = {MENU_ENTER, MENU_SUMMARY, MENU_CANCEL1}; -static const u8 gUnknown_08615D1E[] = {MENU_NO_ENTRY, MENU_SUMMARY, MENU_CANCEL1}; -static const u8 gUnknown_08615D21[] = {MENU_STORE, MENU_SUMMARY, MENU_CANCEL1}; -static const u8 gUnknown_08615D24[] = {MENU_GIVE, MENU_TAKE_ITEM, MENU_CANCEL2}; -static const u8 gUnknown_08615D27[] = {MENU_READ, MENU_TAKE_MAIL, MENU_CANCEL2}; -static const u8 gUnknown_08615D2A[] = {MENU_REGISTER, MENU_SUMMARY, MENU_CANCEL1}; -static const u8 gUnknown_08615D2D[] = {MENU_TRADE1, MENU_SUMMARY, MENU_CANCEL1}; -static const u8 gUnknown_08615D30[] = {MENU_TRADE2, MENU_SUMMARY, MENU_CANCEL1}; -static const u8 gUnknown_08615D33[] = {MENU_TAKE_ITEM, MENU_TOSS, MENU_CANCEL1}; - -static const u8 *const sActionTable[] = -{ - NULL, - gUnknown_08615D10, - gUnknown_08615D13, - gUnknown_08615D16, - gUnknown_08615D1B, - gUnknown_08615D1E, - gUnknown_08615D21, - gUnknown_08615D19, - gUnknown_08615D24, - gUnknown_08615D27, - gUnknown_08615D2A, - gUnknown_08615D2D, - gUnknown_08615D30, - gUnknown_08615D33, -}; - -static const u8 sListSizeTable[] = -{ - 0x00, - ARRAY_COUNT(gUnknown_08615D10), - ARRAY_COUNT(gUnknown_08615D13), - ARRAY_COUNT(gUnknown_08615D16), - ARRAY_COUNT(gUnknown_08615D1B), - ARRAY_COUNT(gUnknown_08615D1E), - ARRAY_COUNT(gUnknown_08615D21), - ARRAY_COUNT(gUnknown_08615D19), - ARRAY_COUNT(gUnknown_08615D24), - ARRAY_COUNT(gUnknown_08615D27), - ARRAY_COUNT(gUnknown_08615D2A), - ARRAY_COUNT(gUnknown_08615D2D), - ARRAY_COUNT(gUnknown_08615D30), - ARRAY_COUNT(gUnknown_08615D33) -}; - -static const u16 sFieldMoves[] = -{ - MOVE_CUT, MOVE_FLASH, MOVE_ROCK_SMASH, MOVE_STRENGTH, MOVE_SURF, MOVE_FLY, MOVE_DIVE, MOVE_WATERFALL, MOVE_TELEPORT, - MOVE_DIG, MOVE_SECRET_POWER, MOVE_MILK_DRINK, MOVE_SOFT_BOILED, MOVE_SWEET_SCENT, FIELD_MOVE_TERMINATOR -}; - -struct -{ - bool8 (*fieldMoveFunc)(void); - u8 msgId; -} static const sFieldMoveCursorCallbacks[] = -{ - [FIELD_MOVE_CUT] = {SetUpFieldMove_Cut, 0x07}, - [FIELD_MOVE_FLASH] = {SetUpFieldMove_Flash, 0x0d}, - [FIELD_MOVE_ROCK_SMASH] = {SetUpFieldMove_RockSmash, 0x0d}, - [FIELD_MOVE_STRENGTH] = {SetUpFieldMove_Strength, 0x0d}, - [FIELD_MOVE_SURF] = {SetUpFieldMove_Surf, 0x08}, - [FIELD_MOVE_FLY] = {SetUpFieldMove_Fly, 0x0d}, - [FIELD_MOVE_DIVE] = {SetUpFieldMove_Dive, 0x0d}, - [FIELD_MOVE_WATERFALL] = {SetUpFieldMove_Waterfall, 0x0d}, - [FIELD_MOVE_TELEPORT] = {SetUpFieldMove_Teleport, 0x0d}, - [FIELD_MOVE_DIG] = {SetUpFieldMove_Dig, 0x0d}, - [FIELD_MOVE_SECRET_POWER] = {SetUpFieldMove_SecretPower, 0x0d}, - [FIELD_MOVE_MILK_DRINK] = {SetUpFieldMove_SoftBoiled, 0x10}, - [FIELD_MOVE_SOFT_BOILED] = {SetUpFieldMove_SoftBoiled, 0x10}, - [FIELD_MOVE_SWEET_SCENT] = {SetUpFieldMove_SweetScent, 0x0d}, -}; - -static const u8 *const gUnknown_08615E0C[] = -{ - gText_NotPkmnOtherTrainerWants, - gText_ThatIsntAnEgg, - gText_PkmnCantBeTradedNow, - gText_PkmnCantBeTradedNow, - gText_OtherTrainersPkmnCantBeTraded, - gText_EggCantBeTradedNow, - gText_OtherTrainerCantAcceptPkmn, - gText_CantTradeWithTrainer, - gText_CantTradeWithTrainer, -}; - -static const u32 sHeldItemGfx[] = INCBIN_U32("graphics/interface/hold_icons.4bpp"); -static const u16 sHeldItemPalette[] = INCBIN_U16("graphics/interface/hold_icons.gbapal"); - -static const struct OamData sOamData_HeldItem = -{ - .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, - .shape = SPRITE_SHAPE(8x8), - .x = 0, - .matrixNum = 0, - .size = SPRITE_SIZE(8x8), - .tileNum = 0, - .priority = 1, - .paletteNum = 0, - .affineParam = 0, -}; - -static const union AnimCmd sSpriteAnim_HeldItem[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_HeldMail[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END -}; - -static const union AnimCmd *const sSpriteAnimTable_HeldItem[] = -{ - sSpriteAnim_HeldItem, - sSpriteAnim_HeldMail, -}; - -static const struct SpriteSheet sSpriteSheet_HeldItem = -{ - sHeldItemGfx, sizeof(sHeldItemGfx), 0xd750 -}; - -static const struct SpritePalette sSpritePalette_HeldItem = -{ - sHeldItemPalette, 0xd750 -}; - -static const struct SpriteTemplate sSpriteTemplate_HeldItem = -{ - 0xd750, - 0xd750, - &sOamData_HeldItem, - sSpriteAnimTable_HeldItem, - NULL, - gDummySpriteAffineAnimTable, - SpriteCallbackDummy -}; - -static const struct OamData sOamData_MenuPokeball = -{ - .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, - .shape = SPRITE_SHAPE(32x32), - .x = 0, - .matrixNum = 0, - .size = SPRITE_SIZE(32x32), - .tileNum = 0, - .priority = 1, - .paletteNum = 0, - .affineParam = 0 -}; - -static const union AnimCmd sPokeballAnim_Closed[] = -{ - ANIMCMD_FRAME(0, 0), - ANIMCMD_END -}; - -static const union AnimCmd sPokeballAnim_Open[] = -{ - ANIMCMD_FRAME(16, 0), - ANIMCMD_END -}; - -static const union AnimCmd *const sSpriteAnimTable_Pokeball[] = -{ - sPokeballAnim_Closed, - sPokeballAnim_Open -}; - -static const struct CompressedSpriteSheet sSpriteSheet_MenuPokeball = -{ - gPartyMenuPokeball_Gfx, 0x400, 0x04b0 -}; - -static const struct CompressedSpritePalette sSpritePalette_MenuPokeball = -{ - gPartyMenuPokeball_Pal, 0x04b0 -}; - -static const struct SpriteTemplate sSpriteTemplate_MenuPokeball = -{ - .tileTag = 0x04b0, - .paletteTag = 0x04b0, - .oam = &sOamData_MenuPokeball, - .anims = sSpriteAnimTable_Pokeball, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, -}; - -static const struct OamData sOamData_8615F20 = -{ - .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, - .shape = SPRITE_SHAPE(16x16), - .x = 0, - .matrixNum = 0, - .size = SPRITE_SIZE(16x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, - .affineParam = 0 -}; - -static const union AnimCmd sSpriteAnim_8615F28[] = -{ - ANIMCMD_FRAME(0, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_8615F30[] = -{ - ANIMCMD_FRAME(4, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_8615F38[] = -{ - ANIMCMD_FRAME(8, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_8615F40[] = -{ - ANIMCMD_FRAME(12, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_8615F48[] = -{ - ANIMCMD_FRAME(16, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_8615F50[] = -{ - ANIMCMD_FRAME(20, 0), - ANIMCMD_END -}; - -static const union AnimCmd *const sSpriteAnimTable_8615F58[] = -{ - sSpriteAnim_8615F28, - sSpriteAnim_8615F30, - sSpriteAnim_8615F38, - sSpriteAnim_8615F40, - sSpriteAnim_8615F48, - sSpriteAnim_8615F50 -}; - -static const struct CompressedSpriteSheet sSpriteSheet_MenuPokeballSmall = -{ - gPartyMenuPokeballSmall_Gfx, 0x0300, 0x04b1 -}; - -static const struct SpriteTemplate gSpriteTemplate_8615F78 = -{ - .tileTag = 1201, - .paletteTag = 1200, - .oam = &sOamData_8615F20, - .anims = sSpriteAnimTable_8615F58, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, -}; - -static const struct OamData sOamData_StatusCondition = -{ - .y = 0, - .affineMode = 0, - .objMode = 0, - .mosaic = 0, - .bpp = 0, - .shape = SPRITE_SHAPE(32x8), - .x = 0, - .matrixNum = 0, - .size = SPRITE_SIZE(32x8), - .tileNum = 0, - .priority = 1, - .paletteNum = 0, - .affineParam = 0 -}; - -static const union AnimCmd sSpriteAnim_StatusPoison[] = -{ - ANIMCMD_FRAME(0, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_StatusParalyzed[] = -{ - ANIMCMD_FRAME(4, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_StatusSleep[] = -{ - ANIMCMD_FRAME(8, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_StatusFrozen[] = -{ - ANIMCMD_FRAME(12, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_StatusBurn[] = -{ - ANIMCMD_FRAME(16, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_StatusPokerus[] = -{ - ANIMCMD_FRAME(20, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_StatusFaint[] = -{ - ANIMCMD_FRAME(24, 0), - ANIMCMD_END -}; - -static const union AnimCmd sSpriteAnim_Blank[] = -{ - ANIMCMD_FRAME(28, 0), - ANIMCMD_END -}; - -static const union AnimCmd *const sSpriteTemplate_StatusCondition[] = -{ - sSpriteAnim_StatusPoison, - sSpriteAnim_StatusParalyzed, - sSpriteAnim_StatusSleep, - sSpriteAnim_StatusFrozen, - sSpriteAnim_StatusBurn, - sSpriteAnim_StatusPokerus, - sSpriteAnim_StatusFaint, - sSpriteAnim_Blank -}; - -static const struct CompressedSpriteSheet sSpriteSheet_StatusIcons = -{ - gStatusGfx_Icons, 0x400, 1202 -}; - -static const struct CompressedSpritePalette sSpritePalette_StatusIcons = -{ - gStatusPal_Icons, 1202 -}; - -static const struct SpriteTemplate sSpriteTemplate_StatusIcons = -{ - .tileTag = 1202, - .paletteTag = 1202, - .oam = &sOamData_StatusCondition, - .anims = sSpriteTemplate_StatusCondition, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, -}; - -static const u8 gUnknown_08616020[] = {0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00}; - -// Unused table of pointers to strings of statistics. -static const u8 *const gUnknown_08616028[] = -{ - gText_HP4, - gText_Attack3, - gText_Defense3, - gText_SpAtk4, - gText_SpDef4, - gText_Speed2 -}; - -static const u16 gTMHMMoves[] = -{ - MOVE_FOCUS_PUNCH, - MOVE_DRAGON_CLAW, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_BULK_UP, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLAR_BEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_OVERHEAT, - MOVE_CUT, - MOVE_FLY, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; +#include "data/party_menu.h" // code -static void InitPartyMenu(u8 a, u8 b, u8 c, u8 d, u8 messageId, TaskFunc task, MainCallback callback) +static void InitPartyMenu(u8 menuType, u8 layout, u8 partyAction, bool8 keepCursorPos, u8 messageId, TaskFunc task, MainCallback callback) { u16 i; - reset_brm(); - gUnknown_0203CEC4 = Alloc(sizeof(struct Struct203CEC4)); - if (gUnknown_0203CEC4 == NULL) + ResetPartyMenu(); + sPartyMenuInternal = Alloc(sizeof(struct PartyMenuInternal)); + if (sPartyMenuInternal == NULL) { SetMainCallback2(callback); } else { - gUnknown_0203CEC8.unk8_0 = a; - gUnknown_0203CEC8.exitCallback = callback; - gUnknown_0203CEC8.unkB = c; - gUnknown_0203CEC4->messageId = messageId; - gUnknown_0203CEC4->task = task; - gUnknown_0203CEC4->exitCallback = NULL; - gUnknown_0203CEC4->unk8_1 = 0; - gUnknown_0203CEC4->unk8_2 = 0x7F; - gUnknown_0203CEC4->unk9_0 = 0x7F; + gPartyMenu.menuType = menuType; + gPartyMenu.exitCallback = callback; + gPartyMenu.action = partyAction; + sPartyMenuInternal->messageId = messageId; + sPartyMenuInternal->task = task; + sPartyMenuInternal->exitCallback = NULL; + sPartyMenuInternal->lastSelectedSlot = 0; + sPartyMenuInternal->spriteIdConfirmPokeball = 0x7F; + sPartyMenuInternal->spriteIdCancelPokeball = 0x7F; - if (a == 4) - gUnknown_0203CEC4->unk8_0 = TRUE; + if (menuType == PARTY_MENU_TYPE_CHOOSE_HALF) + sPartyMenuInternal->chooseHalf = TRUE; else - gUnknown_0203CEC4->unk8_0 = FALSE; + sPartyMenuInternal->chooseHalf = FALSE; - if (b != 0xFF) - gUnknown_0203CEC8.mode = b; + if (layout != KEEP_PARTY_LAYOUT) + gPartyMenu.layout = layout; - for (i = 0; i <= 15; i++) - gUnknown_0203CEC4->data[i] = 0; - for (i = 0; i < ARRAY_COUNT(gUnknown_0203CEC4->windowId); i++) - gUnknown_0203CEC4->windowId[i] = 0xFF; + for (i = 0; i < ARRAY_COUNT(sPartyMenuInternal->data); i++) + sPartyMenuInternal->data[i] = 0; + for (i = 0; i < ARRAY_COUNT(sPartyMenuInternal->windowId); i++) + sPartyMenuInternal->windowId[i] = 0xFF; - if (d == 0) - gUnknown_0203CEC8.slotId = 0; - else if (gUnknown_0203CEC8.slotId > 5 || GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES) == SPECIES_NONE) - gUnknown_0203CEC8.slotId = 0; // wut why is this else if? + if (!keepCursorPos) + gPartyMenu.slotId = 0; + else if (gPartyMenu.slotId > PARTY_SIZE - 1 || GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES) == SPECIES_NONE) + gPartyMenu.slotId = 0; gTextFlags.autoScroll = 0; CalculatePlayerPartyCount(); - SetMainCallback2(PartyMenuInitCallback); + SetMainCallback2(CB2_InitPartyMenu); } } -static void PartyMenuCallback(void) +static void CB2_UpdatePartyMenu(void) { RunTasks(); AnimateSprites(); @@ -1632,23 +468,23 @@ static void PartyMenuCallback(void) UpdatePaletteFade(); } -static void PartyMenuVBlankCallback(void) +static void VBlankCB_PartyMenu(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -static void PartyMenuInitCallback(void) +static void CB2_InitPartyMenu(void) { while (TRUE) { - if (sub_81221EC() == TRUE || PartyMenuSetup() == TRUE || sub_81221AC() == TRUE) + if (sub_81221EC() == TRUE || ShowPartyMenu() == TRUE || sub_81221AC() == TRUE) break; } } -static bool8 PartyMenuSetup(void) +static bool8 ShowPartyMenu(void) { switch (gMain.state) { @@ -1681,32 +517,32 @@ static bool8 PartyMenuSetup(void) gMain.state++; break; case 6: - sub_81B209C(); + SetPartyMonsAllowedInMinigame(); gMain.state++; break; case 7: if (!AllocPartyMenuBg()) { - PartyMenuExit(); + ExitPartyMenu(); return TRUE; } else { - gUnknown_0203CEC4->data[0] = 0; + sPartyMenuInternal->data[0] = 0; gMain.state++; } break; case 8: - if (AllocPartyMiscGfx()) + if (AllocPartyMenuBgGfx()) gMain.state++; break; case 9: - sub_81B239C(gUnknown_0203CEC8.mode); + InitPartyMenuWindows(gPartyMenu.layout); gMain.state++; break; case 10: - PartyMenuInitHelperStructs(gUnknown_0203CEC8.mode); - gUnknown_0203CEC4->data[0] = 0; + InitPartyMenuBoxes(gPartyMenu.layout); + sPartyMenuInternal->data[0] = 0; gMain.state++; break; case 11: @@ -1726,33 +562,33 @@ static bool8 PartyMenuSetup(void) gMain.state++; break; case 15: - if (party_menu_add_per_mon_objects()) + if (CreatePartyMonSpritesLoop()) { - gUnknown_0203CEC4->data[0] = 0; + sPartyMenuInternal->data[0] = 0; gMain.state++; } break; case 16: if (RenderPartyMenuBoxes()) { - gUnknown_0203CEC4->data[0] = 0; + sPartyMenuInternal->data[0] = 0; gMain.state++; } break; case 17: - sub_81B0F28(); + CreateCancelConfirmPokeballSprites(); gMain.state++; break; case 18: - sub_81B2428(gUnknown_0203CEC4->unk8_0); + CreateCancelConfirmWindows(sPartyMenuInternal->chooseHalf); gMain.state++; break; case 19: gMain.state++; break; case 20: - CreateTask(gUnknown_0203CEC4->task, 0); - display_pokemon_menu_message(gUnknown_0203CEC4->messageId); + CreateTask(sPartyMenuInternal->task, 0); + DisplayPartyMenuStdMessage(sPartyMenuInternal->messageId); gMain.state++; break; case 21: @@ -1765,49 +601,49 @@ static bool8 PartyMenuSetup(void) gMain.state++; break; default: - SetVBlankCallback(PartyMenuVBlankCallback); - SetMainCallback2(PartyMenuCallback); + SetVBlankCallback(VBlankCB_PartyMenu); + SetMainCallback2(CB2_UpdatePartyMenu); return TRUE; } return FALSE; } -static void PartyMenuExit(void) +static void ExitPartyMenu(void) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - CreateTask(PartyMenuExitTask, 0); - SetVBlankCallback(PartyMenuVBlankCallback); - SetMainCallback2(PartyMenuCallback); + CreateTask(Task_ExitPartyMenu, 0); + SetVBlankCallback(VBlankCB_PartyMenu); + SetMainCallback2(CB2_UpdatePartyMenu); } -static void PartyMenuExitTask(u8 taskId) +static void Task_ExitPartyMenu(u8 taskId) { if (!gPaletteFade.active) { - SetMainCallback2(gUnknown_0203CEC8.exitCallback); + SetMainCallback2(gPartyMenu.exitCallback); FreePartyPointers(); DestroyTask(taskId); } } -static void reset_brm(void) +static void ResetPartyMenu(void) { - gUnknown_0203CEC4 = NULL; - gUnknown_0203CEE4 = NULL; - gUnknown_0203CEDC = NULL; - gUnknown_0203CEE0 = NULL; + sPartyMenuInternal = NULL; + sPartyBgTilemapBuffer = NULL; + sPartyMenuBoxes = NULL; + sPartyBgGfxTilemap = NULL; } static bool8 AllocPartyMenuBg(void) { - gUnknown_0203CEE4 = Alloc(0x800); - if (gUnknown_0203CEE4 == NULL) + sPartyBgTilemapBuffer = Alloc(0x800); + if (sPartyBgTilemapBuffer == NULL) return FALSE; - memset(gUnknown_0203CEE4, 0, 0x800); + memset(sPartyBgTilemapBuffer, 0, 0x800); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_086156B8, ARRAY_COUNT(gUnknown_086156B8)); - SetBgTilemapBuffer(1, gUnknown_0203CEE4); + InitBgsFromTemplates(0, sPartyMenuBgTemplates, ARRAY_COUNT(sPartyMenuBgTemplates)); + SetBgTilemapBuffer(1, sPartyBgTilemapBuffer); ResetAllBgsCoordinates(); schedule_bg_copy_tilemap_to_vram(1); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); @@ -1818,48 +654,48 @@ static bool8 AllocPartyMenuBg(void) return TRUE; } -static bool8 AllocPartyMiscGfx(void) +static bool8 AllocPartyMenuBgGfx(void) { u32 sizeout; - switch (gUnknown_0203CEC4->data[0]) + switch (sPartyMenuInternal->data[0]) { case 0: - gUnknown_0203CEE0 = malloc_and_decompress(gPartyMenuMisc_Gfx, &sizeout); - LoadBgTiles(1, gUnknown_0203CEE0, sizeout, 0); - gUnknown_0203CEC4->data[0]++; + sPartyBgGfxTilemap = malloc_and_decompress(gPartyMenuBg_Gfx, &sizeout); + LoadBgTiles(1, sPartyBgGfxTilemap, sizeout, 0); + sPartyMenuInternal->data[0]++; break; case 1: if (!IsDma3ManagerBusyWithBgCopy()) { - LZDecompressWram(gPartyMenuMisc_Tilemap, gUnknown_0203CEE4); - gUnknown_0203CEC4->data[0]++; + LZDecompressWram(gPartyMenuBg_Tilemap, sPartyBgTilemapBuffer); + sPartyMenuInternal->data[0]++; } break; case 2: - LoadCompressedPalette(gPartyMenuMisc_Pal, 0, 0x160); - CpuCopy16(gPlttBufferUnfaded, gUnknown_0203CEC4->palBuffer, 0x160); - gUnknown_0203CEC4->data[0]++; + LoadCompressedPalette(gPartyMenuBg_Pal, 0, 0x160); + CpuCopy16(gPlttBufferUnfaded, sPartyMenuInternal->palBuffer, 0x160); + sPartyMenuInternal->data[0]++; break; case 3: PartyPaletteBufferCopy(4); - gUnknown_0203CEC4->data[0]++; + sPartyMenuInternal->data[0]++; break; case 4: PartyPaletteBufferCopy(5); - gUnknown_0203CEC4->data[0]++; + sPartyMenuInternal->data[0]++; break; case 5: PartyPaletteBufferCopy(6); - gUnknown_0203CEC4->data[0]++; + sPartyMenuInternal->data[0]++; break; case 6: PartyPaletteBufferCopy(7); - gUnknown_0203CEC4->data[0]++; + sPartyMenuInternal->data[0]++; break; case 7: PartyPaletteBufferCopy(8); - gUnknown_0203CEC4->data[0]++; + sPartyMenuInternal->data[0]++; break; default: return TRUE; @@ -1876,84 +712,86 @@ static void PartyPaletteBufferCopy(u8 offset) static void FreePartyPointers(void) { - if (gUnknown_0203CEC4) - Free(gUnknown_0203CEC4); - if (gUnknown_0203CEE4) - Free(gUnknown_0203CEE4); - if (gUnknown_0203CEE0) - Free(gUnknown_0203CEE0); - if (gUnknown_0203CEDC) - Free(gUnknown_0203CEDC); + if (sPartyMenuInternal) + Free(sPartyMenuInternal); + if (sPartyBgTilemapBuffer) + Free(sPartyBgTilemapBuffer); + if (sPartyBgGfxTilemap) + Free(sPartyBgGfxTilemap); + if (sPartyMenuBoxes) + Free(sPartyMenuBoxes); FreeAllWindowBuffers(); } -static void PartyMenuInitHelperStructs(u8 a) +static void InitPartyMenuBoxes(u8 layout) { u8 i; - gUnknown_0203CEDC = Alloc(sizeof(struct Struct203CEDC[PARTY_SIZE])); + sPartyMenuBoxes = Alloc(sizeof(struct PartyMenuBox[PARTY_SIZE])); for (i = 0; i < PARTY_SIZE; i++) { - gUnknown_0203CEDC[i].unk0 = &gUnknown_086156C4[1]; - gUnknown_0203CEDC[i].unk4 = gUnknown_08615704[a][i]; - gUnknown_0203CEDC[i].windowId = i; - gUnknown_0203CEDC[i].monSpriteId = 0xFF; - gUnknown_0203CEDC[i].itemSpriteId = 0xFF; - gUnknown_0203CEDC[i].pokeballSpriteId = 0xFF; - gUnknown_0203CEDC[i].statusSpriteId = 0xFF; + sPartyMenuBoxes[i].infoRects = &sPartyBoxInfoRects[PARTY_BOX_RIGHT_COLUMN]; + sPartyMenuBoxes[i].spriteCoords = sPartyMenuSpriteCoords[layout][i]; + sPartyMenuBoxes[i].windowId = i; + sPartyMenuBoxes[i].monSpriteId = 0xFF; + sPartyMenuBoxes[i].itemSpriteId = 0xFF; + sPartyMenuBoxes[i].pokeballSpriteId = 0xFF; + sPartyMenuBoxes[i].statusSpriteId = 0xFF; } - gUnknown_0203CEDC[0].unk0 = &gUnknown_086156C4[0]; - if (a == 3) - gUnknown_0203CEDC[3].unk0 = &gUnknown_086156C4[0]; - else if (a != 0) - gUnknown_0203CEDC[1].unk0 = &gUnknown_086156C4[0]; + // The first party mon goes in the left column + sPartyMenuBoxes[0].infoRects = &sPartyBoxInfoRects[PARTY_BOX_LEFT_COLUMN]; + + if (layout == PARTY_LAYOUT_MULTI_SHOWCASE) + sPartyMenuBoxes[3].infoRects = &sPartyBoxInfoRects[PARTY_BOX_LEFT_COLUMN]; + else if (layout != PARTY_LAYOUT_SINGLE) + sPartyMenuBoxes[1].infoRects = &sPartyBoxInfoRects[PARTY_BOX_LEFT_COLUMN]; } static void RenderPartyMenuBox(u8 slot) { - if (gUnknown_0203CEC8.unk8_0 == 5 && slot > 2) + if (gPartyMenu.menuType == PARTY_MENU_TYPE_MULTI_SHOWCASE && slot >= MULTI_PARTY_SIZE) { - sub_81B0CEC(slot); - if (gUnknown_02022FF8[slot - 3].species == SPECIES_NONE) - UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], 0x40); + DisplayPartyPokemonDataForMultiBattle(slot); + if (gMultiPartnerParty[slot - MULTI_PARTY_SIZE].species == SPECIES_NONE) + LoadPartyBoxPalette(&sPartyMenuBoxes[slot], PARTY_PAL_NO_MON); else - UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], 8); - CopyWindowToVram(gUnknown_0203CEDC[slot].windowId, 2); - PutWindowTilemap(gUnknown_0203CEDC[slot].windowId); + LoadPartyBoxPalette(&sPartyMenuBoxes[slot], PARTY_PAL_MULTI_ALT); + CopyWindowToVram(sPartyMenuBoxes[slot].windowId, 2); + PutWindowTilemap(sPartyMenuBoxes[slot].windowId); schedule_bg_copy_tilemap_to_vram(2); } else { if (GetMonData(&gPlayerParty[slot], MON_DATA_SPECIES) == SPECIES_NONE) { - DrawEmptySlot(gUnknown_0203CEDC[slot].windowId); - UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], 0x40); - CopyWindowToVram(gUnknown_0203CEDC[slot].windowId, 2); + DrawEmptySlot(sPartyMenuBoxes[slot].windowId); + LoadPartyBoxPalette(&sPartyMenuBoxes[slot], PARTY_PAL_NO_MON); + CopyWindowToVram(sPartyMenuBoxes[slot].windowId, 2); } else { - if (gUnknown_0203CEC8.unk8_0 == 7) - DisplayPartyPokemonSelectForRelearner(slot); - else if (gUnknown_0203CEC8.unk8_0 == 2) - DisplayPartyPokemonSelectForContest(slot); - else if (gUnknown_0203CEC8.unk8_0 == 4) - DisplayPartyPokemonSelectForBattle(slot); - else if (gUnknown_0203CEC8.unk8_0 == 11) - sub_81B0B98(slot); - else if (gUnknown_0203CEC8.unk8_0 == 12) - DisplayPartyPokemonSelectHeldItemRelated(slot); - else if (!sub_81B0BFC(slot)) + if (gPartyMenu.menuType == PARTY_MENU_TYPE_MOVE_RELEARNER) + DisplayPartyPokemonDataForRelearner(slot); + else if (gPartyMenu.menuType == PARTY_MENU_TYPE_CONTEST) + DisplayPartyPokemonDataForContest(slot); + else if (gPartyMenu.menuType == PARTY_MENU_TYPE_CHOOSE_HALF) + DisplayPartyPokemonDataForChooseHalf(slot); + else if (gPartyMenu.menuType == PARTY_MENU_TYPE_MINIGAME) + DisplayPartyPokemonDataForWirelessMinigame(slot); + else if (gPartyMenu.menuType == PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS) + DisplayPartyPokemonDataForBattlePyramidHeldItem(slot); + else if (!DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(slot)) DisplayPartyPokemonData(slot); - if (gUnknown_0203CEC8.unk8_0 == 5) - sub_81B0FCC(slot, 0); - else if (gUnknown_0203CEC8.slotId == slot) - sub_81B0FCC(slot, 1); + if (gPartyMenu.menuType == PARTY_MENU_TYPE_MULTI_SHOWCASE) + AnimatePartySlot(slot, 0); + else if (gPartyMenu.slotId == slot) + AnimatePartySlot(slot, 1); else - sub_81B0FCC(slot, 0); + AnimatePartySlot(slot, 0); } - PutWindowTilemap(gUnknown_0203CEDC[slot].windowId); + PutWindowTilemap(sPartyMenuBoxes[slot].windowId); schedule_bg_copy_tilemap_to_vram(0); } } @@ -1962,249 +800,251 @@ static void DisplayPartyPokemonData(u8 slot) { if (GetMonData(&gPlayerParty[slot], MON_DATA_IS_EGG)) { - gUnknown_0203CEDC[slot].unk0->unk0(gUnknown_0203CEDC[slot].windowId, 0, 0, 0, 0, 1); - DisplayPartyPokemonNickname(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0); + sPartyMenuBoxes[slot].infoRects->blitFunc(sPartyMenuBoxes[slot].windowId, 0, 0, 0, 0, TRUE); + DisplayPartyPokemonNickname(&gPlayerParty[slot], &sPartyMenuBoxes[slot], 0); } else { - gUnknown_0203CEDC[slot].unk0->unk0(gUnknown_0203CEDC[slot].windowId, 0, 0, 0, 0, 0); - DisplayPartyPokemonNickname(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0); - DisplayPartyPokemonLevelCheck(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0); - DisplayPartyPokemonGenderNidoranCheck(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0); - DisplayPartyPokemonHPCheck(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0); - DisplayPartyPokemonMaxHPCheck(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0); - DisplayPartyPokemonHPBarCheck(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]); + sPartyMenuBoxes[slot].infoRects->blitFunc(sPartyMenuBoxes[slot].windowId, 0, 0, 0, 0, FALSE); + DisplayPartyPokemonNickname(&gPlayerParty[slot], &sPartyMenuBoxes[slot], 0); + DisplayPartyPokemonLevelCheck(&gPlayerParty[slot], &sPartyMenuBoxes[slot], 0); + DisplayPartyPokemonGenderNidoranCheck(&gPlayerParty[slot], &sPartyMenuBoxes[slot], 0); + DisplayPartyPokemonHPCheck(&gPlayerParty[slot], &sPartyMenuBoxes[slot], 0); + DisplayPartyPokemonMaxHPCheck(&gPlayerParty[slot], &sPartyMenuBoxes[slot], 0); + DisplayPartyPokemonHPBarCheck(&gPlayerParty[slot], &sPartyMenuBoxes[slot]); } } -static void DisplayPartyPokemonSelectData(u8 slot, u8 stringID) +static void DisplayPartyPokemonDescriptionData(u8 slot, u8 stringID) { struct Pokemon *mon = &gPlayerParty[slot]; - gUnknown_0203CEDC[slot].unk0->unk0(gUnknown_0203CEDC[slot].windowId, 0, 0, 0, 0, 1); - DisplayPartyPokemonNickname(mon, &gUnknown_0203CEDC[slot], 0); + sPartyMenuBoxes[slot].infoRects->blitFunc(sPartyMenuBoxes[slot].windowId, 0, 0, 0, 0, TRUE); + DisplayPartyPokemonNickname(mon, &sPartyMenuBoxes[slot], 0); if (!GetMonData(mon, MON_DATA_IS_EGG)) { - DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[slot], 0); - DisplayPartyPokemonGenderNidoranCheck(mon, &gUnknown_0203CEDC[slot], 0); + DisplayPartyPokemonLevelCheck(mon, &sPartyMenuBoxes[slot], 0); + DisplayPartyPokemonGenderNidoranCheck(mon, &sPartyMenuBoxes[slot], 0); } - DisplayPartyPokemonOtherText(stringID, &gUnknown_0203CEDC[slot], 0); + DisplayPartyPokemonDescriptionText(stringID, &sPartyMenuBoxes[slot], 0); } -static void DisplayPartyPokemonSelectForBattle(u8 slot) +static void DisplayPartyPokemonDataForChooseHalf(u8 slot) { u8 i; struct Pokemon *mon = &gPlayerParty[slot]; - u8 *ptr = gSelectedOrderFromParty; + u8 *order = gSelectedOrderFromParty; if (!GetBattleEntryEligibility(mon)) { - DisplayPartyPokemonSelectData(slot, 7); + DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_NOT_ABLE); return; } else { - for (i = 0; i < sub_81B8830(); i++) + for (i = 0; i < GetMaxBattleEntries(); i++) { - if (ptr[i] != 0 && (ptr[i] - 1) == slot) + if (order[i] != 0 && (order[i] - 1) == slot) { - DisplayPartyPokemonSelectData(slot, i + 2); + DisplayPartyPokemonDescriptionData(slot, i + PARTYBOX_DESC_FIRST); return; } } - DisplayPartyPokemonSelectData(slot, 1); + DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_ABLE_3); } } -static void DisplayPartyPokemonSelectForContest(u8 slot) +static void DisplayPartyPokemonDataForContest(u8 slot) { - switch (sub_80DAE0C(&gPlayerParty[slot])) + switch (GetContestEntryEligibility(&gPlayerParty[slot])) { - case 0: - case 3: - case 4: - DisplayPartyPokemonSelectData(slot, 7); + case CANT_ENTER_CONTEST: + case CANT_ENTER_CONTEST_EGG: + case CANT_ENTER_CONTEST_FAINTED: + DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_NOT_ABLE); break; - case 1: - case 2: - DisplayPartyPokemonSelectData(slot, 6); + case CAN_ENTER_CONTEST_EQUAL_RANK: + case CAN_ENTER_CONTEST_HIGH_RANK: + DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_ABLE); break; } } -static void DisplayPartyPokemonSelectForRelearner(u8 slot) +static void DisplayPartyPokemonDataForRelearner(u8 slot) { if (GetNumberOfRelearnableMoves(&gPlayerParty[slot]) == 0) - DisplayPartyPokemonSelectData(slot, 9); + DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_NOT_ABLE_2); else - DisplayPartyPokemonSelectData(slot, 8); + DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_ABLE_2); } -static void sub_81B0B98(u8 slot) +static void DisplayPartyPokemonDataForWirelessMinigame(u8 slot) { - if (sub_81B218C(slot) == TRUE) - DisplayPartyPokemonSelectData(slot, 6); + if (IsMonAllowedInMinigame(slot) == TRUE) + DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_ABLE); else - DisplayPartyPokemonSelectData(slot, 7); + DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_NOT_ABLE); } -static void DisplayPartyPokemonSelectHeldItemRelated(u8 slot) +static void DisplayPartyPokemonDataForBattlePyramidHeldItem(u8 slot) { if (GetMonData(&gPlayerParty[slot], MON_DATA_HELD_ITEM)) - DisplayPartyPokemonSelectData(slot, 11); + DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_HAVE); else - DisplayPartyPokemonSelectData(slot, 12); + DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_DONT_HAVE); } -static bool8 sub_81B0BFC(u8 slot) +// Returns TRUE if teaching move or cant evolve with item (i.e. description data is shown), FALSE otherwise +static bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot) { struct Pokemon *currentPokemon = &gPlayerParty[slot]; u16 item = gSpecialVar_ItemId; - if (gUnknown_0203CEC8.unkB == 12) + if (gPartyMenu.action == PARTY_ACTION_MOVE_TUTOR) { gSpecialVar_Result = FALSE; - DisplayPartyPokemonSelectToTeachMove(slot, 0, gSpecialVar_0x8005); + DisplayPartyPokemonDataToTeachMove(slot, 0, gSpecialVar_0x8005); } else { - if (gUnknown_0203CEC8.unkB != 3) + if (gPartyMenu.action != PARTY_ACTION_USE_ITEM) return FALSE; switch (CheckIfItemIsTMHMOrEvolutionStone(item)) { default: return FALSE; - case 1: - DisplayPartyPokemonSelectToTeachMove(slot, item, 0); + case 1: // TM/HM + DisplayPartyPokemonDataToTeachMove(slot, item, 0); break; - case 2: + case 2: // Evolution stone if (!GetMonData(currentPokemon, MON_DATA_IS_EGG) && GetEvolutionTargetSpecies(currentPokemon, 3, item) != SPECIES_NONE) return FALSE; - DisplayPartyPokemonSelectData(slot, 0); + DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_NO_USE); break; } } return TRUE; } -static void DisplayPartyPokemonSelectToTeachMove(u8 slot, u16 item, u8 tutor) +static void DisplayPartyPokemonDataToTeachMove(u8 slot, u16 item, u8 tutor) { switch (CanMonLearnTMTutor(&gPlayerParty[slot], item, tutor)) { case CANNOT_LEARN_MOVE: case CANNOT_LEARN_MOVE_IS_EGG: - DisplayPartyPokemonSelectData(slot, 9); + DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_NOT_ABLE_2); break; case ALREADY_KNOWS_MOVE: - DisplayPartyPokemonSelectData(slot, 10); + DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_LEARNED); break; default: - DisplayPartyPokemonSelectData(slot, 8); + DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_ABLE_2); break; } } -static void sub_81B0CEC(u8 slot) +static void DisplayPartyPokemonDataForMultiBattle(u8 slot) { - struct Struct203CEDC *structPtr = &gUnknown_0203CEDC[slot]; - u8 actualSlot = slot - 3; + struct PartyMenuBox *menuBox = &sPartyMenuBoxes[slot]; + u8 actualSlot = slot - (3); - if (gUnknown_02022FF8[actualSlot].species == SPECIES_NONE) + if (gMultiPartnerParty[actualSlot].species == SPECIES_NONE) { - DrawEmptySlot(structPtr->windowId); + DrawEmptySlot(menuBox->windowId); } else { - structPtr->unk0->unk0(structPtr->windowId, 0, 0, 0, 0, 0); - StringCopy(gStringVar1, gUnknown_02022FF8[actualSlot].nickname); + menuBox->infoRects->blitFunc(menuBox->windowId, 0, 0, 0, 0, FALSE); + StringCopy(gStringVar1, gMultiPartnerParty[actualSlot].nickname); StringGetEnd10(gStringVar1); sub_81DB52C(gStringVar1); - DisplayPartyPokemonBarDetail(structPtr->windowId, gStringVar1, 0, structPtr->unk0->unk4); - DisplayPartyPokemonLevel(gUnknown_02022FF8[actualSlot].level, structPtr); - DisplayPartyPokemonGender(gUnknown_02022FF8[actualSlot].gender, gUnknown_02022FF8[actualSlot].species, gUnknown_02022FF8[actualSlot].nickname, structPtr); - DisplayPartyPokemonHP(gUnknown_02022FF8[actualSlot].hp, structPtr); - DisplayPartyPokemonMaxHP(gUnknown_02022FF8[actualSlot].maxhp, structPtr); - DisplayPartyPokemonHPBar(gUnknown_02022FF8[actualSlot].hp, gUnknown_02022FF8[actualSlot].maxhp, structPtr); + DisplayPartyPokemonBarDetail(menuBox->windowId, gStringVar1, 0, menuBox->infoRects->dimensions); + DisplayPartyPokemonLevel(gMultiPartnerParty[actualSlot].level, menuBox); + DisplayPartyPokemonGender(gMultiPartnerParty[actualSlot].gender, gMultiPartnerParty[actualSlot].species, gMultiPartnerParty[actualSlot].nickname, menuBox); + DisplayPartyPokemonHP(gMultiPartnerParty[actualSlot].hp, menuBox); + DisplayPartyPokemonMaxHP(gMultiPartnerParty[actualSlot].maxhp, menuBox); + DisplayPartyPokemonHPBar(gMultiPartnerParty[actualSlot].hp, gMultiPartnerParty[actualSlot].maxhp, menuBox); } } static bool8 RenderPartyMenuBoxes(void) { - RenderPartyMenuBox(gUnknown_0203CEC4->data[0]); - if (++gUnknown_0203CEC4->data[0] == 6) + RenderPartyMenuBox(sPartyMenuInternal->data[0]); + if (++sPartyMenuInternal->data[0] == PARTY_SIZE) return TRUE; else return FALSE; } -static u8* GetPartyMiscGraphicsTile(u16 tileId) +static u8* GetPartyMenuBgTile(u16 tileId) { - return &gUnknown_0203CEE0[tileId << 5]; + return &sPartyBgGfxTilemap[tileId << 5]; } -static void party_menu_add_per_mon_objects_internal(u8 slot) +static void CreatePartyMonSprites(u8 slot) { u8 actualSlot; - if (gUnknown_0203CEC8.unk8_0 == 5 && slot > 2) + if (gPartyMenu.menuType == PARTY_MENU_TYPE_MULTI_SHOWCASE && slot >= MULTI_PARTY_SIZE) { u8 status; - actualSlot = slot - 3; + actualSlot = slot - MULTI_PARTY_SIZE; - if (gUnknown_02022FF8[actualSlot].species != SPECIES_NONE) + if (gMultiPartnerParty[actualSlot].species != SPECIES_NONE) { - party_menu_link_mon_icon_anim(gUnknown_02022FF8[actualSlot].species, gUnknown_02022FF8[actualSlot].personality, &gUnknown_0203CEDC[slot], 0, 0); - party_menu_link_mon_held_item_object(gUnknown_02022FF8[actualSlot].species, gUnknown_02022FF8[actualSlot].heldItem, &gUnknown_0203CEDC[slot]); - party_menu_link_mon_pokeball_object(gUnknown_02022FF8[actualSlot].species, &gUnknown_0203CEDC[slot]); - if (gUnknown_02022FF8[actualSlot].hp == 0) + CreatePartyMonIconSpriteParameterized(gMultiPartnerParty[actualSlot].species, gMultiPartnerParty[actualSlot].personality, &sPartyMenuBoxes[slot], 0, FALSE); + CreatePartyMonHeldItemSpriteParameterized(gMultiPartnerParty[actualSlot].species, gMultiPartnerParty[actualSlot].heldItem, &sPartyMenuBoxes[slot]); + CreatePartyMonPokeballSpriteParameterized(gMultiPartnerParty[actualSlot].species, &sPartyMenuBoxes[slot]); + if (gMultiPartnerParty[actualSlot].hp == 0) status = AILMENT_FNT; else - status = pokemon_ailments_get_primary(gUnknown_02022FF8[actualSlot].status); - party_menu_link_mon_status_condition_object(gUnknown_02022FF8[actualSlot].species, status, &gUnknown_0203CEDC[slot]); + status = GetAilmentFromStatus(gMultiPartnerParty[actualSlot].status); + CreatePartyMonStatusSpriteParameterized(gMultiPartnerParty[actualSlot].species, status, &sPartyMenuBoxes[slot]); } } else if (GetMonData(&gPlayerParty[slot], MON_DATA_SPECIES) != SPECIES_NONE) { - party_menu_icon_anim(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], slot); - party_menu_held_item_object(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]); - party_menu_pokeball_object(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]); - party_menu_status_condition_object(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]); + CreatePartyMonIconSprite(&gPlayerParty[slot], &sPartyMenuBoxes[slot], slot); + CreatePartyMonHeldItemSprite(&gPlayerParty[slot], &sPartyMenuBoxes[slot]); + CreatePartyMonPokeballSprite(&gPlayerParty[slot], &sPartyMenuBoxes[slot]); + CreatePartyMonStatusSprite(&gPlayerParty[slot], &sPartyMenuBoxes[slot]); } } -static bool8 party_menu_add_per_mon_objects(void) +static bool8 CreatePartyMonSpritesLoop(void) { - party_menu_add_per_mon_objects_internal(gUnknown_0203CEC4->data[0]); - if (++gUnknown_0203CEC4->data[0] == 6) + CreatePartyMonSprites(sPartyMenuInternal->data[0]); + if (++sPartyMenuInternal->data[0] == PARTY_SIZE) return TRUE; else return FALSE; } -static void sub_81B0F28(void) +static void CreateCancelConfirmPokeballSprites(void) { - if (gUnknown_0203CEC8.unk8_0 == 5) + if (gPartyMenu.menuType == PARTY_MENU_TYPE_MULTI_SHOWCASE) { + // The showcase has no Cancel/Confirm buttons FillBgTilemapBufferRect(1, 14, 23, 17, 7, 2, 1); } else { - if (gUnknown_0203CEC4->unk8_0) + if (sPartyMenuInternal->chooseHalf) { - gUnknown_0203CEC4->unk8_2 = sub_81B5F74(0xBF, 0x88); - sub_81B120C(); - gUnknown_0203CEC4->unk9_0 = sub_81B5F74(0xBF, 0x98); + sPartyMenuInternal->spriteIdConfirmPokeball = CreateSmallPokeballButtonSprite(0xBF, 0x88); + DrawCancelConfirmButtons(); + sPartyMenuInternal->spriteIdCancelPokeball = CreateSmallPokeballButtonSprite(0xBF, 0x98); } else { - gUnknown_0203CEC4->unk9_0 = sub_81B5F34(0xC6, 0x94); + sPartyMenuInternal->spriteIdCancelPokeball = CreatePokeballButtonSprite(198, 148); } - sub_81B0FCC(gUnknown_0203CEC8.slotId, 1); + AnimatePartySlot(gPartyMenu.slotId, 1); } } -void sub_81B0FCC(u8 slot, u8 b) +void AnimatePartySlot(u8 slot, u8 animNum) { u8 spriteId; @@ -2213,79 +1053,80 @@ void sub_81B0FCC(u8 slot, u8 b) default: if (GetMonData(&gPlayerParty[slot], MON_DATA_SPECIES) != SPECIES_NONE) { - UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], GetPartyBoxPalBitfield(slot, b)); - AnimateSelectedPartyIcon(gUnknown_0203CEDC[slot].monSpriteId, b); - sub_81B5F98(gUnknown_0203CEDC[slot].pokeballSpriteId, b); + LoadPartyBoxPalette(&sPartyMenuBoxes[slot], GetPartyBoxPaletteFlags(slot, animNum)); + AnimateSelectedPartyIcon(sPartyMenuBoxes[slot].monSpriteId, animNum); + PartyMenuStartSpriteAnim(sPartyMenuBoxes[slot].pokeballSpriteId, animNum); } return; - case 6: - if (b == 0) - sub_8199C30(1, 23, 16, 7, 2, 1); + case PARTY_SIZE: // Confirm + if (animNum == 0) + SetBgTilemapPalette(1, 23, 16, 7, 2, 1); else - sub_8199C30(1, 23, 16, 7, 2, 2); - spriteId = gUnknown_0203CEC4->unk8_2; + SetBgTilemapPalette(1, 23, 16, 7, 2, 2); + spriteId = sPartyMenuInternal->spriteIdConfirmPokeball; break; - case 7: - if (!gUnknown_0203CEC4->unk8_0) + case PARTY_SIZE + 1: // Cancel + // The position of the Cancel button changes if Confirm is present + if (!sPartyMenuInternal->chooseHalf) { - if (b == 0) - sub_8199C30(1, 23, 17, 7, 2, 1); + if (animNum == 0) + SetBgTilemapPalette(1, 23, 17, 7, 2, 1); else - sub_8199C30(1, 23, 17, 7, 2, 2); + SetBgTilemapPalette(1, 23, 17, 7, 2, 2); } - else if (b == 0) + else if (animNum == 0) { - sub_8199C30(1, 23, 18, 7, 2, 1); + SetBgTilemapPalette(1, 23, 18, 7, 2, 1); } else { - sub_8199C30(1, 23, 18, 7, 2, 2); + SetBgTilemapPalette(1, 23, 18, 7, 2, 2); } - spriteId = gUnknown_0203CEC4->unk9_0; + spriteId = sPartyMenuInternal->spriteIdCancelPokeball; break; } - sub_81B5F98(spriteId, b); + PartyMenuStartSpriteAnim(spriteId, animNum); schedule_bg_copy_tilemap_to_vram(1); } -static u8 GetPartyBoxPalBitfield(u8 slot, u8 b) +static u8 GetPartyBoxPaletteFlags(u8 slot, u8 animNum) { - u8 returnVar = 0; + u8 palFlags = 0; - if (b == 1) - returnVar |= 1; + if (animNum == 1) + palFlags |= PARTY_PAL_SELECTED; if (GetMonData(&gPlayerParty[slot], MON_DATA_HP) == 0) - returnVar |= 2; + palFlags |= PARTY_PAL_FAINTED; if (PartyBoxPal_ParnterOrDisqualifiedInArena(slot) == TRUE) - returnVar |= 8; - if (gUnknown_0203CEC8.unkB == 9) - returnVar |= 16; - if (gUnknown_0203CEC8.unkB == 8) + palFlags |= PARTY_PAL_MULTI_ALT; + if (gPartyMenu.action == PARTY_ACTION_SWITCHING) + palFlags |= PARTY_PAL_SWITCHING; + if (gPartyMenu.action == PARTY_ACTION_SWITCH) { - if (slot == gUnknown_0203CEC8.slotId || slot == gUnknown_0203CEC8.unkA) - returnVar |= 4; + if (slot == gPartyMenu.slotId || slot == gPartyMenu.slotId2) + palFlags |= PARTY_PAL_TO_SWITCH; } - if (gUnknown_0203CEC8.unkB == 10 && slot == gUnknown_0203CEC8.slotId ) - returnVar |= 32; + if (gPartyMenu.action == PARTY_ACTION_SOFTBOILED && slot == gPartyMenu.slotId ) + palFlags |= PARTY_PAL_TO_SOFTBOIL; - return returnVar; + return palFlags; } static bool8 PartyBoxPal_ParnterOrDisqualifiedInArena(u8 slot) { - if (gUnknown_0203CEC8.mode == 2 && (slot == 1 || slot == 4 || slot == 5)) + if (gPartyMenu.layout == PARTY_LAYOUT_MULTI && (slot == 1 || slot == 4 || slot == 5)) return TRUE; - if (slot < 3 && (gBattleTypeFlags & BATTLE_TYPE_ARENA) && gMain.inBattle && (gBattleStruct->arenaLostPlayerMons >> sub_81B8F38(slot) & 1)) + if (slot < MULTI_PARTY_SIZE && (gBattleTypeFlags & BATTLE_TYPE_ARENA) && gMain.inBattle && (gBattleStruct->arenaLostPlayerMons >> GetPartyIdFromBattleSlot(slot) & 1)) return TRUE; return FALSE; } -static void sub_81B120C(void) +static void DrawCancelConfirmButtons(void) { - CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_086157C4, 23, 16, 7, 2, 17); - CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_086157E0, 23, 18, 7, 2, 17); + CopyToBgTilemapBufferRect_ChangePalette(1, sConfirmButton_Tilemap, 23, 16, 7, 2, 17); + CopyToBgTilemapBufferRect_ChangePalette(1, sCancelButton_Tilemap, 23, 18, 7, 2, 17); schedule_bg_copy_tilemap_to_vram(1); } @@ -2297,34 +1138,34 @@ bool8 IsMultiBattle(void) return FALSE; } -static void sub_81B1288(struct Pokemon *partySlot, struct Pokemon *pokemon) +static void SwapPartyPokemon(struct Pokemon *mon1, struct Pokemon *mon2) { struct Pokemon *temp = Alloc(sizeof(struct Pokemon)); - *temp = *partySlot; - *partySlot = *pokemon; - *pokemon = *temp; + *temp = *mon1; + *mon1 = *mon2; + *mon2 = *temp; Free(temp); } -static void sub_81B12C0(u8 taskId) +static void Task_ClosePartyMenu(u8 taskId) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gTasks[taskId].func = c3_0811FAB4; + gTasks[taskId].func = Task_ClosePartyMenuAndSetCB2; } -static void c3_0811FAB4(u8 taskId) +static void Task_ClosePartyMenuAndSetCB2(u8 taskId) { if (!gPaletteFade.active) { - if (gUnknown_0203CEC8.unk8_0 == 1) - sub_81B9080(); + if (gPartyMenu.menuType == PARTY_MENU_TYPE_IN_BATTLE) + UpdatePartyToFieldOrder(); - if (gUnknown_0203CEC4->exitCallback != NULL) - SetMainCallback2(gUnknown_0203CEC4->exitCallback); + if (sPartyMenuInternal->exitCallback != NULL) + SetMainCallback2(sPartyMenuInternal->exitCallback); else - SetMainCallback2(gUnknown_0203CEC8.exitCallback); + SetMainCallback2(gPartyMenu.exitCallback); ResetSpriteData(); FreePartyPointers(); @@ -2334,124 +1175,124 @@ static void c3_0811FAB4(u8 taskId) u8 GetCursorSelectionMonId(void) { - return gUnknown_0203CEC8.slotId; + return gPartyMenu.slotId; } -u8 sub_81B1360(void) +u8 GetPartyMenuType(void) { - return gUnknown_0203CEC8.unk8_0; + return gPartyMenu.menuType; } -void sub_81B1370(u8 taskId) +void Task_HandleChooseMonInput(u8 taskId) { if (!gPaletteFade.active && sub_81221EC() != TRUE) { - s8 *ptr = sub_81B13EC(); + s8 *slotPtr = GetCurrentPartySlotPtr(); - switch (PartyMenuButtonHandler(ptr)) + switch (PartyMenuButtonHandler(slotPtr)) { - case 1: - sub_81B140C(taskId, ptr); + case 1: // Selected mon + HandleChooseMonSelection(taskId, slotPtr); break; - case 2: - sub_81B15D0(taskId, ptr); + case 2: // Selected Cancel + HandleChooseMonCancel(taskId, slotPtr); break; - case 8: - if (gUnknown_0203CEC4->unk8_0) + case 8: // Start button + if (sPartyMenuInternal->chooseHalf) { PlaySE(SE_SELECT); - sub_81B4F88(); + MoveCursorToConfirm(); } break; } } } -static s8* sub_81B13EC(void) +static s8* GetCurrentPartySlotPtr(void) { - if (gUnknown_0203CEC8.unkB == 8 || gUnknown_0203CEC8.unkB == 10) - return &gUnknown_0203CEC8.unkA; + if (gPartyMenu.action == PARTY_ACTION_SWITCH || gPartyMenu.action == PARTY_ACTION_SOFTBOILED) + return &gPartyMenu.slotId2; else - return &gUnknown_0203CEC8.slotId; + return &gPartyMenu.slotId; } -static void sub_81B140C(u8 taskId, s8 *ptr) +static void HandleChooseMonSelection(u8 taskId, s8 *slotPtr) { - if (*ptr == 6) + if (*slotPtr == PARTY_SIZE) { - gUnknown_0203CEC8.unk4(taskId); + gPartyMenu.task(taskId); } else { - switch (gUnknown_0203CEC8.unkB - 3) + switch (gPartyMenu.action - 3) { - case 7: - if (sub_81B15A4((u8*)ptr)) + case PARTY_ACTION_SOFTBOILED - 3: + if (IsSelectedMonNotEgg((u8*)slotPtr)) { - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - sub_81615A8(taskId); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + Task_TryUseSoftboiledOnPartyMon(taskId); } break; - case 0: - if (sub_81B15A4((u8*)ptr)) + case PARTY_ACTION_USE_ITEM - 3: + if (IsSelectedMonNotEgg((u8*)slotPtr)) { - if (gUnknown_0203CEC8.unk8_0 == 1) - gUnknown_0203CEC4->exitCallback = sub_81B9140; + if (gPartyMenu.menuType == PARTY_MENU_TYPE_IN_BATTLE) + sPartyMenuInternal->exitCallback = CB2_SetUpExitToBattleScreen; - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - gUnknown_03006328(taskId, sub_81B6794); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + gItemUseCB(taskId, Task_ClosePartyMenuAfterText); } break; - case 9: - if (sub_81B15A4((u8*)ptr)) + case PARTY_ACTION_MOVE_TUTOR - 3: + if (IsSelectedMonNotEgg((u8*)slotPtr)) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - sub_81B7E4C(taskId); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + TryTutorSelectedMon(taskId); } break; - case 4: - if (sub_81B15A4((u8*)ptr)) + case PARTY_ACTION_GIVE_MAILBOX_MAIL - 3: + if (IsSelectedMonNotEgg((u8*)slotPtr)) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - sub_81B8474(taskId); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + TryGiveMailToSelectedMon(taskId); } break; - case 2: - case 3: - if (sub_81B15A4((u8*)ptr)) + case PARTY_ACTION_GIVE_ITEM - 3: + case PARTY_ACTION_GIVE_PC_ITEM - 3: + if (IsSelectedMonNotEgg((u8*)slotPtr)) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - sub_81B7FAC(taskId); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + TryGiveItemOrMailToSelectedMon(taskId); } break; - case 5: + case PARTY_ACTION_SWITCH - 3: PlaySE(SE_SELECT); - sub_81B3938(taskId); + SwitchSelectedMons(taskId); break; - case 8: + case PARTY_ACTION_CHOOSE_AND_CLOSE - 3: PlaySE(SE_SELECT); - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); break; - case 10: - if (sub_81B15A4((u8*)ptr)) + case PARTY_ACTION_MINIGAME - 3: + if (IsSelectedMonNotEgg((u8*)slotPtr)) { - sub_81B21AC(taskId, (u8)*ptr); + TryEnterMonForMinigame(taskId, (u8)*slotPtr); } break; default: - case 1: - case 6: + case PARTY_ACTION_ABILITY_PREVENTS - 3: + case PARTY_ACTION_SWITCHING - 3: PlaySE(SE_SELECT); - sub_81B36FC(taskId); + Task_TryCreateSelectionWindow(taskId); break; } } } -static bool8 sub_81B15A4(u8 *slotPtr) +static bool8 IsSelectedMonNotEgg(u8 *slotPtr) { if (GetMonData(&gPlayerParty[*slotPtr], MON_DATA_IS_EGG) == TRUE) { @@ -2461,108 +1302,109 @@ static bool8 sub_81B15A4(u8 *slotPtr) return TRUE; } -static void sub_81B15D0(u8 taskId, s8 *ptr) +static void HandleChooseMonCancel(u8 taskId, s8 *slotPtr) { - switch (gUnknown_0203CEC8.unkB) + switch (gPartyMenu.action) { - case 1: + case PARTY_ACTION_SEND_OUT: PlaySE(SE_HAZURE); break; - case 8: - case 10: + case PARTY_ACTION_SWITCH: + case PARTY_ACTION_SOFTBOILED: PlaySE(SE_SELECT); - sub_81B407C(taskId); + FinishTwoMonAction(taskId); break; - case 13: + case PARTY_ACTION_MINIGAME: PlaySE(SE_SELECT); - sub_81B2210(taskId); + CancelParticipationPrompt(taskId); break; default: PlaySE(SE_SELECT); - if (sub_81B1660(taskId) != TRUE) + if (DisplayCancelChooseMonYesNo(taskId) != TRUE) { if (!sub_81221AC()) - gSpecialVar_0x8004 = 7; - gUnknown_0203CEE8 = 0; - *ptr = 7; - sub_81B12C0(taskId); + gSpecialVar_0x8004 = PARTY_SIZE + 1; + gPartyMenuUseExitCallback = FALSE; + *slotPtr = PARTY_SIZE + 1; + Task_ClosePartyMenu(taskId); } break; } } -static bool8 sub_81B1660(u8 taskId) +static bool8 DisplayCancelChooseMonYesNo(u8 taskId) { const u8* stringPtr = NULL; - if (gUnknown_0203CEC8.unk8_0 == 2) + if (gPartyMenu.menuType == PARTY_MENU_TYPE_CONTEST) stringPtr = gText_CancelParticipation; - else if (gUnknown_0203CEC8.unk8_0 == 4) - stringPtr = sub_81B88BC(); + else if (gPartyMenu.menuType == PARTY_MENU_TYPE_CHOOSE_HALF) + stringPtr = GetFacilityCancelString(); if (stringPtr == NULL) return FALSE; - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); StringExpandPlaceholders(gStringVar4, stringPtr); - sub_81B1B5C(gStringVar4, 1); - gTasks[taskId].func = sub_81B16D4; + DisplayPartyMenuMessage(gStringVar4, TRUE); + gTasks[taskId].func = Task_CancelChooseMonYesNo; return TRUE; } -static void sub_81B16D4(u8 taskId) +static void Task_CancelChooseMonYesNo(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - sub_81B334C(); - gTasks[taskId].func = sub_81B1708; + PartyMenuDisplayYesNoMenu(); + gTasks[taskId].func = Task_HandleCancelChooseMonYesNoInput; } } -static void sub_81B1708(u8 taskId) +static void Task_HandleCancelChooseMonYesNoInput(u8 taskId) { switch (Menu_ProcessInputNoWrapClearOnChoose()) { case 0: - gUnknown_0203CEE8 = 0; - gUnknown_0203CEC8.slotId = 7; - sub_81B8558(); - sub_81B12C0(taskId); + gPartyMenuUseExitCallback = FALSE; + gPartyMenu.slotId = PARTY_SIZE + 1; + ClearSelectedPartyOrder(); + Task_ClosePartyMenu(taskId); break; case MENU_B_PRESSED: PlaySE(SE_SELECT); + // fallthrough case 1: - sub_81B1C1C(taskId); + Task_ReturnToChooseMonAfterText(taskId); break; } } -static u16 PartyMenuButtonHandler(s8 *ptr) +static u16 PartyMenuButtonHandler(s8 *slotPtr) { s8 movementDir; switch (gMain.newAndRepeatedKeys) { case DPAD_UP: - movementDir = -1; + movementDir = MENU_DIR_UP; break; case DPAD_DOWN: - movementDir = 1; + movementDir = MENU_DIR_DOWN; break; case DPAD_LEFT: - movementDir = -2; + movementDir = MENU_DIR_LEFT; break; case DPAD_RIGHT: - movementDir = 2; + movementDir = MENU_DIR_RIGHT; break; default: - switch (sub_812210C()) + switch (GetLRKeysPressedAndHeld()) { - case 1: - movementDir = -1; + case MENU_L_PRESSED: + movementDir = MENU_DIR_UP; break; - case 2: - movementDir = 1; + case MENU_R_PRESSED: + movementDir = MENU_DIR_DOWN; break; default: movementDir = 0; @@ -2576,203 +1418,207 @@ static u16 PartyMenuButtonHandler(s8 *ptr) if (movementDir) { - UpdateCurrentPartySelection(ptr, movementDir); + UpdateCurrentPartySelection(slotPtr, movementDir); return 0; } - if ((gMain.newKeys & A_BUTTON) && *ptr == 7) + // Pressed Cancel + if ((gMain.newKeys & A_BUTTON) && *slotPtr == PARTY_SIZE + 1) return 2; return gMain.newKeys & (A_BUTTON | B_BUTTON); } -static void UpdateCurrentPartySelection(s8 *ptr, s8 movementDir) +static void UpdateCurrentPartySelection(s8 *slotPtr, s8 movementDir) { - s8 slot = *ptr; - u8 mode = gUnknown_0203CEC8.mode; + s8 newSlotId = *slotPtr; + u8 layout = gPartyMenu.layout; - if (mode == 0) - SetNewPartySelectTarget1(ptr, movementDir); + if (layout == PARTY_LAYOUT_SINGLE) + UpdatePartySelectionSingleLayout(slotPtr, movementDir); else - SetNewPartySelectTarget2(ptr, movementDir); + UpdatePartySelectionDoubleLayout(slotPtr, movementDir); - if (*ptr != slot) + if (*slotPtr != newSlotId) { PlaySE(SE_SELECT); - sub_81B0FCC(slot, 0); - sub_81B0FCC(*ptr, 1); + AnimatePartySlot(newSlotId, 0); + AnimatePartySlot(*slotPtr, 1); } } -static void SetNewPartySelectTarget1(s8 *ptr, s8 b) +static void UpdatePartySelectionSingleLayout(s8 *slotPtr, s8 movementDir) { - switch (b) + // PARTY_SIZE + 1 is Cancel, PARTY_SIZE is Confirm + switch (movementDir) { - case -1: - if (*ptr == 0) + case MENU_DIR_UP: + if (*slotPtr == 0) { - *ptr = 7; + *slotPtr = PARTY_SIZE + 1; } - else if (*ptr == 6) + else if (*slotPtr == PARTY_SIZE) { - *ptr = gPlayerPartyCount - 1; + *slotPtr = gPlayerPartyCount - 1; } - else if (*ptr == 7) + else if (*slotPtr == PARTY_SIZE + 1) { - if (gUnknown_0203CEC4->unk8_0) - *ptr = 6; + if (sPartyMenuInternal->chooseHalf) + *slotPtr = PARTY_SIZE; else - *ptr = gPlayerPartyCount - 1; + *slotPtr = gPlayerPartyCount - 1; } else { - (*ptr)--; + (*slotPtr)--; } break; - case 1: - if (*ptr == 7) + case MENU_DIR_DOWN: + if (*slotPtr == PARTY_SIZE + 1) { - *ptr = 0; + *slotPtr = 0; } else { - if (*ptr == gPlayerPartyCount - 1) + if (*slotPtr == gPlayerPartyCount - 1) { - if (gUnknown_0203CEC4->unk8_0) - *ptr = 6; + if (sPartyMenuInternal->chooseHalf) + *slotPtr = PARTY_SIZE; else - *ptr = 7; + *slotPtr = PARTY_SIZE + 1; } else { - (*ptr)++; + (*slotPtr)++; } } break; - case 2: - if (gPlayerPartyCount != 1 && *ptr == 0) + case MENU_DIR_RIGHT: + if (gPlayerPartyCount != 1 && *slotPtr == 0) { - if (gUnknown_0203CEC4->unk8_1 == 0) - *ptr = 1; + if (sPartyMenuInternal->lastSelectedSlot == 0) + *slotPtr = 1; else - *ptr = gUnknown_0203CEC4->unk8_1; + *slotPtr = sPartyMenuInternal->lastSelectedSlot; } break; - case -2: - if (*ptr != 0 && *ptr != 6 && *ptr != 7) + case MENU_DIR_LEFT: + if (*slotPtr != 0 && *slotPtr != PARTY_SIZE && *slotPtr != PARTY_SIZE + 1) { - gUnknown_0203CEC4->unk8_1 = *ptr; - *ptr = 0; + sPartyMenuInternal->lastSelectedSlot = *slotPtr; + *slotPtr = 0; } break; } } -static void SetNewPartySelectTarget2(s8 *ptr, s8 b) +static void UpdatePartySelectionDoubleLayout(s8 *slotPtr, s8 movementDir) { - s8 unk2 = b; + // PARTY_SIZE + 1 is Cancel, PARTY_SIZE is Confirm + // newSlot is used temporarily as a movement direction during its later assignment + s8 newSlot = movementDir; - switch (b) + switch (movementDir) { - case -1: - if (*ptr == 0) + case MENU_DIR_UP: + if (*slotPtr == 0) { - *ptr = 7; + *slotPtr = PARTY_SIZE + 1; break; } - else if (*ptr == 6) + else if (*slotPtr == PARTY_SIZE) { - *ptr = gPlayerPartyCount - 1; + *slotPtr = gPlayerPartyCount - 1; break; } - else if (*ptr == 7) + else if (*slotPtr == PARTY_SIZE + 1) { - if (gUnknown_0203CEC4->unk8_0) + if (sPartyMenuInternal->chooseHalf) { - *ptr = 6; + *slotPtr = PARTY_SIZE; break; } - (*ptr)--; + (*slotPtr)--; } - unk2 = sub_81B1B00(*ptr, unk2); - if (unk2 != -1) - *ptr = unk2; + newSlot = GetNewSlotDoubleLayout(*slotPtr, newSlot); + if (newSlot != -1) + *slotPtr = newSlot; break; - case 1: - if (*ptr == 6) + case MENU_DIR_DOWN: + if (*slotPtr == PARTY_SIZE) { - *ptr = 7; + *slotPtr = PARTY_SIZE + 1; } - else if (*ptr == 7) + else if (*slotPtr == PARTY_SIZE + 1) { - *ptr = 0; + *slotPtr = 0; } else { - unk2 = sub_81B1B00(*ptr, 1); - if (unk2 == -1) + newSlot = GetNewSlotDoubleLayout(*slotPtr, MENU_DIR_DOWN); + if (newSlot == -1) { - if (gUnknown_0203CEC4->unk8_0) - *ptr = 6; + if (sPartyMenuInternal->chooseHalf) + *slotPtr = PARTY_SIZE; else - *ptr = 7; + *slotPtr = PARTY_SIZE + 1; } else { - *ptr = unk2; + *slotPtr = newSlot; } } break; - case 2: - if (*ptr == 0) + case MENU_DIR_RIGHT: + if (*slotPtr == 0) { - if (gUnknown_0203CEC4->unk8_1 == 3) + if (sPartyMenuInternal->lastSelectedSlot == 3) { if (GetMonData(&gPlayerParty[3], MON_DATA_SPECIES) != SPECIES_NONE) - *ptr = 3; + *slotPtr = 3; } else if (GetMonData(&gPlayerParty[2], MON_DATA_SPECIES) != SPECIES_NONE) { - *ptr = 2; + *slotPtr = 2; } } - else if (*ptr == 1) + else if (*slotPtr == 1) { - if (gUnknown_0203CEC4->unk8_1 == 5) + if (sPartyMenuInternal->lastSelectedSlot == 5) { if (GetMonData(&gPlayerParty[5], MON_DATA_SPECIES) != SPECIES_NONE) - *ptr = 5; + *slotPtr = 5; } else if (GetMonData(&gPlayerParty[4], MON_DATA_SPECIES) != SPECIES_NONE) { - *ptr = 4; + *slotPtr = 4; } } break; - case -2: - if (*ptr == 2 || *ptr == 3) + case MENU_DIR_LEFT: + if (*slotPtr == 2 || *slotPtr == 3) { - gUnknown_0203CEC4->unk8_1 = *ptr; - *ptr = 0; + sPartyMenuInternal->lastSelectedSlot = *slotPtr; + *slotPtr = 0; } - else if (*ptr == 4 || *ptr == 5) + else if (*slotPtr == 4 || *slotPtr == 5) { - gUnknown_0203CEC4->unk8_1 = *ptr; - *ptr = 1; + sPartyMenuInternal->lastSelectedSlot = *slotPtr; + *slotPtr = 1; } break; } } -static s8 sub_81B1B00(s8 a, s8 b) +static s8 GetNewSlotDoubleLayout(s8 slotId, s8 movementDir) { while (TRUE) { - a += b; - if ((u8)a >= 6) + slotId += movementDir; + if ((u8)slotId >= PARTY_SIZE) return -1; - if (GetMonData(&gPlayerParty[a], MON_DATA_SPECIES) != SPECIES_NONE) - return a; + if (GetMonData(&gPlayerParty[slotId], MON_DATA_SPECIES) != SPECIES_NONE) + return slotId; } } @@ -2782,21 +1628,23 @@ u8* GetMonNickname(struct Pokemon *mon, u8 *dest) return StringGetEnd10(dest); } -u8 sub_81B1B5C(const u8* str, u8 b) +#define tKeepOpen data[0] + +u8 DisplayPartyMenuMessage(const u8* str, bool8 keepOpen) { u8 taskId; - sub_81B3300(str); - taskId = CreateTask(sub_81B1B8C, 1); - gTasks[taskId].data[0] = b; + PartyMenuPrintText(str); + taskId = CreateTask(Task_PrintAndWaitForText, 1); + gTasks[taskId].tKeepOpen = keepOpen; return taskId; } -static void sub_81B1B8C(u8 taskId) +static void Task_PrintAndWaitForText(u8 taskId) { if (RunTextPrintersRetIsActive(6) != TRUE) { - if (gTasks[taskId].data[0] == 0) + if (gTasks[taskId].tKeepOpen == FALSE) { ClearStdWindowAndFrameToTransparent(6, 0); ClearWindowTilemap(6); @@ -2805,75 +1653,77 @@ static void sub_81B1B8C(u8 taskId) } } -bool8 sub_81B1BD4(void) +#undef tKeepOpen + +bool8 IsPartyMenuTextPrinterActive(void) { - return FuncIsActiveTask(sub_81B1B8C); + return FuncIsActiveTask(Task_PrintAndWaitForText); } -static void sub_81B1BE8(u8 taskId) +static void Task_WaitForLinkAndReturnToChooseMon(u8 taskId) { if (sub_81221EC() != TRUE) { - display_pokemon_menu_message(0); - gTasks[taskId].func = sub_81B1370; + DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON); + gTasks[taskId].func = Task_HandleChooseMonInput; } } -static void sub_81B1C1C(u8 taskId) +static void Task_ReturnToChooseMonAfterText(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { ClearStdWindowAndFrameToTransparent(6, 0); ClearWindowTilemap(6); if (sub_81221AC() == TRUE) { - gTasks[taskId].func = sub_81B1BE8; + gTasks[taskId].func = Task_WaitForLinkAndReturnToChooseMon; } else { - display_pokemon_menu_message(0); - gTasks[taskId].func = sub_81B1370; + DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON); + gTasks[taskId].func = Task_HandleChooseMonInput; } } } -static void sub_81B1C84(struct Pokemon *mon, u16 item, u8 c, u8 unused) +static void DisplayGaveHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keepOpen, u8 unused) { GetMonNickname(mon, gStringVar1); CopyItemName(item, gStringVar2); StringExpandPlaceholders(gStringVar4, gText_PkmnWasGivenItem); - sub_81B1B5C(gStringVar4, c); + DisplayPartyMenuMessage(gStringVar4, keepOpen); schedule_bg_copy_tilemap_to_vram(2); } -static void sub_81B1CD0(struct Pokemon *mon, u16 item, u8 c) +static void DisplayTookHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keepOpen) { GetMonNickname(mon, gStringVar1); CopyItemName(item, gStringVar2); StringExpandPlaceholders(gStringVar4, gText_ReceivedItemFromPkmn); - sub_81B1B5C(gStringVar4, c); + DisplayPartyMenuMessage(gStringVar4, keepOpen); schedule_bg_copy_tilemap_to_vram(2); } -static void sub_81B1D1C(struct Pokemon *mon, u16 item, u8 c) +static void DisplayAlreadyHoldingItemSwitchMessage(struct Pokemon *mon, u16 item, bool8 keepOpen) { GetMonNickname(mon, gStringVar1); CopyItemName(item, gStringVar2); - StringExpandPlaceholders(gStringVar4, gText_SwitchPkmnItem); - sub_81B1B5C(gStringVar4, c); + StringExpandPlaceholders(gStringVar4, gText_PkmnAlreadyHoldingItemSwitch); + DisplayPartyMenuMessage(gStringVar4, keepOpen); schedule_bg_copy_tilemap_to_vram(2); } -static void sub_81B1D68(u16 item, u16 item2, u8 c) +static void DisplaySwitchedHeldItemMessage(u16 item, u16 item2, bool8 keepOpen) { CopyItemName(item, gStringVar1); CopyItemName(item2, gStringVar2); StringExpandPlaceholders(gStringVar4, gText_SwitchedPkmnItem); - sub_81B1B5C(gStringVar4, c); + DisplayPartyMenuMessage(gStringVar4, keepOpen); schedule_bg_copy_tilemap_to_vram(2); } -static void sub_81B1DB8(struct Pokemon *mon, u16 item) +static void GiveItemToMon(struct Pokemon *mon, u16 item) { u8 itemBytes[2]; @@ -2901,71 +1751,89 @@ static u8 TryTakeMonItem(struct Pokemon* mon) return 2; } -static void pokemon_item_not_removed(u16 itemUnused) +static void BufferBagFullCantTakeItemMessage(u16 itemUnused) { StringExpandPlaceholders(gStringVar4, gText_BagFullCouldNotRemoveItem); } -static void sub_81B1E60(u8 taskId) +#define tHP data[0] +#define tMaxHP data[1] +#define tHPIncrement data[2] +#define tHPToAdd data[3] +#define tPartyId data[4] +#define tStartHP data[5] + +static void Task_PartyMenuModifyHP(u8 taskId) { s16 *data = gTasks[taskId].data; - data[0] += data[2]; - data[3]--; - SetMonData(&gPlayerParty[data[4]], MON_DATA_HP, &data[0]); - DisplayPartyPokemonHPCheck(&gPlayerParty[data[4]], &gUnknown_0203CEDC[data[4]], 1); - DisplayPartyPokemonHPBarCheck(&gPlayerParty[data[4]], &gUnknown_0203CEDC[data[4]]); - if (data[3] == 0 || data[0] == 0 || data[0] == data[1]) + tHP += tHPIncrement; + tHPToAdd--; + SetMonData(&gPlayerParty[tPartyId], MON_DATA_HP, &tHP); + DisplayPartyPokemonHPCheck(&gPlayerParty[tPartyId], &sPartyMenuBoxes[tPartyId], 1); + DisplayPartyPokemonHPBarCheck(&gPlayerParty[tPartyId], &sPartyMenuBoxes[tPartyId]); + if (tHPToAdd == 0 || tHP == 0 || tHP == tMaxHP) { - if (data[0] > data[5]) - ConvertIntToDecimalStringN(gStringVar2, data[0] - data[5], 0, 3); + // If HP was recovered, buffer the amount recovered + if (tHP > tStartHP) + ConvertIntToDecimalStringN(gStringVar2, tHP - tStartHP, STR_CONV_MODE_LEFT_ALIGN, 3); + SwitchTaskToFollowupFunc(taskId); } } -void sub_81B1F18(u8 taskId, u8 slot, s8 c, s16 HPDifference, TaskFunc func) +void PartyMenuModifyHP(u8 taskId, u8 slot, s8 hpIncrement, s16 hpDifference, TaskFunc task) { struct Pokemon *mon = &gPlayerParty[slot]; s16 *data = gTasks[taskId].data; - data[0] = GetMonData(mon, MON_DATA_HP); - data[1] = GetMonData(mon, MON_DATA_MAX_HP); - data[2] = c; - data[3] = HPDifference; - data[4] = slot; - data[5] = data[0]; - SetTaskFuncWithFollowupFunc(taskId, sub_81B1E60, func); + tHP = GetMonData(mon, MON_DATA_HP); + tMaxHP = GetMonData(mon, MON_DATA_MAX_HP); + tHPIncrement = hpIncrement; + tHPToAdd = hpDifference; + tPartyId = slot; + tStartHP = tHP; + SetTaskFuncWithFollowupFunc(taskId, Task_PartyMenuModifyHP, task); } -static void sub_81B1FA8(u8 taskId, u8 b, u32 hp) +// The usage of hp in this function is mostly nonsense +// Because caseId is always passed 0, none of the other cases ever occur +static void ResetHPTaskData(u8 taskId, u8 caseId, u32 hp) { s16 *data = gTasks[taskId].data; - switch (b) // only case 0 is used + switch (caseId) // always zero { case 0: - data[0] = hp; - data[5] = hp; + tHP = hp; + tStartHP = hp; break; case 1: - data[1] = hp; + tMaxHP = hp; break; case 2: - data[2] = hp; + tHPIncrement = hp; break; case 3: - data[3] = hp; + tHPToAdd = hp; break; case 4: - data[4] = hp; + tPartyId = hp; break; case 5: - SetTaskFuncWithFollowupFunc(taskId, sub_81B1E60, (TaskFunc)hp); // >casting hp as a taskfunc + SetTaskFuncWithFollowupFunc(taskId, Task_PartyMenuModifyHP, (TaskFunc)hp); // >casting hp as a taskfunc break; } } -u8 pokemon_ailments_get_primary(u32 status) +#undef tHP +#undef tMaxHP +#undef tHPIncrement +#undef tHPToAdd +#undef tPartyId +#undef tStartHP + +u8 GetAilmentFromStatus(u32 status) { if (status & STATUS1_PSN_ANY) return AILMENT_PSN; @@ -2986,7 +1854,7 @@ u8 GetMonAilment(struct Pokemon *mon) if (GetMonData(mon, MON_DATA_HP) == 0) return AILMENT_FNT; - ailment = pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)); + ailment = GetAilmentFromStatus(GetMonData(mon, MON_DATA_STATUS)); if (ailment != AILMENT_NONE) return ailment; if (CheckPartyPokerus(mon, 0)) @@ -2994,97 +1862,97 @@ u8 GetMonAilment(struct Pokemon *mon) return AILMENT_NONE; } -static void sub_81B209C(void) +static void SetPartyMonsAllowedInMinigame(void) { u16 *ptr; - if (gUnknown_0203CEC8.unk8_0 == 11) + if (gPartyMenu.menuType == PARTY_MENU_TYPE_MINIGAME) { u8 i; - ptr = &gUnknown_0203CEC8.unkE; - gUnknown_0203CEC8.unkE = 0; + ptr = &gPartyMenu.data1; + gPartyMenu.data1 = 0; if (gSpecialVar_0x8005 == 0) { for (i = 0; i < gPlayerPartyCount; i++) - *ptr += sub_81B2134(&gPlayerParty[i]) << i; + *ptr += IsMonAllowedInPokemonJump(&gPlayerParty[i]) << i; } else { for (i = 0; i < gPlayerPartyCount; i++) - *ptr += sub_81B2164(&gPlayerParty[i]) << i; + *ptr += IsMonAllowedInDodrioBerryPicking(&gPlayerParty[i]) << i; } } } -static bool16 sub_81B2134(struct Pokemon *mon) +static bool16 IsMonAllowedInPokemonJump(struct Pokemon *mon) { - if (GetMonData(mon, MON_DATA_IS_EGG) != TRUE && sub_802C908(GetMonData(mon, MON_DATA_SPECIES))) + if (GetMonData(mon, MON_DATA_IS_EGG) != TRUE && IsSpeciesAllowedInPokemonJump(GetMonData(mon, MON_DATA_SPECIES))) return TRUE; return FALSE; } -// Dodrio Berry Picking select? -static bool16 sub_81B2164(struct Pokemon *mon) +static bool16 IsMonAllowedInDodrioBerryPicking(struct Pokemon *mon) { if (GetMonData(mon, MON_DATA_IS_EGG) != TRUE && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_DODRIO) return TRUE; return FALSE; } -static bool8 sub_81B218C(u8 slot) +static bool8 IsMonAllowedInMinigame(u8 slot) { - if (!((gUnknown_0203CEC8.unkE >> slot) & 1)) + if (!((gPartyMenu.data1 >> slot) & 1)) return FALSE; return TRUE; } -static void sub_81B21AC(u8 taskId, u8 slot) +static void TryEnterMonForMinigame(u8 taskId, u8 slot) { - if (sub_81B218C(slot) == TRUE) + if (IsMonAllowedInMinigame(slot) == TRUE) { PlaySE(SE_SELECT); gSpecialVar_0x8004 = slot; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } else { PlaySE(SE_HAZURE); - sub_81B1B5C(gText_PkmnCantParticipate, 0); + DisplayPartyMenuMessage(gText_PkmnCantParticipate, FALSE); schedule_bg_copy_tilemap_to_vram(2); - gTasks[taskId].func = sub_81B1C1C; + gTasks[taskId].func = Task_ReturnToChooseMonAfterText; } } -static void sub_81B2210(u8 taskId) +static void CancelParticipationPrompt(u8 taskId) { - sub_81B1B5C(gText_CancelParticipation, 1); + DisplayPartyMenuMessage(gText_CancelParticipation, TRUE); schedule_bg_copy_tilemap_to_vram(2); - gTasks[taskId].func = sub_81B2248; + gTasks[taskId].func = Task_CancelParticipationYesNo; } -static void sub_81B2248(u8 taskId) +static void Task_CancelParticipationYesNo(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - sub_81B334C(); - gTasks[taskId].func = sub_81B227C; + PartyMenuDisplayYesNoMenu(); + gTasks[taskId].func = Task_HandleCancelParticipationYesNoInput; } } -static void sub_81B227C(u8 taskId) +static void Task_HandleCancelParticipationYesNoInput(u8 taskId) { switch (Menu_ProcessInputNoWrapClearOnChoose()) { case 0: - gSpecialVar_0x8004 = 7; - sub_81B12C0(taskId); + gSpecialVar_0x8004 = PARTY_SIZE + 1; + Task_ClosePartyMenu(taskId); break; case MENU_B_PRESSED: PlaySE(SE_SELECT); + // fallthrough case 1: - gTasks[taskId].func = sub_81B1C1C; + gTasks[taskId].func = Task_ReturnToChooseMonAfterText; break; } } @@ -3132,23 +2000,23 @@ static bool8 CanLearnTutorMove(u16 species, u8 tutor) return FALSE; } -static void sub_81B239C(u8 a) +static void InitPartyMenuWindows(u8 layout) { u8 i; - switch (a) + switch (layout) { - case 0: - InitWindows(gUnknown_08615810); + case PARTY_LAYOUT_SINGLE: + InitWindows(sSinglePartyMenuWindowTemplate); break; - case 1: - InitWindows(gUnknown_08615850); + case PARTY_LAYOUT_DOUBLE: + InitWindows(sDoublePartyMenuWindowTemplate); break; - case 2: - InitWindows(gUnknown_08615890); + case PARTY_LAYOUT_MULTI: + InitWindows(sMultiPartyMenuWindowTemplate); break; - default: - InitWindows(gUnknown_086158D0); + default: // PARTY_LAYOUT_MULTI_SHOWCASE + InitWindows(sShowcaseMultiPartyMenuWindowTemplate); break; } DeactivateAllTextPrinters(); @@ -3159,51 +2027,53 @@ static void sub_81B239C(u8 a) LoadPalette(gUnknown_0860F074, 0xF0, 0x20); } -static void sub_81B2428(bool8 a) +static void CreateCancelConfirmWindows(bool8 chooseHalf) { - u8 firstWindowId; - u8 windowId; + u8 confirmWindowId; + u8 cancelWindowId; u8 offset; u8 mainOffset; - if (gUnknown_0203CEC8.unk8_0 != 5) + if (gPartyMenu.menuType != PARTY_MENU_TYPE_MULTI_SHOWCASE) { - if (a == TRUE) + if (chooseHalf == TRUE) { - firstWindowId = AddWindow(&gUnknown_08615918); - FillWindowPixelBuffer(firstWindowId, PIXEL_FILL(0)); + confirmWindowId = AddWindow(&sConfirmButtonWindowTemplate); + FillWindowPixelBuffer(confirmWindowId, PIXEL_FILL(0)); mainOffset = GetStringCenterAlignXOffset(0, gMenuText_Confirm, 48); - AddTextPrinterParameterized4(firstWindowId, 0, mainOffset, 1, 0, 0, sFontColorTable[0], -1, gMenuText_Confirm); - PutWindowTilemap(firstWindowId); - CopyWindowToVram(firstWindowId, 2); - windowId = AddWindow(&gUnknown_08615910); + AddTextPrinterParameterized4(confirmWindowId, 0, mainOffset, 1, 0, 0, sFontColorTable[0], -1, gMenuText_Confirm); + PutWindowTilemap(confirmWindowId); + CopyWindowToVram(confirmWindowId, 2); + cancelWindowId = AddWindow(&sMultiCancelButtonWindowTemplate); offset = 0; } else { - windowId = AddWindow(&gUnknown_08615908); + cancelWindowId = AddWindow(&sCancelButtonWindowTemplate); offset = 3; } - FillWindowPixelBuffer(windowId, PIXEL_FILL(0)); - if (gUnknown_0203CEC8.unk8_0 != 10) + FillWindowPixelBuffer(cancelWindowId, PIXEL_FILL(0)); + + // Branches are functionally identical. Second branch is never reached, Spin Trade wasnt fully implemented + if (gPartyMenu.menuType != PARTY_MENU_TYPE_SPIN_TRADE) { mainOffset = GetStringCenterAlignXOffset(0, gText_Cancel, 48); - AddTextPrinterParameterized3(windowId, 0, mainOffset + offset, 1, sFontColorTable[0], -1, gText_Cancel); + AddTextPrinterParameterized3(cancelWindowId, 0, mainOffset + offset, 1, sFontColorTable[0], -1, gText_Cancel); } else { mainOffset = GetStringCenterAlignXOffset(0, gText_Cancel2, 48); - AddTextPrinterParameterized3(windowId, 0, mainOffset + offset, 1, sFontColorTable[0], -1, gText_Cancel2); + AddTextPrinterParameterized3(cancelWindowId, 0, mainOffset + offset, 1, sFontColorTable[0], -1, gText_Cancel2); } - PutWindowTilemap(windowId); - CopyWindowToVram(windowId, 2); + PutWindowTilemap(cancelWindowId); + CopyWindowToVram(cancelWindowId, 2); schedule_bg_copy_tilemap_to_vram(0); } } -static u16* GetPartyMenuPaletteFromBuffer(u8 paletteId) +static u16* GetPartyMenuPalBufferPtr(u8 paletteId) { - return &gUnknown_0203CEC4->palBuffer[paletteId]; + return &sPartyMenuInternal->palBuffer[paletteId]; } static void BlitBitmapToPartyWindow(u8 windowId, const u8 *b, u8 c, u8 x, u8 y, u8 width, u8 height) @@ -3216,14 +2086,14 @@ static void BlitBitmapToPartyWindow(u8 windowId, const u8 *b, u8 c, u8 x, u8 y, for (i = 0; i < height; i++) { for (j = 0; j < width; j++) - CpuCopy16(GetPartyMiscGraphicsTile(b[x + j + ((y + i) * c)]), &pixels[(i * width + j) * 32], 32); + CpuCopy16(GetPartyMenuBgTile(b[x + j + ((y + i) * c)]), &pixels[(i * width + j) * 32], 32); } BlitBitmapToWindow(windowId, pixels, x * 8, y * 8, width * 8, height * 8); Free(pixels); } } -static void BlitBitmapToPartyWindow_Default1(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 isEgg) +static void BlitBitmapToPartyWindow_LeftColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 isEgg) { if (width == 0 && height == 0) { @@ -3236,7 +2106,7 @@ static void BlitBitmapToPartyWindow_Default1(u8 windowId, u8 x, u8 y, u8 width, BlitBitmapToPartyWindow(windowId, sMainSlotTileNums_Egg, 10, x, y, width, height); } -static void BlitBitmapToPartyWindow_Default2(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 isEgg) +static void BlitBitmapToPartyWindow_RightColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 isEgg) { if (width == 0 && height == 0) { @@ -3254,126 +2124,87 @@ static void DrawEmptySlot(u8 windowId) BlitBitmapToPartyWindow(windowId, sEmptySlotTileNums, 18, 0, 0, 18, 3); } -static void UpdateSelectedPartyBox(struct Struct203CEDC *ptr, u8 bitfield) -{ - u8 palNum = GetWindowAttribute(ptr->windowId, WINDOW_PALETTE_NUM) * 16; +#define LOAD_PARTY_BOX_PAL(paletteIds, paletteOffsets) \ +{ \ + LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[0]), paletteOffsets[0] + palNum, 2); \ + LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[1]), paletteOffsets[1] + palNum, 2); \ + LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[2]), paletteOffsets[2] + palNum, 2); \ +} - if (bitfield & 0x40) +static void LoadPartyBoxPalette(struct PartyMenuBox *menuBox, u8 palFlags) +{ + u8 palNum = GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM) * 16; + + if (palFlags & PARTY_PAL_NO_MON) { - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AF1[0]), gUnknown_08615AC0[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AF1[1]), gUnknown_08615AC0[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AF1[2]), gUnknown_08615AC0[2] + palNum, 2); + LOAD_PARTY_BOX_PAL(sPartyBoxNoMonPalIds, sPartyBoxNoMonPalOffsets); } - else if (bitfield & 0x20) + else if (palFlags & PARTY_PAL_TO_SOFTBOIL) { - if (bitfield & 1) + if (palFlags & PARTY_PAL_SELECTED) { - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[0]), gUnknown_08615ABA[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[1]), gUnknown_08615ABA[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[2]), gUnknown_08615ABA[2] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[0]), gUnknown_08615ABD[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[1]), gUnknown_08615ABD[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[2]), gUnknown_08615ABD[2] + palNum, 2); + LOAD_PARTY_BOX_PAL(sPartyBoxSelectedForActionPalIds1, sPartyBoxPalOffsets1); + LOAD_PARTY_BOX_PAL(sPartyBoxCurrSelectionPalIds2, sPartyBoxPalOffsets2); } else { - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[0]), gUnknown_08615ABA[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[1]), gUnknown_08615ABA[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[2]), gUnknown_08615ABA[2] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[0]), gUnknown_08615ABD[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[1]), gUnknown_08615ABD[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[2]), gUnknown_08615ABD[2] + palNum, 2); + LOAD_PARTY_BOX_PAL(sPartyBoxSelectedForActionPalIds1, sPartyBoxPalOffsets1); + LOAD_PARTY_BOX_PAL(sPartyBoxSelectedForActionPalIds2, sPartyBoxPalOffsets2); } } - else if (bitfield & 0x10) + else if (palFlags & PARTY_PAL_SWITCHING) { - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[0]), gUnknown_08615ABA[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[1]), gUnknown_08615ABA[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[2]), gUnknown_08615ABA[2] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[0]), gUnknown_08615ABD[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[1]), gUnknown_08615ABD[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[2]), gUnknown_08615ABD[2] + palNum, 2); + LOAD_PARTY_BOX_PAL(sPartyBoxSelectedForActionPalIds1, sPartyBoxPalOffsets1); + LOAD_PARTY_BOX_PAL(sPartyBoxSelectedForActionPalIds2, sPartyBoxPalOffsets2); } - else if (bitfield & 4) + else if (palFlags & PARTY_PAL_TO_SWITCH) { - if (bitfield & 1) + if (palFlags & PARTY_PAL_SELECTED) { - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[0]), gUnknown_08615ABA[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[1]), gUnknown_08615ABA[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[2]), gUnknown_08615ABA[2] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[0]), gUnknown_08615ABD[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[1]), gUnknown_08615ABD[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[2]), gUnknown_08615ABD[2] + palNum, 2); + LOAD_PARTY_BOX_PAL(sPartyBoxSelectedForActionPalIds1, sPartyBoxPalOffsets1); + LOAD_PARTY_BOX_PAL(sPartyBoxCurrSelectionPalIds2, sPartyBoxPalOffsets2); } else { - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[0]), gUnknown_08615ABA[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[1]), gUnknown_08615ABA[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[2]), gUnknown_08615ABA[2] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[0]), gUnknown_08615ABD[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[1]), gUnknown_08615ABD[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[2]), gUnknown_08615ABD[2] + palNum, 2); + LOAD_PARTY_BOX_PAL(sPartyBoxSelectedForActionPalIds1, sPartyBoxPalOffsets1); + LOAD_PARTY_BOX_PAL(sPartyBoxSelectedForActionPalIds2, sPartyBoxPalOffsets2); } } - else if (bitfield & 2) + else if (palFlags & PARTY_PAL_FAINTED) { - if (bitfield & 1) + if (palFlags & PARTY_PAL_SELECTED) { - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADC[0]), gUnknown_08615ABA[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADC[1]), gUnknown_08615ABA[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADC[2]), gUnknown_08615ABA[2] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[0]), gUnknown_08615ABD[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[1]), gUnknown_08615ABD[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[2]), gUnknown_08615ABD[2] + palNum, 2); + LOAD_PARTY_BOX_PAL(sPartyBoxCurrSelectionFaintedPalIds, sPartyBoxPalOffsets1); + LOAD_PARTY_BOX_PAL(sPartyBoxCurrSelectionPalIds2, sPartyBoxPalOffsets2); } else { - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD3[0]), gUnknown_08615ABA[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD3[1]), gUnknown_08615ABA[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD3[2]), gUnknown_08615ABA[2] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE8[0]), gUnknown_08615ABD[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE8[1]), gUnknown_08615ABD[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE8[2]), gUnknown_08615ABD[2] + palNum, 2); + LOAD_PARTY_BOX_PAL(sPartyBoxFaintedPalIds1, sPartyBoxPalOffsets1); + LOAD_PARTY_BOX_PAL(sPartyBoxFaintedPalIds2, sPartyBoxPalOffsets2); } } - else if (bitfield & 8) + else if (palFlags & PARTY_PAL_MULTI_ALT) { - if (bitfield & 1) + if (palFlags & PARTY_PAL_SELECTED) { - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD9[0]), gUnknown_08615ABA[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD9[1]), gUnknown_08615ABA[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD9[2]), gUnknown_08615ABA[2] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[0]), gUnknown_08615ABD[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[1]), gUnknown_08615ABD[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[2]), gUnknown_08615ABD[2] + palNum, 2); + LOAD_PARTY_BOX_PAL(sPartyBoxCurrSelectionMultiPalIds, sPartyBoxPalOffsets1); + LOAD_PARTY_BOX_PAL(sPartyBoxCurrSelectionPalIds2, sPartyBoxPalOffsets2); } else { - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD0[0]), gUnknown_08615ABA[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD0[1]), gUnknown_08615ABA[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD0[2]), gUnknown_08615ABA[2] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE5[0]), gUnknown_08615ABD[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE5[1]), gUnknown_08615ABD[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE5[2]), gUnknown_08615ABD[2] + palNum, 2); + LOAD_PARTY_BOX_PAL(sPartyBoxMultiPalIds1, sPartyBoxPalOffsets1); + LOAD_PARTY_BOX_PAL(sPartyBoxMultiPalIds2, sPartyBoxPalOffsets2); } } - else if (bitfield & 1) + else if (palFlags & PARTY_PAL_SELECTED) { - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD6[0]), gUnknown_08615ABA[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD6[1]), gUnknown_08615ABA[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD6[2]), gUnknown_08615ABA[2] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[0]), gUnknown_08615ABD[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[1]), gUnknown_08615ABD[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[2]), gUnknown_08615ABD[2] + palNum, 2); + LOAD_PARTY_BOX_PAL(sPartyBoxCurrSelectionPalIds1, sPartyBoxPalOffsets1); + LOAD_PARTY_BOX_PAL(sPartyBoxCurrSelectionPalIds2, sPartyBoxPalOffsets2); } else { - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACD[0]), gUnknown_08615ABA[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACD[1]), gUnknown_08615ABA[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACD[2]), gUnknown_08615ABA[2] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE2[0]), gUnknown_08615ABD[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE2[1]), gUnknown_08615ABD[1] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE2[2]), gUnknown_08615ABD[2] + palNum, 2); + LOAD_PARTY_BOX_PAL(sPartyBoxEmptySlotPalIds1, sPartyBoxPalOffsets1); + LOAD_PARTY_BOX_PAL(sPartyBoxEmptySlotPalIds2, sPartyBoxPalOffsets2); } } @@ -3382,20 +2213,20 @@ static void DisplayPartyPokemonBarDetail(u8 windowId, const u8 *str, u8 color, c AddTextPrinterParameterized3(windowId, 0, align[0], align[1], sFontColorTable[color], 0, str); } -static void DisplayPartyPokemonNickname(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c) +static void DisplayPartyPokemonNickname(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c) { u8 nickname[POKEMON_NAME_LENGTH + 1]; if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) { if (c == 1) - ptr->unk0->unk0(ptr->windowId, ptr->unk0->unk4[0] >> 3, ptr->unk0->unk4[1] >> 3, ptr->unk0->unk4[2] >> 3, ptr->unk0->unk4[3] >> 3, 0); + menuBox->infoRects->blitFunc(menuBox->windowId, menuBox->infoRects->dimensions[0] >> 3, menuBox->infoRects->dimensions[1] >> 3, menuBox->infoRects->dimensions[2] >> 3, menuBox->infoRects->dimensions[3] >> 3, FALSE); GetMonNickname(mon, nickname); - DisplayPartyPokemonBarDetail(ptr->windowId, nickname, 0, ptr->unk0->unk4); + DisplayPartyPokemonBarDetail(menuBox->windowId, nickname, 0, menuBox->infoRects->dimensions); } } -static void DisplayPartyPokemonLevelCheck(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c) +static void DisplayPartyPokemonLevelCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c) { if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) { @@ -3403,34 +2234,34 @@ static void DisplayPartyPokemonLevelCheck(struct Pokemon *mon, struct Struct203C if (ailment == AILMENT_NONE || ailment == AILMENT_PKRS) { if (c != 0) - ptr->unk0->unk0(ptr->windowId, ptr->unk0->unk4[4] >> 3, (ptr->unk0->unk4[5] >> 3) + 1, ptr->unk0->unk4[6] >> 3, ptr->unk0->unk4[7] >> 3, 0); + menuBox->infoRects->blitFunc(menuBox->windowId, menuBox->infoRects->dimensions[4] >> 3, (menuBox->infoRects->dimensions[5] >> 3) + 1, menuBox->infoRects->dimensions[6] >> 3, menuBox->infoRects->dimensions[7] >> 3, FALSE); if (c != 2) - DisplayPartyPokemonLevel(GetMonData(mon, MON_DATA_LEVEL), ptr); + DisplayPartyPokemonLevel(GetMonData(mon, MON_DATA_LEVEL), menuBox); } } } -static void DisplayPartyPokemonLevel(u8 level, struct Struct203CEDC *ptr) +static void DisplayPartyPokemonLevel(u8 level, struct PartyMenuBox *menuBox) { - ConvertIntToDecimalStringN(gStringVar2, level, 0, 3); + ConvertIntToDecimalStringN(gStringVar2, level, STR_CONV_MODE_LEFT_ALIGN, 3); StringCopy(gStringVar1, gText_LevelSymbol); StringAppend(gStringVar1, gStringVar2); - DisplayPartyPokemonBarDetail(ptr->windowId, gStringVar1, 0, &ptr->unk0->unk4[4]); + DisplayPartyPokemonBarDetail(menuBox->windowId, gStringVar1, 0, &menuBox->infoRects->dimensions[4]); } -static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c) +static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c) { u8 nickname[POKEMON_NAME_LENGTH + 1]; if (c == 1) - ptr->unk0->unk0(ptr->windowId, ptr->unk0->unk4[8] >> 3, (ptr->unk0->unk4[9] >> 3) + 1, ptr->unk0->unk4[10] >> 3, ptr->unk0->unk4[11] >> 3, 0); + menuBox->infoRects->blitFunc(menuBox->windowId, menuBox->infoRects->dimensions[8] >> 3, (menuBox->infoRects->dimensions[9] >> 3) + 1, menuBox->infoRects->dimensions[10] >> 3, menuBox->infoRects->dimensions[11] >> 3, FALSE); GetMonNickname(mon, nickname); - DisplayPartyPokemonGender(GetMonGender(mon), GetMonData(mon, MON_DATA_SPECIES), nickname, ptr); + DisplayPartyPokemonGender(GetMonGender(mon), GetMonData(mon, MON_DATA_SPECIES), nickname, menuBox); } -static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, struct Struct203CEDC *ptr) +static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, struct PartyMenuBox *menuBox) { - u8 palNum = GetWindowAttribute(ptr->windowId, WINDOW_PALETTE_NUM) * 16; + u8 palNum = GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM) * 16; if (species == SPECIES_NONE) return; @@ -3439,111 +2270,111 @@ static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, stru switch (gender) { case MON_MALE: - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC3[0]), gUnknown_08615AB6[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC3[1]), gUnknown_08615AB6[1] + palNum, 2); - DisplayPartyPokemonBarDetail(ptr->windowId, gText_MaleSymbol, 2, &ptr->unk0->unk4[8]); + LoadPalette(GetPartyMenuPalBufferPtr(sGenderMalePalIds[0]), sGenderPalOffsets[0] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sGenderMalePalIds[1]), sGenderPalOffsets[1] + palNum, 2); + DisplayPartyPokemonBarDetail(menuBox->windowId, gText_MaleSymbol, 2, &menuBox->infoRects->dimensions[8]); break; case MON_FEMALE: - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC5[0]), gUnknown_08615AB6[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC5[1]), gUnknown_08615AB6[1] + palNum, 2); - DisplayPartyPokemonBarDetail(ptr->windowId, gText_FemaleSymbol, 2, &ptr->unk0->unk4[8]); + LoadPalette(GetPartyMenuPalBufferPtr(sGenderFemalePalIds[0]), sGenderPalOffsets[0] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sGenderFemalePalIds[1]), sGenderPalOffsets[1] + palNum, 2); + DisplayPartyPokemonBarDetail(menuBox->windowId, gText_FemaleSymbol, 2, &menuBox->infoRects->dimensions[8]); break; } } -static void DisplayPartyPokemonHPCheck(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c) +static void DisplayPartyPokemonHPCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c) { if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) { if (c != 0) - ptr->unk0->unk0(ptr->windowId, ptr->unk0->unk4[12] >> 3, (ptr->unk0->unk4[13] >> 3) + 1, ptr->unk0->unk4[14] >> 3, ptr->unk0->unk4[15] >> 3, 0); + menuBox->infoRects->blitFunc(menuBox->windowId, menuBox->infoRects->dimensions[12] >> 3, (menuBox->infoRects->dimensions[13] >> 3) + 1, menuBox->infoRects->dimensions[14] >> 3, menuBox->infoRects->dimensions[15] >> 3, FALSE); if (c != 2) - DisplayPartyPokemonHP(GetMonData(mon, MON_DATA_HP), ptr); + DisplayPartyPokemonHP(GetMonData(mon, MON_DATA_HP), menuBox); } } -static void DisplayPartyPokemonHP(u16 hp, struct Struct203CEDC *ptr) +static void DisplayPartyPokemonHP(u16 hp, struct PartyMenuBox *menuBox) { - u8 *strOut = ConvertIntToDecimalStringN(gStringVar1, hp, 1, 3); + u8 *strOut = ConvertIntToDecimalStringN(gStringVar1, hp, STR_CONV_MODE_RIGHT_ALIGN, 3); strOut[0] = CHAR_SLASH; strOut[1] = EOS; - DisplayPartyPokemonBarDetail(ptr->windowId, gStringVar1, 0, &ptr->unk0->unk4[12]); + DisplayPartyPokemonBarDetail(menuBox->windowId, gStringVar1, 0, &menuBox->infoRects->dimensions[12]); } -static void DisplayPartyPokemonMaxHPCheck(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c) +static void DisplayPartyPokemonMaxHPCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c) { if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) { if (c != 0) - ptr->unk0->unk0(ptr->windowId, (ptr->unk0->unk4[16] >> 3) + 1, (ptr->unk0->unk4[17] >> 3) + 1, ptr->unk0->unk4[18] >> 3, ptr->unk0->unk4[19] >> 3, 0); + menuBox->infoRects->blitFunc(menuBox->windowId, (menuBox->infoRects->dimensions[16] >> 3) + 1, (menuBox->infoRects->dimensions[17] >> 3) + 1, menuBox->infoRects->dimensions[18] >> 3, menuBox->infoRects->dimensions[19] >> 3, FALSE); if (c != 2) - DisplayPartyPokemonMaxHP(GetMonData(mon, MON_DATA_MAX_HP), ptr); + DisplayPartyPokemonMaxHP(GetMonData(mon, MON_DATA_MAX_HP), menuBox); } } -static void DisplayPartyPokemonMaxHP(u16 maxhp, struct Struct203CEDC *ptr) +static void DisplayPartyPokemonMaxHP(u16 maxhp, struct PartyMenuBox *menuBox) { - ConvertIntToDecimalStringN(gStringVar2, maxhp, 1, 3); + ConvertIntToDecimalStringN(gStringVar2, maxhp, STR_CONV_MODE_RIGHT_ALIGN, 3); StringCopy(gStringVar1, gText_Slash); StringAppend(gStringVar1, gStringVar2); - DisplayPartyPokemonBarDetail(ptr->windowId, gStringVar1, 0, &ptr->unk0->unk4[16]); + DisplayPartyPokemonBarDetail(menuBox->windowId, gStringVar1, 0, &menuBox->infoRects->dimensions[16]); } -static void DisplayPartyPokemonHPBarCheck(struct Pokemon *mon, struct Struct203CEDC *ptr) +static void DisplayPartyPokemonHPBarCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox) { if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) - DisplayPartyPokemonHPBar(GetMonData(mon, MON_DATA_HP), GetMonData(mon, MON_DATA_MAX_HP), ptr); + DisplayPartyPokemonHPBar(GetMonData(mon, MON_DATA_HP), GetMonData(mon, MON_DATA_MAX_HP), menuBox); } -static void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct Struct203CEDC *ptr) +static void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct PartyMenuBox *menuBox) { - u8 palNum = GetWindowAttribute(ptr->windowId, WINDOW_PALETTE_NUM) * 16; + u8 palNum = GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM) * 16; u8 hpFraction; switch (GetHPBarLevel(hp, maxhp)) { case HP_BAR_GREEN: case HP_BAR_FULL: - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC7[0]), gUnknown_08615AB8[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC7[1]), gUnknown_08615AB8[1] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarGreenPalIds[0]), sHPBarPalOffsets[0] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarGreenPalIds[1]), sHPBarPalOffsets[1] + palNum, 2); break; case HP_BAR_YELLOW: - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC9[0]), gUnknown_08615AB8[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC9[1]), gUnknown_08615AB8[1] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarYellowPalIds[0]), sHPBarPalOffsets[0] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarYellowPalIds[1]), sHPBarPalOffsets[1] + palNum, 2); break; default: - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACB[0]), gUnknown_08615AB8[0] + palNum, 2); - LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACB[1]), gUnknown_08615AB8[1] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarRedPalIds[0]), sHPBarPalOffsets[0] + palNum, 2); + LoadPalette(GetPartyMenuPalBufferPtr(sHPBarRedPalIds[1]), sHPBarPalOffsets[1] + palNum, 2); break; } - hpFraction = GetScaledHPFraction(hp, maxhp, ptr->unk0->unk4[22]); - FillWindowPixelRect(ptr->windowId, gUnknown_08615AB8[1], ptr->unk0->unk4[20], ptr->unk0->unk4[21], hpFraction, 1); - FillWindowPixelRect(ptr->windowId, gUnknown_08615AB8[0], ptr->unk0->unk4[20], ptr->unk0->unk4[21] + 1, hpFraction, 2); - if (hpFraction != ptr->unk0->unk4[22]) + hpFraction = GetScaledHPFraction(hp, maxhp, menuBox->infoRects->dimensions[22]); + FillWindowPixelRect(menuBox->windowId, sHPBarPalOffsets[1], menuBox->infoRects->dimensions[20], menuBox->infoRects->dimensions[21], hpFraction, 1); + FillWindowPixelRect(menuBox->windowId, sHPBarPalOffsets[0], menuBox->infoRects->dimensions[20], menuBox->infoRects->dimensions[21] + 1, hpFraction, 2); + if (hpFraction != menuBox->infoRects->dimensions[22]) { // This appears to be an alternating fill - FillWindowPixelRect(ptr->windowId, 0x0D, ptr->unk0->unk4[20] + hpFraction, ptr->unk0->unk4[21], ptr->unk0->unk4[22] - hpFraction, 1); - FillWindowPixelRect(ptr->windowId, 0x02, ptr->unk0->unk4[20] + hpFraction, ptr->unk0->unk4[21] + 1, ptr->unk0->unk4[22] - hpFraction, 2); + FillWindowPixelRect(menuBox->windowId, 0x0D, menuBox->infoRects->dimensions[20] + hpFraction, menuBox->infoRects->dimensions[21], menuBox->infoRects->dimensions[22] - hpFraction, 1); + FillWindowPixelRect(menuBox->windowId, 0x02, menuBox->infoRects->dimensions[20] + hpFraction, menuBox->infoRects->dimensions[21] + 1, menuBox->infoRects->dimensions[22] - hpFraction, 2); } - CopyWindowToVram(ptr->windowId, 2); + CopyWindowToVram(menuBox->windowId, 2); } -static void DisplayPartyPokemonOtherText(u8 stringID, struct Struct203CEDC *ptr, u8 c) +static void DisplayPartyPokemonDescriptionText(u8 stringID, struct PartyMenuBox *menuBox, u8 c) { - if (c != 0) + if (c) { - int unk = ((ptr->unk0->unk1C % 8) + ptr->unk0->unk1E + 7) / 8; - int unk2 = ((ptr->unk0->unk1D % 8) + ptr->unk0->unk1F + 7) / 8; - ptr->unk0->unk0(ptr->windowId, ptr->unk0->unk1C >> 3, ptr->unk0->unk1D >> 3, unk, unk2, 1); + int width = ((menuBox->infoRects->descTextLeft % 8) + menuBox->infoRects->descTextWidth + 7) / 8; + int height = ((menuBox->infoRects->descTextTop % 8) + menuBox->infoRects->descTextHeight + 7) / 8; + menuBox->infoRects->blitFunc(menuBox->windowId, menuBox->infoRects->descTextLeft >> 3, menuBox->infoRects->descTextTop >> 3, width, height, TRUE); } if (c != 2) - AddTextPrinterParameterized3(ptr->windowId, 1, ptr->unk0->unk1C, ptr->unk0->unk1D, sFontColorTable[0], 0, sSelectionStringTable[stringID]); + AddTextPrinterParameterized3(menuBox->windowId, 1, menuBox->infoRects->descTextLeft, menuBox->infoRects->descTextTop, sFontColorTable[0], 0, sDescriptionStringTable[stringID]); } -static void sub_81B302C(u8 *ptr) +static void PartyMenuRemoveWindow(u8 *ptr) { if (*ptr != 0xFF) { @@ -3554,166 +2385,169 @@ static void sub_81B302C(u8 *ptr) } } -void display_pokemon_menu_message(u32 stringID) +void DisplayPartyMenuStdMessage(u32 stringId) { - u8 *windowPtr = &gUnknown_0203CEC4->windowId[1]; + u8 *windowPtr = &sPartyMenuInternal->windowId[1]; if (*windowPtr != 0xFF) - sub_81B302C(windowPtr); + PartyMenuRemoveWindow(windowPtr); - if (stringID != 0x7F) + if (stringId != PARTY_MSG_NONE) { - switch (stringID) + switch (stringId) { - case 21: - *windowPtr = AddWindow(&gUnknown_08615928); + case PARTY_MSG_DO_WHAT_WITH_MON: + *windowPtr = AddWindow(&sDoWhatWithMonMsgWindowTemplate); break; - case 24: - *windowPtr = AddWindow(&gUnknown_08615930); + case PARTY_MSG_DO_WHAT_WITH_ITEM: + *windowPtr = AddWindow(&sDoWhatWithItemMsgWindowTemplate); break; - case 25: - *windowPtr = AddWindow(&gUnknown_08615938); + case PARTY_MSG_DO_WHAT_WITH_MAIL: + *windowPtr = AddWindow(&sDoWhatWithMailMsgWindowTemplate); break; - case 22: - case 23: - *windowPtr = AddWindow(&gUnknown_08615940); + case PARTY_MSG_RESTORE_WHICH_MOVE: + case PARTY_MSG_BOOST_PP_WHICH_MOVE: + *windowPtr = AddWindow(&sWhichMoveMsgWindowTemplate); break; - case 26: - *windowPtr = AddWindow(&gUnknown_08615948); + case PARTY_MSG_ALREADY_HOLDING_ONE: + *windowPtr = AddWindow(&sAlreadyHoldingOneMsgWindowTemplate); break; default: - *windowPtr = AddWindow(&gUnknown_08615920); + *windowPtr = AddWindow(&sDefaultPartyMsgWindowTemplate); break; } - if (stringID == 0) + + if (stringId == PARTY_MSG_CHOOSE_MON) { - if (gUnknown_0203CEC4->unk8_0) - stringID = 2; - else if (sub_81B314C() == FALSE) - stringID = 1; + if (sPartyMenuInternal->chooseHalf) + stringId = PARTY_MSG_CHOOSE_MON_AND_CONFIRM; + else if (!ShouldUseChooseMonText()) + stringId = PARTY_MSG_CHOOSE_MON_OR_CANCEL; } DrawStdFrameWithCustomTileAndPalette(*windowPtr, FALSE, 0x4F, 0xD); - StringExpandPlaceholders(gStringVar4, sActionStringTable[stringID]); + StringExpandPlaceholders(gStringVar4, sActionStringTable[stringId]); AddTextPrinterParameterized(*windowPtr, 1, gStringVar4, 0, 1, 0, 0); schedule_bg_copy_tilemap_to_vram(2); } } -static bool8 sub_81B314C(void) +static bool8 ShouldUseChooseMonText(void) { struct Pokemon *party = gPlayerParty; u8 i; - u8 j = 0; + u8 numAliveMons = 0; - if (gUnknown_0203CEC8.unkB == 1) + if (gPartyMenu.action == PARTY_ACTION_SEND_OUT) return TRUE; - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { if (GetMonData(&party[i], MON_DATA_SPECIES) != SPECIES_NONE && (GetMonData(&party[i], MON_DATA_HP) != 0 || GetMonData(&party[i], MON_DATA_IS_EGG))) - j++; - if (j > 1) + numAliveMons++; + if (numAliveMons > 1) return TRUE; } return FALSE; } -static u8 sub_81B31B0(u8 a) +static u8 DisplaySelectionWindow(u8 windowType) { struct WindowTemplate window; u8 cursorDimension; u8 fontAttribute; u8 i; - switch (a) + switch (windowType) { - case 0: - SetWindowTemplateFields(&window, 2, 19, 19 - (gUnknown_0203CEC4->listSize * 2), 10, gUnknown_0203CEC4->listSize * 2, 14, 0x2E9); + case SELECTWINDOW_ACTIONS: + SetWindowTemplateFields(&window, 2, 19, 19 - (sPartyMenuInternal->numActions * 2), 10, sPartyMenuInternal->numActions * 2, 14, 0x2E9); break; - case 1: - window = gUnknown_08615950; + case SELECTWINDOW_ITEM: + window = sItemGiveTakeWindowTemplate; break; - case 2: - window = gUnknown_08615958; + case SELECTWINDOW_MAIL: + window = sMailReadTakeWindowTemplate; break; - default: - window = gUnknown_08615960; + default: // SELECTWINDOW_MOVES + window = sMoveSelectWindowTemplate; break; } - gUnknown_0203CEC4->windowId[0] = AddWindow(&window); - DrawStdFrameWithCustomTileAndPalette(gUnknown_0203CEC4->windowId[0], FALSE, 0x4F, 13); - if (a == 3) - return gUnknown_0203CEC4->windowId[0]; + sPartyMenuInternal->windowId[0] = AddWindow(&window); + DrawStdFrameWithCustomTileAndPalette(sPartyMenuInternal->windowId[0], FALSE, 0x4F, 13); + if (windowType == SELECTWINDOW_MOVES) + return sPartyMenuInternal->windowId[0]; cursorDimension = GetMenuCursorDimensionByFont(1, 0); fontAttribute = GetFontAttribute(1, 2); - for (i = 0; i < gUnknown_0203CEC4->listSize; i++) + for (i = 0; i < sPartyMenuInternal->numActions; i++) { - u8 unk = (gUnknown_0203CEC4->actions[i] >= MENU_FIELD_MOVES) ? 4 : 3; - AddTextPrinterParameterized4(gUnknown_0203CEC4->windowId[0], 1, cursorDimension, (i * 16) + 1, fontAttribute, 0, sFontColorTable[unk], 0, sCursorOptions[gUnknown_0203CEC4->actions[i]].text); + u8 fontColorsId = (sPartyMenuInternal->actions[i] >= MENU_FIELD_MOVES) ? 4 : 3; + AddTextPrinterParameterized4(sPartyMenuInternal->windowId[0], 1, cursorDimension, (i * 16) + 1, fontAttribute, 0, sFontColorTable[fontColorsId], 0, sCursorOptions[sPartyMenuInternal->actions[i]].text); } - InitMenuInUpperLeftCorner(gUnknown_0203CEC4->windowId[0], gUnknown_0203CEC4->listSize, 0, 1); + InitMenuInUpperLeftCorner(sPartyMenuInternal->windowId[0], sPartyMenuInternal->numActions, 0, 1); schedule_bg_copy_tilemap_to_vram(2); - return gUnknown_0203CEC4->windowId[0]; + return sPartyMenuInternal->windowId[0]; } -static void sub_81B3300(const u8 *text) +static void PartyMenuPrintText(const u8 *text) { DrawStdFrameWithCustomTileAndPalette(6, FALSE, 0x4F, 13); gTextFlags.canABSpeedUpPrint = TRUE; AddTextPrinterParameterized2(6, 1, text, GetPlayerTextSpeedDelay(), 0, 2, 1, 3); } -static void sub_81B334C(void) +static void PartyMenuDisplayYesNoMenu(void) { - CreateYesNoMenu(&gUnknown_08615968, 0x4F, 13, 0); + CreateYesNoMenu(&sPartyMenuYesNoWindowTemplate, 0x4F, 13, 0); } -static u8 sub_81B3364(void) +static u8 CreateLevelUpStatsWindow(void) { - gUnknown_0203CEC4->windowId[0] = AddWindow(&gUnknown_08615970); - DrawStdFrameWithCustomTileAndPalette(gUnknown_0203CEC4->windowId[0], FALSE, 0x4F, 13); - return gUnknown_0203CEC4->windowId[0]; + sPartyMenuInternal->windowId[0] = AddWindow(&sLevelUpStatsWindowTemplate); + DrawStdFrameWithCustomTileAndPalette(sPartyMenuInternal->windowId[0], FALSE, 0x4F, 13); + return sPartyMenuInternal->windowId[0]; } -static void sub_81B3394(void) +static void RemoveLevelUpStatsWindow(void) { - ClearWindowTilemap(gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); + ClearWindowTilemap(sPartyMenuInternal->windowId[0]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); } -static void sub_81B33B4(struct Pokemon *mons, u8 slotId, u8 b) +static void SetPartyMonSelectionActions(struct Pokemon *mons, u8 slotId, u8 action) { u8 i; - if (b == 0) + if (action == ACTIONS_NONE) { - CreateActionList(mons, slotId); + SetPartyMonFieldSelectionActions(mons, slotId); } else { - gUnknown_0203CEC4->listSize = sListSizeTable[b]; - for (i = 0; i < gUnknown_0203CEC4->listSize; i++) - gUnknown_0203CEC4->actions[i] = sActionTable[b][i]; + sPartyMenuInternal->numActions = sPartyMenuActionCounts[action]; + for (i = 0; i < sPartyMenuInternal->numActions; i++) + sPartyMenuInternal->actions[i] = sPartyMenuActions[action][i]; } } -static void CreateActionList(struct Pokemon *mons, u8 slotId) +static void SetPartyMonFieldSelectionActions(struct Pokemon *mons, u8 slotId) { u8 i, j; - gUnknown_0203CEC4->listSize = 0; - AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, MENU_SUMMARY); + sPartyMenuInternal->numActions = 0; + AppendToList(sPartyMenuInternal->actions, &sPartyMenuInternal->numActions, MENU_SUMMARY); + + // Add field moves to action list for (i = 0; i < MAX_MON_MOVES; i++) { for (j = 0; sFieldMoves[j] != FIELD_MOVE_TERMINATOR; j++) { if (GetMonData(&mons[slotId], i + MON_DATA_MOVE1) == sFieldMoves[j]) { - AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, j + MENU_FIELD_MOVES); + AppendToList(sPartyMenuInternal->actions, &sPartyMenuInternal->numActions, j + MENU_FIELD_MOVES); break; } } @@ -3722,118 +2556,124 @@ static void CreateActionList(struct Pokemon *mons, u8 slotId) if (!InBattlePike()) { if (GetMonData(&mons[1], MON_DATA_SPECIES) != SPECIES_NONE) - AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, MENU_SWITCH); + AppendToList(sPartyMenuInternal->actions, &sPartyMenuInternal->numActions, MENU_SWITCH); if (ItemIsMail(GetMonData(&mons[slotId], MON_DATA_HELD_ITEM))) - AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, MENU_MAIL); + AppendToList(sPartyMenuInternal->actions, &sPartyMenuInternal->numActions, MENU_MAIL); else - AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, MENU_ITEM); + AppendToList(sPartyMenuInternal->actions, &sPartyMenuInternal->numActions, MENU_ITEM); } - AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, MENU_CANCEL1); + AppendToList(sPartyMenuInternal->actions, &sPartyMenuInternal->numActions, MENU_CANCEL1); } -static u8 sub_81B353C(struct Pokemon *mon) +static u8 GetPartyMenuActionsType(struct Pokemon *mon) { - u32 returnVar; + u32 actionType; - switch (gUnknown_0203CEC8.unk8_0) + switch (gPartyMenu.menuType) { - case 0: - if (InMultiBattleRoom() == TRUE || GetMonData(mon, MON_DATA_IS_EGG)) - returnVar = 1; + case PARTY_MENU_TYPE_FIELD: + if (InMultiPartnerRoom() == TRUE || GetMonData(mon, MON_DATA_IS_EGG)) + actionType = ACTIONS_SWITCH; else - returnVar = 0; + actionType = ACTIONS_NONE; // actions populated by SetPartyMonFieldSelectionActions break; - case 1: - returnVar = sub_81B8A2C(mon); + case PARTY_MENU_TYPE_IN_BATTLE: + actionType = GetPartyMenuActionsTypeInBattle(mon); break; - case 4: - switch (sub_81B856C(gUnknown_0203CEC8.slotId)) + case PARTY_MENU_TYPE_CHOOSE_HALF: + switch (GetPartySlotEntryStatus(gPartyMenu.slotId)) { - default: - returnVar = 7; + default: // Not eligible + actionType = ACTIONS_SUMMARY_ONLY; break; - case 0: - returnVar = 4; + case 0: // Eligible + actionType = ACTIONS_ENTER; break; - case 1: - returnVar = 5; + case 1: // Already selected + actionType = ACTIONS_NO_ENTRY; break; } break; - case 6: - returnVar = (GetMonData(mon, MON_DATA_IS_EGG)) ? 7 : 6; + case PARTY_MENU_TYPE_DAYCARE: + actionType = (GetMonData(mon, MON_DATA_IS_EGG)) ? ACTIONS_SUMMARY_ONLY : ACTIONS_STORE; break; - case 8: - returnVar = 10; + case PARTY_MENU_TYPE_UNION_ROOM_REGISTER: + actionType = ACTIONS_REGISTER; break; - case 9: - returnVar = 11; + case PARTY_MENU_TYPE_UNION_ROOM_TRADE: + actionType = ACTIONS_TRADE; break; - case 10: - returnVar = 12; + case PARTY_MENU_TYPE_SPIN_TRADE: + actionType = ACTIONS_SPIN_TRADE; break; - case 12: - returnVar = 13; + case PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS: + actionType = ACTIONS_TAKEITEM_TOSS; break; + // The following have no selection actions (i.e. they exit immediately upon selection) + // PARTY_MENU_TYPE_CONTEST + // PARTY_MENU_TYPE_CHOOSE_MON + // PARTY_MENU_TYPE_MULTI_SHOWCASE + // PARTY_MENU_TYPE_MOVE_RELEARNER + // PARTY_MENU_TYPE_MINIGAME default: - returnVar = 0; + actionType = ACTIONS_NONE; break; } - return returnVar; + return actionType; } -static bool8 sub_81B3608(u8 taskId) +static bool8 CreateSelectionWindow(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; u16 item; GetMonNickname(mon, gStringVar1); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - if (gUnknown_0203CEC8.unk8_0 != 12) + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + if (gPartyMenu.menuType != PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS) { - sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, sub_81B353C(mon)); - sub_81B31B0(0); - display_pokemon_menu_message(21); + SetPartyMonSelectionActions(gPlayerParty, gPartyMenu.slotId, GetPartyMenuActionsType(mon)); + DisplaySelectionWindow(SELECTWINDOW_ACTIONS); + DisplayPartyMenuStdMessage(PARTY_MSG_DO_WHAT_WITH_MON); } else { item = GetMonData(mon, MON_DATA_HELD_ITEM); if (item != ITEM_NONE) { - sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, sub_81B353C(mon)); - sub_81B31B0(1); + SetPartyMonSelectionActions(gPlayerParty, gPartyMenu.slotId, GetPartyMenuActionsType(mon)); + DisplaySelectionWindow(SELECTWINDOW_ITEM); CopyItemName(item, gStringVar2); - display_pokemon_menu_message(26); + DisplayPartyMenuStdMessage(PARTY_MSG_ALREADY_HOLDING_ONE); } else { StringExpandPlaceholders(gStringVar4, gText_PkmnNotHolding); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, TRUE); schedule_bg_copy_tilemap_to_vram(2); - gTasks[taskId].func = sub_81B469C; + gTasks[taskId].func = Task_UpdateHeldItemSprite; return FALSE; } } return TRUE; } -static void sub_81B36FC(u8 taskId) +static void Task_TryCreateSelectionWindow(u8 taskId) { - if (sub_81B3608(taskId)) + if (CreateSelectionWindow(taskId)) { gTasks[taskId].data[0] = 0xFF; - gTasks[taskId].func = HandleMenuInput; + gTasks[taskId].func = Task_HandleSelectionMenuInput; } } -static void HandleMenuInput(u8 taskId) +static void Task_HandleSelectionMenuInput(u8 taskId) { if (!gPaletteFade.active && sub_81221EC() != TRUE) { s8 input; s16 *data = gTasks[taskId].data; - if (gUnknown_0203CEC4->listSize <= 3) + if (sPartyMenuInternal->numActions <= 3) input = Menu_ProcessInputNoWrapAround_other(); else input = ProcessMenuInput_other(); @@ -3845,12 +2685,12 @@ static void HandleMenuInput(u8 taskId) break; case MENU_B_PRESSED: PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[2]); - sCursorOptions[gUnknown_0203CEC4->actions[gUnknown_0203CEC4->listSize - 1]].func(taskId); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[2]); + sCursorOptions[sPartyMenuInternal->actions[sPartyMenuInternal->numActions - 1]].func(taskId); break; default: - sub_81B302C(&gUnknown_0203CEC4->windowId[2]); - sCursorOptions[gUnknown_0203CEC4->actions[input]].func(taskId); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[2]); + sCursorOptions[sPartyMenuInternal->actions[input]].func(taskId); break; } } @@ -3859,209 +2699,230 @@ static void HandleMenuInput(u8 taskId) static void CursorCb_Summary(u8 taskId) { PlaySE(SE_SELECT); - gUnknown_0203CEC4->exitCallback = sub_81B3828; - sub_81B12C0(taskId); + sPartyMenuInternal->exitCallback = CB2_ShowPokemonSummaryScreen; + Task_ClosePartyMenu(taskId); } -static void sub_81B3828(void) +static void CB2_ShowPokemonSummaryScreen(void) { - if (gUnknown_0203CEC8.unk8_0 == 1) + if (gPartyMenu.menuType == PARTY_MENU_TYPE_IN_BATTLE) { - pokemon_change_order(); - ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gUnknown_0203CEC8.slotId, gPlayerPartyCount - 1, sub_81B3894); + UpdatePartyToBattleOrder(); + ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gPartyMenu.slotId, gPlayerPartyCount - 1, CB2_ReturnToPartyMenuFromSummaryScreen); } else { - ShowPokemonSummaryScreen(PSS_MODE_NORMAL, gPlayerParty, gUnknown_0203CEC8.slotId, gPlayerPartyCount - 1, sub_81B3894); + ShowPokemonSummaryScreen(PSS_MODE_NORMAL, gPlayerParty, gPartyMenu.slotId, gPlayerPartyCount - 1, CB2_ReturnToPartyMenuFromSummaryScreen); } } -static void sub_81B3894(void) +static void CB2_ReturnToPartyMenuFromSummaryScreen(void) { gPaletteFade.bufferTransferDisabled = TRUE; - gUnknown_0203CEC8.slotId = gLastViewedMonIndex; - InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 21, sub_81B36FC, gUnknown_0203CEC8.exitCallback); + gPartyMenu.slotId = gLastViewedMonIndex; + InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_DO_WHAT_WITH_MON, Task_TryCreateSelectionWindow, gPartyMenu.exitCallback); } static void CursorCb_Switch(u8 taskId) { PlaySE(SE_SELECT); - gUnknown_0203CEC8.unkB = 8; - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - display_pokemon_menu_message(3); - sub_81B0FCC(gUnknown_0203CEC8.slotId, 1); - gUnknown_0203CEC8.unkA = gUnknown_0203CEC8.slotId; - gTasks[taskId].func = sub_81B1370; + gPartyMenu.action = PARTY_ACTION_SWITCH; + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + DisplayPartyMenuStdMessage(PARTY_MSG_MOVE_TO_WHERE); + AnimatePartySlot(gPartyMenu.slotId, 1); + gPartyMenu.slotId2 = gPartyMenu.slotId; + gTasks[taskId].func = Task_HandleChooseMonInput; } -static void sub_81B3938(u8 taskId) +#define tSlot1Left data[0] +#define tSlot1Top data[1] +#define tSlot1Width data[2] +#define tSlot1Height data[3] +#define tSlot2Left data[4] +#define tSlot2Top data[5] +#define tSlot2Width data[6] +#define tSlot2Height data[7] +#define tSlot1Offset data[8] +#define tSlot2Offset data[9] +#define tSlot1SlideDir data[10] +#define tSlot2SlideDir data[11] + +static void SwitchSelectedMons(u8 taskId) { s16 *data = gTasks[taskId].data; u8 windowIds[2]; - if (gUnknown_0203CEC8.unkA == gUnknown_0203CEC8.slotId) + if (gPartyMenu.slotId2 == gPartyMenu.slotId) { - sub_81B407C(taskId); + FinishTwoMonAction(taskId); } else { - windowIds[0] = gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].windowId; - data[0] = GetWindowAttribute(windowIds[0], WINDOW_TILEMAP_LEFT); - data[1] = GetWindowAttribute(windowIds[0], WINDOW_TILEMAP_TOP); - data[2] = GetWindowAttribute(windowIds[0], WINDOW_WIDTH); - data[3] = GetWindowAttribute(windowIds[0], WINDOW_HEIGHT); - data[8] = 0; - if (data[2] == 10) - data[10] = -1; + // Initialize switching party mons slide animation + windowIds[0] = sPartyMenuBoxes[gPartyMenu.slotId].windowId; + tSlot1Left = GetWindowAttribute(windowIds[0], WINDOW_TILEMAP_LEFT); + tSlot1Top = GetWindowAttribute(windowIds[0], WINDOW_TILEMAP_TOP); + tSlot1Width = GetWindowAttribute(windowIds[0], WINDOW_WIDTH); + tSlot1Height = GetWindowAttribute(windowIds[0], WINDOW_HEIGHT); + tSlot1Offset = 0; + if (tSlot1Width == 10) + tSlot1SlideDir = -1; else - data[10] = 1; - windowIds[1] = gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId; - data[4] = GetWindowAttribute(windowIds[1], WINDOW_TILEMAP_LEFT); - data[5] = GetWindowAttribute(windowIds[1], WINDOW_TILEMAP_TOP); - data[6] = GetWindowAttribute(windowIds[1], WINDOW_WIDTH); - data[7] = GetWindowAttribute(windowIds[1], WINDOW_HEIGHT); - data[9] = 0; - if (data[6] == 10) - data[11] = -1; + tSlot1SlideDir = 1; + windowIds[1] = sPartyMenuBoxes[gPartyMenu.slotId2].windowId; + tSlot2Left = GetWindowAttribute(windowIds[1], WINDOW_TILEMAP_LEFT); + tSlot2Top = GetWindowAttribute(windowIds[1], WINDOW_TILEMAP_TOP); + tSlot2Width = GetWindowAttribute(windowIds[1], WINDOW_WIDTH); + tSlot2Height = GetWindowAttribute(windowIds[1], WINDOW_HEIGHT); + tSlot2Offset = 0; + if (tSlot2Width == 10) + tSlot2SlideDir = -1; else - data[11] = 1; - gUnknown_0203CEF0 = Alloc(data[2] * (data[3] << 1)); - gUnknown_0203CEF4 = Alloc(data[6] * (data[7] << 1)); - sub_8199CBC(0, gUnknown_0203CEF0, data[0], data[1], data[2], data[3]); - sub_8199CBC(0, gUnknown_0203CEF4, data[4], data[5], data[6], data[7]); + tSlot2SlideDir = 1; + sSlot1TilemapBuffer = Alloc(tSlot1Width * (tSlot1Height << 1)); + sSlot2TilemapBuffer = Alloc(tSlot2Width * (tSlot2Height << 1)); + CopyToBufferFromBgTilemap(0, sSlot1TilemapBuffer, tSlot1Left, tSlot1Top, tSlot1Width, tSlot1Height); + CopyToBufferFromBgTilemap(0, sSlot2TilemapBuffer, tSlot2Left, tSlot2Top, tSlot2Width, tSlot2Height); ClearWindowTilemap(windowIds[0]); ClearWindowTilemap(windowIds[1]); - gUnknown_0203CEC8.unkB = 9; - sub_81B0FCC(gUnknown_0203CEC8.slotId, 1); - sub_81B0FCC(gUnknown_0203CEC8.unkA, 1); - sub_81B3CC0(taskId); - gTasks[taskId].func = sub_81B3D48; + gPartyMenu.action = PARTY_ACTION_SWITCHING; + AnimatePartySlot(gPartyMenu.slotId, 1); + AnimatePartySlot(gPartyMenu.slotId2, 1); + SlidePartyMenuBoxOneStep(taskId); + gTasks[taskId].func = Task_SlideSelectedSlotsOffscreen; } } -static bool8 sub_81B3AD8(s16 a, s16 b, u8 *c, u8 *d, u8 *e) +// returns FALSE if the slot has slid fully offscreen / back onscreen +static bool8 TryMovePartySlot(s16 x, s16 width, u8 *leftMove, u8 *newX, u8 *newWidth) { - if ((a + b) < 0) + if ((x + width) < 0) return FALSE; - if (a > 31) + if (x > 31) return FALSE; - if (a < 0) + if (x < 0) { - *c = a * -1; - *d = 0; - *e = b + a; + *leftMove = x * -1; + *newX = 0; + *newWidth = width + x; } else { - *c = 0; - *d = a; - if ((a + b) > 31) - *e = 32 - a; + *leftMove = 0; + *newX = x; + if ((x + width) > 31) + *newWidth = 32 - x; else - *e = b; + *newWidth = width; } return TRUE; } -static void sub_81B3B40(const void *rectSrc, s16 a, s16 b, s16 c, s16 d, s16 e) +static void MoveAndBufferPartySlot(const void *rectSrc, s16 x, s16 y, s16 width, s16 height, s16 dir) { - u8 f, g, h; + // The use of the dimension parameters here is a mess + u8 leftMove, newX, newWidth; // leftMove is used as a srcX, newX is used as both x and srcHeight, newWidth is used as both width and destY - if (sub_81B3AD8(a, c, &f, &g, &h)) + if (TryMovePartySlot(x, width, &leftMove, &newX, &newWidth)) { - FillBgTilemapBufferRect_Palette0(0, 0, g, b, h, d); - if (sub_81B3AD8(a + e, c, &f, &g, &h)) - CopyRectToBgTilemapBufferRect(0, rectSrc, f, 0, c, d, g, b, h, d, 17, 0, 0); + FillBgTilemapBufferRect_Palette0(0, 0, newX, y, newWidth, height); + if (TryMovePartySlot(x + dir, width, &leftMove, &newX, &newWidth)) + CopyRectToBgTilemapBufferRect(0, rectSrc, leftMove, 0, width, height, newX, y, newWidth, height, 17, 0, 0); } } -static void sub_81B3C0C(struct Struct203CEDC *ptr, s16 a) +static void MovePartyMenuBoxSprites(struct PartyMenuBox *menuBox, s16 offset) { - gSprites[ptr->pokeballSpriteId].pos2.x += a * 8; - gSprites[ptr->itemSpriteId].pos2.x += a * 8; - gSprites[ptr->monSpriteId].pos2.x += a * 8; - gSprites[ptr->statusSpriteId].pos2.x += a * 8; + gSprites[menuBox->pokeballSpriteId].pos2.x += offset * 8; + gSprites[menuBox->itemSpriteId].pos2.x += offset * 8; + gSprites[menuBox->monSpriteId].pos2.x += offset * 8; + gSprites[menuBox->statusSpriteId].pos2.x += offset * 8; } -static void sub_81B3C60(u8 taskId) +static void SlidePartyMenuBoxSpritesOneStep(u8 taskId) { s16 *data = gTasks[taskId].data; - if (data[10] != 0) - sub_81B3C0C(&gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], data[10]); - if (data[11] != 0) - sub_81B3C0C(&gUnknown_0203CEDC[gUnknown_0203CEC8.unkA], data[11]); + if (tSlot1SlideDir != 0) + MovePartyMenuBoxSprites(&sPartyMenuBoxes[gPartyMenu.slotId], tSlot1SlideDir); + if (tSlot2SlideDir != 0) + MovePartyMenuBoxSprites(&sPartyMenuBoxes[gPartyMenu.slotId2], tSlot2SlideDir); } -static void sub_81B3CC0(u8 taskId) +static void SlidePartyMenuBoxOneStep(u8 taskId) { s16 *data = gTasks[taskId].data; - if (data[10] != 0) - sub_81B3B40(gUnknown_0203CEF0, data[0] + data[8], data[1], data[2], data[3], data[10]); - if (data[11] != 0) - sub_81B3B40(gUnknown_0203CEF4, data[4] + data[9], data[5], data[6], data[7], data[11]); + if (tSlot1SlideDir != 0) + MoveAndBufferPartySlot(sSlot1TilemapBuffer, tSlot1Left + tSlot1Offset, tSlot1Top, tSlot1Width, tSlot1Height, tSlot1SlideDir); + if (tSlot2SlideDir != 0) + MoveAndBufferPartySlot(sSlot2TilemapBuffer, tSlot2Left + tSlot2Offset, tSlot2Top, tSlot2Width, tSlot2Height, tSlot2SlideDir); schedule_bg_copy_tilemap_to_vram(0); } -static void sub_81B3D48(u8 taskId) +static void Task_SlideSelectedSlotsOffscreen(u8 taskId) { s16 *data = gTasks[taskId].data; - u16 tilemapRelatedMaybe[2]; + u16 slidingSlotPositions[2]; - sub_81B3CC0(taskId); - sub_81B3C60(taskId); - data[8] += data[10]; - data[9] += data[11]; - tilemapRelatedMaybe[0] = data[0] + data[8]; - tilemapRelatedMaybe[1] = data[4] + data[9]; - if (tilemapRelatedMaybe[0] > 33 && tilemapRelatedMaybe[1] > 33) + SlidePartyMenuBoxOneStep(taskId); + SlidePartyMenuBoxSpritesOneStep(taskId); + tSlot1Offset += tSlot1SlideDir; + tSlot2Offset += tSlot2SlideDir; + slidingSlotPositions[0] = tSlot1Left + tSlot1Offset; + slidingSlotPositions[1] = tSlot2Left + tSlot2Offset; + + // Both slots have slid offscreen + if (slidingSlotPositions[0] > 33 && slidingSlotPositions[1] > 33) { - data[10] *= -1; - data[11] *= -1; - swap_pokemon_and_oams(); - DisplayPartyPokemonData(gUnknown_0203CEC8.slotId); - DisplayPartyPokemonData(gUnknown_0203CEC8.unkA); - PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].windowId); - PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId); - sub_8199CBC(0, gUnknown_0203CEF0, data[0], data[1], data[2], data[3]); - sub_8199CBC(0, gUnknown_0203CEF4, data[4], data[5], data[6], data[7]); - ClearWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].windowId); - ClearWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId); - gTasks[taskId].func = sub_81B3E60; + tSlot1SlideDir *= -1; + tSlot2SlideDir *= -1; + SwitchPartyMon(); + DisplayPartyPokemonData(gPartyMenu.slotId); + DisplayPartyPokemonData(gPartyMenu.slotId2); + PutWindowTilemap(sPartyMenuBoxes[gPartyMenu.slotId].windowId); + PutWindowTilemap(sPartyMenuBoxes[gPartyMenu.slotId2].windowId); + CopyToBufferFromBgTilemap(0, sSlot1TilemapBuffer, tSlot1Left, tSlot1Top, tSlot1Width, tSlot1Height); + CopyToBufferFromBgTilemap(0, sSlot2TilemapBuffer, tSlot2Left, tSlot2Top, tSlot2Width, tSlot2Height); + ClearWindowTilemap(sPartyMenuBoxes[gPartyMenu.slotId].windowId); + ClearWindowTilemap(sPartyMenuBoxes[gPartyMenu.slotId2].windowId); + gTasks[taskId].func = Task_SlideSelectedSlotsOnscreen; } } -static void sub_81B3E60(u8 taskId) +static void Task_SlideSelectedSlotsOnscreen(u8 taskId) { s16 *data = gTasks[taskId].data; - sub_81B3CC0(taskId); - sub_81B3C60(taskId); - if (data[10] == 0 && data[11] == 0) + SlidePartyMenuBoxOneStep(taskId); + SlidePartyMenuBoxSpritesOneStep(taskId); + + // Both slots have slid back onscreen + if (tSlot1SlideDir == 0 && tSlot2SlideDir == 0) { - PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].windowId); - PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId); + PutWindowTilemap(sPartyMenuBoxes[gPartyMenu.slotId].windowId); + PutWindowTilemap(sPartyMenuBoxes[gPartyMenu.slotId2].windowId); schedule_bg_copy_tilemap_to_vram(0); - Free(gUnknown_0203CEF0); - Free(gUnknown_0203CEF4); - sub_81B407C(taskId); + Free(sSlot1TilemapBuffer); + Free(sSlot2TilemapBuffer); + FinishTwoMonAction(taskId); } + // Continue sliding else { - data[8] += data[10]; - data[9] += data[11]; - if (data[8] == 0) - data[10] = 0; - if (data[9] == 0) - data[11] = 0; + tSlot1Offset += tSlot1SlideDir; + tSlot2Offset += tSlot2SlideDir; + if (tSlot1Offset == 0) + tSlot1SlideDir = 0; + if (tSlot2Offset == 0) + tSlot2SlideDir = 0; } } -static void oamt_swap_pos(u8 *spriteIdPtr1, u8 *spriteIdPtr2) +static void SwitchMenuBoxSprites(u8 *spriteIdPtr1, u8 *spriteIdPtr2) { u8 spriteIdBuffer = *spriteIdPtr1; u16 xBuffer1, yBuffer1, xBuffer2, yBuffer2; @@ -4082,684 +2943,719 @@ static void oamt_swap_pos(u8 *spriteIdPtr1, u8 *spriteIdPtr2) gSprites[*spriteIdPtr2].pos2.y = yBuffer2; } -static void swap_pokemon_and_oams(void) +static void SwitchPartyMon(void) { - struct Struct203CEDC *structPtrs[2]; + struct PartyMenuBox *menuBoxes[2]; struct Pokemon *mon1, *mon2; struct Pokemon *monBuffer; - structPtrs[0] = &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId]; - structPtrs[1] = &gUnknown_0203CEDC[gUnknown_0203CEC8.unkA]; - mon1 = &gPlayerParty[gUnknown_0203CEC8.slotId]; - mon2 = &gPlayerParty[gUnknown_0203CEC8.unkA]; + menuBoxes[0] = &sPartyMenuBoxes[gPartyMenu.slotId]; + menuBoxes[1] = &sPartyMenuBoxes[gPartyMenu.slotId2]; + mon1 = &gPlayerParty[gPartyMenu.slotId]; + mon2 = &gPlayerParty[gPartyMenu.slotId2]; monBuffer = Alloc(sizeof(struct Pokemon)); *monBuffer = *mon1; *mon1 = *mon2; *mon2 = *monBuffer; Free(monBuffer); - oamt_swap_pos(&structPtrs[0]->pokeballSpriteId, &structPtrs[1]->pokeballSpriteId); - oamt_swap_pos(&structPtrs[0]->itemSpriteId, &structPtrs[1]->itemSpriteId); - oamt_swap_pos(&structPtrs[0]->monSpriteId, &structPtrs[1]->monSpriteId); - oamt_swap_pos(&structPtrs[0]->statusSpriteId, &structPtrs[1]->statusSpriteId); + SwitchMenuBoxSprites(&menuBoxes[0]->pokeballSpriteId, &menuBoxes[1]->pokeballSpriteId); + SwitchMenuBoxSprites(&menuBoxes[0]->itemSpriteId, &menuBoxes[1]->itemSpriteId); + SwitchMenuBoxSprites(&menuBoxes[0]->monSpriteId, &menuBoxes[1]->monSpriteId); + SwitchMenuBoxSprites(&menuBoxes[0]->statusSpriteId, &menuBoxes[1]->statusSpriteId); } -static void sub_81B407C(u8 taskId) +// Finish switching mons or using Softboiled +static void FinishTwoMonAction(u8 taskId) { - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - gUnknown_0203CEC8.unkB = 0; - sub_81B0FCC(gUnknown_0203CEC8.slotId, 0); - gUnknown_0203CEC8.slotId = gUnknown_0203CEC8.unkA; - sub_81B0FCC(gUnknown_0203CEC8.unkA, 1); - display_pokemon_menu_message(0); - gTasks[taskId].func = sub_81B1370; + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + gPartyMenu.action = PARTY_ACTION_CHOOSE_MON; + AnimatePartySlot(gPartyMenu.slotId, 0); + gPartyMenu.slotId = gPartyMenu.slotId2; + AnimatePartySlot(gPartyMenu.slotId2, 1); + DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON); + gTasks[taskId].func = Task_HandleChooseMonInput; } +#undef tSlot1Left +#undef tSlot1Top +#undef tSlot1Width +#undef tSlot1Height +#undef tSlot2Left +#undef tSlot2Top +#undef tSlot2Width +#undef tSlot2Height +#undef tSlot1Offset +#undef tSlot2Offset +#undef tSlot1SlideDir +#undef tSlot2SlideDir + static void CursorCb_Cancel1(u8 taskId) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - if (gUnknown_0203CEC8.unk8_0 == 6) - display_pokemon_menu_message(15); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + if (gPartyMenu.menuType == PARTY_MENU_TYPE_DAYCARE) + DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON_2); else - display_pokemon_menu_message(0); - gTasks[taskId].func = sub_81B1370; + DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON); + gTasks[taskId].func = Task_HandleChooseMonInput; } static void CursorCb_Item(u8 taskId) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, 8); - sub_81B31B0(1); - display_pokemon_menu_message(24); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + SetPartyMonSelectionActions(gPlayerParty, gPartyMenu.slotId, ACTIONS_ITEM); + DisplaySelectionWindow(SELECTWINDOW_ITEM); + DisplayPartyMenuStdMessage(PARTY_MSG_DO_WHAT_WITH_ITEM); gTasks[taskId].data[0] = 0xFF; - gTasks[taskId].func = HandleMenuInput; + gTasks[taskId].func = Task_HandleSelectionMenuInput; } static void CursorCb_Give(u8 taskId) { PlaySE(SE_SELECT); - gUnknown_0203CEC4->exitCallback = sub_81B41C4; - sub_81B12C0(taskId); + sPartyMenuInternal->exitCallback = CB2_SelectBagItemToGive; + Task_ClosePartyMenu(taskId); } -static void sub_81B41C4(void) +static void CB2_SelectBagItemToGive(void) { if (InBattlePyramid() == FALSE) - GoToBagMenu(RETURN_LOCATION_POKEMON_LIST, POCKETS_COUNT, c2_8123744); + GoToBagMenu(RETURN_LOCATION_POKEMON_LIST, POCKETS_COUNT, CB2_GiveHoldItem); else - sub_81C4F98(2, c2_8123744); + GoToBattlePyramidBagMenu(2, CB2_GiveHoldItem); } -static void c2_8123744(void) +static void CB2_GiveHoldItem(void) { if (gSpecialVar_ItemId == ITEM_NONE) { - InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B36FC, gUnknown_0203CEC8.exitCallback); + InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_NONE, Task_TryCreateSelectionWindow, gPartyMenu.exitCallback); } else { - gUnknown_0203CEFC = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_HELD_ITEM); - if (gUnknown_0203CEFC != ITEM_NONE) + sPartyMenuItemId = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_HELD_ITEM); + + // Already holding item + if (sPartyMenuItemId != ITEM_NONE) { - InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B4350, gUnknown_0203CEC8.exitCallback); + InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_NONE, Task_SwitchHoldItemsPrompt, gPartyMenu.exitCallback); } + // Give mail else if (ItemIsMail(gSpecialVar_ItemId)) { RemoveBagItem(gSpecialVar_ItemId, 1); - sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], gSpecialVar_ItemId); - sub_81B452C(); + GiveItemToMon(&gPlayerParty[gPartyMenu.slotId], gSpecialVar_ItemId); + CB2_WriteMailToGiveMon(); } + // Give item else { - InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B42D0, gUnknown_0203CEC8.exitCallback); + InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_NONE, Task_GiveHoldItem, gPartyMenu.exitCallback); } } } -static void sub_81B42D0(u8 taskId) +static void Task_GiveHoldItem(u8 taskId) { u16 item; if (!gPaletteFade.active) { item = gSpecialVar_ItemId; - sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.slotId], item, 0, 0); - sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], item); + DisplayGaveHeldItemMessage(&gPlayerParty[gPartyMenu.slotId], item, FALSE, 0); + GiveItemToMon(&gPlayerParty[gPartyMenu.slotId], item); RemoveBagItem(item, 1); - gTasks[taskId].func = sub_81B469C; + gTasks[taskId].func = Task_UpdateHeldItemSprite; } } -static void sub_81B4350(u8 taskId) +static void Task_SwitchHoldItemsPrompt(u8 taskId) { if (!gPaletteFade.active) { - sub_81B1D1C(&gPlayerParty[gUnknown_0203CEC8.slotId], gUnknown_0203CEFC, 1); - gTasks[taskId].func = sub_81B43A8; + DisplayAlreadyHoldingItemSwitchMessage(&gPlayerParty[gPartyMenu.slotId], sPartyMenuItemId, TRUE); + gTasks[taskId].func = Task_SwitchItemsYesNo; } } -static void sub_81B43A8(u8 taskId) +static void Task_SwitchItemsYesNo(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - sub_81B334C(); - gTasks[taskId].func = sub_81B43DC; + PartyMenuDisplayYesNoMenu(); + gTasks[taskId].func = Task_HandleSwitchItemsYesNoInput; } } -static void sub_81B43DC(u8 taskId) +static void Task_HandleSwitchItemsYesNoInput(u8 taskId) { switch (Menu_ProcessInputNoWrapClearOnChoose()) { - case 0: + case 0: // Yes, switch items RemoveBagItem(gSpecialVar_ItemId, 1); - if (AddBagItem(gUnknown_0203CEFC, 1) == FALSE) + + // No room to return held item to bag + if (AddBagItem(sPartyMenuItemId, 1) == FALSE) { AddBagItem(gSpecialVar_ItemId, 1); - pokemon_item_not_removed(gUnknown_0203CEFC); - sub_81B1B5C(gStringVar4, 0); - gTasks[taskId].func = sub_81B1C1C; + BufferBagFullCantTakeItemMessage(sPartyMenuItemId); + DisplayPartyMenuMessage(gStringVar4, FALSE); + gTasks[taskId].func = Task_ReturnToChooseMonAfterText; } + // Giving mail else if (ItemIsMail(gSpecialVar_ItemId)) { - sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], gSpecialVar_ItemId); - gTasks[taskId].func = sub_81B44FC; + GiveItemToMon(&gPlayerParty[gPartyMenu.slotId], gSpecialVar_ItemId); + gTasks[taskId].func = Task_WriteMailToGiveMonAfterText; } + // Giving item else { - sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], gSpecialVar_ItemId); - sub_81B1D68(gSpecialVar_ItemId, gUnknown_0203CEFC, 1); - gTasks[taskId].func = sub_81B469C; + GiveItemToMon(&gPlayerParty[gPartyMenu.slotId], gSpecialVar_ItemId); + DisplaySwitchedHeldItemMessage(gSpecialVar_ItemId, sPartyMenuItemId, TRUE); + gTasks[taskId].func = Task_UpdateHeldItemSprite; } break; case MENU_B_PRESSED: PlaySE(SE_SELECT); - case 1: - gTasks[taskId].func = sub_81B1C1C; + // fallthrough + case 1: // No + gTasks[taskId].func = Task_ReturnToChooseMonAfterText; break; } } -static void sub_81B44FC(u8 taskId) +static void Task_WriteMailToGiveMonAfterText(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - gUnknown_0203CEC4->exitCallback = sub_81B452C; - sub_81B12C0(taskId); + sPartyMenuInternal->exitCallback = CB2_WriteMailToGiveMon; + Task_ClosePartyMenu(taskId); } } -static void sub_81B452C(void) +static void CB2_WriteMailToGiveMon(void) { - u8 mail = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_MAIL); + u8 mail = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MAIL); DoEasyChatScreen( - EASY_CHAT_TYPE_MAIL, - gSaveBlock1Ptr->mail[mail].words, - sub_81B4578, - EASY_CHAT_PERSON_DISPLAY_NONE); + EASY_CHAT_TYPE_MAIL, + gSaveBlock1Ptr->mail[mail].words, + CB2_ReturnToPartyMenuFromWritingMail, + EASY_CHAT_PERSON_DISPLAY_NONE); } -static void sub_81B4578(void) +static void CB2_ReturnToPartyMenuFromWritingMail(void) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; u16 item = GetMonData(mon, MON_DATA_HELD_ITEM); + // Canceled writing mail if (gSpecialVar_Result == FALSE) { TakeMailFromMon(mon); - SetMonData(mon, MON_DATA_HELD_ITEM, &gUnknown_0203CEFC); - RemoveBagItem(gUnknown_0203CEFC, 1); + SetMonData(mon, MON_DATA_HELD_ITEM, &sPartyMenuItemId); + RemoveBagItem(sPartyMenuItemId, 1); AddBagItem(item, 1); - InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0, sub_81B36FC, gUnknown_0203CEC8.exitCallback); + InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_CHOOSE_MON, Task_TryCreateSelectionWindow, gPartyMenu.exitCallback); } + // Wrote mail else { - InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B4624, gUnknown_0203CEC8.exitCallback); + InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_NONE, Task_DisplayGaveMailFromPartyMessage, gPartyMenu.exitCallback); } } -static void sub_81B4624(u8 taskId) +// Nearly redundant with Task_DisplayGaveMailFromBagMessgae +static void Task_DisplayGaveMailFromPartyMessage(u8 taskId) { if (!gPaletteFade.active) { - if (gUnknown_0203CEFC == ITEM_NONE) - sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.slotId], gSpecialVar_ItemId, 0, 0); + if (sPartyMenuItemId == ITEM_NONE) + DisplayGaveHeldItemMessage(&gPlayerParty[gPartyMenu.slotId], gSpecialVar_ItemId, FALSE, 0); else - sub_81B1D68(gSpecialVar_ItemId, gUnknown_0203CEFC, 0); - gTasks[taskId].func = sub_81B469C; + DisplaySwitchedHeldItemMessage(gSpecialVar_ItemId, sPartyMenuItemId, FALSE); + gTasks[taskId].func = Task_UpdateHeldItemSprite; } } -static void sub_81B469C(u8 taskId) +static void Task_UpdateHeldItemSprite(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - sub_81B5C94(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId]); - if (gUnknown_0203CEC8.unk8_0 == 12) + UpdatePartyMonHeldItemSprite(mon, &sPartyMenuBoxes[gPartyMenu.slotId]); + if (gPartyMenu.menuType == PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS) { if (GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE) - DisplayPartyPokemonOtherText(11, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); + DisplayPartyPokemonDescriptionText(PARTYBOX_DESC_HAVE, &sPartyMenuBoxes[gPartyMenu.slotId], 1); else - DisplayPartyPokemonOtherText(12, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); + DisplayPartyPokemonDescriptionText(PARTYBOX_DESC_DONT_HAVE, &sPartyMenuBoxes[gPartyMenu.slotId], 1); } - sub_81B1C1C(taskId); + Task_ReturnToChooseMonAfterText(taskId); } } static void CursorCb_TakeItem(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; u16 item = GetMonData(mon, MON_DATA_HELD_ITEM); PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); switch (TryTakeMonItem(mon)) { - case 0: + case 0: // Not holding item GetMonNickname(mon, gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnNotHolding); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, TRUE); break; - case 1: - pokemon_item_not_removed(item); - sub_81B1B5C(gStringVar4, 1); + case 1: // No room to take item + BufferBagFullCantTakeItemMessage(item); + DisplayPartyMenuMessage(gStringVar4, TRUE); break; - default: - sub_81B1CD0(mon, item, 1); + default: // Took item + DisplayTookHeldItemMessage(mon, item, TRUE); break; } schedule_bg_copy_tilemap_to_vram(2); - gTasks[taskId].func = sub_81B469C; + gTasks[taskId].func = Task_UpdateHeldItemSprite; } static void CursorCb_Toss(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; u16 item = GetMonData(mon, MON_DATA_HELD_ITEM); PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); if (item == ITEM_NONE) { GetMonNickname(mon, gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnNotHolding); - sub_81B1B5C(gStringVar4, 1); - gTasks[taskId].func = sub_81B469C; + DisplayPartyMenuMessage(gStringVar4, TRUE); + gTasks[taskId].func = Task_UpdateHeldItemSprite; } else { CopyItemName(item, gStringVar1); StringExpandPlaceholders(gStringVar4, gText_ThrowAwayItem); - sub_81B1B5C(gStringVar4, 1); - gTasks[taskId].func = sub_81B48A8; + DisplayPartyMenuMessage(gStringVar4, TRUE); + gTasks[taskId].func = Task_TossHeldItemYesNo; } } -static void sub_81B48A8(u8 taskId) +static void Task_TossHeldItemYesNo(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - sub_81B334C(); - gTasks[taskId].func = sub_81B48DC; + PartyMenuDisplayYesNoMenu(); + gTasks[taskId].func = Task_HandleTossHeldItemYesNoInput; } } -static void sub_81B48DC(u8 taskId) +static void Task_HandleTossHeldItemYesNoInput(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; switch (Menu_ProcessInputNoWrapClearOnChoose()) { case 0: CopyItemName(GetMonData(mon, MON_DATA_HELD_ITEM), gStringVar1); StringExpandPlaceholders(gStringVar4, gText_ItemThrownAway); - sub_81B1B5C(gStringVar4, 0); - gTasks[taskId].func = sub_81B4988; + DisplayPartyMenuMessage(gStringVar4, FALSE); + gTasks[taskId].func = Task_TossHeldItem; break; case MENU_B_PRESSED: PlaySE(SE_SELECT); + // fallthrough case 1: - gTasks[taskId].func = sub_81B1C1C; + gTasks[taskId].func = Task_ReturnToChooseMonAfterText; break; } } -static void sub_81B4988(u8 taskId) +static void Task_TossHeldItem(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { u16 item = ITEM_NONE; SetMonData(mon, MON_DATA_HELD_ITEM, &item); - sub_81B5C94(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId]); - DisplayPartyPokemonOtherText(12, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); - gTasks[taskId].func = sub_81B1C1C; + UpdatePartyMonHeldItemSprite(mon, &sPartyMenuBoxes[gPartyMenu.slotId]); + DisplayPartyPokemonDescriptionText(PARTYBOX_DESC_DONT_HAVE, &sPartyMenuBoxes[gPartyMenu.slotId], 1); + gTasks[taskId].func = Task_ReturnToChooseMonAfterText; } } static void CursorCb_Mail(u8 taskId) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, 9); - sub_81B31B0(2); - display_pokemon_menu_message(25); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + SetPartyMonSelectionActions(gPlayerParty, gPartyMenu.slotId, ACTIONS_MAIL); + DisplaySelectionWindow(SELECTWINDOW_MAIL); + DisplayPartyMenuStdMessage(PARTY_MSG_DO_WHAT_WITH_MAIL); gTasks[taskId].data[0] = 0xFF; - gTasks[taskId].func = HandleMenuInput; + gTasks[taskId].func = Task_HandleSelectionMenuInput; } static void CursorCb_Read(u8 taskId) { PlaySE(SE_SELECT); - gUnknown_0203CEC4->exitCallback = sub_81B4A98; - sub_81B12C0(taskId); + sPartyMenuInternal->exitCallback = CB2_ReadHeldMail; + Task_ClosePartyMenu(taskId); } -static void sub_81B4A98(void) +static void CB2_ReadHeldMail(void) { - ReadMail(&gSaveBlock1Ptr->mail[GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_MAIL)], sub_81B4AE0, 1); + ReadMail(&gSaveBlock1Ptr->mail[GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MAIL)], CB2_ReturnToPartyMenuFromReadingMail, 1); } -static void sub_81B4AE0(void) +static void CB2_ReturnToPartyMenuFromReadingMail(void) { gPaletteFade.bufferTransferDisabled = TRUE; - InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 21, sub_81B36FC, gUnknown_0203CEC8.exitCallback); + InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_DO_WHAT_WITH_MON, Task_TryCreateSelectionWindow, gPartyMenu.exitCallback); } static void CursorCb_TakeMail(u8 taskId) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B1B5C(gText_SendMailToPC, 1); - gTasks[taskId].func = sub_81B4B6C; + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + DisplayPartyMenuMessage(gText_SendMailToPC, TRUE); + gTasks[taskId].func = Task_SendMailToPCYesNo; } -static void sub_81B4B6C(u8 taskId) +static void Task_SendMailToPCYesNo(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - sub_81B334C(); - gTasks[taskId].func = sub_81B4BA0; + PartyMenuDisplayYesNoMenu(); + gTasks[taskId].func = Task_HandleSendMailToPCYesNoInput; } } -static void sub_81B4BA0(u8 taskId) +static void Task_HandleSendMailToPCYesNoInput(u8 taskId) { switch (Menu_ProcessInputNoWrapClearOnChoose()) { - case 0: - if (TakeMailFromMon2(&gPlayerParty[gUnknown_0203CEC8.slotId]) != 0xFF) + case 0: // Yes, send to PC + if (TakeMailFromMon2(&gPlayerParty[gPartyMenu.slotId]) != 0xFF) { - sub_81B1B5C(gText_MailSentToPC, 0); - gTasks[taskId].func = sub_81B469C; + DisplayPartyMenuMessage(gText_MailSentToPC, FALSE); + gTasks[taskId].func = Task_UpdateHeldItemSprite; } else { - sub_81B1B5C(gText_PCMailboxFull, 0); - gTasks[taskId].func = sub_81B1C1C; + DisplayPartyMenuMessage(gText_PCMailboxFull, FALSE); + gTasks[taskId].func = Task_ReturnToChooseMonAfterText; } break; case MENU_B_PRESSED: PlaySE(SE_SELECT); + // fallthrough case 1: - sub_81B1B5C(gText_MailMessageWillBeLost, 1); - gTasks[taskId].func = sub_81B4C60; + DisplayPartyMenuMessage(gText_MailMessageWillBeLost, TRUE); + gTasks[taskId].func = Task_LoseMailMessageYesNo; break; } } -static void sub_81B4C60(u8 taskId) +static void Task_LoseMailMessageYesNo(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - sub_81B334C(); - gTasks[taskId].func = sub_81B4C94; + PartyMenuDisplayYesNoMenu(); + gTasks[taskId].func = Task_HandleLoseMailMessageYesNoInput; } } -static void sub_81B4C94(u8 taskId) +static void Task_HandleLoseMailMessageYesNoInput(u8 taskId) { u16 item; switch (Menu_ProcessInputNoWrapClearOnChoose()) { - case 0: - item = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_HELD_ITEM); + case 0: // Yes, lose mail message + item = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_HELD_ITEM); if (AddBagItem(item, 1) == TRUE) { - TakeMailFromMon(&gPlayerParty[gUnknown_0203CEC8.slotId]); - sub_81B1B5C(gText_MailTakenFromPkmn, 0); - gTasks[taskId].func = sub_81B469C; + TakeMailFromMon(&gPlayerParty[gPartyMenu.slotId]); + DisplayPartyMenuMessage(gText_MailTakenFromPkmn, FALSE); + gTasks[taskId].func = Task_UpdateHeldItemSprite; } else { - pokemon_item_not_removed(item); - sub_81B1B5C(gStringVar4, 0); - gTasks[taskId].func = sub_81B1C1C; + BufferBagFullCantTakeItemMessage(item); + DisplayPartyMenuMessage(gStringVar4, FALSE); + gTasks[taskId].func = Task_ReturnToChooseMonAfterText; } break; case MENU_B_PRESSED: PlaySE(SE_SELECT); + // fallthrough case 1: - gTasks[taskId].func = sub_81B1C1C; + gTasks[taskId].func = Task_ReturnToChooseMonAfterText; break; } } static void CursorCb_Cancel2(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, sub_81B353C(mon)); - if (gUnknown_0203CEC8.unk8_0 != 12) + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + SetPartyMonSelectionActions(gPlayerParty, gPartyMenu.slotId, GetPartyMenuActionsType(mon)); + if (gPartyMenu.menuType != PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS) { - sub_81B31B0(0); - display_pokemon_menu_message(21); + DisplaySelectionWindow(SELECTWINDOW_ACTIONS); + DisplayPartyMenuStdMessage(PARTY_MSG_DO_WHAT_WITH_MON); } else { - sub_81B31B0(1); + DisplaySelectionWindow(SELECTWINDOW_ITEM); CopyItemName(GetMonData(mon, MON_DATA_HELD_ITEM), gStringVar2); - display_pokemon_menu_message(26); + DisplayPartyMenuStdMessage(PARTY_MSG_ALREADY_HOLDING_ONE); } gTasks[taskId].data[0] = 0xFF; - gTasks[taskId].func = HandleMenuInput; + gTasks[taskId].func = Task_HandleSelectionMenuInput; } static void CursorCb_SendMon(u8 taskId) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - if (sub_81B8A7C() == TRUE) + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + if (TrySwitchInPokemon() == TRUE) { - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } else { - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - sub_81B1B5C(gStringVar4, 1); - gTasks[taskId].func = sub_81B1C1C; + // gStringVar4 below is the error message buffered by TrySwitchInPokemon + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + DisplayPartyMenuMessage(gStringVar4, TRUE); + gTasks[taskId].func = Task_ReturnToChooseMonAfterText; } } static void CursorCb_Enter(u8 taskId) { - u8 unk; + u8 maxBattlers; u8 i; - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - unk = sub_81B8830(); - for (i = 0; i < unk; i++) + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + maxBattlers = GetMaxBattleEntries(); + for (i = 0; i < maxBattlers; i++) { if (gSelectedOrderFromParty[i] == 0) { PlaySE(SE_SELECT); - gSelectedOrderFromParty[i] = gUnknown_0203CEC8.slotId + 1; - DisplayPartyPokemonOtherText(i + 2, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); - if (i == (unk - 1)) - sub_81B4F88(); - display_pokemon_menu_message(0); - gTasks[taskId].func = sub_81B1370; + gSelectedOrderFromParty[i] = gPartyMenu.slotId + 1; + DisplayPartyPokemonDescriptionText(i + PARTYBOX_DESC_FIRST, &sPartyMenuBoxes[gPartyMenu.slotId], 1); + if (i == (maxBattlers - 1)) + MoveCursorToConfirm(); + DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON); + gTasks[taskId].func = Task_HandleChooseMonInput; return; } } - ConvertIntToDecimalStringN(gStringVar1, unk, 0, 1); + ConvertIntToDecimalStringN(gStringVar1, maxBattlers, STR_CONV_MODE_LEFT_ALIGN, 1); StringExpandPlaceholders(gStringVar4, gText_NoMoreThanVar1Pkmn); PlaySE(SE_HAZURE); - sub_81B1B5C(gStringVar4, 1); - gTasks[taskId].func = sub_81B1C1C; + DisplayPartyMenuMessage(gStringVar4, TRUE); + gTasks[taskId].func = Task_ReturnToChooseMonAfterText; } -static void sub_81B4F88(void) +static void MoveCursorToConfirm(void) { - sub_81B0FCC(gUnknown_0203CEC8.slotId, 0); - gUnknown_0203CEC8.slotId = 6; - sub_81B0FCC(gUnknown_0203CEC8.slotId, 1); + AnimatePartySlot(gPartyMenu.slotId, 0); + gPartyMenu.slotId = PARTY_SIZE; + AnimatePartySlot(gPartyMenu.slotId, 1); } static void CursorCb_NoEntry(u8 taskId) { - u8 unk; + u8 maxBattlers; u8 i, j; PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - unk = sub_81B8830(); - for (i = 0; i < unk; i++) + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + maxBattlers = GetMaxBattleEntries(); + for (i = 0; i < maxBattlers; i++) { - if (gSelectedOrderFromParty[i] == (gUnknown_0203CEC8.slotId + 1)) + if (gSelectedOrderFromParty[i] == (gPartyMenu.slotId + 1)) { - for (j = i; j < (unk - 1); j++) + for (j = i; j < (maxBattlers - 1); j++) gSelectedOrderFromParty[j] = gSelectedOrderFromParty[j + 1]; gSelectedOrderFromParty[j] = 0; break; } } - DisplayPartyPokemonOtherText(1, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); - for (i = 0; i < (unk - 1); i++) + DisplayPartyPokemonDescriptionText(PARTYBOX_DESC_ABLE_3, &sPartyMenuBoxes[gPartyMenu.slotId], 1); + for (i = 0; i < (maxBattlers - 1); i++) { if (gSelectedOrderFromParty[i] != 0) - DisplayPartyPokemonOtherText(i + 2, &gUnknown_0203CEDC[gSelectedOrderFromParty[i] - 1], 1); + DisplayPartyPokemonDescriptionText(i + PARTYBOX_DESC_FIRST, &sPartyMenuBoxes[gSelectedOrderFromParty[i] - 1], 1); } - display_pokemon_menu_message(0); - gTasks[taskId].func = sub_81B1370; + DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON); + gTasks[taskId].func = Task_HandleChooseMonInput; } static void CursorCb_Store(u8 taskId) { PlaySE(SE_SELECT); - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } +// Register mon for the Trading Board in Union Room static void CursorCb_Register(u8 taskId) { - u16 species2 = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES2); - u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES); - u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_OBEDIENCE); + u16 species2 = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES2); + u16 species = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES); + u8 obedience = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_OBEDIENCE); - switch (sub_807A8D0(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), species2, species, obedience)) + switch (CanRegisterMonForTradingBoard(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), species2, species, obedience)) { - case 1: + case CANT_REGISTER_MON: StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTradedNow); break; - case 2: + case CANT_REGISTER_EGG: StringExpandPlaceholders(gStringVar4, gText_EggCantBeTradedNow); break; default: PlaySE(SE_SELECT); - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); return; } PlaySE(SE_HAZURE); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); StringAppend(gStringVar4, gText_PauseUntilPress); - sub_81B1B5C(gStringVar4, 1); - gTasks[taskId].func = sub_81B1C1C; + DisplayPartyMenuMessage(gStringVar4, TRUE); + gTasks[taskId].func = Task_ReturnToChooseMonAfterText; } static void CursorCb_Trade1(u8 taskId) { - u16 species2 = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES2); - u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES); - u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_OBEDIENCE); - u32 stringId = sub_807A7E0(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), gUnknown_02022C38, species2, gUnknown_02022C3C, gUnknown_02022C3E, species, obedience); + u16 species2 = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES2); + u16 species = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES); + u8 obedience = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_OBEDIENCE); + u32 stringId = GetUnionRoomTradeMessageId(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), gUnknown_02022C38, species2, gUnionRoomOfferedSpecies, gUnionRoomRequestedMonType, species, obedience); - if (stringId != 0) + if (stringId != UR_TRADE_MSG_NONE) { - StringExpandPlaceholders(gStringVar4, gUnknown_08615E0C[stringId - 1]); + StringExpandPlaceholders(gStringVar4, sUnionRoomTradeMessages[stringId - 1]); PlaySE(SE_HAZURE); - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); StringAppend(gStringVar4, gText_PauseUntilPress); - sub_81B1B5C(gStringVar4, 1); - gTasks[taskId].func = sub_81B1C1C; + DisplayPartyMenuMessage(gStringVar4, TRUE); + gTasks[taskId].func = Task_ReturnToChooseMonAfterText; } else { PlaySE(SE_SELECT); - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } } +// Spin Trade (based on the translation of the Japanese trade prompt) +// Not fully implemented, and normally unreachable because PARTY_MENU_TYPE_SPIN_TRADE is never used static void CursorCb_Trade2(u8 taskId) { - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - switch (sub_807A918(gPlayerParty, gUnknown_0203CEC8.slotId)) + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + switch (CanSpinTradeMon(gPlayerParty, gPartyMenu.slotId)) { - case 1: + case CANT_TRADE_LAST_MON: StringExpandPlaceholders(gStringVar4, gText_OnlyPkmnForBattle); break; - case 2: + case CANT_TRADE_NATIONAL: StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTradedNow); break; - case 3: + case CANT_TRADE_EGG_YET: StringExpandPlaceholders(gStringVar4, gText_EggCantBeTradedNow); break; - default: + default: // CAN_TRADE_MON PlaySE(SE_SELECT); - GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1); - StringExpandPlaceholders(gStringVar4, gJPText_PutVar1IntoSpinner); - sub_81B1B5C(gStringVar4, 1); - gTasks[taskId].func = sub_81B53FC; + GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1); + StringExpandPlaceholders(gStringVar4, gJPText_AreYouSureYouWantToSpinTradeMon); + DisplayPartyMenuMessage(gStringVar4, TRUE); + gTasks[taskId].func = Task_SpinTradeYesNo; return; } PlaySE(SE_HAZURE); StringAppend(gStringVar4, gText_PauseUntilPress); - sub_81B1B5C(gStringVar4, 1); - gTasks[taskId].func = sub_81B1C1C; + DisplayPartyMenuMessage(gStringVar4, TRUE); + gTasks[taskId].func = Task_ReturnToChooseMonAfterText; } -static void sub_81B53FC(u8 taskId) +static void Task_SpinTradeYesNo(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - sub_81B334C(); - gTasks[taskId].func = sub_81B5430; + PartyMenuDisplayYesNoMenu(); + gTasks[taskId].func = Task_HandleSpinTradeYesNoInput; } } -static void sub_81B5430(u8 taskId) +// See comment on CursorCb_Trade2. Because no callback is set, selecting YES (0) to spin trade just closes the party menu +static void Task_HandleSpinTradeYesNoInput(u8 taskId) { switch (Menu_ProcessInputNoWrapClearOnChoose()) { case 0: - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); break; case MENU_B_PRESSED: PlaySE(SE_SELECT); + // fallthrough case 1: - sub_81B1C1C(taskId); + Task_ReturnToChooseMonAfterText(taskId); break; } } static void CursorCb_FieldMove(u8 taskId) { - u8 fieldMove = gUnknown_0203CEC4->actions[Menu_GetCursorPos()] - MENU_FIELD_MOVES; + u8 fieldMove = sPartyMenuInternal->actions[Menu_GetCursorPos()] - MENU_FIELD_MOVES; const struct MapHeader *mapHeader; PlaySE(SE_SELECT); if (sFieldMoveCursorCallbacks[fieldMove].fieldMoveFunc == NULL) return; - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); if (sub_81221AC() == TRUE || InUnionRoom() == TRUE) { if (fieldMove == FIELD_MOVE_MILK_DRINK || fieldMove == FIELD_MOVE_SOFT_BOILED) - display_pokemon_menu_message(13); + DisplayPartyMenuStdMessage(PARTY_MSG_CANT_USE_HERE); else - display_pokemon_menu_message(sFieldMoveCursorCallbacks[fieldMove].msgId); + DisplayPartyMenuStdMessage(sFieldMoveCursorCallbacks[fieldMove].msgId); - gTasks[taskId].func = task_brm_cancel_1_on_keypad_a_or_b; + gTasks[taskId].func = Task_CancelAfterAorBPress; } else { // All field moves before WATERFALL are HMs. if (fieldMove <= FIELD_MOVE_WATERFALL && FlagGet(FLAG_BADGE01_GET + fieldMove) != TRUE) { - sub_81B1B5C(gText_CantUseUntilNewBadge, 1); - gTasks[taskId].func = sub_81B1C1C; + DisplayPartyMenuMessage(gText_CantUseUntilNewBadge, TRUE); + gTasks[taskId].func = Task_ReturnToChooseMonAfterText; } else if (sFieldMoveCursorCallbacks[fieldMove].fieldMoveFunc() == TRUE) { @@ -4767,121 +3663,123 @@ static void CursorCb_FieldMove(u8 taskId) { case FIELD_MOVE_MILK_DRINK: case FIELD_MOVE_SOFT_BOILED: - sub_8161560(taskId); + ChooseMonForSoftboiled(taskId); break; case FIELD_MOVE_TELEPORT: mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->lastHealLocation.mapGroup, gSaveBlock1Ptr->lastHealLocation.mapNum); - sub_81245DC(gStringVar1, mapHeader->regionMapSectionId); + GetMapNameGeneric(gStringVar1, mapHeader->regionMapSectionId); StringExpandPlaceholders(gStringVar4, gText_ReturnToHealingSpot); - sub_81B5674(taskId); - gUnknown_0203CEC4->data[0] = fieldMove; + DisplayFieldMoveExitAreaMessage(taskId); + sPartyMenuInternal->data[0] = fieldMove; break; case FIELD_MOVE_DIG: mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->escapeWarp.mapGroup, gSaveBlock1Ptr->escapeWarp.mapNum); - sub_81245DC(gStringVar1, mapHeader->regionMapSectionId); + GetMapNameGeneric(gStringVar1, mapHeader->regionMapSectionId); StringExpandPlaceholders(gStringVar4, gText_EscapeFromHere); - sub_81B5674(taskId); - gUnknown_0203CEC4->data[0] = fieldMove; + DisplayFieldMoveExitAreaMessage(taskId); + sPartyMenuInternal->data[0] = fieldMove; break; case FIELD_MOVE_FLY: - gUnknown_0203CEC8.exitCallback = MCB2_FlyMap; - sub_81B12C0(taskId); + gPartyMenu.exitCallback = MCB2_FlyMap; + Task_ClosePartyMenu(taskId); break; default: - gUnknown_0203CEC8.exitCallback = CB2_ReturnToField; - sub_81B12C0(taskId); + gPartyMenu.exitCallback = CB2_ReturnToField; + Task_ClosePartyMenu(taskId); break; } } + // Cant use Field Move else { switch (fieldMove) { case FIELD_MOVE_SURF: - sub_81B5864(); + DisplayCantUseSurfMessage(); break; case FIELD_MOVE_FLASH: - sub_81B57DC(); + DisplayCantUseFlashMessage(); break; default: - display_pokemon_menu_message(sFieldMoveCursorCallbacks[fieldMove].msgId); + DisplayPartyMenuStdMessage(sFieldMoveCursorCallbacks[fieldMove].msgId); break; } - gTasks[taskId].func = task_brm_cancel_1_on_keypad_a_or_b; + gTasks[taskId].func = Task_CancelAfterAorBPress; } } } -static void sub_81B5674(u8 taskId) +static void DisplayFieldMoveExitAreaMessage(u8 taskId) { - sub_81B1B5C(gStringVar4, 1); - gTasks[taskId].func = sub_81B56A4; + DisplayPartyMenuMessage(gStringVar4, TRUE); + gTasks[taskId].func = Task_FieldMoveExitAreaYesNo; } -static void sub_81B56A4(u8 taskId) +static void Task_FieldMoveExitAreaYesNo(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - sub_81B334C(); - gTasks[taskId].func = sub_81B56D8; + PartyMenuDisplayYesNoMenu(); + gTasks[taskId].func = Task_HandleFieldMoveExitAreaYesNoInput; } } -static void sub_81B56D8(u8 taskId) +static void Task_HandleFieldMoveExitAreaYesNoInput(u8 taskId) { switch (Menu_ProcessInputNoWrapClearOnChoose()) { case 0: - gUnknown_0203CEC8.exitCallback = CB2_ReturnToField; - sub_81B12C0(taskId); + gPartyMenu.exitCallback = CB2_ReturnToField; + Task_ClosePartyMenu(taskId); break; case MENU_B_PRESSED: PlaySE(SE_SELECT); + // fallthrough case 1: gFieldCallback2 = NULL; gPostMenuFieldCallback = NULL; - sub_81B1C1C(taskId); + Task_ReturnToChooseMonAfterText(taskId); break; } } bool8 FieldCallback_PrepareFadeInFromMenu(void) { - pal_fill_black(); - CreateTask(task_launch_hm_phase_2, 8); + FadeInFromBlack(); + CreateTask(Task_FieldMoveWaitForFade, 8); return TRUE; } -static void task_launch_hm_phase_2(u8 taskId) +static void Task_FieldMoveWaitForFade(u8 taskId) { if (IsWeatherNotFadingIn() == TRUE) { - gFieldEffectArguments[0] = brm_get_selected_species(); + gFieldEffectArguments[0] = GetFieldMoveMonSpecies(); gPostMenuFieldCallback(); DestroyTask(taskId); } } -static u16 brm_get_selected_species(void) +static u16 GetFieldMoveMonSpecies(void) { - return GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES); + return GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES); } -static void task_brm_cancel_1_on_keypad_a_or_b(u8 taskId) +static void Task_CancelAfterAorBPress(u8 taskId) { if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) CursorCb_Cancel1(taskId); } -static void sub_81B57DC(void) +static void DisplayCantUseFlashMessage(void) { if (FlagGet(FLAG_SYS_USE_FLASH) == TRUE) - display_pokemon_menu_message(12); + DisplayPartyMenuStdMessage(PARTY_MSG_ALREADY_IN_USE); else - display_pokemon_menu_message(13); + DisplayPartyMenuStdMessage(PARTY_MSG_CANT_USE_HERE); } -static void hm_surf_run_dp02scr(void) +static void FieldCallback_Surf(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); FieldEffectStart(FLDEFF_USE_SURF); @@ -4892,18 +3790,18 @@ static bool8 SetUpFieldMove_Surf(void) if (PartyHasMonWithSurf() == TRUE && IsPlayerFacingSurfableFishableWater() == TRUE) { gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; - gPostMenuFieldCallback = hm_surf_run_dp02scr; + gPostMenuFieldCallback = FieldCallback_Surf; return TRUE; } return FALSE; } -static void sub_81B5864(void) +static void DisplayCantUseSurfMessage(void) { if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) - display_pokemon_menu_message(9); + DisplayPartyMenuStdMessage(PARTY_MSG_ALREADY_SURFING); else - display_pokemon_menu_message(8); + DisplayPartyMenuStdMessage(PARTY_MSG_CANT_SURF_HERE); } static bool8 SetUpFieldMove_Fly(void) @@ -4914,12 +3812,12 @@ static bool8 SetUpFieldMove_Fly(void) return FALSE; } -void sub_81B58A8(void) +void CB2_ReturnToPartyMenuFromFlyMap(void) { - InitPartyMenu(0, 0, 0, 1, 0, sub_81B1370, CB2_ReturnToFieldWithOpenMenu); + InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, TRUE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, CB2_ReturnToFieldWithOpenMenu); } -static void hm2_waterfall(void) +static void FieldCallback_Waterfall(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); FieldEffectStart(FLDEFF_USE_WATERFALL); @@ -4933,13 +3831,13 @@ static bool8 SetUpFieldMove_Waterfall(void) if (MetatileBehavior_IsWaterfall(MapGridGetMetatileBehaviorAt(x, y)) == TRUE && IsPlayerSurfingNorth() == TRUE) { gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; - gPostMenuFieldCallback = hm2_waterfall; + gPostMenuFieldCallback = FieldCallback_Waterfall; return TRUE; } return FALSE; } -static void sub_81B5958(void) +static void FieldCallback_Dive(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); FieldEffectStart(FLDEFF_USE_DIVE); @@ -4951,64 +3849,66 @@ static bool8 SetUpFieldMove_Dive(void) if (gFieldEffectArguments[1] != 0) { gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; - gPostMenuFieldCallback = sub_81B5958; + gPostMenuFieldCallback = FieldCallback_Dive; return TRUE; } return FALSE; } -static void party_menu_icon_anim(struct Pokemon *mon, struct Struct203CEDC *ptr, u32 a) +static void CreatePartyMonIconSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox, u32 slot) { - u32 bit = 1; + bool32 handleDeoxys = TRUE; u16 species2; + // If in a multi battle, show partners Deoxys icon as Normal forme if (IsMultiBattle() == TRUE && gMain.inBattle) - bit = (gUnknown_08616020[a] ^ bit) ? 1 : 0; + handleDeoxys = (sMultiBattlePartnersPartyMask[slot] ^ handleDeoxys) ? TRUE : FALSE; + species2 = GetMonData(mon, MON_DATA_SPECIES2); - party_menu_link_mon_icon_anim(species2, GetMonData(mon, MON_DATA_PERSONALITY), ptr, 1, bit); - sub_81B5B38(ptr->monSpriteId, mon); + CreatePartyMonIconSpriteParameterized(species2, GetMonData(mon, MON_DATA_PERSONALITY), menuBox, 1, handleDeoxys); + UpdatePartyMonHPBar(menuBox->monSpriteId, mon); } -static void party_menu_link_mon_icon_anim(u16 species, u32 pid, struct Struct203CEDC *ptr, u8 priority, u32 bit) +static void CreatePartyMonIconSpriteParameterized(u16 species, u32 pid, struct PartyMenuBox *menuBox, u8 priority, bool32 handleDeoxys) { if (species != SPECIES_NONE) { - ptr->monSpriteId = CreateMonIcon(species, sub_80D3014, ptr->unk4[0], ptr->unk4[1], 4, pid, bit); - gSprites[ptr->monSpriteId].oam.priority = priority; + menuBox->monSpriteId = CreateMonIcon(species, SpriteCB_MonIcon, menuBox->spriteCoords[0], menuBox->spriteCoords[1], 4, pid, handleDeoxys); + gSprites[menuBox->monSpriteId].oam.priority = priority; } } -static void sub_81B5A8C(u8 spriteId, u16 hp, u16 maxhp) +static void UpdateHPBar(u8 spriteId, u16 hp, u16 maxhp) { switch (GetHPBarLevel(hp, maxhp)) { case HP_BAR_FULL: - sub_80D32C8(&gSprites[spriteId], 0); + SetPartyHPBarSprite(&gSprites[spriteId], 0); break; case HP_BAR_GREEN: - sub_80D32C8(&gSprites[spriteId], 1); + SetPartyHPBarSprite(&gSprites[spriteId], 1); break; case HP_BAR_YELLOW: - sub_80D32C8(&gSprites[spriteId], 2); + SetPartyHPBarSprite(&gSprites[spriteId], 2); break; case HP_BAR_RED: - sub_80D32C8(&gSprites[spriteId], 3); + SetPartyHPBarSprite(&gSprites[spriteId], 3); break; default: - sub_80D32C8(&gSprites[spriteId], 4); + SetPartyHPBarSprite(&gSprites[spriteId], 4); break; } } -static void sub_81B5B38(u8 spriteId, struct Pokemon *mon) +static void UpdatePartyMonHPBar(u8 spriteId, struct Pokemon *mon) { - sub_81B5A8C(spriteId, GetMonData(mon, MON_DATA_HP), GetMonData(mon, MON_DATA_MAX_HP)); + UpdateHPBar(spriteId, GetMonData(mon, MON_DATA_HP), GetMonData(mon, MON_DATA_MAX_HP)); } -static void AnimateSelectedPartyIcon(u8 spriteId, u8 a) +static void AnimateSelectedPartyIcon(u8 spriteId, u8 animNum) { gSprites[spriteId].data[0] = 0; - if (a == 0) + if (animNum == 0) { if (gSprites[spriteId].pos1.x == 16) { @@ -5020,71 +3920,71 @@ static void AnimateSelectedPartyIcon(u8 spriteId, u8 a) gSprites[spriteId].pos2.x = -4; gSprites[spriteId].pos2.y = 0; } - gSprites[spriteId].callback = UpdatePartyMonIconFrame; + gSprites[spriteId].callback = SpriteCB_UpdatePartyMonIcon; } else { gSprites[spriteId].pos2.x = 0; gSprites[spriteId].pos2.y = 0; - gSprites[spriteId].callback = UpdatePartyMonIconFrameAndBounce; + gSprites[spriteId].callback = SpriteCB_BouncePartyMonIcon; } } -static void UpdatePartyMonIconFrameAndBounce(struct Sprite *sprite) +static void SpriteCB_BouncePartyMonIcon(struct Sprite *sprite) { - u8 unk = UpdateMonIconFrame(sprite); + u8 animCmd = UpdateMonIconFrame(sprite); - if (unk != 0) + if (animCmd != 0) { - if (unk & 1) + if (animCmd & 1) // % 2 also matches sprite->pos2.y = -3; else sprite->pos2.y = 1; } } -static void UpdatePartyMonIconFrame(struct Sprite *sprite) +static void SpriteCB_UpdatePartyMonIcon(struct Sprite *sprite) { UpdateMonIconFrame(sprite); } -static void party_menu_held_item_object(struct Pokemon *mon, struct Struct203CEDC *ptr) +static void CreatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox) { if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) { - ptr->itemSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, ptr->unk4[2], ptr->unk4[3], 0); - sub_81B5C94(mon, ptr); + menuBox->itemSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, menuBox->spriteCoords[2], menuBox->spriteCoords[3], 0); + UpdatePartyMonHeldItemSprite(mon, menuBox); } } -static void party_menu_link_mon_held_item_object(u16 species, u16 item, struct Struct203CEDC *ptr) +static void CreatePartyMonHeldItemSpriteParameterized(u16 species, u16 item, struct PartyMenuBox *menuBox) { if (species != SPECIES_NONE) { - ptr->itemSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, ptr->unk4[2], ptr->unk4[3], 0); - gSprites[ptr->itemSpriteId].oam.priority = 0; - sub_81B5CB0(item, ptr); + menuBox->itemSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, menuBox->spriteCoords[2], menuBox->spriteCoords[3], 0); + gSprites[menuBox->itemSpriteId].oam.priority = 0; + ShowOrHideHeldItemSprite(item, menuBox); } } -static void sub_81B5C94(struct Pokemon *mon, struct Struct203CEDC *ptr) +static void UpdatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox) { - sub_81B5CB0(GetMonData(mon, MON_DATA_HELD_ITEM), ptr); + ShowOrHideHeldItemSprite(GetMonData(mon, MON_DATA_HELD_ITEM), menuBox); } -static void sub_81B5CB0(u16 item, struct Struct203CEDC *ptr) +static void ShowOrHideHeldItemSprite(u16 item, struct PartyMenuBox *menuBox) { if (item == ITEM_NONE) { - gSprites[ptr->itemSpriteId].invisible = TRUE; + gSprites[menuBox->itemSpriteId].invisible = TRUE; } else { if (ItemIsMail(item)) - StartSpriteAnim(&gSprites[ptr->itemSpriteId], 1); + StartSpriteAnim(&gSprites[menuBox->itemSpriteId], 1); else - StartSpriteAnim(&gSprites[ptr->itemSpriteId], 0); - gSprites[ptr->itemSpriteId].invisible = FALSE; + StartSpriteAnim(&gSprites[menuBox->itemSpriteId], 0); + gSprites[menuBox->itemSpriteId].invisible = FALSE; } } @@ -5094,33 +3994,33 @@ void LoadHeldItemIcons(void) LoadSpritePalette(&sSpritePalette_HeldItem); } -void sub_81B5D4C(u8 *a, u8 *b, u8 c) +void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 whichParty) { u16 i; u16 item; - switch (c) + switch (whichParty) { - case 0: - for (i = 0; i < a[0]; i++) + case TRADE_PLAYER: + for (i = 0; i < partyCounts[TRADE_PLAYER]; i++) { item = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); if (item != ITEM_NONE) - sub_81B5DF0(b[i], ItemIsMail(item)); + CreateHeldItemSpriteForTrade(partySpriteIds[i], ItemIsMail(item)); } break; - case 1: - for (i = 0; i < a[1]; i++) + case TRADE_PARTNER: + for (i = 0; i < partyCounts[TRADE_PARTNER]; i++) { item = GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM); if (item != ITEM_NONE) - sub_81B5DF0(b[i + 6], ItemIsMail(item)); + CreateHeldItemSpriteForTrade(partySpriteIds[i + PARTY_SIZE], ItemIsMail(item)); } break; } } -static void sub_81B5DF0(u8 spriteId, u8 isMail) +static void CreateHeldItemSpriteForTrade(u8 spriteId, bool8 isMail) { u8 subpriority = gSprites[spriteId].subpriority; u8 newSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, 250, 170, subpriority - 1); @@ -5149,22 +4049,23 @@ static void SpriteCB_HeldItem(struct Sprite *sprite) } } -static void party_menu_pokeball_object(struct Pokemon *mon, struct Struct203CEDC *ptr) +static void CreatePartyMonPokeballSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox) { if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) - ptr->pokeballSpriteId = CreateSprite(&sSpriteTemplate_MenuPokeball, ptr->unk4[6], ptr->unk4[7], 8); + menuBox->pokeballSpriteId = CreateSprite(&sSpriteTemplate_MenuPokeball, menuBox->spriteCoords[6], menuBox->spriteCoords[7], 8); } -static void party_menu_link_mon_pokeball_object(u16 species, struct Struct203CEDC *ptr) +static void CreatePartyMonPokeballSpriteParameterized(u16 species, struct PartyMenuBox *menuBox) { if (species != SPECIES_NONE) { - ptr->pokeballSpriteId = CreateSprite(&sSpriteTemplate_MenuPokeball, ptr->unk4[6], ptr->unk4[7], 8); - gSprites[ptr->pokeballSpriteId].oam.priority = 0; + menuBox->pokeballSpriteId = CreateSprite(&sSpriteTemplate_MenuPokeball, menuBox->spriteCoords[6], menuBox->spriteCoords[7], 8); + gSprites[menuBox->pokeballSpriteId].oam.priority = 0; } } -static u8 sub_81B5F34(u8 x, u8 y) +// For Cancel when Confirm isnt present +static u8 CreatePokeballButtonSprite(u8 x, u8 y) { u8 spriteId = CreateSprite(&sSpriteTemplate_MenuPokeball, x, y, 8); @@ -5172,19 +4073,22 @@ static u8 sub_81B5F34(u8 x, u8 y) return spriteId; } -static u8 sub_81B5F74(u8 x, u8 y) +// For Confirm and Cancel when both are present +static u8 CreateSmallPokeballButtonSprite(u8 x, u8 y) { - return CreateSprite(&gSpriteTemplate_8615F78, x, y, 8); + return CreateSprite(&sSpriteTemplate_MenuPokeballSmall, x, y, 8); } -static void sub_81B5F98(u8 spriteId, u8 a) +static void PartyMenuStartSpriteAnim(u8 spriteId, u8 animNum) { - StartSpriteAnim(&gSprites[spriteId], a); + StartSpriteAnim(&gSprites[spriteId], animNum); } -static void sub_81B5FBC(u8 spriteId, u8 spriteId2, u8 a) +// Unused. Might explain the large blank section in gPartyMenuPokeballSmall_Gfx +// At the very least this is how the unused anim cmds for sSpriteAnimTable_MenuPokeballSmall were meant to be accessed +static void SpriteCB_BounceConfirmCancelButton(u8 spriteId, u8 spriteId2, u8 animNum) { - if (a == 0) + if (animNum == 0) { StartSpriteAnim(&gSprites[spriteId], 2); StartSpriteAnim(&gSprites[spriteId2], 4); @@ -5207,41 +4111,41 @@ static void LoadPartyMenuPokeballGfx(void) LoadCompressedSpritePalette(&sSpritePalette_MenuPokeball); } -static void party_menu_status_condition_object(struct Pokemon *mon, struct Struct203CEDC *ptr) +static void CreatePartyMonStatusSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox) { if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) { - ptr->statusSpriteId = CreateSprite(&sSpriteTemplate_StatusIcons, ptr->unk4[4], ptr->unk4[5], 0); - party_menu_get_status_condition_and_update_object(mon, ptr); + menuBox->statusSpriteId = CreateSprite(&sSpriteTemplate_StatusIcons, menuBox->spriteCoords[4], menuBox->spriteCoords[5], 0); + SetPartyMonAilmentGfx(mon, menuBox); } } -static void party_menu_link_mon_status_condition_object(u16 species, u8 status, struct Struct203CEDC *ptr) +static void CreatePartyMonStatusSpriteParameterized(u16 species, u8 status, struct PartyMenuBox *menuBox) { if (species != SPECIES_NONE) { - ptr->statusSpriteId = CreateSprite(&sSpriteTemplate_StatusIcons, ptr->unk4[4], ptr->unk4[5], 0); - party_menu_update_status_condition_object(status, ptr); - gSprites[ptr->statusSpriteId].oam.priority = 0; + menuBox->statusSpriteId = CreateSprite(&sSpriteTemplate_StatusIcons, menuBox->spriteCoords[4], menuBox->spriteCoords[5], 0); + UpdatePartyMonAilmentGfx(status, menuBox); + gSprites[menuBox->statusSpriteId].oam.priority = 0; } } -static void party_menu_get_status_condition_and_update_object(struct Pokemon *mon, struct Struct203CEDC *ptr) +static void SetPartyMonAilmentGfx(struct Pokemon *mon, struct PartyMenuBox *menuBox) { - party_menu_update_status_condition_object(GetMonAilment(mon), ptr); + UpdatePartyMonAilmentGfx(GetMonAilment(mon), menuBox); } -static void party_menu_update_status_condition_object(u8 status, struct Struct203CEDC *ptr) +static void UpdatePartyMonAilmentGfx(u8 status, struct PartyMenuBox *menuBox) { switch (status) { case AILMENT_NONE: case AILMENT_PKRS: - gSprites[ptr->statusSpriteId].invisible = TRUE; + gSprites[menuBox->statusSpriteId].invisible = TRUE; break; default: - StartSpriteAnim(&gSprites[ptr->statusSpriteId], status - 1); - gSprites[ptr->statusSpriteId].invisible = FALSE; + StartSpriteAnim(&gSprites[menuBox->statusSpriteId], status - 1); + gSprites[menuBox->statusSpriteId].invisible = FALSE; break; } } @@ -5252,68 +4156,68 @@ static void LoadPartyMenuAilmentGfx(void) LoadCompressedSpritePalette(&sSpritePalette_StatusIcons); } -void sub_81B617C(void) +void CB2_ShowPartyMenuForItemUse(void) { - MainCallback callback = c2_815ABFC; - u8 doubleBattleStatus; - bool8 inBattle; + MainCallback callback = CB2_ReturnToBagMenu; + u8 partyLayout; + u8 menuType; u8 i; - u8 msgIdMaybe; + u8 msgId; TaskFunc task; if (gMain.inBattle) { - inBattle = TRUE; - doubleBattleStatus = sub_81B8984(); + menuType = PARTY_MENU_TYPE_IN_BATTLE; + partyLayout = GetPartyLayoutFromBattleType(); } else { - inBattle = FALSE; - doubleBattleStatus = 0; + menuType = PARTY_MENU_TYPE_FIELD; + partyLayout = PARTY_LAYOUT_SINGLE; } if (GetItemEffectType(gSpecialVar_ItemId) == ITEM_EFFECT_SACRED_ASH) { - gUnknown_0203CEC8.slotId = 0; + gPartyMenu.slotId = 0; for (i = 0; i < PARTY_SIZE; i++) { if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE && GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0) { - gUnknown_0203CEC8.slotId = i; + gPartyMenu.slotId = i; break; } } - task = sub_81B6280; - msgIdMaybe = 0x7F; + task = Task_SetSacredAshCB; + msgId = PARTY_MSG_NONE; } else { if (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_TM_HM) - msgIdMaybe = 4; + msgId = PARTY_MSG_TEACH_WHICH_MON; else - msgIdMaybe = 5; + msgId = PARTY_MSG_USE_ON_WHICH_MON; - task = sub_81B1370; + task = Task_HandleChooseMonInput; } - InitPartyMenu(inBattle, doubleBattleStatus, 3, 1, msgIdMaybe, task, callback); + InitPartyMenu(menuType, partyLayout, PARTY_ACTION_USE_ITEM, TRUE, msgId, task, callback); } -static void c2_815ABFC(void) +static void CB2_ReturnToBagMenu(void) { if (InBattlePyramid() == FALSE) GoToBagMenu(RETURN_LOCATION_UNCHANGED, POCKETS_COUNT, NULL); else - sub_81C4F98(4, gPyramidBagCursorData.callback); + GoToBattlePyramidBagMenu(4, gPyramidBagCursorData.callback); } -static void sub_81B6280(u8 taskId) +static void Task_SetSacredAshCB(u8 taskId) { if (!gPaletteFade.active) { - if (gUnknown_0203CEC8.unk8_0 == 1) - gUnknown_0203CEC4->exitCallback = sub_81B9140; - gUnknown_03006328(taskId, sub_81B6794); + if (gPartyMenu.menuType == PARTY_MENU_TYPE_IN_BATTLE) + sPartyMenuInternal->exitCallback = CB2_SetUpExitToBattleScreen; + gItemUseCB(taskId, Task_ClosePartyMenuAfterText); // ItemUseCB_SacredAsh in this case } } @@ -5397,7 +4301,7 @@ static void GetMedicineItemEffectMessage(u16 item) } } -static bool8 UsingHPEVItemOnShedinja(struct Pokemon *mon, u16 item) +static bool8 NotUsingHPEVItemOnShedinja(struct Pokemon *mon, u16 item) { if (GetItemEffectType(item) == ITEM_EFFECT_HP_EV && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_SHEDINJA) return FALSE; @@ -5411,10 +4315,10 @@ static bool8 IsItemFlute(u16 item) return FALSE; } -static bool8 ExecuteTableBasedItemEffect__(u8 partyMonIndex, u16 item, u8 monMoveIndex) +static bool8 ExecuteTableBasedItemEffect_(u8 partyMonIndex, u16 item, u8 monMoveIndex) { if (gMain.inBattle) - return ExecuteTableBasedItemEffect(&gPlayerParty[partyMonIndex], item, sub_81B8F38(partyMonIndex), monMoveIndex); + return ExecuteTableBasedItemEffect(&gPlayerParty[partyMonIndex], item, GetPartyIdFromBattleSlot(partyMonIndex), monMoveIndex); else return ExecuteTableBasedItemEffect(&gPlayerParty[partyMonIndex], item, partyMonIndex, monMoveIndex); } @@ -5422,11 +4326,11 @@ static bool8 ExecuteTableBasedItemEffect__(u8 partyMonIndex, u16 item, u8 monMov void ItemUseCB_Medicine(u8 taskId, TaskFunc task) { u16 hp = 0; - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; u16 item = gSpecialVar_ItemId; bool8 canHeal; - if (UsingHPEVItemOnShedinja(mon, item)) + if (NotUsingHPEVItemOnShedinja(mon, item)) { canHeal = IsHPRecoveryItem(item); if (canHeal == TRUE) @@ -5435,12 +4339,12 @@ void ItemUseCB_Medicine(u8 taskId, TaskFunc task) if (hp == GetMonData(mon, MON_DATA_MAX_HP)) canHeal = FALSE; } - if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.slotId, item, 0)) + if (ExecuteTableBasedItemEffect_(gPartyMenu.slotId, item, 0)) { iTriedHonestlyIDid: - gUnknown_0203CEE8 = 0; + gPartyMenuUseExitCallback = FALSE; PlaySE(SE_SELECT); - sub_81B1B5C(gText_WontHaveEffect, 1); + DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = task; return; @@ -5448,89 +4352,89 @@ void ItemUseCB_Medicine(u8 taskId, TaskFunc task) } else { - goto iTriedHonestlyIDid; + goto iTriedHonestlyIDid; //TODO: resolve this goto } - gUnknown_0203CEE8 = 1; - if (IsItemFlute(item) == FALSE) + gPartyMenuUseExitCallback = TRUE; + if (!IsItemFlute(item)) { PlaySE(SE_KAIFUKU); - if (gUnknown_0203CEC8.unkB != 14) + if (gPartyMenu.action != PARTY_ACTION_REUSABLE_ITEM) RemoveBagItem(item, 1); } else { PlaySE(SE_BIDORO); } - party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId]); - if (gSprites[gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].statusSpriteId].invisible) - DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); + SetPartyMonAilmentGfx(mon, &sPartyMenuBoxes[gPartyMenu.slotId]); + if (gSprites[sPartyMenuBoxes[gPartyMenu.slotId].statusSpriteId].invisible) + DisplayPartyPokemonLevelCheck(mon, &sPartyMenuBoxes[gPartyMenu.slotId], 1); if (canHeal == TRUE) { if (hp == 0) - sub_81B0FCC(gUnknown_0203CEC8.slotId, 1); - sub_81B1F18(taskId, gUnknown_0203CEC8.slotId, 1, GetMonData(mon, MON_DATA_HP) - hp, sub_81B672C); - sub_81B1FA8(taskId, 0, hp); + AnimatePartySlot(gPartyMenu.slotId, 1); + PartyMenuModifyHP(taskId, gPartyMenu.slotId, 1, GetMonData(mon, MON_DATA_HP) - hp, Task_DisplayHPRestoredMessage); + ResetHPTaskData(taskId, 0, hp); return; } else { GetMonNickname(mon, gStringVar1); GetMedicineItemEffectMessage(item); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, TRUE); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = task; } } -static void sub_81B672C(u8 taskId) +static void Task_DisplayHPRestoredMessage(u8 taskId) { - GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1); + GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2); - sub_81B1B5C(gStringVar4, 0); + DisplayPartyMenuMessage(gStringVar4, FALSE); schedule_bg_copy_tilemap_to_vram(2); HandleBattleLowHpMusicChange(); - gTasks[taskId].func = sub_81B6794; + gTasks[taskId].func = Task_ClosePartyMenuAfterText; } -static void sub_81B6794(u8 taskId) +static void Task_ClosePartyMenuAfterText(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - if (gUnknown_0203CEE8 == 0) - gUnknown_0203CEC4->exitCallback = NULL; - sub_81B12C0(taskId); + if (gPartyMenuUseExitCallback == FALSE) + sPartyMenuInternal->exitCallback = NULL; + Task_ClosePartyMenu(taskId); } } -void sub_81B67C8(u8 taskId, TaskFunc task) +void ItemUseCB_ReduceEV(u8 taskId, TaskFunc task) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; u16 item = gSpecialVar_ItemId; u8 effectType = GetItemEffectType(item); u16 friendship = GetMonData(mon, MON_DATA_FRIENDSHIP); - u16 relevantEV = ItemEffectToMonEv(mon, effectType); - bool8 cannotUseEffect = ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.slotId, item, 0); + u16 ev = ItemEffectToMonEv(mon, effectType); + bool8 cannotUseEffect = ExecuteTableBasedItemEffect_(gPartyMenu.slotId, item, 0); u16 newFriendship = GetMonData(mon, MON_DATA_FRIENDSHIP); - u16 newRelevantEV = ItemEffectToMonEv(mon, effectType); + u16 newEv = ItemEffectToMonEv(mon, effectType); - if (cannotUseEffect || (friendship == newFriendship && relevantEV == newRelevantEV)) + if (cannotUseEffect || (friendship == newFriendship && ev == newEv)) { - gUnknown_0203CEE8 = 0; + gPartyMenuUseExitCallback = FALSE; PlaySE(SE_SELECT); - sub_81B1B5C(gText_WontHaveEffect, 1); + DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = task; } else { - gUnknown_0203CEE8 = 1; + gPartyMenuUseExitCallback = TRUE; PlaySE(SE_KAIFUKU); RemoveBagItem(item, 1); GetMonNickname(mon, gStringVar1); ItemEffectToStatString(effectType, gStringVar2); if (friendship != newFriendship) { - if (relevantEV != newRelevantEV) + if (ev != newEv) StringExpandPlaceholders(gStringVar4, gText_PkmnFriendlyBaseVar2Fell); else StringExpandPlaceholders(gStringVar4, gText_PkmnFriendlyBaseVar2CantFall); @@ -5539,7 +4443,7 @@ void sub_81B67C8(u8 taskId, TaskFunc task) { StringExpandPlaceholders(gStringVar4, gText_PkmnAdoresBaseVar2Fell); } - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, TRUE); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = task; } @@ -5592,18 +4496,18 @@ static void ItemEffectToStatString(u8 effectType, u8 *dest) } } -static void sub_81B6A10(u8 slot) +static void ShowMoveSelectWindow(u8 slot) { u8 i; u8 moveCount = 0; u8 fontId = 1; - u8 windowId = sub_81B31B0(3); + u8 windowId = DisplaySelectionWindow(SELECTWINDOW_MOVES); u16 move; for (i = 0; i < MAX_MON_MOVES; i++) { move = GetMonData(&gPlayerParty[slot], MON_DATA_MOVE1 + i); - AddTextPrinterParameterized(windowId, fontId, gMoveNames[move], 8, (i * 16) + 1, 0xFF, NULL); + AddTextPrinterParameterized(windowId, fontId, gMoveNames[move], 8, (i * 16) + 1, TEXT_SPEED_FF, NULL); if (move != MOVE_NONE) moveCount++; } @@ -5611,7 +4515,7 @@ static void sub_81B6A10(u8 slot) schedule_bg_copy_tilemap_to_vram(2); } -static void ether_effect_related_3(u8 taskId) +static void Task_HandleWhichMoveInput(u8 taskId) { s8 input = Menu_ProcessInput(); @@ -5620,17 +4524,17 @@ static void ether_effect_related_3(u8 taskId) if (input == MENU_B_PRESSED) { PlaySE(SE_SELECT); - sub_81B6BB4(taskId); + ReturnToUseOnWhichMon(taskId); } else { - sub_81B302C(&gUnknown_0203CEC4->windowId[1]); - ether_effect_related_2(taskId); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); + SetSelectedMoveForPPItem(taskId); } } } -void dp05_ether(u8 taskId, TaskFunc task) +void ItemUseCB_PPRecovery(u8 taskId, TaskFunc task) { const u8 *effect; u16 item = gSpecialVar_ItemId; @@ -5642,76 +4546,76 @@ void dp05_ether(u8 taskId, TaskFunc task) if (!(effect[4] & ITEM4_HEAL_PP_ONE)) { - gUnknown_0203CEC8.unkE = 0; - ether_effect_related(taskId); + gPartyMenu.data1 = 0; + TryUsePPItem(taskId); } else { PlaySE(SE_SELECT); - display_pokemon_menu_message(22); - sub_81B6A10(gUnknown_0203CEC8.slotId); - gTasks[taskId].func = ether_effect_related_3; + DisplayPartyMenuStdMessage(PARTY_MSG_RESTORE_WHICH_MOVE); + ShowMoveSelectWindow(gPartyMenu.slotId); + gTasks[taskId].func = Task_HandleWhichMoveInput; } } -static void ether_effect_related_2(u8 taskId) +static void SetSelectedMoveForPPItem(u8 taskId) { - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - gUnknown_0203CEC8.unkE = Menu_GetCursorPos(); - ether_effect_related(taskId); + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + gPartyMenu.data1 = Menu_GetCursorPos(); + TryUsePPItem(taskId); } -static void sub_81B6BB4(u8 taskId) +static void ReturnToUseOnWhichMon(u8 taskId) { - gTasks[taskId].func = sub_81B1370; - gUnknown_0203CEC4->exitCallback = NULL; - sub_81B302C(&gUnknown_0203CEC4->windowId[0]); - display_pokemon_menu_message(5); + gTasks[taskId].func = Task_HandleChooseMonInput; + sPartyMenuInternal->exitCallback = NULL; + PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); + DisplayPartyMenuStdMessage(PARTY_MSG_USE_ON_WHICH_MON); } -static void ether_effect_related(u8 taskId) +static void TryUsePPItem(u8 taskId) { u16 move = MOVE_NONE; - s16 *moveslot = &gUnknown_0203CEC8.unkE; + s16 *moveSlot = &gPartyMenu.data1; u16 item = gSpecialVar_ItemId; - struct Struct203CEC8 *ptr = &gUnknown_0203CEC8; + struct PartyMenu *ptr = &gPartyMenu; struct Pokemon *mon; - if (ExecuteTableBasedItemEffect__(ptr->slotId, item, *moveslot)) + if (ExecuteTableBasedItemEffect_(ptr->slotId, item, *moveSlot)) { - gUnknown_0203CEE8 = 0; + gPartyMenuUseExitCallback = FALSE; PlaySE(SE_SELECT); - sub_81B1B5C(gText_WontHaveEffect, 1); + DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE); schedule_bg_copy_tilemap_to_vram(2); - gTasks[taskId].func = sub_81B6794; + gTasks[taskId].func = Task_ClosePartyMenuAfterText; } else { - gUnknown_0203CEE8 = 1; + gPartyMenuUseExitCallback = TRUE; mon = &gPlayerParty[ptr->slotId]; PlaySE(SE_KAIFUKU); RemoveBagItem(item, 1); - move = GetMonData(mon, MON_DATA_MOVE1 + *moveslot); + move = GetMonData(mon, MON_DATA_MOVE1 + *moveSlot); StringCopy(gStringVar1, gMoveNames[move]); GetMedicineItemEffectMessage(item); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, TRUE); schedule_bg_copy_tilemap_to_vram(2); - gTasks[taskId].func = sub_81B6794; + gTasks[taskId].func = Task_ClosePartyMenuAfterText; } } -void dp05_pp_up(u8 taskId, TaskFunc task) +void ItemUseCB_PPUp(u8 taskId, TaskFunc task) { PlaySE(SE_SELECT); - display_pokemon_menu_message(23); - sub_81B6A10(gUnknown_0203CEC8.slotId); - gTasks[taskId].func = ether_effect_related_3; + DisplayPartyMenuStdMessage(PARTY_MSG_BOOST_PP_WHICH_MOVE); + ShowMoveSelectWindow(gPartyMenu.slotId); + gTasks[taskId].func = Task_HandleWhichMoveInput; } u16 ItemIdToBattleMoveId(u16 item) { u16 tmNumber = item - ITEM_TM01_FOCUS_PUNCH; - return gTMHMMoves[tmNumber]; + return sTMHMMoves[tmNumber]; } bool8 IsMoveHm(u16 move) @@ -5720,7 +4624,7 @@ bool8 IsMoveHm(u16 move) for (i = 0; i < NUM_HIDDEN_MACHINES; i++) { - if (gTMHMMoves[i + NUM_TECHNICAL_MACHINES] == move) + if (sTMHMMoves[i + NUM_TECHNICAL_MACHINES] == move) return TRUE; } return FALSE; @@ -5738,30 +4642,30 @@ bool8 MonKnowsMove(struct Pokemon *mon, u16 move) return FALSE; } -static void sub_81B6D74(const u8 *str) +static void DisplayLearnMoveMessage(const u8 *str) { StringExpandPlaceholders(gStringVar4, str); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, TRUE); schedule_bg_copy_tilemap_to_vram(2); } -static void sub_81B6D98(u8 taskId, const u8 *str) +static void DisplayLearnMoveMessageAndClose(u8 taskId, const u8 *str) { - sub_81B6D74(str); - gTasks[taskId].func = sub_81B6794; + DisplayLearnMoveMessage(str); + gTasks[taskId].func = Task_ClosePartyMenuAfterText; } // move[1] doesn't use constants cause I don't know if it's actually a move ID storage -void sub_81B6DC4(u8 taskId, TaskFunc task) +void ItemUseCB_TMHM(u8 taskId, TaskFunc task) { struct Pokemon *mon; s16 *move; u16 item; PlaySE(SE_SELECT); - mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; - move = &gUnknown_0203CEC8.unkE; + mon = &gPlayerParty[gPartyMenu.slotId]; + move = &gPartyMenu.data1; item = gSpecialVar_ItemId; GetMonNickname(mon, gStringVar1); move[0] = ItemIdToBattleMoveId(item); @@ -5771,28 +4675,28 @@ void sub_81B6DC4(u8 taskId, TaskFunc task) switch (CanMonLearnTMTutor(mon, item, 0)) { case CANNOT_LEARN_MOVE: - sub_81B6D98(taskId, gText_PkmnCantLearnMove); + DisplayLearnMoveMessageAndClose(taskId, gText_PkmnCantLearnMove); return; case ALREADY_KNOWS_MOVE: - sub_81B6D98(taskId, gText_PkmnAlreadyKnows); + DisplayLearnMoveMessageAndClose(taskId, gText_PkmnAlreadyKnows); return; } - if (GiveMoveToMon(mon, move[0]) != 0xFFFF) + if (GiveMoveToMon(mon, move[0]) != MON_HAS_MAX_MOVES) { - gTasks[taskId].func = sub_81B6EB4; + gTasks[taskId].func = Task_LearnedMove; } else { - sub_81B6D74(gText_PkmnNeedsToReplaceMove); - gTasks[taskId].func = sub_81B6FF4; + DisplayLearnMoveMessage(gText_PkmnNeedsToReplaceMove); + gTasks[taskId].func = Task_ReplaceMoveYesNo; } } -static void sub_81B6EB4(u8 taskId) +static void Task_LearnedMove(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; - s16 *move = &gUnknown_0203CEC8.unkE; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; + s16 *move = &gPartyMenu.data1; u16 item = gSpecialVar_ItemId; if (move[1] == 0) @@ -5804,186 +4708,188 @@ static void sub_81B6EB4(u8 taskId) GetMonNickname(mon, gStringVar1); StringCopy(gStringVar2, gMoveNames[move[0]]); StringExpandPlaceholders(gStringVar4, gText_PkmnLearnedMove3); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, TRUE); schedule_bg_copy_tilemap_to_vram(2); - gTasks[taskId].func = sub_81B6F60; + gTasks[taskId].func = Task_DoLearnedMoveFanfareAfterText; } -static void sub_81B6F60(u8 taskId) +static void Task_DoLearnedMoveFanfareAfterText(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { PlayFanfare(MUS_FANFA1); - gTasks[taskId].func = sub_81B6F98; + gTasks[taskId].func = Task_LearnNextMoveOrClosePartyMenu; } } -static void sub_81B6F98(u8 taskId) +static void Task_LearnNextMoveOrClosePartyMenu(u8 taskId) { if (IsFanfareTaskInactive() && ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))) { - if (gUnknown_0203CEC8.unk10 == 1) - sub_81B77AC(taskId); + if (gPartyMenu.learnMoveState == 1) + Task_TryLearningNextMove(taskId); else { - if (gUnknown_0203CEC8.unk10 == 2) + if (gPartyMenu.learnMoveState == 2) // never occurs gSpecialVar_Result = TRUE; - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } } } -static void sub_81B6FF4(u8 taskId) +static void Task_ReplaceMoveYesNo(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - sub_81B334C(); - gTasks[taskId].func = sub_81B7028; + PartyMenuDisplayYesNoMenu(); + gTasks[taskId].func = Task_HandleReplaceMoveYesNoInput; } } -static void sub_81B7028(u8 taskId) +static void Task_HandleReplaceMoveYesNoInput(u8 taskId) { switch (Menu_ProcessInputNoWrapClearOnChoose()) { case 0: - sub_81B1B5C(gText_WhichMoveToForget, 1); - gTasks[taskId].func = sub_81B7088; + DisplayPartyMenuMessage(gText_WhichMoveToForget, TRUE); + gTasks[taskId].func = Task_ShowSummaryScreenToForgetMove; break; case MENU_B_PRESSED: PlaySE(SE_SELECT); + // fallthrough case 1: - sub_81B7230(taskId); + StopLearningMovePrompt(taskId); break; } } -static void sub_81B7088(u8 taskId) +static void Task_ShowSummaryScreenToForgetMove(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - gUnknown_0203CEC4->exitCallback = sub_81B70B8; - sub_81B12C0(taskId); + sPartyMenuInternal->exitCallback = CB2_ShowSummaryScreenToForgetMove; + Task_ClosePartyMenu(taskId); } } -static void sub_81B70B8(void) +static void CB2_ShowSummaryScreenToForgetMove(void) { - ShowSelectMovePokemonSummaryScreen(gPlayerParty, gUnknown_0203CEC8.slotId, gPlayerPartyCount - 1, sub_81B70F0, gUnknown_0203CEC8.unkE); + ShowSelectMovePokemonSummaryScreen(gPlayerParty, gPartyMenu.slotId, gPlayerPartyCount - 1, CB2_ReturnToPartyMenuWhileLearningMove, gPartyMenu.data1); } -static void sub_81B70F0(void) +static void CB2_ReturnToPartyMenuWhileLearningMove(void) { - InitPartyMenu(0, 0, 0, 1, 0x7F, sub_81B711C, gUnknown_0203CEC8.exitCallback); + InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, TRUE, PARTY_MSG_NONE, Task_ReturnToPartyMenuWhileLearningMove, gPartyMenu.exitCallback); } -static void sub_81B711C(u8 taskId) +static void Task_ReturnToPartyMenuWhileLearningMove(u8 taskId) { if (!gPaletteFade.active) { - if (sub_81C1B94() != 4) - sub_81B7154(taskId); + if (GetMoveSlotToReplace() != MAX_MON_MOVES) + DisplayPartyMenuForgotMoveMessage(taskId); else - sub_81B7230(taskId); + StopLearningMovePrompt(taskId); } } -static void sub_81B7154(u8 taskId) +static void DisplayPartyMenuForgotMoveMessage(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; - u16 move = GetMonData(mon, MON_DATA_MOVE1 + sub_81C1B94()); + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; + u16 move = GetMonData(mon, MON_DATA_MOVE1 + GetMoveSlotToReplace()); GetMonNickname(mon, gStringVar1); StringCopy(gStringVar2, gMoveNames[move]); - sub_81B6D74(gText_12PoofForgotMove); - gTasks[taskId].func = sub_81B71D4; + DisplayLearnMoveMessage(gText_12PoofForgotMove); + gTasks[taskId].func = Task_PartyMenuReplaceMove; } -static void sub_81B71D4(u8 taskId) +static void Task_PartyMenuReplaceMove(u8 taskId) { struct Pokemon *mon; u16 move; - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; - RemoveMonPPBonus(mon, sub_81C1B94()); - move = gUnknown_0203CEC8.unkE; - SetMonMoveSlot(mon, move, sub_81C1B94()); - sub_81B6EB4(taskId); + mon = &gPlayerParty[gPartyMenu.slotId]; + RemoveMonPPBonus(mon, GetMoveSlotToReplace()); + move = gPartyMenu.data1; + SetMonMoveSlot(mon, move, GetMoveSlotToReplace()); + Task_LearnedMove(taskId); } } -static void sub_81B7230(u8 taskId) +static void StopLearningMovePrompt(u8 taskId) { - StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]); + StringCopy(gStringVar2, gMoveNames[gPartyMenu.data1]); StringExpandPlaceholders(gStringVar4, gText_StopLearningMove2); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, TRUE); schedule_bg_copy_tilemap_to_vram(2); - gTasks[taskId].func = sub_81B7294; + gTasks[taskId].func = Task_StopLearningMoveYesNo; } -static void sub_81B7294(u8 taskId) +static void Task_StopLearningMoveYesNo(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - sub_81B334C(); - gTasks[taskId].func = sub_81B72C8; + PartyMenuDisplayYesNoMenu(); + gTasks[taskId].func = Task_HandleStopLearningMoveYesNoInput; } } -static void sub_81B72C8(u8 taskId) +static void Task_HandleStopLearningMoveYesNoInput(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; switch (Menu_ProcessInputNoWrapClearOnChoose()) { case 0: GetMonNickname(mon, gStringVar1); - StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]); + StringCopy(gStringVar2, gMoveNames[gPartyMenu.data1]); StringExpandPlaceholders(gStringVar4, gText_MoveNotLearned); - sub_81B1B5C(gStringVar4, 1); - if (gUnknown_0203CEC8.unk10 == 1) + DisplayPartyMenuMessage(gStringVar4, TRUE); + if (gPartyMenu.learnMoveState == 1) { - gTasks[taskId].func = sub_81B73E4; + gTasks[taskId].func = Task_TryLearningNextMoveAfterText; } else { - if (gUnknown_0203CEC8.unk10 == 2) + if (gPartyMenu.learnMoveState == 2) // never occurs gSpecialVar_Result = FALSE; - gTasks[taskId].func = sub_81B6794; + gTasks[taskId].func = Task_ClosePartyMenuAfterText; } break; case MENU_B_PRESSED: PlaySE(SE_SELECT); + // fallthrough case 1: GetMonNickname(mon, gStringVar1); - StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]); - sub_81B6D74(gText_PkmnNeedsToReplaceMove); - gTasks[taskId].func = sub_81B6FF4; + StringCopy(gStringVar2, gMoveNames[gPartyMenu.data1]); + DisplayLearnMoveMessage(gText_PkmnNeedsToReplaceMove); + gTasks[taskId].func = Task_ReplaceMoveYesNo; break; } } -static void sub_81B73E4(u8 taskId) +static void Task_TryLearningNextMoveAfterText(u8 taskId) { - if (sub_81B1BD4() != TRUE) - sub_81B77AC(taskId); + if (IsPartyMenuTextPrinterActive() != TRUE) + Task_TryLearningNextMove(taskId); } -void dp05_rare_candy(u8 taskId, TaskFunc task) +void ItemUseCB_RareCandy(u8 taskId, TaskFunc task) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; - struct Struct203CEC4 *ptr = gUnknown_0203CEC4; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; + struct PartyMenuInternal *ptr = sPartyMenuInternal; s16 *arrayPtr = ptr->data; u16 *itemPtr = &gSpecialVar_ItemId; bool8 cannotUseEffect; if (GetMonData(mon, MON_DATA_LEVEL) != MAX_LEVEL) { - sub_81B79A0(mon, arrayPtr); - cannotUseEffect = ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.slotId, *itemPtr, 0); - sub_81B79A0(mon, &ptr->data[6]); + BufferMonStatsToTaskData(mon, arrayPtr); + cannotUseEffect = ExecuteTableBasedItemEffect_(gPartyMenu.slotId, *itemPtr, 0); + BufferMonStatsToTaskData(mon, &ptr->data[NUM_STATS]); } else { @@ -5992,166 +4898,166 @@ void dp05_rare_candy(u8 taskId, TaskFunc task) PlaySE(SE_SELECT); if (cannotUseEffect) { - gUnknown_0203CEE8 = 0; - sub_81B1B5C(gText_WontHaveEffect, 1); + gPartyMenuUseExitCallback = FALSE; + DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = task; } else { - gUnknown_0203CEE8 = 1; + gPartyMenuUseExitCallback = TRUE; PlayFanfareByFanfareNum(0); - sub_81B754C(gUnknown_0203CEC8.slotId, mon); + UpdateMonDisplayInfoAfterRareCandy(gPartyMenu.slotId, mon); RemoveBagItem(gSpecialVar_ItemId, 1); GetMonNickname(mon, gStringVar1); - ConvertIntToDecimalStringN(gStringVar2, GetMonData(mon, MON_DATA_LEVEL), 0, 3); + ConvertIntToDecimalStringN(gStringVar2, GetMonData(mon, MON_DATA_LEVEL), STR_CONV_MODE_LEFT_ALIGN, 3); StringExpandPlaceholders(gStringVar4, gText_PkmnElevatedToLvVar2); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, TRUE); schedule_bg_copy_tilemap_to_vram(2); - gTasks[taskId].func = sub_81B75D4; + gTasks[taskId].func = Task_DisplayLevelUpStatsPg1; } } -static void sub_81B754C(u8 slot, struct Pokemon *mon) +static void UpdateMonDisplayInfoAfterRareCandy(u8 slot, struct Pokemon *mon) { - party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[slot]); - if (gSprites[gUnknown_0203CEDC[slot].statusSpriteId].invisible) - DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[slot], 1); - DisplayPartyPokemonHPCheck(mon, &gUnknown_0203CEDC[slot], 1); - DisplayPartyPokemonMaxHPCheck(mon, &gUnknown_0203CEDC[slot], 1); - DisplayPartyPokemonHPBarCheck(mon, &gUnknown_0203CEDC[slot]); - sub_81B5B38(gUnknown_0203CEDC[slot].monSpriteId, mon); - sub_81B0FCC(slot, 1); + SetPartyMonAilmentGfx(mon, &sPartyMenuBoxes[slot]); + if (gSprites[sPartyMenuBoxes[slot].statusSpriteId].invisible) + DisplayPartyPokemonLevelCheck(mon, &sPartyMenuBoxes[slot], 1); + DisplayPartyPokemonHPCheck(mon, &sPartyMenuBoxes[slot], 1); + DisplayPartyPokemonMaxHPCheck(mon, &sPartyMenuBoxes[slot], 1); + DisplayPartyPokemonHPBarCheck(mon, &sPartyMenuBoxes[slot]); + UpdatePartyMonHPBar(sPartyMenuBoxes[slot].monSpriteId, mon); + AnimatePartySlot(slot, 1); schedule_bg_copy_tilemap_to_vram(0); } -static void sub_81B75D4(u8 taskId) +static void Task_DisplayLevelUpStatsPg1(u8 taskId) { - if (WaitFanfare(FALSE) && sub_81B1BD4() != TRUE && ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))) + if (WaitFanfare(FALSE) && IsPartyMenuTextPrinterActive() != TRUE && ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))) { PlaySE(SE_SELECT); - sub_81B767C(taskId); - gTasks[taskId].func = sub_81B7634; + DisplayLevelUpStatsPg1(taskId); + gTasks[taskId].func = Task_DisplayLevelUpStatsPg2; } } -static void sub_81B7634(u8 taskId) +static void Task_DisplayLevelUpStatsPg2(u8 taskId) { if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) { PlaySE(SE_SELECT); - sub_81B76C8(taskId); - gTasks[taskId].func = sub_81B7704; + DisplayLevelUpStatsPg2(taskId); + gTasks[taskId].func = Task_TryLearnNewMoves; } } -static void sub_81B767C(u8 taskId) +static void DisplayLevelUpStatsPg1(u8 taskId) { - s16 *arrayPtr = gUnknown_0203CEC4->data; + s16 *arrayPtr = sPartyMenuInternal->data; - arrayPtr[12] = sub_81B3364(); - DrawLevelUpWindowPg1(arrayPtr[12], arrayPtr, &arrayPtr[6], 1, 2, 3); + arrayPtr[12] = CreateLevelUpStatsWindow(); + DrawLevelUpWindowPg1(arrayPtr[12], arrayPtr, &arrayPtr[6], TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY); CopyWindowToVram(arrayPtr[12], 2); schedule_bg_copy_tilemap_to_vram(2); } -static void sub_81B76C8(u8 taskId) +static void DisplayLevelUpStatsPg2(u8 taskId) { - s16 *arrayPtr = gUnknown_0203CEC4->data; + s16 *arrayPtr = sPartyMenuInternal->data; - DrawLevelUpWindowPg2(arrayPtr[12], &arrayPtr[6], 1, 2, 3); + DrawLevelUpWindowPg2(arrayPtr[12], &arrayPtr[6], TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY); CopyWindowToVram(arrayPtr[12], 2); schedule_bg_copy_tilemap_to_vram(2); } -static void sub_81B7704(u8 taskId) +static void Task_TryLearnNewMoves(u8 taskId) { - u16 result; + u16 learnMove; if (WaitFanfare(0) && ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))) { - sub_81B3394(); - result = MonTryLearningNewMove(&gPlayerParty[gUnknown_0203CEC8.slotId], 1); - gUnknown_0203CEC8.unk10 = 1; - switch (result) + RemoveLevelUpStatsWindow(); + learnMove = MonTryLearningNewMove(&gPlayerParty[gPartyMenu.slotId], TRUE); + gPartyMenu.learnMoveState = 1; + switch (learnMove) { - case 0: - sub_81B7810(taskId); + case 0: // No moves to learn + PartyMenuTryEvolution(taskId); break; - case 0xFFFF: - sub_81B787C(taskId); + case MON_HAS_MAX_MOVES: + DisplayMonNeedsToReplaceMove(taskId); break; - case 0xFFFE: - gTasks[taskId].func = sub_81B77AC; + case MON_ALREADY_KNOWS_MOVE: + gTasks[taskId].func = Task_TryLearningNextMove; break; default: - sub_81B7910(taskId, result); + DisplayMonLearnedMove(taskId, learnMove); break; } } } -static void sub_81B77AC(u8 taskId) +static void Task_TryLearningNextMove(u8 taskId) { - u16 result = MonTryLearningNewMove(&gPlayerParty[gUnknown_0203CEC8.slotId], 0); + u16 result = MonTryLearningNewMove(&gPlayerParty[gPartyMenu.slotId], FALSE); switch (result) { - case 0: - sub_81B7810(taskId); + case 0: // No moves to learn + PartyMenuTryEvolution(taskId); break; - case 0xFFFF: - sub_81B787C(taskId); + case MON_HAS_MAX_MOVES: + DisplayMonNeedsToReplaceMove(taskId); break; - case 0xFFFE: + case MON_ALREADY_KNOWS_MOVE: return; default: - sub_81B7910(taskId, result); + DisplayMonLearnedMove(taskId, result); break; } } -static void sub_81B7810(u8 taskId) +static void PartyMenuTryEvolution(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; u16 targetSpecies = GetEvolutionTargetSpecies(mon, 0, 0); if (targetSpecies != SPECIES_NONE) { FreePartyPointers(); - gCB2_AfterEvolution = gUnknown_0203CEC8.exitCallback; - BeginEvolutionScene(mon, targetSpecies, 1, gUnknown_0203CEC8.slotId); + gCB2_AfterEvolution = gPartyMenu.exitCallback; + BeginEvolutionScene(mon, targetSpecies, 1, gPartyMenu.slotId); DestroyTask(taskId); } else { - gTasks[taskId].func = sub_81B6794; + gTasks[taskId].func = Task_ClosePartyMenuAfterText; } } -static void sub_81B787C(u8 taskId) +static void DisplayMonNeedsToReplaceMove(u8 taskId) { - GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1); + GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1); StringCopy(gStringVar2, gMoveNames[gMoveToLearn]); StringExpandPlaceholders(gStringVar4, gText_PkmnNeedsToReplaceMove); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, TRUE); schedule_bg_copy_tilemap_to_vram(2); - gUnknown_0203CEC8.unkE = gMoveToLearn; - gTasks[taskId].func = sub_81B6FF4; + gPartyMenu.data1 = gMoveToLearn; + gTasks[taskId].func = Task_ReplaceMoveYesNo; } -static void sub_81B7910(u8 taskId, u16 move) +static void DisplayMonLearnedMove(u8 taskId, u16 move) { - GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1); + GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1); StringCopy(gStringVar2, gMoveNames[move]); StringExpandPlaceholders(gStringVar4, gText_PkmnLearnedMove3); - sub_81B1B5C(gStringVar4, 1); + DisplayPartyMenuMessage(gStringVar4, TRUE); schedule_bg_copy_tilemap_to_vram(2); - gUnknown_0203CEC8.unkE = move; - gTasks[taskId].func = sub_81B6F60; + gPartyMenu.data1 = move; + gTasks[taskId].func = Task_DoLearnedMoveFanfareAfterText; } -static void sub_81B79A0(struct Pokemon *mon, s16 *data) +static void BufferMonStatsToTaskData(struct Pokemon *mon, s16 *data) { data[0] = GetMonData(mon, MON_DATA_MAX_HP); data[1] = GetMonData(mon, MON_DATA_ATK); @@ -6161,93 +5067,101 @@ static void sub_81B79A0(struct Pokemon *mon, s16 *data) data[3] = GetMonData(mon, MON_DATA_SPEED); } -void sub_81B79E8(u8 taskId, TaskFunc task) +#define tUsedOnSlot data[0] +#define tHadEffect data[1] +#define tLastSlotUsed data[2] + +void ItemUseCB_SacredAsh(u8 taskId, TaskFunc task) { - gUnknown_0203CEC4->data[0] = 0; - gUnknown_0203CEC4->data[1] = 0; - gUnknown_0203CEC4->data[2] = gUnknown_0203CEC8.slotId; - sub_81B7A28(taskId); + sPartyMenuInternal->tUsedOnSlot = FALSE; + sPartyMenuInternal->tHadEffect = FALSE; + sPartyMenuInternal->tLastSlotUsed = gPartyMenu.slotId; + UseSacredAsh(taskId); } -static void sub_81B7A28(u8 taskId) +static void UseSacredAsh(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; u16 hp; if (GetMonData(mon, MON_DATA_SPECIES) == SPECIES_NONE) { - gTasks[taskId].func = task_sacred_ash_party_loop; + gTasks[taskId].func = Task_SacredAshLoop; return; } hp = GetMonData(mon, MON_DATA_HP); - if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.slotId, gSpecialVar_ItemId, 0)) + if (ExecuteTableBasedItemEffect_(gPartyMenu.slotId, gSpecialVar_ItemId, 0)) { - gTasks[taskId].func = task_sacred_ash_party_loop; + gTasks[taskId].func = Task_SacredAshLoop; return; } PlaySE(SE_KAIFUKU); - party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId]); - if (gSprites[gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].statusSpriteId].invisible) - DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); - sub_81B0FCC(gUnknown_0203CEC4->data[2], 0); - sub_81B0FCC(gUnknown_0203CEC8.slotId, 1); - sub_81B1F18(taskId, gUnknown_0203CEC8.slotId, 1, GetMonData(mon, MON_DATA_HP) - hp, sub_81B7C10); - sub_81B1FA8(taskId, 0, hp); - gUnknown_0203CEC4->data[0] = 1; - gUnknown_0203CEC4->data[1] = 1; + SetPartyMonAilmentGfx(mon, &sPartyMenuBoxes[gPartyMenu.slotId]); + if (gSprites[sPartyMenuBoxes[gPartyMenu.slotId].statusSpriteId].invisible) + DisplayPartyPokemonLevelCheck(mon, &sPartyMenuBoxes[gPartyMenu.slotId], 1); + AnimatePartySlot(sPartyMenuInternal->tLastSlotUsed, 0); + AnimatePartySlot(gPartyMenu.slotId, 1); + PartyMenuModifyHP(taskId, gPartyMenu.slotId, 1, GetMonData(mon, MON_DATA_HP) - hp, Task_SacredAshDisplayHPRestored); + ResetHPTaskData(taskId, 0, hp); + sPartyMenuInternal->tUsedOnSlot = TRUE; + sPartyMenuInternal->tHadEffect = TRUE; } -static void task_sacred_ash_party_loop(u8 taskId) +static void Task_SacredAshLoop(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - if (gUnknown_0203CEC4->data[0] == 1) + if (sPartyMenuInternal->tUsedOnSlot == TRUE) { - gUnknown_0203CEC4->data[0] = 0; - gUnknown_0203CEC4->data[2] = gUnknown_0203CEC8.slotId; + sPartyMenuInternal->tUsedOnSlot = FALSE; + sPartyMenuInternal->tLastSlotUsed = gPartyMenu.slotId; } - if (++(gUnknown_0203CEC8.slotId) == PARTY_SIZE) + if (++(gPartyMenu.slotId) == PARTY_SIZE) { - if (gUnknown_0203CEC4->data[1] == 0) + if (sPartyMenuInternal->tHadEffect == FALSE) { - gUnknown_0203CEE8 = 0; - sub_81B1B5C(gText_WontHaveEffect, 1); + gPartyMenuUseExitCallback = FALSE; + DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE); schedule_bg_copy_tilemap_to_vram(2); } else { - gUnknown_0203CEE8 = 1; + gPartyMenuUseExitCallback = TRUE; RemoveBagItem(gSpecialVar_ItemId, 1); } - gTasks[taskId].func = sub_81B6794; - gUnknown_0203CEC8.slotId = 0; + gTasks[taskId].func = Task_ClosePartyMenuAfterText; + gPartyMenu.slotId = 0; } else { - sub_81B7A28(taskId); + UseSacredAsh(taskId); } } } -static void sub_81B7C10(u8 taskId) +static void Task_SacredAshDisplayHPRestored(u8 taskId) { - GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1); + GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2); - sub_81B1B5C(gStringVar4, 0); + DisplayPartyMenuMessage(gStringVar4, FALSE); schedule_bg_copy_tilemap_to_vram(2); - gTasks[taskId].func = task_sacred_ash_party_loop; + gTasks[taskId].func = Task_SacredAshLoop; } -void sub_81B7C74(u8 taskId, TaskFunc task) +#undef tUsedOnSlot +#undef tHadEffect +#undef tLastSlotUsed + +void ItemUseCB_EvolutionStone(u8 taskId, TaskFunc task) { PlaySE(SE_SELECT); - gCB2_AfterEvolution = gUnknown_0203CEC8.exitCallback; - if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.slotId, gSpecialVar_ItemId, 0)) + gCB2_AfterEvolution = gPartyMenu.exitCallback; + if (ExecuteTableBasedItemEffect_(gPartyMenu.slotId, gSpecialVar_ItemId, 0)) { - gUnknown_0203CEE8 = 0; - sub_81B1B5C(gText_WontHaveEffect, 1); + gPartyMenuUseExitCallback = FALSE; + DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = task; } @@ -6272,7 +5186,7 @@ u8 GetItemEffectType(u16 item) else itemEffect = gItemEffectTable[item - ITEM_POTION]; - if ((itemEffect[0] & (ITEM0_HIGH_CRIT | ITEM0_X_ATTACK)) || itemEffect[1] || itemEffect[2] || (itemEffect[3] & ITEM3_MIST)) + if ((itemEffect[0] & (ITEM0_DIRE_HIT | ITEM0_X_ATTACK)) || itemEffect[1] || itemEffect[2] || (itemEffect[3] & ITEM3_GUARD_SPEC)) return ITEM_EFFECT_X_ITEM; else if (itemEffect[0] & ITEM0_SACRED_ASH) return ITEM_EFFECT_SACRED_ASH; @@ -6326,264 +5240,271 @@ u8 GetItemEffectType(u16 item) return ITEM_EFFECT_NONE; } -static void sub_81B7E4C(u8 taskId) +static void TryTutorSelectedMon(u8 taskId) { struct Pokemon *mon; s16 *move; if (!gPaletteFade.active) { - mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; - move = &gUnknown_0203CEC8.unkE; + mon = &gPlayerParty[gPartyMenu.slotId]; + move = &gPartyMenu.data1; GetMonNickname(mon, gStringVar1); - gUnknown_0203CEC8.unkE = GetTutorMove(gSpecialVar_0x8005); - StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]); + gPartyMenu.data1 = GetTutorMove(gSpecialVar_0x8005); + StringCopy(gStringVar2, gMoveNames[gPartyMenu.data1]); move[1] = 2; switch (CanMonLearnTMTutor(mon, 0, gSpecialVar_0x8005)) { case CANNOT_LEARN_MOVE: - sub_81B6D98(taskId, gText_PkmnCantLearnMove); + DisplayLearnMoveMessageAndClose(taskId, gText_PkmnCantLearnMove); return; case ALREADY_KNOWS_MOVE: - sub_81B6D98(taskId, gText_PkmnAlreadyKnows); + DisplayLearnMoveMessageAndClose(taskId, gText_PkmnAlreadyKnows); return; default: - if (GiveMoveToMon(mon, gUnknown_0203CEC8.unkE) != 0xFFFF) + if (GiveMoveToMon(mon, gPartyMenu.data1) != MON_HAS_MAX_MOVES) { - sub_81B6EB4(taskId); + Task_LearnedMove(taskId); return; } break; } - sub_81B6D74(gText_PkmnNeedsToReplaceMove); - gTasks[taskId].func = sub_81B6FF4; + DisplayLearnMoveMessage(gText_PkmnNeedsToReplaceMove); + gTasks[taskId].func = Task_ReplaceMoveYesNo; } } void CB2_PartyMenuFromStartMenu(void) { - InitPartyMenu(0, 0, 0, 0, 0, sub_81B1370, CB2_ReturnToFieldWithOpenMenu); + InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, CB2_ReturnToFieldWithOpenMenu); } -void sub_81B7F60(void) +// Giving an item by selecting Give from the bag menu +// As opposted to by selecting Give in the party menu, which is handled by CursorCb_Give +void CB2_ChooseMonToGiveItem(void) { - MainCallback callback = (InBattlePyramid() == FALSE) ? c2_815ABFC : sub_81C4F84; - InitPartyMenu(0, 0, 5, 0, 6, sub_81B1370, callback); - gUnknown_0203CEC8.unkC = gSpecialVar_ItemId; + MainCallback callback = (InBattlePyramid() == FALSE) ? CB2_ReturnToBagMenu : CB2_ReturnToPyramidBagMenu; + InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_GIVE_ITEM, FALSE, PARTY_MSG_GIVE_TO_WHICH_MON, Task_HandleChooseMonInput, callback); + gPartyMenu.bagItem = gSpecialVar_ItemId; } -static void sub_81B7FAC(u8 taskId) +static void TryGiveItemOrMailToSelectedMon(u8 taskId) { - gUnknown_0203CEFC = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_HELD_ITEM); - if (gUnknown_0203CEFC == ITEM_NONE) + sPartyMenuItemId = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_HELD_ITEM); + if (sPartyMenuItemId == ITEM_NONE) { - sub_81B8044(taskId); + GiveItemOrMailToSelectedMon(taskId); } - else if (ItemIsMail(gUnknown_0203CEFC)) + else if (ItemIsMail(sPartyMenuItemId)) { - sub_81B83B8(taskId); + DisplayItemMustBeRemovedFirstMessage(taskId); } else { - sub_81B1D1C(&gPlayerParty[gUnknown_0203CEC8.slotId], gUnknown_0203CEFC, 1); - gTasks[taskId].func = sub_81B82A0; + DisplayAlreadyHoldingItemSwitchMessage(&gPlayerParty[gPartyMenu.slotId], sPartyMenuItemId, TRUE); + gTasks[taskId].func = Task_SwitchItemsFromBagYesNo; } } -static void sub_81B8044(u8 taskId) +static void GiveItemOrMailToSelectedMon(u8 taskId) { - if (ItemIsMail(gUnknown_0203CEC8.unkC)) + if (ItemIsMail(gPartyMenu.bagItem)) { - sub_81B83F0(gUnknown_0203CEC8.unkC); - gUnknown_0203CEC4->exitCallback = sub_81B814C; - sub_81B12C0(taskId); + RemoveItemToGiveFromBag(gPartyMenu.bagItem); + sPartyMenuInternal->exitCallback = CB2_WriteMailToGiveMonFromBag; + Task_ClosePartyMenu(taskId); } else { - sub_81B8088(taskId); + GiveItemToSelectedMon(taskId); } } -static void sub_81B8088(u8 taskId) +static void GiveItemToSelectedMon(u8 taskId) { u16 item; if (!gPaletteFade.active) { - item = gUnknown_0203CEC8.unkC; - sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.slotId], item, 0, 1); - sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], item); - sub_81B83F0(item); - gTasks[taskId].func = sub_81B8104; + item = gPartyMenu.bagItem; + DisplayGaveHeldItemMessage(&gPlayerParty[gPartyMenu.slotId], item, FALSE, 1); + GiveItemToMon(&gPlayerParty[gPartyMenu.slotId], item); + RemoveItemToGiveFromBag(item); + gTasks[taskId].func = Task_UpdateHeldItemSpriteAndClosePartyMenu; } } -static void sub_81B8104(u8 taskId) +static void Task_UpdateHeldItemSpriteAndClosePartyMenu(u8 taskId) { - s8 slot = gUnknown_0203CEC8.slotId; + s8 slot = gPartyMenu.slotId; - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - sub_81B5C94(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]); - sub_81B12C0(taskId); + UpdatePartyMonHeldItemSprite(&gPlayerParty[slot], &sPartyMenuBoxes[slot]); + Task_ClosePartyMenu(taskId); } } -static void sub_81B814C(void) +static void CB2_WriteMailToGiveMonFromBag(void) { u8 mail; - sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], gUnknown_0203CEC8.unkC); - mail = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_MAIL); + GiveItemToMon(&gPlayerParty[gPartyMenu.slotId], gPartyMenu.bagItem); + mail = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MAIL); DoEasyChatScreen( - EASY_CHAT_TYPE_MAIL, - gSaveBlock1Ptr->mail[mail].words, - sub_81B81A8, - EASY_CHAT_PERSON_DISPLAY_NONE); + EASY_CHAT_TYPE_MAIL, + gSaveBlock1Ptr->mail[mail].words, + CB2_ReturnToPartyOrBagMenuFromWritingMail, + EASY_CHAT_PERSON_DISPLAY_NONE); } -static void sub_81B81A8(void) +static void CB2_ReturnToPartyOrBagMenuFromWritingMail(void) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; u16 item = GetMonData(mon, MON_DATA_HELD_ITEM); + // Canceled writing mail if (gSpecialVar_Result == FALSE) { TakeMailFromMon(mon); - SetMonData(mon, MON_DATA_HELD_ITEM, &gUnknown_0203CEFC); - RemoveBagItem(gUnknown_0203CEFC, 1); - sub_81B841C(item); - SetMainCallback2(gUnknown_0203CEC8.exitCallback); + SetMonData(mon, MON_DATA_HELD_ITEM, &sPartyMenuItemId); + RemoveBagItem(sPartyMenuItemId, 1); + ReturnGiveItemToBagOrPC(item); + SetMainCallback2(gPartyMenu.exitCallback); } + // Wrote mail else { - InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B8230, gUnknown_0203CEC8.exitCallback); + InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_NONE, Task_DisplayGaveMailFromBagMessage, gPartyMenu.exitCallback); } } -static void sub_81B8230(u8 taskId) +static void Task_DisplayGaveMailFromBagMessage(u8 taskId) { if (!gPaletteFade.active) { - if (gUnknown_0203CEFC != ITEM_NONE) - sub_81B1D68(gUnknown_0203CEC8.unkC, gUnknown_0203CEFC, 0); + if (sPartyMenuItemId != ITEM_NONE) + DisplaySwitchedHeldItemMessage(gPartyMenu.bagItem, sPartyMenuItemId, FALSE); else - sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.slotId], gUnknown_0203CEC8.unkC, 0, 1); - gTasks[taskId].func = sub_81B8104; + DisplayGaveHeldItemMessage(&gPlayerParty[gPartyMenu.slotId], gPartyMenu.bagItem, FALSE, 1); + gTasks[taskId].func = Task_UpdateHeldItemSpriteAndClosePartyMenu; } } -static void sub_81B82A0(u8 taskId) +static void Task_SwitchItemsFromBagYesNo(u8 taskId) { - if (sub_81B1BD4() != TRUE) + if (IsPartyMenuTextPrinterActive() != TRUE) { - sub_81B334C(); - gTasks[taskId].func = sub_81B82D4; + PartyMenuDisplayYesNoMenu(); + gTasks[taskId].func = Task_HandleSwitchItemsFromBagYesNoInput; } } -static void sub_81B82D4(u8 taskId) +static void Task_HandleSwitchItemsFromBagYesNoInput(u8 taskId) { u16 item; switch (Menu_ProcessInputNoWrapClearOnChoose()) { - case 0: - item = gUnknown_0203CEC8.unkC; - sub_81B83F0(item); - if (AddBagItem(gUnknown_0203CEFC, 1) == FALSE) + case 0: // Yes, switch items + item = gPartyMenu.bagItem; + RemoveItemToGiveFromBag(item); + if (AddBagItem(sPartyMenuItemId, 1) == FALSE) { - sub_81B841C(item); - pokemon_item_not_removed(gUnknown_0203CEFC); - sub_81B1B5C(gStringVar4, 0); - gTasks[taskId].func = sub_81B8104; + ReturnGiveItemToBagOrPC(item); + BufferBagFullCantTakeItemMessage(sPartyMenuItemId); + DisplayPartyMenuMessage(gStringVar4, FALSE); + gTasks[taskId].func = Task_UpdateHeldItemSpriteAndClosePartyMenu; } else if (ItemIsMail(item)) { - gUnknown_0203CEC4->exitCallback = sub_81B814C; - sub_81B12C0(taskId); + sPartyMenuInternal->exitCallback = CB2_WriteMailToGiveMonFromBag; + Task_ClosePartyMenu(taskId); } else { - sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], item); - sub_81B1D68(item, gUnknown_0203CEFC, 1); - gTasks[taskId].func = sub_81B8104; + GiveItemToMon(&gPlayerParty[gPartyMenu.slotId], item); + DisplaySwitchedHeldItemMessage(item, sPartyMenuItemId, TRUE); + gTasks[taskId].func = Task_UpdateHeldItemSpriteAndClosePartyMenu; } break; case MENU_B_PRESSED: PlaySE(SE_SELECT); - case 1: - gTasks[taskId].func = sub_81B8104; + // fallthrough + case 1: // No, dont switch items + gTasks[taskId].func = Task_UpdateHeldItemSpriteAndClosePartyMenu; break; } } -static void sub_81B83B8(u8 taskId) +static void DisplayItemMustBeRemovedFirstMessage(u8 taskId) { - sub_81B1B5C(gText_RemoveMailBeforeItem, 1); + DisplayPartyMenuMessage(gText_RemoveMailBeforeItem, TRUE); schedule_bg_copy_tilemap_to_vram(2); - gTasks[taskId].func = sub_81B8104; + gTasks[taskId].func = Task_UpdateHeldItemSpriteAndClosePartyMenu; } -static void sub_81B83F0(u16 item) +static void RemoveItemToGiveFromBag(u16 item) { - if (gUnknown_0203CEC8.unkB == 6) + if (gPartyMenu.action == PARTY_ACTION_GIVE_PC_ITEM) // Unused, never occurs RemovePCItem(item, 1); else RemoveBagItem(item, 1); } -static bool8 sub_81B841C(u16 item) +// Returns FALSE if there was no space to return the item +// but there always should be, and the return is ignored in all uses +static bool8 ReturnGiveItemToBagOrPC(u16 item) { - if (gUnknown_0203CEC8.unkB == 5) + if (gPartyMenu.action == PARTY_ACTION_GIVE_ITEM) return AddBagItem(item, 1); else return AddPCItem(item, 1); } -void sub_81B8448(void) +void ChooseMonToGiveMailFromMailbox(void) { - InitPartyMenu(0, 0, 7, 0, 6, sub_81B1370, Mailbox_ReturnToMailListAfterDeposit); + InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_GIVE_MAILBOX_MAIL, FALSE, PARTY_MSG_GIVE_TO_WHICH_MON, Task_HandleChooseMonInput, Mailbox_ReturnToMailListAfterDeposit); } -static void sub_81B8474(u8 taskId) +static void TryGiveMailToSelectedMon(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; + struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; struct MailStruct *mail; - gUnknown_0203CEE8 = 0; + gPartyMenuUseExitCallback = FALSE; mail = &gSaveBlock1Ptr->mail[playerPCItemPageInfo.itemsAbove + 6 + playerPCItemPageInfo.cursorPos]; if (GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE) { - sub_81B1B5C(gText_PkmnHoldingItemCantHoldMail, 1); + DisplayPartyMenuMessage(gText_PkmnHoldingItemCantHoldMail, TRUE); } else { GiveMailToMon2(mon, mail); ClearMailStruct(mail); - sub_81B1B5C(gText_MailTransferredFromMailbox, 1); + DisplayPartyMenuMessage(gText_MailTransferredFromMailbox, TRUE); } schedule_bg_copy_tilemap_to_vram(2); - gTasks[taskId].func = sub_81B8104; + gTasks[taskId].func = Task_UpdateHeldItemSpriteAndClosePartyMenu; } void InitChooseHalfPartyForBattle(u8 unused) { - sub_81B8558(); - InitPartyMenu(4, 0, 0, 0, 0, sub_81B1370, gMain.savedCallback); - gUnknown_0203CEC8.unk4 = sub_81B879C; + ClearSelectedPartyOrder(); + InitPartyMenu(PARTY_MENU_TYPE_CHOOSE_HALF, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, gMain.savedCallback); + gPartyMenu.task = Task_ValidateChosenHalfParty; } -void sub_81B8558(void) +void ClearSelectedPartyOrder(void) { memset(gSelectedOrderFromParty, 0, sizeof(gSelectedOrderFromParty)); } -static u8 sub_81B856C(s8 slot) +static u8 GetPartySlotEntryStatus(s8 slot) { if (GetBattleEntryEligibility(&gPlayerParty[slot]) == FALSE) return 2; - if (sub_81B8770(slot + 1) == TRUE) + if (HasPartySlotAlreadyBeenSelected(slot + 1) == TRUE) return 1; return 0; } @@ -6594,7 +5515,7 @@ static bool8 GetBattleEntryEligibility(struct Pokemon *mon) u16 species; if (GetMonData(mon, MON_DATA_IS_EGG) - || GetMonData(mon, MON_DATA_LEVEL) > sub_81B8888() + || GetMonData(mon, MON_DATA_LEVEL) > GetBattleEntryLevelCap() || (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY) && GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE)) @@ -6602,15 +5523,15 @@ static bool8 GetBattleEntryEligibility(struct Pokemon *mon) return FALSE; } - switch (VarGet(VAR_FRONTIER_FACILITY)) // oddly the specific cases are beyond 6, turns out case 9 is apparently related to link battles + switch (VarGet(VAR_FRONTIER_FACILITY)) { - case 9: + case FACILITY_MULTI_OR_EREADER: if (GetMonData(mon, MON_DATA_HP) != 0) return TRUE; return FALSE; - case 8: + case FACILITY_UNION_ROOM: return TRUE; - default: + default: // Battle Frontier species = GetMonData(mon, MON_DATA_SPECIES); for (; gFrontierBannedSpecies[i] != 0xFFFF; i++) { @@ -6621,49 +5542,49 @@ static bool8 GetBattleEntryEligibility(struct Pokemon *mon) } } -static u8 sub_81B865C(void) +static u8 CheckBattleEntriesAndGetMessage(void) { - u8 unk2; + u8 maxBattlers; u8 i, j; u8 facility; struct Pokemon *party = gPlayerParty; - u8 unk = sub_81B885C(); + u8 minBattlers = GetMinBattleEntries(); u8 *order = gSelectedOrderFromParty; - if (order[unk - 1] == 0) + if (order[minBattlers - 1] == 0) { - if (unk == 1) - return 14; - ConvertIntToDecimalStringN(gStringVar1, unk, 0, 1); - return 17; + if (minBattlers == 1) + return PARTY_MSG_NO_MON_FOR_BATTLE; + ConvertIntToDecimalStringN(gStringVar1, minBattlers, STR_CONV_MODE_LEFT_ALIGN, 1); + return PARTY_MSG_X_MONS_ARE_NEEDED; } facility = VarGet(VAR_FRONTIER_FACILITY); - if (facility == 8 || facility == 9) + if (facility == FACILITY_UNION_ROOM || facility == FACILITY_MULTI_OR_EREADER) return 0xFF; - unk2 = sub_81B8830(); - for (i = 0; i < unk2 - 1; i++) + maxBattlers = GetMaxBattleEntries(); + for (i = 0; i < maxBattlers - 1; i++) { u16 species = GetMonData(&party[order[i] - 1], MON_DATA_SPECIES); u16 item = GetMonData(&party[order[i] - 1], MON_DATA_HELD_ITEM); - for (j = i + 1; j < unk2; j++) + for (j = i + 1; j < maxBattlers; j++) { if (species == GetMonData(&party[order[j] - 1], MON_DATA_SPECIES)) - return 18; + return PARTY_MSG_MONS_CANT_BE_SAME; if (item != ITEM_NONE && item == GetMonData(&party[order[j] - 1], MON_DATA_HELD_ITEM)) - return 19; + return PARTY_MSG_NO_SAME_HOLD_ITEMS; } } return 0xFF; } -static bool8 sub_81B8770(u8 slot) +static bool8 HasPartySlotAlreadyBeenSelected(u8 slot) { u8 i; - for (i = 0; i < 4; i++) + for (i = 0; i < ARRAY_COUNT(gSelectedOrderFromParty); i++) { if (gSelectedOrderFromParty[i] == slot) return TRUE; @@ -6671,79 +5592,79 @@ static bool8 sub_81B8770(u8 slot) return FALSE; } -static void sub_81B879C(u8 taskId) +static void Task_ValidateChosenHalfParty(u8 taskId) { - u8 msgId = sub_81B865C(); + u8 msgId = CheckBattleEntriesAndGetMessage(); if (msgId != 0xFF) { PlaySE(SE_HAZURE); - display_pokemon_menu_message(msgId); - gTasks[taskId].func = sub_81B87E8; + DisplayPartyMenuStdMessage(msgId); + gTasks[taskId].func = Task_ContinueChoosingHalfParty; } else { PlaySE(SE_SELECT); - sub_81B12C0(taskId); + Task_ClosePartyMenu(taskId); } } -static void sub_81B87E8(u8 taskId) +static void Task_ContinueChoosingHalfParty(u8 taskId) { if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) { PlaySE(SE_SELECT); - display_pokemon_menu_message(0); - gTasks[taskId].func = sub_81B1370; + DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON); + gTasks[taskId].func = Task_HandleChooseMonInput; } } -static u8 sub_81B8830(void) +static u8 GetMaxBattleEntries(void) { switch (VarGet(VAR_FRONTIER_FACILITY)) { - case 9: + case FACILITY_MULTI_OR_EREADER: return 3; - case 8: + case FACILITY_UNION_ROOM: return 2; - default: + default: // Battle Frontier return gSpecialVar_0x8005; } } -static u8 sub_81B885C(void) +static u8 GetMinBattleEntries(void) { switch (VarGet(VAR_FRONTIER_FACILITY)) { - case 9: + case FACILITY_MULTI_OR_EREADER: return 1; - case 8: + case FACILITY_UNION_ROOM: return 2; - default: + default: // Battle Frontier return gSpecialVar_0x8005; } } -static u8 sub_81B8888(void) +static u8 GetBattleEntryLevelCap(void) { switch (VarGet(VAR_FRONTIER_FACILITY)) { - case 9: - return 100; - case 8: + case FACILITY_MULTI_OR_EREADER: + return MAX_LEVEL; + case FACILITY_UNION_ROOM: return 30; - default: - if (gSpecialVar_0x8004 == 0) + default: // Battle Frontier + if (gSpecialVar_0x8004 == FRONTIER_LVL_50) return 50; - return 100; + return MAX_LEVEL; } } -static const u8* sub_81B88BC(void) +static const u8* GetFacilityCancelString(void) { u8 facilityNum = VarGet(VAR_FRONTIER_FACILITY); - if (!(facilityNum != 8 && facilityNum != 9)) + if (!(facilityNum != FACILITY_UNION_ROOM && facilityNum != FACILITY_MULTI_OR_EREADER)) return gText_CancelBattle; else if (facilityNum == FRONTIER_FACILITY_DOME && gSpecialVar_0x8005 == 2) return gText_ReturnToWaitingRoom; @@ -6751,62 +5672,63 @@ static const u8* sub_81B88BC(void) return gText_CancelChallenge; } -void sub_81B8904(u8 initArg, MainCallback callback) +void ChooseMonForTradingBoard(u8 menuType, MainCallback callback) { - InitPartyMenu(initArg, 0, 0, 0, 0, sub_81B1370, callback); + InitPartyMenu(menuType, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, callback); } -void sub_81B892C(void) +void ChooseMonForMoveTutor(void) { - InitPartyMenu(0, 0, 12, 0, 4, sub_81B1370, CB2_ReturnToFieldContinueScriptPlayMapMusic); + InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_MOVE_TUTOR, FALSE, PARTY_MSG_TEACH_WHICH_MON, Task_HandleChooseMonInput, CB2_ReturnToFieldContinueScriptPlayMapMusic); } -void sub_81B8958(void) +void ChooseMonForWirelessMinigame(void) { - InitPartyMenu(11, 0, 13, 0, 1, sub_81B1370, CB2_ReturnToFieldContinueScriptPlayMapMusic); + InitPartyMenu(PARTY_MENU_TYPE_MINIGAME, PARTY_LAYOUT_SINGLE, PARTY_ACTION_MINIGAME, FALSE, PARTY_MSG_CHOOSE_MON_OR_CANCEL, Task_HandleChooseMonInput, CB2_ReturnToFieldContinueScriptPlayMapMusic); } -static u8 sub_81B8984(void) +static u8 GetPartyLayoutFromBattleType(void) { if (IsDoubleBattle() == FALSE) - return 0; + return PARTY_LAYOUT_SINGLE; if (IsMultiBattle() == TRUE) - return 2; - return 1; + return PARTY_LAYOUT_MULTI; + return PARTY_LAYOUT_DOUBLE; } -void OpenPartyMenuInBattle(u8 arg) +void OpenPartyMenuInBattle(u8 partyAction) { - InitPartyMenu(1, sub_81B8984(), arg, 0, 0, sub_81B1370, SetCB2ToReshowScreenAfterMenu); + InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), partyAction, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, CB2_SetUpReshowBattleScreenAfterMenu); nullsub_35(); - pokemon_change_order(); + UpdatePartyToBattleOrder(); } -void sub_81B89F0(void) +void ChooseMonForInBattleItem(void) { - InitPartyMenu(1, sub_81B8984(), 3, 0, 5, sub_81B1370, c2_815ABFC); + InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), PARTY_ACTION_USE_ITEM, FALSE, PARTY_MSG_USE_ON_WHICH_MON, Task_HandleChooseMonInput, CB2_ReturnToBagMenu); nullsub_35(); - pokemon_change_order(); + UpdatePartyToBattleOrder(); } -static u8 sub_81B8A2C(struct Pokemon *mon) +static u8 GetPartyMenuActionsTypeInBattle(struct Pokemon *mon) { if (GetMonData(&gPlayerParty[1], MON_DATA_SPECIES) != SPECIES_NONE && GetMonData(mon, MON_DATA_IS_EGG) == FALSE) { - if (gUnknown_0203CEC8.unkB == 1) - return 3; + if (gPartyMenu.action == PARTY_ACTION_SEND_OUT) + return ACTIONS_SEND_OUT; if (!(gBattleTypeFlags & BATTLE_TYPE_ARENA)) - return 2; + return ACTIONS_SHIFT; } - return 7; + return ACTIONS_SUMMARY_ONLY; } -static bool8 sub_81B8A7C(void) +static bool8 TrySwitchInPokemon(void) { u8 slot = GetCursorSelectionMonId(); u8 newSlot; u8 i; + // In a multi battle, slots 1, 4, and 5 are the partner's pokemon if (IsMultiBattle() == TRUE && (slot == 1 || slot == 4 || slot == 5)) { StringCopy(gStringVar1, GetTrainerPartnerName()); @@ -6821,7 +5743,7 @@ static bool8 sub_81B8A7C(void) } for (i = 0; i < gBattlersCount; i++) { - if (GetBattlerSide(i) == B_SIDE_PLAYER && sub_81B8F38(slot) == gBattlerPartyIndexes[i]) + if (GetBattlerSide(i) == B_SIDE_PLAYER && GetPartyIdFromBattleSlot(slot) == gBattlerPartyIndexes[i]) { GetMonNickname(&gPlayerParty[slot], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnAlreadyInBattle); @@ -6833,67 +5755,69 @@ static bool8 sub_81B8A7C(void) StringExpandPlaceholders(gStringVar4, gText_EggCantBattle); return FALSE; } - if (sub_81B8F38(slot) == gBattleStruct->field_8B) + if (GetPartyIdFromBattleSlot(slot) == gBattleStruct->field_8B) { GetMonNickname(&gPlayerParty[slot], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnAlreadySelected); return FALSE; } - if (gUnknown_0203CEC8.unkB == 4) + if (gPartyMenu.action == PARTY_ACTION_ABILITY_PREVENTS) { SetMonPreventsSwitchingString(); return FALSE; } - if (gUnknown_0203CEC8.unkB == 2) + if (gPartyMenu.action == PARTY_ACTION_CANT_SWITCH) { u8 currBattler = gBattlerInMenuId; - GetMonNickname(&gPlayerParty[pokemon_order_func(gBattlerPartyIndexes[currBattler])], gStringVar1); + GetMonNickname(&gPlayerParty[GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[currBattler])], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnCantSwitchOut); return FALSE; } - gUnknown_0203CEE9 = sub_81B8F38(slot); - gUnknown_0203CEE8 = 1; - newSlot = pokemon_order_func(gBattlerPartyIndexes[gBattlerInMenuId]); - sub_81B8FB0(newSlot, slot); - sub_81B1288(&gPlayerParty[newSlot], &gPlayerParty[slot]); + gSelectedMonPartyId = GetPartyIdFromBattleSlot(slot); + gPartyMenuUseExitCallback = TRUE; + newSlot = GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[gBattlerInMenuId]); + SwitchPartyMonSlots(newSlot, slot); + SwapPartyPokemon(&gPlayerParty[newSlot], &gPlayerParty[slot]); return TRUE; } -void sub_81B8C68(void) +void BufferBattlePartyCurrentOrder(void) { - sub_81B8C88(gUnknown_0203CF00, sub_806D7EC()); + BufferBattlePartyOrder(gBattlePartyCurrentOrder, GetPlayerFlankId()); } -static void sub_81B8C88(u8 *ptr, bool8 multiplayerFlag) +static void BufferBattlePartyOrder(u8 *partyBattleOrder, u8 flankId) { - u8 partyIndexes[6]; + u8 partyIds[PARTY_SIZE]; int i, j; if (IsMultiBattle() == TRUE) { - if (multiplayerFlag) + // Party ids are packed in 4 bits at a time + // i.e. the party id order below would be 0, 3, 5, 4, 2, 1, and the two parties would be 0,5,4 and 3,2,1 + if (flankId != 0) { - ptr[0] = 0 | (3 << 4); - ptr[1] = 5 | (4 << 4); - ptr[2] = 2 | (1 << 4); + partyBattleOrder[0] = 0 | (3 << 4); + partyBattleOrder[1] = 5 | (4 << 4); + partyBattleOrder[2] = 2 | (1 << 4); } else { - ptr[0] = 3 | (0 << 4); - ptr[1] = 2 | (1 << 4); - ptr[2] = 5 | (4 << 4); + partyBattleOrder[0] = 3 | (0 << 4); + partyBattleOrder[1] = 2 | (1 << 4); + partyBattleOrder[2] = 5 | (4 << 4); } return; } else if (IsDoubleBattle() == FALSE) { j = 1; - partyIndexes[0] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]; + partyIds[0] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]; for (i = 0; i < PARTY_SIZE; i++) { - if (i != partyIndexes[0]) + if (i != partyIds[0]) { - partyIndexes[j] = i; + partyIds[j] = i; j++; } } @@ -6901,29 +5825,30 @@ static void sub_81B8C88(u8 *ptr, bool8 multiplayerFlag) else { j = 2; - partyIndexes[0] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]; - partyIndexes[1] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)]; + partyIds[0] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]; + partyIds[1] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)]; for (i = 0; i < PARTY_SIZE; i++) { - if (i != partyIndexes[0] && i != partyIndexes[1]) + if (i != partyIds[0] && i != partyIds[1]) { - partyIndexes[j] = i; + partyIds[j] = i; j++; } } } - for (i = 0; i < 3; i++) - ptr[i] = (partyIndexes[0 + (i * 2)] << 4) | partyIndexes[1 + (i * 2)]; + for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) + partyBattleOrder[i] = (partyIds[0 + (i * 2)] << 4) | partyIds[1 + (i * 2)]; } -void sub_81B8D64(u8 battlerId, u8 multiplayerFlag) +void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId) { - sub_81B8D88(gBattleStruct->field_60[battlerId], multiplayerFlag, battlerId); + BufferBattlePartyOrderBySide(gBattleStruct->field_60[battlerId], flankId, battlerId); } -static void sub_81B8D88(u8 *ptr, bool8 multiplayerFlag, u8 battlerId) +// when GetBattlerSide(battlerId) == B_SIDE_PLAYER, this function is identical the one above +static void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 battlerId) { - u8 partyIndexes[6]; + u8 partyIndexes[PARTY_SIZE]; int i, j; u8 leftBattler; u8 rightBattler; @@ -6941,17 +5866,17 @@ static void sub_81B8D88(u8 *ptr, bool8 multiplayerFlag, u8 battlerId) if (IsMultiBattle() == TRUE) { - if (multiplayerFlag) + if (flankId != 0) { - ptr[0] = 0 | (3 << 4); - ptr[1] = 5 | (4 << 4); - ptr[2] = 2 | (1 << 4); + partyBattleOrder[0] = 0 | (3 << 4); + partyBattleOrder[1] = 5 | (4 << 4); + partyBattleOrder[2] = 2 | (1 << 4); } else { - ptr[0] = 3 | (0 << 4); - ptr[1] = 2 | (1 << 4); - ptr[2] = 5 | (4 << 4); + partyBattleOrder[0] = 3 | (0 << 4); + partyBattleOrder[1] = 2 | (1 << 4); + partyBattleOrder[2] = 5 | (4 << 4); } return; } @@ -6984,87 +5909,87 @@ static void sub_81B8D88(u8 *ptr, bool8 multiplayerFlag, u8 battlerId) } for (i = 0; i < 3; i++) - ptr[i] = (partyIndexes[0 + (i * 2)] << 4) | partyIndexes[1 + (i * 2)]; + partyBattleOrder[i] = (partyIndexes[0 + (i * 2)] << 4) | partyIndexes[1 + (i * 2)]; } -void sub_81B8E80(u8 battlerId, u8 unk, u8 arrayIndex) +void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 slot2) { - u8 possiblePartyIndexes[6]; - u8 unk2 = 0; + u8 partyIds[PARTY_SIZE]; + u8 tempSlot = 0; int i, j; - u8 *battleStructRelated; - u8 possiblePartyIndexBuffer; + u8 *partyBattleOrder; + u8 partyIdBuffer; if (IsMultiBattle()) { - battleStructRelated = gBattleStruct->field_60[battlerId]; + partyBattleOrder = gBattleStruct->field_60[battlerId]; for (i = j = 0; i < 3; j++, i++) { - possiblePartyIndexes[j] = battleStructRelated[i] >> 4; + partyIds[j] = partyBattleOrder[i] >> 4; j++; - possiblePartyIndexes[j] = battleStructRelated[i] & 0xF; + partyIds[j] = partyBattleOrder[i] & 0xF; } - possiblePartyIndexBuffer = possiblePartyIndexes[arrayIndex]; + partyIdBuffer = partyIds[slot2]; for (i = 0; i < PARTY_SIZE; i++) { - if (possiblePartyIndexes[i] == unk) + if (partyIds[i] == slot) { - unk2 = possiblePartyIndexes[i]; - possiblePartyIndexes[i] = possiblePartyIndexBuffer; + tempSlot = partyIds[i]; + partyIds[i] = partyIdBuffer; break; } } if (i != PARTY_SIZE) { - possiblePartyIndexes[arrayIndex] = unk2; - battleStructRelated[0] = (possiblePartyIndexes[0] << 4) | possiblePartyIndexes[1]; - battleStructRelated[1] = (possiblePartyIndexes[2] << 4) | possiblePartyIndexes[3]; - battleStructRelated[2] = (possiblePartyIndexes[4] << 4) | possiblePartyIndexes[5]; + partyIds[slot2] = tempSlot; + partyBattleOrder[0] = (partyIds[0] << 4) | partyIds[1]; + partyBattleOrder[1] = (partyIds[2] << 4) | partyIds[3]; + partyBattleOrder[2] = (partyIds[4] << 4) | partyIds[5]; } } } -static u8 sub_81B8F38(u8 slot) +static u8 GetPartyIdFromBattleSlot(u8 slot) { u8 modResult = slot & 1; u8 retVal; slot /= 2; if (modResult != 0) - retVal = gUnknown_0203CF00[slot] & 0xF; + retVal = gBattlePartyCurrentOrder[slot] & 0xF; else - retVal = gUnknown_0203CF00[slot] >> 4; + retVal = gBattlePartyCurrentOrder[slot] >> 4; return retVal; } -static void sub_81B8F6C(u8 slot, u8 setVal) +static void SetPartyIdAtBattleSlot(u8 slot, u8 setVal) { bool32 modResult = slot & 1; slot /= 2; if (modResult != 0) - gUnknown_0203CF00[slot] = (gUnknown_0203CF00[slot] & 0xF0) | setVal; + gBattlePartyCurrentOrder[slot] = (gBattlePartyCurrentOrder[slot] & 0xF0) | setVal; else - gUnknown_0203CF00[slot] = (gUnknown_0203CF00[slot] & 0xF) | (setVal << 4); + gBattlePartyCurrentOrder[slot] = (gBattlePartyCurrentOrder[slot] & 0xF) | (setVal << 4); } -void sub_81B8FB0(u8 slot, u8 slot2) +void SwitchPartyMonSlots(u8 slot, u8 slot2) { - u8 valBuffer = sub_81B8F38(slot); - sub_81B8F6C(slot, sub_81B8F38(slot2)); - sub_81B8F6C(slot2, valBuffer); + u8 partyId = GetPartyIdFromBattleSlot(slot); + SetPartyIdAtBattleSlot(slot, GetPartyIdFromBattleSlot(slot2)); + SetPartyIdAtBattleSlot(slot2, partyId); } -u8 pokemon_order_func(u8 slot) +u8 GetPartyIdFromBattlePartyId(u8 battlePartyId) { u8 i, j; - for (j = i = 0; i < 3; j++, i++) + for (j = i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); j++, i++) { - if ((gUnknown_0203CF00[i] >> 4) != slot) + if ((gBattlePartyCurrentOrder[i] >> 4) != battlePartyId) { j++; - if ((gUnknown_0203CF00[i] & 0xF) == slot) + if ((gBattlePartyCurrentOrder[i] & 0xF) == battlePartyId) return j; } else @@ -7075,147 +6000,155 @@ u8 pokemon_order_func(u8 slot) return 0; } -static void pokemon_change_order(void) +static void UpdatePartyToBattleOrder(void) { struct Pokemon *partyBuffer = Alloc(sizeof(gPlayerParty)); u8 i; memcpy(partyBuffer, gPlayerParty, sizeof(gPlayerParty)); for (i = 0; i < PARTY_SIZE; i++) - memcpy(&gPlayerParty[pokemon_order_func(i)], &partyBuffer[i], sizeof(struct Pokemon)); + memcpy(&gPlayerParty[GetPartyIdFromBattlePartyId(i)], &partyBuffer[i], sizeof(struct Pokemon)); Free(partyBuffer); } -static void sub_81B9080(void) +static void UpdatePartyToFieldOrder(void) { struct Pokemon *partyBuffer = Alloc(sizeof(gPlayerParty)); u8 i; memcpy(partyBuffer, gPlayerParty, sizeof(gPlayerParty)); for (i = 0; i < PARTY_SIZE; i++) - memcpy(&gPlayerParty[sub_81B8F38(i)], &partyBuffer[i], sizeof(struct Pokemon)); + memcpy(&gPlayerParty[GetPartyIdFromBattleSlot(i)], &partyBuffer[i], sizeof(struct Pokemon)); Free(partyBuffer); } -static void sub_81B90D0(void) +// Unused +static void SwitchAliveMonIntoLeadSlot(void) { u8 i; struct Pokemon *mon; - u8 leadVal; + u8 partyId; for (i = 1; i < PARTY_SIZE; i++) { - mon = &gPlayerParty[sub_81B8F38(i)]; + mon = &gPlayerParty[GetPartyIdFromBattleSlot(i)]; if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE && GetMonData(mon, MON_DATA_HP) != 0) { - leadVal = sub_81B8F38(0); - sub_81B8FB0(0, i); - sub_81B1288(&gPlayerParty[leadVal], mon); + partyId = GetPartyIdFromBattleSlot(0); + SwitchPartyMonSlots(0, i); + SwapPartyPokemon(&gPlayerParty[partyId], mon); break; } } } -static void sub_81B9140(void) +static void CB2_SetUpExitToBattleScreen(void) { - SetMainCallback2(SetCB2ToReshowScreenAfterMenu); + SetMainCallback2(CB2_SetUpReshowBattleScreenAfterMenu); } -void sub_81B9150(void) +void ShowPartyMenuToShowcaseMultiBattleParty(void) { - InitPartyMenu(5, 3, 0, 0, 0x7F, sub_81B917C, gMain.savedCallback); + InitPartyMenu(PARTY_MENU_TYPE_MULTI_SHOWCASE, PARTY_LAYOUT_MULTI_SHOWCASE, PARTY_ACTION_CHOOSE_MON, FALSE, PARTY_MSG_NONE, Task_InitMultiPartnerPartySlideIn, gMain.savedCallback); } -static void sub_81B917C(u8 taskId) +#define tXPos data[0] + +static void Task_InitMultiPartnerPartySlideIn(u8 taskId) { - gTasks[taskId].data[0] = 256; - sub_81B9294(taskId); + // The first slide step also sets the sprites offscreen + gTasks[taskId].tXPos = 256; + SlideMultiPartyMenuBoxSpritesOneStep(taskId); ChangeBgX(2, 0x10000, 0); - gTasks[taskId].func = sub_81B91B4; + gTasks[taskId].func = Task_MultiPartnerPartySlideIn; } -static void sub_81B91B4(u8 taskId) +static void Task_MultiPartnerPartySlideIn(u8 taskId) { s16 *data = gTasks[taskId].data; u8 i; if (!gPaletteFade.active) { - data[0] -= 8; - sub_81B9294(taskId); - if (data[0] == 0) + tXPos -= 8; + SlideMultiPartyMenuBoxSpritesOneStep(taskId); + if (tXPos == 0) { for (i = 3; i < PARTY_SIZE; i++) { - if (gUnknown_02022FF8[i - 3].species != SPECIES_NONE) - AnimateSelectedPartyIcon(gUnknown_0203CEDC[i].monSpriteId, 0); + if (gMultiPartnerParty[i - MULTI_PARTY_SIZE].species != SPECIES_NONE) + AnimateSelectedPartyIcon(sPartyMenuBoxes[i].monSpriteId, 0); } - PlaySE(SE_W231); // Harden SE? - gTasks[taskId].func = sub_81B9240; + PlaySE(SE_W231); // The Harden SE plays once the partners party mons have slid on screen + gTasks[taskId].func = Task_WaitAfterMultiPartnerPartySlideIn; } } } -static void sub_81B9240(u8 taskId) +static void Task_WaitAfterMultiPartnerPartySlideIn(u8 taskId) { s16 *data = gTasks[taskId].data; - if (++data[0] == 0x100) - sub_81B12C0(taskId); + // data[0] used as a timer afterwards rather than the x pos + if (++data[0] == 256) + Task_ClosePartyMenu(taskId); } -static void sub_81B9270(u8 spriteId, s16 x) +static void MoveMultiPartyMenuBoxSprite(u8 spriteId, s16 x) { if (x >= 0) gSprites[spriteId].pos2.x = x; } -static void sub_81B9294(u8 taskId) +static void SlideMultiPartyMenuBoxSpritesOneStep(u8 taskId) { s16 *data = gTasks[taskId].data; u8 i; for (i = 3; i < PARTY_SIZE; i++) { - if (gUnknown_02022FF8[i - 3].species != SPECIES_NONE) + if (gMultiPartnerParty[i - MULTI_PARTY_SIZE].species != SPECIES_NONE) { - sub_81B9270(gUnknown_0203CEDC[i].monSpriteId, data[0] - 8); - sub_81B9270(gUnknown_0203CEDC[i].itemSpriteId, data[0] - 8); - sub_81B9270(gUnknown_0203CEDC[i].pokeballSpriteId, data[0] - 8); - sub_81B9270(gUnknown_0203CEDC[i].statusSpriteId, data[0] - 8); + MoveMultiPartyMenuBoxSprite(sPartyMenuBoxes[i].monSpriteId, tXPos - 8); + MoveMultiPartyMenuBoxSprite(sPartyMenuBoxes[i].itemSpriteId, tXPos - 8); + MoveMultiPartyMenuBoxSprite(sPartyMenuBoxes[i].pokeballSpriteId, tXPos - 8); + MoveMultiPartyMenuBoxSprite(sPartyMenuBoxes[i].statusSpriteId, tXPos - 8); } } ChangeBgX(2, 0x800, 1); } -void sub_81B9328(void) +#undef tXpos + +void ChooseMonForDaycare(void) { - InitPartyMenu(6, 0, 0, 0, 15, sub_81B1370, sub_81B9390); + InitPartyMenu(PARTY_MENU_TYPE_DAYCARE, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, FALSE, PARTY_MSG_CHOOSE_MON_2, Task_HandleChooseMonInput, BufferMonSelection); } -static void sub_81B9354(u8 arg1) +// Unused +static void ChoosePartyMonByMenuType(u8 menuType) { - gFieldCallback2 = hm_add_c3_without_phase_2; - InitPartyMenu(arg1, 0, 11, 0, 0, sub_81B1370, CB2_ReturnToField); + gFieldCallback2 = CB2_FadeFromPartyMenu; + InitPartyMenu(menuType, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_AND_CLOSE, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, CB2_ReturnToField); } -static void sub_81B9390(void) +static void BufferMonSelection(void) { gSpecialVar_0x8004 = GetCursorSelectionMonId(); if (gSpecialVar_0x8004 >= PARTY_SIZE) gSpecialVar_0x8004 = 0xFF; - gFieldCallback2 = hm_add_c3_without_phase_2; + gFieldCallback2 = CB2_FadeFromPartyMenu; SetMainCallback2(CB2_ReturnToField); } -bool8 hm_add_c3_without_phase_2(void) // might not be bool +bool8 CB2_FadeFromPartyMenu(void) { - pal_fill_black(); - CreateTask(task_hm_without_phase_2, 10); + FadeInFromBlack(); + CreateTask(Task_PartyMenuWaitForFade, 10); return TRUE; } -static void task_hm_without_phase_2(u8 taskId) +static void Task_PartyMenuWaitForFade(u8 taskId) { if (IsWeatherNotFadingIn()) { @@ -7225,84 +6158,85 @@ static void task_hm_without_phase_2(u8 taskId) } } -void sub_81B9404(void) +void ChooseContestMon(void) { ScriptContext2_Enable(); FadeScreen(FADE_TO_BLACK, 0); - CreateTask(sub_81B9424, 10); + CreateTask(Task_ChooseContestMon, 10); } -static void sub_81B9424(u8 taskId) +static void Task_ChooseContestMon(u8 taskId) { if (!gPaletteFade.active) { CleanupOverworldWindowsAndTilemaps(); - InitPartyMenu(2, 0, 11, 0, 0, sub_81B1370, sub_81B9470); + InitPartyMenu(PARTY_MENU_TYPE_CONTEST, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_AND_CLOSE, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, CB2_ChooseContestMon); DestroyTask(taskId); } } -static void sub_81B9470(void) +static void CB2_ChooseContestMon(void) { gContestMonPartyIndex = GetCursorSelectionMonId(); if (gContestMonPartyIndex >= PARTY_SIZE) gContestMonPartyIndex = 0xFF; gSpecialVar_0x8004 = gContestMonPartyIndex; - gFieldCallback2 = hm_add_c3_without_phase_2; + gFieldCallback2 = CB2_FadeFromPartyMenu; SetMainCallback2(CB2_ReturnToField); } -void sub_81B94B0(void) +// Used as a script special for showing a party mon to various npcs (e.g. in-game trades, move deleter) +void ChoosePartyMon(void) { ScriptContext2_Enable(); FadeScreen(FADE_TO_BLACK, 0); - CreateTask(sub_81B94D0, 10); + CreateTask(Task_ChoosePartyMon, 10); } -static void sub_81B94D0(u8 taskId) +static void Task_ChoosePartyMon(u8 taskId) { if (!gPaletteFade.active) { CleanupOverworldWindowsAndTilemaps(); - InitPartyMenu(3, 0, 11, 0, 0, sub_81B1370, sub_81B9390); + InitPartyMenu(PARTY_MENU_TYPE_CHOOSE_MON, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_AND_CLOSE, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, BufferMonSelection); DestroyTask(taskId); } } -void sub_81B951C(void) +void ChooseMonForMoveRelearner(void) { ScriptContext2_Enable(); FadeScreen(FADE_TO_BLACK, 0); - CreateTask(sub_81B953C, 10); + CreateTask(Task_ChooseMonForMoveRelearner, 10); } -static void sub_81B953C(u8 taskId) +static void Task_ChooseMonForMoveRelearner(u8 taskId) { if (!gPaletteFade.active) { CleanupOverworldWindowsAndTilemaps(); - InitPartyMenu(7, 0, 11, 0, 0, sub_81B1370, sub_81B9588); + InitPartyMenu(PARTY_MENU_TYPE_MOVE_RELEARNER, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_AND_CLOSE, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, CB2_ChooseMonForMoveRelearner); DestroyTask(taskId); } } -static void sub_81B9588(void) +static void CB2_ChooseMonForMoveRelearner(void) { gSpecialVar_0x8004 = GetCursorSelectionMonId(); if (gSpecialVar_0x8004 >= PARTY_SIZE) gSpecialVar_0x8004 = 0xFF; else gSpecialVar_0x8005 = GetNumberOfRelearnableMoves(&gPlayerParty[gSpecialVar_0x8004]); - gFieldCallback2 = hm_add_c3_without_phase_2; + gFieldCallback2 = CB2_FadeFromPartyMenu; SetMainCallback2(CB2_ReturnToField); } -void sub_81B95E0(void) +void DoBattlePyramidMonsHaveHeldItem(void) { u8 i; gSpecialVar_Result = FALSE; - for (i = 0; i < 3; i++) + for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { if (GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM) != ITEM_NONE) { @@ -7312,42 +6246,44 @@ void sub_81B95E0(void) } } -void sub_81B9620(void) +// Can be called if the Battle Pyramid Bag is full on exiting and at least one party mon still has held items +// The player can then select to toss items from the bag or take/toss held items from the party +void BattlePyramidChooseMonHeldItems(void) { ScriptContext2_Enable(); FadeScreen(FADE_TO_BLACK, 0); - CreateTask(sub_81B9640, 10); + CreateTask(Task_BattlePyramidChooseMonHeldItems, 10); } -static void sub_81B9640(u8 taskId) +static void Task_BattlePyramidChooseMonHeldItems(u8 taskId) { if (!gPaletteFade.active) { CleanupOverworldWindowsAndTilemaps(); - InitPartyMenu(12, 0, 0, 0, 0, sub_81B1370, sub_81B9390); + InitPartyMenu(PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, BufferMonSelection); DestroyTask(taskId); } } -void sub_81B968C(void) +void MoveDeleterChooseMoveToForget(void) { ShowPokemonSummaryScreen(PSS_MODE_SELECT_MOVE, gPlayerParty, gSpecialVar_0x8004, gPlayerPartyCount - 1, CB2_ReturnToField); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; } -void sub_81B96D0(void) +void GetNumMovesSelectedMonHas(void) { u8 i; gSpecialVar_Result = 0; for (i = 0; i < MAX_MON_MOVES; i++) { - if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_MOVE1 + i) != ITEM_NONE) + if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_MOVE1 + i) != MOVE_NONE) gSpecialVar_Result++; } } -void sub_81B9718(void) +void BufferMoveDeleterNicknameAndMove(void) { struct Pokemon *mon = &gPlayerParty[gSpecialVar_0x8004]; u16 move = GetMonData(mon, MON_DATA_MOVE1 + gSpecialVar_0x8005); @@ -7356,17 +6292,17 @@ void sub_81B9718(void) StringCopy(gStringVar2, gMoveNames[move]); } -void sub_81B9770(void) +void MoveDeleterForgetMove(void) { u16 i; SetMonMoveSlot(&gPlayerParty[gSpecialVar_0x8004], MOVE_NONE, gSpecialVar_0x8005); RemoveMonPPBonus(&gPlayerParty[gSpecialVar_0x8004], gSpecialVar_0x8005); for (i = gSpecialVar_0x8005; i < MAX_MON_MOVES - 1; i++) - sub_81B97DC(&gPlayerParty[gSpecialVar_0x8004], i, i + 1); + ShiftMoveSlot(&gPlayerParty[gSpecialVar_0x8004], i, i + 1); } -static void sub_81B97DC(struct Pokemon *mon, u8 slotTo, u8 slotFrom) +static void ShiftMoveSlot(struct Pokemon *mon, u8 slotTo, u8 slotFrom) { u16 move1 = GetMonData(mon, MON_DATA_MOVE1 + slotTo); u16 move0 = GetMonData(mon, MON_DATA_MOVE1 + slotFrom); @@ -7387,7 +6323,7 @@ static void sub_81B97DC(struct Pokemon *mon, u8 slotTo, u8 slotFrom) SetMonData(mon, MON_DATA_PP_BONUSES, &ppBonuses); } -void sub_81B98DC(void) +void IsSelectedMonEgg(void) { if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_IS_EGG)) gSpecialVar_Result = TRUE; @@ -7395,7 +6331,7 @@ void sub_81B98DC(void) gSpecialVar_Result = FALSE; } -void sub_81B9918(void) +void IsLastMonThatKnowsSurf(void) { u16 move; u32 i, j; diff --git a/src/player_pc.c b/src/player_pc.c index 08f24d379e..bf3a5b01db 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -14,7 +14,7 @@ #include "list_menu.h" #include "mail.h" #include "main.h" -#include "alloc.h" +#include "malloc.h" #include "menu.h" #include "menu_helpers.h" #include "overworld.h" @@ -419,12 +419,12 @@ static void PlayerPC_Decoration(u8 taskId) static void PlayerPC_TurnOff(u8 taskId) { - if (gPcItemMenuOptionsNum == 4) // if the option count is 4, we are at the bedroom PC and not player PC, so do gender specific handling. + if (gPcItemMenuOptionsNum == 4) // if the option count is 4, we are at the bedroom PC, so do gender specific handling. { if (gSaveBlock2Ptr->playerGender == MALE) - ScriptContext1_SetupScript(LittlerootTown_BrendansHouse_2F_EventScript_1F863F); + ScriptContext1_SetupScript(LittlerootTown_BrendansHouse_2F_EventScript_TurnOffPlayerPC); else - ScriptContext1_SetupScript(LittlerootTown_MaysHouse_2F_EventScript_1F958F); + ScriptContext1_SetupScript(LittlerootTown_MaysHouse_2F_EventScript_TurnOffPlayerPC); } else { @@ -484,7 +484,7 @@ static void ItemStorageMenuProcessInput(u8 taskId) static void ItemStorage_Deposit(u8 taskId) { gTasks[taskId].func = Task_ItemStorage_Deposit; - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); } static void Task_ItemStorage_Deposit(u8 taskId) @@ -508,7 +508,7 @@ void Mailbox_DoRedrawMailboxMenuAfterReturn(void) sub_81973A4(); DrawDialogueFrame(0, 1); InitItemStorageMenu(CreateTask(ItemStorage_HandleReturnToProcessInput, 0), 1); - pal_fill_black(); + FadeInFromBlack(); } static void ItemStorage_HandleReturnToProcessInput(u8 taskId) @@ -714,7 +714,7 @@ static void Mailbox_MailOptionsProcessInput(u8 taskId) static void Mailbox_DoMailRead(u8 taskId) { - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = Mailbox_FadeAndReadMail; } @@ -745,7 +745,7 @@ static void pal_fill_for_maplights_or_black(void) Mailbox_DrawMailboxMenu(taskId); else DestroyTask(taskId); - pal_fill_black(); + FadeInFromBlack(); } static void Mailbox_HandleReturnToProcessInput(u8 taskId) @@ -813,7 +813,7 @@ static void Mailbox_Give(u8 taskId) Mailbox_NoPokemonForMail(taskId); else { - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = Mailbox_DoGiveMailPokeMenu; } } @@ -824,7 +824,7 @@ static void Mailbox_DoGiveMailPokeMenu(u8 taskId) { sub_81D1EC0(); CleanupOverworldWindowsAndTilemaps(); - sub_81B8448(); + ChooseMonToGiveMailFromMailbox(); DestroyTask(taskId); } } @@ -852,7 +852,7 @@ static void Mailbox_UpdateMailListAfterDeposit(void) Mailbox_DrawMailboxMenu(taskId); else DestroyTask(taskId); - pal_fill_black(); + FadeInFromBlack(); } static void Mailbox_NoPokemonForMail(u8 taskId) diff --git a/src/poison.c b/src/poison.c index 9af981694c..42e7d6a58c 100644 --- a/src/poison.c +++ b/src/poison.c @@ -33,11 +33,11 @@ const struct SpriteTemplate gUnknown_08596134 = { .tileTag = ANIM_TAG_TOXIC_BUBBLE, .paletteTag = ANIM_TAG_TOXIC_BUBBLE, - .oam = &gUnknown_08524954, + .oam = &gOamData_AffineOff_ObjNormal_16x32, .anims = gUnknown_08596130, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A77C8, + .callback = AnimSpriteOnMonPos, }; const union AnimCmd gUnknown_0859614C[] = @@ -101,7 +101,7 @@ const struct SpriteTemplate gUnknown_085961A8 = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, - .oam = &gUnknown_085249CC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = gUnknown_08596164, .images = NULL, .affineAnims = gUnknown_085961A0, @@ -112,7 +112,7 @@ const struct SpriteTemplate gUnknown_085961C0 = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, - .oam = &gUnknown_085249CC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = gUnknown_08596164, .images = NULL, .affineAnims = gUnknown_085961A0, @@ -123,7 +123,7 @@ const struct SpriteTemplate gUnknown_085961D8 = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gUnknown_0859616C, .images = NULL, .affineAnims = gUnknown_085961A4, @@ -146,7 +146,7 @@ const struct SpriteTemplate gUnknown_0859620C = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, - .oam = &gUnknown_085249CC, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = gUnknown_08596168, .images = NULL, .affineAnims = gUnknown_08596208, @@ -169,7 +169,7 @@ const struct SpriteTemplate gPoisonBubbleSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gUnknown_08596164, .images = NULL, .affineAnims = gUnknown_0859623C, @@ -180,7 +180,7 @@ const struct SpriteTemplate gWaterBubbleSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_08524A8C, + .oam = &gOamData_AffineNormal_ObjBlend_16x16, .anims = gUnknown_08595200, .images = NULL, .affineAnims = gUnknown_0859623C, diff --git a/src/pokeball.c b/src/pokeball.c index 793609ec28..d473f9ba06 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -95,10 +95,10 @@ const struct CompressedSpritePalette gBallSpritePalettes[POKEBALL_COUNT] = static const struct OamData sBallOamData = { .y = 0, - .affineMode = 3, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, @@ -1097,7 +1097,7 @@ static void sub_80765E0(struct Sprite *sprite) } } -u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h) +u8 CreateTradePokeballSprite(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h) { u8 spriteId; diff --git a/src/pokeblock.c b/src/pokeblock.c index 0d8469132a..b9031e1730 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -1,9 +1,8 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #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" @@ -219,10 +219,10 @@ static const u8 sContestStatsMonData[] = {MON_DATA_COOL, MON_DATA_BEAUTY, MON_DA static const struct OamData sOamData_PokeblockCase = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -451,7 +451,7 @@ void OpenPokeblockCase(u8 caseId, void (*callback)(void)) sPokeblockMenu->pokeblockOptionsIds = sActionsWhenGivingToLady; sPokeblockMenu->optionsNo = ARRAY_COUNT(sActionsWhenGivingToLady); break; - default: + default: // PBLOCK_CASE_FIELD sPokeblockMenu->pokeblockOptionsIds = sActionsOnField; sPokeblockMenu->optionsNo = ARRAY_COUNT(sActionsOnField); break; @@ -462,7 +462,7 @@ void OpenPokeblockCase(u8 caseId, void (*callback)(void)) void OpenPokeblockCaseInBattle(void) { - OpenPokeblockCase(PBLOCK_CASE_BATTLE, SetCB2ToReshowScreenAfterMenu2); + OpenPokeblockCase(PBLOCK_CASE_BATTLE, CB2_SetUpReshowBattleScreenAfterMenu2); } void OpenPokeblockCaseOnFeeder(void) @@ -928,7 +928,7 @@ static void sub_8136470(struct Sprite *sprite) switch (sprite->data[0]) { case 0: - sprite->oam.affineMode = 1; + sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; sprite->affineAnims = sSpriteAffineAnimTable_85B26F0; InitSpriteAffineAnim(sprite); sprite->data[0] = 1; @@ -937,7 +937,7 @@ static void sub_8136470(struct Sprite *sprite) case 1: if (++sprite->data[1] > 11) { - sprite->oam.affineMode = 0; + sprite->oam.affineMode = ST_OAM_AFFINE_OFF; sprite->data[0] = 0; sprite->data[1] = 0; FreeOamMatrix(sprite->oam.matrixNum); @@ -960,7 +960,7 @@ static void Task_FreeDataAndExitPokeblockCase(u8 taskId) if (!gPaletteFade.active) { if (sPokeblockMenu->caseId == PBLOCK_CASE_FEEDER || sPokeblockMenu->caseId == PBLOCK_CASE_GIVE) - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; DestroyListMenuTask(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos); sub_8136418(); diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index 4ad15414dc..5edf14309a 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle.h" #include "bg.h" #include "data.h" @@ -459,10 +459,10 @@ static const union AffineAnimCmd *const sSpriteAffineAnimTable_85F066C[] = static const struct OamData sThrownPokeblockOamData = { .y = 0, - .affineMode = 3, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, @@ -833,7 +833,7 @@ static u8 CreateMonSprite(struct Pokemon* mon) if (!IsMonSpriteNotFlipped(species)) { gSprites[spriteId].affineAnims = sSpriteAffineAnimTable_MonNoFlip; - gSprites[spriteId].oam.affineMode = 3; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE; CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode); sPokeblockFeed->noMonFlip = FALSE; } @@ -869,7 +869,7 @@ static void sub_817A468(struct Sprite* sprite) static u8 CreatePokeblockCaseSpriteForFeeding(void) { u8 spriteId = CreatePokeblockCaseSprite(188, 100, 2); - gSprites[spriteId].oam.affineMode = 1; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteId].affineAnims = sSpriteAffineAnimTable_85F0664; gSprites[spriteId].callback = SpriteCallbackDummy; InitSpriteAffineAnim(&gSprites[spriteId]); @@ -879,7 +879,7 @@ static u8 CreatePokeblockCaseSpriteForFeeding(void) static void DoPokeblockCaseThrowEffect(u8 spriteId, bool8 a1) { FreeOamMatrix(gSprites[spriteId].oam.matrixNum); - gSprites[spriteId].oam.affineMode = 3; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE; if (!a1) gSprites[spriteId].affineAnims = sSpriteAffineAnimTable_85F0668; @@ -947,7 +947,7 @@ static void sub_817A634(void) sub_817A91C(); if (sNatureToMonPokeblockAnim[pokeblockFeed->nature][1] != 0) { - pokeblockFeed->monSpritePtr->oam.affineMode = 3; + pokeblockFeed->monSpritePtr->oam.affineMode = ST_OAM_AFFINE_DOUBLE; pokeblockFeed->monSpritePtr->oam.matrixNum = 0; pokeblockFeed->monSpritePtr->affineAnims = sSpriteAffineAnimTable_85F04FC; InitSpriteAffineAnim(pokeblockFeed->monSpritePtr); diff --git a/src/pokedex.c b/src/pokedex.c index c1787ef6a5..78c204d2d2 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -8,7 +8,7 @@ #include "graphics.h" #include "international_string_util.h" #include "main.h" -#include "alloc.h" +#include "malloc.h" #include "menu.h" #include "m4a.h" #include "overworld.h" @@ -52,7 +52,7 @@ struct UnknownStruct1 const struct PokedexOption *pokedexList; u8 unk4; u8 unk5; - u16 unk6; + u16 numOptions; }; struct UnknownStruct3 @@ -99,7 +99,7 @@ struct PokedexView u16 unk618; u16 seenCount; u16 ownCount; - u16 unk61E[4]; + u16 monSpriteIds[4]; u16 selectedMonSpriteId; u16 unk628; u16 unk62A; @@ -140,7 +140,7 @@ void sub_80BB78C(u8); void sub_80BB7D4(u8); void sub_80BBA28(u8); void sub_80BBA78(u8); -void sub_80BBBF4(u8); +void LoadPageOnceMonFinishedMoving(u8); void sub_80BBC74(u8); void sub_80BBD1C(u8); void sub_80BBDE8(u8); @@ -154,22 +154,22 @@ void sub_80BC3DC(u8); void sub_80BC47C(u8); bool8 sub_80BC514(u8); static void LoadPokedexBgPalette(u8); -void sub_80BC890(void); -void sub_80BC8D4(u8, u8); +static void FreeWindowAndBgBuffers(void); +static void CreatePokedexList(u8 dexMode, u8 sortMode); static void CreateMonDexNum(u16, u8, u8, u16); static void CreateCaughtBall(u16, u8, u8, u16); static u8 CreateMonName(u16, u8, u8); -void sub_80BD28C(u8, u8, u16); +static void ClearMonListEntry(u8 x, u8 y, u16 unused); static void CreateInitialPokemonSprites(u16, u16); bool8 sub_80BD404(u8, u8, u8); u16 sub_80BD69C(u16, u16); -void sub_80BD8D0(void); -bool8 sub_80BD930(void); -u8 sub_80BDA40(void); +static void UpdateSelectedMonSpriteId(void); +static bool8 UpdateSelectedMon(void); +static u8 ClearMonSprites(void); u16 GetPokemonSpriteToDisplay(u16); u32 sub_80BDACC(u16, s16, s16); static void CreateInterfaceSprites(u8); -void sub_80BE470(struct Sprite *sprite); +void MoveMonIntoPosition(struct Sprite *sprite); static void SpriteCB_Scrollbar(struct Sprite *sprite); void sub_80BE658(struct Sprite *sprite); void sub_80BE758(struct Sprite *sprite); @@ -177,42 +177,42 @@ void sub_80BE780(struct Sprite *sprite); void sub_80BE44C(struct Sprite *sprite); void sub_80BE834(struct Sprite *sprite); void sub_80BE4E0(struct Sprite *sprite); -u8 sub_80BE91C(struct PokedexListItem*, u8); +u8 SetupInfoScreen(struct PokedexListItem*, u8 monSpriteId); bool8 sub_80BE9C4(u8); u8 sub_80BE9F8(struct PokedexListItem*, u8); -void sub_80BEA24(u8); -void sub_80BEDF4(u8); -void sub_80BEFD0(u8); -void sub_80BF038(u8); -void sub_80BF070(u8); -void sub_80BF0AC(u8); -void sub_80BF1B4(u8); +void LoadInfoScreen(u8); +void ChangePokedexScreen(u8); +void LoadSelectedScreen(u8); +void BeginChangeInfoScreen(u8); +void BeginReturnToPokedex(u8); +void LoadAreaScreen(u8); +static void WaitForAreaScreenInput(u8 taskId); void sub_80BF1EC(u8); -void sub_80BF250(u8); +void LoadCryScreen(u8); void sub_80BF5CC(u8); void sub_80BF790(u8); void sub_80BF7FC(u8); -void sub_80BF82C(u8); +void LoadSizeScreen(u8); void sub_80BFBB0(u8); void sub_80BFC78(u8); void sub_80BFCDC(u16); void sub_80BFCF4(u16); void sub_80BFD0C(u8, u16); void sub_80BFD7C(u8, u16); -void sub_80BFE38(u8); +static void Task_DisplayNewMonData(u8); void sub_80C0088(u8); void blockset_load_palette_to_gpu(u8); void sub_80C01CC(struct Sprite *sprite); -void sub_80C020C(u32, u32, u32, u32); -void sub_80C0354(u16, u8, u8); -void sub_80C0460(u16 weight, u8 left, u8 top); -void sub_80C09B0(u16); +static void PrintMonInfo(u32 num, u32, u32 owned, u32 newEntry); +static void PrintMonHeight(u16 height, u8 left, u8 top); +static void PrintMonWeight(u16 weight, u8 left, u8 top); +static void ResetOtherVideoRegisters(u16); u8 sub_80C0B44(u8, u16, u8, u8); -void sub_80C0D30(u8, u16); +static void PrintFootprint(u8 windowId, u16 dexNum); u16 sub_80C0EF8(u16, s16, s16, s8); u16 sub_80C0E0C(u8, u16, u16, u16); -u8 sub_80C1258(); -void sub_80C12E0(u8); +u8 LoadSearchMenu(void); +void Task_LoadSearchMenu(u8); void sub_80C1570(u8); void sub_80C15B0(u8); void sub_80C16CC(u8); @@ -229,7 +229,7 @@ void sub_80C2064(u8, u8); void sub_80C20F8(u8); void sub_80C21D4(u8); void sub_80C2294(u8); -u8 sub_80C2318(u8, u8); +static u8 GetSearchModeSelection(u8 taskId, u8 option); void sub_80C23B8(u8); void sub_80C2594(u8); void sub_80C2618(const u8*); @@ -244,10 +244,10 @@ void sub_80C267C(void); static const struct OamData sOamData_855CFE4 = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, @@ -261,10 +261,10 @@ static const struct OamData sOamData_855CFE4 = static const struct OamData sOamData_855CFEC = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x8), .x = 0, .matrixNum = 0, @@ -278,10 +278,10 @@ static const struct OamData sOamData_855CFEC = static const struct OamData sOamData_855CFF4 = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, @@ -295,10 +295,10 @@ static const struct OamData sOamData_855CFF4 = static const struct OamData sOamData_855CFFC = { .y = 160, - .affineMode = 0, - .objMode = 2, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_WINDOW, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, @@ -312,10 +312,10 @@ static const struct OamData sOamData_855CFFC = static const struct OamData sOamData_855D004 = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, @@ -329,10 +329,10 @@ static const struct OamData sOamData_855D004 = static const struct OamData sOamData_855D00C = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x16), .x = 0, .matrixNum = 0, @@ -717,7 +717,7 @@ static const struct SpritePalette sInterfaceSpritePalette[] = static const u8 gUnknown_0855D28C[] = {0x4, 0x8, 0x10, 0x20, 0x20}; static const u8 gUnknown_0855D291[] = {0x8, 0x4, 0x2, 0x1, 0x1}; -static const struct BgTemplate gBgTemplates_0855D298[] = +static const struct BgTemplate sPokedex_BgTemplate[] = { { .bg = 0, @@ -782,7 +782,7 @@ ALIGNED(4) static const u8 gExpandedPlaceholder_PokedexDescription[] = _(""); static const u16 gUnknown_0856E610[] = INCBIN_U16("graphics/pokedex/black.gbapal"); -static const struct BgTemplate gUnknown_0856E630[] = +static const struct BgTemplate sInfoScreen_BgTemplate[] = { { .bg = 0, @@ -822,9 +822,14 @@ static const struct BgTemplate gUnknown_0856E630[] = } }; -static const struct WindowTemplate gUnknown_0856E640[] = +#define WIN_INFO 0 +#define WIN_FOOTPRINT 1 +#define WIN_CRY_WAVE 2 +#define WIN_VU_METER 3 + +static const struct WindowTemplate sInfoScreen_WindowTemplates[] = { - { + { // WIN_INFO .bg = 2, .tilemapLeft = 0, .tilemapTop = 0, @@ -833,7 +838,7 @@ static const struct WindowTemplate gUnknown_0856E640[] = .paletteNum = 0, .baseBlock = 0x0001, }, - { + { // WIN_FOOTPRINT .bg = 2, .tilemapLeft = 25, .tilemapTop = 8, @@ -842,7 +847,7 @@ static const struct WindowTemplate gUnknown_0856E640[] = .paletteNum = 15, .baseBlock = 0x0281, }, - { + { // WIN_CRY_WAVE .bg = 0, .tilemapLeft = 0, .tilemapTop = 12, @@ -851,7 +856,7 @@ static const struct WindowTemplate gUnknown_0856E640[] = .paletteNum = 8, .baseBlock = 0x0285, }, - { + { // WIN_VU_METER .bg = 2, .tilemapLeft = 18, .tilemapTop = 3, @@ -863,7 +868,7 @@ static const struct WindowTemplate gUnknown_0856E640[] = DUMMY_WIN_TEMPLATE }; -static const struct BgTemplate gUnknown_0856E668[] = +static const struct BgTemplate sNewEntryInfoScreen_BgTemplate[] = { { .bg = 2, @@ -885,9 +890,9 @@ static const struct BgTemplate gUnknown_0856E668[] = }, }; -static const struct WindowTemplate gUnknown_0856E670[] = +static const struct WindowTemplate sNewEntryInfoScreen_WindowTemplates[] = { - { + { // WIN_INFO .bg = 2, .tilemapLeft = 0, .tilemapTop = 0, @@ -896,7 +901,7 @@ static const struct WindowTemplate gUnknown_0856E670[] = .paletteNum = 0, .baseBlock = 0x0001, }, - { + { // WIN_FOOTPRINT .bg = 2, .tilemapLeft = 25, .tilemapTop = 8, @@ -929,19 +934,19 @@ static const u8 gUnknown_0856ED08[][4] = static const struct UnknownStruct3 gUnknown_0856ED30[] = { { - .text = gUnknown_085E87A5, + .text = gText_SearchForPkmnBasedOnParameters, .unk4 = 0, .unk5 = 0, .unk6 = 5, }, { - .text = gUnknown_085E87D6, + .text = gText_SwitchPokedexListings, .unk4 = 6, .unk5 = 0, .unk6 = 5, }, { - .text = gUnknown_085E87EF, + .text = gText_ReturnToPokedex, .unk4 = 12, .unk5 = 0, .unk6 = 5, @@ -951,7 +956,7 @@ static const struct UnknownStruct3 gUnknown_0856ED30[] = static const struct UnknownStruct4 gUnknown_0856ED48[] = { { - .text = gUnknown_085E8840, + .text = gText_ListByFirstLetter, .unk4 = 0, .unk5 = 2, .unk6 = 5, @@ -960,7 +965,7 @@ static const struct UnknownStruct4 gUnknown_0856ED48[] = .unk9 = 12, }, { - .text = gUnknown_085E887C, + .text = gText_ListByBodyColor, .unk4 = 0, .unk5 = 4, .unk6 = 5, @@ -969,7 +974,7 @@ static const struct UnknownStruct4 gUnknown_0856ED48[] = .unk9 = 12, }, { - .text = gUnknown_085E88A6, + .text = gText_ListByType, .unk4 = 0, .unk5 = 6, .unk6 = 5, @@ -978,7 +983,7 @@ static const struct UnknownStruct4 gUnknown_0856ED48[] = .unk9 = 6, }, { - .text = gUnknown_085E88A6, + .text = gText_ListByType, .unk4 = 0, .unk5 = 6, .unk6 = 5, @@ -987,7 +992,7 @@ static const struct UnknownStruct4 gUnknown_0856ED48[] = .unk9 = 6, }, { - .text = gUnknown_085E881F, + .text = gText_SelectPokedexListingMode, .unk4 = 0, .unk5 = 8, .unk6 = 5, @@ -996,7 +1001,7 @@ static const struct UnknownStruct4 gUnknown_0856ED48[] = .unk9 = 12, }, { - .text = gUnknown_085E8806, + .text = gText_SelectPokedexMode, .unk4 = 0, .unk5 = 10, .unk6 = 5, @@ -1005,7 +1010,7 @@ static const struct UnknownStruct4 gUnknown_0856ED48[] = .unk9 = 12, }, { - .text = gUnknown_085E88C8, + .text = gText_ExecuteSearchSwitch, .unk4 = 0, .unk5 = 12, .unk6 = 5, @@ -1131,9 +1136,34 @@ static const struct PokedexOption gDexSearchTypeOptions[] = {NULL, NULL}, }; -static const u8 gUnknown_0856EFAC[] = {0x00, 0x01}; -static const u8 gUnknown_0856EFAE[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05}; -static const u8 gDexSearchTypeIds[] = { + +#define SEARCH_NAME 0 +#define SEARCH_COLOR 1 +#define SEARCH_TYPE_1 2 +#define SEARCH_TYPE_2 3 +#define SEARCH_ORDER 4 +#define SEARCH_DEX_MODE 5 + +#define SORT_NUMERICAL 0 +#define SORT_ALPHABETICAL 1 +#define SORT_HEAVIEST 2 +#define SORT_LIGHTEST 3 +#define SORT_TALLEST 4 +#define SORT_SMALLEST 5 + +static const u8 sPokedexModes[] = {DEX_MODE_HOENN, DEX_MODE_NATIONAL}; +static const u8 sSortOptions[] = +{ + SORT_NUMERICAL, + SORT_ALPHABETICAL, + SORT_HEAVIEST, + SORT_LIGHTEST, + SORT_TALLEST, + SORT_SMALLEST, +}; + +static const u8 gDexSearchTypeIds[] = +{ TYPE_NONE, TYPE_NORMAL, TYPE_FIGHTING, @@ -1154,7 +1184,7 @@ static const u8 gDexSearchTypeIds[] = { TYPE_DARK, }; -static const struct UnknownStruct1 gUnknown_0856EFC8[] = +static const struct UnknownStruct1 sSearchOptions[] = { {gDexSearchAlphaOptions, 6, 7, 10}, {gDexSearchColorOptions, 8, 9, 11}, @@ -1164,7 +1194,7 @@ static const struct UnknownStruct1 gUnknown_0856EFC8[] = {gDexModeOptions, 2, 3, 2}, }; -static const struct BgTemplate gUnknown_0856EFF8[] = +static const struct BgTemplate sSearchMenu_BgTemplate[] = { { .bg = 0, @@ -1204,7 +1234,7 @@ static const struct BgTemplate gUnknown_0856EFF8[] = } }; -static const struct WindowTemplate gUnknown_0856F008[] = +static const struct WindowTemplate sSearchMenu_WindowTemplate[] = { { .bg = 2, @@ -1280,7 +1310,7 @@ static void ResetPokedexView(struct PokedexView *pokedexView) pokedexView->seenCount = 0; pokedexView->ownCount = 0; for (i = 0; i < 4; i++) - pokedexView->unk61E[i] = 0xFFFF; + pokedexView->monSpriteIds[i] = 0xFFFF; pokedexView->unk628 = 0; pokedexView->unk62A = 0; pokedexView->unk62C = 0; @@ -1318,7 +1348,7 @@ void CB2_Pokedex(void) case 0: default: SetVBlankCallback(NULL); - sub_80C09B0(0); + ResetOtherVideoRegisters(0); DmaFillLarge16(3, 0, (u8 *)VRAM, VRAM_SIZE, 0x1000); DmaClear32(3, OAM, OAM_SIZE); DmaClear16(3, PLTT, PLTT_SIZE); @@ -1347,13 +1377,13 @@ void CB2_Pokedex(void) sPokedexView->selectedScreen = 0; if (!IsNationalPokedexEnabled()) { - sPokedexView->seenCount = GetHoennPokedexCount(0); - sPokedexView->ownCount = GetHoennPokedexCount(1); + sPokedexView->seenCount = GetHoennPokedexCount(FLAG_GET_SEEN); + sPokedexView->ownCount = GetHoennPokedexCount(FLAG_GET_CAUGHT); } else { - sPokedexView->seenCount = GetNationalPokedexCount(0); - sPokedexView->ownCount = GetNationalPokedexCount(1); + sPokedexView->seenCount = GetNationalPokedexCount(FLAG_GET_SEEN); + sPokedexView->ownCount = GetNationalPokedexCount(FLAG_GET_CAUGHT); } sPokedexView->initialVOffset = 8; gMain.state++; @@ -1362,7 +1392,7 @@ void CB2_Pokedex(void) EnableInterrupts(1); SetVBlankCallback(sub_80BB370); SetMainCallback2(sub_80BB774); - sub_80BC8D4(sPokedexView->dexMode, sPokedexView->dexOrder); + CreatePokedexList(sPokedexView->dexMode, sPokedexView->dexOrder); m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x80); break; } @@ -1395,12 +1425,12 @@ void sub_80BB7D4(u8 taskId) { if ((gMain.newKeys & A_BUTTON) && sPokedexView->pokedexList[sPokedexView->selectedPokemon].seen) { - sub_80BD8D0(); + UpdateSelectedMonSpriteId(); BeginNormalPaletteFade(~(1 << (gSprites[sPokedexView->selectedMonSpriteId].oam.paletteNum + 16)), 0, 0, 0x10, RGB_BLACK); - gSprites[sPokedexView->selectedMonSpriteId].callback = sub_80BE470; - gTasks[taskId].func = sub_80BBBF4; + gSprites[sPokedexView->selectedMonSpriteId].callback = MoveMonIntoPosition; + gTasks[taskId].func = LoadPageOnceMonFinishedMoving; PlaySE(SE_PIN); - sub_80BC890(); + FreeWindowAndBgBuffers(); } else if (gMain.newKeys & START_BUTTON) { @@ -1415,7 +1445,7 @@ void sub_80BB7D4(u8 taskId) { PlaySE(SE_SELECT); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); - gTasks[taskId].data[0] = sub_80C1258(); + gTasks[taskId].data[0] = LoadSearchMenu(); sPokedexView->unk64E = 0; sPokedexView->unk62A = sPokedexView->unk62C; sPokedexView->unk610 = sPokedexView->selectedPokemon; @@ -1423,7 +1453,7 @@ void sub_80BB7D4(u8 taskId) sPokedexView->unk618 = sPokedexView->dexOrder; gTasks[taskId].func = sub_80BBD1C; PlaySE(SE_PC_LOGIN); - sub_80BC890(); + FreeWindowAndBgBuffers(); } else if (gMain.newKeys & B_BUTTON) { @@ -1469,14 +1499,14 @@ void sub_80BBA78(u8 taskId) case 1: //LIST TOP sPokedexView->selectedPokemon = 0; sPokedexView->unk62C = 0x40; - sub_80BDA40(); + ClearMonSprites(); CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE); gMain.newKeys |= START_BUTTON; //Exit menu break; case 2: //LIST BOTTOM sPokedexView->selectedPokemon = sPokedexView->pokemonListCount - 1; sPokedexView->unk62C = sPokedexView->pokemonListCount * 16 + 0x30; - sub_80BDA40(); + ClearMonSprites(); CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE); gMain.newKeys |= START_BUTTON; //Exit menu break; @@ -1508,12 +1538,12 @@ void sub_80BBA78(u8 taskId) } } -void sub_80BBBF4(u8 taskId) +void LoadPageOnceMonFinishedMoving(u8 taskId) { if (gSprites[sPokedexView->selectedMonSpriteId].pos1.x == 48 && gSprites[sPokedexView->selectedMonSpriteId].pos1.y == 56) { sPokedexView->unk64B = sPokedexView->unk64A; - gTasks[taskId].data[0] = sub_80BE91C(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], sPokedexView->selectedMonSpriteId); + gTasks[taskId].data[0] = SetupInfoScreen(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], sPokedexView->selectedMonSpriteId); gTasks[taskId].func = sub_80BBC74; } } @@ -1522,7 +1552,7 @@ void sub_80BBC74(u8 taskId) { if (gTasks[gTasks[taskId].data[0]].isActive) { - if (sPokedexView->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && sub_80BD930()) + if (sPokedexView->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && UpdateSelectedMon()) sub_80BE9F8(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], gTasks[taskId].data[0]); } else @@ -1537,7 +1567,7 @@ void sub_80BBD1C(u8 taskId) { if (!gTasks[gTasks[taskId].data[0]].isActive) { - sub_80BDA40(); + ClearMonSprites(); if (sPokedexView->unk64E != 0) { sPokedexView->selectedPokemon = 0; @@ -1565,8 +1595,8 @@ void sub_80BBDE8(u8 taskId) if (!IsNationalPokedexEnabled()) gSaveBlock2Ptr->pokedex.mode = DEX_MODE_HOENN; gSaveBlock2Ptr->pokedex.order = sPokedexView->dexOrder; - sub_80BDA40(); - sub_80BC890(); + ClearMonSprites(); + FreeWindowAndBgBuffers(); DestroyTask(taskId); SetMainCallback2(CB2_ReturnToFieldWithOpenMenu); m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); @@ -1595,13 +1625,13 @@ void sub_80BBEB8(u8 taskId) { u32 a; - sub_80BD8D0(); + UpdateSelectedMonSpriteId(); a = (1 << (gSprites[sPokedexView->selectedMonSpriteId].oam.paletteNum + 16)); - gSprites[sPokedexView->selectedMonSpriteId].callback = sub_80BE470; + gSprites[sPokedexView->selectedMonSpriteId].callback = MoveMonIntoPosition; BeginNormalPaletteFade(~a, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = sub_80BC2D4; PlaySE(SE_PIN); - sub_80BC890(); + FreeWindowAndBgBuffers(); } else if (gMain.newKeys & START_BUTTON) { @@ -1614,11 +1644,11 @@ void sub_80BBEB8(u8 taskId) else if (gMain.newKeys & SELECT_BUTTON) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); - gTasks[taskId].data[0] = sub_80C1258(); + gTasks[taskId].data[0] = LoadSearchMenu(); sPokedexView->unk64E = 0; gTasks[taskId].func = sub_80BBD1C; PlaySE(SE_PC_LOGIN); - sub_80BC890(); + FreeWindowAndBgBuffers(); } else if (gMain.newKeys & B_BUTTON) { @@ -1663,14 +1693,14 @@ static void HandleButtonPress_StartMenu(u8 taskId) case 1: //LIST TOP sPokedexView->selectedPokemon = 0; sPokedexView->unk62C = 0x40; - sub_80BDA40(); + ClearMonSprites(); CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE); gMain.newKeys |= START_BUTTON; break; case 2: //LIST BOTTOM sPokedexView->selectedPokemon = sPokedexView->pokemonListCount - 1; sPokedexView->unk62C = sPokedexView->pokemonListCount * 16 + 0x30; - sub_80BDA40(); + ClearMonSprites(); CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE); gMain.newKeys |= START_BUTTON; break; @@ -1712,7 +1742,7 @@ void sub_80BC2D4(u8 taskId) if (gSprites[sPokedexView->selectedMonSpriteId].pos1.x == 48 && gSprites[sPokedexView->selectedMonSpriteId].pos1.y == 56) { sPokedexView->unk64B = sPokedexView->unk64A; - gTasks[taskId].data[0] = sub_80BE91C(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], sPokedexView->selectedMonSpriteId); + gTasks[taskId].data[0] = SetupInfoScreen(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], sPokedexView->selectedMonSpriteId); sPokedexView->selectedMonSpriteId = -1; gTasks[taskId].func = sub_80BC360; } @@ -1722,7 +1752,7 @@ void sub_80BC360(u8 taskId) { if (gTasks[gTasks[taskId].data[0]].isActive) { - if (sPokedexView->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && sub_80BD930()) + if (sPokedexView->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && UpdateSelectedMon()) sub_80BE9F8(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], gTasks[taskId].data[0]); } else @@ -1742,8 +1772,8 @@ void sub_80BC3DC(u8 taskId) sPokedexView->dexMode = DEX_MODE_HOENN; sPokedexView->dexOrder = sPokedexView->unk618; gTasks[taskId].func = sub_80BB78C; - sub_80BDA40(); - sub_80BC890(); + ClearMonSprites(); + FreeWindowAndBgBuffers(); } } @@ -1771,10 +1801,10 @@ bool8 sub_80BC514(u8 a) return 0; SetVBlankCallback(NULL); sPokedexView->unk64A = a; - sub_80C09B0(0); + ResetOtherVideoRegisters(0); SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gBgTemplates_0855D298, 4); + InitBgsFromTemplates(0, sPokedex_BgTemplate, 4); SetBgTilemapBuffer(3, AllocZeroed(0x800)); SetBgTilemapBuffer(2, AllocZeroed(0x800)); SetBgTilemapBuffer(1, AllocZeroed(0x800)); @@ -1812,7 +1842,7 @@ bool8 sub_80BC514(u8 a) break; case 3: if (a == 0) - sub_80BC8D4(sPokedexView->dexMode, sPokedexView->dexOrder); + CreatePokedexList(sPokedexView->dexMode, sPokedexView->dexOrder); CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE); sPokedexView->menuIsOpen = 0; sPokedexView->menuY = 0; @@ -1866,7 +1896,7 @@ static void LoadPokedexBgPalette(u8 a) LoadPalette(GetOverworldTextboxPalettePtr(), 0xF0, 32); } -void sub_80BC890(void) +static void FreeWindowAndBgBuffers(void) { void* tilemapBuffer; @@ -1885,7 +1915,7 @@ void sub_80BC890(void) Free(tilemapBuffer); } -void sub_80BC8D4(u8 dexMode, u8 sortMode) +static void CreatePokedexList(u8 dexMode, u8 sortMode) { u16 vars[3]; //I have no idea why three regular variables are stored in an array, but whatever. #define temp_dexCount vars[0] @@ -1918,7 +1948,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode) switch (sortMode) { - case 0: + case SORT_NUMERICAL: if (temp_isHoennDex) { for (i = 0; i < temp_dexCount; i++) @@ -1955,7 +1985,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode) } } break; - case 1: + case SORT_ALPHABETICAL: for (i = 0; i < POKEMON_SLOTS_NUMBER - 1; i++) { temp_dexNum = gPokedexOrder_Alphabetical[i]; @@ -1969,7 +1999,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode) } } break; - case 2: + case SORT_HEAVIEST: for (i = NATIONAL_DEX_COUNT - 1; i >= 0; i--) { temp_dexNum = gPokedexOrder_Weight[i]; @@ -1983,7 +2013,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode) } } break; - case 3: + case SORT_LIGHTEST: for (i = 0; i < NATIONAL_DEX_COUNT; i++) { temp_dexNum = gPokedexOrder_Weight[i]; @@ -1997,7 +2027,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode) } } break; - case 4: + case SORT_TALLEST: for (i = NATIONAL_DEX_COUNT - 1; i >= 0; i--) { temp_dexNum = gPokedexOrder_Height[i]; @@ -2011,7 +2041,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode) } } break; - case 5: + case SORT_SMALLEST: for (i = 0; i < NATIONAL_DEX_COUNT; i++) { temp_dexNum = gPokedexOrder_Height[i]; @@ -2060,11 +2090,11 @@ static void CreateMonListEntry(u8 direction, u16 b, u16 c) { if (_b < 0 || _b >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[_b].dexNum == 0xFFFF) { - sub_80BD28C(0x11, i * 2, c); + ClearMonListEntry(0x11, i * 2, c); } else { - sub_80BD28C(0x11, i * 2, c); + ClearMonListEntry(0x11, i * 2, c); if (sPokedexView->pokedexList[_b].seen) { CreateMonDexNum(_b, 0x12, i * 2, c); @@ -2085,11 +2115,11 @@ static void CreateMonListEntry(u8 direction, u16 b, u16 c) _b = b - 5; if (_b < 0 || _b >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[_b].dexNum == 0xFFFF) { - sub_80BD28C(0x11, sPokedexView->unk630 * 2, c); + ClearMonListEntry(0x11, sPokedexView->unk630 * 2, c); } else { - sub_80BD28C(0x11, sPokedexView->unk630 * 2, c); + ClearMonListEntry(0x11, sPokedexView->unk630 * 2, c); if (sPokedexView->pokedexList[_b].seen) { CreateMonDexNum(_b, 0x12, sPokedexView->unk630 * 2, c); @@ -2110,10 +2140,10 @@ static void CreateMonListEntry(u8 direction, u16 b, u16 c) if (r2 > 15) r2 -= 16; if (_b < 0 || _b >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[_b].dexNum == 0xFFFF) - sub_80BD28C(0x11, r2 * 2, c); + ClearMonListEntry(0x11, r2 * 2, c); else { - sub_80BD28C(0x11, r2 * 2, c); + ClearMonListEntry(0x11, r2 * 2, c); if (sPokedexView->pokedexList[_b].seen) { CreateMonDexNum(_b, 0x12, r2 * 2, c); @@ -2168,7 +2198,7 @@ static u8 CreateMonName(u16 num, u8 left, u8 top) return StringLength(str); } -void sub_80BD28C(u8 x, u8 y, u16 unused) +static void ClearMonListEntry(u8 x, u8 y, u16 unused) { FillWindowPixelRect(0, PIXEL_FILL(0), x * 8, y * 8, 0x60, 16); } @@ -2182,7 +2212,7 @@ static void CreateInitialPokemonSprites(u16 selectedMon, u16 b) gPaletteFade.bufferTransferDisabled = TRUE; for (i = 0; i < 4; i++) - sPokedexView->unk61E[i] = 0xFFFF; + sPokedexView->monSpriteIds[i] = 0xFFFF; sPokedexView->selectedMonSpriteId = 0xFFFF; unk = GetPokemonSpriteToDisplay(selectedMon - 1); @@ -2231,8 +2261,8 @@ bool8 sub_80BD404(u8 a, u8 b, u8 c) case 1: for (i = 0; i < 4; i++) { - if (sPokedexView->unk61E[i] != 0xFFFF) - gSprites[sPokedexView->unk61E[i]].data[5] += b; + if (sPokedexView->monSpriteIds[i] != 0xFFFF) + gSprites[sPokedexView->monSpriteIds[i]].data[5] += b; } foo = 16 * (c - sPokedexView->unk62E) / c; SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset + sPokedexView->unk632 * 16 - foo); @@ -2241,8 +2271,8 @@ bool8 sub_80BD404(u8 a, u8 b, u8 c) case 2: for (i = 0; i < 4; i++) { - if (sPokedexView->unk61E[i] != 0xFFFF) - gSprites[sPokedexView->unk61E[i]].data[5] -= b; + if (sPokedexView->monSpriteIds[i] != 0xFFFF) + gSprites[sPokedexView->monSpriteIds[i]].data[5] -= b; } foo = 16 * (c - sPokedexView->unk62E) / c; SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset + sPokedexView->unk632 * 16 + foo); @@ -2326,7 +2356,7 @@ u16 sub_80BD69C(u16 selectedMon, u16 b) for (i = 0; i < 7; i++) selectedMon = sub_80C0E0C(1, selectedMon, 0, sPokedexView->pokemonListCount - 1); sPokedexView->unk62C += 16 * (selectedMon - r6); - sub_80BDA40(); + ClearMonSprites(); CreateInitialPokemonSprites(selectedMon, 0xE); PlaySE(SE_Z_PAGE); } @@ -2336,7 +2366,7 @@ u16 sub_80BD69C(u16 selectedMon, u16 b) for (i = 0; i < 7; i++) selectedMon = sub_80C0E0C(0, selectedMon, 0, sPokedexView->pokemonListCount - 1); sPokedexView->unk62C += (selectedMon - r6) * 16; - sub_80BDA40(); + ClearMonSprites(); CreateInitialPokemonSprites(selectedMon, 0xE); PlaySE(SE_Z_PAGE); } @@ -2360,20 +2390,20 @@ u16 sub_80BD69C(u16 selectedMon, u16 b) return selectedMon; } -void sub_80BD8D0(void) +static void UpdateSelectedMonSpriteId(void) { u16 i; for (i = 0; i < 4; i++) { - u16 spriteId = sPokedexView->unk61E[i]; + u16 spriteId = sPokedexView->monSpriteIds[i]; if (gSprites[spriteId].pos2.x == 0 && gSprites[spriteId].pos2.y == 0 && spriteId != 0xFFFF) sPokedexView->selectedMonSpriteId = spriteId; } } -u8 sub_80BD930(void) +static bool8 UpdateSelectedMon(void) { u16 r2; u16 r4 = sPokedexView->selectedPokemon; @@ -2427,16 +2457,16 @@ u8 sub_80BD930(void) return FALSE; } -u8 sub_80BDA40(void) +static u8 ClearMonSprites(void) { u16 i; for (i = 0; i < 4; i++) { - if (sPokedexView->unk61E[i] != 0xFFFF) + if (sPokedexView->monSpriteIds[i] != 0xFFFF) { - FreeAndDestroyMonPicSprite(sPokedexView->unk61E[i]); - sPokedexView->unk61E[i] = 0xFFFF; + FreeAndDestroyMonPicSprite(sPokedexView->monSpriteIds[i]); + sPokedexView->monSpriteIds[i] = 0xFFFF; } } return FALSE; @@ -2458,16 +2488,16 @@ u32 sub_80BDACC(u16 num, s16 x, s16 y) for (i = 0; i < 4; i++) { - if (sPokedexView->unk61E[i] == 0xFFFF) + if (sPokedexView->monSpriteIds[i] == 0xFFFF) { u8 spriteId = CreateMonSpriteFromNationalDexNumber(num, x, y, i); - gSprites[spriteId].oam.affineMode = 1; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteId].oam.priority = 3; gSprites[spriteId].data[0] = 0; gSprites[spriteId].data[1] = i; gSprites[spriteId].data[2] = NationalPokedexNumToSpecies(num); - sPokedexView->unk61E[i] = spriteId; + sPokedexView->monSpriteIds[i] = spriteId; return spriteId; } } @@ -2501,13 +2531,13 @@ static void CreateInterfaceSprites(u8 a) StartSpriteAnim(&gSprites[spriteId], 1); spriteId = CreateSprite(&sRotatingPokeballSpriteTemplate, 0, 80, 2); - gSprites[spriteId].oam.affineMode = 1; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteId].oam.matrixNum = 30; gSprites[spriteId].data[0] = 0x1E; gSprites[spriteId].data[1] = 0; spriteId = CreateSprite(&sRotatingPokeballSpriteTemplate, 0, 80, 2); - gSprites[spriteId].oam.affineMode = 1; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteId].oam.matrixNum = 31; gSprites[spriteId].data[0] = 0x1F; gSprites[spriteId].data[1] = 0x80; @@ -2583,7 +2613,7 @@ static void CreateInterfaceSprites(u8 a) spriteId = CreateSprite(&gUnknown_0855D20C, 17, 91, 1); StartSpriteAnim(&gSprites[spriteId], 1); - r6 = GetHoennPokedexCount(0); + r6 = GetHoennPokedexCount(FLAG_GET_SEEN); _a = 0; spriteId = CreateSprite(&gUnknown_0855D23C, 40, 45, 1); @@ -2626,7 +2656,7 @@ static void CreateInterfaceSprites(u8 a) r5 = (sPokedexView->seenCount % 100) % 10; StartSpriteAnim(&gSprites[spriteId], r5); - r6 = GetHoennPokedexCount(1); + r6 = GetHoennPokedexCount(FLAG_GET_CAUGHT); _a = 0; spriteId = CreateSprite(&gUnknown_0855D23C, 40, 81, 1); @@ -2690,10 +2720,10 @@ void sub_80BE44C(struct Sprite *sprite) } //Move Pokemon into position for description page -void sub_80BE470(struct Sprite *sprite) +void MoveMonIntoPosition(struct Sprite *sprite) { sprite->oam.priority = 0; - sprite->oam.affineMode = 0; + sprite->oam.affineMode = ST_OAM_AFFINE_OFF; sprite->pos2.x = 0; sprite->pos2.y = 0; if (sprite->pos1.x != 48 || sprite->pos1.y != 56) @@ -2720,8 +2750,8 @@ void sub_80BE4E0(struct Sprite *sprite) if (sPokedexView->unk64A != 0 && sPokedexView->unk64A != 3) { - FreeAndDestroyMonPicSprite(sPokedexView->unk61E[data1]); - sPokedexView->unk61E[data1] = 0xFFFF; + FreeAndDestroyMonPicSprite(sPokedexView->monSpriteIds[data1]); + sPokedexView->monSpriteIds[data1] = 0xFFFF; } else { @@ -2746,8 +2776,8 @@ void sub_80BE4E0(struct Sprite *sprite) if ((sprite->data[5] <= -64 || sprite->data[5] >= 64) && sprite->data[0] != 0) { - FreeAndDestroyMonPicSprite(sPokedexView->unk61E[data1]); - sPokedexView->unk61E[data1] = 0xFFFF; + FreeAndDestroyMonPicSprite(sPokedexView->monSpriteIds[data1]); + sPokedexView->monSpriteIds[data1] = 0xFFFF; } } } @@ -2850,7 +2880,7 @@ void sub_80BE834(struct Sprite *sprite) } } -void sub_80BE8DC(const u8* str, u8 left, u8 top) +static void PrintInfoPageText(const u8* str, u8 left, u8 top) { u8 color[3]; color[0] = 0; @@ -2860,25 +2890,27 @@ void sub_80BE8DC(const u8* str, u8 left, u8 top) AddTextPrinterParameterized4(0, 1, left, top, 0, 0, color, -1, str); } -u8 sub_80BE91C(struct PokedexListItem* item, u8 b) +#define tMonSpriteId data[4] + +u8 SetupInfoScreen(struct PokedexListItem* item, u8 monSpriteId) { u8 taskId; sPokedexListItem = item; - taskId = CreateTask(sub_80BEA24, 0); + taskId = CreateTask(LoadInfoScreen, 0); gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = 1; gTasks[taskId].data[2] = 0; gTasks[taskId].data[3] = 0; - gTasks[taskId].data[4] = b; + gTasks[taskId].tMonSpriteId = monSpriteId; gTasks[taskId].data[5] = 255; ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_0856E630, 4); + InitBgsFromTemplates(0, sInfoScreen_BgTemplate, 4); SetBgTilemapBuffer(3, AllocZeroed(0x800)); SetBgTilemapBuffer(2, AllocZeroed(0x800)); SetBgTilemapBuffer(1, AllocZeroed(0x800)); SetBgTilemapBuffer(0, AllocZeroed(0x800)); - InitWindows(gUnknown_0856E640); + InitWindows(sInfoScreen_WindowTemplates); DeactivateAllTextPrinters(); return taskId; @@ -2886,7 +2918,7 @@ u8 sub_80BE91C(struct PokedexListItem* item, u8 b) bool8 sub_80BE9C4(u8 taskId) { - if (gTasks[taskId].data[0] == 0 && gTasks[taskId].func == sub_80BEDF4) + if (gTasks[taskId].data[0] == 0 && gTasks[taskId].func == ChangePokedexScreen) return FALSE; else return TRUE; @@ -2902,7 +2934,7 @@ u8 sub_80BE9F8(struct PokedexListItem *item, u8 b) return b; } -void sub_80BEA24(u8 taskId) +void LoadInfoScreen(u8 taskId) { switch (gMain.state) { @@ -2917,21 +2949,21 @@ void sub_80BEA24(u8 taskId) SetVBlankCallback(NULL); r2 = 0; if (gTasks[taskId].data[1] != 0) - r2 += 0x1000; + r2 += DISPCNT_OBJ_ON; if (gTasks[taskId].data[2] != 0) - r2 |= 0x200; - sub_80C09B0(r2); + r2 |= DISPCNT_BG1_ON; + ResetOtherVideoRegisters(r2); gMain.state = 1; } break; case 1: DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0); CopyToBgTilemapBuffer(3, gPokedexTilemap_DescriptionScreen, 0, 0); - FillWindowPixelBuffer(0, PIXEL_FILL(0)); - PutWindowTilemap(0); - PutWindowTilemap(1); - sub_80C0D30(1, sPokedexListItem->dexNum); - CopyWindowToVram(1, 2); + FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0)); + PutWindowTilemap(WIN_INFO); + PutWindowTilemap(WIN_FOOTPRINT); + PrintFootprint(WIN_FOOTPRINT, sPokedexListItem->dexNum); + CopyWindowToVram(WIN_FOOTPRINT, 2); gMain.state++; break; case 2: @@ -2944,10 +2976,10 @@ void sub_80BEA24(u8 taskId) gMain.state++; break; case 4: - sub_80C020C(sPokedexListItem->dexNum, sPokedexView->dexMode == 0 ? 0 : 1, sPokedexListItem->owned, 0); + PrintMonInfo(sPokedexListItem->dexNum, sPokedexView->dexMode == 0 ? 0 : 1, sPokedexListItem->owned, 0); if (!sPokedexListItem->owned) LoadPalette(gPlttBufferUnfaded + 1, 0x31, 0x1E); - CopyWindowToVram(0, 3); + CopyWindowToVram(WIN_INFO, 3); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); CopyBgTilemapBufferToVram(3); @@ -2956,20 +2988,20 @@ void sub_80BEA24(u8 taskId) case 5: if (gTasks[taskId].data[1] == 0) { - gTasks[taskId].data[4] = (u16)CreateMonSpriteFromNationalDexNumber(sPokedexListItem->dexNum, 48, 56, 0); - gSprites[gTasks[taskId].data[4]].oam.priority = 0; + gTasks[taskId].tMonSpriteId = (u16)CreateMonSpriteFromNationalDexNumber(sPokedexListItem->dexNum, 48, 56, 0); + gSprites[gTasks[taskId].tMonSpriteId].oam.priority = 0; } gMain.state++; break; case 6: { - u32 r3 = 0; + u32 preservedPalettes = 0; if (gTasks[taskId].data[2] != 0) - r3 = 0x14; + preservedPalettes = 0x14; // each bit represents a palette index if (gTasks[taskId].data[1] != 0) - r3 |= (1 << (gSprites[gTasks[taskId].data[4]].oam.paletteNum + 16)); - BeginNormalPaletteFade(~r3, 0, 16, 0, RGB_BLACK); + preservedPalettes |= (1 << (gSprites[gTasks[taskId].tMonSpriteId].oam.paletteNum + 16)); + BeginNormalPaletteFade(~preservedPalettes, 0, 16, 0, RGB_BLACK); SetVBlankCallback(gUnknown_030060B4); gMain.state++; } @@ -3009,13 +3041,13 @@ void sub_80BEA24(u8 taskId) gTasks[taskId].data[1] = 0; gTasks[taskId].data[2] = 1; gTasks[taskId].data[3] = 1; - gTasks[taskId].func = sub_80BEDF4; + gTasks[taskId].func = ChangePokedexScreen; gMain.state = 0; break; } } -void sub_80BEDB0(void) +static void FreeWindowAndBgBuffers_(void) { void *r0; FreeAllWindowBuffers(); @@ -3033,19 +3065,19 @@ void sub_80BEDB0(void) Free(r0); } -void sub_80BEDF4(u8 taskId) +void ChangePokedexScreen(u8 taskId) { if (gTasks[taskId].data[0] != 0) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gTasks[taskId].func = sub_80BF038; + gTasks[taskId].func = BeginChangeInfoScreen; PlaySE(SE_Z_SCROLL); return; } if (gMain.newKeys & B_BUTTON) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gTasks[taskId].func = sub_80BF070; + gTasks[taskId].func = BeginReturnToPokedex; PlaySE(SE_PC_OFF); return; } @@ -3056,13 +3088,13 @@ void sub_80BEDF4(u8 taskId) case AREA_SCREEN: BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB_BLACK); sPokedexView->unk64E = 1; - gTasks[taskId].func = sub_80BEFD0; + gTasks[taskId].func = LoadSelectedScreen; PlaySE(SE_PIN); break; case CRY_SCREEN: BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK); sPokedexView->unk64E = 2; - gTasks[taskId].func = sub_80BEFD0; + gTasks[taskId].func = LoadSelectedScreen; PlaySE(SE_PIN); break; case SIZE_SCREEN: @@ -3074,13 +3106,13 @@ void sub_80BEDF4(u8 taskId) { BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK); sPokedexView->unk64E = 3; - gTasks[taskId].func = sub_80BEFD0; + gTasks[taskId].func = LoadSelectedScreen; PlaySE(SE_PIN); } break; case CANCEL_SCREEN: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); - gTasks[taskId].func = sub_80BF070; + gTasks[taskId].func = BeginReturnToPokedex; PlaySE(SE_PC_OFF); break; } @@ -3106,47 +3138,47 @@ void sub_80BEDF4(u8 taskId) } } -void sub_80BEFD0(u8 taskId) +void LoadSelectedScreen(u8 taskId) { if (!gPaletteFade.active) { - FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]); + FreeAndDestroyMonPicSprite(gTasks[taskId].tMonSpriteId); switch (sPokedexView->unk64E) { case 1: default: - gTasks[taskId].func = sub_80BF0AC; + gTasks[taskId].func = LoadAreaScreen; break; case 2: - gTasks[taskId].func = sub_80BF250; + gTasks[taskId].func = LoadCryScreen; break; case 3: - gTasks[taskId].func = sub_80BF82C; + gTasks[taskId].func = LoadSizeScreen; break; } } } -void sub_80BF038(u8 taskId) +void BeginChangeInfoScreen(u8 taskId) { if (!gPaletteFade.active) { - FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]); - gTasks[taskId].func = sub_80BEA24; + FreeAndDestroyMonPicSprite(gTasks[taskId].tMonSpriteId); + gTasks[taskId].func = LoadInfoScreen; } } -void sub_80BF070(u8 taskId) +void BeginReturnToPokedex(u8 taskId) { if (!gPaletteFade.active) { - FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]); - sub_80BEDB0(); + FreeAndDestroyMonPicSprite(gTasks[taskId].tMonSpriteId); + FreeWindowAndBgBuffers_(); DestroyTask(taskId); } } -void sub_80BF0AC(u8 taskId) +void LoadAreaScreen(u8 taskId) { switch (gMain.state) { @@ -3157,7 +3189,7 @@ void sub_80BF0AC(u8 taskId) sPokedexView->unk64A = 5; gUnknown_030060B4 = gMain.vblankCallback; SetVBlankCallback(NULL); - sub_80C09B0(0x200); + ResetOtherVideoRegisters(DISPCNT_BG1_ON); sPokedexView->selectedScreen = AREA_SCREEN; gMain.state = 1; } @@ -3174,13 +3206,14 @@ void sub_80BF0AC(u8 taskId) SetVBlankCallback(gUnknown_030060B4); sPokedexView->unk64E = 0; gMain.state = 0; - gTasks[taskId].func = sub_80BF1B4; + gTasks[taskId].func = WaitForAreaScreenInput; break; } } -void sub_80BF1B4(u8 taskId) +static void WaitForAreaScreenInput(u8 taskId) { +// See Task_PokedexAreaScreen_1() in pokedex_area_screen.c if (sPokedexView->unk64E != 0) gTasks[taskId].func = sub_80BF1EC; } @@ -3193,16 +3226,16 @@ void sub_80BF1EC(u8 taskId) { case 1: default: - gTasks[taskId].func = sub_80BEA24; + gTasks[taskId].func = LoadInfoScreen; break; case 2: - gTasks[taskId].func = sub_80BF250; + gTasks[taskId].func = LoadCryScreen; break; } } } -void sub_80BF250(u8 taskId) +void LoadCryScreen(u8 taskId) { switch (gMain.state) { @@ -3214,7 +3247,7 @@ void sub_80BF250(u8 taskId) sPokedexView->unk64A = 6; gUnknown_030060B4 = gMain.vblankCallback; SetVBlankCallback(NULL); - sub_80C09B0(0x200); + ResetOtherVideoRegisters(DISPCNT_BG1_ON); sPokedexView->selectedScreen = CRY_SCREEN; gMain.state = 1; } @@ -3222,10 +3255,10 @@ void sub_80BF250(u8 taskId) case 1: DecompressAndLoadBgGfxUsingHeap(3, &gPokedexMenu_Gfx, 0x2000, 0, 0); CopyToBgTilemapBuffer(3, &gPokedexTilemap_CryScreen, 0, 0); - FillWindowPixelBuffer(0, PIXEL_FILL(0)); - PutWindowTilemap(0); - PutWindowTilemap(3); - PutWindowTilemap(2); + FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0)); + PutWindowTilemap(WIN_INFO); + PutWindowTilemap(WIN_VU_METER); + PutWindowTilemap(WIN_CRY_WAVE); gMain.state++; break; case 2: @@ -3239,13 +3272,13 @@ void sub_80BF250(u8 taskId) gMain.state++; break; case 4: - sub_80BE8DC(gText_CryOf, 0x52, 33); + PrintInfoPageText(gText_CryOf, 0x52, 33); sub_80C0B44(0, sPokedexListItem->dexNum, 0x52, 49); gMain.state++; break; case 5: - gTasks[taskId].data[4] = CreateMonSpriteFromNationalDexNumber(sPokedexListItem->dexNum, 48, 56, 0); - gSprites[gTasks[taskId].data[4]].oam.priority = 0; + gTasks[taskId].tMonSpriteId = CreateMonSpriteFromNationalDexNumber(sPokedexListItem->dexNum, 48, 56, 0); + gSprites[gTasks[taskId].tMonSpriteId].oam.priority = 0; gDexCryScreenState = 0; gMain.state++; break; @@ -3274,8 +3307,8 @@ void sub_80BF250(u8 taskId) spC.yPos = 3; if (sub_8145850(&spC, 3) != 0) gMain.state++; - CopyWindowToVram(3, 2); - CopyWindowToVram(0, 3); + CopyWindowToVram(WIN_VU_METER, 2); + CopyWindowToVram(WIN_INFO, 3); CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); @@ -3367,18 +3400,18 @@ void sub_80BF790(u8 taskId) if (!gPaletteFade.active) { sub_8145914(); - FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]); + FreeAndDestroyMonPicSprite(gTasks[taskId].tMonSpriteId); switch (sPokedexView->unk64E) { default: case 1: - gTasks[taskId].func = sub_80BEA24; + gTasks[taskId].func = LoadInfoScreen; break; case 2: - gTasks[taskId].func = sub_80BF0AC; + gTasks[taskId].func = LoadAreaScreen; break; case 3: - gTasks[taskId].func = sub_80BF82C; + gTasks[taskId].func = LoadSizeScreen; break; } } @@ -3395,7 +3428,7 @@ void sub_80BF7FC(u8 a) LoadPalette(&unk, 0x5D, 2); } -void sub_80BF82C(u8 taskId) +void LoadSizeScreen(u8 taskId) { u8 spriteId; @@ -3408,7 +3441,7 @@ void sub_80BF82C(u8 taskId) sPokedexView->unk64A = 7; gUnknown_030060B4 = gMain.vblankCallback; SetVBlankCallback(NULL); - sub_80C09B0(0x200); + ResetOtherVideoRegisters(DISPCNT_BG1_ON); sPokedexView->selectedScreen = SIZE_SCREEN; gMain.state = 1; } @@ -3416,8 +3449,8 @@ void sub_80BF82C(u8 taskId) case 1: DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0); CopyToBgTilemapBuffer(3, gPokedexTilemap_SizeScreen, 0, 0); - FillWindowPixelBuffer(0, PIXEL_FILL(0)); - PutWindowTilemap(0); + FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0)); + PutWindowTilemap(WIN_INFO); gMain.state++; break; case 2: @@ -3432,7 +3465,7 @@ void sub_80BF82C(u8 taskId) StringCopy(string, gText_SizeComparedTo); StringAppend(string, gSaveBlock2Ptr->playerName); - sub_80BE8DC(string, GetStringCenterAlignXOffset(1, string, 0xF0), 0x79); + PrintInfoPageText(string, GetStringCenterAlignXOffset(1, string, 0xF0), 0x79); gMain.state++; } break; @@ -3442,7 +3475,7 @@ void sub_80BF82C(u8 taskId) break; case 5: spriteId = sub_80C0EF8(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), 152, 56, 0); - gSprites[spriteId].oam.affineMode = 1; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteId].oam.matrixNum = 1; gSprites[spriteId].oam.priority = 0; gSprites[spriteId].pos2.y = gPokedexEntries[sPokedexListItem->dexNum].trainerOffset; @@ -3453,14 +3486,14 @@ void sub_80BF82C(u8 taskId) break; case 6: spriteId = CreateMonSpriteFromNationalDexNumber(sPokedexListItem->dexNum, 88, 56, 1); - gSprites[spriteId].oam.affineMode = 1; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteId].oam.matrixNum = 2; gSprites[spriteId].oam.priority = 0; gSprites[spriteId].pos2.y = gPokedexEntries[sPokedexListItem->dexNum].pokemonOffset; SetOamMatrix(2, gPokedexEntries[sPokedexListItem->dexNum].pokemonScale, 0, 0, gPokedexEntries[sPokedexListItem->dexNum].pokemonScale); LoadPalette(gUnknown_0856E610, (gSprites[spriteId].oam.paletteNum + 16) * 16, 0x20); - gTasks[taskId].data[4] = spriteId; - CopyWindowToVram(0, 3); + gTasks[taskId].tMonSpriteId = spriteId; + CopyWindowToVram(WIN_INFO, 3); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); CopyBgTilemapBufferToVram(3); @@ -3516,16 +3549,16 @@ void sub_80BFC78(u8 taskId) { if (!gPaletteFade.active) { - FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]); + FreeAndDestroyMonPicSprite(gTasks[taskId].tMonSpriteId); FreeAndDestroyTrainerPicSprite(gTasks[taskId].data[5]); switch (sPokedexView->unk64E) { default: case 1: - gTasks[taskId].func = sub_80BEA24; + gTasks[taskId].func = LoadInfoScreen; break; case 2: - gTasks[taskId].func = sub_80BF250; + gTasks[taskId].func = LoadCryScreen; break; } } @@ -3729,7 +3762,7 @@ _080BFDB4:\n\ u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 b, u32 c) { - u8 taskId = CreateTask(sub_80BFE38, 0); + u8 taskId = CreateTask(Task_DisplayNewMonData, 0); gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = dexNum; @@ -3740,7 +3773,7 @@ u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 b, u32 c) return taskId; } -void sub_80BFE38(u8 taskId) +static void Task_DisplayNewMonData(u8 taskId) { u8 spriteId; u16 dexNum = gTasks[taskId].data[1]; @@ -3753,12 +3786,12 @@ void sub_80BFE38(u8 taskId) { gUnknown_030060B4 = gMain.vblankCallback; SetVBlankCallback(NULL); - sub_80C09B0(0x100); + ResetOtherVideoRegisters(DISPCNT_BG0_ON); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_0856E668, 2); + InitBgsFromTemplates(0, sNewEntryInfoScreen_BgTemplate, 2); SetBgTilemapBuffer(3, AllocZeroed(0x800)); SetBgTilemapBuffer(2, AllocZeroed(0x800)); - InitWindows(gUnknown_0856E670); + InitWindows(sNewEntryInfoScreen_WindowTemplates); DeactivateAllTextPrinters(); gTasks[taskId].data[0] = 1; } @@ -3766,11 +3799,11 @@ void sub_80BFE38(u8 taskId) case 1: DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0); CopyToBgTilemapBuffer(3, gPokedexTilemap_DescriptionScreen, 0, 0); - FillWindowPixelBuffer(0, PIXEL_FILL(0)); - PutWindowTilemap(0); - PutWindowTilemap(1); - sub_80C0D30(1, gTasks[taskId].data[1]); - CopyWindowToVram(1, 2); + FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0)); + PutWindowTilemap(WIN_INFO); + PutWindowTilemap(WIN_FOOTPRINT); + PrintFootprint(WIN_FOOTPRINT, gTasks[taskId].data[1]); + CopyWindowToVram(WIN_FOOTPRINT, 2); ResetPaletteFade(); LoadPokedexBgPalette(0); gTasks[taskId].data[0]++; @@ -3779,8 +3812,8 @@ void sub_80BFE38(u8 taskId) gTasks[taskId].data[0]++; break; case 3: - sub_80C020C(dexNum, IsNationalPokedexEnabled(), 1, 1); - CopyWindowToVram(0, 3); + PrintMonInfo(dexNum, IsNationalPokedexEnabled(), 1, 1); + CopyWindowToVram(WIN_INFO, 3); CopyBgTilemapBufferToVram(2); CopyBgTilemapBufferToVram(3); gTasks[taskId].data[0]++; @@ -3874,7 +3907,7 @@ void sub_80C01CC(struct Sprite *sprite) sprite->pos1.y -= 1; } -void sub_80C020C(u32 num, u32 value, u32 c, u32 d) +static void PrintMonInfo(u32 num, u32 value, u32 owned, u32 newEntry) { u8 str[0x10]; u8 str2[0x20]; @@ -3883,21 +3916,21 @@ void sub_80C020C(u32 num, u32 value, u32 c, u32 d) const u8 *text2; const u8 *text3; - if (d) - sub_80BE8DC(gText_PokedexRegistration, GetStringCenterAlignXOffset(1, gText_PokedexRegistration, 0xF0), 0); + if (newEntry) + PrintInfoPageText(gText_PokedexRegistration, GetStringCenterAlignXOffset(1, gText_PokedexRegistration, 0xF0), 0); if (value == 0) value = NationalToHoennOrder(num); else value = num; - ConvertIntToDecimalStringN(StringCopy(str, gText_UnkCtrlF908Clear01), value, 2, 3); - sub_80BE8DC(str, 0x60, 0x19); + ConvertIntToDecimalStringN(StringCopy(str, gText_NumberClear01), value, STR_CONV_MODE_LEADING_ZEROS, 3); + PrintInfoPageText(str, 0x60, 0x19); natNum = NationalPokedexNumToSpecies(num); if (natNum) text = gSpeciesNames[natNum]; else text = sText_TenDashes2; - sub_80BE8DC(text, 0x84, 0x19); - if (c) + PrintInfoPageText(text, 0x84, 0x19); + if (owned) { CopyMonCategoryText(num, str2); text2 = str2; @@ -3906,27 +3939,27 @@ void sub_80C020C(u32 num, u32 value, u32 c, u32 d) { text2 = gText_5MarksPokemon; } - sub_80BE8DC(text2, 0x64, 0x29); - sub_80BE8DC(gText_HTHeight, 0x60, 0x39); - sub_80BE8DC(gText_WTWeight, 0x60, 0x49); - if (c) + PrintInfoPageText(text2, 0x64, 0x29); + PrintInfoPageText(gText_HTHeight, 0x60, 0x39); + PrintInfoPageText(gText_WTWeight, 0x60, 0x49); + if (owned) { - sub_80C0354(gPokedexEntries[num].height, 0x81, 0x39); - sub_80C0460(gPokedexEntries[num].weight, 0x81, 0x49); + PrintMonHeight(gPokedexEntries[num].height, 0x81, 0x39); + PrintMonWeight(gPokedexEntries[num].weight, 0x81, 0x49); } else { - sub_80BE8DC(gText_UnkHeight, 0x81, 0x39); - sub_80BE8DC(gText_UnkWeight, 0x81, 0x49); + PrintInfoPageText(gText_UnkHeight, 0x81, 0x39); + PrintInfoPageText(gText_UnkWeight, 0x81, 0x49); } - if (c) + if (owned) text3 = gPokedexEntries[num].description; else text3 = gExpandedPlaceholder_PokedexDescription; - sub_80BE8DC(text3, GetStringCenterAlignXOffset(1, text3, 0xF0), 0x5F); + PrintInfoPageText(text3, GetStringCenterAlignXOffset(1, text3, 0xF0), 0x5F); } -void sub_80C0354(u16 height, u8 left, u8 top) +static void PrintMonHeight(u16 height, u8 left, u8 top) { u8 buffer[16]; u32 inches, feet; @@ -3956,13 +3989,13 @@ void sub_80C0354(u16 height, u8 left, u8 top) buffer[i++] = (inches % 10) + CHAR_0; buffer[i++] = CHAR_DBL_QUOT_RIGHT; buffer[i++] = EOS; - sub_80BE8DC(buffer, left, top); + PrintInfoPageText(buffer, left, top); } #ifdef NONMATCHING // This doesn't match because gcc manages to avoid using the stack // to store local variables. -void sub_80C0460(u16 weight, u8 left, u8 top) +static void PrintMonWeight(u16 weight, u8 left, u8 top) { u8 buffer[16]; bool8 output; @@ -4018,11 +4051,11 @@ void sub_80C0460(u16 weight, u8 left, u8 top) buffer[i++] = CHAR_s; buffer[i++] = CHAR_PERIOD; buffer[i++] = EOS; - sub_80BE8DC(buffer, left, top); + PrintInfoPageText(buffer, left, top); } #else __attribute__((naked)) -void sub_80C0460(u16 weight, u8 left, u8 top) +static void PrintMonWeight(u16 weight, u8 left, u8 top) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -4227,7 +4260,7 @@ _080C0552:\n\ mov r0, sp\n\ mov r1, r10\n\ ldr r2, [sp, 0x10]\n\ - bl sub_80BE8DC\n\ + bl PrintInfoPageText\n\ add sp, 0x14\n\ pop {r3-r5}\n\ mov r8, r3\n\ @@ -4240,7 +4273,7 @@ _080C0552:\n\ } #endif -const u8 *sub_80C0620(u16 dexNum) +const u8 *GetPokedexCategoryName(u16 dexNum) // unused { return gPokedexEntries[dexNum].categoryName; } @@ -4428,7 +4461,7 @@ bool16 HasAllMons(void) return TRUE; } -void sub_80C09B0(u16 a) +static void ResetOtherVideoRegisters(u16 a) { if (!(a & DISPCNT_BG0_ON)) { @@ -4477,7 +4510,7 @@ void sub_80C0A88(u8 windowId, const u8 *str, u8 left, u8 top) AddTextPrinterParameterized4(windowId, 1, left, top, 0, 0, color, -1, str); } -void sub_80C0AC4(u8 windowId, u16 order, u8 left, u8 top) +void sub_80C0AC4(u8 windowId, u16 order, u8 left, u8 top) // unused { u8 str[4]; @@ -4511,7 +4544,7 @@ u8 sub_80C0B44(u8 windowId, u16 num, u8 left, u8 top) return i; } -void sub_80C0BF0(u8 windowId, const u8* str, u8 left, u8 top) +void sub_80C0BF0(u8 windowId, const u8* str, u8 left, u8 top) // unused { u8 str2[11]; u8 i; @@ -4527,7 +4560,7 @@ void sub_80C0BF0(u8 windowId, const u8* str, u8 left, u8 top) sub_80C0A88(windowId, str2, left, top); } -void sub_80C0C6C(u8 windowId, u16 b, u8 left, u8 top) +void sub_80C0C6C(u8 windowId, u16 b, u8 left, u8 top) // unused { u8 str[6]; bool8 outputted = FALSE; @@ -4564,10 +4597,10 @@ void sub_80C0C6C(u8 windowId, u16 b, u8 left, u8 top) sub_80C0A88(windowId, str, left, top); } -void sub_80C0D30(u8 windowId, u16 a1) +static void PrintFootprint(u8 windowId, u16 dexNum) { u8 image[32 * 4]; - const u8 * r12 = gMonFootprintTable[NationalPokedexNumToSpecies(a1)]; + const u8 * r12 = gMonFootprintTable[NationalPokedexNumToSpecies(dexNum)]; u16 r5 = 0; u16 i; u16 j; @@ -4656,7 +4689,7 @@ int sub_80C0F30(u8 dexMode, u8 sortMode, u8 abcGroup, u8 bodyColor, u8 type1, u8 u16 resultsCount; u8 types[2]; - sub_80BC8D4(dexMode, sortMode); + CreatePokedexList(dexMode, sortMode); for (i = 0, resultsCount = 0; i < NATIONAL_DEX_COUNT; i++) { @@ -4764,9 +4797,9 @@ int sub_80C0F30(u8 dexMode, u8 sortMode, u8 abcGroup, u8 bodyColor, u8 type1, u8 return resultsCount; } -u8 sub_80C1258(void) +u8 LoadSearchMenu(void) { - return CreateTask(sub_80C12E0, 0); + return CreateTask(Task_LoadSearchMenu, 0); } void sub_80C1270(const u8 *str, u32 left, u32 top) @@ -4784,7 +4817,7 @@ void sub_80C12B0(u32 x, u32 y, u32 width, u32 height) FillWindowPixelRect(0, PIXEL_FILL(0), x, y, width, height); } -void sub_80C12E0(u8 taskId) +void Task_LoadSearchMenu(u8 taskId) { u16 i; @@ -4795,14 +4828,14 @@ void sub_80C12E0(u8 taskId) if (!gPaletteFade.active) { sPokedexView->unk64A = 2; - sub_80C09B0(0); + ResetOtherVideoRegisters(0); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_0856EFF8, 4); + InitBgsFromTemplates(0, sSearchMenu_BgTemplate, 4); SetBgTilemapBuffer(3, AllocZeroed(0x800)); SetBgTilemapBuffer(2, AllocZeroed(0x800)); SetBgTilemapBuffer(1, AllocZeroed(0x800)); SetBgTilemapBuffer(0, AllocZeroed(0x800)); - InitWindows(gUnknown_0856F008); + InitWindows(sSearchMenu_WindowTemplate); DeactivateAllTextPrinters(); PutWindowTilemap(0); DecompressAndLoadBgGfxUsingHeap(3, gPokedexSearchMenu_Gfx, 0x2000, 0, 0); @@ -4975,11 +5008,11 @@ void sub_80C170C(u8 taskId) sPokedexView->unk62A = 0x40; gUnknown_02039B50 = 0; sPokedexView->unk610 = 0; - gSaveBlock2Ptr->pokedex.mode = sub_80C2318(taskId, 5); + gSaveBlock2Ptr->pokedex.mode = GetSearchModeSelection(taskId, SEARCH_DEX_MODE); if (!IsNationalPokedexEnabled()) gSaveBlock2Ptr->pokedex.mode = DEX_MODE_HOENN; sPokedexView->unk614 = gSaveBlock2Ptr->pokedex.mode; - gSaveBlock2Ptr->pokedex.order = sub_80C2318(taskId, 4); + gSaveBlock2Ptr->pokedex.order = GetSearchModeSelection(taskId, SEARCH_ORDER); sPokedexView->unk618 = gSaveBlock2Ptr->pokedex.order; PlaySE(SE_PC_OFF); gTasks[taskId].func = sub_80C1D38; @@ -5036,14 +5069,14 @@ void sub_80C170C(u8 taskId) void sub_80C19A4(u8 taskId) { - u8 r10 = sub_80C2318(taskId, 5); - u8 r9 = sub_80C2318(taskId, 4); - u8 r8 = sub_80C2318(taskId, 0); - u8 r6 = sub_80C2318(taskId, 1); - u8 r4 = sub_80C2318(taskId, 2); - u8 r0 = sub_80C2318(taskId, 3); + u8 dexMode = GetSearchModeSelection(taskId, SEARCH_DEX_MODE); + u8 sortMode = GetSearchModeSelection(taskId, SEARCH_ORDER); + u8 abcGroup = GetSearchModeSelection(taskId, SEARCH_NAME); + u8 bodyColor = GetSearchModeSelection(taskId, SEARCH_COLOR); + u8 type1 = GetSearchModeSelection(taskId, SEARCH_TYPE_1); + u8 type2 = GetSearchModeSelection(taskId, SEARCH_TYPE_2); - sub_80C0F30(r10, r9, r8, r6, r4, r0); + sub_80C0F30(dexMode, sortMode, abcGroup, bodyColor, type1, type2); gTasks[taskId].func = sub_80C1A4C; } @@ -5059,7 +5092,7 @@ void sub_80C1A4C(u8 taskId) else { PlaySE(SE_HAZURE); - sub_80C2618(gUnknown_085E8785); + sub_80C2618(gText_NoMatchingPkmnWereFound); } gTasks[taskId].func = sub_80C1AB8; CopyWindowToVram(0, 2); @@ -5073,8 +5106,8 @@ void sub_80C1AB8(u8 taskId) if (sPokedexView->pokemonListCount != 0) { sPokedexView->unk64E = 1; - sPokedexView->dexMode = sub_80C2318(taskId, 5); - sPokedexView->dexOrder = sub_80C2318(taskId, 4); + sPokedexView->dexMode = GetSearchModeSelection(taskId, SEARCH_DEX_MODE); + sPokedexView->dexOrder = GetSearchModeSelection(taskId, SEARCH_ORDER); gTasks[taskId].func = sub_80C1D38; PlaySE(SE_PC_OFF); } @@ -5094,8 +5127,8 @@ void sub_80C1B64(u8 taskId) sub_80C21D4(0); r0 = gTasks[taskId].data[1]; - p1 = &gTasks[taskId].data[gUnknown_0856EFC8[r0].unk4]; - p2 = &gTasks[taskId].data[gUnknown_0856EFC8[r0].unk5]; + p1 = &gTasks[taskId].data[sSearchOptions[r0].unk4]; + p2 = &gTasks[taskId].data[sSearchOptions[r0].unk5]; gTasks[taskId].data[14] = *p1; gTasks[taskId].data[15] = *p2; sub_80C2294(taskId); @@ -5115,10 +5148,10 @@ void sub_80C1BCC(u8 taskId) bool8 r3; r1 = gTasks[taskId].data[1]; - r8 = gUnknown_0856EFC8[r1].pokedexList; - p1 = &gTasks[taskId].data[gUnknown_0856EFC8[r1].unk4]; - p2 = &gTasks[taskId].data[gUnknown_0856EFC8[r1].unk5]; - r2 = gUnknown_0856EFC8[r1].unk6 - 1; + r8 = sSearchOptions[r1].pokedexList; + p1 = &gTasks[taskId].data[sSearchOptions[r1].unk4]; + p2 = &gTasks[taskId].data[sSearchOptions[r1].unk5]; + r2 = sSearchOptions[r1].numOptions - 1; if (gMain.newKeys & A_BUTTON) { PlaySE(SE_PIN); @@ -5466,9 +5499,9 @@ void sub_80C21D4(u8 a) void sub_80C2294(u8 taskId) { - const struct PokedexOption *r6 = gUnknown_0856EFC8[gTasks[taskId].data[1]].pokedexList; - const u16 *r8 = &gTasks[taskId].data[gUnknown_0856EFC8[gTasks[taskId].data[1]].unk4]; - const u16 *r7 = &gTasks[taskId].data[gUnknown_0856EFC8[gTasks[taskId].data[1]].unk5]; + const struct PokedexOption *r6 = sSearchOptions[gTasks[taskId].data[1]].pokedexList; + const u16 *r8 = &gTasks[taskId].data[sSearchOptions[gTasks[taskId].data[1]].unk4]; + const u16 *r7 = &gTasks[taskId].data[sSearchOptions[gTasks[taskId].data[1]].unk5]; u16 i; u16 j; @@ -5478,32 +5511,32 @@ void sub_80C2294(u8 taskId) sub_80C2618(r6[*r8 + *r7].description); } -u8 sub_80C2318(u8 taskId, u8 b) +static u8 GetSearchModeSelection(u8 taskId, u8 option) { - const u16 *ptr1 = &gTasks[taskId].data[gUnknown_0856EFC8[b].unk4]; - const u16 *ptr2 = &gTasks[taskId].data[gUnknown_0856EFC8[b].unk5]; + const u16 *ptr1 = &gTasks[taskId].data[sSearchOptions[option].unk4]; + const u16 *ptr2 = &gTasks[taskId].data[sSearchOptions[option].unk5]; u16 type = *ptr1 + *ptr2; - switch (b) + switch (option) { default: return 0; - case 5: - return gUnknown_0856EFAC[type]; - case 4: - return gUnknown_0856EFAE[type]; - case 0: + case SEARCH_DEX_MODE: + return sPokedexModes[type]; + case SEARCH_ORDER: + return sSortOptions[type]; + case SEARCH_NAME: if (type == 0) return 0xFF; else return type; - case 1: + case SEARCH_COLOR: if (type == 0) return 0xFF; else return type - 1; - case 2: - case 3: + case SEARCH_TYPE_1: + case SEARCH_TYPE_2: return gDexSearchTypeIds[type]; } } @@ -5552,8 +5585,8 @@ void sub_80C23B8(u8 taskId) bool8 sub_80C244C(u8 taskId) { u8 val1 = gTasks[taskId].data[1]; - const u16 *ptr = &gTasks[taskId].data[gUnknown_0856EFC8[val1].unk5]; - u16 val2 = gUnknown_0856EFC8[val1].unk6 - 1; + const u16 *ptr = &gTasks[taskId].data[sSearchOptions[val1].unk5]; + u16 val2 = sSearchOptions[val1].numOptions - 1; if (val2 > 5 && *ptr != 0) return FALSE; @@ -5564,8 +5597,8 @@ bool8 sub_80C244C(u8 taskId) bool8 sub_80C2494(u8 taskId) { u8 val1 = gTasks[taskId].data[1]; - const u16 *ptr = &gTasks[taskId].data[gUnknown_0856EFC8[val1].unk5]; - u16 val2 = gUnknown_0856EFC8[val1].unk6 - 1; + const u16 *ptr = &gTasks[taskId].data[sSearchOptions[val1].unk5]; + u16 val2 = sSearchOptions[val1].numOptions - 1; if (val2 > 5 && *ptr < val2 - 5) return FALSE; diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index dc69b5d540..697fdb792b 100755 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -4,7 +4,7 @@ #include "gpu_regs.h" #include "graphics.h" #include "main.h" -#include "alloc.h" +#include "malloc.h" #include "menu.h" #include "overworld.h" #include "palette.h" diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c index 487db6d58f..0b35b00eea 100644 --- a/src/pokedex_cry_screen.c +++ b/src/pokedex_cry_screen.c @@ -2,7 +2,7 @@ #include "bg.h" #include "m4a.h" #include "main.h" -#include "alloc.h" +#include "malloc.h" #include "palette.h" #include "pokedex_cry_screen.h" #include "sound.h" diff --git a/src/pokemon.c b/src/pokemon.c index 074ee2d19a..5a4e6df087 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "apprentice.h" #include "battle.h" #include "battle_anim.h" @@ -60,6 +60,7 @@ static void EncryptBoxMon(struct BoxPokemon *boxMon); static void DecryptBoxMon(struct BoxPokemon *boxMon); static void sub_806E6CC(u8 taskId); static bool8 ShouldGetStatBadgeBoost(u16 flagId, u8 battlerId); +static u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); // EWRAM vars EWRAM_DATA static u8 sLearningMoveTableID = 0; @@ -1333,7 +1334,7 @@ const struct SpindaSpot gSpindaSpotGraphics[] = #include "data/pokemon/item_effects.h" -const s8 gNatureStatTable[][5] = +const s8 gNatureStatTable[][NUM_EV_STATS] = { // Atk Def Spd Sp.Atk Sp.Def { 0, 0, 0, 0, 0}, // Hardy @@ -1886,7 +1887,7 @@ const u16 gLinkPlayerFacilityClasses[] = FACILITY_CLASS_PKMN_BREEDER_M, FACILITY_CLASS_GUITARIST, FACILITY_CLASS_COOLTRAINER_F, FACILITY_CLASS_HEX_MANIAC, FACILITY_CLASS_PICNICKER, FACILITY_CLASS_LASS, FACILITY_CLASS_PSYCHIC_F, FACILITY_CLASS_BATTLE_GIRL, - FACILITY_CLASS_POKEMON_BREEDER_F, FACILITY_CLASS_BEAUTY + FACILITY_CLASS_PKMN_BREEDER_F, FACILITY_CLASS_BEAUTY }; static const u8 sHoldEffectToType[][2] = @@ -2042,7 +2043,8 @@ static const u8 sGetMonDataEVConstants[] = MON_DATA_SPATK_EV }; -static const u8 gUnknown_08329EC8[] = +// For stat-raising items +static const u8 sStatsToRaise[] = { STAT_ATK, STAT_ATK, STAT_SPEED, STAT_DEF, STAT_SPATK, STAT_ACC }; @@ -2082,10 +2084,10 @@ static const struct SpeciesItem sAlteringCaveWildMonHeldItems[] = static const struct OamData sOamData_8329F20 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -2879,22 +2881,22 @@ u16 GiveMoveToMon(struct Pokemon *mon, u16 move) return GiveMoveToBoxMon(&mon->box, move); } -u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move) +static u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move) { s32 i; for (i = 0; i < MAX_MON_MOVES; i++) { u16 existingMove = GetBoxMonData(boxMon, MON_DATA_MOVE1 + i, NULL); - if (!existingMove) + if (existingMove == MOVE_NONE) { SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, &move); SetBoxMonData(boxMon, MON_DATA_PP1 + i, &gBattleMoves[move].pp); return move; } if (existingMove == move) - return -2; + return MON_ALREADY_KNOWS_MOVE; } - return 0xFFFF; + return MON_HAS_MAX_MOVES; } u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move) @@ -2942,14 +2944,14 @@ void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon) u16 moveLevel; u16 move; - moveLevel = (gLevelUpLearnsets[species][i] & 0xFE00); + moveLevel = (gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_LV); if (moveLevel > (level << 9)) break; - move = (gLevelUpLearnsets[species][i] & 0x1FF); + move = (gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_ID); - if (GiveMoveToBoxMon(boxMon, move) == 0xFFFF) + if (GiveMoveToBoxMon(boxMon, move) == MON_HAS_MAX_MOVES) DeleteFirstMoveAndGiveMoveToBoxMon(boxMon, move); } } @@ -2968,7 +2970,7 @@ u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove) { sLearningMoveTableID = 0; - while ((gLevelUpLearnsets[species][sLearningMoveTableID] & 0xFE00) != (level << 9)) + while ((gLevelUpLearnsets[species][sLearningMoveTableID] & LEVEL_UP_MOVE_LV) != (level << 9)) { sLearningMoveTableID++; if (gLevelUpLearnsets[species][sLearningMoveTableID] == LEVEL_UP_END) @@ -2976,9 +2978,9 @@ u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove) } } - if ((gLevelUpLearnsets[species][sLearningMoveTableID] & 0xFE00) == (level << 9)) + if ((gLevelUpLearnsets[species][sLearningMoveTableID] & LEVEL_UP_MOVE_LV) == (level << 9)) { - gMoveToLearn = (gLevelUpLearnsets[species][sLearningMoveTableID] & 0x1FF); + gMoveToLearn = (gLevelUpLearnsets[species][sLearningMoveTableID] & LEVEL_UP_MOVE_ID); sLearningMoveTableID++; retVal = GiveMoveToMon(mon, gMoveToLearn); } @@ -2989,11 +2991,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 +3018,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); @@ -3270,7 +3272,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de } // any weather except sun weakens solar beam - if ((gBattleWeather & (WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_HAIL)) && gCurrentMove == MOVE_SOLAR_BEAM) + if ((gBattleWeather & (WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_HAIL_ANY)) && gCurrentMove == MOVE_SOLAR_BEAM) damage /= 2; // sunny @@ -3304,21 +3306,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++; @@ -4329,7 +4331,7 @@ u8 SendMonToPC(struct Pokemon* mon) { s32 boxNo, boxPos; - set_unknown_box_id(VarGet(VAR_STORAGE_UNKNOWN)); + SetPCBoxToSendMon(VarGet(VAR_PC_BOX_TO_SEND_MON)); boxNo = StorageGetCurrentBox(); @@ -4344,9 +4346,9 @@ u8 SendMonToPC(struct Pokemon* mon) CopyMon(checkingMon, &mon->box, sizeof(mon->box)); gSpecialVar_MonBoxId = boxNo; gSpecialVar_MonBoxPos = boxPos; - if (get_unknown_box_id() != boxNo) - FlagClear(FLAG_SYS_STORAGE_UNKNOWN_FLAG); - VarSet(VAR_STORAGE_UNKNOWN, boxNo); + if (GetPCBoxToSendMon() != boxNo) + FlagClear(FLAG_SHOWN_BOX_WAS_FULL_MESSAGE); + VarSet(VAR_PC_BOX_TO_SEND_MON, boxNo); return MON_GIVEN_TO_PC; } } @@ -4690,7 +4692,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov gBattleMons[battlerId].status2 &= ~STATUS2_INFATUATION; retVal = FALSE; } - if ((itemEffect[cmdIndex] & ITEM0_HIGH_CRIT) + if ((itemEffect[cmdIndex] & ITEM0_DIRE_HIT) && !(gBattleMons[gActiveBattler].status2 & STATUS2_FOCUS_ENERGY)) { gBattleMons[gActiveBattler].status2 |= STATUS2_FOCUS_ENERGY; @@ -4744,7 +4746,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } break; case 3: - if ((itemEffect[cmdIndex] & ITEM3_MIST) + if ((itemEffect[cmdIndex] & ITEM3_GUARD_SPEC) && gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer == 0) { gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer = 5; @@ -4817,11 +4819,11 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov { if (evCount >= MAX_TOTAL_EVS) return TRUE; - if (dataSigned >= 100) + if (dataSigned >= EV_ITEM_RAISE_LIMIT) break; - if (dataSigned + r2 > 100) - r5 = 100 - (dataSigned + r2) + r2; + if (dataSigned + r2 > EV_ITEM_RAISE_LIMIT) + r5 = EV_ITEM_RAISE_LIMIT - (dataSigned + r2) + r2; else r5 = r2; @@ -4860,7 +4862,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov if (battlerId != 4) { gAbsentBattlerFlags &= ~gBitTable[battlerId]; - CopyPlayerPartyMonToBattleData(battlerId, pokemon_order_func(gBattlerPartyIndexes[battlerId])); + CopyPlayerPartyMonToBattleData(battlerId, GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battlerId])); if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleResults.numRevivesUsed < 255) gBattleResults.numRevivesUsed++; } @@ -5021,11 +5023,11 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov { if (evCount >= MAX_TOTAL_EVS) return TRUE; - if (dataSigned >= 100) + if (dataSigned >= EV_ITEM_RAISE_LIMIT) break; - if (dataSigned + r2 > 100) - r5 = 100 - (dataSigned + r2) + r2; + if (dataSigned + r2 > EV_ITEM_RAISE_LIMIT) + r5 = EV_ITEM_RAISE_LIMIT - (dataSigned + r2) + r2; else r5 = r2; @@ -5084,8 +5086,8 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } if (friendship < 0) friendship = 0; - if (friendship > 255) - friendship = 255; + if (friendship > MAX_FRIENDSHIP) + friendship = MAX_FRIENDSHIP; SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship); retVal = FALSE; } @@ -5110,8 +5112,8 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } if (friendship < 0) friendship = 0; - if (friendship > 255) - friendship = 255; + if (friendship > MAX_FRIENDSHIP) + friendship = MAX_FRIENDSHIP; SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship); retVal = FALSE; } @@ -5135,8 +5137,8 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } if (friendship < 0) friendship = 0; - if (friendship > 255) - friendship = 255; + if (friendship > MAX_FRIENDSHIP) + friendship = MAX_FRIENDSHIP; SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship); retVal = FALSE; } @@ -5284,15 +5286,15 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) return offset; } -static void sub_806CF24(s32 arg0) +static void BufferStatRoseMessage(s32 arg0) { gBattlerTarget = gBattlerInMenuId; - StringCopy(gBattleTextBuff1, gStatNamesTable[gUnknown_08329EC8[arg0]]); + StringCopy(gBattleTextBuff1, gStatNamesTable[sStatsToRaise[arg0]]); StringCopy(gBattleTextBuff2, gText_StatRose); BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnsStatChanged2); } -u8 *sub_806CF78(u16 itemId) +u8 *UseStatIncreaseItem(u16 itemId) { int i; const u8 *itemEffect; @@ -5313,13 +5315,14 @@ u8 *sub_806CF78(u16 itemId) for (i = 0; i < 3; i++) { - if (itemEffect[i] & 0xF) - sub_806CF24(i * 2); - if (itemEffect[i] & 0xF0) + if (itemEffect[i] & (ITEM0_X_ATTACK | ITEM1_X_SPEED | ITEM2_X_SPATK)) + BufferStatRoseMessage(i * 2); + + if (itemEffect[i] & (ITEM0_DIRE_HIT | ITEM1_X_DEFEND | ITEM2_X_ACCURACY)) { - if (i) + if (i != 0) // Dire Hit is the only ITEM0 above { - sub_806CF24(i * 2 + 1); + BufferStatRoseMessage(i * 2 + 1); } else { @@ -5329,7 +5332,7 @@ u8 *sub_806CF78(u16 itemId) } } - if (itemEffect[3] & ITEM3_MIST) + if (itemEffect[3] & ITEM3_GUARD_SPEC) { gBattlerAttacker = gBattlerInMenuId; BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnShroudedInMist); @@ -5657,21 +5660,23 @@ void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies) SetMonData(mon, MON_DATA_NICKNAME, gSpeciesNames[newSpecies]); } -bool8 sub_806D7EC(void) +// The below two functions determine which side of a multi battle the trainer battles on +// 0 is the left (top in party menu), 1 is right (bottom in party menu) +u8 GetPlayerFlankId(void) { - bool8 retVal = FALSE; + u8 flankId = 0; switch (gLinkPlayers[GetMultiplayerId()].id) { case 0: case 3: - retVal = FALSE; + flankId = 0; break; case 1: case 2: - retVal = TRUE; + flankId = 1; break; } - return retVal; + return flankId; } u16 GetLinkTrainerFlankId(u8 linkPlayerId) @@ -5704,7 +5709,7 @@ u8 GetTrainerEncounterMusicId(u16 trainerOpponentId) { if (InBattlePyramid()) return GetBattlePyramindTrainerEncounterMusicId(trainerOpponentId); - else if (sub_81D5C18()) + else if (InTrainerHillChallenge()) return GetTrainerEncounterMusicIdInTrainerHill(trainerOpponentId); else return TRAINER_ENCOUNTER_MUSIC(trainerOpponentId); @@ -5712,7 +5717,8 @@ u8 GetTrainerEncounterMusicId(u16 trainerOpponentId) u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex) { - if (statIndex < 1 || statIndex > 5) + // Dont modify HP, Accuracy, or Evasion by nature + if (statIndex <= STAT_HP || statIndex > NUM_EV_STATS) { // Should just be "return n", but it wouldn't match without this. u16 retVal = n; @@ -5724,9 +5730,9 @@ u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex) switch (gNatureStatTable[nature][statIndex - 1]) { case 1: - return (u16)(n * 110) / 100; + return (u16)(n * 110) / 100; // NOTE: will overflow for n > 595 because the intermediate value is cast to u16 before the division. Fix by removing (u16) cast case -1: - return (u16)(n * 90) / 100; + return (u16)(n * 90) / 100; // NOTE: will overflow for n > 728, see above } return n; @@ -5783,8 +5789,8 @@ void AdjustFriendship(struct Pokemon *mon, u8 event) } if (friendship < 0) friendship = 0; - if (friendship > 255) - friendship = 255; + if (friendship > MAX_FRIENDSHIP) + friendship = MAX_FRIENDSHIP; SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship); } } @@ -6096,7 +6102,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); @@ -6109,23 +6115,23 @@ u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves) { u16 moveLevel; - if (gLevelUpLearnsets[species][i] == 0xFFFF) + if (gLevelUpLearnsets[species][i] == LEVEL_UP_END) break; - moveLevel = gLevelUpLearnsets[species][i] & 0xFE00; + moveLevel = gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_LV; if (moveLevel <= (level << 9)) { - for (j = 0; j < MAX_MON_MOVES && learnedMoves[j] != (gLevelUpLearnsets[species][i] & 0x1FF); j++) + for (j = 0; j < MAX_MON_MOVES && learnedMoves[j] != (gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_ID); j++) ; if (j == MAX_MON_MOVES) { - for (k = 0; k < numMoves && moves[k] != (gLevelUpLearnsets[species][i] & 0x1FF); k++) + for (k = 0; k < numMoves && moves[k] != (gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_ID); k++) ; if (k == numMoves) - moves[numMoves++] = gLevelUpLearnsets[species][i] & 0x1FF; + moves[numMoves++] = gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_ID; } } } @@ -6138,15 +6144,15 @@ u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves) u8 numMoves = 0; int i; - for (i = 0; i < 20 && gLevelUpLearnsets[species][i] != 0xFFFF; i++) - moves[numMoves++] = gLevelUpLearnsets[species][i] & 0x1FF; + for (i = 0; i < 20 && gLevelUpLearnsets[species][i] != LEVEL_UP_END; i++) + moves[numMoves++] = gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_ID; return numMoves; } 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); @@ -6163,23 +6169,23 @@ u8 GetNumberOfRelearnableMoves(struct Pokemon *mon) { u16 moveLevel; - if (gLevelUpLearnsets[species][i] == 0xFFFF) + if (gLevelUpLearnsets[species][i] == LEVEL_UP_END) break; - moveLevel = gLevelUpLearnsets[species][i] & 0xFE00; + moveLevel = gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_LV; if (moveLevel <= (level << 9)) { - for (j = 0; j < MAX_MON_MOVES && learnedMoves[j] != (gLevelUpLearnsets[species][i] & 0x1FF); j++) + for (j = 0; j < MAX_MON_MOVES && learnedMoves[j] != (gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_ID); j++) ; if (j == MAX_MON_MOVES) { - for (k = 0; k < numMoves && moves[k] != (gLevelUpLearnsets[species][i] & 0x1FF); k++) + for (k = 0; k < numMoves && moves[k] != (gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_ID); k++) ; if (k == numMoves) - moves[numMoves++] = gLevelUpLearnsets[species][i] & 0x1FF; + moves[numMoves++] = gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_ID; } } } @@ -6439,11 +6445,11 @@ void SetMonPreventsSwitchingString(void) gBattleTextBuff1[4] = B_BUFF_EOS; if (GetBattlerSide(gBattleStruct->battlerPreventingSwitchout) == B_SIDE_PLAYER) - gBattleTextBuff1[3] = pokemon_order_func(gBattlerPartyIndexes[gBattleStruct->battlerPreventingSwitchout]); + gBattleTextBuff1[3] = GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[gBattleStruct->battlerPreventingSwitchout]); else gBattleTextBuff1[3] = gBattlerPartyIndexes[gBattleStruct->battlerPreventingSwitchout]; - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff2, gBattlerInMenuId, pokemon_order_func(gBattlerPartyIndexes[gBattlerInMenuId])) + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff2, gBattlerInMenuId, GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[gBattlerInMenuId])) BattleStringExpandPlaceholders(gText_PkmnsXPreventsSwitching, gStringVar4); } @@ -6683,7 +6689,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 +6712,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_animation.c b/src/pokemon_animation.c index 340327475f..622e1d5842 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -970,7 +970,7 @@ static void SetAffineData(struct Sprite *sprite, s16 xScale, s16 yScale, u16 rot static void HandleStartAffineAnim(struct Sprite *sprite) { - sprite->oam.affineMode = 3; + sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; sprite->affineAnims = sSpriteAffineAnimTable_860AD68; if (sUnknown_03001274 == TRUE) @@ -1028,7 +1028,7 @@ static u8 sub_817F758(void) static void sub_817F77C(struct Sprite *sprite) { - sprite->oam.affineMode = 1; + sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); if (sUnknown_03001274 == TRUE) @@ -1040,7 +1040,7 @@ static void sub_817F77C(struct Sprite *sprite) FreeOamMatrix(sprite->oam.matrixNum); sprite->oam.matrixNum |= (sprite->hFlip << 3); - sprite->oam.affineMode = 0; + sprite->oam.affineMode = ST_OAM_AFFINE_OFF; } } diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index ee68de326e..7d8c65d7cb 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -1004,38 +1004,36 @@ const union AffineAnimCmd *const sMonIconAffineAnims[] = const u16 sSpriteImageSizes[3][4] = { - // square + [ST_OAM_SQUARE] = { - 0x20, // 1×1 - 0x80, // 2×2 - 0x200, // 4×4 - 0x800, // 8×8 + [SPRITE_SIZE(8x8)] = 0x20, + [SPRITE_SIZE(16x16)] = 0x80, + [SPRITE_SIZE(32x32)] = 0x200, + [SPRITE_SIZE(64x64)] = 0x800, }, - - // horizontal rectangle + [ST_OAM_H_RECTANGLE] = { - 0x40, // 2×1 - 0x80, // 4×1 - 0x100, // 4×2 - 0x400, // 8×4 + [SPRITE_SIZE(16x8)] = 0x40, + [SPRITE_SIZE(32x8)] = 0x80, + [SPRITE_SIZE(32x16)] = 0x100, + [SPRITE_SIZE(64x32)] = 0x400, }, - - // vertical rectangle + [ST_OAM_V_RECTANGLE] = { - 0x40, // 1×2 - 0x80, // 1×4 - 0x100, // 2×4 - 0x400, // 4×8 + [SPRITE_SIZE(8x16)] = 0x40, + [SPRITE_SIZE(8x32)] = 0x80, + [SPRITE_SIZE(16x32)] = 0x100, + [SPRITE_SIZE(32x64)] = 0x400, }, }; -u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality, bool32 extra) +u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality, bool32 handleDeoxys) { u8 spriteId; struct MonIconSpriteTemplate iconTemplate = { .oam = &sMonIconOamData, - .image = GetMonIconPtr(species, personality, extra), + .image = GetMonIconPtr(species, personality, handleDeoxys), .anims = sMonIconAnims, .affineAnims = sMonIconAffineAnims, .callback = callback, @@ -1125,12 +1123,12 @@ u16 sub_80D2E84(u16 species) } } -const u8 *GetMonIconPtr(u16 species, u32 personality, bool32 extra) +const u8 *GetMonIconPtr(u16 species, u32 personality, bool32 handleDeoxys) { - return GetMonIconTiles(GetIconSpecies(species, personality), extra); + return GetMonIconTiles(GetIconSpecies(species, personality), handleDeoxys); } -void sub_80D2EF8(struct Sprite *sprite) +void FreeAndDestroyMonIconSprite(struct Sprite *sprite) { sub_80D328C(sprite); } @@ -1184,17 +1182,17 @@ void FreeMonIconPalette(u16 species) FreeSpritePaletteByTag(gMonIconPaletteTable[palIndex].tag); } -void sub_80D3014(struct Sprite *sprite) +void SpriteCB_MonIcon(struct Sprite *sprite) { UpdateMonIconFrame(sprite); } -const u8* GetMonIconTiles(u16 species, bool32 extra) +const u8* GetMonIconTiles(u16 species, bool32 handleDeoxys) { const u8* iconSprite = gMonIconTable[species]; - if (species == SPECIES_DEOXYS && extra == TRUE) + if (species == SPECIES_DEOXYS && handleDeoxys == TRUE) { - iconSprite = (const u8*)(0x400 + (u32)iconSprite); //WTF? + iconSprite = (const u8*)(0x400 + (u32)iconSprite); // use the specific Deoxys form icon (Speed in this case) } return iconSprite; } @@ -1302,7 +1300,7 @@ void sub_80D328C(struct Sprite *sprite) DestroySprite(sprite); } -void sub_80D32C8(struct Sprite *sprite, u8 animNum) +void SetPartyHPBarSprite(struct Sprite *sprite, u8 animNum) { sprite->animNum = animNum; sprite->animDelayCounter = 0; diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c index 8f16e1ce23..c7ce6ddf77 100755 --- a/src/pokemon_jump.c +++ b/src/pokemon_jump.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle_anim.h" #include "bg.h" #include "data.h" @@ -158,7 +158,7 @@ static void sub_802AA60(struct PokemonJump1 *); static void sub_802AA94(struct PokemonJump1 *); static void sub_802AB20(void); static void sub_802AB98(void); -static s16 sub_802AC00(u16 species); +static s16 GetPokemonJumpSpeciesIdx(u16 species); static void sub_802AC2C(struct PokemonJump1_MonInfo *monInfo, struct Pokemon *mon); static void sub_802AC6C(void); static void sub_802ACA0(u8 taskId); @@ -288,7 +288,7 @@ static void sub_802D598(void); static void sub_802D5E4(void); static void sub_802D72C(void); static void sub_802D688(void); -static void sub_802E3E4(u8 taskId); +static void Task_ShowPokemonJumpRecords(u8 taskId); static void sub_802E6D0(u8 taskId); static void sub_802EB98(u8 taskId); static void sub_802E500(u16 windowId, int width); @@ -501,7 +501,7 @@ static void sub_802AB20(void) for (i = 0; i < MAX_RFU_PLAYERS; i++) { - index = sub_802AC00(gUnknown_02022CFC->unk82A8[i].species); + index = GetPokemonJumpSpeciesIdx(gUnknown_02022CFC->unk82A8[i].species); gUnknown_02022CFC->unk82E4[i].unkC = gPkmnJumpSpecies[index].unk2; } @@ -524,7 +524,7 @@ static void sub_802AB98(void) } } -static s16 sub_802AC00(u16 species) +static s16 GetPokemonJumpSpeciesIdx(u16 species) { u32 i; for (i = 0; i < ARRAY_COUNT(gPkmnJumpSpecies); i++) @@ -533,7 +533,7 @@ static s16 sub_802AC00(u16 species) return i; } - return -1; + return -1; // species isnt allowed } static void sub_802AC2C(struct PokemonJump1_MonInfo *monInfo, struct Pokemon *mon) @@ -2204,12 +2204,12 @@ static u8 *sub_802C8E8(u8 multiplayerId) return gUnknown_02022CFC->unk82E4[multiplayerId].unk1C; } -bool32 sub_802C908(u16 species) +bool32 IsSpeciesAllowedInPokemonJump(u16 species) { - return sub_802AC00(species) > -1; + return GetPokemonJumpSpeciesIdx(species) > -1; } -void sub_802C920(void) +void IsPokemonJumpSpeciesInParty(void) { int i; @@ -2218,15 +2218,15 @@ void sub_802C920(void) if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_HAS_SPECIES)) { u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); - if (sub_802C908(species)) + if (IsSpeciesAllowedInPokemonJump(species)) { - gSpecialVar_Result = 1; + gSpecialVar_Result = TRUE; return; } } } - gSpecialVar_Result = 0; + gSpecialVar_Result = FALSE; } // Large group of data. @@ -2294,14 +2294,14 @@ static const struct SpriteTemplate *const gUnknown_082FBEB8[] = static const struct OamData sOamData_82FBEC8 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, - .shape = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -2311,14 +2311,14 @@ static const struct OamData sOamData_82FBEC8 = static const struct OamData sOamData_82FBED0 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, - .shape = 2, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(16x32), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -2328,14 +2328,14 @@ static const struct OamData sOamData_82FBED0 = static const struct OamData sOamData_82FBED8 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, - .shape = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -2345,14 +2345,14 @@ static const struct OamData sOamData_82FBED8 = static const struct OamData sOamData_82FBEE0 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, - .shape = 1, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x16), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -2498,14 +2498,14 @@ static const struct SpriteTemplate gUnknown_082FBFC0 = static const struct OamData sOamData_82FBFD8 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, - .shape = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -3466,7 +3466,7 @@ static void sub_802DB18(u16 left, u16 top, u8 cursorPos) static void sub_802DB8C(void) { - u8 color[] = {0, 2, 3}; + u8 color[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}; PutWindowTilemap(0); PutWindowTilemap(1); @@ -3557,8 +3557,8 @@ static void sub_802DD08(void) struct UnkStruct3 unkStruct; struct UnkStruct3 *ptr = &unkStruct; // This temp variable is needed to match, don't ask me why. - ptr->shape = 0; - ptr->size = 0; + ptr->shape = SPRITE_SHAPE(8x8); + ptr->size = SPRITE_SIZE(8x8); ptr->field_0_0 = 0; ptr->priority = 1; ptr->field_1 = 5; @@ -3666,7 +3666,7 @@ static void sub_802DF70(bool32 arg0) if (!arg0) { for (i = 0; i < playersCount; i++) - sub_802DED8(i, 0, 2, 3); + sub_802DED8(i, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY); } else { @@ -3674,9 +3674,9 @@ static void sub_802DF70(bool32 arg0) for (i = 0; i < playersCount; i++) { if (var != i) - sub_802DED8(i, 0, 2, 3); + sub_802DED8(i, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY); else - sub_802DED8(i, 0, 4, 5); + sub_802DED8(i, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED); } } } @@ -3922,10 +3922,10 @@ static void sub_802E3A8(void) pokeJump->field6++; } -void sub_802E3C4(void) +void ShowPokemonJumpRecords(void) { - u8 taskId = CreateTask(sub_802E3E4, 0); - sub_802E3E4(taskId); + u8 taskId = CreateTask(Task_ShowPokemonJumpRecords, 0); + Task_ShowPokemonJumpRecords(taskId); } static const struct WindowTemplate gUnknown_082FE270 = @@ -3941,7 +3941,7 @@ static const struct WindowTemplate gUnknown_082FE270 = static const u8 *const gUnknown_082FE278[] = {gText_JumpsInARow, gText_BestScore2, gText_ExcellentsInARow}; -static void sub_802E3E4(u8 taskId) +static void Task_ShowPokemonJumpRecords(u8 taskId) { struct WindowTemplate window; int i, width, widthCurr; @@ -4093,7 +4093,7 @@ static const struct SpriteTemplate gUnknown_082FE730[] = { .tileTag = 0x2000, .paletteTag = 0x2000, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = sSpriteAnimTable_82FE718, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -4483,14 +4483,14 @@ static void sub_802EF50(u16 tileTag, u16 palTag) static const struct OamData sOamData_82FEBDC = { .y = 0, - .affineMode = 3, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, - .shape = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -4500,14 +4500,14 @@ static const struct OamData sOamData_82FEBDC = static const struct OamData sOamData_82FEBE4 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, - .shape = 1, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x32), .tileNum = 0, .priority = 0, .paletteNum = 0, diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c index f63e1ccbab..914d689255 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon_size_record.c @@ -100,9 +100,9 @@ static void FormatMonSizeRecord(u8 *string, u32 size) size = (double)(size * 10) / (CM_PER_INCH * 10); #endif - string = ConvertIntToDecimalStringN(string, size / 10, 0, 8); + string = ConvertIntToDecimalStringN(string, size / 10, STR_CONV_MODE_LEFT_ALIGN, 8); string = StringAppend(string, gText_DecimalPoint); - ConvertIntToDecimalStringN(string, size % 10, 0, 1); + ConvertIntToDecimalStringN(string, size % 10, STR_CONV_MODE_LEFT_ALIGN, 1); } static u8 CompareMonSize(u16 species, u16 *sizeRecord) diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 4cd1a47727..4ccb39ce21 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "bg.h" #include "data.h" #include "decompress.h" @@ -453,7 +453,7 @@ EWRAM_DATA static bool8 sInPartyMenu = 0; EWRAM_DATA static u8 sCurrentBoxOption = 0; EWRAM_DATA static u8 gUnknown_02039D0E = 0; EWRAM_DATA static u8 sWhichToReshow = 0; -EWRAM_DATA static u8 gUnknown_02039D10 = 0; +EWRAM_DATA static u8 sLastUsedBox = 0; EWRAM_DATA static u16 gUnknown_02039D12 = 0; EWRAM_DATA static struct Pokemon gUnknown_02039D14 = {0}; EWRAM_DATA static s8 sBoxCursorArea = 0; @@ -778,8 +778,8 @@ static const union AffineAnimCmd *const sSpriteAffineAnimTable_8571730[] = sSpriteAffineAnim_8571720 }; -static const u8 gUnknown_08571734[] = {4, 0xF, 0xE}; -static const u8 gUnknown_08571737[] = _("/30"); +static const u8 sBoxInfoTextColors[] = {TEXT_COLOR_RED, TEXT_DYNAMIC_COLOR_6, TEXT_DYNAMIC_COLOR_5}; +static const u8 sText_OutOf30[] = _("/30"); static const u16 gBoxSelectionPopupPalette[] = INCBIN_U16("graphics/unknown/unknown_57173C.gbapal"); static const u8 gBoxSelectionPopupCenterTiles[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_center.4bpp"); @@ -963,10 +963,10 @@ static const struct WindowTemplate sYesNoWindowTemplate = static const struct OamData sOamData_857286C = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -980,10 +980,10 @@ static const struct OamData sOamData_857286C = static const struct OamData sOamData_8572874 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x8), .x = 0, .matrixNum = 0, @@ -1056,10 +1056,10 @@ static const struct SpriteTemplate gUnknown_085728D4 = static const struct OamData sOamData_85728EC = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, @@ -1540,9 +1540,9 @@ static const u8 gHandCursorTiles[] = INCBIN_U8("graphics/pokemon_storage/hand_cu static const u8 gHandCursorShadowTiles[] = INCBIN_U8("graphics/pokemon_storage/hand_cursor_shadow.4bpp"); // code -void sub_80C6D80(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 arg4) +void DrawTextWindowAndBufferTiles(const u8 *string, void *dst, u8 zero1, u8 zero2, s32 bytesToBuffer) { - s32 i, val, val2; + s32 i, tileBytesToBuffer, remainingBytes; u16 windowId; u8 txtColor[3]; u8 *tileData1, *tileData2; @@ -1551,25 +1551,25 @@ void sub_80C6D80(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 arg4) winTemplate.width = 24; winTemplate.height = 2; windowId = AddWindow(&winTemplate); - FillWindowPixelBuffer(windowId, PIXEL_FILL(arg3)); + FillWindowPixelBuffer(windowId, PIXEL_FILL(zero2)); tileData1 = (u8*) GetWindowAttribute(windowId, WINDOW_TILE_DATA); tileData2 = (winTemplate.width * 32) + tileData1; - if (!arg2) - txtColor[0] = 0; + if (!zero1) + txtColor[0] = TEXT_COLOR_TRANSPARENT; else - txtColor[0] = arg3; - txtColor[1] = 0xF; - txtColor[2] = 0xE; + txtColor[0] = zero2; + txtColor[1] = TEXT_DYNAMIC_COLOR_6; + txtColor[2] = TEXT_DYNAMIC_COLOR_5; AddTextPrinterParameterized4(windowId, 1, 0, 1, 0, 0, txtColor, -1, string); - val = arg4; - if (val > 6u) - val = 6; - val2 = arg4 - 6; - if (val > 0) + tileBytesToBuffer = bytesToBuffer; + if (tileBytesToBuffer > 6u) + tileBytesToBuffer = 6; + remainingBytes = bytesToBuffer - 6; + if (tileBytesToBuffer > 0) { - for (i = val; i != 0; i--) + for (i = tileBytesToBuffer; i != 0; i--) { CpuCopy16(tileData1, dst, 0x80); CpuCopy16(tileData2, dst + 0x80, 0x80); @@ -1579,8 +1579,9 @@ void sub_80C6D80(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 arg4) } } - if (val2 > 0) - CpuFill16((arg3 << 4) | arg3, dst, (u32)(val2) * 0x100); + // Never used. bytesToBuffer is always passed <= 6, so remainingBytes is always <= 0 here + if (remainingBytes > 0) + CpuFill16((zero2 << 4) | zero2, dst, (u32)(remainingBytes) * 0x100); RemoveWindow(windowId); } @@ -1789,7 +1790,7 @@ static void Task_PokemonStorageSystemPC(u8 taskId) } else { - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); task->data[0] = 4; } break; @@ -1854,7 +1855,7 @@ static void FieldCb_ReturnToPcMenu(void) gTasks[taskId].data[1] = sPreviousBoxOption; Task_PokemonStorageSystemPC(taskId); SetVBlankCallback(vblankCb); - pal_fill_black(); + FadeInFromBlack(); } static void CreatePCMenu(u8 whichMenu, s16 *windowIdPtr) @@ -2089,7 +2090,7 @@ static void sub_80C7BB4(void) static void sub_80C7BE4(void) { - u8 text[16]; + u8 numBoxMonsText[16]; struct WindowTemplate winTemplate; u8 windowId; u8 *boxName = GetBoxNamePtr(gUnknown_02039D04->curBox); @@ -2105,12 +2106,12 @@ static void sub_80C7BE4(void) FillWindowPixelBuffer(windowId, PIXEL_FILL(4)); center = GetStringCenterAlignXOffset(1, boxName, 64); - AddTextPrinterParameterized3(windowId, 1, center, 1, gUnknown_08571734, TEXT_SPEED_FF, boxName); + AddTextPrinterParameterized3(windowId, 1, center, 1, sBoxInfoTextColors, TEXT_SPEED_FF, boxName); - ConvertIntToDecimalStringN(text, nPokemonInBox, 1, 2); - StringAppend(text, gUnknown_08571737); - center = GetStringCenterAlignXOffset(1, text, 64); - AddTextPrinterParameterized3(windowId, 1, center, 17, gUnknown_08571734, TEXT_SPEED_FF, text); + ConvertIntToDecimalStringN(numBoxMonsText, nPokemonInBox, STR_CONV_MODE_RIGHT_ALIGN, 2); + StringAppend(numBoxMonsText, sText_OutOf30); + center = GetStringCenterAlignXOffset(1, numBoxMonsText, 64); + AddTextPrinterParameterized3(windowId, 1, center, 17, sBoxInfoTextColors, TEXT_SPEED_FF, numBoxMonsText); winTileData = GetWindowAttribute(windowId, WINDOW_TILE_DATA); CpuCopy32((void *)winTileData, (void *)OBJ_VRAM0 + 0x100 + (GetSpriteTileStartByTag(gUnknown_02039D04->unk_0240) * 32), 0x400); @@ -2167,7 +2168,7 @@ static void Cb2_EnterPSS(u8 boxOption) gUnknown_02039D12 = 0; sPSSData->state = 0; sPSSData->taskId = CreateTask(Cb_InitPSS, 3); - gUnknown_02039D10 = StorageGetCurrentBox(); + sLastUsedBox = StorageGetCurrentBox(); SetMainCallback2(Cb2_PSS); } } @@ -4366,10 +4367,10 @@ static bool8 DoShowPartyMenu(void) static void sub_80CABE0(void) { - if (gUnknown_02039D10 != StorageGetCurrentBox()) + if (sLastUsedBox != StorageGetCurrentBox()) { - FlagClear(FLAG_SYS_STORAGE_UNKNOWN_FLAG); - VarSet(VAR_STORAGE_UNKNOWN, StorageGetCurrentBox()); + FlagClear(FLAG_SHOWN_BOX_WAS_FULL_MESSAGE); + VarSet(VAR_PC_BOX_TO_SEND_MON, StorageGetCurrentBox()); } } @@ -4568,7 +4569,7 @@ static void sub_80CB028(u8 boxId) for (boxPosition = 0; boxPosition < IN_BOX_COUNT; boxPosition++) { if (GetBoxMonDataAt(boxId, boxPosition, MON_DATA_HELD_ITEM) == 0) - sPSSData->boxMonsSprites[boxPosition]->oam.objMode = 1; + sPSSData->boxMonsSprites[boxPosition]->oam.objMode = ST_OAM_OBJ_BLEND; } } } @@ -4585,7 +4586,7 @@ static void sub_80CB140(u8 boxPosition) sPSSData->boxMonsSprites[boxPosition] = CreateMonIconSprite(species, personality, x, y, 2, 19 - (boxPosition % IN_BOX_ROWS)); if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS) - sPSSData->boxMonsSprites[boxPosition]->oam.objMode = 1; + sPSSData->boxMonsSprites[boxPosition]->oam.objMode = ST_OAM_OBJ_BLEND; } } @@ -4698,7 +4699,7 @@ static u8 sub_80CB2F8(u8 row, u16 times, s16 xDelta) sPSSData->boxMonsSprites[boxPosition]->data[3] = xDest; sPSSData->boxMonsSprites[boxPosition]->callback = sub_80CB234; if (GetBoxMonDataAt(sPSSData->field_C5C, boxPosition, MON_DATA_HELD_ITEM) == 0) - sPSSData->boxMonsSprites[boxPosition]->oam.objMode = 1; + sPSSData->boxMonsSprites[boxPosition]->oam.objMode = ST_OAM_OBJ_BLEND; count++; } } @@ -4845,7 +4846,7 @@ static void CreatePartyMonsSprites(bool8 arg0) for (i = 0; i < PARTY_SIZE; i++) { if (sPSSData->partySprites[i] != NULL && GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM) == 0) - sPSSData->partySprites[i]->oam.objMode = 1; + sPSSData->partySprites[i]->oam.objMode = ST_OAM_OBJ_BLEND; } } } @@ -5086,7 +5087,7 @@ static void sub_80CBF14(u8 mode, u8 position) if (*sPSSData->field_B04 != NULL) { InitSpriteAffineAnim(*sPSSData->field_B04); - (*sPSSData->field_B04)->oam.affineMode = 1; + (*sPSSData->field_B04)->oam.affineMode = ST_OAM_AFFINE_NORMAL; (*sPSSData->field_B04)->affineAnims = gSpriteAffineAnimTable_857291C; StartSpriteAffineAnim(*sPSSData->field_B04, 0); } @@ -5518,7 +5519,7 @@ static void sub_80CCB50(u8 boxId) sPSSData->field_738 |= 0x10000 << tagIndex; StringCopyPadded(sPSSData->field_21B8, GetBoxNamePtr(boxId), 0, 8); - sub_80C6D80(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2); + DrawTextWindowAndBufferTiles(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2); LoadSpriteSheet(&spriteSheet); r6 = sub_80CD00C(GetBoxNamePtr(boxId)); @@ -5554,7 +5555,7 @@ static void sub_80CCCFC(u8 boxId, s8 direction) } StringCopyPadded(sPSSData->field_21B8, GetBoxNamePtr(boxId), 0, 8); - sub_80C6D80(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2); + DrawTextWindowAndBufferTiles(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2); LoadSpriteSheet(&spriteSheet); LoadPalette(gUnknown_08577574[GetBoxWallpaper(boxId)], r8, 4); x = sub_80CD00C(GetBoxNamePtr(boxId)); @@ -9357,10 +9358,10 @@ static const u32 gUnknown_0857BB24[] = INCBIN_U32("graphics/pokemon_storage/unkn static const struct OamData sOamData_857BBA4 = { .y = 0, - .affineMode = 1, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 79aac4b5e6..ffd468a9b3 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -20,7 +20,7 @@ #include "item.h" #include "link.h" #include "m4a.h" -#include "alloc.h" +#include "malloc.h" #include "menu.h" #include "menu_helpers.h" #include "mon_markings.h" @@ -42,6 +42,7 @@ #include "window.h" #include "constants/items.h" #include "constants/moves.h" +#include "constants/party_menu.h" #include "constants/region_map_sections.h" #include "constants/rgb.h" #include "constants/songs.h" @@ -121,8 +122,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 @@ -162,7 +163,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData u8 unk_filler4[6]; } *sMonSummaryScreen = NULL; EWRAM_DATA u8 gLastViewedMonIndex = 0; -static EWRAM_DATA u8 sUnknown_0203CF21 = 0; +static EWRAM_DATA u8 sMoveSlotToReplace = 0; ALIGNED(4) static EWRAM_DATA u8 sUnknownTaskId = 0; struct UnkStruct_61CC04 @@ -224,10 +225,10 @@ static void DrawExperienceProgressBar(struct Pokemon* mon); static void DrawContestMoveHearts(u16 move); static void LimitEggSummaryPageDisplay(void); static void ResetWindows(void); -static void sub_81C25E8(void); -static void sub_81C2628(void); -static void sub_81C2794(void); -static void sub_81C27DC(struct Pokemon *mon, u16 a); +static void PrintMonInfo(void); +static void PrintNotEggInfo(void); +static void PrintEggInfo(void); +static void PrintGenderSymbol(struct Pokemon *mon, u16 a); static void PrintPageNamesAndStatsPageToWindows(void); static void CreatePageWindowTilemaps(u8 a); static void ClearPageWindowTilemaps(u8 a); @@ -705,10 +706,10 @@ static const u8 sMovesPPLayout[] = _("{PP}{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}"); static const struct OamData sOamData_MoveTypes = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, @@ -881,10 +882,10 @@ static const u8 sMoveTypeToOamPaletteNum[NUMBER_OF_MON_TYPES + CONTEST_CATEGORIE static const struct OamData gOamData_861CFF4 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, @@ -970,10 +971,10 @@ static const struct SpriteTemplate gUnknown_0861D084 = static const struct OamData sOamData_StatusCondition = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), .x = 0, .matrixNum = 0, @@ -1173,7 +1174,7 @@ static bool8 SummaryScreen_LoadGraphics(void) gMain.state++; break; case 11: - sub_81C25E8(); + PrintMonInfo(); gMain.state++; break; case 12: @@ -1449,7 +1450,7 @@ static void sub_81C0348(void) DrawPokerusCuredSymbol(&sMonSummaryScreen->currentMon); } -static void sub_81C0434(void) +static void FreeSummaryScreen(void) { FreeAllWindowBuffers(); Free(sMonSummaryScreen); @@ -1474,7 +1475,7 @@ static void CloseSummaryScreen(u8 taskId) m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); if (gMonSpritesGfxPtr == 0) sub_806F47C(0); - sub_81C0434(); + FreeSummaryScreen(); DestroyTask(taskId); } } @@ -1491,11 +1492,11 @@ static void HandleInput(u8 taskId) { ChangeSummaryPokemon(taskId, 1); } - else if ((gMain.newKeys & DPAD_LEFT) || GetLRKeysState() == 1) + else if ((gMain.newKeys & DPAD_LEFT) || GetLRKeysPressed() == MENU_L_PRESSED) { ChangePage(taskId, -1); } - else if ((gMain.newKeys & DPAD_RIGHT) || GetLRKeysState() == 2) + else if ((gMain.newKeys & DPAD_RIGHT) || GetLRKeysPressed() == MENU_R_PRESSED) { ChangePage(taskId, 1); } @@ -1625,7 +1626,7 @@ static void sub_81C0704(u8 taskId) SetTypeIcons(); break; case 10: - sub_81C25E8(); + PrintMonInfo(); break; case 11: PrintPageSpecificText(sMonSummaryScreen->currPageIndex); @@ -2159,11 +2160,11 @@ static void HandleReplaceMoveInput(u8 taskId) data[0] = 4; sub_81C1070(data, 1, &sMonSummaryScreen->firstMoveIndex); } - else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) + else if (gMain.newKeys & DPAD_LEFT || GetLRKeysPressed() == MENU_L_PRESSED) { ChangePage(taskId, -1); } - else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) + else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysPressed() == MENU_R_PRESSED) { ChangePage(taskId, 1); } @@ -2173,8 +2174,8 @@ static void HandleReplaceMoveInput(u8 taskId) { StopPokemonAnimations(); PlaySE(SE_SELECT); - sUnknown_0203CF21 = sMonSummaryScreen->firstMoveIndex; - gSpecialVar_0x8005 = sUnknown_0203CF21; + sMoveSlotToReplace = sMonSummaryScreen->firstMoveIndex; + gSpecialVar_0x8005 = sMoveSlotToReplace; BeginCloseSummaryScreen(taskId); } else @@ -2188,8 +2189,8 @@ static void HandleReplaceMoveInput(u8 taskId) u32 var1; StopPokemonAnimations(); PlaySE(SE_SELECT); - sUnknown_0203CF21 = 4; - gSpecialVar_0x8005 = 4; + sMoveSlotToReplace = MAX_MON_MOVES; + gSpecialVar_0x8005 = MAX_MON_MOVES; BeginCloseSummaryScreen(taskId); } } @@ -2238,7 +2239,7 @@ static void HandleHMMovesCantBeForgottenInput(u8 taskId) data[1] = 0; gTasks[taskId].func = HandleReplaceMoveInput; } - else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) + else if (gMain.newKeys & DPAD_LEFT || GetLRKeysPressed() == MENU_L_PRESSED) { if (sMonSummaryScreen->currPageIndex != 2) { @@ -2252,7 +2253,7 @@ static void HandleHMMovesCantBeForgottenInput(u8 taskId) sub_81C1EFC(9, -2, move); } } - else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) + else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysPressed() == MENU_R_PRESSED) { if (sMonSummaryScreen->currPageIndex != 3) { @@ -2281,9 +2282,9 @@ static void HandleHMMovesCantBeForgottenInput(u8 taskId) } } -u8 sub_81C1B94(void) +u8 GetMoveSlotToReplace(void) { - return sUnknown_0203CF21; + return sMoveSlotToReplace; } static void DrawPagination(void) // Updates the pagination dots at the top of the summary screen @@ -2571,12 +2572,12 @@ static void DrawPokerusCuredSymbol(struct Pokemon *mon) // This checks if the mo schedule_bg_copy_tilemap_to_vram(3); } -static void sub_81C228C(bool8 isMonShiny) +static void SetDexNumberColor(bool8 isMonShiny) { if (!isMonShiny) - sub_8199C30(3, 1, 4, 8, 8, 0); + SetBgTilemapPalette(3, 1, 4, 8, 8, 0); else - sub_8199C30(3, 1, 4, 8, 8, 5); + SetBgTilemapPalette(3, 1, 4, 8, 8, 5); schedule_bg_copy_tilemap_to_vram(3); } @@ -2695,19 +2696,19 @@ static void SummaryScreen_PrintTextOnWindow(u8 windowId, const u8 *string, u8 x, AddTextPrinterParameterized4(windowId, 1, x, y, 0, lineSpacing, sTextColors_861CD2C[colorId], 0, string); } -static void sub_81C25E8(void) +static void PrintMonInfo(void) { FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER, PIXEL_FILL(0)); FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME, PIXEL_FILL(0)); FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, PIXEL_FILL(0)); if (!sMonSummaryScreen->summary.isEgg) - sub_81C2628(); + PrintNotEggInfo(); else - sub_81C2794(); + PrintEggInfo(); schedule_bg_copy_tilemap_to_vram(0); } -static void sub_81C2628(void) +static void PrintNotEggInfo(void) { u8 strArray[16]; struct Pokemon *mon = &sMonSummaryScreen->currentMon; @@ -2715,18 +2716,18 @@ static void sub_81C2628(void) u16 dexNum = SpeciesToPokedexNum(summary->species); if (dexNum != 0xFFFF) { - StringCopy(gStringVar1, &gText_UnkCtrlF908Clear01[0]); - ConvertIntToDecimalStringN(gStringVar2, dexNum, 2, 3); + StringCopy(gStringVar1, &gText_NumberClear01[0]); + ConvertIntToDecimalStringN(gStringVar2, dexNum, STR_CONV_MODE_LEADING_ZEROS, 3); StringAppend(gStringVar1, gStringVar2); if (!IsMonShiny(mon)) { SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER, gStringVar1, 0, 1, 0, 1); - sub_81C228C(FALSE); + SetDexNumberColor(FALSE); } else { SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER, gStringVar1, 0, 1, 0, 7); - sub_81C228C(TRUE); + SetDexNumberColor(TRUE); } PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER); } @@ -2734,12 +2735,12 @@ static void sub_81C2628(void) { ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER); if (!IsMonShiny(mon)) - sub_81C228C(FALSE); + SetDexNumberColor(FALSE); else - sub_81C228C(TRUE); + SetDexNumberColor(TRUE); } StringCopy(gStringVar1, &gText_LevelSymbol[0]); - ConvertIntToDecimalStringN(gStringVar2, summary->level, 0, 3); + ConvertIntToDecimalStringN(gStringVar2, summary->level, STR_CONV_MODE_LEFT_ALIGN, 3); StringAppend(gStringVar1, gStringVar2); SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, gStringVar1, 0x18, 17, 0, 1); GetMonNickname(mon, gStringVar1); @@ -2747,12 +2748,12 @@ static void sub_81C2628(void) strArray[0] = CHAR_SLASH; StringCopy(&strArray[1], &gSpeciesNames[summary->species2][0]); SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, &strArray[0], 0, 1, 0, 1); - sub_81C27DC(mon, summary->species2); + PrintGenderSymbol(mon, summary->species2); PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME); PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); } -static void sub_81C2794(void) +static void PrintEggInfo(void) { GetMonNickname(&sMonSummaryScreen->currentMon, gStringVar1); SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME, gStringVar1, 0, 1, 0, 1); @@ -2761,7 +2762,7 @@ static void sub_81C2794(void) ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); } -static void sub_81C27DC(struct Pokemon *mon, u16 species) +static void PrintGenderSymbol(struct Pokemon *mon, u16 species) { if (species != SPECIES_NIDORAN_M && species != SPECIES_NIDORAN_F) { @@ -3054,7 +3055,7 @@ static void PrintMonOTID(void) int xPos; if (InBattleFactory() != TRUE && InSlateportBattleTent() != TRUE) { - ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_UnkCtrlF907F908), (u16)sMonSummaryScreen->summary.OTID, 2, 5); + ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_IDNumber2), (u16)sMonSummaryScreen->summary.OTID, STR_CONV_MODE_LEADING_ZEROS, 5); xPos = GetStringRightAlignXOffset(1, gStringVar1, 56); SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ID), gStringVar1, xPos, 1, 0, 1); } @@ -3141,7 +3142,7 @@ static void GetMetLevelString(u8 *output) u8 level = sMonSummaryScreen->summary.metLevel; if (level == 0) level = EGG_HATCH_LEVEL; - ConvertIntToDecimalStringN(output, level, 0, 3); + ConvertIntToDecimalStringN(output, level, STR_CONV_MODE_LEFT_ALIGN, 3); DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, output); } @@ -3208,7 +3209,7 @@ static void PrintEggOTName(void) static void PrintEggOTID(void) { int x; - StringCopy(gStringVar1, gText_UnkCtrlF907F908); + StringCopy(gStringVar1, gText_IDNumber2); StringAppend(gStringVar1, gText_FiveMarks); x = GetStringRightAlignXOffset(1, gStringVar1, 56); SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ID), gStringVar1, x, 1, 0, 1); @@ -3336,7 +3337,7 @@ static void PrintRibbonCount(void) } else { - ConvertIntToDecimalStringN(gStringVar1, sMonSummaryScreen->summary.ribbonCount, 1, 2); + ConvertIntToDecimalStringN(gStringVar1, sMonSummaryScreen->summary.ribbonCount, STR_CONV_MODE_RIGHT_ALIGN, 2); StringExpandPlaceholders(gStringVar4, gText_RibbonsVar1); text = gStringVar4; } @@ -3352,10 +3353,10 @@ static void BufferLeftColumnStats(void) u8 *attackString = Alloc(8); u8 *defenseString = Alloc(8); - ConvertIntToDecimalStringN(currentHPString, sMonSummaryScreen->summary.currentHP, 1, 3); - ConvertIntToDecimalStringN(maxHPString, sMonSummaryScreen->summary.maxHP, 1, 3); - ConvertIntToDecimalStringN(attackString, sMonSummaryScreen->summary.atk, 1, 7); - ConvertIntToDecimalStringN(defenseString, sMonSummaryScreen->summary.def, 1, 7); + ConvertIntToDecimalStringN(currentHPString, sMonSummaryScreen->summary.currentHP, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(maxHPString, sMonSummaryScreen->summary.maxHP, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(attackString, sMonSummaryScreen->summary.atk, STR_CONV_MODE_RIGHT_ALIGN, 7); + ConvertIntToDecimalStringN(defenseString, sMonSummaryScreen->summary.def, STR_CONV_MODE_RIGHT_ALIGN, 7); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, currentHPString); @@ -3377,9 +3378,9 @@ static void PrintLeftColumnStats(void) static void BufferRightColumnStats(void) { - ConvertIntToDecimalStringN(gStringVar1, sMonSummaryScreen->summary.spatk, 1, 3); - ConvertIntToDecimalStringN(gStringVar2, sMonSummaryScreen->summary.spdef, 1, 3); - ConvertIntToDecimalStringN(gStringVar3, sMonSummaryScreen->summary.speed, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, sMonSummaryScreen->summary.spatk, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar2, sMonSummaryScreen->summary.spdef, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar3, sMonSummaryScreen->summary.speed, STR_CONV_MODE_RIGHT_ALIGN, 3); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); @@ -3400,7 +3401,7 @@ static void PrintExpPointsNextLevel(void) int offset; u32 expToNextLevel; - ConvertIntToDecimalStringN(gStringVar1, sum->exp, 1, 7); + ConvertIntToDecimalStringN(gStringVar1, sum->exp, STR_CONV_MODE_RIGHT_ALIGN, 7); offset = GetStringRightAlignXOffset(1, gStringVar1, 42) + 2; SummaryScreen_PrintTextOnWindow(windowId, gStringVar1, offset, 1, 0, 0); @@ -3409,7 +3410,7 @@ static void PrintExpPointsNextLevel(void) else expToNextLevel = 0; - ConvertIntToDecimalStringN(gStringVar1, expToNextLevel, 1, 6); + ConvertIntToDecimalStringN(gStringVar1, expToNextLevel, STR_CONV_MODE_RIGHT_ALIGN, 6); offset = GetStringRightAlignXOffset(1, gStringVar1, 42) + 2; SummaryScreen_PrintTextOnWindow(windowId, gStringVar1, offset, 17, 0, 0); } @@ -3496,8 +3497,8 @@ static void PrintMoveNameAndPP(u8 moveIndex) { pp = CalculatePPWithBonus(move, summaryStruct->summary.ppBonuses, moveIndex); SummaryScreen_PrintTextOnWindow(moveNameWindowId, gMoveNames[move], 0, moveIndex * 16 + 1, 0, 1); - ConvertIntToDecimalStringN(gStringVar1, summaryStruct->summary.pp[moveIndex], 1, 2); - ConvertIntToDecimalStringN(gStringVar2, pp, 1, 2); + ConvertIntToDecimalStringN(gStringVar1, summaryStruct->summary.pp[moveIndex], STR_CONV_MODE_RIGHT_ALIGN, 2); + ConvertIntToDecimalStringN(gStringVar2, pp, STR_CONV_MODE_RIGHT_ALIGN, 2); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar2); @@ -3530,7 +3531,7 @@ static void PrintMovePowerAndAccuracy(u16 moveIndex) } else { - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveIndex].power, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveIndex].power, STR_CONV_MODE_RIGHT_ALIGN, 3); text = gStringVar1; } @@ -3542,7 +3543,7 @@ static void PrintMovePowerAndAccuracy(u16 moveIndex) } else { - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveIndex].accuracy, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveIndex].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3); text = gStringVar1; } @@ -3660,7 +3661,7 @@ static void PrintNewMoveDetailsOrCancelText(void) else SummaryScreen_PrintTextOnWindow(windowId1, gMoveNames[move], 0, 65, 0, 5); - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].pp, 1, 2); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].pp, STR_CONV_MODE_RIGHT_ALIGN, 2); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar1); diff --git a/src/pokenav.c b/src/pokenav.c index a5bb51789b..a7b7c95a31 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "task.h" #include "main.h" #include "overworld.h" @@ -48,8 +48,8 @@ static void VBlankCB_Pokenav(void); static void CB2_Pokenav(void); static void Task_RunLoopedTask_LinkMode(u8 a0); static void Task_RunLoopedTask(u8 taskId); -static void sub_81C742C(u8 taskId); -static void sub_81C72BC(void); +static void Task_Pokenav(u8 taskId); +static void CB2_InitPokenavForTutorial(void); const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] = { @@ -311,19 +311,19 @@ void CB2_InitPokeNav(void) InitPokenavResources(gPokenavResources); ResetTasks(); SetVBlankCallback(NULL); - CreateTask(sub_81C742C, 0); + CreateTask(Task_Pokenav, 0); SetMainCallback2(CB2_Pokenav); SetVBlankCallback(VBlankCB_Pokenav); } } -void sub_81C72A4(void) +void OpenPokenavForTutorial(void) { - SetMainCallback2(sub_81C72BC); - FadeScreen(1, 0); + SetMainCallback2(CB2_InitPokenavForTutorial); + FadeScreen(FADE_TO_BLACK, 0); } -static void sub_81C72BC(void) +static void CB2_InitPokenavForTutorial(void) { UpdatePaletteFade(); if (gPaletteFade.active) @@ -337,12 +337,12 @@ static void sub_81C72BC(void) else { InitPokenavResources(gPokenavResources); - gPokenavResources->mode = POKENAV_MODE_FORCE_CALL_1; + gPokenavResources->mode = POKENAV_MODE_FORCE_CALL_READY; ResetTasks(); ResetSpriteData(); FreeAllSpritePalettes(); SetVBlankCallback(NULL); - CreateTask(sub_81C742C, 0); + CreateTask(Task_Pokenav, 0); SetMainCallback2(CB2_Pokenav); SetVBlankCallback(VBlankCB_Pokenav); } @@ -416,7 +416,7 @@ static void VBlankCB_Pokenav(void) ProcessSpriteCopyRequests(); } -static void sub_81C742C(u8 taskId) +static void Task_Pokenav(u8 taskId) { u32 v1; s16 *data = gTasks[taskId].data; diff --git a/src/pokenav_main_menu.c b/src/pokenav_main_menu.c index 4422a70e3a..583d23a557 100644 --- a/src/pokenav_main_menu.c +++ b/src/pokenav_main_menu.c @@ -41,7 +41,7 @@ struct PokenavMainMenuResources u32 (*unk4)(void); u32 unk8; u32 currentTaskId; - u32 unk10; + u32 helpBarWindowId; u32 unk14; struct Sprite *spinningPokenav; struct Sprite *leftHeaderSprites[2]; @@ -68,10 +68,10 @@ static void MoveLeftHeader(struct Sprite *sprite, s32 startX, s32 endX, s32 dura static void SpriteCB_MoveLeftHeader(struct Sprite *sprite); static void InitPokenavMainMenuResources(void); static void InitHoennMapHeaderSprites(void); -static void sub_81C7B74(void); +static void InitHelpBar(void); static u32 LoopedTask_ScrollMenuHeaderDown(s32 a0); static u32 LoopedTask_ScrollMenuHeaderUp(s32 a0); -static void sub_81C7BF8(u32 a0); +static void DrawHelpBar(u32 windowId); static void SpriteCB_SpinningPokenav(struct Sprite* sprite); static u32 LoopedTask_InitPokenavMenu(s32 a0); @@ -92,7 +92,7 @@ const struct BgTemplate gPokenavMainMenuBgTemplates[] = } }; -const struct WindowTemplate gUnknown_0861FA08[2] = +static const struct WindowTemplate sHelpBarWindowTemplate[] = { { .bg = 0, @@ -103,36 +103,28 @@ const struct WindowTemplate gUnknown_0861FA08[2] = .paletteNum = 0, .baseBlock = 0x36, }, - { - .bg = 0xFF, - .tilemapLeft = 0, - .tilemapTop = 0, - .width = 0, - .height = 0, - .paletteNum = 0, - .baseBlock = 0, - }, + DUMMY_WIN_TEMPLATE }; -const u8 *const sHelpBarTexts[12] = +static const u8 *const sHelpBarTexts[HELPBAR_COUNT] = { - gText_Pokenav_ClearButtonList, - gText_PokenavMap_ZoomedOutButtons, - gText_PokenavMap_ZoomedInButtons, - gText_PokenavCondition_MonListButtons, - gText_PokenavCondition_MonStatusButtons, - gText_PokenavCondition_MarkingButtons, - gText_PokenavMatchCall_TrainerListButtons, - gText_PokenavMatchCall_CallMenuButtons, - gText_PokenavMatchCall_CheckTrainerButtons, - gText_PokenavRibbons_MonListButtons, - gText_PokenavRibbons_RibbonListButtons, - gText_PokenavRibbons_RibbonCheckButtons, + [HELPBAR_NONE] = gText_Pokenav_ClearButtonList, + [HELPBAR_MAP_ZOOMED_OUT] = gText_PokenavMap_ZoomedOutButtons, + [HELPBAR_MAP_ZOOMED_IN] = gText_PokenavMap_ZoomedInButtons, + [HELPBAR_CONDITION_MON_LIST] = gText_PokenavCondition_MonListButtons, + [HELPBAR_CONDITION_MON_STATUS] = gText_PokenavCondition_MonStatusButtons, + [HELPBAR_CONDITION_MARKINGS] = gText_PokenavCondition_MarkingButtons, + [HELPBAR_MC_TRAINER_LIST] = gText_PokenavMatchCall_TrainerListButtons, + [HELPBAR_MC_CALL_MENU] = gText_PokenavMatchCall_CallMenuButtons, + [HELPBAR_MC_CHECK_PAGE] = gText_PokenavMatchCall_CheckTrainerButtons, + [HELPBAR_RIBBONS_MON_LIST] = gText_PokenavRibbons_MonListButtons, + [HELPBAR_RIBBONS_LIST] = gText_PokenavRibbons_RibbonListButtons, + [HELPBAR_RIBBONS_CHECK] = gText_PokenavRibbons_RibbonCheckButtons, }; -const u8 gMenuButtonReminderColor[3] = +static const u8 sHelpBarTextColors[3] = { - 4, 1, 2 + TEXT_COLOR_RED, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY }; static const struct CompressedSpriteSheet gSpinningPokenavSpriteSheet[] = @@ -288,7 +280,7 @@ static const struct OamData sUnknown_0861FB24 = .y = 0, .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, @@ -386,7 +378,7 @@ static u32 LoopedTask_InitPokenavMenu(s32 a0) if (free_temp_tile_data_buffers_if_possible()) return LT_PAUSE; - sub_81C7B74(); + InitHelpBar(); return LT_INC_AND_PAUSE; case 3: if (IsDma3ManagerBusyWithBgCopy()) @@ -676,31 +668,31 @@ void InitBgTemplates(const struct BgTemplate *templates, int count) InitBgFromTemplate(templates++); } -static void sub_81C7B74(void) +static void InitHelpBar(void) { struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - InitWindows(&gUnknown_0861FA08[0]); - structPtr->unk10 = 0; - sub_81C7BF8(structPtr->unk10); - PutWindowTilemap(structPtr->unk10); - CopyWindowToVram(structPtr->unk10, 3); // TODO: Use a defined constant here. + InitWindows(&sHelpBarWindowTemplate[0]); + structPtr->helpBarWindowId = 0; + DrawHelpBar(structPtr->helpBarWindowId); + PutWindowTilemap(structPtr->helpBarWindowId); + CopyWindowToVram(structPtr->helpBarWindowId, 3); // TODO: Use a defined constant here. } -void sub_81C7BA4(u32 helpBarIndex) +void PrintHelpBarText(u32 textId) { struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); - sub_81C7BF8(structPtr->unk10); - AddTextPrinterParameterized3(structPtr->unk10, 1, 0, 1, gMenuButtonReminderColor, 0, sHelpBarTexts[helpBarIndex]); + DrawHelpBar(structPtr->helpBarWindowId); + AddTextPrinterParameterized3(structPtr->helpBarWindowId, 1, 0, 1, sHelpBarTextColors, 0, sHelpBarTexts[textId]); } -bool32 IsDma3ManagerBusyWithBgCopy_(void) +bool32 WaitForHelpBar(void) { return IsDma3ManagerBusyWithBgCopy(); } -static void sub_81C7BF8(u32 windowId) +static void DrawHelpBar(u32 windowId) { FillWindowPixelBuffer(windowId, PIXEL_FILL(4)); FillWindowPixelRect(windowId, PIXEL_FILL(5), 0, 0, 0x80, 1); diff --git a/src/pokenav_match_call_data.c b/src/pokenav_match_call_data.c index 5379ee88ea..91dbe40056 100644 --- a/src/pokenav_match_call_data.c +++ b/src/pokenav_match_call_data.c @@ -7,9 +7,23 @@ #include "gym_leader_rematch.h" #include "match_call.h" #include "pokenav.h" +#include "strings.h" #include "constants/region_map_sections.h" #include "constants/trainers.h" + +// NPC below means non-trainer character (no rematch or check page) +// Steven also uses this type but has a check page by using a MatchCallCheckPageOverride +enum +{ + MC_TYPE_NPC, + MC_TYPE_TRAINER, + MC_TYPE_WALLY, + MC_TYPE_BIRCH, + MC_TYPE_RIVAL, + MC_TYPE_LEADER +}; + // Static type declarations typedef struct MatchCallTextDataStruct { @@ -24,7 +38,7 @@ struct MatchCallStructCommon { u16 flag; }; -struct MatchCallStruct0 { +struct MatchCallStructNPC { u8 type; u8 mapSec; u16 flag; @@ -33,7 +47,8 @@ struct MatchCallStruct0 { const match_call_text_data_t *textData; }; -struct MatchCallStruct1 { +// Shared by MC_TYPE_TRAINER and MC_TYPE_LEADER +struct MatchCallStructTrainer { u8 type; u8 mapSec; u16 flag; @@ -43,22 +58,22 @@ struct MatchCallStruct1 { const match_call_text_data_t *textData; }; -struct MatchCallSubstruct2 { +struct MatchCallLocationOverride { u16 flag; u8 mapSec; }; -struct MatchCallStruct2 { +struct MatchCallWally { u8 type; u8 mapSec; u16 flag; u16 rematchTableIdx; const u8 *desc; const match_call_text_data_t *textData; - const struct MatchCallSubstruct2 *v10; + const struct MatchCallLocationOverride *locationData; }; -struct MatchCallStruct3 { +struct MatchCallBirch { u8 type; u8 mapSec; u16 flag; @@ -66,753 +81,617 @@ struct MatchCallStruct3 { const u8 *name; }; -struct MatchCallStruct4 { +struct MatchCallRival { u8 type; - u8 gender; + u8 playerGender; u16 flag; const u8 *desc; const u8 *name; const match_call_text_data_t *textData; }; -// Note: Type1 and Type5 have identical struct layouts. -struct MatchCallStruct5 { - u8 type; - u8 mapSec; - u16 flag; - u16 rematchTableIdx; - const u8 *desc; - const u8 *name; - const match_call_text_data_t *textData; -}; - typedef union { const struct MatchCallStructCommon *common; - const struct MatchCallStruct0 *type0; - const struct MatchCallStruct1 *type1; - const struct MatchCallStruct2 *type2; - const struct MatchCallStruct3 *type3; - const struct MatchCallStruct4 *type4; - const struct MatchCallStruct5 *type5; + const struct MatchCallStructNPC *npc; + const struct MatchCallStructTrainer *trainer; + const struct MatchCallWally *wally; + const struct MatchCallBirch *birch; + const struct MatchCallRival *rival; + const struct MatchCallStructTrainer *leader; } match_call_t; -struct MatchCallOverride { +struct MatchCallCheckPageOverride { u16 idx; u16 facilityClass; u32 flag; - const u8 *flavorTexts[4]; + const u8 *flavorTexts[CHECK_PAGE_ENTRY_COUNT]; }; // Static RAM declarations // Static ROM declarations -static bool32 MatchCallGetFlag_Type0(match_call_t); -static bool32 MatchCallGetFlag_Type1(match_call_t); -static bool32 MatchCallGetFlag_Type2(match_call_t); -static bool32 MatchCallGetFlag_Type3(match_call_t); -static bool32 MatchCallGetFlag_Type4(match_call_t); +static bool32 MatchCall_GetEnabled_NPC(match_call_t); +static bool32 MatchCall_GetEnabled_Trainer(match_call_t); +static bool32 MatchCall_GetEnabled_Wally(match_call_t); +static bool32 MatchCall_GetEnabled_Birch(match_call_t); +static bool32 MatchCall_GetEnabled_Rival(match_call_t); -static u8 MatchCallGetMapSec_Type0(match_call_t); -static u8 MatchCallGetMapSec_Type1(match_call_t); -static u8 MatchCallGetMapSec_Type2(match_call_t); -static u8 MatchCallGetMapSec_Type3(match_call_t); -static u8 MatchCallGetMapSec_Type4(match_call_t); +static u8 MatchCall_GetMapSec_NPC(match_call_t); +static u8 MatchCall_GetMapSec_Trainer(match_call_t); +static u8 MatchCall_GetMapSec_Wally(match_call_t); +static u8 MatchCall_GetMapSec_Birch(match_call_t); +static u8 MatchCall_GetMapSec_Rival(match_call_t); -static bool32 MatchCall_IsRematchable_Type0(match_call_t); -static bool32 MatchCall_IsRematchable_Type1(match_call_t); -static bool32 MatchCall_IsRematchable_Type2(match_call_t); -static bool32 MatchCall_IsRematchable_Type3(match_call_t); -static bool32 MatchCall_IsRematchable_Type4(match_call_t); +static bool32 MatchCall_IsRematchable_NPC(match_call_t); +static bool32 MatchCall_IsRematchable_Trainer(match_call_t); +static bool32 MatchCall_IsRematchable_Wally(match_call_t); +static bool32 MatchCall_IsRematchable_Birch(match_call_t); +static bool32 MatchCall_IsRematchable_Rival(match_call_t); -static bool32 MatchCall_HasCheckPage_Type0(match_call_t); -static bool32 MatchCall_HasCheckPage_Type1(match_call_t); -static bool32 MatchCall_HasCheckPage_Type2(match_call_t); -static bool32 MatchCall_HasCheckPage_Type3(match_call_t); -static bool32 MatchCall_HasCheckPage_Type4(match_call_t); +static bool32 MatchCall_HasCheckPage_NPC(match_call_t); +static bool32 MatchCall_HasCheckPage_Trainer(match_call_t); +static bool32 MatchCall_HasCheckPage_Wally(match_call_t); +static bool32 MatchCall_HasCheckPage_Birch(match_call_t); +static bool32 MatchCall_HasCheckPage_Rival(match_call_t); -static u32 MatchCall_GetRematchTableIdx_Type0(match_call_t); -static u32 MatchCall_GetRematchTableIdx_Type1(match_call_t); -static u32 MatchCall_GetRematchTableIdx_Type2(match_call_t); -static u32 MatchCall_GetRematchTableIdx_Type3(match_call_t); -static u32 MatchCall_GetRematchTableIdx_Type4(match_call_t); +static u32 MatchCall_GetRematchTableIdx_NPC(match_call_t); +static u32 MatchCall_GetRematchTableIdx_Trainer(match_call_t); +static u32 MatchCall_GetRematchTableIdx_Wally(match_call_t); +static u32 MatchCall_GetRematchTableIdx_Birch(match_call_t); +static u32 MatchCall_GetRematchTableIdx_Rival(match_call_t); -static void MatchCall_GetMessage_Type0(match_call_t, u8 *); -static void MatchCall_GetMessage_Type1(match_call_t, u8 *); -static void MatchCall_GetMessage_Type2(match_call_t, u8 *); -static void MatchCall_GetMessage_Type3(match_call_t, u8 *); -static void MatchCall_GetMessage_Type4(match_call_t, u8 *); +static void MatchCall_GetMessage_NPC(match_call_t, u8 *); +static void MatchCall_GetMessage_Trainer(match_call_t, u8 *); +static void MatchCall_GetMessage_Wally(match_call_t, u8 *); +static void MatchCall_GetMessage_Birch(match_call_t, u8 *); +static void MatchCall_GetMessage_Rival(match_call_t, u8 *); -static void MatchCall_GetNameAndDesc_Type0(match_call_t, const u8 **, const u8 **); -static void MatchCall_GetNameAndDesc_Type1(match_call_t, const u8 **, const u8 **); -static void MatchCall_GetNameAndDesc_Type2(match_call_t, const u8 **, const u8 **); -static void MatchCall_GetNameAndDesc_Type3(match_call_t, const u8 **, const u8 **); -static void MatchCall_GetNameAndDesc_Type4(match_call_t, const u8 **, const u8 **); +static void MatchCall_GetNameAndDesc_NPC(match_call_t, const u8 **, const u8 **); +static void MatchCall_GetNameAndDesc_Trainer(match_call_t, const u8 **, const u8 **); +static void MatchCall_GetNameAndDesc_Wally(match_call_t, const u8 **, const u8 **); +static void MatchCall_GetNameAndDesc_Birch(match_call_t, const u8 **, const u8 **); +static void MatchCall_GetNameAndDesc_Rival(match_call_t, const u8 **, const u8 **); -static void sub_81D1920(const match_call_text_data_t *, u8 *); -static void sub_81D199C(const match_call_text_data_t *, u16, u8 *); +static void MatchCall_BufferCallMessageText(const match_call_text_data_t *, u8 *); +static void MatchCall_BufferCallMessageTextByRematchTeam(const match_call_text_data_t *, u16, u8 *); static void MatchCall_GetNameAndDescByRematchIdx(u32, const u8 **, const u8 **); -extern const u8 gText_MrStone_Pokenav_2B60C0[]; -extern const u8 gText_MrStone_Pokenav_2B61E6[]; -extern const u8 gText_MrStone_Pokenav_2B6302[]; -extern const u8 gText_MrStone_Pokenav_2B63A0[]; -extern const u8 gText_MrStone_Pokenav_2B64A2[]; -extern const u8 gText_MrStone_Pokenav_2B6526[]; -extern const u8 gText_MrStone_Pokenav_2B65BB[]; -extern const u8 gText_MrStone_Pokenav_2B6664[]; -extern const u8 gText_MrStone_Pokenav_2B66B1[]; -extern const u8 gText_MrStone_Pokenav_2B6703[]; -extern const u8 gText_MrStone_Pokenav_2B67ED[]; - -extern const u8 gMrStoneMatchCallDesc[]; -extern const u8 gMrStoneMatchCallName[]; - -extern const u8 gText_Norman_Pokenav_2B5719[]; -extern const u8 gText_Norman_Pokenav_2B5795[]; -extern const u8 gText_Norman_Pokenav_2B584D[]; -extern const u8 gText_Norman_Pokenav_2B58E3[]; -extern const u8 gText_Norman_Pokenav_2B5979[]; -extern const u8 gText_Norman_Pokenav_2B5A07[]; -extern const u8 gText_Norman_Pokenav_2B5A69[]; -extern const u8 gText_Norman_Pokenav_2B5ACF[]; -extern const u8 gText_Norman_Pokenav_2B5B5E[]; - -extern const u8 gNormanMatchCallDesc[]; -extern const u8 gNormanMatchCallName[]; - -extern const u8 gProfBirchMatchCallDesc[]; -extern const u8 gProfBirchMatchCallName[]; - -extern const u8 gText_Mom_Pokenav_2B227B[]; -extern const u8 gText_Mom_Pokenav_2B2310[]; -extern const u8 gText_Mom_Pokenav_2B23F3[]; - -extern const u8 gMomMatchCallDesc[]; -extern const u8 gMomMatchCallName[]; - -extern const u8 gText_Steven_Pokenav_2B5B95[]; -extern const u8 gText_Steven_Pokenav_2B5C53[]; -extern const u8 gText_Steven_Pokenav_2B5CC9[]; -extern const u8 gText_Steven_Pokenav_2B5DB4[]; -extern const u8 gText_Steven_Pokenav_2B5E26[]; -extern const u8 gText_Steven_Pokenav_2B5EA2[]; -extern const u8 gText_Steven_Pokenav_2B5ED9[]; - -extern const u8 gStevenMatchCallDesc[]; -extern const u8 gStevenMatchCallName[]; - -extern const u8 gText_May_Pokenav_2B3AB3[]; -extern const u8 gText_May_Pokenav_2B3B3F[]; -extern const u8 gText_May_Pokenav_2B3C13[]; -extern const u8 gText_May_Pokenav_2B3CF3[]; -extern const u8 gText_May_Pokenav_2B3D4B[]; -extern const u8 gText_May_Pokenav_2B3DD1[]; -extern const u8 gText_May_Pokenav_2B3E69[]; -extern const u8 gText_May_Pokenav_2B3ECD[]; -extern const u8 gText_May_Pokenav_2B3F2B[]; -extern const u8 gText_May_Pokenav_2B3FFB[]; -extern const u8 gText_May_Pokenav_2B402B[]; -extern const u8 gText_May_Pokenav_2B414B[]; -extern const u8 gText_May_Pokenav_2B4228[]; -extern const u8 gText_May_Pokenav_2B42E0[]; -extern const u8 gText_May_Pokenav_2B4350[]; -extern const u8 gMayBrendanMatchCallDesc[]; -extern const u8 gExpandedPlaceholder_May[]; -extern const u8 gText_Brendan_Pokenav_2B43EF[]; -extern const u8 gText_Brendan_Pokenav_2B4486[]; -extern const u8 gText_Brendan_Pokenav_2B4560[]; -extern const u8 gText_Brendan_Pokenav_2B463F[]; -extern const u8 gText_Brendan_Pokenav_2B46B7[]; -extern const u8 gText_Brendan_Pokenav_2B4761[]; -extern const u8 gText_Brendan_Pokenav_2B47F4[]; -extern const u8 gText_Brendan_Pokenav_2B4882[]; -extern const u8 gText_Brendan_Pokenav_2B4909[]; -extern const u8 gText_Brendan_Pokenav_2B49C4[]; -extern const u8 gText_Brendan_Pokenav_2B4A44[]; -extern const u8 gText_Brendan_Pokenav_2B4B28[]; -extern const u8 gText_Brendan_Pokenav_2B4C15[]; -extern const u8 gText_Brendan_Pokenav_2B4CD8[]; -extern const u8 gText_Brendan_Pokenav_2B4D46[]; -extern const u8 gExpandedPlaceholder_Brendan[]; -extern const u8 gText_Wally_Pokenav_2B4DE2[]; -extern const u8 gText_Wally_Pokenav_2B4E57[]; -extern const u8 gText_Wally_Pokenav_2B4EA5[]; -extern const u8 gText_Wally_Pokenav_2B4F41[]; -extern const u8 gText_Wally_Pokenav_2B4FF3[]; -extern const u8 gText_Wally_Pokenav_2B50B1[]; -extern const u8 gText_Wally_Pokenav_2B5100[]; -extern const u8 gWallyMatchCallDesc[]; -extern const u8 gText_Scott_Pokenav_2B5184[]; -extern const u8 gText_Scott_Pokenav_2B5275[]; -extern const u8 gText_Scott_Pokenav_2B5323[]; -extern const u8 gText_Scott_Pokenav_2B53DB[]; -extern const u8 gText_Scott_Pokenav_2B54A5[]; -extern const u8 gText_Scott_Pokenav_2B5541[]; -extern const u8 gText_Scott_Pokenav_2B56CA[]; -extern const u8 gScottMatchCallDesc[]; -extern const u8 gScottMatchCallName[]; -extern const u8 gText_Roxanne_Pokenav_2B2456[]; -extern const u8 gText_Roxanne_Pokenav_2B250E[]; -extern const u8 gText_Roxanne_Pokenav_2B25C1[]; -extern const u8 gText_Roxanne_Pokenav_2B2607[]; -extern const u8 gRoxanneMatchCallDesc[]; -extern const u8 gText_Brawly_Pokenav_2B2659[]; -extern const u8 gText_Brawly_Pokenav_2B275D[]; -extern const u8 gText_Brawly_Pokenav_2B286F[]; -extern const u8 gText_Brawly_Pokenav_2B28D1[]; -extern const u8 gBrawlyMatchCallDesc[]; -extern const u8 gText_Wattson_Pokenav_2B2912[]; -extern const u8 gText_Wattson_Pokenav_2B29CA[]; -extern const u8 gText_Wattson_Pokenav_2B2AB6[]; -extern const u8 gText_Wattson_Pokenav_2B2B01[]; -extern const u8 gWattsonMatchCallDesc[]; -extern const u8 gText_Flannery_Pokenav_2B2B4D[]; -extern const u8 gText_Flannery_Pokenav_2B2C0E[]; -extern const u8 gText_Flannery_Pokenav_2B2CF1[]; -extern const u8 gText_Flannery_Pokenav_2B2D54[]; -extern const u8 gFlanneryMatchCallDesc[]; -extern const u8 gText_Winona_Pokenav_2B2DA4[]; -extern const u8 gText_Winona_Pokenav_2B2E2B[]; -extern const u8 gText_Winona_Pokenav_2B2EC2[]; -extern const u8 gText_Winona_Pokenav_2B2F16[]; -extern const u8 gWinonaMatchCallDesc[]; -extern const u8 gText_TateLiza_Pokenav_2B2F97[]; -extern const u8 gText_TateLiza_Pokenav_2B306E[]; -extern const u8 gText_TateLiza_Pokenav_2B3158[]; -extern const u8 gText_TateLiza_Pokenav_2B31CD[]; -extern const u8 gTateLizaMatchCallDesc[]; -extern const u8 gText_Juan_Pokenav_2B3249[]; -extern const u8 gText_Juan_Pokenav_2B32EC[]; -extern const u8 gText_Juan_Pokenav_2B33AA[]; -extern const u8 gText_Juan_Pokenav_2B341E[]; -extern const u8 gJuanMatchCallDesc[]; -extern const u8 gText_Sidney_Pokenav_2B34CC[]; -extern const u8 gEliteFourMatchCallDesc[]; -extern const u8 gText_Phoebe_Pokenav_2B3561[]; -extern const u8 gText_Glacia_Pokenav_2B35E4[]; -extern const u8 gText_Drake_Pokenav_2B368B[]; -extern const u8 gText_Wallace_Pokenav_2B3790[]; -extern const u8 gChampionMatchCallDesc[]; -extern const u8 gMatchCallStevenStrategyText[]; -extern const u8 gMatchCall_StevenTrainersPokemonText[]; -extern const u8 gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle[]; -extern const u8 gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle[]; -extern const u8 gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle[]; -extern const u8 gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle[]; -extern const u8 gMatchCall_BrendanStrategyText[]; -extern const u8 gMatchCall_BrendanTrainersPokemonText[]; -extern const u8 gMatchCall_BrendanSelfIntroductionText_Line1[]; -extern const u8 gMatchCall_BrendanSelfIntroductionText_Line2[]; -extern const u8 gMatchCall_MayStrategyText[]; -extern const u8 gMatchCall_MayTrainersPokemonText[]; -extern const u8 gMatchCall_MaySelfIntroductionText_Line1[]; -extern const u8 gMatchCall_MaySelfIntroductionText_Line2[]; // .rodata static const match_call_text_data_t sMrStoneTextScripts[] = { - { gText_MrStone_Pokenav_2B60C0, 0xFFFF, FLAG_ENABLE_MR_STONE_POKENAV }, - { gText_MrStone_Pokenav_2B61E6, FLAG_ENABLE_MR_STONE_POKENAV, 0xFFFF }, - { gText_MrStone_Pokenav_2B6302, FLAG_DELIVERED_STEVEN_LETTER, 0xFFFF }, - { gText_MrStone_Pokenav_2B63A0, FLAG_RECEIVED_EXP_SHARE, 0xFFFF }, - { gText_MrStone_Pokenav_2B64A2, FLAG_RECEIVED_HM04, 0xFFFF }, - { gText_MrStone_Pokenav_2B6526, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, - { gText_MrStone_Pokenav_2B65BB, FLAG_RECEIVED_CASTFORM, 0xFFFF }, - { gText_MrStone_Pokenav_2B6664, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, - { gText_MrStone_Pokenav_2B66B1, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, - { gText_MrStone_Pokenav_2B6703, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, - { gText_MrStone_Pokenav_2B67ED, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_MrStone1, 0xFFFF, FLAG_ENABLE_MR_STONE_POKENAV }, + { MatchCall_Text_MrStone2, FLAG_ENABLE_MR_STONE_POKENAV, 0xFFFF }, + { MatchCall_Text_MrStone3, FLAG_DELIVERED_STEVEN_LETTER, 0xFFFF }, + { MatchCall_Text_MrStone4, FLAG_RECEIVED_EXP_SHARE, 0xFFFF }, + { MatchCall_Text_MrStone5, FLAG_RECEIVED_HM04, 0xFFFF }, + { MatchCall_Text_MrStone6, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, + { MatchCall_Text_MrStone7, FLAG_RECEIVED_CASTFORM, 0xFFFF }, + { MatchCall_Text_MrStone8, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, + { MatchCall_Text_MrStone9, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, + { MatchCall_Text_MrStone10, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, + { MatchCall_Text_MrStone11, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct0 sMrStoneMatchCallHeader = +static const struct MatchCallStructNPC sMrStoneMatchCallHeader = { - .type = 0, + .type = MC_TYPE_NPC, .mapSec = MAPSEC_RUSTBORO_CITY, .flag = 0xFFFF, - .desc = gMrStoneMatchCallDesc, - .name = gMrStoneMatchCallName, + .desc = gText_MrStoneMatchCallDesc, + .name = gText_MrStoneMatchCallName, .textData = sMrStoneTextScripts }; static const match_call_text_data_t sNormanTextScripts[] = { - { gText_Norman_Pokenav_2B5719, FLAG_ENABLE_NORMAN_MATCH_CALL, 0xFFFF }, - { gText_Norman_Pokenav_2B5795, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, - { gText_Norman_Pokenav_2B584D, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, - { gText_Norman_Pokenav_2B58E3, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, - { gText_Norman_Pokenav_2B5979, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, - { gText_Norman_Pokenav_2B5A07, 0xFFFE, 0xFFFF }, - { gText_Norman_Pokenav_2B5A69, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { gText_Norman_Pokenav_2B5ACF, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { gText_Norman_Pokenav_2B5B5E, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Norman1, FLAG_ENABLE_NORMAN_MATCH_CALL, 0xFFFF }, + { MatchCall_Text_Norman2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, + { MatchCall_Text_Norman3, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, + { MatchCall_Text_Norman4, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, + { MatchCall_Text_Norman5, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, + { MatchCall_Text_Norman6, 0xFFFE, 0xFFFF }, + { MatchCall_Text_Norman7, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { MatchCall_Text_Norman8, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { MatchCall_Text_Norman9, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct5 sNormanMatchCallHeader = +static const struct MatchCallStructTrainer sNormanMatchCallHeader = { - .type = 5, + .type = MC_TYPE_LEADER, .mapSec = MAPSEC_PETALBURG_CITY, .flag = FLAG_ENABLE_NORMAN_MATCH_CALL, .rematchTableIdx = REMATCH_NORMAN, - .desc = gNormanMatchCallDesc, - .name = gNormanMatchCallName, + .desc = gText_NormanMatchCallDesc, + .name = gText_NormanMatchCallName, .textData = sNormanTextScripts }; -static const struct MatchCallStruct3 sProfBirchMatchCallHeader = +static const struct MatchCallBirch sProfBirchMatchCallHeader = { - .type = 3, + .type = MC_TYPE_BIRCH, .mapSec = 0, .flag = FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, - .desc = gProfBirchMatchCallDesc, - .name = gProfBirchMatchCallName + .desc = gText_ProfBirchMatchCallDesc, + .name = gText_ProfBirchMatchCallName }; static const match_call_text_data_t sMomTextScripts[] = { - { gText_Mom_Pokenav_2B227B, 0xffff, 0xffff }, - { gText_Mom_Pokenav_2B2310, FLAG_DEFEATED_PETALBURG_GYM, 0xffff }, - { gText_Mom_Pokenav_2B23F3, FLAG_SYS_GAME_CLEAR, 0xffff }, - { NULL, 0xffff, 0xffff } + { MatchCall_Text_Mom1, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Mom2, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, + { MatchCall_Text_Mom3, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct0 sMomMatchCallHeader = +static const struct MatchCallStructNPC sMomMatchCallHeader = { - .type = 0, + .type = MC_TYPE_NPC, .mapSec = MAPSEC_LITTLEROOT_TOWN, .flag = FLAG_ENABLE_MOM_MATCH_CALL, - .desc = gMomMatchCallDesc, - .name = gMomMatchCallName, + .desc = gText_MomMatchCallDesc, + .name = gText_MomMatchCallName, .textData = sMomTextScripts }; static const match_call_text_data_t sStevenTextScripts[] = { - { gText_Steven_Pokenav_2B5B95, 0xffff, 0xffff }, - { gText_Steven_Pokenav_2B5C53, FLAG_RUSTURF_TUNNEL_OPENED, 0xffff }, - { gText_Steven_Pokenav_2B5CC9, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xffff }, - { gText_Steven_Pokenav_2B5DB4, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xffff }, - { gText_Steven_Pokenav_2B5E26, FLAG_DEFEATED_MOSSDEEP_GYM, 0xffff }, - { gText_Steven_Pokenav_2B5EA2, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xffff }, - { gText_Steven_Pokenav_2B5ED9, FLAG_SYS_GAME_CLEAR, 0xffff }, - { NULL, 0xffff, 0xffff }, + { MatchCall_Text_Steven1, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Steven2, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF }, + { MatchCall_Text_Steven3, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, + { MatchCall_Text_Steven4, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, + { MatchCall_Text_Steven5, FLAG_DEFEATED_MOSSDEEP_GYM, 0xFFFF }, + { MatchCall_Text_Steven6, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, + { MatchCall_Text_Steven7, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF }, }; -static const struct MatchCallStruct0 sStevenMatchCallHeader = +static const struct MatchCallStructNPC sStevenMatchCallHeader = { - .type = 0, + .type = MC_TYPE_NPC, .mapSec = MAPSEC_NONE, .flag = FLAG_REGISTERED_STEVEN_POKENAV, - .desc = gStevenMatchCallDesc, - .name = gStevenMatchCallName, + .desc = gText_StevenMatchCallDesc, + .name = gText_StevenMatchCallName, .textData = sStevenTextScripts }; static const match_call_text_data_t sMayTextScripts[] = { - { gText_May_Pokenav_2B3AB3, 0xFFFF, 0xFFFF }, - { gText_May_Pokenav_2B3B3F, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, - { gText_May_Pokenav_2B3C13, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF }, - { gText_May_Pokenav_2B3CF3, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF }, - { gText_May_Pokenav_2B3D4B, FLAG_RECEIVED_HM04, 0xFFFF }, - { gText_May_Pokenav_2B3DD1, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, - { gText_May_Pokenav_2B3E69, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, - { gText_May_Pokenav_2B3ECD, FLAG_RECEIVED_CASTFORM, 0xFFFF }, - { gText_May_Pokenav_2B3F2B, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, - { gText_May_Pokenav_2B3FFB, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, - { gText_May_Pokenav_2B402B, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF }, - { gText_May_Pokenav_2B414B, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, - { gText_May_Pokenav_2B4228, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, - { gText_May_Pokenav_2B42E0, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, - { gText_May_Pokenav_2B4350, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_May1, 0xFFFF, 0xFFFF }, + { MatchCall_Text_May2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, + { MatchCall_Text_May3, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF }, + { MatchCall_Text_May4, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF }, + { MatchCall_Text_May5, FLAG_RECEIVED_HM04, 0xFFFF }, + { MatchCall_Text_May6, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, + { MatchCall_Text_May7, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, + { MatchCall_Text_May8, FLAG_RECEIVED_CASTFORM, 0xFFFF }, + { MatchCall_Text_May9, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, + { MatchCall_Text_May10, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, + { MatchCall_Text_May11, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF }, + { MatchCall_Text_May12, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, + { MatchCall_Text_May13, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, + { MatchCall_Text_May14, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, + { MatchCall_Text_May15, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct4 sMayMatchCallHeader = +static const struct MatchCallRival sMayMatchCallHeader = { - .type = 4, - .gender = MALE, //Gender of player + .type = MC_TYPE_RIVAL, + .playerGender = MALE, .flag = FLAG_ENABLE_RIVAL_MATCH_CALL, - .desc = gMayBrendanMatchCallDesc, - .name = gExpandedPlaceholder_May, + .desc = gText_MayBrendanMatchCallDesc, + .name = gText_ExpandedPlaceholder_May, .textData = sMayTextScripts }; static const match_call_text_data_t sBrendanTextScripts[] = { - { gText_Brendan_Pokenav_2B43EF, 0xFFFF, 0xFFFF }, - { gText_Brendan_Pokenav_2B4486, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, - { gText_Brendan_Pokenav_2B4560, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF }, - { gText_Brendan_Pokenav_2B463F, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF }, - { gText_Brendan_Pokenav_2B46B7, FLAG_RECEIVED_HM04, 0xFFFF }, - { gText_Brendan_Pokenav_2B4761, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, - { gText_Brendan_Pokenav_2B47F4, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, - { gText_Brendan_Pokenav_2B4882, FLAG_RECEIVED_CASTFORM, 0xFFFF }, - { gText_Brendan_Pokenav_2B4909, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, - { gText_Brendan_Pokenav_2B49C4, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, - { gText_Brendan_Pokenav_2B4A44, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF }, - { gText_Brendan_Pokenav_2B4B28, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, - { gText_Brendan_Pokenav_2B4C15, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, - { gText_Brendan_Pokenav_2B4CD8, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, - { gText_Brendan_Pokenav_2B4D46, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Brendan1, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Brendan2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, + { MatchCall_Text_Brendan3, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF }, + { MatchCall_Text_Brendan4, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF }, + { MatchCall_Text_Brendan5, FLAG_RECEIVED_HM04, 0xFFFF }, + { MatchCall_Text_Brendan6, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, + { MatchCall_Text_Brendan7, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, + { MatchCall_Text_Brendan8, FLAG_RECEIVED_CASTFORM, 0xFFFF }, + { MatchCall_Text_Brendan9, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, + { MatchCall_Text_Brendan10, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, + { MatchCall_Text_Brendan11, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF }, + { MatchCall_Text_Brendan12, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, + { MatchCall_Text_Brendan13, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, + { MatchCall_Text_Brendan14, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, + { MatchCall_Text_Brendan15, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct4 sBrendanMatchCallHeader = +static const struct MatchCallRival sBrendanMatchCallHeader = { - .type = 4, - .gender = FEMALE, //Gender of player + .type = MC_TYPE_RIVAL, + .playerGender = FEMALE, .flag = FLAG_ENABLE_RIVAL_MATCH_CALL, - .desc = gMayBrendanMatchCallDesc, - .name = gExpandedPlaceholder_Brendan, + .desc = gText_MayBrendanMatchCallDesc, + .name = gText_ExpandedPlaceholder_Brendan, .textData = sBrendanTextScripts }; static const match_call_text_data_t sWallyTextScripts[] = { - { gText_Wally_Pokenav_2B4DE2, 0xFFFF, 0xFFFF }, - { gText_Wally_Pokenav_2B4E57, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF }, - { gText_Wally_Pokenav_2B4EA5, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, - { gText_Wally_Pokenav_2B4F41, FLAG_RECEIVED_CASTFORM, 0xFFFF }, - { gText_Wally_Pokenav_2B4FF3, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, - { gText_Wally_Pokenav_2B50B1, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, - { gText_Wally_Pokenav_2B5100, FLAG_DEFEATED_WALLY_VICTORY_ROAD, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Wally1, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Wally2, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF }, + { MatchCall_Text_Wally3, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, + { MatchCall_Text_Wally4, FLAG_RECEIVED_CASTFORM, 0xFFFF }, + { MatchCall_Text_Wally5, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, + { MatchCall_Text_Wally6, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF }, + { MatchCall_Text_Wally7, FLAG_DEFEATED_WALLY_VICTORY_ROAD, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -const struct MatchCallSubstruct2 sWallyAdditionalData[] = { +const struct MatchCallLocationOverride sWallyLocationData[] = { { FLAG_HIDE_MAUVILLE_CITY_WALLY, MAPSEC_VERDANTURF_TOWN }, { FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, MAPSEC_NONE }, { FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY, MAPSEC_VICTORY_ROAD }, { 0xFFFF, MAPSEC_NONE } }; -static const struct MatchCallStruct2 sWallyMatchCallHeader = +static const struct MatchCallWally sWallyMatchCallHeader = { - .type = 2, + .type = MC_TYPE_WALLY, .mapSec = 0, .flag = FLAG_ENABLE_WALLY_MATCH_CALL, .rematchTableIdx = REMATCH_WALLY_3, - .desc = gWallyMatchCallDesc, + .desc = gText_WallyMatchCallDesc, .textData = sWallyTextScripts, - .v10 = sWallyAdditionalData + .locationData = sWallyLocationData }; static const match_call_text_data_t sScottTextScripts[] = { - { gText_Scott_Pokenav_2B5184, 0xFFFF, 0xFFFF }, - { gText_Scott_Pokenav_2B5275, FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, 0xFFFF }, - { gText_Scott_Pokenav_2B5323, FLAG_RECEIVED_CASTFORM, 0xFFFF }, - { gText_Scott_Pokenav_2B53DB, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, - { gText_Scott_Pokenav_2B54A5, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, - { gText_Scott_Pokenav_2B5541, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, - { gText_Scott_Pokenav_2B56CA, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Scott1, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Scott2, FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, 0xFFFF }, + { MatchCall_Text_Scott3, FLAG_RECEIVED_CASTFORM, 0xFFFF }, + { MatchCall_Text_Scott4, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF }, + { MatchCall_Text_Scott5, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF }, + { MatchCall_Text_Scott6, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF }, + { MatchCall_Text_Scott7, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct0 sScottMatchCallHeader = +static const struct MatchCallStructNPC sScottMatchCallHeader = { .type = 0, .mapSec = MAPSEC_NONE, .flag = FLAG_ENABLE_SCOTT_MATCH_CALL, - .desc = gScottMatchCallDesc, - .name = gScottMatchCallName, + .desc = gText_ScottMatchCallDesc, + .name = gText_ScottMatchCallName, .textData = sScottTextScripts }; static const match_call_text_data_t sRoxanneTextScripts[] = { - { gText_Roxanne_Pokenav_2B2456, 0xFFFE, 0xFFFF }, - { gText_Roxanne_Pokenav_2B250E, 0xFFFF, 0xFFFF }, - { gText_Roxanne_Pokenav_2B25C1, 0xFFFF, 0xFFFF }, - { gText_Roxanne_Pokenav_2B2607, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Roxanne1, 0xFFFE, 0xFFFF }, + { MatchCall_Text_Roxanne2, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Roxanne3, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Roxanne4, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct5 sRoxanneMatchCallHeader = +static const struct MatchCallStructTrainer sRoxanneMatchCallHeader = { - .type = 5, + .type = MC_TYPE_LEADER, .mapSec = MAPSEC_RUSTBORO_CITY, .flag = FLAG_ENABLE_ROXANNE_MATCH_CALL, .rematchTableIdx = REMATCH_ROXANNE, - .desc = gRoxanneMatchCallDesc, + .desc = gText_RoxanneMatchCallDesc, .name = NULL, .textData = sRoxanneTextScripts }; static const match_call_text_data_t sBrawlyTextScripts[] = { - { gText_Brawly_Pokenav_2B2659, 0xFFFE, 0xFFFF }, - { gText_Brawly_Pokenav_2B275D, 0xFFFF, 0xFFFF }, - { gText_Brawly_Pokenav_2B286F, 0xFFFF, 0xFFFF }, - { gText_Brawly_Pokenav_2B28D1, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Brawly1, 0xFFFE, 0xFFFF }, + { MatchCall_Text_Brawly2, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Brawly3, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Brawly4, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct5 sBrawlyMatchCallHeader = +static const struct MatchCallStructTrainer sBrawlyMatchCallHeader = { - .type = 5, + .type = MC_TYPE_LEADER, .mapSec = MAPSEC_DEWFORD_TOWN, .flag = FLAG_ENABLE_BRAWLY_MATCH_CALL, .rematchTableIdx = REMATCH_BRAWLY, - .desc = gBrawlyMatchCallDesc, + .desc = gText_BrawlyMatchCallDesc, .name = NULL, .textData = sBrawlyTextScripts }; static const match_call_text_data_t sWattsonTextScripts[] = { - { gText_Wattson_Pokenav_2B2912, 0xFFFE, 0xFFFF }, - { gText_Wattson_Pokenav_2B29CA, 0xFFFF, 0xFFFF }, - { gText_Wattson_Pokenav_2B2AB6, 0xFFFF, 0xFFFF }, - { gText_Wattson_Pokenav_2B2B01, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Wattson1, 0xFFFE, 0xFFFF }, + { MatchCall_Text_Wattson2, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Wattson3, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Wattson4, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct5 sWattsonMatchCallHeader = +static const struct MatchCallStructTrainer sWattsonMatchCallHeader = { - .type = 5, + .type = MC_TYPE_LEADER, .mapSec = MAPSEC_MAUVILLE_CITY, .flag = FLAG_ENABLE_WATTSON_MATCH_CALL, .rematchTableIdx = REMATCH_WATTSON, - .desc = gWattsonMatchCallDesc, + .desc = gText_WattsonMatchCallDesc, .name = NULL, .textData = sWattsonTextScripts }; static const match_call_text_data_t sFlanneryTextScripts[] = { - { gText_Flannery_Pokenav_2B2B4D, 0xFFFE, 0xFFFF }, - { gText_Flannery_Pokenav_2B2C0E, 0xFFFF, 0xFFFF }, - { gText_Flannery_Pokenav_2B2CF1, 0xFFFF, 0xFFFF }, - { gText_Flannery_Pokenav_2B2D54, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Flannery1, 0xFFFE, 0xFFFF }, + { MatchCall_Text_Flannery2, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Flannery3, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Flannery4, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct5 sFlanneryMatchCallHeader = +static const struct MatchCallStructTrainer sFlanneryMatchCallHeader = { - .type = 5, + .type = MC_TYPE_LEADER, .mapSec = MAPSEC_LAVARIDGE_TOWN, .flag = FLAG_ENABLE_FLANNERY_MATCH_CALL, .rematchTableIdx = REMATCH_FLANNERY, - .desc = gFlanneryMatchCallDesc, + .desc = gText_FlanneryMatchCallDesc, .name = NULL, .textData = sFlanneryTextScripts }; static const match_call_text_data_t sWinonaTextScripts[] = { - { gText_Winona_Pokenav_2B2DA4, 0xFFFE, 0xFFFF }, - { gText_Winona_Pokenav_2B2E2B, 0xFFFF, 0xFFFF }, - { gText_Winona_Pokenav_2B2EC2, 0xFFFF, 0xFFFF }, - { gText_Winona_Pokenav_2B2F16, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Winona1, 0xFFFE, 0xFFFF }, + { MatchCall_Text_Winona2, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Winona3, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Winona4, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct5 sWinonaMatchCallHeader = +static const struct MatchCallStructTrainer sWinonaMatchCallHeader = { - .type = 5, + .type = MC_TYPE_LEADER, .mapSec = MAPSEC_FORTREE_CITY, .flag = FLAG_ENABLE_WINONA_MATCH_CALL, .rematchTableIdx = REMATCH_WINONA, - .desc = gWinonaMatchCallDesc, + .desc = gText_WinonaMatchCallDesc, .name = NULL, .textData = sWinonaTextScripts }; static const match_call_text_data_t sTateLizaTextScripts[] = { - { gText_TateLiza_Pokenav_2B2F97, 0xFFFE, 0xFFFF }, - { gText_TateLiza_Pokenav_2B306E, 0xFFFF, 0xFFFF }, - { gText_TateLiza_Pokenav_2B3158, 0xFFFF, 0xFFFF }, - { gText_TateLiza_Pokenav_2B31CD, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_TateLiza1, 0xFFFE, 0xFFFF }, + { MatchCall_Text_TateLiza2, 0xFFFF, 0xFFFF }, + { MatchCall_Text_TateLiza3, 0xFFFF, 0xFFFF }, + { MatchCall_Text_TateLiza4, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct5 sTateLizaMatchCallHeader = +static const struct MatchCallStructTrainer sTateLizaMatchCallHeader = { - .type = 5, + .type = MC_TYPE_LEADER, .mapSec = MAPSEC_MOSSDEEP_CITY, .flag = FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL, .rematchTableIdx = REMATCH_TATE_AND_LIZA, - .desc = gTateLizaMatchCallDesc, + .desc = gText_TateLizaMatchCallDesc, .name = NULL, .textData = sTateLizaTextScripts }; static const match_call_text_data_t sJuanTextScripts[] = { - { gText_Juan_Pokenav_2B3249, 0xFFFE, 0xFFFF }, - { gText_Juan_Pokenav_2B32EC, 0xFFFF, 0xFFFF }, - { gText_Juan_Pokenav_2B33AA, 0xFFFF, 0xFFFF }, - { gText_Juan_Pokenav_2B341E, FLAG_SYS_GAME_CLEAR, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Juan1, 0xFFFE, 0xFFFF }, + { MatchCall_Text_Juan2, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Juan3, 0xFFFF, 0xFFFF }, + { MatchCall_Text_Juan4, FLAG_SYS_GAME_CLEAR, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct5 sJuanMatchCallHeader = +static const struct MatchCallStructTrainer sJuanMatchCallHeader = { - .type = 5, + .type = MC_TYPE_LEADER, .mapSec = MAPSEC_SOOTOPOLIS_CITY, .flag = FLAG_ENABLE_JUAN_MATCH_CALL, .rematchTableIdx = REMATCH_JUAN, - .desc = gJuanMatchCallDesc, + .desc = gText_JuanMatchCallDesc, .name = NULL, .textData = sJuanTextScripts }; static const match_call_text_data_t sSidneyTextScripts[] = { - { gText_Sidney_Pokenav_2B34CC, 0xFFFF, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Sidney, 0xFFFF, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct5 sSidneyMatchCallHeader = +static const struct MatchCallStructTrainer sSidneyMatchCallHeader = { - .type = 5, + .type = MC_TYPE_LEADER, .mapSec = MAPSEC_EVER_GRANDE_CITY, .flag = FLAG_REMATCH_SIDNEY, .rematchTableIdx = REMATCH_SIDNEY, - .desc = gEliteFourMatchCallDesc, + .desc = gText_EliteFourMatchCallDesc, .name = NULL, .textData = sSidneyTextScripts }; static const match_call_text_data_t sPhoebeTextScripts[] = { - { gText_Phoebe_Pokenav_2B3561, 0xFFFF, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Phoebe, 0xFFFF, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct5 sPhoebeMatchCallHeader = +static const struct MatchCallStructTrainer sPhoebeMatchCallHeader = { - .type = 5, + .type = MC_TYPE_LEADER, .mapSec = MAPSEC_EVER_GRANDE_CITY, .flag = FLAG_REMATCH_PHOEBE, .rematchTableIdx = REMATCH_PHOEBE, - .desc = gEliteFourMatchCallDesc, + .desc = gText_EliteFourMatchCallDesc, .name = NULL, .textData = sPhoebeTextScripts }; static const match_call_text_data_t sGlaciaTextScripts[] = { - { gText_Glacia_Pokenav_2B35E4, 0xFFFF, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Glacia, 0xFFFF, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct5 sGlaciaMatchCallHeader = +static const struct MatchCallStructTrainer sGlaciaMatchCallHeader = { - .type = 5, + .type = MC_TYPE_LEADER, .mapSec = MAPSEC_EVER_GRANDE_CITY, .flag = FLAG_REMATCH_GLACIA, .rematchTableIdx = REMATCH_GLACIA, - .desc = gEliteFourMatchCallDesc, + .desc = gText_EliteFourMatchCallDesc, .name = NULL, .textData = sGlaciaTextScripts }; static const match_call_text_data_t sDrakeTextScripts[] = { - { gText_Drake_Pokenav_2B368B, 0xFFFF, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Drake, 0xFFFF, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct5 sDrakeMatchCallHeader = +static const struct MatchCallStructTrainer sDrakeMatchCallHeader = { - .type = 5, + .type = MC_TYPE_LEADER, .mapSec = MAPSEC_EVER_GRANDE_CITY, .flag = FLAG_REMATCH_DRAKE, .rematchTableIdx = REMATCH_DRAKE, - .desc = gEliteFourMatchCallDesc, + .desc = gText_EliteFourMatchCallDesc, .name = NULL, .textData = sDrakeTextScripts }; static const match_call_text_data_t sWallaceTextScripts[] = { - { gText_Wallace_Pokenav_2B3790, 0xFFFF, 0xFFFF }, - { NULL, 0xFFFF, 0xFFFF } + { MatchCall_Text_Wallace, 0xFFFF, 0xFFFF }, + { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct5 sWallaceMatchCallHeader = +static const struct MatchCallStructTrainer sWallaceMatchCallHeader = { - .type = 5, + .type = MC_TYPE_LEADER, .mapSec = MAPSEC_EVER_GRANDE_CITY, .flag = FLAG_REMATCH_WALLACE, .rematchTableIdx = REMATCH_WALLACE, - .desc = gChampionMatchCallDesc, + .desc = gText_ChampionMatchCallDesc, .name = NULL, .textData = sWallaceTextScripts }; static const match_call_t sMatchCallHeaders[] = { - [MC_HEADER_MR_STONE] = {.type0 = &sMrStoneMatchCallHeader}, - [MC_HEADER_PROF_BIRCH] = {.type3 = &sProfBirchMatchCallHeader}, - [MC_HEADER_BRENDAN] = {.type4 = &sBrendanMatchCallHeader}, - [MC_HEADER_MAY] = {.type4 = &sMayMatchCallHeader}, - [MC_HEADER_WALLY] = {.type2 = &sWallyMatchCallHeader}, - [MC_HEADER_NORMAN] = {.type5 = &sNormanMatchCallHeader}, - [MC_HEADER_MOM] = {.type0 = &sMomMatchCallHeader}, - [MC_HEADER_STEVEN] = {.type0 = &sStevenMatchCallHeader}, - [MC_HEADER_SCOTT] = {.type0 = &sScottMatchCallHeader}, - [MC_HEADER_ROXANNE] = {.type5 = &sRoxanneMatchCallHeader}, - [MC_HEADER_BRAWLY] = {.type5 = &sBrawlyMatchCallHeader}, - [MC_HEADER_WATTSON] = {.type5 = &sWattsonMatchCallHeader}, - [MC_HEADER_FLANNERY] = {.type5 = &sFlanneryMatchCallHeader}, - [MC_HEADER_WINONA] = {.type5 = &sWinonaMatchCallHeader}, - [MC_HEADER_TATE_LIZA] = {.type5 = &sTateLizaMatchCallHeader}, - [MC_HEADER_JUAN] = {.type5 = &sJuanMatchCallHeader}, - [MC_HEADER_SIDNEY] = {.type5 = &sSidneyMatchCallHeader}, - [MC_HEADER_PHOEBE] = {.type5 = &sPhoebeMatchCallHeader}, - [MC_HEADER_GLACIA] = {.type5 = &sGlaciaMatchCallHeader}, - [MC_HEADER_DRAKE] = {.type5 = &sDrakeMatchCallHeader}, - [MC_HEADER_WALLACE] = {.type5 = &sWallaceMatchCallHeader} + [MC_HEADER_MR_STONE] = {.npc = &sMrStoneMatchCallHeader}, + [MC_HEADER_PROF_BIRCH] = {.birch = &sProfBirchMatchCallHeader}, + [MC_HEADER_BRENDAN] = {.rival = &sBrendanMatchCallHeader}, + [MC_HEADER_MAY] = {.rival = &sMayMatchCallHeader}, + [MC_HEADER_WALLY] = {.wally = &sWallyMatchCallHeader}, + [MC_HEADER_NORMAN] = {.leader = &sNormanMatchCallHeader}, + [MC_HEADER_MOM] = {.npc = &sMomMatchCallHeader}, + [MC_HEADER_STEVEN] = {.npc = &sStevenMatchCallHeader}, + [MC_HEADER_SCOTT] = {.npc = &sScottMatchCallHeader}, + [MC_HEADER_ROXANNE] = {.leader = &sRoxanneMatchCallHeader}, + [MC_HEADER_BRAWLY] = {.leader = &sBrawlyMatchCallHeader}, + [MC_HEADER_WATTSON] = {.leader = &sWattsonMatchCallHeader}, + [MC_HEADER_FLANNERY] = {.leader = &sFlanneryMatchCallHeader}, + [MC_HEADER_WINONA] = {.leader = &sWinonaMatchCallHeader}, + [MC_HEADER_TATE_LIZA] = {.leader = &sTateLizaMatchCallHeader}, + [MC_HEADER_JUAN] = {.leader = &sJuanMatchCallHeader}, + [MC_HEADER_SIDNEY] = {.leader = &sSidneyMatchCallHeader}, + [MC_HEADER_PHOEBE] = {.leader = &sPhoebeMatchCallHeader}, + [MC_HEADER_GLACIA] = {.leader = &sGlaciaMatchCallHeader}, + [MC_HEADER_DRAKE] = {.leader = &sDrakeMatchCallHeader}, + [MC_HEADER_WALLACE] = {.leader = &sWallaceMatchCallHeader} }; -static bool32 (*const sMatchCallGetFlagFuncs[])(match_call_t) = { - MatchCallGetFlag_Type0, - MatchCallGetFlag_Type1, - MatchCallGetFlag_Type2, - MatchCallGetFlag_Type4, - MatchCallGetFlag_Type3 +static bool32 (*const sMatchCallGetEnabledFuncs[])(match_call_t) = { + MatchCall_GetEnabled_NPC, + MatchCall_GetEnabled_Trainer, + MatchCall_GetEnabled_Wally, + MatchCall_GetEnabled_Rival, + MatchCall_GetEnabled_Birch }; static u8 (*const sMatchCallGetMapSecFuncs[])(match_call_t) = { - MatchCallGetMapSec_Type0, - MatchCallGetMapSec_Type1, - MatchCallGetMapSec_Type2, - MatchCallGetMapSec_Type4, - MatchCallGetMapSec_Type3 + MatchCall_GetMapSec_NPC, + MatchCall_GetMapSec_Trainer, + MatchCall_GetMapSec_Wally, + MatchCall_GetMapSec_Rival, + MatchCall_GetMapSec_Birch }; static bool32 (*const sMatchCall_IsRematchableFunctions[])(match_call_t) = { - MatchCall_IsRematchable_Type0, - MatchCall_IsRematchable_Type1, - MatchCall_IsRematchable_Type2, - MatchCall_IsRematchable_Type4, - MatchCall_IsRematchable_Type3 + MatchCall_IsRematchable_NPC, + MatchCall_IsRematchable_Trainer, + MatchCall_IsRematchable_Wally, + MatchCall_IsRematchable_Rival, + MatchCall_IsRematchable_Birch }; static bool32 (*const sMatchCall_HasCheckPageFunctions[])(match_call_t) = { - MatchCall_HasCheckPage_Type0, - MatchCall_HasCheckPage_Type1, - MatchCall_HasCheckPage_Type2, - MatchCall_HasCheckPage_Type4, - MatchCall_HasCheckPage_Type3 + MatchCall_HasCheckPage_NPC, + MatchCall_HasCheckPage_Trainer, + MatchCall_HasCheckPage_Wally, + MatchCall_HasCheckPage_Rival, + MatchCall_HasCheckPage_Birch }; static u32 (*const sMatchCall_GetRematchTableIdxFunctions[])(match_call_t) = { - MatchCall_GetRematchTableIdx_Type0, - MatchCall_GetRematchTableIdx_Type1, - MatchCall_GetRematchTableIdx_Type2, - MatchCall_GetRematchTableIdx_Type4, - MatchCall_GetRematchTableIdx_Type3 + MatchCall_GetRematchTableIdx_NPC, + MatchCall_GetRematchTableIdx_Trainer, + MatchCall_GetRematchTableIdx_Wally, + MatchCall_GetRematchTableIdx_Rival, + MatchCall_GetRematchTableIdx_Birch }; static void (*const sMatchCall_GetMessageFunctions[])(match_call_t, u8 *) = { - MatchCall_GetMessage_Type0, - MatchCall_GetMessage_Type1, - MatchCall_GetMessage_Type2, - MatchCall_GetMessage_Type4, - MatchCall_GetMessage_Type3 + MatchCall_GetMessage_NPC, + MatchCall_GetMessage_Trainer, + MatchCall_GetMessage_Wally, + MatchCall_GetMessage_Rival, + MatchCall_GetMessage_Birch }; static void (*const sMatchCall_GetNameAndDescFunctions[])(match_call_t, const u8 **, const u8 **) = { - MatchCall_GetNameAndDesc_Type0, - MatchCall_GetNameAndDesc_Type1, - MatchCall_GetNameAndDesc_Type2, - MatchCall_GetNameAndDesc_Type4, - MatchCall_GetNameAndDesc_Type3 + MatchCall_GetNameAndDesc_NPC, + MatchCall_GetNameAndDesc_Trainer, + MatchCall_GetNameAndDesc_Wally, + MatchCall_GetNameAndDesc_Rival, + MatchCall_GetNameAndDesc_Birch }; -static const struct MatchCallOverride sMatchCallCheckPageOverrides[] = { - { MC_HEADER_STEVEN, FACILITY_CLASS_STEVEN, 0xFFFF, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle } }, // STEVEN - { MC_HEADER_STEVEN, FACILITY_CLASS_STEVEN, FLAG_DEFEATED_MOSSDEEP_GYM, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle } }, // STEVEN - { MC_HEADER_BRENDAN, FACILITY_CLASS_BRENDAN, 0xFFFF, { gMatchCall_BrendanStrategyText, gMatchCall_BrendanTrainersPokemonText, gMatchCall_BrendanSelfIntroductionText_Line1, gMatchCall_BrendanSelfIntroductionText_Line2 } }, // Brendan - { MC_HEADER_MAY, FACILITY_CLASS_MAY, 0xFFFF, { gMatchCall_MayStrategyText, gMatchCall_MayTrainersPokemonText, gMatchCall_MaySelfIntroductionText_Line1, gMatchCall_MaySelfIntroductionText_Line2 } } // May +static const struct MatchCallCheckPageOverride sCheckPageOverrides[] = { + { + .idx = MC_HEADER_STEVEN, + .facilityClass = FACILITY_CLASS_STEVEN, + .flag = 0xFFFF, + .flavorTexts = { + [CHECK_PAGE_STRATEGY] = gText_MatchCallSteven_Strategy, + [CHECK_PAGE_POKEMON] = gText_MatchCallSteven_Pokemon, + [CHECK_PAGE_INTRO_1] = gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle, + [CHECK_PAGE_INTRO_2] = gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle + } + }, + { + .idx = MC_HEADER_STEVEN, + .facilityClass = FACILITY_CLASS_STEVEN, + .flag = FLAG_DEFEATED_MOSSDEEP_GYM, + .flavorTexts = { + [CHECK_PAGE_STRATEGY] = gText_MatchCallSteven_Strategy, + [CHECK_PAGE_POKEMON] = gText_MatchCallSteven_Pokemon, + [CHECK_PAGE_INTRO_1] = gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle, + [CHECK_PAGE_INTRO_2] = gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle + } + }, + { + .idx = MC_HEADER_BRENDAN, + .facilityClass = FACILITY_CLASS_BRENDAN, + .flag = 0xFFFF, + .flavorTexts = MCFLAVOR(Brendan) + }, + { + .idx = MC_HEADER_MAY, + .facilityClass = FACILITY_CLASS_MAY, + .flag = 0xFFFF, + .flavorTexts = MCFLAVOR(May) + } }; // .text @@ -821,17 +700,17 @@ static u32 MatchCallGetFunctionIndex(match_call_t matchCall) { switch (matchCall.common->type) { - case 0: default: + case MC_TYPE_NPC: return 0; - case 1: - case 5: + case MC_TYPE_TRAINER: + case MC_TYPE_LEADER: return 1; - case 2: + case MC_TYPE_WALLY: return 2; - case 4: + case MC_TYPE_RIVAL: return 3; - case 3: + case MC_TYPE_BIRCH: return 4; } } @@ -853,93 +732,93 @@ s32 GetRematchIdxByTrainerIdx(s32 trainerIdx) return -1; } -bool32 MatchCallFlagGetByIndex(u32 idx) +bool32 MatchCall_GetEnabled(u32 idx) { match_call_t matchCall; u32 i; - if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1) + if (idx >= ARRAY_COUNT(sMatchCallHeaders)) return FALSE; matchCall = sMatchCallHeaders[idx]; i = MatchCallGetFunctionIndex(matchCall); - return sMatchCallGetFlagFuncs[i](matchCall); + return sMatchCallGetEnabledFuncs[i](matchCall); } -static bool32 MatchCallGetFlag_Type0(match_call_t matchCall) +static bool32 MatchCall_GetEnabled_NPC(match_call_t matchCall) { - if (matchCall.type0->flag == 0xffff) + if (matchCall.npc->flag == 0xFFFF) return TRUE; - return FlagGet(matchCall.type0->flag); + return FlagGet(matchCall.npc->flag); } -static bool32 MatchCallGetFlag_Type1(match_call_t matchCall) +static bool32 MatchCall_GetEnabled_Trainer(match_call_t matchCall) { - if (matchCall.type1->flag == 0xffff) + if (matchCall.trainer->flag == 0xFFFF) return TRUE; - return FlagGet(matchCall.type1->flag); + return FlagGet(matchCall.trainer->flag); } -static bool32 MatchCallGetFlag_Type2(match_call_t matchCall) +static bool32 MatchCall_GetEnabled_Wally(match_call_t matchCall) { - if (matchCall.type2->flag == 0xffff) + if (matchCall.wally->flag == 0xFFFF) return TRUE; - return FlagGet(matchCall.type2->flag); + return FlagGet(matchCall.wally->flag); } -static bool32 MatchCallGetFlag_Type4(match_call_t matchCall) +static bool32 MatchCall_GetEnabled_Rival(match_call_t matchCall) { - if (matchCall.type4->gender != gSaveBlock2Ptr->playerGender) + if (matchCall.rival->playerGender != gSaveBlock2Ptr->playerGender) return FALSE; - if (matchCall.type4->flag == 0xffff) + if (matchCall.rival->flag == 0xFFFF) return TRUE; - return FlagGet(matchCall.type4->flag); + return FlagGet(matchCall.rival->flag); } -static bool32 MatchCallGetFlag_Type3(match_call_t matchCall) +static bool32 MatchCall_GetEnabled_Birch(match_call_t matchCall) { - return FlagGet(matchCall.type3->flag); + return FlagGet(matchCall.birch->flag); } -u8 MatchCallMapSecGetByIndex(u32 idx) +u8 MatchCall_GetMapSec(u32 idx) { match_call_t matchCall; u32 i; - if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1) + if (idx >= ARRAY_COUNT(sMatchCallHeaders)) return 0; matchCall = sMatchCallHeaders[idx]; i = MatchCallGetFunctionIndex(matchCall); return sMatchCallGetMapSecFuncs[i](matchCall); } -static u8 MatchCallGetMapSec_Type0(match_call_t matchCall) +static u8 MatchCall_GetMapSec_NPC(match_call_t matchCall) { - return matchCall.type0->mapSec; + return matchCall.npc->mapSec; } -static u8 MatchCallGetMapSec_Type1(match_call_t matchCall) +static u8 MatchCall_GetMapSec_Trainer(match_call_t matchCall) { - return matchCall.type1->mapSec; + return matchCall.trainer->mapSec; } -static u8 MatchCallGetMapSec_Type2(match_call_t matchCall) +static u8 MatchCall_GetMapSec_Wally(match_call_t matchCall) { s32 i; - for (i = 0; matchCall.type2->v10[i].flag != 0xffff; i++) + for (i = 0; matchCall.wally->locationData[i].flag != 0xFFFF; i++) { - if (!FlagGet(matchCall.type2->v10[i].flag)) + if (!FlagGet(matchCall.wally->locationData[i].flag)) break; } - return matchCall.type2->v10[i].mapSec; + return matchCall.wally->locationData[i].mapSec; } -static u8 MatchCallGetMapSec_Type4(match_call_t matchCall) +static u8 MatchCall_GetMapSec_Rival(match_call_t matchCall) { return MAPSEC_NONE; } -static u8 MatchCallGetMapSec_Type3(match_call_t matchCall) +static u8 MatchCall_GetMapSec_Birch(match_call_t matchCall) { return MAPSEC_NONE; } @@ -949,36 +828,36 @@ bool32 MatchCall_IsRematchable(u32 idx) match_call_t matchCall; u32 i; - if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1) + if (idx >= ARRAY_COUNT(sMatchCallHeaders)) return 0; matchCall = sMatchCallHeaders[idx]; i = MatchCallGetFunctionIndex(matchCall); return sMatchCall_IsRematchableFunctions[i](matchCall); } -static bool32 MatchCall_IsRematchable_Type0(match_call_t matchCall) +static bool32 MatchCall_IsRematchable_NPC(match_call_t matchCall) { return FALSE; } -static bool32 MatchCall_IsRematchable_Type1(match_call_t matchCall) +static bool32 MatchCall_IsRematchable_Trainer(match_call_t matchCall) { - if (matchCall.type1->rematchTableIdx >= REMATCH_ELITE_FOUR_ENTRIES) + if (matchCall.trainer->rematchTableIdx >= REMATCH_ELITE_FOUR_ENTRIES) return FALSE; - return gSaveBlock1Ptr->trainerRematches[matchCall.type1->rematchTableIdx] ? TRUE : FALSE; + return gSaveBlock1Ptr->trainerRematches[matchCall.trainer->rematchTableIdx] ? TRUE : FALSE; } -static bool32 MatchCall_IsRematchable_Type2(match_call_t matchCall) +static bool32 MatchCall_IsRematchable_Wally(match_call_t matchCall) { - return gSaveBlock1Ptr->trainerRematches[matchCall.type2->rematchTableIdx] ? TRUE : FALSE; + return gSaveBlock1Ptr->trainerRematches[matchCall.wally->rematchTableIdx] ? TRUE : FALSE; } -static bool32 MatchCall_IsRematchable_Type4(match_call_t matchCall) +static bool32 MatchCall_IsRematchable_Rival(match_call_t matchCall) { return FALSE; } -static bool32 MatchCall_IsRematchable_Type3(match_call_t matchCall) +static bool32 MatchCall_IsRematchable_Birch(match_call_t matchCall) { return FALSE; } @@ -988,41 +867,41 @@ bool32 MatchCall_HasCheckPage(u32 idx) match_call_t matchCall; u32 i; - if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1) + if (idx >= ARRAY_COUNT(sMatchCallHeaders)) return FALSE; matchCall = sMatchCallHeaders[idx]; i = MatchCallGetFunctionIndex(matchCall); if (sMatchCall_HasCheckPageFunctions[i](matchCall)) return TRUE; - for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++) + for (i = 0; i < ARRAY_COUNT(sCheckPageOverrides); i++) { - if (sMatchCallCheckPageOverrides[i].idx == idx) + if (sCheckPageOverrides[i].idx == idx) return TRUE; } return FALSE; } -static bool32 MatchCall_HasCheckPage_Type0(match_call_t matchCall) +static bool32 MatchCall_HasCheckPage_NPC(match_call_t matchCall) { return FALSE; } -static bool32 MatchCall_HasCheckPage_Type1(match_call_t matchCall) +static bool32 MatchCall_HasCheckPage_Trainer(match_call_t matchCall) { return TRUE; } -static bool32 MatchCall_HasCheckPage_Type2(match_call_t matchCall) +static bool32 MatchCall_HasCheckPage_Wally(match_call_t matchCall) { return TRUE; } -static bool32 MatchCall_HasCheckPage_Type4(match_call_t matchCall) +static bool32 MatchCall_HasCheckPage_Rival(match_call_t matchCall) { return FALSE; } -static bool32 MatchCall_HasCheckPage_Type3(match_call_t matchCall) +static bool32 MatchCall_HasCheckPage_Birch(match_call_t matchCall) { return FALSE; } @@ -1032,34 +911,34 @@ u32 MatchCall_GetRematchTableIdx(u32 idx) match_call_t matchCall; u32 i; - if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1) + if (idx >= ARRAY_COUNT(sMatchCallHeaders)) return REMATCH_TABLE_ENTRIES; matchCall = sMatchCallHeaders[idx]; i = MatchCallGetFunctionIndex(matchCall); return sMatchCall_GetRematchTableIdxFunctions[i](matchCall); } -static u32 MatchCall_GetRematchTableIdx_Type0(match_call_t matchCall) +static u32 MatchCall_GetRematchTableIdx_NPC(match_call_t matchCall) { return REMATCH_TABLE_ENTRIES; } -static u32 MatchCall_GetRematchTableIdx_Type1(match_call_t matchCall) +static u32 MatchCall_GetRematchTableIdx_Trainer(match_call_t matchCall) { - return matchCall.type1->rematchTableIdx; + return matchCall.trainer->rematchTableIdx; } -static u32 MatchCall_GetRematchTableIdx_Type2(match_call_t matchCall) +static u32 MatchCall_GetRematchTableIdx_Wally(match_call_t matchCall) { - return matchCall.type2->rematchTableIdx; + return matchCall.wally->rematchTableIdx; } -static u32 MatchCall_GetRematchTableIdx_Type4(match_call_t matchCall) +static u32 MatchCall_GetRematchTableIdx_Rival(match_call_t matchCall) { return REMATCH_TABLE_ENTRIES; } -static u32 MatchCall_GetRematchTableIdx_Type3(match_call_t matchCall) +static u32 MatchCall_GetRematchTableIdx_Birch(match_call_t matchCall) { return REMATCH_TABLE_ENTRIES; } @@ -1069,76 +948,77 @@ void MatchCall_GetMessage(u32 idx, u8 *dest) match_call_t matchCall; u32 i; - if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1) + if (idx >= ARRAY_COUNT(sMatchCallHeaders)) return; matchCall = sMatchCallHeaders[idx]; i = MatchCallGetFunctionIndex(matchCall); sMatchCall_GetMessageFunctions[i](matchCall, dest); } -static void MatchCall_GetMessage_Type0(match_call_t matchCall, u8 *dest) +static void MatchCall_GetMessage_NPC(match_call_t matchCall, u8 *dest) { - sub_81D1920(matchCall.type0->textData, dest); + MatchCall_BufferCallMessageText(matchCall.npc->textData, dest); } -static void MatchCall_GetMessage_Type1(match_call_t matchCall, u8 *dest) +// This is the one functional difference between MC_TYPE_TRAINER and MC_TYPE_LEADER +static void MatchCall_GetMessage_Trainer(match_call_t matchCall, u8 *dest) { - if (matchCall.common->type != 5) - sub_81D1920(matchCall.type1->textData, dest); + if (matchCall.common->type != MC_TYPE_LEADER) + MatchCall_BufferCallMessageText(matchCall.trainer->textData, dest); else - sub_81D199C(matchCall.type5->textData, matchCall.type5->rematchTableIdx, dest); + MatchCall_BufferCallMessageTextByRematchTeam(matchCall.leader->textData, matchCall.leader->rematchTableIdx, dest); } -static void MatchCall_GetMessage_Type2(match_call_t matchCall, u8 *dest) +static void MatchCall_GetMessage_Wally(match_call_t matchCall, u8 *dest) { - sub_81D1920(matchCall.type2->textData, dest); + MatchCall_BufferCallMessageText(matchCall.wally->textData, dest); } -static void MatchCall_GetMessage_Type4(match_call_t matchCall, u8 *dest) +static void MatchCall_GetMessage_Rival(match_call_t matchCall, u8 *dest) { - sub_81D1920(matchCall.type4->textData, dest); + MatchCall_BufferCallMessageText(matchCall.rival->textData, dest); } -static void MatchCall_GetMessage_Type3(match_call_t matchCall, u8 *dest) +static void MatchCall_GetMessage_Birch(match_call_t matchCall, u8 *dest) { - sub_8197080(dest); + BufferPokedexRatingForMatchCall(dest); } -static void sub_81D1920(const match_call_text_data_t *sub0, u8 *dest) +static void MatchCall_BufferCallMessageText(const match_call_text_data_t *textData, u8 *dest) { u32 i; - for (i = 0; sub0[i].text != NULL; i++) + for (i = 0; textData[i].text != NULL; i++) ; if (i) i--; while (i) { - if (sub0[i].flag != 0xffff && FlagGet(sub0[i].flag) == TRUE) + if (textData[i].flag != 0xFFFF && FlagGet(textData[i].flag) == TRUE) break; i--; } - if (sub0[i].flag2 != 0xffff) - FlagSet(sub0[i].flag2); - StringExpandPlaceholders(dest, sub0[i].text); + if (textData[i].flag2 != 0xFFFF) + FlagSet(textData[i].flag2); + StringExpandPlaceholders(dest, textData[i].text); } -static void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) +static void MatchCall_BufferCallMessageTextByRematchTeam(const match_call_text_data_t *textData, u16 idx, u8 *dest) { u32 i; - for (i = 0; sub0[i].text != NULL; i++) + for (i = 0; textData[i].text != NULL; i++) { - if (sub0[i].flag == 0xfffe) + if (textData[i].flag == 0xFFFE) break; - if (sub0[i].flag != 0xffff && !FlagGet(sub0[i].flag)) + if (textData[i].flag != 0xFFFF && !FlagGet(textData[i].flag)) break; } - if (sub0[i].flag != 0xfffe) + if (textData[i].flag != 0xFFFE) { if (i) i--; - if (sub0[i].flag2 != 0xffff) - FlagSet(sub0[i].flag2); - StringExpandPlaceholders(dest, sub0[i].text); + if (textData[i].flag2 != 0xFFFF) + FlagSet(textData[i].flag2); + StringExpandPlaceholders(dest, textData[i].text); } else { @@ -1155,54 +1035,54 @@ static void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) } while (0); } - StringExpandPlaceholders(dest, sub0[i].text); + StringExpandPlaceholders(dest, textData[i].text); } } -void sub_81D1A78(u32 idx, const u8 **desc, const u8 **name) +void MatchCall_GetNameAndDesc(u32 idx, const u8 **desc, const u8 **name) { match_call_t matchCall; u32 i; - if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1) + if (idx >= ARRAY_COUNT(sMatchCallHeaders)) return; matchCall = sMatchCallHeaders[idx]; i = MatchCallGetFunctionIndex(matchCall); sMatchCall_GetNameAndDescFunctions[i](matchCall, desc, name); } -static void MatchCall_GetNameAndDesc_Type0(match_call_t matchCall, const u8 **desc, const u8 **name) +static void MatchCall_GetNameAndDesc_NPC(match_call_t matchCall, const u8 **desc, const u8 **name) { - *desc = matchCall.type0->desc; - *name = matchCall.type0->name; + *desc = matchCall.npc->desc; + *name = matchCall.npc->name; } -static void MatchCall_GetNameAndDesc_Type1(match_call_t matchCall, const u8 **desc, const u8 **name) +static void MatchCall_GetNameAndDesc_Trainer(match_call_t matchCall, const u8 **desc, const u8 **name) { match_call_t _matchCall = matchCall; - if (_matchCall.type1->name == NULL) - MatchCall_GetNameAndDescByRematchIdx(_matchCall.type1->rematchTableIdx, desc, name); + if (_matchCall.trainer->name == NULL) + MatchCall_GetNameAndDescByRematchIdx(_matchCall.trainer->rematchTableIdx, desc, name); else - *name = _matchCall.type1->name; - *desc = _matchCall.type1->desc; + *name = _matchCall.trainer->name; + *desc = _matchCall.trainer->desc; } -static void MatchCall_GetNameAndDesc_Type2(match_call_t matchCall, const u8 **desc, const u8 **name) +static void MatchCall_GetNameAndDesc_Wally(match_call_t matchCall, const u8 **desc, const u8 **name) { - MatchCall_GetNameAndDescByRematchIdx(matchCall.type2->rematchTableIdx, desc, name); - *desc = matchCall.type2->desc; + MatchCall_GetNameAndDescByRematchIdx(matchCall.wally->rematchTableIdx, desc, name); + *desc = matchCall.wally->desc; } -static void MatchCall_GetNameAndDesc_Type4(match_call_t matchCall, const u8 **desc, const u8 **name) +static void MatchCall_GetNameAndDesc_Rival(match_call_t matchCall, const u8 **desc, const u8 **name) { - *desc = matchCall.type4->desc; - *name = matchCall.type4->name; + *desc = matchCall.rival->desc; + *name = matchCall.rival->name; } -static void MatchCall_GetNameAndDesc_Type3(match_call_t matchCall, const u8 **desc, const u8 **name) +static void MatchCall_GetNameAndDesc_Birch(match_call_t matchCall, const u8 **desc, const u8 **name) { - *desc = matchCall.type3->desc; - *name = matchCall.type3->name; + *desc = matchCall.birch->desc; + *name = matchCall.birch->name; } static void MatchCall_GetNameAndDescByRematchIdx(u32 idx, const u8 **desc, const u8 **name) @@ -1216,21 +1096,21 @@ const u8 *MatchCall_GetOverrideFlavorText(u32 idx, u32 offset) { u32 i; - for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++) + for (i = 0; i < ARRAY_COUNT(sCheckPageOverrides); i++) { - if (sMatchCallCheckPageOverrides[i].idx == idx) + if (sCheckPageOverrides[i].idx == idx) { while (1) { - if (i + 1 >= ARRAY_COUNT(sMatchCallCheckPageOverrides)) + if (i + 1 >= ARRAY_COUNT(sCheckPageOverrides)) break; - if (sMatchCallCheckPageOverrides[i + 1].idx != idx) + if (sCheckPageOverrides[i + 1].idx != idx) break; - if (!FlagGet(sMatchCallCheckPageOverrides[i + 1].flag)) + if (!FlagGet(sCheckPageOverrides[i + 1].flag)) break; i++; } - return sMatchCallCheckPageOverrides[i].flavorTexts[offset]; + return sCheckPageOverrides[i].flavorTexts[offset]; } } return NULL; @@ -1240,22 +1120,22 @@ int MatchCall_GetOverrideFacilityClass(u32 idx) { u32 i; - for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++) + for (i = 0; i < ARRAY_COUNT(sCheckPageOverrides); i++) { - if (sMatchCallCheckPageOverrides[i].idx == idx) - return sMatchCallCheckPageOverrides[i].facilityClass; + if (sCheckPageOverrides[i].idx == idx) + return sCheckPageOverrides[i].facilityClass; } return -1; } -bool32 sub_81D1BF8(u32 idx) +bool32 MatchCall_HasRematchId(u32 idx) { int i; for (i = 0; i < (int)ARRAY_COUNT(sMatchCallHeaders); i++) { - u32 r0 = MatchCall_GetRematchTableIdx(i); - if (r0 != REMATCH_TABLE_ENTRIES && r0 == idx) + u32 id = MatchCall_GetRematchTableIdx(i); + if (id != REMATCH_TABLE_ENTRIES && id == idx) return TRUE; } return FALSE; diff --git a/src/pokenav_match_call_ui.c b/src/pokenav_match_call_ui.c index 275a4063e9..fd346393ec 100644 --- a/src/pokenav_match_call_ui.c +++ b/src/pokenav_match_call_ui.c @@ -46,7 +46,7 @@ struct PokenavSub17Substruct u32 unk28; s32 unk2C; u32 unk30; - void (*unk34)(struct PokenavMonList *, u8*); + void (*unk34)(struct PokenavMatchCallEntries *, u8*); void (*unk38)(u16, u32, u32); struct Sprite *rightArrow; struct Sprite *upArrow; @@ -67,8 +67,8 @@ struct PokenavSub17 extern void sub_81DB620(u32 windowId, u32 a1, u32 a2, u32 a3, u32 a4); void sub_81C82E4(struct PokenavSub17 *a0); -bool32 sub_81C91AC(struct PokenavSub17Substruct *a0, const struct BgTemplate *a1, struct MatchCallListTemplate *a2, s32 a3); -void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *a1); +bool32 sub_81C91AC(struct PokenavSub17Substruct *a0, const struct BgTemplate *a1, struct PokenavListTemplate *a2, s32 a3); +void sub_81C9160(struct MatchCallWindowState *a0, struct PokenavListTemplate *a1); void SpriteCB_MatchCallUpArrow(struct Sprite *sprite); void SpriteCB_MatchCallDownArrow(struct Sprite *sprite); void SpriteCB_MatchCallRightArrow(struct Sprite *sprite); @@ -76,7 +76,7 @@ void ToggleMatchCallArrows(struct PokenavSub17Substruct *a0, u32 a1); void sub_81C8FE0(struct PokenavSub17Substruct *a0); void sub_81C8EF8(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1); void sub_81C8ED0(void); -void sub_81C8E54(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 a2); +static void PrintMatchCallFlavorText(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 a2); void PrintMatchCallFieldNames(struct PokenavSub17Substruct *a0, u32 a1); void sub_81C8D4C(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1); void sub_81C8CB4(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1); @@ -91,14 +91,14 @@ u32 LoopedTask_sub_81C83F0(s32 state); u32 LoopedTask_sub_81C85A0(s32 state); u32 LoopedTask_sub_81C8870(s32 state); u32 LoopedTask_sub_81C8A28(s32 state); -u32 LoopedTask_sub_81C8958(s32 state); +u32 LoopedTask_PrintCheckPageInfo(s32 state); static const u16 sMatchcallArrowPaletteData[] = INCBIN_U16("graphics/pokenav/arrows_matchcall.gbapal"); static const u32 sMatchcallArrowSpriteSheetData[] = INCBIN_U32("graphics/pokenav/arrows_matchcall.4bpp.lz"); EWRAM_DATA u32 gUnknown_0203CF44 = 0; -bool32 sub_81C81D4(const struct BgTemplate *arg0, struct MatchCallListTemplate *arg1, s32 arg2) +bool32 sub_81C81D4(const struct BgTemplate *arg0, struct PokenavListTemplate *arg1, s32 arg2) { struct PokenavSub17 *structPtr = AllocSubstruct(17, sizeof(struct PokenavSub17)); if (structPtr == NULL) @@ -467,12 +467,12 @@ void sub_81C877C(void) structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8870, 6); } -void sub_81C87AC(s16 a0) +void PrintCheckPageInfo(s16 a0) { struct PokenavSub17 *structPtr = GetSubstructPtr(17); structPtr->unk888.windowTopIndex += a0; structPtr->unk89C = 0; - structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8958, 6); + structPtr->unk8A0 = CreateLoopedTask(LoopedTask_PrintCheckPageInfo, 6); } void sub_81C87F0(void) @@ -496,6 +496,7 @@ void sub_81C8838(void) CopyWindowToVram(structPtr->unk0.unk0.windowId, 1); } +// TODO: u32 LoopedTask_sub_81C8870(s32 state) { struct PokenavSub17 *structPtr = GetSubstructPtr(17); @@ -543,7 +544,7 @@ u32 LoopedTask_sub_81C8870(s32 state) return LT_FINISH; } -u32 LoopedTask_sub_81C8958(s32 state) +u32 LoopedTask_PrintCheckPageInfo(s32 state) { struct PokenavSub17 *structPtr = GetSubstructPtr(17); if (IsDma3ManagerBusyWithBgCopy()) @@ -558,22 +559,22 @@ u32 LoopedTask_sub_81C8958(s32 state) PrintMatchCallFieldNames(&structPtr->unk0, 0); break; case 2: - sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 0); + PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_STRATEGY); break; case 3: PrintMatchCallFieldNames(&structPtr->unk0, 1); break; case 4: - sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 1); + PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_POKEMON); break; case 5: PrintMatchCallFieldNames(&structPtr->unk0, 2); break; case 6: - sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 2); + PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_INTRO_1); break; case 7: - sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 3); + PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_INTRO_2); break; default: return LT_FINISH; @@ -683,7 +684,7 @@ void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, s32 a1, s32 a2) } for (a2--; a2 != -1; a1 = (a1 + 1) & 0xF, a2--) - sub_81CBD48(a0->windowId, a1); + ClearRematchPokeballIcon(a0->windowId, a1); CopyWindowToVram(a0->windowId, 1); } @@ -705,7 +706,7 @@ void sub_81C8C64(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1) void sub_81C8CB4(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1) { - u8 colors[3] = {0, 2, 5}; + u8 colors[3] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_RED}; a1->unk34(a0->unk10 + a0->unkC * a0->windowTopIndex, a1->unkTextBuffer); a1->unk38(a1->unk0.windowId, a0->windowTopIndex, a1->unk0.unkA); @@ -727,7 +728,7 @@ void sub_81C8D4C(struct MatchCallWindowState *a0, struct PokenavSub17Substruct * void PrintMatchCallFieldNames(struct PokenavSub17Substruct *a0, u32 fieldId) { const u8 *fieldNames[] = {gText_PokenavMatchCall_Strategy, gText_PokenavMatchCall_TrainerPokemon, gText_PokenavMatchCall_SelfIntroduction}; - u8 colors[3] = {1, 4, 5}; + u8 colors[3] = {TEXT_COLOR_WHITE, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED}; u32 top = (a0->unk0.unkA + 1 + (fieldId * 2)) & 0xF; FillWindowPixelRect(a0->unk0.windowId, PIXEL_FILL(1), 0, top << 4, a0->unk0.unk4, 16); @@ -735,11 +736,19 @@ void PrintMatchCallFieldNames(struct PokenavSub17Substruct *a0, u32 fieldId) CopyWindowRectToVram(a0->unk0.windowId, 2, 0, top << 1, a0->unk0.unk4, 2); } -void sub_81C8E54(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 a2) +static void PrintMatchCallFlavorText(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 checkPageEntry) { - static const u8 array[] = {2, 4, 6, 7}; - u32 r6 = (a1->unk0.unkA + array[a2]) & 0xF; - const u8 *str = sub_81CAFD8(a0->windowTopIndex, a2); + // lines 1, 3, and 5 are the field names printed by PrintMatchCallFieldNames + static const u8 lineOffsets[CHECK_PAGE_ENTRY_COUNT] = + { + [CHECK_PAGE_STRATEGY] = 2, + [CHECK_PAGE_POKEMON] = 4, + [CHECK_PAGE_INTRO_1] = 6, + [CHECK_PAGE_INTRO_2] = 7 + }; + + u32 r6 = (a1->unk0.unkA + lineOffsets[checkPageEntry]) & 0xF; + const u8 *str = GetMatchCallFlavorText(a0->windowTopIndex, checkPageEntry); if (str != NULL) { @@ -925,9 +934,9 @@ void ToggleMatchCallVerticalArrows(bool32 shouldHide) structPtr->unk0.downArrow->data[7] = shouldHide; } -void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *a1) +void sub_81C9160(struct MatchCallWindowState *a0, struct PokenavListTemplate *a1) { - a0->unk10 = a1->unk0; + a0->unk10 = a1->list.matchCallEntries; a0->windowTopIndex = a1->unk6; a0->listLength = a1->unk4; a0->unkC = a1->unk8; @@ -953,13 +962,13 @@ void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate * } } -bool32 sub_81C91AC(struct PokenavSub17Substruct *a0, const struct BgTemplate *a1, struct MatchCallListTemplate *a2, s32 a3) +bool32 sub_81C91AC(struct PokenavSub17Substruct *a0, const struct BgTemplate *a1, struct PokenavListTemplate *a2, s32 a3) { struct WindowTemplate window; a0->unk0.bg = a1->bg; a0->unk0.unk6 = a3; - a0->unk34 = a2->unk10; + a0->unk34 = a2->listFunc.unk10_2; a0->unk38 = a2->unk14; a0->unk0.unk1 = a2->unkD; a0->unk0.unk2 = a2->unk9; diff --git a/src/pokenav_unk_1.c b/src/pokenav_unk_1.c index b5bbc4b747..8bf3ebd2a2 100644 --- a/src/pokenav_unk_1.c +++ b/src/pokenav_unk_1.c @@ -64,7 +64,7 @@ bool32 PokenavCallback_Init_0(void) state->menuType = GetPokenavMainMenuType(); state->cursorPos = 0; state->descriptionId = 0; - state->helpBarIndex = 0; + state->helpBarIndex = HELPBAR_NONE; sub_81C939C(state); return TRUE; } @@ -78,7 +78,7 @@ bool32 PokenavCallback_Init_4(void) state->menuType = GetPokenavMainMenuType(); state->cursorPos = 2; state->descriptionId = 2; - state->helpBarIndex = 0; + state->helpBarIndex = HELPBAR_NONE; sub_81C939C(state); return TRUE; } @@ -105,7 +105,7 @@ bool32 PokenavCallback_Init_2(void) state->menuType = 3; state->cursorPos = 0; state->descriptionId = 5; - state->helpBarIndex = 0; + state->helpBarIndex = HELPBAR_NONE; sub_81C939C(state); return TRUE; } @@ -119,7 +119,7 @@ bool32 PokenavCallback_Init_3(void) state->menuType = 4; state->cursorPos = sub_81C76AC(); state->descriptionId = state->cursorPos + 8; - state->helpBarIndex = 0; + state->helpBarIndex = HELPBAR_NONE; sub_81C939C(state); return TRUE; } @@ -151,9 +151,9 @@ static u32 (*sub_81C93EC(void))(struct Pokenav1Struct*) default: case POKENAV_MODE_NORMAL: return sub_81C943C; - case POKENAV_MODE_FORCE_CALL_1: + case POKENAV_MODE_FORCE_CALL_READY: return sub_81C9520; - case POKENAV_MODE_FORCE_CALL_2: + case POKENAV_MODE_FORCE_CALL_EXIT: return sub_81C9588; } } @@ -179,7 +179,7 @@ static u32 sub_81C943C(struct Pokenav1Struct *a0) switch (sDescriptionIds[a0->menuType][a0->cursorPos]) { case 0: - a0->helpBarIndex = gSaveBlock2Ptr->regionMapZoom ? 2 : 1; + a0->helpBarIndex = gSaveBlock2Ptr->regionMapZoom ? HELPBAR_MAP_ZOOMED_IN : HELPBAR_MAP_ZOOMED_OUT; sub_81C97B0(a0, POKENAV_MENU_6); return 8; case 1: @@ -189,13 +189,13 @@ static u32 sub_81C943C(struct Pokenav1Struct *a0) a0->callback = sub_81C963C; return 2; case 2: - a0->helpBarIndex = 6; + a0->helpBarIndex = HELPBAR_MC_TRAINER_LIST; sub_81C97B0(a0, POKENAV_MENU_B); return 8; case 3: if (CanViewRibbonsMenu()) { - a0->helpBarIndex = 9; + a0->helpBarIndex = HELPBAR_RIBBONS_MON_LIST; sub_81C97B0(a0, POKENAV_MENU_C); return 8; } @@ -224,7 +224,7 @@ static u32 sub_81C9520(struct Pokenav1Struct *a0) { if (sDescriptionIds[a0->menuType][a0->cursorPos] == 2) { - a0->helpBarIndex = 6; + a0->helpBarIndex = HELPBAR_MC_TRAINER_LIST; sub_81C97B0(a0, POKENAV_MENU_B); return 8; } @@ -259,7 +259,7 @@ static u32 sub_81C9588(struct Pokenav1Struct *a0) } else if (v0 == 2) { - a0->helpBarIndex = 6; + a0->helpBarIndex = HELPBAR_MC_TRAINER_LIST; sub_81C97B0(a0, POKENAV_MENU_B); return 8; } @@ -349,7 +349,7 @@ static u32 sub_81C96FC(struct Pokenav1Struct *a0) { sub_81C7694(v0 - 8); sub_81C97B0(a0, POKENAV_MENU_8); - a0->helpBarIndex = 3; + a0->helpBarIndex = HELPBAR_CONDITION_MON_LIST; return 8; } else @@ -459,7 +459,7 @@ int sub_81C98B4(void) return state->descriptionId; } -u16 sub_81C98C4(void) +u16 GetHelpBarTextId(void) { struct Pokenav1Struct *state = GetSubstructPtr(1); return state->helpBarIndex; diff --git a/src/pokenav_unk_10.c b/src/pokenav_unk_10.c index 135ff24b3d..099843f838 100644 --- a/src/pokenav_unk_10.c +++ b/src/pokenav_unk_10.c @@ -573,7 +573,7 @@ u32 sub_81D0A6C(s32 state) return LT_PAUSE; case 7: sub_81D12D8(structPtr); - sub_81C7BA4(10); + PrintHelpBarText(HELPBAR_RIBBONS_LIST); return LT_INC_AND_PAUSE; case 8: if (!IsDma3ManagerBusyWithBgCopy()) @@ -667,7 +667,7 @@ u32 sub_81D0D2C(s32 state) if (!sub_81D1524(structPtr)) { sub_81D0EFC(structPtr); - sub_81C7BA4(11); + PrintHelpBarText(HELPBAR_RIBBONS_CHECK); return LT_INC_AND_PAUSE; } return LT_PAUSE; @@ -721,7 +721,7 @@ u32 sub_81D0E00(s32 state) if (!sub_81D1524(structPtr)) { sub_81D0E84(structPtr); - sub_81C7BA4(10); + PrintHelpBarText(HELPBAR_RIBBONS_LIST); return LT_INC_AND_PAUSE; } return LT_PAUSE; @@ -752,7 +752,7 @@ void sub_81D0E60(struct PokenavSub14 *structPtr) void sub_81D0E84(struct PokenavSub14 *structPtr) { - u8 color[] = {4, 2, 3}; + u8 color[] = {TEXT_COLOR_RED, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}; ConvertIntToDecimalStringN(gStringVar1, GetCurrMonRibbonCount(), STR_CONV_MODE_LEFT_ALIGN, 2); DynamicPlaceholderTextUtil_Reset(); @@ -767,7 +767,7 @@ void sub_81D0EFC(struct PokenavSub14 *structPtr) { s32 i; u32 ribbonId = sub_81D0954(); - u8 color[] = {4, 2, 3}; + u8 color[] = {TEXT_COLOR_RED, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}; FillWindowPixelBuffer(structPtr->field_A, PIXEL_FILL(4)); if (ribbonId < 25) @@ -1057,10 +1057,10 @@ static const struct SpritePalette gUnknown_08624C80[] = static const struct OamData sOamData_8624CB0 = { .y = 0, - .affineMode = 1, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, diff --git a/src/pokenav_unk_2.c b/src/pokenav_unk_2.c index 1c40e146fb..de962ccd69 100644 --- a/src/pokenav_unk_2.c +++ b/src/pokenav_unk_2.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "decompress.h" #include "bg.h" #include "palette.h" @@ -220,32 +220,31 @@ static const struct WindowTemplate gUnknown_086202CC = static const u8 *const gUnknown_086202D4[] = { - gUnknown_085EBCC5, - gUnknown_085EBCE8, - gUnknown_085EBD01, - gUnknown_085EBD1C, - gUnknown_085EBD34, - gUnknown_085EBD83, - gUnknown_085EBDA2, - gUnknown_085EBDBF, - gUnknown_085EBDDB, - gUnknown_085EBDEE, - gUnknown_085EBE06, - gUnknown_085EBE19, - gUnknown_085EBE2D, - gUnknown_085EBE41 + gText_CheckMapOfHoenn, + gText_CheckPokemonInDetail, + gText_CallRegisteredTrainer, + gText_CheckObtainedRibbons, + gText_PutAwayPokenav, + gText_CheckPartyPokemonInDetail, + gText_CheckAllPokemonInDetail, + gText_ReturnToPokenavMenu, + gText_FindCoolPokemon, + gText_FindBeautifulPokemon, + gText_FindCutePokemon, + gText_FindSmartPokemon, + gText_FindToughPokemon, + gText_ReturnToConditionMenu }; -static const u8 gUnknown_0862030C[] = {6, 8, 7}; - -static const u8 gUnknown_0862030F[] = {6, 8, 7, 0, 0}; +static const u8 sOptionDescTextColors[] = {TEXT_COLOR_GREEN, TEXT_COLOR_BLUE, TEXT_COLOR_LIGHT_GREEN}; +static const u8 sOptionDescTextColors2[] = {TEXT_COLOR_GREEN, TEXT_COLOR_BLUE, TEXT_COLOR_LIGHT_GREEN}; static const struct OamData gUnknown_08620314 = { .y = 0, - .affineMode = 0, - .objMode = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, .size = SPRITE_SIZE(32x16), @@ -287,9 +286,9 @@ static const struct SpriteTemplate gUnknown_0862034C = static const struct OamData gUnknown_08620364 = { .y = 0, - .affineMode = 0, - .objMode = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, .size = SPRITE_SIZE(32x16), @@ -324,7 +323,7 @@ static bool32 sub_81C98D4(void) for (i = 0; i < REMATCH_TABLE_ENTRIES; i++) { if (sub_81CB0C8(i) == gMapHeader.regionMapSectionId - && sub_81CAE08(i) + && IsRematchEntryRegistered(i) && gSaveBlock1Ptr->trainerRematches[i]) return TRUE; } @@ -707,10 +706,10 @@ static u32 sub_81C9F28(s32 state) switch (state) { case 0: - sub_81C7BA4(sub_81C98C4()); + PrintHelpBarText(GetHelpBarTextId()); return LT_INC_AND_PAUSE; case 1: - if (IsDma3ManagerBusyWithBgCopy_()) + if (WaitForHelpBar()) return LT_PAUSE; sub_81C7880(); sub_81CA9C8(); @@ -1030,7 +1029,7 @@ static void sub_81CA4AC(struct Sprite * sprite) { sprite->invisible = TRUE; FreeOamMatrix(sprite->oam.matrixNum); - CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, 0); + CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, ST_OAM_AFFINE_OFF); sprite->oam.affineMode = ST_OAM_AFFINE_OFF; sprite->oam.objMode = ST_OAM_OBJ_NORMAL; sprite->callback = SpriteCallbackDummy; @@ -1130,7 +1129,7 @@ static void sub_81CA714(void) const u8 * s = gUnknown_086202D4[i]; u32 width = GetStringWidth(1, s, -1); FillWindowPixelBuffer(ptr->optionDescriptionWindowId, PIXEL_FILL(6)); - AddTextPrinterParameterized3(ptr->optionDescriptionWindowId, 1, (192 - width) / 2, 1, gUnknown_0862030C, 0, s); + AddTextPrinterParameterized3(ptr->optionDescriptionWindowId, 1, (192 - width) / 2, 1, sOptionDescTextColors, 0, s); } @@ -1140,7 +1139,7 @@ static void sub_81CA770(void) const u8 * s = gText_NoRibbonWinners; u32 width = GetStringWidth(1, s, -1); FillWindowPixelBuffer(ptr->optionDescriptionWindowId, PIXEL_FILL(6)); - AddTextPrinterParameterized3(ptr->optionDescriptionWindowId, 1, (192 - width) / 2, 1, gUnknown_0862030F, 0, s); + AddTextPrinterParameterized3(ptr->optionDescriptionWindowId, 1, (192 - width) / 2, 1, sOptionDescTextColors2, 0, s); } static bool32 sub_81CA7C4(void) diff --git a/src/pokenav_unk_3.c b/src/pokenav_unk_3.c index c66434192d..28e84b50b4 100755 --- a/src/pokenav_unk_3.c +++ b/src/pokenav_unk_3.c @@ -17,30 +17,40 @@ struct Pokenav3Struct { - u16 unk0; - u16 unk2; - const u8 *unk4; - u16 unk8; - u16 unkA; + u16 optionCursorPos; + u16 maxOptionId; + const u8 *matchCallOptions; + u16 headerId; + u16 numRegistered; u16 unkC; u32 unk10; u32 unk14; u32 (*callback)(struct Pokenav3Struct*); - struct PokenavMonList unk1C[99]; + struct PokenavMatchCallEntries matchCallEntries[MAX_REMATCH_ENTRIES - 1]; }; -static u32 sub_81CAB44(struct Pokenav3Struct *); +static u32 CB2_HandleMatchCallInput(struct Pokenav3Struct *); static u32 sub_81CABFC(struct Pokenav3Struct *); -static u32 sub_81CAC04(struct Pokenav3Struct *); -static u32 sub_81CACB8(struct Pokenav3Struct *); -static u32 sub_81CACF8(struct Pokenav3Struct *); +static u32 CB2_HandleMatchCallOptionsInput(struct Pokenav3Struct *); +static u32 CB2_HandleCheckPageInput(struct Pokenav3Struct *); +static u32 CB2_HandleCallInput(struct Pokenav3Struct *); static u32 sub_81CAD20(s32); static bool32 sub_81CB1D0(void); #include "data/text/match_call_messages.h" -const u8 gUnknown_08622508[] = {0, 2}; -const u8 gUnknown_0862250A[] = {0, 1, 2}; +static const u8 sMatchCallOptionsNoCheckPage[] = +{ + MATCH_CALL_OPTION_CALL, + MATCH_CALL_OPTION_CANCEL +}; + +static const u8 sMatchCallOptionsHasCheckPage[] = +{ + MATCH_CALL_OPTION_CALL, + MATCH_CALL_OPTION_CHECK, + MATCH_CALL_OPTION_CANCEL +}; bool32 PokenavCallback_Init_11(void) { @@ -48,8 +58,8 @@ bool32 PokenavCallback_Init_11(void) if (!state) return FALSE; - state->callback = sub_81CAB44; - state->unk8 = 0; + state->callback = CB2_HandleMatchCallInput; + state->headerId = 0; state->unk10 = 0; state->unk14 = CreateLoopedTask(sub_81CAD20, 1); return TRUE; @@ -66,52 +76,54 @@ void sub_81CAB38(void) FreePokenavSubstruct(5); } -static u32 sub_81CAB44(struct Pokenav3Struct *state) +static u32 CB2_HandleMatchCallInput(struct Pokenav3Struct *state) { - int selectedMatchCall; + int selection; if (gMain.newAndRepeatedKeys & DPAD_UP) - return 2; + return POKENAV_MC_FUNC_UP; if (gMain.newAndRepeatedKeys & DPAD_DOWN) - return 1; + return POKENAV_MC_FUNC_DOWN; if (gMain.newAndRepeatedKeys & DPAD_LEFT) - return 4; + return POKENAV_MC_FUNC_PG_UP; if (gMain.newAndRepeatedKeys & DPAD_RIGHT) - return 3; + return POKENAV_MC_FUNC_PG_DOWN; if (gMain.newKeys & A_BUTTON) { - state->callback = sub_81CAC04; - state->unk0 = 0; - selectedMatchCall = GetSelectedMatchCall(); - if (!state->unk1C[selectedMatchCall].boxId || MatchCall_HasCheckPage(state->unk1C[selectedMatchCall].unk6)) + state->callback = CB2_HandleMatchCallOptionsInput; + state->optionCursorPos = 0; + selection = GetSelectedMatchCall(); + + if (!state->matchCallEntries[selection].isSpecialTrainer || MatchCall_HasCheckPage(state->matchCallEntries[selection].headerId)) { - state->unk4 = gUnknown_0862250A; - state->unk2 = 2; + state->matchCallOptions = sMatchCallOptionsHasCheckPage; + state->maxOptionId = ARRAY_COUNT(sMatchCallOptionsHasCheckPage) - 1; } else { - state->unk4 = gUnknown_08622508; - state->unk2 = 1; + state->matchCallOptions = sMatchCallOptionsNoCheckPage; + state->maxOptionId = ARRAY_COUNT(sMatchCallOptionsNoCheckPage) - 1; } - return 5; + return POKENAV_MC_FUNC_SELECT; } if (gMain.newKeys & B_BUTTON) { - if (GetPokenavMode() != POKENAV_MODE_FORCE_CALL_1) + if (GetPokenavMode() != POKENAV_MODE_FORCE_CALL_READY) { state->callback = sub_81CABFC; - return 15; + return POKENAV_MC_FUNC_EXIT; } else { + // Cant exit Match Call menu before calling Mr Stone during tutorial PlaySE(SE_HAZURE); } } - return 0; + return POKENAV_MC_FUNC_NONE; } static u32 sub_81CABFC(struct Pokenav3Struct *state) @@ -119,76 +131,76 @@ static u32 sub_81CABFC(struct Pokenav3Struct *state) return POKENAV_MENU_4; } -static u32 sub_81CAC04(struct Pokenav3Struct *state) +static u32 CB2_HandleMatchCallOptionsInput(struct Pokenav3Struct *state) { - if ((gMain.newKeys & DPAD_UP) && state->unk0) + if ((gMain.newKeys & DPAD_UP) && state->optionCursorPos) { - state->unk0--; - return 6; + state->optionCursorPos--; + return POKENAV_MC_FUNC_MOVE_OPTIONS_CURSOR; } - if ((gMain.newKeys & DPAD_DOWN) && state->unk0 < state->unk2) + if ((gMain.newKeys & DPAD_DOWN) && state->optionCursorPos < state->maxOptionId) { - state->unk0++; - return 6; + state->optionCursorPos++; + return POKENAV_MC_FUNC_MOVE_OPTIONS_CURSOR; } if (gMain.newKeys & A_BUTTON) { - switch (state->unk4[state->unk0]) + switch (state->matchCallOptions[state->optionCursorPos]) { - case 2: - state->callback = sub_81CAB44; - return 7; - case 0: - if (GetPokenavMode() == POKENAV_MODE_FORCE_CALL_1) - SetPokenavMode(POKENAV_MODE_FORCE_CALL_2); + case MATCH_CALL_OPTION_CANCEL: + state->callback = CB2_HandleMatchCallInput; + return POKENAV_MC_FUNC_CANCEL; + case MATCH_CALL_OPTION_CALL: + if (GetPokenavMode() == POKENAV_MODE_FORCE_CALL_READY) + SetPokenavMode(POKENAV_MODE_FORCE_CALL_EXIT); - state->callback = sub_81CACF8; + state->callback = CB2_HandleCallInput; if (sub_81CB1D0()) - return 9; + return POKENAV_MC_FUNC_NEARBY_MSG; - return 8; - case 1: - state->callback = sub_81CACB8; - return 11; + return POKENAV_MC_FUNC_CALL_MSG; + case MATCH_CALL_OPTION_CHECK: + state->callback = CB2_HandleCheckPageInput; + return POKENAV_MC_FUNC_SHOW_CHECK_PAGE; } } if (gMain.newKeys & B_BUTTON) { - state->callback = sub_81CAB44; - return 7; + state->callback = CB2_HandleMatchCallInput; + return POKENAV_MC_FUNC_CANCEL; } - return 0; + return POKENAV_MC_FUNC_NONE; } -static u32 sub_81CACB8(struct Pokenav3Struct *state) +static u32 CB2_HandleCheckPageInput(struct Pokenav3Struct *state) { if (gMain.newAndRepeatedKeys & DPAD_UP) - return 12; + return POKENAV_MC_FUNC_CHECK_PAGE_UP; if (gMain.newAndRepeatedKeys & DPAD_DOWN) - return 13; + return POKENAV_MC_FUNC_CHECK_PAGE_DOWN; if (gMain.newKeys & B_BUTTON) { - state->callback = sub_81CAB44; - return 14; + state->callback = CB2_HandleMatchCallInput; + return POKENAV_MC_FUNC_EXIT_CHECK_PAGE; } - return 0; + return POKENAV_MC_FUNC_NONE; } -static u32 sub_81CACF8(struct Pokenav3Struct *state) +static u32 CB2_HandleCallInput(struct Pokenav3Struct *state) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { - state->callback = sub_81CAB44; - return 10; + state->callback = CB2_HandleMatchCallInput; + return POKENAV_MC_FUNC_10; } - return 0; + return POKENAV_MC_FUNC_NONE; } static u32 sub_81CAD20(s32 taskState) @@ -198,41 +210,41 @@ static u32 sub_81CAD20(s32 taskState) switch (taskState) { case 0: - state->unk8 = 0; - state->unkA = 0; + state->headerId = 0; + state->numRegistered = 0; return LT_INC_AND_CONTINUE; case 1: - for (i = 0, j = state->unk8; i < 30; i++, j++) + for (i = 0, j = state->headerId; i < 30; i++, j++) { - if (MatchCallFlagGetByIndex(j)) + if (MatchCall_GetEnabled(j)) { - state->unk1C[state->unkA].unk6 = j; - state->unk1C[state->unkA].boxId = 1; - state->unk1C[state->unkA].monId = MatchCallMapSecGetByIndex(j); - state->unkA++; + state->matchCallEntries[state->numRegistered].headerId = j; + state->matchCallEntries[state->numRegistered].isSpecialTrainer = TRUE; + state->matchCallEntries[state->numRegistered].mapSec = MatchCall_GetMapSec(j); + state->numRegistered++; } - if (++state->unk8 >= MC_HEADER_COUNT) + if (++state->headerId >= MC_HEADER_COUNT) { - state->unkC = state->unk8; - state->unk8 = 0; + state->unkC = state->headerId; + state->headerId = 0; return LT_INC_AND_CONTINUE; } } return LT_CONTINUE; case 2: - for (i = 0, j = state->unk8; i < 30; i++, j++) + for (i = 0, j = state->headerId; i < 30; i++, j++) { - if (!sub_81D1BF8(state->unk8) && sub_81CAE08(state->unk8)) + if (!MatchCall_HasRematchId(state->headerId) && IsRematchEntryRegistered(state->headerId)) { - state->unk1C[state->unkA].unk6 = state->unk8; - state->unk1C[state->unkA].boxId = 0; - state->unk1C[state->unkA].monId = sub_81CB0C8(j); - state->unkA++; + state->matchCallEntries[state->numRegistered].headerId = state->headerId; + state->matchCallEntries[state->numRegistered].isSpecialTrainer = FALSE; + state->matchCallEntries[state->numRegistered].mapSec = sub_81CB0C8(j); + state->numRegistered++; } - if (++state->unk8 > REMATCH_TABLE_ENTRIES - 1) + if (++state->headerId > REMATCH_TABLE_ENTRIES - 1) return LT_INC_AND_CONTINUE; } @@ -245,7 +257,7 @@ static u32 sub_81CAD20(s32 taskState) return LT_FINISH; } -bool32 sub_81CAE08(int rematchIndex) +bool32 IsRematchEntryRegistered(int rematchIndex) { if (rematchIndex < REMATCH_TABLE_ENTRIES) return FlagGet(FLAG_MATCH_CALL_REGISTERED + rematchIndex); @@ -259,10 +271,10 @@ int sub_81CAE28(void) return state->unk10; } -int sub_81CAE38(void) +int GetNumberRegistered(void) { struct Pokenav3Struct *state = GetSubstructPtr(5); - return state->unkA; + return state->numRegistered; } int sub_81CAE48(void) @@ -274,38 +286,38 @@ int sub_81CAE48(void) int unref_sub_81CAE58(void) { struct Pokenav3Struct *state = GetSubstructPtr(5); - return state->unkA - state->unkC; + return state->numRegistered - state->unkC; } int unref_sub_81CAE6C(int arg0) { struct Pokenav3Struct *state = GetSubstructPtr(5); arg0 += state->unkC; - if (arg0 >= state->unkA) + if (arg0 >= state->numRegistered) return REMATCH_TABLE_ENTRIES; - return state->unk1C[arg0].unk6; + return state->matchCallEntries[arg0].headerId; } -struct PokenavMonList *sub_81CAE94(void) +struct PokenavMatchCallEntries *sub_81CAE94(void) { struct Pokenav3Struct *state = GetSubstructPtr(5); - return state->unk1C; + return state->matchCallEntries; } -u16 sub_81CAEA4(int index) +u16 GetMatchCallMapSec(int index) { struct Pokenav3Struct *state = GetSubstructPtr(5); - return state->unk1C[index].monId; + return state->matchCallEntries[index].mapSec; } -bool32 sub_81CAEBC(int index) +bool32 ShouldDrawRematchPokeballIcon(int index) { struct Pokenav3Struct *state = GetSubstructPtr(5); - if (!state->unk1C[index].boxId) - index = state->unk1C[index].unk6; + if (!state->matchCallEntries[index].isSpecialTrainer) + index = state->matchCallEntries[index].headerId; else - index = MatchCall_GetRematchTableIdx(state->unk1C[index].unk6); + index = MatchCall_GetRematchTableIdx(state->matchCallEntries[index].headerId); if (index == REMATCH_TABLE_ENTRIES) return FALSE; @@ -313,83 +325,83 @@ bool32 sub_81CAEBC(int index) return gSaveBlock1Ptr->trainerRematches[index] != 0; } -int sub_81CAF04(int index) +int GetMatchCallTrainerPic(int index) { - int var0; + int headerId; struct Pokenav3Struct *state = GetSubstructPtr(5); - if (!state->unk1C[index].boxId) + if (!state->matchCallEntries[index].isSpecialTrainer) { - index = GetTrainerIdxByRematchIdx(state->unk1C[index].unk6); + index = GetTrainerIdxByRematchIdx(state->matchCallEntries[index].headerId); return gTrainers[index].trainerPic; } - var0 = state->unk1C[index].unk6; - index = MatchCall_GetRematchTableIdx(var0); + headerId = state->matchCallEntries[index].headerId; + index = MatchCall_GetRematchTableIdx(headerId); if (index != REMATCH_TABLE_ENTRIES) { index = GetTrainerIdxByRematchIdx(index); return gTrainers[index].trainerPic; } - index = MatchCall_GetOverrideFacilityClass(var0); + index = MatchCall_GetOverrideFacilityClass(headerId); return gFacilityClassToPicIndex[index]; } -const u8 *sub_81CAF78(int index, u8 *arg1) +const u8 *GetMatchCallMessageText(int index, u8 *arg1) { struct Pokenav3Struct *state = GetSubstructPtr(5); *arg1 = 0; if (!Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType)) return gText_CallCantBeMadeHere; - if (!state->unk1C[index].boxId) - *arg1 = SelectMatchCallMessage(GetTrainerIdxByRematchIdx(state->unk1C[index].unk6), gStringVar4); + if (!state->matchCallEntries[index].isSpecialTrainer) + *arg1 = SelectMatchCallMessage(GetTrainerIdxByRematchIdx(state->matchCallEntries[index].headerId), gStringVar4); else - MatchCall_GetMessage(state->unk1C[index].unk6, gStringVar4); + MatchCall_GetMessage(state->matchCallEntries[index].headerId, gStringVar4); return gStringVar4; } -const u8 *sub_81CAFD8(int index, int textType) +const u8 *GetMatchCallFlavorText(int index, int checkPageEntry) { - int var0; + int rematchId; struct Pokenav3Struct *state = GetSubstructPtr(5); - if (state->unk1C[index].boxId) + if (state->matchCallEntries[index].isSpecialTrainer) { - var0 = MatchCall_GetRematchTableIdx(state->unk1C[index].unk6); - if (var0 == REMATCH_TABLE_ENTRIES) - return MatchCall_GetOverrideFlavorText(state->unk1C[index].unk6, textType); + rematchId = MatchCall_GetRematchTableIdx(state->matchCallEntries[index].headerId); + if (rematchId == REMATCH_TABLE_ENTRIES) + return MatchCall_GetOverrideFlavorText(state->matchCallEntries[index].headerId, checkPageEntry); } else { - var0 = state->unk1C[index].unk6; + rematchId = state->matchCallEntries[index].headerId; } - return gMatchCallMessages[var0][textType]; + return gMatchCallFlavorTexts[rematchId][checkPageEntry]; } -u16 sub_81CB01C(void) +u16 GetMatchCallOptionCursorPos(void) { struct Pokenav3Struct *state = GetSubstructPtr(5); - return state->unk0; + return state->optionCursorPos; } -u16 sub_81CB02C(int arg0) +u16 GetMatchCallOptionId(int optionId) { struct Pokenav3Struct *state = GetSubstructPtr(5); - if (state->unk2 < arg0) - return 3; + if (state->maxOptionId < optionId) + return MATCH_CALL_OPTION_COUNT; - return state->unk4[arg0]; + return state->matchCallOptions[optionId]; } -void sub_81CB050(struct PokenavMonList * arg0, u8 *str) +void BufferMatchCallNameAndDesc(struct PokenavMatchCallEntries *matchCallEntry, u8 *str) { const u8 *trainerName; const u8 *className; - if (!arg0->boxId) + if (!matchCallEntry->isSpecialTrainer) { - int index = GetTrainerIdxByRematchIdx(arg0->unk6); + int index = GetTrainerIdxByRematchIdx(matchCallEntry->headerId); const struct Trainer *trainer = &gTrainers[index]; int class = trainer->trainerClass; className = gTrainerClassNames[class]; @@ -397,7 +409,7 @@ void sub_81CB050(struct PokenavMonList * arg0, u8 *str) } else { - sub_81D1A78(arg0->unk6, &className, &trainerName); + MatchCall_GetNameAndDesc(matchCallEntry->headerId, &className, &trainerName); } if (className && trainerName) @@ -418,15 +430,15 @@ u8 sub_81CB0C8(int rematchIndex) return Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId; } -int sub_81CB0E4(int index) +int GetIndexDeltaOfNextCheckPageDown(int index) { struct Pokenav3Struct *state = GetSubstructPtr(5); int count = 1; - while (++index < state->unkA) + while (++index < state->numRegistered) { - if (!state->unk1C[index].boxId) + if (!state->matchCallEntries[index].isSpecialTrainer) return count; - if (MatchCall_HasCheckPage(state->unk1C[index].unk6)) + if (MatchCall_HasCheckPage(state->matchCallEntries[index].headerId)) return count; count++; @@ -435,15 +447,15 @@ int sub_81CB0E4(int index) return 0; } -int sub_81CB128(int index) +int GetIndexDeltaOfNextCheckPageUp(int index) { struct Pokenav3Struct *state = GetSubstructPtr(5); int count = -1; while (--index >= 0) { - if (!state->unk1C[index].boxId) + if (!state->matchCallEntries[index].isSpecialTrainer) return count; - if (MatchCall_HasCheckPage(state->unk1C[index].unk6)) + if (MatchCall_HasCheckPage(state->matchCallEntries[index].headerId)) return count; count--; @@ -458,13 +470,13 @@ bool32 unref_sub_81CB16C(void) for (i = 0; i < REMATCH_TABLE_ENTRIES; i++) { - if (sub_81CAE08(i) && gSaveBlock1Ptr->trainerRematches[i]) + if (IsRematchEntryRegistered(i) && gSaveBlock1Ptr->trainerRematches[i]) return TRUE; } for (i = 0; i < MC_HEADER_COUNT; i++) { - if (MatchCallFlagGetByIndex(i)) + if (MatchCall_GetEnabled(i)) { int index = MatchCall_GetRematchTableIdx(i); if (gSaveBlock1Ptr->trainerRematches[index]) @@ -478,20 +490,20 @@ bool32 unref_sub_81CB16C(void) static bool32 sub_81CB1D0(void) { struct Pokenav3Struct *state = GetSubstructPtr(5); - int index = GetSelectedMatchCall(); - if (!state->unk1C[index].boxId) + int selection = GetSelectedMatchCall(); + if (!state->matchCallEntries[selection].isSpecialTrainer) { - if (sub_81CAEA4(index) == gMapHeader.regionMapSectionId) + if (GetMatchCallMapSec(selection) == gMapHeader.regionMapSectionId) { - if (!gSaveBlock1Ptr->trainerRematches[state->unk1C[index].unk6]) + if (!gSaveBlock1Ptr->trainerRematches[state->matchCallEntries[selection].headerId]) return TRUE; } } else { - if (state->unk1C[index].unk6 == 11) + if (state->matchCallEntries[selection].headerId == MC_HEADER_WATTSON) { - if (sub_81CAEA4(index) == gMapHeader.regionMapSectionId + if (GetMatchCallMapSec(selection) == gMapHeader.regionMapSectionId && FlagGet(FLAG_BADGE05_GET) == TRUE) { if (!FlagGet(FLAG_WATTSON_REMATCH_AVAILABLE)) diff --git a/src/pokenav_unk_4.c b/src/pokenav_unk_4.c index 0f05c6f5d5..d8a1a0dfac 100755 --- a/src/pokenav_unk_4.c +++ b/src/pokenav_unk_4.c @@ -32,15 +32,15 @@ struct Pokenav4Struct u8 filler8[0x6]; u8 unkE; u8 unkF; - u16 unk10; - u16 unk12; - u16 unk14; + u16 locWindowId; + u16 infoBoxWindowId; + u16 msgBoxWindowId; s16 unk16; u8 unused18; u8 unk19; u16 unk1A; - struct Sprite *unk1C; - struct Sprite *unk20; + struct Sprite *optionsCursorSprite; + struct Sprite *trainerPicSprite; u8 unk24[0x800]; u8 unk824[0x800]; u8 unk1024[0x800]; @@ -55,74 +55,70 @@ static void sub_81CBBB8(void); static void sub_81CBC1C(void); static void sub_81CC2B4(void); static void sub_81CC034(struct Pokenav4Struct *); -static void sub_81CBD78(struct Pokenav4Struct *); -static void sub_81CBDC0(struct Pokenav4Struct *); -static void sub_81CBEF8(struct Pokenav4Struct *, int); +static void DrawMatchCallLeftColumnWindows(struct Pokenav4Struct *); +static void UpdateMatchCallInfoBox(struct Pokenav4Struct *); +static void PrintMatchCallLocation(struct Pokenav4Struct *, int); static void sub_81CC214(void); static void sub_81CBC38(int); -static void sub_81CBF60(struct Pokenav4Struct *); +static void PrintMatchCallSelectionOptions(struct Pokenav4Struct *); static bool32 sub_81CBFC4(struct Pokenav4Struct *); -static void sub_81CC344(struct Pokenav4Struct *, int); -static bool32 sub_81CC004(struct Pokenav4Struct *); -static void sub_81CBFF0(struct Pokenav4Struct *); -static void sub_81CC058(struct Pokenav4Struct *); -static bool32 sub_81CC0D0(struct Pokenav4Struct *); -static void sub_81CC0E0(struct Pokenav4Struct *); -static bool32 sub_81CC104(struct Pokenav4Struct *); -static void sub_81CC158(struct Pokenav4Struct *); -static bool32 sub_81CC194(struct Pokenav4Struct *); -static void sub_81CC09C(struct Pokenav4Struct *); -static void sub_81CC11C(struct Pokenav4Struct *); -static bool32 sub_81CC140(struct Pokenav4Struct *); -static void sub_81CC1DC(struct Pokenav4Struct *); -static bool32 sub_81CC204(struct Pokenav4Struct *); -static void sub_81CC014(struct Pokenav4Struct *); -static void sub_81CC39C(struct Pokenav4Struct *); -static bool32 sub_81CC42C(struct Pokenav4Struct *); -static void sub_81CC420(struct Pokenav4Struct *); +static void UpdateCursorGfxPos(struct Pokenav4Struct *, int); +static bool32 IsDma3ManagerBusyWithBgCopy1(struct Pokenav4Struct *); +static void UpdateWindowsReturnToTrainerList(struct Pokenav4Struct *); +static void DrawMsgBoxForMatchCallMsg(struct Pokenav4Struct *); +static bool32 IsDma3ManagerBusyWithBgCopy2(struct Pokenav4Struct *); +static void PrintCallingDots(struct Pokenav4Struct *); +static bool32 WaitForCallingDotsText(struct Pokenav4Struct *); +static void PrintMatchCallMessage(struct Pokenav4Struct *); +static bool32 WaitForMatchCallMessageText(struct Pokenav4Struct *); +static void DrawMsgBoxForCloseByMsg(struct Pokenav4Struct *); +static void PrintTrainerIsCloseBy(struct Pokenav4Struct *); +static bool32 WaitForTrainerIsCloseByText(struct Pokenav4Struct *); +static void DrawSpinningPokenavForCall(struct Pokenav4Struct *); +static bool32 WaitForSpinningPokenav(struct Pokenav4Struct *); +static void UpdateWindowsToShowCheckPage(struct Pokenav4Struct *); +static void LoadCheckPageTrainerPic(struct Pokenav4Struct *); +static bool32 WaitForTrainerPic(struct Pokenav4Struct *); +static void TrainerPicSlideOffscreen(struct Pokenav4Struct *); static void sub_81CBC64(u8 taskId); -static void sub_81CBCEC(u16 windowId, u32, u32); -static void sub_81CBDF4(u16 windowId); -static void sub_81CBE0C(u16 windowId); -static void sub_81CBE38(u16 windowId); -static void sub_81CBE50(u16 windowId); -static void sub_81CBE88(u16 windowId, const u8 *str, int top); -static void sub_81CBEB4(u16 windowId, const u8 *str, int top); +static void TryDrawRematchPokeballIcon(u16 windowId, u32, u32); +static void PrintNumberRegisteredLabel(u16 windowId); +static void PrintNumberRegistered(u16 windowId); +static void PrintNumberOfBattlesLabel(u16 windowId); +static void PrintNumberOfBattles(u16 windowId); +static void PrintMatchCallInfoLabel(u16 windowId, const u8 *str, int top); +static void PrintMatchCallInfoNumber(u16 windowId, const u8 *str, int top); static void sub_81CC2F0(struct Pokenav4Struct *, int); -static void sub_81CC330(struct Pokenav4Struct *); -static struct Sprite *sub_81CC370(void); -static void sub_81CC440(struct Sprite *sprite); -static void sub_81CC4A4(struct Sprite *sprite); -void sub_81CC34C(struct Sprite *sprite); -u32 sub_81CB510(s32); -u32 sub_81CB588(s32); -u32 sub_81CB600(s32); -u32 sub_81CB678(s32); -u32 sub_81CB6F0(s32); -u32 sub_81CB734(s32); -u32 sub_81CB75C(s32); -u32 sub_81CB7A0(s32); -u32 sub_81CB824(s32); +static void CloseMatchCallSelectOptionsWindow(struct Pokenav4Struct *); +static struct Sprite *CreateTrainerPicSprite(void); +static void SpriteCB_TrainerPicSlideOnscreen(struct Sprite *sprite); +static void SpriteCB_TrainerPicSlideOffscreen(struct Sprite *sprite); +void SpriteCB_OptionsCursor(struct Sprite *sprite); +u32 MatchCallListCursorDown(s32); +u32 MatchCallListCursorUp(s32); +u32 MatchCallListPageDown(s32); +u32 MatchCallListPageUp(s32); +u32 SelectMatchCallEntry(s32); +u32 MoveMatchCallOptionsCursor(s32); +static u32 CancelMatchCallSelection(s32); +u32 DoMatchCallMessage(s32); +u32 DoTrainerCloseByMessage(s32); u32 sub_81CB888(s32); -u32 sub_81CB93C(s32); -u32 sub_81CBAD4(s32); -u32 sub_81CB9C8(s32); -u32 sub_81CBA68(s32); -u32 sub_81CBB74(s32); +u32 ShowCheckPage(s32); +u32 ShowCheckPageUp(s32); +u32 ShowCheckPageDown(s32); +u32 ExitCheckPage(s32); +u32 ExitMatchCall(s32); -extern const struct WindowTemplate gUnknown_08622808; -extern const struct SpriteTemplate gUnknown_08622830; -extern const struct SpriteTemplate gUnknown_08622850; - -const u16 gUnknown_08622510[] = INCBIN_U16("graphics/pokenav/ui_matchcall.gbapal"); -const u32 gUnknown_08622530[] = INCBIN_U32("graphics/pokenav/ui_matchcall.4bpp.lz"); -const u32 gUnknown_086225D4[] = INCBIN_U32("graphics/pokenav/ui_matchcall.bin.lz"); -const u16 gUnknown_08622698[] = INCBIN_U16("graphics/pokenav/arrow2.gbapal"); -const u32 gUnknown_086226B8[] = INCBIN_U32("graphics/pokenav/arrow2.4bpp.lz"); -const u16 gUnknown_086226E0[] = INCBIN_U16("graphics/pokenav/86226E0.gbapal"); -const u16 gUnknown_08622700[] = INCBIN_U16("graphics/pokenav/8622700.gbapal"); -const u16 gUnknown_08622720[] = INCBIN_U16("graphics/pokenav/pokeball_matchcall.gbapal"); -const u32 gUnknown_08622760[] = INCBIN_U32("graphics/pokenav/pokeball_matchcall.4bpp.lz"); +static const u16 sMatchCallUI_Pal[] = INCBIN_U16("graphics/pokenav/ui_matchcall.gbapal"); +static const u32 sMatchCallUI_Gfx[] = INCBIN_U32("graphics/pokenav/ui_matchcall.4bpp.lz"); +static const u32 sMatchCallUI_Tilemap[] = INCBIN_U32("graphics/pokenav/ui_matchcall.bin.lz"); +static const u16 gUnknown_08622698[] = INCBIN_U16("graphics/pokenav/arrow2.gbapal"); +static const u32 gUnknown_086226B8[] = INCBIN_U32("graphics/pokenav/arrow2.4bpp.lz"); +static const u16 gUnknown_086226E0[] = INCBIN_U16("graphics/pokenav/86226E0.gbapal"); +static const u16 gUnknown_08622700[] = INCBIN_U16("graphics/pokenav/8622700.gbapal"); +static const u16 gUnknown_08622720[] = INCBIN_U16("graphics/pokenav/pokeball_matchcall.gbapal"); +static const u32 gUnknown_08622760[] = INCBIN_U32("graphics/pokenav/pokeball_matchcall.4bpp.lz"); const struct BgTemplate gUnknown_0862278C[3] = { @@ -155,27 +151,27 @@ const struct BgTemplate gUnknown_0862278C[3] = } }; -const LoopedTask gUnknown_08622798[] = +static const LoopedTask sMatchCallLoopTaskFuncs[] = { - NULL, - sub_81CB510, - sub_81CB588, - sub_81CB600, - sub_81CB678, - sub_81CB6F0, - sub_81CB734, - sub_81CB75C, - sub_81CB7A0, - sub_81CB824, - sub_81CB888, - sub_81CB93C, - sub_81CBAD4, - sub_81CB9C8, - sub_81CBA68, - sub_81CBB74 + [POKENAV_MC_FUNC_NONE] = NULL, + [POKENAV_MC_FUNC_DOWN] = MatchCallListCursorDown, + [POKENAV_MC_FUNC_UP] = MatchCallListCursorUp, + [POKENAV_MC_FUNC_PG_DOWN] = MatchCallListPageDown, + [POKENAV_MC_FUNC_PG_UP] = MatchCallListPageUp, + [POKENAV_MC_FUNC_SELECT] = SelectMatchCallEntry, + [POKENAV_MC_FUNC_MOVE_OPTIONS_CURSOR] = MoveMatchCallOptionsCursor, + [POKENAV_MC_FUNC_CANCEL] = CancelMatchCallSelection, + [POKENAV_MC_FUNC_CALL_MSG] = DoMatchCallMessage, + [POKENAV_MC_FUNC_NEARBY_MSG] = DoTrainerCloseByMessage, + [POKENAV_MC_FUNC_10] = sub_81CB888, + [POKENAV_MC_FUNC_SHOW_CHECK_PAGE] = ShowCheckPage, + [POKENAV_MC_FUNC_CHECK_PAGE_UP] = ShowCheckPageUp, + [POKENAV_MC_FUNC_CHECK_PAGE_DOWN] = ShowCheckPageDown, + [POKENAV_MC_FUNC_EXIT_CHECK_PAGE] = ExitCheckPage, + [POKENAV_MC_FUNC_EXIT] = ExitMatchCall }; -const struct WindowTemplate gUnknown_086227D8 = +static const struct WindowTemplate sMatchCallLocationWindowTemplate = { .bg = 2, .tilemapLeft = 0, @@ -186,7 +182,7 @@ const struct WindowTemplate gUnknown_086227D8 = .baseBlock = 16 }; -const struct WindowTemplate gUnknown_086227E0 = +static const struct WindowTemplate sMatchCallInfoBoxWindowTemplate = { .bg = 2, .tilemapLeft = 0, @@ -197,16 +193,17 @@ const struct WindowTemplate gUnknown_086227E0 = .baseBlock = 38 }; -const u8 *const gUnknown_086227E8[] = +static const u8 *const sMatchCallOptionTexts[MATCH_CALL_OPTION_COUNT] = { - gUnknown_085EC017, - gUnknown_085EC01C, - gUnknown_085EC022 + [MATCH_CALL_OPTION_CALL] = gText_Call, + [MATCH_CALL_OPTION_CHECK] = gText_Check, + [MATCH_CALL_OPTION_CANCEL] = gText_Cancel6 }; -const u8 gUnknown_086227F4[] = _("·{PAUSE 0x04}·{PAUSE 0x04}·{PAUSE 0x04}·{PAUSE 0x04}·\p"); +// The series of 5 dots that appear when someone is called with Match Call +static const u8 sText_CallingDots[] = _("·{PAUSE 0x04}·{PAUSE 0x04}·{PAUSE 0x04}·{PAUSE 0x04}·\p"); -const struct WindowTemplate gUnknown_08622808 = +static const struct WindowTemplate sCallMsgBoxWindowTemplate = { .bg = 1, .tilemapLeft = 1, @@ -222,18 +219,17 @@ const struct CompressedSpriteSheet gUnknown_08622810[1] = {gUnknown_086226B8, 0x40, 7} }; -const struct SpritePalette gUnknown_08622818[] = +const struct SpritePalette gUnknown_08622818[2] = { - {gUnknown_08622698, 12}, - {} + {gUnknown_08622698, 12} }; -const struct OamData gUnknown_08622828 = +static const struct OamData sOptionsCursorOamData = { .y = 0, - .affineMode = 0, - .objMode = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x16), .x = 0, .size = SPRITE_SIZE(8x16), @@ -242,23 +238,23 @@ const struct OamData gUnknown_08622828 = .paletteNum = 0, }; -const struct SpriteTemplate gUnknown_08622830 = +static const struct SpriteTemplate sOptionsCursorSpriteTemplate = { .tileTag = 7, .paletteTag = 12, - .oam = &gUnknown_08622828, + .oam = &sOptionsCursorOamData, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81CC34C, + .callback = SpriteCB_OptionsCursor, }; -const struct OamData gUnknown_08622848 = +static const struct OamData sTrainerPicOamData = { .y = 0, - .affineMode = 0, - .objMode = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .size = SPRITE_SIZE(64x64), @@ -267,11 +263,11 @@ const struct OamData gUnknown_08622848 = .paletteNum = 0, }; -const struct SpriteTemplate gUnknown_08622850 = +static const struct SpriteTemplate sTrainerPicSpriteTemplate = { .tileTag = 8, .paletteTag = 13, - .oam = &gUnknown_08622848, + .oam = &sTrainerPicOamData, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -293,7 +289,7 @@ bool32 sub_81CB260(void) void sub_81CB29C(s32 index) { struct Pokenav4Struct *state = GetSubstructPtr(6); - state->unk4 = CreateLoopedTask(gUnknown_08622798[index], 1); + state->unk4 = CreateLoopedTask(sMatchCallLoopTaskFuncs[index], 1); state->unk0 = sub_81CB310; } @@ -308,9 +304,9 @@ void sub_81CB2E0(void) struct Pokenav4Struct *state = GetSubstructPtr(6); sub_81CC2B4(); sub_81CBC1C(); - RemoveWindow(state->unk12); - RemoveWindow(state->unk10); - RemoveWindow(state->unk14); + RemoveWindow(state->infoBoxWindowId); + RemoveWindow(state->locWindowId); + RemoveWindow(state->msgBoxWindowId); FreePokenavSubstruct(6); } @@ -329,48 +325,48 @@ static u32 sub_81CB324(s32 taskState) InitBgTemplates(gUnknown_0862278C, ARRAY_COUNT(gUnknown_0862278C)); ChangeBgX(2, 0, 0); ChangeBgY(2, 0, 0); - decompress_and_copy_tile_data_to_vram(2, gUnknown_08622530, 0, 0, 0); + decompress_and_copy_tile_data_to_vram(2, sMatchCallUI_Gfx, 0, 0, 0); SetBgTilemapBuffer(2, state->unk1024); - CopyToBgTilemapBuffer(2, gUnknown_086225D4, 0, 0); + CopyToBgTilemapBuffer(2, sMatchCallUI_Tilemap, 0, 0); CopyBgTilemapBufferToVram(2); - CopyPaletteIntoBufferUnfaded(gUnknown_08622510, 0x20, 0x20); + CopyPaletteIntoBufferUnfaded(sMatchCallUI_Pal, 0x20, 0x20); CopyBgTilemapBufferToVram(2); - return 0; + return LT_INC_AND_PAUSE; case 1: if (free_temp_tile_data_buffers_if_possible()) - return 2; + return LT_PAUSE; sub_8199DF0(1, 0, 0, 1); SetBgTilemapBuffer(1, state->unk24); FillBgTilemapBufferRect_Palette0(1, 0x1000, 0, 0, 32, 20); CopyPaletteIntoBufferUnfaded(gUnknown_086226E0, 0x10, 0x20); CopyBgTilemapBufferToVram(1); - return 0; + return LT_INC_AND_PAUSE; case 2: if (free_temp_tile_data_buffers_if_possible()) - return 2; + return LT_PAUSE; sub_81CC034(state); decompress_and_copy_tile_data_to_vram(3, gUnknown_08622760, 0, 0, 0); CopyPaletteIntoBufferUnfaded(gUnknown_08622700, 0x30, 0x20); CopyPaletteIntoBufferUnfaded(gUnknown_08622720, 0x50, 0x20); - return 0; + return LT_INC_AND_PAUSE; case 3: if (free_temp_tile_data_buffers_if_possible() || !sub_81CAE28()) - return 2; + return LT_PAUSE; sub_81CBBB8(); - return 0; + return LT_INC_AND_PAUSE; case 4: if (sub_81C8224()) - return 2; + return LT_PAUSE; - sub_81CBD78(state); - return 0; + DrawMatchCallLeftColumnWindows(state); + return LT_INC_AND_PAUSE; case 5: - sub_81CBDC0(state); - sub_81CBEF8(state, 0); - return 0; + UpdateMatchCallInfoBox(state); + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 6: ChangeBgX(1, 0, 0); ChangeBgY(1, 0, 0); @@ -381,19 +377,19 @@ static u32 sub_81CB324(s32 taskState) LoadLeftHeaderGfxForIndex(3); sub_81C7FA0(3, 1, 0); sub_81C7AC0(1); - return 0; + return LT_INC_AND_PAUSE; case 7: if (IsPaletteFadeActive() || sub_81C8010()) - return 2; + return LT_PAUSE; sub_81CBC38(1); - return 4; + return LT_FINISH; default: - return 4; + return LT_FINISH; } } -u32 sub_81CB510(s32 taskState) +u32 MatchCallListCursorDown(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) @@ -410,27 +406,27 @@ u32 sub_81CB510(s32 taskState) PlaySE(SE_SELECT); // fall through default: - return 0; + return LT_INC_AND_PAUSE; } break; case 1: if (sub_81C8630()) - return 2; + return LT_PAUSE; - sub_81CBEF8(state, 0); - return 0; + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 2: - sub_81CBEF8(state, 0); - return 0; + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 3: if (IsDma3ManagerBusyWithBgCopy()) - return 2; + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CB588(s32 taskState) +u32 MatchCallListCursorUp(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) @@ -447,27 +443,27 @@ u32 sub_81CB588(s32 taskState) PlaySE(SE_SELECT); // fall through default: - return 0; + return LT_INC_AND_PAUSE; } break; case 1: if (sub_81C8630()) - return 2; + return LT_PAUSE; - sub_81CBEF8(state, 0); - return 0; + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 2: - sub_81CBEF8(state, 0); - return 0; + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 3: if (IsDma3ManagerBusyWithBgCopy()) - return 2; + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CB600(s32 taskState) +u32 MatchCallListPageDown(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) @@ -484,27 +480,27 @@ u32 sub_81CB600(s32 taskState) PlaySE(SE_SELECT); // fall through default: - return 0; + return LT_INC_AND_PAUSE; } break; case 1: if (sub_81C8630()) - return 2; + return LT_PAUSE; - sub_81CBEF8(state, 0); - return 0; + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 2: - sub_81CBEF8(state, 0); - return 0; + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 3: if (IsDma3ManagerBusyWithBgCopy()) - return 2; + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CB678(s32 taskState) +u32 MatchCallListPageUp(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) @@ -521,138 +517,138 @@ u32 sub_81CB678(s32 taskState) PlaySE(SE_SELECT); // fall through default: - return 0; + return LT_INC_AND_PAUSE; } break; case 1: if (sub_81C8630()) - return 2; + return LT_PAUSE; - sub_81CBEF8(state, 0); - return 0; + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 2: - sub_81CBEF8(state, 0); - return 0; + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 3: if (IsDma3ManagerBusyWithBgCopy()) - return 2; + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CB6F0(s32 taskState) +u32 SelectMatchCallEntry(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) { case 0: PlaySE(SE_SELECT); - sub_81CBF60(state); - sub_81C7BA4(7); - return 0; + PrintMatchCallSelectionOptions(state); + PrintHelpBarText(HELPBAR_MC_CALL_MENU); + return LT_INC_AND_PAUSE; case 1: if (sub_81CBFC4(state)) - return 2; + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CB734(s32 taskState) +u32 MoveMatchCallOptionsCursor(s32 taskState) { struct Pokenav4Struct *state; - u16 var0; + u16 cursorPos; PlaySE(SE_SELECT); state = GetSubstructPtr(6); - var0 = sub_81CB01C(); - sub_81CC344(state, var0); - return 4; + cursorPos = GetMatchCallOptionCursorPos(); + UpdateCursorGfxPos(state, cursorPos); + return LT_FINISH; } -u32 sub_81CB75C(s32 taskState) +u32 CancelMatchCallSelection(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) { case 0: PlaySE(SE_SELECT); - sub_81CBFF0(state); - sub_81C7BA4(6); - return 0; + UpdateWindowsReturnToTrainerList(state); + PrintHelpBarText(HELPBAR_MC_TRAINER_LIST); + return LT_INC_AND_PAUSE; case 1: - if (sub_81CC004(state)) - return 2; + if (IsDma3ManagerBusyWithBgCopy1(state)) + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CB7A0(s32 taskState) +u32 DoMatchCallMessage(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) { case 0: ToggleMatchCallVerticalArrows(TRUE); - sub_81CC058(state); - return 0; + DrawMsgBoxForMatchCallMsg(state); + return LT_INC_AND_PAUSE; case 1: - if (sub_81CC0D0(state)) - return 2; + if (IsDma3ManagerBusyWithBgCopy2(state)) + return LT_PAUSE; - sub_81CC0E0(state); + PrintCallingDots(state); PlaySE(SE_TOREEYE); state->unkE = 0; - return 0; + return LT_INC_AND_PAUSE; case 2: - if (sub_81CC104(state)) - return 2; + if (WaitForCallingDotsText(state)) + return LT_PAUSE; - sub_81CC158(state); - return 0; + PrintMatchCallMessage(state); + return LT_INC_AND_PAUSE; case 3: - if (sub_81CC194(state)) - return 2; + if (WaitForMatchCallMessageText(state)) + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CB824(s32 taskState) +u32 DoTrainerCloseByMessage(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) { case 0: PlaySE(SE_SELECT); - sub_81CC09C(state); + DrawMsgBoxForCloseByMsg(state); ToggleMatchCallVerticalArrows(TRUE); state->unkE = 1; - return 0; + return LT_INC_AND_PAUSE; case 1: - if (sub_81CC0D0(state)) - return 2; + if (IsDma3ManagerBusyWithBgCopy2(state)) + return LT_PAUSE; - sub_81CC11C(state); - return 0; + PrintTrainerIsCloseBy(state); + return LT_INC_AND_PAUSE; case 2: - if (sub_81CC140(state)) - return 2; + if (WaitForTrainerIsCloseByText(state)) + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } u32 sub_81CB888(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); - u32 result = 0; + u32 result = LT_INC_AND_PAUSE; switch (taskState) { @@ -663,49 +659,49 @@ u32 sub_81CB888(s32 taskState) PlaySE(SE_SELECT); break; case 1: - sub_81CC1DC(state); + DrawSpinningPokenavForCall(state); break; case 2: - if (sub_81CC204(state)) - result = 2; + if (WaitForSpinningPokenav(state)) + result = LT_PAUSE; break; case 3: - sub_81CBFF0(state); + UpdateWindowsReturnToTrainerList(state); break; case 4: - if (sub_81CC004(state)) - result = 2; + if (IsDma3ManagerBusyWithBgCopy1(state)) + result = LT_PAUSE; - sub_81C7BA4(6); + PrintHelpBarText(HELPBAR_MC_TRAINER_LIST); break; case 5: - if (IsDma3ManagerBusyWithBgCopy_()) + if (WaitForHelpBar()) { - result = 2; + result = LT_PAUSE; } else { if (state->unkF) { sub_81C8838(); - result = 1; + result = LT_INC_AND_CONTINUE; } else { ToggleMatchCallVerticalArrows(FALSE); - result = 4; + result = LT_FINISH; } } break; case 6: if (IsDma3ManagerBusyWithBgCopy()) { - result = 2; + result = LT_PAUSE; } else { ToggleMatchCallVerticalArrows(FALSE); - result = 4; + result = LT_FINISH; } break; } @@ -713,7 +709,7 @@ u32 sub_81CB888(s32 taskState) return result; } -u32 sub_81CB93C(s32 taskState) +u32 ShowCheckPage(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) @@ -721,132 +717,132 @@ u32 sub_81CB93C(s32 taskState) case 0: PlaySE(SE_SELECT); sub_81C877C(); - sub_81CC014(state); - return 0; + UpdateWindowsToShowCheckPage(state); + return LT_INC_AND_PAUSE; case 1: - if (sub_81C8820() || sub_81CC004(state)) - return 2; + if (sub_81C8820() || IsDma3ManagerBusyWithBgCopy1(state)) + return LT_PAUSE; - sub_81C7BA4(8); - return 0; + PrintHelpBarText(HELPBAR_MC_CHECK_PAGE); + return LT_INC_AND_PAUSE; case 2: - sub_81C87AC(0); - sub_81CC39C(state); - return 0; + PrintCheckPageInfo(0); + LoadCheckPageTrainerPic(state); + return LT_INC_AND_PAUSE; case 3: - if (sub_81C8820() || sub_81CC42C(state) || IsDma3ManagerBusyWithBgCopy_()) - return 2; + if (sub_81C8820() || WaitForTrainerPic(state) || WaitForHelpBar()) + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CB9C8(s32 taskState) +u32 ShowCheckPageDown(s32 taskState) { - int index; - int var0; + int topId; + int delta; struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) { case 0: - index = GetMatchCallListTopIndex(); - var0 = sub_81CB0E4(index); - if (var0) + topId = GetMatchCallListTopIndex(); + delta = GetIndexDeltaOfNextCheckPageDown(topId); + if (delta) { PlaySE(SE_SELECT); - state->unk16 = var0; - sub_81CC420(state); - return 0; + state->unk16 = delta; + TrainerPicSlideOffscreen(state); + return LT_INC_AND_PAUSE; } break; case 1: - if (sub_81CC42C(state)) - return 2; + if (WaitForTrainerPic(state)) + return LT_PAUSE; - sub_81CBEF8(state, state->unk16); - return 0; + PrintMatchCallLocation(state, state->unk16); + return LT_INC_AND_PAUSE; case 2: - sub_81C87AC(state->unk16); - return 0; + PrintCheckPageInfo(state->unk16); + return LT_INC_AND_PAUSE; case 3: - sub_81CC39C(state); - return 0; + LoadCheckPageTrainerPic(state); + return LT_INC_AND_PAUSE; case 4: - if (sub_81C8820() || sub_81CC42C(state)) - return 2; + if (sub_81C8820() || WaitForTrainerPic(state)) + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CBA68(s32 taskState) +u32 ExitCheckPage(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) { case 0: PlaySE(SE_SELECT); - sub_81CC420(state); + TrainerPicSlideOffscreen(state); sub_81C87F0(); - return 0; + return LT_INC_AND_PAUSE; case 1: - if (sub_81C8820() || sub_81CC42C(state)) - return 2; + if (sub_81C8820() || WaitForTrainerPic(state)) + return LT_PAUSE; - sub_81C7BA4(6); - sub_81CBDC0(state); - return 0; + PrintHelpBarText(HELPBAR_MC_TRAINER_LIST); + UpdateMatchCallInfoBox(state); + return LT_INC_AND_PAUSE; case 2: if (IsDma3ManagerBusyWithBgCopy()) - return 2; + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CBAD4(s32 taskState) +u32 ShowCheckPageUp(s32 taskState) { - int index; - int var0; + int topId; + int delta; struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) { case 0: - index = GetMatchCallListTopIndex(); - var0 = sub_81CB128(index); - if (var0) + topId = GetMatchCallListTopIndex(); + delta = GetIndexDeltaOfNextCheckPageUp(topId); + if (delta) { PlaySE(SE_SELECT); - state->unk16 = var0; - sub_81CC420(state); - return 0; + state->unk16 = delta; + TrainerPicSlideOffscreen(state); + return LT_INC_AND_PAUSE; } break; case 1: - if (sub_81CC42C(state)) - return 2; + if (WaitForTrainerPic(state)) + return LT_PAUSE; - sub_81CBEF8(state, state->unk16); - return 0; + PrintMatchCallLocation(state, state->unk16); + return LT_INC_AND_PAUSE; case 2: - sub_81C87AC(state->unk16); - return 0; + PrintCheckPageInfo(state->unk16); + return LT_INC_AND_PAUSE; case 3: - sub_81CC39C(state); - return 0; + LoadCheckPageTrainerPic(state); + return LT_INC_AND_PAUSE; case 4: - if (sub_81C8820() || sub_81CC42C(state)) - return 2; + if (sub_81C8820() || WaitForTrainerPic(state)) + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CBB74(s32 taskState) +u32 ExitMatchCall(s32 taskState) { switch (taskState) { @@ -855,23 +851,23 @@ u32 sub_81CBB74(s32 taskState) sub_81CBC38(0); sub_81C7AC0(0); sub_81C78A0(); - return 0; + return LT_INC_AND_PAUSE; case 1: if (IsPaletteFadeActive() || MainMenuLoopedTaskIsBusy()) - return 2; + return LT_PAUSE; sub_81C7FDC(); break; } - return 4; + return LT_FINISH; } static void sub_81CBBB8(void) { - struct MatchCallListTemplate template; - template.unk0 = sub_81CAE94(); - template.unk4 = sub_81CAE38(); + struct PokenavListTemplate template; + template.list.matchCallEntries = sub_81CAE94(); + template.unk4 = GetNumberRegistered(); template.unk8 = 4; template.unk6 = 0; template.unk9 = 13; @@ -880,8 +876,8 @@ static void sub_81CBBB8(void) template.unkC = 8; template.unkD = 3; template.unkE = 7; - template.unk10 = sub_81CB050; - template.unk14 = sub_81CBCEC; + template.listFunc.unk10_2 = BufferMatchCallNameAndDesc; + template.unk14 = TryDrawRematchPokeballIcon; sub_81C81D4(&gUnknown_0862278C[2], &template, 2); CreateTask(sub_81CBC64, 7); } @@ -913,12 +909,12 @@ static void sub_81CBC64(u8 taskId) } } -static void sub_81CBCEC(u16 windowId, u32 arg1, u32 arg2) +static void TryDrawRematchPokeballIcon(u16 windowId, u32 rematchId, u32 arg2) { u8 bg = GetWindowAttribute(windowId, WINDOW_BG); u16 *tilemap = GetBgTilemapBuffer(bg); tilemap += arg2 * 0x40 + 0x1D; - if (sub_81CAEBC(arg1)) + if (ShouldDrawRematchPokeballIcon(rematchId)) { tilemap[0] = 0x5000; tilemap[0x20] = 0x5001; @@ -930,7 +926,7 @@ static void sub_81CBCEC(u16 windowId, u32 arg1, u32 arg2) } } -void sub_81CBD48(u16 windowId, u32 arg0) +void ClearRematchPokeballIcon(u16 windowId, u32 arg0) { u8 bg = GetWindowAttribute(windowId, WINDOW_BG); u16 *tilemap = GetBgTilemapBuffer(bg); @@ -939,45 +935,45 @@ void sub_81CBD48(u16 windowId, u32 arg0) tilemap[0x20] = 0x5002; } -static void sub_81CBD78(struct Pokenav4Struct *state) +static void DrawMatchCallLeftColumnWindows(struct Pokenav4Struct *state) { - state->unk10 = AddWindow(&gUnknown_086227D8); - state->unk12 = AddWindow(&gUnknown_086227E0); - FillWindowPixelBuffer(state->unk10, PIXEL_FILL(1)); - PutWindowTilemap(state->unk10); - FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); - PutWindowTilemap(state->unk12); - CopyWindowToVram(state->unk10, 1); + state->locWindowId = AddWindow(&sMatchCallLocationWindowTemplate); + state->infoBoxWindowId = AddWindow(&sMatchCallInfoBoxWindowTemplate); + FillWindowPixelBuffer(state->locWindowId, PIXEL_FILL(1)); + PutWindowTilemap(state->locWindowId); + FillWindowPixelBuffer(state->infoBoxWindowId, PIXEL_FILL(1)); + PutWindowTilemap(state->infoBoxWindowId); + CopyWindowToVram(state->locWindowId, 1); } -static void sub_81CBDC0(struct Pokenav4Struct *state) +static void UpdateMatchCallInfoBox(struct Pokenav4Struct *state) { - FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); - sub_81CBDF4(state->unk12); - sub_81CBE0C(state->unk12); - sub_81CBE38(state->unk12); - sub_81CBE50(state->unk12); - CopyWindowToVram(state->unk12, 2); + FillWindowPixelBuffer(state->infoBoxWindowId, PIXEL_FILL(1)); + PrintNumberRegisteredLabel(state->infoBoxWindowId); + PrintNumberRegistered(state->infoBoxWindowId); + PrintNumberOfBattlesLabel(state->infoBoxWindowId); + PrintNumberOfBattles(state->infoBoxWindowId); + CopyWindowToVram(state->infoBoxWindowId, 2); } -static void sub_81CBDF4(u16 windowId) +static void PrintNumberRegisteredLabel(u16 windowId) { - sub_81CBE88(windowId, gText_NumberRegistered, 0); + PrintMatchCallInfoLabel(windowId, gText_NumberRegistered, 0); } -static void sub_81CBE0C(u16 windowId) +static void PrintNumberRegistered(u16 windowId) { u8 str[3]; - ConvertIntToDecimalStringN(str, sub_81CAE38(), STR_CONV_MODE_LEFT_ALIGN, 3); - sub_81CBEB4(windowId, str, 1); + ConvertIntToDecimalStringN(str, GetNumberRegistered(), STR_CONV_MODE_LEFT_ALIGN, 3); + PrintMatchCallInfoNumber(windowId, str, 1); } -static void sub_81CBE38(u16 windowId) +static void PrintNumberOfBattlesLabel(u16 windowId) { - sub_81CBE88(windowId, gText_NumberOfBattles, 2); + PrintMatchCallInfoLabel(windowId, gText_NumberOfBattles, 2); } -static void sub_81CBE50(u16 windowId) +static void PrintNumberOfBattles(u16 windowId) { u8 str[5]; int numTrainerBattles = GetGameStat(GAME_STAT_TRAINER_BATTLES); @@ -985,150 +981,150 @@ static void sub_81CBE50(u16 windowId) numTrainerBattles = 99999; ConvertIntToDecimalStringN(str, numTrainerBattles, STR_CONV_MODE_LEFT_ALIGN, 5); - sub_81CBEB4(windowId, str, 3); + PrintMatchCallInfoNumber(windowId, str, 3); } -static void sub_81CBE88(u16 windowId, const u8 *str, int top) +static void PrintMatchCallInfoLabel(u16 windowId, const u8 *str, int top) { int y = top * 16 + 1; AddTextPrinterParameterized(windowId, 7, str, 2, y, TEXT_SPEED_FF, NULL); } -static void sub_81CBEB4(u16 windowId, const u8 *str, int top) +static void PrintMatchCallInfoNumber(u16 windowId, const u8 *str, int top) { int x = GetStringRightAlignXOffset(7, str, 86); int y = top * 16 + 1; AddTextPrinterParameterized(windowId, 7, str, x, y, TEXT_SPEED_FF, NULL); } -static void sub_81CBEF8(struct Pokenav4Struct *state, int arg1) +static void PrintMatchCallLocation(struct Pokenav4Struct *state, int arg1) { u8 mapName[32]; int x; int index = GetSelectedMatchCall() + arg1; - int regionMapSection = sub_81CAEA4(index); - if (regionMapSection != MAPSEC_NONE) - GetMapName(mapName, regionMapSection, 0); + int mapSec = GetMatchCallMapSec(index); + if (mapSec != MAPSEC_NONE) + GetMapName(mapName, mapSec, 0); else StringCopy(mapName, gText_Unknown); x = GetStringCenterAlignXOffset(7, mapName, 88); - FillWindowPixelBuffer(state->unk10, PIXEL_FILL(1)); - AddTextPrinterParameterized(state->unk10, 7, mapName, x, 1, 0, NULL); + FillWindowPixelBuffer(state->locWindowId, PIXEL_FILL(1)); + AddTextPrinterParameterized(state->locWindowId, 7, mapName, x, 1, 0, NULL); } -static void sub_81CBF60(struct Pokenav4Struct *state) +static void PrintMatchCallSelectionOptions(struct Pokenav4Struct *state) { u32 i; - FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); - for (i = 0; i < 3; i++) + FillWindowPixelBuffer(state->infoBoxWindowId, PIXEL_FILL(1)); + for (i = 0; i < MATCH_CALL_OPTION_COUNT; i++) { - int messageId = sub_81CB02C(i); - if (messageId == 3) + int optionText = GetMatchCallOptionId(i); + if (optionText == MATCH_CALL_OPTION_COUNT) break; - AddTextPrinterParameterized(state->unk12, 7, gUnknown_086227E8[messageId], 16, i * 16 + 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(state->infoBoxWindowId, 7, sMatchCallOptionTexts[optionText], 16, i * 16 + 1, TEXT_SPEED_FF, NULL); } - CopyWindowToVram(state->unk12, 2); + CopyWindowToVram(state->infoBoxWindowId, 2); } static bool32 sub_81CBFC4(struct Pokenav4Struct *state) { if (!IsDma3ManagerBusyWithBgCopy()) { - sub_81CC2F0(state, sub_81CB01C()); + sub_81CC2F0(state, GetMatchCallOptionCursorPos()); return FALSE; } return TRUE; } -static void sub_81CBFF0(struct Pokenav4Struct *state) +static void UpdateWindowsReturnToTrainerList(struct Pokenav4Struct *state) { - sub_81CC330(state); - sub_81CBDC0(state); + CloseMatchCallSelectOptionsWindow(state); + UpdateMatchCallInfoBox(state); } -static bool32 sub_81CC004(struct Pokenav4Struct *state) +static bool32 IsDma3ManagerBusyWithBgCopy1(struct Pokenav4Struct *state) { return IsDma3ManagerBusyWithBgCopy(); } -static void sub_81CC014(struct Pokenav4Struct *state) +static void UpdateWindowsToShowCheckPage(struct Pokenav4Struct *state) { - sub_81CC330(state); - FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); - CopyWindowToVram(state->unk12, 2); + CloseMatchCallSelectOptionsWindow(state); + FillWindowPixelBuffer(state->infoBoxWindowId, PIXEL_FILL(1)); + CopyWindowToVram(state->infoBoxWindowId, 2); } static void sub_81CC034(struct Pokenav4Struct *state) { - state->unk14 = AddWindow(&gUnknown_08622808); - sub_8197184(state->unk14, 1, 4); + state->msgBoxWindowId = AddWindow(&sCallMsgBoxWindowTemplate); + sub_8197184(state->msgBoxWindowId, 1, 4); sub_81C7B40(); } -static void sub_81CC058(struct Pokenav4Struct *state) +static void DrawMsgBoxForMatchCallMsg(struct Pokenav4Struct *state) { struct Sprite *sprite; - sub_8197184(state->unk14, 1, 4); - sub_81971C4(state->unk14, 1, 4); - FillWindowPixelBuffer(state->unk14, PIXEL_FILL(1)); - PutWindowTilemap(state->unk14); - CopyWindowToVram(state->unk14, 3); + sub_8197184(state->msgBoxWindowId, 1, 4); + sub_81971C4(state->msgBoxWindowId, 1, 4); + FillWindowPixelBuffer(state->msgBoxWindowId, PIXEL_FILL(1)); + PutWindowTilemap(state->msgBoxWindowId); + CopyWindowToVram(state->msgBoxWindowId, 3); sprite = PauseSpinningPokenavSprite(); sprite->pos1.x = 24; sprite->pos1.y = 112; sprite->pos2.y = 0; } -static void sub_81CC09C(struct Pokenav4Struct *state) +static void DrawMsgBoxForCloseByMsg(struct Pokenav4Struct *state) { - LoadUserWindowBorderGfx(state->unk14, 1, 0x40); - DrawTextBorderOuter(state->unk14, 1, 4); - FillWindowPixelBuffer(state->unk14, PIXEL_FILL(1)); - PutWindowTilemap(state->unk14); - CopyWindowToVram(state->unk14, 3); + LoadUserWindowBorderGfx(state->msgBoxWindowId, 1, 0x40); + DrawTextBorderOuter(state->msgBoxWindowId, 1, 4); + FillWindowPixelBuffer(state->msgBoxWindowId, PIXEL_FILL(1)); + PutWindowTilemap(state->msgBoxWindowId); + CopyWindowToVram(state->msgBoxWindowId, 3); } -static bool32 sub_81CC0D0(struct Pokenav4Struct *state) +static bool32 IsDma3ManagerBusyWithBgCopy2(struct Pokenav4Struct *state) { return IsDma3ManagerBusyWithBgCopy(); } -static void sub_81CC0E0(struct Pokenav4Struct *state) +static void PrintCallingDots(struct Pokenav4Struct *state) { - AddTextPrinterParameterized(state->unk14, 1, gUnknown_086227F4, 32, 1, 1, NULL); + AddTextPrinterParameterized(state->msgBoxWindowId, 1, sText_CallingDots, 32, 1, 1, NULL); } -static bool32 sub_81CC104(struct Pokenav4Struct *state) +static bool32 WaitForCallingDotsText(struct Pokenav4Struct *state) { RunTextPrinters(); - return IsTextPrinterActive(state->unk14); + return IsTextPrinterActive(state->msgBoxWindowId); } -static void sub_81CC11C(struct Pokenav4Struct *state) +static void PrintTrainerIsCloseBy(struct Pokenav4Struct *state) { - AddTextPrinterParameterized(state->unk14, 1, gText_TrainerCloseBy, 0, 1, 1, NULL); + AddTextPrinterParameterized(state->msgBoxWindowId, 1, gText_TrainerCloseBy, 0, 1, 1, NULL); } -static bool32 sub_81CC140(struct Pokenav4Struct *state) +static bool32 WaitForTrainerIsCloseByText(struct Pokenav4Struct *state) { RunTextPrinters(); - return IsTextPrinterActive(state->unk14); + return IsTextPrinterActive(state->msgBoxWindowId); } -static void sub_81CC158(struct Pokenav4Struct *state) +static void PrintMatchCallMessage(struct Pokenav4Struct *state) { int index = GetSelectedMatchCall(); - const u8 *str = sub_81CAF78(index, &state->unkF); + const u8 *str = GetMatchCallMessageText(index, &state->unkF); u8 speed = GetPlayerTextSpeedDelay(); - AddTextPrinterParameterized(state->unk14, 1, str, 32, 1, speed, NULL); + AddTextPrinterParameterized(state->msgBoxWindowId, 1, str, 32, 1, speed, NULL); } -static bool32 sub_81CC194(struct Pokenav4Struct *state) +static bool32 WaitForMatchCallMessageText(struct Pokenav4Struct *state) { if (gMain.heldKeys & A_BUTTON) gTextFlags.canABSpeedUpPrint = 1; @@ -1136,19 +1132,19 @@ static bool32 sub_81CC194(struct Pokenav4Struct *state) gTextFlags.canABSpeedUpPrint = 0; RunTextPrinters(); - return IsTextPrinterActive(state->unk14); + return IsTextPrinterActive(state->msgBoxWindowId); } -static void sub_81CC1DC(struct Pokenav4Struct *state) +static void DrawSpinningPokenavForCall(struct Pokenav4Struct *state) { ResumeSpinningPokenavSprite(); FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 32, 20); CopyBgTilemapBufferToVram(1); } -static bool32 sub_81CC204(struct Pokenav4Struct *state) +static bool32 WaitForSpinningPokenav(struct Pokenav4Struct *state) { - return IsDma3ManagerBusyWithBgCopy(); + return IsDma3ManagerBusyWithBgCopy(); } static void sub_81CC214(void) @@ -1162,24 +1158,24 @@ static void sub_81CC214(void) LoadCompressedSpriteSheet(&gUnknown_08622810[i]); Pokenav_AllocAndLoadPalettes(gUnknown_08622818); - state->unk1C = NULL; + state->optionsCursorSprite = NULL; spriteSheet.data = state->unk1828; spriteSheet.size = 0x800; spriteSheet.tag = 8; state->unk1824 = (u8 *)OBJ_VRAM0 + LoadSpriteSheet(&spriteSheet) * 0x20; paletteNum = AllocSpritePalette(13); state->unk1A = 0x100 + paletteNum * 0x10; - state->unk20 = sub_81CC370(); - state->unk20->invisible = 1; + state->trainerPicSprite = CreateTrainerPicSprite(); + state->trainerPicSprite->invisible = TRUE; } static void sub_81CC2B4(void) { struct Pokenav4Struct *state = GetSubstructPtr(6); - if (state->unk1C) - DestroySprite(state->unk1C); - if (state->unk20) - DestroySprite(state->unk20); + if (state->optionsCursorSprite) + DestroySprite(state->optionsCursorSprite); + if (state->trainerPicSprite) + DestroySprite(state->trainerPicSprite); FreeSpriteTilesByTag(8); FreeSpriteTilesByTag(7); @@ -1189,26 +1185,26 @@ static void sub_81CC2B4(void) static void sub_81CC2F0(struct Pokenav4Struct *state, int top) { - if (!state->unk1C) + if (!state->optionsCursorSprite) { - u8 spriteId = CreateSprite(&gUnknown_08622830, 4, 80, 5); - state->unk1C = &gSprites[spriteId]; - sub_81CC344(state, top); + u8 spriteId = CreateSprite(&sOptionsCursorSpriteTemplate, 4, 80, 5); + state->optionsCursorSprite = &gSprites[spriteId]; + UpdateCursorGfxPos(state, top); } } -static void sub_81CC330(struct Pokenav4Struct *state) +static void CloseMatchCallSelectOptionsWindow(struct Pokenav4Struct *state) { - DestroySprite(state->unk1C); - state->unk1C = NULL; + DestroySprite(state->optionsCursorSprite); + state->optionsCursorSprite = NULL; } -static void sub_81CC344(struct Pokenav4Struct *state, int top) +static void UpdateCursorGfxPos(struct Pokenav4Struct *state, int top) { - state->unk1C->pos2.y = top * 16; + state->optionsCursorSprite->pos2.y = top * 16; } -void sub_81CC34C(struct Sprite *sprite) +void SpriteCB_OptionsCursor(struct Sprite *sprite) { if (++sprite->data[0] > 3) { @@ -1217,39 +1213,39 @@ void sub_81CC34C(struct Sprite *sprite) } } -static struct Sprite *sub_81CC370(void) +static struct Sprite *CreateTrainerPicSprite(void) { - u8 spriteId = CreateSprite(&gUnknown_08622850, 44, 104, 6); + u8 spriteId = CreateSprite(&sTrainerPicSpriteTemplate, 44, 104, 6); return &gSprites[spriteId]; } -static void sub_81CC39C(struct Pokenav4Struct *state) +static void LoadCheckPageTrainerPic(struct Pokenav4Struct *state) { u16 cursor; - int trainerId = sub_81CAF04(GetSelectedMatchCall()); - if (trainerId >= 0) + int trainerPic = GetMatchCallTrainerPic(GetSelectedMatchCall()); + if (trainerPic >= 0) { - DecompressPicFromTable(&gTrainerFrontPicTable[trainerId], state->unk1828, SPECIES_NONE); - LZ77UnCompWram(gTrainerFrontPicPaletteTable[trainerId].data, state->unk2028); + DecompressPicFromTable(&gTrainerFrontPicTable[trainerPic], state->unk1828, SPECIES_NONE); + LZ77UnCompWram(gTrainerFrontPicPaletteTable[trainerPic].data, state->unk2028); cursor = RequestDma3Copy(state->unk1828, state->unk1824, 0x800, 1); LoadPalette(state->unk2028, state->unk1A, 0x20); - state->unk20->data[0] = 0; - state->unk20->data[7] = cursor; - state->unk20->callback = sub_81CC440; + state->trainerPicSprite->data[0] = 0; + state->trainerPicSprite->data[7] = cursor; + state->trainerPicSprite->callback = SpriteCB_TrainerPicSlideOnscreen; } } -static void sub_81CC420(struct Pokenav4Struct *state) +static void TrainerPicSlideOffscreen(struct Pokenav4Struct *state) { - state->unk20->callback = sub_81CC4A4; + state->trainerPicSprite->callback = SpriteCB_TrainerPicSlideOffscreen; } -static bool32 sub_81CC42C(struct Pokenav4Struct *state) +static bool32 WaitForTrainerPic(struct Pokenav4Struct *state) { - return state->unk20->callback != SpriteCallbackDummy; + return state->trainerPicSprite->callback != SpriteCallbackDummy; } -static void sub_81CC440(struct Sprite *sprite) +static void SpriteCB_TrainerPicSlideOnscreen(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -1257,7 +1253,7 @@ static void sub_81CC440(struct Sprite *sprite) if (CheckForSpaceForDma3Request(sprite->data[7]) != -1) { sprite->pos2.x = -80; - sprite->invisible = 0; + sprite->invisible = FALSE; sprite->data[0]++; } break; @@ -1272,12 +1268,12 @@ static void sub_81CC440(struct Sprite *sprite) } } -static void sub_81CC4A4(struct Sprite *sprite) +static void SpriteCB_TrainerPicSlideOffscreen(struct Sprite *sprite) { sprite->pos2.x -= 8; if (sprite->pos2.x <= -80) { - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->callback = SpriteCallbackDummy; } } diff --git a/src/pokenav_unk_5.c b/src/pokenav_unk_5.c index 03ac05d4d7..be30ca94de 100755 --- a/src/pokenav_unk_5.c +++ b/src/pokenav_unk_5.c @@ -144,9 +144,9 @@ const struct WindowTemplate gUnknown_08623110 = const struct OamData gUnknown_086231C8 = { .y = 0, - .affineMode = 0, - .objMode = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), .x = 0, .size = SPRITE_SIZE(32x8), @@ -401,10 +401,10 @@ u32 sub_81CC878(s32 taskState) if (sub_8123514() || sub_81CCC88()) return 2; - sub_81C7BA4(1); + PrintHelpBarText(HELPBAR_MAP_ZOOMED_OUT); return 0; case 2: - if (IsDma3ManagerBusyWithBgCopy_()) + if (WaitForHelpBar()) return 2; sub_81C7E14(4); @@ -434,10 +434,10 @@ u32 sub_81CC8D8(s32 taskState) if (sub_8123514() || sub_81CCC88()) return 2; - sub_81C7BA4(2); + PrintHelpBarText(HELPBAR_MAP_ZOOMED_IN); return 0; case 3: - if (IsDma3ManagerBusyWithBgCopy_()) + if (WaitForHelpBar()) return 2; sub_81C7E14(5); diff --git a/src/pokenav_unk_6.c b/src/pokenav_unk_6.c index ac82377934..4c93c0d412 100644 --- a/src/pokenav_unk_6.c +++ b/src/pokenav_unk_6.c @@ -463,14 +463,14 @@ void sub_81CD970(void) { unkPtr->unk4[count].boxId = TOTAL_BOXES_COUNT; unkPtr->unk4[count].monId = i; - unkPtr->unk4[count].unk6 = 0; + unkPtr->unk4[count].data = 0; count++; } } unkPtr->unk4[count].boxId = 0; unkPtr->unk4[count].monId = 0; - unkPtr->unk4[count].unk6 = 0; + unkPtr->unk4[count].data = 0; unkPtr->unk2 = 0; unkPtr->unk0 = count + 1; structPtr->unk678A = 0; @@ -597,7 +597,7 @@ u8 *sub_81CDD24(u8 id) u16 sub_81CDD48(void) { struct PokenavSub18 *unkPtr = GetSubstructPtr(18); - return unkPtr->unk4[unkPtr->unk2].unk6; + return unkPtr->unk4[unkPtr->unk2].data; } bool32 sub_81CDD5C(void) diff --git a/src/pokenav_unk_7.c b/src/pokenav_unk_7.c index 34432a0776..11fdaa425e 100644 --- a/src/pokenav_unk_7.c +++ b/src/pokenav_unk_7.c @@ -195,8 +195,8 @@ u32 sub_81CDE94(s32 state) { case 0: if (sub_81CD3C4() != TRUE) - return 2; - return 0; + return LT_PAUSE; + return LT_INC_AND_PAUSE; case 1: InitBgTemplates(gUnknown_08623358, ARRAY_COUNT(gUnknown_08623358)); ChangeBgX(1, 0, 0); @@ -209,15 +209,15 @@ u32 sub_81CDE94(s32 state) SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG3); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4)); decompress_and_copy_tile_data_to_vram(3, gPokenavCondition_Gfx, 0, 0, 0); - return 0; + return LT_INC_AND_PAUSE; case 2: if (free_temp_tile_data_buffers_if_possible()) - return 2; + return LT_PAUSE; decompress_and_copy_tile_data_to_vram(2, gUnknown_08623228, 0, 0, 0); - return 0; + return LT_INC_AND_PAUSE; case 3: if (free_temp_tile_data_buffers_if_possible()) - return 2; + return LT_PAUSE; LZ77UnCompVram(gPokenavCondition_Tilemap, structPtr->tilemapBuffers[0]); SetBgTilemapBuffer(3, structPtr->tilemapBuffers[0]); @@ -228,26 +228,26 @@ u32 sub_81CDE94(s32 state) CopyPaletteIntoBufferUnfaded(gPokenavCondition_Pal, 0x10, 0x20); CopyPaletteIntoBufferUnfaded(gUnknown_08623208, 0xF0, 0x20); structPtr->unk1814 = -80; - return 0; + return LT_INC_AND_PAUSE; case 4: if (free_temp_tile_data_buffers_if_possible()) - return 2; + return LT_PAUSE; LZ77UnCompVram(gUnknown_0862323C, structPtr->tilemapBuffers[2]); SetBgTilemapBuffer(2, structPtr->tilemapBuffers[2]); CopyBgTilemapBufferToVram(2); CopyPaletteIntoBufferUnfaded(gUnknown_086231E8, 0x30, 0x20); sub_81D21DC(2); - return 0; + return LT_INC_AND_PAUSE; case 5: sub_8199DF0(1, 0, 0, 1); sub_8199DF0(1, 17, 1, 1); CpuFill32(0, structPtr->tilemapBuffers[1], BG_SCREEN_SIZE); SetBgTilemapBuffer(1, structPtr->tilemapBuffers[1]); - return 0; + return LT_INC_AND_PAUSE; case 6: if (free_temp_tile_data_buffers_if_possible()) - return 2; + return LT_PAUSE; structPtr->unk1820 = AddWindow(&gUnknown_08623364); if (sub_81CDD5C() == TRUE) @@ -257,29 +257,29 @@ u32 sub_81CDE94(s32 state) structPtr->unk1823 = AddWindow(&gUnknown_0862337C); } DeactivateAllTextPrinters(); - return 0; + return LT_INC_AND_PAUSE; case 7: sub_81CED30(0); - return 0; + return LT_INC_AND_PAUSE; case 8: sub_81CE9E4(); - return 0; + return LT_INC_AND_PAUSE; case 9: if (sub_81CDD5C() == TRUE) sub_81CE934(); - return 0; + return LT_INC_AND_PAUSE; case 10: sub_81CE754(0, sub_81CDC84(), TRUE); - return 0; + return LT_INC_AND_PAUSE; case 11: sub_81CE754(1, sub_81CDC84(), TRUE); - return 0; + return LT_INC_AND_PAUSE; case 12: sub_81CE754(2, sub_81CDC84(), TRUE); - return 0; + return LT_INC_AND_PAUSE; case 13: if (sub_81CE754(3, sub_81CDC84(), TRUE) != TRUE) - return 2; + return LT_PAUSE; PutWindowTilemap(structPtr->unk1820); if (sub_81CDD5C() == TRUE) { @@ -287,14 +287,14 @@ u32 sub_81CDE94(s32 state) PutWindowTilemap(structPtr->unk1822); PutWindowTilemap(structPtr->unk1823); } - return 0; + return LT_INC_AND_PAUSE; case 14: ShowBg(1); HideBg(2); ShowBg(3); if (sub_81CDD5C() == TRUE) - sub_81C7BA4(4); - return 0; + PrintHelpBarText(HELPBAR_CONDITION_MON_STATUS); + return LT_INC_AND_PAUSE; case 15: sub_81C7AC0(1); if (!sub_81CDD5C()) @@ -303,25 +303,25 @@ u32 sub_81CDE94(s32 state) sub_81C7FA0(1, TRUE, 0); sub_81C7FA0(6, TRUE, 0); } - return 0; + return LT_INC_AND_PAUSE; case 16: if (IsPaletteFadeActive()) - return 2; + return LT_PAUSE; if (!sub_81CDD5C() && sub_81C8010()) - return 2; + return LT_PAUSE; SetVBlankCallback_(sub_81CEE44); - return 0; + return LT_INC_AND_PAUSE; case 17: sub_81CEE90(); sub_81D20AC(sub_81CDC70()); - return 0; + return LT_INC_AND_PAUSE; case 18: if (sub_81D20BC(sub_81CDC70())) - return 2; - return 0; + return LT_PAUSE; + return LT_INC_AND_PAUSE; case 19: sub_81CEE74(TRUE); - return 0; + return LT_INC_AND_PAUSE; case 20: if (!sub_81D3178(sub_81CDC70(), &structPtr->unk1814)) { @@ -329,12 +329,12 @@ u32 sub_81CDE94(s32 state) if (sub_81CDD5C() == TRUE || sub_81CDC60() != sub_81CDC50()) sub_81D3480(structPtr->unk28e0, structPtr->unk1816, sub_81CDDB0()); - return 4; + return LT_FINISH; } - return 2; + return LT_PAUSE; } - return 4; + return LT_FINISH; } u32 sub_81CE2D0(s32 state) @@ -367,7 +367,7 @@ u32 sub_81CE2D0(s32 state) return 1; } - return 4; + return LT_FINISH; } u32 sub_81CE37C(s32 state) @@ -424,7 +424,7 @@ u32 sub_81CE37C(s32 state) return 2; } - return 4; + return LT_FINISH; } u32 sub_81CE4D8(s32 state) @@ -468,7 +468,7 @@ u32 sub_81CE4D8(s32 state) return 2; } - return 4; + return LT_FINISH; } u32 sub_81CE5E4(s32 state) @@ -506,7 +506,7 @@ u32 sub_81CE5E4(s32 state) return 2; } - return 4; + return LT_FINISH; } u32 sub_81CE6BC(s32 state) @@ -514,18 +514,18 @@ u32 sub_81CE6BC(s32 state) switch (state) { case 0: - sub_811FAA4(sub_81CDD7C(), 0xb0, 0x20); + sub_811FAA4(sub_81CDD7C(), 176, 32); return 1; case 1: - sub_81C7BA4(5); + PrintHelpBarText(HELPBAR_CONDITION_MARKINGS); return 1; case 2: - if (IsDma3ManagerBusyWithBgCopy_() == TRUE) + if (WaitForHelpBar() == TRUE) return 2; return 1; } - return 4; + return LT_FINISH; } u32 sub_81CE700(s32 state) @@ -536,18 +536,18 @@ u32 sub_81CE700(s32 state) sub_811FAF8(); return 1; case 1: - sub_81C7BA4(4); + PrintHelpBarText(HELPBAR_CONDITION_MON_STATUS); return 1; case 2: - if (IsDma3ManagerBusyWithBgCopy_() == TRUE) + if (WaitForHelpBar() == TRUE) return 2; return 1; } - return 4; + return LT_FINISH; } -u8 *sub_81CE738(u8 *dst, u16 num) +static u8 *UnusedPrintNumberString(u8 *dst, u16 num) { u8 *txtPtr = ConvertIntToDecimalStringN(dst, num, STR_CONV_MODE_RIGHT_ALIGN, 4); txtPtr = StringCopy(txtPtr, gText_Number2); @@ -719,8 +719,8 @@ void sub_81CE9E4(void) if (spriteId != MAX_SPRITES) { structPtr->unk1806[i] = spriteId; - gSprites[spriteId].oam.shape = 1; - gSprites[spriteId].oam.size = 2; + gSprites[spriteId].oam.shape = SPRITE_SHAPE(32x16); + gSprites[spriteId].oam.size = SPRITE_SIZE(32x16); } else { diff --git a/src/pokenav_unk_8.c b/src/pokenav_unk_8.c index c52932a798..6c1460dd1b 100644 --- a/src/pokenav_unk_8.c +++ b/src/pokenav_unk_8.c @@ -227,7 +227,7 @@ static s32 sub_81CF0F0(void) { struct PokenavSub7 * ptr = GetSubstructPtr(7); s32 i = GetSelectedMatchCall(); - return ptr->unkPtr->unk4[i].unk6; + return ptr->unkPtr->unk4[i].data; } static u16 sub_81CF10C(void) @@ -258,7 +258,7 @@ static u32 sub_81CF134(s32 state) if (!GetMonData(pokemon, MON_DATA_SANITY_IS_EGG)) { item.monId = i; - item.unk6 = GetMonData(pokemon, ptr->unk14); + item.data = GetMonData(pokemon, ptr->unk14); sub_81CF2C4(ptr, &item); } } @@ -290,7 +290,7 @@ static u32 sub_81CF1D8(s32 state) { item.boxId = boxId; item.monId = monId; - item.unk6 = GetBoxMonDataAt(boxId, monId, ptr->unk14); + item.data = GetBoxMonDataAt(boxId, monId, ptr->unk14); sub_81CF2C4(ptr, &item); } boxCount++; @@ -313,19 +313,19 @@ static u32 sub_81CF278(s32 state) { struct PokenavSub7 * ptr = GetSubstructPtr(7); s32 r6 = ptr->unkPtr->unk0; - s32 r4 = ptr->unkPtr->unk4[0].unk6; + s32 r4 = ptr->unkPtr->unk4[0].data; s32 i; - ptr->unkPtr->unk4[0].unk6 = 1; + ptr->unkPtr->unk4[0].data = 1; for (i = 1; i < r6; i++) { - if (ptr->unkPtr->unk4[i].unk6 == r4) + if (ptr->unkPtr->unk4[i].data == r4) { - ptr->unkPtr->unk4[i].unk6 = ptr->unkPtr->unk4[i - 1].unk6; + ptr->unkPtr->unk4[i].data = ptr->unkPtr->unk4[i - 1].data; } else { - r4 = ptr->unkPtr->unk4[i].unk6; - ptr->unkPtr->unk4[i].unk6 = i + 1; + r4 = ptr->unkPtr->unk4[i].data; + ptr->unkPtr->unk4[i].data = i + 1; } } ptr->unk18 = 1; @@ -340,7 +340,7 @@ static void sub_81CF2C4(struct PokenavSub7 *structPtr, struct PokenavMonList *it while (right != insertionIdx) { - if (item->unk6 > structPtr->unkPtr->unk4[insertionIdx].unk6) + if (item->data > structPtr->unkPtr->unk4[insertionIdx].data) right = insertionIdx; else left = insertionIdx + 1; @@ -431,7 +431,7 @@ static u32 sub_81CF418(s32 state) if (sub_81C8224()) return LT_PAUSE; sub_81CF7C8(unk); - sub_81C7BA4(3); + PrintHelpBarText(HELPBAR_CONDITION_MON_LIST); return LT_INC_AND_PAUSE; case 4: if (free_temp_tile_data_buffers_if_possible()) @@ -651,8 +651,8 @@ static void sub_81CF7F4(struct PokenavSub8 * ptr) static void sub_81CF88C(void) { - struct MatchCallListTemplate template; - template.unk0 = sub_81CF0D0(); + struct PokenavListTemplate template; + template.list.monList = sub_81CF0D0(); template.unk4 = sub_81CF0E0(); template.unk8 = 4; template.unk6 = sub_81CF10C(); @@ -662,7 +662,7 @@ static void sub_81CF88C(void) template.unkC = 8; template.unkD = 2; template.unkE = 1; - template.unk10 = sub_81CF8E4; + template.listFunc.unk10_1 = sub_81CF8E4; template.unk14 = NULL; sub_81C81D4(&gUnknown_08623590[1], &template, 0); } diff --git a/src/pokenav_unk_9.c b/src/pokenav_unk_9.c index 05d590a877..b1a344de9b 100644 --- a/src/pokenav_unk_9.c +++ b/src/pokenav_unk_9.c @@ -218,7 +218,7 @@ static s32 sub_81CFB48(void) { struct PokenavSub9 * ptr = GetSubstructPtr(9); s32 idx = GetSelectedMatchCall(); - return ptr->unk1C->unk4[idx].unk6; + return ptr->unk1C->unk4[idx].data; } static s32 sub_81CFB64(void) @@ -240,7 +240,7 @@ static u32 sub_81CFB8C(s32 state) ptr->unk1C->unk0 = 0; ptr->unk1C->unk2 = 0; - item.boxId = 14; + item.boxId = TOTAL_BOXES_COUNT; for (i = 0; i < PARTY_SIZE; i++) { struct Pokemon * pokemon = &gPlayerParty[i]; @@ -252,7 +252,7 @@ static u32 sub_81CFB8C(s32 state) if (ribbonCount != 0) { item.monId = i; - item.unk6 = ribbonCount; + item.data = ribbonCount; sub_81CFCEC(ptr, &item); } } @@ -288,13 +288,13 @@ static u32 sub_81CFC40(s32 state) { item.boxId = boxId; item.monId = monId; - item.unk6 = ribbonCount; + item.data = ribbonCount; sub_81CFCEC(ptr, &item); } } boxCount++; monId++; - if (boxCount > 14) + if (boxCount > TOTAL_BOXES_COUNT) { ptr->unkC = boxId; ptr->unk10 = monId; @@ -317,7 +317,7 @@ static void sub_81CFCEC(struct PokenavSub9 *structPtr, struct PokenavMonList *it while (right != insertionIdx) { - if (item->unk6 > structPtr->unk1C->unk4[insertionIdx].unk6) + if (item->data > structPtr->unk1C->unk4[insertionIdx].data) right = insertionIdx; else left = insertionIdx + 1; @@ -445,7 +445,7 @@ static u32 sub_81CFEB8(s32 state) return LT_PAUSE; ShowBg(2); HideBg(3); - sub_81C7BA4(9); + PrintHelpBarText(HELPBAR_RIBBONS_MON_LIST); sub_81C7AC0(1); if (!unk->unkC) { @@ -665,8 +665,8 @@ static void sub_81D02B0(s32 windowId, s32 val1, s32 val2) static void sub_81D0304(void) { - struct MatchCallListTemplate template; - template.unk0 = sub_81CFB28(); + struct PokenavListTemplate template; + template.list.monList = sub_81CFB28(); template.unk4 = sub_81CFB38(); template.unk8 = 4; template.unk6 = sub_81CFB64(); @@ -676,7 +676,7 @@ static void sub_81D0304(void) template.unkC = 8; template.unkD = 2; template.unkE = 1; - template.unk10 = sub_81D035C; + template.listFunc.unk10_1 = sub_81D035C; template.unk14 = NULL; sub_81C81D4(&gUnknown_086237B0[1], &template, 0); } @@ -688,7 +688,7 @@ static void sub_81D035C(struct PokenavMonList * item0, u8 * dest) u8 * s; const u8 * genderStr; struct PokenavMonList * item = item0; - if (item->boxId == 14) + if (item->boxId == TOTAL_BOXES_COUNT) { struct Pokemon * mon = &gPlayerParty[item->monId]; gender = GetMonGender(mon); @@ -722,5 +722,5 @@ static void sub_81D035C(struct PokenavMonList * item0, u8 * dest) *s++ = 5; // LV ConvertIntToDecimalStringN(s, level, STR_CONV_MODE_LEFT_ALIGN, 3); dest = sub_81DB494(dest, 1, gStringVar1, 54); - ConvertIntToDecimalStringN(dest, item->unk6, STR_CONV_MODE_RIGHT_ALIGN, 2); + ConvertIntToDecimalStringN(dest, item->data, STR_CONV_MODE_RIGHT_ALIGN, 2); } diff --git a/src/post_battle_event_funcs.c b/src/post_battle_event_funcs.c index 3cbf6ecd29..4fa5d1b21a 100644 --- a/src/post_battle_event_funcs.c +++ b/src/post_battle_event_funcs.c @@ -9,6 +9,7 @@ #include "tv.h" #include "constants/heal_locations.h" #include "constants/flags.h" +#include "constants/tv.h" int GameClear(void) { @@ -76,9 +77,9 @@ int GameClear(void) } } - if (ribbonCounts[0].count > 4) + if (ribbonCounts[0].count > NUM_CUTIES_RIBBONS) { - sub_80EE4DC(&gPlayerParty[ribbonCounts[0].partyIndex], MON_DATA_CHAMPION_RIBBON); + TryPutSpotTheCutiesOnAir(&gPlayerParty[ribbonCounts[0].partyIndex], MON_DATA_CHAMPION_RIBBON); } } @@ -86,7 +87,7 @@ int GameClear(void) return 0; } -bool8 sp0C8_whiteout_maybe(void) +bool8 SetCB2WhiteOut(void) { SetMainCallback2(CB2_WhiteOut); return FALSE; diff --git a/src/psychic.c b/src/psychic.c index 6f808b5471..656608740a 100644 --- a/src/psychic.c +++ b/src/psychic.c @@ -45,18 +45,18 @@ const struct SpriteTemplate gUnknown_08596548 = { .tileTag = ANIM_TAG_SPIRAL, .paletteTag = ANIM_TAG_SPIRAL, - .oam = &gUnknown_08524A9C, + .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596544, - .callback = sub_80A77C8, + .callback = AnimSpriteOnMonPos, }; const struct SpriteTemplate gUnknown_08596560 = { .tileTag = ANIM_TAG_GREEN_LIGHT_WALL, .paletteTag = ANIM_TAG_GREEN_LIGHT_WALL, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -67,7 +67,7 @@ const struct SpriteTemplate gUnknown_08596578 = { .tileTag = ANIM_TAG_BLUE_LIGHT_WALL, .paletteTag = ANIM_TAG_BLUE_LIGHT_WALL, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -78,7 +78,7 @@ const struct SpriteTemplate gUnknown_08596590 = { .tileTag = ANIM_TAG_RED_LIGHT_WALL, .paletteTag = ANIM_TAG_RED_LIGHT_WALL, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -89,7 +89,7 @@ const struct SpriteTemplate gUnknown_085965A8 = { .tileTag = ANIM_TAG_GRAY_LIGHT_WALL, .paletteTag = ANIM_TAG_GRAY_LIGHT_WALL, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -100,7 +100,7 @@ const struct SpriteTemplate gUnknown_085965C0 = { .tileTag = ANIM_TAG_ORANGE_LIGHT_WALL, .paletteTag = ANIM_TAG_ORANGE_LIGHT_WALL, - .oam = &gUnknown_08524A3C, + .oam = &gOamData_AffineOff_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -126,7 +126,7 @@ const struct SpriteTemplate gUnknown_085965F4 = { .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085965F0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -151,7 +151,7 @@ const struct SpriteTemplate gUnknown_08596624 = { .tileTag = ANIM_TAG_SPARKLE_3, .paletteTag = ANIM_TAG_SPARKLE_3, - .oam = &gUnknown_0852490C, + .oam = &gOamData_AffineOff_ObjNormal_16x16, .anims = gUnknown_08596620, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -162,7 +162,7 @@ const struct SpriteTemplate gUnknown_0859663C = { .tileTag = ANIM_TAG_GOLD_RING, .paletteTag = ANIM_TAG_GOLD_RING, - .oam = &gUnknown_08524954, + .oam = &gOamData_AffineOff_ObjNormal_16x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -219,7 +219,7 @@ const struct SpriteTemplate gUnknown_085966DC = { .tileTag = ANIM_TAG_BENT_SPOON, .paletteTag = ANIM_TAG_BENT_SPOON, - .oam = &gUnknown_08524954, + .oam = &gOamData_AffineOff_ObjNormal_16x32, .anims = gUnknown_085966D4, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -261,7 +261,7 @@ const struct SpriteTemplate gUnknown_08596744 = { .tileTag = ANIM_TAG_AMNESIA, .paletteTag = ANIM_TAG_AMNESIA, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596714, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -287,7 +287,7 @@ const struct SpriteTemplate gUnknown_08596794 = { .tileTag = ANIM_TAG_HOLLOW_ORB, .paletteTag = ANIM_TAG_HOLLOW_ORB, - .oam = &gUnknown_08524A2C, + .oam = &gOamData_AffineOff_ObjBlend_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -298,7 +298,7 @@ const struct SpriteTemplate gUnknown_085967AC = { .tileTag = 10250, .paletteTag = 10250, - .oam = &gUnknown_0852491C, + .oam = &gOamData_AffineOff_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -351,7 +351,7 @@ const struct SpriteTemplate gUnknown_08596864 = { .tileTag = ANIM_TAG_BLUEGREEN_ORB, .paletteTag = ANIM_TAG_BLUEGREEN_ORB, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596854, @@ -374,11 +374,11 @@ const struct SpriteTemplate gUnknown_08596898 = { .tileTag = ANIM_TAG_WHITE_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_WHITE_CIRCLE_OF_LIGHT, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596894, - .callback = sub_80A77C8, + .callback = AnimSpriteOnMonPos, }; const union AffineAnimCmd gUnknown_085968B0[] = @@ -412,7 +412,7 @@ const struct SpriteTemplate gUnknown_08596920 = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gUnknown_08524AFC, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596918, @@ -659,7 +659,7 @@ void sub_810F6B0(struct Sprite *sprite) static void sub_810F740(struct Sprite *sprite) { - sprite->oam.affineMode = 1; + sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; sprite->affineAnims = gUnknown_08596740; sprite->data[0] = 0; InitSpriteAffineAnim(sprite); @@ -674,7 +674,7 @@ static void sub_810F774(struct Sprite *sprite) if (sprite->affineAnimEnded) { FreeOamMatrix(sprite->oam.matrixNum); - sprite->oam.affineMode = 0; + sprite->oam.affineMode = ST_OAM_AFFINE_OFF; sprite->data[1] = 18; sprite->data[0]++; } diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c index fc28607972..cef7f4cdd6 100644 --- a/src/rayquaza_scene.c +++ b/src/rayquaza_scene.c @@ -5,7 +5,7 @@ #include "graphics.h" #include "bg.h" #include "main.h" -#include "alloc.h" +#include "malloc.h" #include "palette.h" #include "scanline_effect.h" #include "menu.h" @@ -101,10 +101,10 @@ static const TaskFunc sTasksForAnimations[] = static const struct OamData sOamData_862A6BC = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -118,10 +118,10 @@ static const struct OamData sOamData_862A6BC = static const struct OamData sOamData_862A6C4 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, @@ -135,10 +135,10 @@ static const struct OamData sOamData_862A6C4 = static const struct OamData sOamData_862A6CC = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, @@ -152,10 +152,10 @@ static const struct OamData sOamData_862A6CC = static const struct OamData sOamData_862A6D4 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, @@ -169,10 +169,10 @@ static const struct OamData sOamData_862A6D4 = static const struct OamData sOamData_862A6DC = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x8), .x = 0, .matrixNum = 0, @@ -186,10 +186,10 @@ static const struct OamData sOamData_862A6DC = static const struct OamData sOamData_862A6E4 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x32), .x = 0, .matrixNum = 0, @@ -203,10 +203,10 @@ static const struct OamData sOamData_862A6E4 = static const struct OamData sOamData_862A6EC = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, @@ -220,10 +220,10 @@ static const struct OamData sOamData_862A6EC = static const struct OamData sOamData_862A6F4 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), .x = 0, .matrixNum = 0, @@ -2045,8 +2045,8 @@ static void sub_81D81A4(u8 taskId) (sUnknown_0862AAB8[data[0]][1] * 4) + 80, 0); gSprites[spriteId].data[0] = (s8)(data[0]); - gSprites[spriteId].oam.objMode = 1; - gSprites[spriteId].oam.affineMode = 3; + gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE; gSprites[spriteId].oam.priority = 2; InitSpriteAffineAnim(&gSprites[spriteId]); if (data[0] == 9) diff --git a/src/record_mixing.c b/src/record_mixing.c index 32e0404b96..f290c8554d 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "random.h" #include "constants/items.h" #include "text.h" @@ -69,7 +69,7 @@ struct PlayerRecordsEmerald /* 0x1124 */ struct EmeraldBattleTowerRecord battleTowerRecord; /* 0x1210 */ u16 giftItem; /* 0x1214 */ LilycoveLady lilycoveLady; - /* 0x1254 */ struct Apprentice apprentice[2]; + /* 0x1254 */ struct Apprentice apprentices[2]; /* 0x12dc */ struct PlayerHallRecords hallRecords; /* 0x1434 */ u8 field_1434[0x10]; }; // 0x1444 @@ -120,8 +120,8 @@ static void sub_80E7B2C(const u8 *); static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *, size_t, u8, TVShow *); static void ReceiveGiftItem(u16 *item, u8 which); static void Task_DoRecordMixing(u8 taskId); -static void sub_80E8110(struct Apprentice *arg0, struct Apprentice *arg1); -static void ReceiveApprenticeData(struct Apprentice *arg0, size_t arg1, u32 arg2); +static void GetSavedApprentices(struct Apprentice *dst, struct Apprentice *src); +static void ReceiveApprenticeData(struct Apprentice *mixApprentice, size_t recordSize, u32 multiplayerId); static void ReceiveRankingHallRecords(struct PlayerHallRecords *hallRecords, size_t arg1, u32 arg2); static void sub_80E89F8(struct RecordMixingDayCareMail *dst); static void SanitizeDayCareMailForRuby(struct RecordMixingDayCareMail *src); @@ -252,7 +252,7 @@ static void PrepareExchangePacket(void) if (GetMultiplayerId() == 0) sSentRecord->emerald.giftItem = GetRecordMixingGift(); - sub_80E8110(sSentRecord->emerald.apprentice, sApprenticesSave); + GetSavedApprentices(sSentRecord->emerald.apprentices, sApprenticesSave); GetPlayerHallRecords(&sSentRecord->emerald.hallRecords); } } @@ -285,7 +285,7 @@ static void ReceiveExchangePacket(u32 which) ReceiveBattleTowerData(&sReceivedRecords->emerald.battleTowerRecord, sizeof(struct PlayerRecordsEmerald), which); ReceiveGiftItem(&sReceivedRecords->emerald.giftItem, which); ReceiveLilycoveLadyData(&sReceivedRecords->emerald.lilycoveLady, sizeof(struct PlayerRecordsEmerald), which); - ReceiveApprenticeData(sReceivedRecords->emerald.apprentice, sizeof(struct PlayerRecordsEmerald), (u8) which); + ReceiveApprenticeData(sReceivedRecords->emerald.apprentices, sizeof(struct PlayerRecordsEmerald), (u8) which); ReceiveRankingHallRecords(&sReceivedRecords->emerald.hallRecords, sizeof(struct PlayerRecordsEmerald), (u8) which); } } @@ -369,7 +369,7 @@ static void Task_RecordMixing_Main(u8 taskId) sub_808729C(); if (gWirelessCommType != 0) { - CreateTask(sub_80AF2B4, 10); + CreateTask(Task_ReturnToFieldRecordMixing, 10); } ClearDialogWindowAndFrame(0, 1); DestroyTask(taskId); @@ -631,7 +631,7 @@ static void ReceiveOldManData(OldMan *oldMan, size_t recordSize, u8 which) u8 version; u16 language; OldMan *dest; - u32 mixIndices[4]; + u32 mixIndices[MAX_LINK_PLAYERS]; ShufflePlayerIndices(mixIndices); dest = (void *)oldMan + recordSize * mixIndices[which]; @@ -651,7 +651,7 @@ static void ReceiveBattleTowerData(void *battleTowerRecord, size_t recordSize, u { struct EmeraldBattleTowerRecord *dest; struct BattleTowerPokemon *btPokemon; - u32 mixIndices[4]; + u32 mixIndices[MAX_LINK_PLAYERS]; s32 i; ShufflePlayerIndices(mixIndices); @@ -682,7 +682,7 @@ static void ReceiveBattleTowerData(void *battleTowerRecord, size_t recordSize, u static void ReceiveLilycoveLadyData(LilycoveLady *lilycoveLady, size_t recordSize, u8 which) { LilycoveLady *dest; - u32 mixIndices[4]; + u32 mixIndices[MAX_LINK_PLAYERS]; ShufflePlayerIndices(mixIndices); memcpy((void *)lilycoveLady + recordSize * which, sLilycoveLadySave, sizeof(LilycoveLady)); @@ -1018,57 +1018,59 @@ static void Task_DoRecordMixing(u8 taskId) // New Emerald functions -static void sub_80E8110(struct Apprentice *dst, struct Apprentice *src) +static void GetSavedApprentices(struct Apprentice *dst, struct Apprentice *src) { s32 i, id; - s32 var_2C, var_28, var_24, r8; + s32 apprenticeSaveId, oldPlayerApprenticeSaveId; + s32 numOldPlayerApprentices, numMixApprentices; dst[0].playerName[0] = EOS; dst[1].playerName[0] = EOS; dst[0] = src[0]; - var_28 = 0; - var_24 = 0; - var_2C = 0; - r8 = 0; + oldPlayerApprenticeSaveId = 0; + numOldPlayerApprentices = 0; + apprenticeSaveId = 0; + numMixApprentices = 0; for (i = 0; i < 2; i++) { - id = ((i + gSaveBlock2Ptr->playerApprentice.field_B2_1) % 3) + 1; + id = ((i + gSaveBlock2Ptr->playerApprentice.saveId) % (APPRENTICE_COUNT - 1)) + 1; if (src[id].playerName[0] != EOS) { if (GetTrainerId(src[id].playerId) != GetTrainerId(gSaveBlock2Ptr->playerTrainerId)) { - r8++; - var_2C = id; + numMixApprentices++; + apprenticeSaveId = id; } if (GetTrainerId(src[id].playerId) == GetTrainerId(gSaveBlock2Ptr->playerTrainerId)) { - var_24++; - var_28 = id; + numOldPlayerApprentices++; + oldPlayerApprenticeSaveId = id; } } } - if (r8 == 0 && var_24 != 0) + // Prefer passing on other mixed Apprentices rather than old player's Apprentices + if (numMixApprentices == 0 && numOldPlayerApprentices != 0) { - r8 = var_24; - var_2C = var_28; + numMixApprentices = numOldPlayerApprentices; + apprenticeSaveId = oldPlayerApprenticeSaveId; } - switch (r8) + switch (numMixApprentices) { case 1: - dst[1] = src[var_2C]; + dst[1] = src[apprenticeSaveId]; break; case 2: if (Random2() > 0x3333) { - dst[1] = src[gSaveBlock2Ptr->playerApprentice.field_B2_1 + 1]; + dst[1] = src[gSaveBlock2Ptr->playerApprentice.saveId + 1]; } else { - dst[1] = src[((gSaveBlock2Ptr->playerApprentice.field_B2_1 + 1) % 3 + 1)]; + dst[1] = src[((gSaveBlock2Ptr->playerApprentice.saveId + 1) % (APPRENTICE_COUNT - 1) + 1)]; } break; } @@ -1092,9 +1094,9 @@ void GetPlayerHallRecords(struct PlayerHallRecords *dst) { dst->twoPlayers[j].language = GAME_LANGUAGE; CopyTrainerId(dst->twoPlayers[j].id1, gSaveBlock2Ptr->playerTrainerId); - CopyTrainerId(dst->twoPlayers[j].id2, gSaveBlock2Ptr->frontier.field_EF1[j]); + CopyTrainerId(dst->twoPlayers[j].id2, gSaveBlock2Ptr->frontier.opponentTrainerIds[j]); StringCopy(dst->twoPlayers[j].name1, gSaveBlock2Ptr->playerName); - StringCopy(dst->twoPlayers[j].name2, gSaveBlock2Ptr->frontier.opponentName[j]); + StringCopy(dst->twoPlayers[j].name2, gSaveBlock2Ptr->frontier.opponentNames[j]); } for (i = 0; i < 2; i++) @@ -1113,14 +1115,14 @@ void GetPlayerHallRecords(struct PlayerHallRecords *dst) } } -static bool32 sub_80E841C(struct Apprentice *arg0, struct Apprentice *arg1) +static bool32 IsApprenticeAlreadySaved(struct Apprentice *mixApprentice, struct Apprentice *apprentices) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < APPRENTICE_COUNT; i++) { - if (GetTrainerId(arg0->playerId) == GetTrainerId(arg1[i].playerId) - && arg0->number == arg1[i].number) + if (GetTrainerId(mixApprentice->playerId) == GetTrainerId(apprentices[i].playerId) + && mixApprentice->number == apprentices[i].number) { return TRUE; } @@ -1129,40 +1131,40 @@ static bool32 sub_80E841C(struct Apprentice *arg0, struct Apprentice *arg1) return FALSE; } -static void ReceiveApprenticeData(struct Apprentice *arg0, size_t arg1, u32 arg2) +static void ReceiveApprenticeData(struct Apprentice *mixApprentice, size_t recordSize, u32 multiplayerId) { - s32 i, r7, r8; - struct Apprentice *structPtr; - u32 mixIndices[4]; - u32 structId; + s32 i, numApprentices, apprenticeId; + struct Apprentice *mixApprenticePtr; + u32 mixIndices[MAX_LINK_PLAYERS]; + u32 apprenticeSaveId; ShufflePlayerIndices(mixIndices); - structPtr = (void*)(arg0) + (arg1 * mixIndices[arg2]); - r7 = 0; - r8 = 0; + mixApprenticePtr = (void*)(mixApprentice) + (recordSize * mixIndices[multiplayerId]); + numApprentices = 0; + apprenticeId = 0; for (i = 0; i < 2; i++) { - if (structPtr[i].playerName[0] != EOS && !sub_80E841C(&structPtr[i], &gSaveBlock2Ptr->apprentices[0])) + if (mixApprenticePtr[i].playerName[0] != EOS && !IsApprenticeAlreadySaved(&mixApprenticePtr[i], &gSaveBlock2Ptr->apprentices[0])) { - r7++; - r8 = i; + numApprentices++; + apprenticeId = i; } } - switch (r7) + switch (numApprentices) { case 1: - structId = gSaveBlock2Ptr->playerApprentice.field_B2_1 + 1; - gSaveBlock2Ptr->apprentices[structId] = structPtr[r8]; - gSaveBlock2Ptr->playerApprentice.field_B2_1 = (gSaveBlock2Ptr->playerApprentice.field_B2_1 + 1) % 3; + apprenticeSaveId = gSaveBlock2Ptr->playerApprentice.saveId + 1; + gSaveBlock2Ptr->apprentices[apprenticeSaveId] = mixApprenticePtr[apprenticeId]; + gSaveBlock2Ptr->playerApprentice.saveId = (gSaveBlock2Ptr->playerApprentice.saveId + 1) % (APPRENTICE_COUNT - 1); break; case 2: for (i = 0; i < 2; i++) { - structId = ((i ^ 1) + gSaveBlock2Ptr->playerApprentice.field_B2_1) % 3 + 1; - gSaveBlock2Ptr->apprentices[structId] = structPtr[i]; + apprenticeSaveId = ((i ^ 1) + gSaveBlock2Ptr->playerApprentice.saveId) % (APPRENTICE_COUNT - 1) + 1; + gSaveBlock2Ptr->apprentices[apprenticeSaveId] = mixApprenticePtr[i]; } - gSaveBlock2Ptr->playerApprentice.field_B2_1 = (gSaveBlock2Ptr->playerApprentice.field_B2_1 + 2) % 3; + gSaveBlock2Ptr->playerApprentice.saveId = (gSaveBlock2Ptr->playerApprentice.saveId + 2) % (APPRENTICE_COUNT - 1); break; } } diff --git a/src/recorded_battle.c b/src/recorded_battle.c index 9e03d57f67..5a0579f709 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -10,7 +10,7 @@ #include "string_util.h" #include "palette.h" #include "save.h" -#include "alloc.h" +#include "malloc.h" #include "util.h" #include "task.h" #include "text.h" @@ -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}; @@ -323,7 +323,7 @@ static bool32 RecordedBattleToSave(struct RecordedBattleSave *battleSave, struct saveSection->checksum = CalcByteArraySum((void*)(saveSection), sizeof(*saveSection) - 4); - if (TryWriteSpecialSaveSection(SECTOR_ID_RECORDED_BATTLE, (void*)(saveSection)) != 1) + if (TryWriteSpecialSaveSection(SECTOR_ID_RECORDED_BATTLE, (void*)(saveSection)) != SAVE_STATUS_OK) return FALSE; else return TRUE; @@ -334,9 +334,9 @@ bool32 MoveRecordedBattleToSaveData(void) s32 i, j; bool32 ret; struct RecordedBattleSave *battleSave, *savSection; - u8 var; + u8 saveAttempts; - var = 0; + saveAttempts = 0; battleSave = AllocZeroed(sizeof(struct RecordedBattleSave)); savSection = AllocZeroed(0x1000); @@ -409,12 +409,12 @@ bool32 MoveRecordedBattleToSaveData(void) if (sBattleOutcome == B_OUTCOME_WON) { - for (i = 0; i < 6; i++) + for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++) battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_FRIEND].speechLost[i]; } else { - for (i = 0; i < 6; i++) + for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++) battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_FRIEND].speechWon[i]; } battleSave->recordMixFriendLanguage = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_FRIEND].language; @@ -427,12 +427,12 @@ bool32 MoveRecordedBattleToSaveData(void) if (sBattleOutcome == B_OUTCOME_WON) { - for (i = 0; i < 6; i++) + for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++) battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_FRIEND].speechLost[i]; } else { - for (i = 0; i < 6; i++) + for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++) battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_FRIEND].speechWon[i]; } battleSave->recordMixFriendLanguage = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_FRIEND].language; @@ -449,15 +449,15 @@ bool32 MoveRecordedBattleToSaveData(void) if (gTrainerBattleOpponent_A >= TRAINER_RECORD_MIXING_APPRENTICE) { battleSave->apprenticeId = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_APPRENTICE].id; - for (i = 0; i < 6; i++) - battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_APPRENTICE].easyChatWords[i]; + for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++) + battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_APPRENTICE].speechWon[i]; battleSave->apprenticeLanguage = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_APPRENTICE].language; } else if (gTrainerBattleOpponent_B >= TRAINER_RECORD_MIXING_APPRENTICE) { battleSave->apprenticeId = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_APPRENTICE].id; - for (i = 0; i < 6; i++) - battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_APPRENTICE].easyChatWords[i]; + for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++) + battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_APPRENTICE].speechWon[i]; battleSave->apprenticeLanguage = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_APPRENTICE].language; } else if (gPartnerTrainerId >= TRAINER_RECORD_MIXING_APPRENTICE) @@ -480,8 +480,8 @@ bool32 MoveRecordedBattleToSaveData(void) ret = RecordedBattleToSave(battleSave, savSection); if (ret == TRUE) break; - var++; - if (var >= 3) + saveAttempts++; + if (saveAttempts >= 3) break; } @@ -492,7 +492,7 @@ bool32 MoveRecordedBattleToSaveData(void) static bool32 TryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst, struct SaveSection *saveBuffer) { - if (TryReadSpecialSaveSection(SECTOR_ID_RECORDED_BATTLE, (void*)(saveBuffer)) != 1) + if (TryReadSpecialSaveSection(SECTOR_ID_RECORDED_BATTLE, (void*)(saveBuffer)) != SAVE_STATUS_OK) return FALSE; memcpy(dst, saveBuffer, sizeof(struct RecordedBattleSave)); @@ -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/region_map.c b/src/region_map.c index a98964e5c6..5694d4c7a8 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -2,7 +2,7 @@ #include "main.h" #include "text.h" #include "menu.h" -#include "alloc.h" +#include "malloc.h" #include "gpu_regs.h" #include "palette.h" #include "party_menu.h" @@ -24,6 +24,7 @@ #include "region_map.h" #include "constants/region_map_sections.h" #include "heal_location.h" +#include "constants/field_specials.h" #include "constants/heal_locations.h" #include "constants/map_types.h" #include "constants/rgb.h" @@ -54,7 +55,7 @@ static EWRAM_DATA struct { /*0x008*/ struct RegionMap regionMap; /*0x88c*/ u8 unk_88c[0x1c0]; /*0xa4c*/ u8 unk_a4c[0x26]; - /*0xa72*/ bool8 unk_a72; + /*0xa72*/ bool8 choseFlyLocation; } *sFlyMap = NULL; // a74 static bool32 gUnknown_03001180; @@ -996,7 +997,7 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void) break; case MAP_TYPE_UNDERGROUND: case MAP_TYPE_UNUSED_2: - if (gMapHeader.flags & 0x02) + if (gMapHeader.flags & MAP_ALLOW_ESCAPE_ROPE) { mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->escapeWarp.mapGroup, gSaveBlock1Ptr->escapeWarp.mapNum); gRegionMap->mapSecId = mapHeader->regionMapSectionId; @@ -1144,20 +1145,20 @@ static void RegionMap_InitializeStateBasedOnSSTidalLocation(void) x = 0; switch (GetSSTidalLocation(&mapGroup, &mapNum, &xOnMap, &yOnMap)) { - case 1: + case SS_TIDAL_LOCATION_SLATEPORT: gRegionMap->mapSecId = MAPSEC_SLATEPORT_CITY; break; - case 2: + case SS_TIDAL_LOCATION_LILYCOVE: gRegionMap->mapSecId = MAPSEC_LILYCOVE_CITY; break; - case 3: + case SS_TIDAL_LOCATION_ROUTE124: gRegionMap->mapSecId = MAPSEC_ROUTE_124; break; - case 4: + case SS_TIDAL_LOCATION_ROUTE131: gRegionMap->mapSecId = MAPSEC_ROUTE_131; break; default: - case 0: + case SS_TIDAL_LOCATION_CURRENTS: mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum); gRegionMap->mapSecId = mapHeader->regionMapSectionId; @@ -1258,7 +1259,7 @@ static u16 RegionMap_GetTerraCaveMapSecId(void) { s16 idx; - idx = VarGet(VAR_UNUSUAL_WEATHER_LOCATION) - 1; + idx = VarGet(VAR_ABNORMAL_WEATHER_LOCATION) - 1; if (idx < 0 || idx > 15) { idx = 0; @@ -1270,7 +1271,7 @@ static void RegionMap_GetMarineCaveCoords(u16 *x, u16 *y) { u16 idx; - idx = VarGet(VAR_UNUSUAL_WEATHER_LOCATION); + idx = VarGet(VAR_ABNORMAL_WEATHER_LOCATION); if (idx < 9 || idx > 16) { idx = 9; @@ -1415,14 +1416,14 @@ void CreateRegionMapCursor(u16 tileTag, u16 paletteTag) gRegionMap->cursorSprite = &gSprites[spriteId]; if (gRegionMap->zoomed == TRUE) { - gRegionMap->cursorSprite->oam.size = 2; + gRegionMap->cursorSprite->oam.size = SPRITE_SIZE(32x32); gRegionMap->cursorSprite->pos1.x -= 8; gRegionMap->cursorSprite->pos1.y -= 8; StartSpriteAnim(gRegionMap->cursorSprite, 1); } else { - gRegionMap->cursorSprite->oam.size = 1; + gRegionMap->cursorSprite->oam.size = SPRITE_SIZE(16x16); gRegionMap->cursorSprite->pos1.x = 8 * gRegionMap->cursorPosX + 4; gRegionMap->cursorSprite->pos1.y = 8 * gRegionMap->cursorPosY + 4; } @@ -1604,7 +1605,8 @@ u8 *GetMapName(u8 *dest, u16 regionMapId, u16 padLength) return str; } -u8 *sub_81245DC(u8 *dest, u16 mapSecId) +// TODO: probably needs a better name +u8 *GetMapNameGeneric(u8 *dest, u16 mapSecId) { switch (mapSecId) { @@ -1625,7 +1627,7 @@ u8 *sub_8124610(u8 *dest, u16 mapSecId) } else { - return sub_81245DC(dest, mapSecId); + return GetMapNameGeneric(dest, mapSecId); } } @@ -1861,15 +1863,15 @@ static void sub_8124AD4(void) y = (y + MAPCURSOR_Y_MIN) * 8 + 4; if (width == 2) { - shape = ST_OAM_H_RECTANGLE; + shape = SPRITE_SHAPE(16x8); } else if (height == 2) { - shape = ST_OAM_V_RECTANGLE; + shape = SPRITE_SHAPE(8x16); } else { - shape = ST_OAM_SQUARE; + shape = SPRITE_SHAPE(8x8); } spriteId = CreateSprite(&gUnknown_085A1F7C, x, y, 10); if (spriteId != MAX_SPRITES) @@ -1911,7 +1913,7 @@ static void sub_8124BE4(void) spriteId = CreateSprite(&gUnknown_085A1F7C, x, y, 10); if (spriteId != MAX_SPRITES) { - gSprites[spriteId].oam.size = 1; + gSprites[spriteId].oam.size = SPRITE_SIZE(16x16); gSprites[spriteId].callback = sub_8124CBC; StartSpriteAnim(&gSprites[spriteId], 6); gSprites[spriteId].data[0] = mapSecId; @@ -1971,13 +1973,13 @@ static void sub_8124D64(void) if (sFlyMap->regionMap.iconDrawType == MAPSECTYPE_CITY_CANFLY || sFlyMap->regionMap.iconDrawType == MAPSECTYPE_BATTLE_FRONTIER) { m4aSongNumStart(SE_SELECT); - sFlyMap->unk_a72 = TRUE; + sFlyMap->choseFlyLocation = TRUE; sub_81248F4(sub_8124E0C); } break; case INPUT_EVENT_B_BUTTON: m4aSongNumStart(SE_SELECT); - sFlyMap->unk_a72 = FALSE; + sFlyMap->choseFlyLocation = FALSE; sub_81248F4(sub_8124E0C); break; } @@ -1996,7 +1998,7 @@ static void sub_8124E0C(void) if (!UpdatePaletteFade()) { FreeRegionMapIconResources(); - if (sFlyMap->unk_a72) + if (sFlyMap->choseFlyLocation) { switch (sFlyMap->regionMap.mapSecId) { @@ -2023,11 +2025,11 @@ static void sub_8124E0C(void) } break; } - sub_80B69DC(); + ReturnToFieldFromFlyMapSelect(); } else { - SetMainCallback2(sub_81B58A8); + SetMainCallback2(CB2_ReturnToPartyMenuFromFlyMap); } if (sFlyMap != NULL) { diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c index 1fe9f2279a..efad640e34 100644 --- a/src/reset_rtc_screen.c +++ b/src/reset_rtc_screen.c @@ -105,10 +105,10 @@ static const struct ResetRtcStruct sUnknown_08510428[5] = static const struct OamData sOamData_08510464 = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, @@ -300,19 +300,19 @@ static void PrintTime(u8 windowId, u8 x, u8 y, u16 days, u8 hours, u8 minutes, u { u8 *dest = gStringVar4; - ConvertIntToDecimalStringN(gStringVar1, days, 1, 4); + ConvertIntToDecimalStringN(gStringVar1, days, STR_CONV_MODE_RIGHT_ALIGN, 4); dest = StringCopy(dest, gStringVar1); dest = StringCopy(dest, gText_Day); - ConvertIntToDecimalStringN(gStringVar1, hours, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, hours, STR_CONV_MODE_RIGHT_ALIGN, 3); dest = StringCopy(dest, gStringVar1); dest = StringCopy(dest, gText_Colon3); - ConvertIntToDecimalStringN(gStringVar1, minutes, 2, 2); + ConvertIntToDecimalStringN(gStringVar1, minutes, STR_CONV_MODE_LEADING_ZEROS, 2); dest = StringCopy(dest, gStringVar1); dest = StringCopy(dest, gText_Colon3); - ConvertIntToDecimalStringN(gStringVar1, seconds, 2, 2); + ConvertIntToDecimalStringN(gStringVar1, seconds, STR_CONV_MODE_LEADING_ZEROS, 2); dest = StringCopy(dest, gStringVar1); AddTextPrinterParameterized(windowId, 1, gStringVar4, x, y, TEXT_SPEED_FF, NULL); @@ -559,7 +559,7 @@ static void Task_ResetRtcScreen(u8 taskId) case 1: if (!gPaletteFade.active) { - if (gSaveFileStatus == 0 || gSaveFileStatus == 2) + if (gSaveFileStatus == SAVE_STATUS_EMPTY || gSaveFileStatus == SAVE_STATUS_CORRUPT) { ShowMessage(gText_NoSaveFileCantSetTime); data[0] = 5; @@ -608,7 +608,7 @@ static void Task_ResetRtcScreen(u8 taskId) } break; case 4: - if (TrySavingData(0) == 1) + if (TrySavingData(SAVE_NORMAL) == SAVE_STATUS_OK) { ShowMessage(gText_SaveCompleted); PlaySE(SE_PINPON); diff --git a/src/reset_save_heap.c b/src/reset_save_heap.c index beba742f56..577a48b0d8 100644 --- a/src/reset_save_heap.c +++ b/src/reset_save_heap.c @@ -6,7 +6,7 @@ #include "save.h" #include "new_game.h" #include "overworld.h" -#include "alloc.h" +#include "malloc.h" void sub_81700F8(void) { @@ -21,8 +21,8 @@ void sub_81700F8(void) SetSaveBlocksPointers(sub_815355C()); ResetMenuAndMonGlobals(); Save_ResetSaveCounters(); - Save_LoadGameData(0); - if (gSaveFileStatus == 0 || gSaveFileStatus == 2) + Save_LoadGameData(SAVE_NORMAL); + if (gSaveFileStatus == SAVE_STATUS_EMPTY || gSaveFileStatus == SAVE_STATUS_CORRUPT) Sav2_ClearSetDefault(); SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound); InitHeap(gHeap, HEAP_SIZE); diff --git a/src/rock.c b/src/rock.c index 6f6e209551..28566f1b76 100644 --- a/src/rock.c +++ b/src/rock.c @@ -59,7 +59,7 @@ const struct SpriteTemplate gUnknown_08596B04 = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596AF8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -70,7 +70,7 @@ const struct SpriteTemplate gUnknown_08596B1C = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596AF8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -81,7 +81,7 @@ const struct SpriteTemplate gUnknown_08596B34 = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -105,7 +105,7 @@ const struct SpriteTemplate gUnknown_08596B70 = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, - .oam = &gUnknown_08524A8C, + .oam = &gOamData_AffineNormal_ObjBlend_16x16, .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gUnknown_08596B6C, @@ -116,7 +116,7 @@ const struct SpriteTemplate gUnknown_08596B88 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_085954D0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -127,7 +127,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596BA0 = { .tileTag = ANIM_TAG_FLYING_DIRT, .paletteTag = ANIM_TAG_FLYING_DIRT, - .oam = &gUnknown_08524934, + .oam = &gOamData_AffineOff_ObjNormal_32x16, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -136,8 +136,8 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596BA0 = const struct Subsprite gUnknown_08596BB8[] = { - {.x = -16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .size = 2, .tileOffset = 0, .priority = 1}, - {.x = 16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .size = 2, .tileOffset = 8, .priority = 1}, + {.x = -16, .y = 0, .shape = SPRITE_SHAPE(32x16), .size = SPRITE_SIZE(32x16), .tileOffset = 0, .priority = 1}, + {.x = 16, .y = 0, .shape = SPRITE_SHAPE(32x16), .size = SPRITE_SIZE(32x16), .tileOffset = 8, .priority = 1}, }; const struct SubspriteTable gUnknown_08596BC0[] = @@ -203,7 +203,7 @@ const struct SpriteTemplate gUnknown_08596C10 = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596BF8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -214,7 +214,7 @@ const struct SpriteTemplate gUnknown_08596C28 = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -225,7 +225,7 @@ const struct SpriteTemplate gUnknown_08596C40 = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -236,7 +236,7 @@ const struct SpriteTemplate gUnknown_08596C58 = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596BF8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -265,7 +265,7 @@ const struct SpriteTemplate gUnknown_08596C98 = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gUnknown_08596BF8, .images = NULL, .affineAnims = gUnknown_08596C90, @@ -276,7 +276,7 @@ const struct SpriteTemplate gUnknown_08596CB0 = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gUnknown_08596BF8, .images = NULL, .affineAnims = gUnknown_08596C90, @@ -287,7 +287,7 @@ const struct SpriteTemplate gUnknown_08596CC8 = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08596C08, .images = NULL, .affineAnims = gUnknown_08596C90, @@ -298,7 +298,7 @@ const struct SpriteTemplate gUnknown_08596CE0 = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, - .oam = &gUnknown_08524974, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gUnknown_08596C00, .images = NULL, .affineAnims = gUnknown_08596C90, diff --git a/src/rom_8034C54.c b/src/rom_8034C54.c index 42817fc2b4..0296965265 100644 --- a/src/rom_8034C54.c +++ b/src/rom_8034C54.c @@ -1,6 +1,6 @@ #include "global.h" #include "rom_8034C54.h" -#include "alloc.h" +#include "malloc.h" #include "decompress.h" #include "main.h" #include "battle_main.h" @@ -189,7 +189,7 @@ static void sub_8034EFC(struct UnkStruct2 *arg0) oamId--; gMain.oamBuffer[oamId].x = arg0->x - arg0->xDelta; - gMain.oamBuffer[oamId].affineMode = 2; + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; gMain.oamBuffer[oamId].tileNum = arg0->tileStart + (arg0->field_9 * 10); } @@ -244,9 +244,9 @@ static void sub_80350B0(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2) } if (arg2) - gMain.oamBuffer[oamId].affineMode = 0; + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; else - gMain.oamBuffer[oamId].affineMode = 2; + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; } static void sub_8035164(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2) @@ -265,14 +265,14 @@ static void sub_8035164(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2) if (r4 != 0 || gUnknown_03000DDC != -1 || r5 == 0) { gMain.oamBuffer[gUnknown_03000DD4].tileNum = (r4 * arg0->field_9) + arg0->tileStart; - gMain.oamBuffer[gUnknown_03000DD4].affineMode = 0; + gMain.oamBuffer[gUnknown_03000DD4].affineMode = ST_OAM_AFFINE_OFF; if (gUnknown_03000DDC == -1) gUnknown_03000DDC = gUnknown_03000DD8; } else { - gMain.oamBuffer[gUnknown_03000DD4].affineMode = 2; + gMain.oamBuffer[gUnknown_03000DD4].affineMode = ST_OAM_AFFINE_ERASE; } gUnknown_03000DD4++; @@ -281,12 +281,12 @@ static void sub_8035164(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2) if (arg2) { - gMain.oamBuffer[gUnknown_03000DD4].affineMode = 0; + gMain.oamBuffer[gUnknown_03000DD4].affineMode = ST_OAM_AFFINE_OFF; gMain.oamBuffer[gUnknown_03000DD4].x = arg0->x + ((gUnknown_03000DDC - 1) * arg0->xDelta); } else { - gMain.oamBuffer[gUnknown_03000DD4].affineMode = 2; + gMain.oamBuffer[gUnknown_03000DD4].affineMode = ST_OAM_AFFINE_ERASE; } } @@ -307,7 +307,7 @@ static void sub_80352C0(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2) { var_28 = 1; gMain.oamBuffer[oamId].tileNum = (r4 * arg0->field_9) + arg0->tileStart; - gMain.oamBuffer[oamId].affineMode = 0; + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; oamId++; r9++; @@ -316,15 +316,15 @@ static void sub_80352C0(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2) while (r9 < arg0->oamCount) { - gMain.oamBuffer[oamId].affineMode = 2; + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; oamId++; r9++; } if (arg2) - gMain.oamBuffer[oamId].affineMode = 0; + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; else - gMain.oamBuffer[oamId].affineMode = 2; + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; } void sub_80353DC(u32 id) @@ -340,7 +340,7 @@ void sub_80353DC(u32 id) oamId = gUnknown_02022E10->array[id].firstOamId; for (i = 0; i < oamCount; i++, oamId++) - gMain.oamBuffer[oamId].affineMode = 2; + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; if (!SharesTileWithAnyActive(id)) FreeSpriteTilesByTag(gUnknown_02022E10->array[id].tileTag); @@ -364,12 +364,12 @@ void sub_803547C(u32 id, bool32 arg1) if (arg1) { for (i = 0; i < oamCount; i++, oamId++) - gMain.oamBuffer[oamId].affineMode = 2; + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; } else { for (i = 0; i < oamCount; i++, oamId++) - gMain.oamBuffer[oamId].affineMode = 0; + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; sub_8035044(id, gUnknown_02022E10->array[id].field_18); } diff --git a/src/rom_81520A8.c b/src/rom_81520A8.c index f068235949..f6d14d49c4 100644 --- a/src/rom_81520A8.c +++ b/src/rom_81520A8.c @@ -1,6 +1,6 @@ #include "global.h" #include "rom_81520A8.h" -#include "alloc.h" +#include "malloc.h" #include "main.h" #include "rom_8034C54.h" diff --git a/src/rotating_gate.c b/src/rotating_gate.c index 44d291dc4c..340fc58dda 100644 --- a/src/rotating_gate.c +++ b/src/rotating_gate.c @@ -233,7 +233,7 @@ static const struct OamData sOamData_RotatingGateLarge = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = 0, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), @@ -250,7 +250,7 @@ static const struct OamData sOamData_RotatingGateRegular = { .y = 0, .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = 0, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), diff --git a/src/rotating_tile_puzzle.c b/src/rotating_tile_puzzle.c new file mode 100644 index 0000000000..7238ec751b --- /dev/null +++ b/src/rotating_tile_puzzle.c @@ -0,0 +1,338 @@ +#include "global.h" +#include "event_object_movement.h" +#include "fieldmap.h" +#include "malloc.h" +#include "rotating_tile_puzzle.h" +#include "script_movement.h" +#include "constants/event_object_movement_constants.h" +#include "constants/event_objects.h" +#include "constants/metatile_labels.h" + +extern const u8 RotatingTilePuzzle_Movement_ShiftRight[]; +extern const u8 RotatingTilePuzzle_Movement_ShiftDown[]; +extern const u8 RotatingTilePuzzle_Movement_ShiftLeft[]; +extern const u8 RotatingTilePuzzle_Movement_ShiftUp[]; +extern const u8 RotatingTilePuzzle_Movement_FaceRight[]; +extern const u8 RotatingTilePuzzle_Movement_FaceDown[]; +extern const u8 RotatingTilePuzzle_Movement_FaceLeft[]; +extern const u8 RotatingTilePuzzle_Movement_FaceUp[]; + +#define ROTATE_COUNTERCLOCKWISE 0 +#define ROTATE_CLOCKWISE 1 +#define ROTATE_NONE 2 + +struct RotatingTileObject +{ + u8 prevPuzzleTileNum; + u8 eventTemplateId; +}; + +struct RotatingTilePuzzle +{ + struct RotatingTileObject objects[EVENT_OBJECTS_COUNT]; + u8 numObjects; + bool8 isTrickHouse; +}; + +// This file's functions. +static void SaveRotatingTileObject(u8 eventTemplateId, u8 arg1); +static void TurnUnsavedRotatingTileObject(u8 eventTemplateId, u8 arg1); + +// EWRAM vars +EWRAM_DATA static struct RotatingTilePuzzle *sRotatingTilePuzzle = NULL; + +// code +void InitRotatingTilePuzzle(bool8 isTrickHouse) +{ + if (sRotatingTilePuzzle == NULL) + sRotatingTilePuzzle = AllocZeroed(sizeof(*sRotatingTilePuzzle)); + + sRotatingTilePuzzle->isTrickHouse = isTrickHouse; +} + +void FreeRotatingTilePuzzle(void) +{ + u8 id; + + if (sRotatingTilePuzzle != NULL) + FREE_AND_SET_NULL(sRotatingTilePuzzle); + + id = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[id]); + ScriptMovement_UnfreezeEventObjects(); +} + +u16 MoveRotatingTileObjects(u8 puzzleNumber) +{ + u8 i; + struct EventObjectTemplate *eventObjects = gSaveBlock1Ptr->eventObjectTemplates; + u16 localId = 0; + + for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++) + { + s32 puzzleTileStart; + u8 puzzleTileNum; + s16 x = eventObjects[i].x + 7; + s16 y = eventObjects[i].y + 7; + u16 metatile = MapGridGetMetatileIdAt(x, y); + + if (!sRotatingTilePuzzle->isTrickHouse) + puzzleTileStart = METATILE_MossdeepGym_YellowArrow_Right; + else + puzzleTileStart = METATILE_TrickHousePuzzle_Arrow_YellowOnWhite_Right; + + // Object is on a metatile before the puzzle tile section + // UB: Because this is not if (metatile < puzzleTileStart), for the trick house (metatile - puzzleTileStart) below can result in casting a negative value to u8 + if (metatile < METATILE_MossdeepGym_YellowArrow_Right) + continue; + + // Object is on a metatile after the puzzle tile section (never occurs, in both cases the puzzle tiles are last) + if ((u8)((metatile - puzzleTileStart) / 8) >= 5) + continue; + + // Object is on a metatile in puzzle tile section, but not one of the currently rotating color + if ((u8)((metatile - puzzleTileStart) / 8) != puzzleNumber) + continue; + + puzzleTileNum = (u8)((metatile - puzzleTileStart) % 8); + + // First 4 puzzle tiles are the colored arrows + if (puzzleTileNum < 4) + { + s8 x = 0; + s8 y = 0; + const u8 *movementScript; + + switch (puzzleTileNum) + { + case 0: // Right Arrow + movementScript = RotatingTilePuzzle_Movement_ShiftRight; + x = 1; + break; + case 1: // Down Arrow + movementScript = RotatingTilePuzzle_Movement_ShiftDown; + y = 1; + break; + case 2: // Left Arrow + movementScript = RotatingTilePuzzle_Movement_ShiftLeft; + x = -1; + break; + case 3: // Up Arrow + movementScript = RotatingTilePuzzle_Movement_ShiftUp; + y = -1; + break; + default: + continue; + } + + eventObjects[i].x += x; + eventObjects[i].y += y; + if (GetEventObjectIdByLocalIdAndMap(eventObjects[i].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup) != EVENT_OBJECTS_COUNT) + { + SaveRotatingTileObject(i, puzzleTileNum); + localId = eventObjects[i].localId; + ScriptMovement_StartObjectMovementScript(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, movementScript); + } + // Never reached in normal gameplay + else + { + TurnUnsavedRotatingTileObject(i, puzzleTileNum); + } + } + } + + return localId; +} + +void TurnRotatingTileObjects(void) +{ + u8 i; + s32 puzzleTileStart; + struct EventObjectTemplate *eventObjects; + + if (sRotatingTilePuzzle == NULL) + return; + + if (!sRotatingTilePuzzle->isTrickHouse) + puzzleTileStart = METATILE_MossdeepGym_YellowArrow_Right; + else + puzzleTileStart = METATILE_TrickHousePuzzle_Arrow_YellowOnWhite_Right; + + eventObjects = gSaveBlock1Ptr->eventObjectTemplates; + for (i = 0; i < sRotatingTilePuzzle->numObjects; i++) + { + s32 rotation; + s8 tileDifference; + u8 eventObjectId; + s16 x = eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].x + 7; + s16 y = eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].y + 7; + u16 metatile = MapGridGetMetatileIdAt(x, y); + + // NOTE: The following 2 assignments and if else could all be replaced with rotation = ROTATE_COUNTERCLOCKWISE + // For an object to be saved in sRotatingTilePuzzle->objects, it must have been on a colored arrow tile + // After the first assignment, tileDifference will always be a number [0-3] representing which arrow tile the object is on now (0: right, 1: down, 2: left, 3: up) + // prevPuzzleTileNum will similarly be a number [0-3] representing the arrow tile the object just moved from + // All the puzzles are oriented counter-clockwise and can only move 1 step at a time, so the difference between the current tile and the previous tile will always either be -1 or 3 (0-1, 1-2, 2-3, 3-0) + // Which means tileDifference will always either be -1 or 3 after the below subtraction, and rotation will always be ROTATE_COUNTERCLOCKWISE after the following conditionals + tileDifference = (u8)((metatile - puzzleTileStart) % 8); + tileDifference -= (sRotatingTilePuzzle->objects[i].prevPuzzleTileNum); + + // Always true, see above + if (tileDifference < 0 || tileDifference == 3) + { + // Always false, see above + if (tileDifference == -3) + rotation = ROTATE_CLOCKWISE; + else + rotation = ROTATE_COUNTERCLOCKWISE; + } + else + { + if (tileDifference > 0) + rotation = ROTATE_CLOCKWISE; + else + rotation = ROTATE_NONE; + } + + eventObjectId = GetEventObjectIdByLocalIdAndMap(eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + if (eventObjectId != EVENT_OBJECTS_COUNT) + { + const u8 *movementScript; + u8 direction = gEventObjects[eventObjectId].facingDirection; + if (rotation == ROTATE_COUNTERCLOCKWISE) + { + switch (direction) + { + case DIR_EAST: + movementScript = RotatingTilePuzzle_Movement_FaceUp; + eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; + break; + case DIR_SOUTH: + movementScript = RotatingTilePuzzle_Movement_FaceRight; + eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; + break; + case DIR_WEST: + movementScript = RotatingTilePuzzle_Movement_FaceDown; + eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; + break; + case DIR_NORTH: + movementScript = RotatingTilePuzzle_Movement_FaceLeft; + eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; + break; + default: + continue; + } + ScriptMovement_StartObjectMovementScript(eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].localId, + gSaveBlock1Ptr->location.mapNum, + gSaveBlock1Ptr->location.mapGroup, + movementScript); + } + // Never reached + else if (rotation == ROTATE_CLOCKWISE) + { + switch (direction) + { + case DIR_EAST: + movementScript = RotatingTilePuzzle_Movement_FaceDown; + eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; + break; + case DIR_SOUTH: + movementScript = RotatingTilePuzzle_Movement_FaceLeft; + eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; + break; + case DIR_WEST: + movementScript = RotatingTilePuzzle_Movement_FaceUp; + eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; + break; + case DIR_NORTH: + movementScript = RotatingTilePuzzle_Movement_FaceRight; + eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; + break; + default: + continue; + } + ScriptMovement_StartObjectMovementScript(eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].localId, + gSaveBlock1Ptr->location.mapNum, + gSaveBlock1Ptr->location.mapGroup, + movementScript); + } + } + } +} + +static void SaveRotatingTileObject(u8 eventTemplateId, u8 puzzleTileNum) +{ + sRotatingTilePuzzle->objects[sRotatingTilePuzzle->numObjects].eventTemplateId = eventTemplateId; + sRotatingTilePuzzle->objects[sRotatingTilePuzzle->numObjects].prevPuzzleTileNum = puzzleTileNum; + sRotatingTilePuzzle->numObjects++; +} + +// Functionally unused +static void TurnUnsavedRotatingTileObject(u8 eventTemplateId, u8 puzzleTileNum) +{ + s8 tileDifference; + s32 rotation; + s32 puzzleTileStart; + u16 movementType; + struct EventObjectTemplate *eventObjects = gSaveBlock1Ptr->eventObjectTemplates; + s16 x = eventObjects[eventTemplateId].x + 7; + s16 y = eventObjects[eventTemplateId].y + 7; + u16 metatile = MapGridGetMetatileIdAt(x, y); + + if (!sRotatingTilePuzzle->isTrickHouse) + puzzleTileStart = METATILE_MossdeepGym_YellowArrow_Right; + else + puzzleTileStart = METATILE_TrickHousePuzzle_Arrow_YellowOnWhite_Right; + + tileDifference = (u8)((metatile - puzzleTileStart) % 8); + tileDifference -= puzzleTileNum; + + if (tileDifference < 0 || tileDifference == 3) + rotation = ROTATE_COUNTERCLOCKWISE; + else if (tileDifference > 0 || tileDifference == -3) + rotation = ROTATE_CLOCKWISE; + else + rotation = ROTATE_NONE; + + movementType = eventObjects[eventTemplateId].movementType; + if (rotation == ROTATE_COUNTERCLOCKWISE) + { + switch (movementType) + { + case MOVEMENT_TYPE_FACE_RIGHT: + eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; + break; + case MOVEMENT_TYPE_FACE_DOWN: + eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; + break; + case MOVEMENT_TYPE_FACE_LEFT: + eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; + break; + case MOVEMENT_TYPE_FACE_UP: + eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; + break; + default: + break; + } + } + else if (rotation == ROTATE_CLOCKWISE) + { + switch (movementType) + { + case MOVEMENT_TYPE_FACE_RIGHT: + eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; + break; + case MOVEMENT_TYPE_FACE_DOWN: + eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; + break; + case MOVEMENT_TYPE_FACE_LEFT: + eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; + break; + case MOVEMENT_TYPE_FACE_UP: + eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; + break; + default: + break; + } + } +} diff --git a/src/roulette.c b/src/roulette.c index 662522aae8..e38da31d0e 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "bg.h" #include "coins.h" #include "decompress.h" @@ -188,18 +188,18 @@ static void sub_8144A24(struct Sprite *); static void sub_8144E60(struct Sprite *); static void sub_8145294(struct Sprite *); -extern const u8 gUnknown_082A5B89[]; -extern const u8 gUnknown_082A5C13[]; -extern const u8 gUnknown_082A5BD7[]; -extern const u8 gUnknown_082A5BCB[]; -extern const u8 gUnknown_082A5BE0[]; -extern const u8 gUnknown_082A5BEF[]; -extern const u8 gUnknown_082A5C21[]; -extern const u8 gUnknown_082A5C61[]; -extern const u8 gUnknown_082A5C04[]; -extern const u8 gUnknown_082A5B12[]; -extern const u8 gUnknown_082A5B6B[]; -extern const u8 gUnknown_082A5B4E[]; +extern const u8 Roulette_Text_ControlsInstruction[]; +extern const u8 Roulette_Text_KeepPlaying[]; +extern const u8 Roulette_Text_Jackpot[]; +extern const u8 Roulette_Text_ItsAHit[]; +extern const u8 Roulette_Text_NothingDoing[]; +extern const u8 Roulette_Text_YouveWonXCoins[]; +extern const u8 Roulette_Text_BoardWillBeCleared[]; +extern const u8 Roulette_Text_CoinCaseIsFull[]; +extern const u8 Roulette_Text_NoCoinsLeft[]; +extern const u8 Roulette_Text_PlayMinimumWagerIsX[]; +extern const u8 Roulette_Text_SpecialRateTable[]; +extern const u8 Roulette_Text_NotEnoughCoins[]; static const u16 gUnknown_085B5BFC[] = INCBIN_U16("graphics/roulette/85B5BFC.gbapal"); static const u32 gUnknown_085B5DFC[] = INCBIN_U32("graphics/roulette/85B5DFC.bin.lz"); @@ -974,7 +974,7 @@ static void sub_81405CC(void) sub_81436D0(0); sub_81424FC(0); DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5B89, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_ControlsInstruction, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); gSpriteCoordOffsetX = -60; gSpriteCoordOffsetY = 0; @@ -1045,7 +1045,7 @@ static void sub_8140914(u8 taskId) { DisplayYesNoMenuDefaultYes(); DrawStdWindowFrame(gUnknown_0203AB8C, 0); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C13, 0, 1, TEXT_SPEED_FF, 0); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_KeepPlaying, 0, 1, TEXT_SPEED_FF, 0); CopyWindowToVram(gUnknown_0203AB8C, 3); DoYesNoFuncWithChoice(taskId, &gUnknown_085B6410); } @@ -1213,7 +1213,7 @@ static void sub_8140D6C(u8 r0) static void sub_8140F6C(u8 r0) { - sub_80EECA4(); + IncrementDailyRouletteUses(); gUnknown_0203AB88->var28 = 0xFF; if (gUnknown_0203AB88->var19 == 1) gUnknown_0203AB88->var23 = 1; @@ -1552,14 +1552,14 @@ static void sub_814189C(u8 taskId) { PlayFanfare(MUS_ME_B_BIG); DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5BD7, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_Jackpot, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); } else { PlayFanfare(MUS_ME_B_SMALL); DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5BCB, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_ItsAHit, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); } break; @@ -1567,7 +1567,7 @@ static void sub_814189C(u8 taskId) default: m4aSongNumStart(SE_HAZURE); DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5BE0, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_NothingDoing, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); break; } @@ -1609,7 +1609,7 @@ static void sub_8141984(u8 taskId) static void sub_8141A18(u8 taskId) { ConvertIntToDecimalStringN(gStringVar1, (gUnknown_0203AB88->var19 * gTasks[taskId].data[2]), STR_CONV_MODE_LEFT_ALIGN, 2); - StringExpandPlaceholders(gStringVar4, gUnknown_082A5BEF); + StringExpandPlaceholders(gStringVar4, Roulette_Text_YouveWonXCoins); DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); @@ -1644,14 +1644,14 @@ static void sub_8141B58(u8 taskId) if (gTasks[taskId].data[6] == 6) { DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C21, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_BoardWillBeCleared, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); sub_8141F7C(taskId, dp01t_12_3_battle_menu, 0xFFFF, 3); } else if (gTasks[taskId].data[13] == 9999) { DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C61, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_CoinCaseIsFull, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); sub_8141F7C(taskId, sub_8140914, 0xFFFF, 0x3); } @@ -1663,7 +1663,7 @@ static void sub_8141B58(u8 taskId) else { DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C04, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_NoCoinsLeft, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); sub_8141F7C(taskId, sub_8140994, 0x3C, 0x3); } @@ -1688,7 +1688,7 @@ static void dp01t_12_3_battle_menu(u8 taskId) if (gTasks[taskId].data[13] == 9999) { DrawStdWindowFrame(gUnknown_0203AB8C, FALSE); - AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C61, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_CoinCaseIsFull, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(gUnknown_0203AB8C, 3); sub_8141F7C(taskId, sub_8140914, 0xFFFF, 3); } @@ -1727,7 +1727,7 @@ static void sub_8141E7C(u8 taskId) // end roulette ? ResetPaletteFade(); ResetSpriteData(); sub_8140418(); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; SetMainCallback2(CB2_ReturnToField); DestroyTask(taskId); } @@ -3121,7 +3121,7 @@ static void sub_81429F0(u8 taskId) { u32 temp = gUnknown_085B6344[(gSpecialVar_0x8004 & 1) + (gSpecialVar_0x8004 >> 7 << 1)]; ConvertIntToDecimalStringN(gStringVar1, temp, STR_CONV_MODE_LEADING_ZEROS, 1); - StringExpandPlaceholders(gStringVar4, gUnknown_082A5B12); + StringExpandPlaceholders(gStringVar4, Roulette_Text_PlayMinimumWagerIsX); DrawStdWindowFrame(0, FALSE); AddTextPrinterParameterized(0, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(0, 3); @@ -3134,19 +3134,19 @@ static void Task_Roulette_0(u8 taskId) s32 temp; PrintCoinsString(gTasks[taskId].data[13]); temp = gUnknown_085B6344[(gSpecialVar_0x8004 & 1) + (gSpecialVar_0x8004 >> 7 << 1)]; - ConvertIntToDecimalStringN(gStringVar1, temp, 2, 1); + ConvertIntToDecimalStringN(gStringVar1, temp, STR_CONV_MODE_LEADING_ZEROS, 1); if (gTasks[taskId].data[13] >= temp) { if ((gSpecialVar_0x8004 & 0x80) && (gSpecialVar_0x8004 & 1)) { DrawStdWindowFrame(0, FALSE); - AddTextPrinterParameterized(0, 1, gUnknown_082A5B6B, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(0, 1, Roulette_Text_SpecialRateTable, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(0, 3); gTasks[taskId].func = sub_81429F0; } else { - StringExpandPlaceholders(gStringVar4, gUnknown_082A5B12); + StringExpandPlaceholders(gStringVar4, Roulette_Text_PlayMinimumWagerIsX); DrawStdWindowFrame(0, FALSE); AddTextPrinterParameterized(0, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(0, 3); @@ -3155,7 +3155,7 @@ static void Task_Roulette_0(u8 taskId) } else { - StringExpandPlaceholders(gStringVar4, gUnknown_082A5B4E); + StringExpandPlaceholders(gStringVar4, Roulette_Text_NotEnoughCoins); DrawStdWindowFrame(0, FALSE); AddTextPrinterParameterized(0, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(0, 3); @@ -4043,7 +4043,7 @@ static void sub_81446DC(struct Sprite *sprite) gUnknown_0203AB88->var3C[55] = CreateSprite(&gSpriteTemplate_85B79F8, 36, -12, 50); gUnknown_0203AB88->var3C[56] = CreateSprite(&gSpriteTemplate_85B7ABC[0], s[sprite->data[0]][0], s[sprite->data[0]][1], 59); gUnknown_0203AB88->var3C[57] = CreateSprite(&gSpriteTemplate_85B7ABC[1], 36, 140, 51); - gSprites[gUnknown_0203AB88->var3C[57]].oam.objMode = 1; + gSprites[gUnknown_0203AB88->var3C[57]].oam.objMode = ST_OAM_OBJ_BLEND; for (i = 0; i < 3; i++) { gSprites[gUnknown_0203AB88->var3C[i + 55]].coordOffsetEnabled = FALSE; diff --git a/src/safari_zone.c b/src/safari_zone.c index 703c3d0cde..e8827e1246 100644 --- a/src/safari_zone.c +++ b/src/safari_zone.c @@ -23,10 +23,10 @@ struct PokeblockFeeder #define NUM_POKEBLOCK_FEEDERS 10 -extern const u8 EventScript_2A4B8A[]; -extern const u8 EventScript_2A4B6F[]; -extern const u8 EventScript_2A4B4C[]; -extern const u8 EventScript_2A4B9B[]; +extern const u8 SafariZone_EventScript_TimesUp[]; +extern const u8 SafariZone_EventScript_RetirePrompt[]; +extern const u8 SafariZone_EventScript_OutOfBallsMidBattle[]; +extern const u8 SafariZone_EventScript_OutOfBalls[]; EWRAM_DATA u8 gNumSafariBalls = 0; EWRAM_DATA static u16 sSafariZoneStepCounter = 0; @@ -83,7 +83,7 @@ bool8 SafariZoneTakeStep(void) sSafariZoneStepCounter--; if (sSafariZoneStepCounter == 0) { - ScriptContext1_SetupScript(EventScript_2A4B8A); + ScriptContext1_SetupScript(SafariZone_EventScript_TimesUp); return TRUE; } return FALSE; @@ -91,7 +91,7 @@ bool8 SafariZoneTakeStep(void) void SafariZoneRetirePrompt(void) { - ScriptContext1_SetupScript(EventScript_2A4B6F); + ScriptContext1_SetupScript(SafariZone_EventScript_RetirePrompt); } void CB2_EndSafariBattle(void) @@ -105,14 +105,14 @@ void CB2_EndSafariBattle(void) } else if (gBattleOutcome == B_OUTCOME_NO_SAFARI_BALLS) { - ScriptContext2_RunNewScript(EventScript_2A4B4C); + ScriptContext2_RunNewScript(SafariZone_EventScript_OutOfBallsMidBattle); WarpIntoMap(); gFieldCallback = sub_80AF6F0; SetMainCallback2(CB2_LoadMap); } else if (gBattleOutcome == B_OUTCOME_CAUGHT) { - ScriptContext1_SetupScript(EventScript_2A4B9B); + ScriptContext1_SetupScript(SafariZone_EventScript_OutOfBalls); ScriptContext1_Stop(); SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } diff --git a/src/save.c b/src/save.c index cdfd2ae1d5..c19aff4d8d 100644 --- a/src/save.c +++ b/src/save.c @@ -14,7 +14,7 @@ #include "constants/game_stat.h" static u16 CalculateChecksum(void *data, u16 size); -static u8 DoReadFlashWholeSection(u8 sector, struct SaveSection *section); +static bool8 DoReadFlashWholeSection(u8 sector, struct SaveSection *section); static u8 GetSaveValidStatus(const struct SaveSectionLocation *location); static u8 sub_8152E10(u16 a1, const struct SaveSectionLocation *location); static u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location); @@ -53,7 +53,7 @@ static u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location); min(sizeof(structure) - chunkNum * SECTOR_DATA_SIZE, SECTOR_DATA_SIZE) \ } \ -const struct SaveSectionOffsets gSaveSectionOffsets[] = +static const struct SaveSectionOffsets sSaveSectionOffsets[] = { SAVEBLOCK_CHUNK(gSaveblock2, 0), @@ -84,9 +84,9 @@ u16 gUnknown_03006208; u16 gSaveUnusedVar; u16 gSaveFileStatus; void (*gGameContinueCallback)(void); -struct SaveSectionLocation gRamSaveSectionLocations[0xE]; +struct SaveSectionLocation gRamSaveSectionLocations[SECTOR_SAVE_SLOT_LENGTH]; u16 gSaveUnusedVar2; -u16 gUnknown_03006294; +u16 gSaveAttemptStatus; EWRAM_DATA struct SaveSection gSaveDataBuffer = {0}; EWRAM_DATA static u8 sUnusedVar = 0; @@ -130,16 +130,16 @@ static bool32 SetDamagedSectorBits(u8 op, u8 bit) return retVal; } -static u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *location) +static u8 SaveWriteToFlash(u16 a1, const struct SaveSectionLocation *location) { - u32 retVal; + u32 status; u16 i; gFastSaveSection = &gSaveDataBuffer; if (a1 != 0xFFFF) // for link { - retVal = HandleWriteSector(a1, location); + status = HandleWriteSector(a1, location); } else { @@ -148,41 +148,41 @@ static u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *location gLastWrittenSector++; gLastWrittenSector = gLastWrittenSector % SECTOR_SAVE_SLOT_LENGTH; // array count save sector locations gSaveCounter++; - retVal = 1; + status = SAVE_STATUS_OK; for (i = 0; i < SECTOR_SAVE_SLOT_LENGTH; i++) HandleWriteSector(i, location); if (gDamagedSaveSectors != 0) // skip the damaged sector. { - retVal = 0xFF; + status = SAVE_STATUS_ERROR; gLastWrittenSector = gLastKnownGoodSector; gSaveCounter = gLastSaveCounter; } } - return retVal; + return status; } -static u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location) +static u8 HandleWriteSector(u16 sectorId, const struct SaveSectionLocation *location) { u16 i; u16 sector; u8 *data; u16 size; - sector = a1 + gLastWrittenSector; + sector = sectorId + gLastWrittenSector; sector %= SECTOR_SAVE_SLOT_LENGTH; sector += SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2); - data = location[a1].data; - size = location[a1].size; + data = location[sectorId].data; + size = location[sectorId].size; // clear save section. for (i = 0; i < sizeof(struct SaveSection); i++) ((char *)gFastSaveSection)[i] = 0; - gFastSaveSection->id = a1; + gFastSaveSection->id = sectorId; gFastSaveSection->security = UNKNOWN_CHECK_VALUE; gFastSaveSection->counter = gSaveCounter; @@ -215,12 +215,12 @@ static u8 TryWriteSector(u8 sector, u8 *data) if (ProgramFlashSectorAndVerify(sector, data) != 0) // is damaged? { SetDamagedSectorBits(ENABLE, sector); // set damaged sector bits. - return 0xFF; + return SAVE_STATUS_ERROR; } else { SetDamagedSectorBits(DISABLE, sector); // unset damaged sector bits. it's safe now. - return 1; + return SAVE_STATUS_OK; } } @@ -247,46 +247,46 @@ static u32 RestoreSaveBackupVars(const struct SaveSectionLocation *location) // return 0; } -static u8 sub_81529D4(u16 a1, const struct SaveSectionLocation *location) +static u8 sub_81529D4(u16 sectorId, const struct SaveSectionLocation *location) { - u8 retVal; + u8 status; - if (gUnknown_03006208 < a1 - 1) + if (gUnknown_03006208 < sectorId - 1) { - retVal = 1; + status = SAVE_STATUS_OK; HandleWriteSector(gUnknown_03006208, location); gUnknown_03006208++; if (gDamagedSaveSectors) { - retVal = 0xFF; + status = SAVE_STATUS_ERROR; gLastWrittenSector = gLastKnownGoodSector; gSaveCounter = gLastSaveCounter; } } else { - retVal = 0xFF; + status = SAVE_STATUS_ERROR; } - return retVal; + return status; } -static u8 sub_8152A34(u16 a1, const struct SaveSectionLocation *location) +static u8 sub_8152A34(u16 sectorId, const struct SaveSectionLocation *location) { - u8 retVal = 1; + u8 status = SAVE_STATUS_OK; - ClearSaveData_2(a1 - 1, location); + ClearSaveData_2(sectorId - 1, location); if (gDamagedSaveSectors) { - retVal = 0xFF; + status = SAVE_STATUS_ERROR; gLastWrittenSector = gLastKnownGoodSector; gSaveCounter = gLastSaveCounter; } - return retVal; + return status; } -static u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location) +static u8 ClearSaveData_2(u16 sectorId, const struct SaveSectionLocation *location) { u16 i; u16 sector; @@ -294,18 +294,18 @@ static u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location) u16 size; u8 status; - sector = a1 + gLastWrittenSector; + sector = sectorId + gLastWrittenSector; sector %= SECTOR_SAVE_SLOT_LENGTH; sector += SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2); - data = location[a1].data; - size = location[a1].size; + data = location[sectorId].data; + size = location[sectorId].size; // clear temp save section. for (i = 0; i < sizeof(struct SaveSection); i++) ((char *)gFastSaveSection)[i] = 0; - gFastSaveSection->id = a1; + gFastSaveSection->id = sectorId; gFastSaveSection->security = UNKNOWN_CHECK_VALUE; gFastSaveSection->counter = gSaveCounter; @@ -318,53 +318,53 @@ static u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location) EraseFlashSector(sector); - status = 1; + status = SAVE_STATUS_OK; for (i = 0; i < sizeof(struct UnkSaveSection); i++) { if (ProgramFlashByte(sector, i, ((u8 *)gFastSaveSection)[i])) { - status = 0xFF; + status = SAVE_STATUS_ERROR; break; } } - if (status == 0xFF) + if (status == SAVE_STATUS_ERROR) { SetDamagedSectorBits(ENABLE, sector); - return 0xFF; + return SAVE_STATUS_ERROR; } else { - status = 1; + status = SAVE_STATUS_OK; for (i = 0; i < 7; i++) { if (ProgramFlashByte(sector, 0xFF9 + i, ((u8 *)gFastSaveSection)[0xFF9 + i])) { - status = 0xFF; + status = SAVE_STATUS_ERROR; break; } } - if (status == 0xFF) + if (status == SAVE_STATUS_ERROR) { SetDamagedSectorBits(ENABLE, sector); - return 0xFF; + return SAVE_STATUS_ERROR; } else { SetDamagedSectorBits(DISABLE, sector); - return 1; + return SAVE_STATUS_OK; } } } -static u8 sav12_xor_get(u16 a1, const struct SaveSectionLocation *location) +static u8 sav12_xor_get(u16 sectorId, const struct SaveSectionLocation *location) { u16 sector; - sector = a1 + gLastWrittenSector; // no sub 1? + sector = sectorId + gLastWrittenSector; // no sub 1? sector %= SECTOR_SAVE_SLOT_LENGTH; sector += SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2); @@ -374,20 +374,20 @@ static u8 sav12_xor_get(u16 a1, const struct SaveSectionLocation *location) SetDamagedSectorBits(ENABLE, sector); gLastWrittenSector = gLastKnownGoodSector; gSaveCounter = gLastSaveCounter; - return 0xFF; + return SAVE_STATUS_ERROR; } else { SetDamagedSectorBits(DISABLE, sector); - return 1; + return SAVE_STATUS_OK; } } -static u8 sub_8152CAC(u16 a1, const struct SaveSectionLocation *location) +static u8 sub_8152CAC(u16 sectorId, const struct SaveSectionLocation *location) { u16 sector; - sector = a1 + gLastWrittenSector - 1; + sector = sectorId + gLastWrittenSector - 1; sector %= SECTOR_SAVE_SLOT_LENGTH; sector += SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2); @@ -397,20 +397,20 @@ static u8 sub_8152CAC(u16 a1, const struct SaveSectionLocation *location) SetDamagedSectorBits(ENABLE, sector); gLastWrittenSector = gLastKnownGoodSector; gSaveCounter = gLastSaveCounter; - return 0xFF; + return SAVE_STATUS_ERROR; } else { SetDamagedSectorBits(DISABLE, sector); - return 1; + return SAVE_STATUS_OK; } } -static u8 sub_8152D44(u16 a1, const struct SaveSectionLocation *location) +static u8 sub_8152D44(u16 sectorId, const struct SaveSectionLocation *location) { u16 sector; - sector = a1 + gLastWrittenSector - 1; // no sub 1? + sector = sectorId + gLastWrittenSector - 1; // no sub 1? sector %= SECTOR_SAVE_SLOT_LENGTH; sector += SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2); @@ -420,30 +420,30 @@ static u8 sub_8152D44(u16 a1, const struct SaveSectionLocation *location) SetDamagedSectorBits(ENABLE, sector); gLastWrittenSector = gLastKnownGoodSector; gSaveCounter = gLastSaveCounter; - return 0xFF; + return SAVE_STATUS_ERROR; } else { SetDamagedSectorBits(DISABLE, sector); - return 1; + return SAVE_STATUS_OK; } } static u8 sub_8152DD0(u16 a1, const struct SaveSectionLocation *location) { - u8 retVal; + u8 status; gFastSaveSection = &gSaveDataBuffer; if (a1 != 0xFFFF) { - retVal = 0xFF; + status = SAVE_STATUS_ERROR; } else { - retVal = GetSaveValidStatus(location); + status = GetSaveValidStatus(location); sub_8152E10(0xFFFF, location); } - return retVal; + return status; } static u8 sub_8152E10(u16 a1, const struct SaveSectionLocation *location) @@ -469,7 +469,7 @@ static u8 sub_8152E10(u16 a1, const struct SaveSectionLocation *location) } } - return 1; + return SAVE_STATUS_OK; } static u8 GetSaveValidStatus(const struct SaveSectionLocation *location) @@ -502,13 +502,13 @@ static u8 GetSaveValidStatus(const struct SaveSectionLocation *location) if (securityPassed) { if (slotCheckField == 0x3FFF) - saveSlot1Status = 1; + saveSlot1Status = SAVE_STATUS_OK; else - saveSlot1Status = 255; + saveSlot1Status = SAVE_STATUS_ERROR; } else { - saveSlot1Status = 0; + saveSlot1Status = SAVE_STATUS_EMPTY; } slotCheckField = 0; @@ -533,16 +533,16 @@ static u8 GetSaveValidStatus(const struct SaveSectionLocation *location) if (securityPassed) { if (slotCheckField == 0x3FFF) - saveSlot2Status = 1; + saveSlot2Status = SAVE_STATUS_OK; else - saveSlot2Status = 255; + saveSlot2Status = SAVE_STATUS_ERROR; } else { - saveSlot2Status = 0; + saveSlot2Status = SAVE_STATUS_EMPTY; } - if (saveSlot1Status == 1 && saveSlot2Status == 1) + if (saveSlot1Status == SAVE_STATUS_OK && saveSlot2Status == SAVE_STATUS_OK) { if ((saveSlot1Counter == -1 && saveSlot2Counter == 0) || (saveSlot1Counter == 0 && saveSlot2Counter == -1)) { @@ -558,42 +558,42 @@ static u8 GetSaveValidStatus(const struct SaveSectionLocation *location) else gSaveCounter = saveSlot1Counter; } - return 1; + return SAVE_STATUS_OK; } - if (saveSlot1Status == 1) + if (saveSlot1Status == SAVE_STATUS_OK) { gSaveCounter = saveSlot1Counter; - if (saveSlot2Status == 255) - return 255; - return 1; + if (saveSlot2Status == SAVE_STATUS_ERROR) + return SAVE_STATUS_ERROR; + return SAVE_STATUS_OK; } - if (saveSlot2Status == 1) + if (saveSlot2Status == SAVE_STATUS_OK) { gSaveCounter = saveSlot2Counter; - if (saveSlot1Status == 255) - return 255; - return 1; + if (saveSlot1Status == SAVE_STATUS_ERROR) + return SAVE_STATUS_ERROR; + return SAVE_STATUS_OK; } - if (saveSlot1Status == 0 && saveSlot2Status == 0) + if (saveSlot1Status == SAVE_STATUS_EMPTY && saveSlot2Status == SAVE_STATUS_EMPTY) { gSaveCounter = 0; gLastWrittenSector = 0; - return 0; + return SAVE_STATUS_EMPTY; } gSaveCounter = 0; gLastWrittenSector = 0; - return 2; + return SAVE_STATUS_CORRUPT; } -static u8 sub_81530DC(u8 a1, u8 *data, u16 size) +static u8 sub_81530DC(u8 sectorId, u8 *data, u16 size) { u16 i; struct SaveSection *section = &gSaveDataBuffer; - DoReadFlashWholeSection(a1, section); + DoReadFlashWholeSection(sectorId, section); if (section->security == UNKNOWN_CHECK_VALUE) { u16 checksum = CalculateChecksum(section->data, size); @@ -601,23 +601,24 @@ static u8 sub_81530DC(u8 a1, u8 *data, u16 size) { for (i = 0; i < size; i++) data[i] = section->data[i]; - return 1; + return SAVE_STATUS_OK; } else { - return 2; + return SAVE_STATUS_CORRUPT; } } else { - return 0; + return SAVE_STATUS_EMPTY; } } -static u8 DoReadFlashWholeSection(u8 sector, struct SaveSection *section) +// Return value always ignored +static bool8 DoReadFlashWholeSection(u8 sector, struct SaveSection *section) { ReadFlash(sector, 0, section->data, sizeof(struct SaveSection)); - return 1; + return TRUE; } static u16 CalculateChecksum(void *data, u16 size) @@ -638,19 +639,19 @@ static void UpdateSaveAddresses(void) { int i = 0; - gRamSaveSectionLocations[i].data = (void*)(gSaveBlock2Ptr) + gSaveSectionOffsets[i].toAdd; - gRamSaveSectionLocations[i].size = gSaveSectionOffsets[i].size; + gRamSaveSectionLocations[i].data = (void*)(gSaveBlock2Ptr) + sSaveSectionOffsets[i].toAdd; + gRamSaveSectionLocations[i].size = sSaveSectionOffsets[i].size; - for (i = 1; i < 5; i++) + for (i = SECTOR_ID_SAVEBLOCK1_START; i <= SECTOR_ID_SAVEBLOCK1_END; i++) { - gRamSaveSectionLocations[i].data = (void*)(gSaveBlock1Ptr) + gSaveSectionOffsets[i].toAdd; - gRamSaveSectionLocations[i].size = gSaveSectionOffsets[i].size; + gRamSaveSectionLocations[i].data = (void*)(gSaveBlock1Ptr) + sSaveSectionOffsets[i].toAdd; + gRamSaveSectionLocations[i].size = sSaveSectionOffsets[i].size; } - for (i = 5; i < 14; i++) + for (i = SECTOR_ID_PKMN_STORAGE_START; i <= SECTOR_ID_PKMN_STORAGE_END; i++) { - gRamSaveSectionLocations[i].data = (void*)(gPokemonStoragePtr) + gSaveSectionOffsets[i].toAdd; - gRamSaveSectionLocations[i].size = gSaveSectionOffsets[i].size; + gRamSaveSectionLocations[i].data = (void*)(gPokemonStoragePtr) + sSaveSectionOffsets[i].toAdd; + gRamSaveSectionLocations[i].size = sSaveSectionOffsets[i].size; i++;i--; // needed to match } @@ -673,36 +674,36 @@ u8 HandleSavingData(u8 saveType) if (GetGameStat(GAME_STAT_ENTERED_HOF) < 999) IncrementGameStat(GAME_STAT_ENTERED_HOF); SaveSerializedGame(); - save_write_to_flash(0xFFFF, gRamSaveSectionLocations); + SaveWriteToFlash(0xFFFF, gRamSaveSectionLocations); tempAddr = gDecompressionBuffer; - HandleWriteSectorNBytes(SECTOR_ID_HOF_1, tempAddr, 0xF80); - HandleWriteSectorNBytes(SECTOR_ID_HOF_2, tempAddr + 0xF80, 0xF80); + HandleWriteSectorNBytes(SECTOR_ID_HOF_1, tempAddr, SECTOR_DATA_SIZE); + HandleWriteSectorNBytes(SECTOR_ID_HOF_2, tempAddr + SECTOR_DATA_SIZE, SECTOR_DATA_SIZE); break; case SAVE_NORMAL: // normal save. also called by overwriting your own save. default: SaveSerializedGame(); - save_write_to_flash(0xFFFF, gRamSaveSectionLocations); + SaveWriteToFlash(0xFFFF, gRamSaveSectionLocations); break; - case SAVE_LINK: // _081532C4 - case SAVE_LINK2: + case SAVE_LINK: // Link and Battle Frontier + case SAVE_LINK2: // Unused SaveSerializedGame(); - for(i = 0; i < 5; i++) + for(i = SECTOR_ID_SAVEBLOCK2; i <= SECTOR_ID_SAVEBLOCK1_END; i++) ClearSaveData_2(i, gRamSaveSectionLocations); - for(i = 0; i < 5; i++) + for(i = SECTOR_ID_SAVEBLOCK2; i <= SECTOR_ID_SAVEBLOCK1_END; i++) sav12_xor_get(i, gRamSaveSectionLocations); break; // Support for Ereader was removed in Emerald. /* case EREADER_SAVE: // used in mossdeep "game corner" before/after battling old man e-reader trainer SaveSerializedGame(); - save_write_to_flash(0, gRamSaveSectionLocations); + SaveWriteToFlash(0, gRamSaveSectionLocations); break; */ case SAVE_OVERWRITE_DIFFERENT_FILE: for (i = SECTOR_ID_HOF_1; i < SECTORS_COUNT; i++) EraseFlashSector(i); // erase HOF. SaveSerializedGame(); - save_write_to_flash(0xFFFF, gRamSaveSectionLocations); + SaveWriteToFlash(0xFFFF, gRamSaveSectionLocations); break; } gTrainerHillVBlankCounter = backupVar; @@ -713,25 +714,25 @@ u8 TrySavingData(u8 saveType) { if (gFlashMemoryPresent != TRUE) { - gUnknown_03006294 = 0xFF; - return 0xFF; + gSaveAttemptStatus = SAVE_STATUS_ERROR; + return SAVE_STATUS_ERROR; } HandleSavingData(saveType); if (!gDamagedSaveSectors) { - gUnknown_03006294 = 1; - return 1; + gSaveAttemptStatus = SAVE_STATUS_OK; + return SAVE_STATUS_OK; } else { DoSaveFailedScreen(saveType); - gUnknown_03006294 = 0xFF; - return 0xFF; + gSaveAttemptStatus = SAVE_STATUS_ERROR; + return SAVE_STATUS_ERROR; } } -bool8 sub_8153380(void) // trade.s save +bool8 sub_8153380(void) // trade.c { if (gFlashMemoryPresent != TRUE) return TRUE; @@ -741,92 +742,92 @@ bool8 sub_8153380(void) // trade.s save return FALSE; } -bool8 sub_81533AC(void) // trade.s save +bool8 sub_81533AC(void) // trade.c { - u8 retVal = sub_81529D4(SECTOR_SAVE_SLOT_LENGTH, gRamSaveSectionLocations); + u8 status = sub_81529D4(SECTOR_SAVE_SLOT_LENGTH, gRamSaveSectionLocations); if (gDamagedSaveSectors) - DoSaveFailedScreen(0); - if (retVal == 0xFF) + DoSaveFailedScreen(SAVE_NORMAL); + if (status == SAVE_STATUS_ERROR) return TRUE; else return FALSE; } -u8 sub_81533E0(void) // trade.s save +bool8 sub_81533E0(void) // trade.c { sub_8152A34(SECTOR_SAVE_SLOT_LENGTH, gRamSaveSectionLocations); if (gDamagedSaveSectors) - DoSaveFailedScreen(0); - return 0; + DoSaveFailedScreen(SAVE_NORMAL); + return FALSE; } -u8 sub_8153408(void) // trade.s save +bool8 sub_8153408(void) // trade.c { sub_8152CAC(SECTOR_SAVE_SLOT_LENGTH, gRamSaveSectionLocations); if (gDamagedSaveSectors) - DoSaveFailedScreen(0); - return 0; + DoSaveFailedScreen(SAVE_NORMAL); + return FALSE; } u8 FullSaveGame(void) { if (gFlashMemoryPresent != TRUE) - return 1; + return TRUE; UpdateSaveAddresses(); SaveSerializedGame(); RestoreSaveBackupVars(gRamSaveSectionLocations); sub_8152A34(gUnknown_03006208 + 1, gRamSaveSectionLocations); - return 0; + return FALSE; } bool8 CheckSaveFile(void) { u8 retVal = FALSE; - u16 val = ++gUnknown_03006208; - if (val <= 4) + u16 sectorId = ++gUnknown_03006208; + if (sectorId <= SECTOR_ID_SAVEBLOCK1_END) { sub_8152A34(gUnknown_03006208 + 1, gRamSaveSectionLocations); - sub_8152D44(val, gRamSaveSectionLocations); + sub_8152D44(sectorId, gRamSaveSectionLocations); } else { - sub_8152D44(val, gRamSaveSectionLocations); + sub_8152D44(sectorId, gRamSaveSectionLocations); retVal = TRUE; } if (gDamagedSaveSectors) - DoSaveFailedScreen(1); + DoSaveFailedScreen(SAVE_LINK); return retVal; } -u8 Save_LoadGameData(u8 a1) +u8 Save_LoadGameData(u8 saveType) { - u8 result; + u8 status; if (gFlashMemoryPresent != TRUE) { - gSaveFileStatus = 4; - return 0xFF; + gSaveFileStatus = SAVE_STATUS_NO_FLASH; + return SAVE_STATUS_ERROR; } UpdateSaveAddresses(); - switch (a1) + switch (saveType) { - case 0: + case SAVE_NORMAL: default: - result = sub_8152DD0(0xFFFF, gRamSaveSectionLocations); + status = sub_8152DD0(0xFFFF, gRamSaveSectionLocations); LoadSerializedGame(); - gSaveFileStatus = result; + gSaveFileStatus = status; gGameContinueCallback = 0; break; - case 3: - result = sub_81530DC(0x1C, gDecompressionBuffer, 0xF80); - if(result == 1) - result = sub_81530DC(0x1D, gDecompressionBuffer + 0xF80, 0xF80); + case SAVE_HALL_OF_FAME: + status = sub_81530DC(SECTOR_ID_HOF_1, gDecompressionBuffer, SECTOR_DATA_SIZE); + if (status == SAVE_STATUS_OK) + status = sub_81530DC(SECTOR_ID_HOF_2, gDecompressionBuffer + SECTOR_DATA_SIZE, SECTOR_DATA_SIZE); break; } - return result; + return status; } u16 sub_815355C(void) @@ -836,7 +837,7 @@ u16 sub_815355C(void) savSection = gFastSaveSection = &gSaveDataBuffer; if (gFlashMemoryPresent != TRUE) - return 0; + return SAVE_STATUS_EMPTY; UpdateSaveAddresses(); GetSaveValidStatus(gRamSaveSectionLocations); v3 = SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2); @@ -849,7 +850,7 @@ u16 sub_815355C(void) savSection->data[12] + savSection->data[13]; } - return 0; + return SAVE_STATUS_EMPTY; } u32 TryReadSpecialSaveSection(u8 sector, u8* dst) @@ -859,17 +860,17 @@ u32 TryReadSpecialSaveSection(u8 sector, u8* dst) u8* savData; if (sector != SECTOR_ID_TRAINER_HILL && sector != SECTOR_ID_RECORDED_BATTLE) - return 0xFF; + return SAVE_STATUS_ERROR; ReadFlash(sector, 0, (u8 *)&gSaveDataBuffer, sizeof(struct SaveSection)); if (*(u32*)(&gSaveDataBuffer.data[0]) != SPECIAL_SECTION_SENTINEL) - return 0xFF; + return SAVE_STATUS_ERROR; // copies whole save section except u32 counter i = 0; size = 0xFFB; savData = &gSaveDataBuffer.data[4]; for (; i <= size; i++) dst[i] = savData[i]; - return 1; + return SAVE_STATUS_OK; } u32 TryWriteSpecialSaveSection(u8 sector, u8* src) @@ -880,7 +881,7 @@ u32 TryWriteSpecialSaveSection(u8 sector, u8* src) void* savDataBuffer; if (sector != SECTOR_ID_TRAINER_HILL && sector != SECTOR_ID_RECORDED_BATTLE) - return 0xFF; + return SAVE_STATUS_ERROR; savDataBuffer = &gSaveDataBuffer; *(u32*)(savDataBuffer) = SPECIAL_SECTION_SENTINEL; @@ -892,8 +893,8 @@ u32 TryWriteSpecialSaveSection(u8 sector, u8* src) for (; i <= size; i++) savData[i] = src[i]; if (ProgramFlashSectorAndVerify(sector, savDataBuffer) != 0) - return 0xFF; - return 1; + return SAVE_STATUS_ERROR; + return SAVE_STATUS_OK; } void sub_8153688(u8 taskId) diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index 6d45370b8f..a2a2acc8d6 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -48,10 +48,10 @@ EWRAM_DATA u8 gSaveFailedUnused2[4] = {0}; static const struct OamData sClockOamData = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, diff --git a/src/save_location.c b/src/save_location.c index 2443b3161b..6bf5eceb02 100644 --- a/src/save_location.c +++ b/src/save_location.c @@ -52,10 +52,10 @@ static const u16 sSaveLocationPokeCenterList[] = MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F, MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F, MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F, - MAP_SINGLE_BATTLE_COLOSSEUM, + MAP_BATTLE_COLOSSEUM_2P, MAP_TRADE_CENTER, MAP_RECORD_CORNER, - MAP_DOUBLE_BATTLE_COLOSSEUM, + MAP_BATTLE_COLOSSEUM_4P, 0xFFFF, }; @@ -118,6 +118,8 @@ void TrySetMapSaveWarpStatus(void) sub_81AFD5C(); } +// Called when receiving the Pokedex +// Only place field_A8 is written (aside from clearing on new game), never read void sub_81AFDA0(void) { gSaveBlock2Ptr->field_A8 |= 0x8000; @@ -129,7 +131,7 @@ void sub_81AFDA0(void) gSaveBlock2Ptr->field_A8 |= 0x8; } -void sub_81AFDD0(void) +void SetChampionSaveWarp(void) { - gSaveBlock2Ptr->specialSaveWarpFlags |= 0x80; + gSaveBlock2Ptr->specialSaveWarpFlags |= CHAMPION_SAVEWARP; } diff --git a/src/scrcmd.c b/src/scrcmd.c index 0326a56a41..0e52f59532 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -27,19 +27,18 @@ #include "event_obj_lock.h" #include "menu.h" #include "money.h" -#include "mossdeep_gym.h" #include "mystery_event_script.h" #include "palette.h" #include "party_menu.h" #include "pokemon_storage_system.h" #include "random.h" #include "overworld.h" +#include "rotating_tile_puzzle.h" #include "rtc.h" #include "script.h" #include "script_menu.h" #include "script_movement.h" #include "script_pokemon_80F8.h" -#include "script_pokemon_81B9.h" #include "shop.h" #include "slot_machine.h" #include "sound.h" @@ -68,7 +67,7 @@ extern const SpecialFunc gSpecials[]; extern const u8 *gStdScripts[]; extern const u8 *gStdScripts_End[]; -void sub_809BDB4(void); +static void CloseBrailleWindow(void); // This is defined in here so the optimizer can't see its value when compiling // script.c. @@ -462,13 +461,13 @@ bool8 ScrCmd_compare_var_to_var(struct ScriptContext *ctx) return FALSE; } +// Note: addvar doesn't support adding from a variable in vanilla. If you were to +// add a VarGet() to the above, make sure you change the `addvar VAR_*, -1` +// in the contest scripts to `subvar VAR_*, 1`, else contests will break. bool8 ScrCmd_addvar(struct ScriptContext *ctx) { u16 *ptr = GetVarPointer(ScriptReadHalfword(ctx)); *ptr += ScriptReadHalfword(ctx); - // Note: addvar doesn't support adding from a variable in vanilla. If you were to - // add a VarGet() to the above, make sure you change the `addvar VAR_0x8006, 65535` - // in the contest scripts to `subvar VAR_0x8006, 1`, else contests will break. return FALSE; } @@ -487,7 +486,7 @@ bool8 ScrCmd_random(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_giveitem(struct ScriptContext *ctx) +bool8 ScrCmd_additem(struct ScriptContext *ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u32 quantity = VarGet(ScriptReadHalfword(ctx)); @@ -496,7 +495,7 @@ bool8 ScrCmd_giveitem(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_takeitem(struct ScriptContext *ctx) +bool8 ScrCmd_removeitem(struct ScriptContext *ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u32 quantity = VarGet(ScriptReadHalfword(ctx)); @@ -531,7 +530,7 @@ bool8 ScrCmd_checkitemtype(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_givepcitem(struct ScriptContext *ctx) +bool8 ScrCmd_addpcitem(struct ScriptContext *ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u16 quantity = VarGet(ScriptReadHalfword(ctx)); @@ -549,7 +548,7 @@ bool8 ScrCmd_checkpcitem(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_givedecoration(struct ScriptContext *ctx) +bool8 ScrCmd_adddecoration(struct ScriptContext *ctx) { u32 decorId = VarGet(ScriptReadHalfword(ctx)); @@ -557,7 +556,7 @@ bool8 ScrCmd_givedecoration(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_takedecoration(struct ScriptContext *ctx) +bool8 ScrCmd_removedecoration(struct ScriptContext *ctx) { u32 decorId = VarGet(ScriptReadHalfword(ctx)); @@ -607,7 +606,7 @@ bool8 ScrCmd_incrementgamestat(struct ScriptContext *ctx) bool8 ScrCmd_animateflash(struct ScriptContext *ctx) { - sub_80B009C(ScriptReadByte(ctx)); + AnimateFlash(ScriptReadByte(ctx)); ScriptContext1_Stop(); return TRUE; } @@ -651,13 +650,14 @@ bool8 ScrCmd_fadescreenswapbuffers(struct ScriptContext *ctx) switch (mode) { - case 1: + case FADE_TO_BLACK: + case FADE_TO_WHITE: default: CpuCopy32(gPlttBufferUnfaded, gPaletteDecompressionBuffer, PLTT_DECOMP_BUFFER_SIZE); FadeScreen(mode, 0); break; - case 0: - case 2: + case FADE_FROM_BLACK: + case FADE_FROM_WHITE: CpuCopy32(gPaletteDecompressionBuffer, gPlttBufferUnfaded, PLTT_DECOMP_BUFFER_SIZE); FadeScreen(mode, 0); break; @@ -810,12 +810,12 @@ bool8 ScrCmd_warpteleport(struct ScriptContext *ctx) u16 y = VarGet(ScriptReadHalfword(ctx)); SetWarpDestination(mapGroup, mapNum, warpId, x, y); - sub_80AF848(); + DoTeleportWarp(); ResetInitialPlayerAvatarState(); return TRUE; } -bool8 ScrCmd_warpD7(struct ScriptContext *ctx) +bool8 ScrCmd_warpmossdeepgym(struct ScriptContext *ctx) { u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); @@ -824,7 +824,7 @@ bool8 ScrCmd_warpD7(struct ScriptContext *ctx) u16 y = VarGet(ScriptReadHalfword(ctx)); SetWarpDestination(mapGroup, mapNum, warpId, x, y); - sub_80AF87C(); + DoMossdeepGymWarp(); ResetInitialPlayerAvatarState(); return TRUE; } @@ -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; } @@ -1468,10 +1468,10 @@ bool8 ScrCmd_hidemonpic(struct ScriptContext *ctx) bool8 ScrCmd_showcontestwinner(struct ScriptContext *ctx) { - u8 v1 = ScriptReadByte(ctx); + u8 contestWinnerId = ScriptReadByte(ctx); + if (contestWinnerId) + SetContestWinnerForPainting(contestWinnerId); - if (v1) - sub_812FDA8(v1); ShowContestWinner(); ScriptContext1_Stop(); return TRUE; @@ -1528,9 +1528,9 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_cmdDA(struct ScriptContext *ctx) +bool8 ScrCmd_closebraillemessage(struct ScriptContext *ctx) { - sub_809BDB4(); + CloseBrailleWindow(); return FALSE; } @@ -1612,10 +1612,10 @@ bool8 ScrCmd_buffermovename(struct ScriptContext *ctx) bool8 ScrCmd_buffernumberstring(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); - u16 v1 = VarGet(ScriptReadHalfword(ctx)); - u8 v2 = CountDigits(v1); + u16 num = VarGet(ScriptReadHalfword(ctx)); + u8 numDigits = CountDigits(num); - ConvertIntToDecimalStringN(sScriptStringVars[stringVarIndex], v1, 0, v2); + ConvertIntToDecimalStringN(sScriptStringVars[stringVarIndex], num, STR_CONV_MODE_LEFT_ALIGN, numDigits); return FALSE; } @@ -1624,7 +1624,7 @@ bool8 ScrCmd_bufferstdstring(struct ScriptContext *ctx) u8 stringVarIndex = ScriptReadByte(ctx); u16 index = VarGet(ScriptReadHalfword(ctx)); - StringCopy(sScriptStringVars[stringVarIndex], gUnknown_0858BAF0[index]); + StringCopy(sScriptStringVars[stringVarIndex], gStdStrings[index]); return FALSE; } @@ -1726,7 +1726,7 @@ bool8 ScrCmd_checkpartymove(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_givemoney(struct ScriptContext *ctx) +bool8 ScrCmd_addmoney(struct ScriptContext *ctx) { u32 amount = ScriptReadWord(ctx); u8 ignore = ScriptReadByte(ctx); @@ -1736,7 +1736,7 @@ bool8 ScrCmd_givemoney(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_takemoney(struct ScriptContext *ctx) +bool8 ScrCmd_removemoney(struct ScriptContext *ctx) { u32 amount = ScriptReadWord(ctx); u8 ignore = ScriptReadByte(ctx); @@ -1930,15 +1930,15 @@ bool8 ScrCmd_setberrytree(struct ScriptContext *ctx) bool8 ScrCmd_getpricereduction(struct ScriptContext *ctx) { - u16 value = VarGet(ScriptReadHalfword(ctx)); + u16 newsKind = VarGet(ScriptReadHalfword(ctx)); - gSpecialVar_Result = GetPriceReduction(value); + gSpecialVar_Result = GetPriceReduction(newsKind); return FALSE; } bool8 ScrCmd_choosecontestmon(struct ScriptContext *ctx) { - sub_81B9404(); + ChooseContestMon(); ScriptContext1_Stop(); return TRUE; } @@ -1946,7 +1946,7 @@ bool8 ScrCmd_choosecontestmon(struct ScriptContext *ctx) bool8 ScrCmd_startcontest(struct ScriptContext *ctx) { - sub_80F840C(); + StartContest(); ScriptContext1_Stop(); return TRUE; } @@ -2127,53 +2127,53 @@ bool8 ScrCmd_checkcoins(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_givecoins(struct ScriptContext *ctx) +bool8 ScrCmd_addcoins(struct ScriptContext *ctx) { u16 coins = VarGet(ScriptReadHalfword(ctx)); - if (GiveCoins(coins) == TRUE) + if (AddCoins(coins) == TRUE) gSpecialVar_Result = 0; else gSpecialVar_Result = 1; return FALSE; } -bool8 ScrCmd_takecoins(struct ScriptContext *ctx) +bool8 ScrCmd_removecoins(struct ScriptContext *ctx) { u16 coins = VarGet(ScriptReadHalfword(ctx)); - if (TakeCoins(coins) == TRUE) + if (RemoveCoins(coins) == TRUE) gSpecialVar_Result = 0; else gSpecialVar_Result = 1; return FALSE; } -bool8 ScrCmd_mossdeepgym1(struct ScriptContext *ctx) +bool8 ScrCmd_moverotatingtileobjects(struct ScriptContext *ctx) { - u16 v1 = VarGet(ScriptReadHalfword(ctx)); + u16 puzzleNumber = VarGet(ScriptReadHalfword(ctx)); - sMovingNpcId = MossdeepGym_MoveEvents(v1); + sMovingNpcId = MoveRotatingTileObjects(puzzleNumber); return FALSE; } -bool8 ScrCmd_mossdeepgym2(struct ScriptContext *ctx) +bool8 ScrCmd_turnrotatingtileobjects(struct ScriptContext *ctx) { - MossdeepGym_TurnEvents(); + TurnRotatingTileObjects(); return FALSE; } -bool8 ScrCmd_mossdeepgym3(struct ScriptContext *ctx) +bool8 ScrCmd_initrotatingtilepuzzle(struct ScriptContext *ctx) { - u16 v1 = VarGet(ScriptReadHalfword(ctx)); + u16 isTrickHouse = VarGet(ScriptReadHalfword(ctx)); - InitMossdeepGymTiles(v1); + InitRotatingTilePuzzle(isTrickHouse); return FALSE; } -bool8 ScrCmd_mossdeepgym4(struct ScriptContext *ctx) +bool8 ScrCmd_freerotatingtilepuzzle(struct ScriptContext *ctx) { - FinishMossdeepGymTiles(); + FreeRotatingTilePuzzle(); return FALSE; } @@ -2218,6 +2218,8 @@ bool8 ScrCmd_checkmonobedience(struct ScriptContext *ctx) return FALSE; } +// TODO: Should be renamed. Name implies general usage, but its specifically for Wonder Card +// See GetSavedRamScriptIfValid, which is NULL if ValidateReceivedWonderCard returns FALSE bool8 ScrCmd_gotoram(struct ScriptContext *ctx) { const u8* v1 = GetSavedRamScriptIfValid(); @@ -2255,7 +2257,7 @@ bool8 ScrCmd_setmonmetlocation(struct ScriptContext *ctx) return FALSE; } -void sub_809BDB4(void) +static void CloseBrailleWindow(void) { ClearStdWindowAndFrame(gBrailleWindowId, 1); RemoveWindow(gBrailleWindowId); @@ -2279,12 +2281,12 @@ bool8 ScrCmd_buffertrainername(struct ScriptContext *ctx) return FALSE; } -void sub_809BE48(u16 npcId) +void SetMovingNpcId(u16 npcId) { sMovingNpcId = npcId; } -bool8 ScrCmd_warpE0(struct ScriptContext *ctx) +bool8 ScrCmd_warpsootopolislegend(struct ScriptContext *ctx) { u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); @@ -2293,7 +2295,7 @@ bool8 ScrCmd_warpE0(struct ScriptContext *ctx) u16 y = VarGet(ScriptReadHalfword(ctx)); SetWarpDestination(mapGroup, mapNum, warpId, x, y); - sub_80AF79C(); + DoSootopolisLegendWarp(); ResetInitialPlayerAvatarState(); return TRUE; } diff --git a/src/script_menu.c b/src/script_menu.c index c1dc2af63c..7afe30080c 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -13,1026 +13,30 @@ #include "strings.h" #include "task.h" #include "text.h" +#include "constants/field_specials.h" #include "constants/items.h" +#include "constants/script_menu.h" #include "constants/songs.h" -// multichoice lists -const struct MenuAction MultichoiceList_000[] = -{ - {gUnknown_085EAD37, NULL}, - {gUnknown_085EAD41, NULL}, - {gText_Exit, NULL}, -}; +#include "data/script_menu.h" -const struct MenuAction MultichoiceList_002[] = -{ - {gUnknown_085EAD67, NULL}, - {gUnknown_085EAD6D, NULL}, - {gText_Exit, NULL}, -}; +static EWRAM_DATA u8 sProcessInputDelay = 0; -const struct MenuAction MultichoiceList_003[] = -{ - {gUnknown_085EAD72, NULL}, - {gUnknown_085EAD84, NULL}, - {gUnknown_085EAD96, NULL}, - {gText_Cancel2, NULL}, -}; +static u8 sLilycoveSSTidalSelections[SSTIDAL_SELECTION_COUNT]; -const struct MenuAction MultichoiceList_004[] = -{ - {gText_CoolnessContest, NULL}, - {gText_BeautyContest, NULL}, - {gText_CutenessContest, NULL}, - {gText_SmartnessContest, NULL}, - {gText_ToughnessContest, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_006[] = -{ - {gUnknown_085EADF9, NULL}, - {gUnknown_085EAE04, NULL}, - {gUnknown_085EAE12, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_005[] = -{ - {gUnknown_085EADF9, NULL}, - {gUnknown_085EAE04, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_007[] = -{ - {gMenuText_Register, NULL}, - {gUnknown_085EAE12, NULL}, - {gUnknown_085EAE1B, NULL}, - {gText_Cancel2, NULL}, -}; - -const struct MenuAction MultichoiceList_012[] = -{ - {gUnknown_085EAE27, NULL}, - {gUnknown_085EAE2C, NULL}, -}; - -const struct MenuAction MultichoiceList_013[] = -{ - {gUnknown_085EAE31, NULL}, - {gUnknown_085EAE35, NULL}, - {gUnknown_085EAE39, NULL}, - {gUnknown_085EAE3D, NULL}, - {gUnknown_085EAE41, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_014[] = -{ - {gUnknown_085EAD5F, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_016[] = -{ - {gUnknown_085EAE53, NULL}, - {gUnknown_085EAE5A, NULL}, -}; - -const struct MenuAction MultichoiceList_020[] = -{ - {gText_Yes, NULL}, - {gText_No, NULL}, - {gUnknown_085EAD6D, NULL}, -}; - -const struct MenuAction MultichoiceList_023[] = -{ - {gUnknown_085EAEA2, NULL}, - {gUnknown_085EAEAC, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_024[] = -{ - {gText_Lv50, NULL}, - {gText_OpenLevel, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_025[] = //Trick House Mechadoll 1, Question 1 -{ - {gTrickHouse_Mechadoll_Oddish, NULL}, - {gTrickHouse_Mechadoll_Poochyena, NULL}, - {gTrickHouse_Mechadoll_Taillow, NULL}, -}; - -const struct MenuAction MultichoiceList_026[] = //Trick House Mechadoll 1, Question 2 -{ - {gTrickHouse_Mechadoll_Azurill, NULL}, - {gTrickHouse_Mechadoll_Lotad, NULL}, - {gTrickHouse_Mechadoll_Wingull, NULL}, -}; - -const struct MenuAction MultichoiceList_027[] = //Trick House Mechadoll 1, Question 3 -{ - {gTrickHouse_Mechadoll_Dustox, NULL}, - {gTrickHouse_Mechadoll_Zubat, NULL}, - {gTrickHouse_Mechadoll_Nincada, NULL}, -}; - -const struct MenuAction MultichoiceList_028[] = //Trick House Mechadoll 2, Question 1 -{ - {gTrickHouse_Mechadoll_Ralts, NULL}, - {gTrickHouse_Mechadoll_Zigzagoon, NULL}, - {gTrickHouse_Mechadoll_Slakoth, NULL}, -}; - -const struct MenuAction MultichoiceList_029[] = //Trick House Mechadoll 2, Question 2 -{ - {gTrickHouse_Mechadoll_Poochyena2, NULL}, - {gTrickHouse_Mechadoll_Shroomish, NULL}, - {gTrickHouse_Mechadoll_Zigzagoon2, NULL}, -}; - -const struct MenuAction MultichoiceList_030[] = //Trick House Mechadoll 2, Question 3 -{ - {gTrickHouse_Mechadoll_Poochyena3, NULL}, - {gTrickHouse_Mechadoll_Zubat2, NULL}, - {gTrickHouse_Mechadoll_Carvanha, NULL}, -}; - -const struct MenuAction MultichoiceList_031[] = //Trick House Mechadoll 3, Question 1 -{ - {gTrickHouse_Mechadoll_BurnHeal, NULL}, - {gTrickHouse_Mechadoll_HarborMail, NULL}, - {gTrickHouse_Mechadoll_SamePrice, NULL}, -}; - -const struct MenuAction MultichoiceList_032[] = //Trick House Mechadoll 3, Question 2 -{ - {gTrickHouse_Mechadoll_60Yen, NULL}, - {gTrickHouse_Mechadoll_55Yen, NULL}, - {gTrickHouse_Mechadoll_Nothing, NULL}, -}; - -const struct MenuAction MultichoiceList_033[] = //Trick House Mechadoll 3, Question 3 -{ - {gTrickHouse_Mechadoll_CostMore, NULL}, - {gTrickHouse_Mechadoll_CostLess, NULL}, - {gTrickHouse_Mechadoll_SamePrice2, NULL}, -}; - -const struct MenuAction MultichoiceList_034[] = //Trick House Mechadoll 4, Question 1 -{ - {gTrickHouse_Mechadoll_Male, NULL}, - {gTrickHouse_Mechadoll_Female, NULL}, - {gTrickHouse_Mechadoll_Neither, NULL}, -}; - -const struct MenuAction MultichoiceList_035[] = //Trick House Mechadoll 4, Question 2 -{ - {gTrickHouse_Mechadoll_ElderlyMen, NULL}, - {gTrickHouse_Mechadoll_ElderlyLadies, NULL}, - {gTrickHouse_Mechadoll_SameNumber, NULL}, -}; - -const struct MenuAction MultichoiceList_036[] = //Trick House Mechadoll 4, Question 3 -{ - {gTrickHouse_Mechadoll_None, NULL}, - {gTrickHouse_Mechadoll_One, NULL}, - {gTrickHouse_Mechadoll_Two, NULL}, -}; - -const struct MenuAction MultichoiceList_037[] = //Trick House Mechadoll 5, Question 1 -{ - {gTrickHouse_Mechadoll_Two2, NULL}, - {gTrickHouse_Mechadoll_Three, NULL}, - {gTrickHouse_Mechadoll_Four, NULL}, -}; - -const struct MenuAction MultichoiceList_038[] = //Trick House Mechadoll 5, Question 2 -{ - {gTrickHouse_Mechadoll_Six, NULL}, - {gTrickHouse_Mechadoll_Seven, NULL}, - {gTrickHouse_Mechadoll_Eight, NULL}, -}; - -const struct MenuAction MultichoiceList_039[] = //Trick House Mechadoll 5, Question 3 -{ - {gTrickHouse_Mechadoll_Six2, NULL}, - {gTrickHouse_Mechadoll_Seven2, NULL}, - {gTrickHouse_Mechadoll_Eight2, NULL}, -}; - -const struct MenuAction MultichoiceList_042[] = -{ - {gUnknown_085EAEC3, NULL}, - {gUnknown_085EAED6, NULL}, - {gUnknown_085EAEE6, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_043[] = -{ - {gUnknown_085EAEF6, NULL}, - {gUnknown_085EAF02, NULL}, - {gUnknown_085EAF0E, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_044[] = -{ - {gUnknown_085EAF1B, NULL}, - {gUnknown_085EAF24, NULL}, - {gUnknown_085EAF2F, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_045[] = -{ - {gUnknown_085EAF34, NULL}, - {gUnknown_085EAF3E, NULL}, -}; - -const struct MenuAction MultichoiceList_046[] = -{ - {gUnknown_085EAF4B, NULL}, - {gUnknown_085EAF58, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_047[] = -{ - {gUnknown_085EAF65, NULL}, - {gUnknown_085EAF70, NULL}, - {gUnknown_085EAF7D, NULL}, - {gUnknown_085EAF87, NULL}, - {gUnknown_085EAF93, NULL}, - {gUnknown_085EAF9F, NULL}, - {gUnknown_085EAFAB, NULL}, - {gText_Cancel2, NULL}, -}; - -const struct MenuAction MultichoiceList_048[] = -{ - {gUnknown_085EAFB6, NULL}, - {gUnknown_085EAFCF, NULL}, - {gUnknown_085EAFE8, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_055[] = -{ - {gUnknown_085EB089, NULL}, - {gUnknown_085EB09C, NULL}, - {gUnknown_085EB0AF, NULL}, - {gUnknown_085EB0C2, NULL}, - {gUnknown_085EB0D5, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_049[] = -{ - {gUnknown_085EB002, NULL}, - {gUnknown_085EB017, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_050[] = -{ - {gUnknown_085EB02A, NULL}, - {gUnknown_085EB034, NULL}, -}; - -const struct MenuAction MultichoiceList_052[] = -{ - {gText_LilycoveCity, NULL}, - {gText_BattleFrontier, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_053[] = -{ - {gText_SlateportCity, NULL}, - {gText_LilycoveCity, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_054[] = -{ - {gUnknown_085EB07E, NULL}, - {gUnknown_085EB084, NULL}, -}; - -const struct MenuAction MultichoiceList_056[] = -{ - {gText_LilycoveCity, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_057[] = -{ - {gText_5F, NULL}, - {gText_4F, NULL}, - {gText_3F, NULL}, - {gText_2F, NULL}, - {gText_1F, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_058[] = -{ - {gUnknown_085EB040, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_059[] = -{ - {gUnknown_085EB04A, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_060[] = -{ - {gUnknown_085EB040, NULL}, - {gUnknown_085EB04A, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_061[] = -{ - {gUnknown_085EB057, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_062[] = -{ - {gUnknown_085EB040, NULL}, - {gUnknown_085EB057, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_063[] = -{ - {gUnknown_085EB04A, NULL}, - {gUnknown_085EB057, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_064[] = -{ - {gUnknown_085EB040, NULL}, - {gUnknown_085EB04A, NULL}, - {gUnknown_085EB057, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_065[] = -{ - {gUnknown_085EB062, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_066[] = -{ - {gUnknown_085EB040, NULL}, - {gUnknown_085EB062, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_067[] = -{ - {gUnknown_085EB04A, NULL}, - {gUnknown_085EB062, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_068[] = -{ - {gUnknown_085EB040, NULL}, - {gUnknown_085EB04A, NULL}, - {gUnknown_085EB062, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_069[] = -{ - {gUnknown_085EB057, NULL}, - {gUnknown_085EB062, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_070[] = -{ - {gUnknown_085EB040, NULL}, - {gUnknown_085EB057, NULL}, - {gUnknown_085EB062, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_071[] = -{ - {gUnknown_085EB04A, NULL}, - {gUnknown_085EB057, NULL}, - {gUnknown_085EB062, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_072[] = -{ - {gUnknown_085EB040, NULL}, - {gUnknown_085EB04A, NULL}, - {gUnknown_085EB057, NULL}, - {gUnknown_085EB062, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_073[] = -{ - {gText_Opponent, NULL}, - {gText_Tourney_Tree, NULL}, - {gText_ReadyToStart, NULL}, - {gUnknown_085EB5BC, NULL}, - {gUnknown_085EB5C3, NULL}, - {gUnknown_085EB5C8, NULL}, -}; - -const struct MenuAction MultichoiceList_107[] = -{ - {gText_Opponent, NULL}, - {gText_Tourney_Tree, NULL}, - {gText_ReadyToStart, NULL}, - {gUnknown_085EB5C3, NULL}, - {gUnknown_085EB5C8, NULL}, -}; - -const struct MenuAction MultichoiceList_088[] = -{ - {gUnknown_085EB29A, NULL}, - {gUnknown_085EB2A3, NULL}, -}; - -const struct MenuAction MultichoiceList_076[] = -{ - {gUnknown_085EB372, NULL}, - {gUnknown_085EB37F, NULL}, - {gUnknown_085EB389, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_017[] = -{ - {gText_Yes, NULL}, - {gText_No, NULL}, - {gUnknown_085EAD6D, NULL}, -}; - -const struct MenuAction MultichoiceList_018[] = -{ - {gUnknown_085EAE6E, NULL}, - {gUnknown_085EAE7C, NULL}, - {gUnknown_085EAE8A, NULL}, - {gUnknown_085EAD6D, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_078[] = -{ - {gUnknown_085EB372, NULL}, - {gUnknown_085EB37F, NULL}, - {gUnknown_085EB397, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_079[] = -{ - {gUnknown_085EB372, NULL}, - {gUnknown_085EB37F, NULL}, - {gUnknown_085EB389, NULL}, - {gUnknown_085EB397, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_074[] = -{ - {gUnknown_085EB372, NULL}, - {gUnknown_085EB37F, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_080[] = -{ - {gUnknown_085EB3A4, NULL}, - {gUnknown_085EB3B1, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_081[] = -{ - {gUnknown_085EB3D4, NULL}, - {gUnknown_085EB3C6, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_082[] = -{ - {gText_NormalRank, NULL}, - {gText_SuperRank, NULL}, - {gText_HyperRank, NULL}, - {gText_MasterRank, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_083[] = -{ - {gText_BattleBag, NULL}, - {gText_HeldItem, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_084[] = -{ - {gText_LinkContest, NULL}, - {gText_AboutE_Mode, NULL}, - {gText_AboutG_Mode, NULL}, - {gText_Cancel2, NULL}, -}; - -const struct MenuAction MultichoiceList_085[] = -{ - {gText_E_Mode, NULL}, - {gText_G_Mode, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_086[] = -{ - {gText_MenuOptionPokedex, NULL}, - {gText_MenuOptionPokemon, NULL}, - {gText_MenuOptionBag, NULL}, - {gText_MenuOptionPokenav, NULL}, - {gUnknown_085EB278, NULL}, - {gText_MenuOptionSave, NULL}, - {gText_MenuOptionOption, NULL}, - {gText_MenuOptionExit, NULL}, -}; - -const struct MenuAction MultichoiceList_087[] = -{ - {gUnknown_085EB28A, NULL}, - {gUnknown_085EB290, NULL}, - {gUnknown_085EB295, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_089[] = -{ - {gText_SouthernIsland, NULL}, - {gText_BirthIsland, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_090[] = -{ - {gText_SouthernIsland, NULL}, - {gText_FarawayIsland, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_091[] = -{ - {gText_BirthIsland, NULL}, - {gText_FarawayIsland, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_092[] = -{ - {gText_SouthernIsland, NULL}, - {gText_BirthIsland, NULL}, - {gText_FarawayIsland, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_093[] = -{ - {gUnknown_085EB2E4, NULL}, - {gUnknown_085EB2F0, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_094[] = -{ - {gText_Yes, NULL}, - {gUnknown_085EB2FC, NULL}, -}; - -const struct MenuAction MultichoiceList_095[] = -{ - {gUnknown_085EB3DF, NULL}, - {gUnknown_085EB3EA, NULL}, - {gUnknown_085EB3F1, NULL}, - {gUnknown_085EB3FC, NULL}, - {gUnknown_085EB40A, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_011[] = -{ - {gUnknown_085EB415, NULL}, - {gUnknown_085EB41D, NULL}, - {gUnknown_085EB424, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_096[] = -{ - {gUnknown_085EB45C, NULL}, - {gUnknown_085EB469, NULL}, - {gUnknown_085EB475, NULL}, - {gUnknown_085EB482, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_097[] = -{ - {gUnknown_085EB42F, NULL}, - {gUnknown_085EB43A, NULL}, - {gUnknown_085EB444, NULL}, - {gUnknown_085EB451, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_098[] = -{ - {gUnknown_085EB48E, NULL}, - {gUnknown_085EB496, NULL}, - {gUnknown_085EB4A3, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_099[] = -{ - {gUnknown_085EB4AD, NULL}, - {gUnknown_085EB4B9, NULL}, - {gUnknown_085EB4C7, NULL}, - {gUnknown_085EB4D4, NULL}, - {gUnknown_085EB4E0, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_100[] = -{ - {gText_BattleBasics, NULL}, - {gText_PokemonNature, NULL}, - {gText_PokemonMoves, NULL}, - {gText_Underpowered, NULL}, - {gText_WhenInDanger, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_101[] = -{ - {gUnknown_085EB532, NULL}, - {gUnknown_085EB543, NULL}, - {gUnknown_085EB555, NULL}, - {gUnknown_085EB563, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_102[] = -{ - {gUnknown_085EB56E, NULL}, - {gUnknown_085EB57E, NULL}, - {gUnknown_085EB589, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_103[] = -{ - {gUnknown_085EB5B6, NULL}, - {gUnknown_085EB5BC, NULL}, - {gUnknown_085EB5C3, NULL}, - {gUnknown_085EB5C8, NULL}, -}; - -const struct MenuAction MultichoiceList_104[] = -{ - {gUnknown_085EB5B6, NULL}, - {gUnknown_085EB5C3, NULL}, - {gUnknown_085EB5C8, NULL}, -}; - -const struct MenuAction MultichoiceList_105[] = -{ - {gUnknown_085EB5B6, NULL}, - {gUnknown_085EB5BC, NULL}, - {gUnknown_085EB5C8, NULL}, -}; - -const struct MenuAction MultichoiceList_106[] = -{ - {gUnknown_085EB5B6, NULL}, - {gUnknown_085EB5C8, NULL}, -}; - -const struct MenuAction MultichoiceList_108[] = -{ - {gUnknown_085EE14B, NULL}, - {gUnknown_085EE14F, NULL}, -}; - -const struct MenuAction MultichoiceList_109[] = -{ - {gUnknown_085EB2FF, NULL}, - {gUnknown_085EB310, NULL}, - {gUnknown_085EB317, NULL}, - {gUnknown_085EB31F, NULL}, -}; - -const struct MenuAction MultichoiceList_110[] = -{ - {gText_CaveOfOrigin, NULL}, - {gText_MtPyre, NULL}, - {gText_SkyPillar, NULL}, - {gText_DontRemember, NULL}, -}; - -const struct MenuAction MultichoiceList_111[] = -{ - {gUnknown_085EB4AD, NULL}, - {gUnknown_085EB4B9, NULL}, - {gUnknown_085EB4C7, NULL}, - {gUnknown_085EB4D4, NULL}, - {gUnknown_085EB597, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_112[] = -{ - {gText_BattleTrainers, NULL}, - {gUnknown_085EB45C, NULL}, - {gUnknown_085EB469, NULL}, - {gUnknown_085EB475, NULL}, - {gUnknown_085EB482, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_113[] = -{ - {gText_NormalTagMatch, NULL}, - {gText_VarietyTagMatch, NULL}, - {gText_UniqueTagMatch, NULL}, - {gText_ExpertTagMatch, NULL}, - {gText_Exit, NULL}, -}; - -const struct MenuAction MultichoiceList_001[] = -{ - {gText_Exit, NULL}, -}; - -struct MultichoiceListStruct -{ - const struct MenuAction *list; - u8 count; -}; - -const struct MultichoiceListStruct gMultichoiceLists[] = -{ - {MultichoiceList_000, ARRAY_COUNT(MultichoiceList_000)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_002, ARRAY_COUNT(MultichoiceList_002)}, - {MultichoiceList_003, ARRAY_COUNT(MultichoiceList_003)}, - {MultichoiceList_004, ARRAY_COUNT(MultichoiceList_004)}, - {MultichoiceList_005, ARRAY_COUNT(MultichoiceList_005)}, - {MultichoiceList_006, ARRAY_COUNT(MultichoiceList_006)}, - {MultichoiceList_007, ARRAY_COUNT(MultichoiceList_007)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_011, ARRAY_COUNT(MultichoiceList_011)}, - {MultichoiceList_012, ARRAY_COUNT(MultichoiceList_012)}, - {MultichoiceList_013, ARRAY_COUNT(MultichoiceList_013)}, - {MultichoiceList_014, ARRAY_COUNT(MultichoiceList_014)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_016, ARRAY_COUNT(MultichoiceList_016)}, - {MultichoiceList_017, ARRAY_COUNT(MultichoiceList_017)}, - {MultichoiceList_018, ARRAY_COUNT(MultichoiceList_018)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_020, ARRAY_COUNT(MultichoiceList_020)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_023, ARRAY_COUNT(MultichoiceList_023)}, - {MultichoiceList_024, ARRAY_COUNT(MultichoiceList_024)}, - {MultichoiceList_025, ARRAY_COUNT(MultichoiceList_025)}, - {MultichoiceList_026, ARRAY_COUNT(MultichoiceList_026)}, - {MultichoiceList_027, ARRAY_COUNT(MultichoiceList_027)}, - {MultichoiceList_028, ARRAY_COUNT(MultichoiceList_028)}, - {MultichoiceList_029, ARRAY_COUNT(MultichoiceList_029)}, - {MultichoiceList_030, ARRAY_COUNT(MultichoiceList_030)}, - {MultichoiceList_031, ARRAY_COUNT(MultichoiceList_031)}, - {MultichoiceList_032, ARRAY_COUNT(MultichoiceList_032)}, - {MultichoiceList_033, ARRAY_COUNT(MultichoiceList_033)}, - {MultichoiceList_034, ARRAY_COUNT(MultichoiceList_034)}, - {MultichoiceList_035, ARRAY_COUNT(MultichoiceList_035)}, - {MultichoiceList_036, ARRAY_COUNT(MultichoiceList_036)}, - {MultichoiceList_037, ARRAY_COUNT(MultichoiceList_037)}, - {MultichoiceList_038, ARRAY_COUNT(MultichoiceList_038)}, - {MultichoiceList_039, ARRAY_COUNT(MultichoiceList_039)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_042, ARRAY_COUNT(MultichoiceList_042)}, - {MultichoiceList_043, ARRAY_COUNT(MultichoiceList_043)}, - {MultichoiceList_044, ARRAY_COUNT(MultichoiceList_044)}, - {MultichoiceList_045, ARRAY_COUNT(MultichoiceList_045)}, - {MultichoiceList_046, ARRAY_COUNT(MultichoiceList_046)}, - {MultichoiceList_047, ARRAY_COUNT(MultichoiceList_047)}, - {MultichoiceList_048, ARRAY_COUNT(MultichoiceList_048)}, - {MultichoiceList_049, ARRAY_COUNT(MultichoiceList_049)}, - {MultichoiceList_050, ARRAY_COUNT(MultichoiceList_050)}, - {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)}, - {MultichoiceList_052, ARRAY_COUNT(MultichoiceList_052)}, - {MultichoiceList_053, ARRAY_COUNT(MultichoiceList_053)}, - {MultichoiceList_054, ARRAY_COUNT(MultichoiceList_054)}, - {MultichoiceList_055, ARRAY_COUNT(MultichoiceList_055)}, - {MultichoiceList_056, ARRAY_COUNT(MultichoiceList_056)}, - {MultichoiceList_057, ARRAY_COUNT(MultichoiceList_057)}, - {MultichoiceList_058, ARRAY_COUNT(MultichoiceList_058)}, - {MultichoiceList_059, ARRAY_COUNT(MultichoiceList_059)}, - {MultichoiceList_060, ARRAY_COUNT(MultichoiceList_060)}, - {MultichoiceList_061, ARRAY_COUNT(MultichoiceList_061)}, - {MultichoiceList_062, ARRAY_COUNT(MultichoiceList_062)}, - {MultichoiceList_063, ARRAY_COUNT(MultichoiceList_063)}, - {MultichoiceList_064, ARRAY_COUNT(MultichoiceList_064)}, - {MultichoiceList_065, ARRAY_COUNT(MultichoiceList_065)}, - {MultichoiceList_066, ARRAY_COUNT(MultichoiceList_066)}, - {MultichoiceList_067, ARRAY_COUNT(MultichoiceList_067)}, - {MultichoiceList_068, ARRAY_COUNT(MultichoiceList_068)}, - {MultichoiceList_069, ARRAY_COUNT(MultichoiceList_069)}, - {MultichoiceList_070, ARRAY_COUNT(MultichoiceList_070)}, - {MultichoiceList_071, ARRAY_COUNT(MultichoiceList_071)}, - {MultichoiceList_072, ARRAY_COUNT(MultichoiceList_072)}, - {MultichoiceList_073, ARRAY_COUNT(MultichoiceList_073)}, - {MultichoiceList_074, ARRAY_COUNT(MultichoiceList_074)}, - {MultichoiceList_074, ARRAY_COUNT(MultichoiceList_074)}, - {MultichoiceList_076, ARRAY_COUNT(MultichoiceList_076)}, - {MultichoiceList_076, ARRAY_COUNT(MultichoiceList_076)}, - {MultichoiceList_078, ARRAY_COUNT(MultichoiceList_078)}, - {MultichoiceList_079, ARRAY_COUNT(MultichoiceList_079)}, - {MultichoiceList_080, ARRAY_COUNT(MultichoiceList_080)}, - {MultichoiceList_081, ARRAY_COUNT(MultichoiceList_081)}, - {MultichoiceList_082, ARRAY_COUNT(MultichoiceList_082)}, - {MultichoiceList_083, ARRAY_COUNT(MultichoiceList_083)}, - {MultichoiceList_084, ARRAY_COUNT(MultichoiceList_084)}, - {MultichoiceList_085, ARRAY_COUNT(MultichoiceList_085)}, - {MultichoiceList_086, ARRAY_COUNT(MultichoiceList_086)}, - {MultichoiceList_087, ARRAY_COUNT(MultichoiceList_087)}, - {MultichoiceList_088, ARRAY_COUNT(MultichoiceList_088)}, - {MultichoiceList_089, ARRAY_COUNT(MultichoiceList_089)}, - {MultichoiceList_090, ARRAY_COUNT(MultichoiceList_090)}, - {MultichoiceList_091, ARRAY_COUNT(MultichoiceList_091)}, - {MultichoiceList_092, ARRAY_COUNT(MultichoiceList_092)}, - {MultichoiceList_093, ARRAY_COUNT(MultichoiceList_093)}, - {MultichoiceList_094, ARRAY_COUNT(MultichoiceList_094)}, - {MultichoiceList_095, ARRAY_COUNT(MultichoiceList_095)}, - {MultichoiceList_096, ARRAY_COUNT(MultichoiceList_096)}, - {MultichoiceList_097, ARRAY_COUNT(MultichoiceList_097)}, - {MultichoiceList_098, ARRAY_COUNT(MultichoiceList_098)}, - {MultichoiceList_099, ARRAY_COUNT(MultichoiceList_099)}, - {MultichoiceList_100, ARRAY_COUNT(MultichoiceList_100)}, - {MultichoiceList_101, ARRAY_COUNT(MultichoiceList_101)}, - {MultichoiceList_102, ARRAY_COUNT(MultichoiceList_102)}, - {MultichoiceList_103, ARRAY_COUNT(MultichoiceList_103)}, - {MultichoiceList_104, ARRAY_COUNT(MultichoiceList_104)}, - {MultichoiceList_105, ARRAY_COUNT(MultichoiceList_105)}, - {MultichoiceList_106, ARRAY_COUNT(MultichoiceList_106)}, - {MultichoiceList_107, ARRAY_COUNT(MultichoiceList_107)}, - {MultichoiceList_108, ARRAY_COUNT(MultichoiceList_108)}, - {MultichoiceList_109, ARRAY_COUNT(MultichoiceList_109)}, - {MultichoiceList_110, ARRAY_COUNT(MultichoiceList_110)}, - {MultichoiceList_111, ARRAY_COUNT(MultichoiceList_111)}, - {MultichoiceList_112, ARRAY_COUNT(MultichoiceList_112)}, - {MultichoiceList_113, ARRAY_COUNT(MultichoiceList_113)}, -}; - -const u8 *const gUnknown_0858BAF0[] = -{ - gText_Cool, - gText_Beauty, - gText_Cute, - gText_Smart, - gText_Tough, - gText_Normal, - gText_Super, - gText_Hyper, - gText_Master, - gText_Cool2, - gText_Beauty2, - gText_Cute2, - gText_Smart2, - gText_Tough2, - gText_Items, - gText_Key_Items, - gText_Poke_Balls, - gText_TMs_Hms, - gText_Berries2, - gText_Single2, - gText_Double2, - gText_Multi, - gText_MultiLink, - gText_BattleTower2, - gText_BattleDome, - gText_BattleFactory, - gText_BattlePalace, - gText_BattleArena, - gText_BattlePike, - gText_BattlePyramid, -}; - -const u8 gUnknown_0858BB68[] = { 74, 75, 76, 77, 78, 79 }; - -const u8 *const sPCNameStrings[] = -{ - gText_SomeonesPC, - gText_LanettesPC, - gText_PlayersPC, - gText_LogOff, -}; - -const u8 *const gUnknown_0858BB80[] = -{ - gText_SlateportCity, - gText_BattleFrontier, - gText_SouthernIsland, - gText_NavelRock, - gText_BirthIsland, - gText_FarawayIsland, - gText_Exit, -}; - -const u8 *const gUnknown_0858BB9C[] = -{ - OldaleTown_PokemonCenter_2F_Text_277F1B, - OldaleTown_PokemonCenter_2F_Text_277F5A, - OldaleTown_PokemonCenter_2F_Text_277F96, - OldaleTown_PokemonCenter_2F_Text_27889C, -}; -const u8 *const gUnknown_0858BBAC[] = -{ - OldaleTown_PokemonCenter_2F_Text_27879F, - OldaleTown_PokemonCenter_2F_Text_2787D5, - OldaleTown_PokemonCenter_2F_Text_278831, - OldaleTown_PokemonCenter_2F_Text_27889C, -}; -const u8 *const gUnknown_0858BBBC[] = -{ - OldaleTown_PokemonCenter_2F_Text_27879F, - OldaleTown_PokemonCenter_2F_Text_2787D5, - OldaleTown_PokemonCenter_2F_Text_2787FC, - OldaleTown_PokemonCenter_2F_Text_27889C, -}; -const u8 *const gUnknown_0858BBCC[] = -{ - OldaleTown_PokemonCenter_2F_Text_27879F, - OldaleTown_PokemonCenter_2F_Text_2787D5, - OldaleTown_PokemonCenter_2F_Text_278831, - OldaleTown_PokemonCenter_2F_Text_2787FC, - OldaleTown_PokemonCenter_2F_Text_27889C, -}; -const u8 *const gUnknown_0858BBE0[] = -{ - OldaleTown_PokemonCenter_2F_Text_277F1B, - OldaleTown_PokemonCenter_2F_Text_277F5A, - OldaleTown_PokemonCenter_2F_Text_27889C, -}; -const u8 *const gUnknown_0858BBEC[] = -{ - OldaleTown_PokemonCenter_2F_Text_27879F, - OldaleTown_PokemonCenter_2F_Text_2787D5, - OldaleTown_PokemonCenter_2F_Text_27889C, -}; - -EWRAM_DATA u8 gUnknown_02039F90 = 0; - -static u8 gUnknown_03001124[7]; -static u32 filler_0300112c; - -static void Task_HandleMultichoiceInput(u8); -static void Task_HandleYesNoInput(u8); -static void Task_HandleMultichoiceGridInput(u8); -static void DrawMultichoiceMenu(u8, u8, u8, bool8, u8); -static void sub_80E1FBC(u8, u8, u8, u8); -static void sub_80E2A94(u8); -static void CreatePCMenu(void); -static void sub_80E2578(void); +static void Task_HandleMultichoiceInput(u8 taskId); +static void Task_HandleYesNoInput(u8 taskId); +static void Task_HandleMultichoiceGridInput(u8 taskId); +static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 cursorPos); +static void InitMultichoiceCheckWrap(bool8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId); +static void DrawLinkServicesMultichoiceMenu(u8 multichoiceId); +static void CreatePCMultichoice(void); +static void CreateLilycoveSSTidalMultichoice(void); static bool8 IsPicboxClosed(void); -static void CreateStartMenu(void); -static void sub_80E2CC4(u8, u8, u8, u8); +static void CreateStartMenuForPokenavTutorial(void); +static void InitMultichoiceNoWrap(bool8 ignoreBPress, u8 unusedCount, u8 windowId, u8 multichoiceId); -bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress) +bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress) { if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE) { @@ -1060,7 +64,8 @@ bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 multichoiceId, bool8 } } -static u16 sub_80E1EB8(const u8 *str) +// Unused +static u16 GetLengthWithExpandedPlayerName(const u8 *str) { u16 length = 0; @@ -1069,7 +74,7 @@ static u16 sub_80E1EB8(const u8 *str) if (*str == PLACEHOLDER_BEGIN) { str++; - if (*str == 1) + if (*str == PLACEHOLDER_ID_PLAYER) { length += StringLength(gSaveBlock2Ptr->playerName); str++; @@ -1085,28 +90,28 @@ static u16 sub_80E1EB8(const u8 *str) return length; } -static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress, u8 cursorPos) +static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 cursorPos) { int i; u8 windowId; - u8 count = gMultichoiceLists[multichoiceId].count; - const struct MenuAction *actions = gMultichoiceLists[multichoiceId].list; + u8 count = sMultichoiceLists[multichoiceId].count; + const struct MenuAction *actions = sMultichoiceLists[multichoiceId].list; int width = 0; u8 newWidth; for (i = 0; i < count; i++) { - width = display_text_and_get_width(actions[i].text, width); + width = DisplayTextAndGetWidth(actions[i].text, width); } - newWidth = convert_pixel_width_to_tile_width(width); - left = sub_80E2D5C(left, newWidth); + newWidth = ConvertPixelWidthToTileWidth(width); + left = ScriptMenu_AdjustLeftCoordFromWidth(left, newWidth); windowId = CreateWindowFromRect(left, top, newWidth, count * 2); SetStandardWindowBorderStyle(windowId, 0); PrintMenuTable(windowId, count, actions); InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, count, cursorPos); schedule_bg_copy_tilemap_to_vram(0); - sub_80E1FBC(ignoreBPress, count, windowId, multichoiceId); + InitMultichoiceCheckWrap(ignoreBPress, count, windowId, multichoiceId); } #define tLeft data[0] @@ -1118,17 +123,17 @@ static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPre #define tWindowId data[6] #define tMultichoiceId data[7] -static void sub_80E1FBC(u8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId) +static void InitMultichoiceCheckWrap(bool8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId) { u8 i; u8 taskId; - gUnknown_02039F90 = 2; + sProcessInputDelay = 2; - for (i = 0; i < 6; i++) + for (i = 0; i < ARRAY_COUNT(sLinkServicesMultichoiceIds); i++) { - if (gUnknown_0858BB68[i] == multichoiceId) + if (sLinkServicesMultichoiceIds[i] == multichoiceId) { - gUnknown_02039F90 = 12; + sProcessInputDelay = 12; } } @@ -1144,7 +149,7 @@ static void sub_80E1FBC(u8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId gTasks[taskId].tWindowId = windowId; gTasks[taskId].tMultichoiceId = multichoiceId; - sub_80E2A94(multichoiceId); + DrawLinkServicesMultichoiceMenu(multichoiceId); } static void Task_HandleMultichoiceInput(u8 taskId) @@ -1154,9 +159,9 @@ static void Task_HandleMultichoiceInput(u8 taskId) if (!gPaletteFade.active) { - if (gUnknown_02039F90) + if (sProcessInputDelay) { - gUnknown_02039F90--; + sProcessInputDelay--; } else { @@ -1167,7 +172,7 @@ static void Task_HandleMultichoiceInput(u8 taskId) if (gMain.newKeys & (DPAD_UP | DPAD_DOWN)) { - sub_80E2A94(tMultichoiceId); + DrawLinkServicesMultichoiceMenu(tMultichoiceId); } if (selection != MENU_NOTHING_CHOSEN) @@ -1177,7 +182,7 @@ static void Task_HandleMultichoiceInput(u8 taskId) if (tIgnoreBPress) return; PlaySE(SE_SELECT); - gSpecialVar_Result = 127; + gSpecialVar_Result = MULTI_B_PRESSED; } else { @@ -1208,7 +213,7 @@ bool8 ScriptMenu_YesNo(u8 left, u8 top) } } -// unused +// Unused bool8 IsScriptActive(void) { if (gSpecialVar_Result == 0xFF) @@ -1243,7 +248,7 @@ static void Task_HandleYesNoInput(u8 taskId) EnableBothScriptContexts(); } -bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress, u8 columnCount) +bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 columnCount) { if (FuncIsActiveTask(Task_HandleMultichoiceGridInput) == TRUE) { @@ -1258,22 +263,22 @@ bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPr gSpecialVar_Result = 0xFF; width = 0; - for (i = 0; i < gMultichoiceLists[multichoiceId].count; i++) + for (i = 0; i < sMultichoiceLists[multichoiceId].count; i++) { - width = display_text_and_get_width(gMultichoiceLists[multichoiceId].list[i].text, width); + width = DisplayTextAndGetWidth(sMultichoiceLists[multichoiceId].list[i].text, width); } - newWidth = convert_pixel_width_to_tile_width(width); + newWidth = ConvertPixelWidthToTileWidth(width); - left = sub_80E2D5C(left, columnCount * newWidth); - rowCount = gMultichoiceLists[multichoiceId].count / columnCount; + left = ScriptMenu_AdjustLeftCoordFromWidth(left, columnCount * newWidth); + rowCount = sMultichoiceLists[multichoiceId].count / columnCount; taskId = CreateTask(Task_HandleMultichoiceGridInput, 80); gTasks[taskId].tIgnoreBPress = ignoreBPress; gTasks[taskId].tWindowId = CreateWindowFromRect(left, top, columnCount * newWidth, rowCount * 2); SetStandardWindowBorderStyle(gTasks[taskId].tWindowId, 0); - PrintMenuGridTable(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, gMultichoiceLists[multichoiceId].list); + PrintMenuGridTable(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, sMultichoiceLists[multichoiceId].list); sub_8199944(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, 0); CopyWindowToVram(gTasks[taskId].tWindowId, 3); return TRUE; @@ -1293,7 +298,7 @@ static void Task_HandleMultichoiceGridInput(u8 taskId) if (tIgnoreBPress) return; PlaySE(SE_SELECT); - gSpecialVar_Result = 0x7F; + gSpecialVar_Result = MULTI_B_PRESSED; break; default: gSpecialVar_Result = selection; @@ -1307,7 +312,7 @@ static void Task_HandleMultichoiceGridInput(u8 taskId) #undef tWindowId -bool16 ScrSpecial_CreatePCMenu(void) +bool16 ScriptMenu_CreatePCMultichoice(void) { if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE) { @@ -1316,12 +321,12 @@ bool16 ScrSpecial_CreatePCMenu(void) else { gSpecialVar_Result = 0xFF; - CreatePCMenu(); + CreatePCMultichoice(); return TRUE; } } -static void CreatePCMenu(void) +static void CreatePCMultichoice(void) { u8 y = 8; u32 pixelWidth = 0; @@ -1332,17 +337,18 @@ static void CreatePCMenu(void) for (i = 0; i < ARRAY_COUNT(sPCNameStrings); i++) { - pixelWidth = display_text_and_get_width(sPCNameStrings[i], pixelWidth); + pixelWidth = DisplayTextAndGetWidth(sPCNameStrings[i], pixelWidth); } if (FlagGet(FLAG_SYS_GAME_CLEAR)) { - pixelWidth = display_text_and_get_width(gText_HallOfFame, pixelWidth); + pixelWidth = DisplayTextAndGetWidth(gText_HallOfFame, pixelWidth); } - width = convert_pixel_width_to_tile_width(pixelWidth); + width = ConvertPixelWidthToTileWidth(pixelWidth); - if (FlagGet(FLAG_SYS_GAME_CLEAR)) // player has cleared game? + // Include Hall of Fame option if player is champion + if (FlagGet(FLAG_SYS_GAME_CLEAR)) { numChoices = 4; windowId = CreateWindowFromRect(0, 0, width, 8); @@ -1358,7 +364,8 @@ static void CreatePCMenu(void) AddTextPrinterParameterized(windowId, 1, gText_LogOff, y, 33, TEXT_SPEED_FF, NULL); } - if (FlagGet(FLAG_SYS_PC_LANETTE)) // player met lanette? + // Change PC name if player has met Lanette + if (FlagGet(FLAG_SYS_PC_LANETTE)) AddTextPrinterParameterized(windowId, 1, gText_LanettesPC, y, 1, TEXT_SPEED_FF, NULL); else AddTextPrinterParameterized(windowId, 1, gText_SomeonesPC, y, 1, TEXT_SPEED_FF, NULL); @@ -1367,7 +374,7 @@ static void CreatePCMenu(void) PrintPlayerNameOnWindow(windowId, gStringVar4, y, 17); InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, numChoices, 0); CopyWindowToVram(windowId, 3); - sub_80E1FBC(FALSE, numChoices, windowId, 1); + InitMultichoiceCheckWrap(FALSE, numChoices, windowId, MULTI_PC); } void ScriptMenu_DisplayPCStartupPrompt(void) @@ -1376,7 +383,7 @@ void ScriptMenu_DisplayPCStartupPrompt(void) AddTextPrinterParameterized2(0, 1, gText_WhichPCShouldBeAccessed, 0, NULL, 2, 1, 3); } -bool8 sub_80E2548(void) +bool8 ScriptMenu_CreateLilycoveSSTidalMultichoice(void) { if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE) { @@ -1385,14 +392,16 @@ bool8 sub_80E2548(void) else { gSpecialVar_Result = 0xFF; - sub_80E2578(); + CreateLilycoveSSTidalMultichoice(); return TRUE; } } -static void sub_80E2578(void) +// gSpecialVar_0x8004 is 1 if the Sailor was shown multiple event tickets at the same time +// otherwise gSpecialVar_0x8004 is 0 +static void CreateLilycoveSSTidalMultichoice(void) { - u8 temp = 0; + u8 selectionCount = 0; u8 count; u32 pixelWidth; u8 width; @@ -1400,21 +409,22 @@ static void sub_80E2578(void) u8 i; u32 j; - for (i = 0; i < ARRAY_COUNT(gUnknown_03001124); i++) + for (i = 0; i < SSTIDAL_SELECTION_COUNT; i++) { - gUnknown_03001124[i] = 0xFF; + sLilycoveSSTidalSelections[i] = 0xFF; } GetFontAttribute(1, FONTATTR_MAX_LETTER_WIDTH); if (gSpecialVar_0x8004 == 0) { - gUnknown_03001124[temp] = 0; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_SLATEPORT; + selectionCount++; + if (FlagGet(FLAG_MET_SCOTT_ON_SS_TIDAL) == TRUE) { - gUnknown_03001124[temp] = 1; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_BATTLE_FRONTIER; + selectionCount++; } } @@ -1422,14 +432,14 @@ static void sub_80E2578(void) { if (gSpecialVar_0x8004 == 0) { - gUnknown_03001124[temp] = 2; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_SOUTHERN_ISLAND; + selectionCount++; } if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_EON_TICKET) == FALSE) { - gUnknown_03001124[temp] = 2; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_SOUTHERN_ISLAND; + selectionCount++; FlagSet(FLAG_HAS_EON_TICKET); } } @@ -1438,14 +448,14 @@ static void sub_80E2578(void) { if (gSpecialVar_0x8004 == 0) { - gUnknown_03001124[temp] = 3; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_NAVEL_ROCK; + selectionCount++; } if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_MYSTIC_TICKET) == FALSE) { - gUnknown_03001124[temp] = 3; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_NAVEL_ROCK; + selectionCount++; FlagSet(FLAG_HAS_MYSTIC_TICKET); } } @@ -1454,14 +464,14 @@ static void sub_80E2578(void) { if (gSpecialVar_0x8004 == 0) { - gUnknown_03001124[temp] = 4; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_BIRTH_ISLAND; + selectionCount++; } if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_AURORA_TICKET) == FALSE) { - gUnknown_03001124[temp] = 4; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_BIRTH_ISLAND; + selectionCount++; FlagSet(FLAG_HAS_AURORA_TICKET); } } @@ -1470,69 +480,69 @@ static void sub_80E2578(void) { if (gSpecialVar_0x8004 == 0) { - gUnknown_03001124[temp] = 5; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_FARAWAY_ISLAND; + selectionCount++; } if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_OLD_SEA_MAP) == FALSE) { - gUnknown_03001124[temp] = 5; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_FARAWAY_ISLAND; + selectionCount++; FlagSet(FLAG_HAS_OLD_SEA_MAP); } } - gUnknown_03001124[temp] = 6; - temp++; + sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_EXIT; + selectionCount++; if (gSpecialVar_0x8004 == 0 && FlagGet(FLAG_MET_SCOTT_ON_SS_TIDAL) == TRUE) { - count = temp; + count = selectionCount; } - count = temp; - if (count == 7) + count = selectionCount; + if (count == SSTIDAL_SELECTION_COUNT) { - gSpecialVar_0x8004 = 11; - sub_813A128(); + gSpecialVar_0x8004 = SCROLL_MULTI_SS_TIDAL_DESTINATION; + ShowScrollableMultichoice(); } else { pixelWidth = 0; - for (j = 0; j < ARRAY_COUNT(gUnknown_0858BB80); j++) + for (j = 0; j < SSTIDAL_SELECTION_COUNT; j++) { - u8 test = gUnknown_03001124[j]; - if (test != 0xFF) + u8 selection = sLilycoveSSTidalSelections[j]; + if (selection != 0xFF) { - pixelWidth = display_text_and_get_width(gUnknown_0858BB80[test], pixelWidth); + pixelWidth = DisplayTextAndGetWidth(sLilycoveSSTidalDestinations[selection], pixelWidth); } } - width = convert_pixel_width_to_tile_width(pixelWidth); - windowId = CreateWindowFromRect(28 - width, (6 - count) * 2, width, count * 2); + width = ConvertPixelWidthToTileWidth(pixelWidth); + windowId = CreateWindowFromRect(MAX_MULTICHOICE_WIDTH - width, (6 - count) * 2, width, count * 2); SetStandardWindowBorderStyle(windowId, 0); - for (temp = 0, i = 0; i < ARRAY_COUNT(gUnknown_0858BB80); i++) + for (selectionCount = 0, i = 0; i < SSTIDAL_SELECTION_COUNT; i++) { - if (gUnknown_03001124[i] != 0xFF) + if (sLilycoveSSTidalSelections[i] != 0xFF) { - AddTextPrinterParameterized(windowId, 1, gUnknown_0858BB80[gUnknown_03001124[i]], 8, temp * 16 + 1, TEXT_SPEED_FF, NULL); - temp++; + AddTextPrinterParameterized(windowId, 1, sLilycoveSSTidalDestinations[sLilycoveSSTidalSelections[i]], 8, selectionCount * 16 + 1, TEXT_SPEED_FF, NULL); + selectionCount++; } } InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, count, count - 1); CopyWindowToVram(windowId, 3); - sub_80E1FBC(FALSE, count, windowId, 8); + InitMultichoiceCheckWrap(FALSE, count, windowId, MULTI_SSTIDAL_LILYCOVE); } } -void sub_80E2878(void) +void GetLilycoveSSTidalSelection(void) { - if (gSpecialVar_Result != 0x7F) + if (gSpecialVar_Result != MULTI_B_PRESSED) { - gSpecialVar_Result = gUnknown_03001124[gSpecialVar_Result]; + gSpecialVar_Result = sLilycoveSSTidalSelections[gSpecialVar_Result]; } } @@ -1629,50 +639,52 @@ void ClearToTransparentAndRemoveWindow(u8 windowId) RemoveWindow(windowId); } -static void sub_80E2A94(u8 multichoiceId) +static void DrawLinkServicesMultichoiceMenu(u8 multichoiceId) { switch (multichoiceId) { - case 77: + case MULTI_WIRELESS_NO_BERRY: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBAC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, sWirelessOptionsNoBerryCrush[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; - case 76: + case MULTI_CABLE_CLUB_WITH_RECORD_MIX: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BB9C[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, sCableClubOptions_WithRecordMix[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; - case 78: + case MULTI_WIRELESS_NO_RECORD: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBBC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, sWirelessOptions_NoRecordMix[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; - case 79: + case MULTI_WIRELESS_ALL_SERVICES: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBCC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, sWirelessOptions_AllServices[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; - case 75: + case MULTI_WIRELESS_NO_RECORD_BERRY: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBEC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, sWirelessOptions_NoRecordMixBerryCrush[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; - case 74: + case MULTI_CABLE_CLUB_NO_RECORD_MIX: FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, gUnknown_0858BBE0[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, sCableClubOptions_NoRecordMix[Menu_GetCursorPos()], 0, NULL, 2, 1, 3); break; } } -bool16 sp106_CreateStartMenu(void) +bool16 ScriptMenu_CreateStartMenuForPokenavTutorial(void) { if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE) { return FALSE; } - - gSpecialVar_Result = 0xFF; - CreateStartMenu(); - return TRUE; + else + { + gSpecialVar_Result = 0xFF; + CreateStartMenuForPokenavTutorial(); + return TRUE; + } } -static void CreateStartMenu(void) +static void CreateStartMenuForPokenavTutorial(void) { u8 windowId = CreateWindowFromRect(21, 0, 7, 18); SetStandardWindowBorderStyle(windowId, 0); @@ -1684,17 +696,17 @@ static void CreateStartMenu(void) AddTextPrinterParameterized(windowId, 1, gText_MenuOptionSave, 8, 89, TEXT_SPEED_FF, NULL); AddTextPrinterParameterized(windowId, 1, gText_MenuOptionOption, 8, 105, TEXT_SPEED_FF, NULL); AddTextPrinterParameterized(windowId, 1, gText_MenuOptionExit, 8, 121, TEXT_SPEED_FF, NULL); - sub_81983AC(windowId, 1, 0, 9, 16, 8, 0); - sub_80E2CC4(0, 8, windowId, 86); + sub_81983AC(windowId, 1, 0, 9, 16, ARRAY_COUNT(MultichoiceList_ForcedStartMenu), 0); + InitMultichoiceNoWrap(FALSE, ARRAY_COUNT(MultichoiceList_ForcedStartMenu), windowId, MULTI_FORCED_START_MENU); CopyWindowToVram(windowId, 3); } #define tWindowId data[6] -static void sub_80E2CC4(bool8 ignoreBPress, u8 unused, u8 windowId, u8 multichoiceId) +static void InitMultichoiceNoWrap(bool8 ignoreBPress, u8 unusedCount, u8 windowId, u8 multichoiceId) { u8 taskId; - gUnknown_02039F90 = 2; + sProcessInputDelay = 2; taskId = CreateTask(Task_HandleMultichoiceInput, 80); gTasks[taskId].tIgnoreBPress = ignoreBPress; gTasks[taskId].tDoWrap = 0; @@ -1711,47 +723,43 @@ static void sub_80E2CC4(bool8 ignoreBPress, u8 unused, u8 windowId, u8 multichoi #undef tWindowId #undef tMultichoiceId -static int display_text_and_get_width_internal(const u8 *str) +static int DisplayTextAndGetWidthInternal(const u8 *str) { u8 temp[64]; StringExpandPlaceholders(temp, str); return GetStringWidth(1, temp, 0); } -int display_text_and_get_width(const u8 *str, int prevMaxWidth) +int DisplayTextAndGetWidth(const u8 *str, int prevWidth) { - int len = display_text_and_get_width_internal(str); - if (len < prevMaxWidth) + int width = DisplayTextAndGetWidthInternal(str); + if (width < prevWidth) { - len = prevMaxWidth; + width = prevWidth; } - return len; + return width; } -int convert_pixel_width_to_tile_width(int width) +int ConvertPixelWidthToTileWidth(int width) { - return (((width + 9) / 8) + 1) > 28 ? 28 : (((width + 9) / 8) + 1); + return (((width + 9) / 8) + 1) > MAX_MULTICHOICE_WIDTH ? MAX_MULTICHOICE_WIDTH : (((width + 9) / 8) + 1); } -int sub_80E2D5C(int a0, int a1) +int ScriptMenu_AdjustLeftCoordFromWidth(int left, int width) { - int ret = a0; + int adjustedLeft = left; - if (a0 + a1 > 28) + if (left + width > MAX_MULTICHOICE_WIDTH) { - if (28 - a1 < 0) + if (MAX_MULTICHOICE_WIDTH - width < 0) { - ret = 0; + adjustedLeft = 0; } else { - ret = 28 - a1; + adjustedLeft = MAX_MULTICHOICE_WIDTH - width; } } - else - { - ret = a0; - } - return ret; + return adjustedLeft; } diff --git a/src/script_movement.c b/src/script_movement.c index 9fee9e0600..03d6b10e89 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/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c index 51bd73b1ce..e691ed5fb6 100755 --- a/src/script_pokemon_util_80F87D8.c +++ b/src/script_pokemon_util_80F87D8.c @@ -29,6 +29,7 @@ #include "constants/event_objects.h" #include "constants/items.h" #include "constants/species.h" +#include "constants/tv.h" #include "constants/vars.h" #include "constants/battle_frontier.h" @@ -39,10 +40,10 @@ extern const u16 gEventObjectPalette34[]; static const u8 gUnknown_0858D8EC[] = { 3, 4, 5, 14 }; -static void sub_80F8EE8(u8 taskId); -static void sub_80F9088(u8 taskId); +static void Task_ShowContestEntryMonPic(u8 taskId); +static void Task_LinkContestWaitForConnection(u8 taskId); static void CB2_ReturnFromChooseHalfParty(void); -static void sub_80F94B8(void); +static void CB2_ReturnFromChooseBattleFrontierParty(void); void SetContestTrainerGfxIds(void) { @@ -51,6 +52,7 @@ void SetContestTrainerGfxIds(void) gSaveBlock1Ptr->vars[VAR_OBJ_GFX_ID_2 - VARS_START] = gContestMons[2].trainerGfxId; } +// Unused void sub_80F8814(void) { u16 var1; @@ -74,14 +76,15 @@ void sub_80F8814(void) gSpecialVar_0x8004 = var1; } -void sub_80F8850(void) +void BufferContestTrainerAndMonNames(void) { - sub_80F8264(); - sub_80F8290(); - sub_80F8438(); + BufferContestantTrainerName(); + BufferContestantMonNickname(); + BufferContestantMonSpecies(); } -void sub_80F8864(void) +// Unused +void DoesContestCategoryHaveWinner(void) { int contestWinner; switch (gSpecialVar_ContestCategory) @@ -104,28 +107,28 @@ void sub_80F8864(void) break; } - if (!gSaveBlock1Ptr->contestWinners[contestWinner].species) - gSpecialVar_0x8004 = 0; + if (gSaveBlock1Ptr->contestWinners[contestWinner].species == SPECIES_NONE) + gSpecialVar_0x8004 = FALSE; else - gSpecialVar_0x8004 = 1; + gSpecialVar_0x8004 = TRUE; } -void sub_80F88DC(void) +void SaveMuseumContestPainting(void) { sub_80DEDA8(0xFF); } -void sub_80F88E8(void) +void ShouldReadyContestArtist(void) { if (gContestFinalStandings[gContestPlayerMonIndex] == 0 - && gSpecialVar_ContestRank == 3 + && gSpecialVar_ContestRank == CONTEST_RANK_MASTER && gUnknown_02039F08[gContestPlayerMonIndex] >= 800) { - gSpecialVar_0x8004 = 1; + gSpecialVar_0x8004 = TRUE; } else { - gSpecialVar_0x8004 = 0; + gSpecialVar_0x8004 = FALSE; } } @@ -143,9 +146,10 @@ u8 CountPlayerContestPaintings(void) return count; } +// Unused void sub_80F8970(void) { - s16 sp[4]; + s16 conditions[CONTESTANT_COUNT]; int i, j; s16 condition; s8 var0; @@ -153,28 +157,27 @@ void sub_80F8970(void) u8 r8; u8 r7; - for (i = 0; i < 4; i++) - sp[i] = gContestMonConditions[i]; + for (i = 0; i < CONTESTANT_COUNT; i++) + conditions[i] = gContestMonConditions[i]; - for (i = 0; i < 3; i++) + for (i = 0; i < CONTESTANT_COUNT - 1; i++) { - for (j = 3; j > i; j--) + for (j = CONTESTANT_COUNT - 1; j > i; j--) { - if (sp[j - 1] < sp[j]) + if (conditions[j - 1] < conditions[j]) { - int temp = sp[j]; - sp[j] = sp[j - 1]; - sp[j - 1] = temp; + int temp; + SWAP(conditions[j], conditions[j - 1], temp) } } } - condition = sp[gSpecialVar_0x8006]; + condition = conditions[gSpecialVar_0x8006]; var0 = 0; r8 = 0; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - if (sp[i] == condition) + if (conditions[i] == condition) { var0++; if (i == gSpecialVar_0x8006) @@ -182,15 +185,15 @@ void sub_80F8970(void) } } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - if (sp[i] == condition) + if (conditions[i] == condition) break; } r7 = i; var2 = r8; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (condition == gContestMonConditions[i]) { @@ -219,11 +222,22 @@ static void ShowContestWinnerCleanup(void) void ShowContestWinner(void) { + /* + if(gUnknown_0203856C) + { + sub_80AAF30(); + gBattleStruct->unk15DDF = 1; + gBattleStruct->unk15DDE = sub_80B2C4C(254, 0); + Contest_SaveWinner(3); + gUnknown_0203856C = 0; + } + */ + SetMainCallback2(CB2_ContestPainting); gMain.savedCallback = ShowContestWinnerCleanup; } -void sub_80F8AFC(void) +void SetLinkContestPlayerGfx(void) { int i; @@ -248,7 +262,7 @@ void sub_80F8AFC(void) } } -void sub_80F8B94(void) +void LoadLinkContestPlayerPalettes(void) { int i; u8 eventObjectId; @@ -287,13 +301,15 @@ u8 GiveMonArtistRibbon(void) u8 hasArtistRibbon; hasArtistRibbon = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_ARTIST_RIBBON); - if (!hasArtistRibbon && gContestFinalStandings[gContestPlayerMonIndex] == 0 && gSpecialVar_ContestRank == 3 - && gUnknown_02039F08[gContestPlayerMonIndex] >= 800) + if (!hasArtistRibbon + && gContestFinalStandings[gContestPlayerMonIndex] == 0 + && gSpecialVar_ContestRank == CONTEST_RANK_MASTER + && gUnknown_02039F08[gContestPlayerMonIndex] >= 800) { hasArtistRibbon = 1; SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_ARTIST_RIBBON, &hasArtistRibbon); - if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > 4) - sub_80EE4DC(&gPlayerParty[gContestMonPartyIndex], MON_DATA_ARTIST_RIBBON); + if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > NUM_CUTIES_RIBBONS) + TryPutSpotTheCutiesOnAir(&gPlayerParty[gContestMonPartyIndex], MON_DATA_ARTIST_RIBBON); return 1; } @@ -303,9 +319,9 @@ u8 GiveMonArtistRibbon(void) } } -u8 sub_80F8D24(void) +bool8 IsContestDebugActive(void) { - return 0; + return FALSE; // gUnknown_0203856C in pokeruby } void ShowContestEntryMonPic(void) @@ -317,7 +333,7 @@ void ShowContestEntryMonPic(void) u8 taskId; u8 left, top; - if (FindTaskIdByFunc(sub_80F8EE8) == 0xFF) + if (FindTaskIdByFunc(Task_ShowContestEntryMonPic) == 0xFF) { AllocateMonSpritesGfx(); left = 10; @@ -325,7 +341,7 @@ void ShowContestEntryMonPic(void) species = gContestMons[gSpecialVar_0x8006].species; personality = gContestMons[gSpecialVar_0x8006].personality; otId = gContestMons[gSpecialVar_0x8006].otId; - taskId = CreateTask(sub_80F8EE8, 0x50); + taskId = CreateTask(Task_ShowContestEntryMonPic, 0x50); gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = species; if (gSpecialVar_0x8006 == gContestPlayerMonIndex) @@ -357,9 +373,9 @@ void ShowContestEntryMonPic(void) } } -void sub_80F8EB8(void) +void HideContestEntryMonPic(void) { - u8 taskId = FindTaskIdByFunc(sub_80F8EE8); + u8 taskId = FindTaskIdByFunc(Task_ShowContestEntryMonPic); if (taskId != 0xFF) { gTasks[taskId].data[0]++; @@ -367,7 +383,7 @@ void sub_80F8EB8(void) } } -static void sub_80F8EE8(u8 taskId) +static void Task_ShowContestEntryMonPic(u8 taskId) { struct Task *task = &gTasks[taskId]; struct Sprite *sprite; @@ -403,10 +419,12 @@ static void sub_80F8EE8(u8 taskId) void ScriptGetMultiplayerId(void) { - if ((gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) && gNumLinkContestPlayers == 4 && !(gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)) + if ((gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) + && gNumLinkContestPlayers == CONTESTANT_COUNT + && !(gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)) gSpecialVar_Result = GetMultiplayerId(); else - gSpecialVar_Result = 4; + gSpecialVar_Result = MAX_LINK_PLAYERS; } void ScriptRandom(void) @@ -428,26 +446,26 @@ void ScriptRandom(void) *scriptPtr = random % *scriptPtr; } -u16 sub_80F903C(void) +u16 GetContestRand(void) { gContestRngValue = 1103515245 * gContestRngValue + 24691; return gContestRngValue >> 16; } -u8 sub_80F905C(void) +bool8 LinkContestWaitForConnection(void) { if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) { - CreateTask(sub_80F9088, 5); - return 1; + CreateTask(Task_LinkContestWaitForConnection, 5); + return TRUE; } else { - return 0; + return FALSE; } } -static void sub_80F9088(u8 taskId) +static void Task_LinkContestWaitForConnection(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -471,7 +489,7 @@ static void sub_80F9088(u8 taskId) } } -void sub_80F90DC(void) +void LinkContestTryShowWirelessIndicator(void) { if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) { @@ -483,7 +501,7 @@ void sub_80F90DC(void) } } -void sub_80F910C(void) +void LinkContestTryHideWirelessIndicator(void) { if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) { @@ -492,25 +510,25 @@ void sub_80F910C(void) } } -u8 sub_80F9134(void) +bool8 IsContestWithRSPlayer(void) { if (gLinkContestFlags & LINK_CONTEST_FLAG_HAS_RS_PLAYER) - return 1; + return TRUE; else - return 0; + return FALSE; } -void sub_80F9154(void) +void ClearLinkContestFlags(void) { gLinkContestFlags = 0; } -u8 sub_80F9160(void) +bool8 IsWirelessContest(void) { if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) - return 1; + return TRUE; else - return 0; + return FALSE; } void HealPlayerParty(void) @@ -585,14 +603,14 @@ void HasEnoughMonsForDoubleBattle(void) { switch (GetMonsStateToDoubles()) { - case 0: - gSpecialVar_Result = 0; + case PLAYER_HAS_TWO_USABLE_MONS: + gSpecialVar_Result = PLAYER_HAS_TWO_USABLE_MONS; break; - case 1: - gSpecialVar_Result = 1; + case PLAYER_HAS_ONE_MON: + gSpecialVar_Result = PLAYER_HAS_ONE_MON; break; - case 2: - gSpecialVar_Result = 2; + case PLAYER_HAS_ONE_USABLE_MON: + gSpecialVar_Result = PLAYER_HAS_ONE_USABLE_MON; break; } } @@ -610,7 +628,7 @@ static bool8 CheckPartyMonHasHeldItem(u16 item) return FALSE; } -bool8 sub_80F9370(void) +bool8 DoesPartyHaveEnigmaBerry(void) { bool8 hasItem = CheckPartyMonHasHeldItem(ITEM_ENIGMA_BERRY); if (hasItem == TRUE) @@ -624,7 +642,7 @@ void CreateScriptedWildMon(u16 species, u8 level, u16 item) u8 heldItem[2]; ZeroEnemyPartyMons(); - CreateMon(&gEnemyParty[0], species, level, 0x20, 0, 0, OT_ID_PLAYER_ID, 0); + CreateMon(&gEnemyParty[0], species, level, 32, 0, 0, OT_ID_PLAYER_ID, 0); if (item) { heldItem[0] = item; @@ -646,7 +664,7 @@ void ScriptSetMonMoveSlot(u8 monIndex, u16 move, u8 slot) void ChooseHalfPartyForBattle(void) { gMain.savedCallback = CB2_ReturnFromChooseHalfParty; - VarSet(VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_DOUBLE_COLOSSEUM); + VarSet(VAR_FRONTIER_FACILITY, FACILITY_MULTI_OR_EREADER); InitChooseHalfPartyForBattle(0); } @@ -665,21 +683,21 @@ static void CB2_ReturnFromChooseHalfParty(void) SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } -void sub_80F9490(void) +void ChoosePartyForBattleFrontier(void) { - gMain.savedCallback = sub_80F94B8; + gMain.savedCallback = CB2_ReturnFromChooseBattleFrontierParty; InitChooseHalfPartyForBattle(gSpecialVar_0x8004 + 1); } -static void sub_80F94B8(void) +static void CB2_ReturnFromChooseBattleFrontierParty(void) { switch (gSelectedOrderFromParty[0]) { case 0: - gSpecialVar_Result = 0; + gSpecialVar_Result = FALSE; break; default: - gSpecialVar_Result = 1; + gSpecialVar_Result = TRUE; break; } @@ -688,20 +706,20 @@ static void sub_80F94B8(void) void ReducePlayerPartyToSelectedMons(void) { - struct Pokemon party[4]; + struct Pokemon party[MAX_FRONTIER_PARTY_SIZE]; int i; CpuFill32(0, party, sizeof party); // copy the selected pokemon according to the order. - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++) if (gSelectedOrderFromParty[i]) // as long as the order keeps going (did the player select 1 mon? 2? 3?), do not stop party[i] = gPlayerParty[gSelectedOrderFromParty[i] - 1]; // index is 0 based, not literal CpuFill32(0, gPlayerParty, sizeof gPlayerParty); // overwrite the first 4 with the order copied to. - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++) gPlayerParty[i] = party[i]; CalculatePlayerPartyCount(); diff --git a/src/secret_base.c b/src/secret_base.c index 12cb8cd61a..e7f40a72b9 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle.h" #include "battle_setup.h" #include "decoration.h" @@ -16,6 +16,7 @@ #include "fldeff.h" #include "fldeff_misc.h" #include "international_string_util.h" +#include "item_menu.h" #include "link.h" #include "list_menu.h" #include "main.h" @@ -40,11 +41,13 @@ #include "constants/maps.h" #include "constants/map_types.h" #include "constants/metatile_behaviors.h" +#include "constants/metatile_labels.h" #include "constants/moves.h" #include "constants/secret_bases.h" #include "constants/songs.h" #include "constants/species.h" #include "constants/trainers.h" +#include "constants/tv.h" struct SecretBaseRegistryMenu { @@ -82,18 +85,18 @@ static void ShowRegistryMenuDeleteYesNo(u8 taskId); static void DeleteRegistry_Yes(u8 taskId); static void DeleteRegistry_No(u8 taskId); static void ReturnToMainRegistryMenu(u8 taskId); -static void GoToSecretBasePCMainMenu(u8 taskId); +static void GoToSecretBasePCRegisterMenu(u8 taskId); static u8 GetSecretBaseOwnerType(u8 secretBaseId); static const struct SecretBaseEntranceMetatiles sSecretBaseEntranceMetatiles[] = { - {.closedMetatileId = 0x0026, .openMetatileId = 0x0036}, - {.closedMetatileId = 0x0027, .openMetatileId = 0x0037}, - {.closedMetatileId = 0x01a0, .openMetatileId = 0x01a1}, - {.closedMetatileId = 0x01a8, .openMetatileId = 0x01a9}, - {.closedMetatileId = 0x01b0, .openMetatileId = 0x01b1}, - {.closedMetatileId = 0x0208, .openMetatileId = 0x0210}, - {.closedMetatileId = 0x0271, .openMetatileId = 0x0278}, + {.closedMetatileId = METATILE_General_SecretBase_TreeLeft, .openMetatileId = METATILE_General_SecretBase_VineLeft}, + {.closedMetatileId = METATILE_General_SecretBase_TreeRight, .openMetatileId = METATILE_General_SecretBase_VineRight}, + {.closedMetatileId = METATILE_General_RedCaveIndent, .openMetatileId = METATILE_General_RedCaveOpen}, + {.closedMetatileId = METATILE_General_YellowCaveIndent, .openMetatileId = METATILE_General_YellowCaveOpen}, + {.closedMetatileId = METATILE_General_BlueCaveIndent, .openMetatileId = METATILE_General_BlueCaveOpen}, + {.closedMetatileId = METATILE_Fallarbor_BrownCaveIndent, .openMetatileId = METATILE_Fallarbor_BrownCaveOpen}, + {.closedMetatileId = METATILE_Fortree_SecretBase_Shrub, .openMetatileId = METATILE_Fortree_SecretBase_ShrubOpen}, }; // mapNum, warpId, x, y @@ -349,7 +352,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); @@ -413,7 +416,7 @@ static void Task_EnterSecretBase(u8 taskId) SetSecretBaseWarpDestination(); WarpIntoMap(); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; SetMainCallback2(CB2_LoadMap); DestroyTask(taskId); break; @@ -423,7 +426,7 @@ static void Task_EnterSecretBase(u8 taskId) void EnterSecretBase(void) { CreateTask(Task_EnterSecretBase, 0); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); } @@ -451,12 +454,12 @@ static void EnterNewlyCreatedSecretBase_StartFadeIn(void) ScriptContext2_Enable(); HideMapNamePopUpWindow(); - FindMetatileIdMapCoords(&x, &y, 0x220); + FindMetatileIdMapCoords(&x, &y, METATILE_SecretBase_PC); x += 7; y += 7; - MapGridSetMetatileIdAt(x, y, 0x220 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_PC | METATILE_COLLISION_MASK); CurrentMapDrawMetatileAt(x, y); - pal_fill_black(); + FadeInFromBlack(); CreateTask(EnterNewlyCreatedSecretBase_WaitFadeIn, 0); } @@ -505,7 +508,7 @@ void InitSecretBaseAppearance(bool8 hidePC) secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); decorations = gSaveBlock1Ptr->secretBases[secretBaseId].decorations; decorPos = gSaveBlock1Ptr->secretBases[secretBaseId].decorationPositions; - for (x = 0; x < 16; x++) + for (x = 0; x < DECOR_MAX_SECRET_BASE; x++) { if (decorations[x] > 0 && decorations[x] <= NUM_DECORATIONS && gDecorations[decorations[x]].permission != DECORPERM_SPRITE) ShowDecorationOnMap((decorPos[x] >> 4) + 7, (decorPos[x] & 0xF) + 7, decorations[x]); @@ -514,14 +517,14 @@ void InitSecretBaseAppearance(bool8 hidePC) if (secretBaseId != 0) { // Another player's secret base. Change PC type to the "Register" PC. - FindMetatileIdMapCoords(&x, &y, 0x220); - MapGridSetMetatileIdAt(x + 7, y + 7, 0x221 | METATILE_COLLISION_MASK); + FindMetatileIdMapCoords(&x, &y, METATILE_SecretBase_PC); + MapGridSetMetatileIdAt(x + 7, y + 7, METATILE_SecretBase_RegisterPC | METATILE_COLLISION_MASK); } else if (hidePC == TRUE && VarGet(VAR_SECRET_BASE_INITIALIZED) == 1) { // Change PC to regular ground tile. - FindMetatileIdMapCoords(&x, &y, 0x220); - MapGridSetMetatileIdAt(x + 7, y + 7, 0x20a | METATILE_COLLISION_MASK); + FindMetatileIdMapCoords(&x, &y, METATILE_SecretBase_PC); + MapGridSetMetatileIdAt(x + 7, y + 7, METATILE_SecretBase_Ground | METATILE_COLLISION_MASK); } } } @@ -650,7 +653,7 @@ void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEven { SetCurSecretBaseIdFromPosition(position, events); TrySetCurSecretBaseIndex(); - ScriptContext1_SetupScript(EventScript_275BB7); + ScriptContext1_SetupScript(SecretBase_EventScript_Enter); } bool8 TrySetCurSecretBase(void) @@ -678,7 +681,7 @@ static void Task_WarpOutOfSecretBase(u8 taskId) case 2: SetWarpDestinationToDynamicWarp(0x7e); WarpIntoMap(); - gFieldCallback = mapldr_default; + gFieldCallback = FieldCB_DefaultWarpExit; SetMainCallback2(CB2_LoadMap); ScriptContext2_Disable(); DestroyTask(taskId); @@ -894,7 +897,7 @@ static void Task_ShowSecretBaseRegistryMenu(u8 taskId) } else { - DisplayItemMessageOnField(taskId, gText_NoRegistry, GoToSecretBasePCMainMenu); + DisplayItemMessageOnField(taskId, gText_NoRegistry, GoToSecretBasePCRegisterMenu); } } @@ -974,7 +977,7 @@ static void HandleRegistryMenuInput(u8 taskId) RemoveWindow(data[6]); schedule_bg_copy_tilemap_to_vram(0); free(sRegistryMenu); - GoToSecretBasePCMainMenu(taskId); + GoToSecretBasePCRegisterMenu(taskId); break; default: PlaySE(SE_SELECT); @@ -1074,12 +1077,12 @@ static void ReturnToMainRegistryMenu(u8 taskId) gTasks[taskId].func = HandleRegistryMenuInput; } -static void GoToSecretBasePCMainMenu(u8 taskId) +static void GoToSecretBasePCRegisterMenu(u8 taskId) { if (VarGet(VAR_CURRENT_SECRET_BASE) == 0) - ScriptContext1_SetupScript(gUnknown_0823B4E8); + ScriptContext1_SetupScript(SecretBase_EventScript_PCCancel); else - ScriptContext1_SetupScript(gUnknown_0823B5E9); + ScriptContext1_SetupScript(SecretBase_EventScript_ShowRegisterMenu); DestroyTask(taskId); } @@ -1094,40 +1097,40 @@ const u8 *GetSecretBaseTrainerLoseText(void) { u8 ownerType = GetSecretBaseOwnerType(VarGet(VAR_CURRENT_SECRET_BASE)); if (ownerType == 0) - return SecretBase_RedCave1_Text_274966; + return SecretBase_Text_Trainer0Defeated; else if (ownerType == 1) - return SecretBase_RedCave1_Text_274D13; + return SecretBase_Text_Trainer1Defeated; else if (ownerType == 2) - return SecretBase_RedCave1_Text_274FFE; + return SecretBase_Text_Trainer2Defeated; else if (ownerType == 3) - return SecretBase_RedCave1_Text_275367; + return SecretBase_Text_Trainer3Defeated; else if (ownerType == 4) - return SecretBase_RedCave1_Text_2756C7; + return SecretBase_Text_Trainer4Defeated; else if (ownerType == 5) - return SecretBase_RedCave1_Text_274B24; + return SecretBase_Text_Trainer5Defeated; else if (ownerType == 6) - return SecretBase_RedCave1_Text_274E75; + return SecretBase_Text_Trainer6Defeated; else if (ownerType == 7) - return SecretBase_RedCave1_Text_2751E1; + return SecretBase_Text_Trainer7Defeated; else if (ownerType == 8) - return SecretBase_RedCave1_Text_2754F6; + return SecretBase_Text_Trainer8Defeated; else - return SecretBase_RedCave1_Text_2758CC; + return SecretBase_Text_Trainer9Defeated; } void PrepSecretBaseBattleFlags(void) { - sub_813BADC(1); + TryGainNewFanFromCounter(1); gTrainerBattleOpponent_A = TRAINER_SECRET_BASE; gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_SECRET_BASE; } -void sub_80EA30C(void) +void SetBattledOwnerFromResult(void) { gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].battledOwnerToday = gSpecialVar_Result; } -void GetSecretBaseOwnerInteractionState(void) +void GetSecretBaseOwnerAndState(void) { u16 secretBaseId; u8 i; @@ -1173,48 +1176,60 @@ void SecretBasePerStepCallback(u8 taskId) VarSet(VAR_SECRET_BASE_STEP_COUNTER, VarGet(VAR_SECRET_BASE_STEP_COUNTER) + 1); behavior = MapGridGetMetatileBehaviorAt(x, y); tileId = MapGridGetMetatileIdAt(x, y); - if (tileId == 0x234 || tileId == 0x23C) + if (tileId == METATILE_SecretBase_Board_Top || tileId == METATILE_SecretBase_Board_Bottom) { if (sInFriendSecretBase == TRUE) { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x20); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SOLID_BOARD); } } - else if (tileId == 0x2b8 || tileId == 0x2b9 || tileId == 0x2ba || tileId == 0x2c0 || tileId == 0x2c1 || tileId == 0x2c2 || tileId == 0x2c8 || tileId == 0x2c9 || tileId == 0x2ca) + else if (tileId == METATILE_SecretBase_SmallChair + || tileId == METATILE_SecretBase_PokemonChair + || tileId == METATILE_SecretBase_HeavyChair + || tileId == METATILE_SecretBase_PrettyChair + || tileId == METATILE_SecretBase_ComfortChair + || tileId == METATILE_SecretBase_RaggedChair + || tileId == METATILE_SecretBase_BrickChair + || tileId == METATILE_SecretBase_CampChair + || tileId == METATILE_SecretBase_HardChair) { if (sInFriendSecretBase == TRUE) - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x01); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_CHAIR); } - else if (tileId == 0x239 || tileId == 0x241 || tileId == 0x251 || tileId == 0x259) + else if (tileId == METATILE_SecretBase_RedTent_DoorTop + || tileId == METATILE_SecretBase_RedTent_Door + || tileId == METATILE_SecretBase_BlueTent_DoorTop + || tileId == METATILE_SecretBase_BlueTent_Door) { if (sInFriendSecretBase == TRUE) - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x04); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_TENT); } - else if ((behavior == 0x34 && tileId == 0x26d) || (behavior == 0x35 && MapGridGetMetatileIdAt(x, y) == 0x26a)) + else if ((behavior == MB_IMPASSABLE_NORTHEAST && tileId == METATILE_SecretBase_Stand_RightCorner) + || (behavior == MB_IMPASSABLE_NORTHWEST && MapGridGetMetatileIdAt(x, y) == METATILE_SecretBase_Stand_LeftCorner)) { if (sInFriendSecretBase == TRUE) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x200); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_STAND); } - else if (behavior == 0xc1 && tileId == 0x23d) + else if (behavior == MB_IMPASSABLE_WEST_AND_EAST && tileId == METATILE_SecretBase_Slide_Stairs) { if (sInFriendSecretBase == TRUE) { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x1000); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x2000); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ SECRET_BASE_USED_SLIDE); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_DECLINED_SLIDE); } } - else if (behavior == 0x47 && tileId == 0x23e) + else if (behavior == MB_SLIDE_SOUTH && tileId == METATILE_SecretBase_Slide) { if (sInFriendSecretBase == TRUE) { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x1000); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x2000); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SLIDE); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ SECRET_BASE_DECLINED_SLIDE); } } else if (MetatileBehavior_IsSecretBaseGlitterMat(behavior) == TRUE) { if (sInFriendSecretBase == TRUE) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x80); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_GLITTER_MAT); } else if (MetatileBehavior_IsSecretBaseBalloon(behavior) == TRUE) { @@ -1223,13 +1238,13 @@ void SecretBasePerStepCallback(u8 taskId) { switch ((int)MapGridGetMetatileIdAt(x, y)) { - case 0x338: - case 0x33c: - case 0x340: - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x02); + case METATILE_SecretBase_RedBalloon: + case METATILE_SecretBase_BlueBalloon: + case METATILE_SecretBase_YellowBalloon: + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_BALLOON); break; - case 0x228: - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x100); + case METATILE_SecretBase_MudBall: + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_MUD_BALL); break; } } @@ -1237,23 +1252,23 @@ void SecretBasePerStepCallback(u8 taskId) else if (MetatileBehavior_IsSecretBaseBreakableDoor(behavior) == TRUE) { if (sInFriendSecretBase == TRUE) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x400); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_BREAKABLE_DOOR); ShatterSecretBaseBreakableDoor(x, y); } else if (MetatileBehavior_IsSecretBaseSoundMat(behavior) == TRUE){ if (sInFriendSecretBase == TRUE) - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8000); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_NOTE_MAT); } else if (MetatileBehavior_IsSecretBaseJumpMat(behavior) == TRUE) { if (sInFriendSecretBase == TRUE) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4000); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_JUMP_MAT); } else if (MetatileBehavior_IsSecretBaseSpinMat(behavior) == TRUE) { if (sInFriendSecretBase == TRUE) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x02); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SPIN_MAT); } } break; @@ -1291,7 +1306,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; @@ -1416,9 +1431,8 @@ static void SortSecretBasesByRegistryStatus(void) { if ((secretBases[i].registryStatus == 0 && secretBases[j].registryStatus == 1) || (secretBases[i].registryStatus == 2 && secretBases[j].registryStatus != 2)) { - struct SecretBase temp = secretBases[i]; - secretBases[i] = secretBases[j]; - secretBases[j] = temp; + struct SecretBase temp; + SWAP(secretBases[i], secretBases[j], temp) } } } @@ -1445,7 +1459,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; @@ -1460,48 +1474,57 @@ bool8 SecretBaseBelongsToPlayer(struct SecretBase *secretBase) return TRUE; } +#define DELETED_BASE_A (1 << 0) +#define DELETED_BASE_B (1 << 1) +#define DELETED_BASE_C (1 << 2) + void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBase *basesA, struct SecretBase *basesB, struct SecretBase *basesC) { u8 i; - u8 sbFlags = 0x0; + u8 sbFlags = 0; for (i = 0; i < SECRET_BASES_COUNT; i++) { - if (!(sbFlags & 0x1)) // 001 + if (!(sbFlags & DELETED_BASE_A)) { if (SecretBaseBelongsToPlayer(&basesA[i]) == TRUE) { ClearSecretBase(&basesA[i]); - sbFlags |= 1; + sbFlags |= DELETED_BASE_A; } } - if (!(sbFlags & 0x2)) // 010 + if (!(sbFlags & DELETED_BASE_B)) { if (SecretBaseBelongsToPlayer(&basesB[i]) == TRUE) { ClearSecretBase(&basesB[i]); - sbFlags |= 2; + sbFlags |= DELETED_BASE_B; } } - if (!(sbFlags & 0x4)) // 100 + if (!(sbFlags & DELETED_BASE_C)) { if (SecretBaseBelongsToPlayer(&basesC[i]) == TRUE) { ClearSecretBase(&basesC[i]); - sbFlags |= 4; + sbFlags |= DELETED_BASE_C; } } - if (sbFlags == 0x7) // 111 + if (sbFlags == (DELETED_BASE_A | DELETED_BASE_B | DELETED_BASE_C)) { break; } } } -bool8 sub_80EAD14(struct SecretBase *secretBase, struct SecretBase *secretBases, u8 c) +#undef DELETED_BASE_A +#undef DELETED_BASE_B +#undef DELETED_BASE_C + +// returns TRUE if secretBase was deleted, FALSE otherwise +static bool8 ClearDuplicateOwnedSecretBases(struct SecretBase *secretBase, struct SecretBase *secretBases, u8 c) { u8 i; @@ -1545,11 +1568,11 @@ void sub_80EAD94(struct SecretBase *basesA, struct SecretBase *basesB, struct Se { basesA[i].sbr_field_1_0 = 1; } - if (!sub_80EAD14(&basesA[i], basesB, i)) + if (!ClearDuplicateOwnedSecretBases(&basesA[i], basesB, i)) { - if (!sub_80EAD14(&basesA[i], basesC, i)) + if (!ClearDuplicateOwnedSecretBases(&basesA[i], basesC, i)) { - sub_80EAD14(&basesA[i], basesD, i); + ClearDuplicateOwnedSecretBases(&basesA[i], basesD, i); } } } @@ -1559,9 +1582,9 @@ void sub_80EAD94(struct SecretBase *basesA, struct SecretBase *basesB, struct Se if (basesB[i].secretBaseId) { basesB[i].battledOwnerToday = 0; - if (!sub_80EAD14(&basesB[i], basesC, i)) + if (!ClearDuplicateOwnedSecretBases(&basesB[i], basesC, i)) { - sub_80EAD14(&basesB[i], basesD, i); + ClearDuplicateOwnedSecretBases(&basesB[i], basesD, i); } } } @@ -1570,7 +1593,7 @@ void sub_80EAD94(struct SecretBase *basesA, struct SecretBase *basesB, struct Se if (basesC[i].secretBaseId) { basesC[i].battledOwnerToday = 0; - sub_80EAD14(&basesC[i], basesD, i); + ClearDuplicateOwnedSecretBases(&basesC[i], basesD, i); } if (basesD[i].secretBaseId) { @@ -1616,6 +1639,17 @@ void sub_80EAEF4(struct SecretBaseRecordMixer *mixers) sub_80EABA4(&mixers[2], 0); } +#define INIT_SECRET_BASE_RECORD_MIXER(linkId1, linkId2, linkId3) \ + mixers[0].secretBases = secretBases + linkId1 * recordSize; \ + mixers[0].version = gLinkPlayers[linkId1].version & 0xFF; \ + mixers[0].language = gLinkPlayers[linkId1].language; \ + mixers[1].secretBases = secretBases + linkId2 * recordSize; \ + mixers[1].version = gLinkPlayers[linkId2].version & 0xFF; \ + mixers[1].language = gLinkPlayers[linkId2].language; \ + mixers[2].secretBases = secretBases + linkId3 * recordSize; \ + mixers[2].version = gLinkPlayers[linkId3].version & 0xFF; \ + mixers[2].language = gLinkPlayers[linkId3].language; + void ReceiveSecretBasesData(void *secretBases, size_t recordSize, u8 linkIdx) { struct SecretBaseRecordMixer mixers[3]; @@ -1637,48 +1671,16 @@ void ReceiveSecretBasesData(void *secretBases, size_t recordSize, u8 linkIdx) switch (linkIdx) { case 0: - mixers[0].secretBases = secretBases + 1 * recordSize; - mixers[0].version = gLinkPlayers[1].version & 0xFF; - mixers[0].language = gLinkPlayers[1].language; - mixers[1].secretBases = secretBases + 2 * recordSize; - mixers[1].version = gLinkPlayers[2].version & 0xFF; - mixers[1].language = gLinkPlayers[2].language; - mixers[2].secretBases = secretBases + 3 * recordSize; - mixers[2].version = gLinkPlayers[3].version & 0xFF; - mixers[2].language = gLinkPlayers[3].language; + INIT_SECRET_BASE_RECORD_MIXER(1, 2, 3) break; case 1: - mixers[0].secretBases = secretBases + 2 * recordSize; - mixers[0].version = gLinkPlayers[2].version & 0xFF; - mixers[0].language = gLinkPlayers[2].language; - mixers[1].secretBases = secretBases + 3 * recordSize; - mixers[1].version = gLinkPlayers[3].version & 0xFF; - mixers[1].language = gLinkPlayers[3].language; - mixers[2].secretBases = secretBases + 0 * recordSize; - mixers[2].version = gLinkPlayers[0].version & 0xFF; - mixers[2].language = gLinkPlayers[0].language; + INIT_SECRET_BASE_RECORD_MIXER(2, 3, 0) break; case 2: - mixers[0].secretBases = secretBases + 3 * recordSize; - mixers[0].version = gLinkPlayers[3].version & 0xFF; - mixers[0].language = gLinkPlayers[3].language; - mixers[1].secretBases = secretBases + 0 * recordSize; - mixers[1].version = gLinkPlayers[0].version & 0xFF; - mixers[1].language = gLinkPlayers[0].language; - mixers[2].secretBases = secretBases + 1 * recordSize; - mixers[2].version = gLinkPlayers[1].version & 0xFF; - mixers[2].language = gLinkPlayers[1].language; + INIT_SECRET_BASE_RECORD_MIXER(3, 0, 1) break; case 3: - mixers[0].secretBases = secretBases + 0 * recordSize; - mixers[0].version = gLinkPlayers[0].version & 0xFF; - mixers[0].language = gLinkPlayers[0].language; - mixers[1].secretBases = secretBases + 1 * recordSize; - mixers[1].version = gLinkPlayers[1].version & 0xFF; - mixers[1].language = gLinkPlayers[1].language; - mixers[2].secretBases = secretBases + 2 * recordSize; - mixers[2].version = gLinkPlayers[2].version & 0xFF; - mixers[2].language = gLinkPlayers[2].language; + INIT_SECRET_BASE_RECORD_MIXER(0, 1, 2) break; } @@ -1719,7 +1721,7 @@ void ClearJapaneseSecretBases(struct SecretBase *bases) } } -void sub_80EB1AC(void) +void InitSecretBaseVars(void) { VarSet(VAR_SECRET_BASE_STEP_COUNTER, 0); VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, 0); @@ -1733,13 +1735,13 @@ void sub_80EB1AC(void) sInFriendSecretBase = FALSE; } -void sub_80EB218(void) +void CheckLeftFriendsSecretBase(void) { if (VarGet(VAR_SECRET_BASE_IS_NOT_LOCAL) && sInFriendSecretBase == TRUE && !CurMapIsSecretBase()) { VarSet(VAR_SECRET_BASE_IS_NOT_LOCAL, FALSE); sInFriendSecretBase = FALSE; - sub_80EEA70(); + TryPutSecretBaseSecretsOnAir(); VarSet(VAR_SECRET_BASE_STEP_COUNTER, 0); VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, 0); VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, 0); @@ -1748,252 +1750,245 @@ void sub_80EB218(void) } } -void sub_80EB290(void) +void CheckInteractedWithFriendsDollDecor(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x800); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_DOLL); } -void sub_80EB2C8(void) +void CheckInteractedWithFriendsCushionDecor(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x400); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_CUSHION); } -void sub_80EB300(void) +void DeclinedSecretBaseBattle(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~0x3800); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~0x001); - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x2000); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~(SECRET_BASE_BATTLED_WON | SECRET_BASE_BATTLED_LOST | SECRET_BASE_DECLINED_BATTLE)); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~(SECRET_BASE_BATTLED_DRAW)); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_DECLINED_BATTLE); } } -void sub_80EB368(void) +void WonSecretBaseBattle(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~0x3800); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~0x001); - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x800); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~(SECRET_BASE_BATTLED_WON | SECRET_BASE_BATTLED_LOST | SECRET_BASE_DECLINED_BATTLE)); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~(SECRET_BASE_BATTLED_DRAW)); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_BATTLED_WON); } } -void sub_80EB3D0(void) +void LostSecretBaseBattle(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~0x3800); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~0x001); - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x1000); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~(SECRET_BASE_BATTLED_WON | SECRET_BASE_BATTLED_LOST | SECRET_BASE_DECLINED_BATTLE)); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~(SECRET_BASE_BATTLED_DRAW)); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_BATTLED_LOST); } } -void sub_80EB438(void) +void DrewSecretBaseBattle(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~0x3800); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~0x001); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x001); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~(SECRET_BASE_BATTLED_WON | SECRET_BASE_BATTLED_LOST | SECRET_BASE_DECLINED_BATTLE)); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~(SECRET_BASE_BATTLED_DRAW)); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_BATTLED_DRAW); } } -void SetSecretBaseSecretsTvFlags_Poster(void) +void CheckInteractedWithFriendsPosterDecor(void) { s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) { - case 0x31C: - case 0x31D: - case 0x31E: - case 0x31F: - case 0x324: - case 0x325: - case 0x326: - case 0x327: - case 0x32C: - case 0x32D: - case 0x330: - case 0x331: - case 0x332: - case 0x333: - case 0x334: + case METATILE_SecretBase_PikaPoster_Left: + case METATILE_SecretBase_PikaPoster_Right: + case METATILE_SecretBase_LongPoster_Left: + case METATILE_SecretBase_LongPoster_Right: + case METATILE_SecretBase_SeaPoster_Left: + case METATILE_SecretBase_SeaPoster_Right: + case METATILE_SecretBase_SkyPoster_Left: + case METATILE_SecretBase_SkyPoster_Right: + case METATILE_SecretBase_KissPoster_Left: + case METATILE_SecretBase_KissPoster_Right: + case METATILE_SecretBase_BallPoster: + case METATILE_SecretBase_GreenPoster: + case METATILE_SecretBase_RedPoster: + case METATILE_SecretBase_BluePoster: + case METATILE_SecretBase_CutePoster: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x4000); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_POSTER); break; } } -void SetSecretBaseSecretsTvFlags_MiscFurnature(void) +void CheckInteractedWithFriendsFurnitureBottom(void) { s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) { - case 0x28a: - case 0x28b: - // Bird Statue + case METATILE_SecretBase_GlassOrnament_Base1: + case METATILE_SecretBase_GlassOrnament_Base2: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x40); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_GLASS_ORNAMENT); break; - case 0x2d8: - case 0x2d9: - case 0x2da: - case 0x2db: - case 0x2dc: - case 0x2dd: - case 0x2e8: - case 0x2e9: - case 0x2ea: - case 0x2eb: - case 0x2ec: - case 0x2ed: - case 0x2ee: - case 0x2ef: - case 0x2f8: - case 0x2f9: - case 0x2fa: - case 0x2fb: - // Plants + case METATILE_SecretBase_RedPlant_Base1: + case METATILE_SecretBase_RedPlant_Base2: + case METATILE_SecretBase_TropicalPlant_Base1: + case METATILE_SecretBase_TropicalPlant_Base2: + case METATILE_SecretBase_PrettyFlower_Base1: + case METATILE_SecretBase_PrettyFlower_Base2: + case METATILE_SecretBase_ColorfulFlowers_BaseLeft1: + case METATILE_SecretBase_ColorfulFlowers_BaseRight1: + case METATILE_SecretBase_ColorfulFlowers_BaseLeft2: + case METATILE_SecretBase_ColorfulFlowers_BaseRight2: + case METATILE_SecretBase_BigPlant_BaseLeft1: + case METATILE_SecretBase_BigPlant_BaseRight1: + case METATILE_SecretBase_BigPlant_BaseLeft2: + case METATILE_SecretBase_BigPlant_BaseRight2: + case METATILE_SecretBase_GorgeousPlant_BaseLeft1: + case METATILE_SecretBase_GorgeousPlant_BaseRight1: + case METATILE_SecretBase_GorgeousPlant_BaseLeft2: + case METATILE_SecretBase_GorgeousPlant_BaseRight2: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_PLANT); break; - case 0x22c: - case 0x233: - // Fence + case METATILE_SecretBase_Fence_Horizontal: + case METATILE_SecretBase_Fence_Vertical: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x40); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_FENCE); break; - case 0x288: - case 0x289: - // Tire + case METATILE_SecretBase_Tire_BottomLeft: + case METATILE_SecretBase_Tire_BottomRight: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x100); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_TIRE); break; - case 0x22d: - case 0x22e: - case 0x22f: - // Bricks + case METATILE_SecretBase_RedBrick_Bottom: + case METATILE_SecretBase_YellowBrick_Bottom: + case METATILE_SecretBase_BlueBrick_Bottom: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x10); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_BRICK); break; - case 0x287: - case 0x28f: - case 0x298: - case 0x299: - case 0x29a: - case 0x29b: - case 0x29c: - case 0x29d: - case 0x29e: - case 0x29f: - case 0x2ab: - case 0x2b0: - case 0x2b1: - case 0x2b2: - case 0x2b4: - case 0x2b5: - case 0x2b6: - case 0x2b7: - case 0x2cb: - case 0x2cc: - case 0x2cd: - case 0x2ce: - case 0x2cf: - // Tables + case METATILE_SecretBase_SmallDesk: + case METATILE_SecretBase_PokemonDesk: + case METATILE_SecretBase_HeavyDesk_BottomLeft: + case METATILE_SecretBase_HeavyDesk_BottomMid: + case METATILE_SecretBase_HeavyDesk_BottomRight: + case METATILE_SecretBase_RaggedDesk_BottomLeft: + case METATILE_SecretBase_RaggedDesk_BottomMid: + case METATILE_SecretBase_RaggedDesk_BottomRight: + case METATILE_SecretBase_ComfortDesk_BottomLeft: + case METATILE_SecretBase_ComfortDesk_BottomMid: + case METATILE_SecretBase_ComfortDesk_BottomRight: + case METATILE_SecretBase_BrickDesk_BottomLeft: + case METATILE_SecretBase_BrickDesk_BottomMid: + case METATILE_SecretBase_BrickDesk_BottomRight: + case METATILE_SecretBase_CampDesk_BottomLeft: + case METATILE_SecretBase_CampDesk_BottomMid: + case METATILE_SecretBase_CampDesk_BottomRight: + case METATILE_SecretBase_HardDesk_BottomLeft: + case METATILE_SecretBase_HardDesk_BottomMid: + case METATILE_SecretBase_HardDesk_BottomRight: + case METATILE_SecretBase_PrettyDesk_BottomLeft: + case METATILE_SecretBase_PrettyDesk_BottomMid: + case METATILE_SecretBase_PrettyDesk_BottomRight: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_DESK); break; } } -void SetSecretBaseSecretsTvFlags_LargeDecorationSpot(void) +void CheckInteractedWithFriendsFurnitureMiddle(void) { s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) { - case 0x291: - case 0x294: - case 0x297: - case 0x2a1: - case 0x2a5: - case 0x2a9: - case 0x2ad: - case 0x2bb: - case 0x2be: - case 0x2c3: - case 0x2c6: + case METATILE_SecretBase_HeavyDesk_TopMid: + case METATILE_SecretBase_RaggedDesk_TopMid: + case METATILE_SecretBase_ComfortDesk_TopMid: + case METATILE_SecretBase_BrickDesk_TopMid: + case METATILE_SecretBase_BrickDesk_Center: + case METATILE_SecretBase_CampDesk_TopMid: + case METATILE_SecretBase_CampDesk_Center: + case METATILE_SecretBase_HardDesk_TopMid: + case METATILE_SecretBase_HardDesk_Center: + case METATILE_SecretBase_PrettyDesk_TopMid: + case METATILE_SecretBase_PrettyDesk_Center: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_DESK); break; } } -void SetSecretBaseSecretsTvFlags_SmallDecorationSpot(void) +void CheckInteractedWithFriendsFurnitureTop(void) { s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) { - case 0x290: - case 0x292: - case 0x293: - case 0x295: - case 0x296: - case 0x2a0: - case 0x2a2: - case 0x2a3: - case 0x2a4: - case 0x2a6: - case 0x2a7: - case 0x2a8: - case 0x2aa: - case 0x2ac: - case 0x2ae: - case 0x2af: - case 0x2bc: - case 0x2bd: - case 0x2bf: - case 0x2c4: - case 0x2c5: - case 0x2c7: + case METATILE_SecretBase_HeavyDesk_TopLeft: + case METATILE_SecretBase_HeavyDesk_TopRight: + case METATILE_SecretBase_RaggedDesk_TopLeft: + case METATILE_SecretBase_RaggedDesk_TopRight: + case METATILE_SecretBase_ComfortDesk_TopLeft: + case METATILE_SecretBase_ComfortDesk_TopRight: + case METATILE_SecretBase_BrickDesk_TopLeft: + case METATILE_SecretBase_BrickDesk_TopRight: + case METATILE_SecretBase_BrickDesk_MidLeft: + case METATILE_SecretBase_BrickDesk_MidRight: + case METATILE_SecretBase_CampDesk_TopLeft: + case METATILE_SecretBase_CampDesk_TopRight: + case METATILE_SecretBase_CampDesk_MidLeft: + case METATILE_SecretBase_CampDesk_MidRight: + case METATILE_SecretBase_HardDesk_TopLeft: + case METATILE_SecretBase_HardDesk_TopRight: + case METATILE_SecretBase_HardDesk_MidLeft: + case METATILE_SecretBase_HardDesk_MidRight: + case METATILE_SecretBase_PrettyDesk_TopLeft: + case METATILE_SecretBase_PrettyDesk_TopRight: + case METATILE_SecretBase_PrettyDesk_MidLeft: + case METATILE_SecretBase_PrettyDesk_MidRight: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_DESK); break; - case 0x280: - case 0x281: + case METATILE_SecretBase_Tire_TopLeft: + case METATILE_SecretBase_Tire_TopRight: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x100); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_TIRE); break; - case 0x225: - case 0x226: - case 0x227: + case METATILE_SecretBase_RedBrick_Top: + case METATILE_SecretBase_YellowBrick_Top: + case METATILE_SecretBase_BlueBrick_Top: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x10); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_BRICK); break; } } -void SetSecretBaseSecretsTvFlags_SandOrnament(void) +void CheckInteractedWithFriendsSandOrnament(void) { s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch ((int)MapGridGetMetatileIdAt(x, y)) { - case 0x28d: - case 0x28e: - // Sand Ornament + case METATILE_SecretBase_SandOrnament_Base1: + case METATILE_SecretBase_SandOrnament_Base2: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SAND_ORNAMENT); break; } } diff --git a/src/shop.c b/src/shop.c index bf15568fbc..6e6c10e430 100755 --- a/src/shop.c +++ b/src/shop.c @@ -17,7 +17,7 @@ #include "item_menu.h" #include "list_menu.h" #include "main.h" -#include "alloc.h" +#include "malloc.h" #include "menu.h" #include "menu_helpers.h" #include "money.h" @@ -38,6 +38,7 @@ #include "constants/metatile_behaviors.h" #include "constants/rgb.h" #include "constants/songs.h" +#include "constants/tv.h" EWRAM_DATA struct MartInfo gMartInfo = {0}; EWRAM_DATA struct ShopData *gShopDataPtr = NULL; @@ -347,7 +348,7 @@ static void Task_HandleShopMenuBuy(u8 taskId) data[8] = (u32)CB2_InitBuyMenu >> 16; data[9] = (u32)CB2_InitBuyMenu; gTasks[taskId].func = Task_GoToBuyOrSellMenu; - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); } static void Task_HandleShopMenuSell(u8 taskId) @@ -356,7 +357,7 @@ static void Task_HandleShopMenuSell(u8 taskId) data[8] = (u32)CB2_GoToSellMenu >> 16; data[9] = (u32)CB2_GoToSellMenu; gTasks[taskId].func = Task_GoToBuyOrSellMenu; - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); } void CB2_ExitSellMenu(void) @@ -389,7 +390,7 @@ static void Task_GoToBuyOrSellMenu(u8 taskId) static void MapPostLoadHook_ReturnToShopMenu(void) { - pal_fill_black(); + FadeInFromBlack(); CreateTask(Task_ReturnToShopMenu, 8); } @@ -438,7 +439,7 @@ static void CB2_InitBuyMenu(void) { case 0: SetVBlankHBlankCallbacksToNull(); - CpuFastFill(0, (void *)OAM, 0x400); + CpuFastFill(0, (void *)OAM, OAM_SIZE); ScanlineEffect_Stop(); reset_temp_tile_data_buffers(); FreeAllSpritePalettes(); @@ -560,7 +561,7 @@ static void BuyMenuPrintPriceInList(u8 windowId, s32 item, u8 y) { ConvertIntToDecimalStringN( gStringVar1, - ItemId_GetPrice(item) >> GetPriceReduction(1), + ItemId_GetPrice(item) >> GetPriceReduction(POKENEWS_SLATEPORT), STR_CONV_MODE_LEFT_ALIGN, 5); } @@ -855,7 +856,7 @@ static void BuyMenuDrawEventObjects(void) if (BuyMenuCheckIfEventObjectOverlapsMenuBg(gShopDataPtr->viewportObjects[i]) == TRUE) { gSprites[spriteId].subspriteTableNum = 4; - gSprites[spriteId].subspriteMode = 1; + gSprites[spriteId].subspriteMode = SUBSPRITES_ON; } StartSpriteAnim(&gSprites[spriteId], gShopDataPtr->viewportObjects[i][ANIM_NUM]); @@ -932,7 +933,7 @@ static void Task_BuyMenu(u8 taskId) if (gMartInfo.martType == MART_TYPE_NORMAL) { - gShopDataPtr->totalCost = (ItemId_GetPrice(itemId) >> GetPriceReduction(1)); + gShopDataPtr->totalCost = (ItemId_GetPrice(itemId) >> GetPriceReduction(POKENEWS_SLATEPORT)); } else { @@ -1011,7 +1012,7 @@ static void Task_BuyHowManyDialogueHandleInput(u8 taskId) if (AdjustQuantityAccordingToDPadInput(&tItemCount, gShopDataPtr->maxQuantity) == TRUE) { - gShopDataPtr->totalCost = (ItemId_GetPrice(tItemId) >> GetPriceReduction(1)) * tItemCount; + gShopDataPtr->totalCost = (ItemId_GetPrice(tItemId) >> GetPriceReduction(POKENEWS_SLATEPORT)) * tItemCount; BuyMenuPrintItemQuantityAndPrice(taskId); } else @@ -1147,7 +1148,7 @@ static void BuyMenuPrintItemQuantityAndPrice(u8 taskId) FillWindowPixelBuffer(4, PIXEL_FILL(1)); PrintMoneyAmount(4, 38, 1, gShopDataPtr->totalCost, TEXT_SPEED_FF); - ConvertIntToDecimalStringN(gStringVar1, tItemCount, 2, 2); + ConvertIntToDecimalStringN(gStringVar1, tItemCount, STR_CONV_MODE_LEADING_ZEROS, 2); StringExpandPlaceholders(gStringVar4, gText_xVar1); BuyMenuPrint(4, gStringVar4, 0, 1, 0, 0); } diff --git a/src/slot_machine.c b/src/slot_machine.c index 003ac3327c..a7dcd1613d 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -14,7 +14,7 @@ #include "util.h" #include "text.h" #include "menu.h" -#include "alloc.h" +#include "malloc.h" #include "bg.h" #include "gpu_regs.h" #include "coins.h" @@ -453,7 +453,7 @@ const struct WindowTemplate gUnknown_085A7444 = 0, 1, 3, 20, 13, 13, 1 }; -const u8 gColors_ReeltimeHelp[] = {3, 1, 2, 0}; +static const u8 sColors_ReeltimeHelp[] = {TEXT_COLOR_LIGHT_GREY, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}; bool8 (*const SlotActions[])(struct Task *task) = { @@ -1060,7 +1060,7 @@ static bool8 SlotAction9(struct Task *task) ReelTasks_SetUnkTaskData(1); ReelTasks_SetUnkTaskData(2); - sub_80EEC80(); // something with daily slot variable + IncrementDailySlotsUses(); task->data[0] = 0; if (sSlotMachine->luckyFlags & LUCKY_BIAS_REELTIME) @@ -3126,7 +3126,7 @@ static void InfoBox_8104B80(struct Task *task) static void InfoBox_AddText(struct Task *task) { - AddTextPrinterParameterized3(1, 1, 2, 5, gColors_ReeltimeHelp, 0, gText_ReelTimeHelp); + AddTextPrinterParameterized3(1, 1, 2, 5, sColors_ReeltimeHelp, 0, gText_ReelTimeHelp); CopyWindowToVram(1, 3); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); task->data[0]++; diff --git a/src/smokescreen.c b/src/smokescreen.c index 61e011451f..1ee0c658c7 100644 --- a/src/smokescreen.c +++ b/src/smokescreen.c @@ -4,46 +4,46 @@ #include "sprite.h" #include "util.h" -static void sub_8075370(struct Sprite *); +static void SmokescreenImpact_Callback(struct Sprite *); -extern const struct CompressedSpriteSheet gUnknown_0831C620; -extern const struct CompressedSpritePalette gUnknown_0831C628; -extern const struct SpriteTemplate gUnknown_0831C688; +extern const struct CompressedSpriteSheet gSmokescreenImpactSpriteSheet; +extern const struct CompressedSpritePalette gSmokescreenlImpactSpritePalette; +extern const struct SpriteTemplate gSmokescreenImpactSpriteTemplate; -u8 sub_807521C(s16 x, s16 y, u8 a3) +u8 SmokescreenImpact(s16 x, s16 y, u8 a3) { u8 mainSpriteId; u8 spriteId1, spriteId2, spriteId3, spriteId4; struct Sprite *mainSprite; - if (GetSpriteTileStartByTag(gUnknown_0831C620.tag) == 0xFFFF) + if (GetSpriteTileStartByTag(gSmokescreenImpactSpriteSheet.tag) == 0xFFFF) { - LoadCompressedSpriteSheetUsingHeap(&gUnknown_0831C620); - LoadCompressedSpritePaletteUsingHeap(&gUnknown_0831C628); + LoadCompressedSpriteSheetUsingHeap(&gSmokescreenImpactSpriteSheet); + LoadCompressedSpritePaletteUsingHeap(&gSmokescreenlImpactSpritePalette); } - mainSpriteId = CreateInvisibleSpriteWithCallback(sub_8075370); + mainSpriteId = CreateInvisibleSpriteWithCallback(SmokescreenImpact_Callback); mainSprite = &gSprites[mainSpriteId]; mainSprite->data[1] = a3; - spriteId1 = CreateSprite(&gUnknown_0831C688, x - 16, y - 16, 2); + spriteId1 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x - 16, y - 16, 2); gSprites[spriteId1].data[0] = mainSpriteId; mainSprite->data[0]++; AnimateSprite(&gSprites[spriteId1]); - spriteId2 = CreateSprite(&gUnknown_0831C688, x, y - 16, 2); + spriteId2 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x, y - 16, 2); gSprites[spriteId2].data[0] = mainSpriteId; mainSprite->data[0]++; StartSpriteAnim(&gSprites[spriteId2], 1); AnimateSprite(&gSprites[spriteId2]); - spriteId3 = CreateSprite(&gUnknown_0831C688, x - 16, y, 2); + spriteId3 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x - 16, y, 2); gSprites[spriteId3].data[0] = mainSpriteId; mainSprite->data[0]++; StartSpriteAnim(&gSprites[spriteId3], 2); AnimateSprite(&gSprites[spriteId3]); - spriteId4 = CreateSprite(&gUnknown_0831C688, x, y, 2); + spriteId4 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x, y, 2); gSprites[spriteId4].data[0] = mainSpriteId; mainSprite->data[0]++; StartSpriteAnim(&gSprites[spriteId4], 3); @@ -52,12 +52,12 @@ u8 sub_807521C(s16 x, s16 y, u8 a3) return mainSpriteId; } -static void sub_8075370(struct Sprite *sprite) +static void SmokescreenImpact_Callback(struct Sprite *sprite) { if (!sprite->data[0]) { - FreeSpriteTilesByTag(gUnknown_0831C620.tag); - FreeSpritePaletteByTag(gUnknown_0831C628.tag); + FreeSpriteTilesByTag(gSmokescreenImpactSpriteSheet.tag); + FreeSpritePaletteByTag(gSmokescreenlImpactSpritePalette.tag); if (!sprite->data[1]) DestroySprite(sprite); else @@ -65,7 +65,7 @@ static void sub_8075370(struct Sprite *sprite) } } -void sub_80753B4(struct Sprite *sprite) +void SpriteCB_DestroySprite(struct Sprite *sprite) { if (sprite->animEnded) { diff --git a/src/start_menu.c b/src/start_menu.c index fcde176ac2..a816f4f2f0 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -83,7 +83,7 @@ EWRAM_DATA static u8 sBattlePyramidFloorWindowId = 0; EWRAM_DATA static u8 sStartMenuCursorPos = 0; EWRAM_DATA static u8 sNumStartMenuActions = 0; EWRAM_DATA static u8 sCurrentStartMenuActions[9] = {0}; -EWRAM_DATA static u8 sUnknown_02037619[2] = {0}; +EWRAM_DATA static u8 sInitStartMenuData[2] = {0}; EWRAM_DATA static u8 (*sSaveDialogCallback)(void) = NULL; EWRAM_DATA static u8 sSaveDialogTimer = 0; @@ -135,9 +135,7 @@ static void StartMenuTask(u8 taskId); static void SaveGameTask(u8 taskId); static void sub_80A0550(u8 taskId); static void sub_80A08A4(u8 taskId); - -// Some other callback -static bool8 sub_809FA00(void); +static bool8 FieldCB_ReturnToFieldStartMenu(void); static const struct WindowTemplate sSafariBallsWindowTemplate = {0, 1, 1, 9, 4, 0xF, 8}; @@ -203,7 +201,7 @@ static void BuildLinkModeStartMenu(void); static void BuildUnionRoomStartMenu(void); static void BuildBattlePikeStartMenu(void); static void BuildBattlePyramidStartMenu(void); -static void BuildMultiBattleRoomStartMenu(void); +static void BuildMultiPartnerRoomStartMenu(void); static void ShowSafariBallsWindow(void); static void ShowPyramidFloorWindow(void); static void RemoveExtraStartMenuWindows(void); @@ -258,9 +256,9 @@ static void BuildStartMenuActions(void) { BuildBattlePyramidStartMenu(); } - else if (InMultiBattleRoom()) + else if (InMultiPartnerRoom()) { - BuildMultiBattleRoomStartMenu(); + BuildMultiPartnerRoomStartMenu(); } else { @@ -358,7 +356,7 @@ static void BuildBattlePyramidStartMenu(void) AddStartMenuAction(MENU_ACTION_EXIT); } -static void BuildMultiBattleRoomStartMenu(void) +static void BuildMultiPartnerRoomStartMenu(void) { AddStartMenuAction(MENU_ACTION_POKEMON); AddStartMenuAction(MENU_ACTION_PLAYER); @@ -440,33 +438,33 @@ static bool32 PrintStartMenuActions(s8 *pIndex, u32 count) static bool32 InitStartMenuStep(void) { - s8 value = sUnknown_02037619[0]; + s8 state = sInitStartMenuData[0]; - switch (value) + switch (state) { case 0: - sUnknown_02037619[0]++; + sInitStartMenuData[0]++; break; case 1: BuildStartMenuActions(); - sUnknown_02037619[0]++; + sInitStartMenuData[0]++; break; case 2: sub_81973A4(); DrawStdWindowFrame(sub_81979C4(sNumStartMenuActions), FALSE); - sUnknown_02037619[1] = 0; - sUnknown_02037619[0]++; + sInitStartMenuData[1] = 0; + sInitStartMenuData[0]++; break; case 3: if (GetSafariZoneFlag()) ShowSafariBallsWindow(); if (InBattlePyramid()) ShowPyramidFloorWindow(); - sUnknown_02037619[0]++; + sInitStartMenuData[0]++; break; case 4: - if (PrintStartMenuActions(&sUnknown_02037619[1], 2)) - sUnknown_02037619[0]++; + if (PrintStartMenuActions(&sInitStartMenuData[1], 2)) + sInitStartMenuData[0]++; break; case 5: sStartMenuCursorPos = sub_81983AC(GetStartMenuWindowId(), 1, 0, 9, 16, sNumStartMenuActions, sStartMenuCursorPos); @@ -479,8 +477,8 @@ static bool32 InitStartMenuStep(void) static void InitStartMenu(void) { - sUnknown_02037619[0] = 0; - sUnknown_02037619[1] = 0; + sInitStartMenuData[0] = 0; + sInitStartMenuData[1] = 0; while (!InitStartMenuStep()) ; } @@ -495,31 +493,31 @@ static void CreateStartMenuTask(TaskFunc followupFunc) { u8 taskId; - sUnknown_02037619[0] = 0; - sUnknown_02037619[1] = 0; + sInitStartMenuData[0] = 0; + sInitStartMenuData[1] = 0; taskId = CreateTask(StartMenuTask, 0x50); SetTaskFuncWithFollowupFunc(taskId, StartMenuTask, followupFunc); } -static bool8 sub_809FA00(void) +static bool8 FieldCB_ReturnToFieldStartMenu(void) { if (InitStartMenuStep() == FALSE) { return FALSE; } - sub_80AF688(); + ReturnToFieldOpenStartMenu(); return TRUE; } -void sub_809FA18(void) // Called from field_screen.s +void ShowReturnToFieldStartMenu(void) { - sUnknown_02037619[0] = 0; - sUnknown_02037619[1] = 0; - gFieldCallback2 = sub_809FA00; + sInitStartMenuData[0] = 0; + sInitStartMenuData[1] = 0; + gFieldCallback2 = FieldCB_ReturnToFieldStartMenu; } -void sub_809FA34(u8 taskId) // Referenced in field_screen.s and rom_8011DC0.s +void Task_ShowStartMenu(u8 taskId) { struct Task* task = &gTasks[taskId]; @@ -539,7 +537,7 @@ void sub_809FA34(u8 taskId) // Referenced in field_screen.s and rom_8011DC0.s } } -void ShowStartMenu(void) // Called from overworld.c and field_control_avatar.s +void ShowStartMenu(void) { if (!IsUpdateLinkStateCBActive()) { @@ -547,7 +545,7 @@ void ShowStartMenu(void) // Called from overworld.c and field_control_avatar.s sub_808B864(); sub_808BCF4(); } - CreateStartMenuTask(sub_809FA34); + CreateStartMenuTask(Task_ShowStartMenu); ScriptContext2_Enable(); } @@ -570,7 +568,7 @@ static bool8 HandleStartMenuInput(void) PlaySE(SE_SELECT); if (sStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].func.u8_void == StartMenuPokedexCallback) { - if (GetNationalPokedexCount(0) == 0) + if (GetNationalPokedexCount(FLAG_GET_SEEN) == 0) return FALSE; } @@ -581,7 +579,7 @@ static bool8 HandleStartMenuInput(void) && gMenuCallback != StartMenuSafariZoneRetireCallback && gMenuCallback != StartMenuBattlePyramidRetireCallback) { - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); } return FALSE; @@ -743,11 +741,12 @@ static bool8 StartMenuBattlePyramidRetireCallback(void) return FALSE; } -void sub_809FDD4(void) +// Functionally unused +void ShowBattlePyramidStartMenu(void) { ClearDialogWindowAndFrameToTransparent(0, FALSE); ScriptUnfreezeEventObjects(); - CreateStartMenuTask(sub_809FA34); + CreateStartMenuTask(Task_ShowStartMenu); ScriptContext2_Enable(); } @@ -827,7 +826,7 @@ static bool8 BattlePyramidRetireCallback(void) ClearDialogWindowAndFrameToTransparent(0, TRUE); ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); - ScriptContext1_SetupScript(BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88); + ScriptContext1_SetupScript(BattlePyramid_Retire); return TRUE; } @@ -853,7 +852,7 @@ static u8 RunSaveCallback(void) return sSaveDialogCallback(); } -void SaveGame(void) // Called from cable_club.s +void SaveGame(void) { InitSave(); CreateTask(SaveGameTask, 0x50); @@ -967,8 +966,8 @@ static u8 SaveConfirmInputCallback(void) case 0: // Yes switch (gSaveFileStatus) { - case 0: - case 2: + case SAVE_STATUS_EMPTY: + case SAVE_STATUS_CORRUPT: if (gDifferentSaveFile == FALSE) { sSaveDialogCallback = SaveFileExistsCallback; @@ -1048,7 +1047,7 @@ static u8 SaveDoSaveCallback(void) u8 saveStatus; IncrementGameStat(GAME_STAT_SAVED_GAME); - sub_81A9E90(); + PausePyramidChallenge(); if (gDifferentSaveFile == TRUE) { @@ -1060,14 +1059,10 @@ static u8 SaveDoSaveCallback(void) saveStatus = TrySavingData(SAVE_NORMAL); } - if (saveStatus == 1) // Save succeded - { + if (saveStatus == SAVE_STATUS_OK) ShowSaveMessage(gText_PlayerSavedGame, SaveSuccessCallback); - } - else // Save error - { + else ShowSaveMessage(gText_SaveError, SaveErrorCallback); - } SaveStartTimer(); return SAVE_IN_PROGRESS; @@ -1202,7 +1197,7 @@ static bool32 sub_80A03E4(u8 *par1) return FALSE; } -void sub_80A0514(void) // Called from cable_club.s +void sub_80A0514(void) { if (sub_80A03E4(&gMain.state)) { @@ -1371,7 +1366,7 @@ static void sub_80A08A4(u8 taskId) } } -void sub_80A08CC(void) // Referenced in data/specials.inc and data/scripts/maps/BattleFrontier_BattleTowerLobby.inc +void sub_80A08CC(void) { u8 taskId = CreateTask(sub_8153688, 0x5); gTasks[taskId].data[2] = 1; @@ -1386,7 +1381,7 @@ static void HideStartMenuWindow(void) ScriptContext2_Disable(); } -void HideStartMenu(void) // Called from map_name_popup.s +void HideStartMenu(void) { PlaySE(SE_SELECT); HideStartMenuWindow(); diff --git a/src/starter_choose.c b/src/starter_choose.c index 5524d407b0..3484919925 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -112,16 +112,16 @@ static const struct WindowTemplate gUnknown_085B1DE4 = static const u8 sPokeballCoords[STARTER_MON_COUNT][2] = { - {0x3c, 0x40}, - {0x78, 0x58}, - {0xb4, 0x40}, + {60, 64}, + {120, 88}, + {180, 64}, }; -static const u8 gStarterChoose_LabelCoords[][2] = +static const u8 sStarterLabelCoords[][2] = { - {0x00, 0x09}, - {0x10, 0x0a}, - {0x08, 0x04}, + {0, 9}, + {16, 10}, + {8, 4}, }; static const u16 sStarterMon[STARTER_MON_COUNT] = @@ -162,15 +162,15 @@ static const struct BgTemplate gUnknown_085B1E00[3] = }, }; -static const u8 gUnknown_085B1E0C[] = {0x00, 0x01, 0x03}; +static const u8 sTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GREY}; static const struct OamData gOamData_85B1E10 = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, @@ -184,10 +184,10 @@ static const struct OamData gOamData_85B1E10 = static const struct OamData gOamData_85B1E18 = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, @@ -201,10 +201,10 @@ static const struct OamData gOamData_85B1E18 = static const struct OamData gOamData_85B1E20 = { .y = 160, - .affineMode = 3, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -215,11 +215,11 @@ static const struct OamData gOamData_85B1E20 = .affineParam = 0, }; -static const u8 gUnknown_085B1E28[][2] = +static const u8 sCursorCoords[][2] = { - {0x3c, 0x20}, - {0x78, 0x38}, - {0xb4, 0x20}, + {60, 32}, + {120, 56}, + {180, 32}, }; static const union AnimCmd gSpriteAnim_85B1E30[] = @@ -579,36 +579,36 @@ static void Task_StarterChoose6(u8 taskId) static void CreateStarterPokemonLabel(u8 selection) { - u8 text[32]; + u8 categoryText[32]; struct WindowTemplate winTemplate; const u8 *speciesName; s32 width; u8 labelLeft, labelRight, labelTop, labelBottom; u16 species = GetStarterPokemon(selection); - CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text); + CopyMonCategoryText(SpeciesToNationalPokedexNum(species), categoryText); speciesName = gSpeciesNames[species]; winTemplate = gUnknown_085B1DE4; - winTemplate.tilemapLeft = gStarterChoose_LabelCoords[selection][0]; - winTemplate.tilemapTop = gStarterChoose_LabelCoords[selection][1]; + winTemplate.tilemapLeft = sStarterLabelCoords[selection][0]; + winTemplate.tilemapTop = sStarterLabelCoords[selection][1]; sStarterChooseWindowId = AddWindow(&winTemplate); FillWindowPixelBuffer(sStarterChooseWindowId, PIXEL_FILL(0)); - width = GetStringCenterAlignXOffset(7, text, 0x68); - AddTextPrinterParameterized3(sStarterChooseWindowId, 7, width, 1, gUnknown_085B1E0C, 0, text); + width = GetStringCenterAlignXOffset(7, categoryText, 0x68); + AddTextPrinterParameterized3(sStarterChooseWindowId, 7, width, 1, sTextColors, 0, categoryText); width = GetStringCenterAlignXOffset(1, speciesName, 0x68); - AddTextPrinterParameterized3(sStarterChooseWindowId, 1, width, 0x11, gUnknown_085B1E0C, 0, speciesName); + AddTextPrinterParameterized3(sStarterChooseWindowId, 1, width, 0x11, sTextColors, 0, speciesName); PutWindowTilemap(sStarterChooseWindowId); schedule_bg_copy_tilemap_to_vram(0); - labelLeft = gStarterChoose_LabelCoords[selection][0] * 8 - 4; - labelRight = (gStarterChoose_LabelCoords[selection][0] + 13) * 8 + 4; - labelTop = gStarterChoose_LabelCoords[selection][1] * 8; - labelBottom = (gStarterChoose_LabelCoords[selection][1] + 4) * 8; + labelLeft = sStarterLabelCoords[selection][0] * 8 - 4; + labelRight = (sStarterLabelCoords[selection][0] + 13) * 8 + 4; + labelTop = sStarterLabelCoords[selection][1] * 8; + labelBottom = (sStarterLabelCoords[selection][1] + 4) * 8; SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(labelLeft, labelRight)); SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(labelTop, labelBottom)); } @@ -647,8 +647,8 @@ static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y) void sub_81346DC(struct Sprite *sprite) { - sprite->pos1.x = gUnknown_085B1E28[gTasks[sprite->data[0]].tStarterSelection][0]; - sprite->pos1.y = gUnknown_085B1E28[gTasks[sprite->data[0]].tStarterSelection][1]; + sprite->pos1.x = sCursorCoords[gTasks[sprite->data[0]].tStarterSelection][0]; + sprite->pos1.y = sCursorCoords[gTasks[sprite->data[0]].tStarterSelection][1]; sprite->pos2.y = Sin(sprite->data[1], 8); sprite->data[1] = (u8)(sprite->data[1]) + 4; } diff --git a/src/strings.c b/src/strings.c index ebc995f133..f0566c8590 100644 --- a/src/strings.c +++ b/src/strings.c @@ -2,23 +2,23 @@ #include "strings.h" ALIGNED(4) -const u8 gExpandedPlaceholder_Empty[] = _(""); -const u8 gExpandedPlaceholder_Kun[] = _(""); -const u8 gExpandedPlaceholder_Chan[] = _(""); -const u8 gExpandedPlaceholder_Sapphire[] = _("SAPPHIRE"); -const u8 gExpandedPlaceholder_Ruby[] = _("RUBY"); -const u8 gExpandedPlaceholder_Emerald[] = _("EMERALD"); -const u8 gExpandedPlaceholder_Aqua[] = _("AQUA"); -const u8 gExpandedPlaceholder_Magma[] = _("MAGMA"); -const u8 gExpandedPlaceholder_Archie[] = _("ARCHIE"); -const u8 gExpandedPlaceholder_Maxie[] = _("MAXIE"); -const u8 gExpandedPlaceholder_Kyogre[] = _("KYOGRE"); -const u8 gExpandedPlaceholder_Groudon[] = _("GROUDON"); -const u8 gExpandedPlaceholder_Brendan[] = _("BRENDAN"); -const u8 gExpandedPlaceholder_May[] = _("MAY"); +const u8 gText_ExpandedPlaceholder_Empty[] = _(""); +const u8 gText_ExpandedPlaceholder_Kun[] = _(""); +const u8 gText_ExpandedPlaceholder_Chan[] = _(""); +const u8 gText_ExpandedPlaceholder_Sapphire[] = _("SAPPHIRE"); +const u8 gText_ExpandedPlaceholder_Ruby[] = _("RUBY"); +const u8 gText_ExpandedPlaceholder_Emerald[] = _("EMERALD"); +const u8 gText_ExpandedPlaceholder_Aqua[] = _("AQUA"); +const u8 gText_ExpandedPlaceholder_Magma[] = _("MAGMA"); +const u8 gText_ExpandedPlaceholder_Archie[] = _("ARCHIE"); +const u8 gText_ExpandedPlaceholder_Maxie[] = _("MAXIE"); +const u8 gText_ExpandedPlaceholder_Kyogre[] = _("KYOGRE"); +const u8 gText_ExpandedPlaceholder_Groudon[] = _("GROUDON"); +const u8 gText_ExpandedPlaceholder_Brendan[] = _("BRENDAN"); +const u8 gText_ExpandedPlaceholder_May[] = _("MAY"); const u8 gText_EggNickname[] = _("EGG"); const u8 gText_Pokemon[] = _("POKéMON"); -const u8 gProfBirchMatchCallName[] = _("PROF. BIRCH"); +const u8 gText_ProfBirchMatchCallName[] = _("PROF. BIRCH"); const u8 gText_MainMenuNewGame[] = _("NEW GAME"); const u8 gText_MainMenuContinue[] = _("CONTINUE"); const u8 gText_MainMenuOption[] = _("OPTION"); @@ -28,31 +28,31 @@ const u8 gText_MainMenuMysteryEvents[] = _("MYSTERY EVENTS"); const u8 gText_WirelessNotConnected[] = _("The Wireless Adapter is not\nconnected."); const u8 gText_MysteryGiftCantUse[] = _("MYSTERY GIFT can't be used while\nthe Wireless Adapter is attached."); const u8 gText_MysteryEventsCantUse[] = _("MYSTERY EVENTS can't be used while\nthe Wireless Adapter is attached."); -const u8 gUnknown_085E836D[] = _("Updating save file using external\ndata. Please wait."); -const u8 gUnknown_085E83A2[] = _("The save file has been updated."); +const u8 gText_UpdatingSaveExternalData[] = _("Updating save file using external\ndata. Please wait."); // Unused +const u8 gText_SaveFileUpdated[] = _("The save file has been updated."); // Unused const u8 gText_SaveFileCorrupted[] = _("The save file is corrupted. The\nprevious save file will be loaded."); const u8 gText_SaveFileErased[] = _("The save file has been erased\ndue to corruption or damage."); const u8 gJPText_No1MSubCircuit[] = _("1Mサブきばんが ささっていません!"); const u8 gText_BatteryRunDry[] = _("The internal battery has run dry.\nThe game can be played.\pHowever, clock-based events will\nno longer occur."); -const u8 gUnknown_085E84BF[] = _("PLAYER"); -const u8 gUnknown_085E84C6[] = _("POKéDEX"); -const u8 gText_MainMenuTime[] = _("TIME"); -const u8 gUnknown_085E84D3[] = _("BADGES"); -const u8 gUnknown_085E84DA[] = _("A Button"); -const u8 gUnknown_085E84E3[] = _("B Button"); -const u8 gUnknown_085E84EC[] = _("R Button"); -const u8 gUnknown_085E84F5[] = _("L Button"); -const u8 gUnknown_085E84FE[] = _("START"); -const u8 gUnknown_085E8504[] = _("SELECT"); -const u8 gUnknown_085E850B[] = _("+ Control Pad"); -const u8 gUnknown_085E8519[] = _("L Button R Button"); -const u8 gUnknown_085E852C[] = _("CONTROLS"); -ALIGNED(4) const u8 gUnknown_085E8538[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK"); -ALIGNED(4) const u8 gUnknown_085E8544[] = _("{A_BUTTON}NEXT"); -ALIGNED(4) const u8 gUnknown_085E854C[] = _("{A_BUTTON}NEXT {B_BUTTON}BACK"); +const u8 gText_Player[] = _("PLAYER"); // Unused +const u8 gText_Pokedex[] = _("POKéDEX"); // Unused +const u8 gText_Time[] = _("TIME"); +const u8 gText_Badges[] = _("BADGES"); // Unused +const u8 gText_AButton[] = _("A Button"); // Unused +const u8 gText_BButton[] = _("B Button"); // Unused +const u8 gText_RButton[] = _("R Button"); // Unused +const u8 gText_LButton[] = _("L Button"); // Unused +const u8 gText_Start[] = _("START"); // Unused +const u8 gText_Select[] = _("SELECT"); // Unused +const u8 gText_ControlPad[] = _("+ Control Pad"); // Unused +const u8 gText_LButtonRButton[] = _("L Button R Button"); // Unused +const u8 gText_Controls[] = _("CONTROLS"); // Unused +ALIGNED(4) const u8 gText_PickOk[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK"); // Unused +ALIGNED(4) const u8 gText_Next[] = _("{A_BUTTON}NEXT"); // Unused +ALIGNED(4) const u8 gText_NextBack[] = _("{A_BUTTON}NEXT {B_BUTTON}BACK"); // Unused ALIGNED(4) const u8 gText_PickNextCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}NEXT {B_BUTTON}CANCEL"); ALIGNED(4) const u8 gText_PickCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}{B_BUTTON}CANCEL"); -ALIGNED(4) const u8 gText_UnkCtrlF800Exit[] = _("{A_BUTTON}EXIT"); +ALIGNED(4) const u8 gText_AButtonExit[] = _("{A_BUTTON}EXIT"); const u8 gText_BirchBoy[] = _("BOY"); const u8 gText_BirchGirl[] = _("GIRL"); const u8 gText_DefaultNameStu[] = _("STU"); @@ -99,28 +99,28 @@ const u8 gText_ThisIsAPokemon[] = _("This is what we call a “POKéMON.”{PAUS const u8 gText_5MarksPokemon[] = _("????? POKéMON"); const u8 gText_UnkHeight[] = _("{CLEAR_TO 0x0C}??'??”"); const u8 gText_UnkWeight[] = _("????.? lbs."); -const u8 gUnknown_085E86DC[] = _(" POKéMON"); -const u8 gUnknown_085E86FB[] = _("{CLEAR_TO 0x0C} ' ”"); -const u8 gUnknown_085E8709[] = _(" . lbs."); -const u8 gUnknown_085E871A[] = _(""); +const u8 gText_EmptyPkmnCategory[] = _(" POKéMON"); // Unused +const u8 gText_EmptyHeight[] = _("{CLEAR_TO 0x0C} ' ”"); // Unused +const u8 gText_EmptyWeight[] = _(" . lbs."); // Unused +const u8 gText_EmptyPokedexInfo1[] = _(""); // Unused const u8 gText_CryOf[] = _("CRY OF"); -const u8 gUnknown_085E8722[] = _(""); +const u8 gText_EmptyPokedexInfo2[] = _(""); // Unused const u8 gText_SizeComparedTo[] = _("SIZE COMPARED TO "); const u8 gText_PokedexRegistration[] = _("POKéDEX registration completed."); const u8 gText_HTHeight[] = _("HT"); const u8 gText_WTWeight[] = _("WT"); const u8 gText_SearchingPleaseWait[] = _("Searching…\nPlease wait."); const u8 gText_SearchCompleted[] = _("Search completed."); -const u8 gUnknown_085E8785[] = _("No matching POKéMON were found."); -const u8 gUnknown_085E87A5[] = _("Search for POKéMON based on\nselected parameters."); -const u8 gUnknown_085E87D6[] = _("Switch POKéDEX listings."); -const u8 gUnknown_085E87EF[] = _("Return to the POKéDEX."); -const u8 gUnknown_085E8806[] = _("Select the POKéDEX mode."); -const u8 gUnknown_085E881F[] = _("Select the POKéDEX listing mode."); -const u8 gUnknown_085E8840[] = _("List by the first letter in the name.\nSpotted POKéMON only."); -const u8 gUnknown_085E887C[] = _("List by body color.\nSpotted POKéMON only."); -const u8 gUnknown_085E88A6[] = _("List by type.\nOwned POKéMON only."); -const u8 gUnknown_085E88C8[] = _("Execute search/switch."); +const u8 gText_NoMatchingPkmnWereFound[] = _("No matching POKéMON were found."); +const u8 gText_SearchForPkmnBasedOnParameters[] = _("Search for POKéMON based on\nselected parameters."); +const u8 gText_SwitchPokedexListings[] = _("Switch POKéDEX listings."); +const u8 gText_ReturnToPokedex[] = _("Return to the POKéDEX."); +const u8 gText_SelectPokedexMode[] = _("Select the POKéDEX mode."); +const u8 gText_SelectPokedexListingMode[] = _("Select the POKéDEX listing mode."); +const u8 gText_ListByFirstLetter[] = _("List by the first letter in the name.\nSpotted POKéMON only."); +const u8 gText_ListByBodyColor[] = _("List by body color.\nSpotted POKéMON only."); +const u8 gText_ListByType[] = _("List by type.\nOwned POKéMON only."); +const u8 gText_ExecuteSearchSwitch[] = _("Execute search/switch."); const u8 gText_DexHoennTitle[] = _("HOENN DEX"); const u8 gText_DexNatTitle[] = _("NATIONAL DEX"); const u8 gText_DexSortNumericalTitle[] = _("NUMERICAL MODE"); @@ -160,7 +160,7 @@ const u8 gText_DexEmptyString[] = _(""); const u8 gText_DexSearchDontSpecify[] = _("DON'T SPECIFY."); const u8 gText_DexSearchTypeNone[] = _("NONE"); const u8 gText_SelectorArrow[] = _("▶"); -const u8 gUnknown_085E8B3C[] = _(" "); +const u8 gText_EmptySpace[] = _(" "); // Unused const u8 gText_WelcomeToHOF[] = _("Welcome to the HALL OF FAME!"); const u8 gText_HOFDexRating[] = _("Spotted POKéMON: {STR_VAR_1}!\nOwned POKéMON: {STR_VAR_2}!\pPROF. BIRCH's POKéDEX rating!\pPROF. BIRCH: Let's see…\p"); const u8 gText_HOFDexSaving[] = _("SAVING…\nDON'T TURN OFF THE POWER."); @@ -169,12 +169,12 @@ const u8 gText_HOFNumber[] = _("HALL OF FAME No. {STR_VAR_1}"); const u8 gText_LeagueChamp[] = _("LEAGUE CHAMPION!\nCONGRATULATIONS!"); const u8 gText_Number[] = _("No. "); const u8 gText_Level[] = _("Lv. "); -const u8 gUnknown_085E8C40[] = _("IDNo. /"); +const u8 gText_IdNumberSlash[] = _("IDNo. /"); // Unused const u8 gText_Name[] = _("NAME"); const u8 gText_IDNumber[] = _("IDNo."); const u8 gText_BirchInTrouble[] = _("PROF. BIRCH is in trouble!\nRelease a POKéMON and rescue him!"); const u8 gText_ConfirmStarterChoice[] = _("Do you choose this POKéMON?"); -const u8 gUnknown_085E8CAC[] = _("POKéMON"); +const u8 gText_Pokemon4[] = _("POKéMON"); // Unused const u8 gText_FlyToWhere[] = _("FLY to where?"); const u8 gMenuText_Use[] = _("USE"); const u8 gMenuText_Toss[] = _("TOSS"); @@ -187,7 +187,7 @@ const u8 gText_Cancel[] = _("CANCEL"); const u8 gText_Cancel2[] = _("CANCEL"); const u8 gMenuText_Show[] = _("SHOW"); const u8 gText_EmptyString2[] = _(""); -const u8 gUnknown_085E8D04[] = _("CANCEL"); +const u8 gText_Cancel7[] = _("CANCEL"); // Unused const u8 gText_Item[] = _("ITEM"); const u8 gText_Mail[] = _("MAIL"); const u8 gText_Take[] = _("TAKE"); @@ -204,17 +204,17 @@ const u8 gText_ThreeDashes[] = _("---"); const u8 gText_MaleSymbol[] = _("♂"); const u8 gText_FemaleSymbol[] = _("♀"); const u8 gText_LevelSymbol[] = _("{LV}"); -const u8 gText_UnkCtrlF908Clear01[] = _("{NO}{CLEAR 0x01}"); -const u8 gUnknown_085E8D55[] = _("+"); -const u8 gUnknown_085E8D57[] = _("{RIGHT_ARROW}"); -const u8 gText_UnkCtrlF907F908[] = _("{ID}{NO}"); +const u8 gText_NumberClear01[] = _("{NO}{CLEAR 0x01}"); +const u8 gText_PlusSymbol[] = _("+"); // Unused +const u8 gText_RightArrow[] = _("{RIGHT_ARROW}"); // Unused +const u8 gText_IDNumber2[] = _("{ID}{NO}"); const u8 gText_Space[] = _(" "); const u8 gText_SelectorArrow2[] = _("▶"); const u8 gText_GoBackPrevMenu[] = _("Go back to the\nprevious menu."); const u8 gText_WhatWouldYouLike[] = _("What would you like to do?"); const u8 gMenuText_Give2[] = _("GIVE"); const u8 gText_xVar1[] = _("×{STR_VAR_1}"); -const u8 gUnknown_085E8DA4[] = _(" BERRY"); +const u8 gText_Berry2[] = _(" BERRY"); // Unused const u8 gText_Coins[] = _("{STR_VAR_1} COINS"); const u8 gText_CloseBag[] = _("CLOSE BAG"); const u8 gText_Var1IsSelected[] = _("{STR_VAR_1} is\nselected."); @@ -292,7 +292,7 @@ const u8 *const gPocketNamesStringsTable[] = gText_KeyItemsPocket }; -const u8 gText_UnkF908Var1Clear7Var2[] = _("{NO}{STR_VAR_1}{CLEAR 0x07}{STR_VAR_2}"); +const u8 gText_NumberVar1Clear7Var2[] = _("{NO}{STR_VAR_1}{CLEAR 0x07}{STR_VAR_2}"); const u8 gText_ClearTo11Var1Clear5Var2[] = _("{CLEAR_TO 0x11}{STR_VAR_1}{CLEAR 0x05}{STR_VAR_2}"); const u8 gText_SizeSlash[] = _("SIZE /"); const u8 gText_FirmSlash[] = _("FIRM /"); @@ -305,7 +305,7 @@ const u8 gBerryFirmnessString_Hard[] = _("Hard"); const u8 gBerryFirmnessString_VeryHard[] = _("Very hard"); const u8 gBerryFirmnessString_SuperHard[] = _("Super hard"); -const u8 gText_UnkF908Var1Var2[] = _("{NO}{STR_VAR_1} {STR_VAR_2}"); +const u8 gText_NumberVar1Var2[] = _("{NO}{STR_VAR_1} {STR_VAR_2}"); const u8 gText_BerryTag[] = _("BERRY TAG"); const u8 gText_RedPokeblock[] = _("RED {POKEBLOCK}"); const u8 gText_BluePokeblock[] = _("BLUE {POKEBLOCK}"); @@ -326,8 +326,8 @@ const u8 gText_Dry[] = _("DRY"); const u8 gText_Sweet[] = _("SWEET"); const u8 gText_Bitter[] = _("BITTER"); const u8 gText_Sour[] = _("SOUR"); -const u8 gUnknown_085E9339[] = _("TASTY"); -const u8 gUnknown_085E933F[] = _("FEEL"); +const u8 gText_Tasty[] = _("TASTY"); // Unused +const u8 gText_Feel[] = _("FEEL"); // Unused const u8 gText_StowCase[] = _("Stow CASE."); const u8 gText_LvVar1[] = _("{LV}{STR_VAR_1}"); const u8 gText_ThrowAwayVar1[] = _("Throw away this\n{STR_VAR_1}?"); @@ -363,7 +363,7 @@ const u8 gText_Shift[] = _("SHIFT"); const u8 gText_SendOut[] = _("SEND OUT"); const u8 gText_Switch2[] = _("SWITCH"); const u8 gText_Summary5[] = _("SUMMARY"); -const u8 gUnknown_085E96BE[] = _("MOVES"); +const u8 gText_Moves[] = _("MOVES"); // Unused const u8 gText_Enter[] = _("ENTER"); const u8 gText_NoEntry[] = _("NO ENTRY"); const u8 gText_Take2[] = _("TAKE"); @@ -388,7 +388,7 @@ const u8 gText_PCMailboxFull[] = _("Your PC's MAILBOX is full.{PAUSE_UNTIL_PRESS const u8 gText_MailMessageWillBeLost[] = _("If the MAIL is removed, the\nmessage will be lost. Okay?"); const u8 gText_RemoveMailBeforeItem[] = _("MAIL must be removed before\nholding an item.{PAUSE_UNTIL_PRESS}"); const u8 gText_PkmnWasGivenItem[] = _("{STR_VAR_1} was given the\n{STR_VAR_2} to hold.{PAUSE_UNTIL_PRESS}"); -const u8 gText_SwitchPkmnItem[] = _("{STR_VAR_1} is already holding\none {STR_VAR_2}.\pWould you like to switch the\ntwo items?"); +const u8 gText_PkmnAlreadyHoldingItemSwitch[] = _("{STR_VAR_1} is already holding\none {STR_VAR_2}.\pWould you like to switch the\ntwo items?"); const u8 gText_PkmnNotHolding[] = _("{STR_VAR_1} isn't holding\nanything.{PAUSE_UNTIL_PRESS}"); const u8 gText_ReceivedItemFromPkmn[] = _("Received the {STR_VAR_2}\nfrom {STR_VAR_1}.{PAUSE_UNTIL_PRESS}"); const u8 gText_MailTakenFromPkmn[] = _("MAIL was taken from the\nPOKéMON.{PAUSE_UNTIL_PRESS}"); @@ -411,7 +411,7 @@ const u8 gText_PkmnWokeUp2[] = _("{STR_VAR_1} woke up.{PAUSE_UNTIL_PRESS}"); const u8 gText_PkmnBurnHealed[] = _("{STR_VAR_1}'s burn was healed.{PAUSE_UNTIL_PRESS}"); const u8 gText_PkmnThawedOut[] = _("{STR_VAR_1} was thawed out.{PAUSE_UNTIL_PRESS}"); const u8 gText_PPWasRestored[] = _("PP was restored.{PAUSE_UNTIL_PRESS}"); -const u8 gUnknown_085E9CCA[] = _("{STR_VAR_1} regained health.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnRegainhedHealth[] = _("{STR_VAR_1} regained health.{PAUSE_UNTIL_PRESS}"); // Unused const u8 gText_PkmnBecameHealthy[] = _("{STR_VAR_1} became healthy.{PAUSE_UNTIL_PRESS}"); const u8 gText_MovesPPIncreased[] = _("{STR_VAR_1}'s PP increased.{PAUSE_UNTIL_PRESS}"); const u8 gText_PkmnElevatedToLvVar2[] = _("{STR_VAR_1} was elevated to\nLv. {STR_VAR_2}."); @@ -423,7 +423,7 @@ const u8 gText_PkmnSnappedOutOfConfusion[] = _("{STR_VAR_1} snapped out of its\n const u8 gText_PkmnGotOverInfatuation[] = _("{STR_VAR_1} got over its\ninfatuation.{PAUSE_UNTIL_PRESS}"); const u8 gText_ThrowAwayItem[] = _("Throw away this\n{STR_VAR_1}?"); const u8 gText_ItemThrownAway[] = _("The {STR_VAR_1}\nwas thrown away.{PAUSE_UNTIL_PRESS}"); -const u8 gUnknown_085E9E2E[] = _("Teach which POKéMON?"); +const u8 gText_TeachWhichPokemon2[] = _("Teach which POKéMON?"); // Unused const u8 gText_ChoosePokemon[] = _("Choose a POKéMON."); const u8 gText_MoveToWhere[] = _("Move to where?"); const u8 gText_TeachWhichPokemon[] = _("Teach which POKéMON?"); @@ -471,7 +471,7 @@ const u8 gText_CancelChallenge[] = _("Cancel the challenge?"); const u8 gText_EscapeFromHere[] = _("Want to escape from here and return\nto {STR_VAR_1}?"); const u8 gText_ReturnToHealingSpot[] = _("Want to return to the healing spot\nused last in {STR_VAR_1}?"); const u8 gText_PauseUntilPress[] = _("{PAUSE_UNTIL_PRESS}"); -const u8 gJPText_PutVar1IntoSpinner[] = _("{STR_VAR_1}を ぐるぐるこうかんに\nだして よろしいですか?"); +const u8 gJPText_AreYouSureYouWantToSpinTradeMon[] = _("{STR_VAR_1}を ぐるぐるこうかんに\nだして よろしいですか?"); ALIGNED(4) const u8 gText_OnlyPkmnForBattle[] = _("That's your only\nPOKéMON for battle."); ALIGNED(4) const u8 gText_PkmnCantBeTradedNow[] = _("That POKéMON can't be traded\nnow."); ALIGNED(4) const u8 gText_EggCantBeTradedNow[] = _("An EGG can't be traded now."); @@ -487,7 +487,7 @@ const u8 gText_SpAtk4[] = _("SP. ATK"); const u8 gText_SpDef4[] = _("SP. DEF"); const u8 gText_Speed2[] = _("SPEED"); const u8 gText_HP4[] = _("HP"); -const u8 gUnknown_085EA364[] = _(""); +const u8 gText_EmptyString8[] = _(""); // Unused const u8 gText_OTSlash[] = _("OT/"); const u8 gText_RentalPkmn[] = _("RENTAL POKéMON"); const u8 gText_TypeSlash[] = _("TYPE/"); @@ -500,7 +500,7 @@ const u8 gText_ExpPoints[] = _("EXP. POINTS"); const u8 gText_NextLv[] = _("NEXT LV."); const u8 gText_RibbonsVar1[] = _("RIBBONS: {STR_VAR_1}"); const u8 gText_EmptyString5[] = _(""); -const u8 gUnknown_085EA3C1[] = _("EVENTS"); +const u8 gText_Events[] = _("EVENTS"); // Unused const u8 gText_Switch[] = _("SWITCH"); const u8 gText_PkmnInfo[] = _("POKéMON INFO"); const u8 gText_PkmnSkills[] = _("POKéMON SKILLS"); @@ -530,7 +530,7 @@ const u8 gText_OkayToDeleteFromRegistry[] = _("Is it okay to delete {STR_VAR_1}\ const u8 gText_RegisteredDataDeleted[] = _("The registered data was deleted.{PAUSE_UNTIL_PRESS}"); const u8 gText_NoRegistry[] = _("There is no REGISTRY.{PAUSE_UNTIL_PRESS}"); const u8 gText_DelRegist[] = _("DEL REGIST."); -const u8 gUnknown_085EA7A9[] = _("{STR_VAR_3}{STR_VAR_1}/{STR_VAR_2}"); +const u8 gText_Var3Var1SlashVar2[] = _("{STR_VAR_3}{STR_VAR_1}/{STR_VAR_2}"); // Unused const u8 gText_Decorate[] = _("DECORATE"); const u8 gText_PutAway[] = _("PUT AWAY"); const u8 gText_Toss2[] = _("TOSS"); @@ -555,7 +555,7 @@ const u8 gText_CancelDecorating[] = _("Cancel decorating?"); const u8 gText_InUseAlready[] = _("This is in use already."); const u8 gText_NoMoreDecorations[] = _("No more decorations can be placed.\nThe most that can be placed are {STR_VAR_1}."); const u8 gText_NoMoreDecorations2[] = _("No more decorations can be placed.\nThe most that can be placed are {STR_VAR_1}."); -const u8 gUnknown_085EA978[] = _("This can't be placed here.\nIt must be on a DESK, etc."); +const u8 gText_MustBePlacedOnDesk[] = _("This can't be placed here.\nIt must be on a DESK, etc."); // Unused const u8 gText_CantPlaceInRoom[] = _("This decoration can't be placed in\nyour own room."); const u8 gText_CantThrowAwayInUse[] = _("This decoration is in use.\nIt can't be thrown away."); const u8 gText_DecorationWillBeDiscarded[] = _("This {STR_VAR_1} will be discarded.\nIs that okay?"); @@ -599,89 +599,89 @@ const u8 gText_Brawly[] = _("BRAWLY"); const u8 gText_Winona[] = _("WINONA"); const u8 gText_Phoebe[] = _("PHOEBE"); const u8 gText_Glacia[] = _("GLACIA"); -const u8 gUnknown_085EAD37[] = _("PETALBURG"); -const u8 gUnknown_085EAD41[] = _("SLATEPORT"); -const u8 gUnknown_085EAD4B[] = _("LITTLEROOT"); -const u8 gUnknown_085EAD56[] = _("LILYCOVE"); -const u8 gUnknown_085EAD5F[] = _("DEWFORD"); -const u8 gUnknown_085EAD67[] = _("ENTER"); -const u8 gUnknown_085EAD6D[] = _("INFO"); -const u8 gUnknown_085EAD72[] = _("What's a CONTEST?"); -const u8 gUnknown_085EAD84[] = _("Types of CONTESTS"); -const u8 gUnknown_085EAD96[] = _("Ranks"); -const u8 gUnknown_085EAD9C[] = _("Judging"); +const u8 gText_Petalburg[] = _("PETALBURG"); +const u8 gText_Slateport[] = _("SLATEPORT"); +const u8 gText_Littleroot[] = _("LITTLEROOT"); // Unused. Given the context, Briney may at one point have been able to sail the player here +const u8 gText_Lilycove[] = _("LILYCOVE"); // Unused. Given the context, Briney may at one point have been able to sail the player here +const u8 gText_Dewford[] = _("DEWFORD"); +const u8 gText_Enter2[] = _("ENTER"); +const u8 gText_Info2[] = _("INFO"); +const u8 gText_WhatsAContest[] = _("What's a CONTEST?"); +const u8 gText_TypesOfContests[] = _("Types of CONTESTS"); +const u8 gText_Ranks[] = _("Ranks"); +const u8 gText_Judging[] = _("Judging"); //unused const u8 gText_CoolnessContest[] = _("COOLNESS CONTEST"); const u8 gText_BeautyContest[] = _("BEAUTY CONTEST"); const u8 gText_CutenessContest[] = _("CUTENESS CONTEST"); const u8 gText_SmartnessContest[] = _("SMARTNESS CONTEST"); const u8 gText_ToughnessContest[] = _("TOUGHNESS CONTEST"); -const u8 gUnknown_085EADF9[] = _("DECORATION"); -const u8 gUnknown_085EAE04[] = _("PACK UP"); -const u8 gUnknown_085EAE0C[] = _("COUNT"); -const u8 gUnknown_085EAE12[] = _("REGISTRY"); -const u8 gUnknown_085EAE1B[] = _("INFORMATION"); -const u8 gUnknown_085EAE27[] = _("MACH"); -const u8 gUnknown_085EAE2C[] = _("ACRO"); -const u8 gUnknown_085EAE31[] = _("PSN"); -const u8 gUnknown_085EAE35[] = _("PAR"); -const u8 gUnknown_085EAE39[] = _("SLP"); -const u8 gUnknown_085EAE3D[] = _("BRN"); -const u8 gUnknown_085EAE41[] = _("FRZ"); -const u8 gUnknown_085EAE45[] = _("TOXIC"); -const u8 gUnknown_085EAE4B[] = _("OK"); -const u8 gUnknown_085EAE4E[] = _("QUIT"); -const u8 gUnknown_085EAE53[] = _("Saw it"); -const u8 gUnknown_085EAE5A[] = _("Not yet"); +const u8 gText_Decoration2[] = _("DECORATION"); +const u8 gText_PackUp[] = _("PACK UP"); +const u8 gText_Count[] = _("COUNT"); //unused +const u8 gText_Registry[] = _("REGISTRY"); +const u8 gText_Information[] = _("INFORMATION"); +const u8 gText_Mach[] = _("MACH"); +const u8 gText_Acro[] = _("ACRO"); +const u8 gText_Psn[] = _("PSN"); +const u8 gText_Par[] = _("PAR"); +const u8 gText_Slp[] = _("SLP"); +const u8 gText_Brn[] = _("BRN"); +const u8 gText_Frz[] = _("FRZ"); +const u8 gText_Toxic[] = _("TOXIC"); // Unused +const u8 gText_Ok3[] = _("OK"); // Unused +const u8 gText_Quit[] = _("QUIT"); // Unused +const u8 gText_SawIt[] = _("Saw it"); +const u8 gText_NotYet[] = _("Not yet"); const u8 gText_Yes[] = _("YES"); const u8 gText_No[] = _("NO"); -const u8 gUnknown_085EAE69[] = _("INFO"); -const u8 gUnknown_085EAE6E[] = _("SINGLE BATTLE"); -const u8 gUnknown_085EAE7C[] = _("DOUBLE BATTLE"); -const u8 gUnknown_085EAE8A[] = _("MULTI BATTLE"); -const u8 gUnknown_085EAE97[] = _("MR. BRINEY"); -const u8 gUnknown_085EAEA2[] = _("CHALLENGE"); -const u8 gUnknown_085EAEAC[] = _("INFO"); +const u8 gText_Info4[] = _("INFO"); // Unused +const u8 gText_SingleBattle[] = _("SINGLE BATTLE"); +const u8 gText_DoubleBattle[] = _("DOUBLE BATTLE"); +const u8 gText_MultiBattle[] = _("MULTI BATTLE"); +const u8 gText_MrBriney[] = _("MR. BRINEY"); // Unused +const u8 gText_Challenge[] = _("CHALLENGE"); +const u8 gText_Info3[] = _("INFO"); const u8 gText_Lv50[] = _("LV. 50"); const u8 gText_OpenLevel[] = _("OPEN LEVEL"); -const u8 gUnknown_085EAEC3[] = _("FRESH WATER{CLEAR_TO 0x48}¥200"); -const u8 gUnknown_085EAED6[] = _("SODA POP{CLEAR_TO 0x48}¥300"); -const u8 gUnknown_085EAEE6[] = _("LEMONADE{CLEAR_TO 0x48}¥350"); -const u8 gUnknown_085EAEF6[] = _("HOW TO RIDE"); -const u8 gUnknown_085EAF02[] = _("HOW TO TURN"); -const u8 gUnknown_085EAF0E[] = _("SANDY SLOPES"); -const u8 gUnknown_085EAF1B[] = _("WHEELIES"); -const u8 gUnknown_085EAF24[] = _("BUNNY-HOPS"); -const u8 gUnknown_085EAF2F[] = _("JUMP"); -const u8 gUnknown_085EAF34[] = _("Satisfied"); -const u8 gUnknown_085EAF3E[] = _("Dissatisfied"); -const u8 gUnknown_085EAF4B[] = _("DEEPSEATOOTH"); -const u8 gUnknown_085EAF58[] = _("DEEPSEASCALE"); -const u8 gUnknown_085EAF65[] = _("BLUE FLUTE"); -const u8 gUnknown_085EAF70[] = _("YELLOW FLUTE"); -const u8 gUnknown_085EAF7D[] = _("RED FLUTE"); -const u8 gUnknown_085EAF87[] = _("WHITE FLUTE"); -const u8 gUnknown_085EAF93[] = _("BLACK FLUTE"); -const u8 gUnknown_085EAF9F[] = _("GLASS CHAIR"); -const u8 gUnknown_085EAFAB[] = _("GLASS DESK"); -const u8 gUnknown_085EAFB6[] = _("TREECKO DOLL 1,000 COINS"); -const u8 gUnknown_085EAFCF[] = _("TORCHIC DOLL 1,000 COINS"); -const u8 gUnknown_085EAFE8[] = _("MUDKIP DOLL 1,000 COINS"); -const u8 gUnknown_085EB002[] = _(" 50 COINS ¥1,000"); -const u8 gUnknown_085EB017[] = _("500 COINS ¥10,000"); -const u8 gUnknown_085EB02A[] = _("Excellent"); -const u8 gUnknown_085EB034[] = _("Not so good"); -const u8 gUnknown_085EB040[] = _("RED SHARD"); -const u8 gUnknown_085EB04A[] = _("YELLOW SHARD"); -const u8 gUnknown_085EB057[] = _("BLUE SHARD"); -const u8 gUnknown_085EB062[] = _("GREEN SHARD"); +const u8 gText_FreshWaterAndPrice[] = _("FRESH WATER{CLEAR_TO 0x48}¥200"); +const u8 gText_SodaPopAndPrice[] = _("SODA POP{CLEAR_TO 0x48}¥300"); +const u8 gText_LemonadeAndPrice[] = _("LEMONADE{CLEAR_TO 0x48}¥350"); +const u8 gText_HowToRide[] = _("HOW TO RIDE"); +const u8 gText_HowToTurn[] = _("HOW TO TURN"); +const u8 gText_SandySlopes[] = _("SANDY SLOPES"); +const u8 gText_Wheelies[] = _("WHEELIES"); +const u8 gText_BunnyHops[] = _("BUNNY-HOPS"); +const u8 gText_Jump[] = _("JUMP"); +const u8 gText_Satisfied[] = _("Satisfied"); +const u8 gText_Dissatisfied[] = _("Dissatisfied"); +const u8 gText_DeepSeaTooth[] = _("DEEPSEATOOTH"); +const u8 gText_DeepSeaScale[] = _("DEEPSEASCALE"); +const u8 gText_BlueFlute2[] = _("BLUE FLUTE"); +const u8 gText_YellowFlute2[] = _("YELLOW FLUTE"); +const u8 gText_RedFlute2[] = _("RED FLUTE"); +const u8 gText_WhiteFlute2[] = _("WHITE FLUTE"); +const u8 gText_BlackFlute2[] = _("BLACK FLUTE"); +const u8 gText_GlassChair[] = _("GLASS CHAIR"); +const u8 gText_GlassDesk[] = _("GLASS DESK"); +const u8 gText_TreeckoDollAndPrice[] = _("TREECKO DOLL 1,000 COINS"); +const u8 gText_TorchicDollAndPrice[] = _("TORCHIC DOLL 1,000 COINS"); +const u8 gText_MudkipDollAndPrice[] = _("MUDKIP DOLL 1,000 COINS"); +const u8 gText_50CoinsAndPrice[] = _(" 50 COINS ¥1,000"); +const u8 gText_500CoinsAndPrice[] = _("500 COINS ¥10,000"); +const u8 gText_Excellent2[] = _("Excellent"); +const u8 gText_NotSoGood[] = _("Not so good"); +const u8 gText_RedShard[] = _("RED SHARD"); +const u8 gText_YellowShard[] = _("YELLOW SHARD"); +const u8 gText_BlueShard[] = _("BLUE SHARD"); +const u8 gText_GreenShard[] = _("GREEN SHARD"); const u8 gText_BattleFrontier[] = _("BATTLE FRONTIER"); -const u8 gUnknown_085EB07E[] = _("Right"); -const u8 gUnknown_085EB084[] = _("Left"); -const u8 gUnknown_085EB089[] = _("TM32{CLEAR_TO 0x48}1,500 COINS"); -const u8 gUnknown_085EB09C[] = _("TM29{CLEAR_TO 0x48}3,500 COINS"); -const u8 gUnknown_085EB0AF[] = _("TM35{CLEAR_TO 0x48}4,000 COINS"); -const u8 gUnknown_085EB0C2[] = _("TM24{CLEAR_TO 0x48}4,000 COINS"); -const u8 gUnknown_085EB0D5[] = _("TM13{CLEAR_TO 0x48}4,000 COINS"); +const u8 gText_Right[] = _("Right"); +const u8 gText_Left[] = _("Left"); +const u8 gText_TM32AndPrice[] = _("TM32{CLEAR_TO 0x48}1,500 COINS"); +const u8 gText_TM29AndPrice[] = _("TM29{CLEAR_TO 0x48}3,500 COINS"); +const u8 gText_TM35AndPrice[] = _("TM35{CLEAR_TO 0x48}4,000 COINS"); +const u8 gText_TM24AndPrice[] = _("TM24{CLEAR_TO 0x48}4,000 COINS"); +const u8 gText_TM13AndPrice[] = _("TM13{CLEAR_TO 0x48}4,000 COINS"); const u8 gText_Cool[] = _("COOL"); const u8 gText_Beauty[] = _("BEAUTY"); const u8 gText_Cute[] = _("CUTE"); @@ -728,87 +728,86 @@ const u8 gText_MenuOptionPokedex[] = _("POKéDEX"); const u8 gText_MenuOptionPokemon[] = _("POKéMON"); const u8 gText_MenuOptionBag[] = _("BAG"); const u8 gText_MenuOptionPokenav[] = _("POKéNAV"); -const u8 gUnknown_085EB278[] = _(""); +const u8 gText_Blank[] = _(""); const u8 gText_MenuOptionSave[] = _("SAVE"); const u8 gText_MenuOptionOption[] = _("OPTION"); const u8 gText_MenuOptionExit[] = _("EXIT"); -const u8 gUnknown_085EB28A[] = __(" "); -const u8 gUnknown_085EB28C[] = _("5BP"); -const u8 gUnknown_085EB290[] = _("10BP"); -const u8 gUnknown_085EB295[] = _("15BP"); -const u8 gUnknown_085EB29A[] = _("RED TENT"); -const u8 gUnknown_085EB2A3[] = _("BLUE TENT"); +const u8 gText_5BP[] = _(" 5BP"); +const u8 gText_10BP[] = _("10BP"); +const u8 gText_15BP[] = _("15BP"); +const u8 gText_RedTent[] = _("RED TENT"); +const u8 gText_BlueTent[] = _("BLUE TENT"); const u8 gText_SouthernIsland[] = _("SOUTHERN ISLAND"); const u8 gText_BirthIsland[] = _("BIRTH ISLAND"); const u8 gText_FarawayIsland[] = _("FARAWAY ISLAND"); const u8 gText_NavelRock[] = _("NAVEL ROCK"); -const u8 gUnknown_085EB2E4[] = _("CLAW FOSSIL"); -const u8 gUnknown_085EB2F0[] = _("ROOT FOSSIL"); -const u8 gUnknown_085EB2FC[] = _("NO"); -const u8 gUnknown_085EB2FF[] = _("I'll battle now!"); -const u8 gUnknown_085EB310[] = _("I won!"); -const u8 gUnknown_085EB317[] = _("I lost!"); -const u8 gUnknown_085EB31F[] = _("I won't tell."); +const u8 gText_ClawFossil[] = _("CLAW FOSSIL"); +const u8 gText_RootFossil[] = _("ROOT FOSSIL"); +const u8 gText_No4[] = _("NO"); +const u8 gText_IllBattleNow[] = _("I'll battle now!"); +const u8 gText_IWon[] = _("I won!"); +const u8 gText_ILost[] = _("I lost!"); +const u8 gText_IWontTell[] = _("I won't tell."); const u8 gText_NormalTagMatch[] = _("NORMAL TAG MATCH"); const u8 gText_VarietyTagMatch[] = _("VARIETY TAG MATCH"); const u8 gText_UniqueTagMatch[] = _("UNIQUE TAG MATCH"); const u8 gText_ExpertTagMatch[] = _("EXPERT TAG MATCH"); -const u8 gUnknown_085EB372[] = _("TRADE CENTER"); -const u8 gUnknown_085EB37F[] = _("COLOSSEUM"); -const u8 gUnknown_085EB389[] = _("RECORD CORNER"); -const u8 gUnknown_085EB397[] = _("BERRY CRUSH"); -const u8 gUnknown_085EB3A3[] = _(""); -const u8 gUnknown_085EB3A4[] = _("POKéMON JUMP"); -const u8 gUnknown_085EB3B1[] = _("DODRIO BERRY-PICKING"); -const u8 gUnknown_085EB3C6[] = _("BECOME LEADER"); -const u8 gUnknown_085EB3D4[] = _("JOIN GROUP"); -const u8 gUnknown_085EB3DF[] = _("TWO STYLES"); -const u8 gUnknown_085EB3EA[] = _("LV. 50"); -const u8 gUnknown_085EB3F1[] = _("OPEN LEVEL"); -const u8 gUnknown_085EB3FC[] = _("{PKMN} TYPE & NO."); -const u8 gUnknown_085EB40A[] = _("HOLD ITEMS"); -const u8 gUnknown_085EB415[] = _("SYMBOLS"); -const u8 gUnknown_085EB41D[] = _("RECORD"); -const u8 gUnknown_085EB424[] = _("BATTLE PTS"); -const u8 gUnknown_085EB42F[] = _("TOWER INFO"); -const u8 gUnknown_085EB43A[] = _("BATTLE {PKMN}"); -const u8 gUnknown_085EB444[] = _("BATTLE SALON"); -const u8 gUnknown_085EB451[] = _("MULTI-LINK"); -const u8 gUnknown_085EB45C[] = _("BATTLE RULES"); -const u8 gUnknown_085EB469[] = _("JUDGE: MIND"); -const u8 gUnknown_085EB475[] = _("JUDGE: SKILL"); -const u8 gUnknown_085EB482[] = _("JUDGE: BODY"); -const u8 gUnknown_085EB48E[] = _("MATCHUP"); -const u8 gUnknown_085EB496[] = _("TOURNEY TREE"); -const u8 gUnknown_085EB4A3[] = _("DOUBLE KO"); -const u8 gUnknown_085EB4AD[] = _("BASIC RULES"); -const u8 gUnknown_085EB4B9[] = _("SWAP: PARTNER"); -const u8 gUnknown_085EB4C7[] = _("SWAP: NUMBER"); -const u8 gUnknown_085EB4D4[] = _("SWAP: NOTES"); -const u8 gUnknown_085EB4E0[] = _("OPEN LEVEL"); +const u8 gText_TradeCenter[] = _("TRADE CENTER"); +const u8 gText_Colosseum[] = _("COLOSSEUM"); +const u8 gText_RecordCorner[] = _("RECORD CORNER"); +const u8 gText_BerryCrush3[] = _("BERRY CRUSH"); +const u8 gText_EmptyLinkService[] = _(""); // Maybe Spin Trade? +const u8 gText_PokemonJump[] = _("POKéMON JUMP"); +const u8 gText_DodrioBerryPicking[] = _("DODRIO BERRY-PICKING"); +const u8 gText_BecomeLeader[] = _("BECOME LEADER"); +const u8 gText_JoinGroup[] = _("JOIN GROUP"); +const u8 gText_TwoStyles[] = _("TWO STYLES"); +const u8 gText_Lv50_3[] = _("LV. 50"); +const u8 gText_OpenLevel2[] = _("OPEN LEVEL"); +const u8 gText_MonTypeAndNo[] = _("{PKMN} TYPE & NO."); +const u8 gText_HoldItems[] = _("HOLD ITEMS"); +const u8 gText_Symbols2[] = _("SYMBOLS"); +const u8 gText_Record3[] = _("RECORD"); +const u8 gText_BattlePts[] = _("BATTLE PTS"); +const u8 gText_TowerInfo[] = _("TOWER INFO"); +const u8 gText_BattleMon[] = _("BATTLE {PKMN}"); +const u8 gText_BattleSalon[] = _("BATTLE SALON"); +const u8 gText_MultiLink2[] = _("MULTI-LINK"); +const u8 gText_BattleRules[] = _("BATTLE RULES"); +const u8 gText_JudgeMind[] = _("JUDGE: MIND"); +const u8 gText_JudgeSkill[] = _("JUDGE: SKILL"); +const u8 gText_JudgeBody[] = _("JUDGE: BODY"); +const u8 gText_Matchup[] = _("MATCHUP"); +const u8 gText_TourneyTree[] = _("TOURNEY TREE"); +const u8 gText_DoubleKO[] = _("DOUBLE KO"); +const u8 gText_BasicRules[] = _("BASIC RULES"); +const u8 gText_SwapPartners[] = _("SWAP: PARTNER"); +const u8 gText_SwapNumber[] = _("SWAP: NUMBER"); +const u8 gText_SwapNotes[] = _("SWAP: NOTES"); +const u8 gText_OpenLevel3[] = _("OPEN LEVEL"); const u8 gText_BattleBasics[] = _("BATTLE BASICS"); const u8 gText_PokemonNature[] = _("POKéMON NATURE"); const u8 gText_PokemonMoves[] = _("POKéMON MOVES"); const u8 gText_Underpowered[] = _("UNDERPOWERED"); const u8 gText_WhenInDanger[] = _("WHEN IN DANGER"); -const u8 gUnknown_085EB532[] = _("PYRAMID: POKéMON"); -const u8 gUnknown_085EB543[] = _("PYRAMID: TRAINERS"); -const u8 gUnknown_085EB555[] = _("PYRAMID: MAZE"); -const u8 gUnknown_085EB563[] = _("BATTLE BAG"); -const u8 gUnknown_085EB56E[] = _("POKéNAV AND BAG"); -const u8 gUnknown_085EB57E[] = _("HELD ITEMS"); -const u8 gUnknown_085EB589[] = _("POKéMON ORDER"); -const u8 gUnknown_085EB597[] = _("BATTLE POKéMON"); +const u8 gText_PyramidPokemon[] = _("PYRAMID: POKéMON"); +const u8 gText_PyramidTrainers[] = _("PYRAMID: TRAINERS"); +const u8 gText_PyramidMaze[] = _("PYRAMID: MAZE"); +const u8 gText_BattleBag2[] = _("BATTLE BAG"); +const u8 gText_PokenavAndBag[] = _("POKéNAV AND BAG"); +const u8 gText_HeldItems[] = _("HELD ITEMS"); +const u8 gText_PokemonOrder[] = _("POKéMON ORDER"); +const u8 gText_BattlePokemon[] = _("BATTLE POKéMON"); const u8 gText_BattleTrainers[] = _("BATTLE TRAINERS"); -const u8 gUnknown_085EB5B6[] = _("GO ON"); -const u8 gUnknown_085EB5BC[] = _("RECORD"); -const u8 gUnknown_085EB5C3[] = _("REST"); -const u8 gUnknown_085EB5C8[] = _("RETIRE"); +const u8 gText_GoOn[] = _("GO ON"); +const u8 gText_Record2[] = _("RECORD"); +const u8 gText_Rest[] = _("REST"); +const u8 gText_Retire[] = _("RETIRE"); const u8 gText_99TimesPlus[] = _("99 times +"); const u8 gText_1MinutePlus[] = _("1 minute +"); const u8 gText_SpaceSeconds[] = _(" seconds"); const u8 gText_SpaceTimes[] = _(" time(s)"); -const u8 gUnknown_085EB5F7[] = _("."); +const u8 gText_Dot[] = _("."); // Unused const u8 gText_BigGuy[] = _("Big guy"); const u8 gText_BigGirl[] = _("Big girl"); const u8 gText_Son[] = _("son"); @@ -926,7 +925,7 @@ const u8 gPCText_PolkaDot[] = _("POLKA-DOT"); const u8 gPCText_Pokecenter[] = _("POKéCENTER"); const u8 gPCText_Machine[] = _("MACHINE"); const u8 gPCText_Simple[] = _("SIMPLE"); -const u8 gUnknown_085EBB56[] = _("What would you like to do?"); +const u8 gText_WhatWouldYouLikeToDo[] = _("What would you like to do?"); // Unused const u8 gText_WithdrawPokemon[] = _("WITHDRAW POKéMON"); const u8 gText_DepositPokemon[] = _("DEPOSIT POKéMON"); const u8 gText_MovePokemon[] = _("MOVE POKéMON"); @@ -940,28 +939,28 @@ const u8 gText_SeeYaDescription[] = _("Return to the previous menu."); const u8 gText_JustOnePkmn[] = _("There is just one POKéMON with you."); const u8 gText_PartyFull[] = _("Your party is full!"); const u8 gText_Box[] = _("BOX"); -const u8 gUnknown_085EBCC5[] = _("Check the map of the HOENN region."); -const u8 gUnknown_085EBCE8[] = _("Check POKéMON in detail."); -const u8 gUnknown_085EBD01[] = _("Call a registered TRAINER."); -const u8 gUnknown_085EBD1C[] = _("Check obtained RIBBONS."); -const u8 gUnknown_085EBD34[] = _("Put away the POKéNAV."); +const u8 gText_CheckMapOfHoenn[] = _("Check the map of the HOENN region."); +const u8 gText_CheckPokemonInDetail[] = _("Check POKéMON in detail."); +const u8 gText_CallRegisteredTrainer[] = _("Call a registered TRAINER."); +const u8 gText_CheckObtainedRibbons[] = _("Check obtained RIBBONS."); +const u8 gText_PutAwayPokenav[] = _("Put away the POKéNAV."); const u8 gText_NoRibbonWinners[] = _("There are no RIBBON winners."); -const u8 gUnknown_085EBD67[] = _("No TRAINERS are registered."); -const u8 gUnknown_085EBD83[] = _("Check party POKéMON in detail."); -const u8 gUnknown_085EBDA2[] = _("Check all POKéMON in detail."); -const u8 gUnknown_085EBDBF[] = _("Return to the POKéNAV menu."); -const u8 gUnknown_085EBDDB[] = _("Find cool POKéMON."); -const u8 gUnknown_085EBDEE[] = _("Find beautiful POKéMON."); -const u8 gUnknown_085EBE06[] = _("Find cute POKéMON."); -const u8 gUnknown_085EBE19[] = _("Find smart POKéMON."); -const u8 gUnknown_085EBE2D[] = _("Find tough POKéMON."); -const u8 gUnknown_085EBE41[] = _("Return to the CONDITION menu."); +const u8 gText_NoTrainersRegistered[] = _("No TRAINERS are registered."); // Unused +const u8 gText_CheckPartyPokemonInDetail[] = _("Check party POKéMON in detail."); +const u8 gText_CheckAllPokemonInDetail[] = _("Check all POKéMON in detail."); +const u8 gText_ReturnToPokenavMenu[] = _("Return to the POKéNAV menu."); +const u8 gText_FindCoolPokemon[] = _("Find cool POKéMON."); +const u8 gText_FindBeautifulPokemon[] = _("Find beautiful POKéMON."); +const u8 gText_FindCutePokemon[] = _("Find cute POKéMON."); +const u8 gText_FindSmartPokemon[] = _("Find smart POKéMON."); +const u8 gText_FindToughPokemon[] = _("Find tough POKéMON."); +const u8 gText_ReturnToConditionMenu[] = _("Return to the CONDITION menu."); const u8 gText_NumberRegistered[] = _("No. registered"); const u8 gText_NumberOfBattles[] = _("No. of battles"); -const u8 gUnknown_085EBE7D[] = _("DETAIL"); -const u8 gUnknown_085EBE84[] = _("CALL"); -const u8 gUnknown_085EBE89[] = _("EXIT"); -const u8 gUnknown_085EBE8E[] = _("Can't call opponent here."); +const u8 gText_Detail[] = _("DETAIL"); // Unused +const u8 gText_Call2[] = _("CALL"); // Unused +const u8 gText_UnusedExit[] = _("EXIT"); // Unused +const u8 gText_CantCallOpponentHere[] = _("Can't call opponent here."); // Unused const u8 gText_PokenavMatchCall_Strategy[] = _("STRATEGY"); const u8 gText_PokenavMatchCall_TrainerPokemon[] = _("TRAINER'S POKéMON"); const u8 gText_PokenavMatchCall_SelfIntroduction[] = _("SELF-INTRODUCTION"); @@ -981,26 +980,26 @@ const u8 gText_NatureSlash[] = _("NATURE/"); const u8 gText_TrainerCloseBy[] = _("That TRAINER is close by.\nTalk to the TRAINER in person!"); const u8 gText_InParty[] = _("IN PARTY"); const u8 gText_Number2[] = _("No. "); -const u8 gUnknown_085EBFDC[] = _("RIBBONS"); -const u8 gUnknown_085EBFE4[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}"); -const u8 gUnknown_085EBFF6[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}"); -const u8 gUnknown_085EC008[] = _("{SPECIAL_F7 0x00}/{LV}{SPECIAL_F7 0x01}"); +const u8 gText_Ribbons[] = _("RIBBONS"); // Unused +const u8 gText_PokemonMaleLv[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}"); // Unused +const u8 gText_PokemonFemaleLv[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}"); // Unused +const u8 gText_PokemonNoGenderLv[] = _("{SPECIAL_F7 0x00}/{LV}{SPECIAL_F7 0x01}"); // Unused const u8 gText_Unknown[] = _("UNKNOWN"); -const u8 gUnknown_085EC017[] = _("CALL"); -const u8 gUnknown_085EC01C[] = _("CHECK"); -const u8 gUnknown_085EC022[] = _("CANCEL"); +const u8 gText_Call[] = _("CALL"); +const u8 gText_Check[] = _("CHECK"); +const u8 gText_Cancel6[] = _("CANCEL"); const u8 gText_NumberF700[] = _("No. {SPECIAL_F7 0x00}"); const u8 gText_RibbonsF700[] = _("RIBBONS {SPECIAL_F7 0x00}"); -const u8 gUnknown_085EC03B[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}"); -const u8 gUnknown_085EC04F[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}"); -const u8 gUnknown_085EC063[] = _("{SPECIAL_F7 0x00}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}"); +const u8 gText_PokemonMaleLv2[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}"); // Unused +const u8 gText_PokemonFemaleLv2[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}"); // Unused +const u8 gText_PokemonNoGenderLv2[] = _("{SPECIAL_F7 0x00}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}"); // Unused const u8 gText_CombineFourWordsOrPhrases[] = _("Combine four words or phrases"); const u8 gText_AndMakeYourProfile[] = _("and make your profile."); const u8 gText_CombineSixWordsOrPhrases[] = _("Combine six words or phrases"); const u8 gText_AndMakeAMessage[] = _("and make a message."); const u8 gText_FindWordsThatDescribeYour[] = _("Find words that describe your"); const u8 gText_FeelingsRightNow[] = _("feelings right now."); -const u8 gUnknown_085EC104[] = _("With four phrases,"); +const u8 gText_WithFourPhrases[] = _("With four phrases,"); // Unused const u8 gText_CombineNineWordsOrPhrases[] = _("Combine nine words or phrases"); const u8 gText_AndMakeAMessage2[] = _("and make a message."); const u8 gText_ChangeJustOneWordOrPhrase[] = _("Change just one word or phrase"); @@ -1011,7 +1010,7 @@ const u8 gText_WhatYouSayIfYouWin[] = _("What you say if you win a battle"); const u8 gText_WhatYouSayIfYouLose[] = _("What you say if you lose a battle"); const u8 gText_TheAnswer[] = _("The answer"); const u8 gText_TheMailMessage[] = _("The MAIL message"); -const u8 gUnknown_085EC214[] = _("The MAIL salutation"); +const u8 gText_TheMailSalutation[] = _("The MAIL salutation"); // Unused const u8 gText_TheBardsSong2[] = _("The new song"); const u8 gText_CombineTwoWordsOrPhrases[] = _("Combine two words or phrases"); const u8 gText_AndMakeATrendySaying[] = _("and make a trendy saying."); @@ -1028,7 +1027,7 @@ const u8 gText_AndCreateAQuiz[] = _("and create a quiz!"); const u8 gText_PickAWordOrPhraseAnd[] = _("Pick a word or phrase and"); const u8 gText_SetTheQuizAnswer[] = _("set the quiz answer."); const u8 gText_TheAnswerColon[] = _("The answer:"); -const u8 gUnknown_085EC387[] = _("The quiz:"); +const u8 gText_TheQuizColon[] = _("The quiz:"); // Unused const u8 gText_ApprenticePhrase[] = _("Apprentice's phrase:"); const u8 gText_QuitEditing[] = _("Quit editing?"); const u8 gText_StopGivingPkmnMail[] = _("Stop giving the POKéMON MAIL?"); @@ -1036,20 +1035,20 @@ const u8 gText_AndFillOutTheQuestionnaire[] = _("and fill out the questionnaire. const u8 gText_LetsReplyToTheInterview[] = _("Let's reply to the interview!"); const u8 gText_AllTextBeingEditedWill[] = _("All the text being edited will"); const u8 gText_BeDeletedThatOkay[] = _("be deleted. Is that okay?"); -const u8 gUnknown_085EC449[] = _("Quit editing?"); -const u8 gUnknown_085EC457[] = _("The edited text will not be saved."); -const u8 gUnknown_085EC47A[] = _("Is that okay?"); -const u8 gUnknown_085EC488[] = _("Please enter a phrase or word."); -const u8 gUnknown_085EC4A7[] = _("The entire text can't be deleted."); +const u8 gText_QuitEditing2[] = _("Quit editing?"); // Unused +const u8 gText_EditedTextWillNotBeSaved[] = _("The edited text will not be saved."); // Unused +const u8 gText_IsThatOkay[] = _("Is that okay?"); // Unused +const u8 gText_PleaseEnterPhraseOrWord[] = _("Please enter a phrase or word."); // Unused +const u8 gText_EntireTextCantBeDeleted[] = _("The entire text can't be deleted."); const u8 gText_OnlyOnePhrase[] = _("Only one phrase may be changed."); const u8 gText_OriginalSongWillBeUsed[] = _("The original song will be used."); -const u8 gUnknown_085EC509[] = _("That's trendy already!"); +const u8 gText_ThatsTrendyAlready[] = _("That's trendy already!"); // Unused const u8 gText_CombineTwoWordsOrPhrases3[] = _("Combine two words or phrases."); -const u8 gUnknown_085EC53E[] = _("Quit giving information?"); -const u8 gUnknown_085EC557[] = _("Stop giving the POKéMON MAIL?"); -const u8 gUnknown_085EC575[] = _("Create a quiz!"); -const u8 gUnknown_085EC584[] = _("Set the answer!"); -const u8 gUnknown_085EC594[] = _("Cancel the selection?"); +const u8 gText_QuitGivingInfo[] = _("Quit giving information?"); // Unused +const u8 gText_StopGivingPkmnMail2[] = _("Stop giving the POKéMON MAIL?"); // Unused +const u8 gText_CreateAQuiz2[] = _("Create a quiz!"); // Unused +const u8 gText_SetTheAnswer[] = _("Set the answer!"); // Unused +const u8 gText_CancelSelection[] = _("Cancel the selection?"); // Unused const u8 gText_Profile[] = _("PROFILE"); const u8 gText_AtTheBattlesStart[] = _("At the battle's start:"); const u8 gText_UponWinningABattle[] = _("Upon winning a battle:"); @@ -1059,7 +1058,7 @@ const u8 gText_WhatsHipAndHappening[] = _("What's hip and happening?"); const u8 gText_Interview[] = _("Interview"); const u8 gText_GoodSaying[] = _("Good saying"); const u8 gText_FansQuestion[] = _("Fan's question"); -const u8 gUnknown_085EC645[] = _("クイズの こたえは?"); +const u8 gJPText_WhatIsTheQuizAnswer[] = _("クイズの こたえは?"); // Unused const u8 gText_ApprenticesPhrase[] = _("Apprentice's phrase"); const u8 gText_Questionnaire[] = _("QUESTIONNAIRE"); const u8 gText_YouCannotQuitHere[] = _("You cannot quit here."); @@ -1190,13 +1189,13 @@ const u8 gText_Marco[] = _("MARCO"); const u8 gText_TrainerCardName[] = _("NAME: "); const u8 gText_TrainerCardIDNo[] = _("IDNo."); const u8 gText_TrainerCardMoney[] = _("MONEY"); -const u8 gUnknown_085ECF84[] = _("¥"); +const u8 gText_PokeDollar[] = _("¥"); // Unused const u8 gText_TrainerCardPokedex[] = _("POKéDEX"); const u8 gText_EmptyString6[] = _(""); const u8 gText_Colon2[] = _(":"); -const u8 gUnknown_085ECF91[] = _(" points"); +const u8 gText_Points[] = _(" points"); // Unused const u8 gText_TrainerCardTime[] = _("TIME"); -const u8 gUnknown_085ECF9E[] = _("ゲ-ムポイント"); +const u8 gJPText_BattlePoints[] = _("ゲ-ムポイント"); // Unused. Name presumed, translation is Game Points const u8 gText_Var1sTrainerCard[] = _("{STR_VAR_1}'s TRAINER CARD"); const u8 gText_HallOfFameDebut[] = _("HALL OF FAME DEBUT "); const u8 gText_LinkBattles[] = _("LINK BATTLES"); @@ -1221,11 +1220,11 @@ const u8 gText_BattleArena[] = _("BATTLE ARENA"); const u8 gText_BattlePike[] = _("BATTLE PIKE"); const u8 gText_BattlePyramid[] = _("BATTLE PYRAMID"); -ALIGNED(4) const u8 gUnknown_085ED164[] = _("{STR_VAR_1} SINGLE"); -ALIGNED(4) const u8 gUnknown_085ED170[] = _("{STR_VAR_1} DOUBLE"); -ALIGNED(4) const u8 gUnknown_085ED17C[] = _("{STR_VAR_1} MULTI"); -ALIGNED(4) const u8 gUnknown_085ED188[] = _("{STR_VAR_1} LINK"); -ALIGNED(4) const u8 gUnknown_085ED190[] = _("{STR_VAR_1}"); +ALIGNED(4) const u8 gText_FacilitySingle[] = _("{STR_VAR_1} SINGLE"); +ALIGNED(4) const u8 gText_FacilityDouble[] = _("{STR_VAR_1} DOUBLE"); +ALIGNED(4) const u8 gText_FacilityMulti[] = _("{STR_VAR_1} MULTI"); +ALIGNED(4) const u8 gText_FacilityLink[] = _("{STR_VAR_1} LINK"); +ALIGNED(4) const u8 gText_Facility[] = _("{STR_VAR_1}"); const u8 gText_Give[] = _("Give"); const u8 gText_NoNeed[] = _("No need"); @@ -1240,9 +1239,9 @@ const u8 gText_Round2Results[] = _("Round 2 results!"); const u8 gText_Var1sVar2Won[] = _("{STR_VAR_1}'s {STR_VAR_2} won!"); const u8 gText_CommunicationStandby[] = _("Communication standby…"); const u8 gText_ColorDarkGrey[] = _("{COLOR DARK_GREY}"); -const u8 gUnknown_085ED222[] = _("{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR6 WHITE DYNAMIC_COLOR5}"); +const u8 gText_ColorDynamic6WhiteDynamic5[] = _("{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR6 WHITE DYNAMIC_COLOR5}"); // Unused const u8 gText_HighlightDarkGrey[] = _("{HIGHLIGHT DARK_GREY}"); -const u8 gUnknown_085ED22C[] = _(" "); +const u8 gText_EmptySpace2[] = _(" "); // Unused const u8 gText_DynColor2Male[] = _("{COLOR DYNAMIC_COLOR2}♂"); const u8 gText_DynColor1Female[] = _("{COLOR DYNAMIC_COLOR1}♀"); const u8 gText_DynColor2[] = _("{COLOR DYNAMIC_COLOR2}"); @@ -1258,8 +1257,8 @@ const u8 gText_RegisterTextHere[] = _("Register text here?"); const u8 gText_InputText[] = _("Input text."); const u8 gText_F700JoinedChat[] = _("{SPECIAL_F7 0x00} joined the chat!"); const u8 gText_F700LeftChat[] = _("{SPECIAL_F7 0x00} left the chat."); -const u8 gUnknown_085ED2CF[] = _("{SPECIAL_F7 0x00}の{SPECIAL_F7 0x01}ひきめ:"); -const u8 gUnknown_085ED2D9[] = _("{SPECIAL_F7 0x00}の{SPECIAL_F7 0x01}ひきめは いません"); +const u8 gJPText_PlayersXPokemon[] = _("{SPECIAL_F7 0x00}の{SPECIAL_F7 0x01}ひきめ:"); // Unused +const u8 gJPText_PlayersXPokmonDoesNotExist[] = _("{SPECIAL_F7 0x00}の{SPECIAL_F7 0x01}ひきめは いません"); // Unused const u8 gText_ExitingChat[] = _("Exiting the chat…"); const u8 gText_LeaderLeftEndingChat[] = _("The LEADER, {SPECIAL_F7 0x00}, has\nleft, ending the chat."); const u8 gText_RegisteredTextChanged[] = _("The registered text has been changed.\nIs it okay to save the game?"); @@ -1274,25 +1273,25 @@ const u8 gText_Battle[] = _("BATTLE"); const u8 gText_Lets[] = _("LET'S"); const u8 gText_Ok[] = _("OK!"); const u8 gText_Sorry[] = _("SORRY"); -const u8 gText_YayUnkF9F9[] = _("YAY{EMOJI_BIGSMILE}"); +const u8 gText_YaySmileEmoji[] = _("YAY{EMOJI_BIGSMILE}"); const u8 gText_ThankYou[] = _("THANK YOU"); const u8 gText_ByeBye[] = _("BYE-BYE!"); -const u8 gMatchCallStevenStrategyText[] = _("Attack the weak points!"); -const u8 gMatchCall_StevenTrainersPokemonText[] = _("Ultimate STEEL POKéMON."); -const u8 gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle[] = _("I'd climb even waterfalls"); -const u8 gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle[] = _("to find a rare stone!"); -const u8 gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle[] = _("I'm the strongest and most"); -const u8 gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle[] = _("energetic after all!"); -const u8 gMatchCall_BrendanStrategyText[] = _("Battle with knowledge!"); -const u8 gMatchCall_BrendanTrainersPokemonText[] = _("I will use various POKéMON."); -const u8 gMatchCall_BrendanSelfIntroductionText_Line1[] = _("I'll be a better POKéMON"); -const u8 gMatchCall_BrendanSelfIntroductionText_Line2[] = _("prof than my father is!"); -const u8 gMatchCall_MayStrategyText[] = _("I'm not so good at battles."); -const u8 gMatchCall_MayTrainersPokemonText[] = _("I'll use any POKéMON!"); -const u8 gMatchCall_MaySelfIntroductionText_Line1[] = _("My POKéMON and I help"); -const u8 gMatchCall_MaySelfIntroductionText_Line2[] = _("my father's research."); +const u8 gText_MatchCallSteven_Strategy[] = _("Attack the weak points!"); +const u8 gText_MatchCallSteven_Pokemon[] = _("Ultimate STEEL POKéMON."); +const u8 gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle[] = _("I'd climb even waterfalls"); +const u8 gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle[] = _("to find a rare stone!"); +const u8 gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle[] = _("I'm the strongest and most"); +const u8 gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle[] = _("energetic after all!"); +const u8 gText_MatchCallBrendan_Strategy[] = _("Battle with knowledge!"); +const u8 gText_MatchCallBrendan_Pokemon[] = _("I will use various POKéMON."); +const u8 gText_MatchCallBrendan_Intro1[] = _("I'll be a better POKéMON"); +const u8 gText_MatchCallBrendan_Intro2[] = _("prof than my father is!"); +const u8 gText_MatchCallMay_Strategy[] = _("I'm not so good at battles."); +const u8 gText_MatchCallMay_Pokemon[] = _("I'll use any POKéMON!"); +const u8 gText_MatchCallMay_Intro1[] = _("My POKéMON and I help"); +const u8 gText_MatchCallMay_Intro2[] = _("my father's research."); const u8 gText_HatchedFromEgg[] = _("{STR_VAR_1} hatched from the EGG!"); -const u8 gText_NickHatchPrompt[] = _("Would you like to nickname the newly\nhatched {STR_VAR_1}?"); +const u8 gText_NicknameHatchPrompt[] = _("Would you like to nickname the newly\nhatched {STR_VAR_1}?"); ALIGNED(4) const u8 gText_ReadyToBerryCrush[] = _("Are you ready to BERRY-CRUSH?\nPlease pick a BERRY for use.\p"); ALIGNED(4) const u8 gText_WaitForAllChooseBerry[] = _("Please wait while each member\nchooses a BERRY."); ALIGNED(4) const u8 gText_EndedWithXUnitsPowder[] = _("{PAUSE_MUSIC}{PLAY_BGM MUS_FANFA1}You ended up with {STR_VAR_1} units of\nsilky-smooth BERRY POWDER.{RESUME_MUSIC}\pYour total amount of BERRY POWDER\nis {STR_VAR_2}.\p"); @@ -1328,36 +1327,36 @@ const u8 gText_Var1Players[] = _("{STR_VAR_1} PLAYERS"); const u8 gText_SymbolsEarned[] = _("Symbols Earned"); const u8 gText_BattleRecord[] = _("Battle Record"); const u8 gText_BattlePoints[] = _("Battle Points"); -const u8 gUnknown_085ED92A[] = _("CANCEL"); -const u8 gUnknown_085ED931[] = _(""); -const u8 gUnknown_085ED932[] = _("Check BATTLE FRONTIER MAP."); -const u8 gUnknown_085ED94D[] = _("Check TRAINER CARD."); -const u8 gUnknown_085ED961[] = _("View recorded battle."); -const u8 gUnknown_085ED977[] = _("Put away the FRONTIER PASS."); -const u8 gUnknown_085ED993[] = _("Your current Battle Points."); -const u8 gUnknown_085ED9AF[] = _("Your collected Symbols."); -const u8 gUnknown_085ED9C7[] = _("Battle Tower - Ability Symbol"); -const u8 gUnknown_085ED9E5[] = _("Battle Dome - Tactics Symbol"); -const u8 gUnknown_085EDA02[] = _("Battle Palace - Spirits Symbol"); -const u8 gUnknown_085EDA21[] = _("Battle Arena - Guts Symbol"); -const u8 gUnknown_085EDA3C[] = _("Battle Factory - Knowledge Symbol"); -const u8 gUnknown_085EDA5E[] = _("Battle Pike - Luck Symbol"); -const u8 gUnknown_085EDA78[] = _("Battle Pyramid - Brave Symbol"); -const u8 gUnknown_085EDA96[] = _("There is no Battle Record."); -const u8 gUnknown_085EDAB1[] = _("BATTLE TOWER"); -const u8 gUnknown_085EDABE[] = _("BATTLE DOME"); -const u8 gUnknown_085EDACA[] = _("BATTLE PALACE"); -const u8 gUnknown_085EDAD8[] = _("BATTLE ARENA"); -const u8 gUnknown_085EDAE5[] = _("BATTLE FACTORY"); -const u8 gUnknown_085EDAF4[] = _("BATTLE PIKE"); -const u8 gUnknown_085EDB00[] = _("BATTLE PYRAMID"); -const u8 gUnknown_085EDB0F[] = _("KO opponents and aim for the top!\nYour ability will be tested."); -const u8 gUnknown_085EDB4E[] = _("Keep winning at the tournament!\nYour tactics will be tested."); -const u8 gUnknown_085EDB8B[] = _("Watch your POKéMON battle!\nYour spirit will be tested."); -const u8 gUnknown_085EDBC2[] = _("Win battles with teamed-up POKéMON!\nYour guts will be tested."); -const u8 gUnknown_085EDC00[] = _("Aim for victory using rental POKéMON!\nYour knowledge will be tested."); -const u8 gUnknown_085EDC45[] = _("Select one of three paths to battle!\nYour luck will be tested."); -const u8 gUnknown_085EDC84[] = _("Aim for the top with exploration!\nYour bravery will be tested."); +const u8 gText_UnusedCancel[] = _("CANCEL"); // Unused +const u8 gText_EmptyString7[] = _(""); +const u8 gText_CheckFrontierMap[] = _("Check BATTLE FRONTIER MAP."); +const u8 gText_CheckTrainerCard[] = _("Check TRAINER CARD."); +const u8 gText_ViewRecordedBattle[] = _("View recorded battle."); +const u8 gText_PutAwayFrontierPass[] = _("Put away the FRONTIER PASS."); +const u8 gText_CurrentBattlePoints[] = _("Your current Battle Points."); +const u8 gText_CollectedSymbols[] = _("Your collected Symbols."); +const u8 gText_BattleTowerAbilitySymbol[] = _("Battle Tower - Ability Symbol"); +const u8 gText_BattleDomeTacticsSymbol[] = _("Battle Dome - Tactics Symbol"); +const u8 gText_BattlePalaceSpiritsSymbol[] = _("Battle Palace - Spirits Symbol"); +const u8 gText_BattleArenaGutsSymbol[] = _("Battle Arena - Guts Symbol"); +const u8 gText_BattleFactoryKnowledgeSymbol[] = _("Battle Factory - Knowledge Symbol"); +const u8 gText_BattlePikeLuckSymbol[] = _("Battle Pike - Luck Symbol"); +const u8 gText_BattlePyramidBraveSymbol[] = _("Battle Pyramid - Brave Symbol"); +const u8 gText_ThereIsNoBattleRecord[] = _("There is no Battle Record."); +const u8 gText_BattleTower3[] = _("BATTLE TOWER"); +const u8 gText_BattleDome2[] = _("BATTLE DOME"); +const u8 gText_BattlePalace2[] = _("BATTLE PALACE"); +const u8 gText_BattleArena2[] = _("BATTLE ARENA"); +const u8 gText_BattleFactory2[] = _("BATTLE FACTORY"); +const u8 gText_BattlePike2[] = _("BATTLE PIKE"); +const u8 gText_BattlePyramid2[] = _("BATTLE PYRAMID"); +const u8 gText_BattleTowerDesc[] = _("KO opponents and aim for the top!\nYour ability will be tested."); +const u8 gText_BattleDomeDesc[] = _("Keep winning at the tournament!\nYour tactics will be tested."); +const u8 gText_BattlePalaceDesc[] = _("Watch your POKéMON battle!\nYour spirit will be tested."); +const u8 gText_BattleArenaDesc[] = _("Win battles with teamed-up POKéMON!\nYour guts will be tested."); +const u8 gText_BattleFactoryDesc[] = _("Aim for victory using rental POKéMON!\nYour knowledge will be tested."); +const u8 gText_BattlePikeDesc[] = _("Select one of three paths to battle!\nYour luck will be tested."); +const u8 gText_BattlePyramidDesc[] = _("Aim for the top with exploration!\nYour bravery will be tested."); const u8 gText_ContinueMenuPlayer[] = _("PLAYER"); const u8 gText_ContinueMenuTime[] = _("TIME"); const u8 gText_ContinueMenuPokedex[] = _("POKéDEX"); @@ -1401,27 +1400,27 @@ const u8 gText_2nd[] = _("2nd"); const u8 gText_3rd[] = _("3rd"); const u8 gText_4th[] = _("4th"); const u8 gText_Friend[] = _("Friend"); -const u8 gUnknown_085EDFB7[] = _("POKeMON"); +const u8 gText_Pokemon3[] = _("POKeMON"); // Unused const u8 gJPText_MysteryGift[] = _("ふしぎなもらいもの"); const u8 gJPText_DecideStop[] = _("{A_BUTTON}けってい {B_BUTTON}やめる"); -const u8 gUnknown_085EDFD6[] = _("カードeリーダー{PLUS} で\nふしぎなもらいものを よみこみます"); -const u8 gUnknown_085EDFF5[] = _("カードeリーダー{PLUS}の メニューから\n‘つうしん'を えらび"); -const u8 gUnknown_085EE014[] = _("‘ゲームボーイアドバンスとつうしん'\nを せんたく してください"); -const u8 gUnknown_085EE035[] = _("カードeリーダー{PLUS}の ‘つうしん'を\nえらんで Aボタンを おしてください"); -const u8 gUnknown_085EE05C[] = _("せつぞくが まちがっています"); -const u8 gUnknown_085EE06B[] = _("カードの よみこみを\nちゅうし しました"); -const u8 gUnknown_085EE080[] = _("カードeリーダー{PLUS}と\nつうしん できません"); -const u8 gUnknown_085EE097[] = _("つうしん ちゅう です"); -const u8 gUnknown_085EE0A3[] = _("つうしん エラーです\nせつぞくを たしかめて ください"); -const u8 gUnknown_085EE0BF[] = _("つうしん エラーです\nはじめから やりなおして ください"); -const u8 gUnknown_085EE0DC[] = _("カードeリーダー{PLUS} に\nカードを よみこませて ください"); -const u8 gUnknown_085EE0FA[] = _("つうしん しゅうりょう!"); -const u8 gUnknown_085EE107[] = _("あらたな トレーナーが\nホウエンに やってきた!"); -const u8 gUnknown_085EE120[] = _("しばらく おまちください"); -const u8 gUnknown_085EE12D[] = _("かきこみ エラー です\nデータが ほぞん できませんでした"); -const u8 gUnknown_085EE14B[] = _("RED"); -const u8 gUnknown_085EE14F[] = _("BLUE"); -const u8 gUnknown_085EE154[] = _("---"); +const u8 gJPText_ReceiveMysteryGiftWithEReader[] = _("カードeリーダー{PLUS} で\nふしぎなもらいものを よみこみます"); +const u8 gJPText_SelectConnectFromEReaderMenu[] = _("カードeリーダー{PLUS}の メニューから\n‘つうしん'を えらび"); +const u8 gJPText_SelectConnectWithGBA[] = _("‘ゲームボーイアドバンスとつうしん'\nを せんたく してください"); +const u8 gJPText_SelectConnectAndPressA[] = _("カードeリーダー{PLUS}の ‘つうしん'を\nえらんで Aボタンを おしてください"); // Unused +const u8 gJPText_LinkIsIncorrect[] = _("せつぞくが まちがっています"); +const u8 gJPText_CardReadingHasBeenHalted[] = _("カードの よみこみを\nちゅうし しました"); +const u8 gJPText_UnableConnectWithEReader[] = _("カードeリーダー{PLUS}と\nつうしん できません"); // Unused +const u8 gJPText_Connecting[] = _("つうしん ちゅう です"); +const u8 gJPText_ConnectionErrorCheckLink[] = _("つうしん エラーです\nせつぞくを たしかめて ください"); +const u8 gJPText_ConnectionErrorTryAgain[] = _("つうしん エラーです\nはじめから やりなおして ください"); // Link error +const u8 gJPText_AllowEReaderToLoadCard[] = _("カードeリーダー{PLUS} に\nカードを よみこませて ください"); +const u8 gJPText_ConnectionComplete[] = _("つうしん しゅうりょう!"); +const u8 gJPText_NewTrainerHasComeToHoenn[] = _("あらたな トレーナーが\nホウエンに やってきた!"); +const u8 gJPText_PleaseWaitAMoment[] = _("しばらく おまちください"); +const u8 gJPText_WriteErrorUnableToSaveData[] = _("かきこみ エラー です\nデータが ほぞん できませんでした"); +const u8 gText_Red[] = _("RED"); +const u8 gText_Blue[] = _("BLUE"); +const u8 gText_3Dashes[] = _("---"); // Unused const u8 gText_SingleBattleRoomResults[] = _("{PLAYER}'s Single Battle Room Results"); const u8 gText_DoubleBattleRoomResults[] = _("{PLAYER}'s Double Battle Room Results"); const u8 gText_MultiBattleRoomResults[] = _("{PLAYER}'s Multi Battle Room Results"); @@ -1501,11 +1500,11 @@ const u8 gText_GoldCard[] = _("GOLD"); const u8 gText_Day[] = _("DAY"); const u8 gText_Colon3[] = _(":"); const u8 gText_Confirm2[] = _("CONFIRM"); -const u8 gUnknown_085EE698[] = _("Days"); -const u8 gUnknown_085EE69D[] = _("Time:"); -const u8 gUnknown_085EE6A3[] = _("Game time"); -const u8 gUnknown_085EE6AD[] = _("RTC time"); -const u8 gUnknown_085EE6B6[] = _("Updated time"); +const u8 gText_Days[] = _("Days"); // Unused +const u8 gText_TimeColon2[] = _("Time:"); // Unused +const u8 gText_GameTime[] = _("Game time"); // Unused +const u8 gText_RTCTime[] = _("RTC time"); // Unused +const u8 gText_UpdatedTime[] = _("Updated time"); // Unused const u8 gText_MenuPokedex[] = _("POKéDEX"); const u8 gText_MenuPokemon[] = _("POKéMON"); const u8 gText_MenuBag[] = _("BAG"); @@ -1532,13 +1531,13 @@ const u8 gText_LoadingEvent[] = _("Loading event…"); const u8 gText_DontRemoveCableTurnOff[] = _("Don't remove the Game Link cable.\nDon't turn off the power."); const u8 gText_EventSafelyLoaded[] = _("The event was safely loaded."); const u8 gText_LoadErrorEndingSession[] = _("Loading error.\nEnding session."); -const u8 gUnknown_085EE846[] = _("プレイヤー"); -const u8 gUnknown_085EE84C[] = _("さま"); +const u8 gJPText_Player[] = _("プレイヤー"); // Unused +const u8 gJPText_Sama[] = _("さま"); // Unused const u8 gText_DexHoenn[] = _("HOENN"); const u8 gText_DexNational[] = _("NATIONAL"); const u8 gText_PokedexDiploma[] = _("PLAYER: {CLEAR 0x10}{COLOR RED}{SHADOW LIGHT_RED}{PLAYER}{COLOR DARK_GREY}{SHADOW LIGHT_GREY}\n\nThis document certifies\nthat you have successfully\ncompleted your\n{STR_VAR_1} POKéDEX.\n\n{CLEAR_TO 0x42}{COLOR RED}{SHADOW LIGHT_RED}GAME FREAK"); -const u8 gUnknown_085EE8DC[] = _("{COLOR RED}{SHADOW LIGHT_RED}ゲ-ムフリ-ク"); -const u8 gUnknown_085EE8EA[] = _("{COLOR RED}{SHADOW LIGHT_RED}"); +const u8 gJPText_GameFreak[] = _("{COLOR RED}{SHADOW LIGHT_RED}ゲ-ムフリ-ク"); // Unused +const u8 gText_DiplomaEmpty[] = _("{COLOR RED}{SHADOW LIGHT_RED}"); // Unused const u8 gText_Hoenn[] = _("HOENN"); const u8 gText_OhABite[] = _("Oh! A bite!"); const u8 gText_PokemonOnHook[] = _("A POKéMON's on the hook!{PAUSE_UNTIL_PRESS}"); @@ -1574,13 +1573,13 @@ const u8 gEasyChatGroupName_TrendySaying[] = _("TRENDY SAYING"); const u8 gEasyChatGroupName_Pokemon2[] = _("POKéMON2"); const u8 gText_ThreeQuestionMarks[] = _("???"); -const u8 gUnknown_085EEA46[] = _("MAX. HP"); -const u8 gUnknown_085EEA4E[] = _("ATTACK"); -const u8 gUnknown_085EEA55[] = _("DEFENSE"); -const u8 gUnknown_085EEA5D[] = _("SPEED"); -const u8 gUnknown_085EEA63[] = _("SP. ATK"); -const u8 gUnknown_085EEA6B[] = _("SP. DEF"); -const u8 gText_UnkCtrlF904[] = _("{PLUS}"); +const u8 gText_MaxHP[] = _("MAX. HP"); +const u8 gText_Attack[] = _("ATTACK"); +const u8 gText_Defense[] = _("DEFENSE"); +const u8 gText_Speed[] = _("SPEED"); +const u8 gText_SpAtk[] = _("SP. ATK"); +const u8 gText_SpDef[] = _("SP. DEF"); +const u8 gText_Plus[] = _("{PLUS}"); const u8 gText_Dash[] = _("-"); const u8 gText_FromSpace[] = _("From "); const u8 gText_MixingRecords[] = _("Mixing records…"); @@ -1631,10 +1630,10 @@ const u8 gText_Yes3[] = _("YES"); const u8 gText_No3[] = _("NO"); const u8 gText_PkmnForSwap[] = _("{PKMN} FOR SWAP"); const u8 gText_Cancel3[] = _("CANCEL"); -const u8 gUnknown_085EECE4[] = _("SWAP"); -const u8 gUnknown_085EECE9[] = _("ACCEPT"); +const u8 gText_Swap2[] = _("SWAP"); // Unused +const u8 gText_Accept[] = _("ACCEPT"); // Unused const u8 gText_AcceptThisPkmn[] = _("Accept this POKéMON?"); -const u8 gUnknown_085EED05[] = _(" "); +const u8 gText_4Spaces[] = _(" "); // Unused const u8 gText_SamePkmnInPartyAlready[] = _("Same {PKMN} in party already."); const u8 gText_DecimalPoint[] = _("."); const u8 gText_SavingPlayer[] = _("PLAYER"); @@ -1674,7 +1673,7 @@ ALIGNED(4) const u8 gText_DontHaveCardNewOneInput[] = _("You don't have a WONDER ALIGNED(4) const u8 gText_DontHaveNewsNewOneInput[] = _("You don't have any WONDER NEWS,\nso new NEWS will be input."); ALIGNED(4) const u8 gText_WhereShouldCardBeAccessed[] = _("Where should the WONDER CARD\nbe accessed?"); ALIGNED(4) const u8 gText_WhereShouldNewsBeAccessed[] = _("Where should the WONDER NEWS\nbe accessed?"); -ALIGNED(4) const u8 gUnknown_085EEFC0[] = _("Communication standby…\nB Button: Cancel"); +ALIGNED(4) const u8 gText_CommunicationStandbyBButtonCancel[] = _("Communication standby…\nB Button: Cancel"); // Unused ALIGNED(4) const u8 gText_Communicating[] = _("Communicating…"); ALIGNED(4) const u8 gText_CommunicationCompleted[] = _("Communication completed."); ALIGNED(4) const u8 gText_CommunicationError[] = _("Communication error."); @@ -1748,12 +1747,12 @@ const u8 gText_MoveRelearnerPkmnTryingToLearnMove[] = _("{STR_VAR_1} is trying t const u8 gText_MoveRelearnerStopTryingToTeachMove[] = _("Stop trying to teach\n{STR_VAR_2}?"); const u8 gText_MoveRelearnerAndPoof[] = _("{PAUSE 32}1, {PAUSE 15}2, and {PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE 0x0038}Poof!\p"); const u8 gText_MoveRelearnerPkmnForgotMoveAndLearnedNew[] = _("{STR_VAR_1} forgot {STR_VAR_3}.\pAnd…\p{STR_VAR_1} learned {STR_VAR_2}."); -const u8 gUnknown_085EF9C8[] = _("{STR_VAR_1} did not learn the\nmove {STR_VAR_2}."); +const u8 gText_MoveRelearnedPkmnDidNotLearnMove[] = _("{STR_VAR_1} did not learn the\nmove {STR_VAR_2}."); // Unused const u8 gText_MoveRelearnerGiveUp[] = _("Give up trying to teach a new\nmove to {STR_VAR_1}?"); const u8 gText_MoveRelearnerWhichMoveToForget[] = _("Which move should be\nforgotten?\p"); const u8 gText_MoveRelearnerBattleMoves[] = _("BATTLE MOVES"); const u8 gText_MoveRelearnerContestMovesTitle[] = _("CONTEST MOVES"); -const u8 gUnknown_085EFA4C[] = _("TYPE/"); +const u8 gText_MoveRelearnerType[] = _("TYPE/"); // Unused const u8 gText_MoveRelearnerPP[] = _("PP/"); const u8 gText_MoveRelearnerPower[] = _("POWER/"); const u8 gText_MoveRelearnerAccuracy[] = _("ACCURACY/"); @@ -1770,46 +1769,46 @@ const u8 gText_ClearingData[] = _("Clearing data…\nPlease wait."); const u8 gText_IsThisTheCorrectTime[] = _("Is this the correct time?"); const u8 gText_Confirm3[] = _("CONFIRM"); const u8 gText_Cancel4[] = _("CANCEL"); -const u8 gMrStoneMatchCallDesc[] = _("DEVON PRES"); -const u8 gMrStoneMatchCallName[] = _("MR. STONE"); -const u8 gStevenMatchCallDesc[] = _("HARD AS ROCK"); -const u8 gStevenMatchCallName[] = _("STEVEN"); -const u8 gMayBrendanMatchCallDesc[] = _("RAD NEIGHBOR"); -const u8 gNormanMatchCallDesc[] = _("RELIABLE ONE"); -const u8 gMomMatchCallDesc[] = _("CALM & KIND"); -const u8 gWallyMatchCallDesc[] = _("{PKMN} LOVER"); -const u8 gNormanMatchCallName[] = _("DAD"); -const u8 gMomMatchCallName[] = _("MOM"); -const u8 gScottMatchCallDesc[] = _("ELUSIVE EYES"); -const u8 gScottMatchCallName[] = _("SCOTT"); -const u8 gRoxanneMatchCallDesc[] = _("ROCKIN' WHIZ"); -const u8 gBrawlyMatchCallDesc[] = _("THE BIG HIT"); -const u8 gWattsonMatchCallDesc[] = _("SWELL SHOCK"); -const u8 gFlanneryMatchCallDesc[] = _("PASSION BURN"); -const u8 gWinonaMatchCallDesc[] = _("SKY TAMER"); -const u8 gTateLizaMatchCallDesc[] = _("MYSTIC DUO"); -const u8 gJuanMatchCallDesc[] = _("DANDY CHARM"); -const u8 gEliteFourMatchCallDesc[] = _("ELITE FOUR"); -const u8 gChampionMatchCallDesc[] = _("CHAMPION"); -const u8 gProfBirchMatchCallDesc[] = _("{PKMN} PROF."); +const u8 gText_MrStoneMatchCallDesc[] = _("DEVON PRES"); +const u8 gText_MrStoneMatchCallName[] = _("MR. STONE"); +const u8 gText_StevenMatchCallDesc[] = _("HARD AS ROCK"); +const u8 gText_StevenMatchCallName[] = _("STEVEN"); +const u8 gText_MayBrendanMatchCallDesc[] = _("RAD NEIGHBOR"); +const u8 gText_NormanMatchCallDesc[] = _("RELIABLE ONE"); +const u8 gText_MomMatchCallDesc[] = _("CALM & KIND"); +const u8 gText_WallyMatchCallDesc[] = _("{PKMN} LOVER"); +const u8 gText_NormanMatchCallName[] = _("DAD"); +const u8 gText_MomMatchCallName[] = _("MOM"); +const u8 gText_ScottMatchCallDesc[] = _("ELUSIVE EYES"); +const u8 gText_ScottMatchCallName[] = _("SCOTT"); +const u8 gText_RoxanneMatchCallDesc[] = _("ROCKIN' WHIZ"); +const u8 gText_BrawlyMatchCallDesc[] = _("THE BIG HIT"); +const u8 gText_WattsonMatchCallDesc[] = _("SWELL SHOCK"); +const u8 gText_FlanneryMatchCallDesc[] = _("PASSION BURN"); +const u8 gText_WinonaMatchCallDesc[] = _("SKY TAMER"); +const u8 gText_TateLizaMatchCallDesc[] = _("MYSTIC DUO"); +const u8 gText_JuanMatchCallDesc[] = _("DANDY CHARM"); +const u8 gText_EliteFourMatchCallDesc[] = _("ELITE FOUR"); +const u8 gText_ChampionMatchCallDesc[] = _("CHAMPION"); +const u8 gText_ProfBirchMatchCallDesc[] = _("{PKMN} PROF."); const u8 gText_CommStandbyAwaitingOtherPlayer[] = _("Communication standby…\nAwaiting another player to choose."); const u8 gText_BattleWasRefused[] = _("The battle was refused.{PAUSE 60}"); const u8 gText_RefusedBattle[] = _("Refused the battle.{PAUSE 60}"); -const u8 gUnknown_085EFC3E[] = _("NO WEATHER"); -const u8 gUnknown_085EFC49[] = _("SUNNY"); -const u8 gUnknown_085EFC4F[] = _("SUNNY2"); -const u8 gUnknown_085EFC56[] = _("RAIN"); -const u8 gUnknown_085EFC5B[] = _("SNOW"); -const u8 gUnknown_085EFC60[] = _("LIGHTNING"); -const u8 gUnknown_085EFC6A[] = _("FOG"); -const u8 gUnknown_085EFC6E[] = _("VOLCANO ASH"); -const u8 gUnknown_085EFC7A[] = _("SANDSTORM"); -const u8 gUnknown_085EFC84[] = _("FOG2"); -const u8 gUnknown_085EFC89[] = _("SEAFLOOR"); -const u8 gUnknown_085EFC92[] = _("CLOUDY"); -const u8 gUnknown_085EFC99[] = _("SUNNY3"); -const u8 gUnknown_085EFCA0[] = _("HEAVY RAIN"); -const u8 gUnknown_085EFCAB[] = _("SEAFLOOR2"); +const u8 gText_NoWeather[] = _("NO WEATHER"); // Below are unused debug names for weather types +const u8 gText_Sunny[] = _("SUNNY"); // Unused +const u8 gText_Sunny2[] = _("SUNNY2"); // Unused +const u8 gText_Rain[] = _("RAIN"); // Unused +const u8 gText_Snow[] = _("SNOW"); // Unused +const u8 gText_Lightning[] = _("LIGHTNING"); // Unused +const u8 gText_Fog[] = _("FOG"); // Unused +const u8 gText_VolcanoAsh[] = _("VOLCANO ASH"); // Unused +const u8 gText_Sandstorm[] = _("SANDSTORM"); // Unused +const u8 gText_Fog2[] = _("FOG2"); // Unused +const u8 gText_Seafloor[] = _("SEAFLOOR"); // Unused +const u8 gText_Cloudy[] = _("CLOUDY"); // Unused +const u8 gText_Sunny3[] = _("SUNNY3"); // Unused +const u8 gText_HeavyRain[] = _("HEAVY RAIN"); // Unused +const u8 gText_Seafloor2[] = _("SEAFLOOR2"); // Unused const u8 gText_DelAll[] = _("DEL. ALL"); const u8 gText_Cancel5[] = _("CANCEL"); const u8 gText_Ok2[] = _("OK"); diff --git a/src/title_screen.c b/src/title_screen.c index 8310ef8119..c20e1ba70a 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -102,10 +102,10 @@ const u16 gIntroWaterDropAlphaBlend[] = static const struct OamData sVersionBannerLeftOamData = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 1, + .bpp = ST_OAM_8BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, @@ -119,10 +119,10 @@ static const struct OamData sVersionBannerLeftOamData = static const struct OamData sVersionBannerRightOamData = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 1, + .bpp = ST_OAM_8BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, @@ -190,10 +190,10 @@ static const struct CompressedSpriteSheet sSpriteSheet_EmeraldVersion[] = static const struct OamData sOamData_CopyrightBanner = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x8), .x = 0, .matrixNum = 0, @@ -302,10 +302,10 @@ static const struct SpritePalette sSpritePalette_PressStart[] = static const struct OamData sPokemonLogoShineOamData = { .y = 160, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, @@ -353,7 +353,7 @@ static void SpriteCB_VersionBannerLeft(struct Sprite *sprite) { if (gTasks[sprite->data[1]].data[1] != 0) { - sprite->oam.objMode = 0; + sprite->oam.objMode = ST_OAM_OBJ_NORMAL; sprite->pos1.y = VERSION_BANNER_Y_GOAL; } else @@ -370,7 +370,7 @@ static void SpriteCB_VersionBannerRight(struct Sprite *sprite) { if (gTasks[sprite->data[1]].data[1] != 0) { - sprite->oam.objMode = 0; + sprite->oam.objMode = ST_OAM_OBJ_NORMAL; sprite->pos1.y = VERSION_BANNER_Y_GOAL; } else @@ -484,22 +484,22 @@ static void StartPokemonLogoShine(u8 flashBg) case 0: case 2: spriteId = CreateSprite(&sPokemonLogoShineSpriteTemplate, 0, 68, 0); - gSprites[spriteId].oam.objMode = 2; + gSprites[spriteId].oam.objMode = ST_OAM_OBJ_WINDOW; gSprites[spriteId].data[0] = flashBg; break; case 1: spriteId = CreateSprite(&sPokemonLogoShineSpriteTemplate, 0, 68, 0); - gSprites[spriteId].oam.objMode = 2; + gSprites[spriteId].oam.objMode = ST_OAM_OBJ_WINDOW; gSprites[spriteId].data[0] = flashBg; gSprites[spriteId].invisible = TRUE; spriteId = CreateSprite(&sPokemonLogoShineSpriteTemplate, 0, 68, 0); gSprites[spriteId].callback = SpriteCB_PokemonLogoShine2; - gSprites[spriteId].oam.objMode = 2; + gSprites[spriteId].oam.objMode = ST_OAM_OBJ_WINDOW; spriteId = CreateSprite(&sPokemonLogoShineSpriteTemplate, -80, 68, 0); gSprites[spriteId].callback = SpriteCB_PokemonLogoShine2; - gSprites[spriteId].oam.objMode = 2; + gSprites[spriteId].oam.objMode = ST_OAM_OBJ_WINDOW; break; } } diff --git a/src/trade.c b/src/trade.c index d95e4ebf58..a9a0b9b2ad 100644 --- a/src/trade.c +++ b/src/trade.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle_anim.h" #include "battle_interface.h" #include "bg.h" @@ -44,1359 +44,204 @@ #include "union_room.h" #include "util.h" #include "window.h" +#include "constants/contest.h" #include "constants/easy_chat.h" #include "constants/items.h" #include "constants/moves.h" +#include "constants/region_map_sections.h" +#include "constants/rgb.h" #include "constants/species.h" #include "constants/songs.h" -#include "constants/rgb.h" #define Trade_SendData(ptr) (SendBlock(bitmask_all_link_players_but_self(), ptr->linkData, 20)) struct InGameTrade { - /*0x00*/ u8 name[11]; + /*0x00*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; /*0x0C*/ u16 species; - /*0x0E*/ u8 ivs[6]; - /*0x14*/ bool8 secondAbility; + /*0x0E*/ u8 ivs[NUM_STATS]; + /*0x14*/ u8 abilityNum; /*0x18*/ u32 otId; - /*0x1C*/ u8 stats[5]; + /*0x1C*/ u8 conditions[CONTEST_CATEGORIES_COUNT]; /*0x24*/ u32 personality; /*0x28*/ u16 heldItem; /*0x2A*/ u8 mailNum; /*0x2B*/ u8 otName[11]; /*0x36*/ u8 otGender; /*0x37*/ u8 sheen; - /*0x38*/ u16 playerSpecies; + /*0x38*/ u16 requestedSpecies; }; -static EWRAM_DATA u8 *gUnknown_02032184 = NULL; -static EWRAM_DATA u8 *gUnknown_02032188[14] = {NULL}; -EWRAM_DATA struct MailStruct gUnknown_020321C0[PARTY_SIZE] = {0}; -EWRAM_DATA u8 gUnknown_02032298[2] = {0}; +static EWRAM_DATA u8 *sMessageBoxAllocBuffer = NULL; + +// Bytes 0-2 are used for the player's name box +// Bytes 3-5 are used for the partner's name box +// Bytes 6-7 are used for the Cancel box +// Bytes 8-13 are used for the Choose a Pokemon box +static EWRAM_DATA u8 *sMessageBoxTileBuffers[14] = {NULL}; + +EWRAM_DATA struct MailStruct gTradeMail[PARTY_SIZE] = {0}; +EWRAM_DATA u8 gSelectedTradeMonPositions[2] = {0}; static EWRAM_DATA struct { - /*0x0000*/ u8 unk_0; - /*0x0001*/ u8 unk_1; + /*0x0000*/ u8 bg2hofs; + /*0x0001*/ u8 bg3hofs; /*0x0002*/ u8 filler_2[0x28 - 2]; - /*0x0028*/ u8 partyIcons[2][PARTY_SIZE]; - /*0x0034*/ u8 tradeMenuCursorSpriteIdx; - /*0x0035*/ u8 tradeMenuCursorPosition; + /*0x0028*/ u8 partySpriteIds[2][PARTY_SIZE]; + /*0x0034*/ u8 cursorSpriteIdx; + /*0x0035*/ u8 cursorPosition; /*0x0036*/ u8 partyCounts[2]; - /*0x0038*/ bool8 tradeMenuOptionsActive[12]; - /*0x0044*/ u8 unk_44; - /*0x0045*/ u8 unk_45[2][PARTY_SIZE]; - /*0x0051*/ u8 unk_51[2][PARTY_SIZE]; - /*0x005D*/ u8 unk_5D[2][PARTY_SIZE]; - /*0x0069*/ u8 unk_69; + /*0x0038*/ bool8 monPresent[PARTY_SIZE * 2]; + /*0x0044*/ bool8 neverRead_44; + /*0x0045*/ bool8 isLiveMon[2][PARTY_SIZE]; + /*0x0051*/ bool8 isEgg[2][PARTY_SIZE]; + /*0x005D*/ u8 hpBarLevels[2][PARTY_SIZE]; + /*0x0069*/ u8 bufferPartyState; /*0x006A*/ u8 filler_6A[0x6F - 0x6A]; - /*0x006F*/ u8 unk_6F; - /*0x0070*/ u8 unk_70; + /*0x006F*/ u8 tradeMenuFunc; + /*0x0070*/ u8 neverRead_70; /*0x0071*/ u8 filler_71; - /*0x0072*/ u16 unk_72; - /*0x0074*/ u8 unk_74[2]; - /*0x0076*/ u8 unk_76[2]; - /*0x0078*/ u8 unk_78; - /*0x0079*/ u8 unk_79; - /*0x007A*/ u8 unk_7A; - /*0x007B*/ u8 unk_7B; + /*0x0072*/ u16 bottomTextTileStart; + /*0x0074*/ u8 drawPartyState[2]; + /*0x0076*/ u8 selectedMonIdx[2]; + /*0x0078*/ u8 playerLinkFlagChoseAction; + /*0x0079*/ u8 partnerLinkFlagChoseAction; + /*0x007A*/ u8 playerLinkFlagStatus; + /*0x007B*/ u8 partnerLinkFlagStatus; /*0x007C*/ u8 filler_7C[0x7E - 0x7C]; - /*0x007E*/ u8 unk_7E; - /*0x007F*/ u8 filler_7F; + /*0x007E*/ u8 partnerCursorPosition; + /*0x007F*/ u8 unused_7F; /*0x0080*/ u16 linkData[20]; - /*0x00A8*/ u8 unk_A8; - /*0x00A9*/ u8 unk_A9[11]; + /*0x00A8*/ u8 timer; + /*0x00A9*/ u8 giftRibbons[11]; /*0x00B4*/ u8 filler_B4[0x8D0-0xB4]; /*0x08D0*/ struct { - bool8 unk_0; - u16 unk_2; - u8 unk_4; - } unk_8D0[4]; + bool8 queued; + u16 queueDelay; + u8 actionId; + } queuedActions[4]; /*0x08F0*/ u16 tilemapBuffer[0x400]; -} *gUnknown_0203229C = {NULL}; +} *sTradeMenuData = {NULL}; static EWRAM_DATA struct { /*0x00*/ struct Pokemon mon; /*0x64*/ u32 timer; - /*0x68*/ u32 unk_68[2]; + /*0x68*/ u32 monPersonalities[2]; /*0x70*/ u8 filler_70[2]; - /*0x72*/ u8 unk_72; - /*0x73*/ u8 unk_73; + /*0x72*/ u8 playerLinkFlagFinishTrade; + /*0x73*/ u8 partnerLinkFlagFinishTrade; /*0x74*/ u16 linkData[10]; - /*0x88*/ u8 unk_88; - /*0x89*/ u8 unk_89; - /*0x8A*/ u16 unk_8A; - /*0x8C*/ u16 unk_8C; + /*0x88*/ u8 alwaysZero_88; + /*0x89*/ u8 alwaysZero_89; + /*0x8A*/ u16 linkTimeoutCounter; + /*0x8C*/ u16 neverRead_8C; /*0x8E*/ u8 pokePicSpriteIdxs[2]; - /*0x90*/ u8 unk_90; - /*0x91*/ u8 unk_91; - /*0x92*/ u8 unk_92; - /*0x93*/ u8 unk_93; + /*0x90*/ u8 unk_90; //sprite id + /*0x91*/ u8 unk_91; //sprite id + /*0x92*/ u8 unk_92; //sprite id + /*0x93*/ u8 sendTradeFinishState; /*0x94*/ u16 state; /*0x96*/ u8 filler_96[0xD2 - 0x96]; - /*0xD2*/ u8 unk_D2; - /*0xD3*/ u8 unk_D3; - /*0xD4*/ u16 unk_D4; - /*0xD6*/ u16 unk_D6; - /*0xD8*/ u16 unk_D8; - /*0xDA*/ u16 unk_DA; - /*0xDC*/ u16 unk_DC; - /*0xDE*/ u16 unk_DE; + /*0xD2*/ u8 pokeballSpriteId; + /*0xD3*/ u8 unk_D3; //sprite id + /*0xD4*/ u16 texX; + /*0xD6*/ u16 texY; + /*0xD8*/ u16 neverRead_D8; + /*0xDA*/ u16 neverRead_DA; + /*0xDC*/ u16 scrX; + /*0xDE*/ u16 scrY; /*0xE0*/ s16 bg1vofs; /*0xE2*/ s16 bg1hofs; /*0xE4*/ s16 bg2vofs; /*0xE6*/ s16 bg2hofs; - /*0xE8*/ u16 unk_E8; - /*0xEA*/ u16 unk_EA; - /*0xEC*/ u16 unk_EC; + /*0xE8*/ u16 sXY; + /*0xEA*/ u16 unk_EA; //sXY divisor + /*0xEC*/ u16 alpha; /*0xEE*/ bool8 isLinkTrade; - /*0xF0*/ u16 tradeSpecies[2]; + /*0xF0*/ u16 monSpecies[2]; /*0xF4*/ u16 cachedMapMusic; - /*0xF6*/ u8 unk_F6[3]; + /*0xF6*/ u8 textColors[3]; /*0xF9*/ u8 filler_F9; - /*0xFA*/ u8 unk_FA; - /*0xFB*/ u8 unk_FB; - /*0xFC*/ u8 unk_FC; - /*0xFD*/ u8 unk_FD; - /*0xFE*/ u8 unk_FE; -} *gUnknown_020322A0 = {NULL}; + /*0xFA*/ bool8 isCableTrade; + /*0xFB*/ u8 wirelessWinLeft; + /*0xFC*/ u8 wirelessWinTop; + /*0xFD*/ u8 wirelessWinRight; + /*0xFE*/ u8 wirelessWinBottom; +} *sTradeData = {NULL}; #if !defined(NONMATCHING) && MODERN #define static #endif -static bool32 sub_8077260(void); -static void sub_80773D0(void); -static void sub_807811C(void); -static void sub_807825C(void); -static void sub_80782B8(u8); -static void sub_8078388(void); -static bool8 shedinja_maker_maybe(void); -static void sub_8078C34(void); -static void sub_80795AC(void); -static void sub_807967C(u8); -static void sub_80796B4(u8); -static u8 sub_8079A3C(u8 *, u8, u8); -static void sub_8079AA4(u8 *, u8, u8); -static void sub_8079BE0(u8); -static void sub_8079C4C(u8, u8, u8, u8, u8, u8); -static void sub_8079E44(u8); -static void sub_8079F74(void); -static void sub_8079F88(u8); -static void sub_807A000(u8 taskId); -static void sub_807A024(u8 taskId); -static void sub_807A048(u16, u8); -static u32 sub_807A09C(void); -static void sub_807A0C4(void); -static void sub_807A19C(u8); -static bool8 sub_807A1F0(void); -static void sub_807A308(const u8 *, u8 *, u8); -static void sub_807A320(u8); -static void sub_807A468(u8); -static void sub_807A53C(void); -static void sub_807A5B0(void); -static u32 sub_807A5F4(struct Pokemon *, int, int); +static bool32 IsWirelessTrade(void); +static void CB2_CreateTradeMenu(void); +static void VBlankCB_TradeMenu(void); +static void CB2_TradeMenu(void); +static void LoadTradeBgGfx(u8); +static void SetTradePartyMonsVisible(void); +static bool8 BufferTradeParties(void); +static void CB1_SendOrReactToLinkTradeData(void); +static void CallTradeMenuFunc(void); +static void SetSelectedMon(u8); +static void DrawTradeMenuParty(u8); +static u8 GetMonNicknameWidth(u8 *, u8, u8); +static void BufferTradeMonMoves(u8 *, u8, u8); +static void PrintPartyNicknamesForTradeMenu(u8); +static void DrawTradeMenuPartyMonInfo(u8, u8, u8, u8, u8, u8); +static void DrawTradeMenuPartyInfo(u8); +static void PrintNicknamesForTradeMenu(void); +static void RedrawTradeMenuParty(u8); +static void Task_DrawSelectionSummary(u8 taskId); +static void Task_DrawSelectionTrade(u8 taskId); +static void QueueAction(u16, u8); +static u32 GetNumQueuedActions(void); +static void DoQueuedActions(void); +static void PrintTradeMessage(u8); +static bool8 LoadTradeMenuSpriteSheetsAndPalettes(void); +static void DrawTextWindowAndBuffer6Bytes(const u8 *, u8 *, u8); +static void SetTradePartyLiveStatuses(u8); +static void GetTradePartyHPBarLevels(u8); +static void SetTradePartyHPBarSprites(void); +static void SaveTradeGiftRibbons(void); +static u32 CanTradeSelectedMon(struct Pokemon *, int, int); static void sub_807AA28(struct Sprite *sprite); static void sub_807AA7C(struct Sprite *sprite); static void sub_807AABC(struct Sprite *sprite); static void sub_807AAE0(struct Sprite *sprite); static void sub_807AB04(struct Sprite *sprite); -static void sub_807B170(void); -static void sub_807B60C(void); -static void sub_807B62C(u8); -static void sub_807BA94(void); -static void SetTradeSceneStrings(void); -static u8 sub_807BBC8(void); -static u8 sub_807BBEC(void); -static u8 sub_807CFC8(void); +static void InitTradeBgInternal(void); +static void CB2_UpdateInGameTrade(void); +static void SetTradeSequenceBgGpuRegs(u8); +static void LoadTradeSequenceSpriteSheetsAndPalettes(void); +static void BufferTradeSceneStrings(void); +static bool8 AnimateTradeSequence(void); +static bool8 AnimateTradeSequenceCable(void); +static bool8 AnimateTradeSequenceWireless(void); static void sub_807E55C(struct Sprite *sprite); static void sub_807E5D8(struct Sprite *sprite); static void sub_807E64C(struct Sprite *sprite); static void sub_807E6AC(struct Sprite *sprite); -static void sub_807E784(void); -static void sub_807E974(struct MailStruct *mail, const struct InGameTrade *trade); -static void sub_807EA2C(void); -static void sub_807EACC(void); -static void sub_807EB50(void); -static void c2_080543C4(void); -static void sub_807F110(u8); -static void sub_807F14C(void); -static void c3_08054588(u8); +static void BufferInGameTradeMonName(void); +static void SetInGameTradeMail(struct MailStruct *mail, const struct InGameTrade *trade); +static void CB2_UpdateLinkTrade(void); +static void CB2_TryFinishTrade(void); +static void CB2_SaveAndEndTrade(void); +static void CB2_FreeTradeData(void); +static void Task_InGameTrade(u8); +static void CheckPartnersMonForRibbons(void); +static void Task_AnimateWirelessSignal(u8); static void c3_0805465C(u8); static void sub_807F39C(u8); -static void sub_807F464(void); +static void CB2_SaveAndEndWirelessTrade(void); -static const u32 sUnref_0832C6A8[] = -{ - 0x00000F2C, - 0x00003D88, - 0x0000001C, - 0x00000024, - 0x00000064, - 0x00000528 -}; -static const u16 gTradeMovesBoxTilemap[] = INCBIN_U16("graphics/trade/moves_box_map.bin"); -static const u16 gTradePartyBoxTilemap[] = INCBIN_U16("graphics/trade/party_box_map.bin"); -static const u8 gTradeStripesBG2Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg2_map.bin"); -static const u8 gTradeStripesBG3Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg3_map.bin"); -static const u8 gText_EmptyString7[] = _(""); -static const u8 gText_ClrWhtHltTrspntShdwDrkGry[] = _("{COLOR WHITE}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}"); -const u8 gText_MaleSymbol4[] = _("♂"); -const u8 gText_FemaleSymbol4[] = _("♀"); -const u8 gText_GenderlessSymbol[] = _(""); -static const u8 gText_SpaceMove[] = _(" MOVE"); -static const u8 gText_NewLine3[] = _("\n"); -static const u8 gText_Slash2[] = _("/"); -static const u8 gText_Lv2[] = _("Lv. "); -static const u8 gText_ThreeDashes2[] = _("---"); -static const u8 gText_FourQuestionMarks[] = _("????"); -static const u8 gText_832DAE4[] = _(""); -static const u8 gText_IsThisTradeOkay[] = _("Is this trade okay?"); -static const u8 gText_Cancel6[] = _("CANCEL"); -static const u8 gText_ChooseAPkmn[] = _("Choose a POKéMON."); -static const u8 gText_Summary3[] = _("SUMMARY"); -static const u8 gText_Trade2[] = _("TRADE"); -static const u8 gText_CancelTrade[] = _("Cancel trade?"); -static const u8 gJPText_832DB2E[] = _("Bボタン で もどります"); -static const u8 gText_Summary4[] = _("SUMMARY"); -static const u8 gText_Trade3[] = _("TRADE"); -static const u8 gText_CommunicationStandby6[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Communication standby…\nPlease wait."); -static const u8 gText_TheTradeHasBeenCanceled[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}The trade has\nbeen canceled."); -static const u8 gText_YourOnlyPkmnForBattle[] = _("That's your only\nPOKéMON for battle."); -static const u8 gText_WaitingForYourFriend[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Waiting for your friend\nto finish…"); -static const u8 gText_YourFriendWantsToTrade[] = _("Your friend wants\nto trade POKéMON."); +#include "data/trade.h" -static const struct OamData gOamData_832DC14 = -{ - .shape = SPRITE_SHAPE(32x16), - .size = SPRITE_SIZE(32x16), - .priority = 1 -}; - -static const struct OamData gOamData_832DC1C = -{ - .shape = SPRITE_SHAPE(64x32), - .size = SPRITE_SIZE(64x32), - .priority = 1 -}; - -static const union AnimCmd gSpriteAnim_832DC24[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_832DC2C[] = -{ - ANIMCMD_FRAME(32, 5), - ANIMCMD_END -}; - -static const union AnimCmd *const gSpriteAnimTable_832DC34[] = -{ - gSpriteAnim_832DC24, - gSpriteAnim_832DC2C -}; - -static const struct SpriteSheet gUnknown_0832DC3C = -{ - .data = gUnknown_08DDC6E4, - .size = 0x800, - .tag = 300 -}; - -static const struct SpritePalette gUnknown_0832DC44 = -{ - .data = gUnknown_08DDB444, - .tag = 2345 -}; - -static const union AnimCmd gSpriteAnim_832DC4C[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_832DC54[] = -{ - ANIMCMD_FRAME(8, 5), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_832DC5C[] = -{ - ANIMCMD_FRAME(16, 5), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_832DC64[] = -{ - ANIMCMD_FRAME(24, 5), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_832DC6C[] = -{ - ANIMCMD_FRAME(32, 5), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_832DC74[] = -{ - ANIMCMD_FRAME(40, 5), - ANIMCMD_END -}; - -static const union AnimCmd *const gSpriteAnimTable_832DC7C[] = -{ - gSpriteAnim_832DC4C, - gSpriteAnim_832DC54, - gSpriteAnim_832DC5C, - gSpriteAnim_832DC64, - gSpriteAnim_832DC6C, - gSpriteAnim_832DC74 -}; - -static const struct SpriteTemplate gSpriteTemplate_832DC94 = -{ - .tileTag = 300, - .paletteTag = 2345, - .oam = &gOamData_832DC1C, - .anims = gSpriteAnimTable_832DC34, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, -}; - -static const struct SpriteTemplate gSpriteTemplate_832DCAC = -{ - .tileTag = 200, - .paletteTag = 4925, - .oam = &gOamData_832DC14, - .anims = gSpriteAnimTable_832DC7C, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy, -}; - -static const u16 TradeScreenTextPalette[] = INCBIN_U16("graphics/trade/text.gbapal"); -static const struct SpritePalette gSpritePalette_TradeScreenText = -{ - .data = TradeScreenTextPalette, - .tag = 4925 -}; - -// This is used to determine the next mon to select when the D-Pad is -// pressed in a given direction. -// Note that the mons are laid out like this. -// 0-5 are the player's party and 6-11 are the trading partner's party. -// 12 is the cancel button. -// 0 1 6 7 -// 2 3 8 9 -// 4 5 10 11 -// 12 -static const u8 gTradeNextSelectedMonTable[][4][6] = -{ - { - {4, 2, 12, 12, 0, 0}, - {2, 4, 12, 12, 0, 0}, - {7, 6, 1, 0, 0, 0}, - {1, 6, 7, 0, 0, 0} - }, - { - {5, 3, 12, 12, 0, 0}, - {3, 5, 12, 12, 0, 0}, - {0, 7, 6, 1, 0, 0}, - {6, 7, 0, 1, 0, 0} - }, - { - {0, 0, 0, 0, 0, 0}, - {4, 0, 0, 0, 0, 0}, - {9, 8, 7, 6, 0, 0}, - {3, 1, 0, 0, 0, 0} - }, - { - {1, 1, 1, 1, 0, 0}, - {5, 1, 1, 1, 0, 0}, - {2, 9, 8, 7, 0, 0}, - {8, 9, 6, 6, 0, 0} - }, - { - {2, 2, 2, 2, 0, 0}, - {0, 0, 0, 0, 0, 0}, - {11, 10, 9, 8, 7, 6}, - {5, 3, 1, 0, 0, 0} - }, - { - {3, 3, 3, 3, 0, 0}, - {1, 1, 1, 1, 0, 0}, - {4, 4, 4, 4, 0, 0}, - {10, 8, 6, 0, 0, 0} - }, - { - {10, 8, 12, 0, 0, 0}, - {8, 10, 12, 0, 0, 0}, - {1, 0, 0, 0, 0, 0}, - {7, 0, 1, 0, 0, 0} - }, - { - {12, 0, 0, 0, 0, 0}, - {9, 12, 0, 0, 0, 0}, - {6, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0} - }, - { - {6, 0, 0, 0, 0, 0}, - {10, 6, 0, 0, 0, 0}, - {3, 2, 1, 0, 0, 0}, - {9, 7, 0, 0, 0, 0} - }, - { - {7, 0, 0, 0, 0, 0}, - {11, 12, 0, 0, 0, 0}, - {8, 0, 0, 0, 0, 0}, - {2, 1, 0, 0, 0, 0} - }, - { - {8, 0, 0, 0, 0, 0}, - {6, 0, 0, 0, 0, 0}, - {5, 4, 3, 2, 1, 0}, - {11, 9, 7, 0, 0, 0} - }, - { - {9, 0, 0, 0, 0, 0}, - {12, 0, 0, 0, 0, 0}, - {10, 0, 0, 0, 0, 0}, - {4, 2, 0, 0, 0, 0} - }, - { - {11, 9, 7, 6, 0, 0}, - {7, 6, 0, 0, 0, 0}, - {12, 0, 0, 0, 0, 0}, - {12, 0, 0, 0, 0, 0} - } -}; - -static const u8 gTradeMonSpriteCoords[][2] = -{ - // Your party - {1, 5 }, - {8, 5 }, - {1, 10}, - {8, 10}, - {1, 15}, - {8, 15}, - - // Friend's party - {16, 5 }, - {23, 5 }, - {16, 10}, - {23, 10}, - {16, 15}, - {23, 15}, - - {23, 18} // CANCEL -}; - -static const u8 gTradeLevelDisplayCoords[][6][2] = -{ - { - // Your party - {5, 4}, - {12, 4}, - {5, 9}, - {12, 9}, - {5, 14}, - {12, 14}, - }, - { - // Friend's party - {20, 4}, - {27, 4}, - {20, 9}, - {27, 9}, - {20, 14}, - {27, 14} - } -}; - -static const u8 gTradeMonBoxCoords[][6][2] = -{ - { - // Your party - {1, 3}, - {8, 3}, - {1, 8}, - {8, 8}, - {1, 13}, - {8, 13}, - }, - { - // Friend's party - {16, 3}, - {23, 3}, - {16, 8}, - {23, 8}, - {16, 13}, - {23, 13} - } -}; - -static const u8 sUnref_0832DE6E[] = -{ - 0x00, 0x0e, - 0x0f, 0x1d, - 0x03, 0x05, - 0x03, 0x07, - 0x12, 0x05, - 0x12, 0x07, - 0x08, 0x07, - 0x16, 0x0c, - 0x08, 0x07, - 0x16, 0x0c, - 0x06, 0x07, - 0x18, 0x0c, - 0x06, 0x07, - 0x18, 0x0c, - 0x08, 0x07, - 0x16, 0x0c, - 0x07, 0x07, - 0x17, 0x0c -}; - -static const u8 *const gUnknown_0832DE94[] = -{ - gText_Cancel6, - gText_ChooseAPkmn, - gText_Summary3, - gText_Trade2, - gText_CancelTrade, - gJPText_832DB2E -}; - -static const struct MenuAction gUnknown_0832DEAC[] = -{ - {gText_Summary4, sub_807A000}, - {gText_Trade3, sub_807A024} -}; - -static const u8 *const gUnknown_0832DEBC[] = { - gText_CommunicationStandby6, - gText_TheTradeHasBeenCanceled, - gText_YourOnlyPkmnForBattle, - gText_OnlyPkmnForBattle, - gText_WaitingForYourFriend, - gText_YourFriendWantsToTrade, - gText_PkmnCantBeTradedNow, - gText_EggCantBeTradedNow, - gText_OtherTrainersPkmnCantBeTraded -}; - -static const u8 gUnknown_0832DEE0[] = { 0, 1, 2 }; - -static const struct BgTemplate gUnknown_0832DEE4[] = -{ - { - .bg = 0, - .charBaseIndex = 2, - .mapBaseIndex = 31, - .screenSize = 0, - .paletteMode = 0, - .priority = 0, - .baseTile = 0 - }, - { - .bg = 1, - .charBaseIndex = 0, - .mapBaseIndex = 5, - .screenSize = 0, - .paletteMode = 0, - .priority = 1, - .baseTile = 0 - }, - { - .bg = 2, - .charBaseIndex = 0, - .mapBaseIndex = 6, - .screenSize = 0, - .paletteMode = 0, - .priority = 2, - .baseTile = 0 - }, - { - .bg = 3, - .charBaseIndex = 0, - .mapBaseIndex = 7, - .screenSize = 0, - .paletteMode = 0, - .priority = 3, - .baseTile = 0 - }, -}; - -static const struct WindowTemplate gUnknown_0832DEF4[] = -{ - { - .bg = 0, - .tilemapLeft = 4, - .tilemapTop = 7, - .width = 22, - .height = 4, - .paletteNum = 15, - .baseBlock = 30 - }, - { - .bg = 0, - .tilemapLeft = 19, - .tilemapTop = 15, - .width = 10, - .height = 4, - .paletteNum = 15, - .baseBlock = 118 - }, - { - .bg = 0, - .tilemapLeft = 0, - .tilemapTop = 5, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 158 - }, - { - .bg = 0, - .tilemapLeft = 7, - .tilemapTop = 5, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 174 - }, - { - .bg = 0, - .tilemapLeft = 0, - .tilemapTop = 10, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 190 - }, - { - .bg = 0, - .tilemapLeft = 7, - .tilemapTop = 10, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 206 - }, - { - .bg = 0, - .tilemapLeft = 0, - .tilemapTop = 15, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 222 - }, - { - .bg = 0, - .tilemapLeft = 7, - .tilemapTop = 15, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 238 - }, - { - .bg = 0, - .tilemapLeft = 15, - .tilemapTop = 5, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 254 - }, - { - .bg = 0, - .tilemapLeft = 22, - .tilemapTop = 5, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 270 - }, - { - .bg = 0, - .tilemapLeft = 15, - .tilemapTop = 10, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 286 - }, - { - .bg = 0, - .tilemapLeft = 22, - .tilemapTop = 10, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 302 - }, - { - .bg = 0, - .tilemapLeft = 15, - .tilemapTop = 15, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 318 - }, - { - .bg = 0, - .tilemapLeft = 22, - .tilemapTop = 15, - .width = 8, - .height = 2, - .paletteNum = 13, - .baseBlock = 334 - }, - { - .bg = 0, - .tilemapLeft = 2, - .tilemapTop = 5, - .width = 14, - .height = 2, - .paletteNum = 13, - .baseBlock = 350 - }, - { - .bg = 0, - .tilemapLeft = 3, - .tilemapTop = 8, - .width = 11, - .height = 8, - .paletteNum = 15, - .baseBlock = 378 - }, - { - .bg = 0, - .tilemapLeft = 17, - .tilemapTop = 5, - .width = 14, - .height = 2, - .paletteNum = 15, - .baseBlock = 466 - }, - { - .bg = 0, - .tilemapLeft = 18, - .tilemapTop = 8, - .width = 11, - .height = 8, - .paletteNum = 15, - .baseBlock = 494 - }, - DUMMY_WIN_TEMPLATE, -}; - -static const struct WindowTemplate gUnknown_0832DF8C = -{ - .bg = 0, - .tilemapLeft = 23, - .tilemapTop = 13, - .width = 5, - .height = 4, - .paletteNum = 15, - .baseBlock = 582 -}; - -static const u8 gJPText_Shedinja[] = _("ヌケニン"); -static const u8 gUnknown_0832DF99[][2] = -{ - {4, 3}, - {19, 3}, - {0, 0} -}; - -static const u16 gTradeBallPalette[] = INCBIN_U16("graphics/trade/ball.gbapal"); -static const u8 gTradeBallTiles[] = INCBIN_U8("graphics/trade/ball.4bpp"); -static const u8 gUnknown_832E5C0[] = INCBIN_U8("graphics/trade/pokeball_symbol.8bpp"); -static const u16 gUnknown_0832FFC0[] = INCBIN_U16("graphics/trade/cable_closeup_map.bin"); -static const u16 gUnknown_083307C0[] = INCBIN_U16("graphics/trade/pokeball_symbol_map.bin"); -static const u16 sUnref_083308C0[] = INCBIN_U16("graphics/trade/unknown_3308C0.gbapal"); -static const u16 gUnknown_083308E0[] = INCBIN_U16("graphics/trade/gba.gbapal"); -static const u16 gUnref_08330900[] = INCBIN_U16("graphics/trade/shadow.gbapal"); -static const u16 gUnref_08330920[] = INCBIN_U16("graphics/trade/black.gbapal"); -static const u16 gUnknown_08330940[] = INCBIN_U16("graphics/trade/misc.gbapal"); -static const u8 gTradeGlow1Tiles[] = INCBIN_U8("graphics/trade/glow1.4bpp"); -static const u8 gTradeGlow2Tiles[] = INCBIN_U8("graphics/trade/glow2.4bpp"); -static const u8 gTradeCableEndTiles[] = INCBIN_U8("graphics/trade/cable_end.4bpp"); -static const u8 gTradeGBAScreenTiles[] = INCBIN_U8("graphics/trade/gba_screen.4bpp"); -const u16 gUnknown_08331F60[] = INCBIN_U16("graphics/trade/shadow_map.bin"); -static const u8 gUnknown_08332F60[] = INCBIN_U8("graphics/trade/gba_affine.8bpp"); -static const u8 sFiller_08335760[64] = {}; -static const u8 gUnknown_083357A0[] = INCBIN_U8("graphics/trade/gba_affine_map_cable.bin"); -static const u8 gUnknown_083358A0[] = INCBIN_U8("graphics/trade/gba_affine_map_wireless.bin"); -static const u16 gUnknown_083359A0[] = INCBIN_U16("graphics/trade/gba_map_wireless.bin"); -static const u16 gUnknown_083369A0[] = INCBIN_U16("graphics/trade/gba_map_cable.bin"); -static const u32 gUnknown_083379A0[] = INCBIN_U32("graphics/trade/unknown_3379A0.bin.lz"); -static const u16 gUnknown_08337AA0[] = INCBIN_U16("graphics/trade/wireless_signal_send.gbapal"); -static const u16 gUnknown_08337CA0[] = INCBIN_U16("graphics/trade/wireless_signal_receive.gbapal"); -static const u16 gUnknown_08337EA0[] = INCBIN_U16("graphics/trade/black.gbapal"); -static const u32 gUnknown_08337EC0[] = INCBIN_U32("graphics/trade/wireless_signal.4bpp.lz"); -static const u32 gUnknown_08338550[] = INCBIN_U32("graphics/trade/wireless_signal.bin.lz"); - -static const struct OamData gOamData_8338C44 = -{ - .affineMode = 1, - .shape = SPRITE_SHAPE(16x16), - .size = SPRITE_SIZE(16x16) -}; - -static const union AnimCmd gSpriteAnim_8338C4C[] = -{ - ANIMCMD_FRAME( 0, 3), - ANIMCMD_FRAME( 4, 3), - ANIMCMD_FRAME( 8, 3), - ANIMCMD_FRAME(12, 3), - ANIMCMD_FRAME(16, 3), - ANIMCMD_FRAME(20, 3), - ANIMCMD_FRAME(24, 3), - ANIMCMD_FRAME(28, 3), - ANIMCMD_FRAME(32, 3), - ANIMCMD_FRAME(36, 3), - ANIMCMD_FRAME(40, 3), - ANIMCMD_FRAME(44, 3), - ANIMCMD_LOOP(1), - ANIMCMD_FRAME( 0, 3), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_8338C88[] = -{ - ANIMCMD_FRAME( 0, 3), - ANIMCMD_FRAME( 4, 3), - ANIMCMD_FRAME( 8, 3), - ANIMCMD_FRAME(12, 3), - ANIMCMD_FRAME(16, 3), - ANIMCMD_FRAME(20, 3), - ANIMCMD_FRAME(24, 3), - ANIMCMD_FRAME(28, 3), - ANIMCMD_FRAME(32, 3), - ANIMCMD_FRAME(36, 3), - ANIMCMD_FRAME(40, 3), - ANIMCMD_FRAME(44, 3), - ANIMCMD_LOOP(2), - ANIMCMD_FRAME( 0, 3), - ANIMCMD_END -}; - -static const union AnimCmd *const gSpriteAnimTable_8338C88[] = -{ - gSpriteAnim_8338C4C, - gSpriteAnim_8338C88 -}; - -static const union AffineAnimCmd gSpriteAffineAnim_8338CCC[] = -{ - AFFINEANIMCMD_FRAME(0, 0, 0, 1), - AFFINEANIMCMD_END -}; - -static const union AffineAnimCmd gSpriteAffineAnim_8338CDC[] = -{ - AFFINEANIMCMD_FRAME(-8, 0, 0, 20), - AFFINEANIMCMD_END -}; - -static const union AffineAnimCmd gSpriteAffineAnim_8338CEC[] = -{ - AFFINEANIMCMD_FRAME(0x60, 0x100, 0, 0), - AFFINEANIMCMD_FRAME( 0, 0, 0, 5), - AFFINEANIMCMD_FRAME( 8, 0, 0, 20), - AFFINEANIMCMD_END -}; - -static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D0C[] = -{ - gSpriteAffineAnim_8338CCC, - gSpriteAffineAnim_8338CDC, - gSpriteAffineAnim_8338CEC -}; - -static const struct SpriteSheet gUnknown_08338D18 = -{ - .data = gTradeBallTiles, - .size = 0x600, - .tag = 5557 -}; - -static const struct SpritePalette gUnknown_08338D20 = -{ - .data = gTradeBallPalette, - .tag = 5558 -}; - -static const struct SpriteTemplate gSpriteTemplate_8338D28 = -{ - .tileTag = 5557, - .paletteTag = 5558, - .oam = &gOamData_8338C44, - .anims = gSpriteAnimTable_8338C88, - .images = NULL, - .affineAnims = gSpriteAffineAnimTable_8338D0C, - .callback = sub_807E55C -}; - -static const struct OamData gOamData_8338D40 = -{ - .affineMode = 1, - .objMode = 1, - .shape = SPRITE_SHAPE(32x32), - .size = SPRITE_SIZE(32x32), - .priority = 1 -}; - -static const union AnimCmd gSpriteAnim_8338D48[] = -{ - ANIMCMD_FRAME(0, 5, .hFlip = TRUE, .vFlip = TRUE), - ANIMCMD_END -}; - -static const union AnimCmd *const gSpriteAnimTable_8338D50[] = -{ - gSpriteAnim_8338D48 -}; - -static const union AffineAnimCmd gSpriteAffineAnim_8338D54[] = -{ - AFFINEANIMCMD_FRAME(-10, -10, 0, 5), - AFFINEANIMCMD_FRAME(10, 10, 0, 5), - AFFINEANIMCMD_JUMP(0) -}; - -static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D6C[] = -{ - gSpriteAffineAnim_8338D54 -}; - -static const struct SpriteSheet gUnknown_08338D70 = -{ - .data = gTradeGlow1Tiles, - .size = 0x200, - .tag = 5550 -}; - -static const struct SpritePalette gUnknown_08338D78 = -{ - .data = gUnknown_08330940, - .tag = 5551 -}; - -static const struct SpritePalette gUnknown_08338D80 = -{ - .data = gUnknown_083308E0, - .tag = 5555 -}; - -static const struct SpriteTemplate gUnknown_08338D88 = -{ - .tileTag = 5550, - .paletteTag = 5551, - .oam = &gOamData_8338D40, - .anims = gSpriteAnimTable_8338D50, - .images = NULL, - .affineAnims = gSpriteAffineAnimTable_8338D6C, - .callback = sub_807AA28 -}; - -static const struct OamData gOamData_8338DA0 = -{ - .shape = SPRITE_SHAPE(16x32), - .size = SPRITE_SIZE(16x32), - .priority = 1 -}; - -static const union AnimCmd gSpriteAnim_8338DA8[] = -{ - ANIMCMD_FRAME(0, 5, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_8338DB0[] = -{ - ANIMCMD_FRAME(8, 5, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_END -}; - -static const union AnimCmd *const gSpriteAnimTable_8338DB8[] = -{ - gSpriteAnim_8338DA8, - gSpriteAnim_8338DB0 -}; - -static const struct SpriteSheet gUnknown_08338DC0 = -{ - .data = gTradeGlow2Tiles, - .size = 0x300, - .tag = 5552 -}; - -static const struct SpriteTemplate gSpriteTemplate_8338DC8 = -{ - .tileTag = 5552, - .paletteTag = 5551, - .oam = &gOamData_8338DA0, - .anims = gSpriteAnimTable_8338DB8, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_807AA7C -}; - -static const struct OamData gOamData_8338DE0 = -{ - .shape = SPRITE_SHAPE(16x32), - .size = SPRITE_SIZE(16x32), - .priority = 1 -}; - -static const union AnimCmd gSpriteAnim_8338DE8[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_END -}; - -static const union AnimCmd *const gSpriteAnimTable_8338DF0[] = -{ - gSpriteAnim_8338DE8 -}; - -static const struct SpriteSheet gUnknown_08338DF4 = -{ - .data = gTradeCableEndTiles, - .size = 0x100, - .tag = 5554 -}; - -static const struct SpriteTemplate gSpriteTemplate_8338DFC = -{ - .tileTag = 5554, - .paletteTag = 5555, - .oam = &gOamData_8338DE0, - .anims = gSpriteAnimTable_8338DF0, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_807AABC -}; - -static const struct OamData gOamData_8338E14 = -{ - .shape = SPRITE_SHAPE(64x32), - .size = SPRITE_SIZE(64x32), - .priority = 1 -}; - -static const union AnimCmd gSpriteAnim_8338E1C[] = -{ - ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_LOOP(8), - ANIMCMD_END -}; - -static const union AnimCmd gSpriteAnim_8338E40[] = -{ - ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_LOOP(2), - ANIMCMD_END -}; - -static const union AnimCmd *const gSpriteAnimTable_8338E64[] = -{ - gSpriteAnim_8338E1C -}; - -static const union AnimCmd *const gSpriteAnimTable_8338E68[] = -{ - gSpriteAnim_8338E40 -}; - -static const struct SpriteSheet gUnknown_08338E6C = -{ - .data = gTradeGBAScreenTiles, - .size = 0x1000, - .tag = 5556 -}; - -static const struct SpriteTemplate gSpriteTemplate_8338E74 = -{ - .tileTag = 5556, - .paletteTag = 5555, - .oam = &gOamData_8338E14, - .anims = gSpriteAnimTable_8338E64, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_807AB04 -}; - -static const struct SpriteTemplate gSpriteTemplate_8338E8C = -{ - .tileTag = 5556, - .paletteTag = 5555, - .oam = &gOamData_8338E14, - .anims = gSpriteAnimTable_8338E68, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_807AB04 -}; - -static const u16 gUnknown_08338EA4[] = INCBIN_U16("graphics/trade/unknown_338EA4.gbapal"); - -static const union AffineAnimCmd gSpriteAffineAnim_8338EBC[] = -{ - AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), - AFFINEANIMCMD_JUMP(0) -}; - -static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[] = -{ - gSpriteAffineAnim_8338EBC -}; - -static const struct InGameTrade gIngameTrades[] = -{ - { - _("DOTS"), SPECIES_SEEDOT, - 5, 4, 5, 4, 4, 4, - TRUE, 38726, - 30, 5, 5, 5, 5, - 0x84, - ITEM_CHESTO_BERRY, -1, - _("KOBE"), MALE, 10, - SPECIES_RALTS - }, { - _("PLUSES"), SPECIES_PLUSLE, - 4, 4, 4, 5, 5, 4, - FALSE, 73996, - 5, 5, 30, 5, 5, - 0x6F, - ITEM_WOOD_MAIL, 0, - _("ROMAN"), MALE, 10, - SPECIES_VOLBEAT - }, { - _("SEASOR"), - SPECIES_HORSEA, - 5, 4, 4, 4, 5, 4, - FALSE, 46285, - 5, 5, 5, 5, 30, - 0x7F, - ITEM_WAVE_MAIL, 1, - _("SKYLAR"), MALE, 10, - SPECIES_BAGON - }, { - _("MEOWOW"), - SPECIES_MEOWTH, - 4, 5, 4, 5, 4, 4, - FALSE, 91481, - 5, 5, 5, 30, 5, - 0x8B, - ITEM_RETRO_MAIL, 2, - _("ISIS"), FEMALE, 10, - SPECIES_SKITTY - } -}; - -static const u16 gIngameTradeMail[][10] = -{ - { - EC_WORD_BE, - EC_WORD_NICE, - EC_WORD_TO, - EC_POKEMON(PLUSLE), - EC_WORD_EXCL, - EC_POKEMON(VOLBEAT), - EC_WORD_WILL, - EC_WORD_BE, - EC_WORD_FANTASTIC, - 0 - }, { - EC_WORD_I, - EC_WORD_WILL, - EC_WORD_MAKE, - EC_POKEMON(BAGON), - EC_WORD_TOUGH, - EC_WORD_PLEASE, - EC_WORD_TRAIN, - EC_POKEMON(HORSEA), - EC_WORD_WELL, - 0 - }, { - EC_WORD_THANK_YOU, - EC_WORD_FOR, - EC_POKEMON(SKITTY), - EC_POKEMON2(MEOWTH), - EC_WORD_CRIES, - EC_WORD_IN, - EC_WORD_A, - EC_WORD_CUTE, - EC_WORD_WAY, - 0 - } -}; - -static const struct WindowTemplate gUnknown_08338FFC[] = -{ - { - .bg = 0, - .tilemapLeft = 2, - .tilemapTop = 15, - .width = 26, - .height = 4, - .paletteNum = 0, - .baseBlock = 64 - }, - DUMMY_WIN_TEMPLATE -}; - -const struct WindowTemplate gUnknown_0833900C = -{ - .bg = 0, - .tilemapLeft = 21, - .tilemapTop = 9, - .width = 5, - .height = 4, - .paletteNum = 15, - .baseBlock = 188 -}; - -static const struct BgTemplate gUnknown_08339014[] = -{ - { - .bg = 0, - .charBaseIndex = 3, - .mapBaseIndex = 31, - .screenSize = 0, - .paletteMode = 0, - .priority = 0, - .baseTile = 0 - }, - { - .bg = 1, - .charBaseIndex = 0, - .mapBaseIndex = 5, - .screenSize = 0, - .paletteMode = 0, - .priority = 2, - .baseTile = 0 - }, - { - .bg = 2, - .charBaseIndex = 1, - .mapBaseIndex = 18, - .screenSize = 1, - .paletteMode = 0, - .priority = 2, - .baseTile = 0 - }, - { - .bg = 3, - .charBaseIndex = 0, - .mapBaseIndex = 6, - .screenSize = 0, - .paletteMode = 0, - .priority = 3, - .baseTile = 0 - }, -}; - -static const s8 gTradeBallVerticalVelocityTable[] = -{ - 0, 0, 1, 0, - 1, 0, 1, 1, - 1, 1, 2, 2, - 2, 2, 3, 3, - 3, 3, 4, 4, - 4, 4, -4, -4, - -4, -3, -3, -3, - -3, -2, -2, -2, - -2, -1, -1, -1, - -1, 0, -1, 0, - -1, 0, 0, 0, - 0, 0, 1, 0, - 1, 0, 1, 1, - 1, 1, 2, 2, - 2, 2, 3, 3, - 3, 3, 4, 4, - 4, 4, -4, -3, - -3, -2, -2, -1, - -1, -1, 0, -1, - 0, 0, 0, 0, - 0, 0, 1, 0, - 1, 1, 1, 2, - 2, 3, 3, 4, - -4, -3, -2, -1, - -1, -1, 0, 0, - 0, 0, 1, 0, - 1, 1, 2, 3 -}; - -static const u8 gUnknown_08339090[][2] = -{ - {0, 1}, - {1, 1}, - {2, 1}, - {3, 1}, - {4, 1}, - {5, 2}, - {6, 2}, - {7, 2}, - {8, 2}, - {9, 2}, - {10, 3}, - {11, 3}, - {12, 3}, - {13, 4}, - {14, 5}, - {15, 2}, - {0, 1}, - {1, 1}, - {2, 1}, - {3, 1}, - {4, 1}, - {5, 2}, - {6, 2}, - {7, 2}, - {8, 2}, - {9, 2}, - {10, 3}, - {11, 3}, - {12, 3}, - {13, 4}, - {14, 5}, - {16, 1}, - {16, -1}, - {0, 0} -}; - -static bool8 sub_8077170(const void *a0, u32 a1) +static bool8 SendLinkData(const void *linkData, u32 size) { if (gUnknown_02022C2C == 29) { - rfu_NI_setSendData(gUnknown_03004140.unk_00, 84, a0, a1); + rfu_NI_setSendData(gUnknown_03004140.unk_00, 84, linkData, size); return TRUE; } else { - return SendBlock(0, a0, a1); + return SendBlock(0, linkData, size); } } @@ -1410,13 +255,9 @@ static bool32 sub_80771BC(void) if (gUnknown_02022C2C == 29) { if (gUnknown_03007880[sub_800E87C(gUnknown_03004140.unk_00)]->unk_0 == 0) - { return TRUE; - } else - { return FALSE; - } } else { @@ -1429,40 +270,28 @@ static u32 _GetBlockReceivedStatus(void) return GetBlockReceivedStatus(); } -static void sub_8077210(void) +static void TradeResetReceivedFlags(void) { - if (sub_8077260()) - { + if (IsWirelessTrade()) rfu_clearSlot(12, gUnknown_03004140.unk_00); - } else - { ResetBlockReceivedFlags(); - } } -static void sub_8077234(u32 a0) +static void TradeResetReceivedFlag(u32 who) { - if (sub_8077260()) - { + if (IsWirelessTrade()) rfu_clearSlot(12, gUnknown_03004140.unk_00); - } else - { - ResetBlockReceivedFlag(a0); - } + ResetBlockReceivedFlag(who); } -static bool32 sub_8077260(void) +static bool32 IsWirelessTrade(void) { if (gWirelessCommType && gUnknown_02022C2C == 29) - { return TRUE; - } else - { return FALSE; - } } static void sub_8077288(u8 unused) @@ -1475,7 +304,7 @@ static bool32 _IsLinkTaskFinished(void) return IsLinkTaskFinished(); } -static void sub_80772A4(void) +static void InitTradeMenu(void) { ResetSpriteData(); FreeAllSpritePalettes(); @@ -1484,14 +313,14 @@ static void sub_80772A4(void) gPaletteFade.bufferTransferDisabled = TRUE; - SetVBlankCallback(sub_807811C); + SetVBlankCallback(VBlankCB_TradeMenu); LoadPalette(gUnknown_0860F074, 0xF0, 20); LoadPalette(gUnknown_0860F074, 0xD0, 20); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_0832DEE4, ARRAY_COUNT(gUnknown_0832DEE4)); - SetBgTilemapBuffer(1, gUnknown_0203229C->tilemapBuffer); + InitBgsFromTemplates(0, sTradeMenuBgTemplates, ARRAY_COUNT(sTradeMenuBgTemplates)); + SetBgTilemapBuffer(1, sTradeMenuData->tilemapBuffer); - if (InitWindows(gUnknown_0832DEF4)) + if (InitWindows(sTradeMenuWindowTemplates)) { u32 i; @@ -1507,25 +336,25 @@ static void sub_80772A4(void) LoadUserWindowBorderGfx_(0, 20, 0xC0); LoadUserWindowBorderGfx(2, 1, 0xE0); LoadMonIconPalettes(); - gUnknown_0203229C->unk_69 = 0; - gUnknown_0203229C->unk_6F = 0; - gUnknown_0203229C->unk_70 = 0; - gUnknown_0203229C->unk_74[0] = 0; - gUnknown_0203229C->unk_74[1] = 0; - gUnknown_0203229C->unk_7A = 0; - gUnknown_0203229C->unk_7B = 0; - gUnknown_0203229C->unk_A8 = 0; + sTradeMenuData->bufferPartyState = 0; + sTradeMenuData->tradeMenuFunc = 0; + sTradeMenuData->neverRead_70 = 0; + sTradeMenuData->drawPartyState[TRADE_PLAYER] = 0; + sTradeMenuData->drawPartyState[TRADE_PARTNER] = 0; + sTradeMenuData->playerLinkFlagStatus = 0; + sTradeMenuData->partnerLinkFlagStatus = 0; + sTradeMenuData->timer = 0; } } -void sub_80773AC(void) +void CB2_StartCreateTradeMenu(void) { - SetMainCallback2(sub_80773D0); + SetMainCallback2(CB2_CreateTradeMenu); gMain.callback1 = NULL; gEnemyPartyCount = 0; } -static void sub_80773D0(void) +static void CB2_CreateTradeMenu(void) { int i; struct SpriteTemplate temp; @@ -1535,13 +364,13 @@ static void sub_80773D0(void) switch (gMain.state) { case 0: - gUnknown_0203229C = AllocZeroed(sizeof(*gUnknown_0203229C)); - sub_80772A4(); - gUnknown_02032184 = AllocZeroed(0xE00); + sTradeMenuData = AllocZeroed(sizeof(*sTradeMenuData)); + InitTradeMenu(); + sMessageBoxAllocBuffer = AllocZeroed(ARRAY_COUNT(sMessageBoxTileBuffers) * 256); - for (i = 0; i < 14; i++) + for (i = 0; i < (int)ARRAY_COUNT(sMessageBoxTileBuffers); i++) { - gUnknown_02032188[i] = &gUnknown_02032184[i * 256]; + sMessageBoxTileBuffers[i] = &sMessageBoxAllocBuffer[i * 256]; } gMain.state++; @@ -1551,16 +380,16 @@ static void sub_80773D0(void) for (i = 0; i < PARTY_SIZE; i++) { - CreateMon(&gEnemyParty[i], SPECIES_NONE, 0, 0x20, FALSE, 0, OT_ID_PLAYER_ID, 0); + CreateMon(&gEnemyParty[i], SPECIES_NONE, 0, 32, FALSE, 0, OT_ID_PLAYER_ID, 0); } - sub_807A19C(0); + PrintTradeMessage(TRADE_MSG_STANDBY); ShowBg(0); if (!gReceivedRemoteLinkPlayers) { - gLinkType = 0x1122; - gUnknown_0203229C->unk_A8 = 0; + gLinkType = LINKTYPE_0x1122; + sTradeMenuData->timer = 0; if (gWirelessCommType) { @@ -1581,10 +410,10 @@ static void sub_80773D0(void) } break; case 2: - gUnknown_0203229C->unk_A8++; - if (gUnknown_0203229C->unk_A8 > 11) + sTradeMenuData->timer++; + if (sTradeMenuData->timer > 11) { - gUnknown_0203229C->unk_A8 = 0; + sTradeMenuData->timer = 0; gMain.state++; } break; @@ -1593,7 +422,7 @@ static void sub_80773D0(void) { if (IsLinkMaster()) { - if (++gUnknown_0203229C->unk_A8 > 30) + if (++sTradeMenuData->timer > 30) { CheckShouldAdvanceLinkState(); gMain.state++; @@ -1611,7 +440,7 @@ static void sub_80773D0(void) sub_8011BD0(); CalculatePlayerPartyCount(); gMain.state++; - gUnknown_0203229C->unk_A8 = 0; + sTradeMenuData->timer = 0; if (gWirelessCommType) { sub_801048C(TRUE); @@ -1622,7 +451,7 @@ static void sub_80773D0(void) case 5: if (gWirelessCommType) { - if (sub_8010500()) + if (IsLinkRfuTaskFinished()) { gMain.state++; LoadWirelessStatusIndicatorSpriteGfx(); @@ -1635,9 +464,9 @@ static void sub_80773D0(void) } break; case 6: - if (shedinja_maker_maybe()) + if (BufferTradeParties()) { - sub_807A5B0(); + SaveTradeGiftRibbons(); gMain.state++; } break; @@ -1645,28 +474,28 @@ static void sub_80773D0(void) CalculateEnemyPartyCount(); SetGpuReg(REG_OFFSET_DISPCNT, 0); SetGpuReg(REG_OFFSET_BLDCNT, 0); - gUnknown_0203229C->partyCounts[0] = gPlayerPartyCount; - gUnknown_0203229C->partyCounts[1] = gEnemyPartyCount; + sTradeMenuData->partyCounts[TRADE_PLAYER] = gPlayerPartyCount; + sTradeMenuData->partyCounts[TRADE_PARTNER] = gEnemyPartyCount; - for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) + for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PLAYER]; i++) { struct Pokemon *mon = &gPlayerParty[i]; - gUnknown_0203229C->partyIcons[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2), - sub_80D3014, - (gTradeMonSpriteCoords[i][0] * 8) + 14, - (gTradeMonSpriteCoords[i][1] * 8) - 12, + sTradeMenuData->partySpriteIds[TRADE_PLAYER][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2), + SpriteCB_MonIcon, + (sTradeMonSpriteCoords[i][0] * 8) + 14, + (sTradeMonSpriteCoords[i][1] * 8) - 12, 1, GetMonData(mon, MON_DATA_PERSONALITY), TRUE); } - for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++) + for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PARTNER]; i++) { struct Pokemon *mon = &gEnemyParty[i]; - gUnknown_0203229C->partyIcons[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), - sub_80D3014, - (gTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14, - (gTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12, + sTradeMenuData->partySpriteIds[TRADE_PARTNER][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + SpriteCB_MonIcon, + (sTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14, + (sTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12, 1, GetMonData(mon, MON_DATA_PERSONALITY), FALSE); @@ -1675,24 +504,24 @@ static void sub_80773D0(void) break; case 8: LoadHeldItemIcons(); - sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 0); + DrawHeldItemIconsForTrade(&sTradeMenuData->partyCounts[0], sTradeMenuData->partySpriteIds[0], TRADE_PLAYER); gMain.state++; break; case 9: - sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 1); + DrawHeldItemIconsForTrade(&sTradeMenuData->partyCounts[0], sTradeMenuData->partySpriteIds[0], TRADE_PARTNER); gMain.state++; break; case 10: - sub_80C6D80(gSaveBlock2Ptr->playerName, gUnknown_02032188[0], 0, 0, 3); + DrawTextWindowAndBufferTiles(gSaveBlock2Ptr->playerName, sMessageBoxTileBuffers[0], 0, 0, 3); id = GetMultiplayerId(); - sub_80C6D80(gLinkPlayers[id ^ 1].name, gUnknown_02032188[3], 0, 0, 3); - sub_80C6D80(gUnknown_0832DE94[0], gUnknown_02032188[6], 0, 0, 2); - sub_807A308(gUnknown_0832DE94[1], gUnknown_02032188[8], 24); + DrawTextWindowAndBufferTiles(gLinkPlayers[id ^ 1].name, sMessageBoxTileBuffers[3], 0, 0, 3); + DrawTextWindowAndBufferTiles(sTradeActionTexts[TRADE_TEXT_CANCEL], sMessageBoxTileBuffers[6], 0, 0, 2); + DrawTextWindowAndBuffer6Bytes(sTradeActionTexts[TRADE_TEXT_CHOOSE_MON], sMessageBoxTileBuffers[8], 24); gMain.state++; - gUnknown_0203229C->unk_A8 = 0; + sTradeMenuData->timer = 0; break; case 11: - if (sub_807A1F0()) + if (LoadTradeMenuSpriteSheetsAndPalettes()) gMain.state++; break; case 12: @@ -1728,31 +557,31 @@ static void sub_80773D0(void) CreateSprite(&temp, (i * 32) + 24, 150, 1); } - gUnknown_0203229C->tradeMenuCursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, gTradeMonSpriteCoords[0][0] * 8 + 32, gTradeMonSpriteCoords[0][1] * 8, 2); - gUnknown_0203229C->tradeMenuCursorPosition = 0; + sTradeMenuData->cursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, sTradeMonSpriteCoords[0][0] * 8 + 32, sTradeMonSpriteCoords[0][1] * 8, 2); + sTradeMenuData->cursorPosition = 0; gMain.state++; rbox_fill_rectangle(0); break; case 14: - sub_807A320(0); - sub_8079BE0(0); - gUnknown_0203229C->unk_0 = 0; - gUnknown_0203229C->unk_1 = 0; - sub_8078388(); + SetTradePartyLiveStatuses(TRADE_PLAYER); + PrintPartyNicknamesForTradeMenu(TRADE_PLAYER); + sTradeMenuData->bg2hofs = 0; + sTradeMenuData->bg3hofs = 0; + SetTradePartyMonsVisible(); gMain.state++; PlayBGM(MUS_P_SCHOOL); break; case 15: - sub_807A320(1); - sub_8079BE0(1); + SetTradePartyLiveStatuses(TRADE_PARTNER); + PrintPartyNicknamesForTradeMenu(TRADE_PARTNER); gMain.state++; // fallthrough case 16: - sub_80782B8(0); + LoadTradeBgGfx(0); gMain.state++; break; case 17: - sub_80782B8(1); + LoadTradeBgGfx(1); gMain.state++; break; case 18: @@ -1761,23 +590,23 @@ static void sub_80773D0(void) break; case 19: SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); - sub_80782B8(2); + LoadTradeBgGfx(2); gMain.state++; break; case 20: - sub_807A468(0); + GetTradePartyHPBarLevels(TRADE_PLAYER); gMain.state++; break; case 21: - sub_807A468(1); - sub_807A53C(); + GetTradePartyHPBarLevels(TRADE_PARTNER); + SetTradePartyHPBarSprites(); gMain.state++; break; case 22: if (!gPaletteFade.active) { - gMain.callback1 = sub_8078C34; - SetMainCallback2(sub_807825C); + gMain.callback1 = CB1_SendOrReactToLinkTradeData; + SetMainCallback2(CB2_TradeMenu); } break; } @@ -1789,7 +618,7 @@ static void sub_80773D0(void) UpdatePaletteFade(); } -static void sub_8077B74(void) +static void CB2_ReturnToTradeMenu(void) { int i; struct SpriteTemplate temp; @@ -1799,12 +628,12 @@ static void sub_8077B74(void) switch (gMain.state) { case 0: - sub_80772A4(); + InitTradeMenu(); gMain.state++; break; case 1: gMain.state++; - gUnknown_0203229C->unk_A8 = 0; + sTradeMenuData->timer = 0; break; case 2: gMain.state++; @@ -1829,31 +658,31 @@ static void sub_8077B74(void) break; case 7: CalculateEnemyPartyCount(); - gUnknown_0203229C->partyCounts[0] = gPlayerPartyCount; - gUnknown_0203229C->partyCounts[1] = gEnemyPartyCount; + sTradeMenuData->partyCounts[TRADE_PLAYER] = gPlayerPartyCount; + sTradeMenuData->partyCounts[TRADE_PARTNER] = gEnemyPartyCount; ClearWindowTilemap(0); - sub_8079BE0(0); - sub_8079BE0(1); + PrintPartyNicknamesForTradeMenu(TRADE_PLAYER); + PrintPartyNicknamesForTradeMenu(TRADE_PARTNER); - for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) + for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PLAYER]; i++) { struct Pokemon *mon = &gPlayerParty[i]; - gUnknown_0203229C->partyIcons[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), - sub_80D3014, - (gTradeMonSpriteCoords[i][0] * 8) + 14, - (gTradeMonSpriteCoords[i][1] * 8) - 12, + sTradeMenuData->partySpriteIds[TRADE_PLAYER][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + SpriteCB_MonIcon, + (sTradeMonSpriteCoords[i][0] * 8) + 14, + (sTradeMonSpriteCoords[i][1] * 8) - 12, 1, GetMonData(mon, MON_DATA_PERSONALITY), TRUE); } - for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++) + for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PARTNER]; i++) { struct Pokemon *mon = &gEnemyParty[i]; - gUnknown_0203229C->partyIcons[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), - sub_80D3014, - (gTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14, - (gTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12, + sTradeMenuData->partySpriteIds[TRADE_PARTNER][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + SpriteCB_MonIcon, + (sTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14, + (sTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12, 1, GetMonData(mon, MON_DATA_PERSONALITY), FALSE); @@ -1862,24 +691,24 @@ static void sub_8077B74(void) break; case 8: LoadHeldItemIcons(); - sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 0); + DrawHeldItemIconsForTrade(&sTradeMenuData->partyCounts[0], sTradeMenuData->partySpriteIds[0], TRADE_PLAYER); gMain.state++; break; case 9: - sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 1); + DrawHeldItemIconsForTrade(&sTradeMenuData->partyCounts[0], sTradeMenuData->partySpriteIds[0], TRADE_PARTNER); gMain.state++; break; case 10: - sub_80C6D80(gSaveBlock2Ptr->playerName, gUnknown_02032188[0], 0, 0, 3); + DrawTextWindowAndBufferTiles(gSaveBlock2Ptr->playerName, sMessageBoxTileBuffers[0], 0, 0, 3); id = GetMultiplayerId(); - sub_80C6D80(gLinkPlayers[id ^ 1].name, gUnknown_02032188[3], 0, 0, 3); - sub_80C6D80(gUnknown_0832DE94[0], gUnknown_02032188[6], 0, 0, 2); - sub_807A308(gUnknown_0832DE94[1], gUnknown_02032188[8], 24); + DrawTextWindowAndBufferTiles(gLinkPlayers[id ^ 1].name, sMessageBoxTileBuffers[3], 0, 0, 3); + DrawTextWindowAndBufferTiles(sTradeActionTexts[TRADE_TEXT_CANCEL], sMessageBoxTileBuffers[6], 0, 0, 2); + DrawTextWindowAndBuffer6Bytes(sTradeActionTexts[TRADE_TEXT_CHOOSE_MON], sMessageBoxTileBuffers[8], 24); gMain.state++; - gUnknown_0203229C->unk_A8 = 0; + sTradeMenuData->timer = 0; break; case 11: - if (sub_807A1F0()) + if (LoadTradeMenuSpriteSheetsAndPalettes()) gMain.state++; break; case 12: @@ -1915,23 +744,23 @@ static void sub_8077B74(void) CreateSprite(&temp, (i * 32) + 24, 150, 1); } - if (gUnknown_0203229C->tradeMenuCursorPosition < PARTY_SIZE) - gUnknown_0203229C->tradeMenuCursorPosition = gLastViewedMonIndex; + if (sTradeMenuData->cursorPosition < PARTY_SIZE) + sTradeMenuData->cursorPosition = gLastViewedMonIndex; else - gUnknown_0203229C->tradeMenuCursorPosition = gLastViewedMonIndex + PARTY_SIZE; + sTradeMenuData->cursorPosition = gLastViewedMonIndex + PARTY_SIZE; - gUnknown_0203229C->tradeMenuCursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, gTradeMonSpriteCoords[gUnknown_0203229C->tradeMenuCursorPosition][0] * 8 + 32, gTradeMonSpriteCoords[gUnknown_0203229C->tradeMenuCursorPosition][1] * 8, 2); + sTradeMenuData->cursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, sTradeMonSpriteCoords[sTradeMenuData->cursorPosition][0] * 8 + 32, sTradeMonSpriteCoords[sTradeMenuData->cursorPosition][1] * 8, 2); gMain.state = 16; break; case 16: - sub_80782B8(0); + LoadTradeBgGfx(0); gMain.state++; break; case 17: - sub_80782B8(1); - gUnknown_0203229C->unk_0 = 0; - gUnknown_0203229C->unk_1 = 0; - sub_8078388(); + LoadTradeBgGfx(1); + sTradeMenuData->bg2hofs = 0; + sTradeMenuData->bg3hofs = 0; + SetTradePartyMonsVisible(); gMain.state++; break; case 18: @@ -1942,20 +771,20 @@ static void sub_8077B74(void) break; case 19: SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); - sub_80782B8(2); + LoadTradeBgGfx(2); gMain.state++; break; case 20: gMain.state++; break; case 21: - sub_807A53C(); + SetTradePartyHPBarSprites(); gMain.state++; break; case 22: if (!gPaletteFade.active) { - SetMainCallback2(sub_807825C); + SetMainCallback2(CB2_TradeMenu); } break; } @@ -1966,81 +795,81 @@ static void sub_8077B74(void) UpdatePaletteFade(); } -static void sub_807811C(void) +static void VBlankCB_TradeMenu(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -static void sub_8078130(void) +static void LinkTradeFadeOut(void) { - if (++gUnknown_0203229C->unk_A8 > 15) + if (++sTradeMenuData->timer > 15) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_0203229C->unk_6F = 10; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_LINK_TRADE_WAIT_FADE; } } -static void sub_807816C(void) +static void LinkTradeWaitForFade(void) { if (!gPaletteFade.active) { - gUnknown_02032298[0] = gUnknown_0203229C->tradeMenuCursorPosition; - gUnknown_02032298[1] = gUnknown_0203229C->unk_7E; + gSelectedTradeMonPositions[TRADE_PLAYER] = sTradeMenuData->cursorPosition; + gSelectedTradeMonPositions[TRADE_PARTNER] = sTradeMenuData->partnerCursorPosition; if (gWirelessCommType) { - gUnknown_0203229C->unk_6F = 16; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_LINK_TRADE_WAIT_QUEUE; } else { sub_800ABF4(32); - gUnknown_0203229C->unk_6F = 13; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_START_LINK_TRADE; } } } -static void sub_80781C8(void) +static void SetLinkTradeCallbacks(void) { - gMain.savedCallback = sub_80773AC; + gMain.savedCallback = CB2_StartCreateTradeMenu; + // Wireless Link Trade if (gWirelessCommType) { - if (sub_8010500()) + if (IsLinkRfuTaskFinished()) { - Free(gUnknown_02032184); + Free(sMessageBoxAllocBuffer); FreeAllWindowBuffers(); - Free(gUnknown_0203229C); + Free(sTradeMenuData); gMain.callback1 = NULL; DestroyWirelessStatusIndicatorSprite(); - SetMainCallback2(sub_807AE50); + SetMainCallback2(CB2_LinkTrade); } } + // Cable Link Trade else { if (!gReceivedRemoteLinkPlayers) { - Free(gUnknown_02032184); + Free(sMessageBoxAllocBuffer); FreeAllWindowBuffers(); - Free(gUnknown_0203229C); + Free(sTradeMenuData); gMain.callback1 = NULL; - SetMainCallback2(sub_807AE50); + SetMainCallback2(CB2_LinkTrade); } } } -static void sub_807825C(void) +static void CB2_TradeMenu(void) { - u8 temp; + CallTradeMenuFunc(); + DoQueuedActions(); + DrawTradeMenuParty(TRADE_PLAYER); + DrawTradeMenuParty(TRADE_PARTNER); - sub_80795AC(); - sub_807A0C4(); - sub_80796B4(0); - sub_80796B4(1); - - SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_0203229C->unk_0++); - SetGpuReg(REG_OFFSET_BG3HOFS, gUnknown_0203229C->unk_1--); + SetGpuReg(REG_OFFSET_BG2HOFS, sTradeMenuData->bg2hofs++); + SetGpuReg(REG_OFFSET_BG3HOFS, sTradeMenuData->bg3hofs--); RunTextPrintersAndIsPrinter0Active(); RunTasks(); @@ -2049,22 +878,22 @@ static void sub_807825C(void) UpdatePaletteFade(); } -static void sub_80782B8(u8 a0) +static void LoadTradeBgGfx(u8 state) { int i; - switch (a0) + switch (state) { case 0: - LoadPalette(gUnknown_08DDB3E4, 0, 0x60); - LoadBgTiles(1, gUnknown_08DDB464, 0x1280, 0); + LoadPalette(gTradeMenu_Pal, 0, 0x60); + LoadBgTiles(1, gTradeMenu_Gfx, 0x1280, 0); CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_08DDCF04, 0, 0, 32, 20, 0); - LoadBgTilemap(2, gTradeStripesBG2Tilemap, 0x800, 0); + LoadBgTilemap(2, sTradeStripesBG2Tilemap, 0x800, 0); break; case 1: - LoadBgTilemap(3, gTradeStripesBG3Tilemap, 0x800, 0); - sub_8079E44(0); - sub_8079E44(1); + LoadBgTilemap(3, sTradeStripesBG3Tilemap, 0x800, 0); + DrawTradeMenuPartyInfo(TRADE_PLAYER); + DrawTradeMenuPartyInfo(TRADE_PARTNER); CopyBgTilemapBufferToVram(1); break; case 2: @@ -2080,34 +909,34 @@ static void sub_80782B8(u8 a0) } } -static void sub_8078388(void) +static void SetTradePartyMonsVisible(void) { int i; for (i = 0; i < PARTY_SIZE; i++) { - if (i < gUnknown_0203229C->partyCounts[0]) + if (i < sTradeMenuData->partyCounts[TRADE_PLAYER]) { - gSprites[gUnknown_0203229C->partyIcons[0][i]].invisible = FALSE; - gUnknown_0203229C->tradeMenuOptionsActive[i] = TRUE; + gSprites[sTradeMenuData->partySpriteIds[TRADE_PLAYER][i]].invisible = FALSE; + sTradeMenuData->monPresent[i] = TRUE; } else { - gUnknown_0203229C->tradeMenuOptionsActive[i] = FALSE; + sTradeMenuData->monPresent[i] = FALSE; } - if (i < gUnknown_0203229C->partyCounts[1]) + if (i < sTradeMenuData->partyCounts[TRADE_PARTNER]) { - gSprites[gUnknown_0203229C->partyIcons[1][i]].invisible = FALSE; - gUnknown_0203229C->tradeMenuOptionsActive[i + PARTY_SIZE] = TRUE; + gSprites[sTradeMenuData->partySpriteIds[TRADE_PARTNER][i]].invisible = FALSE; + sTradeMenuData->monPresent[i + PARTY_SIZE] = TRUE; } else { - gUnknown_0203229C->tradeMenuOptionsActive[i + PARTY_SIZE] = FALSE; + sTradeMenuData->monPresent[i + PARTY_SIZE] = FALSE; } } - gUnknown_0203229C->unk_44 = 1; + sTradeMenuData->neverRead_44 = TRUE; } // why not just use memcpy? @@ -2123,30 +952,30 @@ static void Trade_Memcpy(void *dataDest, const void *dataSrc, u32 count) } } -static bool8 shedinja_maker_maybe(void) +static bool8 BufferTradeParties(void) { u8 id = GetMultiplayerId(); int i; struct Pokemon *mon; - switch (gUnknown_0203229C->unk_69) + switch (sTradeMenuData->bufferPartyState) { case 0: Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[0], 2 * sizeof(struct Pokemon)); - gUnknown_0203229C->unk_69++; - gUnknown_0203229C->unk_A8 = 0; + sTradeMenuData->bufferPartyState++; + sTradeMenuData->timer = 0; break; case 1: if (sub_80771BC()) { if (_GetBlockReceivedStatus() == 0) { - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; } else { - sub_8077210(); - gUnknown_0203229C->unk_69++; + TradeResetReceivedFlags(); + sTradeMenuData->bufferPartyState++; } } break; @@ -2155,90 +984,90 @@ static bool8 shedinja_maker_maybe(void) { sub_80771AC(1); } - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; break; case 4: if (_GetBlockReceivedStatus() == 3) { Trade_Memcpy(&gEnemyParty[0], gBlockRecvBuffer[id ^ 1], 2 * sizeof(struct Pokemon)); - sub_8077210(); - gUnknown_0203229C->unk_69++; + TradeResetReceivedFlags(); + sTradeMenuData->bufferPartyState++; } break; case 5: Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[2], 2 * sizeof(struct Pokemon)); - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; break; case 7: if (id == 0) { sub_80771AC(1); } - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; break; case 8: if (_GetBlockReceivedStatus() == 3) { Trade_Memcpy(&gEnemyParty[2], gBlockRecvBuffer[id ^ 1], 200); - sub_8077210(); - gUnknown_0203229C->unk_69++; + TradeResetReceivedFlags(); + sTradeMenuData->bufferPartyState++; } break; case 9: Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[4], 200); - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; break; case 11: if (id == 0) { sub_80771AC(1); } - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; break; case 12: if (_GetBlockReceivedStatus() == 3) { Trade_Memcpy(&gEnemyParty[4], gBlockRecvBuffer[id ^ 1], 200); - sub_8077210(); - gUnknown_0203229C->unk_69++; + TradeResetReceivedFlags(); + sTradeMenuData->bufferPartyState++; } break; case 13: Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->mail, 220); - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; break; case 15: if (id == 0) { sub_80771AC(3); } - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; break; case 16: if (_GetBlockReceivedStatus() == 3) { - Trade_Memcpy(gUnknown_020321C0, gBlockRecvBuffer[id ^ 1], 216); - sub_8077210(); - gUnknown_0203229C->unk_69++; + Trade_Memcpy(gTradeMail, gBlockRecvBuffer[id ^ 1], 216); + TradeResetReceivedFlags(); + sTradeMenuData->bufferPartyState++; } break; case 17: - Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->giftRibbons, 11); - gUnknown_0203229C->unk_69++; + Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->giftRibbons, ARRAY_COUNT(sTradeMenuData->giftRibbons)); + sTradeMenuData->bufferPartyState++; break; case 19: if (id == 0) { sub_80771AC(4); } - gUnknown_0203229C->unk_69++; + sTradeMenuData->bufferPartyState++; break; case 20: if (_GetBlockReceivedStatus() == 3) { - Trade_Memcpy(gUnknown_0203229C->unk_A9, gBlockRecvBuffer[id ^ 1], 11); - sub_8077210(); - gUnknown_0203229C->unk_69++; + Trade_Memcpy(sTradeMenuData->giftRibbons, gBlockRecvBuffer[id ^ 1], ARRAY_COUNT(sTradeMenuData->giftRibbons)); + TradeResetReceivedFlags(); + sTradeMenuData->bufferPartyState++; } break; case 21: @@ -2253,7 +1082,7 @@ static bool8 shedinja_maker_maybe(void) { GetMonData(mon, MON_DATA_NICKNAME, name); - if (!StringCompareWithoutExtCtrlCodes(name, gJPText_Shedinja)) + if (!StringCompareWithoutExtCtrlCodes(name, sJPText_Shedinja)) { SetMonData(mon, MON_DATA_NICKNAME, gSpeciesNames[SPECIES_SHEDINJA]); } @@ -2261,189 +1090,198 @@ static bool8 shedinja_maker_maybe(void) } } return TRUE; + // Delay until next state case 2: case 6: case 10: case 14: case 18: - gUnknown_0203229C->unk_A8++; - if (gUnknown_0203229C->unk_A8 > 10) + sTradeMenuData->timer++; + if (sTradeMenuData->timer > 10) { - gUnknown_0203229C->unk_A8 = 0; - gUnknown_0203229C->unk_69++; + sTradeMenuData->timer = 0; + sTradeMenuData->bufferPartyState++; } break; } return FALSE; } -static void sub_80787B8(void) +static void PrintAndBufferIsThisTradeOkay(void) { - sub_807A308(gText_IsThisTradeOkay, (void *)(OBJ_VRAM0 + (gUnknown_0203229C->unk_72 * 32)), 24); + DrawTextWindowAndBuffer6Bytes(sText_IsThisTradeOkay, (void *)(OBJ_VRAM0 + (sTradeMenuData->bottomTextTileStart * 32)), 24); } -static void sub_80787E0(u8 a0, u8 a1) +// mpId is unused +static void UpdateLinkTradeFlags(u8 mpId, u8 status) { - if (a1 & 1) + if (status & 1) { switch (gBlockRecvBuffer[0][0]) { - case 0xEEAA: - gUnknown_0203229C->unk_78 = 2; + case LINKCMD_REQUEST_CANCEL: + sTradeMenuData->playerLinkFlagChoseAction = WANTS_TO_CANCEL; break; - case 0xAABB: - gUnknown_0203229C->unk_78 = 1; + case LINKCMD_READY_TO_TRADE: + sTradeMenuData->playerLinkFlagChoseAction = WANTS_TO_TRADE; break; - case 0xBBBB: - gUnknown_0203229C->unk_7A = 1; + case LINKCMD_INIT_BLOCK: + sTradeMenuData->playerLinkFlagStatus = INITIATE_TRADE; break; - case 0xBBCC: - gUnknown_0203229C->unk_7A = 2; + case LINKCMD_READY_CANCEL_TRADE: + sTradeMenuData->playerLinkFlagStatus = CANCEL_TRADE; break; } - sub_8077234(0); + TradeResetReceivedFlag(0); } - if (a1 & 2) + if (status & 2) { switch (gBlockRecvBuffer[1][0]) { - case 0xEEAA: - gUnknown_0203229C->unk_79 = 2; + case LINKCMD_REQUEST_CANCEL: + sTradeMenuData->partnerLinkFlagChoseAction = WANTS_TO_CANCEL; break; - case 0xAABB: - gUnknown_0203229C->unk_7E = gBlockRecvBuffer[1][1] + 6; - gUnknown_0203229C->unk_79 = 1; + case LINKCMD_READY_TO_TRADE: + sTradeMenuData->partnerCursorPosition = gBlockRecvBuffer[1][1] + 6; + sTradeMenuData->partnerLinkFlagChoseAction = WANTS_TO_TRADE; break; - case 0xBBBB: - gUnknown_0203229C->unk_7B = 1; + case LINKCMD_INIT_BLOCK: + sTradeMenuData->partnerLinkFlagStatus = INITIATE_TRADE; break; - case 0xBBCC: - gUnknown_0203229C->unk_7B = 2; + case LINKCMD_READY_CANCEL_TRADE: + sTradeMenuData->partnerLinkFlagStatus = CANCEL_TRADE; break; } - sub_8077234(1); + TradeResetReceivedFlag(1); } } -static void sub_8078900(u8 a0, u8 a1) +// mpId is unused +static void ReactToLinkTradeData(u8 mpId, u8 status) { - if (a1 & 1) + if (status & 1) { switch (gBlockRecvBuffer[0][0]) { - case 0xEEBB: + case LINKCMD_CANCEL_TRADE: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - sub_807A19C(4); - gUnknown_0203229C->unk_6F = 11; + PrintTradeMessage(TRADE_MSG_WAITING_FOR_FRIEND); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CANCEL_TRADE_1; break; - case 0xEECC: - sub_807A19C(5); - gUnknown_0203229C->unk_6F = 8; + case LINKCMD_0xEECC: + PrintTradeMessage(TRADE_MSG_FRIEND_WANTS_TO_TRADE); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU; break; - case 0xDDDD: - gUnknown_0203229C->unk_7E = gBlockRecvBuffer[0][1] + 6; + case LINKCMD_SET_MONS_TO_TRADE: + sTradeMenuData->partnerCursorPosition = gBlockRecvBuffer[0][1] + 6; rbox_fill_rectangle(0); - sub_807967C(gUnknown_0203229C->tradeMenuCursorPosition); - sub_807967C(gUnknown_0203229C->unk_7E); - gUnknown_0203229C->unk_6F = 7; + SetSelectedMon(sTradeMenuData->cursorPosition); + SetSelectedMon(sTradeMenuData->partnerCursorPosition); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CONFIRM_TRADE_PROMPT; break; - case 0xCCDD: + case LINKCMD_START_TRADE: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_0203229C->unk_6F = 10; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_LINK_TRADE_WAIT_FADE; break; - case 0xDDEE: - sub_807A19C(1); - gUnknown_0203229C->unk_6F = 8; + case LINKCMD_0xDDEE: + PrintTradeMessage(TRADE_MSG_CANCELED); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU; } - sub_8077234(0); + TradeResetReceivedFlag(0); } - if (a1 & 2) - sub_8077234(1); + if (status & 2) + TradeResetReceivedFlag(1); } -static void sub_80789FC(void) +static void QueueLinkTradeData(void) { - if (gUnknown_0203229C->unk_78 && gUnknown_0203229C->unk_79) + if (sTradeMenuData->playerLinkFlagChoseAction && sTradeMenuData->partnerLinkFlagChoseAction) { - if (gUnknown_0203229C->unk_78 == 1 && gUnknown_0203229C->unk_79 == 1) + if (sTradeMenuData->playerLinkFlagChoseAction == WANTS_TO_TRADE + && sTradeMenuData->partnerLinkFlagChoseAction == WANTS_TO_TRADE) { - gUnknown_0203229C->unk_6F = 6; - gUnknown_0203229C->linkData[0] = 0xDDDD; - gUnknown_0203229C->linkData[1] = gUnknown_0203229C->tradeMenuCursorPosition; - sub_807A048(5, 0); - gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_BOTH_MONS_SELECTED; + sTradeMenuData->linkData[0] = LINKCMD_SET_MONS_TO_TRADE; + sTradeMenuData->linkData[1] = sTradeMenuData->cursorPosition; + QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA); + sTradeMenuData->playerLinkFlagChoseAction = sTradeMenuData->partnerLinkFlagChoseAction = 0; } - else if (gUnknown_0203229C->unk_78 == 1 && gUnknown_0203229C->unk_79 == 2) + else if (sTradeMenuData->playerLinkFlagChoseAction == WANTS_TO_TRADE + && sTradeMenuData->partnerLinkFlagChoseAction == WANTS_TO_CANCEL) { - sub_807A19C(1); - gUnknown_0203229C->linkData[0] = 0xEECC; - gUnknown_0203229C->linkData[1] = 0; - sub_807A048(5, 0); - gUnknown_0203229C->unk_7A = gUnknown_0203229C->unk_7B = 0; - gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; - gUnknown_0203229C->unk_6F = 8; + PrintTradeMessage(TRADE_MSG_CANCELED); + sTradeMenuData->linkData[0] = LINKCMD_0xEECC; + sTradeMenuData->linkData[1] = 0; + QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA); + sTradeMenuData->playerLinkFlagStatus = sTradeMenuData->partnerLinkFlagStatus = 0; + sTradeMenuData->playerLinkFlagChoseAction = sTradeMenuData->partnerLinkFlagChoseAction = 0; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU; } - else if (gUnknown_0203229C->unk_78 == 2 && gUnknown_0203229C->unk_79 == 1) + else if (sTradeMenuData->playerLinkFlagChoseAction == WANTS_TO_CANCEL + && sTradeMenuData->partnerLinkFlagChoseAction == WANTS_TO_TRADE) { - sub_807A19C(5); - gUnknown_0203229C->linkData[0] = 0xDDEE; - gUnknown_0203229C->linkData[1] = 0; - sub_807A048(5, 0); - gUnknown_0203229C->unk_7A = gUnknown_0203229C->unk_7B = 0; - gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; - gUnknown_0203229C->unk_6F = 8; + PrintTradeMessage(TRADE_MSG_FRIEND_WANTS_TO_TRADE); + sTradeMenuData->linkData[0] = LINKCMD_0xDDEE; + sTradeMenuData->linkData[1] = 0; + QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA); + sTradeMenuData->playerLinkFlagStatus = sTradeMenuData->partnerLinkFlagStatus = 0; + sTradeMenuData->playerLinkFlagChoseAction = sTradeMenuData->partnerLinkFlagChoseAction = 0; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU; } - else if (gUnknown_0203229C->unk_78 == 2 && gUnknown_0203229C->unk_79 == 2) + else if (sTradeMenuData->playerLinkFlagChoseAction == WANTS_TO_CANCEL + && sTradeMenuData->partnerLinkFlagChoseAction == WANTS_TO_CANCEL) { - gUnknown_0203229C->linkData[0] = 0xEEBB; - gUnknown_0203229C->linkData[1] = 0; - sub_807A048(5, 0); + sTradeMenuData->linkData[0] = LINKCMD_CANCEL_TRADE; + sTradeMenuData->linkData[1] = 0; + QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; - gUnknown_0203229C->unk_6F = 11; + sTradeMenuData->playerLinkFlagChoseAction = sTradeMenuData->partnerLinkFlagChoseAction = 0; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CANCEL_TRADE_1; } } - if (gUnknown_0203229C->unk_7A && gUnknown_0203229C->unk_7B) + if (sTradeMenuData->playerLinkFlagStatus && sTradeMenuData->partnerLinkFlagStatus) { - if (gUnknown_0203229C->unk_7A == 1 && gUnknown_0203229C->unk_7B == 1) + if (sTradeMenuData->playerLinkFlagStatus == INITIATE_TRADE + && sTradeMenuData->partnerLinkFlagStatus == INITIATE_TRADE) { - gUnknown_0203229C->linkData[0] = 0xCCDD; - gUnknown_0203229C->linkData[1] = 0; - sub_807A048(5, 0); - gUnknown_0203229C->unk_7A = 0; - gUnknown_0203229C->unk_7B = 0; - gUnknown_0203229C->unk_6F = 9; + sTradeMenuData->linkData[0] = LINKCMD_START_TRADE; + sTradeMenuData->linkData[1] = 0; + QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA); + sTradeMenuData->playerLinkFlagStatus = 0; + sTradeMenuData->partnerLinkFlagStatus = 0; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_LINK_TRADE_FADE_OUT; } - if (gUnknown_0203229C->unk_7A == 2 || gUnknown_0203229C->unk_7B == 2) + if (sTradeMenuData->playerLinkFlagStatus == CANCEL_TRADE + || sTradeMenuData->partnerLinkFlagStatus == CANCEL_TRADE) { - sub_807A19C(1); - gUnknown_0203229C->linkData[0] = 0xDDEE; - gUnknown_0203229C->linkData[1] = 0; - sub_807A048(5, 0); - gUnknown_0203229C->unk_7A = 0; - gUnknown_0203229C->unk_7B = 0; - gUnknown_0203229C->unk_6F = 8; + PrintTradeMessage(TRADE_MSG_CANCELED); + sTradeMenuData->linkData[0] = LINKCMD_0xDDEE; + sTradeMenuData->linkData[1] = 0; + QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA); + sTradeMenuData->playerLinkFlagStatus = 0; + sTradeMenuData->partnerLinkFlagStatus = 0; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU; } } } -static void sub_8078BFC(u16 *a0, u16 a1, u16 a2) +static void _SetLinkData(u16 *linkData, u16 linkCmd, u16 cursorPosition) { - a0[0] = a1; - a0[1] = a2; - sub_807A048(5, 0); + linkData[0] = linkCmd; + linkData[1] = cursorPosition; + QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA); } -static void sub_8078C10(u16 a0, u16 a1) +static void SetLinkData(u16 linkCmd, u16 cursorPosition) { - sub_8078BFC(gUnknown_0203229C->linkData, a0, a1); + _SetLinkData(sTradeMenuData->linkData, linkCmd, cursorPosition); } -static void sub_8078C34(void) +static void CB1_SendOrReactToLinkTradeData(void) { u8 mpId = GetMultiplayerId(); u8 status; @@ -2451,25 +1289,25 @@ static void sub_8078C34(void) if ((status = _GetBlockReceivedStatus())) { if (mpId == 0) - sub_80787E0(mpId, status); + UpdateLinkTradeFlags(mpId, status); else - sub_8078900(mpId, status); + ReactToLinkTradeData(mpId, status); } if (mpId == 0) - sub_80789FC(); + QueueLinkTradeData(); } -static u8 sub_8078C6C(u8 oldPosition, u8 direction) +static u8 GetNewTradeMenuPosition(u8 oldPosition, u8 direction) { int i; u8 newPosition = 0; for (i = 0; i < PARTY_SIZE; i++) { - if (gUnknown_0203229C->tradeMenuOptionsActive[gTradeNextSelectedMonTable[oldPosition][direction][i]] == TRUE) + if (sTradeMenuData->monPresent[sTradeNextSelectedMonTable[oldPosition][direction][i]] == TRUE) { - newPosition = gTradeNextSelectedMonTable[oldPosition][direction][i]; + newPosition = sTradeNextSelectedMonTable[oldPosition][direction][i]; break; } } @@ -2477,258 +1315,247 @@ static u8 sub_8078C6C(u8 oldPosition, u8 direction) return newPosition; } -static void TradeMenuMoveCursor(u8 *tradeMenuCursorPosition, u8 direction) +static void TradeMenuMoveCursor(u8 *cursorPosition, u8 direction) { - u8 newPosition = sub_8078C6C(*tradeMenuCursorPosition, direction); + u8 newPosition = GetNewTradeMenuPosition(*cursorPosition, direction); - if (newPosition == 12) // CANCEL + if (newPosition == (PARTY_SIZE * 2)) // CANCEL { - StartSpriteAnim(&gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx], 1); - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.x = 224; - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.y = 160; + StartSpriteAnim(&gSprites[sTradeMenuData->cursorSpriteIdx], 1); + gSprites[sTradeMenuData->cursorSpriteIdx].pos1.x = 224; + gSprites[sTradeMenuData->cursorSpriteIdx].pos1.y = 160; } else { - StartSpriteAnim(&gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx], 0); - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.x = gTradeMonSpriteCoords[newPosition][0] * 8 + 32; - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.y = gTradeMonSpriteCoords[newPosition][1] * 8; + StartSpriteAnim(&gSprites[sTradeMenuData->cursorSpriteIdx], 0); + gSprites[sTradeMenuData->cursorSpriteIdx].pos1.x = sTradeMonSpriteCoords[newPosition][0] * 8 + 32; + gSprites[sTradeMenuData->cursorSpriteIdx].pos1.y = sTradeMonSpriteCoords[newPosition][1] * 8; } - if (*tradeMenuCursorPosition != newPosition) + if (*cursorPosition != newPosition) { PlaySE(SE_SELECT); } - *tradeMenuCursorPosition = newPosition; + *cursorPosition = newPosition; } -static void sub_8078D78(void) +static void SetReadyToTrade(void) { - sub_807A19C(0); - gUnknown_0203229C->unk_6F = 100; + PrintTradeMessage(TRADE_MSG_STANDBY); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_STANDBY; if (GetMultiplayerId() == 1) - { - sub_8078C10(0xAABB, gUnknown_0203229C->tradeMenuCursorPosition); - } + SetLinkData(LINKCMD_READY_TO_TRADE, sTradeMenuData->cursorPosition); else - { - gUnknown_0203229C->unk_78 = 1; - } + sTradeMenuData->playerLinkFlagChoseAction = WANTS_TO_TRADE; } -static void sub_8078DBC(void) +static void TradeMenuProcessInput(void) { if (gMain.newAndRepeatedKeys & DPAD_UP) { - TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 0); + TradeMenuMoveCursor(&sTradeMenuData->cursorPosition, 0); } else if (gMain.newAndRepeatedKeys & DPAD_DOWN) { - TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 1); + TradeMenuMoveCursor(&sTradeMenuData->cursorPosition, 1); } else if (gMain.newAndRepeatedKeys & DPAD_LEFT) { - TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 2); + TradeMenuMoveCursor(&sTradeMenuData->cursorPosition, 2); } else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) { - TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 3); + TradeMenuMoveCursor(&sTradeMenuData->cursorPosition, 3); } if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - if (gUnknown_0203229C->tradeMenuCursorPosition < 6) + // Cursor is in player's party + if (sTradeMenuData->cursorPosition < PARTY_SIZE) { DrawTextBorderOuter(1, 1, 14); FillWindowPixelBuffer(1, PIXEL_FILL(1)); - PrintMenuTable(1, 2, gUnknown_0832DEAC); + PrintMenuTable(1, ARRAY_COUNT(sSelectTradeMonActions), sSelectTradeMonActions); InitMenuInUpperLeftCornerPlaySoundWhenAPressed(1, 2, 0); PutWindowTilemap(1); CopyWindowToVram(1, 3); - gUnknown_0203229C->unk_6F = 1; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_SELECTED_MON; } - else if (gUnknown_0203229C->tradeMenuCursorPosition < 12) + // Cursor is in partner's party + else if (sTradeMenuData->cursorPosition < PARTY_SIZE * 2) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_0203229C->unk_6F = 2; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_SHOW_MON_SUMMARY; } - else if (gUnknown_0203229C->tradeMenuCursorPosition == 12) + // Cursor is on Cancel + else if (sTradeMenuData->cursorPosition == PARTY_SIZE * 2) { - CreateYesNoMenu(&gUnknown_0832DF8C, 1, 14, 0); - gUnknown_0203229C->unk_6F = 4; - sub_807A308(gUnknown_0832DE94[4], (void *)(OBJ_VRAM0 + gUnknown_0203229C->unk_72 * 32), 24); + CreateYesNoMenu(&sTradeYesNoWindowTemplate, 1, 14, 0); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CANCEL_TRADE_PROMPT; + DrawTextWindowAndBuffer6Bytes(sTradeActionTexts[TRADE_TEXT_CANCEL_TRADE], (void *)(OBJ_VRAM0 + sTradeMenuData->bottomTextTileStart * 32), 24); } } } -static void sub_8078EF8(void) +static void TradeMenuChooseMon(void) { - sub_8079F74(); - gUnknown_0203229C->unk_6F = 0; - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = FALSE; - sub_807A308(gUnknown_0832DE94[1], (void *)(OBJ_VRAM0 + gUnknown_0203229C->unk_72 * 32), 24); + PrintNicknamesForTradeMenu(); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_MAIN_MENU; + gSprites[sTradeMenuData->cursorSpriteIdx].invisible = FALSE; + DrawTextWindowAndBuffer6Bytes(sTradeActionTexts[TRADE_TEXT_CHOOSE_MON], (void *)(OBJ_VRAM0 + sTradeMenuData->bottomTextTileStart * 32), 24); } -static void sub_8078F50(void) +static void TradeMenuProcessInput_SelectedMon(void) { switch (Menu_ProcessInputNoWrap()) { - case MENU_B_PRESSED: - PlaySE(SE_SELECT); - sub_8078EF8(); + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + TradeMenuChooseMon(); + break; + case MENU_NOTHING_CHOSEN: + break; + case 0: // Summary + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_SHOW_MON_SUMMARY; + break; + case 1: // Trade + switch (CanTradeSelectedMon(gPlayerParty, gPlayerPartyCount, sTradeMenuData->cursorPosition)) + { + case CAN_TRADE_MON: + SetReadyToTrade(); + gSprites[sTradeMenuData->cursorSpriteIdx].invisible = TRUE; break; - case MENU_NOTHING_CHOSEN: + case CANT_TRADE_LAST_MON: + QueueAction(QUEUE_DELAY_MSG, QUEUE_ONLY_MON2); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU; break; - case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_0203229C->unk_6F = 2; + case CANT_TRADE_NATIONAL: + case CANT_TRADE_INVALID_MON: + QueueAction(QUEUE_DELAY_MSG, QUEUE_MON_CANT_BE_TRADED); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU; break; - case 1: - switch (sub_807A5F4(gPlayerParty, gPlayerPartyCount, gUnknown_0203229C->tradeMenuCursorPosition)) - { - case 0: - sub_8078D78(); - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = TRUE; - break; - case 1: - sub_807A048(3, 3); - gUnknown_0203229C->unk_6F = 8; - break; - case 2: - case 4: - sub_807A048(3, 6); - gUnknown_0203229C->unk_6F = 8; - break; - case 3: - case 5: - sub_807A048(3, 7); - gUnknown_0203229C->unk_6F = 8; - break; - } + case CANT_TRADE_EGG_YET: + case CANT_TRADE_EGG_YET2: + QueueAction(QUEUE_DELAY_MSG, QUEUE_EGG_CANT_BE_TRADED); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU; break; + } + break; } } -static void sub_8079034(void) +static void ChooseMonAfterButtonPress(void) { if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) { PlaySE(SE_SELECT); - sub_8078EF8(); + TradeMenuChooseMon(); } } -static void sub_807905C(void) +static void TradeMenuShowMonSummaryScreen(void) { if (!gPaletteFade.active) { - if (gUnknown_0203229C->tradeMenuCursorPosition < PARTY_SIZE) - { - ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gUnknown_0203229C->tradeMenuCursorPosition, gUnknown_0203229C->partyCounts[0] - 1, sub_8077B74); - } + // Player's party + if (sTradeMenuData->cursorPosition < PARTY_SIZE) + ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, sTradeMenuData->cursorPosition, sTradeMenuData->partyCounts[TRADE_PLAYER] - 1, CB2_ReturnToTradeMenu); + // Partner's party else - { - ShowPokemonSummaryScreen(PSS_MODE_UNK1, gEnemyParty, gUnknown_0203229C->tradeMenuCursorPosition - PARTY_SIZE, gUnknown_0203229C->partyCounts[1] - 1, sub_8077B74); - } + ShowPokemonSummaryScreen(PSS_MODE_UNK1, gEnemyParty, sTradeMenuData->cursorPosition - PARTY_SIZE, sTradeMenuData->partyCounts[TRADE_PARTNER] - 1, CB2_ReturnToTradeMenu); FreeAllWindowBuffers(); } } -static u8 sub_80790D4(u8 *a0, u8 a1, u8 a2, u8 a3) +static u8 CheckValidityOfTradeMons(u8 *aliveMons, u8 playerPartyCount, u8 playerMonIdx, u8 partnerMonIdx) { int i; - u16 species; - u8 res = 0; + u16 partnerSpecies; + u8 hasLiveMon = 0; - for (i = 0; i < a1; i++) + // Make sure mon to be traded isn't player's last alive mon + for (i = 0; i < playerPartyCount; i++) { - if (a2 != i) - { - res += a0[i]; - } - } - - a3 %= PARTY_SIZE; - species = GetMonData(&gEnemyParty[a3], MON_DATA_SPECIES); - - if (species == SPECIES_DEOXYS || species == SPECIES_MEW) - { - if (!GetMonData(&gEnemyParty[a3], MON_DATA_OBEDIENCE)) - { - return 2; - } + if (playerMonIdx != i) + hasLiveMon += aliveMons[i]; + } + partnerMonIdx %= PARTY_SIZE; + partnerSpecies = GetMonData(&gEnemyParty[partnerMonIdx], MON_DATA_SPECIES); + + // Partner cant trade illegitimate Deoxys or Mew + if (partnerSpecies == SPECIES_DEOXYS || partnerSpecies == SPECIES_MEW) + { + if (!GetMonData(&gEnemyParty[partnerMonIdx], MON_DATA_OBEDIENCE)) + return PARTNER_MON_INVALID; } + // Partner cant trade Egg or non-Hoenn mon if player doesn't have National Dex if (!IsNationalPokedexEnabled()) { - if (gUnknown_0203229C->unk_51[1][a3] || !IsSpeciesInHoennDex(species)) - { - return 2; - } + if (sTradeMenuData->isEgg[TRADE_PARTNER][partnerMonIdx] || !IsSpeciesInHoennDex(partnerSpecies)) + return PARTNER_MON_INVALID; } - if (res) - { - res = 1; - } + if (hasLiveMon) + hasLiveMon = BOTH_MONS_VALID; - return res; + return hasLiveMon; //PLAYER_MON_INVALID or BOTH_MONS_VALID } -static bool32 sub_8079174(void) +// Returns TRUE if the partner's selected mon is invalid, FALSE otherwise +static bool32 CheckMonsBeforeTrade(void) { int i; - u8 arr[12]; + u8 aliveMons[PARTY_SIZE * 2]; - for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) + for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PLAYER]; i++) { - arr[i] = gUnknown_0203229C->unk_45[0][i]; + aliveMons[i] = sTradeMenuData->isLiveMon[TRADE_PLAYER][i]; } - switch (sub_80790D4(arr, gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->tradeMenuCursorPosition, gUnknown_0203229C->unk_7E)) + switch (CheckValidityOfTradeMons(aliveMons, sTradeMenuData->partyCounts[TRADE_PLAYER], sTradeMenuData->cursorPosition, sTradeMenuData->partnerCursorPosition)) { - case 0: - sub_807A048(3, 3); - sub_8078C10(0xBBCC, 0); - break; - case 1: - sub_807A048(3, 1); - sub_8078C10(0xBBBB, 0); - break; - case 2: - sub_807A048(3, 8); - return TRUE; + case PLAYER_MON_INVALID: + QueueAction(QUEUE_DELAY_MSG, QUEUE_ONLY_MON2); + SetLinkData(LINKCMD_READY_CANCEL_TRADE, 0); + break; + case BOTH_MONS_VALID: + QueueAction(QUEUE_DELAY_MSG, QUEUE_STANDBY); + SetLinkData(LINKCMD_INIT_BLOCK, 0); + break; + case PARTNER_MON_INVALID: + QueueAction(QUEUE_DELAY_MSG, QUEUE_FRIENDS_MON_CANT_BE_TRADED); + return TRUE; } return FALSE; } -static void sub_8079218(void) +static void ConfirmOrCancelTrade(void) { switch (Menu_ProcessInputNoWrapClearOnChoose()) { - case 0: - if (!sub_8079174()) - { - gUnknown_0203229C->unk_6F = 100; - } - else - { - gUnknown_0203229C->unk_6F = 17; - } - PutWindowTilemap(17); - break; - case 1: - case MENU_B_PRESSED: - sub_807A048(3, 1); - if (sub_80771BC()) - sub_8078C10(0xBBCC, 0); - gUnknown_0203229C->unk_6F = 100; - PutWindowTilemap(17); - break; + case 0: // Confirm Trade + if (!CheckMonsBeforeTrade()) + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_STANDBY; + else + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_PARTNER_MON_INVALID; + + PutWindowTilemap(17); + break; + case 1: // Cancel Trade + case MENU_B_PRESSED: + QueueAction(QUEUE_DELAY_MSG, QUEUE_STANDBY); + if (sub_80771BC()) + SetLinkData(LINKCMD_READY_CANCEL_TRADE, 0); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_STANDBY; + PutWindowTilemap(17); + break; } } @@ -2736,65 +1563,66 @@ static void sub_807929C(void) { int i; - for (i = 0; i < gUnknown_0203229C->partyCounts[1] - 4; i++) + for (i = 0; i < sTradeMenuData->partyCounts[1] - 4; i++) { PutWindowTilemap(i + 12); CopyWindowToVram(i + 12, 1); } } -static void sub_80792E4(void) +static void CancelTradeYesNo(void) { switch (Menu_ProcessInputNoWrapClearOnChoose()) { - case 0: - sub_807A19C(4); - sub_8078C10(0xEEAA, 0); - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = TRUE; - gUnknown_0203229C->unk_6F = 100; - sub_807929C(); - break; - case 1: - case MENU_B_PRESSED: - PlaySE(SE_SELECT); - sub_8078EF8(); - break; + case 0: // YES, Cancel + PrintTradeMessage(TRADE_MSG_WAITING_FOR_FRIEND); + SetLinkData(LINKCMD_REQUEST_CANCEL, 0); + gSprites[sTradeMenuData->cursorSpriteIdx].invisible = TRUE; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_STANDBY; + sub_807929C(); + break; + case 1: // NO, Continue + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + TradeMenuChooseMon(); + break; } } -static void sub_807935C(void) +static void SetBothSelectedMons(void) { if (GetMultiplayerId() == 0) { rbox_fill_rectangle(0); - sub_807967C(gUnknown_0203229C->tradeMenuCursorPosition); - sub_807967C(gUnknown_0203229C->unk_7E); + SetSelectedMon(sTradeMenuData->cursorPosition); + SetSelectedMon(sTradeMenuData->partnerCursorPosition); } - gUnknown_0203229C->unk_6F = 7; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CONFIRM_TRADE_PROMPT; } -static void sub_8079398(void) +static void ConfirmTradePrompt(void) { - if (gUnknown_0203229C->unk_74[0] == 5 && gUnknown_0203229C->unk_74[1] == 5) + if (sTradeMenuData->drawPartyState[TRADE_PLAYER] == DRAW_PARTY_FINISH + && sTradeMenuData->drawPartyState[TRADE_PARTNER] == DRAW_PARTY_FINISH) { - sub_80787B8(); - gUnknown_0203229C->unk_6F = 14; + PrintAndBufferIsThisTradeOkay(); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_DELAY_TRADE_CONFIRM; } } -static void Wait2SecondsAndCreateYesNoMenu(void) +static void DelayTradeConfirmation(void) { - gUnknown_0203229C->unk_A8++; + sTradeMenuData->timer++; - if (gUnknown_0203229C->unk_A8 > 120) + if (sTradeMenuData->timer > 120) { - CreateYesNoMenu(&gUnknown_0832DF8C, 1, 14, 0); - gUnknown_0203229C->unk_A8 = 0; - gUnknown_0203229C->unk_6F = 3; + CreateYesNoMenu(&sTradeYesNoWindowTemplate, 1, 14, 0); + sTradeMenuData->timer = 0; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CONFIRM_OR_CANCEL_TRADE; } } -static void sub_8079408(void) +static void RedrawTradeMenuAfterPressA(void) { int i; @@ -2810,14 +1638,14 @@ static void sub_8079408(void) rbox_fill_rectangle(i + 14); } - sub_8079F88(0); - sub_8079F88(1); - gUnknown_0203229C->unk_6F = 0; - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = FALSE; + RedrawTradeMenuParty(TRADE_PLAYER); + RedrawTradeMenuParty(TRADE_PARTNER); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_MAIN_MENU; + gSprites[sTradeMenuData->cursorSpriteIdx].invisible = FALSE; } } -static void sub_8079490(void) +static void CancelTrade_1(void) { if (!gPaletteFade.active) { @@ -2830,18 +1658,18 @@ static void sub_8079490(void) sub_800ABF4(12); } - gUnknown_0203229C->unk_6F = 12; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CANCEL_TRADE_2; } } -static void sub_80794CC(void) +static void CancelTrade_2(void) { if (gWirelessCommType) { - if (sub_80771BC() && sub_807A09C() == 0) + if (sub_80771BC() && GetNumQueuedActions() == 0) { - Free(gUnknown_02032184); - Free(gUnknown_0203229C); + Free(sMessageBoxAllocBuffer); + Free(sTradeMenuData); FreeAllWindowBuffers(); DestroyWirelessStatusIndicatorSprite(); SetMainCallback2(CB2_ReturnToFieldFromMultiplayer); @@ -2851,177 +1679,183 @@ static void sub_80794CC(void) { if (!gReceivedRemoteLinkPlayers) { - Free(gUnknown_02032184); - Free(gUnknown_0203229C); + Free(sMessageBoxAllocBuffer); + Free(sTradeMenuData); FreeAllWindowBuffers(); SetMainCallback2(CB2_ReturnToFieldFromMultiplayer); } } } -static void sub_8079550(void) +static void LinkTradeWaitForQueue(void) { - if (!sub_801048C(FALSE) && sub_807A09C() == 0) + if (!sub_801048C(FALSE) && GetNumQueuedActions() == 0) { sub_800ADF8(); - gUnknown_0203229C->unk_6F = 13; + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_START_LINK_TRADE; } } -static void sub_807957C(void) +static void PartnersMonWasInvalid(void) { if (gMain.newKeys & A_BUTTON) { - sub_8078C10(0xBBCC, 0); - gUnknown_0203229C->unk_6F = 100; + SetLinkData(LINKCMD_READY_CANCEL_TRADE, 0); + sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_STANDBY; } } -static void sub_80795AC(void) +static void CallTradeMenuFunc(void) { - switch (gUnknown_0203229C->unk_6F) + switch (sTradeMenuData->tradeMenuFunc) { - case 0: - sub_8078DBC(); - break; - case 1: - sub_8078F50(); - break; - case 2: - sub_807905C(); - break; - case 3: - sub_8079218(); - break; - case 4: - sub_80792E4(); - break; - case 6: - sub_807935C(); - break; - case 7: - sub_8079398(); - break; - case 8: - sub_8079408(); - break; - case 9: - sub_8078130(); - break; - case 10: - sub_807816C(); - break; - case 11: - sub_8079490(); - break; - case 12: - sub_80794CC(); - break; - case 13: - sub_80781C8(); - break; - case 14: - Wait2SecondsAndCreateYesNoMenu(); - break; - case 15: - sub_8079034(); - break; - case 16: - sub_8079550(); - break; - case 17: - sub_807957C(); - break; + case TRADEMENUFUNC_MAIN_MENU: + TradeMenuProcessInput(); + break; + case TRADEMENUFUNC_SELECTED_MON: + TradeMenuProcessInput_SelectedMon(); + break; + case TRADEMENUFUNC_SHOW_MON_SUMMARY: + TradeMenuShowMonSummaryScreen(); + break; + case TRADEMENUFUNC_CONFIRM_OR_CANCEL_TRADE: + ConfirmOrCancelTrade(); + break; + case TRADEMENUFUNC_CANCEL_TRADE_PROMPT: + CancelTradeYesNo(); + break; + case TRADEMENUFUNC_BOTH_MONS_SELECTED: + SetBothSelectedMons(); + break; + case TRADEMENUFUNC_CONFIRM_TRADE_PROMPT: + ConfirmTradePrompt(); + break; + case TRADEMENUFUNC_REDRAW_MAIN_MENU: + RedrawTradeMenuAfterPressA(); + break; + case TRADEMENUFUNC_LINK_TRADE_FADE_OUT: + LinkTradeFadeOut(); + break; + case TRADEMENUFUNC_LINK_TRADE_WAIT_FADE: + LinkTradeWaitForFade(); + break; + case TRADEMENUFUNC_CANCEL_TRADE_1: + CancelTrade_1(); + break; + case TRADEMENUFUNC_CANCEL_TRADE_2: + CancelTrade_2(); + break; + case TRADEMENUFUNC_START_LINK_TRADE: + SetLinkTradeCallbacks(); + break; + case TRADEMENUFUNC_DELAY_TRADE_CONFIRM: + DelayTradeConfirmation(); + break; + case TRADEMENUFUNC_UNUSED_15: + ChooseMonAfterButtonPress(); + break; + case TRADEMENUFUNC_LINK_TRADE_WAIT_QUEUE: + LinkTradeWaitForQueue(); + break; + case TRADEMENUFUNC_PARTNER_MON_INVALID: + PartnersMonWasInvalid(); + break; + //case TRADEMENUFUNC_STANDBY: is nop } } -static void sub_807967C(u8 a0) +static void SetSelectedMon(u8 cursorPosition) { - u8 whichParty = a0 / PARTY_SIZE; + //cursorPosition 0-5 are the player's mons, 6-11 are the partner's + u8 whichParty = cursorPosition / PARTY_SIZE; - if (gUnknown_0203229C->unk_74[whichParty] == 0) + if (sTradeMenuData->drawPartyState[whichParty] == 0) { - gUnknown_0203229C->unk_74[whichParty] = 1; - gUnknown_0203229C->unk_76[whichParty] = a0; + sTradeMenuData->drawPartyState[whichParty] = 1; + sTradeMenuData->selectedMonIdx[whichParty] = cursorPosition; } } -static void sub_80796B4(u8 a0) +static void DrawTradeMenuParty(u8 whichParty) { s8 nameStringWidth; u8 nickname[20]; u8 movesString[56]; u8 i; u8 partyIdx; - u8 whichParty; - u8 monIdx = gUnknown_0203229C->unk_76[a0]; + u8 selectedMonParty; + u8 selectedMonIdx = sTradeMenuData->selectedMonIdx[whichParty]; - whichParty = 1; - if (gUnknown_0203229C->unk_76[a0] < PARTY_SIZE) - whichParty = 0; - partyIdx = monIdx % PARTY_SIZE; + selectedMonParty = TRADE_PARTNER; + if (sTradeMenuData->selectedMonIdx[whichParty] < PARTY_SIZE) + selectedMonParty = TRADE_PLAYER; + partyIdx = selectedMonIdx % PARTY_SIZE; nameStringWidth = 0; - switch (gUnknown_0203229C->unk_74[a0]) + switch (sTradeMenuData->drawPartyState[whichParty]) { case 1: - for (i = 0; i < gUnknown_0203229C->partyCounts[a0]; i++) + for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++) { - gSprites[gUnknown_0203229C->partyIcons[0][i + (whichParty * PARTY_SIZE)]].invisible = TRUE; + gSprites[sTradeMenuData->partySpriteIds[0][i + (selectedMonParty * PARTY_SIZE)]].invisible = TRUE; } for (i = 0; i < 6; i++) { - ClearWindowTilemap(i + (a0 * 6 + 2)); + ClearWindowTilemap(i + (whichParty * PARTY_SIZE + 2)); } - gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].invisible = FALSE; - gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[0] = 20; - gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[2] = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][0] + gTradeMonSpriteCoords[whichParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14; - gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[4] = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12; - StoreSpriteCallbackInData6(&gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]], sub_80D3014); - gUnknown_0203229C->unk_74[a0]++; - sub_80A6DEC(&gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]]); - CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0); + gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].invisible = FALSE; + gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].data[0] = 20; + gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].data[2] = (sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE][0] + sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14; + gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].data[4] = (sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE][1] * 8) - 12; + StoreSpriteCallbackInData6(&gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]], SpriteCB_MonIcon); + sTradeMenuData->drawPartyState[whichParty]++; + TradeMenuBouncePartySprites(&gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]]); + CopyToBgTilemapBufferRect_ChangePalette(1, sTradePartyBoxTilemap, whichParty * 15, 0, 15, 17, 0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(0); - if (whichParty == 0) - sub_8079F74(); + if (selectedMonParty == TRADE_PLAYER) + PrintNicknamesForTradeMenu(); break; case 2: - if (gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].callback == sub_80D3014) - gUnknown_0203229C->unk_74[a0] = 3; + if (gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].callback == SpriteCB_MonIcon) + sTradeMenuData->drawPartyState[whichParty] = 3; break; case 3: - CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMovesBoxTilemap, whichParty * 15, 0, 15, 17, 0); + CopyToBgTilemapBufferRect_ChangePalette(1, sTradeMovesBoxTilemap, selectedMonParty * 15, 0, 15, 17, 0); CopyBgTilemapBufferToVram(1); - gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos1.x = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][0] + gTradeMonSpriteCoords[whichParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14; - gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos1.y = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12; - gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos2.x = 0; - gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos2.y = 0; - nameStringWidth = sub_8079A3C(nickname, whichParty, partyIdx); - AddTextPrinterParameterized3((a0 * 2) + 14, 0, (80 - nameStringWidth) / 2, 4, gUnknown_0832DEE0, 0, nickname); - sub_8079AA4(movesString, whichParty, partyIdx); - AddTextPrinterParameterized4((a0 * 2) + 15, 1, 0, 0, 0, 0, gUnknown_0832DEE0, 0, movesString); - PutWindowTilemap((a0 * 2) + 14); - CopyWindowToVram((a0 * 2) + 14, 3); - PutWindowTilemap((a0 * 2) + 15); - CopyWindowToVram((a0 * 2) + 15, 3); - gUnknown_0203229C->unk_74[a0]++; + gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].pos1.x = (sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE][0] + sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14; + gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].pos1.y = (sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE][1] * 8) - 12; + gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].pos2.x = 0; + gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].pos2.y = 0; + nameStringWidth = GetMonNicknameWidth(nickname, selectedMonParty, partyIdx); + AddTextPrinterParameterized3((whichParty * 2) + 14, 0, (80 - nameStringWidth) / 2, 4, sTradeTextColors, 0, nickname); + BufferTradeMonMoves(movesString, selectedMonParty, partyIdx); + AddTextPrinterParameterized4((whichParty * 2) + 15, 1, 0, 0, 0, 0, sTradeTextColors, 0, movesString); + PutWindowTilemap((whichParty * 2) + 14); + CopyWindowToVram((whichParty * 2) + 14, 3); + PutWindowTilemap((whichParty * 2) + 15); + CopyWindowToVram((whichParty * 2) + 15, 3); + sTradeMenuData->drawPartyState[whichParty]++; break; case 4: - sub_8079C4C(a0, partyIdx, gUnknown_0832DF99[a0][0] + 4, gUnknown_0832DF99[a0][1] + 1, gUnknown_0832DF99[a0][0], gUnknown_0832DF99[a0][1]); - gUnknown_0203229C->unk_74[a0]++; + DrawTradeMenuPartyMonInfo(whichParty, partyIdx, + sTradeMenuPartyMonBoxDimensions[whichParty][0] + 4, + sTradeMenuPartyMonBoxDimensions[whichParty][1] + 1, + sTradeMenuPartyMonBoxDimensions[whichParty][0], + sTradeMenuPartyMonBoxDimensions[whichParty][1]); + sTradeMenuData->drawPartyState[whichParty]++; break; } } -static u8 sub_8079A3C(u8 *str, u8 whichParty, u8 monIdx) +static u8 GetMonNicknameWidth(u8 *str, u8 whichParty, u8 monIdx) { u8 nickname[12]; - if (whichParty == 0) + if (whichParty == TRADE_PLAYER) GetMonData(&gPlayerParty[monIdx], MON_DATA_NICKNAME, nickname); else GetMonData(&gEnemyParty[monIdx], MON_DATA_NICKNAME, nickname); @@ -3030,104 +1864,104 @@ static u8 sub_8079A3C(u8 *str, u8 whichParty, u8 monIdx) return GetStringWidth(0, str, GetFontAttribute(0, FONTATTR_LETTER_SPACING)); } -static void sub_8079AA4(u8 *a0, u8 a1, u8 a2) +static void BufferTradeMonMoves(u8 *str, u8 whichParty, u8 partyIdx) { - u16 arr[4]; + u16 moves[MAX_MON_MOVES]; u16 i; - if (!gUnknown_0203229C->unk_51[a1][a2]) + if (!sTradeMenuData->isEgg[whichParty][partyIdx]) { for (i = 0; i < MAX_MON_MOVES; i++) { - if (!a1) + if (whichParty == TRADE_PLAYER) { - arr[i] = GetMonData(&gPlayerParty[a2], i + MON_DATA_MOVE1, NULL); + moves[i] = GetMonData(&gPlayerParty[partyIdx], i + MON_DATA_MOVE1, NULL); } else { - arr[i] = GetMonData(&gEnemyParty[a2], i + MON_DATA_MOVE1, NULL); + moves[i] = GetMonData(&gEnemyParty[partyIdx], i + MON_DATA_MOVE1, NULL); } } - StringCopy(a0, gText_EmptyString7); + StringCopy(str, sText_EmptyString); for (i = 0; i < MAX_MON_MOVES; i++) { - if (arr[i] != MOVE_NONE) + if (moves[i] != MOVE_NONE) { - StringAppend(a0, gMoveNames[arr[i]]); + StringAppend(str, gMoveNames[moves[i]]); } - StringAppend(a0, gText_NewLine3); + StringAppend(str, sText_NewLine); } } else { - StringCopy(a0, gText_EmptyString7); - StringAppend(a0, gText_FourQuestionMarks); + StringCopy(str, sText_EmptyString); + StringAppend(str, sText_FourQuestionMarks); } } -static void sub_8079B84(u8 whichParty, u8 windowId, u8 *str) +static void PrintMonNicknameForTradeMenu(u8 whichParty, u8 windowId, u8 *nickname) { u8 xPos; windowId += (whichParty * PARTY_SIZE) + 2; - xPos = GetStringCenterAlignXOffset(0, str, 64); - AddTextPrinterParameterized3(windowId, 0, xPos, 4, gUnknown_0832DEE0, 0, str); + xPos = GetStringCenterAlignXOffset(0, nickname, 64); + AddTextPrinterParameterized3(windowId, 0, xPos, 4, sTradeTextColors, 0, nickname); PutWindowTilemap(windowId); CopyWindowToVram(windowId, 3); } -static void sub_8079BE0(u8 whichParty) +static void PrintPartyNicknamesForTradeMenu(u8 whichParty) { u8 i; - u8 sp[20]; - u8 sp14[32]; - struct Pokemon *mons = whichParty == 0 ? gPlayerParty : gEnemyParty; + u8 nickname[20]; + u8 str[32]; + struct Pokemon *party = (whichParty == TRADE_PLAYER) ? gPlayerParty : gEnemyParty; - for (i = 0; i < gUnknown_0203229C->partyCounts[whichParty]; i++) + for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++) { - GetMonData(&mons[i], MON_DATA_NICKNAME, sp); - StringCopy10(sp14, sp); - sub_8079B84(whichParty, i, sp14); + GetMonData(&party[i], MON_DATA_NICKNAME, nickname); + StringCopy10(str, nickname); + PrintMonNicknameForTradeMenu(whichParty, i, str); } } -static void sub_8079C4C(u8 whichParty, u8 monIdx, u8 a2, u8 a3, u8 a4, u8 a5) +static void DrawTradeMenuPartyMonInfo(u8 whichParty, u8 monIdx, u8 x, u8 y, u8 width, u8 height) { u8 level; - u32 r2; + u32 symbolTile; u8 gender; u8 nickname[12]; - CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_08DDD704, a4, a5, 6, 3, 0); + CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMenuMonBox_Tilemap, width, height, 6, 3, 0); CopyBgTilemapBufferToVram(1); - if (whichParty == 0) + if (whichParty == TRADE_PLAYER) level = GetMonData(&gPlayerParty[monIdx], MON_DATA_LEVEL, NULL); else level = GetMonData(&gEnemyParty[monIdx], MON_DATA_LEVEL, NULL); - if (gUnknown_0203229C->unk_51[whichParty][monIdx] == 0) + if (!sTradeMenuData->isEgg[whichParty][monIdx]) { if (level / 10 != 0) - gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32)] = (level / 10) + 0x60; + sTradeMenuData->tilemapBuffer[x + (y * 32)] = (level / 10) + 0x60; - gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) + 1] = (level % 10) + 0x70; + sTradeMenuData->tilemapBuffer[x + (y * 32) + 1] = (level % 10) + 0x70; } else { - gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 32] = gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 33]; - gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 31] = gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 36] | 0x400; + sTradeMenuData->tilemapBuffer[x + (y * 32) - 32] = sTradeMenuData->tilemapBuffer[x + (y * 32) - 33]; + sTradeMenuData->tilemapBuffer[x + (y * 32) - 31] = sTradeMenuData->tilemapBuffer[x + (y * 32) - 36] | 0x400; } - if (gUnknown_0203229C->unk_51[whichParty][monIdx] != 0) + if (sTradeMenuData->isEgg[whichParty][monIdx]) { - r2 = 0x480; + symbolTile = 0x480; } else { - if (whichParty == 0) + if (whichParty == TRADE_PLAYER) { gender = GetMonGender(&gPlayerParty[monIdx]); GetMonData(&gPlayerParty[monIdx], MON_DATA_NICKNAME, nickname); @@ -3140,483 +1974,425 @@ static void sub_8079C4C(u8 whichParty, u8 monIdx, u8 a2, u8 a3, u8 a4, u8 a5) switch (gender) { - case MON_MALE: - r2 = !NameHasGenderSymbol(nickname, MON_MALE) ? 0x84 : 0x83; - break; - case MON_FEMALE: - r2 = !NameHasGenderSymbol(nickname, MON_FEMALE) ? 0x85 : 0x83; - break; - default: - r2 = 0x83; - break; + case MON_MALE: + symbolTile = !NameHasGenderSymbol(nickname, MON_MALE) ? 0x84 : 0x83; + break; + case MON_FEMALE: + symbolTile = !NameHasGenderSymbol(nickname, MON_FEMALE) ? 0x85 : 0x83; + break; + default: + symbolTile = 0x83; + break; } } - gUnknown_0203229C->tilemapBuffer[(a3 - 1) * 32 + a2 + 1] = r2; + sTradeMenuData->tilemapBuffer[(y - 1) * 32 + x + 1] = symbolTile; } -// Very close but loop preamble not working. -#ifdef NONMATCHING -static void sub_8079E44(u8 whichParty) +static void DrawTradeMenuPartyInfo(u8 whichParty) { - int i; - - for (i = 0; i < gUnknown_0203229C->partyCounts[whichParty]; i++) + s32 i; + for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++) { - sub_8079C4C(whichParty, i, gTradeLevelDisplayCoords[whichParty][i][0], gTradeLevelDisplayCoords[whichParty][i][1], gTradeMonBoxCoords[whichParty][i][0], gTradeMonBoxCoords[whichParty][i][1]); - } -} -#else -NAKED -static void sub_8079E44(u8 whichParty) -{ - asm_unified("push {r4-r7,lr}\n\ - sub sp, 0x8\n\ - lsls r0, 24\n\ - lsrs r6, r0, 24\n\ - movs r7, 0\n\ - ldr r0, =gUnknown_0203229C\n\ - ldr r0, [r0]\n\ - adds r0, 0x36\n\ - adds r0, r6\n\ - ldrb r0, [r0]\n\ - cmp r7, r0\n\ - bge _08079E94\n\ - lsls r0, r6, 1\n\ - adds r0, r6\n\ - ldr r1, =gTradeLevelDisplayCoords\n\ - lsls r0, 2\n\ - adds r5, r0, r1\n\ - ldr r1, =gTradeMonBoxCoords\n\ - adds r4, r0, r1\n\ -_08079E6A:\n\ - lsls r1, r7, 24\n\ - lsrs r1, 24\n\ - ldrb r2, [r5]\n\ - ldrb r3, [r5, 0x1]\n\ - ldrb r0, [r4]\n\ - str r0, [sp]\n\ - ldrb r0, [r4, 0x1]\n\ - str r0, [sp, 0x4]\n\ - adds r0, r6, 0\n\ - bl sub_8079C4C\n\ - adds r5, 0x2\n\ - adds r4, 0x2\n\ - adds r7, 0x1\n\ - ldr r0, =gUnknown_0203229C\n\ - ldr r0, [r0]\n\ - adds r0, 0x36\n\ - adds r0, r6\n\ - ldrb r0, [r0]\n\ - cmp r7, r0\n\ - blt _08079E6A\n\ -_08079E94:\n\ - add sp, 0x8\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); -} -#endif // NONMATCHING + const u8 (*r5)[2]; + const u8 (*r4)[2]; + u32 r0 = 3 * whichParty; + const u8 (*r1)[2][2] = sTradeMonLevelCoords; -static void sub_8079EA8(u8 whichParty) -{ - int i; - - for (i = 0; i < gUnknown_0203229C->partyCounts[whichParty]; i++) - { - gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].invisible = FALSE; - gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos1.x = gTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][0] * 8 + 14; - gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos1.y = gTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][1] * 8 - 12; - gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos2.x = 0; - gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos2.y = 0; + r5 = r1[r0]; + r4 = sTradeMonBoxCoords[r0]; + DrawTradeMenuPartyMonInfo( + whichParty, + i, + r5[i][0], + r5[i][1], + r4[i][0], + r4[i][1] + ); } } -static void sub_8079F74(void) +static void ResetTradeMenuPartyPositions(u8 whichParty) +{ + int i; + + for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++) + { + gSprites[sTradeMenuData->partySpriteIds[whichParty][i]].invisible = FALSE; + gSprites[sTradeMenuData->partySpriteIds[whichParty][i]].pos1.x = sTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][0] * 8 + 14; + gSprites[sTradeMenuData->partySpriteIds[whichParty][i]].pos1.y = sTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][1] * 8 - 12; + gSprites[sTradeMenuData->partySpriteIds[whichParty][i]].pos2.x = 0; + gSprites[sTradeMenuData->partySpriteIds[whichParty][i]].pos2.y = 0; + } +} + +static void PrintNicknamesForTradeMenu(void) { rbox_fill_rectangle(1); - sub_8079BE0(1); + //PrintPartyNicknamesForTradeMenu(TRADE_PLAYER); ? + PrintPartyNicknamesForTradeMenu(TRADE_PARTNER); } -static void sub_8079F88(u8 a0) +static void RedrawTradeMenuParty(u8 whichParty) { - CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0); + CopyToBgTilemapBufferRect_ChangePalette(1, sTradePartyBoxTilemap, whichParty * 15, 0, 15, 17, 0); CopyBgTilemapBufferToVram(1); - sub_8079E44(a0); - sub_8079BE0(a0); - sub_8079EA8(a0); - sub_807A308(gUnknown_0832DE94[1], (void *)(OBJ_VRAM0 + (gUnknown_0203229C->unk_72 * 32)), 24); - gUnknown_0203229C->unk_74[a0] = 0; + DrawTradeMenuPartyInfo(whichParty); + PrintPartyNicknamesForTradeMenu(whichParty); + ResetTradeMenuPartyPositions(whichParty); + DrawTextWindowAndBuffer6Bytes(sTradeActionTexts[TRADE_TEXT_CHOOSE_MON], (void *)(OBJ_VRAM0 + (sTradeMenuData->bottomTextTileStart * 32)), 24); + sTradeMenuData->drawPartyState[whichParty] = 0; } -static void sub_807A000(u8 taskId) +static void Task_DrawSelectionSummary(u8 taskId) { FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); CopyBgTilemapBufferToVram(0); } -static void sub_807A024(u8 taskId) +static void Task_DrawSelectionTrade(u8 taskId) { FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); CopyBgTilemapBufferToVram(0); } -static void sub_807A048(u16 a0, u8 a1) +static void QueueAction(u16 delay, u8 actionId) { int i; - for (i = 0; i < 4; i++) + for (i = 0; i < (int)ARRAY_COUNT(sTradeMenuData->queuedActions); i++) { - if (!gUnknown_0203229C->unk_8D0[i].unk_0) + if (!sTradeMenuData->queuedActions[i].queued) { - gUnknown_0203229C->unk_8D0[i].unk_2 = a0; - gUnknown_0203229C->unk_8D0[i].unk_4 = a1; - gUnknown_0203229C->unk_8D0[i].unk_0 = TRUE; + sTradeMenuData->queuedActions[i].queueDelay = delay; + sTradeMenuData->queuedActions[i].actionId = actionId; + sTradeMenuData->queuedActions[i].queued = TRUE; break; } } } -static u32 sub_807A09C(void) +static u32 GetNumQueuedActions(void) { - u32 acc = 0; + u32 numActions = 0; int i; - for (i = 0; i < 4; i++) + for (i = 0; i < (int)ARRAY_COUNT(sTradeMenuData->queuedActions); i++) { - acc += gUnknown_0203229C->unk_8D0[i].unk_0; + numActions += sTradeMenuData->queuedActions[i].queued; } - return acc; + return numActions; } -static void sub_807A0C4(void) +static void DoQueuedActions(void) { int i; - for (i = 0; i < 4; i++) + for (i = 0; i < (int)ARRAY_COUNT(sTradeMenuData->queuedActions); i++) { - if (gUnknown_0203229C->unk_8D0[i].unk_0) + if (sTradeMenuData->queuedActions[i].queued) { - if (gUnknown_0203229C->unk_8D0[i].unk_2) + if (sTradeMenuData->queuedActions[i].queueDelay) { - gUnknown_0203229C->unk_8D0[i].unk_2--; + sTradeMenuData->queuedActions[i].queueDelay--; } else { - switch (gUnknown_0203229C->unk_8D0[i].unk_4) + switch (sTradeMenuData->queuedActions[i].actionId) { - case 0: - sub_8077170(gUnknown_0203229C->linkData, 20); - break; - case 1: - sub_807A19C(0); - break; - case 2: - sub_807A19C(2); - break; - case 3: - case 4: - case 5: - sub_807A19C(3); - break; - case 6: - sub_807A19C(6); - break; - case 7: - sub_807A19C(7); - break; - case 8: - sub_807A19C(8); - break; + case QUEUE_SEND_DATA: + SendLinkData(sTradeMenuData->linkData, 20); + break; + case QUEUE_STANDBY: + PrintTradeMessage(TRADE_MSG_STANDBY); + break; + case QUEUE_ONLY_MON1: + PrintTradeMessage(TRADE_MSG_ONLY_MON1); + break; + case QUEUE_ONLY_MON2: + case QUEUE_UNUSED1: + case QUEUE_UNUSED2: + PrintTradeMessage(TRADE_MSG_ONLY_MON2); + break; + case QUEUE_MON_CANT_BE_TRADED: + PrintTradeMessage(TRADE_MSG_MON_CANT_BE_TRADED); + break; + case QUEUE_EGG_CANT_BE_TRADED: + PrintTradeMessage(TRADE_MSG_EGG_CANT_BE_TRADED); + break; + case QUEUE_FRIENDS_MON_CANT_BE_TRADED: + PrintTradeMessage(TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED); + break; } - gUnknown_0203229C->unk_8D0[i].unk_0 = 0; + sTradeMenuData->queuedActions[i].queued = FALSE; } } } } -static void sub_807A19C(u8 a0) +static void PrintTradeMessage(u8 messageId) { FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized(0, 1, gUnknown_0832DEBC[a0], 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(0, 1, sTradeMessages[messageId], 0, 1, TEXT_SPEED_FF, NULL); DrawTextBorderOuter(0, 20, 12); PutWindowTilemap(0); CopyWindowToVram(0, 3); } -static bool8 sub_807A1F0(void) +static bool8 LoadTradeMenuSpriteSheetsAndPalettes(void) { struct SpriteSheet sheet; - if (gUnknown_0203229C->unk_A8 < 14) + if (sTradeMenuData->timer < (int)ARRAY_COUNT(sMessageBoxTileBuffers)) { - sheet.data = gUnknown_02032188[gUnknown_0203229C->unk_A8]; + sheet.data = sMessageBoxTileBuffers[sTradeMenuData->timer]; sheet.size = 0x100; - sheet.tag = 200 + gUnknown_0203229C->unk_A8; + sheet.tag = 200 + sTradeMenuData->timer; } - switch (gUnknown_0203229C->unk_A8) + switch (sTradeMenuData->timer) { - case 0 ... 7: - LoadSpriteSheet(&sheet); - gUnknown_0203229C->unk_A8++; - break; - case 8: - gUnknown_0203229C->unk_72 = LoadSpriteSheet(&sheet); - gUnknown_0203229C->unk_A8++; - break; - case 9 ... 13: - LoadSpriteSheet(&sheet); - gUnknown_0203229C->unk_A8++; - break; - case 14: - LoadSpritePalette(&gSpritePalette_TradeScreenText); - gUnknown_0203229C->unk_A8++; - break; - case 15: - LoadSpritePalette(&gUnknown_0832DC44); - gUnknown_0203229C->unk_A8++; - break; - case 16: - LoadSpriteSheet(&gUnknown_0832DC3C); - gUnknown_0203229C->unk_A8++; - break; - case 17: - gUnknown_0203229C->unk_A8 = 0; - return TRUE; + case 0 ... 7: + LoadSpriteSheet(&sheet); + sTradeMenuData->timer++; + break; + case 8: + sTradeMenuData->bottomTextTileStart = LoadSpriteSheet(&sheet); + sTradeMenuData->timer++; + break; + case 9 ... 13: + LoadSpriteSheet(&sheet); + sTradeMenuData->timer++; + break; + case 14: + LoadSpritePalette(&gSpritePalette_TradeScreenText); + sTradeMenuData->timer++; + break; + case 15: + LoadSpritePalette(&gUnknown_0832DC44); + sTradeMenuData->timer++; + break; + case 16: + LoadSpriteSheet(&sTradeButtonsSpriteSheet); + sTradeMenuData->timer++; + break; + case 17: + sTradeMenuData->timer = 0; + return TRUE; } return FALSE; } -static void sub_807A308(const u8 *a0, u8 *a1, u8 unused) +static void DrawTextWindowAndBuffer6Bytes(const u8 *str, u8 *dest, u8 unused) { - sub_80C6D80(a0, a1, 0, 0, 6); + DrawTextWindowAndBufferTiles(str, dest, 0, 0, 6); } -static void sub_807A320(u8 who) +static void SetTradePartyLiveStatuses(u8 whichParty) { int i; - switch (who) + switch (whichParty) { - case 0: - for (i = 0; i < gUnknown_0203229C->partyCounts[who]; i++) + case TRADE_PLAYER: + for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) == TRUE) { - if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) == TRUE) - { - gUnknown_0203229C->unk_45[who][i] = 0; - gUnknown_0203229C->unk_51[who][i] = 1; - } - else if (GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0) - { - gUnknown_0203229C->unk_45[who][i] = 0; - gUnknown_0203229C->unk_51[who][i] = 0; - } - else - { - gUnknown_0203229C->unk_45[who][i] = 1; - gUnknown_0203229C->unk_51[who][i] = 0; - } + sTradeMenuData->isLiveMon[whichParty][i] = FALSE; + sTradeMenuData->isEgg[whichParty][i] = TRUE; } - break; - case 1: - for (i = 0; i < gUnknown_0203229C->partyCounts[who]; i++) + else if (GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0) { - if (GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG) == TRUE) - { - gUnknown_0203229C->unk_45[who][i] = 0; - gUnknown_0203229C->unk_51[who][i] = 1; - } - else if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) - { - gUnknown_0203229C->unk_45[who][i] = 0; - gUnknown_0203229C->unk_51[who][i] = 0; - } - else - { - gUnknown_0203229C->unk_45[who][i] = 1; - gUnknown_0203229C->unk_51[who][i] = 0; - } + sTradeMenuData->isLiveMon[whichParty][i] = FALSE; + sTradeMenuData->isEgg[whichParty][i] = FALSE; } - break; + else + { + sTradeMenuData->isLiveMon[whichParty][i] = TRUE; + sTradeMenuData->isEgg[whichParty][i] = FALSE; + } + } + break; + case TRADE_PARTNER: + for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++) + { + if (GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG) == TRUE) + { + sTradeMenuData->isLiveMon[whichParty][i] = FALSE; + sTradeMenuData->isEgg[whichParty][i] = TRUE; + } + else if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) + { + sTradeMenuData->isLiveMon[whichParty][i] = FALSE; + sTradeMenuData->isEgg[whichParty][i] = FALSE; + } + else + { + sTradeMenuData->isLiveMon[whichParty][i] = TRUE; + sTradeMenuData->isEgg[whichParty][i] = FALSE; + } + } + break; } } -static void sub_807A468(u8 who) +static void GetTradePartyHPBarLevels(u8 who) { u16 i, curHp, maxHp; switch (who) { - case 0: - for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) - { - curHp = GetMonData(&gPlayerParty[i], MON_DATA_HP); - maxHp = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP); - gUnknown_0203229C->unk_5D[0][i] = GetHPBarLevel(curHp, maxHp); - } - break; - case 1: - for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++) - { - curHp = GetMonData(&gEnemyParty[i], MON_DATA_HP); - maxHp = GetMonData(&gEnemyParty[i], MON_DATA_MAX_HP); - gUnknown_0203229C->unk_5D[1][i] = GetHPBarLevel(curHp, maxHp); - } - break; + case TRADE_PLAYER: + for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PLAYER]; i++) + { + curHp = GetMonData(&gPlayerParty[i], MON_DATA_HP); + maxHp = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP); + sTradeMenuData->hpBarLevels[TRADE_PLAYER][i] = GetHPBarLevel(curHp, maxHp); + } + break; + case TRADE_PARTNER: + for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PARTNER]; i++) + { + curHp = GetMonData(&gEnemyParty[i], MON_DATA_HP); + maxHp = GetMonData(&gEnemyParty[i], MON_DATA_MAX_HP); + sTradeMenuData->hpBarLevels[TRADE_PARTNER][i] = GetHPBarLevel(curHp, maxHp); + } + break; } } -static void sub_807A53C(void) +static void SetTradePartyHPBarSprites(void) { int i, j; for (i = 0; i < 2; i++) { - for (j = 0; j < gUnknown_0203229C->partyCounts[i]; j++) + for (j = 0; j < sTradeMenuData->partyCounts[i]; j++) { - sub_80D32C8(&gSprites[gUnknown_0203229C->partyIcons[i][j]], 4 - gUnknown_0203229C->unk_5D[i][j]); + SetPartyHPBarSprite(&gSprites[sTradeMenuData->partySpriteIds[i][j]], 4 - sTradeMenuData->hpBarLevels[i][j]); } } } -static void sub_807A5B0(void) +static void SaveTradeGiftRibbons(void) { int i; - for (i = 0; i < 11; i++) + for (i = 0; i < (int)ARRAY_COUNT(sTradeMenuData->giftRibbons); i++) { - if (gSaveBlock1Ptr->giftRibbons[i] == 0 && gUnknown_0203229C->unk_A9[i] != 0) + if (gSaveBlock1Ptr->giftRibbons[i] == 0 && sTradeMenuData->giftRibbons[i] != 0) { - if (gUnknown_0203229C->unk_A9[i] < 64) - gSaveBlock1Ptr->giftRibbons[i] = gUnknown_0203229C->unk_A9[i]; + if (sTradeMenuData->giftRibbons[i] < 64) + gSaveBlock1Ptr->giftRibbons[i] = sTradeMenuData->giftRibbons[i]; } } } -static u32 sub_807A5F4(struct Pokemon *monList, int a1, int monIdx) +static u32 CanTradeSelectedMon(struct Pokemon *playerParty, int partyCount, int monIdx) { - int i, sum; + int i, numMonsLeft; struct LinkPlayer *player; - u32 species[6]; - u32 species2[6]; + u32 species[PARTY_SIZE]; + u32 species2[PARTY_SIZE]; - for (i = 0; i < a1; i++) + for (i = 0; i < partyCount; i++) { - species2[i] = GetMonData(&monList[i], MON_DATA_SPECIES2); - species[i] = GetMonData(&monList[i], MON_DATA_SPECIES); + species2[i] = GetMonData(&playerParty[i], MON_DATA_SPECIES2); + species[i] = GetMonData(&playerParty[i], MON_DATA_SPECIES); } + // Cant trade Eggs or non-Hoenn mons if player doesn't have National Dex if (!IsNationalPokedexEnabled()) { if (species2[monIdx] == SPECIES_EGG) - { - return 3; - } + return CANT_TRADE_EGG_YET; if (!IsSpeciesInHoennDex(species2[monIdx])) - { - return 2; - } + return CANT_TRADE_NATIONAL; } player = &gLinkPlayers[GetMultiplayerId() ^ 1]; if ((player->version & 0xFF) != VERSION_RUBY && (player->version & 0xFF) != VERSION_SAPPHIRE) { - if ((player->name[10] & 0xF) == 0) + // Does partner not have National Dex + if (!(player->progressFlagsCopy & 0xF)) { if (species2[monIdx] == SPECIES_EGG) - { - return 5; - } + return CANT_TRADE_EGG_YET2; if (!IsSpeciesInHoennDex(species2[monIdx])) - { - return 4; - } + return CANT_TRADE_INVALID_MON; } } if (species[monIdx] == SPECIES_DEOXYS || species[monIdx] == SPECIES_MEW) { - if (!GetMonData(&monList[monIdx], MON_DATA_OBEDIENCE)) - { - return 4; - } + if (!GetMonData(&playerParty[monIdx], MON_DATA_OBEDIENCE)) + return CANT_TRADE_INVALID_MON; } - for (i = 0; i < a1; i++) + // Make Eggs not count for numMonsLeft + for (i = 0; i < partyCount; i++) { if (species2[i] == SPECIES_EGG) - { species2[i] = SPECIES_NONE; - } } - for (sum = 0, i = 0; i < a1; i++) + // Count alive mons in party, excluding selected trade mon + for (numMonsLeft = 0, i = 0; i < partyCount; i++) { if (i != monIdx) - { - sum += species2[i]; - } + numMonsLeft += species2[i]; } - if (sum != 0) - { - return 0; - } + if (numMonsLeft != 0) + return CAN_TRADE_MON; else - { - return 1; - } + return CANT_TRADE_LAST_MON; } -s32 sub_807A728(void) +s32 GetGameProgressForLinkTrade(void) { - s32 val; + // isGameFrLg could have been a bool but they use 2 and > 0 instead + // possible other checks (for other game versions?) were planned/removed + s32 isGameFrLg; u16 version; if (gReceivedRemoteLinkPlayers != 0) { - val = 0; + isGameFrLg = 0; version = (gLinkPlayers[GetMultiplayerId() ^ 1].version & 0xFF); if (version == VERSION_RUBY || version == VERSION_SAPPHIRE || version == VERSION_EMERALD) - { - // this value could actually be anything 0 or less - val = 0; - } + isGameFrLg = 0; else if (version == VERSION_FIRE_RED || version == VERSION_LEAF_GREEN) - { - val = 2; - } + isGameFrLg = 2; - if (val > 0) + // If trading with FRLG, both players must be champion + if (isGameFrLg > 0) { - if (gLinkPlayers[GetMultiplayerId()].name[10] & 0xF0) + // Is player champion + if (gLinkPlayers[GetMultiplayerId()].progressFlagsCopy & 0xF0) { - if (val == 2) + if (isGameFrLg == 2) //unnecessary check, isGameFrLg always 2 here { - if (gLinkPlayers[GetMultiplayerId() ^ 1].name[10] & 0xF0) - { - return 0; - } + // Is partner champion + if (gLinkPlayers[GetMultiplayerId() ^ 1].progressFlagsCopy & 0xF0) + return TRADE_BOTH_PLAYERS_READY; else - { - return 2; - } + return TRADE_PARTNER_NOT_READY; } } else { - return 1; + return TRADE_PLAYER_NOT_READY; } } } - return 0; + return TRADE_BOTH_PLAYERS_READY; } static bool32 IsDeoxysOrMewUntradable(u16 species, bool8 isObedientBitSet) @@ -3629,122 +2405,116 @@ static bool32 IsDeoxysOrMewUntradable(u16 species, bool8 isObedientBitSet) return FALSE; } -int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 species1, u16 species2, u8 type, u16 species3, u8 isObedientBitSet) +int GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct rfuPlayer, struct UnkLinkRfuStruct_02022B14Substruct rfuPartner, u16 playerSpecies2, u16 partnerSpecies, u8 requestedType, u16 playerSpecies, u8 isObedientBitSet) { - u8 r9 = a0.unk_01_0; - u8 r2 = a0.unk_00_7; - u8 r10 = a1.unk_01_0; - u8 r0 = a1.unk_00_7; - u8 r1 = a1.unk_01_2; + bool8 playerHasNationalDex = rfuPlayer.hasNationalDex; + bool8 playerIsChampion = rfuPlayer.isChampion; + bool8 partnerHasNationalDex = rfuPartner.hasNationalDex; + bool8 partnerIsChampion = rfuPartner.isChampion; + u8 r1 = rfuPartner.unk_01_2; if (r1 != 3) { - if (!r2) + if (!playerIsChampion) { - return 8; + return UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_1; } - else if (!r0) + else if (!partnerIsChampion) { - return 9; + return UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2; } } - if (IsDeoxysOrMewUntradable(species3, isObedientBitSet)) + if (IsDeoxysOrMewUntradable(playerSpecies, isObedientBitSet)) { - return 4; + return UR_TRADE_MSG_MON_CANT_BE_TRADED_2; } - if (species2 == SPECIES_EGG) + if (partnerSpecies == SPECIES_EGG) { - if (species1 != species2) + if (playerSpecies2 != partnerSpecies) { - return 2; + return UR_TRADE_MSG_NOT_EGG; } } else { - if (gBaseStats[species1].type1 != type && gBaseStats[species1].type2 != type) + if (gBaseStats[playerSpecies2].type1 != requestedType && gBaseStats[playerSpecies2].type2 != requestedType) { - return 1; + return UR_TRADE_MSG_NOT_MON_PARTNER_WANTS; } } - if (species1 == SPECIES_EGG && species1 != species2) + if (playerSpecies2 == SPECIES_EGG && playerSpecies2 != partnerSpecies) { - return 3; + return UR_TRADE_MSG_MON_CANT_BE_TRADED_1; } - if (!r9) + if (!playerHasNationalDex) { - if (species1 == SPECIES_EGG) + if (playerSpecies2 == SPECIES_EGG) { - return 6; + return UR_TRADE_MSG_EGG_CANT_BE_TRADED; } - if (!IsSpeciesInHoennDex(species1)) + if (!IsSpeciesInHoennDex(playerSpecies2)) { - return 4; + return UR_TRADE_MSG_MON_CANT_BE_TRADED_2; } - if (!IsSpeciesInHoennDex(species2)) + if (!IsSpeciesInHoennDex(partnerSpecies)) { - return 5; + return UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED; } } - if (!r10 && !IsSpeciesInHoennDex(species1)) + if (!partnerHasNationalDex && !IsSpeciesInHoennDex(playerSpecies2)) { - return 7; + return UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON; } - return 0; + return UR_TRADE_MSG_NONE; } -int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16 species, u16 a2, u8 a3) +int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct rfuPlayer, u16 species2, u16 species, u8 isObedientBitSet) { - u8 unk = a0.unk_01_0; + bool8 hasNationalDex = rfuPlayer.hasNationalDex; - if (IsDeoxysOrMewUntradable(a2, a3)) - { - return 1; - } + if (IsDeoxysOrMewUntradable(species, isObedientBitSet)) + return CANT_REGISTER_MON; - if (unk) - { - return 0; - } + if (hasNationalDex) + return CAN_REGISTER_MON; - if (species == SPECIES_EGG) - { - return 2; - } + // Eggs can only be traded if the player has the National Dex + if (species2 == SPECIES_EGG) + return CANT_REGISTER_EGG; - if (IsSpeciesInHoennDex(species)) - { - return 0; - } + if (IsSpeciesInHoennDex(species2)) + return CAN_REGISTER_MON; - return 1; + return CANT_REGISTER_MON; } -// r6/r7 flip. Ugh. -#ifdef NONMATCHING -int sub_807A918(struct Pokemon *mon, u16 monIdx) +// Spin Trade wasnt fully implemented, but this checks if a mon would be valid to Spin Trade +// Unlike later generations, this version of Spin Trade isnt only for Eggs +int CanSpinTradeMon(struct Pokemon *mon, u16 monIdx) { - int i, version, versions, unk, unk2; + int i, version, versions, canTradeAnyMon, numMonsLeft; int speciesArray[PARTY_SIZE]; + // Make Eggs not count for numMonsLeft for (i = 0; i < gPlayerPartyCount; i++) { speciesArray[i] = GetMonData(&mon[i], MON_DATA_SPECIES2); if (speciesArray[i] == SPECIES_EGG) { - speciesArray[i] = 0; + speciesArray[i] = SPECIES_NONE; } } versions = 0; - unk = 1; + canTradeAnyMon = TRUE; for (i = 0; i < GetLinkPlayerCount(); i++) { version = gLinkPlayers[i].version & 0xFF; @@ -3762,196 +2532,41 @@ int sub_807A918(struct Pokemon *mon, u16 monIdx) for (i = 0; i < GetLinkPlayerCount(); i++) { struct LinkPlayer *player = &gLinkPlayers[i]; - if ((player->name[8] & 0xF) == 0) - { - unk = 0; - } - if (versions && (player->name[8] / 16)) + // Does player not have National Dex + do { - unk = 0; - } + if (!(player->progressFlags & 0xF)) + canTradeAnyMon = FALSE; + + if (versions && (player->progressFlags / 16)) + canTradeAnyMon = FALSE; + } while (0); } - if (unk == 0) + if (canTradeAnyMon == FALSE) { if (!IsSpeciesInHoennDex(speciesArray[monIdx])) - { - return 2; - } + return CANT_TRADE_NATIONAL; if (speciesArray[monIdx] == SPECIES_NONE) - { - return 3; - } + return CANT_TRADE_EGG_YET; } - unk2 = 0; + numMonsLeft = 0; for (i = 0; i < gPlayerPartyCount; i++) { if (monIdx != i) { - unk2 += speciesArray[i]; + numMonsLeft += speciesArray[i]; } } - if (!unk2) - { - return 1; - } + if (!numMonsLeft) + return CANT_TRADE_LAST_MON; else - { - return 0; - } + return CAN_TRADE_MON; } -#else -NAKED -int sub_807A918(struct Pokemon *mon, u16 a1) -{ - asm_unified("push {r4-r7,lr}\n\ - mov r7, r8\n\ - push {r7}\n\ - sub sp, 0x18\n\ - adds r6, r0, 0\n\ - lsls r1, 16\n\ - lsrs r1, 16\n\ - mov r8, r1\n\ - movs r5, 0\n\ - ldr r0, =gPlayerPartyCount\n\ - ldrb r0, [r0]\n\ - cmp r5, r0\n\ - bge _0807A95A\n\ - mov r4, sp\n\ -_0807A934:\n\ - movs r0, 0x64\n\ - muls r0, r5\n\ - adds r0, r6, r0\n\ - movs r1, 0x41\n\ - bl GetMonData\n\ - str r0, [r4]\n\ - movs r1, 0xCE\n\ - lsls r1, 1\n\ - cmp r0, r1\n\ - bne _0807A94E\n\ - movs r0, 0\n\ - str r0, [r4]\n\ -_0807A94E:\n\ - adds r4, 0x4\n\ - adds r5, 0x1\n\ - ldr r0, =gPlayerPartyCount\n\ - ldrb r0, [r0]\n\ - cmp r5, r0\n\ - blt _0807A934\n\ -_0807A95A:\n\ - movs r7, 0\n\ - movs r6, 0x1\n\ - movs r5, 0\n\ - ldr r4, =gLinkPlayers\n\ - b _0807A980\n\ - .pool\n\ -_0807A96C:\n\ - ldrb r0, [r4]\n\ - subs r0, 0x4\n\ - cmp r0, 0x1\n\ - bhi _0807A978\n\ - movs r7, 0\n\ - b _0807A97C\n\ -_0807A978:\n\ - movs r0, 0x1\n\ - orrs r7, r0\n\ -_0807A97C:\n\ - adds r4, 0x1C\n\ - adds r5, 0x1\n\ -_0807A980:\n\ - bl GetLinkPlayerCount\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r5, r0\n\ - blt _0807A96C\n\ - movs r5, 0\n\ - movs r4, 0\n\ - b _0807A9B4\n\ -_0807A992:\n\ - ldr r0, =gLinkPlayers\n\ - adds r2, r4, r0\n\ - ldrb r1, [r2, 0x10]\n\ - movs r0, 0xF\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0807A9A2\n\ - movs r6, 0\n\ -_0807A9A2:\n\ - cmp r7, 0\n\ - beq _0807A9B0\n\ - ldrb r0, [r2, 0x10]\n\ - lsrs r0, 4\n\ - cmp r0, 0\n\ - beq _0807A9B0\n\ - movs r6, 0\n\ -_0807A9B0:\n\ - adds r4, 0x1C\n\ - adds r5, 0x1\n\ -_0807A9B4:\n\ - bl GetLinkPlayerCount\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r5, r0\n\ - blt _0807A992\n\ - cmp r6, 0\n\ - bne _0807A9EA\n\ - mov r1, r8\n\ - lsls r0, r1, 2\n\ - mov r1, sp\n\ - adds r4, r1, r0\n\ - ldrh r0, [r4]\n\ - bl IsSpeciesInHoennDex\n\ - cmp r0, 0\n\ - bne _0807A9E0\n\ - movs r0, 0x2\n\ - b _0807AA1A\n\ - .pool\n\ -_0807A9E0:\n\ - ldr r0, [r4]\n\ - cmp r0, 0\n\ - bne _0807A9EA\n\ - movs r0, 0x3\n\ - b _0807AA1A\n\ -_0807A9EA:\n\ - movs r2, 0\n\ - movs r5, 0\n\ - ldr r0, =gPlayerPartyCount\n\ - ldrb r0, [r0]\n\ - cmp r2, r0\n\ - bge _0807AA0A\n\ - adds r3, r0, 0\n\ - mov r1, sp\n\ -_0807A9FA:\n\ - cmp r8, r5\n\ - beq _0807AA02\n\ - ldr r0, [r1]\n\ - adds r2, r0\n\ -_0807AA02:\n\ - adds r1, 0x4\n\ - adds r5, 0x1\n\ - cmp r5, r3\n\ - blt _0807A9FA\n\ -_0807AA0A:\n\ - cmp r2, 0\n\ - beq _0807AA18\n\ - movs r0, 0\n\ - b _0807AA1A\n\ - .pool\n\ -_0807AA18:\n\ - movs r0, 0x1\n\ -_0807AA1A:\n\ - add sp, 0x18\n\ - pop {r3}\n\ - mov r8, r3\n\ - pop {r4-r7}\n\ - pop {r1}\n\ - bx r1"); -} -#endif // NONMATCHING static void sub_807AA28(struct Sprite *sprite) { @@ -4009,11 +2624,11 @@ static void sub_807AB04(struct Sprite *sprite) } } -static void sub_807AB28(void) +static void SetTradeBGAffine(void) { struct BgAffineDstData affine; - DoBgAffineSet(&affine, gUnknown_020322A0->unk_D4 * 0x100, gUnknown_020322A0->unk_D6 * 0x100, gUnknown_020322A0->unk_DC, gUnknown_020322A0->unk_DE, gUnknown_020322A0->unk_E8, gUnknown_020322A0->unk_E8, gUnknown_020322A0->unk_EC); + DoBgAffineSet(&affine, sTradeData->texX * 0x100, sTradeData->texY * 0x100, sTradeData->scrX, sTradeData->scrY, sTradeData->sXY, sTradeData->sXY, sTradeData->alpha); SetGpuReg(REG_OFFSET_BG2PA, affine.pa); SetGpuReg(REG_OFFSET_BG2PB, affine.pb); SetGpuReg(REG_OFFSET_BG2PC, affine.pc); @@ -4024,233 +2639,233 @@ static void sub_807AB28(void) SetGpuReg(REG_OFFSET_BG2Y_H, affine.dy >> 16); } -static void sub_807ABCC(void) +static void SetTradeGpuRegs(void) { u16 dispcnt; - SetGpuReg(REG_OFFSET_BG1VOFS, gUnknown_020322A0->bg1vofs); - SetGpuReg(REG_OFFSET_BG1HOFS, gUnknown_020322A0->bg1hofs); + SetGpuReg(REG_OFFSET_BG1VOFS, sTradeData->bg1vofs); + SetGpuReg(REG_OFFSET_BG1HOFS, sTradeData->bg1hofs); dispcnt = GetGpuReg(REG_OFFSET_DISPCNT); if ((dispcnt & 7) == DISPCNT_MODE_0) { - SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_020322A0->bg2vofs); - SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_020322A0->bg2hofs); + SetGpuReg(REG_OFFSET_BG2VOFS, sTradeData->bg2vofs); + SetGpuReg(REG_OFFSET_BG2HOFS, sTradeData->bg2hofs); } else { - sub_807AB28(); + SetTradeBGAffine(); } } -static void sub_807AC24(void) +static void VBlankCB_Trade(void) { - sub_807ABCC(); + SetTradeGpuRegs(); LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -static void sub_807AC3C(void) +static void ClearLinkTimeoutCounter(void) { - gUnknown_020322A0->unk_8A = 0; - gUnknown_020322A0->unk_88 = 0; - gUnknown_020322A0->unk_89 = 0; + sTradeData->linkTimeoutCounter = 0; + sTradeData->alwaysZero_88 = 0; + sTradeData->alwaysZero_89 = 0; } -static void sub_807AC64(void) +static void CheckForLinkTimeout(void) { - if (gUnknown_020322A0->unk_88 == gUnknown_020322A0->unk_89) - gUnknown_020322A0->unk_8A++; + if (sTradeData->alwaysZero_88 == sTradeData->alwaysZero_89) + sTradeData->linkTimeoutCounter++; else - gUnknown_020322A0->unk_8A = 0; + sTradeData->linkTimeoutCounter = 0; - if (gUnknown_020322A0->unk_8A > 300) + if (sTradeData->linkTimeoutCounter > LINK_TRADE_TIMEOUT) { CloseLink(); SetMainCallback2(CB2_LinkError); - gUnknown_020322A0->unk_8A = 0; - gUnknown_020322A0->unk_89 = 0; - gUnknown_020322A0->unk_88 = 0; + sTradeData->linkTimeoutCounter = 0; + sTradeData->alwaysZero_89 = 0; + sTradeData->alwaysZero_88 = 0; } - gUnknown_020322A0->unk_89 = gUnknown_020322A0->unk_88; + sTradeData->alwaysZero_89 = sTradeData->alwaysZero_88; } -static u32 sub_807ACDC(void) +static u32 TradeGetMultiplayerId(void) { if (gReceivedRemoteLinkPlayers) return GetMultiplayerId(); return 0; } -static void sub_807ACFC(u8 whichParty, u8 a1) +static void LoadTradeMonPic(u8 whichParty, u8 state) { int pos = 0; struct Pokemon *mon = NULL; u16 species; u32 personality; - if (whichParty == 0) + if (whichParty == TRADE_PLAYER) { - mon = &gPlayerParty[gUnknown_02032298[0]]; - pos = 1; + mon = &gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]]; + pos = B_POSITION_OPPONENT_LEFT; } - if (whichParty == 1) + if (whichParty == TRADE_PARTNER) { - mon = &gEnemyParty[gUnknown_02032298[1] % PARTY_SIZE]; - pos = 3; + mon = &gEnemyParty[gSelectedTradeMonPositions[TRADE_PARTNER] % PARTY_SIZE]; + pos = B_POSITION_OPPONENT_RIGHT; } - switch (a1) + switch (state) { - case 0: - species = GetMonData(mon, MON_DATA_SPECIES2); - personality = GetMonData(mon, MON_DATA_PERSONALITY); + case 0: + species = GetMonData(mon, MON_DATA_SPECIES2); + personality = GetMonData(mon, MON_DATA_PERSONALITY); - if (whichParty == 0) - HandleLoadSpecialPokePic_2(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[1], species, personality); - else - HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[whichParty * 2 + 1], species, personality); + if (whichParty == TRADE_PLAYER) + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[1], species, personality); + else + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[whichParty * 2 + 1], species, personality); - LoadCompressedSpritePalette(GetMonSpritePalStruct(mon)); - gUnknown_020322A0->tradeSpecies[whichParty] = species; - gUnknown_020322A0->unk_68[whichParty] = personality; - break; - case 1: - SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, pos); - gUnknown_020322A0->pokePicSpriteIdxs[whichParty] = CreateSprite(&gMultiuseSpriteTemplate, 120, 60, 6); - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[whichParty]].invisible = TRUE; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[whichParty]].callback = SpriteCallbackDummy; - break; + LoadCompressedSpritePalette(GetMonSpritePalStruct(mon)); + sTradeData->monSpecies[whichParty] = species; + sTradeData->monPersonalities[whichParty] = personality; + break; + case 1: + SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, pos); + sTradeData->pokePicSpriteIdxs[whichParty] = CreateSprite(&gMultiuseSpriteTemplate, 120, 60, 6); + gSprites[sTradeData->pokePicSpriteIdxs[whichParty]].invisible = TRUE; + gSprites[sTradeData->pokePicSpriteIdxs[whichParty]].callback = SpriteCallbackDummy; + break; } } -void sub_807AE50(void) +void CB2_LinkTrade(void) { switch (gMain.state) { - case 0: - if (!gReceivedRemoteLinkPlayers) - { - gLinkType = 0x1144; - CloseLink(); - } - gUnknown_020322A0 = AllocZeroed(sizeof(*gUnknown_020322A0)); - AllocateMonSpritesGfx(); - ResetTasks(); - ResetSpriteData(); - FreeAllSpritePalettes(); - SetVBlankCallback(sub_807AC24); - sub_807B170(); - sub_807AC3C(); + case 0: + if (!gReceivedRemoteLinkPlayers) + { + gLinkType = LINKTYPE_0x1144; + CloseLink(); + } + sTradeData = AllocZeroed(sizeof(*sTradeData)); + AllocateMonSpritesGfx(); + ResetTasks(); + ResetSpriteData(); + FreeAllSpritePalettes(); + SetVBlankCallback(VBlankCB_Trade); + InitTradeBgInternal(); + ClearLinkTimeoutCounter(); + gMain.state++; + sTradeData->neverRead_8C = 0; + sTradeData->state = 0; + sTradeData->isLinkTrade = TRUE; + sTradeData->texX = 64; + sTradeData->texY = 64; + sTradeData->neverRead_D8 = 0; + sTradeData->neverRead_DA = 0; + sTradeData->scrX = 120; + sTradeData->scrY = 80; + sTradeData->sXY = 256; + sTradeData->alpha = 0; + break; + case 1: + if (!gReceivedRemoteLinkPlayers) + { + sTradeData->isCableTrade = TRUE; + OpenLink(); gMain.state++; - gUnknown_020322A0->unk_8C = 0; - gUnknown_020322A0->state = 0; - gUnknown_020322A0->isLinkTrade = TRUE; - gUnknown_020322A0->unk_D4 = 64; - gUnknown_020322A0->unk_D6 = 64; - gUnknown_020322A0->unk_D8 = 0; - gUnknown_020322A0->unk_DA = 0; - gUnknown_020322A0->unk_DC = 120; - gUnknown_020322A0->unk_DE = 80; - gUnknown_020322A0->unk_E8 = 256; - gUnknown_020322A0->unk_EC = 0; - break; - case 1: - if (!gReceivedRemoteLinkPlayers) + sTradeData->timer = 0; + } + else + { + gMain.state = 4; + } + break; + case 2: + if (++sTradeData->timer > 60) + { + sTradeData->timer = 0; + gMain.state++; + } + break; + case 3: + if (IsLinkMaster()) + { + if (GetLinkPlayerCount_2() >= GetSavedPlayerCount()) { - gUnknown_020322A0->unk_FA = 1; - OpenLink(); - gMain.state++; - gUnknown_020322A0->timer = 0; - } - else - { - gMain.state = 4; - } - break; - case 2: - if (++gUnknown_020322A0->timer > 60) - { - gUnknown_020322A0->timer = 0; - gMain.state++; - } - break; - case 3: - if (IsLinkMaster()) - { - if (GetLinkPlayerCount_2() >= GetSavedPlayerCount()) + if (++sTradeData->timer > 30) { - if (++gUnknown_020322A0->timer > 30) - { - CheckShouldAdvanceLinkState(); - gMain.state++; - } - } - else - { - sub_807AC64(); + CheckShouldAdvanceLinkState(); + gMain.state++; } } else { - gMain.state++; + CheckForLinkTimeout(); } - break; - case 4: - sub_807AC64(); - if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE) - gMain.state++; - break; - case 5: - gUnknown_020322A0->unk_72 = 0; - gUnknown_020322A0->unk_73 = 0; - gUnknown_020322A0->unk_93 = 0; - sub_807ACFC(0, 0); + } + else + { gMain.state++; - break; - case 6: - sub_807ACFC(0, 1); + } + break; + case 4: + CheckForLinkTimeout(); + if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE) gMain.state++; - break; - case 7: - sub_807ACFC(1, 0); - gMain.state++; - break; - case 8: - sub_807ACFC(1, 1); - sub_807B154(); - gMain.state++; - break; - case 9: - sub_807BA94(); - LoadSpriteSheet(&gUnknown_08338D18); - LoadSpritePalette(&gUnknown_08338D20); - gMain.state++; - break; - case 10: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); - ShowBg(0); - gMain.state++; - break; - case 11: - sub_807B140(); - SetTradeSceneStrings(); - gMain.state++; - break; - case 12: - if (!gPaletteFade.active) + break; + case 5: + sTradeData->playerLinkFlagFinishTrade = 0; + sTradeData->partnerLinkFlagFinishTrade = 0; + sTradeData->sendTradeFinishState = 0; + LoadTradeMonPic(TRADE_PLAYER, 0); + gMain.state++; + break; + case 6: + LoadTradeMonPic(TRADE_PLAYER, 1); + gMain.state++; + break; + case 7: + LoadTradeMonPic(TRADE_PARTNER, 0); + gMain.state++; + break; + case 8: + LoadTradeMonPic(TRADE_PARTNER, 1); + LinkTradeDrawWindow(); + gMain.state++; + break; + case 9: + LoadTradeSequenceSpriteSheetsAndPalettes(); + LoadSpriteSheet(&sPokeBallSpriteSheet); + LoadSpritePalette(&sPokeBallSpritePalette); + gMain.state++; + break; + case 10: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + ShowBg(0); + gMain.state++; + break; + case 11: + InitTradeSequenceBgGpuRegs(); + BufferTradeSceneStrings(); + gMain.state++; + break; + case 12: + if (!gPaletteFade.active) + { + if (gWirelessCommType) { - if (gWirelessCommType) - { - LoadWirelessStatusIndicatorSpriteGfx(); - CreateWirelessStatusIndicatorSprite(0, 0); - } - SetMainCallback2(sub_807EA2C); + LoadWirelessStatusIndicatorSpriteGfx(); + CreateWirelessStatusIndicatorSprite(0, 0); } - break; + SetMainCallback2(CB2_UpdateLinkTrade); + } + break; } RunTasks(); RunTextPrinters(); @@ -4259,24 +2874,24 @@ void sub_807AE50(void) UpdatePaletteFade(); } -void sub_807B140(void) +void InitTradeSequenceBgGpuRegs(void) { - sub_807B62C(5); - sub_807B62C(0); + SetTradeSequenceBgGpuRegs(5); + SetTradeSequenceBgGpuRegs(0); } -void sub_807B154(void) +void LinkTradeDrawWindow(void) { FillWindowPixelBuffer(0, PIXEL_FILL(15)); PutWindowTilemap(0); CopyWindowToVram(0, 3); } -static void sub_807B170(void) +static void InitTradeBgInternal(void) { SetGpuReg(REG_OFFSET_DISPCNT, 0); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_08339014, ARRAY_COUNT(gUnknown_08339014)); + InitBgsFromTemplates(0, sTradeSequenceBgTemplates, ARRAY_COUNT(sTradeSequenceBgTemplates)); ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); SetBgTilemapBuffer(0, Alloc(0x800)); @@ -4287,88 +2902,87 @@ static void sub_807B170(void) LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); CopyToBgTilemapBuffer(0, gDecompressionBuffer, 0x800, 0); LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20); - InitWindows(gUnknown_08338FFC); + InitWindows(sTradeSequenceWindowTemplates); DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); CopyToBgTilemapBuffer(0, gDecompressionBuffer, 0x800, 0); LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20); } -// In-game trade init -static void sub_807B270(void) +static void CB2_InGameTrade(void) { u8 otName[11]; switch (gMain.state) { - case 0: - gUnknown_02032298[0] = gSpecialVar_0x8005; - gUnknown_02032298[1] = 6; - StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName); - GetMonData(&gEnemyParty[0], MON_DATA_OT_NAME, otName); - StringCopy(gLinkPlayers[1].name, otName); - gLinkPlayers[0].language = LANGUAGE_ENGLISH; - gLinkPlayers[1].language = GetMonData(&gEnemyParty[0], MON_DATA_LANGUAGE); - gUnknown_020322A0 = AllocZeroed(sizeof(*gUnknown_020322A0)); - AllocateMonSpritesGfx(); - ResetTasks(); - ResetSpriteData(); - FreeAllSpritePalettes(); - SetVBlankCallback(sub_807AC24); - sub_807B170(); - gUnknown_020322A0->isLinkTrade = FALSE; - gUnknown_020322A0->unk_8C = 0; - gUnknown_020322A0->state = 0; - gUnknown_020322A0->unk_D4 = 64; - gUnknown_020322A0->unk_D6 = 64; - gUnknown_020322A0->unk_D8 = 0; - gUnknown_020322A0->unk_DA = 0; - gUnknown_020322A0->unk_DC = 120; - gUnknown_020322A0->unk_DE = 80; - gUnknown_020322A0->unk_E8 = 256; - gUnknown_020322A0->unk_EC = 0; - gUnknown_020322A0->timer = 0; - gMain.state = 5; - break; - case 5: - sub_807ACFC(0, 0); - gMain.state++; - break; - case 6: - sub_807ACFC(0, 1); - gMain.state++; - break; - case 7: - sub_807ACFC(1, 0); - ShowBg(0); - gMain.state++; - break; - case 8: - sub_807ACFC(1, 1); - FillWindowPixelBuffer(0, PIXEL_FILL(15)); - PutWindowTilemap(0); - CopyWindowToVram(0, 3); - gMain.state++; - break; - case 9: - sub_807BA94(); - LoadSpriteSheet(&gUnknown_08338D18); - LoadSpritePalette(&gUnknown_08338D20); - gMain.state++; - break; - case 10: - ShowBg(0); - gMain.state++; - break; - case 11: - sub_807B62C(5); - sub_807B62C(0); - SetTradeSceneStrings(); - gMain.state++; - break; - case 12: - SetMainCallback2(sub_807B60C); - break; + case 0: + gSelectedTradeMonPositions[TRADE_PLAYER] = gSpecialVar_0x8005; + gSelectedTradeMonPositions[TRADE_PARTNER] = PARTY_SIZE; + StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName); + GetMonData(&gEnemyParty[0], MON_DATA_OT_NAME, otName); + StringCopy(gLinkPlayers[1].name, otName); + gLinkPlayers[0].language = LANGUAGE_ENGLISH; + gLinkPlayers[1].language = GetMonData(&gEnemyParty[0], MON_DATA_LANGUAGE); + sTradeData = AllocZeroed(sizeof(*sTradeData)); + AllocateMonSpritesGfx(); + ResetTasks(); + ResetSpriteData(); + FreeAllSpritePalettes(); + SetVBlankCallback(VBlankCB_Trade); + InitTradeBgInternal(); + sTradeData->isLinkTrade = FALSE; + sTradeData->neverRead_8C = 0; + sTradeData->state = 0; + sTradeData->texX = 64; + sTradeData->texY = 64; + sTradeData->neverRead_D8 = 0; + sTradeData->neverRead_DA = 0; + sTradeData->scrX = 120; + sTradeData->scrY = 80; + sTradeData->sXY = 256; + sTradeData->alpha = 0; + sTradeData->timer = 0; + gMain.state = 5; + break; + case 5: + LoadTradeMonPic(TRADE_PLAYER, 0); + gMain.state++; + break; + case 6: + LoadTradeMonPic(TRADE_PLAYER, 1); + gMain.state++; + break; + case 7: + LoadTradeMonPic(TRADE_PARTNER, 0); + ShowBg(0); + gMain.state++; + break; + case 8: + LoadTradeMonPic(TRADE_PARTNER, 1); + FillWindowPixelBuffer(0, PIXEL_FILL(15)); + PutWindowTilemap(0); + CopyWindowToVram(0, 3); + gMain.state++; + break; + case 9: + LoadTradeSequenceSpriteSheetsAndPalettes(); + LoadSpriteSheet(&sPokeBallSpriteSheet); + LoadSpritePalette(&sPokeBallSpritePalette); + gMain.state++; + break; + case 10: + ShowBg(0); + gMain.state++; + break; + case 11: + SetTradeSequenceBgGpuRegs(5); + SetTradeSequenceBgGpuRegs(0); + BufferTradeSceneStrings(); + gMain.state++; + break; + case 12: + SetMainCallback2(CB2_UpdateInGameTrade); + break; } RunTasks(); @@ -4378,7 +2992,7 @@ static void sub_807B270(void) UpdatePaletteFade(); } -static void sub_807B464(u8 partyIdx) +static void UpdatePokedexForReceivedMon(u8 partyIdx) { struct Pokemon *mon = &gPlayerParty[partyIdx]; @@ -4392,7 +3006,8 @@ static void sub_807B464(u8 partyIdx) } } -static void sub_807B4C4(void) +// Functionally nop after commented code +static void TryEnableNationalDexFromLinkPartner(void) { u8 mpId = GetMultiplayerId(); // Originally in Ruby but commented out @@ -4400,56 +3015,55 @@ static void sub_807B4C4(void) EnableNationalPokedex();*/ } -static void sub_807B4D0(u8 a0, u8 a1) +static void TradeMons(u8 playerPartyIdx, u8 partnerPartyIdx) { u8 friendship; - struct Pokemon *playerMon = &gPlayerParty[a0]; + struct Pokemon *playerMon = &gPlayerParty[playerPartyIdx]; u16 playerMail = GetMonData(playerMon, MON_DATA_MAIL); - struct Pokemon *partnerMon = &gEnemyParty[a1]; + struct Pokemon *partnerMon = &gEnemyParty[partnerPartyIdx]; u16 partnerMail = GetMonData(partnerMon, MON_DATA_MAIL); if (playerMail != 0xFF) ClearMailStruct(&gSaveBlock1Ptr->mail[playerMail]); - // This is where the actual trade happens!! - gUnknown_020322A0->mon = *playerMon; + sTradeData->mon = *playerMon; *playerMon = *partnerMon; - *partnerMon = gUnknown_020322A0->mon; + *partnerMon = sTradeData->mon; friendship = 70; if (!GetMonData(playerMon, MON_DATA_IS_EGG)) SetMonData(playerMon, MON_DATA_FRIENDSHIP, &friendship); if (partnerMail != 0xFF) - GiveMailToMon2(playerMon, &gUnknown_020321C0[partnerMail]); + GiveMailToMon2(playerMon, &gTradeMail[partnerMail]); - sub_807B464(a0); + UpdatePokedexForReceivedMon(playerPartyIdx); if (gReceivedRemoteLinkPlayers) - sub_807B4C4(); + TryEnableNationalDexFromLinkPartner(); } -static void sub_807B5B8(void) +static void TrySendTradeFinishData(void) { - switch (gUnknown_020322A0->unk_93) + switch (sTradeData->sendTradeFinishState) { - case 1: - if (IsLinkTaskFinished()) - { - Trade_SendData(gUnknown_020322A0); - gUnknown_020322A0->unk_93++; - } - // fallthrough - case 2: - gUnknown_020322A0->unk_93 = 0; - break; + case 1: + if (IsLinkTaskFinished()) + { + Trade_SendData(sTradeData); + sTradeData->sendTradeFinishState++; + } + // fallthrough + case 2: + sTradeData->sendTradeFinishState = 0; + break; } } -static void sub_807B60C(void) +static void CB2_UpdateInGameTrade(void) { - sub_807BBC8(); + AnimateTradeSequence(); RunTasks(); RunTextPrinters(); AnimateSprites(); @@ -4457,1244 +3071,1238 @@ static void sub_807B60C(void) UpdatePaletteFade(); } -static void sub_807B62C(u8 a0) +static void SetTradeSequenceBgGpuRegs(u8 state) { - switch (a0) + switch (state) { - case 0: - gUnknown_020322A0->bg2vofs = 0; - gUnknown_020322A0->bg2hofs = 180; - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG0_ON | - DISPCNT_BG2_ON | - DISPCNT_OBJ_ON); - SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | - BGCNT_CHARBASE(1) | - BGCNT_16COLOR | - BGCNT_SCREENBASE(18) | - BGCNT_TXT512x256); - LoadPalette(gTradeGba2_Pal, 16, 0x60); - DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); - DmaCopy16Defvars(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000); - break; - case 1: - gUnknown_020322A0->bg1hofs = 0; - gUnknown_020322A0->bg1vofs = 348; - SetGpuReg(REG_OFFSET_BG1VOFS, 348); - SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(2) | - BGCNT_CHARBASE(0) | - BGCNT_16COLOR | - BGCNT_SCREENBASE(5) | - BGCNT_TXT256x512); - SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | - BGCNT_CHARBASE(1) | - BGCNT_16COLOR | - BGCNT_SCREENBASE(18) | - BGCNT_TXT256x512); + case 0: + sTradeData->bg2vofs = 0; + sTradeData->bg2hofs = 180; + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG0_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | + BGCNT_CHARBASE(1) | + BGCNT_16COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_TXT512x256); + LoadPalette(gTradeGba2_Pal, 16, 0x60); + DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); + DmaCopy16Defvars(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000); + break; + case 1: + sTradeData->bg1hofs = 0; + sTradeData->bg1vofs = 348; + SetGpuReg(REG_OFFSET_BG1VOFS, 348); + SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(2) | + BGCNT_CHARBASE(0) | + BGCNT_16COLOR | + BGCNT_SCREENBASE(5) | + BGCNT_TXT256x512); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | + BGCNT_CHARBASE(1) | + BGCNT_16COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_TXT256x512); - if (gUnknown_020322A0->unk_FA) - { - DmaCopy16Defvars(3, gUnknown_083369A0, (void *) BG_SCREEN_ADDR(5), 0x1000); - } - else - { - DmaCopy16Defvars(3, gUnknown_083359A0, (void *) BG_SCREEN_ADDR(5), 0x1000); - } + if (sTradeData->isCableTrade) + { + DmaCopy16Defvars(3, sTradeTilemap_GbaCable, (void *) BG_SCREEN_ADDR(5), 0x1000); + } + else + { + DmaCopy16Defvars(3, sTradeTilemap_GbaWireless, (void *) BG_SCREEN_ADDR(5), 0x1000); + } - DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(0), 0x1420, 0x1000); - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(0), 0x1420, 0x1000); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + break; + case 2: + sTradeData->bg1vofs = 0; + sTradeData->bg1hofs = 0; + if (!sTradeData->isCableTrade) + { + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON); - break; - case 2: - gUnknown_020322A0->bg1vofs = 0; - gUnknown_020322A0->bg1hofs = 0; - if (!gUnknown_020322A0->unk_FA) - { - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG1_ON | - DISPCNT_OBJ_ON); - LZ77UnCompVram(gUnknown_083379A0, (void *) BG_SCREEN_ADDR(5)); - BlendPalettes(0x8, 16, RGB_BLACK); - } - else - { - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG1_ON | - DISPCNT_OBJ_ON); - DmaCopy16Defvars(3, gUnknown_0832FFC0, (void *) BG_SCREEN_ADDR(5), 0x800); - BlendPalettes(0x1, 16, RGB_BLACK); - } - break; - case 3: - LoadPalette(gUnknown_08337EA0, 48, 0x20); - LZ77UnCompVram(gUnknown_08337EC0, (void *) BG_CHAR_ADDR(1)); - LZ77UnCompVram(gUnknown_08338550, (void *) BG_SCREEN_ADDR(18)); - gUnknown_020322A0->bg2vofs = 80; - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + LZ77UnCompVram(gUnknown_083379A0, (void *) BG_SCREEN_ADDR(5)); + BlendPalettes(0x8, 16, RGB_BLACK); + } + else + { + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | - DISPCNT_BG2_ON | DISPCNT_OBJ_ON); - break; - case 4: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG2_ON | - DISPCNT_OBJ_ON); - SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) | - BGCNT_CHARBASE(1) | - BGCNT_256COLOR | - BGCNT_SCREENBASE(18) | - BGCNT_AFF128x128); - gUnknown_020322A0->unk_D4 = 64; - gUnknown_020322A0->unk_D6 = 92; - gUnknown_020322A0->unk_E8 = 32; - gUnknown_020322A0->unk_EA = 1024; - gUnknown_020322A0->unk_EC = 0; + DmaCopy16Defvars(3, sTradeTilemap_Cable, (void *) BG_SCREEN_ADDR(5), 0x800); + BlendPalettes(0x1, 16, RGB_BLACK); + } + break; + case 3: + LoadPalette(sTradePal_Black, 48, 0x20); + LZ77UnCompVram(sTradeGfx_WirelessSignal, (void *) BG_CHAR_ADDR(1)); + LZ77UnCompVram(sTradeTilemap_WirelessSignal, (void *) BG_SCREEN_ADDR(18)); + sTradeData->bg2vofs = 80; + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + break; + case 4: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) | + BGCNT_CHARBASE(1) | + BGCNT_256COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_AFF128x128); + sTradeData->texX = 64; + sTradeData->texY = 92; + sTradeData->sXY = 32; + sTradeData->unk_EA = 1024; + sTradeData->alpha = 0; - DmaCopyLarge16(3, gUnknown_08332F60, (void *) BG_CHAR_ADDR(1), 0x2840, 0x1000); + DmaCopyLarge16(3, sTradeAffine_Gba, (void *) BG_CHAR_ADDR(1), 0x2840, 0x1000); - if (gUnknown_020322A0->unk_FA) - { - DmaCopy16Defvars(3, gUnknown_083357A0, (void *) BG_SCREEN_ADDR(18), 0x100); - } - else - { - DmaCopy16Defvars(3, gUnknown_083358A0, (void *) BG_SCREEN_ADDR(18), 0x100); - } - break; - case 5: - gUnknown_020322A0->bg1vofs = 0; - gUnknown_020322A0->bg1hofs = 0; - break; - case 6: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG2_ON | - DISPCNT_OBJ_ON); - SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) | - BGCNT_CHARBASE(1) | - BGCNT_256COLOR | - BGCNT_SCREENBASE(18) | - BGCNT_AFF128x128); - gUnknown_020322A0->unk_D4 = 64; - gUnknown_020322A0->unk_D6 = 92; - gUnknown_020322A0->unk_E8 = 256; - gUnknown_020322A0->unk_EA = 128; - gUnknown_020322A0->unk_DC = 120; - gUnknown_020322A0->unk_DE = 80; - gUnknown_020322A0->unk_EC = 0; + if (sTradeData->isCableTrade) + { + DmaCopy16Defvars(3, sTradeAffineMap_GbaCable, (void *) BG_SCREEN_ADDR(18), 0x100); + } + else + { + DmaCopy16Defvars(3, sTradeAffineMap_GbaWireless, (void *) BG_SCREEN_ADDR(18), 0x100); + } + break; + case 5: + sTradeData->bg1vofs = 0; + sTradeData->bg1hofs = 0; + break; + case 6: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) | + BGCNT_CHARBASE(1) | + BGCNT_256COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_AFF128x128); + sTradeData->texX = 64; + sTradeData->texY = 92; + sTradeData->sXY = 256; + sTradeData->unk_EA = 128; + sTradeData->scrX = 120; + sTradeData->scrY = 80; + sTradeData->alpha = 0; - DmaCopyLarge16(3, gUnknown_08332F60, (void *) BG_CHAR_ADDR(1), 0x2840, 0x1000); + DmaCopyLarge16(3, sTradeAffine_Gba, (void *) BG_CHAR_ADDR(1), 0x2840, 0x1000); - if (gUnknown_020322A0->unk_FA) - { - DmaCopy16Defvars(3, gUnknown_083357A0, (void *) BG_SCREEN_ADDR(18), 0x100); - } - else - { - DmaCopy16Defvars(3, gUnknown_083358A0, (void *) BG_SCREEN_ADDR(18), 0x100); - } - break; - case 7: - gUnknown_020322A0->bg2vofs = 0; - gUnknown_020322A0->bg2hofs = 0; - SetGpuReg(REG_OFFSET_BLDCNT, 0); - SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | - BGCNT_CHARBASE(1) | - BGCNT_16COLOR | - BGCNT_SCREENBASE(18) | - BGCNT_TXT512x256); - LoadPalette(gTradeGba2_Pal, 16, 0x60); - DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); - DmaCopy16Defvars(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000); - break; + if (sTradeData->isCableTrade) + { + DmaCopy16Defvars(3, sTradeAffineMap_GbaCable, (void *) BG_SCREEN_ADDR(18), 0x100); + } + else + { + DmaCopy16Defvars(3, sTradeAffineMap_GbaWireless, (void *) BG_SCREEN_ADDR(18), 0x100); + } + break; + case 7: + sTradeData->bg2vofs = 0; + sTradeData->bg2hofs = 0; + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | + BGCNT_CHARBASE(1) | + BGCNT_16COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_TXT512x256); + LoadPalette(gTradeGba2_Pal, 16, 0x60); + DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); + DmaCopy16Defvars(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000); + break; } } -static void sub_807BA94(void) +static void LoadTradeSequenceSpriteSheetsAndPalettes(void) { - LoadSpriteSheet(&gUnknown_08338D70); - LoadSpriteSheet(&gUnknown_08338DC0); - LoadSpriteSheet(&gUnknown_08338DF4); - LoadSpriteSheet(&gUnknown_08338E6C); - LoadSpritePalette(&gUnknown_08338D78); - LoadSpritePalette(&gUnknown_08338D80); + LoadSpriteSheet(&sGlow1SpriteSheet); + LoadSpriteSheet(&sGlow2SpriteSheet); + LoadSpriteSheet(&sCableEndSpriteSheet); + LoadSpriteSheet(&sGbaScreenSpriteSheet); + LoadSpritePalette(&sMiscTradeSpritePalette); + LoadSpritePalette(&sGbaSpritePalette); } -static void SetTradeSceneStrings(void) +// Buffers "[Pokemon] will be sent to [Trainer]" strings +static void BufferTradeSceneStrings(void) { - /*Sets the variable strings printed on the - *actual trading screen. For use in strings - *like "[Pokemon] will be sent to [Trainer]." - */ u8 mpId; u8 name[20]; const struct InGameTrade *ingameTrade; - if (gUnknown_020322A0->isLinkTrade) + if (sTradeData->isLinkTrade) { mpId = GetMultiplayerId(); StringCopy(gStringVar1, gLinkPlayers[mpId ^ 1].name); - GetMonData(&gEnemyParty[gUnknown_02032298[1] % PARTY_SIZE], MON_DATA_NICKNAME, name); + GetMonData(&gEnemyParty[gSelectedTradeMonPositions[TRADE_PARTNER] % PARTY_SIZE], MON_DATA_NICKNAME, name); StringCopy10(gStringVar3, name); - GetMonData(&gPlayerParty[gUnknown_02032298[0]], MON_DATA_NICKNAME, name); + GetMonData(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], MON_DATA_NICKNAME, name); StringCopy10(gStringVar2, name); } else { - ingameTrade = &gIngameTrades[gSpecialVar_0x8004]; + ingameTrade = &sIngameTrades[gSpecialVar_0x8004]; StringCopy(gStringVar1, ingameTrade->otName); - StringCopy10(gStringVar3, ingameTrade->name); + StringCopy10(gStringVar3, ingameTrade->nickname); GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, name); StringCopy10(gStringVar2, name); } } -static u8 sub_807BBC8(void) +// returns TRUE if it was a link trade, FALSE if it was an in-game trade +static bool8 AnimateTradeSequence(void) { - if (gUnknown_020322A0->unk_FA) - { - return sub_807BBEC(); - } + if (sTradeData->isCableTrade) + return AnimateTradeSequenceCable(); else - { - return sub_807CFC8(); - } + return AnimateTradeSequenceWireless(); } -static bool8 sub_807BBEC(void) +static bool8 AnimateTradeSequenceCable(void) { u16 evoTarget; - switch (gUnknown_020322A0->state) + switch (sTradeData->state) { - case 0: - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = -180; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[0]].y_offset; - gUnknown_020322A0->state++; - gUnknown_020322A0->cachedMapMusic = GetCurrentMapMusic(); - PlayNewMapMusic(MUS_SHINKA); - break; - case 1: - if (gUnknown_020322A0->bg2hofs > 0) - { - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x += 3; - gUnknown_020322A0->bg2hofs -= 3; - } - else - { - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = 0; - gUnknown_020322A0->bg2hofs = 0; - gUnknown_020322A0->state = 10; - } - break; - case 10: - StringExpandPlaceholders(gStringVar4, gText_XWillBeSentToY); - sub_807F1A8(0, gStringVar4, 0); + case 0: + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = FALSE; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x = -180; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y = gMonFrontPicCoords[sTradeData->monSpecies[TRADE_PLAYER]].y_offset; + sTradeData->state++; + sTradeData->cachedMapMusic = GetCurrentMapMusic(); + PlayNewMapMusic(MUS_SHINKA); + break; + case 1: + if (sTradeData->bg2hofs > 0) + { + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x += 3; + sTradeData->bg2hofs -= 3; + } + else + { + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x = 0; + sTradeData->bg2hofs = 0; + sTradeData->state = 10; + } + break; + case 10: + StringExpandPlaceholders(gStringVar4, gText_XWillBeSentToY); + DrawTextOnTradeWindow(0, gStringVar4, 0); - if (gUnknown_020322A0->tradeSpecies[0] != SPECIES_EGG) - { - PlayCry1(gUnknown_020322A0->tradeSpecies[0], 0); - } + if (sTradeData->monSpecies[TRADE_PLAYER] != SPECIES_EGG) + { + PlayCry1(sTradeData->monSpecies[TRADE_PLAYER], 0); + } - gUnknown_020322A0->state = 11; - gUnknown_020322A0->timer = 0; - break; - case 11: - if (++gUnknown_020322A0->timer == 80) - { - gUnknown_020322A0->unk_D2 = sub_807671C(gUnknown_020322A0->pokePicSpriteIdxs[0], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff); - gUnknown_020322A0->state++; - StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1); - sub_807F1A8(0, gStringVar4, 0); - } - break; - case 12: - if (gSprites[gUnknown_020322A0->unk_D2].callback == SpriteCallbackDummy) - { - gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0); - gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E5D8; - DestroySprite(&gSprites[gUnknown_020322A0->unk_D2]); - gUnknown_020322A0->state++; - } - break; - case 13: - // The game waits here for the sprite to finish its animation sequence. - break; - case 14: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->state = 20; - break; - case 20: - if (!gPaletteFade.active) - { - sub_807B62C(4); - FillWindowPixelBuffer(0, PIXEL_FILL(15)); - CopyWindowToVram(0, 3); - gUnknown_020322A0->state++; - } - break; - case 21: - BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); - gUnknown_020322A0->state++; - break; - case 22: - if (!gPaletteFade.active) - { - gUnknown_020322A0->state = 23; - } - break; - case 23: - if (gUnknown_020322A0->unk_EA > 0x100) - { - gUnknown_020322A0->unk_EA -= 0x34; - } - else - { - sub_807B62C(1); - gUnknown_020322A0->unk_EA = 0x80; - gUnknown_020322A0->state++; - gUnknown_020322A0->timer = 0; - } - gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; - break; - case 24: - if (++gUnknown_020322A0->timer > 20) - { - sub_807AB28(); - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); - gUnknown_020322A0->state++; - } - break; - case 25: - if (gSprites[gUnknown_020322A0->unk_91].animEnded) - { - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | - BLDCNT_TGT2_BG1 | - BLDCNT_TGT2_BG2); - SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 4)); - gUnknown_020322A0->state++; - } - break; - case 26: - if (--gUnknown_020322A0->bg1vofs == 316) - { - gUnknown_020322A0->state++; - } - if (gUnknown_020322A0->bg1vofs == 328) - { - gUnknown_020322A0->unk_92 = CreateSprite(&gSpriteTemplate_8338DFC, 128, 65, 0); - } - break; - case 27: - gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 128, 80, 3); - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 128, 80, 0); - StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); - gUnknown_020322A0->state++; - break; - case 28: - if ((gUnknown_020322A0->bg1vofs -= 2) == 166) - { - gUnknown_020322A0->state = 200; - } - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG1_ON | - DISPCNT_OBJ_ON); - break; - case 200: - gSprites[gUnknown_020322A0->unk_90].pos1.y -= 2; - gSprites[gUnknown_020322A0->unk_91].pos1.y -= 2; - if (gSprites[gUnknown_020322A0->unk_90].pos1.y < -8) - { - gUnknown_020322A0->state = 29; - } - break; - case 29: - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); - gUnknown_020322A0->state = 30; - break; - case 30: - if (!gPaletteFade.active) - { - DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - sub_807B62C(2); - gUnknown_020322A0->state++; - } - break; - case 31: - BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); - gUnknown_020322A0->unk_90 = CreateSprite(&gSpriteTemplate_8338DC8, 111, 170, 0); - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 129, -10, 0); - gUnknown_020322A0->state++; - break; - case 32: - if (!gPaletteFade.active) - { - PlaySE(SE_TK_WARPOUT); - gUnknown_020322A0->state++; - } - gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; - gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; - break; - case 33: - gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; - gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; - if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -90) - { - gSprites[gUnknown_020322A0->unk_90].data[1] = 1; - gSprites[gUnknown_020322A0->unk_91].data[1] = 1; - gUnknown_020322A0->state++; - } - break; - case 34: - BlendPalettes(0x1, 16, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - break; - case 35: + sTradeData->state = 11; + sTradeData->timer = 0; + break; + case 11: + if (++sTradeData->timer == 80) + { + sTradeData->pokeballSpriteId = CreateTradePokeballSprite(sTradeData->pokePicSpriteIdxs[0], gSprites[sTradeData->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff); + sTradeData->state++; + StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1); + DrawTextOnTradeWindow(0, gStringVar4, 0); + } + break; + case 12: + if (gSprites[sTradeData->pokeballSpriteId].callback == SpriteCallbackDummy) + { + sTradeData->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0); + gSprites[sTradeData->unk_D3].callback = sub_807E5D8; + DestroySprite(&gSprites[sTradeData->pokeballSpriteId]); + sTradeData->state++; + } + break; + case 13: + // The game waits here for the sprite to finish its animation sequence. + break; + case 14: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sTradeData->state = 20; + break; + case 20: + if (!gPaletteFade.active) + { + SetTradeSequenceBgGpuRegs(4); + FillWindowPixelBuffer(0, PIXEL_FILL(15)); + CopyWindowToVram(0, 3); + sTradeData->state++; + } + break; + case 21: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + sTradeData->state++; + break; + case 22: + if (!gPaletteFade.active) + { + sTradeData->state = 23; + } + break; + case 23: + if (sTradeData->unk_EA > 0x100) + { + sTradeData->unk_EA -= 0x34; + } + else + { + SetTradeSequenceBgGpuRegs(1); + sTradeData->unk_EA = 0x80; + sTradeData->state++; + sTradeData->timer = 0; + } + sTradeData->sXY = 0x8000 / sTradeData->unk_EA; + break; + case 24: + if (++sTradeData->timer > 20) + { + SetTradeBGAffine(); + sTradeData->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); + sTradeData->state++; + } + break; + case 25: + if (gSprites[sTradeData->unk_91].animEnded) + { + DestroySprite(&gSprites[sTradeData->unk_91]); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | + BLDCNT_TGT2_BG1 | + BLDCNT_TGT2_BG2); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 4)); + sTradeData->state++; + } + break; + case 26: + if (--sTradeData->bg1vofs == 316) + { + sTradeData->state++; + } + if (sTradeData->bg1vofs == 328) + { + sTradeData->unk_92 = CreateSprite(&gSpriteTemplate_8338DFC, 128, 65, 0); + } + break; + case 27: + sTradeData->unk_90 = CreateSprite(&gUnknown_08338D88, 128, 80, 3); + sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 128, 80, 0); + StartSpriteAnim(&gSprites[sTradeData->unk_91], 1); + sTradeData->state++; + break; + case 28: + if ((sTradeData->bg1vofs -= 2) == 166) + { + sTradeData->state = 200; + } + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + break; + case 200: + gSprites[sTradeData->unk_90].pos1.y -= 2; + gSprites[sTradeData->unk_91].pos1.y -= 2; + if (gSprites[sTradeData->unk_90].pos1.y < -8) + { + sTradeData->state = 29; + } + break; + case 29: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + sTradeData->state = 30; + break; + case 30: + if (!gPaletteFade.active) + { + DestroySprite(&gSprites[sTradeData->unk_90]); + DestroySprite(&gSprites[sTradeData->unk_91]); + SetTradeSequenceBgGpuRegs(2); + sTradeData->state++; + } + break; + case 31: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + sTradeData->unk_90 = CreateSprite(&sGlowBallSpriteTemplate, 111, 170, 0); + sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 129, -10, 0); + sTradeData->state++; + break; + case 32: + if (!gPaletteFade.active) + { + PlaySE(SE_TK_WARPOUT); + sTradeData->state++; + } + gSprites[sTradeData->unk_90].pos2.y -= 3; + gSprites[sTradeData->unk_91].pos2.y += 3; + break; + case 33: + gSprites[sTradeData->unk_90].pos2.y -= 3; + gSprites[sTradeData->unk_91].pos2.y += 3; + if (gSprites[sTradeData->unk_90].pos2.y <= -90) + { + gSprites[sTradeData->unk_90].data[1] = 1; + gSprites[sTradeData->unk_91].data[1] = 1; + sTradeData->state++; + } + break; + case 34: + BlendPalettes(0x1, 16, RGB_WHITEALPHA); + sTradeData->state++; + break; + case 35: + BlendPalettes(0x1, 0, RGB_WHITEALPHA); + sTradeData->state++; + break; + case 36: + BlendPalettes(0x1, 16, RGB_WHITEALPHA); + sTradeData->state++; + break; + case 37: + if (!IsMonSpriteNotFlipped(sTradeData->monSpecies[TRADE_PLAYER])) + { + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].affineAnims = gSpriteAffineAnimTable_8338ECC; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].oam.affineMode = ST_OAM_AFFINE_DOUBLE; + CalcCenterToCornerVec(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], SPRITE_SHAPE(64x64), SPRITE_SIZE(64x64), ST_OAM_AFFINE_DOUBLE); + StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], 0); + } + else + { + StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], 0); + } + StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]], 0); + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos1.x = 60; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.x = 180; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos1.y = 192; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.y = -32; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = FALSE; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].invisible = FALSE; + sTradeData->state++; + break; + case 38: + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y -= 3; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.y += 3; + if (gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y < -160 && gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y >= -163) + { + PlaySE(SE_TK_WARPIN); + } + if (gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y < -222) + { + gSprites[sTradeData->unk_90].data[1] = 0; + gSprites[sTradeData->unk_91].data[1] = 0; + sTradeData->state++; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = TRUE; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].invisible = TRUE; BlendPalettes(0x1, 0, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - break; - case 36: - BlendPalettes(0x1, 16, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - break; - case 37: - if (!IsMonSpriteNotFlipped(gUnknown_020322A0->tradeSpecies[0])) - { - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].affineAnims = gSpriteAffineAnimTable_8338ECC; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.affineMode = 3; - CalcCenterToCornerVec(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0, 3, 3); - StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0); - } - else - { - StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0); - } - StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0); - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.x = 60; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 180; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.y = 192; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = -32; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = FALSE; - gUnknown_020322A0->state++; - break; - case 38: - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y -= 3; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y += 3; - if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -160 && gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y >= -163) - { - PlaySE(SE_TK_WARPIN); - } - if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -222) - { - gSprites[gUnknown_020322A0->unk_90].data[1] = 0; - gSprites[gUnknown_020322A0->unk_91].data[1] = 0; - gUnknown_020322A0->state++; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = TRUE; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = TRUE; - BlendPalettes(0x1, 0, RGB_WHITEALPHA); - } - break; - case 39: - gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; - gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; - if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -222) - { - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); - gUnknown_020322A0->state++; - DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - } - break; - case 40: - if (!gPaletteFade.active) - { - gUnknown_020322A0->state++; - sub_807B62C(1); - gUnknown_020322A0->bg1vofs = 166; - gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 128, -20, 3); - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 128, -20, 0); - StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); - } - break; - case 41: - BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); - gUnknown_020322A0->state++; - break; - case 42: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG1_ON | - DISPCNT_OBJ_ON); - if (!gPaletteFade.active) - { - gUnknown_020322A0->state++; - } - break; - case 43: - gSprites[gUnknown_020322A0->unk_90].pos2.y += 3; - gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; - if (gSprites[gUnknown_020322A0->unk_90].pos2.y + gSprites[gUnknown_020322A0->unk_90].pos1.y == 64) - { - gUnknown_020322A0->state++; - } - break; - case 44: - if ((gUnknown_020322A0->bg1vofs += 2) > 316) - { - gUnknown_020322A0->bg1vofs = 316; - gUnknown_020322A0->state++; - } - break; - case 45: - DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - gUnknown_020322A0->state++; - gUnknown_020322A0->timer = 0; - break; - case 46: - if (++gUnknown_020322A0->timer == 10) - { - gUnknown_020322A0->state++; - } - break; - case 47: - if (++gUnknown_020322A0->bg1vofs > 348) - { - gUnknown_020322A0->bg1vofs = 348; - gUnknown_020322A0->state++; - } - if (gUnknown_020322A0->bg1vofs == 328 && gUnknown_020322A0->unk_FA) - { - gUnknown_020322A0->unk_92 = CreateSprite(&gSpriteTemplate_8338DFC, 128, 65, 0); - gSprites[gUnknown_020322A0->unk_92].callback = sub_807AAE0; - } - break; - case 48: - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); - gUnknown_020322A0->state = 50; - break; - case 50: - if (gSprites[gUnknown_020322A0->unk_91].animEnded) - { - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - sub_807B62C(6); - gUnknown_020322A0->state++; - PlaySE(SE_W028); - } - break; - case 51: - if (gUnknown_020322A0->unk_EA < 0x400) - { - gUnknown_020322A0->unk_EA += 0x34; - } - else - { - gUnknown_020322A0->unk_EA = 0x400; - gUnknown_020322A0->state++; - } - gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; - break; - case 52: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->state = 60; - break; + } + break; + case 39: + gSprites[sTradeData->unk_90].pos2.y -= 3; + gSprites[sTradeData->unk_91].pos2.y += 3; + if (gSprites[sTradeData->unk_90].pos2.y <= -222) + { + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + sTradeData->state++; + DestroySprite(&gSprites[sTradeData->unk_90]); + DestroySprite(&gSprites[sTradeData->unk_91]); + } + break; + case 40: + if (!gPaletteFade.active) + { + sTradeData->state++; + SetTradeSequenceBgGpuRegs(1); + sTradeData->bg1vofs = 166; + sTradeData->unk_90 = CreateSprite(&gUnknown_08338D88, 128, -20, 3); + sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 128, -20, 0); + StartSpriteAnim(&gSprites[sTradeData->unk_91], 1); + } + break; + case 41: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + sTradeData->state++; + break; + case 42: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + if (!gPaletteFade.active) + { + sTradeData->state++; + } + break; + case 43: + gSprites[sTradeData->unk_90].pos2.y += 3; + gSprites[sTradeData->unk_91].pos2.y += 3; + if (gSprites[sTradeData->unk_90].pos2.y + gSprites[sTradeData->unk_90].pos1.y == 64) + { + sTradeData->state++; + } + break; + case 44: + if ((sTradeData->bg1vofs += 2) > 316) + { + sTradeData->bg1vofs = 316; + sTradeData->state++; + } + break; + case 45: + DestroySprite(&gSprites[sTradeData->unk_90]); + DestroySprite(&gSprites[sTradeData->unk_91]); + sTradeData->state++; + sTradeData->timer = 0; + break; + case 46: + if (++sTradeData->timer == 10) + { + sTradeData->state++; + } + break; + case 47: + if (++sTradeData->bg1vofs > 348) + { + sTradeData->bg1vofs = 348; + sTradeData->state++; + } + if (sTradeData->bg1vofs == 328 && sTradeData->isCableTrade) + { + sTradeData->unk_92 = CreateSprite(&gSpriteTemplate_8338DFC, 128, 65, 0); + gSprites[sTradeData->unk_92].callback = sub_807AAE0; + } + break; + case 48: + sTradeData->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); + sTradeData->state = 50; + break; + case 50: + if (gSprites[sTradeData->unk_91].animEnded) + { + DestroySprite(&gSprites[sTradeData->unk_91]); + SetTradeSequenceBgGpuRegs(6); + sTradeData->state++; + PlaySE(SE_W028); + } + break; + case 51: + if (sTradeData->unk_EA < 0x400) + { + sTradeData->unk_EA += 0x34; + } + else + { + sTradeData->unk_EA = 0x400; + sTradeData->state++; + } + sTradeData->sXY = 0x8000 / sTradeData->unk_EA; + break; + case 52: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sTradeData->state = 60; + break; - case 60: - if (!gPaletteFade.active) + case 60: + if (!gPaletteFade.active) + { + SetTradeSequenceBgGpuRegs(5); + SetTradeSequenceBgGpuRegs(7); + gPaletteFade.bufferTransferDisabled = TRUE; + sTradeData->state++; + } + break; + case 61: + gPaletteFade.bufferTransferDisabled = FALSE; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + sTradeData->state++; + break; + case 62: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + if (!gPaletteFade.active) + { + sTradeData->state++; + } + break; + case 63: + sTradeData->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, -8, 0); + gSprites[sTradeData->unk_D3].data[3] = 74; + gSprites[sTradeData->unk_D3].callback = sub_807E6AC; + StartSpriteAnim(&gSprites[sTradeData->unk_D3], 1); + StartSpriteAffineAnim(&gSprites[sTradeData->unk_D3], 2); + BlendPalettes(1 << (16 + gSprites[sTradeData->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA); + sTradeData->state++; + sTradeData->timer = 0; + break; + case 64: + BeginNormalPaletteFade(1 << (16 + gSprites[sTradeData->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA); + sTradeData->state++; + break; + case 65: + if (gSprites[sTradeData->unk_D3].callback == SpriteCallbackDummy) + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[sTradeData->monSpecies[TRADE_PARTNER]], gMonSpritesGfxPtr->sprites[3], sTradeData->monSpecies[TRADE_PARTNER], sTradeData->monPersonalities[TRADE_PARTNER]); + sTradeData->state++; + } + break; + case 66: + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.x = 120; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.y = gMonFrontPicCoords[sTradeData->monSpecies[TRADE_PARTNER]].y_offset + 60; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.x = 0; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.y = 0; + StartSpriteAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]], 0); + CreatePokeballSpriteToReleaseMon(sTradeData->pokePicSpriteIdxs[TRADE_PARTNER], gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, sTradeData->monSpecies[TRADE_PARTNER]); + FreeSpriteOamMatrix(&gSprites[sTradeData->unk_D3]); + DestroySprite(&gSprites[sTradeData->unk_D3]); + sTradeData->state++; + break; + case 67: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG0_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + StringExpandPlaceholders(gStringVar4, gText_XSentOverY); + DrawTextOnTradeWindow(0, gStringVar4, 0); + sTradeData->state = 167; + sTradeData->timer = 0; + break; + // 167 and 267 are extra cases added in for animations + case 167: + if (++sTradeData->timer > 60) + { + sTradeData->state = 267; + sTradeData->timer = 0; + } + break; + case 267: + if (IsCryFinished()) + { + sTradeData->state = 68; + } + break; + case 68: + if (++sTradeData->timer == 10) + { + PlayFanfare(MUS_FANFA5); + } + if (sTradeData->timer == 250) + { + sTradeData->state++; + StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX); + DrawTextOnTradeWindow(0, gStringVar4, 0); + sTradeData->timer = 0; + } + break; + case 69: + if (++sTradeData->timer == 60) + { + sTradeData->state++; + } + break; + case 70: + CheckPartnersMonForRibbons(); + sTradeData->state++; + break; + case 71: + if (sTradeData->isLinkTrade) + { + return TRUE; + } + else if (gMain.newKeys & A_BUTTON) + { + sTradeData->state++; + } + break; + case 72: // Only if in-game trade + TradeMons(gSpecialVar_0x8005, 0); + gCB2_AfterEvolution = CB2_UpdateInGameTrade; + evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], TRUE, ITEM_NONE); + if (evoTarget != SPECIES_NONE) + { + TradeEvolutionScene(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], evoTarget, sTradeData->pokePicSpriteIdxs[TRADE_PARTNER], gSelectedTradeMonPositions[TRADE_PLAYER]); + } + sTradeData->state++; + break; + case 73: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sTradeData->state++; + break; + case 74: + if (!gPaletteFade.active) + { + PlayNewMapMusic(sTradeData->cachedMapMusic); + if (sTradeData) { - sub_807B62C(5); - sub_807B62C(7); - gPaletteFade.bufferTransferDisabled = TRUE; - gUnknown_020322A0->state++; + FreeAllWindowBuffers(); + Free(GetBgTilemapBuffer(3)); + Free(GetBgTilemapBuffer(1)); + Free(GetBgTilemapBuffer(0)); + FreeMonSpritesGfx(); + FREE_AND_SET_NULL(sTradeData); } - break; - case 61: - gPaletteFade.bufferTransferDisabled = FALSE; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); - gUnknown_020322A0->state++; - break; - case 62: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG2_ON | - DISPCNT_OBJ_ON); - if (!gPaletteFade.active) - { - gUnknown_020322A0->state++; - } - break; - case 63: - gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, -8, 0); - gSprites[gUnknown_020322A0->unk_D3].data[3] = 74; - gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E6AC; - StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_D3], 1); - StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->unk_D3], 2); - BlendPalettes(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - gUnknown_020322A0->timer = 0; - break; - case 64: - BeginNormalPaletteFade(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - break; - case 65: - if (gSprites[gUnknown_020322A0->unk_D3].callback == SpriteCallbackDummy) - { - HandleLoadSpecialPokePic_2(&gMonFrontPicTable[gUnknown_020322A0->tradeSpecies[1]], gMonSpritesGfxPtr->sprites[3], gUnknown_020322A0->tradeSpecies[1], gUnknown_020322A0->unk_68[1]); - gUnknown_020322A0->state++; - } - break; - case 66: - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 120; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[1]].y_offset + 60; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.x = 0; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y = 0; - StartSpriteAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0); - CreatePokeballSpriteToReleaseMon(gUnknown_020322A0->pokePicSpriteIdxs[1], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, gUnknown_020322A0->tradeSpecies[1]); - FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->unk_D3]); - DestroySprite(&gSprites[gUnknown_020322A0->unk_D3]); - gUnknown_020322A0->state++; - break; - case 67: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG0_ON | - DISPCNT_BG2_ON | - DISPCNT_OBJ_ON); - StringExpandPlaceholders(gStringVar4, gText_XSentOverY); - sub_807F1A8(0, gStringVar4, 0); - gUnknown_020322A0->state = 167; - gUnknown_020322A0->timer = 0; - break; - // 167 and 267 are extra cases added in for animations - case 167: - if (++gUnknown_020322A0->timer > 60) - { - gUnknown_020322A0->state = 267; - gUnknown_020322A0->timer = 0; - } - break; - case 267: - if (IsCryFinished()) - { - gUnknown_020322A0->state = 68; - } - break; - case 68: - if (++gUnknown_020322A0->timer == 10) - { - PlayFanfare(MUS_FANFA5); - } - if (gUnknown_020322A0->timer == 250) - { - gUnknown_020322A0->state++; - StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX); - sub_807F1A8(0, gStringVar4, 0); - gUnknown_020322A0->timer = 0; - } - break; - case 69: - if (++gUnknown_020322A0->timer == 60) - { - gUnknown_020322A0->state++; - } - break; - case 70: - sub_807F14C(); - gUnknown_020322A0->state++; - break; - case 71: - if (gUnknown_020322A0->isLinkTrade) - { - return TRUE; - } - else if (gMain.newKeys & A_BUTTON) - { - gUnknown_020322A0->state++; - } - break; - case 72: // Only if in-game trade - sub_807B4D0(gSpecialVar_0x8005, 0); - gCB2_AfterEvolution = sub_807B60C; - evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_02032298[0]], TRUE, ITEM_NONE); - if (evoTarget != SPECIES_NONE) - { - TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]); - } - gUnknown_020322A0->state++; - break; - case 73: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->state++; - break; - case 74: - if (!gPaletteFade.active) - { - PlayNewMapMusic(gUnknown_020322A0->cachedMapMusic); - if (gUnknown_020322A0) - { - FreeAllWindowBuffers(); - Free(GetBgTilemapBuffer(3)); - Free(GetBgTilemapBuffer(1)); - Free(GetBgTilemapBuffer(0)); - FreeMonSpritesGfx(); - FREE_AND_SET_NULL(gUnknown_020322A0); - } - SetMainCallback2(CB2_ReturnToField); - sub_807E784(); - } - break; + SetMainCallback2(CB2_ReturnToField); + BufferInGameTradeMonName(); + } + break; } return FALSE; } -static bool8 sub_807CFC8(void) +static bool8 AnimateTradeSequenceWireless(void) { u16 evoTarget; - switch (gUnknown_020322A0->state) + switch (sTradeData->state) { - case 0: - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = -180; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[0]].y_offset; - gUnknown_020322A0->state++; - gUnknown_020322A0->cachedMapMusic = GetCurrentMapMusic(); - PlayNewMapMusic(MUS_SHINKA); - break; - case 1: - if (gUnknown_020322A0->bg2hofs > 0) - { - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x += 3; - gUnknown_020322A0->bg2hofs -= 3; - } - else - { - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = 0; - gUnknown_020322A0->bg2hofs = 0; - gUnknown_020322A0->state = 10; - } - break; - case 10: - StringExpandPlaceholders(gStringVar4, gText_XWillBeSentToY); - sub_807F1A8(0, gStringVar4, 0); + case 0: + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = FALSE; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x = -180; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y = gMonFrontPicCoords[sTradeData->monSpecies[TRADE_PLAYER]].y_offset; + sTradeData->state++; + sTradeData->cachedMapMusic = GetCurrentMapMusic(); + PlayNewMapMusic(MUS_SHINKA); + break; + case 1: + if (sTradeData->bg2hofs > 0) + { + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x += 3; + sTradeData->bg2hofs -= 3; + } + else + { + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x = 0; + sTradeData->bg2hofs = 0; + sTradeData->state = 10; + } + break; + case 10: + StringExpandPlaceholders(gStringVar4, gText_XWillBeSentToY); + DrawTextOnTradeWindow(0, gStringVar4, 0); - if (gUnknown_020322A0->tradeSpecies[0] != SPECIES_EGG) - { - PlayCry1(gUnknown_020322A0->tradeSpecies[0], 0); - } + if (sTradeData->monSpecies[TRADE_PLAYER] != SPECIES_EGG) + { + PlayCry1(sTradeData->monSpecies[TRADE_PLAYER], 0); + } - gUnknown_020322A0->state = 11; - gUnknown_020322A0->timer = 0; - break; - case 11: - if (++gUnknown_020322A0->timer == 80) - { - gUnknown_020322A0->unk_D2 = sub_807671C(gUnknown_020322A0->pokePicSpriteIdxs[0], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff); - gUnknown_020322A0->state++; - StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1); - sub_807F1A8(0, gStringVar4, 0); - } - break; - case 12: - if (gSprites[gUnknown_020322A0->unk_D2].callback == SpriteCallbackDummy) - { - gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0); - gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E5D8; - DestroySprite(&gSprites[gUnknown_020322A0->unk_D2]); - gUnknown_020322A0->state++; - } - break; - case 13: - // The game waits here for the sprite to finish its animation sequence. - break; - case 14: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->state = 20; - break; - case 20: - if (!gPaletteFade.active) - { - sub_807B62C(4); - FillWindowPixelBuffer(0, PIXEL_FILL(15)); - CopyWindowToVram(0, 3); - gUnknown_020322A0->state++; - } - break; - case 21: - BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); - gUnknown_020322A0->state++; - break; - case 22: - if (!gPaletteFade.active) - { - gUnknown_020322A0->state = 23; - } - break; - case 23: - if (gUnknown_020322A0->unk_EA > 0x100) - { - gUnknown_020322A0->unk_EA -= 0x34; - } - else - { - sub_807B62C(1); - gUnknown_020322A0->unk_EA = 0x80; - gUnknown_020322A0->state = 124; - gUnknown_020322A0->timer = 0; - } - gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; - break; - case 124: - if (++gUnknown_020322A0->timer > 20) - { - sub_807B62C(3); - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E8C, 120, 80, 0); - gUnknown_020322A0->state++; - } - break; - case 125: - if (gSprites[gUnknown_020322A0->unk_91].animEnded) - { - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | - BLDCNT_TGT1_OBJ | - BLDCNT_EFFECT_BLEND | - BLDCNT_TGT2_BG2); - SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 4)); - CreateTask(c3_08054588, 5); - gUnknown_020322A0->state++; - } - break; - case 126: - if (!FuncIsActiveTask(c3_08054588)) - { - gUnknown_020322A0->state = 26; - } - break; - case 26: - if (--gUnknown_020322A0->bg1vofs == 316) - { - gUnknown_020322A0->state++; - } - break; - case 27: - gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 120, 80, 3); - gSprites[gUnknown_020322A0->unk_90].callback = sub_807AA4C; - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 120, 80, 0); - StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); - gUnknown_020322A0->state++; - break; - case 28: - if ((gUnknown_020322A0->bg1vofs -= 3) == 166) - { - gUnknown_020322A0->state = 200; - } - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG1_ON | - DISPCNT_OBJ_ON); - break; - case 200: - gSprites[gUnknown_020322A0->unk_90].pos1.y -= 2; - gSprites[gUnknown_020322A0->unk_91].pos1.y -= 2; - if (gSprites[gUnknown_020322A0->unk_90].pos1.y < -8) - { - gUnknown_020322A0->state = 29; - } - break; - case 29: + sTradeData->state = 11; + sTradeData->timer = 0; + break; + case 11: + if (++sTradeData->timer == 80) + { + sTradeData->pokeballSpriteId = CreateTradePokeballSprite(sTradeData->pokePicSpriteIdxs[0], gSprites[sTradeData->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff); + sTradeData->state++; + StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1); + DrawTextOnTradeWindow(0, gStringVar4, 0); + } + break; + case 12: + if (gSprites[sTradeData->pokeballSpriteId].callback == SpriteCallbackDummy) + { + sTradeData->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0); + gSprites[sTradeData->unk_D3].callback = sub_807E5D8; + DestroySprite(&gSprites[sTradeData->pokeballSpriteId]); + sTradeData->state++; + } + break; + case 13: + // The game waits here for the sprite to finish its animation sequence. + break; + case 14: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sTradeData->state = 20; + break; + case 20: + if (!gPaletteFade.active) + { + SetTradeSequenceBgGpuRegs(4); + FillWindowPixelBuffer(0, PIXEL_FILL(15)); + CopyWindowToVram(0, 3); + sTradeData->state++; + } + break; + case 21: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + sTradeData->state++; + break; + case 22: + if (!gPaletteFade.active) + { + sTradeData->state = 23; + } + break; + case 23: + if (sTradeData->unk_EA > 0x100) + { + sTradeData->unk_EA -= 0x34; + } + else + { + SetTradeSequenceBgGpuRegs(1); + sTradeData->unk_EA = 0x80; + sTradeData->state = 124; + sTradeData->timer = 0; + } + sTradeData->sXY = 0x8000 / sTradeData->unk_EA; + break; + case 124: + if (++sTradeData->timer > 20) + { + SetTradeSequenceBgGpuRegs(3); + sTradeData->unk_91 = CreateSprite(&gSpriteTemplate_8338E8C, 120, 80, 0); + sTradeData->state++; + } + break; + case 125: + if (gSprites[sTradeData->unk_91].animEnded) + { + DestroySprite(&gSprites[sTradeData->unk_91]); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | + BLDCNT_TGT1_OBJ | + BLDCNT_EFFECT_BLEND | + BLDCNT_TGT2_BG2); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 4)); + CreateTask(Task_AnimateWirelessSignal, 5); + sTradeData->state++; + } + break; + case 126: + if (!FuncIsActiveTask(Task_AnimateWirelessSignal)) + { + sTradeData->state = 26; + } + break; + case 26: + if (--sTradeData->bg1vofs == 316) + { + sTradeData->state++; + } + break; + case 27: + sTradeData->unk_90 = CreateSprite(&gUnknown_08338D88, 120, 80, 3); + gSprites[sTradeData->unk_90].callback = sub_807AA4C; + sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 120, 80, 0); + StartSpriteAnim(&gSprites[sTradeData->unk_91], 1); + sTradeData->state++; + break; + case 28: + if ((sTradeData->bg1vofs -= 3) == 166) + { + sTradeData->state = 200; + } + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + break; + case 200: + gSprites[sTradeData->unk_90].pos1.y -= 2; + gSprites[sTradeData->unk_91].pos1.y -= 2; + if (gSprites[sTradeData->unk_90].pos1.y < -8) + { + sTradeData->state = 29; + } + break; + case 29: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + sTradeData->state = 30; + break; + case 30: + if (!gPaletteFade.active) + { + DestroySprite(&gSprites[sTradeData->unk_90]); + DestroySprite(&gSprites[sTradeData->unk_91]); + SetTradeSequenceBgGpuRegs(2); + sTradeData->state++; + } + break; + case 31: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + sTradeData->unk_90 = CreateSprite(&sGlowBallSpriteTemplate, 111, 170, 0); + sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 129, -10, 0); + sTradeData->state++; + break; + case 32: + if (!gPaletteFade.active) + { + PlaySE(SE_TK_WARPOUT); + sTradeData->state++; + } + gSprites[sTradeData->unk_90].pos2.y -= 3; + gSprites[sTradeData->unk_91].pos2.y += 3; + break; + case 33: + gSprites[sTradeData->unk_90].pos2.y -= 3; + gSprites[sTradeData->unk_91].pos2.y += 3; + if (gSprites[sTradeData->unk_90].pos2.y <= -90) + { + gSprites[sTradeData->unk_90].data[1] = 1; + gSprites[sTradeData->unk_91].data[1] = 1; + sTradeData->state++; + CreateTask(c3_0805465C, 5); + } + break; + case 34: + BlendPalettes(0x8, 16, RGB_WHITEALPHA); + sTradeData->state++; + break; + case 35: + BlendPalettes(0x8, 16, RGB_WHITEALPHA); + sTradeData->state++; + break; + case 36: + BlendPalettes(0x8, 16, RGB_WHITEALPHA); + sTradeData->state++; + break; + case 37: + if (!IsMonSpriteNotFlipped(sTradeData->monSpecies[TRADE_PLAYER])) + { + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].affineAnims = gSpriteAffineAnimTable_8338ECC; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].oam.affineMode = ST_OAM_AFFINE_DOUBLE; + CalcCenterToCornerVec(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], SPRITE_SHAPE(64x64), SPRITE_SIZE(64x64), ST_OAM_AFFINE_DOUBLE); + StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], 0); + } + else + { + StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], 0); + } + StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]], 0); + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos1.x = 40; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.x = 200; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos1.y = 192; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.y = -32; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = FALSE; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].invisible = FALSE; + sTradeData->state++; + break; + case 38: + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y -= 3; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.y += 3; + if (gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y < -160 && gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y >= -163) + { + PlaySE(SE_TK_WARPIN); + } + if (gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y < -222) + { + gSprites[sTradeData->unk_90].data[1] = 0; + gSprites[sTradeData->unk_91].data[1] = 0; + sTradeData->state++; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = TRUE; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].invisible = TRUE; + CreateTask(sub_807F39C, 5); + } + break; + case 39: + gSprites[sTradeData->unk_90].pos2.y -= 3; + gSprites[sTradeData->unk_91].pos2.y += 3; + if (gSprites[sTradeData->unk_90].pos2.y <= -222) + { BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); - gUnknown_020322A0->state = 30; - break; - case 30: - if (!gPaletteFade.active) + sTradeData->state++; + DestroySprite(&gSprites[sTradeData->unk_90]); + DestroySprite(&gSprites[sTradeData->unk_91]); + } + break; + case 40: + if (!gPaletteFade.active) + { + sTradeData->state++; + SetTradeSequenceBgGpuRegs(1); + sTradeData->bg1vofs = 166; + SetTradeSequenceBgGpuRegs(3); + sTradeData->bg2vofs = 412; + sTradeData->unk_90 = CreateSprite(&gUnknown_08338D88, 120, -20, 3); + gSprites[sTradeData->unk_90].callback = sub_807AA4C; + sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 120, -20, 0); + StartSpriteAnim(&gSprites[sTradeData->unk_91], 1); + } + break; + case 41: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + sTradeData->state++; + break; + case 42: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + if (!gPaletteFade.active) + { + sTradeData->state++; + } + break; + case 43: + gSprites[sTradeData->unk_90].pos2.y += 4; + gSprites[sTradeData->unk_91].pos2.y += 4; + if (gSprites[sTradeData->unk_90].pos2.y + gSprites[sTradeData->unk_90].pos1.y == 64) + { + sTradeData->state = 144; + sTradeData->timer = 0; + } + break; + case 144: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + sTradeData->bg1vofs += 3; + sTradeData->bg2vofs += 3; + if (++sTradeData->timer == 10) + { + u8 taskId = CreateTask(Task_AnimateWirelessSignal, 5); + gTasks[taskId].data[2] = TRUE; + } + if (sTradeData->bg1vofs > 316) + { + sTradeData->bg1vofs = 316; + sTradeData->state++; + } + break; + case 145: + DestroySprite(&gSprites[sTradeData->unk_90]); + DestroySprite(&gSprites[sTradeData->unk_91]); + sTradeData->state++; + sTradeData->timer = 0; + break; + case 146: + if (!FuncIsActiveTask(Task_AnimateWirelessSignal)) + { + sTradeData->state = 46; + sTradeData->timer = 0; + } + break; + case 46: + if (++sTradeData->timer == 10) + { + sTradeData->state++; + } + break; + case 47: + if (++sTradeData->bg1vofs > 348) + { + sTradeData->bg1vofs = 348; + sTradeData->state++; + } + break; + case 48: + sTradeData->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); + sTradeData->state = 50; + break; + case 50: + if (gSprites[sTradeData->unk_91].animEnded) + { + DestroySprite(&gSprites[sTradeData->unk_91]); + SetTradeSequenceBgGpuRegs(6); + sTradeData->state++; + PlaySE(SE_W028); + } + break; + case 51: + if (sTradeData->unk_EA < 0x400) + { + sTradeData->unk_EA += 0x34; + } + else + { + sTradeData->unk_EA = 0x400; + sTradeData->state++; + } + sTradeData->sXY = 0x8000 / sTradeData->unk_EA; + break; + case 52: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sTradeData->state = 60; + break; + case 60: + if (!gPaletteFade.active) + { + SetTradeSequenceBgGpuRegs(5); + SetTradeSequenceBgGpuRegs(7); + gPaletteFade.bufferTransferDisabled = TRUE; + sTradeData->state++; + } + break; + case 61: + gPaletteFade.bufferTransferDisabled = FALSE; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + sTradeData->state++; + break; + case 62: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + if (!gPaletteFade.active) + { + sTradeData->state++; + } + break; + case 63: + sTradeData->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, -8, 0); + gSprites[sTradeData->unk_D3].data[3] = 74; + gSprites[sTradeData->unk_D3].callback = sub_807E6AC; + StartSpriteAnim(&gSprites[sTradeData->unk_D3], 1); + StartSpriteAffineAnim(&gSprites[sTradeData->unk_D3], 2); + BlendPalettes(1 << (16 + gSprites[sTradeData->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA); + sTradeData->state++; + sTradeData->timer = 0; + break; + case 64: + BeginNormalPaletteFade(1 << (16 + gSprites[sTradeData->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA); + sTradeData->state++; + break; + case 65: + if (gSprites[sTradeData->unk_D3].callback == SpriteCallbackDummy) + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[sTradeData->monSpecies[TRADE_PARTNER]], gMonSpritesGfxPtr->sprites[3], sTradeData->monSpecies[TRADE_PARTNER], sTradeData->monPersonalities[TRADE_PARTNER]); + sTradeData->state++; + } + break; + case 66: + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.x = 120; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.y = gMonFrontPicCoords[sTradeData->monSpecies[TRADE_PARTNER]].y_offset + 60; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.x = 0; + gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.y = 0; + StartSpriteAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]], 0); + CreatePokeballSpriteToReleaseMon(sTradeData->pokePicSpriteIdxs[TRADE_PARTNER], gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, sTradeData->monSpecies[TRADE_PARTNER]); + FreeSpriteOamMatrix(&gSprites[sTradeData->unk_D3]); + DestroySprite(&gSprites[sTradeData->unk_D3]); + sTradeData->state++; + break; + case 67: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG0_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + StringExpandPlaceholders(gStringVar4, gText_XSentOverY); + DrawTextOnTradeWindow(0, gStringVar4, 0); + sTradeData->state = 167; + sTradeData->timer = 0; + break; + // 167 and 267 are extra cases added in for animations + case 167: + if (++sTradeData->timer > 60) + { + sTradeData->state = 267; + sTradeData->timer = 0; + } + break; + case 267: + if (IsCryFinished()) + { + sTradeData->state = 68; + } + break; + case 68: + if (++sTradeData->timer == 10) + { + PlayFanfare(MUS_FANFA5); + } + if (sTradeData->timer == 250) + { + sTradeData->state++; + StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX); + DrawTextOnTradeWindow(0, gStringVar4, 0); + sTradeData->timer = 0; + } + break; + case 69: + if (++sTradeData->timer == 60) + { + sTradeData->state++; + } + break; + case 70: + CheckPartnersMonForRibbons(); + sTradeData->state++; + break; + case 71: + if (sTradeData->isLinkTrade) + { + return TRUE; + } + else if (gMain.newKeys & A_BUTTON) + { + sTradeData->state++; + } + break; + case 72: // Only if in-game trade + TradeMons(gSpecialVar_0x8005, 0); + gCB2_AfterEvolution = CB2_UpdateInGameTrade; + evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], TRUE, ITEM_NONE); + if (evoTarget != SPECIES_NONE) + { + TradeEvolutionScene(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], evoTarget, sTradeData->pokePicSpriteIdxs[TRADE_PARTNER], gSelectedTradeMonPositions[TRADE_PLAYER]); + } + sTradeData->state++; + break; + case 73: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sTradeData->state++; + break; + case 74: + if (!gPaletteFade.active) + { + PlayNewMapMusic(sTradeData->cachedMapMusic); + if (sTradeData) { - DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - sub_807B62C(2); - gUnknown_020322A0->state++; + FreeAllWindowBuffers(); + Free(GetBgTilemapBuffer(3)); + Free(GetBgTilemapBuffer(1)); + Free(GetBgTilemapBuffer(0)); + FreeMonSpritesGfx(); + FREE_AND_SET_NULL(sTradeData); } - break; - case 31: - BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); - gUnknown_020322A0->unk_90 = CreateSprite(&gSpriteTemplate_8338DC8, 111, 170, 0); - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 129, -10, 0); - gUnknown_020322A0->state++; - break; - case 32: - if (!gPaletteFade.active) - { - PlaySE(SE_TK_WARPOUT); - gUnknown_020322A0->state++; - } - gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; - gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; - break; - case 33: - gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; - gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; - if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -90) - { - gSprites[gUnknown_020322A0->unk_90].data[1] = 1; - gSprites[gUnknown_020322A0->unk_91].data[1] = 1; - gUnknown_020322A0->state++; - CreateTask(c3_0805465C, 5); - } - break; - case 34: - BlendPalettes(0x8, 16, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - break; - case 35: - BlendPalettes(0x8, 16, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - break; - case 36: - BlendPalettes(0x8, 16, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - break; - case 37: - if (!IsMonSpriteNotFlipped(gUnknown_020322A0->tradeSpecies[0])) - { - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].affineAnims = gSpriteAffineAnimTable_8338ECC; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.affineMode = 3; - CalcCenterToCornerVec(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0, 3, 3); - StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0); - } - else - { - StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0); - } - StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0); - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.x = 40; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 200; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.y = 192; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = -32; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = FALSE; - gUnknown_020322A0->state++; - break; - case 38: - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y -= 3; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y += 3; - if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -160 && gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y >= -163) - { - PlaySE(SE_TK_WARPIN); - } - if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -222) - { - gSprites[gUnknown_020322A0->unk_90].data[1] = 0; - gSprites[gUnknown_020322A0->unk_91].data[1] = 0; - gUnknown_020322A0->state++; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = TRUE; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = TRUE; - CreateTask(sub_807F39C, 5); - } - break; - case 39: - gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; - gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; - if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -222) - { - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); - gUnknown_020322A0->state++; - DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - } - break; - case 40: - if (!gPaletteFade.active) - { - gUnknown_020322A0->state++; - sub_807B62C(1); - gUnknown_020322A0->bg1vofs = 166; - sub_807B62C(3); - gUnknown_020322A0->bg2vofs = 412; - gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 120, -20, 3); - gSprites[gUnknown_020322A0->unk_90].callback = sub_807AA4C; - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 120, -20, 0); - StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); - } - break; - case 41: - BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); - gUnknown_020322A0->state++; - break; - case 42: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG1_ON | - DISPCNT_OBJ_ON); - if (!gPaletteFade.active) - { - gUnknown_020322A0->state++; - } - break; - case 43: - gSprites[gUnknown_020322A0->unk_90].pos2.y += 4; - gSprites[gUnknown_020322A0->unk_91].pos2.y += 4; - if (gSprites[gUnknown_020322A0->unk_90].pos2.y + gSprites[gUnknown_020322A0->unk_90].pos1.y == 64) - { - gUnknown_020322A0->state = 144; - gUnknown_020322A0->timer = 0; - } - break; - case 144: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG1_ON | - DISPCNT_BG2_ON | - DISPCNT_OBJ_ON); - gUnknown_020322A0->bg1vofs += 3; - gUnknown_020322A0->bg2vofs += 3; - if (++gUnknown_020322A0->timer == 10) - { - u8 taskId = CreateTask(c3_08054588, 5); - gTasks[taskId].data[2] = 1; - } - if (gUnknown_020322A0->bg1vofs > 316) - { - gUnknown_020322A0->bg1vofs = 316; - gUnknown_020322A0->state++; - } - break; - case 145: - DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - gUnknown_020322A0->state++; - gUnknown_020322A0->timer = 0; - break; - case 146: - if (!FuncIsActiveTask(c3_08054588)) - { - gUnknown_020322A0->state = 46; - gUnknown_020322A0->timer = 0; - } - break; - case 46: - if (++gUnknown_020322A0->timer == 10) - { - gUnknown_020322A0->state++; - } - break; - case 47: - if (++gUnknown_020322A0->bg1vofs > 348) - { - gUnknown_020322A0->bg1vofs = 348; - gUnknown_020322A0->state++; - } - break; - case 48: - gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); - gUnknown_020322A0->state = 50; - break; - case 50: - if (gSprites[gUnknown_020322A0->unk_91].animEnded) - { - DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - sub_807B62C(6); - gUnknown_020322A0->state++; - PlaySE(SE_W028); - } - break; - case 51: - if (gUnknown_020322A0->unk_EA < 0x400) - { - gUnknown_020322A0->unk_EA += 0x34; - } - else - { - gUnknown_020322A0->unk_EA = 0x400; - gUnknown_020322A0->state++; - } - gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; - break; - case 52: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->state = 60; - break; - case 60: - if (!gPaletteFade.active) - { - sub_807B62C(5); - sub_807B62C(7); - gPaletteFade.bufferTransferDisabled = TRUE; - gUnknown_020322A0->state++; - } - break; - case 61: - gPaletteFade.bufferTransferDisabled = FALSE; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); - gUnknown_020322A0->state++; - break; - case 62: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG2_ON | - DISPCNT_OBJ_ON); - if (!gPaletteFade.active) - { - gUnknown_020322A0->state++; - } - break; - case 63: - gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, -8, 0); - gSprites[gUnknown_020322A0->unk_D3].data[3] = 74; - gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E6AC; - StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_D3], 1); - StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->unk_D3], 2); - BlendPalettes(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - gUnknown_020322A0->timer = 0; - break; - case 64: - BeginNormalPaletteFade(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA); - gUnknown_020322A0->state++; - break; - case 65: - if (gSprites[gUnknown_020322A0->unk_D3].callback == SpriteCallbackDummy) - { - HandleLoadSpecialPokePic_2(&gMonFrontPicTable[gUnknown_020322A0->tradeSpecies[1]], gMonSpritesGfxPtr->sprites[3], gUnknown_020322A0->tradeSpecies[1], gUnknown_020322A0->unk_68[1]); - gUnknown_020322A0->state++; - } - break; - case 66: - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 120; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[1]].y_offset + 60; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.x = 0; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y = 0; - StartSpriteAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0); - CreatePokeballSpriteToReleaseMon(gUnknown_020322A0->pokePicSpriteIdxs[1], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, gUnknown_020322A0->tradeSpecies[1]); - FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->unk_D3]); - DestroySprite(&gSprites[gUnknown_020322A0->unk_D3]); - gUnknown_020322A0->state++; - break; - case 67: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_BG0_ON | - DISPCNT_BG2_ON | - DISPCNT_OBJ_ON); - StringExpandPlaceholders(gStringVar4, gText_XSentOverY); - sub_807F1A8(0, gStringVar4, 0); - gUnknown_020322A0->state = 167; - gUnknown_020322A0->timer = 0; - break; - // 167 and 267 are extra cases added in for animations - case 167: - if (++gUnknown_020322A0->timer > 60) - { - gUnknown_020322A0->state = 267; - gUnknown_020322A0->timer = 0; - } - break; - case 267: - if (IsCryFinished()) - { - gUnknown_020322A0->state = 68; - } - break; - case 68: - if (++gUnknown_020322A0->timer == 10) - { - PlayFanfare(MUS_FANFA5); - } - if (gUnknown_020322A0->timer == 250) - { - gUnknown_020322A0->state++; - StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX); - sub_807F1A8(0, gStringVar4, 0); - gUnknown_020322A0->timer = 0; - } - break; - case 69: - if (++gUnknown_020322A0->timer == 60) - { - gUnknown_020322A0->state++; - } - break; - case 70: - sub_807F14C(); - gUnknown_020322A0->state++; - break; - case 71: - if (gUnknown_020322A0->isLinkTrade) - { - return TRUE; - } - else if (gMain.newKeys & A_BUTTON) - { - gUnknown_020322A0->state++; - } - break; - case 72: // Only if in-game trade - sub_807B4D0(gSpecialVar_0x8005, 0); - gCB2_AfterEvolution = sub_807B60C; - evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_02032298[0]], TRUE, ITEM_NONE); - if (evoTarget != SPECIES_NONE) - { - TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]); - } - gUnknown_020322A0->state++; - break; - case 73: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->state++; - break; - case 74: - if (!gPaletteFade.active) - { - PlayNewMapMusic(gUnknown_020322A0->cachedMapMusic); - if (gUnknown_020322A0) - { - FreeAllWindowBuffers(); - Free(GetBgTilemapBuffer(3)); - Free(GetBgTilemapBuffer(1)); - Free(GetBgTilemapBuffer(0)); - FreeMonSpritesGfx(); - FREE_AND_SET_NULL(gUnknown_020322A0); - } - SetMainCallback2(CB2_ReturnToField); - sub_807E784(); - } - break; + SetMainCallback2(CB2_ReturnToField); + BufferInGameTradeMonName(); + } + break; } return FALSE; } -static void c2_08053788(void) +static void CB2_TryTradeEvolution(void) { u16 evoTarget; switch (gMain.state) { - case 0: - gMain.state = 4; - gSoftResetDisabled = TRUE; - break; - case 4: - gCB2_AfterEvolution = sub_807EB50; - evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_02032298[0]], TRUE, ITEM_NONE); - if (evoTarget != SPECIES_NONE) - TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]); - else if (sub_8077260()) - SetMainCallback2(sub_807F464); - else - SetMainCallback2(sub_807EB50); - gUnknown_02032298[0] = 255; - break; + case 0: + gMain.state = 4; + gSoftResetDisabled = TRUE; + break; + case 4: + gCB2_AfterEvolution = CB2_SaveAndEndTrade; + evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], TRUE, ITEM_NONE); + if (evoTarget != SPECIES_NONE) + TradeEvolutionScene(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], evoTarget, sTradeData->pokePicSpriteIdxs[TRADE_PARTNER], gSelectedTradeMonPositions[TRADE_PLAYER]); + else if (IsWirelessTrade()) + SetMainCallback2(CB2_SaveAndEndWirelessTrade); + else + SetMainCallback2(CB2_SaveAndEndTrade); + gSelectedTradeMonPositions[TRADE_PLAYER] = 255; + break; } if (!HasLinkErrorOccurred()) RunTasks(); @@ -5703,29 +4311,26 @@ static void c2_08053788(void) UpdatePaletteFade(); } -static void sub_807E4DC(void) +static void UpdateTradeFinishFlags(void) { u8 blockReceivedStatus; - sub_807ACDC(); + TradeGetMultiplayerId(); // no effect call, ret val ignored blockReceivedStatus = GetBlockReceivedStatus(); if (blockReceivedStatus & 0x01) { - if (gBlockRecvBuffer[0][0] == 0xDCBA) - { - SetMainCallback2(c2_08053788); - } - if (gBlockRecvBuffer[0][0] == 0xABCD) - { - gUnknown_020322A0->unk_72 = 1; - } + if (gBlockRecvBuffer[0][0] == LINKCMD_CONFIRM_FINISH_TRADE) + SetMainCallback2(CB2_TryTradeEvolution); + + if (gBlockRecvBuffer[0][0] == LINKCMD_READY_FINISH_TRADE) + sTradeData->playerLinkFlagFinishTrade = READY_FINISH_TRADE; + ResetBlockReceivedFlag(0); } if (blockReceivedStatus & 0x02) { - if (gBlockRecvBuffer[1][0] == 0xABCD) - { - gUnknown_020322A0->unk_73 = 1; - } + if (gBlockRecvBuffer[1][0] == LINKCMD_READY_FINISH_TRADE) + sTradeData->partnerLinkFlagFinishTrade = READY_FINISH_TRADE; + ResetBlockReceivedFlag(1); } } @@ -5753,7 +4358,7 @@ static void sub_807E55C(struct Sprite *sprite) static void sub_807E5D8(struct Sprite *sprite) { - sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data[0]]; + sprite->pos2.y += sTradeBallVerticalVelocityTable[sprite->data[0]]; if (sprite->data[0] == 22) PlaySE(SE_KON); if (++ sprite->data[0] == 44) @@ -5771,11 +4376,11 @@ static void sub_807E64C(struct Sprite *sprite) StartSpriteAffineAnim(sprite, 1); if (++ sprite->data[1] > 20) { - sprite->pos2.y -= gTradeBallVerticalVelocityTable[sprite->data[0]]; + sprite->pos2.y -= sTradeBallVerticalVelocityTable[sprite->data[0]]; if (++ sprite->data[0] == 23) { DestroySprite(sprite); - gUnknown_020322A0->state = 14; // Resume the master trade animation + sTradeData->state = 14; // Resume the master trade animation } } } @@ -5799,7 +4404,7 @@ static void sub_807E6AC(struct Sprite *sprite) PlaySE(SE_KON3); if (sprite->data[0] == 0x6b) PlaySE(SE_KON4); - sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data[0]]; + sprite->pos2.y += sTradeBallVerticalVelocityTable[sprite->data[0]]; if (++sprite->data[0] == 0x6c) sprite->callback = SpriteCallbackDummy; } @@ -5807,16 +4412,16 @@ static void sub_807E6AC(struct Sprite *sprite) u16 GetInGameTradeSpeciesInfo(void) { - const struct InGameTrade *inGameTrade = &gIngameTrades[gSpecialVar_0x8004]; - StringCopy(gStringVar1, gSpeciesNames[inGameTrade->playerSpecies]); + const struct InGameTrade *inGameTrade = &sIngameTrades[gSpecialVar_0x8004]; + StringCopy(gStringVar1, gSpeciesNames[inGameTrade->requestedSpecies]); StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]); - return inGameTrade->playerSpecies; + return inGameTrade->requestedSpecies; } -static void sub_807E784(void) +static void BufferInGameTradeMonName(void) { u8 nickname[32]; - const struct InGameTrade *inGameTrade = &gIngameTrades[gSpecialVar_0x8004]; + const struct InGameTrade *inGameTrade = &sIngameTrades[gSpecialVar_0x8004]; GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, nickname); StringCopy10(gStringVar1, nickname); StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]); @@ -5824,11 +4429,11 @@ static void sub_807E784(void) static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade) { - const struct InGameTrade *inGameTrade = &gIngameTrades[whichInGameTrade]; + const struct InGameTrade *inGameTrade = &sIngameTrades[whichInGameTrade]; u8 level = GetMonData(&gPlayerParty[whichPlayerMon], MON_DATA_LEVEL); struct MailStruct mail; - u8 metLocation = 0xFE; + u8 metLocation = METLOC_IN_GAME_TRADE; u8 isMail; struct Pokemon *pokemon = &gEnemyParty[0]; @@ -5840,15 +4445,15 @@ static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade) SetMonData(pokemon, MON_DATA_SPEED_IV, &inGameTrade->ivs[3]); SetMonData(pokemon, MON_DATA_SPATK_IV, &inGameTrade->ivs[4]); SetMonData(pokemon, MON_DATA_SPDEF_IV, &inGameTrade->ivs[5]); - SetMonData(pokemon, MON_DATA_NICKNAME, inGameTrade->name); + SetMonData(pokemon, MON_DATA_NICKNAME, inGameTrade->nickname); SetMonData(pokemon, MON_DATA_OT_NAME, inGameTrade->otName); SetMonData(pokemon, MON_DATA_OT_GENDER, &inGameTrade->otGender); - SetMonData(pokemon, MON_DATA_ABILITY_NUM, &inGameTrade->secondAbility); - SetMonData(pokemon, MON_DATA_BEAUTY, &inGameTrade->stats[1]); - SetMonData(pokemon, MON_DATA_CUTE, &inGameTrade->stats[2]); - SetMonData(pokemon, MON_DATA_COOL, &inGameTrade->stats[0]); - SetMonData(pokemon, MON_DATA_SMART, &inGameTrade->stats[3]); - SetMonData(pokemon, MON_DATA_TOUGH, &inGameTrade->stats[4]); + SetMonData(pokemon, MON_DATA_ABILITY_NUM, &inGameTrade->abilityNum); + SetMonData(pokemon, MON_DATA_BEAUTY, &inGameTrade->conditions[1]); + SetMonData(pokemon, MON_DATA_CUTE, &inGameTrade->conditions[2]); + SetMonData(pokemon, MON_DATA_COOL, &inGameTrade->conditions[0]); + SetMonData(pokemon, MON_DATA_SMART, &inGameTrade->conditions[3]); + SetMonData(pokemon, MON_DATA_TOUGH, &inGameTrade->conditions[4]); SetMonData(pokemon, MON_DATA_SHEEN, &inGameTrade->sheen); SetMonData(pokemon, MON_DATA_MET_LOCATION, &metLocation); @@ -5857,8 +4462,8 @@ static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade) { if (ItemIsMail(inGameTrade->heldItem)) { - sub_807E974(&mail, inGameTrade); - gUnknown_020321C0[0] = mail; + SetInGameTradeMail(&mail, inGameTrade); + gTradeMail[0] = mail; SetMonData(pokemon, MON_DATA_MAIL, &isMail); SetMonData(pokemon, MON_DATA_HELD_ITEM, &inGameTrade->heldItem); } @@ -5870,12 +4475,12 @@ static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade) CalculateMonStats(&gEnemyParty[0]); } -static void sub_807E974(struct MailStruct *mail, const struct InGameTrade *trade) { +static void SetInGameTradeMail(struct MailStruct *mail, const struct InGameTrade *trade) { s32 i; - for (i = 0; i < 9; i++) + for (i = 0; i < MAIL_WORDS_COUNT; i++) { - mail->words[i] = gIngameTradeMail[trade->mailNum][i]; + mail->words[i] = sIngameTradeMail[trade->mailNum][i]; } StringCopy(mail->playerName, trade->otName); @@ -5901,22 +4506,22 @@ void CreateInGameTradePokemon(void) _CreateInGameTradePokemon(gSpecialVar_0x8005, gSpecialVar_0x8004); } -static void sub_807EA2C(void) +static void CB2_UpdateLinkTrade(void) { - if (sub_807BBC8() == TRUE) + if (AnimateTradeSequence() == TRUE) { - DestroySprite(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]]); - FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]]); - sub_807B4D0(gUnknown_02032298[0], gUnknown_02032298[1] % 6); - if (!sub_8077260()) + DestroySprite(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]]); + FreeSpriteOamMatrix(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]]); + TradeMons(gSelectedTradeMonPositions[TRADE_PLAYER], gSelectedTradeMonPositions[TRADE_PARTNER] % PARTY_SIZE); + if (!IsWirelessTrade()) { - gUnknown_020322A0->linkData[0] = 0xABCD; - gUnknown_020322A0->unk_93 = 1; + sTradeData->linkData[0] = LINKCMD_READY_FINISH_TRADE; + sTradeData->sendTradeFinishState = 1; } - SetMainCallback2(sub_807EACC); + SetMainCallback2(CB2_TryFinishTrade); } - sub_807B5B8(); - sub_807E4DC(); + TrySendTradeFinishData(); + UpdateTradeFinishFlags(); RunTasks(); RunTextPrinters(); AnimateSprites(); @@ -5924,22 +4529,24 @@ static void sub_807EA2C(void) UpdatePaletteFade(); } -static void sub_807EACC(void) +static void CB2_TryFinishTrade(void) { - u8 mpId = sub_807ACDC(); - if (sub_8077260()) + u8 mpId = TradeGetMultiplayerId(); + if (IsWirelessTrade()) { - SetMainCallback2(c2_08053788); + SetMainCallback2(CB2_TryTradeEvolution); } else { - sub_807E4DC(); - if (mpId == 0 && gUnknown_020322A0->unk_72 == 1 && gUnknown_020322A0->unk_73 == 1) + UpdateTradeFinishFlags(); + if (mpId == 0 + && sTradeData->playerLinkFlagFinishTrade == READY_FINISH_TRADE + && sTradeData->partnerLinkFlagFinishTrade == READY_FINISH_TRADE) { - gUnknown_020322A0->linkData[0] = 0xDCBA; - Trade_SendData(gUnknown_020322A0); - gUnknown_020322A0->unk_72 = 2; - gUnknown_020322A0->unk_73 = 2; + sTradeData->linkData[0] = LINKCMD_CONFIRM_FINISH_TRADE; + Trade_SendData(sTradeData); + sTradeData->playerLinkFlagFinishTrade = FINISH_TRADE; + sTradeData->partnerLinkFlagFinishTrade = FINISH_TRADE; } } RunTasks(); @@ -5948,159 +4555,159 @@ static void sub_807EACC(void) UpdatePaletteFade(); } -static void sub_807EB50(void) +static void CB2_SaveAndEndTrade(void) { switch (gMain.state) { - case 0: + case 0: + gMain.state++; + StringExpandPlaceholders(gStringVar4, gText_CommunicationStandby5); + DrawTextOnTradeWindow(0, gStringVar4, 0); + break; + case 1: + sub_8077288(0); + gMain.state = 100; + sTradeData->timer = 0; + break; + case 100: + if (++sTradeData->timer > 180) + { + gMain.state = 101; + sTradeData->timer = 0; + } + if (_IsLinkTaskFinished()) + { + gMain.state = 2; + } + break; + case 101: + if (_IsLinkTaskFinished()) + { + gMain.state = 2; + } + break; + case 2: + gMain.state = 50; + StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower); + DrawTextOnTradeWindow(0, gStringVar4, 0); + break; + case 50: + if (!InUnionRoom()) + IncrementGameStat(GAME_STAT_POKEMON_TRADES); + if (gWirelessCommType) + { + sub_801B990(2, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId); + } + SetContinueGameWarpStatusToDynamicWarp(); + sub_8153380(); + gMain.state++; + sTradeData->timer = 0; + break; + case 51: + if (++sTradeData->timer == 5) + { gMain.state++; - StringExpandPlaceholders(gStringVar4, gText_CommunicationStandby5); - sub_807F1A8(0, gStringVar4, 0); - break; - case 1: - sub_8077288(0); - gMain.state = 100; - gUnknown_020322A0->timer = 0; - break; - case 100: - if (++gUnknown_020322A0->timer > 180) + } + break; + case 52: + if (sub_81533AC()) + { + ClearContinueGameWarpStatus2(); + gMain.state = 4; + } + else + { + sTradeData->timer = 0; + gMain.state = 51; + } + break; + case 4: + sub_81533E0(); + gMain.state = 40; + sTradeData->timer = 0; + break; + case 40: + if (++sTradeData->timer > 50) + { + if (GetMultiplayerId() == 0) { - gMain.state = 101; - gUnknown_020322A0->timer = 0; - } - if (_IsLinkTaskFinished()) - { - gMain.state = 2; - } - break; - case 101: - if (_IsLinkTaskFinished()) - { - gMain.state = 2; - } - break; - case 2: - gMain.state = 50; - StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower); - sub_807F1A8(0, gStringVar4, 0); - break; - case 50: - if (!InUnionRoom()) - IncrementGameStat(GAME_STAT_POKEMON_TRADES); - if (gWirelessCommType) - { - sub_801B990(2, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId); - } - SetContinueGameWarpStatusToDynamicWarp(); - sub_8153380(); - gMain.state++; - gUnknown_020322A0->timer = 0; - break; - case 51: - if (++gUnknown_020322A0->timer == 5) - { - gMain.state++; - } - break; - case 52: - if (sub_81533AC()) - { - ClearContinueGameWarpStatus2(); - gMain.state = 4; + sTradeData->timer = Random() % 30; } else { - gUnknown_020322A0->timer = 0; - gMain.state = 51; + sTradeData->timer = 0; } - break; - case 4: - sub_81533E0(); - gMain.state = 40; - gUnknown_020322A0->timer = 0; - break; - case 40: - if (++gUnknown_020322A0->timer > 50) + gMain.state = 41; + } + break; + case 41: + if (sTradeData->timer == 0) + { + sub_8077288(1); + gMain.state = 42; + } + else + { + sTradeData->timer--; + } + break; + case 42: + if (_IsLinkTaskFinished()) + { + sub_8153408(); + gMain.state = 5; + } + break; + case 5: + if (++sTradeData->timer > 60) + { + gMain.state++; + sub_8077288(2); + } + break; + case 6: + if (_IsLinkTaskFinished()) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gMain.state ++; + } + break; + case 7: + if (!gPaletteFade.active) + { + FadeOutBGM(3); + gMain.state++; + } + break; + case 8: + if (IsBGMStopped() == TRUE) + { + if (gWirelessCommType && gMain.savedCallback == CB2_StartCreateTradeMenu) { - if (GetMultiplayerId() == 0) - { - gUnknown_020322A0->timer = Random() % 30; - } - else - { - gUnknown_020322A0->timer = 0; - } - gMain.state = 41; - } - break; - case 41: - if (gUnknown_020322A0->timer == 0) - { - sub_8077288(1); - gMain.state = 42; + sub_8077288(3); } else { - gUnknown_020322A0->timer--; + sub_800AC34(); } - break; - case 42: + gMain.state++; + } + break; + case 9: + if (gWirelessCommType && gMain.savedCallback == CB2_StartCreateTradeMenu) + { if (_IsLinkTaskFinished()) - { - sub_8153408(); - gMain.state = 5; - } - break; - case 5: - if (++gUnknown_020322A0->timer > 60) - { - gMain.state++; - sub_8077288(2); - } - break; - case 6: - if (_IsLinkTaskFinished()) - { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gMain.state ++; - } - break; - case 7: - if (!gPaletteFade.active) - { - FadeOutBGM(3); - gMain.state++; - } - break; - case 8: - if (IsBGMStopped() == TRUE) - { - if (gWirelessCommType && gMain.savedCallback == sub_80773AC) - { - sub_8077288(3); - } - else - { - sub_800AC34(); - } - gMain.state++; - } - break; - case 9: - if (gWirelessCommType && gMain.savedCallback == sub_80773AC) - { - if (_IsLinkTaskFinished()) - { - gSoftResetDisabled = FALSE; - SetMainCallback2(c2_080543C4); - } - } - else if (!gReceivedRemoteLinkPlayers) { gSoftResetDisabled = FALSE; - SetMainCallback2(c2_080543C4); + SetMainCallback2(CB2_FreeTradeData); } - break; + } + else if (!gReceivedRemoteLinkPlayers) + { + gSoftResetDisabled = FALSE; + SetMainCallback2(CB2_FreeTradeData); + } + break; } if (!HasLinkErrorOccurred()) { @@ -6111,7 +4718,7 @@ static void sub_807EB50(void) UpdatePaletteFade(); } -static void c2_080543C4(void) +static void CB2_FreeTradeData(void) { if (!gPaletteFade.active) { @@ -6120,7 +4727,7 @@ static void c2_080543C4(void) Free(GetBgTilemapBuffer(1)); Free(GetBgTilemapBuffer(0)); FreeMonSpritesGfx(); - FREE_AND_SET_NULL(gUnknown_020322A0); + FREE_AND_SET_NULL(sTradeData); if (gWirelessCommType) DestroyWirelessStatusIndicatorSprite(); SetMainCallback2(gMain.savedCallback); @@ -6134,95 +4741,103 @@ static void c2_080543C4(void) void DoInGameTradeScene(void) { ScriptContext2_Enable(); - CreateTask(sub_807F110, 10); + CreateTask(Task_InGameTrade, 10); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); } -static void sub_807F110(u8 taskId) +static void Task_InGameTrade(u8 taskId) { if (!gPaletteFade.active) { - SetMainCallback2(sub_807B270); - gFieldCallback = FieldCallback_ReturnToEventScript2; + SetMainCallback2(CB2_InGameTrade); + gFieldCallback = FieldCB_ContinueScriptHandleMusic; DestroyTask(taskId); } } -static void sub_807F14C(void) +static void CheckPartnersMonForRibbons(void) { u8 i; u8 numRibbons = 0; for (i = 0; i < 12; i ++) { - numRibbons += GetMonData(&gEnemyParty[gUnknown_02032298[1] % 6], MON_DATA_CHAMPION_RIBBON + i); + numRibbons += GetMonData(&gEnemyParty[gSelectedTradeMonPositions[TRADE_PARTNER] % PARTY_SIZE], MON_DATA_CHAMPION_RIBBON + i); } if (numRibbons != 0) FlagSet(FLAG_SYS_RIBBON_GET); } -void sub_807F19C(void) +void InitTradeBg(void) { - sub_807B170(); + InitTradeBgInternal(); } -void sub_807F1A8(u8 windowId, const u8 *str, u8 speed) +void DrawTextOnTradeWindow(u8 windowId, const u8 *str, u8 speed) { FillWindowPixelBuffer(windowId, PIXEL_FILL(15)); - gUnknown_020322A0->unk_F6[0] = 15; - gUnknown_020322A0->unk_F6[1] = 1; - gUnknown_020322A0->unk_F6[2] = 6; - AddTextPrinterParameterized4(windowId, 1, 0, 2, 0, 0, gUnknown_020322A0->unk_F6, speed, str); + sTradeData->textColors[0] = TEXT_DYNAMIC_COLOR_6; + sTradeData->textColors[1] = TEXT_COLOR_WHITE; + sTradeData->textColors[2] = TEXT_COLOR_GREEN; + AddTextPrinterParameterized4(windowId, 1, 0, 2, 0, 0, sTradeData->textColors, speed, str); CopyWindowToVram(windowId, 3); } -static void c3_08054588(u8 taskId) +#define idx data[0] +#define counter data[1] +#define signalComingBack data[2] + +static void Task_AnimateWirelessSignal(u8 taskId) { s16 *data = gTasks[taskId].data; - u16 unk = gUnknown_08339090[data[0]][0] * 16; + u16 paletteIdx = sWirelessSignalTiming[idx][0] * 16; - if (!data[2]) + if (!signalComingBack) { - if (unk == 0x100) - LoadPalette(gUnknown_08337EA0, 0x30, 32); + if (paletteIdx == 256) + LoadPalette(sTradePal_Black, 0x30, 32); else - LoadPalette(&gUnknown_08337AA0[unk], 0x30, 32); + LoadPalette(&sTradePal_WirelessSignalSend[paletteIdx], 0x30, 32); } else { - if (unk == 0x100) - LoadPalette(gUnknown_08337EA0, 0x30, 32); + if (paletteIdx == 256) + LoadPalette(sTradePal_Black, 0x30, 32); else - LoadPalette(&gUnknown_08337CA0[unk], 0x30, 32); + LoadPalette(&sTradePal_WirelessSignalReceive[paletteIdx], 0x30, 32); } - if (gUnknown_08339090[data[0]][0] == 0 && data[1] == 0) + if (sWirelessSignalTiming[idx][0] == 0 && counter == 0) PlaySE(SE_W215); - if (data[1] == gUnknown_08339090[data[0]][1]) + if (counter == sWirelessSignalTiming[idx][1]) { - data[0]++; - data[1] = 0; - if (gUnknown_08339090[data[0]][1] == 0xFF) + idx++; + counter = 0; + if (sWirelessSignalTiming[idx][1] == 0xFF) { DestroyTask(taskId); } } else { - data[1]++; + counter++; } } +#undef idx +#undef counter +#undef signalComingBack + static void c3_0805465C(u8 taskId) { s16 *data = gTasks[taskId].data; if (data[0] == 0) { - gUnknown_020322A0->unk_FB = gUnknown_020322A0->unk_FD = 120; - gUnknown_020322A0->unk_FC = 0; - gUnknown_020322A0->unk_FE = 160; + sTradeData->wirelessWinLeft = sTradeData->wirelessWinRight = 120; + sTradeData->wirelessWinTop = 0; + sTradeData->wirelessWinBottom = 160; SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_OBJ); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | @@ -6230,14 +4845,14 @@ static void c3_0805465C(u8 taskId) WININ_WIN0_OBJ); } - SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE2(gUnknown_020322A0->unk_FB, gUnknown_020322A0->unk_FD)); - SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE2(gUnknown_020322A0->unk_FC, gUnknown_020322A0->unk_FE)); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE2(sTradeData->wirelessWinLeft, sTradeData->wirelessWinRight)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE2(sTradeData->wirelessWinTop, sTradeData->wirelessWinBottom)); data[0]++; - gUnknown_020322A0->unk_FB -= 5; - gUnknown_020322A0->unk_FD += 5; + sTradeData->wirelessWinLeft -= 5; + sTradeData->wirelessWinRight += 5; - if (gUnknown_020322A0->unk_FB < 80) + if (sTradeData->wirelessWinLeft < 80) { DestroyTask(taskId); } @@ -6249,24 +4864,24 @@ static void sub_807F39C(u8 taskId) if (data[0] == 0) { - gUnknown_020322A0->unk_FB = 80; - gUnknown_020322A0->unk_FD = 160; + sTradeData->wirelessWinLeft = 80; + sTradeData->wirelessWinRight = 160; SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_OBJ); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_OBJ); } - SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE2(gUnknown_020322A0->unk_FB, gUnknown_020322A0->unk_FD)); - SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE2(gUnknown_020322A0->unk_FC, gUnknown_020322A0->unk_FE)); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE2(sTradeData->wirelessWinLeft, sTradeData->wirelessWinRight)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE2(sTradeData->wirelessWinTop, sTradeData->wirelessWinBottom)); - if (gUnknown_020322A0->unk_FB != 120) + if (sTradeData->wirelessWinLeft != 120) { data[0]++; - gUnknown_020322A0->unk_FB += 5; - gUnknown_020322A0->unk_FD -= 5; + sTradeData->wirelessWinLeft += 5; + sTradeData->wirelessWinRight -= 5; - if (gUnknown_020322A0->unk_FB >= 116) + if (sTradeData->wirelessWinLeft >= 116) BlendPalettes(0x8, 0, RGB_WHITEALPHA); } else @@ -6276,114 +4891,108 @@ static void sub_807F39C(u8 taskId) } } -static void sub_807F464(void) +static void CB2_SaveAndEndWirelessTrade(void) { switch (gMain.state) { - case 0: - gMain.state = 1; - StringExpandPlaceholders(gStringVar4, gText_CommunicationStandby5); - sub_807F1A8(0, gStringVar4, 0); - break; - case 1: - sub_8077288(0); - gMain.state = 2; - gUnknown_020322A0->timer = 0; - break; - case 2: - if (_IsLinkTaskFinished()) - { - gMain.state = 3; - StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower); - sub_807F1A8(0, gStringVar4, 0); - IncrementGameStat(GAME_STAT_POKEMON_TRADES); - sub_8153380(); - gUnknown_020322A0->timer = 0; - } - break; - case 3: - if (++gUnknown_020322A0->timer == 5) - { - gMain.state = 4; - } - break; - case 4: - if (sub_81533AC()) - { - gMain.state = 5; - } + case 0: + gMain.state = 1; + StringExpandPlaceholders(gStringVar4, gText_CommunicationStandby5); + DrawTextOnTradeWindow(0, gStringVar4, 0); + break; + case 1: + sub_8077288(0); + gMain.state = 2; + sTradeData->timer = 0; + break; + case 2: + if (_IsLinkTaskFinished()) + { + gMain.state = 3; + StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower); + DrawTextOnTradeWindow(0, gStringVar4, 0); + IncrementGameStat(GAME_STAT_POKEMON_TRADES); + sub_8153380(); + sTradeData->timer = 0; + } + break; + case 3: + if (++sTradeData->timer == 5) + gMain.state = 4; + break; + case 4: + if (sub_81533AC()) + { + gMain.state = 5; + } + else + { + sTradeData->timer = 0; + gMain.state = 3; + } + break; + case 5: + sub_81533E0(); + gMain.state = 6; + sTradeData->timer = 0; + break; + case 6: + if (++sTradeData->timer > 10) + { + if (GetMultiplayerId() == 0) + sTradeData->timer = Random() % 30; else - { - gUnknown_020322A0->timer = 0; - gMain.state = 3; - } - break; - case 5: - sub_81533E0(); - gMain.state = 6; - gUnknown_020322A0->timer = 0; - break; - case 6: - if (++gUnknown_020322A0->timer > 10) - { - if (GetMultiplayerId() == 0) - { - gUnknown_020322A0->timer = Random() % 30; - } - else - { - gUnknown_020322A0->timer = 0; - } - gMain.state = 7; - } - break; - case 7: - if (gUnknown_020322A0->timer == 0) - { - sub_8077288(1); - gMain.state = 8; - } - else - { - gUnknown_020322A0->timer--; - } - break; - case 8: - if (_IsLinkTaskFinished()) - { - sub_8153408(); - gMain.state = 9; - } - break; - case 9: - if (++gUnknown_020322A0->timer > 60) - { - gMain.state++; - sub_8077288(2); - } - break; - case 10: - if (_IsLinkTaskFinished()) - { - FadeOutBGM(3); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gMain.state = 11; - } - break; - case 11: - if (!gPaletteFade.active && IsBGMStopped() == TRUE) - { - sub_8077288(3); - gMain.state = 12; - } - break; - case 12: - if (_IsLinkTaskFinished()) - { - gSoftResetDisabled = FALSE; - SetMainCallback2(c2_080543C4); - } - break; + sTradeData->timer = 0; + gMain.state = 7; + } + break; + case 7: + if (sTradeData->timer == 0) + { + sub_8077288(1); + gMain.state = 8; + } + else + { + sTradeData->timer--; + } + break; + case 8: + if (_IsLinkTaskFinished()) + { + sub_8153408(); + gMain.state = 9; + } + break; + case 9: + if (++sTradeData->timer > 60) + { + gMain.state++; + sub_8077288(2); + } + break; + case 10: + if (_IsLinkTaskFinished()) + { + FadeOutBGM(3); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gMain.state = 11; + } + break; + case 11: + if (!gPaletteFade.active && IsBGMStopped() == TRUE) + { + sub_8077288(3); + gMain.state = 12; + } + break; + case 12: + if (_IsLinkTaskFinished()) + { + gSoftResetDisabled = FALSE; + SetMainCallback2(CB2_FreeTradeData); + } + break; } if (!HasLinkErrorOccurred()) diff --git a/src/trader.c b/src/trader.c index dcf1fa076d..e0b780d259 100644 --- a/src/trader.c +++ b/src/trader.c @@ -1,6 +1,6 @@ #include "global.h" #include "constants/decorations.h" -#include "constants/mauville_man.h" +#include "constants/mauville_old_man.h" #include "decoration.h" #include "decoration_inventory.h" #include "event_data.h" @@ -71,7 +71,7 @@ void CreateAvailableDecorationsMenu(u8 taskId) if (curWidth > windowWidth) windowWidth = curWidth; } - windowTemplate.width = convert_pixel_width_to_tile_width(windowWidth); + windowTemplate.width = ConvertPixelWidthToTileWidth(windowWidth); data[3] = AddWindow(&windowTemplate); DrawStdFrameWithCustomTileAndPalette(data[3], FALSE, 0x214, 14); for (i = 0; i < 4; i++) @@ -86,7 +86,7 @@ void CreateAvailableDecorationsMenu(u8 taskId) schedule_bg_copy_tilemap_to_vram(0); } -void sub_8133BE4(u8 taskId, u8 decorationId) +void Task_BufferDecorSelectionAndCloseWindow(u8 taskId, u8 decorationId) { s16 * data = gTasks[taskId].data; if (decorationId > NUM_DECORATIONS) @@ -118,14 +118,14 @@ void Task_HandleGetDecorationMenuInput(u8 taskId) case MENU_B_PRESSED: case 4: PlaySE(SE_SELECT); - sub_8133BE4(taskId, 0); + Task_BufferDecorSelectionAndCloseWindow(taskId, 0); break; default: PlaySE(SE_SELECT); gSpecialVar_0x8005 = input; StringCopy(gStringVar1, trader->playerNames[input]); ConvertInternationalString(gStringVar1, trader->language[input]); - sub_8133BE4(taskId, trader->decorIds[input]); + Task_BufferDecorSelectionAndCloseWindow(taskId, trader->decorIds[input]); break; } } diff --git a/src/trainer_card.c b/src/trainer_card.c index 9c4816c422..5ea076c2ad 100755 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -4,7 +4,7 @@ #include "task.h" #include "main.h" #include "window.h" -#include "alloc.h" +#include "malloc.h" #include "link.h" #include "bg.h" #include "sound.h" @@ -281,8 +281,8 @@ static const u16 *const gFireRedTrainerCardStarPals[] = gFireRedTrainerCard4Star_Pal, }; -static const u8 gUnknown_0856FB0C[] = {0, 2, 3}; -static const u8 gUnknown_0856FB0F[] = {0, 4, 5}; +static const u8 sTrainerCardTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}; +static const u8 sTrainerCardStatColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED}; static const u8 gUnknown_0856FB12[6] = {0}; static const u8 gUnknown_0856FB18[][2][2] = @@ -728,7 +728,7 @@ static void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCar trainerCard->version = GAME_VERSION; SetPlayerCardData(trainerCard, CARD_TYPE_EMERALD); trainerCard->hasAllSymbols = HasAllFrontierSymbols(); - trainerCard->frontierBP = gSaveBlock2Ptr->frontier.field_EBA; + trainerCard->frontierBP = gSaveBlock2Ptr->frontier.cardBattlePoints; if (trainerCard->hasAllSymbols) trainerCard->stars++; @@ -744,7 +744,7 @@ void TrainerCard_GenerateCardForPlayer(struct TrainerCard *trainerCard) trainerCard->version = GAME_VERSION; SetPlayerCardData(trainerCard, CARD_TYPE_EMERALD); trainerCard->var_3A = HasAllFrontierSymbols(); - *((u16*)&trainerCard->berryCrushPoints) = gSaveBlock2Ptr->frontier.field_EBA; + *((u16*)&trainerCard->berryCrushPoints) = gSaveBlock2Ptr->frontier.cardBattlePoints; if (trainerCard->var_3A) trainerCard->stars++; @@ -973,9 +973,9 @@ static void PrintNameOnCard(void) StringCopy(txtPtr, sData->trainerCard.playerName); ConvertInternationalString(txtPtr, sData->language); if (sData->cardType == CARD_TYPE_FRLG) - AddTextPrinterParameterized3(1, 1, 20, 28, gUnknown_0856FB0C, TEXT_SPEED_FF, buffer); + AddTextPrinterParameterized3(1, 1, 20, 28, sTrainerCardTextColors, TEXT_SPEED_FF, buffer); else - AddTextPrinterParameterized3(1, 1, 16, 33, gUnknown_0856FB0C, TEXT_SPEED_FF, buffer); + AddTextPrinterParameterized3(1, 1, 16, 33, sTrainerCardTextColors, TEXT_SPEED_FF, buffer); } static void PrintIdOnCard(void) @@ -997,7 +997,7 @@ static void PrintIdOnCard(void) top = 9; } - AddTextPrinterParameterized3(1, 1, xPos, top, gUnknown_0856FB0C, TEXT_SPEED_FF, buffer); + AddTextPrinterParameterized3(1, 1, xPos, top, sTrainerCardTextColors, TEXT_SPEED_FF, buffer); } static void PrintMoneyOnCard(void) @@ -1006,11 +1006,11 @@ static void PrintMoneyOnCard(void) u8 top; if (!sData->isHoenn) - AddTextPrinterParameterized3(1, 1, 20, 56, gUnknown_0856FB0C, TEXT_SPEED_FF, gText_TrainerCardMoney); + AddTextPrinterParameterized3(1, 1, 20, 56, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardMoney); else - AddTextPrinterParameterized3(1, 1, 16, 57, gUnknown_0856FB0C, TEXT_SPEED_FF, gText_TrainerCardMoney); + AddTextPrinterParameterized3(1, 1, 16, 57, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardMoney); - ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.money, 0, 6); + ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.money, STR_CONV_MODE_LEFT_ALIGN, 6); StringExpandPlaceholders(gStringVar4, gText_PokedollarVar1); if (!sData->isHoenn) { @@ -1022,7 +1022,7 @@ static void PrintMoneyOnCard(void) xOffset = GetStringRightAlignXOffset(1, gStringVar4, 128); top = 57; } - AddTextPrinterParameterized3(1, 1, xOffset, top, gUnknown_0856FB0C, TEXT_SPEED_FF, gStringVar4); + AddTextPrinterParameterized3(1, 1, xOffset, top, sTrainerCardTextColors, TEXT_SPEED_FF, gStringVar4); } static u16 GetCaughtMonsCount(void) @@ -1040,10 +1040,10 @@ static void PrintPokedexOnCard(void) if (FlagGet(FLAG_SYS_POKEDEX_GET)) { if (!sData->isHoenn) - AddTextPrinterParameterized3(1, 1, 20, 72, gUnknown_0856FB0C, TEXT_SPEED_FF, gText_TrainerCardPokedex); + AddTextPrinterParameterized3(1, 1, 20, 72, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardPokedex); else - AddTextPrinterParameterized3(1, 1, 16, 73, gUnknown_0856FB0C, TEXT_SPEED_FF, gText_TrainerCardPokedex); - StringCopy(ConvertIntToDecimalStringN(gStringVar4, sData->trainerCard.caughtMonsCount, 0, 3), gText_EmptyString6); + AddTextPrinterParameterized3(1, 1, 16, 73, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardPokedex); + StringCopy(ConvertIntToDecimalStringN(gStringVar4, sData->trainerCard.caughtMonsCount, STR_CONV_MODE_LEFT_ALIGN, 3), gText_EmptyString6); if (!sData->isHoenn) { xOffset = GetStringRightAlignXOffset(1, gStringVar4, 144); @@ -1054,11 +1054,11 @@ static void PrintPokedexOnCard(void) xOffset = GetStringRightAlignXOffset(1, gStringVar4, 128); top = 73; } - AddTextPrinterParameterized3(1, 1, xOffset, top, gUnknown_0856FB0C, TEXT_SPEED_FF, gStringVar4); + AddTextPrinterParameterized3(1, 1, xOffset, top, sTrainerCardTextColors, TEXT_SPEED_FF, gStringVar4); } } -static const u8 *const gUnknown_0856FB40[] = {gUnknown_0856FB0C, gUnknown_0856FB12}; +static const u8 *const gUnknown_0856FB40[] = {sTrainerCardTextColors, gUnknown_0856FB12}; static void PrintTimeOnCard(void) { @@ -1068,9 +1068,9 @@ static void PrintTimeOnCard(void) u32 r7, r4, r10; if (!sData->isHoenn) - AddTextPrinterParameterized3(1, 1, 20, 88, gUnknown_0856FB0C, TEXT_SPEED_FF, gText_TrainerCardTime); + AddTextPrinterParameterized3(1, 1, 20, 88, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardTime); else - AddTextPrinterParameterized3(1, 1, 16, 89, gUnknown_0856FB0C, TEXT_SPEED_FF, gText_TrainerCardTime); + AddTextPrinterParameterized3(1, 1, 16, 89, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardTime); if (sData->isLink) { @@ -1103,13 +1103,13 @@ static void PrintTimeOnCard(void) r7 -= r10; FillWindowPixelRect(1, PIXEL_FILL(0), r7, r4, r10, 15); - ConvertIntToDecimalStringN(gStringVar4, hours, 1, 3); - AddTextPrinterParameterized3(1, 1, r7, r4, gUnknown_0856FB0C, TEXT_SPEED_FF, gStringVar4); + ConvertIntToDecimalStringN(gStringVar4, hours, STR_CONV_MODE_RIGHT_ALIGN, 3); + AddTextPrinterParameterized3(1, 1, r7, r4, sTrainerCardTextColors, TEXT_SPEED_FF, gStringVar4); r7 += 18; AddTextPrinterParameterized3(1, 1, r7, r4, gUnknown_0856FB40[sData->var_7], TEXT_SPEED_FF, gText_Colon2); r7 += width; - ConvertIntToDecimalStringN(gStringVar4, minutes, 2, 2); - AddTextPrinterParameterized3(1, 1, r7, r4, gUnknown_0856FB0C, TEXT_SPEED_FF, gStringVar4); + ConvertIntToDecimalStringN(gStringVar4, minutes, STR_CONV_MODE_LEADING_ZEROS, 2); + AddTextPrinterParameterized3(1, 1, r7, r4, sTrainerCardTextColors, TEXT_SPEED_FF, gStringVar4); } static const u8 gUnknown_0856FB48[] = {0x71, 0x68}; @@ -1119,10 +1119,10 @@ static void PrintProfilePhraseOnCard(void) { if (sData->isLink) { - AddTextPrinterParameterized3(1, 1, 8, gUnknown_0856FB48[sData->isHoenn], gUnknown_0856FB0C, TEXT_SPEED_FF, sData->var_19[0]); - AddTextPrinterParameterized3(1, 1, GetStringWidth(1, sData->var_19[0], 0) + 14, gUnknown_0856FB48[sData->isHoenn], gUnknown_0856FB0C, TEXT_SPEED_FF, sData->var_19[1]); - AddTextPrinterParameterized3(1, 1, 8, gUnknown_0856FB4A[sData->isHoenn], gUnknown_0856FB0C, TEXT_SPEED_FF, sData->var_19[2]); - AddTextPrinterParameterized3(1, 1, GetStringWidth(1, sData->var_19[2], 0) + 14, gUnknown_0856FB4A[sData->isHoenn], gUnknown_0856FB0C, TEXT_SPEED_FF, sData->var_19[3]); + AddTextPrinterParameterized3(1, 1, 8, gUnknown_0856FB48[sData->isHoenn], sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_19[0]); + AddTextPrinterParameterized3(1, 1, GetStringWidth(1, sData->var_19[0], 0) + 14, gUnknown_0856FB48[sData->isHoenn], sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_19[1]); + AddTextPrinterParameterized3(1, 1, 8, gUnknown_0856FB4A[sData->isHoenn], sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_19[2]); + AddTextPrinterParameterized3(1, 1, GetStringWidth(1, sData->var_19[2], 0) + 14, gUnknown_0856FB4A[sData->isHoenn], sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_19[3]); } } @@ -1140,9 +1140,9 @@ static void PrintNameOnCard2(void) static void sub_80C3B50(void) { if (!sData->isHoenn) - AddTextPrinterParameterized3(1, 1, 136, 9, gUnknown_0856FB0C, TEXT_SPEED_FF, sData->var_4D); + AddTextPrinterParameterized3(1, 1, 136, 9, sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_4D); else - AddTextPrinterParameterized3(1, 1, GetStringRightAlignXOffset(1, sData->var_4D, 216), 9, gUnknown_0856FB0C, TEXT_SPEED_FF, sData->var_4D); + AddTextPrinterParameterized3(1, 1, GetStringRightAlignXOffset(1, sData->var_4D, 216), 9, sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_4D); } static const u8 gUnknown_0856FB4C[] = {0xfd, 0x02, 0xf0, 0xfd, 0x03, 0xf0, 0xfd, 0x04, 0xff}; @@ -1151,9 +1151,9 @@ static void PrintHofTimeOnCard(void) { if (sData->hasHofResult) { - ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.hofDebutHours, 1, 3); - ConvertIntToDecimalStringN(gStringVar2, sData->trainerCard.hofDebutMinutes, 2, 2); - ConvertIntToDecimalStringN(gStringVar3, sData->trainerCard.hofDebutSeconds, 2, 2); + ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.hofDebutHours, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar2, sData->trainerCard.hofDebutMinutes, STR_CONV_MODE_LEADING_ZEROS, 2); + ConvertIntToDecimalStringN(gStringVar3, sData->trainerCard.hofDebutSeconds, STR_CONV_MODE_LEADING_ZEROS, 2); StringExpandPlaceholders(sData->var_93, gUnknown_0856FB4C); } } @@ -1163,14 +1163,14 @@ static const u8 gUnknown_0856FB57[] = {0xd8, 0xd8}; static void PrintString(u8 top, const u8* str1, u8* str2, const u8* color) { - AddTextPrinterParameterized3(1, 1, gUnknown_0856FB55[sData->isHoenn], top * 16 + 33, gUnknown_0856FB0C, TEXT_SPEED_FF, str1); + AddTextPrinterParameterized3(1, 1, gUnknown_0856FB55[sData->isHoenn], top * 16 + 33, sTrainerCardTextColors, TEXT_SPEED_FF, str1); AddTextPrinterParameterized3(1, 1, GetStringRightAlignXOffset(1, str2, gUnknown_0856FB57[sData->isHoenn]), top * 16 + 33, color, TEXT_SPEED_FF, str2); } static void PrintHofDebutStringOnCard(void) { if (sData->hasHofResult) - PrintString(0, gText_HallOfFameDebut, sData->var_93, gUnknown_0856FB0F); + PrintString(0, gText_HallOfFameDebut, sData->var_93, sTrainerCardStatColors); } static const u8 *const gUnknown_0856FB5C[] = {gText_LinkBattles, gText_LinkCableBattles, gText_LinkBattles}; @@ -1180,8 +1180,8 @@ static void PrintLinkResultsNumsOnCard(void) if (sData->hasLinkResults) { StringCopy(sData->var_D9, gUnknown_0856FB5C[sData->cardType]); - ConvertIntToDecimalStringN(sData->var_165, sData->trainerCard.linkBattleWins, 0, 4); - ConvertIntToDecimalStringN(sData->var_1AB, sData->trainerCard.linkBattleLosses, 0, 4); + ConvertIntToDecimalStringN(sData->var_165, sData->trainerCard.linkBattleWins, STR_CONV_MODE_LEFT_ALIGN, 4); + ConvertIntToDecimalStringN(sData->var_1AB, sData->trainerCard.linkBattleLosses, STR_CONV_MODE_LEFT_ALIGN, 4); } } @@ -1192,51 +1192,51 @@ static void PrintWinsLossesStringOnCard(void) StringCopy(gStringVar1, sData->var_165); StringCopy(gStringVar2, sData->var_1AB); StringExpandPlaceholders(gStringVar4, gText_WinsLosses); - PrintString(1, sData->var_D9, gStringVar4, gUnknown_0856FB0C); + PrintString(1, sData->var_D9, gStringVar4, sTrainerCardTextColors); } } static void PrintTradesNumOnCard(void) { if (sData->hasTrades) - ConvertIntToDecimalStringN(sData->var_237, sData->trainerCard.pokemonTrades, 1, 5); + ConvertIntToDecimalStringN(sData->var_237, sData->trainerCard.pokemonTrades, STR_CONV_MODE_RIGHT_ALIGN, 5); } static void PrintTradesStringOnCard(void) { if (sData->hasTrades) - PrintString(2, gText_PokemonTrades, sData->var_237, gUnknown_0856FB0F); + PrintString(2, gText_PokemonTrades, sData->var_237, sTrainerCardStatColors); } static void PrintBerryCrushNumOnCard(void) { if (sData->cardType == CARD_TYPE_FRLG && sData->trainerCard.berryCrushPoints) - ConvertIntToDecimalStringN(sData->var_2C3, sData->trainerCard.berryCrushPoints, 1, 5); + ConvertIntToDecimalStringN(sData->var_2C3, sData->trainerCard.berryCrushPoints, STR_CONV_MODE_RIGHT_ALIGN, 5); } static void PrintBerryCrushStringOnCard(void) { if (sData->cardType == CARD_TYPE_FRLG && sData->trainerCard.berryCrushPoints) - PrintString(4, gText_BerryCrush, sData->var_2C3, gUnknown_0856FB0F); + PrintString(4, gText_BerryCrush, sData->var_2C3, sTrainerCardStatColors); } static void PrintUnionNumOnCard(void) { if (sData->cardType == CARD_TYPE_FRLG && sData->trainerCard.unionRoomNum) - ConvertIntToDecimalStringN(sData->var_34F, sData->trainerCard.unionRoomNum, 1, 5); + ConvertIntToDecimalStringN(sData->var_34F, sData->trainerCard.unionRoomNum, STR_CONV_MODE_RIGHT_ALIGN, 5); } static void PrintUnionStringOnCard(void) { if (sData->cardType == CARD_TYPE_FRLG && sData->trainerCard.unionRoomNum) - PrintString(3, gText_UnionTradesAndBattles, sData->var_34F, gUnknown_0856FB0F); + PrintString(3, gText_UnionTradesAndBattles, sData->var_34F, sTrainerCardStatColors); } static void PrintPokeblocksNumOnCard(void) { if (sData->cardType != CARD_TYPE_FRLG && sData->trainerCard.pokeblocksWithFriends) { - ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.pokeblocksWithFriends, 1, 5); + ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.pokeblocksWithFriends, STR_CONV_MODE_RIGHT_ALIGN, 5); StringExpandPlaceholders(sData->var_395, gText_Var1DarkGreyShadowLightGrey); } } @@ -1244,19 +1244,19 @@ static void PrintPokeblocksNumOnCard(void) static void PrintPokeblockStringOnCard(void) { if (sData->cardType != CARD_TYPE_FRLG && sData->trainerCard.pokeblocksWithFriends) - PrintString(3, gText_PokeblocksWithFriends, sData->var_395, gUnknown_0856FB0F); + PrintString(3, gText_PokeblocksWithFriends, sData->var_395, sTrainerCardStatColors); } static void PrintContestNumOnCard(void) { if (sData->cardType != CARD_TYPE_FRLG && sData->trainerCard.contestsWithFriends) - ConvertIntToDecimalStringN(sData->var_3DB, sData->trainerCard.contestsWithFriends, 1, 5); + ConvertIntToDecimalStringN(sData->var_3DB, sData->trainerCard.contestsWithFriends, STR_CONV_MODE_RIGHT_ALIGN, 5); } static void PrintContestStringOnCard(void) { if (sData->cardType != CARD_TYPE_FRLG && sData->trainerCard.contestsWithFriends) - PrintString(4, gText_WonContestsWFriends, sData->var_3DB, gUnknown_0856FB0F); + PrintString(4, gText_WonContestsWFriends, sData->var_3DB, sTrainerCardStatColors); } static void PrintBattleFacilityNumsOnCard(void) @@ -1266,15 +1266,15 @@ static void PrintBattleFacilityNumsOnCard(void) case CARD_TYPE_RS: if (sData->hasBattleTowerWins) { - ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.battleTowerWins, 1, 4); - ConvertIntToDecimalStringN(gStringVar2, sData->trainerCard.battleTowerStraightWins, 1, 4); + ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.battleTowerWins, STR_CONV_MODE_RIGHT_ALIGN, 4); + ConvertIntToDecimalStringN(gStringVar2, sData->trainerCard.battleTowerStraightWins, STR_CONV_MODE_RIGHT_ALIGN, 4); StringExpandPlaceholders(sData->var_421, gText_WSlashStraightSlash); } break; case CARD_TYPE_EMERALD: if (sData->trainerCard.frontierBP) { - ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.frontierBP, 1, 5); + ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.frontierBP, STR_CONV_MODE_RIGHT_ALIGN, 5); StringExpandPlaceholders(sData->var_421, gText_Var1DarkLightGreyBP); } break; @@ -1289,11 +1289,11 @@ static void PrintBattleFacilityStringOnCard(void) { case CARD_TYPE_RS: if (sData->hasBattleTowerWins) - PrintString(5, gText_BattleTower, sData->var_421, gUnknown_0856FB0C); + PrintString(5, gText_BattleTower, sData->var_421, sTrainerCardTextColors); break; case CARD_TYPE_EMERALD: if (sData->trainerCard.frontierBP) - PrintString(5, gText_BattlePtsWon, sData->var_421, gUnknown_0856FB0F); + PrintString(5, gText_BattlePtsWon, sData->var_421, sTrainerCardStatColors); break; case CARD_TYPE_FRLG: break; diff --git a/src/trainer_hill.c b/src/trainer_hill.c index 2a7e003d9a..c339a56e02 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle.h" #include "battle_tower.h" #include "battle_setup.h" @@ -22,6 +22,7 @@ #include "trainer_hill.h" #include "window.h" #include "util.h" +#include "constants/battle_ai.h" #include "constants/event_object_movement_constants.h" #include "constants/event_objects.h" #include "constants/items.h" @@ -45,7 +46,7 @@ struct TrHillStruct2 { u8 floorId; struct TrHillTag tag; - struct TrHillFloor floors[4]; + struct TrHillFloor floors[NUM_TRAINER_HILL_FLOORS]; }; static EWRAM_DATA struct TrHillStruct2 *sHillData = NULL; @@ -54,30 +55,30 @@ EWRAM_DATA u32 *gTrainerHillVBlankCounter = NULL; // This file's functions. static void TrainerHillStartChallenge(void); -static void sub_81D58D8(void); -static void sub_81D5924(void); -static void sub_81D59D0(void); +static void GetOwnerState(void); +static void GiveChallengePrize(void); +static void CheckFinalTime(void); static void TrainerHillResumeTimer(void); static void TrainerHillSetPlayerLost(void); static void TrainerHillGetChallengeStatus(void); -static void sub_81D5B2C(void); -static void sub_81D5BBC(void); -static void sub_81D5C00(void); -static void sub_81D5C5C(void); -static void sub_81D62B4(void); -static void sub_81D64AC(void); -static void sub_81D64DC(void); -static void sub_81D64FC(void); -static void sub_81D6518(void); -static void sub_81D6568(void); +static void BufferChallengeTime(void); +static void GetAllFloorsUsed(void); +static void ClearVarResult(void); +static void IsTrainerHillChallengeActive(void); +static void ShowTrainerHillPostBattleText(void); +static void SetAllTrainerFlags(void); +static void GetGameSaved(void); +static void SetGameSaved(void); +static void ClearGameSaved(void); +static void GetChallengeWon(void); static void TrainerHillSetTag(void); static void SetUpDataStruct(void); static void FreeDataStruct(void); static void nullsub_2(void); static void SetTimerValue(u32 *dst, u32 val); static u32 GetTimerValue(u32 *src); -static void sub_81D642C(struct Pokemon *mon, u8 level); -static u16 sub_81D6640(void); +static void SetTrainerHillMonLevel(struct Pokemon *mon, u8 level); +static u16 GetPrizeItemId(void); // const data #include "data/battle_frontier/trainer_hill.h" @@ -86,7 +87,7 @@ struct { u8 trainerClass; u8 musicId; -} static const gUnknown_0862A3B4[] = +} static const sTrainerClassesAndMusic[] = { {TRAINER_CLASS_TEAM_AQUA, TRAINER_ENCOUNTER_MUSIC_AQUA}, {TRAINER_CLASS_AQUA_ADMIN, TRAINER_ENCOUNTER_MUSIC_AQUA}, @@ -144,63 +145,64 @@ struct {TRAINER_CLASS_SCHOOL_KID, TRAINER_ENCOUNTER_MUSIC_MALE}, }; -static const u16 gUnknown_0862A48C[] = {ITEM_RARE_CANDY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A498[] = {ITEM_LUXURY_BALL, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A4A4[] = {ITEM_MAX_REVIVE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A4B0[] = {ITEM_MAX_ETHER, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A4BC[] = {ITEM_ELIXIR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A4C8[] = {ITEM_TM05_ROAR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A4D4[] = {ITEM_TM36_SLUDGE_BOMB, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A4E0[] = {ITEM_TM06_TOXIC, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A4EC[] = {ITEM_TM11_SUNNY_DAY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A4F8[] = {ITEM_TM26_EARTHQUAKE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A504[] = {ITEM_RARE_CANDY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A510[] = {ITEM_LUXURY_BALL, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A51C[] = {ITEM_MAX_REVIVE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A528[] = {ITEM_MAX_ETHER, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A534[] = {ITEM_ELIXIR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A540[] = {ITEM_TM31_BRICK_BREAK, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A54C[] = {ITEM_TM41_TORMENT, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A558[] = {ITEM_TM48_SKILL_SWAP, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A564[] = {ITEM_TM19_GIGA_DRAIN, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 gUnknown_0862A570[] = {ITEM_TM45_ATTRACT, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListRareCandy1[] = {ITEM_RARE_CANDY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListLuxuryBall1[] = {ITEM_LUXURY_BALL, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListMaxRevive1[] = {ITEM_MAX_REVIVE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListMaxEther1[] = {ITEM_MAX_ETHER, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListElixir1[] = {ITEM_ELIXIR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListRoar[] = {ITEM_TM05_ROAR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListSludgeBomb[] = {ITEM_TM36_SLUDGE_BOMB, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListToxic[] = {ITEM_TM06_TOXIC, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListSunnyDay[] = {ITEM_TM11_SUNNY_DAY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListEarthQuake[] = {ITEM_TM26_EARTHQUAKE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 *const gUnknown_0862A57C[] = +static const u16 sPrizeListRareCandy2[] = {ITEM_RARE_CANDY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListLuxuryBall2[] = {ITEM_LUXURY_BALL, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListMaxRevive2[] = {ITEM_MAX_REVIVE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListMaxEther2[] = {ITEM_MAX_ETHER, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListElixir2[] = {ITEM_ELIXIR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListBrickBreak[] = {ITEM_TM31_BRICK_BREAK, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListTorment[] = {ITEM_TM41_TORMENT, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListSkillSwap[] = {ITEM_TM48_SKILL_SWAP, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListGigaSwap[] = {ITEM_TM19_GIGA_DRAIN, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListAttract[] = {ITEM_TM45_ATTRACT, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; + +static const u16 *const sPrizeLists1[NUM_TRAINER_HILL_PRIZE_LISTS] = { - gUnknown_0862A48C, - gUnknown_0862A498, - gUnknown_0862A4A4, - gUnknown_0862A4B0, - gUnknown_0862A4BC, - gUnknown_0862A4C8, - gUnknown_0862A4D4, - gUnknown_0862A4E0, - gUnknown_0862A4EC, - gUnknown_0862A4F8 + sPrizeListRareCandy1, + sPrizeListLuxuryBall1, + sPrizeListMaxRevive1, + sPrizeListMaxEther1, + sPrizeListElixir1, + sPrizeListRoar, + sPrizeListSludgeBomb, + sPrizeListToxic, + sPrizeListSunnyDay, + sPrizeListEarthQuake }; -static const u16 *const gUnknown_0862A5A4[] = +static const u16 *const sPrizeLists2[NUM_TRAINER_HILL_PRIZE_LISTS] = { - gUnknown_0862A504, - gUnknown_0862A510, - gUnknown_0862A51C, - gUnknown_0862A528, - gUnknown_0862A534, - gUnknown_0862A540, - gUnknown_0862A54C, - gUnknown_0862A558, - gUnknown_0862A564, - gUnknown_0862A570 + sPrizeListRareCandy2, + sPrizeListLuxuryBall2, + sPrizeListMaxRevive2, + sPrizeListMaxEther2, + sPrizeListElixir2, + sPrizeListBrickBreak, + sPrizeListTorment, + sPrizeListSkillSwap, + sPrizeListGigaSwap, + sPrizeListAttract }; -static const u16 *const *const gUnknown_0862A5CC[] = +static const u16 *const *const sPrizeListSets[] = { - gUnknown_0862A57C, - gUnknown_0862A5A4 + sPrizeLists1, + sPrizeLists2 }; -static const u16 gUnknown_0862A5D4[] = INCBIN_U16("graphics/pokenav/862A5D4.gbapal"); -static const u8 sRecordWinColors[] = {0, 2, 3}; +static const u16 sUnknown_0862A5D4[] = INCBIN_U16("graphics/pokenav/862A5D4.gbapal"); +static const u8 sRecordWinColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}; static const struct TrHillTag *const sDataPerTag[] = { @@ -221,24 +223,24 @@ static const u8 *const sFloorStrings[] = static void (* const sHillFunctions[])(void) = { - TrainerHillStartChallenge, - sub_81D58D8, - sub_81D5924, - sub_81D59D0, - TrainerHillResumeTimer, - TrainerHillSetPlayerLost, - TrainerHillGetChallengeStatus, - sub_81D5B2C, - sub_81D5BBC, - sub_81D5C00, - sub_81D5C5C, - sub_81D62B4, - sub_81D64AC, - sub_81D64DC, - sub_81D64FC, - sub_81D6518, - sub_81D6568, - TrainerHillSetTag, + [TRAINER_HILL_FUNC_START] = TrainerHillStartChallenge, + [TRAINER_HILL_FUNC_GET_OWNER_STATE] = GetOwnerState, + [TRAINER_HILL_FUNC_GIVE_PRIZE] = GiveChallengePrize, + [TRAINER_HILL_FUNC_CHECK_FINAL_TIME] = CheckFinalTime, + [TRAINER_HILL_FUNC_RESUME_TIMER] = TrainerHillResumeTimer, + [TRAINER_HILL_FUNC_SET_LOST] = TrainerHillSetPlayerLost, + [TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS] = TrainerHillGetChallengeStatus, + [TRAINER_HILL_FUNC_GET_CHALLENGE_TIME] = BufferChallengeTime, + [TRAINER_HILL_FUNC_GET_ALL_FLOORS_USED] = GetAllFloorsUsed, + [TRAINER_HILL_FUNC_CLEAR_RESULT] = ClearVarResult, + [TRAINER_HILL_FUNC_IN_CHALLENGE] = IsTrainerHillChallengeActive, + [TRAINER_HILL_FUNC_POST_BATTLE_TEXT] = ShowTrainerHillPostBattleText, + [TRAINER_HILL_FUNC_SET_ALL_TRAINER_FLAGS] = SetAllTrainerFlags, + [TRAINER_HILL_FUNC_GET_GAME_SAVED] = GetGameSaved, + [TRAINER_HILL_FUNC_SET_GAME_SAVED] = SetGameSaved, + [TRAINER_HILL_FUNC_CLEAR_GAME_SAVED] = ClearGameSaved, + [TRAINER_HILL_FUNC_GET_WON] = GetChallengeWon, + [TRAINER_HILL_FUNC_SET_TAG] = TrainerHillSetTag, }; static const u8 *const sTagMatchStrings[] = @@ -249,7 +251,7 @@ static const u8 *const sTagMatchStrings[] = gText_ExpertTagMatch, }; -static const struct EventObjectTemplate gUnknown_0862A670 = +static const struct EventObjectTemplate sTrainerEventObjectTemplate = { .graphicsId = EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, .elevation = 3, @@ -259,8 +261,18 @@ static const struct EventObjectTemplate gUnknown_0862A670 = .trainerType = 1, }; -static const u32 gUnknown_0862A688[] = {MAP_NUM(TRAINER_HILL_2F), MAP_NUM(TRAINER_HILL_3F), MAP_NUM(TRAINER_HILL_4F), MAP_NUM(TRAINER_HILL_ROOF)}; -static const u8 gUnknown_0862A698[][3] = {{0, 1, 2}, {3, 4, 5}}; +static const u32 sNextFloorMapNum[NUM_TRAINER_HILL_FLOORS] = +{ + MAP_NUM(TRAINER_HILL_2F), + MAP_NUM(TRAINER_HILL_3F), + MAP_NUM(TRAINER_HILL_4F), + MAP_NUM(TRAINER_HILL_ROOF) +}; +static const u8 sTrainerPartySlots[][PARTY_SIZE / 2] = +{ + {0, 1, 2}, + {3, 4, 5} +}; // code void CallTrainerHillFunction(void) @@ -274,8 +286,8 @@ void ResetTrainerHillResults(void) { s32 i; - gSaveBlock2Ptr->frontier.field_EF9_1 = 0; - gSaveBlock2Ptr->frontier.field_EF9_0 = 0; + gSaveBlock2Ptr->frontier.savedGame = 0; + gSaveBlock2Ptr->frontier.unk_EF9 = 0; gSaveBlock1Ptr->trainerHill.bestTime = 0; for (i = 0; i < 4; i++) SetTimerValue(&gSaveBlock1Ptr->trainerHillTimes[i], HILL_MAX_TIME); @@ -366,16 +378,16 @@ void CopyTrainerHillTrainerText(u8 which, u16 trainerId) switch (which) { - case 2: + case TRAINER_HILL_TEXT_INTRO: FrontierSpeechToString(sHillData->floors[floorId].trainers[id].speechBefore); break; - case 3: + case TRAINER_HILL_TEXT_PLAYER_LOST: FrontierSpeechToString(sHillData->floors[floorId].trainers[id].speechWin); break; - case 4: + case TRAINER_HILL_TEXT_PLAYER_WON: FrontierSpeechToString(sHillData->floors[floorId].trainers[id].speechLose); break; - case 5: + case TRAINER_HILL_TEXT_AFTER: FrontierSpeechToString(sHillData->floors[floorId].trainers[id].speechAfter); break; } @@ -391,42 +403,42 @@ static void TrainerHillStartChallenge(void) else gSaveBlock1Ptr->trainerHill.field_3D6E_0f = 0; - gSaveBlock1Ptr->trainerHill.field_3D6C = 0; + gSaveBlock1Ptr->trainerHill.unk_3D6C = 0; SetTrainerHillVBlankCounter(&gSaveBlock1Ptr->trainerHill.timer); gSaveBlock1Ptr->trainerHill.timer = 0; - gSaveBlock1Ptr->trainerHill.field_3D6E_0c = 0; - gSaveBlock1Ptr->trainerHill.field_3D6E_0b = 0; + gSaveBlock1Ptr->trainerHill.spokeToOwner = 0; + gSaveBlock1Ptr->trainerHill.checkedFinalTime = 0; gSaveBlock1Ptr->trainerHill.maybeECardScanDuringChallenge = 0; - gSaveBlock2Ptr->frontier.field_EE0 = 0; + gSaveBlock2Ptr->frontier.trainerFlags = 0; gBattleOutcome = 0; - gSaveBlock1Ptr->trainerHill.field_3D6E_0a = 0; + gSaveBlock1Ptr->trainerHill.receivedPrize = 0; } -static void sub_81D58D8(void) +static void GetOwnerState(void) { ClearTrainerHillVBlankCounter(); gSpecialVar_Result = 0; - if (gSaveBlock1Ptr->trainerHill.field_3D6E_0c) + if (gSaveBlock1Ptr->trainerHill.spokeToOwner) gSpecialVar_Result++; - if (gSaveBlock1Ptr->trainerHill.field_3D6E_0a && gSaveBlock1Ptr->trainerHill.field_3D6E_0b) + if (gSaveBlock1Ptr->trainerHill.receivedPrize && gSaveBlock1Ptr->trainerHill.checkedFinalTime) gSpecialVar_Result++; - gSaveBlock1Ptr->trainerHill.field_3D6E_0c = 1; + gSaveBlock1Ptr->trainerHill.spokeToOwner = TRUE; } -static void sub_81D5924(void) +static void GiveChallengePrize(void) { - u16 itemId = sub_81D6640(); + u16 itemId = GetPrizeItemId(); - if (sHillData->tag.numFloors != 4 || gSaveBlock1Ptr->trainerHill.field_3D6E_0a) + if (sHillData->tag.numFloors != NUM_TRAINER_HILL_FLOORS || gSaveBlock1Ptr->trainerHill.receivedPrize) { gSpecialVar_Result = 2; } else if (AddBagItem(itemId, 1) == TRUE) { CopyItemName(itemId, gStringVar2); - gSaveBlock1Ptr->trainerHill.field_3D6E_0a = 1; - gSaveBlock2Ptr->frontier.field_EF9_0 = 0; + gSaveBlock1Ptr->trainerHill.receivedPrize = TRUE; + gSaveBlock2Ptr->frontier.unk_EF9 = 0; gSpecialVar_Result = 0; } else @@ -435,9 +447,11 @@ static void sub_81D5924(void) } } -static void sub_81D59D0(void) +// If bestTime > timer, the challenge was completed faster and its a new record +// Otherwise the owner says it was a slow time and to complete it faster next time +static void CheckFinalTime(void) { - if (gSaveBlock1Ptr->trainerHill.field_3D6E_0b) + if (gSaveBlock1Ptr->trainerHill.checkedFinalTime) { gSpecialVar_Result = 2; } @@ -452,12 +466,12 @@ static void sub_81D59D0(void) gSpecialVar_Result = 1; } - gSaveBlock1Ptr->trainerHill.field_3D6E_0b = 1; + gSaveBlock1Ptr->trainerHill.checkedFinalTime = TRUE; } static void TrainerHillResumeTimer(void) { - if (!gSaveBlock1Ptr->trainerHill.field_3D6E_0c) + if (!gSaveBlock1Ptr->trainerHill.spokeToOwner) { if (gSaveBlock1Ptr->trainerHill.timer >= HILL_MAX_TIME) gSaveBlock1Ptr->trainerHill.timer = HILL_MAX_TIME; @@ -468,7 +482,7 @@ static void TrainerHillResumeTimer(void) static void TrainerHillSetPlayerLost(void) { - gSaveBlock1Ptr->trainerHill.hasLost = 1; + gSaveBlock1Ptr->trainerHill.hasLost = TRUE; } static void TrainerHillGetChallengeStatus(void) @@ -476,7 +490,7 @@ static void TrainerHillGetChallengeStatus(void) if (gSaveBlock1Ptr->trainerHill.hasLost) { // The player lost their last match. - gSaveBlock1Ptr->trainerHill.hasLost = 0; + gSaveBlock1Ptr->trainerHill.hasLost = FALSE; gSpecialVar_Result = TRAINER_HILL_PLAYER_STATUS_LOST; } else if (gSaveBlock1Ptr->trainerHill.maybeECardScanDuringChallenge) @@ -492,7 +506,7 @@ static void TrainerHillGetChallengeStatus(void) } } -static void sub_81D5B2C(void) +static void BufferChallengeTime(void) { s32 total, minutes, secondsWhole, secondsFraction; @@ -511,34 +525,38 @@ static void sub_81D5B2C(void) ConvertIntToDecimalStringN(gStringVar3, secondsFraction, STR_CONV_MODE_LEADING_ZEROS, 2); } -static void sub_81D5BBC(void) +// Returns TRUE if all 4 floors are used +// Returns FALSE otherwise, and buffers the number of floors used +// The only time fewer than all 4 floors are used is for the JP-exclusive E-Reader and Default modes +static void GetAllFloorsUsed(void) { SetUpDataStruct(); - if (sHillData->tag.numFloors != 4) + if (sHillData->tag.numFloors != NUM_TRAINER_HILL_FLOORS) { ConvertIntToDecimalStringN(gStringVar1, sHillData->tag.numFloors, STR_CONV_MODE_LEFT_ALIGN, 1); - gSpecialVar_Result = 0; + gSpecialVar_Result = FALSE; } else { - gSpecialVar_Result = 1; + gSpecialVar_Result = TRUE; } FreeDataStruct(); } -static void sub_81D5C00(void) +// May have been dummied. Every time this is called a conditional for var result occurs afterwards +static void ClearVarResult(void) { SetUpDataStruct(); gSpecialVar_Result = 0; FreeDataStruct(); } -bool8 sub_81D5C18(void) +bool8 InTrainerHillChallenge(void) { if (VarGet(VAR_TRAINER_HILL_IS_ACTIVE) == 0) return FALSE; - else if (gSaveBlock1Ptr->trainerHill.field_3D6E_0c) + else if (gSaveBlock1Ptr->trainerHill.spokeToOwner) return FALSE; else if (GetCurrentTrainerHillMapId() != 0) return TRUE; @@ -546,12 +564,12 @@ bool8 sub_81D5C18(void) return FALSE; } -static void sub_81D5C5C(void) +static void IsTrainerHillChallengeActive(void) { - if (!sub_81D5C18()) - gSpecialVar_Result = 0; + if (!InTrainerHillChallenge()) + gSpecialVar_Result = FALSE; else - gSpecialVar_Result = 1; + gSpecialVar_Result = TRUE; } void nullsub_129(void) @@ -611,12 +629,12 @@ static void SetTimerValue(u32 *dst, u32 val) *dst = val; } -void sub_81D5DF8(void) +void LoadTrainerHillEventObjectTemplates(void) { u8 i, floorId; struct EventObjectTemplate *eventTemplates = gSaveBlock1Ptr->eventObjectTemplates; - if (!sub_81D5F48()) + if (!LoadTrainerHillFloorEventObjectScripts()) return; SetUpDataStruct(); @@ -629,7 +647,7 @@ void sub_81D5DF8(void) { u8 bits; - eventTemplates[i] = gUnknown_0862A670; + eventTemplates[i] = sTrainerEventObjectTemplate; eventTemplates[i].localId = i + 1; eventTemplates[i].graphicsId = FacilityClassToGraphicsId(sHillData->floors[floorId].trainers[i].facilityClass); eventTemplates[i].x = sHillData->floors[floorId].display.coords[i] & 0xF; @@ -637,16 +655,17 @@ void sub_81D5DF8(void) bits = i << 2; 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; + eventTemplates[i].script = TrainerHill_EventScript_TrainerBattle; gSaveBlock2Ptr->frontier.trainerIds[i] = i + 1; } FreeDataStruct(); } -bool32 sub_81D5F48(void) +bool32 LoadTrainerHillFloorEventObjectScripts(void) { SetUpDataStruct(); + // Something may have been dummied here FreeDataStruct(); return TRUE; } @@ -657,8 +676,8 @@ static u32 sub_81D5F58(u8 floorId, u32 bit, u32 arg2, u32 arg3) { u32 var0, var1, var2, var3; - var0 = (sHillData->floors[floorId].unk3A0[arg2] >> (15 - bit)) & 1; - var1 = sHillData->floors[floorId].data[arg2 * arg3 + bit]; + var0 = (sHillData->floors[floorId].display.unk3A0[arg2] >> (15 - bit)) & 1; + var1 = sHillData->floors[floorId].display.data[arg2 * arg3 + bit]; var3 = 0x200; var2 = 0x3000; @@ -716,20 +735,20 @@ static u32 sub_81D5F58(u8 floorId, u32 bit, u32 arg2, u32 arg3) } #endif // NONMATCHING -void sub_81D5FB4(u16 *mapArg) +void GenerateTrainerHillFloorLayout(u16 *mapArg) { s32 i, j; u16 *src, *dst; u8 mapId = GetCurrentTrainerHillMapId(); - if (mapId == 6) + if (mapId == TRAINER_HILL_ENTRANCE) { InitMapFromSavedGame(); return; } SetUpDataStruct(); - if (mapId == 5) + if (mapId == TRAINER_HILL_ROOF) { InitMapFromSavedGame(); FreeDataStruct(); @@ -766,9 +785,9 @@ bool32 InTrainerHill(void) bool32 ret; if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_1F - || gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_2F - || gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_3F - || gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_4F) + || gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_2F + || gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_3F + || gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_4F) ret = TRUE; else ret = FALSE; @@ -778,58 +797,61 @@ bool32 InTrainerHill(void) u8 GetCurrentTrainerHillMapId(void) { - u8 ret; + u8 mapId; if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_1F) - ret = 1; + mapId = TRAINER_HILL_1F; else if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_2F) - ret = 2; + mapId = TRAINER_HILL_2F; else if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_3F) - ret = 3; + mapId = TRAINER_HILL_3F; else if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_4F) - ret = 4; + mapId = TRAINER_HILL_4F; else if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_ROOF) - ret = 5; + mapId = TRAINER_HILL_ROOF; else if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_ENTRANCE) - ret = 6; + mapId = TRAINER_HILL_ENTRANCE; else - ret = 0; + mapId = 0; - return ret; + return mapId; } -static bool32 sub_81D6100(void) +// Unused +static bool32 OnTrainerHillRoof(void) { - bool32 ret; + bool32 onRoof; if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_ROOF) - ret = TRUE; + onRoof = TRUE; else - ret = FALSE; + onRoof = FALSE; - return ret; + return onRoof; } -const struct WarpEvent* sub_81D6120(void) +const struct WarpEvent* SetWarpDestinationTrainerHill4F(void) { const struct MapHeader *header = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(TRAINER_HILL_4F), MAP_NUM(TRAINER_HILL_4F)); return &header->events->warps[1]; } -const struct WarpEvent* sub_81D6134(u8 warpEventId) +// For warping from the roof in challenges where the 4F is not the final challenge floor +// This would only occur in the JP-exclusive Default and E-Reader challenges +const struct WarpEvent* SetWarpDestinationTrainerHillFinalFloor(u8 warpEventId) { - u8 id; + u8 numFloors; const struct MapHeader *header; if (warpEventId == 1) return &gMapHeader.events->warps[1]; - id = sub_81D6490(); - if (id == 0 || id >= 5) - id = 4; + numFloors = GetNumFloorsInTrainerHillChallenge(); + if (numFloors == 0 || numFloors > NUM_TRAINER_HILL_FLOORS) + numFloors = NUM_TRAINER_HILL_FLOORS; - header = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(TRAINER_HILL_4F), gUnknown_0862A688[id - 1]); + header = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(TRAINER_HILL_4F), sNextFloorMapNum[numFloors - 1]); return &header->events->warps[0]; } @@ -843,7 +865,7 @@ bool8 GetHillTrainerFlag(u8 eventObjectId) u32 floorId = GetFloorId() * 2; u8 bitId = gEventObjects[eventObjectId].localId - 1 + floorId; - return gSaveBlock2Ptr->frontier.field_EE0 & gBitTable[bitId]; + return gSaveBlock2Ptr->frontier.trainerFlags & gBitTable[bitId]; } void SetHillTrainerFlag(void) @@ -855,7 +877,7 @@ void SetHillTrainerFlag(void) { if (gSaveBlock2Ptr->frontier.trainerIds[i] == gTrainerBattleOpponent_A) { - gSaveBlock2Ptr->frontier.field_EE0 |= gBitTable[floorId + i]; + gSaveBlock2Ptr->frontier.trainerFlags |= gBitTable[floorId + i]; break; } } @@ -866,7 +888,7 @@ void SetHillTrainerFlag(void) { if (gSaveBlock2Ptr->frontier.trainerIds[i] == gTrainerBattleOpponent_B) { - gSaveBlock2Ptr->frontier.field_EE0 |= gBitTable[floorId + i]; + gSaveBlock2Ptr->frontier.trainerFlags |= gBitTable[floorId + i]; break; } } @@ -875,19 +897,19 @@ void SetHillTrainerFlag(void) const u8 *GetTrainerHillTrainerScript(void) { - return EventScript_2C83F0; + return TrainerHill_EventScript_TrainerBattle; } -static void sub_81D62B4(void) +static void ShowTrainerHillPostBattleText(void) { - CopyTrainerHillTrainerText(5, gSpecialVar_LastTalked); + CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_AFTER, gSpecialVar_LastTalked); sub_80982B8(); } -static void sub_81D62CC(u16 trainerId, u8 firstMonId) +static void CreateNPCTrainerHillParty(u16 trainerId, u8 firstMonId) { u8 trId, level; - s32 i, floorId, arrId; + s32 i, floorId, partySlot; if (trainerId == 0 || trainerId > 2) return; @@ -896,13 +918,13 @@ static void sub_81D62CC(u16 trainerId, u8 firstMonId) SetUpDataStruct(); level = GetHighestLevelInPlayerParty(); floorId = GetFloorId(); - for (i = firstMonId, arrId = 0; i < firstMonId + 3; i++, arrId++) + for (i = firstMonId, partySlot = 0; i < firstMonId + 3; i++, partySlot++) { - u8 id = gUnknown_0862A698[trId][arrId]; + u8 id = sTrainerPartySlots[trId][partySlot]; struct Pokemon *mon = &gEnemyParty[i]; CreateBattleTowerMon(mon, &sHillData->floors[floorId].trainers[trId].mons[id]); - sub_81D642C(mon, level); + SetTrainerHillMonLevel(mon, level); } FreeDataStruct(); @@ -911,22 +933,22 @@ static void sub_81D62CC(u16 trainerId, u8 firstMonId) void FillHillTrainerParty(void) { ZeroEnemyPartyMons(); - sub_81D62CC(gTrainerBattleOpponent_A, 0); + CreateNPCTrainerHillParty(gTrainerBattleOpponent_A, 0); } void FillHillTrainersParties(void) { ZeroEnemyPartyMons(); - sub_81D62CC(gTrainerBattleOpponent_A, 0); - sub_81D62CC(gTrainerBattleOpponent_B, 3); + CreateNPCTrainerHillParty(gTrainerBattleOpponent_A, 0); + CreateNPCTrainerHillParty(gTrainerBattleOpponent_B, 3); } // This function is unused, but my best guess is // it was supposed to return AI scripts for trainer // hill trainers. -u32 sub_81D63C4(void) +u32 GetTrainerHillAIFlags(void) { - return 7; + return (AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY); } u8 GetTrainerEncounterMusicIdInTrainerHill(u16 trainerId) @@ -939,16 +961,16 @@ u8 GetTrainerEncounterMusicIdInTrainerHill(u16 trainerId) facilityClass = sHillData->floors[sHillData->floorId].trainers[trId].facilityClass; FreeDataStruct(); - for (i = 0; i < ARRAY_COUNT(gUnknown_0862A3B4); i++) + for (i = 0; i < ARRAY_COUNT(sTrainerClassesAndMusic); i++) { - if (gUnknown_0862A3B4[i].trainerClass == gFacilityClassToTrainerClass[facilityClass]) - return gUnknown_0862A3B4[i].musicId; + if (sTrainerClassesAndMusic[i].trainerClass == gFacilityClassToTrainerClass[facilityClass]) + return sTrainerClassesAndMusic[i].musicId; } return 0; } -static void sub_81D642C(struct Pokemon *mon, u8 level) +static void SetTrainerHillMonLevel(struct Pokemon *mon, u8 level) { u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); u32 exp = gExperienceTables[gBaseStats[species].growthRate][level]; @@ -958,61 +980,63 @@ static void sub_81D642C(struct Pokemon *mon, u8 level) CalculateMonStats(mon); } -u8 sub_81D6490(void) +u8 GetNumFloorsInTrainerHillChallenge(void) { - u8 ret; + u8 floors; SetUpDataStruct(); - ret = sHillData->tag.numFloors; + floors = sHillData->tag.numFloors; FreeDataStruct(); - return ret; + return floors; } -static void sub_81D64AC(void) +static void SetAllTrainerFlags(void) { - gSaveBlock2Ptr->frontier.field_EE0 = 0xFF; + gSaveBlock2Ptr->frontier.trainerFlags = 0xFF; } +// Palette never loaded, sub_81D6534 always FALSE void sub_81D64C0(void) { if (sub_81D6534() == TRUE) - LoadPalette(gUnknown_0862A5D4, 0x70, 0x20); + LoadPalette(sUnknown_0862A5D4, 0x70, 0x20); } -static void sub_81D64DC(void) +static void GetGameSaved(void) { - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_EF9_1; + gSpecialVar_Result = gSaveBlock2Ptr->frontier.savedGame; } -static void sub_81D64FC(void) +static void SetGameSaved(void) { - gSaveBlock2Ptr->frontier.field_EF9_1 = 1; + gSaveBlock2Ptr->frontier.savedGame = TRUE; } -static void sub_81D6518(void) +static void ClearGameSaved(void) { - gSaveBlock2Ptr->frontier.field_EF9_1 = 0; + gSaveBlock2Ptr->frontier.savedGame = FALSE; } +// Always FALSE bool32 sub_81D6534(void) { - if (!sub_81D5C18() || GetCurrentTrainerHillMapId() == 6) + if (!InTrainerHillChallenge() || GetCurrentTrainerHillMapId() == TRAINER_HILL_ENTRANCE) return FALSE; - sub_81D5C00(); + ClearVarResult(); if (gSpecialVar_Result == 0) return FALSE; else return TRUE; } -static void sub_81D6568(void) +static void GetChallengeWon(void) { if (gSaveBlock1Ptr->trainerHill.hasLost) - gSpecialVar_Result = 0; + gSpecialVar_Result = FALSE; else - gSpecialVar_Result = 1; + gSpecialVar_Result = TRUE; } static void TrainerHillSetTag(void) @@ -1021,49 +1045,50 @@ static void TrainerHillSetTag(void) gSaveBlock1Ptr->trainerHill.bestTime = gSaveBlock1Ptr->trainerHillTimes[gSpecialVar_0x8005]; } -static u8 sub_81D65E8(u8 arg0) +static u8 GetPrizeListId(bool8 maxTrainers) { - u8 var, i, modBy; + u8 prizeListId, i, modBy; - var = 0; - for (i = 0; i < 4; i++) + prizeListId = 0; + for (i = 0; i < NUM_TRAINER_HILL_FLOORS; i++) { - var ^= sHillData->floors[i].unk0 & 0x1F; - var ^= sHillData->floors[i].unk1 & 0x1F; + prizeListId ^= sHillData->floors[i].trainerNum1 & 0x1F; + prizeListId ^= sHillData->floors[i].trainerNum2 & 0x1F; } - if (arg0) - modBy = 10; + // Not possible to win TMs with fewer than 8 trainers + if (maxTrainers) + modBy = NUM_TRAINER_HILL_PRIZE_LISTS; else - modBy = 5; + modBy = NUM_TRAINER_HILL_PRIZE_LISTS / 2; - var %= modBy; - return var; + prizeListId %= modBy; + return prizeListId; } -static u16 sub_81D6640(void) +static u16 GetPrizeItemId(void) { u8 i; - const u16 *ptr; - s32 var = 0, var2, minutes, id; + const u16 *prizeList; + s32 var = 0, prizeListSetId, minutes, id; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_TRAINER_HILL_FLOORS; i++) { - var += sHillData->floors[i].unk0; - var += sHillData->floors[i].unk1; + var += sHillData->floors[i].trainerNum1; + var += sHillData->floors[i].trainerNum2; } - var2 = var / 256; - var2 %= 2; - if (FlagGet(FLAG_SYS_GAME_CLEAR) && sHillData->tag.unkField_0 == 8) - i = sub_81D65E8(1); + prizeListSetId = var / 256; + prizeListSetId %= 2; + if (FlagGet(FLAG_SYS_GAME_CLEAR) && sHillData->tag.numTrainers == NUM_TRAINER_HILL_TRAINERS) + i = GetPrizeListId(TRUE); else - i = sub_81D65E8(0); + i = GetPrizeListId(FALSE); if (gSaveBlock1Ptr->trainerHill.tag == HILL_TAG_EXPERT) - i = (i + 1) % 10; + i = (i + 1) % NUM_TRAINER_HILL_PRIZE_LISTS; - ptr = gUnknown_0862A5CC[var2][i]; + prizeList = sPrizeListSets[prizeListSetId][i]; minutes = (signed)(gSaveBlock1Ptr->trainerHill.timer) / (60 * 60); if (minutes < 12) id = 0; @@ -1078,5 +1103,5 @@ static u16 sub_81D6640(void) else id = 5; - return ptr[id]; + return prizeList[id]; } diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c index 047783a85c..99a3fd4c53 100644 --- a/src/trainer_pokemon_sprites.c +++ b/src/trainer_pokemon_sprites.c @@ -1,7 +1,7 @@ #include "global.h" #include "sprite.h" #include "window.h" -#include "alloc.h" +#include "malloc.h" #include "constants/species.h" #include "palette.h" #include "decompress.h" @@ -41,7 +41,7 @@ static const struct OamData gUnknown_0860B064 = static const struct OamData gUnknown_0860B06C = { - .affineMode = 1, + .affineMode = ST_OAM_AFFINE_NORMAL, .shape = SPRITE_SHAPE(64x64), .size = SPRITE_SIZE(64x64) }; diff --git a/src/trainer_see.c b/src/trainer_see.c index 22b256a995..5e843164d2 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -14,6 +14,7 @@ #include "util.h" #include "battle_pyramid.h" #include "constants/battle_setup.h" +#include "constants/event_objects.h" #include "constants/event_object_movement_constants.h" #include "constants/field_effects.h" @@ -47,11 +48,11 @@ static bool8 WaitRevealHiddenTrainer(u8 taskId, struct Task *task, struct EventO static void SpriteCB_TrainerIcons(struct Sprite *sprite); // IWRAM common -u16 gUnknown_03006080; -u8 gUnknown_03006084[4]; +u16 gWhichTrainerToFaceAfterBattle; +u8 gPostBattleMovementScript[4]; struct ApproachingTrainer gApproachingTrainers[2]; u8 gNoOfApproachingTrainers; -u8 gUnknown_030060AC; +bool8 gTrainerApproachedPlayer; // EWRAM EWRAM_DATA u8 gApproachingTrainerId = 0; @@ -96,10 +97,10 @@ static bool8 (*const sTrainerSeeFuncList2[])(u8 taskId, struct Task *task, struc static const struct OamData sOamData_Icons = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, @@ -205,7 +206,7 @@ bool8 CheckForTrainersWantingBattle(void) ResetTrainerOpponentIds(); ConfigureAndSetUpOneTrainerBattle(gApproachingTrainers[gNoOfApproachingTrainers - 1].eventObjectId, gApproachingTrainers[gNoOfApproachingTrainers - 1].trainerScriptPtr); - gUnknown_030060AC = 1; + gTrainerApproachedPlayer = TRUE; return TRUE; } else if (gNoOfApproachingTrainers == 2) @@ -218,12 +219,12 @@ bool8 CheckForTrainersWantingBattle(void) } SetUpTwoTrainersBattle(); gApproachingTrainerId = 0; - gUnknown_030060AC = 1; + gTrainerApproachedPlayer = TRUE; return TRUE; } else { - gUnknown_030060AC = 0; + gTrainerApproachedPlayer = FALSE; return FALSE; } } @@ -764,24 +765,24 @@ u8 GetChosenApproachingTrainerEventObjectId(u8 arrayId) return gApproachingTrainers[1].eventObjectId; } -void sub_80B4808(void) +void PlayerFaceTrainerAfterBattle(void) { - struct EventObject *trainerObj; + struct EventObject *eventObj; - if (gUnknown_030060AC == 1) + if (gTrainerApproachedPlayer == TRUE) { - trainerObj = &gEventObjects[gApproachingTrainers[gUnknown_03006080].eventObjectId]; - gUnknown_03006084[0] = GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection)); - gUnknown_03006084[1] = 0xFE; - ScriptMovement_StartObjectMovementScript(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gUnknown_03006084); + eventObj = &gEventObjects[gApproachingTrainers[gWhichTrainerToFaceAfterBattle].eventObjectId]; + gPostBattleMovementScript[0] = GetFaceDirectionMovementAction(GetOppositeDirection(eventObj->facingDirection)); + gPostBattleMovementScript[1] = MOVEMENT_ACTION_STEP_END; + ScriptMovement_StartObjectMovementScript(EVENT_OBJ_ID_PLAYER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gPostBattleMovementScript); } else { - trainerObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - gUnknown_03006084[0] = GetFaceDirectionMovementAction(trainerObj->facingDirection); - gUnknown_03006084[1] = 0xFE; - ScriptMovement_StartObjectMovementScript(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gUnknown_03006084); + eventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + gPostBattleMovementScript[0] = GetFaceDirectionMovementAction(eventObj->facingDirection); + gPostBattleMovementScript[1] = MOVEMENT_ACTION_STEP_END; + ScriptMovement_StartObjectMovementScript(EVENT_OBJ_ID_PLAYER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gPostBattleMovementScript); } - sub_809BE48(0xFF); + SetMovingNpcId(EVENT_OBJ_ID_PLAYER); } diff --git a/src/tv.c b/src/tv.c index ef826a4afd..2e92542530 100644 --- a/src/tv.c +++ b/src/tv.c @@ -1,7 +1,6 @@ #include "global.h" #include "rtc.h" #include "overworld.h" -#include "constants/maps.h" #include "random.h" #include "event_data.h" #include "fieldmap.h" @@ -14,12 +13,9 @@ #include "pokemon_storage_system.h" #include "field_message_box.h" #include "easy_chat.h" -#include "constants/species.h" -#include "constants/moves.h" #include "battle.h" #include "battle_tower.h" #include "contest.h" -#include "constants/items.h" #include "item.h" #include "link.h" #include "main.h" @@ -31,15 +27,23 @@ #include "text.h" #include "script_menu.h" #include "naming_screen.h" -#include "alloc.h" +#include "malloc.h" #include "region_map.h" -#include "constants/region_map_sections.h" #include "decoration.h" #include "secret_base.h" #include "tv.h" #include "data.h" +#include "constants/battle_frontier.h" +#include "constants/contest.h" +#include "constants/items.h" #include "constants/layouts.h" +#include "constants/maps.h" #include "constants/metatile_behaviors.h" +#include "constants/moves.h" +#include "constants/region_map_sections.h" +#include "constants/script_menu.h" +#include "constants/species.h" +#include "constants/tv.h" // Static type declarations @@ -182,7 +186,7 @@ static void DoTVShowPokemonContestLiveUpdates2(void); static const struct { u16 species; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u8 level; u8 location; } sPokeOutbreakSpeciesList[] = { @@ -633,50 +637,51 @@ static const u8 *const sTVWhatsNo1InHoennTodayTextGroup[] = { gTVWhatsNo1InHoennTodayText08 }; -static const u8 *const sTVSecretBaseSecretsTextGroup[] = { - gTVSecretBaseSecretsText00, - gTVSecretBaseSecretsText01, - gTVSecretBaseSecretsText02, - gTVSecretBaseSecretsText03, - gTVSecretBaseSecretsText04, - gTVSecretBaseSecretsText05, - gTVSecretBaseSecretsText06, - gTVSecretBaseSecretsText07, - gTVSecretBaseSecretsText08, - gTVSecretBaseSecretsText09, - gTVSecretBaseSecretsText10, - gTVSecretBaseSecretsText11, - gTVSecretBaseSecretsText12, - gTVSecretBaseSecretsText13, - gTVSecretBaseSecretsText14, - gTVSecretBaseSecretsText15, - gTVSecretBaseSecretsText16, - gTVSecretBaseSecretsText17, - gTVSecretBaseSecretsText18, - gTVSecretBaseSecretsText19, - gTVSecretBaseSecretsText20, - gTVSecretBaseSecretsText21, - gTVSecretBaseSecretsText22, - gTVSecretBaseSecretsText23, - gTVSecretBaseSecretsText24, - gTVSecretBaseSecretsText25, - gTVSecretBaseSecretsText26, - gTVSecretBaseSecretsText27, - gTVSecretBaseSecretsText28, - gTVSecretBaseSecretsText29, - gTVSecretBaseSecretsText30, - gTVSecretBaseSecretsText31, - gTVSecretBaseSecretsText32, - gTVSecretBaseSecretsText33, - gTVSecretBaseSecretsText34, - gTVSecretBaseSecretsText35, - gTVSecretBaseSecretsText36, - gTVSecretBaseSecretsText37, - gTVSecretBaseSecretsText38, - gTVSecretBaseSecretsText39, - gTVSecretBaseSecretsText40, - gTVSecretBaseSecretsText41, - gTVSecretBaseSecretsText42 +static const u8 *const sTVSecretBaseSecretsTextGroup[SBSECRETS_NUM_STATES] = +{ + [SBSECRETS_STATE_INTRO] = TVSecretBaseSecrets_Text_Intro, + [SBSECRETS_STATE_DO_NEXT1] = TVSecretBaseSecrets_Text_WhatWillPlayerDoNext1, + [SBSECRETS_STATE_DO_NEXT2] = TVSecretBaseSecrets_Text_WhatWillPlayerDoNext2, + [SBSECRETS_STATE_TOOK_X_STEPS] = TVSecretBaseSecrets_Text_TookXStepsBeforeLeaving, + [SBSECRETS_STATE_BASE_INTEREST_LOW] = TVSecretBaseSecrets_Text_BaseFailedToInterestPlayer, + [SBSECRETS_STATE_BASE_INTEREST_MED] = TVSecretBaseSecrets_Text_PlayerEnjoyedBase, + [SBSECRETS_STATE_BASE_INTEREST_HIGH] = TVSecretBaseSecrets_Text_PlayerHugeFanOfBase, + [SBSECRETS_STATE_OUTRO] = TVSecretBaseSecrets_Text_Outro, + [SBSECRETS_STATE_NOTHING_USED1] = TVSecretBaseSecrets_Text_StoppedMoving1, + [SBSECRETS_STATE_NOTHING_USED2] = TVSecretBaseSecrets_Text_StoppedMoving2, + [SBSECRETS_STATE_USED_CHAIR] = TVSecretBaseSecrets_Text_UsedChair, + [SBSECRETS_STATE_USED_BALLOON] = TVSecretBaseSecrets_Text_UsedBalloon, + [SBSECRETS_STATE_USED_TENT] = TVSecretBaseSecrets_Text_UsedTent, + [SBSECRETS_STATE_USED_PLANT] = TVSecretBaseSecrets_Text_UsedPlant, + [SBSECRETS_STATE_USED_GOLD_SHIELD] = TVSecretBaseSecrets_Text_UsedGoldShield, + [SBSECRETS_STATE_USED_SILVER_SHIELD] = TVSecretBaseSecrets_Text_UsedSilverShield, + [SBSECRETS_STATE_USED_GLASS_ORNAMENT] = TVSecretBaseSecrets_Text_UsedGlassOrnament, + [SBSECRETS_STATE_USED_TV] = TVSecretBaseSecrets_Text_UsedTV, + [SBSECRETS_STATE_USED_MUD_BALL] = TVSecretBaseSecrets_Text_UsedMudBall, + [SBSECRETS_STATE_USED_BAG] = TVSecretBaseSecrets_Text_UsedBag, + [SBSECRETS_STATE_USED_CUSHION] = TVSecretBaseSecrets_Text_UsedCushion, + [SBSECRETS_STATE_HIT_CUSHION] = TVSecretBaseSecrets_Text_HitCushion, + [SBSECRETS_STATE_HUGGED_CUSHION] = TVSecretBaseSecrets_Text_HuggedCushion, + [SBSECRETS_STATE_BATTLED_WON] = TVSecretBaseSecrets_Text_BattledWon, + [SBSECRETS_STATE_BATTLED_LOST] = TVSecretBaseSecrets_Text_BattledLost, + [SBSECRETS_STATE_DECLINED_BATTLE] = TVSecretBaseSecrets_Text_DeclinedBattle, + [SBSECRETS_STATE_USED_POSTER] = TVSecretBaseSecrets_Text_UsedPoster, + [SBSECRETS_STATE_USED_NOTE_MAT] = TVSecretBaseSecrets_Text_UsedNoteMat, + [SBSECRETS_STATE_BATTLED_DRAW] = TVSecretBaseSecrets_Text_BattledDraw, + [SBSECRETS_STATE_USED_SPIN_MAT] = TVSecretBaseSecrets_Text_UsedSpinMat, + [SBSECRETS_STATE_USED_SAND_ORNAMENT] = TVSecretBaseSecrets_Text_UsedSandOrnament, + [SBSECRETS_STATE_USED_DESK] = TVSecretBaseSecrets_Text_UsedDesk, + [SBSECRETS_STATE_USED_BRICK] = TVSecretBaseSecrets_Text_UsedBrick, + [SBSECRETS_STATE_USED_SOLID_BOARD] = TVSecretBaseSecrets_Text_UsedSolidBoard, + [SBSECRETS_STATE_USED_FENCE] = TVSecretBaseSecrets_Text_UsedFence, + [SBSECRETS_STATE_USED_GLITTER_MAT] = TVSecretBaseSecrets_Text_UsedGlitterMat, + [SBSECRETS_STATE_USED_TIRE] = TVSecretBaseSecrets_Text_UsedTire, + [SBSECRETS_STATE_USED_STAND] = TVSecretBaseSecrets_Text_UsedStand, + [SBSECRETS_STATE_USED_BREAKABLE_DOOR] = TVSecretBaseSecrets_Text_BrokeDoor, + [SBSECRETS_STATE_USED_DOLL] = TVSecretBaseSecrets_Text_UsedDoll, + [SBSECRETS_STATE_USED_SLIDE] = TVSecretBaseSecrets_Text_UsedSlide, + [SBSECRETS_STATE_DECLINED_SLIDE] = TVSecretBaseSecrets_Text_UsedSlideButDidntGoDown, + [SBSECRETS_STATE_USED_JUMP_MAT] = TVSecretBaseSecrets_Text_UsedJumpMat }; static const u8 *const sTVSafariFanClubTextGroup[] = { @@ -705,39 +710,42 @@ static const u8 *const sTVInSearchOfTrainersTextGroup[] = { gTVInSearchOfTrainersText08 }; -const u8 sTVSecretBaseSecretsStateLookup[] = { - 0x0a, - 0x0b, - 0x0c, - 0x0d, - 0x0e, - 0x0f, - 0x10, - 0x11, - 0x12, - 0x13, - 0x14, - 0x17, - 0x18, - 0x19, - 0x1a, - 0x1b, - 0x1c, - 0x1d, - 0x1e, - 0x1f, - 0x20, - 0x21, - 0x22, - 0x23, - 0x24, - 0x25, - 0x26, - 0x27, - 0x28, - 0x29, - 0x2a, - 0x2b +// Secret Base Secrets TV Show states for actions that can be taken in a secret base +// The flags that determine whether or not the action was taken are commented +const u8 sTVSecretBaseSecretsActions[NUM_SECRET_BASE_FLAGS] = +{ + SBSECRETS_STATE_USED_CHAIR, // SECRET_BASE_USED_CHAIR + SBSECRETS_STATE_USED_BALLOON, // SECRET_BASE_USED_BALLOON + SBSECRETS_STATE_USED_TENT, // SECRET_BASE_USED_TENT + SBSECRETS_STATE_USED_PLANT, // SECRET_BASE_USED_PLANT + SBSECRETS_STATE_USED_GOLD_SHIELD, // SECRET_BASE_USED_GOLD_SHIELD + SBSECRETS_STATE_USED_SILVER_SHIELD, // SECRET_BASE_USED_SILVER_SHIELD + SBSECRETS_STATE_USED_GLASS_ORNAMENT, // SECRET_BASE_USED_GLASS_ORNAMENT + SBSECRETS_STATE_USED_TV, // SECRET_BASE_USED_TV + SBSECRETS_STATE_USED_MUD_BALL, // SECRET_BASE_USED_MUD_BALL + SBSECRETS_STATE_USED_BAG, // SECRET_BASE_USED_BAG + SBSECRETS_STATE_USED_CUSHION, // SECRET_BASE_USED_CUSHION + SBSECRETS_STATE_BATTLED_WON, // SECRET_BASE_BATTLED_WON + SBSECRETS_STATE_BATTLED_LOST, // SECRET_BASE_BATTLED_LOST + SBSECRETS_STATE_DECLINED_BATTLE, // SECRET_BASE_DECLINED_BATTLE + SBSECRETS_STATE_USED_POSTER, // SECRET_BASE_USED_POSTER + SBSECRETS_STATE_USED_NOTE_MAT, // SECRET_BASE_USED_NOTE_MAT + SBSECRETS_STATE_BATTLED_DRAW, // SECRET_BASE_BATTLED_DRAW + SBSECRETS_STATE_USED_SPIN_MAT, // SECRET_BASE_USED_SPIN_MAT + SBSECRETS_STATE_USED_SAND_ORNAMENT, // SECRET_BASE_USED_SAND_ORNAMENT + SBSECRETS_STATE_USED_DESK, // SECRET_BASE_USED_DESK + SBSECRETS_STATE_USED_BRICK, // SECRET_BASE_USED_BRICK + SBSECRETS_STATE_USED_SOLID_BOARD, // SECRET_BASE_USED_SOLID_BOARD + SBSECRETS_STATE_USED_FENCE, // SECRET_BASE_USED_FENCE + SBSECRETS_STATE_USED_GLITTER_MAT, // SECRET_BASE_USED_GLITTER_MAT + SBSECRETS_STATE_USED_TIRE, // SECRET_BASE_USED_TIRE + SBSECRETS_STATE_USED_STAND, // SECRET_BASE_USED_STAND + SBSECRETS_STATE_USED_BREAKABLE_DOOR, // SECRET_BASE_USED_BREAKABLE_DOOR + SBSECRETS_STATE_USED_DOLL, // SECRET_BASE_USED_DOLL + SBSECRETS_STATE_USED_SLIDE, // SECRET_BASE_USED_SLIDE + SBSECRETS_STATE_DECLINED_SLIDE, // SECRET_BASE_DECLINED_SLIDE + SBSECRETS_STATE_USED_JUMP_MAT, // SECRET_BASE_USED_JUMP_MAT + SBSECRETS_NUM_STATES // SECRET_BASE_UNUSED_FLAG. Odd that this is included, if it were used it would overflow sTVSecretBaseSecretsTextGroup }; // .text @@ -759,7 +767,7 @@ void ClearTVShowData(void) ClearPokemonNews(); } -u8 special_0x44(void) +u8 GetRandomActiveShowIdx(void) { u8 i; u8 j; @@ -768,10 +776,8 @@ u8 special_0x44(void) for (i = 5; i < ARRAY_COUNT(gSaveBlock1Ptr->tvShows) - 1; i ++) { - if (gSaveBlock1Ptr->tvShows[i].common.kind == 0) - { + if (gSaveBlock1Ptr->tvShows[i].common.kind == TVSHOW_OFF_AIR) break; - } } j = Random() % i; selIdx = j; @@ -780,44 +786,38 @@ u8 special_0x44(void) if (GetTVChannelByShowType(gSaveBlock1Ptr->tvShows[j].common.kind) != 4) { if (gSaveBlock1Ptr->tvShows[j].common.active == TRUE) - { return j; - } } else { show = &gSaveBlock1Ptr->tvShows[j]; if (show->massOutbreak.daysLeft == 0 && show->massOutbreak.active == TRUE) - { return j; - } } + if (j == 0) - { j = ARRAY_COUNT(gSaveBlock1Ptr->tvShows) - 2; - } else - { j --; - } + } while (j != selIdx); return 0xFF; } u8 FindAnyTVShowOnTheAir(void) { - u8 response; + u8 show; - response = special_0x44(); - if (response == 0xFF) + show = GetRandomActiveShowIdx(); + if (show == 0xFF) { return 0xFF; } - if (gSaveBlock1Ptr->outbreakPokemonSpecies != SPECIES_NONE && gSaveBlock1Ptr->tvShows[response].common.kind == TVSHOW_MASS_OUTBREAK) + if (gSaveBlock1Ptr->outbreakPokemonSpecies != SPECIES_NONE && gSaveBlock1Ptr->tvShows[show].common.kind == TVSHOW_MASS_OUTBREAK) { return FindFirstActiveTVShowThatIsNotAMassOutbreak(); } - return response; + return show; } void UpdateTVScreensOnMap(int width, int height) @@ -873,7 +873,7 @@ void TurnOnTVScreen(void) DrawWholeMapView(); } -u8 special_0x45(void) +u8 GetSelectedTVShow(void) { return gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004].common.kind; } @@ -884,7 +884,7 @@ u8 FindFirstActiveTVShowThatIsNotAMassOutbreak(void) for (i = 0; i < ARRAY_COUNT(gSaveBlock1Ptr->tvShows) - 1; i ++) { - if (gSaveBlock1Ptr->tvShows[i].common.kind != 0 && gSaveBlock1Ptr->tvShows[i].common.kind != TVSHOW_MASS_OUTBREAK && gSaveBlock1Ptr->tvShows[i].common.active == TRUE) + if (gSaveBlock1Ptr->tvShows[i].common.kind != TVSHOW_OFF_AIR && gSaveBlock1Ptr->tvShows[i].common.kind != TVSHOW_MASS_OUTBREAK && gSaveBlock1Ptr->tvShows[i].common.active == TRUE) { return i; } @@ -892,7 +892,7 @@ u8 FindFirstActiveTVShowThatIsNotAMassOutbreak(void) return 0xFF; } -u8 special_0x4a(void) +u8 GetNextActiveShowIfMassOutbreak(void) { TVShow *tvShow; @@ -1543,12 +1543,12 @@ static void InterviewAfter_BravoTrainerBattleTowerProfile(void) show->bravoTrainerTower.kind = TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE; show->bravoTrainerTower.active = TRUE; StringCopy(show->bravoTrainerTower.trainerName, gSaveBlock2Ptr->playerName); - StringCopy(show->bravoTrainerTower.pokemonName, gSaveBlock2Ptr->frontier.field_BD8); - show->bravoTrainerTower.species = gSaveBlock2Ptr->frontier.field_BD4; - show->bravoTrainerTower.defeatedSpecies = gSaveBlock2Ptr->frontier.field_BD6; - show->bravoTrainerTower.numFights = GetCurrentBattleTowerWinStreak(gSaveBlock2Ptr->frontier.field_D07, 0); - show->bravoTrainerTower.wonTheChallenge = gSaveBlock2Ptr->frontier.field_D06; - if (gSaveBlock2Ptr->frontier.field_D07 == 0) + StringCopy(show->bravoTrainerTower.pokemonName, gSaveBlock2Ptr->frontier.towerInterview.opponentName); + show->bravoTrainerTower.species = gSaveBlock2Ptr->frontier.towerInterview.playerSpecies; + show->bravoTrainerTower.defeatedSpecies = gSaveBlock2Ptr->frontier.towerInterview.opponentSpecies; + show->bravoTrainerTower.numFights = GetCurrentBattleTowerWinStreak(gSaveBlock2Ptr->frontier.towerLvlMode, 0); + show->bravoTrainerTower.wonTheChallenge = gSaveBlock2Ptr->frontier.towerBattleOutcome; + if (gSaveBlock2Ptr->frontier.towerLvlMode == FRONTIER_LVL_50) { show->bravoTrainerTower.btLevel = 50; } @@ -1559,13 +1559,13 @@ static void InterviewAfter_BravoTrainerBattleTowerProfile(void) show->bravoTrainerTower.interviewResponse = gSpecialVar_0x8004; tv_store_id_2x(show); show->bravoTrainerTower.language = gGameLanguage; - if (show->bravoTrainerTower.language == LANGUAGE_JAPANESE || gSaveBlock2Ptr->frontier.field_BEB == LANGUAGE_JAPANESE) + if (show->bravoTrainerTower.language == LANGUAGE_JAPANESE || gSaveBlock2Ptr->frontier.towerInterview.opponentLanguage == LANGUAGE_JAPANESE) { show->bravoTrainerTower.pokemonNameLanguage = LANGUAGE_JAPANESE; } else { - show->bravoTrainerTower.pokemonNameLanguage = gSaveBlock2Ptr->frontier.field_BEB; + show->bravoTrainerTower.pokemonNameLanguage = gSaveBlock2Ptr->frontier.towerInterview.opponentLanguage; } } @@ -1593,7 +1593,7 @@ void SaveRecordedItemPurchasesForTVShow(void) show->smartshopperShow.itemIds[i] = gMartPurchaseHistory[i].itemId; show->smartshopperShow.itemAmounts[i] = gMartPurchaseHistory[i].quantity; } - show->smartshopperShow.priceReduced = GetPriceReduction(1); + show->smartshopperShow.priceReduced = GetPriceReduction(POKENEWS_SLATEPORT); StringCopy(show->smartshopperShow.playerName, gSaveBlock2Ptr->playerName); tv_store_id_3x(show); show->smartshopperShow.language = gGameLanguage; @@ -1953,11 +1953,11 @@ void sub_80EDB44(void) show->rivalTrainer.badgeCount = nBadges; if (IsNationalPokedexEnabled()) { - show->rivalTrainer.dexCount = GetNationalPokedexCount(0x01); + show->rivalTrainer.dexCount = GetNationalPokedexCount(FLAG_GET_CAUGHT); } else { - show->rivalTrainer.dexCount = GetHoennPokedexCount(0x01); + show->rivalTrainer.dexCount = GetHoennPokedexCount(FLAG_GET_CAUGHT); } show->rivalTrainer.location = gMapHeader.regionMapSectionId; show->rivalTrainer.mapLayoutId = gMapHeader.mapLayoutId; @@ -2000,7 +2000,7 @@ void sub_80EDC60(const u16 *words) } } -void sub_80EDCE8(void) +void TryPutTreasureInvestigatorsOnAir(void) { TVShow *show; @@ -2295,7 +2295,7 @@ void sub_80EE184(void) } } -void sub_80EE2CC(void) +void TryPutLotteryWinnerReportOnAir(void) { TVShow *show; @@ -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]) { @@ -2362,7 +2362,7 @@ void sub_80EE44C(u8 nMonsCaught, u8 nPkblkUsed) } } -void sub_80EE4DC(struct Pokemon *pokemon, u8 ribbonMonDataIdx) +void TryPutSpotTheCutiesOnAir(struct Pokemon *pokemon, u8 ribbonMonDataIdx) { TVShow *show; @@ -2437,7 +2437,7 @@ u8 TV_MonDataIdxToRibbon(u8 monDataIdx) return 0; } -void sub_80EE72C(void) +void TrySetUpTrainerFanClubSpecial(void) { TVShow *show; @@ -2455,26 +2455,23 @@ void sub_80EE72C(void) } } -bool8 sub_80EE7C0(void) +bool8 ShouldHideFanClubInterviewer(void) { sCurTVShowSlot = FindEmptyTVSlotWithinFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows); if (sCurTVShowSlot == -1) - { return TRUE; - } + FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_FAN_CLUB_SPECIAL); if (gSpecialVar_Result == TRUE) - { return TRUE; - } + if (gSaveBlock1Ptr->linkBattleRecords.entries[0].name[0] == EOS) - { return TRUE; - } + return FALSE; } -bool8 sub_80EE818(void) +bool8 ShouldAirFrontierTVShow(void) { u32 playerId; u8 showIdx; @@ -2502,7 +2499,7 @@ bool8 sub_80EE818(void) return TRUE; } -void sub_80EE8C8(u16 winStreak, u8 facilityAndMode) +void TryPutFrontierTVShowOnAir(u16 winStreak, u8 facilityAndMode) { TVShow *show; @@ -2551,7 +2548,7 @@ void sub_80EE8C8(u16 winStreak, u8 facilityAndMode) } } -void sub_80EEA70(void) +void TryPutSecretBaseSecretsOnAir(void) { TVShow *show; u8 strbuf[32]; @@ -2623,37 +2620,37 @@ static void sub_80EEBF4(u8 actionIdx) } } -void sub_80EEC80(void) +void IncrementDailySlotsUses(void) { VarSet(VAR_DAILY_SLOTS, VarGet(VAR_DAILY_SLOTS) + 1); } -void sub_80EECA4(void) +void IncrementDailyRouletteUses(void) { VarSet(VAR_DAILY_ROULETTE, VarGet(VAR_DAILY_ROULETTE) + 1); } -void sub_80EECC8(void) +void IncrementDailyWildBattles(void) { VarSet(VAR_DAILY_WILDS, VarGet(VAR_DAILY_WILDS) + 1); } -void sub_80EECEC(void) +void IncrementDailyBerryBlender(void) { VarSet(VAR_DAILY_BLENDER, VarGet(VAR_DAILY_BLENDER) + 1); } -void sub_80EED10(void) +void IncrementDailyPlantedBerries(void) { VarSet(VAR_DAILY_PLANTED_BERRIES, VarGet(VAR_DAILY_PLANTED_BERRIES) + 1); } -void sub_80EED34(void) +void IncrementDailyPickedBerries(void) { VarSet(VAR_DAILY_PICKED_BERRIES, VarGet(VAR_DAILY_PICKED_BERRIES) + gSpecialVar_0x8006); } -void sub_80EED60(u16 delta) +void IncrementDailyBattlePoints(u16 delta) { VarSet(VAR_DAILY_BP, VarGet(VAR_DAILY_BP) + delta); } @@ -2786,11 +2783,11 @@ bool8 GetPriceReduction(u8 newsKind) { u8 i; - if (newsKind == 0) + if (newsKind == POKENEWS_NONE) { return FALSE; } - for (i = 0; i < 16; i ++) + for (i = 0; i < POKE_NEWS_COUNT; i ++) { if (gSaveBlock1Ptr->pokeNews[i].kind == newsKind) { @@ -2870,17 +2867,17 @@ void CopyContestRankToStringVar(u8 varIdx, u8 rank) { switch (rank) { - case 0: // NORMAL - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[5]); + case CONTEST_RANK_NORMAL: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_NORMAL]); break; - case 1: // SUPER - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[6]); + case CONTEST_RANK_SUPER: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_SUPER]); break; - case 2: // HYPER - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[7]); + case CONTEST_RANK_HYPER: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_HYPER]); break; - case 3: // MASTER - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[8]); + case CONTEST_RANK_MASTER: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_MASTER]); break; } } @@ -2889,20 +2886,20 @@ void CopyContestCategoryToStringVar(u8 varIdx, u8 category) { switch (category) { - case 0: // COOL - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[0]); + case CONTEST_CATEGORY_COOL: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_COOL]); break; - case 1: // BEAUTY - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[1]); + case CONTEST_CATEGORY_BEAUTY: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_BEAUTY]); break; - case 2: // CUTE - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[2]); + case CONTEST_CATEGORY_CUTE: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_CUTE]); break; - case 3: // SMART - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[3]); + case CONTEST_CATEGORY_SMART: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_SMART]); break; - case 4: // TOUGH - StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[4]); + case CONTEST_CATEGORY_TOUGH: + StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_TOUGH]); break; } } @@ -3146,7 +3143,7 @@ static void InterviewBefore_FanClubSpecial(void) } } -bool8 sub_80EF88C(u8 monIdx) +static bool8 IsPartyMonNicknamedOrNotEnglish(u8 monIdx) { struct Pokemon *pokemon; u8 language; @@ -3161,9 +3158,9 @@ bool8 sub_80EF88C(u8 monIdx) return TRUE; } -bool8 sub_80EF8F8(void) +bool8 IsLeadMonNicknamedOrNotEnglish(void) { - return sub_80EF88C(GetLeadMonIndex()); + return IsPartyMonNicknamedOrNotEnglish(GetLeadMonIndex()); } void DeleteTVShowInArrayByIdx(TVShow *shows, u8 idx) @@ -3433,13 +3430,14 @@ bool8 TV_IsScriptShowKindAlreadyInQueue(void) return FALSE; } -bool8 TV_PutNameRaterShowOnTheAirIfNicknameChanged(void) +bool8 TryPutNameRaterShowOnTheAir(void) { GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar1); + + // Nickname wasnt changed if (!StringCompare(gStringVar3, gStringVar1)) - { return FALSE; - } + PutNameRaterShowOnTheAir(); return TRUE; } @@ -3475,22 +3473,18 @@ void ChangeBoxPokemonNickname_CB(void) CB2_ReturnToFieldContinueScriptPlayMapMusic(); } -void TV_CopyNicknameToStringVar1AndEnsureTerminated(void) +void BufferMonNickname(void) { GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar1); StringGetEnd10(gStringVar1); } -void TV_CheckMonOTIDEqualsPlayerID(void) +void IsMonOTIDNotPlayers(void) { if (GetPlayerIDAsU32() == GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_OT_ID, NULL)) - { gSpecialVar_Result = FALSE; - } else - { gSpecialVar_Result = TRUE; - } } u8 GetTVChannelByShowType(u8 kind) @@ -3601,7 +3595,7 @@ void GetMomOrDadStringForTVMessage(void) } } -void sub_80F01B8(void) +void HideBattleTowerReporter(void) { VarSet(VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0); RemoveEventObjectByLocalIdAndMap(5, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); @@ -7350,35 +7344,32 @@ static void DoTVShowWhatsNo1InHoennToday(void) ShowFieldMessage(sTVWhatsNo1InHoennTodayTextGroup[state]); } -u8 TVShowGetFlagCount(TVShow *show) +u8 SecretBaseSecrets_GetNumActionsTaken(TVShow *show) { u8 i; - u8 tot; + u8 flagsSet; - for (i = 0, tot = 0; i < 32; i ++) + for (i = 0, flagsSet = 0; i < NUM_SECRET_BASE_FLAGS; i ++) { if ((show->secretBaseSecrets.flags >> i) & 1) - { - tot ++; - } + flagsSet++; } - return tot; + return flagsSet; } -static u8 SecretBaseSecrets_GetStateForFlagNumber(TVShow *show, u8 a1) +static u8 SecretBaseSecrets_GetStateByFlagNumber(TVShow *show, u8 flagId) { u8 i; - u8 tot; + u8 flagsSet; - for (i = 0, tot = 0; i < 32; i ++) + for (i = 0, flagsSet = 0; i < NUM_SECRET_BASE_FLAGS; i ++) { if ((show->secretBaseSecrets.flags >> i) & 1) { - if (tot == a1) - { - return sTVSecretBaseSecretsStateLookup[i]; - } - tot ++; + if (flagsSet == flagId) + return sTVSecretBaseSecretsActions[i]; + + flagsSet++; } } return 0; @@ -7388,7 +7379,7 @@ static void DoTVShowSecretBaseSecrets(void) { TVShow *show; u8 state; - u8 bitCount; + u8 numActions; u16 i; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; @@ -7396,226 +7387,128 @@ static void DoTVShowSecretBaseSecrets(void) state = sTVShowState; switch (state) { - case 0: + case SBSECRETS_STATE_INTRO: TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage); TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language); - bitCount = TVShowGetFlagCount(show); - if (bitCount == 0) + numActions = SecretBaseSecrets_GetNumActionsTaken(show); + if (numActions == 0) { - sTVShowState = 8; + sTVShowState = SBSECRETS_STATE_NOTHING_USED1; } else { - show->secretBaseSecrets.savedState = 1; - sTVSecretBaseSecretsRandomValues[0] = Random() % bitCount; - sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[0]); + show->secretBaseSecrets.savedState = SBSECRETS_STATE_DO_NEXT1; + sTVSecretBaseSecretsRandomValues[0] = Random() % numActions; + sTVShowState = SecretBaseSecrets_GetStateByFlagNumber(show, sTVSecretBaseSecretsRandomValues[0]); } break; - case 1: + case SBSECRETS_STATE_DO_NEXT1: TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language); - bitCount = TVShowGetFlagCount(show); - switch (bitCount) + numActions = SecretBaseSecrets_GetNumActionsTaken(show); + switch (numActions) { case 1: - sTVShowState = 9; + sTVShowState = SBSECRETS_STATE_NOTHING_USED2; break; case 2: - show->secretBaseSecrets.savedState = 2; + show->secretBaseSecrets.savedState = SBSECRETS_STATE_DO_NEXT2; if (sTVSecretBaseSecretsRandomValues[0] == 0) { - sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, 1); + sTVShowState = SecretBaseSecrets_GetStateByFlagNumber(show, 1); } else { - sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, 0); + sTVShowState = SecretBaseSecrets_GetStateByFlagNumber(show, 0); } break; default: for (i = 0; i < 0xFFFF; i ++) { - sTVSecretBaseSecretsRandomValues[1] = Random() % bitCount; + sTVSecretBaseSecretsRandomValues[1] = Random() % numActions; if (sTVSecretBaseSecretsRandomValues[1] != sTVSecretBaseSecretsRandomValues[0]) { break; } } - show->secretBaseSecrets.savedState = 2; - sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[1]); + show->secretBaseSecrets.savedState = SBSECRETS_STATE_DO_NEXT2; + sTVShowState = SecretBaseSecrets_GetStateByFlagNumber(show, sTVSecretBaseSecretsRandomValues[1]); break; } break; - case 2: + case SBSECRETS_STATE_DO_NEXT2: TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language); - bitCount = TVShowGetFlagCount(show); - if (bitCount == 2) + numActions = SecretBaseSecrets_GetNumActionsTaken(show); + if (numActions == 2) { - sTVShowState = 9; + sTVShowState = SBSECRETS_STATE_NOTHING_USED2; } else { for (i = 0; i < 0xFFFF; i ++) { - sTVSecretBaseSecretsRandomValues[2] = Random() % bitCount; + sTVSecretBaseSecretsRandomValues[2] = Random() % numActions; if (sTVSecretBaseSecretsRandomValues[2] != sTVSecretBaseSecretsRandomValues[0] && sTVSecretBaseSecretsRandomValues[2] != sTVSecretBaseSecretsRandomValues[1]) { break; } } - show->secretBaseSecrets.savedState = 3; - sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[2]); + show->secretBaseSecrets.savedState = SBSECRETS_STATE_TOOK_X_STEPS; + sTVShowState = SecretBaseSecrets_GetStateByFlagNumber(show, sTVSecretBaseSecretsRandomValues[2]); } break; - case 3: + case SBSECRETS_STATE_TOOK_X_STEPS: TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage); TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language); TV_PrintIntToStringVar(2, show->secretBaseSecrets.stepsInBase); if (show->secretBaseSecrets.stepsInBase <= 30) { - sTVShowState = 4; + sTVShowState = SBSECRETS_STATE_BASE_INTEREST_LOW; } else if (show->secretBaseSecrets.stepsInBase <= 100) { - sTVShowState = 5; + sTVShowState = SBSECRETS_STATE_BASE_INTEREST_MED; } else { - sTVShowState = 6; + sTVShowState = SBSECRETS_STATE_BASE_INTEREST_HIGH; } break; - case 4: + case SBSECRETS_STATE_BASE_INTEREST_LOW ... SBSECRETS_STATE_BASE_INTEREST_HIGH: TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage); TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language); - sTVShowState = 7; + sTVShowState = SBSECRETS_STATE_OUTRO; break; - case 5: - TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage); - TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language); - sTVShowState = 7; - break; - case 6: - TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage); - TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language); - sTVShowState = 7; - break; - case 7: + case SBSECRETS_STATE_OUTRO: TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage); TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language); TVShowDone(); break; - case 8: - sTVShowState = 3; + // All below states are descriptions of what the player interacted with while in the secret base + case SBSECRETS_STATE_NOTHING_USED1: + sTVShowState = SBSECRETS_STATE_TOOK_X_STEPS; break; - case 9: - sTVShowState = 3; + case SBSECRETS_STATE_NOTHING_USED2: + sTVShowState = SBSECRETS_STATE_TOOK_X_STEPS; break; - case 10: + case SBSECRETS_STATE_USED_CHAIR ... SBSECRETS_STATE_USED_MUD_BALL: sTVShowState = show->secretBaseSecrets.savedState; break; - case 11: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 12: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 13: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 14: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 15: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 16: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 17: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 18: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 19: + case SBSECRETS_STATE_USED_BAG: StringCopy(gStringVar2, ItemId_GetName(show->secretBaseSecrets.item)); sTVShowState = show->secretBaseSecrets.savedState; break; - case 20: + case SBSECRETS_STATE_USED_CUSHION: + // Randomly decide based on trainer ID if the player hugged or hit the cushion if (show->common.trainerIdLo & 1) { - sTVShowState = 22; + sTVShowState = SBSECRETS_STATE_HUGGED_CUSHION; } else { - sTVShowState = 21; + sTVShowState = SBSECRETS_STATE_HIT_CUSHION; } break; - case 21: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 22: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 23: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 24: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 25: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 26: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 27: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 28: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 29: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 30: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 31: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 32: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 33: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 34: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 35: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 36: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 37: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 38: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 39: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 40: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 41: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 42: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 43: + case SBSECRETS_STATE_HIT_CUSHION ... SBSECRETS_NUM_STATES: sTVShowState = show->secretBaseSecrets.savedState; break; } diff --git a/src/union_room.c b/src/union_room.c index 01288c8cc0..4eea421baa 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "battle.h" #include "berry_crush.h" #include "bg.h" @@ -30,6 +30,7 @@ #include "party_menu.h" #include "pokemon_jump.h" #include "random.h" +#include "save_location.h" #include "script.h" #include "script_pokemon_util_80F87D8.h" #include "sound.h" @@ -44,21 +45,24 @@ #include "union_room_player_avatar.h" #include "window.h" #include "constants/battle_frontier.h" +#include "constants/cable_club.h" #include "constants/game_stat.h" #include "constants/maps.h" +#include "constants/party_menu.h" #include "constants/rgb.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/union_room.h" -EWRAM_DATA u8 gUnknown_02022C20[12] = {}; +EWRAM_DATA u8 sUnionRoomPlayerName[12] = {}; EWRAM_DATA u8 gUnknown_02022C2C = 0; EWRAM_DATA u8 gUnknown_02022C2D = 0; EWRAM_DATA union UnkUnion_Main gUnknown_02022C30 = {}; EWRAM_DATA u32 gFiller_02022C34 = 0; EWRAM_DATA struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38 = {}; -EWRAM_DATA u16 gUnknown_02022C3C = 0; -EWRAM_DATA u8 gUnknown_02022C3E = 0; -EWRAM_DATA struct TradeUnkStruct gUnknown_02022C40 = {}; +EWRAM_DATA u16 gUnionRoomOfferedSpecies = 0; +EWRAM_DATA u8 gUnionRoomRequestedMonType = 0; +static EWRAM_DATA struct UnionRoomTrade sUnionRoomTrade = {}; // IWRAM vars static struct UnkStruct_Leader *gUnknown_03000DA0; @@ -96,8 +100,8 @@ void sub_8013BD8(struct UnkStruct_Group *arg0, s32 id); void sub_80173D4(void); void sub_80177B8(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, u8 id); bool32 sub_8017678(struct UnkStruct_Shared *arg0, struct UnkStruct_Shared *arg1); -u32 sub_8018120(struct TradeUnkStruct *arg0, u8 multiplayerId); -void sub_801807C(struct TradeUnkStruct *arg0); +static u32 GetPartyPositionOfRegisteredMon(struct UnionRoomTrade *arg0, u8 multiplayerId); +static void ResetUnionRoomTrade(struct UnionRoomTrade *arg0); void sub_801AC54(void); void sub_80149D8(void); void MG_DrawTextBorder(u8 windowId); @@ -105,8 +109,8 @@ s8 mevent_message_print_and_prompt_yes_no(u8 *textState, u8 *arg1, u8 arg2, cons bool32 sub_8016F1C(struct UnkLinkRfuStruct_02022B14 *arg0, s16 arg1); u8 sub_8016DF0(struct UnkStruct_Main4 *arg0, struct UnkStruct_Main4 *arg1, u32 arg2); void sub_8019F2C(void); -bool32 sub_80180A0(u32 monId, struct TradeUnkStruct *arg1); -void sub_80180E8(u32 monId, struct TradeUnkStruct *arg1); +static bool32 RegisterTradeMonAndGetIsEgg(u32 monId, struct UnionRoomTrade *trade); +static void RegisterTradeMon(u32 monId, struct UnionRoomTrade *arg1); void sub_80181CC(void); bool32 sub_8017940(void); u8 sub_8016B00(void); @@ -122,7 +126,7 @@ void sub_801818C(bool32 arg0); s32 sub_8017178(u8 *arg0, u8 *arg1, u8 *arg2, const struct WindowTemplate *winTemplate, const struct ListMenuTemplate *menuTemplate); s32 sub_80172A0(u8 *arg0, u8 *arg1, u8 *arg2, u8 *arg3, const struct WindowTemplate *winTemplate, const struct ListMenuTemplate *menuTemplate, struct UnkStruct_Main0 *arg6); s32 sub_8017CB0(struct UnkStruct_x20 * arg, s32 arg1); -bool32 sub_8018024(void); +bool32 HasAtLeastTwoMonsOfLevel30OrLower(void); u32 sub_8017984(s32 arg0); void sub_8018220(u8 *unused, struct UnkStruct_URoom *arg1, bool8 arg2); void sub_8017D9C(u8 *dst, s32 arg1, u32 playerGender); @@ -140,1045 +144,7 @@ void sub_8013DF4(u8 windowId, s32 itemId, u8 y); void sub_8017BE8(u8 windowId, s32 itemId, u8 y); void nullsub_14(u8 windowId, s32 itemId, u8 y); -// const rom data - -ALIGNED(4) const u8 gText_EmptyString[] = _(""); -ALIGNED(4) const u8 gText_Colon[] = _(":"); -ALIGNED(4) const u8 gText_UnkCtrlCodeF907[] = _("{ID}"); -ALIGNED(4) const u8 gText_PleaseStartOver[] = _("Please start over from the beginning."); -ALIGNED(4) const u8 gText_WirelessSearchCanceled[] = _("The WIRELESS COMMUNICATION\nSYSTEM search has been canceled."); -ALIGNED(4) const u8 unref_text_union_room_0[] = _("Awaiting communication\nfrom another player."); -ALIGNED(4) const u8 gText_AwaitingCommunication[] = _("{STR_VAR_1}! Awaiting\ncommunication from another player."); -ALIGNED(4) const u8 gText_AwaitingLink[] = _("{STR_VAR_1}! Awaiting link!\nPress START when everyone's ready."); -ALIGNED(4) const u8 gJPText_SingleBattle[] = _("シングルバトルを かいさいする"); -ALIGNED(4) const u8 gJPText_DoubleBattle[] = _("ダブルバトルを かいさいする"); -ALIGNED(4) const u8 gJPText_MultiBattle[] = _("マルチバトルを かいさいする"); -ALIGNED(4) const u8 gJPText_TradePokemon[] = _("ポケモンこうかんを かいさいする"); -ALIGNED(4) const u8 gJPText_Chat[] = _("チャットを かいさいする"); -ALIGNED(4) const u8 gJPText_DistWonderCard[] = _("ふしぎなカードをくばる"); -ALIGNED(4) const u8 gJPText_DistWonderNews[] = _("ふしぎなニュースをくばる"); -ALIGNED(4) const u8 unref_text_union_room_1[] = _("ふしぎなできごとを かいさいする"); -ALIGNED(4) const u8 gJPText_HoldPokemonJump[] = _("なわとびを かいさいする"); -ALIGNED(4) const u8 gJPText_HoldBerryCrush[] = _("きのみマッシャーを かいさいする"); -ALIGNED(4) const u8 gJPText_HoldBerryPicking[] = _("きのみどりを かいさいする"); -ALIGNED(4) const u8 gJPText_HoldSpinTrade[] = _("ぐるぐるこうかんを かいさいする"); -ALIGNED(4) const u8 gJPText_HoldSpinShop[] = _("ぐるぐるショップを かいさいする"); - -const u8 *const unref_text_ptrs_union_room_0[] = { - gJPText_SingleBattle, - gJPText_DoubleBattle, - gJPText_MultiBattle, - gJPText_TradePokemon, - gJPText_Chat, - gJPText_DistWonderCard, - gJPText_DistWonderNews, - gJPText_DistWonderCard, - gJPText_HoldPokemonJump, - gJPText_HoldBerryCrush, - gJPText_HoldBerryPicking, - gJPText_HoldBerryPicking, - gJPText_HoldSpinTrade, - gJPText_HoldSpinShop -}; - -const u8 gText_1PlayerNeeded[] = _("1 player\nneeded."); -const u8 gText_2PlayersNeeded[] = _("2 players\nneeded."); -const u8 gText_3PlayersNeeded[] = _("3 players\nneeded."); -const u8 gText_4PlayersNeeded[] = _("4 players\nneeded."); -const u8 gText_2PlayerMode[] = _("2-PLAYER\nMODE"); -const u8 gText_3PlayerMode[] = _("3-PLAYER\nMODE"); -const u8 gText_4PlayerMode[] = _("4-PLAYER\nMODE"); -const u8 gText_5PlayerMode[] = _("5-PLAYER\nMODE"); - -const u8 *const gUnknown_082EDB60[][5] = { - { - gText_1PlayerNeeded, - gText_2PlayerMode, - NULL, - NULL, - NULL - }, { - gText_3PlayersNeeded, - gText_2PlayersNeeded, - gText_1PlayerNeeded, - gText_4PlayerMode, - NULL - }, { - gText_1PlayerNeeded, - gText_2PlayerMode, - gText_3PlayerMode, - gText_4PlayerMode, - gText_5PlayerMode - }, { - gText_2PlayersNeeded, - gText_1PlayerNeeded, - gText_3PlayerMode, - gText_4PlayerMode, - gText_5PlayerMode - }, { - gText_1PlayerNeeded, - gText_2PlayerMode, - gText_3PlayerMode, - gText_4PlayerMode, - NULL - } -}; - -ALIGNED(4) const u8 gUnknown_082EDBC4[] = _("{B_BUTTON}CANCEL"); -ALIGNED(4) const u8 unref_text_union_room_2[] = _("ため\nさんかしゃ ぼしゅうちゅう です!"); -ALIGNED(4) const u8 gUnknown_082EDBE8[] = _("{STR_VAR_2} contacted you for\n{STR_VAR_1}. Accept?"); -ALIGNED(4) const u8 gUnknown_082EDC0C[] = _("{STR_VAR_2} contacted you.\nWill you share {STR_VAR_1}?"); -ALIGNED(4) const u8 gUnknown_082EDC34[] = _("{STR_VAR_2} contacted you.\nAdd to the members?"); -ALIGNED(4) const u8 gUnknown_082EDC5C[] = _("{STR_VAR_1}!\nAre these members OK?"); -ALIGNED(4) const u8 gUnknown_082EDC78[] = _("Cancel {STR_VAR_1} MODE\nwith these members?"); -ALIGNED(4) const u8 gUnknown_082EDC9C[] = _("An “OK” was sent\nto {STR_VAR_1}."); -ALIGNED(4) const u8 gUnknown_082EDCB4[] = _("The other TRAINER doesn't appear\nto be available now…\p"); -ALIGNED(4) const u8 gUnknown_082EDCEC[] = _("You can't transmit with a TRAINER\nwho is too far away.\p"); -ALIGNED(4) const u8 gUnknown_082EDD24[] = _("The other TRAINER(S) is/are not\nready yet.\p"); - -const u8 *const gUnknown_082EDD50[] = { - gUnknown_082EDCEC, - gUnknown_082EDD24 -}; - -ALIGNED(4) const u8 gUnknown_082EDD58[] = _("The {STR_VAR_1} MODE with\nthese members will be canceled.{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EDD8C[] = _("There is a member who can no\nlonger remain available.\p"); - -const u8 *const gUnknown_082EDDC4[] = { - gUnknown_082EDCB4, - gUnknown_082EDD8C -}; - -ALIGNED(4) const u8 gUnknown_082EDDCC[] = _("The other TRAINER appears\nunavailable…\p"); -ALIGNED(4) const u8 gUnknown_082EDDF4[] = _("{STR_VAR_1} sent back an “OK”!"); -ALIGNED(4) const u8 gUnknown_082EDE0C[] = _("{STR_VAR_1} OK'd your registration as\na member."); -ALIGNED(4) const u8 gUnknown_082EDE34[] = _("{STR_VAR_1} replied, “No…”\p"); -ALIGNED(4) const u8 gUnknown_082EDE48[] = _("{STR_VAR_1}!\nAwaiting other members!"); -ALIGNED(4) const u8 gUnknown_082EDE64[] = _("Quit being a member?"); -ALIGNED(4) const u8 gUnknown_082EDE7C[] = _("You stopped being a member.\p"); - -const u8 *const gUnknown_082EDE9C[] = { - NULL, - gUnknown_082EDD8C, - gUnknown_082EDDCC, - NULL, - NULL, - NULL, - gUnknown_082EDE34, - NULL, - NULL, - gUnknown_082EDE7C -}; - -ALIGNED(4) const u8 gUnknown_082EDEC4[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been established."); -ALIGNED(4) const u8 gUnknown_082EDF04[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been dropped…"); -ALIGNED(4) const u8 gUnknown_082EDF40[] = _("The link with your friend has been\ndropped…"); -ALIGNED(4) const u8 gUnknown_082EDF6C[] = _("{STR_VAR_1} replied, “No…”"); - -const u8 *const gUnknown_082EDF80[] = { - NULL, - gUnknown_082EDF40, - gUnknown_082EDF40, - NULL, - NULL, - NULL, - gUnknown_082EDF6C, - NULL, - NULL, - NULL -}; - -ALIGNED(4) const u8 gUnknown_082EDFA8[] = _("Do you want the {STR_VAR_2}\nMODE?"); -ALIGNED(4) const u8 gUnknown_082EDFC4[] = _("Do you want the {STR_VAR_2}\nMODE?"); - -const u8 *const unref_text_ptrs_union_room_1[] = { - gUnknown_082EDFA8, - gUnknown_082EDFC4 -}; - -ALIGNED(4) const u8 unref_text_union_room_3[] = _("Communicating…\nPlease wait."); -ALIGNED(4) const u8 gUnknown_082EE004[] = _("Awaiting {STR_VAR_1}'s response about\nthe trade…"); -ALIGNED(4) const u8 gUnknown_082EE02C[] = _("Communicating{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); -ALIGNED(4) const u8 gUnknown_082EE098[] = _("Communicating with {STR_VAR_1}{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); -ALIGNED(4) const u8 gUnknown_082EE104[] = _("Please wait a while{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); - -const u8 *const gUnknown_082EE17C[] = { - gUnknown_082EE02C, - gUnknown_082EE098, - gUnknown_082EE104 -}; - -ALIGNED(4) const u8 gUnknown_082EE188[] = _("Hiya! Is there something that you\nwanted to do?"); -ALIGNED(4) const u8 gUnknown_082EE1B8[] = _("Hello!\nWould you like to do something?"); -ALIGNED(4) const u8 gUnknown_082EE1E0[] = _("{STR_VAR_1}: Hiya, we meet again!\nWhat are you up for this time?"); -ALIGNED(4) const u8 gUnknown_082EE218[] = _("{STR_VAR_1}: Oh! {PLAYER}, hello!\nWould you like to do something?"); - -const u8 *const gUnknown_082EE24C[][2] = { - { - gUnknown_082EE188, - gUnknown_082EE1B8 - }, { - gUnknown_082EE1E0, - gUnknown_082EE218 - } -}; - -ALIGNED(4) const u8 gUnknown_082EE25C[] = _("Want to do something?"); -ALIGNED(4) const u8 gUnknown_082EE274[] = _("Would you like to do something?"); -ALIGNED(4) const u8 gUnknown_082EE294[] = _("{STR_VAR_1}: What would you like to\ndo now?"); -ALIGNED(4) const u8 unref_text_union_room_4[] = _("{STR_VAR_1}: Want to do anything else?"); - -const u8 *const unref_text_ptrs_union_room_2[][2] = { - { - gUnknown_082EE25C, - gUnknown_082EE274 - }, { - gUnknown_082EE294, - gUnknown_082EE294 - } -}; - -ALIGNED(4) const u8 gUnknown_082EE2E8[] = _("Somebody has contacted you.{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EE308[] = _("{STR_VAR_1} has contacted you.{PAUSE 60}"); - -const u8 *const gUnknown_082EE324[] = { - gUnknown_082EE2E8, - gUnknown_082EE308 -}; - -ALIGNED(4) const u8 gUnknown_082EE32C[] = _("Awaiting a response from\nthe other TRAINER…"); -ALIGNED(4) const u8 gUnknown_082EE358[] = _("Awaiting a response from\n{STR_VAR_1}…"); - -const u8 *const gUnknown_082EE378[] = { - gUnknown_082EE32C, - gUnknown_082EE358 -}; - -ALIGNED(4) const u8 gUnknown_082EE380[] = _("The other TRAINER showed\nyou their TRAINER CARD.\pWould you like to show your\nTRAINER CARD?"); -ALIGNED(4) const u8 gUnknown_082EE3DC[] = _("The other TRAINER challenges you\nto battle.\pWill you accept the battle\nchallenge?"); -ALIGNED(4) const u8 gUnknown_082EE430[] = _("The other TRAINER invites you\nto chat.\pWill you accept the chat\ninvitation?"); -ALIGNED(4) const u8 gUnknown_082EE47C[] = _("There is an offer to trade your\nregistered Lv. {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}\pin exchange for a\nLv. {SPECIAL_F7 0x02} {SPECIAL_F7 0x03}.\pWill you accept this trade\noffer?"); -ALIGNED(4) const u8 gUnknown_082EE4F0[] = _("There is an offer to trade your\nregistered EGG.\lWill you accept this trade offer?"); -ALIGNED(4) const u8 gUnknown_082EE544[] = _("The chat has been dropped.\p"); -ALIGNED(4) const u8 gUnknown_082EE560[] = _("You declined the offer.\p"); -ALIGNED(4) const u8 gUnknown_082EE57C[] = _("You declined the offer.\p"); -ALIGNED(4) const u8 gUnknown_082EE598[] = _("The chat was ended.\p"); - -const u8 *const unref_text_ptrs_union_room_3[] = { - gUnknown_082EE380, - gUnknown_082EE3DC, - gUnknown_082EE430, - gUnknown_082EE47C -}; - -ALIGNED(4) const u8 gUnknown_082EE5C0[] = _("Oh, hey! We're in a chat right now.\nWant to join us?"); -ALIGNED(4) const u8 gUnknown_082EE5F8[] = _("{STR_VAR_1}: Hey, {PLAYER}!\nWe're having a chat right now.\lWant to join us?"); -ALIGNED(4) const u8 gUnknown_082EE638[] = _("Oh, hi! We're having a chat now.\nWould you like to join us?"); -ALIGNED(4) const u8 gUnknown_082EE674[] = _("{STR_VAR_1}: Oh, hi, {PLAYER}!\nWe're having a chat now.\lWould you like to join us?"); - -const u8 *const gUnknown_082EE6B8[][2] = { - { - gUnknown_082EE5C0, - gUnknown_082EE638 - }, { - gUnknown_082EE5F8, - gUnknown_082EE674 - } -}; - -ALIGNED(4) const u8 gUnknown_082EE6C8[] = _("……\nThe TRAINER appears to be busy…\p"); -ALIGNED(4) const u8 gUnknown_082EE6EC[] = _("A battle, huh?\nAll right, just give me some time."); -ALIGNED(4) const u8 gUnknown_082EE720[] = _("You want to chat, huh?\nSure, just wait a little."); -ALIGNED(4) const u8 gUnknown_082EE754[] = _("Sure thing! As my “Greetings,”\nhere's my TRAINER CARD."); -ALIGNED(4) const u8 gUnknown_082EE78C[] = _("A battle? Of course, but I need\ntime to get ready."); -ALIGNED(4) const u8 gUnknown_082EE7C0[] = _("Did you want to chat?\nOkay, but please wait a moment."); -ALIGNED(4) const u8 gUnknown_082EE7F8[] = _("As my introduction, I'll show you\nmy TRAINER CARD."); - -const u8 *const gUnknown_082EE82C[][4] = { - { - gUnknown_082EE6EC, - gUnknown_082EE720, - NULL, - gUnknown_082EE754 - }, { - gUnknown_082EE78C, - gUnknown_082EE7C0, - NULL, - gUnknown_082EE7F8 - } -}; - -ALIGNED(4) const u8 unref_text_union_room_5[] = _("You want to chat, huh?\nSure, just wait a little."); -ALIGNED(4) const u8 gUnknown_082EE880[] = _("Thanks for waiting!\nLet's get our battle started!{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EE8B8[] = _("All right!\nLet's chat!{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EE8D4[] = _("Sorry I made you wait!\nLet's get started!{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EE904[] = _("Sorry I made you wait!\nLet's chat.{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EE92C[] = _("The trade will be started.{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EE94C[] = _("The battle will be started.{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EE96C[] = _("Entering the chat…{PAUSE 60}"); - -const u8 *const gUnknown_082EE984[][2][3] = { - { - { - gUnknown_082EE94C, - gUnknown_082EE96C, - gUnknown_082EE92C - }, { - gUnknown_082EE94C, - gUnknown_082EE96C, - gUnknown_082EE92C - } - }, { - { - gUnknown_082EE880, - gUnknown_082EE8B8, - gUnknown_082EE92C - }, { - gUnknown_082EE8D4, - gUnknown_082EE904, - gUnknown_082EE92C - } - } -}; - -ALIGNED(4) const u8 gUnknown_082EE9B4[] = _("Sorry! My POKéMON don't seem to\nbe feeling too well right now.\lLet me battle you another time.\p"); -ALIGNED(4) const u8 gUnknown_082EEA14[] = _("I'm terribly sorry, but my POKéMON\naren't feeling well…\pLet's battle another time.\p"); - -const u8 *const gUnknown_082EEA68[] = { - gUnknown_082EE9B4, - gUnknown_082EEA14 -}; - -ALIGNED(4) const u8 gUnknown_082EEA70[] = _("Huh? My TRAINER CARD…\nWhere'd it go now?\lSorry! I'll show you another time!\p"); -ALIGNED(4) const u8 gUnknown_082EEAC0[] = _("Oh? Now where did I put my\nTRAINER CARD?…\lSorry! I'll show you later!\p"); - -const u8 *const gUnknown_082EEB08[] = { - gUnknown_082EEA70, - gUnknown_082EEAC0 -}; - -ALIGNED(4) const u8 gUnknown_082EEB10[] = _("If you want to do something with\nme, just give me a shout!\p"); -ALIGNED(4) const u8 gUnknown_082EEB4C[] = _("If you want to do something with\nme, don't be shy.\p"); - -const u8 *const gUnknown_082EEB80[] = { - gUnknown_082EEB10, - gUnknown_082EEB4C -}; - -ALIGNED(4) const u8 gUnknown_082EEB88[] = _("Whoops! Sorry, but I have to do\nsomething else.\lAnother time, okay?\p"); -ALIGNED(4) const u8 gUnknown_082EEBD0[] = _("If you want to battle, you need\ntwo POKéMON that are below\lLv. 30.\p"); -ALIGNED(4) const u8 gUnknown_082EEC14[] = _("For a battle, you need two\nPOKéMON that are below Lv. 30.\p"); -ALIGNED(4) const u8 gUnknown_082EEC50[] = _("Oh, all right.\nCome see me anytime, okay?\p"); -ALIGNED(4) const u8 gUnknown_082EEC7C[] = _("Oh…\nPlease come by anytime.\p"); - -const u8 *const gUnknown_082EEC9C[] = { - gUnknown_082EEC50, - gUnknown_082EEC7C -}; - -ALIGNED(4) const u8 gUnknown_082EECA4[] = _("Oh, sorry!\nI just can't right this instant.\lLet's chat another time.\p"); -ALIGNED(4) const u8 gUnknown_082EECEC[] = _("Oh, I'm sorry.\nI have too much to do right now.\lLet's chat some other time.\p"); - -const u8 *const gUnknown_082EED3C[] = { - gUnknown_082EECA4, - gUnknown_082EECEC -}; - -ALIGNED(4) const u8 gUnknown_082EED44[] = _("Whoa!\nI can tell you're pretty tough!\p"); -ALIGNED(4) const u8 gUnknown_082EED6C[] = _("You used that move?\nThat's good strategy!\p"); -ALIGNED(4) const u8 gUnknown_082EED98[] = _("Way to go!\nThat was an eye-opener!\p"); -ALIGNED(4) const u8 gUnknown_082EEDBC[] = _("Oh! How could you use that\nPOKéMON in that situation?\p"); -ALIGNED(4) const u8 gUnknown_082EEDF4[] = _("That POKéMON…\nIt's been raised really well!\p"); -ALIGNED(4) const u8 gUnknown_082EEE24[] = _("That's it!\nThis is the right move now!\p"); -ALIGNED(4) const u8 gUnknown_082EEE4C[] = _("That's awesome!\nYou can battle that way?\p"); -ALIGNED(4) const u8 gUnknown_082EEE78[] = _("You have exquisite timing for\nswitching POKéMON!\p"); - -const u8 *const gUnknown_082EEEAC[][4] = { - { - gUnknown_082EED44, - gUnknown_082EED6C, - gUnknown_082EED98, - gUnknown_082EEDBC - }, { - gUnknown_082EEDF4, - gUnknown_082EEE24, - gUnknown_082EEE4C, - gUnknown_082EEE78 - } -}; - -ALIGNED(4) const u8 gUnknown_082EEECC[] = _("Oh, I see!\nThis is educational!\p"); -ALIGNED(4) const u8 gUnknown_082EEEF0[] = _("Don't say anything funny anymore!\nI'm sore from laughing!\p"); -ALIGNED(4) const u8 gUnknown_082EEF2C[] = _("Oh?\nSomething like that happened.\p"); -ALIGNED(4) const u8 gUnknown_082EEF50[] = _("Hmhm… What?\nSo is this what you're saying?\p"); -ALIGNED(4) const u8 gUnknown_082EEF7C[] = _("Is that right?\nI didn't know that.\p"); -ALIGNED(4) const u8 gUnknown_082EEFA0[] = _("Ahaha!\nWhat is that about?\p"); -ALIGNED(4) const u8 gUnknown_082EEFBC[] = _("Yes, that's exactly it!\nThat's what I meant.\p"); -ALIGNED(4) const u8 gUnknown_082EEFEC[] = _("In other words…\nYes! That's right!\p"); - -const u8 *const gUnknown_082EF010[][4] = { - { - gUnknown_082EEECC, - gUnknown_082EEEF0, - gUnknown_082EEF2C, - gUnknown_082EEF50 - }, { - gUnknown_082EEF7C, - gUnknown_082EEFA0, - gUnknown_082EEFBC, - gUnknown_082EEFEC - } -}; - -ALIGNED(4) const u8 gUnknown_082EF030[] = _("I'm just showing my TRAINER CARD\nas my way of greeting.\p"); -ALIGNED(4) const u8 gUnknown_082EF06C[] = _("I hope I get to know you better!\p"); -ALIGNED(4) const u8 gUnknown_082EF090[] = _("We're showing each other our\nTRAINER CARDS to get acquainted.\p"); -ALIGNED(4) const u8 gUnknown_082EF0D0[] = _("Glad to meet you.\nPlease don't be a stranger!\p"); - -const u8 *const gUnknown_082EF100[][2] = { - { - gUnknown_082EF030, - gUnknown_082EF06C - }, { - gUnknown_082EF090, - gUnknown_082EF0D0 - } -}; - -ALIGNED(4) const u8 gUnknown_082EF110[] = _("Yeahah!\nI really wanted this POKéMON!\p"); -ALIGNED(4) const u8 gUnknown_082EF138[] = _("Finally, a trade got me that\nPOKéMON I'd wanted a long time.\p"); -ALIGNED(4) const u8 gUnknown_082EF178[] = _("I'm trading POKéMON right now.\p"); -ALIGNED(4) const u8 gUnknown_082EF198[] = _("I finally got that POKéMON I\nwanted in a trade!\p"); - -const u8 *const gUnknown_082EF1CC[][4] = { - { - gUnknown_082EF110, - gUnknown_082EF138, - NULL, - NULL - }, { - gUnknown_082EF178, - gUnknown_082EF198, - NULL, - NULL - } -}; - -ALIGNED(4) const u8 gUnknown_082EF1EC[] = _("{STR_VAR_1} checked the\nTRADING BOARD.\p"); -ALIGNED(4) const u8 gUnknown_082EF20C[] = _("Welcome to the TRADING BOARD.\pYou may register your POKéMON\nand offer it up for a trade.\pWould you like to register one of\nyour POKéMON?"); -ALIGNED(4) const u8 gUnknown_082EF298[] = _("This TRADING BOARD is used for\noffering a POKéMON for a trade.\pAll you need to do is register a\nPOKéMON for a trade.\pAnother TRAINER may offer a party\nPOKéMON in return for the trade.\pWe hope you will register POKéMON\nand trade them with many, many\lother TRAINERS.\pWould you like to register one of\nyour POKéMON?"); -ALIGNED(4) const u8 unref_text_union_room_6[] = _("We have registered your POKéMON for\ntrade on the TRADING BOARD.\pThank you for using this service!\p"); -ALIGNED(4) const u8 unref_text_union_room_7[] = _("Nobody has registered any POKéMON\nfor trade on the TRADING BOARD.\p\n"); -ALIGNED(4) const u8 gUnknown_082EF47C[] = _("Please choose the type of POKéMON\nthat you would like in the trade.\n"); -ALIGNED(4) const u8 gUnknown_082EF4C4[] = _("Which of your party POKéMON will\nyou offer in trade?\p"); -ALIGNED(4) const u8 gUnknown_082EF4FC[] = _("Registration has been canceled.\p"); -ALIGNED(4) const u8 gUnknown_082EF520[] = _("Registration has been completed.\p"); -ALIGNED(4) const u8 gUnknown_082EF544[] = _("The trade has been canceled.\p"); -ALIGNED(4) const u8 gUnknown_082EF564[] = _("Cancel the registration of your\nLv. {STR_VAR_2} {STR_VAR_1}?"); -ALIGNED(4) const u8 gUnknown_082EF590[] = _("Cancel the registration of your\nEGG?"); -ALIGNED(4) const u8 gUnknown_082EF5B8[] = _("The registration has been canceled.\p"); -ALIGNED(4) const u8 unref_text_union_room_8[] = _("TRAINERS wishing to make a trade\nwill be listed."); -ALIGNED(4) const u8 unref_text_union_room_9[] = _("Please choose the TRAINER with whom\nyou would like to trade POKéMON."); -ALIGNED(4) const u8 gUnknown_082EF65C[] = _("Would you like to ask {STR_VAR_1} to\nmake a trade?"); -ALIGNED(4) const u8 unref_text_union_room_10[] = _("Awaiting a response from\nthe other TRAINER…"); -ALIGNED(4) const u8 unref_text_union_room_11[] = _("You have not registered a POKéMON\nfor trading.\p"); -ALIGNED(4) const u8 gUnknown_082EF6E4[] = _("You don't have a {STR_VAR_2}-type\nPOKéMON that {STR_VAR_1} wants.\p"); -ALIGNED(4) const u8 gUnknown_082EF718[] = _("You don't have an EGG that\n{STR_VAR_1} wants.\p"); -ALIGNED(4) const u8 gUnknown_082EF740[] = _("{STR_VAR_1} can't make a trade for\nyour POKéMON right now.\p"); -ALIGNED(4) const u8 gUnknown_082EF774[] = _("You can't make a trade for\n{STR_VAR_1}'s POKéMON right now.\p"); - -const u8 *const unref_text_ptrs_union_room_4[] = { - gUnknown_082EF740, - gUnknown_082EF774 -}; - -ALIGNED(4) const u8 gUnknown_082EF7B0[] = _("Your trade offer was rejected.\p"); -ALIGNED(4) const u8 gUnknown_082EF7D0[] = _("EGG TRADE"); -ALIGNED(4) const u8 gUnknown_082EF7DC[] = _("{DPAD_UPDOWN}CHOOSE {A_BUTTON}JOIN {B_BUTTON}CANCEL"); -ALIGNED(4) const u8 gUnknown_082EF7F8[] = _("Please choose a TRAINER."); -ALIGNED(4) const u8 gUnknown_082EF814[] = _("Please choose a TRAINER for\na SINGLE BATTLE."); -ALIGNED(4) const u8 gUnknown_082EF844[] = _("Please choose a TRAINER for\na DOUBLE BATTLE."); -ALIGNED(4) const u8 gUnknown_082EF874[] = _("Please choose the LEADER\nfor a MULTI BATTLE."); -ALIGNED(4) const u8 gUnknown_082EF8A4[] = _("Please choose the TRAINER to\ntrade with."); -ALIGNED(4) const u8 gUnknown_082EF8D0[] = _("Please choose the TRAINER who is\nsharing WONDER CARDS."); -ALIGNED(4) const u8 gUnknown_082EF908[] = _("Please choose the TRAINER who is\nsharing WONDER NEWS."); -ALIGNED(4) const u8 gUnknown_082EF940[] = _("Jump with mini POKéMON!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EF974[] = _("BERRY CRUSH!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EF99C[] = _("DODRIO BERRY-PICKING!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EF9CC[] = _("BERRY BLENDER!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EF9F8[] = _("RECORD CORNER!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EFA24[] = _("COOLNESS CONTEST!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EFA50[] = _("BEAUTY CONTEST!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EFA7C[] = _("CUTENESS CONTEST!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EFAA8[] = _("SMARTNESS CONTEST!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EFAD8[] = _("TOUGHNESS CONTEST!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EFB08[] = _("BATTLE TOWER LEVEL 50!\nPlease choose the LEADER."); -ALIGNED(4) const u8 gUnknown_082EFB3C[] = _("BATTLE TOWER OPEN LEVEL!\nPlease choose the LEADER."); - -const u8 *const gUnknown_082EFB70[] = { - gUnknown_082EF814, - gUnknown_082EF844, - gUnknown_082EF874, - gUnknown_082EF8A4, - gUnknown_082EF940, - gUnknown_082EF974, - gUnknown_082EF99C, - gUnknown_082EF8D0, - gUnknown_082EF908, - NULL, - NULL, - NULL, - gUnknown_082EF9F8, - gUnknown_082EF9CC, - NULL, - gUnknown_082EFA24, - gUnknown_082EFA50, - gUnknown_082EFA7C, - gUnknown_082EFAA8, - gUnknown_082EFAD8, - gUnknown_082EFB08, - gUnknown_082EFB3C -}; - -ALIGNED(4) const u8 gUnknown_082EFBC8[] = _("Searching for a WIRELESS\nCOMMUNICATION SYSTEM. Wait..."); -ALIGNED(4) const u8 unref_text_union_room_12[] = _("For a DOUBLE BATTLE, you must have\nat least two POKéMON.\p"); -ALIGNED(4) const u8 gUnknown_082EFC3C[] = _("Awaiting {STR_VAR_1}'s response…"); -ALIGNED(4) const u8 gUnknown_082EFC54[] = _("{STR_VAR_1} has been asked to register\nyou as a member. Please wait."); -ALIGNED(4) const u8 gUnknown_082EFC90[] = _("Awaiting a response from the\nWIRELESS COMMUNICATION SYSTEM."); -ALIGNED(4) const u8 unref_text_union_room_13[] = _("Please wait for other TRAINERS to\ngather and get ready."); -ALIGNED(4) const u8 gUnknown_082EFD04[] = _("No CARDS appear to be shared \nright now."); -ALIGNED(4) const u8 gUnknown_082EFD30[] = _("No NEWS appears to be shared\nright now."); - -const u8 *const gUnknown_082EFD58[] = { - gUnknown_082EFD04, - gUnknown_082EFD30 -}; - -ALIGNED(4) const u8 gUnknown_082EFD60[] = _("BATTLE"); -ALIGNED(4) const u8 gUnknown_082EFD68[] = _("CHAT"); -ALIGNED(4) const u8 gUnknown_082EFD70[] = _("GREETINGS"); -ALIGNED(4) const u8 gUnknown_082EFD7C[] = _("EXIT"); -ALIGNED(4) const u8 gUnknown_082EFD84[] = _("EXIT"); -ALIGNED(4) const u8 gUnknown_082EFD8C[] = _("INFO"); -ALIGNED(4) const u8 gUnknown_082EFD94[] = _("NAME{CLEAR_TO 0x3C}WANTED{CLEAR_TO 0x6E}OFFER{CLEAR_TO 0xC6}LV."); -ALIGNED(4) const u8 gUnknown_082EFDB0[] = _("SINGLE BATTLE"); -ALIGNED(4) const u8 gUnknown_082EFDC0[] = _("DOUBLE BATTLE"); -ALIGNED(4) const u8 gUnknown_082EFDD0[] = _("MULTI BATTLE"); -ALIGNED(4) const u8 gUnknown_082EFDE0[] = _("POKéMON TRADES"); -ALIGNED(4) const u8 gUnknown_082EFDF0[] = _("CHAT"); -ALIGNED(4) const u8 gUnknown_082EFDF8[] = _("CARDS"); -ALIGNED(4) const u8 gUnknown_082EFE00[] = _("WONDER CARDS"); -ALIGNED(4) const u8 gUnknown_082EFE10[] = _("WONDER NEWS"); -ALIGNED(4) const u8 gUnknown_082EFE1C[] = _("POKéMON JUMP"); -ALIGNED(4) const u8 gUnknown_082EFE2C[] = _("BERRY CRUSH"); -ALIGNED(4) const u8 gUnknown_082EFE38[] = _("BERRY-PICKING"); -ALIGNED(4) const u8 gUnknown_082EFE48[] = _("SEARCH"); -ALIGNED(4) const u8 gUnknown_082EFE50[] = _("BERRY BLENDER"); -ALIGNED(4) const u8 gUnknown_082EFE60[] = _("RECORD CORNER"); -ALIGNED(4) const u8 gUnknown_082EFE70[] = _("COOL CONTEST"); -ALIGNED(4) const u8 gUnknown_082EFE80[] = _("BEAUTY CONTEST"); -ALIGNED(4) const u8 gUnknown_082EFE90[] = _("CUTE CONTEST"); -ALIGNED(4) const u8 gUnknown_082EFEA0[] = _("SMART CONTEST"); -ALIGNED(4) const u8 gUnknown_082EFEB0[] = _("TOUGH CONTEST"); -ALIGNED(4) const u8 gUnknown_082EFEC0[] = _("BATTLE TOWER LV. 50"); -ALIGNED(4) const u8 gUnknown_082EFED4[] = _("BATTLE TOWER OPEN LEVEL"); -ALIGNED(4) const u8 gUnknown_082EFEEC[] = _("It's a NORMAL CARD."); -ALIGNED(4) const u8 gUnknown_082EFF00[] = _("It's a BRONZE CARD!"); -ALIGNED(4) const u8 gUnknown_082EFF14[] = _("It's a COPPER CARD!"); -ALIGNED(4) const u8 gUnknown_082EFF28[] = _("It's a SILVER CARD!"); -ALIGNED(4) const u8 gUnknown_082EFF3C[] = _("It's a GOLD CARD!"); - -const u8 *const gUnknown_082EFF50[] = { - gUnknown_082EFEEC, - gUnknown_082EFF00, - gUnknown_082EFF14, - gUnknown_082EFF28, - gUnknown_082EFF3C -}; - -ALIGNED(4) const u8 gUnknown_082EFF64[] = _("This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\nTRAINER CARD…\l{SPECIAL_F7 0x02}\pPOKéDEX: {SPECIAL_F7 0x03}\nTIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p"); -ALIGNED(4) const u8 gUnknown_082EFFA4[] = _("BATTLES: WINS: {SPECIAL_F7 0x00} LOSSES: {SPECIAL_F7 0x02}\nTRADES: {SPECIAL_F7 0x03}\p“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p"); -ALIGNED(4) const u8 gUnknown_082EFFDC[] = _("{SPECIAL_F7 0x01}: Glad to have met you!{PAUSE 60}"); -ALIGNED(4) const u8 gUnknown_082EFFFC[] = _("{SPECIAL_F7 0x01}: Glad to meet you!{PAUSE 60}"); - -const u8 *const gUnknown_082F0018[] = { - gUnknown_082EFFDC, - gUnknown_082EFFFC -}; - -ALIGNED(4) const u8 gUnknown_082F0020[] = _("Finished checking {SPECIAL_F7 0x01}'s\nTRAINER CARD.{PAUSE 60}"); - -const u8 *const gUnknown_082F0048[] = { - gText_EmptyString, - gUnknown_082EFDB0, - gUnknown_082EFDC0, - gUnknown_082EFDD0, - gUnknown_082EFDE0, - gUnknown_082EFDF0, - gUnknown_082EFE00, - gUnknown_082EFE10, - gUnknown_082EFDF8, - gUnknown_082EFE1C, - gUnknown_082EFE2C, - gUnknown_082EFE38, - gUnknown_082EFE48, - gText_EmptyString, - gUnknown_082EFED4, - gUnknown_082EFE60, - gUnknown_082EFE50, - gText_EmptyString, - gText_EmptyString, - gText_EmptyString, - gText_EmptyString, - gUnknown_082EFE00, - gUnknown_082EFE10, - gUnknown_082EFE70, - gUnknown_082EFE80, - gUnknown_082EFE90, - gUnknown_082EFEA0, - gUnknown_082EFEB0, - gUnknown_082EFEC0 -}; - -const struct WindowTemplate gUnknown_082F00BC = { - .bg = 0x00, - .tilemapLeft = 0x00, - .tilemapTop = 0x00, - .width = 0x1E, - .height = 0x02, - .paletteNum = 0x0F, - .baseBlock = 0x0008 -}; - -const u32 gUnknown_082F00C4[] = { - 0x0201, - 0x0202, - 0x0403, - 0x0204, - 0x2509, - 0x250a, - 0x350b, - 0x0000, - 0x0000, - 0x0000, - 0x0000, - 0x0000, - 0x240f, - 0x2410, - 0x0000, - 0x2417, - 0x2418, - 0x2419, - 0x241a, - 0x241b, - 0x021c, - 0x020e -}; - -const struct WindowTemplate gUnknown_082F011C = { - .bg = 0x00, - .tilemapLeft = 0x01, - .tilemapTop = 0x03, - .width = 0x0d, - .height = 0x08, - .paletteNum = 0x0f, - .baseBlock = 0x0044 -}; - -const struct WindowTemplate gUnknown_082F0124 = { - .bg = 0x00, - .tilemapLeft = 0x01, - .tilemapTop = 0x03, - .width = 0x0d, - .height = 0x0a, - .paletteNum = 0x0f, - .baseBlock = 0x0044 -}; - -const struct WindowTemplate gUnknown_082F012C = { - .bg = 0x00, - .tilemapLeft = 0x10, - .tilemapTop = 0x03, - .width = 0x07, - .height = 0x04, - .paletteNum = 0x0f, - .baseBlock = 0x00c6 -}; - -const struct ListMenuItem gUnknown_082F0134[] = { - { gText_EmptyString, 0 }, - { gText_EmptyString, 1 }, - { gText_EmptyString, 2 }, - { gText_EmptyString, 3 }, - { gText_EmptyString, 4 } -}; - -const struct ListMenuTemplate gUnknown_082F015C = { - .items = gUnknown_082F0134, - .moveCursorFunc = NULL, - .itemPrintFunc = sub_8013278, - .totalItems = 5, - .maxShowed = 5, - .windowId = 0, - .header_X = 0, - .item_X = 0, - .cursor_X = 0, - .upText_Y = 1, - .cursorPal = 2, - .fillValue = 1, - .cursorShadowPal = 3, - .lettersSpacing = 0, - .itemVerticalPadding = 0, - .scrollMultiple = 0, - .fontId = 1, - .cursorKind = 1 -}; - -const struct WindowTemplate gUnknown_082F0174 = { - .bg = 0x00, - .tilemapLeft = 0x01, - .tilemapTop = 0x03, - .width = 0x11, - .height = 0x0a, - .paletteNum = 0x0f, - .baseBlock = 0x0044 -}; - -const struct WindowTemplate gUnknown_082F017C = { - .bg = 0x00, - .tilemapLeft = 0x14, - .tilemapTop = 0x03, - .width = 0x07, - .height = 0x04, - .paletteNum = 0x0f, - .baseBlock = 0x00ee -}; - -const struct ListMenuItem gUnknown_082F0184[] = { - { gText_EmptyString, 0 }, - { gText_EmptyString, 1 }, - { gText_EmptyString, 2 }, - { gText_EmptyString, 3 }, - { gText_EmptyString, 4 }, - { gText_EmptyString, 5 }, - { gText_EmptyString, 6 }, - { gText_EmptyString, 7 }, - { gText_EmptyString, 8 }, - { gText_EmptyString, 9 }, - { gText_EmptyString, 10 }, - { gText_EmptyString, 11 }, - { gText_EmptyString, 12 }, - { gText_EmptyString, 13 }, - { gText_EmptyString, 14 }, - { gText_EmptyString, 15 } -}; - -const struct ListMenuTemplate gUnknown_082F0204 = { - .items = gUnknown_082F0184, - .moveCursorFunc = ListMenuDefaultCursorMoveFunc, - .itemPrintFunc = sub_8013DF4, - .totalItems = 16, - .maxShowed = 5, - .windowId = 0, - .header_X = 0, - .item_X = 8, - .cursor_X = 0, - .upText_Y = 1, - .cursorPal = 2, - .fillValue = 1, - .cursorShadowPal = 3, - .lettersSpacing = 0, - .itemVerticalPadding = 0, - .scrollMultiple = 1, - .fontId = 1, - .cursorKind = 0 -}; - -const struct WindowTemplate gUnknown_082F021C = { - .bg = 0x00, - .tilemapLeft = 0x14, - .tilemapTop = 0x05, - .width = 0x10, - .height = 0x08, - .paletteNum = 0x0f, - .baseBlock = 0x0001 -}; - -const struct ListMenuItem gUnknown_082F0224[] = { - { gUnknown_082EFD70, 0x208 }, - { gUnknown_082EFD60, 0x241 }, - { gUnknown_082EFD68, 0x245 }, - { gUnknown_082EFD7C, 0x040 } -}; - -const struct ListMenuTemplate gUnknown_082F0244 = { - .items = gUnknown_082F0224, - .moveCursorFunc = ListMenuDefaultCursorMoveFunc, - .itemPrintFunc = NULL, - .totalItems = 4, - .maxShowed = 4, - .windowId = 0, - .header_X = 0, - .item_X = 8, - .cursor_X = 0, - .upText_Y = 1, - .cursorPal = 2, - .fillValue = 1, - .cursorShadowPal = 3, - .lettersSpacing = 0, - .itemVerticalPadding = 0, - .scrollMultiple = 0, - .fontId = 1, - .cursorKind = 0 -}; - -const struct WindowTemplate gUnknown_082F025C = { - .bg = 0x00, - .tilemapLeft = 0x12, - .tilemapTop = 0x07, - .width = 0x10, - .height = 0x06, - .paletteNum = 0x0f, - .baseBlock = 0x0001 -}; - -const struct ListMenuItem gUnknown_082F0264[] = { - { gText_Register, 1 }, - { gUnknown_082EFD8C, 2 }, - { gUnknown_082EFD7C, 3 } -}; - -const struct ListMenuTemplate gUnknown_082F027C = { - .items = gUnknown_082F0264, - .moveCursorFunc = ListMenuDefaultCursorMoveFunc, - .itemPrintFunc = NULL, - .totalItems = 3, - .maxShowed = 3, - .windowId = 0, - .header_X = 0, - .item_X = 8, - .cursor_X = 0, - .upText_Y = 1, - .cursorPal = 2, - .fillValue = 1, - .cursorShadowPal = 3, - .lettersSpacing = 0, - .itemVerticalPadding = 0, - .scrollMultiple = 0, - .fontId = 1, - .cursorKind = 0 -}; - -const struct WindowTemplate gUnknown_082F0294 = { - .bg = 0x00, - .tilemapLeft = 0x14, - .tilemapTop = 0x01, - .width = 0x10, - .height = 0x0c, - .paletteNum = 0x0f, - .baseBlock = 0x0001 -}; - -const struct ListMenuItem gUnknown_082F029C[] = { - { gTypeNames[TYPE_NORMAL], TYPE_NORMAL }, - { gTypeNames[TYPE_FIRE], TYPE_FIRE }, - { gTypeNames[TYPE_WATER], TYPE_WATER }, - { gTypeNames[TYPE_ELECTRIC], TYPE_ELECTRIC }, - { gTypeNames[TYPE_GRASS], TYPE_GRASS }, - { gTypeNames[TYPE_ICE], TYPE_ICE }, - { gTypeNames[TYPE_GROUND], TYPE_GROUND }, - { gTypeNames[TYPE_ROCK], TYPE_ROCK }, - { gTypeNames[TYPE_FLYING], TYPE_FLYING }, - { gTypeNames[TYPE_PSYCHIC], TYPE_PSYCHIC }, - { gTypeNames[TYPE_FIGHTING], TYPE_FIGHTING }, - { gTypeNames[TYPE_POISON], TYPE_POISON }, - { gTypeNames[TYPE_BUG], TYPE_BUG }, - { gTypeNames[TYPE_GHOST], TYPE_GHOST }, - { gTypeNames[TYPE_DRAGON], TYPE_DRAGON }, - { gTypeNames[TYPE_STEEL], TYPE_STEEL }, - { gTypeNames[TYPE_DARK], TYPE_DARK }, - { gUnknown_082EFD7C, NUMBER_OF_MON_TYPES } -}; - -const struct ListMenuTemplate gUnknown_082F032C = { - .items = gUnknown_082F029C, - .moveCursorFunc = ListMenuDefaultCursorMoveFunc, - .itemPrintFunc = NULL, - .totalItems = NUMBER_OF_MON_TYPES, - .maxShowed = 6, - .windowId = 0, - .header_X = 0, - .item_X = 8, - .cursor_X = 0, - .upText_Y = 1, - .cursorPal = 2, - .fillValue = 1, - .cursorShadowPal = 3, - .lettersSpacing = 0, - .itemVerticalPadding = 0, - .scrollMultiple = 0, - .fontId = 1, - .cursorKind = 0 -}; - -const struct WindowTemplate gUnknown_082F0344 = { - .bg = 0x00, - .tilemapLeft = 0x01, - .tilemapTop = 0x01, - .width = 0x1c, - .height = 0x02, - .paletteNum = 0x0d, - .baseBlock = 0x0001 -}; - -const struct WindowTemplate gUnknown_082F034C = { - .bg = 0x00, - .tilemapLeft = 0x01, - .tilemapTop = 0x05, - .width = 0x1c, - .height = 0x0c, - .paletteNum = 0x0d, - .baseBlock = 0x0039 -}; - -const struct ListMenuItem gUnknown_082F0354[] = { - { gText_EmptyString, -3 }, - { gText_EmptyString, 0 }, - { gText_EmptyString, 1 }, - { gText_EmptyString, 2 }, - { gText_EmptyString, 3 }, - { gText_EmptyString, 4 }, - { gText_EmptyString, 5 }, - { gText_EmptyString, 6 }, - { gText_EmptyString, 7 }, - { gUnknown_082EFD84, 8 } -}; - -const struct ListMenuTemplate gUnknown_082F03A4 = { - .items = gUnknown_082F0354, - .moveCursorFunc = ListMenuDefaultCursorMoveFunc, - .itemPrintFunc = sub_8017BE8, - .totalItems = 10, - .maxShowed = 6, - .windowId = 0, - .header_X = 0, - .item_X = 8, - .cursor_X = 0, - .upText_Y = 1, - .cursorPal = 14, - .fillValue = 15, - .cursorShadowPal = 13, - .lettersSpacing = 0, - .itemVerticalPadding = 0, - .scrollMultiple = 0, - .fontId = 1, - .cursorKind = 0 -}; - -const struct WindowTemplate UnrefWindowTemplate_082F03B4 = { - .bg = 0x00, - .tilemapLeft = 0x01, - .tilemapTop = 0x05, - .width = 0x1c, - .height = 0x0c, - .paletteNum = 0x0d, - .baseBlock = 0x0039 -}; - -const struct ListMenuItem gUnknown_082F03C4[] = { - { gText_EmptyString, 0 }, - { gText_EmptyString, 1 }, - { gText_EmptyString, 2 }, - { gText_EmptyString, 3 }, - { gText_EmptyString, 4 }, - { gText_EmptyString, 5 }, - { gText_EmptyString, 6 }, - { gText_EmptyString, 7 }, - { gText_EmptyString, 8 }, - { gText_EmptyString, 9 }, - { gText_EmptyString, 10 }, - { gText_EmptyString, 11 }, - { gText_EmptyString, 12 }, - { gText_EmptyString, 13 }, - { gText_EmptyString, 14 }, - { gText_EmptyString, 15 } -}; - -const struct ListMenuTemplate UnrefListMenuTemplate_082F0444 = { - .items = gUnknown_082F03C4, - .moveCursorFunc = ListMenuDefaultCursorMoveFunc, - .itemPrintFunc = nullsub_14, - .totalItems = 16, - .maxShowed = 4, - .windowId = 0, - .header_X = 0, - .item_X = 8, - .cursor_X = 0, - .upText_Y = 1, - .cursorPal = 2, - .fillValue = 1, - .cursorShadowPal = 3, - .lettersSpacing = 0, - .itemVerticalPadding = 0, - .scrollMultiple = 1, - .fontId = 1, - .cursorKind = 0 -}; - -const struct UnkStruct_Shared gUnknown_082F045C = {0}; - -ALIGNED(4) const u8 gUnknown_082F0474[] = {0x01, 0xff}; -ALIGNED(4) const u8 gUnknown_082F0478[] = {0x02, 0xff}; -ALIGNED(4) const u8 gUnknown_082F047C[] = {0x03, 0xff}; -ALIGNED(4) const u8 gUnknown_082F0480[] = {0x04, 0xff}; -ALIGNED(4) const u8 gUnknown_082F0484[] = {0x09, 0xff}; -ALIGNED(4) const u8 gUnknown_082F0488[] = {0x0a, 0xff}; -ALIGNED(4) const u8 gUnknown_082F048C[] = {0x0b, 0xff}; -ALIGNED(4) const u8 gUnknown_082F0490[] = {0x15, 0xff}; -ALIGNED(4) const u8 gUnknown_082F0494[] = {0x16, 0xff}; -ALIGNED(4) const u8 gUnknown_082F0498[] = {0x40, 0x41, 0x44, 0x45, 0x48, 0x51, 0x52, 0x53, 0x54, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04A4[] = {0x0c, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04A8[] = {0x01, 0x02, 0x03, 0x04, 0x09, 0x0a, 0x0b, 0x15, 0x16, 0x0d, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04B4[] = {0x0f, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04B8[] = {0x10, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04BC[] = {0x17, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04C0[] = {0x18, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04C4[] = {0x19, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04C8[] = {0x1a, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04CC[] = {0x1b, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04D0[] = {0x1c, 0xff}; -ALIGNED(4) const u8 gUnknown_082F04D4[] = {0x0e, 0xff}; - -const u8 *const gUnknown_082F04D8[] = { - gUnknown_082F0474, - gUnknown_082F0478, - gUnknown_082F047C, - gUnknown_082F0480, - gUnknown_082F0484, - gUnknown_082F0488, - gUnknown_082F048C, - gUnknown_082F0490, - gUnknown_082F0494, - gUnknown_082F0498, - gUnknown_082F04A4, - gUnknown_082F04A8, - gUnknown_082F04B4, - gUnknown_082F04B8, - NULL, - gUnknown_082F04BC, - gUnknown_082F04C0, - gUnknown_082F04C4, - gUnknown_082F04C8, - gUnknown_082F04CC, - gUnknown_082F04D0, - gUnknown_082F04D4 -}; - -const u8 gUnknown_082F0530[] = { - 0x01, 0x02, 0x03, 0x04, 0x09, 0x0a, 0x0b, 0x15, - 0x16, 0x00, 0x00, 0x00, 0x0f, 0x10, 0x00, 0x17, - 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x0e, 0x00, 0x00 -}; +#include "data/union_room.h" // code void nullsub_89(u8 taskId) @@ -1192,19 +158,19 @@ void sub_80124EC(u8 windowId, u8 arg1, u8 stringId) switch (arg1 << 8) { case 0x200: - sub_80173E0(windowId, 1, gUnknown_082EDB60[0][stringId - 1], 0, 1, 0); + sub_80173E0(windowId, 1, sPlayersNeededOrModeTexts[0][stringId - 1], 0, 1, 0); break; case 0x400: - sub_80173E0(windowId, 1, gUnknown_082EDB60[1][stringId - 1], 0, 1, 0); + sub_80173E0(windowId, 1, sPlayersNeededOrModeTexts[1][stringId - 1], 0, 1, 0); break; case 0x2500: - sub_80173E0(windowId, 1, gUnknown_082EDB60[2][stringId - 1], 0, 1, 0); + sub_80173E0(windowId, 1, sPlayersNeededOrModeTexts[2][stringId - 1], 0, 1, 0); break; case 0x3500: - sub_80173E0(windowId, 1, gUnknown_082EDB60[3][stringId - 1], 0, 1, 0); + sub_80173E0(windowId, 1, sPlayersNeededOrModeTexts[3][stringId - 1], 0, 1, 0); break; case 0x2400: - sub_80173E0(windowId, 1, gUnknown_082EDB60[4][stringId - 1], 0, 1, 0); + sub_80173E0(windowId, 1, sPlayersNeededOrModeTexts[4][stringId - 1], 0, 1, 0); break; } @@ -1217,7 +183,7 @@ void sub_80125BC(u8 windowId) u8 *txtPtr; sub_80173E0(windowId, 1, gSaveBlock2Ptr->playerName, 0, 1, 0); - txtPtr = StringCopy(text, gText_UnkCtrlCodeF907); + txtPtr = StringCopy(text, sText_ID); ConvertIntToDecimalStringN(txtPtr, ReadAsU16(gSaveBlock2Ptr->playerTrainerId), STR_CONV_MODE_LEADING_ZEROS, 5); sub_80173E0(windowId, 1, text, 0, 0x11, 0); } @@ -1231,7 +197,7 @@ void sub_801262C(u8 *dst, u8 caseId) case 14 ... 16: case 21 ... 28: // UB: argument *dst isn't used, instead it always prints to gStringVar4 - StringExpandPlaceholders(gStringVar4, gText_AwaitingCommunication); + StringExpandPlaceholders(gStringVar4, sText_AwaitingCommunication); break; } } @@ -1249,7 +215,7 @@ bool32 sub_80126CC(u32 caseId) } } -void BerryBlenderLinkBecomeLeader(void) +void TryBecomeLinkLeader(void) { u8 taskId; struct UnkStruct_Leader *dataPtr; @@ -1271,7 +237,7 @@ void sub_8012780(u8 taskId) switch (data->state) { case 0: - if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_OPEN) + if (gSpecialVar_0x8004 == LINK_GROUP_BATTLE_TOWER && gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_OPEN) gSpecialVar_0x8004++; gUnknown_02022C2C = gUnknown_082F00C4[gSpecialVar_0x8004]; gUnknown_02022C2D = gUnknown_082F00C4[gSpecialVar_0x8004] >> 8; @@ -1308,7 +274,7 @@ void sub_8012780(u8 taskId) data->field_11 = AddWindow(&gUnknown_082F012C); FillWindowPixelBuffer(data->field_10, PIXEL_FILL(2)); - sub_80173E0(data->field_10, 0, gUnknown_082EDBC4, 8, 1, 4); + sub_80173E0(data->field_10, 0, sText_BButtonCancel, 8, 1, 4); PutWindowTilemap(data->field_10); CopyWindowToVram(data->field_10, 2); @@ -1326,13 +292,13 @@ void sub_8012780(u8 taskId) data->state = 4; break; case 4: - StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]); + StringCopy(gStringVar1, sLinkGroupActivityTexts[gUnknown_02022C2C]); if ((gUnknown_02022C2D >> 4) != 0) { if (data->field_13 > (gUnknown_02022C2D >> 4) - 1 && (gUnknown_02022C2D & 0xF) != 0) - StringExpandPlaceholders(gStringVar4, gText_AwaitingLink); + StringExpandPlaceholders(gStringVar4, sText_AwaitingLinkPressStart); else - StringExpandPlaceholders(gStringVar4, gText_AwaitingCommunication); + StringExpandPlaceholders(gStringVar4, sText_AwaitingCommunication); } else { @@ -1380,7 +346,7 @@ void sub_8012780(u8 taskId) break; case 10: id = ((gUnknown_02022C2C & 0xF) == 2) ? 1 : 0; - if (PrintOnTextbox(&data->textState, gUnknown_082EDDC4[id])) + if (PrintOnTextbox(&data->textState, sPlayerUnavailableTexts[id])) { data->field_13 = sub_8013398(data->field_0); RedrawListMenu(data->listTaskId); @@ -1389,7 +355,7 @@ void sub_8012780(u8 taskId) break; case 29: id = ((gUnknown_02022C2D & 0xF) == 2) ? 0 : 1; - if (PrintOnTextbox(&data->textState, gUnknown_082EDDC4[id])) + if (PrintOnTextbox(&data->textState, sPlayerUnavailableTexts[id])) { data->state = 21; } @@ -1439,7 +405,7 @@ void sub_8012780(u8 taskId) else { sub_8018404(gStringVar1, &data->field_0->arr[data->field_13 - 1]); - StringExpandPlaceholders(gStringVar4, gUnknown_082EDC9C); + StringExpandPlaceholders(gStringVar4, sText_AnOKWasSentToPlayer); data->state = 13; } @@ -1477,7 +443,7 @@ void sub_8012780(u8 taskId) data->state = 17; break; case 15: - if (PrintOnTextbox(&data->textState, gUnknown_082EDC5C)) + if (PrintOnTextbox(&data->textState, sText_AreTheseMembersOK)) data->state = 16; break; case 16: @@ -1496,7 +462,7 @@ void sub_8012780(u8 taskId) } break; case 19: - if (PrintOnTextbox(&data->textState, gUnknown_082EDC78)) + if (PrintOnTextbox(&data->textState, sText_CancelModeWithTheseMembers)) data->state = 20; break; case 20: @@ -1543,7 +509,7 @@ void sub_8012780(u8 taskId) } break; case 30: - if (PrintOnTextbox(&data->textState, gUnknown_082EDD58)) + if (PrintOnTextbox(&data->textState, sText_ModeWithTheseMembersWillBeCanceled)) data->state = 23; break; case 21: @@ -1611,11 +577,11 @@ void sub_8012FC4(u8 *dst, u8 caseId) case 4: case 14: case 28: - StringExpandPlaceholders(dst, gUnknown_082EDBE8); + StringExpandPlaceholders(dst, sText_PlayerContactedYouForXAccept); break; case 21: case 22: - StringExpandPlaceholders(dst, gUnknown_082EDC0C); + StringExpandPlaceholders(dst, sText_PlayerContactedYouShareX); break; case 3: case 9: @@ -1628,7 +594,7 @@ void sub_8012FC4(u8 *dst, u8 caseId) case 25: case 26: case 27: - StringExpandPlaceholders(dst, gUnknown_082EDC34); + StringExpandPlaceholders(dst, sText_PlayerContactedYouAddToMembers); break; } } @@ -1639,11 +605,11 @@ void sub_8013078(u8 *dst, u8 caseId) { case 65: case 68: - StringExpandPlaceholders(dst, gUnknown_082EE560); + StringExpandPlaceholders(dst, sText_OfferDeclined1); break; case 69: case 72: - StringExpandPlaceholders(dst, gUnknown_082EE57C); + StringExpandPlaceholders(dst, sText_OfferDeclined2); break; } } @@ -1659,7 +625,7 @@ void sub_80130B4(u8 *dst, u8 caseId) case 21: case 22: case 28: - StringExpandPlaceholders(dst, gUnknown_082EFC3C); + StringExpandPlaceholders(dst, sText_AwaitingPlayersResponse); break; case 3: case 9: @@ -1672,7 +638,7 @@ void sub_80130B4(u8 *dst, u8 caseId) case 25: case 26: case 27: - StringExpandPlaceholders(dst, gUnknown_082EFC54); + StringExpandPlaceholders(dst, sText_PlayerHasBeenAskedToRegisterYouPleaseWait); break; } } @@ -1688,7 +654,7 @@ void sub_8013160(u8 *dst, u8 caseId) case 21: case 22: case 28: - StringExpandPlaceholders(dst, gUnknown_082EDDF4); + StringExpandPlaceholders(dst, sText_PlayerSentBackOK); break; case 3: case 9: @@ -1701,7 +667,7 @@ void sub_8013160(u8 *dst, u8 caseId) case 25: case 26: case 27: - StringExpandPlaceholders(dst, gUnknown_082EDE0C); + StringExpandPlaceholders(dst, sText_PlayerOKdRegistration); break; } } @@ -1831,7 +797,7 @@ u8 sub_8013398(struct UnkStruct_Main0 *arg0) return ret; } -void BerryBlenderLinkJoinGroup(void) +void TryJoinLinkGroup(void) { u8 taskId; struct UnkStruct_Group *dataPtr; @@ -1853,7 +819,7 @@ void sub_80134E8(u8 taskId) switch (data->state) { case 0: - if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_OPEN) + if (gSpecialVar_0x8004 == LINK_GROUP_BATTLE_TOWER && gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_OPEN) gSpecialVar_0x8004++; gUnknown_02022C2C = gUnknown_082F0530[gSpecialVar_0x8004]; sub_8010F84(gUnknown_02022C2C, 0, 0); @@ -1865,7 +831,7 @@ void sub_80134E8(u8 taskId) data->state = 1; break; case 1: - if (PrintOnTextbox(&data->textState, gUnknown_082EFB70[gSpecialVar_0x8004])) + if (PrintOnTextbox(&data->textState, sChooseTrainerTexts[gSpecialVar_0x8004])) data->state = 2; break; case 2: @@ -1877,7 +843,7 @@ void sub_80134E8(u8 taskId) data->field_D = AddWindow(&gUnknown_082F017C); FillWindowPixelBuffer(data->field_C, PIXEL_FILL(2)); - sub_80173E0(data->field_C, 0, gUnknown_082EF7DC, 8, 1, 4); + sub_80173E0(data->field_C, 0, sText_ChooseJoinCancel, 8, 1, 4); PutWindowTilemap(data->field_C); CopyWindowToVram(data->field_C, 2); @@ -1922,7 +888,7 @@ void sub_80134E8(u8 taskId) } else { - StringCopy(gStringVar4, gUnknown_082EDD50[var - 1]); + StringCopy(gStringVar4, sCantTransmitToTrainerTexts[var - 1]); data->state = 18; PlaySE(SE_PN_ON); } @@ -1987,8 +953,8 @@ void sub_80134E8(u8 taskId) else { sub_8011A64(7, 0); - StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]); - StringExpandPlaceholders(gStringVar4, gUnknown_082EDE48); + StringCopy(gStringVar1, sLinkGroupActivityTexts[gUnknown_02022C2C]); + StringExpandPlaceholders(gStringVar4, sText_AwaitingOtherMembers); } } break; @@ -2023,7 +989,7 @@ void sub_80134E8(u8 taskId) data->state = 7; break; case 7: - if (PrintOnTextbox(&data->textState, gUnknown_082EDE64)) + if (PrintOnTextbox(&data->textState, sText_QuitBeingMember)) data->state = 8; break; case 8: @@ -2070,7 +1036,7 @@ void sub_80134E8(u8 taskId) break; case 13: DestroyWirelessStatusIndicatorSprite(); - if (PrintOnTextbox(&data->textState, gUnknown_082EDE9C[sub_8011A74()])) + if (PrintOnTextbox(&data->textState, sPlayerDisconnectedTexts[sub_8011A74()])) { gSpecialVar_Result = 6; data->state = 23; @@ -2083,7 +1049,7 @@ void sub_80134E8(u8 taskId) break; case 15: DestroyWirelessStatusIndicatorSprite(); - if (PrintOnTextbox(&data->textState, gUnknown_082EDE9C[sub_8011A74()])) + if (PrintOnTextbox(&data->textState, sPlayerDisconnectedTexts[sub_8011A74()])) { gSpecialVar_Result = 8; data->state = 23; @@ -2114,9 +1080,9 @@ u32 sub_8013B8C(struct UnkStruct_Group *arg0, s32 id) if (gUnknown_02022C2C == 4 && structPtr->unk.field_0.unk_00.unk_01_2 != 3) { - if (!(gSaveBlock2Ptr->specialSaveWarpFlags & 0x80)) + if (!(gSaveBlock2Ptr->specialSaveWarpFlags & CHAMPION_SAVEWARP)) return 1; - else if (structPtr->unk.field_0.unk_00.unk_00_7) + else if (structPtr->unk.field_0.unk_00.isChampion) return 0; } else @@ -2305,22 +1271,22 @@ u8 sub_8013E44(void) return ret; } -void sub_8013F60(u8 taskId) +static void Task_CreateTradeMenu(u8 taskId) { - sub_80773AC(); + CB2_StartCreateTradeMenu(); DestroyTask(taskId); } u8 sub_8013F78(void) { - u8 taskId = CreateTask(sub_8013F60, 0); + u8 taskId = CreateTask(Task_CreateTradeMenu, 0); return taskId; } void sub_8013F90(u8 taskId) { - u32 monId = sub_8018120(&gUnknown_02022C40, GetMultiplayerId()); + u32 monId = GetPartyPositionOfRegisteredMon(&sUnionRoomTrade, GetMultiplayerId()); switch (gTasks[taskId].data[0]) { @@ -2345,13 +1311,13 @@ void sub_8013F90(u8 taskId) case 3: if (GetBlockReceivedStatus() == 3) { - memcpy(gUnknown_020321C0, gBlockRecvBuffer[GetMultiplayerId() ^ 1], sizeof(struct MailStruct) * PARTY_SIZE); + memcpy(gTradeMail, gBlockRecvBuffer[GetMultiplayerId() ^ 1], sizeof(struct MailStruct) * PARTY_SIZE); ResetBlockReceivedFlags(); - gUnknown_02032298[0] = monId; - gUnknown_02032298[1] = 6; + gSelectedTradeMonPositions[TRADE_PLAYER] = monId; + gSelectedTradeMonPositions[TRADE_PARTNER] = PARTY_SIZE; gMain.savedCallback = CB2_ReturnToField; - SetMainCallback2(sub_807AE50); - sub_801807C(&gUnknown_02022C40); + SetMainCallback2(CB2_LinkTrade); + ResetUnionRoomTrade(&sUnionRoomTrade); DestroyTask(taskId); } break; @@ -2421,7 +1387,7 @@ void sub_8014210(u16 battleFlags) HealPlayerParty(); SavePlayerParty(); LoadPlayerBag(); - gLinkPlayers[0].linkType = 0x2211; + gLinkPlayers[0].linkType = LINKTYPE_BATTLE; gLinkPlayers[GetMultiplayerId()].id = GetMultiplayerId(); gLinkPlayers[GetMultiplayerId() ^ 1].id = GetMultiplayerId() ^ 1; gMain.savedCallback = sub_80B360C; @@ -2429,18 +1395,18 @@ void sub_8014210(u16 battleFlags) PlayBattleBGM(); } -void sub_8014290(u16 arg0, u16 x, u16 y) +static void sub_8014290(u16 linkService, u16 x, u16 y) { - VarSet(VAR_CABLE_CLUB_STATE, arg0); + VarSet(VAR_CABLE_CLUB_STATE, linkService); SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y); SetDynamicWarpWithCoords(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y); WarpIntoMap(); } -void sub_8014304(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 arg4) +void sub_8014304(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 linkService) { - gSpecialVar_0x8004 = arg4; - VarSet(VAR_CABLE_CLUB_STATE, arg4); + gSpecialVar_0x8004 = linkService; + VarSet(VAR_CABLE_CLUB_STATE, linkService); gFieldLinkPlayerCount = GetLinkPlayerCount(); gLocalLinkPlayerId = GetMultiplayerId(); SetCableClubWarp(); @@ -2458,7 +1424,7 @@ void sub_8014384(void) break; case 1: if (!FuncIsActiveTask(sub_80140E0)) - SetMainCallback2(sub_8086074); + SetMainCallback2(CB2_ReturnToFieldCableClub); break; } @@ -2506,7 +1472,7 @@ void sub_801440C(u8 taskId) HealPlayerParty(); SavePlayerParty(); LoadPlayerBag(); - sub_8014304(MAP_GROUP(SINGLE_BATTLE_COLOSSEUM), MAP_NUM(SINGLE_BATTLE_COLOSSEUM), 6, 8, 1); + sub_8014304(MAP_GROUP(BATTLE_COLOSSEUM_2P), MAP_NUM(BATTLE_COLOSSEUM_2P), 6, 8, USING_SINGLE_BATTLE); SetMainCallback2(sub_8014384); break; case 2: @@ -2515,7 +1481,7 @@ void sub_801440C(u8 taskId) SavePlayerParty(); LoadPlayerBag(); sub_80143E4(gBlockSendBuffer, TRUE); - sub_8014304(MAP_GROUP(SINGLE_BATTLE_COLOSSEUM), MAP_NUM(SINGLE_BATTLE_COLOSSEUM), 6, 8, 2); + sub_8014304(MAP_GROUP(BATTLE_COLOSSEUM_2P), MAP_NUM(BATTLE_COLOSSEUM_2P), 6, 8, USING_DOUBLE_BATTLE); SetMainCallback2(sub_8014384); break; case 3: @@ -2524,19 +1490,19 @@ void sub_801440C(u8 taskId) SavePlayerParty(); LoadPlayerBag(); sub_80143E4(gBlockSendBuffer, TRUE); - sub_8014304(MAP_GROUP(DOUBLE_BATTLE_COLOSSEUM), MAP_NUM(DOUBLE_BATTLE_COLOSSEUM), 5, 8, 5); + sub_8014304(MAP_GROUP(BATTLE_COLOSSEUM_4P), MAP_NUM(BATTLE_COLOSSEUM_4P), 5, 8, USING_MULTI_BATTLE); SetMainCallback2(sub_8014384); break; case 4: sub_80143E4(gBlockSendBuffer, TRUE); CleanupOverworldWindowsAndTilemaps(); - sub_8014304(MAP_GROUP(TRADE_CENTER), MAP_NUM(TRADE_CENTER), 5, 8, 3); + sub_8014304(MAP_GROUP(TRADE_CENTER), MAP_NUM(TRADE_CENTER), 5, 8, USING_TRADE_CENTER); SetMainCallback2(sub_8014384); break; case 15: sub_80143E4(gBlockSendBuffer, TRUE); CleanupOverworldWindowsAndTilemaps(); - sub_8014304(MAP_GROUP(RECORD_CORNER), MAP_NUM(RECORD_CORNER), 8, 9, 4); + sub_8014304(MAP_GROUP(RECORD_CORNER), MAP_NUM(RECORD_CORNER), 8, 9, USING_RECORD_CORNER); SetMainCallback2(sub_8014384); break; case 68: @@ -2562,15 +1528,15 @@ void sub_801440C(u8 taskId) SetMainCallback2(sub_80141A4); break; case 9: - sub_8014290(8, 5, 1); + sub_8014290(USING_MINIGAME, 5, 1); sub_802A9A8(GetCursorSelectionMonId(), CB2_LoadMap); break; case 10: - sub_8014290(7, 9, 1); + sub_8014290(USING_BERRY_CRUSH, 9, 1); sub_8020C70(CB2_LoadMap); break; case 11: - sub_8014290(8, 5, 1); + sub_8014290(USING_MINIGAME, 5, 1); sub_802493C(GetCursorSelectionMonId(), CB2_LoadMap); break; } @@ -2594,7 +1560,7 @@ void sub_8014790(u8 taskId) { case 14: case 28: - gLinkPlayers[0].linkType = 0x2211; + gLinkPlayers[0].linkType = LINKTYPE_BATTLE; gLinkPlayers[0].id = 0; gLinkPlayers[1].id = 2; sendBuff[0] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[0] - 1], MON_DATA_SPECIES); @@ -2617,7 +1583,7 @@ void sub_8014790(u8 taskId) case 1: if (!ScriptContext1_IsScriptSetUp()) { - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); data[0] = 2; } break; @@ -2627,7 +1593,7 @@ void sub_8014790(u8 taskId) if (gUnknown_02022C2C == 29) { DestroyTask(taskId); - SetMainCallback2(sub_80773AC); + SetMainCallback2(CB2_StartCreateTradeMenu); } else { @@ -2751,7 +1717,7 @@ void sub_8014A40(u8 taskId) data->state = 2; break; case 2: - StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]); + StringCopy(gStringVar1, sLinkGroupActivityTexts[gUnknown_02022C2C]); sub_801262C(gStringVar4, gUnknown_02022C2C); data->state = 3; break; @@ -2768,7 +1734,7 @@ void sub_8014A40(u8 taskId) } break; case 6: - if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_082EDF40)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, sText_LinkWithFriendDropped)) { data->field_13 = sub_8013398(data->field_0); RedrawListMenu(data->listTaskId); @@ -2808,7 +1774,7 @@ void sub_8014A40(u8 taskId) RedrawListMenu(data->listTaskId); data->field_13++; sub_8018404(gStringVar1, &data->field_0->arr[data->field_13 - 1]); - StringExpandPlaceholders(gStringVar4, gUnknown_082EDC9C); + StringExpandPlaceholders(gStringVar4, sText_AnOKWasSentToPlayer); data->state = 9; sub_800EF38(); } @@ -2865,7 +1831,7 @@ void sub_8014A40(u8 taskId) data->state++; break; case 14: - if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gText_PleaseStartOver)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, sText_PleaseStartOver)) { DestroyTask(taskId); gSpecialVar_Result = 5; @@ -2933,7 +1899,7 @@ void sub_8014F48(u8 taskId) data->state = 1; break; case 1: - AddTextPrinterToWindow1(gUnknown_082EF7F8); + AddTextPrinterToWindow1(sText_ChooseTrainer); data->state = 2; break; case 2: @@ -3006,7 +1972,7 @@ void sub_8014F48(u8 taskId) } break; case 4: - AddTextPrinterToWindow1(gUnknown_082EFC3C); + AddTextPrinterToWindow1(sText_AwaitingPlayersResponse); sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]); data->state = 5; break; @@ -3025,7 +1991,7 @@ void sub_8014F48(u8 taskId) data->state = 8; break; case 5: - AddTextPrinterToWindow1(gUnknown_082EDDF4); + AddTextPrinterToWindow1(sText_PlayerSentBackOK); sub_8011A64(0, 0); break; } @@ -3043,7 +2009,7 @@ void sub_8014F48(u8 taskId) data->state++; break; case 9: - if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_082EDF80[sub_8011A74()])) + if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, sLinkDroppedTexts[sub_8011A74()])) { DestroyWirelessStatusIndicatorSprite(); DestroyTask(taskId); @@ -3053,7 +2019,7 @@ void sub_8014F48(u8 taskId) break; case 7: DestroyWirelessStatusIndicatorSprite(); - AddTextPrinterToWindow1(gText_PleaseStartOver); + AddTextPrinterToWindow1(sText_PleaseStartOver); DestroyTask(taskId); sub_800EDD4(); gSpecialVar_Result = 5; @@ -3102,7 +2068,7 @@ void sub_80152F4(u8 taskId) data->state = 1; break; case 1: - AddTextPrinterToWindow1(gUnknown_082EFBC8); + AddTextPrinterToWindow1(sText_SearchingForWirelessSystemWait); data->state = 2; break; case 2: @@ -3171,7 +2137,7 @@ void sub_80152F4(u8 taskId) } break; case 4: - AddTextPrinterToWindow1(gUnknown_082EFC90); + AddTextPrinterToWindow1(sText_AwaitingResponseFromWirelessSystem); sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]); data->state = 5; break; @@ -3190,7 +2156,7 @@ void sub_80152F4(u8 taskId) data->state = 8; break; case 5: - AddTextPrinterToWindow1(gUnknown_082EDEC4); + AddTextPrinterToWindow1(sText_WirelessLinkEstablished); sub_8011A64(0, 0); break; } @@ -3211,7 +2177,7 @@ void sub_80152F4(u8 taskId) data->state++; break; case 9: - if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_082EDF04)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, sText_WirelessLinkDropped)) { DestroyWirelessStatusIndicatorSprite(); DestroyTask(taskId); @@ -3220,7 +2186,7 @@ void sub_80152F4(u8 taskId) } break; case 7: - if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gText_WirelessSearchCanceled)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, sText_WirelessSearchCanceled)) { DestroyWirelessStatusIndicatorSprite(); DestroyTask(taskId); @@ -3229,7 +2195,7 @@ void sub_80152F4(u8 taskId) } break; case 11: - if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_082EFD58[data->field_12])) + if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, sNoWonderSharedTexts[data->field_12])) { DestroyWirelessStatusIndicatorSprite(); DestroyTask(taskId); @@ -3334,7 +2300,7 @@ void sub_80156E0(u8 taskId) break; case 2: sub_8010F84(0x40, 0, 0); - sub_8010FCC(gUnknown_02022C40.type, gUnknown_02022C40.playerSpecies, gUnknown_02022C40.playerLevel); + sub_8010FCC(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel); sub_800B488(); OpenLink(); sub_8011C84(); @@ -3345,22 +2311,24 @@ void sub_80156E0(u8 taskId) data->state = 3; break; case 3: - if ((sub_81B1360() == 8 || sub_81B1360() == 9) && gUnknown_02022C40.field_0 != 0) + if ((GetPartyMenuType() == PARTY_MENU_TYPE_UNION_ROOM_REGISTER + || GetPartyMenuType() == PARTY_MENU_TYPE_UNION_ROOM_TRADE) + && sUnionRoomTrade.field_0 != 0) { id = GetCursorSelectionMonId(); - switch (gUnknown_02022C40.field_0) + switch (sUnionRoomTrade.field_0) { case 1: sub_8011090(0x54, 0, 1); if (id >= PARTY_SIZE) { - sub_801807C(&gUnknown_02022C40); + ResetUnionRoomTrade(&sUnionRoomTrade); sub_8010FCC(0, 0, 0); - sub_801568C(gUnknown_082EF4FC); + sub_801568C(sText_RegistrationCanceled); } - else if (!sub_80180A0(GetCursorSelectionMonId(), &gUnknown_02022C40)) + else if (!RegisterTradeMonAndGetIsEgg(GetCursorSelectionMonId(), &sUnionRoomTrade)) { - sub_8015664(0x34, gUnknown_082EF47C); + sub_8015664(0x34, sText_ChooseRequestedMonType); } else { @@ -3369,21 +2337,21 @@ void sub_80156E0(u8 taskId) break; case 2: sub_80156C8(data); - taskData[1] = gUnknown_02022C40.field_8; + taskData[1] = sUnionRoomTrade.field_8; if (id >= PARTY_SIZE) { - sub_801568C(gUnknown_082EF544); + sub_801568C(sText_TradeCanceled); } else { sub_8011090(0x54, 0, 1); gUnknown_02022C2C = 0x44; - sub_80180E8(GetCursorSelectionMonId(), &gUnknown_02022C40); + RegisterTradeMon(GetCursorSelectionMonId(), &sUnionRoomTrade); data->state = 51; } break; } - gUnknown_02022C40.field_0 = 0; + sUnionRoomTrade.field_0 = 0; } else { @@ -3455,7 +2423,7 @@ void sub_80156E0(u8 taskId) } break; case 23: - if (!FuncIsActiveTask(sub_809FA34)) + if (!FuncIsActiveTask(Task_ShowStartMenu)) { sub_8011090(0x40, 0, 0); data->state = 4; @@ -3491,9 +2459,9 @@ void sub_80156E0(u8 taskId) case 1: case 2: if (sub_8011B90() == TRUE) - sub_801568C(gUnknown_082EE6C8); + sub_801568C(sText_TrainerAppearsBusy); else - sub_8015664(30, gUnknown_082EE6C8); + sub_8015664(30, sText_TrainerAppearsBusy); gUnknown_02022C2C = 0x40; break; @@ -3510,7 +2478,7 @@ void sub_80156E0(u8 taskId) if (!FuncIsActiveTask(sub_80140E0)) { if (gUnknown_02022C2C == 0x44) - sub_8015664(31, gUnknown_082EE004); + sub_8015664(31, sText_AwaitingPlayersResponseAboutTrade); else data->state = 5; } @@ -3526,7 +2494,7 @@ void sub_80156E0(u8 taskId) case 5: id = sub_80179AC(&data->field_0->arr[taskData[1]]); playerGender = sub_8017CF8(taskData[1], data->field_0); - sub_8015664(6, gUnknown_082EE24C[id][playerGender]); + sub_8015664(6, sHiDoSomethingTexts[id][playerGender]); break; case 6: var5 = sub_8017178(&data->textState, &data->field_1B, &data->field_1C, &gUnknown_082F021C, &gUnknown_082F0244); @@ -3544,16 +2512,16 @@ void sub_80156E0(u8 taskId) { data->field_4C[0] = 0x40; sub_800FE50(data->field_4C); - StringCopy(gStringVar4, gUnknown_082EEB80[gLinkPlayers[0].gender]); + StringCopy(gStringVar4, sIfYouWantToDoSomethingTexts[gLinkPlayers[0].gender]); data->state = 32; } else { gUnknown_02022C2C = var5; gUnknown_02022C2D = (u32)(var5) >> 8; - if (gUnknown_02022C2C == 0x41 && !sub_8018024()) + if (gUnknown_02022C2C == 0x41 && !HasAtLeastTwoMonsOfLevel30OrLower()) { - sub_8015664(5, gUnknown_082EEBD0); + sub_8015664(5, sText_NeedTwoMonsOfLevel30OrLower1); } else { @@ -3566,14 +2534,14 @@ void sub_80156E0(u8 taskId) } break; case 28: - StringCopy(gStringVar4, gUnknown_082EEB88); + StringCopy(gStringVar4, sText_TrainerBattleBusy); data->state = 36; break; case 27: sub_8017FD8(data); playerGender = sub_8017CF8(taskData[1], data->field_0); id = sub_8017984(data->field_4C[0] & 0x3F); - if (PrintOnTextbox(&data->textState, gUnknown_082EE82C[playerGender][id])) + if (PrintOnTextbox(&data->textState, sText_WaitOrShowCardTexts[playerGender][id])) { taskData[3] = 0; data->state = 29; @@ -3585,15 +2553,15 @@ void sub_80156E0(u8 taskId) break; case 31: data->field_4C[0] = 0x44; - data->field_4C[1] = gUnknown_02022C40.species; - data->field_4C[2] = gUnknown_02022C40.level; + data->field_4C[1] = sUnionRoomTrade.species; + data->field_4C[2] = sUnionRoomTrade.level; sub_800FE50(data->field_4C); data->state = 29; break; case 29: if (gReceivedRemoteLinkPlayers == 0) { - StringCopy(gStringVar4, gUnknown_082EEB88); + StringCopy(gStringVar4, sText_TrainerBattleBusy); data->state = 28; } else @@ -3623,7 +2591,7 @@ void sub_80156E0(u8 taskId) case 7: id = sub_80179AC(&data->field_0->arr[taskData[1]]); playerGender = sub_8017CF8(taskData[1], data->field_0); - sub_8015664(6, gUnknown_082EE24C[id][playerGender]); + sub_8015664(6, sHiDoSomethingTexts[id][playerGender]); break; case 40: if (PrintOnTextbox(&data->textState, gStringVar4)) @@ -3641,7 +2609,7 @@ void sub_80156E0(u8 taskId) { StringCopy(gStringVar1, gLinkPlayers[GetMultiplayerId() ^ 1].name); id = sub_800E540(gLinkPlayers[1].trainerId, gLinkPlayers[1].name); - StringExpandPlaceholders(gStringVar4, gUnknown_082EE378[id]); + StringExpandPlaceholders(gStringVar4, sAwaitingResponseTexts[id]); data->state = 33; } else @@ -3665,7 +2633,7 @@ void sub_80156E0(u8 taskId) case 1: case -1: playerGender = sub_8017CF8(taskData[1], data->field_0); - sub_801568C(gUnknown_082EEC9C[playerGender]); + sub_801568C(sDeclineBattleTexts[playerGender]); break; } break; @@ -3688,9 +2656,9 @@ void sub_80156E0(u8 taskId) playerGender = sub_8017CF8(taskData[1], data->field_0); sub_8011090(0x54, 0, 1); if (sub_8011B90() == TRUE) - sub_801568C(gUnknown_082EED3C[playerGender]); + sub_801568C(sChatDeclinedTexts[playerGender]); else - sub_8015664(30, gUnknown_082EED3C[playerGender]); + sub_8015664(30, sChatDeclinedTexts[playerGender]); break; case 3: data->state = 22; @@ -3704,9 +2672,9 @@ void sub_80156E0(u8 taskId) playerGender = sub_8017CF8(taskData[1], data->field_0); sub_8011090(0x54, 0, 1); if (sub_8011B90() == TRUE) - sub_801568C(gUnknown_082EED3C[playerGender]); + sub_801568C(sChatDeclinedTexts[playerGender]); else - sub_8015664(30, gUnknown_082EED3C[playerGender]); + sub_8015664(30, sChatDeclinedTexts[playerGender]); } if (gReceivedRemoteLinkPlayers != 0) data->state = 16; @@ -3737,7 +2705,7 @@ void sub_80156E0(u8 taskId) data->state = 33; StringCopy(gStringVar1, gLinkPlayers[1].name); id = sub_800E540(gLinkPlayers[1].trainerId, gLinkPlayers[1].name); - StringExpandPlaceholders(gStringVar4, gUnknown_082EE324[id]); + StringExpandPlaceholders(gStringVar4, sPlayerContactedYouTexts[id]); } break; case 33: @@ -3750,7 +2718,7 @@ void sub_80156E0(u8 taskId) if (sub_80168DC(data) && gMain.newKeys & B_BUTTON) { sub_8011DE0(1); - StringCopy(gStringVar4, gUnknown_082EE598); + StringCopy(gStringVar4, sText_ChatEnded); data->state = 36; } break; @@ -3771,12 +2739,12 @@ void sub_80156E0(u8 taskId) taskData[3] = 0; if (gUnknown_02022C2C == 0x41) { - if (!sub_8018024()) + if (!HasAtLeastTwoMonsOfLevel30OrLower()) { data->field_4C[0] = 0x52; sub_800FE50(data->field_4C); data->state = 10; - StringCopy(gStringVar4, gUnknown_082EEC14); + StringCopy(gStringVar4, sText_NeedTwoMonsOfLevel30OrLower2); } else { @@ -3866,19 +2834,19 @@ void sub_80156E0(u8 taskId) { if (sub_800F7DC()->species == SPECIES_EGG) { - StringCopy(gStringVar4, gUnknown_082EF590); + StringCopy(gStringVar4, sText_CancelRegistrationOfEgg); } else { StringCopy(gStringVar1, gSpeciesNames[sub_800F7DC()->species]); - ConvertIntToDecimalStringN(gStringVar2, sub_800F7DC()->unk_0b_1, STR_CONV_MODE_LEFT_ALIGN, 3); - StringExpandPlaceholders(gStringVar4, gUnknown_082EF564); + ConvertIntToDecimalStringN(gStringVar2, sub_800F7DC()->level, STR_CONV_MODE_LEFT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, sText_CancelRegistrationOfMon); } sub_8015664(44, gStringVar4); } break; case 43: - if (PrintOnTextbox(&data->textState, gUnknown_082EF20C)) + if (PrintOnTextbox(&data->textState, sText_RegisterMonAtTradingBoard)) data->state = 47; break; case 47: @@ -3894,11 +2862,11 @@ void sub_80156E0(u8 taskId) { switch (var5) { - case 1: - sub_8015664(53, gUnknown_082EF4C4); + case 1: // REGISTER + sub_8015664(53, sText_WhichMonWillYouOffer); break; - case 2: - sub_8015664(47, gUnknown_082EF298); + case 2: // INFO + sub_8015664(47, sText_TradingBoardInfo); break; } } @@ -3911,33 +2879,33 @@ void sub_80156E0(u8 taskId) case 54: if (!gPaletteFade.active) { - gUnknown_02022C40.field_0 = 1; - gFieldCallback = sub_80AF128; - sub_81B8904(8, CB2_ReturnToField); + sUnionRoomTrade.field_0 = 1; + gFieldCallback = FieldCB_ContinueScriptUnionRoom; + ChooseMonForTradingBoard(PARTY_MENU_TYPE_UNION_ROOM_REGISTER, CB2_ReturnToField); } break; case 52: - var5 = sub_8017178(&data->textState, &data->field_1D, &data->field_1E, &gUnknown_082F0294, &gUnknown_082F032C); + var5 = sub_8017178(&data->textState, &data->field_1D, &data->field_1E, &gUnknown_082F0294, &sMenuTemplate_TradingBoardRequestType); if (var5 != -1) { switch (var5) { case -2: case 18: - sub_801807C(&gUnknown_02022C40); + ResetUnionRoomTrade(&sUnionRoomTrade); sub_8010FCC(0, 0, 0); - sub_801568C(gUnknown_082EF4FC); + sub_801568C(sText_RegistrationCanceled); break; default: - gUnknown_02022C40.type = var5; + sUnionRoomTrade.type = var5; data->state = 55; break; } } break; case 55: - sub_8010FCC(gUnknown_02022C40.type, gUnknown_02022C40.playerSpecies, gUnknown_02022C40.playerLevel); - sub_801568C(gUnknown_082EF520); + sub_8010FCC(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel); + sub_801568C(sText_RegistraionCompleted); break; case 44: switch (sub_80170B8(&data->textState, FALSE)) @@ -3953,16 +2921,16 @@ void sub_80156E0(u8 taskId) } break; case 56: - if (PrintOnTextbox(&data->textState, gUnknown_082EF5B8)) + if (PrintOnTextbox(&data->textState, sText_RegistrationCanceled2)) { sub_8010FCC(0, 0, 0); - sub_801807C(&gUnknown_02022C40); + ResetUnionRoomTrade(&sUnionRoomTrade); sub_801818C(TRUE); data->state = 4; } break; case 45: - if (PrintOnTextbox(&data->textState, gUnknown_082EF1EC)) + if (PrintOnTextbox(&data->textState, sText_XCheckedTradingBoard)) data->state = 46; break; case 46: @@ -3986,18 +2954,18 @@ void sub_80156E0(u8 taskId) { case 0: sub_8018404(gStringVar1, &data->field_0->arr[var5]); - sub_8015664(49, gUnknown_082EF65C); + sub_8015664(49, sText_AskTrainerToMakeTrade); taskData[1] = var5; break; case 1: sub_8018404(gStringVar1, &data->field_0->arr[var5]); StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.field_0.type]); - sub_8015664(46, gUnknown_082EF6E4); + sub_8015664(46, sText_DontHaveTypeTrainerWants); break; case 2: sub_8018404(gStringVar1, &data->field_0->arr[var5]); StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.field_0.type]); - sub_8015664(46, gUnknown_082EF718); + sub_8015664(46, sText_DontHaveEggTrainerWants); break; } break; @@ -4018,23 +2986,23 @@ void sub_80156E0(u8 taskId) } break; case 50: - if (PrintOnTextbox(&data->textState, gUnknown_082EF4C4)) + if (PrintOnTextbox(&data->textState, sText_WhichMonWillYouOffer)) { - gUnknown_02022C40.field_0 = 2; + sUnionRoomTrade.field_0 = 2; memcpy(&gUnknown_02022C38, &data->field_0->arr[taskData[1]].unk.field_0.unk_00, sizeof(gUnknown_02022C38)); - gUnknown_02022C3E = data->field_0->arr[taskData[1]].unk.field_0.type; - gUnknown_02022C3C = data->field_0->arr[taskData[1]].unk.field_0.species; - gFieldCallback = sub_80AF128; - sub_81B8904(9, CB2_ReturnToField); + gUnionRoomRequestedMonType = data->field_0->arr[taskData[1]].unk.field_0.type; + gUnionRoomOfferedSpecies = data->field_0->arr[taskData[1]].unk.field_0.species; + gFieldCallback = FieldCB_ContinueScriptUnionRoom; + ChooseMonForTradingBoard(PARTY_MENU_TYPE_UNION_ROOM_TRADE, CB2_ReturnToField); sub_80156B0(data); - gUnknown_02022C40.field_8 = taskData[1]; + sUnionRoomTrade.field_8 = taskData[1]; } break; case 51: gUnknown_02022C2C = 0x44; sub_8012188(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.field_0, 0x44); sub_8018404(gStringVar1, &data->field_0->arr[taskData[1]]); - sub_8017020(gUnknown_082EE17C[2]); + sub_8017020(sCommunicatingWaitTexts[2]); data->state = 25; break; case 26: @@ -4097,20 +3065,20 @@ bool32 sub_80168DC(struct UnkStruct_URoom *arg0) return TRUE; } -void sub_8016934(void) +void InitUnionRoom(void) { struct UnkStruct_URoom *ptr; - gUnknown_02022C20[0] = EOS; + sUnionRoomPlayerName[0] = EOS; CreateTask(sub_801697C, 0); gUnknown_02022C30.uRoom = gUnknown_02022C30.uRoom; // Needed to match. - gUnknown_02022C30.uRoom = ptr = AllocZeroed(0x26C); + gUnknown_02022C30.uRoom = ptr = AllocZeroed(sizeof(struct UnkStruct_URoom)); gUnknown_03000DA8 = gUnknown_02022C30.uRoom; ptr->state = 0; ptr->textState = 0; ptr->field_10 = 0; ptr->field_12 = 0; - gUnknown_02022C20[0] = EOS; + sUnionRoomPlayerName[0] = EOS; } void sub_801697C(u8 taskId) @@ -4149,7 +3117,7 @@ void sub_801697C(u8 taskId) { case 1: case 2: - if (gUnknown_02022C20[0] == EOS) + if (sUnionRoomPlayerName[0] == EOS) { for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) { @@ -4158,7 +3126,7 @@ void sub_801697C(u8 taskId) sub_8018404(text, &structPtr->field_0->arr[i]); if (sub_800E540(ReadAsU16(structPtr->field_0->arr[i].unk.field_0.unk_00.playerTrainerId), text)) { - StringCopy(gUnknown_02022C20, text); + StringCopy(sUnionRoomPlayerName, text); break; } } @@ -4182,12 +3150,12 @@ void sub_801697C(u8 taskId) } } -bool16 sp182_move_string(void) +bool16 BufferUnionRoomPlayerName(void) { - if (gUnknown_02022C20[0] != EOS) + if (sUnionRoomPlayerName[0] != EOS) { - StringCopy(gStringVar1, gUnknown_02022C20); - gUnknown_02022C20[0] = EOS; + StringCopy(gStringVar1, sUnionRoomPlayerName); + sUnionRoomPlayerName[0] = EOS; return TRUE; } else @@ -4486,7 +3454,7 @@ u8 sub_8017118(const struct WindowTemplate * template) u8 windowId = AddWindow(template); DrawStdWindowFrame(windowId, FALSE); FillWindowPixelBuffer(windowId, 0xFF); - sub_80173E0(windowId, 1, gUnknown_082EFD94, 8, 1, 6); + sub_80173E0(windowId, 1, sText_NameWantedOfferLv, 8, 1, 6); CopyWindowToVram(windowId, 2); PutWindowTilemap(windowId); return windowId; @@ -4812,7 +3780,7 @@ void sub_80177B8(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, u8 sp0[6]; ConvertIntToDecimalStringN(gStringVar4, id + 1, STR_CONV_MODE_LEADING_ZEROS, 2); - StringAppend(gStringVar4, gText_Colon); + StringAppend(gStringVar4, sText_Colon); sub_80173E0(arg0, 1, gStringVar4, arg1, arg2, 0); arg1 += 18; r2 = arg3->unk.field_0.unk_0a_0; @@ -4821,7 +3789,7 @@ void sub_80177B8(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, sub_8018404(gStringVar4, arg3); sub_80173E0(arg0, 1, gStringVar4, arg1, arg2, arg4); ConvertIntToDecimalStringN(sp0, arg3->unk.field_0.unk_00.playerTrainerId[0] | (arg3->unk.field_0.unk_00.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5); - StringCopy(gStringVar4, gText_UnkCtrlCodeF907); + StringCopy(gStringVar4, sText_ID); StringAppend(gStringVar4, sp0); sub_80173E0(arg0, 1, gStringVar4, GetStringRightAlignXOffset(1, gStringVar4, 0x88), arg2, arg4); } @@ -4836,7 +3804,7 @@ void sub_80178A0(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, sub_8018404(gStringVar4, arg3); sub_80173E0(arg0, 1, gStringVar4, arg1, arg2, arg4); ConvertIntToDecimalStringN(sp0, arg3->unk.field_0.unk_00.playerTrainerId[0] | (arg3->unk.field_0.unk_00.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5); - StringCopy(gStringVar4, gText_UnkCtrlCodeF907); + StringCopy(gStringVar4, sText_ID); StringAppend(gStringVar4, sp0); sub_80173E0(arg0, 1, gStringVar4, GetStringRightAlignXOffset(1, gStringVar4, 0x68), arg2, arg4); } @@ -4897,12 +3865,12 @@ s32 sub_80179D4(struct UnkStruct_Main0 *arg0, u8 arg1, u8 arg2, u32 playerGender r2 = sub_800E540(ReadAsU16(r5->unk.field_0.unk_00.playerTrainerId), gStringVar1); if (r5->unk.field_0.unk_0a_0 == 0x45) { - StringExpandPlaceholders(gStringVar4, gUnknown_082EE6B8[r2][playerGender]); + StringExpandPlaceholders(gStringVar4, sJoinChatTexts[r2][playerGender]); return 2; } else { - sub_8017020(gUnknown_082EE17C[r2]); + sub_8017020(sCommunicatingWaitTexts[r2]); return 1; } } @@ -4916,19 +3884,19 @@ s32 sub_80179D4(struct UnkStruct_Main0 *arg0, u8 arg1, u8 arg2, u32 playerGender switch (r5->unk.field_0.unk_0a_0 & 0x3F) { case 1: - StringExpandPlaceholders(gStringVar4, gUnknown_082EEEAC[playerGender][Random() % 4]); + StringExpandPlaceholders(gStringVar4, sBattleReactionTexts[playerGender][Random() % 4]); break; case 4: - StringExpandPlaceholders(gStringVar4, gUnknown_082EF1CC[playerGender][Random() % 2]); + StringExpandPlaceholders(gStringVar4, sTradeReactionTexts[playerGender][Random() % 2]); break; case 5: - StringExpandPlaceholders(gStringVar4, gUnknown_082EF010[playerGender][Random() % 4]); + StringExpandPlaceholders(gStringVar4, sChatReactionTexts[playerGender][Random() % 4]); break; case 8: - StringExpandPlaceholders(gStringVar4, gUnknown_082EF100[playerGender][Random() % 2]); + StringExpandPlaceholders(gStringVar4, sTrainerCardReactionTexts[playerGender][Random() % 2]); break; default: - StringExpandPlaceholders(gStringVar4, gUnknown_082EE6C8); + StringExpandPlaceholders(gStringVar4, sText_TrainerAppearsBusy); break; } return 0; @@ -4945,12 +3913,12 @@ void sub_8017B3C(u8 arg0, u8 arg1, struct UnkLinkRfuStruct_02022B14 * arg2, cons u8 sp8[4]; u16 r8 = arg2->species; u8 r7 = arg2->type; - u8 r9 = arg2->unk_0b_1; + u8 r9 = arg2->level; sub_80173E0(arg0, 1, str, 8, arg1, arg4); if (r8 == SPECIES_EGG) { - sub_80173E0(arg0, 1, gUnknown_082EF7D0, 0x44, arg1, arg4); + sub_80173E0(arg0, 1, sText_EggTrade, 0x44, arg1, arg4); } else { @@ -5055,16 +4023,16 @@ void sub_8017D9C(u8 *dst, s32 arg1, u32 playerGender) switch (arg1) { case 0x41: - StringExpandPlaceholders(dst, gUnknown_082EEA68[playerGender]); + StringExpandPlaceholders(dst, sBattleDeclinedTexts[playerGender]); break; case 0x45: - StringExpandPlaceholders(dst, gUnknown_082EED3C[playerGender]); + StringExpandPlaceholders(dst, sChatDeclinedTexts[playerGender]); break; case 0x44: - StringExpandPlaceholders(dst, gUnknown_082EF7B0); + StringExpandPlaceholders(dst, sText_TradeOfferRejected); break; case 0x48: - StringExpandPlaceholders(dst, gUnknown_082EEB08[playerGender]); + StringExpandPlaceholders(dst, sShowTrainerCardDeclinedTexts[playerGender]); break; } } @@ -5077,13 +4045,13 @@ void sub_8017E00(u8 *dst, u8 arg1) switch (arg1) { case 0x41: - StringCopy(dst, gUnknown_082EE984[mpId][gender][0]); + StringCopy(dst, sStartActivityTexts[mpId][gender][0]); break; case 0x44: - StringCopy(dst, gUnknown_082EE984[mpId][gender][2]); + StringCopy(dst, sStartActivityTexts[mpId][gender][2]); break; case 0x45: - StringCopy(dst, gUnknown_082EE984[mpId][gender][1]); + StringCopy(dst, sStartActivityTexts[mpId][gender][1]); break; } } @@ -5097,16 +4065,16 @@ s32 sub_8017EA0(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom *arg3) switch (arg2[0]) { case 0x41: - StringExpandPlaceholders(dst, gUnknown_082EE3DC); + StringExpandPlaceholders(dst, sText_BattleChallenge); result = 1; break; case 0x45: - StringExpandPlaceholders(dst, gUnknown_082EE430); + StringExpandPlaceholders(dst, sText_ChatInvitation); result = 1; break; case 0x44: - ConvertIntToDecimalStringN(arg3->field_58 + 0x00, gUnknown_02022C40.playerLevel, STR_CONV_MODE_LEFT_ALIGN, 3); - StringCopy(arg3->field_58 + 0x10, gSpeciesNames[gUnknown_02022C40.playerSpecies]); + ConvertIntToDecimalStringN(arg3->field_58 + 0x00, sUnionRoomTrade.playerLevel, STR_CONV_MODE_LEFT_ALIGN, 3); + StringCopy(arg3->field_58 + 0x10, gSpeciesNames[sUnionRoomTrade.playerSpecies]); for (i = 0; i < 4; i++) { if (gUnknown_03007890->unk_14[i].unk_04 == 2) @@ -5119,7 +4087,7 @@ s32 sub_8017EA0(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom *arg3) } if (species == SPECIES_EGG) { - StringCopy(dst, gUnknown_082EE4F0); + StringCopy(dst, sText_OfferToTradeEgg); } else { @@ -5127,16 +4095,16 @@ s32 sub_8017EA0(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom *arg3) { DynamicPlaceholderTextUtil_SetPlaceholderPtr(i, arg3->field_58 + 0x10 * i); } - DynamicPlaceholderTextUtil_ExpandPlaceholders(dst, gUnknown_082EE47C); + DynamicPlaceholderTextUtil_ExpandPlaceholders(dst, sText_OfferToTradeMon); } result = 1; break; case 0x48: - StringExpandPlaceholders(dst, gUnknown_082EE380); + StringExpandPlaceholders(dst, sText_ShowTrainerCard); result = 1; break; case 0x40: - StringExpandPlaceholders(dst, gUnknown_082EE544); + StringExpandPlaceholders(dst, sText_ChatDropped); result = 2; break; } @@ -5169,14 +4137,14 @@ bool32 InUnionRoom(void) ? TRUE : FALSE; } -bool32 sub_8018024(void) +bool32 HasAtLeastTwoMonsOfLevel30OrLower(void) { s32 i; s32 count = 0; for (i = 0; i < gPlayerPartyCount; i++) { - if ( GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) <= 30 + if (GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) <= 30 && GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) != SPECIES_EGG) { count++; @@ -5184,16 +4152,12 @@ bool32 sub_8018024(void) } if (count > 1) - { return TRUE; - } else - { return FALSE; - } } -void sub_801807C(struct TradeUnkStruct *arg0) +static void ResetUnionRoomTrade(struct UnionRoomTrade *arg0) { arg0->field_0 = 0; arg0->type = 0; @@ -5205,34 +4169,30 @@ void sub_801807C(struct TradeUnkStruct *arg0) arg0->personality = 0; } -void sub_8018090(void) +void Script_ResetUnionRoomTrade(void) { - sub_801807C(&gUnknown_02022C40); + ResetUnionRoomTrade(&sUnionRoomTrade); } -bool32 sub_80180A0(u32 monId, struct TradeUnkStruct *arg1) +static bool32 RegisterTradeMonAndGetIsEgg(u32 monId, struct UnionRoomTrade *trade) { - arg1->playerSpecies = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2); - arg1->playerLevel = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); - arg1->playerPersonality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); - if (arg1->playerSpecies == SPECIES_EGG) - { + trade->playerSpecies = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2); + trade->playerLevel = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); + trade->playerPersonality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); + if (trade->playerSpecies == SPECIES_EGG) return TRUE; - } else - { return FALSE; - } } -void sub_80180E8(u32 monId, struct TradeUnkStruct *arg1) +static void RegisterTradeMon(u32 monId, struct UnionRoomTrade *trade) { - arg1->species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2); - arg1->level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); - arg1->personality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); + trade->species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2); + trade->level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); + trade->personality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); } -u32 sub_8018120(struct TradeUnkStruct *arg0, u8 multiplayerId) +static u32 GetPartyPositionOfRegisteredMon(struct UnionRoomTrade *trade, u8 multiplayerId) { u16 response = 0; u16 species; @@ -5241,15 +4201,17 @@ u32 sub_8018120(struct TradeUnkStruct *arg0, u8 multiplayerId) u16 cur_species; s32 i; + // player if (multiplayerId == 0) { - species = arg0->playerSpecies; - personality = arg0->playerPersonality; + species = trade->playerSpecies; + personality = trade->playerPersonality; } + // partner else { - species = arg0->species; - personality = arg0->personality; + species = trade->species; + personality = trade->personality; } for (i = 0; i < gPlayerPartyCount; i++) @@ -5279,7 +4241,7 @@ void sub_801818C(bool32 arg0) gUnknown_02022C2C = 0; if (arg0) { - sub_8010FCC(gUnknown_02022C40.type, gUnknown_02022C40.playerSpecies, gUnknown_02022C40.playerLevel); + sub_8010FCC(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel); sub_8011090(0x40, 0, 0); } } @@ -5321,7 +4283,7 @@ void sub_8018220(u8 *unused, struct UnkStruct_URoom *arg1, bool8 arg2) DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, trainerCard->playerName); - StringCopy(arg1->field_174, gUnknown_082EFF50[trainerCard->stars]); + StringCopy(arg1->field_174, sCardColorTexts[trainerCard->stars]); DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, arg1->field_174); ConvertIntToDecimalStringN(arg1->field_C0[2], trainerCard->caughtMonsCount, STR_CONV_MODE_LEFT_ALIGN, 3); @@ -5332,7 +4294,7 @@ void sub_8018220(u8 *unused, struct UnkStruct_URoom *arg1, bool8 arg2) DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, arg1->field_C0[3]); DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, arg1->field_C0[4]); - DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_082EFF64); + DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, sText_TrainerCardInfoPage1); StringCopy(gStringVar4, arg1->field_1A4); n = trainerCard->linkBattleWins; @@ -5360,17 +4322,17 @@ void sub_8018220(u8 *unused, struct UnkStruct_URoom *arg1, bool8 arg2) DynamicPlaceholderTextUtil_SetPlaceholderPtr(i + 4, arg1->field_C0[i + 3]); } - DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_082EFFA4); + DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, sText_TrainerCardInfoPage2); StringAppend(gStringVar4, arg1->field_1A4); if (arg2 == TRUE) { - DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_082F0020); + DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, sText_FinishedCheckingPlayersTrainerCard); StringAppend(gStringVar4, arg1->field_1A4); } else if (arg2 == FALSE) { - DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_082F0018[trainerCard->gender]); + DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, sGladToMeetYouTexts[trainerCard->gender]); StringAppend(gStringVar4, arg1->field_1A4); } } diff --git a/src/union_room_battle.c b/src/union_room_battle.c index 79d12291d0..b49406eac6 100644 --- a/src/union_room_battle.c +++ b/src/union_room_battle.c @@ -6,7 +6,7 @@ #include "bg.h" #include "palette.h" #include "gpu_regs.h" -#include "alloc.h" +#include "malloc.h" #include "menu.h" #include "window.h" #include "text_window.h" diff --git a/src/union_room_chat.c b/src/union_room_chat.c index 4afeb99cfd..f212c69a74 100755 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -1,5 +1,5 @@ #include "global.h" -#include "alloc.h" +#include "malloc.h" #include "bg.h" #include "decompress.h" #include "dma3.h" @@ -22,6 +22,7 @@ #include "task.h" #include "text.h" #include "text_window.h" +#include "union_room_chat.h" #include "window.h" #include "constants/rgb.h" #include "constants/songs.h" @@ -37,9 +38,9 @@ struct UnionRoomChat u8 unkD; u8 unkE; u8 unkF; - u8 unk10; + u8 currentPage; u8 unk11; - u8 unk12; + u8 currentRow; u8 unk13; u8 unk14; u8 unk15; @@ -50,7 +51,7 @@ struct UnionRoomChat u8 unk1A[0x1F]; u8 unk39[0x40]; u8 unk79[0x40]; - u8 unkB9[10][21]; + u8 unkB9[UNION_ROOM_KB_ROW_COUNT][21]; u8 filler18B[0x5]; u8 unk190[0x28]; u16 unk1B8; @@ -232,7 +233,13 @@ void (*const gUnknown_082F2A7C[])(void) = sub_801E978, }; -static const u8 sUnknown_082F2AA4[] = {9, 9, 9, 9}; +static const u8 sKeyboardPageMaxRow[] = +{ + [UNION_ROOM_KB_PAGE_UPPER] = 9, + [UNION_ROOM_KB_PAGE_LOWER] = 9, + [UNION_ROOM_KB_PAGE_EMOJI] = 9, + 9 +}; static const u8 gUnknown_082F2AA8[] = { CHAR_SPACE, 0x16, 0x17, 0x68, 0x19, 0x1A, 0x1B, 0x1C, @@ -269,10 +276,47 @@ static const u8 gUnknown_082F2AA8[] = { CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE }; -const u8 *const gUnknown_082F2BA8[][10] = { - {gUnknown_0862B9F9, gUnknown_0862B9FF, gUnknown_0862BA05, gUnknown_0862BA0B, gUnknown_0862BA11, gUnknown_0862BA17, gUnknown_0862BA1D, gUnknown_0862BA23, gUnknown_0862BA29, gUnknown_0862BA2F}, - {gUnknown_0862BA35, gUnknown_0862BA3B, gUnknown_0862BA41, gUnknown_0862BA47, gUnknown_0862BA4D, gUnknown_0862BA53, gUnknown_0862BA59, gUnknown_0862BA5F, gUnknown_0862BA65, gUnknown_0862BA6B}, - {gUnknown_0862BA79, gUnknown_0862BA84, gUnknown_0862BA8F, gUnknown_0862BA9A, gUnknown_0862BAA3, gUnknown_0862BAAE, gUnknown_0862BAB9, gUnknown_0862BAC4, gUnknown_0862BACF, gUnknown_0862BADA} +static const u8 *const sUnionRoomKeyboardText[UNION_ROOM_KB_PAGE_COUNT][UNION_ROOM_KB_ROW_COUNT] = +{ + [UNION_ROOM_KB_PAGE_UPPER] = + { + gText_UnionRoomChatKeyboard_ABCDE, + gText_UnionRoomChatKeyboard_FGHIJ, + gText_UnionRoomChatKeyboard_KLMNO, + gText_UnionRoomChatKeyboard_PQRST, + gText_UnionRoomChatKeyboard_UVWXY, + gText_UnionRoomChatKeyboard_Z, + gText_UnionRoomChatKeyboard_01234Upper, + gText_UnionRoomChatKeyboard_56789Upper, + gText_UnionRoomChatKeyboard_PunctuationUpper, + gText_UnionRoomChatKeyboard_SymbolsUpper + }, + [UNION_ROOM_KB_PAGE_LOWER] = + { + gText_UnionRoomChatKeyboard_abcde, + gText_UnionRoomChatKeyboard_fghij, + gText_UnionRoomChatKeyboard_klmno, + gText_UnionRoomChatKeyboard_pqrst, + gText_UnionRoomChatKeyboard_uvwxy, + gText_UnionRoomChatKeyboard_z, + gText_UnionRoomChatKeyboard_01234Lower, + gText_UnionRoomChatKeyboard_56789Lower, + gText_UnionRoomChatKeyboard_PunctuationLower, + gText_UnionRoomChatKeyboard_SymbolsLower + }, + [UNION_ROOM_KB_PAGE_EMOJI] = + { + gText_UnionRoomChatKeyboard_Emoji1, + gText_UnionRoomChatKeyboard_Emoji2, + gText_UnionRoomChatKeyboard_Emoji3, + gText_UnionRoomChatKeyboard_Emoji4, + gText_UnionRoomChatKeyboard_Emoji5, + gText_UnionRoomChatKeyboard_Emoji6, + gText_UnionRoomChatKeyboard_Emoji7, + gText_UnionRoomChatKeyboard_Emoji8, + gText_UnionRoomChatKeyboard_Emoji9, + gText_UnionRoomChatKeyboard_Emoji10 + } }; const u16 gUnknown_082F2C20[] = INCBIN_U16("graphics/interface/unk_palette1.gbapal"); @@ -417,8 +461,8 @@ const struct SpritePalette gUnknown_082F315C = { }; const struct OamData gUnknown_082F3164 = { - .shape = ST_OAM_H_RECTANGLE, - .size = 3, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), .priority = 1 }; @@ -460,8 +504,8 @@ const struct SpriteTemplate gUnknown_082F319C = { }; const struct OamData gUnknown_082F31B4 = { - .shape = ST_OAM_V_RECTANGLE, - .size = 0, + .shape = SPRITE_SHAPE(8x16), + .size = SPRITE_SIZE(8x16), .priority = 2 }; @@ -486,14 +530,14 @@ const struct SpriteTemplate gUnknown_082F31D4 = { }; const struct OamData gUnknown_082F31EC = { - .shape = ST_OAM_SQUARE, - .size = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 2 }; const struct OamData gUnknown_082F31F4 = { - .shape = ST_OAM_H_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), .priority = 2 }; @@ -559,9 +603,9 @@ static void sub_801DDD0(struct UnionRoomChat *unionRoomChat) unionRoomChat->unk4 = 0; unionRoomChat->unk6 = 0; - unionRoomChat->unk10 = 0; + unionRoomChat->currentPage = 0; unionRoomChat->unk11 = 0; - unionRoomChat->unk12 = 0; + unionRoomChat->currentRow = 0; unionRoomChat->unk14 = 0; unionRoomChat->unk15 = 0; unionRoomChat->unk16 = 0; @@ -571,7 +615,7 @@ static void sub_801DDD0(struct UnionRoomChat *unionRoomChat) unionRoomChat->unk17 = 0; unionRoomChat->unk18 = 0; sub_801EF1C(unionRoomChat->unk190); - for (i = 0; i < 10; i++) + for (i = 0; i < UNION_ROOM_KB_ROW_COUNT; i++) StringCopy(unionRoomChat->unkB9[i], gSaveBlock1Ptr->unk3C88[i]); } @@ -715,7 +759,7 @@ static void sub_801E030(void) } else if (gMain.newKeys & R_BUTTON) { - if (gUnknown_02022C84->unk10 != 3) + if (gUnknown_02022C84->currentPage != UNION_ROOM_KB_PAGE_COUNT) { sub_801ED94(); sub_801F5EC(8, 0); @@ -763,7 +807,7 @@ static void sub_801E120(void) default: sub_801F5EC(4, 0); var0 = 1; - if (gUnknown_02022C84->unk10 == input || input > 3) + if (gUnknown_02022C84->currentPage == input || input > UNION_ROOM_KB_PAGE_COUNT) var0 = 0; break; case MENU_NOTHING_CHOSEN: @@ -786,9 +830,9 @@ static void sub_801E120(void) } gUnknown_02022C84->unk11 = 0; - gUnknown_02022C84->unk12 = 0; + gUnknown_02022C84->currentRow = 0; sub_801F5EC(5, 1); - gUnknown_02022C84->unk10 = input; + gUnknown_02022C84->currentPage = input; gUnknown_02022C84->unk6 = 4; break; case 3: @@ -1260,15 +1304,15 @@ static bool32 sub_801EBE4(void) { if (gMain.newAndRepeatedKeys & DPAD_DOWN) { - if (gUnknown_02022C84->unk12 < sUnknown_082F2AA4[gUnknown_02022C84->unk10]) - gUnknown_02022C84->unk12++; + if (gUnknown_02022C84->currentRow < sKeyboardPageMaxRow[gUnknown_02022C84->currentPage]) + gUnknown_02022C84->currentRow++; else - gUnknown_02022C84->unk12 = 0; + gUnknown_02022C84->currentRow = 0; return TRUE; } - if (gUnknown_02022C84->unk10 != 3) + if (gUnknown_02022C84->currentPage != UNION_ROOM_KB_PAGE_COUNT) { if (gMain.newAndRepeatedKeys & DPAD_LEFT) { @@ -1296,10 +1340,10 @@ static bool32 sub_801EBE4(void) } else { - if (gUnknown_02022C84->unk12) - gUnknown_02022C84->unk12--; + if (gUnknown_02022C84->currentRow) + gUnknown_02022C84->currentRow--; else - gUnknown_02022C84->unk12 = sUnknown_082F2AA4[gUnknown_02022C84->unk10]; + gUnknown_02022C84->currentRow = sKeyboardPageMaxRow[gUnknown_02022C84->currentPage]; return TRUE; } @@ -1313,9 +1357,9 @@ static void sub_801EC94(void) u8 *str; u8 buffer[21]; - if (gUnknown_02022C84->unk10 != 3) + if (gUnknown_02022C84->currentPage != UNION_ROOM_KB_PAGE_COUNT) { - charsStr = gUnknown_082F2BA8[gUnknown_02022C84->unk10][gUnknown_02022C84->unk12]; + charsStr = sUnionRoomKeyboardText[gUnknown_02022C84->currentPage][gUnknown_02022C84->currentRow]; for (i = 0; i < gUnknown_02022C84->unk11; i++) { if (*charsStr == CHAR_SPECIAL_F9) @@ -1327,7 +1371,7 @@ static void sub_801EC94(void) } else { - u8 *tempStr = StringCopy(buffer, gUnknown_02022C84->unkB9[gUnknown_02022C84->unk12]); + u8 *tempStr = StringCopy(buffer, gUnknown_02022C84->unkB9[gUnknown_02022C84->currentRow]); tempStr[0] = CHAR_SPACE; tempStr[1] = EOS; charsStr = buffer; @@ -1395,7 +1439,7 @@ static bool32 sub_801EDC4(void) static void sub_801EDE0(void) { u8 *src = sub_801F114(); - StringCopy(gUnknown_02022C84->unkB9[gUnknown_02022C84->unk12], src); + StringCopy(gUnknown_02022C84->unkB9[gUnknown_02022C84->currentRow], src); gUnknown_02022C84->unk18 = 1; } @@ -1409,7 +1453,7 @@ static void sub_801EE10(void) static void sub_801EE2C(void) { int i; - for (i = 0; i < 10; i++) + for (i = 0; i < UNION_ROOM_KB_ROW_COUNT; i++) StringCopy(gSaveBlock1Ptr->unk3C88[i], gUnknown_02022C84->unkB9[i]); } @@ -1551,15 +1595,15 @@ static bool32 sub_801EFF8(u8 *arg0, u8 *arg1) return FALSE; } -static u8 sub_801F0B0(void) +static u8 GetCurrentKeyboardPage(void) { - return gUnknown_02022C84->unk10; + return gUnknown_02022C84->currentPage; } static void sub_801F0BC(u8 *arg0, u8 *arg1) { *arg0 = gUnknown_02022C84->unk11; - *arg1 = gUnknown_02022C84->unk12; + *arg1 = gUnknown_02022C84->currentRow; } static u8 *sub_801F0D0(void) @@ -1661,7 +1705,7 @@ void copy_strings_to_sav1(void) StringCopy(gSaveBlock1Ptr->unk3C88[4], gText_Lets); StringCopy(gSaveBlock1Ptr->unk3C88[5], gText_Ok); StringCopy(gSaveBlock1Ptr->unk3C88[6], gText_Sorry); - StringCopy(gSaveBlock1Ptr->unk3C88[7], gText_YayUnkF9F9); + StringCopy(gSaveBlock1Ptr->unk3C88[7], gText_YaySmileEmoji); StringCopy(gSaveBlock1Ptr->unk3C88[8], gText_ThankYou); StringCopy(gSaveBlock1Ptr->unk3C88[9], gText_ByeBye); } @@ -2528,7 +2572,7 @@ static void sub_8020118(u16 x, u8 *str, u8 fillValue, u8 arg3, u8 arg4) static void sub_80201A4(void) { - u8 var0; + u8 page; int i; int var1; u16 left; @@ -2538,11 +2582,11 @@ static void sub_80201A4(void) u8 *str2; FillWindowPixelBuffer(2, PIXEL_FILL(15)); - var0 = sub_801F0B0(); - sp[0] = 0; - sp[1] = 14; - sp[2] = 13; - if (var0 != 3) + page = GetCurrentKeyboardPage(); + sp[0] = TEXT_COLOR_TRANSPARENT; + sp[1] = TEXT_DYNAMIC_COLOR_5; + sp[2] = TEXT_DYNAMIC_COLOR_4; + if (page != UNION_ROOM_KB_PAGE_COUNT) { str = &sp[4]; str[0] = EXT_CTRL_CODE_BEGIN; @@ -2550,15 +2594,15 @@ static void sub_80201A4(void) var1 = 8; str[2] = var1; left = var1; - if (var0 == 2) + if (page == UNION_ROOM_KB_PAGE_EMOJI) left = 6; - for (i = 0, top = 0; i < 10; i++, top += 12) + for (i = 0, top = 0; i < UNION_ROOM_KB_ROW_COUNT; i++, top += 12) { - if (!gUnknown_082F2BA8[var0][i]) + if (!sUnionRoomKeyboardText[page][i]) return; - StringCopy(&sp[7], gUnknown_082F2BA8[var0][i]); + StringCopy(&sp[7], sUnionRoomKeyboardText[page][i]); AddTextPrinterParameterized3(2, 0, left, top, sp, TEXT_SPEED_FF, &sp[4]); } } @@ -2631,7 +2675,7 @@ static void sub_80203B0(void) FillWindowPixelBuffer(3, PIXEL_FILL(1)); DrawTextBorderOuter(3, 1, 13); PrintTextArray(3, 2, 8, 1, 14, 5, gUnknown_082F2DC8); - sub_81983AC(3, 2, 0, 1, 14, 5, sub_801F0B0()); + sub_81983AC(3, 2, 0, 1, 14, 5, GetCurrentKeyboardPage()); PutWindowTilemap(3); } @@ -2644,7 +2688,7 @@ static void sub_802040C(void) static void sub_8020420(u16 row, u8 *str, u8 arg2) { u8 color[3]; - color[0] = 1; + color[0] = TEXT_COLOR_WHITE; color[1] = arg2 * 2 + 2; color[2] = arg2 * 2 + 3; FillWindowPixelRect(0, PIXEL_FILL(1), 0, row * 15, 168, 15); @@ -2820,9 +2864,9 @@ static void sub_802091C(bool32 invisible) static void sub_802093C(void) { u8 x, y; - u8 var2 = sub_801F0B0(); + u8 page = GetCurrentKeyboardPage(); sub_801F0BC(&x, &y); - if (var2 != 3) + if (page != UNION_ROOM_KB_PAGE_COUNT) { StartSpriteAnim(gUnknown_02022C8C->unk0, 0); gUnknown_02022C8C->unk0->pos1.x = x * 8 + 10; @@ -2845,7 +2889,7 @@ static void sub_80209AC(int arg0) static void sub_80209E0(void) { - if (sub_801F0B0() != 3) + if (GetCurrentKeyboardPage() != UNION_ROOM_KB_PAGE_COUNT) StartSpriteAnim(gUnknown_02022C8C->unk0, 1); else StartSpriteAnim(gUnknown_02022C8C->unk0, 3); @@ -2860,7 +2904,7 @@ static bool32 sub_8020A1C(void) if (++gUnknown_02022C8C->unk14 > 3) { - if (sub_801F0B0() != 3) + if (GetCurrentKeyboardPage() != UNION_ROOM_KB_PAGE_COUNT) StartSpriteAnim(gUnknown_02022C8C->unk0, 0); else StartSpriteAnim(gUnknown_02022C8C->unk0, 2); @@ -2914,7 +2958,7 @@ static void sub_8020B20(void) static void sub_8020B80(void) { - if (sub_801F0B0() == 3) + if (GetCurrentKeyboardPage() == UNION_ROOM_KB_PAGE_COUNT) { if (sub_801F0DC() != 0) { diff --git a/src/unk_pokedex_area_screen_helper.c b/src/unk_pokedex_area_screen_helper.c index 0041d628c5..9b2401cb20 100644 --- a/src/unk_pokedex_area_screen_helper.c +++ b/src/unk_pokedex_area_screen_helper.c @@ -2,7 +2,7 @@ #include "main.h" #include "menu.h" #include "bg.h" -#include "alloc.h" +#include "malloc.h" #include "palette.h" #include "unk_pokedex_area_screen_helper.h" diff --git a/src/unk_transition.c b/src/unk_transition.c index cd91af07e6..09e194be33 100644 --- a/src/unk_transition.c +++ b/src/unk_transition.c @@ -47,10 +47,10 @@ static const u8 sFiller[0x1C0] = {0}; static const struct OamData sOamData_862B71C = { .y = 0, - .affineMode = 0, - .objMode = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, - .bpp = 0, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index 655f38defd..a0c8d8e2d0 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -1,7 +1,7 @@ #include "global.h" #include "main.h" #include "pokeblock.h" -#include "alloc.h" +#include "malloc.h" #include "decompress.h" #include "graphics.h" #include "palette.h" @@ -178,11 +178,11 @@ const u8 gUnknown_085DFCC4[] = 1 // Sour/Tough }; -const u8 gUnknown_085DFCC9[] = +static const u8 sNatureTextColors[] = { - 0, - 8, - 1 + TEXT_COLOR_TRANSPARENT, + TEXT_COLOR_BLUE, + TEXT_COLOR_WHITE }; const struct BgTemplate gUnknown_085DFCCC[4] = @@ -299,9 +299,9 @@ const s16 gUnknown_085DFD28[][2] = const struct OamData gOamData_085DFD3C = { .y = 0, - .affineMode = 0, - .objMode = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(32x16), .x = 0, .size = SPRITE_SIZE(32x16), @@ -342,9 +342,9 @@ const struct SpriteTemplate gSpriteTemplate_085DFD5C = const struct OamData gOamData_085DFD74 = { .y = 0, - .affineMode = 0, - .objMode = 0, - .bpp = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, .shape = SPRITE_SHAPE(64x32), .x = 0, .size = SPRITE_SIZE(64x32), @@ -1302,8 +1302,8 @@ void sub_8167760(void) if (spriteId != MAX_SPRITES) { gUnknown_0203BCAC->field_7B06[i] = spriteId; - gSprites[spriteId].oam.shape = 1; - gSprites[spriteId].oam.size = 2; + gSprites[spriteId].oam.shape = SPRITE_SHAPE(32x16); + gSprites[spriteId].oam.size = SPRITE_SIZE(32x16); } else { @@ -1398,7 +1398,7 @@ void sub_8167BA0(u16 arg0, u8 copyToVramMode) nature = GetNature(&gPlayerParty[partyIndex]); str = StringCopy(gUnknown_0203BCAC->info.field_7A, gText_NatureSlash); str = StringCopy(str, gNatureNamePointers[nature]); - AddTextPrinterParameterized3(1, 1, 2, 1, gUnknown_085DFCC9, 0, gUnknown_0203BCAC->info.field_7A); + AddTextPrinterParameterized3(1, 1, 2, 1, sNatureTextColors, 0, gUnknown_0203BCAC->info.field_7A); } if (copyToVramMode) diff --git a/src/walda_phrase.c b/src/walda_phrase.c index e8c1e4aedb..4b617e3b89 100644 --- a/src/walda_phrase.c +++ b/src/walda_phrase.c @@ -70,7 +70,7 @@ static void CB2_HandleGivenWaldaPhrase(void) } StringCopy(gStringVar1, GetWaldaPhrasePtr()); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; SetMainCallback2(CB2_ReturnToField); } diff --git a/src/water.c b/src/water.c index 4480c3f439..a2fe4c56f1 100644 --- a/src/water.c +++ b/src/water.c @@ -39,7 +39,7 @@ void sub_8108B94(struct Sprite *); void sub_8108BE0(struct Sprite *); void sub_8108C08(struct Sprite *); void sub_8108C54(struct Sprite *); -void sub_8108CDC(struct Sprite *); +void AnimWaterPulseRing_Step(struct Sprite *); void sub_810756C(u8); void sub_81076F4(u8); void sub_8107B84(u8); @@ -54,7 +54,7 @@ void sub_810871C(struct Task*, u8); void sub_8108AC0(struct Task*); void sub_8108D54(struct Sprite*, int, int); -extern const union AffineAnimCmd *const gUnknown_08593420[]; +extern const union AffineAnimCmd *const gGrowingRingAffineAnimTable[]; extern const union AffineAnimCmd *const gUnknown_08596208[]; extern const union AnimCmd *const gUnknown_08595AB8[]; @@ -83,7 +83,7 @@ const struct SpriteTemplate gUnknown_08595020 = { .tileTag = ANIM_TAG_RAIN_DROPS, .paletteTag = ANIM_TAG_RAIN_DROPS, - .oam = &gUnknown_08524954, + .oam = &gOamData_AffineOff_ObjNormal_16x32, .anims = gUnknown_0859501C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -119,7 +119,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8595068 = { .tileTag = ANIM_TAG_BUBBLE, .paletteTag = ANIM_TAG_BUBBLE, - .oam = &gUnknown_08524A8C, + .oam = &gOamData_AffineNormal_ObjBlend_16x16, .anims = gUnknown_08595064, .images = NULL, .affineAnims = gUnknown_08595050, @@ -161,7 +161,7 @@ const struct SpriteTemplate gUnknown_085950B4 = { .tileTag = ANIM_TAG_RAINBOW_RINGS, .paletteTag = ANIM_TAG_RAINBOW_RINGS, - .oam = &gUnknown_08524A04, + .oam = &gOamData_AffineDouble_ObjNormal_8x16, .anims = gUnknown_08595090, .images = NULL, .affineAnims = gUnknown_085950B0, @@ -186,7 +186,7 @@ const struct SpriteTemplate gUnknown_085950E4 = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, - .oam = &gUnknown_08524A2C, + .oam = &gOamData_AffineOff_ObjBlend_16x16, .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -197,7 +197,7 @@ const struct SpriteTemplate gUnknown_085950FC = { .tileTag = ANIM_TAG_BROWN_ORB, .paletteTag = ANIM_TAG_BROWN_ORB, - .oam = &gUnknown_08524A2C, + .oam = &gOamData_AffineOff_ObjBlend_16x16, .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -208,7 +208,7 @@ const struct SpriteTemplate gUnknown_08595114 = { .tileTag = ANIM_TAG_GLOWY_RED_ORB, .paletteTag = ANIM_TAG_GLOWY_RED_ORB, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -219,7 +219,7 @@ const struct SpriteTemplate gUnknown_0859512C = { .tileTag = ANIM_TAG_GLOWY_GREEN_ORB, .paletteTag = ANIM_TAG_GLOWY_GREEN_ORB, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -243,7 +243,7 @@ const struct SpriteTemplate gUnknown_08595158 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gUnknown_08524914, + .oam = &gOamData_AffineOff_ObjNormal_32x32, .anims = gUnknown_08595154, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -254,10 +254,10 @@ const struct SpriteTemplate gUnknown_08595170 = { .tileTag = ANIM_TAG_BLUE_RING, .paletteTag = ANIM_TAG_BLUE_RING, - .oam = &gUnknown_08524A14, + .oam = &gOamData_AffineDouble_ObjNormal_16x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08593420, + .affineAnims = gGrowingRingAffineAnimTable, .callback = sub_81075EC, }; @@ -289,7 +289,7 @@ const struct SpriteTemplate gUnknown_085951C0 = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, - .oam = &gUnknown_08524AEC, + .oam = &gOamData_AffineDouble_ObjBlend_16x16, .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gUnknown_085951B8, @@ -300,7 +300,7 @@ const struct SpriteTemplate gUnknown_085951D8 = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, - .oam = &gUnknown_08524AEC, + .oam = &gOamData_AffineDouble_ObjBlend_16x16, .anims = gUnknown_085950E0, .images = NULL, .affineAnims = gUnknown_085951BC, @@ -333,18 +333,18 @@ const struct SpriteTemplate gUnknown_08595208 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_08524A2C, + .oam = &gOamData_AffineOff_ObjBlend_16x16, .anims = gUnknown_08595200, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A78AC, + .callback = AnimThrowProjectile, }; const struct SpriteTemplate gUnknown_08595220 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_08524AEC, + .oam = &gOamData_AffineDouble_ObjBlend_16x16, .anims = gUnknown_08595204, .images = NULL, .affineAnims = gUnknown_08596208, @@ -355,7 +355,7 @@ const struct SpriteTemplate gUnknown_08595238 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gUnknown_08595AB8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -366,7 +366,7 @@ const struct SpriteTemplate gUnknown_08595250 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -377,7 +377,7 @@ const struct SpriteTemplate gUnknown_08595268 = { .tileTag = ANIM_TAG_GLOWY_BLUE_ORB, .paletteTag = ANIM_TAG_GLOWY_BLUE_ORB, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -449,7 +449,7 @@ const struct SpriteTemplate gUnknown_085952F8 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_08524904, + .oam = &gOamData_AffineOff_ObjNormal_8x8, .anims = gUnknown_08595298, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -460,7 +460,7 @@ const struct SpriteTemplate gUnknown_08595310 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_08524964, + .oam = &gOamData_AffineNormal_ObjNormal_8x8, .anims = gUnknown_08595298, .images = NULL, .affineAnims = gUnknown_085952EC, @@ -471,7 +471,7 @@ const struct SpriteTemplate gUnknown_08595328 = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, - .oam = &gUnknown_0852496C, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gUnknown_085952A0, .images = NULL, .affineAnims = gUnknown_085952F4, @@ -1975,17 +1975,17 @@ void sub_8108C54(struct Sprite *sprite) } } -void sub_8108C94(struct Sprite *sprite) +void AnimWaterPulseRing(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); sprite->data[3] = gBattleAnimArgs[2]; sprite->data[4] = gBattleAnimArgs[3]; - sprite->callback = sub_8108CDC; + sprite->callback = AnimWaterPulseRing_Step; } -void sub_8108CDC(struct Sprite *sprite) +void AnimWaterPulseRing_Step(struct Sprite *sprite) { int xDiff = sprite->data[1] - sprite->pos1.x; int yDiff = sprite->data[2] - sprite->pos1.y; diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 332bbfb992..52aac17f34 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -197,34 +197,35 @@ enum static u8 ChooseWildMonIndex_Fishing(u8 rod) { u8 wildMonIndex = 0; - u8 rand = Random() % ENCOUNTER_CHANCE_FISHING_MONS_TOTAL; + u8 rand = Random() % max(max(ENCOUNTER_CHANCE_FISHING_MONS_OLD_ROD_TOTAL, ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_TOTAL), + ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_TOTAL); switch (rod) { case OLD_ROD: - if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_0) + if (rand < ENCOUNTER_CHANCE_FISHING_MONS_OLD_ROD_SLOT_0) wildMonIndex = 0; else wildMonIndex = 1; break; case GOOD_ROD: - if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_2) + if (rand < ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_2) wildMonIndex = 2; - if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_2 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_3) + if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_2 && rand < ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_3) wildMonIndex = 3; - if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_3 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_4) + if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_3 && rand < ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_4) wildMonIndex = 4; break; case SUPER_ROD: - if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_5) + if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_5) wildMonIndex = 5; - if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_5 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_6) + if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_5 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_6) wildMonIndex = 6; - if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_6 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_7) + if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_6 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_7) wildMonIndex = 7; - if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_7 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_8) + if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_7 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_8) wildMonIndex = 8; - if (rand == ENCOUNTER_CHANCE_FISHING_MONS_SLOT_8) + if (rand == ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_8) wildMonIndex = 9; break; } @@ -423,7 +424,7 @@ static bool8 TryGenerateWildMon(const struct WildPokemonInfo *wildMonInfo, u8 ar level = ChooseWildMonLevel(&wildMonInfo->wildPokemon[wildMonIndex]); if (flags & WILD_CHECK_REPEL && !IsWildLevelAllowedByRepel(level)) return FALSE; - if (gMapHeader.mapLayoutId != LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3 && flags & WILD_CHECK_KEEN_EYE && !IsAbilityAllowingEncounter(level)) + if (gMapHeader.mapLayoutId != LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS && flags & WILD_CHECK_KEEN_EYE && !IsAbilityAllowingEncounter(level)) return FALSE; CreateWildMon(wildMonInfo->wildPokemon[wildMonIndex].species, level); @@ -484,7 +485,7 @@ static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility) { u32 ability = GetMonAbility(&gPlayerParty[0]); - if (ability == ABILITY_STENCH && gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE) + if (ability == ABILITY_STENCH && gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) encounterRate = encounterRate * 3 / 4; else if (ability == ABILITY_STENCH) encounterRate /= 2; @@ -532,7 +533,7 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi headerId = GetCurrentMapWildMonHeaderId(); if (headerId == 0xFFFF) { - if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3) + if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS) { headerId = GetBattlePikeWildMonHeaderId(); if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) @@ -547,7 +548,7 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi BattleSetup_StartBattlePikeWildBattle(); return TRUE; } - if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE) + if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) { headerId = gSaveBlock2Ptr->frontier.curChallengeBattleNum; if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) @@ -675,7 +676,7 @@ bool8 SweetScentWildEncounter(void) headerId = GetCurrentMapWildMonHeaderId(); if (headerId == 0xFFFF) { - if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3) + if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS) { headerId = GetBattlePikeWildMonHeaderId(); if (TryGenerateWildMon(gBattlePikeWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0) != TRUE) @@ -685,7 +686,7 @@ bool8 SweetScentWildEncounter(void) BattleSetup_StartBattlePikeWildBattle(); return TRUE; } - if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE) + if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) { headerId = gSaveBlock2Ptr->frontier.curChallengeBattleNum; if (TryGenerateWildMon(gBattlePyramidWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0) != TRUE) diff --git a/sym_bss.txt b/sym_bss.txt index 29b30f2db8..c2a60404e5 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -1,10 +1,10 @@ .include "src/main.o" - .include "src/alloc.o" - .include "src/dma3_manager.o" - .include "src/gpu_regs.o" - .include "src/bg.o" - .include "src/text.o" - .include "src/sprite.o" + .include "gflib/malloc.o" + .include "gflib/dma3_manager.o" + .include "gflib/gpu_regs.o" + .include "gflib/bg.o" + .include "gflib/text.o" + .include "gflib/sprite.o" .include "src/link.o" .include "src/link_rfu.o" .include "src/union_room.o" diff --git a/sym_common.txt b/sym_common.txt index f277ed0f2a..8f08952071 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -1,9 +1,37 @@ .space 0x8 .include "main.o" - .include "bg.o" - .include "window.o" - .include "text.o" - .include "sprite.o" + @ ../gflib/bg.o + .align 2 +gUnneededFireRedVariable: + .space 4 + @ ../gflib/window.o + .align 4 +gTransparentTileNumber: + .space 1 + .align 4 +gUnknown_03002F70: + .space 16 + @ ../gflib/text.o + .align 4 +gFonts: + .space 4 + .align 2 +gUnknown_03002F84: + .space 1 + .align 4 +gUnknown_03002F90: + .space 132 + .align 2 +gTextFlags: + .space 4 + @ ../gflib/sprite.o + .align 2 +gOamMatrixAllocBitmap: + .space 4 + .align 2 +gReservedSpritePaletteCount: + .space 1 + .align 4 .include "link.o" .include "link_rfu.o" .include "rtc.o" @@ -23,7 +51,7 @@ .include "contest.o" .include "tv.o" .include "mauville_old_man.o" - .include "contest_painting_effects.o" + .include "image_processing_effects.o" .space 0x4 diff --git a/sym_ewram.txt b/sym_ewram.txt index 3de0c45cbb..79e89fc9bf 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1,9 +1,9 @@ .include "src/decompress.o" .include "src/main.o" - .include "src/window.o" - .include "src/text.o" - .include "src/sprite.o" - .include "src/string_util.o" + .include "gflib/window.o" + .include "gflib/text.o" + .include "gflib/sprite.o" + .include "gflib/string_util.o" .include "src/link.o" .include "src/link_rfu.o" .include "src/union_room.o" @@ -129,7 +129,7 @@ .include "src/match_call.o" .include "src/menu.o" .include "src/battle_factory_screen.o" - .include "src/mossdeep_gym.o" + .include "src/rotating_tile_puzzle.o" .include "src/item_menu.o" .include "src/list_menu.o" .include "src/dynamic_placeholder_text_util.o" diff --git a/tools/gbafix/gbafix.c b/tools/gbafix/gbafix.c index 9088cdc5fa..598e43aa08 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 reverse_iterator; - typedef std::reverse_iterator< const_iterator > const_reverse_iterator; + typedef std::reverse_iterator< const_iterator > const_reverse_iterator; typedef std::size_t size_type; typedef std::ptrdiff_t difference_type; @@ -1411,6 +1411,9 @@ enum class ElementNotation { Pointer }; +/*! + * \brief Class for lexer configuration. + */ struct LexerConfig { std::string statement_open {"{%"}; std::string statement_close {"%}"}; @@ -1421,6 +1424,9 @@ struct LexerConfig { std::string comment_close {"#}"}; std::string open_chars {"#{"}; + bool trim_blocks {false}; + bool lstrip_blocks {false}; + void update_open_chars() { open_chars = ""; if (open_chars.find(line_statement[0]) == std::string::npos) { @@ -1438,6 +1444,9 @@ struct LexerConfig { } }; +/*! + * \brief Class for parser configuration. + */ struct ParserConfig { ElementNotation notation {ElementNotation::Dot}; }; @@ -1450,10 +1459,13 @@ struct ParserConfig { #ifndef PANTOR_INJA_FUNCTION_STORAGE_HPP #define PANTOR_INJA_FUNCTION_STORAGE_HPP +#include + // #include "bytecode.hpp" #ifndef PANTOR_INJA_BYTECODE_HPP #define PANTOR_INJA_BYTECODE_HPP +#include #include #include @@ -1464,7 +1476,7 @@ struct ParserConfig { namespace inja { -using namespace nlohmann; +using json = nlohmann::json; struct Bytecode { @@ -1492,6 +1504,7 @@ struct Bytecode { GreaterEqual, Less, LessEqual, + At, Different, DivisibleBy, Even, @@ -1594,6 +1607,9 @@ using namespace nlohmann; using Arguments = std::vector; using CallbackFunction = std::function; +/*! + * \brief Class for builtin functions and user-defined callbacks. + */ class FunctionStorage { public: void add_builtin(nonstd::string_view name, unsigned int num_args, Bytecode::Op op) { @@ -1658,6 +1674,9 @@ class FunctionStorage { #define PANTOR_INJA_PARSER_HPP #include +#include +#include +#include // #include "bytecode.hpp" @@ -1678,12 +1697,17 @@ class FunctionStorage { #ifndef PANTOR_INJA_TOKEN_HPP #define PANTOR_INJA_TOKEN_HPP +#include + // #include "string_view.hpp" namespace inja { +/*! + * \brief Helper-class for the inja Parser. + */ struct Token { enum class Kind { Text, @@ -1737,13 +1761,17 @@ struct Token { } -#endif // PANTOR_INJA_TOKEN_HPP +#endif // PANTOR_INJA_TOKEN_HPP // #include "utils.hpp" #ifndef PANTOR_INJA_UTILS_HPP #define PANTOR_INJA_UTILS_HPP +#include +#include #include +#include +#include // #include "string_view.hpp" @@ -1755,11 +1783,22 @@ inline void inja_throw(const std::string& type, const std::string& message) { throw std::runtime_error("[inja.exception." + type + "] " + message); } +inline std::ifstream open_file_or_throw(const std::string& path) { + std::ifstream file; + file.exceptions(std::ifstream::failbit | std::ifstream::badbit); + try { + file.open(path); + } catch(const std::ios_base::failure& e) { + inja_throw("file_error", "failed accessing file at '" + path + "'"); + } + return file; +} + namespace string_view { inline nonstd::string_view slice(nonstd::string_view view, size_t start, size_t end) { start = std::min(start, view.size()); end = std::min(std::max(start, end), view.size()); - return view.substr(start, end - start); // StringRef(Data + Start, End - Start); + return view.substr(start, end - start); // StringRef(Data + Start, End - Start); } inline std::pair split(nonstd::string_view view, char Separator) { @@ -1783,6 +1822,9 @@ namespace string_view { namespace inja { +/*! + * \brief Class for lexing an inja Template. + */ class Lexer { enum class State { Text, @@ -1831,12 +1873,15 @@ class Lexer { // try to match one of the opening sequences, and get the close nonstd::string_view open_str = m_in.substr(m_pos); + bool must_lstrip = false; if (inja::string_view::starts_with(open_str, m_config.expression_open)) { m_state = State::ExpressionStart; } else if (inja::string_view::starts_with(open_str, m_config.statement_open)) { m_state = State::StatementStart; + must_lstrip = m_config.lstrip_blocks; } else if (inja::string_view::starts_with(open_str, m_config.comment_open)) { m_state = State::CommentStart; + must_lstrip = m_config.lstrip_blocks; } else if ((m_pos == 0 || m_in[m_pos - 1] == '\n') && inja::string_view::starts_with(open_str, m_config.line_statement)) { m_state = State::LineStart; @@ -1844,8 +1889,13 @@ class Lexer { m_pos += 1; // wasn't actually an opening sequence goto again; } - if (m_pos == m_tok_start) goto again; // don't generate empty token - return make_token(Token::Kind::Text); + + nonstd::string_view text = string_view::slice(m_in, m_tok_start, m_pos); + if (must_lstrip) + text = clear_final_line_if_whitespace(text); + + if (text.empty()) goto again; // don't generate empty token + return Token(Token::Kind::Text, text); } case State::ExpressionStart: { m_state = State::ExpressionBody; @@ -1872,7 +1922,7 @@ class Lexer { case State::LineBody: return scan_body("\n", Token::Kind::LineStatementClose); case State::StatementBody: - return scan_body(m_config.statement_close, Token::Kind::StatementClose); + return scan_body(m_config.statement_close, Token::Kind::StatementClose, m_config.trim_blocks); case State::CommentBody: { // fast-scan to comment close size_t end = m_in.substr(m_pos).find(m_config.comment_close); @@ -1883,7 +1933,10 @@ class Lexer { // return the entire comment in the close token m_state = State::Text; m_pos += end + m_config.comment_close.size(); - return make_token(Token::Kind::CommentClose); + Token tok = make_token(Token::Kind::CommentClose); + if (m_config.trim_blocks) + skip_newline(); + return tok; } } } @@ -1891,7 +1944,7 @@ class Lexer { const LexerConfig& get_config() const { return m_config; } private: - Token scan_body(nonstd::string_view close, Token::Kind closeKind) { + Token scan_body(nonstd::string_view close, Token::Kind closeKind, bool trim = false) { again: // skip whitespace (except for \n as it might be a close) if (m_tok_start >= m_in.size()) return make_token(Token::Kind::Eof); @@ -1905,7 +1958,10 @@ class Lexer { if (inja::string_view::starts_with(m_in.substr(m_tok_start), close)) { m_state = State::Text; m_pos = m_tok_start + close.size(); - return make_token(closeKind); + Token tok = make_token(closeKind); + if (trim) + skip_newline(); + return tok; } // skip \n @@ -2026,6 +2082,34 @@ class Lexer { Token make_token(Token::Kind kind) const { return Token(kind, string_view::slice(m_in, m_tok_start, m_pos)); } + + void skip_newline() { + if (m_pos < m_in.size()) { + char ch = m_in[m_pos]; + if (ch == '\n') + m_pos += 1; + else if (ch == '\r') { + m_pos += 1; + if (m_pos < m_in.size() && m_in[m_pos] == '\n') + m_pos += 1; + } + } + } + + static nonstd::string_view clear_final_line_if_whitespace(nonstd::string_view text) + { + nonstd::string_view result = text; + while (!result.empty()) { + char ch = result.back(); + if (ch == ' ' || ch == '\t') + result.remove_suffix(1); + else if (ch == '\n' || ch == '\r') + break; + else + return text; + } + return result; + } }; } @@ -2036,6 +2120,7 @@ class Lexer { #ifndef PANTOR_INJA_TEMPLATE_HPP #define PANTOR_INJA_TEMPLATE_HPP +#include #include #include @@ -2045,6 +2130,9 @@ class Lexer { namespace inja { +/*! + * \brief The main inja Template. + */ struct Template { std::vector bytecodes; std::string content; @@ -2054,7 +2142,7 @@ using TemplateStorage = std::map; } -#endif // PANTOR_INJA_TEMPLATE_HPP +#endif // PANTOR_INJA_TEMPLATE_HPP // #include "token.hpp" @@ -2068,6 +2156,7 @@ namespace inja { class ParserStatic { ParserStatic() { + functions.add_builtin("at", 2, Bytecode::Op::At); functions.add_builtin("default", 2, Bytecode::Op::Default); functions.add_builtin("divisibleBy", 2, Bytecode::Op::DivisibleBy); functions.add_builtin("even", 1, Bytecode::Op::Even); @@ -2107,13 +2196,16 @@ class ParserStatic { FunctionStorage functions; }; +/*! + * \brief Class for parsing an inja Template. + */ class Parser { public: explicit Parser(const ParserConfig& parser_config, const LexerConfig& lexer_config, TemplateStorage& included_templates): m_config(parser_config), m_lexer(lexer_config), m_included_templates(included_templates), m_static(ParserStatic::get_instance()) { } bool parse_expression(Template& tmpl) { if (!parse_expression_and(tmpl)) return false; - if (m_tok.kind != Token::Kind::Id || m_tok.text != "or") return true; + if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast("or")) return true; get_next_token(); if (!parse_expression_and(tmpl)) return false; append_function(tmpl, Bytecode::Op::Or, 2); @@ -2122,7 +2214,7 @@ class Parser { bool parse_expression_and(Template& tmpl) { if (!parse_expression_not(tmpl)) return false; - if (m_tok.kind != Token::Kind::Id || m_tok.text != "and") return true; + if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast("and")) return true; get_next_token(); if (!parse_expression_not(tmpl)) return false; append_function(tmpl, Bytecode::Op::And, 2); @@ -2130,7 +2222,7 @@ class Parser { } bool parse_expression_not(Template& tmpl) { - if (m_tok.kind == Token::Kind::Id && m_tok.text == "not") { + if (m_tok.kind == Token::Kind::Id && m_tok.text == static_cast("not")) { get_next_token(); if (!parse_expression_not(tmpl)) return false; append_function(tmpl, Bytecode::Op::Not, 1); @@ -2145,7 +2237,7 @@ class Parser { Bytecode::Op op; switch (m_tok.kind) { case Token::Kind::Id: - if (m_tok.text == "in") + if (m_tok.text == static_cast("in")) op = Bytecode::Op::In; else return true; @@ -2233,7 +2325,9 @@ class Parser { append_callback(tmpl, func_token.text, num_args); return true; } - } else if (m_tok.text == "true" || m_tok.text == "false" || m_tok.text == "null") { + } else if (m_tok.text == static_cast("true") || + m_tok.text == static_cast("false") || + m_tok.text == static_cast("null")) { // true, false, null are json literals if (brace_level == 0 && bracket_level == 0) { json_first = m_tok.text; @@ -2312,7 +2406,7 @@ class Parser { bool parse_statement(Template& tmpl, nonstd::string_view path) { if (m_tok.kind != Token::Kind::Id) return false; - if (m_tok.text == "if") { + if (m_tok.text == static_cast("if")) { get_next_token(); // evaluate expression @@ -2323,7 +2417,7 @@ class Parser { // conditional jump; destination will be filled in by else or endif tmpl.bytecodes.emplace_back(Bytecode::Op::ConditionalJump); - } else if (m_tok.text == "endif") { + } else if (m_tok.text == static_cast("endif")) { if (m_if_stack.empty()) { inja_throw("parser_error", "endif without matching if"); } @@ -2342,7 +2436,7 @@ class Parser { // pop if stack m_if_stack.pop_back(); - } else if (m_tok.text == "else") { + } else if (m_tok.text == static_cast("else")) { if (m_if_stack.empty()) inja_throw("parser_error", "else without matching if"); auto& if_data = m_if_stack.back(); @@ -2358,7 +2452,7 @@ class Parser { if_data.prev_cond_jump = std::numeric_limits::max(); // chained else if - if (m_tok.kind == Token::Kind::Id && m_tok.text == "if") { + if (m_tok.kind == Token::Kind::Id && m_tok.text == static_cast("if")) { get_next_token(); // evaluate expression @@ -2370,7 +2464,7 @@ class Parser { // conditional jump; destination will be filled in by else or endif tmpl.bytecodes.emplace_back(Bytecode::Op::ConditionalJump); } - } else if (m_tok.text == "for") { + } else if (m_tok.text == static_cast("for")) { get_next_token(); // options: for a in arr; for a, b in obj @@ -2389,7 +2483,7 @@ class Parser { get_next_token(); } - if (m_tok.kind != Token::Kind::Id || m_tok.text != "in") + if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast("in")) inja_throw("parser_error", "expected 'in', got '" + m_tok.describe() + "'"); get_next_token(); @@ -2403,7 +2497,7 @@ class Parser { tmpl.bytecodes.back().value = key_token.text; } tmpl.bytecodes.back().str = static_cast(value_token.text); - } else if (m_tok.text == "endfor") { + } else if (m_tok.text == static_cast("endfor")) { get_next_token(); if (m_loop_stack.empty()) { inja_throw("parser_error", "endfor without matching for"); @@ -2415,7 +2509,7 @@ class Parser { tmpl.bytecodes.emplace_back(Bytecode::Op::EndLoop); tmpl.bytecodes.back().args = m_loop_stack.back() + 1; // loop body m_loop_stack.pop_back(); - } else if (m_tok.text == "include") { + } else if (m_tok.text == static_cast("include")) { get_next_token(); if (m_tok.kind != Token::Kind::String) { @@ -2431,8 +2525,10 @@ class Parser { } // sys::path::remove_dots(pathname, true, sys::path::Style::posix); - Template include_template = parse_template(pathname); - m_included_templates.emplace(pathname, include_template); + if (m_included_templates.find(pathname) == m_included_templates.end()) { + Template include_template = parse_template(pathname); + m_included_templates.emplace(pathname, include_template); + } // generate a reference bytecode tmpl.bytecodes.emplace_back(Bytecode::Op::Include, json(pathname), Bytecode::Flag::ValueImmediate); @@ -2552,10 +2648,10 @@ class Parser { } std::string load_file(nonstd::string_view filename) { - std::ifstream file(static_cast(filename)); - std::string text((std::istreambuf_iterator(file)), std::istreambuf_iterator()); - return text; - } + std::ifstream file = open_file_or_throw(static_cast(filename)); + std::string text((std::istreambuf_iterator(file)), std::istreambuf_iterator()); + return text; + } private: const ParserConfig& m_config; @@ -2605,6 +2701,7 @@ class Parser { #if __cplusplus < 201402L #include +#include #include #include @@ -2655,6 +2752,9 @@ namespace stdinja = std; #include #include +#include +#include +#include #include @@ -2679,6 +2779,9 @@ inline nonstd::string_view convert_dot_to_json_pointer(nonstd::string_view dot, return nonstd::string_view(out.data(), out.size()); } +/*! + * \brief Class for rendering a Template with data. + */ class Renderer { std::vector& get_args(const Bytecode& bc) { m_tmp_args.clear(); @@ -2765,7 +2868,7 @@ class Renderer { LoopLevel& level = m_loop_stack.back(); if (level.loop_type == LoopLevel::Type::Array) { - level.data[static_cast(level.value_name)] = level.values.at(level.index); // *level.it; + level.data[static_cast(level.value_name)] = level.values.at(level.index); // *level.it; auto& loopData = level.data["loop"]; loopData["index"] = level.index; loopData["index1"] = level.index + 1; @@ -2787,8 +2890,8 @@ class Renderer { enum class Type { Map, Array }; Type loop_type; - nonstd::string_view key_name; // variable name for keys - nonstd::string_view value_name; // variable name for values + nonstd::string_view key_name; // variable name for keys + nonstd::string_view value_name; // variable name for values json data; // data with loop info added json values; // values to iterate over @@ -2800,8 +2903,8 @@ class Renderer { // loop over map using KeyValue = std::pair; using MapValues = std::vector; - MapValues map_values; // values to iterate over - MapValues::iterator map_it; // iterator over values + MapValues map_values; // values to iterate over + MapValues::iterator map_it; // iterator over values }; @@ -2835,11 +2938,11 @@ class Renderer { } case Bytecode::Op::PrintValue: { const json& val = *get_args(bc)[0]; - if (val.is_string()) + if (val.is_string()) { os << val.get_ref(); - else + } else { os << val.dump(); - // val.dump(os); + } pop_args(bc); break; } @@ -2870,7 +2973,15 @@ class Renderer { break; } case Bytecode::Op::Length: { - auto result = get_args(bc)[0]->size(); + const json& val = *get_args(bc)[0]; + + int result; + if (val.is_string()) { + result = val.get_ref().length(); + } else { + result = val.size(); + } + pop_args(bc); m_stack.emplace_back(result); break; @@ -2882,6 +2993,13 @@ class Renderer { m_stack.emplace_back(std::move(result)); break; } + case Bytecode::Op::At: { + auto args = get_args(bc); + auto result = args[0]->at(args[1]->get()); + pop_args(bc); + m_stack.emplace_back(result); + break; + } case Bytecode::Op::First: { auto result = get_args(bc)[0]->front(); pop_args(bc); @@ -3091,7 +3209,7 @@ class Renderer { break; } case Bytecode::Op::Include: - Renderer(m_included_templates, m_callbacks).render_to(os, m_included_templates.find(get_imm(bc)->get_ref())->second, data); + Renderer(m_included_templates, m_callbacks).render_to(os, m_included_templates.find(get_imm(bc)->get_ref())->second, *m_data); break; case Bytecode::Op::Callback: { auto callback = m_callbacks.find_callback(bc.str, bc.args); @@ -3216,12 +3334,17 @@ class Renderer { // #include "template.hpp" +// #include "utils.hpp" + namespace inja { using namespace nlohmann; +/*! + * \brief Class for changing the configuration. + */ class Environment { class Impl { public: @@ -3238,7 +3361,7 @@ class Environment { std::unique_ptr m_impl; public: - Environment(): Environment("./") { } + Environment(): Environment("") { } explicit Environment(const std::string& global_path): m_impl(stdinja::make_unique()) { m_impl->input_path = global_path; @@ -3277,6 +3400,16 @@ class Environment { m_impl->lexer_config.update_open_chars(); } + /// Sets whether to remove the first newline after a block + void set_trim_blocks(bool trim_blocks) { + m_impl->lexer_config.trim_blocks = trim_blocks; + } + + /// Sets whether to strip the spaces and tabs from the start of a line to a block + void set_lstrip_blocks(bool lstrip_blocks) { + m_impl->lexer_config.lstrip_blocks = lstrip_blocks; + } + /// Sets the element notation syntax void set_element_notation(ElementNotation notation) { m_impl->parser_config.notation = notation; @@ -3290,8 +3423,8 @@ class Environment { Template parse_template(const std::string& filename) { Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); - return parser.parse_template(m_impl->input_path + static_cast(filename)); - } + return parser.parse_template(m_impl->input_path + static_cast(filename)); + } std::string render(nonstd::string_view input, const json& data) { return render(parse(input), data); @@ -3304,35 +3437,35 @@ class Environment { } std::string render_file(const std::string& filename, const json& data) { - return render(parse_template(filename), data); - } + return render(parse_template(filename), data); + } std::string render_file_with_json_file(const std::string& filename, const std::string& filename_data) { - const json data = load_json(filename_data); - return render_file(filename, data); - } + const json data = load_json(filename_data); + return render_file(filename, data); + } void write(const std::string& filename, const json& data, const std::string& filename_out) { - std::ofstream file(m_impl->output_path + filename_out); - file << render_file(filename, data); - file.close(); - } + std::ofstream file(m_impl->output_path + filename_out); + file << render_file(filename, data); + file.close(); + } void write(const Template& temp, const json& data, const std::string& filename_out) { - std::ofstream file(m_impl->output_path + filename_out); - file << render(temp, data); - file.close(); - } + std::ofstream file(m_impl->output_path + filename_out); + file << render(temp, data); + file.close(); + } - void write_with_json_file(const std::string& filename, const std::string& filename_data, const std::string& filename_out) { - const json data = load_json(filename_data); - write(filename, data, filename_out); - } + void write_with_json_file(const std::string& filename, const std::string& filename_data, const std::string& filename_out) { + const json data = load_json(filename_data); + write(filename, data, filename_out); + } - void write_with_json_file(const Template& temp, const std::string& filename_data, const std::string& filename_out) { - const json data = load_json(filename_data); - write(temp, data, filename_out); - } + void write_with_json_file(const Template& temp, const std::string& filename_data, const std::string& filename_out) { + const json data = load_json(filename_data); + write(temp, data, filename_out); + } std::ostream& render_to(std::ostream& os, const Template& tmpl, const json& data) { Renderer(m_impl->included_templates, m_impl->callbacks).render_to(os, tmpl, data); @@ -3341,15 +3474,15 @@ class Environment { std::string load_file(const std::string& filename) { Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); - return parser.load_file(m_impl->input_path + filename); - } + return parser.load_file(m_impl->input_path + filename); + } json load_json(const std::string& filename) { - std::ifstream file(m_impl->input_path + filename); - json j; - file >> j; - return j; - } + std::ifstream file = open_file_or_throw(m_impl->input_path + filename); + json j; + file >> j; + return j; + } void add_callback(const std::string& name, unsigned int numArgs, const CallbackFunction& callback) { m_impl->callbacks.add_callback(name, numArgs, callback); diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp index 15eae9dcb3..2ba5fd0828 100755 --- a/tools/jsonproc/jsonproc.cpp +++ b/tools/jsonproc/jsonproc.cpp @@ -65,21 +65,6 @@ int main(int argc, char *argv[]) return get_custom_var(key); }); - env.add_callback("trackVar", 2, [](Arguments& args) { - static int counter = 0; - - int addValue = args.at(0)->get(); - int checkValue = args.at(1)->get(); - - 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 second = args.at(1)->get(); @@ -106,6 +91,11 @@ int main(int argc, char *argv[]) return rawValue.substr(0, i); }); + // single argument is a json object + env.add_callback("isEmpty", 1, [](Arguments& args) { + return args.at(0)->empty(); + }); + try { env.write_with_json_file(templateFilepath, jsonfilepath, outputFilepath);